JPS58189739A - デ−タ処理システム - Google Patents

デ−タ処理システム

Info

Publication number
JPS58189739A
JPS58189739A JP57071217A JP7121782A JPS58189739A JP S58189739 A JPS58189739 A JP S58189739A JP 57071217 A JP57071217 A JP 57071217A JP 7121782 A JP7121782 A JP 7121782A JP S58189739 A JPS58189739 A JP S58189739A
Authority
JP
Japan
Prior art keywords
instruction
stage
address
processing
register
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.)
Granted
Application number
JP57071217A
Other languages
English (en)
Other versions
JPH0348537B2 (ja
Inventor
Kenichi Wada
健一 和田
Yoichi Shintani
洋一 新谷
Tsuguo Shimizu
清水 嗣雄
Akira Yamaoka
山岡 彰
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP57071217A priority Critical patent/JPS58189739A/ja
Priority to EP83104226A priority patent/EP0094535B1/en
Priority to US06/490,166 priority patent/US4541047A/en
Priority to DE8383104226T priority patent/DE3380908D1/de
Publication of JPS58189739A publication Critical patent/JPS58189739A/ja
Publication of JPH0348537B2 publication Critical patent/JPH0348537B2/ja
Granted 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/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3863Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers

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

【発明の詳細な説明】 本兄明はデータ処理装置に係り、特に命令処理kfJL
数ステージに分割し、各々のステージに独立なハードウ
ェアを設け、各ステージをオーバラップさせたバイクラ
イン処理方式のデータ処理装置に関するものである。
従来のパイプライン処理力式では命令処理を5〜7個の
ステージに分け、各ステージを1マシンサイクル(デー
タ処理装置の基本サイクル)で処理すると同時に各ステ
ージ全オーバシップさせることによって、1命令の実行
を恰も1サイクルで処理しているようにさせる技術を用
いていた。
第1図(A)Hバイクライン処理方式による命令処理の
一例を示す。命令処理flD、A、L、E。
Pの5ステージに分かれている。命令はD([)eco
de )ステージに於いて、テコード芒れオペランドア
ドレスが計1される。オペランドアドレスは、命令のイ
ノチクスフイールドによって指kgれたGPRの値と、
命令のベースフィールドによって指定逼れた() P 
Rの値と命令のテイスプレースメントフィールドを加算
することによって求められる。命令によってはインチフ
スレジスタを使用しない場合もある。Aステージにおい
て求められたオペランドアドレスが物理アドレスに変換
される。Lステージにおいて上記物理アドレスに基すき
オペランドをバッファメモリ(キャッシュメモリともい
う)より読出す。必要ならばGPRオペランドも読中す
。Eステージにおいてこれらのオペランドを用い演算を
する。Pステージにおいて/31t算結果’1GPR又
はメモリへ格納する。第1図(A)では命令■〜■が各
ステージを1サイクルピツチで処理される場合を示して
おり、実効的に1サイクルで1つの命令が処理されてい
る。
し刀)シ、このようなバイブライン処理力式では、命令
系列によっては命令klサイクルで処理で睡ない場合が
ある。例えば、前の命令の処理結果を用いて、次の命令
のオペランドアドレスが求筐る場合である。例えば、I
BM370のアーキテクチャ−(こnによるデータ処理
の動作に関する綾町はIBMシステム参考図誉GA22
−7000rIBMシステム1370の動作原理」に記
述されているので詳しい説明に省略するうでは、L(l
oad)命令とA(Add)  命令が連続し、L命令
でオペランドラ拝き込むGPR(汎用レジスタ)番号と
人命令がオペランドアドレス計薯のために使用するGP
Rの番号が一致している場合である。これをインチフス
・ベース(レジスタ)コンフリクトとよぶことにする。
第1図(Blfl上記で駒間したようにL命令■とのA
蔀令■でインチフス・ベースコンフリクトが発生し、バ
イブラインが乱れ、性能が劣下したようすを示す。即ち
Ai令■のDステージにおいてオペランドアドレスの肘
iNケするにはL命令σ)のPステージの終了會またね
ばならない。こ′n−にL命令の■)ステージにてA命
令■が1史用するGPRが書きかえらハる力・らである
。従って第1図(A)のようにパイプラインがスムーズ
に流れている場合と比べ後続の命令(A)の実行開始は
4サイクル遅れていることがわかる。
本発明の目的はバイブライン制御方式におけるインチフ
ス・ベースレジスタコンフリクト時の性能全改善したデ
ータ処理システムヲ機供することにある。
実用に供爆れているプログラムを解析するとインチフス
・ベースレジスタコンフリクト全おこした命令を調べて
みるとその多く11、L命令1人命令のように比較的少
ないN路数で構成される演算器で処理される命令である
ことが判明した。
そこで、Dステージを司どるハードウェアの近くに上記
の命令の多くの演算を処理できる先行演算益金実装し、
それによる演算結果もGPRPステージより前のステー
ジで格納できるようにすることにより、この命令結果を
後続の命令が利用できるタイミングを早め、もって上記
インチフス・ベースレジスタコンフリクト時の性能を改
善するものである。
先行演算器で処理できない命令は従来同様、演にユニノ
) (EU)で1算処理δれた後で、それによる7ml
結果をGPI’tへ送る必要がある。
しかしこのような構成ケとった場合、次の問題が発生す
る。
演m粘来が規定の桁をオーバフローしたときはプログラ
ム割込みを起こしてそのプログラム會中断6せる必要が
ある。この場合、その割込みを起こした命令は割込みの
タイプによって抑止、中断。
完了として処理する必要がある。完了とはその命令の実
行が完了して仄の命令位実行されないで終了すること(
割込むこと)であり抑止とはその命令が実行さnないで
終了すること(割込むこと)であり、中断とはその命令
がどこまで実行されて終了した力為1呆証しないタイプ
である。
仮って従来技術では、児了型割込みがおきた場打、自命
令のPステージの次のステージ及び次の命令のPステー
ジを停止させており、抑止/中断型刷込みかぁ・きた場
合、自命令のPステージ及び次の命令のEステージを停
止させることにより、上記仕様を実現していた。
し力・るに、GPR,の書込みにPステージより前(例
えばEステージ)に処理場れるため、例えば完了型割込
みでは次の命令のEステージ筐でか終了してし1つ(P
ステージは停止場れる)ので、次の命令のGPR書込み
が完了してしまう。また、抑止型割込みでは自命令のE
ステージまでが終了してし筐う。(Pステージは停止さ
れる。)ので自命令の(]PR書込みが完了してしまい
、結果として上記のソフトウェアとのとりきめを守れな
いという欠点ヶ有していた。
即ちGPRの書込みより1ステージ早くなっているので
、これでは割込みを検出してステージを停止甥せた時点
に於いてic、GPRの内容が、ソフトウェアととりき
めた既に述べたような割込みの仕様より最大1命令すれ
てしまっている。
これ全解決するために本発明では2つの方法を開示して
いる。1つの方法はさらにPステージで書込むGPR(
GGPRと呼ぶ)をEU2に設け、このG () P 
)’Lの内容を利用する方法である。
oopaiソフトワエアととりきめた正しい仕様の内容
になっているので、割込み処理のノ・−ドウエア処理の
中でIGPRの内容ケ全てGOPRの内容に矢って1き
かえる方法である。もう1つの方法は僅きかえられる前
のGPRの内容を予め退避して、割込み処理のノ・−ド
ウエア処理の中で予め姓避したデータで、GP)tを回
復する方法である。
以下、本発明の一実施例を図により駒間する。
不実施例Ir118M社のシステム1370型電子計算
機に通用可能であり、このシステムの動作は上記会社の
¥rlj述した出版刊行物「I 8Mシステム1370
の動作原理J (Cより相間されている。従って以下で
:1、竹に心壁のない限り、上のシステムの動作の説明
は省略することともに、そこに用いら几ている用語?、
特別の場合ケ除き説明を省略して便用する。本発明によ
るデータ処理システムで各iff、1つの命令の実行に
複数のステージに分けて、かつ角なる命令の異なるステ
ージが花々1」に央行芒nるいわゆるパイプライン制御
により実行される。本実施例では従来技術で述べたのと
同じ<D、A、L、E、Pのステージが実行される。
第2図は本発明による命令ユニツ)(IU)1の構成を
示し、第3図は本発明による演算ユニット(EU)2の
構成を示す。IUIに従来同様GPR60が設けられ、
EU2にも新たに、これと同じ数のGPR4050が設
けられている。以下、それぞれのGPRをIGPR,G
GPRと呼ぶ。
(Dステージ) 複数の命令がバッファメモリ960から命令バッファ9
00にあらかじめ貯えられる。各命令はそのDステージ
の始まる前に命令切り出し回路901により命令レジス
タ902にセットされる。
この命令がインデックスアドレス、ベースアドレス、デ
ィスプレイメントから一万のオペランドのアドレスを発
生する形式(几X形式)を有するときは、そのDステー
ジに於いて、X/Bアドレス制御回路99Ljが、この
命令からインデクスレジスタアドレス(Xとす)ペース
レジスタアドレス(Bと略す)をそれぞれ線53.54
を介してIGP)t60に送る。インデックスレジスタ
アドレスXと、ペースレジスタアドレスBでそれツレ読
出されたデータGFL (X)、GR(B)と、命令の
ディスプレイメントとがアドレス加算器980へ込られ
、アペランドアドレスが計算嘔れる。また、命令レジス
タ902内の命令の種別に関係なく、その前半スバイト
(その最左端の1バイトh命令コードである)は命令キ
ュー903にセットされる。先行演算器で処理できる命
令1−ffLステージ、できない命令UPステージでI
GPRに誉込むのでこの遵い金この命令コードに基づき
判定回船902Aにエリこの命令が先行演算器981で
処理できないかどうかが判定逼れ、その結果、即ちPス
テージでの■GPR−4込み要求信号命令の帽子2バイ
トと対にして命令キュー903にセットされる。
(Aステージ) RX形式の命令の場合、Dステージで得られたオペラフ
ドアドレスをアドレス制御950が、バッファメモリ用
の物理アドレスに変換し、バックアメモリ960からオ
ペランドを読出し、オペランドバッファ970にセット
する。同時に、この出力にセレクタ840により選択式
れ、先行演算器981に入力される。命令キュー903
がら出力芒れる命令の先頭2バイトヲワークレジスタ(
IER,)904にセットすると同時に、GPRアドレ
ス制@991により、この命令が使用する1[u方のオ
ペランドを記憶したIQPRのアドレス()tl)’に
この命令のレジスタフィールドより切り出し、#!55
経由でIGPI(,60へ送出する。
このアドレスRIK4づきIGPR60がら絖出芒れた
オペランドGR(R1)はd820に送出湯11.セレ
クタ850により選択され先行演算器981に入力δれ
命令キュー903がら出力された2バイトがI(JPR
にある2つのレジスタ内のデータ音オペランドとして使
用する形式(RR形式)の命令のときには、もう−万の
オペランドに対するI Q P R,アドレス(R2)
をそこからGPRアドレス制#991が切り出し、1w
56経由でIQPR60へ送り、これにより読出された
オペランドG l(、(R2)は耐830に送出烙れ、
セレクタ850により選択1へ先行偵嘗器981に入力
でれる。1だ、Eステージを制御するマイクロクログラ
ムの先頭アドレスを指定するために命令キュー903争
ら出力−Anる命令のオペコード(1バイト目)ケ出力
線30により送出する。
1だ、GPRの読出し曹込みアドレスを含む命令の1バ
イト目は631経由でもEU2へ送田芒nる。同時にP
ステージでのl0PR省込み要求信号を糾31A経由で
EU2へ送出する。
(Lステージ) Aステージて読出芒nた上記2つのオペランドが先行演
算ぺJ981で演算可能な命令に対すると@汀、この削
★を実行し、結果をレジスタ982にセットする。同時
に線20.21経由“て2つのオペランド’trEU2
へ送出する。I ER,904のうち、命令の上位側か
らのビット8〜11にて指定される1込み用のレジスタ
アドレス1,4so。
全弁してレジスタ9040にセットする。先行演に而で
にAs、TM等出現頻度の多い命令が実行できるがM、
D等論理規模の大きい命令は処理できない。
EU2では先行するAステージにおいてIUIより線3
0経出で送出芒れたマイクロプログラムの先頭アドレス
レジステージにおいてアドレスレジスタ(csAR)1
000にセットし、制御記憶装置1010からマイクロ
命令を読出してレジスタ(C8DR)1001に入力す
る。同様にAステージにおいてIUIより径31M由で
送られた命令の1バイト目kLステージにおいてレジス
タ(GEL)3100にセットする。同様にAステージ
においてIUIより線31A経由で送られたPステージ
でのIGPR書込み要求信号はLステージにおいて、7
リツプ70ツブ5000にセットされる。
(Eステージ) IUIではレジスタ9040の出力52の書込みアドレ
スを用いてレジスタ982の出力50iIGPR60に
書込む。
E U 2では、想20,21経由で送られたオペラン
ドをワークレジスタ(WAR)4000、ワークレジス
タ(WBR,)4010にセットし、演糎器4030で
マイクロ命令の制御下で演算し結束ケレジスタ4040
にセットする。演算器4030はIUI内の先行清書器
981と違い、全ての品会金処理で今る汎用演算器であ
る。Aステージでセットされたレジスタ(GEL)31
00の内容HLスデージにおいてレジスタ(GER)3
110に移され、しかる後GPR書込みアドレス制i3
110Aにより書込みアドレスが作られて(FLX品令
命令GER,3110の上4ビットが書込みアドレスと
なる)侍11経由でIUIの比f器904Aへ送られ、
EステージIUI内のレジスタ9041にセットδれる
。フリラフフロツノ5000の出力はEステージにおい
てフリップ70ツブ5010にセットされ、15010
At−介してIUI内のGPR曹込み制御70へ送られ
る。Lステージで続出gn、たマイクロ命令は(’ S
 l) H1001にセットされる。EUIでの清書が
1マシンサイクルで終了するもののときは、読出芒れた
マイクロ命令内に終了ビット(EoP)が設けられてお
り、これが&1011に介して、C8AR100Oに、
次の命令に対するマイクロプログラムの先頭アドレス3
0t−セットする。読出でれたマイクロ命令がマイクロ
プログラムの最後のものでない場合は読出でれたマイク
ロ命令の1部が次のマイクロ命令アドレスとして、脚1
011M由でC8AR1000にセットされる。
こうして複数のマイクロプログラムが順次読出される。
そのマイクロプログラムの最後のマイクロ命令がC3P
R1oo1にセットされたときは前の場合と同様にして
、線3o上の、先頭アドレスがC8AR,1000にセ
ットはれる。GGPRの誉込みおよびl0PRの書込み
はマイクロ命令で指定される。G(、)PR41−込み
を必要とする命令の場合fd、GGPR1込みのマイク
ロ命令がマイクロプログラム内に設けられており、その
命令がC3DR1001の出力線1013に一経由して
、デコーダ4100により解@されると、フリップフロ
ップ4101がセットされる。フリップ70ツブ410
1がセット芒れる。フリップ70ツブ4101;J線5
8’を経由してGGPR14050へ書込み訂nI色号
を送出する。先行割算器で処理可能な命令でもG()P
R−i1込みマイクロ命令tEステージで発行すること
に注意されたい。先竹清書器981で処理不能の命令場
合は、1GPR曹込みマイクロ命令がマイクロプログラ
ム内に設けられている。IGPR曹込みマイクロ命令が
C3DFL1001の出力耐1002(rfP由し、て
デコーダ4200に伝λられフリップフロップ4102
iセツトしI OP R?込み信号100をIUIへ送
出する。
(Pステージ) PステージにおいてHETJ 2での演算結果をマイク
ロ命令の制御下でレジスタ4040からWCR4020
f・τセットし、結果全#4020A経由でG()PI
(4050へ送出する。先行演算器981で浦吟できな
い命令の場合に、曹込むべきテークを# 10 M−由
でIUIへ送出し、IGPR60に1込む。
さらに、インテクスeベースレジスタコンフリクトが発
生した場合はX/Bコンフリクト検出器3により検出芒
れ線3AによりDステージを抑止する。その動作の詳I
IfBは第6図で説明する。
以上により、先行演算器を具備した本発明の実施例の動
作のうち、D、A、L、E、Pの5ステージの動作の概
要について説明した。
第4図は本発明の特徴である第2図のIGPR60ケさ
らに詳細に示した図である。
既に説明したようにDステージではインデクスレジスタ
とペースレジスタAステージではオペランド(R1)と
オペランド(R2)t−読出している。DステージとA
ステージはパイプラインによりオーバラップして動作す
るのでインデクスレジスタ、ペースレジスタ、オペラン
ド(R1)、オペランド(R2)の4本のIQPR’i
同時に読出している。その詳sを第4図で説明する。
IGPII−J16本(7)GPR,8000〜801
5があり(それらをGPRO−GPPI5と呼ぶ)それ
ぞれ出力がMPX、53A、53B、53C。
53Dへつながっている。MPX、53Aは線53を介
して入力されるインデックスレジスタアドレスXにより
1本のGPRk!択し、勝800に送出する。同様にM
PX、53Bに紬54により指雉さnるベースレジスタ
アドレスBにより1本の0P)tを選択し、線810に
送出し、MPX。
53Cf1m55に介して入力きれるレジスタアドレス
R1により1本のGPRを選択し、線820Vこ送出し
、MPX、5:3Dは#56を介して入力さlしるレジ
スタアドレスR2により1本のGPR’に4択し、線8
30に送出する。このように4つのGPR金独ff1K
読出すことかでさる。
筐た先h04算器で処理できる命令はLステージで処理
できない命令はPステージでIGPRK−i1込む。L
ステージとPステージはパイプラインに工りオーバラッ
グして動作するのでLステージとpステージで同時にI
GPRを書込む必要がある。
その構成と動作の詳細を次に薄明する。Pステージに於
いてEU2からの書込みデータtrlN10M由で谷G
PR8000〜8o15へ結肪される。同様に、先行演
算器981からの書込みデータも線50経由で各GPR
8000〜8015へ結線される。EU2カコらのGP
Rアドレスは耐51経由で送られデコーダ61でデコー
ドされfCあと、l0PR書込み信号100とアンゲー
トを紅て、線630〜線645に送出される。Lステー
ジは先行演算器での結果を曹込むべきGPRアドレス金
姻52経出で送り、デコーダ62でデコードされたあと
、l0PR書込み許可信号700とアンゲートを経て線
650〜線665に送出される。
Pステージでの書込み信号630とLステーシテの壷込
み信号650はオアゲートを経て緋530を送出しGP
R,8000へのセット信号全作る。
#631〜輸645と線651〜瞼665も同様にオア
ケートを経て、庫531〜545を送出しGPI(80
01〜GPR8015へのセット信号となる。GPR8
000へのデータ入力は#630による。即ち@630
が@1”の場合、線10を選び、?fM630が″0”
の場合、線50を選択する。GPR8001〜()PR
,8015の場合も同様にA康631〜線645により
データ入力全選択する。以上により、LステージとPス
テージで同時にl0PRI書込むことが可能となる。
aVCインテクスOベースレンスタコンフリクトが発生
したときの動作全第2図、第5図、第6図を用いて説明
する。第5図は第2図の命令ユニット内のX/Bコンフ
リクト検出器3ヶ詳細に示した図である。第6図にその
場合のバイブラインの匪れ凶である。D、A、L、E、
Pは各ステージケ次わし、横Nは時間をマ/ンサイクル
単位で表わしている。谷マンンサイタルは2つのタロツ
クVこよってウナ番プら扛、それぞれTo、T1 、T
、。
T、と−rる。以下でに、各命令の説明において、める
マンンサイクルCIがその66令のめるステージ、例え
&−,,I Dステージに対するものであるときは、て
リサイクルのクロックT+にタロツク(D。
111)の妹くステージと組合せて衣ホする。第6凶の
番号(1)〜■は処理される命令の番号と示してイル。
−f 7’m■?1 L (Load )命令、■fl
A (Add)命令で、■の書込みレジスタ番号R1と
■のインデクレジスタ番号Xが一致し、いわゆるインデ
クスレジスタコンフリクl起こしている場合の本発明に
よるバイブラインの流れを示している。従って第1図C
B)の従来技術のバイブラインの流nに対応している。
L命令α)は先行演算器981で処理可能なので既に説
明しtようにLステージでIGPRに畳込むことができ
る。従ってL命令■のEステージにオーバラップしてA
命令■のDステージが動作でき、必要なオペランドアド
レスを得ることができる。これにより第1図(B)に比
べ、人命令■のDステージを2サイクル早く開始するこ
とができた。それに第1図(H)ではL台令■のPステ
ージでGPRK*込んだのに比べ、第6図でに2サイク
ル早いLステージでGPRに書込めることに起因する。
その動作の制御をさらに以下に説明する。L命令■はC
,サイクルのタロツクT。(D。
To  )で命令レジスタ902にセットされる。L命
令■は先行演洒器981で処理0T能なので、判定回路
902Aで判雉され、出力10”をC,サイクルのクロ
ックT。(A、’l’olで命令キュー903にセット
される。また命令レジスタの前半2バイトハ、同じ((
A、To  )に命令キュー903にセットされる。吻
903Aに(A、TO)より出力される。C,サイクル
のタロツクT。でiA命令C)が命令レジスタ902に
セットされる。
X/Bアドレス制御回路990はA番傘(2)のX。
B?線53.54”k介してX/Bコンフリクト検出τ
シ3に送る。同時刻にL命令■の書込みレジスタ番号)
′t1が線903Aを介してX/Bコンフリタト検出器
3 K送られる。3では第5図に示す比較器10000
により比較される。この場合アドレスは一致しているの
で、出力はオアゲートを介しDステージ抑止信号3Aを
′1”とする。この信号によりB令■はC2サイクルで
のDステージの処理を抑止される。
C,サイタルのクロツタT2  (A、Tt  )では
L命令q)の曹込与アドレスR1’に含む前半2・;イ
トがI ER904にセントさ牡る。IE)(,904
の曹込みアドレスR,1ヶ含む4ビツト金線800を介
してC,サイクルのタロツクT。(L、To  )でレ
ジスタ9040にセットされる。
C!プサイルでA命令■のDステージの動作が抑止され
たので03サイクルのタロツクT。で線53.54にt
a A fis令■のX、Bが送出されている。同時刻
にレジスタ9040の出力52はL命令0)の着込みア
ドレスR1が送出さ扛ているので、X/Bコンフリクト
検出器3では線53と勝52を比較器10010で比較
する。この場合、アドレスは一致するので、m力はオア
ゲートを介し、Dステージ抑止信号3Ai“1”とする
。こnによりA命令■はC,サイクルでのDステージ処
理も抑止さrる。
CtプサイルのクロックT!  (A、Tt  )でP
ステージでのIQPR*込み要求信号は31A経由TE
tJ2へ送出さn、C,サイクルのタロツクTt  (
L、Tt )でフリップ70ツブ5000にセット−J
R1?fM5000人r介してIUlへ送らtLる。
CzプサイルのクロックTc、(A、To )でL命令
■の書込みアドレスR,1が線31’i#¥由してE(
12へ込られCtプサイルのタロツクT、(A。
Tt)でGEL3100にセットされる。C3サイクル
のタロツク’ro  (L、 ’ro)でGER310
0にセットされGP)を書込みアドレス制御3110A
により、3100の上4ビット、即ちL命令0)のB、
1が切り出智れC,サイクルのクロックT2(■4.T
、)に11を介(7てT U 1へ送られる。
C1+tイクルでもA命令■のDステージの動作が抑止
さrたので04サイクルのタロツクT。で籾53,54
にはへ命令■のX、Bが送出されている。
同時刻に悔11にはL命令■の書込みアドレス)tlが
送出されているので、X/Bコンフリクト検出器3でに
#11と@53を比較器10020で比較する。この場
合もアドレスは一致するが、PステージでのIGPR書
込み要求信号5000Aは“0”であるので、アンドゲ
ートで抑止され、Dステージ抑IF信号3AはO″′と
なる。従ってへ命令■にC4サイクルでDステージの処
理がなされる。
L命令0)ハ先行演算器981で処理可能であるが、命
令0)が先行i1*!E器981で処理不可能の場合は
、PステージでのIQPR書込み要求信号5000Aが
′1#となりC4サイクルでもDステージ抑止信号3A
が1”となりDステージの処理が抑止きnる。さらにこ
の場合CSサイクルでも、Pステージのl0PR書込み
要求信号5010Aが11Nとなり、Dステージ抑止信
号3Aが′1”となることになりDステージの処理が抑
止される。C6サイクルではじめて命令■のDステージ
が処理される。この場合のバイブラインの流n、は第1
図(B)と同じとなる。
また、ペースレジスタ54についても同じく比較器10
040〜10070によりアドレス比較がなされ必要な
らDステージ抑止信号3Aを112とする。
このようにして、命令■が先行演算器981で処理OT
能な場合、インデクスレジスタコンフリクト時の性能M
E米より2サイクル改善することができた。
次にこのように先行演算器1r構成した場合に生ずる発
明の概略で述べた不都合全解決する方法及び動作につい
て説明する。
命令■で抑止形削込みが起きた場合の命令の流れケ第7
図に示す。命令■でEU2が抑止形削込みヶ検出した場
合、EU2は命令0)のPステージ全停止させると同時
に割込み信号(図示せず)をI [J 1へ次え、D、
A、L、 Eの各ステージを停止させる。即ちC,サイ
クル以降の各ステージが停止する。この場合、命令■の
Eステージが児了しているので命令■によるIQPR書
込みは完了している。し力・し命令■のPステージは停
止させられているので、()GPRは誉きがゎっていな
いことに注意されたい。
EU2ではこの谷ステージが停止している間(′、5A
R1000’に割込み処理マイクロプログラムの先頭ア
ドレスに強制的にセットし、これをうHて制NMe憶i
t 1010 k読t:l:) L、C3D)tloo
lVこセットする。しかるのち割込み処理マイクロプロ
グラムが動作する。ここまでの動作に、HI ’I’A
(J4−180ような商用機の動作と全く同一である。
本発明の特徴はこの割込み処理マイクロプログラムの中
で次の動作をつげ加えることである。第7図で示される
ようにこの場合、命令■のEステージが終了しているの
で、IQPRが書きかわっている。便って1命令分オー
ツ(ランしている。GOPRの内容でIQPRの内容を
全て書き直すことによってこのオーバランの不都合全解
決することが口」能である。これは次のように動作する
。第3図においてGGPR4050への読出しアドレス
はマイクロ命令で自由に設定できる。これは通常リテラ
ルとよばれ、C3DR1001の出力縁8800を経由
してレジスタ(GER)3110にセットされる。これ
yopua出しアドレス3110BがGOPR4050
にアドレスを送るつ絖出さおだデータに、WAR400
0又はWBR4010、演算器4030、フリップフロ
ップ4040をへてWCR4020にセットされる。
()ER,3110にセットされた埴はGPR書込みア
ドレス3110AによりIGPR書込みアドレスを@1
1経由でIUIへ送る。誉込みデータはWCR4020
の出力線10紫経由してI U 1へ送る。I ()P
 R書込み指令はマイクロ命令で指定され、線1002
をへて、デコーダ4200によりフリップフロップ41
02にセットされ、N1J100?へてTUIへ送られ
る。これケうげてIUIは既にP明したようにTOPR
60に書込まれる。
GPI(、アトし/ヌのカウントアツプはカ目算器88
8を1史い、UPRアドレスを更新することによって、
上記の動作?くり返すことが可能である。以上によりG
 OP R,4050の内容全音てIGPR60に書く
ことができる。
命令q)で完了形割込4が起きた場合の命令の流t1を
第8図に示す。図に示すように、命令α)の次の’h 
会C2)のPステージ?停正させると同時に割込み信号
音T U 1へ伝えることにより、D、A、L。
Eの各ステージ全停止トさせる。従ってこの場合、C6
サイクル以降のステージが停止する。命令■のEステー
ジが終了巳ているので命令■によりI()PFLは書き
かわっていることと、命令■のPステージは停止してい
るのでGGPHに書きかわっていないことに注意された
い。この場合も抑止形削込みと同様にGGPRの内容で
IGPRの内容を豊さかえる。中断形削込みは上記2つ
のどちらのタイプで処理するので問題ない。
割込みがおきた場合の不都合を解決するもう1つの第2
の実施90 k次にd9明する。既に説明した動作と異
なる動作を中心に曲間する。これは書きかえられる削の
GPRの内容を予め退避する方法である。この退避は次
のようになされる。第2図に於いて、Aステージで書き
かわる前のGPRk読出すことに動作が新たに加わる。
これは命令の再実行のため例えばHITAC−M−18
0で実施されている周知の技術であり、また第2図の回
路で実現できる。例えばL命令を例にするとAステージ
において、書込みアドレスR1金GP)tアドレス制御
991が切り出し瞼55経由でIGPI’t60へ送る
ことにより書込む前のGPR(R1)’を線820に送
出することができる。筐た、これtl−線20経由でE
U2へ送ることもできる。EU2に関しては第3図にか
わり、第9図が必要である。
第9図に於いて、Eステージで書込みアドレスを含むレ
ジスタ(GER,13110金MCER3111に退避
する。筐た、1込む前のデータは騨20絆由でEU2へ
送られレジスタ(WBFt)4010にセットされる。
EステージにおいてW114010内容’kMcDI(
4081に退避式れる。
従ってMCDFt4081には書込まれる前のGPRの
内容が退避されることになる。
このようにして書込む前のデータがM CD R408
1に、そのアドレスがMCEF!、3111に退避式れ
る。
次に命令α)で抑止形削込みがおきた場合の動作につい
て1明する。この場合、ステージが停止するのは第7図
と全く同じであり、割込み処理マイクロフログラムが動
作するまでも全く同じであるが第1の実施例のように割
込み処理マイクロフログラムではGGPRの内容でIQ
PRの内容をかさかえることはせず、MCER,311
1の内容全GET、3100に読出し、GER3110
を経由して、GPR誓込書込ドレス制御3110Aによ
り、書込みアドレスを線1「経由でIUIへ送出する。
曹込みデータは、退避データをMCDR4081より絖
出し、R)〕5(JLT4040.WCR4020゜線
10を経由してIUIへ送出する。書込み指令はC8D
旧]01により、M100全経由してIUIへ送出する
。このようにして、退避したデータ’i I G PR
,へ書込むことができる。これらの動作はマイクロ命令
により行なわれる。
命令ので完了形割込みが発生した場合も、割込み処理マ
イクロプログラムの動作fl (mJじなので説明全省
略する。
以上の2つの実施例により割込みがおきた場合もGPR
の内容をソフトウェアととりきめた仕様にすることが可
能となった。
本発明によれば、先行演算器で命令処理が可能となり、
GPRへの曹込みが高速されるので、インチクスペ−ス
レジスタコンフリクト時の性能全改善したデータ処理シ
ステムを提供することができ7こ。本発明の効果の例に
既に第6図に示した。
川」ち命令■がL命令、■がA命令で、この2命令の間
にインチクスペースレジスタコンフリクトが発生し、バ
イブラインが乱れたようす全第6図に示した。crtは
従来技術の同一ケースの第1B図に拍車する。本発明で
は命令■のEステージでGPRへの舊込みが可能となる
ため、同一サイクルで命令C2)のDステージをオーバ
ラップさせることが可能となる。従って第1B図と比較
して2サイクル高速化できることがわかる。複たこのよ
うな構成で汀、割込みを横用した時点に於いては、(J
 P )tの内容が、ソフトウェアととりきめた割込み
の仕様より最大1分令すれてしまうが、Eステージで誓
込むIGPl’Lに加えPステージで書込むGGPRi
):[J2に設け、割込み処理のハードウェアマイクロ
プログラム処理の中で、IGPRの内容′fc全てGO
PRの内容に従って書きかえる第1の方法、又eユ傷き
かえらるろ前のGPR,の内容を予め退避しておき、こ
の退僻データ金用いてGPRI−回復する第2の方法に
より、ソフトウェアととりきめた割込みの仕様を実現す
ることが可能となった。
【図面の簡単な説明】
第1図(A)はバイブライン処理方式による従来技術に
よる命令処理図、第1図(B)はインデクス・ベースレ
ジスタコンフリクトが発生した場合の従来技術の命令処
理図、第2図は命令ユニット1の詳細図、第3図は演算
ユニット2の詳細図、第4図は第2図のIQPR60の
詳細図、第5図は第2図のX/Bコンフリクト検出器3
の詳細図、第6〜第8図は本発明の実施例を説明する動
作図である。第9図は本発明の他の実施例を説明するだ
めの図である。 =E 第 112] (八) 一一◆丁 (8) 丁 第 S 図 第 6  図

Claims (1)

    【特許請求の範囲】
  1. 1、命令の処理ヲ機数のステージに分け、これらのステ
    ージ対応に独立したハードウェアを備え、複数の命令を
    一度に処理するパイプライン処理方式データ処理システ
    ムに於いて、バイクラインの制御Ijlヲ司どる命令ユ
    ニットの内部に、多くの命令の演算を処理できる先行1
    ilIl器とGPR(汎用レジスタ、以降IGPRと略
    す)と、全ての命令の演算を処理できる演算ユニット内
    に、上記と別個のGPR(以降GGPRと略す)を備え
    、上記先行演算器で処理し、結果のl0PR書込みは、
    GGPR,書込みよりも少くとも−ステージ前に行われ
    る制御において、割込みが発生した場合、GGPRを読
    出す手段とIGPRを書込む手段と、これら2つのGP
    Rの内容を一致嘔せる手段、もしくは演算ステージ又は
    それ以前のステージにおいて、予めIGPR’を曹きか
    える前のデータ及びIGPRアドレスを退避する手段と
    、割込み処理ノ・−ドウエア処理の中で上記退避データ
    ’tIGPRに回復δせる手段を備えることを特徴とす
    るデータ処理システム。
