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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
- G06F11/0763—Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0796—Safety 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する。このようにしてプログラム
カウンタが意図しない場所に飛ぶことを防ぐことが出来
る。
ーバ70−など)は、はとんど脈絡のないアドレスに飛
ぶ。このようにプログラムが暴走した場合、そのプログ
ラムは自分自身を壊すだけでなく、他のプログラムやデ
ータをも壊してしまい、被害が膨大なものになる危険性
をはらんでいる。その原・因は、はとんどはプログラム
のロジックミスであり、そのパターンもさまざまである
ため、この種の暴走の原因を皆無にすることは不可能と
考えられる0 〔発明の目的〕 本発明の目的は、プログラムが命令コードt−7エツチ
しようとしたときに、そのフェッチアドレスが不当でな
いか、少なくとも上記の如き膨大な被害を生ずるような
暴走の原因とならないか否かを、検証する装置を提供す
ることにある〇〔発明の概要〕 上記目的を達成するために本発明においては、言語処理
システムが作成した論理的に正しいアドレス集合のデー
タベース即ち許容可アドレステーブルと、このテーブル
の中の値とフェッチしようとしている命令コードのアド
レスとを比較するととくよって、アドレスバス上のアド
レスが正しい動作によつて生じたものであるか否かを判
定する回路とを設けることKした。論理的に正しいアト
レースとは、換言すれば脈絡のあるアドレスとでも言う
べきものである。上述の許容可(アクセプタプルacc
eptable ) アドレステーブルは、そのプログ
ラムで実際の仕事を実行する前に、あらかじめ作成して
おくものとする。フェッチしようとする命令コードのア
ドレスが此のテーブル内のアドレスに一致しなければ、
「暴走」の原因となシ得るアドレスとみなして、システ
ムに制御を戻すことKする。このようにしてプログラム
カウンタが意図しない場所に飛ぶことを防ぐことが出来
る。
なお、本発明装置に適した処理言語は、フォートラン、
コボルなど所謂コンパイラ方式の高級言語が良いっ 〔発明の実施例〕 以下、第1〜5図を用いて本発明を更に詳細に説明する
。
コボルなど所謂コンパイラ方式の高級言語が良いっ 〔発明の実施例〕 以下、第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エツチ許可が与えられ、処理は続行される。
いう流れで進む。処理が■から■へ飛ぶようなことはな
い。つまシ、このようなケースは「暴走」と見なすこと
が出来る。そこで、第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)としてシ
ステムに戻す。このようにしてプログラムカウンタの暴
走は防止することが出来る。
しなければ、四ジカルエラ−(LOGBRR)としてシ
ステムに戻す。このようにしてプログラムカウンタの暴
走は防止することが出来る。
以上i1i!Mし喪ように本発明によれば、プログラム
の暴走によるデータの破壊、プログラム破壊が防止され
、また、ユーザプログラムが中断されるため、暴走直前
の状態を知ることが出来るし、CPUが暴走によ少時間
を取られることもなく、コンピュータの信頼性が一層高
まる。
の暴走によるデータの破壊、プログラム破壊が防止され
、また、ユーザプログラムが中断されるため、暴走直前
の状態を知ることが出来るし、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
の例を示す図、第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)
- 言語処理システムが作成した論理的に正しいアドレス集
合のデータベース即ち許容可アドレステーブルと、この
テーブルの中の値とフェッチしようとしている命令コー
ドのアドレスとを比較することによって、アドレスバス
上のアドレスが正しい動作によって生じたものであるか
否かを判定する回路とを設けたことを特徴とする命令コ
ードフェッチアドレス回路。
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) |
-
1984
- 1984-03-23 JP JP59054249A patent/JPS60198648A/ja active Pending
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) | 仮想計算機システム |