JPH05143365A - 割込みテーブル拡張・保護方式 - Google Patents
割込みテーブル拡張・保護方式Info
- Publication number
- JPH05143365A JPH05143365A JP3332482A JP33248291A JPH05143365A JP H05143365 A JPH05143365 A JP H05143365A JP 3332482 A JP3332482 A JP 3332482A JP 33248291 A JP33248291 A JP 33248291A JP H05143365 A JPH05143365 A JP H05143365A
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- hardware
- memory
- circuit
- setting
- 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
Links
Abstract
(57)【要約】
【目的】 割込みテーブルの拡張と割込みテーブルの保
護とを実現する。 【構成】 レジスタ設定回路107は、書換え保護が必
要なハードウェア割込みを示す情報を選択レジスタ10
5に設定し、書換え保護が必要なハードウェア割込みに
関する割込みテーブルを割込みテーブル用SRAM22
に設定する制御を行う。設定許可回路108は、上述の
設定に関する再設定を制限する。割込み入力回路101
およびコンペア回路102は、参照すべき割込みテーブ
ルがメインメモリ21と割込みテーブル用SRAM22
とのいずれに存在するかの判定を制御する。アドレス生
成回路104は、割込みテーブル用SRAM22上の割
込みテーブルにおけるアドレスを生成する。割込みサイ
クル検出回路109およびメモリマッピング回路111
は、割込みテーブル用SRAM22をメインメモリ21
にマッピングし、CPU3に割込みテーブル用SRAM
22を参照させる。
護とを実現する。 【構成】 レジスタ設定回路107は、書換え保護が必
要なハードウェア割込みを示す情報を選択レジスタ10
5に設定し、書換え保護が必要なハードウェア割込みに
関する割込みテーブルを割込みテーブル用SRAM22
に設定する制御を行う。設定許可回路108は、上述の
設定に関する再設定を制限する。割込み入力回路101
およびコンペア回路102は、参照すべき割込みテーブ
ルがメインメモリ21と割込みテーブル用SRAM22
とのいずれに存在するかの判定を制御する。アドレス生
成回路104は、割込みテーブル用SRAM22上の割
込みテーブルにおけるアドレスを生成する。割込みサイ
クル検出回路109およびメモリマッピング回路111
は、割込みテーブル用SRAM22をメインメモリ21
にマッピングし、CPU3に割込みテーブル用SRAM
22を参照させる。
Description
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
における割込み処理で使用される割込みテーブル(割込
み処理プログラムの先頭アドレスを示すベクタテーブ
ル)の拡張および保護を行う割込みテーブル拡張・保護
方式に関する。
における割込み処理で使用される割込みテーブル(割込
み処理プログラムの先頭アドレスを示すベクタテーブ
ル)の拡張および保護を行う割込みテーブル拡張・保護
方式に関する。
【0002】
【従来の技術】従来の技術では、コンピュータシステム
において割込みテーブルの保護のための特別の方式とい
うものは存在しておらず、一部のコンピュータシステム
においてメインメモリの保護という形でメインメモリ上
の割込みテーブルの保護が行われているに過ぎなかっ
た。
において割込みテーブルの保護のための特別の方式とい
うものは存在しておらず、一部のコンピュータシステム
においてメインメモリの保護という形でメインメモリ上
の割込みテーブルの保護が行われているに過ぎなかっ
た。
【0003】また、割込みテーブルはメインメモリ上の
領域に設けられており、割込みテーブルの大きさは限ら
れたものであった。
領域に設けられており、割込みテーブルの大きさは限ら
れたものであった。
【0004】なお、ハードウェア割込み(外部割込み)
とソフトウェア割込みとは区別されずに同一の割込みテ
ーブル(メインメモリ上の割込みテーブル)で取り扱わ
れていた。
とソフトウェア割込みとは区別されずに同一の割込みテ
ーブル(メインメモリ上の割込みテーブル)で取り扱わ
れていた。
【0005】
【発明が解決しようとする課題】近年、割込みテーブル
を書き換えるタイプのコンピュータウイルスの出現等に
より、コンピュータシステムの管理者の意図に反して割
込みテーブル中の割込み処理プログラムの先頭アドレス
が書き換えられるおそれが増加している。従来の技術で
は、割込みテーブルの保護のための特別の方式は存在し
ていないので、上述のような割込みテーブルの書換えに
対処できず、割込み時に本来必要とする割込み処理以外
の処理が行われる事態が生じるという欠点があった。特
に、ハードウェア割込みの割込み処理プログラムの先頭
アドレスの書換えについては、磁気ディスクやフロッピ
ーディスク等のハードウェア資源を損なうことにつなが
り、上述の欠点による支障は大きかった。
を書き換えるタイプのコンピュータウイルスの出現等に
より、コンピュータシステムの管理者の意図に反して割
込みテーブル中の割込み処理プログラムの先頭アドレス
が書き換えられるおそれが増加している。従来の技術で
は、割込みテーブルの保護のための特別の方式は存在し
ていないので、上述のような割込みテーブルの書換えに
対処できず、割込み時に本来必要とする割込み処理以外
の処理が行われる事態が生じるという欠点があった。特
に、ハードウェア割込みの割込み処理プログラムの先頭
アドレスの書換えについては、磁気ディスクやフロッピ
ーディスク等のハードウェア資源を損なうことにつなが
り、上述の欠点による支障は大きかった。
【0006】また、アプリケーションプログラムの中に
はCPU(Central Processing U
nit)の提供しているソフトウェア割込みを多用して
いるものも多く存在し、そのようなアプリケーションプ
ログラムの実行においては割込みテーブルの拡張に対す
る要請は大きい。従来の技術では、メインメモリ上にの
み割込みテーブルが設けられておりその大きさには限り
があるので、上述の割込みテーブルの拡張という要請に
応じることができないという欠点があった。
はCPU(Central Processing U
nit)の提供しているソフトウェア割込みを多用して
いるものも多く存在し、そのようなアプリケーションプ
ログラムの実行においては割込みテーブルの拡張に対す
る要請は大きい。従来の技術では、メインメモリ上にの
み割込みテーブルが設けられておりその大きさには限り
があるので、上述の割込みテーブルの拡張という要請に
応じることができないという欠点があった。
【0007】本発明の目的は、上述の点に鑑み、ハード
ウェア割込みの中で書換え保護(割込みテーブル中の割
込み処理プログラムの先頭アドレスの書換えを回避する
ための保護)が必要なハードウェア割込みを他の割込み
と独立させて、書換え保護の必要なハードウェア割込み
用の割込みテーブルをメインメモリ以外の専用のメモリ
(ハードウェア割込み専用メモリ)上に設定して割込み
テーブルの拡張を実現し、書換え保護が必要なハードウ
ェア割込みに関する割込みテーブルの書換えを制限する
こと(初期設定のみに制限することやパスワードによっ
て書換えを制限すること等)によって割込みテーブルの
保護を実現する割込みテーブル拡張・保護方式を提供す
ることにある。
ウェア割込みの中で書換え保護(割込みテーブル中の割
込み処理プログラムの先頭アドレスの書換えを回避する
ための保護)が必要なハードウェア割込みを他の割込み
と独立させて、書換え保護の必要なハードウェア割込み
用の割込みテーブルをメインメモリ以外の専用のメモリ
(ハードウェア割込み専用メモリ)上に設定して割込み
テーブルの拡張を実現し、書換え保護が必要なハードウ
ェア割込みに関する割込みテーブルの書換えを制限する
こと(初期設定のみに制限することやパスワードによっ
て書換えを制限すること等)によって割込みテーブルの
保護を実現する割込みテーブル拡張・保護方式を提供す
ることにある。
【0008】
【課題を解決するための手段】本発明の割込みテーブル
拡張・保護方式は、メインメモリ上に割込みテーブルを
有しハードウェア割込みに対する制御を行う割込みコン
トローラを有し割込みベクタに基づいてハードウェア割
込みに対する割込み処理を行うコンピュータシステムに
おいて、書換え保護が必要なハードウェア割込みに対す
る割込みテーブルを内蔵するハードウェア割込み専用メ
モリ(メインメモリ以外のメモリである)と、書換え保
護が必要なハードウェア割込みを示す情報を設定し当該
ハードウェア割込みに関する割込みテーブルを前記ハー
ドウェア割込み専用メモリに設定し当該設定に関する再
設定を制限する保護対象ハードウェア割込み設定手段
と、ハードウェア割込みの発生時にメインメモリ上の割
込みテーブルを参照すべきか前記ハードウェア割込み専
用メモリ上の割込みテーブルを参照すべきかを前記保護
対象ハードウェア割込み設定手段による設定に基づいて
判定する割込みテーブル判定手段と、この割込みテーブ
ル判定手段により前記ハードウェア割込み専用メモリ上
の割込みテーブルを参照すべきと判定された場合に発生
したハードウェア割込みに対応する前記ハードウェア割
込み専用メモリ上の割込みテーブルにおけるアドレスを
生成するアドレス生成手段と、前記割込みテーブル判定
手段により前記ハードウェア割込み専用メモリ上の割込
みテーブルを参照すべきと判定された場合に前記ハード
ウェア割込み専用メモリをメインメモリにマッピングし
前記アドレス生成手段により生成されたアドレスによっ
て特定される前記ハードウェア割込み専用メモリ上の割
込みテーブルの領域からのCPUによるデータの読出し
を制御するマッピング手段とを有する。
拡張・保護方式は、メインメモリ上に割込みテーブルを
有しハードウェア割込みに対する制御を行う割込みコン
トローラを有し割込みベクタに基づいてハードウェア割
込みに対する割込み処理を行うコンピュータシステムに
おいて、書換え保護が必要なハードウェア割込みに対す
る割込みテーブルを内蔵するハードウェア割込み専用メ
モリ(メインメモリ以外のメモリである)と、書換え保
護が必要なハードウェア割込みを示す情報を設定し当該
ハードウェア割込みに関する割込みテーブルを前記ハー
ドウェア割込み専用メモリに設定し当該設定に関する再
設定を制限する保護対象ハードウェア割込み設定手段
と、ハードウェア割込みの発生時にメインメモリ上の割
込みテーブルを参照すべきか前記ハードウェア割込み専
用メモリ上の割込みテーブルを参照すべきかを前記保護
対象ハードウェア割込み設定手段による設定に基づいて
判定する割込みテーブル判定手段と、この割込みテーブ
ル判定手段により前記ハードウェア割込み専用メモリ上
の割込みテーブルを参照すべきと判定された場合に発生
したハードウェア割込みに対応する前記ハードウェア割
込み専用メモリ上の割込みテーブルにおけるアドレスを
生成するアドレス生成手段と、前記割込みテーブル判定
手段により前記ハードウェア割込み専用メモリ上の割込
みテーブルを参照すべきと判定された場合に前記ハード
ウェア割込み専用メモリをメインメモリにマッピングし
前記アドレス生成手段により生成されたアドレスによっ
て特定される前記ハードウェア割込み専用メモリ上の割
込みテーブルの領域からのCPUによるデータの読出し
を制御するマッピング手段とを有する。
【0009】
【作用】本発明の割込みテーブル拡張・保護方式では、
ハードウェア割込み専用メモリが書換え保護が必要なハ
ードウェア割込みに対する割込みテーブルを内蔵し、保
護対象ハードウェア割込み設定手段が書換え保護が必要
なハードウェア割込みを示す情報を設定し当該ハードウ
ェア割込みに関する割込みテーブルをハードウェア割込
み専用メモリに設定し当該設定に関する再設定を制限
し、割込みテーブル判定手段がハードウェア割込みの発
生時にメインメモリ上の割込みテーブルを参照すべきか
ハードウェア割込み専用メモリ上の割込みテーブルを参
照すべきかを保護対象ハードウェア割込み設定手段によ
る設定に基づいて判定し、アドレス生成手段が割込みテ
ーブル判定手段によりハードウェア割込み専用メモリ上
の割込みテーブルを参照すべきと判定された場合に発生
したハードウェア割込みに対応するハードウェア割込み
専用メモリ上の割込みテーブルにおけるアドレスを生成
し、マッピング手段が割込みテーブル判定手段によりハ
ードウェア割込み専用メモリ上の割込みテーブルを参照
すべきと判定された場合にハードウェア割込み専用メモ
リをメインメモリにマッピングしアドレス生成手段によ
り生成されたアドレスによって特定されるハードウェア
割込み専用メモリ上の割込みテーブルの領域からのCP
Uによるデータの読出しを制御する。
ハードウェア割込み専用メモリが書換え保護が必要なハ
ードウェア割込みに対する割込みテーブルを内蔵し、保
護対象ハードウェア割込み設定手段が書換え保護が必要
なハードウェア割込みを示す情報を設定し当該ハードウ
ェア割込みに関する割込みテーブルをハードウェア割込
み専用メモリに設定し当該設定に関する再設定を制限
し、割込みテーブル判定手段がハードウェア割込みの発
生時にメインメモリ上の割込みテーブルを参照すべきか
ハードウェア割込み専用メモリ上の割込みテーブルを参
照すべきかを保護対象ハードウェア割込み設定手段によ
る設定に基づいて判定し、アドレス生成手段が割込みテ
ーブル判定手段によりハードウェア割込み専用メモリ上
の割込みテーブルを参照すべきと判定された場合に発生
したハードウェア割込みに対応するハードウェア割込み
専用メモリ上の割込みテーブルにおけるアドレスを生成
し、マッピング手段が割込みテーブル判定手段によりハ
ードウェア割込み専用メモリ上の割込みテーブルを参照
すべきと判定された場合にハードウェア割込み専用メモ
リをメインメモリにマッピングしアドレス生成手段によ
り生成されたアドレスによって特定されるハードウェア
割込み専用メモリ上の割込みテーブルの領域からのCP
Uによるデータの読出しを制御する。
【0010】
【実施例】次に、本発明について図面を参照して詳細に
説明する。
説明する。
【0011】図1は、本発明の割込みテーブル拡張・保
護方式の一実施例の構成を示すブロック図である。本実
施例の割込みテーブル拡張・保護方式は、メモリ割込み
テーブルコントローラ1と、記憶素子2と、CPU3
と、割込みコントローラ4と、3ステートバッファ5と
を含んで構成されている。
護方式の一実施例の構成を示すブロック図である。本実
施例の割込みテーブル拡張・保護方式は、メモリ割込み
テーブルコントローラ1と、記憶素子2と、CPU3
と、割込みコントローラ4と、3ステートバッファ5と
を含んで構成されている。
【0012】メモリ割込みテーブルコントローラ1は、
割込み入力回路101と、コンペア回路102と、3ス
テートバッファ103と、アドレス生成回路104と、
選択レジスタ105と、構成レジスタ106と、レジス
タ設定回路107と、設定許可回路108と、割込みサ
イクル検出回路109と、メモリマッピング回路111
を有するメモリ制御ブロック110とを含んで構成され
ている。
割込み入力回路101と、コンペア回路102と、3ス
テートバッファ103と、アドレス生成回路104と、
選択レジスタ105と、構成レジスタ106と、レジス
タ設定回路107と、設定許可回路108と、割込みサ
イクル検出回路109と、メモリマッピング回路111
を有するメモリ制御ブロック110とを含んで構成され
ている。
【0013】記憶素子2は、メインメモリ21と、割込
みテーブル用SRAM(Static Random
Access Memory)22とを含んで構成され
ている。
みテーブル用SRAM(Static Random
Access Memory)22とを含んで構成され
ている。
【0014】なお、本実施例の割込みテーブル拡張・保
護方式では、割込みテーブル用SRAM22によってハ
ードウェア割込み専用メモリが実現されており、選択レ
ジスタ105,構成レジスタ106,レジスタ設定回路
107および設定許可回路108によって保護対象ハー
ドウェア割込み設定手段が実現されており、割込み入力
回路101およびコンペア回路102によって割込みテ
ーブル判定手段が実現されており、アドレス生成回路1
04によってアドレス生成手段が実現されており、割込
みサイクル検出回路109およびメモリマッピング回路
111によってマッピング手段が実現されている。
護方式では、割込みテーブル用SRAM22によってハ
ードウェア割込み専用メモリが実現されており、選択レ
ジスタ105,構成レジスタ106,レジスタ設定回路
107および設定許可回路108によって保護対象ハー
ドウェア割込み設定手段が実現されており、割込み入力
回路101およびコンペア回路102によって割込みテ
ーブル判定手段が実現されており、アドレス生成回路1
04によってアドレス生成手段が実現されており、割込
みサイクル検出回路109およびメモリマッピング回路
111によってマッピング手段が実現されている。
【0015】図2は、本実施例の割込みテーブル拡張・
保護方式の処理を示す流れ図である。この処理は、選択
レジスタ設定ステップ201と、構成レジスタ設定ステ
ップ202と、マッピングステップ203と、割込みテ
ーブル設定ステップ204と、マッピング終了ステップ
205と、設定不可信号発生ステップ206と、ハード
ウェア割込み発生ステップ207と、割込み入力回路認
識ステップ208と、割込み入力通知ステップ209
と、割込みデータ送付ステップ210と、割込みデータ
判定ステップ211と、判定結果通知ステップ212
と、アドレス生成ステップ213と、割込みアクノリッ
ジサイクル検出ステップ214と、セレクト信号出力ス
テップ215と、アドレス制御信号出力ステップ216
と、アドレス出力ステップ217と、割込みテーブル用
SRAMデータ出力ステップ218と、割込み処理プロ
グラム先頭アドレス取得ステップ219と、割込み処理
実行ステップ220とからなる。なお、図2において、
実線で囲まれたボックス中の処理はメモリ割込みテーブ
ルコントローラ1の処理を示し、破線で囲まれたボック
ス中の処理はメモリ割込みテーブルコントローラ1の処
理以外の処理を示す。
保護方式の処理を示す流れ図である。この処理は、選択
レジスタ設定ステップ201と、構成レジスタ設定ステ
ップ202と、マッピングステップ203と、割込みテ
ーブル設定ステップ204と、マッピング終了ステップ
205と、設定不可信号発生ステップ206と、ハード
ウェア割込み発生ステップ207と、割込み入力回路認
識ステップ208と、割込み入力通知ステップ209
と、割込みデータ送付ステップ210と、割込みデータ
判定ステップ211と、判定結果通知ステップ212
と、アドレス生成ステップ213と、割込みアクノリッ
ジサイクル検出ステップ214と、セレクト信号出力ス
テップ215と、アドレス制御信号出力ステップ216
と、アドレス出力ステップ217と、割込みテーブル用
SRAMデータ出力ステップ218と、割込み処理プロ
グラム先頭アドレス取得ステップ219と、割込み処理
実行ステップ220とからなる。なお、図2において、
実線で囲まれたボックス中の処理はメモリ割込みテーブ
ルコントローラ1の処理を示し、破線で囲まれたボック
ス中の処理はメモリ割込みテーブルコントローラ1の処
理以外の処理を示す。
【0016】次に、本実施例の割込みテーブル拡張・保
護方式の動作について、メモリ割込みテーブルコントロ
ーラ1の動作を中心に、図2の流れ図に基づいて説明す
る。
護方式の動作について、メモリ割込みテーブルコントロ
ーラ1の動作を中心に、図2の流れ図に基づいて説明す
る。
【0017】第1に、初期設定に関する動作について説
明する。
明する。
【0018】メモリ割込みテーブルコントローラ1内の
選択レジスタ105および構成レジスタ106と割込み
テーブル用SRAM22とは、初期設定を必要とする。
そこで、レジスタ設定回路107は、次のようにして、
選択レジスタ105,構成レジスタ106および割込み
テーブル用SRAM22の初期設定を行う。
選択レジスタ105および構成レジスタ106と割込み
テーブル用SRAM22とは、初期設定を必要とする。
そこで、レジスタ設定回路107は、次のようにして、
選択レジスタ105,構成レジスタ106および割込み
テーブル用SRAM22の初期設定を行う。
【0019】レジスタ設定回路107は、どのハードウ
ェア割込みに書換え保護が必要であるかを示す情報(逆
にいえば、どのハードウェア割込みにおいて書換え保護
よりも書換えが可能なことを重視すべきであるかを示す
情報)の指示をコンピュータシステムの管理者から受け
取り、その指示に基づいてハードウェア割込みの割込み
処理のためにメインメモリ21上の割込みテーブルを参
照すべきか割込みテーブル用SRAM22上の割込みテ
ーブルを参照すべきかを示す情報を選択レジスタ105
に設定する(ステップ201)。
ェア割込みに書換え保護が必要であるかを示す情報(逆
にいえば、どのハードウェア割込みにおいて書換え保護
よりも書換えが可能なことを重視すべきであるかを示す
情報)の指示をコンピュータシステムの管理者から受け
取り、その指示に基づいてハードウェア割込みの割込み
処理のためにメインメモリ21上の割込みテーブルを参
照すべきか割込みテーブル用SRAM22上の割込みテ
ーブルを参照すべきかを示す情報を選択レジスタ105
に設定する(ステップ201)。
【0020】図2中の例では、全てのハードウェア割込
み(「INT0」〜「INT7」で識別されるハードウ
ェア割込み)の割込み処理のために割込みテーブル用S
RAM22上の割込みテーブルを参照すべきことを示す
情報(「INT0」〜「INT7」の全てに対する
「1」)が、選択レジスタ105に設定される。
み(「INT0」〜「INT7」で識別されるハードウ
ェア割込み)の割込み処理のために割込みテーブル用S
RAM22上の割込みテーブルを参照すべきことを示す
情報(「INT0」〜「INT7」の全てに対する
「1」)が、選択レジスタ105に設定される。
【0021】構成レジスタ106に設定される値は、書
換え保護が必要なハードウェア割込みが発生した場合に
アドレス生成回路104が割込みテーブル用SRAM2
2上の割込みテーブルにおけるアドレス(発生したハー
ドウェア割込みに対応するアドレス)を生成する際に使
用されるもので、次に示すアドレスの計算式において用
いられるものである。なお、この計算式中の「割込みベ
クタ」は、割込み処理を行うべきであるハードウェア割
込みを特定する情報(割込み処理を行うべきハードウェ
ア割込みの識別番号を示す情報)であり、割込み要求信
号に基づいて生成される情報である。 (生成されるアドレス)=(割込みベクタの示す番号)
×(構成レジスタ106に設定される値)
換え保護が必要なハードウェア割込みが発生した場合に
アドレス生成回路104が割込みテーブル用SRAM2
2上の割込みテーブルにおけるアドレス(発生したハー
ドウェア割込みに対応するアドレス)を生成する際に使
用されるもので、次に示すアドレスの計算式において用
いられるものである。なお、この計算式中の「割込みベ
クタ」は、割込み処理を行うべきであるハードウェア割
込みを特定する情報(割込み処理を行うべきハードウェ
ア割込みの識別番号を示す情報)であり、割込み要求信
号に基づいて生成される情報である。 (生成されるアドレス)=(割込みベクタの示す番号)
×(構成レジスタ106に設定される値)
【0022】レジスタ設定回路107は、構成レジスタ
106に上述のような値を設定する。すなわち、構成レ
ジスタ106に、割込みテーブルの構成(CPU3が何
バイト単位で割込みテーブル中のデータ(割込み処理プ
ログラムの先頭アドレス)を読み出すかということ)に
基づく値を設定する(ステップ202)。
106に上述のような値を設定する。すなわち、構成レ
ジスタ106に、割込みテーブルの構成(CPU3が何
バイト単位で割込みテーブル中のデータ(割込み処理プ
ログラムの先頭アドレス)を読み出すかということ)に
基づく値を設定する(ステップ202)。
【0023】本実施例の割込みテーブルは4バイトのデ
ータ(先頭アドレス)の集合であるので、図2中の例で
は構成レジスタ106に「4」が設定される。
ータ(先頭アドレス)の集合であるので、図2中の例で
は構成レジスタ106に「4」が設定される。
【0024】メモリ制御ブロック110内のメモリマッ
ピング回路111は、割込みテーブル用SRAM22上
の割込みテーブルの初期設定のために、割込みテーブル
用SRAM22をメインメモリ21にマッピングする
(ステップ203)。
ピング回路111は、割込みテーブル用SRAM22上
の割込みテーブルの初期設定のために、割込みテーブル
用SRAM22をメインメモリ21にマッピングする
(ステップ203)。
【0025】メインメモリ21にマッピングされた割込
みテーブル用SRAM22に対して、コンピュータシス
テムの管理者は割込みテーブル用SRAM22上の割込
みテーブルの設定を行う。すなわち、書換え保護が必要
なハードウェア割込みの割込み処理プログラムの先頭ア
ドレスを割込みテーブル用SRAM22上の割込みテー
ブルに設定する(ステップ204)。
みテーブル用SRAM22に対して、コンピュータシス
テムの管理者は割込みテーブル用SRAM22上の割込
みテーブルの設定を行う。すなわち、書換え保護が必要
なハードウェア割込みの割込み処理プログラムの先頭ア
ドレスを割込みテーブル用SRAM22上の割込みテー
ブルに設定する(ステップ204)。
【0026】割込みテーブル用SRAM22上の割込み
テーブルの全ての設定が終了すると、メモリマッピング
回路111は上述のマッピングを終了させる(ステップ
205)。
テーブルの全ての設定が終了すると、メモリマッピング
回路111は上述のマッピングを終了させる(ステップ
205)。
【0027】以上のようにして選択レジスタ105,構
成レジスタ106および割込みテーブル用SRAM22
に関する全ての設定が終了した後に、設定許可回路10
8は、設定不可信号(再設定の不許可を示す信号。一定
のパスワードによって解除することも可能である)をレ
ジスタ設定回路107およびメモリマッピング回路11
1に対して発生し続け、選択レジスタ105および構成
レジスタ106と割込みテーブル用SRAM22上の割
込みテーブルとの再設定を不可能にする(これにより、
割込みテーブル用SRAM22上の割込みテーブルに割
込み処理プログラムの先頭アドレスが設定されたハード
ウェア割込みの書換え保護が実現される)。
成レジスタ106および割込みテーブル用SRAM22
に関する全ての設定が終了した後に、設定許可回路10
8は、設定不可信号(再設定の不許可を示す信号。一定
のパスワードによって解除することも可能である)をレ
ジスタ設定回路107およびメモリマッピング回路11
1に対して発生し続け、選択レジスタ105および構成
レジスタ106と割込みテーブル用SRAM22上の割
込みテーブルとの再設定を不可能にする(これにより、
割込みテーブル用SRAM22上の割込みテーブルに割
込み処理プログラムの先頭アドレスが設定されたハード
ウェア割込みの書換え保護が実現される)。
【0028】第2に、上述のような初期設定が行われた
後に、周辺装置からのハードウェア割込みが発生した場
合(メモリ割込みテーブルコントローラ1がハードウェ
ア割込みを示す割込み要求信号を入力した場合。ステッ
プ207)の動作について説明する。
後に、周辺装置からのハードウェア割込みが発生した場
合(メモリ割込みテーブルコントローラ1がハードウェ
ア割込みを示す割込み要求信号を入力した場合。ステッ
プ207)の動作について説明する。
【0029】図2中の例では、「INT2」および「I
NT6」で識別される割込みが発生する(「INT2」
で識別される割込みの方がプライオリティが高いものと
する)。
NT6」で識別される割込みが発生する(「INT2」
で識別される割込みの方がプライオリティが高いものと
する)。
【0030】メモリ割込みテーブルコントローラ1内の
割込み入力回路101は、ハードウェア割込みの発生を
割込み要求信号によって認識し(ステップ208)、ハ
ードウェア割込みの発生(割込み入力の存在)をメモリ
マッピング回路111に通知する(ステップ209)。
割込み入力回路101は、ハードウェア割込みの発生を
割込み要求信号によって認識し(ステップ208)、ハ
ードウェア割込みの発生(割込み入力の存在)をメモリ
マッピング回路111に通知する(ステップ209)。
【0031】図2中の例では、割込み入力回路101
は、「INT2」および「INT6」で識別される割込
みの発生を「01000100」という割込み要求信号
で認識する。
は、「INT2」および「INT6」で識別される割込
みの発生を「01000100」という割込み要求信号
で認識する。
【0032】また、割込み入力回路101は、割込み要
求信号によって認識したハードウェア割込みの発生のう
ちで最高位のプライオリティを持つハードウェア割込み
の発生を示す割込みデータ(図2中の例では、「INT
2」で識別されるハードウェア割込みの発生を示す「0
0000100」)を抽出し、その割込みデータをコン
ペア回路102に送る(ステップ210)。
求信号によって認識したハードウェア割込みの発生のう
ちで最高位のプライオリティを持つハードウェア割込み
の発生を示す割込みデータ(図2中の例では、「INT
2」で識別されるハードウェア割込みの発生を示す「0
0000100」)を抽出し、その割込みデータをコン
ペア回路102に送る(ステップ210)。
【0033】コンペア回路102は、割込み入力回路1
01から送られてきた割込みデータとあらかじめ設定さ
れている選択レジスタ105の内容とを比較し、割込み
データにより示されるハードウェア割込みの割込み処理
のためにメインメモリ21上の割込みテーブルを選択す
べきか割込みテーブル用SRAM22上の割込みテーブ
ルを選択すべきかを判定し(ステップ211)、その判
定結果をアドレス生成回路104とメモリマッピング回
路111とに通知する(ステップ212)。
01から送られてきた割込みデータとあらかじめ設定さ
れている選択レジスタ105の内容とを比較し、割込み
データにより示されるハードウェア割込みの割込み処理
のためにメインメモリ21上の割込みテーブルを選択す
べきか割込みテーブル用SRAM22上の割込みテーブ
ルを選択すべきかを判定し(ステップ211)、その判
定結果をアドレス生成回路104とメモリマッピング回
路111とに通知する(ステップ212)。
【0034】図2中の例では、上述の割込みデータ「0
0000100」と選択レジスタ105の内容「111
11111」とを比較して上記判定を行い(両者のAN
D演算を行う)(ステップ211)、その判定結果(こ
こでは、上述の割込みデータで示されるハードウェア割
込みの割込み処理のために割込みテーブル用SRAM2
2上の割込みテーブルを選択すべきことを示す判定結果
「00000100」)をアドレス生成回路104とメ
モリマッピング回路111とに通知する。
0000100」と選択レジスタ105の内容「111
11111」とを比較して上記判定を行い(両者のAN
D演算を行う)(ステップ211)、その判定結果(こ
こでは、上述の割込みデータで示されるハードウェア割
込みの割込み処理のために割込みテーブル用SRAM2
2上の割込みテーブルを選択すべきことを示す判定結果
「00000100」)をアドレス生成回路104とメ
モリマッピング回路111とに通知する。
【0035】アドレス生成回路104は、コンペア回路
102から判定結果を受け取り、この判定結果が「割込
みテーブル用SRAM22上の割込みテーブルを選択す
べきこと」を示している場合に割込みテーブル用SRA
M22に送付すべきアドレスを生成する。すなわち、割
込み要求信号に基づく割込みベクタを生成し、構成レジ
スタ105を参照し、上述の「(生成されるアドレス)
=(割込みベクタの示す番号)×(構成レジスタ106
に設定される値)」という計算式により上述の判定結果
によって特定されるハードウェア割込み(図2中の例で
は、「INT2」で識別されるハードウェア割込み)に
対応する割込みテーブル用SRAM22上の割込みテー
ブルにおけるアドレスを生成する(ステップ213)。
102から判定結果を受け取り、この判定結果が「割込
みテーブル用SRAM22上の割込みテーブルを選択す
べきこと」を示している場合に割込みテーブル用SRA
M22に送付すべきアドレスを生成する。すなわち、割
込み要求信号に基づく割込みベクタを生成し、構成レジ
スタ105を参照し、上述の「(生成されるアドレス)
=(割込みベクタの示す番号)×(構成レジスタ106
に設定される値)」という計算式により上述の判定結果
によって特定されるハードウェア割込み(図2中の例で
は、「INT2」で識別されるハードウェア割込み)に
対応する割込みテーブル用SRAM22上の割込みテー
ブルにおけるアドレスを生成する(ステップ213)。
【0036】ところで、上述の周辺装置からの割込み要
求信号は割込みコントローラ4によっても入力されてお
り、割込み要求信号を入力した割込みコントローラ4は
CPU3に対して割込み信号を発行する。
求信号は割込みコントローラ4によっても入力されてお
り、割込み要求信号を入力した割込みコントローラ4は
CPU3に対して割込み信号を発行する。
【0037】CPU3は、この割込み信号に基づいて、
割込みが可能になり次第、割込みコントローラ4等に対
して割込みアクノリッジサイクルを発行する。
割込みが可能になり次第、割込みコントローラ4等に対
して割込みアクノリッジサイクルを発行する。
【0038】割込みアクノリッジサイクルを受けた割込
みコントローラ4は、割込みベクタ(割込み要求信号中
の最高位のプライオリティを持つハードウェア割込みの
発生を特定するためのハードウェア割込みの識別番号を
示す情報。アドレス生成回路104による上述のアドレ
スの計算式で使われる割込みベクタと同様の情報)をC
PU3に返す。
みコントローラ4は、割込みベクタ(割込み要求信号中
の最高位のプライオリティを持つハードウェア割込みの
発生を特定するためのハードウェア割込みの識別番号を
示す情報。アドレス生成回路104による上述のアドレ
スの計算式で使われる割込みベクタと同様の情報)をC
PU3に返す。
【0039】メモリ割込みテーブルコントローラ1内の
割込みサイクル検出回路109は、CPU3と同期をと
るために、CPU3から発行された割込みアクノリッジ
サイクルを検出し(ステップ214)、その検出をメモ
リマッピング回路111に通知する。
割込みサイクル検出回路109は、CPU3と同期をと
るために、CPU3から発行された割込みアクノリッジ
サイクルを検出し(ステップ214)、その検出をメモ
リマッピング回路111に通知する。
【0040】メモリマッピング回路111は、割込み入
力回路101からの割込み入力の通知とコンペア回路1
02からの判定結果の通知と割込みサイクル検出回路1
09からの割込みアクノリッジサイクルの検出の通知と
に基づき、割込みテーブル用SRAM22をメインメモ
リ21にマッピングすべきであるか否かを判断する。そ
して、マッピングすべきであると判断した場合(割込み
入力回路101からの割込み入力の通知が存在し、コン
ペア回路102から通知された判定結果が「割込みテー
ブル用SRAM22上の割込みテーブルを選択すべきこ
と」を示しており、割込みサイクル検出回路109から
の通知に係る割込みアクノリッジサイクルの次のサイク
ルである読込みアクノリッジサイクルを認識した場合)
には、メモリマッピング回路111は、割込みテーブル
用SRAM22上の割込みテーブルの参照を選択するこ
とを示すセレクト信号を出力し(ステップ215)、3
ステートバッファ5および3ステートバッファ103を
制御するためのアドレス制御信号(割込みテーブル用S
RAM22上の割込みテーブルの参照を示すアドレス制
御信号)を出力する(ステップ216)。なお、セレク
ト信号およびアドレス制御信号はメモリ制御ブロック1
10内のメモリマッピング回路111以外の部分から外
部に出力され、セレクト信号とアドレス制御信号との出
力は割込みアクノリッジサイクルの次のサイクルである
読込みアクノリッジサイクルで発行される。
力回路101からの割込み入力の通知とコンペア回路1
02からの判定結果の通知と割込みサイクル検出回路1
09からの割込みアクノリッジサイクルの検出の通知と
に基づき、割込みテーブル用SRAM22をメインメモ
リ21にマッピングすべきであるか否かを判断する。そ
して、マッピングすべきであると判断した場合(割込み
入力回路101からの割込み入力の通知が存在し、コン
ペア回路102から通知された判定結果が「割込みテー
ブル用SRAM22上の割込みテーブルを選択すべきこ
と」を示しており、割込みサイクル検出回路109から
の通知に係る割込みアクノリッジサイクルの次のサイク
ルである読込みアクノリッジサイクルを認識した場合)
には、メモリマッピング回路111は、割込みテーブル
用SRAM22上の割込みテーブルの参照を選択するこ
とを示すセレクト信号を出力し(ステップ215)、3
ステートバッファ5および3ステートバッファ103を
制御するためのアドレス制御信号(割込みテーブル用S
RAM22上の割込みテーブルの参照を示すアドレス制
御信号)を出力する(ステップ216)。なお、セレク
ト信号およびアドレス制御信号はメモリ制御ブロック1
10内のメモリマッピング回路111以外の部分から外
部に出力され、セレクト信号とアドレス制御信号との出
力は割込みアクノリッジサイクルの次のサイクルである
読込みアクノリッジサイクルで発行される。
【0041】割込みテーブル用SRAM22上の割込み
テーブルの参照を示すアドレス制御信号を受け取った3
ステートバッファ5および3ステートバッファ103
は、アドレス生成回路104によって生成されたアドレ
スをアドレスバスを介してメモリ制御ブロック110,
記憶素子2内の割込みテーブル用SRAM22およびC
PU3に出力する制御を行う(ステップ217)。
テーブルの参照を示すアドレス制御信号を受け取った3
ステートバッファ5および3ステートバッファ103
は、アドレス生成回路104によって生成されたアドレ
スをアドレスバスを介してメモリ制御ブロック110,
記憶素子2内の割込みテーブル用SRAM22およびC
PU3に出力する制御を行う(ステップ217)。
【0042】ステップ217におけるアドレスの出力に
基づいて、割込みテーブル用SRAM22はそのアドレ
スの領域に存在するデータ(割込み処理プログラムの先
頭アドレス)を出力し(ステップ218)、割込み処理
プログラムの先頭アドレスを取得しようとしていたCP
U3はこのデータ(割込み処理プログラムの先頭アドレ
ス)を取得する(ステップ219)。
基づいて、割込みテーブル用SRAM22はそのアドレ
スの領域に存在するデータ(割込み処理プログラムの先
頭アドレス)を出力し(ステップ218)、割込み処理
プログラムの先頭アドレスを取得しようとしていたCP
U3はこのデータ(割込み処理プログラムの先頭アドレ
ス)を取得する(ステップ219)。
【0043】CPU3は、ステップ219で取得した割
込み処理プログラムの先頭アドレスに基づいて割込み処
理を実行する(ステップ220)。
込み処理プログラムの先頭アドレスに基づいて割込み処
理を実行する(ステップ220)。
【0044】本実施例の割込みテーブル拡張・保護方式
では、アドレス生成回路104による割込みテーブル用
SRAM22上の割込みテーブルのアドレスの生成にお
いてもCPU3および割込みコントローラ4によるアド
レスの生成におけると同様に、割込みベクタに基づいて
アドレスが生成される。したがって、メインメモリ21
上の割込みテーブルがメインメモリ21上のどの領域に
位置していても割込みテーブル用SRAM22上の割込
みテーブルに係る割込み処理は正常に動作する。また、
アドレスの生成に構成レジスタ106が使用され、CP
U3により参照されるデータ(割込み処理プログラムの
先頭アドレス)のバイト数が構成レジスタ106に設定
されることにより、いかなる割込みテーブルの構成にも
対応することができる。
では、アドレス生成回路104による割込みテーブル用
SRAM22上の割込みテーブルのアドレスの生成にお
いてもCPU3および割込みコントローラ4によるアド
レスの生成におけると同様に、割込みベクタに基づいて
アドレスが生成される。したがって、メインメモリ21
上の割込みテーブルがメインメモリ21上のどの領域に
位置していても割込みテーブル用SRAM22上の割込
みテーブルに係る割込み処理は正常に動作する。また、
アドレスの生成に構成レジスタ106が使用され、CP
U3により参照されるデータ(割込み処理プログラムの
先頭アドレス)のバイト数が構成レジスタ106に設定
されることにより、いかなる割込みテーブルの構成にも
対応することができる。
【0045】なお、ソフトウェア割込みの発生時には、
メモリ割込みテーブルコントローラ1に割込み要求信号
は入力されずに、メインメモリ21上の割込みテーブル
が参照される(CPU3からメインメモリ21に対して
直接的に割込みテーブルの参照が行われる)。すなわ
ち、ソフトウェア割込みの発生時の割込みテーブルの参
照に関する処理は、ハードウェア割込みの発生時の割込
みテーブルの参照に関する処理と異なる処理が行われ
る。
メモリ割込みテーブルコントローラ1に割込み要求信号
は入力されずに、メインメモリ21上の割込みテーブル
が参照される(CPU3からメインメモリ21に対して
直接的に割込みテーブルの参照が行われる)。すなわ
ち、ソフトウェア割込みの発生時の割込みテーブルの参
照に関する処理は、ハードウェア割込みの発生時の割込
みテーブルの参照に関する処理と異なる処理が行われ
る。
【0046】
【発明の効果】以上説明したように本発明は、メインメ
モリとハードウェア割込み専用メモリとの両方に割込み
テーブルを設け、ハードウェア割込みの中で書換え保護
が必要なハードウェア割込みを他の割込み(書換え保護
が必要でないハードウェア割込みおよびソフトウェア割
込み)から独立させ、メモリ割込みテーブルコントロー
ラの制御によって書換え保護が必要なハードウェア割込
みと他のハードウェア割込みとを適切に切り換えること
により、メインメモリ上に割込みテーブルを2つ持った
ように見せかけることができ、割込みテーブルの拡張が
可能になるという効果がある。
モリとハードウェア割込み専用メモリとの両方に割込み
テーブルを設け、ハードウェア割込みの中で書換え保護
が必要なハードウェア割込みを他の割込み(書換え保護
が必要でないハードウェア割込みおよびソフトウェア割
込み)から独立させ、メモリ割込みテーブルコントロー
ラの制御によって書換え保護が必要なハードウェア割込
みと他のハードウェア割込みとを適切に切り換えること
により、メインメモリ上に割込みテーブルを2つ持った
ように見せかけることができ、割込みテーブルの拡張が
可能になるという効果がある。
【0047】また、保護対象ハードウェア割込み設定手
段を設けること等により、書換え保護が必要なハードウ
ェア割込みを選択的にあらかじめ設定することができ、
書換え保護が必要なハードウェア割込みとして設定され
たハードウェア割込みに関する割込みテーブルの再設定
を制限することが可能になり(書換え保護が必要なハー
ドウェア割込みとして設定されたハードウェア割込みに
ついては書換え保護が確実に保証される)、割込みテー
ブルの保護を実現することができるという効果がある。
段を設けること等により、書換え保護が必要なハードウ
ェア割込みを選択的にあらかじめ設定することができ、
書換え保護が必要なハードウェア割込みとして設定され
たハードウェア割込みに関する割込みテーブルの再設定
を制限することが可能になり(書換え保護が必要なハー
ドウェア割込みとして設定されたハードウェア割込みに
ついては書換え保護が確実に保証される)、割込みテー
ブルの保護を実現することができるという効果がある。
【図1】本発明の一実施例の構成を示すブロック図であ
る。
る。
【図2】図1に示す割込みテーブル拡張・保護方式の処
理を示す流れ図である。
理を示す流れ図である。
1 メモリ割込みテーブルコントローラ 2 記憶素子 3 CPU 4 割込みコントローラ 5 3ステートバッファ 21 メインメモリ 22 割込みテーブル用SRAM 101 割込み入力回路 102 コンペア回路 103 3ステートバッファ 104 アドレス生成回路 105 選択レジスタ 106 構成レジスタ 107 レジスタ設定回路 108 設定許可回路 109 割込みサイクル検出回路 110 メモリ制御ブロック 111 メモリマッピング回路
Claims (1)
- 【請求項1】 メインメモリ上に割込みテーブルを有
し、ハードウェア割込みに対する制御を行う割込みコン
トローラを有し、割込みベクタに基づいてハードウェア
割込みに対する割込み処理を行うコンピュータシステム
において、 メインメモリ以外のメモリであり、書換え保護が必要な
ハードウェア割込みに対する割込みテーブルを内蔵する
ハードウェア割込み専用メモリと、 書換え保護が必要なハードウェア割込みを示す情報を設
定し、当該ハードウェア割込みに関する割込みテーブル
を前記ハードウェア割込み専用メモリに設定し、当該設
定に関する再設定を制限する保護対象ハードウェア割込
み設定手段と、 ハードウェア割込みの発生時にメインメモリ上の割込み
テーブルを参照すべきか前記ハードウェア割込み専用メ
モリ上の割込みテーブルを参照すべきかを前記保護対象
ハードウェア割込み設定手段による設定に基づいて判定
する割込みテーブル判定手段と、 この割込みテーブル判定手段により前記ハードウェア割
込み専用メモリ上の割込みテーブルを参照すべきと判定
された場合に、発生したハードウェア割込みに対応する
前記ハードウェア割込み専用メモリ上の割込みテーブル
におけるアドレスを生成するアドレス生成手段と、 前記割込みテーブル判定手段により前記ハードウェア割
込み専用メモリ上の割込みテーブルを参照すべきと判定
された場合に、前記ハードウェア割込み専用メモリをメ
インメモリにマッピングし、前記アドレス生成手段によ
り生成されたアドレスによって特定される前記ハードウ
ェア割込み専用メモリ上の割込みテーブルの領域からの
CPUによるデータの読出しを制御するマッピング手段
とを有することを特徴とする割込みテーブル拡張・保護
方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3332482A JPH05143365A (ja) | 1991-11-21 | 1991-11-21 | 割込みテーブル拡張・保護方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3332482A JPH05143365A (ja) | 1991-11-21 | 1991-11-21 | 割込みテーブル拡張・保護方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05143365A true JPH05143365A (ja) | 1993-06-11 |
Family
ID=18255454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3332482A Pending JPH05143365A (ja) | 1991-11-21 | 1991-11-21 | 割込みテーブル拡張・保護方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05143365A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006164284A (ja) * | 2004-12-08 | 2006-06-22 | Hewlett-Packard Development Co Lp | トラップモードレジスタ |
JP2019164472A (ja) * | 2018-03-19 | 2019-09-26 | 株式会社東芝 | 半導体装置 |
-
1991
- 1991-11-21 JP JP3332482A patent/JPH05143365A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006164284A (ja) * | 2004-12-08 | 2006-06-22 | Hewlett-Packard Development Co Lp | トラップモードレジスタ |
JP2019164472A (ja) * | 2018-03-19 | 2019-09-26 | 株式会社東芝 | 半導体装置 |
CN110287057A (zh) * | 2018-03-19 | 2019-09-27 | 株式会社东芝 | 半导体装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5305460A (en) | Data processor | |
US7367062B2 (en) | Method for BIOS security of computer system | |
KR850001574A (ko) | 이중 연산처리 장치 구비형 데이타 처리 시스템 | |
EP0443557B1 (en) | Interrupt controller capable of realizing interrupt nesting function | |
JP3226055B2 (ja) | 情報処理装置 | |
JPS58139400A (ja) | デ−タの取出防止制御機構 | |
JPH05143365A (ja) | 割込みテーブル拡張・保護方式 | |
KR100525537B1 (ko) | 인터럽트를 이용한 응용 프로그램의 에러검출장치 및 방법. | |
US20030018842A1 (en) | Interrupt controller | |
JP3205841B2 (ja) | データ処理装置 | |
JP2504515B2 (ja) | テスト・チャネル命令の実行制御方式 | |
JPH02183342A (ja) | 割込み制御装置 | |
JPH0782447B2 (ja) | Dmaデータ転送制御装置 | |
JP2002091826A (ja) | 情報処理装置 | |
JPH0561693A (ja) | 電子計算機 | |
JPH0391055A (ja) | ハードウエアロックのセット方法、ハードウエアロック制御装置、ハードウエアロックの検出方法と装置 | |
JPS63120336A (ja) | メモリアクセスモ−ド切替え方式 | |
JP2003345515A (ja) | ディスク制御装置、ストレージシステム、及びその制御方法 | |
JPH07114479A (ja) | 割り込み制御方式 | |
JPH0683640A (ja) | 割込応答処理方式 | |
JPS63180171A (ja) | 情報処理装置 | |
JPH0378052A (ja) | 仮想記憶管理方式 | |
JPH04260144A (ja) | バンク切替方式のメモリアクセス方法 | |
JPS6073761A (ja) | 記憶保護装置 | |
JPH05298118A (ja) | 割込み制御回路 |