亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)處理系統(tǒng)中訪問數(shù)據(jù)的方法以及電路安排的制作方法

文檔序號:6521435閱讀:200來源:國知局
數(shù)據(jù)處理系統(tǒng)中訪問數(shù)據(jù)的方法以及電路安排的制作方法
【專利摘要】一種方法和電路安排根據(jù)存儲在存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)(如有效到真實地址轉(zhuǎn)換(ERAT)或轉(zhuǎn)換后備緩沖器(TLB))中的一種或多種攪和相關(guān)頁面屬性,有選擇地攪和與處理單元耦合的一個或多個級別的高速緩沖存儲器中的數(shù)據(jù)。例如,存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)可以結(jié)合存儲器頁面中的數(shù)據(jù)的存儲器訪問請求來訪問,以便該數(shù)據(jù)結(jié)構(gòu)中與存儲器頁面相關(guān)的屬性可以用于控制是否攪和數(shù)據(jù),以及如果是的話,如何與處理存儲器訪問請求相關(guān)地將數(shù)據(jù)格式化。
【專利說明】數(shù)據(jù)處理系統(tǒng)中訪問數(shù)據(jù)的方法以及電路安排
【技術(shù)領(lǐng)域】
[0001]本發(fā)明一般涉及數(shù)據(jù)處理,尤其涉及處理器架構(gòu)以及其中的數(shù)據(jù)的組織。
【背景技術(shù)】
[0002]隨著半導體技術(shù)在時鐘速度的增加方面繼續(xù)緩慢地越來越接近實際極限,設(shè)計師越來越多地把注意力放在處理器架構(gòu)的并行技術(shù)上來實現(xiàn)性能提高。在芯片級上,往往將多個處理器核心布置在同一芯片上,以與獨立處理器芯片,或在某種程度上,與完全獨立計算機幾乎相同的方式起作用。另外,甚至在核心內(nèi),通過使用專門管理某些類型的操作的多個執(zhí)行單元來采用并行技術(shù)。在許多情況下也采用流水線技術(shù),以便將可能花費多個時鐘周期來執(zhí)行的操作分解成幾個階段,使其他操作能夠在較早的操作完成之前開始。還采用多線程技術(shù)使多個指令流能夠并行地得到處理,使得在任何給定時鐘周期中能夠執(zhí)行更綜合工作。
[0003]繼續(xù)利用并行技術(shù)的一個領(lǐng)域是在執(zhí)行單元,例如,定點或浮點執(zhí)行單元的領(lǐng)域中。例如,許多浮點執(zhí)行單元是高度流水線化的。但是,雖然流水線技術(shù)可以提高性能,但當通過流水線處理的指令不相互依賴時,例如,在后面的指令不使用較早指令的結(jié)果的情況下,流水線技術(shù)是最有效的。每當指令作用在另一條指令的結(jié)果上時,通常,后面的指令不能進入流水線中,直到較早的指令從流水線中退出和計算出它的結(jié)果。后面的指令被認為依賴于較早的指令,后面的指令停頓下來等待較早指令的結(jié)果的現(xiàn)象被說成將“氣泡”,或未正在進行生產(chǎn)性操作的周期引入流水線中。
[0004]可以用于從流水線執(zhí)行單元中提取較高利用率部分和消除未用氣泡的一種技術(shù)是引入多線程技術(shù)。這樣,其他線程能夠?qū)⒅噶畎l(fā)到流水線中的未用時隙中,這抬高了利用率,因此擴大了總吞吐量。提高性能的另一種流行技術(shù)是也稱為將數(shù)據(jù)“矢量化”的單指令多數(shù)據(jù)(SMD)框架。這樣,響應(yīng)相同SMD指令,同時對多個數(shù)據(jù)元素進行操作。矢量執(zhí)行單元通常包括管理矢量中的不同數(shù)據(jù)點和同時對所有數(shù)據(jù)點進行相似操作的多條處理線。例如,對于依靠四(4)字矢量的架構(gòu),矢量執(zhí)行單元可以包括對每個矢量中的四個字進行相同操作的四條處理線。
[0005]也可以將上述技術(shù)組合在一起,得出使多個線程能夠?qū)MD指令發(fā)給矢量執(zhí)行單元以便同時處理數(shù)據(jù)點的“矢量”的多線程矢量執(zhí)行單元。通常,將調(diào)度算法與發(fā)出邏輯結(jié)合在一起使用,以保證每個線程以合理速率進行下去,使執(zhí)行單元流水線中的氣泡的數(shù)量保持在最低水平上。
[0006]盡管SMD執(zhí)行單元具有突出執(zhí)行能力,但已經(jīng)發(fā)現(xiàn),在將數(shù)據(jù)排列成利用多線SMD執(zhí)行單元的格式的過程中消耗了相當數(shù)量的額外處理開銷。例如,當以結(jié)構(gòu)陣列(AOS)格式將數(shù)據(jù)存儲在存儲器中以及執(zhí)行單元處理具有陣列結(jié)構(gòu)(SOA)格式的數(shù)據(jù)時,這個問題更加嚴重。更進一步,在許多情況下,一個進程可能需要一種格式的數(shù)據(jù),而另一個進程要求數(shù)據(jù)具有不同格式,這往往迫使數(shù)據(jù)以一種格式存儲在存儲器中,處理器在利用SMD執(zhí)行單元處理數(shù)據(jù)之前將數(shù)據(jù)裝載和重新排序成其他格式。[0007]對這個問題的一種傳統(tǒng)做法是將所有數(shù)據(jù)裝載在矢量寄存器文件中,然后在矢量寄存器文件中來回移動。但是,這種做法通常會浪費許多指令。另一種做法是正好在進入寄存器文件中之前“攪和(swizzle)”或重排負載數(shù)據(jù)。雖然這種做法通常節(jié)省了功能指令,但該做法通常仍然要求每個負載多次訪問數(shù)據(jù)高速緩存。
[0008]作為一個例子,依靠SMD操作的許多典型工作負載遵循存在矢量裝載,接著像多次相加那樣的SMD浮點運算,然后接著矢量存儲的簡單循環(huán)。在許多傳統(tǒng)處理器架構(gòu)中,這種三指令序列被當作四周期裝載、單周期數(shù)學運算、和四周期存儲來處理,導致高速緩存帶寬負擔非常重和未充分利用SMD執(zhí)行單元的處理能力的循環(huán)。
[0009]因此,在技術(shù)上仍然明顯需要使與以適合在數(shù)據(jù)處理系統(tǒng)中執(zhí)行,尤其使用SMD執(zhí)行單元執(zhí)行的格式排列數(shù)據(jù)相關(guān)的額外執(zhí)行開銷最小的方式。

【發(fā)明內(nèi)容】

[0010]本發(fā)明通過提供一種方法和電路安排解決與現(xiàn)有技術(shù)相關(guān)的這些和其他問題,該方法和電路安排根據(jù)存儲在像有效到真實地址轉(zhuǎn)換(ERAT)或轉(zhuǎn)換后備緩沖器(TLB)那樣的存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)中的一種或多種攪和相關(guān)頁面屬性,有選擇地攪和與處理單元耦合的一個或多個級別高速緩沖存儲器中的數(shù)據(jù)。例如,存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)可以結(jié)合存儲器頁面中的數(shù)據(jù)的存儲器訪問請求來訪問,以便該數(shù)據(jù)結(jié)構(gòu)中與存儲器頁面相關(guān)的屬性可以用于控制是否攪和數(shù)據(jù),以及如果是的話,如何與管理存儲器訪問請求相關(guān)地將數(shù)據(jù)格式化。這樣,當從高速緩沖存儲器中檢索數(shù)據(jù)供處理單元處理時,以最適合處理單元有效處理數(shù)據(jù)的形式將數(shù)據(jù)格式化。
[0011]因此,按照本發(fā)明的一個方面,在數(shù)據(jù)處理系統(tǒng)中通過如下步驟訪問數(shù)據(jù):響應(yīng)數(shù)據(jù)處理系統(tǒng)中的處理單元發(fā)起的存儲器訪問請求,訪問存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu),以便為該存儲器訪問請求進行存儲器地址轉(zhuǎn)換;訪問該存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)中的至少一種攪和相關(guān)頁面屬性,以便確定是否應(yīng)該攪和來自與該存儲器訪問請求相關(guān)的存儲器頁面的數(shù)據(jù);以及根據(jù)該至少一種攪和相關(guān)頁面屬性使來自存儲器頁面的數(shù)據(jù)以攪和后格式存儲在高速緩沖存儲器中。
[0012]表征本發(fā)明的這些和其他優(yōu)點和特征展示在所附的和形成其進一步部分的權(quán)利要求書中,但是,為了更好地理解本發(fā)明,以及通過其使用所達到的優(yōu)點和目的,應(yīng)該參考附圖以及描述本發(fā)明的示范性實施例的伴隨描述性內(nèi)容。
【專利附圖】

