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

データ処理装置

Info

Publication number
JPH02183333A
JPH02183333A JP194389A JP194389A JPH02183333A JP H02183333 A JPH02183333 A JP H02183333A JP 194389 A JP194389 A JP 194389A JP 194389 A JP194389 A JP 194389A JP H02183333 A JPH02183333 A JP H02183333A
Authority
JP
Japan
Prior art keywords
instruction
register
cycle
store
type
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
JP194389A
Other languages
English (en)
Inventor
Jungo Sudo
須藤 純吾
Hiroyuki Miyata
宮田 裕行
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 JP194389A priority Critical patent/JPH02183333A/ja
Publication of JPH02183333A publication Critical patent/JPH02183333A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野〕 この発明は、計算機のCPUにおいて、ストア命令を高
速に実行するデータ処理装置に関するものである。
[従来の技術] (1)従来技術の構成の説明 第6図は1例えば「日経エレクトロニクス」。
No、396(1986,6,2N::示された従来)
CPU命令パイプライン処理方式の概要を示した図であ
る。図において、 (1,a )、(1,b )、(1
c )は命令先取りアドレス・レジスタを示し、(2a
)(2b )、(2c )は加算器で、命令先取りアド
レス・レジスタ(1a>、(1b)、(1c)に+8を
加算する。
(3)は命令用実効アト“レス・レジスタで、加算器(
2a )、(2b )、(2c )による結果のうちの
1つを選択して取り込む。(4)は命令用アドレス変換
バッファで、命令用実効アドレス・レジスタ(3)内の
アドレス変換に使用する。(5)は命令用バッファ・タ
グで、複数個のアドレスを保持する。(6)は複数個の
命令が格納されている命令用バッファ・データすなわち
命令キャシュメモリ、(7a)、(7b)(7c)は命
令用ワード・レジスタで、命令用バッファ・データ(6
)から読み出された命令を溜め。
この図では3組示されている。(8)はシステムで定義
されている全ての汎用レジスタ、(9)はべ−一 ス用レジスタで、汎用レジスタ(8)から読み出したベ
ース・レジスタをセットする、(10)はインデックス
用レジスタで、汎用レジスタ(8)がち読み出したイン
デックスをセットする。(11)はディスプレースメン
ト用レジスタで、オペランドアドレスのディスプレース
メント部をセットする。(12)はオペランド・アドレ
ス作成用の実効アドレス・ジェネレータ、(13)は実
効アドレス・レジスタで、オペランド・アドレス作成用
の実効アドレス・ジェネレータ(12)による結果をセ
ットする。(14)はオペランド用アドレス変換バッフ
ァで、実効アドレス・レジスタ(13)内のアドレス変
換に使用する。(15)はオペランド用バッファ・タグ
で複数個のアドレスをオペランド用に保持する。(16
)はオペランド用バッファ・データすなわちブタ・キャ
シュメモリで、複数個のオペランドが格納されている。
(17a>、(1,7b)はオペランド・ワード・レジ
スタで、オペランド用バッファデタ(16)からフェッ
チしたオペランドを受は取り溜めておく(この図では2
つ示しである)。(18)はレジスタ・ファイルで、演
算結果を一時的に蓄えておいたり汎用レジスタとして使
用する。(1つ)はオペラントドレジスタでルジスタ・
ファイル(18)のうちの1つのレジスタの内容を演算
実行時に受は取る。(20)は演算ユニットで2オペラ
ンド・ワード・レジスタ(17a、>(または(17b
))とオペラントドレジスタ(19)の内容に演算を施
す。(21)はリザルト・レジスタで、演算ユニット(
20,)により演算された結果を受は取る。(22a>
、(22b)、(22c)、(22d)はパイプライン
・レジスタで、演算実行時に使用する汎用レジスタまた
は浮動小数点レジスタのアドレスをセットしておく。(
23)はCPUパイプラインを示した図であり、命令の
パイプライン処理を行う際に命令先取りアドレス・レジ
スタ(1a)〜パイプライン・レジスタ<22d)まで
がパイプラインのどのサイクルの処理を行うのかを示し
ている。また、IAは命令アドレス計算サイクル、IT
は命令用TLB&バッファタグ・リード・サイクル、I
Bは命令用バッファ・リード サイクル、Dは命令デコ
ド/レジスタ・リード・サイクル2Aはオペランド・ア
ドレス計算サイクル、TはTLBおよびバッファタグ・
リード・サイクル、Bはバッファデータ・リード・サイ
クル、Eは演算サイクル。
Wは書き込みサイクルである。
(2)従来技術の動作の説明 次に動作について説明する、 第7図、第8図は第6図に示された従来例による処理の
流れを示したものであり、第6図と同様に「日経エレク
トロニクス」、No、396(1986,6,2)に示
されているものである。1つの命令は、命令アドレス計
算サイクルIA、命令用T L B &バッファタグ 
リード・サイクルIT命令用バッファ・リード・サイク
ルIB、命令デコード/レジスタ・リード・サイクルD
、オペランド・アドレス計算サイクルA、TLBおよび
バッファ・タグリード サイクルT、バッファ・ブタ・
リード・サイクルB、演算すイクルE、書き込みサイク
ルWの順で実行され9通常1つの命令は1つ前の命令よ
りも↑サイクル遅れて処理される。このように複数の命
令を各々1サイクルずつ遅らせて処理するパイプライン
制御を行うことにより見掛は上洛命令が1サイクルで処
理されたかのようにすることができる。したがって1例
えば演算サイクルEに着目した場合、1サイクルである
命令の演算を実行することができ、見掛は上命令を1サ
イクルで演算しているようにすることができる。
[発明が解決しようとする課題] 上記のような従来のパイプライン制御によるデータ処理
装置では、下記のような問題点があった。まず、第9図
に第6図に示す従来例における処理する命令のタイプを
示す。命令タイプ1は。
2つのオペランドのうち一方がレジスタの内容。
もう一方が主記憶の内容であり、2つのオペランドに対
し演算した結果をもとのレジスタのどちらかに書き込む
タイプの命令である。命令タイプ2は、2つのオペラン
ドのうち一方がレジスタの内容、もう一方もレジスタの
内容であり、2つのオペランドに対し演算した結果をも
とのレジスタのへ どちらかに書き込むタイプの命令である。命令タイプ3
はストア命令のことであり、レジスタの内容を主記憶に
書き込む命令である。命令タイプ4は上記以外の命令で
ある。
さて、従来の方法でストア命令すなわち命令タイプ3の
1つ前の命令が命令タイプ]で、しがちストア命令の2
つ前の命令の演算サイクルEが数サイクルかかる場合を
考える。この場合の第6図に対応するCPUパイプライ
ンの様子を第10図に示す。第10図に示すように、ス
トア命令の2つ前の命令の演算サイクルがElがらE、
、までの数サイクルかがり、演算サイクルElと同し時
にストア命令の1つ前の命令がバッファデータ・リド・
ライト・サイクルBに、ストア命令がTLBおよびバッ
ファ・タグ・リード・サイクルTにあるとすると、スト
ア命令の1つ前の命令はオペランド用バッファデータが
らのオペランドをオペランド・ワード・レジスタ(1,
7a>、 (17b)のうちの空いている方ヘセットし
て待ち状態になる。
同様に、ストア命令もTLBおよびバッファ・タグ・リ
ード サイクルT、バッファ・データ・リド・ライト・
サイクルBを経て待ち状態になる。
ストア命令の2つ前の命令が演算サイクルE、を終了し
書き込みサイクルWを実行する時点で、ス1〜ア命令の
1つ前の命令は待ち状態からぬけて演算サイクルEを実
行し、スI〜ア命令の1つ前の命令が書き込みサイクル
を実行する時点で、ストア命令は演算サイクルEを実行
する。したがって。
ストア命令の1つ前の命令とストア命令の連続実行は見
掛は上 ストア命令の1つ前の命令の演算サイクルE(1サイク
ル)+ストア命令の演算サイクルE(1サイクル)−2
サイクル で実行されることになる。
ところで、ストア命令の1つ前の命令が命令タイプ1の
場合でしかも、命令タイプ1の命令で演算結果を書き込
むレジスタとストア命令で参照するレジスタが同じ場合
、従来の方法では次のような処理を行う。第6図におい
てストア命令の1つ前の命令の演算サイクルEで演算ユ
ニット(2O)により得られた結果を書き込みサイクル
Wでレジスタ・ファイル(18)に書き込む。この除法
のストア命令の処理のために、Wサイクルでリザルト・
レジスタ(21)にデータをセットするのと同じタイミ
ングでオペラントドレジスタ(1つ)にも演算ユニット
(20)がら同一のデータをセットする。すなわち、こ
の場合でも命令タイプ1の命令とストア命令の連続実行
は見掛は上。
ス1〜ア命令の1つ前の命令の演算サイクルE(1サイ
クル)+ストア命令の演算サイクルE(1サイクル)=
2サイクル で実行されることになる。
上記2つの場合について、命令タイプ1の命令が命令タ
イプ2の命令に変わった場合も同様な考え方ができる。
(この場合は命令タイプ1の命令でオペランド用バッフ
ァ・データ(16)がらオペランド・ワード・レジスタ
(1,7aHまたは(]、7b))へオペランドをセッ
トする代わりに命令タイプ2の命令でレジスタ・ファイ
ル(18)がらオペランド]・レジスタ(19)にデー
タをセットする。)このように、従来の方法ではストア
命令で参照するレジスタとそのストア命令の1つ前の命
令で結果を書き込むべきレジスタが同じ場合であっても
同じでない場合でもその2つの命令の実行には最も短く
て2ザイクルかかっていた。ずなわちストア命令の1つ
前の命令の演算に見掛は上1サイクル、ストア命令の演
算に見掛は上1サイクルかかり、これらの1サイクルを
更に短くすることはできないという問題点があった。
この発明は、かかる問題点を解決するためになされたも
ので、パイプライン制御による命令処理において、ス1
〜ア命令で参照するレジスタとその命令の1つ前の命令
で結果を書き込むレジスタが等しい場合、ストア命令を
見掛は上0サイクルで行い、この連続した2命令の総演
算サイクル数としては見掛は上。
ストア命令の1つ前の命令の演算サイクルE(1サイク
ル)+ストア命令の演算サイクルE(Oサイクル)−1
サイクル となるように命令処理ができるデータ処理装置を得るこ
とを目的とする9 1課題を解決するための手段] この発明に係るデータ処理装置は、命令パイプライン処
理を行う計算機のCPUにおいて、ストア命令で主記憶
への書き込みデータを得るために参照するレジスタが前
記ストア命令の1つ前の命令で結果を書き込むレジスタ
と同じであるか否かを予め認識する手段と、この認識す
る手段により認識した結果両レジスタが同じ場合は演算
サイクルての制御を切換えて前記ストア命令の1つ前の
命令の書き込みサイクル時に前記ストア命令の書き込み
処理も同時に行う手段とを備えたものである。
[作用] この発明においては、ストア命令で主記憶への書き込み
データを得るために参照するレジスタがそのストア命令
の1つ前の命令で結果を書き込むレジスタと同じである
が否かを予め認識し、その結果1両レジスタが同じ場合
にはストア命令の1つ前の命令の演算サイクルE時にス
トア命令の演算処理も同時に行い、ストア命令の1つ前
の命令の書き込みサイクルW時にストア命令の書き込み
処理も同時に行う制御手段によりストア命令を見掛は上
0サイクルで処理する、 [実施例] (1)構成の詳細な説明 以下、この発明の一実施例を図について説明する。第1
図は、この発明の一実施例によるブタ処理装置を示すブ
ロック図である。図において(1)〜(23)は従来の
ものと同様である。(24)は命令識別ブロックで、命
令デコード/レジスタ・リード・サイクルDにおいて、
デコードした命令が後述の第3図の命令タイプ1.命令
タイプ2.命令タイプ3.命令タイプ4のいずれに属す
るかを識別する。(25)は命令1−2レジスタで、命
令識別ブロック(24)の識別の結果その命令が命令タ
イプ1または2であるか否かという情報と、それが命令
タイプ1または2の場合、演算結果の書き込みレジスタ
のアドレスとをセットする。(26)は命令3レジスタ
で、命令識別ブロック(24)の識別の結果その命令が
命令タイプ3すなわちストア命令であるか否かという情
報と、それがストア命令の場合、参照するレジスタのア
ドレスとをセットする。(27)は命令1−2受は取り
レジスタで。
命令1−2レジスタ(25)の内容をTLBおよびバッ
ファ タグ・リード・サイクルTで受は取る。
(28)は2命令認識ブロツクで、命令3レジスタ(2
6)と命令1−2受は取りレジスタ(27)との内容を
比較し1両者が一致したらそれは命令タイプ1または命
令タイプ2の命令の次に命令タイプ3の命令が後続して
おり、しかも命令タイプ1または命令タイプ2の命令で
結果を書き込むレジスタと命令タイプ3の命令で参照す
るレジスタが同じであると認識する。(29)は制御切
換えフラグで、2命令認識ブロツク(28)の認識の結
果、命令タイプ1または命令タイプ2の命令の次に命令
タイプ3の命令が後続しており、しかも命令タイプ1ま
たは命令タイプ2の命令で結果を書き込むレジスタと命
令タイプ3の命令で参照するレジスタが同じである場合
には1がセットされそれ以外の時はOがセットされる。
<30 a>、(30b)はフラグレジスタで、制御切
換えフラグ(29)の内容を受は取り、それぞれオペラ
ンド・ワード・レジスタ(17a)、(17b)とペア
になっている。<31)は制御切換えフラグレジスタで
、フラグレジスタ(30a>、 (30b)のうち演算
サイクルEで使用したものを次の書き込みサイクルWで
受は取る。
(32)は制御切換えブロックで、書き込みサイクルW
において制御切換えフラグレジスタ(3])の内容が1
すなわち命令タイプ1または命令タイプ2の命令の次に
命令タイプ3の命令が後続しており、しかも命令タイプ
1または命令タイプ2の命令で結果を書き込むレジスタ
と命令タイプ3の命令で参照するレジスタが同じである
場合にはリザルト・レジスタ(21)の内容をレジスタ
・ファイル(18)に書き込むと共に主記憶にも書き込
むように制御し制御切換えフラグレジスタ(31)の内
容がOならばリザルト・レジスタ(21)の内容をレジ
スタ・ファイル(18)に書き込むように制御する。
第2図は、命令1−2レジスタ〈25)と命令3レジス
タ(26)にセットされるデータのフオマットを示した
図である。図において、Rフラグはデコードした命令が
命令タイプ1または命令タイプ2の命令であるか否かを
示し、R+はデコドした命令の演算結果の書き込み先が
レジスタの場合のレジスタのアドレスを示し、Sフラグ
はデコードした命令が命令タイプ3の命令すなわちス1
〜ア命令あるか否かを示す。
第3図は、デコードした命令が命令タイプ1゜命令タイ
プ2.命令タイプ3.命令タイプ4の場合に命令1−2
レジスタ(25)と命令3レジスタ(26)にセットさ
れる内容を示したものであり。
例えばデコードした命令が命令タイプ1の場合には命令
1−2レジスタ(25)のRフラグは1.Rは第1のレ
ジスタアドレス(レジスタの種類と番号)、命令3レジ
スタ(26)のSフラグはO,RはOとなる。
第4図は、第1図に示すこの発明の実施例において命令
タイプ3の命令(すなわちストア命令)の1つ前の命令
が命令タイプ1で、しかも命令タイプ3の命令の2つ前
の命令の演算サイクルEが数サイクルかかる場合の処理
の流れを示したものである。
第5図(a)は、第1図に示す発明の実施例において命
令タイプ3の命令(すなわちストア命令)の1つ前の命
令が命令タイプ1で、しかも命令タイプ3の命令の2つ
前の命令の演算サイクルEが数サイクルかかる場合以外
の演算サイクルEと書き込みサイクルWでの制御方法を
示した図、第5図(b)は、第1図に示す発明の実施例
において命令タイプ3の命令(すなわちストア命令)の
1つ前の命令が命令タイプ1で しかも命令タイプ3の
命令の2つ前の命令の演算サイクルEが数サイクルかか
る場合の演算サイクルEと書き込みサイクルWでの制御
方法を示した図である。図において。
(33)はストアブロックで、リザルト・レジスタ(2
1)の内容を主記憶に書き込む動作をする。
(b)動作の詳細な説明 次に、第1図に示す実施例の動作を第2図。
第3図、第4図、第5図を用いて説明する。
例えば、命令デコード/レジスタ・リードサイクルDに
おいてデコードしたストア命令CCの2つ前の命令AA
が命令タイプ1でありしかも演算サイクルに数サイクル
かかり、1つ前の命令BBが命令タイプ1.ストア命令
の次の命令DDが命令タイプ4で、しかも命令BBで結
果を格納するレジスタとストア命令CCで参照するレジ
スタが同じ場合について説明する。
ストア命令CCの1つ前の命令BBの処理に着目すると
、第1図および第2図において、まず命令識別ブロック
(24)で命令タイプ1の命令BBが識別され、その結
果オペランド・アドレス計算サイクルAで命令1−2レ
ジスタ(25)のRフラグには1が、R+には第1のレ
ジスタアドレスが、命令3レジスタ(26)のSフラグ
にはOが。
R3には0がセットされる。命令BBがオペランド・ア
ドレス計算サイクルAにある時後続のストア命令CCは
命令デコード/レジスタ・リード・サイクルDにあり命
令識別ブロック(24)にて命令タイプの識別が行われ
ている。一方、命令BBに関する命令1−2レジスタ(
25)の内容は次のTLBおよびバッファ・タグ・リー
ド・サイクルTで命令1−2受は取りレジスタ(27)
に入り。
それと同じタイミングで後続のストア命令CCに関する
情報が命令1−2レジスタ(25>、命令3レジスタ(
26)にセットされる。すなわち、この時、ストア命令
CCはオペランド・アドレス計算サイクルAであり、命
令1−2レジスタ(25)のRフラグには0が、 R+
 には0が、命令3レジスタ(26)のSフラグには1
が、RIには第2のレジスタアドレスがセットされる。
一方、命令BBのTL、Bおよびバッファ・タグ・リー
ド・サイクルTでは更に2命令認識ブロツクく28)で
命令1−2受は取りレジスタ(27)と命令3レジスタ
(26)との内容を比較し、比較の結果両者は等しいの
で次のバッファ・データ・リード・サイクルBで制御切
換えフラグ(2つ)に1をセットする。さらにバッファ
・データ・リード・サイクルBでは命令BBで必要なオ
ペランドの一方をオペランド11フ レジスタ(19)にセットする準備をし、もう一方をオ
ペランド・ワード・レジスタ(17a>、<17 b)
のいずれか空いている方にセットする。このバッファ・
データ リード サイクルB以降命令BBとストア命令
CCとは同一のサイクルを実行する。
制御切換えフラグ(29)の内容は命令BBで使用する
オペランドがオペランド・ワード・レジスタ(17a>
、(17b)のいずれか空いている方にセットされるの
と同じタイミングで、フラグレジスタ(30a>、(3
0b )のいずれか空いている方にセットされる。さて
、命令AAは命令BBよりも]サイクル先の処理を同様
の手順で行っており、命令BBおよびストア命令CCが
バッファ・データ・リード・サイクルBにある時に演算
サイクルElにある。命令AAの演算サイクルはElか
らE。まであるのでその間命令BBおよびストア命令C
Cは待ち状態になる。命令AAの演算サイクルが終了し
、書き込みサイクルWの実行に移った時点で命令BBお
よびストア命令CCの演算サイクルに移る。すなわち、
フラグレジスタ(30a)または(3ob>のうち命令
BBおよびストア命令CCで使用する方の内容を用いて
オペランド・ワード・レジスタ(17a>または(17
b)のうち命令BBおよびストア命令CCで使用する方
からのオペランドとレジスタ・フ゛アイル(18)から
オペラントドレジスタ(19)に読み出したオペランド
に関して演算が施される。この時点て命令タイプ4の命
令DDに関する第2オペランドがオペランド・ワド・レ
ジスタ<17a)または<1.7b)の空いている方に
、制御切換えフラグ情報がフラグレジスタ<30a)ま
たは(30b)の空いている方にセットされており、命
令BBおよびストア命令CCの演算サイクルEが終了す
ると直ちに命令DDの演算サイクルに移ることが可能と
なる。なお、命令BBとストア命令CCはあたかも1つ
の命令であるかのように実行するので、オペランド・ワ
ードレジスタ(1,7a>、 (]、 7 b)のうち
どちらか一方。
フラグレジスタ(30a)、 (30b)のうちどちら
か一方の情報で処理が可能である。
命令BBおよびストア命令CCは第5図(b)に示す方
法で同時処理される。まず、演算サイクルEでオペラン
トドレジスタ(19)にセットされたオペランドとオペ
ランド・ワード・レジスタ(17b)にセットされたオ
ペランドに対し演算ユニット(20)で演算を施し、そ
の結果を書き込みサイクルWてリザルト・レジスタ(2
1)にセットする。リザルト・レジスタ(21)へのセ
ットと同じタイミングでフラグレジスタ(30a)また
は(30b)のうち命令BBおよびストア命令CCで使
用する方の内容が制御切換えフラグレジスタ(31)に
セットされる。命令BBおよびストア命令CCを同時実
行する場合、制御切換えフラグレジスタ(31)の内容
は1がセットされている。次に。
書き込みサイクルWで制御切換えブロック(32)は制
御切換えフラグレジスタ(31)の内容が0であるか1
であるかを認識し、1の場合リザルトレジスタ(2])
の内容をレジスタ・ファイル(18)に書き込むと共に
ストアブロック(33)にも渡し主記憶へのストアも行
う。
命令BBとストア命令CCを書き込みサイク=20 ルWで同時処理している間に演算サイクルEでは命令D
Dの演算を行う。第5図(a)において1例えば命令D
Dの一方のオペランドはオペランド・ワード・レジスタ
(17a)に入っており、その時オペランド・ワード・
レジスタ(1,7a)とペアのフラグレジスタ(30a
)の内容は命令DDの命令タイプが4なので0となる。
命令DDのもう一方のオペランドは演算サイクルEでオ
ペラントドレジスタ(19)にセットされ、演算ユニッ
ト(20)にてオペランド・ワード・レジスタ(17a
、)の内容と演算される。命令DDの書き込みサイクル
Wでは演算ユニット(20)による演算結果がリザルト
・レジスタ(21)にセットされ、それと同時にフラグ
レジスタ(30a)の内容が制御切換えフラグレジスタ
(31)に0としてセットされる。制御切換えブロック
(32)は制御切換えフラグレジスタ(31)の内容が
0であるか1であるかを認識し0の場合はリザルト・レ
ジスタ(21)の内容をレジスタ・ファイル(18)に
書き込み、ストアブロック(33)へは渡さない。
辺土のような動作により、命令タイプ1の命令BB、命
令タイプ3の命令CCの演算サイクルEは見掛す1−1
ザイクルて終了し、その後すぐに後続の命令タイプ4の
命令DDの演算サイクルEに移ることが可能となる。す
なわち、ストア命令で主記憶への書き込みデータを得る
ために参照するレジスタがそのストア命令の1つ前の命
令で結果を格納するレジスタと同じ場合、ストア命令の
1つ前の命令の書き込みサイクル時にストア命令の書き
込みも行い、見掛け」−ストア命令を0サイクルで処理
できる。
なお、上記実施例ではスI−ア命令の1つ前の命令の演
算サイクルEが1サイクルとして説明したが、これが数
サイクルかがるとしても同様な考え方が適用できる。こ
の場合にはストア命令の2つ前の命令の演算サイクルE
が数サイクルがからなくても良い。また、オペランド・
ワード・レジスタ(] 7 a、)、 (]、 7 b
 )は合計2組として説明したが、3組以I−でも良い
。3組以上にすれば ストア命令、ストア命令の1つ前
の命令の演算サイクルEが1サイクルでストア命令の2
つ前の命令の演算サイクルEが1サイクルで済む場合で
もさらに幾つか前の命令が数サイクル掛がっておりオペ
ランド・ワード・レジスタが詰まっていれば。
この発明と同様の考え方が適用できる。
さらに、」1記実施例ではストア命令の1つ前の命令お
よび2つ前の命令が命令タイプ1の命令として説明した
が、これらの両方あるいはどちらか一方が命令タイプ2
の命令だとしても同様の考え方が適用できる。
[発明の効果] この発明は以上説明したとおり、ストア命令で主記憶へ
の書き込みデータを得るために参照するレジスタが前記
ストア命令の1つ前の命令で結果を書き込むレジスタと
同じであるが否がを予め認識する手段と、この認識する
手段により認識した結果両レジスタが同じ場合は演算サ
イクルでの制御を切換えて前記ストア命令の1つ前の命
令の書き込みサイクル時に前記ストア命令の書き込み処
理も同時に行う手段とを備え、CPUの命令パイブライ
ン処理において、ストア命令で主記憶への書き込みデー
タを得るために参照するレジスタがそのストア命令の1
つ前の命令て結果を格納するレジスタと同しことを予め
認識し、上記条件が成立した場合はストア命令の1つ前
の命令の書き込みサイクル時にストア命令の書き込みサ
イクルを同時に行ってしまうので、命令の処理が拘束に
でき、cpu性能を上げることができる効果がある。
【図面の簡単な説明】
第1図はこの発明の一実施例によるデータ処理装置の構
成を示すブロック図、第2図はこの発明の一実施例を示
す命令1−2レジスタと命令3レジスタにセットされる
データフォーマットを示す図、第3図はこの発明の一実
施例を示す命令12レジスタと命令3レジスタにセット
されるブタの分類表を示した図、第4図はこの発明の一
実施例を示すパイプライン制御による命令の処理の流れ
を示した図、第5図はこの発明の一実施例を示す演算サ
イクルと書き込みサイクルての制御の方法を示した図、
第6図は従来のCPU命令パイプライン処理装置の構成
を示すブロック図、第7図および第8図は従来のCPU
命令パイプライン処理装置による処理の流れを示した図
、第9図は従来のCPU命令パイプライン処理装置で処
理する命令のタイプの分類表を示す図、第10図は従来
のパイプライン制御による命令の処理の流れを示した図
である。 図において、(24)・・・命令識別ブロック。 〈25)・・・命令1−2レジスタ、(26>・・・命
令3レジスタ、(27>・・・命令1−2受は取りレジ
スタ、(28>・・・2命令認識ブロツク。 (2つ)・・・制御切換えフラグ、 (30a>、(3
0b)・フラグレジスタ、(31)・・・制御切換えフ
ラグレジスタ、(32)・・・制御切換えブロックであ
る。 なお、各図中同一符号は同−又は相当部分を示す。 代理人   曽  我  道  照 アドレス 茅2のレジスタアトL又=、?只且す3レソスタのアド
レス形5図(b) 事件の表示 特願平 1943号 発明の名称 データ処理装置 補正をする者 事件との関係  特許出願人 住 所     東京都千代田区丸の自重丁目2番3号
名 称  (601)三菱電機株式会社代表者 志岐守

Claims (1)

    【特許請求の範囲】
  1.  命令パイプライン処理を行う計算機のCPUにおいて
    、ストア命令で主記憶への書き込みデータを得るために
    参照するレジスタが前記ストア命令の1つ前の命令で結
    果を書き込むレジスタと同じであるか否かを予め認識す
    る手段と、この認識する手段により認識した結果両レジ
    スタが同じ場合は演算サイクルでの制御を切換えて前記
    ストア命令の1つ前の命令の書き込みサイクル時に前記
    ストア命令の書き込み処理も同時に行う手段とを備えた
    ことを特徴とするデータ処理装置。
JP194389A 1989-01-10 1989-01-10 データ処理装置 Pending JPH02183333A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP194389A JPH02183333A (ja) 1989-01-10 1989-01-10 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP194389A JPH02183333A (ja) 1989-01-10 1989-01-10 データ処理装置

Publications (1)

Publication Number Publication Date
JPH02183333A true JPH02183333A (ja) 1990-07-17

Family

ID=11515699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP194389A Pending JPH02183333A (ja) 1989-01-10 1989-01-10 データ処理装置

Country Status (1)

Country Link
JP (1) JPH02183333A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204642A (ja) * 1992-01-27 1993-08-13 Fujitsu Ltd 命令実行制御方式
KR100309309B1 (ko) * 1998-01-30 2001-11-15 포만 제프리 엘 단일클록사이클동안슈퍼스칼라프로세서에서복수의저장인스트럭션완료를용이하게하는방법및시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204642A (ja) * 1992-01-27 1993-08-13 Fujitsu Ltd 命令実行制御方式
KR100309309B1 (ko) * 1998-01-30 2001-11-15 포만 제프리 엘 단일클록사이클동안슈퍼스칼라프로세서에서복수의저장인스트럭션완료를용이하게하는방법및시스템

Similar Documents

Publication Publication Date Title
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
JPS63261449A (ja) デ−タ処理装置
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
JPH077356B2 (ja) パイプライン方式のマイクロプロセッサ
JPH02183333A (ja) データ処理装置
US4994961A (en) Coprocessor instruction format
JP2680899B2 (ja) 情報処理装置及びその制御方法
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH0552539B2 (ja)
JPH0377137A (ja) 情報処理装置
JPH02301830A (ja) 情報処理方式
JP2535593B2 (ja) 情報処理装置
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JP2806690B2 (ja) マイクロプロセッサ
JPS63247861A (ja) コプロセツサ制御方法
JP2867798B2 (ja) 先行制御装置
JPH0424731B2 (ja)
JPH0380355A (ja) Dma転送機構を有する計算機
JPS5924347A (ja) マイクロ命令実行制御方法
JPH03113535A (ja) パイプライン制御機構
JPH03201135A (ja) マイクロプロセッサ
JPH06314196A (ja) 情報処理方法および装置
JPH0561669A (ja) 半導体計算装置および電子機器
JPH04213120A (ja) 情報処理装置
JPS62145428A (ja) 演算処理装置