當(dāng)前位置:首頁(yè) > 智能硬件 > 智能硬件
[導(dǎo)讀]介紹內(nèi)容可尋址存儲(chǔ)器MCM69C232的結(jié)構(gòu)、特點(diǎn)、性能及使用方法,針對(duì)MCM69C232的基本工作模式,給出了其在交換機(jī)系統(tǒng)中的應(yīng)用。實(shí)踐表明,采用CAM可極大地提高數(shù)據(jù)檢索速度和系統(tǒng)性能,增強(qiáng)系統(tǒng)可靠性。

摘要 介紹內(nèi)容可尋址存儲(chǔ)器MCM69C232的結(jié)構(gòu)、特點(diǎn)、性能及使用方法,針對(duì)MCM69C232的基本工作模式,給出了其在交換機(jī)系統(tǒng)中的應(yīng)用。實(shí)踐表明,采用CAM可極大地提高數(shù)據(jù)檢索速度和系統(tǒng)性能,增強(qiáng)系統(tǒng)可靠性。
關(guān)鍵詞 CAM 數(shù)據(jù)檢索 內(nèi)容可尋址 MCM69C232


    內(nèi)容可尋址存儲(chǔ)器CAM(Coment-Addressable Memo-ry)是以內(nèi)容進(jìn)行尋址的存儲(chǔ)器,是一種特殊的存儲(chǔ)陣列RAM。它的主要工作機(jī)制就是將一個(gè)輸入數(shù)據(jù)項(xiàng)與存儲(chǔ)在CAM中的所有數(shù)據(jù)項(xiàng)自動(dòng)同時(shí)進(jìn)行比較,判別該輸入數(shù)據(jù)項(xiàng)與CAM中存儲(chǔ)的數(shù)據(jù)項(xiàng)是否相匹配,并輸出該數(shù)據(jù)項(xiàng)對(duì)應(yīng)的匹配信息。美國(guó)Motorola公司的CAM芯片MCM69C232在市場(chǎng)上是性價(jià)比較高的產(chǎn)品,因而被廣泛地應(yīng)用于網(wǎng)絡(luò)通信、模式識(shí)別等領(lǐng)域,其用于數(shù)據(jù)檢索的優(yōu)勢(shì)是軟件無(wú)法比擬的,可以極大地提高系統(tǒng)性能。


1 MCM69C232芯片介紹
   
內(nèi)容可尋址存儲(chǔ)器(CAM)從本質(zhì)上講是一種基于RAM技術(shù)的特殊存儲(chǔ)器,數(shù)據(jù)項(xiàng)存儲(chǔ)在CAM內(nèi)部的陣列單元中。每個(gè)數(shù)據(jù)項(xiàng)的位數(shù)稱為“字寬”,陣列內(nèi)所有數(shù)據(jù)項(xiàng)的條數(shù)稱為“深度”,CAM的容量通過(guò)字寬和深度來(lái)表征。MCM69C232設(shè)計(jì)可存儲(chǔ)4096條寬度為64位的數(shù)據(jù)項(xiàng)。
    MCM69C232有兩組數(shù)據(jù)端口:控制端口(controlport)和匹配端口(match port)??刂贫丝谟糜谔幚砥?CPU)對(duì)CAM表的操作,包括插入、刪除數(shù)據(jù)表項(xiàng)、模式設(shè)置和模擬匹配,以及讀取芯片內(nèi)部狀態(tài)寄存器的信息等。數(shù)據(jù)項(xiàng)的檢索通過(guò)匹配端口完成。
    盡管基于RAM技術(shù),但CAM的存儲(chǔ)機(jī)制卻與RAM大相徑庭。圖1為MCM69C232的結(jié)構(gòu)框圖。圖中MCM69C232沒(méi)有用于確定內(nèi)容存儲(chǔ)單元的地址總線,其地址線A0~A2用于對(duì)片內(nèi)控制寄存器的尋址。處理器通過(guò)操作MCM69C232的控制端口(數(shù)據(jù)線DQ0~DQl5)可以讀/寫CAM表中的數(shù)據(jù)項(xiàng),數(shù)據(jù)項(xiàng)的存儲(chǔ)地址由芯片內(nèi)部邏輯控制。MCM69C232有兩種工作模式:ATM模式和基本模式。ATM模式主要用于ATM交換機(jī)對(duì)ATM信元進(jìn)行虛擬通路標(biāo)識(shí)號(hào)/虛擬通道標(biāo)識(shí)號(hào)(VPI/VCI)的轉(zhuǎn)換處理;基本模式主要用于以太網(wǎng)上的IP/MAC地址匹配等數(shù)據(jù)檢索。

    MCM69C232芯片的主要特性如下:
    ◇160 ns的匹配時(shí)間;
    ◇設(shè)有屏蔽寄存器;
    ◇通過(guò)芯片級(jí)聯(lián)擴(kuò)展深度;
    ◇時(shí)鐘頻率最高為50 MHz;
    ◇匹配字寬和輸出結(jié)果位寬可自定義;
    ◇在ATM模式下可進(jìn)行VPC(Virtual Path Circuits)和VCC(Virtual Connection Circuits)的同時(shí)匹配;
    ◇端口主要分為控制和匹配端口;
    ◇20Ons的插入時(shí)間(在12個(gè)輸入數(shù)據(jù)項(xiàng)隊(duì)列未滿的情況下);
    ◇12ms的初始化時(shí)間(在設(shè)置了快速寫入模式后);
    ◇具有符合IEEE標(biāo)準(zhǔn)1149.1的測(cè)試端口(JTAG)。


2 MCM69C232芯片的使用
   
在基本操作模式下,MCM69C232讀取輸入數(shù)據(jù)并與CAM表中的所有表項(xiàng)相比較。無(wú)論匹配項(xiàng)找到與否,當(dāng)比較完成后,MC(Match Complete)引腳均有效。如果找到了匹配項(xiàng),則MS(Mateh Successful)引腳有效,同時(shí)在MQ總線上輸出與匹配數(shù)據(jù)項(xiàng)相關(guān)的數(shù)據(jù);如果沒(méi)有找到,則MQ總線保持高阻態(tài),以便級(jí)聯(lián)CAM芯片來(lái)擴(kuò)展存儲(chǔ)深度。
    MCM69C232上電后,默認(rèn)工作模式為基本模式。在進(jìn)入數(shù)據(jù)檢索操作之前,芯片必須先完成幾個(gè)啟動(dòng)操作過(guò)程:首先,要設(shè)置全局屏蔽寄存器,定義匹配字寬和輸出結(jié)果位寬;其次,要選擇數(shù)據(jù)表項(xiàng)的寫入模式,即快速寫入模式還是動(dòng)態(tài)寫入模式;再次,要把用戶需要的數(shù)據(jù)項(xiàng)(共64位,包括匹配字節(jié)和與其對(duì)應(yīng)的輸出結(jié)果字節(jié))逐次裝入CAM表中。
    CAM表數(shù)據(jù)項(xiàng)寫入模式的選擇,往往是在寫入速度和啟動(dòng)匹配操作花費(fèi)的時(shí)間中取個(gè)平衡??焖賹懭肽J剑S糜趯⒋罅康臄?shù)據(jù)項(xiàng)初始寫入CAM表中;而動(dòng)態(tài)寫入模式,則常用于啟動(dòng)匹配后往CAM表中插入少量的數(shù)據(jù)項(xiàng)。用戶通過(guò)操作控制口4個(gè)I/O寄存器來(lái)插入或刪除CAM表項(xiàng),當(dāng)有異常狀態(tài)出現(xiàn)時(shí),可以從標(biāo)志寄存器和錯(cuò)誤代碼寄存器反映出來(lái)。MCM69C232內(nèi)部的寄存器如圖2所示。

    CAM表的匹配位取決于全局屏蔽寄存器的定義。屏蔽寄存器為0的位要求數(shù)據(jù)項(xiàng)的對(duì)應(yīng)位作匹配操作;為1,則對(duì)應(yīng)位無(wú)需匹配。典型的應(yīng)用中用戶總是把數(shù)據(jù)項(xiàng)的高位序位定義為“待匹配字節(jié)”,低位序位定義為“結(jié)果輸出字節(jié)”。64位中的任何位都可以定義為“匹配操作”,但實(shí)際上輸出到匹配口MQ0~MQ31總線上的總是最低32位數(shù)據(jù),并非可任意編程輸出的。如果設(shè)置的輸出結(jié)果字節(jié)超過(guò)32位,則是無(wú)意義的。
    通常情況下,MCM69C232通過(guò)寫控制口數(shù)據(jù)和指令來(lái)準(zhǔn)備匹配操作。一般步驟是把數(shù)據(jù)項(xiàng)裝入4個(gè)I/O寄存器,然后往操作代碼寄存器寫入操作代碼,即可完成一種指令的操作。指令完成后,CAM表的內(nèi)容可能會(huì)被修改,標(biāo)志寄存器的相應(yīng)位會(huì)被置位,錯(cuò)誤代碼寄存器會(huì)返回錯(cuò)誤碼,當(dāng)使能時(shí),還會(huì)觸發(fā)中斷。
    芯片的操作指令如表1所列。

    復(fù)位。復(fù)位同步于主時(shí)鐘的上升沿,一個(gè)時(shí)鐘周期的復(fù)位就能清空CAM表和輸入數(shù)據(jù)項(xiàng)隊(duì)列,置標(biāo)志寄存器為1C,錯(cuò)誤代碼寄存器為FFFF,幾乎滿寄存器為FFF,并清除中斷屏蔽。
    控制口時(shí)序。訪問(wèn)控制口如同處理器訪問(wèn)RAM一樣,時(shí)序較為簡(jiǎn)單。
    匹配口時(shí)序。訪問(wèn)匹配口分兩種情況:一種是匹配字節(jié)小于等于32位,只用LH/SM信號(hào)裝載匹配數(shù)據(jù),LL信號(hào)無(wú)用;另一種是匹配字節(jié)大于32位,先用LL信號(hào)裝載匹配數(shù)據(jù)低位部分,再由LH/SM信號(hào)裝載高位部分。匹配結(jié)果由MC信號(hào)和MS信號(hào)指示,使能G信號(hào)讀取匹配結(jié)果數(shù)據(jù)。匹配口時(shí)序參見參考文獻(xiàn)。
    兩口同時(shí)匹配??刂瓶谀M匹配和匹配口匹配同時(shí)進(jìn)行時(shí),匹配口優(yōu)先權(quán)較高。另外控制口模擬匹配操作之前要求輸入隊(duì)列為空,以便接收結(jié)果。
    深度擴(kuò)展。芯片簡(jiǎn)單級(jí)聯(lián)即可擴(kuò)展深度,具體的擴(kuò)展連線方法請(qǐng)參見參考文獻(xiàn)。

3 MCM69C232芯片的應(yīng)用
3.1 MCM69C232在交換機(jī)中的應(yīng)用
   
在以太網(wǎng)上.交換機(jī)維護(hù)一張用于二層交換的地址表(通常稱為“CAM表”),該表維護(hù)MAC地址與出接口的對(duì)應(yīng)關(guān)系。這樣每當(dāng)接收到一個(gè)以太網(wǎng)數(shù)據(jù)幀,交換機(jī)就會(huì)進(jìn)行判斷。如果該數(shù)據(jù)幀不是發(fā)送給自己的,則根據(jù)數(shù)據(jù)幀的目的MAC地址查詢CAM表;如果能命中(所謂命中,就是在CAM表中找到與該MAC地址對(duì)應(yīng)的轉(zhuǎn)發(fā)項(xiàng)),則根據(jù)查詢的結(jié)果(通常是一個(gè)出接口列表)進(jìn)行轉(zhuǎn)發(fā);如果不能命中,則向所有端口廣播該數(shù)據(jù)幀。
    交換機(jī)的這張CAM表可以通過(guò)多種方式獲得,比如靜態(tài)配置、動(dòng)態(tài)學(xué)習(xí)。針對(duì)多播,還可以通過(guò)各種多播協(xié)議(如IGMP窺探、GMRP協(xié)議等方式)獲得(多播轉(zhuǎn)發(fā)表不能通過(guò)學(xué)習(xí)獲得,而且多播轉(zhuǎn)發(fā)項(xiàng)跟普通轉(zhuǎn)發(fā)項(xiàng)不同,與其對(duì)應(yīng)的出口可能不只一個(gè),而是一個(gè)出口集合);但對(duì)于單播,最重要的一種建立方式是動(dòng)態(tài)學(xué)習(xí)。
    當(dāng)交換機(jī)接收到一個(gè)數(shù)據(jù)幀時(shí),提取出該數(shù)據(jù)幀的目的MAC地址,并以此為根據(jù)進(jìn)行CAM表查詢。如果能查找到結(jié)果,則根據(jù)結(jié)果進(jìn)行數(shù)據(jù)幀的轉(zhuǎn)發(fā);如果不能命中,則對(duì)除接收端口外的所有端口進(jìn)行復(fù)制。在進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)的同時(shí),交換機(jī)還進(jìn)行一個(gè)學(xué)習(xí)的過(guò)程。它把數(shù)據(jù)幀的源MAC地址提取出來(lái),查詢CAM表,看CAM表中是否有針對(duì)該MAC地址的轉(zhuǎn)發(fā)項(xiàng)。如果沒(méi)有,則把該MAC地址和接收到該MAC地址的端口綁定起來(lái),插入CAM表項(xiàng)。這樣當(dāng)接收到一個(gè)發(fā)送到該MAC地址的數(shù)據(jù)幀時(shí),就不需要向所有端口廣播,而僅向這個(gè)端口發(fā)送即可。需要注意的是,數(shù)據(jù)幀的轉(zhuǎn)發(fā)是依據(jù)目的MAC地址查詢CAM表,而CAM表的學(xué)習(xí)則是以源MAC地址為依據(jù)的。
    之所以在交換機(jī)中使用CAM,是因?yàn)榻粨Q機(jī)對(duì)性能要求特別高。交換機(jī)中的嵌入式實(shí)時(shí)控制系統(tǒng)的性能主要取決于兩方面:硬件平臺(tái)的運(yùn)算性能和算法的優(yōu)越性。其中,硬件平臺(tái)的運(yùn)算性能最為關(guān)鍵,這一點(diǎn)在交換機(jī)中表現(xiàn)得尤為突出。按照設(shè)計(jì)要求,以太網(wǎng)幀的MAC地址的檢索時(shí)間一般都是μs級(jí),因此首先要保證數(shù)據(jù)檢索任務(wù)的響應(yīng)速度;除了十分繁重的數(shù)據(jù)檢索任務(wù)外,交換機(jī)還必須完成SNMP(Simple Network Management Pmtocol)協(xié)議處理、命令行處理等任務(wù),所以還必須解決數(shù)據(jù)檢索對(duì)系統(tǒng)資源的占用問(wèn)題。利用軟件實(shí)現(xiàn)對(duì)以太網(wǎng)幀的MAC地址檢索并不復(fù)雜,但由于檢索次數(shù)頻繁,大量的系統(tǒng)資源被占用,致使系統(tǒng)的響應(yīng)速度大大降低,滿足不了大流量數(shù)據(jù)通信的要求。因此純軟件算法解決不了數(shù)據(jù)檢索部分占用大量資源的問(wèn)題,為提高系統(tǒng)的響應(yīng)速度,必須將這數(shù)據(jù)檢索的任務(wù)分離出來(lái)由硬件實(shí)現(xiàn),而協(xié)議處理部分仍由CPU完成。數(shù)據(jù)檢索模塊和協(xié)議處理模塊并行工作,利用硬件實(shí)現(xiàn)數(shù)據(jù)檢索還可以提高檢索速度,降低系統(tǒng)資源的占用率。在這里CAM的優(yōu)勢(shì)就體現(xiàn)出來(lái)了。

3.2 檢索操作
   
當(dāng)進(jìn)行MAC地址檢索時(shí),CPU首先以MAC地址為關(guān)鍵字通過(guò)MAC-CAM表的檢索得到對(duì)應(yīng)的索引值,然后再根據(jù)索引值找到RAM表中該MAC地址對(duì)應(yīng)的相關(guān)信息的存儲(chǔ)位置,并由此地址獲得相關(guān)配置信息。在RAM中的相關(guān)配置信息中可以存放諸如MAC地址、用戶端口、有效標(biāo)志域等其他信息。CAM表與RAM的映射關(guān)系如圖3所示。

    按協(xié)議規(guī)定MAC地址占48位,表示為6字節(jié)的數(shù)組,故對(duì)于MAC地址的匹配操作,屏蔽字設(shè)為0x0000_0000_0000_FFFF,即48位匹配。屏蔽字的設(shè)定必須在CAM初始化時(shí)完成。在執(zhí)行匹配操作前,CAM須進(jìn)行初始化。MCM69C232上電后,默認(rèn)工作模式為基本模式,因此不必再設(shè)置工作模式。前面已提到過(guò),CAM中MAC表的形成是通過(guò)自學(xué)習(xí)得到的,因此無(wú)需向CAM表中寫入數(shù)據(jù)項(xiàng)。
    匹配操作通過(guò)對(duì)匹配口讀/寫來(lái)完成。匹配口數(shù)據(jù)線MQ只有32位。由于MAC地址占48位,因此需要兩次寫操作才能完整地將一個(gè)MAC地址表達(dá)出來(lái)。當(dāng)進(jìn)行MAC地址檢索時(shí),CPU先向匹配口寫入MAC地址的低32位數(shù)據(jù),其中高16位有效,低16位可以為任意值;緊接著CPU向匹配口寫入高32位數(shù)據(jù);隨后CPU讀匹配口,即可得到匹配結(jié)果。

結(jié)語(yǔ)
   
采用內(nèi)容可尋址存儲(chǔ)器MCM69C232,極大地提高了數(shù)據(jù)檢索速度.而這是用純軟件檢索算法所不能比擬的。設(shè)備的數(shù)據(jù)處理能力滿足了大流量網(wǎng)絡(luò)通信的要求,使產(chǎn)品獲得了良好的社會(huì)效益和經(jīng)濟(jì)效益。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