【附圖說明】
[0013]圖1是按照本發(fā)明的實施例的包括可用在數(shù)據(jù)處理中的示范性計算機的示范性自動化計算總機的方塊圖;
[0014]圖2是在圖1的計算機中實現(xiàn)的示范性NOC的方塊圖;
[0015]圖3是更詳細地例示來自圖2的NOC的節(jié)點的示范性實現(xiàn)的方塊圖;
[0016]圖4是例示來自圖2的NOC的IP塊的示范性實現(xiàn)的方塊圖;
[0017]圖5是例示按照本發(fā)明的示范性攪和操作的方塊圖;
[0018]圖6是并入按照本發(fā)明的基于存儲器地址轉(zhuǎn)換攪和的示范性數(shù)據(jù)處理系統(tǒng)的方塊圖;[0019]圖7是在圖6中引用的ERAT的示范性ERAT條目格式的方塊圖;
[0020]圖8是例示使用支持按照本發(fā)明的基于存儲器地址轉(zhuǎn)換攪和的數(shù)據(jù)處理系統(tǒng)的示范性存儲器訪問的方塊圖;
[0021]圖9是例示在圖8的數(shù)據(jù)處理系統(tǒng)中進行裝載訪問的操作的示范性順序的流程圖;
[0022]圖10是例示在圖8的數(shù)據(jù)處理系統(tǒng)中進行逐出的操作的示范性順序的流程圖;
[0023]圖11是例示包括多個級別的按照本發(fā)明的基于地址轉(zhuǎn)換攪和的示范性數(shù)據(jù)處理系統(tǒng)的方塊圖;以及
[0024]圖12是例示使用按照本發(fā)明的基于地址轉(zhuǎn)換攪和的分組首標的攪和的方塊圖?!揪唧w實施方式】
[0025]按照本發(fā)明的實施例根據(jù)存儲在像有效到真實地址轉(zhuǎn)換(ERAT)或轉(zhuǎn)換后備緩沖器(TLB)那樣的存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)中的攪和相關(guān)頁面屬性,有選擇地攪和存儲在一個或多個級別高速緩沖存儲器中的數(shù)據(jù)。例如,存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)可以結(jié)合存儲器頁面中的數(shù)據(jù)的存儲器訪問請求來訪問,以便該數(shù)據(jù)結(jié)構(gòu)中與存儲器頁面相關(guān)的屬性可以用于控制是否和如何與管理存儲器訪問請求相關(guān)地攪和數(shù)據(jù)。這樣,當從高速緩存中檢索數(shù)據(jù)時,可以在存儲在高速緩存中之前將攪和相關(guān)頁面屬性用于控制數(shù)據(jù)的有選擇攪和。
[0026]在這一點上,攪和指的是置換(permutation)、換位(transposition)或?qū)?shù)據(jù)重排成不同排列。通常,進行攪和以便將數(shù)據(jù)重排成更適合利用處理單元執(zhí)行特定任務(wù)的格式。如下面更明顯看到的,例如,可以將攪和用于將數(shù)據(jù)重排,以使其成為更適合圖像或圖形處理,更適合處理分組首標,或更適合用在以規(guī)則塊或組為單位處理數(shù)據(jù)的許多其他應(yīng)用的任何一種中的格式。
[0027]例如,攪和相關(guān)頁面屬性可以包括是否應(yīng)該攪和頁面中的數(shù)據(jù)、應(yīng)該在高速緩沖存儲器的什么級別上攪和頁面中的數(shù)據(jù)、當被逐出(cast out)時應(yīng)該將數(shù)據(jù)寫回到更高級高速緩沖存儲器中還是使其失效的指示、指示應(yīng)該如何將數(shù)據(jù)重封裝在高速緩沖存儲器中的跨步長度或尺寸、在每個跨步上訪問的數(shù)據(jù)的尺寸或數(shù)量、或可用在有選擇地攪和高速緩沖存儲器中的數(shù)據(jù)中的任何其他攪和相關(guān)信息。
[0028]其他變種和修改例對于本領(lǐng)域的普通技術(shù)人員來說是顯而易見的,因此,本發(fā)明不局限于本文討論的特定實現(xiàn)。
[0029]硬件和軟件環(huán)塏
[0030]現(xiàn)在轉(zhuǎn)到附圖,其中相同標號在幾個視圖中自始至終表示相同零件,圖1例示了按照本發(fā)明的實施例的包括可用在數(shù)據(jù)處理中的示范性計算機10的示范性自動化計算總機。圖1的計算機10包括至少一個計算機處理器12或“CPU”,以及隨機訪問存儲器14(“RAM”),該RAM14通過高速存儲器總線16和總線適配器18與處理器12連接以及與計算機10的其他部件連接。
[0031]存儲在RAM14中的是應(yīng)用程序20,即,執(zhí)行像,例如,文字處理、電子表格、數(shù)據(jù)庫操作、視頻游戲、股市模擬、原子量子過程模擬、或其他用戶級應(yīng)用那樣的特定數(shù)據(jù)處理任務(wù)的用戶級計算機程序指令的模塊。存儲在RAM14中的還有操作系統(tǒng)22。可結(jié)合本發(fā)明的實施例使用的操作系統(tǒng)包括UNIX?、Linux?、微軟Windows XP?、AIX?、IBM i5/0S?、和本領(lǐng)域的普通技術(shù)人員可想到的其他操作系統(tǒng)。圖1的例子中的操作系統(tǒng)22和應(yīng)用程序20被顯示在RAM14中,但這樣軟件的許多部件通常也存儲在非易失性存儲器中,例如,盤驅(qū)動器24上。
[0032]如下面更明顯看到的那樣,按照本發(fā)明的實施例可以在片上網(wǎng)絡(luò)(NOC)集成電路器件或芯片內(nèi)實現(xiàn),這樣,計算機10被例示成包括兩個示范性NOC:視頻適配器26和協(xié)處理器28。NOC視頻適配器26可替代地可以稱為圖形適配器,是專門為圖形輸出到像顯示屏或計算機監(jiān)視器那樣的顯示設(shè)備30而計算的I/O適配器的例子。NOC視頻適配器26通過高速視頻總線32、總線適配器18、和也是高速總線的前端總線34與處理器12連接。NOC協(xié)處理器28通過總線適配器18、和也是高速總線的前端總線34和36與處理器12連接。圖1的NOC協(xié)處理器可以優(yōu)化成,例如,在主處理器12的命令下加速特定數(shù)據(jù)處理任務(wù)。
[0033]圖1的示范性NOC視頻適配器26和NOC協(xié)處理器28每一個都包括N0C,該NOC包括集成處理器(“IP”)塊、路由器、存儲器通信控制器、和網(wǎng)絡(luò)接口控制器,它們的細節(jié)將在下面結(jié)合圖2-3作更詳細討論。NOC視頻適配器和NOC協(xié)處理器每一個都最適用于使用并行處理以及需要快速隨機訪問共享存儲器的程序。但是,從本公開中受益的本領(lǐng)域的普通技術(shù)人員應(yīng)該懂得,本發(fā)明可以在除了 NOC設(shè)備和設(shè)備架構(gòu)之外的其他設(shè)備和設(shè)備架構(gòu)中實現(xiàn)。因此本發(fā)明不局限于在NOC設(shè)備內(nèi)的實現(xiàn)。
[0034]圖1的計算機10包括通過擴展總線40和總線適配器18與處理器12和計算機10的其他部件耦合的盤驅(qū)動器適配器38。盤驅(qū)動器適配器38以盤驅(qū)動器24的形式將非易失性數(shù)據(jù)存儲設(shè)備與計算機10連接,可以使用,例如,集成驅(qū)動電子設(shè)備(“IDE”)適配器、小型計算機系統(tǒng)接口(“SCSI”)適配器、和本領(lǐng)域的普通技術(shù)人員可想到的其他適配器來實現(xiàn)。如本領(lǐng)域的普通技術(shù)人員所想到,非易失性計算機存儲器也可以實現(xiàn)成光盤驅(qū)動器、電可擦除可編程只讀存儲器(所謂的“EEPR0M”或“閃速”存儲器)、RAM驅(qū)動器等。
[0035]計算機10還包括一個或多個輸入/輸出(“ I/O”)適配器42,它通過,例如,軟件驅(qū)動器和計算機硬件實現(xiàn)面向用戶的輸入/輸出,以便控制到像計算機顯示屏那樣的顯示設(shè)備的輸出,以及從像鍵盤和鼠標那樣的用戶輸入設(shè)備44的用戶輸入。另外,計算機10還包括用于與其他計算機48數(shù)據(jù)通信和與通信網(wǎng)絡(luò)50數(shù)據(jù)通信的通信適配器46。這樣的數(shù)據(jù)通信可以通過RS-232連線,通過像通用串行總線(“USB”)那樣的外部總線,通過像IP數(shù)據(jù)通信網(wǎng)絡(luò)那樣的數(shù)據(jù)通信網(wǎng)絡(luò),和以本領(lǐng)域的普通技術(shù)人員可想到的其他方式串行地進行。通信適配器實現(xiàn)一臺計算機直接或通過數(shù)據(jù)通信網(wǎng)絡(luò)將通信數(shù)據(jù)發(fā)送給另一臺計算機的硬件級數(shù)據(jù)通信。適合用在計算機10中的通信適配器的例子包括用于有線撥號通信的調(diào)制解調(diào)器、用于有線數(shù)據(jù)通信網(wǎng)絡(luò)通信的以太網(wǎng)(IEEE802.3)適配器、和用于無線數(shù)據(jù)通信網(wǎng)絡(luò)通信的802.11適配器。
[0036]為了進一步說明起見,圖2展示了按照本發(fā)明實施例的示范性N0C102的功能方塊圖。圖2中的NOC是在“芯片”100上,S卩,在集成電路上實現(xiàn)的。圖2中的NOC包括分組成互連節(jié)點的集成處理器(“IP”)塊104、路由器110、存儲器通信控制器106、和網(wǎng)絡(luò)接口控制器108。每個IP塊104通過存儲器通信控制器106和網(wǎng)絡(luò)接口控制器108適用于路由器110。每個存儲器通信控制器106控制IP塊與存儲器之間的通信,每個網(wǎng)絡(luò)接口控制器108通過路由器110控制IP塊間通信。
[0037]在N0C102中,每個IP塊代表作為積木用于NOC內(nèi)的數(shù)據(jù)處理的同步或異步邏輯設(shè)計的可重用單元。術(shù)語“IP塊”有時被擴展成“知識產(chǎn)權(quán)塊”,其有效地將IP塊指定為一方所有的設(shè)計,即,一方授權(quán)給半導體電路的其他用戶或設(shè)計者的知識產(chǎn)權(quán)。但是,在本發(fā)明的范圍內(nèi),未要求IP塊受任何特定所有權(quán)支配,因此在本說明書中該術(shù)語總是被全寫成“集成處理器塊”。如這里所規(guī)定,IP塊是可能是或可能不是知識產(chǎn)權(quán)的主體的邏輯、單元、或芯片布局設(shè)計的可重用單元。IP塊是可以形成ASIC芯片設(shè)計或FPGA邏輯設(shè)計的邏輯核心。
[0038]通過類比描述IP塊的一種方式是IP塊對于NOC設(shè)計如同庫對于計算機編程或分立集成電路部件對于印刷電路板設(shè)計。在按照本發(fā)明實施例的NOC中,IP塊可以實現(xiàn)成通用門級網(wǎng)表,實現(xiàn)成完全專用或通用微處理器,或以本領(lǐng)域的普通技術(shù)人員可想到的其他方式實現(xiàn)。網(wǎng)表類似于高級程序應(yīng)用的匯編-代碼列表,是IP塊邏輯功能的布爾代數(shù)表示(門、標準單元)。NOC也可以,例如,以用像Verilog或VHDL那樣的硬件描述語言描述的可合成形式實現(xiàn)。除了網(wǎng)表和可合成實現(xiàn)之外,NOC也可以用較低級物理描述實現(xiàn)。諸如SERDES、PLL、DAC、ADC等的類似IP塊元件可以以像⑶SII那樣的晶體管布局格式分布。IP塊的數(shù)字元件有時也以布局格式提供。還要懂得,IP塊以及按照本發(fā)明實現(xiàn)的其他邏輯電路可以以在各種細節(jié)水平上定義實現(xiàn)這樣邏輯的電路安排的功能和/或布局的計算機數(shù)據(jù)文件,例如,邏輯定義程序代碼的形式分發(fā),因此,雖然已經(jīng)和在下文中將在在全功能集成電路設(shè)備、利用這樣設(shè)備的數(shù)據(jù)處理系統(tǒng)、和其他有形、物理硬件電路中實現(xiàn)的電路安排的背景下對本發(fā)明加以描述,但從本公開中受益的本領(lǐng)域的普通技術(shù)人員應(yīng)該懂得,本發(fā)明也可以在程序產(chǎn)品內(nèi)實現(xiàn),以及與用于分發(fā)程序產(chǎn)品的計算機可讀存儲介質(zhì)的特定類型無關(guān)地同等應(yīng)用本發(fā)明,計算機可讀存儲介質(zhì)的例子包括,但不限于,諸如易失性和非易失性存儲器件、軟盤、硬盤驅(qū)動器、⑶-ROM、和DVD (等等)的可記錄型介質(zhì)。
[0039]圖2的例子中的每個IP塊104通過存儲器通信控制器106適用于路由器110。每個存儲器通信控制器是適合于在IP塊與存儲器之間提供數(shù)據(jù)通信的同步和異步邏輯電路的總成。IP塊與存儲器之間的這樣通信的例子包括存儲器裝載指令和存儲器存儲指令。存儲器通信控制器106將在下面參考圖3作更詳細描述。每個IP塊104也通過網(wǎng)絡(luò)接口控制器108適用于路由器110,網(wǎng)絡(luò)接口控制器108控制IP塊104之間通過路由器110的通信。IP塊104之間的通信的例子包括并行應(yīng)用中和流水線應(yīng)用中IP塊之間傳送數(shù)據(jù)的消息和處理數(shù)據(jù)的指令。網(wǎng)絡(luò)接口控制器108也在下面參考圖3詳細描述。
[0040]多個路由器110以及它們之間的相應(yīng)鏈路118實現(xiàn)NOC的網(wǎng)絡(luò)操作。鏈路118可以是在連接所有路由器的物理、并行導線總線上實現(xiàn)的分組結(jié)構(gòu)。也就是說,每條鏈路可以在寬到足以同時容納包括所有首標信息和有效負載數(shù)據(jù)的整個數(shù)據(jù)交換分組的導線總線上實現(xiàn)。如果分組結(jié)構(gòu)包括,例如,64個字節(jié),其中包括8個字節(jié)首標和56個字節(jié)的有效負載數(shù)據(jù),則對應(yīng)每條鏈路的導線總線是64個字節(jié)寬的512條導線。另外,每條鏈路可以是雙向的,使得如果鏈路分組結(jié)構(gòu)包括64個字節(jié),則導線總線實際上包含每個路由器與網(wǎng)絡(luò)中其每個鄰居之間的1024條導線。在這樣的實現(xiàn)中,消息可以包括不止一個分組,但每個分組精確地與導線總線的寬度一致。在替代例中,可以在只寬到足以容納分組的一部分的導線總線上實現(xiàn)鏈路,以便可以將分組分解成多個節(jié)拍,例如,以便如果一條鏈路被實現(xiàn)成16個字節(jié)寬,或128條導線,則可以將64個字節(jié)分解成四個節(jié)拍。要懂得的是,不同實現(xiàn)可以根據(jù)實際物理限制以及所希望運行特性使用不同總線寬度。如果路由器與導線總線的每個部分之間的連接被稱為端口,則每個路由器包括五個端口,網(wǎng)絡(luò)上數(shù)據(jù)傳輸?shù)乃膫€方向的每一個各一個,第五個端口使路由器通過存儲器通信控制器和網(wǎng)絡(luò)接口控制器適用于IP塊。
[0041]每個存儲器通信控制器106控制IP塊與存儲器之間的通信。存儲器可以包括片外主RAMl 12、通過存儲器通信控制器106直接與IP塊連接的存儲器114、實現(xiàn)成IP塊116的片上存儲器、和片上高速緩存。在N0C102中,例如,片上存儲器114、116的任一個都可以實現(xiàn)成片上高速緩沖存儲器。所有這些形式的存儲器都可以布置在相同地址空間、物理地址或虛擬地址中,甚至對于直接附在IP塊上的存儲器也是如此。因此存儲器尋址消息相對于IP塊可以是完全雙向的,因為這樣的存儲器可以從網(wǎng)絡(luò)上的任何地方的任何IP塊直接尋址。IP塊上的存儲器116可以從那個IP塊或從NOC中的任何其他IP塊尋址。直接附在存儲器通信控制器上的存儲器114可以由通過那個存儲器通信控制器適用于網(wǎng)絡(luò)的IP塊尋址一也可以從NOC中的任何地方的任何其他IP塊尋址。
[0042]N0C102包括兩個存儲器管理單元(“MMU”)120,122,其為按照本發(fā)明實施例的NOC例示了兩種可替代存儲器架構(gòu)。MMU120在IP塊內(nèi)實現(xiàn),使IP塊內(nèi)的處理器可以在虛擬存儲器中操作,同時使NOC的整合其余架構(gòu)可以在物理存儲器地址空間中操作。MMU122是片外實現(xiàn)的,通過數(shù)據(jù)通信端口 124與NOC連接。端口 124包括引腳和在NOC與MMU之間傳導信號所需的其他互連線,以及將消息分組從NOC分組格式轉(zhuǎn)換成外部MMU122所需的總線格式的足夠智慧。MMU的外部地點意味著NOC的所有IP塊中的處理器可以在虛擬存儲器地址空間中操作,到片外存儲器的物理地址的所有轉(zhuǎn)換由片外MMU122管理。
[0043]除了使用MMU120,122例示的兩種存儲器架構(gòu)之外,數(shù)據(jù)通信端口 126還例示了可用在能夠用在本發(fā)明的實施例中的NOC中的第三種存儲器架構(gòu)。端口 126提供了 N0C102的IP塊104與片外存儲器112之間的直接連接。如果在處理路徑中沒有MMU,則這種架構(gòu)讓NOC的所有IP塊利用物理地址空間。在雙向共享地址空間時,NOC的所有IP塊可以通過由直接與端口 126連接的IP塊弓丨導、包括裝載和存儲的存儲器尋址消息在地址空間中訪問存儲器。端口 126包括引腳和在NOC與片外存儲器112之間傳導信號所需的其他互連線,以及將消息分組從NOC分組格式轉(zhuǎn)換成外部片外存儲器112所需的總線格式的足夠智慧。
[0044]在圖2的例子中,將IP塊之一指定成主接口處理器128。主接口處理器128提供NOC與可以安裝NOC的主計算機10之間的接口,并且還對NOC上的其他IP塊提供數(shù)據(jù)處理服務(wù),包括,例如,從主計算機接收和在IP塊之間分派NOC數(shù)據(jù)處理請求。NOC可以,例如,如上面參考圖1所述將視頻圖形適配器26或協(xié)處理器28實現(xiàn)在較大型計算機10上。在圖2的例子中,主接口處理器128通過數(shù)據(jù)通信端口 130與較大型主計算機連接。端口 130包括引腳和在NOC與主計算機10之間傳導信號所需的其他互連線,以及將消息分組從NOC分組格式轉(zhuǎn)換成主計算機10所需的總線格式的足夠智慧。在圖1中的計算機中的NOC協(xié)處理器的例子中,這樣的端口將提供NOC協(xié)處理器28的鏈路結(jié)構(gòu)與NOC協(xié)處理器28與總線適配器18之間的前端總線36所需的協(xié)議之間的數(shù)據(jù)通信格式轉(zhuǎn)換。
[0045]圖3接著例示了更詳細地例示在用132籠統(tǒng)例示的N0C102中的IP塊104、存儲器通信控制器106、網(wǎng)絡(luò)接口控制器108和路由器110內(nèi)實現(xiàn)的部件的功能方塊圖。IP塊104包括計算機處理器134和I/O功能136。在這個例子中,計算機存儲器用一片隨機訪問存儲器(“RAM”)138表示在IP塊104中。存儲器如上面參考圖2所述,可以占據(jù)每個IP塊上的內(nèi)容可從NOC中的任何IP塊訪問的幾段物理地址空間。每個IP塊中的處理器134、1/0能力136、和存儲器138有效地將IP塊實現(xiàn)成一般可編程微型計算機。但是,如上所述,在本發(fā)明的范圍內(nèi),IP塊一般代表作為積木用于NOC內(nèi)的數(shù)據(jù)處理的同步或異步邏輯的可重用單元。因此,將IP塊實現(xiàn)成一般可編程微型計算機盡管是可用于說明目的的普通實施例,但不限制本發(fā)明。
[0046]在圖3的N0C102中,每個存儲器通信控制器106包括多個存儲器通信執(zhí)行引擎140。使每個存儲器通信執(zhí)行引擎140都能夠執(zhí)行來自IP塊104的存儲通信指令,包括網(wǎng)絡(luò)與IP塊104之間的雙向存儲器通信指令流141,142,144。存儲器通信控制器106執(zhí)行的存儲器通信指令不僅源自通過特定存儲器通信控制器適合于路由器的IP塊,而且源自N0C102中的任何地方的任何IP塊104。也就是說,NOC中的任何IP塊都可以生成存儲器通信指令,并通過NOC的路由器將那種存儲器通信指令發(fā)送給與另一個IP塊相聯(lián)系的另一個存儲器通信控制器以便執(zhí)行那種存儲器通信指令。這樣的存儲器通信指令可以包括,例如,轉(zhuǎn)換后備緩沖器控制指令、高速緩存控制指令、屏障指令、和存儲器裝載和存儲指令。
[0047]使每個存儲器通信執(zhí)行引擎140能夠分開地和與其他存儲器通信執(zhí)行引擎并行地執(zhí)行完整存儲器通信指令。存儲器通信執(zhí)行引擎實現(xiàn)為存儲器通信指令的并發(fā)吞吐量優(yōu)化的可增減存儲器事務(wù)處理器。存儲器通信控制器106支持所有都同時運行的多個存儲器通信執(zhí)行引擎140以便同時執(zhí)行多條存儲器通信指令。新存儲器通信指令由存儲器通信控制器106分配給存儲器通信執(zhí)行引擎140,存儲器通信執(zhí)行引擎140可以同時接受多個響應(yīng)事件。在這個例子中,所有存儲器通信執(zhí)行引擎140都是相同的。因此,增減存儲器通信控制器106可以同時管理的存儲器通信指令的數(shù)量通過增減存儲器通信執(zhí)行引擎140的數(shù)量來實現(xiàn)。
[0048]在圖3的N0C102中,使每個網(wǎng)絡(luò)接口控制器108能夠?qū)⑼ㄐ胖噶顝拿罡袷睫D(zhuǎn)換成通過路由器110在IP塊104之間傳送的網(wǎng)絡(luò)分組格式。通信指令可以由IP塊104或由存儲器通信控制器106以命令格式明確表達,并以命令格式提供給網(wǎng)絡(luò)接口控制器108。該命令格式可以是與IP塊104和存儲器通信控制器106的架構(gòu)寄存器文件相容的本機格式。網(wǎng)絡(luò)分組格式通常是通過網(wǎng)絡(luò)的路由110傳輸所需的格式。每個這樣的消息由一個或多個網(wǎng)絡(luò)分組組成。在網(wǎng)絡(luò)接口控制器中從命令格式轉(zhuǎn)換成分組格式的這樣通信指令的例子包括IP塊與存儲器之間的存儲器裝載指令和存儲器存儲指令。這樣的通信指令還可以包括在并行應(yīng)用中和在流水線應(yīng)用中在傳送數(shù)據(jù)的IP塊之間發(fā)送消息的通信指令和在IP塊之間處理數(shù)據(jù)的指令。
[0049]在圖3的N0C102中,使每個IP塊都能夠通過IP塊的存儲器通信控制器向和從存儲器發(fā)送基于存儲器地址的通信物,然后通過它的網(wǎng)絡(luò)接口控制器也發(fā)送給網(wǎng)絡(luò)?;诖鎯ζ鞯刂返耐ㄐ盼锸怯蒊P塊的存儲器通信控制器的存儲器通信執(zhí)行引擎執(zhí)行、像裝載指令或存儲指令那樣的存儲器訪問指令。這樣基于存儲器地址的通信物通常源自IP塊,以命令格式明確表達,并轉(zhuǎn)交給存儲器通信控制器加以執(zhí)行。
[0050]許多基于存儲器地址的通信物利用消息業(yè)務(wù)來進行,因為要訪問的某個存儲器可能處在物理存儲器地址空間中的某個地方,片上或片外,直接附在NOC中的某個存儲器通信控制器上,或最終通過NOC的某個IP塊訪問一IP塊與該NOC無關(guān)地始發(fā)某個特定基于存儲器地址的通信物。因此,在N0C102中,將利用消息業(yè)務(wù)進行的所有基于存儲器地址通信物從存儲器通信控制器傳遞到相關(guān)網(wǎng)絡(luò)接口控制器,以便從命令格式轉(zhuǎn)換成分組格式和在消息中通過網(wǎng)絡(luò)發(fā)送。在轉(zhuǎn)換成分組格式時,網(wǎng)絡(luò)接口控制器還依賴于基于存儲器地址的通信物要訪問的一個或幾個存儲器地址地識別分組的網(wǎng)絡(luò)地址。利用存儲器地址尋址基于存儲器地址的消息。每個存儲器地址由網(wǎng)絡(luò)接口控制器映射成網(wǎng)絡(luò)地址,通常,負責某個范圍物理存儲器地址的存儲器通信控制器的網(wǎng)絡(luò)地點。存儲器通信控制器106的網(wǎng)絡(luò)地點自然也是存儲器通信控制器的相關(guān)路由器110、網(wǎng)絡(luò)接口控制器108、IP塊104的網(wǎng)絡(luò)地點。每個網(wǎng)絡(luò)接口控制器內(nèi)的指令轉(zhuǎn)換邏輯150能夠為了通過NOC的路由器發(fā)送基于存儲器地址通信物的目的將存儲器地址轉(zhuǎn)換成網(wǎng)絡(luò)地址。
[0051]一旦從網(wǎng)絡(luò)的路由器110接收到消息業(yè)務(wù),每個網(wǎng)絡(luò)接口控制器108就檢查每個分組是否有存儲器指令。將包含存儲器指令的每個分組交給與正在接收網(wǎng)絡(luò)接口控制器相聯(lián)系的存儲器通信控制器106,存儲器通信控制器106在將分組的其余有效負載發(fā)送給IP塊作進一步處理之前執(zhí)行存儲器指令。這樣,在IP塊開始執(zhí)行依賴于特定存儲器內(nèi)容的來自消息的指令之前,總是準備好存儲器內(nèi)容來支持IP塊的數(shù)據(jù)處理。
[0052]在圖3的N0C102中,使每個IP塊104能夠繞過它的存儲器通信控制器106,通過IP塊的網(wǎng)絡(luò)接口控制器108直接將IP塊間的網(wǎng)絡(luò)尋址通信物146發(fā)送給網(wǎng)絡(luò)。網(wǎng)絡(luò)尋址通信物是通過網(wǎng)絡(luò)地址指向另一個IF塊的消息。如本領(lǐng)域的普通技術(shù)人員所想到,這樣的消息在流水線應(yīng)用中發(fā)送工作數(shù)據(jù),在SMD應(yīng)用中在IP塊之間發(fā)送用于單個程序處理的多個數(shù)據(jù)等等。這樣的消息與基于存儲器地址通信物的不同之處在于它們一開始就被始發(fā)IP塊網(wǎng)絡(luò)尋址的,該始發(fā)IP塊知道通過NOC的路由器將消息引向的網(wǎng)絡(luò)地址。這樣的網(wǎng)絡(luò)尋址通信物由IP塊通過I/O功能136以命令格式直接傳遞給IP塊的網(wǎng)絡(luò)接口控制器,然后由網(wǎng)絡(luò)接口控制器轉(zhuǎn)換成分組格式,并通過NOC的路由器發(fā)送給另一個IP塊。這樣的網(wǎng)絡(luò)尋址通信物146是雙向的,依賴于它們在某個特定應(yīng)用中的使用,潛在地轉(zhuǎn)給NOC的每個IP塊和從NOC的每個IP塊轉(zhuǎn)出。但是,使每個網(wǎng)絡(luò)接口控制器都能夠向和從相關(guān)路由器發(fā)送和接收這樣的通信物,以及使每個網(wǎng)絡(luò)接口控制器都能夠繞過相關(guān)存儲器通信控制器106地直接向和從相關(guān)IP塊發(fā)送和接收這樣的通信物。
[0053]還使圖3的例子中的每個網(wǎng)絡(luò)接口控制器108都能夠?qū)崿F(xiàn)網(wǎng)絡(luò)上的虛擬通道,通過類型表征網(wǎng)絡(luò)分組。每個網(wǎng)絡(luò)接口控制器108包括按類型分類每條通信指令,以及在以分組形式將指令轉(zhuǎn)交給路由器110以便在NOC上發(fā)送之前將指令的類型存儲在網(wǎng)絡(luò)分組格式的字段中的虛擬通道實現(xiàn)邏輯148。通信指令類型的例子包括IP塊間基于網(wǎng)絡(luò)地址消息、請求消息、對請求消息的響應(yīng)、使引向高速緩存的消息失效;存儲器裝載和存儲消息;以及對存儲器裝載消息的響應(yīng)等。
[0054]圖3的例子中的每個路由器110包括路由邏輯152、虛擬通道控制邏輯154、和虛擬通道緩沖器156。路由邏輯152通常被實現(xiàn)成同步和異步邏輯的網(wǎng)絡(luò),其為由路由器110、鏈路118、和路由器之間的總線導線形成的網(wǎng)絡(luò)中的數(shù)據(jù)通信實現(xiàn)數(shù)據(jù)通信協(xié)議棧。路由邏輯152包括本領(lǐng)域的普通技術(shù)人員可以將片外網(wǎng)絡(luò)與路由表相聯(lián)系的功能、在至少一些實施例中路由表被認為太慢了,不方便用在NOC中。實現(xiàn)成同步和異步邏輯的網(wǎng)絡(luò)的路由邏輯可以配置成與單個時鐘周期一樣快地作出路由決定。本例中的路由邏輯通過為轉(zhuǎn)發(fā)在路由器中接收的每個分組選擇一個端口來傳送分組。每個分組包含分組要去往的網(wǎng)絡(luò)地址。
[0055]在上面描述基于存儲器地址通信物中,每個存儲器地址被描述成由網(wǎng)絡(luò)接口控制器映射到網(wǎng)絡(luò)地址,即,存儲器通信控制器的網(wǎng)絡(luò)地點。存儲器通信控制器106的網(wǎng)絡(luò)地點自然也是那個存儲器通信控制器的相關(guān)路由器110、網(wǎng)絡(luò)接口控制器108和IP塊104的網(wǎng)絡(luò)地點。因此,在IP塊間,或基于網(wǎng)絡(luò)地址的通信物中,應(yīng)用級數(shù)據(jù)處理通常也將網(wǎng)絡(luò)地址視作由NOC的路由器、鏈路、和總線導線形成的網(wǎng)絡(luò)內(nèi)IP塊的地點。圖2例示了這樣網(wǎng)絡(luò)的一種組織是行和列的網(wǎng)格,其中每個網(wǎng)絡(luò)地點可以實現(xiàn)成,例如,網(wǎng)格的每組相關(guān)路由器、IP塊、存儲器通信控制器、和網(wǎng)絡(luò)接口控制器的唯一標識符或網(wǎng)格中每個這樣的組的X,y坐標。
[0056]在圖3的N0C102中,每個路由器110實現(xiàn)兩個或更多個虛擬通信通道,其中每個虛擬通信通道通過通信類型來表征。通信指令類型,因此虛擬通道類型包括上述的那些消息:IP塊間基于網(wǎng)絡(luò)地址消息、請求消息、對請求消息的響應(yīng)、使引向高速緩存的消息失效;存儲器裝載和存儲消息;以及對存儲器裝載消息的響應(yīng)等。為了支持虛擬通道,圖3的例子中的每個路由器110還包括虛擬通道控制邏輯154和虛擬通道緩沖器156。虛擬通道控制邏輯154檢查每個接收的分組是否具有其指定的通信類型,并將每個分組放入那種通信類型的輸出虛擬通道緩沖器中,以便通過端口發(fā)送給NOC上的相鄰路由器。
[0057]每個虛擬通道緩沖器156具有有限存儲空間。當在較短時段內(nèi)接收到許多分組時,可能填滿虛擬通道緩沖器一使得再也不能將分組放入緩沖器中。換句話說,到達緩沖器充滿的虛擬通道的分組將被丟棄。但是,利用總線導線的控制信號,使本例中的每個虛擬通道緩沖器156能夠通過虛擬通道控制邏輯勸告周圍路由器暫停在虛擬通道中的發(fā)送,即,暫停特定通信類型的分組的發(fā)送。當如此暫停一個虛擬通道時,所有其他虛擬通道不受影響一可以繼續(xù)滿負荷運行。控制信號一直通過每個路由器有線傳回到每個路由器的相關(guān)網(wǎng)絡(luò)接口控制器108。每個網(wǎng)絡(luò)接口控制器被配置成一旦接收到這樣的信號,就描繪從它的相關(guān)存儲器通信控制器106或從它的相關(guān)IP塊104接收暫停虛擬通道的通信指令。這樣,虛擬通道的暫停影響一直回溯到始發(fā)IP塊、實現(xiàn)該虛擬通道的所有硬件。
[0058]暫停虛擬通道中的分組發(fā)送的一種效果是再也不會丟棄分組。當路由器遇到在像,例如,互聯(lián)網(wǎng)協(xié)議那樣的一些不可靠協(xié)議中可能丟棄分組的狀況時,圖3的例子中的路由器通過它們的虛擬通道緩沖器156和它們的虛擬通道控制邏輯154暫停虛擬通道中的所有分組發(fā)送,直到緩沖空間再次可用,從而沒有任何必要丟棄分組。因此,圖3的NOC可以利用極薄一層硬件來實現(xiàn)高度可靠的網(wǎng)絡(luò)通信協(xié)議。
[0059]圖3的示范性NOC還可以配置成保持片上和片外存儲器高速緩存兩者之間的高速緩存一致性。每個NOC可以支持每一個可以針對相同底層存儲器地址空間操作的多個高速緩存。例如,高速緩存可以由IP塊,由存儲器通信控制器,或由NOC外部的高速緩存控制器來控制。圖2的例子中的片上存儲器通信控制器114,116的任一個也可以實現(xiàn)成片上高速緩存,以及在本發(fā)明的范圍內(nèi),高速緩沖存儲器也可以片外實現(xiàn)。
[0060]例示在圖3中的每個路由器110包括五個端口,S卩,通過總線導線118與其他路由器連接的四個端口 158A-D、和通過網(wǎng)絡(luò)接口控制器108和存儲器通信控制器106將每個路由器與它的相關(guān)IP塊104連接的第五端口 160??梢詮膱D2和3中的例示中可以看出,N0C102的路由器110和鏈路118形成垂直和水平鏈路連接每個路由器中的垂直和水平端口的網(wǎng)狀網(wǎng)絡(luò)。在圖3的例示中,例如,端口 158A,158B,和160被稱為垂直端口,端口 158B和158D被稱為水平端口。[0061]圖4接著以另一種方式例示了實現(xiàn)成劃分成發(fā)出或指令單元(IU) 162、執(zhí)行單元(XU) 164和輔助執(zhí)行單元(AXU) 166的、按照本發(fā)明的IP塊104有一種示范性實現(xiàn)。在例示的實現(xiàn)中,IU162包括從LI指令高速緩存(iCHCHE)170接收指令的多個指令緩沖器168。每個指令緩沖器168專用于多個,例如,四個對稱多線程(SMT)硬件線程之一。有效到真實地址轉(zhuǎn)換單元(iERAT)172與iCHCHE170耦合,用于將來自多個線程取出定序器174的指令提取請求轉(zhuǎn)換成從較低級存儲器中檢索指令的真實地址。每個線程取出定序器174專用于特定硬件線程,用于保證相關(guān)線程要執(zhí)行的指令被取到iCHCHE中以便分派給合適執(zhí)行單元。也如圖4所示,取到指令緩沖器168中的指令也可以通過分支預(yù)測邏輯176監(jiān)視,分支預(yù)測邏輯176向每個線程取出定序器174提供提示,以便使執(zhí)行線程時分支引起的指令高速緩存丟失最少。
[0062]IU162還包括專用于每個硬件線程、和配置成解決依賴性問題和控制指令從指令緩沖器168到XU164的發(fā)出的依賴性/發(fā)出邏輯塊178。另外,在例示的實施例中,在AXU166中配備了分開依賴性/發(fā)出邏輯180,因此允許分開指令由不同線程同時發(fā)給XU164和AXU166。在一個可替代實施例中,可以將邏輯180布置在IU162中,或可以完全省略邏輯180,使邏輯178將指令發(fā)給AXU166。
[0063]XU164被實現(xiàn)成定點執(zhí)行單元,包括與定點邏輯184、分支邏輯186和/裝載/存儲邏輯188耦合的一組通用寄存器(GPR) 182。裝載/存儲邏輯188與LI數(shù)據(jù)高速緩存(dCACHE)190耦合,由dERAT邏輯192提供有效到真實地址轉(zhuǎn)換。XU164可以配置成實現(xiàn)幾乎任何指令集,例如,32b或64bPowerPC指令集的全部或一部分。
[0064]AXU166起包括專用代表性/發(fā)出邏輯180以及一個或多個執(zhí)行塊192的邏輯執(zhí)行單元的作用。AXU166可以包括任何數(shù)量的執(zhí)行塊,以及可以實現(xiàn)幾乎任何類型的執(zhí)行單元,例如,浮點單元、或像加密/解密單元、協(xié)處理器、矢量處理單元、圖形處理單元、XML處理單元等。在例示的實施例中,AXU166包括與XU164的高速輔助接口,例如,以便支持AXU架構(gòu)狀態(tài)與XU架構(gòu)狀態(tài)之間的直接移動。
[0065]與IP塊104的通信可以經(jīng)由與N0C102耦合的網(wǎng)絡(luò)接口控制器108,以上面結(jié)合圖2所討論的方式管理。例如,訪問L2高速緩沖存儲器的基于地址通信可以與基于消息通信一起提供。例如,每個IP塊104可以包括專用輸入盒和/或輸出盒,以便管理IP塊之間的節(jié)點間通信。
[0066]本發(fā)明的實施例可以在上面結(jié)合圖1-4所述的硬件和軟件環(huán)境內(nèi)實現(xiàn)。但是,從本公開中受益的本領(lǐng)域的普通技術(shù)人員應(yīng)該懂得,本發(fā)明可以在眾多不同環(huán)境中實現(xiàn),以及可以不偏離本發(fā)明的精神和范圍地對上述的硬件和軟件環(huán)境作出其他修改。這樣,本發(fā)明不局限于本文公開的特定硬件和軟件環(huán)境。
[0067]基于地址轉(zhuǎn)換的攪和
[0068]在SMD矢量處理系統(tǒng)中,在將數(shù)據(jù)排列成利用SMD處理單元中的多條線的格式的過程中消耗了相當數(shù)量的額外開銷。當以結(jié)構(gòu)陣列(AOS)將數(shù)據(jù)存儲在存儲器中以及需要處理具有陣列結(jié)構(gòu)(SOA)格式的數(shù)據(jù)時,這個問題更加嚴重。在許多情況下,一個進程可能想要一種格式的數(shù)據(jù),而另一個進程卻偏愛不同格式,使得以一種格式將數(shù)據(jù)存儲在存儲器中,而要求處理器在利用SMD矢量單元之前裝載和重新排序數(shù)據(jù)。
[0069]一般說來,為了解決這個問題,傳統(tǒng)做法將所有數(shù)據(jù)裝載在矢量寄存器文件中,然后在矢量寄存器文件中來回移動??商娲?,可以正好在裝入寄存器文件中之前攪和數(shù)據(jù)。這后一種做法通常節(jié)省了功能指令,但仍然要求每個負載多次訪問數(shù)據(jù)高速緩存。許多工作負載遵循存在矢量裝載,接著SMD浮點運算,再接著矢量存儲的簡單循環(huán),這種三指令序列通常被實現(xiàn)成四周期裝載、單周期數(shù)學運算、和四周期存儲。這種做法使高速緩存帶寬負擔非常重,因此未充分利用SIMD執(zhí)行單元。
[0070]另一方面,按照本發(fā)明的實施例利用地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)和邏輯在存儲器系統(tǒng)的不同級別之間攪和數(shù)據(jù),允許將攪和數(shù)據(jù)存儲在一個或多個級別的高速緩沖存儲器中,以減少高速緩存訪問和提高性能。尤其,可以將頁表條目(PTE),或主要用于在存儲器架構(gòu)中將有效或虛擬地址轉(zhuǎn)換成真實地址的其他適當數(shù)據(jù)結(jié)構(gòu)用于存儲定義是否要攪和存儲在特定頁面中的數(shù)據(jù)的一種或多種攪和相關(guān)頁面屬性??梢詫TE放置在,例如,有效到真實地址轉(zhuǎn)換(ERAT)表、轉(zhuǎn)換后備緩沖器(TLB)或頁表中。攪和相關(guān)頁面屬性還可以包括像指示應(yīng)該如何將數(shù)據(jù)重封裝在高速緩沖存儲器中的跨步長度或尺寸、在每個跨步上訪問的數(shù)據(jù)的尺寸、當被逐出時應(yīng)該將數(shù)據(jù)寫回到更高級高速緩沖存儲器中還是使其失效、和應(yīng)該發(fā)生攪和的高速緩沖存儲器的級別的指示等等。這個頁面可以是整個頁面,或簡單地,如核心架構(gòu)所定義的子頁。
[0071]如圖5所示,例如,可以以例示在222上的格式將數(shù)據(jù)的高速緩存行存儲在主存儲器中,而可能希望使用例示在224上的格式將數(shù)據(jù)存儲在一個或多個級別的高速緩沖存儲器中,以有助于,例如,矢量執(zhí)行單元處理。與地址轉(zhuǎn)換邏輯和/或高速緩存邏輯相關(guān)的硬件邏輯可以用于與任何其他高速緩存行一樣地管理高速緩存行上的高速緩存一致性,頁表條目或其他地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)將定義如何組織數(shù)據(jù)和應(yīng)該如何訪問數(shù)據(jù)的屬性提供給硬件邏輯。對這一行的矢量裝載然后可以在單次訪問中返還適當組織數(shù)據(jù),因此與上述簡單循環(huán)例子一樣,該循環(huán)使用三個處理器執(zhí)行周期而不是九個,導致顯著加速。對這一行的其他字節(jié)或字訪問也可以根據(jù)規(guī)定在PTE中的跨步長度和訪問尺寸計算適當偏移。
[0072]另外,雖然在一些實施例中,可能要求逐個高速緩存行地對準攪和的所有數(shù)據(jù),但這未必是所希望的,因此在一些實施例中,可能希望包括通過從可以確定必須使哪些高速緩存行失效的更高級高速緩存支持失效跨過高速緩存行和擴展跨步長度的能力。這可以通過為失效訪問像ERAT那樣的地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu),或?qū)嚭拖嚓P(guān)屬性存儲在已經(jīng)為失效訪問的目錄標記表中來完成。
[0073]通過支持變量訪問和除了字矢量之外的其他跨步長度,可以支持像裝載許多通信分組的一個或多個初始字節(jié)和并行處理它們的首標那樣的功能。除了矢量工作負載之外,這還可用于,例如,分組的標量整數(shù)處理。
[0074]在一些實施例中,可以包括控制是否根據(jù)負載訪問只返還所請求高速緩存行,或是否返還所有接觸高速緩存行的定義在指令中的模式位或指令修飾位。對于打算裝載矢量的所有元素的情況,這起預(yù)取功能的作用。
[0075]另外,如上所述,可以將級別屬性用于規(guī)定在高速緩沖存儲器的幾個級別當中,在哪個級別內(nèi)攪和數(shù)據(jù)。在本發(fā)明的一個實施例中,例如,可以以標準存儲器格式將數(shù)據(jù)存儲在L2和/或L3高速緩存中,多個處理器可以對數(shù)據(jù)進行不同作業(yè),因為它們可以來回傳遞所有權(quán)。數(shù)據(jù)可以以標準格式保留在L2和/或L3高速緩存中,而每個處理器不同地向那個處理器自己的LI高速緩存中裝載和攪和數(shù)據(jù),以便為每個特定處理器優(yōu)化對數(shù)據(jù)的訪問。[0076]另外,在一些實施例中,重新排序數(shù)據(jù)也可以為便于更強大優(yōu)化訪問地將數(shù)據(jù)存儲在高速緩存中創(chuàng)造條件。例如,與分散在幾個存儲體中相反,攪和數(shù)據(jù)時常可以存儲在單個存儲體中,要不然需要更多的陣列處在活動狀態(tài)和更加費力。
[0077]例如,圖6例示了適合實現(xiàn)按照本發(fā)明的基于地址轉(zhuǎn)換攪和的示范性數(shù)據(jù)處理系統(tǒng)200。系統(tǒng)200被配置成含有將多個處理核心204 —起與存儲器管理單元(MMU) 206耦合的存儲器總線202。雖然在圖6中只例示了兩個處理核心204,但應(yīng)該懂得,在本發(fā)明的不同實施例中可以利用任何數(shù)量的處理核心。
[0078]每個處理核心204是包括多(N)個硬件線程208,以及有效到真實地址轉(zhuǎn)換(ERAT)單元210和集成LI高速緩存212的SMT核心。如在現(xiàn)有技術(shù)中所理解的那樣,ERAT210用作存儲器地址轉(zhuǎn)換數(shù)據(jù),例如,PTE的高速緩存,通常與較低級數(shù)據(jù)結(jié)構(gòu),例如,布置在MMU206中或要不然MMU206可訪問的轉(zhuǎn)換后備緩沖器(TLB) 214相聯(lián)系。TLB214可以用作通常存儲在存儲器216中的較大頁表的高速緩存。
[0079]存儲器系統(tǒng)可以包括多級存儲器和高速緩存,這樣,數(shù)據(jù)處理系統(tǒng)200被例示成包括與MMU206耦合和被處理核心204共享的L2高速緩存218。但是,應(yīng)該懂得,在本發(fā)明的其他實施例中可以利用各種可替代存儲器架構(gòu)。例如,可以使用另外級別的高速緩沖存儲器,例如,L3高速緩存,以及在一些實施例中,例如,在基于非均勻存儲器訪問(NUMA)的數(shù)據(jù)處理系統(tǒng)中可以劃分存儲器216。更進一步,另外的高速緩存級別可以專用于特定處理核心,例如,以便每個處理核心包括可以集成成處理核心或耦合在處理核心與存儲器總線之間的專用L2高速緩存。在一些實施例中,L2或L3高速緩存可以直接與存儲器總線耦合,而不是經(jīng)由與MMU的專用接口。
[0080]另外,應(yīng)該懂得,例示在圖6中的部件可以集成在相同集成電路器件或芯片上,或可以布置在多個這樣的芯片中。在一個實施例中,例如,在NOC安排中每個處理核心被實現(xiàn)成的IP塊,而在SOC安排中總線202、MMU206和L2高速緩存218被集成在與處理核心相同的芯片上。在其他實施例中,總線202、MMU206、L2高速緩存218和/或存儲器216每一個可能被集成在與處理核心相同或不同的芯片上,以及在一些情況下,處理核心可以布置在分開芯片中。
[0081]因此,應(yīng)該懂得,考慮到可以與本發(fā)明一起使用的各種各樣已知處理器和存儲器架構(gòu),本發(fā)明不局限于本文例示的特定存儲器架構(gòu)。
[0082]為了實現(xiàn)按照本發(fā)明的基于地址轉(zhuǎn)換攪和,數(shù)據(jù)處理系統(tǒng)200包括,例如,布置在L2高速緩存218內(nèi)、和可用于有選擇地攪和存儲在各種級別的存儲器子系統(tǒng)中的高速緩存行的攪和邏輯220。
[0083]如上所述,基于地址轉(zhuǎn)換的攪和可以通過將一種或多種頁面屬性加入存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu),例如,頁表條目(PTE)中來實現(xiàn)。例如,圖7例示了能夠保留在ERAT210或TLB214中、和擴展成包括各種頁面屬性232-238以便支持基于地址轉(zhuǎn)換的攪和的示范性PTE230。攪和屬性232,例如,1-位標志可以用于指示是否應(yīng)該攪和頁面中的數(shù)據(jù)。可以使用一個或多個位實現(xiàn)的級別屬性234可以用于規(guī)定應(yīng)該在什么級別上攪和數(shù)據(jù)。在圖6的例示性實施例中,例如,級別屬性234可以是控制只在LI高速緩存中還是在LI和L2高速緩存兩者中攪和數(shù)據(jù)的1-位值。
[0084]另外,在一些實施例中,可能希望可選地規(guī)定失效屬性236,失效屬性236定義應(yīng)該將攪和的和被逐出高速緩存的數(shù)據(jù)寫回到更高級高速緩存中還是簡單地使其失效。進一步,在一些實施例中,可能希望包括規(guī)定用于攪和數(shù)據(jù)的跨步長度的跨步屬性238。
[0085]PTE230還存儲與傳統(tǒng)PTE類似的附加數(shù)據(jù)。例如,像指示頁面是可高速緩存的,受到保護的,還是只讀的、是否需要存儲器一致性或直寫、終止模式位等的屬性那樣的附加頁面屬性240可以包括在PTE中,同樣可以將一個或多個位分配給用戶模式數(shù)據(jù)242,例如,用于軟件一般性或控制高速緩存鎖定選項。可以提供訪問控制頁面屬性244以便,例如,通過規(guī)定與授權(quán)訪問頁面的進程相聯(lián)系的進程標識符(PID),或可選地,匹配和/或屏蔽數(shù)據(jù)的組合、或適合規(guī)定授權(quán)訪問存儲器的頁面的一組進程的其他數(shù)據(jù)控制允許什么進程可以訪問存儲器的頁面。例如,訪問控制屬性可以從PID中屏蔽掉一個或多個LSB,以便允許訪問控制屬性中與MSB匹配的任何PID訪問相應(yīng)存儲器頁面。ERAT頁面屬性246為PTE存儲有效到真實地址轉(zhuǎn)換數(shù)據(jù),通常包括與用于訪問PTE的有效/虛擬地址,以及也用于經(jīng)由CAM功能索引ERAT的有效/虛擬地址相對應(yīng)的真實地址。
[0086]應(yīng)該懂得,PTE230的格式也可以用在TLB214以及駐留在存儲器架構(gòu)中的任何其他頁表中??商娲兀鎯υ诓煌墑e的存儲器架構(gòu)中的PTE可以根據(jù)那種特定級別的存儲器架構(gòu)的需要包括其他數(shù)據(jù)或省略一些數(shù)據(jù)。更進一步,應(yīng)該懂得,雖然本文討論的實施例利用術(shù)語“ERAT”和“TLB”來描述存儲或高速緩存處理器或處理核心中的存儲器地址轉(zhuǎn)換信息的各種硬件邏輯,但這樣的硬件邏輯可以用其他用語來指代,因此本發(fā)明不局限于以ERAT和TLB的方式使用。另外,可以使用其他PTE格式,因此本發(fā)明不局限于例示在圖7中的特定PTE格式。
[0087]通過將攪和相關(guān)屬性存儲在PTE中,是否在特定高速緩沖存儲器中攪和頁面中的數(shù)據(jù)的確定可以容易地與訪問那個數(shù)據(jù)相聯(lián)系作出。如在現(xiàn)有技術(shù)中眾所周知,例如,運行在固件、內(nèi)核、分區(qū)管理器或操作系統(tǒng)中的管理程序或其他管理程序級軟件傳統(tǒng)上用于將存儲器頁面分配給特定進程,和管理要不然,如果進程試圖訪問未授權(quán)訪問的存儲器頁面,則可能發(fā)生的訪問違例。這樣的管理程序級軟件,例如,可以為數(shù)據(jù)處理系統(tǒng)管理整個頁表,數(shù)據(jù)處理系統(tǒng)中的專用硬件用于將來自頁表的PTE高速緩存在TLB214和ERAT210中。因此,按照本發(fā)明的實施例能夠衡量現(xiàn)有管理程序級訪問控制,以便代表各種應(yīng)用或進程設(shè)置分配給那些應(yīng)用或進程的存儲器的什么頁面將存儲攪和數(shù)據(jù),以及如果這樣的話,如何以及在何處攪和那個數(shù)據(jù)。
[0088]例如,為了例示利用按照本發(fā)明的基于地址轉(zhuǎn)換攪和的示范性存儲器訪問的目的,圖8例示了示范性數(shù)據(jù)處理系統(tǒng),尤其其中的示范性處理核心。例如,如配備在處理核心的裝載/存儲單元中的地址生成邏輯252可以,例如,響應(yīng)在處理核心中執(zhí)行的硬件線程(未示出)執(zhí)行指令,生成從存儲器的特定頁面中訪問數(shù)據(jù)(例如,高速緩存行)的存儲器訪問請求。并行地將該存儲器訪問請求發(fā)給ERAT253和LI高速緩存254兩者,前者進行地址轉(zhuǎn)換操作,以及針對與正在請求硬件線程相聯(lián)系的PID確定該存儲器訪問請求是否得到授權(quán),后者確定該存儲器訪問請求指定的高速緩存行當前是否高速緩存在LI高速緩存中。在圖8的例示性實施例中,將ERAT253表示成“dERAT”,將LI高速緩存254表示成“dCache”,以指示這些部件與數(shù)據(jù)訪問相聯(lián)系,以便可以提供相應(yīng)iERAT和iCache部件來管理指令訪問(未示出)。
[0089]ERAT253響應(yīng)該存儲器訪問請求,為該存儲器訪問請求指定的存儲器的頁面訪問PTE256。管理程序保護異常管理邏輯258將該存儲器訪問請求的PID與PTE中的訪問控制位相比較,如果作為未授權(quán)該PID訪問存儲器的這個頁面的結(jié)果發(fā)生了訪問違例,邏輯258通過如260所表示,將軟件異常拋給管理程序級軟件發(fā)出中斷信號。在存儲器訪問請求得到授權(quán)但在LI高速緩存中發(fā)生丟失的情況下,將該存儲器訪問請求轉(zhuǎn)發(fā)給裝載/丟失隊列262,裝載/丟失隊列262將該請求發(fā)給較低級存儲器,例如,L2高速緩存264。
[0090]更進一步,如圖8所例示,將L2高速緩存264與攪和控制器266耦合,攪和控制器266也利用PTE256中的數(shù)據(jù)來確定是否在LI和/或L2高速緩存254,264中攪和高速緩存行。在要攪和高速緩存行的情況下,攪和控制器266控制多路復用邏輯268輸出L2高速緩存264返還的高速緩存行的攪和表示,以便將攪和高速緩存行存儲在LI高速緩存254中。如果不是,則攪和控制器266控制多路復用邏輯268以不變形式將高速緩存行從L2高速緩存264饋送到LI高速緩存254。攪和控制器266可以布置在數(shù)據(jù)處理系統(tǒng)250中的各種部件中,例如,在L2高速緩存264內(nèi),或要不然與其耦合。在許多實施例中可能希望,例如,使攪和控制器處在預(yù)期以未攪和格式存儲高速緩存行的最低級存儲器中,以便攪和控制器可以與從較高級高速緩存中完成高速緩存行請求結(jié)合攪和數(shù)據(jù)。
[0091]圖9更詳細地例示了響應(yīng)數(shù)據(jù)處理系統(tǒng)250中代表進程的硬件線程發(fā)出從高速緩存行中裝載數(shù)據(jù)的存儲器訪問請求進行的操作270的順序。為了簡化這個討論,假設(shè)保護邏輯已經(jīng)確定正在請求線程有權(quán)訪問與該存儲器訪問請求相聯(lián)系的頁面,因此在圖9中未例示出訪問控制相關(guān)步驟。因此,如果允許線程從特定高速緩存行中裝載數(shù)據(jù),則對LI高速緩存254是否可以完成該請求作出確定(方塊272)。如果在LI高速緩存254上未丟失該存儲器訪問請求,則LI高速緩存254完成該請求(方塊274),并結(jié)束該存儲器訪問請求的管理。
[0092]但是,如果在LI高速緩存254上丟失了該請求,則在方塊276中將該請求傳送給裝載/丟失隊列262,以便在該隊列中加入與該請求相對應(yīng)的條目。另外,可能希望將該條目中的一種或多種屬性設(shè)置成對于高速緩存行與存儲在PTE中的攪和相關(guān)屬性相對應(yīng)。接著,在,例如,在到L2高速緩存或較低級存儲器的存儲器總線上將該請求發(fā)給較低級存儲器之前,在方塊278中如從PTE256中的頁面屬性中所確定,對是否指示攪和頁面作出確定。如果不是,則在方塊280中為該存儲器訪問請求發(fā)出總線事務(wù)。另一方面,如果要攪和頁面,則在方塊282中發(fā)出總線事務(wù)以及來自PTE256的附加攪和相關(guān)邊帶數(shù)據(jù)。
[0093]攪和相關(guān)邊帶數(shù)據(jù)可以以按照本發(fā)明的許多方式在存儲器總線上傳送。例如,可以在總線架構(gòu)中提供附加控制線來規(guī)定總線事務(wù)是否與攪和數(shù)據(jù)相聯(lián)系,以便可以根據(jù)一條或多條控制線的狀態(tài)作出是否要攪和數(shù)據(jù)的確定??商娲?,可以將事務(wù)類型與攪和數(shù)據(jù)相聯(lián)系,以便可以簡單地根據(jù)總線事務(wù)的事務(wù)類型作出確定。在別的其他實施例中,可以提供非攪和相關(guān)邊帶數(shù)據(jù),以及可以使攪和相關(guān)屬性保留在多級存儲器中的PTE中。
[0094]接著,在方塊284中,由L2高速緩存264,尤其由其中的攪和控制器266接收總線事務(wù),例如,根據(jù)向其提供了總線事務(wù)的邊帶數(shù)據(jù)或從與L2高速緩存相聯(lián)系的TLB中的PTE的副本中確定是否要在LI高速緩存中攪和數(shù)據(jù)。如果不是,則將控制傳遞給方塊286,以便直接從L2高速緩存,或如果當前未高速緩存在L2高速緩存中,則從主存儲器返還所請求高速緩存行。
[0095]否則,如果要攪和高速緩存行,則方塊284將控制傳遞給方塊287,以便在將數(shù)據(jù)返還給LI高速緩存之前攪和數(shù)據(jù)。攪和數(shù)據(jù)的方式通常基于硬編碼算法,或可替代地,基于經(jīng)由攪和相關(guān)頁面屬性規(guī)定的跨步長度和/或數(shù)據(jù)大小的可定制算法。另外,如方塊288所例示,如果跨步長度和/或數(shù)據(jù)大小跨過高速緩存行和如果模式位或其他控制信息指示應(yīng)該檢索不止一個高速緩存行,則可以將控制傳遞給方塊290,以便響應(yīng)該請求攪和和返還一個或多個另外高速緩存行。
[0096]圖10接著例示了,例如,每當LI高速緩存中的修改數(shù)據(jù)被逐出到L2高速緩存或更高級存儲器中時可以執(zhí)行的逐出例程300。根據(jù)PTE是否指示數(shù)據(jù)是攪和的(方塊302)。不帶(方塊304)或帶有(方塊306)攪和邊帶數(shù)據(jù)地發(fā)出總線事務(wù)。L2高速緩存在方塊308中接收總線事務(wù),并確定某些攪和相關(guān)屬性是否指示要使數(shù)據(jù)失效而不是寫回到L2高速緩存中。例如,如果不需要將數(shù)據(jù)寫回到更高級存儲器中,例如,如果數(shù)據(jù)是只讀數(shù)據(jù),則可能希望失效。
[0097]如果要使數(shù)據(jù)失效,則將控制傳遞給方塊310,以便簡單地在L2高速緩存中使高速緩存行失效。否則,將控制傳遞給方塊312,以確定數(shù)據(jù)是否是攪和的。如果不是,則將控制傳遞給方塊314,以便存儲在L2高速緩存中未改變的數(shù)據(jù)。如果數(shù)據(jù)是攪和的,則將控制傳遞給方塊316,在將數(shù)據(jù)存儲在L2高速緩存中之前,通過攪和控制器流化數(shù)據(jù)以便去攪和數(shù)據(jù)。
[0098]可以按照本發(fā)明將攪和控制邏輯布置在存儲器子系統(tǒng)的不同級別上。例如,圖11例示了包括通過三個級別的高速緩存與主存儲器324的寄存器文件322的數(shù)據(jù)處理系統(tǒng)320:L1高速緩存326、L2高速緩存328和L3高速緩存330??梢詫⒌刂忿D(zhuǎn)換數(shù)據(jù)結(jié)構(gòu),例如,ERAT332和TLB334布置在存儲器子系統(tǒng)的各種級別上,以及也可以將采取攪和控制器336,338的形式的攪和邏輯布置在存儲器子系統(tǒng)的各種級別上。在一些實施例中,可以將攪和邏輯集成到高速緩存控制器,例如,L2或L3高速緩存控制器340,342中。
[0099]但是,在其他實施例中,攪和邏輯可以與任何高速緩存控制器分開,可以布置在處理器或處理核心的內(nèi)部或外部。一般說來,實現(xiàn)本文所述功能的攪和邏輯的實現(xiàn)完全在從本公開中受益的本領(lǐng)域的普通技術(shù)人員的能力之內(nèi)。
[0100]應(yīng)該懂得,本文所述的實施例可用在許多應(yīng)用中。例如,如圖12所例示,可能希望在網(wǎng)絡(luò)處理應(yīng)用中通過使用攪和控制器354 —起攪和多個分組350的首標352的第一字節(jié)或前幾個字節(jié)并行處理多個分組350,以便將多個分組的首標或其中的一些部分封裝到相同高速緩存行中。如356所例示的所得攪和數(shù)據(jù)只包括多個分組350的首標352的所希望字節(jié),以便,例如,可以使用矢量處理單元并行地進行多個分組的預(yù)處理。如上所述,本文所述實施例的靈活性允許跨步長度等于分組大小,但未必與高速緩存行組織對齊,使得多個分組的攪和另外可能導致與攪和高速緩存行的裝載請求相聯(lián)系地預(yù)取一個或多個另外高速緩存行。
[0101]因此,按照本發(fā)明的實施例可以用于尤其與矢量化處理單元相聯(lián)系地,以及使與檢索攪和數(shù)據(jù)有關(guān)的等待時間縮短地促進數(shù)據(jù)的攪和,以便優(yōu)化所檢索數(shù)據(jù)的處理??梢圆黄x本發(fā)明的精神和范圍地對公開的實施例作出各種附加修改。因此,本發(fā)明取決于本文所附的權(quán)利要求書。
【權(quán)利要求】
1.一種在數(shù)據(jù)處理系統(tǒng)中訪問數(shù)據(jù)的方法,該方法包含: 響應(yīng)數(shù)據(jù)處理系統(tǒng)中的處理單元發(fā)起的存儲器訪問請求,訪問存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu),以便為該存儲器訪問請求進行存儲器地址轉(zhuǎn)換; 訪問該存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)中的至少一種攪和相關(guān)頁面屬性,以便確定是否應(yīng)該攪和來自與該存儲器訪問請求相聯(lián)系的存儲器頁面的數(shù)據(jù);以及 根據(jù)該至少一種攪和相關(guān)頁面屬性,使來自存儲器頁面的數(shù)據(jù)以攪和后格式存儲在高速緩沖存儲器中。
2.如權(quán)利要求1所述的方法,其中使數(shù)據(jù)以攪和后格式存儲在高速緩沖存儲器中包括攪和數(shù)據(jù)。
3.如權(quán)利要求2所述的方法,其中使數(shù)據(jù)以攪和后格式存儲在高速緩沖存儲器中進一步包括在攪和數(shù)據(jù)之后將數(shù)據(jù)存儲高速緩沖存儲器中。
4.如權(quán)利要求2所述的方法,其中該存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)包括多個頁表條目,每個頁表條目包括與和頁表條目相聯(lián)系的存儲器頁面相聯(lián)系的真實地址、和與這樣的存儲器頁面相聯(lián)系的攪和相關(guān)頁面屬性。
5.如權(quán)利要求2所述的方法,其中該至少一種攪和相關(guān)頁面屬性包括級別屬性,以及其中有選擇地攪和數(shù)據(jù)包括如果該級別屬性指示要在與高速緩沖存儲器相聯(lián)系的級別中攪和數(shù)據(jù),則攪和數(shù)據(jù)。
6.如權(quán)利要求5所述的方法,其中該高速緩沖存儲器是LI高速緩存,其中該數(shù)據(jù)處理系統(tǒng)包括L2高速緩存,以及其中根據(jù)級別屬性在LI高速緩存中而不是在L2高速緩存中攪和數(shù)據(jù)。`
7.如權(quán)利要求2所述的方法,其中該至少一種攪和相關(guān)頁面屬性包括跨步長度屬性,以及其中有選擇地攪和數(shù)據(jù)包括使用與跨步長度屬性相聯(lián)系的跨步長度攪和數(shù)據(jù)。
8.如權(quán)利要求2所述的方法,其中該至少一種攪和相關(guān)頁面屬性包括失效屬性,該方法進一步包含根據(jù)失效屬性,響應(yīng)高速緩存行的逐出使與數(shù)據(jù)相聯(lián)系的高速緩存行失效。
9.如權(quán)利要求2所述的方法,其中將數(shù)據(jù)與高速緩存行相聯(lián)系,該方法進一步包含根據(jù)該至少一種攪和相關(guān)頁面屬性預(yù)取至少一個另外高速緩存行。
10.如權(quán)利要求9所述的方法,其中預(yù)取至少一個另外高速緩存行基于跨步長度屬性和數(shù)據(jù)大小屬性的至少一種。
11.如權(quán)利要求2所述的方法,其中將數(shù)據(jù)與高速緩存行相聯(lián)系,其中該存儲器頁面包括多個分組,每個分組都包括首標,以及其中有選擇地攪和數(shù)據(jù)包括將多個分組的首標的至少一部分封裝到相同高速緩存行中。
12.—種電路安排,包含: 高速緩沖存儲器; 存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu),用于為與高速緩沖存儲器通信的處理單元發(fā)起的存儲器訪問請求進行存儲器地址轉(zhuǎn)換,該存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)包括指示是否應(yīng)該攪和與該存儲器訪問請求相聯(lián)系的存儲器頁面中的數(shù)據(jù)的至少一種攪和相關(guān)頁面屬性;以及 控制邏輯,配置成根據(jù)該存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)中的該至少一種攪和相關(guān)頁面屬性,使來自存儲器頁面的數(shù)據(jù)以攪和后格式存儲在高速緩沖存儲器中。
13.如權(quán)利要求12所述的電路安排,其中該控制邏輯被配置成通過攪和數(shù)據(jù)使數(shù)據(jù)以攪和后格式存儲在高速緩沖存儲器中。
14.如權(quán)利要求13所述的電路安排,其中該控制邏輯被配置成進一步通過在攪和數(shù)據(jù)之后將數(shù)據(jù)存儲高速緩沖存儲器中使數(shù)據(jù)以攪和后格式存儲在高速緩沖存儲器中。
15.如權(quán)利要求13所述的電路安排,其中該存儲器地址轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)包括多個頁表條目,每個頁表條目包括與和頁表條目相聯(lián)系的存儲器頁面相聯(lián)系的真實地址、和與這樣的存儲器頁面相聯(lián)系的攪和相關(guān)頁面屬性。
16.如權(quán)利要求13所述的電路安排,其中該至少一種攪和相關(guān)頁面屬性包括級別屬性,以及其中該控制邏輯被配置成如果該級別屬性指示要在與高速緩沖存儲器相聯(lián)系的級別中攪和數(shù)據(jù),則有選擇地攪和數(shù)據(jù)。
17.如權(quán)利要求16所述的電路安排,其中該高速緩沖存儲器是LI高速緩存,其中該數(shù)據(jù)處理系統(tǒng)包括L2高速緩存,以及其中根據(jù)級別屬性在LI高速緩存中而不是在L2高速緩存中攪和數(shù)據(jù)。
18.如權(quán)利要求13所述的電路安排,其中該至少一種攪和相關(guān)頁面屬性包括跨步長度屬性,以及其中該控制邏輯被配置成使用與跨步長度屬性相聯(lián)系的跨步長度攪和數(shù)據(jù)。
19.如權(quán)利要求13所述的電路安排,其中該至少一種攪和相關(guān)頁面屬性包括失效屬性,以及其中該控制邏輯被進一步配置成根據(jù)失效屬性,響應(yīng)高速緩存行的逐出使與數(shù)據(jù)相聯(lián)系的高速緩存行失效。
20.如權(quán)利要求13所述的電路安排,其中將數(shù)據(jù)與高速緩存行相聯(lián)系,以及其中該控制邏輯被進一步配置成根據(jù)該至少一種攪和相關(guān)頁面屬性預(yù)取至少一個另外高速緩存行。
21.如權(quán)利要求20所述的電路安排,其中該控制邏輯被配置成根據(jù)跨步長度屬性和數(shù)據(jù)大小屬性的至少一種預(yù)取至少一個另外高速緩存行。`
22.如權(quán)利要求13所述的電路安排,其中將數(shù)據(jù)與高速緩存行相聯(lián)系,其中該存儲器頁面包括多個分組,每個分組都包括首標,以及其中該控制邏輯被配置通過將多個分組的首標的至少一部分封裝到相同高速緩存行中,有選擇地攪和數(shù)據(jù)。
23.一種包含如權(quán)利要求12所述的電路安排的集成電路器件。
【文檔編號】G06F12/10GK103870397SQ201310628908
【公開日】2014年6月18日 申請日期:2013年11月29日 優(yōu)先權(quán)日:2012年12月12日
【發(fā)明者】J.R.庫塞爾, M.G.庫普弗施密特, P.E.沙特, R.A.希勒 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1