TW445410B - Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device - Google Patents

Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device Download PDF

Info

Publication number
TW445410B
TW445410B TW088111409A TW88111409A TW445410B TW 445410 B TW445410 B TW 445410B TW 088111409 A TW088111409 A TW 088111409A TW 88111409 A TW88111409 A TW 88111409A TW 445410 B TW445410 B TW 445410B
Authority
TW
Taiwan
Prior art keywords
cam
matching
highest priority
coupled
instruction
Prior art date
Application number
TW088111409A
Other languages
English (en)
Inventor
Varadarajan Srinivasan
Bindiganavale S Nataraj
Sandeep Khanna
Original Assignee
Netlogic Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netlogic Microsystems Inc filed Critical Netlogic Microsystems Inc
Application granted granted Critical
Publication of TW445410B publication Critical patent/TW445410B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Static Random-Access Memory (AREA)

Description

五、發明說明α) --- 發明範疇 本發明概括地說明内容可定址記憶(CAM)裝置;且更明 確地說明一CAM裝置中存取多重匹配位置。 發明背景 一個内容可定址記憶(CAM)裝置為一儲存裝置,可通知 其將一特殊形態的比較資料和儲存於其相關聯CAM陣列中 的資料比較。平行地搜尋該整個CAM陣列或有關它的片 k ,以找出該比較資料的一個匹配。如一個匹配發生,則 該CAM裝置典型地藉斷言一匹配旗標來指示;如多重匹配 發生’則該CAM裝置典型地藉斷言一多重匹配旗;^爽相 示。接著,可通知該CAM裝置輪出該最高優先匹^位址-或' 指標,健存於該匹配位址上一個或多個CAM單元中的資 料’及其它包括該等匹配旗標、一完全旗標、有效位元 (例如跳位和空位元)的狀態資訊,及其它的狀態資訊。 提供一個CAM裝置,可有效地存取該最高優先匹配位置 以回應一第一個指令’並接著存取一隨後較低的優先匹配 位置以回應一單一的第二個指令,係較可取的。 iHSjUl 說明一個執行一讀取次最高優先或” RNHPM"指令之内容 定址記憶裝置(CAM) °該CAM裝置最初搜尋其位置,以 找出比較資才ΐ的一個匹配。如識別出多重匹配,則該CAM 裳置最初將輸出該最向優先匹配位址。該CAM裝置可在提 供該比較指令的該相同系統或時計循環中輸出該最高優先 匹配位址。該CAM裝置亦可輸出儲存於位在該最高優先匹
第6頁 445 4 1 Ο 五、發明說明(2) 配位置上該(等)一個或多個CAM單元中的資料,和/或包括 5玄4匹配旗標、一完全旗標、有效位元(例如跳位和空位 元)的狀態資訊,及其它的狀態資訊。接著,可於該下一 個時計循環或一隨後的時計循環中提供一RNHPM指令給該 CAM裝置,導致由該CAM裝置輸出該次最高優先匹配位址。 可如該RNHPM指令一樣,於該相同或隨後的時計中輸出該 次最高優先匹配位址,且亦可導致該CAM裝置輸出儲.存在 該(等)一個或多個位在該次最高優先匹配位置上之CAM單 元中的資料,和/或該位置的狀態資訊。可繼續將RNHPM指 令提供給該CAM裝置,直到不再偵測出匹配位置為止。 就一個體系而言,該CAM陣列包括該RNHPM指令使用的一 夕重匹配(Μ M R")位元行’以決定一個多重匹配條件。該 等MMR位元儲存一個該相對應CAM位置是否和該比較資料有 一個匹配的指示。就一個例證而言,於該啟始比較指令開 始時將該等ΜMR位元設定成邏輯零。當判定出該C AM陣列中 哪些位置與該比較資料匹配時,則將該等位置的該等關只 位元更新成一個邏輯壹(除了該最高優先匹配位置之外)。 為了回應一隨後的RNHPM指令,只需詢問該等龍!{位元(例 如和一個邏輯壹比較)以判定該次最高優先匹配位置。接 著’可從該CAM裝置中輸出該次最高優先匹配位置的匹配 位址、儲存菸該次最高優先匹配位置上該(等)一個或多個 CAM單元中的資料、和/或其它的狀態資訊。接著,將該匹 配位置的MMR位元重設成一個邏輯零,以便一隨後的RNHPM 指令可接著利用該等MMR位元存取較低優先匹配位置。
“ 45 4 1 ο 五、發明說明(3) 藉5玄等伴隨的圖示和下面的詳述將察知本發明的目地, 特性和優點。 例證說明本發明的特性和優點,但絕非意欲將本發 的範缚限制在該等所示的特殊體系上,其中: 圖1 ’為根據本發明一 CAM裝置的一個體系之一方塊圖; jyj r) '’為圖1包括一MMR位元行的該CAM陣列的一個體系之 —方塊圖; 圖3 ’為一CAM單元的一個體系之一方塊圖; 114 ’為一種執行比較和RNHPM指令之方法的一個體系; ®5 ’為圖4執行比較和RNHPM指令該方法之一個較詳一細 的體系; 圖 fi , 4 ^ ^ y 為一個比較指令、及其對該等MMR位元影響的一個 歧系之一時序圖; 圖7 ’為一 RNHPM指令的一個體系之一時序圖; 圖8 ’為圖2 MMR字元線控制邏輯之一個體系; !gl f\ ’為一個真值表,概述圖10該MMR字元線控制邏輯的 遷輯操作; /圖1 〇」為一種執行比較和RNHPM指令之方法的另一個體 糸; 圖11 ,為齒2 — MMi? CAM單元的一個體系之一電路圖; 圖1 2,為圖2該M MR比較暫存器的一個體系之一邏輯圖; 圖丨3,為圖1該寫入電路的一個體系之一邏輯圖; 圖^ ’為深度串級CAM裝置至一CAM系統中的一個體系之
4 4 5 4 1 〇 ----------- 五、發明說明(4) ^ 一方塊圖,可執RRNHPM指令; ’ 15 ’為一包括串級邏輯的CAM裝置的一個體. 塊圖; ; 圖’為圖μ該其中一個cam裝置操作的一個; 時序圖; 圖1 7 ’為圖1 5該串級邏輯的一個體系之一邏輯 7圖丨8,為用以產生/MFD〇之該匹配旗標向下 一個體系之一邏輯圖。 1 發明詳沭 :之一方 t系之一 圖;及 邏輯的 說明一個内容可定址記 為了闡釋的目-地,將宣稱 底完全的瞭解。然而,對 知無需該等特殊的細節亦 中,以方塊圖的形式說明 免不必要地混淆本發明。 線S兒明電路元件間或區塊 選擇性地為單一的信號線 選擇性地為匯流排。此外 符V"或該字尾1' B",指示 該技藝中一般所知的,可 成活動高的信號。 憶(CAM)裝置。下面的; 特別的術語以對本發明 一個熟知此技藝的人來 可實行本發明。於其它 大家所熟知的電路和裝 此外’可以匯流排或單 間的互聯。該等每一個 ,且該等每一條單一的 ’連接在信號名稱上的 該信號為一個活動低的 將該專每一個活動低的 說明一個執行一讀取+畏友/jl *』 貝取-人敢尚優先或"RNHPM"指 可定址記憶(CAM)裴置。為τ^ + , 农夏 馮ί回應一個比較指令 置最初搜尋其CAM位置,以杓屮4私次,丨1 , i M获出比較資料的一個 明中, 提供二徽 說,將察 的事例 置,以避 一的信號 匯流排可 信號線可 該前加字 信號。如 信號變更 -之内容 該CAM裝 :配。可
Η
4 4541 〇 五、發明說明(5) 於一外部的比較匯流排上提供該比較資料,或將該比較資 料,存於一比較暫存器中、並可由一個或多個遮蔽暫存器 遮,之。如識別出多重匹配,則該CAM裝置最初將輸出該 最高優先匹配位址。該CAM裝置可在提供該比較指令的該 相同系統或時計循環中輪出該最高優先匹配位址。該CAJJ 裝置亦可輪出儲存於位在該最高優先匹配位置上該(等)一 ,,多個CAM單元申的資料,和/或包括該等匹配旗標、一 兀=旗標、^效位元(例如跳位和空位元)的狀態資訊,及 其匕的狀態育訊《接著,可於該下一個時計循環或一隨後 的時汁循環中提供一RNHpM指令給該CAM裝置,導致由該 CAM裝置輸出該次最高優先匹配位址。可如該⑽肝^指令一 樣、,於該相同的時計中輸出該次最高優先匹配位址,且亦 可導致該CAM裝置輸出儲存在該(等)一個或多個位在該次 最高優先匹配位置上之CAM單元中的資料’和/或該位置的 狀態肓訊。可繼續將RNHPM指令提供給該CAM裝置,直到不 再偵測出匹配位置為止。 就一個體系而言(將於下更詳細的說明),該CAM陣列包 括該.RNHPM指令使用的一多重匹配("MMR„ )位元行,以決定 一個多..重匹配條件。該等MMR位元儲存一個該相對應位 置是否和該比較資料有一個匹配的指示β就一個例證而 言,於該啟始比較指令開始時將該等MMR位元設定成邏輯 零。當判定出該CAM陣列中哪些位置與該比較資料匹配 時將該等位置的該等MMR位元更新成一個邏輯壹(除了 該最尚優先匹配位置之外)。為了回應一隨後的⑽旧姑指
第10頁 /〆 4 4 5 4 1 Ο —--- " ' -— 五、發明說明(6) 令,只需詢問該等龍R位元(例如和一個邏輯壹比較)以判 ^該次最高優先匹配位置。接著’可從該CAM裝置中輸出 該次最高優先匹配位置的匹配位址、儲存於該次最高優先 ^配位置上該(等)一個或多個CAM單元中的資料、和/或其 它的狀態資訊°接著’將該次最高優先匹配位置的MMR位 元重設成一個邏輯零’以便一隨後的RNHPM指令可利用該 等MMK位元存取隨後的匹配位置。就另一1個體系而言,又 將該等和該詢問匹配的Μ M R位元(例如和一個壹匹配)寫入 一個邏輯壹中,同時該RNHPM指令將該次最高優卷匹配設 定成零。 有利地,本CAM裝置允許在一和比較資料具有多重匹-配-位置之CAM裝置的環境下,增加系統的效能。可存取該最 高優先匹配位置和/或儲存於該位置上的資料,以回應一 啟始的比較指令。接著,可提供隨後的RNHPjj指令,以一 個或多個時計循環存取較低優先匹配位置和/或儲存於較 ,優,位置上的資料。無需補充的指令或外部的接腳以執 仃該等功能或存取該等MMR位元。不需在該RNHPM指令之前 或之後重設該CAM裝置。此外,如該CAM裝置包括有效位 元如·跳位和空位元,則不因該指令而影響該等位 =該CAM裝〜置亦不需儲存用於該啟始比較指令上的該比 較資料(或遮蔽資料)。 圖^ °兒明CAM裴置丨〇〇,為一可執行本發明該RNHPM指令的 、置之一個體系1〇〇為一個同步CAM裝置,執行 /、米作以回應一個外部的時計信號CLK丄78。然而,將察
第U頁 445410 五、發明說明(7) 知可於非同步的CAM裝置申執行本發明該等選擇性的體 系。 CAM裝置100可包括一指令匯流排I BUS 140,用以接收指 令;一個別的比較匯流排CBUS 1 38,用以接收比較資料, 以和CAM陣列104的一個或多個CAM單元比較;及一個別的 資料匯流排ADS BUS 142。就一個選擇性的體系而言,可 共享或多重定時其中一個或多個匯流排138,140和142。 ADS BUS 142可同時或個別輸出:和該比較資料匹配之CAM 陣列1 0 4的一個位置之一個匹配位址或CAM指標;_儲存於該 CAM陣列該(等)一個或多CAM單元中的資料,其中該資料玎 和該匹配的位址相關聯;和/或相對應至該匹配位址或-相 關聯資料的狀態資訊。該狀態資訊可包括一個匹配旗標, 多重匹配旗標,完全旗標’跳位位元,空位元和/或CA Μ裝 置100之其它的的識別代號。ADS 142可為任意大小, 以容納任意位元數。就一個體系而言,ADS BUS 142為一 個64位元的匯流排。可缓衝或暫存义以BUS 142。 C B U S 1 3 8可以為一個雙向的匯流排,用以提供比較資料 給比較暫存器120或直接給CAM 102的CAM陣列104。CBUS 138亦可和狀態暫存器132、CAM 1〇2、及一個或多個遮蔽 暫存器(未顯示)耦合。CBUS 138可為任意大小,以容納任 意位兀數的比較資料,就一個體系而言,CBUS丨38為一個 64位元的匯流排。可缓衝或暫存CBUS 138。 利用IBUS 140將指令提供給指令解碼器1 28。可藉外部 時計信號CLK 178 ’或藉一時計緩衝器(未顯示)輸出的一
II I I 1 I 1 I I I I I 1 I S ! S 1 1 S ! 1 I I ! I 第12頁 4454 Ί Ο 五、發明說明(8) f或多個可產生具有變化相位和頻率的時計信號,將指令 從IBUS 14Q中敲入指令解碼器128中。IBUS u〇可為任意 ^小,以容納任意位元數和任意指令數。就一個體系而 έ ’ I B US 1 4 0為14位元寬’以容納2u個唯一可能的二進碼 指令。可利用其它的編碼。可緩衝或暫存[BUS 14〇。指令 解碼器128將IBUS 140上的該等指令解碼,並將一個或多 個控制信號提供給信號線丨5 9上的時序產生器丨2 6。接著’ 時序產生器126可將該等適當的控制信號輸出給該等不同 的電路’以執行一個RNHPM指令。 輸出多工器134將資料提供給ads BUS 142。輸出多工器 134可包括輸-出緩衝器,一個或多個多工器,一個選擇—器、 電路’暫存器,或閃鎖。輸出多工器丨34可經由匯流排〗46 從優先編碼器中接收一個匹配CAM位址或指標,亦可經由 感應放大器122和匯流排152接收儲存於CAM陣列104中的資 料。此外,輸出多工器1 34可經由信號線丨48從優先編碼器 116中接收包括一個匹配旗標信號(/MFINT)的狀態資訊, 經由信號線1 50從優先編碼器11 6中接收一個多重匹配旗標 (/MMF),和/或有效位元108(例如經由一未顯示的匯流、不 排)。輸出多工器134可額外地接收該(等)一個或多個_反 位元106。輸-出多工器134亦可經由匯流排〗58從狀態暫存 |§132中接收該等上述全部或某些資料。狀態暫存器132可 包括一個或多個暫存器。 CAM裝置1〇〇亦包括CAM 102。CAM 1〇2包括一個CAM陣列 104,可由任意的CAM單元列數和行數所組成。CAM 1〇2亦
44541 ο 五、發明說明一 --------- 的次,有效位元1 0 8,儲存有關c am陣列1 0 4中相對應位置 位二^ 例如,CAM陣列1 04中一給定列或位置的該等有效 示當二Z包括—跳位位元和一空位元。該等有效位元可指 較極你ΐ存於比較暫存器12〇中儲存的比較資料執行一比 位1、,時’應跳過CAM陣列1 〇4中的一特殊位置。該等有效 =亦可指示CAM陣列1〇4中的一相對應位置是空的。該等 — 位70亦將該等CAM單元分類成四種狀態’如表1所示。 认f比較操作’可將比較資料和CAM陣列104中相對應至一 、·'σ尤狀態的該等任何位置比較。 一 表1 跳位 空 狀態 0 0 有效的 0 1 空的 1 0 跳位 1 1 隨機存取記憶體 CAM 102額外地包括MMR位元106 ^MMR位元106可以為一 個或多個位元行,儲存CAM陣列丨〇4中一相對應CAM單元列 忒等匹配的結果。該等位元可以為可寫入的,可讀的和/ 或可遮蔽的’將於下作更詳細的說明。 CAM 1 0 2 ^多個匹配線u 3上的匹配資訊輸出給匹配閂鎖 1 1 4。匹配ή鎖1 14检住該等匹配線上的該匹配資料,以回 應線1 7 2上的一個信號,並將該匹配資訊提供給優先編碼 器11 δ。優先編碼器11 6可判定該最高優先匹配位址,亦可 於線148上產生内部的匹配旗標信,和於線15〇上
第14頁 4 454 1 〇 五、發明說明(10) 產生多重匹配旗標/MMF。 圓2說明具有多個CAM單元2〇2、並以任意列數和行數組 成的CAM陣列104之一個體系。就一個體系而言,CAjtf陣列 104可包括約四千(即4〇96)列的CAM單元2〇2 ,和約64行的 CAM單兀202。就另一個體系而言,CAM陣列1〇4可包括約四 千列的CAM單元2 02 ’和約128行的CAM單元202。為了明晰 的緣故,已省略圖2中的該等有效位元,但該等有效位元 亦可包含於補充的CAM單元列和行中。 每一個CAM單元列和一匹配線2〇4、及一字元線^08叙 〇 °由位址解碼器Π2驅動每一條字元線2〇8,以選取一個 或多個CAM單元2 0 2 ’用以寫入或讀取。每一條匹配線2.〇4,. 和匹配閂鎖1 1 4輕合,检住一比較操作的該等匹配結果。 僅當該列中該等所有的CAM單元202(實際比較的)和該比較 資料匹配時,一個別的匹配線才將指示一個匹配,接著, 將該等閂鎖結果提供給優先編碼器1 i 6,產生一個相對應 至該至少其中一個匹配位址的位址。就一個體系而言,該 匹配位址為該最高優先匹配位址β該最高優先匹配位址可 以為該編號最低的匹配位址、該編號最高的匹配位址或任 何其它.選取的四配位址。選擇性地,該匹配位址可以為該 最低優先匹配位址’或任何其它預先決定的優先順序。 每一個CAM單元行和一位元線(此)210、一互補位元線 (BLB)212、一比較線(CL)214及一互補比較線(CLB)216耦 合。BL 210和BLB 212和感應放大器122耦合,使能夠於 CAM單元202中讀取或寫入資料。CL 214和CLB 21 6和比較
第15頁 4 454 1 0 ______ 五、發明說明(11) 暫存器1 2 0耦合,並將比較資料提供給CAM單元2 0 2作為比 較之用。就選擇性的體系而言,可利用其它的CAM陣列結 構。例如,CAM陣列1 04可不包括CL 2 1 4和CLB 2 1 6 ;反 之’BL 210和BLB 212可和比較暫存器12〇耦合,並可如該 技藝中一般已知的、利用BL 210和BLB 212以儲存於CAM單 元2 0 2中的資料執行一個比較。例如,於一比較循環時間 的第一個部分中,可將比較資料從比較暫存器〗2 〇中提供 到B L 2 1 0和B L B 2 1 2上。於該比較循環時間的第二個部
分,可以從C AM陣列1 04中輸出的資料驅動bl 21 0和BLB 212 = ' 圖3說明CAM單元300,為一個CAM單元202之一個體系一。' CAM單元300包括比較器302和隨機存取記憶體(ram)單元 304 =RAM單元30 4和BL 210、BLB 212及字元線2 08耦合, 且可為任意形態的RAM單元。當字元線2〇 8選取RAM單元304 時,可經由位元線BLB 210和BLB 21 2於RAM單元3 04中讀取 和寫入資料。比較器3〇2和RAM單元3〇4、α 214、CLB 216 及匹配線204耦合。比較器3 02可將比較暫存器12〇中的資 料(CL 214和CLB 216上提供的)和儲存於ram單元304中的 貧料(碜2 1 8和2 2 0上提供的)比較,並將該比較結果輸出給 匹配線2 0 4。_比較器3 〇 2可以為任意形態、包括一互斥運算 元(XOR)問或一互斥反或(xn〇r)閘的比較電路。可同時或 循序地執行CAM單元3〇〇的該比較和寫入或讀取功能D於選 擇性的體系中(例如省略CL 214和CLB 21 6),可循序地執 行該比較和讀取或寫入功能。因該等個別的位元線和比較
第16頁 44 0 4 l 〇 A 45 4 1 0 五、發明說明(12) " ' ' ------ =,故CAM單元3 0 0可同時執行一比較操作,以從r“單元 3〇4中言買取資料。於CAM裝置(如圖mcam裝置1〇〇)中執 比較操作可能係較有利的。 τ 就圖2而言,CAM陣列丄04可將相關聯的記憶體資料 較貢料(例如埠位址,圖形識別鍵...等等)儲存於、一达 元Λ中州固CAM單元202中。可將該比較資料:儲 存於比較暫存器!2。中的比較資料比較。同樣地’二 1 〇4可將相關聯的資料或RAM資料(例如橋式或切? ,存取資訊或衰老資料)儲存於—給定的CAM單元列 止 個U Μ單― 元2 〇 2中。該相關聯的資料可相對應至或和=g 列中其匕儲存比較育料之CAM單元相關聯的。可以」^_ 該等CAM單元202分割成比較資料和相關聯的γ科 片奴。該等比較貢料和相關聯的資料片段可為交笋 或非交!的片1。就一個體系而言,可利用—個‘憶:二 構暫存器(未顯示)規劃利用CAM陣列丨〇4中哪些位元^ ^ 比較資料,和利用哪些位元去儲存相關聯的資料。: 可以任意次序或任意格式將CAM陣列〗〇4 t該相 料輸出(例如經由感應放大器i 22或輸出多工器丨3/) : _三 個體系_而言,CAM陣列104可以多位元片段輸出其内容就2 一個片段可儲存比較資料、相關聯的資料或其它資訊。犹 一個例證而言_,可將CAM陣列1 〇4分割成四個片段,每二個 片段為16個位元.可藉輸出多工器134以任意次序(即y或 16種可能的有序輸出)感應和輸出該(等)一個或多個 段。 片
第17頁 4454 ΐ Ο___ 五、發明說明(13) 圖2亦說明MMR位元1〇6的一個體系。MMR位元106包括一 個MMR CAM單元2 50 ’及CAM陣列1 〇4中每一個相對應CAM單 元2 02列的一個MMR字元線控制邏輯252。每一個MMR字元線 控制邏輯252藉控制一個獨立、區域的字元線 (1以1^1/) 25 6判定該一相對應}^1?〇人!《單元250的選取。每 一個MMR字元線控制邏輯252控制其相對應MMR CAM單元250 的MMRWL 256,以回應字元線2〇8、線165上的MMR_RESET及 線254上匹配閂鎖1 14中輸出的一個信號。線254上由每一 個MMR字元線控制邏輯252接收的該信號,相對應―_至該給定 CAM單元202列和MMR CAM單元250的該閂鎖匹配線。 該MMR CAM.單元250和該等匹配線204耦合,且可包括*如' 圖3 —般所示之該等邏輯區塊。於圖u中顯示該龍^ cam單 元的一個特殊體系’並將於下說明之。該等題^ CAM單元 2 5 0和MMR比較暫存器258耦合,其可以為比較暫存器12〇的 一個片段或一個個別的比較暫存器。MMR比較暫存器25 8儲 存該等MMR CAM單元250的比較資料,並將該比較資料和比 較線CL 266和CLB 268上的MMR CAM單元25 0耦合。MMR比較 暫存器258亦可將遮蔽資料提供給CL 266和CLB 268,以回 應線164上的該MSKVBIT信號。MMR CAM單元2 5 0亦可經由寫 入電路121接收寫入BL 262和BLB 264上的資料(線in上的 資料中)。當''將該寫入資料提供給MMR CAM單元2 50時,寫 入電路121和MMR比較暫存器258可控制,且寫入電路丨21可 控制BL 262和BLB 2 64上該資料的該等邏輯等級,以回應 信號線1 80上的MMRWD。
)4 4 5 4 1 Ο 五、發明說明(14) 圖4說明一般於CAM裝置1 〇 〇令執行比較和RNHPM指令的一 個體系4 0 0。可利用該處理於一個或多個時計循環中執行 該比較操作’亦可利用該處理於一個或多個隨後的時計循 環中執行該MHPM指令。於步驟402,指令解碼器128將一 提供給I BUS 140上的比較指令解碼。指令解碼器128可包 括一個查表’ 一個狀態機器,或任何其它可解碼IBUS 140 上該比較指令的控制邏輯。為了回應該比較指令,比較暫 存器可從CBUS 1 38中載入比較資料。選擇性地,該比較資 料可能未載入比較暫存器120中,但仍維持在CBUS 138上 作為步驟404之用。 於步驟404,該比較資料和儲存於CAM陣列104中的資—料、 比較’以判定是否有一個匹配。可由和C A Μ陣列1 〇 4耗合的 遮蔽暫存器(未顯示),遮蔽該比較資料中一個或多個位 元。接著’可更新該等匹配位置的該等MMR位元1 〇 6,以指 示CAM陣列1〇4(和/或有效位元108)中哪些位置和該比較資 料匹配。就一個體系而言,於該比較循環期間,可不更新 該最高優先匹配位址相關聯的該MMR位元。將由該等匹配 線113的狀態反映步驟404中該等比較的結果。 於步部406,CAM裝置1 00可將該最高優先匹配位置的匹 配位址輸出給ADS BUS 1 42,並可產生該匹配旗標和多重 匹配旗標。#步驟408,可選擇性地將儲存於CAM陣列1 〇4 該最高優先匹配位置上該(等)一個或多個CAM單元中的資 料輸出給ADS BUS 142。可於CLK 178的一個時計循環中完 成步驟40 2-4 08。
第19頁 4 4541 Π 五、發明說明(15) 如CAM裝置1〇〇接收的該下一個指令為步驟41〇中的一個 OHPM指令,則CAM裝置1 〇〇於步驟41 2中僅詢問該等MMR位 元’以判定該次最高優先匹配位址。CAM裝置1 0 0可藉比較 該等MMR位元和一個邏輯壹的值詢問該等龍r位元,以判定 該次最高優先匹配位址。無需比較該比較資料和C A Μ陣列 104(和/或有效位元log)。接著該等龍^位元更新匹配線 113,並重複步驟406-408。可重複步驟406-412,直到用 盡所有的匹配位置。如於該啟始比較指令之後接收的該指 令不是一個RNHPM指令、但為另一個比較指令(步-驟416), 則該處理折返至步驟404,並更新該等MMR位元以相對應至 該等新的匹配結果。然而,如該下一個指令既非一個比較 指令,亦非一個RNHPM指令,則CAM裝置100於步驟414執行 該下一個指令,並仍能夠執行一隨後的RNHPM指令,因只 有比較指令影響該等MMR位元。於選擇性的體系中,如該 隨後的指令變更,呈遞無效,或旗標如將"儲存於先前指 為包含與步驟4 0 2該啟始比較指令該比較資料匹配的資料 之該等CAM單元中"的該資料"跳位”,則可將該等位置的該 等MMR位元清除成邏輯零。 圖5說明執行比較和Μ HPM指令一較詳細流程圖·的一個體 系,其中可由如圖2中例證說明的CAM裝置1〇〇和CAM 102執 行之。將藉®6和圖7中所示該等例證說明之時序圖的協 助,並參考圖1和圖2說明該處理。步驟502-512說明圖6中 例證說明的該比較指令,步驟51 4-522例證說明圖7中例證 說明的該RNHPM指令。
第20頁
4 45 d 1 Ο 五、發明說明(16) 於步驟5 0 2和時間tO,指令解碼器128接收和解碼IBUS 1 4 0上的該比較指令’以回應C L K 1 7 8該一個時計循環的啟 始。為了於時間11 (或在時間0和t1之間)回應該比較指 令,指令解碼器1 2 8,可傳遞匯流排1 5 9上一個或多個信號 (未於圖6中顯示),以指示CAM裝置100已接收一比較指 令β匯流排1 5 9上的該(等)信號可以為一個脈衝信號’於 任意適當的時間長維護或不維護該(等)信號。為了回應, 時序產生器126可於時間tl傳遞線160上的一個信號,以便 將CBUS上的該比較資料載入比較暫存器120中。—如先前所 述,該比較資料可選擇性地不載入比較暫存器1 2 0中,而 直接和CBUS 138中的CAM陣列1〇4比較。 … 於步驟504,該比較指令亦導致CAM裝置100於該比較循 環開始時將該等MMR位元重設成一個邏輯零。可於時間11 將線165上的MMR一RESET設定成一個高階狀態、將一個邏輯 零(如線171上的資料)提供給寫入電路121、並將線180上 的該MMRWD信號跳動至(或設定成)一高階狀態以達成此。 將線1 65上的MMR—RESET跳動至一高階狀態,導致MMR字元 線產生區塊2 52將每一個MMR CAM單元250的MMRWLs 2 5 6驅 動成二個高階狀態’以便將BL 262上的該邏輯零(以及BLB 264上的邏輯一)寫入該等MMr CAM單元250中。當線165上 的MMR-RESETT折返至一邏輯零的狀態時,MMR字元線產生區 塊252抑制該等龍RWLs 2 56,以便MMR CAM單元2 50保留該 等邏輯零。 於步驟506 ’該比較資料接著和CAM陣列104中的一個成
第21頁 4454 1 〇 五、發明說明(17) 多個CAM單元比較,同時遮蔽該等MMR位元以不致影響該比 較。可於該比較操作期間,藉時序產生器126將MSKVBIT驅 動成線1 64上的一高階狀態,以達成該等MMR位元的遮蔽。 為了回應線1 64上的該高階狀態,MMR比較暫存器2 5 8將CL 2 66和CLB 268驅動成適當的狀態,以遮蔽該比較中的MMR CAM單元2 50 (例如,CL和CLB兩者均為低階的)。 於時間12,由匹配閂鎖11 4栓住匹配線1 1 3上該等匹配的 結果’以回應線1 7 2上的一個信號。例如,線1 7 2上的該信 號可以為一自動定時的信號或一時計信號(如CLK 1 78或一 與其相關的導數)。該等閂鎖匹配信號和優先編碼器n 6耦 合。接著,時序產生器於時間t3將線174上的一個信號-傳, 遞給信號優先編碼器11 6,以啟始編碼該閂鎖匹配線資 料°選擇性地’無需線174上的信號,且優先編碼器116即 刻啟始編碼該閂鎖匹配線資料。接著,優先編碼器丨丨6判 定是否有一個匹配,並輸出線148上的匹配旗標信號 /MF INT和線1 50上的一多重匹配信號/MMF。優先編碼器116 亦從匹配閂鎖1 1 4輸出的該等匹配結果判定該最高優先匹 配位址。於時間t4 ’可將優先編碼器1 1 6的該等輸出栓入 位址閃.鎖1 1 8中’以回應線1 7 6上的一個信號。亦將優先編 碼器116的該等輸出提供給匯流排146、輸出多工器丨34及 狀態暫存器1 3 2。就一個選擇性的體系而言,將優先編碼 器116的該輸出提供給匯流排162 ’而無需由位址問鎖Tig 栓住該輸出。接著,可於該時計循環結束前(例如時間t 9 之剞)’將該最南優先匹配位址輸出給A D S B U S 1 4 2。
第22頁 445 41Q_ 五、發明說明(18) 接著,該比較操作使儲存於CAM陣列1 04該(等)一個或多 個CAM單元中的資料能夠於該等相同或隨後的時計循環期 間輸出給ADS BUS 142。可於時間t5 ,藉時序產生器126維 護線1 6 6上的一個信號,使位址選擇器1 1 〇將該最高優先匹 配位址提供給位址解碼器11 2以達成之。接著,位址解碼 器1 1 2可將該解碼的位址提供給CAM陣列1 04,以於時間t6 回應線168上的一個信號。選擇性地,可無需線上的一 個信號。接著,CAM陣列104可存取CAM陣列104中該最高優 先匹配位址,並可讀出CAM陣列1 04(和/或有效位元和/或 MMR位元106)的一個或多個CAM單元中選取的資料' 且經由 感應放大器122將該選取的資料提供給輸出多工器134和_狀 態暫存器132。可於時間t8致能感應放大器122,或由線 170上的一個信號栓住感應放大器丨22的輸出。可將該選取 的資料健存於一個CAM單元、CAM單元群組和/或未參與該 先前搜尋的CAM單元中。接著,可於時間t9之前經由輸出 多工器1 3 4 ’將匯流排1 4 6上該最高優先匹配位址、匯流排 152上CAM陣列104中的該資料(和/或該等有效位元,該等 MMR位元’和/或其它的狀態資訊)輸出給ADS BUS 142(步 驟510 和512)。 於步驟5 0 8和圖6中例證說明的該比較指令結束時,將以 一個邏輯壹威入該等所有相對應至CAM陣列1 〇4中匹配位置 的MMR CAM單元250(除了該最高優先匹配位置之外)。可將 MMR_RESET設定成線165上的一個低階狀態、提供線丨71上 邏輯壹的資料給寫入電路121、並於時間t7將線180上的
第23頁 44541 0_;______ 五、發明說明(19) MMMD跳動至一高階狀態以達成此。每—個MMR CAM單元 2 50的MMR字元線控制邏輯252將導致維護其相關聯的MMRWL 2 5 6,且從BL 2 6 2中寫入該高階資料如:(1 )MMR_RESET為 低階的;(2 )如線2 54上該栓住的匹配閂鎖資訊所示,該 CAM單元202列有一個匹配;及(3)未將該匹配的CAM單元列 該相對應的字元線208設定成一高階邏輯狀態。當於該比 較操作結束時,將字元線20 8設定成一給定CAM單元列的一 高階邏輯狀態時,則該單元列為該最高優先匹配位置。如 是,將不會以一個邏輯壹更新該最高優先匹配彳立置相關聯 的MMR CAM單元2 50,以便隨後的RNHPM指令可僅藉詢問該 等MMR位元以判定該次最高優先匹配位址。將以寫入電路 121提供的一個邏輯壹的狀態,更新該等剩餘的〇尺CAM單 元250 ’其中該等剩餘的關尺CAM單元250和CAM單元202列 相關聯’且具有匹配該比較資料的資料。 如圖6中所示,可於CLK 1 78的一個時計循環中,藉CAM 裝置10G完成步驟502-512。選擇性地,可於數個時計循環 上完成該比較指令β 現在可藉CAM裝置1〇〇執行一隨後的指令β如該隨後的指 令並非如步驟51 0所判定的為一RNHPM指令,則c_AM裝置1〇〇 於步驟524判定該下一個指令是否為一個比較指令。如該 下一個指令為一個比較指令,則該處理折返至步驟5 〇 4。 然而’如該下一個指令既非一個RNHPM指令,亦非一個比 較指令’則執行該指令而無需如一般地影響該等MMr位元 ’以便可僅藉詢問該等MMR位元執行隨後接收的RNHPM指令
第24頁 445410 五、發明說明(20) 。如該下一個指令如步驟51 4所判定的為一個RNHPM指令, 則執行步驟516-522。圖7中所示步驟516-522的一個體系 ,其中可於CLK 178 —單一的時計循環中執行該等步驟。 於時間tO,在IBUS U0上將該RNHPM指令提供給指令解 碼器1 2 8。為了回應,指令解碼器將線1 5 9上的一個信號 (未顯示)傳遞給時序產生器126,指示該指令為一個RNHPM 指令,並導致時序產生器126產生該等以下的信號。為了 回應該RNHPM指令,時序產生器126於步驟516將導致線164 上的MSKVBIT為低階的,以便分別將CL 2 6 6和CLB 2 68驅動 成高階狀態和低階狀態,且該等MMR CAM單元2 50和一個邏 輯壹比較。於匹配線2 0 4上反映該比較的該等結果。注戈、 ’於該RNHPM指令期間,將不再比較該等cam陣列單元1 〇4 、和/或該等有效位元108與該比較資料(即例如藉一個傳 遞給比較暫存器120或一個遮蔽暫存器的信號遮蔽的);反 之僅該專MMR CAM早元250需和一個邏輯壹比較,以判定 CAM陣列1 〇4中哪一個CAM位置具有該次最高優先匹配位 置。 於時間tl,匹配閂鎖114栓住MMR CAM單元250產生的該 等匹配_結果,以回應線1 72上的一個信號。該等問鎖的匹 配信號和優先編碼器116耦合。接著,時序產生器126於時 門12將線1 7 4 1的一個信號傳遞給信號優先編碼器1 1 6,以 啟始編碼該閂鎖的匹配線資料。選擇性地,無需°線丨74上 =信號,f優先編碼器U 6即刻啟始編碼該閃鎖的匹配線 料接著’優先編碼器11 6判定是否有一個匹配’並輸
第25頁 4454 1 Ο 五、發明說明(21) 出線148上的該匹配旗標信號/mfi NT和線150上的該多重匹 配信號/MMF。優先編碼器11 6亦從匹配閂鎖丨丨4輸出的該等 匹配結果判定該最高優先匹配位址。現在,該等MMR CAM 單元250的最高優先匹配位置為與步驟502-512中執行的該 啟始比較指令相關聯的該次”高最優先匹配位置。於時間 t3,可將優先編碼器116的該等輸出栓入位址閂鎖118中, 以回應線1 7 6上的一個信號D亦將優先編碼器的該等輪出 提供給匯流排1 4 6、輸出多工器1 34及狀態暫存器1 3 2。就 一個選擇性的體系而言,將優先編碼器丨丨6的該輸出提供 給匯流排1 6 2 ’而無需由位址閂鎖11 8栓住該輸出。接著, 可於步驟5 1 8、該時計循環結束前(例如時間18之前將 該最高優先匹配位址輸出給ADS BUS 142。 接著,該RNHPM操作使儲存於相對應至該目前最高優先 匹配位置的CAM陣列1〇4(及/或有效位元1〇8)之CAM單元中 的資料能夠於步驟5 2 0、在該相同或隨後的時計循環期間 輸出給ADS BUS 142。可於時間t4,藉時序產生器126維護 線1 66上的一個信號’使位址選擇器1丨〇將該最高優先位址 提供給位址解碼器1 1 2以達成此。接著,位址解碼器丨1 2可 將該緩碼的位址提供給C AM陣列1 〇 4,以於時間15回應線 1 68上的一個信號。選擇性地,可無需線丨68上的一個信 號。接著,CAM陣列1〇4可存取CAM陣列1〇4中該最高優先匹 配位址,並可讀出選取的資料,且經由感應放大器丨22將 選取的資料提供給輸出多工器134和狀態暫存器132。可於 時間t7致能感應放大器122,或由線170上的一個信號栓住
第26頁 445 4 1 Ο 五、發明說明(22) 感應放大器122的輸出。可將該選取的資料儲存於一個CAM 單元、CAM單元群組和/或未參與該先前搜尋的CAM單元 中。接著’可於時間t8之前經由輸出多工器1 34,將匯流 排1 46上該最高優先匹配位址、匯流排1 52上CAM陣列1 04中 的該資料(和/或該等有效位元,該等龍R位元,和/或其它 的狀態資訊)輸出給ADS BUS 142。 於步驟522和圖7中例證說明的該RNHPM指令結束時,以 一個邏輯零載入該最高優先MMR CAM單元250,指示其不再 保留該最高優先匹配資訊(因已從CAM裝置中―讀出)。可 將MMR —RESET設定成線165上的一個低階狀態、將線171上 的邏輯零資料提供給寫入電路丨2 1、並於時間16將線丨上 的MMRWD跳動至一高階狀態以達成此。該最高優先MM]R 〇αμ 單tl25 0的MMR字元線控制252 ’將導致維護其相關聯的 MMRWL 25 6,並從BL 2 62中寫入該邏輯零資料。 如圖7中所示,可於CLK 1 78的一個時計循環中藉CAM裝 置100元成步驟516-522。選擇性地,可於數個時計循環上 完成該RNHPM指令。 圖6和圖7中由時序產生器126產生之該等信號間的時間 差異,-足以允許該等上述操作在預期的、特有的或指定的 處理、溫度及供應電壓範圍下適當地作用。就一個體系而 言,該CLK 178的時計執行期間(即t9_t〇)約可為25毫微秒 (ns),該持續的最大搜尋率約可為每秒4〇百萬次搜尋。將 察知CAM裝置100可執行較快或較慢的時計頻率和搜尋率。 時岸產生器126產生的該等信號,於圖δ和圖7中係以脈
第27頁 44541ο 五、發明說明(23) 衝信號顯示。就選擇性的體系而言,產生一個信號的一個 增強或減低端,而非產生一個脈衝信號。亦可程式化或調 整該等脈衝信號,使具有任意脈衝寬。 時序產生器126可以為任意的時序產生器電路,於該等 適當的時間在線 160,164,165,166,168,170,1Ή , 172,174 ’176和180上產生該等信號。時序產生器W6可 包括控制邏輯,產生該等其中一個或多個信號以回應一個 或多個時計信號。就一個體系而言,該控制邏輯可以為一 個脈衝產生器電路。可藉一連串的延遲元件延遲該控制邏 輯產生的該等脈衝信號,以於線160,164,165,166, 1 68,170,171,172,174,176 和180 上產生該等信號Ί 該等延遲元件可包括例如電阻器,電容器,電晶體通行 間’反向緩衝器和/或非反向緩衝器。每一個延遲元件亦 可包括—可程式化的元件,使一使用者或製造商能夠設計 該等每一個延遲元件的該延遲和/或脈衝寬,以便於該等 適當的時間在線 160,164,165,166,168,170,171, 172 ’174,176和180上產生該等脈衝。 就一個選擇性的體系而言’該控制邏輯或其它的時計電 路可於_不同的時間產生多個信號,且時序產生器IK可包 括電路,其今擇性地使該等每一個時計信號在該等適當的 時間和線160,164,165 ,166,168,170,171 ,172 ’ ' 174,176 和 180 耦合。 又就另一個體系而言,CAM裝置100可包括時計電路,產 生一個具有H n X該CLK 1 78的頻率"之頻率的時計信號,
第28頁 ^454 1 〇 五、發明1¾明(24) " — — 其中η大於1。時序產生器126可以為一個狀態機器或計數 器,一旦該時計電路產生該時計信號的每一個時計循環 時,即連續地在線160,164 ’ 165 , 166 ’ U8 ’ 170 , >172 ,174,176和180上產生該等信號。 再就另一個體系而言,時序產生器126可包括一時計產 生器和拴鎖。該時計產生器可產生一個或多個時計信號, 以回應CLK 1 78。該等時計信號可以為脈衝信號或端轉 換,而且可以為任意脈衝寬。接著,可將該等時計信號提 供給該等閂鎖(可為自動定時的閂鎖)的時計輸入,以於線 160 ’164 ’165 ’166,168,170,171,172,174,176 和 1 80上產生脈衝信號,以回應該時計產生器輸出之時計_信. 號所產生的時計信號。 將察知,可產生時序產生器丨2 6產生的該等信號,以回 應CLK 178的一個轉換或另一個内部的時計信號。亦將察 知時序產生器126產生的該等信號可選擇性地發生CLK ι78 之一個以上的時計循環。 圖8說明MMR字元線控制邏輯8〇〇,為圖2該MMR字元線控 制邏輯252的一個體系。MMR字元線控制邏輯包括反向器 802 ’反向器803 ’反及閘804,反向器806,反向器808, 傳輸或轉移閘_8 10和812,及反向器814。可利用其它體 系。反及閘804有一第一個輸入,經由反向器802和字元線 208的該邏輯元件耦合;一第二個輸入,和匹配閂鎖1丨4的 一輪出254耦和;及一輸出,和傳輸閘812的一輸入、反向 器806的該輪入耦合。傳輸閘812,其p-通道閘經由反向器
第29頁 4 4541 Ο 五、發明說明(25) 803和線165上該MM R_RESET的邏輯元件耦合;其η -通道閘 輸入經由反向器803和808和MMR_ RESET耦合;及其輸出端 經由反向器814和MMRWL 256耦合。傳輸閘810,其η -通道 閘經由反向器8〇3和該!111^_{^8£11的邏輯元件耦合;其0-通 道閘輸入經由反向器803和808MMR_RESET耦合;及一輸入 端經由反向器814和MMRWL 256耦合。圖9為圖8該邏輯的一 個真值表。可利用其它MMR字元線控制邏輯的體系。 圖11說明一 MMR CAM單元1100,為圖2 MMR CAM單元250 的一個體系。可利用其它體系e MMR CAM單元1 1 〇_〇包括一 個比較器Π 0 2和一個RAM單元Π 0 4。比較器1 1 〇 2包括相互 串聯輕合的通道電晶體1108和1110,η-通道電晶體11 〇8 和1110並於匹配線204和VREF線1132間輕合。電晶體Π08 的閘CL 26 6耦合,且電晶體m〇的閘和線1116耦合。比較 器11G2亦包括相互串聯耦合的η-通道電晶體丨112和1U4, η-通道電晶體1 π 2和1 1 1 4並於匹配線204和VREF 1 1 32間搞 合。電晶體1 11 2的閘和CLB 2 68耦合,且電晶體1 1 1 4的閘 和線Π1 8耦合。VREF線11 32可以為接地的或另一個電位。 匹配線204亦可經由一上拉電晶體1106和一電源供應電壓 VDD^会’以便當無匹配發生時,匹配線2〇4維持在一高階 狀態。 RAM單元π 04包括兩個交互耦合的互補式金氧半導體 (CMOS)反向器。該第一個反向器包括卜通道電晶體丨丨2〇, 於^通道電晶體Π 24和p-通道電晶體1118間串聯耦合。啰 第二個反向器包括P-通道電晶體1128,於〇_通道 /
第30頁 α 45 4 1 Ο 五、發明說明(26) Π 36和ρ-通道電晶體1 1 26間串聯耦合。電晶體1 1 20和1 128 的該等問經由反向器1134和該MMRWD的邏輯元件耦合。於 一寫入RAM單元1 1 0 4的操作期間,MMRWD 1 8 0將隔絕電晶體 1120和1128。於一選擇性的體系中,可省略電晶體1120和 1128。該第一個反向器的輸入和線nig耦合,且該第一個 反向器的輸出和線1118、該η -通道電晶體1丨22的源極(吸 極)耦合。該電晶體1122的吸極(源極)和bl 262耦合,且 該電晶體1122的閘和MMRWL256耦合。該第二個反向器的 輸入和線1118耦合’且該第二個反向器的輸出和線1116、 該η -通道電晶體1130的源極(吸極)耦合。該電晶體η”的 吸極(源極)和BLB 264耦合,且該電晶體丨〗3〇的閘和龍玉孔 2 5 6耗合。 圖12說明MMR比較暫存器12〇〇 ’為圖2MMR比較暫存器258 的一個體系。可利用其它體系。MMR比較暫存器丨2 〇 〇包括 反及閘1206,有一第一個輸入和一電源供應電壓V])D(即一 個邏輯壹的狀態)耦合;一第二個輪入經由反向器12〇2和 該MSKVMT 164的邏輯元件耦合;及一輸出經由反向器 1210和CL 266耦合。MRM比較暫存器12〇〇亦包括反及閘 1208 ’ .有一第一個輸入經由反向器12〇4和該的邏輯元 件(即-低階狀態)耦合;一第二個輪入經 該164的邏輯元件耗合;及一輸出經由 1212 和CLB 268 耦合。 資 /圖13說明寫入電路1300 ’為圖2寫入電路ΐ2ι的一個 系。寫入電路13 0〇包括反及間13〇2,有一第一個輸入
第31頁 445410 五、發明說明(27) 料(DATA)171柄合’ 一第一個輸入和MMRWD 180耗合;及一 個輸出和該p -通道電晶體1308的閘耦合。寫入電路13〇〇亦 包括反及閘1304,有一第一個輸入和MMRWD 180耦合;一 第一個輸入和DATAB輕合(該DATA 171的邏輯元件);及一 輸出經由反向器1306和該η-通道電晶體1310的閘耦合。電 晶體1 3 0 8和1 31 0於電源和接地間串聯耦合,且其吸極端和 BL 262、BLB 264耦合(經由反向器1312)。就一個選擇性 的體系而言,可利用寫入電路13〇〇驅動BL 2 6 2,並可利用 另一個寫入電路驅動BLB 264。該用以驅動BLB 2上4的其它 電路’可和電路1300類似,除了以該反及閘1302的第一個 輸入接收DATAB、該反及閘1 3〇4的第二個輸入接收DATA—及. BLB 262連接至電晶體1308和1310的該等吸極(沒有反向器 1 3 1 2)之外。 圖1 0說明圖4中例證說明的該處理之另一個體系丨〇 0 〇, 其中CAM 100可執行比較和RNHPM指令。處理1〇〇〇和圖5的 處理5 0 0類似’除了以下不同之外:(1 )未於該啟始比較指 令結束如將該最高優先匹配位置設定成—個邏輯零的狀 悲,及(2)當將—rnhpm指令解碼時,於該等MMR位元和一 個邏輯-壹狀態比較之前,首先將一先前比較或RN.HPM指令 中的該最鬲巧先匹配位置設定成一個邏輯零的狀態。 於步驟1〇〇2,指令解碼器128接收和解碼1 140上的 該比較指令,以回應CLK 178該一時計循環的啟始。為了 回應該比較指令,指令解瑪器1 2 8可傳遞匯流排1 5 9上一個 或多個信號’以指示CAM裝置100已接收一比較指令。為了
第32頁 4454 1 Ο 五、發明說明(28) 回應’時序產生器1 2 6可傳遞線1 6 0上的一個信號,以便將 CBUS 1 38上的比較資料載入比較暫存器1 2〇 _。如先前所 述’該比較資料可選擇性地不載入比較暫存器120中,但 可直接和CBUS 1 38中的CAM陣列1 04比較。 該比較指令亦導致CAM裝置1〇〇於步驟1004、於該比較循 環開始時將該等MMR位元重設成一個邏輯零β如上所述, 將線1 6 5上的MMR—RESET設定成一個高階狀態、將一個邏輯 零(如線171上的資料)提供給寫入電路121、並將線180上 的該MMRWD信號跳動至(或設定成)一高階狀態以達成此。 於步驟1006 ’該比較資料接著和CAM陣列104中的一個或 多個CAM單元比較,同時遮蔽該等MMR位元以不致影響該比 較。可於該比較操作期間,藉時序產生器126將MSKVBIT驅 動成線164上的一高階狀態,以達成該等位元的遮蔽。 為了回應線164上的該高階狀態,MMR比較暫存器258將CL 266和CLB 268驅動成適當的狀態,以遮蔽該比較中的龍r CAM單元250(例如,CL和CLB兩者均為低階的)。 由匹配閂鎖1 1 4栓住匹配線11 3上該等匹配的結果。該等 閂鎖匹配信號和優先編碼器11 6耦合,以判定是否有一個 匹配,並輸出線148上的匹配旗標信號/MFI NT和線1 50上的 一多重匹配信號/ Μ M F。優先編碼器1 1 6亦從匹配閂鎖11 4輸 出的該等匹配結果判定該最高優先匹配位址。亦將優先編 碼器116的該等輪出提供給匯流排146、輸出多工器134及 狀態暫存器1 3 2。就一個選擇性的體系而言,將優先編碼 器1 1 6的該輸出提供給匯流排丨6 2,而無需由位址閂鎖丨! 8
第33頁 4454 1 〇 五、發明說明(29) 检住該輸出。於步驟1008 ’可接著於該比較指令的時計循 環結束前,將該最高優先匹配位址輸出給ADS BUS 142。 接箸於步驟1 〇 1 〇 ’該比較操作使儲存於相對應至該最高優 先匹配位置的CAM陣列104該(等)一個或多個CAM單元中的 資料能夠於該相同或隨後的時計循環期間輸出給A D S B U S 142(例如,如就圖5的步驟512所述)。 於步驟1 0 1 2和該比較指令結束前,將以一個邏輯壹將該 等所有相對應至CAM陣列104中匹配位置的MMR CAM單元250 載入,以回應MMR_RESET,將線171上提供的邏輯壹資料給 寫入電路121,並將線180上的MMRffD跳動至一高階狀態。 如是可變更圖8中所示的該邏輯以執行步驟1〇12。 …' 可於CLK 178的一個時計循環中藉CAM裝置100完成步驟 1 00 2-1 012。選擇性地’可於數個時計循環上完成該比較 指令。 現在可藉CAM裝置1〇〇執行一隨後的指令。如該隨後的指 令並非如步驟1014所判定的為一rnHPM指令,則CAM裝置 1 00於步驟1 〇 20判定該下一個指令是否為一個比較指令。 如該下一個指令為一個比較指令,則該處理折返至步驟 1 0 04。-然而’如該下一個指令既非一個RNHPM指令,亦非 一個比較指言,則執行該指令而無需如—般地影響該等 MMR位元,以便可僅藉詢問該等MMR位元執行隨後接收的 RNHPM指令。如該下一個指令為一個RNHPM指令,則處理 1000轉換至步驟1016,其中將ibuS 140上提Ί共的一個 RNHPM指令給指令解碼器128。為了回應,指令解碼器將線
第34頁 44541 Ο 五、發明說明〔30) 159上的一個信號傳遞給時序產生器126,指示該指令為一 個RNHPM指令。為了回應該RNHPM指令,MMR字元線控制邏 輯252將該先前比較指令中該最高優先MMR CAM單元250設 定成一個邏輯零的狀態。接著於步驟1018,C AM裝置1〇〇將 MMR CAM單元250中的該等MMR位元和一個邏輯壹比較,以 判定該次最高優先匹配位置。注意,於該RNHPM指令期 間,將不再比較該等CAM陣列單元104、和/或該等有效位 元1 0 8與該比較資料(即例如藉一個傳遞給比較暫存器1 2 0 或一個遮蔽暫存器的信號遮蔽的);反之,僅該等龍r CAM 單元2 5 0需和一個邏輯壹比較,以判定CAM陣列1 0 4中哪一 個CAM位置具有該次最高優先匹配位置。接著,該處理重 複步驟1 0 08- 1 0 1 2以完成該RNHPM指令,並將該次最高優先 匹配位址、儲存於該等匹配位址上一個或多個CAM單元中 的資料和/或狀態資訊輸出給ADS BUS 142。 可對隨後的RNHPM指令完成步驟1014-1018和1008-1012 ’直到CAM裝置1〇〇中無更進一步的匹配存在為止。可於 CLK 178的一個時計循還中藉CAM裝置100完成步驟 1014-1018和1008-1012。選擇性地,可於數個時計循環上 完成譎RNHPM指令。 CAM裝置1〇〇亦可包含於一具有多重CAM裝置、並以一深 度串級的架構連接之CAM系統中。深度串級的CAM裝置有效 地導致產生一具有較多記憶體位置數的CAM裝置。 圖1 4說明一 C A Μ系統1 4 0 0,包括兩個以一深度串級架構 互聯的CAM裝置1402和1404。如圖14中所示,可深度串級
第35頁 445410 ---- '~~* -—-___ 五、發明説明(31) 任意個CAMs。系統1400的總記憶體大小可大於每一個^心 1 4 0 2和1 404其個別的大小。例如’如每—個CAM裝置均為 一4k X 64的CAM裝置’則系統1 4 0 0可操作如一個μ χ 64 的CAM裝置。本發明中可使用任何大小的CAM裂置。同時, 可將不同寬度的CAMs串級在一起。此外,可由獨立的CAM 裝置形成系統1400 ’或可由一共用基座上的積體電路形成 系統1 4 0 0。 每一個CAM裝置從CBUS 138中平行地接收時計信號CLK 178、比較資料,並從IBUS 140中接收指令。就選^性的 體系而言’CBUS 138和IBUS 140可以為相同的匯流排。亦 可同時將其它的輸入信號提供給每一個CAMs 1 4 02和. 1 404 ’包括字元致能信號’重設信號,晶片致能信號…等 卓°CAMs 1402和1404亦可將資料輸出給ads bu§ 142。每 一個CAM裝置1402和1404可包含如或圖1和/或圖2中所示的 該電路’以便每一個CAM裝置可於一個或‘多個時計循環中 執行該RNHPM指令。 < 為使CAM裝置1 40 2和1404判定哪個裝置應將位址、資料 和/或狀態負訊傳遞給ADS BUS 142,以回應同時提供給兩 個裝置.nCAM裝置1 4 0 2 和1 404 h的一個RNHPM指令,-故每一個 CAM裝置1402_和1 404均包括一個匹配旗標向下輪入接腳 /MFDI ’ 一個匹配旗標向下輸出接腳/MFD〇,一個多重匹配 旗標輸出接腳/MMFO及一個多重匹配旗標輸入接腳/MMFI。 通常’每一個CAM裝置的/MF DO輸出接腳和該下一個裝置的 /MFDI接腳輕合’ /MMF0輸出接腳和該下一個裝的ujfi接
第36頁 445410 五、發明說明(32) 聊耦合。該名詞'·下一個裝置M意指具有和該目前裝置相關 的該等次低優先位址之該CAM裝置。例如’ CAM 1 40 4可為 CAM 1 4 02的該”下一個裝置"。 藉使CAM 1 402的/MFDI輸入接腳和一電源供應VDD耦合, 以將CAM 1402指定為該最高優先CAM裝置。該最高優先CAM 裝置1 4 02可具有該等最低實體位址,例如從〇到X,且CAM 1 404可具有位址X+1到N,其中系統1 400有一總數為N、可 用以儲存的CAM字元。就選擇性的體系而言,CAM 1 402可 具有該等最低優先位址,且CAM 140 4可具有該等最高優先 位址。 就大體而論,可將一啟始比較指令同時提供給系統14 0 0 中的每一個CAMs 1 402和1 40 4,且每一個CAM裝置比較11該 比較資料"和"儲存於其CAM陣列中的該資料M。假設兩個 CAM均有一個或多個匹配位置,則最初CAM 1402將資料輸 出給ADS BUS 142,因CAM裝置1 4 02為該最高優先裝置》當 產生一隨後的RNHPM指令給兩個CAMs時,則如CAM裝置1402 仍有一個匹配位置時,則CAM 1402利用其MMR位元設定CAM 1 4 0 2 (和系統1 4 0 0 )中該次最高優先匹配位置,並將該次最 高優先匹配位置的該匹配位址、資料和/或裝態資訊輸出 給ADS BUS 142。CAM 1404分別監督線1406上其/MMFI和 ;/MFDI輸入,以判定何時將禁止其控制ADS BUS 142 »當 /MMF I轉換成一高階狀態、且/MF D I處於一低階狀態以回應 該MHPM(或啟始比較)指令時’則CAM 1404知道CAM 1402 目前正將資料從該上一個留在CAM 1402中的匹配位置中輸
第37頁 4 45 4 1 Ο 五、發明說明(33) 出給ADS BUS 142。如是,CAM 1 404將知道當從IB11S 140 中接收一隨後的RNHPM指令時,則CAM 1404可控制ADS BUS 142 ° 圖15為CAM裝置1 404(和CAM 1402)的一個體系。CAM 1 404為包括串級邏輯1 50 2的CAM裝置100。串級邏輯1 5 0 2使 CAM裝置1402和1404能夠知道哪個CAM裝置可控制ADS BUS 142以回應一RNHPM指令。串級邏輯1 502從指令解碼器128 中接收/MFDI 1408 ,/MFINT 148 ,/MFDO 1410及RNHPM 1512。RNHPM 1512為一個信號,指示"當一 RNHP勒指令已由 CAM 1404接收時n。串級邏輯1 50 2亦產生RDSTS 1508和 INHIBITB 1514 » RDSTS 1 5 0 8 為一個信號,指示”當CAM 1 404應從狀態暫存器1 32、而非直接從例如優先編碼器11 6 中讀取該次最高優先匹配位址時"。I NH i B〗1 51 4為一個 fs號’禁止該等MMR位元106和一個邏輯壹的比較:(1)CAM 1404第一次執行該RNHPM指令(且未於CAM 1402中執行過該 RNHPM指令),及(2)於不具有該最高優先匹配位置的該等 CAM裝置中。將於下更詳細的說明RDSTS 1 5 0 8和INHIBITB 1514。
圖1 6例證說明圖14和圖1 5中例證說明的CAM 1 404其操作 之一個體系。每一個CAMs 1402和1404可藉以下提及的變 更執行圖4和圖5(或圖10)中所示的該等流程圖。於該例證 中,於時間t0產生一比較操作給兩個CAMs,且每一個CAM 裴置1402和1404判定其有兩個匹配位置。因CAM 1402具有 該等較高的優先匹配位置,故CAM 1 402將控制ADS BUS
第38頁 4 45 4 1 Ο 五、發明說明(34) 1 4 2,並於循環1結束前將其匹配位址輸出給A D S B U S 142。然而,每一個CAM將更新其MMR位元以反映哪些CAM陣 列位置具有匹配位置。此外,如就上面圖5所述,於該比 較循環結束時,每一個CAMs 1 40 2和1 404中該最高優先匹 配位置的該等MMR位元將設定成一個邏輯零,同時該等其 它相對應至該等其它匹配位置的MMR位元將設定成一個邏 輯壹。於時間t2時,CAM 14 02亦將CAM 1 404的該等/MFDI 和/MMF I輸入接腳驅動成一低階狀態,指示CAM 1 402句具 有一個以上的匹配位置《即使CAM 1 404有兩個匹配位置 (/MFINT 148 低階),CAM 1404 將不控制ADS BUS 142,因 /MFDI 1408為低階的。串級邏輯1 5 0 2可傳遞線1 5 0 6上的一 個信號,抑制輸出多工器134將資料提供給ADS BUS 142 « 接著,CAMs 1 40 2和14 04於循環2時間t3時接收一個 RNHPM指令。此將導致於時間t4將RNHPM 1512維護成一高 階狀態;然而,因/MMFI 1406於該先前循環中為低階的, 故CAM 1 40 4知道CAM 1402至少有一個以上的匹配位置。如 是,串級邏輯1 5 02將1仰161丁6 1514維護為一低階狀態, 此將禁止時序產生器126將信號提供給該等不同的電路區 塊(例如圖6和圖7中所示的信號),以便CAM 1404不執行一 個RNHPM 指令一。於時間 t5,CAM 1 402 將CAM 1 404 的/MFDI 驅 動成一低階狀態,指示C Α Μ 1 4 0 2有一個匹配,亦將/ Μ M F I 1 406驅動成一高階狀態,指示CAM 1 402沒有任何更多的多 重匹配。於該循環之後,CAM 1404將不再有匹配位置《當 CM 1404偵測出/MFDI 1 408為低階的、且/MMFI 1 4 0 6為高
第39頁 445410 五、發明說明(35) 階的時,則CAM 1404的串級邏輯1502知道可由CAM 1404執 行該下一個RNHPM指令,因CAM 1402將不會有任何更進一 步的匹配位置。 當CAMs 1402和1404於循環3時間t6接收該下一個RNHPM 指令時,CAM 1 4 02沒有更進一步的匹配位置,且CAM 1404 可執行該RNHPM指令。回想圖5中例證說明的該處理之一個 結果,當每一個CAM裝置於循環1中接收一啟始比較指令 時,已將每一個CAM裝置中該最高優先匹配位置的該等MMR 位元設定成一個邏輯零。如是,當CAM 1 404能回應循環3 的該RNHPM指令時,則如CAM 1404將該等MMR位元_和一個邏 輯壹比較時,CAM 1404將不會判定其正確的最高優先匹配 位置。然而,可於循環1該啟始比較指令期間,將該最高 優先匹配位置的該匹配位置儲存於狀態暫存器1 32中,以 便現在可於循環3中存取該匹配位置,並將其輸出給ADS BUS 142。為達成此,串級邏輯1 502於循環3中將RDSTS 1 508維護成一高階狀態,此為CAM 1 404第一次能夠控制 ADS BUS 142以回應一個RNHPM指令。可將RDSTS 1508提供 給指令解碼器1 2 8,並可接著傳遞線1 5 0 4上的一個信號, 使輸出多工器1 34於時間t8之前將該匹配位址資訊從狀態 暫存器132中_輸出給ADS BUS 142。選擇性地,可直接將 RDSTS 1508提供給輸出多工器134,以選取狀態暫存器 1 32。亦可將儲存於CAM陣列1 04中該最高優先匹配位置相 關聯的CAM陣列1 04中該(等)一個或多個CAM單元中的資 料、和/或狀態資訊,健存於狀態暫存器1 3 2中’並於時間
第40頁 44541〇_ 五、發明說明(36) t8之前輸出給ADS BUS 142。同時注意,於CAM 1404執行 該第一個RNHPM指令期間,串級邏輯1 502繼續將INHIBITB 1 51 4維護為一低階狀態,以便不更新該等MMR位元。此將 使隨後的RNHPM指令藉著將該等MMR位元喻為一個邏輯壹, 而能夠正確地存取該次最高優先匹配位置。 接著’CAMs 1402和1404於循環4時間t8接收該下一個 RNHPM指令。CAMs 1 404將MMR位元和一個邏輯壹比較,並 於時間11 0之前,將該次最高優先匹配位址的該匹配位址 輸出給ADS BUS 142。接著,於時間tlO之前,將時間tlO 之前輸出之相對應至該次最高優先匹配位址的該腳R位元 更新成一個邏輯零,因串級邏輯1502將於循環4的該RNHPM 指令期間,將I Ν Η I B ITB 1 5 1 2維護為一高階狀態。 圖17為串級邏輯1700之一方塊圖,為圖15串級邏輯1502 的一個體系。當串級邏輯包含於CAM 1 404中時,串級邏輯 1 7 0 〇產生圖1 6中所示的該等信號。可利用其它體系。 串級邏輯1700包括反及閘1706,1712,1714和1726,反 或閘1722,問鎖1 7 28,1 718和1 7 20,及反向器1 704, 1708,1710,1716和1724 »反及閘1706,有一第一個輸入 經由反向器1704和/MFDI 1408的該邏輯元件耦合.;一第二 個輪入和/MMFI 1406耦合;及一輸出經由反向器1708和反 及閘1712的一第一個輪入耦合。反及閘1712,有一第二個 輸入經由反向器1710和/ MFINT 148的該邏輯元件耦合;及 —輸出經由反向器1716和閂鎖1718的該D輸入耦合。反及 閘1714 ’有一第一個輸入經由反向器171〇和/MFINT 148的
苐41頁 4 45 4 1 ο 五、發明說明(37) 該邏輯元件耦合;一第二個輸入和/MFDI 1 〇8耦合;及一 輸出和閂鎖1720的該D輸入耦合。反或閘1722,有一第一 個輸入和閂鎖1718的該Q輸出耦合;一第二個輸入和閂鎖 1720的該Q輸出耦合;及一輸出和ΙΝΗΙΜΤβ ι514耦合。反 及閘1726經由反向器1724卡住閂鎖1718和1720 »反及閘 Π26,有一第一個輸入和閂鎖1728的該q輸出耦合;及一 第二個輸入和PULSE_RR 1702耦合。PULSE_RR 1 702為一個 脈衝信號,可由一時計缓衝器或臨時性的電路產生,以回 應CLK 178。閂鎖1 728接收其D輸入上的RNHPM 1512,並由 PULSE — RR 1702 將其卡住。 _ 圖1 8說明匹配旗標向下輸出邏輯1 8 〇 〇的一個體系,可包 含於CAM 1500内(例如串級邏輯1502内)以產生/MF DO。可 利用其它體系。 匹配旗標邏輯1800可包括反及閘1802,反向器1804, 1806,1808 和 1810,PM0S 電晶體1812,及NM0S 電晶體 1814。就一個選擇性的體系而言,可省略反向器18〇4 , 1806,1808和1810。反及閘1802 ’其第一個輸入和線1408 上的/MFDI耦合;其第二個輸入和線148上的/MFINT耦合。 反及閘-1 802的該輸出,經由該等串聯連接的反向器1804和 1806和PM0S笔晶體1812的該閘輕合°反及間18〇2的該輸出 亦經由串聯連接的反向器1808和1810和NM0S電晶體1814的 該閘福合。PM0S電晶體1812其源極更進一步和VDD輕合, 且其吸極和線1816上的/MFD0耗合。NM0S電晶體1814其吸 極更進一步和線1816輕合,且其源極和接地耦合或近似零
第42頁 4454 1〇 五、發明說明(38) 伏特。如既不將/MFD I維護為一低階狀態,亦不將/MF I NT 維護為一低階狀態,則僅不將/MFDO維護為一高階狀態。 於前面的詳述中,已就本發明相關的特殊例證體系說明 本發明。然而,將顯見在未偏離本發明寬廣的精髓和範疇 下,可對本發明作不同的修正和變更。如是將該等詳述和 圖示視為一例證說明、而非限制性的意義。
第43頁

