[go: up one dir, main page]

JPH03196334A - Arithmetic control system - Google Patents

Arithmetic control system

Info

Publication number
JPH03196334A
JPH03196334A JP33707989A JP33707989A JPH03196334A JP H03196334 A JPH03196334 A JP H03196334A JP 33707989 A JP33707989 A JP 33707989A JP 33707989 A JP33707989 A JP 33707989A JP H03196334 A JPH03196334 A JP H03196334A
Authority
JP
Japan
Prior art keywords
instruction
register
execution
instructions
interference
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
JP33707989A
Other languages
Japanese (ja)
Inventor
Shuntaro Fujioka
藤岡 俊太郎
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP33707989A priority Critical patent/JPH03196334A/en
Publication of JPH03196334A publication Critical patent/JPH03196334A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To minimize the instruction execution stop time by enqueing asynchronous executable arithmetic instruction into an instruction queue, checking a register interference at the time of execution, and fetching and executing an instruction which does not interfere. CONSTITUTION:An arithmetic instruction fetched from a program is enqued in an instruction queue 2-1. Subsequently, a register interference checking circuit 2-2 fetches from an instruction queue 2-1 an instruction in which it is discriminated that a register used by an instruction to be executed does not interfere with a a register used by an instruction whose execution is started already, and it is fetched and its execution is controlled. Accordingly, an asynchronous executable instruction is enqueued in the instruction queue 2-1, and at the time of execution, a register interference is checked and the instruction which does not interfere can be fetched and executed. In such a way, the instruction execution stop time by the register interference at the time of asynchronous processing can be minimized.

Description

【発明の詳細な説明】 〔概要〕 非同期に命令の演算を制御する演算制御方式に関し、 非同期実行可能な命令を命令キューにエンキューし、実
行時にレジスタ干渉をチェックして干渉しない命令を取
り出して実行することにより、非同期処理時のレジスタ
干渉による命令実行停止時間を最小限にすることを目的
とし、 プログラムから取り出した命令のうちの演算命令をエン
キューする命令キューと、この命令キューから取り出し
て実行しようとする命令が使用するレジスタと以前に実
行を開始した命令が使用しているレジスタとの干渉をチ
ェックするレジスタ干渉チェック回路とを備え、プログ
ラムから取り出した演算命令を上記命令キューにエンキ
ューすると共に、上記レジスタ干渉チェック回路がこの
命令キューから取り出して実行しようとする命令の使用
するレジスタが既に実行を開始した命令の使用している
レジスタと干渉していないと判別した命令について、取
り出して実行制御するように構成する。
[Detailed Description of the Invention] [Summary] Regarding an arithmetic control method that asynchronously controls instruction arithmetic, instructions that can be executed asynchronously are enqueued in an instruction queue, register interference is checked during execution, and instructions that do not interfere are retrieved and executed. By doing this, we aim to minimize instruction execution stoppage time due to register interference during asynchronous processing, and we create an instruction queue that enqueues arithmetic instructions among the instructions taken out of the program, and an instruction queue that enqueues arithmetic instructions taken out from this instruction queue and executes them. and a register interference check circuit that checks for interference between a register used by an instruction that executes the instruction and a register used by an instruction that has previously started execution, and enqueues an arithmetic instruction extracted from the program into the instruction queue, and The register interference check circuit extracts and controls the execution of instructions for which it has determined that the register used by the instruction to be extracted from this instruction queue and executed does not interfere with the register used by the instruction that has already started execution. Configure it as follows.

〔産業上の利用分野〕[Industrial application field]

本発明、非同期に命令の演算を制御する演算制御方式に
関するものである。近年、コンピュータの性能の向上を
図るために命令実行の非同期化(突き放し)が行われて
いる。この際、非同期に実行し得る命令の実行時におけ
るレジスタ干渉による命令実行停止(インターロック)
を最小限にすることが望まれている。
The present invention relates to an arithmetic control method for asynchronously controlling instruction arithmetic. In recent years, in order to improve computer performance, instruction execution has been desynchronized. In this case, instruction execution is stopped due to register interference when executing instructions that can be executed asynchronously (interlock).
It is desired to minimize the

〔従来の技術と発明が解決しようとする課題〕従来、同
期型の第4図(イ)に示す構成は、命令の実行時にレジ
スタ干渉があると、次の命令の実行を停止させていた。
[Prior Art and Problems to be Solved by the Invention] Conventionally, in the synchronous type configuration shown in FIG. 4(a), if there is register interference during execution of an instruction, execution of the next instruction is stopped.

例えば第4図(ハ)プログラムの■LD  RO,(M
EM)の命令でメモリからリードしたLDデータをレジ
スタROにロードするまで、後続の■の命令の実行を停
止していた。このため、後続のレジスタ干渉を生じない
命令までも実行を停止し、性能低下を招くという問題が
あった。
For example, ■LD RO, (M
Execution of the following instruction (2) was stopped until the LD data read from the memory by the instruction (EM) was loaded into the register RO. For this reason, there is a problem in that even instructions that do not cause subsequent register interference are stopped from being executed, leading to a decrease in performance.

また、非同期演算装置を持つ第4図(ロ)に示す構成は
、例えば第4図(ハ)プログラムの■の命令の実行を開
始し、すぐにメモリからリードしたLDデータをレジス
タROにロードできないのでレジスタ・スコア・ボード
にレジスタROが使用中である旨を登録し、次の■の命
令を実行、更に■の命令を実行しようとする。しかし、
第4図(ニ)に示すように、使用しようとするレジスタ
ROが既にレジスタ・スコア・ボードに登録されている
ため、■の命令(第4図41)の実行が当該■の命令の
実行が終了するまで待たされてしまい、レジスタ干渉の
ない次の■の命令を実行することができず、非同期化に
よるメリットが半減されてしまうという問題があった。
Furthermore, in the configuration shown in FIG. 4 (b) with an asynchronous arithmetic unit, for example, the LD data read from memory cannot be loaded into register RO immediately after starting execution of the instruction (■) in the program in FIG. 4 (c). Therefore, it registers in the register score board that register RO is in use, executes the next instruction (2), and then attempts to execute the instruction (2). but,
As shown in Figure 4 (d), the register RO to be used has already been registered in the register score board, so the execution of the instruction ■ (41 in Figure 4) is delayed. There is a problem in that the user is forced to wait until the process completes, and the next instruction (2) without register interference cannot be executed, and the benefits of desynchronization are halved.

尚、第4図(イ)は、同期型の構成図を示す。Incidentally, FIG. 4(A) shows a configuration diagram of a synchronous type.

ここで、中央側W装置は、各種制御を行うものであって
、演算器はレジスタとの間でデータのやりとりを行って
命令を実行するものである。記憶装置は、命令によって
データをリード/ライトするメモリである。
Here, the central W device performs various controls, and the arithmetic unit exchanges data with registers to execute instructions. A storage device is a memory in which data is read/written according to instructions.

第4図(ロ)は、非同期型の構成図を示す。ここで、非
同期演算装置は、非同期に実行可能な演算命令を実行す
るものであって、プログラムから取り出して非同期的に
実行しようとする命令を格納する命令キュー、レジスタ
干渉を避けるために使用中のレジスタを登録するレジス
タ・スコア・ボード、データを格納するレジスタ、およ
び演算を行う演算器から構成されている。
FIG. 4(b) shows a configuration diagram of an asynchronous type. Here, the asynchronous arithmetic unit executes arithmetic instructions that can be executed asynchronously, and includes an instruction queue that stores instructions taken out from a program and to be executed asynchronously, and an instruction queue that stores instructions that are taken out from a program and is to be executed asynchronously. It consists of a register score board that registers registers, registers that store data, and arithmetic units that perform calculations.

第4図(ハ)は、プログラム例を示す。FIG. 4(c) shows an example program.

第4図(ニ)は、非同期型のレジスタ干渉説明図を示す
。ここで、第4図(ハ)プログラムの■のLD命令のと
きにレジスタ・スコア・ボードにレジスタROを使用中
と登録したので、第4図(ハ)の■の命令を実行し、更
に■の命令を実行しようとするときに、当該■の命令が
レジスタROを使用するので、レジスタ干渉が発生する
ので、当該■の命令の位置で命令の実行が停止される。
FIG. 4(d) shows an explanatory diagram of asynchronous type register interference. Here, register RO is registered as being in use in the register score board at the time of the LD instruction (■) in the program in Figure 4 (c), so the instruction (■) in Figure 4 (c) is executed, and When attempting to execute the instruction (2), since the instruction (2) uses the register RO, register interference occurs, so execution of the instruction is stopped at the location of the instruction (2).

この■以降にレジスタ干渉のない■の命令があってもこ
こで停止して実行できない。
Even if there is an instruction (■) without register interference after this (■), it will stop here and cannot be executed.

本発明は、非同期実行可能な命令を命令キューにエンキ
ューし、実行時にレジスタ干渉をチェックして干渉しな
い命令を取り出して実行することにより、非同期処理時
のレジスタ干渉による命令実行停止時間を最小限にする
ことを目的としている。
The present invention minimizes instruction execution stoppage time due to register interference during asynchronous processing by enqueuing instructions that can be executed asynchronously into an instruction queue, checking for register interference during execution, and extracting and executing instructions that do not interfere. It is intended to.

〔課題を解決する手段〕[Means to solve problems]

第1図を参照して課題を解決する手段を説明する。 Means for solving the problem will be explained with reference to FIG.

第1図において、命令キュー2−1は、プログラムから
取り出した命令のうちの演算命令をエンキューするキュ
ーである。
In FIG. 1, an instruction queue 2-1 is a queue that enqueues arithmetic instructions among instructions taken out from a program.

レジスタ干渉チェック回路2−2は、命令キュー2−1
から取り出して実行しようとする命令が使用するレジス
タと以前に実行を開始した命令が使用しているレジスタ
との干渉をチェックする回路である。
The register interference check circuit 2-2 is connected to the instruction queue 2-1.
This circuit checks for interference between registers used by an instruction to be taken out and executed from a register used by an instruction that has previously started execution.

〔作用〕[Effect]

本発明は、第1図に示すように、プログラムから取り出
した演算命令を命令キュー2−1にエンキューすると共
に、レジスタ干渉チェック回路22がこの命令キュー2
−1から取り出して実行しようとする命令の使用するレ
ジスタが既に実行を開始した命令の使用しているレジス
タと干渉していないと判別した命令について、取り出し
て実行制御するようにしている。
As shown in FIG.
-1, and execution control is performed by taking out an instruction for which it is determined that the register used by the instruction to be taken out and executed does not interfere with the register used by the instruction that has already started execution.

従って、非同期実行可能な命令を命令キュー2−11こ
エンキューし、実行時にレジスタ干渉をチェックして干
渉しない命令を取り出して実行することにより、非同期
処理時のレジスタ干渉による命令実行停止時間を最小限
にすることが可能となる。
Therefore, by enqueuing instructions that can be executed asynchronously into instruction queues 2-11, checking for register interference during execution, and extracting and executing instructions that do not interfere, the time required to stop instruction execution due to register interference during asynchronous processing can be minimized. It becomes possible to

〔実施例〕〔Example〕

次に、第1図から第3図を用いて本発明の1実施例の構
成および動作を順次詳細に説明する。
Next, the configuration and operation of one embodiment of the present invention will be explained in detail using FIGS. 1 to 3.

第1図(イ)において、中央制御装置lは、プログラム
の命令の取り出しなどの各種制御を行うものである。
In FIG. 1(A), a central control unit 1 performs various controls such as fetching instructions from a program.

非同期演算装置2は、非同期に演算命令を実行するもの
であって、プログラムから取り出した命令のうちの演算
命令をエンキューする命令キュー2−1、命令キュー2
−1から取り出して実行しようとする命令が使用するレ
ジスタと以前に実行を開始した命令が使用しているレジ
スタとの干渉をチェックするレジスタ干渉チェック回路
2−2、データを格納する複数のレジスタ2−3、レジ
スタ2−3との間でデータの授受を行って演算を行う演
算器2−4などから構成されている。
The asynchronous arithmetic unit 2 executes arithmetic instructions asynchronously, and includes an instruction queue 2-1 and an instruction queue 2 that enqueue arithmetic instructions among instructions taken out from a program.
- A register interference check circuit 2-2 that checks for interference between a register used by an instruction to be taken out and executed from 1 and a register used by an instruction that has previously started execution, and a plurality of registers 2 that store data. -3, a computing unit 2-4 that performs calculations by exchanging data with a register 2-3, and the like.

記憶装置3は、データなどを記憶するメモリである。The storage device 3 is a memory that stores data and the like.

第1図(ロ)は、命令キューの例を示す。この命令キュ
ーは、第1図命令キュー2−1の具体例であって、2人
力(ソースとなる2つのレジスタ例えばSl−,5z−
)と、1出力(デスティネーションとなる1つのレジス
タ例えばり、l)を複数組、命令コード(OP Cn)
に対応づけてエンキューしたものである。
FIG. 1(b) shows an example of an instruction queue. This instruction queue is a specific example of the instruction queue 2-1 in FIG.
), multiple sets of one output (one register as a destination, for example, l), and an instruction code (OP Cn).
It is enqueued in association with .

