專利名稱:搜索最長匹配的存儲器系統(tǒng)的制作方法
技術領域:
在通信系統(tǒng)——萬維網(wǎng)是其中的一個實例——中,傳送著大量的消息(數(shù)據(jù)包)。每條消息包含著一個目的地的地址,并且必須由路由系統(tǒng)按照該目的地傳送。目的地的地址可以存放在一個定長的字中。具有公共前綴的地址組,通常分配給同一域,因此需要同一路由。不過,這些域地址可能具有不同的長度。路由系統(tǒng)通常在存儲器中包含為數(shù)眾多的域前綴表,并執(zhí)行搜索以檢驗進入之消息的地址是否屬于某個給定的域。如果發(fā)現(xiàn)了該地址,那么就從相關聯(lián)的表中檢索路由信息。由于路由系統(tǒng)可能有大量的消息要高速發(fā)送,也許需要設計一種系統(tǒng)來尋找與表中存放的前綴相匹配的、最長的地址前綴,該系統(tǒng)在高速下運行。
在PCT WO 00070832A1中,詳細地講解了本發(fā)明的背景——經(jīng)濟而快速的最長前綴搜索系統(tǒng)的需要。
在現(xiàn)有的路由系統(tǒng)中,有多種算法使用幾個存儲器搜索周期,完成最長前綴搜索。在許多路由系統(tǒng)中,使用按內(nèi)容尋址的存儲器來搜索定長的前綴,在軟件或硬件中使用不同的長度,進行幾次迭代搜索,直到發(fā)現(xiàn)最長匹配。在專利US 6067574、US 5983223和US 6052683中介紹了這種系統(tǒng)。
可能需要提供一種裝置,在按內(nèi)容尋址的存儲器陣列中,以較高的電子速度發(fā)現(xiàn)一個存儲器單元的位置,在該陣列的所有存儲器單元中,該存儲器單元存放的數(shù)據(jù)字具有最多的連續(xù)匹配位。還可能進一步需要這種“最長匹配搜索”的操作能夠在單一的存儲器周期中完成。利用電子線路以電子速度實現(xiàn)“最長匹配搜索”會有過人之處。
發(fā)明內(nèi)容
本文介紹的存儲器系統(tǒng),其目的是提供一種裝置,在按內(nèi)容尋址的存儲器陣列中,以較高的電子速度發(fā)現(xiàn)一個存儲器單元的位置,在該陣列的所有存儲器單元中,該存儲器單元存放的數(shù)據(jù)字具有最多的連續(xù)匹配位。只用電子線路進行的最長匹配搜索操作,能夠在單一的存儲器周期中完成,它使用了一種方法,其中每個字數(shù)據(jù)包括一組子字,它們以預先規(guī)定的順序排列,按照給定子字Bi,j的比較器輸出,設置該子字的子字匹配信號Mi,j;利用在每個子字處分別產(chǎn)生的“仍然匹配”信號,發(fā)現(xiàn)字Wi的連續(xù)匹配子字;利用一個與邏輯門,使每個子字的“匹配”輸出,與同一字中前一子字的“仍然匹配”信號相結(jié)合,字的第一個子字是一個例外,它的“仍然匹配”信號只須設置為與“匹配”信號相同;如果本子字之前的所有子字都包含著匹配的數(shù)據(jù),仍然匹配信號就置位(邏輯1),因而對于至少第一個子字匹配的每個字,就形成了一條置位信號的“匹配鏈”;通過尋找最長的匹配鏈,就會發(fā)現(xiàn)最長匹配。
尋找最長匹配鏈之長度的任務,以下列方式執(zhí)行除了第一個位置以外,對于每個可能的子字位置都關聯(lián)著一條橫向線。然后,在存儲器陣列的所有字中,當且僅當至少一個仍然匹配信號置位為邏輯1時,每條橫向線才置位為邏輯1。做到這一點,是所有字在給定子字位置,利用所有仍然匹配信號的“或”組合。
以這種方式,在橫向線上“標注”了每個字匹配鏈的最終長度。最后,在最高位置上有邏輯1的線就表示最長匹配鏈的長度。
在邏輯門中,把與子字相關聯(lián)的橫向線上的信號和下一條橫向線上的信號相結(jié)合,就發(fā)現(xiàn)了處于最長匹配鏈終點的子字,所以在下面的情況下,就形成了“最長匹配”信號在第一條橫向線上的信號置位,但是在下一條橫向線上的信號沒有置位。
如果一個字的最后一個子字的仍然匹配信號置位,無疑是在最長匹配鏈中。所以對于最后一個子字,最長匹配信號設置為等同于仍然匹配信號。
最后,對于已經(jīng)發(fā)現(xiàn)了最長長度匹配鏈的每個字,形成字匹配信號。做到這一點,是由一個寬或門收集所有字的最長匹配信號。
正如在標準CAM的情況下,存儲器的幾個字都可能激活字匹配信號,每一個都滿足最長匹配的條件。不過,CAM或COM可能包括優(yōu)先級編碼器,或者說優(yōu)先級掩碼,以便僅僅選擇一個單元的地址用于輸出,進行選擇時按照具體類型CAM或COM的優(yōu)先級系統(tǒng)。在PCT/IL 00/00121中,已經(jīng)詳細介紹了這種優(yōu)先級掩碼。
本發(fā)明既能夠方便地用于通信系統(tǒng)中,也能夠用于其它系統(tǒng)中,比如數(shù)據(jù)庫和數(shù)據(jù)壓縮系統(tǒng),舉例來說。
附圖簡要說明
圖1顯示了按內(nèi)容尋址存儲器的典型普通框圖,它往往用作最長匹配搜索系統(tǒng)中的組件。
圖2顯示了在典型的按內(nèi)容尋址存儲器中,如何產(chǎn)生字匹配信號。
圖3顯示了在CAM或COM中結(jié)合本發(fā)明的一個優(yōu)選實施例。
圖4顯示了該優(yōu)選實施例中,與一個子字相關聯(lián)的電路細節(jié)。
圖5顯示了該優(yōu)選實施例中,在給定位置j,所有字的所有子字如何激活橫向線Tj。
圖6顯示了如果字Wi的子字之一激活最長匹配輸出,如何激活其字匹配線。
圖7顯示了在VLSI電路中實現(xiàn)優(yōu)選實施例的類實例。
圖8顯示了子字位置1、2、3的VLSI電路。
圖9顯示了圖7中虛線所圍區(qū)域的電路細節(jié)。
具體實施例方式
本發(fā)明涉及一種電子線路和系統(tǒng),它們能夠結(jié)合按內(nèi)容尋址存儲器(CAM)或者呼出存儲器(COM),以便在單一的搜索周期中發(fā)現(xiàn)最長的匹配字。本發(fā)明的原理也能夠用于設計CAM或COM,按照已經(jīng)設置的橫向線數(shù)目,它寄存者最長匹配的尺寸。在這種CAM中,發(fā)現(xiàn)了最長匹配的尺寸之后,使用普通類型的第二CAM或COM,或者使用在普通CAM或COM模式下工作的同一CAM或COM,同時屏蔽超出最長匹配的數(shù)位,就能夠進行精確搜索。
在CAM、COM或其它內(nèi)容定址存儲器中,在每個存儲器單元中配備了一個比較器,它探測存儲器單元的內(nèi)容與給與該存儲器設備的參考數(shù)據(jù)之間是否匹配。無論何時,只要一個存儲器單元的內(nèi)容與參考數(shù)據(jù)核實了某種給定的關系(匹配單元),該比較器就輸出一個邏輯信號。然后,這個邏輯信號激活一個系統(tǒng),如果一個或多個字輸出匹配字信號,那么就使用一種優(yōu)先級系統(tǒng)或電路來選擇一個字的地址用于輸出,按照為CAM規(guī)定的具體規(guī)則作出選擇。
圖1顯示了一種類型的按內(nèi)容尋址存儲器,然而這種CAM的架構(gòu)有許多變化,本發(fā)明的電路都能夠得到應用,如下文所示。實現(xiàn)本發(fā)明的原理并不依賴于存儲器架構(gòu)的類型,本發(fā)明的電路能夠結(jié)合在多種類型的CAM或COM中。
圖2中顯示了在現(xiàn)有技術的按內(nèi)容尋址存儲器中產(chǎn)生匹配字信號。在這個實例中,一個存儲器單元存放著數(shù)據(jù)字Wn,這個字是由w個子字{Bi,1,…Bi,j,…Bi,w}組成的。典型情況下,每個子字是由一位或若干位組成的。
每個子字Bi,j都關聯(lián)到一個比較器。該比較器把子字中存放的數(shù)據(jù)與位線上設置的數(shù)據(jù)相比較,如果核實了某種預先規(guī)定的關系,就設置子字匹配信號。典型情況下,這種關系將是正好相等,不過任何種類的關系都能夠設想。
然后,一個字的所有子字匹配信號都輸入到一個與邏輯門,以形成字匹配信號。因此,如果發(fā)現(xiàn)所有的子字都匹配,字匹配信號將設置為邏輯電平1。
應當理解,在這樣一個系統(tǒng)中,為了激活字匹配信號,所有的子字都必須匹配。
本發(fā)明的目的是提議一種系統(tǒng),它按照某個新條件來激活字匹配信號,即使有的子字不匹配。這種新條件是,如果從第一個子字開始,連續(xù)匹配子字的數(shù)目,在被搜索的存儲器中存放的所有字中是最大的,就激活字匹配信號。這種條件將被記為最長匹配條件。
圖3和圖4顯示了實現(xiàn)這種新條件的一個優(yōu)選實施例。圖中顯示了一個存儲器字陣列,每個字Wi都包括w個子字Bi,j,{Bi,1至Bi,w}。圖3中只顯示了三個字,W1、W2和Wi,對于每個字,分別顯示了在位置1、2和w的三個子字。
標識Bi,j用于描述字Wi在位置J的一個子字,圖4中顯示了分別與子字Bi,j中每一個相關聯(lián)的電路。
每個子字Bi,j是存儲器的一個元素,能夠存放給定長度的數(shù)字數(shù)據(jù)。每個子字Bi,j也包括一個比較器,如圖4所示和上面參考圖2的介紹。如果子字數(shù)據(jù)與位線上設置的數(shù)據(jù)核實了某種給定的關系,所述比較器就輸出匹配信號。從處沒有顯示存儲器部件的細節(jié),存儲和檢索裝置都是已知的類型。正如上面講解的,為了讀寫,存儲器部件提供了對每個存儲器單元尋址的裝置。每個子字進一步包括一個比較器,把子字中存放的數(shù)據(jù)與利用位線送到存儲器的數(shù)據(jù)相比較。在激活了幾個字匹配信號的情況下,一種優(yōu)先級編碼器電路——此處未顯示——可以用于選擇一個惟一的單元,輸出其地址。在PCT/IL 00/00121中,已經(jīng)介紹了這種優(yōu)先級編碼器電路,或者說優(yōu)先級掩碼電路。
參考圖4,按照給定子字Bi,j的比較器輸出,設置該子字的子字匹配信號Mi,j。
為了發(fā)現(xiàn)字Wi從第一個子字Bi,1開始的連續(xù)匹配子字,“仍然匹配”信號SMi,j分配到每個子字。
利用一個與邏輯門,每個子字Bi,j的“匹配”輸出Mi,j與同一字中前面子字的“仍然匹配”信號SMi,j-1相結(jié)合。字Wi的第一個子字Bi,1是一個例外,在這種情況下,SMi,1只是設置為與Mi,j相同的信號。
如果對于k≤j,所有子字Bi,k包含著匹配數(shù)據(jù),仍然匹配信號SMi,j就置位(邏輯1)。對于具有至少第一個子字匹配的每個字,我們現(xiàn)在有一條置位的匹配信號SMi,j鏈。我們將進一步把該鏈記為匹配鏈,并且通過發(fā)現(xiàn)最長的匹配鏈來執(zhí)行發(fā)現(xiàn)最長匹配的任務。
應當理解,圖3和圖4中所示的形成匹配鏈的邏輯安排只是優(yōu)選實施例的一個實例,也可以用邏輯門的其它組合得出同樣的結(jié)果。例如,可以用一個寬與門,收集前面k≤j的所有Mi,k,以便核實所有子字Bi,k具有匹配數(shù)據(jù)。例如為了縮短系統(tǒng)的響應時間,可以采用邏輯門的這種組合或加入。在這些組合中,將會獲得Mi,k的同一邏輯函數(shù),也就是只有在k≤j的整個子字Bi,k鏈都具有匹配數(shù)據(jù)的情況下,信號SMi,j才置位。
現(xiàn)在參考圖3,發(fā)現(xiàn)最長匹配鏈長度的任務按以下方式執(zhí)行除了第一個位置之外,對于子字的每個可能位置j,關聯(lián)一條橫向線Tj。因此總共規(guī)定了w-1條橫向線,T2至Tw。然后對于每條線,在位置j所有子字中,當且僅當至少一個子字產(chǎn)生仍然匹配信號SMi,j時,設置為邏輯電平1。做到這一點,是對于給定子字位置j,利用所有字Wi的所有SMi,j信號的“或”組合。圖3所示的這種或連接,在圖5中進一步放大和澄清。
以這種方式,每個字將其匹配鏈的最終長度“標注”在橫向線上。最后,處于邏輯電平1并具有最高j的Tj線就表明了最長匹配鏈的長度。
圖4中顯示了探測最長匹配鏈終點處子字的任務在每個子字Bi,j處,如果核實了下列條件,相關聯(lián)的橫向線Tj上的信號與下一條橫向線Tj+1上的信號在某個邏輯門中結(jié)合,以形成“最長匹配”信號LMi,j線Tj上的信號置位,但是線Tj+1上的信號沒有置位。
如圖4所示,這種條件的實現(xiàn)是通過在某個與門中,使仍然匹配信號SMi,j與Tj+1橫向線的反相狀態(tài)相結(jié)合。對于字Wi的最后一個子字Bi,w,規(guī)定了一種特殊情況。在這種情況下,如果仍然匹配信號SMi,w置位,無疑是在最長匹配鏈中,因為w是字中子字的最大數(shù)目。所以對于最后一個子字Bi,w,信號LMi,j設置為等同于信號SMi,j。
發(fā)現(xiàn)了最長的匹配鏈之后,現(xiàn)在還剩下激活每個字的字匹配信號的任務,如圖6所示。在圖6中可見,字Wi的所有LMi,j都收集進一個“寬或”邏輯門,以便設置字匹配信號WMi。
正如上面參考附圖所作的介紹,本發(fā)明的電路和系統(tǒng)用于按照最長匹配的條件,激活字Wi的字匹配信號WMi。如同在標準CAM的情況下,也可能有幾個存儲器字激活字匹配信號,每一個都滿足最長匹配的條件。不過,CAM或COM可以包括一種優(yōu)先級編碼器,或者說優(yōu)先級掩碼,以便僅僅選擇一個單元的地址來輸出,進行選擇時按照具體類型CAM或COM的優(yōu)先級系統(tǒng)。
應當理解,在仍然保持不超出本發(fā)明的范圍和權利要求書的情況下,可以實現(xiàn)以上已經(jīng)通過實例并針對一個優(yōu)選實施例介紹的本發(fā)明,以及許多其它的設計。因此,可以采用例如其它部件來連接多種元素,而不是優(yōu)選實施例中的線。
VLSI實施的實例圖8顯示了對于第一個、第二個和第三個子字——分別記為Bi,1-1、Bi,1和Bi+1,1——的實施例,如上所述,沒有使用橫向線。
在圖7和圖8中,顯示了VLSI實施中的優(yōu)選實施例,其中使用通向放電線的晶體管來實現(xiàn)或函數(shù),由晶體管序列來實現(xiàn)匹配鏈。圖8顯示了字Wi-1、Wi和Wi+1的一般排列,對于所述字Wi-1、Wi和Wi+1中的每一個,分別帶有三個子字,序號為j、j+1和j+2。
在圖9中顯示了關聯(lián)到一個子字Bi,j的電路。在圖9中可見,對于每個子字Bi,j,關聯(lián)著四個晶體管Q1至Q4。對于仍然匹配信號SMi,j-1和SMi,j,是在線上分別與每個子字相關聯(lián)的不同部位,設置仍然匹配信號SMi,j,如圖9所示。線上的這些部位將被記為SMi,j線。一個字的所有SMi,j線都串聯(lián)起來,通過晶體管Q2,每條SMi,j線的一端連接到前一條SMi,j線,另一端連接到同一字的下一條SMi,j線。子字Bi,j的晶體管Q2中的邏輯門——把SMi,j線與SMi,j-1連接——連接到該子字Bi,j的子字匹配信號,所以如果該子字具有匹配數(shù)據(jù),那么晶體管就導通,線SMi,j就連接到線SMi,j-1。圖8進一步顯示了字Wi的第一個子字Bi,1的特殊情況。所述第一個子字Bi,1的SMi,1線通過一個晶體管連接到地(零伏),它的邏輯門連接到Bi,1的子字匹配信號。
在初始化階段,對所有的SMi,j線、所有的橫向線Tj和所有的字匹配線都預充電,預充電是VLSI中的一項普通技術。某個時鐘信號也首先設置為零伏。應當理解,如果使用反相邏輯,字匹配線將被預放電而不是已知的預充電。
為了探測最長匹配而激活存儲器之后,對于所有的具有匹配信號的子字,子字匹配信號將被置位。現(xiàn)在考慮圖9所示的一個特定子字Bi,j,子字匹配信號將使晶體管Q2導通,將使SMi,j線的電位與前面的子字SMi,j-1線的電位相等?,F(xiàn)在參考圖8,如果前面k<j的所有子字Bi,k都匹配,那么在第一個子字處,仍然匹配信號SMi,1將連接到地,并且所有SMi,k線都通過晶體管Q2放電。按這種方式,只有當從Bi,1到Bi,j的所有子字都包含著匹配數(shù)據(jù)時,才使線區(qū)段SMi,j放電。如果對于這些SMi,j線,我們規(guī)定零電位是邏輯電平1,這就實現(xiàn)了等效于上面介紹的匹配鏈的功能。
再次參考圖7和圖8,按照上面介紹的本發(fā)明的原理,Tj橫向線分別分配到每個子字的位置,如果字Wi的匹配鏈達到了子字Bi,j,那么分配到所述子字Bi,j的Tj線就被置為邏輯1。做到這一點是采用以下方式,如圖9中對于子字Bi,j所示。
每條橫向線Tj都在每個子字Bi,j處通過晶體管Q1連接到SMi,j線,該晶體管的邏輯門連接到所述子字Bi,j的子字匹配信號Mi,j。
在SMi,j放電(邏輯電平1)的情況下,通過由匹配信號Mi,j使之導通的晶體管Q1,通過k≤j的所有SMi,k線形成的鏈,橫向線Tj也將放電,履行圖5所示的或函數(shù)的等效功能。
圖9中可見,這是圖7中以虛線圈起區(qū)域的放大圖。晶體管Q4和Q3把字匹配線連接到SMi,j線。
所有匹配信號都已經(jīng)設置之后,現(xiàn)在把時鐘信號設置為高電位,并施加在所有的Q4晶體管上,使它們導通。子字Bi,j之Q3晶體管的邏輯門連接到下一條橫向線Tj+1。如果這條橫向線Tj+1還沒有放電(也就是它保持在邏輯電平0),表明沒有匹配鏈達到第j+1個子字,那么就讓晶體管Q3繼續(xù)導通,使其邏輯門連接到線Tj+1。如果現(xiàn)在仍然匹配信號SMi,j放電到地,表明匹配鏈已經(jīng)達到子字Bi,j,那么字匹配線也將通過晶體管Q3和Q4,放電到地。
換句話說,如果滿足了以下條件,字匹配線將放電在一個子字位置Bi,jSMi,j被放電,意味著對于k≤j,所有子字Bi,k都具有匹配數(shù)據(jù)橫向線Tj+1還沒有被放電,意味著在其它字中沒有一個具有直到第j+1個子字的連續(xù)匹配數(shù)據(jù);這就確保了只有具有最長匹配子字鏈的字,才將字匹配線放電。
因此,在存儲器的所有字中,該存儲器字包含最長的連續(xù)匹配子字鏈——所述鏈開始于某個給定的字位置——的情況下,上面所示的系統(tǒng)和電路提供了為每個存儲器字選擇性地設置信號的裝置。
必須理解,同樣的邏輯功能能夠以幾種不同的方式來實現(xiàn),利用或者不用時鐘信號,以及邏輯門和/或放電線路的不同組合都可以用于實現(xiàn)本發(fā)明。不過,本發(fā)明的方法和原理提供了一種普通的描述,它包括了實現(xiàn)這種實施的不同電路設計方式和模式。
應當理解,附圖為電子線路的示意性表達——使用幾何直線,而本發(fā)明中電路的實際結(jié)構(gòu)可能與附圖不相符。
權利要求
1.在按內(nèi)容尋址的存儲器中實現(xiàn)的一種電路,用于發(fā)現(xiàn)與搜索的數(shù)據(jù)具有最長匹配的字,其特征在于,每個存儲器單元都能存放一個數(shù)據(jù)字,所述字由一組子字以預先規(guī)定的順序組成,每個子字包括一個存儲電路和一個比較器電路,每個子字由存儲器的一位或多位組成,并且每個子字都與按所述預先規(guī)定的順序在所述子字之前的所有子字一起,由某個第一電路連接到一條仍然匹配線,該電路對所述這些子字的所有匹配信號執(zhí)行邏輯與功能,從按所述預先規(guī)定的子字順序,在其各自字中具有相同位置的所有子字,由所述邏輯功能得出的仍然匹配信號,通過某個第一寬或電路連接到所述橫向線,在每個子字的位置,某個第二與電路連接到所述仍然匹配信號以及與下一個子字相關聯(lián)之橫向線的反相信號,所述第二與電路對于一個字的所有子字的所有輸出連接到某個第二寬或電路,因而,某個給定的存儲器字無論在哪里,只要具有最多的連續(xù)匹配子字,都將輸出一個字匹配信號。
2.根據(jù)權利要求1的電路,其特征在于,所述第一與電路是由一系列的與門來實現(xiàn),一個與門與每個子字分別關聯(lián),所述與門接收所述子字的匹配信號和前面子字的仍然匹配信號作為輸入。
3.根據(jù)權利要求1的在VLSI設備中實施的電路,其特征在于,所述與電路中的一個或多個包括串聯(lián)的晶體管,分別用于對預放電的線充電和對預充電的線放電。
4.根據(jù)權利要求1的電路,在VLSI設備中實施時,其特征在于,所述或電路中的一個或多個包括并聯(lián)的晶體管,分別用于對預放電的線充電和對預充電的線放電。
5.根據(jù)權利要求1、3或4中任何一個的電路,其特征在于,使用某個時鐘信號來使操作周期同步。
6.在按內(nèi)容尋址的存儲器中應用的一種方法,用于發(fā)現(xiàn)與搜索的數(shù)據(jù)具有最長匹配的字,其特征在于,每個存儲器單元都存放著一個數(shù)據(jù)字,所述數(shù)據(jù)字由一組子字以預先規(guī)定的順序組成,每個子字由存儲器的一位或多位組成,在其各自字的子字序列中具有相同位置的所有子字,關聯(lián)到一條橫向線,該方法包括以下步驟a)對于與搜索的數(shù)據(jù)相匹配的某個第一子字,設置仍然匹配信號;b)對于同一字中按預先規(guī)定的順序,如果所有前面子字的所有匹配信號都已經(jīng)置位,則對于該子字設置仍然匹配信號,所述仍然匹配信號為所關聯(lián)子字的匹配信號和按預先規(guī)定的順序前面所有仍然匹配信號的與邏輯結(jié)合;c)如果對于與橫向線相關聯(lián)的任何子字,仍然匹配置位,設置所述橫向線為邏輯1;d)在某個字的最后一個連續(xù)匹配子字處,設置最長匹配信號的條件是i)該子字的仍然匹配信號置位,以及ii)該字中下一個子字位置的橫向線沒有置位;e)如果所述字中任何子字的任何最長匹配信號置位,則設置字匹配信號。
7.根據(jù)上面權利要求6的方法,其特征在于,所述按內(nèi)容尋址的存儲器按照已經(jīng)置位之橫向線的數(shù)目,登記最長匹配的長度,并且使用普通類型的某個第二按內(nèi)容尋址的存儲器,同時遮掩超出最長匹配的數(shù)位,能夠進行精確搜索。
8.根據(jù)上面權利要求6的方法,其特征在于,所述按內(nèi)容尋址的存儲器按照已經(jīng)置位之橫向線的數(shù)目,登記最長匹配的長度,并且使用在普通CAM或COM模式下工作的同一CAM或COM,能夠進行精確搜索。
9.在具有多個數(shù)據(jù)字的存儲器中的一種仍然匹配信號,每個數(shù)據(jù)字由一組子字以預先規(guī)定的順序組成,對于所述子字中的每一個,分別單獨設置所述仍然匹配信號,其特征在于,如果同一數(shù)據(jù)字中,按照所述預先規(guī)定的順序,前面所有子字的前面所有仍然匹配信號——每個仍然匹配信號都是相關聯(lián)之子字匹配信號和按照預先規(guī)定順序之前面的仍然匹配信號的與函數(shù)輸出——都置位,則設置所述仍然匹配信號。
10.在具有多個數(shù)據(jù)字的按內(nèi)容尋址存儲器中的一組橫向線,每個數(shù)據(jù)字由一組子字組成,所述子字按預先規(guī)定的順序占據(jù)可能位置的某個序列,所述橫向線之一分別關聯(lián)到所述字的每一個之內(nèi)的所述可能子字位置中的每一個,其特征在于,如果一個所述數(shù)據(jù)字之內(nèi)的、在與所述橫向線相關聯(lián)的子字位置之前的所有子字以及所述子字本身都與搜索的信息相匹配,則使橫向線置位。
11.在具有多個數(shù)據(jù)字的存儲器中的一種最長匹配信號,每個數(shù)據(jù)字由一組子字以預先規(guī)定的順序組成,所述最長匹配信號分別單獨關聯(lián)到所述子字中的每一個,其特征在于,如果a)對于某個子字設置了仍然匹配信號,以及b)在一個數(shù)據(jù)字中下一個子字位置上的所述橫向線沒有置位,則對于所述數(shù)據(jù)字設置所述最長匹配信號。
12.在具有多個數(shù)據(jù)字的存儲器中的一組字匹配線,每個數(shù)據(jù)字由一組子字以預先規(guī)定的順序組成,一個字匹配信號分別單獨關聯(lián)到所述子字中的每一個,其特征在于,如果a)對于某個子字設置了仍然匹配信號,以及b)在一個數(shù)據(jù)字中下一個子字位置上的所述橫向線沒有置位,則對于所述數(shù)據(jù)字設置所述最長匹配信號。
全文摘要
在按內(nèi)容尋址的存儲器中應用的一種方法和電路,用于發(fā)現(xiàn)與搜索的數(shù)據(jù)具有最長匹配的字。每個存儲器單元都存放著一個數(shù)據(jù)字,數(shù)據(jù)字由一組子字以預先規(guī)定的順序組成,每個子字由存儲器的一位或多位組成。在其各自字的子字序列中具有相同位置的所有子字,關聯(lián)到同一條橫向線,該方法包括以下步驟a)對于與搜索的數(shù)據(jù)相匹配的某個第一子字,設置仍然匹配信號;b)對于同一字中按預先規(guī)定的順序,如果所有前面子字的所有匹配信號都已經(jīng)置位,則對于該子字設置仍然匹配信號,所述仍然匹配信號為所關聯(lián)子字的匹配信號和按預先規(guī)定的順序前面所有仍然匹配信號的與邏輯結(jié)合;c)如果對于與橫向線相關聯(lián)的任何子字,仍然匹配置位,設置所述橫向線為邏輯1;d)在某個字的最后一個連續(xù)匹配子字處,設置最長匹配信號的條件是i)該子字的仍然匹配信號置位,以及ii)該字中下一個子字位置的橫向線沒有置位;e)如果所述字中任何子字的任何最長匹配信號置位,則設置字匹配信號。
文檔編號G11C15/00GK1427993SQ01808868
公開日2003年7月2日 申請日期2001年2月1日 優(yōu)先權日2001年2月1日
發(fā)明者耶維斯·E·維拉瑞特, 施姆爾·普羅科佩斯 申請人:梅姆考爾有限責任公司