JP57071217A 1982-04-30 1982-04-30 デ−タ処理システム Granted JPS58189739A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP57071217A JPS58189739A (ja) 1982-04-30 1982-04-30 デ−タ処理システム
EP83104226A EP0094535B1 (en) 1982-04-30 1983-04-29 Pipe-line data processing system
US06/490,166 US4541047A (en) 1982-04-30 1983-04-29 Pipelined data processing system
DE8383104226T DE3380908D1 (de) 1982-04-30 1983-04-29 Nach dem prinzip der pipeline arbeitendes datenverarbeitungssystem.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57071217A JPS58189739A (ja) 1982-04-30 1982-04-30 デ−タ処理システム

Publications (2)

Publication Number Publication Date
JPS58189739A true JPS58189739A (ja) 1983-11-05
JPH0348537B2 JPH0348537B2 (ja) 1991-07-24

Family

ID=13454281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57071217A Granted JPS58189739A (ja) 1982-04-30 1982-04-30 デ−タ処理システム

Country Status (4)

Country Link
US (1) US4541047A (ja)
EP (1) EP0094535B1 (ja)
JP (1) JPS58189739A (ja)
DE (1) DE3380908D1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4613935A (en) * 1983-02-02 1986-09-23 Couleur John F Method and apparatus for pipe line processing with a single arithmetic logic unit
JPS6015746A (ja) * 1983-07-08 1985-01-26 Hitachi Ltd デ−タ処理装置
JPS619734A (ja) * 1984-06-26 1986-01-17 Nec Corp プロセツサ制御方式
JPH0752390B2 (ja) * 1985-05-07 1995-06-05 株式会社日立製作所 命令処理装置
US4745547A (en) * 1985-06-17 1988-05-17 International Business Machines Corp. Vector processing
JPH0743648B2 (ja) * 1985-11-15 1995-05-15 株式会社日立製作所 情報処理装置
JPS62226232A (ja) * 1986-03-28 1987-10-05 Toshiba Corp 分岐先アドレス算出回路
US4868740A (en) * 1986-06-04 1989-09-19 Hitachi, Ltd. System for processing data with multiple virtual address and data word lengths
JPH0810430B2 (ja) * 1986-11-28 1996-01-31 株式会社日立製作所 情報処理装置
JPS63170736A (ja) * 1987-01-09 1988-07-14 Toshiba Corp マイクロプロセツサ
US5247628A (en) * 1987-11-30 1993-09-21 International Business Machines Corporation Parallel processor instruction dispatch apparatus with interrupt handler
US4974146A (en) * 1988-05-06 1990-11-27 Science Applications International Corporation Array processor
US5019967A (en) * 1988-07-20 1991-05-28 Digital Equipment Corporation Pipeline bubble compression in a computer system
US5099450A (en) * 1988-09-22 1992-03-24 Syracuse University Computer for reducing lambda calculus expressions employing variable containing applicative language code
EP0365322A3 (en) * 1988-10-19 1991-11-27 Hewlett-Packard Company Method and apparatus for exception handling in pipeline processors having mismatched instruction pipeline depths
JP2984463B2 (ja) * 1991-06-24 1999-11-29 株式会社日立製作所 マイクロコンピュータ
JP2002189603A (ja) * 2000-12-19 2002-07-05 Fujitsu Ltd 計算機とその制御方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5041442A (ja) * 1973-08-16 1975-04-15
JPS51854A (en) * 1974-06-21 1976-01-07 Hitachi Ltd Deijitarukeisankino senkoseigyohoshiki
JPS5441641A (en) * 1977-09-09 1979-04-03 Hitachi Ltd Data processing system having data producing unit
JPS54107645A (en) * 1978-02-13 1979-08-23 Hitachi Ltd Information processor
JPS56166553A (en) * 1980-05-26 1981-12-21 Nec Corp Information process having advanced control function
JPS57168349A (en) * 1981-04-09 1982-10-16 Mitsubishi Electric Corp Pipeline computer

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1443777A (en) * 1973-07-19 1976-07-28 Int Computers Ltd Data processing apparatus
GB1506972A (en) * 1976-02-06 1978-04-12 Int Computers Ltd Data processing systems
US4253183A (en) * 1979-05-02 1981-02-24 Ncr Corporation Method and apparatus for diagnosing faults in a processor having a pipeline architecture
US4399507A (en) * 1981-06-30 1983-08-16 Ibm Corporation Instruction address stack in the data memory of an instruction-pipelined processor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5041442A (ja) * 1973-08-16 1975-04-15
JPS51854A (en) * 1974-06-21 1976-01-07 Hitachi Ltd Deijitarukeisankino senkoseigyohoshiki
JPS5441641A (en) * 1977-09-09 1979-04-03 Hitachi Ltd Data processing system having data producing unit
JPS54107645A (en) * 1978-02-13 1979-08-23 Hitachi Ltd Information processor
JPS56166553A (en) * 1980-05-26 1981-12-21 Nec Corp Information process having advanced control function
JPS57168349A (en) * 1981-04-09 1982-10-16 Mitsubishi Electric Corp Pipeline computer

