JPH0348536B2 - - Google Patents

Info

Publication number
JPH0348536B2
JPH0348536B2 JP57071210A JP7121082A JPH0348536B2 JP H0348536 B2 JPH0348536 B2 JP H0348536B2 JP 57071210 A JP57071210 A JP 57071210A JP 7121082 A JP7121082 A JP 7121082A JP H0348536 B2 JPH0348536 B2 JP H0348536B2
Authority
JP
Japan
Prior art keywords
instruction
registers
operand
register
instructions
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.)
Expired - Lifetime
Application number
JP57071210A
Other languages
English (en)
Other versions
JPS58189738A (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 JP57071210A priority Critical patent/JPS58189738A/ja
Priority to US06/489,349 priority patent/US4739470A/en
Priority to DE8383104228T priority patent/DE3382056D1/de
Priority to EP83104228A priority patent/EP0093430B1/en
Publication of JPS58189738A publication Critical patent/JPS58189738A/ja
Publication of JPH0348536B2 publication Critical patent/JPH0348536B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3824Operand accessing
    • G06F9/383Operand prefetching

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)

Description

【発明の詳細な説明】 本発明はデータ処理装置に係り、特に命令処理
を複数ステージに分割し、各々のステージに独立
なハードウエアを設け、各ステージをオーバラツ
プさせたパイプライン処理方式のデータ処理装置
に関するものである。
従来のパイプライン処理方式では命令処理を5
〜7個のステージに分け、各ステージを1マシン
サイクル(データ処理装置の基本サイクル)で処
理すると同時に各ステージをオーバラツプさせる
ことによつて、1命令の実行を恰も1サイクルで
処理しているようにさせる技術を用いていた。
第1図Aはパイプライン処理方式による命令処
理の一例を示す。命令処理はD,A,L,E,P
の5ステージに分かれている。命令はDステージ
に於いて、デコードされオペランドアドレスが計
算される。オペランドアドレスは、命令のインデ
クスフイールドによつて指定された汎用レジスタ
(GPR)(インデクスレジスタとよぶ)の値と、
命令のベースフイールドによつて指定された
GPR(ベースレジスタとよぶ)の値と命令のデイ
スプレースメントフイールドを加算することによ
つて求められる。但し、命令によつてはインデク
スフイールドを有しない場合もある。Aステージ
において、求められたオペランドアドレスが物理
アドレスに変換される。Lステージにおいて上記
物理アドレスに基づきオペランドをバツフアメモ
リ(キヤツシユメモリともいう)より読出す。必
要ならばGPRオペランドも読出す。Eステージ
においてこれらのオペランドを用い演算をする。
Pステージにおいて演算結果をGPR又はメモリ
へ格納する。第1図Aでは命令〜が各ステー
ジを1サイクルピツチで処理される場合を示して
おり、実効的に、1サイクルピツチで1つの命令
が処理されている。しかし、このようなパイプラ
イン処理方式では、命令系列によつては命令を1
サイクルで処理できない場合がある。例えば、前
の命令の処理結果を用いて、次の命令のオペラン
ドアドレスが求まる場合である。例えば、
IBM370のアーキテクチヤー(これによるデータ
処理の動作に関する説明はIBMシステム参考図
書GA22−7000「IBMシステム/370の動作原理」
に記述されているので詳しい説明は省略する)で
は、L(Load)命令とA(Add)命令が連続
し、L命令でオペランドを書込むのに用いるイン
デクスレジスタとA命令がオペランドアドレス計
算のために使用するベースレジスタが一致してい
る場合である。これをインデクス・ベースコンフ
リクトとよぶことにする。
第1図Bは上記で説明したようにL命令とA
命令でインデクス・ベースコンフリクトが発生
し、パイプラインが乱れ、性能が劣下したようす
を示す。即ちA命令のDステージにおいてオペ
ランドアドレスの計算をするにはL命令のPス
テージの終了をまたねばならない。これはL命令
のPステージにて、A命令が使用するGPRが
書きかえられるからである。従つて第1図Aのよ
うにパイプラインがスムーズに流れている場合と
比べ後続の命令Aの実行開始は4サイクル遅れて
いることがわかる。
本発明の目的はパイプライン制御方式における
インデクス・ベースレジスタコンフリクト時の性
能を改善したデータ処理システムを提供すること
にある。
実用に供されているプログラムを解析するとイ
ンデクス・ベースレジスタコンフリクトを調べて
みるとその多くは、L命令、A命令のように比較
的、少ない回路数で構成される演算器で処理され
る命令で生じることが判明した。
そこで、Dステージを司るハードウエアの近く
に上記の命令の多くの演算を処理できる先行演算
器を実装し、それによる演算結果をGPRにPス
テージより前のステージで格納できるようにする
ことにより、この命令の結果を、後続の命令が利
用できるタイミングを早め、もつて上記インデク
ス・ベースレジスタコンフリクト時の性能を改善
するものである。先行演算器で処理できない命令
は、従来同様演算ユニツト(EU)で演算処理さ
れた後で、それによる演算結果をGPRへ送る必
要がある。このため、GPRには先行演算器とEU
の両方から書込めるようにする。しかしこのよう
な構成をとつた場合、次の問題が発生する。例え
ば、命令I1,I2,I3,I4,I5を処理する場合をとり
あげる。ここに命令I1,I3,I4,I5は先行演算器
で処理可能、命令I2は処理不可能とする。この場
合、先行演算器による命令I1,I3,I4,I5の演算
結果はGPRへこの順序で書込まれる。しかし、
命令I2の演算結果はEUで得られるため、命令I3
の演算結果の書込みの後に書込まれることにな
る。したがつて、命令I3の演算結果のGPRへの書
込みは命令I2の結果の書込みより先に行なわれ
る。もし、命令I2とI3が同一番号のGPRへ書込む
場合、これらの命令列を処理した結果、命令I2
処理結果が最終的に残つてしまうので、この最終
結果は本来プログラムが最終的に残るものとして
期待している命令I3の処理結果とは異なる。この
問題をなくすように本発明は2つの方法を開示す
る。
1つは命令I2とI3の書込みGPR番号を比較し、
不一致ならば、命令I3の書込みを命令I2に先行さ
せることを許し、もし一致するならば、命令I2
結果のGPR書込みが終了するまで命令I3以降の命
令のGPR書込みを遅らせる方法である。この場
合、命令I2とI4の書込みGPR番号についても同様
の比較が行なわれて、同様の処理がされる。
もう1つは命令I2のGPR書込みが終了するま
で、命令I3以降のGPR書込みを無条件に遅らせる
方法である。
以下、本発明の一実施例を図により説明する。
本実施例はIBM社のシステム/370型電子計算機
に適用可能であり、このシステムの動作は上記会
社の前述した出版刊行物「IBMシステム/370の
動作原理」により説明されている。従つて以下で
は、特に必要のない限り、上のシステムの動作の
説明は省略するとともに、そてに用いられている
用語を、特別の場合を除き説明を省略して使用す
る。本発明によるデータ処理システムでは、1つ
の命令の実行は複数のステージに分けて、かつ異
なる命令の異なるステージが並行に実行されるい
わゆるパイプライン制御により実行される。本実
施例では従来技術で述べたのと同じくD,A,
L,E,Pのステージが実行される。
第2図は本発明によ命令ユニツト(IU)1の
構成を示し、第3図は本発明による演算ユニツト
(EU)2の構成を示す。IU1に従来同様GPR6
0が設けられ、EU2にも新たに、これと同じ数
のレジスタからなるGPR4050が設けられている。
以下、それぞれのGPRをIGPR,GGPRと呼ぶ。
(Dステージ) 複数の命令がバツフアメモリ960から命令バ
ツフア900にあらかじめ貯えられる。各命令
は、そのDステージの始まる前に、命令切り出し
回路901により命令レジスタ902にセツトさ
れる。この命令が、インデクスアドレス、ベース
アドレス、デイスプレイスメントから、一方のオ
ペランドのアドレスを発生する形式(RX形式)
を有するときは、そのDステージに於いて、X/
Bアドレス制御回路990が、この命令からイン
デクスレジスタアドレス(Xと略す)、ベースレ
ジスタアドレス(Bと略す)をそれぞれ線53,
54を介してIGPR60に送る。インデクスレジ
スタアドレスXと、ベースレジスタアドレスBで
それぞれ読出されたデータGR(X),GR(B)と命
令のデイスプレイメントとがアドレス加算器98
0へ送られ、オペランドアドレスが計算される。
また、命令レジスタ902内の命令の前半2バイ
ト(その最左端の1バイトは命令コードである)
は命令キユー903にセツトされる。命令レジス
タ902内の命令コードにより、判定回路902
Aはこの命令が先行演算器981で処理できるか
どうかを判定し、判定結果が否定的のときは1を
出力する。この判定回路902Aの出力は、命令
レジスタ902内の前半2バイトと対にして命令
キユーレジスタ903にストアされる。判定回路
902Aの出力はPステージでのIGPR60への
書込み要求信号として利用される。
(Aステージ) RX形式の命令の場合、Dステージで得られた
オペランドアドレスをアドレス制御950が、バ
ツフアメモリ用の物理アドレスに変換し、バツフ
アメモリ960からオペランドを読出し、オペラ
ンドバツフア970にセツトする。同時に、この
出力はセレクタ840により選択され、先行演算
器981に入力され。命令キユー903から出力
される命令の先頭2バイトを、ワークレジスタ
(1ER)904にセツトすると同時に、GPRアド
レス制御991により、この命令が使用する他方
のオペランドを記憶したIGPRのアドレスR1を
この命令のレジスタフイールドより切り出し、線
55経由でIGPR60へ送出する。このアドレス
R1に基づきIGPR60から読出されたオペラン
ドGRR1は線820に送出され、セレクタ85
0により選択され先行演算器981に入力され
る。命令キユー903から出力された2バイト
が、IGPRにある2つのレジスタ内のデータをオ
ペランドとして使用する形式(RR形式)の命令
のときには、もう一方のオペランドに対する
IGPRアドレスR2をそこからGPRアドレス制御
991が切り出し、線56経由でIGPR60へ送
り、これにより読出されたオペランドGRR2は
線830に送出され、セレクタ850により選択
され、先行演算器981に入力される。また、E
ステージを制御するマイクロプログラムの先頭ア
ドレスを指定するために命令キユー903から出
力される命令のオペコード(1バイト目)を出力
線30により送出する。また、GGPR4050読出
し、書込みアドレスを含む命令の1バイト目は線
31経由でもEU2へ送出される。同時にPステ
ージでのIGPR書込み要求信号を線31A経由で
EU2へ送出する。
(Lステージ) Aステージで読出された上記2つのオペランド
が先行演算器981で演算可能な命令に対すると
きは、この演算を実行し、結果をレジスタ982
にセツトする。同時に線20,21経由で2つの
オペランドをEU2へ送出する。先行演算器98
1ではAS,TM等出現頻度の多い命令が実行で
きるが、M,D等論理規模の大きい命令は処理で
きない。IER904のうち、命令の上位側からの
ビツト8〜11にて指定される書込み用のレジスタ
アドレスを線800を介してレジスタ9040に
セツトする。
EU2では、AステージにおいてIU1より線3
0経由で送出されたマイクロプログラムの先頭ア
ドレスをLステージにおいてアドレスレジスタ
(CSAR)1000にセツトし、制御記憶装置1
010からマイクロ命令を読出して、レジスタ
(CSDR)1001に入力する。同様にAステー
ジにおいてIU1より線31経由で送られた命令
の1バイト目をLステージにおいて、レジスタ
(GEL)3100にセツトする。
同様にAステージにおいてIU1より線31A
経由で送られたPステージでのIGPR書込み要求
信号はLステージにおいて、フリツプフロツプ5
000にセツトされる。
(Eステージ) IU1ではレジスタ9040の出力52の書込
みアドレスを用いてレジスタ982の出力50を
IGPR60に書込む。EU2では、線20,21
経由で送られたオペランドをワークレジスタ
(WAR)4000、ワークレジスタ(WBR)4
010にセツトし、演算器4030でマイクロ命
令の制御下で演算し、結果をレジスタ4040に
セツトする。演算器4030はIU1内の先行演
算器981と違い、全ての命令を処理できる汎用
演算器である。Aステージでセツトされたレジス
タ(GEL)3100の内容はLステージにおい
てレジスタ(GER)3110に移され、しかる
後GPR書込みアドレス制御3110Aにより書
込みアドレスが作られて(RX命令ではGER31
10の上4ビツトが書込みアドレスとなる)線1
1経由でIU1の比較器904Aへ送られ、Eス
テージでIU1内のレジスタ9041にセツトさ
れる。フリツプフロツプ5000の出力はEステ
ージにおいてフリツプフロツプ5010にセツト
され、線5010Aを介してIU1内のGPR書込
み制御70へ送られる。Lステージで読出された
マイクロ命令はCSDR1001にセツトされる。
EU1での演算が1マシンサイクルで終了するも
ののときは、読出されたマイクロ命令内に終了ビ
ツト(EOP)が設けられており、これが線10
12を介して、CSAR1000に送られ、次の命
令に対するマイクロプログラムの先頭アドレス3
0をセツトする。読出されたマイクロ命令が、マ
イクロプログラムの最後のものでない場合は読出
されたマイクロ命令の一部が次のマイクロ命令ア
ドレスとして、線1011経由でCSAR1000
にセツトされる。こうして複数のマイクロプログ
ラムが順次読出される。そのマイクロプログラム
の最後のマイクロ命令がCSDR1001にセツト
されたときは前の場合と同様にして、線30上
の、先頭アドレスがCSAR1000にセツトされ
る。GGPRの書込みおよびIGPRの書込みはマイ
クロ命令で指定される。GGPR書込みを必要とす
る命令の場合は、GGPR書込みのマイクロ命令が
マイクロプログラム内に設けられており、その命
令がCSDR1001の出力線1013を経由して
デコーダ4100により解読されると、フリツプ
フロツプ4101がセツトされる。フリツプフロ
ツプ4101は線58を経由してGGPR4050
へ書込み許可信号を送出する。先行演算器981
で処理可能な命令でもGGPR書込みマイクロ命令
をEステージで発行することに注意されたい。先
行演算器981で処理不能の命令の場合は、
IGPR書込みマイクロ命令がマイクロプログラム
内に設けられている。IGPR書込みマイクロ命令
がCSDR1001の出力線1002を経由してデ
コーダ4200に伝えられ、フリツプフロツプ4
102をセツトしIGPR書込み信号100をIU1
のIGPR60へ送出する。
(Pステージ) PステージにおいてはEU2での演算結果をマ
イクロ命令の制御下でレジスタ4040から
WCR4020にセツトし、結果を線4020A
経由でGGPR4050へ送出する。先行演算器9
81で演算できない命令の場合にIGPR60に書
込むべきデータとしてWCR4020の出力は線
10経由でIU1のIGPR60に送出される。
なお、インデクス・ベースレジスタコンフリク
トの発生はX/Bコンフリクト検出器3により検
出され、線3AによりDステージを抑止する。そ
の動作の詳細は第7図で説明する。
また、ステージ抑止信号803Aが“1”とな
ると、D,A,L,Eの各ステージを抑止する。
その動作の詳細は第10図で説明する。
以上により、先行演算器を具備した本発明の実
施例の動作のうち、D,A,L,E,Pの5ステ
ージの動作の概要について説明した。
第4図は本発明の特徴である第2図のIGPR6
0をさらに詳細に示した図である。
既に説明したようにDステージではインデクス
レジスタとベースレジスタAステージではオペラ
ンドR1とオペランドR2を読出している。Dス
テージとAステージはパイプラインによりオーバ
ラツプして動作するのでインデクスレジスタ、ベ
ースレジスタ、オペランドR1、オペランドR2
の4本のIGPRを同時に読出している。その詳細
を第4図で説明する。
IGPRは16本のGPR、8000〜8015があ
り、(それらをGPR0〜GPR15と呼ぶ)それぞ
れ出力がMPX,53A,53B,53C,53
Dへつながつている。MPX,53Aでは線53
を介して入力されるインデクスレジスタアドレス
Xにより1本のGPRを選択し、線800に送出
する。同様にMPX,53Bは線54により指定
されるベースレジスタアドレスBにより1本の
GPRを選択し、線810に送出し、MPX,53
Cは線55を介して入力されるレジスタアドレス
R1により1本のGPRを選択し、線820に送
出し、MPX,53Dは線56を介して入力され
るレジスタアドレスR2により1本のGPRを選
択し、線830に送出する。このように4つの
GPRを独立に読出すことができる。
また、先行演算器で処理できる命令はLステー
ジで、処理できない命令はPステージでIGPR6
つに書込む。
LステージとPステージはパイプラインにより
オーバーラツプして動作するので、Lステージと
Pステージで同時にIGPR60を書込む必要があ
る。その構成と動作の詳細を次に説明する。Pス
テージに於いてEU2からの書込みデータは線1
0経由で各GPR8000〜8015へ結線され
る。同様に先行演算器981からの書込みデータ
も線50経由で各GPR8000〜8015へ結
線される。EU2からのGPRアドレスは線51経
由で送られデコーダ61でデコードされたあと、
IGPR書込み信号100とアンドゲートを経て、
線630〜線645に送出される。Lステージで
は先行演算器での結果を書込むべきGPRアドレ
スを線52経由で送り、デコーダ62でデコード
されたあと、IGPR書込み許可信号700とアン
ドゲートを経て、線650〜線665に送出され
る。Pステージでの書込み信号630と、Lステ
ージでの書込み信号650はオアゲートを経て線
530を送出し、GPR8000へのセツト信号
を作る。線631〜線645と線651〜線66
5も同様に、オアゲートを経て、線531〜54
5を送出し、GPR8001〜GPR8015への
セツト信号となる。GPR8000へのデータ入
力は線630による。即ち線630が“1”の場
合、線10を選び、線630が“0”の場合、線
50を選択する。GPR8001〜GPR8015
の場合も同様に線631〜線645により、デー
タ入力を選択する。以上により、LステージとP
ステージで同時にIGPRを書込むことが可能とな
る。
次にインデクス・ベースレジスタコンフリクト
が発生したときの動作を第2図、第5図、第7図
を用いて説明する。第5図は第2図の命令ユニツ
1内のX/Bコンフリクト検出器3を詳細に示し
た図である。第7図はその場合のパイプラインの
流れ図である。D,A,L,E,Pは各ステージ
を表わし、横軸は時間をマシンサイクル単位で表
わしている。各マシンサイクルは2つのクロツク
によつて分けられ、それぞれT0,T1,T2,T3
する。以下では、各命令の説明において、あるマ
シンサイクルC1がその命令にあるステージ、例
えばDステージに対するものであるときは、その
サイクルのクロツクT1をクロツク(D,T1)の
如くステージと組合せて表示する。第7図の番号
〜は処理される命令の番号を示している。ま
たはL(Load)命令、はA(Add)命令で、
の書込みレジスタ番号R1とのインデクスレ
ジスタ番号Xが一致し、いわゆるインデクスレジ
スタコンフリクトを起こしている場合の本発明に
よるパイプラインの流れを示している。従つて第
1図Bの従来技術のパイプラインの流れに対応し
ている。
L命令は先行演算器981で処理可能なので
既に説明したように、LステージでIGPRに書込
むことができる。従つてL命令のEステージに
オーバラツプしてA命令のDステージが動作で
き、必要なオペランドアドレスを得ることができ
る。これにより第1図Bに比べ、A命令のDス
テージを2サイクル早く開始することができた。
それは第1図BではL命令のPステージで
GPRに書込んだのに比べ、第7図では2サイク
ル早いLステージでGPRに書込めることに起因
する。その動作の制御をさらに以下に説明する。
L命令はC1サイクルのクロツクT0(D,T0)で
命令レジスタ902にセツトされる。L命令は
先行演算器981で処理可能なので、判定回路9
02Aで判定され、出力“0”をC2サイクルの
クロツクT0(A,T0)で命令キユー903にセツ
トされる。また命令レジスタの前半2バイトは同
じく(A,T0)に命令キユー903にセツトさ
れる。線903A(A,T0)より出力される。C2
サイクルのクロツクT0ではA命令が命令レジ
スタ902にセツトされる。X/Bアドレス制御
回路990はA命令のX,Bを線53,54を
介してX/Bコンフリクト検出器3に送る。同時
刻にL命令の書込みレジスタ番号R1が線90
3Aを介してX/Bコンフリクト検出器3に送ら
れる。3では第5図に示す比較器10000によ
り比較される。この場合アドレスは一致している
ので、出力はオアゲートを介し、Dステージ抑止
信号3Aを“1”とする。この信号によりA命令
はC2サイクルでのDステージの処理を抑止さ
れる。
C2サイクルのクロツクT2(A,T2)ではL命令
の書込みアドレスR1を含む前半2バイトが
IER904にセツトされる。IER904の書込み
アドレスR1を含む4ビツトを線800を介して
C3サイクルのクロツクT0(L,T0)でレジスタ9
040にセツトされる。
C2サイクルでA命令のDステージの動作が
抑止されたのでC3サイクルのクロツクT0で線5
3,54にはA命令のX,Bが送出されてい
る。同時刻にレジスタ9040の出力52はL命
令の書込みアドレスR1が送出されているの
で、X/Bコンフリクト検出器3では線53と線
52を比較器10010で比較する。この場合、
アドレスは一致するので、出力はオアゲートを介
し、Dステージ抑止信号3Aを“1”とする。こ
れによりA命令はC3サイクルでのDステージ
処理も抑止される。
C2サイクルのクロツクT2(A,T2)でPステー
ジでのIGPR書込み要求信号は31A経由でEU
2へ送出され、C3サイクルのクロツクT2(L,
T2)でフリツプフロツプ5000にセツトされ、
線5000Aを介してIU1へ送られる。
C2サイクルのクロツクT0(A,T0)でL命令
の書込みアドレスR1が線31を経由してEU2
へ送られ、C2サイクルのクロツクT2(A,T2)で
GEL3100にセツトされる。C3サイクルのク
ロツクT0(L,T0)でGER3100にセツトさ
れGPR書込みアドレス制御3110Aにより、
3100の上4ビツト、即ちL命令のR1が切
り出され、C3サイクルのクロツクT2(L,T2)に
11を介してIU1へ送られる。
C3サイクルでもA命令のDステージの動作
が抑止されたのでC4サイクルのクロツクT0で線
53,54にはA命令のX,Bが送出されてい
る。
同時刻に線11にはL命令の書込みアドレス
R1が送出されているので、X/Bコンフリクト
検出器3では線11と線53を比較器10020
で比較する。この場合もアドレスは一致するが、
PステージでのIGPR書込み要求信号5000A
は“0”であるので、アンドゲートで抑止され、
Dステージ抑止信号3Aは“0”となる。従つて
A命令はC4サイクルでDステージの処理がな
される。
L命令は先行演算器981で処理可能である
が、命令が先行演算器981で処理不可能の場
合は、PステージでのIGPR書込み要求信号50
00Aが“1”となりC4サイクルでも、Dステ
ージ抑止信号3Aが“1”となりDステージの処
理が抑止される。さらにこの場合C5サイクルで
も、PステージのIGPR書込み要求信号5010
Aが“1”となり、Dステージ抑止信号3Aが
“1”となることになりDステージの処理が抑止
される。C6サイクルではじめて命令のDステ
ージが処理される。この場合のパイプラインの流
れは第1図Bと同じとなる。
また、ベースレジスタ54についても同じく、
比較器10040〜10070によりアドレス比
較がなされ、必要なら、Dステージ抑止信号3A
を“1”とする。
このようにして、命令が先行演算器981で
処理可能な場合、インデクスレジスタコンフリク
ト時の性能を、従来より2サイクル改善すること
ができた。
次にこのように先行演算器を構成した場合に、
生ずる発明の概略で述べた不都合を解決する方法
及び動作について説明する。
第6図は本発明の特徴であるGPR書込み制御
70をさらに詳細に示した図であるが、その動作
は第8図〜第10図を用いて説明する。
第8図は先行演算器981で処理できGPRを
書込む命令(例えばL命令の連続)が連続した場
合のパイプラインの流れ図を示したものである。
命令〜はRX命令でGPRを書込む命令とす
る。従つて、R1でGPR書込みアドレスを指定
する。
命令はC1サイクルのクロツクT0(D,T0)で
命令レジスタ902にセツトされる。命令は先
行演算器981で処理可能なのでそれぞれが判定
回路902Aで判定され、出力“0”及び命令の
前半2バイトをC2サイクルのクロツクT0(A,
T0)で命令キユー903にセツトされる。C2
イクルのクロツクT0(A,T0)でセツトされた書
込みアドレスR1を含む出力線903AはC2
イクルのクロツクT2(A,T2)でIER904にセ
ツトされる。IER904のうちのオペコード部は
線804を介し第6図のGPR書込み制御70に
入力される。GPR書込み判定回路9900によ
り、命令は先行演算器981で処理可能であ
り、かつGPR書込みをする命令故、線9901
に“1”を生じ、C3サイクルのクロツクT2にフ
リツプフロツプ9902にセツトされる。GPR
書込み判定回路9900は命令コード804を入
力とする周知の回路である。
C2サイクルのクロツクT2(A,T2)で“0”に
セツトされた出力線31A上の先行演算不可能表
示信号は、第4図で示すようにC3サイクルのク
ロツクT2(L,T2)でフリツプフロツプ5000
にセツトされ、線5000Aに出力される。ま
た、C4サイクルのクロツクT2でフリツプフロツ
プ5010にセツトされ、線5010Aに“0”
を出力する。
C2サイクルのクロツクT0(A,T2)でセツトさ
れたマイクロ命令アドレス30はC3サイクルの
クロツクT0(L,T0)でEU2のCSAR1000
にセツトされる。しかる後、制御記憶装置101
0を読出し、C3サイクルのクロツクT2(L,T2
にCSDR1001にセツトされる。命令は
GPR書込みをする命令故、CSDR1001には
GPR書込み命令がセツトされているのでデコー
ダ4100でデコードされ、C4サイクルのクロ
ツクT2(E,T2)にフリツプフロツプ4101に
セツトされ、出力線58に“1”を出力する。こ
れがGGPR4050への書込み指令である。命令
のPステージでIGPR60へ書込む必要がない
ので、線1002にはIGPR書込み指令が出力さ
れない。従つてフリツプフロツプ4102には
C4サイクルのクロツクT2で“0”がセツトされ、
信号100には“0”が出力される。これは、先
行演算器981で処理可能故、既にC3サイクル
(Lステージ)でIGPR60に書込みが完了して
いるので、このサイクルにIGPR書込み信号10
0を必要としないことをいみする。第6図の動作
は命令についての説明がさらに必要である。
命令はC2サイクルのクロツクT0(D,T0)で
命令レジスタ902にセツトされる。C3サイク
ルのクロツクT0(A,T0)では命令の2バイト
が線903Aに出力され、C3サイクルのクロツ
クT2(A,T2)でIER904にセツトされ、書込
みアドレス線800等を出力する。IER904の
命令コード部の出力線804は第6図のGPR書
込み制御70に入力され、GPR書込み判定回路
9900により命令も先行演算器981で処理
可能であり、かつGPR書込みをする命令故、線
9901に“1”を生じ、C4サイクルのクロツ
クT2(L,T2)にフリツプフロツプ9902にセ
ツトされ線904Lに出力される。先行する命令
は先行演算可能な命令であり、C3サイクルの
クロツクT2(A,T2)では命令に対する先行演
算不可能信号“0”が出力されている。線500
0Aは“0”であり命令に先行する命令も先行
演算可能なので線5010Aも“0”となり、線
9000には“0”が出力され、C4サイクルの
クロツクT2(L,T2)にフリツプフロツプ900
1がセツトされず、反転出力9010は“1”と
なる。次に線904Lと線9010はアンドゲー
トを経てIGPR書込み許可信号700を生成す
る。フリツプフロツプ9001がセツトされない
のでステージ抑止信号803Aは“0”となる。
命令も命令と同じく、C5サイクルのクロツ
クT2(L,T2)にフリツプフロツプ9902に
“1”をセツトされ、線904Lに出力する。C4
サイクルのクロツクT2では命令と同じく、線
5000Aは“0”であり、線5010Aは前述
したように“0”なので、線9000には“0”
が出力されるのでC5サイクルのクロツクT2にフ
リツプフロツプ9001がセツトされず反転出力
9010は“1”となる。従つて線904Lと線
9010はアンドゲートを経てIGPR書込み信号
700を生成する。
このようにしてステージ抑止信号803Aは
“0”となり、パイプラインは乱れずに流れてゆ
く。
第9図は命令が先行演算器981で処理でき
ない命令、命令が、処理できる命令であ
り、命令及びのGPR書込みステージが、共
にのGPR書込みアドレスと異なる場合のパイ
プラインの流れ図を示したものである。命令の
動作は次の点を除いて第8図の命令の動作と同
じである。即ち、命令は先行演算器981で処
理不可能なのでそれが判定回路902Aで判定さ
れ、出力“1”をC2サイクルのクロツクT0で命
令キユー903にセツトされる。この信号は命令
キユー903の出力線31AとしてEU2へ送ら
れ、第8図と同様に動作する。従つて、C3サイ
クルのクロツクT2(L,T2)でフリツプフロツプ
5000に“1”がセツトされ、出力線5000
Aに“1”を発生する。さらに、命令のPステ
ージでは第7図と異なりIGPR60へ書込む必要
がある。C3サイクルのクロツクT2(L,T2)でセ
ツトされたCSDR1001にはIGPR書込み指令
が保持され、線1002を経て、デコーダ420
0でデコードされて、C4サイクルのクロツクT2
(E,T2)でフリツプフロツプ4102にセツト
され、IGPR書込み信号100に“1”を出力す
る。本発明の特徴は命令の動作についてさらに
説明される。命令は命令と異なり先行演算器
981で処理可能であり、その動作は第8図と次
の点を除いて同じである。C3サイクルのクロツ
クT2でセツトされたIER904の中の書込みア
ドレス線800は、同時刻にセツトされた命令
の書込みアドレス線11と比較器904Aで比較
する。この場合、前述したようにこの比較は成立
しないので“0”を線803に発生する。この時
刻には前述したように線5000Aは“1”が出
力されているが、線803は“0”のため第6図
の一方のアンドゲートは開かない。また、線50
10Aは“0”(命令の前の命令は先行演算器
981で処理可能なので第7図の動作説明よりこ
れは理解できるはずである)なので、もう一方の
アンドゲートも開かず、従つてC4サイクルのク
ロツクT2にフリツプフロツプ9001がセツト
されず、反転出力9010には“1”が出力され
る。しかる後、線904Lと線9010のアンド
ゲートが開かれIGPR書込み信号700を生成す
る。従つて、ステージ抑止信号803Aは“0”
となる。
命令に関して説明するならば、C4サイクル
のクロツクT2でセツトされたIER904の中の
書込みアドレス線800は、同時刻にセツトされ
た命令の書込みアドレス線801と比較器90
4Bで比較する。この場合、前述したようにこの
比較は成立しないので、“0”を線802に発生
する。この時刻には前述したように線5010A
には“1”が出力されているが、線802は
“0”のため第6図の一方のアンドゲートは開か
ない。また、線5000Aは“0”(命令は先
行演算器981で処理可能である。)なので、も
う一方のアンドゲートも開かず、従つてC5サイ
クルのクロツクT2にフリツプフロツプ9001
がセツトされず、反転出力9010には“1”が
出力される。しかる後、線904Lと線9010
のアンドゲートが開かれIGPR書込み許可信号7
00を生成する。また、同時刻にステージ抑止信
号803Aは“0”となる。このようにしてこの
場合も第7図の如くパイプラインが流れる。
第10図は命令が先行演算器981で処理で
きない命令、命令が処理できる命令であ
り、命令とのGPR書込みアドレスが同じ場
合のパイプラインの流れ図を示したものである。
命令の動作は第9図の命令の動作と同じであ
るので省略する。命令の動作は第8図と次の点
を除いて同じである。C3サイクルのクロツクT2
でセツトされたIER904の中の書込みアドレス
線800は同時刻にセツトされた命令の書込み
アドレス線11と比較器904Aで比較する。こ
の場合、第9図と異なり、この比較は成立し、
“1”を線803に発生する。この時刻には線5
000Aには“1”が出力されている(命令は
先行演算器981で処理できないため)ので、第
6図の上のアンドゲートが開き、C4サイクルの
クロツクT2にフリツプフロツプ9001がセツ
トされ、ステージ抑止信号803Aをセツトす
る。従つて反転出力9010には“0”が出力さ
れる。C4サイクルのクロツクT2には線904L
には“1”が出力されている(命令は先行演算
器981で処理可能でかつGPR書込み命令であ
る)が、アンドゲートが開かず、IGPR書込み信
号700は抑止される。C4サイクルのクロツク
T2で命令のIGPR書込み信号100に“1”が
出力されると、第6図のフリツプフロツプ100
000にC5サイクルのクロツクT2にセツトされ、
線100Aに出力される。フリツプフロツプ90
01はこれらをうけて、C6サイクルのクロツク
T2にリセツトされ、ステージ抑止信号803A
もリセツト(“0”となる)される。従つて反転
出力9010には“1”が出力される。この間、
ステージが抑止されているため、線904Lには
“1”が出力されているので、アンドゲートが開
いて、IGPR書込み許可信号700が“1”とな
る。ステージ抑止信号803Aが“1”の間、各
ステージは抑止される。そのようすは第9図の
C5,C6サイクルに示される。このステージ抑止
の論理は、当業者には周知の回路なので、図示し
ない。このようにして、命令のIGPR書込みは
命令のIGPR書込みの終了まで待たせられるの
で、同一アドレスのIGPRへの書込み順序が守ら
れる。
第10図で命令とのGPR書込みアドレス
は異なつているが、命令とが同じ場合につい
ても、第10図から容易に類推できるので説明を
省略する。
以上は書込みアドレスを比較し、不一致ならば
書込みを許し、一致するならば書込みを遅らす方
法である。これに対し、もう一つの方法は、比較
を行なわず無条件に書込みを遅らす方法である。
この方法の実施例を第11図、第12図、第13
図を用いて示す。既に第1図から第10図につい
ては説明済なので以降は相異点を中心に説明す
る。
第11図は第2図のIU1を詳細に示した図で
ある。第2図と比べると、比較器904A,90
4Bが不要であり、GPR書込み制御70の入力
が、線500A、線804、線100のみとなり
簡単となつていることが特徴である。
第3図、第4図は前者の実施例と同じであり、
本実施例の特徴であるGPR書込み制御70をさ
らに詳細に示した図を第12図に示す。これは前
者の実施例の第6図に相当する。その動作を第1
3図を用いて説明する。図において命令が先行
演算器981で処理できない命令、命令
が処理できる命令であり、前者の実施例の第9図
と第10図の両方を抱含する例である。本実施例
では、前者の例と異なり、命令及びのGPR
書込みアドレスがのGPR書込みアドレスと異
なつていても、同じでも同じ動作をする。
第13図の動作は既に説明した第10図の動作
と似ており、以下は第10図の動作と異なる点を
中心に説明する。命令の動作は第10図の命令
の動作と同じである。命令の動作は第10図
と次の点を除いて同じである。C3サイクルのク
ロツクT2でセツトされたIER904の中の書込
みアドレス線800と同時刻にセツトされた命令
の書込みアドレス線11との比較はしない。既
に説明したようにこの時刻に線5000Aには
“1”が出力されている(命令は先行演算器9
81で処理できないため)ので、第12図に示す
フリツプフロツプ9001がセツトされ、ステー
ジ抑止信号803Aをセツトする。以後の動作は
第10図と同じである。このようにアドレス比較
結果を用いず線5000Aのみでフリツプフロツ
プ9001をセツトするのが、本実施例の特徴で
ある。このために、GPR書込み制御70の回路
の簡単化が実現できている。
以上の2つの実施例により、EU2とIU1の両
方からIGPR60を書込める構成をとつた場合、
これらの命令を逐次に処理しているデータ処理シ
ステムと同一の結果を得ることが可能となつた。
本発明によれば、先行演算器で命令処理が可能
となり、GPRへの書込みが高速されるので、イ
ンデクス・ベースレジスタコンフリクト時の性能
を改善したデータ処理システムを提供することが
できた。本発明の効果の例は既に第7図に示し
た。即ち命令がL命令、がA命令で、この2
命令の間にインデクス・ベースレジスタコンクフ
リクトが発生し、パイプラインが乱れたようすを
第7図に示した。これは従来技術の同一ケースの
第1図Bに相当する。本発明では命令のEステ
ージでGPRへの書込みが可能となるため、同一
サイクルで命令のDステージをオーバラツプさ
せることが可能となる。従つて第1図Bと比較し
て2サイクル高速化できることがわかる。
本発明ではIGPRへはEUとIUの両方から書込
める構成が必要であるが、この場合、先行演算器
で処理できない命令が発生した場合、後続の先行
演算器で処理できる命令のGPR書込みアドレス
と上記の書込みアドレスの比較回路を設け、不一
致ならば後続の命令のGPR書込みを進め、一致
するならば、先行する命令のGPR書込みまで、
後続の命令のGPR書込みを遅らせる第一の実施
例か、無条件に先行する命令のGPR書込みまで、
後続の命令のGPR書込みを遅らせる第二の実施
例により、命令を逐次に処理しているデータ処理
システムと同一の結果を得ることが可能となつ
た。
【図面の簡単な説明】
第1図Aはパイプライン処理方式による従来技
術による命令処理図、第1図Bはインデクス・ベ
ースレジスタコンフリクトが発生した場合の従来
技術の命令処理図、第2図は命令ユニツト1の詳
細図、第3図は演算ユニツト2の詳細図、第4図
は第2図のIGPR60の詳細図、第5図は第2図
のX/Bコンフリクト検出器3の詳細図、第6図
は第2図のGPR書込み制御70の詳細図、第7
図〜第10図は本発明の実施例を説明する動作
図、第11〜第13図は本発明の他の実施例を示
す図である。

Claims (1)

  1. 【特許請求の範囲】 1 パイプラインモードで複数の命令の各々を複
    数のステージに分けて実行するデータ処理システ
    ムであつて、 オペランドを保持するメモリと、 該メモリから読みだされたオペランドを保持す
    るオペランドバツフアと、 複数の第一のレジスタと、 該複数の第一のレジスタの一つにそれぞれ対応
    する複数の第二のレジスタと、 メモリオペランドに対する演算を要求する命令
    に応答して、該複数の第一のレジスタの少なくと
    も一つに保持されたレジスタオペランドに加算を
    施してそのメモリオペランドを読み出すためのア
    ドレスを生成する加算器と、 複数の命令の各々が要求する、レジスタオペラ
    ンドまたはメモリオペランドに対する演算を、該
    複数の第二のレジスタの一つに保持されたレジス
    タオペランドまたはその命令により該オペランド
    バツフアに読み出されたメモリオペランドに対し
    て実行し、各々の演算結果を該複数の第二のレジ
    スタの一つに書き込む第一の演算手段と、 該複数の命令の内の一部の命令の各々が要求す
    る、レジスタオペランドまたはメモリオペランド
    に対する演算を、該複数の第一のレジスタに保持
    されたレジスタオペランドまたはその命令により
    該オペランドバツフアに読み出されたメモリオペ
    ランドに対して、かつ、その演算が、該第一の演
    算手段により実行されるのに先行して実行し、
    各々の演算結果を該複数の第一のレジスタの一つ
    に書き込む第二の演算手段とを有し、 該第一の演算手段は、該一部の命令以外の命令
    が要求する演算を実行したとき、その演算結果を
    該複数の第一のレジスタの一つにも書き込むデー
    タ処理システム。 2 パイプラインモードで複数の命令の各々を複
    数のステージに分けて実行するデータ処理システ
    ムであつて、 複数の第一のレジスタと、 複数の命令が要求する演算を、該複数の第一の
    レジスタの一つに保持されたレジスタオペランド
    に対して実行し、該複数の命令の一部の命令以外
    の命令に対する演算結果を該複数の第一のレジス
    タの一つに書き込む第一の演算手段と、 該一部の命令の各々が要求する演算を、該複数
    の第一のレジスタに保持されたレジスタオペラン
    ドに対して、かつ、該第一の演算手段における演
    算タイミングに先行したタイミングで実行し、
    各々の演算結果を該複数の第一のレジスタの一つ
    に書き込む第二の演算手段と、 該複数の命令の内の、メモリオペランドに対す
    る演算を要求する命令に応答して、該複数の第一
    のレジスタの少なくとも一つに保持されたレジス
    タオペランドに加算を施してそのメモリオペラン
    ドを読み出すためのアドレスを生成する加算器
    と、 該一部の命令の各々に先行する命令に対して該
    第一の演算手段により得られる演算結果が該レジ
    スタ群に書き込まれた後にその各々の命令に対し
    て該第二の演算手段により得られる演算結果が該
    第一のレジスタに書き込まれるように、該第二の
    演算手段の演算結果の書き込みを制御する手段と
    を有するデータ処理システム。 3 該制御手段は、該一部の命令の一つに対して
    第二の演算手段により得られる演算結果を格納す
    べきレジスタが、その命令に先行する命令に対し
    て該第一の演算手段により得られる演算結果を格
    納すべきレジスタと一致するか否かを判定し、一
    致するときには、該第二の演算手段により得られ
    る該演算結果の格納を遅延し、一致がみられない
    ときには、その遅延をしない手段からなる請求項
    2記載のデータ処理システム。 4 該制御手段は、該一部の命令の一つに対して
    得られる第二の演算手段の演算結果が格納される
    レジスタが、その命令に先行する命令に対して該
    第一の演算手段により得られる演算結果を格納す
    るレジスタと一致するか否かに無関係に、該第二
    の演算手段により得られる該演算結果の格納を遅
    延する請求項2記載のデータ処理システム。 5 メモリオペランドを保持するメモリと、 メモリオペランドに対する演算を要求する命令
    に応答して、該アドレス加算器を用いてそのメモ
    リこから読み出されたメモリオペランドを一時的
    に保持するオペランドバツフアと、 該複数の第一のレジスタの一つにそれぞれ対応
    する複数の第二のレジスタとを更に有し、 該第一の演算手段は、該複数の命令の各々が要
    求する、レジスタオペランドまたはメモリオペラ
    ンドに対する演算を、該複数の第二のレジスタに
    保持されたレジスタオペランドまたはその命令に
    より該オペランドバツフアに読み出されたメモリ
    オペランドに対して実行し、その結果を該複数の
    第二のレジスタの一つに書き込み、その命令が、
    該一部の命令以外の命令のときには、その演算結
    果を、該複数の第一のレジスタの一つにも書き込
    む演算手段からなり、 該第二の演算手段は、該一部の命令の各々が要
    求する、レジスタオペランドまたはメモリオペラ
    ンドに対する演算を、該複数の第一のレジスタに
    保持されたレジスタオペランドまたはその命令に
    より該オペランドバツフアに読み出されたメモリ
    オペランドに対して、かつ、その演算が該第一の
    演算手段により実行されるのに先行して実行し、
    その演算結果を該複数の第二のレジスタの一つに
    書き込む演算手段からなる請求項2のデータ処理
    システム。 6 パイプラインモードで複数の命令の各々を複
    数のステージに分けて実行するデータ処理システ
    ムであつて、 複数の第一のレジスタと、 複数の命令が要求する演算を、該複数の第一の
    レジスタの一つに保持されたレジスタオペランド
    に対して実行する第一の演算手段と、 該複数の命令の内の一部の命令の各々が要求す
    る演算を、該複数の第一のレジスタに保持された
    レジスタオペランドに対して、かつ、該第一の演
    算手段における演算タイミングに先行したタイミ
    ングで実行し、各々の演算結果を該複数の第一の
    レジスタの一つに書き込む第二の演算手段と、 メモリオペランドに対する演算を要求する命令
    に応答して、該複数の第一のレジスタの少なくと
    も一つに保持されたレジスタオペランドに加算を
    施してそのメモリオペランドを読み出すためのア
    ドレスを生成する加算器と、 該第一の演算手段で実行中の先行命令の演算結
    果を格納するレジスタの番号と後続の、該一部の
    命令の一つの実行結果を格納するレジスタの番号
    が一致するとき、該後続の命令の演算を該第二の
    演算手段において実行することを禁止する手段
    と、 該第一の演算手段による演算結果の内、該一部
    の命令以外の命令に対する演算結果と、該禁止手
    段により禁止された該一部の命令の一つに対する
    演算結果を、それぞれ該複数の第一のレジスタの
    一つに書き込む手段とを有するデータ処理システ
    ム。 7 メモリオペランドを保持するメモリと、 メモリオペランドに対する演算を要求する命令
    に応答して、該アドレス加算器を用いてそのメモ
    リから読み出されたメモリオペランドを一時的に
    保持するオペランドバツフアと、 該複数の第一のレジスタの一つにそれぞれ対応
    する複数の第二のレジスタとを更に有し、 該第一の演算手段は、該複数の命令の各々が要
    求する、レジスタオペランドまたはメモリオペラ
    ンドに対する演算を、該複数の第二のレジスタに
    保持されたレジスタオペランドまたはその命令に
    より該オペランドバツフアに読み出されたメモリ
    オペランドに対して実行し、その結果を該複数の
    第二のレジスタの一つに書き込み、その命令が、
    該一部の命令以外の命令または該禁止手段により
    禁止された、該一部の命令の一つであるときに
    は、その演算結果を、該複数の第一のレジスタの
    一つにも書き込む演算手段からなり、 該第二の演算手段は、該一部の命令の各々が要
    求する、レジスタオペランドまたはメモリオペラ
    ンドに対する演算を、該複数の第一のレジスタに
    保持されたレジスタオペランドまたはその命令に
    より該オペランドバツフアに読み出されたメモリ
    オペランドに対して、かつ、その演算が該第一の
    演算手段により実行されるのに先行して実行し、
    その演算結果を該複数の第二のレジスタの一つに
    書き込む演算手段からなる請求項6のデータ処理
    システム。
JP57071210A 1982-04-30 1982-04-30 デ−タ処理システム Granted JPS58189738A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP57071210A JPS58189738A (ja) 1982-04-30 1982-04-30 デ−タ処理システム
US06/489,349 US4739470A (en) 1982-04-30 1983-04-28 Data processing system
DE8383104228T DE3382056D1 (de) 1982-04-30 1983-04-29 Nach dem prinzip der pipeline arbeitendes datenverarbeitungssystem.
EP83104228A EP0093430B1 (en) 1982-04-30 1983-04-29 Pipeline data processing system

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPS58189738A JPS58189738A (ja) 1983-11-05
JPH0348536B2 true JPH0348536B2 (ja) 1991-07-24

Family

ID=13454086

Family Applications (1)

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

Country Status (4)

Country Link
US (1) US4739470A (ja)
EP (1) EP0093430B1 (ja)
JP (1) JPS58189738A (ja)
DE (1) DE3382056D1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4702909A (en) * 1982-05-05 1987-10-27 Louisiana State University A & M Non-A, non-B hepatitis antigen, antigen compositions, vaccine and diagnostic reagent
JPH0762823B2 (ja) * 1985-05-22 1995-07-05 株式会社日立製作所 デ−タ処理装置
JPH0619712B2 (ja) * 1985-12-20 1994-03-16 日本電気株式会社 アドレス生成制御方式
DE3751503T2 (de) * 1986-03-26 1996-05-09 Hitachi Ltd Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen.
US4868740A (en) * 1986-06-04 1989-09-19 Hitachi, Ltd. System for processing data with multiple virtual address and data word lengths
US4888689A (en) * 1986-10-17 1989-12-19 Amdahl Corporation Apparatus and method for improving cache access throughput in pipelined processors
JPH0810430B2 (ja) * 1986-11-28 1996-01-31 株式会社日立製作所 情報処理装置
JPS63170736A (ja) * 1987-01-09 1988-07-14 Toshiba Corp マイクロプロセツサ
JP2668987B2 (ja) * 1988-09-30 1997-10-27 松下電器産業株式会社 データ処理装置
JP2504156B2 (ja) * 1989-01-25 1996-06-05 日本電気株式会社 情報処理装置
CA2016068C (en) * 1989-05-24 2000-04-04 Robert W. Horst Multiple instruction issue computer architecture
CA2045773A1 (en) * 1990-06-29 1991-12-30 Compaq Computer Corporation Byte-compare operation for high-performance processor
US5717891A (en) * 1995-10-12 1998-02-10 Analog Devices, Inc. Digital signal processor with caching of instructions that produce a memory conflict
JP2001005675A (ja) * 1999-06-21 2001-01-12 Matsushita Electric Ind Co Ltd プログラム変換装置及びプロセッサ
US6877069B2 (en) * 2002-03-28 2005-04-05 International Business Machines Corporation History-based carry predictor for data cache address generation
US6941421B2 (en) * 2002-10-29 2005-09-06 International Business Machines Corporation Zero delay data cache effective address generation
US7694286B2 (en) * 2005-02-10 2010-04-06 International Business Machines Corporation Apparatus and method for detecting base-register usage conflicts in computer code

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US26171A (en) * 1859-11-22 Improvement in grain-binders
USRE26171E (en) 1962-03-02 1967-03-07 Multiprocessing computer system
US3787673A (en) * 1972-04-28 1974-01-22 Texas Instruments Inc Pipelined high speed arithmetic unit
GB1443777A (en) * 1973-07-19 1976-07-28 Int Computers Ltd Data processing apparatus
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
US4287561A (en) * 1978-03-16 1981-09-01 International Business Machines Corporation Address formulation interlock mechanism
US4305124A (en) * 1978-06-09 1981-12-08 Ncr Corporation Pipelined computer
JPS56166553A (en) * 1980-05-26 1981-12-21 Nec Corp Information process having advanced control function
JPS6028015B2 (ja) * 1980-08-28 1985-07-02 日本電気株式会社 情報処理装置
JPS57155666A (en) * 1981-03-20 1982-09-25 Fujitsu Ltd Instruction controlling system of vector processor
US4532589A (en) * 1981-12-02 1985-07-30 Hitachi, Ltd. Digital data processor with two operation units

Also Published As

Publication number Publication date
EP0093430A2 (en) 1983-11-09
EP0093430B1 (en) 1990-12-12
DE3382056D1 (de) 1991-01-24
JPS58189738A (ja) 1983-11-05
EP0093430A3 (en) 1986-10-15
US4739470A (en) 1988-04-19

Similar Documents

Publication Publication Date Title
JPH0348536B2 (ja)
JPH04296937A (ja) ハードウエアデータストリング演算コントローラ及び主記憶ストリング動作を行わせる方法
JPH0545985B2 (ja)
JPS6217252B2 (ja)
JPS63136138A (ja) 情報処理装置
JPS633337B2 (ja)
EP0094535B1 (en) Pipe-line data processing system
US4773035A (en) Pipelined data processing system utilizing ideal floating point execution condition detection
US5291615A (en) Instruction pipeline microprocessor
JPH0512751B2 (ja)
JPS6116335A (ja) 情報処理装置
JPS5896345A (ja) 階層型演算方式
JP2812610B2 (ja) パイプライン制御方式
JP2869376B2 (ja) データ依存関係を持つ複数のデータ処理を実行するパイプラインデータ処理方法
JP2919184B2 (ja) パイプライン処理を行う情報処理装置
JPH0277940A (ja) データ処理装置
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JPS5829051A (ja) 演算処理装置
JPS5995646A (ja) 演算制御装置
JP2583614B2 (ja) ベクトル演算装置
JPS595354A (ja) デ−タ処理装置
JPH02217924A (ja) データ処理装置のストア処理方式
JPS5896346A (ja) 階層型演算方式
JPH06332701A (ja) 情報処理装置
JPS6116111B2 (ja)