JPS6053893B2 - control storage - Google Patents

control storage

Info

Publication number
JPS6053893B2
JPS6053893B2 JP55171601A JP17160180A JPS6053893B2 JP S6053893 B2 JPS6053893 B2 JP S6053893B2 JP 55171601 A JP55171601 A JP 55171601A JP 17160180 A JP17160180 A JP 17160180A JP S6053893 B2 JPS6053893 B2 JP S6053893B2
Authority
JP
Japan
Prior art keywords
microinstruction
circuit
instruction
parity
field
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
Application number
JP55171601A
Other languages
Japanese (ja)
Other versions
JPS5794856A (en
Inventor
裕之 泉澤
武夫 覚田
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.)
NEC Corp
Original Assignee
Nippon 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP55171601A priority Critical patent/JPS6053893B2/en
Publication of JPS5794856A publication Critical patent/JPS5794856A/en
Publication of JPS6053893B2 publication Critical patent/JPS6053893B2/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Description

【発明の詳細な説明】 本発明は制御記憶装置に関する。[Detailed description of the invention] The present invention relates to control storage devices.

マイクロプログラム制御型情報処理装置は、マイクロ命
令を制御記憶回路からつぎつぎにマイクロ命令読出しレ
ジスタに読み出し、これを解読してそれに応じて処理を
遂行する。
A microprogram-controlled information processing device successively reads microinstructions from a control storage circuit into a microinstruction read register, decodes the instructions, and performs processing accordingly.

この場合、次に遂行すべきマイクロ命令を制御記憶回路
のどのメモリアドレスから読み出すかは、現在遂行して
いる命令の種類によつて異なり、それは下記の3つの種
類に大別される。すなわち、囚 インクリメントタイプ
の命令 これは最も一般的な命令で、次に実行すべきマイクロ命
令はこの現在実行されているインクリメントタイプの命
令が格納されているつぎのメモリアドレスから読み出さ
れる。
In this case, which memory address in the control storage circuit the microinstruction to be executed next is read out depends on the type of instruction currently being executed, which can be roughly divided into the following three types. Increment type instruction This is the most common instruction, and the next microinstruction to be executed is read from the next memory address where the currently executed increment type instruction is stored.

すなわち、もしあるファームウェアがこのタイプのマイ
クロ命令だけでできている場合、このファームウェアを
実行すると、各マイクロ命令はメモリアドレスの順番に
したがつてつぎつぎに読み出され実行される。”(B)
無条件ブランチ命令これは次に実行すべきマイクロ命令
を、現在実行中のこの命令が指定するメモリアドレスか
ら読み出して実行する。
That is, if a piece of firmware is made up of only microinstructions of this type, when the firmware is executed, each microinstruction will be read out and executed one after another in the order of their memory addresses. ”(B)
Unconditional branch instruction This instruction reads and executes the next microinstruction to be executed from the memory address specified by the currently executing instruction.

例えば、ある処理を行うための一連の前記インクリメン
トタイプの命令がある、場合に、その最後のメモリアド
レスにこの無条件ブランチ命令を格納し、この命令の中
で前記一連のインクリメントタイプの最初の命令のメモ
リアドレスにブランチすべきことを指定すると、これに
より前記ある処理を何度でも無限に繰り返す処理を行う
ファームウェアとなる。(C)条件ブランチ命令 これは、この命令で指定するある条件が満足された場合
にはこの命令で指定するメモリアドレスから次のマイク
ロ命令を読み出し(すなわちそのマイクロ命令にブラン
チし)、もし満足されなかつた場合にはこの命令が格納
されている次のメモリアドレスから次のマイクロ命令を
読み出す。
For example, if there is a series of instructions of the said increment type to perform a certain process, store this unconditional branch instruction at its last memory address, and in this instruction, the first instruction of the said series of increment type If you specify that a branch should be made to the memory address of , this will result in firmware that repeats the certain process an infinite number of times. (C) Conditional branch instruction This instruction reads the next microinstruction from the memory address specified by this instruction (i.e., branches to that microinstruction) if a certain condition specified by this instruction is satisfied; If not, the next microinstruction is read from the next memory address where this instruction is stored.

すなわち、この命令で指定する条件が満足された場合に
は前記(B)と同じ動作をし、満足されなかつた場合に
は(4)の如く動作する種類の命令である。さて、もし
あるファームウェアが、上記(4)および(B)の種類
の命令だけでできていると仮定するとこのファームウェ
アが実行される場合、つぎつぎに読み出されるマイクロ
命令の順序は、このファームウェアによつて処理される
情報とは全く無関係に一義的に定まつてしまうので、プ
ログラムのバスに関する複雑な問題は起らない(このよ
うなプログラムは一つのきまつた処理しかできずフレキ
シビリテイが全くない。そしていつたんこの繰り返しル
ープの中に入ると永久にこのループから抜け出すことが
できない。)これに反して実際のファームウェアは、そ
の中に多くの(C)の種類のマイクロ命令を含み、これ
によつて処理される情報に応じて異なつたプログラムバ
ス(制御記憶回路からマイクロ命令を読み出す順序が異
なるバス)が選択され、この結果処理すべき情報に応じ
て多くの異なる複雑な処理が自動的に遂行される。
That is, this is a type of command that performs the same operation as (B) above when the conditions specified by this command are satisfied, and performs the same operation as (4) when the conditions are not satisfied. Now, if we assume that a certain firmware is made up of only the above types of instructions (4) and (B), when this firmware is executed, the order of the microinstructions that are read out one after another will be determined by this firmware. Because the information is uniquely defined, completely independent of the information to be processed, no complicated problems regarding the program bus occur (such a program can only perform one specific process and has no flexibility at all). (Once you enter this repeating loop, you will never be able to get out of it.) On the other hand, actual firmware contains many (C) type microinstructions, and Depending on the information to be processed, different program buses (buses with different orders for reading microinstructions from the control memory circuit) are selected, and as a result many different and complex processes are automatically performed depending on the information to be processed. be done.

ファームウェアが複雑になる.にしたがつて(C)の種
類のマイクロ命令の数も増加し、このため、このような
ファームウェアの取り得る可能なプログラムバスの数は
厖大なものとなる。例えば、新らしい情報処理装置とそ
れに用いるζファームウェアとが新らしくできた場合、
従来はこのような厖大な数をもつプログラムバスを組識
的に調べてこれをデバッグする適当な手段が知られてい
ない。
Firmware becomes complicated. Accordingly, the number of microinstructions of type (C) also increases, and therefore the number of possible program buses that such firmware can take becomes enormous. For example, if a new information processing device and the ζ firmware used in it are created,
Conventionally, there has been no known appropriate means for systematically examining and debugging such a huge number of program buses.

そのため限られたテスト期間中に通らなかつたプログラ
ムバスにたまたまバグがあソー実際の運用に入つてから
このバスが実行されて誤動作を起し重大な障害に到るよ
うなケースがままおこる。本発明の目的は従来装置のも
つこのような問題を解決する制御記憶装置を提供するこ
とにある。
Therefore, cases often occur where a bug happens to occur in a program bus that did not pass during the limited test period, and the bus is executed after actual operation, resulting in malfunction and serious failure. SUMMARY OF THE INVENTION It is an object of the present invention to provide a control storage device that solves these problems of conventional devices.

本発明の装置は、マイクロプログラム制御型情報処理装
置において、マイクロプログラムの各マイクロ命令を格
納しかつ前記各マイクロ命令に対するチェックビットを
格納するためのチェックビット格納位置を有する読出し
書込み可能な制御記憶回路と、マイクロ命令を実行する
場合に前記記憶回路から読み出された該マイクロ命令と
該マイクロ命令に対する前記チェックビットとを格納す
)るマイクロ命令読出しレジスタと、前記読出しレジス
タに読み出された情報からエラーを検出しまた前記制御
記憶回路にマイクロ命令を書き込むときに前記チェック
ビット格納位置に格納すべき該マイクロ命令のチェック
ビットを発生するエラー・チェック回路と、前記読出し
レジスタに読み出されたマイクロ命令の解読実行結果に
応答して予め定めたトレース情報を発生するトレース情
報発生回路と、通常動作モード指定に応答して前記エラ
ーチェック回路の動作を活性化しまたデバツグモ”−ド
指定に応答して前記エラーチェック回路の動作を抑止し
かつマイクロ命令を実行するたびに該マイクロ命令の解
読実行結果に応答して発生する前記トレース情報を前記
制御記憶回路の中の該マイクロ命令に対するチェックビ
ット格納位置に格納するように制御手段とを含む。次に
本発明を図面を参照して詳細に説明する。
The apparatus of the present invention provides a readable and writable control memory circuit for storing each microinstruction of a microprogram and having a check bit storage position for storing check bits for each microinstruction in a microprogram controlled information processing apparatus. and a micro-instruction read register (for storing the micro-instruction read from the storage circuit and the check bit for the micro-instruction when executing the micro-instruction); an error check circuit that detects an error and generates a check bit of the microinstruction to be stored in the check bit storage location when writing the microinstruction to the control storage circuit; and a microinstruction that is read into the read register. a trace information generation circuit that generates predetermined trace information in response to the decoding execution result of the code; and a trace information generation circuit that activates the operation of the error check circuit in response to the designation of the normal operation mode, and activates the operation of the error check circuit in response to the designation of the debug mode. The operation of the error check circuit is suppressed, and each time a microinstruction is executed, the trace information generated in response to the decoding and execution result of the microinstruction is stored in a check bit storage location for the microinstruction in the control storage circuit. The present invention will now be described in detail with reference to the drawings.

第1図は本発明の一実施例を示すブロック図である。制
御記憶回路(以後RAM)1は高速で書込み読取りので
きるメモリからなり、このメモリの各アドレスは第2図
に示すように命令フィールドCとパリテイビットフィー
ルドPとからなつている。
FIG. 1 is a block diagram showing one embodiment of the present invention. The control storage circuit (hereinafter referred to as RAM) 1 consists of a memory that can be read and written at high speed, and each address of this memory consists of an instruction field C and a parity bit field P, as shown in FIG.

前記命令フィールドCは命令上位フィールドC1と命令
下位フィールドC2とに分けれ、また前記パリテイビッ
トフィールドPは前記命令上位フィールドC1に対する
パリテイビットを格納する上位パリテイビットフィール
ドP1と、前記命令下位フィールドC2に対するパリテ
イビットを格納する下位パリテイビットP2とに分かれ
ている。このPがチェックビット格納位置である。さて
、この記憶回路1を有する本制御記憶装置の通常動作モ
ード時の動作は下記の如くなる。まず、システムの立ち
上げ時に、外部メモリ(例えばディスク等)からファー
ムウェアを読み出してこれを前乱?AMlに格納するが
、この場合には外部から初期書込み中指示ライン2を介
して書込み中指示信号が供給され、このラインが゜゛1
”となる。
The instruction field C is divided into an upper instruction field C1 and a lower instruction field C2, and the parity bit field P is divided into an upper parity bit field P1 that stores parity bits for the upper instruction field C1, and an upper parity bit field P1 that stores parity bits for the upper instruction field C1, and a lower instruction field C2. It is divided into a lower parity bit P2 that stores the parity bit for C2. This P is the check bit storage position. Now, the operation of the present control storage device having this storage circuit 1 in the normal operation mode is as follows. First, when starting up the system, do you read the firmware from external memory (such as a disk) and use it as a preprocessor? In this case, a writing instruction signal is supplied from the outside via the initial writing instruction line 2, and this line is set to ゜゛1.
” becomes.

その結果第1選択回路3は初期書込みデータライン4を
介して転送される前記外部メモリからのマイクロ命令を
いつたんマイクロ命令読出しレジスタ5に格納する。こ
のマイクロ命令読出しレジスタ5も第2図で示したのと
全く同じフィールドをもつが前記外部メモリからのマイ
クロ命令はこのレジスタ5の前記命令フィールドCに格
納される。
As a result, the first selection circuit 3 stores the microinstruction transferred from the external memory via the initial write data line 4 into the microinstruction read register 5. This microinstruction read register 5 also has exactly the same fields as shown in FIG. 2, but the microinstructions from the external memory are stored in the instruction field C of this register 5.

この格納されたマイクロ命令の情報は命令フィールド出
力ライン6を介してパリテイ回路(エラーチェック回路
)7に供給される。パリテイ回路7は、その詳細を第3
図に示すように、上位パリテイ発生回路7−1および下
位パリテイ発生回路7−2を有し、前記レジスタ5の上
位命令フィールドの内容は、前記回路7−1に、また下
位命令フィールドの内容は前記回路7−2にそれぞれ供
給され、その各々のフィールドに対する予め定めたパリ
テイ(例えば該命令フィールドの“゜1゛の和が偶数の
楊合には出力として゜゜0゛を、また奇数の場合には出
力として゜゜1゛)を発生する。これはそれぞれ上位パ
リテイ書込みゲート7−3および下位パリテイ書込みゲ
ート7−4を介して出力され、第1図で示す第2選択回
路8およびパリテイフィールド書込みライン9を経て前
訃?AMlの前記フィールドP1およびP2に書くべき
パリテイデータを供給する。通常動作モードの場合には
モード指定入力ライン14が゜゜0゛となる。
This stored microinstruction information is supplied to a parity circuit (error check circuit) 7 via an instruction field output line 6. The parity circuit 7 is detailed in the third
As shown in the figure, it has an upper parity generation circuit 7-1 and a lower parity generation circuit 7-2, and the contents of the upper instruction field of the register 5 are sent to the circuit 7-1, and the contents of the lower instruction field are sent to the circuit 7-1. The circuit 7-2 is supplied with a predetermined parity for each field (for example, if the sum of "1" of the instruction field is an even number, the output is "0", and if the sum is an odd number, the output is゜゜1゛) is outputted as an output through the upper parity write gate 7-3 and the lower parity write gate 7-4, respectively, and the second selection circuit 8 and the parity field write line 9 shown in FIG. The parity data to be written to the fields P1 and P2 of the predecessor ?AMl is supplied through the input line 1. In the normal operation mode, the mode designation input line 14 becomes 0.0.

これがインバータ7−9を介して前記ゲート7−3およ
び7−4に供給されるので、通常動作モードの場合には
、これらのゲートは常に信号通過を許している。また、
この場合には前記ライン14の“゜0゛がアンドゲート
15を介して第2選択回路8に“0゛を供給する。この
結果第2選択回路8は前記パリテイ回路7の前記ゲート
7−3および前記ゲート7−4の出力を選択する(第2
選択回路8に対する制御信号である前記アンドゲート1
5の出力が6“0゛の場合には回路8は前述のようにパ
リテイ回路7側の出力を選択する。
Since this is supplied to the gates 7-3 and 7-4 via the inverter 7-9, these gates always allow the signal to pass in the normal operating mode. Also,
In this case, "0" on the line 14 supplies "0" to the second selection circuit 8 via the AND gate 15. As a result, the second selection circuit 8 selects the outputs of the gates 7-3 and 7-4 of the parity circuit 7 (second
The AND gate 1 is a control signal for the selection circuit 8.
When the output of the circuit 5 is 6"0", the circuit 8 selects the output of the parity circuit 7 as described above.

゜゜1゛の場合には後述するトレースビット発生回路1
7側の出力を選択する)。この結果、ゲート7−3およ
び7−4の出力はそれぞれRAMlの前記フィールドP
1およびフィールドP2に書き込むべきデータを供給す
るように接続される。さて、システム立ち上げ時にはこ
うして外部メモリから読み出されたファームウェアの各
マイクロ命令は、前述のように、いつたんマイクロ命令
読出しレジスタ5の命令フィールドCに格納されついで
前述のようにして作られたパリテイフィールド用のデー
タがパリテイフィールド書込みライン9を介してRAM
lのパリテイフィールドPに書き込まれるが、これと同
時に、前記マイクロ命令自身は前記レジスタ5から初期
書込みデータバス10を介してRAMlの前記パリテイ
データと同じメモリアドレスの命令フィールドに書き込
まれる。
In the case of ゜゜1゛, trace bit generation circuit 1 described later
7 side output). As a result, the outputs of gates 7-3 and 7-4 are respectively the fields P of RAMl.
1 and to supply the data to be written to field P2. Now, at the time of system startup, each microinstruction of the firmware read out from the external memory in this way is stored in the instruction field C of the microinstruction read register 5, as described above, and then stored in the instruction field C of the microinstruction read register 5, and then the The data for the parity field is transferred to the RAM via the parity field write line 9.
At the same time, the microinstruction itself is written from the register 5 via the initial write data bus 10 to the instruction field of RAM1 at the same memory address as the parity data.

かくしてRAMlの中には2つのパリテイビットを付与
されたファームウェアの各マイクロ命令がつぎつぎに格
納されることになる。つぎに、こうして付与されたパリ
テイビットは通常動作モードの場合には、以下のように
使用される。
In this way, each microinstruction of the firmware assigned two parity bits is stored one after another in RAMl. Next, the parity bit thus assigned is used in the normal operation mode as follows.

すなわち、マイクロプログラムの実行が開始されると、
ファームウェアの各マイクロ命令はR,AMlからマイ
クロ命令読出しレジスタ5に読み出され、デコーダ11
で解読実行されるが、前記レジスタ5に読み出されたマ
イクロ命令の上位命令フィールドC1中のデータは前記
上位パリテイ発生回路7−1に、また下位命令フィール
ドのデータは前記下位パリテイ発生回路7−2にそれぞ
れ供給され、前記回路7−1および回路7−2jの出力
側にこれらのデータに対応するパリテイビットを発生す
る。こうして発生されたそれぞれのパリテイビットは、
上位排他的論理和回路7−5および下位排他的論理和回
路7−6の一方の入力としてそれぞれj供給される。
That is, when the microprogram starts executing,
Each microinstruction of the firmware is read out from R, AMl to the microinstruction read register 5, and then sent to the decoder 11.
The data in the upper instruction field C1 of the microinstruction read into the register 5 is sent to the upper parity generation circuit 7-1, and the data in the lower instruction field is sent to the lower parity generation circuit 7-1. 2, and generate parity bits corresponding to these data at the output sides of the circuits 7-1 and 7-2j. Each parity bit generated in this way is
j is supplied as one input of the upper exclusive OR circuit 7-5 and the lower exclusive OR circuit 7-6, respectively.

一方RAMlのパリテイフィールドPからパリテイ読出
しライン12を介して前記レジスタ5のパリテイフィー
ルドに読み出された上位および下位のパリテイビットは
パリテイフィールド出力ライン13を介して前記上位排
他的論理j和回路7−5および下位排他的論理和回路7
−6のもう一方の入力としてそれぞれ供給される。こう
してマイクロ命令読出しレジスタ5に読み出されたマイ
クロ命令のデータから発生した上位または下位命令フィ
ールドに対するパリテイがもともとそのマイクロ命令に
付与されていた対応するフィールドのパリテイビットの
値と異なる場合にはオア回路7−7の出力が“1゛とな
り、これは動作エラーを示指する情報としてエラー信号
出力ゲート7−8を介して取り出される。以上述べたよ
うに、この制御記憶装置はその制御記憶回路(RAM)
1の中にパリテイビット用のフィールドをもち、またパ
リテイ回路7を具備している。
On the other hand, the upper and lower parity bits read from the parity field P of RAMl via the parity read line 12 to the parity field of the register 5 are sent via the parity field output line 13 to the upper exclusive logic j. Sum circuit 7-5 and lower exclusive OR circuit 7
-6 are respectively supplied as the other input. If the parity for the upper or lower instruction field generated from the microinstruction data read into the microinstruction read register 5 is different from the value of the parity bit of the corresponding field originally assigned to that microinstruction, the OR The output of the circuit 7-7 becomes "1", which is taken out via the error signal output gate 7-8 as information indicating an operational error.As described above, this control memory device has its control memory circuit ( RAM)
1 has a field for a parity bit, and is also equipped with a parity circuit 7.

通常動作モードの場合には、これにより、マイクロ命令
をRAMlに書き込む際に各マイクロ命令にパリテイを
付与して書き込み、またRAMlからマイクロ命令を読
み出す際に読み出したマイクロ命令のパリテイチェック
から読み出しによるエラーが生じたか否かを検査する機
能を果している。但し、これらの機能はすでに公知のも
のと同様である。本発明装置の特徴は、上述の通常動作
モードのほかにデバッグモードを有していて、このモー
ドのときには前記パリテイフィールドを全く別の目的の
トレースビット格納用として使用し、前述の従来装置の
もつ問題を解決して−いる点にある。以下これについて
詳細に説明する。デバッグモードの場合には、モード指
定入ガラ′1.二Mτ曽:?こ=÷+輩:2イ回路7の
前記ゲート7−4,7−3および7−8の信号通過が禁
止されパリテイ回路7はその出力側でデイセーブルされ
る。
In the normal operating mode, this allows parity to be added to each microinstruction when writing it to RAMl, and parity checking of the read microinstruction when reading microinstructions from RAMl. It functions to check whether an error has occurred. However, these functions are similar to those already known. A feature of the device of the present invention is that it has a debug mode in addition to the above-mentioned normal operation mode, and in this mode, the parity field is used to store trace bits for a completely different purpose, unlike the conventional device described above. The point is that it solves the problems that exist. This will be explained in detail below. In the case of debug mode, enter the mode specification '1. 2Mτso:? =÷+2:2i The passage of signals through the gates 7-4, 7-3 and 7-8 of the circuit 7 is prohibited, and the parity circuit 7 is disabled on its output side.

一方このモード指定信号“゜1゛はアンドゲート15を
介して前記第2選択回路8に供給される。アンドゲート
15のもこう一方の入力には前記初期書込み中指示ライ
ン2がインバータ16を介して接続されていて、この結
果デバッグモードでありかつ初期書込み中でない場合に
はアンドゲート15の出力が゜゜1゛となり前記第2選
択回路8は前記パリテイフィールド3書込みライン9の
入力として、前記パリテイ回路7の出力のかわりに、ト
レースビット発生回路17の出力を選択する。第4図は
このトレースビット発生回路発明の詳細な説明する図で
ある。
On the other hand, this mode designation signal "゜1" is supplied to the second selection circuit 8 via an AND gate 15.The initial write instruction line 2 is connected to one input of the AND gate 15 via an inverter 16. As a result, when the debug mode is in effect and the initial write is not in progress, the output of the AND gate 15 becomes ゜゜1゛, and the second selection circuit 8 inputs the parity field 3 as an input to the write line 9. The output of the trace bit generation circuit 17 is selected instead of the output of the parity circuit 7. FIG. 4 is a diagram illustrating the invention of the trace bit generation circuit in detail.

4・前記マイクロ命令読出しレ
ジスタ5のP1フィールドおよびP2フィールドからの
データはパリテイフィールド出力ライン13を介してこ
ののトレースビット発生回路17の上位読出しビット入
力ライン17−1および下位読出しビット入力ライン1
7−2にそれぞれ供給され、上位ビットオア回路17−
3および下位ビットオア回路17一4のそれぞれ一方の
入力となる。前記2つのオア回路11−3および17−
4のもう一方の入力はトレースエンコーダ11−5のエ
ンコーダ上位ビット出力ライン17−6およびエンコー
ダ下位ビット出力ライン17−7を介して供給される。
一方、前記トレースエンコーダ17−5はその”入力と
して、インクリメントタイププ命令指示入力17−8、
無条件ブランチ命令指示入力17−9、条件ブランチ命
令指示入力17−10およびブランチ条件指示入力17
−11の4つの入力をもつている。これらの各入力は前
記デコーダ11のしかるべき出力かまたは実行結果に応
答するしかるべきフリップフロップに接続され、前記マ
イクロ命令読出しレジスタ5に読み出されたマイクロ命
令が例えばインクリメントタイプの命令である場合には
前記入力17−8が、また無条件ブランチ命令である場
合には17−9が、また条件ブランチ命令でかつそのブ
ランチ条件が満足されている場合には17−10および
17−11が、また条件ブランチ命令でかつそのブラン
チ条件が満足されていない場合には17−10だけがそ
れぞれ゜“1゛になり他ぱ゜0゛となる。このような各
入力信号に対する、前記トレースエンコーダ17−5の
エンコーダ上位ビット出力ライン17−6およびエンコ
ーダ下位ビット出力ライン17−7に出力される出力信
号は第1表に示すようになる・ .−
一例えばインクリメントタイプ命令指示入力17一8
だけが“゜1゛で他の入力はすべて“゜0゛の場合には
エンコーダ上位ビット出力ライン17−6とエンコーダ
下位ビット出力ライン17−7との両方にそれぞれ“1
゛が出力される。
4. Data from the P1 field and P2 field of the micro-instruction read register 5 is passed through the parity field output line 13 to the upper read bit input line 17-1 and the lower read bit input line 1 of the trace bit generation circuit 17.
7-2, and upper bit OR circuit 17-
3 and one input of each of the lower bit OR circuits 17-4. The two OR circuits 11-3 and 17-
The other input of 4 is provided via encoder upper bit output line 17-6 and encoder lower bit output line 17-7 of trace encoder 11-5.
On the other hand, the trace encoder 17-5 has an increment type input instruction input 17-8,
Unconditional branch instruction instruction input 17-9, conditional branch instruction instruction input 17-10, and branch condition instruction input 17
It has four inputs of -11. Each of these inputs is connected to an appropriate output of the decoder 11 or an appropriate flip-flop responsive to the execution result, and is connected to an appropriate output of the decoder 11 or an appropriate flip-flop responsive to the execution result, if the microinstruction read into the microinstruction read register 5 is, for example, an increment type instruction. input 17-8, 17-9 if it is an unconditional branch instruction, 17-10 and 17-11 if it is a conditional branch instruction and the branch condition is satisfied, and If it is a conditional branch instruction and the branch condition is not satisfied, only 17-10 becomes "1" and the others become 0. The output signals output to the encoder upper bit output line 17-6 and encoder lower bit output line 17-7 are as shown in Table 1.
For example, increment type command instruction input 17-8
If only the encoder input is “゜1” and all other inputs are “゜0”, “1” is output to both the encoder upper bit output line 17-6 and the encoder lower bit output line 17-7, respectively.
゛ is output.

また例えば条件ブランチ命令指示入力17−10が66
r゛でかつブランチ条件指示入力17−11が゜“0゛
の場合にはエンコーダ上位ビット出力ライン17−6に
′60″がエンコーダ下位ビット出力ライン17−7に
゜゜1゛が、また例えば条件ブランチ命令指示入力17
−10が6゜1゛でかつブランチ条件指示入力17−1
1も“1゛の場合にはエンコーダ上位ビット出力ライン
17−6に゜“1゛がエンコーダ下位ビット出力ライン
17−7に6゜01がそれぞれ出力される。こうして出
力された信号はそれぞれ前記上位ビットオア回路17−
3および下位ビットオア回路17−4により、前記マイ
クロ命令読出しレジスタ5のパリテイフィールドから読
み出されたデータと0Rされて前記第2選択回路8およ
び前記パリテイフィールド書込みライン9を介してRA
Mlのパリテイス,イールド用のデータとして供給され
る。さて、以上の構成をとることによりデバッグモード
の場合には以下のように動作する。
For example, the conditional branch instruction instruction input 17-10 is 66
r'' and the branch condition instruction input 17-11 is ゜"0", '60'' is sent to the encoder upper bit output line 17-6, ゜゜1゛ is sent to the encoder lower bit output line 17-7, and, for example, if the condition Branch command instruction input 17
-10 is 6゜1゛ and branch condition instruction input 17-1
If 1 is also "1", "1" is output to the encoder upper bit output line 17-6 and 6 DEG 01 is output to the encoder lower bit output line 17-7. The signals outputted in this way are respectively the upper bit OR circuits 17-
3 and the lower bit OR circuit 17-4, the data read out from the parity field of the microinstruction read register 5 is 0R'ed, and then sent to the RA via the second selection circuit 8 and the parity field write line 9.
It is supplied as data for parity and yield of Ml. Now, with the above configuration, the operation in debug mode is as follows.

まず、デバッグモードの場合のファームウェアの初期書
込みのときには、モード指定入力ライン14が゜“1゛
になるが、初期書込み中指示ライン2も゜゜1゛となり
これがインバータ16を介してアンドゲート15に加わ
るので、アンドゲート15の出力ぱ“0゛となり、この
ため第2選択回路8はパリテイフィールド書込みライン
9の入力として、パリテイ回路7の前記上位パリテイ書
込みゲート7−3および下位パリテイ書込みゲート7−
4の出力を選ぶ。
First, during the initial writing of firmware in the debug mode, the mode designation input line 14 becomes ゜゜1゛, but during the initial writing, the instruction line 2 also becomes ゜゜1゛, which is applied to the AND gate 15 via the inverter 16. Therefore, the output voltage of the AND gate 15 becomes "0", and therefore the second selection circuit 8 inputs the upper parity write gate 7-3 and the lower parity write gate 7- of the parity circuit 7 as inputs to the parity field write line 9.
Select output 4.

ところがこれらのゲートには前記モード指定入力ライン
14からの“1゛がインバータ7−9を介して供給され
るので信号通過が禁止される。このためデバッグモード
の場合には初期書込みによりRAMlに格納されたファ
ームウェアのすべてのマイクロ命令はそのパリテイフィ
ールド1がすべて゜゜0゛になつている。さて、こうし
て初期書込みにより格納されたファームウェアは、テス
ト期間中においてデバッグモードの設定により、一時的
に前述のパリテイチェック機能を押えた状態で種々のテ
ストデータを流してテストランされる。デバッグモード
でファームウェアが実行されると以下のように動作する
。まず、あるマイクロ命令がマイクロ命令読出しレジス
タ5に読み出されると、デコーダ11で解読され、この
解読結果に応じてこの命令が実行される。
However, since "1" from the mode designation input line 14 is supplied to these gates via the inverter 7-9, the signal passage is prohibited.For this reason, in the debug mode, the data is stored in RAM1 by initial writing. The parity field 1 of all microinstructions in the firmware that has been written is set to ゜゜0゛.Now, during the test period, the firmware stored by initial writing is temporarily set to the above-mentioned debug mode. A test run is performed by flowing various test data with the parity check function suppressed.When the firmware is executed in debug mode, it operates as follows.First, a certain microinstruction is read into the microinstruction read register 5. When the instruction is read, it is decoded by the decoder 11, and the instruction is executed according to the decoding result.

これと共にデコーダ11および演算回路(図示していな
い)は、このマイクロ命令がインクリメントタイプの命
令か、無条件ブランチ命令か条件付ブランチ命令でかつ
そのブランチ条件が満足しているか、または条件付ブラ
ンチ命令でかつそのブランチ条件が満足していないかの
それぞれの場合に応じて、それに従つた出力信号を発生
しそれを前記トレースビット発生回路17の中のトレー
スエンコーダ17−5の各々の入力に供給する。その結
果前述したトレースビット発生回路17の動作により、
現在の命令がインクリメントタイプの命令である場合に
はパリテイフィールド書込みライン9を介してRAMl
の上位パリテイフィールドP1および下位パリテイフィ
ールドP2にそれぞれ“゜1゛および゜゜1゛を書き込
むようなデータが供給され、このデータは制御記憶書込
み読出し制御部(とくに図示していない)の制御により
、現在、前記レジスタ5に読出されているマイクロ命令
が格納されているRAMlのメモリアドレスのパリテイ
フィールドに書込まれる。同様にもし現在の命令が無条
件ブランチ命令である場合には全く同様にこのマイクロ
命令が格納されているRAMlのメモリアドレスの上位
および下位のパリテイフィールドに6′r′および66
r3を格納する。すなわち、前述の初期書込み以来少く
も1回またはそれ以上実行されたことのあるインクリメ
ントタイプの命令または無条件ブランチ命令が格納され
ているRAMlのメモリアドレスのパリテイフィールド
には必らず“゜1゛1“1゛が格納され、1回も実行さ
れたことのない前記マイクロ命令のパリテイフィールド
には必らず′60″″01が格納されていることになる
Along with this, the decoder 11 and the arithmetic circuit (not shown) determine whether this microinstruction is an increment type instruction, an unconditional branch instruction, a conditional branch instruction, and the branch condition is satisfied, or a conditional branch instruction. and the branch condition is not satisfied, generates an output signal accordingly and supplies it to each input of the trace encoder 17-5 in the trace bit generation circuit 17. . As a result, due to the operation of the trace bit generation circuit 17 described above,
If the current instruction is an increment type instruction, the parity field is
Data such as "゜1゛" and "゜゜1" are respectively written into the upper parity field P1 and the lower parity field P2 of , is written to the parity field of the memory address of RAMl where the microinstruction currently being read out to the register 5 is stored.Similarly, if the current instruction is an unconditional branch instruction, 6'r' and 66 are placed in the upper and lower parity fields of the memory address of RAMl where this microinstruction is stored.
Store r3. That is, the parity field of the memory address of RAM1 where an increment type instruction or an unconditional branch instruction that has been executed at least once or more since the initial write described above is stored does not necessarily contain "゜1". The parity field of the microinstruction in which "1"1" is stored and has never been executed will always contain "60""01.

もし、現在の命令が条件ブランチ命令でかつその条件が
満足されブランチを指示している場合には、トレースビ
ット発生回路17および前記制御記憶書込み読出し制御
部を含む回路の動作により該条件ブランチ命令が格納さ
れているメモリアドレスのP1フィールドに“゜1゛を
0Rするごとく動作する(実際には読み出された該命令
のP1フィールドのデータと上記の条件によりトレース
エンコーダ17−5で発生した“゜1゛とがオア回路1
7−3で0Rされこれが前記メモリアドレスのP1フィ
ールドに書き込まれる)。
If the current instruction is a conditional branch instruction and the condition is satisfied and a branch is instructed, the conditional branch instruction is executed by the operation of the circuit including the trace bit generation circuit 17 and the control memory write/read controller. It operates as if 0R "゜1" to the P1 field of the stored memory address (actually, the "゜1゛ is OR circuit 1
7-3, and this is written into the P1 field of the memory address).

またもし、現在の命令が条件ブランチ命令でかつその条
件が満足されずブランチを指示していない場合には、上
述と同様にして該条件ブランチ命令が格納されているメ
モリアドレスのP2フィールドに゜゜1゛を0Rしたの
と等価の動作をする。
Also, if the current instruction is a conditional branch instruction and the condition is not satisfied and no branch is specified, the P2 field of the memory address where the conditional branch instruction is stored is set to ゜゜1 in the same way as described above. The operation is equivalent to 0R of ゛.

以上の動作の結果、初期書込み以来該条件ブランチ命令
が全く実行されたことがなければ該命令が格納されてい
るメモリアドレスのP1およびP2フィールドには6゜
0゛10゛が、またもしすべての場合にブランチ条件を
満足しないで該命令が実行された場合にぱ“0゛゜゜1
゛が、反対にすべての場合にブランチ条件を満足して該
命令が実行された場合には6゜11゜0″が、さらにま
た、あ−る場合にはブランチ条件を満足しないで該命令
が実行され別の場合にはブランチ条件を満足して該命令
が実行されるというように該命令がすべて(両方)の条
件の下で実行された場合にぱ“1゛“6F゛がそれぞれ
格納されることになる。さて以上に述べたトレースモー
ドの動作をテスト期間中に下記のように用いる。まず、
トレースモードに設定し、ファームウェアの初期書込み
を行ない、テストデータを流してこのファームウェアの
テストランを実行し、しかる後にRAMlの−内容をす
べてダンプする。こうしてダンプされたRAMlの内容
は、その1部を第5図に示すように、あるマイクロ命令
が格納されていたRAMl中におけるメモリアドレス(
ADRS)と、このマイクロ命令自身と、そのマイクロ
命令の実行状態を指示する前記P1およびP2フィール
ドの内容(トレースモードの場合にはこのフィールドは
パリテイフィールドではなくて上位および下位のトレー
スビットフィールドとなる)からなつている。このPl
,P2フィールドの内容を調べることにより、このテス
ト期間中に全く実行されなかつたマイクロ命令にはそこ
に66016『5が格納されているので1目でわかる。
ノ また、すべての条件(ブランチ条件が満足された場
合と満足されない場合との両方の条件)のもとでは実行
されなかつた条件ブランチ命令には゜“0゛゜“1゛ま
たぱ゜1゛゛゜0゛のいずれか1方が格納されているの
で同様に1目でわかる。
As a result of the above operations, if the conditional branch instruction has not been executed at all since the initial write, the P1 and P2 fields of the memory address where the instruction is stored will contain 6゜0゛10゛, and if all If the instruction is executed without satisfying the branch condition, the value is “0゛゜゜1
゛, conversely, if the branch condition is satisfied and the instruction is executed in all cases, then 6゜11゜'', and furthermore, in some cases, the branch condition is not satisfied and the instruction is executed. If the instruction is executed under all (both) conditions, the fields "1" and "6F" are stored, respectively, such that the instruction is executed under all (both) conditions, such that in other cases, the branch condition is satisfied and the instruction is executed. Now, the operation of the trace mode described above is used as follows during the test period.First,
Set to trace mode, perform initial writing of firmware, run test run of this firmware by flowing test data, and then dump all contents of RAMl. As shown in FIG. 5, part of the contents of RAM1 dumped in this way is a memory address in RAM1 where a certain microinstruction was stored (
ADRS), this microinstruction itself, and the contents of the P1 and P2 fields that indicate the execution state of the microinstruction (in the case of trace mode, this field is not a parity field but the upper and lower trace bit fields). becomes). This Pl
, P2 field, it can be seen at a glance that microinstructions that were not executed at all during this test period have 66016'5 stored there.
Also, for conditional branch instructions that are not executed under all conditions (both conditions where the branch condition is satisfied and those where the branch condition is not satisfied), Since either one is stored, it can be seen at a glance as well.

従つ−て、このような情況が生じた場合には、使用した
テストデータが不完全のためにこれらのマイクロ命令に
対する実行が行なわれなかつたのか、あるいはまたファ
ームウェアそのものに問題があるためにこうなつたのか
、あるいはまたハードウェアのどこかが誤動作している
ためにこうなつたのか等をこのデータを基にして組識的
に追跡解析することが非常に容易に行なえる。これを行
うことにより最初に述べたような、あるマイクロ命令を
含むバスがテスト期間中にテストされずに見過され、し
かもこのバスにバグがあつて実際の運用に入つてからこ
のバスが実行されて重大な障害を引き起こすというよう
な問題を除去することができる。勿論、トレースモード
の使用は特別な場合を除き、テスト期間中に限られるが
、このトレースモードを使用するRAMl中における前
記トレースビットフィールドは、本発明においては通常
動作モードにおけるパリテイビットフィールドを活用し
ているためこのトレースモードの追加が設備上の大きな
負坦にはならないという特徴を有している。
Therefore, when this situation occurs, it is possible that these microinstructions were not executed because the test data used was incomplete, or that there is a problem with the firmware itself. Based on this data, it is very easy to systematically trace and analyze whether the problem is due to a malfunction in the hardware or whether it is due to a malfunction somewhere in the hardware. By doing this, as mentioned at the beginning, a bus containing a certain microinstruction may be overlooked without being tested during the test period, and if there is a bug in this bus, the bus may not be executed after actual operation begins. It is possible to eliminate problems such as those that could cause serious problems. Of course, the use of the trace mode is limited to the test period except in special cases, but in the present invention, the trace bit field in RAM1 using this trace mode utilizes the parity bit field in the normal operation mode. Therefore, the addition of this trace mode does not impose a large burden on equipment.

なお、以上の実施例においては1つのマイクロ命令ごと
に上位および下位の2つのトレースビットを使用し、条
件ブランチ命令の動作条件を区別して示すようにしたが
、これを1つとし、1度でも実行された命令に対しては
“1゛が、また1度も実行されなかつた命令に対してぱ
゜0゛が格納されるようにして回路を簡単化することも
できる。
In the above embodiment, the upper and lower trace bits are used for each microinstruction to distinguish and indicate the operating conditions of the conditional branch instruction. The circuit can be simplified by storing "1" for executed instructions and "0" for instructions that have never been executed.

あるいはまた、1つのマイクロ命令ごとのトレースビッ
トの数を更に増し、例えば3方向分岐命令があつた場合
に3つの分岐条件に対するそれぞれの分岐を異なつたビ
ットを用いて区別して表示することもできる。
Alternatively, the number of trace bits for each microinstruction can be further increased, so that, for example, when a three-way branch instruction occurs, each branch corresponding to three branch conditions can be distinguished and displayed using different bits.

以上のように、本発明を用いることにより、通常動作モ
ードの場合のパリテイビットフィールドを利用するトレ
ースモードを設定し、これにより実行されないプログラ
ムバスの組識的な追跡解析を可能にし、その結果運用状
態になつてから発生する見過されたプログラムバスに含
まれるバグに起因する重大な障害を除去することができ
る。
As described above, by using the present invention, it is possible to set a trace mode that utilizes the parity bit field in the normal operation mode, thereby making it possible to systematically trace and analyze program buses that are not executed. It is possible to eliminate serious failures caused by overlooked bugs included in the program bus that occur after the program is put into operation.

これにより装置の信頼性の向上を達成できるという効果
がある。
This has the effect of improving the reliability of the device.

【図面の簡単な説明】 第1図は本発明の一実施例を示すブロック図、第2図は
前記実施例に使用する制御記憶回路中における1つのメ
モリアドレスの各フィールドの構成を説明するための図
、第3図および第4図は前記実施例に使用するパリテイ
回路およびトレースビット発生回路を示す図および第5
図は読み出さ q
れた制御記憶回路の内容を説明するための図である。 図において、1・・・・・・制御記憶回路、2・・・・
・・初期書込み中指示ライン、3・・・・・・第1選択
回路、4・・・・・・初期書込みデータライン、5・・
・・・マイクロ命令読出しレジスタ、7・・・・・・パ
リテイ回路、8・・・・・・第2選択回路、6,9,1
2,13,14,17−1,17−2,17−6,17
−7・・・・・ライン、10・・・・・・初期書込みデ
ータバス、11・・・・・・デコーダ、15・・・・・
・アンドゲート、16・・・・・・インバータ、17・
・・・・・トレースビット発生回路、7−1・・・・・
上位パリテイ発生回路、7−2・・・・・・下位パリテ
イ発生回路、7−3・・・・・・上位パリテイ書込みゲ
ート、7−4・・・・・・下位パリテイ書込みゲート、
7−5・・・・・・上位排他的論理和回路、7−6・・
・・・・下位排他的論理和回路、7−7・・・・・・オ
ア回路、7−8・・・・・・エラー信号出力ゲート、7
−9・・・・・・インバータ、17−3・・・・・・上
位ビットオア回路、17−4・・・・下位ビットオア回
路、17−5・・・・・・トレ−スーエンコーダ。
[BRIEF DESCRIPTION OF THE DRAWINGS] FIG. 1 is a block diagram showing one embodiment of the present invention, and FIG. 2 is for explaining the structure of each field of one memory address in the control storage circuit used in the embodiment. , FIG. 3, and FIG. 4 are diagrams showing the parity circuit and trace bit generation circuit used in the above embodiment, and FIG.
Read the figure q
FIG. 3 is a diagram for explaining the contents of a control storage circuit. In the figure, 1... control storage circuit, 2...
...Initial writing instruction line, 3...First selection circuit, 4...Initial write data line, 5...
... Microinstruction read register, 7 ... Parity circuit, 8 ... Second selection circuit, 6, 9, 1
2, 13, 14, 17-1, 17-2, 17-6, 17
-7...Line, 10...Initial write data bus, 11...Decoder, 15...
・AND gate, 16...Inverter, 17・
...Trace bit generation circuit, 7-1...
Upper parity generation circuit, 7-2... Lower parity generation circuit, 7-3... Upper parity write gate, 7-4... Lower parity write gate,
7-5... Upper exclusive OR circuit, 7-6...
...Lower exclusive OR circuit, 7-7...OR circuit, 7-8...Error signal output gate, 7
-9... Inverter, 17-3... Upper bit OR circuit, 17-4... Lower bit OR circuit, 17-5... Trace encoder.

Claims (1)

【特許請求の範囲】[Claims] 1 マイクロプログラム制御型情報処理装置において、
マイクロプログラムの各マイクロ命令を格納しかつ前記
各マイクロ命令に対するチェックビットを格納するため
のチェックビット格納位置を有する読出し書込み可能な
制御記憶回路と、マイクロ命令を実行する場合に記憶回
路から読み出された該マイクロ命令と該マイクロ命令に
対する前記チェックビットとを格納するマイクロ命令読
出しレジスタと、前記読出しレジスタに読み出された情
報からエラーを検出しまた前記制御記憶回路にマイクロ
命令を書き込むときに、前記チェックビット格納位置に
格納すべき該マイクロ命令のチェックビットを発生する
エラーチェック回路と、前記読出しレジスタに読み出さ
れたマイクロ命令の解読実行結果に応答して予め定めた
トレース情報を発生するトレース情報発生回路と、通常
動作モード指定に応答して前記エラーチェック回路の動
作を活性化しまたデバッグモード指定に応答して前記エ
ラーチェック回路の動作を抑止しかつマイクロ命令を実
行するたびに該マイクロ命令の解読実行結果に応答して
発生する前記トレース情報を前記制御記憶回路の中の該
マイクロ命令に対するチェックビット格納位置に格納す
るように制御する制御手段とを含むことを特徴とする制
御記憶装置。
1 In a microprogram-controlled information processing device,
a readable and writable control memory circuit having check bit storage locations for storing each microinstruction of a microprogram and check bits for each of the microinstructions; a microinstruction read register that stores the microinstruction and the check bit for the microinstruction; and a microinstruction read register that stores the microinstruction and the check bit for the microinstruction; an error check circuit that generates a check bit for the microinstruction to be stored in the check bit storage location; and trace information that generates predetermined trace information in response to the result of decoding and executing the microinstruction read into the read register. a generation circuit, which activates the operation of the error check circuit in response to the designation of the normal operation mode, inhibits the operation of the error check circuit in response to the designation of the debug mode, and activates the operation of the error check circuit in response to the designation of the normal operation mode, and suppresses the operation of the error check circuit in response to the designation of the debug mode; A control storage device comprising control means for controlling the trace information generated in response to a decoding execution result to be stored in a check bit storage location for the microinstruction in the control storage circuit.
JP55171601A 1980-12-05 1980-12-05 control storage Expired JPS6053893B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP55171601A JPS6053893B2 (en) 1980-12-05 1980-12-05 control storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP55171601A JPS6053893B2 (en) 1980-12-05 1980-12-05 control storage

Publications (2)

Publication Number Publication Date
JPS5794856A JPS5794856A (en) 1982-06-12
JPS6053893B2 true JPS6053893B2 (en) 1985-11-27

Family

ID=15926184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP55171601A Expired JPS6053893B2 (en) 1980-12-05 1980-12-05 control storage

Country Status (1)

Country Link
JP (1) JPS6053893B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62290944A (en) * 1986-06-10 1987-12-17 Nec Corp Evaluation system for microprogram

Also Published As

Publication number Publication date
JPS5794856A (en) 1982-06-12

Similar Documents

Publication Publication Date Title
KR950006616B1 (en) System and method for preserving source instruction atomicity in translated program code
JPS59114649A (en) Inspection of processor
US3618042A (en) Error detection and instruction reexecution device in a data-processing apparatus
JPS6053893B2 (en) control storage
KR19990071604A (en) Processing system and method for reading and restoring information in RAM configuration
JPH0192843A (en) Data processing apparatus and method
JPS58195257A (en) Fault recovery system of electronic computer
JPS59123934A (en) Programmable logic controller
JPS60142747A (en) Instruction execution control system
JP3171615B2 (en) Data transfer retry control method
JP2782471B2 (en) Data transfer retry control method
JPS5829056A (en) Control storage device
JPS63187343A (en) Diagnosing system
JPS599756A (en) Microprogram control device
JPS58129555A (en) Microprogram control device
JPH0277946A (en) Measurement system for coverage of microprogram
JPH0667970A (en) Maintenance controller for extended storage device
JPS626341A (en) Information processor
JPS5862747A (en) Program joint editing system
JPS6248865B2 (en)
JPS603032A (en) Information processor
JPS62111336A (en) Debugging system
JPS6113612B2 (en)
JPS59218555A (en) Microprogram control device
JPH04367902A (en) Programmable controller