999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

片上TCAM的研究和應用

2013-09-29 11:27:14龔源泉
網絡安全與數據管理 2013年19期
關鍵詞:工藝

許 俊 ,龔源泉 ,李 麗

(1.盛科網絡蘇州有限公司,江蘇 蘇州 215021;2.南京大學 江蘇省光電信息功能材料重點實驗室,江蘇 南京 210093)

1 TCAM簡介

三態內容尋址存儲器 (TCAM)是一類特殊的存儲器,傳統的存儲器都是根據地址讀出內容,例如靜態存儲器(SRAM)和動態存取器(DRAM),但是 TCAM是根據存儲的內容得到對應的地址,輸入一個數據(稱為查找內容或者查找key),TCAM內部就把這個 key和它所有存儲的條目作并行比較,然后把匹配的地址輸出,如果有多個條目都與這個查找key匹配,那么輸出最小的地址。

TCAM又有外掛和片上(內嵌)之分,外掛TCAM原來有多家廠商提供,經過一系列的并購,目前只有博通公司和瑞薩電子可以提供商用的TCAM芯片。外掛TCAM一般適用于交換容量在100 Gb/s量級的路由交換芯片或者安全芯片。對于帶寬超過100 Gb/s以上的路由交換芯片或者安全芯片而言,直接在芯片內部集成TCAM不失為一種好的選擇,特別是做并行訪問控制列表(ACL)查找時,就特別需要片上TCAM。

片上TCAM有多個廠家可以提供不同的工藝庫,其中IBM的片上TCAM工藝庫是目前為止面積最優、功耗最小且速度最快的片上TCAM工藝庫之一。

TCAM的基本單元由一個數據位(data)和一個掩碼位(mask)構成,所以顧名思義稱為三態存儲器,當輸入1 bit數據(input)時,當 input=data& mask,才算匹配。這時,TCAM會輸出一個命中(hit)指示,表示這個條目命中,這個特性讓TCAM在ACL、路由查表的最長前綴匹配和模糊查找中特別有用。

但是TCAM也有不足之處,主要體現在兩個方面:一個是相比較于SRAM和DRAM,它的存儲密度很低,擺放密度也低;另外,TCAM做查找的時候,功耗特別大(因為需要所有的條目并行作比較)。

圖1顯示IBM 45 nm工藝下的TCAM與SRAM、DRAM的比較,TCAM只有1.10%的存儲容量(百萬比特數),卻占用所有存儲器8.64%的面積(如果考慮到擺放面積,這個數字還要加倍)和消耗10.31%的功耗。

圖1 TCAM和SRAM、DRAM的比較(IBM 45 nm)

本文基于IBM 32 nm工藝庫提供的TCAM的一些新特性和提供的優先級編碼器硬核,通過特別設計的電路,可以同時滿足 160 bit、320 bit和 640 bit數據的查找,并且減少TCAM的塊數、降低TCAM的功耗。

2 片上TCAM外圍電路的設計

2.1 多種查找寬度電路設計

此前為了實現多種位寬key的查找,必須以最小key的位寬作為TCAM的位寬選擇。例如,需要同時支持160 bit、320 bit和 640 bit 3種 key位寬的查找,需要選擇TCAM的位寬必須是160 bit的,然后通過橫向拼接的方式實現320 bit和640 bit位寬的key寬度查找。

IBM 32 nm工藝庫提供的TCAM支持一種稱為列使能的方式。以1 024深度320 bit寬度的TCAM為例,圖2表示將320 bit寬度分成4列,每一列有80 bit位寬,4列分別是 FE0、FE1、FE2和FE3,其中 FE0和FE2是偶數列,FE1和FE3是奇數列。當進行160 bit查找時,FE0和FE2自動拼接成160 bit與key做匹配,并且結果輸出到MLLA[1 023:0],每個 bit代表一個條目的查找結果,FE1和FE3自動拼接成另外一個160 bit與key做匹配,并且輸出結果到MLLB[1 023:0],通過外部設計的電路,先把MLLA[1 023:0]中最小的匹配地址找出來(通過優先級編碼器),同時把MLLB[1 023:0]中最小匹配地址找出來,最后比較MLLA和MLLB中哪個匹配地址最小,取小優先,如果值相等,則優先取MLLA的結果作為最終結果。

