新四季網

包含可配置的轉換旁視緩衝器的微處理器的製作方法

2023-05-18 00:55:21


專利名稱::包含可配置的轉換旁視緩衝器的微處理器的製作方法
技術領域:
:本發明是有關微處理器,且詳言之,是有關用來儲存地址轉換的轉換旁視緩衝器(transiationlookasidebuffer)。
背景技術:
:許多現代的微處理器支持一種被稱為"頁面(paging)"的虛擬內存形式。頁面可讓系統軟體為每一程序或應用程式產生個別的地址空間。頁面將處理器產生的地址信號的數目所界定的物理地址空間分成固定大小的被稱為頁面(page)的連續內存區塊。如果激活(enable)了頁面,則"虛擬"地址被轉換或"映像"為物理地址。用來執行虛擬到物理地址轉換的各種機構存在於不同的處理器架構。例如,在以x86架構實施的處理器中,當頁面被激活時,該處理器內之頁面機構將虛擬或"線性"地址轉換為物理地址。如果被存取的頁面並非位於系統內存內,則頁面支持構件(pagingsupportconstruct)(例如,作業系統軟體)將該被存取的頁面自輔助(secondary)內存(例如,磁碟驅動器)加載至系統內存。在某些x86處理器中,是將系統內存內儲存的一組階層式轉換表或"頁面表"用來儲存頁面機構執行虛擬到物理地址轉換所需的信息。因為對系統內存的存取需要較長的時間,所以地址轉換可能是處理延遲時間(latency)的來源。為了減少自頁面表擷取信息的必須的系統內存存取的次數,通常將被稱為轉換旁視緩衝器(TLB)的小容量高速緩存系統用來儲存最近所使用的地址轉換。通常是基於頁面(例如,4千字節、2兆字節等的容量)而提供轉換,且TLB可儲存虛擬地址的頁面部分及對應的物理地址的頁面部分。然後可在TLB中搜尋被發出的虛擬地址。如果找到了,則然後可將對應於該被發出的虛擬地址的物理地址用來存取系統內存。由於存取TLB中的地址轉換所需的時間較短,可提高整體處理器效能,這是因為經常在易於存取的TLB中找到所需的地址轉換。雖然TLB提供了很多優點,但仍然可能還有缺點。例如,諸如在超純量(superscalar)處理器的一些處理器微架構可能包含多個管線(pipeline)。為了自此種設計得到高效能,希望可對較大容量的TLB結構進行低延遲時間的存取。為了將低延遲時間提供給多個管線,一些傳統的TLB結構可能包含數個大容量的多埠(multiported)結構。此外,可能支持多個頁面大小,且每一TLB結構可支持不同的頁面大小。或者,極大容量的完全關係型(Mlyassociative)TLB結構可支持多個頁面大小。然而,此種傳統的TLB設計可能不只是佔用集成電路上相當大的面積並具有較長的存取時間,而且可能也耗用了不能接受的電量。
發明內容本發明揭示了一種可動態配置的轉換旁視緩衝器的各種實施例。在一實施例中,轉換旁視緩衝器可包含耦合到第一儲存單元及第二儲存單元的控制功能。該第一儲存單元包含第一多個條目,用以儲存對應於諸如4千字節(KB)、2兆字節(MB)、及10億字節(1GB)頁面的多個頁面大小的地址轉換。該第二儲存單元包含第二多個條目,用以儲存對應於該多個頁面大小的地址轉換。該控制功能可響應接收到與第一頁面大小相關聯的第一地址轉換,而分配該第一多個條目以儲存對應於該第一頁面大小的地址轉換。此外,該控制功能可響應接收到包含與該第一儲存單元內儲存的地址轉換相符的地址的要求,而將相符的地址轉換自該第一儲存單元複製到該第二儲存單元。在一特定實施例中,該控制功能可響應接收到與第二頁面大小相關聯的後續地址轉換,而分配該第一多個條目中的部分以儲存對應於該第二頁面大小的地址轉換。在另一特定實施例中,該控制功能可響應接收到與第三頁面大小相關聯的另外的地址轉換,而分配該第一多個條目中的第二部分以儲存對應於該第三頁面大小的地址轉換。圖1為微處理器的一實施例的方塊圖。圖2為轉換旁視緩衝器的一實施例的方塊圖。圖3為描述圖2所示的轉換旁視緩衝器的一實施例的操作的流程圖。圖4為包含圖1所示的微處理器的計算機系統的一實施例的方塊圖。雖然易於對本發明作出各種修改及替代形式,但是將以圖式舉例的方式示出本發明的一些特定實施例,且本說明書已詳細說明了這些特定實施例。然而,應了解,本發明的該等圖式及詳細說明之用意並非將本發明限於所揭示的特定形式,相反地,本發明將涵蓋在附加的權利要求書所界定的本發明精神及範圍內的所有修改、等效物、及替代方式。請注意,本說明書所用的標題只是為了組織上的目的,並非用來限制或詮釋說明或權利要求書。此外,請注意,在本說明書全文的用法中,措詞"可能(may)"是一種容許性的用法(亦即,其意義具有可能性),而不是一種強制性的用法(亦即,其意義為必須)。術語"包括(include)"及其衍生語意指"包括但不限於(including,butnotlimitedto)"。術語"被連接(connected)"意指"直接地或間接地被連接",且術語"被耦合(coupled)"意指"直接地或間接地被耦合"。具體實施例方式現在請參閱圖1,圖中示出例示微處理器(100)的一實施例的方塊圖。微處理器(100)是配置成執行系統內存(圖1中並未示出)中儲存的指令。許多這些指令可對也被儲存在該系統內存中的數據執行操作。請注意,該系統內存可在實體上被分布遍布在計算機系統中,且可例如被諸如微處理器(100)等的一個或多個微處理器存取。在一實施例中,微處理器(100)是諸如AthlonTM處理器的實施x86架構的微處理器的範例。然而,亦可考慮釆用包含其它類型的微處理器的其它實施例。在所示實施例中,微處理器(100)包含高速緩存系統,其包含第一Ll(第一階(levelone》高速緩存及第二Ll高速緩存,亦即,指令高速緩存(101A)及數據高速緩存(101B)。視實施方式而定,該Ll高速緩存可以是統一式(unified)高速緩存或分支式(bifurcated)高速緩存。不論是哪一種情形,為了簡化,於適當的時機可將指令高速緩存(101A)及數據高速緩存(101B)共同地稱為Ll高速緩存(101)。微處理器(100)亦包含可被緊密地耦合到指令高速緩存(101A)的預先解碼單元(102)及分支預測邏輯(103)。微處理器(100)也包含被耦合到指令高速緩存(101A)的指令解碼器(104)。指令控制單元(106)可被耦合而自指令解碼器(104)接收指令,並將操作(operation)派發到排程器(118)。排程器(118)被耦合而自指令控制單元(106)接收被派發的操作,並將操作發出到執行單元(124)。執行單元(124)包含可配置成執行對數據高速緩存(101B)的存取的加載/儲存單元(126)。可將執行單元(124)產生的結果用來作為操作數(operand)值,以供後續被發出的指令使用及(或)被儲存到緩存器文件(圖中未示出)。此外,微處理器(100)包含被耦合於指令高速緩存(101A)、數據高速緩存(101B)、與系統內存之間的晶片內建(on-chip)L2(第二階)高速緩存(130)。請注意,亦可考慮採用設於晶片之外(off-chip)的L2高速緩存(130)的替代實施例。指令高速緩存(101A)可在執行之前儲存指令。可與指令高速緩存(IOIA)相關聯的功能可以是指令提取(讀取)、指令預先提取、指令預先解碼、以及分支預測。可以經由緩衝接口單元(140)自該系統內存預先提取指令碼,或自L2高速緩存(130)預先提取指令碼,而將指令碼提供給指令高速緩存(101A)。可以各種配置方式(例如,集合關係型、完全關係型、或直接對映式)實施指令高速緩存(101A)。在一實施例中,指令高速緩存(101A)可配置成儲存多個高速緩存線,其中指令高速緩存(101A)的特定高速緩存線內的字節數目是與實施方式有關的(implementationspecific)。此外,在一實施例中,可以靜態隨機存取內存(SRAM)實施指令高速緩存(101A),但是亦可考慮採用可包含其它類型的內存的其它實施例。請注意,在一實施例中,指令高速緩存(101A)可包含用來控制諸如高速緩存線填充、取代、及一致性之控制電路(圖中未示出)。指令解碼器(104)可配置成將指令解碼為操作,其中可將指令直接解碼,或使用一般被稱為微碼只讀內存(MicrocodeROM;簡稱MROM)(圖中未示出)的晶片內建只讀內存內儲存的操作將指令間接解碼。指令解碼器(104)可將某些指令解碼為可在執行單元(124)內執行的操作。簡單的指令可對應於單一操作。在一些實施例中,更複雜的指令可對應於多個操作。指令控制單元(106)可控制將操作派發到執行單元(124)。在一實施例中,指令控制單元(106)可包含重新排序緩衝器(reorderbuffer,圖中未示出),用以存放(hold)自指令解碼器(104)接收的操作。此外,指令控制單元(106)可配置成控制操作的退休(retirement)。在指令控制單元(106)的輸出端上提供的操作及立即數據(immediatedata)可被傳送到排程器(118)。排程器(118)可包含一個或多個排程器單元(例如,整數排程器單元及浮點排程器單元)。請注意,在本文的用法中,排程器是一種偵測何時操作己準備好執行並將準備好的操作發出到一個或多個執行單元的裝置。例如,指令保留區(reservationstation)可以是排程器。每一排程器(118)可存放等候被發出到執行單元(124)的數個待執行的操作的操作信息(例如,經位編碼的執行位、以及操作數值、操作數標記、及(或)立即數據)。在一些實施例中,每一排程器(118)可能不提供對操作數值的儲存。反而,每一排程器(118)可監視被發出的操作及緩存器文件中可取得的結果,以便決定執行單元(124)何時可讀取操作數值。在一些實施例中,可使每排程器(118)與其中一個專用的執行單元(124灘關聯。在其它的實施例中,單一的排程器(118)可將操作發出到一個以上的執行單元(124)。在一實施例中,執行單元(124)可包含諸如整數執行單元等的執行單元。然而,在其它的實施例中,微處理器(100)可能是超純量處理器,在此種情形中,執行單元(124)可包含配置成執行加法及減法的整數算術運算、以及移位(shift)、旋轉、邏輯運算、及分支操作的多個執行單元(例如,多個整數執行單元(圖中未示出))。此外,亦可包含一個或多個浮點單元(圖中未示出),以便提供浮點運算。一個或多個執行單元(例如,地址產生單元(AddressGenerationUnit;簡稱AGU)可配置成為將要由加載/儲存單元(126)執行的加載及儲存操作執行地址產生。可將加載/儲存單元(126)配置成提供執行單元(124)與數據高速緩存(101B)間之接口。在一實施例中,可將加載/儲存單元(126)配置成具有加載/儲存緩衝器(圖中未示出),該加載/儲存緩衝器設有用於待處理的加載或儲存的數據及地址信息之數個儲存位置。加載/儲存單元(126)亦可執行較舊的加載指令與較新的儲存指令間之相依性檢查(dependencychecking),以便確保能夠保持數據一致性。數據高速緩存(101B)是一種被提供來儲存在加載/儲存單元(126)與該系統內存之間傳送的數據之高速緩存。與前文所述的指令高速緩存(101A)類似,可以其中包括集合關係型的各種特定內存組態實施數據高速緩存(101B)。在一實施例中,系將數據高速緩存(101B)及指令高速緩存(101A)實施為獨立的高速緩存單元。但是如前文所述,亦可考慮採用將數據高速緩存(101B)及指令高速緩存(101A)實施為統一式高速緩存的替代實施例。在一實施例中,數據高速緩存(101B)可儲存多個高速緩存線,其中數據高速緩存(101B)的特定高速緩存線內的字節數目是與實施例有關的。在一實施例中,可以靜態隨機存取內存(SRAM)實施數據高速緩存(101B),但是亦可考慮採用可包含其它類型的內存的其它實施例。請注意,在一實施例中,數據高速緩存(101B)可包含用來控制諸如高速緩存線填充、取代、及一致性的控制電路(圖中未示出)。L2高速緩存(130)也是高速緩存,且其可配置成儲存指令及(或)數據。在所示實施例中,L2高速緩存(130)是晶片內建高速緩存,且可將L2高速緩存(130)配置為完全關係型、或集合關係型、或以上兩者的組合。在一實施例中,L2高速緩存(130)可儲存多個高速緩存線,其中L2高速緩存(130)的特定高速緩存線內的字節數目是與實施例有關的。請注意,L2高速緩存(130)可包含用來安排要求的時程、控制諸如高速緩存線填充、取代、及一致性的控制電路(圖中未示出)。可將總線接口單元(140)配置成轉移系統內存與L2高速緩存(130)之間的指令及數據、以及系統內存與Ll指令高速緩存(101A)及Ll數據高速緩存(101B)之間的指令及數據。在一實施例中,總線接口單元(140)可包含用來緩衝在寫入周期流線化期間的寫入交易的緩衝器(圖中未示出)。在採用x86處理器架構的微處理器(100)的一特定實施例中,可實體尋址到指令高速緩存(101A)及數據高速緩存(101B)。如前文所述,可選擇地將虛擬地址轉換為物理地址,以供存取系統內存。x86地址轉換機構的頁面部分指定虛擬到物理地址轉換。可將物理地址與物理標記比較,以便決定命中/未命中狀態。為了減少與地址轉換相關聯的延遲時間,可將地址轉換儲存在諸如TLB(107A)及TLB(107B)等的轉換旁視緩衝器CTLB)內。在所示實施例中,TLB(107A)被耦合到指令高速緩存(101A),以便儲存與指令高速緩存(101A)相關聯的最近被使用的虛擬到物理地址轉換。同樣地,TLB(107B)被耦合到數據高速緩存(101B),以便儲存與數據高速緩存(101B)相關聯的最近被使用的虛擬到物理地址轉換。請注意,雖然圖中是將TLB(107A)與(107B)示為個別的TLB結構,但是在其它的實施例中,亦可將這些TLB實施為單一的TLB結構(107)。如將於下文中配合對圖2及圖3的解說而更詳細說明的,在一實施例中,TLB結構(107)可採用兩個可獨立配置的儲存單元,用以儲存不同頁面大小的轉換。TLB(107)亦可包含控制功能(圖1中並未示出),該控制功能可根據其接收的轉換的頁面大小,而分配第一儲存單元中的條目。此外,該控制功能可響應接收到其中包括符合或"命中(hiton)"該第一儲存單元內儲存的地址轉換但"未命中(misson)"第二儲存單元中儲存的地址轉換的地址的操作(諸如讀取操作),而將特定的地址轉換自該第一儲存單元複製到該第二儲存單元。此外,當TLB(107)接收到兩個或更多個操作時,TLB結構(107)可允許較舊的操作存取兩個儲存單元,而將優先權(preference)提供給該較I日的操作。請參閱圖2,圖中示出TLB結構的一實施例的方塊圖。TLB(107)包含控制功能(215),該控制功能(215)被耦合到儲存單元(205)及儲存單元(210)。控制功能(215)被耦合而自處理器(100)的核心邏輯接收諸如其中包括虛擬地址的指令或數據提取要求的操作。請注意,可將一些地址位儲存為儲存單元(205)及(210)內的標記位。在所示實施例中,儲存單元(205)是可配置的儲存單元,包含被標示為0至n-l的一些條目。可將儲存單元(205)分成一些以虛線表示的可獨立存取的扇區。在一實施例中,可將儲存單元(205)分成被標示為扇區'a'至扇區'd'的四個不同的扇區,但是在其它的實施例中,可將儲存單元(205)分成任何數目的扇區。可視需要而分配該等扇區,以便儲存對應於不同頁面大小的地址轉換。在一實施例中,儲存條目可包含虛擬地址、物理地址、以及轉換的對應頁面大小之全部或一部分。例如,在一特定實施例中,處理器(100)的頁面轉換機構可支持4千字節、2兆字節、及10億字節的頁面大小。然而,亦可考慮採用可支持其它頁面大小的其它實施例。在一實施例中,控制功能(215)可將儲存單元(205)動態地配置成各種儲存組態,以便根據頁面存取模式而同時支持不同的頁面大小。在所示實施例中,可將儲存單元(205)配置成一個大容量的儲存單元、兩個較小容量的儲存單元、或三個較小容量的儲存單元。更具體而言,可初始化(initialize)儲存單元(205),使所有四個扇區以及儲存單元(205)內的所有條目可被分配,以便儲存與頁面大小相關聯的轉換。控制功能(215)可將與第一被接收的操作(亦即,第一地址轉換)相關聯的頁面大小(例如,4千字節(KB))用來決定儲存單元(205)的所有條目之頁面大小分配。控制功能(215)在接收到包含不同的頁面大小(例如,2兆字節(MB))的後續地址轉換時,可通過停止分配一些扇區,並重新分配這些扇區,以便儲存具有新頁面大小的轉換,而動態地重新配置儲存單元(205)。同樣地,當接收到包含第三不同的頁面大小(例如,10億字節(1GB))的另一轉換操作時,控制功能(215)可通過停止分配一些扇區,並重新分配這些扇區,以便儲存具有該第三頁面大小的轉換,而再度動態地重新配置儲存單元(205)。請注意,在一實施例中,於任何特定時間,儲存單元(205)的特定扇區只能儲存與頁面大小相關聯的轉換。在一特定實施例中,可使用具有256條目的二路(two-way)集合關係型內存模塊實施儲存單元(205)的每一扇區。每一模塊可對應於隨機存取內存(RandomAccessMemory;簡稱RAM)陣列。因此,可將儲存單元(205)的每一扇區視為256條目的內存組(bank)(例如,b0至b3)。可將內存組b0及bl、以及內存組b2及b3合併成兩個如同在四路集合關係型儲存單元情形中之512條目的超級內存組(例如,BO及Bl)。因此,如將於下文中以各種組態進一歩說明的,可將儲存單元(205)實施為具有兩個512條目的超級內存組的四路集合關係型儲存單元、或具有四個256條目的內存組的二路集合關係型儲存單元。請注意,在其它的實施例中,可使用不同大小的內存模塊實施儲存單元(205)的每一扇區。更具體而言,在第一組態中,可將儲存單元(205)配置成儲存頁面大小的轉換。在該組態中,可將儲存單元(205)視為具有兩個512條目的超級內存組的四路集合關係型儲存單元、或具有四個256條目的內存組的二路集合關係型儲存單元。在另一組態中,可將儲存單元(205)配置成儲存兩個不同頁面大小的轉換。在該組態中,仍然可將儲存單元(205)視為具有兩個512條目的超級內存組的四路集合關係型儲存單元、或具有四個256條目的內存組的二路集合關係型儲存單元。例如,如果4千字節(KB)頁面的存取之後接續有2兆字節(MB)頁面的存取,則可將儲存單元(205)配置成任一種方式。在又另一組態中,可將儲存單元(205)配置成儲存三個不同頁面大小的轉換。在該組態中,仍然可將儲存單元(205)視為四路集合關係型儲存單元、或二路集合關係型儲存單元。使用四路集合關係型組態時,可將該等內存組分配如下可將一個512條目的超級內存組用來儲存4千字節的轉換,將一個256條目的內存組用來儲存2兆字節的轉換,並將一個256條目的內存組用來儲存10億字節的轉換。使用二路集合關係型組態時,可將該等內存組分配如下可將兩個256條目的內存組用來儲存4千字節的轉換,將一個256條目的內存組用來儲存2兆字節的轉換,並將一個256條目的內存組用來儲存10億字節的轉換。下面的表1中示出儲存單元(205)的各種例示組態及內存組分配。表1的第一列示出各種頁面存取模式,且第二、三、及四列(colimm)示出該等不同存取模式的內存組分配。例如,第1行(rmv)中的第一條目是4K,用以代表4千字節的頁面存取。因此,在第1行的第2列中,所有的內存組被分配給4千字節的頁面。同樣地,第一行的第一列的第二條目是4K2M,用以代表4千字節的存取之後接續2兆字節的存取。因此,在第1行的第三列中,內存組b0及bl被分配給4千字節的頁面,且內存組b2及b3被分配給2兆字節的頁面。第-一行的第一列的第三條目是4K2B1G,用以代表4千字節的存取之後接續2兆字節的存取再接續IO億字節的存取。因此,在第l行的第四列中,內存組b0及bl被分配給4千字節的頁面,內存組b2被分配給2兆字節的頁面,且內存組b3被分配給10億字節的頁面。以類似的方式分配其餘的行及列。表.儲存單元(205)的例示內存組分配tableseeoriginaldocumentpage13表1也示出如何根據所使用的路(way)的數目而減少需要被激活的(enabled)(亦即,被啟用的(fired))內存模塊的數目,因而節省電力。如第8及9行所示,使用二路集合關聯時,可減少TLB結構(107)所耗用的電力。更具體而言,與一些高速緩存結構存取類似,可將一些所接收的轉換地址位用來比對TLB結構(107)中儲存的轉換。因此,在一實施例中,可以只激活與地址的一部分相符的內存模塊。在一實施例中,模塊的激活或啟用可包括容許該等地址位傳播到RAM陣列。在所示實施例中,儲存單元(210)也是包含被標示為0至n-l的一些條目的可配置的儲存單元。在一實施例中,可配置儲存單元(210),使每一條目可儲存不同頁面大小的轉換。在一特定實施例中,可將儲存單元(210)實施為16條目的完全關係型儲存單元,其中任何條目可儲存以單一RAM單元實施的任何地址。當大容量頁面的轉換被儲存在條目中時,可使任何重疊的頁面轉換無效。視特定實施例而定,控制功能(215)可自微處理器(100)的核心邏輯接收任何數目的操作,每一操作包含相關聯的虛擬地址。在微處理器(100)的一些實施例中,可以不按照程序順序執行各指令,且可將一些指令重新排程,因而在超純量設計中,一些操作可能比其它的操作舊。此外,兩個或更多個操作可能大致同時到達。在使較舊的操作通過管線的工作中,控制功能(215)可通過將該等較舊的操作傳送到儲存單元(205)及儲存單元(210),因而將優先權提供給該等較舊的操作,而在大部分的情形中,可將較新的操作只傳送到儲存單元(210)。因此,可根據操作的新舊而安排該等操作進入TLB(107)的時禾呈。在一實施例中,如果較舊的操作符合或命中儲存單元(205)或儲存單元(210),則控制功能(215)被耦合而提供對應的轉換。如果較新的操作命中儲存單元(210),則在一實施例中,控制功能(215)可使轉換直接自儲存單元(210)提供。然而,如果較新的操作及較舊的操作正在要求對相同頁面的轉換,則在一實施例中,雖然較新的操作可存取儲存單元(205),但是為了效能,控制功能(215)可自儲存單元(205)提供較舊的操作所存取的地址轉換。如前文所述,當控制功能(215)接收到命中儲存單元(205)但未命中儲存單元(210)的操作時,在一實施例中,可將儲存單元(205)中之地址轉換複製到或寫到儲存單元(210)的條目。如果儲存單元(210)內並無可使用的條目,則可根據最近最少使用(LeastRecentlyUsed;簡稱LRU)算法,而使儲存單元(210)內已儲存的轉換無效或覆寫該轉換。然而,如果該操作未命中儲存單元(205),則頁面轉換機構可以前文所述的方式轉換虛擬地址,且可將該轉換寫到儲存單元(205),作為TLB重新加載(rdoad)。如果該TLB重新加載將與TLB結構(107)的讀取操作衝突,則在一實施例中,可將該TLB重新加載的轉換暫時性地儲存在控制功能(215)內的寫入緩衝器(圖中未示出),且然後在下一個可使用的機會中(但在下一個TLB重新加載之前)將該轉換寫到儲存單元(205)。在各種實施例中,控制功能(215)可配置儲存單元(205)以便以可程序的方式儲存各種頁面大小。例如,在一實施例中,組態功能可依據組態緩存器(圖中未示出)中儲存的值來決定各種組態。該等組態緩存器在實體上可位於微處理器內的任何位置。在一實施例中,諸如在作業系統的程控下,經由作業系統或經由軟體而可程序化該等組態緩存器。在另一實施例中,在開機(boot-up)期間,經由自基本輸入/輸出系統(BIOS)執行的軟體而可程序化該等組態緩存器。圖3為描述圖2所示轉換旁視緩衝器結構的一實施例的操作的流程圖。請整體地參閱圖1至圖3,在步驟(300)中,控制功能(215)初始化(initialize)儲存單元(205)的所有條目,以便儲存與相同頁面大小相關聯的轉換。在步驟(305)中,控制功能(215)接收其中包含虛擬地址的頁面存取操作。在歩驟(310)中,如果有一個以上的操作,則控制功能(215)大致同時地存取儲存單元(205)及儲存單元(210),以便尋找與較舊的t喿作相符的轉換,並存取儲存單元(205),以便尋找與較新的操作相符的轉換。如果只有一個操作,則控制功能(215)將該操作視為較舊的操作,並大致同時地存取儲存單元(205)及儲存單元(210),以便尋找相符的轉換。在步驟(315)中,如果命中了儲存單元(210),則控制功能(215)在步驟(320)中自儲存單元(210)提供對應的地址轉換,並完成該操作。然而,如果在步驟(315)中未命中儲存單元(210),且在步驟(325)中命中了儲存單元(205),則控制功能(215)在步驟(330)中將對應的地址轉換自儲存單元(205)複製到儲存單元(210)。控制功能(215)亦可在步驟(320)中自儲存單元(210)提供對應的地址轉換,並完成該操作。請再參閱步驟(325),如果未命中儲存單元(205),則控制功能(215)可在步驟(335)中引起TLB重新加載,使頁面轉換機構轉換與該操作相關聯的虛擬地址。一旦完成了該轉換之後,控制功能(215)在步驟(340)中決定被轉回的地址轉換的頁面大小是否為與儲存單元(205)中的任何現有頁面大小分配不同的大小。如果該地址轉換的頁面大小不是不同的,則控制功能(215)在步驟(345)中將該轉換儲存在儲存單元(205)及儲存單元(210)中。然而,如果在步驟(340)中該頁面大小與儲存單元(205)中的任何現有的頁面大小分配不同,則控制功能(215)在歩驟(350)中重新分配儲存單元(205)或重新配置儲存單元(205),以便儲存不同頁面大小的地址轉換。例如,如果該頁面大小是2兆字節,且系完全針對4千字節的頁面而配置儲存單元(205),則控制功能(215)可以前文所述的方式重新配置儲存單元(205)。以前文在步驟(345)中所述的方式繼續進行操作。可由LRU算法決定儲存單元(2]0)中被使用的條目。請再參閱歩驟(310),如果有一個以上的被接收操作,則控制功能(215)在歩驟(355)中存取儲存單元(210),以便尋找與較新的操作相符的轉換。如果命中了儲存單元(210),則控制功能(215)在步驟(365)中自儲存單元(210)提供對應的地址轉換,並完成該操作。然而,如果在步驟(360)中未命中儲存單元(210),則控制功能(215)在步驟(370)中檢查以確定較新的操作及較舊的操作是否具有相同的地址。如果該等地址是不同的,則控制功能(215)可引起操作被重新排程。然而,如果在歩驟(370)中決定該等地址是相同的,則控制功能(215)在步驟(380)中自儲存單元(205)提供轉換,並在歩驟(320)中完成該操作。請參閱圖4,圖中示出計算機系統(400)的一實施例的方塊圖。為了清晰及簡化,是以相同的代號標示與圖1及圖2中示出的組件對應的組件。計算機系統(400)包含微處理器(100),該微處理器(100)是經由內存總線(415)而被耦合到系統內存(410)。微處理器(100)進一歩經由系統總線(425)而被耦合到I/O節點(420)。1/0節點(420)經由圖形總線(435)而被耦合到圖形配接器(430)。I/O節點(420)也經由周邊總線(445)而被耦合到周邊裝置(440)。在所示實施例中,微處理器(100)是經由內存總線(415)而被直接耦合到系統內存(410)。為了控制對系統內存(410)的存取,微處理器(IOO)可在諸如圖1所示的總線接口單元(140)內包含內存控制器(圖中未示出)。然而,請注意,在其它的實施例中,系統內存(410)可經由I/O節點(420)而被耦合到微處理器(100)。在此種實施例中,I/O節點(420)可包含內存控制器(圖中未示出)。此外,在一實施例中,微處理器(IOO)包含一個或多個諸如圖2所示的TLB(107)的TLB結構。系統內存(410)可包含任何適用的內存裝置。例如,在一實施例中,系統內存可包含動態隨機存取內存(DynamicRandomAccessMemory;簡稱DRAM)裝置系列中的一個或多個內存組的內存裝置。但是亦可考慮採用可包含其它的內存裝置及組態的其它實施例。在所示實施例中,I/O節點(420)被耦合到圖形(graphics)總線(435)、周邊裝置(440)、及系統總線(425)。因此,I/O節點(420)可包含各種總線接口邏輯(圖中未示出),而此種總線接口邏輯可包含緩衝器、以及用來管理各總線間的交易流動的控制邏輯。在一實施例中,系統總線(425)可以是與HyperTransport技術兼容的基於封包的互連總線。在此種實施例中,可將I/O節點(420)配置成處理封包交易(transaction)。在替代實施例中,系統總線(425)可以是諸如前端總線(Front-SideBus;簡稱FSB)等的典型共享式總線架構。此外,圖形總線(435)可與加速圖形埠(AccderatedGraphicsPort;簡稱AGP)總線技術兼容。在一實施例中,圖形配接器(430)可以是配置成產生圖像以供顯示的各種圖形裝置中之任何圖形裝置。周邊總線(445)可以是諸如周邊組件互連(PeripheralComponentInterconnect;簡稱PCI)總線等的常見周邊總線的例。周邊裝置(440)可以是諸如數據機或音效卡等的任何類型的周邊裝置。請注意,雖然前文所述的實施例包含較舊的操作及較新的操作,但是亦可考慮採用可包含任何數目的被接收操作的其它實施例。因此,可將控制功能(215)配置成大致同時接收及處理兩個以上的操作。例如,在一實施例中,儲存單元(210)可具有任何數目的埠,因而可連同最舊的操作而同時處理數個較新的操作。雖然前文中已相當詳細地說明了該等實施例,但是熟悉此項技術者一旦完全了解前文的揭示事項之後,將可容易作出許多變化及修改。下述的權利要求書將被詮釋為包含所有此種變化及修改。工業實用型本發明通常應用於微處理器。權利要求1、一種轉換旁視緩衝器(107),包含第一儲存單元(205),包含第一多個條目,用以儲存對應於多個頁面大小的地址轉換;第二儲存單元(210),包含第二多個條目,用以儲存對應於該多個頁面大小的地址轉換;以及控制功能單元(215),耦合到該第一儲存單元及該第二儲存單元,其中該控制功能單元配置成響應接收到與第一頁面大小相關聯的第一地址轉換,而分配該第一多個條目以儲存對應於該第一頁面大小的地址轉換;其中該控制功能單元進一步配置成響應接收到包含與該第一儲存單元內儲存的地址轉換相符的地址的操作,而將相符的地址轉換自該第一儲存單元複製到該第二儲存單元。2、如權利要求1所述的轉換旁視緩衝器,其中該控制功能單元進一步配置成響應接收到與第二頁面大小相關聯的後續地址轉換,而動態地分配部分該第一多個條目以儲存對應於該第二頁面大小的地址轉換。3、如權利要求2所述的轉換旁視緩衝器,其中該控制功能單元配置成響應接收到與第三頁面大小相關聯的另外的地址轉換,而動態地分配第二部分該第一多個條目以儲存對應於該第三頁面大小的地址轉換。4、如權利要求1所述的轉換旁視緩衝器,其中該控制功能單元配置成響應大致同時接收到一個較舊及一個較新的兩個操作,而允許該較舊的操作存取該第一儲存單元及該第二儲存單元兩者。5、如權利要求1所述的轉換旁視緩衝器,其中該控制功能單元配置成響應大致同時接收到一個較舊及一個較新的兩個操作,而允許該較新的操作存取該第二儲存單元。6、如權利要求1所述的轉換旁視緩衝器,其中該控制功能單元配置成響應大致同時接收到將針對同一頁面的一個較舊及一個較新的兩個操作,而允許該較新的操作存取該第二儲存單元,並提供對應於儲存在該第一儲存單元內的該同一頁面的地址轉換。7、一種將轉換儲存在微處理器(100)的轉換旁視緩衝器(107)的方法,該方法包含下列步驟將對應於多個頁面大小的地址轉換儲存在包含第一多個條目的第一儲存單元(205)內;將對應於該多個頁面大小的地址轉換儲存在包含第二多個條目的第二儲存單元(210)內;響應接收到與第一頁面大小相關聯的第一地址轉換,而分配該第一多個條目以儲存對應於該第一頁面大小的地址轉換;以及響應接收到包含與該第一儲存單元內儲存的地址轉換相符的地址的操作,而將相符的地址轉換自該第一儲存單元複製到該第二儲存單元。8、如權利要求11所述的方法,其中響應接收到與第二頁面大小相關聯的後續地址轉換,而動態地分配部分該第一多個條目以儲存對應於該第二頁面大小的地址轉換。9、如權利要求12所述的方法,其中響應接收到與第三頁面大小相關聯的另外的地址轉換,而動態地分配第二部分該第一多個條目以儲存對應於該第三頁面大小的地址轉換。10、一種微處理器(IOO),包含一個或多個執行單元(124),配置成執行指令;頁面轉換機構,耦合到所述執行單元,該頁面轉換機構配置成提供虛擬到物理地址轉換;以及轉換旁視緩衝器(107),如權利要求1至6所述,並且耦合到該頁面轉換機構。全文摘要轉換旁視緩衝器(translationlookasidebuffer)(107)可包含耦合到第一儲存單元(storage)(205)及第二儲存單元(210)的控制功能。該第一儲存單元包含第一多個條目(entry),用以儲存對應於多個頁面大小(pagesize)的地址轉換(addresstranslation)。該第二儲存單元包含第二多個條目,用以儲存對應於該多個頁面大小的地址轉換。該控制功能(215)可響應接收到與第一頁面大小相關聯的第一地址轉換,而分配該第一多個條目以儲存對應於該第一頁面大小的地址轉換。此外,響應接收到包含與該第一儲存單元內儲存的地址轉換相符(match)的地址的要求(request),該控制功能可將相符的地址轉換自該第一儲存單元複製到該第二儲存單元。文檔編號G06F12/10GK101194237SQ200680020273公開日2008年6月4日申請日期2006年5月23日優先權日2005年6月7日發明者G·D·蘇拉斯基,S·本耶穆爾圖拉申請人:先進微裝置公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