TW306987B - - Google Patents
Download PDFInfo
- Publication number
- TW306987B TW306987B TW082107359A TW82107359A TW306987B TW 306987 B TW306987 B TW 306987B TW 082107359 A TW082107359 A TW 082107359A TW 82107359 A TW82107359 A TW 82107359A TW 306987 B TW306987 B TW 306987B
- Authority
- TW
- Taiwan
- Prior art keywords
- register
- address
- general
- item
- control word
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 14
- 210000004556 brain Anatomy 0.000 claims description 9
- 238000012423 maintenance Methods 0.000 claims description 2
- 239000000463 material Substances 0.000 claims description 2
- 238000004064 recycling Methods 0.000 claims 2
- 241000282461 Canis lupus Species 0.000 claims 1
- 229910052692 Dysprosium Inorganic materials 0.000 claims 1
- 241000404975 Synchiropus splendidus Species 0.000 claims 1
- 238000012550 audit Methods 0.000 claims 1
- 235000013405 beer Nutrition 0.000 claims 1
- 239000011449 brick Substances 0.000 claims 1
- KBQHZAAAGSGFKK-UHFFFAOYSA-N dysprosium atom Chemical compound [Dy] KBQHZAAAGSGFKK-UHFFFAOYSA-N 0.000 claims 1
- 239000008539 xiaoyao Substances 0.000 claims 1
- 238000012217 deletion Methods 0.000 abstract description 5
- 230000037430 deletion Effects 0.000 abstract description 5
- 238000004364 calculation method Methods 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 10
- 238000013519 translation Methods 0.000 description 6
- 230000014616 translation Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000002079 cooperative effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000009514 concussion Effects 0.000 description 2
- 229930195733 hydrocarbon Natural products 0.000 description 2
- 150000002430 hydrocarbons Chemical class 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- VOXZDWNPVJITMN-ZBRFXRBCSA-N 17β-estradiol Chemical compound OC1=CC=C2[C@H]3CC[C@](C)([C@H](CC4)O)[C@@H]4[C@@H]3CCC2=C1 VOXZDWNPVJITMN-ZBRFXRBCSA-N 0.000 description 1
- 241001246949 Pteralyxia kauaiensis Species 0.000 description 1
- 206010041349 Somnolence Diseases 0.000 description 1
- 241000209140 Triticum Species 0.000 description 1
- 235000021307 Triticum Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 238000012546 transfer Methods 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
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- 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/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Holo Graphy (AREA)
- Earth Drilling (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
- Lubricants (AREA)
- Steroid Compounds (AREA)
Description
A7 B7 * 3C6987 五、發明说明(/ ) 玆明背署 本發明廣言之係顒於霣腦架構。尤其特別的是*本發明 係針對超大規棋®腦内之暫存器之架構和使用。 霣腦架構之進化已由廣為接受之精籣指令集計算 (RISC)姐態轉移至超大規模電腦架構。此種超大規棋霣腦 架構之特色為具有經由多俚暫存器和控制機制加以整合之 多重且可並行埋算之執行單元。本架構之目檷是利用平行 架構K最大化每一時間間隔内可由多重執行單元並行處理 之指令数巨並確保程式師定義之指令執行次序反映在输出 上。例如,控制機制必須處理由多重執行單元並行處理之 資料間之相依性•控制機制必須確保在有精確中斷和重始 之下順序性之完整得Μ維持,和控制機制必須提供指令脚 除能力•例如指令定義分支運算所霈之•而仍保持程式執 行之整體次序。在設法達成目棟途中總是不忘最小化電子 設備數目和複雜度之商業目標,其中就超大規棋架構而言 流行慣例為降低暫存器之大小和容量及用做®路間之控制 和資料傅输之字组之位元大小。 已有多種架構被設計出來Μ便處理指令之不依序執行。 描述於美國專利第4,722,049號之架構和埋算棋態是一範 例,而該架構通常將一佇列内之指令重新排序以最佳化— 純悬/向量對執行單元之使用。名稱為"The Me taflow Architecture”之論文描述一更相闢之架構和使用方法, 而該論文之作者為Popescu等人且刊於IEEE Micro.之 1991年6月號。此論文就特色為指令不依序執行之問題提 本纸張尺度適用中國國家標準(CNS ) A4規格(210X 297公釐) 丨^---^------裝------訂------線 (請先W讀背面之注意事項再填寫本頁) 經濟部中央標準局負工消费合作社印製 A7 B7 - 306987 五、發明説明(义) 供一當代超大規棋架構原理之概論。此論文之作者們也提 供他們之不依序指令處理器建構之基礎原理且該處理器是 由多重執行單元姐成,此架構利用一存架(shelving)概念 K便選擇性延滞指令之處理而達成使指令结果反映程式師 所定義之次序之基本目棟。Patterson等人所著之軎 Computer Architecture A Quantitative Approaoh ·著 作權1990年,描述另二種技術,通常稱為記分板法 (scoreboarding)和動態排程之Tonasulo演算法。美Η専 利第4,992,938號藉由範例提出並展示第三種技術。因此 *雖然使用多重執行單元之不依序指令執行之好處已受肯 定,但達成這些目檷之架構和方法仍待改進以符合業界要 求0 限制超大規棋架構和實施之基本限制之範例包含由多重 紈行單元並作處理之資料間之相依性之處理•處理精確中 斷和重始並同時維持順序性之完鏊之能力•和為分支或類 似目的而埋擇性黼除抱令能力◊雖然這些特色都可達到, 但迄今複雑度和硬13成本一直都很高。例如,烴由實施存 架或預留之指令處理延滞,如先前技術所述,不僅需要用 Κ控制指令選擇性釋出之資源堪需要大悬記憶體Μ貯存指 令。另外,先前技術使用相Μ於存架或預留指令他們本身 或控制資源之資訊會由於執行單元之貯存和處理而大1¾ 加控制字姐之大小。因此,仍需專找一超大規模架構且在 其中多重執行單元利用最少之記憶《暫存器和控制資源並 行處理不依序指令。 -4 - 本紙張尺度適用中國國家標準(CMS ) A4規格(210X297公釐) IJ---------'^------ΪΤ------# (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印製 A7 B7 * SCG287 五、發明説明(_3 ) 窃明相I里 本發明定義一逋合並行和不依序執行多重指令之超大規 棋罨腦架構。多個可獨立埋作之執行單元完成控制字姐定 義之運算。相Μ於指配給各個紈行單元之控制字姐之#源 和目的資訊是由暫存器請取或寫入暫存器且其是《由位址 處理而再利用以回懕控制字姐之執行狀態。控制字姐位址 之有序配置免除反相依性問題,確保顒序性之完整,並以 與输入指令次序相符之方式處理資料相依性。 根據一吹佳建構,本發明構思一由多重執行單元组成之 架構且該等執行單元會在執行單元變成可用時回懕倨別但 連績配送之控制字姐。利用多重Μ入指令並行姐成多重控 制字姐。各控制字姐都包含碰撞向量表指檷資訊,指令邇 算碼資訊,目的位址資訊,和複來涯位址資訊。在由输入 指令次序定義之控制字姐執行之後•立即再利用用來貯存 要加Μ執行之資料之暫存器之位址。資料相依性是經由在 貯存目的資料之通用暫存器内使用鎖定位元來加Μ處理。 使用多霣重新命名暫存器Μ及一或更多倨碰摑向量表Μ最 少化通用暫存器數目和免除連績指令間之反相依性。《由 碰撞向量表之暫存器位址再利用包含用Μ確保釋放暫存器 位址次序相同於输入指令次序之資源。因此•精確中斷和 分支相W指令刪除所需之順序性之完整可在本架構之《制 下完成。 _ 在考盧«後之詳细說明後,本發明之這些和其他特黏將 麥得更明顦。 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) _ 裝 i II 务 (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消费合作社印製 經濟部中央標準局員工消费合作社印製 A7 B7 * 五、發明説明() 附圜ffif谏 圖1是一先前技術多重執行單元架構之高層次示意方塊 画。 圔2是本架構之暫存器和執行單元之一較佳建構之示意 方塊圈。 醒3是描述控制宇姐之形成之功能示意麵。 鼸4是描述根據本發明相W於暫存器再利用之作用之功 能示意圈。 圔5A,5P *和5C—起利用示意涑程匾描述具有本發明特 色之方法。 晒6-25示意顯示處理一姐示範指令之示範系統之暫存器 内含。 鲛佳奮例銳明 超大規棋架構型電腦和工作站之好處和限制為吾人所熟 知。因此•技術界一直都在探討可同時滿足實體限制並最 大化資料處理率之架構。具有可以程式所定義之序列次序 並行處理涸別指令之多重執行單元是超大規横架構之基礎 。此一超大規棋架構之艙入是具有經定義之次序之一姐指 令,且當滿足該次序時可導致符合程式師目檷之一姐轤出 。因此,在一高«次超大規棋架構會回應一有序輪入且必 須產生由該次序内之元件加以限制之输出。 超大規棋處理器會因指令之不依序執行而產生一些問屈 。此種問題之一是資料相依性,其中一執行單元之»出由 指令定義成另一執行單元之输入。超大規棋處理器之另一 本纸張尺度適用中gg家標準(CNS ) A4規格(210X297公釐) ^ 裝 訂 線 (請先M讀背面之注意事項再填寫本頁) S06987五、發明说明() A7 B7 * 經濟部中央標準局員工消費合作社印製 問題常稱為資料反相依性•其中各執行單元以與指令發出 次序不同之次序完成他們倨別之指令。超大規棋處理器會 遭通之第三種問®是關於受指令願序外之作用影W之顧序 性之完整。例如,處理器必須能夠處理稍確中斷,所諝精 確指的是指令输出之次序一定不能因中斷或牽涉一或多傾 指令之刪除之分支理算而改變。因此,有意義之超大規棋 架構必須不僅包含許多可並行浬作之執行單元*而且必須 管理指令之處理Μ確保由程式師定義之次序和内容在處理 器之所有撤作條件下都保持不變。 圈1顯示一建構超大規棋概念之處理器架構之範例。埴 些方塊展示由IBM公司製造和商業銷售之RISC Systen/ 6000工作站內所使用之架構。主記憧《1連接指令快取記 憶體2和資料快取記憶H3 。分支執行箪元4不僅解決分 支理算而且分別傅邋定點和浮點指令至可並行遵作執行單 元6和7 。因此,圈1所描述的是到對定點和浮點指令具 有個別執行單元之程度之超大規棋架構。 將画1超大規横概念延伸成一姐通钃多重執行單元*俚 別能夠執行定點,浮點和分支運算*代表當代《腦設計者 目前探討之途徑。前述由Popescu等人所著之IEEE Micro諭文描述一種處理方法。該論文描述一種稱為 DRIS之超大規棋架構。DRIS是由用Μ描寫功能之延滞排程 暫存器重新命名指令存架(deferred scheduling register renaning instruction she If)推導而得之頭字 語。此架構利用在输入和檐出之指令延滯或存架來處理資 ; . .裝 I I i I訂 I 务 (請先閏讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CNS ) A4规格(210X297公釐) 經濟部中央標準局員工消費合作社印製 A7 B7 * 五、發明説明() 料性相依性和反相依性。其後存架或級衝之指令在選擇性 指配姶執行單元和為最终退移之排程期間都受到管理。因 為各種相依Μ係都可能發生且指令執行要符合程式師之目 標是基本要求,指令之存架延滯和擷取涉及延伸控制字姐 之產生Κ處理指令狀態和排序。 本發明定義一超大規棋霄腦系統架構且在其中逋當地選 擇和操作執行單元,例如圖1之定點執行單元6和浮點執 行單元7 ,Κ並行執行指令。資料訊號對執行單元之同步 是經由諸蛩存器來實施而諸暫存器是利用一惟一控制字姐 產生器,多重重新命名暫存器· 一可鎖定通用暫存器*和 一碰撞向量表來精明地處理。圖2之高《次功能方塊描寫 此架構。 圈2實例所展示之超大規棋架構牽涉一種一次接收多重 输入指令且接著由多個執行單元中下一可用之執行單元個 別加以處理之®腦。各執行單元都有資源Μ便處理所有之 指令種類。因為通用暫存器通常將有俚別專用於定點和浮 點處理之執行單元且另外將儷別地指配控制字姐*影像處 理器系铳比通用暫存器更可能镰有此種執行單元資源之共 同性。本發明對於兩種處理系统同樣通用。 囫2描述之實例由指令字姐轤入匯流排8 •—逋合並行 傳输4指令之匯流排,接收它的输人。控制字姐產生器9 利用來自碰撞向董表11之指檷位址資訊*來自原始指令之 運算碼資訊·和分別來自重新命名暫存器12和碰搐向量表 11之轉譯來涯和目的位址,以重姐指令。在下文中將參照 本紙伕尺度適用中國國家橾準(CNS ) A4規格(210X297公釐) „ . 裝 訂 線 (請先a讀背面之注意事項再填寫本頁) ^ 82107: 2107359號專利申請案 軎修正頁U5年7月) A7 B7
經濟部中央橾準局員工消費合作社印製 i'發明説明() 闽3描述控制字姐產生之佃節。然後傳送分別由四指令產 生之四控制字姐至控制字姐佇列1 3 Μ便指配給下一可用之 執行單元。執行單元14利用貯存在通用暫存器16定義來源 位址之資料按照佇列定義之次序處理控制字姐。鎖定位元 17*相關於通用暫存器16,Κ類似先前技術之方式控制來 濂和目的資料間之相依性。碰摑向量表11和重新命名暫存 器18間之交互作用便利靨於通用暫存器16之實體位址之適 時再利用並定義一種適合用Μ確保中斷後之執行和分支運 箄後之選擇性刪除之順序性之结構和方法。 第一和第二重新命名暫存器,12和18,在數目上都與糸 统之程式架構可用暫存器相等。在陲後之範例中此數目為 四。16中之通用暫存器數目等於程式架構可用暫存器之缌 和,亦即程式師可用之數目,連同碰搐向量表11之暫存器 數目° 圖3示意描寫控制字姐之產生,而其是在圖2之控制字 組產生器9内完成。四指令都是由一運算碼位元串19*連 同程式定義之第一來源位址21,第二來源位址22,和目的 位址23,所姐成。控制字組產生器内產生之對應控制字姐 位元串包含一重新命名第一來源位址24,一重新命名第二 來源位址26,和一轉譯目的位址27*對應運蓴碼19,和一 碰挿向最表指檷位址28°請注意當霣腦使用延伸指令時, 可能有額外之指令和控制字姐來源*分別為20和25 *重新 命名暫存器12是直接用以重新指配暫存器位址24和26。控 制字姐之碰撞向量表位元串部份是由指定碰撞向量表11内 下一可用列之指樺位址推導而得。一旦被選中,該列包含 本紙張尺度逋用中國國家標準(CNS ) Α4規格(210X297公釐) I ~ 11 n j^衣 — 訂 (請先閲讀背面之注意事項再填寫本頁) 經濟部中央標孪局負工消费合作社印裂 A7 B7 * 五、發明説明() 一寊《位址項目"P” · 一理輯位址項目"L",和至少一俚 结束狀態位元。實《位址項目指定一可用之通用暫存器 16 (H2)。邏輯位址項目對應於原先指令内定義之目的位 址23。结束位元頊目” F”是用Μ控制一指標而該指檷在相 Μ控制字姐執行完畢時會再利用通用暫存器16位址。相W 於目的實體位址之鎖定位元是在17之内而對應實《位址則 是在通用暫存器16之内(圈2)。 應該注意的是控制字組在结構和大小方面都非常類似於 原始指令,.且因此而不需要額外位元以顯示狀態,位置· 相對位置和通常會附加於其他超大規棋指令轉譯之類似資 訊。雖然其他超大規横架構為滿足相依性,反相依性,和 順序性之完整等要求而產生大且複雑之控制字姐以中斷指 令,本發明經由暫存器之精明指配和再利用而達成該等目 檷。 圖4示意顯示用Κ逋當指配位址並管理控制字姐產生, 分配,和退移,之表和暫存器間之交互作用。通用暫存器 (GPR) 16貯存資料並外加使鎖定位元17與其相闞。最好, 碰撞向量表(CVT) 11是由四倨次表姐成且各次表俚別都有 與並行输入指令相同數目之列。通用暫存器位址之再利用 是經由碰撞向置表和重新命名2暫存器18間之交互作用而 達成。顚序性是經由要求目的位址Μ指樣定義次序釋放來 加Μ維持•而該指檷是經由連續碰撞向量表列利用顯示目 的資料為可用且有效之结束位元加Μ索引。 考慮第一個範例。請參照圓4 *當一指令進入時•其, -10 - 本纸張尺度適用中國國家標準(CNS ) Α4規格(210X 297公釐) ----^-----ά------ΐτ------# (請先Μ讀背面之注意事項再填寫本頁) 經濟部中央標準局貝工消费合作社印裂 A7 B7 ' 五、發明説明() 與其它指令同時,受到重新命名1暫存器12之處理。如圈 所示,來源1和來源2位址,原始指定成1和2 ,受到轉 譯。结果位址為1和2是因為重新命名1暫存器是如此啟 始的。相對地,經由碰摑向霣表轉譯第一可用之實雅位址 32被指配給原始目的〇位址,且接著導致寅艚位址32被放 入重新命名1内緊臨原始目的0理輯位址之位置·及通用 暫存器17内緊臨指配之實體位址之鎖定位元之設定。此時 ,因這些作用而產生之控制字姐是由一指向第一碰撞向ft 表内之第一·列之碰撞向董表指檷*原始埋算碼* —目的位 址32,一為2之來源1位址和一為1之來源2位址,所姐 成。此控制字姐進入控制字姐佇列13並利用一相翮之有效 旗檷顯示其可為執行單元所用。在受指配此控制字姐之執 行單元完成指定運算時,重置佇列内相W於該項目之有效 旗標。 暫存器再利用和顒序性控制是經由碰撞向躉表11和重新 命名2暫存器18之交互作用而達成。因為碰撞向量表之次 序反映原先由程式師定義之指令次序*索引至碰撞向量表 之指檷可確保控制字姐退移與指令之原始次序一致。此指 檷索引並回應一顯示控制字姐埋算已完成之结束行之位元 。雖然當執行單元完成指配之控制字姐時會設定此位元, 只有當所有在表項目定義之原始指令系列中位於其前之控 制字姐都已執行時指檷之索引才會發生。一结束位元自结 束行退移也啟始一碰撞向JS表和重新命名2暫存器間之位 址互換,以致原先在討論中之碰撞向董表列之實«位置之 -11 - 本紙張尺度適用中國國家橾準(CNS ) A4说格(210X297公釐) I.--------裝------訂------線 (請先閏讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消费合作社印装 A7 _B7"_ 五、發明説明() 位址與重新命名2暫存器内對應於碰摘向遒表内之埋輯位 址之位址互換。謫參看圓4右下區域之示意描寫。因此· 通用暫存器位址受到再利用。鎖定和釋放通用暫存器之目 的暫存器可在相依性存在時確保一致性。以输入指令原始 次序為基礎之暫存器有序再利用可確保順序性。 圖5A* 5B和5C姐合之流程圖描述一種用來埋作超大規棋 架構霣腦以便不依序執行指令之方法之各步驟。在提取多 重指令之後·利用重新命名暫存器1重新命名來源暫存器 ,隨後接著、利用來自碰撞向量表下一可用列之實體項目之 位址重新命名目的暫存器並同時输入原始目的暫存器位址 至對應碰撞向董表列之理輯項目。新目的位址也输入至重 新命名2暫存器,且鎖定通用暫存器之實體位址。然後將 重新命名之來涯和目的位址與碰撞向董表位址資訊和理算 碼结合Μ姐成控制字姐。將控制宇姐放入佇列且配送至下 一可用之執行單元。當所有相Μ之來源位址都獲釋放時執 行單元之處理才開始。將執行單元之结果寫入重新命名之 目的暫存器且接著釋放該等暫存器。將碰撞向量表和重新 命名2暫存器位址互換以便再利用通用暫存器位址。對接 績之指令重覆此過程。 下一範例就一特定姐競爭指令和特定資料詳细描述暫存 器位址之重新命名和再利用。此範例所用之通用暫存器數 目,碰撞向量表,執行單元*每遇期提取之指令等等,只 是用作示範。此架構可支援任何數目之這些資源。加,除 和乘指令也是選來作為示範。 -12 - 本紙張尺度適用中國國家標準(CNS ) Α4規格I: 210Χ 297公釐) (請先閱讀背面之注意事項再填寫本頁) -裝. 訂 經濟部中央標準局員工消费合作社印製 號專利申請案 中文說明寄修正頁(85年7月)A7 _______B7___ 五、發明说明() 如首先示於圖6 ,此範例包含主或快取記憶艏29之一部 份,由位址a〇開始而延伸至a7,且各位址都有一指令。一 提取單元(未加以顯示)每時鐘遇期自記憶骽取得4指令並 指明提取之指令在兩項目表31内之方塊位址。因為此範例 只有二碰撞向量表所K只需要二項目。重新命名表12和 18各有4項目而項目之位址是由〇〇至〇3。只有4項目是因 為此特定示範霉腦之架構是定義成有4程式架構可用暫存 器•且因此允許程式師只使用暫存器R0-R3來寫入指令。 控制字組產生器9自每個指令產生一控制字姐,如圖3所 示。指令佇列1 3是用K貯存控制字姐之4項目深緩衝器。 此深度也可是任意值。 執行單元1實行相加和相乘。其需要〗時鐘週期以讀取 控制字姐和1時鐘週期以相加和寫回结果。假若是相乘, 其箱要1時鑲遇期κ便讀取及2時鐘週期Μ便執行相乘且 將结果寫回實際貯存此資料之通用短存器〗6。執行單元2 實行相除。其需要1時鏡週期以便讀取和6時鐘遇期以便 完成相除運算及寫回结果。執行單元3實行相乘。其需要 1時鐘週期Μ便讀取控制字姐和2時鐘遇期以便完成相乘 運算及寫回結果。 通用.暫存器16具有12項目。4個是所需而其他8項目則 是用於重新命名。如前所述,此棰暫存器之數目等於糸統 程式架構可用暫存器之缌和(數目為4)加上碰撞向量表項 目之數目(二表各有4項目)。所有項目都貯存資料。此範 例使用兩碰榷向最表1〗,且各有4項目以便每時鐘週期處 珲4控制字姐,如此範例所定義,第—碰撞向量表之基本 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ297公釐) 丨:---------:丨裝------訂------ΓΑ 一. (錡先聞讀背面之注意畜‘項再填寫本頁) 經濟部中央標準局負工消費合作社印装 A7 _B7J_ 五、發明説明() 制字姐,如此範例所定義,第一碰撞向量表之基本位址為 0 ,而另一碰撞向霣表之基本位址為1 *進入各碰撞向量 表個別列之項目是定位成00至13·而最高有效位元對應碰 撞向董表基本數。各碰撞向量表列項目都有三檷* 一檷用 Μ為重新命名保存實體位址·第二檷用以保存原始指令定 義之程式師架構型暫存器位址*而第三橘則為此特定建構 保存所箱之旗檷或顯示器。在此範例中有三届旗檷位元, 個別可顯示該項目是在使用中,指令已執行,及指令巳導 致中斷。實、體項目是利用位址0 4至11加Κ啟始*而由碰撞 向量表0之項目0開始且延伸至碰撞向量表1之項目3 。 這些位址(04-11)連同首先由重新命名1(0 0-03)指SB之位 址涵蓋通用暫存器內所有可用之十二位址(00-11)。 此範例由圈7之啟始暫存器狀態開始。目標是引導指令 通過此架構且因此檢視指令如何通過此糸铳。資料已戧入 通用暫存器00至03且值依序為123 ,45*61和100 。因為 提取單元每時鐘遇期提取4指令,該提取自位址aO取得一 加指令及自隨後之記憶體位置取得三N〇〇p(無指令)。 加指令是:R3C-R1 +R2。 根據此加指令•第一暫存器(01)之内含必須加上第二暫 存器(0 2)之内含,而结果則存入第三暫存器(03)。程式師 利用他或她知道之四架構型通用暫存器01-03來定義此指 令。在此指令執行完畢時,對由於R3之通用暫存器之内含 必須包含106這個數值,而其為45和61之和,毎個時鐘週 期都有事件發生。 -14- 本紙張尺度適用中國國家橾準(CNS ) A4規格(210X297公釐) -----一------¾冬------1T------線. (請先閔讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消费合作社印裝 A7 B7 五、發明説明() 在第一時脈,提取單元取得開始於aO之四指令姐。也選 定第一可用之碰撞向量表(碰撞向最表0)。將提取單元位 址表項目00之旗檷設為1以顯示在使用中,且输入記憶« 位址aO。提取記憶體位置a〇-a3内之指令。 在第二時脈,控制字姐產生埋輯自每個指令產生一控制 字姐。指配碰撞向Μ表0給此四指令;第一指令(加指令 )使用項目0而後續三指令(Noop指令)使用項目1 .2和 3 ° 第一指令、之控制字姐是遵循展示於圈3闞於碰撞向量表 位址*運算碼,目的位址和來源位址之程序而產生。現在 請參看圃8 。碰撞向董表禰取得指配給此指令之碰撞向霣 表基本數和列數。因為碰撞向量表基本數為0且列數為0 •此欄麥成00。控剌字姐之埋算碼櫊將包含原始之加指令 而無變化。目的位置使用碰撞向量表00列項目賁體檷内之 值,其為04,且將原始目的數03放入碰撞向量表列之理輯 項目。利用重新命名1暫存器重新命名來源暫存器。藉由 利用R1和R2作為至重新命名表之位址,使用現存項目Μ取 代R1和R2來源項目。在此範例中· R1取得〇1這俚值而R2取 得02這倨值。 原始指令使用目的位址R3。因為現在控制字組之目的項 目由碰撞向童表位址00指定成通用暫存器位址04 ·將04暫 存器位址放入重新命名1表之項目。也鎖定通用暫存器 實體位置04。碰撞向最表0項目〇賴由其旗檷項目之第— 位元標示成佔用中。其他三指令不會產生控制字姐因為他 -15 - 本紙張尺度適用中國國家標準(CNS ) Α4规格(210Χ297公釐) ----^-----Τ I裝------訂------線 (請先W讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消费合作社印裝 Μ Β7 ' 五、發明説明() 們是Noop。 時鐘週期3配送控制字姐至執行單元。如果執行單元不 在忙碌中,他們會直接由控制字姐產生器取得控制字姐。 如果他們忙著執行其他指令,控制字姐會貯存在控制宇姐 佇列直到一或更多執行單元成為可用為止。請參看B9 , 其中控制字姐是貯存在控制字姐佇列。 在時鏡週期4 ,執行單元1取得控制字姐,將其解磚, 及接著自通用暫存器之實體位置讀取位址指明之資枓。如 圖10所示,、來涯位置01和02分別具有資料45和61。 在時鐘遇期5 ,如圖11所述,將執行單元1内相加之结 果106寫入通用暫存器之目的位g,而就此控制字姐其為 04,且將相闞於此位置之鎖定位元轉換成〇 。將碰撞向量 表0項目0结束旗檷位元轉換成1 。 時鐮週期6啟始對第一姐4指令之最後理算。啟始狀態 顯示於圖11且在结束時轉變成画12内之狀態。碰撞向量表 項目00之结束旗檷啟始使用對應理輯項目03作為指向重新 命名2内一列之指檷。重新命名2之列03也包含位址03。 請參看11。將實雅項目位址04和重新命名2暫存器列03内 含位址03加以互換。在互換後•碰撞向量表〇列項目〇實 體位置包括位址03,而重新命名2之列03包含位址04。請 參看圖12。令提取單元之位址表項目〇為〇 Μ顯示碰摑向 霣表0不再在使用中。此结束在第一次提取期間取得之指 令之執行。 指令之结果資料106是在經由重新命名2暫存器位址轉 -16 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) . I -裝 I I I 訂 I— I 線 (請先閏讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印製 Λ 第8 2 1 Ο 7 3 5 9號專利申請案 06987 μ 中4文說明書修正頁U 5年7月)Α/ Β7 五、發明説明() 譯而定義之程式架構可用暫存器R3中而該位址轉譯將位址 03 轉 譯 成 —"* 實 際 通 用 暫 存 器 位 址 04 〇 所 提 取 之 下 一 姐 4 指 令 是 如 圖 33所 示 ο 此 姐 指 令 將 展 示 一 些 危 險 及 此 架 構 如 何 解 決 他 們 0 為 此 原 因 記 憶 體 内 之 後 4 指 令 涉 及 相 除 » 相 乘 » 相 乘 和 相 加 > 之 混 合 0 .這 iJth 指 自 位 址 a 4 開 始 而 延 伸 至 a7 0 下 面 是 這 xtb 指 令 9 而 數 值 结 果 則 在 括 弧 内 R0 < - R1 / R2 . .(R0 = 045 / 061 = * 74) R3 < - R2 R0 · .(R3 = 061 74 = 45 · 14) R0 < - R 1 >κ R2 · .( R0 = 045 061 = 2745 ) R3 < - R2 + R 1 . .(R3 = 061 + 045 = 106 ) 第 - 指 令 是 一 多 週 期 指 令 而 其 需 要 6 時 鐘 週 期 便 執 行 及 將 结 果 寫 回 通 用 暫 存 器 〇 第 二 指 令 也 是 一- 多 週 期 指 令 > 但 執 行 Ρ 需 要 2 時 鐘 週 期 〇 這 兩 個 指 令 間 有 一 危 險 存 在 0 第 二 指 今 之 來 源 之 一 是 第 一 指 令 之 巨 的 (结果) 〇 因 此 有 一 寫 之 後 請 (RAV) 危 險 存 在 〇 第 指 令 在 第 一 指 今 结 束 及 寫 回 结 果 之 前 一 定 不 能 開 始 讀 取 〇 本 架 構 解 決 此 危 險 而 無 需 在 所 有 執 行 單 元 間 通 訊 > 無 需 比 較 運 算 元 9 無 需 在 諸 執 行 單 元 間 檢 査 且 甚 至 無 需 建 構 存 架 法 0 第 二 指 令 也 是 一 多 週 期 指 令 而 其 執 行 需 要 2 時 鐘 週 期 〇 此 指 今 有 兩 種 不 同 之 危 險 0 第 一 個 是 讀 之 後 寫 (WAR ) i 在 其 中 執 行 單 元 可 在 第 二 指 令 白 R〇m 取 其 來 源 之 前 產 生 -* 结 果 (R0) 並 將 其 寫 回 通 用 暫 存 器 0 若 此 發 生 9 第 二 指 令 將 諝 取 錯 誤 資 料 0 第 二 個 危 險 是 寫 之 後 寫 (w a y) 危 險 Λ 因 為 第 -17 - ----^--------^------1Τ------} (請先閱讀背面之注意事項再填寫本頁) 本紙張尺度適用中國國家標準(CMS ) Α4規格(210Χ297公釐) A7 B7 * 五、發明説明() 一指令和第三指令具有相同之目的。第三指令可能在第一 指令之前结束且因此在暫存器R0之结果資料内造成錯誤。 表A說明在無措誤下四暫存器在各指令结束時之狀態。 啟始 狀應 除第一 掐合 乘第二 相合 乘第三 拖合 加第四 拖合 R0 123 .74 .74 2745 2745 R1 45 45 45 45 45 R2 61 61 61 61 61 R3 106* 106 45.14 45.14 106 表A 在四指令结束時,各暫存器應包含下列各值: R0 = 2745 經濟部中央標準局員工消费合作社印袈 R1 = 045 R2 = 061 R3 = 106 在第一時K ·提取單元前進至記憶《内之後縝4指令, 由位址a4開始而延伸至a7。 此組四指令使用碰撞向量表1 *因為其為下一可用之碰 撞向量表。多重碰撞向董表之使用,在實際應用中可能為 四或更多•允許連績提取之並行遲算,例如一提取後之暫 存器配置比較,重新命名之暫存器之指配,及位址之最後 互換以再利用暫存器。將位址a 4放入此提取單元之位址表 ,圈13之方塊31,以便抱明相Μ於碰撞向量表1之4指令 姐。 -----------裝------訂------線 (請先閏讀背面之注意事項再填寫本頁) -18 - 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ 297公釐) 經濟部中央標準局員工消費合作社印製 A7 B7 . 五、發明说明() 在時鐘遇期2 ,利用首先參照圈3加Μ描述之程序並遵 循臞5a-5c流程圓所描述之方法為各指令產生控制字姐。 相闞於此4控制字姐之產生之影響已俚別展示於臞14a-14d Μ將困怒降至最低。在正常情況下瑄些會在單一時鑪 遇期内發生。各抱令之位址移動是«由圈δ所述產生之虚 線加以展示。最後控制字姐在烴由圖14d之碰撞向量表1 轉譯後出現在控制字姐產生器。碰攛向最表1反映埋輯位 址項目及使用中旗檷之設定。重新命名1反映暫存器R0-R3之最後縳譯。時鏤週期3將4控制字姐傳至控制字姐佇 例•如圖1 5所示。 下一,第四時脈配送控制字姐至逋當旦可用之執行單元 。然後各執行單元嘗試自通用暫存器謓取其指配之位址。 如果一執行單元發現其所需暫存器之鎖定位元是設成1 · 其會在隨後之時鐘遇期再試。 如圖16所示·第一控制宇姐涉及除理算而因此是配送至 執行單元2 。第二控制字姐涉及乘邇算而因此是配送至執 行單元3 。第三控制字姐是配送至執行單元1 Μ執行相乘 。第四指令字姐在可處理相加邇算之執行單元之一成為可 用之前都留在控制字姐佇列内。 謫注意執行單元1和2可自通用暫存器讀取他們之來源 資料是因為資料未受鎖定。另一方面*執行單元3無法議 取通用暫存器之暫存器08内之來涯資料是因為鎖定位元受 設定。此單元在各後鑛時鐘週期反覆嘗試去請取,直到暫 存器被釋放為止。 -19 - 本紙張尺度適用中國國家標準(CNS ) Α4規格(210Χ 297公釐) I n I ί 訂 t 矣 (請先W讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消费合作社印裝 A7 B7 '_ 五、發明説明() 在時鐘遇期5内一些車件發生。執行單元1完成相乘埋 算二遇期之通期1 。執行單元2完成柑除運算六遇期之遇 期1 。 而最後*執行犟元3嘗試謅取通用暫存器08内之 項目,但仍被鎖在外面。 在時鐘遇期6 •紈行單元1完成二通期之遇期2 ,且接 著將结果寫回目的通用暫存器位址10*釋放該暫存器,且 設定相《於實《位址10之碰撞向量表1項目2内之结束旗 檷。執行單元2完成6相除遇期之遇期2 。執行單元3嘗 試讀取通胜暫存器之項目08,但仍被鎖在外面。請參看圖 17内之结果。 在各時鐘遇期碰撞向霣表1監测諸结束位元之狀態K判 斷是否一或更多指令已结束,但只按照原始指令次序。如 果一隨後埋績列之结束旗檷被設定,藉由遵循稍早參照圖 12加以描述之程序交換暫存器位址Μ更新重新命名2暫存 器。藉由此種碰搐向量表和重新命名2暫存器之有序更新 可維持顚序性之完整。 時鏡遇期7使一些搴件生效。請參看圖18。首先,控制 字姐佇列發現執行單元1可用且能執行加埋算。執行單元 1接收控制宇姐且自通用暫存器讀取來涯暫存器資料。執 行單元2完成相除運算6週期之遇期3 。執行單元3再度 苜試讀取通用暫存器之暫存器08。且最後•碰撞向量表1 嘗試更新重新命名2 ,但被拒絕因為在列2項目之前有未 完成之項目。 圖19展示時鐘週期8後之諸暫存器之狀態。在此遇期内 -20 - 本纸張尺度適用中國國家樣準(CNS ) Α4規格(210Χ297公釐) IH Ί— I 11 IJ * 裝— I I —訂 I 線 (請先W讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消f合作社印製 A7 B7 * 五、發明説明() 執行單元1完成加埋算,因為其為單一遇期埋算,將结果 寫回通用暫存器位址11,Μ閉通用暫存器位址11鎖定位元 ,且設定碰撞向量表1列項目3之结束位元。執行單元2 完成相除浬算6遇期之遇期4 。執行單元3再度嘗試請取 通用暫存器之暫存器08。碰撞向置表1再度嘗試更新重新 命名2 *但被拒絕因為在列項目2之前有未完成之項目。 謫注葸在此姐四指令中最後指令最先完成且被允許寫入 一目的位址。第一指令和第二指令稍後完成。此顙示此架 構將讀之後寫(VAR),寫之後寫(VAV) ·及寫之後讀 (RAW)等危險通當地加以處理。 在時鐘週期9 ,執行單元1因沒有其他指令進入而閲置 。執行單元2完成相除埋算6遇期之遇期5 。執行單元3 再度嘗試讀取通用暫存器之暫存器08。碰撞向量表1再度 嘗試更新重新命名2 。 時鐘週期10之影響展示於圃20。執行單元1仍維持閲置 。執行單元2完成除埋算•將结果寫回通用暫存器之暫存 器08· Μ閉該通用暫存器鎖定位元*且將碰撞向量表1列 項目0之结束位元設成1 。執行單元3成功地謂取通用暫 存器之暂存器08,因為該暫存器現在未受鎖定。碰摧向量 表1嘗試更新重新命名2但失敗。 在第十一時脈執行單元1仍維持閬置。執行單元2現在 也是閲置。執行單元3紈行二遇期乘浬算之周期1 。碰撞 向S表1更新其列項目0和相W之重新命名2位址00。碰 撞向董表1列項目1未完成,且因為顒序性完鏊之限制, -21 _ 本紙張尺度適用中國國家標準(CNS ) A4現格(210X297公釐) J—------- -裝------訂-------線 (請先閱讀背面之注意Ϋ項再填寫本頁) 經濟部中央標隼局負工消費合作社印裝 A7 B7 '___ 五、發明説明() 拒絕項目2和3之更新。請參看®21内之结果。 第十二時脈之结果展示於圖22。執行單元1維持閲置。 執行單元2維持閒置。執行單元3完成乘缠算,將结果寫 回通用暫存器之暫存器09*闞閉暫存器09鎖定位元,並設 定碰撞向董表1列項目1之結束旗檷位元。碰撞向量表1 不能更新重新命名2是因為順序性之評估發生在與寫入執 行單元结果和設定结束旗標相同之遇期內。 第十三時脈所有執行單元都是閲置。因為在第十二週期 结束時碰撞.向量表1之列項目1 ,2和3系列之所有结束 旗棟都被設定,請參看圖22,重新命名2巳準備好在此週 期内被更新。 圖23a-2 3c系列個別說明更新運算以幫助瞭解,在實際 系統中這些運算會同時發生。再使用碰撞向董表1理輯項 目之位址(中央行)Μ指明重新命名2列,因此將通用暫存 器位址在碰撞向量表1和重新命名2暫存器間互換。請注 意如果碰撞向量表之二理輯位址指明相同之重新命名2列 項目,例如碰摑向霣表1之二03指檷,由碰撞向量表11向 碰撞向量表13之更新次序順序性,允許使用最後位置之單 一更新。因此*對03埋輯位址只需實行04和11之單一互換 Ο 指令提取單元之位址表,參考數為31·也被更新Κ反映 碰撞向量表1之狀態°醑閉此位元以顯示此表之此位址和 碰撞向量表1都巳準備好而可再使用。 請注意由重新命名2轉譯之通用暫存器內之结果對應下 -2 2 - 本紙張尺度適用中國國家標率(匸奶)八4規格(210父297公釐) ! 一 ? -裝 訂 線 (請先閱讀背面之注意事項再填寫本頁) SC6287 A7 B7 ' _五、發明説明() 面表A之諸值。重新命名2項目00指向通用暫存器1〇,而 其包含2745這画值。重新命名2項目01指向通用暫存器 01,而其包含45這個值。重新命名2項目02指向通用暫存 器02,而其包含61這個值。且最後,重新命名2項目03指 向通用暫存器11·而其包含106這個值。所有结果都如預 期。 為了瞭解此架構處理精確中斷之能力,考盧一前述範例 之改良範例。所諝精確中斷是指超大規横系統遭遇一中斷 或分支運算、時仍能維持由程式師原始定義之指令順序性之 (請先閱讀背面之注意事項再填寫本頁) -裝· 完整 〇 啟始 狀篚 除第一 梅合 乘第二 描合 乘第三 拖合 加第Ε 指会 R0 123 .74 .74 2745 2745 R1 45 45 45 45 45 R2 61 61 61 61 61 R3 106 106 45.14 45. 14 106 經濟部中央標準局員工消费合作社印製 表A (重覆) 假設第三指令,亦即a6·在執行3時鐘週期之第一遇期 之後遣遇一中斷。第三指令是涉及R1和R2且正在執行單元 1内執行之一乘指令。當上述情況發生時電腦已執行完第 —(a4)和第二(a 5)指令。圈24描寫諸暫存器和執行單元之 狀態。請注意圓24與對應之圈ί7之差別在於碰撞向量表1 列項目2內中斷旗檷被設定而结束旗檷未被設定。 第四指令一定不可執行,或一定不要將其结果寫入通用 -23- 本纸張尺度適用中國國家揉準(CNS > Α4規格(210Χ297公釐) 線 A7 B7 * 五、發明説明() 暫存器。各種超大規棋架構採用不同之處理方法K解決此 問題。有些在事先做特別防範*以便將有導致中斷嫌疑之 指令存架或保留在管中。有此架構會複製暫存器椹案*稱 為影子暫存器•通用暫存器前置緩街器•等等。在執行之 後必須決定是否將结果移至真正之通用暫存器位置。不幸 的是,此種技術會減緩後續指令之紈行速率。 相對地,本架構允許指令在諸執行單元内流動且經過大 部份之控制字姐執行。中斷之影響是在處理各提取指令姐 之最後階段加K解決。 作為一輔助但重要之考量,本架構也確保導致中斷之指 令位址(在此範例為a6)可加Μ辨别Μ便報告。在此方面請 注意碰撞向fi表1中斷旗檷是在由記植體位址a4開始之提 取姐之第三項目内。因此a6 = a4 + 2 ,其中2這俚值是由 未展示一中斷旗檷之碰撞向量表1之位於其前之項目推導 而得。 顯示在諸通用暫存器内之完成指令之结果應反映第一和 第二指令之完成及受中斷之第三和第四指令之未完成。此 顯示於表B。 放始狀裤 除笛一拖会 乘第二栴会 噔中斷 ; ^ '—裝 訂 線 (請先閱讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消費合作社印装
R0 123 .74 .74 R1 45 45 45 R2 61 61 61 R3 106 106 45.14 表B -24- 本纸張尺度適用中國國家樣準(CNS ) A4規格(210X:297公釐) 經濟部中央標準局員工消費合作社印製 A7 B7 - 五、發明説明() 因此至於參照時鐘遇期5之特定事件,執行單元1完成 相乘運算2遇期之遇期1 ,而執行單元2完成相除運算6 遇期之遇期1 。由於中斷,執行單元1停止執行且設定碰 撞向量表1列項目2之中斷位元。執行單元3官試讀取通 用暫存器之項目08但被鎖在外面。_24展示此狀態。其他 電腦運算持績到時鐘週期13,除了不自記憶體提取新指令 之外。 在時鏟遇期13所有執行單元都是閲置。碰撞向霣表1現 在有1 · 2、和3諸項目。因此所有列都準備好可拜由與重 新命名2互換而被更新。碰撞向董表1之理輯項目資料再 度指向重新命名2之列。但是,來自中斷和其K上位置之 項目未被更新。 如稍早曾建議的,在第+三時脈開始時導致中斷之指令 可由暫存器資料軽易加Μ判定。提取單元之位址表得到數 值12,而此數值表示碰撞向霣表1列項目2是中斷之位置 。提取單元判定位址表之項目1為a4。因為那是項目〇之 位址•提取單元加2至此數值,而其變成a6。 画25展示在時鐘遇期5執行單元1内有一中斷之下第十 三時脈结束時暫存器之狀態。通用暫存器内之資料之位址 是經由簠新命名2暫存器轉譯而得。例如,重新命名2項 目00指向通向暫存器08,而其包含.74 ,在此中斷後之 R0值。請參看表B 。重新命名2項目01指向通用暫存器 01,而其包含45·在此中斷後之R1值。重新命名2項目 02指向通用暫存器02·而其包含61,在此中斷後之R2值。 本紙張尺度適用中®國家標準(CNS > A4規格(210X297公釐) ------------¾衣------11------# (請先閏讀背面之注意事項再填寫本頁) Α7 Β7 * 五、發明説明() 重新命名2項目03指向通用暫存器09,而其包含對應值 45.14 。即使所有之指令在中斷真正發生時正被用不依序 方式且在完成之各種階段加以處理*埴些结果仍正確地反 映指令被中斷時指令之狀態。很明顯地此指令可由中斷後 之指令和暫存器狀態精確地重始。抱令庠理會自記憧《位 址a6之指令開始。 謫注意指令資料相依性是經由使用通用暫存器鎖定位元 來加Μ處理。反相依性在此架構内則是經由所有暫存器之 重新命名**來源暫存器使用重新命名1表和目的暫存器使 用碰撞向量表。來加以處理。最後,順序性之完整•例如 精確中断,重始或具有指令刪除之分支所擗之,是纆由此 架構之有序退移特點來加Μ達成。就本架構而言因諸執行 單元或指令週期速率間之差異而引起之指令不依序執行無 Μ緊要。硬拥設備數目和複雜度也被最小化,因為除了一 碰撞向董表位址之外控制字姐沒有附加延伸狀態,數目或 位38資料位元串。通用暫存器則很明顧可有效地再利用。 雖然本發明是賴由一特定實例來描述和展示•本發明包 含糸统和方法應解釋成與在下文中將加Μ說明之申請專 利範圍一致。 I,---^-----^-裝------訂-----線 (請先閏讀背面之注意事項再填寫本頁) 經濟部中央標準局員工消费合作社印製 本紙張从適财gin家料(CNS) ( UQx297公釐)
Claims (1)
- 3(^g沒專利串請案 由守甶辑專利範圍修正太(狀年3月 A8 B8 C8 D8 、申請專利範圍 一褶用W不依序執行指令之超大規模霄曜架構,其包含 經濟部中央標隼局貝工消費合作社印*. 多画 —用 用以 置,且 器位址 用K 制字姐 2 · 根楝申 通闬暫 時便更 3 根撺申 通闬暫 致之多 4 · 根樓申 制字姐 址*及 5. 根撺申 制字組 址,及 6. 一褶搡 行之方 用W.執 W按照 姐成控 其使用 ;及 再利用 之執行 請專利 存器位 新暫存 請專利 存器位 重次表 請專利 之装置 碰禱向 請專利 之装置 硌撞向 作超大 法,其 行控制字姐之執行單元裝置; 位址貯存控制字姐資枓之通用 制字姐,傳输至可用之執行單 指明通用暫存器之重新命名和 暫存器; 元裝置之装 再利用暫存 通用暫存器位址Μ回應執行單元内有序控 之裝置。 範園第1項之霣腦架構,其中 址之装置依次序在前之控制字 器位址之重新命名。 範圍第1項之霣腦架構,其中 址之装置再利用大小與提取指 範圍第2項之霣腦架構,其中 產生包含一運蓴碼,直接重新 鼉表重新命名位址,之控制字 範圍第3項之霣腦架媾’其中 產生包含一運萆磚,直接重新 最表重新命名目的位址,之控 規棋架構霣腦Μ允許輸入指令 包含下列步琛: (請先Μ讀背面之注意事項再螓寫本頁) 用Μ再利用 姐開始執行 用Κ再利用 令之數目一 闬Μ姐成控 命名來滴位 姐。 用Κ姐成控 命名來塬位 剌字组。 之不依序執 将利用一第一重新命名表之多重輸入指令之來源暫存 本紙張尺度逍用中國國家橾準(CNS ) Α4洗格(210X297公釐) 订 經濟部中央標率局員工消費合作社印製 A8 B3 C8 D8六、申請專利範圍 器位址予Μ重新命名; 將利用一碰撞向量表之多重輸入指令之目的暫存器位 址予Μ重新命名; 處理由重新命名來源暫存器位址,重新·命名目的暫存 器位址,和利用可用之執行單元之碰撞向最表位址姐成 之控制字组;及 依次序在前之指令完成時再利用位址。 7 . 根撺由請專利範圍第β項之方法,其中位址之再利用是 按啤一對應於輸人指令次序·之次序= 8 . 根堉由請專利範圍第7項之方法,更包含下一步驟: 销定對目的暫存器資料之存取直到與該暫存器相闢之 資料由對應之執行蜇元產生為止。 9 . 枏捭审請專利範阐第8項之方法,更包含下一步驟: 在與暫存器相關之資料输入時,釋政對對醪目的暫存 器之存取及設定在碰搢向最表之一對應項目之结束旗標 0 I 0 .根搏由請專利範阖第9項之方法,更包含下一步驟: 在碰搏向鼉表和一第二重新命名表間之再利甩位址依 序為按镝入之先後,於其指令完成時之序。 II .—種用以執行一有序列之指令且至少有數個指令在程式 絮後可用暫存器內執行資枓計萆之資料處理糸统,該系 统包含: 多俩用W貯存資料之通用暫存器; 多屆對應程式架構可用暫存器旦包含通用暫存器位址 1^1 ml (m «^^1— ml nn t^i ^n. ^ n^i m n «^—^1 i 1J 一 々 i (請先《讀背面之注意事項再填寫本頁) 本紙張尺度逋用中國國家梯準(CNS ) A4规格(2丨0X297公釐)申請專利範圍 經濟部中央標隼局男工消費合作社印装 之爾新命名暫存器; 用W提供取代各指令之控制字姐之控制字姐装置,而 各控制字組令任何指定之程式架構可用暫存器為包含於 其對鳜之重新命名暫存器之通用暫存器位'址所取代; 多個用K對來自該通用暫存器之資料執行控制字组之 孰行單元; 用W調節各執行單元內控制字姐之執行之裝置,Μ便 缂由通用暫存器之指定Μ —順序匹配指令來維持該通用 暫存器之有序指令資料完整性並同時捷供不依序控剌字 狼之執行♦該調節装置包含用Μ貯存控制字姐執行狀態 於一缂由通用暫存器數目與霄腦程式絮構可用暫存器數 目之差所定義之大小之表中之裝置。 1 2 .—稽用以執行—有序列之指令且至少有數個指令在程式 5?檨可用暫存器内紈行資料計蔥之資料處理系统,該系 统包含: 多俩用Η貯存資料之通用暫存器,各暫存器包含用以 _示其將要接收資料之装置; 多個對應程式絮構可用S存器且包含通闬暫存器位# 之貢新命名暫存器; 用W提供取代各指令之控制字姐之控制字姐装置,而 各控制字组令任何栴定之程式架構可用暫存器為包含& 其對應之竃新命名暫存器之通用暫存器位址所取代; 多個用Μ對來自該通用暫存器之資料執行控制字组之 執行單元; -3 - 本紙張尺度逍用中國國家輮率(CNS )A4规格(210x297公釐) (請先Μ讀背面之注意事項再填寫本育)六、申請專利範圍 A8 B8 C8 D8 便用暫之 該暫 K通用義 中到 , 該通定 其直 置持由所 ,取 裝維經差 统存 之來一之 系之 行令用目。理器 執指利數行處存 之配時器執料暫 组匹同存之資對 字序並暫組棰定 制順性用字 | 鎖 控 一整可制之 Μ 内Κ完構控項置 元定料架序12装 單指資式依第含 。 行之令程不圍包止 執器指腦供範置為 各存序霄提利裝料 節暫有與以專示資 調用之目表請顴收 W通器數之申器接 用由存器小撺存器 經暫存大根 S『存 —11 1^1 . -I —.1—- 11 m —J VL _ - -1 二 tn I-I I ,-¾ (請先s讀背面之注意事項再填寫本f) 經濟部中央橾準局貝工消費合作社印製 本紙張尺度適用中國國家標準(CNS ) Α4规格(210 X 297公釐)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US96969592A | 1992-10-30 | 1992-10-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW306987B true TW306987B (zh) | 1997-06-01 |
Family
ID=25515870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW082107359A TW306987B (zh) | 1992-10-30 | 1993-09-08 |
Country Status (9)
Country | Link |
---|---|
US (1) | US5481683A (zh) |
EP (1) | EP0600611B1 (zh) |
JP (1) | JP2698033B2 (zh) |
KR (1) | KR970004509B1 (zh) |
CN (1) | CN1053508C (zh) |
AT (1) | ATE189071T1 (zh) |
CA (1) | CA2098414C (zh) |
DE (1) | DE69327637T2 (zh) |
TW (1) | TW306987B (zh) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06242948A (ja) * | 1993-02-16 | 1994-09-02 | Fujitsu Ltd | パイプライン処理計算機 |
US5724536A (en) * | 1994-01-04 | 1998-03-03 | Intel Corporation | Method and apparatus for blocking execution of and storing load operations during their execution |
US6378062B1 (en) * | 1994-01-04 | 2002-04-23 | Intel Corporation | Method and apparatus for performing a store operation |
US5537559A (en) * | 1994-02-08 | 1996-07-16 | Meridian Semiconductor, Inc. | Exception handling circuit and method |
US6205538B1 (en) * | 1994-08-24 | 2001-03-20 | Sun Microsystems, Inc. | Instruction result labeling in a counterflow pipeline processor |
US5625789A (en) * | 1994-10-24 | 1997-04-29 | International Business Machines Corporation | Apparatus for source operand dependendency analyses register renaming and rapid pipeline recovery in a microprocessor that issues and executes multiple instructions out-of-order in a single cycle |
US5675759A (en) * | 1995-03-03 | 1997-10-07 | Shebanow; Michael C. | Method and apparatus for register management using issue sequence prior physical register and register association validity information |
US5974240A (en) * | 1995-06-07 | 1999-10-26 | International Business Machines Corporation | Method and system for buffering condition code data in a data processing system having out-of-order and speculative instruction execution |
GB2308470B (en) * | 1995-12-22 | 2000-02-16 | Nokia Mobile Phones Ltd | Program memory scheme for processors |
US5761524A (en) * | 1996-03-15 | 1998-06-02 | Renditon, Inc. | Method and apparatus for performing and operation multiple times in response to a single instruction |
US5765016A (en) * | 1996-09-12 | 1998-06-09 | Advanced Micro Devices, Inc. | Reorder buffer configured to store both speculative and committed register states |
US5802338A (en) * | 1996-10-01 | 1998-09-01 | International Business Machines Corporation | Method of self-parallelizing and self-parallelizing multiprocessor using the method |
US5872949A (en) * | 1996-11-13 | 1999-02-16 | International Business Machines Corp. | Apparatus and method for managing data flow dependencies arising from out-of-order execution, by an execution unit, of an instruction series input from an instruction source |
US5889974A (en) * | 1996-12-30 | 1999-03-30 | Intel Corporation | Method and apparatus for the detection of reordering hazards |
US5805849A (en) * | 1997-03-31 | 1998-09-08 | International Business Machines Corporation | Data processing system and method for using an unique identifier to maintain an age relationship between executing instructions |
US5887161A (en) * | 1997-03-31 | 1999-03-23 | International Business Machines Corporation | Issuing instructions in a processor supporting out-of-order execution |
US5870582A (en) * | 1997-03-31 | 1999-02-09 | International Business Machines Corporation | Method and apparatus for completion of non-interruptible instructions before the instruction is dispatched |
US6098167A (en) * | 1997-03-31 | 2000-08-01 | International Business Machines Corporation | Apparatus and method for fast unified interrupt recovery and branch recovery in processors supporting out-of-order execution |
US5913048A (en) * | 1997-03-31 | 1999-06-15 | International Business Machines Corporation | Dispatching instructions in a processor supporting out-of-order execution |
US5987598A (en) * | 1997-07-07 | 1999-11-16 | International Business Machines Corporation | Method and system for tracking instruction progress within a data processing system |
US6128728A (en) * | 1997-08-01 | 2000-10-03 | Micron Technology, Inc. | Virtual shadow registers and virtual register windows |
US5901299A (en) * | 1997-09-19 | 1999-05-04 | International Business Machines Corporation | Method and apparatus for transferring data between buses having differing ordering policies |
US5938753A (en) * | 1997-09-19 | 1999-08-17 | International Business Machines Corporation | Method and apparatus for controlling autonomous units transferring data between buses having different ordering policies |
US6016526A (en) * | 1997-09-19 | 2000-01-18 | International Business Machines Corporation | Method and apparatus for transferring data between buses having differing ordering policies via the use of autonomous units |
US5961636A (en) * | 1997-09-22 | 1999-10-05 | International Business Machines Corporation | Checkpoint table for selective instruction flushing in a speculative execution unit |
US6065110A (en) * | 1998-02-09 | 2000-05-16 | International Business Machines Corporation | Method and apparatus for loading an instruction buffer of a processor capable of out-of-order instruction issue |
US6061785A (en) * | 1998-02-17 | 2000-05-09 | International Business Machines Corporation | Data processing system having an apparatus for out-of-order register operations and method therefor |
US6067644A (en) * | 1998-04-15 | 2000-05-23 | International Business Machines Corporation | System and method monitoring instruction progress within a processor |
US6212619B1 (en) | 1998-05-11 | 2001-04-03 | International Business Machines Corporation | System and method for high-speed register renaming by counting |
US6134645A (en) * | 1998-06-01 | 2000-10-17 | International Business Machines Corporation | Instruction completion logic distributed among execution units for improving completion efficiency |
US6324640B1 (en) * | 1998-06-30 | 2001-11-27 | International Business Machines Corporation | System and method for dispatching groups of instructions using pipelined register renaming |
US6243786B1 (en) * | 1998-12-23 | 2001-06-05 | Industrial Technology Research Institute | Apparatus and method for generating an interrupt prohibited zone in pipelined data processors |
EP1236097A4 (en) * | 1999-09-01 | 2006-08-02 | Intel Corp | BRANCH COMMAND TO THE PROCESSOR |
WO2001016702A1 (en) | 1999-09-01 | 2001-03-08 | Intel Corporation | Register set used in multithreaded parallel processor architecture |
US7191309B1 (en) | 1999-09-01 | 2007-03-13 | Intel Corporation | Double shift instruction for micro engine used in multithreaded parallel processor architecture |
US7681018B2 (en) * | 2000-08-31 | 2010-03-16 | Intel Corporation | Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set |
US20020053017A1 (en) * | 2000-09-01 | 2002-05-02 | Adiletta Matthew J. | Register instructions for a multithreaded processor |
JP3817436B2 (ja) | 2000-09-28 | 2006-09-06 | 株式会社東芝 | プロセッサおよびリネーミング装置 |
US6671794B1 (en) * | 2000-10-02 | 2003-12-30 | International Business Machines Corporation | Address generation interlock detection |
US7020871B2 (en) * | 2000-12-21 | 2006-03-28 | Intel Corporation | Breakpoint method for parallel hardware threads in multithreaded processor |
US7191315B2 (en) * | 2001-06-04 | 2007-03-13 | Sun Microsystems, Inc. | Method and system for tracking and recycling physical register assignment |
US6868476B2 (en) | 2001-08-27 | 2005-03-15 | Intel Corporation | Software controlled content addressable memory in a general purpose execution datapath |
US7216204B2 (en) | 2001-08-27 | 2007-05-08 | Intel Corporation | Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment |
US7487505B2 (en) | 2001-08-27 | 2009-02-03 | Intel Corporation | Multithreaded microprocessor with register allocation based on number of active threads |
US7225281B2 (en) * | 2001-08-27 | 2007-05-29 | Intel Corporation | Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms |
US7610451B2 (en) * | 2002-01-25 | 2009-10-27 | Intel Corporation | Data transfer mechanism using unidirectional pull bus and push bus |
US7437724B2 (en) * | 2002-04-03 | 2008-10-14 | Intel Corporation | Registers for data transfers |
US7337275B2 (en) * | 2002-08-13 | 2008-02-26 | Intel Corporation | Free list and ring data structure management |
US6941438B2 (en) | 2003-01-10 | 2005-09-06 | Intel Corporation | Memory interleaving |
US7272701B2 (en) * | 2003-10-22 | 2007-09-18 | Intel Corporation | Method and apparatus for limiting ports in a register alias table having high-bandwidth and low-bandwidth structures |
US7478276B2 (en) * | 2005-02-10 | 2009-01-13 | International Business Machines Corporation | Method for checkpointing instruction groups with out-of-order floating point instructions in a multi-threaded processor |
US7409589B2 (en) * | 2005-05-27 | 2008-08-05 | International Business Machines Corporation | Method and apparatus for reducing number of cycles required to checkpoint instructions in a multi-threaded processor |
US7873625B2 (en) * | 2006-09-18 | 2011-01-18 | International Business Machines Corporation | File indexing framework and symbolic name maintenance framework |
US20080242560A1 (en) * | 2006-11-21 | 2008-10-02 | Gunderson Kevin L | Methods for generating amplified nucleic acid arrays |
US8677050B2 (en) * | 2010-11-12 | 2014-03-18 | International Business Machines Corporation | System, method and computer program product for extending a cache using processor registers |
US9072325B2 (en) | 2012-08-30 | 2015-07-07 | Shelby Group International, Inc. | Glove finger attachment system |
US9510628B2 (en) | 2013-03-15 | 2016-12-06 | Shelby Group International, Inc. | Glove thermal protection system |
US9588770B2 (en) | 2013-03-15 | 2017-03-07 | Samsung Electronics Co., Ltd. | Dynamic rename based register reconfiguration of a vector register file |
CN104598201A (zh) * | 2013-10-31 | 2015-05-06 | 国际商业机器公司 | 指令性能分析的方法和设备 |
US10216523B2 (en) | 2015-07-17 | 2019-02-26 | General Electric Company | Systems and methods for implementing control logic |
CN107329936A (zh) * | 2016-04-29 | 2017-11-07 | 北京中科寒武纪科技有限公司 | 一种用于执行神经网络运算以及矩阵/向量运算的装置和方法 |
US10694795B2 (en) | 2017-01-10 | 2020-06-30 | Shelby Group International, Inc. | Glove construction |
US11966328B2 (en) * | 2020-12-18 | 2024-04-23 | Advanced Micro Devices, Inc. | Near-memory determination of registers |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3346851A (en) * | 1964-07-08 | 1967-10-10 | Control Data Corp | Simultaneous multiprocessing computer system |
US4574349A (en) * | 1981-03-30 | 1986-03-04 | International Business Machines Corp. | Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction |
US4807115A (en) * | 1983-10-07 | 1989-02-21 | Cornell Research Foundation, Inc. | Instruction issuing mechanism for processors with multiple functional units |
US4847755A (en) * | 1985-10-31 | 1989-07-11 | Mcc Development, Ltd. | Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies |
US4903196A (en) * | 1986-05-02 | 1990-02-20 | International Business Machines Corporation | Method and apparatus for guaranteeing the logical integrity of data in the general purpose registers of a complex multi-execution unit uniprocessor |
US4992938A (en) | 1987-07-01 | 1991-02-12 | International Business Machines Corporation | Instruction control mechanism for a computing system with register renaming, map table and queues indicating available registers |
US4901233A (en) * | 1987-07-20 | 1990-02-13 | International Business Machines Corporation | Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries |
US5134561A (en) * | 1987-07-20 | 1992-07-28 | International Business Machines Corporation | Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries |
US4972470A (en) * | 1987-08-06 | 1990-11-20 | Steven Farago | Programmable connector |
EP0312764A3 (en) * | 1987-10-19 | 1991-04-10 | International Business Machines Corporation | A data processor having multiple execution units for processing plural classes of instructions in parallel |
US5155817A (en) * | 1988-04-01 | 1992-10-13 | Kabushiki Kaisha Toshiba | Microprocessor |
US5487156A (en) * | 1989-12-15 | 1996-01-23 | Popescu; Valeri | Processor architecture having independently fetching issuing and updating operations of instructions which are sequentially assigned and stored in order fetched |
US5280615A (en) * | 1990-03-23 | 1994-01-18 | Unisys Corporation | Out of order job processing method and apparatus |
US5197132A (en) * | 1990-06-29 | 1993-03-23 | Digital Equipment Corporation | Register mapping system having a log containing sequential listing of registers that were changed in preceding cycles for precise post-branch recovery |
JPH0480824A (ja) * | 1990-07-23 | 1992-03-13 | Nec Corp | データ処理装置 |
US5261071A (en) * | 1991-03-21 | 1993-11-09 | Control Data System, Inc. | Dual pipe cache memory with out-of-order issue capability |
US5355457A (en) * | 1991-05-21 | 1994-10-11 | Motorola, Inc. | Data processor for performing simultaneous instruction retirement and backtracking |
US5386562A (en) * | 1992-05-13 | 1995-01-31 | Mips Computer Systems, Inc. | Circular scheduling method and apparatus for executing computer programs by moving independent instructions out of a loop |
-
1993
- 1993-03-19 US US08/034,193 patent/US5481683A/en not_active Expired - Fee Related
- 1993-06-15 CA CA002098414A patent/CA2098414C/en not_active Expired - Fee Related
- 1993-09-08 TW TW082107359A patent/TW306987B/zh not_active IP Right Cessation
- 1993-09-28 KR KR1019930020072A patent/KR970004509B1/ko not_active IP Right Cessation
- 1993-10-25 JP JP5265946A patent/JP2698033B2/ja not_active Expired - Fee Related
- 1993-10-28 CN CN93119608A patent/CN1053508C/zh not_active Expired - Fee Related
- 1993-11-01 AT AT93308705T patent/ATE189071T1/de not_active IP Right Cessation
- 1993-11-01 EP EP93308705A patent/EP0600611B1/en not_active Expired - Lifetime
- 1993-11-01 DE DE69327637T patent/DE69327637T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1053508C (zh) | 2000-06-14 |
EP0600611B1 (en) | 2000-01-19 |
KR940009820A (ko) | 1994-05-24 |
CA2098414A1 (en) | 1994-05-01 |
US5481683A (en) | 1996-01-02 |
JP2698033B2 (ja) | 1998-01-19 |
EP0600611A3 (en) | 1995-01-11 |
CA2098414C (en) | 1997-05-13 |
DE69327637D1 (de) | 2000-02-24 |
EP0600611A2 (en) | 1994-06-08 |
ATE189071T1 (de) | 2000-02-15 |
JPH06214784A (ja) | 1994-08-05 |
CN1105138A (zh) | 1995-07-12 |
KR970004509B1 (ko) | 1997-03-28 |
DE69327637T2 (de) | 2000-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW306987B (zh) | ||
US20240176601A1 (en) | Method and system of command buffer between a cpu and gpu | |
JP4658894B2 (ja) | マルチプロセッサ・メモリ整合性の効率のよいエミュレーションのための方法 | |
Campbell et al. | The specification of process synchronization by path expressions | |
CN101652761B (zh) | 使用缓存写和强制串行化次序的事务存储器 | |
Press | Numerical recipes in Fortran 90: Volume 2, volume 2 of Fortran numerical recipes: The art of parallel scientific computing | |
Halstead Jr et al. | MASA: A multithreaded processor architecture for parallel symbolic computing | |
US4903196A (en) | Method and apparatus for guaranteeing the logical integrity of data in the general purpose registers of a complex multi-execution unit uniprocessor | |
CN103425533A (zh) | 用于管理嵌套执行流的方法和系统 | |
CN103559014A (zh) | 用于处理嵌套流事件的方法和系统 | |
CN102282548A (zh) | 事务性的存储器中的事务处理 | |
TW200903339A (en) | Parallelizing sequential frameworks using transactions | |
US20090133022A1 (en) | Multiprocessing apparatus, system and method | |
CA1302580C (en) | Apparatus and method for using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system | |
AU602213B2 (en) | Computer work station including video update arrangement | |
JP2004021907A (ja) | 性能評価用シミュレーションシステム | |
Choi | Formal Verification of Chase-Lev Deque in Concurrent Separation Logic | |
Kaisler | Second Generation Mainframes: The IBM 7000 Series | |
Kaisler | The Control Data Corporation’s Supercomputer Systems: The Need for Speed | |
McJones et al. | History of the CAL Timesharing System | |
Darringer | A language for the description of digital computer processors | |
Thorelli | A monitor for small computers | |
Creeger | Lisp machines come out of the lab | |
Stallings | Operating Systems 5th Edition | |
Bolz | Introduction to Ada |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |