JPH04273529A - 並列演算回路 - Google Patents

並列演算回路

Info

Publication number
JPH04273529A
JPH04273529A JP3443691A JP3443691A JPH04273529A JP H04273529 A JPH04273529 A JP H04273529A JP 3443691 A JP3443691 A JP 3443691A JP 3443691 A JP3443691 A JP 3443691A JP H04273529 A JPH04273529 A JP H04273529A
Authority
JP
Japan
Prior art keywords
arithmetic
instruction
instructions
registers
register
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
JP3443691A
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 JP3443691A priority Critical patent/JPH04273529A/ja
Publication of JPH04273529A publication Critical patent/JPH04273529A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列演算回路に係り、
詳しくは、画像処理等の分野に用いて好適な、数値演算
処理を高速に処理する並列演算回路に関する。
【0002】近年、例えば、画像処理や各種シミュレー
ション等においては、数値演算処理を高速に行うための
並列演算回路が数多く開発されている。これは、例えば
、複数の演算器を同一チップに集積し、各演算器によっ
て演算を実行させるものであり、これらの各演算器が同
時に並列演算を行えば、非常に高速な演算が可能である
【0003】しかし、各演算器を同時に動作させるため
は、複数の演算器に対して同時に演算命令、及び演算パ
ラメータである入力データを供給しなくてはならない。 そこで、複数の演算器に対して同時に演算命令、及び入
力データを供給することが必要となる。
【0004】
【従来の技術】従来のこの種の並列演算回路としては、
例えば、図6に示すような構成のものがある。
【0005】この並列演算回路は、大別して、命令レジ
スタCR、データレジスタDR、デコーダDC、及び3
個の演算器EX−1,2,3から構成されている。命令
レジスタCRは、外部から入力される所定の演算命令を
一時保持して格納するものであり、データレジスタDR
は、所定の演算命令に基づいて演算を行う際のパラメー
タとなるデータを一時保持して格納するものである。
【0006】デコーダDCは、命令レジスタCRに格納
された演算命令をデコードし、各演算器EX−1,2,
3に出力するものである。なお、演算器EX−1,2,
3は3個のパイプラインで動作する。
【0007】以上の構成において、命令レジスタCRに
格納された演算命令がデコーダDCによって1度に1個
だけデコードされる場合、演算の実行は、通常、図7,
8に示すような順序で行われる。なお、演算実行には3
クロックのタイミングを要するものとする。
【0008】すなわち、デコーダDCによって命令レジ
スタCRから1クロックサイクル毎に1個の演算命令■
〜■が順次読み出され、そのデコード結果が各演算器E
X−1,2,3に供給される。そして、演算器EX−1
で演算命令■,■が処理された後、演算器EX−2で演
算命令■,■が処理され、以下、演算器EX−3で演算
命令■,■、演算器EX−1で演算命令■、演算器EX
−3で演算命令■が処理される。
【0009】ちなみに、この場合、8個の演算命令■〜
■の全てを実行するのに10クロックサイクルを要して
いる。
【0010】
【発明が解決しようとする課題】しかしながら、このよ
うな従来の並列演算回路にあっては、デコーダDCによ
って1クロックサイクル毎に1個の演算命令■〜■が命
令レジスタCRから順次読み出され、そのデコード結果
を各演算器EX−1,2,3に供給するという構成とな
っていたため、複数の演算器EX−1,2,3に同時に
演算命令のデコード結果を供給できず、3個の演算器E
X−1,2,3によって3個のパイプライン処理が可能
となるように構成されているにもかかわらず、パイプラ
インが有効に動作せず、演算器EX−1,2,3の空き
状態が多くなってしまうという問題点があった。
【0011】パイプラインが有効に動作しないというこ
とは、例えば、図9,10に示すように、演算命令■の
出力結果に基づいて演算命令■が実行される場合、すな
わち、演算器EX−2による演算命令■の出力データの
アドレスが演算器EX−2による演算命令■の入力デー
タのアドレスと一致する場合に、さらに顕著であり、こ
の場合、演算器EX−2の出力結果が得られるまでパイ
プライン処理が停止しているため、8個の演算命令■〜
■の全てを実行するのに12クロックサイクルを要する
こととなり、さらに演算器EX−1,2,3の空き状態
が多くなり、演算速度が低下している。
【0012】[目的]そこで本発明は、パイプライン処
理をなす複数の演算器に対して演算命令をそれぞれ同時
に供給する並列演算回路を提供することを目的としてい
る。
【0013】
【課題を解決するための手段】本発明による並列演算回
路は上記目的達成のため、所定の演算命令を格納する複
数の命令レジスタCR1,2,3 と、該命令レジスタ
CR1,2,3 に格納された演算命令による演算に必
要なデータを格納するデータレジスタDRと、該命令レ
ジスタCR1,2,3 に格納された演算命令をデコー
ドする複数のデコーダDC1,2,3 と、該デコーダ
DC1,2,3 のデコード結果に基づいて所定の演算
を行う複数の演算器EX−1,2,3と、該命令レジス
タEX−1,2,3に格納する所定の演算命令を読み込
み、該演算命令を前記複数の各命令レジスタCR1,2
,3 に同時に供給する命令再構成手段1とを備えてい
る。
【0014】また、前記デコーダDC1,2,3 のク
ロックをCLOCK1、前記演算器EX−1,2,3の
数をN、該演算器EX−1,2,3のクロックをCLO
CK2とした場合、CLOCK1をN×CLOCK2と
することが好ましく、前記命令レジスタCR1,2,3
 がオーバーフローした場合、該命令レジスタCR1,
