JPS63138432A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPS63138432A JPS63138432A JP28431586A JP28431586A JPS63138432A JP S63138432 A JPS63138432 A JP S63138432A JP 28431586 A JP28431586 A JP 28431586A JP 28431586 A JP28431586 A JP 28431586A JP S63138432 A JPS63138432 A JP S63138432A
- Authority
- JP
- Japan
- Prior art keywords
- register
- registers
- general
- management
- task
- 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
Links
- 230000010365 information processing Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 239000000725 suspension Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、情報処理装置に関し、特に、冗長な汎用レジ
スタの操作を排除して、効率的なプログラムを実行する
ことが可能な情報処理装置に関する。
スタの操作を排除して、効率的なプログラムを実行する
ことが可能な情報処理装置に関する。
[従来技術〕
情報処理装置において、プログラムを実行する場合、タ
スク群やサブルーチン群にとって、共通のハードウェア
資源である中央演算装置内の汎用レジスタの管理は不可
欠である。例えば、あるタスクの実行時に2割り込みや
スーパーバイザ呼び出し等が発生すると、そのタスクの
実行を一時中断し、その中断の後、ある時点で再開する
。この再開のため、汎用レジスタを管理し、汎用レジス
タの値の退避、および回復する必要がある。
スク群やサブルーチン群にとって、共通のハードウェア
資源である中央演算装置内の汎用レジスタの管理は不可
欠である。例えば、あるタスクの実行時に2割り込みや
スーパーバイザ呼び出し等が発生すると、そのタスクの
実行を一時中断し、その中断の後、ある時点で再開する
。この再開のため、汎用レジスタを管理し、汎用レジス
タの値の退避、および回復する必要がある。
このような汎用レジスタの管理については、例えば、′
オペレーティング・システム、Madniek、Don
ovan著、池田克夫訳2日本コンピュータ協会、第4
61頁〜465頁″に記載されている方法では、その中
断時点の汎用レジスタの値を保存し、実行再開時に、汎
用レジスタの値を、その保存さオtた値に入れ換えるた
め、全ての汎用レジスタ用の退避領域を確保して、汎用
レジスタの値の退避、および回復を実現している。
オペレーティング・システム、Madniek、Don
ovan著、池田克夫訳2日本コンピュータ協会、第4
61頁〜465頁″に記載されている方法では、その中
断時点の汎用レジスタの値を保存し、実行再開時に、汎
用レジスタの値を、その保存さオtた値に入れ換えるた
め、全ての汎用レジスタ用の退避領域を確保して、汎用
レジスタの値の退避、および回復を実現している。
上記従来技術では、汎用レジスタの値の退避。
および回復については、退避領域を確保して、全ての汎
用レジスタの値を退避する方式を採用しているため、無
駄な退避や回復をすることがあり、効率的なプログラム
の実行が難しいという問題があった。
用レジスタの値を退避する方式を採用しているため、無
駄な退避や回復をすることがあり、効率的なプログラム
の実行が難しいという問題があった。
本発明の目的は、タスク切り換えやサブルーチン呼び出
し等が発生した場合、無駄な汎用レジスタの退避、およ
び回復を減少することが可能な情報処理装置を提供する
ことにある。
し等が発生した場合、無駄な汎用レジスタの退避、およ
び回復を減少することが可能な情報処理装置を提供する
ことにある。
上記目的を達成するため、本発明の情報処理装置は、中
央演算処理装置内の多数の汎用レジスタに対し、機械命
令語により、その汎用レジスタを参照する情報処理装置
において、上記汎用レジスタの値を参照する際、その値
が以降も再度参照される値か否かを指定する生死フラグ
、その生死フラグと、汎用レジスタとを関係付けて、全
ての汎−用レジスタを管理する手段(管理レジスタ)、
および、その管理レジスタに生の表示がある汎用レジス
タのみを、選択的に退避・回復させる命令語を設けたこ
とに特徴がある。
央演算処理装置内の多数の汎用レジスタに対し、機械命
令語により、その汎用レジスタを参照する情報処理装置
において、上記汎用レジスタの値を参照する際、その値
が以降も再度参照される値か否かを指定する生死フラグ
、その生死フラグと、汎用レジスタとを関係付けて、全
ての汎−用レジスタを管理する手段(管理レジスタ)、
および、その管理レジスタに生の表示がある汎用レジス
タのみを、選択的に退避・回復させる命令語を設けたこ
とに特徴がある。
本発明においては、各々の汎用レジスタの中、何れの汎
用レジスタに退避、および回復が必要であるかを、常に
モニタする管理レジスタを設け、この管理レジスタを参
照して、必要な汎用レジスタのみを、退避、および回復
させる。
用レジスタに退避、および回復が必要であるかを、常に
モニタする管理レジスタを設け、この管理レジスタを参
照して、必要な汎用レジスタのみを、退避、および回復
させる。
タスク切り換え等において、退避、および回復が必要な
汎用レジスタは、生きている汎用レジスタである。なお
、生きている汎用レジスタとは、その時点以降、その値
が有効であり、再度、参照される汎用?ジスタである。
汎用レジスタは、生きている汎用レジスタである。なお
、生きている汎用レジスタとは、その時点以降、その値
が有効であり、再度、参照される汎用?ジスタである。
また、死んでいる汎用レジスタとは、その時点以降、そ
の値が無効であり、再度、参照されることのない汎用レ
ジスタである。
の値が無効であり、再度、参照されることのない汎用レ
ジスタである。
その汎用レジスタに対する参照(リード)があると、そ
の参照以降の生死を、プログラマ、またはコンパイラが
1機械命令語で指定する。従って。
の参照以降の生死を、プログラマ、またはコンパイラが
1機械命令語で指定する。従って。
汎用レジスタに値を設定(ロード)する場合、その汎用
レジスタの生死番;関する指定は不要である。
レジスタの生死番;関する指定は不要である。
汎用レジスタの生死の表現については、管理レジスタは
、1個の汎用レジスタにつき、1ビツトで表現するため
、汎用レジスタの個数分のビット数を持つ。また、機械
命令語において、オペランドの汎用レジスタ番;対する
生死の指定方法は、オペランド情報の拡張、あるいは、
オペレーション・コードの拡張の何れを用いてもよい。
、1個の汎用レジスタにつき、1ビツトで表現するため
、汎用レジスタの個数分のビット数を持つ。また、機械
命令語において、オペランドの汎用レジスタ番;対する
生死の指定方法は、オペランド情報の拡張、あるいは、
オペレーション・コードの拡張の何れを用いてもよい。
例えば、アセンブリ語では、その記法との互換性を保持
するため、特別の記法の追加がなければ、その汎用レジ
スタが有効であることを示す、従って、オペランドのレ
ジスタが無効である場合のみ、レジスタ番号の前後に特
定の記号を付け゛る方法等で表現する。
するため、特別の記法の追加がなければ、その汎用レジ
スタが有効であることを示す、従って、オペランドのレ
ジスタが無効である場合のみ、レジスタ番号の前後に特
定の記号を付け゛る方法等で表現する。
この場合、]が特別の記号であれば、5TORE コR
1+○PRという命令語により、R1がMOVE命令以
降、無効となることを意味する。
1+○PRという命令語により、R1がMOVE命令以
降、無効となることを意味する。
また、5TORE R1,OPRという命令語により
、R1は、この命令以降も有効であることを意味する。
、R1は、この命令以降も有効であることを意味する。
なお、高級言語では、コンパイラが出力する命令語に対
して、生死の指定を行うため、ソースプログラムを変更
する必要はない。
して、生死の指定を行うため、ソースプログラムを変更
する必要はない。
汎用レジスタの生死状態を示す管理レジスタ情報は、タ
スク毎に異なるため、各タスクは、個別に管理レジスタ
情報を保存する領域、つまり、管理レジスタ退避領域を
、主メ、モリに確保する。
スク毎に異なるため、各タスクは、個別に管理レジスタ
情報を保存する領域、つまり、管理レジスタ退避領域を
、主メ、モリに確保する。
また、タスク管理のために必要な2つの機能。
つまり、(1)管理レジスタから管理レジスタ退避領域
へのデータ転送機能、および、(2)管理レジスタ退避
領域から管理レジスタへのデータ転送機能に対応して、
5AVECNT (e a)と、RE S T ORE
CN T (e a )とを、命令語として新・設す
る。なお、<e a>は管理レジスタ退避領域の先頭の
有効アドレスである。
へのデータ転送機能、および、(2)管理レジスタ退避
領域から管理レジスタへのデータ転送機能に対応して、
5AVECNT (e a)と、RE S T ORE
CN T (e a )とを、命令語として新・設す
る。なお、<e a>は管理レジスタ退避領域の先頭の
有効アドレスである。
さらに、2つの機能、つまり、(3)管理レジスタを参
照し、有効な全ての汎用レジスタを、主メモリのし、ジ
スタ退避領域に退避するため、データ転送を行う機能、
および、(4)管理レジスタを参照し、管理レジスタ退
避領域から、有効な全ての汎用レジスタに対して、デー
タ転送を行う機能を設け、各機能に対応して、5AVE
REG<e a>と、RE S T ORE RE G
< e a >とを、命令語として新設する。なお、
(e a)は、管理レジスタ退避領域の有効アドレスで
あり、また、(3)において、有効な汎用レジスタの転
送後、全ての汎用レジスタは無効となる。
照し、有効な全ての汎用レジスタを、主メモリのし、ジ
スタ退避領域に退避するため、データ転送を行う機能、
および、(4)管理レジスタを参照し、管理レジスタ退
避領域から、有効な全ての汎用レジスタに対して、デー
タ転送を行う機能を設け、各機能に対応して、5AVE
REG<e a>と、RE S T ORE RE G
< e a >とを、命令語として新設する。なお、
(e a)は、管理レジスタ退避領域の有効アドレスで
あり、また、(3)において、有効な汎用レジスタの転
送後、全ての汎用レジスタは無効となる。
このように、新たに設けた5AVECNT、RESTO
RECNT、5AVEREG、およびRESTORER
EGの各命゛令は、一般に命令の実行時間が長いため、
特定の緊急割り込みに対して、命令語の実行中の中断を
許可することもある。
RECNT、5AVEREG、およびRESTORER
EGの各命゛令は、一般に命令の実行時間が長いため、
特定の緊急割り込みに対して、命令語の実行中の中断を
許可することもある。
以下、本発明の一実施例を図面により説明する。
第1図は、本発明の一実施例の情報処理装置における中
央演算装置の構成図、第2図は本発明の一実施例の情報
処理装置における中央演算装置。
央演算装置の構成図、第2図は本発明の一実施例の情報
処理装置における中央演算装置。
および主メモリ内の関連データ項目の説明図、第3図は
本発明の一実施例における管理レジスタ。
本発明の一実施例における管理レジスタ。
および汎用レジスタの退避・回復フローチャートである
。
。
本実施例の情報処理装置における中央演算装置・は、第
1図のように、レジスタ・アクセス回路4゜汎用レジス
タ5.ビット・アドレス変換回路6゜行デコーダ7、列
デコーダ8.および管理レジスタ9を備え、命令レジス
タ10の内容に従い、演算処理を行う、また、汎用レジ
スタ5参照(リード)がある全ての命令語1に対して、
参照する汎用レジスタ5毎に、生死フラグ2を設定する
。なお、レジスタ番号部3には、命令語lのオペランド
のレジスタ番号が保持される。
1図のように、レジスタ・アクセス回路4゜汎用レジス
タ5.ビット・アドレス変換回路6゜行デコーダ7、列
デコーダ8.および管理レジスタ9を備え、命令レジス
タ10の内容に従い、演算処理を行う、また、汎用レジ
スタ5参照(リード)がある全ての命令語1に対して、
参照する汎用レジスタ5毎に、生死フラグ2を設定する
。なお、レジスタ番号部3には、命令語lのオペランド
のレジスタ番号が保持される。
レジスタ・アクセス回路4は、レジスタ番号部3のレジ
スタ番号の指定に従い、各汎用レジスタ5をアクセスす
る。
スタ番号の指定に従い、各汎用レジスタ5をアクセスす
る。
管理レジスタ9は、レジスタ番号部3のレジスタ番号が
指定した汎用レジスタ5の生死フラグ2情報を格納し、
この格納の際のビット位置は、そのレジスタ番号情報を
基に、ビット・アドレス変換回路61行デコーダ7、お
よび列デコーダ8により、求められる。
指定した汎用レジスタ5の生死フラグ2情報を格納し、
この格納の際のビット位置は、そのレジスタ番号情報を
基に、ビット・アドレス変換回路61行デコーダ7、お
よび列デコーダ8により、求められる。
また、本実施例の情報処理装置は、第2図のように、中
央演算装置1°6.および主メモリ17を備え、タスク
管理を行う場合、中央演算装置16内に、各々のタスク
の共通の資源である汎用レジスタ5.および管理レジス
タ9を設け、タスク実行中の割り込み等による中断に備
えて、それらのレジスタの値を退避するため1例えば、
タスクAのタスク・データ領域18.および、タスクB
のタスク・データ領域19内に、それぞれのタスクに対
応する管理レジスタ退避領域゛1o、および12と、レ
ジスタ退避領域11.および13とを設定する。また、
管理レジスタ退避領域10,32゜およびレジスタ退避
領域11.13の各先頭番地は、点線、および矢印で示
すように、主メモリ17内のオペレーティング・システ
ムのデータ領域20にあるタスク制御ブロック(以下T
CBと略す)14.15内に登録される。
央演算装置1°6.および主メモリ17を備え、タスク
管理を行う場合、中央演算装置16内に、各々のタスク
の共通の資源である汎用レジスタ5.および管理レジス
タ9を設け、タスク実行中の割り込み等による中断に備
えて、それらのレジスタの値を退避するため1例えば、
タスクAのタスク・データ領域18.および、タスクB
のタスク・データ領域19内に、それぞれのタスクに対
応する管理レジスタ退避領域゛1o、および12と、レ
ジスタ退避領域11.および13とを設定する。また、
管理レジスタ退避領域10,32゜およびレジスタ退避
領域11.13の各先頭番地は、点線、および矢印で示
すように、主メモリ17内のオペレーティング・システ
ムのデータ領域20にあるタスク制御ブロック(以下T
CBと略す)14.15内に登録される。
本実施例におけるオペレーティング・システムの変更、
および追加処理については、第3図のように、例えば、
タスクの中断処理では(301)、管理レジスタ9を参
照することにより(302)、有効な汎用レジスタ5の
みを退避しく303)、管理レジスタ9も管理レジスタ
退避領域10,12へ退避する(304)。
および追加処理については、第3図のように、例えば、
タスクの中断処理では(301)、管理レジスタ9を参
照することにより(302)、有効な汎用レジスタ5の
みを退避しく303)、管理レジスタ9も管理レジスタ
退避領域10,12へ退避する(304)。
この処理をアセンブラで記述すると、有効な汎用レジス
タ5のみを退避する命令として、例えば、5AvERE
G d2 (R1)を設け、管理レジスタ9を退避する
命令として、5AVECNTd□ (R1)を設ける。
タ5のみを退避する命令として、例えば、5AvERE
G d2 (R1)を設け、管理レジスタ9を退避する
命令として、5AVECNTd□ (R1)を設ける。
なお、この場合、TCB14.15の先頭番地は汎用レ
ジスタR1に格納され、管理レジスタ退避領域10.1
2の番地は、TCBI4,15の先頭からa1バイト目
に格納され、レジスタ退避領域11.13の番地は、T
CB14.15の先頭からd2バイト目に格納されてい
る。
ジスタR1に格納され、管理レジスタ退避領域10.1
2の番地は、TCBI4,15の先頭からa1バイト目
に格納され、レジスタ退避領域11.13の番地は、T
CB14.15の先頭からd2バイト目に格納されてい
る。
また、そのタスクの中断が解除され、タスクの再開処理
を行う場合(305)、まず、管理レジスタ9を中断時
点の内容に復帰するため、RESTORECNTという
命令により、管理レジスタ退避領域10.12から管理
レジスタ9に値をロードする(306)、次に、この管
理レジスタ9に従い、生きているレジスタに対してのみ
、RESTOREREGという命令により、レジスタ退
避領域11.13から値をロードする(307)。
を行う場合(305)、まず、管理レジスタ9を中断時
点の内容に復帰するため、RESTORECNTという
命令により、管理レジスタ退避領域10.12から管理
レジスタ9に値をロードする(306)、次に、この管
理レジスタ9に従い、生きているレジスタに対してのみ
、RESTOREREGという命令により、レジスタ退
避領域11.13から値をロードする(307)。
この処理をアセンブラで記述すると、タスクの管理レジ
スタの値をロードする命令として、例えば、RE S
T ORE CN T d l (R1)を設け、
その管理レジスタ9に従い、有効な汎用レジスタ5にの
み、レジスタ退避領域11.13から値をロードする命
令として、RESTOREREGd2 (R1)を設け
る。なお、d□、d2.およびR,は、タスクの中断処
理の場合と同様の値を示す。
スタの値をロードする命令として、例えば、RE S
T ORE CN T d l (R1)を設け、
その管理レジスタ9に従い、有効な汎用レジスタ5にの
み、レジスタ退避領域11.13から値をロードする命
令として、RESTOREREGd2 (R1)を設け
る。なお、d□、d2.およびR,は、タスクの中断処
理の場合と同様の値を示す。
こうして、有効な汎用レジスタ5の値のみを退避し、回
復する。
復する。
本発明によれば、内蔵レジスタの状態を表現する管理レ
ジスタと、これに関連する命令を設けることにより、大
量のレジスタを備えた計算機において、タスク・スイッ
チの際、レジスタの無駄な退避、および回復を減少する
ことができるため、その計算機の効率を高めることが可
能である。
ジスタと、これに関連する命令を設けることにより、大
量のレジスタを備えた計算機において、タスク・スイッ
チの際、レジスタの無駄な退避、および回復を減少する
ことができるため、その計算機の効率を高めることが可
能である。
第1図は本発明の一実施例の情報処理装置における中央
演算装置゛の構成図、第2図は本発明の一実施例の情報
処理装置における中央演算装置、および主メモリ内の関
連データ項目の説明図、第3図は本発明の一実施例にお
ける管理レジスタ、および汎用レジスタの退避・回復フ
ローチャートである。 1:命令語、2:生死フラグ、3:レジスタ番号部、4
:レジスタ・アクセス回路、5:汎用レジスタ、6:ビ
ツトアドレス変換回路、7:行デコーダ、8:列デコー
ダ、9:管理レジスタ、10:命令レジスタ、11,1
3:レジスタ退避領域、10.12:管理レジスタ退避
領域、14゜15:タスク制御ブロック(TCB)、1
6 :中央演算装置、17:主メモリ、18,19:タ
スク・データ領域、20:主メモリ内のオペレーティン
グ・システムのデータ領域。 第7目 %Z目 第3凶
演算装置゛の構成図、第2図は本発明の一実施例の情報
処理装置における中央演算装置、および主メモリ内の関
連データ項目の説明図、第3図は本発明の一実施例にお
ける管理レジスタ、および汎用レジスタの退避・回復フ
ローチャートである。 1:命令語、2:生死フラグ、3:レジスタ番号部、4
:レジスタ・アクセス回路、5:汎用レジスタ、6:ビ
ツトアドレス変換回路、7:行デコーダ、8:列デコー
ダ、9:管理レジスタ、10:命令レジスタ、11,1
3:レジスタ退避領域、10.12:管理レジスタ退避
領域、14゜15:タスク制御ブロック(TCB)、1
6 :中央演算装置、17:主メモリ、18,19:タ
スク・データ領域、20:主メモリ内のオペレーティン
グ・システムのデータ領域。 第7目 %Z目 第3凶
Claims (1)
- 1、中央演算装置に内蔵された多数の汎用レジスタに対
し、機械命令語により、該汎用レジスタを参照する情報
処理装置において、上記汎用レジスタの値を参照すると
きに、該値が該参照以降も、再度参照される値か否かを
指定する手段、該指定手段と該汎用レジスタとを関係付
けて、全ての該汎用レジスタを管理する手段、および、
該管理手段の表示に従い、該参照以降も参照される値を
持つ該汎用レジスタのみを、選択的に退避・回復させる
手段を設けたことを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28431586A JPS63138432A (ja) | 1986-12-01 | 1986-12-01 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28431586A JPS63138432A (ja) | 1986-12-01 | 1986-12-01 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63138432A true JPS63138432A (ja) | 1988-06-10 |
Family
ID=17676957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28431586A Pending JPS63138432A (ja) | 1986-12-01 | 1986-12-01 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63138432A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05143331A (ja) * | 1991-11-20 | 1993-06-11 | Pfu Ltd | 仮想記憶制御における命令中断情報制御方式 |
-
1986
- 1986-12-01 JP JP28431586A patent/JPS63138432A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05143331A (ja) * | 1991-11-20 | 1993-06-11 | Pfu Ltd | 仮想記憶制御における命令中断情報制御方式 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH09212371A (ja) | レジスタ退避及び復元システム | |
JPH08505965A (ja) | コンテキスト切り換え装置及び方法 | |
EP0217168A2 (en) | Method for processing address translation exceptions in a virtual memory system | |
JPH01161442A (ja) | レジスタ退避・回復方式 | |
JPS63138432A (ja) | 情報処理装置 | |
US4797816A (en) | Virtual memory supported processor having restoration circuit for register recovering | |
JPH01217635A (ja) | レジスタ退避方式 | |
JP3163196B2 (ja) | 仮想記憶制御における命令中断情報格納制御方法 | |
JPH11167494A (ja) | 演算処理装置、及び演算処理装置のレジスタ管理方法 | |
JP2002149417A (ja) | レジスタ退避・回復方法 | |
JPH0554141B2 (ja) | ||
JPS62125437A (ja) | 付加プロセツサの制御方法 | |
JPH07120286B2 (ja) | 浮動小数点関数擬似命令処理方法 | |
JPH04293159A (ja) | ベクトルデータ処理装置 | |
JPH03184127A (ja) | レジスタ退避制御方法 | |
JPH0283743A (ja) | 情報処理装置 | |
JPS6353650A (ja) | 計算機 | |
JPS6356737A (ja) | マルチタスク処理装置 | |
JPS61184644A (ja) | 仮想計算機システム制御方式 | |
JPH03182945A (ja) | 主記憶内データ転送方式 | |
JPH10289113A (ja) | 計算機のレジスタコンテキストの保存/復元方式 | |
JPS6394339A (ja) | 仮想計算機システム | |
JPS63310040A (ja) | デ−タ採取方式 | |
JPH0363827A (ja) | レジスタ退避方式 | |
JPS626329A (ja) | デ−タ転送回路 |