JPH0326860B2 - - Google Patents
Info
- Publication number
- JPH0326860B2 JPH0326860B2 JP16626684A JP16626684A JPH0326860B2 JP H0326860 B2 JPH0326860 B2 JP H0326860B2 JP 16626684 A JP16626684 A JP 16626684A JP 16626684 A JP16626684 A JP 16626684A JP H0326860 B2 JPH0326860 B2 JP H0326860B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- read
- control
- register
- microinstruction
- 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
Links
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、データ処理装置に使用されるマイク
ロプログラム制御装置に関する。DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a microprogram control device used in a data processing device.
(従来の技術)
データ処理装置におけるソフトウエア命令の読
出し、解釈、および実行はレジスタ間での情報の
転送、主記憶への動作指令、桁シフトおよび加算
など数十種類の基本動作の組合せに分類できる。
ソフトウエア命令は数個から数十個の基本動作を
順次実行することによつて実行され、これらの基
本動作を指定する指令はマイクロ命令と呼ばれ
る。(Prior Art) The reading, interpretation, and execution of software instructions in a data processing device are classified into dozens of basic operation combinations, such as information transfer between registers, operation commands to main memory, digit shifting, and addition. can.
Software instructions are executed by sequentially executing several to several dozen basic operations, and instructions specifying these basic operations are called microinstructions.
ソフトウエア命令の読出し、解釈、および実行
はマイクロ命令の組合せから成るプログラム形式
(マイクロプログラム)により記述できる。この
マイクロプログラムを記憶するための制御記憶
と、制御記憶アドレスを生成するためのアドレス
生成回路と、読出されたプログラムに含まれるマ
イクロ命令を解読してハードウエア制御信号に変
換するための命令解読変換回路とを設けることに
よりソフトウエア命令の制御を実現することがで
きる。この手段はマイクロプログラム制御方式と
呼ばれ、複雑な制御を明確に記述できること、機
能拡張の柔軟性に富むこと、および変更が容易で
あるこことの長所を有する。さらに、マイクロプ
ログラムレベルで記述された診断方式(マイクロ
診断)によれば、故障に対して高検出率と高分解
能とを実現することができることは公知である。
さらに、マイクロ診断は小さなハードウエアで診
断を実現できるという利点もある。 The reading, interpretation, and execution of software instructions can be described in the form of a program (microprogram) consisting of a combination of microinstructions. A control memory for storing this microprogram, an address generation circuit for generating a control memory address, and an instruction decoding conversion unit for decoding microinstructions included in the read program and converting them into hardware control signals. By providing a circuit, control of software instructions can be realized. This means is called a microprogram control system, and has the following advantages: complex control can be clearly described, flexibility in function expansion, and change is easy. Furthermore, it is well known that a diagnostic method (microdiagnosis) written at the microprogram level can achieve a high detection rate and high resolution for failures.
Furthermore, microdiagnosis has the advantage that diagnosis can be realized with small hardware.
(発明が解決すべき問題点)
マイクロプログラム制御装置において、このマ
イクロ診断方式によりキヤツシユメモリ、ならび
にスクラツチパツドメモリのようなRAMで構成
される機能ブロツクを診断する場合には、多量の
診断データが必要である。演算回路をマイクロプ
ログラムの制御のもとで動作させ、この種のデー
タを生成することも可能であるが、ハードウエア
が増加するという欠点があり、制御記憶から増加
させる方法がより望ましい。一方、従来の制御記
憶においてデータフイールドとして使用できる定
数フイールドには分岐アドレスフイールドを兼ね
ているものが多く、たかだか2バイト幅程度であ
つた。したがつて、この種の制御記憶において
RAMを含むブロツクの診断を実行すると、膨大
なステツプ数を必要とするという欠点があつた。
また、ある種のマイクロプログラム制御装置は、
複数の条件を一時に参照し、その結果に応じて多
数の分岐先より一つの条件のみを選択して分岐す
る、いわゆるnウエイ分岐方式を採用している。
この種の分岐動作においては、条件の組合せによ
つて論理的に分岐しない分岐選択岐を派生するこ
とがある。この選択岐に対応する分岐先アドレス
の示す制御記憶上の位置は離散的に存在し、マイ
クロプログラムの実行時に使用できない無駄なハ
ードウエアとなるという欠点があつた。(Problems to be Solved by the Invention) When diagnosing functional blocks composed of RAM such as cache memory and scratchpad memory using this microdiagnosis method in a microprogram control device, a large amount of diagnosis is required. Data is needed. Although it is possible to generate this type of data by operating an arithmetic circuit under the control of a microprogram, this has the drawback of increasing the amount of hardware, so a method of generating data from a control memory is more desirable. On the other hand, in conventional control memory, many constant fields that can be used as data fields also serve as branch address fields, and are about 2 bytes wide at most. Therefore, in this kind of control memory
The drawback of running a diagnostic on a block containing RAM is that it requires a huge number of steps.
Also, some types of microprogram controllers
A so-called n-way branching method is adopted in which a plurality of conditions are referenced at once and, depending on the result, only one condition is selected from a large number of branch destinations and branched.
In this type of branching operation, a combination of conditions may lead to a branch selection that does not logically branch. The locations in the control memory indicated by the branch destination addresses corresponding to this selection branch exist discretely, and this has the disadvantage of resulting in wasted hardware that cannot be used during execution of the microprogram.
本発明の目的は、制御記憶の内部で定数の読出
し動作を指示するマイクロ命令のアドレスとは異
なつたアドレスに置かれた幅広いデータを読出す
ことが可能なように制御すると共に、大量のデー
タを離散的に配置可能なようにして上記欠点を除
去し、RAMの内部で大量のデータが必要な診断
用マイクロプログラムのステツプ数を削減できる
と共に、使用されない制御記憶ロケーシヨンを有
効に使用できるように構成したマイクロプログラ
ム制御装置を提供することにある。 An object of the present invention is to perform control so that a wide range of data placed at an address different from the address of a microinstruction that instructs a constant read operation within a control memory can be read, and to control a large amount of data. The above-mentioned disadvantages are eliminated by making it possible to arrange it discretely, reducing the number of diagnostic microprogram steps that require a large amount of data inside the RAM, and making it possible to effectively use unused control memory locations. The object of the present invention is to provide a microprogram control device with the following features.
(問題点を解決するための手段)
本発明によるマイクロプログラム制御装置は制
御記憶と、読出しレジスタと、アドレス生成手段
と、デコーダと、検出手段と、ハードウエア制御
回路とを具備して構成したものである。(Means for Solving the Problems) A microprogram control device according to the present invention includes a control memory, a read register, an address generation means, a decoder, a detection means, and a hardware control circuit. It is.
制御記憶は、マイクロ命令語を記憶するための
ものである。 Control memory is for storing microinstruction words.
読出しレジスタは、制御記憶の内容を読出すた
めのものである。 The read register is for reading the contents of the control memory.
アドレス生成手段は、制御記憶のための読出し
アドレスを生成するためのものである。 The address generation means is for generating a read address for control storage.
デコーダは、読出しレジスタに読出されて格納
されたマイクロ命令語の制御フイールドを解読す
るためのものである。 The decoder is for decoding the control field of the microinstruction word read and stored in the read register.
検出手段は、マイクロ命令語の実行による作業
の終了を検出するためのものである。 The detection means is for detecting the end of work due to execution of the microinstruction word.
ハードウエア制御回路は、デコーダの出力によ
り起動され、読出しレジスタの分岐先アドレスフ
イールドを読出しアドレスとして選択するように
アドレス生成手段を制御し、制御記憶から読出し
レジスタへマイクロ命令語を読出し、上記デコー
ダの解読操作を抑止し、制御フイールド内のデー
タを外部へ転送し、起動された動作の終了事象が
発生するまで新たに読出されたマイクロ命令語の
アドレスフイールドを用いて上記動作を継続する
ためのものである。 The hardware control circuit is activated by the output of the decoder, controls the address generating means to select the branch destination address field of the read register as the read address, reads the microinstruction word from the control memory to the read register, and reads the microinstruction word from the control memory to the read register. This is to suppress the decoding operation, transfer the data in the control field to the outside, and continue the above operation using the address field of the newly read microinstruction word until the termination event of the activated operation occurs. It is.
(実施例)
次に、本発明について図面を参照して詳細に説
明する。(Example) Next, the present invention will be described in detail with reference to the drawings.
第1図は、本発明によるマイクロプログラム制
御装置の一実施例を示すブロツク図である。第1
図において、1は制御記憶、2は読出しレジス
タ、3はアドレス切替え器、4はアドレス加算
器、5はマイクロアドレスレジスタ、6は第1の
デコーダ、7は第2のデコーダ、12は作業メモ
リ、20はハードウエア制御回路、21は作業ア
ドレスレジスタ、23は検出回路である。 FIG. 1 is a block diagram showing one embodiment of a microprogram control device according to the present invention. 1st
In the figure, 1 is a control memory, 2 is a read register, 3 is an address switch, 4 is an address adder, 5 is a micro address register, 6 is a first decoder, 7 is a second decoder, 12 is a working memory, 20 is a hardware control circuit, 21 is a working address register, and 23 is a detection circuit.
第1図において、制御記憶1から読出されたマ
イクロ命令語は読出しレジスタ2に格納され、制
御記憶1の読出しアドレスはアドレス切替え器3
により選択される。このアドレスはアドレス加算
器4において1だけ増分して加算され、マイクロ
アドレスレジスタ5に次のマシンサイクルで読出
すべき制御記憶アドレスとして保持される。 In FIG. 1, the microinstruction word read from the control memory 1 is stored in the read register 2, and the read address of the control memory 1 is set by the address switch 3.
Selected by This address is incremented by 1 in the address adder 4 and held in the microaddress register 5 as the control storage address to be read in the next machine cycle.
第2図は、本実施例におけるマイクロ命令語形
式の一例を示す図である。この形式のマイクロプ
ログラムが読出しレジスタ2に格納されると、第
1のCMDフイールド(CMD1)の内容は第1の
デコーダ6により解読され、制御記憶1の周辺回
路の制御信号が生成される。例えば、第1の
CMDフイールドの内容が次のマシンサイクルで
後続番地のマイクロ命令の実行を指定する場合に
は、制御信号線31を介してアドレス切替え器3
がマイクロアドレスレジスタ5の出力を選択する
ように第1のデコーダの出力が制御する。一方、
第1のCMDフイールドの内容が分岐動作を指定
する場合には、第1のデコーダ6は制御信号線3
1を介してアドレス切替え器3が読出しレジスタ
2のARGフイールドの出力を選択するように制
御する。第2のデコーダ7は第2のCMDフイー
ルドの内容を解読し、演算回路系の制御信号を作
成する。 FIG. 2 is a diagram showing an example of the microinstruction word format in this embodiment. When this type of microprogram is stored in the read register 2, the contents of the first CMD field (CMD1) are decoded by the first decoder 6 and control signals for the peripheral circuits of the control memory 1 are generated. For example, the first
If the contents of the CMD field specify execution of a microinstruction at a subsequent address in the next machine cycle, the address switch 3
The output of the first decoder controls the output of the first decoder to select the output of the microaddress register 5. on the other hand,
If the contents of the first CMD field specify a branch operation, the first decoder 6
1, the address switch 3 is controlled to select the output of the ARG field of the read register 2. The second decoder 7 decodes the contents of the second CMD field and creates a control signal for the arithmetic circuit system.
第1図においては、演算回路として作業メモリ
12のみを図示し、他を省略してある。作業用メ
モリ12の書込みアドレスは作業アドレスレジス
タ21から供給されている。作業アドレスレジス
タ21は第1のデコーダ6からの制御信号により
保持した値を1だけ増分して加算動作させるか、
またはARGフイールドのロード動作を実行する。 In FIG. 1, only the working memory 12 is shown as an arithmetic circuit, and the others are omitted. The write address of the working memory 12 is supplied from the working address register 21. The work address register 21 increments the value held by the control signal from the first decoder 6 by 1 and performs an addition operation, or
or perform a load operation on the ARG field.
次に、診断データロード2(MDL2)マイク
ロ命令について説明する。この種のマイクロ命令
は、第2図に示すマイクロ命令語の第1のCMD
フイールドによつて指定される。上記マイクロ命
令語のARGフイールドは、診断用データの先頭
の一語の格納アドレスを示す。第3図は、上記デ
ータの各語がアドレス部とデータ部とから構成さ
れていることを示す図である。アドレス部は、後
続するデータが格納されるアドレスを指定してい
る。第4図は、上記マイクロ命令語の間の関係を
例示した図である。第4図では、A番地に格納さ
れたMDL2マイクロ命令を含むマイクロ命令語
と、離散的に配置された診断データ語をその
ARGフイールドに格納したアドレスによつて結
合されている旨が示してある。したがつて、
ARGフイールドが指定するアドレスに従つてa0,
a1,a2,……の順でマイクロ命令語を読出すこと
により、離散的に配置された診断データを連結し
てd0,d1,d2,……という連続データとして使用
できる。 Next, the diagnostic data load 2 (MDL2) microinstruction will be explained. This type of microinstruction is the first CMD of the microinstruction word shown in Figure 2.
Specified by field. The ARG field of the microinstruction word indicates the storage address of the first word of the diagnostic data. FIG. 3 is a diagram showing that each word of the data is composed of an address field and a data field. The address part specifies the address where subsequent data is stored. FIG. 4 is a diagram illustrating the relationship between the microinstruction words. In Figure 4, the microinstruction word containing the MDL2 microinstruction stored at address A and the diagnostic data words arranged discretely are shown.
It is shown that they are linked by the address stored in the ARG field. Therefore,
a 0 according to the address specified by the ARG field,
By reading the microinstructions in the order of a 1 , a 2 , . . . , the discretely arranged diagnostic data can be linked and used as continuous data d 0 , d 1 , d 2 , .
第1図において、第1のCMDフイールドのデ
コード信号によつて作業メモリ12の書込み開始
アドレスが読出しレジスタ2のARGフイールド
から作業アドレスレジスタ21にロードされてい
る。MDL2マイクロ命令が読出しレジスタ2に
ロードされると、第1のデコーダによつて上記マ
イクロ命令が解読され、ハードウエア制御回路2
0が起動される。同時に、制御信号線31を介し
て読出しレジスタ2のARGフイールド(アドレ
スa0)が選択されるようにアドレス切替え回路3
を制御する。この結果、読出しレジスタ2にa1,
d0のデータが読出される。一連の診断動作が完了
するまで、読出されたデータがマイクロ命令とし
て解読されないように、信号線32を介して解読
抑止の指示を第1および第2のデコーダ6,7へ
送出する。ハードウエア制御回路20は信号線3
3を介して作業メモリ12に書込み指示信号を送
出し、作業アドレスレジスタ21が指定するアド
レスBへ読出しレジスタ2に存在するデータd0を
書込む。これと並行し、後続動作の準備作業とし
てハードウエア制御回路20は信号線34を介し
てアドレス切替え器3に読出しレジスタ2の
ARGフイールドa1を選択させ、制御記憶1から
a1番地の内容a2,d1を読出す。これと同時に、信
号線35を介して作業アドレスレジスタ21にセ
ツトされている値を1だけ増分し、次に書込むア
ドレス(B+1)を作成する。以下同様にして、
制御記憶1から読出され、連結されたデータを作
業メモリ12へ連続して書込むことができる。作
業アドレスレジスタ21の出力は検出回路23に
も送出されており、検出回路23がある値を検出
すると信号線36を介して検出信号をハードウエ
ア制御回路20へ送出する。ハードウエア制御回
路20は上記信号の到来により作業メモリ12へ
のデータの書込みと、作業アドレスレジスタ21
の内容の更新とを中止し、マイクロプログラム制
御の再起動作を実行する。すなわち、マイクロア
ドレスレジスタ5に保持されたMDL2マイクロ
命令語の次のアドレス(A+1)を選択するよう
に、アドレス切替え回路3へ信号線34を介して
指示を送出し、制御記憶1の(A+1)番地のデ
ータが読出しレジスタ2へロードされた時点で信
号線32を介して送出されていた解読抑止信号を
解除する。この時点でMDL2マイクロ命令の動
作が完了してマイクロ命令の制御が起動される。 In FIG. 1, the write start address of the working memory 12 is loaded from the ARG field of the read register 2 into the working address register 21 by the decode signal of the first CMD field. When the MDL2 microinstruction is loaded into the read register 2, the microinstruction is decoded by the first decoder and the hardware control circuit 2
0 is activated. At the same time, the address switching circuit 3 selects the ARG field (address a 0 ) of the read register 2 via the control signal line 31.
control. As a result, a 1 ,
d0 data is read. A decoding inhibition instruction is sent to the first and second decoders 6 and 7 via the signal line 32 so that the read data is not decoded as a microinstruction until a series of diagnostic operations are completed. The hardware control circuit 20 is connected to the signal line 3
3 to the working memory 12, and writes the data d0 present in the read register 2 to the address B designated by the working address register 21. In parallel with this, as a preparation work for the subsequent operation, the hardware control circuit 20 sends the read register 2 to the address switch 3 via the signal line 34.
Select ARG field a 1 and from control memory 1
Read the contents a 2 and d 1 of address a 1 . At the same time, the value set in the working address register 21 via the signal line 35 is incremented by 1 to create the address (B+1) to be written next. Similarly below,
Data read from the control memory 1 and concatenated can be written successively to the working memory 12. The output of the working address register 21 is also sent to a detection circuit 23, and when the detection circuit 23 detects a certain value, it sends a detection signal to the hardware control circuit 20 via a signal line 36. The hardware control circuit 20 writes data to the work memory 12 and writes the data to the work address register 21 in response to the arrival of the above signal.
The update of the contents of is canceled and a restart operation controlled by the microprogram is executed. That is, an instruction is sent to the address switching circuit 3 via the signal line 34 to select the next address (A+1) of the MDL2 microinstruction word held in the microaddress register 5, and (A+1) of the control memory 1 is sent. When the data at the address is loaded into the read register 2, the decoding inhibit signal sent via the signal line 32 is released. At this point, the operation of the MDL2 microinstruction is completed and microinstruction control is activated.
(発明の効果)
以上説明したように本発明には、制御記憶の内
部で定数の読出し動作を指示するマイクロ命令の
アドレスとは異なつたアドレスに置かれた幅広い
データを読出すことが可能なように制御すると共
に、大量のデータを離散的に配置可能にすること
によつてブロツクの診断における実行ステツプ数
を減ずると共に、無駄なハードウエアを減ずるこ
とができるという効果がある。(Effects of the Invention) As explained above, the present invention has a feature that makes it possible to read a wide range of data placed in a control memory at an address different from the address of a microinstruction that instructs a constant read operation. This has the effect of reducing the number of execution steps in block diagnosis and reducing unnecessary hardware by allowing a large amount of data to be placed discretely.
第1図は、本発明によるマイクロプログラム制
御装置の一実施例を示すブロツク図である。第2
図は、本発明に係るマイクロ命令語形式を説明す
る説明図である。第3図は、MDL2命令の処理
対象であるデータ語形式を示す説明図である。第
4図は、MDL2命令の動作を示す概念図である。
1……制御記憶、2……読出しレジスタ、3…
…アドレス切替え器、4……アドレス加算器、5
……マイクロアドレスレジスタ、6,7……デコ
ーダ、12……作業メモリ、20……ハードウエ
ア制御回路、21……作業アドレスレジスタ、2
3……検出回路、31〜36……信号線。
FIG. 1 is a block diagram showing one embodiment of a microprogram control device according to the present invention. Second
The figure is an explanatory diagram illustrating the microinstruction word format according to the present invention. FIG. 3 is an explanatory diagram showing the data word format to be processed by the MDL2 instruction. FIG. 4 is a conceptual diagram showing the operation of the MDL2 instruction. 1...Control memory, 2...Read register, 3...
...Address switcher, 4...Address adder, 5
... Micro address register, 6, 7 ... Decoder, 12 ... Working memory, 20 ... Hardware control circuit, 21 ... Working address register, 2
3...Detection circuit, 31-36...Signal line.
Claims (1)
と、前記制御記憶の内容を読出すための読出しレ
ジスタと、前記制御記憶のための読出しアドレス
を生成するためのアドレス生成手段と、前記読出
しレジスタ読出されて格納された前記マイクロ命
令語の制御フイールドを解読するためのデコーダ
と、前記マイクロ命令語の実行による作業の終了
を検出するための検出手段と、前記のデコーダの
出力により起動され、前記読出しレジスタの分岐
先アドレスフイールドを読出しアドレスとして選
択するように前記アドレス生成手段を制御し、前
記制御記憶から前記読出しレジスタへマイクロ命
令語を読出し、前記のデコーダの解読操作を抑止
し、制御フイールド内のデーダを外部へ転送し、
前記起動された動作の終了事象が発生するまで新
たに読出されたマイクロ命令語のアドレスフイー
ルドを用いて前記動作を継続するための制御回路
とを具備して構成したことを特徴とするマイクロ
プログラム制御装置。1. A control memory for storing a microinstruction word, a read register for reading the contents of the control memory, an address generating means for generating a read address for the control memory, and a read register for reading the contents of the control memory. a decoder for decoding the control field of the microinstruction word stored in the microinstruction word, a detection means for detecting the end of work due to execution of the microinstruction word; controls the address generating means to select a branch destination address field of as a read address, reads a microinstruction word from the control memory to the read register, inhibits the decoding operation of the decoder, and selects the branch destination address field of the control field as the read address; to the outside,
and a control circuit for continuing the operation using an address field of a newly read microinstruction word until an end event of the activated operation occurs. Device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16626684A JPS6143342A (en) | 1984-08-08 | 1984-08-08 | Microprogram controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16626684A JPS6143342A (en) | 1984-08-08 | 1984-08-08 | Microprogram controller |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6143342A JPS6143342A (en) | 1986-03-01 |
| JPH0326860B2 true JPH0326860B2 (en) | 1991-04-12 |
Family
ID=15828193
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16626684A Granted JPS6143342A (en) | 1984-08-08 | 1984-08-08 | Microprogram controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6143342A (en) |
-
1984
- 1984-08-08 JP JP16626684A patent/JPS6143342A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6143342A (en) | 1986-03-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4156925A (en) | Overlapped and interleaved control store with address modifiers | |
| JPS6029126B2 (en) | data processing equipment | |
| US4446517A (en) | Microprogram memory with page addressing and address decode in memory | |
| JPS6322336B2 (en) | ||
| JPH0248931B2 (en) | ||
| JPH0346850B2 (en) | ||
| JPH0326860B2 (en) | ||
| KR0153537B1 (en) | Signal processing structure to preselect memory address data | |
| JPH05298088A (en) | Microcomputer | |
| JPH02183332A (en) | Programmed control system | |
| JP2583614B2 (en) | Vector arithmetic unit | |
| JPS6015969B2 (en) | Microinstruction address generation method | |
| JP2982129B2 (en) | Micro program controller | |
| JPH0218732B2 (en) | ||
| JPH038029A (en) | Microprogram controller | |
| JPS60251436A (en) | Microprogram control device | |
| JPS5936853A (en) | Operation processor | |
| JPS6028014B2 (en) | microprocessor | |
| JPS6321276B2 (en) | ||
| JPS6410853B2 (en) | ||
| JPS5925264B2 (en) | Vector instruction processing method | |
| JPS60251437A (en) | Microprogram control device | |
| JPH0133852B2 (en) | ||
| JPS58221444A (en) | Controlling device of microprogram | |
| JPH0512003A (en) | Program control system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |