TW530263B - Microprocessor - Google Patents
Microprocessor Download PDFInfo
- Publication number
- TW530263B TW530263B TW090122725A TW90122725A TW530263B TW 530263 B TW530263 B TW 530263B TW 090122725 A TW090122725 A TW 090122725A TW 90122725 A TW90122725 A TW 90122725A TW 530263 B TW530263 B TW 530263B
- Authority
- TW
- Taiwan
- Prior art keywords
- instruction
- instructions
- divergence
- address
- buffer
- Prior art date
Links
- 239000000872 buffer Substances 0.000 claims abstract description 64
- 238000012545 processing Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001247287 Pentalinon luteum Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000000941 bile Anatomy 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 238000011160 research 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/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30054—Unconditional branch instructions
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/323—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for indirect branch instructions
-
- 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/3842—Speculative instruction execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
530263 五、發明說明(1) [發明所屬的技術領域] 本發明,有關於具有指令預先找取(pre-fetch)功能 之微處理器,且特別有關於分歧指令實行之時,不清除儲 存預先找取指令之佇列緩衝器之微處理器。 [習知技術]
一種微處理器之高速化之方法,係指令之預先找取方 式。在通常之依序計算機上,基本上依序執行被儲存在連 績位置之指令群。另一方面,在指令預先找取方式上’並 行執行將前面指令之實行或解讀,和預先找取被預想將來 會實行之數個指令。 亦即,事先將藉由主記憶體或快取(cache)記憶體所 預先找取之指令,儲存在可以高速存取之小容量之指令找 取緩衝器(佇列緩衝器)上,所以幾乎可以實質地削減因指 令找取時之記憶體存取而產生之延遲。
在習知技術上,分歧指令一被實行,和分歧目的位址 無關地·,來中止預先找取與後續指令之實行,並藉由清 除仔列緩衝器,使至此已被儲存之指令無效,而且從分歧 目的位址,來重新預先找取,等待分歧目的地之指令被儲 存至仔列緩衝器後,才再開始指令之實行。 如此地,在習知技術上,因為於分歧指令實行時,清 除4丁歹】緩衝器,所以使預先找取次數增加,而搞亂管線 (PiPe 1 lne)處理,造成高速化之妨礙。 在特開平7-73034號公報上,比較分歧指令實行時之
530263 五、發明說明(2) _ 刀支目的位址,和存在於仔列緩衝器 圍,在分歧目的位址於該位址範圍内時日令之該位址範 衝器内之指令,而使用符列緩衝号内之;^不清除件列緩 後之預先找取之次數。 心々,來減少分歧 [發明所欲解決的課題] 在習知技術上,能夠確實地減少 次數,但是因為將分歧指令當作通常彳之預先找取之 處理,所以為了指令解碼後之位址產;;、條歧指令來 此有電路變得複雜且規模大之問題。处理變得複雜,因 本發明,為有鑑於此之發明, J内部上不設置複雜之構造,而在無條;牛分歧,獲得 執仃不須要之佇列緩衝器之清除之微處理器。$,不用 [用以解決課題的手段] 有關於為了達成上述目的之本發明之微處理器 •主記憶體、儲存從此主記憶體所預先找取之匕 丁列緩衝器、產生記憶著主記憶體上之接著實行之7八 位址之程式記數器、解讀從上述佇列緩衝器所輪出 之指令解碼器、以及使用上述程式記數器之輸出,二二 於上述佇列緩衝器之指令之輸入出控制之佇列控制邱仃= 特徵在於:上述指令解碼器,一旦認知從上述佇列緩二 所輸入之指令,為既定之分歧指令時,即藉由此分歧, 令,將被指定之分歧目的地之前面為止之指令,當作兮八
2111-4342-PF.ptd 第6頁
530263
歧指令之運算it來處理,並將含有上述運算元部分之該分 歧指令之指令子組長,輪出至上述程式計數器,來更新程 式計數器之位址,同時不執行仔列緩衝器之清除。
根據本發明’並不當作通常的分歧指令來動作,而是 在微處理器上追加和通常之資料傳送指令、運算指令等同 樣動作之新的分歧指令(例如BJMp)。根據此分歧指令 (BJMP),佇=緩衝器内之指令數目成為可變。也就是說, 在指令解碼上’ 一旦從佇列緩衝器所輸入的指令,為事 先被設定之既定分歧指令(BJMp)時,即藉由此分歧指令 (BJMP),將被指定之分歧目的地之前面為止之指令,當作 該分歧和令(BJMP)之運算元來處理,而使佇列緩衝器内指 ^數成^可變。如此地,將含有上述運算元部分之該分歧 ί令之指令字組長,輸出至程式計數器,來更新程式計數 器之位址。而指令解碼器,在此分歧指令(ΒΗΡ)之時,不 執行佇列緩衝器之清除。 =關於下一個發明之微處理器,其特徵在於:在上 χ日 於上述分歧目的地之指定上,使用標記 (1 abe1) 〇 根據本發明, 加了^ 冗(1 a b e 1) 地前面為止之指八 理。
在分歧指令(BJMP)之運算元部分上,附 而在以標記(label)所指定的分歧目的 ’當作該分歧指令(BJMP)之運算元來處 有關於卞一 發明中,於=個發明之微處理器,其特徵在於:在上述 上述分歧目的地之指定上,指定了該分歧指
2111-4342-PF.ptd 530263 五、發明說明(4) 令和分歧目的地之相對位址。 根據本發明,將相對位址,附加在分歧指令(BjMp)之 ft =部分,,而將以相對位址來指定之分歧g的地前面為 處理。9令,當作該分歧指令(BJMP)之運算元(operand)來 菸日日Ϊ關於下一個發明之微處理器,其特徵在☆ ··在上述 二月:丄上述佇列控制器,殘存了從現在被實行之指令開 ‘上被?定之既定相對位址份前之複數之指令,來執 址,;^ ^列緩衝态之輸入出控制,而可以將負的相對位 才曰疋為上述相對位址。 指本Ϊ; ’仔列控制器部,殘存了從現在被實行之 之:先被設定之既定個數之相對位址份前之複數 成在;列土述之輸入出控制,藉此,造 位址之# i 上,被δ己憶在比現在被實行之指令前面之 分# & 2至少殘存了上述既定之個數。因而,如果在 刀歧指令r R ΤΜΡ 今,溶曾-如又不仏 則可以八Μ 5 $」運开兀邛刀上,附加負的相對位址, J Μ刀歧至負的位址側。 括:了達成上述目的之本發明之微處理器,包 列緩衝儲,此主記憶體所預先找取之指令之仵 址之程Λ、奴生5己憶者主s己憶體上之接著實行之指令之位 指令;數器、解讀從上述件列緩衝器所輪出之指令之 於上及使用上述程式記數器之輸出,而執行對 特徵在=令之輸入出控制之仵列控制部,其 、·上“々解碼益’-旦認知從上述佇列緩衝器
2111-4342-PF.ptd 第8頁 530263 五、發明說明(5) 所輸入之指令’為既定分歧指令時,即藉由此分歧指令, 將被指定之分歧目的地前面為止之指令,當作N〇p指令來 處理,並將該分歧指令與上述N〇p指令份之指令字組長, 輪出至上述程式計數器,來更新程式計數器之位址,同時 不執行佇列緩衝器之清除。 根據本發明,指令解碼器,一旦認知從上述仔列緩衝 器所輸入之指令,為既定之分歧指令(BJMP)時,即藉由此 分歧指令(BJMP),將被指定之分歧目的地之前面為止之指 令,當作Ν0Ρ指令來處理,並將該分歧指令之指令 字組長與上述Ν0Ρ指令份之指令字組長,輸出至上述程式7 計數器,來更新程式計數器之位址。而在此分歧指令 (BJMP)之時,不執行佇列緩衝器之清除。 [發明的實施例] 以下’參照添附圖面 處理器之較佳實施例。 來詳細說明有關於本發明之微 1圖,係表示有關於本發明之微處理器之内部構造 」圖。第1圖中,1為主記憶體裝置,2為作列緩衝 ^ 7仵列),3為輸入指標器,4為輸出指標器,5為佇 ::制器,6為解碼器,7為實行部,8為程式記數器。佇 制為5,包含輸入指標器3及輸出指標器4,而構成在 甲#專利乾圍上所提到的佇列控制器部。 在主記憶體裝置丨上,記憶著實行之程式之指令列。 1丁列緩衝裔2,為能夠記憶例如32個指令之緩衝器,而儲 獨263
接著,除了第1圖外,使用第2圖,來說明本發明之實 施例1。在此實施例1上,對於第丨圖之微處理器,追加了
2111-4342-PF.ptd 530263 五、發明說明(7) nn「bjmp」(參照第2圖)。此分歧指令 =」’執行和通常之分歧指令 執仃和通常之分歧指合πi # 处 疋、、、口果 指令「BJMP」Λ,二”分歧處理。然而,在此分歧 除。第2 m,总4八曰7貫行之際,佇列緩衝器2不被清 列之圖。回,’、既而性地表示被儲存在佇列緩衝器2之命令 地之ΐ例1 ’於表示分歧指令「bjmp」之分歧目的 運:兀σ卩上,指定標記(label )。 入之ΐί1圖之指令解碼器6上,解讀從佇列緩衝器2所輸 「bjmZ L而—旦將所輸人之指令,識別為上述分歧指令 印n κ」時,即將以此分歧指令「BJMP」之運算元部之標 為辦:^ 斤指定之相對位址之前為止所存在的指令(此時 ΙΝΧ與1ΝΥ)當作分歧指令「BJMP」之運算元 出於栲哭令解碼器6,對佇列控制器5,送出為了使輸 更新之控制信號。藉由此控制信號,佇列控制 i衝,輸出指標器4 °結果在指令解碼器6上,來自仔列 '八敵:之下個扣令(此時為IN X)被輸入。將此被輸入之指 指人(1 N來判疋此指令是否為標記(1 abe 1 ) °此時’因為
Γ丨X)不為標記(1 abe 1 ),所以指令解碼器6,又對佇 列控制,、、,,t .,? 适出控制信號,來更新輸出指標器4。如此 赛孚解碼器6在測出標記(1 abe 1)為止之前,將控制信 位址之二歹丨控制器,而讀入以標記(1 a b e 1)所指定之相對 之則為止存在之指令。如此地,指令解碼器6,測出
530263 五、發明說明(8) 成運算元來處理之指令部分(此時為INX及INY)之指 ^數、及當成運算元來處理之指令部分之指令字組長。 人立於是,指令解碼器6,將上述當成運算元來處理之指 三^分(此時為I NX及I NY )之指令字組長,加算至分歧指 $ _ BJMP」之指令字組長,並將此加算結果,當成該分歧 ^令「BJMP」之指令字組長,而輸出至程式記數器8。又 才曰7解碼器6,輸出為了禁止清除之既定控制信號,至佇 列控制器5。
「 程式記數器8,將從指令解碼器6所輸入的分歧指令 「BJMP」之指令字組長,加算至現在之位址值,來更新位 =值。而佇列控制器5,藉由來自指令解碼器6之上述控制 信號之輪入,以不執行佇列緩衝器2之清除。 器6上,藉由來自佇列緩衝 相對位址之下個指令(此時 讀處理,結果造成執行和通 因而,下回,在指令解碼 器2而以標記(label)來指定之 為載入指令;LDA)被讀出做解 常之分歧指令同樣的處理。 藉此,在本實施例1,因為將以分歧指令「B jMp」之 標記(label)所指定之分歧目的地為止之指令碼, 二BJMP」之運算元來處理’所以造成分歧二地刀 G f作分歧指令「BJMP」之1個指令被處理, 了果被處理之指令數成為可變。亦即,因為指令 變,所以能夠獲得和無條件分歧相同的分歧動作。’、、 八站ΐίΐϊ:1上,分歧指令「_」,不作為通常之 刀支•"來動作’而使其和其他之資料傳送指令、運算:
530263 五、發明說明(9) 令等同樣地動作,而且因為不當作通常之分歧指令來處 理’而不使佇列緩衝器2之清除發生,所以造成分歧之際 之位址運算,比習知的簡單,而能夠因此在内部上不用設 置複雜之電路構造,並且不用執行不須要之佇列緩衝器之 清除。因而,以簡單之構造,能夠減少分歧之際之再找 取’而此夠提昇處理速度。 、 然而’第2圖之情況,表示著被標記指定之相對位址 為止存在之指令之2種情況,但是此指令數當然亦可為1或 3以上。而成為分歧指令rBJMP」之運算元之對象之指 令’亦不局限於第2圖上所示的增加指令丨Νχ、丨Νγ。 實施例2 接著,使用第1圖和第3圖,來說明本發明之實施例 1。入在「實施例2,如第3圖所示地,以相對位址來指定分歧 二二BJMP」之分歧目的地。在第3圖,指定「3」至分歧 扣々/JMP」之運算元部,作為相對位址。 指令解碼器6上,解讀從佇列緩衝器 Γ夺輸入之指令,識別為上述分歧指令「Β僧」 (此時為二九歧指令「膽」之運算元部之相對位址 ·'、、)所^日疋之相對位址之前為+ % f y* λα k /V / L· dt A择A此入苟止所存在的指令(此時 $〜加指令;INX與INY)當作分歧指 1 - 來處理。 又寸日7 B JMP」之運异兀 亦即’指令解碼器6,對件彳 「卿」之運算元部之相對=器5,以分歧指令 認應當成運算元來處理之指令時為3)為基準,來辨 口ρ刀(此時為ΙΝΧ及ΙΝΥ)之 2111-4342-PF.ptd _ <1 第13頁 530263 五、發明說明(ίο) 指令數(此時為2 )、及指令字組長。 於是,指令解碼器6,將上述當成運算元來處理之指 令部分(此時為I N X及I NY )之指令字組長,加算至分歧指 令「BJMP」之指令字組長,並將此加算結果,當成該分歧 指令「B JMP」之指令字組長,輸出至程式記數器8。又指 々解碼器6 ’輸出為了禁止清除之既定控制信號,至仔列 控制器5。 %式e己數器8 ’將從指令解碼器6所輸入的分歧指令 :bjmp」之指令字組長(包含ΙΝΧ與ΙΝΥ之指令字組長),加 异至現在之位址值,來更新位址值。而佇列控制器5,藉
由來自指令解碼器6之上述控制信號之輸入,來不執行佇 列緩衝器2之清除。 因而,下回,在指令解碼器6上 「BJMP」之運算元部來指定之相對位 入指令;LDA),從佇列緩衝器被讀出 成執行和通常之分歧指令同樣的處理 以分歧指令 址之指令(此時為載 做解讀處理,結果造 藉此’在本實施例2,因為太八 算元部上,將被當作相對位因址為來 指/八「饥ρ」之運 之指令碼,當作分歧指令rBJMp曰疋之/刀歧目的地為-
造成分歧目的地為止之指令碼,處理,所」 1個指令被處理,結果被處理田*歧指♦「β JMP」: 因為和先前之實施例丨同樣地,曰二數成為可變。亦即, 夠獲得和無條件分歧相同的分歧9動7數成為可變,所以能 在本實施例2上,藉由將分 歧心令「BJMP」之結果之 530263 五、發明說明(11) 運算元長,作為對應至以分歧指令「BJMp」之本來之運算 =部所指定的相對位址之長度,來執行相當於通常之分歧 ^ 7之動作,所以造成分歧之際之位址運算,比習知的簡 單,而此夠因此在内部上不用設置複雜之電路構造,並且 在分歧之際,不用執行不須要之佇列緩衝器之清除。因 而,能夠以簡單之構造,減少分歧之際之再找取,而能夠 提耳處理速度。 _ 、 然而,第3圖之情況,表示著被標記指定之相對位址 為止存在之指令之2種情況,但是此指令數當然亦可為1或 ^以上。而成為分歧指令「BJMP」之運算元之對象之指 令,亦不局限於第3圖上所示的增加指令ΙΝχ、ΙΝγ。 實施例3 接+著’使用第1圖和第4圖,來說明本發明之實施例 3/ 貫施例3,如第4圖所示地,以相對位址(此時為―3) ^才日疋刀歧4日令「BJMP」之分歧目的地。但是,此時和先 前之實施例2不同,可以分歧至負位址側。 匕八在實施例3,佇列控制器部5,殘存了從現在被實行之 ϋ開始,事先被設定之既定個數(例如5個)之相對位址 份前之複數之指令,來執行上述佇列緩衝器之輸入出控 制。亦即,在輸入指標器3和輸出指標器4上,經常至少有 5位址份之差,而進行各指標器3、4之輸出。 指令解碼器6上,解讀從佇列緩衝器2所輸入之指令, 1 一旦將所輸入之指令,識別為上述分歧指令r BJMp」之 時’即將以此分歧指令「BJMp」之運算元部之相對位址 _ _ 1 11 ϋ _ 2111-4342-PF.ptd ------ 第15頁 530263
(此時為-3 )所指 時為增加指令; 元來處理。 定之相對位址之前為止所存在的指令 INX與INY)當作分歧指令「BJMp」之運算 「 ^即,指令解碼器6,對仔列控制器5 ,以分歧指令 BJMP」之運算兀部之相對位址(此時 今刃、麻各忐、蓄暂一+石 ❺為基旱’來辨 ;f二 處理之指令部分(此時為ΙΝΧ及INY)之 才曰々數、及指令字組長。 :是’指令解碼器6 1上述當成運算元來處理之指 Γ「二此時㈣X,)之指令字組長,加算至分歧指 春乂 t才曰令子組長,並將此加算結果附上了負的符 :成歧指令「BJMP」之指令字組長,而輸出至程 數器8。又指令解碼器6 ’輸出為了禁止清除之既定之 控制信號至佇列控制器5。 程式記數器8,將從指令解碼器6所輸人的分歧指令 BJMP」之指令字組長,加算至現在之位址值,來更新位 =值。而仔列控制器5,藉由來自指令解碼器6之上述控制 扣號之輸入,以不執行佇列緩衝器2之清除。 因而,下回,在指令解碼器6上,以分歧指令 「BJMP」之運算元部來指定之相對位址(—3)之指令(此時 為載入指令;LDA),從佇列緩衝器被讀出做解讀處理,結 果造成執行和通常之分歧指令同樣的處理。 藉此,在本實施例3,因為將到以分歧指令「BJMp」 之運算元之相對位址所指定的負的位址之分歧目的地為止 之指令碼,當作分歧指令「BJMp」之運算元來處理,所以
530263
Jb J Mr」 造成分歧目的地為止之指令碼,當作分歧指入! 個指令被—處理,、结果被處理之指令數成為可7變。 ”實施例3上,藉由將分歧指令「BJ文丄 運异兀長,作為對應至以分歧指令「BJMp」之f果之》 ,部所指定的相對位址之長度,來執行相當 ^之動作,所以造成分歧之際之位址運算,知 早,而忐夠因此在内部上不用設置複雜之電路, 在分歧之際,+用執行不須要之佇列緩衝器之产:。因 而,能夠以簡單之構造,減少分歧之際 ^ 提昇處理速度。 丹找取,而忐夠 、然而,第4圖之情況,表示著被標記指定之相對位址 為止存在之指令之2種情況,但是此指令數當然亦可為1或 以上。但是其上限,根據殘留在佇列緩衝器2之指令的個 數,來規定。而成為分歧指令「BjMP」之運算元之對象之 指令’亦不局限於第4圖上所示的增加指令丨Νχ、丨Νγ。 實施例4 接著,遵從第1圖和第5圖,來說明本發明之實施例 4。在先前的實施例卜3,將分歧目的地為止存在的指令, 當作分歧指令「BJMP」之運算元來處理,但是這些被當作 運算元處理之指令,因為實際上不實行任何的指令,所以 既使將其置換為no operation(NOP),亦無問題。 例如,在提供了如CISC(Complex Instruction Set Computer)之組合程度(assembler level)之高級指令組之 微處理器上,能夠以1指令之組合碼(a s s e m b 1 y c 〇 d e ),來
2111-4342-PF.ptd 第17頁 530263
執行非常的高級處理β &時,如果實際 行而僅所記述的指♦,能夠被置換細p异中不被貫 則可以不用變更於八齡曰,氺與—*也乂木只订的活, 歧動作。欠更晶令數目,末貝订和先前實施例同樣的分 本實施例4,如第5圖所示地,於表示分歧 「BJMP」之分歧目的地之運算元部上,指定二支才曰 (1 abe1) 〇 丁 所於L j1圖之指令解碼器6上’解讀從仔列緩衝器2 二’而一旦將所輸入之指☆,識別為上述分歧 二/:’即將以此分歧指令「BJMP」之運算元部 ^ 2 )所指定之相對位址之前為止所存在的指 以此日^為增加指令;INX與ΙΝγ) ’全部當作N〇p來處理。 出浐二Ρ4’Λ令解碼器6,對佇列控制器5,送出為了使輸 器5更Vi==4制由此控制信號’仲列控制 緩衝> π^軚果在指令解碼器6上,來自佇列 令INX°,火㈣1L指令(此時為1NX)被輸入。將此被輸入之指 5,送出ί Π處理。又指令解碼器6 ’又對仔列控制器 於,Ρ 唬,來更新輪出指標器4。藉由此控制信 如此地,指令解踩# 控制信號送至符列=在測出標記(label)為止前,將 相對位址之前為止為5,而讀入以標記(label)所指定 子在之指令,這些全部當作N〇P來處
2111-4342-PF.ptd 第18頁 530263 五 發明說明(15) — 理 。而此時,指令解碼器6,在每次從佇列 令之時,㈣應各指令之指令字組長,送到衝二2:入指 ?令解碼器6,輸出為了禁止清除之既定:式计數器。 佇列控制器5。 1口说’至 程式記數器8,在每次從指令解碼器6送來指人 長加异至現在之位址值,來更新位址值。而、 5; 仃佇列緩衝器2之清除。 以不執 因而,下回,在指令解碼器6上,從佇 ,以標記(label)來指定之相對位址之指令(此時11 ,, :二LDA!:做解讀處理’結果造成執行和變指= 通常之分歧指令同樣的處理。 文扣7數之 之俨Π!、在本實施例4 ’因為將以分歧指令「BJMP」 二所指定之分歧目的地為止的指令碼,:i 0P來處理,所以不改變指令數目:作 分歧相同的分歧動作。因而,八Λ此幻獲付和無條件 單’ *能夠因此在内部上不用:t:之:址運异變得簡 不用執仃不須要之佇列緩衝器 並且 之構造,減少分站之怀夕里抽^/月除所以,此夠以簡單 然而,第5圖之二:而能夠提昇處理速度。 為止存在之之 =、兄ΐ被標記指定之相對位址 3以卜。而士 A 2種隋況,但疋此指令數當然亦可為1洸 上一而成為Ν0Ρ處理之對象之指令,亦不局限於^或 上所示的增加指令I NX、INY。 、 圖 530263
五、發明說明(16) 但是,在上述各實施例,指令解碼器6, 指令「歷…夺,對仔列控制器5,輸歧 之既定之控制信號,然而特別地亦可不对宁列了 ^止^ = 二制?:來禁止符列緩衝器2之清除。此時= 制為5,成為在控制信號被輸入之時,執行清除。 工 [發明效果]
如以上所說明地,根據本發明,追加新的分歧指令 (BJMPj ’而藉由此分歧指令(BJMp),將被指定之分歧目的 地之前面為止之指令,當作該分歧指令(BJMp)之運算元來 處理=,而仵列緩衝器之指令數成為可變,將含有上述運算 70 f該分歧指令之指令字組長,輸出至程式計數器,來更 新,式計數器之位址,同時在此分歧指令(BJMP)之時,不 ,二侍列緩衝器之清除,所以造成分歧之際之位址運算變 簡單’而能夠因此在内部上不用設置複雜之電路構造,並 且在分歧之際,能夠不用執行不須要之佇列缓衝器之清 除 因而,能夠以簡單之構造,減少分歧之際之再找取, 而能約提昇處理速度。
^ 根據有關下一個發明之微處理器,在分歧目的地之指 疋上使用標記(1 abe 1 ),所以能夠不用指定分歧目的地 為止之相對位址,而執行分歧。而以簡單之構造,能夠減 少刀岐之際之再找取,而能夠提昇處理速度。 根據有關下一個發明之微處理器,在分歧目的地之指 卜 匕 — ’指定了該分歧指令和分歧目的地之相對位址,故以
530263 五、發明說明(17) 簡單之構造,能夠減少分歧之際之再 理速度。 取而此夠k什處 有關於下一個發明之微處理器, 之指令開#,事先被設定之既定相對:: 令’來執行上述佇列緩衝器之輸入出 之和 指定負的相m, 山k制,同時因為可以 _ A; 相對位址,所以造成可以分歧至t4彳目丨1品此 夠以簡單之m i 又王員位址側。而能 理速Γ構造’減少分歧之際之再找取,而能夠提昇處 賺有)關:::個發明之微處理器,追加新的分歧指令 地前面分it令(謝)’將被指定之分歧目的 與_指令Λ人#作指令來處理,將該分歧指令 新程式計蠢„ 7子組長’輸出至上述程式計數器,來更 執行仔列’同時在此分歧指令(bjmp)之時’不 得簡單,、、衝為之清除,所以造成分歧之際之位址運算變 內二卜;!並且分歧之際,指令數亦不變更。藉此,能夠在 執i不須iLi複雜之電㈣造’並且在分歧之際’不用 造,減乂 =之知列緩衝器之清除。因而,能夠以簡單之構 k //分歧之際之再找取,並能夠提昇處理速度。 [圖式簡單說明] 1 p^j m係表示有關於本發明之微處理器之内部構造例 之万塊圖。
第2 R 圖係表示為了說明本發明之實施例1之指令列之 圖。
2111-4342-PF.ptd 第21頁 530263 五、發明說明(18) 第3圖係表示為了說明本發明之實施例2之指令列之 圖。 第4圖係表示為了說明本發明之實施例3之指令列之 圖。 第5圖係表示為了說明本發明之實施例4之指令列之 圖。 [符號說明] 2佇列緩衝器(指令佇列) 4輸出指標器, 6 解碼器, 8 程式記數器, 1主記憶體裝置 3輸入指標器, 5佇列控制器, 7實行部, BJMP分歧指令。
2111-4342-PF.ptd 第22頁
Claims (1)
- 1 · 一種微處理器, 主記憶體; 仔列緩衝器,儲存 程式記數器,產生$ ^記憶體所預先找取之指令; 令之位址; °己憶著主記憶體上之接著實行之指 指令解碼器,解讀從 之;以及 述佇列緩衝器所輸出之指令 仃π徑制部 上述佇列緩 其特徵 上述指 之指令,為 指定之分歧 運算元來處 指令字組長 之位址,同 2 ·如申 述分歧目的 3 ·如申 述分歧目的 地之相對位 4 ·如申 仔列控制器 定之既定相 衝器之指令 在於: 令解碼器, 既定之分歧 目的地之前 理,並將含 ’輸出至上 時不執行佇 請專利範圍 地之指定上 請專利範圍 地之指定上 址0 0月專利範圍 ’殘存了從 對位址份前 上述程式記數器之輸出 之輪入出控制; 執行對於 二f,知從上述符列緩衝器所輸人 々^ ’即藉由此分歧指令,將被 =為止之指令,當作該分歧指令之 述運算元部分之該分歧指令之 二^ ^十數器,來更新程式計數器 =緩衝器之清除。 第1項所述的微處理器,其中於上 使用標記(1 abe 1)。 第1項所述的微處理器,其中於上 #曰疋了該分歧指令和分歧目的 =3項所述的微處理器,其中上述 f 1皮實行之指令開始,事先被設 複之指令’來執行上述佇列缓530263 六、申請專利範圍 衝器之輸入出控制 而可以將負的相對位址,指 5· —種微處理器,包括: 馬上述相對位址。 主記憶體; 儲存從此主記情研 產生記憶著主1C取之指令; G體上之接著實行之指 佇列緩衝器 程式記數器 令之位址; 解讀從上述传列緩衝器所輸出之指令 指令解碼器 以及 佇列控制部,使用上述程式記 上述佇列緩衝器之指令之輸入出控制裔之輪出,執行對於 其特徵在於: ' ’ 上述指令解碼器,一旦認知 J指令,為既定之分歧指令時 r宁列緩衝器所輸入 才日定之分歧目的地之前面^ =由此分歧指令,將被 -^ ^ ^ ^ ^ΝΟΡ Λ Λ^Ν〇Ρ ^ ^ 件列緩Κι;除更新程式計數器之位址1時不執行
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001142188A JP2002342075A (ja) | 2001-05-11 | 2001-05-11 | マイクロプロセッサ |
Publications (1)
Publication Number | Publication Date |
---|---|
TW530263B true TW530263B (en) | 2003-05-01 |
Family
ID=18988537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW090122725A TW530263B (en) | 2001-05-11 | 2001-09-13 | Microprocessor |
Country Status (6)
Country | Link |
---|---|
US (1) | US6862680B2 (zh) |
JP (1) | JP2002342075A (zh) |
KR (1) | KR100465250B1 (zh) |
CN (1) | CN1385782A (zh) |
DE (1) | DE10201439B4 (zh) |
TW (1) | TW530263B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7162617B2 (en) * | 2003-02-14 | 2007-01-09 | Fine Arc Incorporated | Data processor with changeable architecture |
JP2005149297A (ja) * | 2003-11-18 | 2005-06-09 | Renesas Technology Corp | プロセッサおよびそのアセンブラ |
CN100492279C (zh) * | 2006-07-27 | 2009-05-27 | 中国科学院计算技术研究所 | 对复杂指令译码生成微码的译码装置和方法 |
US8166277B2 (en) * | 2008-02-01 | 2012-04-24 | International Business Machines Corporation | Data prefetching using indirect addressing |
US8209488B2 (en) * | 2008-02-01 | 2012-06-26 | International Business Machines Corporation | Techniques for prediction-based indirect data prefetching |
US20170075572A1 (en) * | 2015-09-11 | 2017-03-16 | Sandisk Technologies Inc. | Extending hardware queues with software queues |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61211744A (ja) * | 1985-03-18 | 1986-09-19 | Nec Corp | 命令先取り制御装置 |
JPS63178335A (ja) * | 1987-01-20 | 1988-07-22 | Mitsubishi Electric Corp | マイクロプロセツサ |
JPH0540624A (ja) * | 1991-02-05 | 1993-02-19 | V M Technol Kk | 集積回路マイクロプロセツサの命令フエツチ装置 |
JP3182438B2 (ja) * | 1991-10-28 | 2001-07-03 | 株式会社日立製作所 | データプロセッサ |
JP2694799B2 (ja) | 1993-09-07 | 1997-12-24 | 日本電気株式会社 | 情報処理装置 |
JPH07239781A (ja) | 1994-02-25 | 1995-09-12 | Hitachi Ltd | 情報処理装置 |
US5764946A (en) * | 1995-04-12 | 1998-06-09 | Advanced Micro Devices | Superscalar microprocessor employing a way prediction unit to predict the way of an instruction fetch address and to concurrently provide a branch prediction address corresponding to the fetch address |
US5889986A (en) * | 1997-01-28 | 1999-03-30 | Samsung Electronics Co., Ltd. | Instruction fetch unit including instruction buffer and secondary or branch target buffer that transfers prefetched instructions to the instruction buffer |
JP3498831B2 (ja) | 1998-06-30 | 2004-02-23 | 松下電器産業株式会社 | プログラム制御方法およびその装置 |
-
2001
- 2001-05-11 JP JP2001142188A patent/JP2002342075A/ja active Pending
- 2001-09-13 TW TW090122725A patent/TW530263B/zh not_active IP Right Cessation
- 2001-09-21 US US09/956,908 patent/US6862680B2/en not_active Expired - Fee Related
-
2002
- 2002-01-15 KR KR10-2002-0002197A patent/KR100465250B1/ko not_active IP Right Cessation
- 2002-01-16 DE DE10201439A patent/DE10201439B4/de not_active Expired - Fee Related
- 2002-01-16 CN CN02101873A patent/CN1385782A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN1385782A (zh) | 2002-12-18 |
US6862680B2 (en) | 2005-03-01 |
KR20020086214A (ko) | 2002-11-18 |
US20020169945A1 (en) | 2002-11-14 |
DE10201439A1 (de) | 2002-11-21 |
JP2002342075A (ja) | 2002-11-29 |
DE10201439B4 (de) | 2005-03-03 |
KR100465250B1 (ko) | 2005-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5431308B2 (ja) | システムおよびパイプラインプロセッサにおける条件命令実行の加速のためのローカル条件コードレジスタの使用方法 | |
KR102659813B1 (ko) | 레지스터 리네이밍을 사용한 무브 명령어 처리 | |
US7624253B2 (en) | Determining register availability for register renaming | |
US6219773B1 (en) | System and method of retiring misaligned write operands from a write buffer | |
US6502188B1 (en) | Dynamic classification of conditional branches in global history branch prediction | |
US9323530B2 (en) | Caching optimized internal instructions in loop buffer | |
EP1296229B1 (en) | Scoreboarding mechanism in a pipeline that includes replays and redirects | |
KR20010075258A (ko) | 간접 분기 목적지 산출 방법 | |
GB2363873A (en) | Processor and Method including a Cache having Confirmation Bits for Improving Address-Predictable Branch Instruction Target Predictions | |
KR20150008484A (ko) | 명령 프로세싱 회로들, 및 관련 프로세서 시스템들, 방법들 및 컴퓨터―판독 가능 매체들에서 반대 컨디션들을 갖는 조건부 기록 명령들의 융합 | |
US5740398A (en) | Program order sequencing of data in a microprocessor with write buffer | |
US20110185158A1 (en) | History and alignment based cracking for store multiple instructions for optimizing operand store compare penalties | |
CN101884025B (zh) | 用于使过程返回序列加速的方法和系统 | |
US8239661B2 (en) | System and method for double-issue instructions using a dependency matrix | |
EP1388053A1 (en) | Issuance and execution of memory instructions to avoid read-after-write hazards | |
TW530263B (en) | Microprocessor | |
JP2007087108A (ja) | 演算処理装置,情報処理装置,及びレジスタファイルの制御方法 | |
US9626185B2 (en) | IT instruction pre-decode | |
CN102349051A (zh) | 用于在数字处理器中执行跳转操作的方法和设备 | |
KR102521929B1 (ko) | 레지스터 리네이밍, 콜-리턴 예측 및 프리페치의 구현 | |
JP5154763B2 (ja) | 複数の命令セットデータ処理システム内の条件付分岐命令エンコーディング | |
US20240045694A1 (en) | Differential pipeline delays in a coprocessor | |
EP1220091B1 (en) | Circuit and method for instruction compression and dispersal in VLIW processors | |
JP5115555B2 (ja) | 演算処理装置 | |
US6175909B1 (en) | Forwarding instruction byte blocks to parallel scanning units using instruction cache associated table storing scan block boundary information for faster alignment |
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 |