JPH0827720B2 - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH0827720B2 JPH0827720B2 JP61104641A JP10464186A JPH0827720B2 JP H0827720 B2 JPH0827720 B2 JP H0827720B2 JP 61104641 A JP61104641 A JP 61104641A JP 10464186 A JP10464186 A JP 10464186A JP H0827720 B2 JPH0827720 B2 JP H0827720B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- operand
- type
- decoded
- address
- 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
Links
Landscapes
- Advance Control (AREA)
Description
【発明の詳細な説明】 〔発明の利用分野〕 本発明はパイプライン方式のデイジタルコンピユータ
に関する。
に関する。
このコンピユータでは各命令の実行過程を複数のステ
ージに分け、異なる命令の異なるステージを並列に実行
することにより、実質上複数の命令を並列に実行する。
ージに分け、異なる命令の異なるステージを並列に実行
することにより、実質上複数の命令を並列に実行する。
しかし、ある命令Bの処理に必要なデータが、先行す
る命令Aが指定する演算結果を利用して求める場合に
は、その演算結果が確定するまで命令Bの実行を遅延し
なければならない。たとえば命令Aが実行されるとベー
スレジスタ又はインデツクスレジスタが書きかえられ、
しかも命令Bはそのベースレジスタ又はインデツクスレ
ジスタの内容と命令B内に含まれるアドレス情報を加算
して主メモリアクセスのためのアドレスを計算する場合
がこれに相当する。このように、先行する命令Aの演算
結果を用いて命令Bの実行のためのアドレスを決めなけ
ればならない状態をアドレスコンフリクトがあると呼
ぶ。この場合、命令Bのアドレス計算ステージは命令A
の演算結果がインデツクスもしくはベースレジスタに書
き込まれるまで遅延される。
る命令Aが指定する演算結果を利用して求める場合に
は、その演算結果が確定するまで命令Bの実行を遅延し
なければならない。たとえば命令Aが実行されるとベー
スレジスタ又はインデツクスレジスタが書きかえられ、
しかも命令Bはそのベースレジスタ又はインデツクスレ
ジスタの内容と命令B内に含まれるアドレス情報を加算
して主メモリアクセスのためのアドレスを計算する場合
がこれに相当する。このように、先行する命令Aの演算
結果を用いて命令Bの実行のためのアドレスを決めなけ
ればならない状態をアドレスコンフリクトがあると呼
ぶ。この場合、命令Bのアドレス計算ステージは命令A
の演算結果がインデツクスもしくはベースレジスタに書
き込まれるまで遅延される。
特開昭54−41641で開示されているように、従来で
は、この遅延を少なくするためには、すべての命令が必
要とする演算を実行できる主演算装置とは別の一部の命
令が要求する簡単な演算のみを実行できる従演算装置と
を設けた。この際従演算装置は構造が比較的簡単なため
にベースレジスタ又はインデツクスレジスタを含む汎用
レジスタの近くに設けられ、主演算装置はその構成が複
雑で回路規模が大きくなるため汎用レジスタからより遠
くに設けられる。
は、この遅延を少なくするためには、すべての命令が必
要とする演算を実行できる主演算装置とは別の一部の命
令が要求する簡単な演算のみを実行できる従演算装置と
を設けた。この際従演算装置は構造が比較的簡単なため
にベースレジスタ又はインデツクスレジスタを含む汎用
レジスタの近くに設けられ、主演算装置はその構成が複
雑で回路規模が大きくなるため汎用レジスタからより遠
くに設けられる。
従つて主演算装置と従演算装置とが同時に起動された
としても、従演算装置が汎用レジスタの近くに設けられ
ているために、演算に必要なオペランドを汎用レジスタ
からより早く供給され、したがつて従演算装置がより早
く演算結果を出力する。したがつて、命令Bのアドレス
計算を従演算装置の出力を用いるならば、命令Bのアド
レス計算は、主演算装置の出力を用いて行うより早く開
始できる。こうして、アドレスコンフリクトが生じた命
令Bのアドレス計算の遅延を少なくしている。すなわ
ち、従演算装置によりアドレスコンフリクトを早期に解
消することにより処理の高速化を図つている。
としても、従演算装置が汎用レジスタの近くに設けられ
ているために、演算に必要なオペランドを汎用レジスタ
からより早く供給され、したがつて従演算装置がより早
く演算結果を出力する。したがつて、命令Bのアドレス
計算を従演算装置の出力を用いるならば、命令Bのアド
レス計算は、主演算装置の出力を用いて行うより早く開
始できる。こうして、アドレスコンフリクトが生じた命
令Bのアドレス計算の遅延を少なくしている。すなわ
ち、従演算装置によりアドレスコンフリクトを早期に解
消することにより処理の高速化を図つている。
同じ問題が条件付分岐命令のときにも生じる。この命
令(以下ではBC命令と呼ぶ)の演算実行サイクルにおい
て、そのときの条件コードに基づき分岐成功か否かの判
定が行われる。したがつて分岐命令に先行する演算が条
件コードを変更する命令のときには、この先行命令の演
算が終了し、条件コードが設定されるまで分岐判定がで
きない。このようにい、先行する命令の条件コード設定
の後にBC命令の分岐判定をしなければならない状態を条
件コードコンフリクトがある状態と呼ぶ。従来技術のよ
うに、従演算装置で求められた条件コードを用いてBC命
令の分岐判定をすることにより、BC命令の分岐判定を早
めることができる。
令(以下ではBC命令と呼ぶ)の演算実行サイクルにおい
て、そのときの条件コードに基づき分岐成功か否かの判
定が行われる。したがつて分岐命令に先行する演算が条
件コードを変更する命令のときには、この先行命令の演
算が終了し、条件コードが設定されるまで分岐判定がで
きない。このようにい、先行する命令の条件コード設定
の後にBC命令の分岐判定をしなければならない状態を条
件コードコンフリクトがある状態と呼ぶ。従来技術のよ
うに、従演算装置で求められた条件コードを用いてBC命
令の分岐判定をすることにより、BC命令の分岐判定を早
めることができる。
しかしながら、上記従来技術においては、従演算装置
にて演算を行う命令として、メモリーデータをオペラン
ドとする命令をも含めるために、従演算装置にて演算を
行うステージをメモリーデータの読み出しが完了した後
のステージに設定しており、このため例えば演算数が全
てレジスタに置かれる命令のように本来命令の解読ステ
ージにて演算数を読み出し演算を行うことのできる命令
であつても、該演算が遅いステージにおいてしか開始で
きず、従つてアドレスコンフリクトや条件分岐命令を十
分高速化できないでいた。
にて演算を行う命令として、メモリーデータをオペラン
ドとする命令をも含めるために、従演算装置にて演算を
行うステージをメモリーデータの読み出しが完了した後
のステージに設定しており、このため例えば演算数が全
てレジスタに置かれる命令のように本来命令の解読ステ
ージにて演算数を読み出し演算を行うことのできる命令
であつても、該演算が遅いステージにおいてしか開始で
きず、従つてアドレスコンフリクトや条件分岐命令を十
分高速化できないでいた。
本発明の目的は、かかる問題点を解消し、アドレスコ
ンフリクトや条件分岐命令処理をより一層高速化し、も
つとより処理速度の大きい情報処理装置を提供すること
にある。
ンフリクトや条件分岐命令処理をより一層高速化し、も
つとより処理速度の大きい情報処理装置を提供すること
にある。
上記目的は、実行すべき命令の各々を複数のステージ
に分けてパイプラインモードで実行するデータ処理装置
において、複数のオペランドを保持する記憶装置と、そ
れぞれオペランドあるいはアドレス情報を保持する複数
のレジスタと、実行すべき命令を解読し、その命令が、
該記憶装置内のオペランドを含む少なくとも一つのオペ
ランドに対する演算を要求する命令(第1種の命令)で
あるか、あるいは、該記憶装置内のオペランドを含ま
ず、該複数のレジスタのいずれかに保持されたオペラン
ドを含む、少なくとも一つのオペランドに対する演算を
要求する命令(第2種の命令)であるかを判別する第1
の手段と、該第1の手段で解読された命令が該第1種の
命令であるときに、その命令が指定するアドレス情報に
基づいて、該記憶装置に保持された、その第1種の命令
が使用するオペランドのアドレスを算出するアドレス加
算器と、該アドレス加算器により算出されたアドレスに
基づいて、その第1種の命令が指定するオペランドを該
記憶装置より読み出す第3の手段と、該記憶装置から読
み出されたオペランドに対して該解読された第1種の命
令が指定する演算を実行する、複数の演算を実行可能な
第1の演算装置と、該第1の手段で解読された命令が該
第2種の命令であるときに、該複数のレジスタのうち、
その第2種の命令が指定するレジスタに保持されたオペ
ランドに対して、該解読された第2種の命令が指定する
演算を実行する、複数の演算を実行可能な第2の演算装
置を設け、ここで、該第2の演算装置は該アドレス加算
器が動作するステージと同じステージで動作させること
によって、実現される。
に分けてパイプラインモードで実行するデータ処理装置
において、複数のオペランドを保持する記憶装置と、そ
れぞれオペランドあるいはアドレス情報を保持する複数
のレジスタと、実行すべき命令を解読し、その命令が、
該記憶装置内のオペランドを含む少なくとも一つのオペ
ランドに対する演算を要求する命令(第1種の命令)で
あるか、あるいは、該記憶装置内のオペランドを含ま
ず、該複数のレジスタのいずれかに保持されたオペラン
ドを含む、少なくとも一つのオペランドに対する演算を
要求する命令(第2種の命令)であるかを判別する第1
の手段と、該第1の手段で解読された命令が該第1種の
命令であるときに、その命令が指定するアドレス情報に
基づいて、該記憶装置に保持された、その第1種の命令
が使用するオペランドのアドレスを算出するアドレス加
算器と、該アドレス加算器により算出されたアドレスに
基づいて、その第1種の命令が指定するオペランドを該
記憶装置より読み出す第3の手段と、該記憶装置から読
み出されたオペランドに対して該解読された第1種の命
令が指定する演算を実行する、複数の演算を実行可能な
第1の演算装置と、該第1の手段で解読された命令が該
第2種の命令であるときに、該複数のレジスタのうち、
その第2種の命令が指定するレジスタに保持されたオペ
ランドに対して、該解読された第2種の命令が指定する
演算を実行する、複数の演算を実行可能な第2の演算装
置を設け、ここで、該第2の演算装置は該アドレス加算
器が動作するステージと同じステージで動作させること
によって、実現される。
レジスタ内のオペランドは、記憶装置内のオペランド
に比べて高速に読み出すことが出来る。しかも、第2の
演算装置による演算を、レジスタ内オペランドに対する
ものに限定したので、この装置による演算を、アドレス
加算器が動作するステージと同じステージで動作させる
ことが出来る。それだけ、後続の命令が先行命令の演算
の結果を利用できるタイミングが早まる。
に比べて高速に読み出すことが出来る。しかも、第2の
演算装置による演算を、レジスタ内オペランドに対する
ものに限定したので、この装置による演算を、アドレス
加算器が動作するステージと同じステージで動作させる
ことが出来る。それだけ、後続の命令が先行命令の演算
の結果を利用できるタイミングが早まる。
以下、本発明の一実施例を第1図により説明する。第
1図は本発明を適用したパイプライン型情報処理装置の
全体構成である。1は命令ユニツトIUであり、命令の先
読み,解読,オペランド読み出しを行う。2は記憶ユニ
ツトSUであり、プログラムやデータを格納する主記憶
や、キヤツシユ、入出力装置(図示せず)とのデータの
やりとり等を制御する回路から成り、従来技術により構
成される。3は演算ユニツトEUであり、演算及び結果の
書き込みを制御し、従来技術により構成される。4,5は
命令バツフアIBR0,IBR1であり、SUから読み出した命令
列を格納する。通常IBR0に現在処理中の命令列を格納す
るが、分岐命令が解読されるとその分岐先命令列がSUか
ら読み出され、IBR1に格納される。もし分岐が成立する
と、IBR1内の命令列を処理し、IBR0の内容は無効化され
る。これらの命令読み出し制御は従来技術で構成され
る。命令列は、SUから線6を介してIBR0,IBR1に送られ
る。IBR0,IBR1の内容は線7,8を介してセレクタ9に送ら
れる。セレクタ9は、フリツプフロツプFF−10から信号
11を介して送られるストリーム番号に従つて、IBR0,IBR
1のいずれかを選び、線12を介して命令レジスタIR−13
に送出する。命令レジスタ13は解読中の命令を保持す
る。13の内容は線14を介してデコーダDEC−15に送られ
る。以下では、説明の都合上、日立制作所のMシリーズ
アーキテクチヤを前提とすると、典型的な命令フオーマ
ツトは第2A〜2C図のようになる。すなわち、ロード命令
L等のRX形式命令は第2A図のように32ビツトからなり、
ビツト0から7は命令の種類を表わすOP部、ビツト8か
ら11は第1オペランドの格納されるレジスタ番号を示す
R1部、ビツト12から15及び16から19は第2オペランドア
ドレスを計算するためのインデクスレジスタ及びベース
レジスタ番号を示すX2及びB2部、そしてビツト20から31
は第2オペランドアドレスを計算するための変位D2部で
ある。条件分岐命令BCは第2B図にように32ビツトから成
り、ビツト8から11が分岐成立条件を指定するマスク部
M1となる点と、アドレス計算の結果がオペランドでな
く、分岐先命令のメモリ上の位置を表わす点を除いてL
命令と同じである。加算命令ARや比較命令CRのようなRR
形式命令は第2C図のように16ビツトから成り、OP部、R1
部はL命令と同じ、またビツト12から15までが、第2オ
ペランドの格納されるレジスタ番号を指定するR2部であ
る。各命令の詳細な動作は同アーキテクチヤの解説書を
参照されたい。再び第1図の説明に戻る。16はIR−13内
の命令の命令アドレスを保持する命令カウンタICであ
り、線17を介して命令解読完了信号DSが送られると、線
18を介してDEC−15から送られる命令長に従つて命令カ
ウンタをインクリメントし、また線19を介して分岐成立
信号BCTKNが送られると、線20を介してアドレス加算器A
A−21から送られる分岐先命令アドレスを取り込む。22,
23は命令の解読情報を保持するパイプラインレジスタRE
Gであり、簡単のため命令解読が行われる度に、DEC−15
の内容をこの順に転送していくとする。24は汎用レジス
タGRがあり、IR−13から、RX形式命令のR1,X2,B2部に
相当するレジスタ番号指定部分が順に線25,26,27を介し
てRR2,RX2,RB2ポートに入力され、これらで指定され
るレジスタの内容が、順にR1,X2,B2ポートに出力され
る。REG−23には次に演算を行うべき命令の解読情報が
保持されているが、このうち、RR形式命令のR1,R2部に
相当するレジスタ番号指定部分が順に線28,29を介してG
R−24のQR1,QR2ポートに入力され、これらで指定され
るレジスタの内容が順にDR1,DR2ポートに出力される。
30はセレクタSELであり、GR−24のX2ポートから線31を
介して送られるデータと、Dステージ先行演算器PAD−3
2から線33を介して送られるデータのいずれかを、線34
の値に従つて選択し、線35を介してAA−21のX2ポートに
入力する。同様にセレクタSEL−36は、GR−24のB2ポー
トから線37を介して送られるデータと、線33上のデータ
のいずれかを、線38の値に従つて選択し、線39を介して
AA−21のB2ポートに入力する。IR−13のうち、RX形式命
令のD2部に相当する部分が線40を介してAA−21のD2ポー
トに入力される。AA−21は、X2,B2及びD2ポートに入力
された値を該アーキテクチヤに従う方法で加え、結果を
線20を介してSU−2、IC−16、PAD−32に送出する。43
はアドレスラツプアラウンド制御回路AWCであり、DEC−
15及びREG−22から線41,42を介して送られる命令の解読
情報及び、線17を介して入力される命令解読完了信号DS
から、アドレススラツプアラウンド信号AWX,AWB,AWを生
成し順に、線34,38,44を介してSEL−30,SEL−36,アドレ
スコンフリクト検出回路ACC−45に送出する。ACC−45は
例えば特開昭60−37037号(パイプライン型のデータ処
理装置)に示すように構成することができ、このため、
図示はしていないがDEC−15,REG−22,REG−23から命令
解読情報を、また後述のEU−3から演算制御情報を入力
し、アドレスコンフリクト信号ACONFを信号線46を介し
て、デコード成功決定回路DSC−47に送出する。48はD
ステージ判定制御回路DJCであり、DEC−15から後述の命
令解読情報を線63を介して、また線17を介してDS信号を
入力し、条件分岐命令のDステージ判定指示信号DJと、
PAD−32から線49を介して出力される条件コードCCの有
効性を示す信号VALTDを、線50を介してCCコンフリクト
検出回路BCC−51に送出する。BCC−51は例えば上記特開
昭60−37037号に示すよう構成することができ、このた
め図示はしていないが、DIC−15から命令解読情報、EU
−3から条件コードと演算制御情報、DSC−47からDS信
号を入力し、条件コードコンフリクト信号CCONFを線52
を介してDSC−47に、また、分岐成立信号BCTKNを線19を
介してFF−10及びIC−16に送出する。DSC−47は命令の
解読完了を示す信号DS生成する回路であり、従来技術に
より構成される。DS信号線17を介して、IR−13,REG−2
2,REG−23,AWC−43,DJC−48及びPAD−32に送出される。
PAD−32は本発明において新たに設けられたもので、主
記憶に置かれていないデータのみを用いて演算の行える
全ての命令もしくはその一部の演算を行い、演算結果と
その条件コードを求めることのできるものである。この
ため、GR−24のX2,B2,R1ポートの出力が、線31,37,53
を介して、命令アドレスがIC−16から線62を介して、ア
ドレス計算結果がAA−21から線20を介して、またDEC−1
5から命令コードOP,PAD−32で演算可能な命令であるこ
とを示す命令解読情報PA、そのうち特に条件コードを設
定する命令であることを示す解読情報CCPAを線54を介し
て、またDS信号を線17を介して入力し、演算結果を線3
3、条件コードを線49に出力する。PAD−32の演算結果は
EU−3内のワークレジスタWAR−57に送られ、従来技術
に従つてGR−24に書き込まれる。
1図は本発明を適用したパイプライン型情報処理装置の
全体構成である。1は命令ユニツトIUであり、命令の先
読み,解読,オペランド読み出しを行う。2は記憶ユニ
ツトSUであり、プログラムやデータを格納する主記憶
や、キヤツシユ、入出力装置(図示せず)とのデータの
やりとり等を制御する回路から成り、従来技術により構
成される。3は演算ユニツトEUであり、演算及び結果の
書き込みを制御し、従来技術により構成される。4,5は
命令バツフアIBR0,IBR1であり、SUから読み出した命令
列を格納する。通常IBR0に現在処理中の命令列を格納す
るが、分岐命令が解読されるとその分岐先命令列がSUか
ら読み出され、IBR1に格納される。もし分岐が成立する
と、IBR1内の命令列を処理し、IBR0の内容は無効化され
る。これらの命令読み出し制御は従来技術で構成され
る。命令列は、SUから線6を介してIBR0,IBR1に送られ
る。IBR0,IBR1の内容は線7,8を介してセレクタ9に送ら
れる。セレクタ9は、フリツプフロツプFF−10から信号
11を介して送られるストリーム番号に従つて、IBR0,IBR
1のいずれかを選び、線12を介して命令レジスタIR−13
に送出する。命令レジスタ13は解読中の命令を保持す
る。13の内容は線14を介してデコーダDEC−15に送られ
る。以下では、説明の都合上、日立制作所のMシリーズ
アーキテクチヤを前提とすると、典型的な命令フオーマ
ツトは第2A〜2C図のようになる。すなわち、ロード命令
L等のRX形式命令は第2A図のように32ビツトからなり、
ビツト0から7は命令の種類を表わすOP部、ビツト8か
ら11は第1オペランドの格納されるレジスタ番号を示す
R1部、ビツト12から15及び16から19は第2オペランドア
ドレスを計算するためのインデクスレジスタ及びベース
レジスタ番号を示すX2及びB2部、そしてビツト20から31
は第2オペランドアドレスを計算するための変位D2部で
ある。条件分岐命令BCは第2B図にように32ビツトから成
り、ビツト8から11が分岐成立条件を指定するマスク部
M1となる点と、アドレス計算の結果がオペランドでな
く、分岐先命令のメモリ上の位置を表わす点を除いてL
命令と同じである。加算命令ARや比較命令CRのようなRR
形式命令は第2C図のように16ビツトから成り、OP部、R1
部はL命令と同じ、またビツト12から15までが、第2オ
ペランドの格納されるレジスタ番号を指定するR2部であ
る。各命令の詳細な動作は同アーキテクチヤの解説書を
参照されたい。再び第1図の説明に戻る。16はIR−13内
の命令の命令アドレスを保持する命令カウンタICであ
り、線17を介して命令解読完了信号DSが送られると、線
18を介してDEC−15から送られる命令長に従つて命令カ
ウンタをインクリメントし、また線19を介して分岐成立
信号BCTKNが送られると、線20を介してアドレス加算器A
A−21から送られる分岐先命令アドレスを取り込む。22,
23は命令の解読情報を保持するパイプラインレジスタRE
Gであり、簡単のため命令解読が行われる度に、DEC−15
の内容をこの順に転送していくとする。24は汎用レジス
タGRがあり、IR−13から、RX形式命令のR1,X2,B2部に
相当するレジスタ番号指定部分が順に線25,26,27を介し
てRR2,RX2,RB2ポートに入力され、これらで指定され
るレジスタの内容が、順にR1,X2,B2ポートに出力され
る。REG−23には次に演算を行うべき命令の解読情報が
保持されているが、このうち、RR形式命令のR1,R2部に
相当するレジスタ番号指定部分が順に線28,29を介してG
R−24のQR1,QR2ポートに入力され、これらで指定され
るレジスタの内容が順にDR1,DR2ポートに出力される。
30はセレクタSELであり、GR−24のX2ポートから線31を
介して送られるデータと、Dステージ先行演算器PAD−3
2から線33を介して送られるデータのいずれかを、線34
の値に従つて選択し、線35を介してAA−21のX2ポートに
入力する。同様にセレクタSEL−36は、GR−24のB2ポー
トから線37を介して送られるデータと、線33上のデータ
のいずれかを、線38の値に従つて選択し、線39を介して
AA−21のB2ポートに入力する。IR−13のうち、RX形式命
令のD2部に相当する部分が線40を介してAA−21のD2ポー
トに入力される。AA−21は、X2,B2及びD2ポートに入力
された値を該アーキテクチヤに従う方法で加え、結果を
線20を介してSU−2、IC−16、PAD−32に送出する。43
はアドレスラツプアラウンド制御回路AWCであり、DEC−
15及びREG−22から線41,42を介して送られる命令の解読
情報及び、線17を介して入力される命令解読完了信号DS
から、アドレススラツプアラウンド信号AWX,AWB,AWを生
成し順に、線34,38,44を介してSEL−30,SEL−36,アドレ
スコンフリクト検出回路ACC−45に送出する。ACC−45は
例えば特開昭60−37037号(パイプライン型のデータ処
理装置)に示すように構成することができ、このため、
図示はしていないがDEC−15,REG−22,REG−23から命令
解読情報を、また後述のEU−3から演算制御情報を入力
し、アドレスコンフリクト信号ACONFを信号線46を介し
て、デコード成功決定回路DSC−47に送出する。48はD
ステージ判定制御回路DJCであり、DEC−15から後述の命
令解読情報を線63を介して、また線17を介してDS信号を
入力し、条件分岐命令のDステージ判定指示信号DJと、
PAD−32から線49を介して出力される条件コードCCの有
効性を示す信号VALTDを、線50を介してCCコンフリクト
検出回路BCC−51に送出する。BCC−51は例えば上記特開
昭60−37037号に示すよう構成することができ、このた
め図示はしていないが、DIC−15から命令解読情報、EU
−3から条件コードと演算制御情報、DSC−47からDS信
号を入力し、条件コードコンフリクト信号CCONFを線52
を介してDSC−47に、また、分岐成立信号BCTKNを線19を
介してFF−10及びIC−16に送出する。DSC−47は命令の
解読完了を示す信号DS生成する回路であり、従来技術に
より構成される。DS信号線17を介して、IR−13,REG−2
2,REG−23,AWC−43,DJC−48及びPAD−32に送出される。
PAD−32は本発明において新たに設けられたもので、主
記憶に置かれていないデータのみを用いて演算の行える
全ての命令もしくはその一部の演算を行い、演算結果と
その条件コードを求めることのできるものである。この
ため、GR−24のX2,B2,R1ポートの出力が、線31,37,53
を介して、命令アドレスがIC−16から線62を介して、ア
ドレス計算結果がAA−21から線20を介して、またDEC−1
5から命令コードOP,PAD−32で演算可能な命令であるこ
とを示す命令解読情報PA、そのうち特に条件コードを設
定する命令であることを示す解読情報CCPAを線54を介し
て、またDS信号を線17を介して入力し、演算結果を線3
3、条件コードを線49に出力する。PAD−32の演算結果は
EU−3内のワークレジスタWAR−57に送られ、従来技術
に従つてGR−24に書き込まれる。
また、PAD−32からの条件コードはEU−3内の条件コ
ードレジスタCC−64に送られる。
ードレジスタCC−64に送られる。
EU−3には演算制御回路EC−55,ワークレジスタWBR−
56、WAR−57,演算器ALU−58,条件コードレジスタCC−64
があり、これらは従来技術で構成される。EC−55には命
令解読情報が線59を介して送出され、結果を格納するレ
ジスタ番号WAが線60を介してGR−24のWAポートに送出さ
れる。また、ALU−58から出力される演出結果は線61を
介してGR−24のWDポートに送出される。また結果の条件
コードはCC−64に線65を介して送出される。GR−24では
EC−55からの書き込み指令を受けるとWDポートに入力さ
れたデータがWAポートに入力された番号のレジスタに書
き込まれる。なお、結果を主記憶に格納する命令の場
合、ストアアドレスとストアデータがEU−3からSU−2
に送出されるが、本発明とは直接関係ないので説明を省
略する。
56、WAR−57,演算器ALU−58,条件コードレジスタCC−64
があり、これらは従来技術で構成される。EC−55には命
令解読情報が線59を介して送出され、結果を格納するレ
ジスタ番号WAが線60を介してGR−24のWAポートに送出さ
れる。また、ALU−58から出力される演出結果は線61を
介してGR−24のWDポートに送出される。また結果の条件
コードはCC−64に線65を介して送出される。GR−24では
EC−55からの書き込み指令を受けるとWDポートに入力さ
れたデータがWAポートに入力された番号のレジスタに書
き込まれる。なお、結果を主記憶に格納する命令の場
合、ストアアドレスとストアデータがEU−3からSU−2
に送出されるが、本発明とは直接関係ないので説明を省
略する。
第3A図は本発明を適用して高速化されるアドレスコン
フリクトを生じている命令列の例である。AR命令は汎用
レジスタGR13の内容とGR0の内容を加算し、結果をGR13
に格納する。次のL命令は、GR2とGR13の内容を加えて
得られるアドレスから始まる主記憶上のオペランドをGR
1に格納する。ここで、L命令のベースレジスタが、AR
命令により設定されるため、その完了までL命令のアド
レス計算は遅延される。いわゆるアドレスコンフリクト
が発生している。この時間関係を第4A図に示す。第4A図
では横軸がパイプラインのステージを単位とした時間、
縦軸が命令列の処理を示す。L命令のステージはD,A,L,
E,Pの5ステージから成る。Dステージは命令解読及び
アドレスレジスタ読み出し、Aステージはアドレス計
算、Lステージは主記憶あるいはレジスタからのオペラ
ンドもしくは分岐先命令読み出し、EはEU−3による演
算ステージ、Pは結果の書き込みステージである。AR命
令ではオペランドは全てGR−24に格納されているため、
AやLステージは不要のはずであるが、パイプライン方
式ゆえL命令等、主記憶参照を行う命令のステージに合
わせ、A,Lステージを設けている。従って、従来技術に
よれば、AR命令の結果が得られ、GR−24に格納されるの
は同図のS5ステージとなり、これを用いるL命令のDス
テージはS6からしか開始できず、4ステージのパイプラ
インの空きを生じてしまう。本発明によればAR命令の演
算はPAD−32にて行い、結果を直接AA−21に転送するた
め、図のように空きなく処理が行え、よつて4ステージ
の高速化が達成される。
フリクトを生じている命令列の例である。AR命令は汎用
レジスタGR13の内容とGR0の内容を加算し、結果をGR13
に格納する。次のL命令は、GR2とGR13の内容を加えて
得られるアドレスから始まる主記憶上のオペランドをGR
1に格納する。ここで、L命令のベースレジスタが、AR
命令により設定されるため、その完了までL命令のアド
レス計算は遅延される。いわゆるアドレスコンフリクト
が発生している。この時間関係を第4A図に示す。第4A図
では横軸がパイプラインのステージを単位とした時間、
縦軸が命令列の処理を示す。L命令のステージはD,A,L,
E,Pの5ステージから成る。Dステージは命令解読及び
アドレスレジスタ読み出し、Aステージはアドレス計
算、Lステージは主記憶あるいはレジスタからのオペラ
ンドもしくは分岐先命令読み出し、EはEU−3による演
算ステージ、Pは結果の書き込みステージである。AR命
令ではオペランドは全てGR−24に格納されているため、
AやLステージは不要のはずであるが、パイプライン方
式ゆえL命令等、主記憶参照を行う命令のステージに合
わせ、A,Lステージを設けている。従って、従来技術に
よれば、AR命令の結果が得られ、GR−24に格納されるの
は同図のS5ステージとなり、これを用いるL命令のDス
テージはS6からしか開始できず、4ステージのパイプラ
インの空きを生じてしまう。本発明によればAR命令の演
算はPAD−32にて行い、結果を直接AA−21に転送するた
め、図のように空きなく処理が行え、よつて4ステージ
の高速化が達成される。
第3B図は本発明を適用して高速化される。条件コード
コンフリクトの生じている命令列の例である。比較命令
CRはGR0とGR1の内容を比較し、結果に従い条件コードを
設定する。次の条件分岐命令BCは、条件コードの値が
0、すなわちCR命令で上記2オペランドが等しいことが
検出された場合に、主記憶上のA番地上のST命令に分岐
する。本例では分岐不成立であるとし、BC命令に引き続
くL命令が処理されるものとする。さてこの場合も、CR
命令による条件コード設定までBC命令による分岐判定が
下せず、従つてL命令を実行すべきか、ST命令を実行す
べきか決定できないために、これらいずれの命令も処理
が開始できないものとする。これらの時間関係を第4B図
に示す。第4B図も第4A図と同様の時間線図である。従来
技術によれば、CR命令によつて条件コードの設定される
のは、そのPステージであり、分岐判定はステージS6に
て行われる。従つて、L命令はS7より処理を開始する。
よつて、L命令には4ステージの空きが生ずる。一方本
発明においては、CR命令による条件コードは、PAD−32
によりそのAステージにて設定されるため、BC命令によ
る分岐判定はS2ステージにて行われ、よつてL命令は遅
れなしでS32ステージから処理を開始することができ、
4ステージの高速化が達成される。
コンフリクトの生じている命令列の例である。比較命令
CRはGR0とGR1の内容を比較し、結果に従い条件コードを
設定する。次の条件分岐命令BCは、条件コードの値が
0、すなわちCR命令で上記2オペランドが等しいことが
検出された場合に、主記憶上のA番地上のST命令に分岐
する。本例では分岐不成立であるとし、BC命令に引き続
くL命令が処理されるものとする。さてこの場合も、CR
命令による条件コード設定までBC命令による分岐判定が
下せず、従つてL命令を実行すべきか、ST命令を実行す
べきか決定できないために、これらいずれの命令も処理
が開始できないものとする。これらの時間関係を第4B図
に示す。第4B図も第4A図と同様の時間線図である。従来
技術によれば、CR命令によつて条件コードの設定される
のは、そのPステージであり、分岐判定はステージS6に
て行われる。従つて、L命令はS7より処理を開始する。
よつて、L命令には4ステージの空きが生ずる。一方本
発明においては、CR命令による条件コードは、PAD−32
によりそのAステージにて設定されるため、BC命令によ
る分岐判定はS2ステージにて行われ、よつてL命令は遅
れなしでS32ステージから処理を開始することができ、
4ステージの高速化が達成される。
第5図はアドレスラツプアラウンド制御回路AWC−43
の詳細を示す。DEC−15から線41を介して入力される命
令解読情報は、命令のB2,X2部と、該命令がインデツク
スレジスタを指定することを示すXENBL信号及びベース
レジスタを指定することを示すBENBL信号である。また
信号線42を介してREG−22から入力される解読情報は、
命令のR1部該命令がPAD−32にて演算可能であることを
示す信号PAである。501は比較回路CMPであり、レジスタ
番号R1とX2の比較を行い一致していたら線502をオンと
する。503はフリツプフロツプFFであり、DS信号を1ス
テージ、すなわち1命令分遅延させる。FF−503がオン
の時、REG−22内に有効な命令が格納されていることに
なる。ANDゲート504には、FF−503内にあるDS信号が線5
05を介して、また上記PA,XENBL信号及び、CMP−501の結
果が線502を介して入力され、その論理和がAWX信号34と
して出力される。同様にCMP−506はレジスタ番号R1とB2
の比較を行い、一致していたら線507をオンとする。AND
ゲート508には、DS信号が線505を介して、また上記PA,B
ENBL信号及びCMP−506の結果が線507を介して入力さ
れ、その論理和がAWB信号38として出力される。ORゲー
ト509は、AWX及びAWB信号の論理和をAW信号44として出
力する。
の詳細を示す。DEC−15から線41を介して入力される命
令解読情報は、命令のB2,X2部と、該命令がインデツク
スレジスタを指定することを示すXENBL信号及びベース
レジスタを指定することを示すBENBL信号である。また
信号線42を介してREG−22から入力される解読情報は、
命令のR1部該命令がPAD−32にて演算可能であることを
示す信号PAである。501は比較回路CMPであり、レジスタ
番号R1とX2の比較を行い一致していたら線502をオンと
する。503はフリツプフロツプFFであり、DS信号を1ス
テージ、すなわち1命令分遅延させる。FF−503がオン
の時、REG−22内に有効な命令が格納されていることに
なる。ANDゲート504には、FF−503内にあるDS信号が線5
05を介して、また上記PA,XENBL信号及び、CMP−501の結
果が線502を介して入力され、その論理和がAWX信号34と
して出力される。同様にCMP−506はレジスタ番号R1とB2
の比較を行い、一致していたら線507をオンとする。AND
ゲート508には、DS信号が線505を介して、また上記PA,B
ENBL信号及びCMP−506の結果が線507を介して入力さ
れ、その論理和がAWB信号38として出力される。ORゲー
ト509は、AWX及びAWB信号の論理和をAW信号44として出
力する。
第6図はDテージ判定制御回路DJC−48の詳細を示
す。DEC−15から入力される命令解読情報としては、条
件分岐命令であることを示すBC,上記PA,条件コードを設
定するタイプの命令であることを示すCCCHGである。601
はANDゲートであり、DS信号とBC信号の論理和を、Dス
テージ分岐判定信号DJとして出力する。602はANDゲート
であり、CCCHG信号とDS信号の論理和を、線603を介して
フリツプフロツフ604に送出する。FF−604は、線603が
オンとなつた時に、PA信号をとり込み、VALID信号を出
力する。すなわち、FF−604は、PAD演算可能な条件コー
ド設定命令がDステージを完了した時にオンとなり、PA
Dで演算不可能な条件コード設定命令がDステージを完
了した時にオフとなるため、PADで得られた条件コード
が有効か否かを示すVALTID信号に他ならない。
す。DEC−15から入力される命令解読情報としては、条
件分岐命令であることを示すBC,上記PA,条件コードを設
定するタイプの命令であることを示すCCCHGである。601
はANDゲートであり、DS信号とBC信号の論理和を、Dス
テージ分岐判定信号DJとして出力する。602はANDゲート
であり、CCCHG信号とDS信号の論理和を、線603を介して
フリツプフロツフ604に送出する。FF−604は、線603が
オンとなつた時に、PA信号をとり込み、VALID信号を出
力する。すなわち、FF−604は、PAD演算可能な条件コー
ド設定命令がDステージを完了した時にオンとなり、PA
Dで演算不可能な条件コード設定命令がDステージを完
了した時にオフとなるため、PADで得られた条件コード
が有効か否かを示すVALTID信号に他ならない。
第7図はDステージ先行演算器PAD−32の詳細を示
す。線54を介してDEC−15から入力される命令解読情報
としては、OP部,PADで演算可能なタイプの命令であるこ
とを示す信号PA、そのうちさらに条件コードを設定する
タイプの命令であることを示す信号CCPAである。701は
演算器であり、図中に記載されているニーモニツクの命
令もしくは一部の演算を実行することができ、従来技術
で構成される。このため、701には、IC−62,アドレス2
0,X2−31,R1−53、及びOPが入力され演算結果及び条件
コードが線702,703を介して、レジスタREG−704,REG−7
05に送出する。なお701においてBALR及びBAL命令につい
ては、本来の命令仕様では、命令長コード、プログラム
マスク、条件コードが結果の先頭バイトとなるが、この
命令の結果を後続命令がアドレスレジスタに用いる場合
は、該アドレスは24ビツト幅であり、これの生成のため
に上記先頭バイト情報は用いられない。従つて、これら
2命令については、702に出力される結果の先頭バイト
は任意とする。706はANDゲートであり、CCPA信号とDS信
号の論理和を線707を介してREG−705に送出する、REG−
705は線707がオンの時線703の値をとり込む。すなわちR
EG705は、701にて演算可能な条件コード設定命令がその
演算結果の条件コードを生成した時にそれをとり込む。
REG−705の出力はCC−49である。708はANDゲートであ
り、PA信号とDS信号の論理和を縦709を介してREG−704
に送出する。REG−704は、縦709がオンの時線702の値を
とり込む。すなわちREG−704は、701にて演算が行われ
たときその結果をとり込む。REG−704の出力はアドレス
スラツプアラウンドデータAWD−33である。
す。線54を介してDEC−15から入力される命令解読情報
としては、OP部,PADで演算可能なタイプの命令であるこ
とを示す信号PA、そのうちさらに条件コードを設定する
タイプの命令であることを示す信号CCPAである。701は
演算器であり、図中に記載されているニーモニツクの命
令もしくは一部の演算を実行することができ、従来技術
で構成される。このため、701には、IC−62,アドレス2
0,X2−31,R1−53、及びOPが入力され演算結果及び条件
コードが線702,703を介して、レジスタREG−704,REG−7
05に送出する。なお701においてBALR及びBAL命令につい
ては、本来の命令仕様では、命令長コード、プログラム
マスク、条件コードが結果の先頭バイトとなるが、この
命令の結果を後続命令がアドレスレジスタに用いる場合
は、該アドレスは24ビツト幅であり、これの生成のため
に上記先頭バイト情報は用いられない。従つて、これら
2命令については、702に出力される結果の先頭バイト
は任意とする。706はANDゲートであり、CCPA信号とDS信
号の論理和を線707を介してREG−705に送出する、REG−
705は線707がオンの時線703の値をとり込む。すなわちR
EG705は、701にて演算可能な条件コード設定命令がその
演算結果の条件コードを生成した時にそれをとり込む。
REG−705の出力はCC−49である。708はANDゲートであ
り、PA信号とDS信号の論理和を縦709を介してREG−704
に送出する。REG−704は、縦709がオンの時線702の値を
とり込む。すなわちREG−704は、701にて演算が行われ
たときその結果をとり込む。REG−704の出力はアドレス
スラツプアラウンドデータAWD−33である。
以下では、第3A図、次に第3Bに示す命令列を本実施例
の情報処理装置で処理した時の、各部の動作を説明す
る。
の情報処理装置で処理した時の、各部の動作を説明す
る。
第3A図で示したアドレスコンフリクト処理は次のよう
に処理される。
に処理される。
AR命令がIR−13に格納されると、そのR1,R2部がGR−
24に送られ、第1オペランド、第2オペランドがR1,X2
ポートから出力され、PAD−32に送出される。PAD−32で
はAR命令のOP部に指定される。第1,第2オペランド間の
固定小数点加算を行い、その結果はREG−704に格納され
る。次に、L命令がIR−13に入ると、そのX2,B2部がCM
P−501,CMP−506に入力され、REG−22内にあるAR命令の
R1部と比較の結果、CMP−506の出力がオンとなる。すな
わち、L命令のベースレジスタとAR命令の変更するレジ
スタが一致していることが検出される。L命令ではBENB
Lがオンとなる。また、AR命令ではREG−22内のPA信号オ
ンとなり、AR命令がREG−22に入つた時点ではFF−503が
オンとなるため、ANDゲート508の出力であるAWBがオン
となる。AWXはCMP−501での比較により一致が見られな
いため、オフである。また、AW信号がオンとなる。これ
によつて、SEL−36はGR−24のB2ポートの出力ではな
く、PAD−32の出力、すなわち、AR命令のDステージ先
行演算結果を選択し、AA−21のB2ポートに入力する。こ
れにより、L命令が必要なベージレジスタの値はAR命令
の演算結果がEU−3で生成されるまで待ち合わせること
なくPAD−32から得られ、アドレス計算が直ちに行え
る。一方、AW信号はACC−45からのACONF信号をリセツト
する。本実施例の場合AW信号はL命令のDステージと同
時にオンとなるため、ACONF信号は結果的に全くオンと
ならない。このため、L命令は直ちにDS信号を発行し
て、Dステージを完了することになる。
24に送られ、第1オペランド、第2オペランドがR1,X2
ポートから出力され、PAD−32に送出される。PAD−32で
はAR命令のOP部に指定される。第1,第2オペランド間の
固定小数点加算を行い、その結果はREG−704に格納され
る。次に、L命令がIR−13に入ると、そのX2,B2部がCM
P−501,CMP−506に入力され、REG−22内にあるAR命令の
R1部と比較の結果、CMP−506の出力がオンとなる。すな
わち、L命令のベースレジスタとAR命令の変更するレジ
スタが一致していることが検出される。L命令ではBENB
Lがオンとなる。また、AR命令ではREG−22内のPA信号オ
ンとなり、AR命令がREG−22に入つた時点ではFF−503が
オンとなるため、ANDゲート508の出力であるAWBがオン
となる。AWXはCMP−501での比較により一致が見られな
いため、オフである。また、AW信号がオンとなる。これ
によつて、SEL−36はGR−24のB2ポートの出力ではな
く、PAD−32の出力、すなわち、AR命令のDステージ先
行演算結果を選択し、AA−21のB2ポートに入力する。こ
れにより、L命令が必要なベージレジスタの値はAR命令
の演算結果がEU−3で生成されるまで待ち合わせること
なくPAD−32から得られ、アドレス計算が直ちに行え
る。一方、AW信号はACC−45からのACONF信号をリセツト
する。本実施例の場合AW信号はL命令のDステージと同
時にオンとなるため、ACONF信号は結果的に全くオンと
ならない。このため、L命令は直ちにDS信号を発行し
て、Dステージを完了することになる。
次に第3B図で示した条件コードコンフリクト処理は次
のように処理される。CR命令がIR−13に格納されると、
そのR1,R2部がGR−24に送られ、第1,第2オペランドが
R2,X2ポートから出力され、PAD−32に送出される。PAD
−32ではCR命令のOP部で指定される比較を行い、結果の
条件コードをREG−705に格納する。またDEC−15からDJC
−48に送出される命令解読情報CCCHG及びPAが共にオン
となるため、CR命令のDステージが完了しDS信号がオン
となると、FF−604がセツトされ、VALID信号がオンとな
る。次にL命令がIR−13に入ると、命令解読情報BCがオ
ンとなり、そのDS信号がオンとなつた時に、DJ信号がオ
ンとなる。この時既に、CR命令で設定したCCが有効であ
ることを示すVALID信号がオンとなつているため、CCコ
ンフリクト検出回路BCC−51では、CCONF信号をリセツト
する。本実施例の場合DJ信号は、BC命令のDステージと
同時にオンとなるため、CCONF信号は結果的に全くオン
とならない。また、PAD−32から送られるCCを用いて、B
CC−51は、BC命令のM1部と比較した結果、分岐不成立で
あることを検出する。よつてBCTKN信号19はオフのまま
である。よつてSEL−9はそれまでと同一のストリーム
を選択するので、次にはIR−13にはBC命令に引き続くL
命令が格納される。CCONF信号はオフであるのでL命令
は直ちにDステージを完了しDS信号を発行する。
のように処理される。CR命令がIR−13に格納されると、
そのR1,R2部がGR−24に送られ、第1,第2オペランドが
R2,X2ポートから出力され、PAD−32に送出される。PAD
−32ではCR命令のOP部で指定される比較を行い、結果の
条件コードをREG−705に格納する。またDEC−15からDJC
−48に送出される命令解読情報CCCHG及びPAが共にオン
となるため、CR命令のDステージが完了しDS信号がオン
となると、FF−604がセツトされ、VALID信号がオンとな
る。次にL命令がIR−13に入ると、命令解読情報BCがオ
ンとなり、そのDS信号がオンとなつた時に、DJ信号がオ
ンとなる。この時既に、CR命令で設定したCCが有効であ
ることを示すVALID信号がオンとなつているため、CCコ
ンフリクト検出回路BCC−51では、CCONF信号をリセツト
する。本実施例の場合DJ信号は、BC命令のDステージと
同時にオンとなるため、CCONF信号は結果的に全くオン
とならない。また、PAD−32から送られるCCを用いて、B
CC−51は、BC命令のM1部と比較した結果、分岐不成立で
あることを検出する。よつてBCTKN信号19はオフのまま
である。よつてSEL−9はそれまでと同一のストリーム
を選択するので、次にはIR−13にはBC命令に引き続くL
命令が格納される。CCONF信号はオフであるのでL命令
は直ちにDステージを完了しDS信号を発行する。
以上のように動作することにより、第3A,3B図の各命
令列は、第4A,4B図の各々の後半に示すようにパイプラ
インの空きなく処理される。
令列は、第4A,4B図の各々の後半に示すようにパイプラ
インの空きなく処理される。
PAD−32の機能には、固定小数点の加減算があるが、
これを上記実施例のように専用の演算器(加減算器)を
用いて構成する方法もあるが、AA−21を用いて行う方法
もある。このためには、AA入力部に補数生成回路を設け
ること、AA−21にてDステージ先行演算を行う命令を検
出した時に、該命令の演算をAA−21にて行うのに必要な
AA制御情報を生成する回路等が必要である。
これを上記実施例のように専用の演算器(加減算器)を
用いて構成する方法もあるが、AA−21を用いて行う方法
もある。このためには、AA入力部に補数生成回路を設け
ること、AA−21にてDステージ先行演算を行う命令を検
出した時に、該命令の演算をAA−21にて行うのに必要な
AA制御情報を生成する回路等が必要である。
本発明によれば、アドレスコンフリクトや条件コード
コンフリクトが発生した時でもパイプラインの空きなく
命令処理を行うことができるので、処理装置の高速化に
効果がある。
コンフリクトが発生した時でもパイプラインの空きなく
命令処理を行うことができるので、処理装置の高速化に
効果がある。
アドレスコンフリクトはシステム系プログラムでは全
命令に対し、10%程度の割合で発生し、その処理はプロ
グラムの処理時間の約1割程度を占める重要なものであ
る。このうち、本発明にて高速化できるのは、その1/3
程度であるから、処理装置全体の速度を約3%程度高速
化できる可能性があると考えられる。一方、条件コード
コンフリクトはシステム系プログラムでは20〜30%程度
の割合で発生し、その処理はプログラムの処理時間の約
2割程度を占める重要なものである。このうち本発明に
て高速化できるのは、その1/4程度であるから、処理装
置全体の速度を約5%程度高速化できる可能性があると
考えられる。
命令に対し、10%程度の割合で発生し、その処理はプロ
グラムの処理時間の約1割程度を占める重要なものであ
る。このうち、本発明にて高速化できるのは、その1/3
程度であるから、処理装置全体の速度を約3%程度高速
化できる可能性があると考えられる。一方、条件コード
コンフリクトはシステム系プログラムでは20〜30%程度
の割合で発生し、その処理はプログラムの処理時間の約
2割程度を占める重要なものである。このうち本発明に
て高速化できるのは、その1/4程度であるから、処理装
置全体の速度を約5%程度高速化できる可能性があると
考えられる。
第1図は本発明による情報処理装置の全体構成、第2A〜
2C図は、本実施例で前提とする命令フオーマツト、第3A
〜3B図は、本実施例で高速化可能なアドレスコンフリク
ト及び条件コードコンフリクトを起こしている命令列の
例、第4A,4B図は、上記命令列の従来技術及び本発明に
よるパイプライン処理ステージ、第5図はアドレスラツ
プアラウンド制御回路の詳細、第6図はDステージ判定
制御回路の詳細、第7図はDステージ先行演算器の詳細
である。 1…命令ユニツト、2…記憶ユニツト、3…演算ユニツ
ト、13…命令レジスタ、24…汎用レジスタ、21…アドレ
ス加算器、32…Dステージ先行演算器、43…アドレスラ
ツプアラウンド制御回路、48…Dステージ判定制御回
路、58…演算器。
2C図は、本実施例で前提とする命令フオーマツト、第3A
〜3B図は、本実施例で高速化可能なアドレスコンフリク
ト及び条件コードコンフリクトを起こしている命令列の
例、第4A,4B図は、上記命令列の従来技術及び本発明に
よるパイプライン処理ステージ、第5図はアドレスラツ
プアラウンド制御回路の詳細、第6図はDステージ判定
制御回路の詳細、第7図はDステージ先行演算器の詳細
である。 1…命令ユニツト、2…記憶ユニツト、3…演算ユニツ
ト、13…命令レジスタ、24…汎用レジスタ、21…アドレ
ス加算器、32…Dステージ先行演算器、43…アドレスラ
ツプアラウンド制御回路、48…Dステージ判定制御回
路、58…演算器。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 庄内 亨 東京都国分寺市東恋ヶ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 釜田 栄樹 東京都国分寺市東恋ヶ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 井上 潔 東京都国分寺市東恋ヶ窪1丁目280番地 株式会社日立製作所中央研究所内
Claims (6)
- 【請求項1】実行すべき命令の各々を複数のステージに
分けてパイプラインモードで実行するデータ処理装置で
あって、 複数のオペランドを保持する記憶装置と、 それぞれオペランドあるいはアドレス情報を保持する複
数のレジスタと、 実行すべき命令を解読し、その命令が、該記憶装置内の
オペランドを含む少なくとも一つのオペランドに対する
演算を要求する命令(第1種の命令)であるか、あるい
は、該記憶装置内のオペランドを含まないで、該複数の
レジスタのいずれかに保持されたオペランドを含む、少
なくとも一つのオペランドに対する演算を要求する命令
(第2種の命令)であるかを判別する第1の手段と、 該第1の手段で解読された命令が該第1種の命令である
ときに、その命令が指定するアドレス情報に基づいて、
該記憶装置に保持された、その第1種の命令が使用する
オペランドのアドレスを算出するアドレス加算器と、 該アドレス加算器により算出されたアドレスに基づい
て、その第1種の命令が指定するオペランドを該記憶装
置より読み出す第3の手段と、 該記憶装置から読み出されたオペランドに対して該解読
された第1種の命令が指定する演算を実行する、複数の
演算を実行可能な第1の演算装置と、 該第1の手段で解読された命令が第2種の命令であると
きに、該複数のレジスタのうち、その第2種の命令が指
定するレジスタに保持されたオペランドに対して、該解
読された第2種の命令が指定する演算を実行する、複数
の演算を実行可能な第2の演算装置を有し、 ここで、該第2の演算装置は該アドレス加算器が動作す
るステージと同じステージで動作することを特徴とする
データ処理装置。 - 【請求項2】該第2の演算装置は、該解読された第2種
の命令の後続の命令のために、演算結果を、該アドレス
加算器に供給することを特徴とする請求項1記載のデー
タ処理装置。 - 【請求項3】該第2の演算装置は、該解読された第2種
の命令の後続の命令のために、演算結果を、該第2の演
算装置の入力に供給することを特徴とする請求項1記載
のデータ処理装置。 - 【請求項4】該第2の演算装置は、該第1の手段により
解読された命令が分岐命令であるときに、演算より当該
分岐命令の分岐が成功か否かを判別することを特徴とす
る請求項1記載のデータ処理装置。 - 【請求項5】該第1の演算装置は、 第1の手段により解読された命令が第2種の命令である
とき、その第2種の命令が指定するオペランドが該複数
のレジスタの一つから入力され、 第1の手段により解読された命令が第1種の命令か第2
種の命令であるかに依存せずに、その解読された命令が
指定する演算を実行することを特徴とする請求項1記載
のデータ処理装置。 - 【請求項6】該第1の演算装置は、 該解読された命令が、演算結果を該複数のレジスタのい
ずれか一つに記憶することを要求する命令であるとき、
その命令に対する演算結果を該一つのレジスタに書き込
むことを特徴とする請求項5記載のデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61104641A JPH0827720B2 (ja) | 1986-05-09 | 1986-05-09 | データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61104641A JPH0827720B2 (ja) | 1986-05-09 | 1986-05-09 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS62262141A JPS62262141A (ja) | 1987-11-14 |
JPH0827720B2 true JPH0827720B2 (ja) | 1996-03-21 |
Family
ID=14386077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61104641A Expired - Lifetime JPH0827720B2 (ja) | 1986-05-09 | 1986-05-09 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0827720B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57423U (ja) * | 1980-06-03 | 1982-01-05 | ||
JPS579088A (en) * | 1980-06-17 | 1982-01-18 | Matsushita Electric Ind Co Ltd | Heat controller for electric cooking device |
JPS5890247A (ja) * | 1981-11-25 | 1983-05-28 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理装置のパイプライン制御方式 |
-
1986
- 1986-05-09 JP JP61104641A patent/JPH0827720B2/ja not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57423U (ja) * | 1980-06-03 | 1982-01-05 | ||
JPS579088A (en) * | 1980-06-17 | 1982-01-18 | Matsushita Electric Ind Co Ltd | Heat controller for electric cooking device |
JPS5890247A (ja) * | 1981-11-25 | 1983-05-28 | Nippon Telegr & Teleph Corp <Ntt> | 情報処理装置のパイプライン制御方式 |
Also Published As
Publication number | Publication date |
---|---|
JPS62262141A (ja) | 1987-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4476525A (en) | Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously | |
US5293500A (en) | Parallel processing method and apparatus | |
US4740893A (en) | Method for reducing the time for switching between programs | |
JP2559399B2 (ja) | 情報処理装置 | |
US4745547A (en) | Vector processing | |
US4928226A (en) | Data processor for parallelly executing conflicting instructions | |
JP2539974B2 (ja) | 情報処理装置におけるレジスタの読出制御方式 | |
JPH0769818B2 (ja) | デ−タ処理装置 | |
JPH063584B2 (ja) | 情報処理装置 | |
EP0093430A2 (en) | Pipeline data processing system | |
JPH0743648B2 (ja) | 情報処理装置 | |
JPH10143365A (ja) | 並列処理装置及びその命令発行方式 | |
JP2577023B2 (ja) | 情報処理装置のアドレス拡張制御方式 | |
JPH0827720B2 (ja) | データ処理装置 | |
JPH06168263A (ja) | ベクトル処理装置 | |
JPH0277940A (ja) | データ処理装置 | |
JP2812610B2 (ja) | パイプライン制御方式 | |
JP2591325B2 (ja) | 分岐制御装置 | |
JPH0769800B2 (ja) | データ処理装置 | |
JPH0991139A (ja) | 情報処理装置 | |
JPH031234A (ja) | 情報処理装置 | |
JPS60105050A (ja) | パイプライン制御方式 | |
JPH0248733A (ja) | 情報処理装置 | |
JPS5896346A (ja) | 階層型演算方式 | |
JPH052485A (ja) | パイプライン制御方式 |