JPH07117898B2 - 多数の割込みサービスを行うマイクロプロセッサシステム - Google Patents
多数の割込みサービスを行うマイクロプロセッサシステムInfo
- Publication number
- JPH07117898B2 JPH07117898B2 JP59240386A JP24038684A JPH07117898B2 JP H07117898 B2 JPH07117898 B2 JP H07117898B2 JP 59240386 A JP59240386 A JP 59240386A JP 24038684 A JP24038684 A JP 24038684A JP H07117898 B2 JPH07117898 B2 JP H07117898B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- address
- microprocessor
- indirect
- pending
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Circuits Of Receivers In General (AREA)
- Executing Machine-Instructions (AREA)
- Hardware Redundancy (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 発明の背景 マイクロプロセッサは、メモリに記憶された一連の命令
を実行する。この一連の命令は、割込みによる処理を必
要とする緊急の要求によってしばしば割り込まれる。こ
れらの要求は、それに対応する割込みサービスルーチン
を実行することによって処理される。割り込まれた主プ
ログラムの流れは、特定の状態で割り込まれる。マイク
ロプロセッサは、これがサービスルーチンに入る前の状
態を記憶し、次いで、割込みサービスルーチンを完了し
た際に前記状態に復帰しなければならない。割込みサー
ビスルーチンを開始する前に、マイクロプロセッサは、
その状態を記憶して、サービスルーチン実行後に、前の
状態に復帰し、マイクロプロセッサが割り込まれたとこ
ろから実行を続けなければならない。
を実行する。この一連の命令は、割込みによる処理を必
要とする緊急の要求によってしばしば割り込まれる。こ
れらの要求は、それに対応する割込みサービスルーチン
を実行することによって処理される。割り込まれた主プ
ログラムの流れは、特定の状態で割り込まれる。マイク
ロプロセッサは、これがサービスルーチンに入る前の状
態を記憶し、次いで、割込みサービスルーチンを完了し
た際に前記状態に復帰しなければならない。割込みサー
ビスルーチンを開始する前に、マイクロプロセッサは、
その状態を記憶して、サービスルーチン実行後に、前の
状態に復帰し、マイクロプロセッサが割り込まれたとこ
ろから実行を続けなければならない。
不都合なことに、マイクロプロセッサは、別の割込みサ
ービスルーチンの実行中に多数の割込みが生じた時には
複数の保留中の割込みサービスルーチンの実行間の状態
を記憶してこれに復帰する。マイクロプロセッサは、保
留中の割込みが多数ある時には、前のサービスルーチン
完了後に別の保留割込み割込みサービスルーチンを直ち
に開始するので、その状態に復帰しそしてこれを記憶す
る必要はない。
ービスルーチンの実行中に多数の割込みが生じた時には
複数の保留中の割込みサービスルーチンの実行間の状態
を記憶してこれに復帰する。マイクロプロセッサは、保
留中の割込みが多数ある時には、前のサービスルーチン
完了後に別の保留割込み割込みサービスルーチンを直ち
に開始するので、その状態に復帰しそしてこれを記憶す
る必要はない。
このような無駄な復帰及び記憶シーケンスを回避する1
つの方法は、第2の割込みをソフトウェアでチェクする
ことである。第1の割込みサービスルーチンでは、割込
みラインが検査され、保留中の割込みがあるかどうか決
定される。この割込みサービスルーチンでは、記憶及び
復帰の必要なく、第2の割込みサービスルーチンが開始
される。このプログラムシーケンスは、不都合なこと
に、時間がかゝり、割込みサービスルーチンの効率を低
下させる。
つの方法は、第2の割込みをソフトウェアでチェクする
ことである。第1の割込みサービスルーチンでは、割込
みラインが検査され、保留中の割込みがあるかどうか決
定される。この割込みサービスルーチンでは、記憶及び
復帰の必要なく、第2の割込みサービスルーチンが開始
される。このプログラムシーケンスは、不都合なこと
に、時間がかゝり、割込みサービスルーチンの効率を低
下させる。
発明の概要 本発明の目的は、保留中の割込みを処理する間のマイク
ロプロセッサの速度を上げることである。本発明の別の
目的は、割込みサービスルーチンを自動的に開始する電
子回路を提供することによってサービスルーチンの効率
を改善することである。
ロプロセッサの速度を上げることである。本発明の別の
目的は、割込みサービスルーチンを自動的に開始する電
子回路を提供することによってサービスルーチンの効率
を改善することである。
マイクロプロセッサシステムでは、マイクロプロセッサ
は、主プログラムの実行に割り込む電子信号であるとこ
ろのハードウェア割込みを受ける。これらの割込みを感
知すると、マイクロプロセッサは、その状態を記憶し、
割込みサービスルーチンへのジャンプ命令を実行する。
マイクロプロセッサがサービスルーチンへ如何にジャン
プするかは、マイクロプロセッサによって異なる。
は、主プログラムの実行に割り込む電子信号であるとこ
ろのハードウェア割込みを受ける。これらの割込みを感
知すると、マイクロプロセッサは、その状態を記憶し、
割込みサービスルーチンへのジャンプ命令を実行する。
マイクロプロセッサがサービスルーチンへ如何にジャン
プするかは、マイクロプロセッサによって異なる。
サービスルーチンへジャンプする1つのやり方は、マイ
クロプロセッサに、特定のサービスルーチンアドレスで
始まる命令の実行を開始させることであり、このアドレ
スは、別のメモリ位置−これは、間接アドレスと称する
アドレスも有している−に記憶される。この間接アドレ
スは、マイクロプロセッサの状態を記憶した後に実行さ
れる間接ジャンプ命令を追加する。従って、マイクロプ
ロセッサは、間接アドレスに記憶されたサービスルーチ
ンアドレスを読み取り、サービスルーチンアドレスへジ
ャンプする。これを、間接アドレッシングと称する。マ
イクロプロセッサがジャンプするサービスルーチンアド
レスは、特定の割込みを処理するサービスルーチンの開
始アドレスである。
クロプロセッサに、特定のサービスルーチンアドレスで
始まる命令の実行を開始させることであり、このアドレ
スは、別のメモリ位置−これは、間接アドレスと称する
アドレスも有している−に記憶される。この間接アドレ
スは、マイクロプロセッサの状態を記憶した後に実行さ
れる間接ジャンプ命令を追加する。従って、マイクロプ
ロセッサは、間接アドレスに記憶されたサービスルーチ
ンアドレスを読み取り、サービスルーチンアドレスへジ
ャンプする。これを、間接アドレッシングと称する。マ
イクロプロセッサがジャンプするサービスルーチンアド
レスは、特定の割込みを処理するサービスルーチンの開
始アドレスである。
各サービスルーチンは、主プログラムに割り込んだ割込
みに最初に遭遇した時にマイクロプロセッサによって実
行されるものと同様の間接ジャンプメ命令で終了する。
種々のサービスルーチンの終わりに実行される間接命令
は間接アドレスを含んでおり、この間接アドレスは、マ
イクロプロセッサが最初に間接的にジャンプしたところ
と同じ間接アドレスである。従って、主プログラムに割
り込む時及びサービスルーチンの完了時には、同じ間接
アドレスが使用される。
みに最初に遭遇した時にマイクロプロセッサによって実
行されるものと同様の間接ジャンプメ命令で終了する。
種々のサービスルーチンの終わりに実行される間接命令
は間接アドレスを含んでおり、この間接アドレスは、マ
イクロプロセッサが最初に間接的にジャンプしたところ
と同じ間接アドレスである。従って、主プログラムに割
り込む時及びサービスルーチンの完了時には、同じ間接
アドレスが使用される。
本発明は、マイクロプロセッサ又はサービスルーチンの
1つが間接アドレス位置を介して間接ジャンプを実行す
る時を確認する割込みアドレス感知回路を使用するもの
である。この回路は、マイクロプロセッサ又はサービス
ルーチンがジャンプするところの特定の間接アドレスの
みを感知する。この間接アドレス位置が確認されそして
保留中の割込みがある場合には、その時保留中の最も優
先順位の高い割込みサービスルーチンへプログラムの流
れが間接的にジャンプするように、再べクトリング回路
が、間接アドレスを、割込みアドレスのベクターセット
内の間接アドレスに変更する。
1つが間接アドレス位置を介して間接ジャンプを実行す
る時を確認する割込みアドレス感知回路を使用するもの
である。この回路は、マイクロプロセッサ又はサービス
ルーチンがジャンプするところの特定の間接アドレスの
みを感知する。この間接アドレス位置が確認されそして
保留中の割込みがある場合には、その時保留中の最も優
先順位の高い割込みサービスルーチンへプログラムの流
れが間接的にジャンプするように、再べクトリング回路
が、間接アドレスを、割込みアドレスのベクターセット
内の間接アドレスに変更する。
従って、割込みサービスルーチンの終了時又は最初の割
込みの際には、間接ジャンプ命令が実行され、これによ
り、その時保留中の最も優先順位の高い割込みサービス
ルーチンが開始されて実行され、次いで、保留中のルー
チンがなければ、主プログラムの実行へと復帰される。
込みの際には、間接ジャンプ命令が実行され、これによ
り、その時保留中の最も優先順位の高い割込みサービス
ルーチンが開始されて実行され、次いで、保留中のルー
チンがなければ、主プログラムの実行へと復帰される。
従って、保留中の割込みが複数ある時には、マイクロプ
ロセッサは、便利にも、その状態に復帰せず、保留中の
割込みサービスルーチンの1つへ間接ジャンプを実行す
る。割込みの形式に基づいてサービスアドレスを変更す
る再ベクトリング回路がない状態では、不都合なこと
に、マスターサービスルーチンが、最初に、保留中の割
込みの形式を確認し、次いで、サービスサブルーチンへ
ジャンプしてこれを実行し、その時保留中の最も優先順
位の高い割込みを処理しなければならない。
ロセッサは、便利にも、その状態に復帰せず、保留中の
割込みサービスルーチンの1つへ間接ジャンプを実行す
る。割込みの形式に基づいてサービスアドレスを変更す
る再ベクトリング回路がない状態では、不都合なこと
に、マスターサービスルーチンが、最初に、保留中の割
込みの形式を確認し、次いで、サービスサブルーチンへ
ジャンプしてこれを実行し、その時保留中の最も優先順
位の高い割込みを処理しなければならない。
実施例 第1図を説明すれば、メモリ12に記憶されたマイクロ命
令を実行するマイクロプロセッサ10は、メモリアドレス
の上位ビットを伝送するライン14によってメモリ12に接
続されている。ライン16は、メモリアドレスの下位ビッ
トを伝送する。マイクロプロセッサ10は、ライン14及び
16によって割込みアドレスセンサ18にも接続されてい
る。又、マイクロプロセッサ10は、ライン16を経てマル
チプレクサ20にも接続される。マイクロプロセッサ10
は、ライン14の上位ビットと、ライン16の下位ビットで
構成されるアドレスを与える。ライン16の下位ビット
は、マルチプレクサ20へ送られ、次いで、このマルチプ
レクサは、これらの下位ビットをライン22へ送る。ライ
ン22は、マルチプレクサからの下位ビットをメモリ12へ
送る。メモリ12は、ライン14の上位ビット及びライン22
の下位ビットによってアドレスされる。従って、マイク
ロプロセッサ10は、マルチプレクサ20を介してメモリ12
内の特定の位置をアドレスするアドレス信号をライン14
及び16に与えることができる。
令を実行するマイクロプロセッサ10は、メモリアドレス
の上位ビットを伝送するライン14によってメモリ12に接
続されている。ライン16は、メモリアドレスの下位ビッ
トを伝送する。マイクロプロセッサ10は、ライン14及び
16によって割込みアドレスセンサ18にも接続されてい
る。又、マイクロプロセッサ10は、ライン16を経てマル
チプレクサ20にも接続される。マイクロプロセッサ10
は、ライン14の上位ビットと、ライン16の下位ビットで
構成されるアドレスを与える。ライン16の下位ビット
は、マルチプレクサ20へ送られ、次いで、このマルチプ
レクサは、これらの下位ビットをライン22へ送る。ライ
ン22は、マルチプレクサからの下位ビットをメモリ12へ
送る。メモリ12は、ライン14の上位ビット及びライン22
の下位ビットによってアドレスされる。従って、マイク
ロプロセッサ10は、マルチプレクサ20を介してメモリ12
内の特定の位置をアドレスするアドレス信号をライン14
及び16に与えることができる。
マイクロプロセッサシステム内の種々の回路は、電子的
な状態−その1部は、マイクロプロセッサシステムの状
態である−を得る。又、種々の回路は、マイクロプロセ
ッサ10へ割込み信号を供給する。このような回路は、割
込みソース24である。この割込みソース24は、ライン26
に複数の割込み信号を供給する。これらの割込み信号
は、ラッチ28にラッチされる。割込み信号のラッチ動作
は、ラッチ28の出力をマイクロプロセッサ10と同期させ
るために使用される。
な状態−その1部は、マイクロプロセッサシステムの状
態である−を得る。又、種々の回路は、マイクロプロセ
ッサ10へ割込み信号を供給する。このような回路は、割
込みソース24である。この割込みソース24は、ライン26
に複数の割込み信号を供給する。これらの割込み信号
は、ラッチ28にラッチされる。割込み信号のラッチ動作
は、ラッチ28の出力をマイクロプロセッサ10と同期させ
るために使用される。
ラッチ28は、ライン30に出力を与える。
ライン30上の各出力は、処理さるべき割込みの形式を表
わしている。ライン30上の出力は、優先順位順にされて
いる。ライン30の各々は、これがアクティブである時に
割込み保留状態を表わす。このように表わされた各保留
中の割込みは、これを処理するためにサービスルーチン
の実行を必要とする。従って、各々の割込み状態に対
し、1つの割込みラインと、これに対応する割込みサー
ビスルーチンがある。
わしている。ライン30上の出力は、優先順位順にされて
いる。ライン30の各々は、これがアクティブである時に
割込み保留状態を表わす。このように表わされた各保留
中の割込みは、これを処理するためにサービスルーチン
の実行を必要とする。従って、各々の割込み状態に対
し、1つの割込みラインと、これに対応する割込みサー
ビスルーチンがある。
ライン30に現われるラッチ28の出力は、優先順位エンコ
ーダ32へ送られる。割込みは、互いに他の割込みに対す
る所定の優先順位に基づいて優先順位が決まる。優先順
位が最も高い割込みは、より緊急性があると予め定られ
ているので、最初に処理される。優先順位エンコーダ32
は、ライン34に出力を与える。ライン34に現われる優先
順位エンコーダの出力は、その時保留中の割込みの内ど
れが最も優先順位が高いかに基づいたエンコーダ2進数
である。例えば、割込み3及び5が現在保留中であって
割込み5の方が3よりも優先順位が高いと仮定すれば、
優先順位エンコーダの出力は、1−0−1、即ち、2進
数の5となる。
ーダ32へ送られる。割込みは、互いに他の割込みに対す
る所定の優先順位に基づいて優先順位が決まる。優先順
位が最も高い割込みは、より緊急性があると予め定られ
ているので、最初に処理される。優先順位エンコーダ32
は、ライン34に出力を与える。ライン34に現われる優先
順位エンコーダの出力は、その時保留中の割込みの内ど
れが最も優先順位が高いかに基づいたエンコーダ2進数
である。例えば、割込み3及び5が現在保留中であって
割込み5の方が3よりも優先順位が高いと仮定すれば、
優先順位エンコーダの出力は、1−0−1、即ち、2進
数の5となる。
優先順位エンコーダ32は、ライン34によりマルチプレク
サ20に接続される。ライン30に現われるラッチ28の出力
は、オアゲート36に接続され、該ゲートは複数の入力を
有していて、その各々は割込みの無有を指示するのに使
用される。ライン38に現われるオアゲート36の出力は、
保留中の割込みがあることを表わしている。従って、オ
アゲート36へのライン30の1本以上がアクティブである
場合には、ライン38に現われるオアゲートの出力もアク
ティブとなる。
サ20に接続される。ライン30に現われるラッチ28の出力
は、オアゲート36に接続され、該ゲートは複数の入力を
有していて、その各々は割込みの無有を指示するのに使
用される。ライン38に現われるオアゲート36の出力は、
保留中の割込みがあることを表わしている。従って、オ
アゲート36へのライン30の1本以上がアクティブである
場合には、ライン38に現われるオアゲートの出力もアク
ティブとなる。
オアゲート36は、ライン38を経てマイクロプロセッサ10
及びアンドゲート40に接続される。ライン38に現われる
保留割込み信号は、1つ以上の保留割込みがあることを
マイクロプロセッサ10に知らせる。
及びアンドゲート40に接続される。ライン38に現われる
保留割込み信号は、1つ以上の保留割込みがあることを
マイクロプロセッサ10に知らせる。
アンドゲート40は、ライン42を経て入力を受け、このラ
インは、割込みアドレスセンサ18の出力である。ライン
44に現われるアンドゲート40の出力は、間接アドレスが
割込みアドレスセンサ18によって感知され且つライン38
に保留割込み信号がある時に、アクティブとなる。ライ
ン44にアクティブ信号が現われると、マルチプレクサ20
は、ライン16の下位ビットを、ライン34上の優先順位が
エンコードされた下位ビットと取り替え、優先順位がエ
ンコードされた下位ビットがライン22に現われる。
インは、割込みアドレスセンサ18の出力である。ライン
44に現われるアンドゲート40の出力は、間接アドレスが
割込みアドレスセンサ18によって感知され且つライン38
に保留割込み信号がある時に、アクティブとなる。ライ
ン44にアクティブ信号が現われると、マルチプレクサ20
は、ライン16の下位ビットを、ライン34上の優先順位が
エンコードされた下位ビットと取り替え、優先順位がエ
ンコードされた下位ビットがライン22に現われる。
マイクロプロセッサ10は、ライン38に現われるオアゲー
トの出力がアクティブになった時に、主プログラムの実
行から割り込まれる。従って、割込みソース24からライ
ン26に送られる割込み、タイミングをとってラッチ28に
入れられ、ライン30に送られる。
トの出力がアクティブになった時に、主プログラムの実
行から割り込まれる。従って、割込みソース24からライ
ン26に送られる割込み、タイミングをとってラッチ28に
入れられ、ライン30に送られる。
ライン38に現われるオアゲートの出力は、保留割込みが
あることをマイクロプロセッサ10に知らせる一方、アン
ドゲート40を作動可能にする。同時に、優先順位エンコ
ーダ32は、その時保留中の最も優先順位の高い割込みに
基づいてライン34に下位ビットを与える。マイクロプロ
セッサ10は、主プログラムの実行から出る時、保留割込
みを確認すると、その状態を記憶する。次いで、マイク
ロプロセッサ10は、ライン14及び16に間接アドレスを与
え、この間接アドレスが割込みアドレスセンサ18によっ
て確認される。アンドゲート40は、これに応答してライ
ン44にアクティブ信号を与え、これにより、マイクロプ
ロセッサ20は、ライン34上の優先順位がエンコードされ
た下位ビットを、ライン22を経てマルチプレクサの下位
ビットに与える。従って、メモリ12へ送られるアドレス
は、その時保留中の最も優先順位の高い割込みの形式に
基づいて再ベクトリングされる。
あることをマイクロプロセッサ10に知らせる一方、アン
ドゲート40を作動可能にする。同時に、優先順位エンコ
ーダ32は、その時保留中の最も優先順位の高い割込みに
基づいてライン34に下位ビットを与える。マイクロプロ
セッサ10は、主プログラムの実行から出る時、保留割込
みを確認すると、その状態を記憶する。次いで、マイク
ロプロセッサ10は、ライン14及び16に間接アドレスを与
え、この間接アドレスが割込みアドレスセンサ18によっ
て確認される。アンドゲート40は、これに応答してライ
ン44にアクティブ信号を与え、これにより、マイクロプ
ロセッサ20は、ライン34上の優先順位がエンコードされ
た下位ビットを、ライン22を経てマルチプレクサの下位
ビットに与える。従って、メモリ12へ送られるアドレス
は、その時保留中の最も優先順位の高い割込みの形式に
基づいて再ベクトリングされる。
次いで、マイクロプロセッサ10は、これが間接的にジャ
ンプしたサービスルーチンへジャンプし、これを実行す
る。これは、間接ジャンプ命令と直接ジャンプ命令とを
順次実行することによって行われる。割込みサービスル
ーチンの終わりに、他の保留割込みがなければ、サービ
スルーチンにより間接ジャンプアドレスで間接ジャンプ
が行われるが、この時は、保留中の割込みがないので、
マルチプレクサ20は、下位ビットを取り替えず、ライン
22を経てマルチプレクサの下位ビットにライン16の下位
ビットが送られ、従って、この時変更されていない間接
アドレスへ直接ジャンプが生じ、即ち、間接アドレス
は、再ベクトリングされない。これにより、割込みから
の復帰命令が実行され、マイクロプロセッサの状態が復
帰されると共に、主プログラムの実行が続けられる。こ
れは、1つの割込みサービスルーチンの終わりに生じ
る。
ンプしたサービスルーチンへジャンプし、これを実行す
る。これは、間接ジャンプ命令と直接ジャンプ命令とを
順次実行することによって行われる。割込みサービスル
ーチンの終わりに、他の保留割込みがなければ、サービ
スルーチンにより間接ジャンプアドレスで間接ジャンプ
が行われるが、この時は、保留中の割込みがないので、
マルチプレクサ20は、下位ビットを取り替えず、ライン
22を経てマルチプレクサの下位ビットにライン16の下位
ビットが送られ、従って、この時変更されていない間接
アドレスへ直接ジャンプが生じ、即ち、間接アドレス
は、再ベクトリングされない。これにより、割込みから
の復帰命令が実行され、マイクロプロセッサの状態が復
帰されると共に、主プログラムの実行が続けられる。こ
れは、1つの割込みサービスルーチンの終わりに生じ
る。
然し乍ら、サービスルーチンが完了した時に保留中の割
込みがあれば、マルチプレクサ20は、再び下位ビットを
取り替え、これをライン22に与えて、マイクロプロセッ
サ10が、その時保留中の次に優先順位の高い割込みサー
ビスルーチンへ間接的にジャンプする。
込みがあれば、マルチプレクサ20は、再び下位ビットを
取り替え、これをライン22に与えて、マイクロプロセッ
サ10が、その時保留中の次に優先順位の高い割込みサー
ビスルーチンへ間接的にジャンプする。
第1図及び第2図を説明すれば、マイクロプロセッサ10
は、主プログラム48の命令を実行し、保留中の割込みを
確認した時にその状態50をセーブする。状態をセーブし
た後、マイクロプロセッサ10は、サービスルーチンを実
行するために間接的にジャンプする。マイクロプロセッ
サ10は、間接的なジャンプアドレス52を与え、サービス
ルーチンへジャンプさせる。間接的なジャンプアドレス
は、その時保留中の割込みに基づいて再ベクトリングさ
れる(54)。アドレスの下位ビットが取り替えられ、再
ベクトリングされたアドレス58b,58c,58dないし58nが形
成される。再ベクトリングされた間接アドレス58aは、
保留中の割込みがなかった時に変更されなかったものと
同じ間接アドレス52である。再ベクトリングされた間接
アドレス58bないし58nは、サービスルーチンを間接的に
指示する。メモリ12に与えられる再ベクトリングされた
間接アドレス58は、割込みアドレス位置56a、56b、56
c、56dないし56nの1つを指示する。これらの割込みア
ドレス位置56には、割込みからの復帰アドレス62a、又
は直接ジャンプアドレス62b、62c、62dないし62nが記憶
され、これらは、その後の割込みからの復帰位置60a、
又は直接ジャンプ位置60b、60c、60dないし60nを各々指
示する。
は、主プログラム48の命令を実行し、保留中の割込みを
確認した時にその状態50をセーブする。状態をセーブし
た後、マイクロプロセッサ10は、サービスルーチンを実
行するために間接的にジャンプする。マイクロプロセッ
サ10は、間接的なジャンプアドレス52を与え、サービス
ルーチンへジャンプさせる。間接的なジャンプアドレス
は、その時保留中の割込みに基づいて再ベクトリングさ
れる(54)。アドレスの下位ビットが取り替えられ、再
ベクトリングされたアドレス58b,58c,58dないし58nが形
成される。再ベクトリングされた間接アドレス58aは、
保留中の割込みがなかった時に変更されなかったものと
同じ間接アドレス52である。再ベクトリングされた間接
アドレス58bないし58nは、サービスルーチンを間接的に
指示する。メモリ12に与えられる再ベクトリングされた
間接アドレス58は、割込みアドレス位置56a、56b、56
c、56dないし56nの1つを指示する。これらの割込みア
ドレス位置56には、割込みからの復帰アドレス62a、又
は直接ジャンプアドレス62b、62c、62dないし62nが記憶
され、これらは、その後の割込みからの復帰位置60a、
又は直接ジャンプ位置60b、60c、60dないし60nを各々指
示する。
マイクロプロセッサ10は、割込みからの復帰位置60a、
又は直接ジャンプアドレス位置60b、60c、60dないし60n
の1つへジャンプさせる直接ジャンプ命令を実行する。
割込みからの復帰位置60a並びに直接ジャンプ位置60b、
60c、60dないし60nは、メモリ12の割込みからの復帰ア
ドレス62a並びに直接ジャンプアドレス62b、62c、62dな
いし62nに各々位置され、これらの割込みからの復帰ア
ドレス62a並びに直接ジャンプアドレス62b、62c、62dな
いし62nは、割込みアドレス位置56a、56b、56dないし56
nに各々記憶され、これらの割込みアドレス位置は、再
ベクトリングアドレス58a、58b、58c、58dないし58nに
よって各々アドレスされる。
又は直接ジャンプアドレス位置60b、60c、60dないし60n
の1つへジャンプさせる直接ジャンプ命令を実行する。
割込みからの復帰位置60a並びに直接ジャンプ位置60b、
60c、60dないし60nは、メモリ12の割込みからの復帰ア
ドレス62a並びに直接ジャンプアドレス62b、62c、62dな
いし62nに各々位置され、これらの割込みからの復帰ア
ドレス62a並びに直接ジャンプアドレス62b、62c、62dな
いし62nは、割込みアドレス位置56a、56b、56dないし56
nに各々記憶され、これらの割込みアドレス位置は、再
ベクトリングアドレス58a、58b、58c、58dないし58nに
よって各々アドレスされる。
直接ジャンプ位置60b、60c、60dないし60nは、複数の割
込みサービスルーチン64a、64b、64cないし64mの1つに
各々マイクロプロセッサ10をジャンプさせる直接ジャン
プ命令を記憶する。又、ジャンプ位置60b、60c、60dな
いし60nの各々には、サービスルーチンアドレス66a、66
b、66c、66dないし66mが各々記憶され、これらは、各々
のサービスルーチン64a、64b、64cないし64mの最初のア
ドレス位置を指す。
込みサービスルーチン64a、64b、64cないし64mの1つに
各々マイクロプロセッサ10をジャンプさせる直接ジャン
プ命令を記憶する。又、ジャンプ位置60b、60c、60dな
いし60nの各々には、サービスルーチンアドレス66a、66
b、66c、66dないし66mが各々記憶され、これらは、各々
のサービスルーチン64a、64b、64cないし64mの最初のア
ドレス位置を指す。
サービスルーチン64は、これらが完了すると、間接ジャ
ンプアドレス52と同じであって且つ又割込みアドレスセ
ンサ18によって確認された間接ジャンプアドレス68を有
する間接ジャンプ命令を実行する。
ンプアドレス52と同じであって且つ又割込みアドレスセ
ンサ18によって確認された間接ジャンプアドレス68を有
する間接ジャンプ命令を実行する。
この場合も、間接ジャンプアドレス68は、再ベクトリン
グされた間接アドレス58へと再ベクトリングされ(5
4)、このアドレスは、割込みアドレス位置56を指し、
この位置は、割込みからの復帰アドレス62aか又は直接
ジャンプアドレス62b、62c、62dないし62nの1つかのい
ずれかを記憶し、これらのアドレス62a並びに62b、62
c、62dないし62nの各々は、割込みからの復帰位置60aか
又は間接ジャンプ位置60b、60c、60dないし60nの1つか
のいずれかを指し、これらの位置60a並びに60b、60c、6
0dないし60nは、サービスルーチン64への復帰70又はジ
ャンプを各々行わせる命令を記憶する。
グされた間接アドレス58へと再ベクトリングされ(5
4)、このアドレスは、割込みアドレス位置56を指し、
この位置は、割込みからの復帰アドレス62aか又は直接
ジャンプアドレス62b、62c、62dないし62nの1つかのい
ずれかを記憶し、これらのアドレス62a並びに62b、62
c、62dないし62nの各々は、割込みからの復帰位置60aか
又は間接ジャンプ位置60b、60c、60dないし60nの1つか
のいずれかを指し、これらの位置60a並びに60b、60c、6
0dないし60nは、サービスルーチン64への復帰70又はジ
ャンプを各々行わせる命令を記憶する。
マイクロプロセッサ10は、割込みからの復帰位置60aに
記憶された割込みからの復帰命令を実行する時に復帰ス
テップ70を開始してその状態72に復帰し、その後、マイ
クロプロセッサ10は、主プログラムの実行48を再開す
る。
記憶された割込みからの復帰命令を実行する時に復帰ス
テップ70を開始してその状態72に復帰し、その後、マイ
クロプロセッサ10は、主プログラムの実行48を再開す
る。
以上の説明から明らかなように、保留中の割込みがある
場合には、記憶50及び復帰70を行わずに割込みが保留で
なくなるまで優先順位に割込みサービスルーチン64が実
行される。このシーケンスは、54,58,56,62,60,66,64,6
8から54へ戻って処理ループを完成し、保留中の割込み
がなくなるまでこの処理ループが繰り返される。保留中
の割込みがなくなると、再ベクトリングされるアドレス
54は変更されず、このベクトリングされる変更されない
アドレス58aを用いて、割込みからの復帰位置60aに記憶
された割込みからの復帰命令を指示し、復帰70及びマイ
クロプロセッサ状態の復帰72を実行して、主プログラム
の実行48を再開できるようにする。
場合には、記憶50及び復帰70を行わずに割込みが保留で
なくなるまで優先順位に割込みサービスルーチン64が実
行される。このシーケンスは、54,58,56,62,60,66,64,6
8から54へ戻って処理ループを完成し、保留中の割込み
がなくなるまでこの処理ループが繰り返される。保留中
の割込みがなくなると、再ベクトリングされるアドレス
54は変更されず、このベクトリングされる変更されない
アドレス58aを用いて、割込みからの復帰位置60aに記憶
された割込みからの復帰命令を指示し、復帰70及びマイ
クロプロセッサ状態の復帰72を実行して、主プログラム
の実行48を再開できるようにする。
マイクロプロセッサ状態のこの復帰72は、マイクロプロ
セッサ状態のセーブ50を行うたびに1回実行される。マ
イクロプロセッサ状態のセーブ50は、主プログラムの実
行に割り込むたびに1回行われるのであって、割込みサ
ービスルーチンが実行されるたびに1回行われるのでは
なく、これにより、マイクロプロセッサシステムの効率
が改善される。
セッサ状態のセーブ50を行うたびに1回実行される。マ
イクロプロセッサ状態のセーブ50は、主プログラムの実
行に割り込むたびに1回行われるのであって、割込みサ
ービスルーチンが実行されるたびに1回行われるのでは
なく、これにより、マイクロプロセッサシステムの効率
が改善される。
保留中の各割込みのサービスルーチン64を連続的に実行
する間にプロセッサ状態の不必要な記憶50及びその後の
マイクロプロセッサ状態の不必要な復帰72を行わないよ
うにすることにより、時間節約が実現化されたことが明
らかであろう。
する間にプロセッサ状態の不必要な記憶50及びその後の
マイクロプロセッサ状態の不必要な復帰72を行わないよ
うにすることにより、時間節約が実現化されたことが明
らかであろう。
第1図は、アドレス変更回路を含むマイクロプロセッサ
システムを示す図、そして 第2図は、割込みサービスルーチン及び主プログラムの
実行に対するマイクロプロセッサの論理的な流れを示す
状態図である。 10……マイクロプロセッサ 12……メモリ、18……アドレスセンサ 20……マルチプレクサ 24……割込みソース、28……ラッチ 32……優先順位エンコーダ
システムを示す図、そして 第2図は、割込みサービスルーチン及び主プログラムの
実行に対するマイクロプロセッサの論理的な流れを示す
状態図である。 10……マイクロプロセッサ 12……メモリ、18……アドレスセンサ 20……マルチプレクサ 24……割込みソース、28……ラッチ 32……優先順位エンコーダ
フロントページの続き (56)参考文献 特開 昭54−78039(JP,A) 特開 昭53−66337(JP,A) 特開 昭52−32647(JP,A) 特公 昭51−37499(JP,B1) 実願昭51−153316号(実開昭53−71343 号)の願書に添付した明細書及び図面の内 容を撮影したマイクロフィルム(JP, U)
Claims (3)
- 【請求項1】多数の割込みサービスを行うマイクロプロ
セッサシステムにおいて、 複数の命令を実行し且つ1つの間接アドレスで成る割込
みアドレスを発生して、多数の割込みルーチンの1つに
アクセスし割込み要求のサービスを行うマイクロプロセ
ッサ手段と、 該マイクロプロセッサ手段へアドレスバスによって接続
された、命令及びデータを記憶するメモリ手段であっ
て、前記マイクロプロセッサ手段から前記間接アドレス
で成る割込みアドレスを発生させる所定の命令で完了す
る割込みルーチンを有するメモリ手段と、 前記マイクロプロセッサ手段に接続され、1つもしくは
それ以上の保留中の割込み要求に応答して割込みの存在
を示す信号を発しマイクロプロセッサ手段によって前記
間接アドレスで成る割込みアドレスが発生されるように
する第1の回路手段(28、36)と、 前記アドレスと前記メモリ手段とに接続され、前記割込
み存在信号及び前記アドレスバスにおける前記間接アド
レスで成る割込みアドレスの存在に応答して、前記保留
中の割込み要求の第1のもののサービスを終えた後、回
復動作及びその後の記憶動作を行うことなく、直ぐに第
2の保留中の割込み要求が前記マイクロプロセッサ手段
によってサービスされるように、前記間接アドレスで成
る割込みアドレスを変更する第2の回路手段(18、20、
32、40)と から成ることを特徴とするマイクロプロセッサシステ
ム。 - 【請求項2】前記第2回路手段は、複数の保留中の割込
み要求の内のどれが最初にサービスされるべきかを選択
する割込み優先順位エンコード手段を含んでいることを
特徴とする特許請求の範囲第1項記載のマイクロプロセ
ッサシステム。 - 【請求項3】前記第1回路手段は、予め割り当てられた
異なる優先順位を有する1つもしくはそれ以上の行使さ
れるべき割込み要求信号を感知し、少なくとも1つの割
込み要求の存在を指示する割込み要求センサ手段を含
み、前記割込み優先順位エンコード手段は、複数の割込
み要求信号に応答して、最も高位に割り当てられた優先
順位をもつ割込み要求信号に対応するベクトルビットフ
ィールドを提供し、前記第2回路手段は、更に、マイク
ロプロセッサ手段から送出される前記間接アドレスで成
る割込みアドレスをアドレスバス上で感知する割込みア
ドレスセンサ手段と、アドレスバスとメモリ手段との間
に配置され、前記割込みアドレスセンサ手段と前記割込
み要求センサ手段とに応答して、前記間接アドレスで成
る割込みアドレスの少なくとも一部に代えて前記ベクト
ルビットフィールドをメモリに提供する選択手段とから
成ることを特徴とする特許請求の範囲第2項記載のマイ
クロプロセッサシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/551,300 US4628449A (en) | 1983-11-14 | 1983-11-14 | Vector interrupt system and method |
| US551300 | 1983-11-14 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60117338A JPS60117338A (ja) | 1985-06-24 |
| JPH07117898B2 true JPH07117898B2 (ja) | 1995-12-18 |
Family
ID=24200701
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59240386A Expired - Lifetime JPH07117898B2 (ja) | 1983-11-14 | 1984-11-14 | 多数の割込みサービスを行うマイクロプロセッサシステム |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US4628449A (ja) |
| EP (1) | EP0142982B1 (ja) |
| JP (1) | JPH07117898B2 (ja) |
| AT (1) | ATE70135T1 (ja) |
| AU (1) | AU573280B2 (ja) |
| CA (1) | CA1217565A (ja) |
| DE (1) | DE3485322D1 (ja) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0762835B2 (ja) * | 1986-01-23 | 1995-07-05 | テキサス インスツルメンツ インコーポレイテツド | メモリアクセス制御システム |
| JPH01150939A (ja) * | 1987-12-08 | 1989-06-13 | Toshiba Corp | 情報処理装置 |
| US5101497A (en) * | 1988-09-09 | 1992-03-31 | Compaq Computer Corporation | Programmable interrupt controller |
| JPH02224140A (ja) * | 1989-02-27 | 1990-09-06 | Nippon Motoroola Kk | 割込試験装置 |
| US5291603A (en) * | 1991-03-14 | 1994-03-01 | Westinghouse Electric Corp. | Microprocessor system with multiple interrupts masked for use in electronic control or monitoring of various solid-state products |
| FR2680591B1 (fr) * | 1991-08-22 | 1996-01-26 | Telemecanique | Controleur d'interruption programmable, systeme interruptif et procede de controle d'interruption. |
| EP0545581B1 (en) * | 1991-12-06 | 1999-04-21 | National Semiconductor Corporation | Integrated data processing system including CPU core and parallel, independently operating DSP module |
| US5640548A (en) * | 1992-10-19 | 1997-06-17 | Motorola, Inc. | Method and apparatus for unstacking registers in a data processing system |
| JP3242508B2 (ja) * | 1993-11-05 | 2001-12-25 | 松下電器産業株式会社 | マイクロコンピュータ |
| FR2725287B1 (fr) * | 1994-09-30 | 1996-12-20 | Sgs Thomson Microelectronics | Processeur de commande d'un circuit de compression d'images mobiles |
| US5708813A (en) * | 1994-12-12 | 1998-01-13 | Digital Equipment Corporation | Programmable interrupt signal router |
| JP3778246B2 (ja) | 1999-03-23 | 2006-05-24 | セイコーエプソン株式会社 | 割り込みコントローラ、asic、及び電子機器 |
| US6662297B1 (en) * | 1999-12-30 | 2003-12-09 | Intel Corporation | Allocation of processor bandwidth by inserting interrupt servicing instructions to intervene main program in instruction queue mechanism |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5137499A (ja) * | 1974-09-27 | 1976-03-29 | Ishikawajima Harima Heavy Ind | |
| JPS5232647A (en) * | 1975-09-08 | 1977-03-12 | Mitsui Eng & Shipbuild Co Ltd | Interruption system of electronic computer |
| JPS5371343U (ja) * | 1976-11-17 | 1978-06-15 | ||
| JPS5366337A (en) * | 1976-11-26 | 1978-06-13 | Nec Corp | Interrupt channel analyzer |
| JPS5478039A (en) * | 1977-12-05 | 1979-06-21 | Hitachi Ltd | Communication controller |
| US4200912A (en) * | 1978-07-31 | 1980-04-29 | Motorola, Inc. | Processor interrupt system |
| US4255786A (en) * | 1979-01-02 | 1981-03-10 | Honeywell Information Systems Inc. | Multi-way vectored interrupt capability |
| AU540771B2 (en) * | 1979-01-31 | 1984-12-06 | Honeywell Information Systems | Microprogrammed control system |
| US4381542A (en) * | 1980-10-20 | 1983-04-26 | Digital Equipment Corporation | System for interrupt arbitration |
-
1983
- 1983-11-14 US US06/551,300 patent/US4628449A/en not_active Expired - Lifetime
-
1984
- 1984-11-08 CA CA000467289A patent/CA1217565A/en not_active Expired
- 1984-11-13 AU AU35434/84A patent/AU573280B2/en not_active Ceased
- 1984-11-14 DE DE8484307874T patent/DE3485322D1/de not_active Expired - Lifetime
- 1984-11-14 EP EP84307874A patent/EP0142982B1/en not_active Expired - Lifetime
- 1984-11-14 JP JP59240386A patent/JPH07117898B2/ja not_active Expired - Lifetime
- 1984-11-14 AT AT84307874T patent/ATE70135T1/de not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| EP0142982B1 (en) | 1991-12-04 |
| JPS60117338A (ja) | 1985-06-24 |
| DE3485322D1 (de) | 1992-01-16 |
| CA1217565A (en) | 1987-02-03 |
| AU573280B2 (en) | 1988-06-02 |
| EP0142982A3 (en) | 1986-12-10 |
| ATE70135T1 (de) | 1991-12-15 |
| US4628449A (en) | 1986-12-09 |
| EP0142982A2 (en) | 1985-05-29 |
| AU3543484A (en) | 1985-05-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4344134A (en) | Partitionable parallel processor | |
| US4274138A (en) | Stored program control system with switching between instruction word systems | |
| US6141713A (en) | Bus arbitrator with a hierarchical control structure | |
| JPH07117898B2 (ja) | 多数の割込みサービスを行うマイクロプロセッサシステム | |
| JP3676882B2 (ja) | マイクロプロセッサ及びその周辺装置 | |
| JPS626271B2 (ja) | ||
| KR20010070469A (ko) | 고속의 낮은 오버헤드 콘텍스트 스위치를 실행하는디바이스 및 방법 | |
| JPH0792782B2 (ja) | 処理実行システム | |
| US4807185A (en) | Stack pointer control circuit | |
| US3639911A (en) | Digital processor having automatic conflict-resolving logic | |
| US4319322A (en) | Method and apparatus for converting virtual addresses to real addresses | |
| US4320454A (en) | Apparatus and method for operand fetch control | |
| US4797817A (en) | Single cycle store operations in a virtual memory | |
| US4816992A (en) | Method of operating a data processing system in response to an interrupt | |
| JPS6310445B2 (ja) | ||
| JPH05189232A (ja) | 自動化装置およびその作動方法 | |
| JPH03147157A (ja) | 情報処理装置 | |
| JPH0528431B2 (ja) | ||
| US5214764A (en) | Data processing apparatus for operating on variable-length data delimited by delimiter codes | |
| JPS58197557A (ja) | メツセ−ジ管理方式 | |
| US5524221A (en) | Next instruction pointer calculation system for a microcomputer | |
| JPS59144955A (ja) | 情報処理装置 | |
| JPH0623955B2 (ja) | 処理選択方法 | |
| JPH09160786A (ja) | マイクロプロセッサ | |
| JPH03225551A (ja) | 入出力装置アクセス制御方式 |