JPS6177936A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPS6177936A JPS6177936A JP20093084A JP20093084A JPS6177936A JP S6177936 A JPS6177936 A JP S6177936A JP 20093084 A JP20093084 A JP 20093084A JP 20093084 A JP20093084 A JP 20093084A JP S6177936 A JPS6177936 A JP S6177936A
- Authority
- JP
- Japan
- Prior art keywords
- subset
- mode
- registers
- task
- general
- 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
- 238000006243 chemical reaction Methods 0.000 claims abstract description 5
- 238000013500 data storage Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 12
- 238000000034 method Methods 0.000 description 12
- 230000010365 information processing Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 2
- 238000007372 rollout process Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 102220005128 rs35654785 Human genes 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(技術分野)
本発明に情報処理装置に関し9%に汎用レジスタの有効
利用全可能とする情報処理fc寛に関する。
利用全可能とする情報処理fc寛に関する。
(従来技術)
一般に情報処理装置においてに、汎用レジスタと工ばれ
るレジスタをプロセッサ内に設け、これを機械語命令で
データの格納場所として使用することが行われている。
るレジスタをプロセッサ内に設け、これを機械語命令で
データの格納場所として使用することが行われている。
汎用レジスタ全使用することに=9、主記憶上にデータ
全格納する場合に比べて高速にアクセスできるので、頻
繁に使用するデータを汎用レジスタに割当てることにエ
ム処理速度を速くできるという長所がらる。
全格納する場合に比べて高速にアクセスできるので、頻
繁に使用するデータを汎用レジスタに割当てることにエ
ム処理速度を速くできるという長所がらる。
後に示すエラなタスク切換えに↓る影響を無視して、−
個のタスクだけについて考え几場合、多数の汎用レジス
タ七使用できれば、処理速度の向上が著しい応用も存在
する反面、性能向上の度合が低い応用も存在する。
個のタスクだけについて考え几場合、多数の汎用レジス
タ七使用できれば、処理速度の向上が著しい応用も存在
する反面、性能向上の度合が低い応用も存在する。
−1、汎用レジスタで備える情報処理装置においてに、
タスクの切換えに際して、使用している汎用レジスタの
内容の主記憶へのセーブ、あるいは、主記憶からのりス
トアを行う必要がろり、この友めのデータ転送の処理時
間が汎用レジスタの効果を削減する要因となっている。
タスクの切換えに際して、使用している汎用レジスタの
内容の主記憶へのセーブ、あるいは、主記憶からのりス
トアを行う必要がろり、この友めのデータ転送の処理時
間が汎用レジスタの効果を削減する要因となっている。
このタスク切換えの頻度についても、単一のタスクが長
時間プロセッサを使用し、タスク切換えがほとんど発生
しないような環境も存在する−1、多数のタスクが頻繁
に切換わりながら処理t−実行し、−個のタスクが連続
してプロセッサで走行する時間が極めて短いよりな環境
も存在する。
時間プロセッサを使用し、タスク切換えがほとんど発生
しないような環境も存在する−1、多数のタスクが頻繁
に切換わりながら処理t−実行し、−個のタスクが連続
してプロセッサで走行する時間が極めて短いよりな環境
も存在する。
従って、前者のような場合には汎用レジスタの内容セー
ブ/リストアのfillが低いtめに、多数の汎用レジ
スタ七使用することVcよる効果が顕著に現れるのに対
し、後者のL5な場合には、汎用レジスタの内容のセー
ブ/リストアのオーバヘッドを少なくすることが性能向
上の面から重要な問題となる。
ブ/リストアのfillが低いtめに、多数の汎用レジ
スタ七使用することVcよる効果が顕著に現れるのに対
し、後者のL5な場合には、汎用レジスタの内容のセー
ブ/リストアのオーバヘッドを少なくすることが性能向
上の面から重要な問題となる。
この几め、特に高速なタスクの切換え重要するような応
用のために特に設計され窺プロセッサにおいては、汎用
レジスタやプログラムカウンタのような内部レジスタを
複数セット用意しこれを切換えることにエラ、レジスタ
内部の主記憶へのセーブ/リストア上行りことなくタス
クを直ちに切換えるような方法が採用されているものが
ろる。
用のために特に設計され窺プロセッサにおいては、汎用
レジスタやプログラムカウンタのような内部レジスタを
複数セット用意しこれを切換えることにエラ、レジスタ
内部の主記憶へのセーブ/リストア上行りことなくタス
クを直ちに切換えるような方法が採用されているものが
ろる。
しかしながらこのLうな従来の情報処理装置ではプロセ
ッサ全特に高速なタスク切換え全必要としない応用に利
用し九場合には、複数セットの内部レジス°りのtめの
ハードウェアが無駄となってしまうという欠点がるる。
ッサ全特に高速なタスク切換え全必要としない応用に利
用し九場合には、複数セットの内部レジス°りのtめの
ハードウェアが無駄となってしまうという欠点がるる。
te、汎用レジスタの内容のセーブ/リストアを節約す
るtめにあらかじめ各モードで使用できる汎用レジスタ
を定めておきそれ以外は使用しないようにすることVC
工9、汎用レジスタがいくつかのモードに重なって使わ
れないようにする方法も行われている。しかしながらこ
のLつな従来の情報処理装置では、プログラムの作放り
時点からそのプログラムで使用可能な汎用レジスタを決
定しておく必要がわり、更に使用を許され比況用レジス
タのみを使用する工うにプログラム七作底する必要がわ
り、一度作放され友プログラムはそのタスクでしか使用
できないtめ、プログラムの自由度が限定されるという
欠点がるる。特にスタックポインタ、アーギエメントポ
インタ等’に%定の汎用レジスタに割当てているような
システムにおいては、すべてのプログラムが同一の汎用
レジスタを指定せざるを得ない九めにこれらについては
必ずセーブ/リストアが必要となり各タスクに割当てる
効果が減じられる欠点がある。
るtめにあらかじめ各モードで使用できる汎用レジスタ
を定めておきそれ以外は使用しないようにすることVC
工9、汎用レジスタがいくつかのモードに重なって使わ
れないようにする方法も行われている。しかしながらこ
のLつな従来の情報処理装置では、プログラムの作放り
時点からそのプログラムで使用可能な汎用レジスタを決
定しておく必要がわり、更に使用を許され比況用レジス
タのみを使用する工うにプログラム七作底する必要がわ
り、一度作放され友プログラムはそのタスクでしか使用
できないtめ、プログラムの自由度が限定されるという
欠点がるる。特にスタックポインタ、アーギエメントポ
インタ等’に%定の汎用レジスタに割当てているような
システムにおいては、すべてのプログラムが同一の汎用
レジスタを指定せざるを得ない九めにこれらについては
必ずセーブ/リストアが必要となり各タスクに割当てる
効果が減じられる欠点がある。
(発明の目的)
本発明の第1の目的は、プロセッサにサブセットアドレ
ス変換機構を設けることにより汎用レジスタを一個のプ
ログラムから全レジスタ使用することもでき、ま比況用
レジスタの一部のみ全使用して複数のタスクで汎用レジ
スタの内容のセーブ/リストアを行うことなく高速にタ
スク切換えを行い処理速度で向上できる情報処理装置を
提供することKある。
ス変換機構を設けることにより汎用レジスタを一個のプ
ログラムから全レジスタ使用することもでき、ま比況用
レジスタの一部のみ全使用して複数のタスクで汎用レジ
スタの内容のセーブ/リストアを行うことなく高速にタ
スク切換えを行い処理速度で向上できる情報処理装置を
提供することKある。
本発明の第2の目的に、プロセッサに設けたサブセット
アドレス変換機構lCL力、プログラムの機械語命令で
指定する汎用レジスタをそのプログラムの実行されてい
る時点でのサブセット選択モードに応じてハードウェア
的にプロセッサ上の汎用レジスタに割当てることに=9
、プログラムを作置する時点では各プログラムは、実行
時に実際に割当てられるサブセットを意識する必要がな
く、プログラムの融通性を高めるとともに、汎用レジス
タの一部として固定的に割当てられている特殊レジスタ
についても、プログラムでは同一の汎用レジスタのアド
レス全指定しても実際のプロセッサ上の汎用レジスタア
ドレスに対するサブセット単位での変換紮行ないセーブ
/リストアを不要として汎用レジスタの有効利用上向上
できる情報処理装置を提供すること[6る。
アドレス変換機構lCL力、プログラムの機械語命令で
指定する汎用レジスタをそのプログラムの実行されてい
る時点でのサブセット選択モードに応じてハードウェア
的にプロセッサ上の汎用レジスタに割当てることに=9
、プログラムを作置する時点では各プログラムは、実行
時に実際に割当てられるサブセットを意識する必要がな
く、プログラムの融通性を高めるとともに、汎用レジス
タの一部として固定的に割当てられている特殊レジスタ
についても、プログラムでは同一の汎用レジスタのアド
レス全指定しても実際のプロセッサ上の汎用レジスタア
ドレスに対するサブセット単位での変換紮行ないセーブ
/リストアを不要として汎用レジスタの有効利用上向上
できる情報処理装置を提供すること[6る。
本発明の第3の目的は、汎用レジスタの基本モードに属
するサブセットしか使用しないプログラムと、基本モー
ド以外のサブセットも使用するプログラムの混用を可能
とするとともに最小限のレジスタの内容のセーブ、リス
トアでこれらのタスク間の切換えを可能とする情報処理
装置全提供することにろる。
するサブセットしか使用しないプログラムと、基本モー
ド以外のサブセットも使用するプログラムの混用を可能
とするとともに最小限のレジスタの内容のセーブ、リス
トアでこれらのタスク間の切換えを可能とする情報処理
装置全提供することにろる。
(発明の溝底)
本発明の装置に、プロセッサに設けられた複数のサブセ
ットからなる汎用レジスタと1機械語命令で指定され比
況用レジスタのサブセット指定全保持するサブセット指
定保持手段と、サブセット週折モード會指定するデータ
金弊込み保持するモードデータ書込み保持手段と、前記
保持されているモードデータに対応して前記保持されて
いるサブセット指定全前記プロセッサに設けられt汎用
レジスタのサブセットのアドレス全指定に変換するサブ
セットアドレス変換手段と、前記サブセットが基本モー
ド以外で使用され次ときに基本モードにおける前記サブ
セットに属するレジスタの内容全保存する基本モードデ
ータ格納手段と、実行中のタスク全識別するタスク識別
子をサブセット選択モード毎に保持するタスク識別子保
持手段と。
ットからなる汎用レジスタと1機械語命令で指定され比
況用レジスタのサブセット指定全保持するサブセット指
定保持手段と、サブセット週折モード會指定するデータ
金弊込み保持するモードデータ書込み保持手段と、前記
保持されているモードデータに対応して前記保持されて
いるサブセット指定全前記プロセッサに設けられt汎用
レジスタのサブセットのアドレス全指定に変換するサブ
セットアドレス変換手段と、前記サブセットが基本モー
ド以外で使用され次ときに基本モードにおける前記サブ
セットに属するレジスタの内容全保存する基本モードデ
ータ格納手段と、実行中のタスク全識別するタスク識別
子をサブセット選択モード毎に保持するタスク識別子保
持手段と。
前記サブセットが基本モード以外で使用されたか否か?
示す情報全サブセット選択モード毎に保持するサブセッ
ト使用状況情報保持手段と、前記タスク識別子保持手段
VCより指定され基本モード以外にも使用するサブセッ
トに指定するサグセット指定情報を保持するタスク制御
ブロックと、サブセット選択モードの切換えに際して前
記サブセット使用状況情報保持手段に保持されている情
臀が新几に切換えるべきサブセット選択モードの基本モ
ードのサブセットが他のサブセット選択モードで基本モ
ード以外のモードで使用されていることを示していると
きに汀前記新たに切換えるべきサブセット選択モードの
基本モードのサブセットに属するレジスタの内容全前記
基本モードデータ格納手段から読出し対応するレジスタ
vc復元するサブセット選択モード切換手段と、同一の
サブセット選択モード内におけるタスクの切換えに際し
て!Fi几に実行丁べさタスクに対応する前記タスク制
御ブロックのサグセット指定情報が基本モード以外にも
使用するサブセットを指定してかつ前記サブセット使用
状況情報保持手段に保持されている情報が@記基本モー
ド以外にも使用するサブセットが1だ基本モード以外で
使用されてい乃:いこと金示すとぎVCに前記基本モー
ドデータ格珀手段の対応するサブセットに前記基本モー
ド以外にも使用するサブセノInて属するレジスタの内
容NI存し前記サブセット使用状況情報保持手段の情報
t更新してタスクの切換えを行なうタスク切換手段とt
含んで構成される。
示す情報全サブセット選択モード毎に保持するサブセッ
ト使用状況情報保持手段と、前記タスク識別子保持手段
VCより指定され基本モード以外にも使用するサブセッ
トに指定するサグセット指定情報を保持するタスク制御
ブロックと、サブセット選択モードの切換えに際して前
記サブセット使用状況情報保持手段に保持されている情
臀が新几に切換えるべきサブセット選択モードの基本モ
ードのサブセットが他のサブセット選択モードで基本モ
ード以外のモードで使用されていることを示していると
きに汀前記新たに切換えるべきサブセット選択モードの
基本モードのサブセットに属するレジスタの内容全前記
基本モードデータ格納手段から読出し対応するレジスタ
vc復元するサブセット選択モード切換手段と、同一の
サブセット選択モード内におけるタスクの切換えに際し
て!Fi几に実行丁べさタスクに対応する前記タスク制
御ブロックのサグセット指定情報が基本モード以外にも
使用するサブセットを指定してかつ前記サブセット使用
状況情報保持手段に保持されている情報が@記基本モー
ド以外にも使用するサブセットが1だ基本モード以外で
使用されてい乃:いこと金示すとぎVCに前記基本モー
ドデータ格珀手段の対応するサブセットに前記基本モー
ド以外にも使用するサブセノInて属するレジスタの内
容NI存し前記サブセット使用状況情報保持手段の情報
t更新してタスクの切換えを行なうタスク切換手段とt
含んで構成される。
(実施例)
次に本発明の実施例について1面を参照して詳細に説明
する。
する。
WJ1図に本発明の一実施例を示すブロック図である。
本実施例において、プロセッサは32個の汎用レジスタ
l (r6. rl、・・・・・・r31Vt有しこ
れが各16個からなる2つのサプセッ)K分割されてい
る。
l (r6. rl、・・・・・・r31Vt有しこ
れが各16個からなる2つのサプセッ)K分割されてい
る。
ま九本実施例においては機械語命令の少なくとも一部は
32本の汎用レジスタ(Ro、R+、・・・R31)を
オペ2ンドとして指定できる。そして機械語命令で指定
される32本の汎用レジスタのアドレス七保持する几め
[5ビツトのアドレスレジスター2が設けられる。その
最上位ビットは機械語命令で指定され比況用レジスタの
サブセット指定でろ9″″0#のと!HRo−Rtst
”、 −1”ノドきIcUR16〜Rstt−指定す
る。この最上位ビットニサブセット選択モード七保持す
るために設けられ之モード7リツプフロブグ3の出力と
ともに排他的論理和回路4に印加され、その出力がアド
レスレジスタ2の下位4ビツトとともに汎用レジスタ1
のアドレス指定のために印加されている。すなわち排他
的論理和回路4が機械語命令で指定され比況用レジスタ
のサブセラトメ指定音プロセッサの汎用レジスタのサブ
セットアドレスに変換するサブセットアドレス変換機構
となる。
32本の汎用レジスタ(Ro、R+、・・・R31)を
オペ2ンドとして指定できる。そして機械語命令で指定
される32本の汎用レジスタのアドレス七保持する几め
[5ビツトのアドレスレジスター2が設けられる。その
最上位ビットは機械語命令で指定され比況用レジスタの
サブセット指定でろ9″″0#のと!HRo−Rtst
”、 −1”ノドきIcUR16〜Rstt−指定す
る。この最上位ビットニサブセット選択モード七保持す
るために設けられ之モード7リツプフロブグ3の出力と
ともに排他的論理和回路4に印加され、その出力がアド
レスレジスタ2の下位4ビツトとともに汎用レジスタ1
のアドレス指定のために印加されている。すなわち排他
的論理和回路4が機械語命令で指定され比況用レジスタ
のサブセラトメ指定音プロセッサの汎用レジスタのサブ
セットアドレスに変換するサブセットアドレス変換機構
となる。
ま九、サブセット選択モード全標準モードお工び裏モー
ドに設定するために2個の機械語命令が用意されている
。この機械語命令により前記モード7リツプ70ツブ3
のモード設定が行なわれる。
ドに設定するために2個の機械語命令が用意されている
。この機械語命令により前記モード7リツプ70ツブ3
のモード設定が行なわれる。
なお、ここで灯スタックレジスタとして、R15゜呼ば
れ几手続のローカル変数の領域を示すためのフレームポ
インタ紮保持するtめのレジスタとして、R14,呼ば
れ九手続きに引渡す几めの実引数の領域金示すためのア
ーキュメントポインタを保持するためのレジスタとして
R13が固定的に割当てられているものとする。
れ几手続のローカル変数の領域を示すためのフレームポ
インタ紮保持するtめのレジスタとして、R14,呼ば
れ九手続きに引渡す几めの実引数の領域金示すためのア
ーキュメントポインタを保持するためのレジスタとして
R13が固定的に割当てられているものとする。
また機械語命令での汎用レジスタの指定範囲がRO””
R15内の場合は基本モードのサブセットの使用、指定
範囲がR16以上に及ぶときには拡張モードのサブセッ
トの使用と呼称する。
R15内の場合は基本モードのサブセットの使用、指定
範囲がR16以上に及ぶときには拡張モードのサブセッ
トの使用と呼称する。
ま几、標準モードお工び裏モードにおける制御情報を保
持するために、モード制御テーブル5が用意される。こ
のモード制御テーブル5は、慨準モードおよび裏モード
に対応して、2つのエントリをもつ。各エントリは、対
応するモードで現在実行中のタスクの識別子を保持する
九めのフィールドP T R,お工び、対応するモード
における基本モードのサブセット即ちRIo〜R15が
他のモードの拡張モードで使用されたかどうかt示す定
めのフラグフィールドFiもつ。
持するために、モード制御テーブル5が用意される。こ
のモード制御テーブル5は、慨準モードおよび裏モード
に対応して、2つのエントリをもつ。各エントリは、対
応するモードで現在実行中のタスクの識別子を保持する
九めのフィールドP T R,お工び、対応するモード
における基本モードのサブセット即ちRIo〜R15が
他のモードの拡張モードで使用されたかどうかt示す定
めのフラグフィールドFiもつ。
さらに、各サブセントが、拡張モードで使用される場合
に本来の基本モードにおけるサブセットに践する汎用レ
ジスタの内容を退避するtめの退避エリア6が用意され
る。
に本来の基本モードにおけるサブセットに践する汎用レ
ジスタの内容を退避するtめの退避エリア6が用意され
る。
各タスク(Th)に対応して設けられるタスク制御ブロ
ック’I”CBhij、現在の命令カウンタ等の従来の
タスクの状態情報に加えてこのタスクが、基本モード以
外のレジスタ即ちRI6〜FLsxk使用するか否か七
示すサブセット指定情報として、拡張モードビットE2
もつ。拡張モードビットEの値″″0”は、タスクが基
本モードのサブセットしか使用しないこと金示し、値″
1#は凡16以後金使うこと金示す。
ック’I”CBhij、現在の命令カウンタ等の従来の
タスクの状態情報に加えてこのタスクが、基本モード以
外のレジスタ即ちRI6〜FLsxk使用するか否か七
示すサブセット指定情報として、拡張モードビットE2
もつ。拡張モードビットEの値″″0”は、タスクが基
本モードのサブセットしか使用しないこと金示し、値″
1#は凡16以後金使うこと金示す。
次に本実施例における動作を説明する。
サブセット選択モードが標準モードのとき即ち、モード
設定機械語命令に工9モードフリッグ70ツブ3が値′
b する機械語命令で指定されたレジスタアドレスはそのま
ま汎用レジスタ1に印加される。従って、機械語命令で
指定され7tR◇、R1,・・・R31T’S、そのま
ま、プロセッサ上の汎用レジスタro、 rr+
・・・rl1 VC対応づけされアクセスが行われる。
設定機械語命令に工9モードフリッグ70ツブ3が値′
b する機械語命令で指定されたレジスタアドレスはそのま
ま汎用レジスタ1に印加される。従って、機械語命令で
指定され7tR◇、R1,・・・R31T’S、そのま
ま、プロセッサ上の汎用レジスタro、 rr+
・・・rl1 VC対応づけされアクセスが行われる。
サブセット選択モードが裏モードのとさ、即ちモード設
定用の機械語命令に1pモード7リツグ7oツ7” 3
7bL値’″11にもつときにはレジスタを指定する機
械語命令で指定されたレジスタアドレスの最上位ビット
が反転して汎用レジスタ1にアドレスとして印加される
。即ち、RoからRISの指定に対してはプロセッサの
r16からrss tでのレジスタが、R16からR3
1の指定に対してはプロセッサの「0からr15までの
レジスタが割洛てられることVC7する。従って、各サ
ブセット選択モードで実行されるタスクが基本モードの
場合、即ち、プログラムでRoからRISまでしか使用
しない場合には、標準モードではプロセッサの汎用レジ
スタのrQからrtstでか使用され裏モードでt’X
r1@からrstまでのレジスタが使用されることにな
る。
定用の機械語命令に1pモード7リツグ7oツ7” 3
7bL値’″11にもつときにはレジスタを指定する機
械語命令で指定されたレジスタアドレスの最上位ビット
が反転して汎用レジスタ1にアドレスとして印加される
。即ち、RoからRISの指定に対してはプロセッサの
r16からrss tでのレジスタが、R16からR3
1の指定に対してはプロセッサの「0からr15までの
レジスタが割洛てられることVC7する。従って、各サ
ブセット選択モードで実行されるタスクが基本モードの
場合、即ち、プログラムでRoからRISまでしか使用
しない場合には、標準モードではプロセッサの汎用レジ
スタのrQからrtstでか使用され裏モードでt’X
r1@からrstまでのレジスタが使用されることにな
る。
次に、本実施例におけるサブセットの切換え。
タスクの切換えを第2■により説明する。
なお、本実施例においては、通常のユーザのプログラム
は、標準モードで実行され、特別な入出力割込み処理だ
けが裏モードで実行されるものとする。標準モードにお
いて実行されるタスクは基本モードのサブセットしか使
用しないものも拡張モードも使用するものも存在する。
は、標準モードで実行され、特別な入出力割込み処理だ
けが裏モードで実行されるものとする。標準モードにお
いて実行されるタスクは基本モードのサブセットしか使
用しないものも拡張モードも使用するものも存在する。
−万、裏モードで実行されるプログラムは、基本モード
のサブセットしか使用しないものとする◇ 標準モードにおいてプログラムの実行中に前記特別な入
出力割込みが発生したと@、めるいは前記特別な入出力
割込みに対する処理が完了したときに、サブセット選択
モード切換え機構が起動され、次の動作が行われる。
のサブセットしか使用しないものとする◇ 標準モードにおいてプログラムの実行中に前記特別な入
出力割込みが発生したと@、めるいは前記特別な入出力
割込みに対する処理が完了したときに、サブセット選択
モード切換え機構が起動され、次の動作が行われる。
まず、タスク切換え機構を起動し、次のロールアウト動
作を行う。
作を行う。
すなわち、現在実行中のタスクが拡張モードのサブセラ
)k使用しているかどうかt現在実行中のサブセット選
択モードに対応するモード制御テーブル5のエントリの
PT几スフイールド指定されるタスク制御ブロックのE
ビyトvcLr)調べこれが″1“の場合即ち、使用し
て−る場合には、対応するレジスタの内容をタスク制御
ブロックのレジスタセーブエリアに格納する。Eビット
がOの場合VCニ、Cの処理に行わない。
)k使用しているかどうかt現在実行中のサブセット選
択モードに対応するモード制御テーブル5のエントリの
PT几スフイールド指定されるタスク制御ブロックのE
ビyトvcLr)調べこれが″1“の場合即ち、使用し
て−る場合には、対応するレジスタの内容をタスク制御
ブロックのレジスタセーブエリアに格納する。Eビット
がOの場合VCニ、Cの処理に行わない。
次に、プロセッサ上の10グラム状態語(この中には、
命令実行後のオーパフロウ、キャリイの発生等?示すフ
ラグ類1等が含まれている)お工びプログラムカウンタ
の内容を同じくタスク制御ブロックの対応するセーブエ
リアに格納する。
命令実行後のオーパフロウ、キャリイの発生等?示すフ
ラグ類1等が含まれている)お工びプログラムカウンタ
の内容を同じくタスク制御ブロックの対応するセーブエ
リアに格納する。
以上のロール7クト処理が終り7t6とで次の処理全行
う。
う。
新7t+に切換わるべきモードに対応するモード制御テ
ーブル5のフラグフィールドF=2調べこれが11#の
とき、即ちサブセット選択モードにおける基本モードの
サブセットが他のモードのサブセットで使用されている
場合には、退避エリア6の対応するサブセットの内容t
−a出し、汎用レジスタIに格納し、このサブセット選
択モードにおける基本モードのサブセットの内容全復元
するとともに、フラグフィールドF’kOにリセットす
る。
ーブル5のフラグフィールドF=2調べこれが11#の
とき、即ちサブセット選択モードにおける基本モードの
サブセットが他のモードのサブセットで使用されている
場合には、退避エリア6の対応するサブセットの内容t
−a出し、汎用レジスタIに格納し、このサブセット選
択モードにおける基本モードのサブセットの内容全復元
するとともに、フラグフィールドF’kOにリセットす
る。
FがOの場合には、基本モードのサブセットの内容は保
持されtままなので直ちに上の処理は行わない。
持されtままなので直ちに上の処理は行わない。
次に、サブセット選択モードを他のモードに切換えるた
めの機械語命令を実行し几後、タスク切換え機構を起動
する。タスク切換え機構に、サブセット切換え機構から
の起動に際して次に示すタスクのロールイン処理を行う
。即ち、現在のサブ1′− セット選択モー各店するモード制御テーブル5のPTR
フィールドで示されるタスク制御ブロックの拡張モード
ピットEを調べこれが1の場合には、現在のサブセット
選択モードとに異なる前のサブセット選択モードに対応
するモード制御テーブル5の7ラグF’klべこれがO
ならば まだ前記の前のサブセット選択モードの基本モ
ードのサブセット(現在のサブセット選択モードの拡張
モードのサブセツ1m対応する)のセーブが行われてい
ないので、退避エリア60対応するサブセットに退避し
次うえで、タスク制御ブロック上に退避されている現在
のサブセット選択モードの拡張モードのサブセットに対
応するサブセットの内容t−汎用レジスタ1のサブセッ
トに復元するとともに前のサブセット選択モードの7ラ
グpic−i”七セットする。
めの機械語命令を実行し几後、タスク切換え機構を起動
する。タスク切換え機構に、サブセット切換え機構から
の起動に際して次に示すタスクのロールイン処理を行う
。即ち、現在のサブ1′− セット選択モー各店するモード制御テーブル5のPTR
フィールドで示されるタスク制御ブロックの拡張モード
ピットEを調べこれが1の場合には、現在のサブセット
選択モードとに異なる前のサブセット選択モードに対応
するモード制御テーブル5の7ラグF’klべこれがO
ならば まだ前記の前のサブセット選択モードの基本モ
ードのサブセット(現在のサブセット選択モードの拡張
モードのサブセツ1m対応する)のセーブが行われてい
ないので、退避エリア60対応するサブセットに退避し
次うえで、タスク制御ブロック上に退避されている現在
のサブセット選択モードの拡張モードのサブセットに対
応するサブセットの内容t−汎用レジスタ1のサブセッ
トに復元するとともに前のサブセット選択モードの7ラ
グpic−i”七セットする。
フラグFが′1″の場合VCは、既に退避が行われてい
るので上の処理は不要である。
るので上の処理は不要である。
拡張モードビットEが′0”の場合には拡張モードに対
応するサブセットの復元は不要である。
応するサブセットの復元は不要である。
同−のサブセット選択モード内でのタスクの切換えは次
のLうに行われる。
のLうに行われる。
即ち、まず次に実行すべきタスク全決定する。
これが現在実行中のタスクと異なる場合VCは、現在実
行中のタスクの状態を対応するタスク制御ブロックのセ
ーブエリアに退避する。この処理は、前述のサブセット
切換え時のロールアウト処理と、基本モードのサブセッ
トの汎用レジスタのセーブも行う点を除いて同様の処理
である。即ち、この場合には、プログラム状態語、プロ
グラムカウンタとともに、基本モードのサブセラ1ci
iiする汎用レジスタの内容もセーブする。更にこのと
き、タスク制御ブロックの拡張ビットEt−調べこれが
1#の場合には、拡張モードに対応するサブセットの内
容もタスク制御ブロックにセーブする。
行中のタスクの状態を対応するタスク制御ブロックのセ
ーブエリアに退避する。この処理は、前述のサブセット
切換え時のロールアウト処理と、基本モードのサブセッ
トの汎用レジスタのセーブも行う点を除いて同様の処理
である。即ち、この場合には、プログラム状態語、プロ
グラムカウンタとともに、基本モードのサブセラ1ci
iiする汎用レジスタの内容もセーブする。更にこのと
き、タスク制御ブロックの拡張ビットEt−調べこれが
1#の場合には、拡張モードに対応するサブセットの内
容もタスク制御ブロックにセーブする。
以上のロールアウト処理が終了し几後、現在のサブセッ
ト選択モードに対応するモード制御テーブル5のエント
リのPTRフィールドに新几に実行すべきタスクのタス
ク制御ブロックへのポインタ全セットし次うえで、次の
ロールイン処理上行う。
ト選択モードに対応するモード制御テーブル5のエント
リのPTRフィールドに新几に実行すべきタスクのタス
ク制御ブロックへのポインタ全セットし次うえで、次の
ロールイン処理上行う。
即ち、まず、基本モードのサブセットに属する汎用レジ
スタの内容のりストアを行り九後、前述のサブセット切
換え時でのロールイン処理と全く同じ処理を行5゜これ
を第2図(b)に示す。
スタの内容のりストアを行り九後、前述のサブセット切
換え時でのロールイン処理と全く同じ処理を行5゜これ
を第2図(b)に示す。
本実施例においてに、32本の汎用レジスタのセットt
−616本の2つのサブセットに分割しているが、本発
明はこれらの1セツト中のレジスタ数、?プセットの数
に限定されるものではない。
−616本の2つのサブセットに分割しているが、本発
明はこれらの1セツト中のレジスタ数、?プセットの数
に限定されるものではない。
ま几5本実施例においては、特定のスタックレジスタ等
の特定のレジスタが汎用レジスタ上に割当てられている
としているが必ずしもこのL5な1式でbる必要はない
。但し、その場合にはレジスタ選択モードの切換えの九
びにこれらの特定のレジスタの内容のセーブ/リストア
が必要となる。
の特定のレジスタが汎用レジスタ上に割当てられている
としているが必ずしもこのL5な1式でbる必要はない
。但し、その場合にはレジスタ選択モードの切換えの九
びにこれらの特定のレジスタの内容のセーブ/リストア
が必要となる。
ま几、本実施例の説明において、説明の簡単の几めにタ
スク切換え機構、サブセット切換え機構の詳細の実施方
法、タスク制御ブロックの詳細の構造等の説明に省略し
てらるがこれらについては従来の1式と同様に実現でき
る。
スク切換え機構、サブセット切換え機構の詳細の実施方
法、タスク制御ブロックの詳細の構造等の説明に省略し
てらるがこれらについては従来の1式と同様に実現でき
る。
(発明の効果)
、本発明T/cにプロセッサにサブセットアドレス変換
機構を設けることVc工91個のプログラムから汎用レ
ジスタを全部使用することも出来、ま比況用レジスタの
一部のみ全使用して複数のタスクで汎用レジスタの内容
のセーブ/リストア上行なうことなく高速にタスク切換
全行なうことができ汎用レジスタの有効利用の向上、処
理速度の向上ができるという効果がろる。
機構を設けることVc工91個のプログラムから汎用レ
ジスタを全部使用することも出来、ま比況用レジスタの
一部のみ全使用して複数のタスクで汎用レジスタの内容
のセーブ/リストア上行なうことなく高速にタスク切換
全行なうことができ汎用レジスタの有効利用の向上、処
理速度の向上ができるという効果がろる。
さらに汎用レジスタの基本モード#/cjJするサブセ
ットしか使用しないグログラムと基本モード以外のサブ
セットも使用するプログラムの混用を可能とし最少限の
レジスタの内容のセーブリストアでこれらのタスク間の
切換を行ない処理速度の向上ができるという効果がろる
。
ットしか使用しないグログラムと基本モード以外のサブ
セットも使用するプログラムの混用を可能とし最少限の
レジスタの内容のセーブリストアでこれらのタスク間の
切換を行ない処理速度の向上ができるという効果がろる
。
第1図は本発明片冒施例を示すブロック図、第2図(a
)、 (b)は第1aの動作上*すフローチャートでる
る。 1・・・汎用レジスタ、2・・・アドレスレジスタ、3
・・・モード7リツグフロツグ、4・・・排他的論理和
回路、5・・・モード制御テーブル、6・・・退避エリ
ヤ。 T CBi 、 T CBj・・・タスク制御ブロック
。 乃1凹
)、 (b)は第1aの動作上*すフローチャートでる
る。 1・・・汎用レジスタ、2・・・アドレスレジスタ、3
・・・モード7リツグフロツグ、4・・・排他的論理和
回路、5・・・モード制御テーブル、6・・・退避エリ
ヤ。 T CBi 、 T CBj・・・タスク制御ブロック
。 乃1凹
Claims (1)
- 【特許請求の範囲】 プロセッサに設けられた複数のサブセットからなる汎用
レジスタと、 機械語命令で指定された汎用レジスタのサブセット指定
を保持するサブセット指定保持手段と、サブセット選択
モードを指定するデータを書込み保持するモードデータ
書込み保持手段と、前記保持されているモードデータに
対応して前記保持されているサブセット指定を前記プロ
セッサに設けられた汎用レジスタのサブセットのアドレ
スデータに変換するサブセットアドレス変換手段と、 前記サブセットが基本モード以外で使用されたときに基
本モードにおける前記サブセットに属するレジスタの内
容を保存する基本モードデータ格納手段と、 実行中のタスクを識別するタスク識別子をサブセット選
択モード毎に保持するタスク識別子保持手段と、 前記サブセットが基本モード以外で使用されたか否かを
示す情報をサブセット選択モード毎に保持するサブセッ
ト使用状況情報保持手段と、前記タスク識別子保持手段
により指定され基本モード以外にも使用するサブセット
を指定するサブセット指定情報を保持するタスク制御ブ
ロックと、 サブセット選択モードの切換えに際して前記サブセット
使用状況情報保持手段に保持されている情報が新たに切
換えるべきサブセット選択モードの基本モードのサブセ
ットが他のサブセット選択モードで基本モード以外のモ
ードで使用されていることを示しているときには前記新
たに切換えるべきサブセット選択モードの基本モードの
サブセットに属するレジスタの内容を前記基本モードデ
ータ格納手段から読出し対応するレジスタに復元するサ
ブセット選択モード切換手段と、 同一のサブセット選択モード内におけるタスクの切換え
に際して新たに実行すべきタスクに対応する前記タスク
制御ブロックのサブセット指定情報が基本モード以外に
も使用するサブセットを指定してかつ前記サブセット使
用状況情報保持手段に保持されている情報が前記基本モ
ード以外にも使用するサブセットがまだ基本モード以外
で使用されていないことを示すときには前記基本モード
データ格納手段の対応するサブセットに前記基本モード
以外にも使用するサブセットに属するレジスタの内容を
保存し前記サブセット使用状況情報保持手段の情報を更
新してタスクの切換えを行なうタスク切換手段とを含む
ことを特徴とする情報処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20093084A JPS6177936A (ja) | 1984-09-26 | 1984-09-26 | 情報処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20093084A JPS6177936A (ja) | 1984-09-26 | 1984-09-26 | 情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS6177936A true JPS6177936A (ja) | 1986-04-21 |
Family
ID=16432645
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP20093084A Pending JPS6177936A (ja) | 1984-09-26 | 1984-09-26 | 情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6177936A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04211838A (ja) * | 1990-01-05 | 1992-08-03 | Motorola Inc | デジタルデータプロセッサおよびその作動方法 |
-
1984
- 1984-09-26 JP JP20093084A patent/JPS6177936A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04211838A (ja) * | 1990-01-05 | 1992-08-03 | Motorola Inc | デジタルデータプロセッサおよびその作動方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5210874A (en) | Cross-domain call system in a capability based digital data processing system | |
| US5812868A (en) | Method and apparatus for selecting a register file in a data processing system | |
| US5781758A (en) | Software emulation system with reduced memory requirements | |
| EP0208428B1 (en) | Direct input/output in a virtual memory system | |
| US4792895A (en) | Instruction processing in higher level virtual machines by a real machine | |
| US4459661A (en) | Channel address control system for a virtual machine system | |
| EP0595880B1 (en) | Memory management method | |
| US4812981A (en) | Memory management system improving the efficiency of fork operations | |
| EP0213843A2 (en) | Digital processor control | |
| JPS61206043A (ja) | 仮想計算機システムにおける割込制御方法 | |
| JPS62165250A (ja) | 仮想記憶方法 | |
| JPS60176143A (ja) | プログラム呼び出し装置 | |
| CA1172375A (en) | Program call method | |
| CN114691537A (zh) | 一种访问存储器的方法及信息处理设备 | |
| JPH0195347A (ja) | アドレス変換方式 | |
| JPS6273347A (ja) | アドレス変換装置 | |
| GB1495729A (en) | Apparatus and method for handling exceptions in a data processing system | |
| JPS61160160A (ja) | 仮想計算機システムにおけるアドレツシング制御装置 | |
| JP2798275B2 (ja) | 仮想記憶アドレス空間アクセス制御方式 | |
| US6321319B2 (en) | Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction | |
| US5117491A (en) | Ring reduction logic using parallel determination of ring numbers in a plurality of functional units and forced ring numbers by instruction decoding | |
| JPS6336012B2 (ja) | ||
| GB2115963A (en) | Binding memory contents into machine registers | |
| JPH0363822A (ja) | 計算機制御方式 | |
| JPS6177937A (ja) | 情報処理装置 |