[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2636136B2 - 演算処理装置及び演算処理方法 - Google Patents

演算処理装置及び演算処理方法

Info

Publication number
JP2636136B2
JP2636136B2 JP5122202A JP12220293A JP2636136B2 JP 2636136 B2 JP2636136 B2 JP 2636136B2 JP 5122202 A JP5122202 A JP 5122202A JP 12220293 A JP12220293 A JP 12220293A JP 2636136 B2 JP2636136 B2 JP 2636136B2
Authority
JP
Japan
Prior art keywords
branch
taken
instruction
instructions
executed
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 - Lifetime
Application number
JP5122202A
Other languages
English (en)
Other versions
JPH06309166A (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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP5122202A priority Critical patent/JP2636136B2/ja
Publication of JPH06309166A publication Critical patent/JPH06309166A/ja
Application granted granted Critical
Publication of JP2636136B2 publication Critical patent/JP2636136B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数の操作フィールド
から構成された命令を複数の演算器を用いて並列処理
し、演算の高速化を図った演算処理装置及び演算処理方
法に関する。
【0002】
【従来の技術】コンピュータの高性能化に伴い、演算処
理の高速化がますます要求されている。例えば、マイク
ロプログラムやその他各種の演算用プログラムについ
て、その演算処理の高速化を図るために、VLIW(Ve
ry Long Instruction Word, 長語命令)方式が提案され
ている。図2に、従来のVLIW方式の演算処理装置ブ
ロック図を示す。図の装置は、図に示すような命令1を
処理する。この命令1は、演算器制御フィールド2とメ
モリ制御フィールド3とから構成されている。演算器制
御フィールド2には、例えば4つの操作フィールド4が
設けられている。各操作フィールド4には、それぞれ一
定の演算操作op1〜op4が設定されている。
【0003】この装置は、命令レジスタ5に、この命令
1を受け入れて演算処理を行う。命令レジスタ5には、
操作フィールド保持部5−1〜5−4と、メモリ制御フ
ィールド保持部5−5とが設けられている。操作フィー
ルド保持部5−1〜5−4には、それぞれ演算器6−1
〜6−4が接続されている。これらの演算器6−1〜6
−4の出力は結合網7に送り込まれる。また、メモリ制
御フィールド保持部5−5はメモリバンク8に接続され
ている。このメモリバンク8は上記結合網7と接続され
ている。上記のような演算処理装置は、命令レジスタ5
に格納された命令1の各操作フィールド4の演算操作
を、対応して設けられた演算器6−1〜6−4によって
並列処理する。その処理結果やメモリバンク8に格納さ
れたデータは、結合網7によって相互に読み書きされ、
その後の処理に使用される。
【0004】上記のような命令1に含まれる各操作の内
容は、プログラマーやコンパイラが指定する。即ち、ど
の操作が並列処理されるかは、全てこの命令の実行前に
決定されている。プログラムの大域的な動作について、
プログラマーの把握している知識を利用し、あるいはコ
ンパイラがプログラムの動作を大域的に解析することに
よって得られた情報を利用し、並列処理される操作がで
きるだけ多くなるように命令が並べられる。例えば、従
来この他の方法として、並列に実行される操作を実行時
にその都度決定していくような方法も提案されている
が、VLIW方式は、このような方式に比べて演算装置
等のプロセッサのハードウェア資源の利用効率を高める
ことができるといった利点がある。また、実行時に並列
処理すべき操作を決定するような他の方法では、データ
の依存関係の抽出や、複雑な制御を行う必要があるが、
VLIW方式では、このような制御は不要になり、ハー
ドウェア構成を簡素化することができ、命令の実行が高
速化されるといった利点がある。
【0005】
【発明が解決しようとする課題】ところで、上記のよう
なVLIW方式においては、予め命令を構成する操作フ
ィールドの数を設定し、この数に対応した演算器を用意
する。従って、常にこれらの演算器をフルに使用し、並
列演算を行えば、初期の高速処理の目的が達成される。
しかしながら、並列処理可能な操作が見当らず、並列度
が低くなった場合には、演算器制御フィールドに遊びが
でき、動作しない演算器が生じることから、命令のビッ
ト使用効率が低下する。この並列度はコンパイラの能力
等に依存し、その能力をより高めることが処理の高速化
を図るために重要である。本発明は以上の点に着目して
なされたもので、操作の並列度を高め、命令のビット使
用効率とプロセッサのハードウェア資源の利用効率を向
上させた演算処理装置及び演算処理方法を提供すること
を目的とするものである。
【0006】
【課題を解決するための手段】第1発明は、複数の操作
フィールドから構成された命令を、前記各操作フィール
ド毎に設けられた複数の演算器を用いて並列処理するも
のにおいて、予め各操作フィールド毎に、前段の命令で
分岐が成立した場合と分岐が成立しない場合におけるそ
の後の命令の演算結果の有効性判定用情報を格納する制
御サブフィールド保持部と、前段の命令で分岐成立か不
成立かを示す分岐フラグを保持する分岐フラグ保持部
と、前記分岐フラグと、前記各制御サブフィールドの有
効性判定用情報とを受け入れて、前記その後の命令の各
操作フィールド毎に、その演算結果を有効とするか無効
とするかの判定情報を出力する無効化信号生成部とを備
えたことを特徴とする演算処理装置に関する。
【0007】第2発明は、複数の操作フィールドから構
成された一連の命令を、前記各操作フィールド毎に設け
られた複数の演算部を用いて並列処理する場合におい
て、分岐が成立した場合にも分岐が不成立の場合にもそ
の後に到達する命令の前方にある1又は2以上の命令
に、無効な操作フィールドが含まれている場合に、前記
各命令の無効な操作フィールドに、他の命令の有効な操
作フィールドを組み込んで、命令数を減少させることを
特徴とする演算処理方法に関する。
【0008】第3発明は、複数の操作フィールドから構
成された一連の命令を、前記各操作フィールド毎に設け
られた複数の演算部を用いて並列処理する場合におい
て、演算器に設けたパイプラインステージに、続いて処
理すべき命令を先行読出しする遅延分岐処理の際、分岐
が成立した場合にも分岐が不成立の場合にも予め実行す
る命令の後方にある、1又は2以上の命令に、無効な操
作フィールドが含まれている場合に、前記各命令の無効
な操作フィールドに、他の命令の有効な操作フィールド
を組み込んで、命令数を減少させることを特徴とする演
算処理方法に関する。
【0009】
【作用】命令は、複数の操作フィールド及び各操作フィ
ールドに対応させた制御サブフィールドにより構成され
ている。分岐操作を含む命令が実行されると、その後分
岐が成立した場合と分岐が成立しない場合とで、それぞ
れ実行される操作が異なる。この場合に、操作結果を、
制御サブフィールドの情報と分岐成立か不成立かを示す
フラグの内容とに基づき取捨選択する。これにより、分
岐成立の場合の操作と不成立の場合の操作を一命令に含
めて並列処理することが可能になり、命令数の減少が図
れる。
【0010】分岐成立の場合と分岐不成立の場合とで
は、分岐命令後の実行される操作が異なるが、その後、
いずれの場合にも実行される命令に到達する。この命令
の直前の複数の命令に、分岐成立の場合と不成立の場
合、いずれも無効な操作フィールドが含まれていれば、
一方の命令の無効な操作フィールドに他方の命令の有効
な操作フィールドを組み込み、並列化を図ることができ
る。また、パイプライン処理では、命令のフェッチ、デ
コード、実行といったステージを設け、引き続いて処理
される複数の命令をそれぞれ先行読出しする遅延分岐処
理が行われる。この場合、分岐成立あるいは不成立の判
定がされる前に、予め実行される命令の直後の命令に無
効な操作フィールドが含まれる場合がある。このような
ときも、一方の命令の無効な操作フィールドに他方の命
令の有効な操作フィールドを含めることにより処理を並
列化させ、命令数を減少させられる。
【0011】
【実施例】以下、本発明を図の実施例を用いて詳細に説
明する。 [第1発明]図1は、本発明の演算処理装置実施例を示
すブロック図である。この装置は、命令10に示したよ
うな構成の命令を実行するために、命令レジスタ20を
備えている。本発明においては、まず、VLIW方式を
採用した命令の構成自体が従来のものと異なる。即ち、
この命令10には、例えば4種類の操作を並列処理させ
るために、4個の操作フィールドop1〜op4が設け
られている。また、各操作フィールドop1〜op4に
対して、それぞれ制御サブフィールドF1〜F4が設け
られる。この制御サブフィールドF1〜F4は、後で詳
しく説明するように、対応する操作フィールドop1〜
op4の操作について、分岐が成立した場合と分岐が成
立しない場合における演算結果の有効性判定情報が設定
されている。
【0012】命令レジスタ20には、このために4個の
操作フィールド保持部22−1〜22−4の他に、制御
サブフィールドF1〜F4の有効性判定用情報を格納す
るための制御サブフィールド保持部21−1〜21−4
が設けられている。また、この装置には、命令が実行さ
れると前段の命令の分岐操作の演算結果を監視し、分岐
が成立か不成立かを示す内容の分岐フラグを保持するた
めの分岐フラグレジスタ13が設けられている。分岐フ
ラグレジスタ13の出力と命令レジスタ20の制御サブ
フィールド保持部21−1〜21−4の出力は、それぞ
れ対応する4個の無効化信号生成部11−1〜11−4
に入力するよう構成されている。
【0013】一方、操作フィールド保持部22−1〜2
2−4の出力は、対応する演算器12−1〜12−4に
送り込まれるよう構成されている。これらの演算器12
−1〜12−4によって各操作の並列処理が実行され
る。この並列処理構造は従来装置と同様である。本発明
においては、上記の無効化信号生成部11−1〜11−
4の出力が、それぞれ演算器12−1〜12−4の制御
端子に入力し、演算結果を無効とするか、有効とするか
の判定情報が供給される構成とされている。
【0014】以上の装置は、例えば分岐操作と、2個の
演算操作と、メモリ操作とから構成された命令10を命
令レジスタ20に受け入れ、各操作op1〜op4を演
算器12−1〜12−4により同時に実行する。ここ
で、分岐操作の実行により分岐が成立か不成立かの情報
が生成されると、これが分岐フラグレジスタ13に格納
される。命令レジスタ10に、その後格納された命令の
各操作は、演算器12−1〜12−4によって並列処理
されるが、そのとき、制御サブフィールド保持部21−
1〜21−4に格納された有効性判定用情報が無効化信
号生成部11−1〜11−4に供給される。ここで、分
岐フラグレジスタ13から出力された分岐フラグと一定
の論理をとり、対応する演算器12−1〜12−4によ
り実行された実行結果が、有効であるか無効であるかの
判定情報を各演算器に供給する。
【0015】これにより、例えば並列処理された演算の
中から、分岐が成立した場合に必要な演算結果や、逆に
分岐が不成立の場合に必要な演算結果のみが必要に応じ
て選択的に取り出され、それ以降の演算処理に使用され
る。このような構成の装置によって、上記命令10に同
時に含めることのできる操作が増加し、プログラム実行
の並列度を高めることができる。その具体的な命令の構
成や制御サブフィールドの内容等は、第2発明以下を用
いて説明する。
【0016】[第2発明]図3に、第2発明による制御
サブフィールドの内容説明図を示す。本発明を実施する
場合、具体的には例えば制御サブフィールドの内容を、
この図に示すように定義する。例えば、この例では、制
御サブフィールドは2ビットのデータから構成される。
そして、その内容が“00”の場合は未定義とし、“0
1”の場合は分岐以外によってこの命令に制御が移った
とき、このフィールドの操作を実行するという指示にな
る。即ち、分岐が不成立の場合に演算結果が有効になる
操作について、制御サブフィールドをこの内容にする。
【0017】また、制御サブフィールドの値を“10”
とした場合には、分岐によってこの命令に制御が移った
とき、このフィールドの操作を実行するといった内容に
する。即ち、分岐が成立した場合には、この操作フィー
ルドの演算結果が有効となる旨を示している。最後に、
制御サブフィールドの値が“11”の場合には、この命
令に制御が移ったとき、必ず、このフィールドの操作を
実行するといった内容とする。即ち、この操作フィール
ドの演算結果は分岐の成立、不成立に関わらず有効とな
る。
【0018】このような制御サブフィールドの有効性判
定用情報が、図1に示す無効化信号生成部11−1〜1
1−4に入力すると、分岐フラグレジスタ13から出力
される分岐フラグと共に論理演算がされ、図3の右側に
示すような判定情報が得られる。即ち、有効性判定用情
報が“01”の場合、分岐が成立すれば“1”、分岐が
不成立の場合は“0”、有効性判定用情報が“10”の
場合、分岐が成立した場合に“0”、分岐が不成立の場
合は“1”、有効性判定用情報が“11”の場合には、
分岐が成立しても分岐が不成立でも“0”となる。な
お、この判定情報が“1”の場合、操作が無効化され、
“0”の場合には、操作が有効とされる。このように、
もし判定情報が“1”の場合には、演算器12−1〜1
2−4の対応する出力が抑制され、図2に示したような
結合網7への出力が行われない。また、メモリ操作の場
合には、メモリ操作信号の抑制等が行われる。
【0019】図4に、第2発明を実施した場合の一連の
命令についての説明図を示す。第2発明は、この図に示
すような命令について実施され、(a)に示すような従
来方法に比べ、(b)に示すように、本発明の方法では
命令数が減少し、並列処理の効果が高められている。
【0020】図5に、図4に示した第2発明の方法の実
施例における用語説明図を示す。図4に示す各命令や、
その用語は、この図5に示すような内容となる。即ち、
図4の行番号(1)に示すbranch L1 if(cond1) は、
条件cond1 が成立したときL1に分岐するという内容の
命令で、図4に示すように、この命令と演算操作op
1、op2とが、それぞれ図1に示すような命令10の
分岐操作及び2種類の演算操作として設定される。行番
号(2)のcontinueは、分岐しない場合に実行される命
令で、演算操作としてop3、op4が設定されてい
る。
【0021】次の行番号(3)のbranch L2 は、無条
件でL2に分岐する命令である。この処理については、
従来方法では操作op5のみが設定され、図中△印で示
したもう一方の演算操作の操作フィールドは無効なもの
となっている。これは、行番号(1)に分岐操作がある
ために、通常の方法では並列処理可能な命令が見当らな
いためである。行番号(4)と行番号(6)は、それぞ
れL1の場合とL2の場合の処理命令を表わす。なお、
行番号(5)については、やはり操作op8以外に並列
処理すべき操作が見当らないため、一方の操作フィール
ドが△印で示すように無効となっている。なお、このよ
うな一連の命令は、分岐が成立した場合には実行順序が
Aとなる。分岐が不成立の場合には実行順序がBとな
る。図4の右側には、そのような実行順序を順に数字で
示している。縦軸は実行タイミングで、命令は1行毎に
実行される。
【0022】第2発明の方法では、図4(a)に示す△
印で図示したような無効な操作フィールドに、他の有効
な操作フィールドの操作を組み込んで命令数を減少させ
る。具体的には、この例では図4(a)に示す行番号
(3)の操作op5と、行番号(5)の操作op8とを
並列化する。この場合に、それぞれの操作についてみる
と、分岐が成立した場合に操作op8が有効になり、分
岐が不成立の場合には操作op5が有効になる。即ち、
いずれか一方が有効であって他方はその演算結果が不要
となる。従って、(b)に示すように、行番号(4)に
操作op5と操作op8とを並列化すると共に、その制
御サブフィールドに(b)及び(n)という有効性判定
用情報を含める。(b)は、図5に示すように、制御サ
ブフィールドが“10”で、分岐によってこの命令に制
御が移ったとき有効とされる。また、(n)は図5に示
すように、制御サブフィールドが“01”であって、分
岐不成立の場合に、この操作が有効になることを示す。
【0023】上記のように、図4(a)に示す方法と
(b)に示す方法を比べると、分岐処理の後、必ず到達
する(a)の(6)に示す命令の直前で実行される
(a)の行番号(3)と(5)の命令を、(b)に示す
ように、行番号(4)に一括して並列化し、それぞれ無
効な操作フィールドをなくし、演算処理速度の向上を図
ることができる。なお、このように分岐処理後、必ず到
達する命令の直前にある命令は、複数あっても、それぞ
れ無効な操作フィールドが存在する限り、制御サブフィ
ールドを設けることによって、容易に多重化が可能とな
る。
【0024】[第3発明]図6に、第3発明実施のため
の装置ブロック図を示す。一般に、マイクロプログラム
等を実行するためのこの種の演算処理装置では、処理の
高速化を図るためにパイプライン処理が行われる。この
場合、図1に示すような各演算器12−1〜12−4
は、それぞれ命令をフェッチし、デコードし、実行し、
格納するといった複数のステージから構成される。そし
て、各命令は先取りされ、分岐操作の実行により分岐が
成立したか不成立かが判明したときには、既に次の命令
がフェッチされている。従って、図1に示す装置そのま
までは、第2発明に示したような命令の並列化が容易で
ない。
【0025】そこで、このような遅延分岐処理のなされ
る場合の装置例を、この図6に示した。この装置は、命
令の分岐操作op1に制御サブフィールドを設けない。
即ち、遅延分岐処理では分岐操作自体について、処理結
果の選択は行わない。従って、命令レジスタ20にも対
応する制御サブフィールド保持部は設けられていない。
また、無効化信号生成部11−1には、分岐フラグレジ
スタ13の出力と共に、論理演算をするための信号とし
て、常に“01”という制御信号が入力するよう設定さ
れている。第3発明は、図1に示す装置に、このような
変更を加えることによって実現される。なお、第3発明
実施の場合には、分岐フラグレジスタ13は、分岐操作
命令が実行されると、その直後の命令の実行開始の際
に、分岐フラグがセットされる。また、分岐が成立しな
い場合、直後の命令の実行開始時に分岐フラグがリセッ
トされる。
【0026】図7に、第3発明による制御サブフィール
ドの内容説明図を示す。この形式は、図3に示すような
ものと同様に、2ビットの有効性判定情報から構成され
る。しかしながら、第3発明においては、命令を分岐操
作と、2個の演算操作と、メモリ操作により構成した場
合に、分岐操作には有効性判定用情報は付加しない。ま
た、有効性判定用情報の内容は“01”の場合に、直前
に実行された命令が分岐しなかったとき、このフィール
ドの操作を実行するといったものとなる。また、“1
0”の場合、直前に実行された命令が分岐したとき、こ
のフィールドの操作を実行するといった内容となる。更
に、有効性判定用情報が“11”のときは、直前に実行
された命令が分岐したか否かに関わらず、このフィール
ドの操作を実行するといった内容となる。判定情報の内
容との対応関係については、図3に示したものと同様、
有効性判定用情報が“01”の場合、分岐が成立すれ
ば、その操作は無効となり、分岐が不成立ならば、その
操作は有効となる。また、有効性判定用情報が“10”
の場合、分岐が成立すれば有効となり、分岐が不成立な
らば無効となる。
【0027】図8に、第3発明を実施した具体的な一連
の命令説明図を示す。これらの命令は、図4のものと同
様、行番号(1)から(7)に向かって順番に、この図
に示すタイミングで実行される。図8(a)は、従来方
法により実行される一連の命令で、図8(b)は、本発
明の方法により実行される一連の命令である。この実施
例では、図の(a)に示す△印の4箇所の無効な操作フ
ィールドが、それぞれ互いに有効な操作フィールドに置
き換えられ、並列化によって2個の命令が省略されてい
る。
【0028】図9に、図8に示した第3発明の方法の実
施例における用語説明図を示す。ここで、branchやcont
inueは、既に図5を用いて説明したものと同様であるた
め、重複する説明を省略するが、図8(a)の一連の命
令は、cond2 が成立した場合には、L3に分岐し行番号
(5)の処理に移り、不成立の場合には、行番号(2)
の処理が実行されるというものである。その結果、
(a)の右側に示すように、分岐が成立した場合、実行
順序Aは行番号(1)、(2)、(5)、(6)、
(7)といった処理となる。また、分岐が不成立の場合
の実行順序Bは、行番号(1)、(2)、(3)、
(4)、(7)となる。
【0029】第3発明においては、この図8(a)に示
す行番号(2)、(3)、(5)に生じた△印で示す無
効な操作フィールドを詰め合わせる。遅延分岐処理の場
合には、このような無効な操作フィールドは、分岐が成
立した場合にも不成立の場合にも、予め実行される命
令、即ち行番号(1)に示す命令の直後に続く行番号
(2)や行番号(3)あるいは行番号(5)等の命令に
無効な操作フィールドが生じやすい。そこで、(b)に
示すように、行番号(3)の操作op3と行番号(5)
の操作op6とを並列化する。更に、制御サブフィール
ドの活用により、行番号(2)の処理を省略する。これ
によって、図8(b)に示すように、無効な操作フィー
ルドのない一連の命令ができ上がる。
【0030】ここで、(b)に示す行番号(2)や
(3)の(n)、(r)、(e)は、それぞれ制御サブ
フィールドが“01”、“10”、“11”であること
を示している。また、指定がないときは、制御サブフィ
ールドが“01”であるとする。これによって、例えば
(b)に示す行番号(2)の操作op3は、分岐以外に
よってこの命令に制御が移ったとき、操作の演算結果が
有効となる。また、逆に行番号(2)の操作op6は、
分岐によってこの命令に制御が移ったとき、演算結果が
有効となる。従って、行番号(2)の操作op3とop
6とは、制御サブフィールドによって、いずれか一方が
有効になり、その後の処理に使用される。行番号(3)
に示す命令についても同様である。このような選択が自
動的に行われる結果、これまで別々の命令に含めて処理
されていた操作が一括して並列化できるようになる。
【0031】なお、このような遅延分岐処理によって、
実行順序A、Bの場合に共に実行される命令、即ち図8
(a)に示す(2)の命令に続く行番号(3)の命令
が、上記のような方法で多重化されたが、この(3)の
命令に引き続き、いくつかの命令が存在し、それぞれ無
効な操作フィールドがある場合でも、同様にして並列化
が可能となる。
【0032】図10に、本発明の変形例説明図を示す。
上記のような第2発明や第3発明により、これまで無効
な操作フィールドが存在した命令について、その無効な
操作フィールドに別の命令の有効な操作フィールドにあ
る操作を含めることができた。ここで、第2発明と第3
発明とは、それぞれ並列化処理の対象となる命令が異な
る。従って、両方の発明を同時に実施すれば、更に複雑
なプログラムについて、その命令の数を減少させ、並列
化による演算処理高速化が図られる。この場合の有効性
判定用情報は、例えばこの図10に示すような内容とす
ることができる。
【0033】即ち、第2発明と第3発明を同時に実施す
る場合には、有効性判定用情報は3ビットから成る。例
えば“001”の場合には、分岐以外によってこの命令
に制御が移り、かつ直前に実行された命令が分岐しなか
ったとき、このフィールドの操作を実行するといったも
のとなる。同様に、有効性判定用情報が“010”、
“011”、“100”、“101”、“110”の場
合に、それぞれ第2発明と第3発明において設定した条
件を組み合わせ、対応するフィールドの操作の有効無効
を制御できる。
【0034】本発明は以上の実施例に限定されない。上
記実施例においては、命令の構成を分岐操作と、2種の
演算操作と、メモリ操作とにより構成したが、このよう
な命令の構成は自由に変更して差し支えなく、更に多数
の操作フィールドを設け、演算処理の高度な並列化を図
ることも可能である。また、制御サブフィールドに設け
られた有効性判定情報を処理し、演算器の出力を有効あ
るいは無効化するためのハードウェアは、上記のような
構成に限らず同様の機能のものに自由に置き換えて差し
支えない。
【0035】
【発明の効果】以上説明した本発明の演算処理装置及び
演算処理方法によれば、複数の操作フィールドから構成
された命令を複数の演算器を用いて、それぞれ並列処理
する場合に、各操作フィールド毎に、その前段の命令で
分岐が成立した場合と不成立の場合の演算結果の有効性
を示す有効性判定用情報を設定し、分岐が成立か不成立
かを示す分岐フラグを元にして、操作フィールド毎に演
算結果を有効とし、あるいは無効とする無効化信号生成
部を設けるような装置構成としたため、これまで別々に
処理され、並列化できなかったような操作についても並
列化が可能となり、処理の高速化が図られる。
【0036】また、この場合に、分岐が成立した場合に
も分岐が不成立の場合にも到達する命令の前方にある、
1又は2以上の命令に存在する無効な操作フィールド
を、別の命令の有効な操作フィールドに置き換えるよう
にすれば、効果的な命令数の減少が図られる。また、遅
延分岐処理が行われる場合には、分岐が成立した場合に
も不成立の場合にも予め実行する命令の後方にある、1
又は2以上の命令について、その操作フィールドを別の
命令の有効な操作フィールドで置き換え、命令数を減少
させることができる。これらの方法によれば、プログラ
マーが予めプログラムを論理的に解析し、それぞれの操
作フィールドを設定する他、コンパイラによる自動的な
有効性判定用情報の生成も可能となる。
【図面の簡単な説明】
【図1】本発明の演算処理装置実施例を示すブロック図
である。
【図2】従来のVLIW方式の演算処理装置ブロック図
である。
【図3】第2発明による制御サブフィールドの内容説明
図である。
【図4】第2発明の方法を実施した一連の命令説明図で
ある。
【図5】第2発明の方法の実施例における用語説明図で
ある。
【図6】第3発明実施のための装置ブロック図である。
【図7】第3発明による制御サブフィールドの内容説明
図である。
【図8】第3発明の方法を実施した一連の命令説明図で
ある。
【図9】第3発明の方法の実施例における用語説明図で
ある。
【図10】本発明の変形例説明図である。
【符号の説明】
10 命令 11−1〜11−4 無効化信号生成部 12−1〜12−4 演算器 13 分岐フラグレジスタ F1〜F4 制御サブフィールド op1〜op4 操作フィールド 21−1〜21−4 制御サブフィールド保持部 22−1〜22−4 操作フィールド保持部

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の操作フィールドから構成された命
    令を、前記各操作フィールド毎に設けられた複数の演算
    器を用いて並列処理するものにおいて、 予め各操作フィールド毎に、前段の命令で分岐が成立し
    た場合と分岐が成立しない場合におけるその後の命令の
    演算結果の有効性判定用情報を格納する制御サブフィー
    ルド保持部と、 前段の命令で分岐成立か不成立かを示す分岐フラグを保
    持する分岐フラグ保持部と、 前記分岐フラグと、前記各制御サブフィールドの有効性
    判定用情報とを受け入れて、前記その後の命令の各操作
    フィールド毎に、その演算結果を有効とするか無効とす
    るかの判定情報を出力する無効化信号生成部とを備えた
    ことを特徴とする演算処理装置。
  2. 【請求項2】 複数の操作フィールドから構成された
    一連の命令を、前記各操作フィールド毎に設けられた複
    数の演算部を用いて並列処理する場合において、分岐が
    成立した場合にも分岐が不成立の場合にもその後に必ず
    実行される命令の以前に実行されうる1又は2以上の命
    令に無効なフィールドが含まれている場合、これらの無
    効操作フィールドに他の命令の有効な操作フィールドを
    相互に埋めこみ命令の一括並列化を行い、前記分岐が成
    立した場合にも分岐が不成立の場合にもその後に必ず実
    行される命令の位置に前記一括並列化した命令を置き、
    その命令において、分岐が成立したときのみ実行される
    操作フィールドと分岐が不成立のときのみ実行される操
    作フィールドと分岐が成立した場合にも分岐が不成立の
    場合にもその後に必ず実行される操作フィールドとを、
    請求項1記載の分岐フラグと制御サブフィールドを用い
    制御し、命令数を減少させることを特徴とする演算処理
    方法。
  3. 【請求項3】 複数の操作フィールドから構成され
    た一連の命令を、前記各操作フィールド毎に設けられた
    複数の演算部を用いて並列処理する場合において、演算
    器に設けたパイプラインステージに、続いて処理すべき
    命令を先行読み出しする遅延分岐処理の際、分岐が成立
    した場合にも不成立の場合にも予め実行される命令の以
    後に実行されうる1又は2以上の命令に無効なフィール
    ドが含まれている場合、これらの無効操作フィールドに
    他の命令の有効な操作フィールドを相互に埋めこみ命令
    の一括並列化を行い、分岐操作を含む命令の直後に全期
    一括並列化した命令を置き、その命令において、分岐が
    成立したときのみ実行される操作フィールドと分岐が不
    成立のときのみ実行される操作フィールドと分岐が成立
    した場合にも分岐が不成立の場合にもその後に必ず実行
    される操作フィールドとを、請求項1記載の分岐フラグ
    と制御サブフィールドを用い制御し、命令数を減少させ
    ると共に分岐による遅延を実質的に発生させないことを
    特徴とする演算処理方法。
JP5122202A 1993-04-27 1993-04-27 演算処理装置及び演算処理方法 Expired - Lifetime JP2636136B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5122202A JP2636136B2 (ja) 1993-04-27 1993-04-27 演算処理装置及び演算処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5122202A JP2636136B2 (ja) 1993-04-27 1993-04-27 演算処理装置及び演算処理方法

Publications (2)

Publication Number Publication Date
JPH06309166A JPH06309166A (ja) 1994-11-04
JP2636136B2 true JP2636136B2 (ja) 1997-07-30

Family

ID=14830088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5122202A Expired - Lifetime JP2636136B2 (ja) 1993-04-27 1993-04-27 演算処理装置及び演算処理方法

Country Status (1)

Country Link
JP (1) JP2636136B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2931890B2 (ja) * 1995-07-12 1999-08-09 三菱電機株式会社 データ処理装置
JP3790607B2 (ja) 1997-06-16 2006-06-28 松下電器産業株式会社 Vliwプロセッサ

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2629474B2 (ja) * 1990-04-06 1997-07-09 日本電気株式会社 並列パイプライン命令処理装置の命令実行処理方式
JP2843844B2 (ja) * 1990-10-31 1999-01-06 ソニー株式会社 並列演算処理装置

Also Published As

Publication number Publication date
JPH06309166A (ja) 1994-11-04

Similar Documents

Publication Publication Date Title
JP2918631B2 (ja) デコーダ
US5341482A (en) Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions
US5446849A (en) Electronic computer which executes squash branching
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPH04229326A (ja) スカラ命令の並列実行を得る方法およびシステム
US4967338A (en) Loosely coupled pipeline processor
KR100316078B1 (ko) 파이프라인방식프로세서
US5742783A (en) System for grouping instructions for multiple issue using plural decoders having forward and backward propagation of decoding information
US4541047A (en) Pipelined data processing system
US4739470A (en) Data processing system
US10338926B2 (en) Processor with conditional instructions
JPH02227730A (ja) データ処理システム
EP1354267A2 (en) A superscalar processor having content addressable memory structures for determining dependencies
KR100334174B1 (ko) 데이타처리장치
EP0496407A2 (en) Parallel pipelined instruction processing system for very long instruction word
KR100431975B1 (ko) 분기에의한중단이없는파이프라인방식의마이크로프로세서를위한다중명령디스패치시스템
US5390306A (en) Pipeline processing system and microprocessor using the system
JP2636136B2 (ja) 演算処理装置及び演算処理方法
US6115807A (en) Static instruction decoder utilizing a circular queue to decode instructions and select instructions to be issued
EP0162929A1 (en) Method of controlling branching
JP2004021890A (ja) データ処理装置
CN1175348C (zh) 在一个超长指令字中执行的子流水线和流水线
JP2877531B2 (ja) 並列演算処理装置
JPH0228723A (ja) ループ命令実行方式
JP2591325B2 (ja) 分岐制御装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term