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
Application number
JP63004599A
Other languages
English (en)
Inventor
Shigeru Komine
小峯 繁
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP63004599A priority Critical patent/JPH01180656A/ja
Publication of JPH01180656A publication Critical patent/JPH01180656A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

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

Description

【発明の詳細な説明】 【産業上の利用分野】
この発明は電子計算機のメモリ保護装置、特にメモリ管
理機構を持たないマイクロプロセッサを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等を用いる方法もある。
【発明が解決しようとする問題点】
しかしながら、前記の方法は書込み可能領域としてのj
/□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ものとす
る。
【作 用】 この発明は、書込み禁止領域を設定するための下限アド
レス設定レジスタと上限アドレス設定レジスタとを設け
、前記両しジスダと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機器の異常動作
を防ぐことができる。
【図面の簡単な説明】
第1図は本発明の一実施例としての不正書込検出部の構
成を示すブロック図、第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. 【特許請求の範囲】 1)オペレーティング・システムによりマルチタスク処
    理を行い、かつ前記タスクはこのオペレーティング・シ
    ステムを介してi/Oアクセスを行うように構成された
    電子計算機システムにおいて、前記マルチタスク処理の
    開始時点、処理対象タスクの切換え時点、または処理中
    のタスクのi/Oアクセス時点において、前記オペレー
    ティング・システムによって設定されるアドレス値であ
    って、現に実行しようとするタスク、またはアクセスし
    ようとするi/Oについてのアドレスの上限値および下
    限値(以下それぞれ上限アドレス設定値および下限アド
    レス設定値という)をそれぞれ設定される上限アドレス
    設定レジスタおよび下限アドレス設定レジスタと、 アドレスバス上に出力されるアドレス値が、前記上限ア
    ドレス設定レジスタおよび下限アドレス設定レジスタを
    それぞれアクセスするアドレス値で無く、かつ前記上限
    アドレス設定値または下限アドレス設定値のいずれかを
    越えるものであり、さらにこのとき同時に制御バス上に
    書込信号が出力されていることを検出して異常警報信号
    を出力する不正書込検出手段と、を備えたことを特徴と
    するメモリ保護装置。
JP63004599A 1988-01-12 1988-01-12 メモリ保護装置 Pending JPH01180656A (ja)

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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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) メモリ誤書き込み防止装置