Also Published As

Publication number Publication date
DE3380908D1 (de) 1990-01-04
EP0094535B1 (en) 1989-11-29
EP0094535A3 (en) 1987-04-15
US4541047A (en) 1985-09-10
JPH0348537B2 (ja) 1991-07-24
EP0094535A2 (en) 1983-11-23

Similar Documents

Publication Publication Date Title
JPS58189739A (ja) デ−タ処理システム
US5907842A (en) Method of sorting numbers to obtain maxima/minima values with ordering
EP0352935B1 (en) Pipelined processor
JPH0429093B2 (ja)
EP0286354B1 (en) A method and apparatus for modifying micro-instructions using a macro-instruction pipeline
JPH04296937A (ja) ハードウエアデータストリング演算コントローラ及び主記憶ストリング動作を行わせる方法
EP0357188B1 (en) Pipelined processor
JPH06236268A (ja) 命令の長さを判定する装置と方法
JPH077385B2 (ja) データ処理装置
JPH0348536B2 (ja)
JPH01137331A (ja) 制御ワード分岐方法
JPH01269131A (ja) 命令先行制御方式
JPS6160459B2 (ja)
CA1155231A (en) Pipelined digital processor arranged for conditional operation
JPS6116335A (ja) 情報処理装置
JPS60129839A (ja) 情報処理装置
JPS58200349A (ja) マイクロプログラム制御装置
JPS6232502B2 (ja)
JPS5896346A (ja) 階層型演算方式
JPH0585925B2 (ja)
JPS6081646A (ja) 情報処理装置
JPS61273637A (ja) 情報処理装置
JPS626328A (ja) 情報処理装置
JPH02217922A (ja) データ処理装置
JPH03184127A (ja) レジスタ退避制御方法