TWI227402B - Microprocessor and method for performing selective prefetch based on bus activity level - Google Patents

Microprocessor and method for performing selective prefetch based on bus activity level Download PDF

Info

Publication number
TWI227402B
TWI227402B TW091116955A TW91116955A TWI227402B TW I227402 B TWI227402 B TW I227402B TW 091116955 A TW091116955 A TW 091116955A TW 91116955 A TW91116955 A TW 91116955A TW I227402 B TWI227402 B TW I227402B
Authority
TW
Taiwan
Prior art keywords
cache
microprocessor
cache line
memory
bus
Prior art date
Application number
TW091116955A
Other languages
English (en)
Inventor
G Glenn Henry
Rodney E Hooker
Original Assignee
Ip First Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/175,383 external-priority patent/US6810466B2/en
Application filed by Ip First Llc filed Critical Ip First Llc
Application granted granted Critical
Publication of TWI227402B publication Critical patent/TWI227402B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction

Description

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公釐)

Claims (1)

  1. 六、 1· 2. 經濟部智慧財產局員工消費合作社印製 且
    --------#! (請先閱讀背面之注意事項存填寫本f ) 、1T 申請專利範圍 -链Γ概—咖聯版申物_修正本) 二種選擇性執行預取指令之微處理器,係包括: 一 ^流排介面單元,係在—匯流排上執行匯流排動作, 该匯流排連結該微處理器至一記憶體,· 一預估器,_結至該隨齡面單元,以產生一預估, 該預估係經由該預取指令所指定的—預取之快取線是 否將延緩隨後在該匯流排上的匯流排動作;及 一控制邏輯’係連結至該職ϋ,而若册顯示預取該快 取線將延緩該隨後的匯流排動作時,即將選擇性地不進 行預取快取線的動作。 如申4專利範圍第1項所述之選擇性執行預取指令之微處 理器,更包括: 一門檻暫存器,係連結至該預估器,以儲存一預先決定的 門檻值; 其中所述之該預估器會依據該門檻值與該匯流排動作的 仵立值的一比較產生該預估。 3·如申請專利範圍第2項所述之選擇性執行預取指令之微處 理器,其中,若該佇立的匯流排動作數目大於門檻值,則 該預估器會預測預取的快取線將延缓隨後的匯流排動作。 4·如申請專利範圍第1項所述之選擇性執行預取指令之微處 理器,其中,經由該預取指令所明確指定的預取之快取線 包括自該記憶體擷取該快取線。 24 本紙張尺度適用中國國家標準(CNS ) a4規格(210X297公釐
    8 8 8 8 ABCD I5·如申請專利範圍第1項所述之選擇性執行預取指令之微處 理為,其中,該隨後的匯流排動作是為自該記憶體中配置 其他的快取線。 6·如申請專利範圍第1項所述之選擇性執行預取指令之微處 理器’其中’該倚存於門檻暫存器之預先決定的門檻值係 軟體可程式化。 7·如申請專織圍第1項所述之選擇性執棚取指令之微處 理器,其中’該儲存於門檻暫存器之預先決定的門檻值係 於製造該微處理器時,即軟體可程式化。 8· —種選擇性執行預取指令之微處理器,係包括: 一匯流排介面單元,係顯示一匯流排需求之當時層級,該 匯流排為求係由該匯流排介面單元在一匯流排上執 行’而該匯流排係連結該微處理器至一記憶體; 暫存裔,係連結至匯流排介面單元,且儲存一匯流排需 求門檻值; -比較,係賴至該暫存H,該匯流齡面根據該匯流 排需求門檻值與匯流排需求之當時層級的一比較,產生 疋否會在该預取指令後隨即執行更高層級匯流排需求 的一預估;及 -邏輯控制,係連結至該比顧,且獅-快取線,而該 快取線是緣據n法之預取指令_確指定出 的’該第法餘若鋪鋪稍流排介面單元將在 匯流排上短暫接近預取指令之鄰近區執行一更高層級 -------25 _ 本紙張尺度適用中關家標準(CNS)A4—( 210X297公幻--—' ---- (請先閱讀背面之注意事項再填寫本頁) 訂 I I I I- - I
    勢2日丨 申請專利範圍 A8 B8 C8 D8
    的匯流排需求,若非如此,則會依據 取記憶線。 乃凌預取陝 9·=;圍第8項所述之選擇性執行預取指令之微處 -=階與-第二聽取記龍’係連結至該控制邏輯, 純快取線在該第—階與第二階錄記憶體中並 ^中,職第-綠即包括不會自記憶體擷取快取 線。 10·如申請專利範圍第9項所述之選擇性執行預取指令之微處 理器,其中,若快取線在第-階與第二階快取記憶體中並 未命中,該第二方法即包括自記憶體擷取快取線而至第一 階與第二階快取記憶體至少之一中。 11 ·如申請專利範圍第9項所述之選擇性執行預取指令之微處 理器,其中,該第一方法更包括若快取線在第二階快取記 憶體命中與快取線在第二階快取記憶體中具有一非共享 (non-shared)狀態時,則會轉換快取線自第二階快取記憶體 至第一階快取記憶體。 經濟部智慧財產局員工消費合作社印製 12·如申请專利範圍苐9項所述之選擇性執行預取指令之微處 理器,其中,該第一方法更包括若快取線在第二階快取記 憶體命中與快取線在第二階快取記憶體中具有一修飾或 互斥狀態時,則會轉換快取線自第二階快取記憶體至第一 階快取記憶體。 26 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨〇><297公釐)
    六、申請專利範圍 經濟部智慧財產局員工消費合作社印製 13·如ΐ轉概㈣8項所叙選雜執棚取指令之微處 理為’其中’儲存在該門檻暫存器中預先決定的門檻值是 可程式化的。 14\σ種選擇性執行指令綱確指定—快取線之微處理 器i具有一第一階快取記憶體、一第二階快取記憶體與一 匯流排介面單元,以將該複數個快取記憶體連接至一匯流 排’龜雜連結微處理||與—記憶體,該微處理器包括: 一門捏暫存器,係儲存一門摄值; 一^父斋,該比較n連結至該門轉存器,紐該匯流排 介面單70巾並將在該匯流排上待執行的需求大於該門 檻值時,可在一輸出上產生一真值; 其中’若該輸出是-真值的,且快取線是存在於第二階快 取記憶體,微處理驗會在L陳纖中的快取 線-狀態不是共料,自第二階快取記憶體轉換快取 線至第一階快取記憶體。 15. 如申請專利細第14酬述之選擇雌行預取指令並明 確指定-快取線之微處理H,其巾,若錄蚊偽值的, 且若快取線是現存於第二階快取記憶體時,微處理器會將 快取線自第二階快取記舰職至$—隱取記憶體。 16. 如申請專繼_ 15顧述之着性執行預取指令並明 確指定-快取線之微處理器,其中,若該輸出是偽值的, 且若快取線是不存於任-快取記憶體時,微處理器會自該 δ己憶體至擷取快取線其中至少之一快取記憶體中。 I___*_ 27 本紙張尺度適财關家標準(CNS ) Α^ΤΙΤο x 297@ y (請先閱讀背面之注意事項再填寫本頁) i# 、IT· - --I I n
    經 濟 部 智 慧 財 產 局 員 工 消 費 合 作 社 印 製 、申請專利範圍 17·如申請專利範圍第16項所述之選擇性執行預取指令並明 確指定一快取線之微處理器,其中,若該輸出是真值,且 若快取線是不存於任一快取記憶體時,微處理器不會自該 記憶體中擷取快取線。 18·如申請專利範圍第14項所述之選擇性執行預取指令並明 確指定一快取線之微處理器,其中,該微處理器使用一寫 入配置快取通訊協定(write-allocate cache p_)eDl>。 I9·如申請專娜_ Η項所述之選擇性執行預取指令並明 確指定一快取線之微處理器,其中,在該門植暫存器中的 門檻值是可程式化的。 20·如申請專利範圍第14項所述之選擇^^亍預取指令並明 確指定-快取狀«理ϋ,其巾,該職指令是一相容 於Pentium III之預取指令。 21. 如申請專利範圍第Μ項所述之選擇性執行預取指令並明 確指定-快取線之微處理器,其中,該預取指令是一相容 於3DN0W之預取指令。 22. -種具有-第-與-第二階快取記憶體之微處理器 括: 一門檀暫存II,係儲存-匯流排動騎列深度門播值; 一比較器’係連結至朗檻暫存難會產生-結果,若該 ^處理器將要在與連結至微處理器的匯流排上執行的 動作比該匯流排動作仔列深度門襤值更多時,,該结果 是一真值; 以、口 -指令解碼器,係將預取指令解碼,以明確指定出快取線; 丨丨丨丨 11 11 一丨 * 28 本紙張尺度賴悄( eNy (請先閲讀背面之注意事項再填寫本頁) 、1T
    -控制邏輯’係接收結果,若快取線在第—與第二階快取 記憶體未命巾的結果是真確的,馳綱輯會放棄一在 匯流排上擷取快取線動作的需求。 、 23. 如申請專利範圍第22 _述之具有一第一與一第二階快 取記憶體之微處㈣’其巾,若該快取記健在共享狀態 下的第二階快取記憶體中命中時,且僅在若該結果不是真 值的條件下’該控制邏輯會將該快取線自第二階 情 體轉換至第一階快取記憶體。 〜 24. 如申請專利範圍第22項所述之具有—第—與—第二階快 取記憶體之微處理m麵鱗動作糾深度門檻 值是可程式化的。 25·—種提供給一選擇性執行預取指令並明確指定一快取線 且具有一第一與一第二階快取記憶體之微處理器的方 法,係包括·· 判斷該快取線是否命中在該第一與第二階快取記憶體中; 若快取線在第二階快取記憶體中命中,則判斷該快取線的 一狀態; 判斷在被該微處理器所佇立的動作是否比預先決定的門 檻值更多,,該匯流排是連結至該微處理器;及 若快取線在第一與第二階快取記憶體中未命中,且該微處 理器所佇立的需求並未較佇立的門檻值動作多時,則自 糸統記憶體擷取快取線。 ( CNS ) A4·-( 210x2997公釐) (請先閱讀背面之注意事項再填寫本頁) 、1Τ f 經濟部智慧財產局員工消費合作社印製
    '申請專利範圍
    經濟部智慧財產局員工消費合作社印製 26·如申請專利範圍第25項所述之提供給-選擇性執行預取 指令並明確指定一快取線且具有一第一與一第二階快取 記憶體之微處理器的方法,更包括: 若該快取線並未在第一階指令快取記憶體中命中,且該第 二階指令快取記憶體中快取線中,而狀態是共享並若不 大於該預先決定之佇立門檻值動作時,則自第二階指令 快取記憶體中轉換快取線至第一階指令快取記憶體。 27.如申請專利範圍第25項所述之提供給一選擇性執行預取 指令並明確指定一快取線且具有一第一與一第二階快取 5己憶體之微處理器的方法,更包括: 若忒快取線並未在第一階指令快取記憶體中命中,且若在 第二階指令快取記憶體中快取線命中,而第二階指令快 取記憶體是互斥或修飾狀態時,則自第二階指令快二記 憶體中轉換快取線至第一階指令快取記憶體。 如申請專纖圍第25項所述之提供給—選 指令並明確指I快取線且具有與—第二階快取 "己憶體之微處理器的方法,更包括·· 將該門檻值寫入一門檻暫存器。 29.如申請專利範,28項所述之提供給 指令並明確指定一快取線且具有一第一與擇第=取 =憶體之微處理獅方法,其中,將朗做寫入一挪 暫存器係在求取較η檻值更多的動作是否财立的動作 之前進行的。 Μ氏張尺度適财國gj家襟準(CNS) Α4規格⑺Qx297公资) (請先閲讀背面之注意事項再填寫本頁)
    經濟部智慧財產局員工消費合作社印製
    申請專利範圍 3〇·如申請專利範圍第28項所述之提供給—選摆 指令並明確指定一快取線且具有一第—盥一黛:預取 >、弟一階快取 記憶體之微處理器的方法’其中’將該門檻值寫入一門押 暫存器係在製造處理器的製程中進行的。 m 31·如申請專利範圍第30項所述之提供給一選擇性執行預取 指令並明確指定一快取線且具有一第一與一第二快取 吕己憶體之微處理器的方法’其中’將該門襤值寫入一門才監 暫存器係包括在製造處理器的製程中進行程式化 : 32·如申請專利範圍第28項所述之提供給一選擇性執 =預取 指令並明確指定一快取線且具有一第一與一第二階快取 吕己憶體之微處理器的方法’其中,將該門檻值寫入一門根 暫存器係經由微碼於重設後進行,而該微碼係存在於處理 器中。 ' 33·如申請專利範圍第28項所述之提供給一選擇性執行預取 才曰令並明確指定一快取線且具有一第一與一第二階快取 記憶體之微處理器的方法,其中,將該門檻值寫入一門檻 暫存器係經由微處理器中的軟體所執行的。 34·如申請專利範圍第28項所述之提供給一選擇性執行預取 指令並明確指定一快取線且具有一第一與一第二階快取 兄憶體之微處理器的方法,其中,將該門檻值寫入一門檻 暫存器,包括: 在微處理器的執行期間,收集被處理器佇立的該動作之統 計資料; 依據收集的統計資料更新在門檻暫存器中的門檻值。 31 適用中關家標準(CNS ) A4%# ( 210__χ297公釐/ (請先閲讀背面之注意事項再填寫本頁) 訂- IP-.
TW091116955A 2002-06-18 2002-07-30 Microprocessor and method for performing selective prefetch based on bus activity level TWI227402B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/175,383 US6810466B2 (en) 2001-10-23 2002-06-18 Microprocessor and method for performing selective prefetch based on bus activity level

Publications (1)

Publication Number Publication Date
TWI227402B true TWI227402B (en) 2005-02-01

Family

ID=22640034

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091116955A TWI227402B (en) 2002-06-18 2002-07-30 Microprocessor and method for performing selective prefetch based on bus activity level

Country Status (2)

Country Link
CN (1) CN100461092C (zh)
TW (1) TWI227402B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI411915B (zh) * 2009-07-10 2013-10-11 Via Tech Inc 微處理器、記憶體子系統以及快取資料的方法
TWI489387B (zh) * 2009-08-07 2015-06-21 Via Tech Inc 微處理器以及預取資料至微處理器的方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484044B2 (en) 2003-09-12 2009-01-27 Intel Corporation Method and apparatus for joint cache coherency states in multi-interface caches
US8533437B2 (en) * 2009-06-01 2013-09-10 Via Technologies, Inc. Guaranteed prefetch instruction
US8595471B2 (en) * 2010-01-22 2013-11-26 Via Technologies, Inc. Executing repeat load string instruction with guaranteed prefetch microcode to prefetch into cache for loading up to the last value in architectural register
CN102841865B (zh) * 2011-06-24 2016-02-10 上海芯豪微电子有限公司 高性能缓存系统和方法
US9098418B2 (en) * 2012-03-20 2015-08-04 Apple Inc. Coordinated prefetching based on training in hierarchically cached processors
US11567776B2 (en) * 2020-11-03 2023-01-31 Centaur Technology, Inc. Branch density detection for prefetcher

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787475A (en) * 1992-07-21 1998-07-28 Digital Equipment Corporation Controlled prefetching of data requested by a peripheral
US5941981A (en) * 1997-11-03 1999-08-24 Advanced Micro Devices, Inc. System for using a data history table to select among multiple data prefetch algorithms
US6009510A (en) * 1998-02-06 1999-12-28 Ip First Llc Method and apparatus for improved aligned/misaligned data load from cache
US6014736A (en) * 1998-03-26 2000-01-11 Ip First Llc Apparatus and method for improved floating point exchange
CN1242546A (zh) * 1998-03-31 2000-01-26 英特尔公司 用于处理不精确异常的一种方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI411915B (zh) * 2009-07-10 2013-10-11 Via Tech Inc 微處理器、記憶體子系統以及快取資料的方法
TWI506437B (zh) * 2009-07-10 2015-11-01 Via Tech Inc 微處理器、快取資料的方法及電腦程式產品
TWI489387B (zh) * 2009-08-07 2015-06-21 Via Tech Inc 微處理器以及預取資料至微處理器的方法

Also Published As

Publication number Publication date
CN1414467A (zh) 2003-04-30
CN100461092C (zh) 2009-02-11

Similar Documents

Publication Publication Date Title
US6810466B2 (en) Microprocessor and method for performing selective prefetch based on bus activity level
US7743232B2 (en) Multiple-core processor with hierarchical microcode store
US5353426A (en) Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete
US8667225B2 (en) Store aware prefetching for a datastream
US6799257B2 (en) Method and apparatus to control memory accesses
US9886385B1 (en) Content-directed prefetch circuit with quality filtering
US7774522B2 (en) Cache stashing processor control messages
KR102588399B1 (ko) 코프로세서 동작 번들링
US9483406B2 (en) Communicating prefetchers that throttle one another
US8489823B2 (en) Efficient data prefetching in the presence of load hits
US7555576B2 (en) Processing apparatus with burst read write operations
JP4218820B2 (ja) ダイレクトマップドキャッシュとフルアソシアティブバッファとを含んだキャッシュシステム、その制御方法及び記録媒体
WO2014206217A1 (zh) 一种指令缓存的管理方法和处理器
TWI227402B (en) Microprocessor and method for performing selective prefetch based on bus activity level
CN107038125A (zh) 具有加速预取请求的独立流水线的处理器高速缓存
JP2009009571A (ja) レベル2キャッシュ/ネスト・アドレスを変換する方法および装置
CN115563027B (zh) 存数指令的执行方法、系统及装置
US20230195469A1 (en) Device, method, and system to facilitate improved bandwidth of a branch prediction unit
TW200410133A (en) A method to reduce memory latencies by performing two levels of speculation
US6425090B1 (en) Method for just-in-time delivery of load data utilizing alternating time intervals
TWI282513B (en) A pre-fetch device of instruction for an embedded system
US9983880B2 (en) Method and apparatus for improved thread selection
CN105786758B (zh) 一种具有数据缓存功能的处理器装置
US7650483B2 (en) Execution of instructions within a data processing apparatus having a plurality of processing units
US20210200538A1 (en) Dual write micro-op queue

Legal Events

Date Code Title Description
MK4A Expiration of patent term of an invention patent