JPH09106344A - パイプライン処理装置 - Google Patents

パイプライン処理装置

Info

Publication number
JPH09106344A
JPH09106344A JP26439695A JP26439695A JPH09106344A JP H09106344 A JPH09106344 A JP H09106344A JP 26439695 A JP26439695 A JP 26439695A JP 26439695 A JP26439695 A JP 26439695A JP H09106344 A JPH09106344 A JP H09106344A
Authority
JP
Japan
Prior art keywords
instruction
fwstp
circuit
window start
register
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.)
Pending
Application number
JP26439695A
Other languages
English (en)
Inventor
Hiromitsu Imori
弘充 位守
Kenji Matsubara
健二 松原
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP26439695A priority Critical patent/JPH09106344A/ja
Publication of JPH09106344A publication Critical patent/JPH09106344A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】 第1の命令がFWSTPSET命令で、第2
の命令がFWSTPを用いてレジスタ番号変換を行う命
令である場合に、第2の命令をペナルティーを排除して
高速に行うことを可能にする。 【解決手段】 第1の命令であるFWSTPSET命令
の中に、第2の命令がFWSTPを用いてレジスタ番号
変換を行う場合に、前記第1の命令より前に実行された
FWSTPSET命令で求めたFWSTPを使用するこ
とを指示するPビットを設ける。処理装置には、前のF
WSTPSET命令で求められたFWSTPを保持する
保持回路25と、第1の命令で求められたFWSTPを
保持する保持回路6とを備える。処理装置は、Pビット
の値により、後続の命令のレジスタ番号変換を、前のF
WSTPSET命令で求めたFWSTPを用いて行うこ
とにより、第2の命令のペナルティーを排除する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術】本発明は、パイプライン処理装置
に係り、特に、命令によってアドレス可能なレジスタ数
より多いレジスタをアクセスすることが可能なパイプラ
イン処理装置に関する。
【0002】
【従来の技術】近年、パイプライン処理装置の処理性能
は飛躍的に向上している。このパイプライン処理装置の
高い処理能力は、キャッシュメモリが有効に働くときに
のみ達成される。しかし、大規模科学技術計算を行う場
合、取り扱うデータ領域が非常に大きくデータの局所性
が少ないという性質があるため、キャッシュメモリが有
効に働かないことが多い。このような大規模科学技術計
算を行うパイプライン処理装置は、主記憶あるいは2次
キャッシュからのデータ転送のペナルティーにより、そ
の性能が大きく低下してしまう。
【0003】前述したような大規模科学技術計算を行う
場合の問題を解決することのできる従来技術として、例
えば、特開平6−176053号公報等に記載された技
術が知られている。この従来技術は、命令としてアドレ
ス可能なレジスタ数より多い物理レジスタと称するレジ
スタを設け、これらの物理レジスタを複数個のウインド
ウと呼ばれる部分に分けて使用するすることにより、主
記憶からのデータ転送による性能低下をほとんど生じさ
せないようにすることができるものである。
【0004】前述の従来技術は、命令中のレジスタ番号
から物理レジスタ番号への変換をウインドウスタートポ
インタ(以下、FWSTPという)の値を用いて行うも
のであり、FWSTPの値の設定は、ウインドウスター
トポインタセット命令(以下、FWSTPSET命令と
いう)により行われる。
【0005】以下、従来技術によるパイプライン処理装
置の構成と動作とを図面により説明する。
【0006】図4は従来技術に使用されるFWSTPS
ET命令の命令フォーマットの一例を説明する図、図5
は従来技術によるパイプライン処理装置の構成例を示す
ブロック図、図6はパイプライン処理装置に実行させる
命令列の例を示す図、図7は図6に示す命令列を実行し
た場合の動作を説明するタイミングチャートである。図
5において、1は命令キャッシュ、2、19は命令保持
回路、3は命令判別回路、4はレジスタ番号変換回路、
5はグローバルレジスタ数(gn)保持回路、6はFW
STP保持回路、7、11、12、16、28は選択回
路、8はレジスタ選択回路、9はレジスタファイル、1
0、15、17はデータ保持回路、13は演算装置、1
4はデータキャッシュ、18は制御装置、20はFWS
TP演算装置、21はウインドウ刻み幅(sp)保持回
路、22はラッチ、23はヒット判定回路、26は割り
込み状態保持回路、27は割り込み制御装置である。
【0007】図4に示すFWSTPSET命令の命令フ
ォーマット例において、該命令は、命令コードと、1ビ
ットのs/iフィールドと、7ビットのimフィールド
とにより構成される。そして、この命令は、図示フォー
マットの下に示すように、1ビットのs/iフィールド
が“1”の場合、imフィールドに示される7ビットを
直接FWSTPとして代入し、1ビットのs/iフィー
ルドが“0”の場合、FWSTPにimフィールドの値
を加えた値を、(128−gn)/spで割った剰余を
新たなFWSTPとするという命令である。
【0008】前述において、gnは各ウインドウに共通
なグローバルレジスタ本数、spはウインドウ刻み幅で
あり、128は物理レジスタ数を示している。
【0009】図4に示すFWSTPSET命令により決
定されるFWSTPを用いて命令中のレジスタ番号が物
理レジスタ番号に変換される。このレジスタ番号変換規
則を表1に示す。
【0010】
【表1】
【0011】表1において、L#は命令によってアクセ
ス可能なレジスタ数であり、命令によってアクセス可能
なレジスタ数L#がグローバルレジスタ本数gnより小
さい場合、すなわち、L#<gnの場合、物理レジスタ
番号はL#となり、gn≦L#<128−FWSTPの
場合、L#は物理レジスタ番号L#+FWSTPに変換
され、また、128−FWSTP≦L#の場合、L#は
物理レジスタ番号L#+FWSTP+gnに変換され
る。
【0012】次に、従来技術によるパイプライン処理装
置の構成例と、前述したレジスタ番号変換の動作を説明
する。前述した特開平6−176053号公報に記載の
従来技術は、前記物理レジスタファイルを浮動小数点レ
ジスタに対して適用しているが、以下の説明では、レジ
スタ番号変換の動作を理解しやすくするため、固定小数
点レジスタファイルに適用して説明する。浮動小数点レ
ジスタに対してもレジスタ番号変換の手法は同様であ
る。
【0013】図5に示す従来技術によるパイプライン処
理装置は、命令キャッシュ1から命令を取り出して、パ
イプラインにより処理を行う処理装置であり、通常、そ
の全体が1つのLSIとして構成されている。そして、
図示処理装置は、命令の読み出しを行うIFステージ
と、命令のデコードを行うDステージと、命令の演算を
行うEステージと、メモリをアクセスするAステージ
と、命令をキャンセルするNステージと、書き込みを行
うWステージの6つのステージにより構成され、命令
は、分割されてこれらのステージにより処理される。
【0014】図5において、命令キャッシュ1から読み
出された命令は、データ線100を介してDステージ命
令保持回路2に転送される。この命令は、Dステージ命
令保持回路2から命令判別回路3に送られ、ソースオペ
ランドの論理レジスタ番号が、データ線102を介して
表1により説明したレジスタ番号変換を行うレジスタ番
号変換回路4に転送される。レジスタ番号変換回路4に
は、FWSTP保持回路6のデータが選択回路7により
選択されて入力され、また、グローバルレジスタ数を示
すgn保持回路5のデータが入力される。レジスタ番号
変換回路4は、これらを用いて所望のソースオペランド
の物理レジスタ番号を決定する。決定された物理レジス
タ番号は、レジスタ選択回路8に転送され、物理レジス
タ番号に対応するデータがレジスタファイル9から読み
出される。制御線200、201により制御される選択
回路11、12は、その出力としてレジスタファイルの
データ線103,104を選択し、レジスタファイル9
から読み出されたデータをEステージデータ保持回路1
0に転送する。
【0015】前述において、例えば、命令がロード命令
であるとする。この場合、Eステージデータ保持回路1
0のデータは、Eステージ演算装置13に転送され、デ
ータキャッシュ14を検索する実効アドレスが求められ
る。実効アドレスは、Aステージデータ保持回路15に
転送され、アドレス線105を介してデータキャッシュ
14を検索する。データキャッシュ14から読み出され
たデータは、制御線203により制御される選択回路1
6の出力としてNステージデータ保持回路17に転送さ
れる。Nステージのヒット判定回路23は、キャッシュ
ヒットであることを制御線204により制御装置18に
報告する。Nステージデータ保持回路17よりレジスタ
ファイル9への書き込みは制御線202を用いて行われ
る。
【0016】次に、命令がFWSTPSET命令である
場合の動作を説明する。
【0017】この場合、Dステージの命令判別回路3で
命令がFWSTPSET命令であると判別され、データ
線102を通じてEステージ命令保持回路19にその命
令が転送される。Eステージ命令保持回路19は、これ
により、制御線205を介してEステージの命令がFW
STPSET命令であることを制御装置18に報告す
る。制御装置18は、制御線206によりDステージ命
令保持回路2のデータの更新を抑止する。また、Eステ
ージ命令保持回路19から図4により説明したimフィ
ールドの7ビットの値が、データ線106を介してFW
STP演算装置20に転送される。
【0018】FWSTP演算装置20は、選択回路7に
より選択されたFWSTP保持回路6のデータ、gn保
持回路5からのグローバルレジスタ数のデータ、及び、
sp保持回路21からのウインドウ刻み幅のデータを用
いて新たなFWSTPを計算する。計算結果である新た
なFWSTPは、制御線209により制御されるAステ
ージのラッチ22に転送される。ラッチ22へのFWS
TPのラッチにより、制御装置18は、制御線206を
介してDステージ命令保持回路2のデータの更新抑止を
解除する。そして、ラッチ22の出力は、バイパス線1
07を介して選択回路7に転送され、制御装置18は、
制御線207により選択回路7を制御して、バイパス線
107の出力を選択回路7を介してレジスタ番号変換回
路4に転送する。Dステージの命令は、バイパス線10
7の出力を用いてレジスタ番号変換を行う。
【0019】次のサイクルにおいて、制御装置18は、
制御線216により選択回路28を制御し、その出力と
してラッチ22からのデータ、すなわち、FWSTPを
選択し、制御線208の制御によりラッチの出力をFW
STP保持回路6に転送し、さらに、制御線207の制
御により選択回路7の出力としてFWSTP保持回路6
を選択する。
【0020】次に、前述した動作を行うパイプライン処
理装置に、図6に示す命令列を実行させた場合の動作の
流れを図7を参照して説明する。前述のパイプライン処
理装置が実行する命令列は、図6に示すように、FW
STPSET命令、ADD命令、FWSTPSET
命令、ADD命令による命令列であるとする。
【0021】前述した従来技術によるパイプライン処理
では、のFWSTPSET命令より以降の命令は、該
FWSTPSET命令により更新されるFWSTPを用
いてレジスタ変換を行わなければならない。しかし、前
述したようにFWSTPの更新は、Eステージの処理に
より行われるため、後続の命令であるのADD命令
は、第1の命令であるのFWSTPSET命令の実行
が終了するまで命令の処理が抑止されることになる。こ
のため、図7に示すように、のADD命令は、1サイ
クルのペナルティーを生じてしまう。FWSTPSET
命令の頻度が多い図6のような命令列の実行では、FW
STPSET命令の次の命令が常にこのペナルティーを
受けることになり、処理装置の実効性能の低下が大きく
なる。
【0022】前述した図5に示す従来技術によるパイプ
ライン処理装置において、FWSTPの更新をDステー
ジにおいて実行することができれば、このペナルティー
を生じさせずに済むことになる。しかし、パイプライン
処理装置は、その動作周波数が飛躍的に向上しており、
各パイプラインステージのサイクル時間は短くなる傾向
にある。このため、1つのパイプラインステージで命令
判別を行いその後、FWSTPの演算を行うことは、高
い動作周波数を実現する上での足枷となるといえる。
【0023】次に、図5に示すパイプライン処理装置に
おいて、割り込みが生じた場合のFWSTPに関する処
理について説明する。
【0024】図5において、制御装置18は、割り込み
が生じた場合、制御線213により割り込みが発生した
ことを割り込み制御装置27に報告する。割り込み制御
装置27は、制御線214の制御によりFWSTP保持
回路6のデータを割り込み状態保持回路26に転送す
る。割り込み処理が終了した後、割り込み制御装置27
は、制御線215により割り込み処理が終了したことを
制御装置18に報告する。制御装置18は、制御線21
6を用いて選択回路28を制御し、選択回路28の出力
として割り込み状態保持回路26の出力を選択させ、制
御線208の制御により、退避されていた割り込み状態
保持回路26内のFWSTPをFWSTP保持回路6に
書き込む。これにより、割り込み処理時のFWSTPの
退避・回復を正常に行うことができる。
【0025】
【発明が解決しようとする課題】前述した従来技術は、
FWSTPSET命令によるFWSTPの更新がEステ
ージの処理により行われるため、FWSTPSET命令
の次のFWSTPを用いてレジスタ番号変換を行う命令
が1サイクルのペナルティーを受けることになり、処理
装置の実効性能が低下するという問題点を有している。
【0026】本発明の目的は、前記従来技術の問題点を
解決し、第1の命令がFWSTPSET命令であり、第
2の命令がFWSTPを用いてレジスタ番号変換を行う
命令である場合に、第2の命令の処理をペナルティーを
排除して高速に行うことを可能にしたパイプライン処理
装置を提供することにある。
【0027】
【課題を解決するための手段】本発明によれば前記目的
は、第1の命令がFWSTPSET命令であり、第2の
命令がFWSTPを用いてレジスタ番号変換を行う命令
である場合に、第1の命令であるFWSTPSET命令
により更新されたFWSTPを次に実行すべき第2の命
令のレジスタ変換に用いるか、該FWSTPSET命令
により更新される以前に求められているFWSTPを用
いて第2の命令のレジスタ変換に用いるかを指示するビ
ットをFWSTPSET命令の中に設け、処理装置が、
このビットの値により、どちらかのFWSTPを使用し
て第2の命令のレジスタ変換を行うようにすることによ
り達成される。
【0028】具体的には、前記目的は、命令によってア
ドレス可能なレジスタ数より多い物理レジスタによるレ
ジスタファイルと、複数のビットからなるウインドウス
タートポインタを保持するレジスタと、前記ウインドウ
スタートポインタの値により命令中のレジスタ番号を物
理レジスタ番号に変換する変換回路と、前記ウインドウ
スタートポインタの値をセットするウインドウポインタ
セット命令とを有し、第1の命令と第1の次に実行する
第2の命令とを、それぞれ複数のステージに分割してパ
イプライン処理するパイプライン処理装置において、第
1の命令がウインドウスタートポインタセット命令であ
り、第2の命令がウインドウスタートポインタの値を用
いて物理レジスタ番号を決定する命令である場合に、第
2の命令のレジスタ変換に用いるウインドウスタートポ
インタとして前記第1の命令であるウインドウスタート
ポインタセット命令により更新される以前のウインドウ
スタートポインタを用いることを示す1ビットの情報を
前記ウインドウスタートセット命令に新たに設け、前記
第1の命令であるウインドウスタートポインタセット命
令により更新されるウインドウスタートポインタの値を
保持する回路と、更新される以前のウインドウスタート
ポインタの値を保持する回路とを備え、前記第1の命令
であるウインドウスタートポインタセット命令に新たに
設けた1ビットの情報の値により、前記第2の命令のレ
ジスタ変換に、前記第1の命令であるウインドウスター
トポインタセット命令により更新されたウインドウスタ
ートポインタの値を使用するか、更新される以前のウイ
ンドウスタートポインタの値を使用するかを決定して、
前記第2の命令のレジスタ変換を行うことにより達成さ
れる。
【0029】また、前記目的は、前述の構成を備えたパ
イプライン処理装置において、割り込みが生じた場合、
保持回路に保持されているFWSTPとFWSTPSE
T命令により更新されたFWSTPの両方を割り込み状
態保持回路に退避するようにすることにより達成され
る。
【0030】前述した第1の命令であるFWSTPSE
T命令に設けられた1ビットの情報が“1”の場合、こ
のFWSTPSET命令により更新される以前のFWS
TPを保持する保持回路の出力を用いて第2の命令のレ
ジスタ変換を行い、1ビットの情報が“0”の場合、第
1の命令であるFWSTPSET命令により更新された
FWSTPを保持する保持回路の出力を用いて第2の命
令のレジスタ変換を行う。
【0031】本発明により、第1の命令であるFWST
PSET命令により決定されるFWSTPを用いず、第
2の命令のレジスタ変換を行うことができるため、後続
命令をペナルティーなしで実行することができる。ま
た、第1の命令であるFWSTPSET命令の演算結果
を第2の命令のレジスタ変換に反映させることもできる
ので、従来技術によるオブジェクトコードを再コンパイ
ルする必要なしにそれらを実行することができ、命令セ
ットアーキテクチャの上位互換性を保つことができる。
さらに、2つのFWSTPを格納しておくことにより、
割り込み処理からの回復を正常に行うことができる。
【0032】
【発明の実施の形態】以下、本発明によるパイプライン
処理装置の一実施形態を図面により詳細に説明する。
【0033】図1は本発明の一実施形態に使用されるF
WSTPSET命令の命令フォーマットの一例を説明す
る図、図2は本発明の一実施形態によるパイプライン処
理装置の構成例を示すブロック図、図3は図2に示す装
置に図6に示す命令列を実行させた場合の動作を説明す
るタイミングチャートである。図1において、25はF
WSTP保持回路、29は選択回路であり、他の符号は
図5の場合と同一である。
【0034】図1に示す本発明の実施形態に使用するF
WSTPSET命令の命令フォーマットは、図4により
説明した従来技術の命令に新たにPビットを追加して構
成される。Pビットは、そのFWSTPSET命令によ
り更新されるFWSTPより以前のFWSTPを用いる
ことを示す1ビットの情報であり、Pビットが“1”の
とき、以前のFWSTPを用い、“0”のとき、そのF
WSTPSET命令により更新されるFWSTPを用い
ることを指示する。
【0035】そして、この命令は、図示フォーマットの
下に示すように、以下に説明するような機能を実行す
る。
【0036】Pビットが“0”で、かつ、1ビットのs
/iフィールドが“1”の場合、imフィールドに示さ
れる7ビットをそのFWSTPSET命令により更新し
たFWSTP[1]として代入し、Pビットが“0”
で、1ビットのs/iフィールドが“0”の場合、FW
STP[1]にimフィールドの値を加えた値を、(1
28−gn)/spで割った剰余を新たなFWSTP
[1]とする。
【0037】また、Pビットが“1”の場合、1つ前の
FWSTPSET命令で求めたFWSTP[0]を新た
にFWSTP[1]にまず代入し、s/iフィールドが
“1”の場合、FWSTP[0]に命令フォーマット中
のimフィールドに示される値を直接代入する。そし
て、s/iフィールドが“0”の場合、FWSTP
[1]にimフィールドに示される値を加えた値を(1
28−gn)/spで割った剰余を新たなFWSTP
[0]とする。
【0038】前述したように本発明の実施形態では、F
WSTPとして、そのFWSTPSET命令により更新
したFWSTP[0]と、1つ前のFWSTPSET命
令で求めたFWSTP[1]とを使用する。このため、
本発明の一実施形態によるパイプライン処理装置は、図
2に示すように、FWSTP保持回路として、FWST
P[0]保持回路6とFWSTP[1]保持回路25と
の2つの保持回路が設けられて構成される。
【0039】次に、図2に示す本発明の一実施形態によ
るパイプライン処理装置に、図7により説明した命令列
を実行させたときの動作を説明する。
【0040】図2において、第1の命令であるFWST
PSET命令が命令キャッシュ1より読み出されると、
このFWSTPSET命令は、Dステージ命令保持回路
2を経由して命令判別回路3に転送される。命令判別回
路3は、Dステージの命令が該FWSTPSET命令で
あることを判別すると、その後、データ線110を介し
て図1により説明したFWSTPSET命令のPビット
をPビット検出回路24に転送する。また、命令判別回
路3は、同時に、制御線210により命令がFWSTP
SET命令であることをPビット検出回路24に転送す
る。
【0041】Pビット検出回路24は、Pビットが
“1”であることを検出すると、命令がFWSTPSE
T命令であり、かつ、その命令のPビットが“1”であ
ることを制御線211を介して制御装置18に報告す
る。制御装置18は、これにより、制御線217により
選択回路29を制御し、その出力としてFWSTP
[0]保持回路6を選択させ、その内容を、制御線21
2によりFWSTP[1]保持回路25に転送する。ま
た、制御装置18は、制御線207により選択回路7を
制御し、その出力としてFWSTP[1]保持回路25
を選択させる。
【0042】命令保持回路3よりデータ線102を通じ
てEステージ命令保持回路19に命令が転送されると、
Eステージ命令保持回路19は、制御線205を介して
Eステージの命令がFWSTPSET命令であることを
制御装置18に報告する。
【0043】図2に示すパイプライン処理装置における
制御装置18は、前述のように、FWSTPSET命令
のPビットが“1”である場合、Dステージ命令保持回
路2のデータの更新を抑止しない。従って、Dステージ
の命令は、パイプラインを乱すことなく実行される。ま
た、Eステージ命令保持回路19から図1で説明したF
WSTPSET命令のimフィールドで示される7ビッ
トがFWSTP演算装置20に転送される。FWSTP
演算装置20は、選択回路7により選択されたFWST
P[1]保持回路25のデータ、gn保持回路5のデー
タ、及び、sp保持回路21のデータを用いて新たなF
WSTPを計算する。この計算結果は、制御線209に
制御されてAステージのラッチ22に転送される。次の
サイクルにおいて、制御装置18は、制御線216によ
り選択回路28を制御し、その出力としてラッチ22を
選択させ、制御線208の制御により、ラッチ22内の
前述の計算結果をFWSTP[0]保持回路6に転送す
る。
【0044】第2の命令であるADD命令は、Dステー
ジにおいて、選択回路7の出力として選択されるFWS
TP[1]保持回路25のFWSTP、すなわち、前述
した第1の命令であるFWSTPSET命令の前に実行
されたFWSTPSET命令により求められたFWST
Pを用いてレジスタ変換が行われる。図2に示す本発明
の一実施形態によるパイプライン処理装置は、その後の
処理を図5により説明した従来技術の場合と同様に実行
する。
【0045】次に、第3の命令であるFWSTPSET
命令が命令キャッシュ1より読み出され、Dステージ命
令保持回路2を経由して命令判別回路3に転送される。
命令判別回路3は、Dステージの命令がFWSTPSE
T命令であることを判別すると、その後、データ線11
0を介して図1により説明したFWSTPSET命令の
PビットをPビット検出回路24に転送する。また、命
令判別回路3は、同時に、制御線210により命令がF
WSTPSET命令であることをPビット検出回路24
に転送する。
【0046】Pビット検出回路24は、Pビットが
“1”であることを検出すると、命令がFWSTPSE
T命令であり、かつ、その命令のPビットが“1”であ
ることを制御線211を介して制御装置18に報告す
る。制御装置18は、これにより、制御線217により
選択回路29を制御し、その出力としてFWSTP
[0]保持回路6を選択させ、その内容、すなわち、第
1の命令であるFWSTPSET命令で求めたFWST
Pを、制御線212によりFWSTP[1]保持回路2
5に転送する。また、制御装置18は、制御線207に
より選択回路7を制御し、その出力としてFWSTP
[1]保持回路25を選択させる。これにより、後続の
命令は、第1のFWSTPSET命令により求めたFW
STPを用いてレジスタ変換が行われる。
【0047】Eステージにおいて、Eステージ命令保持
回路19から図1で説明したFWSTPSET命令のi
mフィールドで示される7ビットがFWSTP演算装置
20に転送される。FWSTP演算装置20は、選択回
路7により選択されたFWSTP[1]保持回路25の
データ(すなわち第1のFWSTPSET命令で求めた
FWSTP)、gn保持回路5のデータ、及び、sp保
持回路21のデータを用いて新たなFWSTPを計算す
る。この計算結果は、制御線209に制御されてAステ
ージのラッチ22に転送される。次のサイクルにおい
て、制御装置18は、制御線216により選択回路28
を制御し、その出力としてラッチ22を選択させ、制御
線208の制御により、ラッチ22内の前述の計算結果
をFWSTP[0]保持回路6に転送する。
【0048】第4の命令であるADD命令は、Dステー
ジにおいて、FWSTP[1]に格納されているFWS
TP、すなわち、第1のFWSTPSET命令により求
めたFWSTPを用いてレジスタ変換が行われる。この
結果、本発明の一実施形態によれば、従来技術によるパ
イプライン処理装置の場合のように、制御線206によ
りDステージ命令保持回路2に格納されているADD命
令の次ステージへの遷移が抑止されることを防止するこ
とができ、ADD命令の処理における1サイクルのペナ
ルティーを排除することができる。
【0049】前述した動作を行うパイプライン処理装置
に、図6に示す命令列を実行させた場合の動作の流れ
は、図7に示すようになる。前述した本発明の一実施形
態によるパイプライン処理では、のFWSTPSET
命令の次ののADD命令は、のFWSTPSET命
令より以前に実行されたFWSTPSET命令により更
新されたFWSTPを用いてレジスタ変換が行われるた
め、従来技術によるパイプラインの処理で生じていた1
サイクルのペナルティーが排除される。同様に、のA
DD命令は、のFWSTPSET命令ではなく、の
FWSTPSET命令により更新されたFWSTPを用
いてレジスタ変換が行われるため、従来技術によるパイ
プラインの処理で生じていた1サイクルのペナルティー
を排除することができる。
【0050】次に、第1の命令であるFWSTPSET
命令のPビットが“0”である場合の動作を説明する。
【0051】この場合、DステージのPビット検出回路
24において第1の命令であるFWSTPSET命令の
Pビットが“0”であることが判別される。Pビット検
出回路24は、Pビットが“0”であることを判別する
と、制御線211により制御装置18にPビットが
“0”であることを報告する。また、Eステージ命令保
持回路19は、このFWSTPSET命令が命令判別回
路3からデータ線102を通じてEステージ命令保持回
路19に転送された後、制御線205を介してEステー
ジの命令がFWSTPSET命令であることを制御装置
18に報告する。
【0052】制御装置18は、制御線206によりDス
テージ命令保持回路2のデータの更新を抑止する。ま
た、Eステージ命令保持回路19は、図1により説明し
たFWSTPSET命令のimフィールドの7ビットを
FWSTP演算装置20に転送する。FWSTP演算装
置20は、選択回路7により選択されたFWSTP
[1]保持回路25のデータ、gn保持回路5のデー
タ、及び、sp保持回路21のデータを用いて新たなF
WSTPを計算する。この計算結果は、制御線209に
より制御されてAステージのラッチ22に転送される。
その後、制御装置18は、制御線206を介してDステ
ージ命令保持回路2のデータの更新の抑止を解除する。
【0053】制御装置18は、ラッチ22の出力、すな
わち、新たなFWSTPをバイパス線107を介して選
択回路7に転送し、制御線207により選択回路7を制
御して、バイパス線107の出力である新たなFWST
Pをレジスタ番号変換回路4に転送する。Dステージの
命令は、バイパス線107すらの新たなFWSTPを用
いてレジスタ番号変換が行われる。次のサイクルにおい
て、制御装置18は、制御線217により選択回路29
を制御し、その出力としてバイパス線107を選択さ
せ、制御線212の制御によりラッチの出力をFWST
P[1]保持回路25に転送して保持させ、さらに、制
御線207の制御により選択回路7の出力としてFWS
TP[1]保持回路25の新たなFWSTPを選択させ
る。
【0054】前述の結果、第2の命令であるADD命令
は、Dステージ命令保持回路2において1サイクル待た
され、その後、第1の命令であるFWSTPSET命令
により求められたFWSTPを用いてレジスタ変換が行
われる。これにより、図2に示す本発明一実施形態のパ
イプライン処理装置は、図6に示す従来技術によるパイ
プライン処理装置と同様なFWSTPSET命令の処理
を行うことができる。
【0055】次に、図2に示すパイプライン処理装置に
おいて、割り込みが生じた場合のFWSTPに関する処
理について説明する。
【0056】図2において、制御装置18は、割り込み
が生じた場合、制御線213により割り込みが発生した
ことを割り込み制御装置27に報告する。割り込み制御
装置27は、制御線214の制御によりFWSTP
[0]保持回路6のデータ及びFWSTP[1]保持回
路25のデータを割り込み状態保持回路26に転送す
る。割り込み処理が終了した後、割り込み制御装置27
は、制御線215により割り込み処理が終了したことを
制御装置18に報告する。制御装置18は、これによ
り、制御線216により選択回路28を制御し、その出
力として割り込み状態保持回路26の出力を選択させ、
データ線111を介して割り込み時のFWSTP[0]
の値を、制御線208の制御によりFWSTP[0]6
に書き込む。同様に、制御装置18は、制御線217に
より選択回路29を制御し、その出力として割り込み状
態保持回路26の出力を選択させ、データ線112を介
して割り込み時のFWSTP[1]の値を、制御線21
2の制御によりFWSTP[1]保持回路25に書き込
む。これにより、割り込み処理時のFWSTPの退避・
回復を正常に行うことができる。
【0057】
【発明の効果】以上説明したように本発明によれば、F
WSTPSET命令の演算結果に依存することなく後続
命令のレジスタ変換を行うことが可能となり、パイプラ
インを乱すことなく処理を続行することができるため、
パイプライン処理装置の性能低下を防ぐことができる。
【0058】また、本発明によれば、第1の命令である
FWSTPSET命令の実行結果を後続の命令に反映さ
せることも可能であり、従来技術により生成されたオブ
ジェクトコードをそのまま実行することができ、既存の
命令セットアーキテクチャと上位互換性を保持すること
ができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に使用されるFWSTPS
ET命令の命令フォーマットの一例を説明する図であ
る。
【図2】本発明の一実施形態によるパイプライン処理装
置の構成例を示すブロック図である。
【図3】図2に示す装置に図6に示す命令列を実行させ
た場合の動作を説明するタイミングチャートである。
【図4】従来技術に使用されるFWSTPSET命令の
命令フォーマットの一例を説明する図である。
【図5】従来技術によるパイプライン処理装置の構成例
を示すブロック図である。
【図6】パイプライン処理装置に実行させる命令列の例
を示す図である。
【図7】図5に示す装置に図6に示す命令列を実行させ
た場合の動作を説明するタイミングチャートである。
【符号の説明】
1 命令キャッシュ 2、19 命令保持回路 3 命令判別回路 4 レジスタ番号変換回路 5 gn保持回路 6 FWSTP[0]保持回路 7、11、12、16、28、29 選択回路 8 レジスタ選択回路 9 レジスタファイル 10、15、17 データ保持回路 13 演算装置 14 データキャッシュ 18 制御装置 20 FWSTP演算装置 21 sp保持回路 22 ラッチ 23 ヒット判定回路 24 Pビット検出回路 25 FWSTP[1]保持回路 26 割り込み状態保持回路 27 割り込み制御装置

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 命令によってアドレス可能なレジスタ数
    より多い物理レジスタによるレジスタファイルと、複数
    のビットからなるウインドウスタートポインタを保持す
    るレジスタと、前記ウインドウスタートポインタの値に
    より命令中のレジスタ番号を物理レジスタ番号に変換す
    る変換回路と、前記ウインドウスタートポインタの値を
    セットするウインドウポインタセット命令とを有し、第
    1の命令と第1の次に実行する第2の命令とを、それぞ
    れ複数のステージに分割してパイプライン処理するパイ
    プライン処理装置において、第1の命令がウインドウス
    タートポインタセット命令であり、第2の命令がウイン
    ドウスタートポインタの値を用いて物理レジスタ番号を
    決定する命令である場合に、第2の命令のレジスタ変換
    に用いるウインドウスタートポインタとして前記第1の
    命令であるウインドウスタートポインタセット命令によ
    り更新される以前のウインドウスタートポインタを用い
    ることを示す1ビットの情報を前記ウインドウスタート
    セット命令に新たに設け、前記第1の命令であるウイン
    ドウスタートポインタセット命令により更新されるウイ
    ンドウスタートポインタの値を保持する回路と、更新さ
    れる以前のウインドウスタートポインタの値を保持する
    回路とを備え、前記第1の命令であるウインドウスター
    トポインタセット命令に新たに設けた1ビットの情報の
    値により、前記第2の命令のレジスタ変換に、前記第1
    の命令であるウインドウスタートポインタセット命令に
    より更新されたウインドウスタートポインタの値を使用
    するか、更新される以前のウインドウスタートポインタ
    の値を使用するかを決定して、前記第2の命令のレジス
    タ変換を行うことを特徴とするパイプライン処理装置。
  2. 【請求項2】 前記2つのウインドウスタートポインタ
    の値を保持する回路の情報は、割り込み発生時の例外処
    理として割り込み状態保持回路に退避されることを特徴
    とする請求項1記載のパイプライン処理装置。
JP26439695A 1995-10-12 1995-10-12 パイプライン処理装置 Pending JPH09106344A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26439695A JPH09106344A (ja) 1995-10-12 1995-10-12 パイプライン処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26439695A JPH09106344A (ja) 1995-10-12 1995-10-12 パイプライン処理装置

Publications (1)

Publication Number Publication Date
JPH09106344A true JPH09106344A (ja) 1997-04-22

Family

ID=17402587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26439695A Pending JPH09106344A (ja) 1995-10-12 1995-10-12 パイプライン処理装置

Country Status (1)

Country Link
JP (1) JPH09106344A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112202670A (zh) * 2020-09-04 2021-01-08 烽火通信科技股份有限公司 一种SRv6段路由转发方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112202670A (zh) * 2020-09-04 2021-01-08 烽火通信科技股份有限公司 一种SRv6段路由转发方法及装置

Similar Documents

Publication Publication Date Title
US5168571A (en) System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data
JP2539199B2 (ja) デジタルプロセッサ制御装置
US4740893A (en) Method for reducing the time for switching between programs
EP0207665B1 (en) Bidirectional branch prediction and optimization
JP3439033B2 (ja) 割り込み制御装置及びプロセッサ
JPS6239780B2 (ja)
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
EP0094535B1 (en) Pipe-line data processing system
JPH03286332A (ja) デジタルデータ処理装置
US6125443A (en) Interrupt processing system and method for information processing system of pipeline control type
EP0374598B1 (en) Control store addressing from multiple sources
JPH09106344A (ja) パイプライン処理装置
US7472264B2 (en) Predicting a jump target based on a program counter and state information for a process
US5784606A (en) Method and system in a superscalar data processing system for the efficient handling of exceptions
EP0212132A1 (en) Method and digital computer for recovering from errors
JPS59163671A (ja) ベクトル処理装置
JP2812610B2 (ja) パイプライン制御方式
JP2583614B2 (ja) ベクトル演算装置
JPH0248733A (ja) 情報処理装置
JP2819733B2 (ja) 情報処理装置
JPH0228828A (ja) 最大値最小値検出回路
JP2636566B2 (ja) パイプライン制御方式
JP3251148B2 (ja) パイプラインデ−タ処理装置
JPH0635699A (ja) パイプライン制御方式
JPS6149695B2 (ja)