JPH0555895B2 - - Google Patents
Info
- Publication number
- JPH0555895B2 JPH0555895B2 JP59196843A JP19684384A JPH0555895B2 JP H0555895 B2 JPH0555895 B2 JP H0555895B2 JP 59196843 A JP59196843 A JP 59196843A JP 19684384 A JP19684384 A JP 19684384A JP H0555895 B2 JPH0555895 B2 JP H0555895B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- instruction
- control circuit
- multiplexer
- microprogram
- 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 - Fee Related
Links
- 238000001514 detection method Methods 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 101150065817 ROM2 gene Proteins 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Description
【発明の詳細な説明】
[発明の技術分野]
本発明は、情報処理装置に内蔵されるマイクロ
プログラム制御装置に関する。DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to a microprogram control device built into an information processing device.
[発明の技術的背景]
従来から、情報処理装置においては、命令の実
行と関係(同期)して発生する割込処理と、命令
の実行と関係なく(非同期に)発生する割込処理
とがある。前者の割込処理には、命令を実行する
前段階で発生する命令のパリテイエラー、オーバ
ーアドレス割込み(実装されている主記憶装置よ
り大きいアドレスの内容を実行しようとする時に
発生する)等や、命令の実行中あるいは実行後に
発生する演算オーバーフロー割込み、スタツク命
令エラー(スタツク領域外へ動作が及んだ時に発
生するエラー)割込み等があり、後者の割込み処
理には、チヤネルやタイマからの割込みがある。[Technical Background of the Invention] Conventionally, in information processing devices, there have been two types of interrupt processing: interrupt processing that occurs in relation to (synchronously) execution of an instruction, and interrupt processing that occurs unrelated to (asynchronous) execution of an instruction. be. The former type of interrupt processing includes instruction parity errors that occur before the instruction is executed, over-address interrupts (occurs when attempting to execute the contents of an address larger than the main memory on which it is implemented), etc. , arithmetic overflow interrupts that occur during or after the execution of an instruction, and stack instruction error (errors that occur when an operation reaches outside the stack area) interrupts.The latter interrupt processing involves interrupts from channels and timers. There is.
第2図は従来のマイクロプログラム制御装置の
一例を示したブロツク図である。命令レジスタ1
は、図示されない主記憶装置よりフエツチされた
命令100がセツトされ、命令の一部であるOP
コード200が命令デコード用ROM2にアドレ
スとして与えられる。また、命令レジスタ1の命
令100を割込検出回路3に出力する。命令デコ
ード用ROM2からはOPコード200によつてマ
イクロプログラム開始アドレスが読み出され、マ
ルチプレクサ4に出力される。割込検出回路3は
命令レジスタ1の内容(命令100)から、割込
み要因となるエラー検出や、デバツクに用いられ
るアドレスマツチ機能等の割込み要因の検出を行
なう回路で、割込制御回路5に割込み要求信号4
00を出力する。割込制御回路5は各種の割込み
要因に対して優先度の決定や割込み情報の保持を
行ない、マイクロプログラムの割込処理開始アド
レスを生成するもので、命令の実行と非同期に発
生する割込要因信号500を入力し、マイクロプ
ログラムの割込処理開始アドレス600をマルチ
プレクサ4に出力する。なお、割込処理開始アド
レス600には、それぞれの割込み要因に対応す
る開始アドレスが割り当てられている。更に、割
込制御回路5は、割込みのあることを示す切換信
号700をマルチプレクサ4に出力する。マルチ
プレクサ4はアドレス300、又は600のどち
らかを信号700によつて選択し、マルチプレク
サ6に出力する。マルチプレクサ6は、1つの命
令を終了する毎にマルチプレクサ4のアドレスを
選択し、マイクロプログラムにおける数ステツプ
を要する命令を実行する時は、アドレス制御回路
7から出力されるアドレス800を選択する。マ
ルチプレクサ6によつて選択アドレスはドライバ
8を介して制御記憶回路9に出力される。制御記
憶回路9はマイクロプログラムを記憶しておき、
マルチプレクサ6から出力されるアドレスに対応
する番地からマイクロ命令が読み出され、レジス
タ(CDR:コントロールデイタレジスタ)10
にセツトされる。レジスタ10に保持されたデー
タの一部であるマイクロプログラム900のアド
レス制御フイールドの内容1000はアドレス制
御回路7に出力される。 FIG. 2 is a block diagram showing an example of a conventional microprogram control device. instruction register 1
In this example, the instruction 100 fetched from the main memory (not shown) is set, and the OP which is part of the instruction is set.
Code 200 is given to the instruction decoding ROM 2 as an address. Further, the instruction 100 in the instruction register 1 is output to the interrupt detection circuit 3. A microprogram start address is read from the instruction decoding ROM 2 according to the OP code 200 and output to the multiplexer 4. The interrupt detection circuit 3 is a circuit that detects an error that causes an interrupt, an address match function used for debugging, etc. from the contents of the instruction register 1 (instruction 100), and detects an interrupt factor such as an address match function used for debugging. request signal 4
Outputs 00. The interrupt control circuit 5 determines priorities and holds interrupt information for various interrupt factors, and generates an interrupt processing start address for a microprogram. A signal 500 is input, and a microprogram interrupt processing start address 600 is output to the multiplexer 4. Note that the interrupt processing start address 600 is assigned a start address corresponding to each interrupt factor. Furthermore, the interrupt control circuit 5 outputs a switching signal 700 to the multiplexer 4 indicating that there is an interrupt. Multiplexer 4 selects either address 300 or 600 by signal 700 and outputs it to multiplexer 6. The multiplexer 6 selects the address of the multiplexer 4 each time one instruction is completed, and selects the address 800 output from the address control circuit 7 when executing an instruction requiring several steps in a microprogram. The selected address is outputted by multiplexer 6 to control storage circuit 9 via driver 8 . The control storage circuit 9 stores a microprogram,
A microinstruction is read from the address corresponding to the address output from the multiplexer 6, and is transferred to a register (CDR: control data register) 10.
is set to The contents 1000 of the address control field of the microprogram 900, which are part of the data held in the register 10, are output to the address control circuit 7.
[背景技術の問題点]
上記従来のマイクロプログラム制御装置では、
割込制御回路5に、命令に同期した割込要求信号
400と、命令に非同期の割込要因信号500と
が入力され、命令実行の前処理で判定される同期
した割込み、例えば命令のパリテイエラー等は、
非同期の割込み、例えばチヤネルやタイマからの
割込みと同様な扱い及び処理がなされていた。即
ち、同期の割込と非同期の割込について、出力す
る開始アドレスこそ異なるものの、出力する開始
アドレスについて、同期、非同期に拘らず、同期
の割込の処理の場合に必要なフエーズ合わせを行
う構成を採用していた。つまり、同期の割込につ
いては、命令デコードROM2から出力される開
始アドレスを、割込処理のための開始アドレスで
置換する処理を行うことで対応するのであるが、
この割込処理のための開始アドレスで置換する処
理を非同期の割込についても採用していた。一
方、非同期の割込に対してはフエーズ合わせは不
要で、割込に対する素早い処理を必要とする。と
ころが、割込制御回路が1つで、非同期の割込の
場合にも上記フエーズ合わせによる置換がなさ
れ、割込に対する処理が遅延することとなつた。
また、パイプライン処理される装置の場合、例え
ば、命令デコード用ROM2とマルチプレクサ4
との間に2つのラツチを入れ、マルチプレクサ4
とマルチプレクサ6との間に1つのラツチを入れ
て4つのステージに分割した場合、割込制御回路
5にも命令デコード用ROM2とマルチプレクサ
4との間に入れた2個のラツチに対応してフエー
ズを合わせる2個のラツチを設けなければなら
ず、非同期の割込に対するマイクロプログラムの
開始アドレスが、同期の割込に対する開始アドレ
スの場合と同様にラツチされるので、非同期の割
り込みに対する処理が更に遅延することとなつ
た。更に、同期の割込と非同期の割込についての
処理アドレスが同一の割込制御回路5から出力さ
れるため、特別に、同期の割込と非同期の割込に
ついて識別を行う回路を設けなければ、割込から
の復旧処理を的確に分けて実行することができな
かつた。つまり、どのレベルの割込に対しても非
同期の割込が生じるときの最悪のケースを想定
し、割込後の復旧は、その以前の処理の最初に戻
つて(リセツトして)、実行されていた。このた
め、不要なリセツトが行われていることになり効
率の悪い処理がなされるという問題点が生じてい
た。[Problems with the background art] In the above conventional microprogram control device,
An interrupt request signal 400 synchronized with the instruction and an interrupt cause signal 500 asynchronous with the instruction are input to the interrupt control circuit 5, and a synchronized interrupt determined in preprocessing of instruction execution, for example, the parity of the instruction Errors etc.
They were handled and processed in the same way as asynchronous interrupts, such as interrupts from channels and timers. In other words, although the output start addresses are different for synchronous and asynchronous interrupts, the configuration performs the phase matching required for synchronous interrupt processing, regardless of whether the output is synchronous or asynchronous. was adopted. In other words, synchronous interrupts are handled by replacing the start address output from the instruction decode ROM 2 with the start address for interrupt processing.
This process of replacing the start address for interrupt processing was also used for asynchronous interrupts. On the other hand, phase adjustment is not necessary for asynchronous interrupts, and quick processing of the interrupts is required. However, when there is only one interrupt control circuit, even in the case of asynchronous interrupts, the above-mentioned phase adjustment is performed, resulting in a delay in the processing of the interrupts.
In addition, in the case of a device that undergoes pipeline processing, for example, an instruction decoding ROM 2 and a multiplexer 4
Insert two latches between multiplexer 4 and
When one latch is inserted between the instruction decoding ROM 2 and the multiplexer 6 to divide the circuit into four stages, the interrupt control circuit 5 also has a phase corresponding to the two latches inserted between the instruction decoding ROM 2 and the multiplexer 4. Since the start address of the microprogram for asynchronous interrupts is latched in the same way as the start address for synchronous interrupts, processing for asynchronous interrupts is further delayed. I decided to do it. Furthermore, since the processing addresses for synchronous and asynchronous interrupts are output from the same interrupt control circuit 5, a special circuit must be provided to distinguish between synchronous and asynchronous interrupts. , it was not possible to accurately separate and execute recovery processing from interrupts. In other words, assuming the worst case when an asynchronous interrupt occurs for any level of interrupt, recovery after an interrupt is executed by returning to (resetting) the beginning of the previous processing. was. As a result, unnecessary resets are performed, resulting in a problem of inefficient processing.
[発明の目的]
本発明は上記従来のマイクロプログラム制御装
置の問題点を解決せんとしてなされたもので、そ
の目的は、命令の実行に関係して発生する割込と
命令の実行と関係なく発生する割込とを分離し
て、それぞれに応じた適切な処理を行い得るマイ
クロプログラム制御装置を提供することにある。[Object of the Invention] The present invention was made to solve the problems of the conventional microprogram control device described above, and its purpose is to solve the problems of the conventional microprogram control device. An object of the present invention is to provide a microprogram control device that can separate interrupts and perform appropriate processing according to each interrupt.
[発明の概要]
本発明のマイクロプログラム制御装置は、主記
憶装置からのOPコードを含む命令がフエツチさ
れる命令レジスタと、
前記命令の実行に関係して発生する割込と前記
命令の実行と関係なく発生する割込とに応じた処
理用のマイクロプログラム及び前記命令レジスタ
にフエツチされる命令を処理するためのマイクロ
プログラムが格納された制御記憶回路と、
前記命令レジスタにフエツチされた命令のOP
コードをデコードして、前記制御回路における対
応のマイクロプログラムの開始アドレスを出力す
る命令デコード用ROMと、
前記命令レジスタにフエツチされた命令に基づ
き、所要のときに割込要求信号を出力する割込検
出回路と、
この割込検出回路から出力される割込要求信号
に応じて、前記制御回路における対応する割込処
理に係るマイクロプログラムの開始アドレスを出
力する第1の割込制御回路と、
前記命令の実行と関係なく発生する割込に係る
割込要因信号を受けて、前記制御回路における対
応する割込処理に係るマイクロプログラムの開始
アドレスを出力する第2の割込制御回路と、
前記命令デコード用ROMの出力と前記第1の
割込制御回路の出力との一方を選択する第1のマ
ルチプレクサと、
この第1のマルチプレクサにより選択されたア
ドレスと前記第2の割込制御回路の出力といずれ
か一方を選択する第2のマルチプレクサとを備
え、
前記第1の割込制御回路は、前記割込検出回路
から出力される割込要求信号に応じて、前記第1
のマルチプレクサの切り換えを制御し、
前記第2の割込制御回路は、前記割込要因信号
に応じて前記第2のマルチプレクサの切り換えを
制御することを特徴とする。[Summary of the Invention] The microprogram control device of the present invention comprises an instruction register in which an instruction including an OP code is fetched from a main memory, an interrupt generated in connection with the execution of the instruction, and an interrupt generated in connection with the execution of the instruction. a control memory circuit storing a microprogram for processing in response to an interrupt that occurs regardless of the instruction and a microprogram for processing the instruction fetched into the instruction register; and an OP of the instruction fetched into the instruction register.
an instruction decoding ROM that decodes the code and outputs the start address of the corresponding microprogram in the control circuit; and an interrupt that outputs an interrupt request signal when necessary based on the instruction fetched into the instruction register. a detection circuit; a first interrupt control circuit that outputs a start address of a microprogram related to a corresponding interrupt process in the control circuit in response to an interrupt request signal output from the interrupt detection circuit; a second interrupt control circuit that receives an interrupt cause signal related to an interrupt that occurs regardless of execution of the instruction and outputs a start address of a microprogram related to the corresponding interrupt processing in the control circuit; a first multiplexer that selects either the output of the decoding ROM or the output of the first interrupt control circuit; and the address selected by the first multiplexer and the output of the second interrupt control circuit. a second multiplexer for selecting either one, the first interrupt control circuit is configured to respond to the first interrupt request signal output from the interrupt detection circuit;
The second interrupt control circuit controls switching of the second multiplexer in accordance with the interrupt factor signal.
[発明の実施例]
第1図は本発明のマイクロプログラム制御装置
の一実施例を示したブロツク図である。以下本発
明の一実施例を従来例と同一部には同一符号を付
して図面を参照しつつ説明する。図示されない主
記憶装置よりフエツチされた命令100は命令レ
ジスタIR1にセツトされる。命令レジスタ1に
ロードされた内容の一部であるOPコード200
は、命令デコード用ROM2に出力され、命令レ
ジスタ1の命令100は割込検出回路3に出力さ
れる。命令デコード用ROM2からは、前記OPコ
ード200に対応したマイクロプログラムの開始
アドレス300が読み出され、これがマルチプレ
クサMUX11に入力される。割込検出回路3
は、命令100の内容に基づいて、必要がある時
に割込み要求信号400を同期割込制御回路(第
1の割込制御回路)12に出力する。同期割込制
御回路12は割込要求信号400に対応したマイ
クロプログラム割込処理開始アドレス1100を
マルチプレクサ11に出力すると共に、マルチプ
レクサ切換信号1200をマルチプレクサ11に
出力する。マルチプレクサ11は切換信号120
0に基づいてアドレス300又は1100のどち
らかを選択して、これをマルチプレクサ4に出力
する。[Embodiment of the Invention] FIG. 1 is a block diagram showing an embodiment of a microprogram control device of the present invention. An embodiment of the present invention will be described below with reference to the drawings, in which the same parts as those of the conventional example are given the same reference numerals. Instruction 100 fetched from main memory (not shown) is set in instruction register IR1. OP code 200 which is part of the contents loaded into instruction register 1
is output to the instruction decoding ROM 2, and the instruction 100 in the instruction register 1 is output to the interrupt detection circuit 3. The start address 300 of the microprogram corresponding to the OP code 200 is read from the instruction decoding ROM 2 and is input to the multiplexer MUX11. Interrupt detection circuit 3
outputs an interrupt request signal 400 to the synchronous interrupt control circuit (first interrupt control circuit) 12 when necessary based on the contents of the instruction 100. The synchronous interrupt control circuit 12 outputs a microprogram interrupt processing start address 1100 corresponding to the interrupt request signal 400 to the multiplexer 11, and also outputs a multiplexer switching signal 1200 to the multiplexer 11. Multiplexer 11 receives switching signal 120
0, selects either address 300 or 1100 and outputs it to multiplexer 4.
命令100の実行に対して非同期に発生する割
込要因信号500は、非同期割込制御回路(第2
の割込制御回路)13に入力される。この非同期
の割込制御回路13は優先度の決定や割込み情報
の保持を行ない、前記入力された割込要因信号5
00に対応するマイクロプログラムの割込処理開
始アドレス1300を生成し、このマイクロプロ
グラムの割込処理開始アドレス1300をマルチ
プレクサ4に出力する。また、この非同期割込制
御回路13は切換信号700をマルチプレクサ4
に出力し、マルチプレクサ4は、この信号700
に基づいて、マルチプレクサ11からのアドレス
と非同期割込制御回路13からのアドレスのどち
らかを選択して、これをマルチプレクサ6に出力
する。 The interrupt factor signal 500, which is generated asynchronously with respect to the execution of the instruction 100, is generated by an asynchronous interrupt control circuit (second
(interrupt control circuit) 13. This asynchronous interrupt control circuit 13 determines priorities and holds interrupt information, and the input interrupt cause signal 5
A microprogram interrupt processing start address 1300 corresponding to 00 is generated, and this microprogram interrupt processing start address 1300 is output to the multiplexer 4. The asynchronous interrupt control circuit 13 also sends the switching signal 700 to the multiplexer 4.
The multiplexer 4 outputs this signal 700 to
Based on this, either the address from the multiplexer 11 or the address from the asynchronous interrupt control circuit 13 is selected and output to the multiplexer 6.
マルチプレクサ6は1つの命令の実行終了毎に
マルチプレクサ4側のアドレスを選択し、数ステ
ツプを要する命令の実行の時はアドレス制御回路
7から出力されるアドレス800を選択し、選択
したアドレスをドライバ8を介して制御記憶回路
9に出力する。制御記憶回路9からは、前記マル
チプレクサ6の信号に基づいてマイクロ命令90
0が読み出され、レジスタCDR10にセツトさ
れる。レジスタ10にセツトされた前記マイクロ
命令900のアドレス制御フイールドの内容10
00は、アドレス制御回路7に入力され、アドレ
ス制御回路7はこれに基づいてアドレス800を
マルチプレクサ6に出力する。 The multiplexer 6 selects the address on the multiplexer 4 side each time execution of one instruction is completed, and when executing an instruction that requires several steps, selects the address 800 output from the address control circuit 7, and transfers the selected address to the driver 8. It is output to the control storage circuit 9 via. The control storage circuit 9 outputs a microinstruction 90 based on the signal from the multiplexer 6.
0 is read and set in register CDR10. Contents 10 of the address control field of the microinstruction 900 set in register 10
00 is input to the address control circuit 7, and the address control circuit 7 outputs the address 800 to the multiplexer 6 based on this.
次に本実施例の動作について説明する。通常の
命令の実行の場合、主記憶装置(図示せず)より
フエツチされた命令100は命令レジスタ1にロ
ードされ後、この命令100に対してデコードが
開始される。即ち、命令デコード用ROM2は命
令レジスタ1から入力されるOPコード200を
デコードし、前記命令100に割り当てられたマ
イクロプログラムの開始アドレス300を出力す
る。この開始アドレス300はマルチプレクサ1
1,4を通り制御記憶回路9をアクセスする。制
御記憶回路9では、前記入力された開始アドレス
300に基づいてマイクロ命令900が読み出さ
れ、ここれがレジスタ10にセツトされることに
より、前記命令100の実行が開始される。 Next, the operation of this embodiment will be explained. In the case of normal instruction execution, an instruction 100 fetched from main memory (not shown) is loaded into the instruction register 1, and then decoding is started for this instruction 100. That is, the instruction decoding ROM 2 decodes the OP code 200 input from the instruction register 1 and outputs the start address 300 of the microprogram assigned to the instruction 100. This starting address 300 is multiplexer 1
1 and 4 to access the control storage circuit 9. In the control storage circuit 9, the microinstruction 900 is read out based on the input start address 300, and this is set in the register 10, so that execution of the instruction 100 is started.
命令の実行が開始されるとマルチプレクサ6は
アドレス制御回路7からの出力(アドレス80
0)を選択し、この信号により制御記憶回路9を
次々とアクセスして数ステツプの命令を実行す
る。命令の実行が終了するとマルチプレクサ6は
マルチプレクサ4の出力を選択するように切換わ
り、次の命令の実行へ移つていく。なお、上記通
常の命令実行に際しては、マルチプレクサ11は
命令デコード用ROM2の出力を選択するように
切換わり、またマルチプレクサ4はマルチプレク
サ11の出力を選択するように切換わつている。 When execution of the instruction starts, the multiplexer 6 outputs the output from the address control circuit 7 (address 80).
0) is selected, and the control memory circuit 9 is accessed one after another in response to this signal to execute several steps of instructions. When the execution of the instruction is completed, the multiplexer 6 is switched to select the output of the multiplexer 4, and the execution of the next instruction is started. Note that during the normal instruction execution, the multiplexer 11 is switched to select the output of the instruction decoding ROM 2, and the multiplexer 4 is switched to select the output of the multiplexer 11.
ここで、命令レジスタ1にセツトされた命令1
00にパリテイエラーが発生した場合を想定する
と、この命令100は実行してはならず、ハード
ウエア異常の割込処理をしなければならない。即
ち、この場合は、命令100から割込検出回路3
がパリテイエラーを検出すると、このパリテイエ
ラー処理のための割込要求信号400が同期割込
制御回路12に出力される。同期割込制御回路1
2では、前記割込要求信号400に基づいてパリ
テイエラー処理のための割込処理開始アドレスが
生成され、この割込処理開始アドレス1100は
マルチプレクサ11,4,6を介して制御記憶回
路9をアクセスする。この時、同期割込制御回路
12が出力する切換信号1200によりマルチプ
レクサ11は同期割込制御回路12側を選択する
ように切換えられている。制御記憶回路9では、
前記割込処理開始アドレス1100に基づくマイ
クロ命令900が読み出され、これがレジスタ1
0にロードされることにより、パリテイエラー処
理の実行が行なわれる。 Here, instruction 1 set in instruction register 1
Assuming that a parity error occurs in the instruction 00, this instruction 100 should not be executed, and a hardware abnormality interrupt process must be performed. That is, in this case, from the instruction 100 to the interrupt detection circuit 3
When detecting a parity error, an interrupt request signal 400 for processing this parity error is output to the synchronous interrupt control circuit 12. Synchronous interrupt control circuit 1
2, an interrupt processing start address for parity error processing is generated based on the interrupt request signal 400, and this interrupt processing start address 1100 is sent to the control storage circuit 9 via multiplexers 11, 4, and 6. to access. At this time, the multiplexer 11 is switched to select the synchronous interrupt control circuit 12 side by the switching signal 1200 outputted by the synchronous interrupt control circuit 12. In the control storage circuit 9,
A microinstruction 900 based on the interrupt processing start address 1100 is read out and is stored in register 1.
By being loaded to 0, parity error processing is executed.
次に、非同期割込制御回路13に前記命令10
0の実行とは非同期の割込要因信号500が入力
されると、非同期割込制御回路13は、入力され
た割込み要因信号500に対応するマイクロプロ
グラムの割込処理開始アドレス1300を出力
し、この開始アドレス1300はマルチプレクサ
4,6を介して制御記憶回路9をアクセスする。
なお、この際、非同期割込制御回路13が出力す
る切換信号700によりマルチプレクサ4は非同
期割込制御回路13の出力信号を選択するように
切換えられている。制御記憶回路9では、前記開
始アドレス1300に基づくマイクロ命令900
が読み出され、これがレジスタ10にセツトされ
ることにより、割込要因信号500に対応した割
込み処理が実行される。 Next, the instruction 10 is sent to the asynchronous interrupt control circuit 13.
When an interrupt factor signal 500 that is asynchronous with the execution of 0 is input, the asynchronous interrupt control circuit 13 outputs the interrupt processing start address 1300 of the microprogram corresponding to the input interrupt factor signal 500. The starting address 1300 accesses the control storage circuit 9 via multiplexers 4,6.
At this time, the multiplexer 4 is switched to select the output signal of the asynchronous interrupt control circuit 13 by the switching signal 700 output from the asynchronous interrupt control circuit 13. The control storage circuit 9 stores a microinstruction 900 based on the start address 1300.
is read out and set in the register 10, thereby executing the interrupt process corresponding to the interrupt cause signal 500.
斯して、本実施例では、命令の実行に関係して
発生する割込と命令の実行と関係なく発生する割
込とを分離して、それぞれ異なる割込制御回路に
より割込処理のマイクロプログラムの開始アドレ
スが出力されることとなる。そして、同期の割込
に対するマイクロプログラムの開始アドレスは、
同期割込制御回路12から出力されてこの同期割
込制御回路12の制御によりマルチプレクサ11
において命令デコードROM2から出力されたア
ドレスと置き換えられる。このとき、同期の割込
ゆえに、置換のためのフエーズ合わせが可能であ
る。また、パイプライン処理される装置の場合、
例えば、命令デコード用ROM2とマルチプレク
サ11、マルチプレクサ11とマルチプレクサ
4、マルチプレクサ4とマルチプレクサ6との間
にラツチを設け4ステージに分割するように構成
できる。従つて、非同期の割込に対応する処理の
マイクロプログラムの開始アドレスは、マルチプ
レクサ4とマルチプレクサ6との間に設けられた
ラツチによる遅延を受けるだけで済み、素早い割
込を必要とする非同期の割込の処理が遅延される
度合いを少なくできるとともに、命令デコード用
ROM2からの出力に対する適切なパイプライン
処理を保証する。更に、同期の割込のときには、
対応するマイクロプログラムの開始アドレスは、
同期割込制御回路12から出力されて、この同期
割込制御回路12の制御によりマルチプレクサ1
1において命令デコードROM2から出力された
アドレスと置き換えられるだけで十分である。こ
れに対し、非同期の割込の場合には、割込処理の
マイクロプログラムの実行終了後にリセツトを行
つて、先の命令に係る処理を最初から行う必要が
ある。本実施例では、同期の割込と非同期の割込
との識別をマイクロプログラムの開始アドレスが
出力された割込制御回路が、同期割込制御回路1
2であるか非同期割込制御回路13であるかを検
出することにより判定でき、同期の割込について
は、復旧時に不要なリセツトを行わぬようにし
て、同期の割込に対する対応と命令実行に係る処
理の効率を向上させることができる。 Thus, in this embodiment, interrupts that occur in connection with the execution of an instruction and interrupts that occur unrelated to the execution of an instruction are separated, and the interrupt processing microprogram is controlled by a different interrupt control circuit. The starting address will be output. And the start address of the microprogram for synchronous interrupts is
The signal is output from the synchronous interrupt control circuit 12 and is sent to the multiplexer 11 under the control of the synchronous interrupt control circuit 12.
It is replaced with the address output from the instruction decode ROM 2. At this time, due to the synchronization interruption, phase matching for replacement is possible. In addition, in the case of pipeline processing equipment,
For example, a latch can be provided between the instruction decoding ROM 2 and the multiplexer 11, between the multiplexer 11 and the multiplexer 4, and between the multiplexer 4 and the multiplexer 6, so that the structure is divided into four stages. Therefore, the start address of a microprogram for a process corresponding to an asynchronous interrupt only needs to be delayed by the latch provided between multiplexers 4 and 6, and the start address of a microprogram for a process corresponding to an asynchronous interrupt is only delayed by the latch provided between multiplexers 4 and 6. In addition to reducing the degree of delay in processing of instructions,
Ensures proper pipeline processing for output from ROM2. Furthermore, in the case of synchronous interrupts,
The starting address of the corresponding microprogram is
is output from the synchronous interrupt control circuit 12, and is output to the multiplexer 1 under the control of the synchronous interrupt control circuit 12.
1, it is sufficient to replace the address output from the instruction decode ROM 2. On the other hand, in the case of an asynchronous interrupt, it is necessary to perform a reset after the execution of the microprogram for interrupt processing is completed, and to start processing related to the previous instruction from the beginning. In this embodiment, the interrupt control circuit to which the start address of the microprogram is output distinguishes between synchronous interrupts and asynchronous interrupts is the synchronous interrupt control circuit 1.
2 or the asynchronous interrupt control circuit 13. For synchronous interrupts, unnecessary resets are not performed at the time of recovery, and the response to synchronous interrupts and instruction execution are adjusted accordingly. The efficiency of such processing can be improved.
[発明の効果]
以上説明したように本発明によれば、割込が命
令と関係して発生するか、命令と関係なく発生す
るかに応じて、割込制御回路を2つに分け、第
1、第2のマルチプレクサにより、上記割込制御
回路の出力が命令デコードROMの出力との間で
選択されるように構成したので、命令デコード
ROMの出力を必要な位置で置換可能となり、命
令が割込と関係して発生するときには的確なフエ
ーズ合わせが、また、割込が命令と関係なく発生
するときには素早い割込処理の実行が、それぞれ
確保される。また、割込の発生原因を割込制御回
路により特定でき、割込処理からの復旧時の処理
を簡単に適切に分けて実行し得ることになる。即
ち、命令の実行に関係して発生する割込と命令の
実行と関係なく発生する割込とに対して、それぞ
れに応じた適切な処理を行い得る効果をもつ。[Effects of the Invention] As explained above, according to the present invention, the interrupt control circuit is divided into two parts depending on whether an interrupt occurs in relation to an instruction or regardless of an instruction. 1. Since the output of the interrupt control circuit is selected between the output of the instruction decode ROM and the output of the instruction decode ROM by the second multiplexer, the instruction decode
ROM output can be replaced at the required position, allowing accurate phase alignment when an instruction occurs in conjunction with an interrupt, and quick execution of interrupt processing when an interrupt occurs unrelated to an instruction. Secured. Furthermore, the cause of the interrupt can be identified by the interrupt control circuit, and the processing upon recovery from the interrupt processing can be easily and appropriately divided and executed. That is, it is possible to perform appropriate processing for interrupts that occur in connection with the execution of instructions and interrupts that occur unrelated to the execution of instructions.
第1図は本発明のマイクロプログラム制御装置
の一実施例を示したブロツク図、第2図は従来の
マイクロプログラム制御装置の一例を示したブロ
ツク図である。
1……インストラクシヨンレジスタ、2……命
令デコード用ROM、3……割込検出回路、4,
6,11……マルチプレクサ、7……アドレス制
御回路、9……制御記憶回路、10……レジス
タ、12……同期割込制御回路、13……非同期
割込制御回路。
FIG. 1 is a block diagram showing an embodiment of the microprogram control device of the present invention, and FIG. 2 is a block diagram showing an example of a conventional microprogram control device. 1... Instruction register, 2... ROM for instruction decoding, 3... Interrupt detection circuit, 4,
6, 11... Multiplexer, 7... Address control circuit, 9... Control storage circuit, 10... Register, 12... Synchronous interrupt control circuit, 13... Asynchronous interrupt control circuit.
Claims (1)
エツチされる命令レジスタと、 前記命令の実行に関係して発生する割込と前記
命令の実行と関係なく発生する割込とに応じた処
理用のマイクロプログラム及び前記命令レジスタ
にフエツチされる命令を処理するためのマイクロ
プログラムが格納された制御記憶回路と、 前記命令レジスタにフエツチされた命令のOP
コードをデコードして、前記制御回路における対
応のマイクロプログラムの開始アドレスを出力す
る命令デコード用ROMと、 前記命令レジスタにフエツチされた命令に基づ
き、所要のときに割込要求信号を出力する割込検
出回路と、 この割込検出回路から出力される割込要求信号
に応じて、前記制御回路における対応する割込処
理に係るマイクロプログラムの開始アドレスを出
力する第1の割込制御回路と、 前記命令の実行と関係なく発生する割込に係る
割込要因信号を受けて、前記制御回路における対
応する割込処理に係るマイクロプログラムの開始
アドレスを出力する第2の割込制御回路と、 前記命令デコード用ROMの出力と前記第1の
割込制御回路の出力との一方を選択する第1のマ
ルチプレクサと、 この第1のマルチプレクサにより選択されたア
ドレスと前記第2の割込制御回路の出力といずれ
か一方を選択する第2のマルチプレクサとを備
え、 前記第1の割込制御回路は、前記割込検出回路
から出力される割込要求信号に応じて、前記第1
のマルチプレクサの切り換えを制御し、 前記第2の割込制御回路は、前記割込要因信号
に応じて前記第2のマルチプレクサの切り換えを
制御することを特徴とするマイクロプログラム制
御装置。[Scope of Claims] 1. An instruction register in which an instruction including an OP code is fetched from a main memory, an interrupt that occurs in connection with the execution of the instruction, and an interrupt that occurs regardless of the execution of the instruction. a control memory circuit storing a microprogram for processing according to the instruction and a microprogram for processing the instruction fetched into the instruction register; and an OP of the instruction fetched into the instruction register.
an instruction decoding ROM that decodes the code and outputs the start address of the corresponding microprogram in the control circuit; and an interrupt that outputs an interrupt request signal when necessary based on the instruction fetched into the instruction register. a detection circuit; a first interrupt control circuit that outputs a start address of a microprogram related to a corresponding interrupt process in the control circuit in response to an interrupt request signal output from the interrupt detection circuit; a second interrupt control circuit that receives an interrupt cause signal related to an interrupt that occurs regardless of execution of the instruction and outputs a start address of a microprogram related to the corresponding interrupt processing in the control circuit; a first multiplexer that selects either the output of the decoding ROM or the output of the first interrupt control circuit; and the address selected by the first multiplexer and the output of the second interrupt control circuit. a second multiplexer for selecting either one, the first interrupt control circuit is configured to respond to the first interrupt request signal output from the interrupt detection circuit;
A microprogram control device, wherein the second interrupt control circuit controls switching of the second multiplexer according to the interrupt factor signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19684384A JPS6175436A (en) | 1984-09-21 | 1984-09-21 | Microprogram controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19684384A JPS6175436A (en) | 1984-09-21 | 1984-09-21 | Microprogram controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6175436A JPS6175436A (en) | 1986-04-17 |
JPH0555895B2 true JPH0555895B2 (en) | 1993-08-18 |
Family
ID=16364582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19684384A Granted JPS6175436A (en) | 1984-09-21 | 1984-09-21 | Microprogram controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6175436A (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2680827B2 (en) * | 1987-05-29 | 1997-11-19 | 株式会社リコー | Indirect address type interrupt control circuit device |
JPH01223535A (en) * | 1988-03-02 | 1989-09-06 | Ricoh Co Ltd | Interruption control circuit device for indirect address system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5194731A (en) * | 1975-02-18 | 1976-08-19 | ||
JPS5341496A (en) * | 1977-05-11 | 1978-04-14 | Yoshio Watanabe | Tobacco leaves arranging apparatus equipped with safety device |
-
1984
- 1984-09-21 JP JP19684384A patent/JPS6175436A/en active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5194731A (en) * | 1975-02-18 | 1976-08-19 | ||
JPS5341496A (en) * | 1977-05-11 | 1978-04-14 | Yoshio Watanabe | Tobacco leaves arranging apparatus equipped with safety device |
Also Published As
Publication number | Publication date |
---|---|
JPS6175436A (en) | 1986-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4430706A (en) | Branch prediction apparatus and method for a data processing system | |
US4409654A (en) | Data processor adapted for interruption to an instruction stream | |
EP0344450A2 (en) | Apparatus and method for implementing precise interrupts on pipelined processor with multiple functional units | |
EP0213842A2 (en) | Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor | |
US4027291A (en) | Access control unit | |
US5003458A (en) | Suspended instruction restart processing system based on a checkpoint microprogram address | |
US5193159A (en) | Microprocessor system | |
EP0652514A2 (en) | Data processing apparatus handling plural divided interruption | |
EP0094535B1 (en) | Pipe-line data processing system | |
US4839895A (en) | Early failure detection system for multiprocessor system | |
WO1987003396A1 (en) | A method and apparatus for minimizing overhead when executing nested do loops | |
US20030172215A1 (en) | Interrupt- controller | |
JPH0555895B2 (en) | ||
US4797816A (en) | Virtual memory supported processor having restoration circuit for register recovering | |
JP2001256044A (en) | Data processor | |
JPH011038A (en) | Control memory error correction control method | |
JPH04302035A (en) | Interruption controller | |
US5557772A (en) | Data processing apparatus including a register storing a parameter and a microinstruction execution arrangement including a correction arrangement for causing a first value of the parameter to be change to a second, correct value | |
JPS6242301B2 (en) | ||
JPS5896345A (en) | Hierarchical arithmetic system | |
JPH05120155A (en) | Microprogram controller | |
JP2574918B2 (en) | Interrupt return processing method | |
JPS6226487B2 (en) | ||
JPS60196846A (en) | Microprogram control system | |
JPH04195638A (en) | Semiconductor integrated circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |