JP2843844B2 - 並列演算処理装置 - Google Patents

並列演算処理装置

Info

Publication number
JP2843844B2
JP2843844B2 JP29213490A JP29213490A JP2843844B2 JP 2843844 B2 JP2843844 B2 JP 2843844B2 JP 29213490 A JP29213490 A JP 29213490A JP 29213490 A JP29213490 A JP 29213490A JP 2843844 B2 JP2843844 B2 JP 2843844B2
Authority
JP
Japan
Prior art keywords
instruction
branch
control unit
unit
execution
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 - Fee Related
Application number
JP29213490A
Other languages
English (en)
Other versions
JPH04167027A (ja
Inventor
徹 佐々木
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP29213490A priority Critical patent/JP2843844B2/ja
Publication of JPH04167027A publication Critical patent/JPH04167027A/ja
Application granted granted Critical
Publication of JP2843844B2 publication Critical patent/JP2843844B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は複数の命令を同時に実行する並列演算処理装
置に関する。
[従来の技術] 従来の並列演算処理装置は、例えば第3図に示すよう
に構成されている。
命令フェッチステージにおいては、図示せぬ命令キャ
ッシュメモリから、後段の演算器の数に対応する命令ワ
ードがフェッチされる。この例の場合、演算器は4個あ
るので、4個の命令ワードOP0乃至OP3からなる命令ワー
ドがフェッチされる。この命令ワードOP0乃至0P4のう
ち、命令ワードOP0は分岐制御命令とされ、例えば第4
図に示すように、分岐条件とディスプレースメントから
構成されている。分岐条件として演算部のステータス、
フラグ等に対応して、分岐するか否かを指定する条件が
記入されている。ディスプレースメントには、プログラ
ムカウンタの値と加算され、分岐アドレスを生成するデ
ータが記入されている。これに対して、命令ワードOP1
乃至OP3には、加算、減算等、通常の命令が記入されて
いる。
実行ステージには4個の演算器ALU0乃至ALU3が配置さ
れており、それぞれに命令ワードOP0乃至OP3が供給さ
れ、各演算器は入力された命令ワードを実行する。各演
算器ALU0乃至ALU3の演算結果は、ストアステージの各レ
ジスタに記憶される。
このようにして、この例の場合、4つの命令が並列処
理される。
最初の命令ワードの処理が命令フェッチステージから
実行ステージに移管されたとき、命令フェッチステージ
には次の命令ワードが入力される。実行ステージにおい
ても、その処理がストアステージに移管されると、次の
実行処理が入力される。最後のストアステージにおい
て、分岐条件が成立するか否かが判定され、分岐条件が
成立しなければ、各ステージの処理はそのまま継続され
る。
しかしながら、分岐条件が成立した場合、分岐先の命
令を処理することになるので、そのときにおける命令フ
ェッチステージと実行ステージの処理、およびストアス
テージにおける命令ワードOP1乃至OP3の演算結果は無効
とされる。そして、分岐先の命令ワードが命令フェッチ
ステージにフェッチされ、その新たな処理が開始され
る。
このように、分岐が成立した場合、その直前の命令フ
ェチステージと実行ステージの処理、およびストアステ
ージの演算結果が無効とされてしまう。
そこで、従来、各命令ワード内に分岐の発生する確率
を示すコードを記入しておき、分岐予測機構でこの確率
を判定し、分岐する確率が高い場合、分岐先の命令ワー
ドをフェッチするようにしていた。
[発明が解決しようとする課題] しかしながら、このように分岐予測機構を用いた場
合、例えばループのように、分岐する確率が高いと確実
に予測されるとき、ある程度、効率的な処理を実行する
ことができるが、例えばOSのプログラムにおける処理の
場合のように、分岐するか否かの予測が困難であると
き、命令ワードOP1乃至OP3には有効な命令を設定でき
ず、無害なNOPコード(No Operation Code)を設定せざ
る得なかった。また、分岐成立時に、既にストアされて
いる演算結果の無効化を充分抑制することができなかっ
た。その結果、処理効率を充分向上させることができな
かった。
本発明はこのような状況に鑑みてなされたもので、分
岐成立状態に拘らず、より効率的な処理を可能にするも
のである。
[課題を解決する手段] 本発明の並列演算処理装置は、命令ワードのうち、分
岐制御部の演算を行なう演算器と、その他の部分の演算
を行なう複数の演算器とからなる演算部と、演算器の数
に対応する命令ワードを演算器に供給する命令フェッチ
ャと、演算器による演算結果を記憶する記憶部とを備え
る並列演算処理装置において、分岐制御部は、分岐制御
部以外の部分の演算を行なう演算器の演算結果の実行
を、分岐状態に対応して制御する実行制御部を含むこと
を特徴とする。
[作用] 上記構成の並列演算処理装置においては、命令ワード
の分岐制御部に、分岐状態に対応して演算結果の実行を
制御する実行制御部が設けられている。従って、より効
率的な処理が可能となる。
[実施例] 次に、本発明の並列演算処理装置の一実施例について
説明する。
第1図は、本発明の並列演算処理装置に用いられる命
令ワードのフォーマットの一実施例を示している。
本発明においても、命令ワードは、演算器の数に対応
して構成される。この実施例においては、OP0乃至OP3の
4個の命令ワードが一度にフェッチされるようになって
いる。各命令ワードは32ビットで構成されている。そし
て、このうち分岐制御部の命令ワードOP0には、分岐条
件(8ビット)、実行制御部(6ビット)およびディス
プレースメント(18ビット)が記入されている。
分岐条件は演算部のステータス、フラグ等によって分
岐するか否かを指定するものである。ディスプレースメ
ントは、プログラムカウンタの値と加算され、分岐アド
レスを生成するデータである。このディスプレースメン
トとして、レジスタの番号を指定し、レジスタの内容を
分岐アドレスとすることもできる。
実行制御部は、命令ワードOP1乃至OP3の演算結果を実
行するか否かを制御するものであり、各命令ワードに2
ビットずつが割当てられている。この2ビットのデータ
と実行内容は例えば次のように対応する。
00・・・無条件に実行する 01・・・未定 10・・・分岐成立時にのみ実行 11・・・分岐不成立時にのみ実行 すなわち、実行制御部が(00)のとき、その演算結果
は分岐の成立状態に拘らず実行される(有効とされ
る)。(10)のときは分岐成立時においては実行される
が、分岐不成立時には実行されない(無効とされる)。
逆に(11)のときは、分岐不成立において実行される
が、分岐成立時には実行されない。
以上のようなフォーマットを有する命令ワードを処理
する装置の一実施例が第2図に示されている。
主記憶装置1より読み出された命令は、システムバス
を介してメモリインタフェース2に入力され、さらに命
令キャッシュメモリ3に転送され、記憶される。また、
主記憶装置1より読み出されたオペランドデータは、シ
ステムバスを介してメモリインタフェース2に供給さ
れ、さらにオペランドキャッシュメモリ8に入力され、
記憶される。オペランドキャッシュメモリ8に記憶され
たオペランドデータはレジスタファイル9にロードさ
れ、記憶される。レジスタファイル9にはまた、ストア
コントローラ7を介して演算部6からの演算結果が、デ
スティネーションオペランドとして入力、記憶される。
命令キャッシュメモリ3に記憶された命令のうち所定
のものが、命令ストリームとして命令フェッチャ4にフ
ェッチされ、そのうち、さらに、演算部6の演算器60乃
至6nの数((n+1)個)に対応する命令ワードがVLIW
(Very Long Instruction Word)(長大命令ワード)と
して命令デコーダ5に供給される。すなわち、演算部6
の演算器が4個ある場合(n=3の場合),1VLIWは128
(=4×32)ビットとされる。
n=3の場合、命令デコーダ5は、入力された命令ワ
ードOP0乃至OP3をデコードし、対応する演算器60乃至63
の加減算等の演算動作を指定する。また、演算器60乃至
63に、レジスタファイル9から必要なソースオペランド
を供給させる。
演算器60乃至63はレジスタファイル9から入力された
ソースオペランドに、命令デコーダ5からの制御信号に
対応する演算を施し、演算結果をストアコントローラ7
に出力する。ストアコントローラ7は入力された演算結
果をレジスタファイル9にデスティネーションオペラン
ドとして供給し、記憶させる。
レジスタファイル9に記憶されたデータは、必要に応
じて読み出され、演算器60乃至63、ストアコントローラ
7をスルーして、オペランドキャッシュメモリ8に記憶
される。そして、この記憶データが、メモリインタフェ
ース2を介して主記憶装置1に入力され、記憶される。
第3図における場合と同様に、命令フェッチャ4より
出力された命令ワードOP0乃至OP3が命令テコーダ5を介
して対応する演算器60乃至63に入力される。演算器60乃
至63はソースオペランドに所定の演算を施し、演算結果
をストアコントローラ7に出力する。
演算器60が処理する命令ワードOP0は第1図に示すよ
うに、分岐条件、実行制御部、ディスプレースメントを
含んでいる。分岐条件が成立しないとき、命令フェッチ
ャ4、命令デコーダ5、演算部6、ストアコントローラ
7の各ステージには、より上位のステージからより下位
のステージに、順次処理が移管される。
分岐条件が成立するとき、ストアコントローラ7に内
蔵されるプログラムカウンタの出力にディスプレースメ
ントが加算され、それが分岐アドレスとして命令フェッ
チャ4に供給される。これにより、命令フェッチャ4か
ら、分岐先の命令ワードが読み出され、以後その処理が
実行されることになる。
このとき、それまでの、命令フェッチャ4、命令デコ
ーダ5、演算部6の各ステージにおける処理が無効にさ
れる場合が少なくなるように、図示せぬ分岐予測機構に
より制御可能であるのは、上述した場合と同様である。
本発明においては、さらに、レジスタファイル9とと
もに記憶部を構成するストアコントローラ7における演
算結果を、より有効に利用することができる。
すなわち、本発明の分岐制御部には、第1図に示すよ
うに、実行制御部が設けられているので、この実行制御
部の指定により、分岐が成立しない場合に実行される命
令はもとより、成立する場合に実行される命令もOP1乃
至OP3に配置することができる。従って、分岐成立時に
実行される命令と、分岐不成立時に実行される命令の数
の割合を、分岐する確率に応じて設定することができ、
NOPコードを設定する頻度が減少する。これにより、ハ
ードウェア量を著しく増大させることなく並列演算処理
装置の性能を向上させることができる。
[発明の効果] 以上のように、本発明の並列演算処理装置によれば、
命令ワードの分岐制御部に、分岐状態に対応して演算結
果の実行を制御する実行制御部を設けるようにしたの
で、より効率的な処理が可能となる。
【図面の簡単な説明】
第1図は第2図の実施例に用いられる命令ワードのフォ
ーマットを説明する図、第2図は本発明の並列演算処理
装置の一実施例の構成を示すブロック図、第3図は従来
の並列演算処理装置の動作を説明する図、第4図は従来
の命令ワードのフォーマットを説明する図である。 3……命令キャッシュメモリ、4命令フェッチャ、5…
…命令デコーダ、6……演算部、7……ストアコントロ
ーラ、8……オペランドキャッシュメモリ、9……レジ
スタファイル、60乃至6n……演算器。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】命令ワードのうち、分岐制御部の演算を行
    なう演算器と、その他の部分の演算を行なう複数の演算
    器とからなる演算部と、 前記演算器の数に対応する前記命令ワードを前記演算器
    に供給する命令フェッチャと、 前記演算器による演算結果を記憶する記憶部とを備える
    並列演算処理装置において、 前記分岐制御部は、前記分岐制御部以外の部分の演算を
    行なう前記演算器の演算結果の実行を、分岐状態に対応
    して制御する実行制御部を含むことを特徴とする並列演
    算処理装置。
JP29213490A 1990-10-31 1990-10-31 並列演算処理装置 Expired - Fee Related JP2843844B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29213490A JP2843844B2 (ja) 1990-10-31 1990-10-31 並列演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29213490A JP2843844B2 (ja) 1990-10-31 1990-10-31 並列演算処理装置

Publications (2)

Publication Number Publication Date
JPH04167027A JPH04167027A (ja) 1992-06-15
JP2843844B2 true JP2843844B2 (ja) 1999-01-06

Family

ID=17777977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29213490A Expired - Fee Related JP2843844B2 (ja) 1990-10-31 1990-10-31 並列演算処理装置

Country Status (1)

Country Link
JP (1) JP2843844B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2636136B2 (ja) * 1993-04-27 1997-07-30 工業技術院長 演算処理装置及び演算処理方法

Also Published As

Publication number Publication date
JPH04167027A (ja) 1992-06-15

Similar Documents

Publication Publication Date Title
US5996057A (en) Data processing system and method of permutation with replication within a vector register file
US6334176B1 (en) Method and apparatus for generating an alignment control vector
US4745547A (en) Vector processing
CA1324671C (en) Decoding multiple specifiers in a variable length instruction architecture
KR100571322B1 (ko) 파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템
JPH0776921B2 (ja) データ処理方法及び装置
US10514919B2 (en) Data processing apparatus and method for processing vector operands
EP0427245A2 (en) Data processor capable of simultaneously executing two instructions
JP2507638B2 (ja) デ―タ処理装置
EP1241567A2 (en) Method and apparatus for executing coprocessor instructions
EP1050804A1 (en) Execution of instruction loops
US5574872A (en) Method and apparatus for controlling the saving of pipelines in pipelined processors during trap handling
US5542060A (en) Data processor including a decoding unit for decomposing a multifunctional data transfer instruction into a plurality of control codes
JPH0810428B2 (ja) データ処理装置
EP0378415A2 (en) Multiple instruction dispatch mechanism
JPH07120278B2 (ja) データ処理装置
US20030135714A1 (en) Method and apparatus for pre-processing instructions for a processor
JPH05150979A (ja) 即値オペランド拡張方式
JPH06266556A (ja) データ処理装置
JP2843844B2 (ja) 並列演算処理装置
US6775762B1 (en) Processor and processor system
US5850563A (en) Processor and method for out-of-order completion of floating-point operations during load/store multiple operations
JPH10124312A (ja) 中央処理装置
EP1050805B1 (en) Transfer of guard values in a computer system
US6308262B1 (en) System and method for efficient processing of instructions using control unit to select operations

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091030

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees