JPS5991549A - 命令バツフアへの命令語格納方式 - Google Patents

命令バツフアへの命令語格納方式

Info

Publication number
JPS5991549A
JPS5991549A JP57201550A JP20155082A JPS5991549A JP S5991549 A JPS5991549 A JP S5991549A JP 57201550 A JP57201550 A JP 57201550A JP 20155082 A JP20155082 A JP 20155082A JP S5991549 A JPS5991549 A JP S5991549A
Authority
JP
Japan
Prior art keywords
instruction
branch
address
circuit
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP57201550A
Other languages
English (en)
Inventor
Shuichi Hanatani
花谷 修一
Masanobu Akagi
赤木 正信
Koemon Nigo
仁後 公衛門
Ritsuo Sugaya
菅谷 律雄
Toshiteru Shibuya
渋谷 俊輝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Priority to JP57201550A priority Critical patent/JPS5991549A/ja
Priority to DE8383111451T priority patent/DE3382350D1/de
Priority to EP83111451A priority patent/EP0109655B1/en
Publication of JPS5991549A publication Critical patent/JPS5991549A/ja
Priority to US07/286,021 priority patent/US4984154A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • G06F9/3806Instruction prefetching for branches, e.g. hedging, branch folding using address prediction, e.g. return stack, branch history buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead

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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 発明の属する技術分野 本発明はデータ処理システムの命令シーケンスのステッ
プに含1れる分岐条件判定ステップ実行処理に先立って
判別結果を子側しつつ次の命令の先取りを行ない命令バ
ッファに命令の待行列を形成セ゛しめるための命令バッ
ファへの命令語格納方式に関する。
従来技術 少なくとも1個の分岐命令を含む命令群が記1.は装置
に命令シーケンスの形で格納されているデータ処理シス
テムに訃いては、このような命令シーケンスの実行は、
次のように行なわれる。
まず、前記記憶装置の分岐元アドレスに分岐命令が格納
される。仄に、この分岐命令に引き続いて実行される命
令が先取りされる。このあと、分岐命令が実1■され、
この奥行結果により次に実行される命令が明らかになる
。このようなシステムtま米国特ill’ 4.20へ
927号に提案されている。しかし、このシステムでは
、分岐命令先取り制御において実行結果の判別時まで命
令先取り制御を停止させると、処理の迅速化が妨りられ
る。
この欠点の除去のため、分岐命令の実行結果を予め予測
しこの予測に従って命令先取りを行なう方式が提案され
ている。この予測が正しく行なわれたときにt」−、デ
ータ処理システムは処理時間の少ない遅れで稼働Jる。
例えば、そのような従来の予測方式としては次の3つの
方式がある。第1の予σ4り方式では、全ての分岐命令
の分岐先方向が成功側または不成功側のいずれか一方の
みに予測されている。
他の1つの予測方式では、過去の事実に基ついて分岐先
方向を予測する。すなわち、同じ分1岐醋令の過去の実
行結果において分岐先がすでに明らかにされているとい
う事実を用いてこの結果に基づいて予測を行なうことに
より予測的中率を茜めている。このような予測方式の代
表例が特開昭57−76638号公報に示されている。
さらにもう1つの予測方式では1分岐命令に対応して分
岐の方向を予測する分岐指示フラグを多数用意し分岐命
令の発生に応答してこれら分岐指示フラグを参照するこ
とによシ分岐先を予11tllしている。この例の詳細
は特開昭53−74857号公報を参照できる。しかし
、上述の3つのいずれの予測方式においても分岐命令の
読出し、解読が必要的 不可欠であシ、予測痺中にもかかわらずこれらの読出し
および解読動作外だけ処理が遅れるという欠点がある。
この欠点を除去する予測方式が![!f開昭57−59
253号公報に示されている。この方式で11、上記1
.(テ↓り置の命令部の写しである命令キャッジ−メモ
リのブロックに対応して該ブロック中に含寸れる分岐命
令の分岐先アドレスを、該ブロックの仄にノエッチされ
るべきブロックのアドレスとして!’tL憶手段に保持
している。命令先取り動作において、命令キャッジ−メ
モリへのアクセスと同時に前記記記憶手段をアクセスし
て前記分岐先アドレスを胱出し、R7eみ出された分岐
先アドレスにより先取りすべき命令のアドレスを決冗し
1いるA vLkいて、この方式は上述の従来の3つの
予測方式と異なり処理の迅速化にイ〕効である。しかし
、この方式では、食合キャッシュメモリのブロック対応
で予測するため、該ブロックに分岐命令が被数個存在す
るときにはそのそれぞれの分岐命令に対応して予測を行
なうことができない。この結果、精度の粗い予61す的
中率しか得られないという欠点がある。
発明の目的 本発明の目的tま上述の欠点を除去するようにした命令
バッファへの命令語格納方式?提供することにある。
発明の構成 本発明の方式tよ、分岐命令のアドレスλ指足する情報
とを勾にして被数対記憶する分岐ヒストリゾ−プル手段
と、 命令先取りjfII作の際に該命令先取り動作において
先取シされる分岐命令のそのアドレスを相ボする情報が
前記分岐ヒストリテーブル手段に登録されているか否か
葡調べる点検手段と、 該点検手段により前記分岐ヒストリテーブル手段に登録
される分岐命令が存在するときに該’tJ岐ヒストリチ
ーフル手段から対応する分岐情報を胱出し該分岐情報に
便い命令先取り動作を継続せしめるように制御する昔金
先取り制餉闇・段と、該命令先取υ副側1手段により前
記分岐ヒストリテーブル手段の記憶、内容に従い命令先
取り動作を行い該先取り命令の待行列を形層せしめる命
令バッファとから構成されている。
発明の原理と作用 本発明の%徴は分岐命令の実行における分岐方向に加え
て分岐先アドレスがその同じ分岐命令の過去の結果の把
握により比教的商い的中率で予υ1り可能であるという
事実に基ついて装置が動作することにある。
発り]の実施例 Vζに本発明の一実施例を図面を参照しτ詳細に説明す
る。
第1図を影照すると、本発明の一実施例は、命令アドレ
ス生成回路401、命令アドレス変換回路402、茄令
屏抗回路4o3、オペランドアドレス生成回路404、
オペランドアドレス変換回路405、刊ペラント記憶回
路kmするオペランド脱出し回路406、命令実行回路
407、命令部1.は回路408、命令バッファ409
、分岐ヒストリテーブル(IJIIT)410、加令ブ
トレスレジスタ411、命令アドレス加力−回路412
、分岐情報バッファ413、詰合整夕1律41y’64
14、分岐情報切換回路4151分肢情報し/フタ41
6.417.418、および419、手酌(M回路42
0、アドレス生成回路421、選択回路422、レジス
タ423、命令先取り制御回路424およびフリップフ
ロップ425がら構成されCいる。
加令記憶回路4083−よひオペランド脱出し回路40
6内のオペランド記憶回路はともに上記tv装置そのも
のであっ又もよく、さらに命令記憶回路408が主記憶
装置の命令部の一部の写しである加令キャッシュメモリ
、前記オペランド記憶回路が主記憶装置のオペランド部
の一部の写しであるオペランドキャッシュメモリとして
構成されつる。
本発明は前述の命令の処理単位に対応した装随構成を必
ずしも有する必要はなく例えは命令アドレス生成回路4
01とオペランドアドレス生7J14回P6404、命
令アドレス変換回路402とオペランドアドレス変換回
路4す5、命令部用、回Il′Ij408と刊ペラント
軌出し回路406内の記1怠回路が共用婆れたコンヒュ
ータシステムに2いても適用されイ(する。
前記分岐ヒス) l)テーブル(13)11’、141
0は分岐命令のアドレスを指定する情報と該分岐6r令
の実行の予6111としての分岐成否フラグと分岐先ア
ドレスを第3図に示すように対にして記憶している。前
記命令記憶回路408に対する前記命令アドレスレジス
タ(IA几)411は、命令脱出しのリクエストアドレ
スを保持して命令の胱出し動作;r実行する。
さらに前記命令アドレスレジスタ41t(IAlすはえ
て保持するレジスタである。前記予fi11確認回路4
20は分岐命令の実行によって生成される実際の分岐命
令の生成結果と前記分岐情報レジスタ41Hに保持され
る該分岐命令の予測情報との一致をとる回路である。前
記アドレス生成回路421は前記分岐情報レジスタ41
9に保持される分岐命令のアドレスと該分岐命令1井の
命令語長と紮加算し分岐N0(JUllljの命令のf
b令アドレスを生成する。
前記選択回路422は分岐命令成否、41号線111の
状態に応答して該4ハ号線の状態が分岐(JOを示ずと
き糾115(r介して与えられる前記分岐情報レジスタ
419に保持される分岐先アドレス部の出力を選択し、
前記純の状態が分岐NUU(J >示すとき糾116 
k介して力えしれるOjj記アドアドレス生成回路42
1カケ3八択し、信号I%l 113をブrして該3f
3択回路422の出力をレジスタ423に供給するっi
1j記レジスク423 &、J、分岐命令の予測が失敗
したとき分岐ヒストリチー2ル41 o (JJIt’
1つ金史順するだめのものであり、信号線i l 7 
t−介して命令アドレスレジスタ411 (IAIりに
命令先取りのための新たなアドレスを供給フる。削−記
詰合先取り制御回路424は線106を介して分岐ヒス
トリブーフル410 (DH’1つから与えら扛る分岐
予測(6号および予測確認回路から線112を介して力
えもれる予測成否信号に基づいて命鎗アドレスレジスタ
411(IAHJの入力を制御する回路である。
次に前記分岐ヒストリテーブル410 (Llll’l
’ )、前記予測確認回路420およびMiJ記命令先
取り制御回路424の詳細なブロック図とタイムチャー
トを参照しながら本実施例の動作を詳細に説明する。
第2図を参照すると、前記分岐ヒストIJテーブル41
0 (HHT ) 11−J、、ティレフトリ記1.は
部501、テータ記憶部502、テスト回路、503.
504.505、お↓ぴ506、プライオリティ回路5
07、L/ ヘ)b選択回路508、およびオア回路5
09’k(屈えている。前記記憶部501Pよび502
は、1回のリクエストに対して命令記憶回路408から
読出される命令語の単位ヶブロックの単位とし、セット
数111、レベル数nの記憶部である。
第3図を参照すると、記憶部501には分岐命令の分合
アドレスの一部とその内容が南効か否かゲ示ずVビット
が格納され記憶部502には、分岐先アドレスの実アド
レスが格納されている。前記Vヒツトは対応する分岐ヒ
ストリチーフル(BklT )41(+のワードの七効
性ケ示すと同時に該分岐命令の実行の予411jとして
の、分岐成否フラグの機能をイ1する。この分岐ヒスト
リテーブル(H)(’lす410への索引は以下のよう
なセットアソシアティフ法によって行われる。
第5図に示される前自己テスト回路503,504.5
05、および506はテーブル410の谷レベルに対応
して都令アドレスレジスタ411(IAiりに保持ネれ
るリクエストアドレスが各レベルのLlll’l’−A
Ai(iはレベルに対応するザフィクスを示す〕に登録
され−Cいるか台かを示す信号を信号線130.1:H
,132,133に出力する。
第4図葡飴照すると、前記テスト回路503.504.
505および506のそれぞれは、一致回路7 (+ 
1および大小比較回路702から構成されている。前記
比軟回路701では、命令アドレスレジスタ(IAI(
、)411に保持されるリクエストアドレスの一部IA
R(:18−28)にセットアドレスとして読出された
記憶部501の各レベルの内容とを計C出し前記レジス
タ411の内容IAIも(:4−17)とが比較され、
等しいアドレスが存在するか台かを検出する。該一致回
路701の出力により命令アドレスレジスタ(lAlす
411に保持されるリクエストアドレスで読出されるべ
き命令17ftの513y t eブロック中にすでに
分岐ヒストリテーブル(BLtT ) 410に登録さ
れた分岐命令が存在するか否かが、判明する。しかしリ
クエストアドレスとそれが読出すべき分岐命令との対応
tとるには上記一致検出のみでは不十分である。第5図
を参照すると、1回のリクエストで読出される8’1J
yteの命令語のブロック中に213yte命令13c
o、A、bcI  13C2の4個の命令が存在する。
命令IJc(1、BcI、BO2がともに分岐成功と子
供]された分岐命令であるときには、各々の分岐命令は
ともにそのアドレスの一部が記憶部(13111’−A
A ) 501に笠録される。
このとき他の分岐命令から命令Aに分岐して6n令Aリ
アトレス<h>が前記命令「11のブロックを読出すた
めのリクエストアドレスとして命令アドレスレジスタ(
IAIす411に保」もされるときには、分岐ヒストl
)デーフル(川11つ410から読出されるべき分岐式
1)介の情報tま命令の実イJの経路がら分岐命令BC
1の情報でなけれはならない。
従ってnil Ffeレジスタ(IAR)411に保持
されるリクエストアドレスと前記記憶部(13)1’l
’−AA i )501に保持される分岐命令のアドレ
スとの関係が上記の一致条件とともに次の関係か成立す
るとき対応うるレベルのlJl■’l’−Hl ’l’
 i信号が生成8れる。
このイ、−1号は線130−133’i介してオア回路
509にJjえられ、該用ムi’−II I ’l’ 
i伯カのオア信号が糾1o6i弁して出力され分岐予測
イ目号(IJI l’l’−4」l ’l’信号)とな
る。
JJlj’l’−111TI=  (lA1も(:4−
1υ=lJII’l’−AAi (: 4−17 ) 
)()(ii\jも(:29,30)SLllIi’−
AAi (:29,30月fl JJI IT−Mt 
(V ) (’+び一″144図客参照ずろと、前記大小II藪回
路は、この条件郁爽現うる回路である。さらに前記信号
BH’l’−HI T Iの条件が2ヶ以上のレベルに
おいて成立したとき記憶部り01の対応するレベル(l
Jll’l’−AAi)に保持される分岐命令のアドレ
スの 813yteブロツク内アトvスB11T−AA
 i (: 29.30 )の値の最っとも小ちいレベ
ルが選択される必巽がある。
再び第5図を参照すると、命令13c1およびBC2の
分岐命令関係情報が格納される分岐ヒストリチーフル4
100レベルでiij記伯号信号’l’ −b l ’
l’ iΦ件が共に成立する。このとき命令の実行のれ
路から命令BC1に対するレベルが選択される必読があ
る。前記プライオリティ回路507は、NiJ記伯号信
号’l’ −)i I ’11” iの2ケ以上の成立
に対うるものであり、この出力により記憶部BUT−J
JA 502のセットアドレス1Aa(: 18−2 
s )で示されるエントリの分岐先アドレスがレベル選
択回路501介しで続出される。
第6図を参照すると、前記プライオリティ回路507は
アンド回路If601−604およびオア回路群605
−fjυ8から(h成されている。n1Jtf己−アン
ト回路計601−14&よ11+1個兼列に配置されて
いる。
前記f142図におり−るレベル選択回路508の選択
信号は第6図に分ける信号VO1ν1、V2、V a 
V?Lより以下のように与えられる。
Vo (/、l ト@       VoLu、VOL
l、・・・・・・、VOj、nVo・VI〕とき   
VIIJOlV ILs、−・−・、VtLnν0−V
l・ν2v)ト@  、VzL、o、V 2 L 1.
 ・・・−1V2LnVo・Vl・V2・Vaノド@ 
 VaLo、VaLl、−=−1V al、n以上のよ
うにして42図におりるレベル選択回路508から肌用
された分岐情報は第1図の命令記1、い1回路408か
ら読出される命令と対ルし、つけることかpJ能である
第9図には、命令記憶回路408における命令と分岐ヒ
ストリゾ−プル(b)tiつ410における分岐情報の
上’ar29.;J応四係が示されている。命令の実行
j県庁が命令AO1分岐命令BCo、B1、BCI、B
2、B3.13Cz、C1、C2・・・と予測された場
合である。なお、q>はA命令リアトレスを、bcIは
分岐命令奮それ−むれ示す。
第10図f f51ttすると、前記第9図に示した分
岐ヒストリテーブル13H’l’ 410による命令先
取り動作は次のようにされる。リクエストアドレスの命
令アドレスレジスタ411のセットに応答して18n令
記憶回路408から命令飴が読出さIL、これと同時に
チーフルB)1’l’ 410が索引される。信号線1
06’に介してBH’l’−Hl ’1’信号が出力さ
れると記憶部B)l’l’−1JA 502の分岐先ア
ドレス<Bl〉がアドレスレジスタ411+’(:セッ
トされ、次の命令先取りが行われる。前記信号線106
r介して1311T−が与えられ、「8」加算されたア
ドレスが出力され、次の鯵令先取りか逐次性われる。
以上の命令先取りに従えば命令記憶回路408から読出
される命令胎は、テーブル1jll’l’ 410の内
容による予測に従って順次続出され、命令バッファ40
9には予測された命令の実行順に格納することが可能で
ある。
このときたとえ信号H)iT−)i 1 ’1’か出力
されても分岐予測方向と反対側の命令先取り動作(f 
 i’H11行わセしめたシCに分岐予測方向の命令先
取り動作ケ行ってもよい。
以上のようにして細分先取り芒れた部会か分岐命令で第
1図の命令整列回路414により館令解胱回路403に
専〃・れたとき同時に該分岐命令に対応する分岐情報が
最初の分岐情報レジスタ416(QILO)にセットさ
れる。
以降ii+記分岐邸令の進行に伴い前記命令解読、アド
レス変換にメ・」応して目11記分岐怪報が第2および
第3の分岐情報レジスタ417 (QRI )および4
18 (Ql(,2)に転yムされる。そして削りし分
岐都令の実行によって生成される実際の分岐命令の生成
結果と111配分岐情報レジスタ418 (QR2)に
保持される該分岐都令の手押)1h報との一致が子側イ
1w認回路420によりチェックされる。
弔8図をに照すると、前記予測確認回路420は比較回
に’6801、フリップフロップ802hよび803、
−7 ノド回路5o4−806.A偽回路8o72よひ
808、およびオア回路809力・ら構成されている。
前記孔板回路801には分岐命令の実行により生成され
た分岐先アドレスの爽アドレスが都令アドレス変換回路
402から信号線109を介して与えられるとともに、
分岐情報レジスタ418(Qlt2 )から予測された
分岐先が線108を介して与えられる。
前記比軟回路801では両者の一致、不一致が1矩され
る。判定結果と前記レジスタ418から線108金介し
て与えられるVビットがアント回路806に力えられる
。論理積給茶により分岐00と予測されたとさこの事実
を丁す信号が7リツプノロツグ802にセットされる。
このノリツブフロップ802の出力が”′1″て実際の
分岐都令葡実行した結果が分岐N(J(JOであれはア
ント回路805から予i!fi」(jO失敗信号123
が生成される。前記フリップノロソゲ801の出力がI
I、++で分1岐昂′令の実行結果がGOであれはアン
ド回路804から予沖jN(JUO失敗伯号信号4が生
成される。さらに該信号124とtill 612予測
00失敗伯号123との帥埋オ■かオア回路809から
手引l」失敗信号112として生成さ7しる。
第1図および第11図を骸Jl+4.すると、分岐11
3慢レジスタ419 (QR:()の分岐先アドレス部
にはm1記茄令アドレス久換回路402から新たに生成
される分岐先アドレスがセットされる。壕だFnJ記力
岐情報レジスタ419 (QIL3 )の分岐命令)3
C1のアドレスfX’lの内容と該分岐命令L(C11
月の茄省飴長部の内容とがアドレス生成回路421によ
り加p−され分岐N(JU(Jlllの命令の命令アド
レスが生成される。
ぞし又分岐命令IJCIの実際の実行により分岐GOな
らば前記分岐情報レジスタ419(Ql(3)から線1
15’を介して与えられる分岐先アドレス都の出力<i
ll>が分岐N(J(JUならI′i線116を介して
与えられるアドレス生成回路421の出力りB2〉が選
択回路422により迅択される。前記分岐命令BCLの
予6(す失敗信月112が予測確認回路421から発生
したとき該選択回路422の出力<Iu>が線113 
′fj:弁し又レジスタ423(W)りにセラ[・され
る。
−力分岐16報レジスタ419(見1モ3)の分岐命令
のアドレス(jJCl>は信号!%)114i介して食
合アドレスレジスタ411(lAiすVCセットされる
。ここのアドレスeよ該分岐命令に対応うる’rJ11
L+−ヒストリチーフル410 (BH’l’ )の更
新のため糾101葡介して該テーブル410にライトッ
ドレスとして供給される。前記予測失敗信号112の出
力がノリツブフロップ425に与えられ、この出力が指
示パルスとしてftMl19’に介してチーフル401
に与えられる。この出力に応答して分岐命令の次の都令
先取り時のための分岐予測情報の更新が行なわれる。
この更新は本実施例では予測N0GO失敗のと@ Fi
il記レジスタ423(WJに保持される新たな分岐先
アドレスで行なわれ、予測GO失敗のとさはVビットに
リセットするように行われるが分岐予測情報の更新にお
りるアルゴリスムを用いて他の方法により行なっても差
しつかえない。予測失敗したとき予測側に後続する昔令
の動作はすべてギャンセルされ、1lrlJ記レジスタ
423(’Wit)に保持憾れる新たなリクエストブト
レスが分岐ヒストリゾ−プル410 (BHT )の更
新後に命令アドレスレジスタ411(IAI切に供粘さ
れ改め℃命令の取出しか開始される。
第12図を参照すると、niJ記66令先取りfit!
I al1回路424はノリツブフロッグ120LA9
4回路1202−1204およびアント回路1205か
ら楕成畑れている。rJ’JFieフリソノ゛フロップ
1201は前記予測失敗信号112を1マシンツイクル
保持するだめの7リツプフロツグである。この回路42
4の出力はアドレスレジスタ411の前段にめるセレク
タの選択権yy (ij号となる。この熱択指示信号は
、前記邸令アドレス加η1回路412の出力、前記レジ
スタ423の出力、niJ記チーフル410の出力、P
よひ分岐情報レジスタ419の出力のうちのどれを迷択
うるかを指示するだめの信号である。
なお、この命令先取り制御回路424の制御により分岐
予測が[」す中したときには後述する第16図の命令処
理が1工なわれ、分岐予測が失敗したときには後述する
第17図の命令処理が行なわれる。
前記節介アドレス加n−回路11は#106に弁しで川
1“I’−11JT伯号が出力されないとき分1眩N0
(j(J(Illの命令先取りケ行うだめのアドレス生
成ケ行つ、このときアドレスは実アドレスで加其が行わ
れるたM)に、1タリえt」、ベージングを行うコンヒ
ュータシステムにおいて前記アドレス加悦−がベージ境
界を越えた場合アドレス変換を改めてやり圓う必要が生
じる。このために前記命令アドレス生成回路11にペー
ジ境界越え検出回路を設は該検出回路によりページ境界
越えが生じた場@′信号1NLllにより命令アドレス
生成回路1を起動し命令先取り動作を改めて命令アドレ
ス生成回路(LA)401及び命令アドレス変換回路(
1’l’ ) 4 U 2から行うように制御すれはよ
い。
ここで問題となるのはあらたに分岐ヒス) l)テーブ
ルB)i’l’410に前記命令アドレス情報を登録す
るとき既存のとの部分に格納された4h台アドレス情報
を追い出すかである。
この方法としては使われた順序、ラ−なわちjrZも古
く使われたものから1胆に追い出”’i−fJi L 
H・LJ (L(! −ast  Recently 
 [Jsed)情報が入ッ/jlli序、すなわち最も
古く入ったものから鵬に追い出す方法FIFO(Fir
st  In  l”1rst  Qut)等が6るが
とちらを用いてもよい。
発明の効果 次に方発明の効果全第13図から第17図を参照しなが
ら詳細に説明する。
第13図を参照すると、命令の処理は一般的に次の8つ
の処理単位に分けられる。
(IJ  IAステージ:実行すべき命令の命令アドレ
ス(論理アドレス)が生 成される。
(2) ITステージ:生成された命令アドレスのアド
レス変換がイ’Jわれる。
(3)  IUスデージ:変換された命令の実アドレス
で記憶装置から命令が絖 出される。
(a  1. JJステージ、読出された命令が解読さ
れる。
(5)  OAステージ:wf抗された命令のメペラン
ドアドレス(論理アドレス〕 が生成される。
(6)  O1’ステージ、生成されたオペランドアド
レスの7トレス袈換が行な われる。
(7)  (JCステージ:変換されたオペランドの実
アドレスで記憶装置かもオ ペランドが読出される。
(87EXステージ:命令が実行される。
上述の111ステージおよびOTステージのアドレス変
換においてアドレス変換バッファケ設は必要な変換テー
ブルが該アドレス変換バッファに存在すれは上記アドレ
ス変換処理は高速に実行し得る。
また、上記のIcステージおよびOCステージの命令お
よびオペランドの読出し動作において主記憶装置のデー
タの一部の写しを保持するキャツシーメモリヲ設は必要
な命令およびオペランドが該キャラツーメモリに存在す
れはICステージPよひOCステージの処理は高速に行
いうゐ。情報処理システムは上述の各処理単位に対応し
たlj 9−スを必ずしも有する必要はない。しかし、
説明の簡単のたゆにここでは各処理単位にその機能を果
す回路かあるものとする。上述のl’l’、 U’l’
およびIc、(JCの各ステージのt輌速処理が可能な
とき板数の命令の処理′lのlj]シれ乞゛無p人なく
央杓する8段のバイグライン111す餌1か1’J 6
にでわるう恒数のt’+iX令の処理紮第14図のよう
なパイグライン開側1によって1工す方式が板氷より広
く採用され1いゐ。
°Jなわち、ii−米のバイノライン制御動作を示す第
14図においt毛lJ令AUの犬に夾りされるぢ6令A
ir:、L時*lI t 3 ic 2V)るf5(i
令AO)解paシステージ11)のルLa粕ぢ)日′I
L 4s;っ懲、もし、命令A(Jが分岐命令でないな
らtJ、節介へ〇の命令アドレスにその加令1長を加コ
・すする。又もし命令AUが分岐節介ならtJその分岐
先′アドレスを求める。これら求められたれる。1発バ
イフライ71同何1に上れtJ、常に3ツイクA/ (
7) 07.ν・1クル奮伴1ノ欠点がある。そこでさ
らに進んた征米→ハ14 Itま旬令藺のh圧出しに卦
いて命令パラノア乞6すり、−回のリクエストで4B>
4七またはHljy t e t))設置靜の節介乏同
時にwし出し、靜倉)令バッファ上にn「+令の待行夕
l) (Q u cw−e )を形成さ一ヒることVC
−より111+拭615令1゛υすiうる方式が折ζこ
されている。
第15図を参照すると、該命令バッファをイ」する情報
処理システムの従来技術にb−いて核命令バッファの抗
出しステージであるICステージから逐次節介が供給さ
れる場合のパイプライン制1111が示されている。
この従来技術では、命令が逐次供給される限りロスサイ
クルをともなうことなくパイプラインfli制御を行う
ことができる。しかしなから以下の場合に2いて命令を
逐次供給することが不用能となる。
1、分岐命令を実行し分岐00となった場合2 命令の
供給が命令の実行に間に合わずfuj令バッファが鉋と
なった場合 第16図を参照すると該命7i)バッファ葡イj−J−
ろ情報処理システムの従来技術に3い−〔分岐葡fiを
実行した場合のパイプライン開側Iが丁されている。す
なわち命令AOは分岐命令DCの分岐中性を決足する命
令で該分岐条件はAOの笑行、l−11釆、すなわち、
時刻t5に2いて決足される。分岐命令13Cは時刻t
2において解りされると命令アドレスの生成回路におい
て分岐先命令131のアドレスが生成される。以後外1
シ【命令BCはB1@令を先取りするように動作する。
時刻t2、t3、t4、およびt5には分岐N(JU(
J側の後続命令Al、 A2、A3、およびA4の命令
の取出しが開始される。時刻t5において分岐化性の判
定結果により時刻t6以降は正しい命令の処理の流れに
従って処理が継続される。
その結果が分岐GO側であれは前記命令Al、A2、A
3、およびA4の処理2よび命令バッファ中で待行列を
形成している命令はすべてキャンセルされる。
この場合分岐命令の出現によるバイグラインのロスライ
フルは 分岐GOのとき    4サイクル 分岐N(JG(Jのと@  0サイクルであり分岐OO
率rが5分5分であるとしたとき1分岐命令当りの平均
的なロスサイクルは4Xr=2−リイクル である。
分岐命令による以上のようなロスサイクルを軽減させる
ためりさらに進んたシL来技Cトsは前記6α令バッフ
ァを命令の実行の経路(ストリームリに対応させて複数
個卑備し該複数個の命令バッファに命令全先取りラ−る
ことにより分岐命令の重速化を図るものである。すなわ
ち、分岐命令13Cに対して一つの命令バッファには命
令Ao、 BC,AI、A2、A3のように分岐命令B
Cの分岐N0G(J側の後続命令を先取りする。他の一
つの命令バッファには命令B1、B2、B3のように分
岐命令BCの分岐NCJGO側の後続命令を先取りする
。他の一つの命令バッファには命令B1. B2、B3
のよつに分岐命令BCの分岐()0側の後続命令の先取
りケ行う。分岐条件が確定次第前記命令バッファからの
胱出しケ切替えるように制御される。しかしlからこの
従来技術においても分岐命令の直前の命令で分岐条件の
J1!新を行った場合のように分岐条件の確>Ji待ち
が生じる場合には実際的な効果Cよない。さらには、複
数個の命令バッファに節介胎を供給する必歎から情報処
理システムの性Hしにふ゛いて命令の実行よりも該命令
バック、への命令飴の供給限界となる−8が多い、 8117図お・よびi1↓18図1J本<1.明による
ん令の処理の流れを示している。
木兄り」におりる向i令の処1!!14卸、恒1cステ
ージは命令ゲM+2億装置Kから軌出す機能の他に、分
岐ヒストリチーフル14引しルも出される節分のアドレ
スが該分岐ヒスh IJケチ−ルに登録されているか台
か’を検出し、登録され−Cいれは対応する分岐情報を
読出し、登録されていなけれeよ後続命令り命令先取り
のだめの7トレスケ生成する機能を壱する。
出目(ン1および第18)ネl r1!!’、−j−る
と、分岐611令13Cの時刻tlに2りる動作は次の
ようにしてイーJなわれる。−まう、該分岐命令Bc力
稀i合キャッジ−メモリから1ノを出されると同時に分
岐ヒス) l)テーブルが索引される。該分岐命令13
Cの陥令アドレスが登録されていれは対応する分岐情報
が読出きれる。該分岐111報乞分析した結果、分岐J
J(J側の予測としで該多J−Ill支1^報中に包ま
れる分岐先アドレスにより分岐先命令B1の命令先取り
を開始するかもしくは分岐NUU(Jllllの予測と
して分岐NUUU側のf、 @A 1の命令アドレスを
生成して命令A1の先取りを開始するかが決別される。
以降時刻t5において分岐条件が決尾される。予d1昨
ジ中時には第17図に示すようにパイプラインの流れは
乱れを生ずることなく処理が継続される。予′61す失
敗時には第18図に示すようにt6時刻でIII Me
多〕岐ヒストリテーブルの良菊[ヲ行った後に正しい命
令の流れから命令の取出し紮行うように制御される。
この場合分岐命令の出現によるパイプラインのロスサイ
クルは 予測が的中したとき   0ザイクル 予測が失敗したとき   5ザイクル である。予測的中率αはこの場合分岐方向たけでなく分
岐先アドレス乞も予測することがら分ill<ζ方向だ
けの予測に比べ若干低くなるがその割合は機微たるもの
である。従って、予61す的中率α=0.8として1分
岐命令当りの平均的なロスサイクルは0・α+5・(l
−α)=1ツィクル となり従来技術に比べて格段に改良される。この発明で
fjl、分岐命令のアドレスと該分岐命令り分岐先アド
レスケ塩む分岐情報と1対にして記1.はJる分岐ヒス
トリチーフルkfr6令先取り時に索引する。このあと
で前記分岐先アドレスで次の命令先取りを行わせしめる
ことにより命令の解読ケ行うことなく iil記分岐ヒ
ストリチーフルの記述に従って命令語を先取りすること
ができる。このことにより本561JJは該分岐ヒス)
 IJケチ−ルの記述か止しい、嚇合に限り命令バッフ
ァには命令の実行の経路に従った命令の待行列を形成せ
しめ、情報処理システムのパイプライン制御に督リク分
岐命令の実行をロスライフルをともなうことなく行なう
ことができるという効果がある。
【図面の簡単な説明】
i=+41図tま不発明の一笑#j例奮示す図、第2図
は分岐ヒストリテーブルの計卸1な構成を示す図、第3
図は第2図の記憶部501および601の記憶形式な゛
示す図、第4図は第2図のテスト回路503−−506
の肝細な(1γ成奮示す図、第5図は葡令飴の構成を7
Jりすlス1、第6図は第2図のブライオリティ回路5
07の計細な構成を示す図、i1% 7図は第1図のレ
ジスタ417−419の格納形式1示す図、第8図は第
1図の予測確認回路420の計細なイ1゛4成を示す図
、第9図は第1図の命令記憶回路408にPe)る命令
と分岐ヒストリテーブル410に分りる分岐情報との対
応関係を説明するだめの図、第10図は第9図のテーブ
ル410による命令先取り動作を説明するための図、第
11図は予6111失敗時に2ける命令先取り動作開始
までの動作ケ祝明するだめの図、第12図は第1図の命
令先取り制御回路の詳細な構成を示す図、第13図は命
令の処理の流れの概要を示す図、第14図、第15図2
まひ第16図は従来のも6令の処理の流れケ示す図、第
17図は本発明において、分岐命令の子細]が的中した
ときの命令の処理の流れ會示ず図、および弔18図は本
発明において分岐命令の1・側が失敗したときの命令の
処理の流れを示す図である。 第1図から第18図に1いて、401  ・・・f□1
.令アドレス生fi!<回路、402・・・・・・匍令
アドレス入倶回路、403・・・・・・命令解脱回路、
404 ・・・・オペラントアドレス生成回路、405
  :A−ペランドアドレス変換回r白、40 (i・
 メペランF−n凡用し回路、407 ・・・命令害行
回路、408・・・・・・后11省記憶回路、409・
・・・・(、、i合バソノア、410・・・・・・分岐
ヒストリゾ−フル(13111つ、411・・・・都令
アドレスレジスタ(iAIす、412・・・・・・匍令
アドレス加J1−回路、413 ・分岐情報バッファ、
414・・・・・命令報列回路、415・・・・分岐情
報切換回路、416 ・・・分岐情報レジスタ(りもO
)、417・・ 分岐情報レジスタ(QRI)、418
・・・・・分岐情報レジスタ(QJt 2 )、419
・・・・・・分岐情報レジスタ(Qlt 3 )、42
0・・・・・・予測作認回路、421・・・・・・アド
レス生成回路、422・・・・・・泗択回路、423・
・・・レジスタ(W1リ 424・・・・命情先取り制
御回路、425・・・ ノリツブフロップ、501.5
02  ・・・・・・記憶部、503.504.505
.506・曲゛テスト回路、507・・・・・ブライオ
リティ回路、508  ・選択回路、509  ・・・
刊ア回路。 代理人 弁理士  内 原   晋 県l閉 りθ2      ロ ヤ213 圀 1t11  t2+i3+f:411:51t61t7
 l taltQlt101tlプl?:/21范14
 図 1亡b  lt+  1t21f31t4)tLslt
61乙711θ1第711θ1 柔151t11t2It31f41t51t6It7I
β2              回 出16 T23 1 tol t、tl tl1 t31 ta It、
51 t61第77図 1 toltr’t21t31t41t5’ tb’t
71tal草18 図

Claims (1)

  1. 【特許請求の範囲】 情報処理システムにおける命令先取り装置において。 分岐命令のアドレスを指定する情報と該分岐命令の分岐
    先アドレスを含む分岐情報とを対にして複数対記憶する
    分岐ヒストリテーブル手段と、命令先取り動作の際に該
    命令先取り動作において先取りされる分岐命令のアドレ
    スを指定する情報がbIJ記分岐ヒストリテーブル手段
    に登録されているか否か會調べる点検手段と 該点検手段による登録の判明に応答して前記分岐ヒスト
    リチーフル手段から対応する前記分岐情報ケηノ℃出し
    該分岐17r報に従って命令先取り動作を継続せしめる
    よりに制御する命令先取り制御手段と、 該命令先取り制御手段により先取りされる命令を格納す
    る命令バッファとを備えたことヲlr♀徴とする該命令
    バッファへの命令語格納方式。
JP57201550A 1982-11-17 1982-11-17 命令バツフアへの命令語格納方式 Pending JPS5991549A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP57201550A JPS5991549A (ja) 1982-11-17 1982-11-17 命令バツフアへの命令語格納方式
DE8383111451T DE3382350D1 (de) 1982-11-17 1983-11-15 Anordnung zum vorabholen von befehlen mit vorhersage einer verzweigungszieladresse.
EP83111451A EP0109655B1 (en) 1982-11-17 1983-11-15 Instruction prefetching device with prediction of a branch destination address
US07/286,021 US4984154A (en) 1982-11-17 1988-12-19 Instruction prefetching device with prediction of a branch destination address

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57201550A JPS5991549A (ja) 1982-11-17 1982-11-17 命令バツフアへの命令語格納方式

Publications (1)

Publication Number Publication Date
JPS5991549A true JPS5991549A (ja) 1984-05-26

Family

ID=16442904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57201550A Pending JPS5991549A (ja) 1982-11-17 1982-11-17 命令バツフアへの命令語格納方式

Country Status (1)

Country Link
JP (1) JPS5991549A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61198335A (ja) * 1985-01-30 1986-09-02 Nec Corp 分岐予測制御方式
JPS6474622A (en) * 1987-09-16 1989-03-20 Nec Corp Branch history table controller
JPH0329027A (ja) * 1989-06-27 1991-02-07 Matsushita Electric Ind Co Ltd 命令バッファ装置を有するデータ処理装置
WO1995016954A1 (fr) * 1993-12-15 1995-06-22 Silicon Graphics Inc. Circuit de traitement d'instructions dans un systeme informatique
JPH10510146A (ja) * 1994-11-21 1998-10-06 ザ ユニバーシティ オブ リーズ 改変されたプロテイナーゼインヒビター

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044406A1 (en) * 2002-03-29 2005-02-24 Michael Stute Adaptive behavioral intrusion detection systems and methods
US20070209074A1 (en) * 2006-03-04 2007-09-06 Coffman Thayne R Intelligent intrusion detection system utilizing enhanced graph-matching of network activity with context data
US20070226796A1 (en) * 2006-03-21 2007-09-27 Logan Gilbert Tactical and strategic attack detection and prediction
JP2008113409A (ja) * 2006-10-04 2008-05-15 Alaxala Networks Corp トラフィック制御システム及び管理サーバ
WO2008084729A1 (ja) * 2006-12-28 2008-07-17 Nec Corporation アプリケーション連鎖性ウイルス及びdns攻撃発信元検知装置、その方法及びそのプログラム
JP2010511359A (ja) * 2006-11-29 2010-04-08 ウイスコンシン アラムナイ リサーチ フオンデーシヨン ネットワーク異常検出のための方法と装置
JP2012023629A (ja) * 2010-07-15 2012-02-02 Nippon Telegr & Teleph Corp <Ntt> 高パケットレートフロー検出装置及び高パケットレートフロー検出方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044406A1 (en) * 2002-03-29 2005-02-24 Michael Stute Adaptive behavioral intrusion detection systems and methods
US20070209074A1 (en) * 2006-03-04 2007-09-06 Coffman Thayne R Intelligent intrusion detection system utilizing enhanced graph-matching of network activity with context data
US20070226796A1 (en) * 2006-03-21 2007-09-27 Logan Gilbert Tactical and strategic attack detection and prediction
JP2008113409A (ja) * 2006-10-04 2008-05-15 Alaxala Networks Corp トラフィック制御システム及び管理サーバ
JP2010511359A (ja) * 2006-11-29 2010-04-08 ウイスコンシン アラムナイ リサーチ フオンデーシヨン ネットワーク異常検出のための方法と装置
WO2008084729A1 (ja) * 2006-12-28 2008-07-17 Nec Corporation アプリケーション連鎖性ウイルス及びdns攻撃発信元検知装置、その方法及びそのプログラム
JP2012023629A (ja) * 2010-07-15 2012-02-02 Nippon Telegr & Teleph Corp <Ntt> 高パケットレートフロー検出装置及び高パケットレートフロー検出方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61198335A (ja) * 1985-01-30 1986-09-02 Nec Corp 分岐予測制御方式
JPS6474622A (en) * 1987-09-16 1989-03-20 Nec Corp Branch history table controller
JPH0329027A (ja) * 1989-06-27 1991-02-07 Matsushita Electric Ind Co Ltd 命令バッファ装置を有するデータ処理装置
WO1995016954A1 (fr) * 1993-12-15 1995-06-22 Silicon Graphics Inc. Circuit de traitement d'instructions dans un systeme informatique
US5954815A (en) * 1993-12-15 1999-09-21 Silicon Graphics, Inc. Invalidating instructions in fetched instruction blocks upon predicted two-step branch operations with second operation relative target address
US6247124B1 (en) 1993-12-15 2001-06-12 Mips Technologies, Inc. Branch prediction entry with target line index calculated using relative position of second operation of two step branch operation in a line of instructions
US6691221B2 (en) 1993-12-15 2004-02-10 Mips Technologies, Inc. Loading previously dispatched slots in multiple instruction dispatch buffer before dispatching remaining slots for parallel execution
JPH10510146A (ja) * 1994-11-21 1998-10-06 ザ ユニバーシティ オブ リーズ 改変されたプロテイナーゼインヒビター

Similar Documents

Publication Publication Date Title
KR101148495B1 (ko) 파이프라인 프로세서에서 조건 명령 실행을 촉진시키기 위해 로컬 조건 코드 레지스터를 이용하기 위한 방법 및 장치
US4409654A (en) Data processor adapted for interruption to an instruction stream
JP2937485B2 (ja) スーパースカラプロセッサにおけるトラップを検出して実行する方法及び装置
JPS63503177A (ja) 命令先取制御装置
JPS60168238A (ja) パイプラインデータ処理装置
US5764971A (en) Method and apparatus for implementing precise interrupts in a pipelined data processing system
JPS5991549A (ja) 命令バツフアへの命令語格納方式
JPH11110214A (ja) 命令制御システム及びその方法
JPS5991551A (ja) 分岐先アドレス予測を行なう命令先取り装置
JP3490005B2 (ja) 命令制御装置及びその方法
JPS60164842A (ja) 命令先取り装置
JPS58178464A (ja) 並列演算処理装置
JPS59132047A (ja) デ−タ処理ユニツト
EP0415351A2 (en) Data processor for processing instruction after conditional branch instruction at high speed
JP2783285B2 (ja) 情報処理装置
JPS60175148A (ja) 命令先取り装置
JPS59183434A (ja) 命令先取り制御方式
JPS581247A (ja) 命令先取り制御方法
JPS60108973A (ja) 配列要素の最小値および最小要素の要素番号を求める方法
JPS5991554A (ja) 分岐方向予測を行なう命令先取り装置
JPS6391756A (ja) 記憶装置の部分書き込み命令処理方式
JPS5991552A (ja) セツトアソシアテイブ型分岐ヒストリテ−ブルを有する命令先取り装置
JPH0646381B2 (ja) 命令取出し装置
JPS5991553A (ja) 実アドレス分岐ヒストリテ−ブルを有する命令先取り装置
JPH07111683B2 (ja) タスク切換機能付プロセッサ