JPH07182168A - Arithmetic unit and its control method - Google Patents

Arithmetic unit and its control method

Info

Publication number
JPH07182168A
JPH07182168A JP32665893A JP32665893A JPH07182168A JP H07182168 A JPH07182168 A JP H07182168A JP 32665893 A JP32665893 A JP 32665893A JP 32665893 A JP32665893 A JP 32665893A JP H07182168 A JPH07182168 A JP H07182168A
Authority
JP
Japan
Prior art keywords
instruction
function execution
resource allocation
arithmetic unit
execution
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.)
Granted
Application number
JP32665893A
Other languages
Japanese (ja)
Other versions
JP2760273B2 (en
Inventor
Atsushi Torii
淳 鳥居
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP5326658A priority Critical patent/JP2760273B2/en
Publication of JPH07182168A publication Critical patent/JPH07182168A/en
Application granted granted Critical
Publication of JP2760273B2 publication Critical patent/JP2760273B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To attain the sharing of a function executing device among the instruction flows by providing a constitution where a resources allocation controller permits an instruction decoding device which issues an instruction next to use the function executing device based on the present instruction executing state. CONSTITUTION:An instruction acquiring device 11 takes the instructions out of a storage, etc., in an arithmetic unit which simultaneously processes the information to plural instruction flows. An instruction decoding device 12 decodes the instruction acquired from the device 11 and starts the processing to a necessary function executing device 13. The device 13 carries out a necessary function by an instruction. Then a resources allocating device 14 checks the present instruction executing state by means of the devices 11, 12 and 13 and permits the device 12 which issues an instruction next to use the device 13. Thus the application factor of the device 13 is improved in a practical range, and the device 13 can be shared among plural instruction flows (programs).

Description

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

【0001】[0001]

【産業上の利用分野】本発明は情報処理装置で用いられ
るプロセッサに関し、特に複数の命令流(プログラム)
を並列に処理可能な高性能なプロセッサに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a processor used in an information processing device, and more particularly to a plurality of instruction streams (programs).
The present invention relates to a high-performance processor capable of processing in parallel.

【0002】[0002]

【従来の技術】プロセッサの高速化の技術として、複数
の機能実行装置を用意し、命令単位の並列性を利用して
複数の機能実行装置に同時に命令を発行することにより
処理速度を向上する方式が実用化されている。この方式
を用いた場合、理想的には動作クロック周波数よりも高
い割合で命令を処理することが可能である。このような
処理を行なうためには、機能実行装置を追加する他に命
令実行の結果の正当性を保証するための論理回路が必要
となる。この方式は一般にはスーパスカラ方式と呼ば
れ、米Digital Equipement Corporation社が発表したal
pha アーキテクチャや米IBM,Motorola,Apple社のPower
アーキテクチャ、Hewlett-Packard 社のPA-RISC アーキ
テクチャなどに採用されている。
2. Description of the Related Art As a technique for accelerating a processor, a method of preparing a plurality of function execution devices and issuing instructions to a plurality of function execution devices at the same time by utilizing instruction parallelism to improve the processing speed Has been put to practical use. When this method is used, it is ideally possible to process instructions at a rate higher than the operating clock frequency. In order to perform such processing, in addition to adding a function execution device, a logic circuit for ensuring the validity of the result of instruction execution is required. This method is generally called the superscalar method, and was announced by Digital Equipement Corporation of the United States.
pha architecture and Power from IBM, Motorola, Apple
Architecture, Hewlett-Packard PA-RISC architecture, etc.

【0003】しかしながら、命令単位の並列性の利用に
は限界があり、この方式での性能向上は機能実行装置を
無限に増やした場合にも、実際には3〜4倍に抑えられ
てしまうといわれている。この並列性を制限する要素は
命令間の依存関係と分岐による命令流の乱れによるもの
である。これらの制約を解消する方式も様々提案されて
いるが、ハードウェアの極端な複雑化に対して性能向上
は40倍程度が限界とされている。このような限界は、
Monica S.Lam氏らが1992年に発表した論文(Monica S.L
am and Robert P.Wilson,"Limits of Control Flow on
Parallelsim ",IThe 19th International Symposium on
Computer Architecture,IEEE ComputerSociety Press,
1992,pp.46-57)に述べられている。
However, there is a limit to the utilization of parallelism on an instruction-by-instruction basis, and the performance improvement in this method is actually suppressed to 3 to 4 times even if the number of function execution devices is increased infinitely. It is said. The factors that limit the parallelism are the dependency between instructions and the disturbance of the instruction flow due to branching. Various methods have been proposed to solve these restrictions, but the performance improvement is limited to about 40 times due to the extreme complexity of hardware. Such a limit is
Paper published in 1992 by Monica S. Lam et al. (Monica SL
am and Robert P. Wilson, "Limits of Control Flow on
Parallelsim ", IThe 19th International Symposium on
Computer Architecture, IEEE Computer Society Press,
1992, pp.46-57).

【0004】一方、命令単位の並列性ではなく、複数の
命令流の命令を並列に実行することにより機能実行装置
の利用効率をあげて、処理速度向上を図る方法も提案さ
れている。この方式では、命令流間で依存関係がないた
め、前記の命令単位並列性より性能向上が図りやすい。
On the other hand, there has been proposed a method of increasing the utilization efficiency of the function execution device by executing instructions in a plurality of instruction streams in parallel, rather than the parallelism of instruction units, and improving the processing speed. In this method, since there is no dependency between the instruction streams, it is easier to improve the performance than the instruction unit parallelism.

【0005】この方式は平田氏らが1993年に発表した論
文(平田博章,木村浩三,永峰聡,西澤貞次,鷺島敬
之,「多重スレッド・多重命令発行を用いる要素プロセ
ッサ,アーキテクチャ」情報処理学会論文誌1993 Vol34
No.4 pp.595-605)で提案された方式などがある。図2
はこの実施例の概要構成を示すものである。以下、この
実施例を従来技術の実施例として説明する。
This system was published in 1993 by Hirata et al. (Hirata Hirata, Kozo Kimura, Satoshi Nagamine, Sadaji Nishizawa, Noriyuki Sagishima, "Element Processors Using Multiple Threads and Multiple Instructions, Architecture", Information Processing Society of Japan Magazine 1993 Vol34
No.4 pp.595-605). Figure 2
Shows a schematic configuration of this embodiment. Hereinafter, this embodiment will be described as an embodiment of the prior art.

【0006】図2において、11は命令取得装置、12
は命令解読装置、13は機能実行装置、21は命令間の
依存解析装置である。また、22は、機能実行装置13
をスケジュールする命令調停装置である。命令解読装置
12は命令調停装置22が命令を受け入れられる状態に
あり、また、命令依存装置21から、命令発行可能であ
る旨の指示を受けている場合に、命令を発行する。各々
の命令解読装置12から発行された命令は、命令調停装
置22によって、必要な機能実行装置13に割り当てら
れ、実際の実行が行なわれる。この命令調停装置22に
よって、機能実行装置13は各命令間で共有し、利用効
率を向上させることが可能となる。また、命令調停装置
22を機能実行装置13毎に分散することにより、命令
調停装置の簡単化が可能である。
In FIG. 2, 11 is an instruction acquisition device, and 12
Is an instruction decoding device, 13 is a function execution device, and 21 is a dependency analysis device between instructions. Further, 22 is a function execution device 13
Is an instruction arbitration device that schedules. The instruction decoding device 12 issues an instruction when the instruction arbitration device 22 is in a state in which the instruction can be accepted and when the instruction dependent device 21 receives an instruction that the instruction can be issued. The instruction issued from each instruction decoding device 12 is assigned to the required function execution device 13 by the instruction arbitration device 22 and is actually executed. The instruction arbitration device 22 enables the function execution device 13 to share the commands among them and improve the utilization efficiency. Further, by distributing the instruction arbitration device 22 for each function execution device 13, the instruction arbitration device can be simplified.

【0007】[0007]

【発明が解決しようとする課題】上記の従来型機能実行
装置共有機構は、以下の問題を抱えている。第一に、命
令実行のパイプラインに命令調停処理が加わることによ
り、命令実行のレイテシンが増大し、この結果、分岐命
令などのパイプライン構造に適合しない命令実行時や例
外処理時に処理速度低下をもたらすこと。第二に、命令
調停装置は、命令流が増加し、命令解読装置が増えた場
合には、調停する命令が増加し、また調停論理も複雑化
するため、複雑な構造となり、動作周波数向上を防げる
要因になること。第三に、命令流が増加し、命令解読装
置が増えた場合には機能実行装置と機能実行のために必
要な一時記憶装置(レジスタ)や、バッファ記憶装置
(キャッシュメモリ)間との接続が複雑なスイッチによ
って実現する必要が生じるため、遅延が増大し、動作周
波数向上を防げる要因になることである。これらの問題
によって、上記の機構で同時実行できる命令流及び動作
周波数は制限されてしまう。
The above-mentioned conventional function execution device sharing mechanism has the following problems. First, by adding instruction arbitration processing to the instruction execution pipeline, the latency of instruction execution increases, and as a result, the processing speed decreases when executing instructions that do not conform to the pipeline structure such as branch instructions and exception processing. To bring. Secondly, the instruction arbitration device has a complicated structure because the number of instructions to be arbitrated increases and the number of instruction decoding devices increases, and the arbitration logic also becomes complicated. Be a factor that can be prevented. Thirdly, when the instruction flow increases and the number of instruction decoding devices increases, the connection between the function execution device and the temporary storage device (register) necessary for function execution and the buffer storage device (cache memory) is established. Since it has to be realized by a complicated switch, the delay is increased and it becomes a factor to prevent the improvement of the operating frequency. These problems limit the instruction streams and operating frequencies that can be concurrently executed by the above mechanism.

【0008】本発明の目的は、高い動作周波数におい
て、命令実行のレイテシンを増やすことなく、実用的な
範囲内で機能実行装置の利用率を高め、命令流間で機能
実行装置の共有を行なうプロセッサの制御方式を提供す
ることにある。
An object of the present invention is to increase the utilization rate of a function execution device within a practical range without increasing the number of instruction execution latency at a high operating frequency, and to share the function execution device between instruction streams. It is to provide the control method of.

【0009】[0009]

【課題を解決するための手段】上記問題を解決するため
に、本発明においては、複数の命令流が並列に動作する
プロセッサ、すなわち、複数の命令取得装置、複数の命
令解読装置、複数の機能実行装置、複数の一時記憶装置
(レジスタ)、バッファ装置(キャッシュ)を持つプロ
セッサに、資源割当制御装置を追加する。
In order to solve the above problems, in the present invention, a processor in which a plurality of instruction streams operate in parallel, that is, a plurality of instruction acquisition devices, a plurality of instruction decoding devices, and a plurality of functions. A resource allocation control device is added to a processor having an execution device, a plurality of temporary storage devices (registers), and a buffer device (cache).

【0010】この資源割当制御装置は、各装置からの命
令実行情報と内部設定情報から、命令流のクロック毎に
使用可能な機能実行装置を決定する機構である。命令解
読装置は資源割当制御装置によって決定された機能実行
装置使用許可情報に基づき、命令を実行できる機能実行
装置に対して、命令を発行することが可能となる。つま
り、資源割当制御装置は、プロセッサ内にある全ての機
能実行装置について、命令流毎に使用可否を決定する。
命令解読装置は、使用可能な機能実行装置の中から、命
令流のプログラムカウンタに応じた命令を実行する機能
実行装置を決定、命令発行を行なう。また、その命令発
行情報を資源割当制御装置に通知することによって、機
能実行装置によって機能実行された結果を格納する一時
記憶装置、バッファ記憶装置を選択する。
The resource allocation control device is a mechanism for determining a usable function execution device for each clock of an instruction stream from the instruction execution information and internal setting information from each device. The instruction decoding device can issue an instruction to the function execution device that can execute the instruction based on the function execution device use permission information determined by the resource allocation control device. That is, the resource allocation control device determines the availability of all the function execution devices in the processor for each instruction stream.
The instruction decoding device determines, from among the available function execution devices, a function execution device that executes an instruction according to the program counter of the instruction stream, and issues the instruction. Further, the instruction issue information is notified to the resource allocation control device to select a temporary storage device or a buffer storage device for storing the result of function execution by the function execution device.

【0011】資源割当制御装置は、システム内に1つ、
もしくは機能実行装置の数を用意して機能実行装置毎に
分散する。また、各命令解読装置からは、各々同時に一
つの命令を発行するか命令取得装置から、命令解読装置
への同時命令伝達数を複数にして、利用可能な機能実行
装置に応じて、命令を非順序発行、スーパスカラ技術を
利用して、利用可能な機能実行装置に応じて、命令を複
数同時発行する。
There is one resource allocation control device in the system,
Alternatively, the number of function execution devices is prepared and distributed to each function execution device. In addition, each instruction decoding device issues one instruction at a time, or sets the number of simultaneous instruction transmissions from the instruction acquisition device to the instruction decoding device to a plurality of instructions, and determines the number of instructions to be executed according to the available function execution device. Using sequential issue and superscalar technology, multiple commands are issued simultaneously according to available function execution devices.

【0012】また、資源割当装置は、各命令流に平等に
資源を割り付けるか、もしくは、命令流毎の機能実行装
置利用状況をソフトウェア、例えばコンパイラなどであ
らかじめ調べておき資源割当制御装置に伝えることによ
り、資源割当制御装置における機能実行装置の各命令流
毎の割当を決める。もしくは、命令流毎に命令解読装置
から機能実行装置への命令発行情報を資源割当制御装置
が監視することにより、命令流の命令発行の傾向を動的
に検出し、それに応じた資源割当を資源割当制御装置が
行なう。
Further, the resource allocation device allocates resources equally to each instruction stream, or checks the utilization status of the function execution device for each instruction stream in advance by software, such as a compiler, and informs the resource allocation control device. By this, the allocation for each instruction stream of the function execution device in the resource allocation control device is determined. Alternatively, the resource allocation control device monitors the command issuance information from the instruction decoding device to the function execution device for each instruction stream, thereby dynamically detecting the instruction issuing tendency of the instruction stream and allocating resources accordingly. It is performed by the allocation control device.

【0013】命令流が全ての機能実行装置を使用できる
ように論理回路を実現するか、個々の命令流が利用でき
る機能実行装置を制限し、一時記憶装置、バッファ記憶
装置と機能実行装置間の接続を簡単化する方式をとるか
はプロセッサの設計に依存し、更に資源割当制御装置を
それに合わせて分散化し、資源割当装置の論理を簡単化
する手段も選択できる。
Between the temporary storage device, the buffer storage device and the function execution device, a logic circuit is implemented so that the instruction flow can use all the function execution devices, or the function execution device that each instruction flow can use is limited. It depends on the design of the processor whether or not the method of simplifying the connection is adopted, and the means for simplifying the logic of the resource allocation device can be selected by further distributing the resource allocation control device accordingly.

【0014】[0014]

【作用】請求項1に記載の発明のプロセッサでは、命令
解読装置は資源割当制御装置の許可に従って、機能実行
装置に命令を発行する。命令解読装置に入るのと同時に
機能実行装置の使用許可情報も得られ、命令発行時に使
用する機能実行装置を決定してしまうため、命令発行後
に機能実行装置の調停をするというパイプライン段を増
やすことなく、機能実行装置の命令流間における共有が
実現され、かつ機能実行装置を効率的に利用することが
可能である。また、稀にしか用いられないような機能実
行ユニットはプロセッサ内で一つもしくは同時動作命令
流よりも少なくしておくことによって、チップ内の資源
の有効利用が図れる。この資源割当制御装置は、各装置
からの情報と内部情報によって、命令流のクロック毎の
使用可能な機能実行装置を決定する。一つ前の命令実行
までの情報から資源割当が決定されるため、従来方式ほ
ど機能実行装置の利用効率は望めないが、構造の簡単化
とパイプライン短縮による命令実行レイテシンの短縮に
よって、クロック周波数、処理速度向上が図れる。更
に、請求項2に記載の発明において、資源割当制御装置
を分散化し、個々の資源割当制御装置の構造を簡単にす
るものである。
In the processor according to the first aspect of the present invention, the instruction decoding device issues an instruction to the function execution device according to the permission of the resource allocation control device. Since the use permission information of the function execution unit is obtained at the same time as entering the instruction decoding unit and the function execution unit to be used is determined when the instruction is issued, the pipeline stage to arbitrate the function execution unit after issuing the instruction is increased. It is possible to realize sharing between the instruction streams of the function execution device without using the function execution device and efficiently use the function execution device. Further, the number of function execution units, which are rarely used, is set to one in the processor or less than the simultaneous operation instruction stream, so that the resources in the chip can be effectively used. This resource allocation control device determines an available function execution device for each clock of an instruction stream based on the information from each device and internal information. Since the resource allocation is determined from the information up to the previous instruction execution, the utilization efficiency of the function execution unit cannot be expected as much as the conventional method, but the clock frequency is reduced by the simplification of the structure and the reduction of the instruction execution latency due to the shortened pipeline The processing speed can be improved. Further, in the invention described in claim 2, the resource allocation control devices are distributed to simplify the structure of each resource allocation control device.

【0015】機能実行装置の利用率を高め効率向上を図
るため、請求項3に記載の発明では、命令取得装置から
命令解読装置への同時命令伝達数を複数にして、利用可
能な機能実行装置に応じて、命令を非順序発行するもの
である。また、請求項4に記載の発明では、命令取得装
置から命令解読装置への同時命令伝達数を複数にする。
さらに、スーパスカラ技術を利用して、利用可能な機能
実行装置に応じて、命令を同時発行するものである。こ
れらの技術を用いれは、単一命令流から複数の機能実行
装置を効率的に利用することが可能となり、同時動作命
令流数よりも機能実行装置数が多い場合には、特に効果
的である。
In order to increase the utilization rate of the function executing device and improve the efficiency, in the invention according to claim 3, the number of simultaneous instruction transmissions from the instruction acquiring device to the instruction decoding device is made plural, and the usable function executing device can be used. The commands are issued out of order according to In the invention according to claim 4, the number of simultaneous instruction transmissions from the instruction acquisition device to the instruction decoding device is made plural.
Furthermore, the superscalar technology is used to simultaneously issue instructions according to the available function execution devices. The use of these techniques makes it possible to efficiently use a plurality of function execution units from a single instruction stream, and is particularly effective when the number of function execution units is larger than the number of simultaneously operating instruction streams. .

【0016】請求項5に記載の発明では、命令流毎の機
能実行装置利用状況をソフトウェア、例えばコンパイラ
などであらかじめ調べておく。この情報を、資源割当制
御装置に伝えることにより、資源割当制御装置における
機能実行装置の各命令流毎の割当を最適化し、効率の良
い実行を行ない、処理を高速化するものである。また、
請求項6に記載の発明では、命令流毎に命令解読装置か
ら機能実行装置への命令発行情報を資源割当制御装置が
監視することにより、命令流の命令発行の傾向を動的に
検出し、それに応じた資源割当を資源割当制御装置が行
なうことによって、効率の良い実行を行ない、処理を高
速化するものである。これらを組み合わせることによ
り、コードにあった資源割当や、実行が遅れているコー
ドに対して優先的に機能実行装置を割り付けることが可
能となる。
According to the fifth aspect of the invention, the utilization status of the function execution device for each instruction stream is checked in advance by software such as a compiler. By transmitting this information to the resource allocation control device, the allocation for each instruction stream of the function execution device in the resource allocation control device is optimized, efficient execution is performed, and the processing speed is increased. Also,
In the invention according to claim 6, the resource allocation control device dynamically monitors the instruction issuing information from the instruction decoding device to the function executing device for each instruction stream, thereby dynamically detecting the instruction issuing tendency of the instruction stream, The resource allocation control device performs the resource allocation according to it, so that efficient execution is performed and the processing speed is increased. By combining these, it becomes possible to allocate resources according to the code and preferentially allocate the function execution device to the code whose execution is delayed.

【0017】また、機能実行装置において、実行を中断
せざるを得ない事象が生じた際、例えば、キャッシュミ
スなどが生じて必要なデータが得られない場合には、必
要な処置をハードウェアが行なうまで、機能実行装置を
利用できなくなってしまう。請求項7に記載の発明で
は、このような事象が生じた場合に、実行再開に必要な
データを機能実行装置に付属する記憶装置に退避して、
当該機能実行装置を他の命令の実行に使用できるように
して、機能実行装置の利用率の向上を図るものである。
In the function execution device, when an event that must be interrupted occurs, for example, when a necessary data cannot be obtained due to a cache miss, the hardware takes necessary measures. Until it is done, the function execution device cannot be used. In the invention according to claim 7, when such an event occurs, the data necessary for restarting execution is saved in the storage device attached to the function execution device,
By making the function execution device usable for execution of other instructions, the utilization rate of the function execution device is improved.

【0018】また、複数の機能実行装置を複数の命令間
で共有した場合には、命令流が増加し、命令解読装置が
増えた場合には機能実行装置と機能実行のために必要な
一時記憶装置(レジスタ)や、バッファ記憶装置(キャ
ッシュメモリ)間との接続が複雑なスイッチによって実
現する必要が生じるため、必要な論理回路数が増加する
という問題が生じる。請求項8に記載の発明では、命令
流が全ての機能実行装置を使用できるように論理回路を
実現するのではなく、個々の命令流が利用できる機能実
行装置を制限することによって、一時記憶装置、バッフ
ァ記憶装置と機能実行装置との間の接続を簡単化するも
のである。
When a plurality of function execution units are shared by a plurality of instructions, the instruction flow increases, and when the number of instruction decoding units increases, the function execution units and temporary storage required for function execution are stored. Since the connection between the device (register) and the buffer storage device (cache memory) needs to be realized by a complicated switch, there arises a problem that the number of necessary logic circuits increases. According to the invention described in claim 8, the temporary memory device is not realized by implementing a logic circuit so that the instruction stream can use all the function execution apparatuses, but by limiting the function execution apparatus that can be used by each instruction stream. , To simplify the connection between the buffer storage device and the function execution device.

【0019】更に、命令流が利用できる機能実行装置を
制限することによって、資源割当制御装置を分散化し
て、論理を簡単化するものである。
Furthermore, by restricting the function execution devices that can use the instruction stream, the resource allocation control devices are distributed and the logic is simplified.

【0020】以下に図面を参照して本発明をより具体的
に詳述するが、以下の開示は本発明の一実施例に過ぎ
ず、本発明の技術的範囲を何ら限定するものではない。
The present invention will be described in more detail below with reference to the drawings, but the following disclosure is merely an example of the present invention and does not limit the technical scope of the present invention.

【0021】[0021]

【実施例】請求項1に記載の発明について、図面を参照
しながら説明する。図1は本発明による制御方式を適用
したプロセッサの実施例を示したブロック構成図であ
る。図1に示したプロセッサは2つの命令取得装置1
1、2つの命令解読装置12と、3つの機能実行装置1
3、資源割当制御装置14から構成され、2つの命令流
を共有する3つの機能実行装置13によって同時に実行
するものとする。機能実行装置13は同じ機能のもので
も、異なる機能のものでも本発明の本筋には影響しない
が、ここでは便宜的に整数演算ユニット、浮動小数点ユ
ニット、ロードストアユニットとする。この場合は、処
理の高速化を狙うよりも、むしろ演算器の効率利用を狙
ったものとなる。なお、この他に、プロセッサで演算を
行なう場合には、一時記憶装置(レジスタ)、バッファ
記憶装置(キャッシュメモリ)などが存在するが、請求
項1から請求項7までの発明とは直接関係ないので、省
略する。また、同時に実行される2つの命令流を命令流
Aと命令流Bとする。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The invention described in claim 1 will be described with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of a processor to which a control system according to the present invention is applied. The processor shown in FIG. 1 has two instruction acquisition devices 1
1, 2 instruction decoding devices 12 and 3 function execution devices 1
3. It is assumed that the three function execution units 13 each of which is composed of the resource allocation control unit 14 and shares two instruction streams are simultaneously executed. The function execution unit 13 may have the same function or different functions without affecting the main feature of the present invention, but here, for convenience, an integer arithmetic unit, a floating point unit, and a load / store unit are used. In this case, the aim is not to increase the processing speed but to use the computing unit efficiently. In addition to this, when a processor performs an operation, a temporary storage device (register), a buffer storage device (cache memory), etc. exist, but they are not directly related to the inventions of claims 1 to 7. Therefore, it is omitted. Also, two instruction streams that are executed simultaneously are referred to as instruction stream A and instruction stream B.

【0022】命令取得装置11から、命令解読装置12
へは命令が送られ、命令解読装置12から機能実行装置
13には、命令解読結果が送られる。資源割当制御装置
14から命令解読装置12には、各々の機能実行装置1
3の使用可否情報を送る。また、命令取得装置11、命
令解読装置12、機能実行装置13から、資源割当制御
装置14にはそれぞれの実行状態情報を送る。
From the instruction acquisition device 11 to the instruction decoding device 12
Is sent to the function execution unit 13. The instruction decoding unit 12 sends the instruction decoding result to the function execution unit 13. From the resource allocation control device 14 to the instruction decoding device 12, each function execution device 1
The availability information of 3 is sent. Further, the execution state information is sent from the instruction acquisition device 11, the instruction decoding device 12, and the function execution device 13 to the resource allocation control device 14.

【0023】命令取得装置11は命令流A、Bのプログ
ラムカウンタの値に従って、命令を主記憶装置(メイン
メモリ)もしくはバッファ装置(キャッシュメモリ)か
ら取得する。次に、命令解読装置12は、命令取得装置
11から命令内容を受けとり、また、資源割当制御装置
14から、個々の機能実行装置13の利用可否情報、例
えば、命令流Aは整数演算ユニットと浮動小数点ユニッ
トが使用可能で、命令流Bはロードストアユニットが使
用可能であるという情報を受けとる。命令流Aの命令解
読結果が整数演算や浮動小数点演算であれば、無条件に
整数演算ユニットもしくは浮動小数点演算ユニットに当
該命令を発行する。もし、ロードストア命令であれば、
命令解読装置12でインタロックが生じ、次のサイクル
まで命令発行は行なわれない。命令流Bの場合は逆に、
命令解読結果が整数演算や浮動小数点演算であればイン
タロックし、ロードストア命令の場合には、命令発行が
行なわれる。次のサイクル時、前サイクルで命令が発行
された場合には、命令解読装置12は命令取得装置11
から新たな命令を受けとる。前サイクルで命令が発行さ
れなかった場合には、新たな命令は受けとらずに、機能
実行装置13の利用可否情報のみを受けとる。例えば、
今回のサイクルでは命令流Aはロードストアユニットが
使用可能で、命令流Bは整数演算ユニットと浮動小数点
ユニットが使用可能となる。そこで、前サイクルと同様
に命令と使用可能な機能実行装置13を比較して命令発
行を決定する。資源割当制御装置14は、命令流間に平
等に資源が割り当てられるような機構とする。この様子
を表示1に示す。また、他の各装置からの実行状態情報
を受けとり、その情報を基に次の機能実行装置13の使
用可否を決定する。
The instruction acquisition device 11 acquires an instruction from the main storage device (main memory) or the buffer device (cache memory) according to the values of the program counters of the instruction streams A and B. Next, the instruction decoding device 12 receives the instruction content from the instruction acquisition device 11, and the availability information of each function execution device 13 from the resource allocation control device 14, for example, the instruction stream A is an integer arithmetic unit and a floating point. The decimal point unit is available and instruction stream B receives the information that the load store unit is available. If the instruction decoding result of the instruction stream A is an integer operation or a floating point operation, the instruction is unconditionally issued to the integer operation unit or the floating point operation unit. If it is a load store instruction,
An interlock occurs in the instruction decoding device 12, and no instruction is issued until the next cycle. In the case of command flow B, on the contrary,
If the instruction decoding result is an integer operation or a floating point operation, interlock is performed, and if it is a load / store instruction, the instruction is issued. In the next cycle, when the instruction is issued in the previous cycle, the instruction decoding device 12 causes the instruction acquisition device 11
Receive new orders from. When no instruction is issued in the previous cycle, no new instruction is received, and only the availability information of the function execution device 13 is received. For example,
In this cycle, the instruction stream A can use the load / store unit, and the instruction stream B can use the integer arithmetic unit and the floating point unit. Therefore, similarly to the previous cycle, the instruction is determined by comparing the instruction with the usable function execution device 13. The resource allocation control device 14 has a mechanism such that resources are allocated evenly among instruction streams. This is shown in display 1. Further, it receives the execution state information from each of the other devices and determines the availability of the next function execution device 13 based on the information.

【0024】[0024]

【表1】 [Table 1]

【0025】このことによって、複数の機能実行装置1
3を複数の命令流間で共有することが可能となり、機能
実行装置13の有効利用が図られる。
As a result, the plurality of function executing devices 1
3 can be shared among a plurality of instruction streams, and the function execution device 13 can be effectively used.

【0026】次に、請求項2に記載の発明について、図
面を参照しながら説明する。図3は本発明による制御方
式を適用したプロセッサの実施例である。図3に示した
プロセッサは2つの命令取得装置11、2つの命令解読
装置12と、3つの機能実行装置13、3つの分散型資
源割当制御装置31から構成され、2つの命令流を共有
する3つの機能実行装置13によって同時に実行するも
のとする。本実施例の特徴は請求項1に記載のプロセッ
サにおける、資源割当て制御装置14を各々の機能実行
装置13毎に分散化したことである。この結果、資源割
当制御装置の簡単化を図ることが可能である。
Next, the invention described in claim 2 will be described with reference to the drawings. FIG. 3 shows an embodiment of a processor to which the control method according to the present invention is applied. The processor shown in FIG. 3 is composed of two instruction acquisition devices 11, two instruction decoding devices 12, three function execution devices 13, and three distributed resource allocation control devices 31, and shares two instruction streams. It is assumed that the two function execution devices 13 simultaneously execute the functions. The feature of this embodiment resides in that the resource allocation control device 14 in the processor according to claim 1 is distributed for each function execution device 13. As a result, it is possible to simplify the resource allocation control device.

【0027】次に、請求項3に記載の発明について、図
面を参照しながら説明する。図4は本発明による制御方
式を適用したプロセッサの実施例である。図4に示した
プロセッサは2つの命令取得装置/命令キュー41、2
つの命令解読装置12と3つの機能実行装置13、資源
割当制御装置14から構成され、2つの命令流を共有す
る3つの機能実行装置13によって同時に実行するもの
とする。本実施例は請求項1に記載のプロセッサの命令
取得装置11を複数命令を保持できるようにキューを付
加して拡張し、さらに、命令解読装置12は、複数命令
を命令取得装置から受けとり依存関係を調べ、命令の前
後間に依存関係がなく、もしくは依存関係解消が可能な
場合に、かつ資源割当制御装置14から得た機能実行装
置の使用許可状況が1番目の命令が実行不可能で2番目
以降の命令が実行可能状態になっている場合に、非順序
実行(out-of-order実行) を行なうように拡張したこと
を特徴とする。
Next, the invention described in claim 3 will be described with reference to the drawings. FIG. 4 shows an embodiment of a processor to which the control method according to the present invention is applied. The processor shown in FIG. 4 has two instruction acquisition devices / instruction queues 41, 2.
It is assumed that three instruction execution units 12 and three function execution units 13 and a resource allocation control unit 14 are simultaneously executed by three function execution units 13 that share two instruction streams. The present embodiment extends the instruction acquisition device 11 of the processor according to claim 1 by adding a queue so as to hold a plurality of instructions, and further, the instruction decoding device 12 receives a plurality of instructions from the instruction acquisition device. If there is no dependency before or after the instruction, or if the dependency can be resolved, and if the first permission instruction of the function execution device obtained from the resource allocation control device 14 is unexecutable, 2 It is characterized in that it is extended to execute out-of-order execution when the second and subsequent instructions are in an executable state.

【0028】請求項1に記載の発明と同様に、機能実行
ユニット13をそれぞれ、整数演算ユニット、浮動小数
点ユニット、ロードストアユニットとする。また、同時
に実行される2つの命令流を命令流Aと命令流Bとし、
命令解読装置12は同時に二つの命令を命令取得装置/
命令キュー41から受けとることとする。命令取得装置
/命令キュー41は命令流A、命令流Bのプログラムカ
ウンタの値に従って、命令を主記憶装置(メインメモ
リ)もしくはバッファ装置(キャッシュメモリ)から取
得する。ここでは、命令キューがあるので、複数命令を
取得している状態とする。次に、命令解読装置12は、
命令取得装置11から2つの命令内容を受けとり、ま
た、資源割当制御装置14から、個々の機能実行装置1
3の利用可否情報、例えば、命令流Aは整数演算ユニッ
トと浮動小数点ユニットが使用可能で、命令流Bはロー
ドストアユニットが使用可能であるという情報を受けと
る。命令解読は受けとった複数の命令に対して行なれ、
更に命令間の依存関係についても調べられる。1番目の
命令が命令流Aの命令解読結果が整数演算や浮動小数点
演算であれば、無条件に整数演算ユニットもしくは浮動
小数点演算ユニットに発行する。1番目の命令がロード
ストア命令かつ2番目の命令が整数演算命令、浮動小数
点演算命令の場合、かつ1番目と2番目の命令間に依存
関係がない場合には、2番目の命令を整数演算ユニット
もしくは浮動小数点演算ユニットに発行する。この条件
を満たさない場合は、命令解読装置12でインタロック
が生じ、次のサイクルまで命令発行は行なわれない。命
令流Bも同様であり、また、次のサイクルでの動作も、
同じように繰り返される。
Similarly to the invention described in claim 1, the function execution unit 13 is an integer arithmetic unit, a floating point unit, and a load store unit, respectively. In addition, two instruction streams that are simultaneously executed are an instruction stream A and an instruction stream B,
The instruction decoding device 12 receives two instructions at the same time by the instruction acquisition device /
It will be received from the instruction queue 41. The instruction acquisition device / instruction queue 41 acquires an instruction from the main storage device (main memory) or the buffer device (cache memory) according to the values of the program counters of the instruction flow A and the instruction flow B. Here, since there is an instruction queue, it is assumed that a plurality of instructions are acquired. Next, the instruction decoding device 12
The two command contents are received from the command acquisition device 11, and the individual function execution devices 1 are received from the resource allocation control device 14.
3, the instruction stream A receives the information that the integer arithmetic unit and the floating point unit can be used, and the instruction stream B can use the load store unit. Command decoding can be performed for multiple commands received,
In addition, the dependency between instructions can be examined. If the first instruction is an integer operation or a floating point operation result of the instruction decoding of the instruction stream A, it is unconditionally issued to the integer operation unit or the floating point operation unit. If the first instruction is a load store instruction and the second instruction is an integer operation instruction or a floating point operation instruction, and there is no dependency between the first and second instructions, the second instruction is an integer operation. Issued to a unit or floating point arithmetic unit. If this condition is not satisfied, an interlock occurs in the instruction decoding device 12, and no instruction is issued until the next cycle. The instruction stream B is the same, and the operation in the next cycle is
The same is repeated.

【0029】請求項1に記載のプロセッサ実施例では、
1番目の命令が使用許可された機能実行装置において実
行できない場合には、無条件でインタロックしていた
が、本項におけるプロセッサ実施例では、命令の非順序
発行を許すことにしたため、インタロック発生確率が低
下し、スループット及びプログラムの実行処理速度が向
上する。
In a processor embodiment as claimed in claim 1,
When the first instruction cannot be executed in the function execution unit for which the use is permitted, the interlock is unconditionally performed. However, in the processor example in this section, the out-of-order issuance of the instruction is allowed. The occurrence probability is reduced, and the throughput and the program execution processing speed are improved.

【0030】次に、請求項4に記載の発明について、図
面を参照しながら説明する。図5は本発明による制御方
式を適用したプロセッサの実施例である。図5に示した
プロセッサは2つの命令取得装置/命令キュー41、2
つの命令解読装置12と3つの機能実行装置13、資源
割当制御装置14から構成され、2つの命令流を共有す
る3つの機能実行装置13によって同時に実行するもの
とする。本実施例は請求項1に記載のプロセッサの命令
取得装置11を複数命令を保持できるようにキューを付
加して拡張し、さらに、命令解読装置12は、複数命令
を命令取得装置11から受け取り依存関係を調べ、命令
の前後間に依存関係がなく、もしくは依存関係解消が可
能な場合に、かつ資源割当制御装置14から得た使用許
可状況が複数の機能実行装置13を使用可能としている
場合に、スーパスカラ技術を利用して複数の機能実行装
置13に対して命令の同時発行を行なうように拡張した
ことを特徴とする。
Next, the invention according to claim 4 will be described with reference to the drawings. FIG. 5 shows an embodiment of a processor to which the control method according to the present invention is applied. The processor shown in FIG. 5 has two instruction acquisition units / instruction queues 41, 2.
It is assumed that three instruction execution units 12 and three function execution units 13 and a resource allocation control unit 14 are simultaneously executed by three function execution units 13 that share two instruction streams. The present embodiment extends the instruction acquisition device 11 of the processor according to claim 1 by adding a queue so as to hold a plurality of instructions, and further, the instruction decoding device 12 receives a plurality of instructions from the instruction acquisition device 11 and depends on them. When the relationship is checked, there is no dependency before and after the instruction, or when the dependency can be resolved, and when the usage permission status obtained from the resource allocation control device 14 enables the plurality of function execution devices 13 to be used. It is characterized in that the superscalar technology is used to extend the simultaneous issue of instructions to a plurality of function execution units 13.

【0031】請求項1に記載の発明と同様に、機能実行
ユニット13をそれぞれ、整数演算ユニット、浮動小数
点ユニット、ロードストアユニットとする。また、同時
に実行される2つの命令流を命令流Aと命令流Bとし、
命令解読装置12は同時に二つの命令を命令取得装置/
命令キュー41から受けとることとする。命令取得装置
/命令キュー41は命令流A、Bのプログラムカウンタ
の値に従って、命令を主記憶装置(メインメモリ)もし
くはバッファ装置(キャッシュメモリ)から取得する。
ここでは、命令キューがあるので、複数命令を取得して
いる状態とする。次に、命令解読装置12は、命令取得
装置11から2つの命令内容を受けとり、また、資源割
当制御装置14から、個々の機能実行装置13の利用可
否情報、例えば、命令流Aは整数演算ユニットと浮動小
数点ユニットが使用可能で、命令流Bはロードストアユ
ニットが使用可能であるという情報を受けとる。命令解
読は受けとった複数の命令に対して行なわれ、更に命令
間の依存関係についても調べられる。1番目の命令が命
令流Aの命令解読結果において1番目の命令が整数演
算、2番目の命令が浮動小数点演算命令の場合、かつ1
番目と2番目の命令間に依存関係がない場合には、1番
目の命令を整数演算ユニット、2番目の命令を浮動小数
点演算ユニットに発行する。また、1番目が浮動小数点
演算、2番目が整数演算で、命令間の依存がない場合は
1番目の命令を浮動小数点演算ユニット、2番目の命令
を整数演算ユニットに発行する。この条件を満たさない
場合は、請求項1と同様に、単一命令のみを発行、もし
くはインタロック状態となる。この動作は、命令流Bも
同様であり、また、次のサイクルでの動作も、同じよう
に繰り返される。
Similarly to the invention described in claim 1, the function execution unit 13 is an integer operation unit, a floating point unit, and a load store unit, respectively. In addition, two instruction streams that are simultaneously executed are an instruction stream A and an instruction stream B,
The instruction decoding device 12 receives two instructions at the same time by the instruction acquisition device /
It will be received from the instruction queue 41. The instruction acquisition device / instruction queue 41 acquires an instruction from the main storage device (main memory) or the buffer device (cache memory) according to the values of the program counters of the instruction streams A and B.
Here, since there is an instruction queue, it is assumed that a plurality of instructions are acquired. Next, the instruction decoding device 12 receives two instruction contents from the instruction acquisition device 11, and the availability information of each function execution device 13 from the resource allocation control device 14, for example, the instruction stream A is an integer arithmetic unit. And a floating point unit is available and instruction stream B receives information that a load store unit is available. Instruction decoding is performed on a plurality of received instructions, and the dependency relation between the instructions is also checked. If the first instruction is an integer operation in the instruction decoding result of the instruction stream A, the second instruction is a floating point operation instruction, and 1
If there is no dependency between the second and second instructions, the first instruction is issued to the integer arithmetic unit and the second instruction is issued to the floating point arithmetic unit. If the first is a floating point operation and the second is an integer operation and there is no dependency between instructions, the first instruction is issued to the floating point operation unit and the second instruction is issued to the integer operation unit. When this condition is not satisfied, only a single instruction is issued or the interlock state is set, as in the first aspect. This operation is the same for the instruction stream B, and the operation in the next cycle is similarly repeated.

【0032】請求項1に記載のプロセッサ実施例では、
資源割当制御装置14が複数の機能実行装置13の利用
許可を与えた場合でも、そのうち1つしか使用されなか
ったが、本項におけるプロセッサ実施例ではスーパスカ
ラ技術を利用して命令を同時発行できるように命令解読
装置12を拡張したため、スループット及びプログラム
の実行処理速度が向上する。特に、頻繁に利用される機
能実行装置13は並列処理される命令流以上の数用意
し、稀にしか利用されない機能実行装置13は、プロセ
ッサ内にごく少数のみ用意することによってシステム全
体の機能実行装置の利用率を向上し、更にスループット
を向上することが可能となる。また、請求項3と請求項
4に記載の発明を同時に適用して更に性能を向上させる
ことも可能である。
In a processor embodiment as claimed in claim 1,
Even when the resource allocation control device 14 gives permission to use the plurality of function execution devices 13, only one of them is used. However, in the processor embodiment in this section, it is possible to issue instructions simultaneously by using superscalar technology. Since the instruction decoding device 12 is expanded, throughput and program execution processing speed are improved. In particular, the function execution devices 13 that are frequently used are provided in a number larger than the instruction stream to be processed in parallel, and the function execution devices 13 that are rarely used are provided in the processor in a very small number, thereby performing the functions It is possible to improve the utilization factor of the device and further improve the throughput. Further, it is possible to apply the inventions of claims 3 and 4 at the same time to further improve the performance.

【0033】次に、請求項5に記載の発明について、図
面を参照しながら説明する。図6は本発明による制御方
式を適用したプロセッサの実施例である。図6に示した
プロセッサは2つの命令取得装置11、2つの命令解読
装置12と、3つの機能実行装置13、ソフトウェア優
先度指示型資源割当制御装置51から構成され、2つの
命令流を共有する3つの機能実行装置13によって同時
に実行するものとする。本実施例は請求項1に記載のプ
ロセッサの資源割当制御装置14に対して、ソフトウェ
ア的に命令流の性質や優先度を与えることによって、そ
れに適した機能実行装置13を割り付けるように機能を
追加したことを特徴とする。この優先度制御は命令流中
に優先度制御用の命令を組み込むことなどによって実現
する。
Next, the invention described in claim 5 will be described with reference to the drawings. FIG. 6 shows an embodiment of a processor to which the control system according to the present invention is applied. The processor shown in FIG. 6 is composed of two instruction acquisition devices 11, two instruction decoding devices 12, three function execution devices 13, and a software priority instruction type resource allocation control device 51, and shares two instruction streams. It is assumed that they are simultaneously executed by the three function execution devices 13. In the present embodiment, a function is added to the resource allocation control device 14 of the processor according to claim 1 so as to allocate a function execution device 13 suitable for the property and priority of the instruction stream by software. It is characterized by having done. This priority control is realized by incorporating an instruction for priority control in the instruction stream.

【0034】請求項1に記載の発明と同様に、機能実行
ユニット13をそれぞれ、整数演算ユニット、浮動小数
点ユニット、ロードストアユニットとする。また、同時
に実行される2つの命令流を命令流Aと命令流Bとす
る。ここで、命令流Aにおいては、浮動小数点演算を行
なわないコードであれば、コンパイラが浮動小数点ユニ
ットを使用しないという資源割当指示命令を命令流の先
頭に入れておく。この命令を解読すると、資源割当制御
装置51に対して、命令流Aに対しては浮動小数点ユニ
ットの使用許可不要である旨の情報が伝えらる。以後、
資源割当制御装置51は、設定が変更されない限り、浮
動小数点ユニットは命令流Bにのみ与えられることにな
る。但し、浮動小数点演算命令が割り当てられない状況
下で命令流中に存在した場合には、命令解読装置12
は、資源割当制御装置51に対して、資源割当要求がで
きる構造にしておくことも選択できるものとする。ま
た、命令流Bが優先度の高いプロセスの場合、OSなど
のシステムソフトウェアによって、命令流Bに対して優
先的に資源を割り当てる命令を資源割当制御装置51に
発行する。この場合は、資源割当制御装置は命令流Aと
命令流Bでは、命令流Bに機能実行装置13の利用許可
を多く出すように制御を行なう。
Similarly to the invention described in claim 1, the function execution unit 13 is an integer arithmetic unit, a floating point unit, and a load store unit, respectively. Also, two instruction streams that are executed simultaneously are referred to as instruction stream A and instruction stream B. Here, in the instruction stream A, a resource allocation instruction that the compiler does not use the floating point unit is placed at the head of the instruction stream if the code does not perform floating point arithmetic. When this instruction is decoded, the resource allocation control device 51 is informed that the instruction stream A does not require the use of the floating point unit. After that,
In the resource allocation control device 51, the floating point unit is given only to the instruction stream B unless the setting is changed. However, if the floating-point operation instruction exists in the instruction stream under the condition that it is not assigned, the instruction decoding device 12
It is also possible to select a structure in which a resource allocation request can be made to the resource allocation control device 51. If the instruction stream B is a process having a high priority, system software such as an OS issues an instruction to the resource assignment control device 51 to preferentially allocate resources to the instruction stream B. In this case, in the instruction stream A and the instruction stream B, the resource allocation control device controls the instruction stream B so as to give a large amount of permission to use the function execution device 13.

【0035】この拡張を行なうことによって、命令流の
性質や処理状況に応じた資源割当を行なうことが可能と
なり、機能実行装置の利用率が向上し、スループット及
びプログラムの実行処理速度を向上させることができ
る。
By carrying out this extension, it becomes possible to perform resource allocation according to the nature of the instruction stream and the processing status, the utilization rate of the function execution device is improved, and the throughput and the program execution processing speed are improved. You can

【0036】次に、請求項6に記載の発明について、図
面を参照しながら説明する。図7は本発明による制御方
式を適用したプロセッサの実施例である。図7に示した
プロセッサは2つの命令取得装置11、2つの命令解読
装置12と3つの機能実行装置13、動的優先度可変型
資源割当制御装置61から構成され、2つの命令流を共
有する3つの機能実行装置13によって同時に実行する
ものとする。本実施例は請求項1に記載のプロセッサの
資源割当制御装置14に対して、ハードウェア的に命令
実行状況やコードの性質を監視することによって、機能
実行装置13の割り付けを命令流に適するようにするこ
とを特徴とする。
Next, the invention according to claim 6 will be described with reference to the drawings. FIG. 7 shows an embodiment of a processor to which the control system according to the present invention is applied. The processor shown in FIG. 7 includes two instruction acquisition devices 11, two instruction decoding devices 12, three function execution devices 13, and a dynamic priority variable resource allocation control device 61, and shares two instruction streams. It is assumed that they are simultaneously executed by the three function execution devices 13. In this embodiment, the resource allocation control device 14 of the processor according to the first aspect is monitored by hardware to monitor the instruction execution status and the nature of the code, so that the allocation of the function execution device 13 is suitable for the instruction flow. It is characterized by

【0037】請求項1に記載の発明と同様に、機能実行
ユニット13をそれぞれ、整数演算ユニット、浮動小数
点ユニット、ロードストアユニットとする。また、同時
に実行される2つの命令流を命令流Aと命令流Bとす
る。実行の初期は請求項1に記載の具体例で示したプロ
セッサと同様、資源割当管理装置61は命令流A、命令
流Bに対して平等に機能実行装置13の使用許可を与え
るが、その際の命令流A、命令流Bそれぞれの各機能実
行装置13への命令発行率やインタロック発生率を監視
することによって、各命令流に適した機能実行装置13
をなるべく割り付けることを行なう。例えば、命令流A
では、浮動小数点ユニットはほとんど使用せず、整数演
算ユニットを中心に用いるようなコードの場合、浮動小
数点ユニットは、実際にその命令の実行が生じた場合
に、命令解読装置12から、資源割当制御装置61に割
当要求を行なうことによって、浮動小数点ユニットが割
り当てられることになる。一方、命令流Bはロードスト
アユニットと浮動小数点ユニットを中心に用いるような
コードであれば、このユニットを中心に割り当てる制御
を行なう。
Similarly to the invention described in claim 1, the function execution unit 13 is an integer arithmetic unit, a floating point unit, and a load store unit, respectively. Also, two instruction streams that are executed simultaneously are referred to as instruction stream A and instruction stream B. At the initial stage of execution, the resource allocation management device 61 equally gives permission to use the function execution device 13 to the instruction stream A and the instruction stream B, in the same manner as the processor shown in the specific example of claim 1. Of the instruction stream A and the instruction stream B to the respective function execution devices 13 by monitoring the instruction issue rate and the interlock occurrence rate of each of the instruction streams A and B.
Assign as much as possible. For example, command flow A
Then, in the case of a code that mainly uses the floating point unit and mainly uses the integer arithmetic unit, the floating point unit uses the resource allocation control from the instruction decoding device 12 when the execution of the instruction actually occurs. By making an allocation request to device 61, a floating point unit will be allocated. On the other hand, if the instruction stream B is a code that mainly uses the load store unit and the floating point unit, the instruction flow B is controlled so that this unit is mainly assigned.

【0038】この拡張を行なうことによって、命令流の
性質や処理状況に応じた資源割当を行なうことが可能と
なり、機能実行装置の利用率が向上し、スループット及
びプログラムの実行処理速度を向上させることが可能と
なる。また、請求項5に記載のソフトウェアによる割り
当て優先度制御と併用することによって効率をさらに向
上することが可能となる。
By performing this extension, it becomes possible to allocate resources according to the nature of the instruction stream and the processing status, the utilization rate of the function execution device is improved, and the throughput and the program execution processing speed are improved. Is possible. Further, the efficiency can be further improved by using the allocation priority control by the software according to the fifth aspect together.

【0039】次に、請求項7に記載の発明について、図
面を参照しながら説明する。図8は本発明による制御方
式を適用したプロセッサの実施例である。図8に示した
プロセッサは2つの命令取得装置11、2つの命令解読
装置12と3つの機能実行装置13、資源割当制御装置
14、実行情報退避記憶装置71から構成され、2つの
命令流を共有する3つの機能実行装置13によって同時
に実行するものとする。本実施例は請求項1に記載のプ
ロセッサの各々の機能実行装置13に対して、実行情報
を退避して、他の命令を先に実行することを可能にする
ために、実行情報退避装置71を付加したことを特徴と
する。
Next, the invention according to claim 7 will be described with reference to the drawings. FIG. 8 shows an embodiment of a processor to which the control method according to the present invention is applied. The processor shown in FIG. 8 includes two instruction acquisition devices 11, two instruction decoding devices 12, three function execution devices 13, a resource allocation control device 14, and an execution information save storage device 71, and shares two instruction streams. It is assumed that the three function execution devices 13 are simultaneously executed. In the present embodiment, the execution information saving device 71 is provided to save the execution information and execute other instructions first for the function execution device 13 of each processor according to claim 1. Is added.

【0040】請求項1に記載の発明と同様に、機能実行
ユニット13をそれぞれ、整数演算ユニット、浮動小数
点ユニット、ロードストアユニットとする。また、同時
に実行される2つの命令流を命令流Aと命令流Bとす
る。命令流Aにおいて、ロード命令が命令発行装置12
からロードストアユニットに発行されたとする。しかし
ながら、所望のデータがバッファ装置(キャッシュメモ
リ)に存在しない場合、遅延の大きい主記憶装置からデ
ータを転送する。そのため、ロードストアユニットにお
いて当該命令はインタロックする。この状態になると、
請求項1に記載の発明の場合、ロードストアユニット
は、インタロックが回避できるまで使用できなくなって
しまう。本項の発明においては、このようなロック状態
が発生した場合には、実行情報退避記憶装置71に実行
情報を退避することによって、命令流Bに対してロード
ストアユニットの使用を許可できるようにするものであ
る。
Similarly to the invention described in claim 1, the function execution unit 13 is an integer operation unit, a floating point unit, and a load store unit, respectively. Also, two instruction streams that are executed simultaneously are referred to as instruction stream A and instruction stream B. In the instruction stream A, the load instruction is the instruction issuing device 12
Issued to the load store unit from However, if the desired data does not exist in the buffer device (cache memory), the data is transferred from the main storage device with a large delay. Therefore, the instruction is interlocked in the load / store unit. When this happens,
In the case of the invention described in claim 1, the load / store unit cannot be used until the interlock can be avoided. In the invention of this section, when such a lock state occurs, the execution information is saved in the execution information saving storage device 71 so that the instruction stream B can be permitted to use the load / store unit. To do.

【0041】この拡張を行なうことによって、インタロ
ックが発生した場合でも、他の命令流に対して機能実行
装置を割り当てることが可能となり、機能実行装置の利
用率が向上し、スループット及びプログラムの実行処理
速度を向上させることが可能となる。
By performing this extension, even if an interlock occurs, the function execution device can be assigned to another instruction stream, the utilization rate of the function execution device is improved, and throughput and program execution are improved. It is possible to improve the processing speed.

【0042】次に、請求項8に記載の発明について、図
面を参照しながら説明する。本発明は、命令流毎に使用
することができる機能実行装置13に対して制限を設け
て、命令流毎に用意される機能実行のための一時記憶装
置(レジスタ)81もしくは、バッファ記憶装置と、機
能実行装置13との間の結合を簡単化したことを特徴と
する。
Next, the invention described in claim 8 will be described with reference to the drawings. The present invention provides a temporary storage device (register) 81 or a buffer storage device for executing a function prepared for each instruction stream by limiting the function execution apparatus 13 that can be used for each instruction stream. , And the function execution device 13 is simplified in connection.

【0043】まず、図9は請求項1に記載の実施例であ
るが、図1と比較して、一時記憶装置(レジスタ)87
を図示したことと同時動作の命令流を3、機能実行装置
13を6個に増やしたことが異なっている。次に、図1
0は本発明による制御方式を適用したプロセッサの実施
例である。図9と比べて、資源割当に制限を設けたこと
を特徴としている。図10では、3つの命令流をそれぞ
れ、命令流A、命令流B、命令流Cとすると機能実行装
置81と機能実行装置86は命令流Aと命令流Cのみ、
機能実行装置82と機能実行装置83は命令流Aと命令
流Bのみ、機能実行装置84と機能実行装置85は命令
流Bと命令流Cのみの命令を実行する。このため、命令
解読装置12と機能実行装置13間および、機能実行装
置13と一時記憶装置87間の結合が簡単化される。ま
た、割り当てに制限を設けることによって、資源割当制
御装置14の内部構造も簡単化される。また、命令流毎
の機能実行装置13の利用範囲を隣接命令間に限定する
ことにより、結合同士の交差が少なくなり実装上も有利
である。
First, FIG. 9 shows an embodiment described in claim 1. Compared with FIG. 1, a temporary storage device (register) 87 is provided.
3 is different from that shown in FIG. 2 in that the number of simultaneous operation instructions is increased to 3 and the number of function execution units 13 is increased to 6. Next, FIG.
Reference numeral 0 is an embodiment of a processor to which the control method according to the present invention is applied. Compared with FIG. 9, the feature is that the resource allocation is limited. In FIG. 10, assuming that the three instruction streams are the instruction stream A, the instruction stream B, and the instruction stream C, the function execution device 81 and the function execution device 86 have only the instruction flow A and the instruction flow C, respectively.
The function execution unit 82 and the function execution unit 83 execute only the instruction stream A and the instruction stream B, and the function execution units 84 and 85 execute the instruction stream B and the instruction stream C only. Therefore, the connection between the instruction decoding device 12 and the function execution device 13 and the connection between the function execution device 13 and the temporary storage device 87 are simplified. In addition, the internal structure of the resource allocation control device 14 is also simplified by setting the restriction on the allocation. In addition, by limiting the use range of the function execution device 13 for each instruction stream between adjacent instructions, the number of intersections between the connections is reduced, which is advantageous in implementation.

【0044】本発明は、同一機能の機能実行装置13を
複数持つようなプロセッサにおいて特に有効である。プ
ロセッサの集積度が向上し、プロセッサ内の同時動作命
令流と機能実行装置13が増えた場合には、本項に示す
制限つき割当機構によって、実装の簡単化、動作周波数
の向上を可能とし、機能実行装置の割当制限による利用
率低下を十分補うことが可能である。また、請求項3、
請求項4に記載の発明を組み合わせることによって、さ
らに効率の向上を図ることが可能である。
The present invention is particularly effective in a processor having a plurality of function executing devices 13 having the same function. When the integration degree of the processor is improved and the number of simultaneous operation instructions in the processor and the function execution device 13 are increased, the limited allocation mechanism shown in this section enables the simplification of the implementation and the improvement of the operating frequency. It is possible to sufficiently compensate for the decrease in the utilization rate due to the allocation limitation of the function execution device. In addition, claim 3,
By combining the invention described in claim 4, it is possible to further improve the efficiency.

【0045】[0045]

【発明の効果】本発明では、複数の命令流を並列動作さ
せる演算装置において、演算の中心となる機能実行装置
を命令流間で共有することによって、機能実行装置を有
効に利用することができる。また、従来例では、命令を
解読後に機能実行装置のスケジューリングを行なってい
るので、命令実行遅延が増加し、制御が複雑になる問題
があるが、本発明の方式では、命令解読前にあらかじめ
使用可能な機能実行装置を命令流毎に与えてしまうた
め、機能実行装置の使用効率が若干低下するが、制御が
簡素になり動作周波数を向上できるという利点によっ
て、使用効率低下を補って余りあるものとなる。また、
命令毎の性質に合わせたスケジューリングをソフトウェ
ア的、ハードウェア的に行なうことによって、利用効率
の低下を最小限に抑えることが可能である。さらに、複
数の命令流が同時に実行される場合に、使用できる機能
実行装置をあらかじめ限定することによって、資源割当
制御装置の簡略化が可能となる。以上のことから、本発
明における複数の命令流を並列動作させる演算装置の方
式は、命令の高速動作、コスト低減に非常に有効であ
る。
According to the present invention, in an arithmetic unit for operating a plurality of instruction streams in parallel, the function executing unit, which is the center of the arithmetic operation, is shared between the instruction streams, so that the function executing unit can be effectively used. . Further, in the conventional example, since the function execution device is scheduled after the instruction is decoded, there is a problem that the instruction execution delay increases and the control becomes complicated. However, in the method of the present invention, it is used before the instruction is decoded. Since the available function execution device is given for each instruction stream, the use efficiency of the function execution device is slightly reduced, but the use efficiency decrease is more than compensated by the advantage that the control is simple and the operating frequency can be improved. Becomes Also,
It is possible to minimize the decrease in utilization efficiency by performing scheduling in software or hardware according to the nature of each instruction. Furthermore, when a plurality of instruction streams are simultaneously executed, the resource execution control device can be simplified by limiting the function execution devices that can be used in advance. From the above, the method of the arithmetic device for operating a plurality of instruction streams in parallel according to the present invention is very effective for high-speed operation of instructions and cost reduction.

【0046】[0046]

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

【図1】本発明によるプロセッサの制御方法を示すため
のプロセッサの実施例の構成図である。
FIG. 1 is a configuration diagram of an embodiment of a processor for illustrating a method of controlling a processor according to the present invention.

【図2】従来方式の機能実行装置の命令流間共用方式の
実施例の構成図である。
FIG. 2 is a configuration diagram of an embodiment of an inter-instruction flow sharing method of a conventional function execution device.

【図3】分散型資源割当制御装置を用いた実施例の構成
図である。
FIG. 3 is a configuration diagram of an embodiment using a distributed resource allocation control device.

【図4】非順序命令発行を行なう命令解読装置を用いた
実施例の構成図である。
FIG. 4 is a configuration diagram of an embodiment using an instruction decoding device that issues an out-of-order instruction.

【図5】命令同時発行を行なう命令解読装置を用いた実
施例の構成図である。
FIG. 5 is a configuration diagram of an embodiment using an instruction decoding device that simultaneously issues instructions.

【図6】ソフトウェア優先度指示型資源割当制御装置を
用いた実施例の構成図である。
FIG. 6 is a configuration diagram of an embodiment using a software priority indicating resource allocation control device.

【図7】動的優先度可変型資源割当制御装置を用いた実
施例の構成図である。
FIG. 7 is a configuration diagram of an embodiment using a dynamic priority variable resource allocation control device.

【図8】機能実行装置に実行情報退避装置を付加した実
施例の構成図である。
FIG. 8 is a configuration diagram of an embodiment in which an execution information saving device is added to the function executing device.

【図9】図1と同等の実施例の構成図であり、新たに一
時記憶装置(レジスタ)を表現している。
9 is a configuration diagram of an embodiment equivalent to FIG. 1, in which a temporary storage device (register) is newly represented.

【図10】利用できる機能実行装置を命令流毎に制限し
た実施例の構成図である。
FIG. 10 is a configuration diagram of an embodiment in which usable function execution devices are limited for each instruction stream.

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

11 命令取得装置 12 命令解読装置 13 機能実行装置 14 資源割当制御装置 21 命令依存解析装置 22 命令調停装置 31 分散型資源割当制御装置 41 命令取得装置/命令キュー 51 ソフトウェア優先度指示型資源割当制御装置 61 動的優先度可変型資源割当制御装置 71 実行情報退避記憶装置 81〜86 機能実行装置 87 一時記憶装置(レジスタ) 11 instruction acquisition device 12 instruction decoding device 13 function execution device 14 resource allocation control device 21 instruction dependence analysis device 22 instruction arbitration device 31 distributed resource allocation control device 41 instruction acquisition device / instruction queue 51 software priority directed resource allocation control device 61 dynamic priority variable type resource allocation control device 71 execution information save storage device 81-86 function execution device 87 temporary storage device (register)

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 複数の命令取得装置と複数の命令解読装
置、複数の機能実行装置を有し、複数の命令流に対して
同時に情報処理を実行する演算装置において命令取得装
置は記憶装置などから命令を取り出し、命令解読装置は
命令取得装置から得た命令を解読し必要な機能実行装置
に対して処理を起動し、機能実行装置は命令に従って必
要な機能を実行し、資源割当制御装置は、現在の命令実
行状況を命令取得装置、命令解読装置、機能実行装置か
ら調べ、次に命令発行を行なう命令解読装置に各機能実
行装置の使用許可を与えることを特徴とする演算装置の
制御方法。
1. In an arithmetic device having a plurality of instruction acquisition devices, a plurality of instruction decoding devices, and a plurality of function execution devices, and executing information processing simultaneously for a plurality of instruction streams, the instruction acquisition device is a storage device or the like. The instruction fetching device fetches the instruction, the instruction decoding device decodes the instruction obtained from the instruction acquiring device and activates the processing to the required function executing device, the function executing device executes the required function according to the instruction, and the resource allocation control device, A method for controlling an arithmetic unit, characterized in that the present instruction execution status is checked from an instruction acquisition unit, an instruction decoding unit, and a function execution unit, and the instruction decoding unit that issues an instruction next is given permission to use each function execution unit.
【請求項2】 請求項1に記載の資源割当制御装置を、
各機能実行装置毎に分散化したことを特徴とする請求項
1に記載の演算装置の制御方法。
2. The resource allocation control device according to claim 1,
The control method for an arithmetic unit according to claim 1, wherein the function execution units are distributed.
【請求項3】 請求項1に記載の命令解読装置におい
て、利用できる機能実行装置に対して、命令の前後間に
依存関係がなく、もしくは依存関係解消が可能な場合
に、かつ資源割当制御装置から得た機能実行装置の使用
許可状況が1番目の命令が実行不可能で2番目以降の命
令が実行可能状態になっている場合に、命令の非順序実
行を行なうように拡張することを特徴とする請求項1に
記載の演算装置の制御方法。
3. The instruction allocation apparatus according to claim 1, wherein there is no dependency before or after the instruction with respect to the available function execution apparatus, or the dependency can be resolved, and the resource allocation control apparatus. When the use permission status of the function execution device obtained from step 1 is that the first instruction cannot be executed and the second and subsequent instructions are in the executable state, the function execution device is expanded to execute the instructions out of order. The method for controlling the arithmetic unit according to claim 1.
【請求項4】 請求項1に記載の命令解読装置におい
て、利用できる機能実行装置に対して、命令の前後間に
依存関係がなく、もしくは依存関係解消が可能な場合
に、かつ資源割当制御装置から複数の機能実行装置の使
用許可が得られている場合には、命令の同時発行を行な
うように拡張することを特徴とする請求項1に記載の演
算装置の制御方法。
4. The instruction decoding apparatus according to claim 1, wherein there is no dependency before or after an instruction with respect to an available function execution apparatus, or the dependency can be resolved, and a resource allocation control apparatus. The control method of the arithmetic unit according to claim 1, wherein when the use permission of a plurality of function execution units is obtained from the above, it is expanded so as to issue instructions simultaneously.
【請求項5】 請求項1に記載の資源割当制御装置にお
いて、命令流毎の機能実行装置の使用許可の優先度をソ
フトウェアによって資源割当制御装置に指示し、当該命
令流では使用されない機能実行装置の使用許可を禁止
し、各命令流の実行を最適化することを特徴とする請求
項1に記載の演算装置の制御方法。
5. The resource allocation control device according to claim 1, wherein the software permits the resource allocation control device to give priority to the permission of use of the function execution device for each instruction stream, and the function execution device is not used in the instruction stream. 2. The method for controlling an arithmetic unit according to claim 1, wherein the permission of use of the instruction is prohibited and the execution of each instruction stream is optimized.
【請求項6】 請求項1に記載の資源割当制御装置にお
いて、命令解読装置から機能実行装置への命令発行の情
報を調べ、その後の命令流毎への資源割当を、その情報
に基づいて最適化することを特徴とする請求項1に記載
の演算装置の制御方法。
6. The resource allocation control device according to claim 1, wherein information on instruction issuance from an instruction decoding device to a function execution device is checked, and resource allocation for each subsequent instruction stream is optimized based on that information. The control method of the arithmetic unit according to claim 1, wherein
【請求項7】 請求1に記載の演算装置における機能実
行装置において、1個以上の実行情報を退避させる記憶
装置を付加し、実行を中断する事象が生じた場合には、
処理情報を記憶装置に退避し、退避情報を資源割当制御
装置に伝達することによって、実行を中断する事象が生
じた機能実行装置を他の命令による情報処理に使用させ
ることを特徴とする請求項1に記載の演算装置の制御方
法。
7. The function execution device in the arithmetic unit according to claim 1, when a storage device for saving one or more pieces of execution information is added, and an event of interrupting execution occurs,
The function execution device in which the event of interrupting the execution occurs is used for information processing by another instruction by saving the processing information in the storage device and transmitting the saving information to the resource allocation control device. 1. A method for controlling the arithmetic unit according to 1.
【請求項8】 複数の命令取得装置と複数の命令解読装
置、複数の機能実行装置を有し、複数の命令流に対して
同時に情報処理を実行する演算装置において、命令流毎
に使用することができる機能実行装置に対して制限を設
けて、命令流毎に用意される機能実行のための一時記憶
装置とバッファ記憶装置と、機能実行装置との間の結合
と、機能実行装置と命令解読装置との間の結合を簡単化
したことを特徴とする演算装置。
8. An arithmetic unit having a plurality of instruction acquisition units, a plurality of instruction decoding units, and a plurality of function execution units, which is used for each instruction stream in an arithmetic unit which simultaneously executes information processing for a plurality of instruction streams. By setting a limit on the function execution device capable of executing, a temporary storage device and a buffer storage device for function execution prepared for each instruction stream, coupling between the function execution device, and the function execution device and instruction decoding An arithmetic unit characterized by simplifying the connection with the unit.
JP5326658A 1993-12-24 1993-12-24 Arithmetic device and control method thereof Expired - Fee Related JP2760273B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5326658A JP2760273B2 (en) 1993-12-24 1993-12-24 Arithmetic device and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5326658A JP2760273B2 (en) 1993-12-24 1993-12-24 Arithmetic device and control method thereof

Publications (2)

Publication Number Publication Date
JPH07182168A true JPH07182168A (en) 1995-07-21
JP2760273B2 JP2760273B2 (en) 1998-05-28

Family

ID=18190230

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5326658A Expired - Fee Related JP2760273B2 (en) 1993-12-24 1993-12-24 Arithmetic device and control method thereof

Country Status (1)

Country Link
JP (1) JP2760273B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08161168A (en) * 1994-12-01 1996-06-21 Matsushita Electric Ind Co Ltd Data processor
US7103755B2 (en) 2002-06-27 2006-09-05 Fujitsu Limited Apparatus and method for realizing effective parallel execution of instructions in an information processor
JP2006236245A (en) * 2005-02-28 2006-09-07 Toshiba Corp Arithmetic processing unit

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60263238A (en) * 1984-06-11 1985-12-26 Nippon Telegr & Teleph Corp <Ntt> Information processor
JPH04153734A (en) * 1990-10-17 1992-05-27 Mitsubishi Electric Corp Parallel processor
JPH04360234A (en) * 1991-06-06 1992-12-14 Matsushita Electric Ind Co Ltd Information processor and instruction scheduling device
JPH0520068A (en) * 1991-07-09 1993-01-29 Mitsubishi Electric Corp Parallel arithmetic processor
JPH05120239A (en) * 1991-10-30 1993-05-18 Seiko Epson Corp Parallel processing circuit
JPH05158690A (en) * 1991-12-03 1993-06-25 Fujitsu Ltd Parallel arithmetic circuit
JPH05334267A (en) * 1992-06-02 1993-12-17 Fujitsu Ltd Parallel processor

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60263238A (en) * 1984-06-11 1985-12-26 Nippon Telegr & Teleph Corp <Ntt> Information processor
JPH04153734A (en) * 1990-10-17 1992-05-27 Mitsubishi Electric Corp Parallel processor
JPH04360234A (en) * 1991-06-06 1992-12-14 Matsushita Electric Ind Co Ltd Information processor and instruction scheduling device
JPH0520068A (en) * 1991-07-09 1993-01-29 Mitsubishi Electric Corp Parallel arithmetic processor
JPH05120239A (en) * 1991-10-30 1993-05-18 Seiko Epson Corp Parallel processing circuit
JPH05158690A (en) * 1991-12-03 1993-06-25 Fujitsu Ltd Parallel arithmetic circuit
JPH05334267A (en) * 1992-06-02 1993-12-17 Fujitsu Ltd Parallel processor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08161168A (en) * 1994-12-01 1996-06-21 Matsushita Electric Ind Co Ltd Data processor
US7103755B2 (en) 2002-06-27 2006-09-05 Fujitsu Limited Apparatus and method for realizing effective parallel execution of instructions in an information processor
JP2006236245A (en) * 2005-02-28 2006-09-07 Toshiba Corp Arithmetic processing unit

Also Published As

Publication number Publication date
JP2760273B2 (en) 1998-05-28

Similar Documents

Publication Publication Date Title
US7020879B1 (en) Interrupt and exception handling for multi-streaming digital processors
US7650605B2 (en) Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
US7631308B2 (en) Thread priority method for ensuring processing fairness in simultaneous multi-threading microprocessors
US6928647B2 (en) Method and apparatus for controlling the processing priority between multiple threads in a multithreaded processor
US7694304B2 (en) Mechanisms for dynamic configuration of virtual processor resources
US6389449B1 (en) Interstream control and communications for multi-streaming digital processors
US5452452A (en) System having integrated dispatcher for self scheduling processors to execute multiple types of processes
US20070204268A1 (en) Methods and systems for scheduling processes in a multi-core processor environment
JP2005284749A (en) Parallel computer
US7398378B2 (en) Allocating lower priority interrupt for processing to slave processor via master processor currently processing higher priority interrupt through special interrupt among processors
US7490223B2 (en) Dynamic resource allocation among master processors that require service from a coprocessor
US20130298136A1 (en) Multiprocessor system
US20070198984A1 (en) Synchronized register renaming in a multiprocessor
US20060212840A1 (en) Method and system for efficient use of secondary threads in a multiple execution path processor
US7711925B2 (en) Information-processing device with transaction processor for executing subset of instruction set where if transaction processor cannot efficiently execute the instruction it is sent to general-purpose processor via interrupt
EP1299801B1 (en) Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors
JP2760273B2 (en) Arithmetic device and control method thereof
WO2000070482A1 (en) Interrupt and exception handling for multi-streaming digital processors
WO1992003784A1 (en) Scheduling method for a multiprocessing operating system
JPS60564A (en) Memory access competition controlling system
JP2000347857A (en) Superscalar type processor

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19971021

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980217

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

Free format text: PAYMENT UNTIL: 20080320

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090320

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090320

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100320

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees