JPH0786838B2 - Interrupt processing method - Google Patents

Interrupt processing method

Info

Publication number
JPH0786838B2
JPH0786838B2 JP3080822A JP8082291A JPH0786838B2 JP H0786838 B2 JPH0786838 B2 JP H0786838B2 JP 3080822 A JP3080822 A JP 3080822A JP 8082291 A JP8082291 A JP 8082291A JP H0786838 B2 JPH0786838 B2 JP H0786838B2
Authority
JP
Japan
Prior art keywords
processing
interrupt
resource use
cpu resource
asynchronous
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP3080822A
Other languages
Japanese (ja)
Other versions
JPH04218841A (en
Inventor
治彦 上埜
陽象 中山
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
PFU Ltd
Original Assignee
Fujitsu Ltd
PFU 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, PFU Ltd filed Critical Fujitsu Ltd
Priority to JP3080822A priority Critical patent/JPH0786838B2/en
Publication of JPH04218841A publication Critical patent/JPH04218841A/en
Publication of JPH0786838B2 publication Critical patent/JPH0786838B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、一部の処理時間の長い
CPU資源使用処理の実行を、処理のデータ依存関係を
保証しながら命令の実行と非同期化(命令により処理が
開始されるが処理の終了は、命令の終了以降となる。C
PUは、該当処理を開始した命令を実行後、開始された
処理の終了以前に次の命令の実行を開始する。)したC
PUにおいて、割込み発生時の非同期CPU処理の終了
方法およびこれら非同期CPU処理で発生したCPU資
源使用処理依存割込み要因の報告方法に関する。特に、
OSの割込みハンドラで使用する基本的な処理を、命令
と非同期的に実行する場合に、本発明は有効となる。
BACKGROUND OF THE INVENTION 1. Field of the Invention According to the present invention, the execution of some CPU resource consuming processing, which has a long processing time, is asynchronous with the execution of an instruction while guaranteeing the data dependency of the processing. The processing ends after the instruction ends.
After executing the instruction that started the process, the PU starts executing the next instruction before the end of the started process. ) C
The present invention relates to a method of terminating an asynchronous CPU process when an interrupt occurs in a PU and a method of reporting a CPU resource use process dependent interrupt factor generated in these asynchronous CPU processes. In particular,
The present invention is effective when the basic processing used by the interrupt handler of the OS is executed asynchronously with the instruction.

【0002】[0002]

【従来の技術】処理時間の長いCPU資源使用処理を命
令と同期的に実行するCPUにおいても、後続命令を部
分的に先行実行し前の処理でプログラム割込みが発生し
た場合に先行実行した命令の影響をキャンセルすること
により、処理時間の長い命令の後続命令の部分的な先行
実行を行うことができる。ただし、この場合には、CP
Uの命令パイプラインが複雑となり、また後続命令の先
行実行も限られた範囲でしか実行できない。
2. Description of the Related Art Even in a CPU that executes a CPU resource use process having a long processing time in synchronization with an instruction, if a subsequent instruction is partially executed in advance and a program interrupt occurs in the previous processing, By canceling the influence, it is possible to partially execute the succeeding instruction of the instruction having a long processing time. However, in this case, CP
The instruction pipeline of U becomes complicated, and the preceding execution of subsequent instructions can be executed only within a limited range.

【0003】従って、処理時間の長いCPU資源使用処
理の実行時に後続する同時実行可能な(前の処理とデー
タ依存関係の無い)CPUの命令の実行を停止しないこ
とによりCPU性能を向上させるためには、処理時間の
長いCPU資源使用処理の実行を命令の実行とは非同期
化することが、1つの有効な方法である。このとき、1
個以上の非同期CPU資源使用処理を含む複数のCPU
資源使用処理が同時に実行されることになる。
Therefore, in order to improve the CPU performance by not stopping the execution of the instruction of the CPU which can be executed simultaneously (there is no data dependency relation with the previous processing) when the CPU resource use processing having a long processing time is executed. One of the effective methods is to make the execution of the CPU resource consuming processing that takes a long processing time asynchronous with the execution of the instruction. At this time, 1
Multiple CPUs including more than one asynchronous CPU resource usage process
The resource use processing is executed at the same time.

【0004】従来の計算機では、割込み発生時のCPU
資源使用処理の終了方法として、以下のいずれかが用い
られていた。割込みには、CPU資源使用処理依存割込
みと、CPU資源使用処理無依存割込みの2種類があ
る。 (1) CPU資源使用処理は、全て命令と同期して実行さ
れる処理のみである。命令の実行でCPU資源使用処理
依存割込み要因が検出されたときには、命令の実行終了
後次の命令の実行開始前に、対応するCPU資源使用処
理依存割込みが発生する。最後に実行された命令で、C
PU資源使用処理依存割込み要因が検出されなかった場
合で、かつCPU資源使用処理無依存割込み要因が存在
する場合にのみ、対応するCPU資源使用処理無依存割
込みが発生する。
In the conventional computer, the CPU when an interrupt occurs
One of the following methods has been used as a method of ending the resource use processing. There are two types of interrupts, a CPU resource use process dependent interrupt and a CPU resource use process independent interrupt. (1) The CPU resource use processing is all processing executed in synchronization with the instruction. When a CPU resource use process dependent interrupt factor is detected during the execution of an instruction, a corresponding CPU resource use process dependent interrupt occurs after the end of the execution of an instruction and before the start of the execution of the next instruction. The last executed instruction, C
The corresponding CPU resource use process independent interrupt occurs only when the PU resource use process dependent interrupt factor is not detected and when the CPU resource use process independent interrupt factor exists.

【0005】[0005]

【発明が解決しようとする課題】本方式では、割込み発
生時に割込み前に開始されたCPU資源使用処理は全て
終了しているので、割込みハンドラを作成しやすい。ま
た、必要なCPU資源使用処理依存割込み要因に対する
割込みでは、割込みハンドラの適当な処理後、元のプロ
グラムを再開することができる。
In this method, since the CPU resource use processing started before the interrupt at the time of the interrupt is completed, it is easy to create the interrupt handler. Further, in the case of an interrupt for a necessary CPU resource use processing dependent interrupt factor, the original program can be restarted after the appropriate processing of the interrupt handler.

【0006】ただし、この処理(命令)実行方式の場合
には、実行時間の長いCPU資源使用処理の実行中に、
後続CPU資源使用処理の実行を終了することができ
ず、このときCPUの性能が低下する。 (2) 一部のCPU資源に入出力を行い非同期的に動作す
るユニット(例えば浮動小数点演算ユニット)が、命令
により開始され命令の実行とは非同期的に実行される処
理(非同期CPU資源使用処理)を実行する。これらの
非同期CPU資源使用処理で、CPU資源使用処理依存
割込み要因が検出されたときには、次にこのユニットか
らアクセスされるCPU資源を使用する処理またはこの
ユニットが実行する処理を開始する命令の実行時に、そ
の命令で指定された処理は実行されずに、命令と同期し
てその非同期動作ユニットが保持するCPU資源使用処
理依存割込みが発生する。
However, in the case of this processing (instruction) execution method, during execution of a CPU resource use processing that takes a long time to execute,
The execution of the subsequent CPU resource use processing cannot be completed, and at this time, the performance of the CPU deteriorates. (2) Processing in which a unit that performs input / output to some CPU resources and operates asynchronously (for example, a floating-point arithmetic unit) is started asynchronously with the execution of an instruction (asynchronous CPU resource use processing) ) Is executed. In these asynchronous CPU resource use processes, when a CPU resource use process dependent interrupt factor is detected, at the time of execution of an instruction to start a process that uses the CPU resource accessed next from this unit or a process to be executed by this unit. The processing specified by the instruction is not executed, and a CPU resource use processing dependent interrupt held by the asynchronous operation unit occurs in synchronization with the instruction.

【0007】非同期動作ユニットで検出されたCPU資
源使用処理依存割込み以外の割込み要因が検出されたこ
れに対応する割込みが発生したとき、非同期動作ユニッ
トの動作の終了待ちは行われない。また、このとき非同
期動作ユニットが保留しているCPU資源使用処理依存
割込み要因は、同時には報告されない。
When an interrupt factor other than the CPU resource use process dependent interrupt detected by the asynchronous operation unit is detected and an interrupt corresponding to this is generated, the end of the operation of the asynchronous operation unit is not waited. Further, at this time, the CPU resource use processing-dependent interrupt factor held by the asynchronous operation unit is not reported at the same time.

【0008】CPU資源使用処理無依存割込み要因と、
非同期動作ユニットがCPU資源使用処理依存割込み要
因を同時に保持している場合でも、CPU資源使用処理
依存割込みが優先されずその割込み要因は保留されたま
まで、CPU資源使用処理無依存割込みが発生する。
CPU resource use processing independent interrupt factor,
Even when the asynchronous operation unit holds the CPU resource use process dependent interrupt factor at the same time, the CPU resource use process dependent interrupt is not prioritized and the interrupt factor remains pending, and the CPU resource use process independent interrupt occurs.

【0009】非同期CPU資源使用処理とこの処理の出
力資源が、割込みハンドラの環境退避部分で使用されな
い場合には、この方法は有効な割込み方式である。ただ
し、割込みハンドラで使用する基本的なCPU資源使用
処理を非同期化した場合には、この割込み方式では次の
問題がある。
If the asynchronous CPU resource use process and the output resource of this process are not used in the environment saving part of the interrupt handler, this method is an effective interrupt method. However, when the basic CPU resource use processing used in the interrupt handler is made asynchronous, this interrupt method has the following problems.

【0010】ある割込み(最初の割込み)の発生後、そ
の割込みを処理する割込みハンドラの動作中に、割込み
発生前に実行していたプログラムが開始した処理で検出
されたCPU資源使用処理依存割込み要因に対する割込
み(2番目の割込み)が発生する。2番目の割込みに対
する処理で、どのプログラムが割込み要因を発生した処
理を開始したかを判別するのが不可能となるかまたは非
常に困難となる。従って、この場合には、割込みハンド
ラが使用するCPU資源使用処理で検出されるCPU資
源使用処理依存割込みに対する処理が不可能となるか、
またはこの割込みに対する割込みハンドラの処理が非常
に複雑となる。 (3) 非同期的に動作するユニットが、命令により開始さ
れ命令の実行とは非同期的に実行される非同期CPU資
源使用処理を実行する。非同期ユニットの出力を後続処
理で使用する場合には、規定された手順が必要な場合
と、後続処理を開始する命令の実行開始が遅れる場合の
2種類がある。
After a certain interrupt (first interrupt) is generated, during the operation of the interrupt handler that processes the interrupt, the CPU resource use process dependent interrupt factor detected by the process started by the program executed before the interrupt occurred An interrupt (second interrupt) is generated. In the process for the second interrupt, it becomes impossible or very difficult to determine which program started the process that generated the interrupt factor. Therefore, in this case, the processing for the CPU resource use processing dependent interrupt detected in the CPU resource use processing used by the interrupt handler becomes impossible,
Or, the processing of the interrupt handler for this interrupt becomes very complicated. (3) A unit that operates asynchronously executes an asynchronous CPU resource use process that is started by an instruction and is executed asynchronously with the execution of the instruction. When the output of the asynchronous unit is used in the subsequent processing, there are two types: a case where a prescribed procedure is required and a case where the start of execution of an instruction for starting the subsequent processing is delayed.

【0011】なんらかの割込み要因が検出されると、C
PUは以下の割込み動作を行う。 新たな命令の実行を開始しない。 非同期動作ユニットが実行中の処理(非同期CPU
資源使用処理)が全て終了するまでCPU待機する。非
同期動作ユニットは、先行する処理でCPU資源使用処
理依存割込み要因が検出されたか否かに依存せず実行が
開始された処理を全て実行する。CPU資源使用処理依
存割込み要因が検出され、期待された値と異なる値とな
った出力も後続処理でそのまま使用する。この場合に
は、後続処理の実行結果も期待されたものとは異なるよ
うになり、また入力が期待された値を持たなかったため
にこの後続処理でもCPU資源使用処理依存割込み要因
が検出されることがある。
When any interrupt factor is detected, C
The PU performs the following interrupt operation. Do not start executing new instructions. Processing being executed by the asynchronous operation unit (asynchronous CPU
The CPU waits until all the resource use processing) is completed. The asynchronous operation unit executes all the processes whose execution has started regardless of whether or not a CPU resource use process dependent interrupt factor has been detected in the preceding process. The CPU resource use processing dependent interrupt factor is detected, and the output having a value different from the expected value is also used as it is in the subsequent processing. In this case, the execution result of the subsequent process also becomes different from the expected result, and since the input does not have the expected value, the CPU resource use process dependent interrupt factor is also detected in this subsequent process. There is.

【0012】の動作の結果、非同期動作ユニットで2
個以上のCPU資源使用処理依存割込み要因が検出され
たときには、非同期動作ユニットは最初に検出された割
込み要因を保持するか、検出された全ての割込み要因を
保持するかのいずれかの動作を行う。
As a result of the operation of 2,
When more than one CPU resource use process-dependent interrupt factors are detected, the asynchronous operation unit performs an operation of holding the interrupt factor detected first or holding all the detected interrupt factors. .

【0013】検出された全ての割込み要因を保持する場
合には、あるCPU資源使用処理依存割込み要因が引き
金となって、後続処理でのCPU資源使用処理依存割込
み要因を発生させたとき、元々引き金となった割込み要
因を特定するのが困難となる。
In the case of holding all the detected interrupt factors, when a certain CPU resource use process dependent interrupt factor triggers and the CPU resource use process dependent interrupt factor in the subsequent process is generated, it is originally triggered. It becomes difficult to identify the interrupt factor that has occurred.

【0014】 で、CPU資源使用処理依存割込み
要因が1個も検出されなかった場合には、割込み動作を
開始したCPU資源使用処理無依存割込みが発生する。
CPU資源使用処理依存割込み要因が検出されたときに
は、割込み動作を開始させた割込み要因の種別に依存せ
ず、CPU資源使用処理依存割込みが発生する。
If no CPU resource use process dependent interrupt factor is detected, the CPU resource use process independent interrupt that started the interrupt operation is generated.
When a CPU resource use process dependent interrupt factor is detected, a CPU resource use process dependent interrupt occurs regardless of the type of the interrupt factor that started the interrupt operation.

【0015】この割込み処理方式では、CPU資源使用
処理依存割込み要因が検出され出力が期待された値とな
った処理の出力を入力として使用する処理の実行を停止
しないので、入力が異常な場合に破壊する資源が特定で
きないような処理(例えば主記憶へのストアなど、入力
として使用するアドレスが異常な場合には、予測できな
い領域を破壊する)を非同期化するとプログラムのデバ
ックが非常に困難となる。
In this interrupt processing method, the CPU resource use processing-dependent interrupt factor is detected, and the execution of the processing that uses the output of the processing whose output has the expected value as an input is not stopped. Therefore, when the input is abnormal, If you desynchronize a process that cannot specify the resource to be destroyed (for example, if the address used as an input is abnormal, such as a store in main memory, the unpredictable area is destroyed), it will be very difficult to debug the program. .

【0016】また、この割込み方式では、非同期化処理
でCPU資源使用処理依存割込み要因が検出された場合
には、元のプログラムを再開することはできない。第1
の発明は、割込みハンドラが使用するような基本的なC
PU資源使用処理の非同期的実行が可能であり、かつ割
込みハンドラの作成が容易な割込み処理方式を目的とす
る。
Further, in this interrupt method, the original program cannot be restarted when a CPU resource use process dependent interrupt factor is detected in the asynchronous process. First
Invention is a basic C as used by interrupt handlers.
An object of the present invention is to provide an interrupt processing method capable of asynchronously executing PU resource usage processing and easily creating an interrupt handler.

【0017】第2の発明は、割込みハンドラが使用する
ような基本的なCPU資源使用処理の非同期的実行が可
能であり、必要なCPU資源使用処理依存割込み要因に
対しては、対応する割込みハンドラの処理の終了後、元
のプログラムを再開可能とするための割込み処理方式を
目的とする。
A second aspect of the invention is capable of asynchronously executing a basic CPU resource use process as used by an interrupt handler, and a corresponding interrupt handler for a necessary CPU resource use process dependent interrupt factor. The object of the present invention is to provide an interrupt processing method for enabling the original program to be restarted after the end of the processing.

【0018】[0018]

【課題を解決するための手段及び作用】本発明の特徴は
下記の通りである。 CPU資源使用処理依存割込み、およびCPU資源
使用処理無依存割込み要因のどちらかが検出されたとき
に、割込み動作を開始する。 割込み動作中で、データ依存関係を保証しつつ実行
中の全てまたは一部の非同期CPU資源使用処理を終了
させる。CPU資源使用処理依存割込み要因の検出され
た処理の出力を入力として使用する処理は、未実行で終
了させる。この操作の終了時には、データ依存関係を消
去する。 割込み動作終了時に、CPU資源使用処理依存割込
み要因が検出されている場合には、割込み動作を開始し
た割込み要因の種別に依存せず、CPU資源使用処理依
存割込みを発生する。そうでない場合には、CPU資源
使用処理無依存割込みを発生させる。
The features and advantages of the present invention are as follows. When either the CPU resource use process dependent interrupt or the CPU resource use process independent interrupt factor is detected, the interrupt operation is started. During the interrupt operation, all or part of the asynchronous CPU resource use processing being executed while guaranteeing the data dependency is terminated. The process that uses the output of the process in which the CPU resource use process dependent interrupt factor is detected as an input is terminated without being executed. At the end of this operation, the data dependency is deleted. When a CPU resource use process dependent interrupt factor is detected at the end of the interrupt operation, a CPU resource use process dependent interrupt is generated without depending on the type of the interrupt factor that started the interrupt operation. If not, a CPU resource use process independent interrupt is generated.

【0019】CPU資源使用処理依存割込みの発生時に
は、検出された全てのCPU資源使用処理依存割込み要
因の全て、および未実行となった処理に関する情報を表
示する。 再開の期待されるCPU資源使用処理依存割込み要
因および未実行で終了した処理に対して、適当な割込み
ハンドラの処理後、元のプログラムに戻ったときにハー
ドウェアが処理を再実行できるようにするか、割込みハ
ンドラが処理をエミュレーションするのに十分な情報を
表示する。
When a CPU resource use process dependent interrupt occurs, information on all detected CPU resource use process dependent interrupt factors and unexecuted processes is displayed. Enables the hardware to re-execute the processing for an interrupt factor that is expected to be resumed depending on the CPU resource use processing and the processing that has ended without being executed, after the processing of an appropriate interrupt handler and when returning to the original program Or display enough information for the interrupt handler to emulate the process.

【0020】本発明は、(1) レジスタ等のCPU資源か
らの入力、CPU資源への出力、またはその双方を行う
処理(CPU資源使用処理)が、同期CPU資源使用処
理と非同期CPU資源使用処理の2種類に分類され各々
次のように実行する。
According to the present invention, (1) processing for performing input from CPU resources such as registers, output to CPU resources, or both (CPU resource use processing) is synchronous CPU resource use processing and asynchronous CPU resource use processing. It is classified into two types and each is executed as follows.

【0021】 同期CPU資源使用処理は、処理を指
令する命令により開始され、命令の実行と同期して実行
される処理である。命令の実行終了時には、その命令に
より開始された同期CPU資源使用処理は、終了してい
る。
The synchronous CPU resource use process is a process which is started by an instruction for instructing the process and executed in synchronization with the execution of the instruction. When the execution of the instruction is completed, the synchronous CPU resource use processing started by the instruction is completed.

【0022】 非同期CPU資源使用処理は、処理を
指定する命令により開始され、命令の実行とは非同期的
に実行される処理である。命令の実行終了以降に、その
命令により開始された非同期CPU資源使用処理は終了
する。 (2) CPU資源に出力を行う非同期CPU資源使用処理
(先行処理)が命令により開始されたとき、該当処理を
開始した命令より後で発行される命令で開始されるCP
U資源使用処理(後行処理)で先行処理の資源への出力
を入力として使用するときは、後行処理での資源の入力
が先行処理での該当資源への出力が終了するまで待たさ
れる。
The asynchronous CPU resource use processing is processing that is started by an instruction that specifies the processing and that is executed asynchronously with the execution of the instruction. After the execution of the instruction ends, the asynchronous CPU resource use processing started by the instruction ends. (2) When an asynchronous CPU resource use process (preceding process) that outputs to a CPU resource is started by an instruction, a CP that is started by an instruction issued after the instruction that started the corresponding process
When the output to the resource of the preceding process is used as an input in the U resource use process (subsequent process), the input of the resource in the subsequent process is delayed until the output to the corresponding resource in the preceding process is completed.

【0023】CPU資源使用処理(後行処理)がある資
源への出力を行う場合には、該当処理より先に開始され
た全てのCPU資源使用処理(先行処理)による該当資
源へのアクセス(入力および出力の両者)が終了してか
ら、後行処理は該当資源への出力を行う。
When outputting to a resource having CPU resource use processing (subsequent processing), access (input) to the resource by all CPU resource use processing (preceding processing) started prior to the corresponding processing. And the output) are completed, the subsequent process outputs to the corresponding resource.

【0024】後行処理が同期CPU資源使用処理の場合
には、先行処理での関係する資源へのアクセスが終了す
るまで後行処理を指定する命令の実行終了を遅らる
(プログラムカウンタは、その後行処理を開始する命令
を指したままとする)。後行処理が非同期CPU資源使
用処理の場合には、後行処理を開始する命令の実行終了
を前の処理の該当資源への関係するアクセスが終了する
まで遅らせても良いし、後行処理を開始する命令の実行
は完了し後行処理を開始するが後行処理での該当資源へ
のアクセスを遅らせても良い。
When the succeeding process is the synchronous CPU resource use process, the execution end of the instruction designating the succeeding process is delayed until the access to the related resource in the preceding process is completed.
(The program counter remains pointing to the instruction that then begins line processing). When the succeeding process is an asynchronous CPU resource use process, the end of execution of the instruction for starting the succeeding process may be delayed until the related access to the corresponding resource of the preceding process is completed, or the succeeding process is executed. Although the execution of the instruction to be started is completed and the subsequent processing is started, the access to the corresponding resource in the subsequent processing may be delayed.

【0025】非同期CPU資源使用処理の実行が開始さ
れると、その入力が終了するまでは、後続CPU資源使
用処理での該当資源への出力は待たさる。 (3) 同期CPU資源使用処理の一部、および非同期CP
U資源使用処理の一部は、CPU資源使用処理依存割込
み要因を発生する。CPU資源使用処理依存割込み要因
とは、CPU資源使用処理の実行中に特定の事象が発生
した場合に検出される割込み要因であり、CPU資源使
用処理依存割込み要因が検出された処理の出力が期待さ
れた結果(その出力を後続処理で入力として使用する事
が期待される結果)にならなかった事を示す割込み要因
である。
When the execution of the asynchronous CPU resource use processing is started, the output to the corresponding resource in the subsequent CPU resource use processing waits until the input is completed. (3) Part of synchronous CPU resource use processing and asynchronous CP
A part of the U resource use processing generates a CPU resource use processing dependent interrupt factor. The CPU resource use process dependent interrupt factor is an interrupt factor detected when a specific event occurs during execution of the CPU resource use process, and the output of the process in which the CPU resource use process dependent interrupt factor is detected is expected. It is an interrupt factor indicating that the result (the result that the output is expected to be used as the input in the subsequent processing) is not obtained.

【0026】CPU資源使用処理依存割込み要因の検出
された処理の出力を、後行処理で入力として使用する
と、後行処理の実行結果も期待された実行結果と異なる
様になる。
When the output of the process in which the CPU resource use process dependent interrupt factor is detected is used as the input in the subsequent process, the execution result of the subsequent process also differs from the expected execution result.

【0027】(4) 実行中のCPU資源使用処理でCPU
資源使用処理依存割込み要因が検出されたとき、または
外部割込み等の実行中のCPU資源使用処理の実行結果
に直接依存せずに発生する割込(CPU資源使用処理無
依存割込み)の割込み要因が検出されたときには、ハー
ドウェアは以下の割込み動作を行う。
(4) CPU in the CPU resource use process being executed
An interrupt factor (CPU resource use process independent interrupt) that occurs when a resource use process dependent interrupt factor is detected or does not directly depend on the execution result of the CPU resource use process that is being executed, such as an external interrupt When detected, the hardware performs the following interrupt operation.

【0028】(A) ハードウェアは新たな命令の実行は開
始しないが、実行中の命令およびすでに実行が開始され
ている非同期CPU資源使用処理は継続して実行する。
実行可能な非同期CPU資源使用処理が終了し非同期C
PU資源使用処理の状態が変化しなくなるのを待つ。
(A) The hardware does not start execution of a new instruction, but the instruction being executed and the asynchronous CPU resource use processing which has already started are continuously executed.
Executable asynchronous CPU resource use processing ends and asynchronous C
Wait for the state of the PU resource use processing to stop changing.

【0029】(B) ステップ(A) のCPU資源使用処理の
終了待ちを実行後には、割込み動作の開始時に実行中で
あった全ての非同期CPU資源使用処理は、以下のいず
れか1つの方法で終了する。
(B) After waiting for the end of the CPU resource use processing in step (A), all asynchronous CPU resource use processing that was being executed at the start of the interrupt operation is performed by one of the following methods. finish.

【0030】非 CPU資源使用処理依存割込み要因
を検出せずに完了した。処理の出力は、期待された出力
となった。 非 CPU資源使用処理依存割込み要因を検出して実
行が終了した。
The process was completed without detecting a non-CPU resource use process dependent interrupt factor. The output of the process was the expected output. Execution ended when a non-CPU resource use processing dependent interrupt factor was detected.

【0031】非 非同期CPU資源使用処理が先行す
る処理の資源への出力を使用する処理であり、先行する
処理がCPU資源使用処理依存割込み要因を検出し期待
された出力を行わなかったときには、そのCPU資源使
用非同期処理は未実行のまま終了する。未実行で終了し
た処理の出力に対するデータ依存関係は、消去される。
The non-asynchronous CPU resource use process uses the output of the preceding process to the resource, and when the preceding process detects the CPU resource use process dependent interrupt factor and does not output as expected, The CPU resource use asynchronous processing ends without being executed. The data dependency on the output of the processing that has not been executed is deleted.

【0032】非 非または非で未実行となった処
理の出力を入力として使用する非同期CPU資源使用処
理は、未実行のまま終了する。未実行で終了した処理の
出力に対するデータ依存関係は、消去される。
The asynchronous CPU resource use processing that uses the output of the non-non-executed or non-executed processing as an input ends without being executed. The data dependency on the output of the processing that has not been executed is deleted.

【0033】非 CPU資源使用処理依存割込み要因
が1個でも検出されている場合には、すでに命令により
開始されている非同期CPU資源使用処理がこの割込み
要因とデータ依存関係が無い場合でも、未実行で終了し
ても良い。
When at least one non-CPU resource use process dependent interrupt factor is detected, even if the asynchronous CPU resource use process already started by the instruction has no data dependency relationship with this interrupt factor, it is not executed yet. You can end with.

【0034】同期CPU資源使用処理は、その処理を開
始する命令の実行終了時に以下のいずれか1つの方法で
終了している。(A) の操作が終了したときに、実行中で
あった同期CPU資源使用処理もこれらのいずれかの方
法で終了している。
The synchronous CPU resource use process is terminated by any one of the following methods at the end of execution of the instruction for starting the process. When the operation of (A) is completed, the synchronous CPU resource use processing that was being executed is also completed by any of these methods.

【0035】同 CPU資源使用処理依存割込み要因
を検出せずに完了している。 同 CPU資源使用処理依存割込み要因を検出して、
処理の実行が終了した。
The processing is completed without detecting the CPU resource use processing dependent interrupt factor. The CPU resource use processing dependent interrupt factor is detected,
Execution of the process is completed.

【0036】(C) (B) でCPU資源使用処理依存割込み
要因が1個も検出されなかったとき:割込み動作を開始
させた割込要因は、CPU資源使用処理無依存割込み要
因である。ハードウェアは、割込み動作を開始させた割
込み要因に対応した割込みを発生する。
When no CPU resource use process dependent interrupt factor is detected in (C) or (B): The interrupt factor that started the interrupt operation is a CPU resource use process independent interrupt factor. The hardware generates an interrupt corresponding to the interrupt factor that started the interrupt operation.

【0037】(B) でCPU資源使用処理依存割込み要因
が1個以上検出されたとき:割込み動作を開始させた割
込み要因によらず、(B) の非〜非となったCPU資
源使用非同期処理および同となったCPU資源使用同
期処理に関する情報を、1回のCPU資源使用処理依存
割込みでプログラムに同時に全て通知する(複合CPU
資源使用処理依存割込みを行う)。 (5) 一部のCPU資源使用処理依存割り込み要因処理プ
ログラムによる適当な処理の実行後にその割り込み要因
を発生したプログラムの再開が期待される事があり(ペ
ージ不在等の割り込み要因)(ここでは、この種のCP
U資源使用処理依存割り込み要因を、再開期待CPU資
源使用処理依存割り込み要因と呼ぶ)、CPU資源使用
処理依存割り込みが発生したとき、再開期待CPU資源
使用処理依存割り込み要因のみが割り込み要因として存
在する場合には、発生した全ての再開期待CPU資源使
用処理依存割り込みに対する適当な処理の後、元のプロ
グラムを再開できる可能性があり、CPU資源使用処理
依存割り込みの発生時に、再開期待CPU資源使用処理
依存割り込みを発生した処理および未実行で終了したC
PU資源使用処理の各々に対して、以下のいずれかが可
能であるようにする 割り込み元のプログラムに復帰するCPU資源使用
処理を実行すると、指定した再開期待CPU資源使用処
理依存割り込み要因を検出した処理、および未実行で終
了した処理が再実行される、かまたは、 割り込み要因処理プログラムが、処理をシュミレー
ションするのに十分な情報を割り込み時にプログラムに
表示する、また、要因発生元のプログラムの再開が期待
されるある種のCPU資源使用処理依存割り込み要因
で、割込み時に入力データが保存されていることが必要
な場合には、その割込み要因の発生時に、その要因を発
生した処理の入力資源を出力先とする後続処理は、全て
未実行で終了させる再開期待CPU資源使用処理割込み
手段を具備し、このことにより、再開期待CPU資源使
用処理依存割込み要因の発生時に、割込み要因を発生し
たプログラムを再開できるようにする。
When one or more interrupt factors depending on the CPU resource use process are detected in (B): Regardless of the interrupt factor that started the interrupt operation, the non-to-non-synchronous CPU resource use process of (B) And all the information about the same CPU resource usage synchronous processing is notified to the program at the same time by one CPU resource usage processing dependent interrupt (composite CPU
Make resource-dependent interrupts). (5) It may be expected that the program that generated the interrupt factor will be restarted after the appropriate process is executed by some CPU resource use process-dependent interrupt factor processing program (the interrupt factor such as page fault) (here: This kind of CP
U resource use process dependent interrupt factor is called a restart expected CPU resource use process dependent interrupt factor), and when a CPU resource use process dependent interrupt factor occurs, only a restart expected CPU resource use process dependent interrupt factor exists as an interrupt factor , There is a possibility that the original program can be restarted after appropriate processing for all the restart expected CPU resource use processing dependent interrupts. When the CPU resource use processing dependent interrupt occurs, the restart expected CPU resource use processing dependent Processing that generated an interrupt and C that has not been executed
For each of the PU resource usage processing, one of the following is possible: When the CPU resource usage processing that returns to the interrupt source program is executed, the specified restart expected CPU resource usage processing-dependent interrupt factor is detected. Processing and the processing that has not been executed are re-executed, or the interrupt factor processing program displays information sufficient for simulating the process in the program at interrupt time, and the restart of the source program When it is necessary to save input data at the time of an interrupt due to a certain type of CPU resource use process dependent interrupt factor, when the interrupt factor occurs, the input resource of the process that generated that factor is Subsequent processing as an output destination is equipped with a restart expected CPU resource use processing interrupting unit that terminates all unexecuted. Accordingly, in the event of resuming the expected CPU resource using process dependent interruption factor to be resumed program that generated the interrupt factor.

【0038】[0038]

【実施例】まず、本発明が係わる非同期処理のつき離し
法をこれを使わない場合と比較しながら述べる。つき離
し法を使わないパイプライン方式における基本的なタイ
ミングを図1に示し、つき離し法を使う場合のタイミン
グを図2に示す。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS First, the asynchronous separation / attachment method according to the present invention will be described in comparison with the case where it is not used. FIG. 1 shows the basic timing in the pipeline system that does not use the separation method, and FIG. 2 shows the timing when the separation method is used.

【0039】各時間区域は、1τの時間区域で同期タイ
ミングである。各時間区域の動作を説明するために記号
が使われており各記号の意味は以下に示す。 D : Decode : 命令のデコードと実行開
始条件(データ依存関係および資源のぶつかり)の検出 E : Execute : 演算の実行,主記憶アク
セス命令では実行アドレスの計算 W :Write : 実行結果の書込み P1 :Priority of load : 非同期処理キューへのエ
ンキュー及び実行開始条件(データ依存関係および資源
のぶつかり)の検出 C :Cache : アドレス変換およびキャ
ッシュからのデータ読込み W1 :Write of load : キャッシュ( および主記
憶) から読み込んだデータのレジスタへの書込み Pf :Priority of floating point operation:非同期
実行キューへのエンキューおよび実行開始条件(データ
依存関係および資源のぶつかり)の検出 Ef1:Execute of floating point operation 1 Ef2:Execute of floating point operation 2 Ef3:Execute of floating point operation 3 浮動小数点加算および浮動小数点乗算の演算結果の書込
みサイクル つき離し法を使わないパイプラインにおいては、図1の
に示すように、レジスタ−レジスタ間演算の場合に
は、D,E,W,の順にパイプライン処理が行われ、E
サイクルの終わりにおいて、バイパスが可能となる。キ
ャッシュからのロードが必要な場合には、アドレス変換
およびキャッシュからのデータ読み込みのためのCサイ
クルが必要となり、このサイクルの終わりにバイパスが
可能となる。
Each time section is a synchronization timing in a time section of 1τ. Symbols are used to describe the operation of each time zone, and the meaning of each symbol is shown below. D: Decode: Decode instruction and detect execution start condition (data dependency and resource collision) E: Execute: Execute operation, calculate execution address for main memory access instruction W: Write: Write execution result P1: Priority of load: Enqueue to asynchronous processing queue and detection of execution start condition (data dependency and resource collision) C: Cache: Address translation and reading data from cache W1: Write of load: Reading from cache (and main memory) Data writing to register Pf: Priority of floating point operation: Enqueue to asynchronous execution queue and detection of execution start condition (data dependency and resource collision) Ef1: Execute of floating point operation 1 Ef2: Execute of floating point operation 2 Ef3: Execute of floating point operation 3 Floating point addition and floating point multiplication In the pipeline that does not use the write / write cycle of the operation result of (1), in the case of register-register operation, pipeline processing is performed in the order of D, E, W, as shown in (1) of FIG. E
Bypass is allowed at the end of the cycle. If a load from the cache is required, a C cycle is required for address translation and reading data from the cache, allowing bypass at the end of this cycle.

【0040】また、浮動小数点演算の場合には、演算の
実行サイクルが1τから3τに引き延ばされ、Ef1,
Ef2,Ef3が必要となる。バイパスはEf3の後に
なる。
In the case of floating-point arithmetic, the execution cycle of arithmetic is extended from 1τ to 3τ, and Ef1,
Ef2 and Ef3 are required. Bypass comes after Ef3.

【0041】一方、本発明のようにつき離し法を使う場
合が図2であり、の場合は、つき離し法を使わない場
合と同じであり、キャッシュからのロードする場合に
は、に示されるように、Dサイクルの終わりにおい
て、P1区間があり、すなわち非同期キューへのエンキ
ュー及び実行開始条件(データ依存関係および資源のぶ
つかり)を検出し、この後に、Cサイクルに入る。但
し、これらの動作はつき離し法でできる。浮動小数点の
場合も、つき離し法で行われ、非同期実行キューへのエ
ンキューおよび実行開始条件データ依存関係および資源
のぶつかり)の検出が行われ、この後に、浮動小数点の
演算サイクルとなる。なお、つき離し法では、同期処理
からつき離した形で、平行動作されるが、同期と非同期
の詳細タイミングは図3に示される。 : 命令実行制御部および同期演算実行部のパイプ
ラインD-Wait ,E-Wait , W-Wait 有り : 非同期処理:主記憶読込み(load) のパイプラ
イン(キャッシュヒット時),P-Wait有り、Cサイクル
が開始されるまで、命令実行制御部のEサイクルと同期
する(実効アドレスをEサイクルの出力としてCサイク
ルで入力するため)。
On the other hand, the case of using the separation method as in the present invention is shown in FIG. 2, and the case is the same as the case where the separation method is not used, and the case of loading from the cache is as shown in At the end of the D cycle, there is a P1 interval, ie enqueue to the asynchronous queue and execution start conditions (data dependencies and resource collisions) are detected, after which the C cycle is entered. However, these operations can be performed by the separation method. Even in the case of floating point, the separation method is used to detect enqueue to the asynchronous execution queue and execution start condition data dependency and resource collision), and then the floating point operation cycle is performed. In addition, in the separation method, the parallel operation is carried out in the form separated from the synchronization processing, but the detailed timings of the synchronization and the asynchronous are shown in FIG. : Pipeline of instruction execution control unit and synchronous operation execution unit D-Wait, E-Wait, W-Wait Yes: Asynchronous processing: Main memory read pipeline (at cache hit), P-Wait Yes, C Until the cycle starts, it synchronizes with the E cycle of the instruction execution control unit (since the effective address is input in the C cycle as the output of the E cycle).

【0042】このようなつき離し法とつき離し法を使わ
ない場合の基本タイミングを用いて配列の和を求めるプ
ログラムについてのタイミング図を図4の例を使って説
明する。
A timing diagram of a program for obtaining the sum of arrays by using such a separation method and a basic timing when the separation method is not used will be described using the example of FIG.

【0043】図4のプログラムは 配列 A〔0:100〕 の各要素の和 X=AThe program of FIG. 4 is the sum of the elements of the array A [0: 100] X = A

〔0〕+A〔1〕+・・・+A〔100〕を求め
る計算を例に示す。配列の要素はIEEEP754の形
式の(Project 754 )倍精度浮動小数点数(8バイト
長)とする。
An example of calculation for obtaining [0] + A [1] + ... + A [100] is shown. The elements of the array shall be (Project 754) double-precision floating point numbers (8 bytes long) in the IEEE 754 format.

【0044】図5のつき離しを使わない同期系の計算機
において、図4のプログラムを実行した場合のタイムチ
ャートを説明する。プログラムの各命令の番号1〜10
のタイムチャートの左側に示している番号と対応する。
A time chart when the program of FIG. 4 is executed in the synchronous computer of FIG. 5 which does not use separation / attachment will be described. Program instruction numbers 1 to 10
Corresponds to the numbers shown on the left side of the time chart.

【0045】1〜4迄の各命令は同期処理D,E,Wに
従うパイプラインによって可能となる。番号5におい
て、プログラムはルーピングに入るが、ループの内部に
入った最初の命令、すなわち、5番目の命令において、
キャッシュが使われるため、基本サイクルはD,E,
C,Wとなる。6番目の命令においては浮動小数点演算
の加算が行われるが、そのオペランドは4番目の命令の
実行結果と5番目の命令の実行結果である。ここに、デ
ータ依存関係があり、これらのデータがそろわなけれ
ば、浮動小数点の加算に入ることができない。従ってタ
イムチャート図5の番号6に示すように、1τだけ後れ
てD,D,Ef1,Ef2,Ef3,Wfとなる命令7
においてはGR2と3の加算を行うものであって、これ
は命令6の浮動小数点の結果を使わず、それとデータ依
存関係はないが、つき離し法を用いないこの例では、図
5の7番目に示されるように基本タイミングはDサイク
ルが2τ分だけ延ばされD,D,D,E,Wとなる。
Each instruction from 1 to 4 can be realized by a pipeline according to the synchronous processing D, E, W. At number 5, the program goes into looping, but at the first instruction that goes inside the loop, the fifth instruction,
Since the cache is used, the basic cycle is D, E,
C and W. Floating point arithmetic addition is performed in the sixth instruction, and its operands are the execution result of the fourth instruction and the execution result of the fifth instruction. There is a data dependency here, and if these data are not available, floating point addition cannot be entered. Therefore, as shown by the number 6 in the time chart of FIG. 5, an instruction 7 which becomes D, D, Ef1, Ef2, Ef3, Wf after 1τ
In the above example, GR2 and GR3 are added, which does not use the floating point result of instruction 6 and has no data dependency with it, but in this example that does not use the separation method, As shown in, the basic timing becomes D, D, D, E, W with the D cycle extended by 2τ.

【0046】以下、8番目のcompare と9番目のBranch
命令は、D,E,Wでパイプラインで行われ、命令9に
おいて命令5にジャンプするときにブランチペナルティ
として1τだけ遅れ、D,E,Wが始まる。
Below, the eighth compare and the ninth Branch
The instruction is pipelined at D, E, W, and when jumping to instruction 5 at instruction 9, the branch penalty delays by 1τ and D, E, W begins.

【0047】この動作を本発明の計算機のつき離し法を
使って実行する場合が図6である。番号1,2,3につ
いては図5と同じであるが命令5のキャッシュを使うと
ころにおいて、5非に示されるように、キャッシュ動作
は非同期に行われ、Pl CWlのサイクルがつき離し
的に行われ、5のWの真下に5非Cサイクルが重なり、
同時に実行される。図5の場合に比べてはやくなる。ま
た、命令6の浮動小数点演算においても、命令6と6非
の2つを使って実行され、デコードした後につき離し法
により6非の状態に進むことができる。図に示されるよ
うに、5非のCの出力が6非においてEf1の入力とな
っている。そして、命令7の同期処理になるが、このD
サイクルは命令6のEサイクルすなわち6非のPfサイ
クルを同様に行うことができる。
FIG. 6 shows a case where this operation is executed by using the computer separation / attachment method of the present invention. The numbers 1, 2, and 3 are the same as those in FIG. 5, but in the case where the cache of the instruction 5 is used, the cache operation is performed asynchronously, and the cycle of Pl CWl is performed separately as shown by 5. I have 5 non-C cycles underneath the W of 5,
It is executed at the same time. It will be faster than in the case of FIG. Also, the floating point operation of the instruction 6 is executed by using the two instructions 6 and 6 non, and after decoding, it is possible to proceed to the 6 non state by the separation method. As shown in the figure, the output of C of 5 non is the input of Ef 1 in 6 non. Then, it becomes the synchronous processing of the instruction 7, but this D
As for the cycle, the E cycle of the instruction 6, that is, the Pf cycle of 6 or more can be similarly performed.

【0048】従って、図5のつき離し法を使わない場合
と比べて2τだけ速くなっている。従って、図5のつき
離しを使う方が使わない方に比べて3tだけ高速になっ
ている。
Therefore, it is faster by 2τ than in the case where the separation method of FIG. 5 is not used. Therefore, the speed of using the separation / attachment shown in FIG. 5 is 3t faster than that of the non-use.

【0049】命令8,9,10においては前の場合と同
様である。本発明の非同期処理の割込みに対する再開動
作とデータ依存会計に関する発明はこのようなつき離し
法を用いた計算機上で使われるものである。
Instructions 8, 9 and 10 are the same as in the previous case. The invention relating to the resuming operation for interrupt of asynchronous processing and the data dependent accounting of the present invention is used on a computer using such a separation method.

【0050】次に、本発明の第1の実施例を図7を用い
て説明する。まず、図7の各構成要素を説明する。命令
形式は図8は示すように、下記の通りである。OPC:
命令コード,OPCの値により、命令中の他のフィー
ルドの位置部が無視される事がある。また、命令のビッ
ト17〜31がGRを示すかFRを示すかは、OPCの値に
より以下のように決定されるとする。 OPCの最上位ビットが0のとき: 命令のビット17〜31は、GRを示す。 OPCの最上位ビットが1のとき: 命令のビット17〜31は、FRを示す。 ただし、主記憶とFR間のデータ転送命令では、OPC
の最上位ビットは0であるが、ビット17〜26は、GRN
1,GRN2を示し、ビット27〜31は、FRN3を示す
とする。このときGR1+GR2+IMMが実効アドレ
スを示し、FRNが主記憶との転送元または転送先FR
を示すとする。
Next, a first embodiment of the present invention will be described with reference to FIG. First, each component of FIG. 7 will be described. The instruction format is as follows, as shown in FIG. OPC:
Depending on the instruction code and the value of OPC, the positions of other fields in the instruction may be ignored. Further, it is assumed that whether the bits 17 to 31 of the instruction indicate GR or FR is determined by the value of OPC as follows. When the most significant bit of OPC is 0: Bits 17 to 31 of the instruction indicate GR. When the most significant bit of OPC is 1: Bits 17 to 31 of the instruction indicate FR. However, in the data transfer instruction between main memory and FR, OPC
The most significant bit of 0 is 0, but bits 17-26 are GRN
1, GRN2 and bits 27 to 31 indicate FRN3. At this time, GR1 + GR2 + IMM indicates the effective address, and FRN is the transfer source or transfer destination FR with respect to the main memory.
Is shown.

【0051】IMM: 即値データ(入力) GRN1: GR Number 1.入力GRレジスタ番号
その1 GRN2: GR Number 2.入力GRレジスタ番号
その2 GRN3: GR Number 3.出力GRレジスタ番号 FRN1: FR Number 1.入力FRレジスタ番号
その1 FRN2: FR Number 2.入力FRレジスタ番号
その2 FRN3: FR Number 3.出力FRレジスタ番号同期処理と非同期処理の種類,割り込みの種類 2−1同期処理 分岐処理、プログラム呼出し処理(命令の実行順序
を変更する処理) SVC(スーパバイザコール)処理 CR(制御レジスタ)にアクセスする処理(ただ
し、PSRのCCのみを変更する処理を除く) 非同期処理キュー複写レジスタにアクセスする処理 2−2非同期処理 実行時間の長い演算処理 GRと主記憶間の転送処理およびFRと主記憶間の
転送処理 2−3割込み プログラム割込み CPU資源使用処理依存割込み、CPU資源使用処理の
出力が期待されたものと異なるものとなったことを示す SVC(スーパバイザコール)割込み SVC命令の実行時に、割込み要因の生成される割込み
である。SVC命令のIMM部の下位7ビット+0×8
0の値が呼び出し番号として使用される。 外部割込み 外部からCPUへの入力信号である外部割込み信号が割
込み要因となる割込みである。外部割込みには、レベル
0〜15があり、PSRのEAL以上のレベルの外部割
込み信号のみが受理され、割込み動作を開始させる。
IMM: Immediate data (input) GRN1: GR Number 1. Input GR register number
Part 1 GRN2: GR Number 2. Input GR register number
Part 2 GRN3: GR Number 3. Output GR register number FRN1: FR Number 1. Input FR register number
Part 1 FRN2: FR Number 2. Input FR register number
Part 2 FRN3: FR Number 3. Output FR register number Synchronous processing and asynchronous processing types, interrupt types 2-1 Synchronous processing Branch processing, program call processing (processing that changes the execution order of instructions) SVC (supervisor call) processing Access CR (control register) Processing (excluding processing to change only CC of PSR) Processing to access asynchronous processing queue copy register 2-2 Asynchronous processing Arithmetic processing with long execution time Transfer processing between GR and main memory and between FR and main memory Transfer processing 2-3 Interrupt Program interrupt Indicates that the output of CPU resource use processing dependent interrupt and CPU resource use processing is different from the expected one. SVC (Supervisor Call) interrupt When executing the SVC instruction, This is an interrupt that is generated. Lower 7 bits of IMM part of SVC instruction + 0x8
A value of 0 is used as the call number. External Interrupt An external interrupt signal, which is an input signal from the outside to the CPU, is an interrupt factor. There are levels 0 to 15 in the external interrupt, and only the external interrupt signal of the level equal to or higher than the EAL of PSR is accepted and the interrupt operation is started.

【0052】非同期処理でアクセスするCPU資源 非同期処理では、CPU資源中ではGR,FR及びCC
のみをアクセスする。CRおよび非同期処理キュー複写
レジスタをアクセスする処理は、同期処理のみである。
CPU resources accessed by asynchronous processing In asynchronous processing, GR, FR and CC are included in the CPU resources.
Access only. The CR and asynchronous process queue copy registers are accessed only by synchronous processes.

【0053】 各ハードウェアユニットの説明 4−1CPU資源 GR(General purpose Register) :汎用レジスタ 演算の入出力先、および主記憶アクセスのアドレス指定
のベースレジスタやインデックスレジスタとして使用さ
れる汎用レジスタである。
Description of Each Hardware Unit 4-1 CPU Resource GR (General purpose Register): General-purpose register This is a general-purpose register used as an input / output destination of an operation and a base register and an index register for addressing main memory access.

【0054】GRは、1個32ビット長であり32個存
在する。各GRには固有のGR番号0〜31が割りつけ
られている。GR0は常に0を保持し、GR0への書込
みは無視され、GR0を読み込むと常に0が読まれる。 FR(Floating point Register):浮動小数点レジ
スタ 浮動小数点演算の入出力先として使用されるレジスタで
ある。FRは、1個64ビット長であり32個存在す
る。各FRには固有のFR番号0〜31が割りつけられ
ている。FR0は常に0を保持し、FR0への書込みは
無視され、FR0を読み込むと常に0が読まれる。 CR(Control Register) :制御レジスタ CPUの動作を制御するためのパラメータを保持するレ
ジスタである。32ビット長のCRが32本存在する。
CR0からCR4には、以下のパラメータが割りつけら
れている。 CR0:PSR(Processor Status Register) プログラムの主な動作環境を規定するパラメータ(スー
パバイザモード/ユーザモード等)を保持するレジスタ
である。PSR中に2ビット長のCC (Condition Co
de:条件コード領域)および4ビット長のEAL(Exte
rnal interruptAccept Level )が存在する。CCは、
特定の処理で出力の対象となり、また条件分岐処理では
分岐判定のための入力として使用される。
One GR has a 32-bit length, and there are 32 GRs. Unique GR numbers 0 to 31 are assigned to each GR. GR0 always holds 0, writes to GR0 are ignored, and reading GR0 always reads 0. FR (Floating point Register): Floating point register A register used as an input / output destination for floating point arithmetic. One FR has a 64-bit length, and there are 32 FRs. Unique FR numbers 0 to 31 are assigned to each FR. FR0 always holds 0, writes to FR0 are ignored, and reading FR0 always reads 0. CR (Control Register): Control register This is a register that holds parameters for controlling the operation of the CPU. There are 32 CRs of 32 bit length.
The following parameters are assigned to CR0 to CR4. CR0: PSR (Processor Status Register) This is a register for holding the parameters (supervisor mode / user mode etc.) that define the main operating environment of the program. 2-bit length CC (Condition Co
de: Condition code area) and 4-bit EAL (Exte
rnal interruptAccept Level) exists. CC is
It is an output target in a specific process, and is used as an input for branch determination in the conditional branch process.

【0055】EALは、受理される外部割込み要因のレ
ベルを規定する。EALより大きい値を持つ外部割込み
信号のみが受理され、割込み動作を開始させる。 CRI:OPSR(Old PSR) 割込み発生時に、割込み発生前のPSRの値を保持する
レジスタである。
EAL defines the level of the external interrupt factor that is accepted. Only external interrupt signals with a value greater than EAL are accepted and the interrupt operation is started. CRI: OPSR (Old PSR) This is a register that holds the value of PSR before the interrupt occurs when the interrupt occurs.

【0056】CR2:OIC(Old Instruction Counte
r) 割込み発生時に、割込み発生前のPCの値(次に実行す
べき命令のアドレスを指す)を保持するレジスタであ
る。
CR2: OIC (Old Instruction Counte)
r) A register that holds the value of the PC before the interrupt occurs (points to the address of the next instruction to be executed) when the interrupt occurs.

【0057】CR3:OLEP(Old Last Entry Point
er) プログラム割込みの発生時に、非同期処理の終了待ち後
の非同期処理実行キューの最終エントリポインタの値を
保持するレジスタである。
CR3: OLEP (Old Last Entry Point)
er) This register holds the value of the final entry pointer of the asynchronous process execution queue after waiting for the end of asynchronous process when a program interrupt occurs.

【0058】CR4:INTD(INTerrupt Designatio
n) 割込み発生時に、割込み種別を示すコード(INTTYPE)お
よびプログラム割込みの発生時に、最後に実行した同期
処理の終了コード(LSRETC) を図9に示す形式で保持す
るレジスタである。
CR4: INTD (INTerrupt Designatio)
n) This register holds the code (INTTYPE) indicating the interrupt type when an interrupt occurs and the end code (LSRETC) of the last synchronous processing executed when a program interrupt occurs in the format shown in FIG.

【0059】INTTYPE には、例えば以下の値の割りつけ
が成される。 0×00〜0×0F:予約されている 0×10 :プログラム割込み 0×11〜0×1F:予約されている 0×20〜0×2F:レベル0〜レベル15の外部割込
み,(L+32)の値がレベルLの外部割込みを示す。 0×30〜0×7F:予約されている 0×80〜0×FF:呼出し番号0×80〜0×FFの
スーパバイザ呼び出し割り込み、SVC命令のIMM値
の下位7ビット+0×80の値がスーパバイザ呼び出し番
号となる。 CR5:INTB(INTerrupt Base address) 割込み発生時に、新たにIC(命令カウンタ)に設定さ
れるアドレスのベースアドレスを保持するレジスタであ
る。割込み発生時には、INTB+INTTYPE*1
6の値がICの新しい値として設定される。 CR6:NPSR(New PSR) 割込み発生時に、新たにPSRに設定される値を保持す
るレジスタである。 CR7〜CR31 他のプログラム動作環境を規定するパラメータを保持す
るレジスタとして使用される。 非同期処理キュー複写レジスタ(Asynchronous Pro
cess Copy Register) プログラム割込みの発生時、非同
期動作の終了待ち後の非同期処理キューの内容が複写さ
れるレジスタである。1本64ビット長で、32本の非
同期処理キュー複写レジスタがある。ただし、APCR
Oは、常に0を保持する。各APCRは、次の形式を持
つ。
The following values are assigned to INTTYPE, for example. 0x00-0x0F: Reserved 0x10: Program interrupt 0x11-0x1F: Reserved 0x20-0x2F: Level 0-level 15 external interrupt, (L + 32) Indicates a level L external interrupt. 0x30 to 0x7F: Reserved 0x80 to 0xFF: Supervisor call interrupt of call number 0x80 to 0xFF, lower 7 bits of IMM value of SVC instruction + 0x80 value is supervisor It will be the calling number. CR5: INTB (INTerrupt Base Address) This register holds the base address of the address newly set in the IC (instruction counter) when an interrupt occurs. When an interrupt occurs, INTB + INTTYPE * 1
The value of 6 is set as the new value of the IC. CR6: NPSR (New PSR) This register holds the value newly set in PSR when an interrupt occurs. CR7 to CR31 Used as a register for holding parameters defining other program operating environment. Asynchronous Pro Copy Register (Asynchronous Pro
cess Copy Register) When a program interrupt occurs, the contents of the asynchronous process queue after waiting for the end of asynchronous operation are copied. There are 32 asynchronous process queue copy registers, each 64 bits long. However, APCR
O always holds 0. Each APCR has the following format.

