JPH05120012A - Exception processor - Google Patents

Exception processor

Info

Publication number
JPH05120012A
JPH05120012A JP3284382A JP28438291A JPH05120012A JP H05120012 A JPH05120012 A JP H05120012A JP 3284382 A JP3284382 A JP 3284382A JP 28438291 A JP28438291 A JP 28438291A JP H05120012 A JPH05120012 A JP H05120012A
Authority
JP
Japan
Prior art keywords
instruction
issued
execution
registered
registration buffer
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.)
Pending
Application number
JP3284382A
Other languages
Japanese (ja)
Inventor
Satoshi Nagamine
永峰  聡
Hiroaki Hirata
博章 平田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP3284382A priority Critical patent/JPH05120012A/en
Publication of JPH05120012A publication Critical patent/JPH05120012A/en
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

PURPOSE:To improve the efficiency of an instruction processing by using a buffer storing an issued instruction until execution terminates. CONSTITUTION:An instruction decoding part 1 issues the instruction and registers the instruction issued to an issuing instruction regist ration buffer 3. When the execution of the instruction terminates in an instruction execution part 2, the registered instruction is eliminated from the issuing instruction registration buffer 3. When an exception occurs, the issuing and the execution of the instruction are interrupted, and a program is switched. When it is resumed, the instruction registered in the instruction registration buffer 3 is supplied to the instruction decoding part 1 before the instruction is supplied from a memory.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、命令パイプライン処理
における例外処理装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an exception handling device in instruction pipeline processing.

【0002】[0002]

【従来の技術】以下図面を参照しながら、従来の例外処
理装置の一例について説明する。例外処理装置は、命令
パイプライン処理において例外が発生してプログラムの
実行を中断した場合、その再開を正しく行うことができ
るようにするための装置である。図7は従来の例外処理
装置の構成を示すブロック図である。図7において、7
1は命令格納メモリ、72は命令解読部である。73は
命令実行部であり、この中には各種演算器や、ロード/
ストア・ユニットなどの実行ユニットが含まれる。74
はプログラム・カウンタで、まだ読み出されていない命
令先頭アドレス、すなわち次に読み出される命令のアド
レスを保持している。75は未終了命令カウンタで、実
行中の命令のうち最初に発行された命令のアドレスが格
納される。以上のように構成された例外処理装置につい
て、以下その動作について説明する。
2. Description of the Related Art An example of a conventional exception handling apparatus will be described below with reference to the drawings. The exception handling device is a device for allowing the program to be correctly resumed when an exception occurs in the instruction pipeline process and the execution of the program is interrupted. FIG. 7 is a block diagram showing the configuration of a conventional exception handling device. In FIG. 7, 7
Reference numeral 1 is an instruction storage memory, and 72 is an instruction decoding unit. Reference numeral 73 is an instruction execution unit, in which various arithmetic units and load / load
It includes execution units such as store units. 74
Is a program counter, which holds an instruction start address which has not been read yet, that is, an address of an instruction which is read next. An unfinished instruction counter 75 stores the address of the first issued instruction among the instructions being executed. The operation of the exception processing device configured as described above will be described below.

【0003】初期状態では、プログラム・カウンタ74
と未終了命令カウンタ75は、最初にとり出される命令
アドレスが格納される。通常の命令パイプライン処理を
行う場合、発行命令アドレスレジスタ74で示されるア
ドレスの命令を命令格納メモリ71から命令解読部72
へ供給し、命令解読部72が命令を解読して発行する。
命令が命令格納メモリ71からとり出された直後、プロ
グラム・カウンタ74の内容は、次に供給する命令のア
ドレスに更新される。発行された命令は命令実行部73
で実行され、終了後、未終了命令カウンタ75の内容を
次に終了する命令のアドレスに更新する。命令実行部7
3での実行は、命令の種類によって使用する実行ユニッ
トが異なり、したがって実行時間も命令によって異なる
が、命令が終了する順序と命令が発行された順序は一致
するように制御される。すなわち、ある命令が、先に発
行された命令よりも先に実行が終了した場合、その命令
は先に発行された命令がすべて終了するまで待たなけれ
ばいけない。
In the initial state, the program counter 74
The unfinished instruction counter 75 stores the first fetched instruction address. When performing normal instruction pipeline processing, the instruction at the address indicated by the issued instruction address register 74 is transferred from the instruction storage memory 71 to the instruction decoding unit 72.
And the instruction decoding unit 72 decodes and issues the instruction.
Immediately after the instruction is fetched from the instruction storage memory 71, the content of the program counter 74 is updated to the address of the instruction to be supplied next. The issued instruction is the instruction execution unit 73.
Is executed, the content of the unfinished instruction counter 75 is updated to the address of the instruction to be finished next. Instruction execution unit 7
Execution in No. 3 uses different execution units depending on the type of instruction, and therefore the execution time also differs depending on the instruction, but the order in which the instruction ends and the order in which the instruction is issued are controlled to match. That is, if an instruction finishes executing before an earlier issued instruction, that instruction must wait until all previously issued instructions have finished.

【0004】次に例外が生じた場合、実行中の命令は中
断され、命令の発行も中断される。中断したプログラム
を再開するとき、実行を中断した命令から処理を再開す
る必要がある。これは、未終了命令カウンタ75がさす
命令から処理を開始することにより実現できる。未終了
命令カウンタ75には、命令解読部72で発行されて命
令実行部73での実行が終了していない命令の中で、最
初に発行された命令のアドレスが格納されている。命令
の発行順序と実行終了の順序は一致しているので、それ
より後の命令は実行が終了していない。したがって、こ
のアドレスの命令から処理を再開すれば、正しくプログ
ラムを再開することができる。
When an exception occurs next, the instruction being executed is suspended and the issuing of the instruction is suspended. When resuming the suspended program, it is necessary to resume the process from the instruction whose execution was suspended. This can be realized by starting the processing from the instruction indicated by the unfinished instruction counter 75. The unfinished instruction counter 75 stores the address of the first issued instruction among the instructions issued by the instruction decoding section 72 and not yet executed by the instruction executing section 73. Since the order of instruction issuance and the order of execution end are the same, the execution of the subsequent instructions has not ended. Therefore, if the process is restarted from the instruction of this address, the program can be restarted correctly.

【0005】[0005]

【発明が解決しようとする課題】しかしながら前記のよ
うな構成では、命令の発行順序と実行終了の順序が一致
しなければならないので、後から発行された命令が先に
発行された命令よりも先に実行が終了したとしても、先
に発行された命令が終了するまで待たなければならず、
命令処理の効率が悪くなるという問題点を有していた。
However, in the above-mentioned configuration, the order of issue of instructions and the order of completion of execution must match, so that an instruction issued later will precede an instruction issued earlier. Even if the execution is finished, you must wait until the previously issued instruction finishes,
There was a problem that the efficiency of instruction processing deteriorates.

【0006】本発明はかかる点に鑑み、命令処理の効率
を向上させる例外処理装置を提供することを目的とす
る。
In view of the above points, the present invention has an object to provide an exception processing apparatus which improves the efficiency of instruction processing.

【0007】[0007]

【課題を解決するための手段】前記目的を達成するため
に第1の発明の例外処理装置は、命令解読部と、命令実
行部と、実行中の命令を複数個記憶する発行命令登録バ
ッファとから構成され、通常の命令処理においては、前
記命令解読部はメモリから供給される命令を解読し、前
記命令実行部に前記命令を発行すると同時に前記発行命
令登録バッファに前記命令を登録し、前記命令実行部で
前記命令の実行が終了した後、前記発行命令登録バッフ
ァに登録した前記命令を削除し、また例外が発生した場
合には、前記命令解読部は命令の発行および前記命令実
行部での命令の実行を中断し、前記命令処理を再開する
ときには、メモリから前記命令解読部に命令を供給する
前に前記発行命令登録バッファに登録されている命令を
前記命令解読部に供給するものである。
In order to achieve the above object, an exception processing apparatus of the first invention comprises an instruction decoding section, an instruction execution section, and an issued instruction registration buffer for storing a plurality of instructions being executed. In the normal instruction processing, the instruction decoding unit decodes the instruction supplied from the memory, issues the instruction to the instruction execution unit, and simultaneously registers the instruction in the issued instruction registration buffer, After the instruction execution unit completes the execution of the instruction, the instruction registered in the issued instruction registration buffer is deleted, and when an exception occurs, the instruction decoding unit issues the instruction and the instruction execution unit When the instruction execution is suspended and the instruction processing is restarted, the instruction registered in the issued instruction registration buffer before the instruction is supplied from the memory to the instruction decoding unit is transferred to the instruction decoding unit. It is intended to supply.

【0008】また、第2の発明の例外処理装置は、命令
解読部と、命令実行部と、実行中の命令を複数個記憶す
る発行命令登録バッファとから構成され、通常の命令処
理においては、前記命令解読部はメモリから供給される
命令を解読し、前記命令実行部に前記命令を発行すると
同時に特定の種類の命令については前記発行命令登録バ
ッファに前記命令を登録し、前記命令実行部で前記命令
の実行が終了した後、前記発行命令登録バッファに登録
した前記命令を削除し、例外が発生した場合には、前記
命令解読部は命令の発行を中断し、前記命令実行部は前
記発行命令登録バッファに登録されている命令の実行を
中断し、それ以外の命令の実行はすべて完了させ、前記
命令処理を再開するときには、メモリから前記命令解読
部に命令を供給する前に前記発行命令登録バッファに登
録されている命令を前記命令解読部に供給するものであ
る。
The exception processing device of the second invention comprises an instruction decoding unit, an instruction execution unit, and an issued instruction registration buffer for storing a plurality of instructions being executed. In normal instruction processing, The instruction decoding unit decodes an instruction supplied from a memory, issues the instruction to the instruction execution unit, and at the same time registers the instruction in the issued instruction registration buffer for a specific type of instruction. After the execution of the instruction is completed, the instruction registered in the issued instruction registration buffer is deleted, and when an exception occurs, the instruction decoding unit interrupts the issuance of the instruction and the instruction execution unit causes the issuance. Execution of the instructions registered in the instruction registration buffer is interrupted, execution of all other instructions is completed, and when restarting the instruction processing, the instructions are supplied from the memory to the instruction decoding unit. And supplies an instruction registered in the issued instruction register buffer before said instruction decoding unit.

【0009】また、第3の発明の例外処理装置は、命令
解読部と、命令実行部と、実行中の命令を複数個記憶す
る命令の種類ごとに別々に用意された複数個の発行命令
登録バッファとから構成され、通常の命令処理において
は、前記命令解読部はメモリから供給される命令を解読
し、前記命令実行部に前記命令を発行すると同時に特定
の種類の命令についてはそれぞれ別々に用意された前記
発行命令登録バッファに前記命令を登録し、前記命令実
行部で前記命令の実行が終了した後、前記発行命令登録
バッファに登録した前記命令を削除し、例外が発生した
場合には、前記命令解読部は命令の発行を中断し、前記
命令実行部は前記発行命令登録バッファに登録されてい
る命令の実行を中断し、それ以外の命令の実行はすべて
完了させ、前記命令処理を再開するときには、メモリか
ら前記命令解読部に命令を供給する前に前記発行命令登
録バッファに登録されている命令を前記命令解読部に供
給するものである。
Further, the exception handling apparatus of the third invention is such that an instruction decoding unit, an instruction execution unit, and a plurality of issued instruction registrations prepared separately for each type of instruction for storing a plurality of instructions being executed. In a normal instruction processing, the instruction decoding unit decodes an instruction supplied from a memory, issues the instruction to the instruction execution unit, and simultaneously prepares a specific type of instruction separately. When the instruction is registered in the issued instruction registration buffer, the instruction execution unit finishes executing the instruction, the instruction registered in the issued instruction registration buffer is deleted, and an exception occurs, The instruction decoding unit suspends the issuance of instructions, the instruction execution unit suspends the execution of the instructions registered in the issued instruction registration buffer, completes the execution of all other instructions, and terminates the instructions. When restarting the processing, and supplies an instruction registered in the issued instruction registration buffer before supplying instructions to the instruction decoding unit from the memory to the instruction decoding unit.

【0010】[0010]

【作用】本発明は前記した構成によって、命令の発行順
序と実行終了順序が一致しなくても、例外発生後の命令
の再開を保証するので、終了した命令は先に発行された
命令が終了していなくても待つ必要がない。
According to the present invention, even if the instruction issue order and the execution end order do not match, the present invention guarantees the restart of the instruction after the exception occurs. You don't have to wait if you don't.

【0011】[0011]

【実施例】以下本発明の実施例の例外処理装置につい
て、図面を参照しながら説明する。図1は本発明の第1
の実施例における例外処理装置の構成を示すブロック図
である。図1において、1は命令解読部で、命令を解読
し、命令の発行を行う。2は命令実行部で、この中には
各種演算器や、ロード/ストア・ユニットなどの実行ユ
ニットが含まれる。3は発行命令登録バッファであり、
発行した命令を記憶する。命令処理はパイプライン方式
で行われる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An exception processing apparatus according to an embodiment of the present invention will be described below with reference to the drawings. FIG. 1 shows the first of the present invention.
3 is a block diagram showing the configuration of an exception handling apparatus in the embodiment of FIG. In FIG. 1, an instruction decoding unit 1 decodes an instruction and issues the instruction. An instruction execution unit 2 includes various arithmetic units and execution units such as load / store units. 3 is an issue instruction registration buffer,
Store the issued instruction. Instruction processing is performed in a pipeline manner.

【0012】以上のように構成された例外処理装置につ
いて、以下図1及び図2を用いてその動作を説明する。
図2は本実施例の例外処理装置における発行命令登録バ
ッファの構成と動作を示す説明図である。発行命令登録
バッファは、循環線形リスト構造をしている。図2にお
いて、21は命令を登録するバッファ領域、22は次に
命令を登録するバッファ領域をさす登録ポインタ、23
は次に削除する命令のバッファ領域をさす削除ポインタ
である。図2では領域数が5の場合を示しているが、処
理に充分な領域数を用意すればよい。
The operation of the exception handling device configured as described above will be described below with reference to FIGS. 1 and 2.
FIG. 2 is an explanatory diagram showing the configuration and operation of the issued instruction registration buffer in the exception handling device of this embodiment. The issue instruction registration buffer has a circular linear list structure. In FIG. 2, 21 is a buffer area for registering an instruction, 22 is a registration pointer for pointing a buffer area for next registering an instruction, 23
Is a delete pointer that points to the buffer area for the next instruction to be deleted. Although FIG. 2 shows a case where the number of regions is 5, it is sufficient to prepare a sufficient number of regions for processing.

【0013】図2(a)は初期状態の発行命令登録バッフ
ァを表す。初期状態において、登録ポインタと削除ポイ
ンタは同じバッファ領域をさしている。命令処理が開始
して、命令Aがメモリから供給されたとする。命令A
は、命令解読部1によって解読され、命令実行部2に命
令Aを発行する。命令発行と同時に命令Aを発行命令登
録バッファ3に送り、登録を行う。発行命令登録バッフ
ァ3では、登録ポインタ22がさすバッファの領域に命
令Aの内容を格納し、登録ポインタ22を更新し、次に
命令を登録する領域をさすようにする。この結果、発行
命令登録バッファは図2(b)に示す状態になる。命令A
に続き、命令Bが発行されて発行命令登録バッファに登
録されると、命令発行登録バッファ3は図2(c)のよう
になる。以下、同様にして命令の発行の際に発行命令登
録バッファ3に命令が登録されていく。登録する領域が
なくなった場合は、登録されている命令が削除されるま
で命令の発行を待つ。
FIG. 2A shows the issue instruction registration buffer in the initial state. In the initial state, the registration pointer and the deletion pointer point to the same buffer area. It is assumed that the instruction processing is started and the instruction A is supplied from the memory. Command A
Is decoded by the instruction decoding unit 1 and issues the instruction A to the instruction execution unit 2. At the same time as the instruction issuance, the instruction A is sent to the issued instruction registration buffer 3 and registered. In the issued instruction registration buffer 3, the content of the instruction A is stored in the area of the buffer pointed by the registration pointer 22, the registration pointer 22 is updated, and the area where the instruction is next registered is pointed to. As a result, the issued instruction registration buffer becomes the state shown in FIG. Command A
Then, when the instruction B is issued and registered in the issued instruction registration buffer, the instruction issuance registration buffer 3 becomes as shown in FIG. Thereafter, in the same manner, when the instruction is issued, the instruction is registered in the issued instruction registration buffer 3. If there is no more area to register, the command issuance is awaited until the registered command is deleted.

【0014】命令実行部2では、命令の種類に応じて各
種演算器やロード/ストア・ユニットやレジスタを用い
て命令を実行する。命令の種類によって実行時間は異な
るが、先に発行された命令は後から発行された命令より
も必ず先に実行が終了するように制御する。命令Bが命
令Aよりも先に実行が終了することはない。
The instruction executing section 2 executes an instruction using various arithmetic units, load / store units and registers according to the type of instruction. Although the execution time differs depending on the type of instruction, the instruction issued earlier is controlled so that the execution is always completed earlier than the instruction issued later. The execution of the instruction B does not end before the execution of the instruction A.

【0015】次に、命令実行部2で命令Aの実行が終了
すれば、命令実行部2は登録した命令削除の指示を発行
命令登録バッファ3に送り、発行命令登録バッファ3で
は、図2(d)のように、削除ポインタ23の内容を次の
領域、すなわちBが格納されている領域をさすように更
新する。この操作により削除が実現できる。登録される
順序と削除される順序は同じになるが、先に述べたよう
に、発行される順序と実行が終了する順序が一致するの
で、誤って別の命令を削除することはない。このような
登録、削除の操作により、発行命令登録バッファには、
実行中の命令が格納される。
Next, when the execution of the instruction A is completed in the instruction execution unit 2, the instruction execution unit 2 sends an instruction to delete the registered instruction to the issued instruction registration buffer 3, and the issued instruction registration buffer 3 stores the instruction in FIG. As in d), the contents of the delete pointer 23 are updated so as to point to the next area, that is, the area in which B is stored. Deletion can be realized by this operation. Although the order of registration and the order of deletion are the same, as described above, the order of issuance and the order of completion of execution match, so that another instruction is not deleted by mistake. Due to such registration and deletion operations,
The instruction being executed is stored.

【0016】次に例外が発生した場合について、図3を
用いて説明する。図3は、本実施例の例外処理装置にお
いて例外が発生した場合の例外処理の手順を示したブロ
ック図である。図3において、31は命令解読部、32
は命令実行部、33は発行命令登録バッファを表す。図
3(a)は、例外が発生した時点の例外処理装置の状態を
示している。図3(a)において、命令A、命令B、命令
C、命令Dの4つの命令をこの順序で処理し、命令A、
命令B、命令Cはすでに命令解読部2から発行されてお
り、命令Dは発行されていない。また、命令Aの実行は
終了し、命令Bと命令Cは終了していない。
Next, a case where an exception occurs will be described with reference to FIG. FIG. 3 is a block diagram showing the procedure of exception handling when an exception occurs in the exception handling apparatus of this embodiment. In FIG. 3, 31 is an instruction decoding unit, and 32 is
Is an instruction execution unit, and 33 is an issued instruction registration buffer. FIG. 3A shows the state of the exception handling device at the time when the exception occurs. In FIG. 3A, four instructions A, B, C, and D are processed in this order, and the A,
The instruction B and the instruction C have already been issued from the instruction decoding unit 2, and the instruction D has not been issued. Moreover, the execution of the instruction A is completed, and the instructions B and C are not completed.

【0017】この時点で例外が発生すると、命令解読部
31における命令Dの発行と命令実行部32での命令B
と命令Cの実行を中断する。発行命令登録バッファ33
の内容は保持される。このプログラムの処理再開時に
は、命令Bから処理を開始する。図3(b)に示すよう
に、まず、発行命令登録バッファ33に登録されている
命令Bを命令解読部31へ供給し、再び解読を行い、再
発行する。次に、図3(c)に示すように、命令Cを命令
B同様、発行命令登録バッファ33から命令解読部31
に供給し、再発行する。命令B、命令Cは既に発行命令
登録バッファ33に登録されているので、発行の際の登
録は行わない。命令Bと命令Cを発行した後、図3(d)
に示すように、メモリから命令Dを命令解読部31に供
給する。
If an exception occurs at this point, the instruction decoding unit 31 issues the instruction D and the instruction execution unit 32 issues the instruction B.
And execution of instruction C is interrupted. Issue instruction registration buffer 33
Content is retained. When the processing of this program is restarted, the processing is started from the instruction B. As shown in FIG. 3B, first, the instruction B registered in the issued instruction registration buffer 33 is supplied to the instruction decoding unit 31, the instruction is decoded again, and the instruction is reissued. Next, as shown in FIG. 3C, the instruction C is transferred from the issued instruction registration buffer 33 to the instruction decoding unit 31 like the instruction B.
And reissue. Since the instruction B and the instruction C are already registered in the issued instruction registration buffer 33, they are not registered at the time of issuance. After issuing command B and command C, see Fig. 3 (d).
As shown in, the instruction D is supplied from the memory to the instruction decoding unit 31.

