JPS60198648A - 命令コ−ドフエツチアドレス検証装置 - Google Patents

命令コ−ドフエツチアドレス検証装置

Info

Publication number
JPS60198648A
JPS60198648A JP59054249A JP5424984A JPS60198648A JP S60198648 A JPS60198648 A JP S60198648A JP 59054249 A JP59054249 A JP 59054249A JP 5424984 A JP5424984 A JP 5424984A JP S60198648 A JPS60198648 A JP S60198648A
Authority
JP
Japan
Prior art keywords
address
instruction code
program
correct
runaway
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
JP59054249A
Other languages
English (en)
Inventor
Kimihiko Mitsubori
三堀 公彦
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59054249A priority Critical patent/JPS60198648A/ja
Publication of JPS60198648A publication Critical patent/JPS60198648A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、マイクロコンピュータのようなシステム破懐
に対して無防備なコンピュータの暴走を制御するのに適
した装置に関する。
〔発明の背景〕
従来のコンピュータは、暴走に対してアドレスエラー、
バスエラー、ページエラー、セグメントエラーなどのよ
うなレベルでの捉え方しか出来ず、あるアドレスがアク
セスされるとき、そのアドレスがプログラムを暴走させ
てしまう恐れがあるか否かを判断できなかった。
プログラムカウンタが狂う場合(たとえば、スタックオ
ーバ70−など)は、はとんど脈絡のないアドレスに飛
ぶ。このようにプログラムが暴走した場合、そのプログ
ラムは自分自身を壊すだけでなく、他のプログラムやデ
ータをも壊してしまい、被害が膨大なものになる危険性
をはらんでいる。その原・因は、はとんどはプログラム
のロジックミスであり、そのパターンもさまざまである
ため、この種の暴走の原因を皆無にすることは不可能と
考えられる0 〔発明の目的〕 本発明の目的は、プログラムが命令コードt−7エツチ
しようとしたときに、そのフェッチアドレスが不当でな
いか、少なくとも上記の如き膨大な被害を生ずるような
暴走の原因とならないか否かを、検証する装置を提供す
ることにある〇〔発明の概要〕 上記目的を達成するために本発明においては、言語処理
システムが作成した論理的に正しいアドレス集合のデー
タベース即ち許容可アドレステーブルと、このテーブル
の中の値とフェッチしようとしている命令コードのアド
レスとを比較するととくよって、アドレスバス上のアド
レスが正しい動作によつて生じたものであるか否かを判
定する回路とを設けることKした。論理的に正しいアト
レースとは、換言すれば脈絡のあるアドレスとでも言う
べきものである。上述の許容可(アクセプタプルacc
eptable ) アドレステーブルは、そのプログ
ラムで実際の仕事を実行する前に、あらかじめ作成して
おくものとする。フェッチしようとする命令コードのア
ドレスが此のテーブル内のアドレスに一致しなければ、
「暴走」の原因となシ得るアドレスとみなして、システ
ムに制御を戻すことKする。このようにしてプログラム
カウンタが意図しない場所に飛ぶことを防ぐことが出来
る。
なお、本発明装置に適した処理言語は、フォートラン、
コボルなど所謂コンパイラ方式の高級言語が良いっ 〔発明の実施例〕 以下、第1〜5図を用いて本発明を更に詳細に説明する
li1図にユーザ作成のFOM氾Wプログラムを示す。
このプログラムでは、処理は■→■→■→■→■→■と
いう流れで進む。処理が■から■へ飛ぶようなことはな
い。つまシ、このようなケースは「暴走」と見なすこと
が出来る。そこで、第2図に示すような、前回の実行ス
テップとして許される文を羅列したテーブルを作成する
。図中、■の列に■、■、■とあるのは■、■、■の処
理の後、■が実行され得ることを示している。逆に、■
、■、■以外からは■に処理が移らないことを意味して
いるり このような情報をロードモジニールに展開する0つまシ
、各アドレスについてのアクセプタプルアドレステーブ
ルを作成し、ロードモジュールの付与情報とする。この
テーブルは、上述の如く、実行に先立ち、あらかじめ作
成しておくものとするり 第3図は本発明実施例の概略説明図で、1はCPU、2
は本発明に係るアクセプタプルアドレス判定回路、3は
本発明に係るアクセプタプルアドレステ−ブル、4は前
サイクルでの命令コード7エツチアドレスを記憶するメ
モリ、5は実メモリ、6はアドレスバス、7はデータバ
スである。図中の信号線の傍らに付けた符号は、CLK
は命令コード7エツチ用のアドレスがアドレスバス上に
あること@、LOGERRは命令コードフェッチ用アド
レスが不当である。(LOGICAL E川(ORであ
る)ことを、ENCPUはフェッチしようとする命令コ
ードは暴走の原因となる恐れはないから命令コードフェ
ッチ許可(FRABLE CPU) を与えること@、
NEXTは次のアクセプタプル(−となるべき)アドレ
ス並びに前回の命令コード7エツチアドレスの入力を要
求すること=2、RBQADCHKはアクセプタプルア
ドレス判定回路に対し判定を要求すること(凝り用ST
 ADD期8B側にK)を示すものである。プログラム
ロード時には、プロゲラA:l−)’カ!メモリ5に、
付与情報はアクセプタプルアドレステーブル3にp−ド
される。そして命令コードは第4図に示すようなフェッ
チサイクルでメモリからロードされて実行すれる。アク
セプタプルアドレス判定回路2は、今フェッチしようと
しているアドレスが正しい(暴走を生じない)ものであ
るかどうかを第5図に示すフ四−チヤードの如く判定す
る。そして、正しいアドレスであれば、CPU1に命令
コードの7エツチ許可が与えられ、処理は続行される。
アクセプタプルアドレステーブル3中のアドレスと一致
しなければ、四ジカルエラ−(LOGBRR)としてシ
ステムに戻す。このようにしてプログラムカウンタの暴
走は防止することが出来る。
〔発明の効果〕
以上i1i!Mし喪ように本発明によれば、プログラム
の暴走によるデータの破壊、プログラム破壊が防止され
、また、ユーザプログラムが中断されるため、暴走直前
の状態を知ることが出来るし、CPUが暴走によ少時間
を取られることもなく、コンピュータの信頼性が一層高
まる。
【図面の簡単な説明】
第1図はユーザの作成するFOR,TRANプログラム
の例を示す図、第2図は第1図に示したプログラムに対
するアクセプタプルアドレステーブルを示す図、第3図
は本発明一実施例の概略説明図、第4図はCPUの命令
コードフェッチフローを示すフローチャート、第5図は
アクセプタプルアドレス判定回路の処理フローを示すフ
ローチャートである。 1・・・CPU、2・・・アクセプタプルアドレス判定
回路、3・・・アクセプタプルアドレステーブル、4・
・・前回のサイクルでの命令コード7エツチアドレスを
記憶するメモリ、5・・・実メモリ、6・・・アドレス
バス、7・・・データバス、CLK・・・命令コードフ
ェッチ用アドレスがアドレスバス上にあることを示す信
号、LOGE几几・・・命令コード7エツチアドレスが
不当であることを示す信号、ENCPU・・・命令コー
ド7エツチ許可を与える信号、NEXT・・・アクセグ
タプルアドレス並びに前回の命令コード7エツチアドレ
スの入力要求信号。 閑1図 = IF (Bts)、CrT、2.0) Cr0丁ひ 2
0 @; 閉2図 NIL+、;i大行:!れるへ゛さで戸いステソア〒4
図 顎・呵M

Claims (1)

    【特許請求の範囲】
  1. 言語処理システムが作成した論理的に正しいアドレス集
    合のデータベース即ち許容可アドレステーブルと、この
    テーブルの中の値とフェッチしようとしている命令コー
    ドのアドレスとを比較することによって、アドレスバス
    上のアドレスが正しい動作によって生じたものであるか
    否かを判定する回路とを設けたことを特徴とする命令コ
    ードフェッチアドレス回路。
JP59054249A 1984-03-23 1984-03-23 命令コ−ドフエツチアドレス検証装置 Pending JPS60198648A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59054249A JPS60198648A (ja) 1984-03-23 1984-03-23 命令コ−ドフエツチアドレス検証装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59054249A JPS60198648A (ja) 1984-03-23 1984-03-23 命令コ−ドフエツチアドレス検証装置

Publications (1)

Publication Number Publication Date
JPS60198648A true JPS60198648A (ja) 1985-10-08

Family

ID=12965272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59054249A Pending JPS60198648A (ja) 1984-03-23 1984-03-23 命令コ−ドフエツチアドレス検証装置

Country Status (1)

Country Link
JP (1) JPS60198648A (ja)

Similar Documents

Publication Publication Date Title
US7047401B2 (en) Handling interrupts during multiple access program instructions
US4961161A (en) Arithmetic processor performing mask and trap operations for exceptions
JP2000513471A (ja) コンピュータシステムのi/oアドレス空間にマップされたレジスタへのアクセスを制御するためのシステム
JP2006012170A (ja) ユーザ・モード・プロセスが特権実行モードで動作することを可能にする方法
US10915402B2 (en) Software fault monitoring
JP2005316599A (ja) 割込制御装置
US6721878B1 (en) Low-latency interrupt handling during memory access delay periods in microprocessors
JPS60198648A (ja) 命令コ−ドフエツチアドレス検証装置
JPH11316695A (ja) ス―パ―スカラ―マイクロプロセッサ―の停止点インタ―ラプト発生装置
JP2707958B2 (ja) キャッシュ一致処理制御装置
US20090158267A1 (en) System and method for inserting authorized code into a program
JPS62160554A (ja) メモリの不正アクセス防止装置
JPH0133856B2 (ja)
JPS6158054A (ja) プログラムの暴走検出方式
JPS5955546A (ja) フア−ムウエア処理装置
JP2759952B2 (ja) キャッシュメモリ
JPH0258648B2 (ja)
JP3616588B2 (ja) マイクロプログラムチェックシステム
JPS62212733A (ja) スタツク領域オ−バフロ−検出機構
JPS6074023A (ja) 変数チエツク方式
JPH0635716A (ja) マイクロプロセッサ
JPH01318128A (ja) キャッシュ・エラー処理方式
JPH0555905B2 (ja)
JPH04205144A (ja) マイクロプロセッサ
JPS62276634A (ja) 仮想計算機システム