【0060】また、RTN(ReturN) 命令の実行時に、
OLEPが0 でない時には、APCR1 〜APCR(OLEP)の内容が非
同期処理キューに書き込まれる。4−2 命令バッファ 通常のCPUの命令バッファと同じ、実行する命令は、
この命令バッファにいったん取り込まれる。主記憶から
命令バッファへの命令の読み込みは、通常の計算機と同
じ。4−3 命令実行制御部 命令の実行および割込みの制御を行うユニットである。
分岐を含む命令フェッチの制御、命令のデコード、処理
の実行制御、割込み動作の制御、割込み動作を行う。命
令実行制御部の動作については、/5/を参照。
When the RTN (ReturN) instruction is executed,
When OLEP is not 0, the contents of APCR1 to APCR (OLEP) are written to the asynchronous processing queue. 4-2 Instruction buffer The instruction to be executed is the same as the instruction buffer of a normal CPU.
It is fetched into this instruction buffer once. Reading instructions from the main memory to the instruction buffer is the same as a normal computer. 4-3 Instruction execution control unit This is a unit that executes instructions and controls interrupts.
It controls instruction fetch including branching, instruction decoding, process execution control, interrupt operation control, and interrupt operation. For the operation of the instruction execution control unit, see / 5 /.

【0061】命令実行制御部は、以下のレジスタを内蔵
する。 IC(Instrcution Counter) :命令カウンタ 次に実行すべき命令のアドレスを示すカウンタである。 SRETC(Synchronous process RETurn code) 同期処理の終了コードを保持するレジスタである。 SVCC(SVC Code) 直前に実行されたSVC 命令のSVC コードを保持するレジ
スタである。4−4 同期処理実行部 命令実行制御部の指示により同期処理を実行する部分で
ある。処理の実行結果に応じて、CR中のSRETC (Synchr
onous process RETurn code )を設定する。4−5 非同期処理キュー 実行中の非同期処理、および命令により開始され実行待
ちの非同期処理が保持されるキューである。APQE1 〜AP
QE31の31個のエントリが存在する。各エントリは、命令
コード、終了コード( RETC:8ビット長) 、実行ID(EXID
:EXecutionID)から構成される。
The instruction execution control unit contains the following registers. IC (Instrcution Counter): instruction counter A counter that indicates the address of the next instruction to be executed. SRETC (Synchronous process RETurn code) This register holds the end code of synchronous processing. SVCC (SVC Code) This register holds the SVC code of the SVC instruction executed immediately before. 4-4 Synchronous process execution part This part executes synchronous process according to an instruction from the instruction execution control part. Depending on the execution result of the process, SRETC (Synchr
onous process RETurn code) is set. 4-5 Asynchronous processing queue This queue holds the asynchronous processing that is being executed and the asynchronous processing that is started by an instruction and is waiting to be executed. APQE1 ~ AP
There are 31 entries for QE31. Each entry has an instruction code, end code (RETC: 8-bit length), execution ID (EXID
: EXecutionID).

【0062】APQE1〜APQE(SEP-1) の範囲のエントリが
実行中である。 APQE(SEP)が次に実行が開始されるエントリである。 APQE(SEP+1)〜 APQE(LEP)が命令により開始されたが実
行待ち状態にあるエントリである。
Entries in the range of APQE1 to APQE (SEP-1) are being executed. APQE (SEP) is the next entry to be executed. APQE (SEP + 1) to APQE (LEP) are entries that have been started by an instruction but are waiting to be executed.

【0063】APQE(LEP+1)が次にエンキューされるエン
トリを示す。 命令バッファ、および開始点ポインタの指すエントリに
対する以下のレジスタ干渉検出機構がある。以下のレジ
スタ干渉検出機構で、命令バッファ中のCR番号が0のと
き、または開始点ポインタの指すエントリ中のGR番号が
0のときは、その領域は比較対象の領域中に含まれない
と判定される。 命令バッファ(IB) ・IB.GRN1 がAPQE1 〜APQE(LEP) のGRN3領域に含まれて
いるか否かの判定機構 ・IB.GRN2 がAPQE1 〜APQE(LEP) のGRN3領域に含まれて
いるか否かの判定機構 ・IB.GRN3 がAPQE1 〜APQE(LEP) のGRN1,GRN2 またはGR
N3領域に含まれているか否かの判定機構 ・IB中の命令がFRを指定する命令の場合も上記3 項目と
同様の判定機構。 ・IB.OPCがCCを変更するか参照する処理のとき、APQE1
〜APQE(LEP) に、CCを変更する処理(OPC) が含まれてい
るか否かの判定機構、IB.OPCがCCをアクセスしない処理
のときには、CCの干渉がないと判定される。 これらの干渉のいずれかが存在する時には、命令実行制
御部へのデータ干渉信号線の値は1となる。 開始点ポインタの指すエントリ(Start Entry)・S
E.GRN1 が APQE1〜APQE(SEP-1) のGRN3領域に含まれて
いるか否かの判定機構、 ・SE.GRN2 が APQE1〜APQE(SEP-1) のGRN3領域に含まれ
ているか否かの判定機構、 ・SE.GRN3 が APQE1〜APQE(SEP-1) のGRN1、GRN2または
GRN3領域に含まれているか否かの判定機構、 ・SE中の命令がFRを指定する命令の場合も上記3項目と
同様の判定機構 ・SE OPCがCCを変更する処理のとき、APQE1 〜APQE(SEP
-1) にCCを変更する処理(OPC) が含まれているか否かの
判定機構、SE.OPCがCCを変更しない処理のときには、CC
の干渉がないと判定される。
APQE (LEP + 1) indicates the entry to be enqueued next. There are the following register interference detection mechanisms for the instruction buffer and the entry pointed to by the starting point pointer. In the register interference detection mechanism below, if the CR number in the instruction buffer is 0 or the GR number in the entry pointed to by the start point pointer is 0, it is determined that the area is not included in the area to be compared. To be done. Instruction buffer (IB) ・ Mechanism for determining whether IB.GRN1 is included in the GRN3 area of APQE1 to APQE (LEP) ・ Whether IB.GRN2 is included in the GRN3 area of APQE1 to APQE (LEP) IB.GRN3 is APQE1 to APQE (LEP) GRN1, GRN2 or GR
Judgment mechanism for whether or not it is included in N3 area ・ Judgment mechanism similar to the above three items when the instruction in IB is an instruction that specifies FR.・ APQE1 when IB.OPC is a process to change or refer to CC
~ APQE (LEP) includes a processing to change CC (OPC) whether or not it is judged. When IB.OPC does not access CC, it is judged that there is no CC interference. When any of these interferences exists, the value of the data interference signal line to the instruction execution control unit becomes 1. Entry pointed to by the start point pointer (Start Entry) S
A mechanism for determining whether E.GRN1 is included in the GRN3 region of APQE1 to APQE (SEP-1), ・ Whether SE.GRN2 is included in the GRN3 region of APQE1 to APQE (SEP-1). Judgment mechanism ・ SE.GRN3 is APQE1 to APQE (SEP-1) GRN1, GRN2 or
Mechanism for judging whether or not it is included in the GRN3 area, ・ Determining mechanism similar to the above three items even if the instruction in SE is an instruction that specifies FR ・ SEQ is APQE1 to APQE when processing is changing CC (SEP
-1) is a mechanism for determining whether or not CC processing (OPC) is included. If SE.OPC does not change CC, CC
It is determined that there is no interference.

【0064】非同期処理キューへのエンキュー及びデキ
ューは、エンキューデキュー制御部により次の様に実行
される。 エンキュー 命令実行制御部が、命令バッファ中の命令が非同期処理
を示すことを検出したとき、命令実行制御部が、エンキ
ューデキュ制御部に、非同期処理のエンキュー要求を発
行する。LEP が31未満のときにはエンキューデキュー制
御部は、LEP に1を加算し、LEP の新しい値の指すエン
トリに命令バッファの内容をコピーする。該当エントリ
のRETCおよびEXIDは0に初期化される。
Enqueuing and dequeuing to the asynchronous process queue are executed by the enqueue dequeue controller as follows. Enqueue When the instruction execution control unit detects that the instruction in the instruction buffer indicates asynchronous processing, the instruction execution control unit issues an enqueue request for asynchronous processing to the enqueue deque control unit. When LEP is less than 31, the enqueue dequeue controller adds 1 to LEP and copies the contents of the instruction buffer to the entry pointed to by the new value of LEP. The RETC and EXID of the corresponding entry are initialized to 0.

【0065】LEP が31のときは、非同期処理キューが1
杯であり、新しいエントリをエンキューすることはでき
ない。このときには、キューのエントリかデキューされ
るまで命令の実行が遅らされる。 デキュー 開始点ポインタ(SEP) より小さいエントリ番号を持つ処
理が、プログラム割込み要因無しに終了したとき、非同
期処理実行制御部はEXIDを指定してエントリのデキュー
をエンキューデキュー制御部に指示する。エンキューデ
キュー制御部は、指定されたEXIDを持つエントリの以降
の全てのエントリを1 つづつ前のエントリにずらし、SE
P とLEP の値をそれぞれ1 ずつ減少させる。4−6 エンキューデキュー制御部 エンキューデキュー制御部は、開始エントリポインタ
(SEP)および最終エントリポインタ(LEP) を保持し、次
の動作を行うハードウェアユニットである。 命令実行制御部からの指示により、命令バッファの
内容をキューの最後尾にエンキューする。 プログラム割込み要因の発生時に、非同期動作の終
了待ちが行われた後、命令実行制御部の指示により、AP
QE1 〜APQE(LEP) の内容をAPCR1 〜APCR(LEP)に複写
し、OLEPにはLEP の値を複写する。その後、LEP に0 、
SEPに1 を設定する。 非同期処理実行制御部が指定したEXIDを、SEP の指
すエントリに書込み、SEP を1 増加させる。 非同期処理実行制御部が指定したEXIDを持つエント
リを、デキューする。 非同期処理実行制御部が指定したEXIDを持つエント
リのRETCに、指定された値を設定する。4−7 非同期処理実行制御部 非同期処理実行制御部は、SEP の指すエントリの開始判
定、開始した処理に対する命令コードとEXIDの処理実行
ユニットへの送付および処理の実行開始の制御、および
非同期処理の終了時の制御を行う。非同期処理実行制御
部の動作については、/5/ を参照。
When LEP is 31, the asynchronous process queue is 1
Full and cannot enqueue new entries. At this time, the execution of the instruction is delayed until the queue entry is dequeued. When the process with an entry number smaller than the dequeue start point pointer (SEP) ends without a program interrupt factor, the asynchronous process execution control unit specifies EXID to instruct the enqueue dequeue control unit to dequeue the entry. The enqueue dequeue control block shifts all entries after the entry with the specified EXID to the previous entry, and SE
Decrease the values of P and LEP by 1. 4-6 Enqueue Dequeue Control Unit The enqueue dequeue control unit is a hardware unit that holds the start entry pointer (SEP) and the last entry pointer (LEP) and performs the next operation. The contents of the instruction buffer are enqueued at the end of the queue according to an instruction from the instruction execution control unit. When a program interrupt factor occurs, after waiting for the end of the asynchronous operation, the AP is instructed by the instruction execution control unit.
The contents of QE1 to APQE (LEP) are copied to APCR1 to APCR (LEP), and the value of LEP is copied to OLEP. Then LEP to 0,
Set SEP to 1. The EXID specified by the asynchronous process execution control block is written to the entry pointed to by SEP, and SEP is incremented by 1. Dequeue the entry with the EXID specified by the asynchronous process execution controller. Set the specified value to RETC of the entry with the specified EXID by the asynchronous process execution controller. 4-7 Asynchronous process execution control block The asynchronous process execution control block determines the start of the entry pointed to by SEP, controls the sending of the instruction code and EXID for the started process to the process execution unit, and the execution start of the process. Performs control at the end. For the operation of asynchronous process execution control block, refer to / 5 /.

【0066】非同期処理実行制御部は、以下の2 つの31
ビット長レジスタを保持する。 EXIDB(EXID Busy flag) 各1 ビット長であるEXIDB#1 〜EXIDB#31の31ビットのフ
ラグから成るレジスタである。EXIDB#(X) は、X の値を
EXIDとして持つ非同期処理が使用されているか否かを,
次のように表示する。 0:X の値のEXIDは使用されていない。 1:X の値がEXIDとして使用されている。X の値をEXID
として持つ非同期処理は、実行中であるか、プログラム
割込み要因を検出して終了しているかのいずれかの状態
にある。 EXIDR(EXID interRupt flag) 各1 ビット長であるEXIDR#1 〜EXIDR#31の31ビットのフ
ラグから成るレジスタである。EXIDR#(X) は、X の値を
EXIDとして持つ非同期処理がプログラム割込み要因を検
出して終了しているか否かを次のように表示する。 0:X の値のEXIDを持つ処理は、存在しないか実行中で
ある。 1:X の値がEXIDとして持つ処理は、プログラム割込み
要因を検出して終了している。
The asynchronous process execution control unit is composed of the following two 31
Holds the bit length register. EXIDB (EXID Busy flag) This register consists of 31-bit flags EXIDB # 1 to EXIDB # 31, each of which is 1-bit long. EXIDB # (X) sets the value of X
Whether asynchronous processing with EXID is used,
Display as follows. 0: EXID of value X is not used. The value of 1: X is used as EXID. EXID the value of X
Asynchronous processing that has is in a state of either being executed or ended by detecting a program interrupt factor. EXIDR (EXID interRupt flag) This register consists of 31-bit flags EXIDR # 1 to EXIDR # 31 each having a 1-bit length. EXIDR # (X) sets the value of X
Displays whether or not the asynchronous processing that has EXID is detected by detecting the program interrupt factor and ended. A process having an EXID value of 0: X does not exist or is being executed. The processing that the value of 1: X has as EXID ends after detecting the program interrupt factor.

【0067】非同期処理実行制御部は、命令実行制御部
からの次の信号を入力し、その信号が1のとき規定され
た動作を行う。 非同期処理リセット信号 この信号が入力されると、規定されたタイミングで非同
期処理実行制御部は、次の動作を行う。 ・ EXIDBに0 を設定する。 ・ EXIDBに0 を設定する。
The asynchronous process execution control section inputs the next signal from the instruction execution control section, and when the signal is 1, performs the specified operation. Asynchronous process reset signal When this signal is input, the asynchronous process execution control unit performs the following operation at the specified timing. -Set EXIDB to 0. -Set EXIDB to 0.

【0068】また、非同期処理実行制御部は、命令実行
制御部に次の2種類の信号を送出する。 非同期処理プログラム割込み信号 EXIDR#1 〜 EXIDR#31 の全てのビットの論理和の値をと
る信号である。プログラム割込み要因を検出して終了し
た非同期処理が存在するか否かを次のように表示する。 0:プログラム割込み要因を検出して終了している非同
期処理は無い。 1:プログラム割込み要因を検出して終了している非同
期処理が存在する。 非同期処理停止信号 実行中の非同期処理が存在せず、また非同期処理実行制
御部が非同期処理キュー中の処理を新たに開始しない状
態となったときに1 となる信号である。この信号は、次
の条件で1 となる。
Further, the asynchronous process execution control section sends the following two types of signals to the instruction execution control section. Asynchronous processing program interrupt signal This signal takes the logical OR value of all bits of EXIDR # 1 to EXIDR # 31. The following is displayed whether or not there is an asynchronous process that has ended by detecting a program interrupt factor. 0: There is no asynchronous processing that has ended by detecting a program interrupt factor. 1: There is an asynchronous process that ends after detecting a program interrupt factor. Asynchronous process stop signal This signal is 1 when there is no asynchronous process being executed and the asynchronous process execution control unit is in a state where it does not newly start the process in the asynchronous process queue. This signal becomes 1 under the following conditions.

【0069】(LEP が0)または(EXIDBが全て0 でなくか
つ EXIDBとEXIDR が等しい) 4−8 非同期処理実行ユニット 非同期処理実行制御部の指示により、特定の非同期処理
を実行するユニット群である。以下の動作を行う。 非同期処理実行制御部から、命令コードとESIDが送
られ処理の実行を開始する。 処理の終了時に、EXIDとRETCを非同期処理実行制御
部に通知する。
(LEP is 0) or (EXIDB is not all 0 and EXIDB and EXIDR are equal) 4-8 Asynchronous process execution unit A unit group that executes a specific asynchronous process according to an instruction from the asynchronous process execution control unit. . The following operations are performed. An instruction code and ESID are sent from the asynchronous process execution control unit to start the process. At the end of the process, EXID and RETC are notified to the asynchronous process execution control unit.

【0070】次に図11,図12を用いて第1の実施例
の命令実行制御用の動作を説明する。まず、図において
[A]から開始し、ICの指すアドレスから4バイトを
命令バッファに読み込む。次に命令読み込みに関するプ
ログラム割り込み要因が発生したかを判断し、YESな
らSRETCに発生したプログラム割り込み要因に対応
する値を出力する。NOなら割り込み動作の開始要因が
無いときは[B]へ移る。割り込み動作の開始要因と
は、 SRETCが0でない。 非同期処理プログラム割り込み信号が1 SVCCが0でない。 EALより大きいレベルの外部割り込み信号が存在
する。である。
Next, the operation for controlling instruction execution of the first embodiment will be described with reference to FIGS. First, in the figure, starting from [A], 4 bytes are read into the instruction buffer from the address indicated by the IC. Next, it is judged whether or not a program interrupt factor relating to instruction reading has occurred, and if YES, a value corresponding to the program interrupt factor generated in SRETC is output. If NO, the process moves to [B] when there is no factor for starting the interrupt operation. SRETC is not 0 as a factor for starting the interrupt operation. Asynchronous processing program interrupt signal is 1 SVCC is not 0. There is an external interrupt signal at a level greater than EAL. Is.

【0071】次に割り込み動作の開始要因が有りるとき
は、命令バッファ中のOPCが非同期処理を指定してい
るかを判断し、YESのときは命令バッファ中のOPC
が定義されない処理を指定する。
Next, when there is a factor for starting the interrupt operation, it is judged whether or not the OPC in the instruction buffer specifies asynchronous processing, and if YES, the OPC in the instruction buffer.
Specifies a process for which is not defined.

【0072】この指定がNOであれば命令バッファ中の
命令と非同期処理キュー中のLEPより前のエントリ間
にデータ依存関係があるかを見て、NOであれば同期処
理実行部に処理の実行を指示し、同期処理部が処理の終
了時にSRETCに実行結果を出力し、SVC処理では
SVCCを設定し、実行した処理がICを変更する処理
でないときICに4を加算し、SRETCが0か(同期
処理でプログラム割り込み要因が無かどうか)どうかを
みる。
If this designation is NO, it is checked whether there is a data dependency relationship between the instruction in the instruction buffer and the entry before LEP in the asynchronous processing queue. If NO, the synchronous processing execution unit executes the processing. , The synchronous processing unit outputs the execution result to SRETC at the end of the process, sets SVCC in the SVC process, adds 4 to the IC when the executed process is not the process of changing the IC, and whether SRETC is 0 or not. Check if there is no program interrupt factor in the synchronous processing.

