1227402 A7 五、發明說明(丨) 、[0001]本發明申請之專利範圍係以美國申請案為優先權 基準其申印號為10/175,383,於西元二〇〇一年六月十八 曰提出申請。 Λ -TW 經濟部智慧財產局員工消費合作社印製¾ 發明領域: [0002] 本發明係有關於在一般狀態於微處理器中預取指 令的領域’尤指一種微處理器可依處理器匯流排在工作時的 層級進行選擇性執行預取的指令。 發明背景說明: [0003] 現今大部份的電腦系統都有一微處理器,以進行 執行軟體時所需的必要計算。該電腦系統也包括其他連接至 該微處理器的裝置,如記憶體。該記憶體儲存軟體的指令, 以供給微處理器使用。記憶體也儲存程式指令所需的資料, 以達到程式應有的功能。 [0004] 電腦系統中的一些裝置是在微處理器之外的,如 記憶體;而那些裝置是以直接或非直接的方式經由一微處理 器匯流排連接至微處理器。處理器匯流排是一訊號的收集 器’以使微處理器可一次轉換相對大量的資料,如64或128 位元。當微處理器執行程式的指令,且這些指令正進行對儲 存於記憶體_之資料的運算時,微處理器必須使用微處理器 匯流排自記憶體中擷取資料以放入微處理器裡。相同地,微 處理器會將計算結果經由微處理器匯流排回寫給記憶體。 (請先閱讀背面之注意事項再填寫本頁) 裝 i^T· 線· 五、發明說明(>) 一般t 需的時間 以,微處理器將處資料所需時間的十到百倍。所 來的資料。 近乎停崎狀態’以等待自記憶體擷取而 憶體現時的微處理詩有一快取記 的子集合。當微取記憶體係儲存系統記憶體内資料 ,解現在執行的資料 ==該指令可立即被執行,其資料已3 成舰取得倾,術-絲記龍的 _7]通相著軟體是在資料的相對小集合上進行一段 時間的#作’所以會有許錄取鋪_命巾發生 再於另-段時間在另對小資難合上操作,餘类員推。 这樣的現象是有_參考綠顧。若該程式齡 大體^符合參考方位原理,且在某段時間内快取記憶體的又 小較資料集合為大時’那段時間内快取記憶體的命中可能性 也會高。 b [0008〗然而,有一些軟體其程式不會顯示其作用為大體 上付合參考方位原理與/或是正在操作的資料集合其^小’ 3 1227402 B7 五、發明說明()) ^這要由—存在於記憶體内的較大 =的貝料集合來操作’且觀憶體是在微處理 1媒=緩衝器或系統記鋪。這麵式的例子有如 二媒^蝴轉訊或視訊,轉理視赠 枓。在這些程式下,快取記憶體的命中是低的。检貝 _9]為解決此問題’有,微處理器會有—預取 ί己ΪΪ令集合内。該預取指令指示出該微處理器擷取一快 線’·取記麟是_取齡進讀取記憶體時會 =體說明出來。快取線是龍㈣最小單位,並可在快取 2與系、財的其他記鋪㈤目舰。—般的快取㈣、 位π組。程式設购會麵式巾策略位置處放置 曰二,以預取所需的資料進入快取記憶體。當微處理器 ^執仃那麵彳了計算的指令時,雜早就& 體中的機率增加。 ^ =10]在-些微處理器中,快取記憶體是由多種快取記 隱體所組成的。這些快取記憶體會被安排至許多等級中的一 種裡舉舰明,—微處理器應有二嫩取記賴,即第一 夬取5己憶體與第二階快取記憶體。第一階快取記憶體較第 二階快取記髓更接近微處的計算元件;也就是說第一 ^决取5己憶體較第二階快取記憶體更快速地提供資料給該計 异元件。雖然沒有必要,但是第二階快取記憶體大小一般大 於第一階快取記憶體。 [0011 ]可犯的情況是在先擷取指令上的多階式快取記 憶體其效用為該預取指令所指出雜取線可在第二階快取記 本紙張k適财_家鮮(cns)A4
- i m . ' I (請先閲讀背面之注意事項再填寫本頁) '訂·, 4· x 297公釐) 586 1227402 A7 五、發明說明(if ) -----------Mlti — (請先閱讀背面之注意事項再填寫本頁) 憶體中命中,但*是在第―階快取峨财。在這樣的情形 下,微處理器可將絲線從第二_取記麵傳遞至第一階 快取記憶體,以取代使用處理H匯_捕取自記憶體而來 的該快取線。這是因為自第二階快取記憶體傳遞至第一階快 ,記憶體較經由處理器匯流排去擷取快取線要快很多。也就 是說,第一階快取記憶體分配一快取線,如同一專門為儲存 快取線的位置(location) ’且第二階快取記麵提供快取線至 第-階快取記憶體’以進行儲存。以下的虛擬碼顯示一種傳 統的方法’即在-有二階式内部快取階層(hiergrchy)的微處理 執行先操取指令。在該虛擬碼中,勝叩虛擬操作意思 ίΐ無作業",即微處理器在預取指令上並無任何動作,只是 簡單地將指令略過而不擷取該指定的快取線。 [0012] if (在第一階快取記憶體中有快取線命中) --線· 執行虛擬操作;/*不做任何事*/ else if (在第二階快取記憶體中有快取線命中) 提供所需之快取線自第二階快取記憶體至第一階快取記 憶體; ' ° else 經濟部智慧財產局員工消費合作社印製 經由微處理器匯流排擷取快取線至第一階快取記憔體。 [0013]微處理n包含了 排介面單元(肺),;:元 連繫了處理器匯流排倾處理器的其他部份。當微處 的功能區塊(functional block)於處理器匯流排上執〜显 時,功能區塊會發出一要求至匯流排介面單元,以執= 1227402 A7 五、發明說明(j ; 排動作。舉舰明’―存在於魏理⑽魏區塊會發出一 個S求至BIU ’以執行在處理器紐排上的異動,去擁取自 i— — ! i I (請先閱讀背面之注意事項再填寫本頁) 記憶體而來的快取線。在而中,多元化匯流排動作^需求 „處於等候的狀態是很正常的。這在現今的微處:器 是非常真實的’ _該微處理器執行r化的指令,且該複 數個指令與-管線的不同層陣吻相互平行,其狀況與汽 車的組合生產線相似。 [0014]多元化的需求會在BIU中被暫緩,其結果是在這 暫緩中的-需求必須等到所有其他在它之前的需求被完成 後’才可能處理。因此,若一匯流排動作需求被提出給BIU, 以為快取線的預取時,以下所述的機率是存在的,即該預取 1需求會導致—隨後的需求,該需求會與-更重要的非預取 t ϋ ’然後才會在等待較久的時間後於麟排上執行, 這較久的咖是與它使用其他的方法執行時所f時間的比 較。因此,有可能降低整體表現。 線· 經濟部智慧財產局員工消費合作社印製 _5]-般而言,一預取指令是經由定義一線索恤收 娜快取線’耐是—_的料。也就是說,在某些特定 的狀況下’微處理H會響補職指令断任何的動作。 然而,傳統的微處理紐沒有考慮到—可能性,即執行預取 時會產生額外微處理器匯流排的使用,因此會降低性能的表 現。因此,一微處理器如何依據上述的考量而選擇性地執行 擷取指令。 [0016]本發明提供一微處理器與方法,會與目前的匯流 排動作層級作-比較;該匯流排動作層級含有一預先決定的 1227402 經濟部智慧財產局員工消費合作社印製 A7 ____Β7_ 五、發明說明(心) 門襤值(predetermined threshold value) ’且該門檻值如同一未 來的匯流排動作的預測,並依據這份預測選擇性地執行預取 的扣令。因此,在前述的目的達到後,可以提供一微處理器 以選擇性地執行一預取指令是本發明的特徵。微處理器包括 -匯流排介醇tg(BIU),料元在—連結微處理雜記憶體 的匯流排上執行匯流排動作。微處理器也包括一個預估器 (predictor),係連結至biu,並會預估由預取指令所指明的預 取快取線時,是否會在匯流排上延遲到隨後的匯流排動作 作。Μ處理器更包括一個控制邏輯,係連結至該預估器。若 預估的資料顯示預取快取線會延遲隨後的匯流排動作,該控 制邏輯會選擇性地不預取該快取線。 [0017]提供一微處理器以進行選擇性地預取指令是本發 明的一大特徵。該微處理器包括一 BIU,該BIU指明出一匯 流排需求的當時層級(current level),以使此BIU在一連結微 處理器與記憶體_流排上執行。微處職也包括一暫存 器,係連結至BIU並儲存一匯流排需求門檻值。微處理器也 包括比較器,係連結至該暫存器,並會依據匯流排需求門 檻值與匯流排需求的當時層級之比較的結果,來產生一 是否會在預取指令之後,Ρ遺即執行在匯流排上一高層級的匯 流排需求的預估,。微處理器又包括邏輯控制,係連結至該 比較器;而該快取線是由依據-第-方法之預取指令所日月^ 指疋出的;該第一方法係指若預估顯示BIU將在匯流排上很 接近預取指令之鄰近區執行-高層級的匯流排需求;若非如 此’則會依據第二方法預取快取記憶線。 7 丨氏張尺度適用中國ϊ家標準(CNS)A4規格(21()><297公釐5 ~ - -1 — — — 1 — — — — — — · 11 (請先閱讀背面之注意事項再填寫本頁) 訂· · --線· 1227402 A7
面 之 注 項 再 填 寫 本 頁
裝
1227402 經濟部智慧財產局員工消費合作社印製 A7 Β7 五、發明說明(?) [0020]提供-種方法,即一具有第一階快取記憶體與第 一b快取圯憶體的處理器進行選擇性地操取快取線的方法, 該快取線是由預取指令所指示出的。該方法包括決定快取線 是否在第一階快取記憶體與第二階快W己憶體中命中,決定 若决取線在苐一户皆快取記憶體中命中,則快取線的狀態,與 决疋較預先决疋之門檻值更多的異動是否可以被處理器仔 列,以在連結至該處的匯流排上進行異動。若快取線在第一 與第二快取記憶體未命中,且並無較門播值多的異動被仔 列,該方法也包括自細系統記憶體而來的快取線。 [0021 ]本發明的優點即是經由不去配置預取線至隨後而 來更形急迫之配置的損傷(detrimen祕,而可使處理器匯流排 與快取記憶_使収有效率。該可喊化的Η㈣存器的 額外性優點在晶片硬體與時效上可完成選擇性的預取,尤以 相關自然產生的利益為特別。 [0022]本發_其鱗徵與伽將在以下的 中進行討論。 "" 發明概述: 本發明之第一目的在 >為更進-步瞭解’請參考下面圖式及所伴隨實施例 項詳細說明’將會對本發明技細容和特點錢好的瞭解。 圖式之簡單說明: [0023]圖-係本發明的微處理器之_區塊圖。 (請先聞讀背面之注意事項再填寫本頁)
9 1227402 A7 B7 五、發明說明(”) [0024]圖二係圖一之微處理器的操作流程圖。 圖示之標號說明: 100微處理器 102控制邏輯 104指令解碼器 106暫存器檔案 108位址產生器 112第一階快取記憶體 114第二階快取記憶體 116門檻暫存器 118匯流排介面單元 122預取指令 124第一階命中 126第二階命中 128第二階狀態 132控制訊號 134門檻值 經濟部智慧財產局員工消費合作社印製 --------------裝--- (請先閱讀背面之注意事項再填寫本頁) --線· 136匯流排需求佇立深度 138擷取快取線 142處理器匯流排 144結果 146預取位址 152比較器 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 1227402 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(丨。) 202區塊 204判斷區塊 206判斷區塊 208判斷區塊 212區塊 214判斷區塊 216判斷區塊 218判斷區塊 發明之詳細說明 [0025]請參考圖一所示,係一微處理器觀 巴 該微處理器100係依攄太狢昍 的L鬼圖, mnw 縣發選擇性執行_先處理。 102滅上2,器觸包括一控制邏輯丨❹2。該控制邏輯 接I、產生夕種的控制訊號’以控制微處理器 選擇性地預取快取線的動作。該動作是依據對未來處理器^流排使用的預估所進行的,且該預估是由處理器匯流排使 之現今層級到預先決定的起始層級之關係所決定的。所謂 起始層即將由以下進行描述。 月 [0027]微處理器100也包括一指令解碼器1〇4,係與控制 邏輯102連接。指令解碼器ι〇4接收軟體程式的指令以經由 微處理器100執行,並且將那些接收的指令解碼。尤其是指 令解碼器104被配置來將預取的指令解碼。指令解石馬器顺 會經由預取指令訊號122來通知控制邏輯102,曾經將一預 取指令解碼。 用 的 · I · (請先閲讀背面之注意事項再填寫本頁) 訂: -線· 11 私紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 1227402 A7 五、發明說明(丨丨) [0028] 微處理器100也包括一暫存器檔案1〇6,係連接至 指令解碼器104。暫存器檔案106儲存了複數個指令運算元。 !! ^^ · I I (請先閲讀背面之注意事項再填寫本頁) 尤其地,儲存的運算元是為計算預取的位址,如區段描述符、 陣列索引、位移量等部份。 [0029] 微處理器1〇〇也包括一位址產生器1〇8,係連結至 暫存器檔案106。位址產生器1〇8是基於暫存器檔案1〇6所 接收的運算元產生位址。尤其是位址產生器1〇8產生一預取 位址146,其為預取指令所指定的一記憶體位址。 --線. 經濟部智慧財產局員工消費合作社印製 在 第 [0030] 微處理器1〇〇也包括一第一階快取記憶體112,係 連接至位址產生器108。第一階快取記憶體112快取儲存複 數個位元組的快取線及其相對應的位址,而這些位元組是讀 取自微處理器100外的記憶體。第一階快取記憶體112也維 護每一條快取線的狀態。在本實施例中,第一階快取記憶體 112利用MESI(修飾、互斥、共享、無效)快取連貫性通訊協 定。由第一階快取記憶體112所維護的快取線狀態包含趣§1 之一的狀態值。第一階快取記憶體112自位址產生器1〇8處 接收預取位址146,並再回應產生一第一階快取記憶體命中 訊號124。若預取位址146在第一階快取記憶體112中命中, 第一階快取記憶體命中訊號124是真值的;若非如此,第一 階快取記憶體命中訊號124是偽值的。也就是說,若預取位 址146在第一階快取記憶體112中被快取了,且位址具有有 效的狀態,則第一階快取記憶體命中訊號124是真值的 MESI這個實施例中,有效的狀態是修飾、互斥、共享 一階快取記憶體命中訊號124是提供給控制邏輯102的。 12 本紙張尺度通用中國國家標準(CNS)A4規格(210 X 297公釐) 1227402
經 濟 部 智 慧 財 產 局 員 工 消 費 合 作 社 印 製 五、發明說明(丨>) [0031] 微處理器1〇〇也包括一第二階快取記憶體114,該 快取記憶體114係連接著第一階快取記憶體112。第二階快 取記憶體114快取儲存複數個位元組的快取線及其相對應的 位址,而這些位元組是讀取自微處理器1〇〇外的記憶體。第 一階快取記憶體112在快取記憶階層中較第二階快取記憶體 114更接近微處理器1〇〇中的複數個執行單元,該單元會使 用這些快取線資料,如一整數算數邏輯單元(integer arithmetic logic unit)與一浮點單元(floating-point unit)。以上二例在圖一 中並無顯示。在本實施例中,第二階快取記憶體114係第一 階快取記憶體112的犧牲性快取記憶體。同時,第二階快取 記憶體114也利用MESI快取連貫性通訊協定(MESI cache coherency protocol) 〇 [0032] 第二階快取記憶體U4也自位址產生器刚接收 預取位址146,並在那裡回覆時產生一第二階快取記憶體命 中訊號126。若預取位址146在第二階快取記憶體114中命 中,則第二階快取記憶體命中訊號126是真值;若非如此, 第二階快取記憶體命申訊號126是偽值。第二階快取記憶體 命中訊號126是提供給控制邏輯102。此外,第二階快^記 憶體114會提供一快取線的狀態,該快取線會在第二階快取 記憶體114至一第二階快取記憶體狀態訊號128上的控制 輯102命中。 1… [0033] 控制邏輯102會產生一控制訊號132送至第一階 快取記憶體112與第二階快取記憶體114。訊號132指示第 一P白快取圮憶體112去配置儲存,以接收來自第二階快己
I · I I (請先聞讀背面之注意事項再填寫本頁) 訂·· 線· 1227402 經濟部智慧財產局員工消費合作社印製 A7 五、發明說明) 憶體114的一快取線。尤其是第二階快取記憶體114是選擇 性地轉換至第一階快取記憶體112,該快取線是由預取指令 所明確指定出的,而該預取指令是依據以下所要描述的訊號 132而來的。 [0034] 在本實施例中,第一階快取記憶體112與第二階 快取纖體114皆是寫入配置__〇咖)快取記憶體。也 就是說,它們會在一寫入未命中(write miss)後有配置一快取 線的反應,而不是將寫入異動送至在離微處理器1〇〇的執行 單元是較遠的記憶體階層中的一層級。舉例來說,在寫入第 了身快取記憶體112中未命中時,會再配置一快取線,而不 疋轉送一寫入動作(wme transacti〇n)至第二階快取記憶體 114。相同地,在寫入第二階快取記憶體114中未命中時,會 再配置-快取線,而不是轉送—寫人動作(她論⑽㈣ 至系統記憶體。 [0035] 微處理器100也包括了一匯流排介面單元作⑽ interface unit; BIU)118 ’ 以下簡稱 BIU118,該 BRJ118 係連接 至第-階快取記憶體112與第二階快取記憶體114。匯流排 介面單元118連繫微處理器100其他區塊圖,包括第一階快 取記憶體112與第二階快取記憶體U4至一處理器匯流排 142 „亥處理器匯流排142在系統中連接微處理器⑽至其他 實體’如至彡統記,隨;或者是其他的裝置,而這些裝置必 須能扮演匯流排處理器142的主要角色,如其他的處理器。 在本實施例中,第-階快取記憶體112包含一第一階指令快 取記憶體與ϋ資懸取記紐。在本實補中,每一 --------------裝--- (請先閲讀背面之注意事項再填寫本頁) 訂: 線. 1227402 A7 五、發明兒明(d) ------------!裝--- (請先閱讀背面之注意事項再填寫本頁) 们弟W曰令快取記憶體(L1 instruCti〇n cache)、第一階資料 ,取記憶體(LI data cache)與第二階快取記憶體114皆係處理 w排142至BIU118的匯流排控制者(bus maSfer)。每一 個快取記憶體皆可命令BIU118執行處理器匯流排 142上的 匯流排需求。 [0036] —匯流排需求或一匯流排動作皆是一在處理器匯 机排142上執行動作的需求。舉例說明,處理器匯流排142 的動作是包括資料的讀或取之轉移,如一預取指令所明確指 疋出的快取線;另一例,即介於微處理器100與其他系統實 體之間’如系統5己憶體。匯流排動作也包括快取一致性通訊 協心相關的匯流排循環(cache coherency protocol-related bus cycles),如一處理器通知其它的處理器,要求快取線的使用 權,因此該處理器會改變線的快取狀態,從一共享狀態至一 修飾狀態。 經濟部智慧財產局員工消費合作社印製 [0037] 當BIU118收到一命令以執行在處理器匯流排142 上的動作時,BIU118會將匯流排需求排列在一佇列中或一管 線彳宁列中。BIU118會維持所佇列的未執行匯流排需求數目的 一深度或一計數。BIU118提供匯流排需求佇列深度136至控 制邏輯102。在本實施例中,每一個快取記憶體112與114 會窺伺處理器匯流排142以偵測處理器匯流排142上的其它 控制器(bus master)的快取線命中。最後,BIU118自控制邏輯 102接收一訊號138,以指示BIU118去擷取自系統記憶體而 來的一快取線配置到第一階快取記憶體112或第二階快取記 憶體114。 15 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 1227402 經濟部智慧財產局員工消費合作社印製 A7 五、發明說明((/) [〇〇38]微處理n刚也包括一可程式門播暫存器⑽。該 門檻暫存H 116儲存值134,歸134可依據以 下數個實施例方式,以程式化寫入門檀暫存器116中。 [0039] 在本實施例中,門檻暫存器加被包含於微處理 器刚中的;'特徵控制暫存器淮齡control register)。依據 重設之後,初始化微碼(microcode)的微處理胃1〇〇將附有複 $個預設_概㈣暫存雜敲,這些職值在微處理 器100製作過知中即已寫入在該微碼中,包括門權值⑼。 [0040] 在本實施例中,微處理器1〇〇包括了一外接的、 一次程式化的保險絲陣列。這些保險絲會在微處理器1〇〇的 製作後燒斷,以將-遮罩值寫入該保險絲陣列中,以為能改 變特徵控制暫存器的預設值。在這初始化微碼將附有預設值 的特徵控制暫存器程式化後,微碼會讀取保險絲陣列值、互 斥或附有保險絲陣列值的預設值與儲存結果至特徵控制暫存 器。另一點’特徵控制暫存器是使用者可看得見的。於是, 在初始化與微碼已程式化門檻暫存器116後,在微處理器娜 上執行的軟體會將初始值134寫入門檻暫存器116中。 [0041] 在本實施例中,控制邏輯1〇2監視匯流棑需求佇 立深度136並據以產生統計資料。控制邏輯1〇2會在微處理 器100的執行期間(run-time)時將根據收集到的統計資料存在 於門檻暫存器116中的初始值134更新。 [0042] 微處理器1〇〇也包括一比較器152 ,係連結至門 檻暫存器116。該比較器152接收初始值134與匯流排需求 佇立深度136,並比較這二值以產生一結果144以提供給控 16 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ill — — — — — — — — — — · I I (請先閲讀背面之注意事項再填寫本頁) · 線· 1227402 A7 五、發明說明(ιί) 制賴1〇2。若匯流排需求仵立深度1S0大於初始值134,則 該結果I44是真值,·若非如此,則結果⑷是偽值。若是比 較結果I44顯示匯流排需求仵立深度⑽大於初始值1糾 時’本發明可選擇性地不去預取—預取指令_確指定的快 取線,除非快取線在-非共享狀態下的第二階快取記憶體 114中〒巾如圖一中所描述的狀況。這樣使用處理器匯流 排142會潛在地使其更有效率;尤其是在處理器匯流排⑷ 將在不久的未來就會被大量制的時刻。味結果144所扮 的是一預估肺118是否在不久的未來執行-更高層級的匯 流排動作的角色,如在縣指令後雜時_即開始。若執 行預取指令會延緩接下來更緊急的匯流排動作的執行時,這 預估會彳紐制邏輯1〇2虛擬彳_(nG_⑽該預料旨令。例 如,自記憶體配置更急迫需用的快取線。 [0〇43]本案發明人曾觀察到處理器匯流排使用的先前動 作與未來處理器匯流排使用之間具有一關連性。尤其是本案 發明人觀察到-超越-統計初始_先__使用,是一 種工作量的改變已然發生的誠,如工作切換(taskswitch)。 因此,當工作量的改變已然發生時,微處理器很可能將會需 要使用處理器匯流排,以自與新工作量有關的記憶體禮取快 取線;而不是攫取與預取指令有關的快取線。在上述狀況下, 且在某種特定條件時,進行虛擬操作預取指令的動作是有幫 助而不疋加上更多的處理器匯流排動作需求至匯流排介 面單元佇立(bus interface unit queue;) 〇 17 本紙張尺 1適用中國國家標準(CI^S)A4規格⑽χ 297公爱) 頁 訂 線 員 1227402 A7 經濟部智慧財產局員工消費合作社印製 五、發明說明( [0044] 基於這樣峨察,當比較結果144顯示—处 :生,即在不久的未來’處理器匯流排伽層級將纽 本發明將會顧該比較結果144於傳財法外的不同層面。 以下虛擬碼(pseudo-code)說明本發明的預取架構。θ [0045] if(在第一階快取記憶體中快取線命中){ no-op; /*什麼都不做*/ } else { if (匯流排需求深度大於初始值){ if (在第二階快取記憶體中快取線命中共享) no_op; 什麼都不做*/ else if (在第二階快取記憶體中快取線命中互 斥或修飾) 自第二階快取記憶體轉換快取線至第— 階快取記憶體; else no-op; /*什麼都不做*/ } else { if (在第二階快取記憶體中快取線命中) 自第二階快取記憶體提供所需的快取線 至第一階快取記憶體; else 自處理器匯流排擷取快取線至第一階快 取記憶體; 18 — — — — — — — — — — — — — — · 11 {請先閲讀背面之注意事項再填寫本頁) 訂· --線· 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 X 297公爱) 1227402 A7 B7 五、發明說明( } } [0046] 自上述之虛擬碼所觀察到的,若比較結果144 ϋ 無顯示處理器匯流排使用在不久的未來會有可能很高時,傳 統的架構將會被拿來使用;否則,除預取可以不產生更多的 處理器匯流排動作外,也就是說執行一内部的轉換,即自第 二階快取記憶體轉換該明確指定預取快取線(shared prefetch-specified cache line)至第一階快取記憶體。本發明會 虛擬操作該預取指令,預取但是,僅是選擇性是依據第二階 快取記憶體中快取線的某些狀態。 經濟部智慧財產局員工消費合作社印製 I------I-------- (請先間讀背面之注意事項再填寫本頁) -線 [0047] 共享快取線主要是將唯讀快取線在處理器匯流排 上的複數個控制器(master)間所共享,但是共享快取線也是玎 以寫入的。然而,預取指令並不顯示隨後存取的預取資料將 疋載入或儲存。若一指定之預取快取線自第二階快取記憶體 移動至第一階快取記憶體,但隨後的存取是儲存入該快取線 的,於是第一階快取記憶體需要產生—匯流排需求至匯流排 介面單元,以為通知其他的匯流排控制器以取得該快取線的 使用權,以自共享至修飾狀態間作一轉換。如此,自第二階 快取記憶體轉換至第一階快取記憶體將不會有效能增益 (performance gain),因為該儲存將無法完成,也就是說,這 樣的狀態無法更新,必須要等到主張匯流排使用權需求完成 才可以。此外,自第二階快取記憶體轉換至第一階快取記憶 體時有可關傷到效能的表現,因树樣轉換可能會取代 第一階快取記憶體中具有潛在功能的快取線。於是,若該指 19 本紙張尺i適用中國國家標準(CNS)A4規格(21〇 x 297公釐)一---- !2274〇2 A7
經濟部智慧財產局員工消費合作社印製 疋預取快取線在第二階快取記髓巾是共享狀_,該快取 線最好是留在第二階快取記,隨中,耐是轉換至第一階快 ,記憶體。本案發明人也注意特定的視f操作軟體會異 吊地將共享狀態τ的快轉在指令與資料絲記紐間來回 傳送。 [0048] 凊參考圖二所示,係本發明圖一中微處理器 的流程操作圖式。流程的開始是自區塊2〇2的。 [0049] 在區塊202中,指令解碼器1〇4將一預取指令進 仃解碼,並告知控制邏輯1〇2。處理流程是自區塊2〇2至判 斷區塊(decision block)204。 [0050] 在判斷區塊204中,預取位址146應用於第一階 快取記憶體112,而控制邏輯102會檢驗第一階快取記憶體 命中訊號124,以判斷第一階快取記憶體命中訊號124是否 真確,也就是說,預取位址146是否在第一階快取記憶體112 中命中。若是如此,控制邏輯102將不會預取該明確指定預 取快取線,因為它早已在第一階快取記憶體112,且流程至 此結束;若不是,處理流程會至判斷區塊2〇6。 [0051] 在判斷區塊206中,控制邏輯102會;^驗結果 144,以求取匯流排需求佇立深度136是否大於初始值134。 若否,處理流程會至判斷區塊208,·否則,處理流程會至刹 斷區塊214。 [0052] 在判斷區塊208中,預取位址146應用於第二階 快取記憶體114,而控制邏輯102會檢驗第二階快取記憶體 命中訊號126,以決定第二階快取記憶體命中訊號ι26是否 20 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ---------I--- --- (請先閱讀背面之注意事項再填寫本頁) 訂·· -線· 1227402 經濟部智慧財產局員工消費合作社印製 A7 -------—-___ B7 ______ 五、發明說明(W) 真確。也就是說,預取位址146是否在第二階快取記憶體114 中命中。若不是,處理流程會至區塊212 ;否則,會至區塊 222。 [0053] 在區塊212中,控制邏輯1〇2經由控制訊號138 命令BIU118,以佇立一匯流排需求去擷取由預取指令所明確 指定的快取線。該預取指令在第一階快取記憶體112與第二 階快取記憶體114中皆未發現。控制邏輯1〇2會擷取快取線, 因為該處理器匯流排142在不久的未來不會被高度使用可由 匯流排需求佇立深度136不大於初始值134來指出。本次流 程將結束於區塊212。 [0054] 在判斷區塊214中,控制邏輯1〇2會檢驗第二階 快取記憶體命中訊號126,以求取第二階快取記憶體命中訊 號126是否真確也就是說,預取位址146是否在第二階快取 A憶體114中命中。若不是,控制邏輯1〇2不會擷取明確指 定快取線,因為匯流排需求佇立深度130大於初始值134, 所以该處理器匯流排142將如同之前曾提過的,即在不久的 未來會被兩度使用。。於是,本次流程將結束於此;不然, 流程將至判斷區塊216。 [0055] 在判斷區塊216中,控制邏輯1〇2會檢驗第二階 快取記憶體狀態128,以求取由預取指令所明確指定的快取 線狀二'疋否疋共旱的。若是共享的,控制邏輯I。〕將不會轉 換决取線自第一階快取記憶體至第一階快取記憶體 112,其原因在前已討論過了。於是,本流程結束。若非如此, 處理流程會至判斷區塊218。 21 本紐尺度適财關家標準格(21G x 297公^---- 裝— (請先閱讀背面之注意事項再填寫本頁) · · 線. 1227402 經 濟 部 智 慧 財 產 局 員 工 消 費 合 作 社 印 製 A7 B7 五、發明說明(M ) [0056] 在判斷區塊218中,控制邏輯102會檢驗第二階 快取記憶體狀態128是否是互斥或修飾的。若第二階快取記 憶體狀態128是互斥或修飾的一個值,則處理流程會至區塊 222。若否,該快取線是無效的,且控制邏輯1〇2不會擷取明 確指定快取線,因為該處理器匯流排142將如之前曾提過 的’即在不久的未來會被高度使用,因為匯流排需求佇立深 度136大於初始值134。於是,本次流程將結束於此。 [0057] 在區塊222中,控制邏輯1〇2會在控制訊號132 上產生一真值(true value),以指示第二階快取記憶體114轉 換預取指令所指定之快取線至第一階快取記憶體112。也就 是說’第一階快取記憶體112為該明確指定預取快取線配置 空間,並自第二階快取記憶體114接收快取線,又儲存該快 取線至所配置的空間。於是,流程止於區塊222。 [0058] 以上有關本發明例示的實施例說明與圖式,並非 用來限制本發”請補賴之賴的_,且就熟悉該項 技藝人士而言,顯然可有許多實質相同之均等變化,這些變 化不應視為與本發明的精神絲圍有所背離。所有憑藉此項 技藝的變化、修飾,均舰為包括在本發明如下所述申請專 利範圍保護的範疇中。 [0059] 本發明如前述之說明,確能達到預期之作用及效 果上述本發曝佳實施彳狀綱,伽賴示本發明 之技術特徵,而非限制本發明之權益。因此,舉凡結構上之 、:微或?件數目上之變更及等效之取換,仍應隸屬本發 明之崎。、综上所述,本發明確實為同類產品中「首先發明」, 22 5^尺度適用^國家X 297公釐 -----------— I— R___ (請先閱讀背面之注意事項再填寫本頁) 訂· 線· 1227402 A7 _B7_ 五、發明說明(>>) 且可發揮更大之實用功效,深具利用價值,且未見有雷同或 近似之物品揭露於市,懇請貴審查委員惠予審查,並賜准 專利,實為感禱。 ----I---— II------ (請先閱讀背面之注意事項再填寫本頁) ·- -線· 經濟部智慧財產局員工消費合作社印製 23 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)