两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

具有預(yù)填充能力的存儲(chǔ)器管理單元的制作方法

文檔序號(hào):6494731閱讀:257來源:國(guó)知局
具有預(yù)填充能力的存儲(chǔ)器管理單元的制作方法
【專利摘要】本發(fā)明揭示用于存儲(chǔ)器管理單元MMU的系統(tǒng)和方法,其經(jīng)配置以用預(yù)期將在未來使用的地址翻譯(202-204)條目自動(dòng)地預(yù)填充翻譯旁視緩沖器TLB(206、208),進(jìn)而減少TLB未中率且改善性能。所述TLB可以翻譯條目預(yù)填充,其中對(duì)應(yīng)于所述預(yù)填充的地址可基于預(yù)測(cè)來選擇。預(yù)測(cè)可從外部裝置(214)導(dǎo)出,或基于跨度值,其中所述跨度值可為預(yù)定常數(shù)或基于存取模式(216)而動(dòng)態(tài)更改。預(yù)填充所述TLB可有效地移除在從關(guān)鍵路徑確定針對(duì)TLB未中的地址翻譯時(shí)涉及的等待時(shí)間。
【專利說明】具有預(yù)填充能力的存儲(chǔ)器管理單元
[0001]依據(jù)35U.S.C.§ 119主張優(yōu)先權(quán)
[0002]本專利申請(qǐng)案主張2011年3月3日申請(qǐng)的題目為“具有預(yù)填充能力的存儲(chǔ)器管理單元(MEMORY MANAGEMENT UNIT WITH PRE-FILLING CAPABILITY) ” 的第 61/448,839 號(hào)臨時(shí)申請(qǐng)案的優(yōu)先權(quán),所述臨時(shí)申請(qǐng)案轉(zhuǎn)讓給本受讓人且特此以引用方式并入本文。
【技術(shù)領(lǐng)域】
[0003]所揭示的實(shí)施例是針對(duì)用于管理存儲(chǔ)器地址從虛擬地址到物理地址的翻譯的存儲(chǔ)器管理單元(MMU)。更特定來說,示范性實(shí)施例是針對(duì)用于管理翻譯高速緩沖存儲(chǔ)器的高效技術(shù),例如預(yù)填充,其中翻譯高速緩沖存儲(chǔ)器可用于虛擬到物理地址翻譯。
【背景技術(shù)】
[0004]現(xiàn)代操作系統(tǒng)經(jīng)常使用虛擬地址方案以便使處理器中的物理存儲(chǔ)空間的使用最大化。虛擬存儲(chǔ)器是此項(xiàng)技術(shù)中眾所周知的。虛擬存儲(chǔ)器可通過虛擬地址來尋址。與程序相關(guān)的虛擬地址空間常規(guī)上劃分為若干頁(yè)。頁(yè)是鄰接虛擬存儲(chǔ)器地址的塊。雖然可參考虛擬地址來寫入程序,但對(duì)于處理器對(duì)程序指令的執(zhí)行來說,到物理地址的翻譯可為必要的。可采用頁(yè)表來將虛擬地址映射到對(duì)應(yīng)的物理地址。
[0005]存儲(chǔ)器管理單元(MMU)常用以處置虛擬地址到物理地址的翻譯。MMU可查找包含虛擬到物理地址映射的頁(yè)表?xiàng)l目(PTE),以便處置翻譯。可通過動(dòng)態(tài)地分配和釋放物理存儲(chǔ)器或數(shù)據(jù)緩沖器的塊來管理物理存儲(chǔ)器空間。在此動(dòng)態(tài)分配和釋放的過程中,通常自由物理存儲(chǔ)器空間變?yōu)榻?jīng)分段的,包括不鄰接的自由塊。因此,鄰接虛擬地址范圍可變?yōu)橛成涞饺舾刹秽徑游锢泶鎯?chǔ)器塊。因此,可能需要頻繁地執(zhí)行頁(yè)表查找過程,也稱為“頁(yè)表巡行”,因?yàn)猷徑犹摂M地址可能未常規(guī)上映射到鄰接物理地址。這些頻繁的頁(yè)表查找可顯著影響性倉(cāng)泛。
[0006]解決頻繁的頁(yè)表查找的一種常規(guī)技術(shù)包含使用翻譯高速緩沖存儲(chǔ)器,也稱為翻譯旁視緩沖器(TLB)。TLB可將用于頻繁存取的頁(yè)的翻譯高速緩沖存儲(chǔ)在經(jīng)標(biāo)記硬件查找表中。因此,如果虛擬地址在TLB中命中,那么對(duì)應(yīng)物理地址翻譯可從TLB再使用,而不必招致與頁(yè)表巡行相關(guān)聯(lián)的成本。
[0007]參見圖1,說明TLB的常規(guī)實(shí)施方案。如圖示,TLB100經(jīng)配置以將虛擬地址(VA) 102翻譯為物理地址(PA) 104。虛擬地址A、B、C和D存儲(chǔ)在內(nèi)容可尋址存儲(chǔ)器(CAM) 112中。虛擬地址的一部分形成標(biāo)簽110,所述標(biāo)簽與虛擬地址102進(jìn)行比較以確定用于虛擬地址102的翻譯是否存在于TLB100中。如果存在命中,那么使用多路分用器邏輯108從隨機(jī)存取存儲(chǔ)器(RAM) 106讀出對(duì)應(yīng)物理地址:P、Q、R或S,以便形成物理地址104。例如A、B、C或D等虛擬地址連同其對(duì)應(yīng)物理地址翻譯P、Q、R或S可組合地稱為TLB100中的條目。
[0008]例如TLB100的TLB中的條目可以若干方式填充。用于評(píng)估TLB中的填充或更新的常用準(zhǔn)則包含:何時(shí)將填充TLB條目;新條目在TLB中可放置于何處;以及在TLB的每次更新期間可填充多少TLB條目。此項(xiàng)技術(shù)中已知兩種常規(guī)技術(shù)用于更新或填充TLP條目。[0009]稱為“軟件填充”的第一種技術(shù)如下滿足以上用于填充TLB的準(zhǔn)則:依據(jù)在軟件中起始的填充命令來執(zhí)行填充;在由軟件指定的地址處執(zhí)行填充;以及常規(guī)上,軟件填充適用于TLB中的單個(gè)條目。
[0010]稱為“需求填充”的第二種技術(shù)通常在用于中央處理單元(CPU)的MMU中使用。需求填充如下滿足用于填充TLB的準(zhǔn)則:依據(jù)TLB中的未中執(zhí)行填充;在造成未中的地址處執(zhí)行填充;以及需求填充常規(guī)上適用于TLB中對(duì)應(yīng)于造成未中的地址的單個(gè)條目。需求填充的一個(gè)優(yōu)點(diǎn)是依據(jù)未中僅在需要時(shí)填充TLB條目。然而,伴隨的缺點(diǎn)是每次TLB在等待填充所需TLB條目時(shí)對(duì)TLB用戶引起暫停。
[0011]需求填充可為用于CPU的足夠解決方案,因?yàn)槌绦蛲ǔ0^高的時(shí)間局部性程度,即相同地址在時(shí)間上是靠近在一起存取。然而,串流存取可能有時(shí)不展現(xiàn)時(shí)間局部性。串流存取可通常包括可在突發(fā)中執(zhí)行的若干組一次或一次以上存取。舉例來說,可能不展現(xiàn)較高的時(shí)間局部性程度的串流存取可包含從多媒體加速器(例如,顯示引擎)的存取、在存儲(chǔ)器復(fù)制期間從CPU的存取。與再使用相同地址相比,缺乏時(shí)間局部性的此些串流存取可每次針對(duì)新地址。因此,需求填充可造成TLB性能的降級(jí)。此降級(jí)可尤其在為除了 CPU以外的裝置設(shè)計(jì)的MMU中可見,所述MMU例如系統(tǒng)MMU或輸入/輸出(I/0)MMU。
[0012]關(guān)于除了串流存取以外的存取(稱為“非串流存取”),TLB的大小在有限情況下可增加以實(shí)現(xiàn)TLB未中的減少。然而,對(duì)于串流存取,增加TLB大小并不賦予相同益處。事實(shí)上,即使理論上TLB大小朝向無限大增加,在若干情況下也可表現(xiàn)出TLB性能可能因未中和伴隨的暫停而持續(xù)嚴(yán)重降級(jí)。
[0013]因此,尤其相對(duì)于不具有時(shí)間局部性的存取,此項(xiàng)技術(shù)中需要不受因高未中率造成的性能降級(jí)的危害的TLB填充技術(shù)。

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

[0014]示范性實(shí)施例是針對(duì)用于存儲(chǔ)器管理單元(MMU)的系統(tǒng)和方法,其經(jīng)配置以用預(yù)期將在未來使用的地址翻譯條目自動(dòng)地預(yù)填充翻譯旁視緩沖器(TLB),進(jìn)而減少TLB未中率且改善性能。
[0015]舉例來說,實(shí)施例是針對(duì)經(jīng)配置以用翻譯條目自動(dòng)預(yù)填充TLB的MMU,其中對(duì)應(yīng)于所述預(yù)填充的地址可基于預(yù)測(cè)來選擇。一個(gè)或一個(gè)以上實(shí)施例可以超過對(duì)應(yīng)于TLB中的未中條目的地址的預(yù)定數(shù)目的鄰近地址來預(yù)填充TLB條目。實(shí)施例還可基于從接收自MMU外部的代理的提示地址值導(dǎo)出的預(yù)測(cè)而預(yù)填充TLB。
[0016]在示范性實(shí)施例中,TLB預(yù)填充可基于跨度值而執(zhí)行,使得從因以跨度值遞增(或遞減)未中條目的地址而形成的地址預(yù)取條目??缍戎悼蔀轭A(yù)定的,且可進(jìn)一步以軟件編程且存儲(chǔ)在寄存器中??缍戎狄部赏ㄟ^使用跨度預(yù)測(cè)器邏輯來動(dòng)態(tài)計(jì)算,所述邏輯經(jīng)配置以分析由TLB中的未中條目形成的跨度模式。
[0017]示范性實(shí)施例還可針對(duì)用于多次串流存取的TLB預(yù)填充。多次串流存取可從要求從系統(tǒng)MMU的串流存取的多個(gè)外部代理導(dǎo)出,其中所述多次串流存取可不共享共同屬性或跨度值??刹捎枚鄠€(gè)跨度預(yù)測(cè)器來支持多次串流存取的地址翻譯需要。
[0018]示范性實(shí)施例是針對(duì)一種充填翻譯旁視緩沖器(TLB)的方法,所述方法包括:接收用于通過所述TLB翻譯成物理地址的第一虛擬地址;以及在單個(gè)突發(fā)中,以用于從所述第一虛擬地址導(dǎo)出的一個(gè)或一個(gè)以上預(yù)填充虛擬地址的第一流的翻譯預(yù)填充所述TLB。
[0019]另一示范性實(shí)施例是針對(duì)一種用于充填翻譯旁視緩沖器(TLB)的設(shè)備,所述設(shè)備包括:經(jīng)配置以產(chǎn)生用于通過所述TLB翻譯成物理地址的第一虛擬地址的邏輯;以及經(jīng)配置以在單個(gè)突發(fā)中以用于從所述第一虛擬地址導(dǎo)出的一個(gè)或一個(gè)以上預(yù)填充虛擬地址的第一流的翻譯預(yù)填充所述TLB的邏輯。
[0020]另一示范性實(shí)施例是針對(duì)一種充填翻譯旁視緩沖器(TLB)的方法,所述方法包括:以用于在第一速率下產(chǎn)生的虛擬地址的第一流的地址翻譯充填所述TLB的第一組條目;以及以用于在第二速率下產(chǎn)生的虛擬地址的第二流的地址翻譯充填所述TLB的第二組條目。
[0021]另一示范性實(shí)施例是針對(duì)一種地址產(chǎn)生單元(AGU),其包括:經(jīng)配置以在第一速率下產(chǎn)生虛擬地址的第一流以用于翻譯旁視緩沖器(TLB)中的翻譯的邏輯;以及經(jīng)配置以在第二速率下產(chǎn)生虛擬地址的第二流以用于TLB中的翻譯的邏輯。
[0022]另一示范性實(shí)施例是針對(duì)一種用于充填翻譯旁視緩沖器(TLB)的系統(tǒng),所述系統(tǒng)包括:用于接收用于通過所述TLB翻譯成物理地址的第一虛擬地址的裝置;以及用于在單個(gè)突發(fā)中以用于從所述第一虛擬地址導(dǎo)出的一個(gè)或一個(gè)以上預(yù)填充虛擬地址的第一流的翻譯預(yù)填充所述TLB的裝置。
[0023]另一示范性實(shí)施例是針對(duì)一種用于充填翻譯旁視緩沖器(TLB)的系統(tǒng),所述系統(tǒng)包括:用于以用于在第一速率下產(chǎn)生的虛擬地址的第一流的地址翻譯充填所述TLB的第一組條目的裝置;以及以用于在第二速率下產(chǎn)生的虛擬地址的第二流的地址翻譯充填所述TLB的第二組條目的裝置。
[0024]另一示范性實(shí)施例是針對(duì)一種包括代碼的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)媒體,所述代碼在由處理器執(zhí)行時(shí)致使所述處理器執(zhí)行用于充填翻譯旁視緩沖器(TLB)的操作,所述非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)媒體包括:用于接收用于通過所述TLB翻譯成物理地址的第一虛擬地址的代碼;以及用于在單個(gè)突發(fā)中以用于從所述第一虛擬地址導(dǎo)出的一個(gè)或一個(gè)以上預(yù)填充虛擬地址的第一流的翻譯預(yù)填充所述TLB的代碼。
[0025]另一示范性實(shí)施例是針對(duì)一種包括代碼的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)媒體,所述代碼在由處理器執(zhí)行時(shí)致使所述處理器執(zhí)行用于充填翻譯旁視緩沖器(TLB)的操作,所述非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)媒體包括:用于以用于在第一速率下產(chǎn)生的虛擬地址的第一流的地址翻譯充填所述TLB的第一組條目的代碼;以及以用于在第二速率下產(chǎn)生的虛擬地址的第二流的地址翻譯充填所述TLB的第二組條目的代碼。
【專利附圖】

【附圖說明】
[0026]呈現(xiàn)附圖旨在幫助描述本發(fā)明的實(shí)施例,且提供附圖僅用于實(shí)施例的說明且不是對(duì)其進(jìn)行限制。
[0027]圖1說明常規(guī)TLB的示意性表示。
[0028]圖2A到2B說明具有作用TLB和未來TLB分類的示范性MMU的示意性表示。
[0029]圖3A到3B說明包括根據(jù)示范性實(shí)施例的用于充填TLB的地址產(chǎn)生單元的系統(tǒng)。
[0030]圖4說明具有發(fā)射多次串流存取的多個(gè)客戶端的示范性系統(tǒng)MMU。
[0031]圖5說明根據(jù)示范性實(shí)施例的充填TLB的方法的流程圖。【具體實(shí)施方式】
[0032]在針對(duì)本發(fā)明的具體實(shí)施例的以下描述和相關(guān)圖式中揭示本發(fā)明的方面。在不脫離本發(fā)明范圍的情況下可設(shè)想替代實(shí)施例。另外,將不詳細(xì)描述或者將省略本發(fā)明的眾所周知的元件,以免混淆本發(fā)明的相關(guān)細(xì)節(jié)。
[0033]本文使用詞語(yǔ)“示范性”來表示“充當(dāng)實(shí)例、例子或說明”。本文描述為“示范性”的任何實(shí)施例均不一定解釋為比其它實(shí)施例優(yōu)選或有利。同樣,術(shù)語(yǔ)“本發(fā)明的實(shí)施例”不要求本發(fā)明的所有實(shí)施例均包含所討論的特征、優(yōu)點(diǎn)或操作模式。
[0034]本文使用的術(shù)語(yǔ)是僅為了描述特定實(shí)施例的目的,且既定不限制本發(fā)明的實(shí)施例。如本文使用,單數(shù)形式“一”和“所述”既定也包含復(fù)數(shù)形式,除非上下文清楚地另外指示。將進(jìn)一步了解,術(shù)語(yǔ)“包括”和/或“包含”在本文使用時(shí)指定所陳述特征、整體、步驟、操作、元件和/或組件的存在,但不排除一個(gè)或一個(gè)以上其它特征、整體、步驟、操作、元件、組件和/或其群組的存在或添加。
[0035]此外,在例如計(jì)算裝置的元件將執(zhí)行的動(dòng)作序列方面描述許多實(shí)施例。將認(rèn)識(shí)到,本文描述的各種動(dòng)作可由特定電路(例如,專用集成電路(ASIC))執(zhí)行,由正由一個(gè)或一個(gè)以上處理器執(zhí)行的程序指令執(zhí)行,或由兩者的組合執(zhí)行。另外,本文描述的這些動(dòng)作序列可視為完全在任一形式的計(jì)算機(jī)可讀存儲(chǔ)媒體內(nèi)體現(xiàn),所述計(jì)算機(jī)可讀存儲(chǔ)媒體中存儲(chǔ)有對(duì)應(yīng)的計(jì)算機(jī)指令集,所述計(jì)算機(jī)指令在執(zhí)行后將即刻致使相關(guān)聯(lián)處理器執(zhí)行本文描述的功能性。因此,本發(fā)明的各種方面可以若干不同形式體現(xiàn),所述形式全部已預(yù)期在所主張標(biāo)的物的范圍內(nèi)。另外,對(duì)于本文描述的實(shí)施例中的每一者,任何此類實(shí)施例的對(duì)應(yīng)形式可在本文描述為例如“經(jīng)配置以”執(zhí)行所描述動(dòng)作的“邏輯”。
[0036]示范性實(shí)施例包含TLB填充技術(shù),其克服了常規(guī)TLB填充技術(shù)的若干限制。此些示范性TLB填充可由存儲(chǔ)器管理單元(MMU)執(zhí)行。舉例來說,與例如軟件填充和需求填充等常規(guī)技術(shù)相比,示范性TLB填充技術(shù)可不受高未中率影響。示范性TLB填充可不需要等待軟件命令或TLB未中,而是可事先預(yù)測(cè)TLB填充且事先預(yù)填充TLB。以此方式,可避免暫停,且可從關(guān)鍵路徑中隱藏和移除用于未來存取的頁(yè)表巡行所花費(fèi)的時(shí)間。舉例來說,可在正存取TLB中的當(dāng)前條目的同時(shí)執(zhí)行TLB預(yù)填充,使得通過在已依據(jù)未中而建立對(duì)地址的要求之后起始TLB填充過程而不招致長(zhǎng)延遲。在示范性實(shí)施例中可以若干方式執(zhí)行此些TLB預(yù)填充。
[0037]—個(gè)實(shí)施例包括對(duì)常規(guī)需求填充的修改,本文稱為“具有空間預(yù)取的需求填充”。在此實(shí)施例中,依據(jù)未中在TLB中填充的條目的數(shù)目被增加超過在所述未中時(shí)正在未中的單個(gè)條目??梢罁?jù)未中而填充數(shù)目“N”個(gè)鄰近條目。與常規(guī)需求填充相比,示范性實(shí)施例中的具有空間預(yù)取的需求填充可滿足用于如下評(píng)估TLB中的填充的準(zhǔn)則:可依據(jù)TLB未中執(zhí)行填充;可在造成未中的地址處執(zhí)行填充;以及可填充鄰近于對(duì)應(yīng)于未中的地址的多達(dá)N個(gè)鄰近地址??梢?,對(duì)常規(guī)需求填充的一個(gè)改進(jìn)是在TLB中事先預(yù)測(cè)未來填充且填充N個(gè)鄰近地址。
[0038]具有空間預(yù)取的需求填充可利用串流存取的地址中的任何現(xiàn)存空間局部性。如本文描述,串流存取或流可通常指代可在單個(gè)突發(fā)中執(zhí)行的一組一個(gè)或一個(gè)以上存取或事務(wù)??臻g局部性通常指代在地址空間中彼此靠近的地址所展現(xiàn)的性質(zhì)。換句話說,鄰近地址展現(xiàn)空間局部性。因此,如果串流存取可能展現(xiàn)空間局部性,那么事先預(yù)取鄰近地址將確保在未來存取期間在TLB中存取預(yù)取的數(shù)據(jù),因此產(chǎn)生TLB命中。
[0039]利用地址中的空間局部性的過程可類似于增加常規(guī)數(shù)據(jù)高速緩沖存儲(chǔ)器的高速緩沖存儲(chǔ)器線大小,因此高速緩沖存儲(chǔ)器線通常包括鄰近地址。因此,關(guān)于TLB填充,具有空間預(yù)取的需求填充可利用大于頁(yè)表?xiàng)l目(PTE)的大小的總線寬度。舉例來說,在單個(gè)循環(huán)中可獲取一個(gè)以上PTE。通過說明,假定PTE是32位寬。假設(shè)PTE2是對(duì)應(yīng)于128位寬數(shù)據(jù)總線的128位對(duì)準(zhǔn)線中的第三條目,且PTE2對(duì)應(yīng)于需求填充。在此情境中,頁(yè)表巡行邏輯可經(jīng)配置以在與獲取PTE2所需的持續(xù)時(shí)間相同的持續(xù)時(shí)間中獲取鄰近于PTE2的再3個(gè)PTE0因此,在單個(gè)存取中可獲取鄰近PTE的集合:{PTE0,PTEl,PTE2,PTE3},而不是單獨(dú)獲取 PTE2。
[0040]另一實(shí)施例包含本文稱為“流預(yù)填充”的TLB填充技術(shù)。流預(yù)填充可識(shí)別串流存取內(nèi)的地址流,且在將需要地址流中的條目時(shí)事先起始TLB填充。流預(yù)填充的一方面是實(shí)現(xiàn)用原本將依據(jù)常規(guī)需求填充而填充的一個(gè)或一個(gè)以上條目的準(zhǔn)確序列填充TLB。然而,與常規(guī)需求填充的明顯不同在于,流預(yù)填充可經(jīng)配置以在需求填充可起始TLB填充之前起始相同的TLB填充。因此,流預(yù)填充可有效地隱藏常規(guī)需求填充中依據(jù)TLB未中由頁(yè)表巡行招致的等待時(shí)間。
[0041]流預(yù)填充如下滿足用于評(píng)估TLB中的填充的準(zhǔn)則:在TLB未中之前如有效地隱藏由頁(yè)表巡行招致的等待時(shí)間所要求那樣長(zhǎng)的時(shí)間執(zhí)行TLB填充;針對(duì)已經(jīng)預(yù)測(cè)為潛在地未中的地址執(zhí)行TLB填充,所述地址即在常規(guī)需求填充的過程中原本已遇到且未中的地址;流預(yù)填充每次填充單個(gè)TLB條目。
[0042]示范性實(shí)施例可以若干方式中的一種執(zhí)行在TLB中將潛在地未中的地址的預(yù)測(cè)以用于流預(yù)填充。一個(gè)此實(shí)施例包含從在實(shí)施流預(yù)填充的示范性MMU外部的代理接收預(yù)測(cè)。預(yù)填充提示可由外部代理產(chǎn)生。先入先出(FIFO)機(jī)制可由預(yù)填充提示充填。MMU可經(jīng)配置以從預(yù)填充FIFO接收預(yù)填充提示。
[0043]作為說明性實(shí)例,顯示單元的顯示器控制器可經(jīng)配置以連續(xù)地掃描過單調(diào)增加的地址(虛擬地址)。顯示器控制器的地址產(chǎn)生單元可經(jīng)配置以同時(shí)產(chǎn)生對(duì)應(yīng)單調(diào)增加的頁(yè)地址集合。通常,頁(yè)大小(例如4KB)大于顯示器控制器的個(gè)別存取(例如128B)。因此,由地址產(chǎn)生單元產(chǎn)生的若干地址可共享同一頁(yè),且因此對(duì)于每一個(gè)別存取可能不需要新頁(yè)翻譯。因此,流預(yù)填充可需要僅在其中地址產(chǎn)生單元橫越4KB頁(yè)邊界的實(shí)例中產(chǎn)生與頁(yè)地址翻譯相關(guān)的新預(yù)測(cè)。
[0044]在用于顯示器控制器的上述流預(yù)填充技術(shù)的實(shí)施方案中,可跟蹤由地址產(chǎn)生單元產(chǎn)生的地址的一個(gè)位。舉例來說,第12個(gè)最低有效位,位12可指示4KB(4096B或2~12B)邊界上的地址改變。因此,可在4KB的跨度上觸發(fā)預(yù)測(cè),因?yàn)槲?2可在每個(gè)4KB跨度上改變。替代地,預(yù)測(cè)可經(jīng)配置以在4KB的倍數(shù)上觸發(fā),因?yàn)橥獠看砜赡苷谝源笥?KB跨度橫越地址空間。以此方式,可充分事先做出預(yù)測(cè),以便隱藏在做出預(yù)測(cè)本身時(shí)涉及的等待時(shí)間。作為任選特征,地址或預(yù)填充提示向預(yù)填充FIFO的傳輸可被截?cái)啵员惚A糍Y源。因此,在以上實(shí)例中,對(duì)于4KB頁(yè)大小,可能需要傳輸僅32位地址的上部20位,其已經(jīng)移位到4KB粒度(例如,通過移出最低有效12位)。因此,預(yù)填充FIFO的寬度可減少12位的量。
[0045]作為示范性MMU中的流預(yù)填充的另一實(shí)施方案,不限于頁(yè)大小的跨度值可用于預(yù)測(cè)。舉例來說,跨度值可由軟件編程,且可進(jìn)一步存儲(chǔ)在MMU中的寄存器中。因此,如果MMU的外部代理或其它客戶端請(qǐng)求用于翻譯的特定地址,那么MMU可內(nèi)部地產(chǎn)生與所述特定地址遞增(或遞減)所述跨度值的地址。此內(nèi)部產(chǎn)生的地址可用作用于流預(yù)填充的預(yù)測(cè),使得如果內(nèi)部產(chǎn)生的地址當(dāng)前不在TLB中,那么MMU可事先產(chǎn)生對(duì)內(nèi)部產(chǎn)生的地址的預(yù)填充請(qǐng)求。因此,可隱藏與用于內(nèi)部產(chǎn)生的地址的頁(yè)表巡行相關(guān)聯(lián)的任何延遲。
[0046]流預(yù)填充的又一實(shí)施方案涉及通過使用跨度預(yù)測(cè)器動(dòng)態(tài)地檢測(cè)和更改跨度值。舉例來說,每一 TLB未中可經(jīng)確定為在距前一未中的固定偏移或跨度值處遇到。此確定可從跨度預(yù)測(cè)器獲得。跨度預(yù)測(cè)器可經(jīng)配置以存儲(chǔ)最新或當(dāng)前TLB未中的地址、可經(jīng)初始化為默認(rèn)值的當(dāng)前跨度值,以及與預(yù)測(cè)器置信值相關(guān)聯(lián)的任選的一個(gè)或一個(gè)以上位。在遇到下一 TLB未中后,可用下一 TLB未中與存儲(chǔ)的當(dāng)前TLB未中之間的地址差來更新跨度值;可用下一 TLB未中來代替當(dāng)前TLB的地址;且可遞增置信值。此過程可重復(fù),使得可基于當(dāng)前存儲(chǔ)的TLB未中地址與遇到的下一 TLB未中地址之間的地址差而將當(dāng)前存儲(chǔ)的跨度值與實(shí)際跨度值進(jìn)行比較。如果跨度值匹配,那么當(dāng)前存儲(chǔ)的跨度值可經(jīng)證實(shí)為用于未來跨度值的良好預(yù)測(cè)符;且對(duì)應(yīng)地可遞增置信值。一旦置信水平達(dá)到預(yù)定水平,跨度預(yù)測(cè)器便可基于當(dāng)前存儲(chǔ)的TLB未中地址和當(dāng)前存儲(chǔ)的跨度值而產(chǎn)生對(duì)所預(yù)測(cè)地址的預(yù)填充請(qǐng)求。
[0047]在具有動(dòng)態(tài)確定的跨度值的流預(yù)填充的以上實(shí)施方案中,MMU可進(jìn)一步經(jīng)配置以在基于需求填充而填充的TLB條目與通過流預(yù)填充而填充的TLB條目之間進(jìn)行區(qū)分。舉例來說,通過流預(yù)填充而填充的TLB條目可由預(yù)填充指示符位標(biāo)記或充填經(jīng)指定為“未來TLB”的TLB的選定區(qū)段中??缍阮A(yù)測(cè)器可經(jīng)配置以監(jiān)視需求未中以及預(yù)填充命中(由預(yù)填充指示符標(biāo)記或位于未來TLB部分中)。為了計(jì)算跨度的目的,可將需求未中以及預(yù)填充命中兩者視為未中。將認(rèn)識(shí)到,如果以此方式未考慮預(yù)填充命中,那么跨度預(yù)測(cè)器可能不準(zhǔn)確,因?yàn)橐呀?jīng)預(yù)填充的潛在需求未中可產(chǎn)生命中,但跨度預(yù)測(cè)器在其跨度計(jì)算中原本已忽視此潛在需求未中,因?yàn)樵疽延龅矫小?br> [0048]實(shí)施例也可包含經(jīng)配置以確保使用動(dòng)態(tài)預(yù)測(cè)的跨度值的流預(yù)填充實(shí)現(xiàn)用以隱藏由TLB未中造成的等待時(shí)間的充分預(yù)先的預(yù)填充與并不過于預(yù)先地填充TLB而使得TLB可以充填有過多未使用預(yù)填充條目而結(jié)束之間的所要平衡的邏輯。實(shí)現(xiàn)所要平衡的一個(gè)示范性技術(shù)可包含對(duì)TLB中已通過預(yù)填充用指示符位充填的每一條目加標(biāo)簽。當(dāng)首次存取此加標(biāo)簽的條目時(shí),可清除指示符位,且可起始基于預(yù)測(cè)跨度值的針對(duì)下一地址的預(yù)填充。作為任選特征,TLB中通過預(yù)填充充填的第一條目可由軟件建立。
[0049]現(xiàn)在參見圖2A到2B,參考TLB200說明用于實(shí)現(xiàn)平衡的另一示范性技術(shù),其中TLB200可經(jīng)配置以將虛擬地址202翻譯為物理地址204。TLB200可經(jīng)分割為作用TLB206和未來TLB208。雖然作用TLB206和未來TLB208兩者是依據(jù)地址翻譯請(qǐng)求來存取,但僅未來TLB208是用預(yù)填充充填。作用TLB206和未來TLB208可被同時(shí)或按順序存取。如圖2A中的動(dòng)作210說明,作用TLB206中的未中可檢查未來TLB208是否有未中條目??杉せ铐?yè)表巡行器220以搜索未中條目或預(yù)填充未來TLB208。此外,來自外部源214的提示也可用于潛在TLB填充的預(yù)測(cè),事先激活頁(yè)表巡行器220以便隱藏對(duì)應(yīng)的等待時(shí)間。而且,可在未來TLB中帶來命中的地址請(qǐng)求可致使命中條目遷移到作用TLB(如圖2中的動(dòng)作212說明)。
[0050]參見圖2B,可修改動(dòng)作210以使得作用TLB206中的未中可檢查未來TLB208是否有未中條目,激活跨度預(yù)測(cè)器216且進(jìn)而起始潛在預(yù)填充以充填未來TLB208。[0051]在一個(gè)或一個(gè)以上實(shí)施例中,跨度值可為可編程的,使得程序員可動(dòng)態(tài)地調(diào)整跨度值以用于特定應(yīng)用。而且,實(shí)施例也可包含從接收自例如多媒體裝置等外部裝置的提示導(dǎo)出的跨度值。
[0052]現(xiàn)在將參見圖3A到3B描述與流預(yù)填充相關(guān)的其它實(shí)施例。如例如圖3A到3B中說明,裝置302可經(jīng)配置以存取TLB306以用于虛擬地址(VA)到對(duì)應(yīng)于存儲(chǔ)器308的物理地址(PA)的翻譯。裝置302可為產(chǎn)生虛擬地址的需求流以用于TLB306中的翻譯的任一裝置。舉例來說,裝置302可為處理器或例如顯示器控制器等串流裝置,其經(jīng)配置以讀取鄰近存儲(chǔ)器地址以便讀出顯示數(shù)據(jù)。因此,在此些實(shí)例中裝置302可產(chǎn)生對(duì)應(yīng)于存儲(chǔ)器308中的鄰近地址的需求流。如圖示,裝置302可包含用于產(chǎn)生此需求流的地址產(chǎn)生單元(AGU) 304。
[0053]在示范性實(shí)施例中,AGU304可另外經(jīng)配置以除了需求流以外還產(chǎn)生虛擬地址的預(yù)填充流。由AGU304為預(yù)填充流產(chǎn)生的虛擬地址可從需求流偏移所要的量,使得預(yù)填充流可包含處于需求流之前的地址。舉例來說,預(yù)填充流中的地址可處于需求流中的地址之前一個(gè)對(duì)應(yīng)于頁(yè)大小的偏移值。所要偏移值可為正或負(fù)的,且可從可編程寄存器導(dǎo)出。在一些實(shí)施例中,AGU304可經(jīng)配置以僅在頁(yè)交叉處產(chǎn)生用于預(yù)填充流的新地址。舉例來說,如果頁(yè)大小是4KB,那么AGU304可在每次需求流的第12個(gè)最低有效位切換時(shí)產(chǎn)生新預(yù)填充地址請(qǐng)求。因此,AGU304可經(jīng)配置以在兩個(gè)不同速率下產(chǎn)生兩個(gè)相異流。舉例來說,第一流(需求流)可在第一速率(例如,對(duì)應(yīng)于對(duì)可每個(gè)時(shí)鐘循環(huán)產(chǎn)生的鄰近存儲(chǔ)器地址的請(qǐng)求)下產(chǎn)生,且第二流(例如,預(yù)填充流)可在第二速率(例如,在需求流橫越頁(yè)邊界的每個(gè)實(shí)例處)下產(chǎn)生。因此,TLB306可由來自第一和第二流兩者的翻譯請(qǐng)求同時(shí)充填。如先前描述,可包含指示符以跟蹤TL306的由第一和第二流充填的條目,且可基于TLB306中的基于需求的條目與預(yù)填充條目之間的所要平衡來調(diào)整相應(yīng)的第一和第二產(chǎn)生速率。
[0054]在一些實(shí)施例中,預(yù)填充流可經(jīng)指定為包括作為只讀請(qǐng)求的預(yù)填充請(qǐng)求,以便避免更改存儲(chǔ)器308。在這些實(shí)施例中,裝置302可經(jīng)配置以跟蹤突出的需求請(qǐng)求且忽略從存儲(chǔ)器裝置308返回的針對(duì)預(yù)填充請(qǐng)求的數(shù)據(jù)。在一些實(shí)施例中,裝置302還可高速緩沖存儲(chǔ)從預(yù)填充請(qǐng)求返回的預(yù)填充數(shù)據(jù),因?yàn)轭A(yù)先知道預(yù)填充數(shù)據(jù)將僅是未來需求請(qǐng)求所需要的。
[0055]如圖3A所示,需求流和預(yù)填充流兩者可在從裝置302到TLB306的共同請(qǐng)求通道、通道307上傳送。然而,涉及共同通道的此配置可致使預(yù)填充請(qǐng)求阻礙更為時(shí)間關(guān)鍵的需求請(qǐng)求的進(jìn)程。為了避免對(duì)需求請(qǐng)求的此種妨礙,可用指示符位界定預(yù)填充請(qǐng)求,進(jìn)而使TLB306能夠區(qū)分預(yù)填充請(qǐng)求與對(duì)存儲(chǔ)器308的需求請(qǐng)求(讀/寫)。TLB306可因此避免將額外讀取事務(wù)轉(zhuǎn)發(fā)到存儲(chǔ)器308,因?yàn)檠b置302將不會(huì)預(yù)期返回對(duì)應(yīng)于預(yù)填充請(qǐng)求的讀取數(shù)據(jù)。
[0056]在涉及共同通道307的一些配置中,需求流和預(yù)填充流可通過采用較低等級(jí)鏈路協(xié)議而在邏輯上分離。在操作中,此些配置可邏輯上等效于為需求流和預(yù)填充流配置單獨(dú)的通道。
[0057]在另外的實(shí)施例中,單獨(dú)通道可事實(shí)上經(jīng)配置以用于需求流和預(yù)填充流。舉例來說,參見圖3B,如圖示可提供單獨(dú)通道、需求請(qǐng)求通道309和預(yù)填充請(qǐng)求通道310以用于裝置302與TLB306之間的通信。此些單獨(dú)通道可減少例如對(duì)共同通道307上的需求請(qǐng)求的妨礙等影響。配置單獨(dú)通道還可避免對(duì)用以界定預(yù)填充請(qǐng)求的指示符位的需要,因?yàn)榭苫趶哪囊煌ǖ澜邮盏秸?qǐng)求來提供此指示。
[0058]返回參見圖2A,將認(rèn)識(shí)到說明包括用于需求流和預(yù)填充流的單獨(dú)通道的另一配置。包括虛擬地址202的通道描繪需求流,而如先前說明的經(jīng)配置以用于做出預(yù)測(cè)的外部源214產(chǎn)生預(yù)填充流。因此可見,需求流和預(yù)填充流可從單獨(dú)裝置產(chǎn)生且無需如圖3A到3B中描繪從同一裝置302產(chǎn)生。舉例來說,在視頻解碼應(yīng)用的情況下,外部源214可為幀預(yù)處理裝置,其經(jīng)配置以在高速下剖析數(shù)據(jù)流,而不執(zhí)行對(duì)數(shù)據(jù)流的全解碼以便確定將由全幀解碼器調(diào)用的存儲(chǔ)器頁(yè)。組成外部源214的預(yù)處理裝置可在全幀解碼器裝置之前運(yùn)行,其中所述預(yù)處理裝置可能夠代表全幀解碼器產(chǎn)生預(yù)填充請(qǐng)求。到全幀解碼器可需要存取存儲(chǔ)器頁(yè)時(shí),這些存儲(chǔ)器頁(yè)可能已經(jīng)預(yù)填充到TLB (例如,未來TLB208)中,進(jìn)而確保全幀解碼器將不需要等待TLB未中被服務(wù)。
[0059]又一實(shí)施例包含本文稱為“具有空間預(yù)取的流預(yù)填充”的TLB填充技術(shù)。本質(zhì)上,具有空間預(yù)取的流預(yù)填充可在流預(yù)填充的每次填充上獲取一個(gè)以上條目。具有空間預(yù)取的流預(yù)填充可如下滿足用于評(píng)估TLB中的填充的準(zhǔn)則:可在預(yù)測(cè)TLB未中之前足夠長(zhǎng)的時(shí)間填充TLB以例如隱藏由頁(yè)表巡行招致的等待時(shí)間;可在預(yù)測(cè)未中的地址處起始TLB填充;以及可填充多達(dá)數(shù)目“N”個(gè)鄰近地址。因此,與流預(yù)填充相比,具有空間預(yù)取的流預(yù)填充可在每次存取時(shí)在TLB中填充N個(gè)鄰近地址。因此,具有空間預(yù)取的流預(yù)填充可組合如上論述的流預(yù)填充和具有空間預(yù)取的填充的有益方面。
[0060]示范性實(shí)施例還可包含用于多次串流存取的TLB填充,其由以過濾能力增強(qiáng)的跨度預(yù)測(cè)器支持。舉例來說,示范性MMU可迎合一個(gè)或一個(gè)以上客戶端且進(jìn)而支持多個(gè)地址流。產(chǎn)生對(duì)MMU的存取的所有地址流可能不共享共同跨度值。因此,共享共同跨度預(yù)測(cè)器可能不能充分支持多個(gè)地址流。為了支持多個(gè)地址流,可采用多個(gè)跨度預(yù)測(cè)器或具有多個(gè)跨度寄存器的跨度預(yù)測(cè)器。因此,可基于地址流中的特定代表位來將兩個(gè)或兩個(gè)以上地址流導(dǎo)向兩個(gè)或兩個(gè)以上預(yù)測(cè)器。地址流中可用以確定地址流所導(dǎo)向的預(yù)測(cè)器邏輯的位的實(shí)例包含:來自給定客戶端的發(fā)源流的邏輯主ID (或MID),讀/寫指示符位,事務(wù)大小指示符位等等。
[0061]現(xiàn)在參見圖4,說明采用TLB預(yù)填充用于多次串流存取的示范性MMU系統(tǒng)。多次串流存取可為并行的和/或同時(shí)的。如圖示,系統(tǒng)MMU (SMMU) 400為若干多媒體客戶端402a-402n提供翻譯服務(wù)??蛻舳?02a_402n可為包含CPU的任何裝置,且可經(jīng)由例如總線
410等共享總線與SMMU400通信。每一客戶端402a_402n可將地址流供應(yīng)到SMMU400以用于翻譯。多個(gè)地址流可不具有相同跨度值。舉例來說,第一流(例如,來自客戶端402a)可具有第一跨度值,其中第一流是基于對(duì)應(yīng)于第一虛擬地址(可從客戶端402a接收)的第一提示值。類似地,第二流(例如,來自客戶端402b)可具有第二跨度值,其中第二流是基于對(duì)應(yīng)于第二虛擬地址(可從客戶端402b接收)的第二提示值。SMMU400可包括TLB404,其可與第二流同時(shí)和/或并行地以第一流預(yù)填充。對(duì)應(yīng)于第一流和第二流,用于兩個(gè)或兩個(gè)以上預(yù)測(cè)器的邏輯可存在于圖4中指定為預(yù)測(cè)器406的框中,以幫助TLB404翻譯例如第一流和第二流的多個(gè)地址流。頁(yè)表巡行器408也可經(jīng)配置以支持多個(gè)同時(shí)和/或并行操作以獲得翻譯(例如,對(duì)應(yīng)于第一流和第二流)。
[0062]因此,本文描述的示范性實(shí)施例可經(jīng)配置以預(yù)填充TLB以使得示范性MMU可得到改善的性能、節(jié)省資源成本且消耗較少的功率。如先前描述,常規(guī)TLB可經(jīng)配置以通過僅增加TLB大小而減少針對(duì)非串流存取的未中率。然而,常規(guī)TLB無法針對(duì)串流存取實(shí)現(xiàn)減少的未中率,即使TLB大小理論上無限增加也是如此。然而,示范性實(shí)施例可經(jīng)配置以減少TLB未中率且可有效地消除TLB未中,即使在串流存取的情況下也是如此。
[0063]而且,示范性實(shí)施例可通過使用空間預(yù)取將多個(gè)頁(yè)表巡行組合為單個(gè)事務(wù),這可有效地減少系統(tǒng)中的相異存儲(chǔ)器事務(wù)的數(shù)目。因此,可改善存儲(chǔ)器效率且可減少資源競(jìng)爭(zhēng),進(jìn)而還改善可能不直接要求TLB存取的系統(tǒng)組件的性能。
[0064]將了解,實(shí)施例包含用于執(zhí)行本文揭示的過程、功能和/或算法的各種方法。舉例來說,如圖5中說明,實(shí)施例可包含充填翻譯旁視緩沖器(TLB)(例如,作用TLB206和未來TLB208)的方法,所述方法包括:接收用于通過TLB翻譯成物理地址的第一虛擬地址(例
如,虛擬地址202和物理地址204)-框502 ;以及在單個(gè)突發(fā)中,以用于從第一虛擬地址
導(dǎo)出的預(yù)填充虛擬地址流的翻譯預(yù)填充TLB(例如,通過跨度預(yù)測(cè)器216和頁(yè)表巡行器220預(yù)填充未來TLB208)——框504。
[0065]所屬領(lǐng)域的技術(shù)人員將了解,可使用多種不同技藝和技術(shù)中的任一者來表示信息和信號(hào)。舉例來說,在整個(gè)以上描述中可能參考的數(shù)據(jù)、指令、命令、信息、信號(hào)、位、符號(hào)和碼片可通過電壓、電流、電磁波、磁場(chǎng)或粒子、光場(chǎng)或粒子或其任一組合來表示。
[0066]此外,所屬領(lǐng)域的技術(shù)人員將了解,結(jié)合本文揭示的實(shí)施例描述的各種說明性邏輯塊、模塊、電路和算法步驟可實(shí)施為電子硬件、計(jì)算機(jī)軟件或兩者的組合。為了清楚地說明硬件與軟件的這種可互換性,上文已大體上在其功能性方面描述了各種說明性組件、塊、模塊、電路和步驟。將此功能性實(shí)施為硬件還是軟件取決于特定應(yīng)用或?qū)傮w系統(tǒng)強(qiáng)加的設(shè)計(jì)約束。所屬領(lǐng)域的技術(shù)人員可針對(duì)每一特定應(yīng)用以不同方式實(shí)施所描述的功能性,但此實(shí)施方案決策不應(yīng)解釋為造成脫離本發(fā)明的范圍。
[0067]結(jié)合本文揭示的實(shí)施例描述的方法、序列和/或算法可直接以硬件、以由處理器執(zhí)行的軟件模塊或以兩者的組合來體現(xiàn)。軟件模塊可駐留在RAM存儲(chǔ)器、快閃存儲(chǔ)器、ROM存儲(chǔ)器、EPROM存儲(chǔ)器、EEPROM存儲(chǔ)器、寄存器、硬盤、可裝卸式盤、CD-ROM或此項(xiàng)技術(shù)中已知的任一其它形式的存儲(chǔ)媒體。示范性存儲(chǔ)媒體耦合到處理器,使得處理器可從存儲(chǔ)媒體讀取信息以及向存儲(chǔ)媒體寫入信息。在替代例中,存儲(chǔ)媒體可與處理器成一體式。
[0068]參見圖6,描繪包含根據(jù)示范性實(shí)施例配置的多核心處理器的無線裝置的特定說明性實(shí)施例的框圖,且將所述裝置一股地指定為600。裝置600包含數(shù)字信號(hào)處理器(DSP) 664,其可包括例如圖2的作用TLB206、未來TLB208、頁(yè)表巡行器220等邏輯,其可耦合到如圖示的存儲(chǔ)器632??蓮南挛拿枋龅耐獠垦b置接收虛擬地址202和下一虛擬頁(yè)預(yù)測(cè)(提示值)。舉例來說,圖6還展示例如顯示器控制器626的外部裝置,其耦合到DSP664和顯示器628。例如譯碼器/解碼器(CODEC) 634 (例如,音頻和/或話音CODEC)等外部裝置也可耦合到DSP664。還說明其它組件/外部裝置,例如無線控制器640 (可包含調(diào)制解調(diào)器)。揚(yáng)聲器636和麥克風(fēng)638可耦合到C0DEC634。圖6還指示無線控制器640可耦合到無線天線642。在特定實(shí)施例中,DSP664、顯示器控制器626、存儲(chǔ)器632、C0DEC634以及無線控制器640包含在系統(tǒng)級(jí)封裝或芯片上系統(tǒng)裝置622中。
[0069]在特定實(shí)施例中,輸入裝置630和電源644耦合到芯片上系統(tǒng)裝置622。而且,在特定實(shí)施例中,如圖6中說明,顯示器628、輸入裝置630、揚(yáng)聲器636、麥克風(fēng)638、無線天線642以及電源644在芯片上系統(tǒng)裝置622外部。然而,顯示器628、輸入裝置630、揚(yáng)聲器636、麥克風(fēng)638、無線天線642以及電源644中的每一者可耦合到芯片上系統(tǒng)裝置622的組件,例如接口或控制器。
[0070]應(yīng)注意,雖然圖6描繪無線通信裝置,但DSP664和存儲(chǔ)器632也可集成到機(jī)頂盒、音樂播放器、視頻播放器、娛樂單元、導(dǎo)航裝置、個(gè)人數(shù)字助理(PDA)、固定位置數(shù)據(jù)單元或計(jì)算機(jī)中。處理器(例如,DSP664)也可集成到此裝置中。
[0071]因此,本發(fā)明的實(shí)施例可包含體現(xiàn)通過預(yù)填充TLB來充填TLB的方法的計(jì)算機(jī)可讀媒體。因此,本發(fā)明不限于所說明的實(shí)例,且用于執(zhí)行本文描述的功能性的任何裝置均包含在本發(fā)明的實(shí)施例中。
[0072]雖然前述揭示內(nèi)容展示本發(fā)明的說明性實(shí)施例,但應(yīng)注意,在不脫離如所附權(quán)利要求書界定的本發(fā)明范圍的情況下可在其中做出各種改變和修改。本文描述的根據(jù)本發(fā)明實(shí)施例的方法權(quán)利要求的步驟和/或動(dòng)作無需以任何特定次序執(zhí)行。此外,雖然可能以單數(shù)形式描述或主張本發(fā)明的元件,但復(fù)數(shù)形式是預(yù)期的,除非明確陳述限于單數(shù)形式。
【權(quán)利要求】
1.一種充填翻譯旁視緩沖器TLB(206、208)的方法,所述方法包括: 接收(502)用于通過所述TLB翻譯成物理地址(204)的第一虛擬地址(202);以及 在單個(gè)突發(fā)中,以用于從所述第一虛擬地址導(dǎo)出的一個(gè)或一個(gè)以上預(yù)填充虛擬地址的第一流的翻譯預(yù)填充(504)所述TLB。
2.根據(jù)權(quán)利要求1所述的方法,其中所述第一虛擬地址是從接收自第一外部裝置的第一提示地址值導(dǎo)出的。
3.根據(jù)權(quán)利要求1所述的方法,其中一個(gè)或一個(gè)以上預(yù)填充虛擬地址的所述第一流包括基于第一可編程跨度值從所述第一虛擬地址導(dǎo)出的虛擬地址。
4.根據(jù)權(quán)利要求3所述的方法,其中所述第一可編程跨度值是通過軟件動(dòng)態(tài)確定的。
5.根據(jù)權(quán)利要求3所述的方法,其中所述第一可編程跨度值是預(yù)定常數(shù)。
6.根據(jù)權(quán)利要求3所述的方法,其中所述第一可編程跨度值是通過分析TLB未中的模式來確定的。
7.根據(jù)權(quán)利要求3所述的方法,其中所述第一可編程跨度值是基于從外部裝置導(dǎo)出的提示值。
8.根據(jù)權(quán)利要求1所述的方法,其中一個(gè)或一個(gè)以上預(yù)填充虛擬地址的所述第一流鄰近于所述第一虛擬地址。
9.根據(jù)權(quán)利要求1所述的方法,其中以用于一個(gè)或一個(gè)以上預(yù)填充虛擬地址的所述第一流的翻譯預(yù)填充所述TLB是在所述TLB接收到針對(duì)對(duì)應(yīng)于所述一個(gè)或一個(gè)以上預(yù)填充虛擬地址的地址翻譯的需求請(qǐng)求之前執(zhí)行。
10.根據(jù)權(quán)利要求1所述的方法,其中所述第一虛擬地址造成所述TLB中的未中。
11.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包括: 接收用于通過所述TLB翻譯成物理地址的第二虛擬地址;以及 在單個(gè)突發(fā)中,以用于從所述第二虛擬地址導(dǎo)出的一個(gè)或一個(gè)以上預(yù)填充虛擬地址的第二流的翻譯預(yù)填充所述TLB,其中以用于所述第二流的翻譯預(yù)填充所述TLB是與以用于所述第一流的翻譯預(yù)填充所述TLB同時(shí)地和/或并行地執(zhí)行。
12.根據(jù)權(quán)利要求11所述的方法,其中所述第二虛擬地址是從接收自第二外部裝置的第二提示地址值導(dǎo)出的。
13.一種用于充填翻譯旁視緩沖器TLB(206、208)的設(shè)備,所述設(shè)備包括: 經(jīng)配置以接收用于通過所述TLB翻譯成物理地址(204)的第一虛擬地址(202)的邏輯;以及 經(jīng)配置以在單個(gè)突發(fā)中以用于從所述第一虛擬地址導(dǎo)出的一個(gè)或一個(gè)以上預(yù)填充虛擬地址的第一流的翻譯預(yù)填充所述TLB的邏輯(216、220)。
14.一種設(shè)備,其包括用于執(zhí)行根據(jù)權(quán)利要求1到12中任一權(quán)利要求所述的方法的裝置。
15.一種包括計(jì)算機(jī)可讀媒體的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)可讀媒體包括用于致使計(jì)算機(jī)或處理器執(zhí)行根據(jù)權(quán)利要求1到12中任一權(quán)利要求所述的方法的至少一個(gè)指令。
【文檔編號(hào)】G06F12/10GK103443777SQ201280015340
【公開日】2013年12月11日 申請(qǐng)日期:2012年3月5日 優(yōu)先權(quán)日:2011年3月3日
【發(fā)明者】博胡斯拉夫·雷赫利克, 托馬斯·安德魯·薩托里烏斯, 邁克爾·威廉·莫羅, 雷蒙德·P·帕爾馬 申請(qǐng)人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
海伦市| 噶尔县| 库伦旗| 林周县| 东至县| 唐山市| 武冈市| 平阴县| 皮山县| 雅江县| 独山县| 滦平县| 乐清市| 黄浦区| 牟定县| 漳浦县| 镇雄县| 广丰县| 青冈县| 绍兴县| 崇义县| 读书| 十堰市| 宁国市| 临泉县| 锡林郭勒盟| 平昌县| 宜黄县| 武平县| 潼关县| 邳州市| 西安市| 阿勒泰市| 江源县| 西昌市| 柳江县| 深圳市| 凤山县| 五莲县| 宣恩县| 铜梁县|