TW311192B - - Google Patents

Download PDF

Info

Publication number
TW311192B
TW311192B TW083110423A TW83110423A TW311192B TW 311192 B TW311192 B TW 311192B TW 083110423 A TW083110423 A TW 083110423A TW 83110423 A TW83110423 A TW 83110423A TW 311192 B TW311192 B TW 311192B
Authority
TW
Taiwan
Prior art keywords
bus
request
cache
data
memory
Prior art date
Application number
TW083110423A
Other languages
English (en)
Original Assignee
Intel Corp
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
Application filed by Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of TW311192B publication Critical patent/TW311192B/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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • G06F9/3828Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage with global bypass, e.g. between pipelines, between clusters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

311192 A7 _B7________ 五、發明説明(1 ) 馘明镅诚 (請先閱讀背面之注意事項再填寫本頁) 本發明概言之係關於電腦糸統,且更明確的說係關於具 有多層次之階層式記憶體的電腦糸統,且該等階層式記憶 體必須保持連貫。 發明莆晷 電腦糸统可包含Μ階層方式來配置之多層次記憶體。例 如,一電腦可包含一主随機存取記億體(RAM),與一包含 一或更多層次之快取記憶體的中央處理單元(CPU) °每一 層次之快取通常較其上之層次更快且更小,但更貴’無論 是就金錢或矽面積而言。快取是用來Μ一種透通於程式之 方式來增進執行程式之執行速率。每一快取是用以保持程 式邏輯上觀看之有效資料位於RAM ,Μ致CPU可更快加以 存取。此一糸統可'包含一最好位於CPU内之層次1 (L1)快 取,且可進一步包含一可位於CPU内做為晶Η内或晶片外 記憶體之層次2 (L2)快取.,且可進一步包含一通常會位於 母板之層次3 (L3)快取。當然有可能是其他姐態。 因為相同連輯資料儲存於可能是一或更多層次之快取的 實體不同位置,且因為一給定理輯資料可在不同時間寫人 該等多個餍次,因此箱要維持諸廇次之記憶體間的遇輯一 致性或連貫性。 先進之電腦糸統可包含能夠讀取或寫人記憶體之多個碍 介器。此使快取連貫性需求複雑化。此類媒介器可包含位 於單一 CPU内之多棰個賭。他們也可包含單一系统之多個 CPU 。或者,他們可包含其他型式之媒介器’例如直接記 -4 - 本紙張尺度適用中國國家標隼(CNS ) A4規格(210X297公釐) A7 _ B7 五、發明説明(2 ) 憶體存取(DMA)控制器之類。 在此一糸统中*多棰快取可耦接至多棰匯流排姐合。最 好多棰媒介器是Μ非阻塞方式經由這些匯流排來存取快取 Μ增進糸統效能。 所需的是一種用來為非阻塞,多層次快取維持快取連貫 性之此種改良糸統與方法。此在具有下列任一或所有特性 之糸統中尤其重要:脫序指令處理,指令之推測執行,尤 其是涉及匯流排請求之指令,深匯流排管線化,自修改碼 之支援,碼與資料快取擷取無關,L2快取整合,及多層次 内部快取。 發明摘垂胆目槽 一種電腦糸統,Μ及其所執行之一種方法,具有一棰用 以在多層次階層式記憶體糸統之多種層次快取間確保資料 埋貫性之機構。此快取連貫性機構包含一外部匯流排請求 佇列與相關機構*而該佇列與相關機構合作Μ監測並控制 資料請求,例如讀取請求與寫入請求,之發出至一外部睡 流排。該電腦糸統包含一或更多CPU ,而每一 CPU皆具有 此連貫性機構。 附_簡鼠說_ΒΒ_ I .、·裝 II 訂 II ; 線 (請先閱讀背面之注意事項再填寫本頁) I張 紙 I本 示中 顯其 M且 加件 來姐 制之 限似 非類 而示 範表記 示碼一 為號與 做考器 形參理 圖之處 之同姐 圖相一 附中含 用形包 是圖示 明等顯 發該 1 本在圖 且 之 统 系 次 體 憶 mil 理 處 多 圖 槪 的 统 糸 腦 S 器 理 處 多 1 之 明 發 本 琨 實 ; 可 铳示 糸展 腦 2 電圖 器 李 標 家 國 ;國 中 一用 適 311192 A7 B7 五、發明説明(3 ) 圖3是展示可宵現本發明之一匯流排蔟糸统的方塊圖。 圖4展示本發明之一多處理器電腦糸統的概圖。 圖5是在本發明之一實例之二匯流排交易的時序圖。 圖6是融入本發明之電腦糸統之一實例之一處理器記憶 體次糸統的方塊圖。 圖7展示融入本發明說明之一示範處理器的方塊圖。 圖8是多處理器電腦系統之一處理器的方塊圖。 圖9是顯示本發明之糸統的方塊圖。 圖10是展示外部匯流排請求佇列之進一步细節的方塊圖 0 圖11顯示包含一重排序緩衝器之再排序電路,而該重排 序緩衝器包含一姐R0B項(RE0至REn),且該姐R0B項緩衝 來自實體微運作之脫序推測執行的推測结果資料。 圖12顯示一載入快取電路,而該載入快取電路包含一位 址產生電路,一記憶體排序電路,一資料轉換旁視緩衝器. (DTLB)電路,及一資料快取電路。 圖13顯示一實例的一處理器,而該處理器包含一内部資 料快取,一記憶體存取電路,及追蹤延緩交易之交易佇列 〇 圖14顯示一寊例的一節點介面電路,而該節點介面電路 包含一用Μ追蹤延緩交易並用以在匯流排蔟之間傳遞延媛 交易之交易佇列。 圖15展示一中止與重分派過程之範例。 圖16是說明用Μ在一多處理器糸统提供一記憶體連貫性 -6- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) ^ 裝 訂 f'線 - - (請先閲讀背面之注意事項再填寫本頁) S11192 A7 B7 五、發明説明(4 ) 模型(亦即過程排序)之諸步驟的流程圖。 圖17-18提供顧示節點介面電路之通訊交易處理的流程 圖。 圖19是顯示請求匯流排媒介器之讀取交易的流程圖。 圖20是顯示請求匯流排媒介器之寫入交易或無效化交易 的流程圖。 圖21是本發明之電腦系统之一實例之運作的簡化流程圖 〇 圖2 2是說明甩K在本發明之一實例經由一管線化匯流排 來支援對記憶體之運作之諸步驟的流程圖。 圖23是說明用Μ在本發明之一實例經由一管線化匯流排 來執行讀取運作之諸步驟的流程圖。 圖24是說明用Μ在本發明之另一實例在讀取運作中更新 快取狀態之諸步驟的流程圖。 圖25是說明用Μ在本發明之另一實例在讀取運作中更新. 快取狀態之諸步驟的流程圖。 圖26是說明用Μ在本發明之一實例經由一管線化匯流排 來執行寫入運作之諸步驟的流程圖。 圖27是說明用Μ在本發明之另一實例在寫入運作中更新 快取狀態之諸步驟的流程圖。 圖28是說明用Μ在本發明之另一實例在寫入運作中更新 快取狀態之諸步驟的流程圖。 圖29是說明用Μ在本發明之一實例經由一管線化匯流排 來執行快取線無效化運作之諸步驟的流程圖。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) I I -- I— —II i II —I— 1^1. 1 士交,- - - j ..... -I- i-ί- I i --1 V' -- - - » I— - I··· 二'- - Γ' 0¾ ,va-i 备 - - (請先閲讀背面之注意事項再填寫本頁) 五、發明説明(5 ) A7 B7 圖l顯示一多處理器電腦糸 120包含一姐處理器122-124 理器1 2 2 - 1 2 4及記憶體次糸統 128來通訊。 统1 2 0 。多處理器電腦糸統 ,及記憶體次糸统126 °處 126經由多處理器匯流排 a Λ i> ^ϋ» fm HI In ml I 1 I...... I -I -I In nn ^OJin I - - I - -I I - * > (請先閱讀背面之注意事項再填寫本頁) 體次糸統126經由多處理器 執行對 每一處理器122- 124自記億 128擷取一巨指令流。每一處理器122-124 匯流排 應之巨指令流並維持記億體1次 圖2 該電腦 展示可實現本發明之一 糸統通常包含用Μ在一 間傳遞資訊的處理器-系統匯 器-系統匯流排2 0 1包含位址 所述,處理器202和203可包 憶體,通常稱為層次1 (L1)快 料與指令於晶Η上。此外,一 取記憶體204可耦接至處理器 以供處理器202所用。在目前 記憶體是與處理器202包含於 用Μ連同處理器202 —起處 至處理器-糸統匯流排201 。 理器,例如類似於或相同於處 處理器203可包含一輔助處理 此外,用以暫時儲存資料與指 (例如處理器202 ,處理203 -8- 糸統126之 多處理器雷 或更多處理 流排或其他 ,資料和控 含一小,極 取記憶體, 較大,較慢 202來暫時 之較佳實例 相同之晶片 理資訊之處 處理器203 理器202之 器,例如数 令來供電腦 ,等等 > 使 資料儲存 腦糸統的 器202和 通訊裝置 制匯流排 快之内部 用Μ暫時 之層次2 儲存資料 中,L1和 封装内。 埋器203 可包含一 處理器。 位信號處 系統之其 用的層次 概圖。 203之 。處理 。如上 快取記 儲存資 (L 2 )快 與指令 L2快取 也耦接 平行處 此外, 理器。 他裝置 3 本紙张尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) lum iS. :U^ ;lJL '} -r* u -T^T . 〇 飞·- _A_l〇 Ω__ί; A7 B7
五、發明説明( S勺 快 决 經濟部中央標準局員工消资合作社印製 甩K 215耦 他裝置 謂控制 V-K· TT-7 丨茂仔以 主記憶 與指 定法則 二,-U C 心 /、 示資m CRT)-?>ΐ }^f 21 输人 排2 1 5 i./〇 m 匯流排 系统I / 〃更明 ./字/ .凍大小 取 控 傳 •I 對 a a m 記 來 液
記憶體 控钊器 制器21 遞S訊 至處理 記憶體 2 2 2耦 憶體U i的存 記憶體 雄持讀 料儲存 電锱使 晶顯示 输岀(I
2 1 1與闯Μ控;_ L 2 1 0也講接至喔理器·-每汶謹 C也耦接至記憶-杂.¾ 1沅 之記憶體-糸統匯流诗或其治 器2 0 2 Μ提供處理器2 0 2與電 與输入/输出(I / 0)次Α统的 接至記億體-糸统Μ流持2 1 5 A Μ )或其他動態儲存装置2 2 1 取來儲存處理器2 0 2與_埋器 控制器2 2 2基於下文會詳蜀力Π 取與寫入運作之瞑序。吊Κ铺存 裝置2 2 5 ,网如磁碟或磁碟機* 用者之顯示装置2 2 3 ,洌如違極 〖LCD),等等,也锅接至記憶S 統 it 通 之 訊 (請先閱讀背面之注意事項再填寫本頁) •裝. 說
Mi j心-小 匯 /〇)譆接器2 2 4错接至記虛健-糸统· 與_1 / 0匯流排2 3 1來為記憶體-系:¾ H流排2 1 流排2 3 1上之装置提供通訊路徑或閑通道Μ在 之裝Ϊ間存取並轉移資科:本質二,丨S接喆2 2 0匯流裙2 3 1輿記億體-系统1茂弟2 1 3咒之 確的說,_接器2 2 4轉換ί / 0 流排2 3 1二:5 雙字資料霄移流量或為記憶翟-芊统匯流排2 : ΰϋ μ.: 亟流排2 3 1注電系统之裝1間闰迓資m :可 ήί! 線 本紙張尺度適用中國國家標準(CNS ) Α4規格(ilOX 297公釐) 五·、發明説明(7) 至系統 線管, 入裝置 裝置( 制裝置 貝裝置 指令之 至糸統 當然 上述元 與L3快 於記憶 供顯示 處理器 圖3 本發明 統。圖 意數目 匯流排2 3 1 液晶顯示, 2 3 3 ,用以 例如處理器 2 3 4 。此外 235 ,例如 大量儲存裝 匯流排2 3 1 ,本發明之 件。例如, 取記憶體。 之裝置包 等等,包 傅遞資訊 202) - Μ •用Μ提 繪圖機或 置 236 , 某些建構 在某些建 在此類建 體-糸統匯流排215 資訊。本 A7 B7 含顧示裝置232 ,例如 含文數字與其他鍵之文 與指令選擇至電腦系統 及用以控制游標移動之 供電腦影像之視覺表示 印表機,Μ及用以儲存 例如磁碟與磁碟機,也 與使用可能無需或不包 構中,可能無需L3快取 構中處理器202與203將 。在其他建構中,可能 發明之某些建構可包含 装置來顯示 或其他元件。 是展示可實現本發明之一匯流排蔟糸統的方 可應用於具有一或更多媒介器簇之多處理器 3展示二此 之媒介器所 -306與一快取307 f- % 處理器 (DMA) 路裝置 等等。 。快取 類蔟301與302。 姐成。例如,蔟 所姐成。媒介器 器,数位信號處 入/愉出(I/O) 具有或不具有對 介器可為可執行 這些蔟之每一個 3 0 1是由4媒介 303-306可包含 理器•直接記憶 装置| I/O橋接 應處理器之個別 載入或儲存之任 ,輔助處理 控制器,愉 /控制器, 簡言之,媒 307是由4媒介器303-306所共用。每一簇 陰極射 數字愉 之其他 游檷控 的硬拷 資訊與 可耦接 含所有 控制器 直接位 無需提 額外之 塊圖。. 電腦糸 是由任 器303 其他微 體存取 器,網 快取, 何裝置 皆耦接 ^ ^ ί > n 訂 '、線 (請先閱讀背面之注意事項再填寫本頁) 10 本紙悵尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) i mmμ ag Μ \ 號專柺申請察 ί頁(s β年:: Α7 Β7 五、發明説明( 至系统蓮流排3 0 3 、 接至電腦系统之多種 接電喔条统至外部世 311 ,而記憶體介面 陣列,之存取: 在本發明中,為大 體固有地假設莲理器 苘處理器所產生之儲 來觀看:換句話說, 消費者閟涤之來源碼 例如,寂設裒理器 處理語3 0 3所產生之 器之竭序兜如下: 生產者 V 1 : ίέθ ~Pr 5Ϊ -M /j1; Ui iit W 2 :儲存1於旗標 因此,生產者®理器 ,_後跟著第二寫入 位址X·之資η是有效 執行a取逼作R 1 Μ決 作是連續垲執行到旗 這些蔟3 0卜 其肋元伴= 界Ζ局运I . 3 1 1提供三
Tf-'J 經濟部中央標準局員工消費合作社印製 IJ---^----11¾衣--------IT·------^ (請先閲讀背面之注意事項再填寫本頁) 3 0 3 旦讓帮到旗 理器3 0 4執行讀取運 可在多蘧理器条統中 多數®理器 排字,支援S湮器 存是由糸統:二所有 儲存之順序必須雄 依靠此支援5薙保 3 0 3是資訊之生產 資訊的消費# =生 1 : 講 理 ;γΠ7 ayl U 求 ι ·κ· ί.'^ 丁田 ,二 相同 生產
3G '•Ξ !ί 2 :自位 3 0 3執行資料之寫 運作W 2來設定賴標 的。其間,::;]費# 定是否旗標已設為 標設為” 1 _’為上; 標已受到設定5 作R 2 Μ自泣址 >:截 成功地執行,主產 ;.v-i r
Μ; =3 PC J-U 上- 抖 ::0 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) A7 B7 _ _ ^*·— _____— --— " 五、發明説明(9 ) W1和W2之順序應相同於對消費者處理器304而吕卩丨和卩2受 到更新之順序。 在本發明中,效能是藉由建構推測式處理器排序而同時 防止處理器排序違規來最大化。在目前之較佳實例中’諸 儲存之順序仍受到維持且是連貫的。但是’載入得以超越 其他載入。儲存指令立刻退休且維持在儲存緩衝器之内’ 因為退休無需快取/記憶體存取。這些儲存’稱為"年長 ’,儲存,是在背景之下對記,憶體執行。快取/記憶體糸統 之内容維持不變。 雖然二連續儲存(亦即Ή和W2 )已在年長儲存緩衝器中 退休,只有生產者處理器可覼察到該等儲存之存在’而任 —消費者處理器皆無法觀察到該等儲存之存在。如果生產 者處理器讀取該等相同位址,其是直接自儲存媛衝器則送 至核心。此機構稱為,,儲存前送"(st0「e fo「warcnng)。請 注意此機構维持處理器相對於其本身之寫入的處理器排序1 。在此時,如果糸統之任一消費者處理器讀取該二位置’ 則二者皆不會反映二儲存之效應。此確保相對於所有其他 處理器對此二寫入而言處理器排序受到維持。年長儲存因 而退休,一次一個離開儲存緩衝器。此導致一記憶體糸统 更新。因此,W1儲存保證為雔開年長儲存嫒衝器之第一個 。因為不允許随後儲存離開年長儲存緩衝器單元’系统記 憶體確定會受到更新。 當一載入超越另一載入時 <例如推測式載人運作)’載人 緩衝器偵察來自其他處理器之儲存。如果一外部儲存與較 -12- 本紙張尺度適用中國國家樣準(CNS ) A4規格(210X297公釐) --------装------訂------'線 - f (請先閱讀背面之注意事項再填寫本頁) A7 B7 五、發明説明(l〇 ) 早載入已完成之載入衝突且該較早載人仍然未決,此顯示 偵測出違規。在一實例中 > 一載入如果尚未自記憶體載入 則視為未決。在另一實例中,未決表示記憶體已受到存取 ,但該載入尚未退休。在此另一莨例中,假違規可能出現 。此不會阻礙正確性,但會衝擊效能。非法載入與所有隨 後之微運作(包含來源檷,目的地,立即與旗標之微碼) 皆受到中止。然後序列重新啟始於啟始中止情形之載入。 藉由在稍後重分派載入。正確之資料受到讀取。 琨在提供一範例來顯示相對於上述之生產者處理器303 與消費者處理器304之讀取/寫入序列(Rl, R 2, W1,與 W2)的處理器排序運作。假設載入R2是在前一載入R1受到 處理之前受到推測處理,因而導致處理器排序違規。此違 規是當儲存W2造成巳完成載入R2之偵察命中而載入R1仍然 未決時受到偵測。此外,所有隨後之推測狀態受到清除。 稍後,載入R2受到重分派。其在那時存取有效資料。 . 圖4展示本發明之一示範多處理器電腦糸統的概圖。電 腦糸統通常包含用Μ在一或更多處理器402與403之間傳 遞資訊的處理器-記憶體匯流排或其他通訊裝置40 1 。處 理器-記憶體匯流排4 0 1包含位址,資料與控制匯流排。 處理器402與403可包含一小,極快之内部快取記憶體, 通常稱為層次1 ( L 1 )快取記憶體,用以暫時儲存資料與指 令於晶Η上。此外,一較大,較慢之層次2 (L2)快取記憶 體4 0 4可耦接至處理器4 0 2來暫時儲存資料與指令以供處 理器4 0 2使用。在一實例中,處理器4 0 2與4 0 3是相容於 -1 3 - 本紙張尺度適用中國國家橾隼(CNS ) A4規格(210X 297公釐) ^ I" . - ί » 訂 — 線 (請先閱讀背面之注意事項再填寫本頁) A7
3Hl92 i '發明説明(11 ) (請先閱讀背面之注意事項再填寫本頁) [r> t e I ® 架構之微處理器;但是,本發明可使用任何型式 之微處理器,包含不同型式之癍理器。 處理器403也耦接至處理器-記憶體匯流排40 1 Μ與處 理器402共同來處理資訊。處理器403可包含平行處理器 ’例如類似於或相同於處理器402之處理器。此外,處埋 器403可包含輔肋處理器,例如数位信號處理器。處埋器 -記憶體匯流排401提供記憶體與輸入/输出(I/O)次糸 統之糸統存取。記憶體控制器422耦接至記憶體-記憶體 匯流排401來控制用Μ儲存處理器402與處理器403之資 訊與指令之隨機存取記憶體(RAM)或其他動態儲存裝置 421 (通常稱為主記憶體)的存取。記憶體控制器422維持 謫取與寫入運作之強順序。用Μ儲存資訊與指令之大量資 料儲存裝置425 ,例如磁碟或磁碟機,及用Μ顯示資訊給 電腦使用者的顯示装置423 ,例如陰極射線管(CRT ),液
晶顧示(LCD),等等,耦接至處理器-記憶體匯流排40U Ο 在一實洌中記憶體控制器422包含擷取(snarf ing)緩衝 器470 ,快取線緩衝器471 ,内随寫回(IW)趣輯472與合 併理輯473 。擷取緩衡器470是用以儲存自匯流排所擷取 之資料的暫時資料緩衝器。快取線緩衝器4 7 1是用以儲存 自匯流排取得之内隱寫回資料轉移資料的暫時資料緩衝器 。在一實例中,I W理輯4 7 2儲存接收自匯流排要進人擷取 緩衝器470或快取線锾衝器471·之資料,決定於資料之來 源。在另一實例中,IW理輯472直接轉移資料至主記憶體 -14- 本紙張尺度適用中國國家榡皁(CNS ) A4規格(210X297公釐) 3Ul92 A7 B7 ——_ 五、發明説明 ( 12 ) 1 1 I 而 不 儲 存 該 資 料 於 暫 時 緩 衝 器 〇 [U 理 輯 472 也可 發 出 内 m 1 1 寫 回 回 應 至 匯 流 排 9 決 定 於 請 求 與 是 否 記憶 體控 制 器 422 將 轉 移 該 資 料 來 滿 足 該 請 求 〇 在 一 種 模 式之 下, IW 理 輯 請 先 1 472 經 由 匯 流 排 介 面 475 來 耦 接 至 匯 流 排, 而匯 流 排 介 面 閱 讀 1 背 1 475 白 匯 流 排 取 得 資 料 並 放 置 該 資 料 於 匯流 排。 面 之 1 合 併 理 輯 473 合 併 擷 取 m 衝 器 470 與 快取 線緩 衝 器 471 意 1 快 事 1 之 資 料 m 後 儲 存 取 線 於 主 記 憶 體 421 ° 在一 種 模 式 之 項 再 ( 下 合 併 理 輯 473 經 由 記 憶 體 , 介 面 476 來儲 存快 取 線 於 主 填 % 本 1 - 裝 記 憶 體 421 0 在 —* 實 例 中 擷 取 緩 衝 器 470 與快 取 線 緩 衝 頁 -—✓ 1 1 器 471 代 表 多 個 緩 衝 器 0 亦 即 記 憶 體 控制 器422 包 含 多 1 1 個 擷 取 緩 衝 器 與 多 個 快 取 線 媛 衝 器 0 為 避免 弄亂 圖 形 未 展 1 1 示 額 外 之 緩 衝 器 0 1 1 下 文 會 詳 细 討 論 在 本 發 明 中 記 憶 體 控 制器 422 如 何 使 用 訂 I 擷 取 媛 衝 器 470 快 取 線 緩 衝 器 471 IW理 輯472 與 合 併 1 1 邏 輯 473 〇 热 悉 本 技 術 領 域 者 應 可 瞭 解 記憶 體控 制 器 422 . 1 I 與 匯 流 排 Μ 及 記 憶 體 控 制 器 422 與 主 記 憶體 421 間 之 資 料 1 1 轉 移 因 而 將 不 進 一 步 加 Μ 討 論 〇 線 1 在 另 一 實 例 中 擷 取 緩 衝 器 470 快 取線 媛衝 器 47 1 t IW邏 輯 472 與 合 併 邏 輯 473 是 包 含 於 匯 流排 之其 他 媒 介 器 1 I 之 内 〇 例 如 圖 4 之 處 理 器 402 與 403 可包 含此 額 外 通 輯 1 1 » 白 匯 流 排 擷 取 資 料 且 將 該 資 料 合 併 Μ 儲存 於媒 介 器 之 内 1 | 部 記 憶 體 〇 在 一 種 横 式 之 下 處 理 器 402與 403 包 含 用 K 1 儲 存 合 併 資 枓 線 之 暫 時 儲 存 緩 衝 器 因 此, 對同 一 資 料 線 之 随 後 謓 求 可 直 接 由 暫 時 儲 存 m 衝 器 而 非記 憶體 來 滿 足 〇 1 | 15 1 1 1 1 1 本紙張尺度適用中國國家樣隼(CNS ) A4規格(210X29*7公釐) A7 3U192 B7 五、發明説明(15 ) 在另一棰模式之下,媒介器儲存合併之快取線於L2快取記 憶體,例如圖4之L2快取記憶體404 。 (請先閲讀背面之注意事項再填寫本頁) 在一實例中,處理器402也包含耦接至快取控制器439 之L1快取記憶體438 。在一種模式之下’快取控制器439 致能處理器—記憶體匯流排40 1之信號且羥由匯流排介面 441接收匯流排401之信號。快取控制器439檢査匯流排 40 1之請求K決定是否快取記憶體438包含請求快取線的 拷貝,藉由如下所述檢査快取線之狀態。快取控制器439 可致能HIT#信號或HI TM#信號,決定於快取線之狀態,如 下所述。在一種模式之下,快取控制器439當其致能 HITM#信號Μ回應請求時轉移快取記憶體438之快取線至 匯流排40 1 。在一實例中,快取控制器439經由匯流排介 面441放置快取線於處理器-記憶體匯流排40 1 。热悉本 技術領域者應可瞭解快取控制器439來往於匯流排401之 信號發出與資料轉移,因而將不進一步加Μ說明。 、 在另一實例中,快取控制器439也控制耦接至處理器 402之L2快取記憶體404 。快取控制器439與快取記憶體 404間之互動相同於上述之快取記憶體438與快取控制器 439間之互動。 處理器4 0 2如圖所示包含額外之細節。處理器-記憶體 匯流排40 1之刺餘媒介器也可包含示於處理器402之額外 理輯。在一實例中,發出請求之匯流排所有媒介器皆包含 快取記憶體438與快取控制器439 。為避免弄亂画形未在 所有媒介器展示此額外理輯。 -16- 本紙張尺度適用中國國家橾準(CNS ) Μ规格(210Χ297公釐) A7 B7 五、 •π I •|i 腦糸統之週 之裝置包含 等等,包含 傳遞資訊與 402) * Μ 及 ,用以提供 繪圖機或印 置436 ,例 Ο 無需提供顯 額外之處理 無褥或不包 置423 ,或 匯流排401 之週邊装置 在某些建構 ,記憶體控 一匯流排。 -17- 接器424耦接至處理器-記憶體匯 流排431 Μ提供處理器-記憶體匯 431之裝置的通訊路徑或閘通道來 存取或轉移資料。本質上,橋接器 431與處理器-記憶體匯流排401 發明説明(l4 ) 输入/输出(I/O)橋 流排401與糸統I/O匯 流排4 0 1或Ϊ / 〇匯流排 在其他匯流排之装置間 4 2 4是糸統I / 0匯流排 間之介面。 I/O匯流排431在電 耦接至系統匯流排431 掻射線管,液晶顯示, 字输入装置433 ,用Μ 其他装置(例如處理器 標控制装置4 3 4 。此外 硬拷貝装置435 ,例如 訊與指令之大量儲存装 耦接至糸統匯流排431 在某些建構中,可能 發明之某些建構可包含 本發明之某些建構可能 •處理器403 ,顯示裝 耦接至處理器-記憶體 至糸統I / 0匯流排4 3 1 體匯流排4 0 1 ;此外, 在而處理器402與403 43 2至436耦接至該單 邊装置間傳遞資訊。可 顯示装置4 3 2 ,例如陰 文數字與其他鐽之文數 指令選擇至電腦系統之 用來控制游標移動之游 電腦影像之視覺表示的 表機,以及用來儲存資 如磁碟與磁碟機,也可 示裝置來顯示資訊。本 器或其他元件。此外, 含所有上述元件。例如 大量儲存裝置425可不 。此外’如圖所不隅接 可耦接至處理器-記憶 中只有單一匯流排可存 制器42 2 ,及週邊裝置 ί I裝I I 訂 ·ί'線 ▼- (請先閱讀背面之注意事項再填寫本頁) l 本紙張尺度適用中國國家標準(CNS ) Α4規格(210x 297公羞) ΑΊ Β7 五、發明説明 (lb ) 1 1 I 不 同 交 易 之 不 同 階 段 可 能 重 疊 > 因 此 使 匯 流 排 之 使 用 管 1 1 線 化 而 改 菩 匯 流 排 效 能 〇 圖 5 展 示 二 交 易 之 示 範 重 疊 請 求 Η I / 回 pfty 懕 階 段 〇 請 參 看 圖 5 » 每 一 交 易 開 始 於 仲 裁 階 段 ( 請 1 Ar b i t Γ a t i 〇 η Ph a s e ) t 其 中 請 求 媒 介 器 變 為 匯 流 排 所 有 者 閲 ik 1 背 1 〇 第 二 階 段 是 請 求 階 段 (R e q u e s t Pha s e ) 其 中 匯 流 排 所 ιέ 之 1 有 者 驅 動 一 請 求 與 位 址 資 訊 於 匯 流 排 0 交 易 之 第 三 階 段 是 意 1 事 1 錯 誤 階 段 (E r r 〇 r Pha s e ) * 在 請 求 階 段 之 後 三 時 鐘 〇 錯 誤 項 再 1 階 段 顯 示 請 求 觸 發 之 任 何 立 即 錯 誤 0 交 易 之 第 四 階 段 是 偵 填 寫 本 1 - 裝 察 階 段 (S no 0 P Pha s e 離 請 求 階 段 四 或 更 多 時 鐘 〇 偵 察 頁 1 階 段 顯 示 是 否 交 晃 所 存 取 之 快 取 線 在 任 何 媒 介 器 之 快 取 是 1 1 有 效 的 或 受 到 修 改 (污損) 〇 1 1 回 attr 懕 階 段 顯 示 交 易 是 失 敗 或 成 功 回 Tzpff 應 是 立 即 或 受 到 延 1 1 緩 Μ 及 交 易 是 否 包 含 資 料 階 段 〇 如 果 交 晃 包 含 回 應 啟 始 訂 | 之 資 料 階 段 則 其 連 同 回 tgte 應 階 段 進 入 資 料 轉 移 〇 1 1 使 用 管 線 化 系 統 可 造 成 許 多 問 題 〇 例 如 在 圖 5 請 求1 1 I 1 是 在 時 鐘 T1受 到 驅 動 而 請 求 2 是 在 時 鐘 T4受 到 驅 動 〇 如 1 1 果 請 求 1 與 請 求 2 皆 請 求 同 —. 位 址 則 系 統 必 須 維 持 快 取 線 連 貫 性 正 確 地 執 行 請 求 1 與 請 求 2 〇 1 澳 體 觀 看 時 鐘 之 決 定 解 決 此 問 題 〇 亦 即 整 個 系 统 應 該 1 I 看 到 交 易 之 時 鐘 週 期 受 到 決 定 〇 在 一 實 例 中 , 此 總 體 觀 看 1 1 時 鐘 是 在 偵 察 階 段 〇 因 此 在 一 持 定 交 易 之 偵 察 階 段 之 前 > 1 I 糸 統 之 每 一 媒 介 器 將 該 交 易 視 為 從 未 發 生 〇 即 使 請 求 媒 介 1 器 已 驅 動 請 求 於 匯 流 排 仍 是 如 此 〇 但 是 » 在 偵 察 階 段 之 後 每 一 媒 介 器 將 該 請 求 視 為 已 發 生 〇 1 I 18 1 1 1 1 1 本紙張尺度適用中國國家標準(CNS ) Α4規格(2丨ΟΧ 297公釐) 311192 Μ Β7 五、發明説明(16 段請之器 可系匯論流由形 階該線介 段之器無匯藉情 察於取媒 階層理< 該是種 偵應快求 察階處看由其此 在對之請 偵排之觀是且在 器有身及 之流求性不,。 介具本涉 易匯請體線體現 媒器們, 交多該總取憶出 一 介他此 該用出到快記能 每媒新因 在利發受在統可 為 一更。 易在在可,系形 因否須態 交,可易是或情 是是必狀 定如權,交但簇此 段-且該 特例有,之。之, 階即,新。-。所前}同到 察亦知更知下看之目態不達 偵。已要已形觀線則狀在來 在運為道為情性取足用是器 鐘命線知器些體快滿共而理 時之取器介某缌求到或有管 看易快介媒在到請受改擁簇 親交改媒的意受果内修所之 體道修的應注法如簇在内簇 缌知之態回請無中排是簇前 時求狀之 能統流其排目 有 忠階體匯得管匯所看避 下 是察總統取蔟统之觀以 形 權偵到糸間,系線性得 情 有之受次時中次取體取 種 所易段層後況層快總法 此 之交階一稍情一遢到無 在 排前察下在此下歸受能 。 流目偵,可在得來易可 權 匯由之下其。取答交權 有 統可易之而器於回該有 所 糸權交形然理終媛間所 之 次有前情,處當延期之 線 層所目棰的求。用段排 取 一之在二能請看利階流 快 下線易第可至觀器察匯 得 ,取交在即送性理偵統 取· 下快該。立回體管之糸 責。之,,述是可總簇答次 負況況此此所不線之,回層 器情情因因上權取易時媛 一 理之種。。如有快交權延下 管同一的證-所,媛有在, 簇不第用保看之外延所。後 下種在可來觀排此器排權最 之三 即段性流。理流有。 本紙張尺度適用中國國家標隼(CNS ) Α4規格(210Χ 297公釐) ί‘-^衣 - (請先閱讀背面之注意事項再填寫本頁) B7 五、發明説明(17 ) 免價局。因此,交易受到中止巨再試一次。該交易未受到 總體性觀看直到再試之交易成功地完成為止。再試之交易 是基於其在再試期間遭遇之失效情況來受到缌體性觀看。 對應快取線之狀態是在偵察階段期間受到更新以支援總 體觀看時鐘。亦即,為確保正確之糸统行為,快取線狀態 是在缌體觀看時鐘受到更新。例如,在圖5 ,如果請求1 與請求2皆為對相同快取線之讀取請求,因為請求1而必 須更新之快取線狀態是在請求2之偵察階段之前受到更新 囑 。否則,正確媒介器可能無法為請求2致能必要之Η I Ttf或 Η ITM<♦。信號。 例如,圖5請求1之偵察階段開始於時鐘7 。在時鐘7 ,匯流排之所有媒介器致能(assert)或去能(deassert) Η I T ft或Η I Τ Μ II信號 ',決定於他們快取之請求快取線之狀態 。匯流排之所有媒介器在下一時鐘,時鐘8 ,皆可觀看該 等信號。在一實例中,匯流排之每一媒介器在時鐘7更新. 其快取狀態,連同致能或去能HIT#或HITMH信號。因此, 在時鐘8之前每一媒介器已更新其偵察狀態。在圖2所示 之範例中,請求2之偵察階段開始於時鐘1 0。因此,因為 每一媒介器之快取狀態是在時鐘8之前受到更新,每一媒 介器請求2之偵察階段致能或去能適當之Η I T (I或Η I T Μ »信 號,即使請求2與請求1請求相同之快取線。 在另一實例中,一旦在時鐘8觀察到偵察Η I Τ}♦及/或 丨丨I Τ Μ X信號,每一媒介器在時鐘8或時鐘9更新其快取狀 態,在圖5之範例中,當快取吠態在請求2之偵察階段之 -20- 本紙張尺度適用中國國家榡隼(CNS ) A4規格(210X29?公釐) ..f' *种衣 訂 ί t ' (請先閱讀背面之注意事項再填寫本頁) 五、 發明説明(18 A7 B7 卜 前受到更 時鐘9之 圖6是 統的方塊 。在處理 後解碼成 作)然後 他們最終 涉及諸微 之巨指令 處理器 置擷取之 成一組基 應導引至 適當之連 備就緒。 當一給定 行單元可 執行請求 處理器 重排序緩 能單元。 其狀態成 程。 新時, 快取狀 本發明 圖。應 器P〇之 為一或 流過機 退休為 運作之 來發出 P〇之程 指令進 本微運 許多實 算元受 預留站 指令之 用性來 之運作 Po之脫 衝器推 退休是 為原始 快取連 態更新 電腦系 可理解 程式執 更多基 器-相 止。因 貫性受到維持。 可保持快取連貫 統之一茛例之處 其他次糸統架構 行期間,首先一 本運作 對於彼 此,處 一糸列過程, 且經由一姐緩 式執行 入一緩 作'。一 體暫存 到擷取 是保存 資料就 ,執行 序引擎 測结果 自重排 來源程 開始於 衝器或 分別之 器之中 且藉由 尚未受 緒時, 多個執 。這些基 此可能脫 理器Po之 而該等微 衝器來傅 自記憶婚 佇列。揆 分配過裎 何者。/ 將他們放 到執行2 預留站栂 行單元i 一寫回回到預留 也包含 受到收 序媛衝 式所指 一重排序 集,重俳 器移去> 定之永久 因此_ 性0 理器Po 可用Μ 指令受 本運作 序受到 運作最 運作是 遞。 擷取一 著,該 決定微 巨資源 入預留 微運作 據資料 ___ 〇 —* 站。 嫒衝器 序與然 完成之 ?存構吠 在時鐘8或 記憶體次系 賁現本發明 到擷取且然 (稱為微運 執行-直到 好解釋成為 由一姐不同 指令,且放 等指令轉換 運作之結果 受到分配, 站(R S )來準. 的緩衝器。 相依性與執 旦執行單元 (ROB),而 後退休之功 微指令且使 態的活動過 --------;ί',·裝------訂------丨線 - t (請先閱讀背面之注意事項再填寫本頁) -2 1- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 經濟部中央標準局員工消費合作社印製 3132:924 ^號專利电a菜 由卞銳明害沒不W ίε Ί s ) A 7 B7 五、發明説明() 麗壤參青:圖6 ,記億體次系统接吱來g :¾字;0 - C - ;:n 分 派核心6 2丨之分派i大部份是記憶_讀跤449)及記憶渥 寫入f V R I T E 1 ) '分派核心6 2 1包含逯理器之預g站與重排 序Μ衝器:記憶體次条统接收來自預留站3分添旦送回貸 抖與錯誤資訊至預留站與重排序缓衝器:當記億II次条统 牧到記憶體R E A D (亦即L 0 A D )微運作時,其可對Μ流捃6 1 1 發出請求以自像是圖4中的主記憶體42 1 S;]於部記憶體讀 取資i4 :當次:¾统收到記憶體W R I Τ Ε (亦即S 'Γ 0 R E i溢逼作時 ,其可將資料寫回到外部記憶體6 1 2 •週迓I/O装置,或 耦接至糸统匯流排6 1 1之另一媒介器:因?急核心6 2 1之預 留站是基於資料流相依性來運作,菀理器D。之記億次系 统需要偵測記億體排序之違規3 圖6之記憶體次糸統包含資料抉取單元I D C ϋ ) 6 3 7 ,而 資料快取單元G 3 7包含一 8 Κ雙向组相關陣词,旦在一-目前 霣洌中具有3 2泣元組之快取線大小,D C U 6 3 7分隔成4資 钭庫:肚允許同時執行二存取(一 L 0 A D,一 S 了 0 R Ε ) ,·只要 他們是針對不同之資料章:D C U 6 3 7也對命中抉取之 LOAD與STORE提供二週期之存取時間:此外· D C U 6 3 7是 非姐塞型快,而此表示其可處理输人之存取且司時利吊 外邰匯流排6 1 1 (涇由外部匯流排介面6 4 0 |來蘧珲丨云取不 中。資Μ诀取單元δ 3 7包含4充填湲衝器 '每一芒填:.:3齑 器是2 5 6 · S tc寬,里是用Μ儲序未決之快联儲存:!K lj 6 3 7只有當所有窀填湲衝器皆忙碌時才延适K取下α : D C U 6 3 了使用修改/專罔/共用/無效^ Μ Ξ S I '通訊浣定來 本紙張尺度適用中國國家標準(CNS ) Α4規格(2Γ〇Χ 297公釐) L---^-------裝------訂------丨線 (請先M讀背面之注意事項再填寫本頁) :s聲氺足票.土.P纪 A7 _ 五、發明説明(20 ) 支援多處理器電腦糸統之快取連貫性。 處理器p 〇之記憶體次糸统進一步包含資料轉換旁視緩衝 器(DTLB) 628,而資枓轉換旁視緩衝器628為記憶體存取 轉換線性位址成為實體位址。DTLB 628在包含線性至莨體 位址空間對映之快取陣列中執行檢査。DTLB 628也利用每 ~~實體位址來快取記憶體區域資訊,且在每一時鐘週期可 執行二位址轉換。 在一目前實例中* DTLB 628包含一小頁陣列與一大頁陣 列。小頁陣列包含4 K頁大小之陣列位址資訊且包含6 4項。 大頁陣列包含2M與4M頁大小之位址資訊且包含8項。二陣 列皆是四向組相關快取。D T L B 6 2 8也為保護特權,例外, 陷阱,資料斷點,等等,來檢査記憶體存取。如果轉換媛 衝器偵出任何一種例外,其回送錯誤資訊至分派核心621 之重排序緩衝器,並通知次系統之其餘部份中止該存取。 圖6之記憶體次糸统也包含一記憶體排序緩衝器(MOB). ,而該記憶體排序媛衝器控制記憶體次糸統内之分派。在 圖6中,記憶體排序緩衝器如圖所示包含載入緩衝器6 30 與儲存緩衝器631 。這些媛衝器處理所有LOAD與STORE埋 作並在他們移動通過處理器期間追蹤這些運作之進展。當 一運作受到分派但由於位址或資源衝突而無法完成時, MO B阻止該運作並儲存相依性資訊。在一目前實例中載入 緩衝器630包含16項,而儲存緩衝器631包含12項〇載入 嫒衝器630與儲存媛衝器631之諸項受到分配充當微埋作 ,且發出至脫序分派核心6 2 1之重排序緩衝器.° -23- 本紙張尺度適用中國國家樣準(CNS ) A4規格(210X297公釐) I ^ I n (I 訂"~ ‘:!線 (請先閲讀背面之注意事項再填寫本買) B7 五、發明説明(21 ) 記憶體排序媛衝器充當一種二階預留站。當阻塞來源受 到解除時,MO B重分派阻塞之運作。一些記憶體運作無法 推測式執行,所Μ其監測退休過程並在正確時間分派非推 測式運作。記憶體排序緩衝器也分派記憶體寫入(亦即, STOREs)至資料快取單元637 。 做為示範,圖6顯示核心6 2 1如何分派一儲存運作,而 該儲存運作解碼成為二微運作:一儲存位址微運作(STA ) 與一儲存資料微運作(STD) |分別Μ塊區624與625來表 示。核心621所分派之載入微運作是Μ圖6之塊區623來 表示。 載入與儲存緩衝器追蹤預留站所分派之所有微運作。例 如,儲存資料微運作直接输入至儲存緩衝器631 ,然而儲 存位址與載入資料微運作是由DTLB 6 2 8轉換成為他們之實 體位址。載入資料與儲存位址微運作之實體位址是分別Μ 圖6之塊區634與635來表示。儲存位址微運作榆入至儲< 存緩衝器631 ,而載入資料微運作則傳送至載入媛衝器與 資料快取單元637 。 如前所述,資料快取單元637提供適當之實體資料回到 分派核心6 2 1 ,或經由外部匯流排介面單元6 40與系統匯 流排6 11對主記憶體發出記憶體存取。請注意當儲存位址 與儲存資料微運作皆已受到分派,而不再是推測式時,記 憶體次糸統之記憶體排序媛衝器結合他們,並分派他們充 當STORE ,如圖所示藉由塊區641 ,至DCU 637 。在許多 情形之下,儲存在退休之後很久仍受到媛衝,因為他們對 -24- 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) ί 1裝 訂 ί -線 - (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印策 3t i〇l 2 3 1 s fij a ^ ^ m -v ^ ;j,g ^ :¾ ^ u ' λ n m n I a? B7 五、發明説明() 其fl!運作未產生!1目砍性。 應可理群S 了 0 R E運ί乍無法推測式戎銳9:孰1_T · S為S臼 自不憑發生3穹入a復:但是·薛9 S址:¾儲·? μ科之計 算可推測式a脫序執行Μ增進®理器效能: 叨前面所解釋,S 了 G R Ε運作可分3或為二:¾運作:--:讀 存泣址(S T A )及一儲存資料(S 了 D . : S 1 h盈蓮作是;a Π區 6 2 4來表示且是一位址計算及換:S 了 D跆逄作是K逸區 6 2 5來表示且芭含一資料轉換運作」此二運作皆寫入匣們 之資抖於儲存缓衝器6 3 1 ,而儲存衝器6 3 1黃遐分隔暖 為三單元%記憶·排序湲衝器包含一竦性泣垃•吠態·泛 澈運作資訊:D C iJ 3 3 7包含真實之實f|泣Μ;: 在一實例中,儲存湲衝器6 3 1 S含1 2項,Μ最多居存 1 2 S 了 0 R Ε運作儲存緩衝器6 3 1是.¾以在所有S 了 Cl R Ε運:乍 分派至記憶體之前將iil:們排隊:茜器6 3 1也檢查所有 L 0 A D是否造成β|存位址衝突:此☆查使與先前執行之 S Τ Ο X Ε —致之L 0 A D仍d持在儲存邊齑器中: 載人缓衝¥ 6 3 0包含1 6湲衝器項,K居存最多1 5钱人 載入湲衝_器是Η Μ排隊L 0 A D運作所有L G A D進八載人迓荀 器,所Μ他捫可受到偵察;他們自該逭到重分派 當衝5 受到化解時,載入摄衝器Θ 3 0然凌2分:¾ Ρ涔運Ρ · L 0 A D之®理器排字是藉由針對完成之」〇 A D .Κ偵宰外J y R I 了 E來雄持、根據本發明,媒(「器對推剧式3取2丨3酒 泣置之y R I Τ Ε迫使猊序引擎清理並:重新S始該L G A D .作: 本發明之此方面不久將受到更詳迪迚説萌 (請先閲讀背面之注意事項再填寫本頁) -裝. 訂 線 本紙張尺度適用中國國家標準(CNS ) A4規格(1Γ0Χ297公趁) 經濟部中央標準局員工消費合作社印製 1 3 3 1 1 0 4 2 3 ]^¾ Fij Φ ^ ts A 7 中卞说玥署在卩W U 83目I ——_ - ~ B7五、發明説明() 在E丨意體次系统之闪 '當發岀S T 0 R E或D運作至3 3 站時資源受到分配。缓衝器<5 3 0與6 3 1接4來g兮;.¾核.u 3 2 1闪之預留站的推剧式載入.與儲存S iib ϋ :乍 一 L CM D迓 _作解碼成為一微運作,而一 STORE運作解Ϊ!戎為齡存S钭 微運作與誌存位址散運泎。在分記時間 > 該運;乍射:¾在:1 衝器6 3 0或6 3 1之其最终位置::預留站提艿迗存钙面,S :選 器之泣址產生單元計算與提供存取之绿性S垃。這些丨乍 立即受到執行或寫入於記憶體排序湲衝器Μ供销後分派之 用=在L 0 A D之情形下,資料快取單元6 3 7 Η期會送回資抖 至核心321 :·同時,位址與吠態泣元寫人於裳入湲澍器U 顯示運作之完成: 在本發明之電腦系統中,強排序是由處埕器Ρ。來摄菏, 即使®埋器Ρ 〇本質上是弱排序丨I器。亦即,Ρ。是足以联序 執行指令之處理器;Ρ。允許L 0 A D超越L 0 A D,然而其经白挖 測式處理器排序來展現強排序(亦即無超越;之帟溝择型: 所有完成且未退沐之L 0 A D運作偵察外部流排6 1 1有無夕丨、 部S T 0 R Ε Γ亦HP y R I T E )。如果外部V R I T E泣ϋ匹配彔退汸 L 0 A D位垃_ •則標示®理器排序違規:不使受漂示之U] A D退 休,在通常楨形之下會如此歡,該L 0 A D達同所有適凌之潑 運作會受到中止-·然後虔理詰開始重斬堃出改始於力止之 L 0 A D的說運作: 在本發明之一目前實洌中此序列之步鞀稱為R 0丨U; ;< 9運:乍 =在一 R 0 k e運作中,L 0 A D受到取消;電强糸泫之控到式 進展受到中止,且處理器自受到改逋之L ^ D _始纨行 ----------装------1T------^ (請先閱讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS ) A4規格(θί〇Χ_297公釐) A7 B7 五、發明説明 (24 ) 1 1 | 另 — 棰 看 待 可 發 生於 多 處 理 系 統 之 諸 處 理 器 間 之 問 題 的 1 1 方 式 是 如 果 LOAD 脫 序執 行 他 們 可 有 效 地 使 另 一 處 理 器 之 ,—、 STORE 運 作 出 現 脫 序。 此 起 因 於 較 晚 之 LOAD 超 越 尚 未 受 到 請 先 1 執 行 之 較 早 LOAD 〇 較晚 之 LOAD m 取 舊 資 料 而 較 早 之 閲 1 背 1 LOAD __. 旦 受 到 執 行, 有 可 能 m 取 另 處 理 器 寫 人 之 新 資 之 1 料 〇 如 果 得 Μ 實 現 其架 構 狀 態 這 些 LOAD 會 違 反 處 理 器 排 意 1 I 事 1 序 法 則 〇 為 防 止 此 種情 形 發 生 載 入 嫒 衝 器 630 觀 察 ( 亦 項 再 t 即 偵 察 ) 外 部 匯 流 排61 1 上 , 之 所 有 資 料 WR ITE 〇 在 圖 6 此 填 本 Γ 裝 是 Μ 偵 察 線 經 由 匯 流排 介 面 單 元 640 耦 接 載 入 緩 衝 器 630 頁 1 1 至 外 部 匯 流 排 61 1 來顯 示 〇 如 果 另 一 處 理 器 寫 入 受 到 推 測 1 1 式 讀 取 之 位 置 LOAD 及 隨 後 之 運 作 會 受 到 清 除 及 重 新 執 行 1 I Μ 取 得 正 確 之 資 料 〇 1 1 假 設 處 理 器 林1 具 有強 排 序 記 憶 體 模 型 亦 即 記 憶 體 運 訂 I 作 是 假 設 成 依 昭 原 始順 序 來 出 現 〇 同 時 假 設 處 理 器 林2 是 脫 1 1 序 處 理 器 例 如 處理 器 Po 〇 當 處 理 器 #2準 備 好 執 行 對 記 1 I 憶 體 位 置 5 之 第 一 LOAD 運 作 時 載 入 緩 衝 器 630 偵 察 外 部 1 1 匯 流 排 61 1 Μ 決 定 是否 有 違 反 強 排 序 之 危 險 〇 例 如 如 果 線 1 對 記 憶 體 位 置 5 之 LOAD 是 未 決 執 行 且 外 部 匯 流 排 6 1 1 有 對 記 憶 體 位 置 5 之 STORE 則 處 理 器 Ιί2具 有 違 反 強 排 序 之 危 1 I 險 〇 根 據 本 發 明 處理 器 «2採 取 更 正 行 動 來 避 免 否 則 可 能 1 1 會 導 致 之 白 然 弱 排 序模 型 〇 其 賴 由 首 先 破 m 機 器 之 推 測 狀 1 I 態 且 狄 後 白 中 止 L 0 A D 開 始 執 行 來 達 成 此 的 〇 1 回 想 記 憶 體 次 系 统内 之 m 入 m 衝 器 6 30 追 蹤 該 處 理 器 在 • 1 I 任 何 給 定 時 間 之 所 有未 決 LOAD 〇 如 果 . LOAD 已 發 生 - 或 未 1 | 27 1 1 1 1 1 本紙張尺度適用中國國家標準(CNS ) A4規格(210X29*/公釐) 10 3¾ Μ Α7 Β7 五、發明説明( 經濟部中央標準局員工消費合作社印製 來將要發生 由湞察該等 之 STOR E 3 候執行之任 缓衝器630 在於缓衝器 偵察命中) 到破增。處 現在請參 7 0 0的方塊 701 ,匯流 取7 0 4 ,以 單元7 0 5 。 作K薈線化 结杲= ί§令龜取 部糸统1 ’流 7 0 2薈理外 fc管理快取 依序字列發 元7 0 1執行 的功能:一 a浮點指今 泣址 如果 何位址 偵察外 6 3 0之 LOAD XS 理器然 看_ 7 圖受到 排控剞 及具有 如圖所 方式來 與發出 排來自 部元件 逕貫性 出該等 例如钼 些該等 之蓮算 址存在於載入运裏器0 3 0 : 偵察1流排3 1 1圣苔有來自 位址招同於存在T: _ \邊衝 ,則存在違反強琲序之潛在 部匯流排ΰ 11並在該ϋ流诗 泣址的S Τ 0 R Ξ -當戟人湲® 最终試圖退沐時,該!i ϋ之 後開始重斬發S開 0以等 :載人 匹Ε存
於中止之L0A ,顯示融入本發明說明ζ不把 展示:·示範菀理器7 0 0包含執行單元 器7 0 2 ,資料怯取控制器7 0 3 •實料诀 整合式指令快取7 0 6之指令擷取與發岀 示组件7 01 - 7 0 6 if t此锅接:他們共同合 擷取,發出,執丨ϊ,Λ _存指令之執行 單元7 〇 5藉由g流排控制器7 C 2涇 外部記憶體擷取指今:21流排!2制 與處理器7 0 0間:z資料轉移:此外 轉移。然後指令擷取與發£單元7 0 5 K 指令至執行單元τ 0 1 : S 7上1纨行荜 加,相減,通?ι| Α ;丨D |泛整數招乘之類 指令是受到锥剷式擷取與分派-當S數 元對先前指令之執行结果的相农丨生獲潯 厂二 •td* (請先聞讀背面之注意事項再填寫本頁) •裝.
*1T 線 本紙張尺度適用中國國家標準(CNS ) Α4規格(Sftx_297公釐) A7 B7 κ t 五、發明説明 (26 ) 1 1 1 解 決 時 執 行 單 元 70 1 保 留 與 紈 行 該 等 整 數 及 浮 點 指 令 〇 以 1 1 類 似 方 式 > 紈 行 單 元 70 1 保 留 與 前 送 載 人 與 儲 存 指 令 至 記 憶 體 排 序 緩 衝 器 708 〇 請 先 1 退 休 邏 輯 707 使 得 該 等 指 令 之 狀 態 成 為 原 始 來 源 碼 所 指 閱 讀 1 背 1 定 之 任 何 永 久 架 構 狀 態 〇 在 記 憶 體 排 序 緩 衝 器 708 之 内 » 之 1 檢 査 載 入 與 儲 存 對 記 憶 體 排 序 之 效 應 〇 儲 存 及 / 或 載 入 潛 意 1 事 1 在 受 到 延 遲 直 到 排 序 不 —* 致 獲 得 解 決 為 止 〇 項 再 記 憶 體 排 序 媛 iff 器 708 包 含 儲 存 緩 衝 器 709 與 載 入 媛 衝 填 寫 本 1 裝 器 710 〇 儲 存 緩 衝 器 709 是 用 Μ 儲 存 位 址 大 小 資 料 » 頁 1 I 與 其 他 關 鏈 屬 性 之 先 進 先 出 (FIFO) 结 構 〇 該 結 構 之 頂 指 標 1 1 指 向 最 近 退 休 之 儲 存 〇 儲 存 緩 衝 器 709 之 底 部 ( 亦 即 包 1 1 含 最 早 退 休 儲 存 之 儲 存 ) 是 準 備 好 要 寫 入 於 記 憶 體 次 系 統 1 1 t 例 如 資 料 快 取 704 之 儲 存 〇 只 有 處 理 器 核 心 ( 例 如 執 訂 I 行 單 元 70 1 與 指 令 擷 取 與 發 出 單 元 705 ) 可 看 見 儲 存 媛 衝 器 1 1 709 〇 外 部 偵 察 不 會 認 知 該 儲 存 之 存 在 〇 1 1 | 載 入 緩 衝 器 710 是 記 憶 體· 次 系 統 用 Μ 實 施 記 憶 體 載 入 之 1 1 存 取 排 序 的 預 備 媛 衝 器 〇 每 一 載 入 運 作 皆 附 加 在 其 前 之 儲 it 存 的 儲 存 緩 衝 器 識 別 (SBID ) 〇 此 SB ID代 表 該 愉 入 相 較 於 執 1 行 序 列 之 所 有 儲 存 的 相 對 位 置 0 當 載 入 在 記 憶 體 内 執 行 時 1 1 费 其 SB ID 是 做 為 用 Μ 相 對 於 媛 衝 器 之 所 有 較 早 儲 存 來 分 析 1 1 該 載 入 的 啟 始 !占 〇 1 1 如 果 m 入 脫 序 紈 行 該 等 載 入 可 使 得 其 他 處 理 器 之 儲 存 1 運 作 出 現 脫 序 〇 當 較 晩 之 載 入 超 越 尚 未 受 到 紈 行 之 較 早 載 .1 1 入 ( 亦 即 讀 取 運 作 R 2 在 先 前 讀 取 運 作 R 1 之 前 受 到 紈 行 ) 時 1 1 2 9 1 1 1 1 1 本紙張尺度適用中國國家橾準(CNS ) A4規格(210X297公釐) 經濟部中央標準局貝工消費合作社印袋 號專两申請菜 中卞說阴喜孩tf μ毕3月) Α7 ~ 一― Β7 五、發明説明() ,此情況可出現:較晚之載入讀取Β μ料,而較a之戟人 可能讀取另一處理器寫入之新資料:π杲得Μ言現找B, 該等载入會違反處理器排序:本發明?3由芤s :践入衝器 710來偵察來自匯流排712之其他媒介喆的Α衔有資料穹人 Μ防止此違規岀現。偵察(S η ο 〇 p i n g ’I表示監測資料與E垃 流MM尋找持定值的動作。如果另一遥理語寫入受到推澍 式讀取之位置,該讀取與隨後之運ί乍受到清除爻重新執行 Μ擷取正確之資料(例如重新實砲處理器排序), 資料快取控制器7 0 3控制來往於資料快取7 0 4之資料存 取:資料快取7 0 4是快,小,硬體维持之預餚記憶體,且 載入與儲存可甩較少於主記憶體之時鐘週期來存取資抖快 取7 0 4 :資料抉取控制器7 0 3與資料快取7 0 4立即回Β載 入指令,如果需要的話將資料前送。柜對地,儲存指令受 到缓衝。換句話説,指令不一定要以發出fill們之順序聚執 行/前送。此外,一些指令是受到掐剷式執行/前送:無 論如何,整數,浮點,及載入指令之孰行结果受到迓衝, 旦然後iff序1沐或實現::相較之,缓衝之儲存指令在”背 景”中砍序退休或實現旦然後分派,為匣利纪憶髏条铳起 見,推測式S數,浮點,及載入執行结果輿錯誤預測分支 之缓衝儲存受到清除: 指令擷取與執行單元7 0 5是用K代表Ϊ許多S 1 %统可 發琨之S多種類之指令擷取與發出组泞:迪捫之沮或與功 能為眾所知。在目前之較佳實例中,指令擷取與執行單元 7 0 5包含指令抉取7 0 G :指令快取7 0 3 €保存要執行之指 本紙張尺度適用中國國家標準(CNS ) Λ4規;ti ( ΊΡοχ·"297公釐) ---------^------ΪΤ------I (請先間讀背面之注意事項再填寫本頁) 第3 3 1丨Ο 4 2 Η虎專1¾ ί;請萘 由卞龙玥署跷不百! 8 β年2月i A 7 B7五、發明説明() 經濟部中央標準局貝工消費合作社印製 令的法速本地記億體:當程式試固存取尚帝或下再S 5ΐ抉 取之指令時,萑理器等候直到硬賴占S —玦取或下游之記 憶體擷取所要之指令為止。決定接著®存取那一指令快取 項以求得最佳之程式效能是指令擷取與執行單元7 0 5二責 任。在目前之較佳實例中,指争怯取7 0 3與資料突取7 0 4 存在於一記憶體階層中。 圖8顯示處理器δ 2 2 :處理喆8 2 2 S含一前端部汾,而 該前端部份包含Μ流排介面8 3 Ο Κ α指令擷取與澈運作發 岀電路8 3 2 3菀理器8 2 2 &包含一哲存器重命名部份,而 該暫存器重命名部汾包含暫存器剖名3路3 3 4與分配電路 83〇 ®理器3 2 2也包含一脫序孰行部;分 > 而該說序執行 部份包含預留與分派電路3 3 3 ,孰行電路3 4 0 ,重排序電 路342 ,M &真實暫存器電路344 ' 匯流排介面8 3 0致能位址,資料與控制資m經由溢S理 器匯流排828來轉移。指令擷取與:¾運作發岀電路332自 記憶體次、缺涇由徽葜理器匯流排3 2 8藉S匯流排介面 8 3 0來擷取巨指令流。指令擷取與溢運作發S電路8 3 2建 搆推測式分支預測來將巨指争領取;.il S量最大it : 就一實洌而言涇由傲處理器Μ流排3 2 3所丨辑取之巨指争 流包含英代爾架溝;1¾菡理器(I n t e : μ「e h丨t e d r e M i c r o p r o c e s s o r i巨指令流:英R爾架溝澈€理Sg巨指令 運作於一?且架構暫存器,而該.¾架溝暫存器芭含一 E A X暫 存器,一 EBX暫存器,一 ECX暫存器,泛一 EDX暫存器, (請先閲讀背面之注意事項再填寫本頁) -裝· *51 線 本纸張尺度適用中國國家標準(CNS ) A4規格广do X 297公釐) Μ專利申請菜 Α7 Β7 五、發明説明( 等等: 指令擷取與澈運作發出電路832 指令成為泫序之遴輯微運作流 '其 令擷取與徽運作發岀電路8 3 2為每 或更多邏輯澈運作。對應於每一巨 行對應巨指令之功能的精簡指令沮 定蓴衛與遴輯蓮作Κ及記憶體次尧 換:¾人巨指争流之巨 稱為迓輯詔蓮作:指 输入之巨指令產生一 令之莛辑澈運作是執 運作。遴爾盈蓮ί乍指 之載入與儲存蓮作: 指令擷取與徹運作發出電路832涇由莛輯澈運作匯流排 850來轉移依序之邏輯微運作流至暫存器別名電路834與 分配電路3 3 6 。就一賁例而言,指争擷取與激運作發S電 路832在處理器822之每一時鐘週期發岀最多四砍序之3 輯微運作。另外,該等依序之遅«澈運作在每一時鐘週期 內可限制為四涸以使處理器8 2 2之積體電路模面積最小化 指令擷取與微運作發出電路8 3 2 S含一澈指令·拂序· Μ 一相關控Κ儲存:截指令排序器建溝為®理器8 2 2執行 種功能之程式,而該等功能包t故障回®功能輿裒理 排序功κ : (請先闊讀背面之注意事項再填寫本頁) •裝.
1T 線 經濟部中央標準局貝工消費合作社印製 指令擷取與撤運作發出電路8 作包含一蓮作磚 對莛輯來源及 生之每 目的地 輯來源可指定一暫存器或提供一立邸Μ科道: 之暫存器邏輯來源與a輯目的地指定围始巨指t之架構暫 存器。此外,a嶺澈運作之暫存器a辑來源與a ?i目的迪 本紙張尺度適用中國國家標準(CNS ) A4規格(2ΐ*ΰ'Χ 297公釐) A7 B7 五、發明説明(3〇) 指定指令擷取與微運作發出電路8 3 2之微指令排序器所建 構之微碼的暫時暫存器。 暫存器別名電路8 3 4經由邏輯微運作匯流排8 5 0來接收 依序邏輯微運作,並藉由重新命名邏輯微運作之邏輯來源 與邏輯目的地來產生一組對應依序實體微運作。暫存器別 名電路834經由邏輯微運作匯流排850來接收依序遲輯微 運作,對映每一邏輯微運作之邏輯來源與邏輯目的地成為 實體來源與實體目的地,並經由實體微運作匯流排8 5 2來 轉移依序實體微運作。 每一實體微運作包含對應邏輯微運作之運作碼,一對實 體來源,及一實體目的地,每一實體來源可指定一實體暫 存器或提供一立即資料值。實體微運作之暫存器實體來源 指定包含於重排序電路842之實體暫存器以及包含於真實 暫存器電路844之實現狀態暫存器。實體微運作之實體目 的地指定包含於重排序電路842之茛體暫存器。 . 暫存器別名電路8 34經由邏輯目的地匯流排3 5 4來轉移 邏輯微運作之邏輯目的地。經由邏輯目的地匯流排854來 轉移之邏輯目的地確認對應於實體微運作匯流排8 5 2上之 實體目的地的架構暫存器。 分配雷路8 3 6追蹤重排序電路8 4 2 ,預留與分派雷路 838 ,及執行電路840 ,之可用資源。分配電路836指配 重排序電路842之寊體目的地及預留與分派電路838之預 留站項給實體微運作匯流排8 5 2之實體微運作。分配電路 8 3 G也指配執行電路8 4 0之記憶體排序緩衝器的載入媛衝 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) ^^^^1 ^^^^1 β—^^— «ί am mu ^^^^1 ^^^^1 nflfl 一 子 - f 0¾ 、-0 ’ 髮 (請先閱讀背面之注意事項再填寫本頁) B7 五、發明説明(31 ) 器項給具有指定載人記憶體連作之運作碼之寊體微運作匯 流排8 5 2的寊體微運作。 分配電路8 3 6經由實體目的地匯流排8 5 6來轉移分配之 霣體目的地至暫存器別名電路8 3 4 。分配之實體目的地指 定重排序電路8 42之貫體暫存器來緩衝賁體微運作之推測 结果。分配之實體目的地是由暫存器別名電路8 3 4用來重 新命名邏輯微運作之邏輯目的地成為實體目的地。 分配電路8 3 6利用經由邏輯微運作匯流排8 5 0所接收之 邏輯微運作的相同順序來分配重排序電路8 4 2之實體暫存 器給實體微運作。分配電路8 3 6維持用Μ分配重排序電路 842之實體暫存器的分配指標。分配指標為經由邏輯微運 作匯流排8 5 0所接收之每一邏輯微運作姐而指向重排序電 路8 4 2之下一姐連續實體暫存器。指配給重排序電路8 4 2 之實體微運作之寊體暫存器的排序反映原始邏輯微運作之 排序。 ‘ 分配電路8 3 6藉由經由預留站選擇匯流排8 6 6轉移預留 站項選擇信號至預留與分派電路8 3 8來為實體微運作匯流 排8 5 2之實體微埋作指定預留站項。 分配雷路8 3 6指配一載入媛衝器項給指定一載入記憶體 運作碼之實體微運作匯流排8 5 2的每一實體微運作。分配 電路8 3 6藉由經由載入指令媛衝器識別匯流排8 7 2 Μ轉移 載人緩衝器識別碼給預留與分派電路8 3 8來指配載人媛衝 器項。 預留與分派電路8 3 8保存等候由紈行單元8 4 0來紈行之 -34- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) m ^^^1 —^n m I In I 1^1 ^ Jr 1--8- - ml nn -- -'口 、髮 (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印製 s A7 B7 五、發明説明() 實體徹運作:預留與分派電铬3 2 3 3甴霄:¾ :.¾這阼El :¾排 8 5 2來接收砍序賞體跆運作,姐含實?|澈運β二來連迓g ,Μ及分派實體溫蓮作至執行電络θ 4 0 : 預留與分派電路8 3 8經由實?I勘1 ί乍望流排8 5 2 1接Θ 實體澈運作並儲存實體微運作於可圬之預留站項:預留與 分派電路8 3 8組合賞體歡蓮作之來:i Η Η,並當芡頭資;斗 狙合完成時分派實體澈運作至執ίί電铬3 4 0之適當孰行罩 元0 預留與分派電路S 3 8經由來源貸料ϋ流排8 5 S接收來自 重排序電路8 4 2與真實暫存器電路3 4 4之未決實體;.¾運作 的來源資料:預留與分派電路3 3 3也在3執行電路3 40 W 回推測结杲至重排序電路842期間经主洁果匯流排362接 收來自執行電路3 4 0之未決實fl勘運f?的來源資料: 預留與分派電路8 3 8排程具有用Μ執行之完成组合來源 資料的實體徹蓮作:1預留與分派電路8 3 8經由澈運作分派 匯流排 8 6 0來分派就緒之實體澈運作至執ίΐ電路5 4 0 _預 留與分派電路3 3 8根據實體徹運作之來源資料的可甬栓' Μ反根據執行電路S 4 0之執行單元貸源S3可芾丨ΐ,來說字 地排程實體1¾運作之執行。 執行電路8 4 0涇由结果匯流排3 6 2來穹回實il激_作之 脫序執行的推測结果至重排序電路3 4 2 .孰行電路3 4 C之 推測结果的寫回是脫序的,因為預留與分派電路3 Μ沒序 地分派實體澈運作且執行不同型式之實1跆運作巧耑之遥 理器3 2 2週期的數目不同: (請先閱讀背面之注意事項再填寫本頁) -裝. 訂 線 本紙張尺度適用中國國家標準(CNS ) Α4規格(2f〇X 297公釐) 311192 a7 B7 五、發明説明(W ) 就一實例而言,執行電路8 4 0包含-姐之5執行單元 E IJ 0 - E U 4 。預留與分派$路δ 3 8經由微運作分派匯流排 (請先閱讀背面之注意事項再填寫本頁) 860同時分派最多5實體微運作至執行單元EU0-EU4 。 執行單元E U 0執行算術理輯單元(A L II )功能,而該等功 能包含整數相乘與相除K及浮點相加,相減,相乘與相除 微運作。執行單元EU1執行ALU整數功能與跳移運作。執 行單元EU2執行來自記憶體之整数與浮點載入運作Μ及載 入線性位址功能與區段暫存器功能。執行單元E U 3執行整 數與浮點儲存與區段化暫存器運作。執行單元EU4執行整 數及浮點儲存資料運作。 重排序電路842包含媛衝實體微運作之推測結果的實體 暫存器。重排序電路842之每一實體暫存器容納整數資料 值與浮點資料值。、 真實暫存器電路8 44包含對應於原始巨指令流之架構暫 存器的實現狀態暫存器。真實暫存器電路844之每一實現 狀態暫存器容納整數資料值與浮點資料值。 就一實例而言,真實暫存器電路844之實琨狀態暫存器 包含英代爾架構微處理器之EAX, EBX, ECX,與EDX暫存器 ,等等,以及英代爾架構微處理器之架構旗標。真實暫存 器電路844也包含實現狀態暫存器,而該等實琨狀態暫存 器是做為執行於指令擷取與微運作發出電路8 3 2之微碼所 用的微碼暫存器。 重排序電路8 4 2與真實暫存器電路8 4 4經由實體微運作 匯流排8 5 2來接收實體微埋作。實體微運作之實體來源指 -36 - 本紙張尺度適用中國國家棟隼(CNS ) ΑΑ規格(210X 297公釐) 311192 A7 B7 五、發明説明(34 ) 定重排序電路8 4 2之實體暫存器以及保存實體微運作之來 源資料之真實暫存器檔案8 4 4的實琨狀態暫存器。 (請先閱讀背面之注意事項再填寫本頁) 重排序電路842與真實暫存器電路844讀取實體來源所 指定之來源資料,並經由來源資料匯流排8 5 8來轉移來源 資料至預留與分派電路838 。實體微運作之每一實體來源 包含一真實暫存器檔案有效(RRFV)旗標,而該旗標顯示是 否來源資料是包含於重排序電路842之實體暫存器或真茛 暫存器檔荼844之實現狀態暫存器。 實體微運作匯流排8 5 2之實體微運作的實體目的地指定 重排序電路8 42之實體暫存器Μ媛衝實體微運作脫序執行 之推測结果。重排序電路8 4 2經由實體微運作匯流排8 5 2 來接收實體微運作之實體目的地,並清除實體目的地所指 定之實體暫存器。、 重排序電路842經由邏輯目的地匯流排854來接收對應 於實體微運作之邏輯目的地,並儲存理輯目的地於實體微 運作之實體目的地所指定之實體暫存器。重排序電路8 42 之實體暫存器的邏輯目的地為實體微運作之退休指定真實 暫存器電路844之寊現狀態暫存器。 退休邏輯電路846藉由利用與原始邏輯微運作受到接收 之相同順序來實琨保存於重排序電路8 4 2之實體暫存器的 推測结果成為架構狀態Μ對實體微運作實施排序。退休理 輯電路846導致重排序電路8 42之推測结果資料經由退休 匯流排864轉移至真實暫存器電路844之對應實琨狀態暫 存器。就一實例而言,退休理輯電路8 4 6在處理器8 2 2之 -37 - 本紙張尺度適用中國國家橾準(CNS ) Α4規格(210Χ 297公釐) ύϊΐΰ2 Α7 Β7 五、發明説明( ii遴存 i 体暫 每退體 ΓΝ每最 退.!--_間 語 ?~ 空 ίΐ3213 暂器路 擅理電 賞莛體 1.在漬 使 6 將 84¾ 多路:|± SS退 s T-! 3 ji'II!:? Γ-.ΓΓ X... 扫" 重 ο 致32 導排 ώ 流 CO1... 84移值 路!rf3 電標It II指de 51令簡 体指指 退巨今 .由指 dlil 退¾ ΐ 芑 2^ 4 ,卜 8 Μυ[ 路退 I电移 ,cr 經 |三 接序值 .來排標 ο 重指 82:一 t 令 辞退指 流逋之 Μ 根現 移48實 葡路算 標電計 指始來 令a!1 指新 3 巨重it •s :de 經值镖 a 指 1L令 路de指 電漂巨 始指~1 詨令項 訢指器 重巨衝 收缓 8 1C* ----------I-- (請先閱讀背面之注意事項再填寫本頁) 路 電 輯 il 退 向 指I 持 路 -5-序 暫 韹 實 之 1G實之 供為 2 .¾¾84 组沐路 器退電 存果字 暫结排 體測重 實推過 溻之通 連器標 向存指 指暫配 II體分 指實隨 休使跟 退輯標 : 遴指 ilir:体 钵七,日 trR5 λζ-Λ 、r-r*- di 當, 退 ' 時 的甩態 器之狀 存沐現 實作排吏51巟 —Λ— . yl 序徹 Μ Κ體知 6 實通 0〇給钵 路配退 電分由 輯序涇 莲 Κ 6 沐是34 退器路 :存® 器暫II 存fl-趕 暫實味 體為退 實因 存 沐
It 退 ^ 訂 線 的 EI II 實 1¾ is 之 定 指 所 漂 指 路 電 行 執 it E 之 經濟部中央標準局員工消費合作社印製 重否 字1 hr ?1蕻 壇δ 己【i V:-3 殂號 一 信 岀始 發故 並新 , 重 饱序 的排 目體 體!! 實記 d± : 退 3 ,妆37 接號 器11 衝始 迓改 序新 fcL Γ,οί ..¾) 一 n>—f aIs ,6 E07 作:M 運!I 入始 截故 體新 II重 記序 的排 一 體 if 地記 的 '· rB頃 樘違 實序 lvhl·. ί+与; 退|§ 於理 對 ^心 導始 已故 ¾fr 的重 g 序 體排 實體 ίέrl 退記 器故 理新 露重 之為 t'-J ,.¾ 6 一 7 可 3 違
S 接
S N C 準 標家國國中 用一 適 度 尺 張 紙K 釐 公 經濟部中央標準局員工消费合作杜印製 第π 1 1 Ο 4 2 3號專利申請茶 土卞銳琚菩咚TP W ί :¾ 3车3曰) A7 B7 五、發明説明() 收:如果記憶體排苧重新設始洁?f π 3頷示可能之菹:¾喆 排序這規,重新S始電路8 4 3發ώ 3排苧清除S號3 7 ?-重排冷消球5虎3 ί 8薄致建[排序藥站、4 k; ?3ϊ綠退:木·3寊 體跆運作的推_结果資料:重排亨清::余涪號3 7 3等致預留 與分派電路8 3 8來清除等娱分派至註3電路3 4 0二禾決實 體微運作:重排序清狳信號3 7 δ岜導致分配Ε铬S 3 3 3重 置分配指_ Κ分配重挵序電路3 4 2之’實健Μ存器·並等致 退沐遴輯電路8 4S來重置退休指漂Κ使莨體暫存器退沐。 如果記憶體排序重新钕始信號3 7 6 3貞示可能ζ莲理器排 序違規*重新故始電路S 43匣兩羥Ξ巨指今+指漂頜,匯流 排8 2 0所接妆之巨指令指標d e 1 t a值来計算重新敦始指令 指標ίΐ :重新故始指令指標值指定對S於等致可能記ί意· 排序違規之賞體澈運作的巨指令:重新gi始電路δ 4 3经曰 重新敦始向量匯流排8 4 9來轉移重新歆始指争指ϋ埴至指 令擷取與歡蓮作發出電路8 3 2 : 指令铺取與溢運作發出電路8 3 2昱由重新&饴向量· 51流 排3 4 9來接收重新故始指令指標值:望排序淸除倍號3 7 8 導致指令镚取與溢運作發出電路3 3 2之溢指令排=器重新 發出在退体2:前自重排序電路3 4 :;受到清涂之_ :亨3黄葡 運作流:指令擷取與澈運作發盅電路?22藉由擷取62始心 重新故始指令指標值所指定之巨指& :立址的巨指&流· a 藉由轉換該巨指令流成為邏輯澈運作,泛II白经3 a :讀冶 運作匯流排3 5 0以鹑移該等莲辑;:¾運作,來重新發出邏輯 澈運作: (請先閲讀背面之注意事項再填寫本頁) -裝- 訂 線 本紙張尺度適用中國國家標準(CNS ) Α·4規格(lfl)X 297公釐) A7 B7 五、發明説明(37 ) 如果記憶體排序重新啟始信號8 7 6未顯示可能之處理器 排序違規•則退休實體目的地所指定之實體暫存器的退休 繼續進行。重排序電路8 4 2測試退休實體目的地之有效旗 標。如果退休實體暫存器之有效旗標顯示有效之推測資枓 ,則重排序電路842使得每一退休實體暫存器之推測结果 資料退休。重排序電路8 4 2藉由使得推測结果資料轉移至 實體暫存器之邏輯目的地所指定之真實暫存器電路844的 實現狀態暫存器來使一賁體暫存器退休。 暫存器別名電路8 3 4與分配電路8 3 6經由退休通知匯流 排870來接收退休實體目的地。暫存器別名電路834據此 更新暫存器別名表來反映退休。分配電路836標示重排序 電路842之退休實體暫存器為可用來分配。 圖9顯示本發明 '之電腦糸統9 1 0 。該電腦糸統包含一系 统匯流排9 1 2 ,而糸統匯流排9 1 2實際上可包含多個不同 之匯流排,例如主系統匯流排,處理器際通訊匯流排,區 域網路匯流排,或其他此類匯流排,而每一匯流排包含許 多匯流排線群組Μ提供一或更多功能,例如資料,位址, 及控制資訊傳榆。 為使圖9清楚以及謅者易於瞭解本發明起見,所有此類 匯流排皆是以匯流排9 1 2來表示,而其後將稱為外部匯流 排9 1 2 。本文已做了其他此類化簡,為方便讀者起見本 發明之真正範峭不應被誤解為受到此類化簡之限制。 多種代表性電腦系統元件,包含記憶體次系统(R A Μ >及 硬碟機(II D ),耦接至外部匯流排。其他此類元件也可耦接 -40 - 本紙张尺渡適用中國國家標準(CNS ) A4規格(210X297公釐) ^ ί I 裝 訂 '^ (請先閱讀背面之注意事項再填寫本頁) -^1192 A7 B7 五、發明説明(58 ) 至外部匯流排。 一或更多C P U也耦接至外部匯流排。也有用Μ接受額夕卜 C P U之一或更多承受器。此類額外C P U可加至糸統以增進 其效能,且可包含超越既存CPU之升级CPU ,或他們可包 含與其他既存C P U串接式運作之額外多處理器C P U ,或他 們可包含強化C P U ,例如運作Μ補充其他C P U之數學輔肋 處理器或圖形加速器。此類多處理器(Μ Ρ )糸統可為同質的 ,只包含單一架構(ISA)之CPU,或其可為異質的,包含不 同架構之CPU 。就一實例而言,該等CPU可為英代爾架構 微處理器。無論如何,承受器可包含用Μ接受額外CPU的 承受器,而該等額外CPU具有他們之附鼷L1快取與隨意之 L2快取。 該等CPU之任一或更多可包含下文所述有關示範CPU 914之特色,且任一承受器可在額外CPU為此類特色提供 匯流排連结。 · 當然,C Ρ ϋ 9 1 4可包含除了受到展示之特色外的額外特 色。再一次為簡化起見已自圖9移去其他此類特色。例如 ,一些常見之特色,例如浮點與整數紈行單元,未受到展 示,而且一些較不著名之特色,例如脫序引擎或推測式執 行機構,也未受到展示。但是,這並不是說本發明無法利 用此類特色來實現,或即使無所示之所有细節。 只為瞭解本發明起見,C P U 9 1 4可說明成包含外部匯流 排請求佇列單元(E B R Q )且圍繞該單元而建立。C P U 9 1 4也 包含耦接至外部匯流排與E B R Q之佇列至外部匯流排請求邏 -4 1 - 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ 297公釐) ^ ί'*裝 訂 -線 (請先閱讀背面之注意事項再填寫本頁) A7 B7 五、發明説明( 39 ) 1 1 | m 單元 (EBRD 1 1 CPU 91 4 包 含 耦 接 至 EBRQ 之 請 求 優 先 權 化 與 確 認 單 元 (RP A ) 〇 指 今 擷 取 單 元 (I FU ) 耦 接 至 RP A 〇 資 料 快 取 單 元 請 先 1 (DCU ) 也 耦 接 至 RP A 〇 CPU 可 包 含 一 層 次 1 快 取 單 元 閱 ik 1 背 1 (LI )- 而 L1 可 為 統 式 快 取 或 如 圖 9 所 示 DCU 之 資 料 ιέ 之 1 LI 快取 與 IF0 之 指 令 L1快 取 〇 意 1 1 事 1 CPU 914 也 包 含 耦 接 至 EBRQ 之 吠 能 追 蹤 理 輯 單 元 (STL) 項 再 〇 STL 耦 接 至 外 部 匯 流 排 與 背 部 匯 流 排 直 接 或 間 接 受 到 填 % 本 () ά 展 示, 並 提 供 顯 示 個 別 匯 流 排 之 狀 態 的 資 訊 〇 此 類 狀 態 資 頁 1 1 訊 可顯 示 例 如 是 否 匯 流 排 是 忙 碌 的 執 行 偵 察 遭 受 1 1 同 位錯 誤 Μ 及 可 有 肋 於 實 現 本 發 明 之 方 法 的 任 何 其 他 此 1 類 資訊 〇 STL 可 進 一 步 追 蹤 白 外 部 匯 流 排 送 回 之 資 料 的 1 1 狀 態, 前 送 至 L1快, 取 之 資 料 的 狀 態 ( 指 令 及 / 或 資 料 L1 ) 訂 | 前送 至 L2快 取 之 資 料 的 狀 態 資 料 之 快 取 狀 態 例 如 1 1 MESI 狀 態 請 求 之 偵 察 狀 態 相 關 於 資 料 送 回 至 L2快 取 之 1 I 資 訊, 錯 誤 狀 態 例 如 位 址 錯 誤 資 料 錯 誤 及 / 或 外 部 1 1 匯 流排 回 nrftf 懕 錯 誤 〇 STL 也 可 追 蹤 每 —. 請 求 之 吠 態 > 此 類 狀 線 態 資訊 包 含 1 是 否 請 求 正 等 候 BBL/L2 之 服 務 是 否 請 求 1 前 正由 BBL/L2來 服 務 是 否 請 求 正 在 外 部 m 流 排 等 候 服 務 1 I * 是否 請 求 百 前 正 在 外 部 匯 流 排 受 到 服 務 是 否 請 求 正 等 1 候 送回 至 B B L / L 2 之 服 務 是 否 資 料 正 送 回 至 B B L / L 2 及 1 | 是 否請 求 完 成 / 結 束 〇 1 佇列 至 背 部 m 流 排 請 求 邏 輯 m 7C (B S B R L ) m 接 至 EB RQ與 1 | 背 部匯 流 排 邏 單 元 (BBL ) 〇 1 | 42 1 1 1 1 1 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) A7 B7 五、發明説明(4〇 ) B B L耦接C P U 9 1 4至一快取 > 例如層次2快取簞元 (L 2 )。L 2快取可位於C P (J之内做為模上快取,或在多晶片 模組之内,或其可建構成實體分離之堆叠式晶Η。在該等 組態之任一的一實例中,L 2快取最好經由背部匯流排9 1 6 來耦接至C P U 9 1 4 。此將降低外部匯流排9 1 2之匯流排流 虽。 應可瞭解多層次階層式記憶體系統可建造成具有多種姐 態之任一。在一些姐態中,其可包含虛擬記憶體,其中硬 碟之一部份是視為另一層次之快取。 在圖 9 之糸統中,DCU, IFU, BBL/L2, CPU, DMA,與其 他此類元件,可充當在外部匯流排發出及接收匯流排請求 之媒介器。EBRQ接受來自CPU/L2內之任何媒介器的匯流排 請求,並將他們排 '程上下於外部匯流排。在所示之範例中 ,EBRQ處理來往於DCU, IFU,與BBL/L2之外部匯流排請求 〇 i 各種匯流排媒介器可執行各種匯流排請求,根據本發明 之不同實例。在一實例中,此類匯流排請求包含讓取與寫 入請求,且可由DCU, IPU,與BBL/L2提出請求,如表1所 示: n - «m 1*-- * I —I -I 士 --11- is- -- - I- - - - - - - I: - 1 —« -I ^^1 ^^1---- ίι ·ί (請先閲讀背面之注意事項再填寫本頁) 經濟部中央橾隼局員工消費合作社印製 表 1 讀取 寫入 DCI) X X IFU X BBL/L2 X -4 3 - 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) 經濟部中央標準局貝工消費合作社印製 邊號專利串請察 力亇說萌;1沒不百:3马; A7 B7五、發明説明() D c u ig取與寫入請求當然是資(4透《舆窝人:H讀取 請求當然是指令通取:D C U與I F U外部m流排請求迚常.1 針對於L 2快取;送至外部Μ流排二D C U與厂U運作一毅將 已在L Γ!夫取内受到查看,但是未迠命中: 3 B L / L 2寫入請求可為“污損受害者寫回 '’:當L 2诀Κ雯為 滿時 > 新的快取線分配要求一已受到佔芾之快取線玻穹出 記憶體。該寫出快取線是稱為诀取课取代之”受害者"-郎 果受害線包含相對於該線所代表之苯決取(或在較高罾次 受到快取)資料已受到改荽之資料則該受害線只1受到寫 出。此一改雯線是’’受到污損” :如爭未污損.遠受到逐出, 其可只是受到覆寫及忽珞,因為存在於使®之資Η在該位 垃(S然有效: 當一請求媒介器發出對给定位址之穹入,且另一媒介器 發出對相同位址之讀取或寫入時,1流排衝突可能發生: 各種單元可完全與肢此濁立地運作 '叵是有時可對相同位 址提出請求3該等相同位扯請求受到發a至外部匯流涝之 '頼序,與览in受到服務之方式 '對強持記憶體達貫性非常 重要=多種排序方法可受到使用 '列如強或弱捽序:但是 ,無論使m也種排序方法,其必須受到運貫性使民: 當一請求單元發岀讀取而另一請求蛋元對陷同之泣址發 岀穹入時,第一單元必須接收第二s元發岀之窗μ 此芎 藉由在讀取之前發出寫入於外郃;s流排.κ a藉虫筇證m人 ~將完成來達成:或者|其可藉由提供諮取_求罩乇另一拷 搆μ接收來自寫入請求單元之資料π達成= (請先閱讀背面之注意事項再填寫本頁) 裝· 訂 線 本紙張尺度適用中國國家標準(CNS ) Λ4規格(5Γ〇Χ 297公釐)
.經濟郎中央標隼局员工消費合阼ft印U A7 B7 五、發明説明(42 ) 在圖9所示之實例中,E B R Q經由R P A接收來自[F U與 D C U之新請求,並經由B S B R L傳遞該等請求至B B L ,以使 B B L可決定是否L 2快取包含請求之位址,或換句話說,是 否L 2快取包含一快取線,且該快取線儲存自記憶體之該位 址快取而得之位址。如果L 2快取不中出現,B B L顯示此情 形並要求該等請求由外部匯流排來服務。此可意謂他們由 L3快取(未加Μ展示),例如,或直接由主RAM ,來服務。 如果請求是讀取請求,且如果位址不是在L2快取,BBL可 在L2快取為每一請求最终將送回之資料挪出空間,藉由如 上所述自L 2快取逐出一線。 圖10展示有關EBRQ之額外细節。EBRQ包含佇列1020。為 在廣大範圍之應用達到高效能,佇列1020最好運用先進先 出(FIFO)排隊機構來選擇要傳送那一請求至BBL/L2 Μ接受 服務。在其他實例中可使用其他方法。 佇列1 0 2 0包含一或更多項。在所展示之範例中,其包含. 位於佇列位置0至3之4項。每一項可包含有關個別請求之 多種資訊。例如,該項可包含請求之識別(I D ),請求之型 式(Τ Υ Ρ Ε ),例如讁取或寫入,請求所針對之位址(A D D R ), 與請求之目前狀態(S T A T U S )。如需要的話也可包含其他資 訊。 佇列管理器1 0 2 2控制佇列1 0 2 0之諸項的分配與__分配。 當來自I F U或D C U之請求為R P A所接受時,佇列之新項受到 分配。當諸項已成功地B B L / L 2來服務時,或當諸項已受到 發出並成功地在外部匯流排完成並(随意地)送回他們之資 -45 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) --------...i------ΐτ-----0 (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消费合作社印製 第3 3丨1 Ο 4 2 3號專利申适東 中卞說_ 3?孩7f W U β 5Ξ 3月'1 Α7 Β7 五、發明説明() 料至B B U L 2時,或當需要提罕去分配之嚴重錯誤1生時, 例如當許多位址同泣错誤發生時,或當嚴重K _回應在外 部匯流排上送回時 > 自佇列去分配諸項:因此佇列管理 器1 0 2 2與R P A協同運作。 EBRQ也可包含L2污損受害線逐盅諳求之表列1024:其可 包含一或更多項。在所展示之範两中•其S含在表究泣置 0與1之二項。每一項可包含有關逐出澡之多種資訊,阔如 該線之資料的位址(ADDR),及逐岀寫回請求之吠態 (STATUS):· 表列管理器1 0 2 6控制表列1 0 2 4之諸項的分配與去分配: 當新請求自DCU或IFU抵達時,管理喆1022分配佇列 1 0 2 0末端之下一可闬項,根據預定之演算法:該演算法之 細節對瞭解本發明並不重要3應瞭辞的是新請求是置於 F I F 0之末端。 當該請求最终抵達FIFO之前端時' 管理器1022將其移去 且E B R Q傳遞且至B B L 。如果B B L在該持定時間無法gg · B該 請求,無論原因為何,3 B L拒絕該請求,且管理器1 0 2 2再 度插入該'請求於佇列在一實例中' 被拒絕之請求會送回 至FIFO之末褊: 鸬遲至外部流排之請求可遭受B同之拒iS輿重新插人 方法。浏如外部匯流排同位錯誤可迠使請求在铺後受到拒 絕及重新發出。 在一實冽中,掖拒絕之請求無需遭受上述之泪同排苧要 求,相對於其他請求,坦在此類實例ώ ,必:須採取適當之 (請先閱讀背面之注意事項再填寫本頁) 裝. 訂 線 本紙張尺度適用中國國家標準(CNS ) Α4規崧(ϋχ_297公釐) 經濟部中央標準局員工消费合作社印製 A7 B7 五、發明説明(44 ) 步驟來確保記憶體連貫性。 上面詳细加以說明之方法確保無請求受到不公平待遇, 但其提供高糸统效能。但是,本發明還探討額外之考量。 在圖9所示之範例中,其中D C U , I F U與B B L / L 2可發出讀 取與寫入請求,有四個必須加以探討之記憶體排序問題。 該等問題示於表2 : 表 2 _ DCU寫人 對 I F U讀取 DCU寫入 對 BBL/L2寫入 D C U或I F U讀取 對 BBL/L2寫入 外部讀取 對 内部寫入 在所示範例中D C U謅取對D C U讀取之情形受到忽略,因 為DCU將不會Μ會溥致衝突之方式來對相同位址發出二請 求。 第四種情形存在於多處理器系統。在該種實例中,對於 給定位址並由一處理器發出至外部匯流排之讀取請求之後 不能立即跟著由另一處理器對相同位址發出至外部匯流排 之寫入請求,直到獲得保證讀取請求已偵察第二處理器之 快取並接收在其受到快取之任何修改資料為止。 因此,第一,第二,與第三種情形可瞭解為純粹是一 C P U領域之内部情形。 本發明之糸統的顯示元件合作來紈行許多機構或方法’ 而該等機構或方法協同工作來防止E B R Q之記憶體排序問題 。該等機構可包含,在各棰範例中該等機構或方法:(A ) -47 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) --------,ί :圓裝------訂-----f 線 (請先閲讀背面之注意事項再填寫本頁) 經濟郎中"嘌隼局tsr工消費合阼汪印纪 ^-^1192 A7 B7 五、發明説明(45) 相同位址阻塞機構,(B )自修改碼處理機構與_流排偵察 機構,(C )逆向詢問機構,(D )衝突位址媛衝器機構,以 及(E)其他更通用之機構。 在一實例中,如圖9所示,CPU 914進一步包含相同位 址阻塞機構9 3 0 ,自修改碼與偵察機構9 3 2 ,逆向詢問機 構9 3 4,Μ及衝突位址媛衝機構9 3 6 。 相同位址阻塞機構確保當新請求傳遞至BBL Μ在L2快取 執行査看時,其之位址是與對應於已通過L2快取之請求之 EBRQ的每一位址來比較。如果發現匹配的話,BBL拒絕該 新請求並將該新請求置於FIFO之末端,如上所述。 自修改碼與自偵察機構確保當IFU請求傳遞至BBL Μ接 收服務時,在DCU與EBRQ執行自修改碼偵察來偵測有無現 存於DCU ,或在寫成為EBRQ請求之過程,的修改資料。如 果發現修改之資料,利用一指令傳送該請求至外部匯流排 Μ自偵察或回看CPU來尋找修改之資料。 . 逆向詢問機構確保當B B L / L 2逐出污損受害線時,在D C U 與EBRQ尋找該位址來査看是否存在該相同資料之更新的修 改版本。如果發琨有更近的修改版本,則只是自表列移去 來自L 2快取受害化之匯流排請求且絕不發出該匯流排請求 至外部匯流排。 衝突位址緩衝機構確保當發出來自任何媒介器之請求至 外部匯流排時,其之位址是儲存於衝突位址谖衝器(未加 Μ展示)。與此媛衝器比較可防止C P U發出可與針對相同 位址之先前發出請求衝突的任何請求,直到可保證先前發 -4 8 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) f -裝------訂-----'線 (請先閱讀背面之注意事項再填寫本頁) A7 B7 五、發明説明(46 ) 出之請求是”安全的”為止。當請求已超越所謂措誤窗及總 體觀看窗且因此保證為完成時,該請求是安全的。 該等機構结合以防止記憶體受到重排序,或換句話說, 以防止快取不連貫出現,如下所述。 在D U C寫入對I F U讀取之情形下,如果I F U讀取首先是 由B B L來服務,自修改碼偵察機構將偵測E B R Q之输出修改 資料之存在。並將指示EBRQ來引導外部匯流排來自偵察 C Ρ ϋ 。該自偵察將導致D C \寫入之修改資料經由C Ρ ϋ之内 隠寫回機構來受到寫出,且DCU寫入將受到取消。 在DCU寫人對BBL/L2寫入之情形下,當L2快取污損受害 請求受到傳遞時,逆向詢問機構將發現DCU寫入請求已在 進行中,且將取消BBL/L2寫人請求。 在DCU讀取或IPU讀取對BBL/L2寫人之情形下,如果 DCU讀取或IFU讀取進入FIFO而對相同位址之BBL/L2寫入 同時出現,相同接收胆塞機構將使該讀取受到阻塞而無法 前進至超越該BBL/L2寫入。 在外部讀取對内部寫入之情形下,衝突位址媛衝機構防 止内部寫入發出至外部匯流排,直到來自外部謓取之偵察 保證已完成為止。如果偵察命中外送之修改資料,寫入請 求將受到取消。 圖11顯示重排序電路1142。重排序電路1142建構包含一 姐R 0 B項(R E 0至R Ε η )之重排序嫒衝器1 1 8 2。諸R 0 B項, RE0至REn,是緩衝來自實體微運作脫序執行之推測结果資 料的宵體暫存器。就一寊例而言,諸R 0 B項,R E 0至R Ε η, -49- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) --------I 裝------訂------*·^ (請先閱讀背面之注意事項再填寫本頁) A7 經濟部中央標準局員工消費合作社印製 B7五、發明説明()包含一组i 1 3 4画實獲暫存器:就另一實冽而言,諸R 〇 3項 ,REO至REn,包含一组1140屆實體暫存喆: 每一 R 0 3項包含一有效旗漂(V ),一结果宣料這,一-Μ 旗標,一旗镖逵罩,一莛輯目的垃(L D S T i,错誤資料,與 一指令指標delta (IPDELTA): 有效旗漂顯示是否對應R 0 !3項之结果Η料這是有效的 重排序電路1 1 4 2清除每一新分配之R 0 Β項的有ft旗漂Μ顯 示無效之结果資料值=當推測结果資料自圆8中的執行電 路840寫回至R0B項時,重排序電路1142設定有效旗镙。 结果資料值是來自對應實體微運作之我序執行的裡測结 果。該结果貨科值可為整數資料值或浮點資料值:就一實 洌而言,R E 0至R Ε η之每一 R 0 B項的结杲資抖道謂包含 11 8 6泣元Μ容納整數與浮點資科值= 旗標與旗標遮罩提供推剷式架搆旗標資訊,一旦對應之 R 0 Β項退ί木之浚,推測式架搆旗標資訊移至真實暫存器 電路1 1 4 4之架搆旗標。 ' 通輯目询地L D S Τ指定圏3中的真實暫存器電路3 4 4之實 琨狀態暫存器。在R0B項退眛期間對應R〕3項之结果資料 Λ 值轉移至L DS 了所指定之實現狀態暫存喆: 錯誤資钭包含錯誤資訊Μ洪執行S:i 3 3中的指令擷取輿 激運作發岀電路8 3 2之錯誤®理澈碼所圬:當错誤S琨時 ,错誤菡理激碼讀取該錯誤資料Μ決定錯誤之闱;3 : I P D £ L 了 Α是確認對應於實體暫存器之巨指今的巨指今指 標d e ! t a值5 (請先閱讀背面之注意事項再填寫本頁) -裝-
、1T 線 本紙張尺度適用中國國家標準(CNS ) Α4規硌(*if〇X_297公釐)
第 33 1 1 * -?- S
JL A7 B7 五、發明説明( 重捞序電路1 1 4 2经由實體溫逞作1流 激違作Ρ πι ο P „ 0至P m 〇 p _ 3 :重排序1路I 1 湲衝器1 1
::¾ 蓮作 pmop_〇 至 ρ οι ο P 源 料:重排序電路1 1 4 2經由來源資料運流排丨1 5 S來 資料值與有效旗標自實體微運作之實疆來源P s「c P s r c 2指定之R 0 3項至圖8中的預g與分派電路8 例如 > 來自P m 〇 p _ 0之雷體來源p s r· c 1與p s r c 2 ;= 經濟部中央標準局貝工消費合作社印製 項的结杲資料值與有效旗標是涇由來源g 移敢為來源資料srcl/src2 data_0 :如® 顯示有效來源資料,則來源資料s r c丨/ s r pm〇p_0之實體來源psrcl與psrc2指定之刁 同樣地,重排序電路Μ 4 2涇由來S資t 體 1¾ 連作 P in 〇 p _ i ξε ρ το ο P _ 3 遵移來目 UH §§ R 值與有效旗漂做為來源資料s r c 1 / S s r c I / s r c 2 d a t a _ 3 重排序電路1 1 4 2清除羥甴實;1澈 實體徽運柞ρπιορ_〇至pmop_3實體目 的有效泣元:重排序電路1 U 2清除 结果資抖值a效•因為產生該结杲 ρηιορ_0ϋριηορ_. 3正在圖3 中的Μ留 组合= 重排序電路1 1 4 2清除迓甴莛輯目的迚H流排:1 5 4帘 邏趙目的地1 d s t _ 0至1 d s t3 Μ及巨指&指標d e ! t in i p d _ 0 生 si 丨 p d _ 3 重排序電路 1 1 4. 2 Η: 3 2 的.「li! !流排1 1 S之有效 a t a _ Ο ίΐ -^τ 巧穴 k:\ . :.Ν ί.3 貝 ί‘4 - 14謹流排1 1 5 S ROB項之结果 data — 1至來源 對 料 Η (請先閲讀背面之注意事項再填寫本頁) 裝- 訂
作1流排 您pdst指定i 玫S :ΐ Μ顎η 14 ;1 t: 1 :¾ ai ^ 3 V - V ~
0B ΐ;ί 線 本紙張尺度適用中國國家標準(CMS ) Α4規格(3f〇X_297公釐) ο 33110423 專利
Oil. 月) A7 "^一 B7 五、發明説明( I d 3 t P d s t 7旨定之R 0 B項的L D S 丁 fi f® delta m i p d _ 0 至 m 丨 p ci pmoP„3實獲目的池pdst指
作 f) m o p _ 0 至 p :ΐΐ I ·=重排序電路 於實體說運作 之R 0 3項的I: P 存巨 浏如> S讲序3路1 1 4 2丨si存1 ci s t _ 0與!π i ρ 實體目的地p d s t指定之R 0 B項的L D S T與I ρ π L D S T镏的莲辑目的地指定圆8中的真實暂Γ? 實琨吠態暫存器Μ供對應之ROB項退休所罔 I P D E L T A 的巨指旁指镖d e i t a指定對應R 0 [ y~y- - 重排序電路1 1 4 2经由结果M流排1 1 3 2接汶 執行電路8 4 0之寫回裡澍结果資訊:來自執 E U 4之寫固推剷结杲資訊包It结果資料:Ϊ,: P d s t與錯誤資料: 重排序電路η 4 2儲存來自執行單元£ U 0至: 结果資訊於结果匯流排i 1 6 2之實體目的地3 d ε t指定之R 0 S 項&對每一執行單元E; U 0至Ε ϋ .ί,重排序電1 1 4 2 :5i存洁杲 *χ. 0 T;' Ρ :π ο ρ _ 0 ΤΑ . S0B項之 条電路3 4 4之 R 0 D項之 【之1始巨指 ΐ自圖8中的 -- '.ητι 一' κ « - Γ '-a 7U 1UO -JH ίζ: -J'j J-t!l Π;| (請先閔讀背面之注意事項再填寫本頁) •裝· 訂 線 經濟部中央標準局員工消費合作社印製 資料值於结果資料值满,並儲存錯誤Μ P d s t指定之1? 0 Β項的错誤資科權: 每一采自執行電路3 4 0之结果貨科值 。每一有玫旗標是諳存於實體目的迪P d 有致K搮圏 '執疔單元E U 0至Ξ U 4設定有 對應之结杲資料直是有效的_ 重排序電铬1 1 4 2經由退ί不通知匯流排 目的地 言致辑 ROD ίΐ 接 倡目 本紙張尺度適用中國國家標準(CNS ) Α4規格('Ί f〇 X 297公釐) 經濟部中央標準局員工消費合作社印製 笮d : Ο 4 2 3號專祠S3 a菜 5 r冷胡導这π IF u R年3 Ξ: A7 B7 五、發明説明() 的地=垲ί*實體目的地籍由涇由退沭1流排1 1 ό 4縛移迮剧 结果資料值至真實暫存器電路3 4 4采等致重涝序5詻 1 1 4 2來實現諸R 0 3項,R Ε 0至R Ε η,旳技,.¾ :栗資丨4 iil成為 架構跃態:· 退沐匯流排1 1 6 4薄送一组退沐:¾蓮作r :ϊι _ 0至r S „ 4之_測 结杲D每一退体丨鼓運作r !n _ 0至r a _ VS含一结果資f丨®與來 自諸R Ο B項,R E 0至R Ε η,之一的-一 il輯目的迚1 d s t : 來自圖8中的退休莛輯電路846之退(木實疆目的迪史導 致重排序電路1 1 4 2涇由巨指令指標扁移匯流排1 1 2 0來锷移 退沭R Ο B項之巨指令指漂d e 1 t a至重新故始電路1 1 4 3 : 重排序電路1142接收來自画3中的重新故始電路848之 重捞序清除信號1 1 7 3 :重排序清餘信號1 1 了 8等致重排序電 路1 1 4 2清除所有R Ο B項:. 圖1 2顯示執行電路1 2 4 0之載入記_丨1體電路:該載人記丨 體電路包含位址產生電路1 2 0 0、記澴狺排序®路1 2 0 2,寶 料轉換旁視缦衝器(D T L B )電路1 2 0 4,只及貸14決取電路 1 20 6 —— 位址產生電路1200经由跆運作分® S流琲1 2 6 0接吱來自 圖3中的預習與分派電铬3 3 8之分汲IS入記隠遛實趕:¾ 3 作::¾運作分派匯流排1 2 6 0上2每一分溫赏人£ s _護實習 徽運作包含一運作碼,一對來源S丨4值s r :: i _ d a u罢 src2_da^a --實體目的地p d s t,與一效Λ污蓝P識别嗎 Ibid : 位址產生電路1 2 0 0根據來源資科丨直s r c 1 _ d a t a輿 (請先閱讀背面之注意事項再填寫本頁) •裝- 訂 線 本紙乐尺度適用中國國家標準(CNS ) A4規格("2ί〇Χ 297公釐) rnm^^ ^ w? m m -3_il ;.:/l 且 A7 B7 五、發明説明( 經濟部中央標準局員工消費合作社印製 srCii.. data 線性位垃= ,泣址產生 架搆澈處理 位址產生 載入記憶體 排1200上之 分派匯流排 線性載入記 運作碼,由 之線性泣址 載入缓衝器 記憶體排 路1202經由 運作。記憶 儲存線性載 路1 2 0 2涇4 運作自載_入 -DTL.B電路 排序電1 2 1 2 0 4涇由讀 來決 分 絜人記憶體實杞 該竦性泣址也可稱為虛擬位址 電路1 2 0 0建搆記憶體區段®存 器之記憶體區段it來·生線性 電路1 2 0 0經由線性運作匯流排 微運作至記憶體排序電路1 2 0 2 每一溁性載入記億體運作對應 1 2 6 0接收之分派載入記億體實 億體澈運作包含對應載入記憶 對應來源資料值s r c I d a t a與s l_acidr,對應之實精目的地pd Si 別瑪 1 b I d 二 序電路1 2 0 2包含一載入湲衝語 線性運作匯流排1 2 9 0來接收線 體排序電路1 2 0 2根據載入諼衝 入記憶體澈運作於載人湲衝器 讀性運作g流排1 2 9 0來分派绿 湲衝器至D T L 13電路1 2 0 4、 1 2 0 4 .¾¾ 由線性 is fF ϊέ yit 排丄 i 3 (.* 0 2之分派線性載\記憶跆運 取匯流排1 2 9 4為自記憶趕排序 轉 m 徵蓮作之 Μ ψΓ. '* 4ί人 满別 ]蠢排序 SP墙聘 :.u> -j _ -η·*'.- -· · - I v-j I o i a 排序 :¾ (請先閱讀背面之注意事項再填寫本頁) -裝.
、1T i線_ 每一.澡丨生載人記憶體證運作來提供一實體 電路1 2 0 !5 ' 0丁1^電路120 4轉換對應之線丨兰位址1_31」 £ 13 1 W7 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 笔3 3 : 1 Ο 4 2 3號專封]申請戈 土卞龙明;g咚卩W i λ 5车冯; Α7 Β7五、發明説明() 體實之 aa ί電 每映 Μ來 生 址 音:! ,f-记位 之注 定淳 Μ = :3;'、 gl泣體 iieII 位線記 體之 賞作02 白運12 經澈路 :0411® 地12憶序 位路記捞 稽電入稽 實LB載!1 iDTlylc 於 線至 ill:路汾 Is'5SI 體序一 實排的 之體址 作憶位 運記體 ^,實 fl、is之 憶而作 記网運 入實微 載一體 性就億 iiif:VT-':5d: 每:G 一項入項 ® 體每II殺|§ 對實存;|1性衝 移 S31:¾線湲 轉货02入一入 來的12¾每載 90dr3 之存之 12ad電3儲歷 琲'字對02對 -----------裝-- (請先閱讀背面之注意事項再填寫本頁) 路電 117 - ,Nt,資
Μ取 資 -ι.η r-/、 --D 之 之定 ila 如 導址位 II賞 J、.7y --J1 Π -下 统 二·體"記 自 r'-"需所取 斗 1·!·'·- =-- 電 7..、 经 6 ο 2 11 匯面 13 接错由 if 1面Γ. f hF p i,T1 、ϊ.匯 HJ -m中 ο-'圖之 中接 Μ3-si!I 理記 ¾.ml 多 tiv 訂 經濟部中央標準局員工消费合作社印製 取電,應序.1:¾ K取,對排 排的 之決一重流器 统料,的匯衝 糸資料.〒果湲 ,次 資 8 结入 lf MJ --一-rl fe,; 路有 路 傳 也 2 L3 §! 路電 亨 .1U-.1·.:,' 0 .V'-··..-·· .B 匯謅中II 果&CO 記 结κ_ 自 白,及來 : 涇 一71:2 送池 -•J: 斗 & ·' -n ,.k: ΠΜ 二 移貸'102 轉誤滔12 来错;ΐ路 02i 與1 12取留苧 1画.載 洁 U 二¾ ]-線 面 sil 多 察 偵 或 MMJ ai 惑 來 9.2 tlu' ® 己 ·ν3_Ι -.1 期 週 路電序 偵 無 中
里 Τ-· S 之 排器存 -gH ^ <'*.. Tr> f, ! SI苞部
Irr I-L HJJ;J 1¾Ιΐ iili 8 - ΪΓί· 所 』 5 s l· 7- ·1.4 本紙張尺度適用中國國家標準(CNS ) Α4規格("Μοχ 297公釐) 第8 3 1 1 0 4 2 3 ?號專祠Φ請察 Φ -卞背明害疼不酉i料革2月— A7 B7 經濟部中央標準局貝工消費合作社印製 五、發明説明() 權蓮作,而該運作可導致分:75淙性戏A纪1 :¾蓮作之一 的龚理器排序這規:記憶體排;電益1 2 0厂偵1?"多:S湮器 1流排3 2 8有無計對儲存於載人:1衝器之已分派焊S赞入 記憶體微運作之實體位址的外部儲存運作 在每一載入記憶體實趕澈運作之退ft期間,記憶體排字 電路1 2 0 2根據偵察偵測來產生記:b S琲序重新敔始丨言號 1 2 7 6 Μ顯示可能之處理器排序這規: 圖1 3顯示一實丨列之€埋器1 3 2 0 : ®埋器1 3 2 0包含R部資 料快取1 3 0 2,記憶體存取電路1 3 G 4,指令擷取管淥1 3 0 3, 脫序分派電路1 3 0 3,與執行電路1 3 i 0 : ®理器1 2 2 G進一步 包含浪序庁列電路1 3 0 0,偵察庁列電路1 3 1 2,與示法交易 佇列電路1 3 1 4 : 指令擷取管線1 3 0 6拫據㈣序程式次序目記丨意.11次糸统來 擷取指令流=指令擷取管線1 3 0 5轉移該指令流至胺序分派 電路1 3 0 8。銳序分派電路1 3 0 3垠搾執行電路1 3 1 0之指令來 源資料與執行g源的可罔性而非循序程式次亭來分派該指 令流之指、1執行電路13 1C: 脫序分派電路1 3 0 3分涯記憶體存取指争,S含载人與詰 存指令,至E憶謂存取電路1 3 0 4 '紀j意fl存取電络1 2 0 4 ?S 由存取內部資料块取1 3 0 2來執i?紀憶存取指争:記S S 存取電路1304祐送通訊交易至未決交易庁列電铬1 3 1=ί.:未 決交易庁列電路1 3 1 4之每一項對應還理語1 3 2 0 a 3 Μ流排 1330發tB之一通訊交易:未決交男ir列電路131 4之每一項 顯示是否對悪之通訊交易受到延谖·並拫搏該通訊交晃之 (請先閲讀背面之注意事項再填寫本頁) .裝. 、ya 線 本纸張尺度適用中國國家標準(cns ) λ4規格('iiisx 297公釐) 第3 3 1 1 0 4 2 3號專利申諳案 力卞说明苫沒Tf I i 3 2月) A7 B7 經濟部中央標準局負工消費合作社印製 五、發明説明() 完成來顯示快取埭之最终快取狀態: 眩序佇列電路1 3 0 0記錄匯流排1 3 3 0之匯流排交易資訊: 砍序佇列電路1 3 0 0之每一項對應於Μ流排1 3 3 0之一交易。 砍序佇列電路1300之每一項包含對應交易之DEFER與 HITM信號的狀態:‘未決交易佇列電路1314取潯資訊以決定 來自泫序庁列電路1 3 0 0之通訊交易的最终快取跃態: 偵察佇列電路1312讀取來自K序佇列電路1300之DEFER 與Η I TM信號之狀態。偵察佇列電路1 3 1 2決定砍序佇列電路 1300之每一項的偵察所有權轉移-·偵察佇列電路1312決定 t是否一交易要求處理器1 320取得一快取埭之偵察所有權, 或延遲該诀取線之偵察所有權,或在延湲交易期間重新取 得偵察所有權:記憶體存取電路1 3 0 4,與未決交易佇列電路1 3 1 4维持内 部快取1 3 02之快取線的快取狀態:内部資抖快取1 302之快 取吠態包含一修改狀態,一專吊狀態,一共甩狀態,與一 無效狀態:在無效狀態之快取線不是内部資料诀取1302之 荽數:"在修?ir狀態之快取線是κ修改型式儲存於内部資料快取 1 3 0 2 :內部賓料快取1 3 0 2之慘改快取線目前不是在資料快 取1 3 0 2之艿的記億體次糸统中,或其它任何裒理II之内部 資料诀取之任一的有效狀態,或111人/输出次系统,同樣 地,闪部資料快取1 3 0 2之彦改快取绿不是儲存於資料快取 1 3 0 2之外的記億體次系统中,或其它往何襃理器之内部資 料決取之任一,或输人/输出次朵统。 (請先闊讀背面之注意事項再填寫本頁) -裝- 訂 線 本紙張尺度適用中國國家標準(CMS〉A4規备Π/ΟΧ、97公釐) Α7 Β7 經濟部中央標準局員工消費合作社印製 五、發明説明() 在專甩状態之快取線是儲存於内部資料卜取1 3 0 2 :專甬 狀態怯取淥目前也是在資科快取1 3 G 2之卜的記懷Η次:¾统 中-' 在共m吠態之快取線是儲存於pu部資抖決取1S02,共周 狀態快取線也可儲存於任何其它®理器之π部貸钭!夬取且 g前是在資料快取1 3 0 2之外的記憶體次糸统中: 圖1 4顯示一實网之節點介面電路1 4 2 4 :諸點介面_S S 1 4 2 4包含依序佇列電路1 4 7 0 <输入庁列電路1 4 7 4,與Μ岀 佇列電路U 7 6 :節點介面電路1 4 2 4進一步包含衝突偵測電 路1 4 7 2,快取連賞性管理器1 4 7 8,與遠端介®電路1 4 3 0 : 砍序佇列電路1 47 0記錄匯流排1 4 3 0之通訊交易資訊:依 序佇列電路1470之每一項對應於匯流辨1430之一交易:K 序佇列電路1470轉移需要存取匯流排蔟之通訊交晃至Μ入 庁列電路1 4 7 4 :依序佇列電路1 4 7 0為需要存取1流排旦 隨後稍後之延缓回答交易的通訊交易在Μ出庁列電路 1 4 7 6產生延谖之囡答交易項: 遠端介面電路1 4 8 0存取來自输入佇列電S 1 4 7 4之通訊交 易並涇由糸统連结匯流排1 4 0 0來執行闱需:Ζ:匯流排蔟存取 ·:遠端介面β路1 4 8 0收集來自匯流排蔟之送回快取绿資料 與偵察拭態並寫入該快取溁資科與偵察犹笠於输S佇列電 路1 4 7 β之適當延湲回答交易項:紿出ίτ列電路1 4 7 3迓Ξ Μ 流排1 4 3 0來發出狙合之延邊回答交1 :遠端介面電益 1 4 3 0自Μ入庁列電路1 4 7 4移去完成之違端交晃: 衝突偵測電路1 4 7 2存取输入佇列電路1 4 7 4與Κ序!τ列電 路1 4 7 0。衝突偵測電路1 4 7 2決定是否記錄於砍序庁列電路 1 4 7 0之交易與記錄於输人佇列電路1 4 7 4之®端交.1針fi於 本紙張尺度適用中國國家標準(CNS ) Λ4規;ίϊ· ( ΐΡ〇Χ_297公釐) (請先閲讀背面之注意事項再填寫本頁) -裝· 訂 線 .^—ur ^ A7 B7 五、發明説明(56 ) 相同快取線。如果偵出快収線之衝突遠端存取•刖衝突偵 測電路1 4 7 2输入逆向無效化交易之無效線項於愉出佇列電 路1 4 7 6。稍後經由匯流排1 4 3 0發出逆向無效化交易來導致 衝突存取之再試。 圖15展示一中止與重分派過程之範例。具有多個狀態 1 5 0 2 - 1 5 1 2之程式流序列1 5 0 1受到展示。推測式處理造成 推測式載入R 2在先前載入R 1之前完成。當外部儲存W 2受到 執行時此違規是由偵察載入緩衝器來偵出。偵出之違規導 致R 2載入連同所有隨後之狀態1 5 0 9 - 1 5 1 2皆受到清除。稍 後,R 2載入受到重分派。此外,所有隨後之推測狀態 1 5 1 4 - 1 5 1 6皆受到重新計算。 在目前之較佳實例中,只有一部份之實體位址位元受到 偵察。如果該部份位址匹配一別名位址,則該茛例可導致 錯誤之偵察命中。錯誤之偵察命中對於處理器排序之正確 性不會造成問題。但是,錯誤之偵察命中導致錯誤違規與. 違規回復之產生。過量之錯誤偵察命中會使效能惡化。因 此,運用一部份之賁體位址位元是該位址之硬體儲存與效 能間之折衷。此外,記憶體糸統Μ快取線群(例如3 2位元 組)來管理儲存,所以儲存只有在該範圍(例如3 2位元姐 )才可看見。 圖1 6是說明用以在多處理器糸统提供記憶體連貫性模型 (亦即過程排序)之諸步驟的流程圖。在步驟1 6 0 1,對儲 存賁施嚴格之處理器排序換句话說•儲存不得超越其他 儲存。戟入得超越其他載人或其他儲存。當另一處理器犰 -59 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) --1-------f —裝------訂-----.線 (請先閲讀背面之注意事項再填寫本頁) ^ vo ^ a ^二卞谠明省4不W 1 π牟2月1 A7 B7 五、發明説明() 之 -U 罜 ·:··' 荖 厶α ,r'1 1 士可 nu .存 iB ;i!a 行 在宰 is πυ 15 受 1Γ-,3 與日J 3 己 o 13 :^1 琢X 贵載 、-、' :tt-> i:?: 誧-果a 如中 :ο% Φ.則 命 , 致ill; 導泣 察::Ιϋ ίβ:< 否載 是 一 定之 決器 頃 果 如 中 命 致 導 未 中 不 即 請覆 重W\ 受 偵 ππυ tiH : 二 β 受 ο ί 6 Γ7>- 1. 察 W 偵 4歹 到在 受’ 未 dt 意退 注來 尋 //J 入 載 之 命 未 但 方 常 正 Λ未 載之 否早 是較 定湩 洪此 07有 16沒 驟果 步如 中入 命載 致早 _ 較 察'71 湞決 果未 如然 仍 a'則EI if入 r#1 +1Λ 沐作 ig21 , 徵 06之 16成 0 完 步去 在移 , 器 体 衝 恳 表 ' Γ·'·-. M序 得排 入重 載自 式是 澍的 推指 與 .i. - t 存 η -;5 m - Φ 之 r ‘ 完re 久否佶 永:誤 ίίϋ雙 音 /-- Γνΐ - 汪重致 之到導 定受規 指01違 所16該 <it.、猱 指步潮 始浚偵 1 之到 06受 態10旦 吠掇生 其步發 現在已 實:規 口· ί.'κ ,r!L· 巨 號 作違自 動55來 的埋'. 態S生 吠一產 搆 --.--------裝--(請先閱讀背面之注意事項再填寫本頁) 訂 ii! 誤步 錯在 N , 統) 糸入 次裁 體.Z 情規 記違 致式 導程 即 之 亦後 ί 入Λ 載載 法 法 lu. -UJI .rrrs ,.--r -.I , 丨— 中著 Μ 接 用 '' 二 8 是 ο 與, 止01 中16 到猱 受步 間於 時_始 後聞 稍/ 在δ 列重 序程 設 新 步 在 過 .I-線 圖在 圖交 程 Fa:l 流通 勺 ..B •ΰ 理故 S排 5¾流 交蓮 5flEH 通迓 器 路介 電媒 面排 介 流 點 S 節求 示請 顯’ 二 ο 是·-0 7. 0〇 11 -1區 經濟部中央標準局負工消費合作社印製 決 求 在請 之 路足 3滿 面到 /!受 點内 師薛 2 LF ο 异 17流 區證 违在 € 蔟 指排 所流 易匯 .交在 訊可 通求 5¾ 是果 ίίιι訊 今通 點之 ¾求 ’ 請 1·1· ο 成 17完 1 來 塊 ’ 在男 - 交 oill 17通 區湲 塊延 至不 進白 .V33 ;rfi'·'fF _?p lix亦 則 ’ 1 一予 完路 E 電 本紙張尺度適用中國國家標準(CNS ) Λ·ί規4V( 2「0>< 297公釐) A7 B7 五、發明説明 ( 58) I 1 1 交 易 〇 I 如 果 在 決 定 塊 區 1 7 0 2 節 點 介 面 電 路 決 定 請 求 無 法 在 匯 流 I 排 族 内 受 到 滿 足 則 控 制 前 進 至 決 定 塊 區 1706 〇 在 決 定 塊 請 kj 1 區 1706 衝 突 偵 測 電 路 決 定 是 否 與 該 通 訊 交 易 衝 突 之 延 媛 閱 讀 1 背 1 交 易 依 然 未 決 〇 如 果 未 決 之 延 緩 交 易 與 m 訊 交 易 皆 針 對 相 & 之 1 同 之 快 取 線 資 料 則 未 決 之 延 媛 交 易 與 通 訊 交 易 相 衝 突 〇 意 1 1 事 1 如 果 未 決 延 緩 交 易 不 與 通 訊 交 易 衝 突 則 控 制 前 進 至 塊 區 項 再 1 ( 1708 〇 • 填 寫 1 裝 在 塊 IS 1708 節 點 介 面' 電 路 藉 由 在 通 訊 交 易 之 偵 察 階 段 尽 頁 1 致 能 DEFER 信 號 並 接 著 在 通 訊 交 易 之 回 應 階 段 致 能 延 緩 之 1 1 回 應 來 延 媛 該 通 訊 交 易 〇 節 點 介 面 也 在 輸 出 佇 列 產 生 一 延 1 緩 之 回 答 交 易 項 0 其 後 在 塊 區 1710 遠 端 介 面 電 路 藉 由 存 1 1 取 匯 流 排 簇 來 完 成 通 訊 交 易 〇 在 塊 區 1710 遠 端 介 面 電 路 訂 I 接 收 來 白 匯 流 排 簇 之 通 訊 交 易 所 指 定 之 快 取 線 的 新 快 取 狀 1 1 態 並 且 如 果 有 需 要 的 話 放 置 該 新 快 取 狀 態 與 快 取 線 資 料 於' 1 I 輸 出 佇 列 之 對 pfcr 聰 延 緩 回 答 交 易 項 〇 1 其 後 在 塊 區 1 7 1 2 節 點 介 面 電 路 啟 始 來 白 輸 出 佇 列 之 對 i 故 應 延 緩 回 答 交 易 至 匯 流 排 〇 在 決 定 塊 區 18 14 節 點 介 面 電 1 路 決 定 是 否 通 訊 交 易 需 要 再 試 〇 交 易 如 果 未 在 匯 流 排 蔟 1 I 1712 成 功 完 成 則 需 要 再 試 〇 在 決 定 塊 區 18 1 4如 果 m 訊 交 易 1 1 需 要 再 試 則 控 制 刖 進 至 塊 區 18 16 〇 1 | 在 塊 區 18 16 節 點 介 面 電 路 在 延 媛 回 答 交 易 之 偵 察 階 段 1 致 能 DEFER 信 號 〇 其 後 在 塊 區 18 18 節 點 介 面 電 路 放 棄 通 1 | 訊 交 易 所 指 定 之 快 取 線 的 偵 察 所 有 權 且 在 塊 區 18 19 δίί 點 1 | 6 1 1 1 1 1 1 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) A7 ____B7_ 五、發明説明(59 ) &面電路顯示通訊交易之再試。原始請求匯流排媒介器擁 胃該通訊交易之偵察所有權。 在決定塊區1 8 1 4如果交易無需再試,則控制前進至決定 塊區1 8 2 0。在決定塊區1 8 2 0,節點介面電路決定是否通訊 交易所指定之快取線是與耦接至匯流排蔟之匯流排媒介器 來共用。如果快取線是受到共用則控制前進至塊區1 3 2 2。 在塊區1 8 2 2,節點介面電路在延緩回答交易之偵察階段 根據來自匯流排簇之通訊交,易的偵察结果來致能Η I T信號 或ΗΙΤΜ信號。在決定塊區1820如果快取線未受到共用則控 制前進至塊區1824。在塊區1824節點介面電路在延緩回答 交易之偵測階段不會致能HIT或ΗΙΤΜ信號。無論是何種情 形’在塊區1 8 2 6節點介面電路轉移通訊交易之快取線的偵 察所有權給請求匯流排媒介器。 在決定塊區1706如果未決延媛交易的確與通訊交易衝突 則控制前進至決定塊區1 7 2 8。在決定塊區1 7 2 8,節點介面. Φ路決定是否多個延緩交易受到致能。如果多個延緩交易 未受到致能則控制前進至塊區1 7 3 0。在塊區1 7 3 0,節點介 面電路顯示通訊交易之再試。稍後請求匯流排媒介器再試 通訊交易因而提供時間來完成未決延媛交易。 在決定塊區1 7 2 8如果多個延緩交易受到致能,則控制前 進至塊區1 7 3 2,在塊區1 7 3 2,酣點介面電路鐽由在偵察階 段致能D E F E R信號及在通訊交易之回應階段顯示延緩回應 來延緵11訊交易。 其後,在塊區1 7 3 4根據塊區1 7 1 0 - 1 7 1 2與1 S 1 4 - 1 8 2 6之順 本紙張尺度適用中國國家橾準(CNS ) Α4規格(210X297公釐了 丨^-------丨裝------訂-----線 (請先閱請背面之注意事項再填寫本ί ) A7 B7 $ % b 五、發明説明(60 序來完成第一未決延媛交易。 其後’在決定塊區1736快取連貫性管理器決定是否衝突 之偵察所有權存在於完成於塊區丨7 3 4之第一延媛交易與延 媛於塊區1 732之通訊交易(第二延嫒交易)之間。如果第一 與第二延緩交易針對相同之快取線,則偵察所有權衝突存 在。在決定塊區1 7 3 6如果衝突之偵察所有權不存在則控制 前進至塊區1738。在塊區1738,節點介面電路根據塊區 1Ή0-1712與1δ14- 1826來,完成延媛於塊區1732之通訊交 易。 在決定塊區1 736如果衝突之偵察所有權存在,則控制前 進至塊區1740。在塊區1740,節點介面電路為完成於塊區 1734之衝突延媛交易來啟始歴流排之無效線通訊交易至請 求匯流排媒介器。無效化請求是第一延媛交易之逆向無效 化,而該逆無效化使得具有衝突偵察所有權之快取線無效 化。其後,在塊區1742節點介面電路根據塊區1710-1712* 與1814-1826來完成延嫒於塊區1732之通訊交易。 圖1 9是顯示請求匯流排媒介器之讀取請求的流程圖。在 塊區1 9 0 0請求匯流排媒介器在匯流排啟始一谏取交易。 在決定塊區1 9 0 2在讀取交易之偵察階段,請求匯流排媒 介器感測匯流排上之D E F E R與丨I I Τ Μ信號的狀態。在決定塊 區丨9 0 2如果D Ε卩E R信號受到致能且丨U Τ Μ倍號未受到致能’ 則控制前進至塊區1 9 0 6 否刖控制前進至塊區1 9 0 4 °在塊 區1 90 4,請求匯流排媒介器紈行正常之快取狀態轉變’因 為讀取交易是依序完成u -63 本紙張尺度適用t國國家標準(CNS ) A4規格(210X297公釐) — I.-------丨裝------訂-----:_線 (請先閱讀背面之注意事項再填寫本頁) B7 五、發明説明(61 ) 在塊區1 9 Ο β,請求匯流排媒介器未擁有讓取交易所抱定 之快取線的偵察所有權。在決定塊區1 9 0 8。請求匯流排媒 介器在讀取交易之回應階段檢査延媛回應。在決定塊區 1 9 0 8如果未顯示延媛回應則控制前進至塊區1 9 1 0。在塊區 1 9 1 0如果在讀取交易之回應階段定址之匯流排媒介器顯示 再試,則請求匯流排媒介器再試謓取交易。 在決定塊區1 9 0 8如果延緩回應受到顯示則控制前進至塊 區1 9 1 2。在塊區1 9 1 2,請求,睡流排媒介器等候匯流排上之 延媛回答交易。其後,在決定塊區1 9 1 4請求匯流排媒介器 在延媛回答交易之偵察階段感測D E F E R信號。如果在延媛 回答交易之偵察階段D E F E R信號受到致能,則控制前進至 塊區1 9 1 6。在塊區1 9 1 6,請求匯流排媒介器維持讀取交易 之快取線於無效狀態。其後,在塊區1 9 1 8請求匯流排媒介 器藉由經由匯流排重新啟始讀取交易來再試讀取交易。 在決定塊區1 9 1 4如果延媛回答交易之偵察階段D E F E R信* 號未受到致能,則控制前進至決定塊區1 9 2 0。在決定塊區 1 9 2 0,如果在延媛回答交易之偵察階段IU Τ信號或Η I Τ Μ倍 號受到致能,則控制前進至塊區1 9 2 4。在塊區1 9 2 4,請求 匯流排媒介器以共用快取狀態擁有_取交易所指定之快取 線的所有權。 在決定塊區1 9 2 0如果在延娥回答交易之偵察階段1U Τ信 號或II I Τ Μ倍號未受到致能,則控制前進至塊區1 9 2 2。在塊 區1 9 2 2請求媒介器以專用快取狀態擁有讓取交易所指定之 快収線的所有權。 -6 4 - 本紙張尺度適用中國國家標準(CNS ) Α4規格(210 X 297公釐) ^ I _裝 訂 、線 (請先閲讀背面之注意事項再填寫本頁) A7 Β7 五、發明説明 (62 ) I 1 I 圖 20 是 顯 示 請 求 m 流 排 媒 介 器 經 由 匯 流 排 發 出 之 % 人 交 1 易 或 無 效 化 交 易 的 流 程 圖 '-丨 在 塊 區 2 00 0 > 請 求 匯 流 排 媒 介 I 器 姅 由 匯 流 排 來 啟 始 寫 入 或 無 效 化 交 易 〇 請 先 1 在 決 定 塊 區 2 0 0 2 在 寫 入 或 無 效 化 交 易 之 偵 察 階 段 請 求 閱 讀 1 背 1 匯 流 排 媒 介 器 感 測 匯 流 排 之 DEFER 與 HI ΤΜ信 號 的 狀 態 0 在 ιέ 之 1 決 定 塊 區 2 0 0 2 如 果 DEFER 信 號 受 到 致 能 而 Η ΙΤΜ 信 號 未 受 到 意 1 1 事 1 致 能 則 控 制 前 進 至 塊 區 2006 0 否 則 控 制 前 進 至 塊 區 項 再 1 ( 2004 〇 在 塊 區 20 0 4 請 求 匯 :流 排 媒 介 器 執 行 正 常 之 快 取 吠 寫 本 1 裝 態 轉 變 因 為 寫 入 或 無 效 化 交 易 依 序 完 成 0 頁 1 I 在 塊 區 2006 請 求 匯 流 排 媒 介 器 未 擁 有 寫 入 或 無 效 化 交 1 1 易 所 指 定 之 快 取 線 的 偵 察 所 有 權 〇 在 決 定 塊 區 2008 請 求 1 I 匯 流 排 媒 介 器 在 寫 入 或 無 效 化 交 易 之 回 應 階 段 檢 查 有 無 延 1 1 緩 回 應 〇 在 決 定 塊 u 2 0 0 8 如 果 未 顯 示 延 緩 回 nta 懕 則 控 制 前 訂 I 進 至 塊 區 20 10 c< 在 塊 區 20 10如 果 在 寫 入 或 無 效 化 交 易 之 回 1 1 應 階 段 定 址 之 匯 流 排 媒 介 器 顯 示 再 試 則 請 求 匯 流 排 媒 介t 1 I 器 再 試 該 寫 入 或 無 效 化 交 〇 1 在 決 定 塊 區 2 0 0 8 如 果 延 媛 回 應 受 到 顯 示 則 控 制 前 進 至 塊 ί \ 線 1 區 20 12 〇 在 塊 區 20 12 請 求 匯 流 排 媒 介 器 等 候 匯 流 排 上 之 延 緩 回 答 交 易 〇 1 I 在 決 定 塊 區 20 14 * 如 果 在 延 m 回 答 交 易 之 ίβ 察 階 段 1 1 DEFER 信 號 受 到 致 能 » 則 控 制 前 進 至 塊 區 20 16 0 在 塊 區 | 20 1 6 > 求 匯 流 排 媒 介 器 沒 有 執 行 寫 入 或 無 效 化 交 易 所 指 1 定 之 快 取 線 的 快 収 狀 態 改 Ψ之 〇 其 後 , ΐΐ- 塊 區 20 18請 求 匯 流 1 | 排 媒 介 器 經 由 匯 流 排 來 再 試 寫 入 或 無 效 化 交 易 j 1 I 6 5 1 1 1 1 1 本紙張尺度適用中國國家標準(CNS ) Α4規格(210 X 297公釐) Ά
sUl92 A7 _____B7_ 五、發明説明(63 ) 在決定塊區2 Ο 1 4如果在延緩回答交易之偵察階段D E F E R 信號未受到致能,刖控制前進至決定塊區2 0 2 0。在決定塊 區2020,請求匯流排媒介器决定是否在延媛回答交易之偵 察階段HITM信號受到致能。在決定塊區2020如果Η ITM信號 未受到致能則控制前進至塊區2022。在塊區2022請求匯流 排媒介器依照偵察结果所示改變寫入或無效化交易之快取 線的快取狀態成為專用狀態或修改狀態》 在決定塊區2020如果在偵,察階段Η ΙΤΜ信號受到致能刖控 制前進至塊區2024。在塊區2024請求匯流排媒介器在延緩 回答交易之資料階段讓取送回之快取線。其後,在塊區 2026請求匯流排媒介器合併送回之快取線與内部資料且寫 回合併之快取線至請求匯流排媒介器之内部快取。 圖2 1展示說明用Μ執行交易之一實例之諸步驟的流程圖 。最初,外部匯流排執行偵察,步驟2 1 0 1。接著,決定是 否外部匯流排具有儲存交易,步驟2 1 0 2。如果有的話,步1 驟2 1 0 1受到重覆。否則,決定是否有對相同位址之載入, 步驟2 1 0 3。如果沒有對相同位址之載人,則步驟2 1 0 1受到 重覆。否則,載入與推測式進展受到破壞,步驟2 1 0 4。然 後由載入重新開始執行,步驟2 1 0 5。 圖22展示說明本發明之一寊例所遵循之諸步驟的流程圖 °最仞,處埋器-記憶體匯流排上之媒介器在匯流排發出 請求,步驟2 2 0 5 ,針對於匯流排上之另一媒介器,或者可 能糸統愉入/愉出匯流排之装置〃該請求是在請求階段發 出,在該趲埋器在仲裁階段獲得該匯流排之後°如果在錯 -6 6 - 本紙張尺度適用中國國家棟準(CNS ) Α4規格(21〇χ297公釐) 1^-------(1^------1Τ-----.1^ (請先閱讀背面之注意事項再填寫本頁) A7 B7 五、發明説明(Μ ) 誤階段沒有發生豁要中止該請求之錯誤•匯流排上之所有 媒介器在偵際階段轨行偵察査看,步驟2 2 1 0。 在偵察階段,每一執行偵察査看之媒介器決定是否其具 有對應於該請求之修改狀態的快取線,步驟2 2 1 5。如果匯 流排上之媒介器皆未具有快取線之修改拷貝,則匯流排上 之每一媒介器皆去能Η I T M 並致能或去能Η I T X |步驟 2216。在一些情形之下,媒介器可保持他們之快取線於共 用狀態,決定於請求之本質,;該等媒介器致能一 Η I T if信號 。所有其他媒介器去能一 Η I T It信號。然後匯流排上之每一 媒介器改變其快取線之狀態成為其之目標快取吠態,步驟 2 2 2 0。此目標快取狀態決定於在步驟2 2 0 5所發出之請求的 本質且在下文會更詳细加Μ討論。然後處理器在回應階段 接收來自目標媒介嚭,記憶體控制器,之回應,步驟 2 2 2 5。如果有必要的話(例如讀取請求),處理器也在資料 轉移階段接收來自目標媒介器之資料。 ’ 但是,如果執行偵察査看之媒介器的確具有對應快取線 之修改拷貝,則處理器在偵察階段致能Η I T M tt信號,步驟 2 2 3 0。此外,匯流排上之所有其他媒介器皆去能Η I T ft信號 。處理器去能Η I Τ Ιί信號,因為在此宵例中在正常運作下當 處理器致能Η I Τ Μ (I信號時該處理器去能IU Τ丨丨信號。所有其 他媒介器去能Η I T tf,因為如果處理器具有修改拷貝則無苠 他媒介器可具有快取線之有效拷貝。匯流排上之所有媒介 器皆觀看ΙΙΠΊ丨與丨丨I T M ft信號。來自處理器之Η I Τ Μ tt信號通 知處埋器Μ及記憶體控制器該處理器具有請求之快取線的 -67- 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X 297公釐) ^ .1. I裝 訂 -〜線 (請先閣讀背面之注意事項再填寫本頁) B7 五、發明説明(65 ) 最新版本,Μ及該快取線之任何存取因此應涉及包含於該 處理器之快取線的拷貝。處理器與記憶體控制器對丨丨I T M ft 信號之回應決定於請求之本質,而在下文將對此更詳細加 Μ說明。 接著·匯流排上之每一媒介器必須改變其快取線之吠態 成為其目標快取狀態,步驟2235。此目標快取狀態決定於 在步驟2 2 0 5所發出之請求的本質且在下文會更詳细加以討 論。 , 請求媒介器在回應階段接收回應,步驟2 2 40,此回應之 内容決定於最初之請求,是否目標媒介器可回應,Μ及是 否一 Η I TMtt信號為匯流排上之一媒介器所致能。如果 Η I Τ Μ ϋ信號為處理器所致能,則在資料轉移階段來自處理 器之資料是置於匯流排。記憶體控制器及/或處理器然後 可自匯流排鎖定或取得資料。記憶體控制器及/或處理器 如何使用此資料決定於原始請求,而在下文將對此更詳细* 加以說明。 處理器,在致能Η I Τ Μ 信號之後,在資料轉移階段故置 整個快取線於匯流排,步驟2 2 4 5。處理器之此動作是稱為 ”内随寫回資料轉移"(Implicit Writeback Data T r a n s f e r )。當處理器在交易之偵察階段致能Η I T M 信號 時,該處理器在該交易之資料轉移階段執行内隱寫回資料 轉移。 圖2 3展示說明本發明之一實例在糸统之讀取請求期間所 遒循之諸步驟的流程圖。旖求處理器在請求階段發出請求 -68 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) — ^ I 裝 訂 1線 (請先閱讀背面之注意事項再填寫本頁) A7 B7 五、發明説明 (66 ) 1 1 I 至 m 流 排 步 驟 2 30 5 •J 示 於 圖 2 3 之 請 求 是 計 對 於 主 憶 體 1 1 之 m 取 請 求 〇 如 上 所 述 匯 流 排 上 之 所 有 其 他 媒 介 器 犰 行 J | 偵 察 査 看 步 驟 23 10 來 決 定 是 否 一 媒 介 器 具 有 在 -修— 改 狀 請 先 1 能 之 快 取 線 的 拷 貝 步 驟 23 15 〇 閱 讀 1 背 1 在 匯 流 排 上 之 媒 介 器 皆 未 具 有 快 取 線 之 修 改 拷 貝 之 情 形 ιέ 之 1 之 下 要 遵 循 之 步 驟 決 定 於 是 否 任 何 媒 介 器 具 有 在 有 软· 狀 注 意 1 事 1 -態 之 快 取 線 的 拷 貝 步 驟 2 3 2 0 〇 如 果 媒 介 器 具 有 在 有 效 項 再 1 狀 態 之 快 取 線 的 拷 貝 則 該 ,媒 介 器 致 能 η m信 號 並 去 能 填 寫 本 1 裝 H ITMtt 信 號 步 驟 2325 〇 未 具 有 有 效 拷 貝 之 所 有 媒 介 器 去 頁 1 I 能 Η I T ft 與 Η ITMK 信 號 〇 因 此 匯 流 排 上 之 諸 媒 介 器 知 道 一 1 1 或 更 多 媒 介 器 具 有 快 取 線 之 有 效 拷 貝 但 是 無 媒 介 器 具 有 1 I 快 取 線 之 修 改 拷 貝 〇 因 此 匯 流 排 上 具 有 快 取 線 之 有 效 拷 1 1 貝 之 每 一 媒 介 器 改 變 該 快 取 線 之 狀 態 成 為 共 用 狀 步 驟 訂 I 2 3 3 0 〇 請 求 媒 介 器 也 改 IfM ‘全 其 之 該 快 取 線 狀 態 成 為 共 用 狀 態 1 1 » 因 為 處 理 器 將 在 資 料 轉 移 階 段 接 收 該 快 取 線 之 有 效 拷 貝' 1 I > 如 下 所 述 〇 1 1 在 另 一 寊 例 中 示 於 圖 24 > 每 — 媒 介 器 改 狀 態 成 為 其 1 1 線 1 之 0 標 狀 態 決 定 於 原 始 m 取 請 求 〇 如 圖 2 4所 示 S 標 狀 能 是 決 定 於 是 否 原 始 請 求 是 m 取 分 配 請 求 步 驟 2 42 8 〇 處 1 I 理 器 可 不 請 求 m 取 分 配 例 如 Μ 顯 示 其 未 在 其 快 取 維 持 1 該 快 取 猓 之 拷 貝 如 果 處 理 器 謂 求 m 取 分 配 PJJ 匯 流 排 上 I 具 有 該 快 取 線 之 有 效 拷 貝 之 每 一 媒 介 器 包 含 處 理 器 改 1 m 該 快 收 線 之 狀 態 成 為 共 用 狀 態 步 驟 2 4 3 1 <-· 但 是 如 果 1 處 理 器 未 m 求 m 収 分 配 則 匯 流 排 上 每 一 媒 介 器 維 持 其 1 I 0 9 1 1 1 1 1 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨OX 297公釐) 經濟部中央標準局員工消費合作杜印策 iliilg-gsi ^ fn $ a 由卞說明芎(¾ π 1ί Μ β .¾ 3 a I A 7 B7五、發明説明() 之該袂取淥的狀態,步驟2 4 3 2 :因此,在專写拔態之媒分 器雄持在專兩跃態而在共吊状態之媒介器维持在共甩拔態 回到圖2 3之實Μ,步猱2 3 2 0,如杲Μ流捃上之媒介器皆 不具有快取線之有效拷貝,則所有媒介器皆去能Η I 了 S與 Η I T M if信號,歩锞2 3 3 5 :因此,裒理器改罢其之怯取線tf 貝成為專闬狀態,因為其將在資料轉移階段接收來自記楦 體控制器之快取線;所有其此媒介器保持快取線於無效呔 態,步琛2 3 40。 記億疆控制器滿足讀取請求,無論是否一驾介器具有怯 取線之有效拷貝,因為無媒介器具有請求之R取埭6¾¾¾ 拷貝。記憶_控_語在回應諧段發出正常固S至®理器且 在資料轉移階段政置對應之資料於匯流排•步漭2 3 5 0 :然 後處理器自匯流排纈取資料,步驟2375,並遼瀆软照所需 來利甩該資抖。 回到步骤2 3 1 5、如杲匯流排之一媒介器,列如處理語, 具有請求之快取線的修改拷貝*則該處理器在Μ察階段致 能Η I 了 M S ’信號並去能Η I T 信號,步!I 2 3 5 5 :逗流排上二所 有其fit媒介皆去能Η I T ft與Η I Τ Μ ίί佶號:Η I ? M it信號之致 能通知記憶體控制器1流排上之另一媒介喆具育_求之:ϊ 料的最新版本。因此,記憶體控制器知道其下S _移其之 請求快取線钣本至竞理器= 此决取澡之諸快取技態也是在偵察階段在諸踅理器受到 更新,步锞2 3 ;3 0 : —萑埋器轉移該快取埭之所育權给要求 (請先閱讀背面之注意事項再填寫本頁) 裝·
、1T 線 本紙乐尺度適用中國國家標準(CNS ) Λ4規格(210X297公釐) 經濟部中央標準局員工消費合作社印製 第3 3 1 1 Ο 4 2 3號專利申請案 力t說明喜沒不莨ί 3 ΠΠ月1 Α7 Β7五、發明説明() 處理器:在一锺模式之下,二處理器皆改雯他們之快取線 吠態成為共用狀態並確保主記憶體更新其之線版本。 本發明之一實洌採用此方法,步锞2 3 6 0,因為其可有效處 理部份寫入資料轉移,而下文將對此更詳细加Μ討論。在 另一實例中> ®理器可轉移快取線至另一處理器並改荽另 一莛理器之快取線成為無效软態而同時處理器改要其抉取 線成為修改或專用吠態。 因此,當二處理器皆改變他們之快取線吠態成為共甩狀 態時,在匯流排上之隨後交易的偵察階段中二處理器皆不 為此快取線致能Η I TM tt信號:記億體控制器負貴回應對此 快取線之任河隨後請求(直到某一其他快取媒介器重新取 得該快取绿之所有權並改雯其之快取線狀態成為修改狀態 為止 )。_ 在另一實洌中,示於圏25,每一媒介器改變其之快取犹 態,決定於原始讀取請求:·如圖2 5所示,目標狀態是決定 於是否原始請求是謅取分配請求,步驟2 5 5 7。如果處·理器 請求讀取_分锭,則具有該快取線之修改拷貝的媒介器改荽 該快取線_之狀態成為共用呒態旦處理器改荽其抉取線成為 共用狀態,步驟2561 :但是,如杲處理器未請求讀取分配 ,則具有該快取線之蔭改拷貝的媒介器改荽該诀取線成為 專用吠態且處理器雄持在無效狀態,步驟2562:具有該快 取埭之修改拷貝的媒介器並未维持在無效狀態*因為主記 億體將接收該快取線之拷貝•如下所述: 回到圖2 3之實洌*熟悉本技術領域者應瞭解雖然快取線 (請先閱讀背面之注意事項再填寫本頁) -裝· ip 線 本紙張尺度適用中國國家標羋(CN'S ) A4規格(h^OX297公釐) A7 B7 五、發明説明(69 ) 之所有燿在該快取線之資料實際轉眵之前受到轉移,快収 連貫性由於匯流排之管線化本質而受到維持亦即,隨後 之請求可獲知即使修改版本仍在處理器之快取該資料將來 自主記憶體。但是,在随後請求之資料轉移階段來臨之前 ,該資料將已在一先前交易之資料轉移階段轉移至主记憶 體0 在快取狀態受到更新之後,記憶體控制器在回應階段發 出内隗寫回回應至處理器,,步驟2 3 6 5。Η I T M 信號受到處 理器之致能通知記憶體控制器其不應轉移其之快取線版本 至處理器;因此,記憶體控制器發出内隱寫回回應而非正 常回應。内隱寫回回應通知處理器該請求的尚未受到再試 ,但是匯流排上之另一媒介器具有請求之快取線的修改拷 貝且將利用請求之資料來回應。 處理器在資料轉移階段放置整個修改快取線於匯流排| 步驟2370。在本發明之一實例中,處理器放置快取線於匯* 流排以回應來自記憶體控制器之信號來顯示其準傲好可進 行資料轉移。當記憶體控制器具有可用以放置快取線之快 取線緩衝器時,記憶體控制器在回應階段發出該信號。如 圖2 3所示,記憶體控制器與請求媒介器皆自匯流排取得資 料,分別在步驟2 3 8 0與2 3 7 5。請求媒介器自匯流排取得資 料,步驟2 3 7 5,且繼續依照所需來使用該資料。 記憶體控制器也自匯流排取得資料,步驟2 3 8 0。記憶體 控制器之這個動作稱為”擷取”資料,因為妃憶體倥制器是 自另一媒介器所請求之匯流排取得資料。然後記憶體控制 -72- 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) I:-------ί — ^------、玎-------^ (請先閱讀背面之注意事項再填寫本頁) 311192 A7 B7 五、發明説明(7〇) 器寫入該資料於主處理器,步驟2 3 8 5,因而維持快取連貫 性。亦即,如上所述,當處理器請求在另一處理器之修改 吠態資料時,處理器轉移該資料至另一處理器且二處理器 皆改變他們之快取線成為共用狀態|但是,共用狀態要求 主記憶體也具有快取線之最新版本。因此,藉由擷取快取 線並將該快取線寫入於主記憶體,二處理器與主記憶體皆 具有該快取線之最新拷貝。 在一多匯流排階層中蔟管,理器由於相關於圖2 3之討論而 充當匯流排之記憶體控制器。例如|簇管理器自匯流排擷 取資料並更新其快取而非記憶體控制器擷取資料。在此種 倩形之下,簇管理器延媛或再試請求,決定於是否可擁有 下一層次匯流排之所有權。在此種情形之下,已發生於步 驟2 3 4 0之交易的總體性觀看,Μ及步驟2 3 5 0之放置資料於 快取線,會如上所述受到延媛。 圖2 6展示說明本發明之一實例在寫入運作期間所遵循之* 諸步驟的流程圖。請求處理器在請求階段發出請求至匯流 排,步驟2 6 0 5。示於圖2 6之請求是針對於主記憶體之寫入 運作。匯流排上之所有其他媒介器執行偵察査看,步驟 2 6 1 0,來決定是否一媒介器具有正受寫入之修改狀態快取 線的拷貝,步驟2 6 1 5。 除了媒介器執行偵察査看之外,處理器放置其寫入資料 於匯流排,步驟2620 ;寫入資料是由記憶體控制器來接收 ,步驟2 6 2 5。如圖2 (3所示,無論是否匯流排上之一媒介器 具有快取線之修改或有效拷貝,請求處理器之此寫入資料 -7 3 - 本紙張尺度適用中國國家橾準(CNS ) Α4規格(210X 297公釐) ^ ί 裝 訂 ――線 (請先閱讀背面之注意事項再填寫本頁) A7 B7 五、發明説明(71 ) 轉移仍會發生。在本發明之一實例中處埋器一旦在侦察階 段接收來自記憶體控制器之信號則放置寫入資料於匯流排 以顯示記憶體控制器準_好可進行資料轉移。 如果匯流排上之媒介器皆未具有快取線之修改拷貝,匯 流排上之所有媒介器皆去能Η I T ft與Η I T M tf信號,步驟 2 6 3 0。寫入運作之存在對所有偵察媒介器顯示他們之快取 線拷貝必須受到無效化;因此,所有偵察媒介器改變他們 之快取線狀態成為無效,步,驟2 6 3 5。Η I T 與Η I T M ft信號之 去能對記憶體控制器顯示其必須滿足該寫入請求,因為沒 有該快取線之有效或修改拷貝存在於任何媒介器之快取。 因此,記憶體控制器在回應階段發出正常回應至處理器, 步驟2640。記憶體控制器,在步驟2625接收寫人資料,然 後寫入該資料於主記憶體,步驟2645,因而完成寫入運作 〇 在另一實例中,示於圖2 7,每一媒介器致能或去能 · Η I T tt信號並更新其快取狀態,決定於原始寫入請求,步驟 2 7 2 8。如果處理器請求寫入分配,則所有媒介器去能 丨丨I T 與Η I T M tt ,步驟2 7 3 1。所有偵察媒介器也改變他們之 快取線吠態成為無效。步驟2 7 3 2 但是,如果處理器未請 求寫入分配,則具有快取線之共用或專用拷貝之媒介器擷 取資料,致能Η I T fl信號並去能丨丨I T Μ丨t倍號,步驟2 7 3 7。致 能ΙΠ T 信號之媒介器不改變該快取線之狀態;匯流排上之 所有其他媒介器進入無效狀態,步驟2 7 3 9。在一棰模式之 下,如果媒介器不要快取線之有效拷貝刖該媒介器不擷取 -74 - 本紙張尺度適用中國國家標隼(CNS ) A4規格(210X297公釐) — ^ 裝 訂 , 線 (請先閱讀背面之注意事項再填寫本頁) 311192 A7 B7 年 r t 五、發明説明 (72 ) 1 1 I 資 料 與 致 能 II [TII 信 號 〇 1 回 到 圖 26 之 實 例 ♦ 步 驟 2C 1 5 » 如 果 匯 流 排 上 之 一 媒 介 器 I » 例 如 處 理 器 > 具 有 請 求 之 快 取 線 的 修 改 拷 貝 則 該 處 理 請 1 器 在 偵 察 階 段 致 能 Η I TMti 信 號 並 去 能 Η I Τ« 信 號 > 步 驟 閱 ik 1 背 1 26 5 0 〇 因 為 處 理 器 具 有 快 取 線 之 修 改 拷 貝 » 匯 流 排 上 之 所 之 1 有 其 他 媒 介 器 也 去 能 H ITtl 信 號 〇 II ITM 林 信 號 之 致 能 通 知 記 意 1 I 事 1 憶 體 控 制 器 匯 流 排 上 之 另 媒 介 器 具 有 請 求 資 料 之 最 新 版 項 1 本 〇 因 此 記 憶 體 控 制 器 知 ,道 只 由 處 理 器 執 行 寫 入 運 作 可 填 % 本 裝 能 無 法 維 持 快 取 連 貫 性 〇 頁 S_✓ 1 I 例 如 如 果 處 理 器 所 執 行 之 寫 入 運 作 是 部 份 寫 入 資 料 轉 1 1 移 則 該 寫 入 運 作 未 修 改 整 個 快 取 線 〇 如 果 快 取 線 之 較 新 1 1 版 本 存 在 於 處 理 器 之 快 取 未 受 到 其 他 處 理 器 寫 入 之 處 理 1 1 器 的 快 取 部 份 可 能 為 先 前 之 寫 入 運 作 所 修 改 〇 因 此 如 訂 I 果 不 老 It 處 理 器 之 快 取 線 主 記 憶 體 會 具 有 資 料 之 錯 誤 拷 1 1 貝 即 使 其 相 信 其 具 有 最 新 拷 貝 〇 1 I 如 前 所 討 論 快 取 線 之 狀 態 是 在 偵 察 階 段 受 到 更 新 〇 匯 1 1 流 排 上 之 所 有 偵 察 媒 介 器 改 變 他 們 之 快 取 線 成 為 無 效 狀 態 1 線 » 步 驟 2 6 5 5 〇 1 記 憶 體 控 制 器 覲 察 處 理 器 在 步 驟 2 6 5 0 所 發 出 之 Η I T Μ » 信 1 I 號 1 因 此 憶 體 控 制 器 知 道 快 取 線 之 修 改 版 本 存 在 於 —„. 媒 1 1 介 器 之 快 取 做 為 回 應 處 理 器 控 制 器 暫 時 儲 存 在 步 驟 | 2 6 2 5 所 接 收 之 η 入 資 料 於 擷 取 m 衝 器 並 保 if 該 資 料 於 m 取 m 衝 器 直 到 快 收 線 之 刺 餘 部 份 經 由 匯 流 排 受 到 轉 移 為 止 » 1 1 如 下 所 述 〇 此 外 » 憶 體 控 制 器 發 出 内 m 寫 回 回 應 至 處 m 1 | 75 1 1 1 1 1 本紙張尺度適用中國國家棟隼(CNS ) A4規格(210X 297公釐) i 五、發明説明(75 ,步 媒介器 移階段 在另 可自匯 決定於 理器未 將該資 取線狀 另一處 狀態, 回到 此做是 驟2 6 6 0。内隱 具有快取線之 5女置於匯流排 A7 B7 寫回回應通知處埋器睡流排上之另一 修改拷艮且該修改快取線將在資料轉 實例中,示於圖2 8,致能Η I T Μ丨丨信號之媒 資料。是否處理器自匯流排取 分配政策,步驟2 8 5 2。亦即, 流排取得寫入 所採用之寫入 請求寫入分配 料寫入於其快 態成為專用。 理器不自匯流 步驟2855 。 圖2 6之實例, 為使主記憶艢 ,則另一處理器自匯流排取得 取,步,驟2 8 5 6。處理器也改變 但是,如果處理器請求寫入分 排取得資料並改變其快取線成 主記憶體維持快取線之最新版 受到更新而非連續地更新媒介 介器也 得資料 如果處 資料並 其之快 配,則 為無效 本。如 器快取 Α I :1; 卜 It :fc 因此,在資枓轉移階段,處理器放置整個修改之快取線1 於匯流排,步驟2 6 6 5。此資料轉移是内隱寫回資料轉移。 内隱寫回資料轉移必須受到執行Μ提供處理器可能尚未寫 入之快取線的額外部份給記憶體控制器。在本發明之一實 例中,另一處理器放置快取線於匯流排以回應來自記憶體 控制器之第二佶號來顯示其準蔺好可紈行資料轉移。當記 憶體控剌器具有可用以放置快取線之快収線緩衝器時,纪 憶體控刺器在回應階段發出該信號。 記憶艄控制器自匯流排取得來自内隠寫回資枓轉移之修 改快收線,步驟2 β 7 〇。在一種m式之r,此資料是暫時儲 76- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) I;--------‘!|批衣------ΪΤ-------.it (請先閱讀背面之注意事項再填寫本頁) A7 B7 五、發明説明 ( 74 ) 1 1 I 存 於 記 憶 體 控 制 器 内 之 快 取 線 m 衝 器 ι.Ι m *\w 後 資 料 與 儲 存 1 於 擷 取 緩 衝 器 之 資 料 合 併 , 如 上 所 述 » 且 合 併 之 資 枓 寫 入 I 於 主 記 憶 體 步 驟 2 67 5 - 為 執 行 合 併 » 記 憶 體 控 制 器 结 合 請 1 擷 取 緩 衝 器 之 快 取 線 部 份 與 自 内 隱 寫 回 資 料 轉 移 所 接 收 之 閱 ik 1 背 I 資 料 » 而 該 資 料 不 與 擷 取 媛 衝 器 之 更 新 部 份 重 叠 〇 ϊέ 之 1 應 注 意 的 是 雖 敗 上 述 討 論 指 的 是 部 份 寫 入 資 料 轉 移 所 意 1 1 事 1 採 用 之 步 驟 同 樣 適 用 於 非 部 份 寫 入 資 料 轉 移 |二| 亦 即 如 果 項 再 1 1 整 個 快 取 線 為 來 白 處 理 器 之 ,寫 入 運 作 所 更 新 則 整 個 快 取 填 寫 本 1 裝 線 會 儲 存 於 記 憶 體 控 制 器 之 擷 取 緩 衝 器 〇 隨 後 當 記 憶 體 頁 1 控 制 器 在 步 驟 2665 執 行 合 併 時 合 併 之 結 果 會 只 是 儲 存 於 1 1 擷 取 緩 衝 器 之 資 料 沒 有 來 白 内 隱 寫 回 資 料 轉 移 之 資 料 會 1 I 在 合 併 中 受 到 使 用 〇 1 1 在 一 實 例 中 請 求 理 器 在 偵 察 階 段 改 其 之 快 取 線 狀 態 訂 I 成 為 無 效 狀 態 〇 在 另 一 實 例 中 處 理 器 改 要. 其 之 快 取 線 狀 1 1 態 成 為 共 用 狀 能 <u»· 或 專 用 狀 能 /U*> 決 定 於 是 否 另 一 媒 介 器 也 具. 1 I 有 快 取 線 之 拷 貝 Ο 在 . 種 模 式 之 下 如 果 在 偵 察 階 段 1 H ITMtt 信 號 受 到 致 能 * 則 處 理 器 白 匯 流 排 擷 取 内 m 寫 回 資 1 線 料 後 處 理 器 合 併 該 資 料 與 其 之 原 始 寫 入 資 料 > 並 利 用 1 合 併 之 快 取 線 來 更 新 其 快 収 〇 因 此 » 處 II 器 會 改 其 -V 快 1 I 取 線 狀 態 成 為 專 用 狀 m 在 另 — 補 式 之 下 » 如 果 無 1 1 Η I T M It 倍 號 受 到 致 能 » 則 如 果 m 流 排 上 之 其 他 m 介 正 保 1 1 I 有 快 取 線 之 有 效 拷 貝 處 理 改 之 快 収 線 狀 態 成 為 專 Λ 用 吠 態 y 或 共 用 狀 m Ο 1 I 由 於 相 m 於 圖 2 6 之 討 am 之 故 族 管 m 器 7Ϊ 當 匯 流 排 V 憶 1 1 77 1 1 1 1 1 本紙張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 511132 B7 五、發明説明 (75 ) 1 1 I m 控 制 〇 例 如 > 蔟 管 埋 器 接 收 來 處 埋 器 之 % 入 資 料 > 1 將 該 U 料 與 來 白 另 —* 處 理 器 之 内 m 寫 回 資 料 轉 移 合 併 > 旦 | 儲 存 合 併 -V 快 取 線 於 其 本 身 之 快 取 ,;| 因 此 » V-V 族 管 理 器 會 具 請 先 I 有 對 該 快 取 線 之 任 一 随 後 請 求 之 快 取 線 的 修 改 拷 貝 〇 如 果 閱 ik 1 背 1 處 理 器 寫 入 之 快 取 線 在 該 族 内 是 無 效 的 且 必 須 存 取 下 * 層 ιέ 之 1 次 之 匯 流 排 此 情 形 即 會 發 生 C' 在 此 種 情 形 之 下 , 蔟 管 理 意 1 1 事 1 器 延 媛 或 再 試 該 請 求 > 決 定 於 是 否 可 擁 有 下 —* 層 次 之 匯 流 項 再 ) 排 的 所 有 權 〇 在 此 種 情 形 之 ,下 應 發 生 於 步 驟 263 5 之 交 易 填 % 本 1 裝 的 總 體 性 觀 看 y Μ 及 步 驟 2645 之 寫 入 如 上 所 討 論 受 到 延 頁 1 媛 〇 1 1 如 圖 22 -26 所 示 具 有 請 求 快 取 線 之 修 改 拷 貝 的 偵 察 媒 1 | 介 器 無 dW 請 求 是 讀 取 請 求 或 寫 入 請 求 皆 類 似 動 作 〇 亦 即 * 1 1 偵 察 媒 介 器 致 能 H If ΜΚ 信 號 去 能 Him 信 號 且 在 適 當 時 訂 | 間 放 置 所 指 之 快 取 線 於 匯 流 排 0 因 此 由 於 此 相 似 性 本 1 1 發 明 之 一 實 例 可 在 每 一 媒 介 器 利 用 最 少 數 量 的 邏 輯 複 雜 度' 1 I 來 管 理 寫 入 資 料 轉 移 部 份 寫 入 資 料 轉 移 與 m 取 請 求 〇 1 圖 29 展 示 說 明 本 發 明 之 _. 實 例 在 無 效 快 取 線 請 求 期 間 所 1 線 遵 循 之 諸 步 驟 的 流 程 圖 Γι 如 前 面 圖 22所 述 請 求 媒 介 器 在 1 m 求 階 段 發 出 請 求 至 匯 流 排 步 驟 2 90 5 〇 示 於 圖 29 之 請 求 1 I 是 快 取 線 之 無 效 化 請 求 Ο 亦 即 處 理 器 正 發 出 m 求 Μ 使 所 1 1 有 其 他 快 取 之 特 定 快 取 線 無 效 化 例 如 如 果 處 埋 器 在 其 1 1 I 快 収 具 Η 在 it 用 狀 態 之 快 取 線 拷 貝 且 想 要 寫 入 該 拷 貝 » 則 可 紈 行 此 動 作 » 處 理 器 可 使 所 有 Η 他 快 取 線 無 效 化 且 然 後 1 | 更 新 之 快 収 狀 態 成 為 修 改 狀 態 且 寫 入 快 取 線 於 本 身 1 I 78 1 1 1 1 1 本紙張尺度適用中國國家標隼(CNS ) A4規格(210X297公釐) A7 B7 五、發明説明(76 ) 之快取。 如上所述,匯流排上之所有其他媒介器执行偵察査看, 步驟2 9 1 0,來決定是否一媒介器具有在修改狀態之快取線 拷貝,步驟2 9 1 5。如果匯流排上之媒介器皆不具有快取線 之修改拷貝,每一媒介器去能Η I T丨丨與Η I Τ Μ K信號,步驟 2 9 2 0。然後無效化請求在匯流排上之每一媒介器繼續進行 ,除了處理器之外,Κ使其之快取線拷貝無效化且快取線 所有權歸處理器所有(亦即/處理器之快取線改變成為修 改狀態),步驟2 9 2 5。然後記憶體控制器發出正常之完成 回應至處理器,步驟2 9 3 0,且處理繼續進行。 但是,如果匯流排上之一媒介器,例如另一處理器,具 有請求快取線之修改拷貝,則另一處理器在偵察階段致能 Η I T M It信號且去能I Τ II信號,步驟2 9 3 5。匯流排上之所有 其他媒介器也在偵察階段去能丨丨I T tt信號。Η I Τ Μ II信號之致 能通知處理器匯流排上之另一媒介器具有快取線之目前所* 有權。因此,快取線之所有權必須受到轉移。 如上所述,諸處理器之内部快取狀態是在偵察階段受到 修改。因此,處理器之快取線改變成為修改狀態而另一處 理器之快取線改變成為無效狀態,步驟2 9 4 0。因此,在步 驟2 9 4 0即使真正之資料尚未受到轉移,處理器仍取得快取 線之所有權| 在ίβ察階段之快取狀態更新保證修改之資料不會喪失。 因此,如果匯流排上之下一請求是對相同快取線之存取, 處埋器致能丨彳I Τ Μ II信號,因為其具有该快取線之所有權。 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ 297公釐) I.------!-—裝------訂------線 (請先閲讀背面之注意事項再填寫本頁) A7 311192 B7 五、發明説明(77 ) 在必須為此下一請求進行資料轉移之W ,噬理器在其之快 取將具有該快取線之最新版本,如上所討論。 在資料轉移階段,另一處理器發出快取線之内隱寫回資 料轉移,步驟2 0 4 5。此轉移是整個快取線轉移至處理器。 在本發明之一實例中,另一處理器放置快取線於匯流排Μ 回應來自記憶體控制器之信號來顯示其準餚好可執行資料 轉移。當記憶體控制器具有可用以放置快取線之快取線媛 衝器時,該記憶體控制器在,回應階段發出此信號。處理器 自匯流排取得資料,且記憶體控制器自匯流排擷取資料· 步驟2950。因此,處理器之快取線琨在是在修改狀態且主 記憶體也具有修改快取線之最新版本。此外,主記憶體可 改變其之快取狀態成為專用狀態,因為主記憶體也具有有 效拷貝。 ' 如前面參照圖2 3 - 2 8所討論,在一多匯流排階層中由於 相關於圖2 9之討論之故蔟管理器充當匯流排之記憶體控制* 器。例如,在步驟2 9 5 0蔟管理器自匯流排取得資料。為使 一快取線無效化,在所有蔟之所有快取的該快取線皆受到 無效化。因此,如果受到無效化之快取線也是包含於該蔟 内且必須存取下一層次之匯流排來使其無效化。此情形即 會發生。在此棰情形之下,蔟管理器延媛或再試該逋求· 決定於是否可擁有下一層次匯流排之所有ί«。在此植情形 下,應發生於步驟2 9 2 5之交易的總體性觀看,如上所討論 受到延媛。 在木發明之另一茛例中,偵察媒介器(亦即具有誚求快 _ 8 0 _ 本紙張尺度適用中國國家標準(CNS ) A4規格(2丨OX 297公釐) I,--------1¾衣------1T-----—# (請先閲讀背面之注意事項再填寫本頁) Μ Β7 齊郎中史嗦""員Μ消費含作.fi"纪 五、發明説明 (78 ) 1 1 I 取 線 之 修 改 拷 貝 的 媒 介 器 ) , 而 非 £ 憶 體 控 制 器 合 併 資 1 1 料 〇 如 果 是 部 份 寫 人 資 料 轉 移 處 理 器 匯 流 排 收 得 該 部 /··—s 1 I 份 寫 人 資 料 〇 後 處 理 器 轉 移 該 快 取 線 白 其 本 身 之 快 取 至 請 先 1 1 暫 時 之 儲 存 緩 衝 器 並 合 併 該 快 取 線 與 該 部 份 U 入 資 料 〇 因 閱 讀 1 背 1 此 處 理 器 維 持 快 取 線 之 修 改 拷 貝 且 使 記 憶 體 控 制 器 不 需 之 1 負 責 資 料 合 併 〇 注 意 1 事 1 —- 旦 完 成 合 併 之 後 處 理 器 有 二 選 擇 * 處 理 器 之 快 取 可 項 再 受 到 更 新 或 快 取 線 可 寫 入 於 ,主 記 憶 體 〇 如 果 處 理 器 更 新 快 填 % 本 1 取 —* 茛 例 需 要 連 續 地 更 新 暫 時 緩 衝 器 且 只 有 在 對 暫 時 緩 頁 1 1 衝 器 不 中 時 才 寫 人 緩 衝 器 之 内 容 於 快 取 記 憶 體 〇 因 此 處 1 1 理 器 有 效 地 回 應 針 對 相 同 快 取 線 之 多 個 請 求 〇 1 I 在 第 二 個 選 擇 中 處 理 器 更 新 主 記 憶 體 〇 因 此 一 旦 完 1 1 成 合 併 運 作 之 後 處 理 器 經 由 匯 流 排 轉 移 快 取 線 至 主 記 憶 訂 I 體 〇 此 轉 移 是 分 別 之 交 易 且 因 此 是 藉 由 為 匯 流 排 仲 裁 且 1 1 當 獲 得 匯 流 排 之 存 取 時 在 請 求 階 段 對 記 憶 體 發 出 寫 入 請 求* 1 I » 來 完 成 〇 1 因 此 可 看 出 根 據 本 發 明 在 一 管 線 化 匯 流 排 系 统 中 快 1 線 1 取 連 貫 性 受 到 雄 持 〇 在 一 實 例 中 記 憶 體 存 取 是 在 窜 一 交 易 中 受 到 滿 足 無 論 是 否 受 到 存 取 之 資 料 是 包 含 於 匯 流 排 1 I 之 主 記 憶 體 m 元 或 匯 流 排 之 媒 介 器 内 之 快 取 £ 憶 體 丨 1 熟 悉 本 技 術 領 域 者 應 可 瞭 解 雖 然 前 文 所 示 之 待 定 實 例 1 I 討 論 m 取 % 人 與 無 效 化 理 作 本 發 明 並 不 受 限 於 這 些 運 作 〇 可 經 由 匯 流 排 發 出 之 其 他 運 作 在 木 發 明 之 $6 圍 與 精 1 1 神 之 内 0 1 I 8 1 1 1 1 1 1 本紙張尺度適用中國國家標準(CNS Μ4規格(210X29*/公釐) A7 B7 五、發明説明(79 ) 雖然在間讀前面之說明之後热悉本技術領域者無疑地可 理解出本發明之許多更動與修改,應瞭解的是所展示並藉 由範例來說明之莨例絕未意謂限制。因此,參考特定實例 之细節並非意謂來限制申請專利範圍之範赌,且該等申請 專利範圍本身只列舉對本發明視為必要之那些特色。 因此本荼說明一種用Μ支援記憶體之讀取,寫入,與無 效化運作的方法與裝置,且該方法與裝置維持快取之連貫 性。 -82- 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X 297公釐) --------|批衣------、玎------0 (請先閱讀背面之注意事項再填寫本頁)

Claims (1)

  1. 笔33Γ.0423號專利电諳案 A8 3靖萬刮節_咚不:ΐ: ί相X ,Ί .三) 群 D8y 1 h修正 β年%曰補 ¥· 々、申請專利範圍 次罾 _® 多 多該 之與 *c.r ΓΓΡ : 1K 异 含 流流 ailM 统;該該 ¾排至至 ?|流接接 電 1 耦耦 !3一 I 一 .-_ ;统 统条 条 a ]1:s !:|£ 含 包 二S 間溝 ¾議 :iK'S 次» 1連 1 取 各快 统 , 糸搆 II撥 Hiil 記貫 次連 層取 多快 保的 確a Μ 貫 罔達 I 料 含 周 艮 rf 保 萑 tu 法 方 序 hh ::v; SI Id 定 預 證 對 (請先閲讀背面之注意事項再填寫本頁) 位 同 招 對 針 務 服 並 出 發 求 af 之 流 II 部 :? ' ,r-J --η t1-· yR 流 1 t卩 § r.r 夕 中 其 "... 庁 ;1 多 ώ "又 Ν*α .¾ ·-" 3SH --Π 之 次 層 同 不 的 统 系 i- rfsr* 記 次 持 --Hi •二: 1-JV 2 3 流 蹈|/ E1|電 排 部 該流 ?Γ-ΕΙ Κ法部 中 方外 Κ.、 之3 - :;'*至 ¾Fotrs ¾一:'1建锡 蹈-1:11, 電 求瘼排 之 請記流 項 排持匯 1 流维部 第 歴 K 外 圍:部统it : 範含外¾線 訊利包隊腦管 資專列排電 一 態請佇以作含 狀申求用操包 據請一種统 根排 一糸 經濟部中央標準局員工消費合作社印製 部含 外-PJ1 一 統 含¾ 包體 且億 U£ P { C 該 多ίτΰ 更 ’ 或统 i % Γκ— 、Γ'- 夕.? 該程 至 一 :接ΓΤ 瑀執 並 U 7* Ρz C呋在 之 該含,a 排式 流程 匯該 序 a '.Li.. /.-^- 定資 預II 據!« 锻3e 將ill 望多 期 -式中 程其 *< , -II3 而求 , 主月 ~- = D 0.=-2,--\i-.-JVτ:1;Γ-„< ri-'tl ' - . · . τ〆 -r·. 1'vs p-I'awa Sr多今,3.1:¾Ti i 更7πΐϊ1 兩 ,戍 一、圮¾ 一 K:. 一 含 s-f¾ :'r!;:ILi::.:;·<3 求13::£i::5!¾含 本紙浪尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 六、申請專利範圍 8 8 8 8 ABCD 經濟部中央標準局員工消費合作社印製 Μ —管埭!>排序來發出多ϋ資口請求至外部ϋ流排; 排隊發盅之資料請求於該艿部1流排請求ιτ π之諸項 以監測有每一發岀之資料請这的找態貸m ;及 更新諸項奴维持記憶體連貢丨Έ,!ΐ每一請求接收Ξ 前之資料,及根據預定排序來Η谤請求' 4 . 根據申請專利範圍第3項之方:ΐ,冥中C PL: a含具有 L 1玦取記億揠之匯流排媒介器:D C U , I「U〗,且其中: 該發出步琛包含Μ流排媒介器發出一請茨Μ指定给定 資料並顯示其尚未在L, 1 Κ取查看該给定資料;及 該方法進一步包含下列步锘:回窓於顯示尚未在L 1法 取記憶體查看到的匯流捞媒介器,.¾ Κ在销浍詩間自ί貞 察L 1快取記億體: . 5 . 根據申請專利範圍第4項之方丨去,其中該外部·流排請 求佇列包含具有開端與末端之一 F I F 0,其中: 該排隊步镙包含输入請求於「I F Ο Ζ闻?爵: . 該更新步琛包含使請求自F I F Q之開瑞间末端前進;及 該方法進一步包含下列步镙: 在於外部匯流排請求庁列&的3前請求與一先前所 發出之誇求間尋找相:司S & :對突,旦Η先前發岀之請 求已進人斗部匯流排請求! τ冗並已_過L 2快取記憶_ ,及 如果發埂1€同S址衝突,藉白傳迕目前請求3到 F I F 0之開端來將該目前請求iS塞: (請先閱讀背面之注意事項再填寫本頁) 卜 -裝. 、訂 .(-線· 本纸張尺度適用中國國家標準(CNS ) A4規格(*5l〇X297公釐) 311192 經濟部中央標準局員工消費合作社印製 A8 B8 C8 D8 六、申請專利範圍 5 . 一種甩於具有多唇次記憶體系统之3 S糸统的装1: * κ 装置包含: 一闬Μ確保在多雹次記億體条统α的工司快取迓次的 資料一致性的怯取連貫性_搆,垃怯ΐ:連貫性機包含 一 m Μ確保揋據預定記億賴排序方法來對匯流排1 S竝服務针對招同位址之請求的外部匯流捞請求佇列 •其中,外部匯流排請求庁列根拽發岀至多蒈次記憶 體糸统的不同曙次之讀和寫兩種請求來维持状態貸訊 7 . 根據申請專利範圍第6項之裝置,其^該外部ϋ流排請 求佇列包含: 一甩以排隊界部匯流排請求的先進先出佇列: 8. 根據申請專利範圍第δ項之装置,§外S含: 一具有L 1快取記億擭的匯流排媒介器;及 一兩以在自匯流排媒介器收到顯示其尚未在U诀取記 憶體中查看到之請求的稍後時間愆自我偵察L 1诀取S憶 體的’自偵察邏辑。 9 . 揋據申請專利範圍第6項之裝置*丐外S含: 一踽接至外部匯流排請求庁列之控刳遝輯,用Μ £於 外部匯流排請求庁列中的目前請求與一先前所發岀之請 求間尋找相同位垃衝突,且該先前發a之諳求已進人外 部匯流排請求庁列並已通過L2快取記丨:|體1反 一耦接至外部S流排請求佇列和控剖邊輯之詛塞SI謁 (請先閱讀背面之注意事項再填寫本頁) r 裝- .訂 線 本纸張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) ^2192 ABCD 申請專利範圍 m μ 根據 —a. -'J< 仃 中該 來阻 电請專 列包含 阻塞莲 塞目前 請求阻塞:· 利範圍第9項之κ 2; 口 -^=τ Μϋ chr\ —二山 .--. —兵泻:开Ί ..觸與.不响〜_ 輯?i 傳送目前S汶 U'r-, >-·*Κ .—Ρ- d'j m <iv -J 宁 種甩於電腦糸统中雄持記:意體 經濟部中央標準局員工消費合作社印製 系統 或多 億體 接至 在 二卞一 U- m 資料 請求 以 的裝 的吠 用 ^ 3 根逋 L 1決 該 定資 TJn f 斗 S-Λ :二 .么 了二 1-FJ C ^ 涸c p u及s含--外部m流排請求ίτ Cl- 包含一管線ib夕卜部匯流排 及一或更多層次的快取記埝體 夕卜部匯流排,該裝置包含: CPU執行程式的装置,該程式 '而該程式期望將根據預定的 請求,其中,多個記憶體資料 管線化排序來發s 料 % -±. 'J ^\',X 夕卜部 列, 億· 二 |7 ~ 丨:!」达三 !r列 庁列 Γ—; -1-U ' Η 的閂端 旦 流 (請先閱讀背面之注意事項再填寫本頁) 卜 裝 包 .1 画記请貸 狠務該記憶 求包含 κ至π、部匯 -訂 里 μ排隊發a資料請求μ監測有_ '態資訊的裝置:及 以更新諸項Μ 岀資 ;線 m 持記f|遐貫!'生 根據預卷 申請專利範圍第11項 取記憶體之匯流排媒介1 發出的装置包含匯流排媒 ί斗並顯示其尚未在L 1 R :¾ 確 求 來狠 的裝
    3」t Ώ 5 -i_- .,、 s —-fe —]-·-~ J t ~ m y-\ 定M +科; 本纸張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) A8 B8 C8 D8 六、申請專利範圍 一装a進一步包含一回s於顯示尚未在l 1货取記搢 體查看到S3 1流排媒介器,吊以在消湞持間目湞賓L 1块 取記馐S的装置3 1 3 .根據申請專利範圍第1 2項之装置,其二: -一韦以排碎的置"包含一具肖開扁.¾靖5ϋ r i卜U ; 一用Μ更新的装置,包含使請求自「 [ F 0開端甸苄端葫 進的裝置;及 一種裝置進一步包含: 一種闬以使請求進入F I F 0開端的裝置; 一簡装置兩Κ在一 F I F 0中的目前請求與一先前所發S 的請隶間尋找相同位址衝突,旦該先前發出之請:?!已進 入F I F 0並已通過L 2 i丨夬取,汶 一種芾以如果發現相同位址衝突,藉甴潯送目前諳求 回到F I F 0之開端來將該目前請求阻塞的装置: tmfl nn flfl^i— m· Ilf kft^i m^i n> (請先閱讀背面之注意事項再填寫本頁) 訂 線 經濟部中央標準局員工消費合作社印製 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐)
TW083110423A 1994-03-02 1994-11-10 TW311192B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/205,040 US5623628A (en) 1994-03-02 1994-03-02 Computer system and method for maintaining memory consistency in a pipelined, non-blocking caching bus request queue

Publications (1)

Publication Number Publication Date
TW311192B true TW311192B (zh) 1997-07-21

Family

ID=22760538

Family Applications (1)

Application Number Title Priority Date Filing Date
TW083110423A TW311192B (zh) 1994-03-02 1994-11-10

Country Status (7)

Country Link
US (1) US5623628A (zh)
DE (1) DE19506734A1 (zh)
GB (1) GB2287334B (zh)
HK (1) HK1010067A1 (zh)
PL (1) PL178832B1 (zh)
SG (1) SG50458A1 (zh)
TW (1) TW311192B (zh)

Families Citing this family (177)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5493687A (en) 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
DE69311330T2 (de) * 1992-03-31 1997-09-25 Seiko Epson Corp., Tokio/Tokyo Befehlsablauffolgeplanung von einem risc-superskalarprozessor
EP0638183B1 (en) * 1992-05-01 1997-03-05 Seiko Epson Corporation A system and method for retiring instructions in a superscalar microprocessor
WO1994016384A1 (en) * 1992-12-31 1994-07-21 Seiko Epson Corporation System and method for register renaming
US5628021A (en) 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
US5884091A (en) * 1993-12-08 1999-03-16 Intel Corporation Computer system having a central processing unit responsive to the identity of an upgrade processor
US6029217A (en) * 1994-10-03 2000-02-22 International Business Machines Corporation Queued arbitration mechanism for data processing system
US5878244A (en) * 1995-01-25 1999-03-02 Advanced Micro Devices, Inc. Reorder buffer configured to allocate storage capable of storing results corresponding to a maximum number of concurrently receivable instructions regardless of a number of instructions received
US5903741A (en) * 1995-01-25 1999-05-11 Advanced Micro Devices, Inc. Method of allocating a fixed reorder buffer storage line for execution results regardless of a number of concurrently dispatched instructions
US6237082B1 (en) 1995-01-25 2001-05-22 Advanced Micro Devices, Inc. Reorder buffer configured to allocate storage for instruction results corresponding to predefined maximum number of concurrently receivable instructions independent of a number of instructions received
US5901302A (en) * 1995-01-25 1999-05-04 Advanced Micro Devices, Inc. Superscalar microprocessor having symmetrical, fixed issue positions each configured to execute a particular subset of instructions
US5812799A (en) * 1995-06-07 1998-09-22 Microunity Systems Engineering, Inc. Non-blocking load buffer and a multiple-priority memory system for real-time multiprocessing
US5933618A (en) * 1995-10-30 1999-08-03 Advanced Micro Devices, Inc. Speculative register storage for storing speculative results corresponding to register updated by a plurality of concurrently recorded instruction
US5778438A (en) * 1995-12-06 1998-07-07 Intel Corporation Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests
US5745781A (en) * 1995-12-26 1998-04-28 International Business Machines Corporation Memoryless communications adapter including queueing and matching primitives for scalable distributed parallel computer systems
US5813034A (en) * 1996-01-25 1998-09-22 Unisys Corporation Method and circuitry for modifying data words in a multi-level distributed data processing system
EP0882266A1 (en) 1996-02-20 1998-12-09 Intergraph Corporation High-availability super server
US5778422A (en) * 1996-04-04 1998-07-07 International Business Machines Corporation Data processing system memory controller that selectively caches data associated with write requests
US5920891A (en) * 1996-05-20 1999-07-06 Advanced Micro Devices, Inc. Architecture and method for controlling a cache memory
US5829010A (en) * 1996-05-31 1998-10-27 Sun Microsystems, Inc. Apparatus and method to efficiently abort and restart a primary memory access
US5829038A (en) * 1996-06-20 1998-10-27 Intel Corporation Backward inquiry to lower level caches prior to the eviction of a modified line from a higher level cache in a microprocessor hierarchical cache structure
US5845107A (en) * 1996-07-03 1998-12-01 Intel Corporation Signaling protocol conversion between a processor and a high-performance system bus
US5835950A (en) * 1996-07-12 1998-11-10 Samsung Electronics Co., Ltd. Self-invalidation method for reducing coherence overheads in a bus-based shared-memory multiprocessor apparatus
US5915110A (en) * 1996-07-26 1999-06-22 Advanced Micro Devices, Inc. Branch misprediction recovery in a reorder buffer having a future file
US5872951A (en) * 1996-07-26 1999-02-16 Advanced Micro Design, Inc. Reorder buffer having a future file for storing speculative instruction execution results
US5946468A (en) * 1996-07-26 1999-08-31 Advanced Micro Devices, Inc. Reorder buffer having an improved future file for storing speculative instruction execution results
US6199152B1 (en) 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
US5923857A (en) * 1996-09-06 1999-07-13 Intel Corporation Method and apparatus for ordering writeback data transfers on a bus
US5787469A (en) * 1996-09-06 1998-07-28 Intel Corporation System and method for exclusively writing tag during write allocate requests
US5983342A (en) * 1996-09-12 1999-11-09 Advanced Micro Devices, Inc. Superscalar microprocessor employing a future file for storing results into multiportion registers
US5897656A (en) * 1996-09-16 1999-04-27 Corollary, Inc. System and method for maintaining memory coherency in a computer system having multiple system buses
US5926832A (en) * 1996-09-26 1999-07-20 Transmeta Corporation Method and apparatus for aliasing memory data in an advanced microprocessor
US6088769A (en) * 1996-10-01 2000-07-11 International Business Machines Corporation Multiprocessor cache coherence directed by combined local and global tables
JPH10154100A (ja) * 1996-11-25 1998-06-09 Canon Inc 情報処理システム及び装置及びその制御方法
US5864692A (en) * 1996-12-16 1999-01-26 Hewlett-Packard Company Method and apparatus for protecting memory-mapped devices from side effects of speculative instructions
US5905876A (en) * 1996-12-16 1999-05-18 Intel Corporation Queue ordering for memory and I/O transactions in a multiple concurrent transaction computer system
US5875472A (en) * 1997-01-29 1999-02-23 Unisys Corporation Address conflict detection system employing address indirection for use in a high-speed multi-processor system
US6173371B1 (en) * 1997-04-14 2001-01-09 International Business Machines Corporation Demand-based issuance of cache operations to a processor bus
US6055608A (en) * 1997-04-14 2000-04-25 International Business Machines Corporation Method and system for speculatively sourcing cache memory data within a multiprocessor data-processing system
US6061766A (en) * 1997-06-24 2000-05-09 Sun Microsystems, Inc. Non-inclusive cache method using pipelined snoop bus
US6076147A (en) * 1997-06-24 2000-06-13 Sun Microsystems, Inc. Non-inclusive cache system using pipelined snoop bus
US6269426B1 (en) * 1997-06-24 2001-07-31 Sun Microsystems, Inc. Method for operating a non-blocking hierarchical cache throttle
US6154815A (en) * 1997-06-25 2000-11-28 Sun Microsystems, Inc. Non-blocking hierarchical cache throttle
US6148371A (en) * 1997-06-25 2000-11-14 Sun Microsystems, Inc. Multi-level non-blocking cache system with inhibiting thrashing
US5930819A (en) * 1997-06-25 1999-07-27 Sun Microsystems, Inc. Method for performing in-line bank conflict detection and resolution in a multi-ported non-blocking cache
US6154812A (en) * 1997-06-25 2000-11-28 Sun Microsystems, Inc. Method for inhibiting thrashing in a multi-level non-blocking cache system
US5991855A (en) * 1997-07-02 1999-11-23 Micron Electronics, Inc. Low latency memory read with concurrent pipe lined snoops
US6138209A (en) * 1997-09-05 2000-10-24 International Business Machines Corporation Data processing system and multi-way set associative cache utilizing class predict data structure and method thereof
US6260117B1 (en) * 1997-09-18 2001-07-10 International Business Machines Corporation Method for increasing efficiency in a multi-processor system and multi-processor system with increased efficiency
US6141021A (en) * 1997-12-12 2000-10-31 Intel Corporation Method and apparatus for eliminating contention on an accelerated graphics port
US6460119B1 (en) * 1997-12-29 2002-10-01 Intel Corporation Snoop blocking for cache coherency
US6430654B1 (en) * 1998-01-21 2002-08-06 Sun Microsystems, Inc. Apparatus and method for distributed non-blocking multi-level cache
US6148372A (en) * 1998-01-21 2000-11-14 Sun Microsystems, Inc. Apparatus and method for detection and recovery from structural stalls in a multi-level non-blocking cache system
US6061764A (en) * 1998-01-26 2000-05-09 Intel Corporation Coherent variable length reads which implicates multiple cache lines by a memory controller connected to a serial and a pipelined bus utilizing a plurality of atomic transactions
US6253291B1 (en) * 1998-02-13 2001-06-26 Sun Microsystems, Inc. Method and apparatus for relaxing the FIFO ordering constraint for memory accesses in a multi-processor asynchronous cache system
US6567426B1 (en) * 1998-03-05 2003-05-20 Silicon Graphics, Inc. Preemptive timer multiplexed shared memory access
FR2777370B1 (fr) * 1998-04-09 2000-06-23 Sgs Thomson Microelectronics Architecture de dsp optimisee pour les acces memoire
US6269360B1 (en) 1998-04-24 2001-07-31 International Business Machines Corporation Optimization of ordered stores on a pipelined bus via self-initiated retry
US6553403B1 (en) * 1998-06-03 2003-04-22 International Business Machines Corporation System, method and computer program product for monitoring in a distributed computing environment
US6460070B1 (en) 1998-06-03 2002-10-01 International Business Machines Corporation Mobile agents for fault diagnosis and correction in a distributed computer environment
US6549932B1 (en) * 1998-06-03 2003-04-15 International Business Machines Corporation System, method and computer program product for discovery in a distributed computing environment
US6493802B1 (en) * 1998-06-18 2002-12-10 Compaq Information Technologies Group, L.P. Method and apparatus for performing speculative memory fills into a microprocessor
US6094716A (en) * 1998-07-14 2000-07-25 Advanced Micro Devices, Inc. Register renaming in which moves are accomplished by swapping rename tags
US6574219B1 (en) 1998-08-06 2003-06-03 Intel Corp Passive message ordering on a decentralized ring
US6112283A (en) * 1998-08-06 2000-08-29 Intel Corporation Out-of-order snooping for multiprocessor computer systems
US6377582B1 (en) 1998-08-06 2002-04-23 Intel Corporation Decentralized ring arbitration for multiprocessor computer systems
US6552723B1 (en) * 1998-08-20 2003-04-22 Apple Computer, Inc. System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
US6249851B1 (en) * 1998-08-25 2001-06-19 Stmicroelectronics, Inc. Computer system having non-blocking cache and pipelined bus interface unit
US6081874A (en) * 1998-09-29 2000-06-27 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that speculatively issues requests on a node interconnect
US6067603A (en) * 1998-10-01 2000-05-23 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that speculatively issues requests on a node interconnect
US6801207B1 (en) * 1998-10-09 2004-10-05 Advanced Micro Devices, Inc. Multimedia processor employing a shared CPU-graphics cache
US6483516B1 (en) 1998-10-09 2002-11-19 National Semiconductor Corporation Hierarchical texture cache
US6240503B1 (en) 1998-11-12 2001-05-29 Advanced Micro Devices, Inc. Cumulative lookahead to eliminate chained dependencies
US6338125B1 (en) 1998-12-23 2002-01-08 Cray Inc. Dynamic slot allocation and tracking of multiple memory requests
US6314500B1 (en) * 1999-01-11 2001-11-06 International Business Machines Corporation Selective routing of data in a multi-level memory architecture based on source identification information
US6356485B1 (en) 1999-02-13 2002-03-12 Integrated Device Technology, Inc. Merging write cycles by comparing at least a portion of the respective write cycle addresses
US6321328B1 (en) * 1999-03-22 2001-11-20 Hewlett-Packard Company Processor having data buffer for speculative loads
EP1050812A1 (en) 1999-05-03 2000-11-08 STMicroelectronics SA Storage of data in a computer memory
US6460133B1 (en) * 1999-05-20 2002-10-01 International Business Machines Corporation Queue resource tracking in a multiprocessor system
US6434677B1 (en) * 1999-06-01 2002-08-13 Intel Corporation Method and apparatus for altering data length to zero to maintain cache coherency
US6532523B1 (en) * 1999-10-13 2003-03-11 Oak Technology, Inc. Apparatus for processing memory access requests
US6748589B1 (en) 1999-10-20 2004-06-08 Transmeta Corporation Method for increasing the speed of speculative execution
US6557048B1 (en) * 1999-11-01 2003-04-29 Advanced Micro Devices, Inc. Computer system implementing a system and method for ordering input/output (IO) memory operations within a coherent portion thereof
US6591307B1 (en) 1999-11-09 2003-07-08 International Business Machines Corporation Multi-node data processing system and method of queue management in which a queued operation is speculatively cancelled in response to a partial combined response
US6519649B1 (en) 1999-11-09 2003-02-11 International Business Machines Corporation Multi-node data processing system and communication protocol having a partial combined response
US6519665B1 (en) 1999-11-09 2003-02-11 International Business Machines Corporation Multi-node data processing system and communication protocol in which a stomp signal is propagated to cancel a prior request
US6848003B1 (en) * 1999-11-09 2005-01-25 International Business Machines Corporation Multi-node data processing system and communication protocol that route write data utilizing a destination ID obtained from a combined response
US6671712B1 (en) 1999-11-09 2003-12-30 International Business Machines Corporation Multi-node data processing system having a non-hierarchical interconnect architecture
US6557078B1 (en) * 2000-02-21 2003-04-29 Hewlett Packard Development Company, L.P. Cache chain structure to implement high bandwidth low latency cache memory subsystem
US6507892B1 (en) 2000-02-21 2003-01-14 Hewlett-Packard Company L1 cache memory
US6539457B1 (en) 2000-02-21 2003-03-25 Hewlett-Packard Company Cache address conflict mechanism without store buffers
US6434672B1 (en) * 2000-02-29 2002-08-13 Hewlett-Packard Company Methods and apparatus for improving system performance with a shared cache memory
US6968469B1 (en) 2000-06-16 2005-11-22 Transmeta Corporation System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored
US6981101B1 (en) 2000-07-20 2005-12-27 Silicon Graphics, Inc. Method and system for maintaining data at input/output (I/O) interfaces for a multiprocessor system
US6877029B1 (en) * 2000-07-20 2005-04-05 Silicon Graphics, Inc. Method and apparatus for managing node controllers using partitions in a computer system
US7069306B1 (en) 2000-07-20 2006-06-27 Silicon Graphics, Inc. Providing shared and non-shared access to memory in a system with plural processor coherence domains
US6738869B1 (en) * 2000-08-29 2004-05-18 Intel Corporation Arrangements for out-of-order queue cache coherency and memory write starvation prevention
US6627999B2 (en) 2000-08-31 2003-09-30 Micron Technology, Inc. Flip-chip with matched signal lines, ground plane and ground bumps adjacent signal bumps
US6462423B1 (en) 2000-08-31 2002-10-08 Micron Technology, Inc. Flip-chip with matched lines and ground plane
JP2002082832A (ja) * 2000-09-08 2002-03-22 Nec Corp キャッシュ更新方法及びキャッシュ更新制御システム並びに記録媒体
US6477622B1 (en) * 2000-09-26 2002-11-05 Sun Microsystems, Inc. Simplified writeback handling
US6721813B2 (en) * 2001-01-30 2004-04-13 Advanced Micro Devices, Inc. Computer system implementing a system and method for tracking the progress of posted write transactions
US6622203B2 (en) * 2001-05-29 2003-09-16 Agilent Technologies, Inc. Embedded memory access method and system for application specific integrated circuits
US6813623B2 (en) * 2001-06-15 2004-11-02 International Business Machines Corporation Method and apparatus for chunk based transaction logging with asynchronous input/output for a database management system
WO2003001369A2 (en) * 2001-06-26 2003-01-03 Sun Microsystems, Inc. Method and apparatus for facilitating speculative stores in a multiprocessor system
US6785776B2 (en) * 2001-07-26 2004-08-31 International Business Machines Corporation DMA exclusive cache state providing a fully pipelined input/output DMA write mechanism
US6782456B2 (en) * 2001-07-26 2004-08-24 International Business Machines Corporation Microprocessor system bus protocol providing a fully pipelined input/output DMA write mechanism
US6865695B2 (en) * 2001-07-26 2005-03-08 International Business Machines Corpoation Robust system bus recovery
US7394823B2 (en) * 2001-11-20 2008-07-01 Broadcom Corporation System having configurable interfaces for flexible system configurations
US6842822B2 (en) * 2002-04-05 2005-01-11 Freescale Semiconductor, Inc. System and method for cache external writing
US20030195939A1 (en) * 2002-04-16 2003-10-16 Edirisooriya Samatha J. Conditional read and invalidate for use in coherent multiprocessor systems
US7003630B1 (en) * 2002-06-27 2006-02-21 Mips Technologies, Inc. Mechanism for proxy management of multiprocessor storage hierarchies
US7017025B1 (en) * 2002-06-27 2006-03-21 Mips Technologies, Inc. Mechanism for proxy management of multiprocessor virtual memory
US7062636B2 (en) * 2002-09-19 2006-06-13 Intel Corporation Ordering scheme with architectural operation decomposed into result producing speculative micro-operation and exception producing architectural micro-operation
US8185602B2 (en) 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US6996645B1 (en) * 2002-12-27 2006-02-07 Unisys Corporation Method and apparatus for spawning multiple requests from a single entry of a queue
US7096289B2 (en) * 2003-01-16 2006-08-22 International Business Machines Corporation Sender to receiver request retry method and apparatus
US7216202B1 (en) * 2003-02-25 2007-05-08 Sun Microsystems, Inc. Method and apparatus for supporting one or more servers on a single semiconductor chip
US7043626B1 (en) 2003-10-01 2006-05-09 Advanced Micro Devices, Inc. Retaining flag value associated with dead result data in freed rename physical register with an indicator to select set-aside register instead for renaming
US7502892B2 (en) * 2003-12-30 2009-03-10 Intel Corporation Decoupling request for ownership tag reads from data read operations
TWI242134B (en) * 2004-02-12 2005-10-21 Via Tech Inc Data extraction method and system
US7599044B2 (en) 2005-06-23 2009-10-06 Apple Inc. Method and apparatus for remotely detecting presence
US20060080511A1 (en) * 2004-10-08 2006-04-13 International Business Machines Corporation Enhanced bus transactions for efficient support of a remote cache directory copy
US20060100997A1 (en) * 2004-10-27 2006-05-11 Wall Gary C Data caching
US7242169B2 (en) * 2005-03-01 2007-07-10 Apple Inc. Method and apparatus for voltage compensation for parasitic impedance
US9298311B2 (en) * 2005-06-23 2016-03-29 Apple Inc. Trackpad sensitivity compensation
US7577930B2 (en) 2005-06-23 2009-08-18 Apple Inc. Method and apparatus for analyzing integrated circuit operations
US7433191B2 (en) * 2005-09-30 2008-10-07 Apple Inc. Thermal contact arrangement
US7598711B2 (en) * 2005-11-23 2009-10-06 Apple Inc. Power source switchover apparatus and method
US7366847B2 (en) * 2006-02-06 2008-04-29 Azul Systems, Inc. Distributed cache coherence at scalable requestor filter pipes that accumulate invalidation acknowledgements from other requestor filter pipes using ordering messages from central snoop tag
JP4820654B2 (ja) * 2006-02-06 2011-11-24 富士通セミコンダクター株式会社 サイクルシミュレーション方法、サイクルシミュレーションプログラム、該プログラムを記録した記録媒体、およびサイクルシミュレータ
US20090006712A1 (en) * 2007-06-29 2009-01-01 Fatma Ehsan Data ordering in a multi-node system
US9081901B2 (en) * 2007-10-31 2015-07-14 Raytheon Company Means of control for reconfigurable computers
US8006039B2 (en) * 2008-02-25 2011-08-23 International Business Machines Corporation Method, system, and computer program product for merging data
CN101676887B (zh) * 2008-08-15 2012-07-25 北京北大众志微系统科技有限责任公司 一种基于ahb总线结构的总线监听方法及装置
US8447932B2 (en) * 2010-06-22 2013-05-21 International Business Machines Corporation Recover store data merging
US8850129B2 (en) * 2010-06-24 2014-09-30 International Business Machines Corporation Memory ordered store system in a multiprocessor computer system
US8688962B2 (en) * 2011-04-01 2014-04-01 Intel Corporation Gather cache architecture
US9411748B2 (en) 2011-12-20 2016-08-09 Intel Corporation Secure replay protected storage
WO2013095387A1 (en) 2011-12-20 2013-06-27 Intel Corporation Secure replay protected storage
WO2013095475A1 (en) 2011-12-21 2013-06-27 Intel Corporation Apparatus and method for memory-hierarchy aware producer-consumer instruction
US20140208031A1 (en) * 2011-12-21 2014-07-24 Shlomo Raikin Apparatus and method for memory-hierarchy aware producer-consumer instructions
US20130212210A1 (en) * 2012-02-10 2013-08-15 General Electric Company Rule engine manager in memory data transfers
US9015423B2 (en) * 2012-06-14 2015-04-21 International Business Machines Corporation Reducing store operation busy times
US9304925B2 (en) * 2012-10-24 2016-04-05 Texas Instruments Incorporated Distributed data return buffer for coherence system with speculative address support
US9785556B2 (en) * 2014-12-23 2017-10-10 Intel Corporation Cross-die interface snoop or global observation message ordering
US9858190B2 (en) * 2015-01-27 2018-01-02 International Business Machines Corporation Maintaining order with parallel access data streams
US10204047B2 (en) * 2015-03-27 2019-02-12 Intel Corporation Memory controller for multi-level system memory with coherency unit
US11216720B2 (en) 2015-10-08 2022-01-04 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit that manages power consumption based on memory accesses per period
US11221872B2 (en) 2015-10-08 2022-01-11 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit that interrupts processing core upon condition
US11029949B2 (en) 2015-10-08 2021-06-08 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit
US10380481B2 (en) 2015-10-08 2019-08-13 Via Alliance Semiconductor Co., Ltd. Neural network unit that performs concurrent LSTM cell calculations
US10353860B2 (en) 2015-10-08 2019-07-16 Via Alliance Semiconductor Co., Ltd. Neural network unit with neural processing units dynamically configurable to process multiple data sizes
US10776690B2 (en) 2015-10-08 2020-09-15 Via Alliance Semiconductor Co., Ltd. Neural network unit with plurality of selectable output functions
US10664751B2 (en) 2016-12-01 2020-05-26 Via Alliance Semiconductor Co., Ltd. Processor with memory array operable as either cache memory or neural network unit memory
US11226840B2 (en) 2015-10-08 2022-01-18 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit that interrupts processing core upon condition
US10228911B2 (en) 2015-10-08 2019-03-12 Via Alliance Semiconductor Co., Ltd. Apparatus employing user-specified binary point fixed point arithmetic
US10725934B2 (en) 2015-10-08 2020-07-28 Shanghai Zhaoxin Semiconductor Co., Ltd. Processor with selective data storage (of accelerator) operable as either victim cache data storage or accelerator memory and having victim cache tags in lower level cache wherein evicted cache line is stored in said data storage when said data storage is in a first mode and said cache line is stored in system memory rather then said data store when said data storage is in a second mode
GB2547189A (en) * 2016-02-03 2017-08-16 Swarm64 As Cache and method
US20170293646A1 (en) * 2016-04-07 2017-10-12 Imagination Technologies Limited Apparatus and methods for out of order item selection and status updating
US10303605B2 (en) * 2016-07-20 2019-05-28 Intel Corporation Increasing invalid to modified protocol occurrences in a computing system
US10395165B2 (en) 2016-12-01 2019-08-27 Via Alliance Semiconductor Co., Ltd Neural network unit with neural memory and array of neural processing units that collectively perform multi-word distance rotates of row of data received from neural memory
US10438115B2 (en) 2016-12-01 2019-10-08 Via Alliance Semiconductor Co., Ltd. Neural network unit with memory layout to perform efficient 3-dimensional convolutions
US10430706B2 (en) 2016-12-01 2019-10-01 Via Alliance Semiconductor Co., Ltd. Processor with memory array operable as either last level cache slice or neural network unit memory
US10417560B2 (en) 2016-12-01 2019-09-17 Via Alliance Semiconductor Co., Ltd. Neural network unit that performs efficient 3-dimensional convolutions
US10423876B2 (en) 2016-12-01 2019-09-24 Via Alliance Semiconductor Co., Ltd. Processor with memory array operable as either victim cache or neural network unit memory
US10515302B2 (en) 2016-12-08 2019-12-24 Via Alliance Semiconductor Co., Ltd. Neural network unit with mixed data and weight size computation capability
US10289516B2 (en) * 2016-12-29 2019-05-14 Intel Corporation NMONITOR instruction for monitoring a plurality of addresses
US10565492B2 (en) 2016-12-31 2020-02-18 Via Alliance Semiconductor Co., Ltd. Neural network unit with segmentable array width rotator
US10140574B2 (en) 2016-12-31 2018-11-27 Via Alliance Semiconductor Co., Ltd Neural network unit with segmentable array width rotator and re-shapeable weight memory to match segment width to provide common weights to multiple rotator segments
US10586148B2 (en) 2016-12-31 2020-03-10 Via Alliance Semiconductor Co., Ltd. Neural network unit with re-shapeable memory
US10565494B2 (en) 2016-12-31 2020-02-18 Via Alliance Semiconductor Co., Ltd. Neural network unit with segmentable array width rotator
US9912957B1 (en) 2017-04-01 2018-03-06 Intel Corporation Lossless compression for multisample render targets alongside fragment compression
US10613979B2 (en) 2017-11-30 2020-04-07 International Business Machines Corporation Accelerator memory coherency with single state machine
US20230315643A1 (en) * 2022-03-29 2023-10-05 Microsoft Technology Licensing, Llc Cache Data Provided Based on Data Availability

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3675217A (en) * 1969-12-23 1972-07-04 Ibm Sequence interlocking and priority apparatus
US4136386A (en) * 1977-10-06 1979-01-23 International Business Machines Corporation Backing store access coordination in a multi-processor system
US5023776A (en) * 1988-02-22 1991-06-11 International Business Machines Corp. Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage
GB2244158B (en) * 1990-04-30 1994-09-07 Sun Microsystems Inc Cache memory arrangement with write buffer pipeline providing for concurrent cache determinations
DE69127936T2 (de) * 1990-06-29 1998-05-07 Digital Equipment Corp Busprotokoll für Prozessor mit write-back cache
IE860318L (en) * 1990-10-01 1986-08-05 Digital Equipment Corp System bus for a multi-cache data processing system
US5261071A (en) * 1991-03-21 1993-11-09 Control Data System, Inc. Dual pipe cache memory with out-of-order issue capability