圖2 TCAM列查找示意(IBM 32 nm)

這樣,TCAM的最小寬度就不必是160 bit,可以是320 bit,與之前的需要 160 bit寬度的 TCAM相比,構建相同大小的查找表,TCAM的塊數可以減少一半。

TCAM的塊數多少直接影響到芯片的面積大小,前面提到過TCAM本身物理的面積就比DRAM和SRAM大,此外,TCAM由于在做查找時需要把輸入的內容和存儲的所有條目同時作比較,會導致片上供給TCAM的電源噪聲變大。為了解決這個問題,一般需要在TCAM之間插入大的片上去耦電容,再加上需要把優先級編碼電路和相關的寄存器緊靠著TCAM擺放,因此需要TCAM塊與塊之間有一定的間隔。圖3顯示了在45 nm工藝下16塊TCAM在硅片上的擺放面積是 3.231 5 mm2(=2.81 mm×1.15 mm),相比較于 TCAM本身的面積(1.59 mm2),大了將近一倍。所以,從這個層面上而言,構建相同大小的查找表,TCAM的塊數越多越不好。

圖3 片上TCAM擺放面積(2.81 mm×1.15 mm,IBM 45 nm)

此前為了解決TCAM查找結果MLL(匹配位)輸出的時序問題,可行的做法是將匹配的結果先用寄存器鎖存起來,再送給后續的優先級編碼器。IBM 32 nm的工藝庫新提供了6~64的優先級編碼器硬核,可以解決時序問題。

圖4顯示 IBM 32 nm提供的6~64的優先級編碼器硬核,輸出信號 HIT表示所有 MLL[63:0]作位“或”運算之后的結果。

圖4 IBM 32 nm優先級編碼器硬核(IBM 32 nm)

圖5(a)中顯示了采用用戶自己設計的6~64的優先級編碼器時,必須將TCAM輸出的匹配結果先用寄存器鎖存一拍,然后才送給優先級編碼器。圖 5(b)顯示,采用IBM 32 nm提供的優先級編碼器硬核,可以直接把TCAM的匹配結果經過一個或者兩個與門之后與優先級編碼器的輸入對接,優先級編碼器的輸出再進入寄存器鎖存起來。

表1比較了兩種方案所需要的資源,可以看到,TCAM的匹配結果需要的鎖存寄存器可以全部節約下來,只要TCAM的深度越大,節約的寄存器就越多,以支持 16 384個 160 bit寬度的 ACL條目為例,方案(a)需要額外多出16 384個寄存器。

表1 兩種方案所需要的資源比較

此外,方案(a)比方案(b)會多一級流水線的延遲。

采用圖 5(b)所示的電路,可以實現 160 bit、320 bit和640 bit 3種key寬度的查找。

160 bit寬度key的查找流程如下:

(1)TCAM#0 輸 出 匹 配 結 果 MLLA_0 [63:0]和MLLB_0[63:0], 同時,TCAM#1 輸出 MLLA_1[63:0]和MLLB_1[63:0]。

(2)MLLA_0[63:0]經 過 6~64 優 先 級 編碼 器,輸 出indexA_0[5:0]和 hitA_0(圖中沒有標示出來)。 同樣地,對于 MLLB_0[63:0]、MLLA_1[63:0]和 MLLB_1[63:0]經過各自對應的優先級編碼器, 輸出 indexB_0[5:0]、indexA_1[5:0]和 indexB_1[5:0], 以及對應的 hitB_0、hitA_1和 hitB_1。

(3)indexA_0[6:0]和 indexB_0[6:0]比較,如果 hitA_0和hitB_0二者只有一個為1,那么選擇對應的index輸出;如果 hitA_0和 hitB_0均為 1(表示都有匹配到),則選擇indexA_0輸出。當選中indexA_0時,輸出indexAB_0[6:0]={indexA_0[5:0],1′b0}, 最 低 位補0;當選中indexB_0時,輸出indexAB_0 [6:0]={indexB_0[5:0],1′b1},最低位補1,此外還需要把 hitA_0和hitB_0作位“或”運算輸出 hitAB_0。

(4)對 于 indexA_1 [6:0]和indexB_1[6:0]有同樣的操作,得到結果 indexAB_1[6:0]和 hitAB_1。

(5)比 較 indexAB_0 [6:0]和indexAB_1[6:0],操作過程類似于步驟(3), 最 后 得 到 index160 [7:0]和hit160。

320 bit寬度key的查找流程如下:

(1)TCAM#0 輸 出 匹 配 結 果MLLA_0[63:0]和 MLLB_0[63:0], 同時 ,TCAM#1 輸 出 MLLA_1[63:0]和MLLB_1[63:0]。

(2)MLLA_0[63:0]每 個 比 特 和MLLB_0[63:0]的每個對應比特位進行“與”運算,得到 MLLAB_0[63:0],再輸入到一個專門的6~64優先級編碼器 ,輸 出 index320_0[5:0]和 hit320_0(圖中沒有標示);對于 MLLA_1[63:0]和MLLB_1[63:0],有 同 樣 的 操 作 ,把 MLLAB_1[63:0](=MLLA_1[63:0]&MLLB_1[63:0])輸出 index320_1[5:0]和 hit320_1。

(3)比 較 index320_0[5:0]和 index320_1[5:0], 過 程與前述類似,得到 index320[6:0]和 hit320。

640 bit寬度key的查找流程如下。

(1)將前述 320 bit寬度 key查找流程的步驟(2)得到的 MLLAB_0[63:0]和 MLLAB_1[63:0]再作一級按位“與”操作(MLLAB_0[63:0]& MLLAB_1[63:0]),結果輸出到優先級編碼器中,得到 index640[5:0]和 hit640。

最后還有一級多路選擇器,根據全局配置,在index160[7:0]、index320[6:0]和 index640[5:0]三 者 之 間選擇一個作為最終結果輸出

上面設計的TCAM查找電路,與之前的設計相比,在需要同樣大小的查找表情況下,TCAM的塊數少一半,而且由于應用了優先級編碼器硬核,可以把第一級的鎖存寄存器全部省掉,此外還降低了TCAM的擺放面積和功耗。

2.2 利用TCAM的預查找功能降低查找功耗

IBM 32 nm工藝庫中的TCAM為了防止查找時的瞬間功耗過大,提供了一種預查找功能。TCAM橫向的塊稱為一個Bank,每個Bank包含128個條目,每個條目無論多少位寬,可以按照80 bit來切分,每80 bit的存儲數據可以分為兩級進行查找,第一級查找稱為預查找,只匹配低 bit0~bit7總共 8 bit,如果這 8 bit沒有匹配,則后面的72 bit就不會參與比較運算。

因此,每80 bit位中的低8 bit又可以稱為預查找比特位,這個功能對于用戶而言是透明的,但是需要用戶精心安排數據結構,才能充分發揮這個特性,例如,把不同數據結構的標志號放在這低8 bit。

從統計學上分析,如果所有數據足夠隨機化,每256個條目只會有一個條目匹配,也只有這個條目的后72 bit才會參與比較,這樣消耗的功耗只有原來的10%(=(256×8+72)/(256×80))。

圖6 TCAM預查找功能示意(IBM 32 nm)

值得一提的是,IBM 32 nm工藝庫的TCAM還同時提供功耗門控和深度休眠的方式來降低TCAM的動態功耗,前者對于使用者是透明的,后者需要設計相應的控制電路,而且從深度休眠的模式恢復到正常工作模式,至少需要100 ns的喚醒時間。

本文基于IBM 32 nm工藝庫提供的TCAM和優先級編碼器硬核,通過設計相應的外圍電路,充分利用該TCAM的特性和硬核IP,減少所需TCAM的塊數和外圍寄存器的數量,節省了TCAM在硅片上的擺放面積,同時降低了TCAM的功耗。本文提到的全部設計已經在公司的第4代以太網路由交換ASIC芯片上實現。

后續的工作,將研究如何基于廠家提供的TCAM如何進一步提高TCAM的查找性能。另一方面,將研究一些性能要求不高的場合下,如何充分利用TCAM的深度休眠功能,進一步降低整個芯片的功耗。

[1]Embedded memory for Cu-32HP databook, SA15-6397-04,Revision 04[Z].2013.

[2]Embedded memory for Cu-45HP databook, SA15-6218-01,Revision 01[Z].2009.

[3]Huang Xiaohua.GAM cells and differential sense circuits for content addressable memory[P].U.S: US6744653 B1,2004-06-01.

[4]ARSOVSKI I,WISTORT R.Self-referenced sense amplifier for across-chip-variation immune sensing in high performance Content-Addresable Memories[C].Custom Integrated Circuits Conference, CICC′06, 2006:453-456.

[5]CHAO H J,LIU B.High performance switches and routers[M].John Wiley&Sons, Inc., Publication, 2007.

猜你喜歡
工藝
鋯-鈦焊接工藝在壓力容器制造中的應用研究
金屬鈦的制備工藝
轉爐高效復合吹煉工藝的開發與應用
山東冶金(2019年6期)2020-01-06 07:45:54
工藝的概述及鑒定要點
收藏界(2019年2期)2019-10-12 08:26:06
5-氯-1-茚酮合成工藝改進
世界農藥(2019年2期)2019-07-13 05:55:12
螺甲螨酯的合成工藝研究
世界農藥(2019年2期)2019-07-13 05:55:10
壓力缸的擺輾擠壓工藝及模具設計
模具制造(2019年3期)2019-06-06 02:11:00
石油化工工藝的探討
一段鋅氧壓浸出與焙燒浸出工藝的比較
銅業工程(2015年4期)2015-12-29 02:48:39
FINEX工藝與高爐工藝的比較
新疆鋼鐵(2015年3期)2015-11-08 01:59:52
主站蜘蛛池模板: 天堂在线www网亚洲| 毛片基地美国正在播放亚洲| 久久人人97超碰人人澡爱香蕉| 玩两个丰满老熟女久久网| 亚洲人成网站在线播放2019| 欧美精品v欧洲精品| 在线观看91精品国产剧情免费| 第一页亚洲| 国产欧美日韩另类精彩视频| 日韩色图区| 国产尹人香蕉综合在线电影| 国产亚洲日韩av在线| 免费a在线观看播放| 国产真实二区一区在线亚洲| 丰满人妻被猛烈进入无码| 一级在线毛片| 亚洲日本中文综合在线| 亚洲三级色| 91美女在线| JIZZ亚洲国产| 国产成人久久综合777777麻豆| 四虎免费视频网站| 亚洲成人在线免费| 亚洲综合第一区| 国产欧美网站| 国产人免费人成免费视频| 97久久超碰极品视觉盛宴| 免费A级毛片无码无遮挡| 国产成人精品午夜视频'| 国产另类视频| 亚洲不卡无码av中文字幕| 国产成人91精品| 国产美女免费网站| 国产一区免费在线观看| 亚洲天堂免费观看| 亚洲国产无码有码| 亚洲精品日产AⅤ| 日韩AV无码免费一二三区| 欧美视频在线不卡| 本亚洲精品网站| 国内精品视频| 欧美亚洲日韩中文| 国产丝袜啪啪| 欧美成人精品欧美一级乱黄| 精品1区2区3区| 婷婷六月综合| 在线日韩日本国产亚洲| 精品少妇人妻无码久久| 欧美激情福利| 99尹人香蕉国产免费天天拍| 黄色网在线免费观看| 美女无遮挡免费网站| 久久久久久尹人网香蕉| 午夜丁香婷婷| 国产性猛交XXXX免费看| 99一级毛片| 999国内精品久久免费视频| 久久永久视频| 亚洲精品无码久久久久苍井空| 精品国产黑色丝袜高跟鞋| 毛片手机在线看| www.国产福利| 欧美日韩成人在线观看| 国产成人精彩在线视频50| 国产日本一区二区三区| 亚洲视频四区| 亚洲精品中文字幕无乱码| 欧美成a人片在线观看| 中文字幕欧美日韩高清| 欧美日韩免费在线视频| 久久久受www免费人成| 三上悠亚精品二区在线观看| 高清精品美女在线播放| 亚洲码一区二区三区| 欧美日韩国产精品综合 | 自偷自拍三级全三级视频| 国产精品白浆无码流出在线看| 欧美中文字幕第一页线路一| 中文无码精品A∨在线观看不卡| 99久久99视频| 久久人妻系列无码一区| 色综合激情网|