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

並列演算処理装置

Info

Publication number
JP2877531B2
JP2877531B2 JP3013247A JP1324791A JP2877531B2 JP 2877531 B2 JP2877531 B2 JP 2877531B2 JP 3013247 A JP3013247 A JP 3013247A JP 1324791 A JP1324791 A JP 1324791A JP 2877531 B2 JP2877531 B2 JP 2877531B2
Authority
JP
Japan
Prior art keywords
instruction
branch
instructions
unit
latch unit
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
JP3013247A
Other languages
English (en)
Other versions
JPH04247522A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP3013247A priority Critical patent/JP2877531B2/ja
Publication of JPH04247522A publication Critical patent/JPH04247522A/ja
Application granted granted Critical
Publication of JP2877531B2 publication Critical patent/JP2877531B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】[発明の目的]
【0002】
【産業上の利用分野】本発明は、パイプライン処理方
式、及び並列処理方式により、複数の演算処理を同時並
列に行う並列演算処理装置に関する。
【0003】
【従来の技術】近年の演算処理装置では、1マシンサイ
クルあたりに複数の演算を行える並列処理を行っている
ものが出ており、その例としては、スーパースカラ、あ
るいはVLIWなどが挙げられる。これらは演算処理装
置内に複数の演算器及び処理部を持ち、それらが並列に
実行することにより、CPI(clock per Instruction)
を小さくしている。また、上記演算部及び処理部はパイ
プラインで処理を行っているのが通常で、それにより、
より高い処理能力を持つようになっている。
【0004】パイプラインで処理を行う際に問題となる
点の一つとして、分岐命令の実行によるパイプラインの
乱れがある。通常、分岐が生じた際は、パイプライン内
の、分岐命令以降の後続命令はアボートされ、分岐先の
命令がフェッチされてから実行に入るまでのパイプライ
ンステージが無駄になってしまう。そのため、分岐命令
の分岐による演算命令アボートを少なくするために、様
々な方法がとられている。
【0005】例えば、パイプライン処理では、コンパイ
ル時に、分岐命令の後ろに分岐が発生してもアボートさ
れない命令(本来は分岐命令の前に実行されるが、演算
結果が分岐に影響を及ぼさない命令)を置く(ディレイ
ド命令)方法がある。図7にディレイド命令の例を示
す。I0 とI1 は通常の命令で、I2 が分岐命令であっ
たとする。パイプラインが5段構成で、分岐判定が3段
目で決定される場合、I2 がパイプライン3段目にきて
分岐実行となったとき、通常I2 の後続命令I3 ,I4
はアボートされる(図7(a))。I3 がディレイド命
令でれば、命令I4 はアボートされるが、I3 は分岐命
令I2 の分岐の可否によらずそのままパイプラインを流
れて実行される。これにより、アボートされるステージ
は、2段から1段に減る(図7(b))。
【0006】上記ディレイド命令による方法の他には、
分岐命令があった際に、過去に同分岐命令を実行したか
否かの履歴により、同分岐命令に続いて実行させる命令
を、同分岐命令の後続命令とするか、分岐先の命令とす
るかを決定する分岐予測の方法などがあり、スーパース
カラタイプの演算処理装置にも使用できる。
【0007】上記ディレイド命令による方法は、1サイ
クルに1命令を処理する装置の場合であるが、1サイク
ルに複数命令を並列処理する装置に対するディレイド命
令方法は無かった。このため、並列処理においては分岐
命令を含んだ命令群を同時に実行した際、分岐が発生し
た場合は、シーケンシャルなモデル上で、分岐命令の前
の命令は実行を続け、分岐命令より後の命令は実行を中
止しなければならなかった。
【0008】また、そのほかの問題としては、スーパー
スカラ等の処理同時実行の演算処理装置では、一連の命
令の中で同時に実行可能な命令数は、データ依存関係等
により、2〜3命令とされており、演算実行部が空いて
いる場合が多く、演算実行部の無駄により、並列処理の
メリットが半減されるという問題もある。
【0009】
【発明が解決しようとする課題】このように、従来のパ
イプラインあるいは並列処理装置等の、分岐命令に続く
命令の実行を、分岐確定前に始める機構の並列演算処理
装置では、常に分岐による多くの後続命令がアボートさ
れてしまうという問題があった。
【0010】そこで、本発明は、このような事情に鑑み
てなされたものであり、その目的とするところは、1サ
イクルに複数命令を並列処理する場合にも、分岐命令に
よってアボートされる命令を最少限に止めることができ
る並列演算処理装置を提供することにある。
【0011】[発明の構成]
【0012】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、パイプライン動作によって演算処理を行
う並列演算処理装置において、同時並列に動作可能な複
数の演算実行部と、フェッチした条件分岐命令が過去に
分岐を行ったか否かの履歴情報を保持する履歴情報保持
手段と、前記条件分岐命令の後続命令群を保持する後続
命令群保持手段と、前記条件分岐命令の分岐先アドレス
以降の命令群を保持する分岐先命令群保持手段と、前記
履歴情報保持手段を用いて分岐が発生する確率を求める
確率発生手段と、前記確率発生手段より得られた確率に
従い、前記後続命令群保持手段から発行すべき命令数
と、前記分岐先命令群保持手段から発行すべき命令数を
決定し、前記複数の演算実行部に各命令を割り付ける命
令分配手段とから構成されている。
【0013】
【作用】上記手段によって、複数の同時実行可能な演算
実行部を持つ演算処理装置において、複数の命令を同時
処理を行っている際、複数演算器に分配するためにプリ
フェッチした命令群の中に分岐命令が存在した場合、分
岐命令の実行前に同分岐命令で分岐が起こった場合の分
岐先アドレスからも命令をフェッチし、分岐命令の分岐
の履歴を保持した記憶装置から引いてきた同分岐命令の
分岐の履歴より、同分岐命令が分岐を実行する確率を求
め、複数の演算実行部に割り付けられる分岐命令以降の
命令の数と、分岐先アドレス以降の命令の数の比を前記
確率により決定する。このように、複数の演算実行部に
割り付けられる、分岐命令以降の命令の数と、分岐先ア
ドレス以降の命令の数命令数の比を分岐の確率を用いて
変化させ、分岐命令以降の命令と、分岐先アドレス以降
の命令を演算実行部に分配し、分岐先の命令で分岐命令
以前の命令とのデータ依存関係がない命令を演算実行部
へ発行することにより、分岐実行時の分岐による命令ア
ボートを防いでいる。
【0014】
【実施例】以下、図面を参照しながらこの発明の実施例
を説明する。図1は、本発明の並列演算処理装置に係わ
る一実施例の構成を示すブロック図である。なお、今回
の実施例では、8命令同時実行可能なスーパースカラタ
イプのRISCプロセッサを例として挙げる。
【0015】図1に示す並列演算処理装置は、プログラ
ムを保持するインストラクションメモリ1(以降、IM
と呼ぶ)、命令ラッチ部2、分岐先命令ラッチ部3、命
令ラッチ部2のすでに命令が発行されて空いている部分
に、IMからフェッチしてきた命令をアロケートして入
れることにより常に命令ラッチ部2が詰まっているよう
にする命令アロケータ4、分岐先命令ラッチ部3に、命
令アロケータ4と同様の作用をする分岐先命令アロケー
タ5、IM1から命令ラッチ部2へラッチするアドレス
の入ったプログラムカウンタ6、IM1から分岐先命令
ラッチ部3へラッチする命令のアドレスが入った分岐先
プログラムカウンタ7、本発明の回路を使用することが
指定された分岐命令があった場合のアドレスと、同分岐
命令の分岐先アドレスと、分岐先の命令群と、同分岐命
令の分岐履歴とを記憶したブランチターゲットバッファ
8(以降、BTBと呼ぶ)、命令ラッチ部2内の命令群
のどの位置に分岐命令が存在するかを判別し、命令ラッ
チ部2の先頭から、分岐命令までの命令数を算出する非
アボート命令検出回路9、非アボート命令検出回路9の
結果と、BTB8から送られて来る分岐履歴により、タ
ーゲットの分岐命令が分岐する確率を生成し、演算器に
分配される、分岐命令以降の命令数と、分岐先アドレス
以降の命令数を決定する分配命令数算出回路10、分配
命令数算出回路10の結果から、命令ラッチ部2と分岐
先命令ラッチ部3から発行する命令を決定する命令分配
回路11、命令分配回路11から出力される命令を一時
的にラッチするラッチ部12、演算を実行する演算実行
部13a〜13h、演算に必要なデータを保持するデー
タメモリ14(以降、DMと呼ぶ)から構成される。
【0016】ここで、分岐命令には、ユーザーにより、
分岐命令に続いて実行する命令として、同分岐命令に連
続した命令群が指定されたものと、同分岐命令の分岐先
の命令群が指定されたものと、本発明の回路を用いて分
岐命令に連続した命令群と分岐先の命令群とを割り振る
ように指定された命令とがある。また、分配命令数算出
回路10を使用しないように指定された分岐命令には、
予めユーザーによって分岐確率が設定されている。
【0017】IM1、及びDM14は、複数ポート、あ
るいはsharedメモリによる、同時に複数のアクセスが可
能なものとする。命令ラッチ部2は、IM1から通常の
命令プリフェッチを行う。命令アロケータ4には、IM
1より命令ラッチ部2へラッチすべき命令群と、命令ラ
ッチ部2の出力となる命令群が入り、分配命令数算出回
路10からの情報により、命令ラッチ部2からの命令群
で、すでに演算実行部13a〜13hに発行された命令
を除いて、まだ発行されていない命令をシフトして詰
め、空いた部分にIM1からの命令を詰め、その結果を
命令ラッチ部2への入力とする。
【0018】分岐先命令ラッチ部3には、分岐命令がB
TB8にヒット(一致)した場合に、BTB8から分岐
先命令アロケータ5を介して送られて来る分岐先以降の
命令群か、分岐先命令アロケータ5から送られて来る命
令群がラッチされる。分岐先命令アロケータ5は、命令
アロケータ4と同様に、IM1より分岐先命令ラッチ部
3へラッチすべき分岐先命令群と、分岐先命令ラッチ部
3の出力となる命令群が入り、分配命令数算出回路10
からの情報により、分岐先命令ラッチ部3からの命令群
で、すでに演算実行部13a〜13hに発行された命令
を除いて、まだ発行されていない命令をシフトして詰
め、空いた部分にIM1からの命令を詰め、その結果を
分岐先命令ラッチ部3への入力とする。
【0019】図2に命令アロケータ4および分岐先命令
アロケータ5の動作説明図を示す。時間t0で、命令ラ
ッチ部2に命令I0 から命令I7 までの8命令が存在
し、時間t1で、命令I0 から命令I2 までが発行され
る場合、命令I3 から命令I7 までは3命令分左シフト
し、空いた3命令分の部分にIM1から読み込んだ命令
が入る。
【0020】プログラムカウンタ6には、分配命令数算
出回路10により算出された、命令ラッチ部2から発行
された命令数だけアドレスがインクリメントされる。す
なわち、プログラムカウンタ6は、次クロックで命令ラ
ッチ部2に読み込むべき先頭の命令のアドレスを持つこ
とになる。
【0021】分岐プログラムカウンタ7は、プログラム
カウンタ6と同様に、BTB8がヒットした場合、BT
B8から出力される分岐先アドレス+8に、分配命令数
算出回路10から出力される、分岐先命令ラッチ部3か
ら発行される命令数を足したアドレスが入り、次クロッ
クでは、現在保持している値に次クロックで分岐先命令
ラッチ部3から発行される命令数を足した値が入る。
【0022】図3にBTB8の構成図を示す。BTB8
には、分岐命令のアドレスタグと、図示しないアドレス
タグ一致検出回路と、同分岐命令の分岐先アドレスと、
分岐先の命令群と、同分岐命令の分岐履歴とを保持して
いる。アドレスタグには、過去の分岐命令があったアド
レスを保持している。BTB8は、プログラムカウンタ
6のアドレスから、8命令分までのアドレスをアドレス
タグ一致検出回路により検索する。
【0023】分岐履歴保持部には、アドレスタグに対応
した分岐命令の分岐の履歴がデコードあるいはエンコー
ドされた形で保持され、例えば1エントリが6bit構
成で、エンコードしない形で過去6回の分岐履歴を保持
するものとし、同タグに対応する分岐命令が過去に”分
岐””非分岐””分岐””分岐””非分岐””分岐”と
いう履歴を持っている場合、分岐履歴保持部には、”0
10010”が保持されている。この6bitのうち最
左部が最も古い履歴であり、新たな分岐履歴は右側に付
加されていく。
【0024】命令ラッチ部2で分岐履歴保持部に保持さ
れている分岐履歴を使用する分岐命令が存在した場合、
同分岐命令のアドレスとアドレスタグとが比較され、ヒ
ットした場合は分岐履歴が出力される。ヒットしない場
合は、ユーザーによって分岐命令に設定された確率の分
岐履歴が出力される。例えば、分岐履歴が6ビットで、
分岐命令の分岐が起こる確率が1/2と設定されていた
場合、”101010”あるいは”010101”が出
される。
【0025】2クロック後、分岐命令の結果が確定され
ると、図示しない分岐履歴更新部により、同分岐命令の
アドレスタグに対応した分岐履歴保持部には、過去の分
岐履歴である”010010”が、1ビット左シフト
し、最右部には分岐結果である”0”が入って、”10
0100”が分岐履歴保持部に更新される。但し、分岐
命令に連続した命令群が指定された分岐命令と、分岐先
の命令群が指定された分岐命令の場合は、分岐履歴を使
用せず、過去全て非分岐、あるいは全て分岐の履歴であ
ったものとして分岐履歴の出力にかえる。上記例で
は、”000000”あるいは”111111”が出力
され、分岐履歴保持部には書き戻されない。
【0026】BTB8にヒットした場合、BTB8から
は、分岐先命令8命令が分岐先命令ラッチ部3に出力さ
れ、分岐先アドレス+8命令のアドレスが分岐先プログ
ラムカウンタ7に出力される。
【0027】命令ラッチ部2の内容は、非アボート命令
検出回路9に送られ、プリデコードによって分岐命令に
フラグを付けるか、あるいはデコードによって分岐命令
を認識する等の方法により、命令ラッチ部2に保持され
ている命令群の中での分岐命令の位置を認識し、分岐命
令より前の命令、すなわち分岐命令の分岐によりアボー
トされることがない非アボート命令数(分岐命令も含
む)を算出する。演算実行部13a〜13hの数から非
アボート命令数を引いた数が、分岐命令に続く命令群
と、分岐命令の分岐先アドレス以降の命令群から演算実
行部13a〜13hへ割り付けられる命令数の総和とな
る。
【0028】BTB8より索かれた分岐履歴、及び非ア
ボート命令検出回路9で算出された非アボート命令数
は、分配命令数算出回路10に送られる。分配命令算出
回路10では、上記非アボート命令数から、非アボート
命令が分配される演算実行部13を除いた、使用可能な
演算実行部数を知り、分岐確率より、命令ラッチ部2に
保持されている命令中、分岐命令以降の命令で、演算実
行部13に分配する命令数と、分岐先命令ラッチ部3か
ら演算実行部13に分配される命令数を決定する。命令
ラッチ部2、及び分岐先命令ラッチ部3より演算実行部
13a〜13hに分配される命令には、分岐実行時にア
ボート、分岐非実行時にアボート、分岐実行、非実行に
依らず実行、実行アボートの4状態を示すフラグが命令
分配回路11によって付けられ、各演算実行部13a〜
13hに分配され、分岐確定時に同フラグにより各命令
の命令アボートを行う。
【0029】非アボート命令検出回路9では、分岐命令
が命令ラッチ部2内の8命令中、何番目に分岐命令が存
在するかを検出する。分岐命令が3番目にあった場合
は、”11100000”を出力する(図4)。
【0030】分配命令数算出回路10では、非アボート
命令検出回路9から命令割付可能な演算実行部13の数
が”5”であることを知り、分岐履歴保持部から分岐履
歴が”010010”であことを知る。分岐命令では、
割付数が余った場合、あるいは足りない場合、非分岐、
分岐のどちらを選択するかの定義もなされており、分岐
命令が非分岐を選択するよう定義されている場合、上記
例では、”010010”を処理して、”11000
0”として、最右部の0をとり、”11000”とし、
上記”11100000”の”0”の部分に”1100
0”を埋め込み、”11111000”を生成して、命
令分配回路11に出力する。また、分岐を選択するよう
定義されている場合、”110000”の最左部の1を
とり、”10000”として埋め込む。
【0031】仮に、非アボート命令検出回路9から出力
される8ビットのうち0が7個以上あった場合、非分岐
を選択するよう定義されている場合には”11000
0”の最左部に1を付け足し、分岐を選択するよう定義
されている場合には最右部に0を付け足して埋め込む。
【0032】命令ラッチ部2から出力される命令数と、
分岐先命令ラッチ部3から出力される命令数とが、各々
プログラムカウンタ6と分岐先プログラムカウンタ7に
送られる。上記例では、プログラムカウンタ7へは”
5”が、分岐先プログラムカウンタ7へは”3”が送ら
れる(図5)。
【0033】命令分配回路11では、分配命令数算出回
路10から得られた値”11111000”に従い、5
器の演算実行部13a〜13eには命令ラッチ部2から
5命令が、3器の演算実行部13e〜13hには分岐先
命令ラッチ部5から3命令が分配される。命令が分配さ
れる際には、分配命令数算出回路10から得られた値”
11111000”と、非アボート数算出回路9から得
られた値”11100000”とから各々1bitずつ
取り出され、命令と同時に演算実行部13a〜13hに
分配される。すなわち、3器の演算実行部13a〜13
cには各々”11”のフラグが、2器の演算実行部13
d,eには各々”01”のフラグが、分岐先命令ラッチ
部5から命令を分配された3器の演算実行部13f〜1
3hには”00”のフラグが分配される。そして、分岐
確定時、”11”のフラグが分配された演算実行部13
a〜13cは分岐命令の結果に依らず実行を継続し、”
01”のフラグが分配された演算実行部13d,eは非
分岐時に実行を継続して分岐時には命令をアボート
し、”00”のフラグが分配された演算実行部13f〜
13hは非分岐時に命令をアボートして分岐時に実行を
継続する(図6)。
【0034】分岐が実行された場合、プログラムカウン
タ6には、分配命令数算出回路10から分岐先プログラ
ムカウンタ7に送られてきた分岐先命令のうちで、命令
分配回路11より発行された命令数を加算したアドレス
が入り、分岐先命令ラッチ部3に残っている命令群は命
令ラッチ部2に移される。
【0035】通常、複数命令を同時に実行しようとした
場合、データの依存関係で、命令キューに入った全ての
命令が同時に実行できる確率は小さい。上記例では、デ
ータ依存解析のブロックは付けていないが、実際回路を
組んでデータ依存解析を行う場合、回路は分配命令数算
出回路10に取り付け、スコアボード等の、既に実行中
の命令とのデータコンフリクト及びデコードによる命令
ラッチ部2及び分岐先命令ラッチ部3の命令間のデータ
コンフリクトを解析し、発行する命令にマスクを掛ける
等の回路を取り付けることで、データ依存による命令発
行停止は行える。
【0036】上記例の場合、分岐確率は4/6で、仮に
分岐命令以降の命令および分岐先アドレス以降の命令
で、同時実行可能な命令数が各々2命令であったとする
と、従来の単純な分岐予測制御では、分岐命令の後ろに
は、分岐先アドレス以降の命令が割り付けられるが、上
記実行可能命令数により、3器の演算実行部13f〜1
3hが空いてしまう。この場合分岐確定時に有効な命令
数は2×4/6で、確率的に1.33命令ということに
なる。本発明による制御の場合、分岐先アドレスより3
命令、分岐命令に続く命令から2命令選択され、演算実
行部13d〜13gに割り付けられる命令は、各々2命
令ずつとなる。この場合、分岐確定時に有効な命令数
は、2×4/6+2×2/6で、2命令となる。
【0037】上記例では、分岐命令が初めて現われ、B
TB8にヒットしない場合が多分に考えられるが、上記
例で、BTB8を使用したのは、分岐先のアドレス計算
にかなりの時間を必要とし、実際に回路を組む場合、1
クロックサイクルでは計算できない場合があるためであ
る。そのため、BTB8の分岐先アドレス及び分岐先命
令群を使用しない場合は、命令フェッチフェーズを1つ
増やし、アドレス計算の時間を設けてやれば問題ない。
また、分岐命令が存在する間隔が短く、分岐先の命令群
にも分岐命令が現われ、分岐先命令が木構造状に増えて
行く場合は、特開平2−157939にあるように、複
数の命令バッファを設け、バッファ入力、バッファ出力
を選択する回路を、設けることにより解決できる。
【0038】さらに、分岐命令に連続した命令群と、分
岐先の命令群のどちらかが、データ依存等の問題で、確
率により割り付けた演算実行部13a〜13hに命令が
発行できず、演算実行部13a〜13hに空きが出来る
場合には、命令割り付けの比率をさらに変えて、他方の
命令を実行する回路を組むこともできる。
【0039】
【発明の効果】以上のように、本発明の並列演算処理装
置によれば、分岐命令があった場合は、同分岐命令の分
岐の履歴から求まる確率により、演算実行部へ割り付け
る、分岐命令以降の命令数と、分岐先アドレス以降の命
令数を変えている。これにより、1サイクルに複数命令
を並列処理する場合にも、分岐によってアボートされる
後続命令を最少に止めることができると共に、データ依
存関係等により生ずる演算実行部の待機時間も短縮でき
る。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示すブロック図であ
る。
【図2】図1に示した命令アロケータ及び分岐先命令ア
ロケータの動作説明図である。
【図3】図1に示したブランチターゲットバッファの構
成図である。
【図4】図1に示した非アボート命令検出回路の動作説
明図である。
【図5】図1に示した分配命令数算出回路の動作説明図
である。
【図6】図1に示した命令分配回路の構成図である。
【図7】従来のディレイド命令を説明するための図であ
る。
【符号の説明】
1 IM(インストラクションメモリ) 2 命令ラッチ部 3 分岐先命令ラッチ部 4 命令アロケータ 5 分岐先命令アロケータ 6 プログラムカウンタ 7 分岐先プログラムカウンタ 8 BTB(ブランチターゲットバッファ) 9 非アボート命令検出回路 10 分配命令数算出回路 11 命令分配回路 12 ラッチ部 13a〜13h 演算実行部 14 DM(データメモリ)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 パイプライン動作によって演算処理を行
    う並列演算処理装置において、 同時並列に動作可能な複数の演算実行部と、 フェッチした条件分岐命令が過去に分岐を行ったか否か
    の履歴情報を保持する履歴情報保持手段と、 前記条件分岐命令の後続命令群を保持する後続命令群保
    持手段と、 前記条件分岐命令の分岐先アドレス以降の命令群を保持
    する分岐先命令群保持手段と、 前記履歴情報保持手段を用いて分岐が発生する確率を求
    める確率発生手段と、前記確率発生手段より得られた確
    率に従い、前記後続命令群保持手段から発行すべき命令
    数と、前記分岐先命令群保持手段から発行すべき命令数
    を決定し、前記複数の演算実行部に各命令を割り付ける
    命令分配手段とを有することを特徴とする並列演算処理
    装置。
JP3013247A 1991-02-04 1991-02-04 並列演算処理装置 Expired - Fee Related JP2877531B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3013247A JP2877531B2 (ja) 1991-02-04 1991-02-04 並列演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3013247A JP2877531B2 (ja) 1991-02-04 1991-02-04 並列演算処理装置

Publications (2)

Publication Number Publication Date
JPH04247522A JPH04247522A (ja) 1992-09-03
JP2877531B2 true JP2877531B2 (ja) 1999-03-31

Family

ID=11827878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3013247A Expired - Fee Related JP2877531B2 (ja) 1991-02-04 1991-02-04 並列演算処理装置

Country Status (1)

Country Link
JP (1) JP2877531B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604909A (en) * 1993-12-15 1997-02-18 Silicon Graphics Computer Systems, Inc. Apparatus for processing instructions in a computing system
RU2182598C2 (ru) * 1994-11-21 2002-05-20 Новартис Аг Модифицированные ингибиторы протеиназы

Also Published As

Publication number Publication date
JPH04247522A (ja) 1992-09-03

Similar Documents

Publication Publication Date Title
US5987588A (en) Processor architecture providing for speculative execution of instructions with multiple predictive branching and handling of trap conditions
US6691222B2 (en) Non-stalling circular counterflow pipeline processor with recorder buffer
US7676650B2 (en) Apparatus for controlling instruction fetch reusing fetched instruction
US6052776A (en) Branch operation system where instructions are queued until preparations is ascertained to be completed and branch distance is considered as an execution condition
US20050060518A1 (en) Speculative instruction issue in a simultaneously multithreaded processor
JPH10133873A (ja) 複数の分岐予測方式のうちの選択された1つを使用して条件分岐命令を投機的に実行するためのプロセッサおよび方法
JP2000029701A (ja) 単一クロック・サイクルに非連続命令を取り出すための方法およびシステム。
WO1998025196A2 (en) Dynamic branch prediction for branch instructions with multiple targets
JPH1124929A (ja) 演算処理装置およびその方法
US5872949A (en) Apparatus and method for managing data flow dependencies arising from out-of-order execution, by an execution unit, of an instruction series input from an instruction source
JP2000181710A (ja) 分岐命令実行制御装置
US5842008A (en) Method and apparatus for implementing a branch target buffer cache with multiple BTB banks
JP3779012B2 (ja) 分岐による中断のないパイプライン化されたマイクロプロセッサ及びその動作方法
US20020087852A1 (en) Method and apparatus for predicting branches using a meta predictor
US6754813B1 (en) Apparatus and method of processing information for suppression of branch prediction
JP2877531B2 (ja) 並列演算処理装置
US7681016B2 (en) Microprocessor instruction execution method for exploiting parallelism by time ordering operations in a single thread at compile time
JP3554211B2 (ja) マイクロプログラムを用いた命令制御装置および方法
JP5093237B2 (ja) 命令処理装置
US6360310B1 (en) Apparatus and method for instruction cache access
JPH08339299A (ja) パイプライン・プロセッサ
JPH06131180A (ja) 命令処理方式および命令処理装置
JPH02255918A (ja) 命令取出し制御方式
CA2360284A1 (en) Result field queue
WO2003034201A2 (en) Late resolving instructions

Legal Events

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

Free format text: PAYMENT UNTIL: 20080122

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090122

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100122

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees