帶掩碼位查找電路、旁路轉換緩衝器、存儲器及微處理器的製造方法
2023-10-17 10:34:54 2
帶掩碼位查找電路、旁路轉換緩衝器、存儲器及微處理器的製造方法
【專利摘要】本發明提供一種帶掩碼位查找電路、旁路轉換緩衝器、存儲器及微處理器,其中帶掩碼位查找電路包括第一位存儲單元、第二位存儲單元、位查找單元和掩碼位數據輸入單元;掩碼位數據輸入單元用於接收待存儲數據和掩碼位,當掩碼位無效時,輸出四組數據;當掩碼位有效時,輸出查找無效碼以控制位查找單元不執行查找操作;第一位存儲單元用於存儲第一存儲數據,第二位存儲單元用於存儲第二存儲數據;第一位存儲單元將第一存儲數據傳送給位查找單元用於比較,第二位存儲單元將第二存儲數據傳送給位查找單元用於比較。本發明提供的帶掩碼位查找電路及旁路轉換緩衝器,能夠提高微處理器進行數據查找的速度。
【專利說明】帶掩碼位查找電路、旁路轉換緩衝器、存儲器及微處理器
【技術領域】
[0001]本發明涉及電路技術,尤其涉及一種帶掩碼位查找電路、旁路轉換緩衝器、存儲器及微處理器。
【背景技術】
[0002]自1971年研發出第一塊微處理器至今,微處理器技術得到了迅猛發展,在工業生產、航天航空及電子產品等領域有著廣泛的應用。微處理器通常包括控制器、運算器和存儲器,其中控制器用於控制微處理器中各器件的工作,起協調的作用,運算器用於進行各種邏輯運算。微處理器在運行過程中的程序、原始數據、臨時數據及運行結果都寫入存儲器中用於存儲,且控制器會頻繁地從存儲器中讀取程序用於執行,或讀取數據以控制運算器進行運算,然後將更新的數據再寫入存儲器。微處理器訪問存儲器的速度很大程度上影響了微處理器的運行速度。存儲器中的旁路轉換緩衝器(Translat1n lookaside buffer, TLB)是存儲器的主要組成部分,用於存儲虛擬地址到物理地址的轉換表,實現快速尋址。可尋址存儲器(Content Addressable Memory, CAM)作為TLB中關鍵器件,用於實現數據查找功能。
[0003]CAM通常包括多組位查找電路,每組位查找電路包括一個位存儲單元和一個位查找單元,其中,位存儲單元用於存儲一位二進位數O或1,位查找單元將控制器發來的待查找二進位數與位存儲單元中存儲的數據進行比較,若一致,則視為與存儲的數據查找匹配,若不一致,則視為查找不匹配,將查找結果傳遞給下一級電路。微處理器對存儲器的每一次訪問都要執行很多次位查找,因此,改善CAM電路結構,提高位查找的速度,對提高微處理器訪問存儲器的速度有著積極的推動作用。對於帶掩碼位的CAM,通常在位查找單元中設置一個特定的場效應管,其控制端接收掩碼位信號,在掩碼位有效時,該場效應管截止,以使位查找電路的輸出端保持為高電平,不執行查找操作,視為查找匹配;在掩碼位無效時,該場效應管導通,為位查找單元的輸出端提供放電通路,使得位查找單元能夠將位存儲單元中存儲的數據與待查找數據進行比較,判斷是否查找匹配。但該場效應管自身具有的導通電阻會增加輸出端放電的時間,降低了位查找的速度,進而降低了微處理器進行數據查找的速度。
【發明內容】
[0004]本發明提供一種帶掩碼位查找電路、旁路轉換緩衝器、存儲器及微處理器,用於提高微處理器進行數據查找的速度。
[0005]本發明實施例提供一種帶掩碼位查找電路,包括第一位存儲單元、第二位存儲單元、位查找單元和掩碼位數據輸入單元;
[0006]所述掩碼位數據輸入單元用於輸入待存儲數據和掩碼位,當所述掩碼位無效時,所述掩碼位數據輸入單元輸出第一數據、第二數據、第三數據和第四數據,其中,第一數據與第二數據數值相反,第三數據與第四數據數值相反,第一數據與第三數據數值相反;當所述掩碼位有效時,所述掩碼位數據輸入單元輸出查找無效碼,所述查找無效碼用於控制所述位查找單元不執行查找操作;
[0007]所述第一位存儲單元的輸入端與所述掩碼位數據輸入單元相連,用於輸入所述第一數據和第二數據,並存儲為第一存儲數據,所述第二位存儲單元的輸入端與所述掩碼位數據輸入單元相連,用於輸入所述第三數據和第四數據,並存儲為第二存儲數據;
[0008]所述第一位存儲單元的輸出端與所述位查找單元的一個控制端相連,以將所述第一存儲數據傳送給所述位查找單元用於比較,所述第二位存儲單元的輸出端與所述位查找單元的另一個控制端相連,以將所述第二存儲數據傳送給所述位查找單元用於比較。
[0009]本發明實施例提供一種旁路轉換緩衝器,包括可尋址存儲器陣列、靜態存儲陣列及寫信號生成電路,所述可尋址存儲器陣列包括多個上述帶掩碼位查找電路。
[0010]本發明實施例提供一種存儲器,包括旁路轉換緩衝器、高速緩衝存儲器、存儲器地址生成器和多個存儲元,其中,所述旁路轉換緩衝器接收所述存儲器地址生成器發送的虛擬地址的高位,並將所述虛擬地址轉化為物理地址,所述旁路轉換緩衝器採用如上所述的旁路轉換緩衝器。
[0011]本發明實施例提供一種微處理器,包括控制器、運算器和存儲器,所述存儲器採用上述存儲器。
[0012]本發明實施例提供的帶掩碼位查找電路,通過設置掩碼位數據輸入單元,為第一位存儲單元提供第一數據和第二數據,以及為第二位存儲單元提供第三數據和第四數據,在掩碼位無效時將第一數據和第二數據置為數值取反,第三數據和第四數據置為數值取反,以及將第一數據和第三數據置為數值取反,且在掩碼位有效時直接置為查找無效碼,該查找無效碼用於控制位查找單元不執行查找操作,直接視為待存儲數據與待查找數據匹配。並且位查找單元可以根據各位存儲單元中存儲的二進位數直接輸出查找結果,減少了位查找單元中MOS管的數量,縮短放電通路,提高了二進位數查找的速度,進而提高了微處理器進行數據查找的速度。
【專利附圖】
【附圖說明】
[0013]圖1為本發明實施例提供的帶掩碼位查找電路的結構示意圖;
[0014]圖2為本發明實施例提供的帶掩碼位查找電路中的掩碼位數據輸入單元的結構示意圖;
[0015]圖3為本發明實施例提供的帶掩碼位查找電路的工作時序示意圖;
[0016]圖4為本發明實施例提供的帶掩碼位查找電路的另一結構示意圖;
[0017]圖5為本發明實施例提供的帶掩碼位查找電路工作時序的另一示意圖。
【具體實施方式】
[0018]圖1為本發明實施例提供的帶掩碼位查找電路的結構示意圖,圖2為本發明實施例提供的帶掩碼位查找電路中的掩碼位數據輸入單元的結構示意圖。如圖1和圖2所示,帶掩碼位查找電路是CAM中的基本組成部分,CAM可包括多個帶掩碼位查找電路,用於同時查找多個二進位數。
[0019]每個帶掩碼位查找電路包括位存儲單元和位查找單元2,其中,位存儲單元的輸出端與位查找單元2的控制端相連,以將位存儲單元中的存儲數據傳送給位查找單元2用於比較。位存儲單元中的數據輸入端接收控制器發送的二進位數並實現存儲,位查找單元2中的數據輸入端接收控制器發送的待查找二進位數,並將該待查找二進位數與位存儲單元中存儲的二進位數進行比較,若一致,則視為查找匹配,若不一致,則視為查找不匹配,輸出對應的查找結果。在每個帶掩碼位查找電路中,位存儲單元的數量為兩個,具體為第一位存儲單元11和第二位存儲單元12。帶掩碼位查找電路還包括掩碼位數據輸入單元,該掩碼位數據輸入單元包括數據輸入端301和掩碼位輸入端302,分別用於輸入待存儲數據和掩碼位。當掩碼位無效時,該掩碼位數據輸入單元輸出第一數據、第二數據、第三數據和第四數據,並傳送至第一位存儲單元11和第二位存儲單元12存儲,以與待查找數據進行比較,其中,第一數據與第二數據數值取反,第三數據與第四數據數值取反,第一數據和第三數據數值取反。當掩碼位有效時,該掩碼位數據輸入單元輸出查找無效碼,該查找無效碼用於控制位查找單元2不執行查找操作,直接視為待存儲數據與待查找數據匹配。第一位存儲單元11的輸入端與掩碼位數據輸入單元相連,用於輸入第一數據和第二數據,並存儲為第一存儲數據,第二位存儲單元12的輸入端與掩碼位數據輸入單元相連,用於輸入第三數據和第四數據,並存儲為第二存儲數據。第一位存儲單元11的輸出端與位查找單元2的一個控制端連接,以將第一存儲數據傳送給位查找單元2用於比較,第二位存儲單元12的輸出端與位查找單元2的另一個控制端連接,以將第二存儲數據傳送給位查找單元2用於比較。上述輸入的待存儲數據為控制器待輸入給第一位存儲單元11或第二位存儲單元12的待存儲數據。掩碼位則是控制器輸入的,用於控制在掩碼位無效時進行查找,掩碼位有效時直接將待存儲數據與待查找數據置為查找匹配,以控制查找數據位數的指令信號。
[0020]本發明實施例提供的掩碼位數據輸入單元的功能在於可以根據掩碼位的狀態和輸入的待存儲數據產生四組數據。在掩碼位有效時,無論待存儲數據的數值為多少,均由掩碼位數據輸入單元將輸出的四組數據直接置為查找無效碼,該查找無效碼用於控制位查找單元2不執行查找操作,直接視為待存儲數據與待查找數據匹配。在掩碼位無效時,則掩碼位數據輸入單元輸出的第一數據和第三數據互為反相,其具體數值隨輸入的待存儲數據數值的變化而變化。對於掩碼位數據輸入單元,本領域技術人員可自行設計多種電路結構,以實現根據掩碼位的無效狀態來控制位查找電路2執行位查找操作,或根據掩碼位的有效狀態來控制位查找單元2不執行查找操作。本實施例提供一種可實現的方案,如圖2所示,該掩碼位數據輸入單元可以包括第一或非門31、第二或非門32、第一非門33、第二非門34和第三非門35。其中,第一或非門31的第一輸入端用於輸入掩碼位,第二輸入端用於輸入待存儲數據,第一或非門31的輸出端與第一非門33的輸入端連接,第一或非門31的輸出端用於輸出上述第三數據,第一非門33的輸出端用於輸出第四數據。第二或非門32的第一輸入端用於輸入掩碼位,第二輸入端與第三非門35的輸出端連接,第三非門35的輸入端用於輸入待存儲數據,第二或非門32的輸出端與第二非門34的輸入端連接,第二或非門32的輸出端用於輸出上述第一數據,第二非門34的輸出端用於輸出第二數據。
[0021]掩碼位數據輸入單元的工作過程為:當掩碼位為高電平有效時,第一或非門31和第二或非門32的輸出均為低電平,第一非門33和第二非門34的輸出均為高電平,即第一數據和第三數據為0,第二數據和第四數據為1,即查找無效碼為0,以使位查找單元2不執行查找操作,直接視為待存儲數據與待查找數據匹配。當掩碼位為低電平無效時,第一或非門31和第二或非門32的輸出取決於控制器發送的待存儲數據,例如,當待存儲數據為I時,第一或非門31輸出的第三數據為O,第一非門33輸出的第四數據為1,而由於第三非門35的反相作用,使得第二或非門32輸出的第一數據為I,第二非門34輸出的第二數據為O ;當待存儲數據為O時,第一或非門31輸出的第三數據為I,第一非門33輸出的第四數據為O,第二或非門32輸出的第一數據為O,第二非門34輸出的第二數據為I。由此可知,當掩碼位為低電平無效時,第一數據和第三數據數值互為反相,且第一數據和第二數據數值互為反相,第三數據和第四數據數值互為反相。
[0022]對於第一位存儲單元11和第二位存儲單元12,本領域技術人員可採用現有技術中常用的位存儲單元電路結構,也可以自行設計具有存儲二進位數功能的電路結構。所述第二位存儲單元12與所述第一位存儲單元11的結構可以相同,本實施例以第一位存儲單元11為例提供一種具體的實現方案:第一位存儲單元11包括第一場效應(Metal OxidSemiconductor, MOS)管、第二場效應管和具有存儲二進位數功能的交叉稱合反相器,本實施例將第一場效應管簡單稱為第一 M0S101,將第二場效應管簡單稱為第二 M0S102,該第一M0S101和第二M0S102為第一類場效應管,該第一類場效應管可以為η溝道場效應管。本實施例採用源極和漏極對稱、可互換的MOS管,各MOS管的柵極作為控制端,源極和漏極作為數據端。第一 M0S101的控制端連接至寫字線,第一 M0S101的第一數據端用於接收第一數據,將該第一數據端稱為第一存儲數據輸入端41,第一 M0S101的第二數據端連接至交叉耦合反相器的正相輸入端,第二M0S102的控制端連接至寫字線,第二M0S102的第一數據端用於接收第二數據,將該第一數據端稱為第二存儲數據輸入端42,第二 M0S102的第二數據端連接至交叉耦合反相器的反相輸入端。當控制器通過寫字線發出的寫使能信號有效時,上述寫字線為高電平,反之,當寫使能信號無效時,寫字線為低電平。當寫字線為高電平時允許第一 M0S101和第二 M0S102接收數據。第一存儲數據輸入端41為第一位存儲單元11的正相輸入端,第二存儲數據輸入端42為第一位存儲單元11的反相輸入端,兩者用於輸入互為反相的數據。
[0023]上述交叉耦合反相器的功能為存儲二進位數,其具體電路結構也可以由技術人員自行設計,本實施例提供一種實現方案:交叉耦合反相器包括第三場效應管(簡稱:第三M0S103)、第四場效應管(簡稱:第四M0S104)、第五場效應管(簡稱:第五M0S105)和第六場效應管(簡稱:第六M0S106),其中,第三M0S103和第四M0S104為第一類MOS管,該第一類MOS管可以為η溝道MOS管,第五M0S105和第六M0S106為第二類MOS管,該第二類MOS管可以為P溝道MOS管。第三M0S103、第四M0S104、第六M0S106和第五M0S105的各數據端順次連接成環形。第三M0S103的控制端與第五M0S105的控制端連接,且與第四M0S104中與第六M0S106連接的數據端連接,還作為交叉耦合反相器的反相輸入端與第二 M0S102的第二數據端連接。第四M0S104的控制端與第六M0S106的控制端連接,且與第三M0S103中與第五M0S105連接的數據端連接,並且作為交叉耦合反相器的正相輸入端與第一 M0S101的第二數據端連接,另外,還作為第一位存儲單元11輸出端與位查找單元2中對應的一個控制端連接。
[0024]第二位存儲單元12的電路結構與第一位存儲單元11相同,與第一位存儲單元11對應的,第二位存儲單元12中的第一M0S101的第一數據端用於接收第三數據,將該數據端稱為第三存儲數據輸入端43,第二 M0S102的第一數據端用於接收第四數據,稱為第四存儲數據輸入端44,第三存儲數據輸入端43為第二位存儲單元12的正相輸入端,第四存儲數據輸入端44為第二位存儲單元12的反相輸入端,兩者用於輸入相互反相的數據。第二位存儲單元12中的第四M0S104的控制端還作為第二位存儲單元12的輸出端與位查找單元2中對應的一個控制端連接。
[0025]位查找單元2可以包括第七場效應管(簡稱:第七M0S107)、第八場效應管(簡稱:第八M0S108)和第九場效應管(簡稱:第九M0S109),三個MOS管均為第一類MOS管,該第一類MOS管可以為η溝道MOS管。其中,第七M0S107的控制端與第二位存儲單元12的輸出端連接,具體與第二位存儲單元12中的第四M0S104的控制端連接,第七M0S107的第一數據端作為位查找單元2的正相輸入端,接收控制器發出的待查找二進位數,第七M0S107的第二數據端與第八M0S108的第一數據端連接。第八M0S108的第二數據端作為位查找單元2的反相輸入端,接收與待查找二進位數反相的二進位數,可以稱之為反相待查找二進位數,第八M0S108的控制端與第一位存儲單元11的輸出端連接,具體與第一位存儲單元11中的第四M0S104的控制端連接。另外,第七M0S107的第二數據端還與第九M0S109的控制端連接,第九M0S109的第一數據端作為位查找單元2的輸出端,用於輸出查找結果,該輸出端通常在待查找二進位數到來之前先預充為高電平,第九M0S109的第二數據端接地。
[0026]位存儲單元的工作過程為:以第一位存儲單元11為例,當寫字線為高電平有效時,第一 M0S101和第二 M0S102導通,第一 M0S101接收第一數據,第二 M0S102接收第二數據。其中,第一數據存儲的原理根據位存儲單元具體電路結構設定,對於本實施例提供的第一位存儲單元11而言,當掩碼位為低電平無效時,假設第一數據為1,由上述內容可知第二數據與第一數據互為反相,則第二數據為0,第四M0S104和第五M0S105導通,由於第五M0S105和第六M0S106數據端的連線一直置為高電平,而第三M0S103和第四M0S104數據端的連線一直置為低電平,因此第一位存儲單元11能夠保持第四M0S104的控制端,也即第一位存儲單元11的輸出端在本周期內一直保持為1,視為將第一數據存儲在第一位存儲單元11中。第一位存儲單元11將存儲的第一數據輸出給位查找單元2中的第八M0S108的控制端。同樣的,第二位存儲單元12將存儲的第三數據輸出給位查找單元2中的第七M0S107的控制端。
[0027]位查找單元2的工作過程為:當控制器發出的查使能信號有效時,位查找單元2的正相輸入端接收到控制器發來的待查找二進位數,反相輸入端接收到控制器發來的反相待查找二進位數。在待查找數據到來之前,位查找單元2的輸出端預充為高電平。下面根據位存儲單元輸出二進位數的不同進行具體的說明:
[0028]當第一位存儲單元11和第二位存儲單元12輸出的二進位數均為O (即掩碼位有效的狀態)時,第七M0S107和第八M0S108都處於截止狀態,第九M0S109的控制端為低電平,因此第九M0S109也處於截止狀態,故位查找單元2的輸出端仍保持高電平,查找結果為1,直接視為查找匹配。
[0029]當第一位存儲單元11輸出1,且第二位存儲單元12輸出O (即待存儲數據為I)時,第七M0S107截止,第八M0S108導通。若位查找單元2接收到待查找二進位數為1,反相待查找二進位數為0,則第九M0S109的控制端也為0,第九M0S109截止,位查找單元2的輸出端保持為高電平,表示待查找數據與存儲數據一致,視為查找匹配。若位查找單元2接收到待查找二進位數為0,反相待查找二進位數為1,則第九M0S109的控制端也為1,第九M0S109導通,位查找單元2的輸出端通過第九M0S109的導通電阻進行放電後,轉變為低電平,查找結果為O,表示待查找數據與存儲數據不一致,視為查找不匹配。
[0030]當第一位存儲單元11輸出0,且第二位存儲單元12輸出I (即待存儲數據為O)時,第七M0S107導通,第八M0S108截止。若位查找單元2接收到待查找二進位數為1,反相待查找二進位數為0,則第九M0S109的控制端也為1,第九M0S109導通,位查找單元2的輸出端通過第九M0S109的導通電阻進行放電後,轉變為低電平,表示待查找數據與存儲數據不一致,視為查找不匹配。若位查找單元2接收到待查找二進位數為0,反相待查找二進位數為1,則第九M0S109的控制端也為0,第九M0S109截止,位查找單元2的輸出端保持為高電平,查找結果為1,表示待查找數據與存儲數據一致,視為查找匹配。
[0031]圖3為本發明實施例提供的帶掩碼位查找電路的工作時序示意圖。結合圖3以及上述各單元的工作過程,下面對帶掩碼位查找電路在掩碼位無效時的工作過程進行說明:
[0032]在第一周期,設定待存儲數據為1,則在tl時刻,寫字線為高電平,第一位存儲單元11接收到的第一數據為1,第二數據為O (未在附圖中標明),第二位存儲單元12接收到的第三數據為0,第四數據為I (未在附圖中標明),將二進位數I存入第一位存儲單元11,二進位數O存入第二位存儲單元12。在t2時刻,第一數據和第三數據為0,第二數據和第四數據為1,由於寫字線為低電平,各數據的變化不影響存儲數據,因此第一位存儲單元11中存儲的二進位數保持不變,仍為I。且第一位存儲單元11輸出1,第二位存儲單元12輸出O。在t3時刻,查使能信號有效時,假設待查找二進位數為0,則位查找單元2接收到的待查找二進位數為0,反相待查找二進位數為1,則位查找單元2的輸出端輸出0,作為查找結果,表示待查找二進位數與存儲的二進位數不一致,視為查找不匹配。
[0033]在第二周期,設定待存儲數據為0,則在t4時刻,寫字線為高電平,第一位存儲單元11接收到的第一數據為0,第二數據為1,第二位存儲單元12接收到的第三數據為1,第四數據為0,將二進位數O存入第一位存儲單元11,二進位數I存入第二位存儲單元12。在t5時刻,第一數據和第三數據為0,第二數據和第四數據為1,由於寫字線為低電平,各數據的變化不影響存儲數據,因此第一位存儲單元11中存儲的二進位數保持不變,仍為O。且第一位存儲單元11輸出0,第二位存儲單元12輸出I。在t6時刻,查使能信號有效時,假設待查找二進位數為0,位查找單元2接收到的待查找二進位數為0,反相待查找二進位數為1,則位查找單元2的輸出端輸出1,作為查找結果,表示待查找二進位數與存儲的二進位數一致,視為查找匹配。
[0034]在第三周期,設定待存儲數據為1,則在t7時刻,寫字線為高電平,第一位存儲單元11接收到的第一數據為I,第二數據為O,第二位存儲單元12接收到的第三數據為O,第四數據為I,將二進位數I存入第一位存儲單元11,二進位數O存入第二位存儲單元12。在t8時刻,第一數據和第三數據為0,第二數據和第四數據為1,由於寫字線為低電平,各數據的變化不影響存儲數據,因此第一位存儲單元11中存儲的二進位數保持不變,仍為I。且第一位存儲單元11輸出1,第二位存儲單元12輸出O。在t9時刻,查使能信號有效時,假設待查找二進位數為I,位查找單元2接收到的待查找二進位數為I,反相待查找二進位數為0,則位查找單元2的輸出端輸出1,作為查找結果,表示待查找二進位數與存儲的二進位數一致,視為查找匹配。
[0035]在第四周期,設定待存儲數據為0,則在tlO時刻,寫字線為高電平,第一位存儲單元11接收到的第一數據為0,第二數據為1,第二位存儲單元12接收到的第三數據為1,第四數據為O,將二進位數O存入第一位存儲單元11,二進位數I存入第二位存儲單元12。在til時刻,第一數據和第三數據為O,第二數據和第四數據為1,由於寫字線為低電平,各數據的變化不影響存儲數據,因此第一位存儲單元11中存儲的二進位數保持不變,仍為O。且第一位存儲單元11輸出O,第二位存儲單元12輸出I。在tl2時刻,查使能信號有效時,假設待查找二進位數為1,位查找單元2接收到的待查找二進位數為1,反相待查找二進位數為O,則位查找單元2的輸出端輸出O,作為查找結果,表示待查找二進位數與存儲的二進位數不一致,視為查找不匹配。
[0036]上述實施例通過設置掩碼位數據輸入單元,為第一位存儲單元提供第一數據和第二數據,以及為第二位存儲單元提供第三數據和第四數據,在掩碼位無效時將第一數據和第二數據置為數值取反,第一數據和第三數據置為數值取反,第三數據和第四數據置為數值取反,以使位查找單元執行查找操作,且在掩碼位有效時直接置為查找無效碼,控制位查找單元不執行查找操作,直接視為待存儲數據與待查找數據匹配。並且位查找單元可以根據各位存儲單元中存儲的二進位數直接輸出查找結果,不再需要現有技術中受掩碼位信號控制的MOS管,減少了位查找單元中輸出端放電通路上串聯的MOS管的數量,降低了導通電阻,縮短了位查找單元輸出端的放電通路,提高了二進位數查找的速度,進而提高了微處理器進行數據查找的速度。
[0037]在上述技術方案的基礎上,位查找單元2的數量可以為至少兩個,各位查找單元2中的控制端與對應的位存儲單元的輸出端連接,可參照圖4和圖5,圖4為本發明實施例提供的帶掩碼位查找電路的另一結構示意圖,圖5為本發明實施例提供的帶掩碼位查找電路的工作時序的另一示意圖。下面以兩個位查找單元2為例進行具體說明:
[0038]位查找單元2包括第一位查找單元21和第二位查找單元22,第一位查找單元21用於接收控制器發出的第一待查找二進位數和反相第一待查找二進位數,其構成及連接方式可參照上述實施例提供的位查找單元2的實現方式,此處不再贅述。第二位查找單元22可以包括第十場效應管(簡稱:第十MOSl 10)、第^^一場效應管(簡稱:第i^一 MOSlll)和第十二場效應管(簡稱:第十二 M0S112),三個MOS管均為第一類MOS管,該第一類MOS管可以為η溝道MOS管。其中,第十M0S110的控制端與第二位存儲單元12的輸出端連接,接收第二位存儲單元12輸出的二進位數,第十M0S110的第一數據端作為第二位查找單元22的正相輸入端,接收控制器發出的第二待查找二進位數,第十MOSl 10的第二數據端與第十一MOSlll的第一數據端連接。第十一 MOSlll的第二數據端作為位查找單元22的反相輸入端,接收與第二待查找二進位數反相的二進位數,可以稱之為反相第二待查找二進位數,第十一 MOSlll的控制端與第一位存儲單元11的輸出端連接,接收第一位存儲單元11輸出的二進位數。另外,第十M0S110中的第二數據端還與第十二 M0S112的控制端連接,第十二MOSl 12的第一數據端作為位查找單元22的輸出端,用於輸出查找結果,該輸出端通常在第二待查找二進位數到來之前先預充為高電平,第十二 M0S112的第二數據端接地。
[0039]在上述技術方案的基礎上,結合圖5,當掩碼位無效時,包括第一位查找單元21和第二位查找單元22的帶掩碼位查找電路的工作過程為:
[0040]在第一周期,設定待存儲數據為I。在t3時刻,查使能信號有效時,第一位查找單元21接收到的第一待查找二進位數為0,反相第一待查找二進位數為1,第二位查找單元22接收到的第二待查找二進位數為0,反相第二待查找二進位數為1,則第一位查找單元21輸出O,作為第一查找結果,表示第一待查找二進位數與存儲的二進位數不一致,視為查找不匹配,且第二位查找單元22也輸出O,作為第二查找結果,表示第二待查找二進位數與存儲的二進位數不一致,視為查找不匹配。
[0041]在第二周期,設定待存儲數據為O。在t6時刻,查使能信號有效時,第一位查找單元21接收到的第一待查找二進位數為0,反相第一待查找二進位數為1,第二位查找單元22接收到的第二待查找二進位數為0,反相第二待查找二進位數為1,則第一位查找單元21輸出1,作為第一查找結果,表示第一待查找二進位數與存儲的二進位數一致,視為查找匹配,且第二位查找單元22也輸出1,作為第二查找結果,表示第二待查找二進位數與存儲的二進位數一致,視為查找匹配。
[0042]在第三周期,設定待存儲數據為I。在t9時刻,查使能信號有效時,第一位查找單元21接收到的第一待查找二進位數為1,反相第一待查找二進位數為0,第二位查找單元22接收到的第二待查找二進位數為0,反相第二待查找二進位數為1,則第一位查找單元21輸出1,作為第一查找結果,表示第一待查找二進位數與存儲的二進位數一致,視為查找匹配,第二位查找單元22輸出0,作為第二查找結果,表示第二待查找二進位數與存儲的二進位數不一致,視為查找不匹配。
[0043]在第四周期,設定待存儲數據為O。在tl2時刻,查使能信號有效時,第一位查找單元21接收到的第一待查找二進位數為1,反相第一待查找二進位數為0,第二位查找單元22接收到的第二待查找二進位數為0,反相第二待查找二進位數為1,則第一位查找單元21輸出0,作為第一查找結果,表示第一待查找二進位數與存儲的二進位數不一致,視為查找不匹配,第二位查找單元22輸出1,作為第二查找結果,表示第二待查找二進位數與存儲的二進位數一致,視為查找匹配。
[0044]由上述內容可得出,帶掩碼位查找電路採用兩個位查找單元能夠在一個周期內實現兩路並行查找,提高了二進位數的查找速率,進而提高了微處理器進行數據查找的速度。實現了在一個周期內,既可以查找又可以通過虛擬地址讀出物理地址,或者查找出兩組物理地址,而且通過縮短放電通路,提高查找速度,進而提高尋址速度。
[0045]上述位存儲單元和位查找單元不限於本實施例提供的具體結構,也可採用現有技術中常用的電路結構,掩碼位數據輸入單元也可以在本實施例的基礎上做適當的改進,得到其它的電路結構。
[0046]本發明實施例還提供一種旁路轉換緩衝器,可以包括可尋址存儲器陣列、靜態存儲陣列及寫信號生成電路,其中的可尋址存儲器陣列包括上述實施例所提供的帶掩碼位查找電路。可尋址存儲器陣列分別與靜態存儲陣列及寫信號生成電路相連,用於將查找到地址的命中信號分別發送給靜態存儲陣列及寫信號生成電路,以使靜態存儲陣列讀出物理地址。具體的,可尋址存儲器陣列可包括多個並聯的基本查找電路,以及多個並聯的帶掩碼位查找電路,能夠實現並行查找二進位數。該基本查找電路與帶掩碼位查找電路的區別在於,基本查找電路不受控制器發出的掩碼位的控制。靜態存儲陣列及寫信號生成電路可採用現有技術中常用的器件,或由本領域技術人員設計實現,可尋址存儲器陣列與其它器件的具體連接方式可以採用本領域技術人員常用的技術方案來實現。採用上述旁路轉換緩衝器,能夠提高二進位數查找的速度,進而提高微處理器訪問存儲器的速度。
[0047]本發明實施例還提供一種存儲器,包括旁路轉換緩衝器、高速緩衝存儲器、存儲器地址生成器和多個存儲元,其中,所述旁路轉換緩衝器與存儲器地址生成器相連,用於接收所述存儲器地址生成器發送的虛擬地址的高位,並將所述虛擬地址轉化為物理地址。該旁路轉換緩衝器採用本實施例所提供的旁路轉換緩衝器。
[0048]存儲器還可以包括標誌位比較(Tag Compare,簡稱TAGCMP)模塊和訪存隊列模塊,具體的,旁路轉換緩衝器和高速緩衝存儲器與多個存儲元連接,接收存儲的數據,存儲器地址生成器還與高速緩衝存儲器相連,主要執行地址加法,形成虛擬地址,並將虛擬地址的高位和低位分別送到旁路轉換緩衝器和高速緩衝存儲器。旁路轉換緩衝器將得到的虛擬地址轉化為物理地址,高速緩衝存儲器根據得到的虛擬地址的低位索引對應的數據及其物理地址。TAGCMP模塊分別與旁路轉換緩衝器、高速緩衝存儲器和訪存隊列模塊排隊相連,將旁路轉換緩衝器和高速緩衝存儲器得到的物理地址進行比較,確定高速緩衝存儲器是否命中。若高速緩衝存儲器中缺失物理地址,則要從二級高速緩衝存儲器或內存讀取相應的數據,否則讀寫高速緩衝存儲器的操作將進入訪存隊列模塊排隊,等待執行。採用上述實施例提供的存儲器,能夠提高二進位位查找的速度,進而提高微處理器訪問存儲器的速度。
[0049]本發明實施例還提供一種微處理器,包括控制器、運算器和存儲器,其中存儲器採用上述實施例所提供的存儲器。控制器分別與運算器和存儲器相連,用於從存儲器中讀取程序和數據,控制運算器進行數據運算和分析,然後將處理後的結果再寫入存儲器中。採用本實施例所提供的微處理器,提高了對二進位位查找的速度,進而提高了存儲器進行訪問的速度,大大提高了微處理器的性能。
[0050]最後應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的範圍。
【權利要求】
1.一種帶掩碼位查找電路,其特徵在於,包括第一位存儲單元、第二位存儲單元、位查找單元和掩碼位數據輸入單元; 所述掩碼位數據輸入單元用於輸入待存儲數據和掩碼位,當所述掩碼位無效時,所述掩碼位數據輸入單元輸出第一數據、第二數據、第三數據和第四數據,其中,第一數據與第二數據數值相反,第三數據與第四數據數值相反,第一數據與第三數據數值相反;當所述掩碼位有效時,所述掩碼位數據輸入單元輸出查找無效碼,所述查找無效碼用於控制所述位查找單元不執行查找操作; 所述第一位存儲單元的輸入端與所述掩碼位數據輸入單元相連,用於輸入所述第一數據和第二數據,並存儲為第一存儲數據,所述第二位存儲單元的輸入端與所述掩碼位數據輸入單元相連,用於輸入所述第三數據和第四數據,並存儲為第二存儲數據; 所述第一位存儲單元的輸出端與所述位查找單元的一個控制端相連,以將所述第一存儲數據傳送給所述位查找單元用於比較,所述第二位存儲單元的輸出端與所述位查找單元的另一個控制端相連,以將所述第二存儲數據傳送給所述位查找單元用於比較。
2.根據權利要求1所述的帶掩碼位查找電路,其特徵在於,所述掩碼位數據輸入單元包括第一或非門、第二或非門、第一非門、第二非門和第三非門; 所述第一或非門的第一輸入端用於輸入所述掩碼位,所述第一或非門的第二輸入端用於輸入所述待存儲數據,所述第一或非門的輸出端與所述第一非門的輸入端連接,所述第一或非門的輸出端用於輸出所述第三數據,所述第一非門的輸出端用於輸出所述第四數據; 所述第二或非門的第一輸入端用於輸入所述掩碼位,所述第二或非門的第二輸入端與所述第三非門的輸出端連接,所述第三非門的輸入端用於輸入所述待存儲數據,所述第二或非門的輸出端與所述第二非門的輸入端連接,所述第二或非門的輸出端用於輸出所述第一數據,所述第二非門的輸出端用於輸出所述第二數據。
3.根據權利要求2所述的帶掩碼位查找電路,其特徵在於,所述第一位存儲單元包括:第一場效應管、第二場效應管和具有存儲二進位數功能的交叉耦合反相器,所述第一場效應管和第二場效應管為第一類場效應管; 所述第一場效應管的控制端連接至寫字線,所述第一場效應管的第一數據端用於接收所述第一數據,所述第一場效應管的第二數據端連接至所述交叉耦合反相器的正相輸入端; 所述第二場效應管的控制端連接至寫字線,所述第二場效應管的第一數據端用於接收所述第二數據,所述第二場效應管的第二數據端連接至所述交叉耦合反相器的反相輸入端; 所述第二位存儲單元與所述第一位存儲單元的結構相同;所述第二位存儲單元中的第一場效應管的第一數據端用於接收所述第三數據,所述第二位存儲單元中的第二場效應管的第一數據端用於接收所述第四數據。
4.根據權利要求3所述的帶掩碼位查找電路,其特徵在於,所述交叉耦合反相器包括第三場效應管、第四場效應管、第五場效應管和第六場效應管,所述第三場效應管和第四場效應管為所述第一類場效應管,所述第五場效應管和第六場效應管為第二類場效應管; 所述第三場效應管、第四場效應管、第六場效應管和第五場效應管的各數據端順次連接成環形; 所述第三場效應管的控制端與所述第五場效應管的控制端連接,且與所述第四場效應管中與第六場效應管連接的數據端連接,還作為所述交叉耦合反相器的反相輸入端與所述第二場效應管的第二數據端連接; 所述第四場效應管的控制端與所述第六場效應管的控制端連接,且與所述第三場效應管中與第五場效應管連接的數據端連接,並且作為所述交叉耦合反相器的正相輸入端與所述第一場效應管的第二數據端連接,還作為所述第一位存儲單元或第二位存儲單元的輸出端與所述位查找單元中對應的一控制端連接。
5.根據權利要求4所述的帶掩碼位查找電路,其特徵在於,所述位查找單元包括:第七場效應管、第八場效應管和第九場效應管,所述第七場效應管、第八場效應管和第九場效應管為所述第一類場效應管; 所述第七場效應管的控制端與所述第二位存儲單元的輸出端連接,所述第七場效應管的第一數據端用於接收待查找二進位數,所述第七場效應管的第二數據端與所述第八場效應管的第一數據端連接,所述第八場效應管的第二數據端用於接收與所述待查找二進位數反相的二進位數,所述第八場效應管的控制端與所述第一位存儲單元的輸出端連接; 所述第七場效應管的第二數據端還與所述第九場效應管的控制端連接,所述第九場效應管的第一數據端作為所述位查找單元的輸出端,用於輸出查找結果,所述第九場效應管的第二數據端接地。
6.根據權利要求1-5任一項所述的帶掩碼位查找電路,其特徵在於,所述位查找單元的數量為至少兩個,各所述位查找單元中的控制端與對應的位存儲單元的輸出端連接。
7.根據權利要求4或5所述的帶掩碼位查找電路,其特徵在於,所述第一類場效應管為η溝道場效應管,所述第二類場效應管為P溝道場效應管。
8.一種旁路轉換緩衝器,包括可尋址存儲器陣列、靜態存儲陣列及寫信號生成電路,其特徵在於,所述可尋址存儲器陣列包括多個權利要求1-7任一項所述的帶掩碼位查找電路。
9.一種存儲器,包括旁路轉換緩衝器、高速緩衝存儲器、存儲器地址生成器和多個存儲元,其中,所述旁路轉換緩衝器接收所述存儲器地址生成器發送的虛擬地址的高位,並將所述虛擬地址轉化為物理地址,其特徵在於,所述旁路轉換緩衝器採用權利要求8所述的旁路轉換緩衝器。
10.一種微處理器,包括控制器、運算器和存儲器,其特徵在於,所述存儲器採用權利要求9所述的存儲器。
【文檔編號】G06F9/30GK104252333SQ201310259758
【公開日】2014年12月31日 申請日期:2013年6月26日 優先權日:2013年6月26日
【發明者】王麗娜, 範煜川 申請人:龍芯中科技術有限公司