Claims (1)

  1. ^4541〇 六、申請專利範圍 ~ " ^ ~~ k 一種於一内容可定址記憶(CAM)裝置t存取該次最高 優先匹配位置之方法,包括: 比較資料和儲存於多個CAM位置中的資料,以判 定匹配結杲: 更新儲存於多個多重匹配CAM單元中的資料,以回應 該等匹配結果’其中每一個多重匹配CAM單元和一相對應 的CAM位置相關聯; 判定該等多個CAM位置的該最高優先匹配CAM位置;及 評估儲存於該等多重巴配以^單元中的該資料,以判 定該等多個CAM位置的該次最高優先匹配位置。一 2. 如申請專利範圍第1項之方法’其中產生比較,更新 和判定,以回應一第一個提供給該CAM裝置的指令。 3. 如申請專利範圍第2項之方法,其中於—單_的時計 循環中完成該第一個指令》 4·如申請專利範圍第2項之方法,其中產生該評估,以 回應一第二個提供給該CAM裝置的指令。 5. 如申請專利範圍第4項之方法’其中於一單一的時 循環中完成該第二個指令。 ' 6. 如申請專利範圍第1項之方法’其中更—新儲存於該 多個多重CAM_單元中的該資料包括: — 清除該等多重氐配CAM單元; 將和該比較資料匹配之該最高優先CAM位置相關聯、 該多重匹配CAM單元設定成一第一個邏輯狀態;及 的 將和該比較資料迟配之較低優先CAM位置相關聯的該
    第44頁 4454 1 〇 六、申請專利範圍 — 等多重匹配CAM單元設定成一第二個邏輯狀態。 7. 如申請專利範圍第6項之方法,其中評估儲存於該等 多重匹配CAM單元中的該資料,包括比較該等多重匹配 單元和該第二個邏輯狀態’以判定該等多個CAM位置的該 次最高優先匹配位置。 8. 如申請專利範圍第7項之方法’更進—步包括將該次 最高優先CAM位置相關聯的該多重巴配CAM單元設定成該第 一個邏輯狀態。 ^ 9. 如申請專利範圍第1項之方法,其中更新儲存於該等 多個多重CAM單元中的該資料,包括: 一 清除該等多重匹配CAM單元;及 ^ 將和該比較資料匹配之該等多個CAM位置相關聯的該 等多重匹配CAM單元設定成一第一個邏輯狀態。 人 夕1 〇.如申請專利範圍第9項之方法’其中評估儲存於該等 多重匹配CAM單元中的該資料,包括·· 將和該比較資料匹配之該最高優先CAM位置相關聯的 該多重匹配CAM單元設定成一第二個邏輯狀態;及 比較該等多重匹配CAM單元和該第二個邏輯狀態,以 判定該·等多個CAM位置的該次最高優先匹配位置。 11.如申請—專利範圍第10項之方法’更進一步包括將該 次最高優先CAM位置相關聯的該多重匹配CAM單元設定成該 第二個邏輯狀態. 1 2. —内容可定址記憶(CAM)陣列包括: —第一個CAM單元’與一匹配線和一第一個字元線輕
    44541ο 六、申請專利範圍 合; 一第二個CAM單元,與該匹配線和一第二個字元線耦 合;及 控制邏輯,與該第一個字元線,該第二個字元線和該 匹配線耦合,該控制邏輯控制該第二個CAM單元的存取。 13. 如申請專利範圍第12項之CAM陣列,更進一步包括一 和該控制邏輯耦合的重設線,該用以傳輸一重設信號的重 設線,使該控制邏輯將該第二個CAM單元重設成一預先決 定的狀態。 14. 如申請專利範圍第12之CAM陣列,其中該控_制邏輯包 括: - 一第一個邏輯電路,具有一第一個耦合的輸入,接收 該第一個字元線,一第二個耦合的輸入,接收該匹配線, 和一個輸出;及 一第二個邏輯電路,具有一第一個耦合的輸入,接收 一控制信號,一第二個輸入,和該第一個邏輯電路的輸出 耦合,及一個輸出,和該第二個字元線耦合。 15. —種内容可定址記憶(CAM)裝置,包括: 多-個列,每一列具有(1 )多個CAM單元,與一匹配線和 一第一個字尽線耦合,(2) —多重匹配CAM單元,與該匹配 線和一第二個字元線耦合,及(3 )控制邏輯,與該苐二個 子7L線叙合, 一寫入電路,和該等多重匹配CAM單元耦合,該寫入 電路提供欲寫入該等多重匹配CAM單元中的資料;
    第46頁 44541ο 六、申請專利範圍 一編碼器,與該等匹配線耦合;及 一解碼器,與該編碼器和該等第一個字元線耦合。 1 6.如申請專利範圍第1 5項之CAM裝置,更進一步包括一 比較儲存元件,與該等多個CAM單元列耦合,將該用以儲 存比較資料的比較儲存元件和儲存於該等多個列中的資料. 比較。 17. 如申請專利範圍第15項之CAM裝置,更進一步包括一 儲存元件,於該等匹配線和該控制邏輯間耦合。 18. 如申請專利範圍第15項之CAM裝置,更進一_步包括一 指令解碼器,和該寫入電路耦合。 19. 如申請專利範圍第18項之CAM裝置,更進一步包括串 級邏輯,和該指令解碼器耦合,將該串級邏輯架構成禁止 評估儲存於該等多重匹配CAM單元中的資料,以回應一匹 配旗標輸入信號和一多重匹配旗標輸入信號。 2 0.如申請專利範圍第16項之CAM裝置,更進一步包括: 一指令解碼器,與該寫入電路耦合;及 一時序產生器,與該指令解碼器和該比較儲存元件耦 合。 21.如申請專利範圍第15項之CAM裝置,其中該控制邏輯 包括: ^ 一第一個邏輯電路,具有一第一個輕合的輸入,接收 該第一個字元線,一第二個耦合的輸入,接收該等匹配 線,和一個輸出;及 一第二個邏輯電路,具有一第一個耦合的輸入,接收
    第47頁 α 45 4 1 Ο 六、申請專利範圍 /控制信號,一第二個輪入,和該第一個邏輯電路的輸出 耦合,及一個輸出’和該第二個字元線耦合。 22. —種内容可定址記憶(CAm)裝置,包括: 用以比較比較資料和儲存於多個CAM位置中的資料, 以判定匹配結果之裝置: 用以更新儲存於多個多重四配CAM單元中的資料,以 回應該等匹配結果之裝置,其中每一個多重匹配CAH單元 和一相對應的C A Μ位置相關聯: 用以判定該等多個CAM位置的該最高優先匹配^ AM位置 之裝置;及 用以評估儲存於該等多重匹配以}^單元中的該資料—. 以判定該等多個CAM位置的該次最高優先匹配位置之裝 置。 23. 如申請專利範圍第22項之c am裝置,其中該用以更新 儲存於該等多個多重CAM單元中的該資料之裝置,包括: 用以清除該等多重匹配CAM單元之裝置; 用以將和該比較資料匹配之該最高優先CAM位置相關 聯的該多重匹配CAM單元設定成一第一個邏輯狀態之裝 置;及 用以將七該比較資料匹配之較低優先CAM位置相關聯 的該等多重匹配CAM單元設定成一第二個邏輯狀態之裝 置。 2 4,如申請專利範圍第23項之CAM裝置,其中評估儲存於 該等多重E配CAM單元中的該資料,包括用以比較該等多
    第48頁 44541〇 六、申請專利範圍 重匹配CAM單元和該第二個邏輯狀態,以判定該等多個CAM 位置的該次最高優先匹配位置之裝置。 25.如申請專利範圍第24項之CAM裝置,更進一步包括用 以將該次最高優先CAM位置相關聯的該多重匹配CAM單元設 定成該第一個邏輯狀態之裝置。 2 6.如申請專利範圍第22項之CAM裝置,其中該用以更新 儲存於該等多個多重CAM單元中的該資料之裝置,包括: 用以清除該等多重匹配CAM單元之裝置;及 用以將和該比較資料匹配之該等多個CAM位置相關聯 的該等多重匹配CAM單元設定成一第一個邏輯狀i之裝 置。 :27‘如申請專利範圍第26項之CAM裝置,其中該用以評估 儲存於該等多重匹配CAM單元中的該資料之裝置,包括: 用以將和該比較資料匹配之該最高優先CAif位置相關 聯的該多重匹配CAM單元設定成一第二個邏輯狀熊之裝 置;及 u ^ 用以此較該等多重匹配CAM單元和該第二個邏輯狀 〜 以判疋該等多個CAM位置的該次最南優先匹配位置之 裝置。… 2 8.如申請—專利範圍第27項之CAM裝置,更進一步包括用 以將該次最高優先CAil位置相關聯的該多重匹配CAM單元設 定成該第二個邏輯狀態之裝置。 29. ~深度串級的内容可定址記憶(CAM)系統,包括: —第一個CAM裝置’具有一多重匹配旗標輸出;及
    第49頁 4454 1 Ο 六、申請專利範圍 一第二個cam裝置,具有一多重匹配旗標輸入,和該 第一個cam $置該多重匹配旗標輸出耦合。 30·如申請專利範圍第29項之CAM系統,其中該第一個 CAM裝置更進一步具有一匹配旗標輸出,且該第二個CA μ裝 置更進一步具有—匹配旗標輸入,和該第一個CAM裝置的 氐配旗標輸出轉合。 3 1 · 一種操作—深度串級的内容可定址記憶(CAM )系統之 方法’其中該深度串級的内容可定址記憶(CAM)系統至少 具有一第一個和一第二個CAM裝置,該方法包括:_ ^較比較資料和儲存於每一個CAM裝置中多個CAM位置 中的資料’以判定該等每一個CAM裝置中的匹配結果; 更新儲存於每一個CAM裝置中多個多重匹配CAM單元中 的:貝料,以回應該等匹配結果,其中每一個多重匹配 單元和一相對應的CAM位置相關聯; 判定每一個CAM裝置中該最高優先匹配CAM位置;及 從遑第個CAM裝置中輸出該最高優先匹配位置的 一個位址。 32_如申請專利範圍第31項之方法’更進—牛 將一個指令提供給兩個CAM f | + 乂匕秸, 該次最高優先CAM位置; 、 以存取該CAM系統的 於該第二個CAM裝置中評估儲存於該 〇 元中的該資料,以判定該CAM#罢〜 A寺多重匹配CAM單 置;及 置内該次最高優先匹配位 從該第一個CAM裝置 中輸出
    該-欠最高優先匹配位置的
    第50頁 4 45 4 1 ο 六、申請專利範圍 一個位址。 3 3.如申請專利範圍第3 2項之方法,更進一步包括當該 第一個CAM裝置沒有任何更多和該比較資料匹配的CAM位置 時,則從該第二個CAM裝置中輸出該最高優先匹配位置的 一個位址,如該CAM系統的該次最高優先CAM位置。
    第51頁
TW088111409A 1998-07-06 1999-07-06 Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device TW445410B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/111,364 US6381673B1 (en) 1998-07-06 1998-07-06 Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device

Publications (1)

Publication Number Publication Date
TW445410B true TW445410B (en) 2001-07-11

Family

ID=22338099

Family Applications (1)

Application Number Title Priority Date Filing Date
TW088111409A TW445410B (en) 1998-07-06 1999-07-06 Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device

Country Status (2)

Country Link
US (2) US6381673B1 (zh)
TW (1) TW445410B (zh)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199140B1 (en) * 1997-10-30 2001-03-06 Netlogic Microsystems, Inc. Multiport content addressable memory device and timing signals
US6934795B2 (en) * 1999-09-23 2005-08-23 Netlogic Microsystems, Inc. Content addressable memory with programmable word width and programmable priority
US6801981B1 (en) 2000-06-14 2004-10-05 Netlogic Microsystems, Inc. Intra-row configurability of content addressable memory
US6944709B2 (en) * 1999-09-23 2005-09-13 Netlogic Microsystems, Inc. Content addressable memory with block-programmable mask write mode, word width and priority
US6813680B1 (en) 2000-06-14 2004-11-02 Netlogic Microsystems, Inc. Method and apparatus for loading comparand data into a content addressable memory system
US6310880B1 (en) * 2000-03-17 2001-10-30 Silicon Aquarius, Inc. Content addressable memory cells and systems and devices using the same
US6892237B1 (en) * 2000-03-28 2005-05-10 Cisco Technology, Inc. Method and apparatus for high-speed parsing of network messages
US6560670B1 (en) * 2000-06-14 2003-05-06 Netlogic Microsystems, Inc. Inter-row configurability of content addressable memory
US6658458B1 (en) 2000-06-22 2003-12-02 Cisco Technology, Inc. Cascading associative memory arrangement
US7051078B1 (en) 2000-07-10 2006-05-23 Cisco Technology, Inc. Hierarchical associative memory-based classification system
US6490650B1 (en) * 2000-12-08 2002-12-03 Netlogic Microsystems, Inc. Method and apparatus for generating a device index in a content addressable memory
US6543286B2 (en) * 2001-01-26 2003-04-08 Movaz Networks, Inc. High frequency pulse width modulation driver, particularly useful for electrostatically actuated MEMS array
US7257763B1 (en) 2001-08-03 2007-08-14 Netlogic Microsystems, Inc. Content addressable memory with error signaling
US7043673B1 (en) 2001-08-03 2006-05-09 Netlogic Microsystems, Inc. Content addressable memory with priority-biased error detection sequencing
US7237156B1 (en) 2001-08-03 2007-06-26 Netlogic Microsystems, Inc. Content addressable memory with error detection
US7283380B1 (en) 2001-08-03 2007-10-16 Netlogic Microsystems, Inc. Content addressable memory with selective error logging
JP3702950B2 (ja) * 2001-09-18 2005-10-05 日本電気株式会社 連想記憶メモリ装置
US7301961B1 (en) 2001-12-27 2007-11-27 Cypress Semiconductor Corportion Method and apparatus for configuring signal lines according to idle codes
US6842358B2 (en) * 2002-08-01 2005-01-11 Netlogic Microsystems, Inc. Content addressable memory with cascaded array
US20040054867A1 (en) 2002-09-13 2004-03-18 Paulus Stravers Translation lookaside buffer
US7991947B2 (en) 2002-12-30 2011-08-02 Micron Technology, Inc. Multi-priority encoder
US6987683B2 (en) * 2003-05-19 2006-01-17 Micron Technology, Inc. Magnitude comparator based content addressable memory for search and sorting
US7451267B1 (en) 2003-09-23 2008-11-11 Netlogic Microsystems, Inc. Method and apparatus for learn and related operations in network search engine
US7080195B2 (en) * 2003-10-22 2006-07-18 Cisco Technology, Inc. Merging indications of matching items of multiple groups and possibly associated with skip conditions to identify winning entries of particular use for implementing access control lists
US7082493B1 (en) 2003-10-31 2006-07-25 Integrated Device Technology, Inc. CAM-based search engines and packet coprocessors having results status signaling for completed contexts
US20050213359A1 (en) * 2004-03-26 2005-09-29 Kim Jin K Hybrid content addressable memory
US7187571B1 (en) * 2004-04-09 2007-03-06 Integrated Device Technology, Inc. Method and apparatus for CAM with reduced cross-coupling interference
US7565481B1 (en) * 2004-10-29 2009-07-21 Netlogic Microsystems, Inc. Content addressable memory (CAM) device and method for flexible suppression of hit indications
US7304873B1 (en) 2005-01-25 2007-12-04 Netlogic Microsystems, Inc. Method for on-the-fly error correction in a content addressable memory (CAM) and device therefor
KR100583278B1 (ko) * 2005-01-28 2006-05-25 삼성전자주식회사 플래쉬 셀 퓨즈 회로 및 플래쉬 셀 퓨징 방법
US7324362B1 (en) 2005-03-01 2008-01-29 Netlogic Microsystems Inc. Content addressable memory cell configurable between multiple modes and method therefor
US7298635B1 (en) 2005-03-15 2007-11-20 Netlogic Microsystems, Inc. Content addressable memory (CAM) cell with single ended write multiplexing
US7450409B1 (en) 2005-03-21 2008-11-11 Netlogic Microsystems, Inc. Content addressable memory (CAM) cell having column-wise conditional data pre-write
US7417882B1 (en) 2005-09-21 2008-08-26 Netlogics Microsystems, Inc. Content addressable memory device
US7193877B1 (en) * 2005-10-04 2007-03-20 Netlogic Microsystems, Inc. Content addressable memory with reduced test time
US7822916B1 (en) * 2006-10-31 2010-10-26 Netlogic Microsystems, Inc. Integrated circuit search engine devices having priority sequencer circuits therein that sequentially encode multiple match signals
US8315078B2 (en) * 2009-01-22 2012-11-20 Qualcomm Incorporated Power saving static-based comparator circuits and methods and content-addressable memory (CAM) circuits employing same
US8023301B1 (en) 2009-06-19 2011-09-20 Netlogic Microsystems, Inc. Content addressable memory device having state information processing circuitry
US9063840B1 (en) 2009-08-21 2015-06-23 Broadcom Corporation Multiple match detection for multiple flows in a content addressable memory
US8990631B1 (en) 2011-03-03 2015-03-24 Netlogic Microsystems, Inc. Packet format for error reporting in a content addressable memory
US9208109B2 (en) * 2011-06-01 2015-12-08 Altera Corporation Memory controllers with dynamic port priority assignment capabilities
US9979649B2 (en) * 2015-12-04 2018-05-22 Wisconsin Alumin Research Foundation High density content addressable memory
US10984863B2 (en) * 2018-04-20 2021-04-20 Arm Limited Error detection and correction circuitry
CN113012731B (zh) * 2021-02-26 2023-05-09 西安微电子技术研究所 一种适用于大位宽cam的数据锁存电路结构

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3257646A (en) 1963-01-24 1966-06-21 Ibm Variable word length associative memory
US3353159A (en) 1964-12-11 1967-11-14 Burroughs Corp Associative memory with variable word length capacity
US3602899A (en) 1969-06-20 1971-08-31 Ibm Associative memory system with match,no match and multiple match resolution
US3685020A (en) 1970-05-25 1972-08-15 Cogar Corp Compound and multilevel memories
US3675211A (en) 1970-09-08 1972-07-04 Ibm Data compaction using modified variable-length coding
BE788028A (fr) 1971-08-25 1973-02-26 Siemens Ag Memoire associative
US4058851A (en) 1976-10-18 1977-11-15 Sperry Rand Corporation Conditional bypass of error correction for dual memory access time selection
JPS5489444A (en) 1977-12-27 1979-07-16 Fujitsu Ltd Associative memory processing system
US4472805A (en) 1982-03-26 1984-09-18 Rca Corporation Memory system with error storage
JPS58212698A (ja) 1982-06-04 1983-12-10 Matsushita Electric Ind Co Ltd 記憶装置
US4670858A (en) 1983-06-07 1987-06-02 Tektronix, Inc. High storage capacity associative memory
JPS60136097A (ja) 1983-12-23 1985-07-19 Hitachi Ltd 連想メモリ装置
US4656626A (en) 1984-12-14 1987-04-07 Itt Corporation Apparatus and method for providing dynamically assigned switch paths
US4747080A (en) 1985-11-12 1988-05-24 Nippon Telegraph & Telephone Corporation Semiconductor memory having self correction function
US4785398A (en) 1985-12-19 1988-11-15 Honeywell Bull Inc. Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page
US4758982A (en) 1986-01-08 1988-07-19 Advanced Micro Devices, Inc. Quasi content addressable memory
US4813002A (en) 1986-07-21 1989-03-14 Honeywell Bull Inc. High speed high density dynamic address translator
US4780845A (en) 1986-07-23 1988-10-25 Advanced Micro Devices, Inc. High density, dynamic, content-addressable memory cell
US4959811A (en) 1986-11-03 1990-09-25 Texas Instruments Incorporated Content addressable memory including comparison inhibit and shift register circuits
DE3801380A1 (de) 1987-01-20 1988-07-28 Nec Corp Zeichenfolge-erkennungsvorrichtung mit einem speicher, dessen speicherbereiche selektiv zugreifbar sind
JP2960415B2 (ja) 1987-05-22 1999-10-06 株式会社日立製作所 記憶保護方法および装置
US4791606A (en) 1987-09-01 1988-12-13 Triad Semiconductors International Bv High density CMOS dynamic CAM cell
US4845668A (en) 1987-12-10 1989-07-04 Raytheon Company Variable field content addressable memory
US5010516A (en) 1988-01-11 1991-04-23 Texas Instruments Incorporated Content addressable memory
US5051948A (en) 1988-02-23 1991-09-24 Mitsubishi Denki Kabushiki Kaisha Content addressable memory device
JPH01223697A (ja) 1988-03-01 1989-09-06 Mitsubishi Electric Corp 内容番地付け記憶装置
US4928260A (en) * 1988-05-11 1990-05-22 Advanced Micro Devices, Inc. Content addressable memory array with priority encoder
JPH01307095A (ja) 1988-06-01 1989-12-12 Mitsubishi Electric Corp 不揮発性cam
US4996666A (en) 1988-08-12 1991-02-26 Duluk Jr Jerome F Content-addressable memory system capable of fully parallel magnitude comparisons
US5072422A (en) 1989-05-15 1991-12-10 E-Systems, Inc. Content-addressed memory system with word cells having select and match bits
US5036486A (en) 1989-07-31 1991-07-30 Hitachi, Ltd Associative memory device
US5053991A (en) 1989-10-06 1991-10-01 Sanders Associates, Inc. Content-addressable memory with soft-match capability
US5485418A (en) 1990-01-16 1996-01-16 Mitsubishi Denki Kabushiki Kaisha Associative memory
US5107501A (en) 1990-04-02 1992-04-21 At&T Bell Laboratories Built-in self-test technique for content-addressable memories
US5014195A (en) 1990-05-10 1991-05-07 Digital Equipment Corporation, Inc. Configurable set associative cache with decoded data element enable lines
US5440715A (en) * 1990-06-27 1995-08-08 Advanced Micro Devices, Inc. Method and apparatus for expanding the width of a content addressable memory using a continuation bit
US5317708A (en) 1990-06-29 1994-05-31 Digital Equipment Corporation Apparatus and method for an improved content addressable memory
US5265100A (en) 1990-07-13 1993-11-23 Sgs-Thomson Microelectronics, Inc. Semiconductor memory with improved test mode
US5226005A (en) 1990-11-19 1993-07-06 Unisys Corporation Dual ported content addressable memory cell and array
US5388065A (en) 1991-05-16 1995-02-07 Kawasaki Steel Corporation Semiconductor integrated circuit
JP2775549B2 (ja) * 1992-05-08 1998-07-16 三菱電機株式会社 連想メモリセルおよび連想メモリ回路
US5383146A (en) 1992-06-08 1995-01-17 Music Semiconductors, Inc. Memory with CAM and RAM partitions
GB9213821D0 (en) 1992-06-30 1992-08-12 Inmos Ltd Content addressable memory
US5818873A (en) 1992-08-03 1998-10-06 Advanced Hardware Architectures, Inc. Single clock cycle data compressor/decompressor with a string reversal mechanism
US5469161A (en) 1992-08-13 1995-11-21 International Business Machines Corporation Algorithm for the implementation of Ziv-Lempel data compression using content addressable memory
DE69324204T2 (de) 1992-10-22 1999-12-23 Cabletron Systems, Inc. Aufsuchen von Adressen bei Paketübertragung mittels Hashing und eines inhaltsadressierten Speichers
US5319590A (en) 1992-12-04 1994-06-07 Hal Computer Systems, Inc. Apparatus for storing "Don't Care" in a content addressable memory cell
US5455576A (en) 1992-12-23 1995-10-03 Hewlett Packard Corporation Apparatus and methods for Lempel Ziv data compression with improved management of multiple dictionaries in content addressable memory
US5454094A (en) 1993-06-24 1995-09-26 Hal Computer Systems, Inc. Method and apparatus for detecting multiple matches in a content addressable memory
JPH07105689A (ja) * 1993-10-04 1995-04-21 Kawasaki Steel Corp 連想メモリ
US5396449A (en) * 1993-12-21 1995-03-07 International Business Machines Corporation Fast content addressable memory with reduced power consumption
KR950034265A (ko) 1994-02-10 1995-12-28 도자끼 시노부 연상메모리
US5621677A (en) 1994-04-29 1997-04-15 Cypress Semiconductor Corp. Method and apparatus for precharging match output in a cascaded content addressable memory system
US5490102A (en) 1994-06-15 1996-02-06 Intel Corporation Low capacitance content-addressable memory cell
US5649149A (en) 1994-08-01 1997-07-15 Cypress Semiconductor Corporation Integrated content addressable memory array with processing logical and a host computer interface
US5860085A (en) 1994-08-01 1999-01-12 Cypress Semiconductor Corporation Instruction set for a content addressable memory array with read/write circuits and an interface register logic block
JP3037089B2 (ja) 1994-12-14 2000-04-24 川崎製鉄株式会社 連想メモリ
US5517441A (en) 1994-12-14 1996-05-14 International Business Machines Corporation Content addressable memory circuitry and method of operation
US5513134A (en) 1995-02-21 1996-04-30 Gte Laboratories Incorporated ATM shared memory switch with content addressing
US5680566A (en) 1995-03-03 1997-10-21 Hal Computer Systems, Inc. Lookaside buffer for inputting multiple address translations in a computer system
US6041389A (en) 1995-11-16 2000-03-21 E Cirrus Logic, Inc. Memory architecture using content addressable memory, and systems and methods using the same
US5841874A (en) * 1996-08-13 1998-11-24 Motorola, Inc. Ternary CAM memory architecture and methodology
US5930359A (en) * 1996-09-23 1999-07-27 Motorola, Inc. Cascadable content addressable memory and system
US5706224A (en) 1996-10-10 1998-01-06 Quality Semiconductor, Inc. Content addressable memory and random access memory partition circuit
JP3437045B2 (ja) 1996-10-31 2003-08-18 沖電気工業株式会社 連想メモリ
US6147890A (en) 1997-12-30 2000-11-14 Kawasaki Steel Corporation FPGA with embedded content-addressable memory
JP3196720B2 (ja) 1998-03-20 2001-08-06 日本電気株式会社 連想メモリ制御回路及び制御方法

Also Published As

Publication number Publication date
US6381673B1 (en) 2002-04-30
US6564289B2 (en) 2003-05-13
US20020129199A1 (en) 2002-09-12

Similar Documents

Publication Publication Date Title
TW445410B (en) Method and apparatus for performing a read next highest priority match instruction in a content addressable memory device
US6219748B1 (en) Method and apparatus for implementing a learn instruction in a content addressable memory device
US6240485B1 (en) Method and apparatus for implementing a learn instruction in a depth cascaded content addressable memory system
US6961810B2 (en) Synchronous content addressable memory
US6539455B1 (en) Method and apparatus for determining an exact match in a ternary content addressable memory device
US7246198B2 (en) Content addressable memory with programmable word width and programmable priority
US6574702B2 (en) Method and apparatus for determining an exact match in a content addressable memory device
US6499081B1 (en) Method and apparatus for determining a longest prefix match in a segmented content addressable memory device
EP1470554B1 (en) Circuit and method for reducing power usage in a content addressable memory
US6584003B1 (en) Low power content addressable memory architecture
USRE43359E1 (en) System and method for low power searching in content addressable memories using sampling search words to save power in compare lines
US6717876B2 (en) Matchline sensing for content addressable memories
JPH11120775A (ja) 内容アドレスメモリシステム
US10734047B1 (en) SRAM based physically unclonable function and method for generating a PUF response
US4930104A (en) Content-addressed memory
WO1999023663A1 (en) Synchronous content addressable memory with single cycle operation
JP2004295967A (ja) 連想メモリ
US6868475B2 (en) Content addressable memory having data width extension capability
US20040093462A1 (en) Method and apparatus for wide word deletion in content addressable memories
JP2588936B2 (ja) 半導体記憶装置
US6892272B1 (en) Method and apparatus for determining a longest prefix match in a content addressable memory device
KR20030039989A (ko) 연상 메모리 및 그 메모리 셀
WO1999059156A1 (en) Method and apparatus for implementing a learn instruction in a content addressable memory device
JP2004192695A (ja) 連想メモリ装置
JPH06215583A (ja) 連想メモリ

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees