JPH03147026A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH03147026A
JPH03147026A JP1282963A JP28296389A JPH03147026A JP H03147026 A JPH03147026 A JP H03147026A JP 1282963 A JP1282963 A JP 1282963A JP 28296389 A JP28296389 A JP 28296389A JP H03147026 A JPH03147026 A JP H03147026A
Authority
JP
Japan
Prior art keywords
memory
registers
stack
register
instruction
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
JP1282963A
Other languages
English (en)
Inventor
Tetsuya Nakagawa
哲也 中川
Atsushi Kiuchi
淳 木内
Mitsuru Ubusawa
生澤 満
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1282963A priority Critical patent/JPH03147026A/ja
Priority to KR1019900016807A priority patent/KR910010303A/ko
Publication of JPH03147026A publication Critical patent/JPH03147026A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプロセッサのスタック装置に係り、特に高速な
割込み処理を必要とするプロセッサのスタック装置に関
するものである。
〔従来の技術〕
従来の公知例としては、[コンピュータ アーキテクチ
ャ 板材 健著 共立出版(1984)p62〜p71
」を挙げることができる。
マイクロプロセッサを初めとする汎用プロセッサにおい
てアセンブラプログラマからみえるスタックは1つだけ
であり1通常メモリ上に設置されている。このスタック
はサブルーチン呼出し時や割込み発生時にプロセッサ内
部のレジスタ値を退避するのに用いられる。通常の応用
では割込みの応答速度はそれほど速い必要はなく、また
サブルーチン呼出し時に使用されるスタックの段数が3
つ以上になることが少ない、そこで従来は公知例に示す
ようにスタックの最初の2〜4段をレジスタで構成して
スタックの最初の部分だけ動作を高速化する試みがなさ
れてきた。
〔発明が解決しようとする課題〕
しかし、上記の方法では高速応答が要求される割込みが
発生する応用の場合に問題が生じる0例えば、マイクロ
プロセッサを用いてモータなどの周辺装置をリアルタイ
ムで制御する場合がこれにあたる、マイクロプロセッサ
がメインタスクを実行中であり、すでにサブルーチン呼
出しのためにレジスタで構成された高速なスタック部分
を使いきってしまった時にモータから割込みが発生した
とする。この場合5割込み処理に伴うプロセッサ内部の
レジスタ値の退避は低速のメモリ上のスタック部分を用
いて行なわなければならない。その結果、退避に時間が
かかつてしまい、リアルタイム制御という厳しい条件を
満たせないという問題が発生する。
〔a題を解決するための手段〕
上記の問題はレジスタで構成された最初の数段分のスタ
ックだけが高速で後は低速のメインメモリをアクセスす
ることに起因する。スタック中の任意の一部分を高速に
指定できるならば課題は解決される。というのは高速ス
タックの一部を割込み用にリザーブしておくことができ
るからである。
そこで本発明では容量の少ないレジスタで構成された高
速なスタックと容量の多いメモリで構成された低速なス
タックの2つのスタックを用意してこれらを別々に制御
できる命令群を備えた。
〔作用〕
これにより、応用によって予想される必要なだけの容量
の高速スタックを割込み用にリザーブしておき、余った
高速スタックと低速スタックをサブルーチン呼出しに用
いわば良い。本発明を用いればどちらのスタックをどれ
だけ使うかをユーザーが命令で意識して指定することが
できる。このためメインタスクを実行中に何レベルのサ
ブルーチン呼出しが行なわれていようとも割込み用の1
¥6速スタツクは必要なだけリザーブさ九ている。よっ
て、いつ割込みが発生してもリザーブさ九ている高速ス
タックを用いて迅速なレジスタ退避ができ、リアルタイ
ム制御という厳しい条件を満たすことができる。
〔実施例〕
以下、本発明の一実施例を第1図から第4図までを用い
て説明する。第1図は本発明を用いた情報処理装置の基
本構成を示している。第1図の情報処理装置では説明を
簡略化するために4個の汎用レジスタRO−R3(1)
&持ち、各汎用レジスタがそれぞれ]−個の退避用レジ
スタ5o−S3(2)を持つ場合を扱うが、本発明は汎
用レジスタが何個であろうと、各汎用レジスタが何個の
退避用レジスタを持とうとも適用可能である。尚、この
退避用レジスタはレジスタで構成されたスタックであり
、レジスタスタックと呼ばれることもある。第1図の情
報処理装置は4個の汎用レジスタRO〜R3(1) 、
この4個の汎用レジスタRO−R3のそれぞれに結合さ
れた4個の退避用レジスタ5o−93(2)、デーツメ
−11−リ (3)、メモリスタックポインタ(4)、
演算器(5)、命令デコーダ(6)、命令メモリ(7)
、命令シーケンサ(8)及びデータバス(12)から構
成される。
第1図の情報処理装置では命令シーケンサ(8)で差し
示された命令メモリ(7)中の命令が読みだされ、命令
デコーダ(6)でデコードされて制御信号(9)となり
、汎用レジスタRO〜R3(1)、退避用レジスタSO
〜S3 (2)、データメモリ(3)、メモリスタック
ポインタ (4)、演算器(5)を制御する。この制御
信号(9)で例えばデータメモリ(3)中のデータと汎
用Iノジスタの内容を加算してこの結果をデータメモリ
に格納するといった命令で指定される動作を制御する。
また、第1図の情報処理装置は割込み信号(11)がロ
ーレベルの場合は命令メモリ中のメインタスクを実行す
るが、割込み信号(11)がハイレベルの場合は命令メ
モリ中の割込みベクトル(13)で指定される場所に格
納されている割込みルーチンを実行する。この割込み処
理の詳細については後に第4図で説明する。
上記に示したとおり、第1図の本発明では高速の退避用
レジスタ(2)と大容量メモリスタックとの2つのデー
タ退避手段を備えている。この大容量メモリスタックは
メモリスタックポインタ(4)を用いてデータメモリ(
3)、、hに設けられる。これら2つのデータ退避手段
はサブルーチンジャンプ時および割込み発生時に用いら
れる。こうした場合には以前のルーチンの変数などのデ
ータが汎用レジスタRO〜R3(1)に格納されている
が、これらのデータをサブルーチン処理や割込み処理が
終了するまでどこかに退避しておく必要がある。従来、
このデータ退避手段は1つしかなかったが、本発明では
2つ備えているわけである。これら2つのデータ退避手
段は異なる2種類の命令によって独立に制御される。す
なわち、これら2種類の命令は命令デコーダ(6)でデ
コードされ制御信号(9)となり、この制御信号(9)
中の所定のビットがローレベルの場合退避用レジスタが
選択され、ハイレベルの場合メモリスタックが選択され
る。
このデータメモリ(3)のメモリスタック領域への退避
と退避用レジスタへの退避の様子をそれぞれ第2図、第
3図を用いて説明する。第2図、第3図では判り易くす
るために説明に必要のない部分は省略しである。
第2図はメモリスタックポインタ(4)を用いてデータ
メモリ(3)上に設けられるメモリスタックを用いる場
合の例である。説明のために命令の二−モニツク表示(
PUSHM  RO)も合わせて示しである。上記二−
モニツク表示の意味はメモリスタックポインタの値を1
だけ増やした後。
メモリスタックの先頭(メモリスタックポインタで指さ
れている場所)にROの内容をPUSH(退避)すると
いうことである0図中には示していないがこれと反対の
動作はPOPM  ROと表現され、メモリスタックの
先頭(メモリスタックポインタで指されている場所)の
内容をROにpop (回復)した後、メモリスタック
ポインタの値を1だけ減らす。第2図にはPUSHMR
OによってレジスタROの値Aがメモリスタックの先頭
(メモリスタックポインタで指されている場所)にPU
SHされた様子が示しである。このメモリスタックはレ
ジスタの値を一つずつ退避及び回復させるため非常に低
速であるが容量が非常に大きいという特徴がある。
第3図は退避用レジスタを用いる場合の例である。説明
のために命令の二−モニツク表示(PUSHR)も合わ
せて示しである。上記二−モニツク表示の意味は4個の
汎用レジスタRO〜R3(1)の値をそれぞれ対応する
退避用レジスタSO〜53(2)にPUSHするという
ことである0図中には示していないがこれと反対の動作
はPOPRと表現され、4個の退避用レジスタ5o−8
3(2)の内容をそれぞれ対応する汎用レジスタRO〜
R3(1)にPOPする。第3図にはPUSHR命令に
よってRO〜R3(1)の値A、B、C。
Dがそれぞれ対応する退避用レジスタ5o−33(2)
にPUSHされた様子が示しである。この退避用レジス
タは容量は少ないものの複数個の汎用レジスタを同時に
退避及び回復できるため非常に高速に動作できるという
特徴がある。
次に第4図を用いてメモリスタックと退避用レジスタの
使いわけの一例を示す、第4図は第1図中の命令メモリ
(7)と命令シーケンサ(8)をより詳細に示した図で
ある。第4図の命令メモリ(7)にはAAA番地からメ
インタスクが、 BBB番地から割込みルーチンが格納
されている。命令シーケンサ(8)はプログラムカウン
タ(14)。
プログラムカウンタ用の退避用レジスタ(15)、セレ
クタ(16)、割込みベクトル入力(13)及び割込み
信号(11)で構成される。割込みがない場合割込み信
号(11)はローレベルになっており、セレクタ(16
)はプログラムカウンタ(14)を命令メモリ(7)に
接続する。第4図ではプログラムカウンタ(14)には
AAA番地が入っており、命令メモリ中のAAA番地か
ら始まるメインタスクが実行される。割込みが生じると
割込み信号(11)はハイレベルになっており、セレク
タ (16)は割込みベクトル(13)を命令メモリ(
7)に接続する。第4図では割込みベクトル(13)は
BBB番地なので、命令メモリ中のBBB番地から始ま
る割込みルーチンに制御が移る。第4図では高速の割込
み応答が必要と仮定しており1割込みルーチンでPUS
HR,POPR命令を用いて高速な退避用レジスタを指
定している。一方、メインタスクではP U S HM
、 POPM命令を用いて容量の多いメモリスタックを
指定している。これにより、高速応答の必要な割込みル
ーチンに対しては高速な退避用レジスタを使用し、サブ
ルーチンコールによるデータの退ifの多いメインタス
クに対しては大容量のメモリスタックを使用するという
使いわけが可能となる。しかも、この使いわけは命令を
用いてユーザーが指定できるため、高速の割込み処理が
必要ない応用の場合には退避用レジスタを高速サブルー
チンコールのために用いることも可能となる。
〔発明の効果〕
以上説明したように本発明の情報処理装置は、容量は少
ないが高速なレジスタスタックと低速だが大容量のメモ
リスタックとの2つのスタックを備え、これら2つのス
タックを別々の命令で制御することができる。このため
、高速の割込み処理を必要とするリアルタイム制御のよ
うな応用においても割込みルーチンではレジスタスタッ
クへの退避を指定し、メインルーチン内のサブルーチン
コールにはメモリスタックを用いることにより、効率良
く対応することができるという大きな効果がある。また
、高速なレジスタスタックと大容量のメモリスタックの
使いわけは命令を用いてユーザーが指定できるため、高
速の割込み処理が必要ない応用の場合にはレジスタスタ
ックを高速サブルーチンコールのために用いることもi
J能となる。
【図面の簡単な説明】
第1図は本発明の一実施例を示す基本構成図、第2図お
よび第3図は第1図の実施例の基本り」作を説明する図
、第4図は第1の実施例の2つのスタックの使いわけを
説明する図である。 1・・・汎用レジスタ、2・・・レジスタスタック、:
3データメモリ、4・・・メモリスタックポインタ、5
・演算器、6・・・命令デコーダ、7・・・命令メモリ
、8・・・命令シーケンサ、9・・・制御信号、】0・
・命令、11・・・割込み信号、12・・・データバス
、1−3・・・割込みベクトル、14 ・プログラムカ
ウンタ、15¥1 父 第 2 父 PUsHr’I  Ro 3ト1 割込−rイ言号 ■ づ 図 アOせツーウ” しシ゛ズ7 PUSHF。 頁 図 BI3

