JPH02138625A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH02138625A
JPH02138625A JP7262389A JP7262389A JPH02138625A JP H02138625 A JPH02138625 A JP H02138625A JP 7262389 A JP7262389 A JP 7262389A JP 7262389 A JP7262389 A JP 7262389A JP H02138625 A JPH02138625 A JP H02138625A
Authority
JP
Japan
Prior art keywords
stage
instruction
pipeline
flag information
information holding
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
JP7262389A
Other languages
English (en)
Other versions
JPH0769820B2 (ja
Inventor
Fumihiko Terayama
寺山 文彦
Yuichi Saito
祐一 斉藤
Toyohiko Yoshida
豊彦 吉田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP1072623A priority Critical patent/JPH0769820B2/ja
Priority to US07/497,375 priority patent/US5239633A/en
Publication of JPH02138625A publication Critical patent/JPH02138625A/ja
Publication of JPH0769820B2 publication Critical patent/JPH0769820B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野) この発明は、パイプライン処理を行うデータ処理装置に
係り、特にメモリ間接アドレッシング。
レジスタ間接アドレッシングをアドレス計算ステージで
行うデータ第理装置に関するものである。
(従来の技術〕 データ処理装置の処理速度を上げるための方法として、
パイプライン処理方式がある。
パイプライン処理方式は、命令処理を分割しデータ処理
装置中で複数の命令を同時に実行することでスルーブツ
トを上げ1命令の見かけ上の実行速度を上げるものであ
る。例えば、1命令が命令デコード、オペランドアドレ
ス計算、オペランドフェッチ、演算実行の4ステージの
パイプラインで実行されるように構成したデータ処理装
置では、最大4つの命令がそれぞれの処理ステージで同
時に実行される。それに対し、1命令ずつ処理を行うデ
ータ処理装置では、命令デコード、オペランドアドレス
計算、オペランドフェッチ、演算実行のすべての処理を
終えねば次の命令処理に進めない。そのためこの場合、
パイプライン処理を行うデータ処理装置は見かけ上4倍
の命令処理速度を持つことができる。
データ処理装置の処理速度を上げるためには、パイプラ
イン処理効率を高めることが必要である。パイプライン
処理の効率を高めるには、パイプラインの各ステージ負
荷が均等であることと、各ステージが同数のクロックサ
イクルでデータを処理し、次々とパイプライン処理が進
行することが必要である。
パイプライン中の連続したデータ処理の進行を乱す要因
には、ジャンプ命令2例外1割込み、パイプライン中の
命令どうしのコンフリクト等がある。ここで、パイプラ
イン中のコンフリクトの主なものの1つは、演算実行ス
テージが書込む汎用レジスタあるいはメモリをオペラン
ドアドレス計算ステージがその書込み前に参照すること
である。
プログラム通りに命令が正しく実行されるためには、演
算実行ステージが汎用レジスタあるいはメモリ書込みを
終えた後で、オペランドアドレス計算ステージがその汎
用レジスタあるいはメモリを参照しなければならない。
第4図は従来のパイプライン制御機構を説明する回路ブ
ロック図であり、41は命令デコーダで、命令を解読し
て、レジスタ書込み予約信号をレジスタ書込み処理用の
SRフリップフロップ42のセット入力に出力し、メモ
リ書込み予約信号をメモリ書込み処理用のSRフリップ
フロップ43のセット入力に出力する。SRフリップフ
ロップ42.メモリ書込み処理用のSRフリップフロッ
プ43はそれぞれ演算処理部44からのリセット信号に
よりリセットされる。
第5図はパイプライン処理推移を説明する状態図であり
、51は命令デコードステージを示し、52はアドレス
計算ステージを示し、53はオペランドフェッチステー
ジを示し、54は演算実行ステージを示し、T1〜T8
は処理サイクルを示し、■1〜I3はパイプラインを流
れる命令を示す。
次に第4図を参照しながら従来のレジスタあるいはメモ
リへの書込みに伴うパイプライン制御方式を説明する。
命令デコーダ41は入力された命令が演算処理部44に
おいてレジスタあるいはメモリにデータを書き込むかど
うかを調べる。次いで、メモリに書き込む場合には、メ
モリ書込み予約信号をSRフリップフロップ43に送出
し「1」にセットする。SRフリップフロップ43の値
は、「IJをセットした命令が演算処理部44において
、処理を終了したときに、「0」にリセットされ、その
後再び命令処理が開始される。
メモリ書き込みと同様に、レジスタ書き込みもレジスタ
書込み予約信号がSRフリップフロップ42をセットし
、演算処理部44で処理が終了した時リセットされる。
このような、パイプライン制御によるステージ遅延を第
5図を参照しながら説明する。
例えば命令11がメモリ書き込み予約をすると、命令I
2は処理サイクルT3で処理が停止し、処理サイクルT
4で命令11がメモリにデータを書き込むまでデコード
処理を実行できない。
処理サイクルT4で停止信号がリセットされ、処理サイ
クルT5で命令工2は再び処理を開始する。結果として
、命令I2には2サイクルの遅延が生じる。レジスタ書
き込み予約の場合も同様の遅延が生ずる。
このため、上記のようなレジスタコンフリクトに伴うこ
の問題点を、例えば特願昭62−144394号等に示
されるように改善する提案が既になされている。
〔発明が解決しようとする課題〕
ところが、従来の方法では、前の命令がメモリに値を書
き込む場合、その後ろの命令が前の命令のメモリ書き込
みを終了するまで、オペランドアドレス計算処理を停止
し、パイプラインの処理速度の著しい低下を招くという
問題点があフた。
この発明は、上記の問題点を解決するためになされたも
ので、命令のメモリ書き込み状態を調べてメモリ書込み
予約情報を各ステージに順次転送することにより、先行
命令のメモリ書き込みに伴う後続命令の才へランドアド
レス計算処理に起因する処理停止顕度を大幅に減少させ
て、効率よくパイプライン処理を実行できるデータ処理
装置を得ることを目的とする。
〔課題を解決するための手段) この発明に係るデータ処理装置は、オペランドのアドレ
ス計算を行う第1のパイプラインステージと演算結果の
オペランドの書き込みを行う第2のパイプラインステー
ジとを含むパイプライン処理機構と、メモリ空間への演
算結果のオペランド書き込みを行う第1の命令に関する
処理を第1のパイプラインステージで実行する際に、メ
モリ空間にオペランドを書き込む旨を予約するオペラン
ド書込み予約手段と、このオペランド書込み予約手段の
出力を保持する1つまたは複数の子約ラッチ手段と、第
1の命令に関する処理を第2のパイプラインステージで
処理する際に、1つまたは複数の子約ラッチ手段の内容
をクリアする予約ラッチクリア手段と、第1のパイプラ
インステージでオペランドのアドレス計算のためにメモ
リ空間をアクセスする第2の命令に関する処理を実行す
る際に、予約ラッチの内容に基づいて第1のパイプライ
ンステージでのオペランドのアドレス計算を抑止するオ
ペランドアドレス計算抑止手段とから構成したものであ
る。
また、入力データ信号と入力イネーブル信号とクリア信
号と出力信号をもつ1ビットのレジスタ回路である第1
のフラグ情報保持部と、入力データ信号と入力イネーブ
ル信号とクリア信号と出力信号を持つ1ビットのレジス
タ回路である第2のフラグ情報保持部と、第3のパイプ
ラインステージと第4のパイプラインステージに対応し
て第1のフラグ情報保持部と第2のフラグ情報保持部を
直列接続したフラグ情報保持手段と、第1のフラグ情報
保持部および第2のフラグ情報保持部の各出力の論理和
をとりながらフラグ情報保持手段におけるフラグ情報保
持状態を検出するフラグ情報保持状態検出手段と、第3
のパイプラインステージで第1の命令を処理するとき第
1のフラグ情報保持部をセットし、第1の命令の処理が
第3のパイブラインステージでの処理から第4のパイプ
ラインステージでの処理に移るとき、第1のフラグ情報
保持部の内容を上記第2のフラグ情報保持部に転送し、
かつ上記第1のフラグ情報保持部をクリアすることによ
り、フラグ情報保持手段内で順次情報を移動し、フラグ
情報保持状態検出手段の出力に従い、オペランドのアド
レス計算のためにメモリ空間をアクセスする第2の命令
に関する処理を制御するパイプライン制御手段とを設け
たものである。
(イ乍用) この発明においては、メモリ空間に演算結果のオペラン
ド書き込みを行う第1の命令、例えばメモリ書込み命令
に関する処理を第1のパイプラインステージで行うとき
、メモリ空間にオペランドを書き込むことをオペランド
書込み予約手段に予約し、第1の命令に関する処理を第
2のパイプラインステージで行うとき、予約ラッチクリ
ア手段により予約ラッチ手段の内容をクリアし、オペラ
ンドのアドレス計算のためにメモリ空間をアクセスする
第2の命令、例えばアドレス計算でメモリアクセスする
命令に関する処理を第1のパイプラインステージで行う
とき、オペランドアドレス計算抑止機構により、オペラ
ンドのアドレス計算を遅延して実行する。
また、パイプライン制御手段が第3のパイプラインステ
ージで第1の命令、例えばメモリ書込みを行う命令とそ
の他の命令を処理するとき第1のフラグ情報保持部をセ
ットし、第1の命令の処理が第3のパイプラインステー
ジでの処理から第4のパイプラインステージでの処理に
移るとき、第1のフラグ情報保持部の内容を第2のフラ
グ情報保持部に転送し、かつ第1のフラグ情報保持部を
クリアすることにより、フラグ情報保持手段内で順次情
報を移動させる。また、パイプライン制御手段は、フラ
グ情報保持状態検出手段の出力に従い第2の命令、例え
ばアドレス計算でメモリアクセスする命令に関する処理
実行を制御する。
〔実施例〕
第1図はこの発明の一実施例を示すデータ処理装置の構
成を説明するブロック図であり、例えば5段のパイプラ
イン構成となっている場合を示しである。
この図において、1は命令フェッチステージ(IFステ
ージ)で、命令のプリフェッチ処理を行う。2はデコー
ドステージ(Dステージ)で、命令のデコードを行う。
3は第1のパイプラインステージとなるオペランドアド
レス計算ステージ(Aステージ)で、オペランドのアド
レス計算を行う。4は第3のパイプラインステージとな
るオペランドフェッチステージ(Fステージ)で、マイ
クロROMアクセスとオペランドのフェッチを行う。5
は第2または第4のパイプラインステージとなる実行ス
テージ(Eステージ)で、命令の実行を行う。
IFステージ1はDステージ2に命令コードを渡し、D
ステージ2からAステージ3には演算に関する情報とオ
ペランドのアドレス計算に関する情報が渡され、Aステ
ージ3からFステージ4にはマイクロプログラムルーチ
ンのエントリ番地。
マイクロプログラムへのパラメータ情報とオペランドの
アドレス、アクセス方法に関する情報が渡され、Fステ
ージ4からEステージ5には演算制御情報とオペランド
やオペランドアドレスに関する情報が渡される。
6は命令デコーダで、IFステージ1から出力される命
令を演算に関する情報とオペランドアドレス計算に関す
る情報にデコードする。7は命令デコーダ、8はデコー
ダで、命令デコーダ7は演算に関する情報をさらにデコ
ードして、Eステージ5でレジスタあるいはメモリ書込
みを行うかどうかを判断してデコード結果をレジスタ書
込み予約回路9あるいはメモリ書込み予約回路10に予
約する。デコーダ8はオペランドに関する情報をさらに
デコードして、そのデコード結果をレジスタ書込み予約
回路9に出力する。
11はレジスタ書込み予約フラグ回路(Fステージ4に
設ける)で、レジスタ書込み予約回路9に予約され、パ
イプライン制御回路15から出力される制御信号(詳細
は後述する)に基づいてしジスタ書込み予約回路9から
転送されるレジスタ書込み予約情報を保持する。
12はメモリ書込み予約フラグ回路(Fステージ4に設
ける)で、メモリ書込み予約回路10に予約され、パイ
プライン制御回路15から出力される制御信号(詳細は
後述する)に基づいてメモリ書込み予約回路10から転
送されるメモリ書込み予約情報を保持する。
13はレジスタ書込み予約フラグ回路(Eステージ5に
設ける)で、レジスタ書込み予約フラグ回路11に保持
され、パイプライン制御回路15から出力される制御信
号(詳細は後述する)に基づいてレジスタ書込み予約フ
ラグ回路11から転送されるレジスタ書込み予約情報を
保持する。
14はメモリ書込み予約フラグ回路(Eステージ5に設
ける)で、メモリ書込み予約フラグ回路12に保持され
、パイプライン制御回路15から出力される制御信号(
詳細は後述する)に基づいてメモリ書込み予約フラグ回
路12から転送されるレジスタ書込み予約情報を保持す
る。
なお、メモリ空間に演算結果のオペランド書き込みを行
う第1の命令に関する処理を第1のパイプラインステー
ジ(Aステージ3)で行うとき、メモリ空間にオペラン
ドを書き込むことをオペランド書込み予約手段(メモリ
書込み予約回路10)に予約し、第1の命令に関する処
理を第2のパイプラインステージ(Eステージ5)で完
了のとき、予約ラッチクリア手段(パイプライン制御回
路15が兼ねる)により予約ラッチ手段(メモリ書込み
予約フラグ回路14)の内容をクリアし、オペランドの
アドレス計算のためにメモリ空間をアクセスする第2の
命令に関する処理を第1のパイプラインステージで行う
とき、オペランドアドレス計算抑止機構(パイプライン
制御回路15が兼ねる)により、オペランドのアドレス
計算を遅延して実行する。
以下、パイプライン中の命令どうしのコンフリクトに伴
うパイプライン制御動作について説明する。
データ処理装置中で処理される命令は、IFステージ1
よりDステージ2に渡され、命令デコーダ6でデコード
され演算に関する情報とオペランドアドレス計算に関す
る情報がAステージ3に渡される。Aステージ3ではオ
ペランドアドレス計算に関する情報によりオペランドア
ドレス計算をするとともに、演算に関する情報を命令デ
コーダ7でさらにデコードしEステージ5でレジスタあ
るいはメモリに書込みするかどうかを判断する。
書込みに関するデコード結果は、レジスタ書込み予約回
路9.メモリ書込み予約回路10にセットされる。レジ
スタ書込み予約回路9は、レジスタの数だけ予約回路を
持ち、命令デコーダ7の出力とレジスタ指定のためのデ
コーダ8の出力により予約される。メモリ書込み予約フ
ラグはアドレスに関係なく1つだけであり命令デコーダ
7の出力により予約される。
1命令が複数のオペランドを有する場合、1命令は複数
の処理単位に分けてデコードされ、書込み予約情報は繰
り返し行われる書込み予約により蓄積される。
このような、1命令が複数の処理単位に分けて処理され
ることは、特願昭61−236456号等に詳しく述べ
られである。
1命令のAステージ処理が終了すると、書込み予約情報
はFステージ4に転送され、レジスタ書込み予約フラグ
回路11あるいはメモリ書込み予約フラグ回路12に保
持される。命令のFステージ処理終了とともにEステー
ジ5への書込み予約情報の転送が行われる。書込み予約
情報は、書込み予約した命令が処理されているステージ
のフラグ回路が保持しており、書込み予約情報を転送し
たフラグ回路は保持していた書込み予約情報をクリアす
る。Eステージ5で書込み予約した命令の処理が終了し
た時点で、レジスタ書込み予約フラグ回路13あるいは
メモリ書込み予約フラグ回路14がクリアされる。オペ
ランドアドレス計算でメモリ間接アドレッシングのため
にメモリを参照する命令は、Aステージ3でメモリ書込
み予約フラグ回路12.14の少なくとも1つがセット
されていれば処理を停止し、メモリ書込み予約フラグ回
路12.14がすべてリセットされるまで待つ。
同様に、Aステージ3でオペランドのアドレス計算でレ
ジスタ参照する命令は、参照するレジスタに対応するレ
ジスタ書込み予約フラグ回路11.13が1つでもセッ
トされていれば処理を停止し、そのレジスタ書込み予約
フラグ回路11.13がすべてリセットされるのを待つ
この制御方式では、Aステージ3で書込み予約を行うの
で、オペランドアドレス計算に使用するレジスタやメモ
リのオペランド書込み予約が先に行われ、自分自身でコ
ンフリクトを起こすことはない。これらの書込み予約情
報の転送は、すべて総括的にパイプライン制御回路15
(詳細は後述する)が制御する。
次に第2図および第3図を参照しながら第1図に示した
データ処理装置における書込み予約情報転送処理につい
てさらに説明する。
第2図は、第1図に示した書込み予約情報転送回路の一
例を説明する構成図であり、21はメモリ書込み予約ラ
ッチで、アンドゲート21a、21b、ノアゲー)−2
1c、インバータ21d等から構成され、アンドゲート
21aには非重複2相クロツクφ2および命令デコーダ
7からのメモリ書込み予約信号22が入力され、Fステ
ージ4のRレジスタ23に出力される。Rレジスタ23
はマスタスレーブ構成となっており、トランスミッショ
ンゲート23a、23b、インバータ23c、ノアゲー
ト23d等よりなり、後段のEステージ5のEIレジス
タ24に書込み予約情報を転送する。25はEレジスタ
で、EIレジスタ24を介して書込み予約情報を受は取
る。26はオアゲートで、Rレジスタ23のスレーブお
よびマスク側のノアゲート23dの出力、EIレジスタ
24の出力、Eレジスタ25の出力等のオア(論理和)
をとり(メモリ書込み予約フラグの設定状態を検出する
処理)Aステージ3のアンドゲート27に書込み予約信
号を出力する。なお、アンドゲート27の一方には、メ
モリ間接参照信号28が入力され、上記書込み予約信号
とのアンド出力がメモリコンフリクト信号29として出
力され、このメモリコンフリクト信号29が「1」の間
は、Aステージ3におけるオペランドアドレス計算が停
止する。このように、各ステージに1ビットの書込み予
約情報転送ラインを設け、命令デコーダ7、デコーダ8
より出力されるメモリまたはレジスタの書込み予約情報
を順次後段のステージに遷移転送し、Eステージ5に書
込み予約情報を通知する。そして、各ステージに対する
書込み予約情報状態をオア論理で検出させ、命令に対す
る書込み予約情報がいずれかのステージに対して転送中
および転送後、Eステージ5によるメモリまたはレジス
タ書込みが完了するまで、Aステージ3におけるオペラ
ンドアドレス計算開始を遅延制御させる。
なお、Aステージ3のメモリ書込み予約ラッチ21はパ
イプライン制御回路15から出力されるAステージ終了
イ言号30によりリセットされるとともに、Rレジスタ
書込み信号31によりラッチされた書込み予約信号がF
ステージ4に転送される。
また、Fステージ4のRレジスタ23は、マスク側に転
送された書込み予約信号をパイプライン制御回路15か
ら出力されるRレジスタ読出し信号36によりスレーブ
側に書込み予約信号を転送し、Rレジスタクリア信号3
2によりクリアされる。
さらに、Eステージ5のEIレジスタ24はパイプライ
ン制御回路15から出力されるEIレジスタ書込み信号
33によりRレジスタ23から書込み予約信号を受取り
、Eステージ開始信号34によりEIレジスタ24から
書込み予約信号を受取り、Eステージ終了信号35によ
りクリアされる。なお、図中の■〜■は各ノード出力を
示す。
第3図は、第2図に示した各信号の送出タイミングを説
明するタイミングチャートである。
メモリ書込み予約信号22は、命令デコーダ7から出力
され、メモリ書込み予約ラッチ21をセットする。1つ
の命令が複数オペランドについてのメモリ書込みを行う
ときは、その回数だけメモリ書込み予約信号22がメモ
リ書込み予約ラッチ21をセットする。最終的に1命令
のアドレス計算処理が終ったところで、Aステージ終了
信号30とRレジスタ書込み信号31によりメモリ書込
み予約情報はFステージ4に送出され、メモリ書込み予
約ラッチ21はリセットされる。そして、書込み予約情
報がFステージ4に転送されると、Fステージ4のメモ
リ書込み予約フラグであるRレジスタ23はマスタスレ
ーブ構成となっており、次命令のメモリ書込み予約情報
の取り入れと、Eステージ5へのメモリ書込み予約情報
の転送を同時に行う。Rレジスタ読出し信号36により
スレーブへメモリ書込み情報が転送され、Rレジスタ2
3のマスクは次の命令のメモリ書込み予約情報の入力が
ない場合にはクリアされる。
Fステージ4で命令の処理が終了すると、メモリ書込み
予約情報は、EIレジスタ24に対するEIレジスタ書
込み信号33によりEステージ5へ転送され、Rレジス
タ23のスレーブ側がRレジスタ23のマスク側からの
入力情報にオーバーライドされる。
EIレジスタ24が、Fステージ4よりメモリ書込み予
約情報を受は取ると、入力レジスタであるEIレジスタ
24から入力されたメモリ書込み予約情報は、Eステー
ジ開始信号34によりEレジスタ25に転送され、次命
令の予約情報入力がなければEIレジスタ24はクリア
される。Eレジスタ25に入力されたメモリ書込み予約
情報は、Eステージ処理は終了時に、Eステージ終了信
号35によりクリアされる。
このようにメモリ書込み予約情報は、パイプラインを転
送される命令と同期してパイプライン中を転送され、E
ステージ5でメモリ書込みが行われ命令が終了するとク
リアされる。
なお、パイプライン制御手段となるパイプライン制御回
路15が第3のパイプラインステージとなるFステージ
4で第1の命令を処理するとき第1のフラグ情報保持部
(メモリ書込み予約フラグ回路12)をセットし、第1
の命令の処理が第3のパイプラインステージでの処理か
ら第4のパイプラインステージ(Eステージ5)での処
理に移るとき、メモリ書込み予約フラグ回路12の内容
を第2のフラグ情報保持部(メモリ書き込み予約フラグ
回路14)に転送し、かつメモリ書き込み予約フラグ回
路12をクリアすることにより、フラグ情報保持手段内
で順次情報を移動させる。また、パイプライン制御回路
15は、フラグ情報保持状態検出手段(オアゲート26
およびアンドゲート27等より構成される)の出力に従
い第3のパイプラインステージでの第2の命令に関する
処理実行を制御るす。
以下、第2図の動作について説明する。
各ステージのメモリ書込み予約フラグの出力はオアゲー
ト26でオアされ、アンドゲート27に入力する。Aス
テージ3でメモリ参照する命令はメモリ間接参照信号2
日をrl」とする。このため、パイプライン中を先行す
る命令が1つでもメモリ書込み予約がなされた場合には
、メモリコンフリクト信号29が「1」となり、Aステ
ージ3は処理を停止する。そして、メモリ書込み予約し
た命令がすべてEステージ5で処理されてメモリコンフ
リクト信号29が「0」になると、Aステージ3は処理
を再開する。
なお、上記実施例では、メモリ書込み予約情報の転送に
ついて説明したが、レジスタ予約情報でも同様のハード
ウェアにより転送させることが可能である。特に、レジ
スタ予約情報は、レジスタの数だけあり、レジスタ予約
とレジスタコンフリクト信号の発生は、レジスタ毎に独
立して行われる。Aステージ3でレジスタを参照する命
令はレジスタ間接参照信号2日を「1ノとし、パイプラ
イン中を先行する命令が1つでも対応するレジスタを書
込み予約していれば、レジスタコンフリクト信号が「1
」となり、Aステージ3は処理を停止する。そして、レ
ジスタ書込み予約した命令がすべてEステージ5で処理
され、レジスタコンフリクト信号が「0」となると、A
ステージ3は処理を再開する。
なお、ジャンプ命令や割込みをEステージ5が実行する
場合には、ジャンプが起こると、パイプライン中の命令
はキャンセルされ、IFステージ1が新たにジャンプ先
の命令取り込みを開始する。このとき、パイプライン中
の命令と同様にレジスタ書込み予約情報、メモリ書込み
予約情報もクリアされる。レジスタ書込み予約フラグ、
メモリ書込み予約フラグにはリセット入力があり、Eス
テージ5でジャンプが起こると、クリアされる。
このとき、メモリ書込み予約ラッチ21は、Aステージ
終了信号30により、Rレジスタ23は、Rレジスタ読
出し信号36とRレジスタクリア信号32により、EI
レジスタ24はEステージ開始信号34により、Eレジ
スタ25はEステージ終了信号35によりそれぞれクリ
アされる。
また、上記実施例においては、メモリ空間全体について
1系統のメモリ書込み予約とコンフリクトチエツクを行
う場合について説明したが、メモリのアドレスにより複
数の空間に分けてその空間毎に書込み予約とコンフリク
トチエツクを行うようにしてもよい。
さらに、上記実施例では、メモリ書き込みを行う命令が
書き込み予約を行いコンフリクトチエツクを行う構成で
あるが、パイプライン中に命令が存在するかしないかに
よりコンフリクトチエツクを行う構成にしてもよい。そ
の場合、パイプラインステージに対応したフラグ情報保
持回路が、そのステージの命令存在情報を持つようにす
る。パイプラインステージに命令があればフラグは1と
なり、命令が存在しなければフラグは「0」である。パ
イプライン中を命令が転送されて行くとそれに対応して
、命令の存在を示すフラグがフラグ情報保持回路中を転
送されて行く。フラグ情報保持回路は、そのステージの
処理が終ると命令存在を示すフラグを次段のパイプライ
ンステージに送り出しフラグ情報をクリアする。オペラ
ンドのアドレス計算を行うステージより後段のステージ
のフラグ情報保持回路出力すべての論理和をとり、アド
レス計算ステージより後段のステージに命令があるかな
いか検出する。1つでも後段のステージに命令があれば
論理和信号は「1」となり、後段のステージの命令がす
べて無くなれば論理和信号は「O」となる。アドレス計
算ステージで処理される命令がメモリを参照するアドレ
ス計算を行う場合、フラグ情報保持回路出力の論理和信
号を調べ、後段のステージで命令が存在しないことを確
認してからアドレス計算を実行する。論理和信号が「「
1」であれば、後段のステージの命令がメモリ書き込み
する可能性があるのでアドレス計算の実行を停止し、後
段のステージの命令がすべて完了し論理和信号が「0」
となってからアドレス計算を実行する。このようにして
メモリコンフリクトチエツクを行うことも可能である。
(発明の効果) 以上説明したように、この発明はオペランドのアドレス
計算を行う第1のパイプラインステージと演算結果のオ
ペランドの書き込みを行う第2のパイプラインステージ
とを含むパイプライン処理機構と、メモリ空間への演算
結果のオペランド書き込みを行う第1の命令に関する処
理を第1のパイプラインステージで実行する際に、メモ
リ空間にオペランドを書き込む旨を予約するオペランド
書込み予約手段と、このオペランド書込み予約手段の出
力を保持する1つまたは複数の子約ラッチ手段と、第1
の命令に関する処理を第2のパイプラインステージで処
理する際に、1つまたは複数の子約ラッチ手段の内容を
クリアする予約ラッチクリア手段と、第1のパイプライ
ンステージでオペランドのアドレス計算のためにメモリ
空間をアクセスする第2の命令に関する処理を実行する
際に、予約ラッチの内容に基づいて第1のパイプライン
ステージでのオペランドのアドレス計算を抑止するオペ
ランドアドレス計算抑止手段とから構成したもので、オ
ペランド計算ステージでメモリ参照する命令だけがメモ
リコンフリクトによる処理待ちとなり、パイプライン処
理の乱れを大幅に減少させて、パイプライン処理効率を
高めることができる。また、パイプラインを構成する各
ステージ毎にメモリ書き込み予約フラグがあるので、パ
イプライン中に複数の命令によるメモリ書き込み予約情
報を保持させることが可能となる。
また、入力データ信号と入力イネーブル信号とクリア信
号と出力信号をもつ1ビットのレジスタ回路である第1
のフラグ情報保持部と、入力データ信号と入力イネーブ
ル信号とクリア信号と出力信号を持つ1ビットのレジス
タ回路である第2のフラグ情報保持部と、第3のパイプ
ラインステージと第4のパイプラインステージに対応し
て第1のフラグ情報保持部と第2のフラグ情報保持部を
直列接続したフラグ情報保持手段と、第1のフラグ情報
保持部および第2のフラグ情報保持部の各出力の論理和
をとりながらフラグ情報保持手段におけるフラグ情報保
持状態を検出するフラグ情報保持状態検出手段と、第3
のパイプラインステージで第1の命令を処理するとき第
1のフラグ情報保持部をセットし、第1の命令の処理が
第3のパイプラインステージでの処理から第4のパイプ
ラインステージでの処理に移るとき、第1のフラグ情報
保持部の内容を上記第2のフラグ情報保持部に転送し、
かつ上記第1のフラグ情報保持部をクリアすることによ
り、フラグ情報保持手段内で順次情報を移動し、フラグ
情報保持状態検出手段の出力に従い、オペランドのアド
レス計算のためにメモリ空間をアクセスする第2の命令
に関する処理を制御するパイプライン制御手段とを設け
たので、パイプライン中の各ステージにメモリ書込み予
約情報/レジスタ書込み予約情報を転送する際に、各ス
テージに保持されたメモリ書込み予約情報/レジスタ書
込み予約情報をクリアしながら後段ステージに転送でき
、命令実行ステージでの命令終了時点でパイプライン中
のメモリ書込み予約情報/レジスタ書込み予約情報を自
動的にオールクリアでき、パイプライン処理の効率を格
段に向上できる等の優れた効果を奏する。
【図面の簡単な説明】
第1図はこの発明の一実施例を示すデータ処理装置の構
成を説明するブロック図、第2図は、第1図に示した書
込み予約情報転送回路の一例を説明する構成図、第3図
は、第2図に示した各信号の送出タイミングを説明する
タイミングチャート、第4図は従来のパイプライン制御
機構を説明する回路ブロック図、第5図はパイプライン
処理推穆を説明する状態図である。 図において、1はIFステージ、2はDステージ、3は
Aステージ、4はFステージ、5はEステージ、6,7
は命令デコーダ、8はデコーダ、9はレジスタ書込み予
約回路、10はメモリ書込み予約回路、11.13はレ
ジスタ書込み予約フラグ回路、12.14はメモリ書込
み予約フラグ回路である。 なお、図中の同一符号は同一または相当部分を示す。 次処理停止 第4図 代理人 大 岩 増 雄    (外2名)第5図

Claims (2)

    【特許請求の範囲】
  1. (1)オペランドのアドレス計算を行う第1のパイプラ
    インステージと演算結果のオペランドの書き込みを行う
    第2のパイプラインステージとを含むパイプライン処理
    機構と、メモリ空間への演算結果のオペランド書き込み
    を行う第1の命令に関する処理を前記第1のパイプライ
    ンステージで実行する際に、前記メモリ空間にオペラン
    ドを書き込む旨を予約するオペランド書込み予約手段と
    、このオペランド書込み予約手段の出力を保持する1つ
    または複数の予約ラッチ手段と、前記第1の命令に関す
    る処理を前記第2のパイプラインステージで処理する際
    に、前記1つまたは複数の予約ラッチ手段の内容をクリ
    アする予約ラッチクリア手段と、前記第1のパイプライ
    ンステージで前記オペランドのアドレス計算のためにメ
    モリ空間をアクセスする第2の命令に関する処理を実行
    する際に、前記予約ラッチ手段の内容に基づいて前記第
    1のパイプラインステージでのオペランドのアドレス計
    算を抑止するオペランドアドレス計算抑止手段とから構
    成したことを特徴とするデータ処理装置。
  2. (2)第1の命令およびこの第1の命令に続くオペラン
    ドのアドレス計算のためにメモリ空間をアクセスする第
    2の命令を順次処理する第3のパイプラインステージと
    、この第3のパイプラインステージの後段の第4のパイ
    プラインステージとを含むパイプライン処理機構を有す
    るデータ処理装置において、入力データ信号と入力イネ
    ーブル信号とクリア信号と出力信号をもつ1ビットのレ
    ジスタ回路である第1のフラグ情報保持部と、入力デー
    タ信号と入力イネーブル信号とクリア信号と出力信号を
    持つ1ビットのレジスタ回路である第2のフラグ情報保
    持部と、上記第3のパイプラインステージと上記第4の
    パイプラインステージに対応して上記第1のフラグ情報
    保持部と上記第2のフラグ情報保持部を直列接続したフ
    ラグ情報保持手段と、前記第1のフラグ情報保持部およ
    び前記第2のフラグ情報保持部の各出力の論理和をとり
    ながら前記フラグ情報保持手段におけるフラグ情報保持
    状態を検出するフラグ情報保持状態検出手段と、前記第
    3のパイプラインステージで第1の命令を処理するとき
    前記第1のフラグ情報保持部をセットし、前記第1の命
    令の処理が前記第3のパイプラインステージでの処理か
    ら前記第4のパイプラインステージでの処理に移るとき
    、前記第1のフラグ情報保持部の内容を上記第2のフラ
    グ情報保持部に転送し、かつ上記第1のフラグ情報保持
    部をクリアすることにより、前記フラグ情報保持手段内
    で順次情報を移動し、前記フラグ情報保持状態検出手段
    の出力に従い、オペランドのアドレス計算のためにメモ
    リ空間をアクセスする第2の命令に関する処理を制御す
    るパイプライン制御手段とを設けたことを特徴とするデ
    ータ処理装置。
JP1072623A 1988-08-18 1989-03-24 データ処理装置 Expired - Lifetime JPH0769820B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1072623A JPH0769820B2 (ja) 1988-08-18 1989-03-24 データ処理装置
US07/497,375 US5239633A (en) 1989-03-24 1990-05-04 Data processor executing memory indirect addressing and register indirect addressing

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP20556688 1988-08-18
JP63-205566 1988-08-18
JP1072623A JPH0769820B2 (ja) 1988-08-18 1989-03-24 データ処理装置

Publications (2)

Publication Number Publication Date
JPH02138625A true JPH02138625A (ja) 1990-05-28
JPH0769820B2 JPH0769820B2 (ja) 1995-07-31

Family

ID=26413754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1072623A Expired - Lifetime JPH0769820B2 (ja) 1988-08-18 1989-03-24 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0769820B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6227829A (ja) * 1985-07-30 1987-02-05 Fujitsu Ltd 多重ロード命令制御装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6227829A (ja) * 1985-07-30 1987-02-05 Fujitsu Ltd 多重ロード命令制御装置

Also Published As

Publication number Publication date
JPH0769820B2 (ja) 1995-07-31

Similar Documents

Publication Publication Date Title
US5293500A (en) Parallel processing method and apparatus
KR20100003309A (ko) 파이프라인 프로세서에서 조건 명령 실행을 촉진시키기 위해 로컬 조건 코드 레지스터를 이용하기 위한 방법 및 장치
JPH07302200A (ja) 順次付けロード動作および順序付け記憶動作を強制する命令を有するコンピュータのロード命令方法。
JPH03282958A (ja) 電子計算機
JPS63127368A (ja) ベクトル処理装置の制御方式
JP2620511B2 (ja) データ・プロセッサ
JP3400458B2 (ja) 情報処理装置
JPS63307535A (ja) パイプライン制御回路
US20070260857A1 (en) Electronic Circuit
JPH02138625A (ja) データ処理装置
JPH01274267A (ja) 同期化方法
JPS6116335A (ja) 情報処理装置
JPH10111857A (ja) マルチプロセッサ
JPS6134188B2 (ja)
JP2503223B2 (ja) 先行制御方式
JPH02211534A (ja) 並列処理装置
JPS5844569A (ja) 命令処理同期制御方式
JP2504263B2 (ja) デ―タ処理装置
JPH10283178A (ja) 命令を発行するための方法及びシステム
JP2924735B2 (ja) パイプライン演算装置及びデコーダ装置
JP2003029966A (ja) データ処理装置
JP3743155B2 (ja) パイプライン制御型計算機
JP2933182B2 (ja) パイプライン制御方法
JPS60247743A (ja) パイプライン演算制御装置
JPH04308930A (ja) 電子計算機