Also Published As

Publication number Publication date
GB9416273D0 (en) 1994-10-05
US5623628A (en) 1997-04-22
PL178832B1 (pl) 2000-06-30
DE19506734A1 (de) 1995-09-07
HK1010067A1 (en) 1999-06-11
GB2287334A (en) 1995-09-13
SG50458A1 (en) 1998-07-20
GB2287334B (en) 1998-03-25
PL307473A1 (en) 1995-09-04

Similar Documents

Publication Publication Date Title
TW311192B (zh)
JP6802287B2 (ja) キャッシュ・メモリ・アクセス
CN104375958B (zh) 高速缓存存储器管理事务性存储器访问请求
TWI289786B (en) System and method of using speculative operand sources in order to speculatively bypass load-store operations
CN104011681B (zh) 向逻辑分区提供反映处理器核的独占使用的硬件线程特定信息
US9696927B2 (en) Memory transaction having implicit ordering effects
US9418007B2 (en) Managing memory transactions in a distributed shared memory system supporting caching above a point of coherency
TWI362613B (en) System and method for validating a memory file that links speculative results of load operations to register values
TWI259976B (en) Cache allocation apparatus, method and system, and machine-accessible medium which stores executable instructions
US8935513B2 (en) Processor performance improvement for instruction sequences that include barrier instructions
US8838906B2 (en) Evict on write, a management strategy for a prefetch unit and/or first level cache in a multiprocessor system with speculative execution
TW200815976A (en) Transactional memory in out-of-order processors
US9501411B2 (en) Cache backing store for transactional memory
TWI617980B (zh) 具有動態配送窗以及分散式架構的虛擬載入儲存佇列
TW200422948A (en) Data speculation based on addressing patterns identifying dual-purpose register
CN110520837A (zh) 基于重命名寄存器恢复的寄存器上下文还原
US20100042771A1 (en) Information processing apparatus and order guarantee method
CN104281468A (zh) 分布式虚拟机图像管理的方法和系统
CN102906699A (zh) 用于串行化处理的诊断指令
CN104346224B (zh) 使用组页面错误描述符来处理上下文切换和进程终止
US10140052B2 (en) Memory access in a data processing system utilizing copy and paste instructions
US9524171B1 (en) Split-level history buffer in a computer processing unit
US10379856B2 (en) Multicopy atomic store operation in a data processing system
CN106716949A (zh) 减少具有扩展mesi协议的多处理器系统的互连流量
CN109791584A (zh) 用于标识和避免虚拟机监视程序和客户虚拟机之间的跟踪冲突的处理器扩展

Legal Events

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