Claims (1)

    【特許請求の範囲】
  1. 1、バスと該バスに接続された複数個のレジスタからな
    る汎用レジスタと、該バスに接続されたデータメモリと
    、命令を解読するデコーダを具備する情報処理装置であ
    つて、上記汎用レジスタに結合された複数個の退避用レ
    ジスタをさらに具備し、命令デコーダによつて解読され
    た上記命令が所定情報を有する場合にデータメモリに汎
    用レジスタの内容を退避させ、命令デコーダによつて解
    読された上記命令が所定情報と異なる情報を有する場合
    に汎用レジスタの内容を退避用レジスタに退避させるこ
    とを特徴とする情報処理装置。
JP1282963A 1989-11-01 1989-11-01 情報処理装置 Pending JPH03147026A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1282963A JPH03147026A (ja) 1989-11-01 1989-11-01 情報処理装置
KR1019900016807A KR910010303A (ko) 1989-11-01 1990-10-20 정보 처리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1282963A JPH03147026A (ja) 1989-11-01 1989-11-01 情報処理装置

Publications (1)

Publication Number Publication Date
JPH03147026A true JPH03147026A (ja) 1991-06-24

Family

ID=17659402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1282963A Pending JPH03147026A (ja) 1989-11-01 1989-11-01 情報処理装置

Country Status (2)

Country Link
JP (1) JPH03147026A (ja)
KR (1) KR910010303A (ja)

Also Published As

Publication number Publication date
KR910010303A (ko) 1991-06-29

Similar Documents

Publication Publication Date Title
US4410939A (en) System for program interrupt processing with quasi-stack of register-sets
US5557766A (en) High-speed processor for handling multiple interrupts utilizing an exclusive-use bus and current and previous bank pointers to specify a return bank
US5386563A (en) Register substitution during exception processing
US3984820A (en) Apparatus for changing the interrupt level of a process executing in a data processing system
JP2883784B2 (ja) マイクロコンピュータ
KR20130012126A (ko) 예외 이벤트 처리 장치 및 방법
JPS59111542A (ja) プログラム・カランタ・スタツク方法およびネストされたサブル−チンと命令用の装置
US5978910A (en) Performing pending interrupts or exceptions when interruptible jumps are detected
JP3970609B2 (ja) プロセッサシステム
JPH0523447B2 (ja)
US5491826A (en) Microprocessor having register bank and using a general purpose register as a stack pointer
JPH03147026A (ja) 情報処理装置
US4816992A (en) Method of operating a data processing system in response to an interrupt
EP1127320A1 (en) Servicing of interrupts with stored and restored flags
JPH056281A (ja) 情報処理装置
JPS62262146A (ja) 処理装置
JPS59218569A (ja) マイクロ・コンピユ−タ
JPH0377137A (ja) 情報処理装置
JPS61282932A (ja) アドレスカウンタ制御方式
JPS59173876A (ja) ベクトル・デ−タ処理装置
JP2743947B2 (ja) マイクロプログラム制御方式
JP2675506B2 (ja) マイクロプロセッサ装置
JPH0683640A (ja) 割込応答処理方式
JPS62151936A (ja) マイクロプロセツサに内蔵されるキヤツシユ回路
Cluley Microprocessor Registers and their Functions