第1図(ハ)は、プログラム例を示す。FIG. 1(c) shows an example program.

次に、第2図フローチャートに示す順序に従い、第1図
(イ)、(ロ)構成の動作を第1図(ハ)プログラム例
をもとに具体的に説明する。
Next, in accordance with the order shown in the flowchart of FIG. 2, the operations of the configurations of FIG. 1(a) and (b) will be specifically explained based on the program example of FIG. 1(c).

第2図(イ)において、■は、命令を1つ取り出す。こ
れは、第1図(ハ)の例えば先頭の■の命令を取り出す
In FIG. 2(a), ■ extracts one instruction. This takes out, for example, the first instruction (■) in FIG. 1(C).

@は、レジスタ・スコア・ボードにセットする(除く、
非同期命令)。これは、■で取り出した例えば第1図(
ハ)■の命令は、LD(ロード)命令であって、非同期
命令でないので、第1図(イ)図示外の同期命令実行時
のレジスタ干渉を回避するためのレジスタ・スコア・ボ
ードに使用中のレジスタ番号をセットする。
@ is set on the register score board (excluding
asynchronous instructions). This is for example shown in Figure 1 (
c) Since the instruction ■ is an LD (load) instruction and not an asynchronous instruction, it is used in the register score board in Figure 1 (a) to avoid register interference when executing a synchronous instruction not shown. Set the register number.

0は、記憶装置用の命令(同期実行命令)か否かを判別
する。YESの場合(同期実行命令である記憶装置用の
命令の場合、例えば第1図(ハ)■の命令の場合)には
、■ないし■で同期処理を行う。一方、Noの場合(非
同期実行可能な演算命令の場合)には、[相]で第1図
(イ)、(ロ)命令キュー2−1に格納(エンキュー)
し、■を行う。
0 determines whether the instruction is for a storage device (synchronous execution instruction) or not. If YES (in the case of an instruction for a storage device which is a synchronous execution instruction, for example, in the case of the instruction shown in FIG. On the other hand, in the case of No (in the case of an operation instruction that can be executed asynchronously), it is stored (enqueued) in the instruction queue 2-1 in Figure 1 (a) and (b) in [phase].
Then, do ■.

■は、記憶装置へ通知する。(2) Notifies the storage device.

[相]は、同期的に1つだけ処理する。Only one [phase] is processed synchronously.

Oは、レジスタ・スコア・ボードのリセットを行う。こ
れら■、[相]、Oは、■で取り出した命令(同期的に
処理する記憶装置用の命令である、例えば第1図(ハ)
の■の命令)について、記憶装置3のMEMというアド
レスからデータをリードし、レジスタROにロードしく
■、[相])、レジスタ・スコア・ボードをリセットす
る(O)。
O resets the register score board. These ■, [phase], and O are the instructions retrieved in ■ (instructions for the storage device that are processed synchronously, for example, in Figure 1 (c)).
Regarding the instruction 2), data is read from the address MEM of the storage device 3, loaded into the register RO, and the register score board is reset (O).

以上によって、記憶装置用の命令については同期的に1
つづつ処理し、一方、非同期に実行可能な演算命令を命
令キュー2−1に順次格納する。
As a result of the above, for instructions for storage devices, 1
On the other hand, asynchronously executable operation instructions are sequentially stored in the instruction queue 2-1.

次に、第2図(ロ)は、第2図(イ)■で命令キュー2
−1に順次エンキューした命令を非同期的に実行する実
行フローチャートを示す。
Next, Figure 2 (B) shows the command queue 2 in Figure 2 (B) ■.
10 shows an execution flowchart for asynchronously executing instructions sequentially enqueued to -1.

第2図(ロ)において、[相]は、命令キューに命令あ
りか否かを判別する。YESの場合には、[相]以降を
実行する。Noの場合には、■を繰り返し実行する。
In FIG. 2(b), [phase] determines whether or not there is an instruction in the instruction queue. If YES, execute [phase] and subsequent steps. In the case of No, repeat the process (■).

[相]は、実行しようとする命令と、以前に実行開始し
ている命令との間でレジスタ干渉チェックを行う。これ
は、命令キュー2−1から取り出して実行しようとする
命令が使用するレジスタと、以前に実行を開始している
命令が使用している全てのレジスタとの間のレジスタ干
渉をチェックする。
[Phase] performs a register interference check between the instruction to be executed and the instruction that has previously started execution. This checks for register interference between the register used by the instruction to be taken out from the instruction queue 2-1 and executed and all the registers used by instructions that have previously started execution.

[相]は、干渉ありか否かを判別する。YESの場合に
は、次の命令について■以降を繰り返し実行する。NO
の場合には、干渉しないので、[相]で実行し、■で命
令キュー2−1からデキューし、■を繰り返し実行する
[Phase] determines whether or not there is interference. In the case of YES, the steps after ① are repeatedly executed for the next instruction. NO
In the case of , there is no interference, so it is executed in [phase], dequeued from the instruction queue 2-1 in ■, and repeatedly executed in ■.

以上によって、命令キュー2−1にエンキューされた命
令のうち、以前に実行を開始した命令が1 使用しているレジスタに干渉しない命令についていわば
飛び越す態様で順次実行することができ、レジスタ干渉
による命令実行停止時間を最小限にし、高速に処理を行
うことが可能となる。
As a result of the above, among the instructions enqueued in the instruction queue 2-1, the instructions that have started execution previously can be executed sequentially in a manner that skips instructions that do not interfere with the registers being used. It is possible to minimize execution stop time and perform processing at high speed.

第3図は、本発明に係るレジスタ干渉チエ・ツク回路の
動作例を示す。
FIG. 3 shows an example of the operation of the register interference check circuit according to the present invention.

第3図(イ)は、エントリ2のレジスタチェック回路の
例を示す。ここで、第4図(ロ)エントリ1の命令は既
に実行開始しているものとする。
FIG. 3(a) shows an example of the register check circuit for entry 2. Here, it is assumed that the instruction in entry 1 in FIG. 4(b) has already started to be executed.

これは、第1図(ロ)命令キュー2−1のエントリ2の
命令(OPC2)を実行しようとするときに使用するレ
ジスタS+Z、S2□、D2について、以前に実行開始
しているエントリ1の命令(OPCl>が使用している
レジスタD、とレジスタ干渉を生じないか否かをチェッ
クする様子を示す。
This applies to registers S+Z, S2□, and D2 used when attempting to execute the instruction (OPC2) in entry 2 of instruction queue 2-1 in Figure 1 (b). It shows how to check whether there is any register interference with the register D used by the instruction (OPCl>).

即ちエントリ2のレジスタS12とレジスタD+、レジ
スタSzzとレジスタD5、レジスタD2とレジスタD
、がそれぞれ同一でない(レジスタ干渉していない)か
を比較回路によって比較する。いずれか1つあるいはそ
れ以上が同一のときは、し2 ジスタ干渉を生じるので、実行しない。いずれも同一で
ないときは、レジスタ干渉しないので、当該エントリ2
の命令(OPC2)を実行する。
That is, register S12 and register D+ of entry 2, register Szz and register D5, register D2 and register D
, are compared by a comparison circuit to see if they are not the same (there is no register interference). If one or more of them are the same, it will not be executed because it will cause register interference. If they are not the same, there is no register interference, so the entry 2
The instruction (OPC2) is executed.

第3図(ロ)は、エントリ3のレジスタチェック回路の
例を示す。ここで、第1図(ロ)エントリ1.2の命令
は既に実行開始しているものとする。これは、第1図(
ロ)命令キュー2−1のエントリ3の命令(OP C3
)を実行しようとするときに使用するレジスタ311、
SZS、D、について、以前に実行開始しているエント
リlの命令(OPCI)が使用しているレジスタD1お
よびエントリ2の命令(OPC2)が使用しているレジ
スタD2とレジスタ干渉を生じないか否かをチエ7りす
る様子を示す。第3図(イ)と同様に、以前に実行を開
始しているエントリ1のり0、およびエントリ2のり、
について比較回路によって比較する。いずれか1つある
いはそれ以上が同一のときは、レジスタ干渉を生じるの
で、実行しない。いずれも同一でないときは、レジスタ
干渉しないので、当該エントリ3の命令(OPC3)を
実行する。
FIG. 3(b) shows an example of the register check circuit for entry 3. Here, it is assumed that the instruction in entry 1.2 in FIG. 1(b) has already started execution. This is shown in Figure 1 (
b) Instruction in entry 3 of instruction queue 2-1 (OP C3
) register 311 used when trying to execute
Regarding SZS, D, whether there is any register interference with register D1 used by the instruction (OPCI) of entry 1 that has started execution previously and register D2 used by the instruction (OPC2) of entry 2. This shows how they play the game. Similarly to FIG. 3(a), entry 1 and entry 2, which have previously started execution,
are compared using a comparison circuit. If one or more of them are the same, register interference will occur, so do not execute. If they are not the same, the instruction (OPC3) of the entry 3 is executed because there is no register interference.

以上のレジスタ干渉チェックを一般的に表すと下記の演
算を行い、C0NFL I CTが1 (レジスタ干渉
発生)のときは当該エントリの命令(OPCn)を実行
しない。0(レジスタ干渉が発生しない)のときは当該
エントリの命令(OPCn)を実行する。
Generally expressing the above register interference check, the following calculation is performed, and when CONFLICT is 1 (register interference has occurred), the instruction (OPCn) of the entry is not executed. When it is 0 (register interference does not occur), the instruction (OPCn) of the relevant entry is executed.

C0NFL I CT =S、、&&D、  +32.&&D、+D++&&D
+S目& &D z + S z = & & D z
 +D + t & & D z十・呻・ +sli&&[)i−+  +Szt%%D 、−、+
D、、%%D、−1ここで、士は論理積、&&は排他的
論理和を表す。
C0NFL I CT =S, , &&D, +32. &&D, +D++&&D
+ Sth && D z + S z = && D z
+D + t && D z ten・groan・ +sli&&[)i-+ +Szt%%D , -, +
D,,%%D,-1 Here, && represents a logical product and an exclusive logical sum.

Sliはソースlに使用するレジスタ、sz=はソース
2に使用するレジスタ、D、はデスティネーションに使
用するレジスタを表す(i−1ないしn−1、nは命令
キュー2−1にエンキューされたエントリ数)。
Sli is a register used for source l, sz= is a register used for source 2, and D is a register used for destination (i-1 to n-1, n is the register enqueued to instruction queue 2-1. number of entries).

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明によれば、非同期実行可能
な演算命令を命令キュー2−1にエンキューし、実行時
にレジスタ干渉をチェックして干渉しない命令を取り出
して実行する構成を採用しているため、非同期処理時の
レジスタ干渉による命令実行停止時間を最小限にするこ
とができる。
As explained above, according to the present invention, a configuration is adopted in which asynchronously executable arithmetic instructions are enqueued in the instruction queue 2-1, register interference is checked during execution, and instructions that do not interfere are retrieved and executed. Therefore, the instruction execution stop time due to register interference during asynchronous processing can be minimized.

これにより、データ処理装置の性能を向上させることが
できる。
Thereby, the performance of the data processing device can be improved.

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

第1図は本発明の1実施例構成・説明図、第2図は本発
明の動作説明フローチャート、第3図は本発明に係るレ
ジスタ干渉チェック回路の動作例、第4図は従来技術の
説明図を示す。 図中、■は中央制御装置、2は非同期演算装置、2−1
は命令キュー、2−2はレジスタ干渉チェック回路、2
−3はレジスタ、2−4は演算器、3は記憶装置を表す
FIG. 1 is a configuration/explanatory diagram of one embodiment of the present invention, FIG. 2 is a flowchart explaining the operation of the present invention, FIG. 3 is an example of the operation of the register interference check circuit according to the present invention, and FIG. 4 is an explanation of the prior art. Show the diagram. In the figure, ■ is the central control unit, 2 is the asynchronous arithmetic unit, 2-1
is an instruction queue, 2-2 is a register interference check circuit, 2
-3 represents a register, 2-4 represents an arithmetic unit, and 3 represents a storage device.

Claims (1)

【特許請求の範囲】 非同期に命令の演算を制御する演算制御方式において、 プログラムから取り出した命令のうちの演算命令をエン
キューする命令キュー(2−1)と、この命令キュー(
2−1)から取り出して実行しようとする命令が使用す
るレジスタと以前に実行を開始した命令が使用している
レジスタとの干渉をチェックするレジスタ干渉チェック
回路(2−2)とを備え、 プログラムから取り出した演算命令を上記命令キュー(
2−1)にエンキューすると共に、上記レジスタ干渉チ
ェック回路(2−2)がこの命令キュー(2−1)から
取り出して実行しようとする命令の使用するレジスタが
既に実行を開始した命令の使用しているレジスタと干渉
していないと判別した命令について、取り出して実行制
御するように構成したことを特徴とする演算制御方式。
[Claims] In an arithmetic control method that asynchronously controls instruction arithmetic, there is an instruction queue (2-1) for enqueuing arithmetic instructions among instructions taken out from a program, and this instruction queue (2-1).
2-1) and a register interference check circuit (2-2) that checks for interference between a register used by an instruction to be retrieved from 2-1) and a register used by an instruction that has previously started execution; The arithmetic instructions retrieved from the above instruction queue (
2-1), and the register interference check circuit (2-2) takes out the instruction from this instruction queue (2-1) and uses the register used by the instruction that has already started execution. An arithmetic control method characterized by being configured to take out and control execution of instructions that are determined not to interfere with registers that are currently in use.
JP33707989A 1989-12-26 1989-12-26 Arithmetic control system Pending JPH03196334A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33707989A JPH03196334A (en) 1989-12-26 1989-12-26 Arithmetic control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33707989A JPH03196334A (en) 1989-12-26 1989-12-26 Arithmetic control system

Publications (1)

Publication Number Publication Date
JPH03196334A true JPH03196334A (en) 1991-08-27

Family

ID=18305239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33707989A Pending JPH03196334A (en) 1989-12-26 1989-12-26 Arithmetic control system

Country Status (1)

Country Link
JP (1) JPH03196334A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174525B2 (en) 1992-03-31 2007-02-06 Seiko Epson Corporation Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7174525B2 (en) 1992-03-31 2007-02-06 Seiko Epson Corporation Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip
US7555738B2 (en) 1992-03-31 2009-06-30 Seiko Epson Corporation Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip

Similar Documents

Publication Publication Date Title
JPS58151655A (en) Information processing device
JPH05158687A (en) Method and unit for program control
US4344133A (en) Method for synchronizing hardware and software
JPH06131181A (en) Hierarchical parallel processing type central processing unit
JPH03196334A (en) Arithmetic control system
JPH01214902A (en) Programmable controller
JPS6347835A (en) Pipeline computer
JP2669911B2 (en) DMA controller and information processing system
JP2503984B2 (en) Information processing device
JP2744152B2 (en) Data driven data processor
JP6292324B2 (en) Arithmetic processing unit
JPS6290728A (en) Interruption processing method
JP2001184259A (en) Arithmetic processor and data transferring method in the device
JP3982077B2 (en) Multiprocessor system
JP2013164791A (en) Data processor
TWI755744B (en) Device and method for controlling command sequence
JP2504224B2 (en) Data processing device
JP2006515446A (en) Data processing system with Cartesian controller that cross-references related applications
JPH06100967B2 (en) Data processing device having pipeline processing mechanism and processing method
JPS5899869A (en) Parallel processing system
JPS5999552A (en) Microcomputer
JPH03182945A (en) Transfer system for data in main storage
JP2702137B2 (en) Vector operation instruction processing method
JP2549410B2 (en) Main memory reference order control method
JPH04145531A (en) Microprogram controller