本發(fā)明專利技術(shù)實(shí)現(xiàn)了高速緩存一致性控制,其中共享存儲(chǔ)器類型多處理器系統(tǒng)的可縮放性得到提高,并且成本性能通過(guò)抑制硬件和軟件的成本而得到改善。在一種用于控制多處理器系統(tǒng)的高速緩存一致性的系統(tǒng)中,在該多處理器系統(tǒng)中,包括高速緩存和TLB的多個(gè)處理器共享系統(tǒng)存儲(chǔ)器,多個(gè)處理器中的每個(gè)處理器包括TLB控制單元,該TLB控制單元進(jìn)一步包括:執(zhí)行TLB搜索的TLB搜索單元;以及在無(wú)命中獲得于TLB搜索中并且產(chǎn)生TLB中斷時(shí)執(zhí)行TLB注冊(cè)信息處理的一致性處置器。一致性處置器包括:用于執(zhí)行對(duì)系統(tǒng)存儲(chǔ)器的頁(yè)面表的搜索并且對(duì)TLB注冊(cè)信息執(zhí)行替換的TLB替換處置器;用于處置TLB未命中中斷的TLB未命中異常處置單元,該TLB中斷是在TLB中斷不是由頁(yè)面錯(cuò)誤引起、但是匹配地址的注冊(cè)信息未存在于TLB中時(shí)發(fā)生;以及用于處置存儲(chǔ)中斷的存儲(chǔ)異常處置單元,該存儲(chǔ)中斷是在匹配地址的注冊(cè)信息存在于TLB中、但是訪問(wèn)授權(quán)被違反時(shí)發(fā)生。
【技術(shù)實(shí)現(xiàn)步驟摘要】
【國(guó)外來(lái)華專利技術(shù)】
本專利技術(shù)涉及高速緩存一致性控制,并且具體地涉及一種用于控制共享存儲(chǔ)器多處理器的高速緩存一致性的方法、系統(tǒng)和程序。
技術(shù)介紹
多處理器系統(tǒng)同時(shí)執(zhí)行多個(gè)任務(wù)或者過(guò)程(下文稱為“過(guò)程”)。該多個(gè)過(guò)程中的每個(gè)過(guò)程通常具有用于在執(zhí)行該過(guò)程時(shí)使用的虛擬地址空間。在這樣的虛擬地址空間中的位置包含映射到系統(tǒng)存儲(chǔ)器中的物理地址的地址。對(duì)于系統(tǒng)存儲(chǔ)器中的單個(gè)空間來(lái)說(shuō),被映射到多處理器中的多個(gè)虛擬地址并不罕見(jiàn)。在多個(gè)過(guò)程中的每個(gè)過(guò)程使用虛擬地址時(shí),這些地址被轉(zhuǎn)譯成系統(tǒng)存儲(chǔ)器中的物理地址,并且如果無(wú)恰當(dāng)指令或者數(shù)據(jù)存在于處理器中的高速緩存中以用于執(zhí)行每個(gè)過(guò)程,則它們被從系統(tǒng)存儲(chǔ)器提取并且存儲(chǔ)在高速緩存中。為了將多處理器系統(tǒng)中的虛擬地址快速轉(zhuǎn)譯成系統(tǒng)存儲(chǔ)器中的物理地址并且獲得恰當(dāng)指令或者數(shù)據(jù),使用與高速緩存有關(guān)的所謂轉(zhuǎn)譯旁視緩沖器(translationlook-aside buffer, 下文稱為“TLB”)。TLB是如下緩沖器,該緩沖器包含使用轉(zhuǎn)譯算法生成的物理地址與虛擬地址之間的轉(zhuǎn)譯關(guān)系。TLB的使用能夠?qū)崿F(xiàn)很高效的地址轉(zhuǎn)譯;然而,如果在對(duì)稱多處理(下文稱為“SMP”)系統(tǒng)中使用這樣的緩沖器,則會(huì)產(chǎn)生不一致問(wèn)題。對(duì)于其中多個(gè)處理器可以從共享系統(tǒng)存儲(chǔ)器讀取信息和向共享系統(tǒng)存儲(chǔ)器寫入信息的數(shù)據(jù)處理系統(tǒng),必須謹(jǐn)慎保證存儲(chǔ)器系統(tǒng)以一致的方式操作。也就是說(shuō),不允許由于多個(gè)處理器執(zhí)行的過(guò)程而造成存儲(chǔ)器系統(tǒng)的不一致。在這樣的多處理器系統(tǒng)中的每個(gè)處理器通常包含用于在與高速緩存有關(guān)的地址轉(zhuǎn)譯中使用的TLB。為了維持一致性,在這樣的系統(tǒng)中的共享存儲(chǔ)器模式必須謹(jǐn)慎地并且無(wú)任何不一致地將多處理器中的單個(gè)處理器的TLB上的改變映射到其它處理器的TLB。對(duì)于多處理器,可以例如通過(guò)在對(duì)所有TLB的修改中使用處理器間中斷和軟件同步來(lái)維持TLB的一致性。這一技術(shù)可以保證在整個(gè)多處理器系統(tǒng)內(nèi)的存儲(chǔ)器一致性。在典型的頁(yè)面存儲(chǔ)器系統(tǒng)中,多處理器系統(tǒng)中的每個(gè)TLB的內(nèi)容反映與在系統(tǒng)存儲(chǔ)器中保持的頁(yè)面表的內(nèi)容的高速緩存有關(guān)的分節(jié)。頁(yè)面表一般是如下存儲(chǔ)器映射表,該存儲(chǔ)器映射表包含虛擬地址或者其分段和與它們關(guān)聯(lián)的物理地址。這樣的頁(yè)面表通常還包含其它各種類型的管理數(shù)據(jù),包括頁(yè)面保護(hù)比特、有效條目比特和各種訪問(wèn)比特。例如,可以將顯式地指示一致性的必要性(存儲(chǔ)器一致性必需屬性)的比特定義為管理數(shù)據(jù)以靜態(tài)地配置頁(yè)面是否真正地需要一致性。然而,僅在被允許可重寫以軟件控制高速緩存的一些特殊程序中高效使用這一靜態(tài)配置方法,因?yàn)槌遂o態(tài)配置上述比特的必要性之外,還必須在整個(gè)系統(tǒng)存儲(chǔ)器中靜態(tài)配置這樣的比特。近年來(lái),具有多個(gè)中央處理單兀(CPU)和SMP-Linux (Linux是Linus Torvalds在美國(guó)和其它國(guó)家的商標(biāo))的臺(tái)式個(gè)人計(jì)算機(jī)(PC)已經(jīng)變得流行,并且許多應(yīng)用程序已經(jīng)支持共享存儲(chǔ)器多處理器、也就是SMP系統(tǒng)。因此,在系統(tǒng)中的處理器數(shù)目增加提高應(yīng)用程序的吞吐量而無(wú)需重寫軟件。促進(jìn)支持SMP的通用操作系統(tǒng)(OS)、例如SMP-Linux已經(jīng)被升級(jí)成可以控制不少于1024個(gè)處理器的OS。可以通過(guò)增加處理器數(shù)目來(lái)提高吞吐量而不需要重寫軟件的特征是在不共享存儲(chǔ)器的多處理器系統(tǒng)、諸如使用消息傳遞編程的群集中不存在的優(yōu)點(diǎn)。因而,SMP是適合于保護(hù)軟件資產(chǎn)的多處理器系統(tǒng)。然而,SMP系統(tǒng)的可縮放性低于基于消息傳遞的群集的可縮放性。這是因?yàn)橹С指咚倬彺嬉恢滦缘挠布某杀倦S著SMP系統(tǒng)的處理器數(shù)目增加而明顯增加以提高可縮放性。用于SMP系統(tǒng)的高速緩存一致性的硬件支持的示例可以包括在臺(tái)式PC的共享總線中使用并且由便宜硬件實(shí)現(xiàn)的修改的、排他的、共享的、無(wú)效的(MESI)窺探(snoop)協(xié)議和在大規(guī)模分布式共享存儲(chǔ)器(DSM)中的高速緩存一致、非均勻存儲(chǔ)器訪問(wèn)(下文稱為“CC-NUMA”)中使用并且由將特殊節(jié)點(diǎn)間連接與例如協(xié)議處理器和目錄存儲(chǔ)器集成的昂貴硬件實(shí)現(xiàn)的基于目錄的協(xié)議。使用CC-NUMA的處理器的數(shù)目增加造成硬件成本增加,因此多處理器的成本性能隨著處理器數(shù)目增加而減少。也就是說(shuō),CC-NUMA的經(jīng)濟(jì)可縮放性低。與這一點(diǎn)相反,由于群集可以由標(biāo)準(zhǔn)部件制成,所以用于群集的每處理器的硬件成本比用于需要專用部件的CC-NUMA的每處理器的硬件成本更便宜。具體而言,如果具有每處理器的恒定硬件成本的群集使用消息傳遞接口來(lái)重寫具有高并行性的復(fù)雜并行應(yīng)用程序,則該群集可以執(zhí)行大規(guī)模并行處理。非專利文獻(xiàn)I描述一種基于虛擬存儲(chǔ)器(VM)的共享存儲(chǔ)器技術(shù),該技術(shù)利用包括在處理器中的存儲(chǔ)器管理單元(下文稱為“MMU”)中的硬件來(lái)提高SMP系統(tǒng)的可縮放性和成本性能。這一技術(shù)應(yīng)用于在非專利文獻(xiàn)2中描述的可以使用與群集的硬件一樣便宜的硬件的非高速緩存一致NUMA (下文稱為“NCC-NUMA” )。基于VM的共享存儲(chǔ)器技術(shù)處理在相同過(guò)程中的高速緩存一致性,但是它不能處理不同過(guò)程之間的高速緩存一致性。具體而言,由于對(duì)于支持虛擬地址并且使用在寫入時(shí)復(fù)制的技術(shù)來(lái)管理存儲(chǔ)器的通用OS而言將相同物理頁(yè)面映射到多個(gè)過(guò)程是常見(jiàn)的,所以基于VM的共享存儲(chǔ)器技術(shù)所適用的數(shù)據(jù)限于保證應(yīng)用程序不被不同過(guò)程共享的數(shù)據(jù),并且不能實(shí)施對(duì)應(yīng)用程序透明的高速緩存一致性。換而言之,顯式地指示多個(gè)處理器共享的相同虛擬地址空間的數(shù)據(jù)的必要性發(fā)生,并且為了將該技術(shù)應(yīng)用于現(xiàn)有軟件,有必要重寫應(yīng)用程序,因此造成與它有關(guān)的附加軟件成本。因而,基于VM的共享存儲(chǔ)器技術(shù)不能應(yīng)用于通用計(jì)算機(jī),并且該技術(shù)的適用性限于允許重新設(shè)計(jì)程序的具體使用和科學(xué)計(jì)算。專利文獻(xiàn)I描述一種主存儲(chǔ)器共享型多處理器,其中通過(guò)提供物理頁(yè)面映射表來(lái)添加少量硬件可以消除或者顯著減少對(duì)廣播TLB清除事務(wù)以在重寫頁(yè)面表時(shí)控制TLB—致性的需要,并且可以消除或者顯著減少網(wǎng)絡(luò)和節(jié)點(diǎn)中的總線以及與TLB清除關(guān)聯(lián)的處理器的流水線棧中的業(yè)務(wù)。專利文獻(xiàn)2描述例如實(shí)現(xiàn)響應(yīng)于數(shù)據(jù)傳送指令、諸如MOV指令而訪問(wèn)內(nèi)容可尋址存儲(chǔ)器、諸如高速緩存存儲(chǔ)器(CACHE-M)或者地址轉(zhuǎn)譯緩沖器(TLB)并且使條目無(wú)效的操作。專利文獻(xiàn)3描述引入一對(duì)軟件指令以通過(guò)軟件、即頁(yè)面錯(cuò)誤處置器來(lái)實(shí)現(xiàn)直接插入轉(zhuǎn)譯信息、諸如地址轉(zhuǎn)譯對(duì),該頁(yè)面錯(cuò)誤處置器能夠向頁(yè)面目錄中插入轉(zhuǎn)譯信息并且向TLB中插入該信息,而且保證在完成頁(yè)面錯(cuò)誤 處置器例程的執(zhí)行之后,在下次提供相同虛擬地址時(shí)發(fā)生TLB命中(hit)而不是TLB未命中(miss)。日本待審專利申請(qǐng)公開號(hào)2000-67009日本待審專利申請(qǐng)公開號(hào)8-320829日本待審專利申請(qǐng)公開號(hào)62-3357 Karin Petersen and Kai Li, " Cache Coherence for Shared MemoryMultiprocessors Based on Virtual Memory Support, " In Proceedings of theSeventh International Parallel Processing Symposium, Newport Beach, CA, 1993 年 4月,pp.1-18Leonidas Kontothanassis, et al., " Shared Memory Computingon Clusters wi本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
【技術(shù)特征摘要】
【國(guó)外來(lái)華專利技術(shù)】...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:上田真,
申請(qǐng)(專利權(quán))人:國(guó)際商業(yè)機(jī)器公司,
類型:
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。