JPH0512015A - レジスタウインドウ設定方式 - Google Patents

レジスタウインドウ設定方式

Info

Publication number
JPH0512015A
JPH0512015A JP3183711A JP18371191A JPH0512015A JP H0512015 A JPH0512015 A JP H0512015A JP 3183711 A JP3183711 A JP 3183711A JP 18371191 A JP18371191 A JP 18371191A JP H0512015 A JPH0512015 A JP H0512015A
Authority
JP
Japan
Prior art keywords
register
function
window
variable
registers
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
JP3183711A
Other languages
English (en)
Inventor
Masaya Kato
雅也 加藤
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 JP3183711A priority Critical patent/JPH0512015A/ja
Publication of JPH0512015A publication Critical patent/JPH0512015A/ja
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02E60/10Energy storage using batteries

Landscapes

  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【目的】レジスタウィンドウのウィンドウ長を可変とす
ることで、レジスタ資源を有効に利用し、処理の実行速
度を向上させることが可能となるようにする。 【構成】入力部10から入力された関数について、変数
検索処理部12は、関数毎の変数情報を生成する。必要
レジスタ割当処理部16は、関数毎の変数情報に基づい
て、各関数内で必要なレジスタ数と関数を呼出すときに
オーバーラップさせるレジスタウィンドウの個数(関数
毎のレジスタ情報)を求める。コード生成部20は、レ
ジスタ情報を参照してレジスタ割当命令を含むコードを
生成し、CPU22に出力する。CPU22は、レジス
タ割当命令に従って、レジスタウィンドウのコントロー
ルを行ないながら、実際のコードを実行する。こうし
て、各関数に必要なだけのレジスタが割り当てられ、ま
たオーバーラップする部分も必要な個数だけのレジスタ
がオーバーラップされる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、オーバーラッピングレ
ジスタウィンドウを備えた制御ユニットにおけるレジス
タウィンドウ設定方式に関する。
【0002】
【従来の技術】従来、オーバーラッピングレジスタウィ
ンドウを備えた制御ユニットでは、レジスタウィンドウ
が固定長となっている。この従来のレジスタウィンドウ
の概念図を図3に示している。
【0003】図3においては、関数fが関数gを呼び、
関数gが関数hを呼ぶものとする。オーバーラッピング
レジスタウィンドウでは、各々のレジスタのうち、オー
バラップする部分を用いて引数や返却値の受け渡しが行
なわれる。
【0004】従って、例えば図3に示すように、関数g
がレジスタウィンドウで与えられるだけのレジスタを必
要としない場合には、図中斜線部分のレジスタが無駄と
なってしまう。
【0005】ところで、関数やサブルーチン呼出しが一
定の深さに達し、レジスタを使い切った場合には、通
常、レジスタセーブが行なわれる。また、一つの関数で
沢山のレジスタを使う場合にも、同様にレジスタセーブ
が行なわれる。
【0006】
【発明が解決しようとする課題】このように、従来のオ
ーバーラッピングレジスタウィンドウは固定長であった
ために、変数をあまり使用しない関数やサブルーチンの
ように、レジスタウィンドウで与えられるだけのレジス
タを必要としない場合、図3に示すように、レジスタが
無駄となることがあった。このように、不必要にレジス
タを浪費することは、必要以上のレジスタセーブを招く
ことになる。すなわち、従来では、レジスタ資源を有効
に利用できず、これに伴って実行速度の低下を招いてし
まうという問題があった。
【0007】本発明は前記のような点に鑑みてなされた
もので、レジスタ資源を有効に利用して、処理の実行速
度を向上させることが可能なレジスタウィンドウ設定方
式に関する。
【0008】
【課題を解決するための手段】本発明は、オーバーラッ
ピングレジスタウィンドウを備えた制御ユニットにおい
て、レジスタウィンドウのウィンドウ長を動的に変更す
る可変手段を具備し、前記可変手段によって得られたレ
ジスタウィンドウを制御するものである。
【0009】
【作用】これにより、レジスタ資源を有効に利用でき、
従って必要以上にレジスタセーブを招くことがないた
め、実行速度を向上させることができる。
【0010】
【実施例】以下、図面を参照して本発明の一実施例を説
明する。図1は同実施例に係わるレジスタウィンドウ設
定方式を説明するための機能ブロック図である。図1に
おいて、入力部10は、処理対象とする関数を入力する
ものである。変数検索処理部12は、入力部10から入
力された各関数が使う変数の個数や変数の種類等を求め
るものである。変数情報記憶部14は、関数毎の変数情
報を記憶するものであり、同時に生存する変数の個数や
種類を示す。必要レジスタ割当処理部16は、変数情報
記憶部14を参照して、レジスタに割り当てるべき変数
を決め、関数内毎で使うレジスタの個数を求めるもので
ある。レジスタ情報記憶部18は、関数毎のレジスタ情
報を記憶するものであり、各関数が関数内で必要とする
レジスタの個数及び呼出し側のレジスタウィンドウとオ
ーバーラップするレジスタの個数を示す。コード生成部
20は、関数毎のレジスタ情報を参照して、レジスタ割
当命令を含むコードを生成するものである。CPU22
は、コード生成部20によって生成されたコードを実行
するもので、レジスタ割当命令に応じてレジスタウィン
ドウのコントロールを行なう。
【0011】次に、同実施例の動作について説明する。
【0012】入力部10から入力された関数について、
変数検索処理部12は、通常のコンパイラ等が行なうよ
うな変数検索処理を関数単位で行ない、変数のサイズ,
生存範囲と共に、変数の個数や種類等を含む関数毎の変
数情報を生成する。ここで生成された関数毎の変数情報
は、変数情報記憶部14に記憶される。
【0013】次に、必要レジスタ割当処理部16は、変
数情報記憶部14に記憶された関数毎の変数情報に基づ
いて、各関数内で必要なレジスタ数と、その関数を呼出
すときにオーバーラップさせるレジスタウィンドウの個
数を、変数にレジスタを割り付けながら求める。ここで
得られた関数毎のレジスタ情報は、レジスタ情報記憶部
18に記憶される。
【0014】その後、コード生成部20は、コード生成
を行なうが、関数の呼出しに伴い、呼出される関数側で
のレジスタウィンドウをどの様な状態にするのか、レジ
スタ情報記憶部18に記憶された関数毎のレジスタ情報
を参照して判別する。コード生成部20は、この判別結
果に基づいて、レジスタ割当命令を含むコードを生成
し、CPU22に出力する。
【0015】CPU22は、レジスタ割当命令に従っ
て、レジスタウィンドウのコントロールを行ないなが
ら、実際のコードを実行する。このCPU22よるレジ
スタウィンドウのコントロール概念を図2に示してい
る。
【0016】ここでは、図3を用いて説明した際と同様
の状況であり、関数fが関数gを呼び、関数gが関数h
を呼ぶものとする。図2に示すように、関数gのレジス
タウィンドウが、図3に示すレジスタウィンドウと異な
り、各関数に必要なだけのレジスタが割り当てられてい
る。オーバーラップする部分も同様で、関数gが関数h
を呼出す場合、必要な個数だけのレジスタがオーバーラ
ップされている。
【0017】このように、無駄となるレジスタがないた
め、不必要にレジスタを浪費することがない。従って、
必要以上のレジスタセーブを招くことがないため、より
効率的な実行が可能となるものである。
【0018】なお、レジスタが沢山ある(容量が大き
い)CPUでは、ハードウェアによって可変個のレジス
タウィンドウを実現しなくても、ソフトウェアによって
実現可能である。
【0019】
【発明の効果】以上のように本発明によれば、オーバー
ラッピングレジスタウィンドウを可変長にすることによ
り、レジスタをあまり必要としない関数やサブルーチン
の呼出しを、より深くまでレジスタセーブすることなく
呼び出すことが可能となるので、より効率的に処理を実
行することが可能となるものである。
【図面の簡単な説明】
【図1】本発明の一実施例に係わるレジスタウィンドウ
設定方式を説明するための機能ブロック図。
【図2】同実施例におけるレジスタウィンドウの概念
図。
【図3】従来におけるレジスタウィンドウの概念図。
【符号の説明】
10…入力部、12…変数検索処理部、14…変数情報
記憶部、16…必要レジスタ割当処理部、18…レジス
タ情報記憶部、20…コード生成部、22…CPU。

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 オーバーラッピングレジスタウィンドウ
    を備えた制御ユニットにおいて、 レジスタウィンドウのウィンドウ長を動的に変更する可
    変手段を具備し、 前記可変手段によって得られたレジスタウィンドウを制
    御することを特徴とするレジスタウィンドウ設定方式。
JP3183711A 1991-06-28 1991-06-28 レジスタウインドウ設定方式 Pending JPH0512015A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3183711A JPH0512015A (ja) 1991-06-28 1991-06-28 レジスタウインドウ設定方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3183711A JPH0512015A (ja) 1991-06-28 1991-06-28 レジスタウインドウ設定方式

Publications (1)

Publication Number Publication Date
JPH0512015A true JPH0512015A (ja) 1993-01-22

Family

ID=16140627

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3183711A Pending JPH0512015A (ja) 1991-06-28 1991-06-28 レジスタウインドウ設定方式

Country Status (1)

Country Link
JP (1) JPH0512015A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161467B2 (en) 2001-05-29 2012-04-17 International Business Machines Corporation Compiling method and storage medium therefor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161467B2 (en) 2001-05-29 2012-04-17 International Business Machines Corporation Compiling method and storage medium therefor
US8671399B2 (en) 2001-05-29 2014-03-11 International Business Machines Corporation Systems and methods for efficiently using stack registers and storage medium therefor

Similar Documents

Publication Publication Date Title
JPH01155451A (ja) 仮想計算機システム
JPH09502558A (ja) マルチタスクオペレーティングシステムにおける共用コード及びデータを保護するための方法およびシステム
JPH0512015A (ja) レジスタウインドウ設定方式
JP2902746B2 (ja) 仮想計算機制御方式
JP2001282560A (ja) 仮想計算機制御方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2002099435A (ja) マルチタスク制御方法および情報処理装置
JPH0460843A (ja) マルチプロセッサシステムにおけるタスクスケジュール方式
JP2000215071A (ja) 仮想計算機システム
JPH1131134A (ja) コンピュータシステム及び同システムに適用するスケジューリング方法
JP2570198B2 (ja) タイムスライスディスパッチングシステム
JPH05134960A (ja) ローカルプロセツシング方式
JPS605302A (ja) シ−ケンスコントロ−ラのプログラム方法
JPH0528120A (ja) マルチプロセツサ処理方式
JP2574539B2 (ja) 半導体装置
JPH09325892A (ja) ジョブ並列実行制御方法
JP2518504B2 (ja) 目的プログラム生成装置
JPH0373027A (ja) ベクトルレジスタ退避復元方式
JPS62205434A (ja) 再帰呼出し可能プログラムのコンパイル処理方式
JPH0512038A (ja) Cpu待ち時間制御デイスパツチング方式
JPS6236576B2 (ja)
JPH113235A (ja) 仮想プロセッサによるタスク制御システム
JPS6113342A (ja) 演算制御方式
JPH02113363A (ja) マルチプロセッサシステムにおけるタイムスライス制御方式
JPH03241431A (ja) タスク内共通領域の割当て方式
JP2001101150A (ja) データ処理装置及びデータ処理方法