JP2000181705A - 命令制御装置 - Google Patents
命令制御装置Info
- Publication number
- JP2000181705A JP2000181705A JP10358985A JP35898598A JP2000181705A JP 2000181705 A JP2000181705 A JP 2000181705A JP 10358985 A JP10358985 A JP 10358985A JP 35898598 A JP35898598 A JP 35898598A JP 2000181705 A JP2000181705 A JP 2000181705A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- issuance
- register
- issued
- source 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.)
- Granted
Links
Landscapes
- Advance Control (AREA)
Abstract
テーションを有する情報処理装置において、異なった演
算サイクル数で演算を行う演算器群が入力レジスタと出
力レジスタを共用しながら並行に動作することを可能と
した命令制御装置を提供する。 【解決手段】 複数個の解読済命令を格納するリザベー
ションステーションを有する情報処理装置の命令制御装
置は、ソースオペランドが使用可能であることを示すテ
ーブルと、入力レジスタと出力レジスタとを共用し異な
った演算サイクル数で動作する演算器群と、を有し、前
記リザベーションステーションからの命令発行がソース
オペランド使用可能を示した時点で行われるとともに、
前記ソースオペランド使用可能表示を各演算器群の異な
ったタイミングで有効化することによって各演算器上の
演算を並行して行なう。
Description
し、特にリザベーションステーションを有する情報処理
装置において、異なった演算サイクル数で演算を行う演
算器群が入力レジスタと出力レジスタを共用しながら並
行に動作することを可能とする命令制御装置に関するも
のである。
外れた命令実行を可能とする情報処理装置においては、
命令の解読サイクルの後にリザベーションステーション
と呼ばれる解読済命令格納手段に解読済命令を格納し、
ソースオペランドが使用可能となった命令が解読順序に
関係なく選ばれてリザベーションステーションから演算
器に命令が発行される。
rder) とは、プログラムにより指示された命令順序とは
異なった順序で、入力データがそろった命令から随時実
行する処理をいう。命令の実行は任意の順序であるが、
プログラムからアクセス可能な資源、すなわち記憶域、
レジスタ内容等はプログラム順序で更新参照されたよう
に命令は実行される。
イプライン処理例を示したものである。図1の(a)
は、リザベーションステーションを介した基本的なパイ
プライン処理の一例を示したものであり、ここでDサイ
クルは命令デコードサイクル、Pサイクルはリザベーシ
ョンステーション上で発行すべき命令が選択されるサイ
クル、Bサイクルはソースオペランド読み出しサイク
ル、Xサイクルは演算実行サイクル、そしてUサイクル
はレジスタ更新サイクルである。
ルで命令1の更新すべきレジスタ番号に相当するソース
オペランド使用可能表示が有効化され、ただちに次のB
サイクルでそのレジスタをソースオペランドとして使用
する命令2が発行される。命令1の演算結果は図1の
(a)に点線で示すように命令2へフォワーディングさ
れ、命令1及び命令2が順次パイプライン処理される。
が異なった演算処理の一例を示したものである。図1の
(b)に示すように、浮動小数点の乗算には4つの演算
実行サイクル(X1〜X4)が必要である。一方、浮動
小数点の加算には2つの演算実行サイクル(X1及びX
2)が必要である。このように演算実行サイクル数が異
なる演算をパイプライン処理する場合には、従来におい
て以下に示す処理を行っていた。
ンド使用可能表示を有効化することを前提に、先行する
命令が演算サイクルが長い命令、例えば浮動小数点乗算
のような命令、を実行する場合には、後続命令の演算開
始を一括して抑止し、その演算結果を後の所定のタイミ
ングで後続の命令にフォワーディングする処理をおこな
っていた。図1の(b)の例では、先行する乗算命令の
演算が終了する4番目の演算実行サイクルX4で、その
演算結果が後続の加算命令にフォワーディングされる。
プライン処理においては乗算命令後の命令発行が一律に
遅延するという問題が存在し、それは例えば科学計算の
ように乗算と加算が頻繁に繰り返される積和演算等の演
算効率を大きく低下させる要因になっていた。
能とする情報処理においては、各命令間でレジスタ干渉
が存在する場合は別として、レジスタ干渉が存在しない
場合には図1の(b’)に示すようにそれぞれ独立に命
令が実行されるべきである。また、CPU内部の乗算器
や加算器はそれぞれ別箇のハードウェアとして備えられ
ており、それぞれ並列動作が可能である。
み、入出力レジスタを共用し、且つ演算に必要なサイク
ル数が異なった演算処理を順次実行する際に、各演算を
適切なタイミングで並列実行させることで演算遅延を低
減し、高速なパイプライン処理を可能とする命令制御装
置を提供することにある。
オペランドが使用可能であることを示すテーブルと、入
力レジスタと出力レジスタとを共用し異なった演算サイ
クル数で動作する演算器群と、を有し、複数個の解読済
命令を格納するリザベーションステーションからの命令
発行がソースオペランド使用可能を示した時点で行われ
るとともに、前記ソースオペランド使用可能表示を各演
算器群の異なったタイミングで有効化することによって
各演算器上の演算が並行して行われる命令制御装置を提
供することにある。
に対応した命令の発行を抑止する手段を設け、前記命令
の発行を抑止する手段により共用する出力レジスタ使用
の際の調停を行うことで、各演算器上の演算を並行して
行う。また、前記各演算器群毎に前記ソースオペランド
使用可能の指示及び出力レジスタ使用の際の調停を行う
ことにより、異なったタイミングで後続命令への実行結
果のフォワーディングを各演算器群に対して行う。
置の基本構成例を示したものである。図2において、命
令レジスタ(IWR)11は、図示しない命令キャッシ
ュから命令をフェッチし、その解読済命令がリザベーシ
ョンステーション(RES)12に格納される。リザベ
ーションステーション12の各エントリー上の命令は、
ソースオペランドが使用可能となったものから順次命令
発行制御部13により選択され、演算器14へ発行され
る。
演算パイプライン制御部15にも送られる。演算パイプ
ライン制御部15では、前記発行命令から後続命令のた
めのソースオペランド使用可能表示更新制御信号(WE
1、WA1、WE2、WA2)と命令発行抑止信号(I
NH1、INH2)とを生成し、それを命令発行制御部
13に返送する。命令発行制御部13では前記ソースオ
ペランド使用可能表示更新制御信号及び命令発行抑止信
号を使って、前記後続命令の発行タイミングを先行命令
の種別に基づき適宜制御する。以下、本発明を実現する
各構成要素について詳述する。
ン12の一構成例を示したものである。図3において、
リザベーションステーション12の各エントリー(RS
E0、RSE1、...)には命令レジスタ11で解読
された命令が逐次格納される。各エントリーで、OPC
ODEは演算の種類を示すコード部であり、R1及びR
2はソースレジスタ番号を、そしてR3は書き込みレジ
スタ番号を示している。
成例を示したものである。図4に示すように、命令発行
制御部13は、ソースオペランド使用可能表示部21、
命令発行抑止制御部22、及び命令発行部23を含む。
前記リザベーションステーション12上のあるエントリ
ーから発行されたソースレジスタ番号R1,R2はソー
スオペランド使用可能表示部21に、そしてそのOPC
ODEは命令発行抑止制御部22にそれぞれ与えられ
る。
は、その内部に備えたソースオペランド使用可能表示テ
ーブルを参照して与えられたソースレジスタ番号R1の
使用可/不可信号24及びソースレジスタ番号R2の使
用可/不可信号25を出力する。また、命令発行抑止制
御部22では与えられたOPCODEの発行可/抑止を
指示する信号26を出力する。命令発行部23は、ソー
スレジスタR1,R2が使用可能で且つOPCODEが
発行可能の時、すなわち前記各信号24〜26の論理積
によってその命令が発行可能であることを示す信号27
を出力する。
算パイプライン制御部15から与えられる信号によって
制御される。演算パイプライン制御部15は発行された
命令を基に更新レジスタアドレス(WA1、WA2)を
含むその更新タイミング信号(WE1、WE2)を生成
し、それによって命令発行制御部13ではソースオペラ
ンド使用可能表示部21の前記ソースオペランド使用可
能表示テーブルが更新される。同様に、演算パイプライ
ン制御部15は先行する発行命令を基に命令に依存する
命令発行抑止信号(INH1、INH2)を生成し、そ
れによって命令発行抑止制御部22は後続命令の発行抑
止タイミングを制御する。
御フローの一例を示したものである。図5のステップS
101では、リザベーションステーション12に格納さ
れた解読済命令のうちソースレジスタが使用可能な命令
が発行対象として選択される。次に、選択された命令が
浮動小数点加算命令か否かが判断され(S102)、浮
動小数点加算命令の場合には加算の発行を抑止する命令
発行抑止信号INH1の有無が判断される(S10
3)。
るまでその命令の発行が抑止され、INH1=0となっ
た時点で命令が発行される。また、その発行された浮動
小数点加算命令のBサイクルでオペランド使用可能表示
テーブルが更新される(S104)。INH1=0の場
合には、従来どおり発行された先行命令のPサイクルの
後直ちに後続の浮動小数点加算命令が発行される。
合には、乗算の発行を抑止する命令発行抑止信号INH
2の有無が判断される(S105及び106)。INH
2=1の場合にはINH2=0となるまで命令が抑止さ
れ、INH2=0となった時点で命令が発行される。ま
た、その発行された浮動小数点乗算命令のX2サイクル
でオペランド使用可能表示テーブルが更新される(S1
07)。INH2=0の場合には、従来どおり前記発行
命令のPサイクルの後直ちに後続の浮動小数点乗算命令
が発行される。
浮動小数点乗算命令以外の命令(1サイクル演算命令)
の場合には、前記INH1=0且つINH2=0の時
に、従来どおり先行命令のPサイクルの後直ちに後続命
令が発行される。また、その発行命令のPサイクルでオ
ペランド使用可能表示テーブルが更新される(S108
及び109)。INH1=1又はINH2=1の時には
INH1=0且つINH2=0となるまで後続の命令発
行が抑止される(S108)。
制御部15の一構成例を示したものである。図6におい
て、命令発行制御部13で発行されたOPCODEは、
その命令の各命令サイクル(P、B、X1、X
2、...)毎に対応するレジスタ31〜35へ順次シ
フトされる。そして各レジスタ31〜35毎に設けられ
たOPECODEのデコーダにより発行命令の種別に対
応してその更新タイミング信号(WE1、WE2)及び
命令発行抑止信号(INH1、INH2)が生成され
る。また、図示しない書き込みレジスタ番号R3も同様
にシフトレジスタに保持され、更新レジスタアドレス
(WA1、WA2)が適宜生成される。
ではP_OPCODEレジスタ31に入力されたは発行
命令(OPCODE)がPデコーダ36で解読され、命
令が1サイクル演算命令の時には更新タイミング信号W
E1が出力される(図5のS109)。次にBサイクル
では、前記P_OPCODEレジスタ31からB_OP
CODEレジスタ32へシフトされたは発行命令がBデ
コーダ36で解読され、命令が浮動少数点加算命令の時
には更新タイミング信号WE1が出力され(図5のS1
04)、又は浮動少数点乗算命令の時には命令発行抑止
信号INH2が出力される。
デコード動作も上記と同様であり、X1サイクルではX
1デコーダ38により浮動少数点乗算命令の時に命令発
行抑止信号INH1及びINH2が出力される。また、
X2サイクルではX2デコーダ39により浮動少数点乗
算命令の時に更新タイミング信号WE1が出力される
(図5のS107)。
する命令発行の抑止タイミングを生成することで共用す
る出力レジスタ使用の際の調停が行われ、同時並列に各
演算器による演算が可能となる。また、各演算に対応す
る演算器群毎にソースオペランド使用可能の指示と出力
レジスタ使用の際の抑止タイミングとを組み合わせるこ
とにより、演算実行結果を異なったタイミングで後続命
令へ適宜フォワーディングすることが可能となる。
動小数点乗算命令に続く後続命令の動作タイムチャート
例を示している。図8の(a)には、図6及び7で説明
した演算パイプライン制御部15に浮動少数点乗算命令
が入力されそれが各レジスタでデコードされ、B及びX
1サイクルで乗算の発行を抑止するINH2を出力し、
またX1サイクルで加算の発行を抑止するINH1を出
力し、さらにX2サイクルでソースオペランド使用可能
表示の更新タイミング及びアドレス信号WE1、WA1
を出力する場合を示している。
点乗算命令と後続の浮動少数点加算命令とが相互にレジ
スタ干渉を有しない場合の動作の一例を示している。従
来は一律に後続命令の処理が遅延させられていたのに対
し、本例ではレジスタ干渉がない時に後続の加算命令は
乗算のPサイクル後のBサイクルで直ちに発行可能とな
る。
とレジスタ干渉を有する後続の加算命令の動作例を示し
たものである。この場合には先行する乗算命令によりオ
ペランド使用可能表示テーブルが更新されるX2サイク
ル後のX3サイクルで命令発行が可能となる。従って、
この場合は従来一律に更新を遅延させていた場合と同様
となる( 図1の(b)参照)。
命令の後続命令も浮動少数点乗算命令の場合を示してい
る。この場合、INH2=0となった後のX2サイクル
で直ちに命令が発行される。これは乗算器の資源が互い
にオーバラップして干渉するのを防ぐためである。従来
は一律にX3サイクルで命令発行が成されていたのに対
し、それよりも1命令サイクル早く適宜フォワーディン
グ処理がなされる。
命令発行制御部13が演算パイプライン制御部15から
の先行命令に関する情報(レジスタの更新情報及び遅延
処理タイミング情報)を入手し、それに基づいて後続命
令の発行タイミングを適宜制御するため、入出力レジス
タを共用し且つ演算に必要なサイクル数が異なる演算処
理間の遅延を最小化し高速にパイプライン処理すること
が可能となる。
理例を示した図である。
た図である。
た図である。
示した図である。
した図である。
した図である。
ムチャートの一例を示した図である。
Claims (7)
- 【請求項1】 ソースオペランドが使用可能であること
を示すテーブルと、 入力レジスタと出力レジスタとを共用し異なった演算サ
イクル数で動作する演算器群と、を有し、 複数個の解読済命令を格納するリザベーションステーシ
ョンからの命令発行がソースオペランド使用可能を示し
た時点で行われるとともに、前記ソースオペランド使用
可能表示を各演算器群の異なったタイミングで有効化す
ることによって各演算器上の演算が並行して行われるこ
とを特徴とする命令制御装置。 - 【請求項2】 さらに、前記演算器群の各々に対応した
命令の発行を抑止する手段を設け、前記命令の発行を抑
止する手段により共用する出力レジスタ使用の際の調停
を行うことで、各演算器上の演算を並行して行う請求項
1記載の命令制御装置。 - 【請求項3】 前記各演算器群毎に、前記ソースオペラ
ンド使用可能の指示及び出力レジスタ使用の際の調停を
行うことにより、異なったタイミングで後続命令への実
行結果のフォワーディングを各演算器群に対して行う請
求項1又は2記載の命令制御装置。 - 【請求項4】 複数個の解読済命令を格納するリザベー
ションステーションでソースオペランドが使用可能とな
った命令の演算部に対する発行制御を行う発行命令制御
部と、 前記発行命令制御部で発行された命令を解読し、前記発
行された命令の種別に応じてその後続命令に対するソー
スオペランド使用可能情報の更新タイミング信号及び発
行抑止信号を生成する演算パイプライン制御部と、を有
し、 前記発行命令制御部は、前記演算パイプライン制御部か
らの更新タイミング信号及び発行抑止信号に従って、前
記後続命令の発行を適宜制御することを特徴とする命令
制御装置。 - 【請求項5】 前記発行命令制御部は、 前記リザベーションステーションから与えられた命令の
ソースオペランド使用可能情報を表示するテーブルを有
し、それを参照して前記ソースレジスタの使用可/不可
情報を出力するソースオペランド使用可能表示部と、 前記リザベーションステーションから与えられた命令の
オペコードの発行可/抑止情報を出力する命令発行抑止
制御部と、 前記ソースオペランド使用可能表示部からソースレジス
タの使用可情報が与えられ、且つ前記命令発行抑止制御
部からオペコードの発行可情報が与えられたときに前記
演算器に命令を発行する命令発行部と、を有する請求項
4記載の命令制御装置。 - 【請求項6】 前記ソースオペランド使用可能情報は前
記更新タイミング信号によって更新され、そして前記オ
ペコードの発行可/抑止情報の出力タイミングは前記発
行抑止信号によって制御される請求項5記載の命令制御
装置。 - 【請求項7】 前記演算パイプライン制御部は、 前記発行された命令をその各命令サイクルに対応して格
納するレジスタ群と、 前記レジスタ群の各レジスタ毎に設けられ、前記発行さ
れた命令の種別に応じて前記更新タイミング信号及び/
又は発行抑止信号を適宜生成するデコーダと、を有する
請求項4記載の命令制御装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35898598A JP3560482B2 (ja) | 1998-12-17 | 1998-12-17 | 命令制御装置 |
US09/461,429 US6807624B1 (en) | 1998-12-17 | 1999-12-16 | Instruction control device and method therefor |
US10/747,291 US7313674B2 (en) | 1998-12-17 | 2003-12-30 | Instruction control device and method therefor |
US10/747,138 US7275146B2 (en) | 1998-12-17 | 2003-12-30 | Instruction control device and method therefor |
US10/747,286 US7127591B2 (en) | 1998-12-17 | 2003-12-30 | Instruction control device and method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35898598A JP3560482B2 (ja) | 1998-12-17 | 1998-12-17 | 命令制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000181705A true JP2000181705A (ja) | 2000-06-30 |
JP3560482B2 JP3560482B2 (ja) | 2004-09-02 |
Family
ID=18462145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35898598A Expired - Fee Related JP3560482B2 (ja) | 1998-12-17 | 1998-12-17 | 命令制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3560482B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011008732A (ja) * | 2009-06-29 | 2011-01-13 | Fujitsu Ltd | プライオリティ回路、演算処理装置及び演算処理方法 |
US7958339B2 (en) | 2007-06-20 | 2011-06-07 | Fujitsu Limited | Instruction execution control device and instruction execution control method |
-
1998
- 1998-12-17 JP JP35898598A patent/JP3560482B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958339B2 (en) | 2007-06-20 | 2011-06-07 | Fujitsu Limited | Instruction execution control device and instruction execution control method |
JP2011008732A (ja) * | 2009-06-29 | 2011-01-13 | Fujitsu Ltd | プライオリティ回路、演算処理装置及び演算処理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3560482B2 (ja) | 2004-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0437044B1 (en) | Data processing system with instruction tag apparatus | |
JP5491071B2 (ja) | 命令融合演算装置および命令融合演算方法 | |
KR20040016829A (ko) | 파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템 | |
WO2015114305A1 (en) | A data processing apparatus and method for executing a vector scan instruction | |
JPH02227730A (ja) | データ処理システム | |
US6055628A (en) | Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks | |
US7539847B2 (en) | Stalling processor pipeline for synchronization with coprocessor reconfigured to accommodate higher frequency operation resulting in additional number of pipeline stages | |
JPH09237184A (ja) | 命令実行方法および命令実行装置 | |
EP1499956B1 (en) | Method and apparatus for swapping the contents of address registers | |
JP2018005369A (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP3560482B2 (ja) | 命令制御装置 | |
US6170050B1 (en) | Length decoder for variable length data | |
US6981130B2 (en) | Forwarding the results of operations to dependent instructions more quickly via multiplexers working in parallel | |
JP2001117886A (ja) | プロセッサ及びプロセッサシステム | |
JP5644571B2 (ja) | プロセッサ | |
JP2924735B2 (ja) | パイプライン演算装置及びデコーダ装置 | |
JP2636192B2 (ja) | 情報処理装置 | |
JP3405106B2 (ja) | プログラマブルコントローラ | |
JP2001034603A (ja) | 積和演算処理装置 | |
JP3743155B2 (ja) | パイプライン制御型計算機 | |
JP2503966B2 (ja) | 情報処理装置 | |
JPH11203133A (ja) | 情報処理装置 | |
JP2003345589A (ja) | 情報処理装置 | |
JP2001243066A (ja) | パイプライン処理方法並びにその方法を利用するパイプライン処理装置 | |
JP2003058367A (ja) | 演算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040405 |
|
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: 20040427 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040525 |
|
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: 20090604 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100604 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110604 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120604 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120604 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130604 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140604 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |