三態內容定址儲存器 TCAM 工作原理

2021-10-07 16:03:01 字數 2575 閱讀 3768

cam是content addressable memory的縮寫,即「內容定址儲存器」的意思,它是在傳統的儲存技術的基礎上實現的聯想記憶儲存器,關於cam的基本操作有三種:

tcam是ternary content addressable memory的縮寫,即「三態內容定址儲存器」的意思,它是從cam的基礎上發展而來的。一般的cam儲存器中每個bit位的狀態只有兩個,「0」或「1」,而tcam中每個bit位有三種狀態,除掉「0」和「1」外,還有乙個「don』t care」狀態,所以稱為「三態」,它是通過掩碼來實現的,正是tcam的這個第三種狀態特徵使其既能進行精確匹配查詢,又能進行模糊匹配查詢,而cam沒有第三種狀態,所以只能進行精確匹配查詢。

tcam器件的生產廠商主要有cypress、idt和netlogic三家。這三家分別將tcam器件稱作network search engine(nse)、network search accelerator(nsa)和knowledge-based processor(kbp)。

tcam器件在通訊領域種有非常廣泛的應用,主要有:

atm switching裝置中的vci/vpi**和atm-to-mpls or atm-to-tcp-flow位址對映表項的儲存和查詢;

ethernet switching裝置中的二層mac位址、arp/rarp解析和三層ip路由表項的儲存和查詢;

emerging protocols and functions方面的mpls label表項的儲存和查詢;

packet classification業務中的enforce security、enforce departmental policies和qos檢測表項的儲存和查詢;

安全防護裝置中的fib/lbt、mfib及acl表項儲存和查詢。

傳統的表項查詢方法有很多,主要有:線型查詢法、二叉樹查詢法、雜湊表查詢等,這些查詢方法都是基於sram的軟體查詢方法,共同特點是查詢速度慢。線型查詢法需要遍歷表中的所有表項;二叉樹查詢法需要遍歷樹中大多數節點,而且查詢速度受樹的深度影響較大;雜湊表查詢法是軟體查詢中計較快的一種方法,它是根據設定的雜湊函式h(key)和處理衝突方法將一組關鍵字映象到乙個有限的位址區間上,並以關鍵字在位址區間中的象作為記錄在表中的儲存位置,這種表稱為雜湊表或雜湊,所得儲存位置稱為雜湊位址或雜湊位址。雖然雜湊表查詢法相對來說比較快,但還是滿足不了高速實時通訊系統(如40g/100g pos)的極速查詢需求。

基於硬體的tcam查詢法正是在這種背景下提出的,用此方法進行查詢時,整個表項空間的所有資料在同一時刻被查詢,查詢速度不受表項空間資料大小影響,每個時鐘週期完成一次查詢,平均查詢速度是基於sram演算法查詢的6倍,最壞情況下,能達到128倍。

tcam器件的硬體設計方式一般有三種,如下圖所示:

網路處理器np從報文頭中把需要查詢的資訊提取出來,這個待查詢的資訊要整理成跟tcam所存表項的格式一致,稱之為key。key作為tcam的輸入資料,經過與表項對照,如果有匹配的表項,就把該表項所在的位址作為輸出,稱之為index。然後將index作為ram的位址輸入,從ram裡得到所需查詢的資訊,稱之為data。最後將data返回給發起查詢操作的np,至此完成一次查詢操作。下圖為tcam在高階路由器中的應用及查詢過程。

cam和tcam的基本儲存單元如下圖所示:

下面以netlogic的tcam器件nl101024為例,介紹下tcam器件的各管腳功能:

1).dbus[71:0]:key輸入匯流排,共72根,與tcam表項寬度相同(tcam基本表項位寬為72位,32位源ip位址+32位目的ip位址+8位埠位址),idt公司已開始推出用於ipv6的80位寬度tcam器件;

2).rbus[49:0]:查詢結果result返回匯流排,50位寬;

3).ibus[7:0]:指令匯流排;

4).clk:系統時鐘,上公升沿有效;

5)clk0:輸出時鐘,讀資料和比較資料時使用;

6).ce#:片選訊號;

7).rst#晶元復位訊號;

8).ods-0/1:資料匯流排輸出驅動選擇訊號;

9).smf[3:0]:系統匹配錯誤標識訊號;

10).rv:結果有效訊號;

11).rfsl:只在hstl/sstl-2電平時使用,此時,rfsl=0表示使用內部參考電壓vddq/2,rfsl=1時表示由外部管腳vref提供參考電壓。使用lvcmos電平時,該管腳直接接地;

12).vref[4:1]:參考電影,為hstl/sstl-2的i/o埠提供參考電壓,內部有弱下拉,當使用lvcmos電平時,這些管腳直接接地。

有的tcam器件對外提供la-1介面,如nse5512,la-1的位寬較小,只有16位寬度,不過它在tcam器件內部先轉換

三態門介紹

如下圖,為兩種形式的三態門,a 和 b 一致 c 和 d 一致。對於圖 a 其真值表如下 輸入輸出ena 1011 000高阻態1 對於圖 b 的真值表為 輸入輸出ena 0011 010高阻態1 三態門 three state gate 是一種重要的匯流排介面電路。三態指其輸出既可以是一般二值邏輯...

三態門介紹

如下圖,為兩種形式的三態門,a 和 b 一致 c 和 d 一致。對於圖 a 其真值表如下 對於圖 b 的真值表為 三態門 three state gate 是一種重要的匯流排介面電路。三態指其輸出既可以是一般二值邏輯電路,即正常的高電平 邏輯1 或低電平 邏輯0 又可以保持特有的高阻抗狀態。高阻態相...

FPGA三態詳解

1 本節目錄 2 本節引言 3 fpga簡介 4 fpga三態詳解 5 結束語。不積跬步,無以至千里 不積小流,無以成江海。就是說 不積累一步半步的行程,就沒有辦法達到千里之遠 不積累細小的流水,就沒有辦法匯成江河大海。fpga field programmable gate array 是在pal...