JP3534987B2 - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JP3534987B2
JP3534987B2 JP28708197A JP28708197A JP3534987B2 JP 3534987 B2 JP3534987 B2 JP 3534987B2 JP 28708197 A JP28708197 A JP 28708197A JP 28708197 A JP28708197 A JP 28708197A JP 3534987 B2 JP3534987 B2 JP 3534987B2
Authority
JP
Japan
Prior art keywords
instruction
index
register
signal
operand
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
JP28708197A
Other languages
English (en)
Other versions
JPH11119998A (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 JP28708197A priority Critical patent/JP3534987B2/ja
Priority to US09/040,324 priority patent/US6141746A/en
Publication of JPH11119998A publication Critical patent/JPH11119998A/ja
Application granted granted Critical
Publication of JP3534987B2 publication Critical patent/JP3534987B2/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, look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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, 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, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、情報処理装置に
関し、詳細には、複数のレジスタをソースオペランドと
する命令を解読するとともにその解読結果に応じて実行
ユニットをディスパッチする情報処理装置に関する。
【0002】近年、半導体製造技術の進歩によりマイク
ロプロセッサの処理能力が向上している。その代表的な
アーキテクチャとして、VLIW(Very Long
Instruction Word)とスーパースカ
ラとが挙げられる。これらのアーキテクチャを採用した
プロセッサでは、複数のパイプラインを用いて複数の処
理を同時に実行させることができる。ところが、パイプ
ライン構造をもつプロセッサにおいては、各パイプライ
ンについて逐次的に処理を実行することから、命令処理
を高速化するには、パイプラインの数を増やす必要があ
った。
【0003】
【従来の技術】例えば、スーパースカラ型のプロセッサ
において、情報処理装置が命令を実行する場合には、多
くの命令により主記憶装置上のデータがソースオペラン
ドとして参照される。各々の命令から主記憶装置上のデ
ータアドレスを生成する方式としては、ベースレジス
タ、インデックスレジスタ、ディスプレースメントの3
値を加算して生成する方式が一般的である。
【0004】ここで、従来の構成について説明する。図
16は、上記方式を採用した情報処理装置のブロック構
成を模式的に示している。図16において、命令CMD
は、OP(オペランド)コード,レジスタ番号1がオペ
ランド1であることを示す値R1,ベースレジスタ番号
を示す値B2,インデックスレジスタ番号の値X2,デ
ィスプレースメントの値D2より構成される。
【0005】情報処理装置は、図16に示すように、レ
ジスタファイル91、ラッチ92,93,94、およ
び、加算器95より構成される。レジスタファイル91
は、ベースレジスタ番号の値B2,インデックスレジス
タ番号の値X2をそれぞれ読み取り、さらに後段のラッ
チ93,94に出力する。
【0006】ラッチ92は、命令CMDから直接ディス
プレースメントの値D2を読み込んでつぎのタイミング
で加算器95に出力する。ラッチ93,94は、それぞ
れレジスタファイル91からベースレジスタ番号の値B
2,インデックスレジスタ番号の値X2を読み込んでつ
ぎのタイミングで加算器95に出力する。
【0007】ここで、ラッチ92は命令CMDの情報を
直接取り込むが、ラッチ93,および94は、命令CM
Dの情報をレジスタファイル91を介してから取り込む
ことになる。加算器95は、ラッチ9,9および9
に保持された値をすべて取り込んで加算して、主記憶
装置上のデータアドレスを生成する。
【0008】図16に示した構成においては、ひとつの
命令CMDに対してレジスタファイル91の読み出しポ
ートが一組(2つ)設けられている。もし複数の命令を
同時に処理する場合には、レジスタファイル91に設け
られた一組の読み出しポートを用いて逐次的に処理を実
行すればよいが、その分処理が遅延する。
【0009】そこで、処理の高速化を図るためには、同
時処理する命令数に応じてレジスタファイル91の読み
出しポートの組数を増設することが考えられる。同時処
理する命令数が例えば3つある場合には、レジスタファ
イル91の読み出しポートを3倍の三組設ければよい。
これはレジスタ読み出しのデータパスも3倍となる。以
下にその構成について説明する。
【0010】命令処理を高速に実行するために、複数命
令を同時解読および実行する情報処理装置においては、
図16の構成による一般的な命令形式の命令実行にハー
ドウェアを適合させるため、ベースレジスタおよびイン
デックスレジスタのための読み取りポートを同時解読す
る命令数だけ備えるのが一つの解決方法である。
【0011】図17は従来例による情報処理装置のハー
ドウェア構成を示すブロック図である。図17に示した
情報処理装置では、ラッチ構成が説明上省略して示され
ている。この情報処理装置では、命令レジスタ96A,
96B,96Cにそれぞれ命令が格納されている。レジ
スタファイル91には、各命令レジスタ96A,96
B,96Cから読み出された命令が取り込まれる。すな
わち、各命令レジスタ96A,96B,96Cからはベ
ースレジスタ番号の値とインデックスレジスタ番号の値
とがペアで読み出される。このため、命令レジスタ96
A,96Bおよび96Cとレジスタファイル91との間
には、図16の構成と比べて3倍のパイプラインが設け
られたことになる。
【0012】レジスタファイル91は、レジスタ群91
A,選択回路91Bなどを備えている。このレジスタフ
ァイル91では、レジスタの数をn(nは自然数)個と
した場合、読み出しを必要とするポート数にnを乗じた
数だけのデータパスが必要となる。したがって、レジス
タ群91Aと選択回路91Bとは、必要なデータパスで
接続される。
【0013】選択回路91Bは、レジスタ群91Aから
データパスを介して読み出された各命令のベースレジス
タ番号の値およびインデックスレジスタ番号の値を取り
込んで、それぞれに対応する加算器95A,95B,9
5Cを選択して出力する。
【0014】加算器95Aは、命令レジスタ96Aの命
令に対応しており、ベースレジスタ,インデックスレジ
スタおよびディスプレースメントの全3値を加算してデ
ータアドレスを求める。加算器95Bは、命令レジスタ
96Bの命令に対応しており、ベースレジスタ,インデ
ックスレジスタおよびディスプレースメントの全3値を
加算してデータアドレスを求める。加算器95Cは、命
令レジスタ96Cの命令に対応しており、ベースレジス
タ,インデックスレジスタおよびディスプレースメント
の全3値を加算してデータアドレスを求める。
【0015】以上の構成によれば、図17のレジスタフ
ァイル91の読み取りポート数は、前述した図16の読
み取りポート数と比べて3倍になっている。したがっ
て、図17のレジスタファイル91は、命令レジスタ9
6A,96Bおよび96Cから同時に3つの命令を読み
出すことになる。すなわち、レジスタファイル91で
は、命令レジスタ96A,96B,96Cからそれぞれ
ベースレジスタ番号の値とインデックスレジスタ番号の
値とが読み出されると、それぞれの値がレジスタ群91
Aから取り出される。
【0016】そして、レジスタ群91Aから読み出され
た値はデータパスを介して選択回路91Bに送られた
後、選択回路91Bに命令別に接続される加算器95
A,95B,95Cにそれぞれ出力される。加算器95
A,95B,95Cでは、選択回路91Bから入力され
た値(ベースレジスタ番号の値とインデックスレジスタ
番号の値)と各命令レジスタ96A,96B,96Cか
ら直接入力された図示せぬディスプレースメントの値と
が加算される。その加算結果がデータアドレスとなる。
【0017】なお、この種の近似技術として、例えば、
特開昭61−283930号公報,特開平3−2452
23号公報,同4−54638号公報および同5−19
7547号公報がある。
【0018】
【発明が解決しようとする課題】ところで、上述した従
来例による情報処理装置では、パイプライン数や加算器
を増設することで同時処理する命令数に応じた処理の高
速化を図っていたので、レジスタファイル91内でレジ
スタ群91Aの各レジスタからデータを読み出すための
選択回路91Bが増大することになり、その結果とし
て、ハードウェアの増大、およびマシンサイクルの増加
が引き起こされていた。
【0019】既存のソフトウェアにおいて、一般に、近
接した命令群の中では、インデックスレジスタが使われ
ない(レジスタ番号0である)か、すべて同じインデッ
クスレジスタが使われる場合が高頻度であった。今日、
これに着目して、チップ面積やマシンサイクルの観点か
ら見て、レジスタの読み取りポート数を増加させずに複
数命令の同時解読および実行を実現する方法が要望され
ていた。
【0020】この発明は、上述した従来例による問題を
解消するため、命令処理を高速に実行するための複数命
令を同時解読および実行することができ、かつその構成
をハードウェア量の著しい増加を招くことなく実現でき
る情報処理装置を提供することを目的とする。
【0021】
【課題を解決するための手段】上述した課題を解決し、
目的を達成するため、請求項1の発明に係る情報処理装
置は、同時処理すべき複数の命令に従って動作する複数
の命令実行手段と、前記複数の命令に従って前記各命令
実行手段の動作を制御する制御ユニットと、複数の出力
ポートを有し、該出力ポートを用いて前記制御ユニット
に指示されたレジスタの内容を出力するレジスタファイ
ルと、を有し、前記制御ユニットは、前記各命令実行手
段に対する命令をデコードするデコード手段と、前記デ
コード手段のデコード結果によりオペランドのアドレス
生成に使用するレジスタを選択するアドレス生成レジス
タ選択手段と、前記同時処理すべき複数の命令が前記ア
ドレス生成レジスタ選択手段により選択されたレジスタ
と互いに同一のレジスタをオペランドのアドレス生成に
用いる特定オペランド使用命令であるか否かを判定する
特定オペランド使用命令判定手段とを備え、前記特定オ
ペランド使用命令判定手段により前記特定オペランド使
用命令であると判定された場合に、前記アドレス生成レ
ジスタ選択手段により前記レジスタファイルの出力ポー
トからレジスタ内容を読み出してオペランドのアドレス
を生成し、前記複数の命令実行手段が前記特定オペラン
ド使用命令をそれぞれ同時処理することを特徴とする。
【0022】この請求項1の発明によれば、制御ユニッ
トにおいて、同時処理すべき複数の命令を解読し、その
解読結果によりオペランドのアドレス生成に使用するレ
ジスタを選択し、同時処理すべき複数の命令について、
選択したレジスタと互いに同一のレジスタをオペランド
のアドレス生成に用いる特定オペランド使用命令である
か否かを判定し、特定オペランド使用命令であると判定
した場合に、選択したレジスタ内容をレジスタファイル
の出力ポートから読み出してオペランドのアドレスを生
成し、複数の命令実行手段が特定オペランド使用命令を
それぞれ同時処理するようにしたので、オペランドのア
ドレス生成に使用するレジスタの内容をレジスタファイ
ルから読み出すデータパスが一つしかない場合にも、特
定オペランド使用命令については全てオペランドアドレ
スを生成して同時実行することができ、同時処理すべき
複数の命令の同時実行が抑止される頻度を減らすことが
できる。
【0023】また、請求項2の発明に係る情報処理装置
は、請求項1の発明において、前記同時処理を行う複数
の命令が前記特定オペランド使用命令であるか否かを記
憶する特定オペランド使用命令情報記憶手段とをさらに
備え、前記特定オペランド使用命令判定手段は、前記特
定オペランド使用命令であるか否かの判定結果を前記特
定オペランド使用命令情報記憶手段に書き込み、前記複
数の命令実行手段は、前記特定オペランド使用命令情報
記憶手段により記憶された判定結果に基づいて前記特定
オペランド使用命令をそれぞれ同時に処理することを特
徴とする。
【0024】この請求項2の発明によれば、同時処理を
行う複数の命令が特定オペランド使用命令であるか否か
の判定結果を記憶し、記憶した判定結果に基づいて特定
オペランド使用命令をそれぞれ同時に処理するようにし
たので、特定オペランド使用命令だけを同時に処理する
ように制御することができる。
【0025】また、請求項3の発明に係る情報処理装置
は、請求項1または2の発明において、前記オペランド
のアドレス生成としてインデックスレジスタとベースレ
ジスタとディスプレースメントを使用し、前記アドレス
生成レジスタ選択手段は、前記同時処理を行う複数の命
令がそれぞれオペランドのアドレス生成に用いるインデ
ックスレジスタの中から、前記レジスタファイルのポー
トからデータを出力するインデックスレジスタを選択
し、前記特定オペランド使用命令判定手段は、前記同時
処理を行う複数の命令のそれぞれが前記アドレス生成レ
ジスタ選択手段により選択されたインデックスレジスタ
と同一のインデックスレジスタをオペランドのアドレス
生成に用いる特定オペランド使用命令であるか否かを判
定することを特徴とする。
【0026】この請求項3の発明によれば、オペランド
のアドレス生成としてインデックスレジスタとベースレ
ジスタとディスプレースメントを使用し、同時処理を行
う複数の命令がそれぞれオペランドのアドレス生成に用
いるインデックスレジスタの中から、レジスタファイル
のポートからデータを出力するインデックスレジスタを
選択し、同時処理を行う複数の命令のそれぞれについ
て、選択したインデックスレジスタと同一のインデック
スレジスタをオペランドのアドレス生成に用いる特定オ
ペランド使用命令であるか否かを判定するようにしたの
で、インデックスレジスタの内容をレジスタファイルか
ら読み出すデータパスが一つしかない場合にも、特定オ
ペランド使用命令については全てオペランドアドレスを
生成して同時実行することができ、同時処理すべき複数
の命令の同時実行が抑止される頻度を減らすことができ
る。
【0027】また、請求項4の発明に係る情報処理装置
は、請求項3の発明において、前記複数の命令実行手段
は、それぞれ実行する命令がインデックスレジスタを使
用しない命令の場合には、前記アドレス生成レジスタ選
択手段が選択するインデックスレジスタに関わらず該命
令を実行することを特徴とする。
【0028】この請求項4の発明によれば、実行する命
令がインデックスレジスタを使用しない命令の場合に
は、選択したインデックスレジスタに関わらず命令実行
手段が命令を実行するようにしたので、同時処理すべき
複数の命令の同時実行が抑止される頻度をさらに減らす
ことができる。
【0029】また、請求項5の発明に係る情報処理装置
は、請求項1の発明において、前記同時処理を行う複数
の命令のうち前記アドレス生成ジスタ選択手段により選
択されたレジスタとは異なるレジスタをオペランドのア
ドレス生成に用いる場合に、実行を抑止された命令をそ
れぞれの命令実行手段に対応させて保持する命令保持手
段をさらに備え、前記命令実行手段は、前記命令保持手
段により保持された命令を優先的に実行することを特徴
とする。
【0030】この請求項5の発明によれば、同時処理を
行う複数の命令のうち、選択したレジスタとは異なるレ
ジスタをオペランドのアドレス生成に用いるために実行
を抑止された命令をそれぞれの命令実行手段に対応させ
て保持し、保持した命令を命令実行手段が優先的に実行
するようにしたので、同時処理すべき命令のうち実行が
抑止された命令の実行の遅れを最小限にすることができ
る。
【0031】
【0032】
【0033】
【発明の実施の形態】以下に添付図面を参照して、この
発明に係る情報処理装置の好適な実施の形態を詳細に説
明する。
【0034】(実施の形態1)まず、構成について説明
する。図1はこの発明の実施の形態1による情報処理装
置の構成を示すブロック図である。図1には、同時処理
すべき命令数が3つの場合の情報処理装置が示されてい
る。この情報処理装置は、図1に示したように、例え
ば、制御ユニット1,レジスタファイル2,実行ユニッ
ト起動レジスタ3A,3Bおよび3C,実行ユニット4
A,4Bおよび4C,命令レジスタ9A,9Bおよび9
Cにより構成される。
【0035】ここで、命令レジスタ9A,9B,9C
は、それぞれ第1命令,第2命令,第3命令を格納して
いる。第1命令は、オペコードOP1,インデックス番
号DT1−1およびベース番号DT1−2により構成さ
れ、第2命令は、オペコードOP2,インデックス番号
DT2−1およびベース番号DT2−2により構成さ
れ、第3命令は、オペコードOP3,インデックス番号
DT3−1およびベース番号DT3−2により構成され
る。
【0036】命令レジスタ9Aでは、オペコードOP1
およびインデックス番号DT1−1が制御ユニット1の
デコーダ部11に出力され、ベース番号DT1−2がレ
ジスタファイル2に出力される。命令レジスタ9Bで
は、オペコードOP2およびインデックス番号DT2−
1が制御ユニット1のデコーダ部11に出力され、ベー
ス番号DT2−2がレジスタファイル2に出力される。
命令レジスタ9Cでは、オペコードOP3およびインデ
ックス番号DT3−1が制御ユニット1のデコーダ部1
1に出力され、ベース番号DT3−2がレジスタファイ
ル2に出力される。
【0037】制御ユニット1は、デコーダ部11,イン
デックス選択部12およびディスパッチ抑止部13より
構成される。デコーダ部11は、命令レジスタ9A,9
B,9Cから同時に3つの命令を取り込んで解読(デコ
ード)する。インデックス選択部12は、デコーダ部1
1の解読結果(デコード結果)に応じてインデックス番
号を選択してその選択されたインデックス番号をレジス
タファイル2に出力する。ディスパッチ抑止部13は、
デコーダ部11の解読結果とインデックス選択部12の
選択結果とに基づいて実行ユニット起動レジスタ3A,
3B,3Cに対して起動をセットする制御信号やそのセ
ット(ディスパッチ)を抑止する制御信号を送出する。
【0038】レジスタファイル2は、命令レジスタ9
A,9B,9Cからそれぞれベース番号DT1−2,D
T2−2,DT3−2と、制御ユニット1で選択された
インデックス番号に対応するレジスタ番号の出力だけを
出力する。
【0039】実行ユニット起動レジスタ3A,3B,3
Cは、それぞれ実行ユニット4A,4B,4Cを起動す
る制御信号をセットするためのレジスタである。実行ユ
ニット起動レジスタ3A,3B,3Cにおいては、起動
をセットするための制御信号がセットされた場合にはデ
ィスパッチが許可され、一方、起動をセットしない、す
なわちディスパッチを抑止する制御信号がセットされた
場合にはディスパッチが抑止される。実行ユニット4
A,4B,4Cは、それぞれ命令レジスタ9A,9B,
9Cの命令に従って動作するとともに、実行ユニット起
動レジスタ3A,3B,3Cにセットされた制御信号に
応じてディスパッチの有無が制御される。
【0040】以上の構成において、オペコードOP、イ
ンデックス番号DT1−1,2−1,3−1は制御ユニ
ット1に送出され、ベース番号DT1−2,2−2,3
−2はレジスタファイル2に直接送出される。制御ユニ
ット1からは、3つの命令(命令レジスタ9A,9B,
9C)の中から一つ選択されたインデックス番号DT1
−n(n=1,2or3)がレジスタファイルに送ら
れ、各実行ユニット起動レジスタ3A,3B,3Cをセ
ットする制御信号が送出される。
【0041】つぎに、制御ユニット1について詳述す
る。図2,図3,図4はそれぞれ図1に示した制御ユニ
ット1のデコーダ部11,インデックス選択部12,デ
ィスパッチ抑止部13の構成を示す回路図である。
【0042】まず、図2を参照してデコーダ部11につ
いて説明する。図2に示したデコーダ部11は、デコー
ダ111〜116と、EXOR回路117〜119とに
より構成される。デコーダ111,112,113は、
それぞれ命令レジスタ9A,9B,9Cからオペコード
OP1,OP2,OP3を取り込んでデコードしてイン
デックス選択部12に出力する。
【0043】デコーダ114,115,116は、それ
ぞれ命令レジスタ9A,9B,9Cからインデックス番
号DT1−1,2−1,3−1を取り込んでデコードし
てインデックス選択部12およびディスパッチ抑止部1
3に出力する。EXNOR回路117,118,119
は、それぞれ命令レジスタ9A,9B,9Cからインデ
ックス番号DT1−1とDT2−1,DT1−1とDT
3−1,DT2−1とDT3−1を取り込んで排他的論
理和をとり、それぞれの結果をディスパッチ抑止部13
に出力する。
【0044】デコーダ111〜116の出力は、それぞ
れ「+I1 USE INDEX」信号(a),「+I
2 USE INDEX」信号(b),「+I3 US
EINDEX」信号(c),「+I1 INDEX E
Q 0」信号(d),「+I2 INDEX EQ
0」信号(e),「+I3 INDEX EQ 0」信
号(f)である。
【0045】また、EXNOR回路117,118,1
19の出力は、それぞれ「I1INDEX EQ I
2 INDEX」信号(g),「I1 INDEX
EQ I3 INDEX」信号(h),「I2 IN
DEX EQ I3 INDEX」信号(i)である。
【0046】ここで、「+I1 USE lNDEX」
信号(a)は、デコーダ111において命令レジスタ9
AのオペコードOP1をデコードして生成され、第1命
令がインデックス番号DT1−1を使用する場合に
“1”となる。「+I2 USElNDEX」信号
(b)は、デコーダ112において命令レジスタ9Bの
オペコードOP2をデコードして生成され、第2命令が
インデックス番号DT2−1を使用する場合に“1”と
なる。「+I3 USE lNDEX」信号(c)は、
デコーダ113において命令レジスタ9Cのオペコード
OP3をデコードして生成され、第3命令がインデック
ス番号DT3−1を使用する場合に“1”となる。
【0047】また、「+I1 INDEX EQ 0
(ZERO)」信号(d)は、デコーダ114において
第1命令のインデックス番号がゼロである場合に“1”
となる。この値“1”はインデックス番号を使用しない
ことを示す。「+I2 INDEX EQ ZERO」
信号(e)は、デコーダ115において第2命令のイン
デックス番号がゼロである場合に“1”となる。この値
“1”はインデックス番号を使用しないことを示す。
「+I3 INDEX EQ ZERO」信号(f)
は、デコーダ116において第3命令のインデックス番
号がゼロである場合に“1”となる。この値“1”はイ
ンデックス番号を使用しないことを示す。
【0048】また、「+I1 INDEX EQ I2
INDEX」信号(g)は、EXNOR回路117に
おいて第1命令と第2命令とのインデックス番号が等し
い場合に“1”となり、それ以外は“0”となる。「+
I1 INDEX EQ I3 INDEX」信号
(h)は、EXNOR回路118において第1命令と第
3命令とのインデックス番号が等しい場合に“1”とな
り、それ以外は“0”となる。「+I2 INDEX
EQ I3 INDEX」信号(i)は、EXNOR回
路119において第2命令と第3命令とのインデックス
番号が等しい場合に“1”となり、それ以外は“0”と
なる。
【0049】以上の信号(a)〜(f)について、信号
(a)〜(f)はインデックス選択部12に出力され、
そのうちの信号(c),(e),(f)はディスパッチ
抑止部13にも出力される。また、信号(g),
(h),(i)は、ディスパッチ抑止部13に出力され
る。
【0050】続いて図3を参照してインデックス選択部
12について説明する。図3において、「+SEL I
1 lNDEX」信号は、オペコードOP1のデコード
によりインデックス番号を使用することが示され、かつ
インデックス番号がゼロでないことを示している。すな
わち、この信号は、第1命令が真にインデックス番号を
使用することを示す。この信号が有効な場合、制御ユニ
ット1は、第1命令のインデックス番号をレジスタファ
イル2に送出する。「+SEL I2 INDEX」信
号は、第1命令がインデックス番号を使用せず、第2命
令がインデックス番号を使用することを示している。す
なわち、この信号が有効な場合、制御ユニット1は、第
2命令のインデックス番号をレジスタファイル2に送出
する。
【0051】図3に示したインデックス選択部12は、
NAND回路122,124およびAND回路121,
123,125,126,127により構成される。A
ND回路121は、「+I1 USE INDEX」信
号(a)と「+I1 INDEX EQ 0」信号
(d)の反転信号との論理積を求め、その演算結果を第
1命令のインデックスを選択する「+SEL I1 I
NDEX」信号としてレジスタファイル2に出力する。
NAND回路122は、「+I1 USE INDE
X」信号(a)と「+I1 INDEX EQ 0」信
号(d)の反転信号との論理積を求め、その演算結果を
反転してAND回路126および127に出力する。
【0052】AND回路123は、「+I2 USE
INDEX」信号(b)と「+I2INDEX EQ
0」信号(e)の反転信号との論理積を求め、その演算
結果を第2命令のインデックスを選択する信号(「+S
EL I2 INDEX」信号)としてAND回路12
6に出力する。NAND回路124は、「+I2USE
INDEX」信号(b)と「+I2 INDEX E
Q 0」信号(e)の反転信号との論理積を求め、その
演算結果を反転してAND回路127に出力する。
【0053】AND回路125は、「+I3 USE
INDEX」信号(c)と「+I3INDEX EQ
0」信号(f)の反転信号との論理積を求め、その演算
結果を第3命令のインデックスを選択する信号(「+S
EL I3 INDEX」信号)としてAND回路12
7に出力する。
【0054】AND回路126は、NAND回路122
の「+SEL I1 INDEXP」信号とAND回路
123の「+SEL I INDEX」信号との論理
積により第2命令のインデックスを選択する「+SEL
I2 INDEX」信号をレジスタファイル2に送出
する。
【0055】AND回路127は、NAND回路122
の「+SEL I1 INDEX」信号とNAND回
路124の反転信号とAND回路125の「+SEL
I3INDEX」信号との論理積により第3命令のイン
デックスを選択する「+SEL I3 INDEX」信
号をレジスタファイル2に送出する。
【0056】続いて図4を参照してディスパッチ抑止部
13について説明する。図4において、「+INH E
X2」信号は、第1命令のインデックス番号が選択され
ること、第2命令がインデックス番号を使用すること、
および第1命令と第2命令のインデックス番号が等しく
ないことがすべて成立した場合に“1”となる。この場
合、第2命令が実行ユニット4Bで実行されることを抑
止するため、実行ユニット起動レジスタ3Bのセットが
抑止される。
【0057】また、「+INH EX3」信号は、つぎ
の場合に“1”(有効)となって送出される。すなわ
ち、ひとつは、第1命令のインデックス番号が選択され
ること、第3命令がインデックス番号を使用すること、
および第3命令のインデックス番号が使用されかつ第1
命令と第3命令のインデックス番号が等しくないことが
すべて成立した場合である。もうひとつは、第1命令の
インデックスが使用されるがそのインデックス番号がゼ
ロか、それとも第1命令のインデックス番号が使用され
ずそのインデックス番号がゼロでもそれ以外でもよいこ
と、第2命令のインデックス番号が選択されること、第
3命令がインデックス番号を使用すること、および第2
命令と第3命令のインデックス番号が等しくないことが
すべて成立した場合である。
【0058】図4に示したディスパッチ抑止部13は、
NOR回路131および132,NOT回路133,A
ND回路134,135および136,OR回路137
により構成される。NOR回路131は、「+I2 I
NDEX EQ 0」信号(e)と「+I1 INDE
X EQ I2 INDEX」信号(g)との論理和を
反転させてAND回路134に出力する。NOR回路1
32は、「+I3 INDEX EQ 0」信号(f)
と「+I1 INDEX EQ I3 INDEX」信
号(h)との論理和を反転させてAND回路135に出
力する。NOT133は、「+I2 INDEX EQ
I3 INDEX」信号(i)を反転させてAND回
路136に出力する。
【0059】AND回路134は、NOR回路131の
反転信号とAND回路121の「+SEL I1 IN
DEX」信号と「+I2 USE INDEX」信号
(b)との論理積により第2命令のディスパッチを抑止
する制御信号すなわち「+INH EX2」信号を実行
ユニット起動レジスタ3B(実行ユニット4Bに対応)
に発行する。
【0060】AND回路135は、NOR回路132の
反転信号とAND回路121の「+SEL I1 IN
DEX」信号と「+I3 USE INDEX」信号
(c)との論理積により第3命令のディスパッチを抑止
する制御信号すなわち「+INH EX3」信号をOR
回路137に出力する。
【0061】AND回路136は、NAND回路122
の反転信号(「+SEL I2 INDEXP」信号)
と「+I3 USE INDEX」信号(c)とNOT
回路133の出力信号との論理積により上記「+INH
EX3」信号をOR回路137に出力する。OR回路
137は、AND回路135の「+INH EX3」信
号とAND回路136の制御信号との論理和により「+
INH EX3」信号を有効もしくは無効にして実行ユ
ニット起動レジスタ3C(実行ユニット4Cに対応)に
発行する。
【0062】のように、「+INH EX3」信号が
“1”となると、第3命令が実行ユニット4Cで実行さ
れることを抑止するため、実行ユニット起動レジスタ3
Cのセットが抑止される。
【0063】つぎに、図5および図6を参照してディス
パッチ抑止を含む動作について詳述する。図5は実施の
形態1において第2命令が実行ユニットへ割り当てられ
る条件を表形式で説明する図であり、図6は実施の形態
1において第3命令が実行ユニットへ割り当てられる条
件を表形式で説明する図である。これら図5および図6
に示した表から導き出される条件は、前述した制御ユニ
ット1の入出力の関係を示すものである。
【0064】まず、図5を参照して第2命令が実行ユニ
ット4Bへ割り当てられる場合について説明する。この
場合の条件としては、大別すると、第1命令がインデッ
クス(この場合には、特定ソースオペランドを意味す
る)の使用中か、未使用かに区分される。まず、第1命
令がインデックスを使用している際には(「+I1 U
SE INDEX」信号が“1”(有効)の場合)、さ
らに、第2命令が第1命令で使用しているインデックス
と同一のインデックスを使用しているか否か(「+I1
INDEX EQ I2 INDEX」信号の“1”
(有効)または“0”(無効)の場合)、あるいは、イ
ンデックスに関して未使用か(「+I1INDEX E
Q 0」信号が“1”(有効の場合))に区分される。
【0065】第2命令が第1命令と同一のインデックス
を使用しているか、あるいは、インデックスに関して未
使用の場合には、第2命令への実行ユニット4Bの割り
当てが許可される。すなわち、図4のディスパッチ抑止
部13においてAND回路134からの出力が“0”と
なり、第2命令のディスパッチ抑止が無効となる。一
方、第2命令がインデックスを使用しており、そのイン
デックスが第1命令と同一のインデックスではない場合
には、第2命令への実行ユニット4Bの割り当てが不許
可となる。すなわち、図4のディスパッチ抑止部13に
おいてAND回路134からの出力が“1”となり、第
2命令のディスパッチ抑止が有効となる。
【0066】そして、第1命令がインデックス未使用の
際には、第2命令がインデックスを使用しているか、そ
れともインデックスを未使用かに区分される。この場
合、第2命令が第1命令と同一のインデックスを使用し
ているか否かは関係なく、またインデックスを使用して
いても使用していなくても、第2命令への実行ユニット
4Bの割り当てが許可される。すなわち、図4のディス
パッチ抑止部13においてAND回路134からの出力
が“0”となり、第2命令のディスパッチ抑止が無効と
なる。
【0067】さらに、図6を参照して第3命令が実行ユ
ニット4Cへ割り当てられる場合について説明する。こ
の場合の条件としては、図5の場合と同様に、大別する
と、第1命令がインデックス(この場合には、特定ソー
スオペランドを意味する)の使用中か、未使用かに区分
される。まず、第1命令がインデックスを使用している
際には、第2命令がそのインデックスを使用しているか
否かには依存せず、第3命令がその同一のインデックス
を使用しているか否か、あるいは、インデックスに関し
て未使用かに区分される。ここでは、ディスパッチ抑止
部13のAND回路135の出力が鍵となる。
【0068】第3命令が第1命令と同一のインデックス
を使用しているか、あるいは、インデックスに関して未
使用の場合には、第3命令への実行ユニット4Cの割り
当てが許可される。すなわち、図4のディスパッチ抑止
部13においてAND回路135および136の出力
“0”によりOR回路137からの出力が“0”とな
り、第3命令のディスパッチ抑止が無効となる。一方、
第3命令がインデックスを使用しており、そのインデッ
クスが第1命令と同一のインデックスではない場合、第
3命令への実行ユニット4Cの割り当てが不許可とな
る。すなわち、図4のディスパッチ抑止部13において
AND回路135の出力“1”によりOR回路137か
らの出力が“1”となり、第3命令のディスパッチ抑止
が有効となる。
【0069】さらに、第1命令がインデックス未使用の
際には、第2命令がインデックス(この場合には、特定
ソースオペランドを意味する)を使用しているか、それ
ともインデックスを未使用かに区分される。ここでは、
ディスパッチ抑止部13のAND回路136の出力が鍵
となる。第2命令がインデックスを使用している場合に
は、第3命令がその同一のインデックスを使用している
か否か、あるいは、インデックスに関して未使用かに区
分される。
【0070】第3命令が第2命令と同一のインデックス
を使用しているか、あるいは、インデックスに関して未
使用の場合には、第3命令への実行ユニット4Cの割り
当てが許可される。すなわち、図4のディスパッチ抑止
部13においてAND回路135および136の出力
“0”によりOR回路137からの出力が“0”とな
り、第3命令のディスパッチ抑止が無効となる。一方、
第3命令がインデックスを使用しており、そのインデッ
クスが第2命令と同一のインデックスではない場合、第
3命令への実行ユニット4Cの割り当てが不許可とな
る。すなわち、図4のディスパッチ抑止部13において
AND回路136の出力“1”によりOR回路137か
らの出力が“1”となり、第3命令のディスパッチ抑止
が有効となる。
【0071】そして、第2命令がインデックス未使用の
際には、第3命令がインデックスを使用しているか、そ
れともインデックスを未使用かに区分される。この場
合、第3命令が第2命令と同一のインデックスを使用し
ているか否かは関係なく、またインデックスを使用して
いても使用していなくても、第3命令への実行ユニット
4Cの割り当てが許可される。すなわち、図4のディス
パッチ抑止部13においてAND回路135および13
6の出力“0”によりOR回路137からの出力が
“0”となり、第3命令のディスパッチ抑止が無効とな
る。
【0072】以上説明したように、この実施の形態1に
よれば、制御ユニット1において、同時処理すべき複数
の命令を解読し、その解読結果に応じて複数の実行手段
のうちでディスパッチすべき実行手段を選択するととも
に、解読結果および選択結果に基づいて複数の実行手段
のいずれかのディスパッチを抑止する。これにより、複
数命令を同時解読および実行することで命令処理を高速
に実行することが可能、かつその高速化をレジスタを読
み出すデータパスの大幅な増設なしに必要最小限のハー
ドウェア量で実現することが可能である。
【0073】また、第1命令が特定ソースオペランドを
使用しているときに続く第2命令が異なるソースオペラ
ンドを使用した場合に第2命令に対応する実行ユニット
へのディスパッチを抑止する。これにより、複数の命令
間で第1命令を優先する上で、特定ソースオペランドの
共有が可能な後続命令(第2命令)については同時実行
を許可して複数命令の同時処理を実現し、一方、共有が
不可能な後続命令(第2命令)についてはその同時処理
から外すことが可能である。
【0074】また、第1命令が特定ソースオペランドを
使用しているときに2つ後の第3命令が異なるソースオ
ペランドを使用した場合に第3命令に対応する実行ユニ
ットへのディスパッチを抑止し、また、第1命令がソー
スオペランドランドを未使用で、かつ第2命令が特定ソ
ースオペランドを使用しているときに続く第3命令が異
なるソースオペランドを使用した場合に第3命令に対応
する実行ユニットへのディスパッチを抑止する。これに
より、複数の命令間で第1命令もしくは第2命令を優先
する上で、特定ソースオペランドの共有が可能な後続命
令については同時実行を許可して複数命令の同時処理を
実現し、一方、共有が不可能な後続命令についてはその
同時処理から外すことが可能である。
【0075】(実施の形態2)さて、上述した実施の形
態1では、制御ユニット1内で各命令レジスタ9A,9
B,9Cからオペコードおよびインデックス番号を読み
出してデコードするようにしていたが、以下に説明する
実施の形態2のように、そのデコード処理を制御ユニッ
トから分離して独立した構成で設けるようにしてもよ
い。以下に説明する実施の形態2では、前述した実施の
形態1と同様の構成については同様の番号を付してその
構成および動作の説明を省略する。
【0076】まず、構成について説明する。図7はこの
発明の実施の形態2による情報処理装置の構成を示すブ
ロック図である。この情報処理装置は、図7に示したよ
うに、例えば、レジスタファイル2,実行ユニット起動
レジスタ3A,3Bおよび3C,実行ユニット4A,4
Bおよび4C,制御ユニット5,リザベーションステー
ション7,命令レジスタ9A,9Bおよび9Cにより構
成される。
【0077】前述した実施の形態1と異なる構成は、制
御ユニット5およびリザベーションステーション7であ
り、これらは前述した制御ユニット1に相当する部分で
ある。制御ユニット5は、前述した制御ユニット1から
デコーダ部11に相当する構成を省いた構成である。し
たがって、制御ユニット5は、インデックス選択部12
に相当するインデックス選択部51とディスパッチ抑止
部13に相当するディスパッチ抑止部52とにより構成
される。
【0078】また、リザベーションステーション7は、
命令レジスタ9A,9B,9Cにそれぞれ対応して命令
の解読およびその結果であるエントリを保持する第1エ
ントリエリア71,第2エントリエリア72,第3エン
トリエリア73より構成される。これら第1エントリエ
リア71,第2エントリエリア72,第3エントリエリ
ア73には、命令レジスタ9A,9B,9Cに保持され
ているデータが格納される。
【0079】続いて、リザベーションステーション7の
エントリ内容について説明する。図8はこの発明の実施
の形態2によるエントリ内容の一例を示す図である。エ
ントリ内容は、図8に示した如く、インデックス番号D
Tn−1(nは命令番号を示す、n=1,2or3)を
使用することを示すデータV1,インデックス番号DT
n−1が使用可能であることを示すデータR1,インデ
ックス番号DTn−1のレジスタアドレスA1,インデ
ックス番号DTn−2を使用することを示すデータV
2,インデックス番号DTn−2が使用可能であること
を示すデータR2,インデックス番号DTn−2のレジ
スタアドレスA2より構成される。
【0080】例えば、第1エントリエリア71には、イ
ンデックス番号DT1−1を使用することを示すデータ
V1,インデックス番号DT1−1が使用可能であるこ
とを示すデータR1,インデックス番号DT1−1のレ
ジスタアドレスA1,インデックス番号DT1−2を使
用することを示すデータV2,インデックス番号DT1
−2が使用可能であることを示すデータR2およびイン
デックス番号DT1−2のレジスタアドレスA2が格納
される。また、第2エントリエリア72および第3エン
トリエリア73においても同様の規則でデータが格納さ
れる。
【0081】つぎに、制御ユニット5について説明す
る。図9は制御ユニット5のインデックス選択部51の
構成を示すブロック図であり、図10は制御ユニット5
のディスパッチ抑止部52の構成を示すブロック図であ
る。
【0082】まず、図9を参照してインデックス選択部
51について説明する。図9において、「+E1 RE
ADY」信号は、第1エントリエリア71の命令が実行
可能である場合に“1”となる。この信号は、Vビッ
ト、Rビットから生成され、各レジスタオペランドが使
用されないか、または使用可能であるときそれらの条件
の論理積で生成される。「+SEL E1 INDE
X」信号は、第1エントリエリア71のインデックス番
号を選択する場合に“1”となる。
【0083】また、「+E2 READY」信号は、第
2エントリエリア72の命令が実行可能である場合に
“1”となる。この信号は、Vビット、Rビットから生
成され、各レジスタオペランドが使用されないか、また
は使用可能であるときそれらの条件の論理積で生成され
る。「+SEL E2 INDEX」信号は、第2エン
トリエリア72のインデックス番号を選択する場合に
“1”となる。
【0084】また、「+E3 READY」信号は、第
3エントリエリア73の命令が実行可能である場合に
“1”となる。この信号は、Vビット、Rビットから生
成され、各レジスタオペランドが使用されないか、また
は使用可能であるときそれらの条件の論理積で生成され
る。「+SEL E3 INDEX」信号は、第3エン
トリエリア73のインデックス番号を選択する場合に
“1”となる。
【0085】インデックス選択部51は、図9に示した
ように、AND回路511,513,515,516お
よび517と、NAND回路512,514とにより構
成される。AND回路511は、「+E1 READ
Y」信号と「+E1 USEINDEX」信号との論理
積により第1命令のインデックスを選択する「+SEL
E1 INDEX」信号をレジスタファイル2へ送出
する。また、この「+SEL E1 INDEX」信号
は、ディスパッチ抑止部52のAND回路521および
522にも送出される。
【0086】NAND回路512は、「+E1 REA
DY」信号と「+E1 USE INDEX」信号との
論理積により求められた演算結果を反転してAND回路
516およびAND回路517に出力する。
【0087】AND回路513は、「+E2 READ
Y」信号と「+E2 USE INDEX」信号との論
理積により第2命令のインデックスを選択する「+SE
LE2 INDEXP」信号をAND回路516へ送出
する。また、この「+SEL E2 INDEXP」信
号は、ディスパッチ抑止部52のAND回路523にも
送出される。
【0088】NAND回路514は、「+E2 REA
DY」信号と「+E2 USE INDEX」信号との
論理積により求められた演算結果を反転してAND回路
517に出力する。AND回路515は、「+E3 R
EADY」信号と「+E3USE INDEX」信号と
の論理積により第3命令のインデックスを選択する「+
SEL E3 INDEX」信号をAND回路517へ
送出する。
【0089】AND回路516は、NAND回路512
の反転信号とAND回路513の出力との論理積に応じ
て「+SEL E2 INDEX」信号をレジスタファ
イル2へ送出する。AND回路517は、AND回路5
15の出力とNAND回路512の反転信号とNAND
回路514の反転信号との論理積に応じて「+SELE
3 INDEX」信号をレジスタファイル2へ送出す
る。
【0090】続いて、図10を参照してディスパッチ抑
止部52について説明する。図10において、「+IN
H EX2」信号は、第2エントリエリア72の命令が
実行ユニット4Bに発行された際に、実行ユニット起動
レジスタ3Bのセットを抑止する制御信号である。「+
INH EX3」信号は、第3エントリエリア73の命
令が実行ユニット4Cに発行された際に、実行ユニット
起動レジスタ3Cのセットを抑止する制御信号である。
「−E1 EQ E3」信号は、第1エントリエリア7
1と第3エントリエリア73のレジスタアドレスが一致
しない場合を“1”とする信号であり、「−E2 EQ
E3」信号は、第2エントリエリア72と第3エント
リエリア73のレジスタアドレスが一致しない場合を
“1”とする信号である。
【0091】ディスパッチ抑止部52は、図10に示し
たように、AND回路521,522および523と、
OR回路524とにより構成される。AND回路521
は、AND回路511の「+SEL E1 INDE
X」信号と「+E2 USEINDEX」信号と「−E
1 EQ E2」信号との論理積に応じて「+INHE
X2」信号を実行ユニット起動レジスタ3Bに送出す
る。
【0092】すなわち、第1エントリエリア71のエン
トリ内容が選択されているときに(AND回路511の
出力が“1”(有効)の場合)、第2エントリエリア7
2のインデックス番号が使用され(「+E2 USE
INDEX」信号が“1”(有効)の場合)、かつ第1
エントリエリア71と第2エントリエリア72のエント
リ内容が不一致であれば(「−E1 EQ E2」信号
が“1”)、実行ユニット起動レジスタ3Bに対してそ
のセットを抑止する制御信号(「+INH EX2」信
号が“1”(有効)の場合)が発行される。
【0093】AND回路522は、AND回路511の
「+SEL E1 INDEX」信号と「+E3 US
E INDEX」信号と「−E1 EQ E3」信号と
の論理積に応じて「+INH EX3」信号をOR回路
524に出力する。AND回路523は、AND回路5
13の出力(「+SEL E2 INDEXP」信号)
と「+E3 USE INDEX」信号と「−E2 E
Q E3」信号との論理積に応じて上記「+INH E
X3」信号をOR回路524に出力する。
【0094】OR回路524は、AND回路522の出
力とAND回路523の出力との論理和に応じて「+I
NH EX3」信号を実行ユニット起動レジスタ3Cに
送出する。すなわち、第1エントリエリア71のエント
リ内容が選択されているときに(AND回路511の出
力が“1”(有効)の場合)、第3エントリエリア73
のインデックス番号が使用され(「+E3 USE I
NDEX」信号が“1”(有効)の場合)、かつ第1エ
ントリエリア71と第3エントリエリア73のエントリ
内容が不一致であれば(「−E1 EQ E3」信号が
“1”(有効)の場合)、実行ユニット起動レジスタ3
Cに対してそのセットを抑止する制御信号(「+INH
EX3」信号が“1”(有効)の場合)が発行され
る。
【0095】または、第2エントリエリア72の命令が
実行可能であり、かつその命令のインデックス番号が使
用可能なときに(AND回路513の出力が“1”(有
効)の場合)、第3エントリエリア73のインデックス
番号も使用可能であり(「+E3 USE INDE
X」信号が“1”(有効)の場合)、かつ第2エントリ
エリア72と第3エントリエリア73のエントリ内容が
相違すれば(「−E2EQ E3」信号が“1”(有
効)の場合)、実行ユニット起動レジスタ3Cに対して
そのセットを抑止する制御信号(「+INH EX3」
信号が“1”(有効)の場合)が発行される。
【0096】つぎに、図8〜図11を用いて前述の実施
の形態1と相違する動作について説明する。図11は実
施の形態2によるデータの流れを説明する図である。命
令レジスタ9A,9B,9Cにいずれもインデックスを
使用する命令が保持され、それぞれに使用するインデッ
クス番号は「INDEX=1」データ,「INDEX=
2」,「INDEX=1」とする。
【0097】この場合には、命令レジスタ9A,9Cに
それぞれ保持されている第1命令,第3命令に従って実
行ユニット4A,4Cを起動する制御が行われる。一
方、命令レジスタ9Bに保持されている第2命令は、ま
ずリザベーションステーション7の第2エントリエリア
72にロードされ、つぎのタイミングが待たれる。した
がって、そのときの実行ユニット4Bは空き状態とな
る。
【0098】このように、図11の例では、命令解読時
に第1命令,第2命令,第3命令とともにインデックス
番号を使用して、第1命令と第3命令のインデックス番
号が等しい命令解読サイクルの次サイクルでは、第1命
令が実行ユニット4Aで実行され、第3命令が実行ユニ
ット4Cで実行され、第2命令はリザベーションステー
ション7のエントリレジスタ72に格納される。
【0099】以上説明したように、この実施の形態2に
よれば、前述の実施の形態1と共通する効果の他に、同
時処理すべき複数の命令を解読してから、制御ユニット
5において、その解読結果に応じて複数の実行ユニット
4A,4B,4Cのうちでディスパッチすべき実行ユニ
ットを選択するとともに、解読結果および選択結果に基
づいて複数の実行ユニット4A,4B,4Cのいずれか
のディスパッチを抑止する。これにより、複数命令を同
時解読および実行することで命令処理を高速に実行する
ことが可能、かつその高速化をレジスタを読み出すデー
タパスの大幅な増設なしに必要最小限のハードウェア量
で実現することが可能である。
【0100】また、リザベーションステーション7にお
いて制御ユニット5の制御で各実行手段にディスパッチ
されていない命令のソースオペランドを保持するように
したので、命令レジスタ9でつぎに実行すべき命令を保
持しておくことが可能である。
【0101】(実施の形態3)さて、この発明は、以下
に説明する実施の形態3のように、制御ユニットに関し
て前述した実施の形態1と2の特徴を併せ持つ構成にし
てもよい。以下に説明する実施の形態3において、前述
した実施の形態1および2と同様の構成については、同
様の番号を付してその説明を省略する。
【0102】まず、構成について説明する。図12はこ
の発明の実施の形態3による情報処理装置の構成を示す
ブロック図である。この情報処理装置は、図12に示し
たように、例えば、レジスタファイル2,実行ユニット
起動レジスタ3A,3Bおよび3C,実行ユニット4
A,4Bおよび4C,制御ユニット8,リザベーション
ステーション7,命令レジスタ9A,9Bおよび9Cに
より構成される。
【0103】この実施の形態3では、前述した実施の形
態2の制御ユニット5に替わってインデックス選択部8
2およびディスパッチ抑止部83により構成される制御
ユニット8が適用される。
【0104】続いて図13および図14を参照して制御
ユニット8について詳述する。図13は制御ユニット8
のインデックス選択部82の構成を示すブロック図であ
り、図14は制御ユニット8のディスパッチ抑止部83
の構成を示すブロック図である。
【0105】まず、図13を参照してインデックス選択
部82について説明する。インデックス選択部82は、
図13に示したように、図9(実施の形態2)のインデ
ックス選択部51に相当するインデックス選択部82
1,図3(実施の形態1)のインデックス選択部12に
相当するインデックス選択部822,AND回路823
〜82およびOR回路829により構成される。
【0106】AND回路823は、インデックス選択部
821から出力される「+SELE1 INDEX」信
号(第1エントリエリア71のインデックス番号を選択
する信号)と「+E1 INDEX」信号(第1エント
リエリア71が用いるインデックス番号)との論理積を
求める。AND回路824は、インデックス選択部82
1から出力される「+SEL E2 INDEX」信号
(第2エントリエリア72のインデックス番号を選択す
る信号)と「+E2 INDEX」信号(第2エントリ
エリア72が用いるインデックス番号)との論理積を求
める。AND回路825は、インデックス選択部821
から出力される「+SEL E3 INDEX」信号
(第3エントリエリア73のインデックス番号を選択す
る信号)と「+E3 INDEX」信号(第3エントリ
エリア73が用いるインデックス番号)との論理積を求
める。
【0107】AND回路826は、インデックス選択部
822から出力される「+SELI1 INDEX」信
号(命令レジスタ9Aのインデックス番号を選択する信
号)と「+I1 INDEX」信号(命令レジスタ9A
が用いるインデックス番号)との論理積を求める。AN
D回路827は、インデックス選択部822から出力さ
れる「+SEL I2 INDEX」信号(命令レジス
タ9Bのインデックス番号を選択する信号)と「+I2
INDEX」信号(命令レジスタ9Bが用いるインデ
ックス番号)との論理積を求める。AND回路828
は、インデックス選択部822から出力される「+SE
L I3 INDEX」信号(命令レジスタ9Cのイン
デックス番号を選択する信号)と「+I3 INDE
X」信号(命令レジスタ9Cが用いるインデックス番
号)との論理積を求める。
【0108】OR回路829は、AND回路823〜
8までの全出力の論理和に応じて最終的に選択すべき
インデックス番号を示す「+SELECTED IND
EX」信号をレジスタファイル2へ送出する。したがっ
て、OR回路829では、AND回路823〜828の
いずれか一つの有効な出力を選択すべきインデックス番
号として送出する。
【0109】ここで、この実施の形態3を実現させるた
めには、インデックス選択部821(インデックス選択
部51に相当する)と822(インデックス選択部12
に相当する)との間で優先順位を取る必要があるが、こ
れはどれかのエントリからのインデックス番号が選択さ
れたときには抑止することで可能となる。
【0110】続いて図14を参照してディスパッチ抑止
部83について説明する。図14において、「+INH
−EX1」信号は、第1命令が実行ユニット4Aに発行
されたときに、実行ユニット起動レジスタ3Aのセット
を抑止する制御信号である。第2エントリエリア72,
第3エントリエリア73のどちらかに実行可能なエント
リが存在して(「+E2 READY」信号が“1”
(有効)の場合、「+E3 READY」信号が“1”
(有効)の場合)、第1エントリエリア71に実行可能
な命令が無い場合には(「+E1 READY」信号が
“0”(無効)の場合)、命令レジスタ1からの第1命
令が実行ユニット4Aへディスパッチされる。ところ
が、第1命令がインデックス番号を使用して、「+SE
LECTEDlNDEX」信号と第1命令のインデック
ス番号とが等しくない場合には、「+INH EX1」
信号により実行ユニット起動レジスタ3Aへのセットを
抑止する。
【0111】「+INH EX2」信号は、「+INH
EX2 A」信号と「INH EX2 B」信号との
論理和により求められる。「+INH EX2」信号は
「+INH EX1 B」信号と同様に命令レジスタ9
Bからのディスパッチを抑止する制御信号である。「+
INH EX2 A」信号は第1エントリエリア71が
実行されるときに第2エントリエリア72からの実行ユ
ニット4Bへのディスパッチが可能かどうかが調べら
れ、ディスパッチできない場合には実行ユニット起動レ
ジスタ3Bへのセットを抑止する制御信号である。
【0112】「+INH EX3」信号は、「+INH
EX3 A」信号と「+INHEX3 B」信号との
論理和により求められる。「+INH EX3 B」信
号は「+INH EX1」信号と同様に命令レジスタ9
Cからのディスパッチを抑止する制御信号である。「+
INH EX3 A」信号は第1エントリエリア71あ
るいは第2エントリエリア72が実行されるときに第3
エントリエリア73からの実行ユニット4Cへのディス
パッチが可能かどうかが調べられ、ディスパッチできな
い場合には実行ユニット起動レジスタ3Cへのセットを
抑止する制御信号である。
【0113】「+SEL INDEX EQ I1 I
NDEX」信号は、選択されたインデックス番号が命令
レジスタ9Aのインデックス番号と等しい場合に“1”
となる信号である。「SEL INDEX EQ E
2 INDEX」信号は、選択されたインデックス番号
が第2エントリエリア72のインデックス番号と等しい
場合に“1”となる信号である。
【0114】「+SEL INDEX EQ I2 I
NDEX」信号は、選択されたインデックス番号が命令
レジスタ9Bのインデックス番号と等しい場合に“1”
となる信号である。「+SEL INDEX EQ I
3 INDEX」信号は、選択されたインデックス番号
が命令レジスタ9Cのインデックス番号と等しい場合に
“1”となる信号である。「SEL INDEX E
Q E3 INDEX」信号は、選択されたインデック
ス番号が第エントリエリア73のインデックス番号と
等しい場合に“1”となる信号である。
【0115】ディスパッチ抑止部83は、図14に示し
たように、OR回路831,833,835,836,
841および844,NOR回路832,834および
837,NAND回路838,840および843,A
ND回路839および842により構成される。
【0116】OR回路831は、「+E2 READ
Y」信号と「+E3 READY」信号との論理和を求
め、その演算結果をNAND回路838に出力する。N
OR回路832は、「+I1 INDEX EQ 0」
信号と「+SEL INDEXEQ I1 INDE
X」信号との論理和を反転してその反転信号をNAND
回路838に出力する。
【0117】OR回路833は、「+E1 READ
Y」信号と「+E3 READY」信号との論理和を求
め、その演算結果をNAND回路840に出力する。N
OR回路834は、「+I2 INDEX EQ 0」
信号と「+SEL INDEXEQ I2 INDE
X」信号との論理和を反転してその反転信号をNAND
回路840に出力する。
【0118】OR回路835は、「+E1 READ
Y」信号と「+E2 READY」信号との論理和を求
め、その演算結果をNAND回路842に出力する。
R回路83は、「+E1 READY」信号と「+E
2 READY」信号との論理和を求め、その演算結果
をNAND回路843に出力する。NOR回路837
は、「+I3 INDEX EQ 0」信号と「+SE
L INDEX EQ I3 INDEX」信号との論
理和を反転してその反転信号をNAND回路843に出
力する。
【0119】NAND回路838は、「+E1 REA
DY」信号の反転信号、OR回路831の出力信号、
「+I1 USE INDEX」信号およびNOR回路
832の出力信号の論理に応じて「+INH EX
1」信号を実行ユニット起動レジスタ3Aへ送出する。
【0120】AND回路839は、「+E1 READ
Y」信号、「+E2 READY」信号、「+E2 U
SE INDEX」信号および「−SEL INDEX
EQ E2 INDEX」信号の論理積に応じて「+
INH EX2 A」信号をOR回路841に出力す
る。
【0121】NAND回路840は、OR回路833の
出力信号、「+E2 READY」信号の反転信号、
「+I2 USE IX」信号およびNOR回路834
の出力信号の論理積に応じて「+INH EX2 B」
信号をOR回路841に出力する。
【0122】OR回路841は、AND回路839の出
力すなわち「+INH EX2 A」信号とNAND回
路840の出力すなわち「+INH EX2 B」信号
との論理和に応じて最終的に実行ユニット起動レジスタ
3Bのセットを抑止する制御信号すなわち「+INH
EX2」信号を発行する。
【0123】AND回路842は、OR回路835の出
力信号、「+E3 READY」信号、「+E3 US
E INDEX」信号および「−SEL INDEX
EQE3 INDEX」信号の論理積に応じて「+IN
H EX3 A」信号をOR回路844に出力する。
【0124】NAND回路843は、OR回路836の
出力信号、「+E3 READY」信号の反転信号、
「+I3 USE INDEX」信号およびNOR回路
837の出力信号の論理積に応じて「+INH EX3
B」信号をOR回路844に出力する。
【0125】OR回路844は、AND回路842の出
力すなわち「+INH EX3 A」信号とNAND回
路843の出力すなわち「+INH EX3 B」信号
との論理和に応じて最終的に実行ユニット起動レジスタ
3Cのセットを抑止する制御信号すなわち「+INH
EX3」信号を発行する。
【0126】つぎに、図15を参照して前述の実施の形
態2と相違する動作について説明する。図15は実施の
形態3によるデータの流れを説明する図である。図15
の例では、最初の命令解読サイクルでは、第1命令と第
2命令とがインデックス番号を使用し、かつ両命令のイ
ンデックス番号が異なる。このとき、第3命令はインデ
ックス番号を使用しない。
【0127】次サイクルでは、第1命令が実行ユニット
4Aで実行され、第3命令が実行ユニット4Cで実行さ
れ、第2命令がリザベーションステーション7の第2エ
ントリエリア72に格納される。同一サイクルで、後続
の命令列が解読サイクルに入る。ここで、第4命令はイ
ンデックス番号を使用し、そのインデックス番号は第2
エントリエリア72のインデックス番号と等しくなる。
第5命令は第2エントリエリア72が実行可能であるた
め、実行ユニット4Bに発行できなくなる。第3命令は
インデックス番号を使用して、そのインデックス番号は
第2エントリエリア72のインデックス番号と異なる。
【0128】次サイクルでは、第4命令が実行ユニット
4Aで実行され、第2エントリエリア72中の第2命令
が実行ユニット4Bで実行され、第5命令,第6命令が
それぞれ第2エントリエリア72,第3エントリエリア
73に格納される。
【0129】以上説明したように、この実施の形態3に
よれば、前述の実施の形態1および2と共通する効果の
他に、制御ユニット8において、外部のリザベーション
ステーション7で同時処理すべき複数の命令を解読した
結果と制御ユニット8内部でその複数の命令を解読した
結果とに応じて複数の実行ユニット4A,4B,4Cの
うちでディスパッチすべき実行ユニットを選択するとと
もに、解読結果および選択結果に基づいて複数の実行ユ
ニット4A,4B,4Cのいずれかのディスパッチを抑
止する。これにより、複数命令を同時解読および実行す
ることで命令処理を高速に実行することが可能、かつそ
の高速化をレジスタを読み出すデータパスの大幅な増設
なしに必要最小限のハードウェア量で実現すること可能
である。
【0130】さて、上述した実施の形態1〜3では、3
つの命令を同時処理する場合を例に挙げていたが、この
発明は、これに限定されるものではなく、2つの命令、
もしくは4つ以上の命令を同時処理する場合にも適用可
能である。
【0131】以上、この発明を実施の形態1〜3により
説明したが、この発明の主旨の範囲内で種々の変形が可
能であり、これらをこの発明の範囲から排除するもので
はない。
【0132】
【発明の効果】以上説明したように、請求項1の発明に
よれば、制御ユニットにおいて、同時処理すべき複数の
命令を解読し、その解読結果によりオペランドのアドレ
ス生成に使用するレジスタを選択し、同時処理すべき複
数の命令について、選択したレジスタと互いに同一のレ
ジスタをオペランドのアドレス生成に用いる特定オペラ
ンド使用命令であるか否かを判定し、特定オペランド使
用命令であると判定した場合に、選択したレジスタ内容
をレジスタファイルの出力ポートから読み出してオペラ
ンドのアドレスを生成し、複数の命令実行手段が特定オ
ペランド使用命令をそれぞれ同時処理するようにしたの
で、オペランドのアドレス生成に使用するレジスタの内
容をレジスタファイルから読み出すデータパスが一つし
かない場合にも、特定オペランド使用命令については全
てオペランドアドレスを生成して同時実行することがで
き、同時処理すべき複数の命令の同時実行が抑止される
頻度を減らすことができるという効果を奏する。
【0133】また、請求項2の発明によれば、同時処理
を行う複数の命令が特定オペランド使用命令であるか否
かの判定結果を記憶し、記憶した判定結果に基づいて特
定オペランド使用命令をそれぞれ同時に処理するように
したので、特定オペランド使用命令だけを同時に処理す
るように制御することができるという効果を奏する。
【0134】また、請求項3の発明によれば、オペラン
ドのアドレス生成としてインデックスレジスタとベース
レジスタとディスプレースメントを使用し、同時処理を
行う複数の命令がそれぞれオペランドのアドレス生成に
用いるインデックスレジスタの中から、レジスタファイ
ルのポートからデータを出力するインデックスレジスタ
を選択し、同時処理を行う複数の命令のそれぞれについ
て、選択したインデックスレジスタと同一のインデック
スレジスタをオペランドのアドレス生成に用いる特定オ
ペランド使用命令であるか否かを判定するようにしたの
で、インデックスレジスタの内容をレジスタファイルか
ら読み出すデータパスが一つしかない場合にも、特定オ
ペランド使用命令については全てオペランドアドレスを
生成して同時実行することができ、同時処理すべき複数
の命令の同時実行が抑止される頻度を減らすことができ
るという効果を奏する。
【0135】また、請求項4の発明によれば、実行する
命令がインデックスレジスタを使用しない命令の場合に
は、選択したインデックスレジスタに関わらず命令実行
手段が命令を実行するようにしたので、同時処理すべき
複数の命令の同時実行が抑止される頻度をさらに減らす
ことができるという効果を奏する。
【0136】また、請求項5の発明によれば、同時処理
を行う複数の命令のうち、選択したレジスタとは異なる
レジスタをオペランドのアドレス生成に用いるために実
行を抑止された命令をそれぞれの命令実行手段に対応さ
せて保持し、保持した命令を命令実行手段が優先的に実
行するようにしたので、同時処理すべき命令のうち実行
が抑止された命令の実行の遅れを最小限にすることがで
きるという効果を奏する。
【0137】
【図面の簡単な説明】
【図1】この発明の実施の形態1による情報処理装置の
構成を示すブロック図である。
【図2】図1に示した制御ユニットのデコーダ部の構成
を示す回路図である。
【図3】図1に示した制御ユニットインデックス選択部
の構成を示す回路図である。
【図4】図1に示した制御ユニットのディスパッチ抑止
部の構成を示す回路図である。
【図5】実施の形態1において第2命令が実行ユニット
へ割り当てられる条件を表形式で説明する図である。
【図6】実施の形態1において第3命令が実行ユニット
へ割り当てられる条件を表形式で説明する図である。
【図7】この発明の実施の形態2による情報処理装置の
構成を示すブロック図である。
【図8】この発明の実施の形態2によるエントリ内容の
一例を示す図である。
【図9】図7に示した制御ユニットのインデックス選択
部の構成を示すブロック図である。
【図10】図7に示した制御ユニットのディスパッチ抑
止部の構成を示すブロック図である。
【図11】実施の形態2によるデータの流れを説明する
図である。
【図12】この発明の実施の形態3による情報処理装置
の構成を示すブロック図である。
【図13】図12に示した制御ユニットのインデックス
選択部の構成を示すブロック図である。
【図14】図12に示した制御ユニットのディスパッチ
抑止部の構成を示すブロック図である。
【図15】実施の形態3によるデータの流れを説明する
図である。
【図16】従来例による情報処理装置の原理を説明する
模式図である。
【図17】従来例による情報処理装置を具体的に示すブ
ロック図である。
【符号の説明】
1,5,8 制御ユニット 2 レジスタファイル 3A,3B,3C 実行ユニット起動レジスタ 4A,4B,4C 実行ユニット 7 リザベーションステーション 9A,9B,9C 命令レジスタ 11,81 デコーダ部 12,51,82 インデックス選択部 13,52,83 ディスパッチ抑止部 71 第1エントリエリア 72 第2エントリエリア 73 第3エントリエリア
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平6−161753(JP,A) 特開 平7−93152(JP,A) 特開 昭63−12029(JP,A) 特開 平3−245223(JP,A) 特開 昭63−197233(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/38

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 同時処理すべき複数の命令に従って動作
    する複数の命令実行手段と、 前記複数の命令に従って前記各命令実行手段の動作を制
    御する制御ユニットと、 複数の出力ポートを有し、該出力ポートを用いて前記制
    御ユニットに指示されたレジスタの内容を出力するレジ
    スタファイルと、 を有し、 前記制御ユニットは、 前記各命令実行手段に対する命令をデコードするデコー
    ド手段と、 前記デコード手段のデコード結果によりオペランドのア
    ドレス生成に使用するレジスタを選択するアドレス生成
    レジスタ選択手段と、 前記同時処理すべき複数の命令が前記アドレス生成レジ
    スタ選択手段により選択されたレジスタと互いに同一の
    レジスタをオペランドのアドレス生成に用いる特定オペ
    ランド使用命令であるか否かを判定する特定オペランド
    使用命令判定手段とを備え、 前記特定オペランド使用命令判定手段により前記特定オ
    ペランド使用命令であると判定された場合に、前記アド
    レス生成レジスタ選択手段により前記レジスタファイル
    の出力ポートからレジスタ内容を読み出してオペランド
    のアドレスを生成し、前記複数の命令実行手段が前記特
    定オペランド使用命令をそれぞれ同時処理することを特
    徴とする情報処理装置。
  2. 【請求項2】 前記同時処理を行う複数の命令が前記特
    定オペランド使用命令であるか否かを記憶する特定オペ
    ランド使用命令情報記憶手段とをさらに備え、 前記特定オペランド使用命令判定手段は、前記特定オペ
    ランド使用命令であるか否かの判定結果を前記特定オペ
    ランド使用命令情報記憶手段に書き込み、 前記複数の命令実行手段は、前記特定オペランド使用命
    令情報記憶手段により記憶された判定結果に基づいて前
    記特定オペランド使用命令をそれぞれ同時に処理するこ
    とを特徴とする請求項1に記載の情報処理装置。
  3. 【請求項3】 前記オペランドのアドレス生成としてイ
    ンデックスレジスタとベースレジスタとディスプレース
    メントを使用し、 前記アドレス生成レジスタ選択手段は、前記同時処理を
    行う複数の命令がそれぞれオペランドのアドレス生成に
    用いるインデックスレジスタの中から、前記レジスタフ
    ァイルのポートからデータを出力するインデックスレジ
    スタを選択し、 前記特定オペランド使用命令判定手段は、前記同時処理
    を行う複数の命令のそれぞれが前記アドレス生成レジス
    タ選択手段により選択されたインデックスレジスタと同
    一のインデックスレジスタをオペランドのアドレス生成
    に用いる特定オペランド使用命令であるか否かを判定す
    ることを特徴とする請求項1または2に記載の情報処理
    装置。
  4. 【請求項4】 前記複数の命令実行手段は、それぞれ実
    行する命令がインデックスレジスタを使用しない命令の
    場合には、前記アドレス生成レジスタ選択手段が選択す
    るインデックスレジスタに関わらず該命令を実行するこ
    とを特徴とする請求項3に記載の情報処理装置。
  5. 【請求項5】 前記同時処理を行う複数の命令のうち前
    記アドレス生成ジスタ選択手段により選択されたレジス
    タとは異なるレジスタをオペランドのアドレス生成に用
    いる場合に、実行を抑止された命令をそれぞれの命令実
    行手段に対応させて保持する命令保持手段をさらに備
    え、 前記命令実行手段は、前記命令保持手段により保持され
    た命令を優先的に実行することを特徴とする請求項1に
    記載の情報処理装置。
JP28708197A 1997-10-20 1997-10-20 情報処理装置 Expired - Fee Related JP3534987B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP28708197A JP3534987B2 (ja) 1997-10-20 1997-10-20 情報処理装置
US09/040,324 US6141746A (en) 1997-10-20 1998-03-18 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28708197A JP3534987B2 (ja) 1997-10-20 1997-10-20 情報処理装置

Publications (2)

Publication Number Publication Date
JPH11119998A JPH11119998A (ja) 1999-04-30
JP3534987B2 true JP3534987B2 (ja) 2004-06-07

Family

ID=17712815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28708197A Expired - Fee Related JP3534987B2 (ja) 1997-10-20 1997-10-20 情報処理装置

Country Status (2)

Country Link
US (1) US6141746A (ja)
JP (1) JP3534987B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7139898B1 (en) 2000-11-03 2006-11-21 Mips Technologies, Inc. Fetch and dispatch disassociation apparatus for multistreaming processors
US7035998B1 (en) * 2000-11-03 2006-04-25 Mips Technologies, Inc. Clustering stream and/or instruction queues for multi-streaming processors
JP3769249B2 (ja) 2002-06-27 2006-04-19 富士通株式会社 命令処理装置および命令処理方法
JP3816844B2 (ja) 2002-07-05 2006-08-30 富士通株式会社 プロセッサ及び命令制御方法
US20060229638A1 (en) * 2005-03-29 2006-10-12 Abrams Robert M Articulating retrieval device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61283930A (ja) * 1985-06-10 1986-12-13 Nec Corp 情報処理装置
JPS63131230A (ja) * 1986-11-21 1988-06-03 Hitachi Ltd 情報処理装置
US5471593A (en) * 1989-12-11 1995-11-28 Branigin; Michael H. Computer processor with an efficient means of executing many instructions simultaneously
JP2553728B2 (ja) * 1990-02-23 1996-11-13 松下電器産業株式会社 演算装置
JP2878792B2 (ja) * 1990-06-22 1999-04-05 株式会社東芝 電子計算機
US5630157A (en) * 1991-06-13 1997-05-13 International Business Machines Corporation Computer organization for multiple and out-of-order execution of condition code testing and setting instructions
JP2928684B2 (ja) * 1991-10-31 1999-08-03 株式会社東芝 Vliw型演算処理装置
US5689674A (en) * 1995-10-31 1997-11-18 Intel Corporation Method and apparatus for binding instructions to dispatch ports of a reservation station
US5699537A (en) * 1995-12-22 1997-12-16 Intel Corporation Processor microarchitecture for efficient dynamic scheduling and execution of chains of dependent instructions

Also Published As

Publication number Publication date
JPH11119998A (ja) 1999-04-30
US6141746A (en) 2000-10-31

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
EP1157329B1 (en) Methods and apparatus for branch prediction using hybrid history with index sharing
US6889318B1 (en) Instruction fusion for digital signal processor
US20020169942A1 (en) VLIW processor
JPH07281896A (ja) 情報処理装置
EP1050810A1 (en) A computer system comprising multiple functional units
US5938759A (en) Processor instruction control mechanism capable of decoding register instructions and immediate instructions with simple configuration
US6055628A (en) Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks
US5367648A (en) General purpose memory access scheme using register-indirect mode
JP3534987B2 (ja) 情報処理装置
JPH0743648B2 (ja) 情報処理装置
US20020116599A1 (en) Data processing apparatus
US7134000B2 (en) Methods and apparatus for instruction alignment including current instruction pointer logic responsive to instruction length information
JP3182591B2 (ja) マイクロプロセッサ
US6789185B1 (en) Instruction control apparatus and method using micro program
US20030061468A1 (en) Forwarding the results of operations to dependent instructions quickly
EP0573071A2 (en) A microprocessor
KR100278136B1 (ko) 데이타처리장치 및 데이타처리방법
EP1050800A1 (en) A pipelined execution unit
JP2944563B2 (ja) パイプライン型情報処理装置
JPS61288230A (ja) パイプライン制御方式
US20050033939A1 (en) Address generation
JP2002132500A (ja) アドレス生成インターロック検出方法およびシステム
EP0862112A2 (en) Data processing system having an instruction pipeline
CN113703841A (zh) 一种寄存器数据读取的优化方法、装置及介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040309

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040310

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080319

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090319

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100319

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100319

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110319

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110319

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees