JPS6149695B2 - - Google Patents

Info

Publication number
JPS6149695B2
JPS6149695B2 JP7971579A JP7971579A JPS6149695B2 JP S6149695 B2 JPS6149695 B2 JP S6149695B2 JP 7971579 A JP7971579 A JP 7971579A JP 7971579 A JP7971579 A JP 7971579A JP S6149695 B2 JPS6149695 B2 JP S6149695B2
Authority
JP
Japan
Prior art keywords
instruction
register
information
pseudo
signal line
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
JP7971579A
Other languages
Japanese (ja)
Other versions
JPS564844A (en
Inventor
Norimasa Furukatsu
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 JP7971579A priority Critical patent/JPS564844A/en
Publication of JPS564844A publication Critical patent/JPS564844A/en
Publication of JPS6149695B2 publication Critical patent/JPS6149695B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 本発明は、情報処理装置、特に先行制御方式を
採用している情報処理装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an information processing apparatus, and particularly to an information processing apparatus employing a proactive control method.

情報処理システムでは、入出力装置による入出
力動作と、情報処理装置による命令実行動作を並
行して処理し、入出力動作の終了時に入出力装置
から情報処理装置へ外部割込としてそれを知らせ
る方式が採られている。情報処理装置は、命令と
命令の切れ目で外部割込信号を受付け、割込要求
信号を送つてきた装置および割込の種類に対応し
てあらかじめ決められている主記憶上の情報を読
出し、それらの情報にしたがつて割込処理を行な
う。この場合高度の先行制御処理あるいはパイプ
ライン処理を行う情報処理装置では、割込み受付
けを実行ユニツトにて命令実行の切れ目のタイミ
ングで検出し、先行制御ユニツトで命令読出し、
アドレス計算、オペランドフエツチ等の処理段階
にある命令をすべてキヤンセルしてから割込処理
を行なつている。すなわち、実行ユニツトで割込
みを検出すると、途中まで命令の実行の準備がな
されている後続命令の処理動作はキヤンセルされ
るため、無駄が発生している。
In an information processing system, an input/output operation by an input/output device and an instruction execution operation by an information processing device are processed in parallel, and when the input/output operation is completed, the input/output device notifies the information processing device as an external interrupt. is taken. The information processing device receives an external interrupt signal at the break between instructions, reads information in the main memory that is predetermined according to the device that sent the interrupt request signal and the type of interrupt, and processes the information. Interrupt processing is performed according to the information. In this case, in an information processing device that performs advanced advance control processing or pipeline processing, the execution unit detects interrupt reception at the timing of a break in instruction execution, and the advance control unit reads the instruction.
Interrupt processing is performed after canceling all instructions in processing stages such as address calculation and operand fetch. That is, when an execution unit detects an interrupt, the processing operation of a subsequent instruction that has been partially prepared for execution is canceled, resulting in waste.

したがつて本発明の目的は、先行制御ユニツト
を含む情報処理装置において、先行処理中の命令
を取消すことなく割込処理の可能な情報処理装置
を提供することにある。
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide an information processing apparatus that includes a preceding control unit and is capable of performing interrupt processing without canceling an instruction that is currently being processed.

本発明によれば、複数個の装置から外部割込要
求信号を入力し、主記憶装置と相俟つて先行制御
方式により情報の処理を行う装置であつて、前記
入力した複数の外部割込要求信号から選択した優
先順位が最高位の外部割込要求信号に対応するコ
ード、割込処理において必要とされる前記主記憶
装置上の情報の位置を示す番地を含む擬似命令、
およびこの擬似命令が生成されていることを示す
生成表示信号を発生する外部割込処理ユニツト
と、命令をデコードすべく次の命令を命令レジス
タに取込むとき、前記生成表示信号がセツト状態
にあるとき前記擬似命令を受取り、前記生成表示
信号がセツト状態にないとき前記次の命令を受取
る命令先取手段、および前記擬似命令がデコード
されたとき、この擬似命令中のアドレス情報で示
される前記主記憶装置からの情報を読出すオペラ
ンド先取手段から成る先行制御ユニツトと、この
先行制御ユニツトから与えられる前記擬似命令お
よび前記主記憶装置から読出された前記情報を入
力として割込処理を行う実行ユニツトとを備えた
情報処理装置が得られる。
According to the present invention, there is provided a device which inputs external interrupt request signals from a plurality of devices and processes information by a preemptive control method in conjunction with a main storage device, wherein the plurality of input external interrupt requests a code corresponding to an external interrupt request signal with the highest priority selected from the signals; a pseudo-instruction including an address indicating the location of information on the main memory device required for interrupt processing;
and an external interrupt processing unit that generates a generation indication signal indicating that this pseudo-instruction is being generated, and when the next instruction is taken into the instruction register to decode the instruction, the generation indication signal is in a set state. an instruction prefetching means for receiving the pseudo-instruction when the pseudo-instruction is in the set state and receiving the next instruction when the generation indication signal is not in the set state; and the main memory indicated by the address information in the pseudo-instruction when the pseudo-instruction is decoded. an advance control unit comprising operand prefetching means for reading information from the device; and an execution unit that performs interrupt processing by inputting the pseudo-instruction given from the advance control unit and the information read from the main storage device. An information processing device equipped with the above-mentioned information processing apparatus can be obtained.

次に図面を参照して詳細に説明する。 Next, a detailed description will be given with reference to the drawings.

第1図は情報処理装置の割込処理において用い
られるプログラム状態語(以下PSWという)を
示した図であり、通常プログラムが情報処理装置
で実行されるときの、割込マスク情報、命令実行
に伴なうコンデイシヨンコード情報、次に実行す
べき命令の主記憶上の位置を示めす命令カウンタ
値等の情報が含まれている。そしてこれを情報処
理装置で実現しているハードウエアをPSWレジ
スタと呼んでいる。
FIG. 1 is a diagram showing the program status word (hereinafter referred to as PSW) used in interrupt processing of an information processing device. It is a diagram showing the program status word (hereinafter referred to as PSW) used in interrupt processing of an information processing device. It includes information such as accompanying condition code information and an instruction counter value indicating the location in main memory of the next instruction to be executed. The hardware that implements this in an information processing device is called a PSW register.

第2図は割込処理のよく知られている1つの方
法における主記憶上の各領域の配置を第1図の
PSWレジスタとの関係で示した図である。この
第2図において。割込みの種類や割込み要求装置
によつて前もつて決められている主記憶上の領域
(以下、旧PSW領域と称す)に、割込まれたプロ
グラムのPSWレジスタの内容を退避し(の動
作)、該割込みを処理するプログラムのPSWとし
て、やはり前もつて決められている主記憶上の領
域(以下、新PSW領域と称す)から読出して
PSWレジスタに設定し(の動作)、新しいPSW
に従つて命令の実行を再開する。
Figure 2 shows the arrangement of each area in main memory in one well-known method of interrupt processing, as shown in Figure 1.
FIG. 3 is a diagram showing the relationship with the PSW register. In this Figure 2. The contents of the PSW register of the interrupted program are saved to an area in main memory (hereinafter referred to as the old PSW area) that is predetermined by the type of interrupt and the interrupt requesting device (operation). , the PSW of the program that processes the interrupt is read from an area in the main memory that has been determined in advance (hereinafter referred to as the new PSW area).
Set the PSW register (behavior of) and set the new PSW
Resumes instruction execution according to the instructions.

第3図は先に説明した従来の割込み処理例のタ
イムチヤートをあらわしたもので、T5の時刻で
割込み要求が発生し受付けられると、実行の為に
先取り中の命令B,C,D,Eはすべてキヤンセ
ルされ、割込処理プログラム用の新PSWが時刻
T9に実行ユニツトに送られることが分る。この
ようにそれまでに準備されていたいくつかの命令
がキヤンセルされ、このため損失が生じていた。
FIG. 3 shows a time chart of the conventional interrupt processing example described above. When an interrupt request is generated and accepted at time T5 , the instructions B, C, D, All E is canceled and the new PSW for the interrupt processing program is set to time.
It can be seen that it is sent to the execution unit at T9 . In this way, several previously prepared orders were canceled, resulting in losses.

第4図は本発明の情報処理装置で使用される命
令の型式図の一例を示したものである。この場合
における装置の命令は、下位16ビツトがゼロであ
るレジスタ−レジスタ型の命令(以下RR型命令
という)と、レジスタ−メモリ型の命令(以下
RM型命令という)の2種類であり、両者の区別
は命令コードによつて行われ、いずれも32ビツト
から成つている。図の(1)と(2)がRR型およびRM
型の命令をそれぞれあらわしている。図の(3)は本
発明の特徴ともいうべきRM型の擬似命令をあら
わしており、これも32ビツトから成つている。
FIG. 4 shows an example of a format diagram of instructions used in the information processing apparatus of the present invention. The device instructions in this case are register-register type instructions (hereinafter referred to as RR type instructions) whose lower 16 bits are zero, and register-memory type instructions (hereinafter referred to as RR type instructions).
There are two types of instructions (referred to as RM type instructions), and the distinction between the two is made by the instruction code, both of which consist of 32 bits. (1) and (2) in the figure are RR type and RM type
Each represents a type command. (3) in the figure represents an RM type pseudo-instruction, which can be said to be a feature of the present invention, and is also made up of 32 bits.

第5図は第4図の形式の命令を用いた本発明の
一実施例の構成を示した図である。以下第4図お
よび第5図を併用して説明するが、その前に第5
図の構成を大まかに区分けした各部の名称を記す
と、1は外部割込処理ユニツト、2は命令先取手
段、3はオペランド先取手段、2と3を合せた4
は先取制御ユニツト、5は実行ユニツト、6は図
示してない主記憶装置の一部とみなされるキヤツ
シユをそれぞれあらわしている。このほか外部割
込要求信号を発生する図示してない複数個の装置
がある。
FIG. 5 is a diagram showing the configuration of an embodiment of the present invention using instructions in the format shown in FIG. The explanation will be given below using both Figures 4 and 5, but first, Figure 5 will be explained.
The names of the parts that roughly divide the configuration in the figure are as follows: 1 is the external interrupt processing unit, 2 is the instruction preemption means, 3 is the operand preemption means, and 4 is the combination of 2 and 3.
5 represents a preemption control unit, 5 represents an execution unit, and 6 represents a cache (not shown) which is considered to be part of the main memory. In addition, there are a plurality of devices (not shown) that generate external interrupt request signals.

はじめに第5図の実行ユニツト5が持つている
演算レジスタ11を演算回路12により第4図に
示す命令との関係で処理する有様を、回路の構成
からはなれて機能的に説明しておく。実行ユニツ
ト5は、各語が32ビツトからなる16語の演算レジ
スタを持つており、第4図(1)のRR型命令では命
令R1で指定する演算レジスタの内容とR2で指定
する演算レジスタの内容をオペランドとして演算
を行ない、結果をR1で指定する演算レジスタに
格納する。一方第4図(2)のRM型命令は、R2で指
定する演算レジスタの内容と命令のD2部を加え
た値が主記憶上のオペランドのアドレスとして扱
われる。このとき、R2がゼロなら、D2部そのも
のが主記憶上のオペランドアドレスとして扱われ
る。すなわち、RM型の大部分の命令では、R1
指定する演算レジスタの内容と、R2部、D2部で
作成されるアドレスによつて指定される主記憶上
のオペランドと演算し、結果をR1で指定する演
算レジスタに格納する。演算レジスタの内容を図
示してない主記憶装置に格納する命令はやはり
RM型で、R1で指定する演算レジスタの内容を、
R2で指定する演算レジスタの内容にD2部を加え
た値をアドレスとする主記憶装置に格納する。
First, apart from the circuit configuration, we will functionally explain how the arithmetic register 11 of the execution unit 5 shown in FIG. 5 is processed by the arithmetic circuit 12 in relation to the instructions shown in FIG. 4. The execution unit 5 has a 16-word arithmetic register, each word consisting of 32 bits, and in the RR type instruction shown in Figure 4 (1), the contents of the arithmetic register specified by the instruction R1 and the operation specified by R2 are Performs an operation using the contents of the register as an operand, and stores the result in the operation register specified by R1 . On the other hand, in the RM type instruction shown in FIG. 4(2), the value obtained by adding the contents of the arithmetic register specified by R2 and the D2 part of the instruction is treated as the address of the operand in the main memory. At this time, if R 2 is zero, the D 2 part itself is treated as an operand address in main memory. In other words, most RM-type instructions operate on the contents of the arithmetic register specified by R1 and the operand in main memory specified by the address created in R2 and D2 , and then calculate the result. is stored in the calculation register specified by R1 . The instruction to store the contents of the arithmetic register in the main memory (not shown) is still
In the RM type, the contents of the arithmetic register specified by R 1 are
The value obtained by adding the D2 part to the contents of the calculation register specified by R2 is stored in the main memory at the address.

次に第5図を中心に装置の構成の詳細と動作に
ついて説明する。外部割込処理ユニツト1は、複
数の外部割込要求信号と、信号線aによつて実行
ユニツト4から送られてくる割込マスクを入力と
している。外部割込要求信号は対応する割込マス
クビツトがセツト状態にあるときのみ有効と見做
される。有効と見做された外部割込要求信号の
内、優先順位の最高のものが選択され、その選択
された割込要求信号に対応する新PSWを格納し
ている主記憶装置内の番地を発生し、かつその割
込みが中央処理装置間の通信用割込み、入出力終
了割込み、他装置の異常発生の割込み、ある種の
計時装置の割込み等の種類に対応する割込みコー
ドを作り、さらに命令コードとしては外部割込み
を表わすコードを発生する。
Next, the details of the configuration and operation of the apparatus will be explained with reference to FIG. The external interrupt processing unit 1 receives as input a plurality of external interrupt request signals and an interrupt mask sent from the execution unit 4 via the signal line a. External interrupt request signals are only considered valid when the corresponding interrupt mask bit is set. Among the external interrupt request signals considered to be valid, the one with the highest priority is selected, and an address in the main memory storing a new PSW corresponding to the selected interrupt request signal is generated. Then, create an interrupt code that corresponds to the type of interrupt, such as a communication interrupt between central processing units, an input/output end interrupt, an interrupt for an abnormality in another device, or a type of timekeeping device interrupt, and then write it as an instruction code. generates a code representing an external interrupt.

すなわち、有効な外部割込みがあるとき、外部
割込処理ユニツト1は、割込みの種類に対応し割
込みコードを作り、命令のR1部に挿入し、割込
みの原因となつた外部装置のユニツト番号に対応
するD2を作り出し、かつR2をゼロにし、更に命
令コード部を全部“1”にしたRM型の擬似命令
を生成する。これが第4図(3)に示した命令であ
る。この生成された擬似命令は信号線bを介して
命令選択回路11に接続される。同時に、擬似命
令が生成されたことの表示が信号線cを介して命
令選択回路11に送られる。
That is, when there is a valid external interrupt, external interrupt processing unit 1 creates an interrupt code corresponding to the type of interrupt, inserts it into the R1 part of the instruction, and writes it to the unit number of the external device that caused the interrupt. An RM type pseudo-instruction is generated in which the corresponding D 2 is created, R 2 is set to zero, and the instruction code part is set to all "1". This is the command shown in FIG. 4(3). This generated pseudo-instruction is connected to the instruction selection circuit 11 via the signal line b. At the same time, an indication that a pseudo-instruction has been generated is sent to the instruction selection circuit 11 via the signal line c.

キヤツシユ6は主記憶装置の一部の情報をブロ
ツク単位に読出し、使用頻度の高いものを保持
し、高速に読出し、書込み動作を行なう緩衝記憶
装置である。主記憶装置をアクセスするのと同じ
く、メモリアクセスレジスタ12の内容がアドレ
スとなるよう信号線dで接続される。
The cache 6 is a buffer storage device that reads out part of the information in the main memory in units of blocks, holds frequently used information, and performs read and write operations at high speed. Similarly to accessing the main memory, the memory access register 12 is connected by a signal line d so that the contents of the register 12 serve as an address.

命令バツフア13はキヤツシユ6から信号線e
を介し8語並列に読出された命令を保持する。命
令バツフア13の出力は1命令づつ選択され信号
線fを介して命令選択回路11に供給される。
The command buffer 13 is connected to the signal line e from the cache 6.
Holds instructions read out in parallel through 8 words. The output of the instruction buffer 13 is selected one instruction at a time and supplied to the instruction selection circuit 11 via the signal line f.

命令選択回路11は命令バツフア13の出力線
fと外部割込処理ユニツト1の出力線bを命令情
報の入力とし、信号線cが擬似命令の生成を表わ
す生成表示信号をあらわしているとき、その出力
線gに信号線bの内容を選択し、その生成表示信
号があらわれていないとき、信号線fを選択す
る。選択された命令は1つづつ命令レジスタ14
に送られ、更に信号線hを介し命令デコーダ15
に供給される。
The instruction selection circuit 11 uses the output line f of the instruction buffer 13 and the output line b of the external interrupt processing unit 1 as inputs for instruction information, and when the signal line c represents a generation display signal indicating generation of a pseudo-instruction, The content of signal line b is selected for output line g, and when the generated display signal is not appearing, signal line f is selected. The selected instructions are stored one by one in the instruction register 14.
and is further sent to the instruction decoder 15 via the signal line h.
is supplied to

命令デコーダ15では命令レジスタ14に保持
されている命令をデコードする。すなわちその命
令がRR型かRM型かを解読し、もしRM型なら次
のアドレスレジスタ16に対し、信号線iにより
アドレス計算を行なわせるように指示する。また
RM型である場合に通常の命令であるか外部割込
処理ユニツト1で発生された擬似命令であるかを
判定する。もし擬似命令であればすなわち第4図
(3)で図示したように命令コード部が全部1であれ
ば、通常のRM型命令の動作以外に命令レジスタ
14を空にし、再開指令が出されるまで新しい命
令を命令レジスタ14に受けとることがないよう
「待ち状態」に入る。
The instruction decoder 15 decodes the instructions held in the instruction register 14. That is, it decodes whether the instruction is RR type or RM type, and if it is RM type, it instructs the next address register 16 to perform address calculation via signal line i. Also
If the instruction is of the RM type, it is determined whether it is a normal instruction or a pseudo instruction generated by the external interrupt processing unit 1. If it is a pseudo-instruction, that is, Fig. 4
As shown in (3), if the instruction code part is all 1, in addition to normal RM type instruction operation, the instruction register 14 can be emptied and new instructions can be received in the instruction register 14 until a restart command is issued. It goes into a ``waiting state'' to prevent it from happening.

アドレスレジスタ16は、新しい命令を受け入
れる事が可能になつたとき、命令デコーダ15か
ら信号線iを介して供給される命令を受けとる。
このとき、命令デコーダ15からアドレス計算が
指示されていると、演算レジスタ9のうち受けと
つた命令のR2部に相当する演算レジスタを選択
する為に、信号線jを介しアクセスする。演算レ
ジスタ2で読出された演算レジスタは信号線kを
経てアドレス計算回路17に入力される。
Address register 16 receives an instruction supplied via signal line i from instruction decoder 15 when a new instruction becomes available.
At this time, if address calculation is instructed by the instruction decoder 15, access is made via the signal line j in order to select the arithmetic register corresponding to the R2 portion of the received instruction from among the arithmetic registers 9. The arithmetic register read out by the arithmetic register 2 is input to the address calculation circuit 17 via the signal line k.

一方アドレスレジスタ16のD2部の情報は信
号線lを介しアドレス計算回路17へ供給され
る。アドレス計算回路17はアドレスレジスタ1
6の命令のR2部がゼロでないときは入力信号線
lと信号線kを加算して信号線mに出力し、R2
部がゼロのときは信号線lの内容をそのまま信号
線mに出力する。
On the other hand, the information in the D2 portion of the address register 16 is supplied to the address calculation circuit 17 via the signal line l. Address calculation circuit 17 is address register 1
If the R2 part of the instruction in step 6 is not zero, input signal line l and signal line k are added and output to signal line m, and R2
When the part is zero, the contents of the signal line l are output as they are to the signal line m.

ここでアドレスレジスタ16に戻つて、このレ
ジスタの命令コード部、R1部およびR2部は、命
令実行待ちレジスタ18が新しい命令を受けとる
状態になると、信号線mを介して命令実行待ちレ
ジスタ18に送られる。同時に、アドレスレジス
タ16に保持されていた命令がRM型であれば、
信号線mの内容がメモリアクセスレジスタ12に
送られる。そしてもし命令実行待ちレジスタ18
に送られた命令が格納命令以外のRM型であれ
ば、メモリアクセスレジスタ12でキヤツシユ6
に読出し要求を出す。又もし命令実行待ちレジス
タ18に送られてきた命令がRM型の格納命令で
あるか或いは外部割込処理の擬似命令の場合、こ
れらの命令が実行ユニツト5に送出されてからも
メモリアクセスレジスタ12の内容を使用するの
で、これらの命令の実行終了あるいはメモリアク
セスレジスタ12の内容を使い終るまで、命令実
行待ちレジスタ18およびメモリアクセスレジス
タ12がアドレスレジスタ16およびアドレス計
算回路17から次の命令を受けとるのを延期させ
る。
Returning to the address register 16, when the instruction code section, R1 section, and R2 section of this register are in a state where the instruction execution waiting register 18 receives a new instruction, the instruction execution waiting register 18 is transferred to the address register 16 via the signal line m. sent to. At the same time, if the instruction held in the address register 16 is of RM type,
The contents of signal line m are sent to memory access register 12. And if instruction execution wait register 18
If the instruction sent to the memory access register 12 is an RM type instruction other than a store instruction, the cache 6 is
Issue a read request to. If the instruction sent to the instruction execution wait register 18 is an RM-type storage instruction or a pseudo-instruction for external interrupt processing, the memory access register 12 will not be updated even after these instructions are sent to the execution unit 5. Since the contents of are used, the instruction execution wait register 18 and memory access register 12 receive the next instruction from the address register 16 and address calculation circuit 17 until the execution of these instructions is completed or the contents of the memory access register 12 are used. to postpone.

ところでメモリアクセスレジスタ12は、語ア
ドレス情報を加算器19により1番地だけ増加さ
せ自身に戻す機能を有している。外部割込処理用
の擬似命令を命令実行待ちレジスタ18から実行
命令レジスタ21に信号線oを経て転送し、かつ
メモリアクセスレジスタ12によつてキヤツシユ
6を読出し、それを信号線pを経てオペランドレ
ジスタ22に移すと同時にメモリアクセスレジス
タ12の内容は1番地だけ増加する。すなわち外
部割込処理用の擬似命令の場合、アドレス計算回
路17で作成された主記憶上のアドレスは、第2
図で示しているように、割込処理するプログラム
の為の新PSWの領域を示しており、そのアドレ
スより1番地増加したアドレスには、その割込み
によつて中断される現在実行中のプログラムの
PSWレジスタの内容を退避する旧PSWの領域が
定義されている。
By the way, the memory access register 12 has a function of incrementing the word address information by one address using the adder 19 and returning it to itself. A pseudo-instruction for external interrupt processing is transferred from the instruction execution wait register 18 to the execution instruction register 21 via the signal line o, and the cache 6 is read out by the memory access register 12, and then transferred to the operand register via the signal line p. 22, the contents of the memory access register 12 increase by one address. In other words, in the case of a pseudo-instruction for external interrupt processing, the address on the main memory created by the address calculation circuit 17 is
As shown in the figure, it shows the new PSW area for the program that handles the interrupt, and the address that is one address higher than that address is the area for the currently running program that will be interrupted by the interrupt.
An area of the old PSW to save the contents of the PSW register is defined.

命令実行待ちレジスタ18に設定された命令が
RR型およびRM型の格納命令の場合は、実行命
令レジスタ21が次の命令を受付け可能になつた
ら、すなわち実行ユニツト5が次の命令を受付け
可能になつたら、信号線oを介して実行命令レジ
スタ21に命令を受けとり、その命令の実行を開
始する。命令実行待ちレジスタ18に設定された
命令が格納命令以外のRM型命令の場合は、実行
命令レジスタ21が次の命令を受付け可能にな
り、かつキヤツシユ6の出力線pに主記憶上のオ
ペランドが読出されると、実行命令レジスタ21
およびオペランドレジスタ22に転送が行なわ
れ、その命令の実行を開始する。
The instruction set in the instruction execution wait register 18 is
In the case of RR type and RM type storage instructions, when the execution instruction register 21 becomes able to accept the next instruction, that is, when the execution unit 5 becomes able to accept the next instruction, the execution instruction is sent via the signal line o. An instruction is received in the register 21 and execution of the instruction is started. If the instruction set in the instruction execution wait register 18 is an RM type instruction other than a store instruction, the execution instruction register 21 becomes ready to accept the next instruction, and the output line p of the cache 6 has an operand in the main memory. When read, the execution instruction register 21
and is transferred to the operand register 22, and execution of that instruction begins.

上記における2つの場合のうち、前者の命令実
行待ちレジスタ18に設定された命令がRR型の
場合について説明すると、実行命令レジスタ21
のR1部を信号線qを介して演算レジスタ9に送
り、16語の内から1語のデータをアクセスしその
内容を信号線rに読出し、第1選択回路23に送
出する。実行命令レジスタ21のR2部を信号線
sを介して演算レジスタ9に送り、16語の内から
1語のデータをアクセスし、その内容を信号線t
に読出し、第2選択回路24に送出する。
Of the two cases above, the former case where the instruction set in the instruction execution waiting register 18 is of the RR type will be explained.
The R 1 portion of is sent to the arithmetic register 9 via the signal line q, one word of data out of the 16 words is accessed, its contents are read out to the signal line r, and sent to the first selection circuit 23 . The R2 part of the execution instruction register 21 is sent to the calculation register 9 via the signal line s, one word of data from among the 16 words is accessed, and the contents are sent to the signal line t.
is read out and sent to the second selection circuit 24.

第1および第2の選択回路23と24は、実行
命令レジスタ21の命令コード部をデコードし
て、前者の第1選択回路23では信号線rを選択
し、後者の第2選択回路24では信号線tを選択
し、信号線uとvにそれぞれ出力する。演算回路
10は種々の演算機能を有し、通常実行命令レジ
スタ21の命令コード部の内容によつて2つの入
力をオペランドとして演算し、信号線wに出力す
る。得られた演算結果は前記R1部で指定される
演算レジスタ9に格納される。図示されていない
が、演算回路12の出力は結果がゼロ、正、負等
によつてPSWレジスタ25のコンデイシヨンコ
ード部に状態を設定する。PSWレジスタ25の
命令カウンタ部は加算器26により命令の実行毎
に1だけ増加される。
The first and second selection circuits 23 and 24 decode the instruction code part of the execution instruction register 21, and the former first selection circuit 23 selects the signal line r, and the latter second selection circuit 24 selects the signal line r. Line t is selected and output to signal lines u and v, respectively. The arithmetic circuit 10 has various arithmetic functions, performs arithmetic operations on two inputs as operands according to the contents of the instruction code portion of the normal execution instruction register 21, and outputs the results to the signal line w. The obtained calculation result is stored in the calculation register 9 designated by the R1 section . Although not shown, the output of the arithmetic circuit 12 sets a state in the condition code section of the PSW register 25 depending on whether the result is zero, positive, negative, etc. The instruction counter portion of the PSW register 25 is incremented by 1 by the adder 26 every time an instruction is executed.

次に後者の命令実行待ちレジスタ20に設定さ
れた命令がRMの場合について説明すると、格納
命令および擬似命令のときはあとに述べるように
RR型の場合と異つているが、その他の場合は第
2選択回路24がオペランドレジスタ22の出力
すなわち信号線xとその出力線として選択すると
いう点以外は前述のRR型の場合と同じである。
Next, to explain the latter case where the instruction set in the instruction execution wait register 20 is RM, when it is a store instruction or pseudo-instruction, as described later,
Although this is different from the case of the RR type, the other cases are the same as the case of the RR type described above except that the second selection circuit 24 selects the output of the operand register 22, that is, the signal line x, and its output line. .

命令が格納命令の場合は、R1部で選択される
演算レジスタ9の内の1語が信号線rに出力さ
れ、第1選択回路23を経て演算回路10に供給
される。演算回路10は第2選択回路24からの
信号線vの状態に関係なく信号線uと同じ情報を
出力の信号線wに供給する。この情報はキヤツシ
ユ6に接続され、キヤツシユおよび主記憶装置に
対する書込みデータとなる。このとき、格納命令
のアドレスはメモリアドレスレジスタ12に保持
されており、実行ユニツト5は同じタイミングで
書込み指令をキヤツシユ6および主記憶装置に出
し、命令の実行を終了する。
If the instruction is a store instruction, one word of the arithmetic register 9 selected by the R1 section is output to the signal line r, and is supplied to the arithmetic circuit 10 via the first selection circuit 23. The arithmetic circuit 10 supplies the same information as the signal line u to the output signal line w regardless of the state of the signal line v from the second selection circuit 24. This information is connected to the cache 6 and becomes write data to the cache and main memory. At this time, the address of the store instruction is held in the memory address register 12, and the execution unit 5 issues a write instruction to the cache 6 and the main storage device at the same timing, and ends the execution of the instruction.

命令が外部割込処理用の擬似命令の場合は、割
込みの種類を表わす実行命令レジスタ21のR1
部の情報を、信号線qを介してPSWレジスタ2
5の割込コード部に転送する。それから、PSW
レジスタ25の内容を信号線yを通して第1選択
器23に供給する。この情報は主記憶上の該割込
に対応する旧PSW領域に格納命令と同様の動作
で書込まれる。
If the instruction is a pseudo-instruction for external interrupt processing, R1 of the execution instruction register 21 indicating the type of interrupt.
The information of the section is sent to PSW register 2 via signal line q.
It is transferred to the interrupt code section of No.5. Then, PSW
The contents of the register 25 are supplied to the first selector 23 through the signal line y. This information is written to the old PSW area corresponding to the interrupt on the main memory in the same manner as a store instruction.

そのあと、オペランドレジスタ22に読出され
ている新PSW情報を信号線x、第2選択回路2
4、信号線v、演算回路10、信号線wを経て、
PSWレジスタ25に設定する。このPSWレジス
タの割込みマスクビツトは、信号線aを介して外
部割込処理ユニツト1に供給される。また、新し
く設定されたPSWレジスタ25の命令カウンタ
部の情報を信号線zを介してメモリアクセスレジ
スタ12に転送し、割込処理プログラムの先頭の
8語を読出し、信号線eを介して命令バツフア1
3に転送する。
After that, the new PSW information read to the operand register 22 is transferred to the signal line x, and the second selection circuit 2
4. Via the signal line v, the arithmetic circuit 10, and the signal line w,
Set in PSW register 25. The interrupt mask bit of this PSW register is supplied to the external interrupt processing unit 1 via signal line a. Also, the information in the newly set instruction counter section of the PSW register 25 is transferred to the memory access register 12 via the signal line z, the first eight words of the interrupt processing program are read, and the instruction buffer is transferred via the signal line e. 1
Transfer to 3.

以上の処理が終了すると、実行ユニツト1は、
命令レジスタ14の「待ち状態」を解除し、先行
制御動作を再開させ、自身の動作は終了する。
When the above processing is completed, execution unit 1
The "wait state" of the instruction register 14 is released, the advance control operation is restarted, and its own operation is completed.

なお以上の説明における各回路の機能から分る
ように、命令選択回路、命令バツフア13、命令
レジスタ14および命令デコーダは合せて命令先
取り手段を形成し、メモリアクセスレジスタ1
2、アドレスレジスタ16、アドレス計算回路1
7、命令実行待ちレジスタおよび加算器19は合
せオペランド先取手段を形成しており、而して両
先取手段をまとめて先取制御手段ということがで
きる。
As can be seen from the functions of each circuit in the above description, the instruction selection circuit, instruction buffer 13, instruction register 14, and instruction decoder together form instruction prefetching means, and the memory access register 1
2, address register 16, address calculation circuit 1
7. The instruction execution waiting register and the adder 19 form combined operand prefetching means, and both prefetching means can be collectively called prefetching control means.

第6図は第5図の実施例における割込処理の一
例をあらわしたタイムチヤートである。この図で
示めすように、本実施例では、割込要求が時刻
T5で発生しても、先取り途中の命令B,C,D
はキヤンセルされることなくそのまま実行され、
新PSWは命令B,C,Dが1クロツクで実行さ
れるとき、時刻T9で実行ユニツトに送られる。
FIG. 6 is a time chart showing an example of interrupt processing in the embodiment of FIG. As shown in this figure, in this example, the interrupt request is
Even if it occurs at T 5 , instructions B, C, and D are still being preempted.
is executed as is without being canceled,
The new PSW is sent to the execution unit at time T9 when instructions B, C, and D are executed in one clock.

本発明は、以上説明したように、外部割込処理
ユニツトで擬似命令を発生させ、先取り用の命令
レジスタにそれを供給するように構成することに
よつて、外部割込みが発生しても先取り途中の命
令がキヤンセルされることなく実行させることに
よつて、効率のよい割込み処理を提供することが
出来る。
As explained above, the present invention is configured such that an external interrupt processing unit generates a pseudo-instruction and supplies it to an instruction register for prefetching. By executing the instructions without being canceled, efficient interrupt processing can be provided.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は情報処理装置の割込処理において用い
られるプログラム状態語(PSW)の構成を示し
た図、第2図は割込処理の方法における主記憶上
の各領域の配置を第1図のPSWレジスタとの関
係で示した図、第3図は従来の割込処理のタイム
チヤートをあらわした図、第4図は本発明の情報
処理装置で使用される命令の形式図の一例を示し
た図、第5図は第4図の型式の命令を用いた本発
明の一実施例の構成を示した図、第6図は第5図
の実施例における割込処理の一例をあらわしたタ
イムチヤートである。 記号の説明:1は外部割込処理ユニツト、2は
命令先取手段、3はオペランド先取手段、4は先
行制御ユニツト、5は実行ユニツト、6はキヤツ
シユ、9は演算レジスタ、10は演算回路、11
は命令選択回路、12はメモリアクセスレジス
タ、13は命令バツフア、14は命令レジスタ、
15は命令デコーダ、16はアドレスレジスタ、
17はアドレス計算回路、18は命令実行待ちレ
ジスタ、21は実行命令レジスタ、22はオペラ
ンドレジスタ、23は第1選択回路、24は第2
選択回路、25はPSWレジスタをそれぞれあら
わしている。
Figure 1 shows the structure of a program status word (PSW) used in interrupt processing of an information processing device, and Figure 2 shows the arrangement of each area in main memory in the interrupt processing method. Figure 3 shows the relationship with the PSW register, Figure 3 shows a time chart of conventional interrupt processing, and Figure 4 shows an example of the format of instructions used in the information processing device of the present invention. 5 is a diagram showing the configuration of an embodiment of the present invention using instructions of the type shown in FIG. 4, and FIG. 6 is a time chart showing an example of interrupt processing in the embodiment of FIG. 5. It is. Explanation of symbols: 1 is an external interrupt processing unit, 2 is an instruction prefetching means, 3 is an operand prefetching means, 4 is a preemptive control unit, 5 is an execution unit, 6 is a cache, 9 is an arithmetic register, 10 is an arithmetic circuit, 11
12 is an instruction selection circuit, 12 is a memory access register, 13 is an instruction buffer, 14 is an instruction register,
15 is an instruction decoder, 16 is an address register,
17 is an address calculation circuit, 18 is an instruction execution wait register, 21 is an execution instruction register, 22 is an operand register, 23 is a first selection circuit, and 24 is a second
The selection circuit 25 represents a PSW register.

Claims (1)

【特許請求の範囲】[Claims] 1 複数個の装置から外部割込要求信号を入力
し、主記憶装置と相俟つて先行制御方式により情
報の処理を行う装置であつて、前記入力した複数
の外部割込要求信号から選択した優先順位が最高
位の外部割込要求信号に対応するコード、割込処
理において必要とされる前記主記憶装置上の情報
の位置を示す番地を含む擬似命令、およびこの擬
似命令が生成されていることを示す生成表示信号
を発生する外部割込処理ユニツトと、命令をデコ
ードすべく次の命令を命令レジスタに取込むと
き、前記生成表示信号がセツト状態にあるとき前
記擬似命令を受取り、前記生成表示信号がセツト
状態にないとき前記次の命令を受取る命令先取手
段、および前記擬似命令がデコードされたとき、
この擬似命令中のアドレス情報で示される前記主
記憶装置からの情報を読出すオペランド先取手段
から成る先行制御ユニツトと、この先行制御ユニ
ツトから与えられる前記擬似命令および前記主記
憶装置から読出された前記情報を入力として割込
処理を行う実行ユニツトとを備えた情報処理装
置。
1 A device that inputs external interrupt request signals from a plurality of devices and processes information in conjunction with a main storage device using a preemptive control method, the device receiving priority signals selected from the plurality of input external interrupt request signals. A code corresponding to the highest-ranked external interrupt request signal, a pseudo-instruction including an address indicating the location of information on the main storage device required for interrupt processing, and this pseudo-instruction being generated. an external interrupt processing unit that generates a generation indication signal indicating the generation indication signal; instruction preemption means for receiving said next instruction when the signal is not in the set state, and when said pseudo-instruction is decoded;
a preceding control unit comprising operand prefetching means for reading out information from the main memory indicated by address information in this pseudo-instruction; An information processing device comprising an execution unit that receives information as input and performs interrupt processing.
JP7971579A 1979-06-26 1979-06-26 Information processor Granted JPS564844A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7971579A JPS564844A (en) 1979-06-26 1979-06-26 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7971579A JPS564844A (en) 1979-06-26 1979-06-26 Information processor

Publications (2)

Publication Number Publication Date
JPS564844A JPS564844A (en) 1981-01-19
JPS6149695B2 true JPS6149695B2 (en) 1986-10-30

Family

ID=13697893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7971579A Granted JPS564844A (en) 1979-06-26 1979-06-26 Information processor

Country Status (1)

Country Link
JP (1) JPS564844A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1988007239A1 (en) * 1987-03-20 1988-09-22 Digital Equipment Corporation Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units
US7681022B2 (en) * 2006-07-25 2010-03-16 Qualcomm Incorporated Efficient interrupt return address save mechanism

Also Published As

Publication number Publication date
JPS564844A (en) 1981-01-19

Similar Documents

Publication Publication Date Title
JP2539199B2 (en) Digital processor controller
JPS6239780B2 (en)
JPH1021074A (en) Interruption control system, processor, and computer system
JPH0348537B2 (en)
US20020099922A1 (en) Data processing apparatus including a plurality of pipeline processing mechanisms in which memory access instructions are carried out in a memory access pipeline
JPS62115542A (en) Information processor
US5784606A (en) Method and system in a superscalar data processing system for the efficient handling of exceptions
JPS6149695B2 (en)
JPH1196006A (en) Information processor
JP3490005B2 (en) Instruction control apparatus and method
JPS6236575B2 (en)
EP0177712B1 (en) Masked data fetch and modifying device
JP2671160B2 (en) Exception handling method
JPH07219766A (en) Arithmetic processor
JP2783285B2 (en) Information processing device
JP2894438B2 (en) Pipeline processing equipment
JP2000029690A (en) Method and device for data processing
JP2814683B2 (en) Instruction processing unit
JPH0222413B2 (en)
JPH0377137A (en) Information processor
JP2562838B2 (en) Processor and store buffer control method
JPS6230455B2 (en)
JP2953451B2 (en) Interrupt handling method
JP2883488B2 (en) Instruction processing unit
JPH04181331A (en) Instruction retry system