JPH052484A - スーパースカラプロセツサ - Google Patents
スーパースカラプロセツサInfo
- Publication number
- JPH052484A JPH052484A JP3151867A JP15186791A JPH052484A JP H052484 A JPH052484 A JP H052484A JP 3151867 A JP3151867 A JP 3151867A JP 15186791 A JP15186791 A JP 15186791A JP H052484 A JPH052484 A JP H052484A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- instructions
- register
- cycle
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
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)【要約】
【目的】 この発明の目的は、処理速度のより向上され
たスーパースカラプロセッサを提供することである。 【構成】 1サイクル毎に命令キャッシュ1から複数の
命令が読出されて第2のシフトレジスタSR2に一時的
に記憶される。第2のシフトレジスタSR2に記憶され
た命令は、命令レジスタIR0〜IR3の空いた位置に
転送されてフェッチされる。命令デコーダ3は、命令レ
ジスタIR0〜IR3に記憶された命令の中から並列的
に処理可能な命令を選択して処理ユニット4〜7のいず
れかに出力する。命令レジスタの空き数を示すNUM信
号に基づいてセレクタ制御回路12が各セレクタ100
〜103,200〜203の選択状態を制御する。これ
によって、第2のシフトレジスタSR2に記憶された命
令は、空きの生じた命令レジスタのみに転送される。こ
のように、命令レジスタの空き部分には、毎サイクルご
とに新たな命令が補充される。
たスーパースカラプロセッサを提供することである。 【構成】 1サイクル毎に命令キャッシュ1から複数の
命令が読出されて第2のシフトレジスタSR2に一時的
に記憶される。第2のシフトレジスタSR2に記憶され
た命令は、命令レジスタIR0〜IR3の空いた位置に
転送されてフェッチされる。命令デコーダ3は、命令レ
ジスタIR0〜IR3に記憶された命令の中から並列的
に処理可能な命令を選択して処理ユニット4〜7のいず
れかに出力する。命令レジスタの空き数を示すNUM信
号に基づいてセレクタ制御回路12が各セレクタ100
〜103,200〜203の選択状態を制御する。これ
によって、第2のシフトレジスタSR2に記憶された命
令は、空きの生じた命令レジスタのみに転送される。こ
のように、命令レジスタの空き部分には、毎サイクルご
とに新たな命令が補充される。
Description
【0001】
【産業上の利用分野】この発明は、スーパースカラプロ
セッサに関し、より特定的には、並列に設けられた複数
の処理ユニットによって複数の命令を並列的に実行可能
なプロセッサシステムに関する。
セッサに関し、より特定的には、並列に設けられた複数
の処理ユニットによって複数の命令を並列的に実行可能
なプロセッサシステムに関する。
【0002】
【従来の技術】スーパースカラプロセッサは、スーパー
スカラ方式と呼ばれる並列処理機構を内蔵した高性能の
マイクロプロセッサであり、たとえばS.McGead
y“The i960CA SuperScalar
Implementationof the 8096
0 Architecture”,COMPCON19
90 IEEE p.166〜172やRandy
D.Groves“An IBM Second Ge
neration RISC Processor A
rchitecture”,COMPCON 1990
IEEE p.166〜172に示されている。スー
パースカラ方式では、並列的に設けられた複数の処理ユ
ニットが複数の命令を並列的に処理する。スーパースカ
ラプロセッサは、命令メモリから同時に複数の命令をフ
ェッチし、デコードを実行する。デコードした命令の中
から並列的に処理ができる命令を選んで、処理ユニット
に出力する。
スカラ方式と呼ばれる並列処理機構を内蔵した高性能の
マイクロプロセッサであり、たとえばS.McGead
y“The i960CA SuperScalar
Implementationof the 8096
0 Architecture”,COMPCON19
90 IEEE p.166〜172やRandy
D.Groves“An IBM Second Ge
neration RISC Processor A
rchitecture”,COMPCON 1990
IEEE p.166〜172に示されている。スー
パースカラ方式では、並列的に設けられた複数の処理ユ
ニットが複数の命令を並列的に処理する。スーパースカ
ラプロセッサは、命令メモリから同時に複数の命令をフ
ェッチし、デコードを実行する。デコードした命令の中
から並列的に処理ができる命令を選んで、処理ユニット
に出力する。
【0003】上記のようなスーパースカラプロセッサ
は、従来の通常のマイクロプロセッサに比べて、格段に
処理性能の向上が図れるため、種々の用途への適用が期
待されている。
は、従来の通常のマイクロプロセッサに比べて、格段に
処理性能の向上が図れるため、種々の用途への適用が期
待されている。
【0004】図4に、スーパースカラプロセッサの一般
的な構成を示す。図において、命令メモリ1には、処理
すべき複数の命令が記憶されている。命令フェッチ回路
2は、命令メモリ1から同時に複数の命令(たとえば4
つの命令)を読出してフェッチする。命令デコーダ3
は、命令フェッチ回路2にフェッチされた複数の命令を
デコードし、並列的に処理可能な命令を選んで処理ユニ
ット4〜7に出力する。処理ユニット4〜7は、たとえ
ばパイプライン構造を有し、それぞれが与えられた命令
を独立的に実行する。処理ユニット4〜7における各処
理内容は、任意であってよいが、図4では、処理ユニッ
ト4および5が整数演算ユニットとして構成され、処理
ユニット6がデータメモリ8へのロードあるいはストア
を実行するユニットとして構成され、処理ユニット7が
浮動小数点演算ユニットとして構成されている。データ
メモリ8は、データを格納するメモリである。
的な構成を示す。図において、命令メモリ1には、処理
すべき複数の命令が記憶されている。命令フェッチ回路
2は、命令メモリ1から同時に複数の命令(たとえば4
つの命令)を読出してフェッチする。命令デコーダ3
は、命令フェッチ回路2にフェッチされた複数の命令を
デコードし、並列的に処理可能な命令を選んで処理ユニ
ット4〜7に出力する。処理ユニット4〜7は、たとえ
ばパイプライン構造を有し、それぞれが与えられた命令
を独立的に実行する。処理ユニット4〜7における各処
理内容は、任意であってよいが、図4では、処理ユニッ
ト4および5が整数演算ユニットとして構成され、処理
ユニット6がデータメモリ8へのロードあるいはストア
を実行するユニットとして構成され、処理ユニット7が
浮動小数点演算ユニットとして構成されている。データ
メモリ8は、データを格納するメモリである。
【0005】上記のごとく、図4に示すスーパースカラ
プロセッサは、複数の命令を同時に並列的に実行できる
ため、通常のマイクロプロセッサに比べて処理速度の向
上が図れる。
プロセッサは、複数の命令を同時に並列的に実行できる
ため、通常のマイクロプロセッサに比べて処理速度の向
上が図れる。
【0006】図4に示すスーパースカラプロセッサは、
図示しないクロック信号に同期して、クロック信号の1
サイクル毎に動作を実行する。図5は、連続する4つの
サイクルにおける図4のスーパースカラプロセッサの命
令フェッチおよび命令出力状況の一例を示す図である。
以下、この図5を参照して、図4に示すスーパースカラ
プロセッサの動作の一例を説明する。
図示しないクロック信号に同期して、クロック信号の1
サイクル毎に動作を実行する。図5は、連続する4つの
サイクルにおける図4のスーパースカラプロセッサの命
令フェッチおよび命令出力状況の一例を示す図である。
以下、この図5を参照して、図4に示すスーパースカラ
プロセッサの動作の一例を説明する。
【0007】(1) サイクル1 サイクル1では、命令フェッチ回路2は命令メモリ1か
ら4つの命令1〜4を順番に読出してフェッチする。命
令フェッチ回路2にフェッチされた4つの命令1〜4は
命令デコーダ3によってデコードされる。このとき、命
令1と並列的に処理し得る他の命令がなかったとする
と、命令デコーダ3は命令フェッチ回路2に最初にフェ
ッチされた命令1のみを取出して処理ユニット4〜7の
いずれかに出力する。命令デコーダ3によって出力され
る命令の番号の下には下線が引かれている。
ら4つの命令1〜4を順番に読出してフェッチする。命
令フェッチ回路2にフェッチされた4つの命令1〜4は
命令デコーダ3によってデコードされる。このとき、命
令1と並列的に処理し得る他の命令がなかったとする
と、命令デコーダ3は命令フェッチ回路2に最初にフェ
ッチされた命令1のみを取出して処理ユニット4〜7の
いずれかに出力する。命令デコーダ3によって出力され
る命令の番号の下には下線が引かれている。
【0008】(2) サイクル2 サイクル2では、命令デコーダ3によって命令2と3と
が並列的に処理可能な命令であると判定される。そし
て、命令デコーダ3は、命令フェッチ回路2から命令2
および3を取出して、それぞれ処理ユニット4〜7のい
ずれかに出力する。
が並列的に処理可能な命令であると判定される。そし
て、命令デコーダ3は、命令フェッチ回路2から命令2
および3を取出して、それぞれ処理ユニット4〜7のい
ずれかに出力する。
【0009】(3) サイクル3 サイクル3では、命令フェッチ回路2に命令4のみが残
っているため、命令デコーダ3は命令フェッチ回路2か
ら命令4を取出して処理ユニット7に出力する。
っているため、命令デコーダ3は命令フェッチ回路2か
ら命令4を取出して処理ユニット7に出力する。
【0010】(4) サイクル4 サイクル4では、命令フェッチ回路2は命令メモリ1か
ら新たな4つの命令5〜8を順次読出してフェッチす
る。このとき、命令デコーダ3は、命令フェッチ回路2
にフェッチされた命令のうち、命令5および6が並列的
に処理可能であると判定し、これら命令5および6をそ
れぞれ処理ユニット4〜7のいずれかに出力する。
ら新たな4つの命令5〜8を順次読出してフェッチす
る。このとき、命令デコーダ3は、命令フェッチ回路2
にフェッチされた命令のうち、命令5および6が並列的
に処理可能であると判定し、これら命令5および6をそ
れぞれ処理ユニット4〜7のいずれかに出力する。
【0011】
【発明が解決しようとする課題】上記のごとく、図4に
示すスーパースカラプロセッサでは、命令フェッチ回路
2は、そこにフェッチされたすべての命令が命令デコー
ダ3によって処理ユニットに出力されるまで、命令メモ
リ1から新たな命令をフェッチすることができない。そ
のため、命令デコーダ3は、4命令単位で各命令間の関
連性を判定することになる。たとえば、命令4と命令5
および6とが並列的に実行可能であったとしても、命令
4と命令5および6とはそれぞれ別のサイクルで処理ユ
ニットに出力されてしまう。これでは、処理ユニット4
〜7の並列処理能力を十分に活用することができず、処
理速度の大幅な向上は望めない。
示すスーパースカラプロセッサでは、命令フェッチ回路
2は、そこにフェッチされたすべての命令が命令デコー
ダ3によって処理ユニットに出力されるまで、命令メモ
リ1から新たな命令をフェッチすることができない。そ
のため、命令デコーダ3は、4命令単位で各命令間の関
連性を判定することになる。たとえば、命令4と命令5
および6とが並列的に実行可能であったとしても、命令
4と命令5および6とはそれぞれ別のサイクルで処理ユ
ニットに出力されてしまう。これでは、処理ユニット4
〜7の並列処理能力を十分に活用することができず、処
理速度の大幅な向上は望めない。
【0012】それゆえに、この発明の目的は、処理速度
がより一層向上されたスーパースカラプロセッサを提供
することである。
がより一層向上されたスーパースカラプロセッサを提供
することである。
【0013】
【課題を解決するための手段】この発明にかかるスーパ
ースカラプロセッサは、サイクリックに動作するもので
あって、複数の処理ユニットと、命令記憶手段と、フェ
ッチ手段と、デコード手段と、空数検出手段と、制御手
段とを備えている。各処理ユニットは並列的に設けら
れ、複数の命令を並列的に実行可能である。命令記憶手
段は、処理すべき複数の命令を記憶している。フェッチ
手段は複数のレジスタを有し、命令記憶手段から複数の
命令をフェッチして各レジスタに記憶する。デコード手
段は、フェッチ手段の各レジスタに記憶された命令を各
サイクルごとにデコードして、並列に実行し得る命令を
選択して処理ユニットに同時に出力する。空数検出手段
は、フェッチ手段における空レジスタの数を各サイクル
ごとに検出する。制御手段は、空数検出手段の検出結果
に応答して、フェッチ手段が命令記憶手段からフェッチ
する命令の数を各サイクルごとに制御する。
ースカラプロセッサは、サイクリックに動作するもので
あって、複数の処理ユニットと、命令記憶手段と、フェ
ッチ手段と、デコード手段と、空数検出手段と、制御手
段とを備えている。各処理ユニットは並列的に設けら
れ、複数の命令を並列的に実行可能である。命令記憶手
段は、処理すべき複数の命令を記憶している。フェッチ
手段は複数のレジスタを有し、命令記憶手段から複数の
命令をフェッチして各レジスタに記憶する。デコード手
段は、フェッチ手段の各レジスタに記憶された命令を各
サイクルごとにデコードして、並列に実行し得る命令を
選択して処理ユニットに同時に出力する。空数検出手段
は、フェッチ手段における空レジスタの数を各サイクル
ごとに検出する。制御手段は、空数検出手段の検出結果
に応答して、フェッチ手段が命令記憶手段からフェッチ
する命令の数を各サイクルごとに制御する。
【0014】
【作用】この発明においては、フェッチ手段における空
レジスタの数を各サイクルごとに検出し、その検出され
た数に応じて、フェッチ手段が命令記憶手段からフェッ
チする命令の数を各サイクルごとに制御するようにして
いる。これによって、フェッチ手段は、そこにフェッチ
されたすべての命令が処理ユニットに出力されることを
待つことなく、次の命令を命令記憶手段からフェッチす
ることができる。その結果、デコード手段によりデコー
ドされる各サイクルごとの命令数が増加し、並列出力さ
れる命令の数を増やすことができる。したがって、複数
の処理ユニットを効率よく稼働させることができ、より
一層の処理速度の向上を図ることができる。
レジスタの数を各サイクルごとに検出し、その検出され
た数に応じて、フェッチ手段が命令記憶手段からフェッ
チする命令の数を各サイクルごとに制御するようにして
いる。これによって、フェッチ手段は、そこにフェッチ
されたすべての命令が処理ユニットに出力されることを
待つことなく、次の命令を命令記憶手段からフェッチす
ることができる。その結果、デコード手段によりデコー
ドされる各サイクルごとの命令数が増加し、並列出力さ
れる命令の数を増やすことができる。したがって、複数
の処理ユニットを効率よく稼働させることができ、より
一層の処理速度の向上を図ることができる。
【0015】
【実施例】図1は、この発明の一実施例の構成を示すブ
ロック図である。図において、この実施例のスーパース
カラプロセッサは、命令キャッシュ1と、プログラムカ
ウンタ9と、第1のシフトレジスタSR1と、第2のシ
フトレジスタSR2と、命令選択用のセレクタ100〜
103と、フラグ選択用のセレクタ200〜203と、
命令レジスタIR0〜IR3と、フラグレジスタFR0
〜FR3と、命令デコーダ3と、処理ユニット4〜7
と、セレクタ300と、加算器10と空数レジスタ11
と、セレクタ制御回路12とを備えている。
ロック図である。図において、この実施例のスーパース
カラプロセッサは、命令キャッシュ1と、プログラムカ
ウンタ9と、第1のシフトレジスタSR1と、第2のシ
フトレジスタSR2と、命令選択用のセレクタ100〜
103と、フラグ選択用のセレクタ200〜203と、
命令レジスタIR0〜IR3と、フラグレジスタFR0
〜FR3と、命令デコーダ3と、処理ユニット4〜7
と、セレクタ300と、加算器10と空数レジスタ11
と、セレクタ制御回路12とを備えている。
【0016】命令メモリとしての命令キャッシュ1は、
複数の命令を記憶している。プログラムカウンタ9は、
1サイクルの間に命令キャッシュ1からフェッチする4
命令の最初のアドレスを保持している。プログラムカウ
ンタ9は、1サイクルの間に4回カウント動作を行なう
ことにより、4つの命令のアドレスを命令キャッシュ1
に与える。これによって、命令キャッシュ1から1サイ
クルごとに4つの命令が読出される。プログラムカウン
タ9に保持されるアドレスの内容は、スーパースカラプ
ロセッサシステムの要求に応じて変更される。プログラ
ムカウンタ9から与えられるアドレスに対応する命令が
命令キャッシュ1内に存在しない場合は、図示しない外
部メモリがアクセスされる。外部メモリから読出された
命令は、命令キャッシュ1に転送されてそこに書込まれ
る。外部メモリから命令キャッシュ1への命令の転送に
は、通常数サイクル分かかる。命令を転送しているサイ
クルの間、命令キャッシュ1は命令を出力しない。した
がって、この間は命令キャッシュ1から命令をフェッチ
することができない。命令キャッシュ1は、命令が読出
されたサイクルにおいてはICR信号を論理1とし、命
令が読出されなかったサイクルにおいてはICR信号を
論理0とする。ICR信号は、セレクタ200〜203
の各B端子に与えられるとともに、セレクタ300に制
御信号として与えられる。
複数の命令を記憶している。プログラムカウンタ9は、
1サイクルの間に命令キャッシュ1からフェッチする4
命令の最初のアドレスを保持している。プログラムカウ
ンタ9は、1サイクルの間に4回カウント動作を行なう
ことにより、4つの命令のアドレスを命令キャッシュ1
に与える。これによって、命令キャッシュ1から1サイ
クルごとに4つの命令が読出される。プログラムカウン
タ9に保持されるアドレスの内容は、スーパースカラプ
ロセッサシステムの要求に応じて変更される。プログラ
ムカウンタ9から与えられるアドレスに対応する命令が
命令キャッシュ1内に存在しない場合は、図示しない外
部メモリがアクセスされる。外部メモリから読出された
命令は、命令キャッシュ1に転送されてそこに書込まれ
る。外部メモリから命令キャッシュ1への命令の転送に
は、通常数サイクル分かかる。命令を転送しているサイ
クルの間、命令キャッシュ1は命令を出力しない。した
がって、この間は命令キャッシュ1から命令をフェッチ
することができない。命令キャッシュ1は、命令が読出
されたサイクルにおいてはICR信号を論理1とし、命
令が読出されなかったサイクルにおいてはICR信号を
論理0とする。ICR信号は、セレクタ200〜203
の各B端子に与えられるとともに、セレクタ300に制
御信号として与えられる。
【0017】命令キャッシュ1から読出された4つの命
令は、一旦第2のシフトレジスタSR2に記憶される。
第2のシフトレジスタSR2は、それぞれが1命令を記
憶し得る単位レジスタを4つ縦続接続して構成されてい
る。第2のシフトレジスタSR2は、記憶した命令を所
定量だけ右へシフトした後、各単位レジスタの記憶内容
を並列に出力する。第2のシフトレジスタSR2のシフ
ト量は、セレクタ300から与えられるNUM信号によ
って制御される。このシフト動作によって、不要な命令
が除去され、命令レジスタIR0〜IR3の空き数に対
応する数だけの命令が残される。第2のシフトレジスタ
SR2の各単位レジスタからの並列出力は、セレクタ1
00〜103の各b端子に与えられる。
令は、一旦第2のシフトレジスタSR2に記憶される。
第2のシフトレジスタSR2は、それぞれが1命令を記
憶し得る単位レジスタを4つ縦続接続して構成されてい
る。第2のシフトレジスタSR2は、記憶した命令を所
定量だけ右へシフトした後、各単位レジスタの記憶内容
を並列に出力する。第2のシフトレジスタSR2のシフ
ト量は、セレクタ300から与えられるNUM信号によ
って制御される。このシフト動作によって、不要な命令
が除去され、命令レジスタIR0〜IR3の空き数に対
応する数だけの命令が残される。第2のシフトレジスタ
SR2の各単位レジスタからの並列出力は、セレクタ1
00〜103の各b端子に与えられる。
【0018】セレクタ100〜103の各a端子には、
第1のシフトレジスタSR1に記憶された命令が与えら
れる。セレクタ200〜203の各a端子には、第1の
シフトレジスタSR1に記憶されたフラグが与えられ
る。各セレクタ100〜103,200〜203におけ
る選択はセレクタ制御回路12によって制御される。セ
レクタ制御回路12は、セレクタ300からのNUM信
号に基づいて、各セレクタでの選択状態を制御する。
第1のシフトレジスタSR1に記憶された命令が与えら
れる。セレクタ200〜203の各a端子には、第1の
シフトレジスタSR1に記憶されたフラグが与えられ
る。各セレクタ100〜103,200〜203におけ
る選択はセレクタ制御回路12によって制御される。セ
レクタ制御回路12は、セレクタ300からのNUM信
号に基づいて、各セレクタでの選択状態を制御する。
【0019】セレクタ100〜103の出力は、それぞ
れ、命令レジスタIR0〜IR3に与えられる。セレク
タ200〜203の出力は、それぞれ、フラグレジスタ
FR0〜FR3に与えられる。命令デコーダ3は、命令
レジスタIR0〜IR3に記憶された命令をデコードす
ることにより、並列的に処理し得る命令を選択して処理
ユニット4〜7に出力する。このとき、命令デコーダ3
は、フラグレジスタFR0〜FR3に記憶されているフ
ラグを参照し、有効な命令のみをデコードの対象とす
る。その後、命令デコーダ3は、命令レジスタIR0〜
IR3およびフラグレジスタFR0〜FR3に記憶され
ているデータを第1のシフトレジスタSR1に転送する
とともに、CNT信号を出力する。CNT信号は、命令
デコーダ3によって処理ユニット4〜6に出力された命
令の数を表わす信号である。なお、命令デコーダ3は、
処理ユニット4〜7のいずれかの動作が停止していると
き、処理ユニット4〜7からのBUSY信号に応答し
て、デコード動作を停止する。処理ユニットの動作が停
止する原因としては、たとえば処理ユニット6において
データメモリからなかなかデータが送られてこず、次の
処理へ進めない場合等が考えられる。
れ、命令レジスタIR0〜IR3に与えられる。セレク
タ200〜203の出力は、それぞれ、フラグレジスタ
FR0〜FR3に与えられる。命令デコーダ3は、命令
レジスタIR0〜IR3に記憶された命令をデコードす
ることにより、並列的に処理し得る命令を選択して処理
ユニット4〜7に出力する。このとき、命令デコーダ3
は、フラグレジスタFR0〜FR3に記憶されているフ
ラグを参照し、有効な命令のみをデコードの対象とす
る。その後、命令デコーダ3は、命令レジスタIR0〜
IR3およびフラグレジスタFR0〜FR3に記憶され
ているデータを第1のシフトレジスタSR1に転送する
とともに、CNT信号を出力する。CNT信号は、命令
デコーダ3によって処理ユニット4〜6に出力された命
令の数を表わす信号である。なお、命令デコーダ3は、
処理ユニット4〜7のいずれかの動作が停止していると
き、処理ユニット4〜7からのBUSY信号に応答し
て、デコード動作を停止する。処理ユニットの動作が停
止する原因としては、たとえば処理ユニット6において
データメモリからなかなかデータが送られてこず、次の
処理へ進めない場合等が考えられる。
【0020】命令デコーダ3から出力されるCNT信号
は、第1のシフトレジスタSR1,セレクタ300およ
び加算器10に与えられる。第1のシフトレジスタSR
1は、命令デコーダ3から転送されてきた命令およびフ
ラグを、CNT信号に対応する数だけ左方向へシフトす
る。このシフト動作によって、前回のサイクルにおいて
処理ユニットに出力されなかった命令が左に詰められ
る。シフト動作後、第1のシフトレジスタSR1はそこ
に記憶されている命令およびフラグをセレクタ100〜
103および200〜203に出力する。
は、第1のシフトレジスタSR1,セレクタ300およ
び加算器10に与えられる。第1のシフトレジスタSR
1は、命令デコーダ3から転送されてきた命令およびフ
ラグを、CNT信号に対応する数だけ左方向へシフトす
る。このシフト動作によって、前回のサイクルにおいて
処理ユニットに出力されなかった命令が左に詰められ
る。シフト動作後、第1のシフトレジスタSR1はそこ
に記憶されている命令およびフラグをセレクタ100〜
103および200〜203に出力する。
【0021】セレクタ300は、命令キャッシュ1から
のICR信号に応答して、命令デコーダ3からのCNT
信号と加算器10の出力とのいずれかを選択してNUM
信号を出力する。NUM信号は、命令レジスタIR0〜
IR3の空き数を示すものである。NUM信号は、前述
のように第2のシフトレジスタSR2,セレクタ制御回
路12に与えられるとともに、空数レジスタ11に与え
られる。空数レジスタ11は、NUM信号を、一時的に
記憶する。空数レジスタ11の出力REGは、加算器1
0に与えられる。加算器10は、命令デコーダ3からの
CNT信号と空数レジスタ11の出力REGとを加算す
る。
のICR信号に応答して、命令デコーダ3からのCNT
信号と加算器10の出力とのいずれかを選択してNUM
信号を出力する。NUM信号は、命令レジスタIR0〜
IR3の空き数を示すものである。NUM信号は、前述
のように第2のシフトレジスタSR2,セレクタ制御回
路12に与えられるとともに、空数レジスタ11に与え
られる。空数レジスタ11は、NUM信号を、一時的に
記憶する。空数レジスタ11の出力REGは、加算器1
0に与えられる。加算器10は、命令デコーダ3からの
CNT信号と空数レジスタ11の出力REGとを加算す
る。
【0022】以下に、図1に示す実施例のより詳細な動
作を説明する。まず、命令レジスタIR0〜IR3の空
き数の検出方法を説明する。今、あるサイクルにおい
て、命令レジスタIR0〜IR3の空いたところに命令
キャッシュ1から新たな命令をフェッチできた場合、そ
のサイクルでの命令レジスタの空き数NUMは、そのサ
イクルにおいて命令デコーダ3によって命令レジスタか
ら処理ユニットに出力された命令の数CNTと等しくな
る。すなわち、NUM=CNTとなる。命令キャッシュ
1から命令がフェッチできたときは、ICR信号が論理
1となるので、セレクタ300は、命令デコーダ3から
出力されるCNT信号(命令レジスタから処理ユニット
に転送された命令の数を示している)を選択してNUM
信号を出力する。したがって、NUM信号は、命令レジ
スタの空き数と一致する。
作を説明する。まず、命令レジスタIR0〜IR3の空
き数の検出方法を説明する。今、あるサイクルにおい
て、命令レジスタIR0〜IR3の空いたところに命令
キャッシュ1から新たな命令をフェッチできた場合、そ
のサイクルでの命令レジスタの空き数NUMは、そのサ
イクルにおいて命令デコーダ3によって命令レジスタか
ら処理ユニットに出力された命令の数CNTと等しくな
る。すなわち、NUM=CNTとなる。命令キャッシュ
1から命令がフェッチできたときは、ICR信号が論理
1となるので、セレクタ300は、命令デコーダ3から
出力されるCNT信号(命令レジスタから処理ユニット
に転送された命令の数を示している)を選択してNUM
信号を出力する。したがって、NUM信号は、命令レジ
スタの空き数と一致する。
【0023】一方、別のサイクルにおいて、命令キャッ
シュ1から命令が読出せなかった場合、命令レジスタI
R0〜IR3には新たな命令がフェッチされない。その
ため、命令レジスタの空き数NUMは、前回のサイクル
における空き数REG(空数レジスタ11に記憶されて
いる)と今回のサイクルで命令デコーダ3により命令レ
ジスタから処理ユニットに出力された命令の数CNTと
の和になる。すなわち、NUM=REG+CNTとな
る。命令キャッシュ1から命令がフェッチできなかった
場合は、ICR信号が論理0となるので、セレクタ30
0は、加算器10の出力を選択してNUM信号を出力す
る。加算器10は、命令デコーダ3からのCNT信号と
空数レジスタ11からのREG信号とを加算する。した
がって、セレクタ300から出力されるNUM信号は、
命令レジスタの空き数と一致する。
シュ1から命令が読出せなかった場合、命令レジスタI
R0〜IR3には新たな命令がフェッチされない。その
ため、命令レジスタの空き数NUMは、前回のサイクル
における空き数REG(空数レジスタ11に記憶されて
いる)と今回のサイクルで命令デコーダ3により命令レ
ジスタから処理ユニットに出力された命令の数CNTと
の和になる。すなわち、NUM=REG+CNTとな
る。命令キャッシュ1から命令がフェッチできなかった
場合は、ICR信号が論理0となるので、セレクタ30
0は、加算器10の出力を選択してNUM信号を出力す
る。加算器10は、命令デコーダ3からのCNT信号と
空数レジスタ11からのREG信号とを加算する。した
がって、セレクタ300から出力されるNUM信号は、
命令レジスタの空き数と一致する。
【0024】命令キャッシュ1から読出された命令のう
ち、命令レジスタIR0〜IR3にストアされる命令の
数は、命令レジスタの空き数NUMである。つまり、空
きの生じた命令レジスタに命令が補充される。同じサイ
クルで命令キャッシュ1から読出された4つの命令は、
命令レジスタの空き数に一致する数まで削減された後、
セレクタ100〜103を介して命令レジスタIR0〜
IR3にストアされる。命令数の削減は、第2のシフト
レジスタSR2において行なわれる。すなわち、第2の
シフトレジスタSR2は、命令キャッシュ1から読出し
た4つの命令を、セレクタ300からのNUM信号で示
される命令レジスタの空き数に対応する量だけシフトさ
せて、不要な命令を捨て去る。第2のシフトレジスタS
R2のより詳しい動作は、後述する。
ち、命令レジスタIR0〜IR3にストアされる命令の
数は、命令レジスタの空き数NUMである。つまり、空
きの生じた命令レジスタに命令が補充される。同じサイ
クルで命令キャッシュ1から読出された4つの命令は、
命令レジスタの空き数に一致する数まで削減された後、
セレクタ100〜103を介して命令レジスタIR0〜
IR3にストアされる。命令数の削減は、第2のシフト
レジスタSR2において行なわれる。すなわち、第2の
シフトレジスタSR2は、命令キャッシュ1から読出し
た4つの命令を、セレクタ300からのNUM信号で示
される命令レジスタの空き数に対応する量だけシフトさ
せて、不要な命令を捨て去る。第2のシフトレジスタS
R2のより詳しい動作は、後述する。
【0025】命令キャッシュ1からフェッチされた命令
は、フェッチされた順番で処理ユニットにおいて処理さ
れなければならない。フェッチされた命令の処理の順序
性を保つためには、命令レジスタIR0〜IR3に記憶
されている命令が、古くフェッチされた順番で並んでい
ることが好ましい。なぜならば、こうすることによって
どの命令レジスタに記憶されている命令が一番最初に処
理されなければならないかを命令デコーダ3が容易に判
断できるためである。命令レジスタIR0〜IR3にお
ける各命令の順序性を保つために、第1のシフトレジス
タSR1は、各サイクル毎に各命令レジスタに記憶され
ている命令の入換えを行なう。すなわち、第1のシフト
レジスタSR1は、命令デコーダ3から受け取った命令
およびフラグを、命令デコーダ3からのCNT信号に対
応する量だけ左方向へシフトさせる。これによって、一
番古くフェッチされた命令およびそれに対応するフラグ
の位置が左端へ詰められる。このシフト動作の後、第1
のシフトレジスタSR1の出力を各命令レジスタおよび
フラグレジスタに転送すれば、命令レジスタIR0,フ
ラグレジスタFR0には、最も古くフェッチされた命令
およびそれに対応するフラグが記憶されることになる。
さらに、(命令レジスタIR1,フラグレジスタFR
1),(命令レジスタIR2,フラグレジスタFR
2),(命令レジスタIR3,フラグレジスタFR3)
の順番で、より古い命令およびそれに対応るすフラグが
記憶されることになる。したがって、命令デコーダ3
は、常に左端の命令レジスタIR0を起点として各命令
レジスタに記憶された命令の並列実行性を判断する。第
1のシフトレジスタSR1のより詳細な動作は、後述す
る。
は、フェッチされた順番で処理ユニットにおいて処理さ
れなければならない。フェッチされた命令の処理の順序
性を保つためには、命令レジスタIR0〜IR3に記憶
されている命令が、古くフェッチされた順番で並んでい
ることが好ましい。なぜならば、こうすることによって
どの命令レジスタに記憶されている命令が一番最初に処
理されなければならないかを命令デコーダ3が容易に判
断できるためである。命令レジスタIR0〜IR3にお
ける各命令の順序性を保つために、第1のシフトレジス
タSR1は、各サイクル毎に各命令レジスタに記憶され
ている命令の入換えを行なう。すなわち、第1のシフト
レジスタSR1は、命令デコーダ3から受け取った命令
およびフラグを、命令デコーダ3からのCNT信号に対
応する量だけ左方向へシフトさせる。これによって、一
番古くフェッチされた命令およびそれに対応するフラグ
の位置が左端へ詰められる。このシフト動作の後、第1
のシフトレジスタSR1の出力を各命令レジスタおよび
フラグレジスタに転送すれば、命令レジスタIR0,フ
ラグレジスタFR0には、最も古くフェッチされた命令
およびそれに対応するフラグが記憶されることになる。
さらに、(命令レジスタIR1,フラグレジスタFR
1),(命令レジスタIR2,フラグレジスタFR
2),(命令レジスタIR3,フラグレジスタFR3)
の順番で、より古い命令およびそれに対応るすフラグが
記憶されることになる。したがって、命令デコーダ3
は、常に左端の命令レジスタIR0を起点として各命令
レジスタに記憶された命令の並列実行性を判断する。第
1のシフトレジスタSR1のより詳細な動作は、後述す
る。
【0026】図2は、図1に示す実施例の動作の一例を
示す図である。以下、この図2を参照して、図1に示す
実施例の動作の具体例を各サイクル別に説明する。
示す図である。以下、この図2を参照して、図1に示す
実施例の動作の具体例を各サイクル別に説明する。
【0027】(1) サイクル1 サイクル1では、命令キャッシュ1から命令が読出され
ているので、ICR信号は論理1となっている。このと
き、命令デコーダIR0に記憶された命令1のみが、命
令デコーダ3によって処理ユニット4〜7のいずれかに
出力される。すなわち、他の命令2〜4は命令1と並列
処理ができないと判断されており、命令1のみが処理の
対象とされている。したがって、命令デコーダ3から出
力されるCNT信号の値は1となっている。ICR信号
が論理1であるため、選択300はCNT信号を選択し
てNUM信号を出力する。したがって、NUM信号の値
は1となる。NUM信号は空数レジスタ11に記憶され
る。
ているので、ICR信号は論理1となっている。このと
き、命令デコーダIR0に記憶された命令1のみが、命
令デコーダ3によって処理ユニット4〜7のいずれかに
出力される。すなわち、他の命令2〜4は命令1と並列
処理ができないと判断されており、命令1のみが処理の
対象とされている。したがって、命令デコーダ3から出
力されるCNT信号の値は1となっている。ICR信号
が論理1であるため、選択300はCNT信号を選択し
てNUM信号を出力する。したがって、NUM信号の値
は1となる。NUM信号は空数レジスタ11に記憶され
る。
【0028】(2) サイクル2 空数レジスタ11には、前のサイクル(サイクル1)に
おける命令レジスタの空き数(1)が記憶されている。
サイクル2では、図2に示すように、前のサイクルで処
理ユニットに出力されなかった命令2,3,4が、第1
のシフトレジスタSR1によって、それぞれ、命令レジ
スタIR0,IR1,IR2に入換えられている。ま
た、このとき第2のシフトレジスタSR2には、命令キ
ャッシュ1から読出した命令5,6,7,8が記憶され
ている。第2のシフトレジスタSR2は、NUM信号に
よって決定される回数(この場合は3回)だけシフト動
作を行なうことにより、命令6,7,8を削除し、命令
5のみを残す。この命令5は、セレクタ103を介して
命令レジスタIR3に転送される。上記のようにサイク
ル2では、命令キャッシュ1から命令が読出されている
ので、ICR信号は論理1となっている。一方、命令デ
コーダ3は、命令レジスタIR0,IR1に記憶された
命令2,3が並列処理可能と判定し、これら命令2,3
を処理ユニット4〜7のいずれかに出力する。そのた
め、CNT信号の値は2となっている。ICR信号が論
理1であるため、セレクタ300は、CNT信号を選択
してNUM信号を出力する。したがって、NUM信号の
値は2となる。NUM信号は、空数レジスタ11に記憶
される。
おける命令レジスタの空き数(1)が記憶されている。
サイクル2では、図2に示すように、前のサイクルで処
理ユニットに出力されなかった命令2,3,4が、第1
のシフトレジスタSR1によって、それぞれ、命令レジ
スタIR0,IR1,IR2に入換えられている。ま
た、このとき第2のシフトレジスタSR2には、命令キ
ャッシュ1から読出した命令5,6,7,8が記憶され
ている。第2のシフトレジスタSR2は、NUM信号に
よって決定される回数(この場合は3回)だけシフト動
作を行なうことにより、命令6,7,8を削除し、命令
5のみを残す。この命令5は、セレクタ103を介して
命令レジスタIR3に転送される。上記のようにサイク
ル2では、命令キャッシュ1から命令が読出されている
ので、ICR信号は論理1となっている。一方、命令デ
コーダ3は、命令レジスタIR0,IR1に記憶された
命令2,3が並列処理可能と判定し、これら命令2,3
を処理ユニット4〜7のいずれかに出力する。そのた
め、CNT信号の値は2となっている。ICR信号が論
理1であるため、セレクタ300は、CNT信号を選択
してNUM信号を出力する。したがって、NUM信号の
値は2となる。NUM信号は、空数レジスタ11に記憶
される。
【0029】(3) サイクル3 空数レジスタ11には、前のサイクル(サイクル2)に
おける命令レジスタの空き数(2)が記憶されている。
サイクル3では、図2に示すように、前のサイクルで処
理ユニットに出力されなかった命令4,5が、第1のシ
フトレジスタSR1によって、それぞれ、命令レジスタ
IR0,IR1に入換えられている。また、命令キャッ
シュ1から読出されて第2のシフトレジスタSR2に記
憶された4つの命令6,7,8,9のうち、命令6,7
のみがシフト動作によって残され、セレクタ102,1
03を介して命令レジスタIR2,IR3に転送され
る。このように、サイクル3では、命令キャッシュ1か
ら命令が読出されているので、ICR信号は論理1とな
っている。一方、命令デコーダ3は、命令レジスタIR
0,IR1に記憶された命令4,5が並列処理可能と判
定し、これら命令4,5を処理ユニット4〜7のいずれ
かに転送する。そのため、CNT信号の値は2となって
いる。ICR信号が論理1であるため、セレクタ300
は、CNT信号を選択してNUM信号を出力する。した
がって、NUM信号の値は2となる。NUM信号は、空
数レジスタ11に記憶される。
おける命令レジスタの空き数(2)が記憶されている。
サイクル3では、図2に示すように、前のサイクルで処
理ユニットに出力されなかった命令4,5が、第1のシ
フトレジスタSR1によって、それぞれ、命令レジスタ
IR0,IR1に入換えられている。また、命令キャッ
シュ1から読出されて第2のシフトレジスタSR2に記
憶された4つの命令6,7,8,9のうち、命令6,7
のみがシフト動作によって残され、セレクタ102,1
03を介して命令レジスタIR2,IR3に転送され
る。このように、サイクル3では、命令キャッシュ1か
ら命令が読出されているので、ICR信号は論理1とな
っている。一方、命令デコーダ3は、命令レジスタIR
0,IR1に記憶された命令4,5が並列処理可能と判
定し、これら命令4,5を処理ユニット4〜7のいずれ
かに転送する。そのため、CNT信号の値は2となって
いる。ICR信号が論理1であるため、セレクタ300
は、CNT信号を選択してNUM信号を出力する。した
がって、NUM信号の値は2となる。NUM信号は、空
数レジスタ11に記憶される。
【0030】(4) サイクル4 空数レジスタ11には、前のサイクル(サイクル3)に
おける命令レジスタの空き数(2)が記憶されている。
サイクル4では、図2に示すように、前のサイクルで処
理ユニットに出力されなかった命令6,7が、第1のシ
フトレジスタSR1によって、それぞれ、命令レジスタ
IR0,IR1に入換えられている。サイクル4では、
命令キャッシュ1から命令がなんらかの原因(たとえば
命令キャッシュ1内に読出すべき命令がなく外部メモリ
から命令を転送する必要がある場合)によって読出され
ていないため、ICR信号は論理0となっている。ま
た、第2のシフトレジスタSR2から命令レジスタには
命令が転送されない。そのため、命令レジスタIR2,
IR3は空き状態、すなわち不定データが格納された状
態となっている。一方、命令デコーダ3は、命令レジス
タIR0に記憶された命令6を単独で処理ユニット4〜
7のいずれかに出力する。すなわち、命令デコーダ3
は、命令レジスタIR1に記憶された命令7が命令6と
並列処理不能と判断し、命令6のみを処理ユニットに出
力している。このとき、CNT信号の値は1となってい
る。ICR信号が論理0であるため、セレクタ300は
加算器10の出力を選択してNUM信号を出力する。こ
のとき、加算器10は、CNT信号の値(1)と空数レ
ジスタ11の出力REGの値(2)とを加算するため、
NUM信号の値は3となる。NUM信号は、空数レジス
タ11に記憶される。
おける命令レジスタの空き数(2)が記憶されている。
サイクル4では、図2に示すように、前のサイクルで処
理ユニットに出力されなかった命令6,7が、第1のシ
フトレジスタSR1によって、それぞれ、命令レジスタ
IR0,IR1に入換えられている。サイクル4では、
命令キャッシュ1から命令がなんらかの原因(たとえば
命令キャッシュ1内に読出すべき命令がなく外部メモリ
から命令を転送する必要がある場合)によって読出され
ていないため、ICR信号は論理0となっている。ま
た、第2のシフトレジスタSR2から命令レジスタには
命令が転送されない。そのため、命令レジスタIR2,
IR3は空き状態、すなわち不定データが格納された状
態となっている。一方、命令デコーダ3は、命令レジス
タIR0に記憶された命令6を単独で処理ユニット4〜
7のいずれかに出力する。すなわち、命令デコーダ3
は、命令レジスタIR1に記憶された命令7が命令6と
並列処理不能と判断し、命令6のみを処理ユニットに出
力している。このとき、CNT信号の値は1となってい
る。ICR信号が論理0であるため、セレクタ300は
加算器10の出力を選択してNUM信号を出力する。こ
のとき、加算器10は、CNT信号の値(1)と空数レ
ジスタ11の出力REGの値(2)とを加算するため、
NUM信号の値は3となる。NUM信号は、空数レジス
タ11に記憶される。
【0031】(5) サイクル5 空数レジスタ11には、前のサイクル(サイクル4)に
おける命令レジスタの空き数(3)が記憶されている。
サイクル5では、図2に示すように、前のサイクルで処
理ユニットに出力されなかった命令7が、第1のシフト
レジスタSR1によって、命令レジスタIR0に移し換
えられている。このサイクル5では、命令キャッシュ1
から命令が読出されておらず、ICR信号は論理0とな
っている。また、第2のシフトレジスタSR2から命令
レジスタには命令が転送されていない。そのため、命令
レジスタIR1〜IR3は、空き状態となっている。一
方、命令デコーダ3は、処理ユニットからのBUSY信
号により、いずれかの処理ユニットで動作が停止してい
ると判定し、命令のデコード動作を停止する。したがっ
て、命令レジスタから処理ユニットへは命令が転送され
ない。
おける命令レジスタの空き数(3)が記憶されている。
サイクル5では、図2に示すように、前のサイクルで処
理ユニットに出力されなかった命令7が、第1のシフト
レジスタSR1によって、命令レジスタIR0に移し換
えられている。このサイクル5では、命令キャッシュ1
から命令が読出されておらず、ICR信号は論理0とな
っている。また、第2のシフトレジスタSR2から命令
レジスタには命令が転送されていない。そのため、命令
レジスタIR1〜IR3は、空き状態となっている。一
方、命令デコーダ3は、処理ユニットからのBUSY信
号により、いずれかの処理ユニットで動作が停止してい
ると判定し、命令のデコード動作を停止する。したがっ
て、命令レジスタから処理ユニットへは命令が転送され
ない。
【0032】そのため、CNT信号の値は0となってい
る。ICR信号が論理0であるため、セレクタ300は
加算器10の出力を選択してNUM信号を出力する。こ
のとき、加算器10はCNT信号の値(0)と空数レジ
スタ11の出力REGの値(3)とを加算するための、
NUM信号の値は3となっている。NUM信号は、空数
レジスタ11に記憶される。
る。ICR信号が論理0であるため、セレクタ300は
加算器10の出力を選択してNUM信号を出力する。こ
のとき、加算器10はCNT信号の値(0)と空数レジ
スタ11の出力REGの値(3)とを加算するための、
NUM信号の値は3となっている。NUM信号は、空数
レジスタ11に記憶される。
【0033】(6) サイクル6 空数レジスタ11には、前のサイクル(サイクル6)に
おける命令レジスタの空き数(3)が記憶されている。
サイクル6では、命令キャッシュ1から命令8,9,1
0,11が読出されて第2のシフトレジスタSR2に記
憶される。これら命令8,9,10,11のうち、命令
8,9,10がシフト動作によって残され、セレクタ1
01,102,103を介して命令レジスタIR1,I
R2,IR3に転送される。このようにサイクル6で
は、命令キャッシュ1から命令が読出されているので、
ICR信号は論理1となっている。一方、命令デコーダ
3は、命令レジスタIR0〜IR3に記憶された命令の
うち、命令7,8,9が並列処理可能と判定し、これら
命令7,8,9を、処理ユニット4〜7のいずれかに出
力する。そのため、CNT信号の値は3となる。ICR
信号が論理1であるため、セレクタ300はCNT信号
を選択してNUM信号を出力する。したがって、NUM
信号の値は3となる。NUM信号は空数レジスタ11に
記憶される。
おける命令レジスタの空き数(3)が記憶されている。
サイクル6では、命令キャッシュ1から命令8,9,1
0,11が読出されて第2のシフトレジスタSR2に記
憶される。これら命令8,9,10,11のうち、命令
8,9,10がシフト動作によって残され、セレクタ1
01,102,103を介して命令レジスタIR1,I
R2,IR3に転送される。このようにサイクル6で
は、命令キャッシュ1から命令が読出されているので、
ICR信号は論理1となっている。一方、命令デコーダ
3は、命令レジスタIR0〜IR3に記憶された命令の
うち、命令7,8,9が並列処理可能と判定し、これら
命令7,8,9を、処理ユニット4〜7のいずれかに出
力する。そのため、CNT信号の値は3となる。ICR
信号が論理1であるため、セレクタ300はCNT信号
を選択してNUM信号を出力する。したがって、NUM
信号の値は3となる。NUM信号は空数レジスタ11に
記憶される。
【0034】上記のごとく、図1に示す実施例では、命
令レジスタIR0〜IR3にフェッチされた命令のすべ
てが処理ユニットに出力されるのを待つことなく、新た
な命令を命令キャッシュ1から読出して命令レジスタの
空いた部分にフェッチすることができる。したがって、
並列実行性の判断対象が図5に示すように所定命令数ご
とに区切られることがなくなり、各処理ユニットの効率
的な活用が図れる。
令レジスタIR0〜IR3にフェッチされた命令のすべ
てが処理ユニットに出力されるのを待つことなく、新た
な命令を命令キャッシュ1から読出して命令レジスタの
空いた部分にフェッチすることができる。したがって、
並列実行性の判断対象が図5に示すように所定命令数ご
とに区切られることがなくなり、各処理ユニットの効率
的な活用が図れる。
【0035】次に、図1に示す実施例の各部の詳細動作
を説明する。まず、第1のシフトレジスタSR1の動作
を説明する。第1のシフトレジスタSR1は、命令デコ
ーダ3から与えられる命令およびフラグを左方向へシフ
トする。命令およびフラグは、対応するもの同士が対に
してシフトされる。第1のシフトレジスタSR1のシフ
ト量は、命令デコーダ3からのCNT信号によって決定
される。すなわち、第1のシフトレジスタSR1は、命
令デコーダ3が命令レジスタから処理ユニットに出力し
た命令の数だけシフト動作を行なう。つまり、第1のシ
フトレジスタSR1のシフト量は、下記のように制御さ
れる。
を説明する。まず、第1のシフトレジスタSR1の動作
を説明する。第1のシフトレジスタSR1は、命令デコ
ーダ3から与えられる命令およびフラグを左方向へシフ
トする。命令およびフラグは、対応するもの同士が対に
してシフトされる。第1のシフトレジスタSR1のシフ
ト量は、命令デコーダ3からのCNT信号によって決定
される。すなわち、第1のシフトレジスタSR1は、命
令デコーダ3が命令レジスタから処理ユニットに出力し
た命令の数だけシフト動作を行なう。つまり、第1のシ
フトレジスタSR1のシフト量は、下記のように制御さ
れる。
【0036】 CNT=0(出力命令数0):シフトしない CNT=1(出力命令数1):左へ1シフトする CNT=2(出力命令数2):左へ2シフトする CNT=3(出力命令数3):左へ3シフトする CNT=4(出力命令数4):シフトしない たとえば、命令レジスタIR0,IR1,IR2,IR
3に、命令1,2,3,4が記憶されており、命令1の
みが処理ユニットに出力された場合、CNT=1とな
る。そのため、第1のシフトレジスタSR1は左へ1回
シフト動作を行なう。したがって、シフト動作後の命令
の順序は、2,3,4,Xとなる。なお、Xは空き状態
を表わす。同様に、各フラグも、対応する命令とともに
シフトされる。シフト動作後、第1のシフトレジスタS
R1は各命令およびフラグを並列に出力する。並列に出
力された命令は、セレクタ100〜103によって選択
されて命令レジスタIR0〜IR3に書込まれる。同様
に、並列に出力されたフラグは、セレクタ200〜20
3によって選択されてフラグレジスタFR0〜FR3に
書込まれる。
3に、命令1,2,3,4が記憶されており、命令1の
みが処理ユニットに出力された場合、CNT=1とな
る。そのため、第1のシフトレジスタSR1は左へ1回
シフト動作を行なう。したがって、シフト動作後の命令
の順序は、2,3,4,Xとなる。なお、Xは空き状態
を表わす。同様に、各フラグも、対応する命令とともに
シフトされる。シフト動作後、第1のシフトレジスタS
R1は各命令およびフラグを並列に出力する。並列に出
力された命令は、セレクタ100〜103によって選択
されて命令レジスタIR0〜IR3に書込まれる。同様
に、並列に出力されたフラグは、セレクタ200〜20
3によって選択されてフラグレジスタFR0〜FR3に
書込まれる。
【0037】次に、第2のシフトレジスタSR2の動作
を説明する。第2のシフトレジスタSR2は、命令キャ
ッシュ1から読出した4つの命令を右方向へシフトす
る。第2のシフトレジスタSR2のシフト量は、セレク
タ300からのNUM信号によって決定される。すなわ
ち、第2のシフトレジスタSR2のシフト量は、下記の
ように制御される。
を説明する。第2のシフトレジスタSR2は、命令キャ
ッシュ1から読出した4つの命令を右方向へシフトす
る。第2のシフトレジスタSR2のシフト量は、セレク
タ300からのNUM信号によって決定される。すなわ
ち、第2のシフトレジスタSR2のシフト量は、下記の
ように制御される。
【0038】 NUM=0(命令レジスタの空き数が0):シフトしな
い NUM=1(命令レジスタの空き数が1):右に3シフ
トする NUM=2(命令レジスタの空き数が2):右に2シフ
トする NUM=3(命令レジスタの空き数が3):右に1シフ
トする NUM=4(命令レジスタの空き数が4):シフトしな
い たとえば、前のサイクルで命令レジスタIR0,IR
1,IR2,IR3に、命令1,2,3,4が記憶され
ており、命令1のみが処理ユニットに出力された場合、
NUM=1となるので、第2のシフトレジスタSR2は
命令キャッシュ1から読出した命令5,6,7,8を右
へ3シフトさせる。したがって、第2のシフトレジスタ
SR2におけるシフト後の命令は、X,X,X,5とな
る。命令5は、セレクタ103を介して命令レジスタI
R3に書込まれる。なお、命令レジスタIR0,IR
1,IR2には、第1のシフトレジスタSR1によっ
て、命令2,3,4が書込まれている。
い NUM=1(命令レジスタの空き数が1):右に3シフ
トする NUM=2(命令レジスタの空き数が2):右に2シフ
トする NUM=3(命令レジスタの空き数が3):右に1シフ
トする NUM=4(命令レジスタの空き数が4):シフトしな
い たとえば、前のサイクルで命令レジスタIR0,IR
1,IR2,IR3に、命令1,2,3,4が記憶され
ており、命令1のみが処理ユニットに出力された場合、
NUM=1となるので、第2のシフトレジスタSR2は
命令キャッシュ1から読出した命令5,6,7,8を右
へ3シフトさせる。したがって、第2のシフトレジスタ
SR2におけるシフト後の命令は、X,X,X,5とな
る。命令5は、セレクタ103を介して命令レジスタI
R3に書込まれる。なお、命令レジスタIR0,IR
1,IR2には、第1のシフトレジスタSR1によっ
て、命令2,3,4が書込まれている。
【0039】次に、セレクタ制御回路12の動作につい
て説明する。たとえば、前のサイクルで命令レジスタI
R0,IR1,IR2,IR3に、命令1,2,3,4
が記憶されており、そのうち命令1のみが処理ユニット
に出力された場合を想定する。この場合、CNT=1と
なる。もし、今回のサイクルで命令キャッシュ1から命
令が読出された場合、ICR信号が論理1となり、セレ
クタ300によってCNT信号がNUM信号として選択
される。そのため、NUM信号の値は1となる。第1の
シフトレジスタSR1が命令デコーダ3から受け取った
命令1,2,3,4は左に1シフトされるため、シフト
動作後における第1のシフトレジスタSR1の命令出力
は、2,3,4,Xとなる。一方、第2のシフトレジス
タSR2では、命令キャッシュ1から読出した4つの命
令5,6,7,8が右へ3シフトされるので、第2のシ
フトレジスタSR2の命令出力は、X,X,X,5とな
る。セレクタ100〜103は、NUM信号に応答する
セレクタ制御回路12によって次のように選択を行な
う。
て説明する。たとえば、前のサイクルで命令レジスタI
R0,IR1,IR2,IR3に、命令1,2,3,4
が記憶されており、そのうち命令1のみが処理ユニット
に出力された場合を想定する。この場合、CNT=1と
なる。もし、今回のサイクルで命令キャッシュ1から命
令が読出された場合、ICR信号が論理1となり、セレ
クタ300によってCNT信号がNUM信号として選択
される。そのため、NUM信号の値は1となる。第1の
シフトレジスタSR1が命令デコーダ3から受け取った
命令1,2,3,4は左に1シフトされるため、シフト
動作後における第1のシフトレジスタSR1の命令出力
は、2,3,4,Xとなる。一方、第2のシフトレジス
タSR2では、命令キャッシュ1から読出した4つの命
令5,6,7,8が右へ3シフトされるので、第2のシ
フトレジスタSR2の命令出力は、X,X,X,5とな
る。セレクタ100〜103は、NUM信号に応答する
セレクタ制御回路12によって次のように選択を行な
う。
【0040】セレクタ100:a セレクタ101:a セレクタ102:a セレクタ103:b その結果、命令レジスタIR0,IR1,IR2,IR
3には、それぞれ命令2,3,4,5がストアされる。
3には、それぞれ命令2,3,4,5がストアされる。
【0041】一方、フラグレジスタFR0〜FR3に記
憶されたフラグについては、セレクタ200〜203の
各a端子には、第1のシフトレジスタSR1によってシ
フトされた後のフラグが与えられる。セレクタ200〜
203の各b端子には、命令キャッシュ1からのICR
信号が入力される。この例の場合、セレクタ200〜2
03は、NUM信号に応答するセレクタ制御回路12に
よって制御されて、次のように選択を行なう。
憶されたフラグについては、セレクタ200〜203の
各a端子には、第1のシフトレジスタSR1によってシ
フトされた後のフラグが与えられる。セレクタ200〜
203の各b端子には、命令キャッシュ1からのICR
信号が入力される。この例の場合、セレクタ200〜2
03は、NUM信号に応答するセレクタ制御回路12に
よって制御されて、次のように選択を行なう。
【0042】セレクタ200:a セレクタ201:a セレクタ202:a セレクタ203:b その結果、フラグレジスタFR0,FR1,FR2,F
R3には、それぞれ、命令2のフラグ,命令3のフラ
グ、命令4のフラグ、ICR信号の論理値がストアされ
る。
R3には、それぞれ、命令2のフラグ,命令3のフラ
グ、命令4のフラグ、ICR信号の論理値がストアされ
る。
【0043】NUM信号と、セレクタ100〜103,
200〜203の選択状態との一般的な関係を図3に示
しておく。
200〜203の選択状態との一般的な関係を図3に示
しておく。
【0044】次に、フラグレジスタFR0〜FR3にス
トアされるフラグの作用について説明する。各フラグ
は、対応する命令レジスタに格納されている命令が有効
か無効かを示す。たとえば、論理1がセットされている
フラグに対応する命令は有効であり、論理0がセットさ
れているフラグに対応する命令は無効である。各フラグ
は、命令デコーダ3が命令をデコードする際に参照され
る。すなわち、命令デコーダ3は論理1がセットされて
いるフラグに対応する命令のみを有効な命令として取扱
い、それらの命令のみをデコードする。これによって、
不定データが処理ユニットに出力されることが防止され
る。フラグレジスタFR0〜FR3にストアされたフラ
グは、対応する命令とともに、命令デコーダ3を介して
第1のシフトレジスタSR1に転送される。第1のシフ
トレジスタSR1は、対応する命令およびフラグを対に
してシフト動作を行なう。第1のシフトレジスタSR1
におけるシフト動作は、前述したとおりである。したが
って、各命令レジスタに記憶されている命令の有効/無
効性を保持したまま、第1のシフトレジスタSR1によ
って命令の入換えが行なわれる。一方、命令キャッシュ
1から新たに読出された命令が命令レジスタにフェッチ
される場合、その命令レジスタに対応するフラグレジス
タにはICR信号が書込まれる。ICR信号は、命令キ
ャッシュ1から命令が読出されたサイクルでは論理1と
なっているので、このとき新たに命令レジスタにフェッ
チされた命令は、以後有効なデータとして取扱われる。
一方、命令レジスタから処理ユニットに命令の出力が行
なわれたが、命令キャッシュ1から命令のフェッチが行
なえなかったサイクルでは、空きの生じた命令レジスタ
に対応するフラグレジスタに論理0のICR信号が書込
まれる。したがって、空きの生じた命令レジスタに記憶
されているデータは、以後無効であるとして取扱われ
る。
トアされるフラグの作用について説明する。各フラグ
は、対応する命令レジスタに格納されている命令が有効
か無効かを示す。たとえば、論理1がセットされている
フラグに対応する命令は有効であり、論理0がセットさ
れているフラグに対応する命令は無効である。各フラグ
は、命令デコーダ3が命令をデコードする際に参照され
る。すなわち、命令デコーダ3は論理1がセットされて
いるフラグに対応する命令のみを有効な命令として取扱
い、それらの命令のみをデコードする。これによって、
不定データが処理ユニットに出力されることが防止され
る。フラグレジスタFR0〜FR3にストアされたフラ
グは、対応する命令とともに、命令デコーダ3を介して
第1のシフトレジスタSR1に転送される。第1のシフ
トレジスタSR1は、対応する命令およびフラグを対に
してシフト動作を行なう。第1のシフトレジスタSR1
におけるシフト動作は、前述したとおりである。したが
って、各命令レジスタに記憶されている命令の有効/無
効性を保持したまま、第1のシフトレジスタSR1によ
って命令の入換えが行なわれる。一方、命令キャッシュ
1から新たに読出された命令が命令レジスタにフェッチ
される場合、その命令レジスタに対応するフラグレジス
タにはICR信号が書込まれる。ICR信号は、命令キ
ャッシュ1から命令が読出されたサイクルでは論理1と
なっているので、このとき新たに命令レジスタにフェッ
チされた命令は、以後有効なデータとして取扱われる。
一方、命令レジスタから処理ユニットに命令の出力が行
なわれたが、命令キャッシュ1から命令のフェッチが行
なえなかったサイクルでは、空きの生じた命令レジスタ
に対応するフラグレジスタに論理0のICR信号が書込
まれる。したがって、空きの生じた命令レジスタに記憶
されているデータは、以後無効であるとして取扱われ
る。
【0045】前述したように、図1に示す実施例では、
命令レジスタIR0〜IR3にストアされた命令がすべ
て処理ユニットに出力されるのを待つことなく、新たな
命令を命令キャッシュから読出して空きの生じた命令レ
ジスタに補充することができる。さらに、図1に示す実
施例では、処理ユニットからのBUSY信号によって命
令デコーダ3のデコード動作が停止した状態であって
も、命令キャッシュ1から命令を読出して空きの生じて
いる命令レジスタに新たな命令をフェッチすることがで
きる。したがって、図1に示す実施例は、命令レジスタ
IR0〜IR3における空き状態の発生率を最小限に抑
えることができる。その結果、命令デコーダ3から並列
的に出力される命令の数が増加し、各処理ユニットの効
率的な活用が図れ、処理速度を大幅に向上することがで
きる。
命令レジスタIR0〜IR3にストアされた命令がすべ
て処理ユニットに出力されるのを待つことなく、新たな
命令を命令キャッシュから読出して空きの生じた命令レ
ジスタに補充することができる。さらに、図1に示す実
施例では、処理ユニットからのBUSY信号によって命
令デコーダ3のデコード動作が停止した状態であって
も、命令キャッシュ1から命令を読出して空きの生じて
いる命令レジスタに新たな命令をフェッチすることがで
きる。したがって、図1に示す実施例は、命令レジスタ
IR0〜IR3における空き状態の発生率を最小限に抑
えることができる。その結果、命令デコーダ3から並列
的に出力される命令の数が増加し、各処理ユニットの効
率的な活用が図れ、処理速度を大幅に向上することがで
きる。
【0046】
【発明の効果】以上のように、この発明によれば、並列
的に設けられた処理ユニットを効率よく活用することが
でき、処理速度の大幅な向上を図ることができる。
的に設けられた処理ユニットを効率よく活用することが
でき、処理速度の大幅な向上を図ることができる。
【図1】この発明の一実施例の構成を示すブロック図で
ある。
ある。
【図2】図1に示す実施例の動作の一例を示す図であ
る。
る。
【図3】図1におけるNUM信号の値と、各セレクタ1
00〜103,200〜203の選択状態との関係を示
す図である。
00〜103,200〜203の選択状態との関係を示
す図である。
【図4】従来のスーパースカラプロセッサの一般的な構
成を示すブロック図である。
成を示すブロック図である。
【図5】図4に示すスーパースカラプロセッサの動作を
示す図である。
示す図である。
1:命令キャッシュ 3:命令デコーダ 4〜7:処理ユニット 9:プログラムカウンタ 10:加算器 11:空数レジスタ 12:選択制御回路 SR1:第1のシフトレジスタ SR2:第2のシフトレジスタ IR0〜IR3:命令レジスタ FR0〜FR3:フラグレジスタ 100〜103:命令選択用のセレクタ 200〜203:フラグ選択用のセレクタ 300:NUM信号出力用のセレクタ
Claims (1)
- 【特許請求の範囲】 【請求項1】 サイクリックに動作するスーパースカラ
プロセッサであって、並列的に設けられ、同時に与えら
れた命令を並列的に実行可能な複数の処理ユニット、処
理すべき複数の命令を記憶している命令記憶手段、複数
のレジスタを有し、前記命令記憶手段から複数の命令を
フェッチして各レジスタに記憶するフェッチ手段、前記
フェッチ手段の各レジスタに記憶された命令を各サイク
ルごとにデコードし、並列的に実行し得る命令を選択し
て前記処理ユニットに同時に出力するデコード、前記フ
ェッチ手段における空レジスタの数を各サイクルごとに
検出する空数検出手段、および前記空数検出手段の検出
結果に応答して、前記フェッチ手段が前記命令記憶手段
からフェッチする命令数を各サイクルごとに制御する制
御手段を備える、スーパースカラプロセッサ。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3151867A JPH052484A (ja) | 1991-06-24 | 1991-06-24 | スーパースカラプロセツサ |
| DE4216905A DE4216905C2 (de) | 1991-06-24 | 1992-05-21 | Superskalarprozessor |
| US08/281,128 US5497496A (en) | 1991-06-24 | 1994-07-28 | Superscalar processor controlling fetching of instructions based upon number of empty instructions registers detected for each cycle |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3151867A JPH052484A (ja) | 1991-06-24 | 1991-06-24 | スーパースカラプロセツサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH052484A true JPH052484A (ja) | 1993-01-08 |
Family
ID=15527961
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3151867A Pending JPH052484A (ja) | 1991-06-24 | 1991-06-24 | スーパースカラプロセツサ |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5497496A (ja) |
| JP (1) | JPH052484A (ja) |
| DE (1) | DE4216905C2 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06236267A (ja) * | 1993-01-08 | 1994-08-23 | Internatl Business Mach Corp <Ibm> | スーパースカラ・プロセッサ・システムにおける命令ディスパッチ効率を向上させる方法およびシステム |
| JPH10510146A (ja) * | 1994-11-21 | 1998-10-06 | ザ ユニバーシティ オブ リーズ | 改変されたプロテイナーゼインヒビター |
| US5954815A (en) * | 1993-12-15 | 1999-09-21 | Silicon Graphics, Inc. | Invalidating instructions in fetched instruction blocks upon predicted two-step branch operations with second operation relative target address |
| JP2008242647A (ja) * | 2007-03-26 | 2008-10-09 | Telefon Ab L M Ericsson | プロセッサ |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0651320B1 (en) * | 1993-10-29 | 2001-05-23 | Advanced Micro Devices, Inc. | Superscalar instruction decoder |
| US5689672A (en) * | 1993-10-29 | 1997-11-18 | Advanced Micro Devices, Inc. | Pre-decoded instruction cache and method therefor particularly suitable for variable byte-length instructions |
| US5630082A (en) * | 1993-10-29 | 1997-05-13 | Advanced Micro Devices, Inc. | Apparatus and method for instruction queue scanning |
| DE69434669T2 (de) * | 1993-10-29 | 2006-10-12 | Advanced Micro Devices, Inc., Sunnyvale | Spekulative Befehlswarteschlange für Befehle mit variabler Byteslänge |
| EP0829045B1 (en) * | 1995-06-01 | 2002-09-04 | Fujitsu Limited | Coordinating the issue of instructions in a parallel instruction processing system |
| US5619667A (en) * | 1996-03-29 | 1997-04-08 | Integrated Device Technology, Inc. | Method and apparatus for fast fill of translator instruction queue |
| US5964863A (en) * | 1996-04-15 | 1999-10-12 | Motorola, Inc. | Method and apparatus for providing pipe fullness information external to a data processing system |
| US6115807A (en) * | 1997-12-19 | 2000-09-05 | Intel Corporation | Static instruction decoder utilizing a circular queue to decode instructions and select instructions to be issued |
| DE19811201A1 (de) * | 1998-03-09 | 1999-09-16 | Gmd Gmbh | Schieberegister und Mikroprozessorenanordnung |
| US6237101B1 (en) * | 1998-08-03 | 2001-05-22 | International Business Machines Corporation | Microprocessor including controller for reduced power consumption and method therefor |
| JP3730455B2 (ja) * | 1999-10-01 | 2006-01-05 | 富士通株式会社 | 情報処理装置及び情報処理方法 |
| US7825935B1 (en) * | 2001-11-30 | 2010-11-02 | Nvidia Corporation | System, method and computer program product for using textures as instructions for graphics processing |
| US7593976B1 (en) | 2003-01-06 | 2009-09-22 | Marvell Israel (M.I.S.L.) Ltd. | Method and apparatus for finding the next free bit in a register |
| US8176252B1 (en) | 2007-11-23 | 2012-05-08 | Pmc-Sierra Us, Inc. | DMA address translation scheme and cache with modified scatter gather element including SG list and descriptor tables |
| US8495301B1 (en) | 2007-11-23 | 2013-07-23 | Pmc-Sierra Us, Inc. | System and method for scatter gather cache processing |
| KR102648180B1 (ko) * | 2016-07-19 | 2024-03-18 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그 동작 방법 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5729153A (en) * | 1980-07-29 | 1982-02-17 | Fujitsu Ltd | Control system for instruction processing order |
| JPS57152046A (en) * | 1981-03-13 | 1982-09-20 | Mitsubishi Electric Corp | Instruction buffer controlling method |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63131230A (ja) * | 1986-11-21 | 1988-06-03 | Hitachi Ltd | 情報処理装置 |
| EP0312764A3 (en) * | 1987-10-19 | 1991-04-10 | International Business Machines Corporation | A data processor having multiple execution units for processing plural classes of instructions in parallel |
| US5202967A (en) * | 1988-08-09 | 1993-04-13 | Matsushita Electric Industrial Co., Ltd. | Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction |
| JPH03139726A (ja) * | 1989-10-26 | 1991-06-13 | Hitachi Ltd | 命令読出し制御方式 |
| US5121502A (en) * | 1989-12-20 | 1992-06-09 | Hewlett-Packard Company | System for selectively communicating instructions from memory locations simultaneously or from the same memory locations sequentially to plurality of processing |
| US5185868A (en) * | 1990-01-16 | 1993-02-09 | Advanced Micro Devices, Inc. | Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy |
-
1991
- 1991-06-24 JP JP3151867A patent/JPH052484A/ja active Pending
-
1992
- 1992-05-21 DE DE4216905A patent/DE4216905C2/de not_active Expired - Fee Related
-
1994
- 1994-07-28 US US08/281,128 patent/US5497496A/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5729153A (en) * | 1980-07-29 | 1982-02-17 | Fujitsu Ltd | Control system for instruction processing order |
| JPS57152046A (en) * | 1981-03-13 | 1982-09-20 | Mitsubishi Electric Corp | Instruction buffer controlling method |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06236267A (ja) * | 1993-01-08 | 1994-08-23 | Internatl Business Mach Corp <Ibm> | スーパースカラ・プロセッサ・システムにおける命令ディスパッチ効率を向上させる方法およびシステム |
| US5954815A (en) * | 1993-12-15 | 1999-09-21 | Silicon Graphics, Inc. | Invalidating instructions in fetched instruction blocks upon predicted two-step branch operations with second operation relative target address |
| US6247124B1 (en) | 1993-12-15 | 2001-06-12 | Mips Technologies, Inc. | Branch prediction entry with target line index calculated using relative position of second operation of two step branch operation in a line of instructions |
| US6691221B2 (en) | 1993-12-15 | 2004-02-10 | Mips Technologies, Inc. | Loading previously dispatched slots in multiple instruction dispatch buffer before dispatching remaining slots for parallel execution |
| JPH10510146A (ja) * | 1994-11-21 | 1998-10-06 | ザ ユニバーシティ オブ リーズ | 改変されたプロテイナーゼインヒビター |
| JP2008242647A (ja) * | 2007-03-26 | 2008-10-09 | Telefon Ab L M Ericsson | プロセッサ |
Also Published As
| Publication number | Publication date |
|---|---|
| DE4216905A1 (de) | 1993-01-07 |
| DE4216905C2 (de) | 1996-07-25 |
| US5497496A (en) | 1996-03-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH052484A (ja) | スーパースカラプロセツサ | |
| EP0101596B1 (en) | A data processor with parallel-operating operation units | |
| US7694109B2 (en) | Data processing apparatus of high speed process using memory of low speed and low power consumption | |
| US4648034A (en) | Busy signal interface between master and slave processors in a computer system | |
| EP0205809B1 (en) | Vector processing | |
| JPS62221036A (ja) | 計算装置 | |
| JPH0545985B2 (ja) | ||
| EP0185682A1 (en) | Method and apparatus for a compare and swap instruction | |
| JPH02130634A (ja) | プロセッサシステム、コンピュータシステム及び命令処理方法 | |
| JPH0731597B2 (ja) | 複数のマイクロプログラム制御式処理装置を備えるプロセッサ | |
| US5193159A (en) | Microprocessor system | |
| EP0094535B1 (en) | Pipe-line data processing system | |
| EP0205193B1 (en) | Information processing system comprising a register renewal waiting control circuit with renewal register number registering means | |
| JPS62115542A (ja) | 情報処理装置 | |
| EP0385136A2 (en) | Microprocessor cooperating with a coprocessor | |
| US20020040426A1 (en) | Execution control apparatus of data driven information processor | |
| JP2503984B2 (ja) | 情報処理装置 | |
| EP0573071A2 (en) | A microprocessor | |
| JPS5890247A (ja) | 情報処理装置のパイプライン制御方式 | |
| KR950008225B1 (ko) | 마이크로프로세서 시스템 | |
| JP2824484B2 (ja) | パイプライン処理計算機 | |
| JPS60231241A (ja) | プログラム先行フエツチ制御方式 | |
| JP3161711B2 (ja) | 情報処理装置 | |
| US20050060519A1 (en) | Command processing device and method for processing command | |
| JPH0812601B2 (ja) | データ処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19970401 |