【0018】命令Dを発行するときは、図3(e)に示す
ように発行命令登録バッファ33に登録し、命令解読部
31にはメモリから次の命令Eが供給される。この時点
で命令Bが終了しているなら、Bが発行命令登録バッフ
ァ33から削除される。
When the instruction D is issued, it is registered in the issued instruction registration buffer 33 as shown in FIG. 3 (e), and the instruction decoding unit 31 is supplied with the next instruction E from the memory. If the instruction B is completed at this point, B is deleted from the issued instruction registration buffer 33.

【0019】従来例の方法と比較してみる。従来例の方
法では、未終了命令カウンタを用いてそれのさす命令を
メモリから供給したが、この場合、通常の命令処理の再
開時に、メモリから命令を供給するためには、メモリか
ら命令解読部への命令の供給に時間を要する。本実施例
のように、発行命令登録バッファ33から命令解読部3
1へ命令を供給する方が、より短時間で命令解読部31
に命令を供給できる。さらに、発行命令登録バッファ3
3が命令解読部31に命令を供給するのと並行して、メ
モリから命令を供給する準備を行うことができるので、
発行命令登録バッファ33からの命令の供給が終わった
あと、すぐにメモリから命令を供給できる。
A comparison will be made with the conventional method. In the conventional method, the unfinished instruction counter is used to supply the corresponding instruction from the memory. In this case, in order to supply the instruction from the memory when the normal instruction processing is restarted, the instruction decoding unit from the memory It takes time to supply the command to. As in the present embodiment, the issued instruction registration buffer 33 to the instruction decoding unit 3
It is faster to supply an instruction to the instruction decoding unit 31.
Can supply the order to. Further, the issue instruction registration buffer 3
Since 3 can supply the instruction to the instruction decoding unit 31, in parallel with the instruction supply from the memory,
Immediately after the instruction supply from the issued instruction registration buffer 33 is completed, the instruction can be supplied from the memory.

【0020】以上のように本実施例によれば、例外処理
装置を命令解読部31と、命令実行部32と、実行中の
命令を複数個記憶する発行命令登録バッファ33とから
構成し、通常の命令処理においては、命令解読部31は
メモリから供給される命令を解読し、命令実行部32に
前記命令を発行すると同時に、発行命令登録バッファ3
3に前記命令を登録し、命令実行部32で前記命令の実
行が終了した後、発行命令登録バッファ33に登録した
前記命令を削除し、例外が発生した場合には、命令解読
部31は命令の発行および命令実行部32での命令の実
行を中断し、前記命令処理を再開するときには、メモリ
から命令解読部31に命令を供給する前に発行命令登録
バッファ33に登録されている命令を命令解読部31に
供給することにより、従来例よりも効率よくプログラム
を再開することができる。
As described above, according to the present embodiment, the exception handling device is composed of the instruction decoding unit 31, the instruction execution unit 32, and the issued instruction registration buffer 33 which stores a plurality of instructions being executed. In the instruction processing, the instruction decoding unit 31 decodes the instruction supplied from the memory, issues the instruction to the instruction execution unit 32, and at the same time issues the issued instruction registration buffer 3
3, the instruction execution unit 32 finishes executing the instruction, deletes the instruction registered in the issued instruction registration buffer 33, and when an exception occurs, the instruction decoding unit 31 Of the instruction registered in the issued instruction registration buffer 33 before the instruction is supplied from the memory to the instruction decoding unit 31 when the instruction execution by the instruction execution unit 32 is resumed and the instruction processing is restarted. By supplying the decoding unit 31, the program can be restarted more efficiently than in the conventional example.

【0021】なお、本実施例では命令Bと命令Cをそれ
ぞれ命令解読部31へ命令を供給する際に、発行命令登
録バッファ33に命令Bと命令Cを登録されたままにし
ておき、命令Bと命令Cの再発行の際に、発行命令登録
バッファ33への登録を行わなかったが、命令Bと命令
Cを命令解読部31へ命令を供給する際に、命令Bと命
令Cをそれぞれ発行命令登録バッファ33から削除し、
発行するときにそれぞれ登録を行ってもよい。
In this embodiment, when the instructions B and C are supplied to the instruction decoding section 31, the instructions B and C are left registered in the issued instruction registration buffer 33, and the instructions B are stored. The instruction B and the instruction C were not registered in the issued instruction registration buffer 33, but the instruction B and the instruction C were respectively issued when the instruction B and the instruction C were supplied to the instruction decoding unit 31. Delete from the instruction registration buffer 33,
You may register each when issuing.

【0022】次に本発明の第2の実施例について、図4
を参照しながら説明する。図4は、本実施例における例
外処理装置の動作説明図である。図4において、41は
命令解読部、42は命令実行部、43は発行命令登録バ
ッファである。図4の例外処理装置の構成は第1の実施
例と同様であるが、発行命令登録バッファ43の機能が
異なる。3つの命令A、B、Cがこの順序で発行され、
命令実行部42における実行がB、A、Cの順序で終了
するものとする。図4は、命令Bが終了した時点の例外
処理装置の状態を示している。
Next, the second embodiment of the present invention will be described with reference to FIG.
Will be described with reference to. FIG. 4 is an explanatory diagram of the operation of the exception handling device in this embodiment. In FIG. 4, 41 is an instruction decoding unit, 42 is an instruction execution unit, and 43 is an issued instruction registration buffer. The configuration of the exception handling device of FIG. 4 is similar to that of the first embodiment, but the function of the issued instruction registration buffer 43 is different. Three instructions A, B, C are issued in this order,
It is assumed that the execution by the instruction execution unit 42 ends in the order of B, A, and C. FIG. 4 shows the state of the exception handling device at the time when the instruction B is completed.

【0023】一般に、命令は、ロード命令や整数演算命
令、浮動小数点演算命令など種類によって命令の実行に
要する時間は異なる。したがって、後から発行された命
令が先に発行された命令よりも先に実行が終了してしま
うことがある。第1の実施例では、命令の終了が発行順
序と一致するように制御していたが、本実施例ではこれ
を行わない。その結果、発行命令登録バッファ43への
命令の登録順序と削除の順序とが一致しない場合が発生
する。
Generally, the time required to execute an instruction differs depending on the type of load instruction, integer operation instruction, floating point operation instruction, and the like. Therefore, the instruction issued later may end execution earlier than the instruction issued earlier. In the first embodiment, the end of the instruction is controlled so as to match the issue order, but this is not done in the present embodiment. As a result, the order in which the instructions are registered in the issued instruction registration buffer 43 does not match the order in which they are deleted.

【0024】図4において、登録はA、B、Cの順序で
行われ、削除はB、A、Cの順序で行われる。すなわ
ち、命令Bは命令Aよりも登録は後であるが、削除は先
に行われる。この場合、どの命令を削除するかという情
報を命令実行部42から発行命令登録バッファ43に与
えてやる必要がある。つまり、第1の実施例では、単に
「削除せよ。」という指令を発行命令登録バッファ43
に送ればよいが、本実施例では、発行命令登録バッファ
43に、例えば「命令Bを削除せよ。」という指示を与
え、発行命令登録バッファ43は、登録されている命令
の中から命令Bを検索し削除を行う。要するに、発行命
令登録バッファ43に連想記憶を用いる。プログラム再
開の方法は第1の実施例と同様である。
In FIG. 4, registration is performed in the order of A, B, C, and deletion is performed in the order of B, A, C. That is, the instruction B is registered later than the instruction A, but is deleted first. In this case, it is necessary to give information about which instruction to delete to the issued instruction registration buffer 43 from the instruction execution unit 42. In other words, in the first embodiment, the command “Immediately delete” is issued and the command registration buffer 43 is issued.
In this embodiment, the issue instruction registration buffer 43 is instructed to “delete instruction B”, and the issue instruction registration buffer 43 selects the instruction B from the registered instructions. Search and delete. In short, associative memory is used for the issue instruction registration buffer 43. The method for resuming the program is the same as in the first embodiment.

【0025】従来の方法、および第1の実施例では、あ
る命令がそれよりも先に発行された命令より先に実行が
終了した場合、その命令は先に発行された命令がすべて
終了するまで待たされるので、待ち時間の分だけ命令処
理の効率が低下する。
According to the conventional method and the first embodiment, when an instruction finishes execution before an instruction issued earlier than that, the instruction is executed until all the previously issued instructions finish. Since it is kept waiting, the efficiency of instruction processing is reduced by the waiting time.

【0026】以上のように本実施例によれば、発行命令
登録バッファに連想記憶を用いることにより、登録の順
序に無関係に削除ができ、したがって命令の発行順序と
実行終了順序は一致しなくてもよく、そのための待ち時
間が解消されるため、効率のよい例外処理装置を実現す
ることができる。
As described above, according to the present embodiment, by using the associative memory for the issue instruction registration buffer, deletion can be performed regardless of the order of registration, and therefore the order of issue of instructions and the order of execution termination do not match. Since the waiting time therefor is eliminated, an efficient exception handling device can be realized.

【0027】次に本発明の第3の実施例について図5を
参照しながら説明する。図5(a)は、本実施例における
例外装置の構成を示すブロック図で、図5(b)は例外発
生時における本実施例の例外処理装置の動作説明図であ
る。図5において、51は命令解読部、52は命令実行
部、53は発行命令登録バッファであり、命令の削除
は、登録された順序で行う構成とする。54は整数演算
器、55は浮動小数点演算器、56はロード/ストア・
ユニットで、これらは命令実行部52に含まれる。 こ
の例外処理装置では、例外を発生する可能性のあるロー
ド/ストア命令と浮動小数点演算命令のみを発行命令登
録バッファ53に登録し、例外を発生しない整数演算命
令は登録しない。一般に、ロード/ストア命令がメモリ
をアクセスするときに、ページ・フォルトが生じた場
合、メモリ上に必要なデータが配置されるまで、他のプ
ログラム処理に切替えて処理の効率化を図っている。ま
た、浮動小数点演算において、0による除算やオーバフ
ローなどの演算例外が生じた場合、エラー回復処理に切
り替える。一方、整数演算命令は、例外を発生させるこ
とはない。命令の実行が終了すれば、発行命令登録バッ
ファ53にその命令を登録した場合は、登録を削除す
る。例外が生じた場合は、発行命令登録バッファ53に
登録している命令については実行を中断し、登録してい
ない命令はすべて実行を完了させた後、プログラムを切
り替える。
Next, a third embodiment of the present invention will be described with reference to FIG. FIG. 5A is a block diagram showing the configuration of the exception device in this embodiment, and FIG. 5B is an operation explanatory diagram of the exception processing device of this embodiment when an exception occurs. In FIG. 5, 51 is an instruction decoding unit, 52 is an instruction execution unit, and 53 is an issued instruction registration buffer, and instructions are deleted in the registered order. 54 is an integer arithmetic unit, 55 is a floating point arithmetic unit, 56 is load / store,
In the unit, these are included in the instruction execution unit 52. In this exception processing device, only load / store instructions and floating-point arithmetic instructions that may generate exceptions are registered in the issued instruction registration buffer 53, and integer arithmetic instructions that do not generate exceptions are not registered. In general, when a page fault occurs when a load / store instruction accesses the memory, another program process is switched to improve the efficiency of the process until necessary data is placed in the memory. Also, in the floating-point operation, when an operation exception such as division by 0 or overflow occurs, the operation is switched to the error recovery processing. On the other hand, the integer operation instruction does not generate an exception. When the execution of the instruction is completed, if the instruction is registered in the issued instruction registration buffer 53, the registration is deleted. When an exception occurs, the execution of the instructions registered in the issued instruction registration buffer 53 is suspended, and the execution of all the unregistered instructions is completed, and then the program is switched.

【0028】具体例を図5(b)を用いて説明する。図5
(b)において、A、B、C、D、Eは個々の命令を表
し、この順に発行されるものとする。また、命令AとD
はロード命令、BとEは浮動小数点演算命令、命令Cは
整数演算命令であるとする。したがって、それぞれの命
令の発行時において、命令A、B、D、Eは発行命令登
録バッファ53に登録され、命令Cは登録されない。命
令の実行終了について、発行命令登録バッファ53に登
録される命令A、B、D、Eについては、発行された順
序で終了する必要があるが、登録しない命令Cは他の命
令の終了に影響されない。つまり、命令Cは命令Bより
も後に発行されるが、先に終了してもよい。
A specific example will be described with reference to FIG. Figure 5
In (b), A, B, C, D, and E represent individual instructions, which are issued in this order. Also, instructions A and D
Is a load instruction, B and E are floating point arithmetic instructions, and instruction C is an integer arithmetic instruction. Therefore, at the time of issuing each instruction, the instructions A, B, D and E are registered in the issued instruction registration buffer 53, and the instruction C is not registered. Regarding the end of instruction execution, the instructions A, B, D, and E registered in the issued instruction registration buffer 53 must end in the order in which they are issued, but the unregistered instruction C affects the end of other instructions. Not done. That is, the instruction C is issued after the instruction B, but may end before the instruction B.

【0029】次に例外が発生した場合を考える。図5
(b)は、命令Aが実行を終了し、命令B、C、Dが実行
中、命令Eが解読中で、命令Dが例外を発生したときの
動作を示している。この時点で、発行命令登録バッファ
53には命令BとDが登録されている。命令Aは既に実
行が終了しているので削除されている。例外発生によ
り、命令BとDは命令実行部52での実行が中断され
る。命令Cに関しては、発行命令登録バッファ53に登
録されていないので、実行を続行し、プログラムの切り
替えは、命令Cの実行が終了するまで待つ。プログラム
再開の方法は第1の実施例と同様である。
Next, consider the case where an exception occurs. Figure 5
(b) shows the operation when the instruction A finishes executing, the instructions B, C, and D are executing, the instruction E is decoding, and the instruction D generates an exception. At this point of time, the commands B and D are registered in the issued command registration buffer 53. Instruction A has been deleted because it has already been executed. Execution of the instructions B and D in the instruction execution unit 52 is interrupted due to the occurrence of the exception. Since the instruction C is not registered in the issued instruction registration buffer 53, execution is continued, and program switching waits until the execution of the instruction C is completed. The method for resuming the program is the same as in the first embodiment.

【0030】以上のように本実施例によれば、例外処理
装置を命令解読部51と、命令実行部52と、実行中の
命令を複数個記憶する発行命令登録バッファ53とから
構成し、通常の命令処理においては、命令解読部51は
メモリから供給される命令を解読し、命令実行部52に
前記命令を発行すると同時に特定の種類の命令について
は発行命令登録バッファ53に前記命令を登録し、命令
実行部52で前記命令の実行が終了した後、発行命令登
録バッファ53に登録した前記命令を削除し、例外が発
生した場合には、命令解読部51は命令の発行を中断
し、命令実行部52は発行命令登録バッファ53に登録
されている命令の実行を中断し、それ以外の命令の実行
はすべて完了させ、前記命令処理を再開するときには、
メモリから命令解読部51に命令を供給する前に発行命
令登録バッファ53に登録されている命令を命令解読部
51に供給することにより、命令の登録や削除のオーバ
ヘッドを低減することができる。また、発行命令登録バ
ッファ53に登録しない命令に関しては、実行の終了順
序が命令発行の順序に制約されないので、命令終了の待
ち時間を低減させることができ、命令処理の効率が向上
する。
As described above, according to the present embodiment, the exception processing device is composed of the instruction decoding unit 51, the instruction execution unit 52, and the issued instruction registration buffer 53 which stores a plurality of instructions being executed. In the instruction processing, the instruction decoding unit 51 decodes the instruction supplied from the memory, issues the instruction to the instruction execution unit 52, and simultaneously registers the instruction in the issued instruction registration buffer 53 for a specific type of instruction. After execution of the instruction in the instruction execution unit 52, the instruction registered in the issued instruction registration buffer 53 is deleted, and if an exception occurs, the instruction decoding unit 51 interrupts the instruction issuance, The execution unit 52 suspends the execution of the instructions registered in the issued instruction registration buffer 53, completes the execution of all other instructions, and restarts the instruction processing,
By supplying the instruction registered in the issued instruction registration buffer 53 to the instruction decoding section 51 before the instruction is supplied from the memory to the instruction decoding section 51, the overhead of instruction registration and deletion can be reduced. In addition, for an instruction that is not registered in the issued instruction registration buffer 53, the end order of execution is not restricted by the order of instruction issuance, so the waiting time for instruction end can be reduced and the efficiency of instruction processing is improved.

【0031】なお、本実施例では発行命令登録バッファ
53を、命令の削除は登録された順序で行う構成にした
が、発行命令登録バッファ53を連想メモリを用いた構
成としてもよい。
In this embodiment, the issued instruction registration buffer 53 is configured to delete the instructions in the registered order. However, the issued instruction registration buffer 53 may be configured to use an associative memory.

【0032】以下本発明の第4の実施例について、図6
を参照しながら説明する。図6(a)は、本実施例の例外
処理装置の構成を示すブロック図で、図6(b)は、本実
施例の例外処理装置の動作説明図である。図6におい
て、61は命令解読部、62は浮動小数点演算命令を登
録する第1の発行命令登録バッファ、63はロード/ス
トア命令を登録する第2の発行命令登録バッファ、64
は命令実行部、65は整数演算器、66は浮動小数点演
算器、67はロード/ストア・ユニットである。第3の
実施例と同様に、ロード/ストア命令と浮動小数点演算
命令のみ発行命令登録バッファに登録するが、本実施例
では、発行命令登録バッファを命令の種類ごとに用意す
る。登録の必要のない命令については、発行命令登録バ
ッファを設けない。第1の発行命令登録バッファ62と
第2の発行命令登録バッファ63は、いずれも命令の削
除は登録された順序で行う構成とする。
A fourth embodiment of the present invention will be described below with reference to FIG.
Will be described with reference to. FIG. 6A is a block diagram showing the configuration of the exception handling device of this embodiment, and FIG. 6B is an operation explanatory diagram of the exception handling device of this embodiment. In FIG. 6, 61 is an instruction decoding unit, 62 is a first issued instruction registration buffer for registering floating point arithmetic instructions, 63 is a second issued instruction registration buffer for registering load / store instructions, 64
Is an instruction execution unit, 65 is an integer arithmetic unit, 66 is a floating point arithmetic unit, and 67 is a load / store unit. Similar to the third embodiment, only the load / store instruction and the floating point operation instruction are registered in the issued instruction registration buffer. In this embodiment, the issued instruction registration buffer is prepared for each type of instruction. No issue instruction registration buffer is provided for instructions that do not need to be registered. The first issued instruction registration buffer 62 and the second issued instruction registration buffer 63 are both configured to delete instructions in the order in which they are registered.

【0033】具体例を図6(b)を用いて説明する。図6
(b)において、A、B、C、Dは個々の命令を表し、こ
の順に発行されるものとする。また、命令A、Dはロー
ド命令、命令Bは浮動小数点演算命令、命令Cは整数演
算命令であるとする。命令A、Dは、第1の発行命令登
録バッファ62に、命令Bは第2の発行命令登録バッフ
ァ63にそれぞれ登録される。命令Cについては命令の
登録は行われない。従って、命令Cに関しては、発行命
令登録バッファに登録されていないので、実行を続行
し、プログラムの切り替えは、命令Cの実行が終了する
まで待つ。なお、命令Cをいずれかの発行命令登録バッ
ファに登録する構成の場合は、命令Cの実行が終了すれ
ば、登録を削除する。プログラム再開の方法は、第1の
実施例と同様である。
A concrete example will be described with reference to FIG. Figure 6
In (b), A, B, C, and D represent individual instructions, which are issued in this order. It is also assumed that the instructions A and D are load instructions, the instruction B is a floating point arithmetic instruction, and the instruction C is an integer arithmetic instruction. Instructions A and D are registered in the first issued instruction registration buffer 62, and instruction B is registered in the second issued instruction registration buffer 63. The command C is not registered. Therefore, since the instruction C is not registered in the issued instruction registration buffer, the execution is continued and the program switching waits until the execution of the instruction C is completed. When the instruction C is registered in any of the issued instruction registration buffers, the registration is deleted when the execution of the instruction C is completed. The method for resuming the program is the same as in the first embodiment.

【0034】以上のように本実施例によれば、例外処理
装置を命令解読部61と、命令実行部64と、実行中の
命令を複数個記憶する命令の種類ごとに別々に用意され
た複数個の発行命令登録バッファ62、63とから構成
し、通常の命令処理においては、命令解読部61はメモ
リから供給される命令を解読し、命令実行部64に前記
命令を発行すると同時に特定の種類の命令についてはそ
れぞれ別々に用意された発行命令登録バッファ62、6
3に前記命令を登録し、命令実行部64で前記命令の実
行が終了した後、発行命令登録バッファ62、63に登
録した前記命令を削除し、例外が発生した場合には、命
令解読部61は命令の発行を中断し、命令実行部64は
発行命令登録バッファ62、63に登録されている命令
の実行を中断し、それ以外の命令の実行はすべて完了さ
せ、前記命令処理を再開するときには、メモリから命令
解読部61に命令を供給する前に発行命令登録バッファ
62、63に登録されている命令を命令解読部61に供
給することにより、他の種類の命令とは無関係に実行を
終了させることができるので、命令終了の待ち時間が減
少し、また発行命令登録バッファ62、63への命令登
録要求や削除要求の競合が低減するので、命令処理効率
が向上する。
As described above, according to the present embodiment, the exception processing device is provided with the instruction decoding unit 61, the instruction execution unit 64, and a plurality of separately prepared instruction types for storing a plurality of instructions being executed. In the normal instruction processing, the instruction decoding unit 61 decodes the instruction supplied from the memory and issues the instruction to the instruction execution unit 64, and at the same time, outputs the instruction of a specific type. , The issue instruction registration buffers 62 and 6 are prepared separately.
3, the instruction execution unit 64 finishes executing the instruction, and then deletes the instruction registered in the issued instruction registration buffers 62 and 63. When an exception occurs, the instruction decoding unit 61 Interrupts the issuance of instructions, the instruction execution unit 64 interrupts the execution of the instructions registered in the issued instruction registration buffers 62 and 63, completes the execution of all other instructions, and restarts the instruction processing. By supplying the instruction registered in the issued instruction registration buffers 62 and 63 to the instruction decoding section 61 before the instruction is supplied from the memory to the instruction decoding section 61, the execution is completed regardless of other kinds of instructions. Therefore, the waiting time for the instruction end is reduced, and the competition between the instruction registration request and the deletion request in the issued instruction registration buffers 62 and 63 is reduced, so that the instruction processing efficiency is improved.

【0035】なお、本実施例では発行命令登録バッファ
62、63を、命令の削除は登録された順序で行う構成
にしたが、発行命令登録バッファ62、63を連想メモ
リを用いた構成としてもよい。
In this embodiment, the issued instruction registration buffers 62 and 63 are configured to delete the instructions in the registered order, but the issued instruction registration buffers 62 and 63 may be configured to use the associative memory. ..

【0036】[0036]

【発明の効果】以上のように本発明の例外処理装置は、
命令解読部と、命令実行部と、実行中の命令を複数個記
憶する発行命令登録バッファから構成され、発行した命
令を発行命令登録バッファに登録し、命令の実行が終了
すればその命令を発行命令登録バッファから削除し、例
外が発生してプログラムを再開するときは、発行命令登
録バッファから命令解読部へ命令を供給することによ
り、プログラム再開を正しく、高速に行うことができ、
また、通常の命令処理のときに、命令の発行順序と実行
終了順序が一致する必要がなく、そのための待ち時間が
なくなるので、命令処理の高速化を実現することができ
る。
As described above, the exception handling device of the present invention is
It is composed of an instruction decoding unit, an instruction execution unit, and an issued instruction registration buffer that stores a plurality of executing instructions. The issued instruction is registered in the issued instruction registration buffer, and when the execution of the instruction ends, the instruction is issued. When deleting from the instruction registration buffer and restarting the program when an exception occurs, by supplying an instruction from the issued instruction registration buffer to the instruction decoding unit, the program can be restarted correctly and at high speed.
Further, during normal instruction processing, it is not necessary that the instruction issuing order and the execution ending order be the same, and the waiting time therefor is eliminated, so that the instruction processing can be speeded up.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の第1の実施例における例外処理装置の
構成を示すブロック図
FIG. 1 is a block diagram showing a configuration of an exception handling device according to a first embodiment of the present invention.

【図2】同実施例における発行命令登録バッファの説明
FIG. 2 is an explanatory diagram of an issue instruction registration buffer in the same embodiment.

【図3】同実施例における例外処理手順を示すブロック
FIG. 3 is a block diagram showing an exception processing procedure in the embodiment.

【図4】本発明の第2の実施例における例外処理装置の
動作説明図
FIG. 4 is an operation explanatory diagram of the exception handling device according to the second embodiment of the present invention.

【図5】本発明の第3の実施例における例外処理装置の
構成と動作を示すブロック図
FIG. 5 is a block diagram showing the configuration and operation of an exception handling device according to a third embodiment of the present invention.

【図6】本発明の第4の実施例における例外処理装置の
構成と動作を示すブロック図
FIG. 6 is a block diagram showing the configuration and operation of an exception handling device according to a fourth embodiment of the present invention.

【図7】従来の例外処理装置の構成を示すブロック図FIG. 7 is a block diagram showing a configuration of a conventional exception handling device.

【符号の説明】[Explanation of symbols]

1 命令解読部 2 命令実行部 3 発行命令登録バッファ 21 バッファ領域 22 登録ポインタ 23 削除ポインタ 31 命令解読部 32 命令実行部 33 発行命令登録バッファ 41 命令解読部 42 命令実行部 43 発行命令登録バッファ 51 命令解読部 52 命令実行部 53 発行命令登録バッファ 54 整数演算器 55 浮動小数点演算器 56 ロード/ストア・ユニット 61 命令解読部 62 第1の発行命令登録バッファ 63 第2の発行命令登録バッファ 64 命令実行部 65 整数演算器 66 浮動小数点演算器 67 ロード/ストア・ユニット 71 命令格納メモリ 72 命令解読部 73 命令実行部 74 プログラム・カウンタ 75 未終了命令カウンタ 1 Instruction Decoding Section 2 Instruction Execution Section 3 Issued Instruction Registration Buffer 21 Buffer Area 22 Registration Pointer 23 Delete Pointer 31 Instruction Decoding Section 32 Instruction Execution Section 33 Issued Instruction Registration Buffer 41 Instruction Decoding Section 42 Instruction Execution Section 43 Issued Instruction Registration Buffer 51 Instructions Decoding unit 52 Instruction execution unit 53 Issuing instruction registration buffer 54 Integer calculator 55 Floating point arithmetic unit 56 Load / store unit 61 Instruction decoding unit 62 First issued instruction registration buffer 63 Second issued instruction registration buffer 64 Instruction execution unit 65 integer arithmetic unit 66 floating point arithmetic unit 67 load / store unit 71 instruction storage memory 72 instruction decoding unit 73 instruction execution unit 74 program counter 75 unfinished instruction counter

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 命令解読部と、命令実行部と、実行中の
命令を複数個記憶する発行命令登録バッファとから構成
され、通常の命令処理においては、前記命令解読部はメ
モリから供給される命令を解読し、前記命令実行部に前
記命令を発行すると同時に前記発行命令登録バッファに
前記命令を登録し、前記命令実行部で前記命令の実行が
終了した後、前記発行命令登録バッファに登録した前記
命令を削除し、例外が発生した場合には、前記命令解読
部は命令の発行および前記命令実行部での命令の実行を
中断し、前記命令処理を再開するときには、前記メモリ
から前記命令解読部に命令を供給する前に前記発行命令
登録バッファに登録されている命令を前記命令解読部に
供給する例外処理装置。
1. An instruction decoding unit, an instruction execution unit, and an issued instruction registration buffer that stores a plurality of instructions being executed. In normal instruction processing, the instruction decoding unit is supplied from a memory. The instruction is decoded, the instruction is issued to the instruction execution unit, and at the same time, the instruction is registered in the issued instruction registration buffer, and after the instruction execution unit finishes executing the instruction, the instruction is registered in the issued instruction registration buffer. When the instruction is deleted and an exception occurs, the instruction decoding unit suspends issuing of the instruction and execution of the instruction in the instruction executing unit, and when restarting the instruction processing, the instruction decoding unit decodes the instruction from the memory. An exception processing device for supplying an instruction registered in the issued instruction registration buffer to the instruction decoding section before supplying the instruction to the section.
【請求項2】 命令解読部と、命令実行部と、実行中の
命令を複数個記憶する発行命令登録バッファとから構成
され、通常の命令処理においては、前記命令解読部はメ
モリから供給される命令を解読し、前記命令実行部に前
記命令を発行すると同時に特定の種類の命令については
前記発行命令登録バッファに前記命令を登録し、前記命
令実行部で前記命令の実行が終了した後、前記発行命令
登録バッファに登録した前記命令を削除し、例外が発生
した場合には、前記命令解読部は命令の発行を中断し、
前記命令実行部は前記発行命令登録バッファに登録され
ている命令の実行を中断し、それ以外の命令の実行はす
べて完了させ、前記命令処理を再開するときには、前記
メモリから前記命令解読部に命令を供給する前に前記発
行命令登録バッファに登録されている命令を前記命令解
読部に供給する例外処理装置。
2. An instruction decoding unit, an instruction execution unit, and an issued instruction registration buffer that stores a plurality of instructions being executed, and in normal instruction processing, the instruction decoding unit is supplied from a memory. The instruction is decoded, the instruction is issued to the instruction execution unit, and at the same time, the instruction is registered in the issued instruction registration buffer for a specific type of instruction, and after the instruction execution unit finishes executing the instruction, When the instruction registered in the issued instruction registration buffer is deleted and an exception occurs, the instruction decoding unit interrupts the issuing of the instruction,
The instruction execution unit suspends the execution of the instructions registered in the issued instruction registration buffer, completes the execution of all other instructions, and resumes the instruction processing from the memory to the instruction decoding unit. An exception processing device that supplies the instruction registered in the issued instruction registration buffer to the instruction decoding unit before supplying the.
【請求項3】 命令解読部と、命令実行部と、実行中の
命令を複数個記憶する命令の種類ごとに別々に用意され
た複数個の発行命令登録バッファとから構成され、通常
の命令処理においては、前記命令解読部はメモリから供
給される命令を解読し、前記命令実行部に前記命令を発
行すると同時に特定の種類の命令についてはそれぞれ別
々に用意された前記発行命令登録バッファに前記命令を
登録し、前記命令実行部で前記命令の実行が終了した
後、前記発行命令登録バッファに登録した前記命令を削
除し、例外が発生した場合には、前記命令解読部は命令
の発行を中断し、前記命令実行部は前記発行命令登録バ
ッファに登録されている命令の実行を中断し、それ以外
の命令の実行はすべて完了させ、前記命令処理を再開す
るときには、メモリから前記命令解読部に命令を供給す
る前に前記発行命令登録バッファに登録されている命令
を前記命令解読部に供給する例外処理装置。
3. An instruction decoding unit, an instruction execution unit, and a plurality of issued instruction registration buffers separately prepared for each instruction type for storing a plurality of instructions being executed, and normal instruction processing. In the above, the instruction decoding unit decodes the instruction supplied from the memory, issues the instruction to the instruction execution unit, and simultaneously issues the instruction to the issued instruction registration buffer prepared separately for a specific type of instruction. Is registered and the execution of the instruction is completed by the instruction execution unit, the instruction registered in the issued instruction registration buffer is deleted, and when an exception occurs, the instruction decoding unit interrupts the issue of the instruction. However, the instruction execution unit suspends the execution of the instructions registered in the issued instruction registration buffer, completes the execution of all other instructions, and restarts the instruction processing. An exception processing device that supplies the instruction registered in the issued instruction registration buffer to the instruction decoding unit before supplying the instruction to the instruction decoding unit.
JP3284382A 1991-10-30 1991-10-30 Exception processor Pending JPH05120012A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3284382A JPH05120012A (en) 1991-10-30 1991-10-30 Exception processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3284382A JPH05120012A (en) 1991-10-30 1991-10-30 Exception processor

Publications (1)

Publication Number Publication Date
JPH05120012A true JPH05120012A (en) 1993-05-18

Family

ID=17677864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3284382A Pending JPH05120012A (en) 1991-10-30 1991-10-30 Exception processor

Country Status (1)

Country Link
JP (1) JPH05120012A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7213130B2 (en) 2003-02-26 2007-05-01 Kabushiki Kaisha Toshiba Instruction rollback processor system, an instruction rollback method and an instruction rollback program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7213130B2 (en) 2003-02-26 2007-05-01 Kabushiki Kaisha Toshiba Instruction rollback processor system, an instruction rollback method and an instruction rollback program

Similar Documents

Publication Publication Date Title
EP0243892B1 (en) System for guaranteeing the logical integrity of data
US5280593A (en) Computer system permitting switching between architected and interpretation instructions in a pipeline by enabling pipeline drain
US7583268B2 (en) Graphics pipeline precise interrupt method and apparatus
US9158574B2 (en) Handling interrupts in data processing
JPH0766329B2 (en) Information processing equipment
JPH06161748A (en) Return-estimation mechanism of subroutine
JP2560988B2 (en) Information processing apparatus and processing method
JPH0760388B2 (en) Pipeline control circuit
JPH03233630A (en) Information processor
JPS6250934A (en) Interrupting control system of processor
JPH077356B2 (en) Pipelined microprocessor
JPH05120012A (en) Exception processor
JPH04288625A (en) Microcomputer
JPH0193825A (en) Prefetch queue control system
JP2927102B2 (en) Instruction string switching method and arithmetic processor using the same
JPS62288974A (en) Vector processor
JP2853460B2 (en) Data loading method and arithmetic processor using the same
JPH052483A (en) Instruction processor
JPS59189452A (en) Queue structure for data processor
JP2768878B2 (en) Data processing device, method for synchronizing instruction execution, method for saving instruction address when exception occurs, and method for invalidating instruction processing when exception occurs
JP2853458B2 (en) Instruction string switching method and arithmetic processor using the same
JPS59144955A (en) Information processor
JPS61233838A (en) Information processor
KR970062891A (en) Operation execution method and operation execution device
JPS61241834A (en) Arithmetic processing unit