JPH0545985B2 - - Google Patents

Info

Publication number
JPH0545985B2
JPH0545985B2 JP58123246A JP12324683A JPH0545985B2 JP H0545985 B2 JPH0545985 B2 JP H0545985B2 JP 58123246 A JP58123246 A JP 58123246A JP 12324683 A JP12324683 A JP 12324683A JP H0545985 B2 JPH0545985 B2 JP H0545985B2
Authority
JP
Japan
Prior art keywords
instruction
operand
data
address
memory
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
JP58123246A
Other languages
English (en)
Other versions
JPS6015746A (ja
Inventor
Akira Yamaoka
Kenichi Wada
Kazunori Kuryama
Yoichi Shintani
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 JP58123246A priority Critical patent/JPS6015746A/ja
Priority to DE3424962A priority patent/DE3424962A1/de
Publication of JPS6015746A publication Critical patent/JPS6015746A/ja
Priority to US07/075,528 priority patent/US4916606A/en
Publication of JPH0545985B2 publication Critical patent/JPH0545985B2/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/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; 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/3824Operand accessing

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)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は命令実行に必要なオペランドを格納す
る記憶装置を有するデータ処理に関する。
〔従来の技術〕 第1図のレジスタ10にStorage−to−
Storage命令(2つのオペランドデータがともに
ストレジに存在し、演算結果もそのストレジに格
納される形式の命令、以下SS命令と呼ぶ)のフ
オーマツトを示す。第1図においてOPは命令の
オペレーシヨンコード、L1,L2は2つのオペラ
ンドの長さを示すレングスコード、B1,B2はア
ドレス計算に用いる汎用レジスタ(ベースレジス
タ)の番号、D1,D2は偏位値(デイスプレース
メント)である。
第1オペランドの先頭アドレスは(B1)+D1
和で求められ、後尾のアドレスは(B1)+D1+L1
の和で求められる。ここで、(B1)はベースレジ
スタB1の内容を示す。同様に第2のオペランド
の先頭および後尾のアドレスは(B2)+D2および
(B2)+D2+L2で求められる。これらのアドレス
は論理アドレスである。演算は第1、第2オペラ
ンドの間で行われ、演算結果は第1オペランドの
記憶領域に格納される。
第2図aは、パイプライン制御のコンピユータ
における連続するSS命令の動作の流れを示して
いる。第2図aのD,A,L,E,P,Sはそれ
ぞれパイプライン処理の異なるステージを示して
おり、1サイクル毎に異なつた命令の処理が開始
され、複数の命令を並行して処理することができ
る。
Dは命令の解読およびオペランドの論理アドレ
スを求めるための加算を行うステージ、Aは算出
されたオペランドの論理アドレスを実アドレスへ
変換するステージ、Lはバツフアメモリからオペ
ランドデータを読出すステージ、Eは求められた
オペランドデータを使つて演算を行うステージ、
Pは演算結果を格納するための論理アドレスを実
アドレスに変換するステージ、Sはバツフアメモ
リに演算結果を書き込むステージである。
ここで、SS命令の場合にはオペランド長が長
かつたり、複雑な処理を必要とする命令が多いた
め、一般にEステージとして2サイクル以上を要
する。第2図aはEステージが2サイクルの命令
1〜4が連続する場合の動作を示しており、この
とき命令の演算は2サイクルピツチで処理され
る。
このようにパイプライン制御方式のデータ処理
装置においては、複数の命令がオーバラツプして
進行する。この結果、後続の命令のオペランド読
み出しが先行の命令のオペランド書込みよりも先
行する場合、即ち、先行命令(たとえば命令1)
のSステージよりも後続命令(たとえば命令2)
のLステージが先行する場合が生じてくる。命令
処理の順序性が要求されるアーキテクチヤのデー
タ処理装置では、先行する実行中または実行待ち
の命令が変更しようとしている記憶領域からその
変更前に後続の命令のオペランド読み出しを実行
しようとする場合、この矛盾を検出し先行命令に
よる記憶領域の変更が完了するまでこの後続の命
令のオペランド読み出しを遅らせること、即ち先
行命令のSステージ完了まで後続命令のLステー
ジを遅らせ、この矛盾を解消する必要がある。こ
の処理は一般にOSC(Operand Store Compare)
と呼ばれている。
〔発明が解決しようとする課題〕
OSCが起つた場合、上述のごとく後続の命令
のオペランド読み出しがOSC解消まで遅らせら
れるのでパイプラインが乱れ、性能が低下する。
第2図bは第2図aの命令1〜4のすべてに関し
てOSCが起つた場合、即ち、命令1が変更する
ストレジデータを命令2が必要とし、命令2が変
更するストレジデータを命令3が必要とする等の
場合の動作を示している。
第2図bでは、命令は5サイクルピツチで処理
されていく。したがつて、OSCが生じると第2
図aとbの差、即ち3サイクルの性能劣下を生じ
る欠点がある。
本発明の目的は、OSCが起つた場合のパイプ
ラインの乱れを低減したデータ処理装置、すなわ
ち、先行命令が変更するストレジデータを、スト
レジを介することなく後続命令へ引き渡すことに
より、先行命令のストレジ書込みを待たずして後
続命令の演算を開始できるようなデータ処理装置
を提供することにある。
〔課題を解決するための手段〕
このような目的を達成するために本発明では、
該メモリから第1のオペランドを読み出す第1の
命令を、演算の結果得られる第2のオペランドを
メモリへ格納するプログラム上の先行する第2の
命令の実行と並行して実行するデータ処理装置で
あつて、該第2のオペランドの少くとも一部が該
第1のオペランドのために利用可能か否かを判別
する第1の手段と、判別の結果が肯定的なとき
に、該第1の命令の実行結果として演算装置から
出力される第2のオペランドの少くとも一部を該
第1のオペランドのために使用する第2の手段を
設ける。
〔作用〕
第1の命令の演算結果を主記憶又はバツフアメ
モリに書かれる前に利用するので、第2の命令の
演算の実行開始を早めることができる。
〔実施例〕
まず、本実施例における考え方を示す。演算に
2サイクル以上を必要とする命令がデコードされ
ると、次命令のデコードを1サイクル遅らせ、か
わりに該命令と次命令及びそれ以前の命令との間
のOSCを検出する処理を行ない、D′ステージで
OSCを検出した場合には、()従来のOSC検出
回路がOSCを検出しても、後続命令のオペラン
ド読出しを遅らせないようにし、()演算器に
於ては次命令のオペランドデータとして、ストレ
ジより読み出したデータのかわりに、先行命令の
演算結果を使用するようにしている。
このために、演算器内に先行命令の演算結果を
次命令へ引き渡すためのデータレジスタを設け、
さらに、先行命令処理の一部として、次命令が必
要とする予測されるデータの位置合わせを行つて
データレジスタに予めセツトしておく。
本実施例では、SS命令の内、10進演算命令に
本発明を適用した場合について説明する。
第2図cは第2図bと同様に、命令1〜4のす
べてに関してOSCが起つた場合の、本実施例の
タイムチヤートを示している。以下各ステージに
対応して説明する。
第1図に於て、命令コードが命令レジスタ10
にセツトされると、Dステージの動作として、汎
用レジスタ12からB1,B2で示されるベースレ
ジスタの内容がそれぞれ線12A,12Bへ読み
出され、線10A,10Bに読み出されるデイス
プレースメントD1,D2とから(B1)+D1,(B2
+D2の演算がアドレス加算器14,15で行わ
れて、論理アドレスレジスタ16,17にセツト
され、またレングスコードL1,L2は線10C,
10Dを介してレジスタ18,19にセツトされ
る。オペコードOPは線10Eを介してレジスタ
13にセツトされる。又、命令レジスタ10の内
容である命令コードは、本発明の特徴である
OSC制御回路11に送られる。
第7図は、OSC制御回路11の一例を示すブ
ロツク図である。Dステージに同期して、レジス
タ100には該命令コードのオペレーシヨンコー
ドOP′、第1オペランドのレングスコードL1′、
ベースレジスタ番号B1′、デイスプレースメント
D1′がセツトされる。又、Dステージに同期し
て、以前レジスタ100にあつた内容はレジスタ
110にセツトされる。即ち、命令のDステージ
毎に命令レジスタ10→100→110と順にそ
の内容がセツトされていく。
もし、該命令コードが10進演算命令であつた場
合、次サイクルでは、次命令のDステージを開始
せず、かわりにD′ステージの動作を起動し、上
記10進演算命令(以下命令2と呼ぶ)とその前に
デコードされた命令(以下命令1と呼ぶ)と次に
デコードされる命令(以下令命3と呼ぶ)との間
で以下に示す比較が行われる。
命令1,2,3のオペレーシヨンコード等はそ
れぞれレジスタ110,100,10にセツトさ
れている。
第7図のデコーダ102,112では、命令3
のオペコードOPと命令2、命令1のオペコード
OP′,OP″を比較し、演算結果の引き渡し可能な
命令の組合せかどうかをデコードし、可能である
とき102A,112Aをそれぞれ“1”にす
る。
一方、比較器104では、L1′≧L2,B1′=B2
L1′+D1′=L2+D2の比較が行われ、全ての条件
が成立すると線104Aを“1”にする。比較器
106,114,116でも同様の比較が行わ
れ、それぞれ条件が成立すると線106A,11
4A,116Aを“1”にする。さらに、アンド
回路103,105,113,115によりアン
ドがとられ、それぞれ線103A,105A,1
13A,115Aを“1”にする。以上がD′ス
テージの動作である。
ここで、上記比較の意味する所を比較回路10
4を例にとり第8図により説明する。命令2が変
更しようとしている記憶領域R2(ハツチングで
図示した領域)について命令3との間でOSCが
生じる場合として第8図a〜eがある。即ち、第
8図aは命令3が必要とする記憶領域R3が記憶
領域R2に含まれる場合、第8図bは逆に記憶領
域R2が記憶領域R3に含まれる場合、第8図
c,dは記憶領域R2と記憶領域R3の一部が重
複する場合である。第8図eは第8図aの特殊ケ
ースであり、記憶領域R3が記憶領域R2に含ま
れかつ、記憶領域R2と記憶領域R3の右端が一
致する場合を示す。上記比較ではB1′=B2即ち
(B1′)=(B2)(( )はレジスタの内容を示す)
で、かつL1′+D1′=L2+D2であるため、(B1′)
+L1′+D1′=(B2)+L2+D2となり、さらにL1
≧L2であるため、第8図eの場合であることを
示している。
線103Aは命令2の第1オペランドと命令3
の第2オペランドの間の比較結果を、他も同様に
線105Aは命令2の第1オペランドと命令3の
第1オペランド間、線113Aは命令1の第1オ
ペランドと命令3の第2オペランド間、線115
Aは命令1の第1オペランドと命令3の第1オペ
ランド間の比較結果を示している。
これらの比較結果は、第1図で示されるよう
に、命令3のDステージに同期して、レジスタ6
0,61,62,63にそれぞれセツトされる。
次にAステージでは、第1図で示される論理ア
ドレスレジスタ16,17の内容が線16A,1
7Aを介し第3図のアドレス変換回路260,2
70に送られ、実アドレスに変換されて実アドレ
スレジスタ26,27にセツトされる。
また、アライン制御回路280,290では、
レジスタ18,19からのレングスコードの内容
線18A,19Aとアドレス変換の対象とならな
い下位のアドレス線16A,17Aの内容からア
ライナ36,37でシフトを行うためのシフト数
を決定する。このシフト数について第5図aを用
いて説明する。第5図の斜線で示したオペランド
データにおいて、先に説明したとおり右端アドレ
スは(B)+D+L(=1,2)で示され、
その下位3bitで8バイト境界内のアドレスが示さ
れる。この3bitの値をxとすると7−xバイト右
にシフトすることにより第5図aの下の様に、オ
ペランドデータの右端が8バイトの右端にあつた
出力が得られる。
即ち、10進命令の場合小数点位置はデータの右
端にあるので第1、第2オペランドの小数点位置
がともにオペランドの右端が最右に位置する様、
アライナ36,37にてシフトしかつ不要な部分
にゼロ埋め込みが行われる(以下右詰めと呼ぶ)。
第1、第2オペランドをともに右詰めにすること
により両オペランドの小数点位置が合い演算が行
いやすくなる。
このアライン制御回路280,290で得られ
たシフト数はレジスタ28,29にセツトされ
る。
又、レングスコードの内容線18A,19Aと
論理アドレスである線16A,17Aの内容な第
3図で示されるOSC検出回路20にも送られ、
このOSC検出回路20で該命令よりも先行する
命令が格納しようとしているアドレスとの比較が
行われる。
第4図は、OSC検出回路20の一例を示すブ
ロツク図である。線16A〜19Aにはそれぞれ
(B1)+D1,(B2)+D2,L1,L2が入力され、加算
器201,202にて加算される。
(B)+D+L(=1,2)は該命令が
読み出そうとしているストレジオペランドの先頭
および後尾のアドレスを示している。この内
(B1)+D1及び(B1)+D1+L1はそれぞれレジス
タ220−1,210−1にAステージに同期し
てセツトされ、レジスタ210−1,220−1
の内容は順次Aステージに同期してレジスタ21
0−2,220−2,…,210−n,220−
nにセツトされる。したがつて、レジスタ210
−n,220−nには該命令よりn命令前の命令
の格納領域の先頭および後尾のアドレスがセツト
されている。これらの格納領域が、該命令の読み
出し領域の一部又は全部と重複するか否かを比較
器230−1〜n,240−1〜nで検出し、も
し一部でも重複する領域があれば該当する線23
0A−1〜n,240A−1〜nを“1”にす
る。これらの信号は、OR回路235でORされ
信号線20Aで第3図のステージ制御回路250
に報告される。ステージ制御回路250は線20
Aが“1”、即ち線230A−1〜n、線240
A−1〜nの1つでも“1”であると該命令のオ
ペランド読出しをOSC解消まで遅らせる。
ここで、本発明の特徴としてOSC制御回路1
1で、OSCが検出された場合には、レジスタ6
0〜63にセツトされた内容が線60A〜63A
を介してOSC検出回路20に伝えられ、比較器
230−1,240−1,230−2,240−
2の動作を抑止し出力を“0”にする。これによ
り、ダミーとして、該命令のオペランド読出しが
行われる。OSC制御回路11では第8図のeの
場合を検出するが、OSC検出回路20では第8
図のa〜eの全ての場合を検出する。したがつ
て、OSC制御回路11で検出されたOSCは、
OSC検出回路20でも検出されるが、前者を優
先させる。
また、第3図で示されるように、線60A〜6
3A及び線13Aは、Aステージに同期してレジ
スタ70〜73及び23にセツトされる。
次に、Lステージでは、第3図で示されるよう
に、実アドレスレジスタ26,27に得られた実
アドレスを用いてバツフアストレジ34,35か
らオペランドデータの読み出しが行われ、読み出
されたデータはアライナ36,37で演算に好適
な様に右詰めに位置合せされ、又、不要なバイト
にはゼロが埋め込まれたのち線36A,37Aを
介して演算器40に送られる。勿論、バツフアス
トレジ34,35のいずれかにないオペランドデ
ータは主記憶32からそのバツフアストレジに読
み出される。
さらに、レジスタ70〜73の内容は線70A
〜73Aを介し、又、オペコードOPを納めたレ
ジスタ23の内容は線23Aを介して演算器40
に送られる。
演算器40の構成の一例を第6図に示す。線2
6Aを介して実アドレスレジスタ26内の先頭ア
ドレス(B1)+D1はAレジスタ430にセツトさ
れ、また、線28Aを介して、アライナ36で行
つた第1オペランドのシフト数と同じ値がレジス
タ431にセツトされる。線23Aを介してレジ
スタ23から与えられるオペコードOPは、マイ
クロ命令制御装置400に入力される。アライナ
36,37から出力された第1、第2オペランド
データは線36A,37Aを介して本発明の特徴
の一つであるセレクタ490,491に送られ
る。セレクタ490では線71A,73Aが、共
に“0”,“0”なら第1オペランドデータである
線36Aを、“0”,“1”ならW2レジスタ481
の内容線481Aを、“1”,“0”又は“1”,
“1”ならばW1レジスタ480の内容線480A
をセレクトし線490Aに出力する。同様にセレ
クタ491では線70A,72Aが“0”,“0”
のとき第2オペランドデータである線37Aを、
“0”,“1”のときW2レジスタ481の内容線4
81Aを、“1”,“0”又は“1”,“1”のとき
W1レジスタ480の内容線480Aをセレクト
し線491Aに出力する。線490A,491A
はLステージに同期してXレジスタ410、Yレ
ジスタ420にそれぞれセツトされる。上記セレ
クタの意味する所については後述する。
たとえば10進加減算命令はEステージが2サイ
クルあるが、最初のサイクルでは、Xレジスタ4
10およびYレジスタ420にある第1、第2オ
ペランドデータに対して並列加算器440で演算
が施され、その演算結果はXレジスタ410に戻
される。この並列加算器440での演算の実行
(加算か減算)等は全てマイクロ命令制御装置4
00により制御される。
第2のサイクルでは、シフタ460の入力セレ
クタ450でXレジスタ410がセレクトされ、
シフタ460ではアライナ36で行つたとは逆の
シフト動作が行われる。即ち第5図bに示す様に
アライナ36で右シフトした分だけ左にシフトす
る。シフトされた演算結果はSレジスタ470に
セツトされる。シフタ460の動作はマイクロ命
令制御装置400及びレジスタ431から与えら
れるシフト数により制御される。
第6図で示される演算器40には本発明の特徴
の1つであるW1レジスタ480、W2レジスタ4
81があり、Eステージの第1サイクルでセレク
タ450の出力線450AがW1レジスタ480
に、W1レジスタ480の内容がW2レジスタ48
1にセツトされる。これらは、マイクロ命令制御
装置400により制御される。W1レジスタ48
0には、第5図bの上側の様な、右詰めの演算結
果が得られる。この様な動作は命令毎に1回行わ
れるのでW2レジスタ481には、該命令よりさ
らに1命令前の右詰め結果が得られる。
Pステージでは、第3図で示されるように、A
レジスタ430にセツトされている第1オペラン
ド即ち演算結果の書き込みアドレス情報が線40
Aを介してアドレス変換回路52に送られ、実ア
ドレスに変換されて実アドレスレジスタ54にセ
ツトされる。一方Sレジスタ470の演算結果は
線40Bを介してレジスタ56にセツトされる。
次に、Sステージでは実アドレスレジスタ54
の内容である実アドレスを用いてレジスタ56の
内容がバツフアストレジ34,35へ書き込まれ
る。以上が、各ステージの動作の詳細である。
ここで、命令3のLステージではW1レジスタ
480、W2レジスタ481にそれぞれ命令2、
命令1の右詰め演算結果がセツトされており、命
令3と命令2のOSC検出結果線70A,71A、
及び命令3と命令1のOSC検出結果線72A,
73Aにより、それぞれセレクタ490,491
で前述した動作が行われる。このとき、たとえば
線71Aと73Aが同時に“1”となつた場合即
ち、命令1及び命令2の演算結果を命令3の第1
オペランドデータとして使用する場合、線71A
を優先し、命令は新しいデータである命令2の演
算結果を使用して演算する様にしている。
例えば線71Aが“1”となつた場合、命令3
と命令2の第1オペランドがOSCを生じたこと
を意味する。このとき線36Aにはバツフアスト
レジ34から読み出され、アライナ36で右詰め
にされた命令3の第1オペランドデータが入力さ
れるが、これは命令2の演算結果が格納される前
の値であるため、正しい演算ができない。そこ
で、正しい演算を行うためには命令2の演算結果
を命令3の第1オペランドデータとする必要があ
るので、セレクタ490でW1レジスタ480の
出力線480Aにおきかえる。このとき、アライ
ナ36で行つたと同等の操作を施す必要があるた
め、W1レジスタ480には右詰めの演算結果を
入れ、また、セレクタ490では不要なオペラン
ド位置にゼロがうめ込まれる。
このようにして、命令2及び命令1の演算結果
を命令3の演算に使用することができる。命令3
のEステージでも同様に右づめの演算結果をW1
レジスタ480にセツトしておくことにより、命
令3と次の命令(たとえば命令4)の間でも連続
して上記演算結果の引き渡しを行うことができ
る。
以上述べた実施例の動作ステージは第2図cに
示されるとおりである。第2図cは命令1,2,
3が10進加減算命令であつた場合の図であり、こ
のとき命令2,3,4のDステージの開始は1サ
イクル遅らされ、代わりにD′ステージが起動さ
れてOSC制御回路11が動作する。命令2,3,
4のDステージを1サイクル遅らせても、演算結
果は2サイクルピツチに得られ、従来方式で
OSCが無い場合の第2図aと同じ性能が出る。
従来の回路ではOSC制御回路11がないため
に、線60A〜63AもなくOSC検出回路20
で検出されたOSCは抑止されず、ステージ制御
回路250によつて次命令のオペランド読出しが
遅らされるため、第2図bの様なタイムチヤート
になる。
本実施例では10進演算命令に限定して説明した
が、少なくとも右詰めで演算する命令に適用可能
であり、また、その他のSS命令についても応用
ができる。
〔発明の効果〕
以上説明したように、本発明によれば、先行す
る命令が変更しようとする記憶領域の少なくとも
一部を後続の命令がオペランドデータとして使用
する場合、ストレジを介すことなく演算器内で先
行の命令の演算結果を後続の命令に引き渡すこと
ができるので、後続命令の処理が早期に開始で
き、従来生じていたパイプラインの乱れをなくし
て処理の高速化を図ることができるという効果が
得られる。
【図面の簡単な説明】
第1図及び第3図は本発明による一実施例のデ
ータ処理装置のブロツク図、第2図aおよびbは
それぞれOSCが発生しない場合と発生する場合
の従来の動作例を示すタイムチヤート、第2図c
は本発明における動作例を示すタイムチヤート、
第4図は、第3図のOSC検出回路20の一例を
示すブロツク図、第5図aは第3図のアライナ3
6,37の動作例を説明するための図、第5図b
は第6図のシフタ460の動作例を説明するため
の図、第6図は第3図の演算器40の一例を示す
ブロツク図、第7図は第3図のOSC制御回路1
1の一例を示すブロツク図、第8図a〜eは、
OSC制御回路11の動作例を説明するための図
である。

Claims (1)

  1. 【特許請求の範囲】 1 所定のアドレス間隔で隔てられた複数のアド
    レス境界を有し、一つのアドレス境界から次のア
    ドレス境界までの一定長のデータを単位にして読
    み出し又は書き込み可能なメモリと、そのメモリ
    からオペランドを読み出し、それに演算を実行す
    ることを要求する命令に応答して、その命令で指
    定された読み出しアドレスとデータ長を有するオ
    ペランドを含む、いずれかのアドレス境界から次
    のアドレス境界までのデータを該メモリから読み
    出す手段と、そのデータに含まれる該オペランド
    が該演算器により定まる位置に位置するよう、少
    なくとも上記読み出しアドレスに基づいて、該読
    み出されたデータに含まれる該オペランドを整列
    してその演算器に供給する手段と、演算を行い、
    その演算結果のデータを該メモリに格納すること
    を要求するいずれかの命令に応答して、その命令
    に対して該演算器より供給される演算結果データ
    を、少なくともその命令が指定する格納アドレス
    に基づいて逆整列する手段と、その逆整列された
    演算結果データを、その命令が指定する格納アド
    レスとデータ長に従つて該メモリに格納する手段
    と、該演算器から出力された、逆整列する前の上
    記演算結果データを保持する手段と、上記オペラ
    ンドの読み出しと演算を要求する命令に応答し
    て、実行中の先行命令が、演算結果データを該メ
    モリに格納することを要求する命令であつて、そ
    の演算結果により上記オペランドを書き換える命
    令であるか否かを、その先行命令が指定する、そ
    の命令の演算結果の格納先のアドレスとデータ長
    さとに関する情報および上記オペランド読み出し
    と演算を要求する命令が指定する、上記読み出し
    アドレスとデータ長に関する情報とに基づいて、
    検出する手段と、上記先行命令が上記オペランド
    を書き換える命令であると検出されたとき、上記
    保持手段に保持された、その先行命令の、逆整列
    される前の演算結果データの少なくとも一部を上
    記演算器の利用に供する手段とを有するデータ処
    理装置。 2 該検出手段は、上記先行命令の演算結果を格
    納すべきメモリ領域が、上記オペランドを読み出
    すべきメモリ領域を包含するか否かに基づいて、
    該オペランドが該演算結果データにより書き換え
    られるか否かを判別する手段からなる請求項1記
    載のデータ処理装置。 3 オペランドを保持するメモリと、 演算を行い、その演算結果のデータを該メモリ
    に格納することを要求するいずれかの命令に応答
    して、その命令に対して演算器より供給される演
    算結果データを、その命令が指定する始端アドレ
    スと長さを有する、該メモリ内の領域に格納する
    手段と、 その演算器から供給されたその演算結果データ
    を一時的に保持する手段と、 そのメモリからオペランドを読み出すことを要
    求する命令に応答して、その命令で指定された始
    端アドレスと長さを有する、該メモリ内の領域か
    らそのオペランドを読み出す手段と、 上記オペランドの読み出しを要求する命令に応
    答して、実行中の先行命令が、演算結果データを
    該メモリに格納することを要求する命令であつ
    て、その命令の演算結果を格納する領域の終端の
    アドレスが、上記オペランドを読み出すべき領域
    の終端のアドレスに一致し、かつ、その演算結果
    を格納する領域の長さがそのオペランドを読み出
    すべき領域の長さ以上であるか否かを、その先行
    命令が指定する、演算結果を格納する領域の始端
    のアドレスと長さに関する情報と、上記オペラン
    ドの読み出しを要求する命令が指定する、上記オ
    ペランド読み出すべき領域の始端のアドレスと長
    さに関する情報とに基づいて検出する手段と、 上記先行命令についての検出結果が肯定的であ
    るとき、上記オペランドを上記読み出し手段によ
    り該メモリから供給するのに代えて、上記保持手
    段から、その検出結果が肯定的である先行命令の
    演算結果データの少なくとも一部を上記演算器に
    供給する手段とを有するデータ処理装置。
JP58123246A 1983-07-08 1983-07-08 デ−タ処理装置 Granted JPS6015746A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP58123246A JPS6015746A (ja) 1983-07-08 1983-07-08 デ−タ処理装置
DE3424962A DE3424962A1 (de) 1983-07-08 1984-07-06 Datenverarbeitungsverfahren und vorrichtung zur durchfuehrung desselben
US07/075,528 US4916606A (en) 1983-07-08 1987-07-20 Pipelined parallel data processing apparatus for directly transferring operand data between preceding and succeeding instructions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58123246A JPS6015746A (ja) 1983-07-08 1983-07-08 デ−タ処理装置

Publications (2)

Publication Number Publication Date
JPS6015746A JPS6015746A (ja) 1985-01-26
JPH0545985B2 true JPH0545985B2 (ja) 1993-07-12

Family

ID=14855821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58123246A Granted JPS6015746A (ja) 1983-07-08 1983-07-08 デ−タ処理装置

Country Status (3)

Country Link
US (1) US4916606A (ja)
JP (1) JPS6015746A (ja)
DE (1) DE3424962A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6339036A (ja) * 1986-08-01 1988-02-19 Nec Corp パイプライン処理方式
JPS6386033A (ja) * 1986-09-30 1988-04-16 Fujitsu Ltd パイプライン処理方式
JPS63170736A (ja) * 1987-01-09 1988-07-14 Toshiba Corp マイクロプロセツサ
US5197141A (en) * 1988-01-30 1993-03-23 Nec Corporation Software controlled method of issuing hardware control commands to memory controller from prefetch unit by combining request code and address specified in program instructions
JPH0774994B2 (ja) * 1988-09-21 1995-08-09 株式会社日立製作所 バッファ記憶制御装置のosc検出方式
JP2810068B2 (ja) * 1988-11-11 1998-10-15 株式会社日立製作所 プロセッサシステム、コンピュータシステム及び命令処理方法
US5226126A (en) * 1989-02-24 1993-07-06 Nexgen Microsystems Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags
US5781753A (en) 1989-02-24 1998-07-14 Advanced Micro Devices, Inc. Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions
JP2550213B2 (ja) * 1989-07-07 1996-11-06 株式会社日立製作所 並列処理装置および並列処理方法
US5278960A (en) * 1989-08-16 1994-01-11 Nec Corporation Information processing apparatus having detecting means for operand overlaps
JP2816248B2 (ja) * 1989-11-08 1998-10-27 株式会社日立製作所 データプロセッサ
JPH03154947A (ja) * 1989-11-13 1991-07-02 Nec Corp 情報処理装置
US5276822A (en) * 1989-11-15 1994-01-04 Matsushita Electric Industrial Co., Ltd. System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction
JPH04140892A (ja) * 1990-02-05 1992-05-14 Internatl Business Mach Corp <Ibm> 制御データをエンコードする装置及び方法
JPH04156613A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd 命令バッファ装置
KR100272622B1 (ko) * 1991-05-08 2000-11-15 가나이 쓰도무 데이타 처리장치
US5522052A (en) * 1991-07-04 1996-05-28 Matsushita Electric Industrial Co. Ltd. Pipeline processor for processing instructions having a data dependence relationship
US5363495A (en) * 1991-08-26 1994-11-08 International Business Machines Corporation Data processing system with multiple execution units capable of executing instructions out of sequence
US5283874A (en) * 1991-10-21 1994-02-01 Intel Corporation Cross coupling mechanisms for simultaneously completing consecutive pipeline instructions even if they begin to process at the same microprocessor of the issue fee
JPH0612107A (ja) * 1992-06-02 1994-01-21 Mitsubishi Electric Corp シーケンス演算プロセッサおよびシーケンス演算処理装置
US5471628A (en) * 1992-06-30 1995-11-28 International Business Machines Corporation Multi-function permutation switch for rotating and manipulating an order of bits of an input data byte in either cyclic or non-cyclic mode
US5386534A (en) * 1992-10-27 1995-01-31 Motorola, Inc. Data processing system for generating symmetrical range of addresses of instructing-address-value with the use of inverting sign value
US6073231A (en) * 1993-10-18 2000-06-06 Via-Cyrix, Inc. Pipelined processor with microcontrol of register translation hardware
DE69415126T2 (de) * 1993-10-21 1999-07-08 Sun Microsystems Inc Gegenflusspipelineprozessor
US5619664A (en) * 1994-01-04 1997-04-08 Intel Corporation Processor with architecture for improved pipelining of arithmetic instructions by forwarding redundant intermediate data forms
US5802346A (en) * 1995-06-02 1998-09-01 International Business Machines Corporation Method and system for minimizing the delay in executing branch-on-register instructions
US5826072A (en) * 1995-11-13 1998-10-20 Oasis Design, Inc. Pipelined digital signal processor and signal processing system employing same
US5838939A (en) * 1997-05-09 1998-11-17 Sun Microsystems, Inc. Multi-issue/plural counterflow pipeline processor
WO2007069000A1 (en) * 2005-12-16 2007-06-21 Freescale Semiconductor, Inc. Device and method for processing instructions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5392638A (en) * 1977-01-25 1978-08-14 Nec Corp Information processing unit
JPS5731049A (en) * 1980-07-31 1982-02-19 Nec Corp Information processing equipment
JPS5858653A (ja) * 1981-10-02 1983-04-07 Hitachi Ltd デ−タ処理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5621240A (en) * 1979-07-27 1981-02-27 Hitachi Ltd Information processor
JPS6028015B2 (ja) * 1980-08-28 1985-07-02 日本電気株式会社 情報処理装置
JPS58189739A (ja) * 1982-04-30 1983-11-05 Hitachi Ltd デ−タ処理システム
JPH063584B2 (ja) * 1983-12-19 1994-01-12 株式会社日立製作所 情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5392638A (en) * 1977-01-25 1978-08-14 Nec Corp Information processing unit
JPS5731049A (en) * 1980-07-31 1982-02-19 Nec Corp Information processing equipment
JPS5858653A (ja) * 1981-10-02 1983-04-07 Hitachi Ltd デ−タ処理装置

Also Published As

Publication number Publication date
US4916606A (en) 1990-04-10
DE3424962C2 (ja) 1988-09-22
JPS6015746A (ja) 1985-01-26
DE3424962A1 (de) 1985-01-17

Similar Documents

Publication Publication Date Title
JPH0545985B2 (ja)
US4454578A (en) Data processing unit with pipelined operands
US5611061A (en) Method and processor for reliably processing interrupt demands in a pipeline processor
US5091853A (en) Chained addressing mode pipelined processor which merges separately decoded parts of a multiple operation instruction
US5313644A (en) System having status update controller for determining which one of parallel operation results of execution units is allowed to set conditions of shared processor status word
JPH0157817B2 (ja)
USRE32493E (en) Data processing unit with pipelined operands
JPS6351287B2 (ja)
EP0094535B1 (en) Pipe-line data processing system
JPH052484A (ja) スーパースカラプロセツサ
JPS60129840A (ja) 情報処理装置
JPH0348536B2 (ja)
JPH03286332A (ja) デジタルデータ処理装置
JPS62115542A (ja) 情報処理装置
US5121474A (en) Bit string data processor using dynamically addressable bit locations in memory so overlapping strings do not destroy data in memory
JPH11110214A (ja) 命令制御システム及びその方法
JP2577023B2 (ja) 情報処理装置のアドレス拡張制御方式
US5269008A (en) Method and apparatus for pre-processing the source of a pop instruction in a pipeline computer
JP2814683B2 (ja) 命令処理装置
JP2824484B2 (ja) パイプライン処理計算機
JPS5896346A (ja) 階層型演算方式
JPS61253542A (ja) 情報処理装置
JPH07110769A (ja) Vliw型計算機
JPS63141131A (ja) パイプライン制御方式
JP3102399B2 (ja) データ処理装置及び方法