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

翻譯旁視緩沖器操縱的制作方法

文檔序號:6453699閱讀:154來源:國知局
專利名稱:翻譯旁視緩沖器操縱的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及翻譯旁視緩沖器。
背景技術(shù)
在支持頁式虛擬存儲器的處理器中,可使用占用所述處理器的虛擬地址空間的虛擬 (或"邏輯")地址來指定數(shù)據(jù)。虛擬地址空間通常可大于系統(tǒng)中實際物理存儲器的量。 這些處理器中的操作系統(tǒng)可在固定大小的區(qū)塊(稱為頁)中管理物理存儲器。
為了將虛擬頁地址翻譯成物理頁地址,處理器可搜索存儲在系統(tǒng)存儲器中的頁表, 其可含有地址翻譯信息。由于這些搜索(或"頁表查詢")可能涉及存儲器存取,所以除 非頁表數(shù)據(jù)處于數(shù)據(jù)高速緩沖存儲器中,否則這些搜索可能是耗時的。
因此,處理器可使用一個或一個以上翻譯旁視緩沖器(TLB)來執(zhí)行地址翻譯。TLB 是地址翻譯高速緩沖存儲器,即存儲從虛擬地址到物理地址的新近映射的小型高速緩沖 存儲器。在執(zhí)行頁表搜索和地址翻譯之后,所述處理器可將物理地址高速緩存在TLB中。 TLB通??珊?常被稱為)虛擬頁地址,以及與之相關(guān)聯(lián)的物理頁地址??赡艽嬖趩?獨的用于指令地址的TLB (指令TLB或I-TLB)和用于數(shù)據(jù)地址的TLB (數(shù)據(jù)TLB或 D-TLB)。
當TLB接收到虛擬頁地址時,TLB可搜索其條目,査看這些條目中的任何一者中所 含有的地址翻譯信息是否與接收到的虛擬頁地址匹配。如果呈現(xiàn)給TLB的虛擬頁地址正 好與TLB條目的任何一者中的地址翻譯信息匹配,那么可發(fā)生TLB "命中",否則,可 發(fā)生TLB "未命中"。
響應于TLB未命中,管線可能在發(fā)生未命中的點處停滯。含有所述虛擬地址的指令 因為缺乏地址翻譯信息而只能擱置和等待,不能夠進行到下一級。當這種情況發(fā)生時, 已經(jīng)發(fā)生未命中的點上方的所有級可能也必須等待,從而導致效率相當?shù)汀m憫赥LB 未命中而采用的另一措施可以是清洗未命中的指令,而不使指令在TLB存取點之前的級 處停滯。在這種情況下,針對同一指令可能發(fā)生多次未命中,從而需要多次清洗。這也 可能導致低效。

發(fā)明內(nèi)容
多級管線,且可包含TLB和TLB控制器。TLB可經(jīng)配置以存儲 允許虛擬地址翻譯成物理地址的地址翻譯信息。TLB可進一步經(jīng)配置以在呈現(xiàn)給TLB的 指令的虛擬地址從TLB未命中時產(chǎn)生TLB未命中信號。TLB控制器可進一步經(jīng)配置以 響應于TLB未命中信號而起始TLB重新加載。所述處理器可進一步經(jīng)配置以清洗具有未 命中虛擬地址的指令。所述處理器可進一步經(jīng)配置以重取所述指令,這導致所述指令重 新插管線的在TLB存取點上方的初始級處。TLB重新加載的起始和指令的清洗/重取兩 者可并行執(zhí)行,且不會即刻使管線停滯。所述處理器可進一步經(jīng)配置以將所重取的指令 保存管線中的在TLB存取點上方的點處,直到TLB重新加載完成為止,使得所述重取的 指令接著將在其下一次存取時,在所述TLB中產(chǎn)生"命中"。
一種在具有多級管線的管線化處理器中操作TLB的方法可包含從TLB接收TLB未 命中信號。所述TLB未命中信號可指示TLB中不存在用于指令的虛擬地址的地址翻譯信 息。所述方法可進一步包含響應于TLB未命中信號而起始TLB重新加載。所述方法可進 一步包含響應于TLB未命中信號而清洗所述指令并重取所述指令,從而致使所述指令被 重新插在管線的在TLB存取點上方的初始級處。TLB重新加載的起始和指令的清洗/重 取兩者可并行進行,且不會即刻使管線停滯。所述方法可進一步包含將所重取的指令保 存在管線中的在TLB存取點上方的點處,直到TLB重新加載完成為止,使得所重取的指 令將接著在其下一次存取時,在所述TLB中產(chǎn)生"命中"。


圖1示意性地說明在虛擬存儲器系統(tǒng)中操作的TLB。
圖2是具有經(jīng)配置以響應于TLB未命中信號而起始TLB重新加載過程而不會使管線 停滯的TLB控制器的管線化處理器的示意圖。
圖3是響應于TLB未命中的方法的流程圖。
具體實施例方式
下文結(jié)合附圖而陳述的具體實施方式
意在描述處理器和操作處理器中的TLB的方法 的各種說明性實施例,但非意欲表示其中可實踐本文所揭示的發(fā)明性概念的僅有實施例。
具體實施方式
包含特定細節(jié),以便允許全面理解所描述的內(nèi)容。然而,所屬領(lǐng)域的技術(shù) 人員應了解,在一些實施例中,可能不需要這些特定細節(jié)中的一者或一者以上。在一些 情況下,以框圖形式展示眾所周知的結(jié)構(gòu)和組件,以便更清楚地說明所呈現(xiàn)的概念。
圖1示意性地說明在虛擬存儲器系統(tǒng)中操作的TLB。在虛擬存儲器系統(tǒng)中,通常可 在虛擬(或"線性")地址空間與物理地址空間之間執(zhí)行映射(或翻譯)。虛擬地址空間
通常是指處理器所產(chǎn)生的所有虛擬地址22的集合。物理地址空間通常是指用于駐存在處 理器的物理存儲器30中的數(shù)據(jù)的所有物理地址(即在存儲器總線上提供的用以將特定位 置寫入物理存儲器30中或從物理存儲器30讀取特定位置的地址)的集合。
在頁式虛擬存儲器系統(tǒng)中,可假定數(shù)據(jù)由通常被稱為頁的固定長度的單元31組成。 可將虛擬地址空間和物理地址空間分成連續(xù)頁地址區(qū)塊。每個虛擬頁地址可提供虛擬頁 編號,且每個物理頁地址可指示數(shù)據(jù)的特定頁31在存儲器30內(nèi)的位置。典型的頁大小 可為(例如)約4千字節(jié),但也可使用不同的頁大小。物理存儲器30中的頁表20可含 有對應于虛擬存儲器系統(tǒng)的所有虛擬頁地址的物理頁地址,即,可含有虛擬頁地址與虛 擬地址空間中的所有虛擬頁地址的對應物理頁地址之間的映射。通常,頁表20可含有多 個頁表條目(PTE) 21,每個PTE21指向物理存儲器30中對應于特定虛擬地址的頁31。
存取存儲在物理存儲器30中的頁表20中的PTE 21通??赡苄枰鎯ζ骺偩€交易, 這就處理器循環(huán)時間和功率消耗來說可能為較大花費的??赏ㄟ^存取TLB IO而不是物理 存儲器30,來減少存儲器總線交易的數(shù)目。如先前所闡釋,TLB IO是存儲虛擬地址與物 理地址之間的新近映射的地址翻譯高速緩沖存儲器。TLB 10通常含有存儲在頁表20中 的虛擬到物理地址映射的子集。為了增加TLB存取的效率,可通過對多級存儲器高速緩 沖存儲器的模擬來使用和實施多級TLB (未圖示),與較高級TLB相比,較低級的TLB 通常較小且較快。TLB IO通??珊卸鄠€TLB條目12。每個TLB條目12可具有標記 字段14和數(shù)據(jù)字段16。標記字段14可包含虛擬頁地址的較高階位中的一些位作為標記。 數(shù)據(jù)字段16可指示對應于所標記的虛擬頁地址的物理頁地址。
如上文所述,在具有多級管線的管線化處理器中可使用頁式虛擬存儲器系統(tǒng)。管線 化可通過布置硬件使得可同時執(zhí)行一個以上操作來增加處理器的性能。以此方式,可增 加每單位時間所執(zhí)行的操作的數(shù)目,但完成任一給定操作所需的時間量可能保持相同。 在管線化處理器中,可將處理器內(nèi)的操作序列分成多個分段或級,每個級并行地實行指 令或操作的不同部分??蓪⒍鄠€級視為經(jīng)連接以形成一管道。通常,可預期管線中的每 個級在一個時鐘循環(huán)中完成其操作。通常可使用中間存儲緩沖器來保存從一個級傳遞到 下一個級的信息。
當指令具有需要被翻譯成對應的物理地址的虛擬地址22時,在程序執(zhí)行期間,可存 取TLB 10,以便在存儲在TLB IO中的TLB條目12中查找虛擬地址22。虛擬地址22 通常包含虛擬頁編號,其可用于TLB 10中以査找對應的物理頁地址。更具體地說,可將 處理器所產(chǎn)生的每個虛擬地址(無論是用于指令獲取還是用于操作數(shù)獲取/存儲操作)視
為包含虛擬頁編號(通常由虛擬地址的較高階位表示),接著是偏移量(通常由虛擬地址 的較低階位表示)。虛擬地址的偏移量部分可指定特定字節(jié)或字在頁內(nèi)的位置。
如果TLB 10在其TLB條目中含有對應于包含在呈現(xiàn)給所述TLB的虛擬地址22中 的虛擬頁編號的特定物理頁地址,那么可發(fā)生TLB "命中",且可從TLB IO檢索所述物 理頁地址。如果TLB 10不含有對應于呈現(xiàn)給TLB的虛擬地址22中的虛擬頁編號的特定 物理頁地址,那么可發(fā)生TLB "未命中",且可能必須執(zhí)行物理存儲器30中的頁表20的 査找(和/或較高級TLB的査找,如果有的話)。 一旦從頁表20確定了物理頁地址,對應 于虛擬頁地址的物理頁地址便可加載到TLB 10中,且可使用虛擬頁地址22再次存取TLB 10。因為所需的物理頁地址現(xiàn)已經(jīng)被加載在TLB IO中,所以TLB存取此時可導致TLB "命中",且可在TLB IO的輸出處產(chǎn)生新近加載的物理頁地址。
圖2是管線化處理器100的示意圖,所述管線化處理器100經(jīng)配置以通過起始TLB 重新加載來響應TLB未命中信號,且不會即刻使管線停滯。概括來說,處理器IOO可包 含存儲器130,其經(jīng)配置以將指令和數(shù)據(jù)存儲在多個頁中;數(shù)據(jù)高速緩沖存儲器(D-高速緩沖存儲器)117和指令高速緩沖存儲器(I-高速緩沖存儲器)127,其經(jīng)配置以提 供對存儲在主存儲器130中的數(shù)據(jù)和指令的子集的高速存取;TLB 122,其經(jīng)配置以存儲 從虛擬地址到物理地址的新近翻譯;以及TLB控制器140,其經(jīng)配置以控制TLB 122的 操作。
如圖2中所示,TLB控制器140可以是處理器100中的中央處理單元(CPU) 150 的一部分。在其它實施例中,TLB控制器140可位于處理器100的CPU 150附近。在處 理器100的所說明的實施例中,TLB 122也是CPU150的一部分。在其它實施例中,TLB 122可位于處理器的CPU附近,但不在CPU內(nèi)。舉例來說,TLB 122可位于定位在CPU 外部的存儲器管理單元(未圖示)內(nèi)。存儲器130可包含頁表120,其存儲對應于處理 器100所產(chǎn)生的虛擬頁地址的物理頁地址。TLB可以是數(shù)據(jù)TLB(DTLB)和/或指令TLB (nXB)和/或統(tǒng)一TU3 (UTLB)。
處理器100可進一步包含TLB重新加載機構(gòu)170,其經(jīng)配置以在所需的地址翻譯機 構(gòu)在TLB 122中未命中時實施TLB重新加載,以便確定正確的地址翻譯信息。TLB重新 加載機構(gòu)170可實施存儲器存取,以(例如)使用邏輯狀態(tài)機(未圖示)執(zhí)行硬件頁表 查詢來從存儲器130中的頁表120檢索地址翻譯信息。在一些實施例(未圖示)中,處 理器IOO可包含一個或一個以上較高級TLB。在這些情況下,如果給定存取在TLB 122 中導致"未命中",那么TLB重新加載機構(gòu)170可在存取存儲器130之前首先存取較高
級TLB。
處理器100是多級管線化處理器,且圖2中使用虛線來在概念上說明CPU 150內(nèi)的
示范性管線級序列。圖2中所說明的級序列包含獲取級210;解碼級220;執(zhí)行級230;
存儲器存取級240;以及回寫級250。出于說明性目的而展示圖2中的示范性序列。其它
具有更小或更大數(shù)目的管線級的替代序列是可能的。每個級內(nèi)的功能(例如,在獲取級 210期間獲取指令,在解碼級220期間解碼指令等等)通常在一個CPU時鐘循環(huán)內(nèi)發(fā)生。
圖2還說明硬件單元,其每一者經(jīng)配置以在一個CPU時鐘循環(huán)內(nèi)執(zhí)行與每個級有關(guān) 的功能。硬件單元可包含至少一個獲取單元211,其經(jīng)配置以從I-高速緩沖存儲器127 或主存儲器130獲取一個或一個以上指令;至少一個解碼單元221,其經(jīng)配置以解碼獲 取單元211所獲取的指令;至少一個執(zhí)行單元231,其經(jīng)配置以執(zhí)行由解碼單元221解碼 的一個或一個以上指令;至少一個存儲器單元241,其經(jīng)配置以執(zhí)行存儲器存??;以及 至少一個回寫單元251,其經(jīng)配置以將從存儲器130檢索到的數(shù)據(jù)回寫到執(zhí)行單元231 中。可提供命中/未命中指示符寄存器或緩沖器135,以指示由獲取單元211獲取的指令 對I-高速緩沖存儲器的存取而導致的命中或未命中。
管線可包含TLB存取點242,其在功能上以箭頭242說明,在TLB存取點242處, 一個或一個以上數(shù)據(jù)存取指令可存取TLB 122,以搜索地址翻譯信息。如果所需的地址 翻譯信息存在于TLB 122中,那么TLB 122可產(chǎn)生TLB命中信號。可從TLB 122檢索 地址翻譯信息,并將其發(fā)送到D-高速緩沖存儲器117。數(shù)據(jù)緩沖器和/或地址緩沖器(未 圖示)可耦合到D-高速緩沖存儲器117,以提供用于數(shù)據(jù)以及用于地址翻譯信息的臨時 存儲。
TLB 122經(jīng)配置以在被呈現(xiàn)給TLB 122的由指令所請求的數(shù)據(jù)的虛擬地址的地址翻 譯信息從TLB 122中的條目的任何一者未命中時,產(chǎn)生TLB未命中信號。所述指令可能 已經(jīng)被獲取單元211從I-高速緩沖存儲器127獲取,被解碼單元221解碼,且可能在正 被執(zhí)行單元231執(zhí)行的過程中。
響應于TLB未命中信號,慣例可能已使管線在發(fā)生未命中的點處停滯。具有導致TLB 未命中信號的虛擬地址的指令只能擱置和等待,而不能夠進行到管線中的下一個級,因 為缺乏地址翻譯信息。當這種情況發(fā)生時,已經(jīng)發(fā)生未命中的點上方的所有級都也可能 必須等待,從而導致相當?shù)托А;蛘?,可清洗導致TLB未命中的指令,而不具有停滯和 重取。此過程可導致針對同一指令的多次未命中,從而需要多次清洗,這可導致增加的 等待時間和低效。 在圖2中所說明的處理器100的實施例中,TLB控制器140經(jīng)配置以響應于來自TLB 122的TLB未命中信號而起始TLB重新加載,且不會即刻使管線停滯。起始TLB重新 加載過程,以便確定所需的地址翻譯信息。
處理器IOO清洗并重取所述未命中指令,從而導致在管線的上部(即,在圖2中的 初始級210處)重新插入導致TLB未命中的指令。TLB重新加載的起始和未命中指令的 清洗/重取大體上并行執(zhí)行,且不會即刻使所述管線停滯。不再使管線停滯以等待TLB重 新加載過程完成,而是處理器100清洗所述指令,以使可進行的操作進行,接著重取所 述指令。導致原始TLB未命中信號的指令因此第二次穿過管線的連續(xù)級,且將保存在TLB 存取點上方的管線級處,直到TLB重新加載過程完成為止。
處理器100進一步經(jīng)配置以將所重取的指令保存在TLB存取點242上方的管線中的 點處,直到TLB重新加載完成為止。到指令到達TLB存取點242上方的所述點處時,管 線停滯的次數(shù)和持續(xù)時間可能已經(jīng)顯著減少。
在TLB重新加載過程期間,TLB重新加載機構(gòu)170可存取存儲器130,從存儲器130 中的頁表120檢索用于導致TLB未命中的指令的虛擬地址的地址翻譯信息,并將檢索到 的地址翻譯信息寫入到TLB 122中。在提供一個或一個以上較高級TLB (未圖示)的處 理器的實施例中,TLB重新加載機構(gòu)170可在存取物理存儲器130之前,首先存取所述 較高級TLB (從最低級TLB開始,且行進到連續(xù)遞增的級的TLB上)。
一旦TLB重新加載機構(gòu)完成,處理器IOO便釋放將一直保存在TLB存取點上方的管 線級處的所重取的指令。由于從存儲器130檢索到的地址翻譯信息現(xiàn)已被寫入到TLB 122 中,所以TLB 122現(xiàn)含有用于所重取的指令的虛擬地址的所需地址翻譯信息。因此,在 所述指令(其原先導致TLB未命中)再次呈現(xiàn)給TLB 122時,將發(fā)生TLB命中,而不 是TLB未命中。所重取的指令因此不可能第二次產(chǎn)生TLB未命中。
處理器IOO可經(jīng)配置以將指令(其導致初始TLB未命中)重新插在管線的上部持續(xù) 預定次數(shù),且不會更多。在處理器IOO的一個實施例中,所述預定次數(shù)可以是一次。
圖3是響應于TLB未命中的方法300的流程圖。在步驟302中,響應于所述存取TLB 以查找用于指令的虛擬地址的地址翻譯信息的指令,接收TLB未命中信號。TLB未命中 信號可(例如)由處理器的CPU中或附近的TLB控制器接收,或由CPU中的某一其它 控制寄存器接收。TLB未命中信號指示TLB 122中不存在用于所述指令的虛擬地址的所 需地址翻譯信息。
在步驟304中,通過向存儲器或較高級TLB請求地址翻譯信息,來起始TLB重新加
載,且不會即刻使管線停滯。在步驟306中,大體上與TLB重新加載過程并行地清洗和 重取導致TLB未命中信號的指令。在步驟308中,從存儲器或從較高級TLB檢索用于虛 擬地址的所需地址翻譯信息,且將檢索到的地址翻譯信息寫入到TLB中。在步驟310和 311中,將所重取的指令保存管線中的在TLB存取點上方的點處,直到TLB重新加載過 程完成為止。最后,在步驟312中, 一旦TLB重新加載過程完成,就釋放所重取的指令。 因為已經(jīng)在步驟306中將所需的地址翻譯信息寫入TLB中,所以TLB未命中不再發(fā)生。 總之,已經(jīng)描述了用于響應TLB未命中且不會即刻使管線停滯的設(shè)備和方法。響應 于TLB未命中而起始TLB重新加載,且不會即刻使管線停滯,且導致TLB未命中的指 令的清洗和重取與TLB重新加載過程并行執(zhí)行。所重取的指令保存在管線中的在TLB 存取點上方的點處,直到TLB重新加載過程完成為止。因為用于所述指令的必需地址翻 譯信息在TLB重新加載期間己經(jīng)寫入到TLB中,所以可釋放所重取的指令,且不再導致 TLB未命中。
提供對所揭示實施例的先前描述是為了使所屬領(lǐng)域的技術(shù)人員能夠制作或使用上文 所述的系統(tǒng)。所屬領(lǐng)域的技術(shù)人員將容易明白對這些實施例的各種修改,且本文所界定 的一般原理可在不脫離本文所揭示的發(fā)明性概念的精神或范圍的情況下應用于其它實施 例。因此,不希望本發(fā)明限于本文所展示的實施例,而是賦予其與權(quán)利要求書一致的完 整范圍,其中以單數(shù)形式參考元件無意表示"一個且僅一個"(除非明確這樣陳述),而 是表示"一個或一個以上"。所屬領(lǐng)域的技術(shù)人員已知或以后將知道的貫穿本發(fā)明而描述 的各種實施例的元件的所有結(jié)構(gòu)和功能等效物均明確以引用的方式并入本文中,且希望 由權(quán)利要求書涵蓋。此外,不希望本文所揭示的內(nèi)容公布于眾,不管揭示內(nèi)容是否在權(quán) 利要求書中明確陳述。權(quán)利要求書的元素不應根據(jù)35U.S.C. §112第六節(jié)的條款來解釋, 除非明確使用短語"用于……的裝置"來陳述所述元素,或在方法項的情況下,使用短 語"用于……的步驟"來陳述所述元素。
權(quán)利要求
1.一種具有多級管線的處理器,所述處理器包括翻譯旁視緩沖器(TLB),其經(jīng)配置以存儲允許將虛擬地址翻譯成物理地址的地址翻譯信息,所述TLB進一步經(jīng)配置以在呈現(xiàn)給所述TLB的指令的虛擬地址從所述TLB未命中時產(chǎn)生TLB未命中信號;以及TLB控制器,其經(jīng)配置以響應于所述TLB未命中信號而起始TLB重新加載,且不會即刻使所述管線停滯;其中所述處理器經(jīng)配置以大體上與所述TLB重新加載并行地清洗和重取具有所述未命中虛擬地址的所述指令。
2. 根據(jù)權(quán)利要求1所述的處理器,其中所述管線包含TLB存取點,在所述TLB存取 點處,允許一個或一個以上指令存取所述TLB,且其中所述處理器進一步經(jīng)配置以 將所述重取的指令保存在所述TLB存取點上方,直到所述TLB重新加載完成為止。
3. 根據(jù)權(quán)利要求l所述的處理器,其中所述處理器進一步經(jīng)配置以通過將所述指令重 新插在所述管線的初始級處來重取所述指令。
4. 根據(jù)權(quán)利要求3所述的處理器,其中所述處理器進一步經(jīng)配置以將所述指令重新插 在所述管線的所述初始級處不多于預定次數(shù)。
5. 根據(jù)權(quán)利要求4所述的處理器,其中所述預定次數(shù)是一次。
6. 根據(jù)權(quán)利要求l所述的處理器,其進一步包括經(jīng)配置以將數(shù)據(jù)存儲在多個頁中的存 儲器。
7. 根據(jù)權(quán)利要求6所述的處理器,其進一步包括數(shù)據(jù)高速緩沖存儲器,所述數(shù)據(jù)高速 緩沖存儲器經(jīng)配置以存儲所述存儲器中存儲的所述數(shù)據(jù)的子集。
8. 根據(jù)權(quán)利要求6所述的處理器,其中所述存儲器進一步經(jīng)配置以存儲多個指令。
9. 根據(jù)權(quán)利要求8所述的處理器,其進一步包括指令高速緩沖存儲器,所述指令高速 緩沖存儲器經(jīng)配置以存儲所述存儲器中存儲的所述指令的子集。
10. 根據(jù)權(quán)利要求6所述的處理器,其中所述TLB控制器進一步經(jīng)配置以在所述TLB 重新加載期間從所述存儲器檢索用于所述未命中虛擬地址的所述地址翻譯信息,且 將所述地址翻譯信息寫入到所述TLB中。
11. 根據(jù)權(quán)利要求6所述的處理器,其中所述多個頁中的每一者均具有物理頁地址,且 其中所述TLB中所含有的所述地址翻譯信息允許將虛擬地址翻譯成所述多個頁的 物理頁地址。
12. 根據(jù)權(quán)利要求1所述的處理器,其中所述TLB包括以下至少一者數(shù)據(jù)TLB(DTLB); 指令TLB (ITLB)禾口統(tǒng)一TLB (UTLB)。
13. 根據(jù)權(quán)利要求l所述的處理器,其中所述多級管線包括至少一獲取級、 一解碼級、 一執(zhí)行級、 一存儲器存取級和一回寫級。
14. 根據(jù)權(quán)利要求IO所述的處理器,其進一步包括-至少一個獲取單元,其經(jīng)配置以從指令寄存器獲取一個或一個以上指令; 至少一個解碼單元,其經(jīng)配置以解碼所述獲取單元所獲取的所述一個或一個以上 指令;以及至少一個執(zhí)行單元,其經(jīng)配置以執(zhí)行由所述解碼單元解碼的所述一個或一個以上 指令。
15. —種在具有多級管線的管線化處理器中操作TLB的方法,所述方法包括從TLB接收TLB未命中信號,所述TLB未命中信號指示所述TLB中不存在用于 指令的虛擬地址的地址翻譯信息;響應于所述TLB未命中信號而起始TLB重新加載,且不會即刻使所述管線停滯;清洗所述指令;以及重取所述指令。
16. 根據(jù)權(quán)利要求15所述的方法,其中所述管線包含TLB存取點,在所述TLB存取點 處,允許一個或一個以上指令存取所述TLB,且所述方法進一步包括將所述重取的 指令保存在所述TLB存取點上方直到所述TLB重新加載完成為止的動作。
17. 根據(jù)權(quán)利要求15所述的方法,其中所述重取所述指令的動作包括將所述指令重新 插在所述管線的初始級處。
18. 根據(jù)權(quán)利要求17所述的方法,其中所述將所述指令重新插在所述管線的初始級處 的動作包括將所述指令重新插在所述管線的所述初始級處不多于預定次數(shù)。
19. 根據(jù)權(quán)利要求18所述的方法,其中所述預定次數(shù)是一次。
20. 根據(jù)權(quán)利要求15所述的方法,其中所述處理器包括存儲器,且所述方法進一步包 括在所述TLB重新加載期間從所述存儲器檢索用于所述虛擬地址的所述地址翻譯 信息的動作,以及將所述地址翻譯信息寫入到所述TLB中的動作。
21. 根據(jù)權(quán)利要求15所述的方法,其中所述處理器包括至少一個額外TLB,其與從中 接收所述TLB未命中信號的所述TLB相比是較高級TLB,且所述方法進一步包括 在所述TLB重新加載期間從所述較高級TLB檢索用于所述虛擬地址的所述地址翻 譯信息的動作,以及將所述地址翻譯信息寫入到所述TLB中的動作。 22.根據(jù)權(quán)利要求15所述的方法,其中所述管線包括至少一獲取級、 一解碼級、 一執(zhí) 行級、 一存儲器存取級和一回寫級。
全文摘要
一種具有多級管線的處理器包含TLB和TLB控制器。響應于TLB未命中信號,所述TLB控制器起始TLB重新加載,從而請求來自存儲器或較高級TLB的地址翻譯信息,并將所述信息放置在所述TLB中。所述處理器清洗具有未命中虛擬地址的指令,且重取所述指令,從而導致將所述指令重新插在管線在TLB存取點上方的初始級處。所述TLB重新加載的所述起始以及所述指令的所述清洗/重取大體上并行執(zhí)行,且不會立即使所述管線停滯。所述重取的指令被保存在所述管線中的在所述TLB存取點上方的點處,直到所述TLB重新加載完成為止,使得所述重取的指令在其下一次存取時在所述TLB中產(chǎn)生“命中”。
文檔編號G06F9/38GK101375245SQ200780003298
公開日2009年2月25日 申請日期2007年1月22日 優(yōu)先權(quán)日2006年1月20日
發(fā)明者布賴恩·約瑟夫·科佩克, 托馬斯·安德魯·薩托里烏斯, 杰弗里·托德·布里奇斯, 維克托·羅伯茨·奧格斯堡, 詹姆斯·諾里斯·迪芬德爾費爾 申請人:高通股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1