新四季網

提供同時軟體/硬體高速緩存填充的方法與裝置的製作方法

2023-04-29 12:03:06 2


專利名稱::提供同時軟體/硬體高速緩存填充的方法與裝置的製作方法
技術領域:
:本發明涉及利用同時硬體和軟體高速緩存填充特徵、將地址從外部存儲空間轉換到處理器的存儲空間的方法與裝置。
背景技術:
:近年來,由於前沿計算機應用涉及實時多媒體功能,所以人們越來越希望有更快的計算機處理數據吞吐量。圖形應用為對處理系統要求最高的應用中的一種,這是因為其在相對較短的時間段內需要大量的數據訪問、數據計算、以及數據操作,以獲得希望的視覺效果。這些應用要求極快的處理速度,例如每秒幾千兆數據。一些處理系統採用單處理器來達到快速處理速度,而其他處理系統利用多處理器體系結構來實現。在多處理器系統中,多個子處理器可以並行(或者至少是協調地)操作,以獲得所希望的處理結果。執行此類應用的適當的處理系統可以包括一個或多個處理器與存儲器。在某些處理系統中,可能希望將數據從外部系統(例如另一處理系統、CCD等等)傳送到處理系統的存儲器。因為可能相對於處理系統的存儲器空間轉換外部系統可見的存儲空間,所以可能需要將與該數據傳送相關的外部系統的存儲地址轉換到處理系統的存儲器。希望快速進行這種轉換,以滿足處理系統的速度目標。
發明內容技術方案本發明的一個或多個實施例可以提供一種改進技術,其利用組合硬體和軟體高速緩存特徵,來轉換外部系統的地址,從而來自外部系統的數據可以存儲在處理系統的內部存儲器空間中,如基於多處理器的體系結構。雖然本發明可以用於許多應用,但是當其用來促進可預測的數據訪問(例如流傳送視頻)以及不可預測的數據訪問兩者時,會獲得優勢。流傳送視頻應用或者繪圖/紋理應用中的數據訪問要求實時響應(以及低抖動)。此類數據訪問相對可預測,這是因為可以預先確定來自提出請求的I/O設備的訪問地址以及定時。由此,軟體實現的高速緩存重填機制可以用來預裝數據(在高速緩存不中(cachemiss)之前),以提高處理效率並且減少抖動。但是,請注意在高速緩存不中的情況下,要完成軟體實現的高速緩存重填可能需要大約幾微秒。要容納所有類型的數據訪問(尤其是那些要求實時低抖動結果的數據訪問)這不夠快。硬體實現的高速緩存重填機制顯示一般較快的重填速度(大約幾百毫微秒級)。但是,對於某些性能關鍵訪問來說,這仍不夠快,並且會導致例如流傳送視頻應用中顯著的抖動。根據本發明的一個或多個實施例,提供硬體與軟體高速緩存重填機制兩者,其中這兩套機制可以同時操作。由此,例如,即使當硬體高速緩存重填機制正進行重填時,也可以進行數據預裝。硬體與軟體高速緩存重填機制共享相同的高速緩存項目(entry),但是每個項目具有僅可以由軟體機制控制的鎖定位。如果一項目已經被軟體鎖定,則硬體機制必須使用另一高速緩存路。在優選實現中,軟體機制處理可預測的數據訪問,而硬體機制處理不可預測的數據訪問。這會導致較高的處理效率並且減低抖動,即獲得更好的實時結果。根據本發明的一個或多個實施例,一種方法與裝置,使之能夠提供硬體實現的高速緩存重填電路,用來管理至少一個地址轉換表高速緩存,該至少一個地址轉換表高速緩存包含用來將外部地址轉換為處理系統的物理地址的數據;以及提供軟體實現的高速緩存重填功能,用來在高速緩存不中之前預裝該至少一個地址轉換表高速緩存。所述預裝步驟保留所述至少一個地址轉換表高速緩存的一個或多個高速緩存行、以及所述處理系統的存儲器中由所述物理地址尋址的一個或多個相關物理存儲器位置。所述預裝步驟可以包括鎖定所述至少一個地址轉換表高速緩存的一個或多個高速緩存行,以免由所述硬體實現的高速緩存重填電路重填。根據本發明的一個或多個實施例,一種方法與裝置,使之能夠利用所述硬體實現的高速緩存重填電路與軟體實現的高速緩存重填功能,同時重填所述至少一個地址轉換表高速緩存。根據本發明的一個或多個實施例,一種方法與裝置,使之能夠提供硬體實現的高速緩存重填電路,用來管理至少一個地址轉換表高速緩存,該至少一個地址轉換表高速緩存包含用來將外部地址轉換為處理系統的物理地址的數據;以及提供軟體實現的高速緩存重填功能,也用來管理該至少一個地址轉換表高速緩存,並且在高速緩存不中之前預裝該至少一個地址轉換表高速緩存;以及利用所述硬體實現的高速緩存重填電路與軟體實現的高速緩存重填功能,同時重填該至少一個地址轉換表高速緩存。所述至少一個地址轉換表高速緩存包含至少一個段表高速緩存,該段表高速緩存中的每一高速緩存行表示所述處理系統的不同存儲器段。所述至少一個地址轉換表高速緩存包含至少一個頁表高速緩存,該頁表高速緩存中的每一項包括所述存儲器中物理地址的至少一部分,並且屬於表示所選存儲器段中的頁的項目組。該方法與裝置使之能夠允許所述軟體實現的高速緩存重填功能保留所述至少一個地址轉換表高速緩存的一個或多個高速緩存行、以及所述處理系統的存儲器中由所述物理地址尋址的一個或多個相關物理存儲器位置。可替換地或者另外地,該方法與裝置使之能夠允許所述軟體實現的高速緩存重填功能鎖定所述一個或多個高速緩存行,以免由所述硬體實現的高速緩存重填電路重填。該方法與裝置還可以將基地址與所述外部地址相加,以產生中間地址的至少一部分;使用該中間地址的第一部分作為用來選擇所述段表高速緩存的高速緩存行之一的指針;使用所述段表高速緩存的所選高速緩存行的至少一部分,作為到所述頁表高速緩存的多個高速緩存行的引用;以及使用該中間地址的另一部分作為到所述頁表高速緩存的所引用項之一的指針,以獲得至少部分轉換到對於所述外部地址的所述存儲器的物理地址。所述段表高速緩存的一個或多個高速緩存行可以包含指示給定高速緩存行是否有效的一個或多個位;指示所述頁表高速緩存的頁號的一個或多個位;指示所述頁表高速緩存的頁尺寸的一個或多個位;和/或提供對所述頁表高速緩存的多個高速緩存行的引用的一個或多個位。所述頁表高速緩存的一個或多個高速緩存行可以包含指示給定高速緩存行是否有效的一個或多個位;指示給定高速緩存行是否在高速緩存不中之前已被所述軟體實現的高速緩存重填功能鎖定以免由所述硬體實現的高速緩存重填電路重填的一個或多個位;和/或表示所述存儲器的物理地址的至少一部分的一或多個位。該方法與裝置還可以提供利用所述中間地址的一個或多個最低有效位,增廣(augment)所述表示物理地址的至少一部分的頁表高速緩存的所選高速緩存行的一個或多個位,以產生對於所述外部地址的轉換後的物理地址。當結合附圖考慮此處對本發明的描述時,本領域技術人員將會清楚其他方面、特徵、優點等等。為了說明本發明的各個方面,在附圖中顯示了優選實施例,但是應該理解本發明不限於所示的精確結構與功能。圖1為說明根據本發明的一個或多個方面可以使用的處理系統的結構的方框圖;圖2為說明可以由圖1的系統執行的地址轉換的原理圖;圖3為說明用於實現圖1的處理系統的一個或多個地址轉換功能的適當結構的方框圖;圖4為圖3的結構中採用的適合於利用基地址增廣外部地址的電路的更詳細的方框圖;圖5為圖4的基地址和外部地址的增廣的原理圖;圖6為適合於實現圖3結構中的高速緩存系統的電路的更詳細的方框圖;圖7為將增廣後的外部地址(中間地址)轉換到處理系統的實際地址的至少部分的原理圖;圖8為說明根據本發明的一個或多個方面的、可以使用的具有兩個或更多個子處理器的多處理系統的結構的圖;圖9為說明可以用來實現本發明的一個或多個方面的、優選處理器元件(PE)的圖;圖IO為說明根據本發明的一個或多個方面的、可以使用的圖9系統的示範性子處理單元(SPU)的結構的圖;以及圖11為說明根據本發明的一個或多個方面的、可以使用的圖9系統的示範性處理單元(PU)的結構的圖。具體實施方式參照附圖(其中相同的附圖標記表示相同的元件),在圖1中顯示處理系統100,其可以用來實現本發明的一個或多個特徵。為了簡單和清楚的目的,此i方框圖以說明裝置100,但是應該理解該描述可以同樣用於方法的各個方面。系統100包括通過一條或多條總線106相互耦合的處理系統102以及至少一個外部系統104(例如j/o設備)。所述處理系統102可以包括通過總線114彼此耦合的一個或多個處理器108、內部存儲器空間IIO(—個或多個存儲器單元)、和1/0地址轉換電路112,注意圖1所示的功能劃分僅僅是舉例,並且可以採用其他劃分。應當理解系統100也可以包括其他器件,如接口電路、外圍電路等等,但是為了簡短和清楚的目的,對它們進行了省略。可以利用任何已知的能夠請求來自存儲器空間110的數據並且操作所述數據以獲得期望結果的技術來實現處理器108。例如,可以使用任何已知的能夠執行軟體和/或固件的微處理器(包括標準微處理器、分布式微處理器等等),來實現處理器108。作為例子,處理器108可以為圖形處理器,其能夠請求並且操作數據(如像素數據),包括灰度信息、顏色信息、紋理數據、多邊形信息、視頻幀信息等等。在某些處理環境中,外部系統104可能尋求從處理系統102的內部存儲器空間110讀取數據/向處理系統102的內部存儲器空間110寫入數據。關於這一點,優選地,地址轉換電路112用來將從外部系統104接收的虛擬地址(不同存儲器空間的外部地址)轉換為內部存儲器空間110的物理地址。實際上,外部系統104可能不在與存儲器空間110相同的存儲器空間中操作,並因此需要地址轉換。參照圖2,優選地,存儲器110可被分為多個段,例如段0、段l、段2等等。優選地,每個段可被分為多個頁。存儲器110享用其自身的物理空間,而外部系統104在虛擬空間中才喿作(至少相對於處理系統102),例如虛擬空間0,其不是與存儲器110的物理空間一對一的相同空間。地址轉換電路112用來將虛擬空間0的地址120轉換為存儲器空間110的物理地址122。因為可能有一個或多個外部系統104,所以地址轉換電路112可用於將其他虛擬存儲器空間(例如虛擬存儲器空間N)的地址124轉換為內部存儲器空間110的物理地址122。在從虛擬存儲器空間O、N到內部存儲器空間110的轉換中,虛擬地址120、124經過基調整(baseadjust)並且經受高速緩存機制,以後將對此進行更詳細的描述。現在參照圖3,其為說明如何可以實現地址轉換電路112的至少某些部分的例子的方框圖。在該實施例中,地址轉換電路112可以包括基地址調整電路130、以及一個或多個地址轉換高速緩存160。處理系統102可以接收來自外部系統104的外部地址(或者虛擬地址)120。再次地,該地址可能與/人處理系統102的存儲器空間IIO讀取數據或向其寫入數據的請求相關聯。請注意該讀取和/或寫入請求可能在外部系統104(DMA請求方)進行的直接存儲器存取(DMA)請求的情形下發出。基地址調整電路130可以包括基地址表132、以及增廣電路134,其用來接收來自外部系統104的外部地址20,並且將其與基地址(或者偏移)相加,以產生第一中間地址150。在圖4中說明了實現基地址調整電路130的適當電路的例子。增廣電路134可以包括掩碼控制電路與乘法器,其接收以下中的至少一個(i)來自UC地址轉換寄存器136的一部分的多個位(例如28位);(ii)外部地址120(例如30位);(iii)以及來自基地址表l32的(多個)基地址輸出l44、l46。優選地,UC地址轉換寄存器136確立中間地址150的最高有效位(例如高地址範圍)。UC地址轉換寄存器136的用於產生中間地址150的部分(例如)可以包括其較^氐位(例如22-27位)。優選地,運行在處理系統上的應用軟體通過對作業系統軟體的系統調用,可以將UC地址轉換寄存器136的該部分的內容設置為內部存儲器空間110(或者其部分)的相對尺寸和/或被映射到內部存儲器空間110的外部存儲器空間(或者其部分)的尺寸的函數。基於外部系統104的識別號(夕卜部系統ID),基地址表132產生(多個)基地址輸出144、146,從而可以為不同的外部系統104(例如DMA請求方)產生不同的基地址。外部系統104可以實現為一個或多個DMA請求方,其通過南橋器件和/或RSX圖形處理器件耦合至處理系統102。在此類實現中,DMA請求方可以包括以下中的一個或多個盤驅動器、USB集線器、乙太網交換機等等。作為例子,外部系統ID可以為5位長。應該理解為了容納不同請求方數目,可以按照希望或者需要調整外部系統ID的位數。在所示實施例中,(多個)基地址表132輸出可以包括一個或多個掩碼位144(例如4位)、以及一個或多個基地址位146(例如8位)。在該例子中,基地址表132可以採用多個可配置寄存器(或等效存儲元件)140、142,其可以由UC地址轉換表寄存器138設置。因此,掩碼位以及基地址位的數目(以及特定位值)可以編程。再次地,在處理系統上運行的應用軟體優選地通過對作業系統軟體的系統調用,可以設置UC地址轉換表寄存器138的內容,以為相應外部系統104確立掩碼位144與基地址位146。與UC地址轉換寄存器136的情況一樣,可以將UC地址轉換表寄存器138的內容確立為內部存儲器空間110和/或被映射到內部存儲器空間110的外部存儲器空間的相對尺寸的函數。外部系統ID作為對寄存器140、142中的索引操作,以產生適當的掩碼位144與基地址位146以輸入到增廣電路134。圖5為利用圖4所示的實現例用掩碼位144與基地址位146來增廣外部地址120的原理圖。由此,外部地址120(32位)輸入基地址轉換電路130。外部地址120的最高有效位由掩碼位144(在該例子中為4位)遮蔽,剩下28位可用於中間地址150的最低有效位。將基地址位146(在該例子中為8位)插到中間地址150的下一個有效位位置中。最終,由UC地址轉換寄存器136或者其部分(在該例子中為6位)確立中間地址150的最高有效位。由此,在該實施例中,中間地址150的長度為64位。再次參照圖3,中間地址150用來通過地址轉換高速緩存160獲得內部存儲器空間IIO的物理地址。通過硬體實現的高速緩存重填電路190以及軟體實現的高速緩存重填功能192管理地址轉換高速緩存160。在地址轉換高速緩存160的優選特徵中,硬體實現的高速緩存重填電路190以及軟體實現的高速緩存重填功能192可以分開和/或同時操作,以重填地址轉換高速緩存160。在優選實施例中,軟體實現的高速緩存重填功能192處理可預測的數據訪問,而硬體實現的高速緩存重填電路190處理不可預測的數據訪問。例如,優選地,軟體實現的高速緩存重填功能192用來在高速緩存不中之前預裝載地址轉換高速緩存160。這可以與硬體實現的高速緩存重填電路190進行高速緩存重填同時完成。優選地,硬體實現的高速緩存重填電路190以及軟體實現的高速緩存重填功能192由在處理系統102上運行的應用軟體分開地控制或者啟動。例如,優選地,應用軟體用來確定硬體實現的高速緩存重填電路190或軟體實現的高速緩存重填功能192中的哪一個要操作來管理地址轉換高速緩存160、以及管理多長時間。可替換地,或者另外地,應用軟體可以用來確定硬體實現的高速緩存重填電路190以及軟體實現的高速緩存重填功能192可以同時操作來管理地址轉換高速緩存160。在一個或多個實施例中,應用軟體通過控制硬體實現的高速緩存重填電路190以及軟體實現的高速緩存重填功能192的作業系統調用,獲得上述對高速緩存管理的控制。參照圖6,可以使用至少一個段表高速緩存162與至少一個頁表高速緩存164來實現地址轉換高速緩存160。依賴於實現的具體情況,段表高速緩存162可以為N路組相關高速緩存(N-waysetassociativecache)或者直接映射高速緩存。段表高速緩存162的每個高速緩存行166A、166B、166C等等表示處理系統100的存儲器110的不同段。例如,段表高速緩存162的一個或多個高速緩存行166可以包括(i)指示給定高速緩存行166是否有效的一個或多個位(V);(ii)指示頁表高速緩存164的頁號的一個或多個位(NPPT);(iii)指示頁表高速緩存164的頁尺寸的一個或多個位(PS);和/或(iv)提供對頁表高速緩存164的多個高速緩存行的引用的一個或多個位(IOPTBaseRPN)。段表高速緩存162的每個高速緩存行166可以表示存儲器空間110的不同段。依賴於實現的具體情況,頁表高速緩存164也可以為N路組相關高速緩存或者直接映射高速緩存。在優選實施例中,頁表高速緩存164為N路組相關高速緩存。頁表高速緩存164(如果有效的話)的每個高速緩存行168A、168B、168C等等包括對應於相關外部地址120的存儲器110的物理地址122的至少一部分。頁表高速緩存164的每個高速緩存行168屬於表示存儲器空間110的段之一中給定頁的高速緩存行168的組。頁表高速緩存164的高速緩存行168可以包括(i)指示給定高速緩存行168是否有效的一個或多個位(V);(ii)指示給定高速緩存行168是否已被鎖定的一個或多個"提示,,位(H)(以下將詳細描述);(m)表示與給定外部地址120相關的存儲器空間110的物理地址122的至少部分的一個或多個位(RPN);(iv)表示I/O設備識別號(例如外部系統ID)的一個或多個位(IOID);(v)提供高速緩存一致性信息(例如M=l要求一致性)以及存儲順序命令(例如SOl要求嚴格排序)的一個或多個位(M,SO);和/或(vi)指示物理地址122尋址的存儲器的位置為只讀、只寫、還是讀/寫的一個或多個位(PP)。當系統100初始化時,作業系統可能保留頁表高速緩存164的高速緩存15行168的某些部分。可以通過寫入預定邏輯電平到每個此類行的有效位V與提示位H,進行該保留。該保留應該在所有1/0設備都沒有正在請求讀取和/或寫入到內部存儲器空間110的時候進行。另外,在初始化時,可以例如由處理系統102或者由外部系統104指定存儲器空間110中每個段的頁尺寸。這可以通過對作業系統的一個或多個系統調用達到。雖然可以指定頁尺寸,但是優選地,頁尺寸應該頁與頁之間以及段與段之間相同。優選地,軟體實現的高速緩存重填功能192用來保留段表高速緩存162和/或頁表高速緩存164的一個或多個高速緩存行、以及處理系統102的存儲器空間110中由物理地址尋址的一個或多個相關物理存儲器位置。優選地,在高速緩存不中之前執行這一點,例如當正在處理可預測數據、並且預裝載高速緩存162、164可行時。優選地,軟體實現的高速緩存重填功能192能夠鎖定頁表高速緩存164的高速緩存行168,以免由硬體實現的高速緩存重填電路190進行重填。作為例子,可以通過將(多個)H位設置為預定電平(例如邏輯l)來實現該鎖定特徵。地址轉換高速緩存160還包括可編程段表地址寄存器170,其確立多個基值,每個基值用來訪問段表高速緩存162的相應高速緩存行組。用中間地址150的基地址部分146增廣的段表地址寄存器170的基值可以被用作用來選擇段表高速緩存162的高速緩存行166之一的指針(索引)。段表高速緩存162的選定高速緩存行166的IOPTBaseRPN部分提供到頁表高速緩存164的基值索引。用中間地址150的另一部分152增廣的段表高速緩存162的選定高速緩存行166的基值索引可以被用作用來選擇頁表高速緩存164的高速緩存行168之一的指針(索引)。中間地址150的部分152對應於外部地址120'(未被遮掩,參見圖5)的較高有效位。部分152中的位數目依賴於頁尺寸。參照圖7,並且與以上例子一致地,4KB的頁尺寸導致16位的部分152A,剩餘12位在偏移部分154A中。64KB的頁尺寸導致12位的部分152B,剩餘16位在偏移部分154B中。1MB的頁尺寸導致8位的部分152C,剩餘20位在偏移部分154C中。16MB的頁尺寸導致4位的部分152D,剩餘24位在偏移部分154D中。再次轉到圖6,假定頁表高速緩存164的選定高速緩存行168為有效(例如V二邏輯1),則使用高速緩存行168的RPN部分作為到外部地址120的存儲器空間110中的物理地址122的一部分。通過用中間地址150的偏移部分154增廣RPN部分,獲得物理地址122的剩餘部分。但是,如果頁表高速緩存164的選定高速緩存行168為無效(例如V二邏輯0),則發生高速緩存不中,並且採用硬體實現的高速緩存重填電路190來重填段表高速緩存162和/或頁表高速緩存164。在這一方面,硬體實現的高速緩存重填電路190搜索高速緩存行,尋找一個或多個無效和/或未鎖定高速緩存行,並且重填這些行。如果沒有找到此類無效和/或未鎖定高速緩存行,則發出故障通知中斷。換言之,雖然硬體與軟體高速緩存重填機制190、192共享相同的高速緩存行,但是僅可由軟體機制192控制頁表高速緩存164的高速緩存行168的鎖定位(H)。由此,如果高速緩存行168已經被軟體機制192鎖定,則硬體機制190必須使用另一高速緩存路(或行)。因為僅允許硬體機制190替換其中H=0的高速緩存行168,所以實際的軟體機制192僅需要寫入HN1以預裝載高速緩存行168。由此,如果軟體機制192需要保留高速緩存行168,則在使能硬體機制l卯重填之前,軟體應該為此類高速緩存行168寫入KN1。相反,如果軟體機制192需要釋放先前保留的高速緩存行168,則軟體應該為此類高速緩存行168寫入H=0。此類釋放的結果將是從該時間以後,硬體機制190可以使用此類高速緩存行168進行重填。以上功能適用於給定一致組的每個特定路。例如,如果N路組相關高速緩存164採用N=4,則給定一致組的每路可以被分開地鎖定。這在以下表中表示。[表l]tableseeoriginaldocumentpage17圖8說明用來實現本發明的一個或多個其他實施例的多處理系統IOOA。系統100A包括通過總線208互連的多個處理器202A-D、相關本地存儲器204A-D、以及共享存儲器206。此處,也可以將共享存儲器206稱為主存儲器或者系統存儲器。雖然作為例子顯示了4個處理器202,但是可使用任何數目而不會脫離本發明的精神與範圍。每個處理器202可以為類似結構或者為不同結構。雖然未顯示,但是系統100A優選地包括上述的地址轉換器112與其他功6匕fl匕。優選地,本地存儲器204位於與其相應處理器202相同的晶片上(相同半導體襯底);但是,優選地,本地存儲器204不是傳統的硬體高速緩存存儲器,其中沒有實現硬體高速緩存存儲器功能的片上或片外硬體高速緩存電路、高速緩存寄存器、高速緩存存儲器控制器等等。優選地,處理器202提供通過總線208將數據(其可以包括程序數據)從系統存儲器206拷貝到其相應本地存儲器204以備程序執行和數據操作的數據存取請求。優選地,利用直接存儲器存取控制器(DMAC,未顯示),實現用來促進數據存取的機制。優選地,每個處理器的DMAC具有以上參照本發明的其他特徵描述的功能基本相同的功能。優選地,系統存儲器206為動態隨機存取存儲器(DRAM),其通過高帶寬存儲器連接(未顯示)耦合至處理器202。雖然系統存儲器206優選為DRAM,但是可以使用其他方式實現存儲器206,例如靜態隨機存取存儲器(SRAM)、磁隨機存取存儲器(MRAM)、光學存儲器、全息存儲器等等。優選地,利用處理流水線實現每個處理器202,其中以流水線方式處理邏輯指令。雖然流水線可以被分為任意數目的處理指令的階段,但是流水線一般包括獲取一條或多條指令、解碼指令、檢查指令之間的依賴性、發出指令、以及執行指令。在這方面,處理器202可以包括指令緩衝器、指令解碼電路、依賴性檢查電路、指令發出電路、以及執行級。優選地,處理器202的DMAC用來促進響應於由處理器202之一發出的單個DMA命令的、在共享存儲器206與一個或多個本地存儲器204之間的多個數據塊的傳送。在一個或多個實施例中,處理器202、本地存儲器204、以及DMAC可以置於共同半導體襯底之上。在一個或多個其他實施例中,共享存儲器206也可以置於該共同半導體襯底之上,或者其可以被分開地放置。在一個或多個可替換實施例中,一個或多個處理器202可以作為主處理器操作,其操作地耦合至其他處理器202,並且能夠通過總線208耦合至共享存儲器206。主處理器可以調度與協調其他處理器202對數據的處理。但是,與其他處理器202不同,主處理器可以耦合至硬體高速緩存存儲器,其為從共享存儲器206以及處理器202的一個或多個本地存儲器204中的至少一個獲得的可操作高速緩存數據。主處理器可以提供利用任何已知技術(例如DMA技術)將數據(其可能包括程序數據)從系統存儲器206通過總線208拷貝到高速緩存存儲器以備程序執行與數據操作的數據訪問請求。現在提供對多處理器系統的優選計算機體系結構的描述,其適合於實現此處討論的一個或多個特徵。根據一個或多個實施例,多處理器系統可以實現為單晶片解決方案,用於含大量媒體的(media-rich)應用的獨立和/或分布式處理,例如遊戲系統、家用終端、PC系統、伺服器系統、以及工作站。在某些應用中,例如遊戲系統與家用終端中,實時計算可能是必須的。例如,在實時分布式遊戲應用中,必須足夠快地執行聯網圖像壓縮、3D計算機圖形、音頻生成、網絡通信、物理模擬、以及人工智慧處理中的一個或多個,從而向用戶提供實時體驗的感覺。由此,多處理器系統中的每個處理器都必須在可預測的短時間內完成任務。為此,並且根據該計算機體系結構,多處理計算機系統中的所有處理器都從公共計算模塊(或者單元)構造。該公共計算模塊具有一致的結構,並且優選地採用相同的指令集體系結構。該多處理計算機系統可以由一個或多個客戶端、伺服器、PC、移動計算機、遊戲機、PDA、置頂盒、家用電器、數位電視、以及使用計算機處理器的其他設備形成。如果希望的話,多個計算機系統也可以為網絡的成員。一致的模塊化結構使多處理計算機系統能夠對應用與數據進行高效高速處理,並且如果採用網絡,則使之能夠在網絡上迅速傳送應用與數據。該結構還簡化了各種尺寸與處理能力的網絡的成員的構造,並且簡化了為了由這些成員處理而對應用的準備。參照圖9,基本處理模塊為處理器元件(PE)500。PE500包括1/0接口502、處理單元(PU)504、以及多個子處理單元508,即子處理單元508A、子處理單元508B、子處理單元508C、以及子處理單元508D。本地(或者內部)PE總線512在PU504、子處理單元508、以及存儲器接口511之間傳送數據與應用。本地PE總線512可以具有例如常規體系結構,或者可以被實現為分組交換網絡。如果被實現為分組交換網絡,則雖然要求更多的硬體,但是增加了可用帶寬。可以使用實現數字邏輯的各種方法構造PE500。但是優選地,PE500#皮構造成單個集成電路,其採用矽村底上的互補金屬氧化物半導體(CMOS)。基底的替換材料包括砷化鎵、砷化鎵鋁、或者其他所謂的採用多種攙雜劑的m-B化合物。也可以使用超導材料(例如快速單通量量子(RSFQ)邏輯)實現PE500。通過高帶寬存儲器連接516,將PE500與共享(主)存儲器514緊密相關。雖然優選地存儲器514為動態隨機存取存儲器(DRAM),但是可以使用其他方式實現存儲器514,例如靜態隨機存取存儲器(SRAM)、磁隨機存取存儲器(MRAM)、光學存儲器、全息存儲器等等。優選地,PU504與子處理單元508每個都耦合至包括直接存儲器存取DMA功能的存儲器流控制器(MFC),其與存儲器接口511結合,促進DRAM514與PE500的子處理單元508和PU504之間的數據傳送。請注意DMAC和/或存儲器接口511可以集成地或者分離地相對於子處理單元508和PU504放置。實際上,DMAC功能和/或存儲器接口511功能可以與子處理單元508和PU504中的一或多個(優選地全部)集成在一起。還請注意DRAM514可以集成地或者分開地相對於PE500放置。例如,DRAM514可以置於片外,如所示圖示所暗示的,或者DRAM514可以集成方式置於片上。PU504例如可以為標準處理器,其能夠獨立進行對數據與應用的處理。在操作中,優選地,PU504調度與協調子處理單元對數據與應用的處理。優選地,子處理單元為單指令多數據(SIMD)處理器。在PU504的控制下,子處理單元以並行且獨立的方式執行對這些數據與應用的處理。優選地,利用PowerPC核心實現PU504,PowerPC核心為採用精筒指令集計算(RISC)技術的微處理器體系結構。RISC利用筒單指令的組合來執行更複雜的指令。因此,處理器的時序可以基於較簡單較快的操作,從而使微處理器能夠對給定的時鐘速度執行更多的指令。請注意可以由承擔主處理單元(其調度與協調子處理單元508對數據與應用的處理)的角色的子單元508之一來實現PU504。另外,在處理器元件500內可能實現多於一個的PU。根據該模塊結構,特定計算機系統所採用的PE500的數目基於該系統所需的處理能力。例如,伺服器可能採用4個PE500,工作站可能採用2個PE500,而PDA可能採用1個PE500。一皮分配來處理特定軟體單元的PE500的子處理單元的數目依賴於該單元內的程序與數據的複雜度與大小。圖10說明子處理單元(SPU)508的優選結構與功能。優選地,SPU508體系結構填補了通用處理器(其被設計來在廣泛的應用集合上達到高平均性能)與專用處理器(其被設計來在單個應用上達到高性能)之間的空白。SPU508被設計來在遊戲應用、媒體應用、寬帶應用等等上達到高性能,以為實時應用的程式設計師提供高度控制。SPU508的某些功能包括圖形幾何流水線、表面子劃分(surfacesubdivision)、快速傅立葉變換、圖^象處理關《建字、流處理、MPEG編碼/解碼、加密、解密、設備驅動器擴展、建模、遊戲物理、內容創建、以及音頻合成與處理。子處理單元508包括兩個基本功能單元,即SPU核心510A與存儲器流控制器(MFC)510B。SPU核心510A進行程序執行、數據操作等等,而MFC510B執行關於SPU核心510A與系統的DRAM514之間的數據傳送的功能。SPU核心510A包括本地存儲器550、指令單元(IU)552、寄存器554、一個或多個浮點執行級556、以及一個或多個定點執行級558。優選地,使用單埠隨機存取存儲器(例如SRAM)來實現本地存儲器550。雖然大部分處理器通過採用高速緩存來減少到存儲器的延遲,但是SPU核心510A實現相對較小的本地存儲器550而非高速緩存。實際上,為了為實時應用(以及此處描述的其他應用)的程式設計師提供一致性且可預測的存儲器存取延遲,SPU508A內的高速緩存存儲器體系結構不是優選的。高速緩存存儲器的高速緩存命中/不中特點導致多變的存儲器存取時間,其變化從幾個周期到幾百個周期。此類多變性有損於在例如實時應用編程中希望的存取定時可預測性。通過將DMA傳送與數據計算重疊,可以在本地存儲器550中達到延遲隱藏(latencyhiding)。這為實時應用的編程提供了高度控制。因為與DMA傳送相關的延遲與指令開銷超過了處理高速緩存不中的延遲與指令開銷,所以當DMA傳送尺寸足夠大並且充分可預測時(例如可以在需要數據之前發出DMA命令),SRAM本地存儲器方法具有優勢。在給定的一個子處理單元508上運行的程序利用本地地址引用相關的本地存儲器550,但是本地存儲器550的每個位置也都被分配在整個系統的存儲器映射內的實際地址(RA)。這允許特權軟體(privilegesoftware)將本地存儲器550映射到進程的有效地址(EA),以促進一個本地存儲器550與另一個本地存儲器550之間的DMA傳送。PU504也可以利用有效地址,直接訪問本地存儲器550。在一個優選實施例中,本地存儲器550包含556KB的存儲容量,並且寄存器552的容量為128x128位。優選地,利用處理流水線實現SPU核心504A,其中以流水線方式處理邏輯指令。雖然流水線可以被分為任意數目的處理指令的階段,但是流水線一般包括獲取一條或多條指令、解碼指令、檢查指令之間的依賴性、發出指令、以及執行指令。在這方面,IU552包括指令緩衝器、指令解碼電路、依賴性檢查電路、以及指令發出電路。優選地,指令緩衝器包括耦合至本地存儲器550、並且當獲取指令時用來臨時存儲指令的多個寄存器。優選地,指令緩衝器操作使得所有指令作為編組離開寄存器,即幾乎同時地。雖然指令緩沖器可以為任何尺寸,但是優選地,其尺寸不大於大約兩個或三個寄存器。一般地,解碼電路分解指令,並且生成執行對應指令的功能的邏輯微操作。例如,邏輯微操作可以指定算術與邏輯運算、到本地存儲器550的加載與存儲操作、寄存器源運算數和/或中間數據運算數。解碼電路也可以指示指令使用哪一資源,如目標寄存器地址、結構資源、功能單元和/或總線。解碼電路也可以提供指示其中需要資源的指令流水線階段的信息。優選地,指令解碼電路用來基本同時地解碼與指令緩衝器的寄存器的數目相同的多條指令。依賴性檢查電路包括進行測試以確定給定指令的運算數是否依賴於流水線中其他指令的運算數的數字邏輯。如果如此,則不應該執行給定指令,直至更新了其他運算數(例如,通過允許該其他指令完成執行)。優選地,依賴性檢查電路確定從解碼電路112同時派發的多條指令的依賴性。指令發出電路用來發出指令到浮點執行級556和/或定點執行級558。優選地,寄存器554實現為相對較大的統一寄存器文件,例如128項的寄存器文件。這允許深度流水線高頻實現,而不會要求寄存器重命名來避免寄存器不足(starvation)。重命名硬體一般消耗處理系統中面積與功率的相當大的部分。因此,當由軟體循環展開或者其他交織技術來覆蓋延遲時,可以獲得有利的操作。優選地,SPU核心510A為超標量體系結構,從而每個時鐘周期發出多於一條的指令。優選地,SPU核心510A操作為到對應於來自指令緩衝器的同時派發的指令數目(例如2與3之間,意味著每個時鐘周期發出2或3條指令)的程度的超標量。依賴於所需要的處理能力,可以採用或多或少數目的浮點執行級556和定點執行級558。在優選實施例中,浮點執行級556以每秒2232G的浮點運算速度(32GFLOPS)操作,並且定點執行級558以每秒32G的定點運算速度(32GOPS)上操作。優選地,MFC510B包括總線接口單元(BIU)564、存儲器管理單元(MMU)562、以及直接存儲器存取控制器(DMAC)560。除DMAC560之外,優選地,MFC510B以與SPU核心510A與總線512相比為一半的頻率(半速)運行,以滿足低功率耗散設計目標。MFC510B用來處理從總線512進入到SPU508的數據與指令,提供DMAC的地址轉換,以及數據一致性的監視操作。BIU564提供總線512與MMU562和DMAC560之間的接口。因此,SPU508(包括SPU核心510A與MFC510B)與DMAC560被物理連接和/或邏輯連接到總線512。優選地,MMU562用來將有效地址(取自DMA命令)轉換為實際地址,以進行存儲器存取。例如,MMU562可以將有效地址的較高階位轉換為實際地址位。但是優選地,較低階位是不可轉換的、並且用來形成實際地址以及請求對存儲器存取時被認為既是邏輯的也是物理的。在一個或多個實施例中,可以基於64位存儲器管理模型,來實現MMU562,並且MMU562可以提供264位元組的有效地址空間,具有4K、64K、1M、和16M字節的頁尺寸和256MB的段尺寸。優選地,對於DMA命令,MMU562用來支持高達265位元組的虛擬存儲器,以及242位元組(4TB)的物理存儲器。MMU562的硬體可以包括8項的全相關聯SLB、256項的4路組相關聯TLB、以及對於TLB的4x4替換管理表(RMT,其用於硬體TLB不中處理)。優選地,DMAC560用於管理來自SPU核心510A以及一或多個其他設備(例如PU504和/或其他SPU)的DMA命令。可有三類DMA命令放置命令,其用來將數據從本地存儲器550移動到共享存儲器514;獲得命令,其用來將數據從共享存儲器514移動到本地存儲器550;以及存儲控制命令,其包括SLI命令以及同步命令。同步命令可以包括原子命令、發送信號命令、以及專用阻隔命令。響應於DMA命令,MMU562將有效地址轉換為實際地址,並且將實際地址轉發給BIU564。優選地,SPU核心510A使用通道接口與數據接口來與DMAC560內的接口通信(發送DMA命令、狀態等等)。SPU核心510A通過通道接口向DMAC560A中的DMA隊列派發DMA命令。一旦DMA命令進入DMA隊列,DMA命令就由DMAC560內的發出與完成邏輯處理。當完成DMA命令的所有總線事務時,通過通道接口向SPU核心510A回送完成信號。圖11說明PU504的優選結構與功能。PU504包括兩個基本功能單元,PU核心504A與存儲器流控制器(MFC)504B。PU核心504A進行程序執行、數據操作、多處理器管理功能等等,而MFC504B執行關於在PU核心504與系統100的存儲器空間之間的數據傳送的功能。PU核心504A可以包括L1高速緩存570、指令單元572、寄存器574、一個或多個浮點執行級576、以及一個或多個定點執行級578。Ll高速緩存提供對於通過MFC504B從共享存儲器106、處理器102、或者存儲器空間的其他部分接收到的數據的數據高速緩存功能。如同PU核心504A優選地實現為超流水線,指令單元572優選地實現為具有許多階段的指令流水線,包括獲取、解碼、依賴性檢查、發出等等。另外,PU核心504A也優選地實現為超標量配置,由此每個時鐘周期從指令單元572發出多於一條的指令。為了達到高處理能力,浮點執行級576與定點執行級578包括流水線配置中的多個階段。根據所需的處理能力,可以採用或多或少數目的浮點執行級576與定點執行級578。MFC504B包括總線接口單元(BIU)580、L2高速緩存存儲器、非高速緩存單元(NCU)584、核心接口單元(CIU)586、以及存儲器管理單元(MMU)588。MFC504B的大部分以與PU核心504A和總線108相比的半頻率(半速)運4亍,以滿足低功率耗散設計目標。BIU580提供總線108與L2高速緩存582和NCU584邏輯塊之間的接口。為此,BIU580可以作為總線108上的主設備以及從設備,從而執行完全一致的存儲器操作。作為主設備,其可以代表L2高速緩存582和NCU584,發出對於總線108的加載/存儲請求,以請求服務。BIU580也可以實現對於命令的流控制機制,其限制可以發送給總線108的命令總數。總線108上的數據操作可以被設計來佔用8個節拍。因此,優選地,BIU580被設計成大約128位元組的高速緩存行,並且一致性和同步間隔(granularity)是U8KB。優選地,L2高速緩存582(和支持硬體邏輯)被設計成高速緩存512KB的數據。例如,L2高速緩存582可以處理可緩存的裝載/存儲、數據預取、指令取、指令預取、高速緩存操作、和阻隔操作。優選地,L2高速緩存582為8路組相聯繫統。L2高速緩存582可以包括匹配6個拋出隊列(castoutqueue)(例如6個RC機)的8個重加載隊列(reloadqueue),以及8個(64位元組寬)存儲隊列。L2高速緩存582可以用來提供L1高速緩存570中的某些或者全部數據的備份拷貝。有利的是,當熱交換(hotswap)處理節點時,在(多個)恢復狀態時這是有用的。該配置還允許L1高速緩存570利用較少埠更迅速地工作,並且允許更快的高速緩存到高速緩存轉移(因為請求可以止於L2高速緩存582)。該配置還提供了將高速緩存一致性管理傳遞給L2高速緩存582的機制。NCU584與CIU586、L2高速緩存582、以及BIU580接口,並且一4殳作為對於在PU核心504A與存儲器系統之間的非高速緩存操作的排隊/緩沖電路。優選地,NCU584處理不是由L2高速緩存582處理的、與PU核心504A的所有通信,例如禁止高速緩存的加載/存儲、阻隔操作、以及高速緩存一致性操作。優選地,NCU584以半速運行,以滿足上述的功率耗散目標。CIU586被安置在MFC504B和PU核心504A的邊界之上,並且作為對於來自執行級576、578、指令單元572、以及MMU單元588的命令和去向L2高速緩存582和NCU584的命令的路由、仲裁、以及流控制點。優選地,PU核心504A和MMU單元588以半速運行,而L2高速緩存582與NCU584可以2:1速度比運行。由此,在CIU586中存在頻率邊界,並且當其在兩個頻率域之間轉發請求以及重加載數據時,其功能之一要適當地處理頻率交叉(frequencycrossing)。CIU586包含三個功能塊加載單元、存儲單元、以及重加載單元。另外,數據預取功能由CIU586執行,並且優選地為加載單元的功能部分。優選地,CIU586用來(i)接受來自PU核心504A和MMU單元588的加載與存儲請求;(ii)將來自全速時鐘頻率的請求轉換為半速(2:1時鐘頻率轉換);(iii)將可高速緩存請求路由至L2高速緩存582,並且將不可高速緩存請求路由至NCU584;(iv)在到L2高速緩存582與NCU584的請求之間公平仲裁;(v)對到L2高速緩存582與NCU584的派發,提供流控制,從而在目標窗口中接收請求,並且避免溢出;(vi)接受加載返回數據,並且將其路由至執行級576、578、指令單元572、或者MMU單元588;(vii)將監聽請求傳遞給執行級576、578、指令單元572、或者MMU單元588;以及(viii)將加載返回數據以及監聽流量(traffic)從全速轉換為半速。優選地,MMU單元588為PU核心504A提供地址轉換,例如通過第二級地址轉換功能。優選地,第一級轉換在PU核心504A中由分離的指令與數據ERAT(有效到實際地址轉換)陣列提供,該陣列可以比MMU單元588小得多和快得多。在優選實施例中,PU504運行於4-6GHz、10F04,具有64位實現。優選地,寄存器為64位長(但是一個或多個專用寄存器可以較小),並且有效地址為64位長。優選地,利用PowerPC技術,實現指令單元570、寄存器572、以及執行級574和576,以達到(RISC)計算技術。關於該計算機系統的模塊化結構的其他細節可以在美國專利第6,526,491號中找到,其全部公開通過引用方式包含。根據本發明至少一個進一步的方面,可以利用適當的硬體(例如附圖中所示的),實現上述的方法與裝置。可以利用任何公知技術(例如標準數字電路)、用來執行軟體和/或固件程序的任何公知處理器、一個或多個可編程數字器件或系統(例如可編程只讀存儲器(PROM))、可編程陣列邏輯器件(PAL)等等來實現此類硬體。另外,雖然附圖中所示的裝置顯示被劃分為特定功能塊,但是此類功能塊可以通過分開的電路實現和/或被組合為一個或多個功能單元。進一步地,本發明的各個方面可以通過(多個)軟體和/或固件程序實現,其可以存儲在適當的存儲介質(例如(多個)軟盤、(多個)存儲器晶片等等)上,以運送和/或分發。雖然此處參照特定實施例描述了本發明,但是應該理解這些實施例只是說明本發明的原理與應用。因此,應該理解在不脫離如所附權利要求限定的本發明的精神與範圍的前提下,可以對示範性實施例進行各種修改,並且可以設想其他結構。工業實用性本發明可以應用於將地址從外部存儲器空間轉換為處理器的存儲器空間的技術。權利要求1.一種方法,包括提供硬體實現的高速緩存重填電路,用來管理至少一個地址轉換表高速緩存,該至少一個地址轉換表高速緩存包含用來將外部地址轉換為處理系統的物理地址的數據;以及提供軟體實現的高速緩存重填功能,用來在高速緩存不中之前預裝該至少一個地址轉換表高速緩存。2.如權利要求1所述的方法,其中所述預裝步驟保留所述至少一個地址轉換表高速緩存的一個或多個高速緩存行、以及所述處理系統的存儲器中由所述物理地址尋址的一個或多個相關物理存儲器位置。3.如權利要求1所述的方法,其中所述預裝步驟包括鎖定所述至少一個地址轉換表高速緩存的一個或多個高速緩存行,以免由所述硬體實現的高速緩存重填電路重填。4.如權利要求3所述的方法,還包括在高速緩存不中之後,利用硬體實現的高速緩存重填電路,搜索所述至少一個地址轉換表高速緩存的高速緩存行,以尋找一或多個無效的和/或未鎖定的高速緩存行;以及利用硬體實現的高速緩存重填功能,重填該一或多個無效的和/或未鎖定的高速緩存行。5.如權利要求4所述的方法,還包括當沒有可用的無效的和/或未鎖定的高速緩存行時,發出對於故障通知的中斷。6.如權利要求1所述的方法,還包括允許在所述處理系統上運行的應用軟體確定所述硬體實現的高速緩存重填電路與軟體實現的高速緩存重填功能中的哪一個來操作管理所述至少一個地址轉換表高速緩存。7.如權利要求6所述的方法,還包括允許所述應用軟體調用所述處理系統的作業系統軟體,該作業系統軟體控制所述硬體實現的高速緩存重填電路與軟體實現的高速緩存重填功能中的哪一個來操作管理所述至少一個地址轉換表高速緩存。8.如權利要求1所述的方法,還包括允許在所述處理系統上運行的應用軟體確定所述硬體實現的高速緩存重填電路與軟體實現的高速緩存重填功能可以同時操作管理所述至少一個地址轉換表高速緩存。9.如權利要求1所述的方法,還包括允許應用軟體調用所述處理系統的作業系統軟體,該作業系統軟體控制所述硬體實現的高速緩存重填電路與軟體實現的高速緩存重填功能同時操作管理所述至少一個地址轉換表高速緩存。10.—種方法,包4舌提供硬體實現的高速緩存重填電路,用來管理至少一個地址轉換表高速緩存,該至少一個地址轉換表高速緩存包含用來將外部地址轉換為處理系統的物理地址的數據;以及提供軟體實現的高速緩存重填功能,也用來管理該至少一個地址轉換表高速緩存;以及利用所述硬體實現的高速緩存重填電路與軟體實現的高速緩存重填功能,同時重填該至少一個地址轉換表高速緩存。11.一種方法,包4舌提供硬體實現的高速緩存重填電路,用來管理至少一個地址轉換表高速緩存,該至少一個地址轉換表高速緩存包含用來將外部地址轉換為處理系統的物理地址的數據;提供軟體實現的高速緩存重填功能,也用來管理該至少一個地址轉換表高速緩存,並且在高速緩存不中之前預裝該至少一個地址轉換表高速緩存;以及利用所述硬體實現的高速緩存重填電路與軟體實現的高速緩存重填功能,同時重填該至少一個地址轉換表高速緩存。12.如權利要求11所述的方法,其中所述至少一個地址轉換表高速緩存包含至少一個段表高速緩存,該段表高速緩存中的每一高速緩存行表示所述處理系統的不同存儲器段;以及所述至少一個地址轉換表高速緩存包含至少一個頁表高速緩存,該頁表高速緩存中的每一項包括所述存儲器中物理地址的至少一部分,並且屬於表示所選存儲器段中的頁的項目組。13.如權利要求12所述的方法,還包括允許所述軟體實現的高速緩存重填功能保留所述至少一個地址轉換表高速緩存的一個或多個高速緩存行、以及所述處理系統的存儲器中由所述物理地址尋址的一個或多個相關物理存儲器位置。14.如權利要求13所述的方法,還包括允許所述軟體實現的高速緩存重填功能鎖定所述一個或多個高速緩存行,以免由所述硬體實現的高速緩存重填電路重填。15.如權利要求12所述的方法,還包括將基地址與所述外部地址相加,以產生中間地址的至少一部分;使用該中間地址的第一部分作為用來選擇所述段表高速緩存的高速緩存行之一的指針;使用所述段表高速緩存的所選高速緩存行的至少一部分,作為到所述頁表高速緩存的多個高速緩存行的引用;以及使用該中間地址的另一部分作為到所述頁表高速緩存的所引用項之一的指針,以獲得至少部分轉換到對於所述外部地址的所述存儲器的物理地址。16.如權利要求15所述的方法,其中所述段表高速緩存的一個或多個高速緩存行包含以下中的至少一個指示給定高速緩存行是否有效的一個或多個位;指示所述頁表高速緩存的頁號的一個或多個位;指示所述頁表高速緩存的頁尺寸的一個或多個位;和提供對所述頁表高速緩存的多個高速緩存行的引用的一個或多個位。17.如權利要求15所述的方法,其中所述頁表高速緩存的一個或多個高速緩存行包含以下中的至少一個指示給定高速緩存行是否有效的一個或多個位;指示給定高速緩存行是否在高速緩存不中之前已被所述軟體實現的高速緩存重填功能鎖定以免由所述硬體實現的高速緩存重填電路重填的一個或多個位;和表示所述存儲器中的物理地址的至少部分的一個或多個位。18.如權利要求15所述的方法,還包括利用所述中間地址的一個或多個最低有效位,增廣所述表示物理地址的至少一部分的頁表高速緩存的所選高速緩存行的一個或多個位,以產生對於所述外部地址的轉換後的物理地址。19.一種裝置,包括至少一個處理器,其能夠被耦合至存儲器;以及地址轉換電路,用來將從外部設備接收的虛擬地址轉換為所述存儲器的物理地址,其中該地址轉換電路包括硬體實現的高速緩存重填電路,用來管理至少一個地址轉換表高速緩存,該至少一個地址轉換表高速緩存包含用來將外部地址轉換為物理地址的數據;以及軟體實現的高速緩存重填功能,也用來管理所述至少一個地址轉換表高速緩存,其中有以下情況中的至少一種(i)所述硬體實現的高速緩存重填電路和所述軟體實現的高速緩存重填功能用於同時重填所述至少一個地址轉換表高速緩存;和(ii)所述軟體實現的高速緩存重填功能在高速緩存不中之前預裝該至少一個地址轉換表高速緩存。20.如權利要求19所述的裝置,其中所述軟體實現的高速緩存重填功能用來保留所述至少一個地址轉換表高速緩存的一個或多個高速緩存行、以及所述處理器的存儲器中由所述物理地址尋址的一個或多個相關物理存儲器位置。21.如權利要求20所述的裝置,其中所述軟體實現的高速緩存重填功能用來鎖定所述至少一個地址轉換表高速緩存的一個或多個高速緩存行,以免由所述硬體實現的高速緩存重填電路重填。22.如權利要求19所述的裝置,還包括在所述至少一個處理器上運行的應用軟體,其用來控制所述硬體實現的高速緩存重填電路與軟體實現的高速緩存重填功能中的哪一個來操作管理所述至少一個地址轉換表高速緩存。23.如權利要求22所述的裝置,還包括在所述至少一個處理器上運行的作業系統軟體,該作業系統軟體用來單獨或者響應於所述應用軟體,而控制所述硬體實現的高速緩存重填電路與軟體實現的高速緩存重填功能中的哪一個來操作管理所述至少一個地址轉換表高速緩存。24.如權利要求19所述的裝置,還包括在所述至少一個處理器上運行的應用軟體,其用來確定所述硬體實現的高速緩存重填電路與軟體實現的高速緩存重填功能可以同時操作管理所述至少一個地址轉換表高速緩存。25.如權利要求24所述的裝置,還包括在所述至少一個處理器上運行的作業系統軟體,該作業系統軟體用來單獨或者響應於所述應用軟體,而控制所述硬體實現的高速緩存重填電路與軟體實現的高速緩存重填功能同時操作管理所述至少一個地址轉換表高速緩存。26.—種地址轉換電i各,包括硬體實現的高速緩存重填電路,用來管理至少一個地址轉換表高速緩存,該至少一個地址轉換表高速緩存包含用來將外部地址轉換為存儲器空間的物理地址的數據;以及軟體實現的高速緩存重填功能,也用來管理該至少一個地址轉換表高速緩存,其中所述硬體實現的高速緩存重填電路與軟體實現的高速緩存重填功能用來同時重填該至少一個地址轉換表高速緩存。27.如權利要求26所述的地址轉換電路,其中所述至少一個地址轉換表高速緩存包含至少一個段表高速緩存,該段表高速緩存中的每一高速緩存行表示所述處理系統的不同存儲器空間段;以及所述至少一個地址轉換表高速緩存包含至少一個頁表高速緩存,該頁表高速緩存中的每一項包括所述存儲器空間中物理地址的至少一部分,並且屬於表示所述存儲器空間的給定段中的頁的項目組。28.如權利要求27所述的地址轉換電路,其中所述軟體實現的高速緩存重填功能用來保留所述至少一個地址轉換表高速緩存的一個或多個高速緩存行、以及所述存儲器空間中由所述物理地址尋址的一個或多個相關物理存儲器位置。29.如權利要求28所述的地址轉換電路,其中所述軟體實現的高速緩存重填功能用來鎖定所述一個或多個高速緩存行,以免在高速緩存不中之後由硬體實現的高速緩存重填電路重填。30.—種系統,包4舌內部存儲器空間;至少一個處理器,其被操作地耦合至該存儲器空間;至少一個段表高速緩存,該段表高速緩存中的每一高速緩存行表示所述存儲器空間的不同段;至少一個頁表高速緩存,該頁表高速緩存中的每一項包括所述存儲器空間中物理地址的至少一部分,並且屬於表示所述存儲器空間的給定段中的頁的項目組;硬體實現的高速緩存重填電路,用來管理所述段表高速緩存與頁表高速緩存;以及軟體實現的高速緩存重填功能,也用來管理所述段表高速緩存與頁表高速緩存;其中有以下情況中的至少一種(i)所述硬體實現的高速緩存重填電路與軟體實現的高速緩存重填功能用來同時操作;(ii)所述軟體實現的高速緩存重填功能用來在高速緩存不中之前,預裝所述段表高速緩存與頁表高速緩存。全文摘要一種方法與裝置,提供硬體實現的高速緩存重填電路,用來管理至少一個地址轉換表高速緩存,該至少一個地址轉換表高速緩存包含用來將外部地址轉換為處理系統的物理地址的數據;提供軟體實現的高速緩存重填功能,也用來管理該至少一個地址轉換表高速緩存;以及利用所述硬體實現的高速緩存重填電路與軟體實現的高速緩存重填功能,同時重填該至少一個地址轉換表高速緩存。文檔編號G06F12/10GK101326500SQ20078000053公開日2008年12月17日申請日期2007年5月24日優先權日2006年5月24日發明者大塚活志申請人:索尼計算機娛樂公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