JPH03201032A - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JPH03201032A
JPH03201032A JP33841989A JP33841989A JPH03201032A JP H03201032 A JPH03201032 A JP H03201032A JP 33841989 A JP33841989 A JP 33841989A JP 33841989 A JP33841989 A JP 33841989A JP H03201032 A JPH03201032 A JP H03201032A
Authority
JP
Japan
Prior art keywords
register
flag
instruction
cwf
incomplete
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
JP33841989A
Other languages
English (en)
Inventor
Masayuki Takakuwa
正幸 高桑
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 JP33841989A priority Critical patent/JPH03201032A/ja
Publication of JPH03201032A publication Critical patent/JPH03201032A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、レジスタ退避命令およびレジスタ回復命令
を含む各種命令を実行する演算処理装置に関する。
(従来の技術) 一般に第4図に示すような構成の計算機システムにおい
てプログラムを実行する場合、サブルーチン内で自由に
レジスタを使えるように、演算処理装置(プロセッシン
グユニット、以下PUと称する)40内に置かれている
レジスタセット、例えば汎用レジスタファイル(以下G
Rと称する)41の内容をサブルーチンコール時に主メ
モリ(以下、MEMと称する)50上のスタックに積む
(レジスタ退避)。またサブルーチンから、それを呼出
したルーチン(親ルーチン)に戻る際には、スタックに
積まれたデータをGR41に戻しくレジスタ回復)、親
ルーチンの処理を実行する。
さて近年は、ソフトウェア工学的にプログラミングの構
造化が行われるようになっている。この手法を適用した
場合には、処理の明確化のために、わずかな処理であっ
てもサブルーチン化することが多い。このため、サブル
ーチンコールとリターンに要するオーバーヘッドが、プ
ログラム全体の性能に大きな影響を及ぼすようになって
きている。なお、サブルーチンのコールとリターンにお
けるオーバーヘッドの主なものは、先に述べたGR(4
1)の内容のスタックへのブツシュとスタックからのポ
ツプに要する時間である。
ここで、第4図の計算機システムのPU40によるレジ
スタ退避とレジスタ回復の具体的な処理動作について説
明する。まずMEM50に格納されているレジスタ退避
命令(SAVE命令)がシステムバス60を介してPU
40内の命令実行制御回路42にフェッチされると、同
命令のデコードが行われ、GR41内のどのレジスタの
内容を退避するかが決定され、対応する制御信号が出力
される。この制御信号により、退避される最初のレジス
タ(の内容)がGR41から取出され、データ転送回路
43に送られる。このサイクルで、最後のレジスタまで
の退避を完了する。データ転送回路43は、GR41か
ら順に取出されて送られるレジスタのデータをシステム
バス60を介してMEM50上のスタックに積む。
次に命令実行制御回路42にレジスタ回復命令(LOA
D命令)がフェッチされると、同命令のデコードが行わ
れ、GR41内のどのレジスタを回復するかが決定され
、対応する制御信号が出力される。この制御信号により
、回復される最初のレジスタのデータがMEM50上の
スタックから取出され、システムバス60を介してデー
タ転送回路43に転送される。データ転送回路43に転
送されたデータはGR41に取込まれ、レジスタ回復命
令で指定されたレジスタに書込まれる。このサイクルで
、指定された最後のレジスタまでの回復が行われる。
(発明が解決しようとする課題) 上記したように従来の演算処理装置(PU :プロセッ
シングユニット)では、サブルーチンコールに伴うレジ
スタ退避処理を、レジスタセット(GR)から1つのレ
ジスタを読出してメモリに書込む動作をレジスタ単位で
繰返して、レジスタ毎にシリアルな転送を行うことで実
現していた。
また、サブルーチンからのリターンに伴うレジスタ回復
処理を、メモリから1つのレジスタの退避データを読出
してレジスタセットに書き込む動作をレジスタ単位で繰
返して、レジスタ毎にシリアルな転送を行うことで実現
していた。このため、レジスタ退避命令とレジスタ回復
命令の実行がプログラム全体の処理速度の高速化のネッ
クとなっており、レジスタ退避処理およびレジスタ回復
処理の高速化が望まれている。
この発明は上記事情に鑑みてなされたものでその目的は
、レジスタ退避処理の高速化が図れる演算処理装置を提
供することにある。
この発明の他の目的は、レジスタ回復処理の高速化も図
れる演算処理装置を提供することにある。
[発明の構成コ (課題を解決するための手段) この発明は、レジスタ退避命令の実行時に各種レジスタ
の内容を一時退避するのに供される一時レジスタ手段(
テンポラリレジスタファイル)と、レジスタ退避命令で
指定される各種レジスタの内容を上記一時レジスタ手段
に一時退避させるレジスタ退避命令実行手段と、このレ
ジスタ退避命令実行手段の動作後に、上記一時レジスタ
手段に一時退避されている各種レジスタの内容を上記メ
モリに転送して同メモリ内に退避するデータ転送手段と
を設けたことを特徴とするものである。
また、この発明は、上記一時レジスタ手段をレジスタ回
復命令の実行の準備のためにも用いるようにすると共に
、レジスタ回復命令で指定される各種レジスタの内容を
上記一時レジスタ手段から取出して元のレジスタに戻す
レジスタ回復命令実行手段を設け、更に上記データ転送
手段に、上記レジスタ回復命令実行手段の動作後に、上
記メモリに退避されている各種レジスタの内容を上記一
時レジスタ手段に戻して前の一時レジスタ手段の状態を
回復し、次のレジスタ回復命令の実行に備える機能を設
けたことを特徴とするものである。
(作 用) 上記の構成によれば、レジスタ退避命令で指定されるレ
ジスタのデータは直接にメモリに転送されるのではなく
、まず一時レジスタ手段に高速に一時退避される。この
状態では、レジスタ退避命令で示されるレジスタのデー
タがメモリに退避されるのを待たずに次の命令処理を行
って対応するレジスタの内容を破壊してしまったとして
も、メモリに退避すべき正しいレジスタデータは一時レ
ジスタ手段に保存されているので何ら問題はない。即ち
、上記の構成によれば、レジスタ退避命令で指定される
レジスタのデータを一時レジスタ手段に高速に一時退避
する動作の完了をもってレジスタ退避命令の実行が完了
したものとして扱うこと、したがってレジスタ退避命令
実行の高速化が可能となり、レジスタ退避命令で示され
るレジスタのデータがメモリに退避されるのを待たずに
次の命令処理に入ることができるようになる。
また、上記の構成によれば、レジスタ退避命令の実行後
の最初のレジスタ回復命令の実行時には、そのレジスタ
回復の対象となるレジスタデータが一時レジスタ手段に
保存されていることから、レジスタ回復命令で指定され
るレジスタのデータを一時レジスタ手段から取出して元
のレジスタに戻すだけで、レジスタ回復命令を実行する
ことができる。この際、今回の回復対象レジスタデータ
に対応するレジスタ退避命令に先行する別のレジスタ退
避命令が実行されているならば、その命令に対応してメ
モリに退避されているレジスタデータが一時レジスタ手
段に取出される。このメモリから一時レジスタ手段への
転送動作は、レジスタ回復命令の処理(プログラム処理
)とは独立に行われても何ら不都合はなく、この転送動
作の完了を待たずに次の命令処理に入ることが可能であ
る。
そして、この転送動作により、次にレジスタ回復命令を
実行する際には、同命令で指定されるレジスタのデータ
を(メモリからではなく)一時レジスタ手段から高速に
取出すことができるので、このデータを元のレジスタに
戻すことによりレジスタ回復命令を高速に実行すること
ができる。
(実施例) 第1図はこの発明の演算処理装置を備えた計算機システ
ムの一実施例を示すブロック構成図であり、第4図と同
一部分には同一符号を付してある。第1図において、1
0はシステムの中枢を成すPU(プロセッシングユニッ
ト、演算処理装置)、50は各種プログラム、データ等
が記憶されるMEM (主メモリ)、60はPUIOお
よびMEM50等を結合するだめのシステムバスである
PUIOは、レジスタセットとしてのGR(汎用レジス
タファイル) 11、MEM50から命令をフェッチし
てデコードし、その命令の実行を制御する命令実行制御
回路12およびレジスタ退避命令時のGRl、1内レジ
スタの一時的な退避、およびレジスタ回復命令の準備に
供されるテンポラリレジスタファイル(以下、CRと称
する)(3を有している。
PUIOは更に、GRIIとMEM50との間のレジス
タデータの転送を行うデータ転送回路目、CR13並び
に後述するCWFフラグ21とMEM50との間のレジ
スタデータ並びにフラグデータの転送を行うデータ転送
回路15、および命令実行制御回路工2からのレジスタ
退避処理用の制御信号およびレジスタ回復処理用の制御
信号を受けて、レジスタ退避およびレジスタ回復のため
の制御を行うレジスタ退避・回復制御回路(以下、SL
制御回路と称する)を有している。SL制御回路16に
は、WFフラグ20、CWFフラグ21、GR→CR未
完フラグ22、CR−MEM未完フラグ23、WF−C
WF未完フラグ24、CWF→MEM未完フラグ25、
CR−GR未完フラグ26、MEM→CR未完フラグ2
7、CWF−WF未完フラグ28およびMEM→CWF
未完フラグ29の10種のフラグが設けられている。こ
のフラグ20〜29は以下に述べる目的で用いられる。
■WFフラグ20 GRIIに書込みを行ったことをGRII内のレジスタ
毎に示す(GRIIのレジスタ数分のフラグビットで構
成される)フラグ ■CWFフラグ2ル レジスタ退避命令時のWFフラグ20の一時的な退避、
およびレジスタ回復命令の準備を行うために用いられる
(GRIIのレジスタ数分のフラグビットで構成される
)フラグ ■GR4CR未完フラグ22 レジスタ退避命令時にセットまたはリセットサレ、GR
IIからCR13へのレジスタデータの転送が終了して
いないことをレジスタ毎に示すフラグ ■CR−+MEM未完フラグ23 CR13からMEM50へのレジスタデータの転送が終
了していないことをレジスタ毎に示すフラグ ■WF→CWF未完フラグ24 WFフラグ20からCWFフラグ21へのフラグデータ
の転送が終了していないことをフラグビット毎に示すフ
ラグ ■CWF−+MEM未完フラグ25 CWFフラグ21からMEM50へのフラグデータの転
送が終了していないことをフラグビット毎に示す示すフ
ラグ ■CR→GR未完フラグ26 レジスタ退避命令時にセットまたはリセットされ、CR
13からGRILへのレジスタデータの転送が終了して
いないことをレジスタ毎に示すフラグ ■MEM→CR未完フラグ27 MEM50からCR1,3へのレジスタデータの転送が
終了していないことをレジスタ毎に示すフラグ ■CWF−WF未完フラグ28 CWFフラグ21からWFフラグ20へのフラグデータ
の転送が終了していないことをフラグビット毎に示すフ
ラグ [相]MEM→CWF未完フラグ29 MEM50からCWFフラグ21へのフラグデータの転
送が終了していないことをフラグビット毎に示すフラグ 次に、第1図の構成の動作を説明する。
まずMEM50からPUIO内の命令実行制御回路I2
に例えばレジスタ退避命令(SAVE命令)がフェッチ
されると、同命令がデコードされ、GRII内のどのレ
ジスタを退避するかを示す制御信号が生成される。この
制御信号は命令実行制御回路12からSL制御回路18
に伝達される。この結果、PUIOにおいては、SL制
御回路t6の制御のもとて以下に述べるように(A1)
プログラムの動作と、(A2)プログラムの動作とは独
立した動作とが行われる。
(A1)プログラムの動作 (レジスタ退避命令時) 第4図に示す従来システムでは、GR(41)からME
M50へのデータ転送(レジスタデータの退避)の間は
、プログラム(プログラム処理)は待たなくてはならな
い。これに対して第1図に示す本実施例システムでは、
以下のような論理により、待ち時間は、基本的にはGR
IIからCR13へのパラレルな転送時間だけで済むよ
うにしている。
また、このパラレルな転送時間に対してCR13からM
EM50への転送時間が長いためにCR13からMEM
50への転送が終了していなくても、GR−CR未完フ
ラグ22がリセット状態にあるならば、このGR4CR
未完フラグ22をセットするだけで、転送終了を待たず
にプログラム動作が行える(すなわち次の命令処理が行
える)ようにしている。
さて、レジスタ退避命令時においては、SL制御回路(
6は■MEM−+CR未完フラグ27およびCR−4G
R未完フラグ26がリセットの場合、■MEM−CWF
未完フラグ29およびCWF−WF未完フラグ28がリ
セットの場合、■MEM−CR未完フラグ27がリセッ
トでCR→GR未完フラグ26がセットの場合、■ME
M→CWF未完フラグ29がリセットでCWF→WF未
完フラグ28がセットの場合、■MEM→CR未完フラ
グ27がセットでCR→GR未完フラグ26がリセット
の場合、モして■MEM−+CWF未完フラグ29がセ
ットでCWF→WF未完フラグ28がリセットの場合の
いずれかにより、次の動作を行う。
■MEM +CR未完フラグ27がリセット&CR−G
R未完フラグ26がリセットこの場合、GR−CR未完
フラグ22およびCR−MEM未完フラグ23がリセッ
ト状態にあれば、SL制御回路16はGRIIのレジス
タデータをCRI3に転送し、CR→MEM未完フラグ
23をセットする。
一方、GR−+CR未完フラグ22がセット状態にあれ
ば、SL制御回路16はGRIIからCR13へのレジ
スタデータ転送を待つ。
またCR→MEM未完フラグ23がセット状態にあって
も、GR→CR未完フラグ22がリセット状態にあるな
らば、SL制御回路16はGR−CR未完フラグ22を
セットする。
■MEM→CWF未完フラグ29がリセット&CWF−
WF未完フラグ28がリセットこの場合、WF−CWF
未完フラグ24およびCWF−MEM未完フラグ25が
リセット状態にあれば、SL制御回路16はWFフラグ
20の内容をCWFフラグ21に転送し、CWF→ME
M未完フラグ25をセットすると共にWFフラグ20を
全てリセットする。
一方、WF−CWF未完フラグ24がセット状態にあれ
ば、SL制御回路16はWFフラグ20からCWFフラ
グ21へのフラグデータ転送を待つ。
またWF−CWF未完フラグ24がリセット状態にあり
、CWF−+MEM未完フラグ25がセット状態にあれ
ば、SL制御回路16はWF−CWF未完フラグ24を
セットする。
■MEM−4CR未完フラグ27がリセット&CR→G
R未完フラグ26がセット この場合、GR→CR未完フラグ22およびCR−ME
M未完フラグ23がリセット状態にあるときにCR−G
R未完フラグ26がリセットしたならば、SL制御回路
16はレジスタ回復命令の動作を中止し、CR−MEM
未完フラグ23をセットする。
■MEM 4CWF未完フラグ29がリセット&CWF
→WF未完フラグ28がセットこの場合、WF→CWF
未完フラグ24およびCWF−MEM未完フラグ25が
リセット状態にあるときにCWF−+WF未完フラグ2
8がリセットしたならば、SL制御回路1Bはレジスタ
回復命令の動作を中止し、CWF→MEM未完フラグ2
5をセットすると共にWFフラグ20をリセットする。
■MEM−CR未完フラグ27がセット&CR→GR未
完フラグ26がリセットこの場合、GR→CR未完フラ
グ22およびCR−+MEM未完フラグ23がリセット
状態にあれば、SL制御回路I6はレジスタ回復命令の
動作を中止し、GRIIの内容をCR13に転送してC
R→MEM未完フラグ23をセットする。
■MEM−CWF未完フラグ29がセット&CWF−4
WF未完フラグ28がリセットこの場合、WF−CWF
未完フラグ24およびCWF−MEM未完フラグ25が
リセット状態にあれば、SL制御回路16はレジスタ回
復命令の動作を中止すると共にWFフラグ20の内容を
CWFフラグ21に転送し、CWF→MEM未完フラグ
25をセットすると共にWFフラグ20をリセットする
(A2)プログラムとは独立した動作 (レジスタ退避命令時) さて、レジスタ退避命令時におけるプログラムとは独立
した動作は、■CR−4MEM未完フラグ23がセット
の場合、■CR→MEM未完フラグ23がリセットで、
GR−CR未完フラグ22がセットの場合、■CR−M
EM未完フラグ23およびGR→CR未完フラグ22が
リセットの場合、■CWF−MEM未完フラグがセット
の場合、■CWF−MEM未完フラグ25がリセットで
WF→CWF未完フラグ24がセットの場合、そして■
WF→CWF未完フラグ24およびCWF→MEM未完
フラグ25がリセットの場合のいずれかにより、SL制
御回路16によって次のように行われる。
■CR→MEM未完フラグ23がセットこの場合、SL
制御回路1Bはデータ転送回路15にCR13の内容を
送って、このデータ転送回路15によりM、EM50(
上のスタック)への書込みを行わせ、終了したらCR→
MEM未完フラグ23をリセットする。
■CR−+MEM未完フラグ23がリセット&GR−C
R未完フラグ22がセット この場合、SL制御回路16はGRIIの内容をCRL
3へ転送し、GR→CR未完フラグ22をリセットする
■CR−+MEM未完フラグ23がリセット&GR→C
R未完フラグ22がリセットこの場合、SL制御回路1
6は何もしない。
■CWF−MEM未完フラグがセット この場合、SL制御回路16はデータ転送回路i5にC
WFフラグ21の内容を送って、このデータ転送回路1
5によりMEM50(上のスタック)への書込みを行わ
せ、終了したらCWF−MEM未完フラグ25をリセッ
トする。
■CWF−MEM未完フラグ25がリセット&WF−+
CWF未完フラグ24がセットこの場合、SL制御回路
16はWFフラグ20の内容をCWFフラグ21へ転送
し、終了したらWF→CWF未完フラグ24をリセット
する。
■WF−CWF未完フラグ24がリセット&CWF−M
EM未完フラグ25がリセットこの場合、SL制御回路
16は何もしない。
次に、第1図の構成におけるレジスタ回復命令(LOA
D命令)時の動作を、(B1)プログラムの動作と、(
B2)プログラムの動作とは独立した動作とに分けて説
明する。
(B1)プログラムの動作 (レジスタ回復命令時) 第4図に示す従来システムでは、MEM50かうGR(
41)へのデータ転送(レジスタデータの回復)の間は
、プログラムは待たなくてはならない。これに対して第
1図に示す本実施例システムでは、以下のような論理に
より、待ち時間は、基本的にはCR13からGRIIへ
のパラレルな転送時間だけで済むようにしている。また
、このパラレルな転送時間に対してMEM50からCR
13への転送時間が長いために、MEM50からCR1
3への転送が終了しなくても、CR→GR未完フラグ2
6がリセット状態にあるならば、GR−CR未完フラグ
22をセットするだけで、転送終了を待たずにプログラ
ム動作が行えるようにしている。
さて、レジスタ退避命令時のプログラム動作は、■GR
→CR未完フラグ22およびCR→MEM未完フラグ2
3がリセットの場合、■WF→CWF未完フラグ24お
よびCWF−MEM未完フラグ25がリセットの場合、
■GR→CR未完フラグ22がセットでCR−+MEM
未完フラグ23がリセットの場合、■WF→CWF未完
フラグ24がセットでCWF−+MEM未完フラグ25
がリセットの場合、■GR−CR未完フラグ22がリセ
ットでCR→MEM未完フラグ23がセットの場合、そ
して■WF→CWF未完フラグ24がリセットでCWF
→MEM未完フラグ25がセットの場合のいずれかによ
り、次の通りとなる。
■GR−CR未完フラグ22がリセット&CR−MEM
未完フラグ23がリセットこの場合、MEM−CR未完
フラグ27およびCR−GR未完フラグ26がリセット
状態にあれば、SL制御回路16はCR−GR未完フラ
グ26をセットし、WFフラグ20内のセットしている
フラグビットに対応するレジスタデータだけをCR13
からGRIIに転送し、終了したらCR−GR未完フラ
グ26をリセットする。
一方、CR→GR未完フラグ26がセット状態にあれば
、SL制御回路16はCR13からGRIIへのレジス
タデータ転送を待つ。
またMEM→CR未完フラグ27がセット状態にあり、
CR−GR未完フラグ26がリセット状態にあるならば
、SL制御回路16はCR−GR未完フラグ26をセッ
トする。
■WF−CWF未完フラグ24 &CWF−4MEM未完フラグ25がリセットこの場合
、CWF→WF未完フラグ28およびMEM−+CWF
未完フラグ29がリセット状態にあれば、SL制御回路
16はCWFフラグ21の内容をWFフラグ20および
MEM→CWF未完フラグ29に転送する。
一方、CW F −W F未完フラグ28がセット状態
にあれば、SL制御回路(6はCWFフラグ21からW
Fフラグ20へのフラグデータ転送を待つ。
またCWF−WF未完フラグ28がリセット状態にあり
、MEM−+CWF未完フラグ29がセット状態にあれ
ば、SL制御回路16はCWF−WF未完フラグ28を
セットする。
■GR→CR未完フラグ22がセット &CR−+MEM未完フラグ23リセットこの場合、M
EM→CR未完フラグ27およびCR−+GR未完フラ
グ26がリセット状態にあるならば、SL制御回路16
はCR−GR未完フラグ26をセットし、WFフラグ2
0内のセットしているフラグビットに対応するレジスタ
データだけをCR13からGRIIに転送し、終了した
らCR−GR未完フラグ26をリセットする。
■WF→CWF未完フラグ24がセット&CWF−+M
EM未完フラグ25がリセットこの場合、MEM−CW
F未完フラグ29およびCWF−WF未完フラグ28が
リセット状態にあるならば、SL制御回路16はCWF
フラグ21の内容をWFフラグ20およびMEM−+C
WF未完フラグ29に転送する。
■GR→CR未完フラグ22がリセット&CR−4ME
M未完フラグ23がセットこの場合、MEM→CR未完
フラグ27およびCR→GR未完フラグ2Bがリセット
状態にあれば、SL制御回路16はCR→MEM未完フ
ラグ23をリセットしてレジスタ退避命令の動作をキャ
ンセルする。次にSL制御回路16は、CR−+GR未
完フラグ26をセットし、WFフラグ20内のセットし
ているフラグビットに対応するレジスタデータだけをC
R13からGRIIに転送し、終了したらCR→GR未
完フラグ26をリセットする。
■WF−CWF未完フラグ24がリセット&CWF→M
EM未完フラグ25がセットこの場合、MEM−+CW
F未完フラグ29およびCWF−WF未完フラグ28か
りセット状態にあるならば、SL制御回路16はCWF
フラグ2tの内容をWFフラグ20およびMEM→CW
F未完フラグ29に転送する。
(B2)プログラムとは独立した動作 (レジスタ回復命令時) まずSL制御回路16は、MEM−CR未完フラグ27
およびCR−GR未完フラグ26がセットしている場合
に、データ転送回路15によりMEM50からCR13
への転送が終了したことを検出すると、MEM−+CR
未完フラク27をリセットし、CR13からGRIIへ
の転送を行う。この転送が終了すると、SL制御回路1
6はCR→GR未完フラグ26をリセットする。
次にレジスタ退避命令でCR→GR未完フラグ26がリ
セット状態にあることを検出した場合には、SL制御回
路16はCWFフラグ21をMEM−CR未完フラグ2
7に転送し、CWF→WF未完フラグ28およびMEM
 4CWF未完フラグ29をセットする。
CWF−WF未完フラグ28がセットされると、CWF
フラグ21からWFフラグ20への転送が行われ、この
転送の終了と同時にCWF−WF未完フラグ28がリセ
ットされる。そして、MEM→CWF未完フラグ29が
セットされていることから、MEM50よりどのレジス
タを書き換えたかというフラグを回復するために、SL
制御回路16からデータ転送回路15に要求が出される
。この結果、データ転送回路i5によってMEM50か
らCWFフラグ21へのフラグデータの転送が行われる
。次に、CWFフラグ21およびMEM→CR未完フラ
グ27がセットされているならば、レジスタを回復する
ために、SL制御回路16からデータ転送回路(5に要
求が出される。この結果、データ転送回路15によって
MEM50からCR13へのレジスタデータの転送が行
われる。この転送が終了すると、MEM→CR未完フラ
グ27がリセットされる。
(C)プログラム中でレジスタ書込み命令が実行された
場合の動作 次に、プログラム中でレジスタ書込み命令が実行された
場合の動作を説明する。この動作は、■GR−CR未完
フラグ22、WF→CWF未完フラグ24、CR→GR
未完フラグ26およびCWF→WF未完フラグ28がリ
セットの場合、■GR−CR未完フラグ22がセットま
たはリセットの場合、■WF−CWF未完フラグ24が
セットまたはリセットの場合、そして■CR−GR未完
フラグ26またはCWF→WF未完フラグ28がセット
の場合のいずれであるかにより、次の通りとなる。
■GR−CR未完フラグ22がリセット&WF−CWF
未完フラグ24がリセット&CR−GR未完フラグ26
がリセット&CWF−4WF未完フラグ28がリセット
この場合、SL制御回路16はGR11内レジスタへの
書込みを行い、WFフラグ2oの対応フラグビットをセ
ットする。
■GR−CR未完フラグ22がセット またはリセット SL制御回路16ハ、GR−CR未完フラグ22がセッ
ト状態にあるならばレジスタへの書込みを待ち、リセッ
ト状態にあるならばレジスタへの書込みを行う。
■WF−CWF未完フラグ24がセットまたはリセット SL制御回路16は、WF−+CWF未完フラグ24が
セット状態にあるならばWFフラグ2oのセットを待ち
、リセット状態にあるならばWFフラグ20をセットす
る。
■CR−GR未完フラグ26 またはCWF−+WF未完フラグ28がセットこの場合
、SL制御回路16はCR−GR未完フラグ26および
CWF→WF未完フラグ28のうちのセット状態にある
フラグをリセットし、レジスタへの書込みを行い、WF
フラグ2oをセットする。
以上の論理により、第1図に示す本実施例システムでは
、(第4図に示す従来システムであれば、レジスタが退
避または回復するまではレジスタ書込みを待たなければ
ならないのに対し、)レジスタ回復命令後のレジスタ書
込みでは待ち時間をなくし、レジスタ退避命令後のレジ
スタ書込みでも待ち時間を減少することができるように
なる。
(D)プログラム中でレジスタ読出し命令が実行された
場合の動作 次に、プログラム中でレジスタ読出し命令が実行された
場合の動作を説明する。この動作は、■GR−>CR未
完フラグ22、WF−CWF未完フラグ24、CR−G
R未完フラグ26およびCWF−WF未完フラグ28が
リセットの場合、■GR−CR未完フラグ22がセット
の場合、■WF→CWF未完フラグ24がセットの場合
、■CR→GR未完フラグ26がセットの場合、モして
■CWF−WF未完フラグ28がセットの場合のいずれ
であるかにより、次の通りとなる。
■GR−CR未完フラグ22がリセット&WF−CWF
未完フラグ24がリセット&CR−+GR未完フラグ2
6がリセット&CWF−+WF未完フラグ28がリセッ
トこの場合、SL制御回路i6はGRII内レジスタか
らの読出しを行う。
■GR−CR未完フラグ22がセット この場合でも、SL制御回路16はレジスタ読出しを行
う。
■WF−CWF未完フラグ24がセットこの場合でも、
SL制御回路16はレジスタ読出しを行う。
■CR−4GR未完フラグ26がセットこの場合、SL
制御回路16はCR→GR未完フラグ26がリセットさ
れるのを待ってレジスタ読出しを行う。
■CWF−WF未完フラグ28がセットこの場合、SL
制御回路16はレジスタ読出しを行う。
次に、第1図の構成の更に具体的な動作を、第2図に示
すプログラムを実行する場合を例に、第3図を参照して
説明する。なお、第2図はメインルーチンMと、レジス
タ退避命令(SAVE命令)およびレジスタ回復命令(
LOAD命令)を含む2つのサブルーチン5UBI、5
UB2から成るプログラムのリストを示し、第3図は第
2図に示すプログラムの実行に伴うGRII、CR13
、WFフラグ20およびCWFフラグ21の内容の遷移
状態を示す。ここでは、GRILはRO,R1゜R2の
3つのレジスタから戊り、CR13もGRIIに対応し
て3つのレジスタから戊っているものとする。また、W
Fフラグ20.CWFフラグ21はGRIl、、  C
R13のレジスタ数に対応する3ビツトのフラグであり
、GR−CR未完フラグ22、CR−MEM未完フラグ
23、WF→CWF未完フラグ24、CWF−4MEM
未完フラグ25、CR→GR未完フラグ26、MEM−
CR未完フラグ27、CWF−WF未完フラグ28およ
びMEM−CWF未完フラグ29も、それぞれ3ビツト
のフラグであるものとする。フラグ20〜29の各ビッ
トの初期値は“0”である。
第3図(a)は第2図に示すプログラムのメインルーチ
ンMに含まれる( G R11のレジスタRO−R2を
対象とする)レジスタ書込み命令(MOVE命令)が実
行され、WFフラグ20の対応するフラグヒツトがセッ
ト(“1”に設定)された場合のCR目、CR13、W
Fフラグ20およびCWFフラグ21の状態を示す。こ
の後、メインルーチンM中のサブルーチンコール(CA
LLSUBI)が実行され、続いてサブルーチンSUB
 1に含まれる(レジスタRO〜R2を対象とする)レ
ジスタ退避命令(SAVE  RO〜R2)が実行され
る。このとき、MEM−+CR未完フラグ27およびC
R−4GR未完フラグ26がリセット状態にあり、CR
−MEM未完フラグ23およびGR−CR未完フラグ2
2もリセット状態にあるならば、SL制御回路16はG
RIIの内容(レジスタRO−R2の内容)をCR13
に転送し、CR−MEM未完フラグ23をセットする。
またMEM→CWF未完フラグ29およびCWF−WF
未完フラグ28がリセット状態にあり、CWF−MEM
未完フラグ25およびWF−CWF未完フラグ24もリ
セット状態にあるならば、SL制御回路16は(セット
状態にある)WFフラグ20の内容をCWFフラグ21
に転送し、CWF→MEM未完フラグ25をセットする
以上でレジスタ退避命令(SAVE  RO〜R2)は
終了し、以下に述べるようなプログラムとは独立した動
作が始まる。まず、本実施例のようにCR→MEM未完
フラグ23がセット状態にあるならば、SL制御回路1
6はデータ転送回路15に要求を出してCRL3の内容
をMEM50に転送させ、CR−MEM未完フラグ23
をリセットする。次に、本実施例のようにCWF−ME
M未完フラグ25がセット状態にあるならば、SL制御
回路16はデー夕転送回路15に要求を出してCWFフ
ラグ21の内容をM、EM50に転送させ、CWF−M
EM未完フラグ25をリセットする。以上の動作が終了
した際のGRII、GRl3、WFフラグ20およびC
WFフラグ21の状態を第3図(b)に示す。
サブルーチン5UBIのレジスタ退避命令(SAVE 
 RO〜R2)の次は、GRIIのレジスタRO,R1
をそれぞれ対象とするレジスタ書込み命令(MOVE命
令)が実行される。この命令実行により、GRII、C
R13、WFフラグ20およびCWFフラグ21の状態
は第3図(C)のようになる。次に、サブルーチン5U
BI中のサブルチンコール(CALL  5UB2)が
実行されると、制御がサブルーチン5UB2に移り、ま
ずレジスタRO−R2を対象とするレジスタ退避命令(
SAVE  RO−R2)が実行される。このときの動
作内容は前記したサブルーチン5UBIにおけるレジス
タ退避命令実行時と同様であるものとすると、その動作
終了時には、GRII、CR13、WFフラグ20およ
びCWFフラグ21の状態は第3図(d)のようになる
。サブルーチン5UB2のレジスタ退避命令(SAVE
  RO〜R2)の次は、G R11のレジスタROを
対象とするレジスタ書込み命令(MOVE命令)が実行
される。
この命令実行により、GRII、CR13、WFフラグ
20およびCWFフラグ21の状態は第3図(e)のよ
うになる。
サブルーチン5UB2のレジスタ書込み命令(MOVE
命令)の次は、G R11(7) L、ジスタRO〜R
2の内容を回復するためのレジスタ回復命令(LOAD
  RO−R2)が実行される。このとき、CR−ME
M未完フラグ23およびMEM−CR未完フラグ27が
リセット状態にあるならば、SL制御回路1BはWFフ
ラグ20内のセットしているフラグビットに対応するレ
ジスタデータだけ(ここではレジスタROの一時退避デ
ータ)をGRl3からGRl、1に転送する。またWF
−CWF未完フラグ24およびCWF→MEM未完フラ
グ25がリセット状態にあり、CWF→WF未完フラグ
28およびMEM−CWF未完フラグ29もリセット状
態にあるならば、SL制御回路16はCWFフラグ21
の内容をWFフラグ20に転送する。
以上でレジスタ回復命令(LOAD  RO〜R2)は
終了し、以下に述べるようなプログラムとは独立した動
作が始まる。まずSL制御回路16は、CR→GR未完
フラグ26がリセット状態にあることを検出する。CR
→GR未完フラグ26がリセット状態にある場合、SL
制御回路L6はCWFフラグ21の内容をMEM−CR
未完フラグ27に転送し、CWF→WF未完フラグ28
およびMEM→CWF未完フラグ29をセットする。C
W F −W F未完フラグ28がセットされると、S
L制御回路16はCWFフラグ21の内容をWFフラグ
20に転送する。そしてSL制御回路16は、CWFフ
ラグ21からWFフラグ20へ転送終了と同時にCWF
−WF未完フラグ28をリセットし、MEM−CWF未
完フラグのセット状態を検出すると、データ転送回路1
5に要求を出してMEM50に退避されている前のCW
Fフラグ21の内容をCWFフラグ21に転送させてC
WFフラグ21を回復させる。次にSL制御回路16は
、この回復されたCWFフラグ21とMEM→CR未完
フラグ27がセットされていることを検出し、データ転
送回路15に要求を出してMEM50に退避されている
前のCR13の内容をCR13に転送させてCR13を
回復させる。SL制御回路16はCR13を回復させる
とMEM−CR未完フラグ27をリセットする。以上の
動作が終了すると、GRII、CR13、wFフラグ2
oおよびCWFフラグ21の状態は第3図(f)のよう
になる。
サブルーチン5UB2のレジスタ回復命令(LOAD 
 RO〜R2)の次は、リターン(RETURN)命令
が実行される。これにより制御はサブルーチンSUB 
1に戻り、サブルーチン5UBI中のレジスタ回復命令
(LOADRO〜R2)が実行される。このレジスタ回
復命令の動作が、前記したサブルーチン5UBI中のレ
ジスタ回復命令(LOAD  RO−R2) の場合と
同様であるものとすると、その動作終了時にはGRII
、CR13、WFフラグ2oおよびCWF 7ラグ21
の状態は第3図(g)のようになる。
[発明の効果コ 以上詳述したようにこの発明によれば、レジスタ退避命
令で指定されるレジスタのデータを、時レジスタ手段に
高速に一時退避しておき、しかる後に一時レジスタに一
時退避されたレジスタデータをメモリに退避するように
したので、プログラム処理上では一時レジスタ手段への
一時退避の完了をもってレジスタ退避命令の実行が完了
したものとして扱うことができ、レジスタ退避命令実行
速度の高速化を図ることができる。
また、この発明によれば、レジスタ回復命令時には、同
命令で指定されているレジスタのデータを、メモリでは
なくて一時レジスタ手段から高速に取出して元のレジス
タに戻すことができるため、レジスタ回復命令実行速度
の高速化も図ることができる。
このようにレジスタ退避命令およびレジスタ回復命令の
高速化を図ることができることから、近年は特に多くな
っている構造化プログラミングの適用による細かくサブ
ルーチン化されたプログラムの処理性能が著しく向上す
る。
【図面の簡単な説明】
第1図はこの発明の演算処理装置を備えた計算機システ
ムの一実施例を示すブロック構成図、第2図はレジスタ
退避命令およびレジスタ回復命令を含むプログラムの一
例を示す図、第3図は第2図に示すプログラムの実行に
伴う演算処理装置内各部の状態の変化を示す図、第4図
は従来の演算処理装置を備えた計算機システムのブロッ
ク構成図である。 10・・・演算処理装置(PU)、11・・・汎用レジ
スタファイル(GR)  12・・・命令実行制御回路
、13・・・テンポラリレジスタファイル(CR)、1
4゜15・・・データ転送回路、1B・・・レジスタ退
避・回復制御回路(SL制御回路)20・・・WFフラ
グ、21・・・CWFフラグ、22・・・GR−CR未
完フラグ、23・・・CR−4MEM未完フラグ、24
・・・WF−CWF未完フラグ、25・・・CWF→M
EM未完フラグ、26・・・CR→GR未完フラグ、2
7・・・MEM−4CR未完フラグ、28・・・CWF
−4WF未完フラグ、29・・・MEM−CWF未完フ
ラグ、50・・・主メモリ(MEM) 、80・・・シ
ステムバス。

Claims (2)

    【特許請求の範囲】
  1. (1)各種レジスタの内容をメモリに退避するためのレ
    ジスタ退避命令および上記メモリに退避されている各種
    レジスタの内容を元のレジスタに戻すためのレジスタ回
    復命令を含む各種命令を実行する演算処理装置において
    、 上記レジスタ退避命令の実行時に各種レジスタの内容を
    一時退避するために用いられる一時レジスタ手段と、 上記レジスタ退避命令で指定される各種レジスタの内容
    を上記一時レジスタ手段に一時退避させるレジスタ退避
    命令実行手段と、 このレジスタ退避命令実行手段の動作後に、上記一時レ
    ジスタ手段に一時退避されている上記各種レジスタの内
    容を上記メモリに転送して同メモリ内に退避するデータ
    転送手段と、 を具備し、プログラム動作上では、上記レジスタ退避命
    令実行手段の動作完了をもって、対応する上記レジスタ
    退避命令の実行が完了したものとして扱うようにしたこ
    とを特徴とする演算処理装置。
  2. (2)各種レジスタの内容をメモリに退避するためのレ
    ジスタ退避命令および上記メモリに退避されている各種
    レジスタの内容を元のレジスタに戻すためのレジスタ回
    復命令を含む各種命令を実行する演算処理装置において
    、 上記レジスタ退避命令の実行時に各種レジスタの内容を
    一時退避するため、および上記レジスタ回復命令の実行
    の準備のために用いられる一時レジスタ手段と、 上記レジスタ退避命令で指定される各種レジスタの内容
    を上記一時レジスタ手段に一時退避させるレジスタ退避
    命令実行手段と、 上記レジスタ回復命令で指定される各種レジスタの内容
    を上記一時レジスタ手段から取出して元のレジスタに戻
    すレジスタ回復命令実行手段と、上記レジスタ退避命令
    実行手段の動作後に、上記一時レジスタ手段に一時退避
    されている上記各種レジスタの内容を上記メモリに転送
    して同メモリ内に退避する一方、上記レジスタ回復命令
    実行手段の動作後に、上記メモリに退避されている各種
    レジスタの内容を上記一時レジスタ手段に戻して前の上
    記一時レジスタ手段の状態を回復し、次の上記レジスタ
    回復命令の実行に備えるデータ転送手段と、 を具備し、プログラム動作上では、上記レジスタ退避命
    令実行手段の動作完了をもって、対応する上記レジスタ
    退避命令の実行が完了したものとして扱い、上記レジス
    タ回復命令実行手段の動作完了をもって、対応する上記
    レジスタ回復命令の実行が完了したものとして扱うよう
    にしたことを特徴とする演算処理装置。
JP33841989A 1989-12-28 1989-12-28 演算処理装置 Pending JPH03201032A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33841989A JPH03201032A (ja) 1989-12-28 1989-12-28 演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33841989A JPH03201032A (ja) 1989-12-28 1989-12-28 演算処理装置

Publications (1)

Publication Number Publication Date
JPH03201032A true JPH03201032A (ja) 1991-09-02

Family

ID=18317978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33841989A Pending JPH03201032A (ja) 1989-12-28 1989-12-28 演算処理装置

Country Status (1)

Country Link
JP (1) JPH03201032A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117319B2 (en) 2002-12-05 2006-10-03 International Business Machines Corporation Managing processor architected state upon an interrupt
US7272664B2 (en) 2002-12-05 2007-09-18 International Business Machines Corporation Cross partition sharing of state information
US7493478B2 (en) 2002-12-05 2009-02-17 International Business Machines Corporation Enhanced processor virtualization mechanism via saving and restoring soft processor/system states

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117319B2 (en) 2002-12-05 2006-10-03 International Business Machines Corporation Managing processor architected state upon an interrupt
US7272664B2 (en) 2002-12-05 2007-09-18 International Business Machines Corporation Cross partition sharing of state information
US7493478B2 (en) 2002-12-05 2009-02-17 International Business Machines Corporation Enhanced processor virtualization mechanism via saving and restoring soft processor/system states
US7849298B2 (en) 2002-12-05 2010-12-07 International Business Machines Corporation Enhanced processor virtualization mechanism via saving and restoring soft processor/system states

Similar Documents

Publication Publication Date Title
JP2829091B2 (ja) データ処理システム
EP0240606B1 (en) Pipe-line processing system and microprocessor using the system
JPH03201032A (ja) 演算処理装置
EP0385136B1 (en) Microprocessor cooperating with a coprocessor
JPH01303529A (ja) データ処理装置
JPS623347A (ja) エラ−回復情報退避方式
JPS6212531B2 (ja)
JP2671160B2 (ja) 例外処理方式
JPS5842487B2 (ja) プログラムのロ−デイング方式
JPH0683639A (ja) レジスタ装置
US7096346B2 (en) Microprocessor having instructions for exchanging values between two registers or two memory locations
JPH02129724A (ja) プログラム実行方式
JPS6252900B2 (ja)
JPH03218524A (ja) 命令処理装置
JPH05250161A (ja) マイクロコンピュータ装置
JPS6160468B2 (ja)
JPS59180755A (ja) トレ−ス方式
JPH0353655B2 (ja)
JPH0465723A (ja) 割込処理方法
JPH02217924A (ja) データ処理装置のストア処理方式
JPH0367357A (ja) マルチcpuシステム
JPS63244274A (ja) 画像処理方式
JPH0474266A (ja) 識別子付きアクセス命令の逐次化制御方式
JPH04242420A (ja) 磁気テープデータ記録方式
JPS6148746B2 (ja)