專利名稱::具有多個虛擬隊(duì)列的地址轉(zhuǎn)換單元的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)字處理系統(tǒng),更具體地說,涉及數(shù)字處理系統(tǒng)中的地址轉(zhuǎn)換機(jī)構(gòu)。
背景技術(shù):
:地址轉(zhuǎn)換通常用在包括多個內(nèi)存請求來源,和被所述多個來源共享的內(nèi)存的系統(tǒng)中。所述來源可以包括處理器、代表各種外設(shè)行動的直接內(nèi)存存取(DMA)單元,和/或外設(shè)本身。地址轉(zhuǎn)換可用于確保不同的來源不會干擾彼此對內(nèi)存的存取,提供比物理內(nèi)存中的實(shí)際可用內(nèi)存更大的虛擬內(nèi)存(與軟件一起根據(jù)需要把數(shù)據(jù)頁入和頁出內(nèi)存),簡化內(nèi)存的動態(tài)分配(允許真實(shí)內(nèi)存的分散頁面表現(xiàn)為虛擬內(nèi)存的連續(xù)塊),等等。從而,給定來源可以傳送帶有虛擬地址的內(nèi)存請求,以及地址轉(zhuǎn)換機(jī)構(gòu)可把該地址轉(zhuǎn)換成對應(yīng)的物理地址。一般來說,虛擬-物理地址轉(zhuǎn)換以一組軟件管理的頁表的形式被保存在內(nèi)存中。虛擬地址可用作索引(相對于頁表的基地址),根據(jù)所述索引,讀取一個或多個頁表?xiàng)l目,以定位正確的轉(zhuǎn)換。一些地址轉(zhuǎn)換方案利用分級或者不分級方式的多次頁表讀取來定位轉(zhuǎn)換。其它方案可以利用單次頁表讀取來定位轉(zhuǎn)換。通過提供高速緩存最近使用的轉(zhuǎn)換,以便響應(yīng)來自來源的內(nèi)存請求,進(jìn)行快速存取的旁路轉(zhuǎn)換緩沖器(TLB),能夠降低進(jìn)行轉(zhuǎn)換的等待時間。不過,在一些常規(guī)的轉(zhuǎn)換機(jī)構(gòu)中,由于在多個來源之間共享TLB,因此對一個轉(zhuǎn)換的TLB失敗會增大另一個不相關(guān)的轉(zhuǎn)換請求的等待時間。在一些系統(tǒng)中,這種類型的等待時間是不能接受的。
發(fā)明內(nèi)容公開了包括多個虛擬隊(duì)列的地址轉(zhuǎn)換單元的各種實(shí)施例。在一個實(shí)施例中,轉(zhuǎn)換單元包括旁路轉(zhuǎn)換緩沖器(TLB)、失敗隊(duì)列和控制單元。TLB可被配置成保存多個地址轉(zhuǎn)換。失敗隊(duì)列可被配置成保存在TLB中失敗的接收的地址轉(zhuǎn)換請求。失敗隊(duì)列包括多個條目。至少一些條目都可被配置成保存相應(yīng)地址轉(zhuǎn)換請求和對應(yīng)標(biāo)識符。給定條目的對應(yīng)標(biāo)識符識別失敗隊(duì)列中的保存另一個相應(yīng)地址轉(zhuǎn)換請求,比如下一個較年老的轉(zhuǎn)換請求的另一個條目,所述另一個相應(yīng)地址轉(zhuǎn)換請求具有與給定條目中的相應(yīng)地址轉(zhuǎn)換請求的處理排序約束相同的處理排序約束。例如,具有相同的排序約束并且借助標(biāo)識符鏈接在一起的地址轉(zhuǎn)換屬于相同的虛擬失敗隊(duì)列??刂茊卧杀慌渲贸砂凑杖Q于每個相應(yīng)地址轉(zhuǎn)換請求的標(biāo)識符的順序,處理接收的地址轉(zhuǎn)換請求。圖I是包括一個或多個地址轉(zhuǎn)換單元的系統(tǒng)的一個實(shí)施例的方框圖。圖2是圖I中所示的地址轉(zhuǎn)換單元的一個實(shí)施例的方框圖。圖3是圖2中所示的地址轉(zhuǎn)換單元失敗隊(duì)列的一個實(shí)施例的方框圖。圖4A是描述圖2和圖3的失敗隊(duì)列的實(shí)施例內(nèi)的各個條目的示圖。圖4B是描述圖2-圖4A的失敗隊(duì)列的實(shí)施例的3個虛擬隊(duì)列的鏈接條目的結(jié)構(gòu)圖。圖5是描述圖2和圖3的失敗隊(duì)列的實(shí)施例內(nèi)的條目的操作狀態(tài)的狀態(tài)圖。圖6是描述圖2和圖3中所示的地址轉(zhuǎn)換單元的一個實(shí)施例的操作的流程圖。雖然本發(fā)明可以有各種修改和備選形式,不過附圖中舉例示出了本發(fā)明的具體實(shí)施例,這里將詳細(xì)說明所述具體實(shí)施例。不過應(yīng)明白,附圖及其詳細(xì)說明并不意圖把本發(fā)明局限于公開的特定形式,相反,本發(fā)明將覆蓋在由附加權(quán)利要求限定的本發(fā)明的精神和范圍內(nèi)的所有修改、等同物和備選方案。這里使用的標(biāo)題只是為了便于組織,并不意圖用于限制說明的范圍。在本申請中,詞語“可以”是在許可的意義上(即,意味有可能),而不是在強(qiáng)制的意義上(即,意味必須)使用的。類似地,詞語“包括”意味包括(但不限于)。各個單元、電路或其它組件可被描述成“配置成”執(zhí)行一項(xiàng)或多項(xiàng)任務(wù)。在這樣的上下文中,“配置成”是通常意味“具有在工作期間執(zhí)行所述一項(xiàng)或多項(xiàng)任務(wù)的電路”的結(jié)構(gòu)的廣泛列舉。因而,所述單元/電路/組件可被配置成即使當(dāng)所述單元/電路/組件目前未接通時,也可執(zhí)行所述任務(wù)。通常,形成與“配置成”對應(yīng)的結(jié)構(gòu)的電路可包括硬件電路。類似地,為了便于說明,各個單元/電路/組件可被描述成執(zhí)行一項(xiàng)或多項(xiàng)任務(wù)。這樣的說明應(yīng)被解釋成包括短語“配置成”。列舉被配置成執(zhí)行一項(xiàng)或多項(xiàng)任務(wù)的單元/電路/組件并不意圖引用35U.S.C.§112,第6段對單元/電路/組件的解釋。具體實(shí)施例方式現(xiàn)在參見圖1,圖中示出了系統(tǒng)10的一個實(shí)施例的方框圖。系統(tǒng)10包括彩色液晶顯示器(CIXD)顯示控制器12、視頻編碼器14、混頻器16、縮放器18、視頻解碼器20、著色器22、接口單元24、地址轉(zhuǎn)換單元26、系統(tǒng)接口單元(SIU)28、一個或多個高性能外設(shè)30、直接內(nèi)存存取(DMA)單元32、一個或多個其它外設(shè)34、第二地址轉(zhuǎn)換單元36、一個或多個照片外設(shè)38、處理器40、和內(nèi)存控制器42。如圖I中所示,CIXD顯示控制器12、視頻編碼器14、混頻器16、縮放器18、視頻解碼器20和著色器22耦接到接口單元24,接口單元24再耦接到系統(tǒng)接口單元28。在圖解說明的實(shí)施例中,接口單元24通過如圖I中所示包括地址互連11、數(shù)據(jù)互連13和寫入響應(yīng)互連15的互連,耦接到系統(tǒng)接口單元28。地址轉(zhuǎn)換單元26耦接到地址互連11并可被配置成轉(zhuǎn)換由接口單元24傳送給系統(tǒng)接口單元28的請求的地址。高性能外設(shè)30、DMA單元32、地址轉(zhuǎn)換單元36、處理器40和內(nèi)存控制器42耦接到系統(tǒng)接口單元28。DMA單元32耦接到高性能外設(shè)30和其它外設(shè)34。地址轉(zhuǎn)換單元36耦接到照片外設(shè)38。內(nèi)存控制器42耦接到內(nèi)存(未示出)。CIXD顯示控制器12耦接到CIXD(可能通過圖I中未示出的其它組件)。在一個實(shí)施例中,如圖I中圖解所示的系統(tǒng)10可作為片上系統(tǒng)(SOC)集成到單個集成電路芯片上。在其它實(shí)施例中,可以采用兩個或更多個集成電路來提供圖I中圖解所示的組件。在其它實(shí)施例中,系統(tǒng)10還包括CIXD、內(nèi)存和各種其它組件(例如,耦接到外設(shè)接口的組件)。如前所述,地轉(zhuǎn)轉(zhuǎn)換單元26可以提供由耦接到接口單元24的組件中的一個或多個組件發(fā)起的請求的地址轉(zhuǎn)換。例如,在一個實(shí)施例中,地轉(zhuǎn)轉(zhuǎn)換單元26可以提供CLCD顯示控制器12、視頻編碼器14、混頻器16、縮放器18和著色器22的地址轉(zhuǎn)換。不過,視頻解碼器20可以采用內(nèi)部地址轉(zhuǎn)換機(jī)構(gòu)。其它實(shí)施例可以根據(jù)需要把地轉(zhuǎn)轉(zhuǎn)換單元26用于組件的不同子集,或者所有組件的地址轉(zhuǎn)換。通常,地址轉(zhuǎn)換(或者更簡要地,“轉(zhuǎn)換”)的處理指的是把地址轉(zhuǎn)換單元的虛擬地址輸入修改成可用于訪問內(nèi)存的物理地址。物理地址通??梢栽跀?shù)字上不同于虛擬地址,盡管能夠把虛擬地址映射成數(shù)字上相等的物理地址(通常稱為一致映射)。轉(zhuǎn)換是根據(jù)保存在內(nèi)存中的一個或多個頁表中的數(shù)據(jù)確定的,所述一個或多個頁表以頁面的粒度,把虛擬地址映射成物理地址。通過修改頁表的內(nèi)容,軟件可控制虛擬地址到物理地址的映射。頁面大小可以因?qū)嵤├?。例如?行字節(jié)是典型的頁面大小,不過在各個實(shí)施例中支持更大的頁面大小,一直到兆字節(jié)的大小。未來可以支持甚至更大的頁面大小。在一些實(shí)施例中,支持多種頁面大小,并且可以編程選擇多種頁面大小,和/或可以存在同時使用的混合大小。從虛擬頁面到物理頁面的特定映射也可被稱為轉(zhuǎn)換。地址轉(zhuǎn)換單元26可包括旁路轉(zhuǎn)換緩沖器(例如,圖2中所示的TLB70),旁路轉(zhuǎn)換緩沖器可高速緩存地址轉(zhuǎn)換單元26最近使用過的一個或多個轉(zhuǎn)換。在一個實(shí)施例中,TLB可被實(shí)現(xiàn)成包括許多級的流水線結(jié)構(gòu)。從而,對于在TLB中命中的虛擬地址,可以進(jìn)行等待時間較小的轉(zhuǎn)換,而對于在TLB中失敗的虛擬地址,可以進(jìn)行等待時間稍長的轉(zhuǎn)換(因?yàn)闉榱双@得所述轉(zhuǎn)換,需要內(nèi)存中的頁表的表走查(tablewalk))。不過,如下進(jìn)一步所述,地址轉(zhuǎn)換單元26可以采用TLB失敗隊(duì)列(例如,圖2的MQ64),通過允許同時進(jìn)行在TLB中失敗的許多轉(zhuǎn)換請求,TLB失敗隊(duì)列可以降低與某些轉(zhuǎn)換相關(guān)的等待時間。地址轉(zhuǎn)換單元26為其提供地址轉(zhuǎn)換的組件中的一個或多個組件可以是不能容忍TLB中的頻繁失敗的對等待時間敏感的組件。例如,CLCD顯示控制器可從內(nèi)存讀取數(shù)據(jù),以在CLCD顯示器上顯示圖像(例如,幀緩沖數(shù)據(jù))。這些內(nèi)存讀取操作的地址可由地址轉(zhuǎn)換單元26轉(zhuǎn)換。在顯示控制器在顯示器上顯示圖像供用戶查看時,讀取數(shù)據(jù)過程中的意外等待時間會在顯示器上導(dǎo)致明顯的影響。視頻編碼器14也對內(nèi)存讀取過程中的等待時間敏感,視頻解碼器20可能同樣如此(盡管在本實(shí)施例中,視頻解碼器20包括它自己的地址轉(zhuǎn)換單元)。在各個實(shí)施例中,任何視頻處理單元可以對內(nèi)存讀取等待時間敏感。視頻處理單元可以是處理視頻數(shù)據(jù)的任何電路。例如,視頻處理單元可以包括顯示控制器12、視頻編碼器14、混頻器16、縮放器18、視頻解碼器20和/或著色器22。視頻處理單元還可以包括處理視頻數(shù)據(jù)的任何其它電路。在本實(shí)施例中,顯示控制器12和視頻編碼器14對內(nèi)存讀取延遲敏感,而其它組件對等待時間不敏感,或者包括它們自己的地址轉(zhuǎn)換單元。其它實(shí)施例可以具有更多或者更少的對等待時間敏感的視頻處理單元。因而,TLB失敗隊(duì)列(圖2中所示)可以追蹤進(jìn)行中的TLB失敗,從而便于在對于具有相同ARID的轉(zhuǎn)換,或者所有寫入轉(zhuǎn)換之間強(qiáng)制實(shí)施轉(zhuǎn)換請求排序約束的時候,同時處理轉(zhuǎn)換請求。如以下結(jié)合圖2-圖6的說明更詳細(xì)所述,失敗隊(duì)列可以在物理失敗隊(duì)列存儲結(jié)構(gòu)內(nèi)采用許多虛擬失敗隊(duì)列(VMQ)。更具體地,在一個實(shí)施例中,存儲單元可以包括保存轉(zhuǎn)換請求的許多條目。失敗隊(duì)列中的每個條目可以保存屬于任何VMQ的轉(zhuǎn)換。每個VMQ可以被實(shí)現(xiàn)成其中可以把新的轉(zhuǎn)換請求附加到適當(dāng)VMQ的尾部的鏈表式數(shù)據(jù)結(jié)構(gòu)。在一個實(shí)施例中,每個條目可以包括識別其中保存相同VMQ的下一個相繼的轉(zhuǎn)換請求的失敗隊(duì)列條目的指針。給定VMQ中的每個轉(zhuǎn)換請求可以具有相同的處理排序約束,并可以按照由指針指定的順序處理。不過,不同VMQ中的轉(zhuǎn)換請求不會相互妨礙,通過利用諸如下面進(jìn)一步說明的選擇機(jī)構(gòu),可以選擇就緒的請求。如圖I中圖解說明,地址轉(zhuǎn)換單元26可接收地址互連11,地址互連11可包括地址、標(biāo)識符和類型(例如,讀取/寫入)。在各個實(shí)施例中,各種其它信息(例如,大小)也可包括在請求中。在一種實(shí)現(xiàn)中,地址互連11可包括用于讀取請求和寫入請求的獨(dú)立通道。因而,可存在讀取地址、寫入地址、讀取標(biāo)識符和寫入標(biāo)識符。根據(jù)通道中的哪些通道被用于傳送請求,可以推斷該請求的讀取/寫入性質(zhì)。其它實(shí)施例可以使用其它互連、基于分組的互連,等等。例如,可以使用傳送一個地址和讀取/寫入指示的地址互連。在各個實(shí)施例中,數(shù)據(jù)互連13可包括寫入數(shù)據(jù)通道和讀取數(shù)據(jù)通道,或者可以是雙向互連。地址轉(zhuǎn)換單元26可耦接到數(shù)據(jù)互連13,以便從TLB失敗的走查表接收讀取數(shù)據(jù)。寫入響應(yīng)互連15提供對寫入請求的響應(yīng)(例如,完成指示)。接口單元24可接收來自組件12、14、16、18、20和22的請求(或者請求隨時可被傳送的指示),并可被配置成當(dāng)存在沖突時,在各個請求之間進(jìn)行仲裁。接口單元24可被配置成在地址互連上傳送請求,和往來于數(shù)據(jù)互連路由對應(yīng)的寫入數(shù)據(jù)和讀取數(shù)據(jù)。接收的寫入響應(yīng)可被路由到對應(yīng)寫入請求的來源。系統(tǒng)接口單元28可以是連接系統(tǒng)10的各個組件和提供各個組件之間的通信的“頂層”接口。系統(tǒng)接口單元可具有與關(guān)于接口單元24所示相似的互連,以便耦接到系統(tǒng)10中的其它組件。CIXD顯示控制器12被配置成控制顯示在CIXD上的圖像。例如,保存在內(nèi)存中的幀緩沖器可保存識別顯示器的每個像素應(yīng)顯示的顏色的數(shù)據(jù),顯示控制器12可讀取幀緩沖器,從而把用幀緩沖器描述的圖像顯示在顯示器上。雖然圖I中圖解說明了CIXD顯示控制器,不過其它實(shí)施例可以實(shí)現(xiàn)配置成控制任意類型的顯示器的任何顯示控制器。視頻編碼器14可被配置成利用任何期望的編碼方案,對視頻流編碼。編碼方案可包括運(yùn)動圖像專家組(MPEG)版本1-4,或者任何后續(xù)版本,或者任何其它視頻壓縮或編碼方案。類似地,視頻解碼器20可被配置成解碼利用任何期望的編碼方案編碼的視頻流。雖然在本實(shí)施例中,視頻解碼器20包括它自己的地址轉(zhuǎn)換單元,不過其它實(shí)施例可包括利用地址轉(zhuǎn)換單元26的視頻解碼器20。在這樣的實(shí)施例中,視頻解碼器20也可以是對等待時間敏感的請求來源,并可具有在TLB內(nèi)存的對等待時間敏感的分區(qū)中,分配給它的一條或多條路線?;祛l器16可被配置成進(jìn)行視頻混合操作。縮放器18可被配置成進(jìn)行視頻縮放操作。著色器22可被配置成進(jìn)行像素著色操作。通常,混頻、縮放和著色是生成顯示用幀的一部分。高性能外設(shè)30可以包括至少與系統(tǒng)10中的其它外設(shè)相比,預(yù)期在系統(tǒng)接口單元28產(chǎn)生相當(dāng)大的帶寬的各種外設(shè)。例如,在一個實(shí)施例中,高性能外設(shè)可包括連網(wǎng)媒體接入控制器(MAC),比如以太網(wǎng)MAC、無線保真(WiFi)控制器和通用串行總線(USB)控制器。其它實(shí)施例可包括更多或更少的組件,并可以不同地分類和/或布置外設(shè)。例如,MAC和USB控制器可以是中等性能外設(shè),而WiFi控制器可以是低性能外設(shè)。其它外設(shè)34可包括各種低帶寬外設(shè),比如音頻子系統(tǒng)、閃速存儲器接口、通用輸入/輸出(I/O)、定時器、片上密鑰存儲器、加密引擎等,或者它們的任意組合。DMA單元可被配置成代表高性能外設(shè)30和其它外設(shè)34,通過內(nèi)存控制器42進(jìn)行往來于內(nèi)存的傳送。地址轉(zhuǎn)換單元36可被配置成轉(zhuǎn)換來自照片外設(shè)38的地址,在一個實(shí)施例中,照片外設(shè)可包括照相機(jī)接口、聯(lián)合圖像專家組(JPEG)編碼器/解碼器(編解碼器)和視頻編碼器。其它實(shí)施例可包括其它各組照片外設(shè)38。在一個實(shí)施例中,地址轉(zhuǎn)換單元36可以利用與在地址轉(zhuǎn)換單元26中使用的微體系結(jié)構(gòu)類似的微體系結(jié)構(gòu)實(shí)現(xiàn),不過可以設(shè)想其它實(shí)現(xiàn)。處理器40可以實(shí)現(xiàn)任何指令集結(jié)構(gòu),并可被配置成執(zhí)行所述指令集結(jié)構(gòu)中的指令。處理器40可以采用任何微體系結(jié)構(gòu),包括標(biāo)量、超標(biāo)量、流水線、超流水線、無序、有序、推測性、非推測性體系結(jié)構(gòu)等,或者它們的組合。處理器40可以包括電路,并且視情況可以實(shí)現(xiàn)微編碼技術(shù)。內(nèi)存控制器42可被配置成接收來自系統(tǒng)接口單元28的內(nèi)存請求(系統(tǒng)接口單元28可能已從如圖I中所示的一個或多個其它組件接收到所述請求)。內(nèi)存控制器42可以訪問內(nèi)存,以完成所述請求(對寫入請求來說,把接收的數(shù)據(jù)寫入內(nèi)存,或者響應(yīng)讀取請求,從內(nèi)存提供數(shù)據(jù))。內(nèi)存控制器42可被配置成對接任意類型的內(nèi)存,比如動態(tài)隨機(jī)存取存儲器(DRAM),異步DRAM(SDRAM),雙倍數(shù)據(jù)速率(DDR,DDR2,DDR3等)SDRAM,RAMBUSDRAM(RDRAM),靜態(tài)RAM(SRAM),等等。內(nèi)存可被布置成多個存儲體,比如雙列直插內(nèi)存模塊(DIMM)等。注意其它實(shí)施例可包括組件的其它組合,包括圖I中所示的組件和/或其它組件的子集或超集。雖然圖I中示出了給定組件的一個實(shí)例,不過其它實(shí)施例可包括給定組件的一個或多個實(shí)例。另外,在其它各個實(shí)施例中,也可通過與接口單元24類似的接口單元(未示出),耦接可以耦接到系統(tǒng)接口單元28的其它組件,或者所述其它組件的各個部分。另一方面,可以消除接口單元24,從而可以使耦接到接口單元24的組件直接耦接到系統(tǒng)接口單元28。不過,在這種備選實(shí)施例中,連接的地址部分可包括地址轉(zhuǎn)換單元26?,F(xiàn)在參見圖2,圖中示出了地址轉(zhuǎn)換單元26的一個實(shí)施例的方框圖。在圖2的實(shí)施例中,地址轉(zhuǎn)換單元26包括控制單元60、多路復(fù)用器單元(mux)50、仲裁器52、失敗隊(duì)列(MQ)64,TLB70,和物理地址輸出寄存器81和82。如圖所示,控制單元60耦接到mux50。控制單元60和mux50都被耦接成接收讀取地址和讀取標(biāo)識符(RID),及寫入地址和寫入標(biāo)識符(WID),如上所述。mux50耦接到MQ64,以及mux選擇輸入端耦接到仲裁器52。MQ64耦接到TLB70,并且耦接到輸出寄存器81和82。TLB70的輸出端也耦接到輸出寄存器81和82。最后,TLB70被耦接成接收來自SIU28的讀取數(shù)據(jù)??刂茊卧?0可在地址轉(zhuǎn)換單元時鐘的每個時鐘周期中分配條目,以致在轉(zhuǎn)換請求到達(dá)的情況下,條目已被分配。當(dāng)從接口單元24接收到地址轉(zhuǎn)換請求時,即使在TLB70中存在命中,當(dāng)轉(zhuǎn)換通過TLB流水線時,所述請求也持續(xù)幾個周期被保存在MQ64中的分配條目中。如下結(jié)合圖5的說明更詳細(xì)所述,如果存在命中,那么當(dāng)物理地址通過輸出寄存器81和82被提供給SIU28時,該條目可以變成空閑狀態(tài)。不過,如果存在TLB失敗,那么在進(jìn)行轉(zhuǎn)換的時候,該轉(zhuǎn)換可停留在MQ64中。當(dāng)轉(zhuǎn)換完成并且讀取的數(shù)據(jù)被提供到TLB70中時,可以重試該轉(zhuǎn)換??刂茊卧?0可被告知TLB填充,作為響應(yīng),控制單元60可把對應(yīng)條目轉(zhuǎn)變成就緒或“排隊(duì)”狀態(tài)。在一個實(shí)施例中,可能存在幾個就緒的轉(zhuǎn)換。因而,每個周期,仲裁器52可根據(jù)諸如每個就緒的轉(zhuǎn)換已有多久之類的因素,確定重試哪個就緒的轉(zhuǎn)換。在一個實(shí)施例中,MQ64可包括許多條目??衫肕Q標(biāo)識符(MQID)尋址MQ64,當(dāng)每個轉(zhuǎn)換進(jìn)入地址轉(zhuǎn)換單元26時,可向每個轉(zhuǎn)換分配MQID。每個條目可保存任意類型的轉(zhuǎn)換。不過,具有相同RID的讀取地址轉(zhuǎn)換請求,和所有的寫入地址轉(zhuǎn)換請求必須遵循某些排序約束。例如,在一個實(shí)施例中,具有給定RID值的所有讀取地址傳送必須按照和它們出現(xiàn)在接口24上的相同順序出現(xiàn)在SIU28上,不管WID值的所有寫入地址傳送必須按照和它們出現(xiàn)在接口24上的相同順序出現(xiàn)在SIU28上。因而,如下進(jìn)一步所述,在一個實(shí)施例中,具有相同RID的讀取轉(zhuǎn)換可以被鏈接在一起,從而形成虛擬失敗隊(duì)列(VMQ)。類似地,所有寫入轉(zhuǎn)換請求可以被鏈接在一起,從而形成單個VMQ。從而,給定VMQ中的地址轉(zhuǎn)換具有相同的排序約束,以及必須按照特定的順序(例如,按照接收到它們的順序)來處理。不過,不同VMQ中的轉(zhuǎn)換請求則不這樣。從而,在不同的VMQ之間,可以按照任意順序處理轉(zhuǎn)換請求。控制單元60可通過訪問與每個條目相關(guān)的信息,明了給定VMQ中的每個轉(zhuǎn)換的位置。如下結(jié)合圖3的說明進(jìn)一步所述,當(dāng)轉(zhuǎn)換被保存在MQ64中時,它可以和狀態(tài)信息一起被保存,所述狀態(tài)信息識別轉(zhuǎn)換屬于哪個RID或者WID,從而屬于哪個VMQ。狀態(tài)信息還可識別給定條目是否是VMQ的頭部或者尾部。狀態(tài)信息還可包括指示給定VMQ中的下一個較年老的轉(zhuǎn)換的指針。參見圖3,圖中示出了圖2的地址轉(zhuǎn)換單元失敗隊(duì)列64的一個實(shí)施例的方框圖。圖3的MQ64是包括用于保存轉(zhuǎn)換的許多條目的存儲器。在圖解所示的實(shí)施例中,MQ64包括編號0-15的16個條目。每個條目包括轉(zhuǎn)換虛擬地址313、讀取標(biāo)識符(RID)301、寫入指示符(Wr)、年齡指示符(Age)305、尾部指示符307、狀態(tài)指示符309和VMQ指針(Ptr)311。在一個實(shí)施例中,由于所有的寫入轉(zhuǎn)換屬于相同的VMQ,因此不需要獨(dú)立的WID存儲器。相反,可以使用單個寫入比特。不過,在其它實(shí)施例中,代替Wr指示符,或者除了Wr指示符之外,可根據(jù)需要使用另外的WID存儲器。在各個實(shí)施例中,構(gòu)成MQ64的存儲器可被實(shí)現(xiàn)成任何類型的存儲器。例如,在一個實(shí)施例中,可以利用單端口16條目寄存器文件實(shí)現(xiàn)MQ64,不過可以使用其它數(shù)目的條目。如上所述,借助MQID,可以單獨(dú)尋址每個條目。寄存器文件可以利用靜態(tài)RAM系列中的隨機(jī)存取存儲器(RAM)陣列來實(shí)現(xiàn),不過可以使用任意類型的存儲裝置。另外,雖然MQ64中的每個條目被表示成包括所有的信息字段,不過預(yù)期在一些實(shí)施例中,諸如VMQPtr311和RID301之類的一些信息可被保存在可利用每個條目同時訪問的獨(dú)立寄存器中。如上所述,控制單元60可利用MQID,訪問MQ64。在圖解說明的實(shí)施例中,MQID是4比特標(biāo)識符,其各個計(jì)數(shù)對應(yīng)于16個條目之一。RID301可指示給定條目屬于哪個讀取VMQ。如下進(jìn)一步所述,在一個實(shí)施例中,具有相同RID的所有轉(zhuǎn)換屬于相同的VMQ,以及所有寫入屬于一個VMQ。Wr指示符303指示轉(zhuǎn)換是否是寫入轉(zhuǎn)換。年齡指示符305指示每個條目相對于另一個條目的年齡。例如,在一個實(shí)施例中,年齡指示符305可以是與MQ64中的16個條目對應(yīng)的4比特指示符。尾部指示符307可以指示條目是否是給定VMQ的尾部,以及在一個實(shí)施例中,尾部指示符307可以是單個比特。狀態(tài)指示符309指示條目的當(dāng)前狀態(tài)。如下更詳細(xì)所述,MQ64的每個條目可以處于6種狀態(tài)之一。因而,在一個實(shí)施例中,狀態(tài)指示符309可以是3比特指示符。地址313可保存轉(zhuǎn)換請求的一定數(shù)目的虛擬地址比特。年齡指示符305可以跟蹤每個條目的年齡,以致如果在MQ64中存在N個條目,那么年齡指示符305包含從O(最年輕的條目)到N-I(最年老的條目)的一系列值。因而,在一個實(shí)施例中,年齡指示符305可以是4比特值。當(dāng)每個條目被鏈接到VMQ中時,該條目的年齡指示符305可被設(shè)定為0,以及所有其它有效條目的年齡指示符305被加I。當(dāng)轉(zhuǎn)換被消除時,比如當(dāng)轉(zhuǎn)換完成時,所有較年老的條目的年齡指示符305被減I。如上所述,具有相同RID的所有條目屬于相同的VMQ,以及所有寫入條目屬于一個VMQ。從而,利用鏈表式結(jié)構(gòu)中的指針,可把特定VMQ中的各個條目鏈接在一起。因而,Ptr311是具有指向給定VMQ內(nèi)的下一個最年老條目的數(shù)值的VMQ指針。如果該條目是VMQ的頭部,那么指針值指向它自己。如果該條目是VMQ的尾部,那么指針值指向該VMQ中的下一個較年老的條目。這種類型的指針機(jī)構(gòu)可被稱為反向指針,因?yàn)橹羔橀_始于尾部并在列表中向前指向下一個最年老的條目,直到到達(dá)頭部為止。每次接收到屬于具有MQ64中的條目的VMQ的轉(zhuǎn)換時,新的轉(zhuǎn)換可被附加到列表的尾部。例如,分配一個條目并保存地址??刂茊卧?0重置先前的尾部條目的尾部指示符307,設(shè)定新條目的尾部指示符307,并使新條目的VMQPtr311值指向先前的尾部條目。當(dāng)從隊(duì)列中除去頭部條目時,控制單元50更新該VMQ中的下一個較年輕條目的指針,并使VMQPtr311指向它自己。S卩,控制單元50把下一個較年輕條目的條目MQID值寫入VMQPtr311中。預(yù)期在備選實(shí)施例中,鏈接VMQPtr311可指向VMQ中的下一個最年輕的條目。因而,在這樣的實(shí)施例中,各個鏈接條目可起始于頭部條目,并且相繼指向下一個最年輕的條目,直到到達(dá)尾部為止。另外,代替尾部指示符,可以使用頭部指示符,以及尾部條目的VMQ指針值可指向它自己。為了舉例說明上面的反向VMQ條目鏈接,圖4A中示出了MQ64的一個例證實(shí)施例。參見圖4A,MQ64包括16個條目。不過,為了簡單起見,這里只示出了該信息的子集。如圖所示,MQ64包括都具有3個條目的3個有效虛擬失敗隊(duì)列。所述3個VMQ由RID值或者Wr指示符識別。更特別地,一個VMQ包括RID為I的3個條目(VMQl),第二個VMQ包括RID為5的條目(VMQ5),以及第三個VMQ包括具有被設(shè)定為邏輯值I的Wr指示符的條目(VMQW)。如圖所示,VMQI的尾部條目位于條目4中,如設(shè)定的尾部指示符所證示。VMQPtr值為14,從而指向VMQI中的下一個最年老的條目。條目14中的VMQPtr值為0,它指向VMQI中且位于條目O中的下一個最年老的條目。條目O中的VMQPtr值為O。這指示條目O是VMQI的頭部(在圖4A中用“H”指示)。類似地,VMQ5的尾部條目位于條目15中,如設(shè)定的尾部指示符所證示。VMQPtr值為9,從而指向VMQI中的下一個最年老的條目。條目9中的VMQPtr值為1,它指向VMQI中并位于條目I中的下一個最年老的條目。條目I中的VMQPtr值為I。這指示條目I是VMQI的頭部。在VMQW中,尾部條目位于條目8中,如設(shè)定的尾部指示符所證示。VMQPtr值為2,從而指向VMQW中的下一個最年老的條目。條目2中的VMQPtr值為5,它指向VMQW中且位于條目5中的下一個最年老的條目。條目5中的VMQPtr值為5。這指示條目5是VMQW的頭部。此外,在每個VMQ內(nèi),尾部條目最年輕(即,具有最小的年齡值),而頭部條目最年老(即,具有最大的年齡值)。在圖4B中,示出了描述圖4A的MQ64的實(shí)施例內(nèi)的3個VMQ的鏈接條目的簡化結(jié)構(gòu)圖。參見圖4B,VMQI在頂部,VMQ5在中間,而VMQW在底部。每個方框代表MQ64中的一個條目,方框內(nèi)的數(shù)目代表?xiàng)l目編號或者M(jìn)QID,以及箭頭編號表示圖4A的VMQPtr311。如上所述和在圖4B中所示,VMQI的尾部是條目4,條目4指向條目14,條目14指向條目0,條目O指向它自己,從而是VMQl的頭部。剩余VMQ(例如,VMQ5和VMQW)是類似地鏈接的,從而不再進(jìn)一步說明。參見圖5,圖中示出了描述MQ64的一個特定實(shí)施例內(nèi)的條目的操作狀態(tài)的狀態(tài)圖。如圖中所示和如上所述,MQ64中的每個條目可處于6種狀態(tài)之一。所述狀態(tài)包括空閑501、分配503、初始505、頁表?xiàng)l目(PTE)預(yù)取509、填充等待511和排隊(duì)507。圖2的控制單元60可以響應(yīng)會改變條目狀態(tài)的條件,更新每個條目中的狀態(tài)指示符,如下進(jìn)一步所述。當(dāng)條目未跟蹤轉(zhuǎn)換時,可以使用空閑狀態(tài)??臻e條目類似如果需要條目那么可被分配的空條目。處于分配狀態(tài)的條目已被分配供控制單元使用,如果接收到轉(zhuǎn)換請求的話。在一個實(shí)施例中,在每個周期,控制單元60可分配MQ64中的一個條目,以接受轉(zhuǎn)換請求(如果將到達(dá)一個轉(zhuǎn)換請求的話)。在一個實(shí)施例中,條目可持續(xù)一個周期停留在分配狀態(tài),以及如果不需要該條目,那么在該周期結(jié)束時,它可恢復(fù)成空閑狀態(tài)。如果在條目處于分配狀態(tài)的時候,轉(zhuǎn)換請求到達(dá),那么該條目會接受所述轉(zhuǎn)換,從而該條目會轉(zhuǎn)變成初始狀態(tài)。在一個實(shí)施例中,每次轉(zhuǎn)換進(jìn)行TLB訪問(不論是初始訪問還是重試)時,都可重新計(jì)算狀態(tài)。取決于TLB訪問的結(jié)果,該條目將轉(zhuǎn)變成4種狀態(tài)之一(例如,空閑、PTE預(yù)取、填充等待或排隊(duì))。在轉(zhuǎn)換請求沿著TLB流水線而行以檢查TLB失敗的時候,條目可持續(xù)多個周期停留在初始狀態(tài)。在一個實(shí)施例中,條目可持續(xù)4個周期停留在初始狀態(tài),以等待命中或失敗指示。取決于TLB訪問的結(jié)果,處于初始狀態(tài)的條目可轉(zhuǎn)變成4種其它狀態(tài)之一。更具體地,如果存在TLB命中并且轉(zhuǎn)換結(jié)束,那么條目轉(zhuǎn)變成空閑狀態(tài)。如果存在TLB失敗并且開始了PTE預(yù)取,那么條目轉(zhuǎn)變成PTE預(yù)取狀態(tài)。如果存在TLB失敗,但是另外的某個條目處于等待預(yù)取相同PTE的PTE預(yù)取狀態(tài),那么該條目轉(zhuǎn)變成填充等待狀態(tài)。如果存在TLB命中,但是轉(zhuǎn)換因諸如排序約束、總線繁忙之類原因而不能完成,那么該條目可以轉(zhuǎn)變成排隊(duì)狀態(tài)。處于PTE預(yù)取狀態(tài)的條目已向內(nèi)存發(fā)送PTE預(yù)取請求,從而等待該請求的轉(zhuǎn)換數(shù)據(jù)。當(dāng)數(shù)據(jù)被返回給TLB時,TLB可用填充通知通報(bào)控制單元60。該條目可被轉(zhuǎn)變成排隊(duì)狀態(tài)。處于排隊(duì)狀態(tài)的條目等待重新進(jìn)行TLB的轉(zhuǎn)換重試訪問的時機(jī)。當(dāng)發(fā)生TLB填充或者存在TLB命中時,該條目準(zhǔn)備好重試,不過如上所述,該條目可能不是將被重試的下一個條目。一旦進(jìn)行了重試并且完成了轉(zhuǎn)換,那么該條目可轉(zhuǎn)變成空閑狀態(tài)。轉(zhuǎn)變成填充等待狀態(tài)的條目在等待TLB失敗之后的TLB填充,不過另一個條目中的另一個轉(zhuǎn)換請求已發(fā)出了對相同PTE的PTE預(yù)取。當(dāng)轉(zhuǎn)換數(shù)據(jù)被返回給TLB時,TLB可用填充通知通報(bào)控制單元60。該條目可被轉(zhuǎn)變成排隊(duì)狀態(tài)。圖6是描述在圖2-圖5中所示的地址轉(zhuǎn)換單元的一個實(shí)施例的操作的流程圖。共同參見圖2-圖6,并從圖6的方框601開始,MQ64中的所有條目處于空閑狀態(tài)。每個總線周期,在接收到轉(zhuǎn)換請求的情況下,控制單元60可把MQ64中的一個條目(由仲裁器52選11擇)轉(zhuǎn)變成分配狀態(tài)(方框603)。如果未接收到Rd或Wr轉(zhuǎn)換請求(方框605),那么在該周期結(jié)束時,控制單元60可使該條目變回空閑狀態(tài)(方框607)。不過,如果接收到轉(zhuǎn)換請求(方框605),那么控制單元60可把該轉(zhuǎn)換保存在分配的條目中(方框609),以及然后把該條目轉(zhuǎn)變成初始狀態(tài)。在該轉(zhuǎn)換進(jìn)入TLB流水線并且指示TLB70中的命中或失敗的時候,該條目可停留在初始狀態(tài)。在任意階段,如果在第一個或者任何先前的轉(zhuǎn)換在MQ64中的時候,接收到了具有相同RID的第二個或后續(xù)讀取轉(zhuǎn)換請求,或者第二個或后續(xù)寫入轉(zhuǎn)換(方框631),那么控制單元60被配置成把第二個或后續(xù)請求保存在MQ64的下一個分配條目中(方框633)。控制單元60隨后寫入條目狀態(tài)信息,以把該條目轉(zhuǎn)變成初始狀態(tài)(方框635),然后通過把先前的尾部條目的MQID寫入新條目的VMQPtr中,把該條目附加到適當(dāng)VMQ的尾部(方框637)??刂茊卧?0還使尾部指示符指示該新條目現(xiàn)在是尾部(方框634)。因而,用虛線表示方框631,以指示這可出現(xiàn)在操作流程中的任何地方。一旦新條目是現(xiàn)有VMQ的一部分,那么操作流程的剩余部分就適用于任何條目。如果存在TLB命中(方框613),并且完成了轉(zhuǎn)換(方框615),那么控制單元60可把該條目轉(zhuǎn)變回空閑狀態(tài)(方框607)。如果該條目不是具有其它條目的VMQ的一部分(方框641),那么如上結(jié)合方框603所述地繼續(xù)進(jìn)行操作。不過,如果條目是具有其它條目的VMQ的一部分(方框641),那么控制單元60可訪問VMQ中的下一個較年輕的條目,以及把該下一個較年輕條目的MQID寫入VMQPtr311中,從而使該條目成為VMQ的頭部(方框643)。如上結(jié)合方框603所述地繼續(xù)進(jìn)行操作。返回參見方框615,如果由于各種原因,比如上面所述的原因,未完成轉(zhuǎn)換,那么控制單元60可把該條目轉(zhuǎn)變成排隊(duì)狀態(tài)(方框617),在排隊(duì)狀態(tài)下,該條目可以等待TBL訪問的重試(方框619)。一旦仲裁器52批準(zhǔn)重試,轉(zhuǎn)換就結(jié)束(方框621),并使該條目恢復(fù)成空閑狀態(tài)(方框607)。在一個實(shí)施例中,當(dāng)處于排隊(duì)狀態(tài)并且準(zhǔn)備好重試對TLB70的轉(zhuǎn)換訪問的頭部條目不止一個時,仲裁器52可利用Age指示符305,判定可以重試哪個條目。更特別地,在一個實(shí)施例中,可以首先重試最年老的就緒條目。如上結(jié)合方框641所述地繼續(xù)進(jìn)行操作。返回參見方框613,如果存在TLB失敗,并且不存在就已進(jìn)行對相同PTE的PTE預(yù)取的轉(zhuǎn)換請求來說的其它條目(方框623),那么發(fā)出PTE預(yù)取,以及控制單元60可把該條目轉(zhuǎn)變成PTE預(yù)取狀態(tài)(方框625),以等待TLB填充,和轉(zhuǎn)換數(shù)據(jù)返回到TLB70(方框627)。當(dāng)轉(zhuǎn)換數(shù)據(jù)到達(dá)TLB70時,控制單元60被告知TLB填充,以及控制單元60可把該條目轉(zhuǎn)變成排隊(duì)狀態(tài)(方框617),以等待TLB的轉(zhuǎn)換訪問的重試(方框619)。當(dāng)該轉(zhuǎn)換完成時(方框621),控制單元60可把該條目轉(zhuǎn)換成空閑狀態(tài)(方框607)。如上結(jié)合方框603所述地繼續(xù)進(jìn)行操作。另一方面,如果存在TLB失敗(方框613),并且另一個條目中的另一個轉(zhuǎn)換請求已進(jìn)行對相同PTE的PTE預(yù)取(方框623),那么控制單元60可把該條目轉(zhuǎn)變成填充等待狀態(tài)(方框629),以等待轉(zhuǎn)換數(shù)據(jù)返回到TLB70(方框627)。當(dāng)轉(zhuǎn)換數(shù)據(jù)到達(dá)TLB70時,控制單元60被告知TLB填充,以及控制單元60可把該條目轉(zhuǎn)變成排隊(duì)狀態(tài)(方框617),以等待TLB的轉(zhuǎn)換訪問的重試(方框619)。當(dāng)該轉(zhuǎn)換完成時(方框621),控制單元60可把該條目轉(zhuǎn)換成空閑狀態(tài)(方框607)。如上結(jié)合方框641所述地繼續(xù)進(jìn)行操作。注意盡管按照特定順序說明和示出了操作流程,不過預(yù)期在其它實(shí)施例中,可根據(jù)需要按照不同的順序進(jìn)行在各個方框中描述的操作。雖然相當(dāng)詳細(xì)地說明了上面的實(shí)施例,不過一旦充分理解上面的公開內(nèi)容,對本領(lǐng)域的技術(shù)人員來說,眾多的變化和修改將變得明顯。以下的權(quán)利要求意圖包含所有這樣的變化和修改。權(quán)利要求1.一種轉(zhuǎn)換單元,包括配置成保存多個地址轉(zhuǎn)換的旁路轉(zhuǎn)換緩沖器(TLB);失敗隊(duì)列,所述失敗隊(duì)列與TLB耦接并被配置成保存在TLB中失敗的接收的地址轉(zhuǎn)換請求,其中失敗隊(duì)列包括多個條目,其中所述多個條目中的至少一些都被分別配置成保存相應(yīng)地址轉(zhuǎn)換請求和對應(yīng)標(biāo)識符,其中給定條目的對應(yīng)標(biāo)識符識別失敗隊(duì)列中的保存另一個相應(yīng)地址轉(zhuǎn)換請求的另一個條目,所述另一個相應(yīng)地址轉(zhuǎn)換請求具有與給定條目中的所述相應(yīng)地址轉(zhuǎn)換請求的處理排序約束相同的處理排序約束;和控制單元,所述控制單元與失敗隊(duì)列耦接并被配置成處理接收的地址轉(zhuǎn)換請求,其中控制單元被配置成按照取決于每個相應(yīng)地址轉(zhuǎn)換請求的標(biāo)識符的順序,處理每個相應(yīng)地址轉(zhuǎn)換請求。2.按照權(quán)利要求I所述的轉(zhuǎn)換單元,其中相應(yīng)地址轉(zhuǎn)換請求中的具有相同處理排序約束的一個或多個地址轉(zhuǎn)換請求屬于一個虛擬失敗隊(duì)列(VMQ)。3.按照權(quán)利要求2所述的轉(zhuǎn)換單元,其中每個VMQ始于最年輕的相應(yīng)地址轉(zhuǎn)換請求,且止于最年老的相應(yīng)地址轉(zhuǎn)換請求。4.按照權(quán)利要求2所述的轉(zhuǎn)換單元,其中每個相應(yīng)地址轉(zhuǎn)換請求通過標(biāo)識符被鏈接到相同VMQ中的下一個較年老的相應(yīng)地址轉(zhuǎn)換。5.按照權(quán)利要求2所述的轉(zhuǎn)換單元,其中與給定VMQ的最年輕的相應(yīng)地址轉(zhuǎn)換請求相關(guān)的條目進(jìn)一步包括尾部標(biāo)識符。6.按照權(quán)利要求2所述的轉(zhuǎn)換單元,其中給定VMQ的最年老的相應(yīng)地址轉(zhuǎn)換請求的標(biāo)識符識別失敗隊(duì)列中保存所述給定VMQ的最年老的相應(yīng)地址轉(zhuǎn)換請求的條目。7.按照權(quán)利要求2所述的轉(zhuǎn)換單元,其中控制單元被配置成使每個VMQ中的每個轉(zhuǎn)換請求保持多種狀態(tài)之一,其中響應(yīng)接收到對應(yīng)于給定轉(zhuǎn)換請求的地址轉(zhuǎn)換已被保存在TLB中的通知,控制單元被進(jìn)一步配置成使所述給定轉(zhuǎn)換請求轉(zhuǎn)變成排隊(duì)狀態(tài)。8.按照權(quán)利要求7所述的轉(zhuǎn)換單元,進(jìn)一步包括仲裁器,所述仲裁器耦接到失敗隊(duì)列并被配置成每個周期選擇重試處于排隊(duì)狀態(tài)的所有轉(zhuǎn)換請求中的最年老的轉(zhuǎn)換請求。9.按照權(quán)利要求I所述的轉(zhuǎn)換單元,其中每個條目進(jìn)一步包括年齡指示符,所述年齡指示符指示失敗隊(duì)列中的每個條目相對于保存有效的相應(yīng)地址轉(zhuǎn)換請求的每個另一個條目的年齡。10.按照權(quán)利要求9所述的轉(zhuǎn)換單元,進(jìn)一步包括仲裁器,所述仲裁器耦接到失敗隊(duì)列并被配置成響應(yīng)接收到對應(yīng)于特定的相應(yīng)地址轉(zhuǎn)換請求的地址轉(zhuǎn)換已被保存在TLB中的通知,選擇重試所述特定的相應(yīng)地址轉(zhuǎn)換請求。11.按照權(quán)利要求10所述的轉(zhuǎn)換單元,其中仲裁器被配置成根據(jù)多個相應(yīng)地址轉(zhuǎn)換請求中的每個地址轉(zhuǎn)換請求的年齡指示符,在其對應(yīng)的地址轉(zhuǎn)換已被保存在TLB中的多個相應(yīng)地址轉(zhuǎn)換請求中進(jìn)行選擇。12.—種系統(tǒng),包括一個或多個設(shè)備;按照前述權(quán)利要求1-11任意之一所述的轉(zhuǎn)換單元。13.—種方法,包括旁路轉(zhuǎn)換緩沖器(TLB)保存多個地址轉(zhuǎn)換;2失敗隊(duì)列保存在TLB中失敗的接收的地址轉(zhuǎn)換請求,其中失敗隊(duì)列包括多個條目,其中所述多個條目中的至少一些保存相應(yīng)地址轉(zhuǎn)換請求和對應(yīng)標(biāo)識符,其中給定條目的對應(yīng)標(biāo)識符識別失敗隊(duì)列中的保存另一個相應(yīng)地址轉(zhuǎn)換請求的另一個條目,所述另一個相應(yīng)地址轉(zhuǎn)換請求具有與給定條目中的所述相應(yīng)地址轉(zhuǎn)換請求的處理排序約束相同的處理排序約束;和控制單元按照取決于每個相應(yīng)地址轉(zhuǎn)換請求的標(biāo)識符的順序,處理每個相應(yīng)地址轉(zhuǎn)換請求。14.按照權(quán)利要求13所述的方法,其中相應(yīng)地址轉(zhuǎn)換請求中的具有相同處理排序約束的一個或多個地址轉(zhuǎn)換請求屬于一個虛擬失敗隊(duì)列(VMQ)。15.按照權(quán)利要求14所述的方法,進(jìn)一步包括通過使新的相應(yīng)地址轉(zhuǎn)換請求的標(biāo)識符識別最年輕的相應(yīng)地址轉(zhuǎn)換請求,并使新的相應(yīng)地址轉(zhuǎn)換請求的第二標(biāo)識符把新的相應(yīng)地址轉(zhuǎn)換請求識別成新的最年輕的轉(zhuǎn)換請求,在每個VMQ內(nèi),把新的相應(yīng)地址轉(zhuǎn)換請求附加到最年輕的相應(yīng)地址轉(zhuǎn)換請求上。16.按照權(quán)利要求13所述的方法,進(jìn)一步包括保持指示失敗隊(duì)列中的每個條目相對于失敗隊(duì)列中的每個其它條目的年齡的指示符。17.按照權(quán)利要求16所述的方法,進(jìn)一步包括每個周期選擇重試處于就緒狀態(tài)的所有相應(yīng)地址轉(zhuǎn)換請求中的最年老的相應(yīng)地址轉(zhuǎn)換請求。全文摘要本發(fā)明涉及具有多個虛擬隊(duì)列的地址轉(zhuǎn)換單元。地址轉(zhuǎn)換單元包括旁路轉(zhuǎn)換緩沖器(TLB)、失敗隊(duì)列和控制單元。TLB可保存多個地址轉(zhuǎn)換。失敗隊(duì)列可保存在TLB中失敗的接收的地址轉(zhuǎn)換請求。失敗隊(duì)列包括多個條目。至少一些條目可都保存相應(yīng)地址轉(zhuǎn)換請求和對應(yīng)標(biāo)識符。給定條目的對應(yīng)標(biāo)識符識別失敗隊(duì)列中的保存另一個相應(yīng)地址轉(zhuǎn)換請求的另一個條目,所述另一個相應(yīng)地址轉(zhuǎn)換請求具有與給定條目中的相應(yīng)地址轉(zhuǎn)換請求的處理排序約束相同的處理排序約束。借助標(biāo)識符鏈接在一起的具有相同排序約束的地址轉(zhuǎn)換屬于相同的虛擬失敗隊(duì)列。控制單元可按照取決于標(biāo)識符的順序,處理接收的地址轉(zhuǎn)換請求。文檔編號G06F12/10GK102597971SQ201080048981公開日2012年7月18日申請日期2010年10月29日優(yōu)先權(quán)日2009年10月29日發(fā)明者J·A·小培托里諾申請人:蘋果公司