JPH01187640A - Unset area detection system - Google Patents
Unset area detection systemInfo
- Publication number
- JPH01187640A JPH01187640A JP63010642A JP1064288A JPH01187640A JP H01187640 A JPH01187640 A JP H01187640A JP 63010642 A JP63010642 A JP 63010642A JP 1064288 A JP1064288 A JP 1064288A JP H01187640 A JPH01187640 A JP H01187640A
- Authority
- JP
- Japan
- Prior art keywords
- storage device
- pattern
- unset
- unjustifiable
- interruption
- 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 title claims description 13
- 238000012545 processing Methods 0.000 claims description 3
- 230000010365 information processing Effects 0.000 claims 1
- 230000000717 retained effect Effects 0.000 claims 1
- 230000002159 abnormal effect Effects 0.000 abstract 1
- 238000000034 method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 101100243951 Caenorhabditis elegans pie-1 gene Proteins 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は計算機言語の実行方式に係り、特に記憶装置に
格納されるデータとその操作の高速、高信頼性化に関す
る。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an execution system for computer languages, and particularly to data stored in a storage device and high-speed, high-reliability operations thereof.
計算機の記憶装置に確保された領域に対して。 For the area reserved in the computer's storage device.
値が設定されたか否かを検査する手法は古くから要求さ
れていたことであるが、効率的に実現するための手段に
は適当なものがなかった。A method of checking whether a value has been set has been required for a long time, but there was no suitable means for efficiently implementing it.
ハードウェア的に付加機構を設け、それによっである番
地の領域に値が設定されたか否かを知る手段の代表例は
タグピットの利用であり、タグアキテクチャの有効性に
ついてはアイ・イー・イー・イー、トランザクションズ
オン コンピューターズ シー22 ナンバー7、(
1973年)第644頁から656頁(I EEE、
Trans。A typical example of a means for determining whether or not a value has been set in a certain address area by providing an additional mechanism using hardware is the use of a tag pit. E, Transactions on Computers C22 Number 7, (
1973) pp. 644-656 (I EEE,
Trans.
Compujers、 C−22,No、7 (
1973) +pp、644−656)において論じ
られている。Computers, C-22, No. 7 (
1973) +pp, 644-656).
ソフトウェア的に検出する方法としては、特定のパター
ンを「未定義値」としておき、プログラムの実行開始時
に記憶酸をそのパターンで初期化し、その後の参照では
先立って「未定義値」と比較することによって検査する
ものがある。(例えばVO82/VO33Pa5ca1
等)〔発明が解決しようとする問題点〕
タグピットのようにハードウェア機構を付加する方法は
、記憶装置の構造を変化させてしまうものであり、現在
広く使用されている計算機においてその機構を取込むこ
とは容易ではない。また、ソフトウェア的に「未定義値
」パターンとの比較を行う手法は、ソースプログラムの
解析によって比較回数を減少させられるものの、判定に
要するコストは小さくはない。また、特定パターンが使
用できなくなること、バイト・ワードの型の違いによっ
てパターンが統一できないという問題がある。さらに、
正常に実行がなされる場合にも判定が必要であり、プロ
グラムのテストが終了して実働段階に入るとこの検査が
抑止されるのが通常である。このため、真に検出してほ
しい場合に検出できなくなる可能性が少なくない。The method for software detection is to set a specific pattern as an "undefined value", initialize the memory acid with that pattern at the start of program execution, and compare it with the "undefined value" in advance for subsequent references. There are things to be inspected. (For example, VO82/VO33Pa5ca1
etc.) [Problems to be solved by the invention] The method of adding a hardware mechanism such as tag pit changes the structure of the storage device, and it is difficult to install that mechanism in computers that are currently widely used. It's not easy to get into it. Furthermore, although the method of performing comparison with an "undefined value" pattern using software can reduce the number of comparisons by analyzing the source program, the cost required for the determination is not small. Further, there is a problem that a specific pattern cannot be used, and that patterns cannot be unified due to differences in byte/word types. moreover,
Judgment is necessary even if the program is executed normally, and this checking is usually suppressed once the program has finished testing and entered the production stage. For this reason, there is a considerable possibility that detection will not be possible even if detection is truly desired.
以上のように従来技術は、現行の計算機上で少量の変更
でかつオーバヘッドなしに行うには問題があった。As described above, the conventional technology has a problem in that it cannot be performed on current computers with a small amount of changes and without overhead.
本発明の目的は記憶装置領域への値の設定・未設定を、
現行の機種への影響が小さく、さらに正常実行時にほと
んど負担とならない手法によって実現することにある。The purpose of the present invention is to set/unset values in the storage device area,
The goal is to achieve this using a method that has little impact on current models and also causes almost no burden during normal execution.
本発明において、現行の誤り検出機構をもつ記憶装置に
おいてその検出機構によって不当であると判定されるパ
ターンを書込む命令を新たに設け、さらにこの不当パタ
ーンを読出した際に演算装置に対して緊急度の低い割込
みを発生する機能を設けることにより、正常実行時には
何ら負担を受けず値が未設定である領域を参照した場合
には割込みによってそのことを検出する。In the present invention, a new instruction is provided to write a pattern that is determined to be invalid by the current error detection mechanism in a storage device having an error detection mechanism, and furthermore, when this invalid pattern is read, an emergency message is sent to the arithmetic unit. By providing a function that generates a low-level interrupt, there is no burden during normal execution, and when an area with an unset value is referenced, this is detected by an interrupt.
さらに、不当パターンを特定のものとし、当該不当パタ
ーンによる上記記憶装置異常の割込みを抑止する機構を
設ける。未設定値の検出を行わない場合は上記割込みを
抑止することによっても可能となる。Furthermore, a mechanism is provided for specifying an invalid pattern and suppressing an interruption of the storage device abnormality caused by the invalid pattern. If the unset value is not to be detected, this can also be done by suppressing the above-mentioned interrupt.
本発明における新設命令によって記憶装置内に格納され
た不当パターンがプログラムの実行時に読出されると、
それによって割込みを生じる。演算装置ではこの割込み
を検出するとそれに対する所定の処理を行って未設定エ
ラーに対処する。そのような事態が生じずに正常に実行
されている場合はソフトウェア的には何ら検査の必要が
なく、実行速度が低下することはない。When the illegal pattern stored in the storage device is read out when the program is executed by the new instruction in the present invention,
This causes an interrupt. When the arithmetic unit detects this interrupt, it performs a predetermined process to deal with the unset error. If such a situation does not occur and the program is being executed normally, there is no need for any software inspection, and the execution speed will not be reduced.
このように正常時の実行速度に負担をかけずに効果的に
未設定エラーの検出が可能となる。In this way, it is possible to effectively detect unconfigured errors without putting a burden on the normal execution speed.
以下、本発明の一実施例を詳細に説明する。プログラム
は副プログラムの集合として記述されており、各副プロ
グラムのオブジェクトコードにはその実行に先立って自
分の環境を設定する命令系列をまず実行する。第1図に
おいて、副プログラムPに制御が渡った時、Pの環境設
定用命令系列EではPが使用する局所変数の領域りを確
保する。Hereinafter, one embodiment of the present invention will be described in detail. A program is written as a collection of subprograms, and the object code of each subprogram first executes a series of instructions to set its own environment before its execution. In FIG. 1, when control is passed to subprogram P, P's environment setting instruction sequence E secures an area for local variables used by P.
この領域が未設定値検出の対象となるので、8の新設命
令5IV(第2図)を用いて前記不当パターンで初期化
する。Since this area is to be detected as an unset value, it is initialized with the invalid pattern using the new instruction 5IV of 8 (FIG. 2).
この不当パターンとて本実施例ではパイ1〜毎にパリテ
ィピットが付加されている記憶装置についてパリティチ
エツクにかかるものを考える。初期化以後、出側プログ
ラムは通常と同様に順次実行される。Lは実行に従って
その一部が値の設定を受け、残りは設定を受けないまま
であるという可能性がある。そのような状態で未設定部
分を参照して演算を行う命令7X(○PA、B)でオペ
ランドAがL内の未設定領域にある)を実行すると、不
当パターンを検出し、割込みを生じ、9の信号で演算装
置に知らせる。本例の場合、パリティチエツクを発生す
るので、演算装置では通常の割込み処理と同様にしてユ
ーザプログラムR(この場合はコンパイラが生成するラ
ンタイムルーチン)に制御を移行する。In this embodiment, this invalid pattern is considered to be one that requires a parity check for a storage device in which a parity pit is added for every pie 1 to 1. After initialization, the output programs are executed sequentially as usual. It is possible that part of L will receive values set as it executes, while the rest will remain unset. In such a state, when the instruction 7X (○PA, B), which performs an operation by referring to the unset area, and the operand A is in the unset area in L, is executed, an invalid pattern is detected and an interrupt is generated. Notify the arithmetic unit with the signal No. 9. In this example, since a parity check is generated, the arithmetic unit transfers control to the user program R (in this case, a runtime routine generated by a compiler) in the same manner as normal interrupt processing.
以上のようにして、未設定であることを検出した場合は
容易にその処理が行える。さらに、参照領域が事前に値
の設定を受けている場合は通常の処理とまったく同様に
進行する。As described above, if it is detected that the setting is not set, the process can be easily performed. Furthermore, if the reference area has had its value set in advance, the process proceeds in exactly the same way as normal processing.
SIV命令は第2図に示す構造とし、オペレージョンコ
ード(10)、長さ(11) 、実効アドレス(12)
の3フイールドで構成する。実効アドレスから開始され
、長さフィールドで指定された長さだけの領域を不当パ
ターンで初期化するものである。The SIV instruction has the structure shown in Figure 2, with an operation code (10), length (11), and effective address (12).
It consists of three fields. This starts from the effective address and initializes an area of length specified by the length field with an invalid pattern.
また、本不当パターンによる割込みをプログラムの途中
で抑止できるので、未設定値の検出・非検出がより有効
に行える。Furthermore, since interruptions caused by this illegal pattern can be suppressed in the middle of the program, detection and non-detection of unset values can be performed more effectively.
本発明によれば、少量のハードウェア機構の付加によっ
て値の未設定の検出ができ、従来の手法によるものと比
べて以下のような効果がある。According to the present invention, unset values can be detected by adding a small amount of hardware, and the present invention has the following effects compared to conventional methods.
(1)検出が割込みによってなされるので高速である。(1) Detection is done by interrupt, so it is fast.
(2)参照場所が既設定である正常な動作に対してはそ
の検出のオーバヘッドはなく、局所変数領域の初期化に
のみ余分な時間を要する。(2) For a normal operation in which the reference location is already set, there is no detection overhead, and extra time is required only to initialize the local variable area.
(3)記憶装置の若干の変更と命令1つの追加で済み、
既存のマシンに容易に適用できる。(3) All it takes is a slight change in the storage device and the addition of one instruction.
Can be easily applied to existing machines.
(4)従来の多くのプログラムに見られるようなテスト
時は検査付きで実働時は検査なしという危険な実行環境
にする必要がなくなる。(4) There is no need to create a dangerous execution environment in which checks are performed during testing but not during actual operation, which is the case with many conventional programs.
第1図は本発明の実施例であり、記憶装置、演算装置お
よび初期設定と未設定の検出を記述した説明図、第2図
は不当パターンを設定するための新設命令のフォーマッ
ト図である。
1・・・記憶装置、2・・・演算装置、3・・・局所変
数領域、4〜6・・・コード、8・・新設命令。FIG. 1 shows an embodiment of the present invention, and is an explanatory diagram describing a storage device, an arithmetic unit, initial settings, and detection of non-settings, and FIG. 2 is a format diagram of a newly installed instruction for setting an invalid pattern. 1...Storage device, 2...Arithmetic unit, 3...Local variable area, 4-6...Code, 8...Newly installed instruction.
Claims (1)
備えた情報処理装置において、記憶装置はその番地付け
の単位ごとに保持データの正当性を検査するための機構
を有していることを特徴としており、演算装置から当該
記憶装置の任意の番地に正当性検出機構によって不当で
あると検出されるパターンを格納する命令と上記不当パ
ターンを検出した際の処理手段とを設けることにより、
プログラム実行時の記憶装置内のデータの参照時にその
内容が未設定である場合に記憶装置の検出機構によって
検出することを特徴とする未設定領域検出方式。1. An information processing device comprising an arithmetic unit and a storage device operated by the arithmetic unit, characterized in that the storage device has a mechanism for checking the validity of retained data for each addressing unit. By providing an instruction for storing a pattern detected as invalid by a validity detection mechanism from an arithmetic unit at an arbitrary address of the storage device, and a processing means for detecting the invalid pattern,
An unset area detection method characterized in that when data in a storage device is referenced during program execution, if the contents are unset, a detection mechanism of the storage device detects the content.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63010642A JPH01187640A (en) | 1988-01-22 | 1988-01-22 | Unset area detection system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63010642A JPH01187640A (en) | 1988-01-22 | 1988-01-22 | Unset area detection system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01187640A true JPH01187640A (en) | 1989-07-27 |
Family
ID=11755865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63010642A Pending JPH01187640A (en) | 1988-01-22 | 1988-01-22 | Unset area detection system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01187640A (en) |
-
1988
- 1988-01-22 JP JP63010642A patent/JPH01187640A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH07271403A (en) | Inactive system memory updating system | |
US6643769B1 (en) | System and method for enabling selective execution of computer code | |
JPH01187640A (en) | Unset area detection system | |
GB2539657A (en) | Tracing Processing Activity | |
JP2786215B2 (en) | Restart processing control method | |
JPS62175834A (en) | Detecting circuit for runaway of central processing unit | |
JPS6146535A (en) | Pseudo error setting control system | |
JPH05324389A (en) | System for evaluating pseudo fault | |
JPH0371236A (en) | Error detecting system | |
JPH0314148A (en) | Program breakdown detecting device | |
JPS6019241A (en) | Boundary error detecting system for assembler instruction | |
JPH0432418B2 (en) | ||
JPS62127944A (en) | Information processor | |
JPS60169947A (en) | Program abnormality detector | |
JPS63265337A (en) | Fault detecting circuit for processor device | |
JPS59161750A (en) | Break control system of debugging device | |
JPH0452734A (en) | Exception detecting circuit for general-purpose register | |
JP2002055846A (en) | System and method for fault detection | |
JPH05289946A (en) | Memory control system | |
JPS63228237A (en) | Program debugging system | |
JPH0244432A (en) | Electronic computer control system | |
JP2003091301A (en) | Error prevention method for programmable controller | |
JPS60225941A (en) | Microprogram control device | |
JPS6083149A (en) | Computer | |
JPH06250885A (en) | Software simulator |