JPH05158690A - 並列演算回路 - Google Patents
並列演算回路Info
- Publication number
- JPH05158690A JPH05158690A JP3319399A JP31939991A JPH05158690A JP H05158690 A JPH05158690 A JP H05158690A JP 3319399 A JP3319399 A JP 3319399A JP 31939991 A JP31939991 A JP 31939991A JP H05158690 A JPH05158690 A JP H05158690A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- input
- instruction code
- code
- arithmetic units
- 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.)
- Withdrawn
Links
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】
【目的】 複数の演算器と命令レジスタとを有し、複数
の演算器を並列に動作させる並列演算回路に関し、命令
レジスタを有効に使用し、また高速に処理することを目
的とする。 【構成】 並列演算回路は演算器111 〜11n ,命令
レジスタ121 〜12n ,デコーダ131 〜13n ,デ
ータレジスタ14及び制御手段15より構成される。制
御手段15は入力命令コード毎にそれ以前の入力命令コ
ードとの依存性をチェックした後、入力命令コードが実
行されるまでの待ちサイクル数を複数の命令レジスタ1
21 〜12n のうち入力命令コードが格納される命令レ
ジスタに書き込む。
の演算器を並列に動作させる並列演算回路に関し、命令
レジスタを有効に使用し、また高速に処理することを目
的とする。 【構成】 並列演算回路は演算器111 〜11n ,命令
レジスタ121 〜12n ,デコーダ131 〜13n ,デ
ータレジスタ14及び制御手段15より構成される。制
御手段15は入力命令コード毎にそれ以前の入力命令コ
ードとの依存性をチェックした後、入力命令コードが実
行されるまでの待ちサイクル数を複数の命令レジスタ1
21 〜12n のうち入力命令コードが格納される命令レ
ジスタに書き込む。
Description
【0001】
【産業上の利用分野】本発明は並列演算回路に係り、特
に複数の演算器と命令レジスタを有し、複数の演算器を
並列に動作させる並列演算回路に関する。
に複数の演算器と命令レジスタを有し、複数の演算器を
並列に動作させる並列演算回路に関する。
【0002】画像処理や数値演算処理を高速に行なう必
要のある計算機において、複数の演算器を同一チップに
集積し、同時に演算させることができれば非常に高速な
性能が得られる。このためには、複数の演算器に同時に
命令と入力データを供給する必要がある。
要のある計算機において、複数の演算器を同一チップに
集積し、同時に演算させることができれば非常に高速な
性能が得られる。このためには、複数の演算器に同時に
命令と入力データを供給する必要がある。
【0003】
【従来の技術】図6は本出願人が先に提案した並列演算
回路の一例の構成図を示す。同図中、並列演算回路は3
個の演算器211 ,212 及び213 と、演算器2
11 ,21 2 及び213 に夫々対応して設けられた3個
の命令レジスタ221,222 及び223 と、命令レジ
スタ221 ,222 及び223 に夫々対応して設けられ
た3個のデコーダ231 ,232 及び233 と、制御ブ
ロック24,ディペンデンシコントローラ25及びデー
タレジスタ26とから構成される。
回路の一例の構成図を示す。同図中、並列演算回路は3
個の演算器211 ,212 及び213 と、演算器2
11 ,21 2 及び213 に夫々対応して設けられた3個
の命令レジスタ221,222 及び223 と、命令レジ
スタ221 ,222 及び223 に夫々対応して設けられ
た3個のデコーダ231 ,232 及び233 と、制御ブ
ロック24,ディペンデンシコントローラ25及びデー
タレジスタ26とから構成される。
【0004】この並列演算回路の動作について説明する
に、まず外部から、図7に示す如きフォーマットで例え
ば32ビット幅の命令コードが制御ブロック24に入力
されると共に、ディペンデンシコントローラ25に入力
される。
に、まず外部から、図7に示す如きフォーマットで例え
ば32ビット幅の命令コードが制御ブロック24に入力
されると共に、ディペンデンシコントローラ25に入力
される。
【0005】図7において、命令コードは演算命令コー
ドI,アドレスII-1,II-2及びII-3よりなる。アドレス
II-1,II-2及びII-3はデータレジスタ14のアドレスを
示す。制御ブロック24は上記の命令コードを解読し
て、その解読結果に基づき命令レジスタ221 ,222
及び223 に夫々振り分けて入力する。
ドI,アドレスII-1,II-2及びII-3よりなる。アドレス
II-1,II-2及びII-3はデータレジスタ14のアドレスを
示す。制御ブロック24は上記の命令コードを解読し
て、その解読結果に基づき命令レジスタ221 ,222
及び223 に夫々振り分けて入力する。
【0006】一方、ディペンデンシコントローラ25は
入力命令コードが連続して入力される場合に、今回の命
令に基づく演算が、それ以前に入力された命令に基づく
演算結果を使用しなければならないような場合、上記演
算結果が得られないと今回の命令を実行できないので、
このような過去の演算結果との依存性がある命令コード
であるか否かを検出するために、命令のデコードを行な
って先に読み込んだ命令のアドレスと一致するか否か判
別する。
入力命令コードが連続して入力される場合に、今回の命
令に基づく演算が、それ以前に入力された命令に基づく
演算結果を使用しなければならないような場合、上記演
算結果が得られないと今回の命令を実行できないので、
このような過去の演算結果との依存性がある命令コード
であるか否かを検出するために、命令のデコードを行な
って先に読み込んだ命令のアドレスと一致するか否か判
別する。
【0007】ディペンデンシコントローラ25は上記の
アドレスの一致を検出すると、今回の入力命令コードに
依存性がある(ディペンデンシが発生した)と判断して
命令レジスタ221 〜223 にNOP(ノー・オペレー
ション命令)を記述して実行サイクルの調整をする。
アドレスの一致を検出すると、今回の入力命令コードに
依存性がある(ディペンデンシが発生した)と判断して
命令レジスタ221 〜223 にNOP(ノー・オペレー
ション命令)を記述して実行サイクルの調整をする。
【0008】命令レジスタ221 〜223 の夫々に入力
された命令コードは命令レジスタ221 〜223 に格納
された後、デコーダ231 〜233 により解析される。
デコーダ231 〜233 は1クロックサイクル毎に、対
応して設けられている命令レジスタ221 〜223 から
1個の命令を読み出して詳細に解析し、その解析結果を
演算器211 〜213 に供給する。
された命令コードは命令レジスタ221 〜223 に格納
された後、デコーダ231 〜233 により解析される。
デコーダ231 〜233 は1クロックサイクル毎に、対
応して設けられている命令レジスタ221 〜223 から
1個の命令を読み出して詳細に解析し、その解析結果を
演算器211 〜213 に供給する。
【0009】演算器211 はデコーダ231 からの命令
に従い、必要に応じてデータレジスタ26から読み出し
たデータの演算を行ない、得られた演算結果をデータレ
ジスタ26に格納する。一方、演算器212 及び213
も演算器211 と同時に、デコーダ222 ,223 から
の命令に従い、データレジスタ26から読み出したデー
タの演算を行ない、得られた演算結果はデータレジスタ
26に格納する。
に従い、必要に応じてデータレジスタ26から読み出し
たデータの演算を行ない、得られた演算結果をデータレ
ジスタ26に格納する。一方、演算器212 及び213
も演算器211 と同時に、デコーダ222 ,223 から
の命令に従い、データレジスタ26から読み出したデー
タの演算を行ない、得られた演算結果はデータレジスタ
26に格納する。
【0010】これにより、演算器211 〜213 は各々
別々のデータ(演算結果)を同時に演算(すなわち並列
演算)し、かつ、一つのデータの分割された各部分の演
算処理を順次時間をずらして直列処理するパイプライン
処理を行なう。かかる本出願人の提案回路によれば、3
個の命令レジスタ221 〜223 に対して命令を同時に
供給するようにしているため、演算器211 〜213 に
よって効率よくパイプライン処理ができる。
別々のデータ(演算結果)を同時に演算(すなわち並列
演算)し、かつ、一つのデータの分割された各部分の演
算処理を順次時間をずらして直列処理するパイプライン
処理を行なう。かかる本出願人の提案回路によれば、3
個の命令レジスタ221 〜223 に対して命令を同時に
供給するようにしているため、演算器211 〜213 に
よって効率よくパイプライン処理ができる。
【0011】
【発明が解決しようとする課題】しかるに、前記した本
出願人の提案回路では、ディペンデンシコントローラ2
5によって命令の依存性(ディペンデンシ)を調べるた
めに、命令のデコードを行ない、命令が演算器211 〜
213 のどれを使用するかをチェックする必要があり、
そのため図7のフォーマットの命令コードの大部分をデ
コードしなければならず、ディペンデンシのチェックに
時間がかかってしまう。
出願人の提案回路では、ディペンデンシコントローラ2
5によって命令の依存性(ディペンデンシ)を調べるた
めに、命令のデコードを行ない、命令が演算器211 〜
213 のどれを使用するかをチェックする必要があり、
そのため図7のフォーマットの命令コードの大部分をデ
コードしなければならず、ディペンデンシのチェックに
時間がかかってしまう。
【0012】また、3個の命令レジスタ221 〜223
と3個の演算器211 〜213 で3段のパイプライン処
理をする場合、ディペンデンシが1個発生するとNOP
を2個挿入しなければならない場合が生ずるので、命令
レジスタ221 〜223 のいずれかがオーバーフローす
ることがある。そこで、上記の本出願人の提案回路では
ディペンデンシコントローラ25から制御信号を送出し
て、命令レジスタが空くまでデコーダ231 〜233 に
よるデコードを待つようにしているが、命令レジスタ2
21 〜223 にNOPを記述するために命令レジスタ2
21 〜223 を有効に使用していないという問題があ
る。
と3個の演算器211 〜213 で3段のパイプライン処
理をする場合、ディペンデンシが1個発生するとNOP
を2個挿入しなければならない場合が生ずるので、命令
レジスタ221 〜223 のいずれかがオーバーフローす
ることがある。そこで、上記の本出願人の提案回路では
ディペンデンシコントローラ25から制御信号を送出し
て、命令レジスタが空くまでデコーダ231 〜233 に
よるデコードを待つようにしているが、命令レジスタ2
21 〜223 にNOPを記述するために命令レジスタ2
21 〜223 を有効に使用していないという問題があ
る。
【0013】本発明は以上の点に鑑みなされたもので、
命令コードのフォーマットを変更し、命令レジスタ中に
命令実行までの待ちサイクルを記述することにより上記
の課題を解決した並列演算回路を提供することを目的と
する。
命令コードのフォーマットを変更し、命令レジスタ中に
命令実行までの待ちサイクルを記述することにより上記
の課題を解決した並列演算回路を提供することを目的と
する。
【0014】
【課題を解決するための手段】図1は本発明の原理構成
図を示す。同図に示すように本発明の並列演算回路は、
n個(ただし、nは2以上の整数)の演算器111 〜1
1n と、演算器111 〜11n に夫々対応して設けられ
た命令レジスタ121 〜12n と、命令レジスタ121
〜12n の夫々に格納された命令コードを読み出して解
析し、その解析結果を複数の演算器111 〜11n に別
々に供給するデコーダ131 〜13n と、演算器111
〜11n に対してデータを供給すると共に、演算器11
1 〜11 n で演算して得られたデータを格納するデータ
レジスタ14と、制御手段15とから構成されており、
制御手段15に特徴がある。
図を示す。同図に示すように本発明の並列演算回路は、
n個(ただし、nは2以上の整数)の演算器111 〜1
1n と、演算器111 〜11n に夫々対応して設けられ
た命令レジスタ121 〜12n と、命令レジスタ121
〜12n の夫々に格納された命令コードを読み出して解
析し、その解析結果を複数の演算器111 〜11n に別
々に供給するデコーダ131 〜13n と、演算器111
〜11n に対してデータを供給すると共に、演算器11
1 〜11 n で演算して得られたデータを格納するデータ
レジスタ14と、制御手段15とから構成されており、
制御手段15に特徴がある。
【0015】制御手段15は入力命令毎にそれ以前の入
力命令コードとの依存性をチェックした後、入力命令コ
ードが実行されるまでの待ちサイクル数を命令レジスタ
12 1 〜12n のうち入力命令コードが格納される命令
レジスタに書き込む。
力命令コードとの依存性をチェックした後、入力命令コ
ードが実行されるまでの待ちサイクル数を命令レジスタ
12 1 〜12n のうち入力命令コードが格納される命令
レジスタに書き込む。
【0016】また、本発明では入力命令コードは演算時
に使用する演算器の種類を示すタグを含んでおり、また
そのタグを識別して命令レジスタ121 〜12n のうち
演算時に使用する一の演算器に対応して設けられた一の
命令レジスタに入力命令コード中の命令コードを書き込
む識別及び書き込み手段が設けられる。
に使用する演算器の種類を示すタグを含んでおり、また
そのタグを識別して命令レジスタ121 〜12n のうち
演算時に使用する一の演算器に対応して設けられた一の
命令レジスタに入力命令コード中の命令コードを書き込
む識別及び書き込み手段が設けられる。
【0017】
【作用】本発明では前記制御手段15により、入力命令
コードに依存性があるときであっても、その入力命令コ
ードが実行されるまでの待ちサイクル数が命令レジスタ
121 〜123 のうち対応する一の命令レジスタに書き
込まれるだけであるため、NOPを上記の一の命令レジ
スタに、書き込む必要がなくなる。
コードに依存性があるときであっても、その入力命令コ
ードが実行されるまでの待ちサイクル数が命令レジスタ
121 〜123 のうち対応する一の命令レジスタに書き
込まれるだけであるため、NOPを上記の一の命令レジ
スタに、書き込む必要がなくなる。
【0018】また、前記識別及び書き込み手段により入
力命令コード中のタグに基づいて演算に使用する演算器
に対応する命令レジスタにその入力命令コード中の命令
コード部分を書き込むようにしているため、命令コード
の命令レジスタへの書き込みの際に命令コードを詳細に
デコードしなくとも、その命令コードを目的の命令レジ
スタに迅速に書き込むことができる。
力命令コード中のタグに基づいて演算に使用する演算器
に対応する命令レジスタにその入力命令コード中の命令
コード部分を書き込むようにしているため、命令コード
の命令レジスタへの書き込みの際に命令コードを詳細に
デコードしなくとも、その命令コードを目的の命令レジ
スタに迅速に書き込むことができる。
【0019】
【実施例】図2は本発明の一実施例の構成図を示す。同
図中、図1と同一構成部分には同一符号を付してある。
本実施例は図1のnが“3”の場合の例である。図2に
おいて、比較器181 〜183 は夫々同一構成で、演算
器111 〜113 の各々に個別に割り当てられたコード
のうち対応する一のコードと、入力命令コード中のタグ
の値とを夫々比較し、両者が一致したときに入力命令コ
ード中の命令コードを命令レジスタ121〜123 に書
き込む。
図中、図1と同一構成部分には同一符号を付してある。
本実施例は図1のnが“3”の場合の例である。図2に
おいて、比較器181 〜183 は夫々同一構成で、演算
器111 〜113 の各々に個別に割り当てられたコード
のうち対応する一のコードと、入力命令コード中のタグ
の値とを夫々比較し、両者が一致したときに入力命令コ
ード中の命令コードを命令レジスタ121〜123 に書
き込む。
【0020】ディペンデンシコントローラ19は前記し
た制御手段15を構成しており、タグ付入力命令コード
毎に依存性がある命令コードであるか否か検出し、その
検出結果に基づき命令レジスタに各命令が実行されるま
での待ちサイクル数を書き込む。依存性がない場合は上
記待ちサイクル数はゼロであり、依存性がある場合は待
ちサイクル数はそれを示す数値であり、NOPとは異な
る。
た制御手段15を構成しており、タグ付入力命令コード
毎に依存性がある命令コードであるか否か検出し、その
検出結果に基づき命令レジスタに各命令が実行されるま
での待ちサイクル数を書き込む。依存性がない場合は上
記待ちサイクル数はゼロであり、依存性がある場合は待
ちサイクル数はそれを示す数値であり、NOPとは異な
る。
【0021】図3は上記のタグ付入力命令コードのフォ
ーマットを示す。同図中、図7と同一構成部分には同一
符号を付し、その説明を省略する。図3において、III
は演算器タグで、演算命令コードI,アドレスII-1〜II
-3の夫々に時系列的に合成されており、かつ、先頭に配
置されている。
ーマットを示す。同図中、図7と同一構成部分には同一
符号を付し、その説明を省略する。図3において、III
は演算器タグで、演算命令コードI,アドレスII-1〜II
-3の夫々に時系列的に合成されており、かつ、先頭に配
置されている。
【0022】この演算器タグIII は演算器の種類(アド
レス)を示す値で、演算器の個数によってビット数が決
まる。ここでは、演算器は111 〜113 の3個である
から、タグIII は2ビットである。タグIII は命令コー
ド中の任意の連続したビット位置に書き込まれるが、識
別し易さのため、図3の如く命令コードの先頭に付加さ
れるか、又は命令コードの最後に付加されるのが望まし
い。
レス)を示す値で、演算器の個数によってビット数が決
まる。ここでは、演算器は111 〜113 の3個である
から、タグIII は2ビットである。タグIII は命令コー
ド中の任意の連続したビット位置に書き込まれるが、識
別し易さのため、図3の如く命令コードの先頭に付加さ
れるか、又は命令コードの最後に付加されるのが望まし
い。
【0023】比較器181 〜183 の各々の要部は例え
ば図4に示す如き構成とされている。同図中、比較器の
要部は2入力排他的否定論理和回路(ENOR回路)3
1及び32と、それらENOR回路31,32の出力が
供給される2入力AND回路33とから構成されてい
る。ENOR回路31には前記2ビットのタグIII の第
1ビットA1と演算器111 〜113 のうち対応して設
けられている演算器に割り当てられている2ビットのコ
ードの第1ビットB1とが入力され、ENOR回路32
にはタグIII の第2ビットA2と、上記2ビットのコー
ドの第2ビットB2とが入力される。
ば図4に示す如き構成とされている。同図中、比較器の
要部は2入力排他的否定論理和回路(ENOR回路)3
1及び32と、それらENOR回路31,32の出力が
供給される2入力AND回路33とから構成されてい
る。ENOR回路31には前記2ビットのタグIII の第
1ビットA1と演算器111 〜113 のうち対応して設
けられている演算器に割り当てられている2ビットのコ
ードの第1ビットB1とが入力され、ENOR回路32
にはタグIII の第2ビットA2と、上記2ビットのコー
ドの第2ビットB2とが入力される。
【0024】これにより、上記の2ビットのタグIII の
2ビットA1,A2と、2ビットのコードB1,B2と
が一致すると、ENOR回路31及び32の各出力信号
は夫々ハイレベルとなり、よってAND回路33の出力
信号はハイレベルとなる。これに対し、上記のタグIII
の2ビットA1,A2とコードの2ビットB1,B2が
不一致のときには、ENOR回路31及び32の少なく
ともいずれか一方の出力信号がローレベルとなるため、
AND回路33の出力信号もローレベルとなる。
2ビットA1,A2と、2ビットのコードB1,B2と
が一致すると、ENOR回路31及び32の各出力信号
は夫々ハイレベルとなり、よってAND回路33の出力
信号はハイレベルとなる。これに対し、上記のタグIII
の2ビットA1,A2とコードの2ビットB1,B2が
不一致のときには、ENOR回路31及び32の少なく
ともいずれか一方の出力信号がローレベルとなるため、
AND回路33の出力信号もローレベルとなる。
【0025】AND回路33の出力信号は比較器181
(182,183 も同様)内のマルチプレクサ(図示せ
ず)に入力され、図3のフォーマットのタグ付命令コー
ドのうち、演算器タグIII を除いた残りのコード部分を
上記マルチプレクサにより通過又は阻止させる。すなわ
ち、上記の演算器タグIII を除いた残りのコード部分は
AND回路35の出力信号がハイレベルのときのみ上記
マルチプレクサを通過出力される。
(182,183 も同様)内のマルチプレクサ(図示せ
ず)に入力され、図3のフォーマットのタグ付命令コー
ドのうち、演算器タグIII を除いた残りのコード部分を
上記マルチプレクサにより通過又は阻止させる。すなわ
ち、上記の演算器タグIII を除いた残りのコード部分は
AND回路35の出力信号がハイレベルのときのみ上記
マルチプレクサを通過出力される。
【0026】次に図2の実施例の動作について説明す
る。同図中、外部から入力された図3のフォーマットの
タグ付入力命令コードはディペンデンシコントローラ1
9に入力される一方、比較器181 〜183 に夫々入力
される。比較器181 〜183 は夫々図4と共に説明し
たように入力命令コード中の最初の2ビットの演算器タ
グIII と、比較器181 〜183 の各々に予め入力され
ている演算器111 〜113 固有の2ビットのコード#
1〜#3とを比較し、両者が一致するときのみ演算器タ
グIII を除いた命令コード部分(I,II-1〜II-3)を通
過させて、命令レジスタ121 〜123 のうち対応して
設けられている一の命令レジスタに入力する。
る。同図中、外部から入力された図3のフォーマットの
タグ付入力命令コードはディペンデンシコントローラ1
9に入力される一方、比較器181 〜183 に夫々入力
される。比較器181 〜183 は夫々図4と共に説明し
たように入力命令コード中の最初の2ビットの演算器タ
グIII と、比較器181 〜183 の各々に予め入力され
ている演算器111 〜113 固有の2ビットのコード#
1〜#3とを比較し、両者が一致するときのみ演算器タ
グIII を除いた命令コード部分(I,II-1〜II-3)を通
過させて、命令レジスタ121 〜123 のうち対応して
設けられている一の命令レジスタに入力する。
【0027】従って、例えば演算器タグIII が演算器1
11 を示している命令コードが入力された場合は、命令
コードを詳細にデコードしなくても、上記の比較によっ
て命令レジスタ121 に命令コード部分を格納すること
ができる。
11 を示している命令コードが入力された場合は、命令
コードを詳細にデコードしなくても、上記の比較によっ
て命令レジスタ121 に命令コード部分を格納すること
ができる。
【0028】一方、ディペンデンシコントローラ19は
入力命令コードの前記依存性をチェックし、そのチェッ
ク結果に基づいてその入力命令コードが演算器111 〜
11 3 のいずれかにおいて演算実行されるまでの待ちサ
イクル数を、命令レジスタ121 〜123 のうち入力命
令コードが書き込まれるべき命令レジスタに書き込む。
以下、上記と同様にしてタグ付の命令コードが外部から
入力される毎に、上記の比較及びディペンデンシチェッ
クが行なわれ、命令コードと待ちサイクル数の命令レジ
スタ121 〜123 への書き込みが行なわれる。
入力命令コードの前記依存性をチェックし、そのチェッ
ク結果に基づいてその入力命令コードが演算器111 〜
11 3 のいずれかにおいて演算実行されるまでの待ちサ
イクル数を、命令レジスタ121 〜123 のうち入力命
令コードが書き込まれるべき命令レジスタに書き込む。
以下、上記と同様にしてタグ付の命令コードが外部から
入力される毎に、上記の比較及びディペンデンシチェッ
クが行なわれ、命令コードと待ちサイクル数の命令レジ
スタ121 〜123 への書き込みが行なわれる。
【0029】これにより、命令レジスタ121 〜123
の各々のレコードビットの構成は図5に示す如くにな
る。同図に示すように命令レジスタレコードビットは、
図3の入力命令コード中、演算器タグIII を除いた残り
の演算命令コードI及びアドレスII-1〜II-3よりなる3
2ビットの命令コード41と前記待ちサイクル数42と
より構成されている。
の各々のレコードビットの構成は図5に示す如くにな
る。同図に示すように命令レジスタレコードビットは、
図3の入力命令コード中、演算器タグIII を除いた残り
の演算命令コードI及びアドレスII-1〜II-3よりなる3
2ビットの命令コード41と前記待ちサイクル数42と
より構成されている。
【0030】待ちサイクル数42は演算器111 〜11
3 の最大演算サイクル数−1を越えることはない。3サ
イクルで演算を終了する演算器なら実行待ちサイクル数
は最大2である。本実施例では待ちサイクル数42は2
ビットで表わせる。
3 の最大演算サイクル数−1を越えることはない。3サ
イクルで演算を終了する演算器なら実行待ちサイクル数
は最大2である。本実施例では待ちサイクル数42は2
ビットで表わせる。
【0031】図2の命令レジスタ121 〜123 に書き
込まれた上記の命令コード41と待ちサイクル数42は
デコーダ131 〜133 により読み出し解析され、その
解析結果に基づき演算器111 〜113 によりデータレ
ジスタ14からの並列演算を行なわせ、かつ、3段のパ
イプライン処理を行なわせる。
込まれた上記の命令コード41と待ちサイクル数42は
デコーダ131 〜133 により読み出し解析され、その
解析結果に基づき演算器111 〜113 によりデータレ
ジスタ14からの並列演算を行なわせ、かつ、3段のパ
イプライン処理を行なわせる。
【0032】このとき、演算器111 〜113 のうち同
一の演算器を使用する命令が3個以上連続する場合は、
命令レジスタはオーバーフローしてしまうが、NOPを
記述しない分命令レジスタを従来より有効利用すること
ができる。この場合、命令レジスタ121 〜123 のう
ちオーバーフローしている命令レジスタは、命令レジス
タが空くまでデコードを待つように、ディペンデンシコ
ントローラ19によって制御される。
一の演算器を使用する命令が3個以上連続する場合は、
命令レジスタはオーバーフローしてしまうが、NOPを
記述しない分命令レジスタを従来より有効利用すること
ができる。この場合、命令レジスタ121 〜123 のう
ちオーバーフローしている命令レジスタは、命令レジス
タが空くまでデコードを待つように、ディペンデンシコ
ントローラ19によって制御される。
【0033】このように、本実施例では比較器181 〜
183 によりタグとコードとを比較し、一致したとき
に、命令レジスタに命令を書き込むようにしているた
め、命令コードを詳細に解析(デコード)しなくてもよ
く、また比較器181 〜183 も各々図4に示す如く3
つのゲート回路で構成されており、高速でゲート数も少
なくできる。また命令レジスタ121 〜123 にNOP
を書く必要をなくすことができる。
183 によりタグとコードとを比較し、一致したとき
に、命令レジスタに命令を書き込むようにしているた
め、命令コードを詳細に解析(デコード)しなくてもよ
く、また比較器181 〜183 も各々図4に示す如く3
つのゲート回路で構成されており、高速でゲート数も少
なくできる。また命令レジスタ121 〜123 にNOP
を書く必要をなくすことができる。
【0034】
【発明の効果】上述の如く、本発明によれば、入力命令
コードに依存性があるときであっても、NOPを命令レ
ジスタに書き込むことなく実行サイクルの調整ができる
ため、命令レジスタを従来に比し有効に活用することが
でき、また演算器タグを用いることにより、命令コード
を詳細にデコードしなくとも命令コードを目的の命令レ
ジスタに格納できるため、従来に比し高速に処理するこ
とができ、よって特に演算器の個数が大で、また命令コ
ード長が長い場合に好適である等の特長を有するもので
ある。
コードに依存性があるときであっても、NOPを命令レ
ジスタに書き込むことなく実行サイクルの調整ができる
ため、命令レジスタを従来に比し有効に活用することが
でき、また演算器タグを用いることにより、命令コード
を詳細にデコードしなくとも命令コードを目的の命令レ
ジスタに格納できるため、従来に比し高速に処理するこ
とができ、よって特に演算器の個数が大で、また命令コ
ード長が長い場合に好適である等の特長を有するもので
ある。
【図1】本発明の原理構成図である。
【図2】本発明の一実施例の構成図である。
【図3】本発明の一実施例の命令コードのフォーマット
を示す図である。
を示す図である。
【図4】比較器の要部の一実施例の回路図である。
【図5】命令レジスタレコードビットの構成図である。
【図6】本出願人が先に提案した並列演算回路の一例の
構成図である。
構成図である。
【図7】従来の命令コードの一例のフォーマットを示す
図である。
図である。
111 〜11n 演算器 121 〜12n 命令レジスタ 131 〜13n デコーダ 14 データレジスタ 15 制御手段 181 〜183 比較器 19 ディペンデンシコントローラ
Claims (3)
- 【請求項1】 夫々別々の演算を同時に行なう複数の演
算器(111 〜11 n )と、 該複数の演算器(111 〜11n )に夫々対応して設け
られた、入力命令コードを格納するための複数の命令レ
ジスタ(121 〜12n )と、 該複数の命令レジスタ(121 〜12n )の夫々に格納
された命令コードを読み出して解析し、その解析結果を
前記複数の演算器(111 〜11n )に別々に供給する
複数のデコーダ(131〜13n )と、 該複数の演算器(111 〜11n )に対してデータを供
給すると共に、該複数の演算器(111 〜11n )で演
算して得られたデータを格納するデータレジスタ(1
4)と、 前記入力命令コード毎にそれ以前の入力命令コードとの
依存性をチェックした後、該入力命令コードが実行され
るまでの待ちサイクル数を前記複数の命令レジスタ(1
21 〜12n )のうち該入力命令コードが格納される命
令レジスタに書き込む制御手段(15)とを有すること
を特徴とする並列演算回路。 - 【請求項2】 前記入力命令コードは前記複数の演算器
(111 〜11n )のうち演算時に使用する一の演算器
の種類を示すタグ(III )を含み、該入力命令コード中
の該タグ(III )を識別して前記複数の命令レジスタ
(121 〜12 n )のうち演算時に使用する一の演算器
に対応して設けられた命令レジスタに該入力命令コード
中の命令コード部分を書き込む識別及び書き込み手段
(181 〜183 )を設けたことを特徴とする請求項1
記載の並列演算回路。 - 【請求項3】 前記識別及び書き込み手段(181 〜1
83 )は、前記複数の演算器(111 〜11n )の各々
に個別に割り当てられたコードのうち対応する一のコー
ドと、前記入力命令コード中の前記タグ(III )の値と
を夫々比較し、両者が一致したときにそのときのコード
が示す一の演算器に対応して設けられている一の命令レ
ジスタに前記入力命令コード中の命令コード部分を書き
込む複数の比較器(181 〜183 )よりなることを特
徴とする請求項2記載の並列演算回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3319399A JPH05158690A (ja) | 1991-12-03 | 1991-12-03 | 並列演算回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3319399A JPH05158690A (ja) | 1991-12-03 | 1991-12-03 | 並列演算回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05158690A true JPH05158690A (ja) | 1993-06-25 |
Family
ID=18109749
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3319399A Withdrawn JPH05158690A (ja) | 1991-12-03 | 1991-12-03 | 並列演算回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05158690A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07182168A (ja) * | 1993-12-24 | 1995-07-21 | Nec Corp | 演算装置及びその制御方法 |
-
1991
- 1991-12-03 JP JP3319399A patent/JPH05158690A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07182168A (ja) * | 1993-12-24 | 1995-07-21 | Nec Corp | 演算装置及びその制御方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6502185B1 (en) | Pipeline elements which verify predecode information | |
| US6948051B2 (en) | Method and apparatus for reducing logic activity in a microprocessor using reduced bit width slices that are enabled or disabled depending on operation width | |
| KR100900364B1 (ko) | 인스트럭션 실행 디바이스, 인스트럭션 실행 방법 및 컴퓨터 판독가능 메모리 매체 | |
| US6178498B1 (en) | Storing predicted branch target address in different storage according to importance hint in branch prediction instruction | |
| US5845323A (en) | Way prediction structure for predicting the way of a cache in which an access hits, thereby speeding cache access time | |
| US6968444B1 (en) | Microprocessor employing a fixed position dispatch unit | |
| EP1244962B1 (en) | Scheduler capable of issuing and reissuing dependency chains | |
| US9110683B2 (en) | Predicting branches for vector partitioning loops when processing vector instructions | |
| JPH0778738B2 (ja) | ディジタル・コンピュータ・システム | |
| JPH0776924B2 (ja) | ディジタルコンピュータシステム | |
| EP3767462A1 (en) | Detecting a dynamic control flow re-convergence point for conditional branches in hardware | |
| US6460132B1 (en) | Massively parallel instruction predecoding | |
| US8799628B2 (en) | Early branch determination | |
| US6385720B1 (en) | Branch prediction method and processor using origin information, relative position information and history information | |
| JP2620511B2 (ja) | データ・プロセッサ | |
| US7146490B2 (en) | Processing system and method for efficiently enabling detection of data hazards for long latency instructions | |
| US6934903B1 (en) | Using microcode to correct ECC errors in a processor | |
| US5276825A (en) | Apparatus for quickly determining actual jump addresses by assuming each instruction of a plurality of fetched instructions is a jump instruction | |
| JPH0527971A (ja) | 情報処理装置 | |
| US20040158694A1 (en) | Method and apparatus for hazard detection and management in a pipelined digital processor | |
| US6742110B2 (en) | Preventing the execution of a set of instructions in parallel based on an indication that the instructions were erroneously pre-coded for parallel execution | |
| US5295248A (en) | Branch control circuit | |
| US6889314B2 (en) | Method and apparatus for fast dependency coordinate matching | |
| US20050027921A1 (en) | Information processing apparatus capable of prefetching instructions | |
| EP0778519A2 (en) | Multiple instruction dispatch system for pipelined microprocessor without branch breaks |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19990311 |