JPH06110705A - プログラム制御装置 - Google Patents

プログラム制御装置

Info

Publication number
JPH06110705A
JPH06110705A JP4262504A JP26250492A JPH06110705A JP H06110705 A JPH06110705 A JP H06110705A JP 4262504 A JP4262504 A JP 4262504A JP 26250492 A JP26250492 A JP 26250492A JP H06110705 A JPH06110705 A JP H06110705A
Authority
JP
Japan
Prior art keywords
interrupt
program
register
address
bits
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.)
Granted
Application number
JP4262504A
Other languages
English (en)
Other versions
JP3058524B2 (ja
Inventor
Toshimichi Matsuzaki
敏道 松崎
Nobuo Higaki
信生 桧垣
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP4262504A priority Critical patent/JP3058524B2/ja
Publication of JPH06110705A publication Critical patent/JPH06110705A/ja
Application granted granted Critical
Publication of JP3058524B2 publication Critical patent/JP3058524B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 割り込み処理および割り込みからの復帰処理
を高速化できるプログラム制御装置を提供する。 【構成】 第1のコードバンクレジスタ1および第2の
コードバンクレジスタ2は、プログラムアドレスの上位
側ビットを保持する。プログラムカウンタ4は、プログ
ラムアドレスの下位側ビットを保持する。セレクタ3
は、第1のコードバンクレジスタ1および第2のコード
バンクレジスタ2のうちの1つを選択する。そして、割
り込み時および割り込みからの復帰時にプログラムアド
レスの上位側ビットをセレクタ3により切り換える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、割り込みおよび割り込
み復帰を処理するプログラム制御装置に関するものであ
る。
【0002】
【従来の技術】従来のプログラム処理装置は、内部構造
の小型化や処理の高速化を図るため、プログラムアドレ
スを2分割して上位側ビットと下位側ビットとに分けて
管理する、いわゆるバンク方式を採用したものが多かっ
た。例えばプログラムアドレスが24ビットの場合、プ
ログラムアドレスの上位側8ビットをコードバンクレジ
スタに、下位側16ビットをプログラムカウンタにそれ
ぞれ格納する。このようにすることで、同一バンク内の
サブルーチンコールでは下位側のプログラムアドレスを
退避するだけでよいので、実行の高速化や退避領域の縮
小化を図ることができる。
【0003】図4は従来のプログラム制御装置における
割り込み時のスタックの状態の説明図で、(a)は割り
込み発生前のスタックの状態、(b)は割り込み発生後
のスタックの状態をそれぞれ示している。割り込み発生
時には、戻り先アドレスの全ビット24ビット(retCBR
, retPC)と戻り先でのプログラム状態語16ビット
(retPSW)とがスタックに退避される。従って、従来の
プログラム制御装置では、割り込みが発生すると3ワー
ドの情報をスタックに退避することになる。
【0004】また従来のプログラム処理装置は、割込み
時の分岐先を決める方式として、割り込みの種類に応じ
て割り込みプログラムの開始アドレスを切り換える、い
わゆる割り込みテーブル方式を採用したものが一般的で
あった。この割り込みテーブル方式では、割り込みの種
類に応じて割り込みプログラムを用意し、その開始アド
レスをテーブルに登録するだけで、割り込みの種類判定
をプログラムで行なう必要がないという利点がある。
【0005】図5は従来のプログラム制御装置における
割り込みテーブルの内容の説明図で、割り込みテーブル
は、割り込みの種類毎に、8ビットのコードバンク番号
と16ビットのバンク内アドレスとからなる24ビット
の割り込みプログラムの開始アドレスを格納している。
このような従来のプログラム制御装置では、割り込みプ
ログラムはどのバンクに配置してもよいし、バンク内の
どこに配置してもよいという自由度がある反面、割り込
みテーブルには割り込み毎に割り込み開始アドレスを用
意しておかなければならないため、割り込みの種類が増
えるとテーブルの規模が大きくなってしまう。
【0006】
【発明が解決しようとする課題】しかしながら上記従来
のプログラム処理装置では、割り込みはプログラムがど
のバンクで実行されているかにかかわらず発生する可能
性があるため、元のプログラムに戻るためにはプログラ
ムアドレスの全ビットを退避させる必要があり、割り込
み時に退避させるデータ量が増加することから、バンク
方式によりプログラムアドレスを分割しているにもかか
わらず割り込み応答速度を高速化できないという問題点
があった。
【0007】また上記従来のプログラム処理装置では、
割り込みプログラムをどのバンクにも配置可能にするた
めには、割り込みテーブルにプログラムアドレスの全ビ
ットを用意する必要があるため、割り込みの種類が増え
ると割り込みテーブルの規模が大きくなるという問題点
があった。また、実行中のプログラムと割り込みプログ
ラムとが同一バンクにあっても、バンクを指定し直すと
いう無駄があり、そのため実行速度が低下するという問
題点があった。
【0008】すなわち上記従来のプログラム処理装置で
は、同一バンク内でのサブルーチンコールなどの処理に
関してはバンクがない場合と同様に処理できるが、割り
込み時にはプログラムアドレスの全ビットを退避および
復帰させる必要があるため、処理速度が低下したりプロ
グラムアドレスの退避領域が増大する。本発明はかかる
事情に鑑みて成されたものであり、割り込み処理および
割り込みからの復帰処理を高速化できるプログラム制御
装置を提供することを目的とする。
【0009】
【課題を解決するための手段】請求項1の発明は、プロ
グラムアドレスの上位側ビットを保持する複数の第1の
レジスタと、前記プログラムアドレスの下位側ビットを
保持する第2のレジスタと、前記第1のレジスタのうち
の1つを選択するセレクタとを備え、割り込み時および
割り込みからの復帰時にプログラムアドレスの上位側ビ
ットを前記セレクタにより切り換える構成とする。
【0010】請求項2の発明は、割り込み時に、セレク
タにより第1のレジスタを切り換え、かつ第2のレジス
タに予め決められた値を設定することによって、割り込
みを処理する割り込み処理プログラムに分岐する構成と
する。
【0011】
【作用】請求項1の発明において、複数の第1のレジス
タは、プログラムアドレスの上位側ビットを保持する。
第2のレジスタは、プログラムアドレスの下位側ビット
を保持する。セレクタは、第1のレジスタのうちの1つ
を選択する。そして、割り込み時および割り込みからの
復帰時にプログラムアドレスの上位側ビットをセレクタ
により切り換える。
【0012】請求項2の発明においては、割り込み時
に、セレクタにより第1のレジスタを切り換え、かつ第
2のレジスタに予め決められた値を設定することによっ
て、割り込みを処理する割り込み処理プログラムに分岐
する。
【0013】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図1は本発明の一実施例におけるプログラム
処理装置の構成図で、このプログラム処理装置は、第1
のコードバンクレジスタ1と、第2のコードバンクレジ
スタ2と、セレクタ3と、プログラムカウンタ4と、R
OM5と、汎用レジスタ6と、プログラム状態語7と、
演算器8と、オペランドアドレスレジスタ9と、RAM
10と、割り込み受理制御部11と、割り込み状態レジ
スタ12と、全体制御部13と、内部データバス14と
を備えている。第1のコードバンクレジスタ1は、プロ
グラムアドレス24ビットの上位8ビットを保持し、そ
の内容をセレクタ3の一方の入力端に常に供給すると共
に、全体制御部13からの制御信号に基づいて内部デー
タバス14を介してデータの読み出しおよび書き込みを
行なう。第2のコードバンクレジスタ2は、プログラム
アドレス24ビットの上位8ビットを保持し、その内容
をセレクタ3の他方の入力端に常に供給すると共に、全
体制御部13からの制御信号に基づいて内部データバス
14を介してデータの読み出しおよび書き込みを行な
う。セレクタ3は、全体制御部13からの制御信号に基
づいて、第1のコードバンクレジスタ1からのデータと
第2のコードバンクレジスタ2からのデータとのうちの
いずれか一方を選択してROM5に供給する。プログラ
ムカウンタ4は、プログラムアドレス24ビットの下位
16ビットを保持し、その内容をROM5に常に供給す
る。ROM5は、命令が格納されており、セレクタ3お
よびプログラムカウンタ4からの24ビットのプログラ
ムアドレスにより命令が読み出される。汎用レジスタ6
は、プログラムの実行に必要なデータおよびアドレスが
格納される。プログラム状態語7は、演算器8による演
算結果のフラグや割り込み許可フラグなどが格納され
る。オペランドアドレスレジスタ9は、アクセスするデ
ータのアドレスが格納される。RAM10は、データが
格納されており、オペランドアドレスレジスタ9の内容
に基づいてデータの読み出しおよび書き込みが行われ
る。割り込み受理制御部11は、発生した割り込みの受
付を行ない、割り込み状態レジスタ12に登録する。全
体制御部13は、プログラム制御装置全体を制御する。
【0014】図2は割り込み時のスタックの状態の説明
図で、(a)は割り込み発生前のスタックの状態、
(b)は割り込み発生後のスタックの状態をそれぞれ示
している。割り込み発生時には、戻り先のプログラムア
ドレスの下位16ビット(retPC)と戻り先でのプログ
ラム状態語16ビット(retPSW)とがスタックに退避さ
れる。
【0015】図3は割り込み処理プログラムの配置の説
明図で、割り込み処理プログラムは、バンク内の固定番
地に配置される。割り込みが発生すると固定番地にある
割り込み処理プログラムに分岐するので、割り込みテー
ブルは不要である。この割り込み処理プログラムでは、
割り込み状態レジスタ12の内容を読み出してどの割り
込みが要求されているかを判断し、判断結果に応じて割
り込みプログラムA,B,C のいずれかに分岐する。
【0016】次に動作を説明する。いま、割り込みが発
生する前の状態であり、第1のコードバンクレジスタ1
がセレクタ3によって選ばれており、第2のコードバン
クレジスタ2がクリアされているとする。従って、24
ビットのプログラムアドレスは第1のコードバンクレジ
スタ1の上位側8ビットとプログラムカウンタ4の下位
側16ビットとによって作られる。また、スタックの状
態は図2(a)のようであり、プログラム状態語7の割
り込み許可フラグがセットされている。
【0017】この状態で割り込みが発生すると、プログ
ラムカウンタ4の内容とプログラム状態語7の内容とが
それぞれスタックに退避される。そして、セレクタ3が
全体制御部13からの制御信号に基づいて第2のコード
バンクレジスタ2を選択すると共に、プログラムカウン
タ4にハードウェアで決まった固定アドレスが格納され
る。固定アドレスは特に制限はなく、ハードウェアが作
りやすい値を選ぶことが可能である。割り込みが発生す
ると、プログラムアドレスは、第2のコードバンクレジ
スタ2とプログラムカウンタ4とによって作られるよう
になる。割り込み前の第2のコードバンクレジスタ2の
内容はゼロなので、割り込みが発生するとバンク0の固
定アドレスに分岐することになる。分岐先には割り込み
処理プログラムがあり、割り込み処理プログラムでは割
り込み状態レジスタ12の内容を読み出して割り込みの
種類を判定し、割り込みの種類に応じたプログラムに分
岐する。また、割り込みが発生すると、プログラム状態
語7の割り込み許可フラグがクリアされ、プログラムに
よって許可フラグをセットするまでは、次の割り込みを
受け付けない状態になる。割り込みのプログラムを実行
中に他の割り込みを受け付ける多重割り込みは、割り込
み処理プログラムにおいてプログラム状態語7中の割り
込み許可フラグをセットすることにより可能となる。た
だし、再び割り込みが発生すると、セレクタ3が全体制
御部13からの制御信号により1回目の割り込みが発生
する前の状態に戻り、第1のコードバンクレジスタ1を
選択する。従って、多重割り込みを行なう前には、現在
使用中のコードバンクレジスタと反対側のコードバンク
レジスタの内容をプログラムにより退避させた後、割り
込み許可フラグをセットする。
【0018】割り込みからの復帰は、割り込み時と逆の
動作である。スタックに退避されたプログラム状態語7
の内容とプログラムカウンタ4の内容とをそれぞれのレ
ジスタに復帰させ、セレクタ3が全体制御部13からの
制御信号により元の第1のコードバンクレジスタ1を選
択する。なお上記実施例では、第2のコードバンクレジ
スタ2の初期値をゼロとしたが、この値は何でもよく、
割り込み処理プログラムを配置するバンクは任意に設定
可能である。
【0019】また上記実施例では、コードバンクレジス
タを2本としたが、本数は制限されるものではない。
【0020】
【発明の効果】以上説明したように本発明によれば、プ
ログラムアドレスの上位側ビットを保持する複数の第1
のレジスタと、プログラムアドレスの下位側ビットを保
持する第2のレジスタと、第1のレジスタのうちの1つ
を選択するセレクタとを備え、割り込み時および割り込
みからの復帰時にプログラムアドレスの上位側ビットを
前記セレクタにより切り換える構成としたので、割り込
みが発生した場合に退避させるデータがプログラムカウ
ンタの内容とプログラム状態語との2ワードだけであ
り、しかも割り込み時の分岐先が固定されていることか
ら、退避資源が少なく、割り込み処理および割り込みか
らの復帰処理を良好に高速化できる。
【0021】また、割り込み時に、セレクタにより第1
のレジスタを切り換え、かつ第2のレジスタに予め決め
られた値を設定することによって、割り込みを処理する
割り込み処理プログラムに分岐するようにすれば、割り
込み発生前にセットする値によって割り込み処理プログ
ラムを配置する位置を設定できるので、割り込みテーブ
ル方式と同等の効果を簡単なハードウェアにより得るこ
とができる。
【図面の簡単な説明】
【図1】本発明の一実施例におけるプログラム処理装置
の構成図である。
【図2】割り込み時のスタックの状態の説明図である。
【図3】割り込み処理プログラムの配置の説明図であ
る。
【図4】従来のプログラム制御装置における割り込み時
のスタックの状態の説明図である。
【図5】従来のプログラム制御装置における割り込みテ
ーブルの内容の説明図である。
【符号の説明】
1 第1のコードバンクレジスタ 2 第2のコードバンクレジスタ 3 セレクタ 4 プログラムカウンタ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 プログラムアドレスの上位側ビットを保
    持する複数の第1のレジスタと、 前記プログラムアドレスの下位側ビットを保持する第2
    のレジスタと、 前記第1のレジスタのうちの1つを選択するセレクタと
    を備え、 割り込み時および割り込みからの復帰時にプログラムア
    ドレスの上位側ビットを前記セレクタにより切り換える
    構成としたことを特徴とするプログラム制御装置。
  2. 【請求項2】 割り込み時に、セレクタにより第1のレ
    ジスタを切り換え、かつ第2のレジスタに予め決められ
    た値を設定することによって、割り込みを処理する割り
    込み処理プログラムに分岐する構成としたことを特徴と
    する請求項1に記載のプログラム制御装置。
JP4262504A 1992-09-30 1992-09-30 プログラム制御装置 Expired - Fee Related JP3058524B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4262504A JP3058524B2 (ja) 1992-09-30 1992-09-30 プログラム制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4262504A JP3058524B2 (ja) 1992-09-30 1992-09-30 プログラム制御装置

Publications (2)

Publication Number Publication Date
JPH06110705A true JPH06110705A (ja) 1994-04-22
JP3058524B2 JP3058524B2 (ja) 2000-07-04

Family

ID=17376726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4262504A Expired - Fee Related JP3058524B2 (ja) 1992-09-30 1992-09-30 プログラム制御装置

Country Status (1)

Country Link
JP (1) JP3058524B2 (ja)

Also Published As

Publication number Publication date
JP3058524B2 (ja) 2000-07-04

Similar Documents

Publication Publication Date Title
CA1223371A (en) System for by-pass control in pipeline operation of computer
US6553487B1 (en) Device and method for performing high-speed low overhead context switch
US4833640A (en) Register bank change including register to register transfer in a data processing system
JPS6027964A (ja) メモリアクセス制御回路
EP0167959B1 (en) Computer vector register processing
JPH06110705A (ja) プログラム制御装置
JP2591200B2 (ja) プログラム先取り装置
EP0306042B1 (en) Microprocessor vectored interrupts
JPH06230985A (ja) タスク制御回路、及びマイクロプロセッサ
JPS60231241A (ja) プログラム先行フエツチ制御方式
US3913073A (en) Multi-memory computer system
JPH0377137A (ja) 情報処理装置
JP2585905B2 (ja) マルチタスク実行装置
JPS6230455B2 (ja)
JPH08297583A (ja) 割り込み処理装置およびその方法
JPH0347536B2 (ja)
JPS6227830A (ja) 割込み制御方式
JPH0385632A (ja) 計算機及びこの計算機に用いられる演算方法
JPS6116334A (ja) デ−タ処理装置
JPS61282932A (ja) アドレスカウンタ制御方式
JPH0528092A (ja) マイクロプロセツサ
JP2814849B2 (ja) 通信制御装置
JPS6120139A (ja) 割込み制御方式
JPH08328879A (ja) タスク管理方式
JPH02287624A (ja) データ処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080421

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090421

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100421

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees