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
主站蜘蛛池模板: 亚洲男女在线| 国产美女在线免费观看| 国产高清精品在线91| 成人国产精品视频频| 精品视频第一页| 久久人体视频| 国产福利免费观看| 国产导航在线| 亚洲人成网站在线观看播放不卡| 无码国产伊人| 国产综合在线观看视频| 亚洲欧美日韩成人在线| 国产精品久久久久久影院| 亚洲最黄视频| 日韩视频免费| 亚洲国产欧美国产综合久久 | 91视频首页| 色悠久久久久久久综合网伊人| 中文天堂在线视频| 白浆视频在线观看| 中文字幕日韩视频欧美一区| 婷婷六月天激情| 亚洲高清资源| 91在线精品麻豆欧美在线| 国产成人欧美| 色综合日本| 欧美性精品| 欧美性色综合网| 国产精品久久自在自线观看| 国产免费人成视频网| 日本午夜三级| 国产精品久久久久久久久| 久草视频精品| 天堂中文在线资源| 1769国产精品视频免费观看| 毛片网站观看| 激情综合激情| 欧美日韩资源| 国产日韩欧美成人| 日韩高清成人| 91在线一9|永久视频在线| 国产精品网址你懂的| 欧美笫一页| 一本无码在线观看| 毛片网站在线看| 色欲色欲久久综合网| 国产一二三区在线| 2021国产精品自产拍在线观看| 国产成人精品亚洲77美色| 最新亚洲人成网站在线观看| 国产激情在线视频| 国产a网站| 韩国v欧美v亚洲v日本v| 欧美三级自拍| 国内毛片视频| 精品久久人人爽人人玩人人妻| 亚洲 欧美 偷自乱 图片| 欧美一级片在线| Aⅴ无码专区在线观看| 成人久久18免费网站| 亚洲AⅤ综合在线欧美一区| 热久久这里是精品6免费观看| 一级毛片免费观看久| 福利在线不卡一区| 精品国产91爱| 99re视频在线| 免费一级无码在线网站| 伊人成人在线| 国产视频只有无码精品| 亚洲网综合| 欧美日韩激情在线| 国产91全国探花系列在线播放| 99热这里只有精品在线观看| 日本黄网在线观看| 91精品情国产情侣高潮对白蜜| 丁香亚洲综合五月天婷婷| 天天综合亚洲| 亚洲国产综合精品一区| 色妞www精品视频一级下载| 久久这里只有精品免费| 日本不卡在线播放| 国产欧美日韩18|