2,3 に対応するデコーダDC1,2,3 のデコー
ド結果を無効化し、該デコーダDC1,2,3 は該命
令レジスタCR1,2,3 が空き状態となるまでをデ
コードを停止することは有効である。
【0015】
【作用】本発明では、命令再構成手段により所定の演算
命令が格納される複数の命令レジスタに対して演算命令
が同時に供給される。
【0016】すなわち、複数の各演算器によって効率よ
くパイプライン動作がなされ、演算速度の向上が図られ
る。
【0017】
【実施例】以下、本発明を図面に基づいて説明する。図
1〜5は本発明に係る並列演算回路の一実施例を示す図
であり、図1は本実施例の全体構成を示すブロック図で
ある。
【0018】まず、構成を説明する。なお、図1におい
て、図6に示した従来例に付された番号と同一番号は同
一部分を示す。
【0019】本実施例の並列演算回路は、大別して、命
令レジスタCR1,2,3 、データレジスタDR、デ
コーダDC1,2,3 、演算器EX−1,2,3、命
令再構成手段であるディペンデンシィコントローラ(d
ependency contler)1から構成され
ており、命令レジスタCR1,2,3 、デコーダDC
1,2,3 は共に演算器EX−1,2,3に対応して
それぞれ3個で構成されている。
【0020】ディペンデンシィコントローラ1は、演算
命令間のリソース(resource)とオペランド(
operand )との依存性を調べ、依存性がない場
合はそのまま処理を実行し、依存性がある場合はnop
(ノーオペレーション)命令を出力して処理の中断をす
るものであり、詳しくは、外部から演算命令が入力され
た場合、演算命令を1つずつデコードし、先に読み込ん
だ演算命令の出力データと現在読み込んだ演算命令の入
力データとのアドレスが一致するかどうかを調べ、一致
する場合だけnop命令を出力するものである。
【0021】次に作用を説明する。演算器EX−1,2
,3での演算処理は、図2,3に示すように、まず、外
部から入力される演算命令がディペンデンシィコントロ
ーラ1によって各命令レジスタCR1,2,3 毎に振
り分けられ、命令レジスタCR1,2,3 に格納され
ている演算命令がデコーダDC1,2,3 によってデ
コードされ、デコード結果が各演算器EX−1,2,3
に同時に出力される。
【0022】デコーダDC1,2,3 によって命令レ
ジスタCR1,2,3 から1クロックサイクル毎に1
個の演算命令■,■,■がそれぞれ読み出され、そのデ
コード結果が各演算器EX−1,2,3にそれぞれ供給
される。そして、演算器EX−1では演算命令■,■,
■が順次処理され、演算器EX−2では演算命令■,■
、演算器EX−3では演算命令■,■,■が処理される
【0023】ちなみに、この場合、6クロックサイクル
で8個の演算命令■〜■の全てが実行される。次に、図
9,10の従来例と同様に、演算命令■の出力結果に基
づいて演算命令■が実行される場合について本実施例を
適用すると、この場合、演算命令■と■との間でディペ
ンデンシィが発生しているため、すなわち、演算命令■
の出力結果が演算命令■の入力となるため、演算命令■
の実行が終了しなければ、演算命令■が実行されない。 このような場合、図4,5に示すように、ディペンデン
シィコントローラ1から命令レジスタCR2 にnop
命令が発行され、演算器EX−2によって演算命令■が
終了するまで演算器EX−2は演算が中断される。この
場合においても、演算器EX1,3 では演算処理がな
されているため、8個の演算命令■〜■の全てが実行さ
れるまで、7クロックサイクルしかかからない。
【0024】したがって、従来例ではそれぞれ10、及
び12クロックサイクル必要であった演算時間が本実施
例ではそれぞれ6,7クロックサイクルに短縮される。 ここで、ディペンデンシィコントローラ1が演算器EX
−1,2,3のクロックの3倍のクロックで動作する場
合、ディペンデンシィコントローラ1は1クロックサイ
クルで3個の演算命令をデコードできることになる。す
なわち、1個目の命令デコードの際には、合計9個のア
ドレス比較が必要となり、2個目には12個、3個目の
デコードでは15のアドレス比較が必要となる。
【0025】アドレス比較を行った結果、依存性が発生
する場合には、命令レジスタCR1,2,3 にnop
命令が発行されるが、依存性の発生する演算命令が連続
する場合、命令レジスタCR1,2,3 がオーバーフ
ローする場合が考えられる。このような場合には、その
実行サイクルでのデコード結果を無効化し、命令レジス
タCR1,2,3 が空くまでデコードを待つような制
御信号が、ディペンデンシィコントローラ1から命令レ
ジスタCR1,2,3 、及びデコーダDC1,2,3
 に出力される。
