JP3490191B2 - 計算機 - Google Patents

計算機

Info

Publication number
JP3490191B2
JP3490191B2 JP16635195A JP16635195A JP3490191B2 JP 3490191 B2 JP3490191 B2 JP 3490191B2 JP 16635195 A JP16635195 A JP 16635195A JP 16635195 A JP16635195 A JP 16635195A JP 3490191 B2 JP3490191 B2 JP 3490191B2
Authority
JP
Japan
Prior art keywords
instruction
register
processing
pipeline
result
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
JP16635195A
Other languages
English (en)
Other versions
JPH0916399A (ja
Inventor
亮 山下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP16635195A priority Critical patent/JP3490191B2/ja
Publication of JPH0916399A publication Critical patent/JPH0916399A/ja
Application granted granted Critical
Publication of JP3490191B2 publication Critical patent/JP3490191B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】本発明は、命令をパイプライン処
理によって実行する計算機に関する。 【0002】 【従来の技術】従来から、パイプラインで命令を実行す
る計算機は、割り込み処理が発生したときに復帰に時間
がかかるため改善が望まれている。 【0003】従来の計算機では、内部の加算器(演算
器)において命令実行が実行されるが、命令実行中に割
り込みが発生したときには、以下に示すように命令が処
理される。 すなわち、図4に示すように、Fステー
ジ、Dステージ、EステージおよびWステージなどから
なるパイプラインに複数の命令、例えば命令 1、 2、
3、4、 5、 6などが順次投入され実行中、外部からの割
り込み信号により、割り込みが発生すると、割り込み発
生時にパイプラインに投入されていた命令 3、 4、5、
6は全てキャンセルされ、このときの処理結果や処理途
中の情報も失われる。つまり実行中の命令と処理結果が
全て無効になる。 【0004】したがって、割り込み処理終了後にキャン
セルされた前の命令を再実行させるためには、復帰後、
無効になった命令を初めから、つまり命令 3からパイプ
ラインに投入し直す必要がある。 【0005】 【発明が解決しようとする課題】しかしながら、これで
は、それまで実行していた命令の処理時間が無駄になる
ばかりか命令を再投入するためのロスが発生し処理が遅
くなるという問題があった。 【0006】本発明はこのような課題を解決するために
なされたもので、割り込み処理が発生しても、復帰時に
それまでの処理が無駄にならず処理を高速に実行するこ
とのできる計算機を提供することを目的としている。 【0007】 【課題を解決するための手段】上記した目的を達成する
ために、請求項1記載の計算機は、複数ステージからな
るパイプラインに命令を順次投入し実行する計算機にお
いて、前記パイプラインで処理された結果を格納するた
めのレジスタファイルと、記憶手段と、前記命令が前記
パイプラインの各ステージにより順次実行中割り込み
処理が発生した場合、その時点で、パイプライン処理中
の命令の処理を書き込みステージまで実行し、書き込み
ステージで、前記各命令の処理結果を前記記憶手段に記
憶する手段と、前記割り込み処理が実行され終了し復帰
した時点で、前記記憶手段に記憶されている処理結果を
前記レジスタファイルに書き込む手段とを具備してい
る。 【0008】 【0009】 【作用】本発明では、命令をパイプラインに投入し実行
、割り込み処理が発生すると、パイプライン処理中
にキャンセルした命令の処理を書き込みステージまで実
行する。そして、書き込みステージでは、各命令の処理
結果を記憶手段に記憶る。そして、割り込み処理が実
行され終了し復帰した時点で、記憶手段に記憶されてい
る処理結果を取り出してレジスタファイルに書き込む。 【0010】 【0011】したがって、割り込み処理が発生しても、
復帰に時間がかからず、それまでの処理も無駄にならな
くなる。 【0012】この結果、処理が高速化し、処理効率を向
上することができる。 【0013】 【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。 【0014】図1は本発明に係る一実施例の計算機の構
成を示す図である。 【0015】同図において、1はレジスタであり、命令
を格納する。2はデコーダ(論理回路)であり、レジス
タ1に格納された命令を解読して、レジスタファイル3
からデータを読み出すためのレジスタを指定する信号
と、計算結果を書き込むレジスタを指定する信号を生成
する。3はレジスタファイルであり、内部にレジスタR
0〜レジスタR15の16個のレジスタを有しており、計
算に必要なデータ、計算結果が格納される。4はレジス
タであり、デコーダ2で生成された計算結果が格納され
るレジスタを指定する信号や、レジスタファイル3への
格納許可信号が格納される。5はレジスタであり、レジ
スタファイル3から読み出されたデータが格納される。
6はレジスタであり、レジスタファイル3から読み出さ
れたデータが格納される。7は加算器(ALU)であ
り、レジスタ5とレジスタ6のレジスタ値を加算してレ
ジスタ9に格納する。この加算器7は命令フェッチ(F
ステージ)、デコード(Dステージ)、実行(Eステー
ジ)、書き込み(Wステージ)の 4段のパイプラインか
ら構成されている。8はレジスタであり、レジスタ4か
らの信号が格納される。9はレジスタであり、加算器7
で計算された結果が格納される。10、11、12、1
3はレジスタであり、制御信号に従ってレジスタ8、9
の値が格納される。14は制御回路であり、パイプライ
ンのキャンセルが起こった場合、キャンセルされた命令
の演算結果をレジスタ10、11、12、13に順番に
格納するための制御信号を生成する。 【0016】この計算機では、加算器7にて以下の命令
が実行される。 【0017】命令1…ADD(R0,R1,R8);命
令2…ADD(R1,R2,R9);命令3…ADD
(R2,R3,R10);命令4…ADD(R3,R
4,R11);命令5…ADD(R4,R5,R1
2);命令6…ADD(R5,R6,R13);命令7
…ADD(R6,R7,R14);命令8…ADD(R
7,R0,R15);命令9…ST(R8,100
0);命令10…ST(R9,1010);・・・。 【0018】ここで、ADDは加算命令であり、例えば
ADD(R0,R1,R2)であれば、レジスタR0の
値とレジスタR1の値を加算してレジスタR2に格納す
ることを示す。STはストア命令であり、例えばST
(R0,1000)であれば、レジスタR0の値をメモ
リの1000番地に書き込むことを示す。 【0019】レジスタファイル3の初期状態は、以下の
通りである。 【0020】レジスタR0:0×0、レジスタR1:0
×1、レジスタR2:0×2、レジスタR3:0×3、
レジスタR4:0×4、レジスタR5:0×、レジス
タR6:0×6、レジスタR7:0×7、レジスタR
8:0×8、レジスタR9:0×9、レジスタR10:
0×A、レジスタR11:0×B、レジスタR12:0
×C、レジスタR13:0×D、レジスタR14:0×
E、レジスタR15:0×F。 【0021】この計算機では、割り込み処理は命令aか
ら命令fまで実行され、その後、通常の処理に復帰する
ものとする。 【0022】次に、図2〜図3を参照しこの計算機の動
作を説明する。 【0023】この計算機の場合、図2に示すように、割
り込みが発生しないときは、制御回路14によって、F
ステージ→Dステージ→Eステージ→Wステージの順に
命令1〜命令 9などが順次実行される。 【0024】一方、上記命令処理中、ある命令を処理し
た時点で割り込みが発生したときは、以下に示すような
命令処理になる。 【0025】すなわち、図3に示すように、命令 3のW
ステージで制御回路14が、外部からの割り込み信号
(0真値)を受け取ると、命令 3〜命令 6の各ステージ
の処理はキャンセルされる。 【0026】しかし、Eステージまでの命令処理は割り
込みが入らない場合と同様に行われる。 【0027】この際、Wステージでレジスタファイル3
に結果を書き込む代わりに、命令 3の結果はレジスタ1
0に、命令 4の結果はレジスタ11に、命令 5の結果は
レジスタ12に、命令 6の結果はレジスタ13にそれぞ
れ格納される。 【0028】つまり命令 6のWステージが完了した時点
では、レジスタ10に演算結果として0×5と、レジス
タファイル番号として“10”、レジスタ11に演算結
果として0×7と、レジスタファイル番号として“1
1”、レジスタ12に演算結果として0×9と、レジス
タファイル番号として“12”、レジスタ13に演算結
果として0×Bと、レジスタファイル番号として“1
3”が書き込まれている。これにより、演算途中の処理
結果と書き込みレジスタファイル番号とがレジスタ1
0、11、12、13などの記憶手段に書き込まれたこ
とになる。 【0029】そして、命令a〜命令fなどの割り込み処
理が実行され終了し復帰した時点で、命令 3から命令を
実行する指示の場合、命令 3を実行する代わりに命令 Z
を実行する。 【0030】この命令 Zは、キャンセルされた命令(実
施例では命令 3、 4、 5、 6)の実行結果をレジスタ1
0、11、12、13からそれぞれ取り出し、レジスタ
ファイル3に書き込む命令である。 【0031】またこの命令 Zが実行された後、次の命令
は命令 7から実行するように、図示しないロケーション
カウンタが設定される。なお処理が分岐しないケース、
例えば異常などがなく元のルーチンに戻る場合、現在の
命令のアドレスに 1を足した値を次の命令のアドレスと
するところを、命令 Zを実行した場合は、現在のアドレ
スに 4を足した値を次の命令のアドレスとする。つまり
命令 3の後は、命令 Zを実行し、その後、命令 3に 4を
足した命令 7を実行する。この 4という数字は、パイプ
ラインの段数や命令の実行形態によって変わるものであ
る。 【0032】したがって、図3に示すように、命令 Zの
次に命令 7が実行されるようになる。 このように本実
施例の計算機によれば、ある命令をパイプラインに投入
し順次実行中、割り込み処理が発生すると、実行中の命
令の途中処理結果がレジスタ10、11、12、13な
どの記憶手段に記憶され、割り込み処理実行後に、レジ
スタ10、11、12、13などから途中処理結果が読
み出されてその以降のレジスタ位置から命令が実行され
るので、割り込み処理が発生しても、それまでの処理が
無駄にならず復帰効率がよくなる。 【0033】この結果、処理が高速化し、処理効率を向
上することができる。 【0034】なお、本発明は上記実施例のみに限定され
るものではない。 【0035】例えばある命令をパイプラインに投入し実
行中、割り込み処理が発生すると、実行中の命令のキャ
ンセルされる各パイプラインレジスタの値、つまりレジ
スタ1、4、5、6、8、9、10、11、12、13
などの値をメモリなどの記憶手段に記憶し、割り込み命
令実行後に、そのメモリから各レジスタ1、4、5、
6、8、9、10、11、12、13の値を読み出しそ
のレジスタ位置から命令を実行してもよい。 【0036】この場合、パイプラインレジスタ全ての値
を記憶する必要があるものの、上記実施例同様に、割り
込み処理発生時までの処理が無駄にならず、処理が高速
化し、処理効率を向上することができる。 【0037】 【発明の効果】以上説明したように本発明によれば、命
令をパイプラインに投入し実行中、割り込み処理が発生
すると、キャンセルされるパイプラインレジスタの値や
命令の途中処理結果が記憶手段に記憶され、割り込み処
理終了後に、パイプラインレジスタの値や命令の途中処
理結果が記憶手段から読み出されてそのレジスタ位置か
ら命令が実行されるので、割り込み処理が発生しても、
復帰時にそれまでの処理が無駄にならず復帰効率がよく
なる。 【0038】この結果、処理を高速に実行することがで
きる。
【図面の簡単な説明】 【図1】本発明に係る一実施例の計算機の構成を示す図
である。 【図2】この計算機において割り込みが発生しないとき
の命令処理を示す図である。 【図3】この計算機において命令 3で割り込みが発生し
たときの命令処理を示す図である。 【図4】従来の計算機において割り込みが発生したとき
の命令処理を示す図である。 【符号の説明】 1、4、5、6、8、9、10、11、12、13…レ
ジスタ、2…デコーダ(論理回路)、3…レジスタファ
イル、7…加算器(ALU)、14…制御回路。

Claims (1)

  1. (57)【特許請求の範囲】 【請求項1】 複数ステージからなるパイプラインに命
    令を順次投入し実行する計算機において、 前記パイプラインで処理された結果を格納するためのレ
    ジスタファイルと、 記憶手段と、 前記命令が前記パイプラインの各ステージにより順次実
    行中割り込み処理が発生した場合、その時点で、パイ
    プライン処理中の命令の処理を書き込みステージまで実
    行し、書き込みステージで、前記各命令の処理結果を前
    記記憶手段に記憶する手段と、 前記割り込み処理が実行され終了し復帰した時点で、前
    記記憶手段に記憶されている処理結果を前記レジスタフ
    ァイルに書き込む 手段とを具備したことを特徴とする計
    算機。
JP16635195A 1995-06-30 1995-06-30 計算機 Expired - Fee Related JP3490191B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16635195A JP3490191B2 (ja) 1995-06-30 1995-06-30 計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16635195A JP3490191B2 (ja) 1995-06-30 1995-06-30 計算機

Publications (2)

Publication Number Publication Date
JPH0916399A JPH0916399A (ja) 1997-01-17
JP3490191B2 true JP3490191B2 (ja) 2004-01-26

Family

ID=15829775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16635195A Expired - Fee Related JP3490191B2 (ja) 1995-06-30 1995-06-30 計算機

Country Status (1)

Country Link
JP (1) JP3490191B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6851044B1 (en) 2000-02-16 2005-02-01 Koninklijke Philips Electronics N.V. System and method for eliminating write backs with buffer for exception processing
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

Also Published As

Publication number Publication date
JPH0916399A (ja) 1997-01-17

Similar Documents

Publication Publication Date Title
JP3093624B2 (ja) 投機例外を処理する方法及び装置
JPH0760388B2 (ja) パイプライン制御回路
JP3510729B2 (ja) 命令実行方法および命令実行装置
JPH04188229A (ja) 浮動小数点演算処理装置
JP3490191B2 (ja) 計算機
JP2552738B2 (ja) データ処理装置
JP2783285B2 (ja) 情報処理装置
JPH0222413B2 (ja)
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JP3405106B2 (ja) プログラマブルコントローラ
JP2819753B2 (ja) パイプライン・マイクロプロセッサ
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPH06162067A (ja) ベクトル命令制御装置および制御方法
JPH04181331A (ja) 命令リトライ方式
JPS6386033A (ja) パイプライン処理方式
JPH0234058B2 (ja)
JPS63293638A (ja) データ処理装置
JP2866143B2 (ja) 動的パイプライン処理装置
JPS6028014B2 (ja) マイクロプロセツサ
JPS63157235A (ja) コンピユータ・システムの制御装置
JPH11203133A (ja) 情報処理装置
JPS6346856B2 (ja)
JPS5875250A (ja) デジタル情報処理装置
JPS6149695B2 (ja)
JPH11119995A (ja) データ処理装置および方法

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: 20031021

LAPS Cancellation because of no payment of annual fees