欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

存儲(chǔ)器緩存架構(gòu)中的cpu的制作方法

文檔序號(hào):6362346閱讀:149來源:國知局
專利名稱:存儲(chǔ)器緩存架構(gòu)中的cpu的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及存儲(chǔ)器緩存架構(gòu)中的CPU,更具體地,涉及存儲(chǔ)器交叉式緩存架構(gòu)中的CPU。
背景技術(shù)
在微處理器(術(shù)語“微處理器”在本文中也被等同地稱為“處理器”、“核”和中央處理單元“CPU”)中,使用在具有8層或更多層的金屬互連的管芯(die)(術(shù)語“管芯”和“芯片(chip)”在本文中等同地使用)上連接在一起的互補(bǔ)金屬氧化物半導(dǎo)體(CMOS)晶體管來實(shí)現(xiàn)傳統(tǒng)(legacy)計(jì)算機(jī)架構(gòu)。另一方面,存儲(chǔ)器典型地被制造在具有三層或更多層的金屬互連的管芯上。緩存是物理地位于計(jì)算機(jī)的主存儲(chǔ)器與中央處理單元(CPU)之間的快速存儲(chǔ)結(jié)構(gòu)。因?yàn)閷?shí)現(xiàn)傳統(tǒng)緩存系統(tǒng)需要大量晶體管,所以傳統(tǒng)緩存系統(tǒng)(在下文中稱為“傳統(tǒng)緩存”)消耗大量功率。緩存的目的在于縮短用于數(shù)據(jù)存取和指令執(zhí)行的有效的存儲(chǔ)器存取時(shí)間。在涉及競(jìng)爭(zhēng)更新和數(shù)據(jù)獲取和指令執(zhí)行的極高交易量環(huán)境中,經(jīng)驗(yàn)表明經(jīng)常被存取的指令和數(shù)據(jù)傾向于物理定位于靠近存儲(chǔ)器中其它經(jīng)常被存取的指令和數(shù)據(jù),并且最近被存取的指令和數(shù)據(jù)通常被重復(fù)地存取。緩存通過在物理靠近于CPU的存儲(chǔ)器中維持可能被存取的指令和數(shù)據(jù)的冗余副本來利用這種空間和時(shí)間的局域性。傳統(tǒng)緩存通常將“數(shù)據(jù)緩存”定義成不同于“指令緩存”。這些緩存攔截CPU存儲(chǔ)器請(qǐng)求,確定緩存中是否 存在目標(biāo)數(shù)據(jù)或指令,并且以緩存讀取或?qū)懭胱鞒鲰憫?yīng)。緩存讀取或?qū)懭霑?huì)比關(guān)于外部存儲(chǔ)器(即,諸如外部DRAM、SRAM、閃存和/或磁帶或磁盤上的存儲(chǔ)裝置,在下文中共同稱為“外部存儲(chǔ)器”)讀取或?qū)懭肟旌芏啾?。如果所?qǐng)求的數(shù)據(jù)或指令沒有存在于緩存中,則發(fā)生緩存“缺失(miss)”,導(dǎo)致將所需的數(shù)據(jù)或指令從外部存儲(chǔ)器轉(zhuǎn)移至緩存。單級(jí)緩存的有效存儲(chǔ)器存取時(shí)間是“緩存存取時(shí)間” X “緩存命中率”+ “緩存缺失代價(jià)”X “緩存缺失率”。有時(shí),多級(jí)緩存被用于更多地減少有效存儲(chǔ)器存取時(shí)間。每個(gè)更高級(jí)的緩存的尺寸逐漸變大并且與逐漸更大的緩存“缺失”代價(jià)關(guān)聯(lián)。典型的傳統(tǒng)微處理器可具有1-3CPU時(shí)鐘周期的I級(jí)緩存存取時(shí)間、8-20時(shí)鐘周期的2級(jí)存取時(shí)間和80-200時(shí)鐘周期的芯片外存取時(shí)間。傳統(tǒng)指令緩存的加速機(jī)制是基于對(duì)空間和時(shí)間局域性(S卩,緩存回路的存儲(chǔ)器并且重復(fù)地調(diào)用類似系統(tǒng)日期、登錄/登出等的函數(shù))。回路內(nèi)的指令從外部存儲(chǔ)器被一次提取并被存儲(chǔ)在指令緩存中。通過回路的第一執(zhí)行因?yàn)槭紫葟耐獠看鎯?chǔ)器提取回路指令的代價(jià)而成為最慢的。然而,隨后經(jīng)過回路的每個(gè)執(zhí)行直接從緩存提取指令,這會(huì)快得多。傳統(tǒng)緩存邏輯將存儲(chǔ)器地址翻譯為緩存地址。每個(gè)外部存儲(chǔ)器地址必須與列出已保持在緩存中的存儲(chǔ)器位置的行的表進(jìn)行比較。此比較邏輯通常被實(shí)現(xiàn)為內(nèi)容可尋址存儲(chǔ)器(CAM)。不同于用戶提供存儲(chǔ)器地址并且RAM返回存儲(chǔ)在該地址處的數(shù)據(jù)字的標(biāo)準(zhǔn)計(jì)算機(jī)隨機(jī)存取存儲(chǔ)器(即,“RAM”、“DRAM”、SRAM、SDRAM等,在本文中共同被等同地稱為“RAM”或“DRAM”或“外部存儲(chǔ)器”或“存儲(chǔ)器”),CAM被設(shè)計(jì)成使得用戶提供數(shù)據(jù)字,并且CAM搜尋其整個(gè)存儲(chǔ)器以查看該數(shù)據(jù)字是否被存儲(chǔ)于其中的任何位置。如果找到該數(shù)據(jù)字,則CAM返回一個(gè)或多個(gè)發(fā)現(xiàn)該字的存儲(chǔ)器地址的列表(在一些架構(gòu)中,其還返回?cái)?shù)據(jù)字本身、或者其它關(guān)聯(lián)的數(shù)據(jù)片)。因此,CAM是在軟件術(shù)語被稱為“關(guān)聯(lián)陣列”的硬件等同。比較邏輯是復(fù)雜且緩慢的,并且隨著緩存的尺寸的增加而復(fù)雜度增加且速度降低。這些“關(guān)聯(lián)緩存”在復(fù)雜度和速度之間權(quán)衡以得到改進(jìn)的緩存命中率。傳統(tǒng)操作系統(tǒng)(OS)實(shí)現(xiàn)虛擬存儲(chǔ)器(VM)管理以使得少量的物理存儲(chǔ)器對(duì)于程序/用戶表現(xiàn)為大得多的存儲(chǔ)器。VM邏輯使用間接尋址以將用于非常大量的存儲(chǔ)器的VM地址翻譯為物理存儲(chǔ)器位置的小得多的子集的地址。間接提供了在指令、例程和對(duì)象的物理位置恒定變化時(shí)存取指令、例程和對(duì)象的方式。初始例程指向某一存儲(chǔ)器地址,并且該存儲(chǔ)器地址使用硬件和/或軟件指向某一其它存儲(chǔ)器地址??纱嬖诙嗉?jí)間接。例如,指向A,A指向B,B指向C。物理存儲(chǔ)器位置由稱為“頁框”或簡(jiǎn)單地稱為“框”的連續(xù)存儲(chǔ)器的大小固定的塊組成。當(dāng)選擇供執(zhí)行的程序時(shí),VM管理器將程序帶入虛擬存儲(chǔ)器中,將其劃分至固定塊大小(即,例如4千字節(jié)“4K”)的頁中,然后將這些頁轉(zhuǎn)移至主存儲(chǔ)器用于執(zhí)行。對(duì)于編程者/用戶,整個(gè)程序和數(shù)據(jù)看起來一直占據(jù)主存儲(chǔ)器中的連續(xù)空間。然而,實(shí)際上,并非程序或數(shù)據(jù)的所有頁必須同時(shí)在主存儲(chǔ)器中,并且在任意特定時(shí)間點(diǎn)處于主存儲(chǔ)器中的頁未必占據(jù)連續(xù)的空間。因此,在虛擬存儲(chǔ)器外執(zhí)行/存取的程序和數(shù)據(jù)塊在如下執(zhí)行/存取之前、之中或之后,按需要通過VM管理器在實(shí)際與輔助存儲(chǔ)器之間往復(fù)移動(dòng):(a)主存儲(chǔ)器的塊是框;(b)虛擬存儲(chǔ)器的塊是頁;(C)輔助存儲(chǔ)器的塊是槽(slot)。頁、框和槽全部為相同大小?;钴S的虛擬存儲(chǔ)器頁駐留在各自的主存儲(chǔ)器框中。變得不活躍的虛擬存儲(chǔ)頁移到輔助存儲(chǔ)槽(有時(shí)被稱為分頁數(shù)據(jù)集)。VM頁充當(dāng)從整個(gè)VM地址空間可能存取的頁的高級(jí)緩存。當(dāng)VM管理器將舊的、較不經(jīng)常使用的頁發(fā)送至外部輔助存儲(chǔ)器時(shí),可編址的存儲(chǔ)器頁框填充頁槽。傳統(tǒng)VM管理通過承擔(dān)管理主存儲(chǔ)器和外部存儲(chǔ)裝置的大部分職責(zé)來簡(jiǎn)化計(jì)算機(jī)編程。傳統(tǒng)VM管理通常需要使用翻譯表進(jìn)行VM地址與物理地址之間的比較。必須搜尋翻譯表以查找每個(gè)存儲(chǔ)器存取和被翻譯為物理地址的虛擬地址。翻譯后備緩沖器(TLB)是可加速虛擬地址與物理地址之間的比較的最近VM存取的小緩存。TLB通常被實(shí)現(xiàn)為CAM,并且搜尋TLB比順序搜尋頁表快成千上萬倍。每個(gè)指令執(zhí)行必然導(dǎo)致查找每個(gè)VM地址的開銷。由于緩存構(gòu)成傳統(tǒng)計(jì)算機(jī)的晶體管和功耗的大部分,所以調(diào)諧它們對(duì)于大多數(shù)組織的整體信息技術(shù)預(yù)算而言是極其重要的?!罢{(diào)諧”可來自改進(jìn)的硬件、或軟件、或兩者?!败浖{(diào)諧”典型地表現(xiàn)為將經(jīng)常存取的程序、數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)放置在由如DB2、Oracle、Microsoft SQL服務(wù)器和MS/Access的數(shù)據(jù)庫管理系統(tǒng)(DBMS)軟件限定的緩存中。DBMS實(shí)現(xiàn)的緩存對(duì)象通過存儲(chǔ)如索引的重要數(shù)據(jù)結(jié)構(gòu)和如結(jié)構(gòu)化查詢語言(SQL)例程的經(jīng)常執(zhí)行指令來增強(qiáng)應(yīng)用程序執(zhí)行性能和數(shù)據(jù)庫吞吐量,其中結(jié)構(gòu)化查詢語言(SQL)例程執(zhí)行共同系統(tǒng)或數(shù)據(jù)庫函數(shù)(即,“日期”或“登錄/登出”)。
對(duì)于通用的處理器,使用多核處理器的大部分動(dòng)機(jī)來自于處理器性能因增加操作頻率(即,每秒的時(shí)鐘周期)而明顯減少的潛在增益。這是由于三個(gè)主要因數(shù):1.存儲(chǔ)器墻:處理器與存儲(chǔ)器速度之間不斷增加的差距。這個(gè)效應(yīng)推動(dòng)緩存大小變大以遮掩存儲(chǔ)器的延遲。其僅有助于達(dá)到存儲(chǔ)器帶寬不是性能的瓶頸的程度。2.指令級(jí)并行(ILP)墻:在單指令流中找到足夠的并行性以保持高性能單核處理器繁忙的不斷增加的困難。3.功率墻:不斷增加的功率與操作頻率的增加之間的線性關(guān)系。這種增加可通過為同一邏輯使用更小的追蹤使處理器“收縮”而減緩。功率墻帶來了在面對(duì)因存儲(chǔ)器墻和ILP墻而導(dǎo)致性能的增益減少時(shí)還未被證明是合理的制造、系統(tǒng)、設(shè)計(jì)和部署的問題。為了繼續(xù)輸送用于通用處理器的定期性能改進(jìn),諸如Intel和AMD的制造商轉(zhuǎn)向多核設(shè)計(jì),犧牲了低制造成本而在一些應(yīng)用和系統(tǒng)中換取更高性能。正在開發(fā)多核架構(gòu)及替代物。例如,對(duì)于已建立市場(chǎng),特別強(qiáng)勁的競(jìng)爭(zhēng)者是將外圍功能進(jìn)一步集成到芯片中。同一管芯上多個(gè)CPU核的鄰近允許緩存相干電路以比信號(hào)必須傳播至芯片外的可能時(shí)鐘速率高得多的時(shí)鐘速率進(jìn)行操作。在單個(gè)管芯上組合等同的CPU明顯地改進(jìn)了緩存和總線監(jiān)聽操作的性能。由于不同的CPU之間的信號(hào)行進(jìn)較短的距離,所以這些信號(hào)劣化較小。因?yàn)閱为?dú)的信號(hào)可能更短并且不需經(jīng)常重復(fù),這些“較高質(zhì)量的”信號(hào)允許在給定時(shí)間段中更多的數(shù)據(jù)被更可靠地發(fā)送。性能上最大的提高出現(xiàn)在CPU密集型過程中,如抗病毒掃描、翻錄/燃燒媒質(zhì)(需要文件轉(zhuǎn)換)或者搜尋文件夾。例如,如果在觀看電影的同時(shí)自動(dòng)地進(jìn)行抗病毒掃描,則運(yùn)行電影的應(yīng)用不太可能缺乏處理器功率,因?yàn)榭共《境绦虮环峙涞脚c運(yùn)行電影的處理器不同的處理器核。多核處理器對(duì)DBMS和OS是理想的,因?yàn)樗鼈冊(cè)试S許多用戶同時(shí)連接至站點(diǎn)并具有獨(dú)立的處理器執(zhí)行。因此,網(wǎng)絡(luò)服務(wù)器和應(yīng)用服務(wù)器可實(shí)現(xiàn)更好的吞吐量。傳統(tǒng)計(jì)算機(jī)具有將指令和數(shù)據(jù)在緩存與CPU之間往復(fù)路由的芯片上緩存和總線。這些總線通常為單端具有軌對(duì)軌電壓擺動(dòng)。一些傳統(tǒng)計(jì)算機(jī)使用差分信號(hào)(DS)以增加速度。例如,RAMBUS公司使用低電壓匯流來增加速度,RAMBUS公司是引入全差分高速存儲(chǔ)器存取以用于CPU與存儲(chǔ)器芯片之間通信的一家加利福尼亞公司。RAMBUS裝備的存儲(chǔ)器芯片非??欤桥c類似SRAM或SDRAM的雙數(shù)據(jù)速率(DDR)的存儲(chǔ)器相比較,消耗更多的功率。作為另一示例,射極耦合邏輯(ECL)通過使用單端、低電壓信號(hào)實(shí)現(xiàn)了高速匯流。當(dāng)行業(yè)的其余總線以5伏或高于5伏操作時(shí),ECL總線以0.8伏進(jìn)行操作。然而,類似于RAMBUS和大多數(shù)其他低電壓信號(hào)系統(tǒng),ECL的缺陷在于消耗太多的功率,甚至在其沒有接通時(shí)也是如此。傳統(tǒng)緩存系統(tǒng)的另一問題是為了在最小的管芯上封裝最大數(shù)量的存儲(chǔ)器位,存儲(chǔ)器位線間距被保持為非常小。“設(shè)計(jì)規(guī)則”是定義在管芯上制造的裝置的各種元件的物理參數(shù)。存儲(chǔ)器制造商為管芯的不同區(qū)域定義不同的規(guī)則。例如,存儲(chǔ)器的大小最關(guān)鍵區(qū)域是存儲(chǔ)器單元。用于存儲(chǔ)器單元的設(shè)計(jì)規(guī)則可被稱為“核心規(guī)則”。下一最關(guān)鍵區(qū)域通常包括諸如位線感測(cè)放大器(BLSA,在下文中稱為“感測(cè)放大器”)的元件。對(duì)于該區(qū)域的設(shè)計(jì)規(guī)則可被稱為“陣列規(guī)則”。存儲(chǔ)器管芯上的所有其余部件,包括解碼器、驅(qū)動(dòng)器和1/0,由可被稱為“外圍規(guī)則”的規(guī)則管理。核心規(guī)則是最密集的,陣列規(guī)則是次密集的,外圍規(guī)則的最不密集的。例如,實(shí)現(xiàn)核心規(guī)則所需的最小物理幾何空間可以為llOnm,而用于外圍規(guī)則的最小幾何空間可能需要180nm。線間距由核心規(guī)則確定。被用于在存儲(chǔ)器處理器中實(shí)現(xiàn)CPU的大多數(shù)邏輯由外圍規(guī)則確定。因此,存在非常有限的空間可用于緩存位和邏輯。感測(cè)放大器非常小且非???,但是它們也沒有很多的驅(qū)動(dòng)能力。傳統(tǒng)緩存系統(tǒng)的另一問題是與直接使用感測(cè)放大器作為緩存關(guān)聯(lián)的處理開銷,因?yàn)楦袦y(cè)放大器內(nèi)容通過刷新操作而改變。雖然這在一些存儲(chǔ)器上可行,但是在DRAM (動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)的情況下存在問題。DRAM需要在每個(gè)時(shí)間段內(nèi)將其存儲(chǔ)器陣列的每個(gè)位讀取和重新寫入一次,以刷新位存儲(chǔ)電容器上的電荷。如果直接使用感測(cè)放大器作為緩存,在每個(gè)刷新時(shí)間中,感測(cè)放大器的緩存內(nèi)容必須被寫回至其正緩存的DRAM行。然后待被刷新的DRAM行必須被讀取和寫回。最后,之前被保持的DRAM行必須被讀回至感測(cè)放大器緩存中。

發(fā)明內(nèi)容
克服現(xiàn)有技術(shù)中的前述限制和缺陷需要的是一種存儲(chǔ)器緩存架構(gòu)中的新的CPU,其解決在存儲(chǔ)器處理器中的單核(下文中“CM”)和多核(下文中“CMM”)CPU上實(shí)現(xiàn)VM管理的許多挑戰(zhàn)。更具體地,公開了用于計(jì)算機(jī)系統(tǒng)的緩存架構(gòu),該計(jì)算機(jī)系統(tǒng)具有至少一個(gè)處理器和制造在單片存儲(chǔ)器管芯上的合并的主存儲(chǔ)器,該緩存機(jī)構(gòu)包括用于每個(gè)處理器的復(fù)用器、解復(fù)用器和本地緩存,所述本地緩存包括專用于至少一個(gè)DMA通道的DMA緩存、專用于指令地址寄存器的I緩存、專用于源地址寄存器的X緩存和專用于目標(biāo)地址寄存器的Y緩存,其中,每個(gè)所述處理器存取至少一個(gè)包含一個(gè)RAM行的芯片上內(nèi)部總線,該RAM行的大小可以與關(guān)聯(lián)的本地緩存相同;其中,所述本地緩存可操作為在一個(gè)行地址選通(RAS)周期中被填充或清除,并且所述RAM行的全部感測(cè)放大器能夠由所述復(fù)用器選擇,而由所述解復(fù)用器取消選擇至可用于RAM刷新的關(guān)聯(lián)的所述本地緩存的復(fù)制相應(yīng)位。該新的緩存架構(gòu)采用用于優(yōu)化CM芯片上的緩存位邏輯可用的非常有限的物理空間的新方法。通過緩存分割成多個(gè)單獨(dú)的雖然小但每個(gè)可同時(shí)被存取和更新的緩存而增加緩存位邏輯可用的存儲(chǔ)器。本發(fā)明的另一方面采用用于使用類比最不經(jīng)常使用的(LFU)檢測(cè)器經(jīng)由緩存頁“缺失”來管理VM。在另一方面,VM管理器可將緩存頁“缺失”與其他CPU操作并行。在另一方面,低電壓差分信號(hào)急劇地減少長(zhǎng)總線的功耗。在又一方面,提供了與指令緩存配對(duì)的新的啟動(dòng)只讀存儲(chǔ)器(R0M),該啟動(dòng)只讀存儲(chǔ)器在OS的“初始程序加載”的過程中簡(jiǎn)化本地緩存的初始化。在又一方面,本發(fā)明包括用于通過CM或CIMM VM管理器對(duì)本地存儲(chǔ)器、虛擬存儲(chǔ)器和芯片外外部存儲(chǔ)器進(jìn)行解碼的方法。在一個(gè)方面,本發(fā)明包括一種用于具有至少一個(gè)處理器的計(jì)算機(jī)系統(tǒng)的緩存架構(gòu),所述緩存架構(gòu)包括用于每個(gè)所述處理器的解復(fù)用器和至少兩個(gè)本地緩存,所述本地緩存包括專用于指令地址寄存器的I緩存和專用于源地址寄存器的X緩存;其中,每個(gè)所述處理器存取至少一個(gè)包含用于關(guān)聯(lián)的所述本地緩存的RAM行的芯片上內(nèi)部總線;其中,所述本地緩存可操作為在一個(gè)RAS周期中被填充或清除,并且所述RAM行的全部感測(cè)放大器能夠由所述解復(fù)用器取消選擇至關(guān)聯(lián)的所述本地緩存的復(fù)制相應(yīng)位。在另一方面,本發(fā)明的本地緩存還包括專用于至少一個(gè)DMA通道的DMA緩存,在多個(gè)其它的實(shí)施方式中,這些本地緩存還可包括專用于堆棧工作寄存器的S緩存,該S緩存與可能的專用于目標(biāo)寄存器的Y緩存和專用于堆棧工作寄存器的S緩存以各種可能的方式結(jié)人
口 O在另一方面,本發(fā)明還可包括用于每個(gè)所述處理器的至少一個(gè)LFU檢測(cè)器,至少一個(gè)LFU檢測(cè)器包括芯片上電容器和運(yùn)算放大器,運(yùn)算放大器被設(shè)置為一列積分器和比較器,比較器實(shí)現(xiàn)布爾邏輯以通過讀取與最不經(jīng)常使用的緩存頁關(guān)聯(lián)的LFU的IO地址來連續(xù)地識(shí)別所述最不經(jīng)常使用的緩存頁。在另一方面,本發(fā)明還可包括與每個(gè)所述本地緩存配對(duì)的啟動(dòng)ROM以在重新啟動(dòng)操作的過程中簡(jiǎn)化CIM緩存初始化。在另一方面,本發(fā)明還可包括用于每個(gè)所述處理器的復(fù)用器以選擇所述RAM行的感測(cè)放大器。在另一方面,本發(fā)明還可包括使用低電壓差分信號(hào)存取所述至少一個(gè)芯片上內(nèi)部總線的每個(gè)所述處理器。在另一方面,本發(fā)明包括一種連接單片存儲(chǔ)芯片的RAM內(nèi)的處理器的方法,該方法包括允許將所述RAM的任意位選擇至在多個(gè)緩存中維持的復(fù)制位的必需步驟,所述步驟包括:(a)將存儲(chǔ)器位邏輯地分組成四個(gè)組;(b)將所有四個(gè)位線從所述RAM發(fā)送至復(fù)用器輸入;(C)通過接通由地址線的四種可能狀態(tài)所控制的四個(gè)開關(guān)中的一個(gè),將所述四個(gè)位線之一選擇至復(fù)用器輸出;(d)通過使用由指令解碼邏輯提供的解復(fù)用器開關(guān),將所述多個(gè)緩存之一連接至所述復(fù)用器輸出。在另一方面,本發(fā)明包括一種通過緩存頁缺失來管理CPU的VM的方法,該方法包括以下步驟:(a)在CPU處理至少一個(gè)專用緩存地址寄存器的情況下,所述CPU檢查所述寄存器的高階位的內(nèi)容;以及(b)當(dāng)所述位的內(nèi)容改變時(shí),如果在與所述CPU關(guān)聯(lián)的CAMTLB中沒有找到所述寄存器的頁地址內(nèi)容,則所述CPU將缺頁中斷返回至VM管理器,以用與所述寄存器的所述頁地址內(nèi)容對(duì)應(yīng)的VM的新頁替換所述緩存頁的內(nèi)容;否則(c)所述CPU使用所述CAM TLB確定實(shí)地址。在另一方面,本發(fā)明的用于管理VM的方法還包括以下步驟:(d)如果在與所述CPU關(guān)聯(lián)的CAM TLB中沒有找到所述寄存器的頁地址內(nèi)容,則確定當(dāng)前在所述CAM TLB中的最不經(jīng)常被緩存的頁以接收VM的所述新頁的內(nèi)容。在另一方面,本發(fā)明的用于管理VM的方法還包括以下步驟:(e)記錄LFU檢測(cè)器中的頁存??;所述確定的步驟還包括使用所述LFU檢測(cè)器確定在CAM TLB中的當(dāng)前最不經(jīng)常被緩存的頁。在另一方面,本發(fā)明包括一種使緩存缺失與其他CPU操作并行的方法,該方法包括以下步驟:(a)如果在存取第二緩存的情況下沒有發(fā)生緩存缺失,則對(duì)至少所述第二緩存的內(nèi)容進(jìn)行處理,直至對(duì)于第一緩存的緩存缺失處理被解決;以及(b)處理所述第一緩存的內(nèi)容。
在另一方面,本發(fā)明包括一種減少單片芯片上數(shù)字總線中的功耗的方法,該方法包括以下步驟:(a)均衡化和預(yù)充電所述數(shù)字總線的至少一個(gè)總線驅(qū)動(dòng)器上的一組差分位;(b)均衡化接收器;(C)在所述至少一個(gè)總線驅(qū)動(dòng)器上維持所述位長(zhǎng)達(dá)至少所述數(shù)字總線的最慢裝置傳播延遲時(shí)間;(d)關(guān)閉所述至少一個(gè)總線驅(qū)動(dòng)器;(e)打開所述接收器;以及(f)通過所述接收器讀取所述位。在另一方面,本發(fā)明包括一種降低緩存總線所消耗的功率的方法,包括以下步驟:(a)均衡化差分信號(hào)對(duì)并將所述信號(hào)預(yù)充電至Vcc ;(b)預(yù)充電和均衡化差分接收器;(C)將發(fā)送器連接至至少一個(gè)交叉耦合的逆變的至少一個(gè)差分信號(hào)線,并將發(fā)送器放電達(dá)超過所述交叉耦合反相器裝置傳播延遲時(shí)間的時(shí)間段;(d)將所述差分接收器連接至所述至少一個(gè)差分信號(hào)線;以及(e)使所述差分接收器允許所述至少一個(gè)交叉耦合反相器達(dá)到全Vcc擺動(dòng),同時(shí)被所述至少一個(gè)差分線偏置。在另一方面,本發(fā)明包括一種使用啟動(dòng)加載線性ROM啟動(dòng)存儲(chǔ)器架構(gòu)中的CPU的方法,該方法包括以下步驟;(a)通過所述啟動(dòng)加載ROM檢測(cè)功率有效狀態(tài);(b)在執(zhí)行停止的情況下,將全部CPU保持在重置狀態(tài);(c)將所述啟動(dòng)加載ROM內(nèi)容轉(zhuǎn)移到第一 CPU的至少一個(gè)緩存;(d)將專用于所述第一 CPU的所述至少一個(gè)緩存的寄存器設(shè)置為二進(jìn)制零;以及Ce)使所述第一 CPU的系統(tǒng)時(shí)鐘能夠從所述至少一個(gè)緩存開始執(zhí)行。在另一方面,本發(fā)明包括一種通過CM VM管理器對(duì)本地存儲(chǔ)器、虛擬存儲(chǔ)器和芯片外外部存儲(chǔ)器進(jìn)行解碼的方法,該方法包括以下步驟:(a)當(dāng)CPU處理至少一個(gè)所述專用的緩存地址寄存器時(shí),如果CPU確定寄存器的至少一個(gè)高階位改變;則(b)當(dāng)所述至少一個(gè)高階位的內(nèi)容為非零時(shí),所述VM管理器使用外部存儲(chǔ)器總線將由所述寄存器所編址的頁從所述外部存儲(chǔ)器轉(zhuǎn)移至所述緩存;否則( c )所述VM管理器將所述頁從所述本地存儲(chǔ)器轉(zhuǎn)移至所述緩存。在另一方面,本發(fā)明用于通過CM VM管理器對(duì)本地存儲(chǔ)器解碼的方法還包括:所述寄存器的所述至少一個(gè)高階位僅在對(duì)至任何地址寄存器的ST0RACC指令、算前減量指令和算后增量指令的處理期間改變,所述CPU確定的步驟還包括通過指令類型進(jìn)行確定。在另一方面,本發(fā)明包括一種通過CIMM VM管理器對(duì)本地存儲(chǔ)器、虛擬存儲(chǔ)器和芯片外外部存儲(chǔ)器進(jìn)行解碼的方法,該方法包括以下步驟:(a)當(dāng)CPU處理至少一個(gè)所述專用的緩存地址寄存器時(shí),如果CPU確定寄存器的至少一個(gè)高階位改變;則(b)當(dāng)所述至少一個(gè)高階位的內(nèi)容為非零時(shí),所述VM管理器使用外部存儲(chǔ)器總線和處理器間,將由所述寄存器所編址的頁從所述外部存儲(chǔ)器轉(zhuǎn)移至所述緩存;否則(c)如果所述CPU檢測(cè)到所述寄存器與所述緩存不相關(guān)聯(lián),所述VM管理器使用所述處理器間總線將所述頁從遠(yuǎn)程存儲(chǔ)器組轉(zhuǎn)移至所述緩存;否則( c )所述VM管理器將所述頁從所述本地存儲(chǔ)器轉(zhuǎn)移至所述緩存。在另一方面,本發(fā)明的用于通過CMM VM管理器對(duì)本地存儲(chǔ)器解碼的方法還包括:所述寄存器的所述至少一個(gè)高階位僅在對(duì)至任何地址寄存器的ST0RACC指令、算前減量指令和算后增量指令的處理期間改變,所述CPU確定的步驟還包括通過指令類型進(jìn)行確定。