【0026】これによって、演算命令のオーバーフロー
が防止される。このように本実施例では、ディペンデン
シィコントローラ1によって所定の演算命令を格納する
複数の命令レジスタCR1,2,3 に対して演算命令
を同時に供給でき、複数の各演算器EX−1,2,3に
よって効率よくパイプライン動作できる。
【0027】したがって、複数の演算器EX−1,2,
3で同時に演算が実行でき、演算速度の向上を図ること
ができる。なお、上記実施例は3個の演算器を有する並
列演算回路を例に採り説明しているが、これに限らず、
必要とする並列演算に応じて演算器の数を設定可能であ
ることはいうまでもない。
【0028】
【発明の効果】本発明では、命令再構成手段によって所
定の演算命令を格納する複数の命令レジスタに対して演
算命令を同時に供給でき、複数の各演算器によって効率
よくパイプライン動作できる。
【0029】したがって、複数の演算器で同時に演算が
実行でき、演算速度の向上を図ることができる。
【図面の簡単な説明】
【図1】本発明一実施例の全体構成を示すブロック図で
ある。
【図2】本発明一実施例の動作例を示す図である。
【図3】本発明一実施例の演算命令の実行例を示す図で
ある。
【図4】本発明一実施例の他の動作例を示す図である。
【図5】本発明一実施例の演算命令の他の実行例を示す
図である。
【図6】従来例の全体構成を示すブロック図である。
【図7】従来例の動作例を示す図である。
【図8】従来例の演算命令の実行例を示す図である。
【図9】従来例の他の動作例を示す図である。
【図10】従来例の演算命令の他の実行例を示す図であ
る。
【符号の説明】
1    ディペンデンシィコントローラ(命令再構成
手段) CR1,2,3     命令レジスタDC1,2,3
     デコーダ DR    データレジスタ EX−1,2,3    演算器

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】  所定の演算命令を格納する複数の命令
    レジスタと、該命令レジスタに格納された演算命令によ
    る演算に必要なデータを格納するデータレジスタと、該
    命令レジスタに格納された演算命令をデコードする複数
    のデコーダと、該デコーダのデコード結果に基づいて所
    定の演算を行う複数の演算器と、該命令レジスタに格納
    する所定の演算命令を読み込み、該演算命令を前記複数
    の各命令レジスタに同時に供給する命令再構成手段と、
    を備えることを特徴とする並列演算回路。
  2. 【請求項2】  前記デコーダのクロックをCLOCK
    1、前記演算器の数をN、該演算器のクロックをCLO
    CK2とした場合、CLOCK1はN×CLOCK2で
    あることを特徴とする請求項1の並列演算回路。
  3. 【請求項3】  前記命令レジスタがオーバーフローし
    た場合、該命令レジスタに対応するデコーダのデコード
    結果を無効化し、該デコーダは該命令レジスタが空き状
    態となるまでをデコードを停止することを特徴とする請
    求項1、または2の並列演算装置。
JP3443691A 1991-02-28 1991-02-28 並列演算回路 Withdrawn JPH04273529A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3443691A JPH04273529A (ja) 1991-02-28 1991-02-28 並列演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3443691A JPH04273529A (ja) 1991-02-28 1991-02-28 並列演算回路

Publications (1)

Publication Number Publication Date
JPH04273529A true JPH04273529A (ja) 1992-09-29

Family

ID=12414177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3443691A Withdrawn JPH04273529A (ja) 1991-02-28 1991-02-28 並列演算回路

Country Status (1)

Country Link
JP (1) JPH04273529A (ja)

Similar Documents

Publication Publication Date Title
EP1050808B1 (en) Computer instruction scheduling
EP0437044B1 (en) Data processing system with instruction tag apparatus
JPS59114641A (ja) 割込処理装置
KR910017256A (ko) 프로그램 가능한 제어기
JPH11282679A (ja) 演算処理装置
JP2620511B2 (ja) データ・プロセッサ
JP3573506B2 (ja) 述語、及びブール式を解くためのコンピュータ・システム、及び方法
US6862676B1 (en) Superscalar processor having content addressable memory structures for determining dependencies
JPH03286332A (ja) デジタルデータ処理装置
JPH02293931A (ja) 制御装置
JPH04273529A (ja) 並列演算回路
JP6882320B2 (ja) ベクトル命令の処理
CN112579168B (zh) 指令执行单元、处理器以及信号处理方法
US6721873B2 (en) Method and apparatus for improving dispersal performance in a processor through the use of no-op ports
JPH09101889A (ja) パイプライン演算装置
JP3743155B2 (ja) パイプライン制御型計算機
JP2011065522A (ja) ベクトル処理装置、ベクトル処理方法、およびプログラム
JP2861234B2 (ja) 命令処理装置
JPH04195226A (ja) 並列処理マイクロプロセッサ
JPH0546389A (ja) 並列処理装置
JPH04116726A (ja) 情報処理装置
JPH01147723A (ja) 情報処理装置のパイプライン処理方式
JPH0553804A (ja) 並列処理装置
JPH04308930A (ja) 電子計算機
JPH031234A (ja) 情報処理装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980514