[go: up one dir, main page]

JPS6351287B2 - - Google Patents

Info

Publication number
JPS6351287B2
JPS6351287B2 JP56203702A JP20370281A JPS6351287B2 JP S6351287 B2 JPS6351287 B2 JP S6351287B2 JP 56203702 A JP56203702 A JP 56203702A JP 20370281 A JP20370281 A JP 20370281A JP S6351287 B2 JPS6351287 B2 JP S6351287B2
Authority
JP
Japan
Prior art keywords
arithmetic
register
control information
stage
registers
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.)
Expired
Application number
JP56203702A
Other languages
English (en)
Other versions
JPS58106636A (ja
Inventor
Yasuhiko Hatakeyama
Hiroshi Murayama
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP56203702A priority Critical patent/JPS58106636A/ja
Priority to US06/449,659 priority patent/US4658355A/en
Publication of JPS58106636A publication Critical patent/JPS58106636A/ja
Publication of JPS6351287B2 publication Critical patent/JPS6351287B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 発明の対象 本発明はパイプライン演算装置に関する。さら
に詳細には複数の種類の演算をオーバラツプして
処理することのできるパイプライン演算装置に関
する。
従来技術 パイプライン演算装置は、演算を複数のステー
ジに分割し、ステージ毎にオーバラツプして処理
する。各ステージに対応して演算回路が設けら
れ、各演算回路は演算指示に応じた演算を行な
い、出力は次のステージの演算回路に与える。従
来のパイプライン演算装置は一種類の演算を複数
組の入力データに対して連続的にオーバラツプし
つつ処理することができるが、異なる演算を連続
して処理することはできず、一つの種類の演算が
終了するまでは、次の異なる種類の演算をオーバ
ラツプして開始することができない。例えば、浮
動小数点の加算を複数組の入力データに対して連
続的にオーバラツプしつつ実行することはでき
る。しかしながら、浮動小数点の加算と固定小数
点の加算あるいは浮動小数点の減算などの異なる
種類の演算を連続的にオーバラツプしつつ実行す
ることはできなかつた。
第1図は従来の典型的なパイプライン演算装置
を示す。ここでは3ステージからなるパイプライ
ン演算装置を示し、3つの演算回路2,3および
4を含む。この装置のデータ系は、入力オペラン
ドレジスタ1、中間ステージラツチ5および6、
演算結果用レジスタ7、および演算回路2,3お
よび4からなる。記憶装置8から送出されたオペ
ランドはデータ入力パス9を介して上述のデータ
系に入り、演算結果は結果の書込みパス10を介
して記憶装置8に格納される。記憶装置8として
は、計算機システムの主記憶装置でも、またデー
タレジスタ群であつてもよい。
一方、演算内容を指示するオペレーシヨンコー
ドあるいはオペレーシヨンコードに相当する情報
(制御情報という)は命令読出回路18から命令
起動パス19を介して命令レジスタ20にセツト
信号22によつてセツトされる。命令レジスタ2
0にセツトされた制御情報はデコーダ21でデコ
ードされる。デコーダ21は制御情報に応じて、
データ系に対する制御信号、即ち、ラツチのセツ
ト信号11〜14および演算制御信号15〜17
を発生する。
第2図は第1図のパイプライン演算装置で2種
類のベクトル演算AおよびBを連続して行なう場
合のタイムチヤートを示す。演算A,Bは異なつ
た演算内容を指示している。第2図では、演算
A,B共に3組の入力データに対して行なう場合
を例として示しており、〜で示すのがオペラ
ンドベクトルの要素番号を表わす。第2図から明
らかなように、演算Aが行なわれる要素、、
は連続的にオーバラツプしつつ実行されるが、
演算Aの最後の要素が入力されてもその結果が
出力されるまで命令レジスタ20の内容を変更で
きず、そのため次の演算Bの最初の要素を入力
するまでに3サイクルの無駄サイクルが生ずる。
発明の目的 本発明の目的は複数の異なる種類のベクトル演
算をオーバラツプして処理することができるパイ
プライン演算装置を提供することにある。
発明の総括的説明 本発明は各ステージに対応して演算回路があ
り、この個々の演算回路又は複数の演算回路に対
応して演算内容を指示する制御情報を保持するレ
ジスタが設けられる。このレジスタが保持する制
御情報は直接あるいはデコードして対応の演算回
路に与えられ、演算を指示する。そして各レジス
タ内の制御情報および各演算回路の出力はそれぞ
れ順次次のステージのレジスタおよび演算回路に
与えられる。そしてさらに、上記複数のレジスタ
の前段にさらに制御情報を保持するレジスタを有
し、この前段のレジスタ内の制御情報はベクトル
長レジスタが示すオペランドベクトルの要素数に
等しいサイクルの間保持され、後段の各レジスタ
は各サイクル毎に前のステージのレジスタの内容
に更新される。
発明の実施例とその効果 第3図は本発明の一実施例を示す。1〜20お
よび22は第1図の同符号と同部分を示してお
り、同様に3ステージからなるパイプライン演算
装置を示し、各ステージに対応した3つの演算回
路2,3および4が設けられる。命令読出回路1
8からの制御情報(命令)を受ける命令レジスタ
20の後には各ステージ、演算回路対応の命令レ
ジスタ23,24および25が直列に設けられ、
それぞれのセツト信号が30,31および32で
示される。命令レジスタ20,23,24および
25の各々には命令デコーダ26,27,28お
よび29が接続される。命令デコーダ26,2
7,28および29はそれぞれ命令レジスタ2
0,23,24および25内の制御情報をデコー
ドし、対応の演算回路に制御情報に応じた演算を
指示する。例えば制御情報が浮動小数点演算を指
示していれば、演算回路2はプレノーマライズ動
作、演算回路3は仮数部の演算(加算あるいは減
算等)、演算回路4はポストノーマライズ動作を
行ない、固定小数点演算を指示していれば、演算
回路2および4は動作されず、演算回路3で演算
を行なう。また他の演算では演算回路2はシフト
動作を行なう。
またレジ1,7、ラツチ5,6の開閉、セツト
等を指示する。例えばデータ入力パス9は第1オ
ペランド、第2オペランドのためのパスを有して
おり、両オペランドのセツト、一方のみのオペラ
ンドのセツト等の指示も行なう。命令レジスタの
制御情報をデコードすることなくそのまま演算回
路やレジスタ、ラツチに与えて制御可能であれ
ば、デコーダ26〜29は必要ない。40〜43
は命令レジスタへのセツト信号22,30〜32
を発生する発生回路である。どのようなセツト信
号を発生するかは第4図で説明される。
第4図は第3図のパイプライン演算装置で2種
類のベクトル演算AおよびBを連続して行なう場
合のタイムチヤートを示す。第4図では第2図と
同様、演算A,B共に3組の入力データに対して
行なう場合を例として示し、〜がオペランド
ベクトルの要素番号を表わす。
命令レジスタ20のセツト信号22は要素数に
等しいサイクルで発生回路40から発生される。
この場合要素数は3であり、3サイクル間をおい
て発生されている。この要素数はベクトル長レジ
スタ(図示せず)で示され、発生回路40はこの
ベクトル長レジスタの内容に基いて、命令レジス
タ20にセツト信号を発生する。従つて命令レジ
スタ20はその3サイクルに亘つて更新されず、
同じ制御情報を保持する。一方、ステージ対応の
命令レジスタ23,24および25のセツト信号
は各サイクル毎に発生回路41,42および43
から発生される。従つて命令レジスタ23〜25
内の制御情報は毎サイクル更新され、その内容は
次ステージに対応する命令レジスタに移される。
従つて、各ステージ毎に異なる制御情報を保持し
て、各々演算回路を制御することができるので、
演算Aの最後の組の入力データが入力オペランド
レジスタ1にセツトされるのと同時に、演算Bの
制御情報を命令レジスタ20にセツトし、すぐ次
のサイクルで演算Bの最初の組の入力データを入
力オペランドレジスタ1にセツトすることによ
り、パイプライン演算装置の全てのステージを有
効に利用することができる。第4図を参照する
と、3サイクルに亘つてA,B2種の演算が同時
に、オーバラツプして実行されていることがよく
理解できる。
第3図において、命令レジスタ23〜25は各
ステージに対応して設けられているが、実行する
演算の種類の切り換えにおいて必ず1サイクルの
空きを許すならば、これらの命令レジスタを、連
続した2ステージに対応させ、命令レジスタはそ
の2つの演算回路に共通に設けることも出来る。
第3図、第4図における実施例では、演算に使
用するオペランドベクトルが記憶装置8から自由
に読出せる場合、即ち命令起動に同期してオペラ
ンドの読出しが開始し、各要素は連続して読出せ
る場合について示した。
これに対して、オペランドベクトルが要素単位
に飛び飛びに読出され、パイプライン演算器に対
して各要素が必ずしも連続して入力されない場合
もある。例えばオペランドベクトルがパイプライ
ン演算器に供給される段階に至つたが要素によつ
ては未だ記憶装置8に図示されない装置から供給
されてきていない場合である。このような場合に
は記憶装置8から、データ入力パス9上のデータ
の有効性を示すバリデイテイビツトを出力するこ
とにより制御することができる。以下にバリデイ
テイビツトが対応する要素より1サイクル前に出
力される場合を例として、オペランドベクトルの
各要素が必ずしも連続的に供給されない場合の実
施例を説明する。
第5図を参照するに、記憶装置8から出力され
たバリデイテイビツト33は、発生回路44から
発生されるセツト信号38によつて毎サイクルた
たかれるバリデイテイビツト用フリツプフロツプ
34〜37により順次取り込まれ、シフトされ
る。このフリツプフロツプ35〜37の出力30
〜32によつてステージ対応の命令レジスタ23
〜25をセツトする。バリデイテイビツトが
“0”のとき、フリツプフロツプはセツトされな
いので、命令レジスタ23〜25へのセツト信号
30〜32も出力されず、命令レジスタ23〜2
5には制御情報が設定されない。またフリツプフ
ロツプ34〜37の出力はANDゲート39に与
えられており、“0”のときはレジスタ、ラツチ
へのセツト信号を阻止する。その他の構成におい
ては第3図と同様である。
第6図は第5図のタイムチヤートである。第6
図において、バリデイテイビツト33は演算Aの
第4番目、演算Bの第3番目において“0”であ
り、その要素に対しての演算は行なわれていない
が、それ以外においては第3図、第4図と同様な
動作である。
発明の効果 本発明によれば、演算回路がステージに対応し
て設けられると共に、制御情報を保持するレジス
タが個々の演算回路又は複数の演算回路に対応し
て設けられ、レジスタが保持する制御情報によつ
て対応の演算回路に演算を指示するようにしたの
で、複数の種類の演算をオーバラツプして処理す
ることができる。
【図面の簡単な説明】
第1図は従来例を示すブロツク図、第2図は第
1図を説明するタイムチヤート、第3図は本発明
の一実施例を示すブロツク図、第4図は第3図が
ベクトル演算のために動作する場合を説明するブ
ロツク図、第5図は本発明の他の実施例を示すブ
ロツク図、第6図は第5図を説明するタイムチヤ
ートである。 1……入力オペランドレジスタ、2〜4……演
算回路、5および6……中間ステージデータラツ
チ、7……演算結果用レジスタ、8……記憶装
置、20,23,24,25……命令レジスタ、
26〜29……命令デコーダ、34〜37……バ
リデイテイビツト用フリツプフロツプ、40〜4
4……セツト信号発生回路。

Claims (1)

  1. 【特許請求の範囲】 1 オペランドとしてのオペランドベクトルが複
    数要素からなるベクトル演算が複数のステージに
    分割されかつ各ステージでオーバラツプして処理
    されるパイプライン演算装置において、 上記ステージに対応して設けられ、直列に接続
    された複数の演算回路であつて、オペランドベク
    トルの各要素は先頭ステージの演算回路に入力さ
    れ、演算結果は最終ステージの演算回路から出力
    され、中間ステージの演算回路は前段の演算回路
    からの出力が与えられる複数の演算回路と、 演算の内容を指示する制御情報を保持する第1
    のレジスタと、 上記第1のレジスタと直列に接続された複数の
    第2のレジスタであつて、各第2のレジスタは複
    数の上記演算回路の少なくとも1つに対応付けら
    れ、対応する演算回路で実行されるべき演算内容
    を示す制御情報を保持し、先頭の第2のレジスタ
    は上記第1のレジスタからの制御情報が与えられ
    る複数の第2のレジスタと、 上記第2のレジスタに保持された制御情報を直
    接あるいはデコードして対応の演算回路に与える
    ことによつて演算を指令する指令手段と、 上記第1のレジスタ内の制御情報がベクトル長
    レジスタが示すオペランドベクトルの要素数に応
    答してこのベクトル長レジスタが示すオペランド
    ベクトルの要素数に等しいサイクルの間保持さ
    れ、かつ上記第2のレジスタの制御情報が毎サイ
    クル前段の第2のレジスタの内容に更新されるよ
    う上記第1及び第2のレジスタを制御する制御手
    段と、 を有することを特徴とするパイプライン演算装
    置。 2 上記オペランドベクトルの要素対応に有効性
    を示すバリデイテイビツトを付すようにし、この
    バリデイテイビツトの保持手段を上記レジスタ対
    応に設けて同じように順次次のステージの保持手
    段に移すようにし、このバリデイテイビツトによ
    つて対応のレジスタへの制御情報の設定を制御す
    ることを特徴とする特許請求の範囲第1項記載の
    パイプライン演算装置。
JP56203702A 1981-12-18 1981-12-18 パイプライン演算装置 Granted JPS58106636A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP56203702A JPS58106636A (ja) 1981-12-18 1981-12-18 パイプライン演算装置
US06/449,659 US4658355A (en) 1981-12-18 1982-12-14 Pipeline arithmetic apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56203702A JPS58106636A (ja) 1981-12-18 1981-12-18 パイプライン演算装置

Publications (2)

Publication Number Publication Date
JPS58106636A JPS58106636A (ja) 1983-06-25
JPS6351287B2 true JPS6351287B2 (ja) 1988-10-13

Family

ID=16478429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56203702A Granted JPS58106636A (ja) 1981-12-18 1981-12-18 パイプライン演算装置

Country Status (2)

Country Link
US (1) US4658355A (ja)
JP (1) JPS58106636A (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS607531A (ja) * 1983-06-25 1985-01-16 Fujitsu Ltd 論理シミユレ−シヨン装置
US4779218A (en) * 1985-09-04 1988-10-18 Jauch Jeremy P Complex arithmetic unit
JPS62226231A (ja) * 1986-03-27 1987-10-05 Toshiba Corp プロセツサ
US4888689A (en) * 1986-10-17 1989-12-19 Amdahl Corporation Apparatus and method for improving cache access throughput in pipelined processors
JPS63124163A (ja) * 1986-11-13 1988-05-27 Matsushita Electric Ind Co Ltd プロセツサアレイ
JPS63204360A (ja) * 1987-02-19 1988-08-24 Matsushita Electric Ind Co Ltd プロセツサアレイ
JP2810043B2 (ja) * 1987-11-13 1998-10-15 株式会社日立製作所 データ処理装置
JP2806524B2 (ja) * 1988-03-04 1998-09-30 日本電気株式会社 ベクトル演算命令発行制御方法
US5101341A (en) * 1988-08-25 1992-03-31 Edgcore Technology, Inc. Pipelined system for reducing instruction access time by accumulating predecoded instruction bits a FIFO
JPH02126322A (ja) * 1988-11-07 1990-05-15 Nec Corp 情報処理装置
US5150469A (en) * 1988-12-12 1992-09-22 Digital Equipment Corporation System and method for processor pipeline control by selective signal deassertion
JP3068138B2 (ja) * 1989-04-06 2000-07-24 甲府日本電気株式会社 ベクトル演算処理装置
US5261063A (en) * 1990-12-07 1993-11-09 Ibm Corp. Pipeline apparatus having pipeline mode eecuting instructions from plural programs and parallel mode executing instructions from one of the plural programs
JP3497516B2 (ja) * 1992-02-20 2004-02-16 株式会社ルネサステクノロジ データプロセッサ
KR100186916B1 (ko) * 1994-02-14 1999-05-01 모리시다 요이치 신호처리장치
JP3000857B2 (ja) * 1994-08-31 2000-01-17 松下電工株式会社 プログラマブルコントローラ
JPH08147143A (ja) * 1994-11-21 1996-06-07 Mitsubishi Electric Corp 半導体集積回路
FR2737589B1 (fr) * 1995-07-31 1997-09-12 Suisse Electronique Microtech Systeme d'organisation et procede de sequencement des circuits d'un microprocesseur
JPH0969061A (ja) * 1995-08-30 1997-03-11 Sony Corp ビデオ信号用プロセツサ
JP3435278B2 (ja) * 1996-02-02 2003-08-11 東芝マイクロエレクトロニクス株式会社 データ処理装置
US5825680A (en) * 1996-06-21 1998-10-20 Digital Equipment Corporation Method and apparatus for performing fast division
US6085316A (en) * 1998-07-28 2000-07-04 Sun Microsystems, Inc. Layered counterflow pipeline processor with anticipatory control
US6163839A (en) 1998-09-30 2000-12-19 Intel Corporation Non-stalling circular counterflow pipeline processor with reorder buffer
US6708269B1 (en) * 1999-12-30 2004-03-16 Intel Corporation Method and apparatus for multi-mode fencing in a microprocessor system
WO2002073479A2 (en) 2001-02-22 2002-09-19 International Business Machines Corporation Controlling the creation of process instances in workflow management systems
US6959317B1 (en) * 2001-04-27 2005-10-25 Semtech Corporation Method and apparatus for increasing processing performance of pipelined averaging filters
US9069547B2 (en) 2006-09-22 2015-06-30 Intel Corporation Instruction and logic for processing text strings

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5374856A (en) * 1976-12-15 1978-07-03 Fujitsu Ltd Data process system
JPS5475935A (en) * 1977-11-17 1979-06-18 Burroughs Corp Templit micromemory structure
JPS5533280A (en) * 1978-08-31 1980-03-08 Fujitsu Ltd Data processing system
JPS5619152A (en) * 1979-07-24 1981-02-23 Fujitsu Ltd Pipe-line processing system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4025771A (en) * 1974-03-25 1977-05-24 Hughes Aircraft Company Pipe line high speed signal processor
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
GB1527289A (en) * 1976-08-17 1978-10-04 Int Computers Ltd Data processing systems
US4149242A (en) * 1977-05-06 1979-04-10 Bell Telephone Laboratories, Incorporated Data interface apparatus for multiple sequential processors
US4309691A (en) * 1978-02-17 1982-01-05 California Institute Of Technology Step-oriented pipeline data processing system
BG33404A1 (en) * 1980-07-22 1983-02-15 Kasabov Registrating arithmetic device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5374856A (en) * 1976-12-15 1978-07-03 Fujitsu Ltd Data process system
JPS5475935A (en) * 1977-11-17 1979-06-18 Burroughs Corp Templit micromemory structure
JPS5533280A (en) * 1978-08-31 1980-03-08 Fujitsu Ltd Data processing system
JPS5619152A (en) * 1979-07-24 1981-02-23 Fujitsu Ltd Pipe-line processing system

Also Published As

Publication number Publication date
US4658355A (en) 1987-04-14
JPS58106636A (ja) 1983-06-25

Similar Documents

Publication Publication Date Title
JPS6351287B2 (ja)
US4916606A (en) Pipelined parallel data processing apparatus for directly transferring operand data between preceding and succeeding instructions
KR950033803A (ko) 다중 비트 시프트 장치, 이것을 이용한 데이타 프로세서, 및 다중 비트 시프트 방법
JPS6313215B2 (ja)
JP2665081B2 (ja) マイクロコンピュータのレジスタ間データ転送方式
JPH03286332A (ja) デジタルデータ処理装置
JPH05150979A (ja) 即値オペランド拡張方式
JPS6227412B2 (ja)
JPS623461B2 (ja)
US3001708A (en) Central control circuit for computers
US4812970A (en) Microprogram control system
JPH034936B2 (ja)
US5479620A (en) Control unit modifying micro instructions for one cycle execution
JPS6042966B2 (ja) デ−タ処理システム
KR910001708B1 (ko) 중앙처리장치
EP0334131B1 (en) Data processor performing operation on data having length shorter than one-word length
EP0936537A1 (en) Cyclic redundancy check in a computer system
JPS5860355A (ja) 情報処理装置
JP2553728B2 (ja) 演算装置
JPH0227709B2 (ja) Deetakudoseigyohoshiki
JPS60175145A (ja) デジタルデ−タ処理システム用マイクロコ−ド制御システム
SU896623A1 (ru) Устройство управлени конвейерным вычислительным устройством
JP2615746B2 (ja) ビット操作回路
JPH0562388B2 (ja)
JP2667810B2 (ja) ベクトル処理装置