圖1描繪了示例性現(xiàn)有技術(shù)的傳統(tǒng)緩存架構(gòu);圖2示出了具有兩個(gè)Cl麗CPU的示例性現(xiàn)有技術(shù)的Cl麗管芯;圖3展示了現(xiàn)有技術(shù)的傳統(tǒng)數(shù)據(jù)和指令緩存;圖4示出了現(xiàn)有技術(shù)的緩存與尋址寄存器的配對(duì);圖5A-5D展示了基本CIM緩存架構(gòu)的實(shí)施方式;圖5E-5H展示了改進(jìn)的CIM緩存架構(gòu)的實(shí)施方式;圖6A-6D展示了基本Cl麗緩存架構(gòu)的實(shí)施方式;圖6E-6H展示了改進(jìn)的CIMM緩存架構(gòu)的實(shí)施方式;圖7A示出了根據(jù)一個(gè)實(shí)施方式如何選擇多個(gè)緩存;圖7B示出了被集成到64兆位的DRAM中的4個(gè)Cl麗CPU的存儲(chǔ)器映射;圖7C示出了當(dāng)請(qǐng)求CPU和響應(yīng)存儲(chǔ)體在處理器間總線上通信時(shí)用于管理它們的示例性存儲(chǔ)器邏輯;圖7D示出了根據(jù)一個(gè)實(shí)施方式如何對(duì)三種類型的存儲(chǔ)器進(jìn)行解碼;圖8A示出了在CMM緩存的一個(gè)實(shí)施方式中LFU檢測(cè)器(100)物理存在之處;圖SB描繪了通過使用“LFU IO端口 ”的緩存頁“缺失”進(jìn)行的VM管理;圖8C描繪了 LFU檢測(cè)器100的物理構(gòu)造;圖8D示出了示例性LFU判斷邏輯;圖8E示出了示例性LFU真值表;圖9描述了與其他CPU操作并行的緩存頁“缺失”;圖1OA是示出使用差分信號(hào)的CMM緩存功率節(jié)約的電路圖;圖1OB是示出通過產(chǎn)生Vdiff來使用差分信號(hào)的CMM緩存功率節(jié)約的電路圖;圖1OC描繪了一個(gè)實(shí)施方式的不例性CIMM緩存低電壓差分信號(hào);圖1lA描繪了一個(gè)實(shí)施方式的示例性CMM緩存啟動(dòng)ROM配置;以及圖1lB示出了一個(gè)預(yù)期的示例性CIMM緩存啟動(dòng)加載器操作。
具體實(shí)施方式
圖1描繪了示例性傳統(tǒng)緩存架構(gòu),圖3對(duì)傳統(tǒng)數(shù)據(jù)緩存與傳統(tǒng)指令緩存進(jìn)行了區(qū)分。諸如在圖2所描繪的現(xiàn)有技術(shù)CIMM通常通過將CPU放置成與硅管芯上的主存儲(chǔ)器物理相鄰而減輕了傳統(tǒng)計(jì)算機(jī)架構(gòu)的存儲(chǔ)器總線和功率耗散問題。CPU靠近于主存儲(chǔ)器提供了使CIMM緩存與在DRAM、SRAM和閃存裝置中發(fā)現(xiàn)的主存儲(chǔ)器位線緊密關(guān)聯(lián)的機(jī)會(huì)。緩存與存儲(chǔ)器位線之間的交叉(interdigitation)的優(yōu)勢(shì)包括:1.用于在緩存與存儲(chǔ)器之間路由的很短物理空間,從而減少了存取時(shí)間和功耗;2.明顯地簡(jiǎn)化了緩存架構(gòu)和相關(guān)的控制邏輯;以及3.在單個(gè)RAS周期中裝載整個(gè)緩存的能力。CIMM緩存加速直線碼CIMM緩存架構(gòu)相應(yīng)地可加速裝配在其緩存內(nèi)的回路,但是與傳統(tǒng)的指令緩存系統(tǒng)不同,CIMM緩存通過在單個(gè)RAS周期中并行的緩存裝載,使甚至單次使用的直線碼加速。一個(gè)預(yù)期的CIMM緩存實(shí)施方式包括在25時(shí)鐘周期中填充512個(gè)指令緩存的能力。由于從緩存提取每個(gè)指令需要單個(gè)周期,所以即使在執(zhí)行直線碼時(shí),有效的緩存讀取時(shí)間也為:1周期+25周期/512=1.05周期。CIMM緩存的一個(gè)實(shí)施方式包括在存儲(chǔ)器管芯上將主存儲(chǔ)器和多個(gè)緩存放置成彼此物理相鄰并通過很寬的總線相連,從而使得:1.至少一個(gè)緩存與每個(gè)CPU地址寄存器配對(duì);2.通過緩存頁管理VM;以及3.使緩存“缺失”恢復(fù)與其它CPU操作并行。使緩存與地址寄存器配對(duì)使緩存與地址寄存器配對(duì)不是新的。圖4示出了一個(gè)現(xiàn)有技術(shù)的實(shí)施例,其包括四個(gè)地址寄存器:X、Y、S (堆棧工作寄存器)和PC (與指令寄存器相同)。圖4中的每個(gè)地址寄存器與512字節(jié)緩存關(guān)聯(lián)。如同在傳統(tǒng)緩存架構(gòu)中,CIMM緩存僅通過多個(gè)專用地址寄存器存取存儲(chǔ)器,其中每個(gè)地址寄存器與不同的緩存關(guān)聯(lián)。通過將存儲(chǔ)器存取與地址寄存器關(guān)聯(lián),緩存管理、VM管理和CPU存儲(chǔ)器存取邏輯被明顯地簡(jiǎn)化。然而,與傳統(tǒng)緩存架構(gòu)不同,每個(gè)CIMM緩存的位與RAM (諸如動(dòng)態(tài)RAM或DRAM)的位線對(duì)齊,產(chǎn)生了交叉式緩存。用于每個(gè)緩存的內(nèi)容的地址是關(guān)聯(lián)的地址寄存器的最低有效的(即,按位計(jì)數(shù)的最右邊的)9位。緩存位線與存儲(chǔ)器之間的這種交叉的一個(gè)優(yōu)勢(shì)在于確定緩存“缺失”的速度和簡(jiǎn)單。與傳統(tǒng)緩存架構(gòu)不同,CIMM緩存僅在地址寄存器的最高有效位改變時(shí)才評(píng)估“缺失”,而且地址寄存器僅可以以下兩種方式之一進(jìn)行改變:1.ST0REACC 至地址寄存器。例如:ST0REACC,X,2.從地址寄存器的9個(gè)最低有效位進(jìn)位/借位。例如:ST0REACC,(X+)對(duì)于大多數(shù)指令流,CIMM緩存達(dá)到了超過99%的命中率。這意味著在進(jìn)行“缺失”評(píng)估的同時(shí),100個(gè)指令中少于I個(gè)指令經(jīng)歷延遲。CIMM緩存顯著地簡(jiǎn)化緩存邏輯CIMM緩存可被認(rèn)為是非常長(zhǎng)的單線緩存。整個(gè)緩存可在單個(gè)DRAM RAS周期內(nèi)載入,因而與需要在窄的32位或64位總線上載入緩存的傳統(tǒng)緩存系統(tǒng)相比,顯著地減少了緩存“缺失”代價(jià)。這種短緩存線的“缺失”率高得難以接受。使用長(zhǎng)的單個(gè)緩存線,CIMM緩存僅需要單個(gè)地址比較。傳統(tǒng)緩存系統(tǒng)不使用長(zhǎng)的單個(gè)緩存線,因?yàn)榕c使用其緩存架構(gòu)所需的常規(guī)短的緩存線相比,將會(huì)使緩存“缺失”代價(jià)增加許多倍。對(duì)于窄位線間距的Cl麗緩存解決方案一個(gè)預(yù)期的CIMM緩存實(shí)施方式解決由CPU與緩存之間的CIMM窄位線間距所呈現(xiàn)的許多問題。圖6H示出了 CMM緩存實(shí)施方式的4位以及之前描述的設(shè)計(jì)規(guī)則的3個(gè)級(jí)的相互作用。圖6H的左側(cè)包括附接至存儲(chǔ)器單元的位線。這些位線是使用核心規(guī)則實(shí)現(xiàn)的。向右移動(dòng),之后的部分包括被指定為DMA緩存、X緩存、Y緩存、S緩存和I緩存的5個(gè)緩存。這些緩存是使用陣列規(guī)則實(shí)現(xiàn)的。該圖的右側(cè)包括鎖存器、總線驅(qū)動(dòng)器、地址解碼器和熔合器(fuse)。這些是使用外圍規(guī)則實(shí)現(xiàn)的。CIMM緩存解決了現(xiàn)有技術(shù)的緩存架構(gòu)中的下列問題:1.由刷新改變的感測(cè)放大器內(nèi)容圖6H示出了由DMA緩存、X緩存、Y緩存、S緩存和I緩存鏡像的DRAM感測(cè)放大器。以此方式,緩存與DRAM刷新隔離并增強(qiáng)了 CPU性能。2.緩存位的有限空間感測(cè)放大器實(shí)際上為鎖存裝置。在圖6H中,CMM緩存被示出為復(fù)制用于DMA緩存、X緩存、Y緩存、S緩存和I緩存的感測(cè)放大器邏輯和設(shè)計(jì)規(guī)則。結(jié)果,一個(gè)緩存位可容納在存儲(chǔ)器的位線間距中。5個(gè)緩存中的每個(gè)的一個(gè)位被安置在與4個(gè)感測(cè)放大器相同的空間中。四個(gè)傳輸晶體管將4個(gè)感測(cè)放大器位中的任意一個(gè)選擇至公共但是。4個(gè)額外的傳輸晶體管將但是位選擇至5個(gè)緩存中的任意一個(gè)。以此方式,任意存儲(chǔ)器位可被存儲(chǔ)到圖6H所示的5個(gè)交叉式的緩存中的任意一個(gè)。使用復(fù)用/解復(fù)用將緩存匹配至DRAM諸如在圖2中描繪的現(xiàn)有技術(shù)的CMM將DRAM組位匹配至關(guān)聯(lián)的CPU中的緩存位。該設(shè)置的優(yōu)勢(shì)是相比于采用不同芯片上的CPU和存儲(chǔ)器的其它傳統(tǒng)架構(gòu),速度明顯增加而功耗減少。然而,該設(shè)置的缺陷是DRAM位線的物理空間必須增加以容納CPU緩存位。由于設(shè)計(jì)規(guī)則約束,緩存位必須比DRAM位大得多。因此與不采用本發(fā)明的CIM交叉式緩存的DRAM相比,連接至CM緩存的DRAM的物理尺寸必須增加多達(dá)4倍。圖6H展示了在Cl麗中將CPU連接至DRAM的更緊湊的方法。將DRAM的任意位選擇至多個(gè)緩存的一個(gè)位所必需的步驟如下:1.如地址線A[10:9]所指示的,將存儲(chǔ)器位邏輯地分組成4個(gè)組;2.將所有4個(gè)位線從DRAM發(fā)送至復(fù)用器輸入;3.通過接通由地址線A[10:9]的4種可能狀態(tài)控制的4個(gè)開關(guān)之一,將4個(gè)位線之一選擇到復(fù)用器輸出;4.通過使用解復(fù)用器開關(guān)將多個(gè)緩存之一連接至復(fù)用器輸出。這些開關(guān)在圖6H中被描繪為κχ、KY、KS、KI和KDMA。這些開關(guān)和控制信號(hào)由指令解碼邏輯提供。CIMM緩存的交叉式緩存實(shí)施方式相對(duì)于現(xiàn)有技術(shù)的主要優(yōu)勢(shì)在于,多個(gè)緩存可連接至幾乎任意現(xiàn)有的商業(yè)型DRAM陣列,而無需修改該陣列且無需增加該DRAM陣列的物理尺寸。3.有限的感測(cè)放大器驅(qū)動(dòng)圖7A示出了雙向鎖存器和總線驅(qū)動(dòng)器的物理上更大且更有力的實(shí)施方式。該邏輯使用由外圍規(guī)則形成的較大晶體管實(shí)現(xiàn),并且覆蓋4位線的間距。這些較大的晶體管具有驅(qū)動(dòng)沿存儲(chǔ)器陣列的邊緣延伸的長(zhǎng)數(shù)據(jù)總線的強(qiáng)度。雙向鎖存器通過連接至指令解碼的傳輸晶體管之一而連接至4個(gè)緩存位之一。例如,如果指令指示X緩存待被讀取,則選擇X線使傳輸晶體管將X緩存連接至雙向鎖存器。圖7A示出了在許多存儲(chǔ)器中發(fā)現(xiàn)的解碼和修復(fù)熔合塊如何仍與本發(fā)明一起使用。管理多處理器緩存和存儲(chǔ)器圖7B示出了 CMM緩存的一個(gè)預(yù)期實(shí)施方式的存儲(chǔ)器映射,在其中4個(gè)CMM CPU被集成到64M位的DRAM中。64M位被進(jìn)一步劃分成四個(gè)2M字節(jié)組。每個(gè)CIMM CPU被放置成物理地鄰近于四個(gè)2M字節(jié)DRAM組中的每個(gè)。數(shù)據(jù)在處理器間總線上通過CPU與存儲(chǔ)器組之間。處理器間總線控制器根據(jù)請(qǐng)求/允許邏輯仲裁,使得一個(gè)請(qǐng)求CPU和一個(gè)響應(yīng)存儲(chǔ)器組同時(shí)在處理器間總線上通信。圖7C示出了當(dāng)每個(gè)CIMM處理器查看相同的總體存儲(chǔ)器映射時(shí)的示例性存儲(chǔ)器邏輯。存儲(chǔ)器層次包括:本地存儲(chǔ)器-2M字節(jié),物理上鄰近于各個(gè)Cl麗CPU ;遠(yuǎn)程存儲(chǔ)器-不是本地存儲(chǔ)器的所有單片存儲(chǔ)器(通過處理器間總線存取);以及外部存儲(chǔ)器-不是單片存儲(chǔ)器的所有存儲(chǔ)器(通過外部存儲(chǔ)器總線存取)。圖7B中的每個(gè)CMM處理器通過多個(gè)緩存和關(guān)聯(lián)的地址寄存器存取存儲(chǔ)器。從地址寄存器或從VM管理器器直接獲得的物理地址被解碼以確定需要哪種類型的存儲(chǔ)器存取:本地、遠(yuǎn)程或外部。圖7B中的CPUO將其本地存儲(chǔ)器編址為0-2M字節(jié)。地址2-8M字節(jié)在處理器間總線上被存取。大于8M字節(jié)的地址在外部存儲(chǔ)器總線上被存取。CPUl將其本地存儲(chǔ)器編址為2-4M字節(jié)。地址0-2M字節(jié)和4-8M字節(jié)在處理器間總線上被存取。大于8M字節(jié)的地址在外部存儲(chǔ)器總線上被存取。CPU2將其本地存儲(chǔ)器編址為4-6M字節(jié)。地址
0-4M字節(jié)和6-8M字節(jié)在處理器間總線上被存取。大于8M字節(jié)的地址在外部存儲(chǔ)器總線上被存取。CPU3將其本地存儲(chǔ)器編址為6-8M字節(jié)。地址0-6M字節(jié)在處理器間總線上被存取。大于8M字節(jié)的地址在外部存儲(chǔ)器總線上被存取。不同于傳統(tǒng)多核緩存,當(dāng)?shù)刂芳拇嫫鬟壿嫏z測(cè)到必要性時(shí),CIMM緩存透明地執(zhí)行處理器間總線轉(zhuǎn)移。圖7D示出了如何執(zhí)行該解碼。在該實(shí)施例中,當(dāng)CPUl的X寄存器明確地通過ST0REACC指令或者隱含地通過算前減量或算后增量指令而改變時(shí),發(fā)生以下步驟:1.如果在位A[31_23]中沒有改變,不進(jìn)行任何操作;否則,2.如果位A[31_23]不為零,則使用外部存儲(chǔ)器總線和處理器間總線將512個(gè)字節(jié)從外部存儲(chǔ)器轉(zhuǎn)移至X緩存;3.如果位A[31:23]為零,則將位A[22:21]與指示如圖7D所示的CPU1,01的數(shù)字相比較。如果匹配,則將512個(gè)字節(jié)從本地存儲(chǔ)器轉(zhuǎn)移至X緩存。如果不匹配,則使用處理器間總線將512個(gè)字節(jié)從由A[22:21]指示的遠(yuǎn)程存儲(chǔ)器組轉(zhuǎn)移至X緩存。所描述的方法是容易編程的,因?yàn)槿我釩PU可透明地存取本地、遠(yuǎn)程或外部存儲(chǔ)器。通過緩存頁“缺失”進(jìn)行的VM管理器與傳統(tǒng)的VM管理器不同,CMM緩存僅在地址寄存器的最高有效位改變時(shí)才需要查找虛擬地址。因此,與傳統(tǒng)方法相比,通過CIMM緩存實(shí)現(xiàn)的VM管理將明顯更有效和簡(jiǎn)化。圖6A詳述了 CMM VM管理器的一個(gè)實(shí)施方式。32項(xiàng)CAM用作TLB。在該實(shí)施方式中,20位虛擬地址被翻譯為CIMM DRAM行的11位物理地址。最不經(jīng)常使用(LTU)的檢測(cè)器的結(jié)構(gòu)和操作圖8A描繪了實(shí)現(xiàn)VM邏輯的VM控制器,VM控制器由一個(gè)CMM緩存實(shí)施方式的術(shù)語“VM控制器”標(biāo)識(shí),該CMM緩存實(shí)施方式將地址的4K-64K頁從大的虛構(gòu)的“虛擬地址空間”翻譯為非常小的現(xiàn)存的“物理地址空間”。虛擬地址至物理地址轉(zhuǎn)換列表通常由常被實(shí)現(xiàn)為CAM (參見圖6B)的轉(zhuǎn)換表的緩存加速。由于CAM的大小是固定的,所以VM管理器邏輯必須連續(xù)地決定最不可能需要哪一個(gè)虛擬地址至物理地址轉(zhuǎn)換,因而使VM管理器邏輯可將這些轉(zhuǎn)換用新的地址映射來替代。經(jīng)常地,最不可能需要的地址映射與本發(fā)明的圖8A-圖SE中示出的LFU檢測(cè)器實(shí)施方式實(shí)現(xiàn)的“最不經(jīng)常使用的”地址映射相同。圖SC的LFU檢測(cè)器實(shí)施方式示出了待被計(jì)數(shù)的若干“活動(dòng)事件脈沖”。對(duì)于LFU檢測(cè)器,事件輸入被連接至存儲(chǔ)器讀取和存儲(chǔ)器寫入信號(hào)的組合以存取特定的虛擬存儲(chǔ)器頁。每次頁被存取時(shí),附接至圖8C中的特定積分器的關(guān)聯(lián)的“活動(dòng)事件脈沖”稍微增加積分器的電壓。全部積分器不斷地接收防止積分器飽和的“回歸脈沖”。圖SB中的CAM的每個(gè)項(xiàng)具有積分器和事件邏輯以對(duì)虛擬頁讀取和寫入計(jì)數(shù)。具有最低累積電壓的積分器是接收到最少的事件脈沖并因而與最不經(jīng)常使用的虛擬存儲(chǔ)器頁關(guān)聯(lián)的積分器。最不經(jīng)常使用的頁的編號(hào)LDB[4:0]可被CPU讀取作為IO地址。圖SB示出了連接至CPU地址總線A[31:12]的VM管理器的操作。虛擬地址被CAM轉(zhuǎn)換為物理地址A[22:12]。CAM中的項(xiàng)被CPU編址為IO端口。如果在CAM中沒有發(fā)現(xiàn)虛擬地址,則生成缺頁中斷。中斷例程通過讀取LFU檢測(cè)器的IO地址確定保持最不經(jīng)常使用頁LDB[4:0]的CAM地址。然后,例程通常通過磁盤或閃存裝置將所需的虛擬存儲(chǔ)器頁定位,并將其讀入物理存儲(chǔ)器中。CPU將新頁的虛擬至物理的映射寫入至之前由LFU檢測(cè)器讀取的CAM IO地址,然后與CAM地址關(guān)聯(lián)的積分器通過長(zhǎng)回歸脈沖而被放電至零。圖8B的TLB包含32個(gè)基于最近的存儲(chǔ)器存取而最可能被存取的存儲(chǔ)器頁。當(dāng)VM邏輯確定可能存取除了當(dāng)前在LTB中的32個(gè)頁之外的新的頁時(shí),TLB項(xiàng)之一必須被標(biāo)記以用于移除和由新頁替換。存在兩個(gè)用于確定必須被移除的頁的常用策略:最近最少使用(LRU)和最不經(jīng)常使用(LFU)。LRU比LFU更易于實(shí)現(xiàn)并且通常更快。LRU在傳統(tǒng)計(jì)算機(jī)中更常見。然而,LFU通常是比LRU更好的預(yù)測(cè)器。Cl麗緩存LFU方法在圖8B的32項(xiàng)的LTB的下方可見。其指示了 CIMM LFU檢測(cè)器的類比實(shí)施方式的子集。子集示意圖示出了 4個(gè)積分器。具有32項(xiàng)TLB的系統(tǒng)包含32個(gè)積分器,每個(gè)積分器與每個(gè)TLB項(xiàng)關(guān)聯(lián)。在操作中,至LTB項(xiàng)的每個(gè)存儲(chǔ)器存取事件向其關(guān)聯(lián)的積分器貢獻(xiàn)“向上”脈沖。以固定的間隔,所有積分器接收“向下”脈沖以阻止積分器隨時(shí)間固定于它們的最大值。得到的系統(tǒng)包括具有與其相應(yīng)的LTB項(xiàng)的相應(yīng)存取數(shù)對(duì)應(yīng)的輸出電壓的多個(gè)積分器。這些電壓被傳遞至一組比較器,該組比較器計(jì)算在圖8C-8E中被示出為Outl、0ut2和0ut3的多個(gè)輸出。圖8D在ROM中或通過組合邏輯實(shí)現(xiàn)真值表。在4個(gè)TLB項(xiàng)的子集實(shí)施例中,需要2位指示LFU TLB項(xiàng)。在32項(xiàng)TLB中,需要5位。圖8E示出了用于三個(gè)輸出和用于相應(yīng)的LTB項(xiàng)的LFU輸出的子集真值表。差分信號(hào)與現(xiàn)有技術(shù)的系統(tǒng)不同,一個(gè)CIMM緩存實(shí)施方式使用低電壓差分信號(hào)(DS)數(shù)據(jù)總線以通過采用它們的低電壓擺動(dòng)來減少功耗。如圖10A-10B所示,計(jì)算機(jī)總線是至地面網(wǎng)絡(luò)的分布式電阻器和電容器的電氣等同物??偩€以其分布式電容器中的充電和放電的方式消耗功率。功耗由下式表示:頻率X電容X電壓平方。當(dāng)頻率增加時(shí),消耗更多的功率,同樣地,當(dāng)電容增加時(shí),也消耗更多的功率。然而最重要的是與電壓的關(guān)系。消耗的功率隨電壓的平方而增加。這意味著如果總線上的電壓擺動(dòng)減少10,則總線消耗的功率減少100。CMM緩存低電壓DS實(shí)現(xiàn)了差分模式的高性能以及由低電壓信號(hào)可實(shí)現(xiàn)的低功耗。圖1OC示出了如何實(shí)現(xiàn)這種高性能和低功耗。操作包括以下三步:1.差分總線被預(yù)充電至已知水平并被均衡化;2.信號(hào)生成器電路產(chǎn)生脈沖,該脈沖將差分總線充電至高得足夠由差分接收器可靠讀取的某一電壓。由于信號(hào)生成器電路與其控制的總線構(gòu)建在相同基板上,所以脈沖持續(xù)時(shí)間將追蹤構(gòu)建有信號(hào)生成器電路的基板的溫度和過程。如果溫度增加,則接收器晶體管減速,但是信號(hào)生成器晶體管也減速。因此,脈沖長(zhǎng)度會(huì)因增加的溫度而增加。當(dāng)脈沖關(guān)閉時(shí),總線電容器會(huì)相對(duì)于數(shù)據(jù)率長(zhǎng)時(shí)間保持差分充電;以及3.在脈沖關(guān)閉一段時(shí)間之后,時(shí)鐘啟用交叉耦合的差分接收器。為了可靠地讀取數(shù)據(jù),差分電壓僅需要高于差分接收器晶體管的電壓的失配電壓。并行化緩存與其他CPU操作一個(gè)CMM緩存實(shí)施方式包括5個(gè)獨(dú)立的緩存:X、Y、S、I (指令或PC)以及DMA。這些緩存中的每個(gè)與其他緩存獨(dú)立地并且并行地操作。例如,X緩存可從DRAM加載,而其他緩存可供使用。如圖9所示,智能編譯器可通過開始從DRAM加載X緩存并同時(shí)繼續(xù)使用Y緩存中的操作數(shù)來利用這種并行。當(dāng)消耗Y緩存數(shù)據(jù)時(shí),編譯器可開始從DRAM加載下一個(gè)Y緩存數(shù)據(jù)項(xiàng)并繼續(xù)在最新加載的X緩存中現(xiàn)存的數(shù)據(jù)上進(jìn)行操作。通過以此方式采用重疊的多個(gè)獨(dú)立的CIMM緩存,編譯器可避免緩存“缺失”代價(jià)。啟動(dòng)加載器另一預(yù)期的CIMM緩存實(shí)施方式使用小的啟動(dòng)加載器以包含從諸如閃存的永久存儲(chǔ)器或其他外部存儲(chǔ)裝置加載程序的指令。一些現(xiàn)有技術(shù)的設(shè)計(jì)使用了芯片外ROM以保持啟動(dòng)加載器。這需要添加僅在起動(dòng)時(shí)使用而在其余時(shí)間被閑置的數(shù)據(jù)線和地址線。其他現(xiàn)有技術(shù)將常規(guī)ROM放置在具有CPU的管芯上。使ROM嵌在CPU管芯上的缺陷在于ROM與芯片上CPU或DRAM的平面圖均不大兼容。圖1lA示出了預(yù)期的啟動(dòng)ROM配置,圖1lB描繪了關(guān)聯(lián)的CIMM緩存啟動(dòng)加載器操作。與CIMM單線指令的間距和尺寸匹配的ROM被放置為鄰近指令緩存(即,圖1lB中的I緩存)。重置之后,該ROM的內(nèi)容被轉(zhuǎn)移至單周期中的指令緩存。因此,從ROM內(nèi)容開始執(zhí)行。該方法使用了現(xiàn)有的指令緩存解碼和指令讀取邏輯,因而需要比之前的被嵌入的ROM少得多的空間。本發(fā)明之前描述的實(shí)施方式具有如所公開的許多優(yōu)勢(shì)。雖然本發(fā)明的各個(gè)方面已非常詳細(xì)地參照某些優(yōu)選實(shí)施方式進(jìn)行了描述,但是許多替換的實(shí)施方式也是可能的。因此,權(quán)利要求的精神和范圍應(yīng)該不限于優(yōu)選實(shí)施方式的描述,也不限于本文所展示的替換實(shí)施方式。由申請(qǐng)人的新的CIMM緩存架構(gòu)(例如LFU檢測(cè)器)預(yù)期的許多方面例如可由傳統(tǒng)OS和DBMS在傳統(tǒng)緩存中、或者在非CMM芯片上實(shí)現(xiàn),因此能夠通過在對(duì)用戶的軟件調(diào)諧效果本身明顯的硬件上的改進(jìn)來改進(jìn)OS存儲(chǔ)器管理、數(shù)據(jù)庫和應(yīng)用程序吞吐量以及整體計(jì)算機(jī)執(zhí)行性能。
權(quán)利要求
1.一種用于具有至少一個(gè)處理器的計(jì)算機(jī)系統(tǒng)的緩存架構(gòu),所述緩存架構(gòu)包括用于每個(gè)所述處理器的至少兩個(gè)本地緩存和解復(fù)用器,所述本地緩存包括專用于指令地址寄存器的I緩存和專用于源地址寄存器的X緩存;其中,每個(gè)所述處理器存取至少一個(gè)芯片上內(nèi)部總線,所述至少一個(gè)芯片上內(nèi)部總線包含用于關(guān)聯(lián)的所述本地緩存的一個(gè)RAM行;其中,所述本地緩存可操作為在一個(gè)RAS周期中被填充或清除,并且所述RAM行的全部感測(cè)放大器能夠由所述解復(fù)用器取消選擇至關(guān)聯(lián)的所述本地緩存的復(fù)制相應(yīng)位。
2.根據(jù)權(quán)利要求1所述的緩存架構(gòu),所述本地緩存還包括專用于至少一個(gè)DMA通道的DMA緩存。
3.根據(jù)權(quán)利要求1或2所述的緩存架構(gòu),所述本地緩存還包括專用于堆棧工作寄存器的S緩存。
4.根據(jù)權(quán)利要求1或2所述的緩存架構(gòu),所述本地緩存還包括專用于目標(biāo)地址寄存器的Y緩存。
5.根據(jù)權(quán)利要求1或2所述的緩存架構(gòu),所述本地緩存還包括專用于堆棧工作寄存器的S緩存和專用于目標(biāo)地址寄存器的Y緩存。
6.根據(jù)權(quán)利要求1或2所述的緩存架構(gòu),還包括用于每個(gè)所述處理器的至少一個(gè)LFU檢測(cè)器,所述LFU檢測(cè)器包括芯片上電容器和運(yùn)算放大器,所述運(yùn)算放大器被配置為一系列積分器和比較器,所述比較器實(shí)現(xiàn)布爾邏輯以通過讀取與最不經(jīng)常使用的緩存頁關(guān)聯(lián)的LFU的IO地址來連續(xù)地識(shí)別所述最不經(jīng)常使用的緩存頁。
7.根據(jù)權(quán)利要求1或2所述的緩存架構(gòu),還包括啟動(dòng)ROM,該啟動(dòng)ROM與每個(gè)所述本地緩存配對(duì)以在重新啟動(dòng)操作的過程中簡(jiǎn)化CM緩存初始化。
8.根據(jù)權(quán)利要求1或2所述的緩 存架構(gòu),還包括用于每個(gè)所述處理器的復(fù)用器,以選擇所述RAM行的感測(cè)放大器。
9.根據(jù)權(quán)利要求3所述的緩存架構(gòu),還包括用于每個(gè)所述處理器的復(fù)用器,以選擇所述RAM行的感測(cè)放大器。
10.根據(jù)權(quán)利要求4所述的緩存架構(gòu),還包括用于每個(gè)所述處理器的復(fù)用器,以選擇所述RAM行的感測(cè)放大器。
11.根據(jù)權(quán)利要求5所述的緩存架構(gòu),還包括用于每個(gè)所述處理器的復(fù)用器,以選擇所述RAM行的感測(cè)放大器。
12.根據(jù)權(quán)利要求6所述的緩存架構(gòu),還包括用于每個(gè)所述處理器的復(fù)用器,以選擇所述RAM行的感測(cè)放大器。
13.根據(jù)權(quán)利要求7所述的緩存架構(gòu),還包括用于每個(gè)所述處理器的復(fù)用器,以選擇所述RAM行的感測(cè)放大器。
14.根據(jù)權(quán)利要求1或2所述的緩存架構(gòu),其中,每個(gè)所述處理器使用低電壓差分信號(hào)存取所述至少一個(gè)芯片上內(nèi)部總線。
15.根據(jù)權(quán)利要求3所述的緩存架構(gòu),其中,每個(gè)所述處理器使用低電壓差分信號(hào)存取所述至少一個(gè)芯片上內(nèi)部總線。
16.根據(jù)權(quán)利要求4所述的緩存架構(gòu),其中,每個(gè)所述處理器使用低電壓差分信號(hào)存取所述至少一個(gè)芯片上內(nèi)部總線。
17.根據(jù)權(quán)利要求5所述的緩存架構(gòu),其中,每個(gè)所述處理器使用低電壓差分信號(hào)存取所述至少一個(gè)芯片上內(nèi)部總線。
18.根據(jù)權(quán)利要求6所述的緩存架構(gòu),其中,每個(gè)所述處理器使用低電壓差分信號(hào)存取所述至少一個(gè)芯片上內(nèi)部總線。
19.根據(jù)權(quán)利要求7所述的緩存架構(gòu),其中,每個(gè)所述處理器使用低電壓差分信號(hào)存取所述至少一個(gè)芯片上內(nèi)部總線。
20.根據(jù)權(quán)利要求8所述的緩存架構(gòu),其中,每個(gè)所述處理器使用低電壓差分信號(hào)存取所述至少一個(gè)芯片上內(nèi)部總線。
21.根據(jù)權(quán)利要求9所述的緩存架構(gòu),其中,每個(gè)所述處理器使用低電壓差分信號(hào)存取所述至少一個(gè)芯片上內(nèi)部總線。
22.根據(jù)權(quán)利要求10所述的緩存架構(gòu),其中,每個(gè)所述處理器使用低電壓差分信號(hào)存取所述至少一個(gè)芯片上內(nèi)部總線。
23.根據(jù)權(quán)利要求11所述的緩存架構(gòu),其中,每個(gè)所述處理器使用低電壓差分信號(hào)存取所述至少一個(gè)芯片上內(nèi)部總線。
24.根據(jù)權(quán)利要求12所述的緩存架構(gòu),其中,每個(gè)所述處理器使用低電壓差分信號(hào)存取所述至少一個(gè)芯片上內(nèi)部總線。
25.根據(jù)權(quán)利要求13所述的緩存架構(gòu),其中,每個(gè)所述處理器使用低電壓差分信號(hào)存取所述至少一個(gè)芯片上內(nèi)部總線。
26.—種連接單片存儲(chǔ)器芯片的RAM內(nèi)的處理器的方法,包括允許將所述RAM的任意位選擇至在多個(gè)緩存中維持的復(fù)制位的必需步驟,所述步驟包括: (a)將存儲(chǔ)器位邏輯地分組成四個(gè)組; (b)將所有四個(gè)位線從所述RAM發(fā)送至復(fù)用器輸入; (c)通過接通由地址線的四種可能狀態(tài)所控制的四個(gè)開關(guān)中的一個(gè),將所述四個(gè)位線之一選擇至復(fù)用器輸出; (d)通過使用由指令解碼邏輯提供的解復(fù)用器開關(guān),將所述多個(gè)緩存之一連接至所述復(fù)用器輸出。
27.一種通過緩存頁缺失管理CPU的虛擬存儲(chǔ)器(VM)的方法,包括以下步驟: (a)在所述CPU處理至少一個(gè)專用緩存地址寄存器的情況下,所述CPU檢查所述寄存器的高階位的內(nèi)容;以及 (b)當(dāng)所述位的內(nèi)容改變時(shí),如果在與所述CPU關(guān)聯(lián)的CAMTLB中沒有找到所述寄存器的頁地址內(nèi)容,則所述CPU將缺頁中斷返回至VM管理器,以用與所述寄存器的頁地址內(nèi)容對(duì)應(yīng)的VM的新頁替換所述緩存頁的內(nèi)容;否則 (c)所述CPU使用所述CAMTLB確定實(shí)地址。
28.根據(jù)權(quán)利要求27所述的方法,還包括以下步驟: (d)如果在與所述CPU關(guān)聯(lián)的CAMTLB中沒有找到所述寄存器的頁地址內(nèi)容,則確定所述CAM TLB中的當(dāng)前最不經(jīng)常被緩存的頁以接收VM的所述新頁的內(nèi)容。
29.根據(jù)權(quán)利要求28所述的方法,還包括以下步驟: (e)記錄LFU檢測(cè)器中的頁存?。凰龃_定的步驟還包括使用所述LFU檢測(cè)器確定CAMTLB中的當(dāng)前最不經(jīng)常被緩存的頁。
30.一種并行化緩存缺失與其他CPU操作的方法,包括以下步驟:(a)如果在存取第二緩存時(shí)沒有發(fā)生緩存缺失,則處理至少所述第二緩存的內(nèi)容,直至第一緩存的緩存缺失處理被解決;以及 (b)處理所述第一緩存的內(nèi)容。
31.一種減少單片芯片上數(shù)字總線中的功耗的方法,包括以下步驟: Ca)對(duì)所述數(shù)字總線的至少一個(gè)總線驅(qū)動(dòng)器上的一組差分位進(jìn)行均衡化和預(yù)充電; (b)均衡化接收器; (C)在所述至少一個(gè)總線驅(qū)動(dòng)器上維持所述位長(zhǎng)達(dá)至少所述數(shù)字總線的最慢裝置傳播延遲時(shí)間; Cd)關(guān)閉所述至少一個(gè)總線驅(qū)動(dòng)器; (e)打開所述接收器;以及 Cf)通過所述接收器讀取所述位。
32.—種降低緩存總線所消耗的功率的方法,包括以下步驟: Ca)均衡化差分信號(hào)對(duì)并將所述信號(hào)預(yù)充電至Vcc ; (b)預(yù)充電和均衡化差分接收器; (C)將發(fā)送器連接至至少一個(gè)交叉耦合的逆變的至少一個(gè)差分信號(hào)線,并將所述發(fā)送器放電長(zhǎng)達(dá)超過所述交叉耦合反相器裝置傳播延遲時(shí)間的時(shí)間段; (d)將所述差分接收器連接至所述至少一個(gè)差分信號(hào)線;以及 (e)使所述差分接收器能夠允許所述至少一個(gè)交叉耦合反相器在被所述至少一個(gè)差分線偏置的同時(shí)達(dá)到完全Vcc擺動(dòng)。
33.一種使用啟動(dòng)加載線性ROM啟動(dòng)存儲(chǔ)器架構(gòu)中的CPU的方法,包括以下步驟; Ca)通過所述啟動(dòng)加載ROM檢測(cè)功率有效狀態(tài); (b)在執(zhí)行停止的情況下,將全部CPU保持在重置狀態(tài); (c)將所述啟動(dòng)加載ROM內(nèi)容轉(zhuǎn)移至第一CPU的至少一個(gè)緩存; Cd)將專用于所述第一 CPU的所述至少一個(gè)緩存的寄存器設(shè)置為二進(jìn)制零;以及 Ce)使所述第一 CPU的系統(tǒng)時(shí)鐘能夠從所述至少一個(gè)緩存開始執(zhí)行。
34.根據(jù)權(quán)利要求33所述的方法,其中,所述至少一個(gè)緩存為指令緩存。
35.根據(jù)權(quán)利要求34所述的方法,其中,所述寄存器為指令寄存器。
36.一種通過CM VM管理器對(duì)本地存儲(chǔ)器、虛擬存儲(chǔ)器和芯片外外部存儲(chǔ)器進(jìn)行解碼的方法,包括以下步驟: (a)當(dāng)CPU處理至少一個(gè)專用的緩存地址寄存器時(shí),如果所述CPU確定所述寄存器的至少一個(gè)高階位改變;則 (b)當(dāng)所述至少一個(gè)高階位的內(nèi)容為非零時(shí),所述VM管理器使用外部存儲(chǔ)器總線將由所述寄存器所編址的頁從所述外部存儲(chǔ)器轉(zhuǎn)移至所述緩存;否則 (c)所述VM管理器將所述頁從所述本地存儲(chǔ)器轉(zhuǎn)移至所述緩存。
37.根據(jù)權(quán)利要求36所述的方法,其中,所述寄存器的所述至少一個(gè)高階位僅在對(duì)至任何地址寄存器的ST0RACC指令、算前減量指令和算后增量指令的處理期間改變,所述CPU確定的步驟還包括通過指令類型進(jìn)行確定。
38.一種通過CIMM VM管理器對(duì)本地存儲(chǔ)器、虛擬存儲(chǔ)器和芯片外外部存儲(chǔ)器進(jìn)行解碼的方法,包括以下步驟:(a)當(dāng)CPU處理至少一個(gè)專用的緩存地址寄存器時(shí),如果所述CPU確定所述寄存器的至少一個(gè)高階位改變;則 (b)當(dāng)所述至少一個(gè)高階位的內(nèi)容為非零時(shí),所述VM管理器使用外部存儲(chǔ)器總線和處理器間,將由所述寄存器所編址的頁從所述外部存儲(chǔ)器轉(zhuǎn)移至所述緩存;否則 (c)如果所述CPU檢測(cè)到所述寄存器與所述緩存不相關(guān)聯(lián),所述VM管理器使用所述處理器間總線將所述頁從遠(yuǎn)程存儲(chǔ)器組轉(zhuǎn)移至所述緩存;否則 (c)所述VM管理器將所述頁從所述本地存儲(chǔ)器轉(zhuǎn)移至所述緩存。
39.根據(jù)權(quán)利要求39所述的方法,其中,所述寄存器的所述至少一個(gè)高階位僅在對(duì)至任何地址寄存器的STORACC指令、算前減量指令和算后增量指令的處理期間改變,所述CPU確定的步驟還包括通過指令類型進(jìn)行確定。
全文摘要
存儲(chǔ)器緩存架構(gòu)實(shí)施方式中的一個(gè)示例性CPU包括用于每個(gè)處理器的多個(gè)被分割的緩存和解復(fù)用器,所述緩存包括專用于指令地址寄存器的I緩存和專用于源地址寄存器的X緩存;其中,每個(gè)處理器存取芯片上總線,該芯片上總線包含用于關(guān)聯(lián)的緩存的RAM行;其中,全部緩存可操作為在一個(gè)RAS周期中被填充或清除,并且RAM行的全部感測(cè)放大器能夠由解復(fù)用器取消選擇至關(guān)聯(lián)的所述本地緩存的復(fù)制相應(yīng)位。還公開了由各種實(shí)施方式演變而來并且有助于增強(qiáng)各種實(shí)施方式的若干方法。應(yīng)該強(qiáng)調(diào),該摘要使搜尋者很快確定技術(shù)公開的主題,并且提交該摘要應(yīng)理解為將不用于解釋或限制權(quán)利要求的范圍或含義。
文檔編號(hào)G06F12/08GK103221929SQ201180056389
公開日2013年7月24日 申請(qǐng)日期2011年12月4日 優(yōu)先權(quán)日2010年12月12日
發(fā)明者拉塞爾·漢米爾頓·菲什 申請(qǐng)人:拉塞爾·漢米爾頓·菲什
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
法库县| 安阳县| 巴里| 锡林郭勒盟| 屯留县| 上高县| 宜黄县| 西吉县| 建瓯市| 金沙县| 柳河县| 连云港市| 乌拉特后旗| 岚皋县| 顺平县| 宿州市| 柳江县| 庆阳市| 拉萨市| 旅游| 彰武县| 富宁县| 唐河县| 高州市| 浮梁县| 东港市| 四会市| 甘肃省| 信丰县| 仁化县| 准格尔旗| 丰台区| 太和县| 元阳县| 贡嘎县| 新密市| 黄山市| 香河县| 满洲里市| 合江县| 青岛市|