JPS59212961A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPS59212961A JPS59212961A JP8575283A JP8575283A JPS59212961A JP S59212961 A JPS59212961 A JP S59212961A JP 8575283 A JP8575283 A JP 8575283A JP 8575283 A JP8575283 A JP 8575283A JP S59212961 A JPS59212961 A JP S59212961A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- unit
- stage
- signal
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 14
- 230000001360 synchronised effect Effects 0.000 claims abstract description 3
- 238000004364 calculation method Methods 0.000 claims description 51
- 238000001514 detection method Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 abstract description 7
- 238000004904 shortening Methods 0.000 abstract 1
- 239000000872 buffer Substances 0.000 description 22
- 230000008859 change Effects 0.000 description 21
- 101100460768 Arabidopsis thaliana NPR5 gene Proteins 0.000 description 14
- 239000008186 active pharmaceutical agent Substances 0.000 description 14
- 101150085700 bop2 gene Proteins 0.000 description 14
- 230000004044 response Effects 0.000 description 14
- 230000003111 delayed effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 8
- 101000984584 Homo sapiens Ribosome biogenesis protein BOP1 Proteins 0.000 description 5
- 102100027055 Ribosome biogenesis protein BOP1 Human genes 0.000 description 5
- 239000011295 pitch Substances 0.000 description 4
- 229910009045 WCl2 Inorganic materials 0.000 description 2
- TXWRERCHRDBNLG-UHFFFAOYSA-N cubane Chemical group C12C3C4C1C1C4C3C12 TXWRERCHRDBNLG-UHFFFAOYSA-N 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 101000887307 Arabidopsis thaliana Short-chain dehydrogenase reductase ATA1 Proteins 0.000 description 1
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 101000713305 Homo sapiens Sodium-coupled neutral amino acid transporter 1 Proteins 0.000 description 1
- 102100036916 Sodium-coupled neutral amino acid transporter 1 Human genes 0.000 description 1
- 229910021549 Vanadium(II) chloride Inorganic materials 0.000 description 1
- 238000004581 coalescence Methods 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- ITAKKORXEUJTBC-UHFFFAOYSA-L vanadium(ii) chloride Chemical compound Cl[V]Cl ITAKKORXEUJTBC-UHFFFAOYSA-L 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02B—INTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
- F02B75/00—Other engines
- F02B75/02—Engines characterised by their cycles, e.g. six-stroke
- F02B2075/022—Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle
- F02B2075/025—Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle two
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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明はパイプライン方式のディジタルコンピュータに
係り、特にアドレスコンフリクト、条件分岐命令の高速
化のだめに主演算装置及び従演算装置とを有する形態の
コンピュータの一層の高速化に好適な階層型演算方式に
関する。
係り、特にアドレスコンフリクト、条件分岐命令の高速
化のだめに主演算装置及び従演算装置とを有する形態の
コンピュータの一層の高速化に好適な階層型演算方式に
関する。
し発明の背景〕
このコンピュータでは、各命令の実行過程を複数のステ
ージに分け、異なる命令の異なるステージを並列に実行
することによ)、実質上複数の命令を並列に実行する。
ージに分け、異なる命令の異なるステージを並列に実行
することによ)、実質上複数の命令を並列に実行する。
しかし、おる命令Bの処理に必要なデータが先行する命
令Aが指定する演算結果を利用して求める場合には、命
令Aの演算結果が確定するまで、命令Bの実行を遅延し
なければならない。例えば命令人が実行されるとインデ
ックスレジスタまたはペースレジスタが書きかえられ、
しかも命令Bはそのインデックスレジスタまたはペース
レジスタの内容と命令B内に含まれるアドレス情報を加
算して主メモリアクセスのためのアドレスを計算する場
合がこれに相当する。このように、先行する命令Aの演
算結果を用いて命令Bの実行のためアドレスを決めなけ
ればならない状態をアドレスコンフリクトかめると呼ぶ
。この場合、命令Bのアドレス計算ステージは、命令A
の演算が終了するまで遅延される。
令Aが指定する演算結果を利用して求める場合には、命
令Aの演算結果が確定するまで、命令Bの実行を遅延し
なければならない。例えば命令人が実行されるとインデ
ックスレジスタまたはペースレジスタが書きかえられ、
しかも命令Bはそのインデックスレジスタまたはペース
レジスタの内容と命令B内に含まれるアドレス情報を加
算して主メモリアクセスのためのアドレスを計算する場
合がこれに相当する。このように、先行する命令Aの演
算結果を用いて命令Bの実行のためアドレスを決めなけ
ればならない状態をアドレスコンフリクトかめると呼ぶ
。この場合、命令Bのアドレス計算ステージは、命令A
の演算が終了するまで遅延される。
先願(%願昭56−194002および特願昭58−
号)の階層型演算方式を用いたコンピュータに
おいては、この遅延を少くするために、すべての命令が
必要とする演算を実行できる主演算装置とは別に、一部
の命令が要求する簡単な演算のみを実行できる従演算装
置とを設けた。この従来例においては、主演算装置での
み演算の実行できる命令Cの演算に要すやるサイクル数
が大きい場合に、この命令Cが主演算装置で実行されて
いる時に、従演算装置ではこの命令Cの演算をスキップ
して次の命令Aの演算を早期に実行し、この結果をさら
に後続の命令Bのアドレス計算におけるインデックスレ
ジスタまたはペースレジスタの内容として用いることに
よって、命令Bのアドレス計算ステージの遅延を少なく
していた。っ−4Dこの従来例において、゛命令Aの従
演算装置における演算が主演算装置における演算よシも
早期に実行できるのは、主演算装置においては命令Cの
演算のために多くのサイクル数(Nlとする)が経過し
た後次命令Aの演算が開始されるのに比して従演算装置
においては命令Cの演算をN1よシ少ないサイクル数(
NSとする)でスキップし、しかもスキップした後、直
ちに次命令Aの演算を開始するからでるる。従って、逆
に命令Cの主演算装置での演算サイクル数Nlが、上記
スキップサイクル数NSに等しい程少い場合や、命令C
が従演算−随においても演算実行を行うためNlと同じ
サイクル数が経過した後に次命令Aの演算が開始される
場合においては、命令Aの従演算装置における演算が主
演算装置における演算よシも早期に実行できることは期
待できない。
号)の階層型演算方式を用いたコンピュータに
おいては、この遅延を少くするために、すべての命令が
必要とする演算を実行できる主演算装置とは別に、一部
の命令が要求する簡単な演算のみを実行できる従演算装
置とを設けた。この従来例においては、主演算装置での
み演算の実行できる命令Cの演算に要すやるサイクル数
が大きい場合に、この命令Cが主演算装置で実行されて
いる時に、従演算装置ではこの命令Cの演算をスキップ
して次の命令Aの演算を早期に実行し、この結果をさら
に後続の命令Bのアドレス計算におけるインデックスレ
ジスタまたはペースレジスタの内容として用いることに
よって、命令Bのアドレス計算ステージの遅延を少なく
していた。っ−4Dこの従来例において、゛命令Aの従
演算装置における演算が主演算装置における演算よシも
早期に実行できるのは、主演算装置においては命令Cの
演算のために多くのサイクル数(Nlとする)が経過し
た後次命令Aの演算が開始されるのに比して従演算装置
においては命令Cの演算をN1よシ少ないサイクル数(
NSとする)でスキップし、しかもスキップした後、直
ちに次命令Aの演算を開始するからでるる。従って、逆
に命令Cの主演算装置での演算サイクル数Nlが、上記
スキップサイクル数NSに等しい程少い場合や、命令C
が従演算−随においても演算実行を行うためNlと同じ
サイクル数が経過した後に次命令Aの演算が開始される
場合においては、命令Aの従演算装置における演算が主
演算装置における演算よシも早期に実行できることは期
待できない。
同じ問題が条件付分岐命令のときにも生ずる。
この命令(以下ではBC命令と呼ぶ)の演算実行サイク
ルにおいて、そのサイクルの条件コードに基き分岐成功
か否かの判定が行われる。従って分岐命令に先行する命
令りによる演算が条件コードを変更する命令のときには
、この先行命令りの演算が終了するまで分岐判定ができ
ない。このように、先行する命令りの演算の終了の後に
BC命令の分岐判定をしなければならない状態を条件コ
ードコンフリクトのめる状態と呼ぶ。この場合、BC命
令の分岐判定は、命令りの演算が終了するまで遅延され
る。
ルにおいて、そのサイクルの条件コードに基き分岐成功
か否かの判定が行われる。従って分岐命令に先行する命
令りによる演算が条件コードを変更する命令のときには
、この先行命令りの演算が終了するまで分岐判定ができ
ない。このように、先行する命令りの演算の終了の後に
BC命令の分岐判定をしなければならない状態を条件コ
ードコンフリクトのめる状態と呼ぶ。この場合、BC命
令の分岐判定は、命令りの演算が終了するまで遅延され
る。
条件コードコンフルクトに伴う、分岐判定の遅延を少な
くするために、上記と同様の階層型演算方式を用いた先
願特願昭56−194001 および特願昭58−
号記載のコンピュータがめった。これにおいても
主演算装置においてのみ演算の実行できる命令Eの演算
に要するサイクル数(Nl)が大きい場合に、この命令
Eが主演算装置で実行されている時に、従演算装置では
この命令Eの演算をNuより少ないサイクル数NSにて
スキップして次の命令りの演算を早期に実行し、この結
果をさらに後続のBC命令の分岐判定に用いることによ
って、分岐判定の遅延を少なくしていfc。この従来例
においても、上記アドレスコンフリクトに階層型演算方
式を適用した場合と同様に、NlがN8に等しい程小さ
い場合や、命令Eが従演算装置においても演算を行う必
要のある場合は、命令りの従演算装置における演算を主
演算に比して早期に行うことは期待できない。
くするために、上記と同様の階層型演算方式を用いた先
願特願昭56−194001 および特願昭58−
号記載のコンピュータがめった。これにおいても
主演算装置においてのみ演算の実行できる命令Eの演算
に要するサイクル数(Nl)が大きい場合に、この命令
Eが主演算装置で実行されている時に、従演算装置では
この命令Eの演算をNuより少ないサイクル数NSにて
スキップして次の命令りの演算を早期に実行し、この結
果をさらに後続のBC命令の分岐判定に用いることによ
って、分岐判定の遅延を少なくしていfc。この従来例
においても、上記アドレスコンフリクトに階層型演算方
式を適用した場合と同様に、NlがN8に等しい程小さ
い場合や、命令Eが従演算装置においても演算を行う必
要のある場合は、命令りの従演算装置における演算を主
演算に比して早期に行うことは期待できない。
本発明の目的は従って従来の階層型演算方式における上
述の問題点を解決し、もってアドレスコンフリクト、条
件コードコンフリクトによる処理の遅延がよシ少ない、
従ってよシ高性能のパイプライン制御のコンピュータを
提供することにある。
述の問題点を解決し、もってアドレスコンフリクト、条
件コードコンフリクトによる処理の遅延がよシ少ない、
従ってよシ高性能のパイプライン制御のコンピュータを
提供することにある。
従来の階層型演算方式においては、演算サイクル数の多
い、従って従演算装置では演算しない命令を高速にスキ
ップすることによって後続命令の演算を早期に従演算装
置にて行うものでめったが、本発明においては、ある命
令の従演算装置での演算サイクル数N2を、該命令の主
演算装置での演算サイクル数Nlに比較して短縮するこ
とによって、また主演算装置においてのみ演算される命
令のうち最も演算サイクル数の短いものについても、従
演算装置において該命令をスキップするために要するサ
イクル数を短縮することによって、上述の従来の階層型
演算方式の問題を解決するものである。
い、従って従演算装置では演算しない命令を高速にスキ
ップすることによって後続命令の演算を早期に従演算装
置にて行うものでめったが、本発明においては、ある命
令の従演算装置での演算サイクル数N2を、該命令の主
演算装置での演算サイクル数Nlに比較して短縮するこ
とによって、また主演算装置においてのみ演算される命
令のうち最も演算サイクル数の短いものについても、従
演算装置において該命令をスキップするために要するサ
イクル数を短縮することによって、上述の従来の階層型
演算方式の問題を解決するものである。
主演算装置に対して従演算装置をよシ高速に動作させる
ことは、後者をよシ高速の回路にて構成すること、ある
いは、さらに後者の論理規模が小さいことに着目して後
@を高集積度実装系を用いて構成することによって実現
可能である。
ことは、後者をよシ高速の回路にて構成すること、ある
いは、さらに後者の論理規模が小さいことに着目して後
@を高集積度実装系を用いて構成することによって実現
可能である。
動作ピッチの異る2つの演算装置を含むデータ処理装置
を構成する場合には、各ピンチの公約数をピンチとする
タイミングパルスによって全体を同期化することが容易
な方法であυ、さらに緒々の制御信号の信号幅をすべて
同一とすることが論理構成を容易とする。具体例として
、主演算装置が2サイクルピツチ、従演算装置を含むそ
の他の部分が1サイクルピンチで命令を処理できるデー
タ処理装置においては、全体を1サイクルピンチのタイ
ミングパルスを用いて同期化し、しがも緒々の制御信号
の信号幅をすべてlサイクルとして構成することがよい
。従って主演算装置における演算終了信号は1回の発行
において、1サイクルの間オンでアシ、次の1サイクル
はオフとなるよう構成される。
を構成する場合には、各ピンチの公約数をピンチとする
タイミングパルスによって全体を同期化することが容易
な方法であυ、さらに緒々の制御信号の信号幅をすべて
同一とすることが論理構成を容易とする。具体例として
、主演算装置が2サイクルピツチ、従演算装置を含むそ
の他の部分が1サイクルピンチで命令を処理できるデー
タ処理装置においては、全体を1サイクルピンチのタイ
ミングパルスを用いて同期化し、しがも緒々の制御信号
の信号幅をすべてlサイクルとして構成することがよい
。従って主演算装置における演算終了信号は1回の発行
において、1サイクルの間オンでアシ、次の1サイクル
はオフとなるよう構成される。
し装置の概要〕
6A、6Bは命令バッファ、8はこれらの命令バッファ
の一方から命令を選択的に読出すための読出し回路、1
oは命令レジスタ、12は命令デコーダ、50oはデコ
ードされた情報を受は取るレジスタ、14はデコーダ1
2がらの解読情報を格納するだめのレジスタ及び命令キ
ューレジスタであム 14はここでは3つの命令の解読
情報を格納するために3つのレジスタからなる。16A
は命令キューレジスタ14内の命令を選択するためのセ
レクタであり、20Aはセレクタ16Aで選択された命
令の演算を実行するための第1演算実行ユニットである
(以下i1Eユニットと略する)。このユニット20A
はこのコンピュータが実行するすべ1の命令が指定する
演算を実行できるように構成されている。18Aは、第
1Eユニツ)20Aに供給するオペランドあるいはそこ
からの演算結果を格納するだめの第1の汎用レジスタで
あシ、22Aは、命令の実行を制御する第1の命令制御
ユニット(以下第1■ユニツトと呼ぶ)でるる。
の一方から命令を選択的に読出すための読出し回路、1
oは命令レジスタ、12は命令デコーダ、50oはデコ
ードされた情報を受は取るレジスタ、14はデコーダ1
2がらの解読情報を格納するだめのレジスタ及び命令キ
ューレジスタであム 14はここでは3つの命令の解読
情報を格納するために3つのレジスタからなる。16A
は命令キューレジスタ14内の命令を選択するためのセ
レクタであり、20Aはセレクタ16Aで選択された命
令の演算を実行するための第1演算実行ユニットである
(以下i1Eユニットと略する)。このユニット20A
はこのコンピュータが実行するすべ1の命令が指定する
演算を実行できるように構成されている。18Aは、第
1Eユニツ)20Aに供給するオペランドあるいはそこ
からの演算結果を格納するだめの第1の汎用レジスタで
あシ、22Aは、命令の実行を制御する第1の命令制御
ユニット(以下第1■ユニツトと呼ぶ)でるる。
24は演算に必要なメモリオペランドのアドレスを算出
するためのアドレスが加算器でめシ、26はメインメモ
リ、もしくはその一部の写しを記憶するキャッシュ記憶
、28は26から読出されたメモリオペランドを格納す
るオペランドキューバソファであり、命令キューレジス
タ141/q格納される三つの命令に対応する三つのオ
ペランドを格納するための三つのバッファからなる。セ
レクタ30Aはバッファ28のオペランドケ選択しりで
ある。以上の回路は、パイプライン方式にょシ命令の実
行を行うのに基本的なものである。
するためのアドレスが加算器でめシ、26はメインメモ
リ、もしくはその一部の写しを記憶するキャッシュ記憶
、28は26から読出されたメモリオペランドを格納す
るオペランドキューバソファであり、命令キューレジス
タ141/q格納される三つの命令に対応する三つのオ
ペランドを格納するための三つのバッファからなる。セ
レクタ30Aはバッファ28のオペランドケ選択しりで
ある。以上の回路は、パイプライン方式にょシ命令の実
行を行うのに基本的なものである。
本実施例では以上の他に、第2演算実行ユニッ)20B
(以下、第2Eユニツトと呼ぶ)と、このユニツ)20
Bが実行すべき命令の解読情報を命令キューレジスタ1
4から選択するためのセレクタ16Bと、第2Eユニツ
ト20Bに送るべきオペランドあるいはこのユニットの
演算結果を格納するための第2の汎用レジスタ18Bと
、第2Eユニツト20Bが必要とするメモリオペランド
をオペランドキューバッファ28から選択するためのセ
レクタ30Bと、第2Eユニツト20Bの実行を制御す
る第2命令制御ユニツト(コルF8単に第2■ユニツト
と呼ぶ)22Bと、第1.第2F、:x−二yト20A
、20Bから出力される条件コードを記憶するためのレ
ジスタ34A、34Bと、パイプライン的に流れて実行
される複数の命令間のアドレスコンフリクトおよび条件
コードコンフリクトをそれぞれ検出する回路32.36
が設けられている。
(以下、第2Eユニツトと呼ぶ)と、このユニツ)20
Bが実行すべき命令の解読情報を命令キューレジスタ1
4から選択するためのセレクタ16Bと、第2Eユニツ
ト20Bに送るべきオペランドあるいはこのユニットの
演算結果を格納するための第2の汎用レジスタ18Bと
、第2Eユニツト20Bが必要とするメモリオペランド
をオペランドキューバッファ28から選択するためのセ
レクタ30Bと、第2Eユニツト20Bの実行を制御す
る第2命令制御ユニツト(コルF8単に第2■ユニツト
と呼ぶ)22Bと、第1.第2F、:x−二yト20A
、20Bから出力される条件コードを記憶するためのレ
ジスタ34A、34Bと、パイプライン的に流れて実行
される複数の命令間のアドレスコンフリクトおよび条件
コードコンフリクトをそれぞれ検出する回路32.36
が設けられている。
第2Eユニツ)20Bは比較的簡単な演算、たとえば加
算、減算等を行う。本実施例では、このユニットは簡単
化のために1マシンサイクルで終了する演算のみを実行
するように構成されている。
算、減算等を行う。本実施例では、このユニットは簡単
化のために1マシンサイクルで終了する演算のみを実行
するように構成されている。
しかし、以下の説明からも明らかになるごとく、本発明
はこのような第2Eユニツトのみに限られるもので’f
iln。第2Eユニツ)、20 Bは比較的簡単な演算
を高速に実行するためのものであるから、第1Eユニツ
ト20Aよシも、第2の汎用レジスタ18Bとオペラン
ドキューバッファ28の近くに設けることが望ましい。
はこのような第2Eユニツトのみに限られるもので’f
iln。第2Eユニツ)、20 Bは比較的簡単な演算
を高速に実行するためのものであるから、第1Eユニツ
ト20Aよシも、第2の汎用レジスタ18Bとオペラン
ドキューバッファ28の近くに設けることが望ましい。
また、第1.第2の汎用レジスタ18A、18Bは互い
に同じ数のレジスタからなる。
に同じ数のレジスタからなる。
この装置においては、全命令は第1Eユニツト20Aに
より実行される。一方、これらの命令の内汎用レジスタ
18Aを薔きかえる命令で第2E”=7)20Bで実行
可能な命令はこの第2Eユニツト20Bでも実行される
。したがって、このような命令は第1.第2Eユニット
2OA、20Bの両方で実行される。4しかし、第1.
第2Eユニン)20A、20Bでの同じ命令に対する同
じ演算は異なるタイミングで起動可能になっている。
より実行される。一方、これらの命令の内汎用レジスタ
18Aを薔きかえる命令で第2E”=7)20Bで実行
可能な命令はこの第2Eユニツト20Bでも実行される
。したがって、このような命令は第1.第2Eユニット
2OA、20Bの両方で実行される。4しかし、第1.
第2Eユニン)20A、20Bでの同じ命令に対する同
じ演算は異なるタイミングで起動可能になっている。
すなわち、第1.第2Eユニット20A、20Bがそれ
ぞれ必要とする解読情報を別々に供給する”ために二つ
のセレクタ16A、16Bが設けられ、また、これらの
ユニット20A、20Bがそれぞれ必要とするメモリオ
ペランドを別々に供給するために二つのセレクタ30A
、30Bが設けられ、第1 B:”=7 ) 20A、
セレクタ16A、30Aは第1エユニン)22Aによ多
制御され、第2Eユニツト20B1セレクタ16B、3
0Bは第2■ユニツト22Bにより制御されるようにな
っている。この結果、ある命令の第1Eユニツ)20A
での実行ができない状態においても、その命令の第2E
ユニツト20Bでの実行が可能となシ、これによシ、ア
ドレスコンフリクト又は条件コードコンフリクトの解消
が早められるようになっている。
ぞれ必要とする解読情報を別々に供給する”ために二つ
のセレクタ16A、16Bが設けられ、また、これらの
ユニット20A、20Bがそれぞれ必要とするメモリオ
ペランドを別々に供給するために二つのセレクタ30A
、30Bが設けられ、第1 B:”=7 ) 20A、
セレクタ16A、30Aは第1エユニン)22Aによ多
制御され、第2Eユニツト20B1セレクタ16B、3
0Bは第2■ユニツト22Bにより制御されるようにな
っている。この結果、ある命令の第1Eユニツ)20A
での実行ができない状態においても、その命令の第2E
ユニツト20Bでの実行が可能となシ、これによシ、ア
ドレスコンフリクト又は条件コードコンフリクトの解消
が早められるようになっている。
本装置で用いる命令は、(株)日立製作所Mシリーズコ
ンピュータあるいは米国IBM社370シリーズコンピ
ュータで用いられるのと同じものである。これらの命令
はいくつかのフォーマットに分類されるが、第3A図に
本発明の理解に必要な一つのフォーマットを示す。この
フォーマットを持つ命令の例は、加算、ロード命令で、
それぞれ、簡単のためにA、L命令と以下では称する。
ンピュータあるいは米国IBM社370シリーズコンピ
ュータで用いられるのと同じものである。これらの命令
はいくつかのフォーマットに分類されるが、第3A図に
本発明の理解に必要な一つのフォーマットを示す。この
フォーマットを持つ命令の例は、加算、ロード命令で、
それぞれ、簡単のためにA、L命令と以下では称する。
これらの命令のピット0−7はオペレーションコード(
OPCODE)を表し、ビット8−11はレジスタ部(
R)で1)、A命令では演算のために読出すべきオペラ
ンドが格納されている汎用レジスタ番号を示し、かつ、
演算結果が格納されるレジスタ番号をも示している。ま
た、L命令ではこのレジスタ部は、演算結果全格納すべ
きレジスタ番号を示す。ビン)12−15および16−
19はそれぞれインデックス部(X)、ベース部(B)
であシ、それぞれ主メモリ26から読出すべきストレジ
オペランドのアドレス算出に用いる汎用レジスタの番号
を示す。以下ではレジスタ部、号をそれぞれオペランド
レジスタ番号Rop、インデックスレジスタ番号R1よ
、ペンスレジスタ番号Rmと呼ぶことにする6さらに、
ピット20−31は、上記アドレス算出に用いられる偏
位値DISPを示すディスプレースメント部(D)であ
る。
OPCODE)を表し、ビット8−11はレジスタ部(
R)で1)、A命令では演算のために読出すべきオペラ
ンドが格納されている汎用レジスタ番号を示し、かつ、
演算結果が格納されるレジスタ番号をも示している。ま
た、L命令ではこのレジスタ部は、演算結果全格納すべ
きレジスタ番号を示す。ビン)12−15および16−
19はそれぞれインデックス部(X)、ベース部(B)
であシ、それぞれ主メモリ26から読出すべきストレジ
オペランドのアドレス算出に用いる汎用レジスタの番号
を示す。以下ではレジスタ部、号をそれぞれオペランド
レジスタ番号Rop、インデックスレジスタ番号R1よ
、ペンスレジスタ番号Rmと呼ぶことにする6さらに、
ピット20−31は、上記アドレス算出に用いられる偏
位値DISPを示すディスプレースメント部(D)であ
る。
第3B図はBC命令の命令フォーマットを示す。
このフォーマットのビット5−iiはマスク部(M)で
あシ、分岐成功となる条件コードの値を指定するもので
ある。
あシ、分岐成功となる条件コードの値を指定するもので
ある。
BC命令のインデックス部(X)、ペース部(B)、偏
位置DISPは、主メモリ26から読み出すべき分岐先
命令のアドレスを計算に用いられる。
位置DISPは、主メモリ26から読み出すべき分岐先
命令のアドレスを計算に用いられる。
以下の実施例においてはA、L、BC命令のみを用いて
説明する。この内、第2Eユニツ)20Bで実行可能な
命令はA、L命令であり、また、条件コードを薔きかえ
る命令は人命令である。
説明する。この内、第2Eユニツ)20Bで実行可能な
命令はA、L命令であり、また、条件コードを薔きかえ
る命令は人命令である。
命令バッファ6A、6Bの一方は、現在処理されようと
している命令を含む、メモリ上の連続した命令列(メイ
ンストリームと呼ぶ)を格納するために用いられ、他方
は、メインストリーム上の分岐命令の処理が開始された
後にその分岐先命令から始まるメモリ上の連続した命令
列(ターゲット2ドリームと呼ぶ)を格納するのに用い
られる。
している命令を含む、メモリ上の連続した命令列(メイ
ンストリームと呼ぶ)を格納するために用いられ、他方
は、メインストリーム上の分岐命令の処理が開始された
後にその分岐先命令から始まるメモリ上の連続した命令
列(ターゲット2ドリームと呼ぶ)を格納するのに用い
られる。
処理された分岐命令が分岐成功と判定され、分岐先命令
の処理が始まると、それまでターゲットストリームとさ
れていた命令列はその後はメインストリームとみなされ
る。このように分岐命令が分岐成功となる度にメインス
トリームを格納する命令バッファは切り換わる。主メモ
リ26からの命令列のフェッチおよびバッファ6A、6
Bへの命令列の格納の制御は命令フェッチ回路(図示せ
ず)によシ実施される。読出し回路8はバッファ6A。
の処理が始まると、それまでターゲットストリームとさ
れていた命令列はその後はメインストリームとみなされ
る。このように分岐命令が分岐成功となる度にメインス
トリームを格納する命令バッファは切り換わる。主メモ
リ26からの命令列のフェッチおよびバッファ6A、6
Bへの命令列の格納の制御は命令フェッチ回路(図示せ
ず)によシ実施される。読出し回路8はバッファ6A。
6Bの内、現在メインストリームを格納しているものか
ら、命令を順次選択して順次命令レジスタ10に送出す
る。この読出し回路8はクリップフロップ9の値が1か
0によシバッファ6A、6Bを選択スる。このフリップ
70ツブ9は、後述するように分岐成功信号BCTKN
が1となるごとにその値をかえる。
ら、命令を順次選択して順次命令レジスタ10に送出す
る。この読出し回路8はクリップフロップ9の値が1か
0によシバッファ6A、6Bを選択スる。このフリップ
70ツブ9は、後述するように分岐成功信号BCTKN
が1となるごとにその値をかえる。
命令レジスタ10には、後述するように、命令レジスタ
10内の命令のDステージが実行されるごとに、制御回
路(図示せず)によシ、読出し回路8の出力命令がセッ
トされる。
10内の命令のDステージが実行されるごとに、制御回
路(図示せず)によシ、読出し回路8の出力命令がセッ
トされる。
(命令実行動作の概要)
階層型演算方式を適用したコンピュータの例として、先
願特願昭58− 号に掲げたものを考えると、そ
れにおけるLoad命令の実行ステージは第9D図のよ
うである。すなわち、命令のデコード及びアドレス計算
のためのDステージ、オペランドあるいは分岐先命令の
読み出しのためのAステージ、第1.fiJ2Eユニッ
トへのセットアツプのためのLl、、L2ステージ、第
1.第2Eユニツトにおける演算のためのEl、E2ス
テージ、第1.第2汎用レジスタへの演算結果の書き込
みのためのPI、P2ステージからなる。上記従来例に
おいて、上記の各ステージはそれぞれ1マシンサイクル
を要する。
願特願昭58− 号に掲げたものを考えると、そ
れにおけるLoad命令の実行ステージは第9D図のよ
うである。すなわち、命令のデコード及びアドレス計算
のためのDステージ、オペランドあるいは分岐先命令の
読み出しのためのAステージ、第1.fiJ2Eユニッ
トへのセットアツプのためのLl、、L2ステージ、第
1.第2Eユニツトにおける演算のためのEl、E2ス
テージ、第1.第2汎用レジスタへの演算結果の書き込
みのためのPI、P2ステージからなる。上記従来例に
おいて、上記の各ステージはそれぞれ1マシンサイクル
を要する。
一方本発明の実施例におけるJ、oad命令の実行ステ
ージは第9E図のようである。すなわち命令のデコード
及びアドレス計算のためのり、D’ステージ、オペラン
ドあるいは分岐先命令の読み出しのためのA、A’ステ
ージ、第1.第2Bユニツトへのセットアツプのための
Ll、L2ステージ、第1.第2Eユニツトにおける演
算のためのEl、E2ステージ、xi、第2汎用レジス
タへの演算結果の書き込みのためのPI、P2ステージ
からなる。すなわち上記従来例におけるDステージでの
処理が本実施例におけるり、D’ステージでの処理に、
またAステージが4.A’ステージに対応する。ここで
本実施例においては上記従来例におけるタイミングパル
スTOの1/2のピンチのタイミングパルスTO’を用
いることとし、従って、マシンサイクルは1/2とした
ものとする。従って本実施例において、D、 D’ 、
A、A’。
ージは第9E図のようである。すなわち命令のデコード
及びアドレス計算のためのり、D’ステージ、オペラン
ドあるいは分岐先命令の読み出しのためのA、A’ステ
ージ、第1.第2Bユニツトへのセットアツプのための
Ll、L2ステージ、第1.第2Eユニツトにおける演
算のためのEl、E2ステージ、xi、第2汎用レジス
タへの演算結果の書き込みのためのPI、P2ステージ
からなる。すなわち上記従来例におけるDステージでの
処理が本実施例におけるり、D’ステージでの処理に、
またAステージが4.A’ステージに対応する。ここで
本実施例においては上記従来例におけるタイミングパル
スTOの1/2のピンチのタイミングパルスTO’を用
いることとし、従って、マシンサイクルは1/2とした
ものとする。従って本実施例において、D、 D’ 、
A、A’。
L2.E2.P2の各ステージはそれぞれ1マシンサイ
クルずつ要し、Ll、El、PIは2マシここで注意す
べきことは、上記従来例と本実施例とではマシンサイク
ルは後者が1/2と短縮されているものの、命令°デコ
ード及びアドレス計算のステージ(Dとり、D’ )、
オペランド等の読み出しステージ(AとA、A’ )、
第1Eユニツトへのセットアンプステージ(それぞれL
l)、第1Eユニツトでの演算ステージ(それぞれEl
、)第1汎用レジスタへの演’14−M釆への書き込み
ステージ(それぞれPi)については、実時間は同じで
るる。従ってこれらの論理回路の構成にあたっては、従
来例においても本実施例においても、同等レベルの回路
、実装技術を用いて実現することが可能と言える。
クルずつ要し、Ll、El、PIは2マシここで注意す
べきことは、上記従来例と本実施例とではマシンサイク
ルは後者が1/2と短縮されているものの、命令°デコ
ード及びアドレス計算のステージ(Dとり、D’ )、
オペランド等の読み出しステージ(AとA、A’ )、
第1Eユニツトへのセットアンプステージ(それぞれL
l)、第1Eユニツトでの演算ステージ(それぞれEl
、)第1汎用レジスタへの演’14−M釆への書き込み
ステージ(それぞれPi)については、実時間は同じで
るる。従ってこれらの論理回路の構成にあたっては、従
来例においても本実施例においても、同等レベルの回路
、実装技術を用いて実現することが可能と言える。
一方、本実施例において、L2.E2.P2の各ステー
ジはlマシンサイクルずつで実行可能とする7ヒめ、従
来例におけるL2.E2.P2ステージに比較して、l
/2の実時間で処理することとなる。これは、L2.E
2.P2の実行に係るのが、tlぼ、第2エユニツト、
第2Eユニツト、第2汎用レジスタに限られるため、そ
の論理規倶の全体に占める割合が小さく、従って全体の
中の極く限られた空間に配置することが可能であること
ゆえ実現できる。あるいは、これら3つの論理のみ高性
能の回路、実装技術を用いて構成することによっても実
現できる。この場合でも、この高性能の回路、実装技術
が周辺論理に比較して高価でめっても、全体に占める割
合が小さいことから、装置全体の価格上昇への影響は少
なくすることが可能である。
ジはlマシンサイクルずつで実行可能とする7ヒめ、従
来例におけるL2.E2.P2ステージに比較して、l
/2の実時間で処理することとなる。これは、L2.E
2.P2の実行に係るのが、tlぼ、第2エユニツト、
第2Eユニツト、第2汎用レジスタに限られるため、そ
の論理規倶の全体に占める割合が小さく、従って全体の
中の極く限られた空間に配置することが可能であること
ゆえ実現できる。あるいは、これら3つの論理のみ高性
能の回路、実装技術を用いて構成することによっても実
現できる。この場合でも、この高性能の回路、実装技術
が周辺論理に比較して高価でめっても、全体に占める割
合が小さいことから、装置全体の価格上昇への影響は少
なくすることが可能である。
命令レジスタlOにセットされた命令は、次のステージ
に分けて実行される。
に分けて実行される。
(D、D’ステージ)
これは命令の解読とアドレス計算のステージである。す
なわち、命令レジスタ1θ内の命令をデコーダ12で解
読し解読情報を生成し、これを命令キューレジスタ14
内の一つのレジスタにセットする。芒らに、命令レジス
タ10内の命令のペースレジスタN号R,n 、インデ
ックスレジスタ番号n□が第2汎用レジスタ、18Bに
線4oを介して入力きれる。これらのレジスタ番号に基
づいて汎用レジスタ18Bから読出された二つのデータ
は線47を介して加算器24に入力され、線40を介し
て命令レジスタlOから入力される偏位DISPと加算
される。こうしてアドレスが計算される。
なわち、命令レジスタ1θ内の命令をデコーダ12で解
読し解読情報を生成し、これを命令キューレジスタ14
内の一つのレジスタにセットする。芒らに、命令レジス
タ10内の命令のペースレジスタN号R,n 、インデ
ックスレジスタ番号n□が第2汎用レジスタ、18Bに
線4oを介して入力きれる。これらのレジスタ番号に基
づいて汎用レジスタ18Bから読出された二つのデータ
は線47を介して加算器24に入力され、線40を介し
て命令レジスタlOから入力される偏位DISPと加算
される。こうしてアドレスが計算される。
なお、本実施例においてデコーダ12は、命令のOP
C0DEとオペランドレジスタ番号几OPに基づき、次
の情報を解読情報として線42に出力する。
C0DEとオペランドレジスタ番号几OPに基づき、次
の情報を解読情報として線42に出力する。
(1) OF C0DE
(2)R,Rニオペランド読出しレジスタ番号で上述の
人命令ではオペランドレジスタ番号 Ropに等しい。
人命令ではオペランドレジスタ番号 Ropに等しい。
(3) RW :演算結果を書込むレジスタ番号で上
述2つの命令ではオペランドレジスタ番 号几OPに等しい。
述2つの命令ではオペランドレジスタ番 号几OPに等しい。
(4) 5tJBG几:演算結果を汎用レジスタに格
納すべき命令の内、第2Eユニツト20B で実行可能な命令かどうかを示す第 −2演算表示信号
。たとえば、A′。
納すべき命令の内、第2Eユニツト20B で実行可能な命令かどうかを示す第 −2演算表示信号
。たとえば、A′。
L命令のときにこの信号が1.!:なる。
(5) CHGGR:演算結果を汎用レジスタに格納
すべき命令であることを示すレジス タ変更表示信号。たとえば、A。
すべき命令であることを示すレジス タ変更表示信号。たとえば、A。
L命令のときにこの信号が1とな
る。
(6) 8UBCC:条件コードを変更する命令の内
、第2Eユニツト20Bにおいて実 行可能な命令であることを示す第 2演算表示信号。たとえば人命令 のときにこの信号が1となる。
、第2Eユニツト20Bにおいて実 行可能な命令であることを示す第 2演算表示信号。たとえば人命令 のときにこの信号が1となる。
(7)CHGCC:条件コードを変更する命令である′
ことを示すCC変更表示信号。た とえば、人命令のときにこの信号 はlとなる。
ことを示すCC変更表示信号。た とえば、人命令のときにこの信号 はlとなる。
(8)BC:BC命令であることを示すBC命令表示信
号。
号。
(9)MA8に:BC命令のマスク部そのもの。
なお、デコーダ12はこれら以外の、命令実行制御に必
要な解読情報を生成するが、これは従来技術と同口であ
シ、また本発明に直接関係がないため説明を省く。
要な解読情報を生成するが、これは従来技術と同口であ
シ、また本発明に直接関係がないため説明を省く。
なお、このり、D’ステージはそれぞれlマシンサイク
ルで終了する。
ルで終了する。
(A、A’ステージ)
D、D’ステージで計算されたメモリアドレスに基づき
、主メモリ25からオペランドを読出し、オペランドキ
ューバンファ28の一つのバッファに格納する。このA
、A’ステージもそれぞれlマシンサイクルで終了する
。
、主メモリ25からオペランドを読出し、オペランドキ
ューバンファ28の一つのバッファに格納する。このA
、A’ステージもそれぞれlマシンサイクルで終了する
。
(Llステージ)
第1Eユニツ)20Aに命令の解読情報と演算に必要な
レジヌタオペランドとメモリオペランド全セットする。
レジヌタオペランドとメモリオペランド全セットする。
すなわち、セレクタ16Aによシ実行すべき命令の解読
情報を選択して、線44Aに出力する。選択された解読
情報の内、読出しレジスタ番号RRは第1汎用レジスタ
18Aに入力され、これに基づき必要なオペランドRD
ATA 1が読出され、このオペランドが線46Aを介
して第1Eユニン)20Aに送られる。一方、解読情報
の内、OP C0DE 、書込みレジスタ番号RIW%
第2演算表示信号5UBGR,レジスタ変更表示信号C
HGGR、条件コード変更表示信号CHGCC。
情報を選択して、線44Aに出力する。選択された解読
情報の内、読出しレジスタ番号RRは第1汎用レジスタ
18Aに入力され、これに基づき必要なオペランドRD
ATA 1が読出され、このオペランドが線46Aを介
して第1Eユニン)20Aに送られる。一方、解読情報
の内、OP C0DE 、書込みレジスタ番号RIW%
第2演算表示信号5UBGR,レジスタ変更表示信号C
HGGR、条件コード変更表示信号CHGCC。
は第1Eユニツ)20Aに送出される。さらに、セレク
タ30Aは、オペランドキューノくラフ728から必要
なメモリオペランドMDATAIを選択して線45Af
fi介して第1.Eユニット20Aに送出する。第1E
ユニツト20Aはこうして入力されたいろいろのデータ
會内部のレジスタに取り込む。このステージは2マシン
サイクルが実行される。
タ30Aは、オペランドキューノくラフ728から必要
なメモリオペランドMDATAIを選択して線45Af
fi介して第1.Eユニット20Aに送出する。第1E
ユニツト20Aはこうして入力されたいろいろのデータ
會内部のレジスタに取り込む。このステージは2マシン
サイクルが実行される。
(Elステージ)
第1Eユニツ)20AがLLステージで取シ込まれたデ
ータに基づき所望の演算を実行し、結果WDATAI
を線50Aに出力する。このとき、同時に、すでに取り
込まれた書込みレジスタ番号Rw1第1汎用レジスタの
書込み信号WC1力E出力される。
ータに基づき所望の演算を実行し、結果WDATAI
を線50Aに出力する。このとき、同時に、すでに取り
込まれた書込みレジスタ番号Rw1第1汎用レジスタの
書込み信号WC1力E出力される。
また、演算が条件コードを変更すべきもののときには演
算結果に依存して条件コードCCIを算出し、このコー
ドCC1とセット指示信号5ETlが線70Aに出力さ
れる。
算結果に依存して条件コードCCIを算出し、このコー
ドCC1とセット指示信号5ETlが線70Aに出力さ
れる。
なお、このステージが要するマシンサイクル数は2マシ
ンサイクルである。命令の種類により、2ステ一ジ以上
Elステージを要するものがある。
ンサイクルである。命令の種類により、2ステ一ジ以上
Elステージを要するものがある。
従って、最も短かい演算は2マシンサイクルで終了し、
長いものは20倍数マシンサイクルにて終了する。なお
、このE1ステージに属するステージの最後のステージ
の前半のマシンサイクルには演算終了信号EOPIが4
8Aに出力される。したがって、最短の2マシンサイク
ルで終了する演算の場合、演算を開始したサイクルで信
号EOPIが出力される。
長いものは20倍数マシンサイクルにて終了する。なお
、このE1ステージに属するステージの最後のステージ
の前半のマシンサイクルには演算終了信号EOPIが4
8Aに出力される。したがって、最短の2マシンサイク
ルで終了する演算の場合、演算を開始したサイクルで信
号EOPIが出力される。
(PIステージ)
E1ステージで求められた演算結果WDATA 1は、
書込みレジスタ番号、Rwで示される、第1汎用レジス
タ18A内のレジスタに書き込まれる。
書込みレジスタ番号、Rwで示される、第1汎用レジス
タ18A内のレジスタに書き込まれる。
この演算が第2Eユニン)20Bで実行できない演算の
ときには、演算結果WDATA1.書込みしジスタ番号
Rwが、第2汎用レジスタ18Bにも入力され、同様の
書込みが行なわれる。第2汎用レジスタ18Bはすでに
述べたごとく、第2Eユニツ)20Bによる演算結果W
DATA2を書込むようになっているが、第2Eユニツ
ト2oBilニ一部の演算しか実行できない。したがっ
て、第1゜第2の汎用レジスタ18A、18Bの内容の
不一致が生じる。第1Eユニツ)2OAによる演算結果
WT)ATA lを第2汎用レジヌタ18Bにも書込む
ことにより、この不一致の発生を防止できる。
ときには、演算結果WDATA1.書込みしジスタ番号
Rwが、第2汎用レジスタ18Bにも入力され、同様の
書込みが行なわれる。第2汎用レジスタ18Bはすでに
述べたごとく、第2Eユニツ)20Bによる演算結果W
DATA2を書込むようになっているが、第2Eユニツ
ト2oBilニ一部の演算しか実行できない。したがっ
て、第1゜第2の汎用レジスタ18A、18Bの内容の
不一致が生じる。第1Eユニツ)2OAによる演算結果
WT)ATA lを第2汎用レジヌタ18Bにも書込む
ことにより、この不一致の発生を防止できる。
したがって、第2汎用レジスタを前述のアドレス計算に
用いても不都合が生じない。また、条件コードを変更す
る演算のときには、算出された条件コードCC1がセン
ト信号5ETlに応答してレジスタ34Aにセットされ
る。なお、このPiステージはElステージにつづく2
マシンサイクルで終了する。
用いても不都合が生じない。また、条件コードを変更す
る演算のときには、算出された条件コードCC1がセン
ト信号5ETlに応答してレジスタ34Aにセットされ
る。なお、このPiステージはElステージにつづく2
マシンサイクルで終了する。
以上のようにして、一つの命令の実行が終了する。しか
し、第2Eユニツト20Bで実行可能でかつ汎用レジス
タもしくは条件コードを書きかえる命令は第2Eユニツ
ト20Bでも実行されるためこれらのステージで説明さ
れる動作以外に次のステージも実行される。
し、第2Eユニツト20Bで実行可能でかつ汎用レジス
タもしくは条件コードを書きかえる命令は第2Eユニツ
ト20Bでも実行されるためこれらのステージで説明さ
れる動作以外に次のステージも実行される。
(L2ステージ)
第2Eユニツ)20Bに演算に必要な解読情報、レジス
タオペランド、メモリオペランドをセットする。すなわ
ち、セレクタ16Bによシ実行すべき命令の解読情報を
選択して、線44Bに出力する。選択された解読情報の
内、読出しレジスタ番号RRは第2汎用レジスタ18B
に入力され、これに基づき必要なオペランドRDATA
2が読出され、このオペランドが線46Bを介して第2
Eユニツ)20Bに送られる。一方、解読情報の内、0
PCODE、書込みレジスタ番号RW%第2演算表示信
号8UBGR,5UBCC,条件コード変更表示信号C
HGCC,は第2Eユニツト20Bに送出される。さら
に、セレクタ30Bは、オペランドキューバッファ28
から必要なメモリオペランドMDATA2を選択して線
45Bを介して第2Eユニツト20Bに送出する。第2
Eユニツ)20Bはこつして入力されたいろいろのデー
タを内部のレジスタ番号す込む。このステージは1マシ
ンサイクルで実行される。
タオペランド、メモリオペランドをセットする。すなわ
ち、セレクタ16Bによシ実行すべき命令の解読情報を
選択して、線44Bに出力する。選択された解読情報の
内、読出しレジスタ番号RRは第2汎用レジスタ18B
に入力され、これに基づき必要なオペランドRDATA
2が読出され、このオペランドが線46Bを介して第2
Eユニツ)20Bに送られる。一方、解読情報の内、0
PCODE、書込みレジスタ番号RW%第2演算表示信
号8UBGR,5UBCC,条件コード変更表示信号C
HGCC,は第2Eユニツト20Bに送出される。さら
に、セレクタ30Bは、オペランドキューバッファ28
から必要なメモリオペランドMDATA2を選択して線
45Bを介して第2Eユニツト20Bに送出する。第2
Eユニツ)20Bはこつして入力されたいろいろのデー
タを内部のレジスタ番号す込む。このステージは1マシ
ンサイクルで実行される。
(E2ステージ)
L2第2演算ユニット20BがL2ヌテージで取シ込ま
れたデータに基づき所望の演算を実行し、結果WDAT
A 2を線50Bに出力する。このとき、同時に、すで
に取シ込まれた書込みレジスタ番号Rwも出力される。
れたデータに基づき所望の演算を実行し、結果WDAT
A 2を線50Bに出力する。このとき、同時に、すで
に取シ込まれた書込みレジスタ番号Rwも出力される。
さらにこのとき、演算が条件コードを書きかえる命令の
ときには条件コードCC2が嘗4出される。
ときには条件コードCC2が嘗4出される。
なお、第2Eユニツト20Bは比較的簡単な演算、たと
えば、加算、減算、ロード等のみを1マシンサイクルで
行なうもので、極く少ない数にて構成され乗算等のやや
複雑な演算は行いえないものと仮定している。したがっ
て、このE2ステージFilマシンサイクルで終了する
。一般的には、i2Eユニッ)20Bは以上のものに限
定されないので、このE2ステージは第2Eユニツト2
0Bが実行する演算によシ異なるマシンサイクルで終了
すればよい。その場合、そのステージの最終サイクルで
は演算終了信号EOP2が出力されるので、この最後の
サイクルをEOIP2サイクルと呼ぶことができる。し
たがって、現在、仮定しているように、第2Eユニツ)
20Bは必らずlマシンサイクルで終了する演算のみを
行う場合には、このE2ステージはEOP2サイクルの
みからなる。
えば、加算、減算、ロード等のみを1マシンサイクルで
行なうもので、極く少ない数にて構成され乗算等のやや
複雑な演算は行いえないものと仮定している。したがっ
て、このE2ステージFilマシンサイクルで終了する
。一般的には、i2Eユニッ)20Bは以上のものに限
定されないので、このE2ステージは第2Eユニツト2
0Bが実行する演算によシ異なるマシンサイクルで終了
すればよい。その場合、そのステージの最終サイクルで
は演算終了信号EOP2が出力されるので、この最後の
サイクルをEOIP2サイクルと呼ぶことができる。し
たがって、現在、仮定しているように、第2Eユニツ)
20Bは必らずlマシンサイクルで終了する演算のみを
行う場合には、このE2ステージはEOP2サイクルの
みからなる。
(P2ステージ)
E2ステージで求められた演算結果WDATA 2は、
書込みレジスタ番号Rwで示される、第2汎用レジスタ
18B内のレジスタに、書込まれる。
書込みレジスタ番号Rwで示される、第2汎用レジスタ
18B内のレジスタに、書込まれる。
また、算出された条件コードCC2がレジスタ34Bに
セットされる。
セットされる。
以下では、まず、アドレスコンフリクトがある場合アド
レスコンフリクトの場合の装置動作を通して装置の詳細
を説明する。装置の内、条件コードに関与する部分とそ
の動作の説明は後でまとめて説明する。
レスコンフリクトの場合の装置動作を通して装置の詳細
を説明する。装置の内、条件コードに関与する部分とそ
の動作の説明は後でまとめて説明する。
以下では、アドレスコンフリクトがある時の装置動作の
説明のため第1のL命令L(1)、第2のL命令L(2
)、A、第3のL命令L(3)がこの順に実行されると
仮定する。また、人命令のオペランドレジスタ番号几O
PとL(3)命令のアドレスレジスタ番号R,又はRi
+が等しく、シたがってこれらの二つの命令間にアドレ
スコンフルクトが生じると仮定する。ただし、L(1)
、 L(2)、Aの各命令間、L(1)、 L(2)と
L(3)の間あるいはL(1)、 L(2)、 A、
L(3)命令とこれらに先行する命令間にはアドレスコ
ンフリクトがないものと仮定する。また、条件コードコ
ンフリクトはどの命令間にも存在しないと仮定する。
説明のため第1のL命令L(1)、第2のL命令L(2
)、A、第3のL命令L(3)がこの順に実行されると
仮定する。また、人命令のオペランドレジスタ番号几O
PとL(3)命令のアドレスレジスタ番号R,又はRi
+が等しく、シたがってこれらの二つの命令間にアドレ
スコンフルクトが生じると仮定する。ただし、L(1)
、 L(2)、Aの各命令間、L(1)、 L(2)と
L(3)の間あるいはL(1)、 L(2)、 A、
L(3)命令とこれらに先行する命令間にはアドレスコ
ンフリクトがないものと仮定する。また、条件コードコ
ンフリクトはどの命令間にも存在しないと仮定する。
9八〜9Cのタイムチャートを参照して説明する。
(D、D’ステージの詳細)
D、D’ステージが実行されるためには、名令の解読情
報が命令キューレジスタ14にセットされねばならない
。この命令キューレジスタ14へのセットは第1Iユニ
ツト22Aが制御する。この制御の仕方は、従来技術に
よるものと本質的に変わらない。すなわち、命令キュー
レジスタ14に新たに解読情報がセットできるのは、あ
る命令が命令レジスタ10にセットされ、しかも命令キ
ューレジスタ14に空きのレジスタがアシ、さらに、そ
の命令が命令キューレジスタ14内にすでにセットされ
ている命令もしくはすでに実行中の命令に対してアドレ
スコンフリクトや条件コードコンフリクトがない場合で
ある。
報が命令キューレジスタ14にセットされねばならない
。この命令キューレジスタ14へのセットは第1Iユニ
ツト22Aが制御する。この制御の仕方は、従来技術に
よるものと本質的に変わらない。すなわち、命令キュー
レジスタ14に新たに解読情報がセットできるのは、あ
る命令が命令レジスタ10にセットされ、しかも命令キ
ューレジスタ14に空きのレジスタがアシ、さらに、そ
の命令が命令キューレジスタ14内にすでにセットされ
ている命令もしくはすでに実行中の命令に対してアドレ
スコンフリクトや条件コードコンフリクトがない場合で
ある。
アドレスコンフリクトの検出のために、命令レジスタ1
0にセットされた命令のアドレスレジスタ部Rm、几工
は線40を介してアドレスコンフリクト検出回路32に
入力され、そこで後述するようにして、アドレスコンフ
リクトの有無が検出され、検出結果ACONFが第1エ
ユニツ)22Aに線58を介して入力される。同様に、
後述するように条件コードコンフリクトの検出が回路3
6で行なわれ、検出結果CC0NFが第1Iユニツト2
2Aに線74を介して入力される。第1Iユニツト22
Aには第4図に示すように、制御回路(図示せず)によ
り命令レジスタ10に新たな命令がセントされるごとに
、その制御回路にょシセントされるクリップフロップ7
oを有する。さらに、キュー制御回路72は命令キュー
レジスタ14の各レジスタが空いているが否かを表示す
るだめの三つのフリップフロップ518〜520’&有
し、これらの三つの7リツプ70ツブのセット状態によ
シ、どのレジスタも空いていないときにキュービジー信
号BSYをANDゲート528から出力するようになっ
ている。デコード成功決定回路71は、7リツプフロツ
プ7oの出力が1でコンフリクト信号ACONF、CC
0NF、キュービジー信号がいずれも0のときに、デコ
ード成功信号DSを線56Aに出力し、F’F511で
タイミング調整を行った後、命令キューレジスタ14に
これを送シ、デコーダ12がらの解読情報の取シ込みを
指示する。命令キューレジスタ14内のどのレジスタに
この解読情報を取り込むかを指示するための入力ポイン
タIPはキューコントロール回路72が線56Aに出力
し、FF505,506にてタイミング調整を行った後
命令キューレジスタ14に送る。この入力ポインタIP
を出力するため、キューコントロール回路72は内部に
0゜1.2を順次カウントするカウンタ502を有し、
そのカウント値を入力ボイーンタIPとして出力するよ
うになっている。このカウンタの更新はデコード成功信
号DSの立上がシがら−サイクル遅れて行なわれる。ま
た、信号Dsによりクリップフロップ70がリセットさ
れ、制御回路(図示せず)がこのリセットに応答して命
令レジスタ1oにセットする。
0にセットされた命令のアドレスレジスタ部Rm、几工
は線40を介してアドレスコンフリクト検出回路32に
入力され、そこで後述するようにして、アドレスコンフ
リクトの有無が検出され、検出結果ACONFが第1エ
ユニツ)22Aに線58を介して入力される。同様に、
後述するように条件コードコンフリクトの検出が回路3
6で行なわれ、検出結果CC0NFが第1Iユニツト2
2Aに線74を介して入力される。第1Iユニツト22
Aには第4図に示すように、制御回路(図示せず)によ
り命令レジスタ10に新たな命令がセントされるごとに
、その制御回路にょシセントされるクリップフロップ7
oを有する。さらに、キュー制御回路72は命令キュー
レジスタ14の各レジスタが空いているが否かを表示す
るだめの三つのフリップフロップ518〜520’&有
し、これらの三つの7リツプ70ツブのセット状態によ
シ、どのレジスタも空いていないときにキュービジー信
号BSYをANDゲート528から出力するようになっ
ている。デコード成功決定回路71は、7リツプフロツ
プ7oの出力が1でコンフリクト信号ACONF、CC
0NF、キュービジー信号がいずれも0のときに、デコ
ード成功信号DSを線56Aに出力し、F’F511で
タイミング調整を行った後、命令キューレジスタ14に
これを送シ、デコーダ12がらの解読情報の取シ込みを
指示する。命令キューレジスタ14内のどのレジスタに
この解読情報を取り込むかを指示するための入力ポイン
タIPはキューコントロール回路72が線56Aに出力
し、FF505,506にてタイミング調整を行った後
命令キューレジスタ14に送る。この入力ポインタIP
を出力するため、キューコントロール回路72は内部に
0゜1.2を順次カウントするカウンタ502を有し、
そのカウント値を入力ボイーンタIPとして出力するよ
うになっている。このカウンタの更新はデコード成功信
号DSの立上がシがら−サイクル遅れて行なわれる。ま
た、信号Dsによりクリップフロップ70がリセットさ
れ、制御回路(図示せず)がこのリセットに応答して命
令レジスタ1oにセットする。
今、命令キューレジスタ14内のθ番、1番。
2番のレジスタに前述のL(1)、 L(2)、 A、
L命令がこの順でセットされると仮定する。また、各
サイクルの最初および中間のタイミングをTO。
L命令がこの順でセットされると仮定する。また、各
サイクルの最初および中間のタイミングをTO。
TIと呼ぶことにする。また添付した図面内のレジスタ
又はフリップフロップの脇に記載された(TO)又は(
T1)はこれらのレジスタは7リンプフロングの内容が
変更されるタイミングがTO又はTIであることを示す
。さて、L(1)命令が命令レジスタlOにタイミング
Co、TO(すなわち、サイクルCO内のタイミングT
O以下同様)にセットされる。L (1)命令は先行す
る他の命令に対してアドレスコンフリクト又は条件コー
ドコンフリクトがなく、また、命令キューレジスタ14
がビジーでないと仮定するとデコード成功信号DSがタ
イミングCo、Tlにて出力され、入力ポインタIPは
そのとき仮定によυ値Oを有しているので、これらの信
号により、L(1)命令の解読情報は命令キューレジス
タ14内の0番のレジスタにタイミングC2,TOにセ
ットされる。
又はフリップフロップの脇に記載された(TO)又は(
T1)はこれらのレジスタは7リンプフロングの内容が
変更されるタイミングがTO又はTIであることを示す
。さて、L(1)命令が命令レジスタlOにタイミング
Co、TO(すなわち、サイクルCO内のタイミングT
O以下同様)にセットされる。L (1)命令は先行す
る他の命令に対してアドレスコンフリクト又は条件コー
ドコンフリクトがなく、また、命令キューレジスタ14
がビジーでないと仮定するとデコード成功信号DSがタ
イミングCo、Tlにて出力され、入力ポインタIPは
そのとき仮定によυ値Oを有しているので、これらの信
号により、L(1)命令の解読情報は命令キューレジス
タ14内の0番のレジスタにタイミングC2,TOにセ
ットされる。
この後、タイミングC1,TIに入力ポインタIPはl
に更新される。タイミ/グC1,ToにはL(2)命令
が命令レジスタlOにセットされ、h(z)’=令のD
ステージがL (1)命令のDステージより1サイクル
遅れて、全く同じように実行される。
に更新される。タイミ/グC1,ToにはL(2)命令
が命令レジスタlOにセットされ、h(z)’=令のD
ステージがL (1)命令のDステージより1サイクル
遅れて、全く同じように実行される。
この結果命令キューレジスタ14内の1番のレジスタに
L(2)命令の解読情報がセットされ、かつ入力ポイン
タは2に更新される。同様にして、人命令のDステージ
がサイクルC2に実行され、その解読情報が命令キュー
レジスタ14内の2番のレジスタにセントされ、かつI
Pは3に更新される。
L(2)命令の解読情報がセットされ、かつ入力ポイン
タは2に更新される。同様にして、人命令のDステージ
がサイクルC2に実行され、その解読情報が命令キュー
レジスタ14内の2番のレジスタにセントされ、かつI
Pは3に更新される。
タイミングC3,TOには次のL(3)命令が命令レジ
スタ10にセットされる。しかし、とのL(3)命令は
、仮定によシ、すでに命令キューレジスタ14にセット
されている人命令に対してアドレスコンフリクトがある
。したがって、アドレスコンフリクト検出回路32の出
力ACONFが後述するように1となシ、デコード成功
決定回路71はデコード成功信号DSをこのアドレスコ
ンフリクトの解除が検出されるまで出力しない。したが
って、L(3)命令は命令キューレジスタ14に取シ込
まれず、Dステージの実行が延期される。本実施例では
、L命令のDステージが実行されるのは、後述するごと
く、サイクルC8である。したがって入力ポインタIP
はそれまで値3を保持しつづける。
スタ10にセットされる。しかし、とのL(3)命令は
、仮定によシ、すでに命令キューレジスタ14にセット
されている人命令に対してアドレスコンフリクトがある
。したがって、アドレスコンフリクト検出回路32の出
力ACONFが後述するように1となシ、デコード成功
決定回路71はデコード成功信号DSをこのアドレスコ
ンフリクトの解除が検出されるまで出力しない。したが
って、L(3)命令は命令キューレジスタ14に取シ込
まれず、Dステージの実行が延期される。本実施例では
、L命令のDステージが実行されるのは、後述するごと
く、サイクルC8である。したがって入力ポインタIP
はそれまで値3を保持しつづける。
なお、D、D′ステージにおけるアドレス計算は次のよ
うなタイミングの下で行なわれる。
うなタイミングの下で行なわれる。
L(1)命令がタイミングCO,Toにて命令レジスタ
10にセットされた後、第2汎用レジスタ18Bからこ
の飴令が指定するアドレス情報がただちに読出され、加
算器24が出力するメモリアドレスはタイミングC2,
TOに確定する。
10にセットされた後、第2汎用レジスタ18Bからこ
の飴令が指定するアドレス情報がただちに読出され、加
算器24が出力するメモリアドレスはタイミングC2,
TOに確定する。
L(2)*令のだめのアドレス計算はL (1)命令よ
シlサイクル遅れて全く同じようになされ、L(2)命
令のだめのメモリアドレスはタイミングC3、TOに確
定する。
シlサイクル遅れて全く同じようになされ、L(2)命
令のだめのメモリアドレスはタイミングC3、TOに確
定する。
第1Iユニツト22A内のキューコントロール回路72
では、命令キューレジスタ14に新たな解読情報をセン
トするごとに、このレジスタ14内の各レジスタが空い
ているか否かを表示するフリップフロップ518〜52
0をセントする。
では、命令キューレジスタ14に新たな解読情報をセン
トするごとに、このレジスタ14内の各レジスタが空い
ているか否かを表示するフリップフロップ518〜52
0をセントする。
(A、A’ステージの詳細)
このステージでは、D、D′ステージで求められたメモ
リアドレスに基づき主メモリ26からメモリオペランド
が読出され、オペランドキューバッファ28にセットさ
れる。すでに述べたごとく、L (1)命令の解読情報
が命令キューレジスタ14内の0番のレジスタにセット
されている。したがって、L(1)命令に対応するメモ
リオペランドも、オペランドキューバソファ28内の0
番のレジスタにセットされる。このため、第1エユニツ
ト22Aは入カポインタIP、デコード成功信号DSを
それぞれ、フリップフロップ512〜513゜505〜
510で2.5ザイクル遅延した信号IPD、DADを
線57λを介してバッファ28に供給するようになって
いる。この結果、L(1)命令のだめのメモリオペラン
ドは、信号DAD、IPDに応答してタイミングC4,
TOにバッファ28内の0番のレジスタにセットされる
。同様にL(2)命令のだめのメモリオペランドはタイ
ミングC5゜TOにバッファ28内の1番のレジスタに
セットされる。
リアドレスに基づき主メモリ26からメモリオペランド
が読出され、オペランドキューバッファ28にセットさ
れる。すでに述べたごとく、L (1)命令の解読情報
が命令キューレジスタ14内の0番のレジスタにセット
されている。したがって、L(1)命令に対応するメモ
リオペランドも、オペランドキューバソファ28内の0
番のレジスタにセットされる。このため、第1エユニツ
ト22Aは入カポインタIP、デコード成功信号DSを
それぞれ、フリップフロップ512〜513゜505〜
510で2.5ザイクル遅延した信号IPD、DADを
線57λを介してバッファ28に供給するようになって
いる。この結果、L(1)命令のだめのメモリオペラン
ドは、信号DAD、IPDに応答してタイミングC4,
TOにバッファ28内の0番のレジスタにセットされる
。同様にL(2)命令のだめのメモリオペランドはタイ
ミングC5゜TOにバッファ28内の1番のレジスタに
セットされる。
(Llステージの詳細)
各命令のLLlステージそれに先行する命令のElステ
ージが終了したとき、すなわち、第1Eユニツトから第
1演算終了信号EOP1が出力されたときに開始される
。このLlヌテージでは命令キューレジスタ14とオペ
ランドキューバッファ28からそれぞれ一つの解読情報
と一つのメモリオベランドがそれぞれセレクタ16A、
30Aにより選択され、第1Eユニツト20Aにセット
される。
ージが終了したとき、すなわち、第1Eユニツトから第
1演算終了信号EOP1が出力されたときに開始される
。このLlヌテージでは命令キューレジスタ14とオペ
ランドキューバッファ28からそれぞれ一つの解読情報
と一つのメモリオベランドがそれぞれセレクタ16A、
30Aにより選択され、第1Eユニツト20Aにセット
される。
これらの制御はilIユニツ)22Aが行う。
スナわち、第1Iユニツト22A内のキューコントロー
ル回路72は、セレクタ16A、30Aに選択すべきレ
ジスタ番号又はノくツファ番号を示す出力ポインタOP
Iを線53Aを介して送出するカウンタ532を有する
。このカウンタは、0゜1.2の値を順次繰り返しカウ
ントするものである。−3r−ニー ’:1ントロール
回路72は、第1Eユニツ)20Aから第1演算終了信
号E、OPIが出力されると、lサイクル後に第1演算
開始信号BOPiを線52Aを介して1サイクルの聞出
力するとともに、信号BOPlが出力されたサイクルの
次のサイクルのタイミングTOで出力ポインタOP1を
更新する。
ル回路72は、セレクタ16A、30Aに選択すべきレ
ジスタ番号又はノくツファ番号を示す出力ポインタOP
Iを線53Aを介して送出するカウンタ532を有する
。このカウンタは、0゜1.2の値を順次繰り返しカウ
ントするものである。−3r−ニー ’:1ントロール
回路72は、第1Eユニツ)20Aから第1演算終了信
号E、OPIが出力されると、lサイクル後に第1演算
開始信号BOPiを線52Aを介して1サイクルの聞出
力するとともに、信号BOPlが出力されたサイクルの
次のサイクルのタイミングTOで出力ポインタOP1を
更新する。
後述するように信号EOPlは先行する命令の最終のE
lステージの前半のサイクルのタイミングTOからその
後信号BOPlが入力されるまでlサイクルおきに第1
Eユニツ)20Aから出力されるようになっている。L
(1)命令に先行する命令(これを今、命令Xと呼ぶ
)のElステージがサイクルC4,C5に−て終了する
と仮定すると、信号EOPIはタイミングC4,TOか
ら1サイクルの聞出力される。このときキューコントロ
ール回路72に出力ポインタOPIとして仮定によ、り
L(1)命令を選択するための値0を出力しておシ、ま
たタイミングC5,TOから1サイクルの間、第1演算
開始信号BOPi出力する。なお、出力ポインタOPI
は、とのBOPlに応答してタイミングC6,TOにお
いて、lに更新される。
lステージの前半のサイクルのタイミングTOからその
後信号BOPlが入力されるまでlサイクルおきに第1
Eユニツ)20Aから出力されるようになっている。L
(1)命令に先行する命令(これを今、命令Xと呼ぶ
)のElステージがサイクルC4,C5に−て終了する
と仮定すると、信号EOPIはタイミングC4,TOか
ら1サイクルの聞出力される。このときキューコントロ
ール回路72に出力ポインタOPIとして仮定によ、り
L(1)命令を選択するための値0を出力しておシ、ま
たタイミングC5,TOから1サイクルの間、第1演算
開始信号BOPi出力する。なお、出力ポインタOPI
は、とのBOPlに応答してタイミングC6,TOにお
いて、lに更新される。
このため、キューコントロール回路72には、フリップ
フロップ518〜520の1サイクル遅延、2サイクル
遅延、3サイクル遅延となるフリップフロップ521〜
523,549〜551,524〜526および、52
4〜526のうちOPl信号で示されるものの値を選択
するセレクタ5,2ηがある。さらにこのセレクタの出
力とEOPI信号の論理積をとるゲート529および、
529の出力をTOにてとりこむフリップフロップ53
0がある。530の出力は第1Eユニツトにおける演算
開始信号BOPlである。またゲート529の出力が1
となると、上記クリップフロップ。
フロップ518〜520の1サイクル遅延、2サイクル
遅延、3サイクル遅延となるフリップフロップ521〜
523,549〜551,524〜526および、52
4〜526のうちOPl信号で示されるものの値を選択
するセレクタ5,2ηがある。さらにこのセレクタの出
力とEOPI信号の論理積をとるゲート529および、
529の出力をTOにてとりこむフリップフロップ53
0がある。530の出力は第1Eユニツトにおける演算
開始信号BOPlである。またゲート529の出力が1
となると、上記クリップフロップ。
518〜520,521〜523,549〜551゜5
24〜526のうちこの時の0PIO値で示される命令
キューに対応するものが、リセットされる。このリセッ
トはデコーダ531によって行われる。
24〜526のうちこの時の0PIO値で示される命令
キューに対応するものが、リセットされる。このリセッ
トはデコーダ531によって行われる。
以上のごとくにして、サイクルC4,C5において出力
される出力ポインタ0PIO値0に基づき、セレクタ1
6A、30AからL (1)命令の解読情報、メモリオ
ペランドの選択が行なわれる。
される出力ポインタ0PIO値0に基づき、セレクタ1
6A、30AからL (1)命令の解読情報、メモリオ
ペランドの選択が行なわれる。
一方、サイクルC5において出力された第1演算開始信
号BOP1に基づき、第1Eユニツトf20Aはこれら
の選択情報を取シ込む。このとき、セレクタ16Aによ
υ選択された解読情報の内、読出しレジスタ番号RRは
第1汎用レジスタ18Aに入力され、それに基づき読出
されたレジスタオペランドRDATA1が線46Aを介
して第1Eユニツト20Aに入力される。第1Eユニツ
ト20AはこのオペランドRDATA 1も取込む。
号BOP1に基づき、第1Eユニツトf20Aはこれら
の選択情報を取シ込む。このとき、セレクタ16Aによ
υ選択された解読情報の内、読出しレジスタ番号RRは
第1汎用レジスタ18Aに入力され、それに基づき読出
されたレジスタオペランドRDATA1が線46Aを介
して第1Eユニツト20Aに入力される。第1Eユニツ
ト20AはこのオペランドRDATA 1も取込む。
第1Eユニツト20Aは第5図にあるように第1演算回
路400と7.リップフロップ401゜403.545
およびアンドゲート405からなる。第1演算回路40
0は、線44Aを介してセレクタ16Aから入力される
OP C0DE X書込みレジスタ番号Rw、レジスタ
変更表示信号CHGGR,、条件コード変更表示信号C
HGCCと、線46Aを介して、第1汎用レジスタ18
Aから入力されるレジスタオペランドRDATA 1と
、線45Aを介してセレクタ30Aから入力されるメモ
リオペランドMDATA1 とを、線52Aを介して
第1Iユニツトから入力される演算開始信号BOP1に
応答して、その内部のレジスタ(図示せず)にセットす
る。一方、線44Aを介してセレクタ16Aから入力さ
れる第2演算指示信号5UBGRは、信号BOPIに応
答してクリップフロップ401にセットされる。こうし
て、第1Eユニツ)20Aにおける入力データの取シ込
が行なわれる。
路400と7.リップフロップ401゜403.545
およびアンドゲート405からなる。第1演算回路40
0は、線44Aを介してセレクタ16Aから入力される
OP C0DE X書込みレジスタ番号Rw、レジスタ
変更表示信号CHGGR,、条件コード変更表示信号C
HGCCと、線46Aを介して、第1汎用レジスタ18
Aから入力されるレジスタオペランドRDATA 1と
、線45Aを介してセレクタ30Aから入力されるメモ
リオペランドMDATA1 とを、線52Aを介して
第1Iユニツトから入力される演算開始信号BOP1に
応答して、その内部のレジスタ(図示せず)にセットす
る。一方、線44Aを介してセレクタ16Aから入力さ
れる第2演算指示信号5UBGRは、信号BOPIに応
答してクリップフロップ401にセットされる。こうし
て、第1Eユニツ)20Aにおける入力データの取シ込
が行なわれる。
今考えている例では、タイミングC6,TOにおいて、
T、(1)命令に関連するデータが第1Eユニツト2O
Aに取シ込まれ、L(1)命令のL1ステージが終了す
る。次の命令のLlステージは、L(1)命令に対する
演算終了信号EOPIが出力されるタイミング(ここで
はサイクルC6)よシ災行される。また、人命令のI、
1ステージは、L(2)命令に対するEOPlが出力
されるタイミング(C8)より実行される。
T、(1)命令に関連するデータが第1Eユニツト2O
Aに取シ込まれ、L(1)命令のL1ステージが終了す
る。次の命令のLlステージは、L(1)命令に対する
演算終了信号EOPIが出力されるタイミング(ここで
はサイクルC6)よシ災行される。また、人命令のI、
1ステージは、L(2)命令に対するEOPlが出力
されるタイミング(C8)より実行される。
しかし、I、 (3)命令は、人命令のEOPlが出た
CIOサイクルにおいて、まだ命令解読及びオペランド
読み出しが終了していない(A、A’ステージがそれ以
前に完了していない)ため、Llステージは実行されな
い。L(3)命令のLlステージが実行されるのは、L
(3)命令のA、A’ステージが完了した後の02ステ
ージ以降である。
CIOサイクルにおいて、まだ命令解読及びオペランド
読み出しが終了していない(A、A’ステージがそれ以
前に完了していない)ため、Llステージは実行されな
い。L(3)命令のLlステージが実行されるのは、L
(3)命令のA、A’ステージが完了した後の02ステ
ージ以降である。
(Elステージの詳細)
第1演算回路400は、入力された0PCODEにて指
定される演算、たとえば人命令に対してはオペランドM
DATA 1に対して実行し、結果データWDATAl
を線50Aに出力するとともに、演算の最終Elステー
ジのFjU半サイクルのタイミングTOからその後信号
BOPlが、入力されるまで演算終了信号EOPIを1
サイクルおきに出力する。このとき、入力された解読情
報内の書込みレジスタ番号几Wは結果データW’DAT
A 1が算出されるまで、回路400内に保持されてお
シ、結果データWDAT、A Iとともに線50Aに出
力されるようになっている。また入力された条件コード
震災表示信号CHGCCが1のときには、回路400は
0PCODE と結果データWDATA 1に依存して
、条件コードCC1’に算出し、この信号とともにセッ
ト信号5ETIをこの最終Elステージの従来サイクル
で出力する。信号CHGCCが00ときには信号5ET
Iは0のままである。さらに、回路400は取込まれて
いるレジスタ変更表示信号CHG()几が1のときには
、結果データWDATA 1の出力と同期して、書込み
信号WC1’tM50Aに出力するように構成されてい
る。回路400は、たとえは74クロi6 %制41j
lの回路によシ構成される。
定される演算、たとえば人命令に対してはオペランドM
DATA 1に対して実行し、結果データWDATAl
を線50Aに出力するとともに、演算の最終Elステー
ジのFjU半サイクルのタイミングTOからその後信号
BOPlが、入力されるまで演算終了信号EOPIを1
サイクルおきに出力する。このとき、入力された解読情
報内の書込みレジスタ番号几Wは結果データW’DAT
A 1が算出されるまで、回路400内に保持されてお
シ、結果データWDAT、A Iとともに線50Aに出
力されるようになっている。また入力された条件コード
震災表示信号CHGCCが1のときには、回路400は
0PCODE と結果データWDATA 1に依存して
、条件コードCC1’に算出し、この信号とともにセッ
ト信号5ETIをこの最終Elステージの従来サイクル
で出力する。信号CHGCCが00ときには信号5ET
Iは0のままである。さらに、回路400は取込まれて
いるレジスタ変更表示信号CHG()几が1のときには
、結果データWDATA 1の出力と同期して、書込み
信号WC1’tM50Aに出力するように構成されてい
る。回路400は、たとえは74クロi6 %制41j
lの回路によシ構成される。
一方、スリップンロソプ401にタイミングTOでセッ
トされた第2演算表示信号5UBGRはタイミングTO
てフリノブブロング403に移される。このフリッグフ
ロンズ403内の信号S UBG凡の反転信号と回路4
00から線50Aに出力される書込み信号WC1がアン
ドゲート405に入力される。したがって、ゲート40
5の出力WCl2は、第1演算回路400で実行された
演算が第2Eユニツトでは実行不可能でかつ汎用レジス
タを書さかえるもののときにのみlとなる。
トされた第2演算表示信号5UBGRはタイミングTO
てフリノブブロング403に移される。このフリッグフ
ロンズ403内の信号S UBG凡の反転信号と回路4
00から線50Aに出力される書込み信号WC1がアン
ドゲート405に入力される。したがって、ゲート40
5の出力WCl2は、第1演算回路400で実行された
演算が第2Eユニツトでは実行不可能でかつ汎用レジス
タを書さかえるもののときにのみlとなる。
この出カルVCl2は演算結果WDATAI を第2汎
用レジスタ18Bに1・込むのに用いられる。
用レジスタ18Bに1・込むのに用いられる。
(Piステージの詳細)
第1E二二ツ)20Aから線50A上に出力された結果
データWl)A’[’A Iは、その線上の書込み信号
WC1,WCl2に基づき、第1.第2汎用レジスタ1
8A、18B内の、會込みレジスタ番号Rwを有するレ
ジスタにタイミングTOで書きbまれる。また、算出さ
れた条件コードCC1はセット信号5ETIに応答して
、レジスタ34Aに書込まれる。したがって、レジスタ
34Aはl”コードを変更する命令の内、最も新しく実
行された命令が出力した条件コードがセットされている
。
データWl)A’[’A Iは、その線上の書込み信号
WC1,WCl2に基づき、第1.第2汎用レジスタ1
8A、18B内の、會込みレジスタ番号Rwを有するレ
ジスタにタイミングTOで書きbまれる。また、算出さ
れた条件コードCC1はセット信号5ETIに応答して
、レジスタ34Aに書込まれる。したがって、レジスタ
34Aはl”コードを変更する命令の内、最も新しく実
行された命令が出力した条件コードがセットされている
。
こうして、L(1)命令のPIステージはサイクルC8
、C9L(2)命令はCIO,C1l、A命令はCl2
C13で実行される。ただし、これら3つの命令はいず
れも第2Eユニツ)20Bで実行可能のため(SUBG
R=1>、We12=0となシ、結果データWDATA
lは第2汎用レジスタ18Bには書込まれない。また
、L(1)、 L(2)命令は条件コードを変更する命
令でないのでレジスタ34Aの内容は変更されない。ま
た人命令の演算によシ求まった条件コードCCIはサイ
クルCIOでレジスタ34Aにセットされることになる
。
、C9L(2)命令はCIO,C1l、A命令はCl2
C13で実行される。ただし、これら3つの命令はいず
れも第2Eユニツ)20Bで実行可能のため(SUBG
R=1>、We12=0となシ、結果データWDATA
lは第2汎用レジスタ18Bには書込まれない。また
、L(1)、 L(2)命令は条件コードを変更する命
令でないのでレジスタ34Aの内容は変更されない。ま
た人命令の演算によシ求まった条件コードCCIはサイ
クルCIOでレジスタ34Aにセットされることになる
。
以上のようにして、L(1)、L(2)、A命令のD〜
Plステージが実行される。しかし、次のL(3)命令
に対してアドレスコンフリクトを有するので、このコノ
7リクトが解除するまで、L(3)命令のD2テージは
実行されない。
Plステージが実行される。しかし、次のL(3)命令
に対してアドレスコンフリクトを有するので、このコノ
7リクトが解除するまで、L(3)命令のD2テージは
実行されない。
上記先頭に述べた従来技術によると、このコンフリクト
が解除されるのは、次命令の第2Eユニツトでの演算結
果が得られた時以降であるが、次命令に先行するL(1
)、 L(2)命令が第1.第2Eユニツトのいずれで
も演算を行い、しかも上記従来例では演算実行時間が同
じであるため、次命令における第1.第2Eユニツトで
の演算結果が得られる時刻は同じである。従って、上記
従来技術において、次命令の第2Eユニツトでの演算結
果が得られるのは、C12サイクルとなる。ゆえに、L
(3)命令のDステージは、C12サイクルから開始さ
れる。
が解除されるのは、次命令の第2Eユニツトでの演算結
果が得られた時以降であるが、次命令に先行するL(1
)、 L(2)命令が第1.第2Eユニツトのいずれで
も演算を行い、しかも上記従来例では演算実行時間が同
じであるため、次命令における第1.第2Eユニツトで
の演算結果が得られる時刻は同じである。従って、上記
従来技術において、次命令の第2Eユニツトでの演算結
果が得られるのは、C12サイクルとなる。ゆえに、L
(3)命令のDステージは、C12サイクルから開始さ
れる。
一方本実施例では、L(3)命令のDステージの開始を
早めるために、第1.第2Eユニツトのいずれでも演算
を行う命令においては、第2Eユニツトでの演算サイク
ル数を第1Eユニツトにおける演算サイクル数より短く
シ、シかも次命令の第2Eユニツトにおける演算が前命
令の演算終了後直ちに開始できるようにしている。
早めるために、第1.第2Eユニツトのいずれでも演算
を行う命令においては、第2Eユニツトでの演算サイク
ル数を第1Eユニツトにおける演算サイクル数より短く
シ、シかも次命令の第2Eユニツトにおける演算が前命
令の演算終了後直ちに開始できるようにしている。
以下この点をさらに詳しく説明する。
(L2ステージの詳細)
このステージは第2Eユニツト20Bに必要なデータを
セットするステージである。このステージは第2■ユニ
ツト22Bによ多制御される。この第2■ユニツ)22
Bには第6図に示されるように、命令キューレジスタ1
4内のレジスタ≠0〜す2に対応してスリップフロップ
101〜103がそれぞれ設けられ、これらのクリップ
フロップは命令キューレジスタ14内の対応するレジス
タに有効な解読情報がセットされているが否かを表示す
るだめのものである。すなわち、デコーダ100はデコ
ード成功信号Dsによシ起動され、そこに入力される入
力ポインタIPで示されるレジスタ番号に対応するクリ
ップフロップ101〜103のいずれかに対してl信号
を出力する。この信号は、フリップフロップ101−1
03内の、入力ポインタIPに対応する一つの7リツプ
フロツプのデータ端子に入力され、さらにオアゲート1
07〜109の一つを介して、その−レーツプフロツプ
のクロック端子に入力される。こうして、入力ポインタ
IPに対応してクリップフロップ101〜103の一つ
がセットされる。なお、これらのクリップフロップ10
1〜103はタイミングTOでのみ入力データの取シ込
みを行うものとする。さらにフリップフロッグ538〜
540はそれぞれフリップフロップ101〜103の出
力をフリップフロップ546〜548はそれぞれ538
〜540の出力をtiミツリップフロップ120〜12
もそれぞれフリップフロップ546〜548の出力を1
サイクル遅延して出力するためのもので、これらのクリ
ップフロップ538〜540.546〜548,120
〜122もタイミングTOでのみ出力を変化するものと
する。
セットするステージである。このステージは第2■ユニ
ツト22Bによ多制御される。この第2■ユニツ)22
Bには第6図に示されるように、命令キューレジスタ1
4内のレジスタ≠0〜す2に対応してスリップフロップ
101〜103がそれぞれ設けられ、これらのクリップ
フロップは命令キューレジスタ14内の対応するレジス
タに有効な解読情報がセットされているが否かを表示す
るだめのものである。すなわち、デコーダ100はデコ
ード成功信号Dsによシ起動され、そこに入力される入
力ポインタIPで示されるレジスタ番号に対応するクリ
ップフロップ101〜103のいずれかに対してl信号
を出力する。この信号は、フリップフロップ101−1
03内の、入力ポインタIPに対応する一つの7リツプ
フロツプのデータ端子に入力され、さらにオアゲート1
07〜109の一つを介して、その−レーツプフロツプ
のクロック端子に入力される。こうして、入力ポインタ
IPに対応してクリップフロップ101〜103の一つ
がセットされる。なお、これらのクリップフロップ10
1〜103はタイミングTOでのみ入力データの取シ込
みを行うものとする。さらにフリップフロッグ538〜
540はそれぞれフリップフロップ101〜103の出
力をフリップフロップ546〜548はそれぞれ538
〜540の出力をtiミツリップフロップ120〜12
もそれぞれフリップフロップ546〜548の出力を1
サイクル遅延して出力するためのもので、これらのクリ
ップフロップ538〜540.546〜548,120
〜122もタイミングTOでのみ出力を変化するものと
する。
フリップフロップ149,150,153゜154、イ
ンクリメンタ148は0.l、2を順次カウントするカ
ウンタを構成し、フリップフロップ153,154の出
力は、第2Eユニツト20Bで実行されるべき命令に関
する情報の選択のための出力ポインタOP2として用い
り、3すなわち、この出力ポイ/りOF2は、線53B
を介してセレクタ16B、30Bに入力され、実行すべ
き命令の解読情報およびメモリオペランドMDATA2
がこれらのセレクタにょシ選択的に線44B、45Bに
それぞれ出方されるようになる。
ンクリメンタ148は0.l、2を順次カウントするカ
ウンタを構成し、フリップフロップ153,154の出
力は、第2Eユニツト20Bで実行されるべき命令に関
する情報の選択のための出力ポインタOP2として用い
り、3すなわち、この出力ポイ/りOF2は、線53B
を介してセレクタ16B、30Bに入力され、実行すべ
き命令の解読情報およびメモリオペランドMDATA2
がこれらのセレクタにょシ選択的に線44B、45Bに
それぞれ出方されるようになる。
しかし、これらの情報を第2Eユニツ)20Bにセット
してもよいのは第2Eユニツ)20Bにおいて先行する
命令のための演算が終了し、かつ次にL2ステージを実
行しようとする命令のだめの情報が命令キューレジスタ
14、オペランドキューバッファ28にセットされてい
る場合である。
してもよいのは第2Eユニツ)20Bにおいて先行する
命令のための演算が終了し、かつ次にL2ステージを実
行しようとする命令のだめの情報が命令キューレジスタ
14、オペランドキューバッファ28にセットされてい
る場合である。
第2Eユニツ)20Bは後述のように第2演算開始信号
BOP2に応答してセレクタ16B、30Bの出力をセ
ットし、演算の最終サイクルがら終了信号EOP2を出
力するようになっている。第21ユニツト22Bでは、
出力ポインタOP2によシフリップ70ツブ120〜1
22の出方の一つがセレクタ129にょシ選択される。
BOP2に応答してセレクタ16B、30Bの出力をセ
ットし、演算の最終サイクルがら終了信号EOP2を出
力するようになっている。第21ユニツト22Bでは、
出力ポインタOP2によシフリップ70ツブ120〜1
22の出方の一つがセレクタ129にょシ選択される。
この選択された信号は出力ポインタOP2で示される命
令キューレジスタ14内のレジスタに実行すべき命令が
セットされていることを示している。したがって、第2
エユニツト22Bは、線48B?介して入力される信号
EOP2とセレクタ129の出力信号との論理積勿とシ
、両方の信号がともに1のときにのみ演算開始信号BO
P2を線52Bに出力するようになっている。
令キューレジスタ14内のレジスタに実行すべき命令が
セットされていることを示している。したがって、第2
エユニツト22Bは、線48B?介して入力される信号
EOP2とセレクタ129の出力信号との論理積勿とシ
、両方の信号がともに1のときにのみ演算開始信号BO
P2を線52Bに出力するようになっている。
結局、とのL2ステージでは次のようにして、第2Eユ
ニツト20Bに必要な情報がセットされる。セレクタ1
6BKよシ選択された解読情報の内、0PCODE、書
込みレジ2夕査号几7、第2演算表示信号5UBGR,
5UBCCおよび条件コード変更表示信号CHGCCは
線44Bを介して直接第2Eユニツト20Bに送られ、
読出しレジスタ几Rは第2汎用レジスタ18Bに入力さ
れ、レジスタオペラッドRDATA 2の読出しに用い
られる。このオペランドは線46Bを介して第2Eユニ
ツト20Bに入力される。セレクタ30Bによシ選択さ
れたメモリオペランドMDATA2は線45Bを介して
直接第2Eユニツト20Bに送ら号BOP2に応答して
取シ込む。
ニツト20Bに必要な情報がセットされる。セレクタ1
6BKよシ選択された解読情報の内、0PCODE、書
込みレジ2夕査号几7、第2演算表示信号5UBGR,
5UBCCおよび条件コード変更表示信号CHGCCは
線44Bを介して直接第2Eユニツト20Bに送られ、
読出しレジスタ几Rは第2汎用レジスタ18Bに入力さ
れ、レジスタオペラッドRDATA 2の読出しに用い
られる。このオペランドは線46Bを介して第2Eユニ
ツト20Bに入力される。セレクタ30Bによシ選択さ
れたメモリオペランドMDATA2は線45Bを介して
直接第2Eユニツト20Bに送ら号BOP2に応答して
取シ込む。
なお、第2■ユニツl−22Bでは、第6図に示すよう
に、信号BOP2に応答してインクリメンタ148が起
動され、そのときの出力ポインタOP2をカウントアツ
プした値を示す信号を7リツプフロツプ149,150
に出力する。こうして出力ポインタOF2は、信号BO
P2が出力されるごとに更新されることになる。また、
信号BOP2によシデコーダ113が起動される。この
デコーダ113はそのときの出力ポインタの値に応じて
、オアクー)107〜109の一つに信号lを送る。こ
のときデコーダ100にはデコード成功信号り、8が入
力されていないがめるいは信号DSが入力されていても
そのときの入力ポインタの値は出力ポインタOP2の値
と異なるので、出力ポインタOP2に対応するクリップ
フロップioi又は102又は103のデータ端子には
、デコーダ100から信号lが入力されることはない。
に、信号BOP2に応答してインクリメンタ148が起
動され、そのときの出力ポインタOP2をカウントアツ
プした値を示す信号を7リツプフロツプ149,150
に出力する。こうして出力ポインタOF2は、信号BO
P2が出力されるごとに更新されることになる。また、
信号BOP2によシデコーダ113が起動される。この
デコーダ113はそのときの出力ポインタの値に応じて
、オアクー)107〜109の一つに信号lを送る。こ
のときデコーダ100にはデコード成功信号り、8が入
力されていないがめるいは信号DSが入力されていても
そのときの入力ポインタの値は出力ポインタOP2の値
と異なるので、出力ポインタOP2に対応するクリップ
フロップioi又は102又は103のデータ端子には
、デコーダ100から信号lが入力されることはない。
したがって、出力ポインタOP2に対応してクリップフ
ロップ101−103の一つがリセットされることにな
る。
ロップ101−103の一つがリセットされることにな
る。
すでに述べたように、仮定では、L(1)命令のDステ
ージのためのデコード成功信号DSはタイミングCO,
TIで、出力され、このときの入力ポインタIPは0で
あるが、クリップフロップ101がタイミングCI、T
Oでセントされ、フリップフロップ538,546,1
20がこれよシ順に1サイクルずつ遅れたタイミングC
2,C3,C4゜の各TOでセットされる。このときフ
リップフロップ153,154より出力される出力ポイ
ンタOP2は仮定によ、ill、L2ステージを実行す
べきL(1)命令に対するものでなけれはならず、値0
を示す。したがって、セレクタ129の出力はタイミン
グC4,Toでは1であり、このときL (1)命令の
前の命令Xに対する第2Eユニツトでの演算が終了して
いると仮定しているので (M号EOP2はlである。
ージのためのデコード成功信号DSはタイミングCO,
TIで、出力され、このときの入力ポインタIPは0で
あるが、クリップフロップ101がタイミングCI、T
Oでセントされ、フリップフロップ538,546,1
20がこれよシ順に1サイクルずつ遅れたタイミングC
2,C3,C4゜の各TOでセットされる。このときフ
リップフロップ153,154より出力される出力ポイ
ンタOP2は仮定によ、ill、L2ステージを実行す
べきL(1)命令に対するものでなけれはならず、値0
を示す。したがって、セレクタ129の出力はタイミン
グC4,Toでは1であり、このときL (1)命令の
前の命令Xに対する第2Eユニツトでの演算が終了して
いると仮定しているので (M号EOP2はlである。
したがって、信号BOP2も1となる。こうしてi2B
ユニット20Bに対してL (1)命令の実行に必要な
データがセットされる。
ユニット20Bに対してL (1)命令の実行に必要な
データがセットされる。
こうして、L(1)命令のL2ステージがサイクルC4
に行なわれる。また、この信号BOP2にょシデコーダ
148が起動され、そのときの出力ポインタOP2をカ
ウントアツプした値lを出力する。
に行なわれる。また、この信号BOP2にょシデコーダ
148が起動され、そのときの出力ポインタOP2をカ
ウントアツプした値lを出力する。
この値は7リツプフロンプ149,150にタイミング
C4,TIで取り込まれ、さらに、フリップフロップ1
53,154にタイミングC5,TOで取シ込まれる。
C4,TIで取り込まれ、さらに、フリップフロップ1
53,154にタイミングC5,TOで取シ込まれる。
したがって、出力ポインタOP2はサイクルC5では、
次のL(2)命令のだめの値1に更新される。
次のL(2)命令のだめの値1に更新される。
なお、信号BOP2によシデコーダ113がタイミング
C4,TOで起動され、そのときの出力ポインタOP2
の値0に対する0)1ゲー)107およびフリップフロ
ップ538,546,120のリセット入力に1信号を
出力する。この結果、フリップフロップ101,538
,546,120がタイミングC5,TOでリセットさ
れる。
C4,TOで起動され、そのときの出力ポインタOP2
の値0に対する0)1ゲー)107およびフリップフロ
ップ538,546,120のリセット入力に1信号を
出力する。この結果、フリップフロップ101,538
,546,120がタイミングC5,TOでリセットさ
れる。
全く同じようにL(2)、A命令のL2ステージが行な
われ、それぞれサイクルC5,C6にこの命令のための
信号BOP2が出力される。
われ、それぞれサイクルC5,C6にこの命令のための
信号BOP2が出力される。
この間、出力ポインタOP2はタイミング05゜TOで
1になり、2次にタイミングC6,TOで2にさらに、
C7,’rotてOに更新される。
1になり、2次にタイミングC6,TOで2にさらに、
C7,’rotてOに更新される。
ただし、次のL(3)命令は人命台に対してアドレスコ
ンフリクトがあるため、この命令のだめのデコード成功
信号DSがタイミングC8,Tlで出力されるので、L
命令のL2ステージはサイクルC12まで延期される。
ンフリクトがあるため、この命令のだめのデコード成功
信号DSがタイミングC8,Tlで出力されるので、L
命令のL2ステージはサイクルC12まで延期される。
したがって、出力ポインタ0PZt;i:タイミングC
7,TOでの値lをそれまで保持しつづけている。
7,TOでの値lをそれまで保持しつづけている。
タイミングC8,TI’″cL(3)命令のだめのデコ
ード成功信号D8が出力されると、タイミングC9,T
oでフリップフロップ101がセットされる。その後L
(1)、 L(2)、 A命令の場合と全く同様にタイ
ミングC12,TOでL(3)命令のための演算開始信
号BOP2が出力される。
ード成功信号D8が出力されると、タイミングC9,T
oでフリップフロップ101がセットされる。その後L
(1)、 L(2)、 A命令の場合と全く同様にタイ
ミングC12,TOでL(3)命令のための演算開始信
号BOP2が出力される。
(E2ステージの動作)
i2Eユニット20Bでは第7図に示すようにレジスタ
298〜305にそれぞれ、第2演算表示偏号5UBC
C,条件コード変更表示信号CHGCC演算開始信号B
OP2、レジスタ変更信号S UBG几、書込、4 L
”)スタ番号Rw 、オペレーションコードOP C0
DE 、 レジスタオペランドRDATA 2、メモリ
オペランドMDATA2が信号BOP2に応答してL2
ステージの動作によυセットされている。第2演算回路
307は信号BOP2で起動され、レジスタ303にセ
ットされたOP C0DEによシ指定される演算を行
ない、演算結果WDATA2をレジスタ310に送出す
るとして、また、0PCODEが条件コードkK更する
演算を指示しているときには、条件コードCC2を演算
結果WDATA2と演算の種類に依存して算出して出力
する。また演算の最終サイクルで1iilJ’48Bに
演算終了信号EOP2を出力するようになっている。こ
の信号は、次にBOP2信号が入力されるまで毎サイク
ル出力される。また、入力されたOP C0DEで指定
される演算をこの第2演算回路307が実行できないと
きでも、この回路307はこの信号EOP2を次に信号
BOP2が入力されるまで毎サイクル出力する。したが
って、現在、仮定では、第2演算回路307はlマシン
サイクルの演算しか実行しないと仮定しているので、信
号EOP2は毎サイクル出力されることになる。また、
レジスタ10に演算結果WDATA2がタイミングTO
でセットをれ、レジスタ302にセットされている書込
みレジスタ査号几Wがレジスタ309にタイミングTO
でセットされ、同様にレジスタ300゜301にそれぞ
れセットされた信号BOP2と5uBc+n、とが論理
積ゲートを介してタイミングT。
298〜305にそれぞれ、第2演算表示偏号5UBC
C,条件コード変更表示信号CHGCC演算開始信号B
OP2、レジスタ変更信号S UBG几、書込、4 L
”)スタ番号Rw 、オペレーションコードOP C0
DE 、 レジスタオペランドRDATA 2、メモリ
オペランドMDATA2が信号BOP2に応答してL2
ステージの動作によυセットされている。第2演算回路
307は信号BOP2で起動され、レジスタ303にセ
ットされたOP C0DEによシ指定される演算を行
ない、演算結果WDATA2をレジスタ310に送出す
るとして、また、0PCODEが条件コードkK更する
演算を指示しているときには、条件コードCC2を演算
結果WDATA2と演算の種類に依存して算出して出力
する。また演算の最終サイクルで1iilJ’48Bに
演算終了信号EOP2を出力するようになっている。こ
の信号は、次にBOP2信号が入力されるまで毎サイク
ル出力される。また、入力されたOP C0DEで指定
される演算をこの第2演算回路307が実行できないと
きでも、この回路307はこの信号EOP2を次に信号
BOP2が入力されるまで毎サイクル出力する。したが
って、現在、仮定では、第2演算回路307はlマシン
サイクルの演算しか実行しないと仮定しているので、信
号EOP2は毎サイクル出力されることになる。また、
レジスタ10に演算結果WDATA2がタイミングTO
でセットをれ、レジスタ302にセットされている書込
みレジスタ査号几Wがレジスタ309にタイミングTO
でセットされ、同様にレジスタ300゜301にそれぞ
れセットされた信号BOP2と5uBc+n、とが論理
積ゲートを介してタイミングT。
でレジスタ308にセットされる。レジスタ308の出
力はその値が1のときに第2汎用レジスタ18Bに結果
WDATA2を書込むべきことを示す書込信号WC2で
ある。
力はその値が1のときに第2汎用レジスタ18Bに結果
WDATA2を書込むべきことを示す書込信号WC2で
ある。
レジスタ298の出力VALIDは条件コードCC2が
有効であることを示す信号であシ、第2演算表示信号8
0BCCが1である命令のL2ステージが実行されたと
きに11!:なる。すなわち、L2ステージが実行され
た命令の演算が第2Eユニツト20Bで実行可能でろシ
、かつ、条件コードを変更する命令のときに信号VAL
IDが1となり、それ以外の命令のときには0となる。
有効であることを示す信号であシ、第2演算表示信号8
0BCCが1である命令のL2ステージが実行されたと
きに11!:なる。すなわち、L2ステージが実行され
た命令の演算が第2Eユニツト20Bで実行可能でろシ
、かつ、条件コードを変更する命令のときに信号VAL
IDが1となり、それ以外の命令のときには0となる。
また、レジスタ299の出力とレジスタ300の出力の
論理積がアンドゲートから出力される。
論理積がアンドゲートから出力される。
この論理積5ET2は、条件コードを変更する命令のE
ステージで1とナシ、それ以外の命令では0となる。こ
の信号8 E ’l’ 2は、条件コードCC2と有効
表示信号VALID’に条件コードレジスタ34B(第
1B図)にセットするのに用いられる。
ステージで1とナシ、それ以外の命令では0となる。こ
の信号8 E ’l’ 2は、条件コードCC2と有効
表示信号VALID’に条件コードレジスタ34B(第
1B図)にセットするのに用いられる。
L(1)、L(2)、A命令に対しては各々サイクル′
C5,C6,C7で演算が行なわれ、結果データWDA
TA2、書込レジスタ番号RwX曹込み信号WC2がそ
れぞれタイミングC6,C7,C8のTOで線50Bに
出力されることになる。L(3)命令についてもサイク
ルC13で演算が同じように行なわれる。
C5,C6,C7で演算が行なわれ、結果データWDA
TA2、書込レジスタ番号RwX曹込み信号WC2がそ
れぞれタイミングC6,C7,C8のTOで線50Bに
出力されることになる。L(3)命令についてもサイク
ルC13で演算が同じように行なわれる。
また人命台においては、条件コードCC2そのセット信
号5ET2、有効信号■ALIDがタイミング06.T
oにて?fM70Bに出力される。
号5ET2、有効信号■ALIDがタイミング06.T
oにて?fM70Bに出力される。
(P2ステージの詳細)
E2ステージでこのように求められた結果データWDA
TA2は線50Bを介して第2汎用レジスタ18Bに送
られ、簀込み信号WC2が1のときに番号Rwで示され
るレジスタに書込まれる。
TA2は線50Bを介して第2汎用レジスタ18Bに送
られ、簀込み信号WC2が1のときに番号Rwで示され
るレジスタに書込まれる。
また、セント信号5ET2が1のときには、条件コード
レジスタ34B(第1B図)に条件コードCC2と有効
表示信号VALIDがセットされる。
レジスタ34B(第1B図)に条件コードCC2と有効
表示信号VALIDがセットされる。
セット信号S E T 2が0のときには、レジスタ3
4Bの内容はかわらない。したがって、E2ステージを
実行された命令が条件コードをかえる命令のときには、
レジスタ34Bの内容が沓きかえられる。したがって、
この命令が第2Eユニツトで実行可能なときには、レジ
スタ34Bの新しい内容は、値1をもつVALID信号
とm2Bユニツト20Bで新たに求められた条件コード
CC2である。しかし、この命令が第2Eユニツト20
Bで実行できない命令のときには、レジスタ34Bの新
しい内容は値0をもつVALID信号と、第2Eユニツ
ト20Bから線70Bに出力されている無意味なデータ
である。一方、E2ステージが実行された命令が条件コ
ードをかえない命令のときL(1)、 L(2)、 A
命令については、それぞれタイミングC7,C8,C9
のTOにて演算結果が第2汎用レジスタに書き込まれ、
またL(3)命令についてはタイミングC15のTOに
て書き込まれる。
4Bの内容はかわらない。したがって、E2ステージを
実行された命令が条件コードをかえる命令のときには、
レジスタ34Bの内容が沓きかえられる。したがって、
この命令が第2Eユニツトで実行可能なときには、レジ
スタ34Bの新しい内容は、値1をもつVALID信号
とm2Bユニツト20Bで新たに求められた条件コード
CC2である。しかし、この命令が第2Eユニツト20
Bで実行できない命令のときには、レジスタ34Bの新
しい内容は値0をもつVALID信号と、第2Eユニツ
ト20Bから線70Bに出力されている無意味なデータ
である。一方、E2ステージが実行された命令が条件コ
ードをかえない命令のときL(1)、 L(2)、 A
命令については、それぞれタイミングC7,C8,C9
のTOにて演算結果が第2汎用レジスタに書き込まれ、
またL(3)命令についてはタイミングC15のTOに
て書き込まれる。
また、人命令については、タイミングC7,TOにて条
件コードと値lを持つVALID信号がレジスタ34B
にセットされる。
件コードと値lを持つVALID信号がレジスタ34B
にセットされる。
本実施例においては従って、人命令の結果はC9,To
にて第2汎用レジスタに書き込まれるため、この時点で
この結果をアドレス計算で用いる必要のあるL(3)命
令とのアドレスコンフリクトが解消し、後述するように
アドレスコンフリクト検出回路32の出力ACONFが
0となシ、第1エユニツト20Aは次のL(3)命令の
Dステージを開始できる。従って後続のL(3)命令の
DステージはC8にて開始することができ、上記従来例
に比較して4サイクル(従来例における2サイクル)早
めることができる。
にて第2汎用レジスタに書き込まれるため、この時点で
この結果をアドレス計算で用いる必要のあるL(3)命
令とのアドレスコンフリクトが解消し、後述するように
アドレスコンフリクト検出回路32の出力ACONFが
0となシ、第1エユニツト20Aは次のL(3)命令の
Dステージを開始できる。従って後続のL(3)命令の
DステージはC8にて開始することができ、上記従来例
に比較して4サイクル(従来例における2サイクル)早
めることができる。
この4サイクルの短縮の内訳けは、Dステージの開始後
第2汎用レジスタに書き込みが終了するまでのサイクル
数の短縮分2サイクルと、第2Eユニツトが第1Bユニ
ツトに比べL(1)、 L(2)命令を半分のピッチで
演算を行えるため、l命令毎に1サイクルずつ計2サイ
クル早期に第2Eユニツトでの演算が開始できたことに
よる短縮分2サイクルである。
第2汎用レジスタに書き込みが終了するまでのサイクル
数の短縮分2サイクルと、第2Eユニツトが第1Bユニ
ツトに比べL(1)、 L(2)命令を半分のピッチで
演算を行えるため、l命令毎に1サイクルずつ計2サイ
クル早期に第2Eユニツトでの演算が開始できたことに
よる短縮分2サイクルである。
ここで、第2Eユニツトが上記従来例に比べ、実際に半
分のピンチで演算を行える上で、命令のデコードそのも
のが従来例に比べ半分のピッチで行われる必要があるこ
と、そして本実施例においてそのように構成しているこ
とは言うまでもない。
分のピンチで演算を行える上で、命令のデコードそのも
のが従来例に比べ半分のピッチで行われる必要があるこ
と、そして本実施例においてそのように構成しているこ
とは言うまでもない。
(アドレスコンフリクト検出動作)
アドレスコンフリクト検出回路32の構成は、第8図に
示すように上記従来例におけると同様でよく、ここでは
概略のみ説明する。
示すように上記従来例におけると同様でよく、ここでは
概略のみ説明する。
フリップフロップ200〜202は、命令キューレジス
タ14のす0〜+2の各レジスタに対応し、その中に入
っている命令が汎用レジスタを変更する命令であり、し
かも末だ変更を終えていない状態でおることを示す。レ
ジスタ218〜220は、命令キューレジスタ14の+
ON+2の各レジスタに対応し、その中に汎用レジスタ
を変更する命令が入っている場合、その書き込みレジス
タ番号Rwを保持する。比較器224は、命令レジスタ
に保持されている命令のインデックスレジスタ及びペー
スレジスタ番号R工、几Bと、命令キューレジスタ内の
汎用レジスタの変更の終っていない命令の書き込みレジ
スタ番号とを比較し、比較結果をオアゲート235に出
力する。
タ14のす0〜+2の各レジスタに対応し、その中に入
っている命令が汎用レジスタを変更する命令であり、し
かも末だ変更を終えていない状態でおることを示す。レ
ジスタ218〜220は、命令キューレジスタ14の+
ON+2の各レジスタに対応し、その中に汎用レジスタ
を変更する命令が入っている場合、その書き込みレジス
タ番号Rwを保持する。比較器224は、命令レジスタ
に保持されている命令のインデックスレジスタ及びペー
スレジスタ番号R工、几Bと、命令キューレジスタ内の
汎用レジスタの変更の終っていない命令の書き込みレジ
スタ番号とを比較し、比較結果をオアゲート235に出
力する。
セレクタ256は、スリップフロップ200〜202の
値のうち、第1Eユニツトでの演算が開始したものを選
択し、フリップフロップ258に出力する。
値のうち、第1Eユニツトでの演算が開始したものを選
択し、フリップフロップ258に出力する。
またセレクタ227は、レジスタ218〜220に格納
されている書き込みレジスタ番号のうち、第1Bユニツ
トでの演算が開始したものを選択し、レジスタ228に
出力する。比較器230は、命令レジスタに保持されて
いる命令のR,、R1と、第1Eユニツトでの演算中の
、汎用レジスタの変更の終っていない命令の書き込みレ
ジスタ番号とを比較し、比較結果をオアクー)235に
出力する。オアゲート235は線58にアドレスコンフ
リクトの発生を示すACONF信号を出力する。
されている書き込みレジスタ番号のうち、第1Bユニツ
トでの演算が開始したものを選択し、レジスタ228に
出力する。比較器230は、命令レジスタに保持されて
いる命令のR,、R1と、第1Eユニツトでの演算中の
、汎用レジスタの変更の終っていない命令の書き込みレ
ジスタ番号とを比較し、比較結果をオアクー)235に
出力する。オアゲート235は線58にアドレスコンフ
リクトの発生を示すACONF信号を出力する。
クリップフロップ200〜202及びレジスタ218〜
220へのセットは、それぞれセット回路250,22
5によってDS信号の立った時に、IP信号で示される
番号のものに対してなされる。
220へのセットは、それぞれセット回路250,22
5によってDS信号の立った時に、IP信号で示される
番号のものに対してなされる。
クリップフロップ200〜202のリセットは、第2E
ユニツトの演算結果の第2汎用レジスタへの書き込み信
号WC2Gが立った時にリセット回路254によって、
また第2Eユニツトでは演算の行われない命令について
は第1Eユニツトでの演算が開始した時にリセット回路
252によって行われる。
ユニツトの演算結果の第2汎用レジスタへの書き込み信
号WC2Gが立った時にリセット回路254によって、
また第2Eユニツトでは演算の行われない命令について
は第1Eユニツトでの演算が開始した時にリセット回路
252によって行われる。
レジスタ237,204は、OPlの遅延信号を作成す
る。レジスタ236,543はBOP lの遅延信号を
作成する。
る。レジスタ236,543はBOP lの遅延信号を
作成する。
第9C図に、フリップフロップ200〜202゜258
、レジスタ218〜220,228、比較器224,2
30、ACONF信号58のタイムチャートを示す。
、レジスタ218〜220,228、比較器224,2
30、ACONF信号58のタイムチャートを示す。
条件コードコンフリクトか漬る場合、この場合の装置と
その動作説明のために以下では、L(1)。
その動作説明のために以下では、L(1)。
A、BCがこの順に実行され、L(2)命令が実行され
るものとする。また、これらの命令間およびこれらに先
行する命令とこれらの命令の間でアドレスコンフリクト
がないと仮定する。
るものとする。また、これらの命令間およびこれらに先
行する命令とこれらの命令の間でアドレスコンフリクト
がないと仮定する。
(BC命令の処理)
このときの動作のタイムチャートは第11A〜11B図
に示される。ただし、この図では、条件コードコンフリ
クトの動作の理解に必要な信号のみを示しである。
に示される。ただし、この図では、条件コードコンフリ
クトの動作の理解に必要な信号のみを示しである。
L(1)、A命令は先に述べたのと全く同じように実行
され、BC命令のDステージがサイクルc2で実行され
ると仮定する。
され、BC命令のDステージがサイクルc2で実行され
ると仮定する。
BC命令のり、D’ステージにおいては、L (1)
。
。
人命令と同様に加算器24でアドレスが算出されるが、
このアドレスは分岐先の命令のアドレスでめる。BC命
令のデコーダ12による解読情報は、他の命令と同じよ
うにデコード成功信号DS(これはタイミングC2,T
lで出力される)に応答して命令キューレジヌタ14に
格納される。また、デコーダ12の出力の内、分岐命令
表示信号MARKが線42を介して条件コードコンフリ
クト検出回路36に送られる。回路36は、後述するよ
うに条件コードコンフルクト信号CC0NFをタイミン
グC3,Toで1にする。第1Iユニツト22Aはこの
信号に応答して、後続の命令に対するデコード成功信号
DSの発生を抑市する。こうしてBC命令のり、D’ス
テージが終了する。BC命令のA、A’ステージにおい
ては上述の命令アドレスに基づき主メモリからタイミン
グC5,T。
このアドレスは分岐先の命令のアドレスでめる。BC命
令のデコーダ12による解読情報は、他の命令と同じよ
うにデコード成功信号DS(これはタイミングC2,T
lで出力される)に応答して命令キューレジヌタ14に
格納される。また、デコーダ12の出力の内、分岐命令
表示信号MARKが線42を介して条件コードコンフリ
クト検出回路36に送られる。回路36は、後述するよ
うに条件コードコンフルクト信号CC0NFをタイミン
グC3,Toで1にする。第1Iユニツト22Aはこの
信号に応答して、後続の命令に対するデコード成功信号
DSの発生を抑市する。こうしてBC命令のり、D’ス
テージが終了する。BC命令のA、A’ステージにおい
ては上述の命令アドレスに基づき主メモリからタイミン
グC5,T。
で読出されたしく2)命令がフェッチ回路(図示せず)
の制御によシ命令バッファ6A、6Bの内のターゲット
ストリーム側にタイミングC6,Toに格納される。フ
ェッチ回路はさらに引続き、このL(2)命令につづく
命令列を順次主メモリ26から読出し、ターゲットスト
リーム側の命令バンファ6A又は6Bに順次格納する。
の制御によシ命令バッファ6A、6Bの内のターゲット
ストリーム側にタイミングC6,Toに格納される。フ
ェッチ回路はさらに引続き、このL(2)命令につづく
命令列を順次主メモリ26から読出し、ターゲットスト
リーム側の命令バンファ6A又は6Bに順次格納する。
サイクルC6においては、人命令の第2Eユニツ)20
Bでの演算が終了するため、信号EOP2がこのサイク
ルにおいて出力される。したがって、第2Iユニツト2
2Bよシ信号BOP2がこのサイクルC6で出力される
。このため、BC命令のL2ステージがサイクルC6に
おいて可能となる。
Bでの演算が終了するため、信号EOP2がこのサイク
ルにおいて出力される。したがって、第2Iユニツト2
2Bよシ信号BOP2がこのサイクルC6で出力される
。このため、BC命令のL2ステージがサイクルC6に
おいて可能となる。
L2ステージにおいては、セレクタ16Bによシ選択さ
れた、BCoi’i令の解読情報が第2Eユニツト20
Bにセントδれる。BC合会合必要とする演算は、この
解読情報に基づく分岐成功の判定である。しかし、他の
命令と異なシ、本実施例ではこの判定が条件コードコン
フリクト検出回路36によシなされる。したがって、セ
レクタ16Bの出力は線44Bを介して、この検出回路
36に送られ、そこにセットされる。なお、セレクタ1
6Bの出力は他の命令と同じく、第2Eユニツト20B
にも送られる。
れた、BCoi’i令の解読情報が第2Eユニツト20
Bにセントδれる。BC合会合必要とする演算は、この
解読情報に基づく分岐成功の判定である。しかし、他の
命令と異なシ、本実施例ではこの判定が条件コードコン
フリクト検出回路36によシなされる。したがって、セ
レクタ16Bの出力は線44Bを介して、この検出回路
36に送られ、そこにセットされる。なお、セレクタ1
6Bの出力は他の命令と同じく、第2Eユニツト20B
にも送られる。
また、L2ステージではセレクタ30BがBC命令に関
するデータを選択するように制御される。
するデータを選択するように制御される。
L2ステージの次のステージでは、上述のごとく、分岐
成功判定が回路36で行われ、第2Eユニツト20Bは
実質的に動作しないで、演算終了信号EOP2をサイク
ルC7から出力するのみである。
成功判定が回路36で行われ、第2Eユニツト20Bは
実質的に動作しないで、演算終了信号EOP2をサイク
ルC7から出力するのみである。
しかし、他の命令と同じくこのステージをE2ステージ
と呼ぶことにする。
と呼ぶことにする。
とのE2ステージにおいては、条件コードコンフリクト
検出回路36がレジスタ34Bの出力に基づく分岐成功
判定が可能かどうかを検出する。
検出回路36がレジスタ34Bの出力に基づく分岐成功
判定が可能かどうかを検出する。
この分岐判定がE2ステージで可能となるのは、BC命
令の前の命令が条件コードを変更する命令でかつ第2E
ユニツ)20Bで実行できる命令でるる。したがって、
レジスタ34B内の信号VALIDが1のときである。
令の前の命令が条件コードを変更する命令でかつ第2E
ユニツ)20Bで実行できる命令でるる。したがって、
レジスタ34B内の信号VALIDが1のときである。
分岐判定が可能なときには、判定の終了時に、コンフリ
クト信号CC0NFを0にする。また、判定の結果、分
岐が成功のときには分岐成功信号BCTKNを線74に
出力する。一方、分岐判定不可能のときには、これらの
イh号CC0NFは変化しないし、信号BCTKNは出
力されない。
クト信号CC0NFを0にする。また、判定の結果、分
岐が成功のときには分岐成功信号BCTKNを線74に
出力する。一方、分岐判定不可能のときには、これらの
イh号CC0NFは変化しないし、信号BCTKNは出
力されない。
今の場合、先行する人命令は第2Eユニツト20Bで実
行可能で、かつ、条件コードを変更する命令であるので
、第2Eユニツト20Bから、人命令のE2ステージの
終了後には、レジスタ34B内の信号VALIDは値l
を有する。したがって、回路36は分岐判定可能なもの
として、レジスタ34Bから入力される条件コードCC
2と、命令デコーダ12からすでに入力されているマス
ク信号MASKによ多分岐成功判定を行う。この結果、
分岐成功と判定されたと仮定すると、信号BCTKNが
1となる。これにょシフリップフロップ9が反転される
。また、条件コードコンフリクト信号CC0NFはタイ
ミングC9,TOでゼロになる。こうして、BC命令の
Eステージが終了する。
行可能で、かつ、条件コードを変更する命令であるので
、第2Eユニツト20Bから、人命令のE2ステージの
終了後には、レジスタ34B内の信号VALIDは値l
を有する。したがって、回路36は分岐判定可能なもの
として、レジスタ34Bから入力される条件コードCC
2と、命令デコーダ12からすでに入力されているマス
ク信号MASKによ多分岐成功判定を行う。この結果、
分岐成功と判定されたと仮定すると、信号BCTKNが
1となる。これにょシフリップフロップ9が反転される
。また、条件コードコンフリクト信号CC0NFはタイ
ミングC9,TOでゼロになる。こうして、BC命令の
Eステージが終了する。
次のステージ(これをP2ステージと呼ぶ)では次の動
作が行なわれる。すなわち、フリップフロラ190反転
に伴ない、読出し回路8は分岐先のL(2)命令をタイ
ミングC8,TOで命令レジスタ10にセットする。ま
た、信号CC0NFが0でアシ、また、仮定によシアド
レスコンフリクトがないと仮定しているので、第1Iユ
ニツ)22Aは次の命令に対するデコード成功信号DS
をタイミングC8,TIで出力する。こうして、分岐成
功の場合、分岐先のL(2)命令のDステージサイクル
C8で実行可能となる。なお、読出し回路8はBC命令
のDステージの開始後、分岐不成功時に実行すべき命令
を命令レジスタ10にあらかじめセットする。しだがっ
て、分岐成功判定の結果、分岐不成功のときには、信号
DSに応答して、分岐不成功側の命令が実行される。
作が行なわれる。すなわち、フリップフロラ190反転
に伴ない、読出し回路8は分岐先のL(2)命令をタイ
ミングC8,TOで命令レジスタ10にセットする。ま
た、信号CC0NFが0でアシ、また、仮定によシアド
レスコンフリクトがないと仮定しているので、第1Iユ
ニツ)22Aは次の命令に対するデコード成功信号DS
をタイミングC8,TIで出力する。こうして、分岐成
功の場合、分岐先のL(2)命令のDステージサイクル
C8で実行可能となる。なお、読出し回路8はBC命令
のDステージの開始後、分岐不成功時に実行すべき命令
を命令レジスタ10にあらかじめセットする。しだがっ
て、分岐成功判定の結果、分岐不成功のときには、信号
DSに応答して、分岐不成功側の命令が実行される。
一方、上記従来例においては、人命令の第2Eユニツト
の演算はC8,C9サイクルにて行われ、分岐判定はC
1Oサイクルに行われ、従って、分岐先命令L(2)の
DステージはCI2から開始される。
の演算はC8,C9サイクルにて行われ、分岐判定はC
1Oサイクルに行われ、従って、分岐先命令L(2)の
DステージはCI2から開始される。
ゆえに本発明によればL(2)のDステージは上記従来
例に比較して4サイクル早めることができる。
例に比較して4サイクル早めることができる。
この4サイクルの短縮の内訳けは、Dステージの開始後
、第2Eユニツトによって条件コードが得られるまでの
サイクル数の短縮分2サイクルと、i2Bユニットが第
1Bユニツトに比べL (1)命令を半分のピッチで演
算を行えるため、人命令の第2Eユニツトでの演算が1
サイクル早期に開始できることによる短縮分lサイクル
と、条件コードが得られてから分岐判定及び命令レジス
タへの分岐先命令切り出しを行うまでのサイクル数の短
縮によるlサイクルである。
、第2Eユニツトによって条件コードが得られるまでの
サイクル数の短縮分2サイクルと、i2Bユニットが第
1Bユニツトに比べL (1)命令を半分のピッチで演
算を行えるため、人命令の第2Eユニツトでの演算が1
サイクル早期に開始できることによる短縮分lサイクル
と、条件コードが得られてから分岐判定及び命令レジス
タへの分岐先命令切り出しを行うまでのサイクル数の短
縮によるlサイクルである。
(条件コードコンフリクト検出回路とその動作)条件コ
ードコンフリクト検出回路36の構成は第10図に示す
よ、うに、上記従来例におけると同様でよく、ここでは
概略のみ説明する。
ードコンフリクト検出回路36の構成は第10図に示す
よ、うに、上記従来例におけると同様でよく、ここでは
概略のみ説明する。
フリップ70ング406は、粂件コードコンンリクトの
発生r示すCC0NF’信号を線72に出力する。40
6はBC命令についてDs倍信号立った時にセットされ
、分岐判定回路417からの分岐判定終了信号ENDに
応答して、制御回路404によシリセットされる。
発生r示すCC0NF’信号を線72に出力する。40
6はBC命令についてDs倍信号立った時にセットされ
、分岐判定回路417からの分岐判定終了信号ENDに
応答して、制御回路404によシリセットされる。
アンドゲート409はBC命令の第1Eユニツトでの演
算開始条件をクリップフロップ413に入力する。41
3はこれを、CC1を用いて分岐判定を行う場合の、判
定指令信号J1として分岐判定回路417に出力する。
算開始条件をクリップフロップ413に入力する。41
3はこれを、CC1を用いて分岐判定を行う場合の、判
定指令信号J1として分岐判定回路417に出力する。
アントゲ−1−410はBC命令の第2Eユニツトでの
演算開始条件を7リツプ70ツブ414に入力する。4
14はこれを、CC2’i用いて分岐判定を行う場合の
、判定指令信号J2として分岐判定回路417に出力す
る。
演算開始条件を7リツプ70ツブ414に入力する。4
14はこれを、CC2’i用いて分岐判定を行う場合の
、判定指令信号J2として分岐判定回路417に出力す
る。
レジスタ403は、BC命令のマスクを格納し、分岐判
定回路417に出力する。
定回路417に出力する。
分岐判定回路417は、分岐判定終了を意味するEND
信号と、分岐成功を示すB CTKN信号とを出力する
。
信号と、分岐成功を示すB CTKN信号とを出力する
。
CC0NF、J l、J 2.END、BCTKNの各
信号のタイムチャートを第11B図に示す。
信号のタイムチャートを第11B図に示す。
し発明の効果〕
本発明によれは、システムプログラムのようにLoad
、・Add等の演算ステージの短い命令が大半を占め
るプログラムにおいても第2Eユニツトによって第1E
ユニツトに比較して早期に演算結果を求めることができ
るため、アドレスコンフリクト、BC命令の高速化が実
現できる。最近の大型汎用計算機においては〜システム
プログラムを実行した場合の、1命令当りの平均処理時
間のうち、アドレスコンフリクト及びBC命令の分岐判
定によるものはそれぞれ1096程度と考えられるが、
本発明はこれらを大幅に削減する効果があシ、大型汎用
計算機の高速化に有効と考えられる。
、・Add等の演算ステージの短い命令が大半を占め
るプログラムにおいても第2Eユニツトによって第1E
ユニツトに比較して早期に演算結果を求めることができ
るため、アドレスコンフリクト、BC命令の高速化が実
現できる。最近の大型汎用計算機においては〜システム
プログラムを実行した場合の、1命令当りの平均処理時
間のうち、アドレスコンフリクト及びBC命令の分岐判
定によるものはそれぞれ1096程度と考えられるが、
本発明はこれらを大幅に削減する効果があシ、大型汎用
計算機の高速化に有効と考えられる。
第1A、IB商は本発明による実施例の異なる部分のブ
ロック回路図、第2図は、ディジタルコンピュータを構
成するための第1A図、第1B図の配置を示す。 第3A、3−B図はそれぞれ本発明による実施例で用い
る一つの命令フォーマットの例を示す。 第4図は上記実施例で用いる第1の貼合制御ユニットの
概略回路構成図である。 第5図は上記実施例で用いる第1の演算実行ユニットの
概略構成図である。 第6図は上記実施例で用いる第2の命令制御ユニットの
概略構成図である。 第7図は上記実施例で用いる第2の演算実行ユニットの
概略構成図である。 第8図は上記実施例で用いるアドレスコンフリクト検出
回路の概略構成図である。 第9Aから9O図は、上記実施例のアドレスコンフリク
トがある場合のタイムチャートである。 第9D、9B図は従来例と本実施例における命令処理ス
テージをそれぞれ示す。 第1O図は上記実施例で用いる条件コードコンフリクト
検出回路の概略構成図を示す。 第11AとIIB図は、上記実施例の、条件コードコン
フリクトがある場合のタイムチャートである。 代理人 弁理士 壽士寿≠ 高橋明
ロック回路図、第2図は、ディジタルコンピュータを構
成するための第1A図、第1B図の配置を示す。 第3A、3−B図はそれぞれ本発明による実施例で用い
る一つの命令フォーマットの例を示す。 第4図は上記実施例で用いる第1の貼合制御ユニットの
概略回路構成図である。 第5図は上記実施例で用いる第1の演算実行ユニットの
概略構成図である。 第6図は上記実施例で用いる第2の命令制御ユニットの
概略構成図である。 第7図は上記実施例で用いる第2の演算実行ユニットの
概略構成図である。 第8図は上記実施例で用いるアドレスコンフリクト検出
回路の概略構成図である。 第9Aから9O図は、上記実施例のアドレスコンフリク
トがある場合のタイムチャートである。 第9D、9B図は従来例と本実施例における命令処理ス
テージをそれぞれ示す。 第1O図は上記実施例で用いる条件コードコンフリクト
検出回路の概略構成図を示す。 第11AとIIB図は、上記実施例の、条件コードコン
フリクトがある場合のタイムチャートである。 代理人 弁理士 壽士寿≠ 高橋明
Claims (1)
- 1、 パイプラインモードで各命令を複数のステージに
分けて実行するデータ処理装置であって、命令の実行を
制御する命令制御手段と、実行可能な命令を順次解読し
、それぞれの演算ステージ実行に必要なデータを最短で
N2サイクルピンチにて生成する手段と、複数の命令に
対して生成されたデータを最短でN2サイクルピッチに
て待行列として格納する手段と、複数の命令が必要とす
る演算を最短でNlサイクルピッチにて実行可能な第1
の演算実行手段と、該複数の命令の内の一部の命令が必
要とする演算を最短でN2サイクルピッチにて実行可能
な第2の演算実行手段とを有し、該命令制御手段は、該
第1の演算実行手段での演算終了に同期して、順次、次
の命令のためのデータを該格納手段から選択して該第1
の演算実行手段に最短でNlサイクルピッチにて送出す
る手段と、該第2の演算実行手段での演算終了に同期し
て、順次次の命令のためのデータを該格納手段から選択
して該第2の演算実行手段に最短N2サイクルピッチに
て送出する手段と、各命令について、その所、定のステ
ージにおいて先行する命令の演算結果を利用するか否か
を検出する手段と、該検出結果が肯定的となった命令に
対しては該所定のステージの実行を、該先行命令に対す
る演算が該第1.第2の演算実行手段のいずれかで終2
該検出手段は、各命令の演算に必要なオペランドアド
レスを算出するステージにおいて、各命令が該先行命令
の演算結果を利用して該アト3、該検出手段は、各命令
の所定のステージにおいて、各命令が該先行命令の演算
の結果により定められ名条件コードを利用して、分岐判
定を4、最短でNlサイクルピンチで発行される該第1
の演算実行手段での演算終了を示す信号は1回の発行に
おいてはN2サイクルの期間オンで、最低でも次の(N
l−N2)サイクルの期間はオフとな如、該命令制御手
段は、この演算終了信号がオンである時にこれに応答し
て次の命令のためのデータを該格納手段から選択して該
第7、上記においてクリップフロンプ、レジスタ等の同
期化に要する論理素子は第1の演算実行手段を構成する
ものも含めてN2サイクルピッチのタイミングパルスに
同期して変更され得ることを特徴とする上記第1.2,
3,4,5.6
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8575283A JPS59212961A (ja) | 1983-05-18 | 1983-05-18 | データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8575283A JPS59212961A (ja) | 1983-05-18 | 1983-05-18 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS59212961A true JPS59212961A (ja) | 1984-12-01 |
JPH0545984B2 JPH0545984B2 (ja) | 1993-07-12 |
Family
ID=13867584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8575283A Granted JPS59212961A (ja) | 1983-05-18 | 1983-05-18 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59212961A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02227730A (ja) * | 1989-01-13 | 1990-09-10 | Internatl Business Mach Corp <Ibm> | データ処理システム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5435654A (en) * | 1977-08-26 | 1979-03-15 | Hitachi Ltd | Information processing unit |
JPS5537663A (en) * | 1978-09-11 | 1980-03-15 | Toshiba Corp | Start system of option hardware |
JPS5829051A (ja) * | 1981-08-17 | 1983-02-21 | Nec Corp | 演算処理装置 |
-
1983
- 1983-05-18 JP JP8575283A patent/JPS59212961A/ja active Granted
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5435654A (en) * | 1977-08-26 | 1979-03-15 | Hitachi Ltd | Information processing unit |
JPS5537663A (en) * | 1978-09-11 | 1980-03-15 | Toshiba Corp | Start system of option hardware |
JPS5829051A (ja) * | 1981-08-17 | 1983-02-21 | Nec Corp | 演算処理装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02227730A (ja) * | 1989-01-13 | 1990-09-10 | Internatl Business Mach Corp <Ibm> | データ処理システム |
Also Published As
Publication number | Publication date |
---|---|
JPH0545984B2 (ja) | 1993-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4532589A (en) | Digital data processor with two operation units | |
JP3984786B2 (ja) | 異なる待ち時間を伴う命令のスケジューリング | |
US4112489A (en) | Data processing systems | |
EP0149213B1 (en) | Vector processor | |
US3728692A (en) | Instruction selection in a two-program counter instruction unit | |
US4476525A (en) | Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously | |
US3881173A (en) | Condition code determination and data processing | |
KR100346515B1 (ko) | 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일 | |
US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
JPH08249181A (ja) | ブランチ予測式データ処理装置および動作方法 | |
JP2653037B2 (ja) | データ処理システム | |
EP0745241B1 (en) | Exception recovery in a data processing system | |
EP0093430A2 (en) | Pipeline data processing system | |
EP0354585B1 (en) | Instruction pipeline microprocessor | |
US5765007A (en) | Microinstruction sequencer having multiple control stores for loading different rank registers in parallel | |
JPH07104784B2 (ja) | デジタルデータ処理装置 | |
US5590359A (en) | Method and apparatus for generating a status word in a pipelined processor | |
JPS59212961A (ja) | データ処理装置 | |
US3644900A (en) | Data-processing device | |
US5682521A (en) | Microprocessor control system which selects operating instructions and operands in an order based upon the number of transferred executable operating instructions | |
JP3808013B2 (ja) | 命令実行装置 | |
JPH03269728A (ja) | パイプライン計算機における命令実行制御方式 | |
JPS6049337B2 (ja) | パイプライン制御方式 | |
JP2901247B2 (ja) | 掃出し制御方式 | |
JPH0545983B2 (ja) |