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
Application number
JP20093084A
Other languages
English (en)
Inventor
Naoya Ono
直哉 大野
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP20093084A priority Critical patent/JPS6177936A/ja
Publication of JPS6177936A publication Critical patent/JPS6177936A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 (技術分野) 本発明に情報処理装置に関し9%に汎用レジスタの有効
利用全可能とする情報処理fc寛に関する。
(従来技術) 一般に情報処理装置においてに、汎用レジスタと工ばれ
るレジスタをプロセッサ内に設け、これを機械語命令で
データの格納場所として使用することが行われている。
汎用レジスタ全使用することに=9、主記憶上にデータ
全格納する場合に比べて高速にアクセスできるので、頻
繁に使用するデータを汎用レジスタに割当てることにエ
ム処理速度を速くできるという長所がらる。
後に示すエラなタスク切換えに↓る影響を無視して、−
個のタスクだけについて考え几場合、多数の汎用レジス
タ七使用できれば、処理速度の向上が著しい応用も存在
する反面、性能向上の度合が低い応用も存在する。
−1、汎用レジスタで備える情報処理装置においてに、
タスクの切換えに際して、使用している汎用レジスタの
内容の主記憶へのセーブ、あるいは、主記憶からのりス
トアを行う必要がろり、この友めのデータ転送の処理時
間が汎用レジスタの効果を削減する要因となっている。
このタスク切換えの頻度についても、単一のタスクが長
時間プロセッサを使用し、タスク切換えがほとんど発生
しないような環境も存在する−1、多数のタスクが頻繁
に切換わりながら処理t−実行し、−個のタスクが連続
してプロセッサで走行する時間が極めて短いよりな環境
も存在する。
従って、前者のような場合には汎用レジスタの内容セー
ブ/リストアのfillが低いtめに、多数の汎用レジ
スタ七使用することVcよる効果が顕著に現れるのに対
し、後者のL5な場合には、汎用レジスタの内容のセー
ブ/リストアのオーバヘッドを少なくすることが性能向
上の面から重要な問題となる。
この几め、特に高速なタスクの切換え重要するような応
用のために特に設計され窺プロセッサにおいては、汎用
レジスタやプログラムカウンタのような内部レジスタを
複数セット用意しこれを切換えることにエラ、レジスタ
内部の主記憶へのセーブ/リストア上行りことなくタス
クを直ちに切換えるような方法が採用されているものが
ろる。
しかしながらこのLうな従来の情報処理装置ではプロセ
ッサ全特に高速なタスク切換え全必要としない応用に利
用し九場合には、複数セットの内部レジス°りのtめの
ハードウェアが無駄となってしまうという欠点がるる。
te、汎用レジスタの内容のセーブ/リストアを節約す
るtめにあらかじめ各モードで使用できる汎用レジスタ
を定めておきそれ以外は使用しないようにすることVC
工9、汎用レジスタがいくつかのモードに重なって使わ
れないようにする方法も行われている。しかしながらこ
のLつな従来の情報処理装置では、プログラムの作放り
時点からそのプログラムで使用可能な汎用レジスタを決
定しておく必要がわり、更に使用を許され比況用レジス
タのみを使用する工うにプログラム七作底する必要がわ
り、一度作放され友プログラムはそのタスクでしか使用
できないtめ、プログラムの自由度が限定されるという
欠点がるる。特にスタックポインタ、アーギエメントポ
インタ等’に%定の汎用レジスタに割当てているような
システムにおいては、すべてのプログラムが同一の汎用
レジスタを指定せざるを得ない九めにこれらについては
必ずセーブ/リストアが必要となり各タスクに割当てる
効果が減じられる欠点がある。
(発明の目的) 本発明の第1の目的は、プロセッサにサブセットアドレ
ス変換機構を設けることにより汎用レジスタを一個のプ
ログラムから全レジスタ使用することもでき、ま比況用
レジスタの一部のみ全使用して複数のタスクで汎用レジ
スタの内容のセーブ/リストアを行うことなく高速にタ
スク切換えを行い処理速度で向上できる情報処理装置を
提供することKある。
本発明の第2の目的に、プロセッサに設けたサブセット
アドレス変換機構lCL力、プログラムの機械語命令で
指定する汎用レジスタをそのプログラムの実行されてい
る時点でのサブセット選択モードに応じてハードウェア
的にプロセッサ上の汎用レジスタに割当てることに=9
、プログラムを作置する時点では各プログラムは、実行
時に実際に割当てられるサブセットを意識する必要がな
く、プログラムの融通性を高めるとともに、汎用レジス
タの一部として固定的に割当てられている特殊レジスタ
についても、プログラムでは同一の汎用レジスタのアド
レス全指定しても実際のプロセッサ上の汎用レジスタア
ドレスに対するサブセット単位での変換紮行ないセーブ
/リストアを不要として汎用レジスタの有効利用上向上
できる情報処理装置を提供すること[6る。
本発明の第3の目的は、汎用レジスタの基本モードに属
するサブセットしか使用しないプログラムと、基本モー
ド以外のサブセットも使用するプログラムの混用を可能
とするとともに最小限のレジスタの内容のセーブ、リス
トアでこれらのタスク間の切換えを可能とする情報処理
装置全提供することにろる。
(発明の溝底) 本発明の装置に、プロセッサに設けられた複数のサブセ
ットからなる汎用レジスタと1機械語命令で指定され比
況用レジスタのサブセット指定全保持するサブセット指
定保持手段と、サブセット週折モード會指定するデータ
金弊込み保持するモードデータ書込み保持手段と、前記
保持されているモードデータに対応して前記保持されて
いるサブセット指定全前記プロセッサに設けられt汎用
レジスタのサブセットのアドレス全指定に変換するサブ
セットアドレス変換手段と、前記サブセットが基本モー
ド以外で使用され次ときに基本モードにおける前記サブ
セットに属するレジスタの内容全保存する基本モードデ
ータ格納手段と、実行中のタスク全識別するタスク識別
子をサブセット選択モード毎に保持するタスク識別子保
持手段と。
前記サブセットが基本モード以外で使用されたか否か?
示す情報全サブセット選択モード毎に保持するサブセッ
ト使用状況情報保持手段と、前記タスク識別子保持手段
VCより指定され基本モード以外にも使用するサブセッ
トに指定するサグセット指定情報を保持するタスク制御
ブロックと、サブセット選択モードの切換えに際して前
記サブセット使用状況情報保持手段に保持されている情
臀が新几に切換えるべきサブセット選択モードの基本モ
ードのサブセットが他のサブセット選択モードで基本モ
ード以外のモードで使用されていることを示していると
きに汀前記新たに切換えるべきサブセット選択モードの
基本モードのサブセットに属するレジスタの内容全前記
基本モードデータ格納手段から読出し対応するレジスタ
vc復元するサブセット選択モード切換手段と、同一の
サブセット選択モード内におけるタスクの切換えに際し
て!Fi几に実行丁べさタスクに対応する前記タスク制
御ブロックのサグセット指定情報が基本モード以外にも
使用するサブセットを指定してかつ前記サブセット使用
状況情報保持手段に保持されている情報が@記基本モー
ド以外にも使用するサブセットが1だ基本モード以外で
使用されてい乃:いこと金示すとぎVCに前記基本モー
ドデータ格珀手段の対応するサブセットに前記基本モー
ド以外にも使用するサブセノInて属するレジスタの内
容NI存し前記サブセット使用状況情報保持手段の情報
t更新してタスクの切換えを行なうタスク切換手段とt
含んで構成される。
(実施例) 次に本発明の実施例について1面を参照して詳細に説明
する。
WJ1図に本発明の一実施例を示すブロック図である。
本実施例において、プロセッサは32個の汎用レジスタ
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が機械語命令で指定され比況用レジスタ
のサブセラトメ指定音プロセッサの汎用レジスタのサブ
セットアドレスに変換するサブセットアドレス変換機構
となる。
ま九、サブセット選択モード全標準モードお工び裏モー
ドに設定するために2個の機械語命令が用意されている
。この機械語命令により前記モード7リツプ70ツブ3
のモード設定が行なわれる。
なお、ここで灯スタックレジスタとして、R15゜呼ば
れ几手続のローカル変数の領域を示すためのフレームポ
インタ紮保持するtめのレジスタとして、R14,呼ば
れ九手続きに引渡す几めの実引数の領域金示すためのア
ーキュメントポインタを保持するためのレジスタとして
R13が固定的に割当てられているものとする。
また機械語命令での汎用レジスタの指定範囲がRO””
R15内の場合は基本モードのサブセットの使用、指定
範囲がR16以上に及ぶときには拡張モードのサブセッ
トの使用と呼称する。
ま几、標準モードお工び裏モードにおける制御情報を保
持するために、モード制御テーブル5が用意される。こ
のモード制御テーブル5は、慨準モードおよび裏モード
に対応して、2つのエントリをもつ。各エントリは、対
応するモードで現在実行中のタスクの識別子を保持する
九めのフィールドP T R,お工び、対応するモード
における基本モードのサブセット即ちRIo〜R15が
他のモードの拡張モードで使用されたかどうかt示す定
めのフラグフィールドFiもつ。
さらに、各サブセントが、拡張モードで使用される場合
に本来の基本モードにおけるサブセットに践する汎用レ
ジスタの内容を退避するtめの退避エリア6が用意され
る。
各タスク(Th)に対応して設けられるタスク制御ブロ
ック’I”CBhij、現在の命令カウンタ等の従来の
タスクの状態情報に加えてこのタスクが、基本モード以
外のレジスタ即ちRI6〜FLsxk使用するか否か七
示すサブセット指定情報として、拡張モードビットE2
もつ。拡張モードビットEの値″″0”は、タスクが基
本モードのサブセットしか使用しないこと金示し、値″
1#は凡16以後金使うこと金示す。
次に本実施例における動作を説明する。
サブセット選択モードが標準モードのとき即ち、モード
設定機械語命令に工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までのレジスタが使用されることにな
る。
次に、本実施例におけるサブセットの切換え。
タスクの切換えを第2■により説明する。
なお、本実施例においては、通常のユーザのプログラム
は、標準モードで実行され、特別な入出力割込み処理だ
けが裏モードで実行されるものとする。標準モードにお
いて実行されるタスクは基本モードのサブセットしか使
用しないものも拡張モードも使用するものも存在する。
−万、裏モードで実行されるプログラムは、基本モード
のサブセットしか使用しないものとする◇ 標準モードにおいてプログラムの実行中に前記特別な入
出力割込みが発生したと@、めるいは前記特別な入出力
割込みに対する処理が完了したときに、サブセット選択
モード切換え機構が起動され、次の動作が行われる。
まず、タスク切換え機構を起動し、次のロールアウト動
作を行う。
すなわち、現在実行中のタスクが拡張モードのサブセラ
)k使用しているかどうかt現在実行中のサブセット選
択モードに対応するモード制御テーブル5のエントリの
PT几スフイールド指定されるタスク制御ブロックのE
ビyトvcLr)調べこれが″1“の場合即ち、使用し
て−る場合には、対応するレジスタの内容をタスク制御
ブロックのレジスタセーブエリアに格納する。Eビット
がOの場合VCニ、Cの処理に行わない。
次に、プロセッサ上の10グラム状態語(この中には、
命令実行後のオーパフロウ、キャリイの発生等?示すフ
ラグ類1等が含まれている)お工びプログラムカウンタ
の内容を同じくタスク制御ブロックの対応するセーブエ
リアに格納する。
以上のロール7クト処理が終り7t6とで次の処理全行
う。
新7t+に切換わるべきモードに対応するモード制御テ
ーブル5のフラグフィールドF=2調べこれが11#の
とき、即ちサブセット選択モードにおける基本モードの
サブセットが他のモードのサブセットで使用されている
場合には、退避エリア6の対応するサブセットの内容t
−a出し、汎用レジスタIに格納し、このサブセット選
択モードにおける基本モードのサブセットの内容全復元
するとともに、フラグフィールドF’kOにリセットす
る。
FがOの場合には、基本モードのサブセットの内容は保
持されtままなので直ちに上の処理は行わない。
次に、サブセット選択モードを他のモードに切換えるた
めの機械語命令を実行し几後、タスク切換え機構を起動
する。タスク切換え機構に、サブセット切換え機構から
の起動に際して次に示すタスクのロールイン処理を行う
。即ち、現在のサブ1′− セット選択モー各店するモード制御テーブル5のPTR
フィールドで示されるタスク制御ブロックの拡張モード
ピットEを調べこれが1の場合には、現在のサブセット
選択モードとに異なる前のサブセット選択モードに対応
するモード制御テーブル5の7ラグF’klべこれがO
ならば まだ前記の前のサブセット選択モードの基本モ
ードのサブセット(現在のサブセット選択モードの拡張
モードのサブセツ1m対応する)のセーブが行われてい
ないので、退避エリア60対応するサブセットに退避し
次うえで、タスク制御ブロック上に退避されている現在
のサブセット選択モードの拡張モードのサブセットに対
応するサブセットの内容t−汎用レジスタ1のサブセッ
トに復元するとともに前のサブセット選択モードの7ラ
グpic−i”七セットする。
フラグFが′1″の場合VCは、既に退避が行われてい
るので上の処理は不要である。
拡張モードビットEが′0”の場合には拡張モードに対
応するサブセットの復元は不要である。
同−のサブセット選択モード内でのタスクの切換えは次
のLうに行われる。
即ち、まず次に実行すべきタスク全決定する。
これが現在実行中のタスクと異なる場合VCは、現在実
行中のタスクの状態を対応するタスク制御ブロックのセ
ーブエリアに退避する。この処理は、前述のサブセット
切換え時のロールアウト処理と、基本モードのサブセッ
トの汎用レジスタのセーブも行う点を除いて同様の処理
である。即ち、この場合には、プログラム状態語、プロ
グラムカウンタとともに、基本モードのサブセラ1ci
iiする汎用レジスタの内容もセーブする。更にこのと
き、タスク制御ブロックの拡張ビットEt−調べこれが
1#の場合には、拡張モードに対応するサブセットの内
容もタスク制御ブロックにセーブする。
以上のロールアウト処理が終了し几後、現在のサブセッ
ト選択モードに対応するモード制御テーブル5のエント
リのPTRフィールドに新几に実行すべきタスクのタス
ク制御ブロックへのポインタ全セットし次うえで、次の
ロールイン処理上行う。
即ち、まず、基本モードのサブセットに属する汎用レジ
スタの内容のりストアを行り九後、前述のサブセット切
換え時でのロールイン処理と全く同じ処理を行5゜これ
を第2図(b)に示す。
本実施例においてに、32本の汎用レジスタのセットt
−616本の2つのサブセットに分割しているが、本発
明はこれらの1セツト中のレジスタ数、?プセットの数
に限定されるものではない。
ま几5本実施例においては、特定のスタックレジスタ等
の特定のレジスタが汎用レジスタ上に割当てられている
としているが必ずしもこのL5な1式でbる必要はない
。但し、その場合にはレジスタ選択モードの切換えの九
びにこれらの特定のレジスタの内容のセーブ/リストア
が必要となる。
ま几、本実施例の説明において、説明の簡単の几めにタ
スク切換え機構、サブセット切換え機構の詳細の実施方
法、タスク制御ブロックの詳細の構造等の説明に省略し
てらるがこれらについては従来の1式と同様に実現でき
る。
(発明の効果) 、本発明T/cにプロセッサにサブセットアドレス変換
機構を設けることVc工91個のプログラムから汎用レ
ジスタを全部使用することも出来、ま比況用レジスタの
一部のみ全使用して複数のタスクで汎用レジスタの内容
のセーブ/リストア上行なうことなく高速にタスク切換
全行なうことができ汎用レジスタの有効利用の向上、処
理速度の向上ができるという効果がろる。
さらに汎用レジスタの基本モード#/cjJするサブセ
ットしか使用しないグログラムと基本モード以外のサブ
セットも使用するプログラムの混用を可能とし最少限の
レジスタの内容のセーブリストアでこれらのタスク間の
切換を行ない処理速度の向上ができるという効果がろる
【図面の簡単な説明】
第1図は本発明片冒施例を示すブロック図、第2図(a
)、 (b)は第1aの動作上*すフローチャートでる
る。 1・・・汎用レジスタ、2・・・アドレスレジスタ、3
・・・モード7リツグフロツグ、4・・・排他的論理和
回路、5・・・モード制御テーブル、6・・・退避エリ
ヤ。 T CBi 、 T CBj・・・タスク制御ブロック
。 乃1凹

Claims (1)

  1. 【特許請求の範囲】 プロセッサに設けられた複数のサブセットからなる汎用
    レジスタと、 機械語命令で指定された汎用レジスタのサブセット指定
    を保持するサブセット指定保持手段と、サブセット選択
    モードを指定するデータを書込み保持するモードデータ
    書込み保持手段と、前記保持されているモードデータに
    対応して前記保持されているサブセット指定を前記プロ
    セッサに設けられた汎用レジスタのサブセットのアドレ
    スデータに変換するサブセットアドレス変換手段と、 前記サブセットが基本モード以外で使用されたときに基
    本モードにおける前記サブセットに属するレジスタの内
    容を保存する基本モードデータ格納手段と、 実行中のタスクを識別するタスク識別子をサブセット選
    択モード毎に保持するタスク識別子保持手段と、 前記サブセットが基本モード以外で使用されたか否かを
    示す情報をサブセット選択モード毎に保持するサブセッ
    ト使用状況情報保持手段と、前記タスク識別子保持手段
    により指定され基本モード以外にも使用するサブセット
    を指定するサブセット指定情報を保持するタスク制御ブ
    ロックと、 サブセット選択モードの切換えに際して前記サブセット
    使用状況情報保持手段に保持されている情報が新たに切
    換えるべきサブセット選択モードの基本モードのサブセ
    ットが他のサブセット選択モードで基本モード以外のモ
    ードで使用されていることを示しているときには前記新
    たに切換えるべきサブセット選択モードの基本モードの
    サブセットに属するレジスタの内容を前記基本モードデ
    ータ格納手段から読出し対応するレジスタに復元するサ
    ブセット選択モード切換手段と、 同一のサブセット選択モード内におけるタスクの切換え
    に際して新たに実行すべきタスクに対応する前記タスク
    制御ブロックのサブセット指定情報が基本モード以外に
    も使用するサブセットを指定してかつ前記サブセット使
    用状況情報保持手段に保持されている情報が前記基本モ
    ード以外にも使用するサブセットがまだ基本モード以外
    で使用されていないことを示すときには前記基本モード
    データ格納手段の対応するサブセットに前記基本モード
    以外にも使用するサブセットに属するレジスタの内容を
    保存し前記サブセット使用状況情報保持手段の情報を更
    新してタスクの切換えを行なうタスク切換手段とを含む
    ことを特徴とする情報処理装置。
JP20093084A 1984-09-26 1984-09-26 情報処理装置 Pending JPS6177936A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04211838A (ja) * 1990-01-05 1992-08-03 Motorola Inc デジタルデータプロセッサおよびその作動方法

Cited By (1)

* Cited by examiner, † Cited by third party
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) 情報処理装置