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
Application number
JP3319399A
Other languages
English (en)
Inventor
Hajime Kubosawa
元 久保沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3319399A priority Critical patent/JPH05158690A/ja
Publication of JPH05158690A publication Critical patent/JPH05158690A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 複数の演算器と命令レジスタとを有し、複数
の演算器を並列に動作させる並列演算回路に関し、命令
レジスタを有効に使用し、また高速に処理することを目
的とする。 【構成】 並列演算回路は演算器111 〜11n ,命令
レジスタ121 〜12n ,デコーダ131 〜13n ,デ
ータレジスタ14及び制御手段15より構成される。制
御手段15は入力命令コード毎にそれ以前の入力命令コ
ードとの依存性をチェックした後、入力命令コードが実
行されるまでの待ちサイクル数を複数の命令レジスタ1
1 〜12n のうち入力命令コードが格納される命令レ
ジスタに書き込む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は並列演算回路に係り、特
に複数の演算器と命令レジスタを有し、複数の演算器を
並列に動作させる並列演算回路に関する。
【0002】画像処理や数値演算処理を高速に行なう必
要のある計算機において、複数の演算器を同一チップに
集積し、同時に演算させることができれば非常に高速な
性能が得られる。このためには、複数の演算器に同時に
命令と入力データを供給する必要がある。
【0003】
【従来の技術】図6は本出願人が先に提案した並列演算
回路の一例の構成図を示す。同図中、並列演算回路は3
個の演算器211 ,212 及び213 と、演算器2
1 ,21 2 及び213 に夫々対応して設けられた3個
の命令レジスタ221,222 及び223 と、命令レジ
スタ221 ,222 及び223 に夫々対応して設けられ
た3個のデコーダ231 ,232 及び233 と、制御ブ
ロック24,ディペンデンシコントローラ25及びデー
タレジスタ26とから構成される。
【0004】この並列演算回路の動作について説明する
に、まず外部から、図7に示す如きフォーマットで例え
ば32ビット幅の命令コードが制御ブロック24に入力
されると共に、ディペンデンシコントローラ25に入力
される。
【0005】図7において、命令コードは演算命令コー
ド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(ノー・オペレー
ション命令)を記述して実行サイクルの調整をする。
【0008】命令レジスタ221 〜223 の夫々に入力
された命令コードは命令レジスタ221 〜223 に格納
された後、デコーダ231 〜233 により解析される。
デコーダ231 〜233 は1クロックサイクル毎に、対
応して設けられている命令レジスタ221 〜223 から
1個の命令を読み出して詳細に解析し、その解析結果を
演算器211 〜213 に供給する。
【0009】演算器211 はデコーダ231 からの命令
に従い、必要に応じてデータレジスタ26から読み出し
たデータの演算を行ない、得られた演算結果をデータレ
ジスタ26に格納する。一方、演算器212 及び213
も演算器211 と同時に、デコーダ222 ,223 から
の命令に従い、データレジスタ26から読み出したデー
タの演算を行ない、得られた演算結果はデータレジスタ
26に格納する。
【0010】これにより、演算器211 〜213 は各々
別々のデータ(演算結果)を同時に演算(すなわち並列
演算)し、かつ、一つのデータの分割された各部分の演
算処理を順次時間をずらして直列処理するパイプライン
処理を行なう。かかる本出願人の提案回路によれば、3
個の命令レジスタ221 〜223 に対して命令を同時に
供給するようにしているため、演算器211 〜213
よって効率よくパイプライン処理ができる。
【0011】
【発明が解決しようとする課題】しかるに、前記した本
出願人の提案回路では、ディペンデンシコントローラ2
5によって命令の依存性(ディペンデンシ)を調べるた
めに、命令のデコードを行ない、命令が演算器211
213 のどれを使用するかをチェックする必要があり、
そのため図7のフォーマットの命令コードの大部分をデ
コードしなければならず、ディペンデンシのチェックに
時間がかかってしまう。
【0012】また、3個の命令レジスタ221 〜223
と3個の演算器211 〜213 で3段のパイプライン処
理をする場合、ディペンデンシが1個発生するとNOP
を2個挿入しなければならない場合が生ずるので、命令
レジスタ221 〜223 のいずれかがオーバーフローす
ることがある。そこで、上記の本出願人の提案回路では
ディペンデンシコントローラ25から制御信号を送出し
て、命令レジスタが空くまでデコーダ231 〜233
よるデコードを待つようにしているが、命令レジスタ2
1 〜223 にNOPを記述するために命令レジスタ2
1 〜223 を有効に使用していないという問題があ
る。
【0013】本発明は以上の点に鑑みなされたもので、
命令コードのフォーマットを変更し、命令レジスタ中に
命令実行までの待ちサイクルを記述することにより上記
の課題を解決した並列演算回路を提供することを目的と
する。
【0014】
【課題を解決するための手段】図1は本発明の原理構成
図を示す。同図に示すように本発明の並列演算回路は、
n個(ただし、nは2以上の整数)の演算器111 〜1
n と、演算器111 〜11n に夫々対応して設けられ
た命令レジスタ121 〜12n と、命令レジスタ121
〜12n の夫々に格納された命令コードを読み出して解
析し、その解析結果を複数の演算器111 〜11n に別
々に供給するデコーダ131 〜13n と、演算器111
〜11n に対してデータを供給すると共に、演算器11
1 〜11 n で演算して得られたデータを格納するデータ
レジスタ14と、制御手段15とから構成されており、
制御手段15に特徴がある。
【0015】制御手段15は入力命令毎にそれ以前の入
力命令コードとの依存性をチェックした後、入力命令コ
ードが実行されるまでの待ちサイクル数を命令レジスタ
12 1 〜12n のうち入力命令コードが格納される命令
レジスタに書き込む。
【0016】また、本発明では入力命令コードは演算時
に使用する演算器の種類を示すタグを含んでおり、また
そのタグを識別して命令レジスタ121 〜12n のうち
演算時に使用する一の演算器に対応して設けられた一の
命令レジスタに入力命令コード中の命令コードを書き込
む識別及び書き込み手段が設けられる。
【0017】
【作用】本発明では前記制御手段15により、入力命令
コードに依存性があるときであっても、その入力命令コ
ードが実行されるまでの待ちサイクル数が命令レジスタ
121 〜123 のうち対応する一の命令レジスタに書き
込まれるだけであるため、NOPを上記の一の命令レジ
スタに、書き込む必要がなくなる。
【0018】また、前記識別及び書き込み手段により入
力命令コード中のタグに基づいて演算に使用する演算器
に対応する命令レジスタにその入力命令コード中の命令
コード部分を書き込むようにしているため、命令コード
の命令レジスタへの書き込みの際に命令コードを詳細に
デコードしなくとも、その命令コードを目的の命令レジ
スタに迅速に書き込むことができる。
【0019】
【実施例】図2は本発明の一実施例の構成図を示す。同
図中、図1と同一構成部分には同一符号を付してある。
本実施例は図1のnが“3”の場合の例である。図2に
おいて、比較器181 〜183 は夫々同一構成で、演算
器111 〜113 の各々に個別に割り当てられたコード
のうち対応する一のコードと、入力命令コード中のタグ
の値とを夫々比較し、両者が一致したときに入力命令コ
ード中の命令コードを命令レジスタ121〜123 に書
き込む。
【0020】ディペンデンシコントローラ19は前記し
た制御手段15を構成しており、タグ付入力命令コード
毎に依存性がある命令コードであるか否か検出し、その
検出結果に基づき命令レジスタに各命令が実行されるま
での待ちサイクル数を書き込む。依存性がない場合は上
記待ちサイクル数はゼロであり、依存性がある場合は待
ちサイクル数はそれを示す数値であり、NOPとは異な
る。
【0021】図3は上記のタグ付入力命令コードのフォ
ーマットを示す。同図中、図7と同一構成部分には同一
符号を付し、その説明を省略する。図3において、III
は演算器タグで、演算命令コードI,アドレスII-1〜II
-3の夫々に時系列的に合成されており、かつ、先頭に配
置されている。
【0022】この演算器タグIII は演算器の種類(アド
レス)を示す値で、演算器の個数によってビット数が決
まる。ここでは、演算器は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とが入力される。
【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の出力信号もローレベルとなる。
【0025】AND回路33の出力信号は比較器181
(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 のうち対応して
設けられている一の命令レジスタに入力する。
【0027】従って、例えば演算器タグIII が演算器1
1 を示している命令コードが入力された場合は、命令
コードを詳細にデコードしなくても、上記の比較によっ
て命令レジスタ121 に命令コード部分を格納すること
ができる。
【0028】一方、ディペンデンシコントローラ19は
入力命令コードの前記依存性をチェックし、そのチェッ
ク結果に基づいてその入力命令コードが演算器111
11 3 のいずれかにおいて演算実行されるまでの待ちサ
イクル数を、命令レジスタ121 〜123 のうち入力命
令コードが書き込まれるべき命令レジスタに書き込む。
以下、上記と同様にしてタグ付の命令コードが外部から
入力される毎に、上記の比較及びディペンデンシチェッ
クが行なわれ、命令コードと待ちサイクル数の命令レジ
スタ121 〜123 への書き込みが行なわれる。
【0029】これにより、命令レジスタ121 〜123
の各々のレコードビットの構成は図5に示す如くにな
る。同図に示すように命令レジスタレコードビットは、
図3の入力命令コード中、演算器タグIII を除いた残り
の演算命令コードI及びアドレスII-1〜II-3よりなる3
2ビットの命令コード41と前記待ちサイクル数42と
より構成されている。
【0030】待ちサイクル数42は演算器111 〜11
3 の最大演算サイクル数−1を越えることはない。3サ
イクルで演算を終了する演算器なら実行待ちサイクル数
は最大2である。本実施例では待ちサイクル数42は2
ビットで表わせる。
【0031】図2の命令レジスタ121 〜123 に書き
込まれた上記の命令コード41と待ちサイクル数42は
デコーダ131 〜133 により読み出し解析され、その
解析結果に基づき演算器111 〜113 によりデータレ
ジスタ14からの並列演算を行なわせ、かつ、3段のパ
イプライン処理を行なわせる。
【0032】このとき、演算器111 〜113 のうち同
一の演算器を使用する命令が3個以上連続する場合は、
命令レジスタはオーバーフローしてしまうが、NOPを
記述しない分命令レジスタを従来より有効利用すること
ができる。この場合、命令レジスタ121 〜123 のう
ちオーバーフローしている命令レジスタは、命令レジス
タが空くまでデコードを待つように、ディペンデンシコ
ントローラ19によって制御される。
【0033】このように、本実施例では比較器181
183 によりタグとコードとを比較し、一致したとき
に、命令レジスタに命令を書き込むようにしているた
め、命令コードを詳細に解析(デコード)しなくてもよ
く、また比較器181 〜183 も各々図4に示す如く3
つのゲート回路で構成されており、高速でゲート数も少
なくできる。また命令レジスタ121 〜123 にNOP
を書く必要をなくすことができる。
【0034】
【発明の効果】上述の如く、本発明によれば、入力命令
コードに依存性があるときであっても、NOPを命令レ
ジスタに書き込むことなく実行サイクルの調整ができる
ため、命令レジスタを従来に比し有効に活用することが
でき、また演算器タグを用いることにより、命令コード
を詳細にデコードしなくとも命令コードを目的の命令レ
ジスタに格納できるため、従来に比し高速に処理するこ
とができ、よって特に演算器の個数が大で、また命令コ
ード長が長い場合に好適である等の特長を有するもので
ある。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の一実施例の構成図である。
【図3】本発明の一実施例の命令コードのフォーマット
を示す図である。
【図4】比較器の要部の一実施例の回路図である。
【図5】命令レジスタレコードビットの構成図である。
【図6】本出願人が先に提案した並列演算回路の一例の
構成図である。
【図7】従来の命令コードの一例のフォーマットを示す
図である。
【符号の説明】
111 〜11n 演算器 121 〜12n 命令レジスタ 131 〜13n デコーダ 14 データレジスタ 15 制御手段 181 〜183 比較器 19 ディペンデンシコントローラ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 夫々別々の演算を同時に行なう複数の演
    算器(111 〜11 n )と、 該複数の演算器(111 〜11n )に夫々対応して設け
    られた、入力命令コードを格納するための複数の命令レ
    ジスタ(121 〜12n )と、 該複数の命令レジスタ(121 〜12n )の夫々に格納
    された命令コードを読み出して解析し、その解析結果を
    前記複数の演算器(111 〜11n )に別々に供給する
    複数のデコーダ(131〜13n )と、 該複数の演算器(111 〜11n )に対してデータを供
    給すると共に、該複数の演算器(111 〜11n )で演
    算して得られたデータを格納するデータレジスタ(1
    4)と、 前記入力命令コード毎にそれ以前の入力命令コードとの
    依存性をチェックした後、該入力命令コードが実行され
    るまでの待ちサイクル数を前記複数の命令レジスタ(1
    1 〜12n )のうち該入力命令コードが格納される命
    令レジスタに書き込む制御手段(15)とを有すること
    を特徴とする並列演算回路。
  2. 【請求項2】 前記入力命令コードは前記複数の演算器
    (111 〜11n )のうち演算時に使用する一の演算器
    の種類を示すタグ(III )を含み、該入力命令コード中
    の該タグ(III )を識別して前記複数の命令レジスタ
    (121 〜12 n )のうち演算時に使用する一の演算器
    に対応して設けられた命令レジスタに該入力命令コード
    中の命令コード部分を書き込む識別及び書き込み手段
    (181 〜183 )を設けたことを特徴とする請求項1
    記載の並列演算回路。
  3. 【請求項3】 前記識別及び書き込み手段(181 〜1
    3 )は、前記複数の演算器(111 〜11n )の各々
    に個別に割り当てられたコードのうち対応する一のコー
    ドと、前記入力命令コード中の前記タグ(III )の値と
    を夫々比較し、両者が一致したときにそのときのコード
    が示す一の演算器に対応して設けられている一の命令レ
    ジスタに前記入力命令コード中の命令コード部分を書き
    込む複数の比較器(181 〜183 )よりなることを特
    徴とする請求項2記載の並列演算回路。
JP3319399A 1991-12-03 1991-12-03 並列演算回路 Withdrawn JPH05158690A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182168A (ja) * 1993-12-24 1995-07-21 Nec Corp 演算装置及びその制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
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