【0073】そしてYESのときは最初にもどる。命令
バッファ中のOPCが定義されない処理を指定するとき
SRETCにOPCの異常を示すコードを設定する。命
令バッファ中のOPCが非同期を指定していないとき、
エンキューデキュー制御部に命令バッファの処理のエン
キューを指令し、非同期処理キューが1バイトかをみ
て、NOならICに4を加えて、最初にもどる。
If YES, the process returns to the beginning. When specifying a process in which OPC in the instruction buffer is not defined, a code indicating an OPC abnormality is set in SRETC. When OPC in the instruction buffer does not specify asynchronous,
The enqueue dequeue control unit is instructed to enqueue the processing of the instruction buffer, and if the asynchronous processing queue is 1 byte, if NO, add 4 to IC and return to the beginning.

【0074】次に図12に示すように、[B]の処理
は、非同期処理停止信号が0かどうかを判断し、YES
のときSRETCが0でない、または非同期処理プログ
ラム割り込み信号が1であるかを判断し、NOであるな
らSVCCが0かを見て、NOであるならINTTYP
EにSVCCを複写し、SVCCに0を設定し、OPS
R←PSR,PSR←NPSR(但し、EALの値は無
変更)とする。
Next, as shown in FIG. 12, in the processing of [B], it is judged whether or not the asynchronous processing stop signal is 0, and YES.
If SRETC is not 0 or the asynchronous processing program interrupt signal is 1, it is determined whether SVCC is 0 if NO, and INTTYPE if NO.
Copy SVCC to E, set 0 to SVCC, OPS
R ← PSR, PSR ← NPSR (however, the value of EAL is unchanged).

【0075】SVCCが0のとき、最もレベルの高い存
在する外部割り込み信号を選択し、選択したレベルをL
とする。そして、OPSR←PSR,INTTYPE←
L+0×20,PSR←NPSR(但し、EALにはLを
設定)とし、OIC←IC,IC←INTB+INTT
YPE*16として、[A]へもどる。
When SVCC is 0, the existing external interrupt signal having the highest level is selected, and the selected level is set to L.
And And OPSR ← PSR, INTTYPE ←
L + 0 × 20, PSR ← NPSR (L is set to EAL), OIC ← IC, IC ← INTB + INTT
Return to [A] as YPE * 16.

【0076】SRETCが0でないかまたは非同期処理
プログラム割り込み信号が1であるときSVCCが0で
ないとき、ICを4減算し、SVCCを0にする。そし
て、エンキューデキュー制御部に非同期処理キューの非
同期処理キュー複写レジスタへの複写および初期化を指
示し、エンキューデキュー制御部はAPQE#1〜APQE#(LEP)
を、APCR#1〜APCE#(LEP)に複写する。また、OLEPにLEP
を複写後、LEP に0,SEP に1を設定する。非同期処理
リセット信号に一定時間1を出力し、この間に、非同期
処理実行制御部は、EXIDB およびEXIDR を共に0にす
る。SRETC をLSRETCに複写し、また、INTTYPE に0×10
を設定する。
When SRECC is not 0 or when SVCC is not 0 when the asynchronous processing program interrupt signal is 1, IC is decremented by 4 to set SVCC to 0. Then, the enqueue dequeue control unit is instructed to copy and initialize the asynchronous process queue to the asynchronous process queue copy register, and the enqueue dequeue control unit APQE # 1 to APQE # (LEP).
Is copied to APCR # 1 to APCE # (LEP). Also, LEP to OLEP
After copying, set LEP to 0 and SEP to 1. 1 is output to the asynchronous process reset signal for a certain period of time, and during this period, the asynchronous process execution control unit sets EXIDB and EXIDR to 0. Copy SRETC to LSRETC, and INTTYPE 0x10
To set.

【0077】そして、OPSR←PSR ,PSR←NPSR但し、EAL
の値は無変更とする。次に図13を用いて非同期処理実
行制御部の動作を説明する。SEP <=LEP かつEXIDR =
0のとき、SEP の指すエントリ中の命令と非同期処理キ
ューのSEP より前のエントリ間にデータ依存関係が無
く、該当処理を実行する非同期処理ユニットが処理を開
始できる状態にあるかを判断する。YESならば、EXID
B #1 〜EXIDB #31のうち、0を保持する最も番号の低
いフラグを認識する。この番号XをSEP の指すエントリ
のEXIDとして割り当てる。
Then, OPSR ← PSR, PSR ← NPSR where EAL
The value of is unchanged. Next, the operation of the asynchronous process execution controller will be described with reference to FIG. SEP <= LEP and EXIDR =
When it is 0, it is determined whether there is no data dependency between the instruction in the entry pointed to by SEP and the entry prior to SEP in the asynchronous processing queue, and the asynchronous processing unit executing the corresponding processing is in a state where it can start processing. If YES, EXID
Of B # 1 to EXIDB # 31, the lowest numbered flag holding 0 is recognized. This number X is assigned as the EXID of the entry pointed to by SEP.

【0078】EXIDB #X に1を設定する。 SEP の指すエントリの内容に、EXIDとしてX を付加し
て、その処理を実行する非同期処理実行ユニットに送付
する。対応する非同期処理実行ユニットは処理を開始す
る。
EXIDB #X is set to 1. Add X as EXID to the contents of the entry pointed to by SEP and send it to the asynchronous process execution unit that executes the process. The corresponding asynchronous process execution unit starts the process.

【0079】X を付加して、SEP の変更指示をエンキュ
ーデキュー制御部に送信する。エンキューデキュー制御
部は、SEP の指すエントリのEXIDにX を設定後、SEP に
1 を加える。
X is added and the SEP change instruction is transmitted to the enqueue dequeue control unit. The enqueue dequeue controller sets X in the EXID of the entry pointed to by SEP, and then sets it in SEP.
Add 1.

【0080】次に、各非同期処理実行ユニットが送信す
る実行終了処理のEXIDとRECT(終了コード)を受理す
る。受理した全てのEXID−X とRETC−Y の組に対して以
下の処理を行う。
Next, the EXID and RECT (end code) of the execution end process transmitted by each asynchronous process execution unit are accepted. Perform the following process for all the accepted EXID-X and RETC-Y pairs.

【0081】Yが0である(プログラム割込み要因無で
処理が終了)のとき、エンキューデキュー制御部にEXID
−X を持つエントリのデキューを指示する。エンキュー
デキュー制御部は、EXID−X を持つエントリ以降のエン
トリを1つ前のエントリの移動する。SEP およびLEPの
値を1減算する。EXIDB #(X )に0を設定する。
When Y is 0 (processing ends without a program interrupt factor), the EXID is sent to the enqueue dequeue control unit.
Directs dequeuing of entries with -X. The enqueue dequeue control unit moves the entry after the entry having EXID-X to the previous entry. Subtract 1 from the SEP and LEP values. Set EXIDB # (X) to 0.

【0082】Yが0でないとき、エンキューデキュー制
御部にEXID−X を持つエントリのRETCにRETC−Y を設定
する事を指示する。エンキューデキュー制御部はこれを
実行する。EXIDR #(X )に1を設定する。
When Y is not 0, the enqueue dequeue control unit is instructed to set RETC-Y to RETC of the entry having EXID-X. The enqueue dequeue controller does this. Set EXIDR # (X) to 1.

【0083】図11で示したフローの中の[C]におけ
るRTN 命令の処理フローを図14に示す。LEP が0(SE
P は1である)ならPSR ←OPSR,IC←OIC を設定し、エ
ンキューデキュー制御部に非同期キュー複写レジスタの
内容の非同期処理キューへの転送を指示し、エンキュー
デキュー制御部は、APCR#1〜APCR#(OLEP) の内容をAPQE
#1〜APQE#(OLEP) に複写後、LEP ← OLEP を設定する。
そして、[C]の部分の終わりとなり、LEP が0でない
なら、NOP として扱われる。
FIG. 14 shows a processing flow of the RTN instruction in [C] in the flow shown in FIG. LEP is 0 (SE
If P is 1, PSR ← OPSR, IC ← OIC are set, and the enqueue dequeue control unit is instructed to transfer the contents of the asynchronous queue copy register to the asynchronous processing queue. The enqueue dequeue control unit uses APCR # 1 to Change the contents of APCR # (OLEP) to APQE
After copying to # 1 to APQE # (OLEP), set LEP ← OLEP.
Then, at the end of the part [C], and if LEP is not 0, it is treated as NOP.

【0084】次に、本発明に用いられるデータ依存関係
を調べる回路について、図15を参照して説明する。図
15において、全ての非同期キューエントリに対するQB
#X Conflicts IB N1信号をORする事で、IB中のN
1領域に対するデータ依存関係の有無が検出できる。
Next, the data dependency used in the present invention
A circuit for checking is described with reference to FIG. Figure
QB for all asynchronous queue entries at 15
#X Conflicts IB By ORing N1 signal, N in IB
It is possible to detect whether or not there is a data dependency relationship with respect to one area.

【0085】IBのN2領域についても同様 IBのN3領域については、各キューエントリのN1,
N2,N3領域の全てとの比較が行われる。
The same applies to the N2 area of the IB. For the N3 area of the IB, N1 of each queue entry
A comparison is made with all of the N2, N3 regions.

【0086】SBP(開始エントリポインタ)が指すエ
ントリのデータ依存関係の検出については、以下の2種
類の方法が考えられる。 (1) 図15のIBの位置にQB#X(キューエントリ#
X)を置き、QB#XとQB#X1 〜QB#( X−1 )間のデータ依
存関係の検出回路を、各QBに対して設ける方法。 (2) 非同期処理実行開始バッファ(APSB:Asynchro
nous process Start Buffer)を設け、SEPの指すエン
トリをこのAPSBバッファにコピーする。APSBバ
ッファと各QB間に図15に示すようなデータ依存関係
検出回路を設ける。
The following two types of methods can be considered for detecting the data dependency of the entry pointed to by the SBP (start entry pointer). (1) QB # X (queue entry #
X), and a detection circuit for detecting the data dependency between QB # X and QB # X1 to QB # (X-1) is provided for each QB. (2) Asynchronous process execution start buffer (APSB: Asynchro
Nous process Start Buffer) is provided and the entry pointed to by SEP is copied to this APSB buffer. A data dependency detection circuit as shown in FIG. 15 is provided between the APSB buffer and each QB.

【0087】図15において、IBをAPSBに置き換
える。また、LEPおよびそのデコーダをSEPとその
デコーダに置き換える。図7の命令バッファと非同期キ
ューエントリ32個のうちの第#番目の非同期キューエ
ントリとの間の依存関係を調べ、依存関係があればQE
#λ Conflicts IBN1を1とする。
In FIG. 15, IB is replaced with APSB. Also, LEP and its decoder are replaced with SEP and its decoder. The dependency relationship between the instruction buffer of FIG. 7 and the #th asynchronous queue entry of the 32 asynchronous queue entries is checked, and if there is a dependency relationship, QE
# Λ Conflicts IBN1 is set to 1.

【0088】命令バッファに入ってきたものは、もっと
も新しい命令であり、それが過去に入った非同期命令と
の依存関係を調べることとなる。まず命令バッファのO
PCすなち命令の種類をdecodeして調べる。命令はGR
を指定するものとFRを指定するものに分類されてい
る。命令バッファに示されているN1,N2,N3は、
GRのN1,N2,N3またはFRのN1,N2,N3
に対応し、それらはOPCの解読によって明らかにな
る。
The instruction that has entered the instruction buffer is the newest instruction, and the dependency relationship with the asynchronous instruction that has entered in the past will be examined. First, O of the instruction buffer
Decode and check the type of the PC. The instruction is GR
Are classified into those that specify and those that specify FR. N1, N2 and N3 shown in the instruction buffer are
GR N1, N2, N3 or FR N1, N2, N3
, Which are revealed by OPC decryption.

【0089】GRかFRかはOPCの最上位以下をみ
て、OであればGR、1であればFRである。デコード
した出力、例えばIB N1 GRbyOPCは、OP
Cによって解読した結果、N1がGRである場合に1と
なる信号である。N2,N3に対しても同様である。同
様に非同期キューエントリーに入っている命令のOPC
を解読することにより、N1,N2,N3の各フィール
ドがGRであるかFRであるかを判定することができ、
例えばQE#× N3 GR by OPCは非同期キ
ューに入っている×番目の非同期命令はN3フィールド
GRである場合に1となる信号である。以下、同様であ
る。
Whether it is GR or FR is the highest or lower of OPC, and O means GR and 1 means FR. The decoded output, eg IB N1 GRbyOPC, is OP
As a result of being decoded by C, it is a signal which becomes 1 when N1 is GR. The same applies to N2 and N3. Similarly, the OPC of the instruction in the asynchronous queue entry
It is possible to determine whether each field of N1, N2 and N3 is GR or FR by decoding
For example, QE # × N3 GR by OPC is a signal which becomes 1 when the × th asynchronous instruction in the asynchronous queue is the N3 field GR. The same applies hereinafter.

【0090】命令バッファ1B中のN1フィールドをデ
コードし、オール0の検出を行って、0でなければ1B
N1 NOT 0が1となる。N1領域が0の場合に
は、指定された命令はキューイングされている命令とco
nflicts (データ依存関係)はないN1が0のときに
は、N1によって指定されるGROやFROの内容は0
固定だから、データ依存関係はない。逆にいうと、1B
N1 NOT 0が1である場合にはコンフクリトの
可能性があることになる。
The N1 field in the instruction buffer 1B is decoded, all 0s are detected, and if not 0, 1B
N1 NOT 0 becomes 1. If the N1 area is 0, the specified instruction and the queued instruction and co
There is no nflicts (data dependency). When N1 is 0, the contents of GRO and FRO specified by N1 are 0.
Since it is fixed, there is no data dependency. Conversely, 1B
If N1 NOT 0 is 1, there is a possibility of conflict.

【0091】AND1はN1領域がGRであって、N1
の領域が0でないときに1を出力する。同様に、N1領
域がFRであって、かつN1が0でないときにAND2
の出力で1が1となる。
In AND1, the N1 area is GR, and N1
When the area of is not 0, 1 is output. Similarly, when the N1 region is FR and N1 is not 0, AND2
1 becomes 1 at the output of.

【0092】同じことをN3について行う。AND5は
N3領域がGRであって、N3の領域が0でないときに
1を出力する。
The same is done for N3. AND5 outputs 1 when the N3 area is GR and the N3 area is not 0.

【0093】AND6はN3領域がFRであって、N3
の領域が0でないときに1を出力する。ただし、AND
5,6には、ともにAQE#X LEP Validが入力さ
れ、これはキューの最終エントリポインタLEP をデコー
ドした信号であり、非同期処理がまだ実行されていない
#X 番目のエントリが最終エントリポインタよりも、前
にあるまた実行結果がでていないときに、1 となる信号
である。その有効信号をAND5,6の出力は、N3が
GRであってコンフリクトとの可能性のある信号であ
る。
In AND6, the N3 region is FR, and N3 is
When the area of is not 0, 1 is output. However, AND
AQE # X LEP Valid is input to both 5 and 6, which is a signal obtained by decoding the last entry pointer LEP of the queue, and the #Xth entry for which asynchronous processing has not yet been executed is more than the last entry pointer. , A signal that becomes 1 when there is no previous execution result. The outputs of the valid signals AND5 and AND6 are signals in which N3 is GR and there is a possibility of conflict.

【0094】AND3,4は、命令バッファ中にN1が
GRであって、その内容が0でない場合であり、かつま
たそれと同じGRN1がキューイングのN3によって示
されている同じGRであるかどうかを見る。
AND3,4 determines if N1 is a GR in the instruction buffer and its content is non-zero, and also if that same GRN1 is the same GR indicated by N3 in the queuing. to see.

【0095】OPCのN1がGRであって、そのGRが
キューイングされた命令のN3になっているかどうか、
すなわち、N3が非同期キュー処理の結果を入れるGR
命令バッファのN3が非同期キューのN3と同じになっ
ているかを見るただし、AND5,6には、ともにAQ
E#X LEP Validが入力され、これはキューの最終
エントリポインタLEP をデコードした信号であり、非同
期処理がまだ実行されていない#X 番目のエントリが最
終エントリポインタよりも、前にあるまた実行結果がで
ていないときに、1 となる信号である。その有効信号を
AND5,6の出力は、N3がFRであってコンフリク
トとの可能性のある信号である。
Whether N1 of OPC is GR and that GR is N3 of the queued instruction,
That is, GR in which N3 puts the result of asynchronous queue processing
Check if N3 in the instruction buffer is the same as N3 in the asynchronous queue.
E # X LEP Valid is input, and this is the signal obtained by decoding the last entry pointer LEP of the queue. The #Xth entry for which asynchronous processing has not yet been executed is before the last entry pointer. This signal is 1 when is not displayed. The outputs of the valid signals AND5 and AND6 are signals in which N3 is FR and there is a possibility of conflict.

【0096】AND3,4は、命令バッファ中にN1が
FRであって、その内容が0でない場合であり、かつま
たそれと同じGRN1がキューイングのN3によって示
されている同じFRであるかどうかを見る。
AND3,4 determines if N1 is an FR in the instruction buffer and its content is not 0, and also if that same GRN1 is the same FR indicated by N3 in the queuing. to see.

【0097】OPCのN1がFRであって、そのFRが
キューイングされた命令のN3になっているかどうか、
すなわち、N3が非同期キュー処理の結果を入れるFR
命令バッファのN3が非同期キューのN3と同じになっ
ているかを見るAND3と4との出力のORをとること
によはって全体の依存関係有無の信号をつくっている。
ただし、前記AND3,4には、非同期キューエントリ
のN3の内容と命令バッファのN1の内容それぞれ5ビ
ットを比較し、一致していれば、それぞれ1となる信号
がとれる。QE#1N3eqn113N1を条件として
入力している。すなわち、指定されたGRのN1と非同
期キューのGRのN3(結果として使うN3)が一致し
ていれば、データ依存関係がある。
Whether N1 of OPC is FR and that FR is N3 of the queued instruction,
That is, FR in which N3 puts the result of asynchronous queue processing
By ORing the outputs of AND3 and 4 for checking whether N3 of the instruction buffer is the same as N3 of the asynchronous queue, a signal indicating the presence / absence of the entire dependency is created.
However, the AND3 and 4 compare the contents of N3 of the asynchronous queue entry and the contents of N1 of the instruction buffer for 5 bits respectively, and if they match, a signal of 1 is taken. QE # 1N3eqn113N1 is input as a condition. That is, if N1 of the designated GR and N3 of GR of the asynchronous queue (N3 used as a result) match, there is a data dependency relationship.

【0098】F1に関しても同じである。IBのF1と
キューイングのF3 同じであれば、データ依存関係に
あることになる。命令バッファは1個であり、非同期キ
ューは32個であるから図15と同じ回路が32個である
ことになる。
The same applies to F1. If the F1 of the IB and the F3 of the queuing are the same, there is a data dependency relationship. Since there is one instruction buffer and 32 asynchronous queues, 32 circuits are the same as in FIG.

【0099】図16は本発明の第2の実施例を示し、こ
の第2の実施例が図7に示した第1の実施例と異なる点
は、非同期処理キュー複写レジスタを用いるかわりに、
非同期処理キューに非同期処理フリーズ信号を加えて、
非同期処理キューの内容を固定したものである。さら
に、この第2の実施例は、第1の実施例と、FEP ,LEP,
FXIDB ,FXIDR がCRとしてアクセス可能とし、 非
同期処理リセット信号を非同期処理フリーズ信号とし
た点で異なる。
FIG. 16 shows a second embodiment of the present invention. The difference between the second embodiment and the first embodiment shown in FIG. 7 is that instead of using the asynchronous process queue copy register,
Add an asynchronous process freeze signal to the asynchronous process queue,
The contents of the asynchronous process queue are fixed. Further, this second embodiment is different from the first embodiment in that FEP, LEP,
The difference is that FXIDB and FXIDR can be accessed as CR, and the asynchronous process reset signal is an asynchronous process freeze signal.

【0100】図17は第2の実施例における命令実行制
御部の動作を示すフローチャートであり、図12に示し
た第1の実施例のフローチャートと対応するものであ
る。まず、図11の[B]につづいて、非同期処理停止
信号が0かを判断し、YESのときSRETC が0でない、
または非同期処理プログラム割り込み信号が1であるか
を判断し、NOであれば、SVCCが0であるかを判断す
る。SVCCが0でないとき、INTTYPE にSVCCを複写、
SVCCに0を設定し、OPRS←PSR 、PSR ←NPSR但し、EAL
の値は無変更、また、非同期処理プログラム割込みが存
在する場合にはPRS ,FASPには1が設定される。
FIG. 17 is a flow chart showing the operation of the instruction execution control section in the second embodiment, and corresponds to the flow chart of the first embodiment shown in FIG. First, following [B] in FIG. 11, it is determined whether the asynchronous process stop signal is 0, and if YES, SRETC is not 0,
Alternatively, it is determined whether the asynchronous processing program interrupt signal is 1, and if NO, it is determined whether SVCC is 0. When SVCC is not 0, copy SVCC to INTTYPE,
Set SVCC to 0, OPRS ← PSR, PSR ← NPSR However, EAL
The value of is unchanged, or 1 is set in PRS and FASP when there is an asynchronous processing program interrupt.

【0101】SVCCが0のとき、最もレベルの高い存在す
る外部割込み信号を選択する。選択したレベルをLとす
る。OPSR←PSR 、INTTYPE ←L +0×20、PSR ←NPS
R、但しEAL にはL を設定し、OIC ←IC、IC←INTB+INT
TYPE *16として、Aへ戻る。
When SVCC is 0, the existing external interrupt signal having the highest level is selected. Let the selected level be L. OPSR ← PSR, INTTYPE ← L + 0 × 20, PSR ← NPS
R, but set L to EAL, OIC ← IC, IC ← INTB + INT
Return to A as TYPE * 16.

【0102】SRETC が0でない、または非同期処理プロ
グラム割込み信号が1であるときにSVCCが0でなけ
ればICを4減算し、SVCCを0にする。次に、非同期処理
プログラム割込み信号が1であるかを判断し、YESの
とき、非同期処理フリーズ信号を1とし、SRETC をLSRE
TCに複写する。また、INTTYPE に0×10を設定し、OP
SR←PSR 、PSR ←NPSR但し、EAL の値は無変更、また、
非同期処理プログラム割込みが存在する場合には、PSR,
FASPには1が設定される。非同期処理プログラム割り込
み信号が1でないときは、非同期処理フリーズ信号を1
とすることなく、SRETC をLSRBTCに複写する。
When SRETC is not 0, or SVCC is not 0 when the asynchronous processing program interrupt signal is 1, IC is decremented by 4 to set SVCC to 0. Next, it is judged whether the asynchronous processing program interrupt signal is 1, and when YES, the asynchronous processing freeze signal is set to 1 and SRETC is set to LSRE.
Copy to TC. Also, set INTTYPE to 0x10 and OP
SR ← PSR, PSR ← NPSR However, the EAL value is unchanged, and
If an asynchronous processing program interrupt exists, PSR,
FASP is set to 1. If the asynchronous processing program interrupt signal is not 1, set the asynchronous processing freeze signal to 1
And copy SRETC to LSRBTC.

【0103】図18は図11の[C]に示したRTN 命令
の処理フローを第2の実施例に沿って示したもので、第
1の実施例の図14に対応するものである。LEP が0
(SEP は1である)とき、PSR ←OPSR,IC ←OIC を設定
し、LEP が0でないときNOPとして扱われ、[C]の部
分の終わりとなる。
FIG. 18 shows the processing flow of the RTN instruction shown in FIG. 11C according to the second embodiment, and corresponds to FIG. 14 of the first embodiment. LEP is 0
When (SEP is 1), PSR ← OPSR, IC ← OIC is set, and when LEP is not 0, it is treated as NOP, which is the end of the part [C].

【0104】[0104]

【発明の効果】以上述べたように、本発明によれば、非
同期CPU資源使用処理の高速化を図ることができると
ともに、割込みハンドラが使用するような基本的なCP
U資源使用処理の非同期的実行が可能であり、かつ割込
みハンドラの作成が容易な割込み処理方式を提供でき、
更に割込みハンドラが使用するような基本的なCPU資
源使用処理の非同期的実行が可能であり、必要なCPU
資源使用処理依存割込み要因に対しては、対応する割込
みハンドラの処理の終了後、元のプログラムを再開可能
とするための割込み処理方式が可能となる。
As described above, according to the present invention, the speed of asynchronous CPU resource use processing can be increased, and a basic CP used by an interrupt handler can be obtained.
It is possible to provide an interrupt processing method that enables asynchronous execution of U resource usage processing and that makes it easy to create an interrupt handler.
Furthermore, it is possible to asynchronously execute the basic CPU resource usage processing used by the interrupt handler, and the required CPU
For the resource use processing dependent interrupt factor, an interrupt processing method for enabling the original program to be restarted after the processing of the corresponding interrupt handler is completed becomes possible.

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

【図1】従来の計算機のパイプラインを示すタイミング
図である。
FIG. 1 is a timing diagram showing a pipeline of a conventional computer.

【図2】本発明の対象となる非同期CPU資源処理の存
在する計算機のパイプラインを示すタイミング図であ
る。
FIG. 2 is a timing diagram showing a pipeline of a computer in which an asynchronous CPU resource processing is a target of the present invention.

【図3】図2において命令実行制御部と主記憶読み込み
のパイプラインの同期を示すタイミング図である。
FIG. 3 is a timing diagram showing synchronization between an instruction execution control unit and a main memory reading pipeline in FIG.

【図4】プログラムの一例を示す図である。FIG. 4 is a diagram showing an example of a program.

【図5】従来の計算機における図4のプログラムのタイ
ミング図である。
5 is a timing diagram of the program of FIG. 4 in a conventional computer.

【図6】本発明の計算機における図4のプログラムのタ
イミング図である。
FIG. 6 is a timing diagram of the program of FIG. 4 in the computer of the present invention.

【図7】本発明の第1の実施例のハードウェア構成図で
ある。
FIG. 7 is a hardware configuration diagram of the first embodiment of the present invention.

【図8】命令形式を示す図である。FIG. 8 is a diagram showing an instruction format.

【図9】同期処理の終了コードを示す図である。FIG. 9 is a diagram showing an end code of a synchronization process.

【図10】非同期キュー複写レジスタの形式を示す図で
ある。
FIG. 10 is a diagram showing a format of an asynchronous queue copy register.

【図11】第1の実施例における命令実行制御部の動作
を示すフローチャートである。
FIG. 11 is a flowchart showing the operation of the instruction execution control unit in the first embodiment.

【図12】第1の実施例における命令実行制御部の動作
を示すフローチャートである。
FIG. 12 is a flowchart showing the operation of the instruction execution control unit in the first embodiment.

【図13】第1の実施例における非同期処理実行制御部
の動作を示すフローチャートである。
FIG. 13 is a flowchart showing the operation of the asynchronous process execution control unit in the first embodiment.

【図14】第1の実施例におけるRTN 命令の処理を示す
フローチャートである。
FIG. 14 is a flowchart showing processing of an RTN instruction in the first embodiment.

【図15】データ依存関係の検出ハード構成図である。FIG. 15 is a block diagram showing a hardware configuration for detecting data dependency.

【図16】本発明の第2の実施例のハードウェア構成図
である。
FIG. 16 is a hardware configuration diagram of a second embodiment of the present invention.

【図17】第2の実施例における命令実行制御部の一部
を示す図である。
FIG. 17 is a diagram showing a part of an instruction execution control unit in the second embodiment.

【図18】第2の実施例におけるRTN 命令の処理を示す
フローチャートである。
FIG. 18 is a flowchart showing the processing of an RTN instruction in the second embodiment.

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−163144(JP,A) 特開 昭51−854(JP,A) 特開 昭58−101346(JP,A) 特開 昭57−162035(JP,A) ─────────────────────────────────────────────────── ─── Continuation of front page (56) Reference JP 62-163144 (JP, A) JP 51-854 (JP, A) JP 58-101346 (JP, A) JP 57- 162035 (JP, A)

Claims (22)

【特許請求の範囲】[Claims] 【請求項1】 命令バッファに格納された命令が同期処
理か非同期処理かを判断し、非同期処理である場合に
は、前記命令をキューイングするキューイング手段と、 前記キューイングされている命令が指定するレジスタ
と、前記入力された命令が指定するレジスタとが同じレ
ジスタであるかをチェックすることにより、データの依
存関係をチェックするデータ依存関係チェック手段と、 該データ依存関係を調べながら同期と非同期処理を行う
制御手段とからなることを特徴とする命令処理装置。
1. A queuing unit that determines whether an instruction stored in an instruction buffer is a synchronous process or an asynchronous process, and if the instruction is an asynchronous process, a queuing unit for queuing the instruction, and the queued instruction Data dependency checking means for checking data dependency by checking whether the register designated and the register designated by the input instruction are the same register, and synchronizing while checking the data dependency. An instruction processing device comprising: a control unit that performs asynchronous processing.
【請求項2】 命令バッファに格納された命令が同期処
理か非同期処理かを判断し、非同期処理である場合に
は、前記命令をキューイングするキューイング手段と、 同期処理部または非同期処理部で割り込みが発生した場
合、またはCPU外部からの割り込みが検出された場合
に、キューイング済みの1個以上の非同期処理が未処理
のまま終了または例外を発生して終了することがあり、
このとき割り込み発生前のプログラムを再開できるよう
に、未処理または例外を発生した全ての非同期処理の内
容および終了方法(未実行または例外の種類)を割り込
み発生時にプログラムに表示する手段とからなることを
特徴とする割り込み処理方式。
2. A queuing means for deciding whether an instruction stored in an instruction buffer is a synchronous processing or an asynchronous processing, and if the instruction is an asynchronous processing, a queuing means and a synchronous processing section or an asynchronous processing section. When an interrupt occurs or an interrupt from the outside of the CPU is detected, one or more queued asynchronous processes may end unprocessed or end with an exception,
At this time, it should consist of a means to display the contents of all unprocessed or exception-caused asynchronous processes and the termination method (unexecuted or exception type) in the program when an interrupt occurs so that the program before the interrupt occurred can be restarted. Interrupt handling method characterized by.
【請求項3】 前記表示する手段は前記キューイング手
段とは別のレジスタにキューイング内容を退避させる手
段を含むことを特徴とする請求項2に記載の割り込み処
理方式。
3. The interrupt processing method according to claim 2, wherein the displaying means includes means for saving the queuing contents in a register different from the queuing means.
【請求項4】 前記表示する手段は前記キューイング手
段の内容をフリージング(固定)する手段を含むことを
特徴とする請求項2記載の割り込み処理方式。
4. The interrupt processing system according to claim 2, wherein the displaying means includes means for freezing (fixing) the contents of the queuing means.
【請求項5】 命令バッファに格納された命令が同期処
理か非同期処理かを判断し、非同期処理である場合に
は、前記命令をキューイングするキューイング手段と、 同期処理部または非同期処理部で割り込みが発生した場
合、またはCPU外部からの割り込みが検出された場合
に、キューイング済みの1個以上の非同期処理が未処理
のまま終了または例外を発生して終了することがあり、
このとき割り込み発生前のプログラムを再開できるよう
に、未処理または例外を発生した全ての非同期処理の内
容および終了方法(未実行または例外の種類)を割り込
み発生時にプログラムに表示する手段と、 割り込み発生時に示された未処理および例外を発生して
終了した非同期処理の再開制御手順を有することを特徴
とする割り込み処理方式。
5. A queuing means for deciding whether an instruction stored in an instruction buffer is a synchronous processing or an asynchronous processing, and if the instruction is an asynchronous processing, a queuing means for queuing the instruction, and a synchronous processing section or an asynchronous processing section. When an interrupt occurs or an interrupt from the outside of the CPU is detected, one or more queued asynchronous processes may end unprocessed or end with an exception,
At this time, in order to restart the program before the interrupt occurred, a method to display the contents of all asynchronous processing that has not processed or an exception and the termination method (type of unexecuted or exception) in the program when the interrupt occurred, and An interrupt processing method characterized by having a resuming control procedure for unprocessed and asynchronous processing that has ended by generating an exception as indicated at times.
【請求項6】 命令バッファに格納された命令が同期処
理か非同期処理かを判断し、非同期処理である場合に
は、前記命令をキューイングするキューイング手段と、 前記キューイングされている命令が指定するレジスタ
と、前記入力された命令が指定するレジスタとが同じレ
ジスタであるかをチェックすることにより、データの依
存関係をチェックするデータ依存関係チェック手段と、 非同期処理キュー内の処理と、その処理より先に非同期
処理キューにキューイングされた処理との間のデータの
依存関係をチェックする手段を備えることにより、入力
された命令列のデータ依存関係を保ちつつ命令で指定さ
れた処理を実行する処理装置であって、かつ同期処理部
または非同期処理部で割り込みが発生した場合、または
CPU外部からの割り込みが検出された場合に、キュー
イング済みの1個以上の非同期処理が未処理のまま終了
または例外を発生して終了することがあり、このとき割
り込み発生前のプログラムを再開できるように、未処理
または例外を発生した全ての非同期処理の内容および終
了方法(未実行または例外の種類)を割り込み発生時に
プログラムに表示する非同期処理キューイング内容保存
手段とからなることを特徴とする割り込み処理方式。
6. A queuing unit for deciding whether an instruction stored in an instruction buffer is a synchronous process or an asynchronous process and queuing the instruction when the instruction is an asynchronous process, and the queued instruction Data dependency checking means for checking data dependency by checking whether the designated register and the register designated by the input instruction are the same register, a process in the asynchronous process queue, and By providing a means for checking the data dependency relationship with the process queued in the asynchronous process queue before the process, the process specified by the instruction is executed while maintaining the data dependency relationship of the input instruction sequence. If an interrupt occurs in the synchronous processing unit or the asynchronous processing unit, or if it is an external processor. If only one or more of the asynchronous processes that have been queued are unprocessed, they may end or end with an exception, so that the program before the interrupt occurred may be restarted. An interrupt processing method characterized by comprising an asynchronous processing queuing content storage means for displaying in a program the content and termination method (type of unexecuted or exception) of all asynchronous processing in which processing or exception has occurred.
【請求項7】 命令バッファに格納された命令が同期処
理か非同期処理かを判断し、非同期処理である場合に
は、前記命令をキューイングするキューイング手段と、 前記キューイングされている命令が指定するレジスタ
と、前記入力された命令が指定するレジスタとが同じレ
ジスタであるかをチェックすることにより、データの依
存関係をチェックするデータ依存関係チェック手段と、 非同期処理キュー内の処理と、その処理より先に非同期
処理キューにキューイングされた処理との間のデータの
依存関係をチェックする手段を備えることにより、入力
された命令列のデータ依存関係を保ちつつ命令で指定さ
れた処理を実行する処理装置であって、かつ同期処理部
または非同期処理部で割り込みが発生した場合、または
CPU外部からの割り込みが検出された場合に、キュー
イング済みの1個以上の非同期処理が未処理のまま終了
または例外を発生して終了することがあり、このとき割
り込み発生前のプログラムを再開できるように、未処理
または例外を発生した全ての非同期処理の内容および終
了方法(未実行または例外の種類)を保存し割り込み発
生時にプログラムに表示する非同期処理キューイング内
容保持手段と、 割り込み発生時に未処理および例外を発生して終了した
非同期処理の再開制御手順を有することを特徴とする割
り込み処理方式。
7. The queuing means for queuing the instruction stored in the instruction buffer to determine whether the instruction is synchronous processing or asynchronous processing, and if the instruction is asynchronous processing, the queued instruction is Data dependency checking means for checking data dependency by checking whether the designated register and the register designated by the input instruction are the same register, a process in the asynchronous process queue, and By providing a means for checking the data dependency relationship with the process queued in the asynchronous process queue before the process, the process specified by the instruction is executed while maintaining the data dependency relationship of the input instruction sequence. If an interrupt occurs in the synchronous processing unit or the asynchronous processing unit, or if it is an external processor. If only one or more of the asynchronous processes that have been queued are unprocessed, they may end or end with an exception, so that the program before the interrupt occurred may be restarted. Asynchronous processing queuing content holding means that saves the contents and termination method (type of unexecuted or exception) of all asynchronous processing that generated processing or exception, and displays them in the program when an interrupt occurs; An interrupt processing method characterized by having a control procedure for resuming asynchronous processing that has occurred and ended.
【請求項8】(1)レジスタ等のCPU資源からの入
力、CPU資源への出力、またはその双方を行う処理
(CPU資源使用処理)が同期CPU資源使用処理と非
同期CPU資源使用処理の2種類に分類され、その各々
の実行は、 同期CPU資源使用処理を、処理を指令する命令に
より開始し、命令の実行と同期して実行し、命令の実行
終了時には、その命令により開始した同期CPU資源使
用処理を、終了して、 非同期CPU資源使用処理を、処理を指定する命令
により開始し、命令の実行とは非同期的に実行し、命令
の実行終了以降に、その命令により開始した非同期CP
U資源使用処理を終了する、同期命令・非同期命令の処
理手段と、 (2)該処理手段がCPU資源に出力を行う非同期CP
U資源使用処理(先行処理)を命令により開始したと
き、該処理を開始した命令より後で発行する命令で開始
するCPU資源使用処理(後行処理)で先行処理の資源
への出力を入力として使用するとき、すなわち、データ
依存関係があるときは、後行処理での資源の入力が先行
処理での該資源への出力が終了するまで待たされ、 CPU資源使用処理(後行処理)がある資源への出力を
行う場合には、該処理より先に開始された全てのCPU
資源使用処理(先行処理)による該資源へのアクセス
(入力および出力の両者)が終了してから、後行処理は
該資源への出力を行い、 後行処理が同期CPU資源使用処理の場合には、先行処
理での関係する資源へのアクセスが終了するまで後行処
理を指定する命令の実行終了を遅らせ、すなわち、プロ
グラムカウンタを、その後行処理を開始する命令を指し
たままとし、 後行処理が非同期CPU資源使用処理の場合には、後行
処理を開始する命令の実行終了を前の処理の該資源への
関係するアクセスが終了するまで遅らせても良いし、後
行処理を開始する命令の実行は完了し後行処理を開始す
るが、後行処理での該資源へのアクセスを遅らせても良
く、 非同期CPU資源使用処理の実行が開始すると、その入
力が終了するまでは、後続CPU資源使用処理での該資
源への出力を待たせるデータ依存関係処理手段と、 (3)さらに前記処理手段が実行中のCPU資源使用処
理で前記CPU資源使用処理依存割り込み要因が検出さ
れたとき、または外部割り込み等の実行中のCPU資源
使用処理の実行結果に直接依存せずに発生する割込(C
PU資源使用処理無依存割り込み)の割り込み要因が検
出されたときには、 (A)新 たな命令の実行は開始しないが、実行中の命令
およびすでに実行が開始されている非同期CPU資源使
用処理は継続して実行し、実行可能な非同期CPU資源
使用処理が終了し非同期CPU資源使用処理の状態が変
化しなくなるのを待たせるよう指示する状態待ち手段
と、 (B)該状態待ち手段によるCPU資源使用処理の終了
待ちを実行後には、割り込み動作の開始時に実行中であ
った全ての非同期CPU資源使用処理を終了するよう前
記処理手段に指示する非同期CPU資源使用処理終了手
段と、 同期CPU資源使用処理の場合は、その処理を開始する
命令の実行終了時に終了し、前記状態待ち手段から指示
があったとき実行中であった同期CPU資源使用処理も
終了する同期CPU資源使用処理終了手段とからなる割
り込み処理方式。
8. (1) There are two types of processing (CPU resource use processing) for performing input from CPU resources such as registers, output to CPU resources, or both (synchronous CPU resource use processing). Each execution of the synchronous CPU resource use processing is started by an instruction that directs the processing, and is executed in synchronization with the execution of the instruction. At the end of the execution of the instruction, the synchronous CPU resource use processing started by the instruction is executed. End the use process, start the asynchronous CPU resource use process by an instruction that specifies the process, execute the process asynchronously with the execution of the command, and start the asynchronous CP by the command after the execution of the command
A synchronous instruction / asynchronous instruction processing means for terminating the U resource use processing, and (2) an asynchronous CP for outputting the CPU resource by the processing means.
When a U resource use process (preceding process) is started by an instruction, the output to the resource of the preceding process is used as an input in the CPU resource use process (subsequent process) started by an instruction issued after the command that started the process. When it is used, that is, when there is a data dependency, the input of the resource in the subsequent process is made to wait until the output to the resource in the preceding process is completed, and there is the CPU resource use process (subsequent process). When outputting to resources, all CPUs started prior to the processing
When access to the resource (both input and output) by the resource use process (preceding process) is completed, the subsequent process outputs to the resource, and when the subsequent process is the synchronous CPU resource use process Delays the end of execution of the instruction specifying the subsequent processing until the access to the related resource in the preceding processing is completed, that is, the program counter is kept pointing to the instruction to start the subsequent processing, and When the process is an asynchronous CPU resource use process, the end of execution of the instruction to start the subsequent process may be delayed until the related access to the resource of the previous process is completed, or the subsequent process is started. Although the execution of the instruction is completed and the subsequent processing is started, the access to the resource in the subsequent processing may be delayed. When the execution of the asynchronous CPU resource use processing is started, the subsequent processing is continued until the input is completed. CP A data dependency processing unit to wait an output to said resource in the resource use processing, (3) further when said processing means said CPU resource using process dependent interruption factor in CPU resource using process being executed is detected, Alternatively, an interrupt that occurs without directly depending on the execution result of the CPU resource use process during execution of an external interrupt or the like (C
When the interrupt source PU resource use process-independent interruption) is detected, (A) but does not begin execution of the new was Do instruction, the asynchronous CPU resource using process instructions and already running running is started Waiting means for instructing to wait until the state of the asynchronous CPU resource use process stops changing after the executable asynchronous CPU resource use process ends
If, (B) said After executing the wait for end of the CPU resource using process by state waiting means, prior to terminate all the asynchronous CPU resource using process was running at the beginning of the interrupt operation
Asynchronous CPU resource use processing termination means for instructing the processing means, and, in the case of synchronous CPU resource use processing , terminates at the end of execution of the instruction to start the processing, and instructs from the state waiting means.
An interrupt processing method comprising a synchronous CPU resource use processing ending means for ending the synchronous CPU resource use processing that was being executed when there was an error.
【請求項9】(4)同期CPU資源使用処理の一部、お
よび非同期CPU資源使用処理の一部が、CPU資源使
用処理依存割り込み要因を発生したことを検出するとき
この処理の出力を、後行処理で入力として使用すると、
後行処理の実行結果も期待された実行結果と異なる様に
するCPU資源使用処理依存割り込み制御手段をさらに
具備することを特徴とする請求項8記載の割り込み処理
方式。
(4) When it is detected that a part of the synchronous CPU resource use processing and a part of the asynchronous CPU resource use processing generate a CPU resource use processing dependent interrupt factor, the output of this processing is When used as input in line processing,
9. The interrupt processing system according to claim 8, further comprising CPU resource use processing dependent interrupt control means for making the execution result of the subsequent processing different from the expected execution result.
【請求項10】 前記CPU資源使用処理依存割り込み
要因とは、CPU資源使用処理の実行中に特定の事象が
発生した場合に検出される割り込み要因であり、CPU
資源使用処理依存割り込み要因が検出された処理の出力
が期待された結果であってその出力を後続処理で入力と
して使用する事が期待される結果にならなかった事を示
す割り込み要因であることを特徴とする請求項9記載の
割り込み処理方式。
10. The CPU resource use process dependent interrupt factor is an interrupt factor detected when a specific event occurs during execution of the CPU resource use process.
A resource-use process-dependent interrupt factor is an interrupt factor that indicates that the output of the detected process is the expected result and that the output was not the result that was expected to be used as an input in the subsequent process. The interrupt processing method according to claim 9,
【請求項11】 前記非同期CPU資源使用処理終了手
段は、CPU資源使用処理依存割り込み要因を検出せず
に完了し、処理の出力は、期待された出力とする請求項
8記載の割り込み処理方式。
11. The interrupt processing method according to claim 8, wherein the asynchronous CPU resource use processing termination means completes without detecting a CPU resource use processing dependent interrupt factor, and the processing output is an expected output.
【請求項12】 前記非同期CPU資源使用処理終了手
段は、CPU資源使用処理依存割り込み要因を検出して
実行を終了する請求項8記載の割り込み処理方式。
12. The interrupt processing method according to claim 8, wherein said asynchronous CPU resource use processing termination means detects a CPU resource use processing dependent interrupt factor and terminates execution.
【請求項13】 前記非同期CPU資源使用処理終了手
段は、非同期CPU資源使用処理が先行する処理の資源
への出力を使用する処理であり、先行する処理がCPU
資源使用処理依存割り込み要因を検出し期待された出力
を行わなかったときには、そのCPU資源使用非同期処
理は未実行のまま終了し、未実行で終了した処理の出力
に対するデータ依存関係は、消去される請求項8記載の
記載の割り込み処理方式。
13. The asynchronous CPU resource use process ending means is a process that uses output to a resource of a process preceding the asynchronous CPU resource use process, and the preceding process is a CPU.
When the resource use process dependent interrupt factor is detected and the expected output is not performed, the CPU resource use asynchronous process ends without being executed, and the data dependency relationship with respect to the output of the process that has ended without executing is deleted. The interrupt processing method according to claim 8.
【請求項14】 前記非同期CPU資源使用処理終了手
段は、請求項13で未実行となった処理の出力を入力と
して使用する非同期CPU資源使用処理を、未実行のま
ま終了し、未実行で終了した処理の出力に対するデータ
依存関係を、消去する請求項8記載の割り込み処理方
式。
14. The asynchronous CPU resource use processing ending means ends the asynchronous CPU resource use processing that uses the output of the processing that has not been executed in claim 13 as an input, and ends the processing without executing the asynchronous CPU resource use processing. 9. The interrupt processing method according to claim 8, wherein the data dependency on the output of the processed processing is deleted.
【請求項15】 前記非同期CPU資源使用処理終了手
段は、CPU資源使用処理依存割り込み要因が1個でも
検出されている場合には、すでに命令により開始されて
いる非同期CPU資源使用処理がこの割り込み要因とデ
ータ依存関係が無い場合でも、未実行で終了しても良い
請求項8記載の割り込み処理方式。
15. The asynchronous CPU resource use processing termination means, if at least one CPU resource use processing dependent interrupt cause is detected, the asynchronous CPU resource use processing already started by the instruction causes this interrupt cause. 9. The interrupt processing method according to claim 8, wherein even if there is no data dependency relationship with, the processing may be terminated without being executed.
【請求項16】 前記同期CPU終了手段は、CPU資
源使用処理依存割り込み要因を検出せずに完了した請求
項8記載の割り込み処理方式。
16. The interrupt processing method according to claim 8, wherein the synchronous CPU termination means is completed without detecting a CPU resource use processing dependent interrupt factor.
【請求項17】 前記同期CPU終了手段は、CPU資
源使用処理依存割り込み要因を検出して、処理の実行が
終了する請求項8記載の割り込み処理方式。
17. The interrupt processing method according to claim 8, wherein said synchronous CPU termination means detects a CPU resource use processing dependent interrupt factor and terminates execution of processing.
【請求項18】(C)前記非同期CPU資源使用処理終
了手段から終了の指示があったときに資源使用処理依存
割り込み要因が1個も検出されなかったとき: 割り込み動作を開始させた割込要因は、CPU資源使用
処理無依存割り込み要因であり、割り込み動作を開始さ
せた割り込み要因に対応した割り込みを発生する割り込
み発生手段、前記非同期CPU資源使用処理終了手段から終了の指示
があったときに CPU資源使用処理依存割り込み要因が
1個以上検出されたとき: 割り込み動作を開始させた割り込み要因によらず、CP
U資源使用非同期処理およびCPU資源使用同期処理に
関する情報を、1回のCPU資源使用処理依存割り込み
でプログラムに同時に全て通知する割り込み通知手段を
有し、複合CPU資源使用処理依存割り込みを行い、 (3)の割り込み動作を行うことにより、割り込み発生
後には、割り込み発生前に実行していたプログラムで実
行が開始された非同期CPU資源使用処理が原因となっ
たCPU資源使用処理依存割り込み要因が新たに検出さ
れない事が保証され、また、割り込み発生後には、CP
Uの全資源が解放されている事が保証される(割り込み
発生前に開始された非同期CPU資源使用処理の出力と
なっている為に、CPU資源として使用するCPU資源
使用処理の実行開始が送らされる事がない事が保証され
る)ことを特徴とする請求項8記載の割り込み処理方
式。
18. (C) End of the asynchronous CPU resource use processing
Ryo when resources used process depends interrupt source when there is an end instruction from the means has not detected one: interrupt factor that initiated the interruption operation, Ri CPU resource using process-independent interruption factor der, interrupt generating means for generating an interrupt corresponding to the interrupt factor that initiated the interrupt operation, end instruction from the asynchronous CPU resource using process ending means
When one or more interrupt factors depending on the CPU resource use processing are detected when there is an error, regardless of the interrupt factor that started the interrupt operation, the CP
(3) It has an interrupt notifying means for simultaneously notifying the program of all the information related to the U resource use asynchronous processing and the CPU resource use synchronous processing by one CPU resource use processing dependent interrupt, and performs the composite CPU resource use processing dependent interrupt. By executing the interrupt operation of), after the interrupt occurs, the CPU resource use process dependent interrupt factor newly caused by the asynchronous CPU resource use process started by the program that was executing before the interrupt occurred is newly detected. Is guaranteed, and after an interrupt occurs, CP
It is guaranteed that all resources of U are released. (Because it is the output of the asynchronous CPU resource use process started before the interrupt occurred, the execution start of the CPU resource use process used as the CPU resource is sent. 9. The interrupt processing method according to claim 8, characterized in that it is guaranteed that nothing will happen.
【請求項19】(5)さらに、CPU資源使用処理依存
割り込みが発生したとき、再開期待CPU資源使用処理
依存割り込み要因のみが割り込み要因として依存する場
合には、発生した全ての再開期待CPU資源使用処理依
存割り込みに対する適当な処理の後、元のプログラムを
再開できる可能性があり、 CPU資源使用処理依存割り込みの発生時に、再開期待
CPU資源使用処理依存割り込みを発生した処理および
未実行で終了したCPU資源使用処理の各々に対して、 割り込み元のプログラムに復帰するCPU資源使用
処理を実行すると、指定した再開期待CPU資源使用処
理依存割り込み要因を検出した処理、および未実行で終
了した処理が再実行されるか 割り込み要因処理プログラムが、処理をシミュレー
ションするのに十分な情報を割り込み時にプログラムに
表示し、要因発生元のプログラムの再開が期待されるあ
る種のCPU資源使用処理依存割り込み要因で、割り込
み時に入力データか保存されていることが必要な場合に
は、その割り込み要因の発生時に、その要因を発生した
処理の入力資源を出力先とする後続処理は、全て未実行
で終了させる再開期待CPU資源使用処理割り込み手段
を具備し、 このことにより、再開期待CPU資源使用処理依存割り
込み要因の発生時に、割り込み要因を発生したプログラ
ムを再開できるようにすることを特徴とする請求項8記
載の割り込み処理方式。
(5) Further, when a CPU resource use process dependent interrupt occurs, if only a restart expected CPU resource use process dependent interrupt factor depends as an interrupt factor, all the restart expected CPU resource uses that have occurred. There is a possibility that the original program can be restarted after the appropriate processing for the processing-dependent interrupt, and when the CPU resource usage processing-dependent interrupt occurs, the processing that generated the restart expected CPU resource usage processing-dependent interrupt and the CPU that has not finished executing When the CPU resource use process that returns to the interrupt source program is executed for each resource use process, the process that detects the specified restart expected CPU resource use process dependent interrupt factor and the process that has ended without execution are re-executed. The interrupt factor handler has enough information to simulate the process. Is displayed in the program at the time of an interrupt, and if the input data is required to be saved at the time of the interrupt due to some kind of CPU resource use process-dependent interrupt factor that is expected to restart the program that generated the factor, the interrupt When a factor occurs, the subsequent processes whose output destination is the input resource of the process that generated the factor are equipped with restart expected CPU resource use process interrupt means for ending all unexecuted processing. 9. The interrupt processing method according to claim 8, wherein when a processing-dependent interrupt factor is generated, the program in which the interrupt factor is generated can be restarted.
【請求項20】 一部のCPU資源使用処理保存割り込
み要因は、対応する割り込み要因処理プログラムによる
適当な処理の実行後にその割り込み要因を発生したプロ
グラムの再開が期待されることがあり、ページ不在等の
割り込み要因となり、この種のCPU資源使用処理依存
割り込み要因を、再開期待CPU資源使用処理依存割り
込み要因と呼ぶ請求項19記載の割り込み処理方式。
20. Some CPU resource use processing save interrupt factors may be expected to restart the program that generated the interrupt factors after execution of appropriate processing by the corresponding interrupt factor processing program, such as page absence. 20. The interrupt processing method according to claim 19, wherein the CPU resource use process dependent interrupt factor of this type is called a restart expected CPU resource use process dependent interrupt factor.
【請求項21】(1)レジスタ等のCPU資源からの入
力資源への出力、またはその双方向を行うCPU資源使
用処理を、同期CPU資源使用処理と非同期CPU資源
使用処理の2種類に分類し、 同期CPU資源使用処理は、処理を指令する命令に
より開始され、命令の実行と同期して実行され、命令の
実行終了時には、その命令により開始された同期CPU
資源使用処理を、終了しており、 非同期CPU資源使用処理は、処理を指定する命令
により開始し、命令の実行とは非同期的に実行し、命令
の実行終了以降に、その命令により開始した非同期CP
U資源使用処理を終了する同期命令−非同期命令の処理
手段と、 (2)該処理手段がCPU資源に出力を行う非同期CP
U資源使用処理(先行処理)が命令により開始されたと
き、該当処理を開始した命令より後で発行される命令で
開始されるCPU資源使用処理(後行処理)で先行処理
の資源への出力を入力として使用するときは,後行処理
での資源の入力が先行処理での該当資源への出力が終了
するまで待たされ、 CPU資源使用処理(後行処理)がある資源への出力を
行う場合には、該当処理より先に開始された全てのCP
U資源使用処理(先行処理)による該当資源へのアクセ
ス(入力および出力の両者)が終了してから、後行処理
は該資源への出力を行い、 後行処理が同期CPU資源使用処理の場合には、先行処
理での関係する資源へのアクセスが終了するまで後行処
理を指定する命令の実行終了を遅らせ、プログラムカウ
ンタは、その後行処理を開始する命令を指したままと
し、後行処理が非同期CPU資源使用処理の場合には、
後行処理を開始する命令の実行終了を前の処理の該当資
源への関係するアクセスが終了するまで遅らせても良い
し、後行処理を開始する命令の実行は完了し後行処理を
開始するのが後行処理での該当資源へのアクセスを遅ら
せても良く、 非同期CPU資源使用処理の実行が開始されると、その
実行が終了するまでは、後続CPU資源使用処理での該
当資源への出力を待たせるデータ依存関係処理手段と、 (3)同期CPU資源使用処理の一部、および非同期C
PU資源使用処理の一部は、CPU資源使用処理依存割
り込み要因を発生し、CPU資源使用処理依存割り込み
要因とは、CPU資源使用処理の実行中に特定の事象が
発生した場合に検出される割り込み要因であり、CPU
資源使用処理依存割り込み要因が検出された処理の出力
が期待された結果であってその出力を後続処理で入力と
して使用する事が期待される結果とならなかった事を示
す割り込み要因であり、 CPU資源使用処理依存割り込み要因の検出された処理
の出力を、後行処理で入力として使用すると、後行処理
の実行結果も期待された実行結果と異なる様になし、 (4)実行中CPU資源使用処理でCPU資源使用処理
依存割り込み要因が検出されたとき、または外部割り込
み等の実行中のCPU資源使用処理の実行結果に直接依
存せずに発生する割込(CPU資源使用処理無依存割り
込み)の割り込み要因が検出されたときには、ハードウ
ェアは以下の割り込み動作を行い、(A)新 たな命令の実行は開始しないが、実行中の命令
およびすでに実行が開始されている非同期CPU資源使
用処理は継続して実行し、実行可能な全ての非同期CP
U資源使用処理が終了し非同期CPU資源使用処理の状
態が変化しなくなるのを待たせるよう指示する状態待ち
手段と、 (B)該状態待ち手段によるCPU資源使用処理の終了
待ちを実行後には、割り込み動作の開始時に実行中であ
った全ての非同期CPU資源使用処理は、以下のいずれ
か1つの方法で終了し、 非 CPU資源使用処理依存割り込み要因を検出せず
に完了し、処理の出力は、期待された出力とし、 非 CPU資源使用処理依存割り込み要因を検出して
実行が終了し、 非 非同期CPU資源使用処理が先行する処理の資源
への出力を使用する処理であり、先行する処理がCPU
資源使用処理依存割り込み要因を検出し期待された出力
を行わなかったときには、そのCPU資源使用非同期処
理は未実行のまま終了し、未実行で終了した処理の出力
に対するデータ依存関係は、消去され、 非 非または非で未実行となった処理の出力を入
力として使用する非同期CPU資源使用処理は、未実行
のまま終了し、未実行で終了した処理の出力に対するデ
ータ依存関係は、消去され、 非 CPU資源使用処理依存割り込み要因が1個でも
検出されている場合には、すでに命令により開始されて
いる非同期CPU資源使用処理がこの割り込み要因とデ
ータ依存関係が無い場合でも、未実行で終了するよう前
記処理手段に指示する非同期CPU資源使用処理終了手
段と、 同期CPU資源使用処理の場合は、その処理を開始する
命令の実行終了時に以下のいずれか1つの方法で終了
し、(A)の操作が終了したときに、実行中であった同
期CPU資源使用処理もこれらのいずれかの方法で終了
し、 同 CPU資源使用処理依存割り込み要因を検出せず
完了し、 同 CPU資源使用処理依存割り込み要因を検出し
て、処理の実行が終了す る同期CPU資源使用処理終了
手段と、 (C)(B)でCPU資源使用処理依存割り込み要因が
1個も検出されなかったとき: 割り込み動作を開始させた割り込み要因は、CPU資源
使用処理無依存割り込み要因であり、ハードウェアは、
割り込み動作え開始させた割り込み要因に対応した割り
込みを発生する割り込み発生手段と、 (D)(B)で 資源使用処理依存割り込み要因が1個以
上検出されたとき: 割り込み動作を開始させた割り込み要因によらず、
(B)の非〜非となったCPU資源使用非同期処理
および同となったCPU資源使用同期処理に関する情
報を、1回のCPU資源使用処理依存割り込みでプログ
ラムに同時に全て通知する割り込み通知手段と、 (4)の割り込み動作を行うことにより、割り込み発生
後には、割り込み発生前に実行していたプログラムで実
行が開始された非同期CPU資源使用処理が原因となっ
たCPU資源使用処理依存割り込み要因が新たに検出さ
れない事が保証され、また、割り込み発生後には、CP
Uの全資源が解放されている事が保証され(割り込み発
生前に開始された非同期CPU資源使用処理の出力とな
っている為に、CPU資源として使用するCPU資源使
用処理の実行開始が送らされる事がない事が保証され
る)、 (5)一部のCPU資源使用処理依存割り込み要因処理
プログラムによる適当な処理の実行後にその割り込み要
因を発生したプログラムの再開が期待される事があり
(ページ不在等の割り込み要因)(ここでは、この種の
CPU資源使用処理依存割り込み要因を、再開期待CP
U資源使用処理依存割り込み要因と呼ぶ)、 CPU資源使用処理依存割り込みが発生したとき、再開
期待CPU資源使用処理依存割り込み要因のみが割り込
み要因として存在する場合には、発生した全ての再開期
待CPU資源使用処理依存割り込みに対する適当な処理
の後、元のプログラムを再開できる可能性があり、 CPU資源使用処理依存割り込みの発生時に、再開期待
CPU資源使用処理依存割り込みを発生した処理および
未実行で終了したCPU資源使用処理の各々に対して、
以下のいずれかが可能であるようにする 割り込み元のプログラムに復帰するCPU資源使用
処理を実行すると、指定した再開期待CPU資源使用処
理依存割り込み要因を検出した処理、および未実行で終
了した処理が再実行される、かまたは、 割り込み要因処理プログラムが、処理をシュミレー
ションするのに十分な情報を割り込み時にプログラムに
表示する表示手段と、 因発生元のプログラムの再開が期待されるある種のC
PU資源使用処理依存割り込み要因で、割り込み時に入
力データが保存されていることが必要な場合には、その
割り込み要因の発生時に、その要因を発生した処理の入
力資源を出力先とする後続処理は、全て未実行で終了さ
せる再開期待CPU資源使用処理割り込み手段を具備
し、 このことにより、再開期待CPU資源使用処理依存割り
込み要因の発生時に、割り込み要因を発生したプログラ
ムを再開できるようにすることを特徴とする命令処理装
置。
21. (1) A CPU resource use process for outputting a CPU resource such as a register to an input resource, or bidirectionally outputting the CPU resource is classified into two types: a synchronous CPU resource use process and an asynchronous CPU resource use process. , The synchronous CPU resource use processing is started by an instruction to instruct the processing, is executed in synchronization with the execution of the instruction, and at the end of the execution of the instruction, the synchronous CPU is started by the instruction.
The resource use processing has been completed. Asynchronous CPU resource use processing is started by an instruction that specifies the processing, executed asynchronously with the execution of the instruction, and asynchronously started by the instruction after the execution of the instruction is completed. CP
Synchronous instruction for terminating U resource use processing-processing of asynchronous instruction
Means, and (2) an asynchronous CP in which the processing means outputs to a CPU resource
When the U resource use process (predecessor process) is started by an instruction, the CPU resource use process (subsequent process) started by an instruction issued after the command that started the process outputs the resource to the preceding process resource. When using as an input, the resource input in the subsequent process is waited until the output to the corresponding resource in the preceding process is completed, and the output to the resource with the CPU resource use process (subsequent process) is performed. In this case, all CPs started before the corresponding process
When access (both input and output) to the relevant resource by U resource use processing (preceding processing) is completed, subsequent processing outputs to that resource, and subsequent processing is synchronous CPU resource use processing Delays the execution end of the instruction specifying the subsequent processing until the access to the related resource in the preceding processing is completed, and the program counter keeps pointing to the instruction to start the subsequent processing. Is an asynchronous CPU resource use process,
The end of execution of the instruction to start the subsequent processing may be delayed until the related access to the resource of the previous processing is completed, or the execution of the instruction to start the subsequent processing is completed and the subsequent processing is started. May delay the access to the corresponding resource in the subsequent processing, and when the execution of the asynchronous CPU resource use processing is started, until the execution is completed, the access to the corresponding resource in the subsequent CPU resource use processing is performed. Data dependency processing means for making output wait, (3) Part of synchronous CPU resource use processing, and asynchronous C
A part of the PU resource use process generates a CPU resource use process dependent interrupt factor, and the CPU resource use process dependent interrupt factor is an interrupt detected when a specific event occurs during execution of the CPU resource use process. Factor and CPU
A resource-use process-dependent interrupt factor is an interrupt factor that indicates that the output of the detected process is the expected result, and that the output is not the result that is expected to be used as an input in the subsequent process. When the output of the process in which the resource use process dependent interrupt factor is detected is used as the input in the subsequent process, the execution result of the subsequent process does not differ from the expected execution result. (4) CPU resource use during execution An interrupt (CPU resource use process independent interrupt) that occurs when a CPU resource use process dependent interrupt factor is detected in processing, or that does not directly depend on the execution result of the CPU resource use process being executed, such as an external interrupt when the interrupt source is detected, the hardware performs the following interruption operation, (a) but does not begin execution of the new was do instruction being executed instructions and already Row asynchronous CPU resource using process that has been started and run continuously, all executable asynchronously CP
Wait for status to instruct to wait until the state of asynchronous CPU resource use processing does not change after the U resource use processing ends
And (B) after waiting for the end of the CPU resource use processing by the state waiting means , all asynchronous CPU resource use processing that was being executed at the start of the interrupt operation is performed by one of the following methods. Ends and completes without detecting non-CPU resource use processing dependent interrupt factors. The output of the process is as expected output, execution ends when non-CPU resource use processing dependent interrupt factors are detected, and non-asynchronous CPU The resource use process is a process that uses the output to the resource of the preceding process, and the preceding process is the CPU
When the resource use process dependent interrupt factor is detected and the expected output is not performed, the CPU resource use asynchronous process is terminated without being executed, and the data dependency relationship with respect to the output of the process which is not executed is deleted. Asynchronous CPU resource use processing that uses the output of non-non-executed or non-executed processing as an input ends without being executed, and the data dependency on the output of the non-executed processing is deleted. If at least one CPU resource use process dependent interrupt factor is detected, even if the asynchronous CPU resource use process already started by the instruction has no data dependency relationship with this interrupt factor, it will be terminated without being executed. Previous
Asynchronous CPU resource use processing end instruction to instruct the processing means
In the case of a synchronous CPU resource use process , the synchronization that was being executed when the instruction for starting the process is terminated by one of the following methods and the operation (A) is terminated. The CPU resource use processing is also terminated by one of these methods, and is completed without detecting the CPU resource use processing dependent interrupt factor . When the CPU resource use processing dependent interrupt factor is detected, the processing execution is ended. End of synchronous CPU resource use processing
And no CPU resource use process dependent interrupt factor is detected in (C) and (B): The interrupt factor that started the interrupt operation is the CPU resource use process independent interrupt factor, and Is
Interrupt generation means for generating an interrupt corresponding to the interrupt factor that started the interrupt operation, and when one or more resource use process dependent interrupt factors are detected in (D) and (B) : Interrupt factor that started the interrupt operation Regardless of
(B) interrupt notifying means for notifying all of the information regarding the non-to-non-synchronous CPU resource use asynchronous processing and the same CPU resource use synchronous processing to the program simultaneously by one CPU resource use processing dependent interrupt ; By performing the interrupt operation of (4), after the interrupt occurs, the CPU resource use process dependent interrupt factor caused by the asynchronous CPU resource use process started by the program being executed before the interrupt is newly generated. Is guaranteed not to be detected in the
It is guaranteed that all resources of U are released (Because it is the output of the asynchronous CPU resource use process started before the interrupt occurred, the execution start of the CPU resource use process used as the CPU resource is sent. (5) Some CPU resource use processing-dependent interrupt factor processing programs may be expected to restart the program that generated the interrupt factor after executing appropriate processing ( Interrupt factors such as page absence) (Here, this type of CPU resource use process-dependent interrupt factor
U resource use process dependent interrupt factor), when a CPU resource use process dependent interrupt occurs, if only a restart expected CPU resource use process dependent interrupt factor exists as an interrupt factor, all restart expected CPU resources that have occurred There is a possibility that the original program can be restarted after the appropriate processing for the usage-dependent interrupt, and when the CPU resource usage-dependent interrupt occurs, the processing that generated the restart expected CPU resource usage-dependent interrupt and ended without execution For each CPU resource usage process,
If any of the following is possible: When the CPU resource usage process that returns to the interrupt source program is executed, the process that detected the specified restart expected CPU resource usage process dependent interrupt factor It is re-executed or the interrupt handler program has enough information in the interrupt program to simulate the process.
Certain C to a display means for displaying, resumption of factors originating program is expected
When it is necessary to save the input data at the time of the interrupt due to the PU resource use process dependent interrupt factor, when the interrupt factor occurs, the subsequent process with the input resource of the process that generated the factor as the output destination is In addition, it is possible to restart the program that generated the interrupt factor when the restart expected CPU resource use process interrupting unit is provided, which is a restart expected CPU resource use process interrupting unit that terminates all of the interrupt factors. A characteristic instruction processing device.
【請求項22】 少なくとも、レジスタ等、中央処理装
置(CPU)の資源を使用する処理を指定する命令によ
り開始され、該命令の実行と同期して実行される同期C
PU資源使用処理と、該中央処理装置(CPU)の資源
を使用する処理を指定する命令により開始され、該命令
の実行とは非同期的に実行される非同期CPU資源使用
処理とがあって、 該同期CPU資源使用処理と、非同期CPU資源使用処
理との間、又は非同期CPU資源使用処理間に、データ
依存関係が保たれるように制御され、 上記同期CPU資源使用処理、または、非同期CPU資
源使用処理の実行中に発生する割り込み処理は:プログ
ラム割り込み等、上記中央処理装置(CPU)の資源使
用処理に依存する割り込み要因と、入出力割り込み等、
該中央処理装置(CPU)の資源使用処理に依存しない
割り込み要因による割り込み処理が行われるデータ処理
装置において、 上記割り込み要因の何れかが検出されたとき、そのと
き、中央処理装置(CPU)で実行中の上記同期CPU
資源使用処理/非同期CPU資源使用処理を指示する命
令の終了時点で、次の命令の実行の開始を抑止し、既
に、実行中の複数個の上記非同期CPU資源使用処理の
実行終了を待つと共に、該非同期CPU資源使用処理の
終了条件を記憶しておき、 上記全ての非同期CPU資源使用処理の実行終了時点で
上記非同期CPU資源使用依存の割り込み要因を発生さ
せ、該発生した用意の割り込み処理の終了した時点で、
上記記憶しておいた、該非同期CPU資源使用処理終了
条件に基づいて、該中央処理装置(CPU)のハードウ
ェア状態を復元することを特徴とする割り込み処理方
22. A synchronous C which is started at least by an instruction designating a process using resources of a central processing unit (CPU) such as a register and is executed in synchronization with the execution of the command.
There are a PU resource use process and an asynchronous CPU resource use process that is started by an instruction that specifies a process that uses a resource of the central processing unit (CPU) and that is executed asynchronously with the execution of the instruction. The synchronous CPU resource use process and the asynchronous CPU resource use process are controlled so that a data dependency relationship is maintained between the asynchronous CPU resource use process, and the synchronous CPU resource use process or the asynchronous CPU resource use process. The interrupt processing that occurs during the execution of processing is: an interrupt factor, such as a program interrupt, which depends on the resource use processing of the central processing unit (CPU), an input / output interrupt
When any of the above interrupt factors is detected in a data processing device in which an interrupt process is performed by an interrupt factor that does not depend on the resource use process of the central processing unit (CPU), at that time, the process is executed by the central processing unit (CPU). Above synchronous CPU
At the end of the instruction to instruct the resource use processing / asynchronous CPU resource use processing, the start of execution of the next instruction is suppressed, and while waiting for the end of execution of the plurality of asynchronous CPU resource use processing already being executed, Of the asynchronous CPU resource use processing
An end condition is stored, an interrupt factor dependent on the asynchronous CPU resource use is generated at the end of execution of all the asynchronous CPU resource use processes, and at the time of completion of the prepared interrupt process.
An interrupt processing method for restoring the hardware state of the central processing unit (CPU) based on the stored termination condition of the asynchronous CPU resource use processing.
Law .
JP3080822A 1990-03-19 1991-03-19 Interrupt processing method Expired - Fee Related JPH0786838B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3080822A JPH0786838B2 (en) 1990-03-19 1991-03-19 Interrupt processing method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2-69158 1990-03-19
JP6915890 1990-03-19
JP3080822A JPH0786838B2 (en) 1990-03-19 1991-03-19 Interrupt processing method

Publications (2)

Publication Number Publication Date
JPH04218841A JPH04218841A (en) 1992-08-10
JPH0786838B2 true JPH0786838B2 (en) 1995-09-20

Family

ID=26410355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3080822A Expired - Fee Related JPH0786838B2 (en) 1990-03-19 1991-03-19 Interrupt processing method

Country Status (1)

Country Link
JP (1) JPH0786838B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874879B2 (en) 2010-11-11 2014-10-28 Fujitsu Limited Vector processing circuit, command issuance control method, and processor system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51854A (en) * 1974-06-21 1976-01-07 Hitachi Ltd Deijitarukeisankino senkoseigyohoshiki
JPS57162035A (en) * 1981-03-31 1982-10-05 Fujitsu Ltd Interruption control system
JPS58101346A (en) * 1981-12-11 1983-06-16 Fujitsu Ltd Instruction execution controlling system
US5070475A (en) * 1985-11-14 1991-12-03 Data General Corporation Floating point unit interface

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874879B2 (en) 2010-11-11 2014-10-28 Fujitsu Limited Vector processing circuit, command issuance control method, and processor system

Also Published As

Publication number Publication date
JPH04218841A (en) 1992-08-10

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US5075840A (en) Tightly coupled multiprocessor instruction synchronization
US7020871B2 (en) Breakpoint method for parallel hardware threads in multithreaded processor
US5884060A (en) Processor which performs dynamic instruction scheduling at time of execution within a single clock cycle
US4928226A (en) Data processor for parallelly executing conflicting instructions
US5450560A (en) Pointer for use with a buffer and method of operation
US5611063A (en) Method for executing speculative load instructions in high-performance processors
US5421020A (en) Counter register implementation for speculative execution of branch on count instructions
US20060218124A1 (en) Performance of a data processing apparatus
JPH07160501A (en) Data processing system
CA2056715A1 (en) Overlapped serialization
EP0482200B1 (en) Interrupt processing system
US5898864A (en) Method and system for executing a context-altering instruction without performing a context-synchronization operation within high-performance processors
US6101596A (en) Information processor for performing processing without register conflicts
US6324640B1 (en) System and method for dispatching groups of instructions using pipelined register renaming
JP2535252B2 (en) Parallel processor
KR100310798B1 (en) Concurrent execution of machine context synchronization operations and non-interruptible instructions
JPH09152973A (en) Method and device for support of speculative execution of count / link register change instruction
US5802340A (en) Method and system of executing speculative store instructions in a parallel processing computer system
US5634136A (en) Data processor and method of controlling the same
RU2150738C1 (en) Information processing system and method for its operations
US5737562A (en) CPU pipeline having queuing stage to facilitate branch instructions
EP0374598B1 (en) Control store addressing from multiple sources
JPH0786838B2 (en) Interrupt processing method
EP1050805B1 (en) Transfer of guard values in a computer system

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19960312

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080920

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080920

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090920

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees