JPH039431A - 割込み処理方式 - Google Patents

割込み処理方式

Info

Publication number
JPH039431A
JPH039431A JP14311589A JP14311589A JPH039431A JP H039431 A JPH039431 A JP H039431A JP 14311589 A JP14311589 A JP 14311589A JP 14311589 A JP14311589 A JP 14311589A JP H039431 A JPH039431 A JP H039431A
Authority
JP
Japan
Prior art keywords
resident
frame number
context
level
register
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
JP14311589A
Other languages
English (en)
Inventor
Tetsuya Fujita
哲也 藤田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP14311589A priority Critical patent/JPH039431A/ja
Publication of JPH039431A publication Critical patent/JPH039431A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 「産業上の利用分野」 本発明はプロセッサの割り込み処理方式に関し。
特に割り込み発生時にプログラムの走行状態を表すコン
テクストをセーブ/リストアするオーバ・ヘッドを少な
くするための割り込み処理方式に関する。
「従来の技術」 従来の割シ込み処理方式では1割り込みが発生しプログ
ラム走行レベルが変わる際、まずその時のプロセッサの
レジスタの状態(コンテクスト)をプログラム走行レベ
ルに対応したメモリ領域にセーブして2次に新しい走行
レベルに対応したコンテクストをメモリからリストアし
てくる。プロセッサのレジスタの数が増すにしたがって
このスイッチ時にプロセッサ、メモリ間で転送される情
報量が多くなり2割シ込み処理のオーバ・ヘッドが大き
くなる。
また8割り込み処理の性能を上げるために9割す込みレ
ベルの全てに対してコンテクストを格納できるレジスタ
書セントを設けたプロセッサがあるが、プロセッサの定
義する割り込みレベルが例えば64だと通常のプロセッ
サの64倍のハードウェア量をレジスタに割かなければ
ならないので。
ハードウェア・コストが大きくなってしまう。
般にプロセッサでは、レジスタ部のハードウェア量は制
御部のそれよりもずっと多く、膨大な数のレジスタを持
ったプロセッサでは、チップの数が多くなってコンパク
トな実装が困難となる。
「発明が解決しようとする問題点」 上述した従来の割り込み処理方式の場合、第1の方式で
は割り込み時のオーバ・ヘッドが大きくなり2通信制御
など高いリアルタイム応答性が要求される分野ではその
性能が問題になってくる。
この様なアプリケーションではその基本的な制御に割り
込みのレベル制御を利用するので、その時のコンテクス
トのセーブ/リストアにかかる時間に対して厳しい性能
が要求される。つまり、第1の方式ではオーバ・ヘッド
が大きくなるという問題点がある。第2の方式では、そ
のノ・−ドウエア量が大きくなり、高価となるばかりで
なく大型となってしまうという問題点がある。
「問題点を解決するための手段」 本発明の割り込み処理方式では、特定の限られた割り込
みレベルに対してはプロセッサ内でそのコンテクストを
保持することによって、プログラム走行レベルのスイッ
チを高速に処理することが出来る。
即ち2本発明の割り込み処理方式の構成は、マイクロプ
ロセッサ、特にマイクロプログラムに依らないハードウ
ェアドなマイクロプロセッサで。
汎用レノスタ、グロダラム・カウンタ、ステータス・レ
ジスタ等−のプログラムの走行状態を記録するコンテク
ストを複数個保持できるレジスタ・フアイルと命令実行
ユニットとを含んだ構成をとるマイクロプロセッサで、
上記命令実行ユニソ)17)デコード指示を契機に、保
留中の最も優先順位の高い割シ込みレベルが、現在走行
中のプログラムの走行レベルより優先順位が高い時に2
割り込み許可信号と新しいプログラム走行レベルとを出
力する割シ込み調停回路手段を有するプロセッサに於て
、特殊なソフトウェア命令によって値の設定可能なテー
ブルで、各エントリがハードウェアの定義している割り
込みレベルに対応していて、その割り込みレベルで走行
するプログラムのコンテクストが上記レジスタ・ファイ
ルに常駐するか否かを示している常駐フラグと、常駐フ
ラグで常駐すると記されたレベルに対してはそのコンテ
クストを上記レジスタ・ファイルのどのフレームに格納
するかを表すフレーム番号が、常駐フラグで非常駐と記
されたレベルに対してはそのコンテクストを格納してい
るメモリ領域を指すアドレスが登録されているコンテク
スト・テーブルと、現在走行中のプログラムの走行レベ
ルを保持し、その出力を上記割り込み調停回路手段及び
前記命令実行ユニットに提供し、上記割り込み調停回路
手段の出力する割り込み許可信号の指示でその調停回路
手段の出力するグログラム走行レベルを格納するカレン
ト走行レベル・レジスタと、上記割り込み調停回路手段
の出力するプログラム走行レベルと上記コンテクスト・
テーブルの出力を入力として。
上記コンテクスト・テーブルから走行レベルに対応した
エントリを取り出し、エントリの常駐フラグとフレーム
番号/アドレス部を出力し、さらに常駐フラグが常駐の
時はそのエントリのフレーム番号を、非常駐の時はディ
フォルトとしてOをフレーム番号として出力する常駐チ
ェック回路手段と、上記常駐チェック回路手段の出力す
るフレーム番号を保持し、現在走行中のプログラムが参
照しているフレーム番号としてその内容を出力するフレ
ーム番号し・ゾスタと、上記フレーム番号レジスタの出
力及びシステムモ−ド用に割り当てられている特別なフ
レーム番号とを入力としてそのうち一方を選択出力する
フレーム番号選択手段と上記常駐チェック回路手段の出
力する常駐フラグを保持する常駐フラグ・レジスタと、
上記常駐チェック回路手段の出力するフレーム番号/ア
ドレス部を保持し、コンテクストの格納領域のメモリア
ドレスとしてその内容を前記命令実行ユニットに出力す
るコンテクスト・アドレス・レジスタと。
上記常駐チェック回路手段の常駐フラグをこれから移ろ
うとする新しいプログラム走行レベルの常駐/非常駐情
報として入力し、上記常駐フラグ・レジスタをいままで
走っていたプログラム走行レベルの常駐/非常駐情報と
して入力して、グログラム走行レベルの変更に際してコ
ンテクストのセーブ/リストアを指示するセーブ/リス
トア指示回路手段と、上記セーブ/リストア指示回路手
段及び前記命令実行ユニットからの指示を入力として前
記フレーム番号選択手段に対して選択指示を出力するフ
レーム番号選択制御手段と、ソフトウェア命令で、シス
テムモードからユーデモードに戻ることを指示する命令
で、前記命令実行ユニットがこの命令をデコードした結
果、上記フレーム番号選択制御手段に対して上記セーブ
/リストア指示手段からのフレーム番号を選択するよう
に指示するような効果を持つシステムモードリターン命
令手段を特徴としている。
「実施例」 次に2本発明について実施例によって説明する。
第1図を参照して、1は命令実行ユニットで。
複数コンテクスト・レジスタ・ファイル2と内部バス3
で接続されている。4はレジスタ番号指示伝達手段で、
命令実行ユニット1からファイル2に対してレジスタ番
号を示す。5は割シ込み調停回路手段で、カレント走行
レベル・レジスタ8の出力を入力として、fロ七ッサ内
外の割シ込み要求を基にレベル・スイッチを行うべきタ
イミングを検出して、変更する新しいプログラム走行レ
ベル及び割り込み指示を新プログラム走行レベル伝達手
段6と割り込み許可信号手段7で出力する。
9はカレント走行レベル信号手段で、現在のプログラム
走行レベルを命令実行ユニット1と割り込み調停回路手
段5に伝える。10はコンテクスト・テーブルで、全て
の割シ込みレベルに対して常駐/非常駐の区別と、対応
するレジスタ・ファイルの7レ一ム番号またはコンテク
スト格納領域のメモリアドレスを格納している。例えば
レジスタ・ファイル2が第2図の様に4個のフレームか
ら成り1割り込みレベルが0〜63064レベルあると
すると、コンテクスト・テーブルは第3図の様になる。
第3図で、31は常駐フラグを表し。
32はコンテクスト格納アドレスまたはフレーム番号を
表す。
第1図に戻って、11はテーブル出力信号で。
12は常駐チェック回路手段を表す。常駐チェック回路
手段12はレベル番号6をインデックスとしてテーブル
10をひき、該当するエントリのフレーム番号/コンテ
クスト格納アドレスと常駐フラグを、それぞれコンテク
スト格納アドレス出力手段29と常駐フラグ指示伝達手
段14で出力する。さらに常駐チェック回路手段12は
テーブルから取り出されたエントリの常駐フラグの値に
従い、フラグが常駐の時はエントリのフレーム番号を非
常駐の時はディフォルトとして0を、フレーム番号出力
手段13でフレーム番号レジスタ15に出力する。16
はフレーム番号指示伝達手段で。
フレーム番号選択手段25にフレーム番号を出力する。
選択手段25のもう一方の入力はシステムモード用に予
め割り当てられたフレーム番号で。
2:Ml:コ(7)フレーム番号を生成するシステムフ
レーム番号生成手段で、24がこのフレーム番号を選択
手段25に伝えるシステムフレーム番号伝達手段である
。選択手段25の出方は選択フレーム番号指示手段26
によってレジスタ・ファイル2に伝達されて、このフレ
ーム番号とレジスタ番号4の組でレジスタ・ファイル2
のフレームとその中のレジスタがリード、ライトの対象
として指定される。17は常駐フラグ・レジスタで、常
駐フラグ指示伝達手段14の内容を格納する。18はセ
ーブ/リストア指示回路手段で、プログラム走行レベル
が変更されるとき゛に、常駐フラグ指示伝達手段14と
常駐フラグ・レジスタ17を基にコンテクストのセーブ
、リストアの指示をフレーム番号選択制御手段27とユ
ニッ)1に対してセーブ/リストア指示伝達手段19を
介して伝える。
制御手段27は、伝達手段19及び命令実行ユニット1
からの選択指示伝達手段29を入力として1選択手段2
5の選択制御信号28を選択手段25に対して出力する
。21はコンテクスト格納′アドレスレジスタで、格納
アドレス伝達手段22はこのレジスタの内容を命令実行
ユニット1に伝達する。30は命令実行ユニット1から
コンテクスト・テーブル10の内容をアクセスするため
のテーブルアクセス手段である。
ここで、レジスタ・ファイルが第2図の栂に4個のフレ
ームから成っているとする。それぞれをフレームFO,
Fl、F2.F3と呼ぶ。そしてコンテクストテーブル
は、第3図の様に常駐フラグ(31)とフレーム番号/
格納アドレス部(32)から構成されている。レベル6
2.63は常駐として定義され、常駐フラグ31の部分
にはそれぞれフレームFl、F2が割シ当てられていて
、それ以外のレベルは非常駐で、対応するコンテクトが
格納されているアドレスが、エントリの32の部分に登
録されている。また、非常駐のレベルはフレームFOを
使い、システムモードではフレームF3が使われるとす
る。コンテクストテーブルの内容は、特殊なソフトウェ
ア命令で更新できる。
レベル63でユーザプログラムが実行中と仮定すると、
レジスタ8はレベル63でレジスタ15は”2”を指定
している。また、制御フリツプフロツプ17は常駐の意
味の1″を示している。この時、命令実行ユニット1は
フレームF2のレジスタのみを参照できる。
この状態で、仮にレベル62の割シ込みがあったとする
。現在の走行レベルも新しい割シ込みレベルも常駐なの
で、この時のレベル・メイッチテはコンテクストのセー
ブ、リストアは共に必要ない。従って指示回路手段18
はセーブ、リストアを指示せず、走行レベル8は62と
なり、フレーム番号15は“1”となる。この時割り込
み処理ルーチンはセーブ、リストアすることすく、それ
以降自動的に命令実行ユニット1はフレームF1のレジ
スタを参照する。この様に、常駐レベル間のレベル・ス
イッチではオーバ・ヘッドがゼロとなる。
次ぎに、レベル10の割シ込みがあったとする。
レベル10は第3図に示すように非常駐である。
この時は、走行レベル9は10”となシワフレーム番号
15は”0″となる。そして指示回路手段18はレベル
10のコンテクストをメモシ領域からリストアしてくる
ことをフレーム番号選択制御手段27及び命令実行ユニ
ット1に指示する。これによシ選択制御手段27は選択
手段25に対してシステムモード用のフレーム番号を選
択するように指示を出す。コンテクストをセーブ/リス
トアするプログラムは、フレームF3を使いながら。
コンテクスト格納アドレス21に従い、レベル10のコ
ンテクストをメモリから取り出してフレームFOにロー
ドする。このコンテクストのセーブ/リストア用のプロ
グラムの最後で、システムモードリターン命令が実行さ
れると、レジスタ15の内容のフレームFOが選択され
て、以降は今ロードされてきたフレームFOのコンテク
ストに従ってレベル10に対応したプログラムが実行さ
れる。レベル62は常駐なので、レベル・スイッチ前の
プロセッサの状態はメモリにセーブする必要はない。こ
の場合でも2通常のプロセッサに比べれば半分のオーバ
・ヘッドでレベルの切シ替えが行われる。
以上説明した様に、セーブ/リストア指示回路手段18
の動作はレベル・スイッチ前後のプログラム走行レベル
で第4図に示すように動作指示を命令実行ユニット1と
フレーム番号選択制御手段27に対して行う。
「発明の効果」 以上説明したように2本発明ではプロセッサで定義して
いる割シ込みレベルの一部に対してはそのコンテクスト
をプロセッサ内部に保持するようにしているからハード
ウェアの増加を抑えながら割シ込み処理時のコンテクス
トのセーブ/リストアのオーバ・ヘッドを小さくできる
という効果がある。
また1本発明ではプロセッサに常駐させる割シ込みレベ
ルを特殊なソフトウェア命令で指定できるので、アプリ
ケーションに応じて頻繁に使うレベルを常駐に割シ当て
ていくことで、レジスタ・ファイルのフレームの有効活
用を計ることが出来る。一般に、与えられた全ての割シ
込みレベルを使うアプリケーション・プログラムは希で
1本発明のようにある限られたレベルに対してのみ常駐
をサポートすることは合理的と思われる。特に常駐のレ
ベル間でのコンテクスト・スイッチではセーブ/リスト
アは不要なので、きわめて高速にその割シ込み処理を行
うことが出来る。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図。 第2図は複数コンテクスト・レジスタ◆ファイルの一構
成例を示す図、第3図はコンテクスト・テーブルの一例
を示す図、第4図はセーブ/リストア指示回路手段の動
作を現在のプログラム走行レベルと新しいプログラム走
行レベルとの組合せで示す図である。 1:命令実行ユニット、2:複数コンテクスト・レジス
タ・ファイル、3:内部バス、4:レジスタ番号指示伝
達手段、5:割り込み調停回路手段t6:新プログラム
走行レベル伝達手段、7:割シ込み許可信号手段、8:
カレント走行レベル・レジスタ、9:カレント走行レベ
ル信号手段、10:コンテクスト・テーブル、11:テ
ーブル出力信号、12:常駐チェック回路手段、13:
フレーム番号出力手段、14:常駐フラグ指示伝達手段
、15:フレーム番号レジスタ、16:フレーム番号指
示伝達手段、17:常駐フラグ・レジスタ、18二セ一
ブ/リストア指示回路手段、19:セーブ/リストア指
示伝達手段、20:コンテクスト格納アドレス出力手段
、21:コンテクスト格納アドレスレジスタ、22:格
納アドレス伝達手段、23ニジステムフレ一ム番号生成
手段。 24ニジステムフレ一ム番号伝達手段、25:フレーム
番号選択手段、26:選択フレーム番号伝達手段、27
:7レーム番号選択制御手段、28:フレーム番号選択
指示信号、29:選択指示伝達手段、30:コンテクス
トテーブルアクセス手段、31:常駐フラグ、32:フ
レーム番号/格納アドレス部。 第 図 第 図 第1

Claims (1)

    【特許請求の範囲】
  1. 1、プログラムの走行状態を記録するコンテクストを複
    数個保持できるレジスタ・ファイルと命令実行ユニット
    と前記命令実行ユニットのデコード指示に基づいて割を
    込みレベルが、走行中のプログラムの走行レベルより優
    先順位が高い際、割り込み許可信号と新しいプログラム
    走行レベルとを出力する割り込み調停回路手段を有する
    プロセッサにおいて、割り込みレベルで走行するプログ
    ラムのコンテクストが前記レジスタ・フアイルに常駐す
    るか否かを示している常駐フラグと、該常駐フラグで常
    駐するとされたレベルに対してはそのコンテクストを前
    記レジスタ・ファイルのいずれのフレームに格納するか
    を示すフレーム番号が登録され、前記常駐フラグで非常
    駐と記されたレベルに対してはそのコンテクストを格納
    しているメモリ領域を指すアドレスが登録されているコ
    ンテクスト・テーブルと、走行中のプログラムの走行レ
    ベルを保持し、その出力を前記割り込み調停回路手段及
    び前記命令実行ユニットに提供し、前記割り込み調停回
    路手段の出力する割り込み許可信号の指示で前記調停回
    路手段の出力するプログラム走行レベルを格納するカレ
    ント走行レベル・レジスタと、前記割り込み調停回路手
    段の出力するプログラム走行レベルと前記コンテクスト
    ・テーブルの出力を入力として、前記コンテクスト・テ
    ーブルから走行レベルに対応したエントリを取り出し、
    エントリの常駐フラグとフレーム番号/アドレス部を出
    力し、さらに常駐フラグが常駐の時はそのエントリのフ
    レーム番号を、非常駐の時はディフオルトとして0をフ
    レーム番号として出力する常駐チェック回路手段と、前
    記常駐チェック回路手段の出力するフレーム番号を保持
    し、走行中のプログラムが参照しているフレーム番号と
    としてその内容を出力するフレーム番号レジスタと、前
    記フレーム番号レジスタの出力及びシステムモード用に
    割り当てられている所定のフレーム番号とを入力として
    そのうち一方を選択出力するフレーム番号選択手段と、
    前記常駐チェック回路手段の出力する常駐フラグを保持
    する常駐フラグ・レジスタと、前記常駐チェック回路手
    段の出力するフレーム番号/アドレス部を保持し、コン
    テクストの格納領域のメモリアドレスとしてその内容を
    前記命令実行ユニットに出力するコンテクスト・アドレ
    ス・レジスタと、前記常駐チェック回路手段の常駐フラ
    グを他のプログラム走行レベルの常駐/非常駐情報とし
    て入力し、前記常駐フラグ・レジスタを前記走行中のプ
    ログラム走行レベルの常駐/非常駐情報として入力して
    、プログラム走行レベルの変更に際してコンテクストの
    セーブ/リストアを指示するセーブ/リストア指示回路
    手段と、前記セーブ/リストア指示回路手段及び前記命
    令実行ユニットからの指示を入力として前記フレーム番
    号選択手段に対して選択指示を出力するフレーム番号選
    択制御手段と、前記フレーム番号選択制御手段に対して
    前記セーブ/リストア指示手段からのフレーム番号を選
    択するように指示するような効果を持つシステムモード
    リターン命令手段とを備えることを特徴とする割込み処
    理方式。
JP14311589A 1989-06-07 1989-06-07 割込み処理方式 Pending JPH039431A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14311589A JPH039431A (ja) 1989-06-07 1989-06-07 割込み処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14311589A JPH039431A (ja) 1989-06-07 1989-06-07 割込み処理方式

Publications (1)

Publication Number Publication Date
JPH039431A true JPH039431A (ja) 1991-01-17

Family

ID=15331264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14311589A Pending JPH039431A (ja) 1989-06-07 1989-06-07 割込み処理方式

Country Status (1)

Country Link
JP (1) JPH039431A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004063925A1 (ja) * 2003-01-09 2004-07-29 Japan Science And Technology Agency コンテキスト切り替え方法・装置・プログラム・記憶媒体、中央演算装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004063925A1 (ja) * 2003-01-09 2004-07-29 Japan Science And Technology Agency コンテキスト切り替え方法・装置・プログラム・記憶媒体、中央演算装置
US8020169B2 (en) 2003-01-09 2011-09-13 Japan Science And Technology Agency Context switching system having context cache and a register file for the save and restore context operation

Similar Documents

Publication Publication Date Title
US5161226A (en) Microprocessor inverse processor state usage
US6209085B1 (en) Method and apparatus for performing process switching in multiprocessor computer systems
KR930018378A (ko) 캐쉬 메모리 시스템의 성능최적화 방법 및 장치
US5483566A (en) Method and apparatus for modifying the contents of a register via a command bit
US4816992A (en) Method of operating a data processing system in response to an interrupt
JPH039431A (ja) 割込み処理方式
JP2643931B2 (ja) 情報処理装置
JPH02173828A (ja) 割込み処理方式
US6243798B1 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
JP2742245B2 (ja) 並列計算機
KR940002593Y1 (ko) 컴퓨터 메모리장치
JPH0298744A (ja) 割込み処理方式
JPH07141252A (ja) データ処理装置
JPS63142416A (ja) 入出力制御方式
JPH0520253A (ja) データ処理装置
JPH04205031A (ja) マイクロコンピュータ
JPS63147245A (ja) メモリアクセス方式
JPS6269321A (ja) プロセススイツチ方式
JPS63180171A (ja) 情報処理装置
JPS63208971A (ja) マルチプロセツサ制御方式
JPH04340143A (ja) ディジタル計算機
JPH01223545A (ja) バッファ記憶装置
JPH06259265A (ja) Cpuのユーザ定義状態遷移方式
JPS60132254A (ja) デ−タ処理装置
JPH02187840A (ja) キャッシュメモリ制御方式