TW544626B - Method and apparatus for verifying that instructions are pipelined in correct architectural sequence - Google Patents
Method and apparatus for verifying that instructions are pipelined in correct architectural sequence Download PDFInfo
- Publication number
- TW544626B TW544626B TW089120591A TW89120591A TW544626B TW 544626 B TW544626 B TW 544626B TW 089120591 A TW089120591 A TW 089120591A TW 89120591 A TW89120591 A TW 89120591A TW 544626 B TW544626 B TW 544626B
- Authority
- TW
- Taiwan
- Prior art keywords
- instruction
- address
- structural
- correct
- processor
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 13
- 230000002079 cooperative effect Effects 0.000 claims description 10
- 230000006378 damage Effects 0.000 claims description 4
- 230000004083 survival effect Effects 0.000 claims 10
- 230000000875 corresponding effect Effects 0.000 claims 7
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 claims 6
- 238000000605 extraction Methods 0.000 claims 6
- 238000012795 verification Methods 0.000 claims 3
- 238000012790 confirmation Methods 0.000 claims 2
- 210000004556 brain Anatomy 0.000 claims 1
- 238000010276 construction Methods 0.000 claims 1
- 238000012163 sequencing technique Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 7
- 230000002950 deficient Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3865—Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
544626 A7 B7 經 濟 部 智 慧 財 產 局 消 費 合 作 社 印 製 五、發明說明( 1明領域: 本發明廣義上係與資料處理系統相關。特定說來, 本發明係關於-種在-資料處理系統中核對所提取之指 令的排列是否依觸序排列之方法及設備。更特定說來, 本發明係關於—種將一處理器管線内之指令順序加以正 確結構化之方法及設備。 發明背景: 傳統的處理器包含一指令提取單元(IFU),用以要求 載入指令,一指令快取記憶體,用以儲存指令;一指令 暫存器’用以暫時儲存由指令快取記憶體所提取之指 令,以供執行;多個執行單元,用以執行順序排列之指 令;一分支處理單元(BPU),用以執行分支指令;一分派 單兀’用以將指令緩衝器中順序排列的指令分派予某些 特定的執行單元;及一完結緩衝器,用以暫時儲存以執 行完尚未完成之指令。 在這些傳統處理器中,分支指令及順序排列之指令 係以不同的方式處理。在分支指令的處理上,位址問題、 或確定某一位址為正確、或某一位置與相對之指令相匹 配的工作一般為BPU負貴之。BPU會對所提供之目的位 r 置及分支指令之分支方向與計算得出之結構上的下二位 置進行比較,而其它指令(如共列(inline)指令)在位於處 理器的管線上時都被假设作處於正確的結構順序中。+ 這種假設出錯時(亦即指令順序變得錯亂),最後處理器的 第3頁 - ---------Λ, ---------^---------φί—,— Λ (請先閱讀背面之注意事項再填寫本頁) 544626 A7 B7 、發明說明() 處理效能就會降低’其中指令順序錯亂會發生在處理器 <資料相關性未被觀測到時,其硬體出現不良時, 取記憶體線之資訊交錯時,其同步性錯失及其指令順序 不當等等之時’這時處理器便不能對指令加以一般常規 之處理(此時被稱作管線破壞,處理器不再能處理出有用 之資訊)。 因此’本發明便了解到一種能確保由處理器所提取 《所有指令在管線中都能循正確之結構順序排列的係統 或設備是相當重要的’亦即一種能強化指令位置問題、 以使所有指令都能處於正確排列順序當中的系統是—項 極需達成的目標。最後’本發明還對上述之系統加以強 化能力’其能在指令發生不正確排列而被移除於管線之 外的情況下重新對指令進行有效率之排列工作。 發明目的乃概诚: 本案揭示一種指令在處理器管線中完成之前對其加 以正確之結構順序化,以降低管線破壞的方法及設備。一 分支處理單元(BPU)被設計成能核對由指令提取單元(ιρυ) 提至管線之所有指令(如共列指令與分支指令)的位址。當 第一個指令被提取時,結構順序中下一指令之位置被加以 計算’計算之結果儲存於該BPU中。當下一指令被提取 時,其位址會與儲存於· BPU中之下一指令位置比較,以確 定该k置是否為正確位置。當下一指令與結構順序中者位 置相同時,該指令被視為”可進行"(亦即可繼續處理至完成 第4頁
本紙張尺度適針關mm (CNS)A4iT^ (210 x 297ST (請先閱讀背面之注意事項再填寫本頁) -I - I I »r I---訂--------- 經 濟 部 智 慧 財 產 局 員 工 消 費 合 作 社 印 製 544626 經濟部智慧財產局員工消費合作社印製 A7 五、發明說明() 止)彳纟d K置與結構順序中者不同時“人一、 政去,,(即指令不 、、 '日7就會被,, 令。 加以元成再提取-個新的指 在一較佳實施例中,指令在管線上處於任 可政去,其代表 ㉟奴時皆 以 讯就就不再有,其會行經管線之其a 部份,此時其不做任 〈其匕 值也不增加。此時,中)’程式計數器㈣ 序之位置,若丄 暫存器中仍保有結構順
..曰决位址之指令嘗試通過BPU時,BPU 會將該指令加以砍除 ^ ^攻時結構中正確指令位置會被載入 IFU W使1FU能從最後-個正確指令之處繼續提取指 令。因此,指令能在幾乎與錯誤發生之同時重新被提取, 如此後續過程中所^p处次 斤了此發生的管線破壞機率就可大大降 低。 ,L特;及本發明其餘之目的、特徵及優點在下文 中詳細描述過後將會變得明顯易懂。 18|式簡單說明 本發明《上述及其它目的、特徵及優點可由下述詳 細說明,並配合圖示之說明而更得以彰顯,其中上述所概 述之本發明的特定描述可逕行參考詳細說明中的特定實 施例,這些特定實施例則以所附之圖式配合說明。 第1圖為本發明一實施例中一資料處理系統的方塊圖; 第2圖為一處理器之一實施例的方塊圖,其中該處理器 之設計包含本發明之方法及系統於其中; 第5頁
T ^^-- — — 11 — (請先閲讀背面之注意事項再填寫本頁) 訂 丨 經濟部智慧財產局員工消費合作社印製 544626 A7 B7 五、發明說明() 第3 A圖之方塊圖表示處理指令時之各不同階段,而該指 令之處理係按本發明之一實施方式為之; 第3 B圖為本發明之一較佳實施做法之特定管線階段的 向階方塊圖;及 第4圖為本發明一較佳實施例中的指令活邏輯方塊圖。 圖號對照說明: 10 處理器 12 匯流排介面單元 14 指令快取記憶體 15 先進先出裝置 16 資料快取記憶體 17 指令提取單元 18 分支處理單元 19 指令順序排列器 20 條件集暫存器 21 計數暫存器 22 定點單元 23 鏈結暫存器 25 條件暫存器 28 載入/儲存單元 30 浮點單元 32 一般目的暫存器 36 浮點暫存器 100 資料處理系統 1 14 輸入/輸出裝置 116 永久記憶裝置 118 暫時記憶裝置 120 匯流排 122 直接通道 124 軔體 303 指令提取位址暫存器 306 符號擴充攔 307 OP1暫存器 308 ΟΡΙΑ暫存器 309 立即暫存器 3 11 下共列暫存器 313 Uvec暫存器 3 14 加法器 3 16 條件碼暫存器 3 17 閂鎖器 第6頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) I---r--------裝------L----訂--------- (請先閱讀背面之注意事項再填寫本頁) 544626 五、發明說明() A7 B7
3 19 下共列暫存器 321 IAdrC暫存器 323 分支控制 327 結構程式計數暫存 329 指令確定 331 IAdrW暫存器 400 邏輯方塊 4〇1 先進先出暫存器 403 A 輸入 407 反相器 409 閘 發明詳細說明: 經濟部智慧財產局員工消費合作社印製 現就請參閱各圖式,特別是第U。圖中顯示一本發 明之一較佳實施例所用之資料處理系統100的基本結構: 塊圖。該資料處理系統100具有至少一處理器10,i與Z 週邊裝置相連接,如輸入/輸出装置114(如螢幕、鍵盤及 圖形點選裝置等),以當作使用者之操作介面;一永Z紀 憶裝置11 6(如一硬碟等),以儲存資料處理系、统巾的作業 系統及應用程式;及一暫時記憶装置118(如隨機存取記憶 體等),以供處理器1〇執行目前的程式指令。處理 與週邊各裝置以各種不同之裝置溝通,如匯流排i2/或直 接通道122(當使用一匯流排橋時,所能使用之匯流排'2〇 就不止一者),其皆由匯流排介面單元(未示於圖中)所控 制。 熟知該項技藝者當能了解第1圖之方塊圖中仍可加入 其它之零件裝置。例如,一顯示配接卡可與處理器丨〇相 連接,以對視訊顯示監視器提控制的功能;一記憶體控制 器可當作暫時記憶裝置1 1 8及處理器1 〇之間的介面。此 第7頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公f ) —r--------装"—-l·—訂---------· (請先閱讀背面之注意事項再填寫本頁)
Claims (1)
- ABCD 一 η 544626 六、申請專利範圍 吕線處理器結構,其適用於從一快取緩衝器接收經 並可將經選^之指令送至執行單元,該管 線處理器結構至少包含: 私7提取裝置’用以提取共列與分支指令; A 7處理裝置’用以處理所有類似分支的經提取指 /、係藉由判定指令之正確結構順序,並依照該正確 結構順序而執行後續指令;及 一扎7砍除裝置,用以選擇性砍除一後續經提取之指 :的裝置’以響應指令位址比較結果及例外狀況,當該 指令位址比較結果指出該後續指令之一位址與該正確 結構順序之位址不匹配時,其中共列及分支指令可依循 該正確結構順序而執行。 2·如申請專利範圍帛i項所述之結構,纟中砍除裝置包含: 一四位元先進先出(FIF0)暫存器,其中存有指令存 活位元該扎令存活位元相對於一指令管線之各不同階 段;及 用以在指令處理期間改變該指令存活位元之一值的 裝置,其中該指令存活位元的一第一值能讓一指令在該 管線階段中完成,而一第二值則會使該指令不能完成。 3·如申請專利範圍第1項所述之結構,其中更包含: 裝置,以應該選擇性砍除裝置之所需,用以在該後 續指令之一位址與一正確之結構順序所決定之結構位 第18頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱) ...............¥.........、玎.........^ * - - (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 544626 經濟部智慧財產局員工消費合作社印製 Α8 Β8 C8 D8 ’址不相同時,以訊號通知 力适處理器管線中的處 使該後續指令不能完成;及 深甲的處理15零件 驅使裝置,用以驅使— ^ 呎 lFU根據該正確之結構顺& 重新提取下一指令。 D攝順序 4.如申請專利範圍第3項所述之結構,其中驅使 含壞訊號通知裝置,用以將該結構位址及—指令Μ 提供予該IFU,以指出該第- ° 、 弟—扎令並非一正確之指令 並重新進行指令之提取。 5·如申請專利範圍第1項所述 κ結構,其中處理器為一 無向$處理器,而該指令# , 7係Μ —指令封包提供予該處 器管線,其中該結構更包含: 接收裝置,用以接收從一 指令提取單元(IFU)傳來 一第一指令封包及指令封包位址; 计异裝置’用以根據一正確結構順序對指令之下 封包的一結構位址進行計算; 另一接收裝置,用以從一指令提取單元接收一第 指令封包及其相對應之指令封包位址;及 比杈裝置’用以對該相對指令封包位址與該結構 址比較’其中該第二指令封包只有在該相對位址與該 構位址匹配時才得以將其完成。 包 號 超 理 之 位 6. —種將一正確之結構順序中之所有共列及分支指令提 第19頁• 裝 訂 線 ί請先閱讀背面之注意事項再填寫本頁) 6 2 6 44 5 ABCD 六、申請專利範圍 .至一處理器管線的系統,該系統至少包含: (請先閱讀背面之注意事項再填寫本頁) 接收裝置,用以接收從一指令提取單元(IFU)傳來之 一第一指令及指令位址; 計算裝置,用以根據該正確結構順序對下一指令之 一結構位址進行計算,其中該計算裝置係用以計算共列 及分支指令之該結構位址; 另一接收裝置,用以從該指令提取單元接收一第二 指令及其相對應之指令位址; 比較裝置,用以對該相對指令位址與該結構位址比 較’其中該第二指令只有在該相對位址與該結構位址匹 配時,才得以將其完成;及 砍除裝置,用以在該相對位址與該結構位址不匹配 時,砍除該第二指令之執行。 7 ·如申請專利範圍第6項所述之系統,其中更包含: 決定裝置,用以在該處理器管線之一階段中的下一 指令為不正確時,在一分支處理中進行決定;及 通知裝置,以訊號通知處理器零件執行該階段,以 不讓該指令完成。 經濟部智慧財產局員工消費合作社印製 8 ·如申請專利範圍第7項所述之系統,其中決定裝置包含: 一四位元先進先出(FIFO)暫存器,其中存有指令存 活位元’該指令存活位元與該指令管線之各不同階段相 關;及 第20頁 » 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公釐) 544626 Α8 Β8 C8 D8六、申請專利範圍 改變裝置,用以在指今虛搜爱 相7處理期間改變該指令存活位 疋之一值,其中該指令存活位开 位兀的一第一值能讓在該管 線階段之一指令完成,而一篦― ^ 句第一值則會讓該指令不能完 成。 9.如申請專利範圍“項所述之系統,其中更包含: 通知裝置’以應該比較.裝置之所需,用以在該位置 不相同時’以訊號通知該處理器管線中的處理器零件使 該第二指令不能完成;及 駆使裝置’用以驅使該IF U奸诚兮 a 丨又必κ u根據該正確之結構順序 重新提取下' 指令。 ..............f « " - (請先閲讀背面之注意事項再填寫本頁) 經 濟 部 智 慧 財 產 局 員 X消費 合 作 社 印 製 10.如申請專利範圍帛9項所述之系統,其中驅使裝置更包 含驅使裝置更包含壞訊號通知裝置,用以將該結構位址 及一指令壞訊號提供予該IFU,以指出該第二指令並非 一正確之指令,並重新進行指令之提取。 11 ·如申請專利範圍第6項所述之系統,其中處理器為一超 無向量處理器,而該指令以一指令封包提供予該處理器 管線,其中該系統更包含:’一 接收裝置,用以從一指令提取單元(IFU)接收一第一 指令封包及指令封包位址; 計算裝置,用以根據該正確結構順序對下一指令封 包之一結構位址進行計算; 第21頁訂* 線 — 雌 — 544626 8888 ABCD 圍 is利專請 t· … .一扣亨扠私早7L接收一第二 指令封包及其相對應之指令封包位址;及 比較裝置,用以對該相對指令封包位址與該結構位 :比較,其中該第二指令封包只有在該相對位址與該結 構位址匹配時才得以將其完成。 α-種將-正確之結構順序·中之所有共列及分支指令提 供至一處理器管線的資料處理系統,該系統至少包含: μ |置1以接m令提取單元(lFu)傳來 第一指令及指令位址; 之 經濟部智慧財產局員工消費合作社印製 計算裝置,用以根據該正確結構順序對下一指令 -結構位址進行計算,其中該計算裝置用以計算該: 及分支指令之結構位址; 另一接收裝置,用以從該指令提取單元接收一第 指令及其相對應之指令位址; 1比較裝4,用以對該相對指令位址與該、结構位址 較’其中該第二指令封包只有♦該相對位址與該結構 址匹配時才得以將其完成;及 砍除裝置,用以在該相對位址與該結構位址不匹 時,砍除該第二指令之執行- 13·如申請專利範圍第12項所述之系統,其中更包含 決定裝置,用以在該處理器管線之一階段中的 指令為不正確時在一分支處理中進行決定·,及 第22頁 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公釐) 之 比 位 配 下 ...............^.........、耵.........# * - * (請先閲讀背面之注意事項再填寫本頁} 544626 ^ \ -r 11 A8 B8 C8 D8 六 申請專利範圍 通知裝置,以訊號通知 不讓該指令完成。 β令彳千執行該階段,以 元 階 14·如申請專利範圍第13項所述之資料處理系統,其中、央 定裝置包含: … 一四位元先進先出(FIFO)暫存器,其中存存有指令 活位元’該指令存活位元與·該指令管線之各不同階段相 關;及 改變裝置,用以在指令處理期間改變該指令活位 之一值’其中該指令活位元的一第—值能讓在該管線 段之一指令完成,而一第二值則會讓該指令不能完成 15.如申請專利範圍第12項所述之資料處理系統,其中更 包含: 裝置,以應該比較裝置之所需,用以在該位置不相 同時,以訊號通知該處理器管線中的處理器零件使該第 二指令不能完成;及 驅使裝置’用以驅使該IFU根據該正確之結構順序 重新提取下一指令。 1 6 ·如申請專利範圍第1 5項所述之系統,其中驅使裝置更 包含驅使裝置更包含壞訊號通知裝置,用以將該結構位 址及一指令壞訊號提供予該IFU,以指出該第二指令並 非一正確之指令,並重新進行指令之提取。 第23頁 本紙張尺度適用中國國家標準(CNS)A4規格(210X297公«) 7·!丨 裝 訂 線 f請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消费合作社印製 544626ABCD 經濟部智慧財產局員工消費合作社印製 申請專利範圍 17·如申請專利範圍第i2項所述之系統,其中處理器為一 超,向量處理器,而該指令以一指令封包提供予該處理 器官線’其中該資料處理系統更包含: 接收裝置,用以從一指令提取單元(IFU)接收一第一 指令封包及指令封包位址; °十算裝置,用以根據該正確結構順序對下一指令封 包之一結構位址進行計算; 另一接收裝置,用以從該指令提取單元接收一第二 指令封包及其相對應之指令封包位址;及 比較裝置,用以對該相對指令封包位址與該結構位 比較其中δ玄第一指令封包只有在該相對位址與該衾士 構位址匹配時才得以將其完成。 18· —種處理器中之分支處理單元,至少包含: at鼻裝置,用以計算指令位址的一正確結構順序; 確認裝置,用以確認指令係根據該正確結構順序在 處理器管線中流動; 終結裝置,以響應該確認裝置,用以在一指令不在 該正確順序時,終結該指令··(及 重新裝置,以響應該終結裝置,以重新根據該正確 結構順序之一位址進行指令提取,以使處理器時間不損 耗’管線破壞也大幅降低。 第24頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) :...........裝.........訂.......:線 ί請先閱讀背面之注意事項再填寫本頁} 544626ABCD 位 管 月包完 ¾濟部智慧財產局員工消費合作社印製1 9 ‘·如申請專利筋图 第18項所述之分支處理單 , =:更::接……接收-與該分支處:: (叫及-指^器㈣、一 t成立之指令提取位址 立疋’其中該扣不位元控制該處理器管 線之一特定階段中之指令是否需加以完成。b 2〇·如申請專利範圍第18項所述之分支處理單元, 認裝置更包含: 八T確 一四位元(腦)暫存器,其中存有指存令 活m指令存活位元與該指令管線之各不同 關;及 改變裝置,用以在指令處理期間改變該指令存活 元之一值,其中該指令存活位元的一第一值能讓在該 線階段之一指令完成,而一第二值則會讓該指令不 成0 21 ·如申請專利範圍第i 8項所述之分支參理單元,其中更 包含一整數管線,其中具有複數個功能階段,包含解 碼、執行及核對階段,其中讀核對階段時進行該結構位 址及該相對應位址之間的比較。 22·如申請專利範圍第20項所述之分支處理單元,其中更 包含: 第25頁 本纸張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 裝 訂 r-- (請先閲讀背面之注意事項再場寫本頁} 544626 ABCD申請專利範圍 計算裝前指另及相對應位址來計算 該結構順序中一下一指令的一位址;及 位址放置裝置,用以將該電腦位址在該核對階段時 放置於一暫存器中。 23.如申請專利範圍第22項所述之分支處理單元,其中比 較裝置更包含決定裝置,用.以決定一將要載入一下一位 址閂鎖器之位址與該管線之執行階段之一指另的一位 址是否相同。 {請先閲讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 第26頁 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/498,931 US6728872B1 (en) | 2000-02-04 | 2000-02-04 | Method and apparatus for verifying that instructions are pipelined in correct architectural sequence |
Publications (1)
Publication Number | Publication Date |
---|---|
TW544626B true TW544626B (en) | 2003-08-01 |
Family
ID=29712381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW089120591A TW544626B (en) | 2000-02-04 | 2000-10-03 | Method and apparatus for verifying that instructions are pipelined in correct architectural sequence |
Country Status (3)
Country | Link |
---|---|
US (1) | US6728872B1 (zh) |
KR (1) | KR100404257B1 (zh) |
TW (1) | TW544626B (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
US9575762B2 (en) | 2013-03-15 | 2017-02-21 | Soft Machines Inc | Method for populating register view data structure by using register template snapshots |
US9632825B2 (en) | 2013-03-15 | 2017-04-25 | Intel Corporation | Method and apparatus for efficient scheduling for asymmetrical execution units |
US9766893B2 (en) | 2011-03-25 | 2017-09-19 | Intel Corporation | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
US9811377B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for executing multithreaded instructions grouped into blocks |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
US9823930B2 (en) | 2013-03-15 | 2017-11-21 | Intel Corporation | Method for emulating a guest centralized flag architecture by using a native distributed flag architecture |
US9842005B2 (en) | 2011-03-25 | 2017-12-12 | Intel Corporation | Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US9858080B2 (en) | 2013-03-15 | 2018-01-02 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US9886416B2 (en) | 2006-04-12 | 2018-02-06 | Intel Corporation | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US9898412B2 (en) | 2013-03-15 | 2018-02-20 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US9921845B2 (en) | 2011-03-25 | 2018-03-20 | Intel Corporation | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US9934042B2 (en) | 2013-03-15 | 2018-04-03 | Intel Corporation | Method for dependency broadcasting through a block organized source view data structure |
US9940134B2 (en) | 2011-05-20 | 2018-04-10 | Intel Corporation | Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines |
US9965281B2 (en) | 2006-11-14 | 2018-05-08 | Intel Corporation | Cache storing data fetched by address calculating load instruction with label used as associated name for consuming instruction to refer |
US10031784B2 (en) | 2011-05-20 | 2018-07-24 | Intel Corporation | Interconnect system to support the execution of instruction sequences by a plurality of partitionable engines |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US10169045B2 (en) | 2013-03-15 | 2019-01-01 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
US10191746B2 (en) | 2011-11-22 | 2019-01-29 | Intel Corporation | Accelerated code optimizer for a multiengine microprocessor |
US10228949B2 (en) | 2010-09-17 | 2019-03-12 | Intel Corporation | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
US10521239B2 (en) | 2011-11-22 | 2019-12-31 | Intel Corporation | Microprocessor accelerated code optimizer |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080177990A1 (en) * | 2007-01-19 | 2008-07-24 | Mips Technologies, Inc. | Synthesized assertions in a self-correcting processor and applications thereof |
US9417941B2 (en) * | 2014-05-21 | 2016-08-16 | Freescale Semiconductor, Inc. | Processing device and method of executing an instruction sequence |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4991080A (en) * | 1986-03-13 | 1991-02-05 | International Business Machines Corporation | Pipeline processing apparatus for executing instructions in three streams, including branch stream pre-execution processor for pre-executing conditional branch instructions |
US5222240A (en) * | 1990-02-14 | 1993-06-22 | Intel Corporation | Method and apparatus for delaying writing back the results of instructions to a processor |
US5542109A (en) * | 1994-08-31 | 1996-07-30 | Exponential Technology, Inc. | Address tracking and branch resolution in a processor with multiple execution pipelines and instruction stream discontinuities |
US5799167A (en) * | 1996-05-15 | 1998-08-25 | Hewlett-Packard Company | Instruction nullification system and method for a processor that executes instructions out of order |
KR100244472B1 (ko) | 1997-05-15 | 2000-08-01 | 김영환 | 분기예측회로 |
US6189092B1 (en) | 1997-06-30 | 2001-02-13 | Matsushita Electric Industrial Co., Ltd. | Pipeline processor capable of reducing branch hazards with small-scale circuit |
US5954814A (en) * | 1997-12-19 | 1999-09-21 | Intel Corporation | System for using a branch prediction unit to achieve serialization by forcing a branch misprediction to flush a pipeline |
US6279100B1 (en) * | 1998-12-03 | 2001-08-21 | Sun Microsystems, Inc. | Local stall control method and structure in a microprocessor |
-
2000
- 2000-02-04 US US09/498,931 patent/US6728872B1/en not_active Expired - Fee Related
- 2000-10-03 TW TW089120591A patent/TW544626B/zh not_active IP Right Cessation
-
2001
- 2001-01-31 KR KR10-2001-0004490A patent/KR100404257B1/ko not_active IP Right Cessation
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11163720B2 (en) | 2006-04-12 | 2021-11-02 | Intel Corporation | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
US10289605B2 (en) | 2006-04-12 | 2019-05-14 | Intel Corporation | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
US9886416B2 (en) | 2006-04-12 | 2018-02-06 | Intel Corporation | Apparatus and method for processing an instruction matrix specifying parallel and dependent operations |
US9965281B2 (en) | 2006-11-14 | 2018-05-08 | Intel Corporation | Cache storing data fetched by address calculating load instruction with label used as associated name for consuming instruction to refer |
US10585670B2 (en) | 2006-11-14 | 2020-03-10 | Intel Corporation | Cache storing data fetched by address calculating load instruction with label used as associated name for consuming instruction to refer |
US10228949B2 (en) | 2010-09-17 | 2019-03-12 | Intel Corporation | Single cycle multi-branch prediction including shadow cache for early far branch prediction |
US9766893B2 (en) | 2011-03-25 | 2017-09-19 | Intel Corporation | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
US9842005B2 (en) | 2011-03-25 | 2017-12-12 | Intel Corporation | Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US9990200B2 (en) | 2011-03-25 | 2018-06-05 | Intel Corporation | Executing instruction sequence code blocks by using virtual cores instantiated by partitionable engines |
US10564975B2 (en) | 2011-03-25 | 2020-02-18 | Intel Corporation | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US9921845B2 (en) | 2011-03-25 | 2018-03-20 | Intel Corporation | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US11204769B2 (en) | 2011-03-25 | 2021-12-21 | Intel Corporation | Memory fragments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US9934072B2 (en) | 2011-03-25 | 2018-04-03 | Intel Corporation | Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines |
US10372454B2 (en) | 2011-05-20 | 2019-08-06 | Intel Corporation | Allocation of a segmented interconnect to support the execution of instruction sequences by a plurality of engines |
US10031784B2 (en) | 2011-05-20 | 2018-07-24 | Intel Corporation | Interconnect system to support the execution of instruction sequences by a plurality of partitionable engines |
US9940134B2 (en) | 2011-05-20 | 2018-04-10 | Intel Corporation | Decentralized allocation of resources and interconnect structures to support the execution of instruction sequences by a plurality of engines |
US10191746B2 (en) | 2011-11-22 | 2019-01-29 | Intel Corporation | Accelerated code optimizer for a multiengine microprocessor |
US10521239B2 (en) | 2011-11-22 | 2019-12-31 | Intel Corporation | Microprocessor accelerated code optimizer |
US9886279B2 (en) | 2013-03-15 | 2018-02-06 | Intel Corporation | Method for populating and instruction view data structure by using register template snapshots |
US10275255B2 (en) | 2013-03-15 | 2019-04-30 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
US9934042B2 (en) | 2013-03-15 | 2018-04-03 | Intel Corporation | Method for dependency broadcasting through a block organized source view data structure |
US9904625B2 (en) | 2013-03-15 | 2018-02-27 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US10140138B2 (en) | 2013-03-15 | 2018-11-27 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US10146548B2 (en) | 2013-03-15 | 2018-12-04 | Intel Corporation | Method for populating a source view data structure by using register template snapshots |
US10146576B2 (en) | 2013-03-15 | 2018-12-04 | Intel Corporation | Method for executing multithreaded instructions grouped into blocks |
US10169045B2 (en) | 2013-03-15 | 2019-01-01 | Intel Corporation | Method for dependency broadcasting through a source organized source view data structure |
US9898412B2 (en) | 2013-03-15 | 2018-02-20 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US10198266B2 (en) | 2013-03-15 | 2019-02-05 | Intel Corporation | Method for populating register view data structure by using register template snapshots |
US9891924B2 (en) | 2013-03-15 | 2018-02-13 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US10248570B2 (en) | 2013-03-15 | 2019-04-02 | Intel Corporation | Methods, systems and apparatus for predicting the way of a set associative cache |
US10255076B2 (en) | 2013-03-15 | 2019-04-09 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
US9965285B2 (en) | 2013-03-15 | 2018-05-08 | Intel Corporation | Method and apparatus for efficient scheduling for asymmetrical execution units |
US9569216B2 (en) | 2013-03-15 | 2017-02-14 | Soft Machines, Inc. | Method for populating a source view data structure by using register template snapshots |
US9858080B2 (en) | 2013-03-15 | 2018-01-02 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US10503514B2 (en) | 2013-03-15 | 2019-12-10 | Intel Corporation | Method for implementing a reduced size register view data structure in a microprocessor |
US9823930B2 (en) | 2013-03-15 | 2017-11-21 | Intel Corporation | Method for emulating a guest centralized flag architecture by using a native distributed flag architecture |
US10552163B2 (en) | 2013-03-15 | 2020-02-04 | Intel Corporation | Method and apparatus for efficient scheduling for asymmetrical execution units |
US9811342B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for performing dual dispatch of blocks and half blocks |
US9811377B2 (en) | 2013-03-15 | 2017-11-07 | Intel Corporation | Method for executing multithreaded instructions grouped into blocks |
US10740126B2 (en) | 2013-03-15 | 2020-08-11 | Intel Corporation | Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation |
US9632825B2 (en) | 2013-03-15 | 2017-04-25 | Intel Corporation | Method and apparatus for efficient scheduling for asymmetrical execution units |
US9575762B2 (en) | 2013-03-15 | 2017-02-21 | Soft Machines Inc | Method for populating register view data structure by using register template snapshots |
US11656875B2 (en) | 2013-03-15 | 2023-05-23 | Intel Corporation | Method and system for instruction block to execution unit grouping |
Also Published As
Publication number | Publication date |
---|---|
US6728872B1 (en) | 2004-04-27 |
KR100404257B1 (ko) | 2003-11-03 |
KR20010078183A (ko) | 2001-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW544626B (en) | Method and apparatus for verifying that instructions are pipelined in correct architectural sequence | |
CN104169869B (zh) | 比较具有终止字符的字符数据集 | |
CN104205067B (zh) | 将数据载入直到由指令所指示的指定存储器边界的指令 | |
CN104169868B (zh) | 用于在中央处理单元中执行机器指令的方法和系统 | |
US9229746B2 (en) | Identifying load-hit-store conflicts | |
CN104169870B (zh) | 用于复制数据集的方法和计算机系统 | |
TWI223196B (en) | Method, apparatus, and system for exception handling in a pipelined processor | |
TWI352899B (en) | Method and system to indicate an exception-trigger | |
TW200905566A (en) | System comprising a plurality of processors and method of operating the same | |
TW448403B (en) | Pipeline data processing device and method for executing multiple data processing data dependent relationship | |
TWI354929B (en) | Method and computer program product for executing | |
EP0677188A1 (en) | SYSTEM AND METHOD FOR ASSIGNING LABELS TO INSTRUCTIONS TO CONTROL THE EXECUTION OF INSTRUCTIONS. | |
EP1852781A1 (en) | Compare, swap and store facility with no external serialization | |
US10223117B2 (en) | Execution flow protection in microcontrollers | |
US5053986A (en) | Circuit for preservation of sign information in operations for comparison of the absolute value of operands | |
US6237083B1 (en) | Microprocessor including multiple register files mapped to the same logical storage and inhibiting sychronization between the register files responsive to inclusion of an instruction in an instruction sequence | |
US6266763B1 (en) | Physical rename register for efficiently storing floating point, integer, condition code, and multimedia values | |
US20060168485A1 (en) | Updating instruction fault status register | |
CN101438236A (zh) | 用以在微处理器内组合来自多个寄存器单元的对应半字单元的方法及系统 | |
TWI220960B (en) | Locking source registers in a data processing apparatus | |
KR20010053623A (ko) | 명령들의 철회시 물리적인 레지스터들을 선택적으로자유롭게 사용하도록 구성된 프로세서 | |
US7051146B2 (en) | Data processing systems including high performance buses and interfaces, and associated communication methods | |
US8732437B2 (en) | Low-overhead misalignment and reformatting support for SIMD | |
CN116194885A (zh) | 微处理机存储指令的融合 | |
TW494360B (en) | Instruction fetch unit in a microprocessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |