JPH0444294B2 - - Google Patents
Info
- Publication number
- JPH0444294B2 JPH0444294B2 JP61140408A JP14040886A JPH0444294B2 JP H0444294 B2 JPH0444294 B2 JP H0444294B2 JP 61140408 A JP61140408 A JP 61140408A JP 14040886 A JP14040886 A JP 14040886A JP H0444294 B2 JPH0444294 B2 JP H0444294B2
- Authority
- JP
- Japan
- Prior art keywords
- microinstruction
- label
- execution
- path
- identifier
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3648—Debugging of software using additional hardware
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Debugging And Monitoring (AREA)
Description
A 産業上の利用分野
本発明はマイクロコード・シーケンスの実行時
のエラーの検出に関するものであり、特にデータ
処理システムにおいてマイクロコード・シーケン
ス・エラーを検出し、故障を分離するための方法
および装置に関するものである。 B 従来技術 今日存在しているマイクロプログラム式の制御
装置は、自己検証的なものである。すなわち、動
作のシーケンスが適正である事が、マイクロコー
ド・シーケンスの実行時の所定の点で検査キーを
計算することによつて検査される。検査キーは、
後でマイクロ命令シーケンスの適正な実行を検証
する際に使用するために、メモリに記憶されてい
る。実行時に、シーケンスの最後のマイクロ命令
で、検査キーが生成される。生成された検査キー
は次いで、記憶されている検査キーと比較され、
これらが同じものかどうかを調べられる。同じも
のであれば、マイクロコード・シーケンスが適正
に実行されたことになる。異なつていれば、シー
ケンスにエラーがあることになる。 C 発明が解決しようとする問題点 マイクロコード・シーケンス全体を検査しよう
とする際に発生する問題のひとつは、条件付分岐
命令の実行の検査に関するものである。これが問
題になるのは当初の検査キーを計算する際に取ら
れた経路以外の分岐により各分岐経路毎に異なる
検査キーが生じるからである。 本発明の目的は、自己検証的なマイクロプログ
ラム式の制御装置を提供することにあるが、該制
御装置において、実行経路に沿つた有効な分岐が
検証され、無効な分岐が検出され、分離される。 D 問題点を解決するための手段 上記の目的は、本発明によれば、コンパイル時
にマーカーを埋め込むことによつて達成される
が、これらのマーカーはマイクロ命令シーケンス
を実行する際の許容された経路の組を拘束するも
のである。マーカーは実行時に計算され、記憶さ
れているマーカーに比較され、でたらめな分岐を
検出する。これはグローバル・ラベル(経路識別
子)を生成することによつて達成されるものであ
り、該ラベルは設定されたひとつの許容された実
行経路に沿つた検査マーカーを計算する。他の実
行経路(分岐)は、上向きまたは下向きに計算を
調整するスケーラーが埋め込まれるので、あらゆ
る条件付分岐経路に沿つた実行が常に同じグロー
バル・ラベルを生じることになる。スキツプ・マ
イクロ命令が各スケーラーの前に挿入されて、非
分岐実行(すなわち、選択された経路の後の実
行)中のスケーラーの実行を阻止する。 マイクロコード・シーケンス・エラーは各マイ
クロプログラム経路の実行の完了時に、実行時に
その経路に沿つて生成されたシーケンス識別子
を、予め記憶されているグローバル・ラベルと比
較することによつて決定される。 E 実施例 以下の略語を本明細書において使用する。 BR−分岐命令 ID−識別子 MI−マイクロ命令 CR−検査レジスタ CB−検査ビツト SG−符号定数生成 SEQ−シーケンス MUX−マルチプレクサ NOP−ノー・オペレーシヨン AND−論理AND動作 XOR−論理排他的OR動作 REG−レジスタ NID−ノード識別子 JID−調整識別子 PID−経路識別子 PSW−プログラム・ステータス・ワード MIR−マイクロ命令レジスタ SIR−シーケンス識別子レジスタ PIR−経路識別子レジスタ 本発明の好ましい実施例のブロツク図を、第1
図に示す。この回路では、N個の検査ビツト
(14)と2つの符号化されたIDビツト、BOおよ
びB1が、Mビツトのマイクロ命令フイールドに
付属している必要がある(N≦M)。2つの符号
化されたビツトは次のように定義される。 B0 B1 (値) 0 0 (0)−マイクロ命令(機能的) 0 1 (1)−経路識別子(グローバル・ラベ
ル) 1 0 (2)−調整識別子(スケーラー) 1 1 (3)−経路の最後のマイクロ命令(出
口点) 第1図において、本発明はマイクロプロセツサ
内で実施されており、該プロセツサの要素は当分
野で公知のものである。第1図に構造をまず説明
し、次いでマイクロコードの実施例を説明する。 マイクロ命令レジスタは、Mビツトのマイクロ
命令フイールド12、N個の検査ビツトからなる
検査記号フイールド14、2つの符号化された
IDビツトからなるフイールドB0およびB1を
記憶する。IDビツトはデコーダ16へ送られ、
該デコーダは2つのビツトをデコードする。デコ
ーダ16の出力は、図面で示すように、第1図の
ANDおよびOR回路に接続される。 マイクロ命令フイールド12はマイクロ命令レ
ジスタ18、マルチプレクサ20および経路ID
レジスタ22に接続される。デコーダの出力が経
路識別子(ビツトB0、B1=0、1)または調整
識別子(ビツトB0、B1=1、0)を示している
場合、NOP25がマイクロ命令レジスタに入力
される。それ故、実際の機能的マイクロ命令だけ
が実行される。「マイクロ命令」がデコードされ
るか(ビツトB0、B1=0、0)、または「分岐
(BR)」がデコードされるときはつねに、ノード
ID発生器26がマルチプレクサ20によつて付
勢される。論理排他的OR30はそれに対する入
力に、モジユロ2の加算を行つて、シーケンス識
別子レジスタ28からのシーケンス識別子出力を
もたらす。 デコーダ16を現在のマイクロ命令を、経路識
別子である(ビツトB0、B1=0、1)とデコー
ドした場合には、経過IDレジスタ22は経路識
別子を記憶する。同一性検査器234はシーケン
ス識別子レジスタの出力29を、経路識別子レジ
スタの出力23と比較し、「経路の最後のマイク
ロ命令」がデコーダ16によつて示されたときに
(ビツトB0、B1=1、1)、エラーの表示を行う
ように、AND回路36で論理積の取られた出力
を生じる。 「経路識別子」がデコードされるか(ビツト
B0、B1=0、1)、あるいは分岐命令(BR)が
示されるたびに、検査レジスタ38がリセツトさ
れる。検査レジスタ38の出力はノードID発生
器へ戻されて、加算され、かつ検査記号発生器4
0へ出力される。検査記号フイールド14が含ん
でいるビツト数が、マイクロ命令フイールド12
のビツト数よりも少ない場合には、検査記号発生
器40が必要である。 同一性検査器142は現在のマイクロ命令の検
査記号フイールド14を、検査記号発生器出力4
1と比較する。同一性検査器142の出力は
AND回路44で、デコーダ出力との論理を取ら
れ、2つの符号化されたビツトB0およびB1が機
能的なマイクロ命令(ビツトB0、B1=0、0)
または経路の最後のマイクロ命令(ビツトB0、
B1=1、1)を示している場合は常に、エラー
信号をもたらす。 関連した分岐なし間隔および共通な入口/出口
点で、マイクロプログラムへマイクロプログラム
経路識別子(PID)および調整ノード識別子
(JID)を導入することによつて、マイクロプロ
グラムが所定の順序にしたがうことを確認するこ
とによつて、ハードウエアおよびマイクロコード
の故障による誤りが分離される。マイクロコー
ド・シーケンス・エラーは各マイクロプロセツサ
経路の実行の完了時に、生成されたシーケンス識
別子を所定の識別子と比較することによつて決定
される。 特別なプリコンパイラを使用して、対応するマ
イクロプログラム経路に対するPIDおよびJIDを、
マイクロプログラムに挿入する事ができる。 本明細書においては、マイクロプログラム・ノ
ードを、入口点1つだけを有している単一経路の
分岐なし間隔と定義する。 NIDは、次のように所定のノードのマイクロ
命令(MI)に対して数学的アルゴリズムによつ
て生成されたこのノードのマイクロプログラム・
ノード識別子と規定される。 NIDjo 〓i=1 MIi=MI1+MI2+MI3+……+MIo 但しn個のマイクロ命令より成るノードの場合
(チエツクサムの加算) マイクロプログラム経路識別子(PID)は、所
定の経路のノード識別子の数学的演算によつて生
成されたこの経路の識別子と規定される。 PIDj=o 〓i=1 ||NIDi||2=NID1NID2NID3−−NIDn 但しn個のノードより成る経路の場合、(モジ
ユロ2の加算) 2つの付加的なメモリ・ビツトB0およびB1は
各マイクロ命令ワードに組み込まれ、識別子と通
常のマイクロ命令を区別する。識別子マスク回路
21,24を使用して、識別子をマスクし、これ
らの識別子がマイクロ命令レジスタ18にロード
されるのを阻止する。識別子に対応したワードが
プログラム記憶から取り出されるたびに、MIR
18にノーオペレーシヨン(NOP)マイクロ命
令25がロードされる。 マイクロコードの故障の検査は、各マイクロプ
ログラム経路の実行と並列的に行われる。経路に
対する故障の分離はハードウエアが生成したPID
を、同一性検査器234の所定のマイクロプログ
ラムPIDと比較することによつて行われる。単一
のマイクロ命令内のエラー・ビツト・パターン
は、間違つた経路識別子を生成するので、検出さ
れる。 各マイクロプログラムに対する有限個の組の経
路が導かれる。各経路の経路識別子を、その経路
の入口点の最初のマイクロ命令の直前に記憶する
ことができる。すべての共通入口/出口経路が同
じ経路識別子を有する事を保証するために調整ノ
ード識別子(JID)を経路に挿入する。共通入口
の経路は同一のノードから始まる経路と規定さ
れ、共通出口の経路は同じノードで終了する経路
と規定される。 経路識別子は個々のノードに対してではなく、
特定の経路のノードのシーケンスに対して計算さ
れる。ノードのシーケンスは各ノードのそれぞれ
で検査するのではなく、その経路の終端ノードで
検査される。 検査信号フイールド14が各マイクロ命令によ
つて組み込まれる。この検査記号が同一性検出器
142において、各マイクロ命令の実行と並列的
にテストされ、付加的なマイクロコード・シーケ
ンスの完全性検査が行われる。 動作のシーケンス ビツトB0およびB1のデコードに基づいた動作
のシーケンスを、以下に説明する。 (01)経路識別子 マイクロコード・ルーチンの開始を示す、経路
識別子(PID)のマイクロ命令に遭遇すると、ノ
ーオペレーシヨン(NOP)マイクロ命令25が
マイクロ命令レジスタ18にロードされ、同時に
マイクロ命令フイールドからのPIDがPIR22に
ロードされる。CRおよびSIRがこの時点でリセ
ツトされる。CR38およびSIR28の両者は、
たとえば、最も一般的なLSSD論理の設計に使用
されているレジスタ対(L1/L2)を包含してい
る。L2ラツチのデータ入力は、L1ラツチの出力
から直接供給され、これらの各々は異なるシステ
ム・クロツクによつてクロツクされる。レジスタ
対が必要なのは、設計にフイードバツク性がある
からである。 (00)マイクロ命令 マイクロ命令フイールド12はMIR18にロ
ードされる。命令が非分岐タイプのものであれ
ば、CR(L2)およびマイクロ命令フイールドの
内容に基づいて生成される符号定数(27)が、
CR(L1)ロードされる。これはその後CR(L2)
にロードされる。ノードID発生器26は符号定
数生成関数を有している。符号定数を生成する方
法のひとつは、チエツクサムの加算(すなわち、
連続したマイクロ命令の累積加算)によるもので
ある。 N<Mの場合、Mビツトのマイクロ命令をNビ
ツトのワードに変換するのに、検査記号発生器4
0が必要である。出力41は同一性検査器142
における所定の検査ビツト14と比較される。 MIR18のマイクロ命令が分岐タイプ(BR)
としてデコードされると、符号定数が上記と同じ
態様で生成される。しかし、その他に、CR(L2)
の分岐なしノードの生成された符号定数は、SR
(L2)の内容と組み合わされ、更新された分岐シ
ーケンス符号定数をもたらす。その結果はSIR
(L1)にロードされ、その後SIR(L2)にクロツ
クされる。CR38はこの動作の完了時にリセツ
トされる。 (10)調整識別子 調整識別子(JID)がデコードされると(ビツ
トB0、B1=1、0)、NOP25がMIRにロード
される。マイクロ命令フイールドのJIDのSIR
(L2)の内容との排他的論理和が取られ30、結
果はSIR(L1)にロードされる。次に、SIR(L2)
がSIR(L1)によつて更新される。CR38は通
常、この時点でリセツトされるが、しかしJIDが
分岐命令だけにしたがうものであると仮定した場
合には、これは必要ない。 (11)経路の最後のマイクロ命令 経路の最後のマイクロ命令(ビツトB0、B1=
1、1)は、他のすべての機能的マイクロ命令
(ビツトB0、B1=0、0)と同じ態様で処理さ
れる。しかし、その他に、生成された符号定数2
7はSIR(L2)と組み合わされ、最終ノード識別
子29を生じる。この最終結果は同一性検査器2
34で、PIR22に記憶されている所定のPID2
3と比較される。 割込みが行われた場合、CR、SIRおよびPIR
の内容をPSWスタツクに保管し、リターン動作
時に再記憶しなければならない。 動作のシーケンス(まとめ) (00)非分岐: MIR<−−−MI CR(L1)<−−−CR(L2)、SG、MI CR(L2)<−−−CR(L1) COMPARE CR(L2)、CB (00)分岐: MIR<−−−MI CR(L1)<−−−CR(L2)、SG、MI CR(L2)<−−−CR(L1) COMPARE CR(L2)、CB SIR(L1)<−−−CR(L2)、SG、SIR(L2) SIR(L2)<−−−SIR(L1) RESET CR(L1/L2) (01):MIR<−−−′NOP′ PIR<−−−MI RESET SIR(L1/L2)、CR(L1/L2) (10):MIR<−−−′NOP′ SIR(L1)<−−−SIR(L2)、XOP、MI SIR(L2)<−−−SIR(L1) RESET CR(L1/L2)−JIDが分岐命令だけにし
たがうものと仮定した場合には、必要ない。 (11):MIR<−−−MI CR(L1)<−−−CR(L2)、SG、MI CR(L2)<−−−CR(L1) COMPARE CR(L2)、CB SIR(L1)<−−−CR(L2)、SG、SIR(L2) SIR(L2)<−−−SIR(L1) COMPARE SIR(L2)、PIR 説明のための例 第2図に示した流れ図は典型的なマイクロプロ
グラム・セグメント(記号ストリング)を表した
ものであり、該セグメントは入口点100、出口
点118、分岐なしセグメント102,106,
110,112および116、ならびに分岐決定
点104,108および114からなつている。
各BFSはひとつまたはそれ以上の非分岐マイク
ロ命令を含んでおり、分岐決定点で終了すること
もできる。分岐決定点からの矢印は許容される経
路(トラバーサル)を構成している。第2図の流
れ図の解釈のひとつを、以下の記号的マイクロプ
ログラム・セグメントで表す。
のエラーの検出に関するものであり、特にデータ
処理システムにおいてマイクロコード・シーケン
ス・エラーを検出し、故障を分離するための方法
および装置に関するものである。 B 従来技術 今日存在しているマイクロプログラム式の制御
装置は、自己検証的なものである。すなわち、動
作のシーケンスが適正である事が、マイクロコー
ド・シーケンスの実行時の所定の点で検査キーを
計算することによつて検査される。検査キーは、
後でマイクロ命令シーケンスの適正な実行を検証
する際に使用するために、メモリに記憶されてい
る。実行時に、シーケンスの最後のマイクロ命令
で、検査キーが生成される。生成された検査キー
は次いで、記憶されている検査キーと比較され、
これらが同じものかどうかを調べられる。同じも
のであれば、マイクロコード・シーケンスが適正
に実行されたことになる。異なつていれば、シー
ケンスにエラーがあることになる。 C 発明が解決しようとする問題点 マイクロコード・シーケンス全体を検査しよう
とする際に発生する問題のひとつは、条件付分岐
命令の実行の検査に関するものである。これが問
題になるのは当初の検査キーを計算する際に取ら
れた経路以外の分岐により各分岐経路毎に異なる
検査キーが生じるからである。 本発明の目的は、自己検証的なマイクロプログ
ラム式の制御装置を提供することにあるが、該制
御装置において、実行経路に沿つた有効な分岐が
検証され、無効な分岐が検出され、分離される。 D 問題点を解決するための手段 上記の目的は、本発明によれば、コンパイル時
にマーカーを埋め込むことによつて達成される
が、これらのマーカーはマイクロ命令シーケンス
を実行する際の許容された経路の組を拘束するも
のである。マーカーは実行時に計算され、記憶さ
れているマーカーに比較され、でたらめな分岐を
検出する。これはグローバル・ラベル(経路識別
子)を生成することによつて達成されるものであ
り、該ラベルは設定されたひとつの許容された実
行経路に沿つた検査マーカーを計算する。他の実
行経路(分岐)は、上向きまたは下向きに計算を
調整するスケーラーが埋め込まれるので、あらゆ
る条件付分岐経路に沿つた実行が常に同じグロー
バル・ラベルを生じることになる。スキツプ・マ
イクロ命令が各スケーラーの前に挿入されて、非
分岐実行(すなわち、選択された経路の後の実
行)中のスケーラーの実行を阻止する。 マイクロコード・シーケンス・エラーは各マイ
クロプログラム経路の実行の完了時に、実行時に
その経路に沿つて生成されたシーケンス識別子
を、予め記憶されているグローバル・ラベルと比
較することによつて決定される。 E 実施例 以下の略語を本明細書において使用する。 BR−分岐命令 ID−識別子 MI−マイクロ命令 CR−検査レジスタ CB−検査ビツト SG−符号定数生成 SEQ−シーケンス MUX−マルチプレクサ NOP−ノー・オペレーシヨン AND−論理AND動作 XOR−論理排他的OR動作 REG−レジスタ NID−ノード識別子 JID−調整識別子 PID−経路識別子 PSW−プログラム・ステータス・ワード MIR−マイクロ命令レジスタ SIR−シーケンス識別子レジスタ PIR−経路識別子レジスタ 本発明の好ましい実施例のブロツク図を、第1
図に示す。この回路では、N個の検査ビツト
(14)と2つの符号化されたIDビツト、BOおよ
びB1が、Mビツトのマイクロ命令フイールドに
付属している必要がある(N≦M)。2つの符号
化されたビツトは次のように定義される。 B0 B1 (値) 0 0 (0)−マイクロ命令(機能的) 0 1 (1)−経路識別子(グローバル・ラベ
ル) 1 0 (2)−調整識別子(スケーラー) 1 1 (3)−経路の最後のマイクロ命令(出
口点) 第1図において、本発明はマイクロプロセツサ
内で実施されており、該プロセツサの要素は当分
野で公知のものである。第1図に構造をまず説明
し、次いでマイクロコードの実施例を説明する。 マイクロ命令レジスタは、Mビツトのマイクロ
命令フイールド12、N個の検査ビツトからなる
検査記号フイールド14、2つの符号化された
IDビツトからなるフイールドB0およびB1を
記憶する。IDビツトはデコーダ16へ送られ、
該デコーダは2つのビツトをデコードする。デコ
ーダ16の出力は、図面で示すように、第1図の
ANDおよびOR回路に接続される。 マイクロ命令フイールド12はマイクロ命令レ
ジスタ18、マルチプレクサ20および経路ID
レジスタ22に接続される。デコーダの出力が経
路識別子(ビツトB0、B1=0、1)または調整
識別子(ビツトB0、B1=1、0)を示している
場合、NOP25がマイクロ命令レジスタに入力
される。それ故、実際の機能的マイクロ命令だけ
が実行される。「マイクロ命令」がデコードされ
るか(ビツトB0、B1=0、0)、または「分岐
(BR)」がデコードされるときはつねに、ノード
ID発生器26がマルチプレクサ20によつて付
勢される。論理排他的OR30はそれに対する入
力に、モジユロ2の加算を行つて、シーケンス識
別子レジスタ28からのシーケンス識別子出力を
もたらす。 デコーダ16を現在のマイクロ命令を、経路識
別子である(ビツトB0、B1=0、1)とデコー
ドした場合には、経過IDレジスタ22は経路識
別子を記憶する。同一性検査器234はシーケン
ス識別子レジスタの出力29を、経路識別子レジ
スタの出力23と比較し、「経路の最後のマイク
ロ命令」がデコーダ16によつて示されたときに
(ビツトB0、B1=1、1)、エラーの表示を行う
ように、AND回路36で論理積の取られた出力
を生じる。 「経路識別子」がデコードされるか(ビツト
B0、B1=0、1)、あるいは分岐命令(BR)が
示されるたびに、検査レジスタ38がリセツトさ
れる。検査レジスタ38の出力はノードID発生
器へ戻されて、加算され、かつ検査記号発生器4
0へ出力される。検査記号フイールド14が含ん
でいるビツト数が、マイクロ命令フイールド12
のビツト数よりも少ない場合には、検査記号発生
器40が必要である。 同一性検査器142は現在のマイクロ命令の検
査記号フイールド14を、検査記号発生器出力4
1と比較する。同一性検査器142の出力は
AND回路44で、デコーダ出力との論理を取ら
れ、2つの符号化されたビツトB0およびB1が機
能的なマイクロ命令(ビツトB0、B1=0、0)
または経路の最後のマイクロ命令(ビツトB0、
B1=1、1)を示している場合は常に、エラー
信号をもたらす。 関連した分岐なし間隔および共通な入口/出口
点で、マイクロプログラムへマイクロプログラム
経路識別子(PID)および調整ノード識別子
(JID)を導入することによつて、マイクロプロ
グラムが所定の順序にしたがうことを確認するこ
とによつて、ハードウエアおよびマイクロコード
の故障による誤りが分離される。マイクロコー
ド・シーケンス・エラーは各マイクロプロセツサ
経路の実行の完了時に、生成されたシーケンス識
別子を所定の識別子と比較することによつて決定
される。 特別なプリコンパイラを使用して、対応するマ
イクロプログラム経路に対するPIDおよびJIDを、
マイクロプログラムに挿入する事ができる。 本明細書においては、マイクロプログラム・ノ
ードを、入口点1つだけを有している単一経路の
分岐なし間隔と定義する。 NIDは、次のように所定のノードのマイクロ
命令(MI)に対して数学的アルゴリズムによつ
て生成されたこのノードのマイクロプログラム・
ノード識別子と規定される。 NIDjo 〓i=1 MIi=MI1+MI2+MI3+……+MIo 但しn個のマイクロ命令より成るノードの場合
(チエツクサムの加算) マイクロプログラム経路識別子(PID)は、所
定の経路のノード識別子の数学的演算によつて生
成されたこの経路の識別子と規定される。 PIDj=o 〓i=1 ||NIDi||2=NID1NID2NID3−−NIDn 但しn個のノードより成る経路の場合、(モジ
ユロ2の加算) 2つの付加的なメモリ・ビツトB0およびB1は
各マイクロ命令ワードに組み込まれ、識別子と通
常のマイクロ命令を区別する。識別子マスク回路
21,24を使用して、識別子をマスクし、これ
らの識別子がマイクロ命令レジスタ18にロード
されるのを阻止する。識別子に対応したワードが
プログラム記憶から取り出されるたびに、MIR
18にノーオペレーシヨン(NOP)マイクロ命
令25がロードされる。 マイクロコードの故障の検査は、各マイクロプ
ログラム経路の実行と並列的に行われる。経路に
対する故障の分離はハードウエアが生成したPID
を、同一性検査器234の所定のマイクロプログ
ラムPIDと比較することによつて行われる。単一
のマイクロ命令内のエラー・ビツト・パターン
は、間違つた経路識別子を生成するので、検出さ
れる。 各マイクロプログラムに対する有限個の組の経
路が導かれる。各経路の経路識別子を、その経路
の入口点の最初のマイクロ命令の直前に記憶する
ことができる。すべての共通入口/出口経路が同
じ経路識別子を有する事を保証するために調整ノ
ード識別子(JID)を経路に挿入する。共通入口
の経路は同一のノードから始まる経路と規定さ
れ、共通出口の経路は同じノードで終了する経路
と規定される。 経路識別子は個々のノードに対してではなく、
特定の経路のノードのシーケンスに対して計算さ
れる。ノードのシーケンスは各ノードのそれぞれ
で検査するのではなく、その経路の終端ノードで
検査される。 検査信号フイールド14が各マイクロ命令によ
つて組み込まれる。この検査記号が同一性検出器
142において、各マイクロ命令の実行と並列的
にテストされ、付加的なマイクロコード・シーケ
ンスの完全性検査が行われる。 動作のシーケンス ビツトB0およびB1のデコードに基づいた動作
のシーケンスを、以下に説明する。 (01)経路識別子 マイクロコード・ルーチンの開始を示す、経路
識別子(PID)のマイクロ命令に遭遇すると、ノ
ーオペレーシヨン(NOP)マイクロ命令25が
マイクロ命令レジスタ18にロードされ、同時に
マイクロ命令フイールドからのPIDがPIR22に
ロードされる。CRおよびSIRがこの時点でリセ
ツトされる。CR38およびSIR28の両者は、
たとえば、最も一般的なLSSD論理の設計に使用
されているレジスタ対(L1/L2)を包含してい
る。L2ラツチのデータ入力は、L1ラツチの出力
から直接供給され、これらの各々は異なるシステ
ム・クロツクによつてクロツクされる。レジスタ
対が必要なのは、設計にフイードバツク性がある
からである。 (00)マイクロ命令 マイクロ命令フイールド12はMIR18にロ
ードされる。命令が非分岐タイプのものであれ
ば、CR(L2)およびマイクロ命令フイールドの
内容に基づいて生成される符号定数(27)が、
CR(L1)ロードされる。これはその後CR(L2)
にロードされる。ノードID発生器26は符号定
数生成関数を有している。符号定数を生成する方
法のひとつは、チエツクサムの加算(すなわち、
連続したマイクロ命令の累積加算)によるもので
ある。 N<Mの場合、Mビツトのマイクロ命令をNビ
ツトのワードに変換するのに、検査記号発生器4
0が必要である。出力41は同一性検査器142
における所定の検査ビツト14と比較される。 MIR18のマイクロ命令が分岐タイプ(BR)
としてデコードされると、符号定数が上記と同じ
態様で生成される。しかし、その他に、CR(L2)
の分岐なしノードの生成された符号定数は、SR
(L2)の内容と組み合わされ、更新された分岐シ
ーケンス符号定数をもたらす。その結果はSIR
(L1)にロードされ、その後SIR(L2)にクロツ
クされる。CR38はこの動作の完了時にリセツ
トされる。 (10)調整識別子 調整識別子(JID)がデコードされると(ビツ
トB0、B1=1、0)、NOP25がMIRにロード
される。マイクロ命令フイールドのJIDのSIR
(L2)の内容との排他的論理和が取られ30、結
果はSIR(L1)にロードされる。次に、SIR(L2)
がSIR(L1)によつて更新される。CR38は通
常、この時点でリセツトされるが、しかしJIDが
分岐命令だけにしたがうものであると仮定した場
合には、これは必要ない。 (11)経路の最後のマイクロ命令 経路の最後のマイクロ命令(ビツトB0、B1=
1、1)は、他のすべての機能的マイクロ命令
(ビツトB0、B1=0、0)と同じ態様で処理さ
れる。しかし、その他に、生成された符号定数2
7はSIR(L2)と組み合わされ、最終ノード識別
子29を生じる。この最終結果は同一性検査器2
34で、PIR22に記憶されている所定のPID2
3と比較される。 割込みが行われた場合、CR、SIRおよびPIR
の内容をPSWスタツクに保管し、リターン動作
時に再記憶しなければならない。 動作のシーケンス(まとめ) (00)非分岐: MIR<−−−MI CR(L1)<−−−CR(L2)、SG、MI CR(L2)<−−−CR(L1) COMPARE CR(L2)、CB (00)分岐: MIR<−−−MI CR(L1)<−−−CR(L2)、SG、MI CR(L2)<−−−CR(L1) COMPARE CR(L2)、CB SIR(L1)<−−−CR(L2)、SG、SIR(L2) SIR(L2)<−−−SIR(L1) RESET CR(L1/L2) (01):MIR<−−−′NOP′ PIR<−−−MI RESET SIR(L1/L2)、CR(L1/L2) (10):MIR<−−−′NOP′ SIR(L1)<−−−SIR(L2)、XOP、MI SIR(L2)<−−−SIR(L1) RESET CR(L1/L2)−JIDが分岐命令だけにし
たがうものと仮定した場合には、必要ない。 (11):MIR<−−−MI CR(L1)<−−−CR(L2)、SG、MI CR(L2)<−−−CR(L1) COMPARE CR(L2)、CB SIR(L1)<−−−CR(L2)、SG、SIR(L2) SIR(L2)<−−−SIR(L1) COMPARE SIR(L2)、PIR 説明のための例 第2図に示した流れ図は典型的なマイクロプロ
グラム・セグメント(記号ストリング)を表した
ものであり、該セグメントは入口点100、出口
点118、分岐なしセグメント102,106,
110,112および116、ならびに分岐決定
点104,108および114からなつている。
各BFSはひとつまたはそれ以上の非分岐マイク
ロ命令を含んでおり、分岐決定点で終了すること
もできる。分岐決定点からの矢印は許容される経
路(トラバーサル)を構成している。第2図の流
れ図の解釈のひとつを、以下の記号的マイクロプ
ログラム・セグメントで表す。
【表】
ただし:
M1=グローバル入口点
M16=グローバル出口点
M4、M7、M13=条件付分岐マイクロ命令
M1、M2、M3、M4=BFS1
M5、M6、M7BFS2
M8、M9BFS3
M10、M11、M12、M13=BFS4
M14、M15、M16BFS5
本発明の目的は、記号ストリング、上記の例に
おけるマイクロプログラム・セグメント内の許容
できないトラバーサルを検出する方法を提供する
ことである。この目的は、許容できるトラバーサ
ルのひとつを示すグローバル・ラベルを生成し、
残りのトラバーサルをスケーリングして、任意の
許容されるトラバーサルに沿つた移動が常に、同
じグローバル・ラベルを生じるようにすることに
よつて達成される。 グローバル・ラベルの生成は以下のステツプか
らなつている。 1 記号ストリングに沿つた許容トラバーサルの
ひとつを選択する。 2 選択されたトラバーサルの各文字記号(マイ
クロ命令)に対するラベル(数値表現)を導き
出す。 3 所定の関数(チエツクサム、CRCなど)に
従つてラベルに対して演算を行い、所定のグロ
ーバル・ラベルを得る。 所定のグローバル・ラベルは、マイクロプログ
ラム・セグメントの開始を示すために入力点に配
置される。このグローバル・ラベルの再生成は、
マイクロプログラムの実行と同時に行われる。 他のすべての許容されるトラバーサルの間で同
一のグローバル・ラベルが得られるように、スケ
ーラーをトラバースの各点に挿入して、生成され
るラベルを調整する。グローバル・ラベルの生成
は、出口点(最後のBFSの最後のマイクロ命令)
で終了する。この生成されたラベルと所定のグロ
ーバル・ラベルとの不一致は、エラー状態を示
す。 機能的なマクロ命令、グローバル・ラベルおよ
びスケーラーの区別は、2ビツトのタグ・フイー
ルド(B0、B1)を各マイクロ命令に付加するこ
とによつて達成される。 No−Op(ノーオペレーシヨン)はグローバ
ル・ラベルまたはスケーラーに遭遇したときに、
実行される。シーケンス・エラーの検査は、最後
のマイクロ命令の完了時に行われる。 この例では、単純化のために、各マイクロ命令
と等価の10進数を使用して、これらの命令のラベ
ルを表しており、ラベルに対する演算はグローバ
ル・ラベルを取得するためのチエツクサム法であ
る。トラバーサルM1ないしM6(すなわち、分岐
のない経路)は上記のステツプ1の許容経路とし
て任意に選択される。これを以下に示す。かつこ
内の数値は、マイクロ命令に対応するラベルを表
す。
おけるマイクロプログラム・セグメント内の許容
できないトラバーサルを検出する方法を提供する
ことである。この目的は、許容できるトラバーサ
ルのひとつを示すグローバル・ラベルを生成し、
残りのトラバーサルをスケーリングして、任意の
許容されるトラバーサルに沿つた移動が常に、同
じグローバル・ラベルを生じるようにすることに
よつて達成される。 グローバル・ラベルの生成は以下のステツプか
らなつている。 1 記号ストリングに沿つた許容トラバーサルの
ひとつを選択する。 2 選択されたトラバーサルの各文字記号(マイ
クロ命令)に対するラベル(数値表現)を導き
出す。 3 所定の関数(チエツクサム、CRCなど)に
従つてラベルに対して演算を行い、所定のグロ
ーバル・ラベルを得る。 所定のグローバル・ラベルは、マイクロプログ
ラム・セグメントの開始を示すために入力点に配
置される。このグローバル・ラベルの再生成は、
マイクロプログラムの実行と同時に行われる。 他のすべての許容されるトラバーサルの間で同
一のグローバル・ラベルが得られるように、スケ
ーラーをトラバースの各点に挿入して、生成され
るラベルを調整する。グローバル・ラベルの生成
は、出口点(最後のBFSの最後のマイクロ命令)
で終了する。この生成されたラベルと所定のグロ
ーバル・ラベルとの不一致は、エラー状態を示
す。 機能的なマクロ命令、グローバル・ラベルおよ
びスケーラーの区別は、2ビツトのタグ・フイー
ルド(B0、B1)を各マイクロ命令に付加するこ
とによつて達成される。 No−Op(ノーオペレーシヨン)はグローバ
ル・ラベルまたはスケーラーに遭遇したときに、
実行される。シーケンス・エラーの検査は、最後
のマイクロ命令の完了時に行われる。 この例では、単純化のために、各マイクロ命令
と等価の10進数を使用して、これらの命令のラベ
ルを表しており、ラベルに対する演算はグローバ
ル・ラベルを取得するためのチエツクサム法であ
る。トラバーサルM1ないしM6(すなわち、分岐
のない経路)は上記のステツプ1の許容経路とし
て任意に選択される。これを以下に示す。かつこ
内の数値は、マイクロ命令に対応するラベルを表
す。
【表】
i=l
(i)=261
最後にスケーラーが生成され、マイクロプログ
ラム・セグメントの適切な位置に挿入され、許容
トラバーサルに沿つた移動が常に、同じグローバ
ル・ラベルをもたらすようになされる。SKIPマ
イクロ命令(SK)は各スケーラーの前にあつて、
非分岐決定によるスケーラーの誤つた実行が、
BFSの前に行われることを防止しなければなら
ない。最後のマイクロプログラム・セグメントを
これに関連したタグと共に、以下に示す。
(i)=261
最後にスケーラーが生成され、マイクロプログ
ラム・セグメントの適切な位置に挿入され、許容
トラバーサルに沿つた移動が常に、同じグローバ
ル・ラベルをもたらすようになされる。SKIPマ
イクロ命令(SK)は各スケーラーの前にあつて、
非分岐決定によるスケーラーの誤つた実行が、
BFSの前に行われることを防止しなければなら
ない。最後のマイクロプログラム・セグメントを
これに関連したタグと共に、以下に示す。
【表】
数種類のオプシヨンの機能を付加して、システ
ム内のエラー検出および故障分離を強化できるこ
とが、当分野の技術者には容易に理解できよう。 たとえば、グローバル・ラベルを生成するのに
使用したチエツクサム法を、高度なエラー検出を
行う、巡回冗長検査(CRC)その他の符号定数
生成法などのもつと複雑な方法に換えることがで
きる。 さらに、各記号(マイクロ命令)に、第1図に
示す検査記号フイールド14を付加することによ
つて、故障分離を強化することもできる。検査記
号は実行点に、中間グローバル・ラベルを与え
る。これは生成された中間グローバル・ラベルと
比較され、不一致があるとエラーが示されるよう
になる。 各文字記号に関するエラーの検出および訂正
を、各文字記号に誤り訂正符号(ECC)を付加
することによつて達成できる。必要なECCビツ
トの数は、システムで必要とされるエラー検出お
よび訂正の場合によつて決定される。ECCが関
係しているのは付加された文字記号だけである
(すなわち、記号ストリングの他のすべての文字
記号とは無関係である)から、したがつて、
ECCが記号ストリングに沿つたシーケンス・エ
ラー検出を行うことはない。たとえば、周知のパ
リテイ・チエツクは、単一ビツトのエラー検出を
行うが、訂正を行わない1ビツトECCである。
2ビツトのECCのフイールドは2ビツトのエラ
ー検出、または単一ビツトのエラー検出と訂正の
いずれかを行う。 F 発明の効果 本発明によれば、条件付き分岐等を有するマイ
クロ命令の系列が正しく実行されているかどうか
を容易に検証する事ができる。
ム内のエラー検出および故障分離を強化できるこ
とが、当分野の技術者には容易に理解できよう。 たとえば、グローバル・ラベルを生成するのに
使用したチエツクサム法を、高度なエラー検出を
行う、巡回冗長検査(CRC)その他の符号定数
生成法などのもつと複雑な方法に換えることがで
きる。 さらに、各記号(マイクロ命令)に、第1図に
示す検査記号フイールド14を付加することによ
つて、故障分離を強化することもできる。検査記
号は実行点に、中間グローバル・ラベルを与え
る。これは生成された中間グローバル・ラベルと
比較され、不一致があるとエラーが示されるよう
になる。 各文字記号に関するエラーの検出および訂正
を、各文字記号に誤り訂正符号(ECC)を付加
することによつて達成できる。必要なECCビツ
トの数は、システムで必要とされるエラー検出お
よび訂正の場合によつて決定される。ECCが関
係しているのは付加された文字記号だけである
(すなわち、記号ストリングの他のすべての文字
記号とは無関係である)から、したがつて、
ECCが記号ストリングに沿つたシーケンス・エ
ラー検出を行うことはない。たとえば、周知のパ
リテイ・チエツクは、単一ビツトのエラー検出を
行うが、訂正を行わない1ビツトECCである。
2ビツトのECCのフイールドは2ビツトのエラ
ー検出、または単一ビツトのエラー検出と訂正の
いずれかを行う。 F 発明の効果 本発明によれば、条件付き分岐等を有するマイ
クロ命令の系列が正しく実行されているかどうか
を容易に検証する事ができる。
第1図は、本発明が実施されるマイクロコー
ド・シーケンスの部分のブロツク図である。第2
図は、典型的なマイクロプログラム・セグメント
の流れ図である。
ド・シーケンスの部分のブロツク図である。第2
図は、典型的なマイクロプログラム・セグメント
の流れ図である。
Claims (1)
- 【特許請求の範囲】 1 逐次マイクロ命令のストリングが正しく実行
されることを検査する方法において、 前記マイクロ命令のストリングの1つの選択さ
れた許容可能経路において各マイクロ命令に対し
てラベルを導出するステツプと、 所定のグローバル・ラベルを得るために所定の
機能により前記導出したラベルに演算を行なうス
テツプと、 マイクロプログラム・セグメントの開始を示す
ために前記マイクロ命令のストリングの入口点で
前記所定のグローバル・ラベルを記憶するステツ
プと、 実行時に、マイクロ命令のストリングの実行と
同時に前記グローバル・ラベルを再生成するステ
ツプと、 実行時に、前記再生成されたグローバル・ラベ
ルと前記マイクロ命令のストリングの実行の完了
時点の前記所定のグローバル・ラベルとを比較す
るステツプとからなることを特徴とするマイクロ
命令系列の実行時検査方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/750,346 US4920538A (en) | 1985-06-28 | 1985-06-28 | Method of checking the execution of microcode sequences |
| US750346 | 1991-08-27 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS626345A JPS626345A (ja) | 1987-01-13 |
| JPH0444294B2 true JPH0444294B2 (ja) | 1992-07-21 |
Family
ID=25017495
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61140408A Granted JPS626345A (ja) | 1985-06-28 | 1986-06-18 | マイクロ命令系列の実行時検査方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4920538A (ja) |
| EP (1) | EP0206092A3 (ja) |
| JP (1) | JPS626345A (ja) |
| CA (1) | CA1252901A (ja) |
Families Citing this family (33)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2986104B2 (ja) * | 1988-03-15 | 1999-12-06 | 株式会社東芝 | 情報処理装置の自己試験回路 |
| JPH01320544A (ja) * | 1988-06-22 | 1989-12-26 | Toshiba Corp | テスト容易化回路 |
| US4980888A (en) * | 1988-09-12 | 1990-12-25 | Digital Equipment Corporation | Memory testing system |
| JPH02199548A (ja) * | 1988-11-09 | 1990-08-07 | Asea Brown Boveri Ag | 電算機系で作成されるオブジエクト・プログラムの時間経過を観察する方法とこの方法を実行する観測器具 |
| US5063535A (en) * | 1988-11-16 | 1991-11-05 | Xerox Corporation | Programming conflict identification system for reproduction machines |
| JPH06105432B2 (ja) * | 1989-06-01 | 1994-12-21 | 三菱電機株式会社 | マイクロプロセッサ |
| US5222220A (en) * | 1989-11-16 | 1993-06-22 | Mehta Hemang S | Microprocessor stack built-in guards |
| DE69129569T2 (de) * | 1990-09-05 | 1999-02-04 | Philips Electronics N.V., Eindhoven | Maschine mit sehr langem Befehlswort für leistungsfähige Durchführung von Programmen mit bedingten Verzweigungen |
| EP0483437A1 (en) * | 1990-10-31 | 1992-05-06 | International Business Machines Corporation | Processing system having device for testing the correct execution of instructions |
| US5333304A (en) * | 1991-05-03 | 1994-07-26 | International Business Machines Corporation | Method and apparatus for software application evaluation utilizing compiler applications |
| US5423027A (en) * | 1991-09-27 | 1995-06-06 | Massachusetts Institute Of Technology | Tool for error detection in software using aspect specification |
| US5353419A (en) * | 1992-01-09 | 1994-10-04 | Trustees Of The University Of Pennsylvania | Memory-side driven anticipatory instruction transfer interface with processor-side instruction selection |
| JP2762829B2 (ja) * | 1992-02-06 | 1998-06-04 | 日本電気株式会社 | 電子計算機 |
| US5634022A (en) * | 1992-03-06 | 1997-05-27 | International Business Machines Corporation | Multi-media computer diagnostic system |
| TW234172B (en) * | 1994-02-08 | 1994-11-11 | Keridian Semiconductor Inc | Method and apparatus for testing the functionality of a microprocessor |
| US5687338A (en) * | 1994-03-01 | 1997-11-11 | Intel Corporation | Method and apparatus for maintaining a macro instruction for refetching in a pipelined processor |
| US5488702A (en) * | 1994-04-26 | 1996-01-30 | Unisys Corporation | Data block check sequence generation and validation in a file cache system |
| US5787304A (en) * | 1996-02-05 | 1998-07-28 | International Business Machines Corporation | Multipath I/O storage systems with multipath I/O request mechanisms |
| US5832005A (en) * | 1997-12-11 | 1998-11-03 | International Business Machines Corporation | Fault-tolerant method and means for managing access to an initial program load stored in read-only memory or the like |
| US7024661B2 (en) * | 2000-01-07 | 2006-04-04 | Hewlett-Packard Development Company, L.P. | System and method for verifying computer program correctness and providing recoverable execution trace information |
| US7533412B2 (en) * | 2002-04-23 | 2009-05-12 | Stmicroelectronics S.A. | Processor secured against traps |
| US20050066311A1 (en) * | 2003-09-22 | 2005-03-24 | International Business Machines Corporation | Autonomic execution tracking and correction of functions |
| DE102005006832B4 (de) * | 2005-02-15 | 2007-10-04 | Infineon Technologies Ag | Schaltungsanordnung und Verfahren zur gesicherten Datenverarbeitung und deren Verwendung |
| DE102006062703A1 (de) * | 2006-02-08 | 2007-08-30 | Infineon Technologies Ag | Fehlererkennungsvorrichtung und Verfahren zur Fehlererkennung für einen Befehlsdecoder |
| DE102006005817B4 (de) * | 2006-02-08 | 2014-06-26 | Infineon Technologies Ag | Fehlererkennungsvorrichtung für einen Adressdecoder und Vorrichtung zur Fehlererkennung für einen Adressdecoder |
| JP4849606B2 (ja) * | 2006-04-28 | 2012-01-11 | 株式会社日立製作所 | 制御フロー誤り検出方法、データ処理装置、及びコンパイラ |
| EP1870829B1 (en) | 2006-06-23 | 2014-12-03 | Microsoft Corporation | Securing software by enforcing data flow integrity |
| DE102006057297A1 (de) * | 2006-12-05 | 2008-06-12 | Giesecke & Devrient Gmbh | Verfahren zur Überwachung des Ablaufs eines Programms |
| US20100064282A1 (en) * | 2008-09-05 | 2010-03-11 | Microsoft Corporation | Declarative testing for user interfaces |
| US8347149B2 (en) * | 2008-10-01 | 2013-01-01 | Cardiac Pacemakers, Inc. | System and method for providing fault tolerant processing in an implantable medical device |
| KR102491651B1 (ko) * | 2015-12-14 | 2023-01-26 | 삼성전자주식회사 | 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법 |
| EP3660715A1 (en) * | 2018-11-30 | 2020-06-03 | Conax AS | Protecting sensitive data in a software program |
| US10831595B1 (en) | 2019-05-31 | 2020-11-10 | International Business Machines Corporation | Performing error detection during deterministic program execution |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4153931A (en) * | 1973-06-04 | 1979-05-08 | Sigma Systems Inc. | Automatic library control apparatus |
| DE2518588C3 (de) * | 1975-04-25 | 1978-07-20 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Verfahren zur Überwachung der Folgerichtigkeit von Codesignalgruppen in Einrichtungen der Nachrichtentechnik |
| JPS5278334A (en) * | 1975-12-25 | 1977-07-01 | Fujitsu Ltd | Program sequence check system |
| US4251885A (en) * | 1979-03-09 | 1981-02-17 | International Business Machines Corporation | Checking programmed controller operation |
| JPS6032217B2 (ja) * | 1979-04-02 | 1985-07-26 | 日産自動車株式会社 | 制御用コンピュ−タのフェィルセ−フ装置 |
| US4315313A (en) * | 1979-12-27 | 1982-02-09 | Ncr Corporation | Diagnostic circuitry in a data processor |
| JPS56152048A (en) * | 1980-04-24 | 1981-11-25 | Mitsubishi Electric Corp | Detector for sequence error of microprogram |
| US4430706A (en) * | 1980-10-27 | 1984-02-07 | Burroughs Corporation | Branch prediction apparatus and method for a data processing system |
| JPH0614320B2 (ja) * | 1984-10-17 | 1994-02-23 | 株式会社日立製作所 | 図式プログラム・テスト方法 |
-
1985
- 1985-06-28 US US06/750,346 patent/US4920538A/en not_active Expired - Lifetime
-
1986
- 1986-04-22 CA CA000507293A patent/CA1252901A/en not_active Expired
- 1986-06-10 EP EP86107883A patent/EP0206092A3/en not_active Withdrawn
- 1986-06-18 JP JP61140408A patent/JPS626345A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS626345A (ja) | 1987-01-13 |
| CA1252901A (en) | 1989-04-18 |
| US4920538A (en) | 1990-04-24 |
| EP0206092A3 (en) | 1989-03-08 |
| EP0206092A2 (en) | 1986-12-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0444294B2 (ja) | ||
| US8281223B2 (en) | Detection of fuse re-growth in a microprocessor | |
| US5974529A (en) | Systems and methods for control flow error detection in reduced instruction set computer processors | |
| Schuette et al. | Processor control flow monitoring using signatured instruction streams | |
| US6708284B2 (en) | Method and apparatus for improving reliability in microprocessors | |
| CN107924356B (zh) | 零开销代码覆盖分析 | |
| US7146530B2 (en) | Targeted fault tolerance by special CPU instructions | |
| CN111475868B (zh) | 适用于功能和信息安全芯片的cpu指令保护方法及系统 | |
| Namjoo | Design of concurrently testable microprogrammed control units | |
| EP4089538B1 (en) | System and method for improved control flow monitoring of processors | |
| US11640332B1 (en) | Execute in place architecture with integrity check | |
| US7155378B2 (en) | Method for providing cycle-by-cycle ad HOC verification in a hardware-accelerated environment | |
| CN116450402B (zh) | 程序流监控方法、编译方法、装置、处理器及计算机设备 | |
| M'zah et al. | Deterministic microcode machine generation | |
| Antola et al. | Transient fault management in systems based on the AMD 2900 microprocessors | |
| Leveugle et al. | Optimized synthesis of dedicated controllers with concurrent checking capabilities | |
| US20250217230A1 (en) | System and method of checking integrity of an instruction decoder of a processing system | |
| US20220188216A1 (en) | Device and methods for processing bit strings | |
| JPS61846A (ja) | メモリ内容の正常性試験方法 | |
| Litchfield | Instruction execution sequence confirmation | |
| JPS58215799A (ja) | 制御記憶検証方式 | |
| Semerenko et al. | TESTING OF DIGITAL CIRCUITS BY CYCLIC CODES | |
| Beckman et al. | Verification of Fault Detection Capability with Diversified Software | |
| Widmann | SafeBigNum–Arbitrary-precision Arithmetic with Integrity Checking | |
| JPS63316138A (ja) | 情報処理装置 |