JPH01180656A - メモリ保護装置 - Google Patents
メモリ保護装置Info
- Publication number
- JPH01180656A JPH01180656A JP63004599A JP459988A JPH01180656A JP H01180656 A JPH01180656 A JP H01180656A JP 63004599 A JP63004599 A JP 63004599A JP 459988 A JP459988 A JP 459988A JP H01180656 A JPH01180656 A JP H01180656A
- Authority
- JP
- Japan
- Prior art keywords
- address
- task
- area
- lower limit
- address 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
- 238000001514 detection method Methods 0.000 claims description 13
- 230000005856 abnormality Effects 0.000 claims 1
- 230000002401 inhibitory effect Effects 0.000 abstract 4
- 238000000034 method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- TYMMXVZAUGQKRF-UHFFFAOYSA-N (3-bromo-2,5-dimethoxy-7-bicyclo[4.2.0]octa-1(6),2,4-trienyl)methanamine;hydrobromide Chemical compound Br.COC1=CC(Br)=C(OC)C2=C1C(CN)C2 TYMMXVZAUGQKRF-UHFFFAOYSA-N 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 101100098971 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) TCB2 gene Proteins 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
この発明は電子計算機のメモリ保護装置、特にメモリ管
理機構を持たないマイクロプロセッサをCPUとし、マ
ルチタスク処理(即ち複数タスクの並列処理)を行う電
子計算機のメモリ保護装置に関する。 なお以下各図において同一の符号は同一もしくは相当部
分を示す。また論理もしくはレベルHigh、Lowは
単にH,Lと記すものとする。
理機構を持たないマイクロプロセッサをCPUとし、マ
ルチタスク処理(即ち複数タスクの並列処理)を行う電
子計算機のメモリ保護装置に関する。 なお以下各図において同一の符号は同一もしくは相当部
分を示す。また論理もしくはレベルHigh、Lowは
単にH,Lと記すものとする。
メモリ管理機構を持たないマイクロプロセッサをCPU
として用いた電子計算機においては、プログラムの誤り
(バグ)等によりCPUが暴走した場合、あるいはプロ
グラムの誤りそのものにより、不正なアドレスに対して
データの書込みをしてしまうことがある。このような場
合、プログラムが破壊されたりi / 0機器が異常動
作したりしてしまう。 このような不正な書込みに対してメモリを保護する方法
として、メモリ空間を書込み可能な領域と書込み不可能
な領域とに予め設定しておき、書込み不可能な領域に書
込みが行われた場合に、ハードウェア的にこの不正な書
込みを検出し、割込みによりCPUに知らせるという方
法がある。 例えば第3図のようなメモリマツプを持つ電子計算機に
おいてRA M 81域1およびi / O領域3は書
込み可能であり、未実装領域2およびROM領域4は書
込み禁止であると考える。 このような場合、書込み禁止領域への書込み動作を検出
するために、第4図(a)のようにアドレスバスABの
上位側の一部の信号線6と、書込信号7とをアドレスデ
コード回路8によってデコードし、不正なアドレスに対
する書込みに対して割込出力9に有効にし、図外のCP
Uに割込みをかけるという方法が知られている。また第
4図Φ)のようにアドレスデコード回路8と同等の回路
としてROMl0等を用いる方法もある。
として用いた電子計算機においては、プログラムの誤り
(バグ)等によりCPUが暴走した場合、あるいはプロ
グラムの誤りそのものにより、不正なアドレスに対して
データの書込みをしてしまうことがある。このような場
合、プログラムが破壊されたりi / 0機器が異常動
作したりしてしまう。 このような不正な書込みに対してメモリを保護する方法
として、メモリ空間を書込み可能な領域と書込み不可能
な領域とに予め設定しておき、書込み不可能な領域に書
込みが行われた場合に、ハードウェア的にこの不正な書
込みを検出し、割込みによりCPUに知らせるという方
法がある。 例えば第3図のようなメモリマツプを持つ電子計算機に
おいてRA M 81域1およびi / O領域3は書
込み可能であり、未実装領域2およびROM領域4は書
込み禁止であると考える。 このような場合、書込み禁止領域への書込み動作を検出
するために、第4図(a)のようにアドレスバスABの
上位側の一部の信号線6と、書込信号7とをアドレスデ
コード回路8によってデコードし、不正なアドレスに対
する書込みに対して割込出力9に有効にし、図外のCP
Uに割込みをかけるという方法が知られている。また第
4図Φ)のようにアドレスデコード回路8と同等の回路
としてROMl0等を用いる方法もある。
しかしながら、前記の方法は書込み可能領域としてのj
/□g域3に対して何も保護がなされていないため、例
えばプリンタ装置に異常なデータが出力されてしまうこ
とを防ぐことができないという問題点がある。 また、マルチタスク処理を行うシステムにおいては、R
AM領域1に複数のプログラム(タスク)が同時に存在
するが、従来の方法では各タスクのメモリ領域は全て書
込み可能であるため、あるタスクが他のタスクのメモリ
領域に対して不当な書込みを行うのを防ぐことができな
いという問題点が存在する。 そこで本発明の目的は、ilo 領域への不正な書込み
を防ぐことができ、しかもマルチタスク処理においであ
るタスクの他のタスクのメモリ領域に対する不正な書込
みを防ぐことができる手段を備えたメモリ保護装置を提
供することにある。
/□g域3に対して何も保護がなされていないため、例
えばプリンタ装置に異常なデータが出力されてしまうこ
とを防ぐことができないという問題点がある。 また、マルチタスク処理を行うシステムにおいては、R
AM領域1に複数のプログラム(タスク)が同時に存在
するが、従来の方法では各タスクのメモリ領域は全て書
込み可能であるため、あるタスクが他のタスクのメモリ
領域に対して不当な書込みを行うのを防ぐことができな
いという問題点が存在する。 そこで本発明の目的は、ilo 領域への不正な書込み
を防ぐことができ、しかもマルチタスク処理においであ
るタスクの他のタスクのメモリ領域に対する不正な書込
みを防ぐことができる手段を備えたメモリ保護装置を提
供することにある。
前記の目的を達成するために本発明の装置はrオペレー
ティング・システムによりマルチタスク処理を行い、か
つ前記タスクはこのオペレーティング・システムを介し
てi / Oアクセスを行うように構成された電子計算
機システムにおいて、前記マルチタスク処理の開始時点
、処理対象タスクの切換え時点、または処理中のタスク
のi/Oアクセス時点において、前記オペレーティング
・システムによって設定されるアドレス値であって、現
に実行しようとするタスク、またはアクセスしようとす
るi / Oについてのアドレスの上限値および下Il
l値(以下それぞれ上限アドレス設定値(28など)お
よび下限アドレス設定値(27など)という)をそれぞ
れ設定される上限アドレス設定レジスタ(19など)お
よび下限アドレス設定レジスタ(18など)と、 アドレスバス(ABなど)上に出力されるアドレス値が
、前記上限アドレス設定値レジスタおよび下限アドレス
設定値レジスタをそれぞれアクセスするアドレス値で無
く、かつ前記上限アドレス設定値または下限アドレス設
定値のいずれかを越えるものであり、さらにこのとき同
時に制御バス上に書込信号が出力されていることを検出
して異常警報信号(不正書込検出出力9Aなど)を出力
する不正書込検出手段(アドレスデコード回路21゜下
限アドレスコンパレータ22.上限アドレスコンパレー
タ23.ORゲート31.タイミングコントロール回路
20.ANDゲート35など)と、を備えたJものとす
る。
ティング・システムによりマルチタスク処理を行い、か
つ前記タスクはこのオペレーティング・システムを介し
てi / Oアクセスを行うように構成された電子計算
機システムにおいて、前記マルチタスク処理の開始時点
、処理対象タスクの切換え時点、または処理中のタスク
のi/Oアクセス時点において、前記オペレーティング
・システムによって設定されるアドレス値であって、現
に実行しようとするタスク、またはアクセスしようとす
るi / Oについてのアドレスの上限値および下Il
l値(以下それぞれ上限アドレス設定値(28など)お
よび下限アドレス設定値(27など)という)をそれぞ
れ設定される上限アドレス設定レジスタ(19など)お
よび下限アドレス設定レジスタ(18など)と、 アドレスバス(ABなど)上に出力されるアドレス値が
、前記上限アドレス設定値レジスタおよび下限アドレス
設定値レジスタをそれぞれアクセスするアドレス値で無
く、かつ前記上限アドレス設定値または下限アドレス設
定値のいずれかを越えるものであり、さらにこのとき同
時に制御バス上に書込信号が出力されていることを検出
して異常警報信号(不正書込検出出力9Aなど)を出力
する不正書込検出手段(アドレスデコード回路21゜下
限アドレスコンパレータ22.上限アドレスコンパレー
タ23.ORゲート31.タイミングコントロール回路
20.ANDゲート35など)と、を備えたJものとす
る。
【作 用】
この発明は、書込み禁止領域を設定するための下限アド
レス設定レジスタと上限アドレス設定レジスタとを設け
、前記両しジスダとCPUより出力されるアドレスとを
下限アドレスコンパレータおよび上限アドレスコンパレ
ータによって比較することにより書込み禁止領域への書
込みを検出し、前記下限および上限アドレス設定レジス
タの内容。 すなわち書込み禁止領域を、O3(オペレーティング・
システム)によってタスクごとに動的に変更することに
よって、あるタスクが他のタスクのメモリ領域やi /
O領域に対して不正な書込みを行うのを防ぐようにし
たものである。 ■実施例】 第2図は本発明による電子計算機の構成を示す。 同図においてCPU部11はマイクロプロセッサおよび
クロックジェネレータ、バスコントローラ。 バスバッファ等の周辺回路からなり、この部分11はメ
モリ管理機構を持っていない。CPU部11よリアドレ
スバスAB、データバスDB、制御lバスCBからなる
主バスMBを介して、メモリ部12゜i / 0部13
.不正書込検出部14が接続されている。 メモリ部12はRAM、ROM、制御回路等から成り、
1/O部13はi/O制御回路等から成る。1/O部1
3はi / Oバス17を介してi/O装置15と接続
されている。 次に不正書込検出部14の構成を第1図に示す。 マルチタスク用を行う電子計算機システムにおいては、
O3(オペレーティング・システム)がタスク管理やi
/ O管理等を全て行う。アプリケーション・プログ
ラム、従ってタスクからはi/O装置との直接のやりと
りは行わず、O3にi/O装置15とのやりとりを依願
する。 マルチタスク用O5は各タスクの実行状況を記憶してお
く領域を持っている。この記憶領域は通常TCB (T
ask Control Block)と呼ばれ、
各々のタスクが実行中断された場合のレジスタ値などが
格納されている。 本発明においては各タスクごとに、そのタスクのメモリ
領域の下限(最低位)アドレスと上限(最高位)アドレ
スとを考える。各タスクごとの下限アドレス、上限アド
レスが実際に決定するのは、O8が補助記憶装置(ハー
ドディスク、フロッピーディスク等)からプログラム(
ロードモジュール)をロードするときであるが、この際
にO3は各タスクごとのTCBの中に、そのタスクのメ
モリ領域の下限アドレスと上限アドレスとを格納するも
のとする。 O3は各タスク切換え時に、現在実行中のタスク(タス
ク1とする)のレジスタ値をタスク1のTCB (TC
B 1)に格納し、これから実行しようとするタスク(
タスク2)のレジスタ値をタスク2のTCB (TCB
2)よりロードする。さらにTCB2中のタスク2の下
限アドレスを下限アドレス設定レジスタ18に設定し、
タスク2の上限アドレスを上限アドレス設定レジスタ1
9に設定する。このようにして下限アドレス設定レジス
タ18゜上限アドレス設定レジスタ19には、それぞれ
現在実行中のタスクの下限アドレス、上限アドレスが設
定されることになる。 そしてCPUが現在、アドレスバスABに出力している
アドレスと、下限アドレス設定レジスタ18への設定値
27とを下限アドレスコンパレータ22により、また同
じく前記アドレスと上限アドレス設定レジスタ19への
設定値28とを上限アドレスコンパレータ23により、
それぞれ比較する。 従ってもしCPUが現在実行中のタスクのアト5レス領
域より低位のアドレスにアクセスした場合。 すなわち下限アドレス設定値27よりアドレスバスAB
に出力されているアドレス値が小さい場合には下限アド
レスコンパレータ22の比較出力29はHレベルになり
、この比較出力29を入力信号とするORゲート31の
出力32もHレベルになる。同様にCPUが現在実行中
のタスクのアドレス領域より高位のアドレスにアクセス
した場合、すなわち上限アドレス設定値28よりアドレ
スバスABに出力されているアドレス値が大きい場合に
も上限アト −レスコンパレータ23の比較出力
30はHレベルになり、この比較出力30をも入力信号
とする前記ORゲート31の出力もHレベルになる。 つまりORゲート31の出力32は、上限および下限ア
ドレス設定レジスタ18.19により定められる。 現在実行中のタスクのメモリ領域以外のアドレスをCP
UがアドレスバスABに出力した場合にHレベルになる
。 しかしCPUは常に有効なアドレスをアドレスバスAB
に出力しているわけではなく、あるアドレスから別のア
ドレスに切換ねる場合や、バスアクセスを行わない場合
などにアドレスバスABに出力されるアドレスは不定と
なる。 またタスク切換えは割込みによりタスクからO3に制御
が移ることによりO8によって行われる。 従ってこのとき割込みベクタ領域やO3の命令コード領
域のアドレスがアドレスバスAB上に出力されるが、こ
のこのアドレスは不当なアドレスとしなければならない
。つまり、あるタスクの領域以外書込みは禁止するが、
読出しは自由に行えるものとする。読出しによりメモリ
内容が破壊されることはないので、メモリ保護のために
は書込みのみ禁止すればよい。 そこでタイミングコントロール回路20は、CPUが書
込み動作を行う場合で、しかもアドレスが確実に有効で
あるタイミングでのみその出力信号(タイミングコント
ロール信号)33がHレベルになるようにする。これに
よってアドレスが不定の期間や、読出し動作の場合に誤
った割込信号としての不定書込検出出力9AがANDゲ
ート35からCPUに入るのを防ぐ。 先に述べたようにマルチタスクシステムではi/Oアク
セスはO3を通して行われる。特に本方式においてはア
プリケーションプログラムがi/O領域に直接書込みを
行うことは不可能であるようにする。なぜならi /
Oのアドレスはタスクのアドレス領域の外側にあり、タ
スクのアドレス領域のみが書込み可能な領域であるから
である。アプリケーションプログラムはi/Oアクセス
を行う場合、割込みまたはCALL命令によってO3に
制御を移す。このとき割込みベクタやO3の命令コード
領域は書込み禁止ではあるが、読出しは可能であるので
O8に制御を移しO8の命令コードをCPUが実行する
ことが可能である。O3は上限および下限アドレス設定
レジスタ18.19に値を設定し直し、i / Oアド
レス領域に書込むことが可能なようにしてからi /
Oアドレスへのアクセスを行う。 ところが上限および下限アドレス設定レジスタ18、1
9をアクセスするためのアドレス値もt/Oアドレスに
割付けられているので、このままでは両レジスタに書込
みを行うことができない。従って下限および上限アドレ
ス設定レジスタ18.19へは両レジスタのアドレス値
にかかわらず、すなわち現在の書込み可能領域にかかわ
らず、常に書込み可能でなければならない。そこで常に
この両レジスタ18.19への書込みを可能とするのが
アドレスデコード回路21で、その出力信号(アドレス
デコード信号)34はアドレスバスABの値が下限また
は上限アドレス設定レジスタ18.19をアクセスする
アドレス値である場合のみLレベルとなり、それ以外の
場合はHレベルとなる。これにより下限または上限アド
レス設定レジスタ18.19へのアドレス設定値27ま
たは28の書込みの際は、不正書込検出部14の検出出
力、つまりANDゲート35からの不正書込検出出力舞
が有効にならず、両レジスタ18.19へは常に書込み
可能となる。 以上よりCPUがアドレスバスABに出力するアドレス
が、下限および上限アドレス設定レジスタ18.19に
より規定される書込み可能な領域にあるか、または下限
、上限アドレス設定レジスタ18゜19への書込みのた
めの(つまり該レジスタ18.19をアクセスする)ア
ドレスであるかでなければ、不正書込検出出力9AはH
レベルとなる。この出力9AをCPU割込信号として入
力することにより、CPUは不正な書込みを検知できる
。 なお、下限、上限アドレス設定レジスタ18.19へは
常に書込み可能であるが、不正な書込みにより偶然これ
らのレジスタに何らかの値を書込み、しかも次のどこか
のアドレスに対する書込みで割込みが起らないという確
率は非常に低い。 O3は不正書込検出出力9八がHレベルとなり。 割込みとしてCPUに入力されることによりエラー処理
ルーチンに入り、エラーメツセージの出力。 異常動作したタスクの実行停止、場合によってはシステ
ム全体の停止等の処理を行う。
レス設定レジスタと上限アドレス設定レジスタとを設け
、前記両しジスダとCPUより出力されるアドレスとを
下限アドレスコンパレータおよび上限アドレスコンパレ
ータによって比較することにより書込み禁止領域への書
込みを検出し、前記下限および上限アドレス設定レジス
タの内容。 すなわち書込み禁止領域を、O3(オペレーティング・
システム)によってタスクごとに動的に変更することに
よって、あるタスクが他のタスクのメモリ領域やi /
O領域に対して不正な書込みを行うのを防ぐようにし
たものである。 ■実施例】 第2図は本発明による電子計算機の構成を示す。 同図においてCPU部11はマイクロプロセッサおよび
クロックジェネレータ、バスコントローラ。 バスバッファ等の周辺回路からなり、この部分11はメ
モリ管理機構を持っていない。CPU部11よリアドレ
スバスAB、データバスDB、制御lバスCBからなる
主バスMBを介して、メモリ部12゜i / 0部13
.不正書込検出部14が接続されている。 メモリ部12はRAM、ROM、制御回路等から成り、
1/O部13はi/O制御回路等から成る。1/O部1
3はi / Oバス17を介してi/O装置15と接続
されている。 次に不正書込検出部14の構成を第1図に示す。 マルチタスク用を行う電子計算機システムにおいては、
O3(オペレーティング・システム)がタスク管理やi
/ O管理等を全て行う。アプリケーション・プログ
ラム、従ってタスクからはi/O装置との直接のやりと
りは行わず、O3にi/O装置15とのやりとりを依願
する。 マルチタスク用O5は各タスクの実行状況を記憶してお
く領域を持っている。この記憶領域は通常TCB (T
ask Control Block)と呼ばれ、
各々のタスクが実行中断された場合のレジスタ値などが
格納されている。 本発明においては各タスクごとに、そのタスクのメモリ
領域の下限(最低位)アドレスと上限(最高位)アドレ
スとを考える。各タスクごとの下限アドレス、上限アド
レスが実際に決定するのは、O8が補助記憶装置(ハー
ドディスク、フロッピーディスク等)からプログラム(
ロードモジュール)をロードするときであるが、この際
にO3は各タスクごとのTCBの中に、そのタスクのメ
モリ領域の下限アドレスと上限アドレスとを格納するも
のとする。 O3は各タスク切換え時に、現在実行中のタスク(タス
ク1とする)のレジスタ値をタスク1のTCB (TC
B 1)に格納し、これから実行しようとするタスク(
タスク2)のレジスタ値をタスク2のTCB (TCB
2)よりロードする。さらにTCB2中のタスク2の下
限アドレスを下限アドレス設定レジスタ18に設定し、
タスク2の上限アドレスを上限アドレス設定レジスタ1
9に設定する。このようにして下限アドレス設定レジス
タ18゜上限アドレス設定レジスタ19には、それぞれ
現在実行中のタスクの下限アドレス、上限アドレスが設
定されることになる。 そしてCPUが現在、アドレスバスABに出力している
アドレスと、下限アドレス設定レジスタ18への設定値
27とを下限アドレスコンパレータ22により、また同
じく前記アドレスと上限アドレス設定レジスタ19への
設定値28とを上限アドレスコンパレータ23により、
それぞれ比較する。 従ってもしCPUが現在実行中のタスクのアト5レス領
域より低位のアドレスにアクセスした場合。 すなわち下限アドレス設定値27よりアドレスバスAB
に出力されているアドレス値が小さい場合には下限アド
レスコンパレータ22の比較出力29はHレベルになり
、この比較出力29を入力信号とするORゲート31の
出力32もHレベルになる。同様にCPUが現在実行中
のタスクのアドレス領域より高位のアドレスにアクセス
した場合、すなわち上限アドレス設定値28よりアドレ
スバスABに出力されているアドレス値が大きい場合に
も上限アト −レスコンパレータ23の比較出力
30はHレベルになり、この比較出力30をも入力信号
とする前記ORゲート31の出力もHレベルになる。 つまりORゲート31の出力32は、上限および下限ア
ドレス設定レジスタ18.19により定められる。 現在実行中のタスクのメモリ領域以外のアドレスをCP
UがアドレスバスABに出力した場合にHレベルになる
。 しかしCPUは常に有効なアドレスをアドレスバスAB
に出力しているわけではなく、あるアドレスから別のア
ドレスに切換ねる場合や、バスアクセスを行わない場合
などにアドレスバスABに出力されるアドレスは不定と
なる。 またタスク切換えは割込みによりタスクからO3に制御
が移ることによりO8によって行われる。 従ってこのとき割込みベクタ領域やO3の命令コード領
域のアドレスがアドレスバスAB上に出力されるが、こ
のこのアドレスは不当なアドレスとしなければならない
。つまり、あるタスクの領域以外書込みは禁止するが、
読出しは自由に行えるものとする。読出しによりメモリ
内容が破壊されることはないので、メモリ保護のために
は書込みのみ禁止すればよい。 そこでタイミングコントロール回路20は、CPUが書
込み動作を行う場合で、しかもアドレスが確実に有効で
あるタイミングでのみその出力信号(タイミングコント
ロール信号)33がHレベルになるようにする。これに
よってアドレスが不定の期間や、読出し動作の場合に誤
った割込信号としての不定書込検出出力9AがANDゲ
ート35からCPUに入るのを防ぐ。 先に述べたようにマルチタスクシステムではi/Oアク
セスはO3を通して行われる。特に本方式においてはア
プリケーションプログラムがi/O領域に直接書込みを
行うことは不可能であるようにする。なぜならi /
Oのアドレスはタスクのアドレス領域の外側にあり、タ
スクのアドレス領域のみが書込み可能な領域であるから
である。アプリケーションプログラムはi/Oアクセス
を行う場合、割込みまたはCALL命令によってO3に
制御を移す。このとき割込みベクタやO3の命令コード
領域は書込み禁止ではあるが、読出しは可能であるので
O8に制御を移しO8の命令コードをCPUが実行する
ことが可能である。O3は上限および下限アドレス設定
レジスタ18.19に値を設定し直し、i / Oアド
レス領域に書込むことが可能なようにしてからi /
Oアドレスへのアクセスを行う。 ところが上限および下限アドレス設定レジスタ18、1
9をアクセスするためのアドレス値もt/Oアドレスに
割付けられているので、このままでは両レジスタに書込
みを行うことができない。従って下限および上限アドレ
ス設定レジスタ18.19へは両レジスタのアドレス値
にかかわらず、すなわち現在の書込み可能領域にかかわ
らず、常に書込み可能でなければならない。そこで常に
この両レジスタ18.19への書込みを可能とするのが
アドレスデコード回路21で、その出力信号(アドレス
デコード信号)34はアドレスバスABの値が下限また
は上限アドレス設定レジスタ18.19をアクセスする
アドレス値である場合のみLレベルとなり、それ以外の
場合はHレベルとなる。これにより下限または上限アド
レス設定レジスタ18.19へのアドレス設定値27ま
たは28の書込みの際は、不正書込検出部14の検出出
力、つまりANDゲート35からの不正書込検出出力舞
が有効にならず、両レジスタ18.19へは常に書込み
可能となる。 以上よりCPUがアドレスバスABに出力するアドレス
が、下限および上限アドレス設定レジスタ18.19に
より規定される書込み可能な領域にあるか、または下限
、上限アドレス設定レジスタ18゜19への書込みのた
めの(つまり該レジスタ18.19をアクセスする)ア
ドレスであるかでなければ、不正書込検出出力9AはH
レベルとなる。この出力9AをCPU割込信号として入
力することにより、CPUは不正な書込みを検知できる
。 なお、下限、上限アドレス設定レジスタ18.19へは
常に書込み可能であるが、不正な書込みにより偶然これ
らのレジスタに何らかの値を書込み、しかも次のどこか
のアドレスに対する書込みで割込みが起らないという確
率は非常に低い。 O3は不正書込検出出力9八がHレベルとなり。 割込みとしてCPUに入力されることによりエラー処理
ルーチンに入り、エラーメツセージの出力。 異常動作したタスクの実行停止、場合によってはシステ
ム全体の停止等の処理を行う。
この発明によれば、下限および上限アドレス設定レジス
タによって定まる書込み可能領域以外のメモリ領域は書
込み禁止とし、O3により前記両レジスタの値をタスク
切換え時に動的に書換え、実行中のタスクの領域のみを
書込み可能領域としたので他のタスクのメモリ領域の保
護を行うことができる。 また、i / OeI域への書込みはO5のみが行うこ
とができるようにしたので、i / 0機器の異常動作
を防ぐことができる。
タによって定まる書込み可能領域以外のメモリ領域は書
込み禁止とし、O3により前記両レジスタの値をタスク
切換え時に動的に書換え、実行中のタスクの領域のみを
書込み可能領域としたので他のタスクのメモリ領域の保
護を行うことができる。 また、i / OeI域への書込みはO5のみが行うこ
とができるようにしたので、i / 0機器の異常動作
を防ぐことができる。
第1図は本発明の一実施例としての不正書込検出部の構
成を示すブロック図、第2図は同じく電子計算機システ
ムの要部構成を示すブロック図、第3図は電子計算機シ
ステムのメモリマツプ例を示す図、第4図は従来のメモ
リ保護方式の要部構成を示すブロック図である。 11−CP U部、14−不正書込検出部、1計−千限
アドレス設定レジスタ、19−上限アドレス設定レジス
タ、20・−タイミングコントロール回路、21−・−
アドレスデコード回路、22・−下限アドレスコンパレ
ータ、23−・上限アドレスコンパレータ、31・−・
ORゲート、35−・ANDゲート、AB−アドレスバ
ス、DB・−・・データバス、CB−制御バス、9A−
不正書込検出出力。 第3囚
成を示すブロック図、第2図は同じく電子計算機システ
ムの要部構成を示すブロック図、第3図は電子計算機シ
ステムのメモリマツプ例を示す図、第4図は従来のメモ
リ保護方式の要部構成を示すブロック図である。 11−CP U部、14−不正書込検出部、1計−千限
アドレス設定レジスタ、19−上限アドレス設定レジス
タ、20・−タイミングコントロール回路、21−・−
アドレスデコード回路、22・−下限アドレスコンパレ
ータ、23−・上限アドレスコンパレータ、31・−・
ORゲート、35−・ANDゲート、AB−アドレスバ
ス、DB・−・・データバス、CB−制御バス、9A−
不正書込検出出力。 第3囚
Claims (1)
- 【特許請求の範囲】 1)オペレーティング・システムによりマルチタスク処
理を行い、かつ前記タスクはこのオペレーティング・シ
ステムを介してi/Oアクセスを行うように構成された
電子計算機システムにおいて、前記マルチタスク処理の
開始時点、処理対象タスクの切換え時点、または処理中
のタスクのi/Oアクセス時点において、前記オペレー
ティング・システムによって設定されるアドレス値であ
って、現に実行しようとするタスク、またはアクセスし
ようとするi/Oについてのアドレスの上限値および下
限値(以下それぞれ上限アドレス設定値および下限アド
レス設定値という)をそれぞれ設定される上限アドレス
設定レジスタおよび下限アドレス設定レジスタと、 アドレスバス上に出力されるアドレス値が、前記上限ア
ドレス設定レジスタおよび下限アドレス設定レジスタを
それぞれアクセスするアドレス値で無く、かつ前記上限
アドレス設定値または下限アドレス設定値のいずれかを
越えるものであり、さらにこのとき同時に制御バス上に
書込信号が出力されていることを検出して異常警報信号
を出力する不正書込検出手段と、を備えたことを特徴と
するメモリ保護装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63004599A JPH01180656A (ja) | 1988-01-12 | 1988-01-12 | メモリ保護装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63004599A JPH01180656A (ja) | 1988-01-12 | 1988-01-12 | メモリ保護装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01180656A true JPH01180656A (ja) | 1989-07-18 |
Family
ID=11588510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63004599A Pending JPH01180656A (ja) | 1988-01-12 | 1988-01-12 | メモリ保護装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01180656A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000034871A1 (fr) * | 1998-12-07 | 2000-06-15 | Sony Corporation | Ordinateur, support enregistre comportant un programme de verification de la validite des adresses et procede de verification de la validite des adresses |
US7213117B2 (en) | 2000-03-14 | 2007-05-01 | Sharp Kabushiki Kaisha | 1-chip microcomputer having controlled access to a memory and IC card using the 1-chip microcomputer |
-
1988
- 1988-01-12 JP JP63004599A patent/JPH01180656A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000034871A1 (fr) * | 1998-12-07 | 2000-06-15 | Sony Corporation | Ordinateur, support enregistre comportant un programme de verification de la validite des adresses et procede de verification de la validite des adresses |
US6832257B1 (en) | 1998-12-07 | 2004-12-14 | Sony Corporation | Computer, recorded medium on which address validity checking program is recorded, and address validity checking method |
JP4516693B2 (ja) * | 1998-12-07 | 2010-08-04 | アルボス テクノロジーズ リミテッド リミテッド ライアビリティ カンパニー | コンピュータ、アドレス有効性照合プログラムを記録した記録媒体、及びアドレス有効性照合方法 |
US7213117B2 (en) | 2000-03-14 | 2007-05-01 | Sharp Kabushiki Kaisha | 1-chip microcomputer having controlled access to a memory and IC card using the 1-chip microcomputer |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1153474A (en) | Hardware memory write lock circuit | |
US5860099A (en) | Stored program system with protected memory and secure signature extraction | |
US6631472B2 (en) | Kernel mode protection | |
US5305460A (en) | Data processor | |
US8234476B2 (en) | Information processing apparatus and method of updating stack pointer | |
US20050240701A1 (en) | Interrupt control apparatus | |
KR0138697B1 (ko) | 마이크로컴퓨터 | |
JPS59130000A (ja) | 仮想記憶装置保護方法 | |
US6920566B2 (en) | Secure system firmware by disabling read access to firmware ROM | |
CN112805710A (zh) | 验证堆栈指针 | |
JP3202497B2 (ja) | 情報処理装置 | |
JP4893427B2 (ja) | マイクロコンピュータシステム | |
US20020112203A1 (en) | Fault handling in a data processing system utilizing a fault vector pointer table | |
JPH01180656A (ja) | メモリ保護装置 | |
KR100327641B1 (ko) | 부정한기입으로부터메모리를보호하는메모리어드레스관리회로 | |
JP4340669B2 (ja) | 入出力制御装置,入出力制御方法,プロセス制御装置及びプロセス制御方法 | |
US20020112202A1 (en) | Fault vector pointer table | |
JPS6074059A (ja) | 記憶装置アクセス制御方式 | |
JPS63250753A (ja) | メモリアクセスチエツク方式 | |
JP4114004B2 (ja) | 半導体集積回路 | |
JPH0484224A (ja) | スタックエリア保護回路 | |
JPS61279940A (ja) | 計算機の異常検出装置 | |
JPH02282847A (ja) | パソコンにおけるメモリ保護方式 | |
JPS61279941A (ja) | 計算機の異常検出装置 | |
JPH03144751A (ja) | メモリ誤書き込み防止装置 |