JP3449186B2 - パイプラインバイパス機能を有するデータ処理装置 - Google Patents

パイプラインバイパス機能を有するデータ処理装置

Info

Publication number
JP3449186B2
JP3449186B2 JP22244897A JP22244897A JP3449186B2 JP 3449186 B2 JP3449186 B2 JP 3449186B2 JP 22244897 A JP22244897 A JP 22244897A JP 22244897 A JP22244897 A JP 22244897A JP 3449186 B2 JP3449186 B2 JP 3449186B2
Authority
JP
Japan
Prior art keywords
register
bypass
instruction
source operand
pipeline
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
JP22244897A
Other languages
English (en)
Other versions
JPH1165844A (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.)
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 JP22244897A priority Critical patent/JP3449186B2/ja
Priority to US09/044,846 priority patent/US6145074A/en
Publication of JPH1165844A publication Critical patent/JPH1165844A/ja
Application granted granted Critical
Publication of JP3449186B2 publication Critical patent/JP3449186B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • 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/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • G06F9/38585Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パイプライン機構
を有するデータ処理装置に関し、特にパイプラインバイ
パス回路を備えることにより、演算サイクルを短縮可能
にしたデータ処理装置に関する。
【0002】
【従来の技術】パイプライン計算機は、複数の命令を並
列に実行することができる計算機として実用化されてい
る。パイプライン処理では、1つの命令によって実行さ
れる演算過程が複数の時間的に独立した演算ステージに
分割され、それぞれの命令のそれぞれの演算ステージは
それぞれに対応した演算ユニットによって実行される。
そして、それぞれの命令サイクルにおいて、複数の演算
ユニットによって、複数の命令に対応する複数の相互に
異なる演算ステージが並列に実行される。
【0003】一例として、命令デコードおよびオペラン
ドレジスタ読み出し動作を行うDステージ、第1の演算
操作を行うE1ステージ、第2の演算操作を行うE2ス
テージ、演算結果のレジスタ書き込み動作を行うWステ
ージによって1命令が実行されるパイプライン計算機の
場合、先行する命令1と後続する命令2は、通常(先行
する命令と後続する命令間においてデータの依存関係が
ない場合)、図16(a)に示すシーケンスで実行動作
が行われる。
【0004】一般のパイプライン計算機では、命令のソ
ースオペランドレジスタから、データをリードすると
き、同一レジスタをターゲットオペランドとする先行命
令がレジスタライトを終了するまで、リード動作を待つ
必要がある。一例として以下の2つの命令が連続して実
行される場合を考える。 命令1 r1 = r2 + r3 命令2 r4 = r1 + r5 命令1は、レジスタr2の内容にレジスタr3の内容を
加算し、結果をレジスタr1にライトする命令であり、
命令2は、レジスタr1の内容にレジスタr5の内容を
加算し、結果をレジスタr4にライトする命令である。
【0005】単純なパイプライン機構を採用する計算機
にあっては、上記2つの命令の実行シーケンスは、図1
6(b)のようになり、後続する命令2は、先行する命
令1の最後のWステージが完了してからでないと、最初
のDステージの動作を開始することができない。上記命
令列の場合のように、ライトが完了する以前のサイクル
でライトデータが確定している場合は、レジスタライト
を待たずにパイプラインレジスタからソースオペランド
を読むパスを設けて、待ちのサイクル数を最小限に押さ
える手法が用いられることが多い。このパスをバイパス
と呼ぶ。上記命令列の場合、このバイパスを設けること
により、命令の実行シーケンスは、図16(c)のよう
になり、バイパスを採用しない図16(b)の場合と比
較して1サイクルだけ、処理速度が向上することにな
る。
【0006】図17は、バイパス回路を採用した従来の
パイプライン計算機の構成例である。図17において、
100はレジスタファイル、101、102はソースオ
ペランドを格納するためのパイプラインレジスタ、10
3は第1の演算操作を行う演算ユニット、104は演算
ユニット103の出力を保持するパンプラインレジス
タ、105は第2の演算操作を行う演算ユニット、10
6は演算ユニット105の出力を保持するレジスタ、1
07は連続する複数の命令内容を保持し、その内容を判
定することによりパイプラインのバイパス制御の可否を
ハードウェア制御により決定するバイパス制御回路、1
08、109はセレクタ、110、111はレジスタ読
み出し線、112はレジスタ書き込み線、113〜11
5はバイパス線、116、117はセレクト信号線であ
る。
【0007】上記した2つの命令、 命令1 r1 = r2 + r3、 命令2 r4 = r1 + r5、 を連続して実行する場合においては、命令1の実行結果
をレジスタファイル100に書き込む前の、演算ユニッ
ト105の出力をレジスタ106にセットした時点でラ
イトデータが確定している。そのため、バイパス線11
5を経由してセレクタ108、109に入力することに
より、命令2のソースオペランド読み出し動作を図16
(c)に示すように、バイパス動作なしの場合と比較し
て1サイクル早めることができる。
【0008】浮動小数点演算の場合を例にとると、2つ
のオペランド間の桁合わせ操作、桁合わせ後の演算操作
が演算ユニット103で実行され、演算操作後の正規化
処理が演算ユニット105で実行されるため、最終結果
は演算ユニット105の実行終了を待たねばならない
が、整数演算等の場合は演算ユニット103における演
算操作のみで最終結果が得られる。そのような場合は、
パイプラインレジスタ104の出力をバイパス線114
を経由してセレクタ108、109に入力することによ
り、命令2のソースオペランド読み出し動作を図16
(d)に示すように、バイパス動作なしの場合と比較し
て2サイクル早めることができる。
【0009】さらに別の場合として、演算ユニット10
3の途中の段階で演算データが確定しており、かつその
回路部分から信号線を引き出すことができるような場合
には、バイパス線113を経由してその確定データをセ
レクタ108、109に入力することにより、命令2の
ソースオペランド読み出し動作を図16(e)に示すよ
うに、遅延なしに実行することが可能となる。
【0010】
【発明が解決しようとする課題】バイパス制御を正しく
行うためには、命令間のデータの依存関係の解析や、ラ
イトデータが存在するパイプラインレジスタの特定を行
う必要があり、従来はこの制御をすべてハードウェアで
行っていた。そのため、ハードウェアの制御論理が複雑
になり、ハードウェア量が増大するとともに、パイプラ
イン計算機の設計工程や検証工程を長期化させる要因と
なっていた。
【0011】
【課題を解決するための手段】本発明は、バイパス制御
のすべてもしくは一部をソフトウェアに任せることによ
り、ハードウェア量を削減し、設計工程および検証工程
の短縮を図るものである。本発明の第1の態様は、以下
の構成を有する。
【0012】先行する命令の演算結果をレジスタに書き
込む前に後続命令のソースオペランドとして渡すバイパ
ス手段を備えるとともに、命令コード中にバイパス手段
からソースオペランドを受け取ることを指定するバイパ
ス指定フィールドを有し、ソースオペランド選択部で
は、前記バイパス指定フィールドの値にしたがって、レ
ジスタからの値あるいはバイパス手段からの値のいずれ
かをパイプラインへの入力値として選択する。
【0013】本発明の第2の態様は、以下の構成を有す
る。先行する命令の演算結果をレジスタに書き込む前に
後続命令のソースオペランドとして渡す複数のバイパス
手段を備えるとともに、命令コード中にソースオペラン
ドレジスタフィールドとは別にソースオペランドを受け
取るバイパスを指定するフィールドを有し、ソースオペ
ランド選択部では、バイパス指定フィールドの値にした
がって、レジスタあるいは複数のバイパスのいずれかを
パイプラインへの入力値として選択する。
【0014】本発明の第3の態様は、以下の構成を有す
る。先行する命令の演算結果をレジスタに書き込む前に
後続命令のソースオペランドとして渡す複数のバイパス
手段を備えるとともに、複数のバイパス手段のそれぞれ
にレジスタ番号とは重複しない番号を割り当て、命令コ
ード中のソースオペランドレジスタフィールド値をバイ
パスを含む番号空間内の1つの番号を指定するものとし
て解釈し、ソースオペランドレジスタフィールドの値に
したがって、レジスタあるいは複数のバイパスのいずれ
かをパイプラインへの入力値として選択する。
【0015】本発明の第4の態様は、以下の構成を有す
る。複数のスロットの命令が同時に動作するVLIW方
式の計算機に適用されるものであり、各スロットで計算
された結果をレジスタへ書き込む前に、同一もしくは別
のスロットの後続命令のソースオペランドとして渡すた
めの複数のバイパス手段を備えるとともに、命令コード
中にソースオペランドフィールドとは別にソースオペラ
ンドを受け取るバイパスを指定するフィールドおよびソ
ースオペランドを受け取るスロットを指定するフィール
ドを有し、ソースオペランド選択部では、バイパス指定
フィールドの値およびスロット指定フィールドの値にし
たがって、レジスタあるいは各スロットから出力される
複数のバイパスのいずれかをパイプラインへの入力値と
して選択する。
【0016】本発明の第5の態様は、以下の構成を有す
る。複数のスロットの命令が同時に動作するVLIW方
式の計算機に適用されるものであり、各スロットで計算
された結果をレジスタへ書き込む前に、同一もしくは別
のスロットの後続命令のソースオペランドとして渡すた
めの複数のバイパス手段を備えるとともに、複数のバイ
パス手段のそれぞれにレジスタ番号とは重複しない番号
を割り当て、命令コード中のソースオペランドレジスタ
フィールド値をバイパスを含む番号空間内の1つの番号
を指定するものとして解釈し、ソースオペランドレジス
タフィールドの値にしたがって、レジスタあるいは複数
のバイパスのいずれかをパイプラインへの入力値として
選択する。
【0017】本発明の第6の態様は、以下の構成を有す
る。パイプラインの乱れを検出する手段と、ソースオペ
ランドの読み込みを凍結する手段と、ソースオペランド
の読み込みを命令コードによって指定されたバイパスか
らではなくレジスタからの入力に切り替える手段を備
え、パイプラインの乱れが検出されると、先行命令がレ
ジスタ書き込みを終えるまで、ソースオペランド読み込
みを凍結し、動作再開時にはソースオペランドの読み込
み元をレジスタに切り替える。
【0018】本発明の第7の態様は、以下の構成を有す
る。パイプラインの乱れを検出する手段と、ソースオペ
ランドの読み込みを命令コードによって指定されたバイ
パスからではなく他のバイパスに切り替える手段を備
え、パイプラインの乱れが検出されると、乱れの度合い
に応じて、ソースオペランドの読み込み元を、命令コー
ドによって指定されたバイパス以外のバイパスに切り替
える。
【0019】本発明の第8の態様は、以下の構成を有す
る。命令コード中のバイパス指定フィールドは、ソース
オペランドとなり得るすべてのバイパスのうち一部分の
みを指定し、その他のバイパス選択はハードウェア回路
により行う。本発明の第9の態様は、以下の構成を有す
る。
【0020】命令セット中のロードストア命令が計算す
る実効アドレスを、バイパス経由で後続命令のソースオ
ペランドとして取得する。本発明の第10の態様は、以
下の構成を有する。命令セット中の分岐命令が計算する
ターゲットアドレスを、バイパス経由で後続命令のソー
スオペランドとして取得する。
【0021】本発明の第11の態様は、以下の構成を有
する。命令セット中の比較命令が比較する2値の差分
を、バイパス経由で後続命令のソースオペランドとして
取得する。本発明の第12の態様は、以下の構成を有す
る。命令コード中に演算結果をレジスタに書き込まない
ことを指定するフィールドを有し、当該指定によりレジ
スタに結果を書き込むことなく、演算結果をバイパス経
由で後続命令のソースオペランドとして与える。
【0022】
【発明の実施の形態】以下、図面を参照しながら、本発
明の実施の形態を説明する。
【0023】
【第1の実施例】図1は、本発明の第1の実施例で使用
される命令コードの形式である。図1において、opは
命令の種類を規定するフィールド、s1は第1ソースオ
ペランドとなるレジスタ番号を指定するフィールド、s
2は第2ソースオペランドとなるレジスタ番号を指定す
るフィールド、dstはターゲットオペランドとなるレ
ジスタ番号を指定するフィールド、b1は第1ソースオ
ペランドに対するバイパス情報を指定するフィールド、
b2は第2ソースオペランドに対するバイパス情報を指
定するフィールドである。
【0024】図2は、本発明の第1の実施例の回路構成
を示す図である。図2において、1はレジスタファイ
ル、2は演算パイプライン、3は第1ソースオペランド
を格納するパイプラインレジスタ、4は第2ソースオペ
ランドを格納するパイプラインレジスタ、5はパイプラ
インレジスタ3へデータを入力するためのセレクタ、6
はパイプラインレジスタ4へデータを入力するためのセ
レクタ、7は図1のb1フィールドの値で規定されるセ
レクト信号線、8は図1のb2フィールドの値で規定さ
れるセレクト信号線、9はパイプライン2の中間段階か
ら出力されるバイパス線、10はパイプライン2の最終
段階から出力されるバイパス線、11は第1ソースオペ
ランド信号線、12は第2ソースオペランド信号線、1
3はターゲットオペランド信号線、14は図1のs1フ
ィールドの値で規定される第1ソースオペランドアドレ
ス信号線、15は図1のs2フィールドの値で規定され
る第2ソースオペランドアドレス信号線である。なお、
図示を省略しているが、図1のdstフィールドの値で
規定されるターゲットオペランドアドレス信号がレジス
タファイル1に与えられている。
【0025】レジスタファイル1には図1のs1フィー
ルド、s2フィールドの値が入力され、それぞれに対応
する番号のレジスタ値が第1ソースオペランド信号線
(r1)11、第2ソースオペランド信号線(r2)1
2に出力される。バイパス線(bp1)9はハイプライ
ン2の途中で演算結果が確定する場合にその結果が流れ
るパスである。バイパス線(bp2)10はハイプライ
ン2の演算結果をレジスタファイル1にライトするパス
からのバイパスである。
【0026】セレクト信号線(b1)7には図1のb1
フィールドの値もしくはそれがデコードされた値、セレ
クト信号線(b2)8には図1のb2フィールドの値も
しくはそれがデコードされた値がそれぞれ与えられ、セ
レクタ5、6のセレクト信号として用いられる。セレク
タ5は第1ソースオペランドを選択するためのセレクタ
であり、セレクト信号線(b1)7によって、第1ソー
スオペランド信号線(r1)11、バイパス線(bp
1)9、バイパス線(bp2)10のいずれかが選択さ
れ、第1ソースオペランドになる。同様に、セレクタ6
は第2ソースオペランドを選択するためのセレクタであ
り、セレクト信号線(b2)8によって、第2ソースオ
ペランド信号線(r2)12、バイパス線(bp1)
9、バイパス線(bp2)10のいずれかが選択され、
第2ソースオペランドになる。
【0027】セレクト信号線(b1)7、セレクト信号
線(b2)8の値は命令コードのb1フィールド、b2
フィールドの値によって一意に定まる。すなわち、ソー
スオペランドを読み込むサイクルの時点において、読み
込むべき値がレジスタにあるか、あるいはバイパス上に
あるかを、あらかじめ把握した上でプログラミングを行
うことが本実施例の前提である。
【0028】本実施例では、バイパスとして2個のパス
だけを取り上げたが、演算パイプラインの構成に応じ
て、より多くのバイパスを持つように拡張することは容
易である。また、逆に、状況に応じて特定の1つのバイ
パスのみ設ける構成を採ることもできる。
【0029】
【第2の実施例】図3は、本発明の第2の実施例で使用
される命令コードの形式である。図3において、opフ
ィールドとdstフィールドは、上記第1の実施例と同
一のものである。第2の実施例では、各バイパスにもレ
ジスタ番号と同様な番号が割り当てられており、s1フ
ィールドとs2フィールドによって、ソースオペランド
となる2個のレジスタ番号あるいはバイパスが指定され
る。
【0030】図4は、本発明の第2の実施例の回路構成
を示す図である。図4において、図2と同一番号のもの
は同一名称のものである。16、17はそれぞれ論理回
路、18はs1フィールド信号線、19はs2フィール
ド信号線である。論理回路16にはs1フィールドの値
が入力され、s1がレジスタを表す番号の場合は、その
番号がレジスタファイル1へのアドレスとして第1ソー
スオペランドアドレス信号線14へ出力され、さらにセ
レクト信号線7は第1ソースオペランド信号線(r1)
11を選択するための値となる。一方、s1がバイパス
を表す番号の場合は、セレクト信号線7は該当するバイ
パスを選択する値になる。
【0031】論理回路17は論理回路16と同様の動作
を行い、s2フィールドの値にしたがって出力動作を行
う。その他の動作は、上記した第1の実施例の動作と同
様である。
【0032】
【第3の実施例】第3の実施例は、本発明を4並列VL
IW(Very Long Instruction
Word)アーキテクチャの計算機に応用した例であ
る。図5は、本発明の第3の実施例で使用される命令コ
ードの形式であり、このようなコードが4個並んで1つ
のVLIW命令になる。図5において、op、s1、s
2、dst、b1、b2の各フィールドは上記した第1
の実施例と同一のものである。p1は第1ソースオペラ
ンドを読み込むスロットを指定するフィールド、p2は
第2ソースオペランドを読み込むスロットを指定するフ
ィールドである。
【0033】図6は、本発明の第3の実施例を実現する
ためのブロック図である。図6において、20−1〜2
0−4は命令コード、21−1〜21−4は命令実行
部、22はスロット間で受け渡しされるバイパス信号で
ある。各命令実行部の内部は、図2に示す第1の実施例
や図4に示す第2の実施例と同様な回路構成であるが、
自スロット内のバイパス信号以外に他スロットのバイパ
ス信号も、ソースオペランドの候補となっている。各命
令実行部ではp1、p2によって定まるスロットのバイ
パス信号をソースオペランドとして選択する。
【0034】図7は、第3の実施例におけるバイパス選
択回路部の構成例を示す図である。図7において、7は
b1フィールドの値で規定されるセレクト信号線、8は
b2フィールドの値で規定されるセレクト信号線、70
はp1フィールドの値で規定されるセレクト信号線、7
1はp2フィールドの値で規定されるセレクト信号線、
72は第1ソースオペランドを読み込むスロットを選択
するためのセレクタ、73は第2ソースオペランドを読
み込むスロットを選択するためのセレクタ、74〜81
は各スロットに対応して設けられ、バイパス線を選択す
るためのセレクタ、82〜85は各スロットからの信号
線である。なお、図7において、信号線82〜85のう
ち1組は自スロット内部から供給され、他の3組が外部
スロットから供給されることになる。また、図7におい
ては、レジスタファイルからのソースオペランド信号線
の図示を省略している。
【0035】また、上記第2の実施例のように、バイパ
スに番号を与えることにより、図5のb1、b2、p
1、p2を省略し、s1、s2フィールドのみで制御す
ることも可能である。図6ではすべてのスロット間でバ
イパスが受け渡されているが、本発明は特にその構成に
限定されることなく、受け渡しが部分的であってもよ
い。また、並列度も4に限定されるものではない。
【0036】
【第4の実施例】上記各実施例は、パイプラインレベル
の動作があらかじめ完全に判っていることが前提にあっ
たが、実際のプロセッサでは、割り込みその他の要因に
よってパイプラインの動作が乱れる場合がある。本実施
例はそのような可能性を有するプロセッサへの本発明の
適用例である。
【0037】図8は、本発明の第4の実施例の回路構成
を示す図である。図8において、図2と同一番号のもの
は同一名称のものである。16、17はそれぞれ論理回
路、30は制御部、31はb1フィールド信号線、32
はb2フィールド信号線である。図8の回路構成は、図
2の回路構成に論理回路16、17、と制御部30が付
加されたものである。
【0038】制御部30は、パイプラインが乱れ、現時
点でソースオペランドを読み込むタイミングの命令に対
して、先行命令がパイプライン上の想定された位置にな
いことを認識すると、先行命令がすべての演算結果をレ
ジスタにライトするまで、ソースオペランドの読み込み
を凍結させる。その後動作を再開するが、その際に論理
回路16、17によって、b1フィールド信号線31、
b2フィールド信号線32の値に関わらず、セレクト信
号7、8が第1ソースオペランド信号線(r1)11、
第2ソースオペランド信号線(r2)12を選択するよ
うに変更させる。このようにすることにより、プログラ
ムは正しい動作を行うことになる。
【0039】図9(a)にパイプラインが乱れない場合
における、パイプライン中の命令の状態を示す。図中の
矢印はバイパスを介したデータの受け渡しを表してい
る。すなわち、命令2の命令コードにはE1ステージか
らのバイパスを読み込む指定がなされ、命令3、4には
E2ステージからのバイパスを読み込む指定がなされて
いる。
【0040】このような状況において、パイプラインの
動作が乱れた場合の動作例を図9(b)に示す。命令2
のフェッチが1サイクル遅れ、Dステージがt3の時点
に設定されたとする。t3でE1バイパスを読んでも正
しい値は読めないので、パイプライン凍結手段を用いて
命令2に先行する命令(ここでは命令1)の終了を待
ち、t5から命令2およびその後続命令の実行を再開す
る。命令2、3では、ソースオペランドはレジスタから
読むように変更させる。命令4は、命令2との関係が正
常時と同一であるため、普通にE2バイパスからソース
オペランドを読み込むことができる。図9(a)から図
9(b)にシーケンスが変更されるとき、制御部30は
以下のアルゴリズムで制御動作を行っている。 時刻t3、t4 → 命令2のDステージを凍結する。 時刻t5 → 凍結を解除するとともに、全てのバイパスをレジスタに 変更する。 時刻t6 → E2バイパスとWバイパスをレジスタに変更する。 時刻t7 → Wバイパスをレジスタに変更する。 時刻t8以降 → 通常に戻る。
【0041】制御部30を更にインテリジェントにする
ことも可能である。その場合は、必ずしも動作再開にあ
たり先行命令の終了を待つ必要はなく、例えば、対象と
なる先行命令が、本来バイパス線(bp1)9に結果を
乗せる位置にあるはずが、バイパス線(bp2)10に
結果をのせる位置まで進んでいたならば、セレクト信号
7、8がバイパス線(bp2)10を選択する値になる
ように、論理回路16、17を制御すればよい。
【0042】図9(c)は、制御部30をよりインテリ
ジェントにして、命令2のDステージを凍結せずに実行
可能にした例である。図9(c)では、命令2はE2バ
イパスに、命令3はWバイパスに変更されている。この
とき、制御部30は以下のアルゴリズムで制御動作を行
っている。 時刻t3 → E1をE2に、E2をWに、Wをレジスタに変更する。 時刻t4 → E2をWに、Wをレジスタに変更する。 時刻t5 → Wをレジスタに変更する。 時刻t6以降 → 通常に戻る。
【0043】
【第5の実施例】上記した各実施例は、バイパス指定を
完全にソフトウェアに任せるものであった。それにより
ハードウェアが簡単になるメリットがある一方、トレー
ドオフとしてコンパイラやアセンブラプログラマへの負
担が増すデメリットもある。本実施例は、従来のプロセ
ッサで採用されていた完全にハードウェアが制御する方
法と、本発明の上記各実施例で述べた完全にソフトウェ
アで制御する方法の中間に位置するもので、ハードウェ
ア量をある程度削減しつつ、ソフトウェアの負担増を少
量に押さえることを目的としている。
【0044】図10は、従来方式のバイパス制御で用い
られる回路である。バイパスの候補がN個あるとしてい
る。40−1〜40−Nはレジスタであり、N個のバイ
パスに乗るデータが格納されるターゲットレジスタ番号
を保持している。43は命令コードにあるオペランド番
号(S1)である。41−1〜41−Nは比較回路であ
り、オペランド番号(S1)43とレジスタ40−1〜
40−Nを比較し、一致を表す1ビットの信号を出力す
る。42は論理回路であり、上記比較の結果、一致した
ものがあったときは、その中で番号が小さいものを表す
信号を、すべて一致しない場合は不一致を表す信号を信
号線44に出力する。信号線44は、図2に示す第1の
実施例におけるセレクト信号線(b1)7に相当する。
【0045】図11は、第5の実施例の回路構成例であ
り、従来例の図10に存在したレジスタと比較回路の組
をk個に制限する代わりに、省略したレジスタk+1〜
Nの範囲に一致するものがあることを示す信号b1を用
いて図10の構成と同様な機能を実現した例である。こ
のようにすることで、ソフトウェアは命令間の依存関係
の解析を限定された範囲で行えばよく、完全にソフトウ
ェアでバイパス制御を行う場合よりも負担が軽くなる。
【0046】なお、図11における信号線(s1)4
3、信号線(b1)45は、上記第1の実施例の命令コ
ード中のs1、b1と同一であると考えてよい。図11
における論理回路42は、N個のバイパスと、バイパス
を使わずにレジスタから値を読む場合の合わせてN+1
通りを識別するための信号を出力する。論理回路42に
入力される信号線(b1)45は、(1)レジスタから
読む、(2)1からKまでのバイパスのいずれかを使
う、(3)バイパスK+1を使う、(4)バイパスK+
2を使う、....(N−K+2)バイパスNを使う、
の、N−K+2通りを識別できる信号である。論理回路
42のアルゴリズムは以下の通りである。 (a)信号45が上記の(2)以外だった場合 そのままの意味のセレクト信号を出力する。 (b)信号45が上記の(2)だった場合 41−1〜41−Kの中で一致したものがあれば、その
中で一番若い番号に対応するバイパスを選択するセレク
ト信号を出力する。一致するものがなければ、レジスタ
からの読み込みを表すセレクト信号を出力する。
【0047】
【第6の実施例】第6の実施例は、本発明を応用して命
令セットを強力にする例である。図12は、第6の実施
例の回路構成例であり、50はアドレス計算器、51、
52はパイプラインレジスタ、53〜55はバイパスで
ある。ロードストア命令が実行されると、50で計算さ
れた実効アドレスに従ってキャッシュやメモリへのアク
セスが行われる。本実施例は、実効アドレスをバイパス
に流して上記した各実施例のいずれかの手段によって、
後続命令のソースオペランドとして用いることを可能に
したものである。このようにすることにより、レジスタ
を消費することなく、後続命令に実効アドレスを引き渡
すことができる。
【0048】例えば、ベース値(b)とオフセット値
(offset)を加算した値、b+offsetの結
果の実効アドレスを後続命令で使用したい場合、従来技
術では、 add r0、 b、 offset (1) ld r1、 r0、 0 (2) 後続命令 r0 (3) のように、(1)で先に、b+offsetを計算して
おいて、その結果をベースレジスタとして(2)のロー
ド命令を発行し、後続命令は実効アドレスが格納されて
いるr0をソースオペランドとして用いることになる。
【0049】一方、本発明によれば、 ld r1、 b、 offset (1) 後続命令 bypass (2) のようになり、命令数が1個少なくて済むこと、レジス
タr0を破壊しなくてよいことの2つのメリットが得ら
れる。
【0050】なお、パイプライン段数をここでは3にし
たが、実際にはプロセッサ全体の構成によって定めれば
よく、3に特定するものではない。
【0051】
【第7の実施例】第7の実施例は、本発明を応用して命
令セットを強力にする他の例である。図13は、第7の
実施例の回路構成例であり、60はターゲットアドレス
計算器、61、62はパイプラインレジスタ、63〜6
5はバイパス、66、67はターゲットアドレスを計算
する元データであり、例えば、レジスタ相対分岐ならば
レジスタ値とオフセット値に相当する。
【0052】分岐命令が実行されると、ターゲットアド
レス計算器60で計算されたターゲットアドレスをプロ
グラムカウンタとする命令に制御が移行するが、それと
同時に本実施例では、ターゲットアドレスをバイパス6
3〜65に流し、後続命令がソースオペランドとして用
いることを可能にしている。なお、パイプライン段数
は、図13に示すものに限定するものではない。
【0053】
【第8の実施例】第8の実施例は、本発明を応用して命
令セットを強力にする他の例である。図14は、第8の
実施例の回路構成例であり、70は減算回路、71、7
2はパイプラインレジスタ、73〜75はバイパス、7
6、77は入力データ線、78は条件コード生成回路、
79は比較条件信号線、80は生成された条件コード信
号線である。
【0054】比較命令が実行されると、入力データ線7
6、77から比較される2個のデータが入力され、減算
回路70で減算される。減算の結果と比較条件信号線7
9で与えられる比較条件に基づいて、条件コード生成回
路78で条件コードが生成され、条件コード信号線80
に出力される。本実施例では、本来の比較命令の機能に
加えて、減算結果をバイパス73〜75に流すことによ
り、後続命令がソースオペランドとして取得することが
できる。なお、パイプライン段数などは、図14に限定
されるものではない。
【0055】
【第9の実施例】第9の実施例は、本発明を応用して命
令セットを強力にする他の例である。図15は、第9の
実施例の回路構成例であり、90はレジスタファイル、
91は論理回路、92は書き込み抑止信号、93はライ
トデータである。94は命令コード中にあるターゲット
レジスタ番号(dst)であり、通常は、dstの値で
定まる番号のレジスタにライトデータ93のデータがラ
イトされるが、dstの値がある特定の値である場合に
は、論理回路91により書き込み抑止信号92がアサー
トされ、書き込みが抑止される。すなわち、dstフィ
ールドが特定の値である命令は、レジスタライトを行わ
ない。ただし、バイパス出力だけは行われるのて、演算
結果を後続命令に渡すことはできる。
【0056】このようにすることで、レジスタを無駄に
消費せずにプログラムすることが可能になる。
【0057】
【発明の効果】以上説明したように、本発明によれば、
パイプライン計算機においてバイパス制御機構を採用す
る際に、ハードウェア量の削減が図れ、またハードウェ
アの設計工程や検証工程を短縮することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例で使用される命令コード
の形式を示す図である。
【図2】本発明の第1の実施例の回路構成を示す図であ
る。
【図3】本発明の第2の実施例で使用される命令コード
の形式を示す図である。
【図4】本発明の第2の実施例の回路構成を示す図であ
る。
【図5】本発明の第3の実施例で使用される命令コード
の形式を示す図である。
【図6】本発明の第3の実施例を実現するためのブロッ
ク図である。
【図7】本発明の第3の実施例におけるバイパス選択回
路部の構成例を示す図である。
【図8】本発明の第4の実施例の回路構成を示す図であ
る。
【図9】本発明の第4の実施例におけるパイプライン制
御を示す図である。
【図10】従来方式のバイパス制御で用いられる回路を
示す図である。
【図11】本発明の第5の実施例の回路構成を示す図で
ある。
【図12】本発明の第6の実施例の回路構成を示す図で
ある。
【図13】本発明の第7の実施例の回路構成を示す図で
ある。
【図14】本発明の第8の実施例の回路構成を示す図で
ある。
【図15】本発明の第9の実施例の回路構成を示す図で
ある。
【図16】パイプライン計算機におけるバイパス動作の
効果を説明する図である。
【図17】バイパス回路を採用した従来のパイプライン
計算機の構成例を示す図である。
【符号の説明】
1 レジスタファイル 2 演算パイプライン 3、4 パイプラインレジスタ 5、6 セレクタ 7、8 セレクト信号線 9、10 バイパス線 11、12 ソースオペランド信号線 13 ターゲットオペランド信号線 14、15 ソースオペランドアドレス信号線
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平9−91140(JP,A) 特開 平6−95872(JP,A) 特開 平5−143328(JP,A) 特開 平4−175930(JP,A) 特開 平4−40519(JP,A) 特開 昭59−79357(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/38

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】 レジスタから読み出されたオペランドデ
    ータが入力され、命令の演算がパイプライン処理により
    実行され、演算結果がレジスタに書き込まれるパイプラ
    イン機構を有するデータ処理装置において、 先行する命令の演算結果をレジスタに書き込む前に後続
    命令のソースオペランドとして渡すバイパス手段を備え
    るとともに、 命令コード中にバイパス手段からソースオペランドを受
    け取ることを指定するバイパス指定フィールドを有し、 ソースオペランド選択部では、前記バイパス指定フィー
    ルドの値にしたがって、レジスタからの値あるいはバイ
    パス手段からの値のいずれかをパイプラインへの入力値
    として選択することを特徴とするデータ処理装置。
  2. 【請求項2】 レジスタから読み出されたオペランドデ
    ータが入力され、命令の演算がパイプライン処理により
    実行され、演算結果がレジスタに書き込まれるパイプラ
    イン機構を有するデータ処理装置において、 先行する命令の演算結果をレジスタに書き込む前に後続
    命令のソースオペランドとして渡す複数のバイパス手段
    を備えるとともに、 命令コード中にソースオペランドレジスタフィールドと
    は別にソースオペランドを受け取るバイパスを指定する
    フィールドを有し、 ソースオペランド選択部では、前記バイパス指定フィー
    ルドの値にしたがって、レジスタあるいは複数のバイパ
    スのいずれかをパイプラインへの入力値として選択する
    ことを特徴とするデータ処理装置。
  3. 【請求項3】 レジスタから読み出されたオペランドデ
    ータが入力され、命令の演算がパイプライン処理により
    実行され、演算結果がレジスタに書き込まれるパイプラ
    イン機構を有するデータ処理装置において、 先行する命令の演算結果をレジスタに書き込む前に後続
    命令のソースオペランドとして渡す複数のバイパス手段
    を備えるとともに、 前記複数のバイパス手段のそれぞれにレジスタ番号とは
    重複しない番号を割り当て、命令コード中のソースオペ
    ランドレジスタフィールド値をバイパスを含む番号空間
    内の1つの番号を指定するものとして解釈し、 前記ソースオペランドレジスタフィールドの値にしたが
    って、レジスタあるいは複数のバイパスのいずれかをパ
    イプラインへの入力値として選択することを特徴とする
    データ処理装置。
  4. 【請求項4】 複数のスロットの命令が同時に動作する
    VLIW方式のデータ処理装置であって、各スロット毎
    に、レジスタから読み出されたオペランドデータが入力
    され、命令の演算がパイプライン処理により実行され、
    演算結果がレジスタに書き込まれるパイプライン機構を
    有するデータ処理装置において、 各スロットで計算された結果をレジスタへ書き込む前
    に、同一もしくは別のスロットの後続命令のソースオペ
    ランドとして渡すための複数のバイパス手段を備えると
    ともに、 命令コード中にソースオペランドフィールドとは別にソ
    ースオペランドを受け取るバイパスを指定するフィール
    ドおよびソースオペランドを受け取るスロットを指定す
    るフィールドを有し、 ソースオペランド選択部では、前記バイパス指定フィー
    ルドの値およびスロット指定フィールドの値にしたがっ
    て、レジスタあるいは各スロットから出力される複数の
    バイパスのいずれかをパイプラインへの入力値として選
    択することを特徴とするデータ処理装置。
  5. 【請求項5】 複数のスロットの命令が同時に動作する
    VLIW方式のデータ処理装置であって、各スロット毎
    に、レジスタから読み出されたオペランドデータが入力
    され、命令の演算がパイプライン処理により実行され、
    演算結果がレジスタに書き込まれるパイプライン機構を
    有するデータ処理装置において、 各スロットで計算された結果をレジスタへ書き込む前
    に、同一もしくは別のスロットの後続命令のソースオペ
    ランドとして渡すための複数のバイパス手段を備えると
    ともに、 前記複数のバイパス手段のそれぞれにレジスタ番号とは
    重複しない番号を割り当て、命令コード中のソースオペ
    ランドレジスタフィールド値をバイパスを含む番号空間
    内の1つの番号を指定するものとして解釈し、 前記ソースオペランドレジスタフィールドの値にしたが
    って、レジスタあるいは複数のバイパスのいずれかをパ
    イプラインへの入力値として選択することを特徴とする
    データ処理装置。
  6. 【請求項6】 パイプラインの乱れを検出する手段と、 ソースオペランドの読み込みを凍結する手段と、 ソースオペランドの読み込みを命令コードによって指定
    されたバイパスからではなくレジスタからの入力に切り
    替える手段を備え、 前記検出手段によってパイプラインの乱れが検出される
    と、先行命令がレジスタ書き込みを終えるまで、前記凍
    結手段によってソースオペランド読み込みを凍結し、動
    作再開時には前記切り替え手段によって、ソースオペラ
    ンドの読み込み元をレジスタに切り替えることを特徴と
    する請求項1から請求項5のいずれかに記載のデータ処
    理装置。
  7. 【請求項7】 パイプラインの乱れを検出する手段と、 ソースオペランドの読み込みを命令コードによって指定
    されたバイパスからではなく他のバイパスに切り替える
    手段を備え、 前記検出手段によってパイプラインの乱れが検出される
    と、乱れの度合いに応じて、ソースオペランドの読み込
    み元を前記切り替え手段によって命令コードによって指
    定されたバイパス以外のバイパスに切り替えることを特
    徴とする請求項2から請求項5のいずれかに記載のデー
    タ処理装置。
  8. 【請求項8】 命令コード中のバイパス指定フィールド
    は、ソースオペランドとなり得るすべてのバイパスのう
    ち一部分のみを指定し、その他のバイパス選択はハード
    ウェア回路により行うことを特徴とする請求項2から請
    求項7のいずれかに記載のデータ処理装置。
  9. 【請求項9】 命令セット中のロードストア命令が計算
    する実効アドレスを、バイパス経由で後続命令のソース
    オペランドとして取得することを特徴とする請求項1か
    ら請求項8のいずれかに記載のデータ処理装置。
  10. 【請求項10】 命令セット中の分岐命令が計算するタ
    ーゲットアドレスを、バイパス経由で後続命令のソース
    オペランドとして取得することを特徴とする請求項1か
    ら請求項8のいずれかに記載のデータ処理装置。
  11. 【請求項11】 命令セット中の比較命令が比較する2
    値の差分を、バイパス経由で後続命令のソースオペラン
    ドとして取得することを特徴とする請求項1から請求項
    8のいずれかに記載のデータ処理装置。
  12. 【請求項12】 命令コード中に演算結果をレジスタに
    書き込まないことを指定するフィールドを有し、 当該指定によりレジスタに結果を書き込むことなく、演
    算結果をバイパス経由で後続命令のソースオペランドと
    して与えることを特徴とする請求項1から請求項11の
    いずれかに記載のデータ処理装置。
JP22244897A 1997-08-19 1997-08-19 パイプラインバイパス機能を有するデータ処理装置 Expired - Fee Related JP3449186B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP22244897A JP3449186B2 (ja) 1997-08-19 1997-08-19 パイプラインバイパス機能を有するデータ処理装置
US09/044,846 US6145074A (en) 1997-08-19 1998-03-20 Selecting register or previous instruction result bypass as source operand path based on bypass specifier field in succeeding instruction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22244897A JP3449186B2 (ja) 1997-08-19 1997-08-19 パイプラインバイパス機能を有するデータ処理装置

Publications (2)

Publication Number Publication Date
JPH1165844A JPH1165844A (ja) 1999-03-09
JP3449186B2 true JP3449186B2 (ja) 2003-09-22

Family

ID=16782571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22244897A Expired - Fee Related JP3449186B2 (ja) 1997-08-19 1997-08-19 パイプラインバイパス機能を有するデータ処理装置

Country Status (2)

Country Link
US (1) US6145074A (ja)
JP (1) JP3449186B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020197725A1 (en) * 2019-03-26 2020-10-01 Intel Corporation System, apparatus and method for adaptive interconnect routing

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6266766B1 (en) * 1998-04-03 2001-07-24 Intel Corporation Method and apparatus for increasing throughput when accessing registers by using multi-bit scoreboarding with a bypass control unit
CA2348261C (en) * 1999-08-30 2006-02-14 Ip Flex Inc. Program product and data processor
US7139899B2 (en) * 1999-09-03 2006-11-21 Cisco Technology, Inc. Selected register decode values for pipeline stage register addressing
US6862677B1 (en) * 2000-02-16 2005-03-01 Koninklijke Philips Electronics N.V. System and method for eliminating write back to register using dead field indicator
JP2002244846A (ja) * 2001-02-15 2002-08-30 Rooran:Kk プロセッサとその回路ソースを記録したコンピュータ読み取り可能な記録媒体、及びプロセッサ用の処理プログラムを機械語に変換するアセンブラ
US7200735B2 (en) * 2002-04-10 2007-04-03 Tensilica, Inc. High-performance hybrid processor with configurable execution units
JP2006522398A (ja) * 2003-03-19 2006-09-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ パイプライン型命令プロセッサにおけるバイパスの使用
US7290121B2 (en) * 2003-06-12 2007-10-30 Advanced Micro Devices, Inc. Method and data processor with reduced stalling due to operand dependencies
TWI246023B (en) * 2003-11-26 2005-12-21 Admtek Inc Very long instruction word architecture
US20060101434A1 (en) * 2004-09-30 2006-05-11 Adam Lake Reducing register file bandwidth using bypass logic control
CN101361039A (zh) 2006-01-20 2009-02-04 松下电器产业株式会社 处理器
US7725687B2 (en) * 2006-06-27 2010-05-25 Texas Instruments Incorporated Register file bypass with optional results storage and separate predication register file in a VLIW processor
US8266411B2 (en) * 2009-02-05 2012-09-11 International Business Machines Corporation Instruction set architecture with instruction characteristic bit indicating a result is not of architectural importance
CN104216681B (zh) * 2013-05-31 2018-02-13 华为技术有限公司 一种cpu指令处理方法和处理器
JP6422381B2 (ja) * 2015-03-18 2018-11-14 ルネサスエレクトロニクス株式会社 プロセッサ、プログラムコード変換装置及びソフトウェア
US11561792B2 (en) * 2015-06-08 2023-01-24 Qualcomm Incorporated System, apparatus, and method for a transient load instruction within a VLIW operation
US20200310799A1 (en) * 2019-03-27 2020-10-01 Mediatek Inc. Compiler-Allocated Special Registers That Resolve Data Hazards With Reduced Hardware Complexity
CN115640047B (zh) * 2022-09-08 2024-01-19 海光信息技术股份有限公司 指令操作方法及装置、电子装置及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555432A (en) * 1994-08-19 1996-09-10 Intel Corporation Circuit and method for scheduling instructions by predicting future availability of resources required for execution
JP3745450B2 (ja) * 1996-05-13 2006-02-15 株式会社ルネサステクノロジ 並列処理プロセッサ
JP2933026B2 (ja) * 1996-08-30 1999-08-09 日本電気株式会社 複数命令並列発行/実行管理装置
US5872986A (en) * 1997-09-30 1999-02-16 Intel Corporation Pre-arbitrated bypassing in a speculative execution microprocessor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020197725A1 (en) * 2019-03-26 2020-10-01 Intel Corporation System, apparatus and method for adaptive interconnect routing
US11256657B2 (en) 2019-03-26 2022-02-22 Intel Corporation System, apparatus and method for adaptive interconnect routing

Also Published As

Publication number Publication date
US6145074A (en) 2000-11-07
JPH1165844A (ja) 1999-03-09

Similar Documents

Publication Publication Date Title
JP3449186B2 (ja) パイプラインバイパス機能を有するデータ処理装置
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
CN101965554B (zh) 选择性地提交已执行指令的结果的系统和方法
US8161266B2 (en) Replicating opcode to other lanes and modifying argument register to others in vector portion for parallel operation
US5764943A (en) Data path circuitry for processor having multiple instruction pipelines
JP5699554B2 (ja) ベクトル処理回路、命令発行制御方法、及びプロセッサシステム
KR100900364B1 (ko) 인스트럭션 실행 디바이스, 인스트럭션 실행 방법 및 컴퓨터 판독가능 메모리 매체
US20020169942A1 (en) VLIW processor
JPH09311786A (ja) データ処理装置
KR20070026434A (ko) 듀얼 경로 프로세서에서 제어 프로세싱용 장치 및 방법
JPH0553803A (ja) プロセツサ
JP2620511B2 (ja) データ・プロセッサ
KR101016257B1 (ko) 프로세서 및 정보 처리 장치
JP2006522398A (ja) パイプライン型命令プロセッサにおけるバイパスの使用
JP2008146544A (ja) 演算処理装置
CN112182999B (zh) 一种基于mips32指令系统的三级流水线cpu设计方法
JPH07120284B2 (ja) データ処理装置
US20070220235A1 (en) Instruction subgraph identification for a configurable accelerator
US6092184A (en) Parallel processing of pipelined instructions having register dependencies
JP2874351B2 (ja) 並列パイプライン命令処理装置
KR100974401B1 (ko) 주소 레지스터의 내용을 스와핑하기 위한 방법 및 장치
CN110073332B (zh) 数据处理装置和方法
JP3182591B2 (ja) マイクロプロセッサ
JP3708022B2 (ja) プロセッサ
JP3915019B2 (ja) Vliwプロセッサ、プログラム生成装置、および記録媒体

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030610

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

Free format text: PAYMENT UNTIL: 20080711

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090711

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100711

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100711

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees