JPH02173826A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH02173826A
JPH02173826A JP63331762A JP33176288A JPH02173826A JP H02173826 A JPH02173826 A JP H02173826A JP 63331762 A JP63331762 A JP 63331762A JP 33176288 A JP33176288 A JP 33176288A JP H02173826 A JPH02173826 A JP H02173826A
Authority
JP
Japan
Prior art keywords
subroutine
registers
register
contents
data
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
JP63331762A
Other languages
English (en)
Inventor
Maeri Hashiguchi
橋口 万枝里
Toru Shimizu
徹 清水
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP63331762A priority Critical patent/JPH02173826A/ja
Publication of JPH02173826A publication Critical patent/JPH02173826A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、主記憶装置及び複数のレジスタを有し、複数
階層のサブルーチンへ分岐するプログラムの実行が可能
であって、各階層のサブルーチンへ分岐する都度、レジ
スタの内容を主記憶装置へ退避するデータ処理装置に関
する。
(従来の技術〕 第2図は、例えば?IC68000,VAX−11等ノ
マイクロプロセッサを備えたマイクロコンピュータの構
成を示すブロック図であって、図中1はMPUである。
MPUIは、RAM、ROM等からなる主記憶装置2と
接続され、MPUI及び主記憶装置2は、プログラム、
データを読み込む入力装置3及び演算結果等を出力する
出力装置4と接続される。MPUIは、MPUIに接続
される各部を制御する制御装置11と、プログラム及び
データに基づき演算、論理演算を行う演算装置12とが
らなり、演算データ及びアドレスデータを記憶する汎用
レジスタ、プログラム・カウンタ、スタック・ポインタ
等の複数のレジスタを備える。主記憶装置2は、ワーキ
ングRAM内に、プログラムを記憶する作業領域21と
、レジスタの内容等のデータを一時的に記憶するスタッ
ク領域22とを設けている。
次に、サブルーチンへ分岐する動作につき説明する。M
C68000等のBSR(Branch to 5ub
routine)命令によってサブルーチンへ分岐する
際、BS+?命令の直後の命令ステップのアドレスをス
タック領域22に格納し、プログラムカウンタに(現在
のプログラムカウンタ)+(ディスプレースメント)を
格納する。その際、サブルーチン呼び出し側のルーチン
がサブルーチンを呼び出す時点で使用している全レジ・
スタの内容を主記憶装置2へ退避する。
一方、VAX−11(7)CALLG命令によッテサブ
ルーチンヘ分岐する際、CALLG命令の直後の命令ス
テップのアドレスをスタック領域22に格納し、プログ
ラムカウンタにサブルーチンのアドレスを格納する。そ
の際、サブルーチンで使用するレジスタを指定している
セーブマスクの内容に従って、サブルーチンで使用する
全レジスタの内容をスタック領域22へ退避する。
〔発明が解決しようとする課題〕
従来のマイクロコンピュータは、以上のように構成され
ているので、MPUとしてMC68000を備えている
場合は、分岐したサブルーチンで使用するレジスタの種
類に関係なく、サブルーチン呼び出し倒のルーチンで使
用している全レジスタの内容を主記憶装置へ退避し、一
方、VAX−11を備えている場合は、呼び出し側のル
ーチンで使用しているレジスタの種類に関係なく分岐し
たサブルーチンで使用する全レジスタの内容を主記憶装
置へ退避しなければならないため、いずれのMPUの場
合にも不必要な退避が行われて処理速度の向上を妨げる
という問題があった。
本発明はこのような問題を解決するためになされたもの
であって、サブルーチンへの分岐時に、必要なレジスタ
のみの内容を主記憶装置へ退避して処理速度を高速化す
るデータ処理装置の提供を目的とする。
〔課題を解決するための手段〕
本発明のデータ処理装置は、サブルーチンへ分岐する際
、実行中の現ルーチンで使用しているレジスタを主記憶
装置に記憶する手段と、サブルーチンへ分岐する都度、
現ルーチンまでの全階層のルーチンにて使用したレジス
タを記憶するレジスタ記憶手段と、サブルーチンへ分岐
する都度、該サブルーチンで使用するレジスタを指定す
るレジスタ指定手段と、レジスタ指定手段が指定するレ
ジスタとレジスタ記憶手段が記憶しているレジスタとに
基づき、両方に共通するレジスタを検出する手段と、検
出した共通レジスタのみの内容を主記憶装置へ退避する
手段とを備えたことを特徴とする。
〔作用〕
本発明のデータ処理装置は、サブルーチンへ分岐する際
、実行中の現ルーチンで使用しているレジスタを主記憶
装置に記憶するとともに、現ルーチンまでの全階層のル
ーチンにて使用したレジスタを記憶し、このレジスタと
、サブルーチンで使用すべく指定されたレジスタとに基
づき、両方に共通するレジスタを検出し、共通して使用
するレジスタのみの内容を主記憶装置へ退避する。
〔実施例〕
以下、本発明をその実施例を示す図面に基づき詳述する
第2図は、本発明に係るマイクロコンピュータの構成を
示すブロック図であって、図中1はMPUである。MP
UIは、RAM、ROM等からなる主記憶装置2と接続
され、MPUI及び主記憶装置2は、プログラム、デー
タを読み込む入力装置3及び演算結果等を出力する出力
装置4と接続される。MPUIは、MPUIに接続され
る各部を制御する制御装置11と、プログラム及びデー
タに基づき演算、論理演算を行う演算装置12とからな
り、演算データ及びアドレスデータを記憶する汎用レジ
スタ、プログラム・カウンタ、スタック・ポインタ及び
使用中及び使用予定レジスタを記憶するレジスタの複数
のレジスタを備える。主記憶装置2は、ワーキングRA
Mに、プログラムを記憶する作業領域21と、レジスタ
の内容、使用レジスタのリスト等のデータを一時的に記
憶するスタック領域22とを設けている。
第1図は、前記レジスタ群を模式的に示す概念図であっ
て、第1図fa)は、演算データ及びアドレスデータを
記憶する16個の汎用レジスタRO−R15プログラム
・カウンタPC,スタック・ポインタSPである。また
、第1図中)は、汎用レジスタRO〜l?15に各ビッ
トを対応させ、サブルーチン呼出時における呼出側のレ
ジスタ使用、不使用の状況を“0”、“1”で記憶する
16ビツトからなる使用状況レジスタRAである。
次に、複数階層のサブルーチンへ分岐する動作につき説
明する。なお、本実施例では、メインルーチンでレジス
タRO,R1,R3、第1階層のサブルーチン5tlB
1でレジスタI?1.R2,l?4、第2階層のサブル
ーチン5UB2でレジスタRO,R3,l?5を使用す
る。
呼出側ルーチンに対応する使用状況レジスタRAには初
期値として“0′が書き込まれている。第1階層のサブ
ルーチン5IJBIを呼び出すと、サブルーチン5UB
Iのアドレスと共に、メインルーチンにて現在使用中の
レジスタRO,R1,R3に対応するビットを1”で表
したデータリストが呼出命令のオペランドとして与えら
れる。このデータリストと使用状況レジスタRAとの論
理和をとり、演算の結果、即ち、呼出時にメインルーチ
ンで使用中のレジスタRO,R1,R3を1”で表した
レジスタリストを使用状況レジスタRAに書き込む。ま
た、サブルーチン5UBIの冒頭では、サブルーチン5
UBIで使用するレジスタR1,R2,R4に対応する
ビットを1”で表したデータリストが与えられる。使用
状況レジスタRAとデータリストとの論理積をとり、演
算結果、即ちサブルーチン5tlB1とメインルーチン
とが共通して使用するレジスタ、本実施例ではレジスタ
R1の内容を主記憶装置2のスタック領域22へ退避す
る。さらに、使用状況レジスタRAの値をスタック領域
22に格納する。続いて、現在のPCの値をスタック領
域22へ退避した後、サブルーチン5UBIのアドレス
をPCに格納して第1階層のサブルーチン5IIBIの
呼出が完了する。
さらに、第1階層のサブルーチン5UBIから第2階層
のサブルーチン5tlB2を呼び出す場合につき説明す
る。使用状況レジスタRAには、メインルーチンで使用
中のレジスタRO,R1,R3のビットフィールドに“
1”が書き込まれている。第2階層のサブルーチン80
82を呼び出すと、サブルーチン5UB2のアドレスと
共に、サブルーチン5IIBIにて現在使用中のレジス
タI?l、R2,R4に対応するビットを1”で表した
データリストが呼出命令のオペランドとして与えられる
。このデータリストと使用状況レジスタRAとの論理和
をとり、演算の結果、即ち、呼出時までにメインルーチ
ン及びサブルーチン5UBIで使用中のレジスタRO,
!?1.R2,R3,R4を“1”で表したレジスタリ
ストを使用状況レジスタRAに書き込む。また、サブル
ーチン5UB2の冒頭では、サブルーチン5UB2で使
用するレジスタ170. R3,R5に対応するビット
を“1”で表したデータリストが与えられる。使用状況
レジスタR^とデータリストとの論理積をとり、演算結
果、即ち、メインルーチン及びサブルーチン5UBIと
サブルーチン5UB2とが共通して使用するレジスタ、
本実施例ではレジスタtlO,+13の内容を主記憶装
置2のスタック領域22へ退避する。さらに、使用状況
レジスタRAの値をスタック領域22に格納する。続い
て、現在のPCの値をスタック領域22へ退避した後、
サブルーチン5tlB2のアドレスをPCに格納して第
2階層の号ブルーチン5UB2の呼出が完了する。
サブルーチン5UB2又はサブルーチン5UBIからサ
ブルーチン5UB1又はメインルーチンへリターンする
際は、各階層へ分岐する都度、スタック領域22に格納
した各階層の使用状況レジスタIIAの値に基づき、退
避しであるレジスタの内容を復帰して分岐命令以降の命
令を再開する。
〔発明の効果〕
本発明のデータ処理装置は、サブルーチンへ分岐する際
に、そのサブルーチンで、現ルーチンまでの階層で使用
中の全レジスタと共通して使用するレジスタのみの内容
を主記憶装置へ退避する構成とし、不必要な退避動作を
回避して処理速度を向上させるという優れた効果を奏す
る。
【図面の簡単な説明】
第1図は本発明に係るデータ処理装置のレジスタ構成を
示す概念図、第2図はマイクロコンピュータの概略構成
を示すブロック図である。

Claims (1)

    【特許請求の範囲】
  1. (1)主記憶装置及び複数のレジスタを有し、複数階層
    のサブルーチンへ分岐する処理が可能であって、各階層
    のサブルーチンへ分岐する都度、レジスタの内容を主記
    憶装置へ退避するデータ処理装置において、 サブルーチンへ分岐する際、実行中の現ル ーチンで使用しているレジスタを主記憶装置に記憶する
    手段と、 サブルーチンへ分岐する都度、現ルーチン までの全階層のルーチンにて使用したレジスタを記憶す
    るレジスタ記憶手段と、 サブルーチンへ分岐する都度、該サブルー チンで使用するレジスタを指定するレジスタ指定手段と
    、 レジスタ指定手段が指定するレジスタとレ ジスタ記憶手段が記憶しているレジスタとに基づき、両
    方に共通するレジスタを検出する手段と、 検出した共通レジスタのみの内容を主記憶 装置へ退避する手段と を備えたことを特徴とするデータ処理装置。
JP63331762A 1988-12-26 1988-12-26 データ処理装置 Pending JPH02173826A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63331762A JPH02173826A (ja) 1988-12-26 1988-12-26 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63331762A JPH02173826A (ja) 1988-12-26 1988-12-26 データ処理装置

Publications (1)

Publication Number Publication Date
JPH02173826A true JPH02173826A (ja) 1990-07-05

Family

ID=18247334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63331762A Pending JPH02173826A (ja) 1988-12-26 1988-12-26 データ処理装置

Country Status (1)

Country Link
JP (1) JPH02173826A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04147339A (ja) * 1990-10-09 1992-05-20 Nec Software Ltd 情報処理装置
US6495722B1 (en) 2001-09-17 2002-12-17 Huntsman Petrochemical Corporation Mannich polyols for rigid spray foams
JP2020025753A (ja) * 2018-08-13 2020-02-20 株式会社ソフイア 遊技機

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04147339A (ja) * 1990-10-09 1992-05-20 Nec Software Ltd 情報処理装置
US6495722B1 (en) 2001-09-17 2002-12-17 Huntsman Petrochemical Corporation Mannich polyols for rigid spray foams
JP2020025753A (ja) * 2018-08-13 2020-02-20 株式会社ソフイア 遊技機

Similar Documents

Publication Publication Date Title
JPH02173826A (ja) データ処理装置
JP3595028B2 (ja) リアルタイムosの処理方法
JPS6290728A (ja) 割込処理方法
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
JPH04241032A (ja) システムコール実行装置
JPH04169937A (ja) マイクロ・プロセッサ
JPS6327746B2 (ja)
JPS62267869A (ja) ベクトル・プロセツサにおける演算例外時の処理方式
JPH07105043A (ja) プログラムエラー検出装置
JPH03208132A (ja) シングルチツプマイクロコンピユータ
JPH0527975A (ja) マイクロコンピユータ
WO1990005951A1 (en) Method of handling unintended software interrupt exceptions
JPS59191614A (ja) ロボツトの制御装置
JP3239042B2 (ja) マイクロコンピュータ
JPH04195629A (ja) 演算フラグ生成装置
JPH0477826A (ja) マイクロプロセツサ
JPH04148331A (ja) マイクロコンピユータ
JPS61100836A (ja) 移動命令論理比較命令処理方式
JPS59173876A (ja) ベクトル・デ−タ処理装置
JPS61184644A (ja) 仮想計算機システム制御方式
JPS61294582A (ja) 演算装置
JPS63104141A (ja) レジスタの固定方式
JPS61233865A (ja) ベクトルプロセツサ
JPH04177532A (ja) マイクロプロセッサ
JPH01309135A (ja) マイクロプロセッサ