JPH0644089A - Information processor - Google Patents

Information processor

Info

Publication number
JPH0644089A
JPH0644089A JP11591393A JP11591393A JPH0644089A JP H0644089 A JPH0644089 A JP H0644089A JP 11591393 A JP11591393 A JP 11591393A JP 11591393 A JP11591393 A JP 11591393A JP H0644089 A JPH0644089 A JP H0644089A
Authority
JP
Japan
Prior art keywords
instruction
execution
unit
stream
units
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11591393A
Other languages
Japanese (ja)
Inventor
Kozo Kimura
浩三 木村
Hiroaki Hirata
博章 平田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP11591393A priority Critical patent/JPH0644089A/en
Publication of JPH0644089A publication Critical patent/JPH0644089A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To efficiently use the plural arithmetic operation units of plural instruc tion streams so is to execute them. CONSTITUTION:Plural operand buffers 51, 61, 71 and 81, the plural arithmetic operation units 52, 62, 72 and 82, plural register files 107-109, execution control parts 54, 64, 74 and 84 controlling the execution of the plural instruction streams and a context back-up memory 111 storing the context of the instruction stream are provided. The execution control parts 54, 69, 74 and 84 stops the execution of the instruction stream of an instruction which becomes a main cause when a specified event occurs or a specified state is detected, saves the context in the context back-up memory 111 and executes change-over to the new instruction stream context so as to start execution.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は複数の命令ストリームの
命令を並列に発行することによって、複数の演算ユニッ
トを効率よく使用する情報処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus for efficiently using a plurality of arithmetic units by issuing instructions of a plurality of instruction streams in parallel.

【0002】[0002]

【従来の技術】従来の情報処理装置の例としては、一つ
のプロセッサ内で複数の命令流を同時に処理するマルチ
スレッド・プロセッサがある。この方式については、
“A Multi threaded Processor Architecture with Sim
ultaneous InstructionIssuing,”In Proc. of ISS'9
1:International Symposium on Supercomputing,Fukuo
ka, Japan, pp.87-96, November 1991 に詳細に述べら
れている。この従来の情報処理装置の構成図を図7に示
す。図7において200は命令キャッシュ、201は命令フェ
ッチユニット、202は解読ユニット、203はスタンバイス
テーション、204は命令スケジュールユニット、205は機
能ユニット、206はレジスタセットである。以上のよう
に構成された従来例の情報処理装置について、その動作
を説明する。
2. Description of the Related Art As an example of a conventional information processing apparatus, there is a multi-thread processor which processes a plurality of instruction streams simultaneously in one processor. For this method,
“A Multi threaded Processor Architecture with Sim
ultaneous Instruction Issuing, ”In Proc. of ISS'9
1: International Symposium on Supercomputing, Fukuo
ka, Japan, pp.87-96, November 1991. FIG. 7 shows a block diagram of this conventional information processing apparatus. In FIG. 7, 200 is an instruction cache, 201 is an instruction fetch unit, 202 is a decoding unit, 203 is a standby station, 204 is an instruction schedule unit, 205 is a functional unit, and 206 is a register set. The operation of the conventional information processing apparatus configured as described above will be described.

【0003】各命令フェッチユニット201はそれぞれ異
なる命令流の命令を命令キャッシュ200から読み込む。
解読ユニット202はそれぞれの命令流の命令を解読し、
命令を処理可能な機能ユニット205に接続されているス
タンバイステーション203に格納する。命令スケジュー
ルユニット204はスタンバイステーション203から適切な
命令を選択し、機能ユニット205に送る。機能ユニット2
05はレジスタセット206を用いて実行する。
Each instruction fetch unit 201 reads an instruction having a different instruction stream from the instruction cache 200.
Decoding unit 202 decodes each instruction stream instruction,
The instructions are stored in a standby station 203 connected to a functional unit 205 capable of processing. The instruction scheduling unit 204 selects the appropriate instruction from the standby station 203 and sends it to the functional unit 205. Functional unit 2
05 is executed using the register set 206.

【0004】このプロセッサの特徴は複数の命令流を演
算器で共有して実行することである。既存のスーパース
カラ処理方式のプロセッサは機能ユニット205のみの多
重化(複数化)のため、同時に処理可能な命令ストリーム
は1つで、命令間の依存関係によりパイプラインインタ
ロックが頻繁に発生する。その結果、機能ユニット205
の使用効率は上がらず性能向上が困難であった。また、
従来例のプロセッサでは複数の命令ストリームの命令を
並列に実行することにより命令レベルの並列性を増加
し、各機能ユニットの使用効率を上げ、性能向上を実現
できる。
A feature of this processor is that a plurality of instruction streams are shared by the arithmetic units and executed. Since the existing superscalar processing type processor multiplexes (multiplies) only the functional unit 205, only one instruction stream can be processed at the same time, and pipeline interlock frequently occurs due to the dependency between instructions. As a result, functional unit 205
It was difficult to improve the performance because the usage efficiency did not increase. Also,
In the processor of the conventional example, the instruction level parallelism can be increased by executing the instructions of a plurality of instruction streams in parallel, the usage efficiency of each functional unit can be increased, and the performance can be improved.

【0005】[0005]

【発明が解決しようとする課題】しかしながら上記の構
成では、下記の問題点を有していた。機能ユニット205
の1つのロードストアユニットにおいて、ある1つの命
令ストリームのロード命令を実行した時、キャッシュミ
スを起こしたとする。キャッシュミスが発生するとキャ
ッシュは主記憶よりデータのアップデートを行うためロ
ードストアユニットはインタロック状態に陥る。これよ
り、長時間にわたり、キャッシュミスを起こした命令ス
トリームの解読ユニット202などが命令発行待ちの状態
となり、ロード命令に後続する命令が実行できなくな
る。そして、他の命令ストリームの命令についてもロー
ドストアユニットを使用できなくなり、やがてプロセッ
サ全体が停止してしまうことになる。このように、ある
1箇所でパイプラインのインタロックが発生するとプロ
セッサ全体に影響を及ぼし、性能劣化を引き起こす。
However, the above configuration has the following problems. Functional unit 205
It is assumed that a cache miss occurs when a load instruction of a certain instruction stream is executed in one load / store unit. When a cache miss occurs, the cache updates the data from the main memory and the load / store unit falls into an interlock state. As a result, for a long time, the decoding unit 202 of the instruction stream that has caused the cache miss and the like waits for the instruction issuance, and the instruction following the load instruction cannot be executed. Then, the load / store unit cannot be used for the instructions of other instruction streams, and eventually the entire processor is stopped. In this way, if a pipeline interlock occurs at one place, it affects the entire processor and causes performance degradation.

【0006】本発明は上記問題点に鑑み、複数の命令ス
トリームを同時実行するプロセッサにおいて、パイプラ
インのインタロックおよびロック時間を削減し、高性能
を実現する情報処理装置の提供を目的とする。
In view of the above problems, it is an object of the present invention to provide an information processing apparatus which realizes high performance by reducing pipeline interlock and lock time in a processor which simultaneously executes a plurality of instruction streams.

【0007】[0007]

【課題を解決するための手段】本発明は、上記問題点を
解決するために、請求項1記載の発明の情報処理装置
は、複数の命令準備部と、複数の演算実行部と、複数の
レジスタファイルと、前記命令準備部と演算実行部の間
に設けられる命令スケジュール部を備え、特定のイベン
トが発生したり、または特定の状態を検出した場合に
は、その要因となった命令の命令流の実行を停止し、メ
モリに停止した命令流のコンテキストを退避し、メモリ
から新たな命令流のコンテキストを格納して実行を開始
することを特徴としている。
In order to solve the above problems, the present invention provides an information processing apparatus according to the first aspect of the invention, wherein a plurality of instruction preparation units, a plurality of operation execution units, and a plurality of operation execution units are provided. A register file and an instruction schedule section provided between the instruction preparation section and the operation execution section are provided, and when a specific event occurs or a specific state is detected, the instruction of the instruction causing the event It is characterized in that the execution of the flow is stopped, the context of the stopped instruction flow is saved in the memory, the context of the new instruction flow is stored from the memory, and the execution is started.

【0008】請求項2記載の発明の情報処理装置は、複
数の命令準備部と、複数の演算実行部と、複数のレジス
タファイルと、前記命令準備部と演算実行部の間に設け
られる命令スケジュール部と、複数の命令流の実行を制
御する命令流実行制御部と、命令流のコンテキストを格
納するメモリを備え、命令流実行制御部は、特定のイベ
ントが発生したり、または特定の状態を検出した場合に
は、その要因となった命令の命令流の実行を停止し、メ
モリに停止した命令流のコンテキストを退避し、メモリ
から新たな命令流のコンテキストを格納して実行を開始
することを特徴としている。
According to another aspect of the present invention, there is provided an information processing apparatus, comprising a plurality of instruction preparation units, a plurality of operation execution units, a plurality of register files, and an instruction schedule provided between the instruction preparation unit and the operation execution units. Section, an instruction stream execution control section that controls execution of a plurality of instruction streams, and a memory that stores the context of the instruction stream.The instruction stream execution control section generates a specific event or a specific state. When it is detected, the execution of the instruction stream that caused it is stopped, the context of the stopped instruction stream is saved in memory, the context of the new instruction stream is stored from memory, and execution is started. Is characterized by.

【0009】請求項3記載の発明の情報処理装置は、複
数の命令準備部と、複数の演算実行部と、少なくとも前
記命令準備部よりも多くの複数のレジスタファイルと、
前記命令準備部と演算実行部の間に設けられる命令スケ
ジュール部と、複数の命令流の実行を制御する命令流実
行制御部を備え、前記命令流実行制御部は、命令流を命
令準備部およびレジスタファイルに対応させて、命令準
備部に割り付けられている命令流については実行させる
が、特定のイベントが発生したり、または特定の状態を
検出した場合には、その要因となった命令の命令流の実
行を停止し、その命令流に割り付けられていた命令準備
部をまだ割り付けられていなかった命令流に対応させ
て、新たに割り付けられた命令流の実行を開始すること
を特徴としている。
An information processing apparatus according to a third aspect of the present invention includes a plurality of instruction preparation units, a plurality of arithmetic execution units, and a plurality of register files at least more than the instruction preparation units.
An instruction schedule section provided between the instruction preparation section and the operation execution section, and an instruction stream execution control section for controlling the execution of a plurality of instruction streams are provided. The instruction stream assigned to the instruction preparation section is executed according to the register file, but when a specific event occurs or a specific state is detected, the instruction of the instruction that caused it It is characterized in that the execution of the newly assigned instruction stream is started by stopping the execution of the instruction stream, making the instruction preparation section assigned to that instruction stream correspond to the instruction stream that has not been assigned yet.

【0010】請求項4記載の発明の情報処理装置は、複
数の命令準備部と、複数の演算実行部と、少なくとも前
記命令準備部よりも多くの複数のレジスタファイルと、
前記命令準備部と演算実行部の間に設けられる命令スケ
ジュール部と、複数の命令流の実行を制御する命令流実
行制御部と、命令流のコンテキストを格納するメモリを
備え、前記命令流実行制御部は、命令流を命令準備部お
よびレジスタファイルに対応させて、命令準備部に割り
付けられている命令流については実行させるが、特定の
イベントが発生したり、または特定の状態を検出した場
合には、その要因となった命令の命令流の実行を停止
し、その命令流に割り付けられていた命令準備部をまだ
割り付けられていなかった命令流に対応させて、新たに
割り付けられた命令流の実行を開始することを特徴とし
ている。
An information processing apparatus according to a fourth aspect of the present invention includes a plurality of instruction preparation units, a plurality of operation execution units, and a plurality of register files at least larger than the instruction preparation units.
The instruction flow execution control includes: an instruction scheduling unit provided between the instruction preparation unit and the operation execution unit; an instruction flow execution control unit that controls execution of a plurality of instruction flows; and a memory that stores a context of the instruction flow. The section associates the instruction stream with the instruction preparation section and the register file, and executes the instruction stream assigned to the instruction preparation section, but when a specific event occurs or a specific state is detected, Stops the execution of the instruction stream that was the cause, makes the instruction preparation section that was assigned to that instruction stream correspond to the instruction stream that has not been assigned, and It is characterized by starting execution.

【0011】請求項5記載の発明の情報処理装置は、命
令流の切り替えの契機となる特定のイベントをキャッシ
ュアクセス時のミスヒットとすることを特徴としてい
る。
An information processing apparatus according to a fifth aspect of the present invention is characterized in that a specific event that triggers the switching of instruction streams is a mishit during cache access.

【0012】請求項6記載の発明の情報処理装置は、特
定のイベントが発生したり、または特定の状態を検出し
た場合には、その要因となった命令の命令流に割り付け
られている命令準備部の実行を停止し、命令準備部の内
部状態を初期化することを特徴としている。
In the information processing apparatus according to the sixth aspect of the present invention, when a specific event occurs or a specific state is detected, the instruction preparation assigned to the instruction stream of the instruction causing the event is prepared. It is characterized in that the execution of the section is stopped and the internal state of the instruction preparation section is initialized.

【0013】請求項7記載の発明の情報処理装置は、命
令流の実行を停止し退避するコンテキストに先頭PCを
含み、再度この命令流を実行する場合には先頭PCから
実行を再開することを特徴としている。
According to the information processing apparatus of the invention as set forth in claim 7, the context for saving and saving the execution of the instruction stream includes the first PC, and when the instruction stream is executed again, the execution is restarted from the first PC. It has a feature.

【0014】請求項8記載の発明の情報処理装置は、命
令流の切り替えの契機となる特定のイベントをキャッシ
ュアクセス時のミスヒットとし、キャッシュミスが発生
した場合、メモリアクセス命令を打ち切り正常終了させ
ることを特徴としている。
According to another aspect of the present invention, an information processing apparatus sets a specific event that triggers the switching of instruction streams as a mishit during cache access, and when a cache miss occurs, aborts the memory access instruction and ends normally. It is characterized by that.

【0015】請求項9記載の発明の情報処理装置は、新
たな命令流を命令準備部に割り付け、命令実行を再開す
る場合、切り替えの要因となり実行を打ち切ったメモリ
アクセス命令を再実行させることを特徴としている。
According to the information processing apparatus of the present invention, when a new instruction stream is allocated to the instruction preparation section and the instruction execution is restarted, the memory access instruction which has been interrupted due to a switching factor is re-executed. It has a feature.

【0016】請求項10記載の発明の情報処理装置は、命
令流の切り替えの契機となる特定のイベントをキャッシ
ュアクセス時のミスヒットとし、命令流のコンテキスト
を退避する場合にはメモリアクセス命令のPCも一緒に
退避することを特徴としている。
According to the information processing apparatus of the present invention, a specific event that triggers the switching of the instruction stream is regarded as a mishit at the time of cache access, and when saving the context of the instruction stream, the PC of the memory access instruction is saved. The feature is that they also evacuate together.

【0017】請求項11記載の発明の情報処理装置は、命
令流の切り替えの契機となる特定のイベントをキャッシ
ュアクセス時のミスヒットとし、命令流のコンテキスト
を退避する場合にはメモリアクセス命令も一緒に退避す
ることを特徴としている。
According to the information processing apparatus of the present invention, a specific event that triggers the switching of instruction streams is regarded as a mishit at the time of cache access, and a memory access instruction is also included when the context of the instruction stream is saved. It is characterized by retreating to.

【0018】請求項12記載の発明の情報処理装置は、コ
ンテキストを退避するメモリが同一プロセッサ上にある
ことを特徴としている。
An information processing apparatus according to a twelfth aspect of the present invention is characterized in that the memories for saving the context are on the same processor.

【0019】請求項13記載の発明の情報処理装置は、命
令流の実行制御部は、コンテキストがメモリに退避され
た命令流については、特定の状態が解消され、かつ命令
流に割り付けられていないレジスタファイルがある場
合、コンテキストがレジスタファイルに復元され命令流
がそのレジスタファイルに割り付けることを特徴として
いる。
According to the information processing apparatus of the thirteenth aspect of the present invention, the instruction flow execution control unit does not allocate a specific state to the instruction flow whose context is saved in the memory and is not allocated to the instruction flow. If there is a register file, the context is restored to the register file and the instruction stream is assigned to the register file.

【0020】請求項14記載の発明の情報処理装置は、命
令流の切り替えの契機となる特定のイベントをキャッシ
ュアクセス時のミスヒットとし、命令流のコンテキスト
を退避する場合にはメモリアクセスアドレスも一緒に退
避することを特徴としている。
According to another aspect of the present invention, in an information processing device, a specific event that triggers a switching of instruction streams is regarded as a mishit during cache access, and a memory access address is also included when the context of the instruction stream is saved. It is characterized by retreating to.

【0021】請求項15記載の発明の情報処理装置は、命
令流の切り替えの契機となる特定のイベントをメモリア
クセスに関するエラーとすることを特徴としている。
An information processing apparatus according to a fifteenth aspect of the present invention is characterized in that a specific event that triggers the switching of instruction streams is set as an error related to memory access.

【0022】[0022]

【作用】請求項1記載の発明の情報処理装置において
は、インタロックを発生した命令流を休眠状態(退避)に
し、ハードウェア機構を他の命令流に割り付ける、すな
わち命令流を切り替えて実行することより、パイプライ
ンのインタロックおよびロック時間を削減し、機能ユニ
ットの使用効率を向上させ、高性能を実現できる。
In the information processing apparatus according to the first aspect of the present invention, the instruction stream in which the interlock has occurred is put into a sleep state (save) and the hardware mechanism is assigned to another instruction stream, that is, the instruction stream is switched and executed. Therefore, it is possible to reduce the interlock and lock time of the pipeline, improve the usage efficiency of the functional unit, and realize high performance.

【0023】請求項2記載の発明の情報処理装置におい
ては、インタロックを発生した命令流を休眠状態にして
コンテキストをメモリに退避し、新たな命令流のコンテ
キストを復帰させ、ハードウェア機構を割り付ける、す
なわち命令流を切り替えて実行することにより、パイプ
ラインのインタロックおよびロック時間を削減し、機能
ユニットの使用効率を向上させ、高性能を実現できる。
In the information processing apparatus according to the second aspect of the present invention, the instruction stream in which the interlock has occurred is put in the sleep state, the context is saved in the memory, the context of the new instruction stream is restored, and the hardware mechanism is allocated. That is, by switching and executing the instruction streams, the pipeline interlock and lock time can be reduced, the usage efficiency of the functional units can be improved, and high performance can be realized.

【0024】請求項3記載の発明の情報処理装置におい
ては、命令準備部よりも多くのレジスタファイルを設け
ることにより、インタロックが発生しても、インタロッ
クが発生した命令流のコンテキストをメモリに退避する
ことなく、新たな命令流を実行させることができるの
で、高速な命令流切り替えができる。
In the information processing apparatus according to the third aspect of the present invention, by providing more register files than the instruction preparation unit, even if an interlock occurs, the context of the instruction stream in which the interlock occurs is stored in the memory. Since a new instruction stream can be executed without saving, a high-speed instruction stream switching can be performed.

【0025】請求項4および13記載の発明の情報処理装
置においては、命令準備部よりも多くのレジスタファイ
ルとコンテキストを退避するメモリを設けることによ
り、インタロックを発生した場合、インタロックを発生
した命令流のコンテキストはメモリに退避するが、新た
な命令流のコンテキストは予めレジスタに準備すること
ができるので、通常の命令と命令流の切り替えをオーバ
ーラップして実行できるので、高速な命令流切り替えが
できる。
In the information processing apparatus according to the fourth and thirteenth aspects of the present invention, the interlock is generated when the interlock is generated by providing more register files than the instruction preparation unit and a memory for saving the context. The context of the instruction stream is saved in the memory, but the context of the new instruction stream can be prepared in the register in advance, so switching between normal instructions and instruction streams can be performed overlappingly, so fast instruction stream switching is possible. You can

【0026】請求項5記載の発明の情報処理装置におい
ては、命令流の切り替えの契機となる特定のイベントを
キャッシュアクセス時のミスヒットとすることにより、
メモリアクセス時のオーバーヘッドを削減できる。
In the information processing apparatus according to the fifth aspect of the present invention, the specific event that triggers the switching of the instruction stream is a mishit during cache access,
The overhead at memory access can be reduced.

【0027】請求項6記載の発明の情報処理装置におい
ては、特定のイベントが発生したり、または特定の状態
を検出した場合には、その要因となった命令の命令流に
割り付けられている命令準備部の実行を停止し、命令準
備部の内部状態を初期化することにより、パイプライン
制御が容易になる。
In the information processing apparatus according to the sixth aspect of the present invention, when a specific event occurs or a specific state is detected, the instruction assigned to the instruction stream of the instruction causing the event. By stopping the execution of the preparation section and initializing the internal state of the instruction preparation section, pipeline control becomes easier.

【0028】請求項7記載の発明の情報処理装置におい
ては、命令流の実行を停止し退避するコンテキストに先
頭PCを含み、再度この命令流を実行する場合には先頭
PCから実行を再開することにより、命令切り替えの制
御が容易になる。
In the information processing apparatus according to the seventh aspect of the present invention, the context for saving and saving the execution of the instruction stream includes the head PC, and when the instruction stream is executed again, the execution is restarted from the head PC. This facilitates control of instruction switching.

【0029】請求項8記載の発明の情報処理装置におい
ては、命令流の切り替えの契機となる特定のイベントを
キャッシュアクセス時のミスヒットとし、キャッシュミ
スが発生した場合、メモリアクセス命令を打ち切り正常
終了させることにより、命令切り替えの制御が容易にな
る。
According to another aspect of the information processing apparatus of the present invention, a specific event that triggers the switching of instruction streams is regarded as a mishit during cache access, and when a cache miss occurs, the memory access instruction is aborted and the processing ends normally. By doing so, control of instruction switching becomes easy.

【0030】請求項9記載の発明の情報処理装置におい
ては、新たな命令流を命令準備部に割り付け、命令実行
を再開する場合、切り替えの要因となり実行を打ち切っ
たメモリアクセス命令を再実行させることにより、命令
切り替えの制御が容易になる。
In the information processing apparatus according to the ninth aspect of the present invention, when a new instruction stream is allocated to the instruction preparation section and the instruction execution is restarted, the memory access instruction that caused the switching and was aborted is re-executed. This facilitates control of instruction switching.

【0031】請求項10記載の発明の情報処理装置におい
ては、命令流の切り替えの契機となる特定のイベントを
キャッシュアクセス時のミスヒットとし、命令流のコン
テキストを退避する場合にはメモリアクセス命令のPC
も一緒に退避することにより、命令再実行が可能となり
切り替えの制御が容易になる。
In the information processing apparatus according to the tenth aspect of the present invention, a specific event that triggers the switching of instruction streams is regarded as a mishit at the time of cache access, and when the context of the instruction stream is saved, a memory access instruction PC
Also, by saving together, instruction re-execution becomes possible and switching control becomes easy.

【0032】請求項11記載の発明の情報処理装置におい
ては、命令流の切り替えの契機となる特定のイベントを
キャッシュアクセス時のミスヒットとし、命令流のコン
テキストを退避する場合にはメモリアクセス命令も一緒
に退避することにより、命令再実行が高速に実現でき切
り替えの制御も容易になる。
In the information processing apparatus according to the invention of claim 11, a specific event that triggers the switching of instruction streams is regarded as a mishit during cache access, and memory access instructions are also stored when the context of the instruction stream is saved. By saving together, instruction re-execution can be realized at high speed and switching control becomes easy.

【0033】請求項12記載の発明の情報処理装置におい
ては、コンテキストを退避するメモリを同一プロセッサ
上に実現することにより、高速な切り替えやロード命令
などの外部バスを使用する命令と並列に実行できる。
In the information processing apparatus according to the twelfth aspect of the present invention, by implementing the memory for saving the context on the same processor, it is possible to execute the instruction in parallel with the instruction using the external bus such as high-speed switching or load instruction. .

【0034】請求項14記載の発明の情報処理装置におい
ては、命令流の切り替えの契機となる特定のイベントを
キャッシュアクセス時のミスヒットとし、命令流のコン
テキストを退避する場合にはメモリアクセスアドレスも
一緒に退避することにより、命令再実行が高速に実現で
き切り替えの制御も容易になる。
In the information processing apparatus according to the fourteenth aspect of the present invention, a specific event that triggers the switching of the instruction stream is regarded as a mishit at the time of cache access, and the memory access address is also stored when the context of the instruction stream is saved. By saving together, instruction re-execution can be realized at high speed and switching control becomes easy.

【0035】請求項15記載の発明の情報処理装置におい
ては、命令流の切り替えの契機となる特定のイベントを
メモリアクセスに関するエラーとすることにより、メモ
リアクセスエラー時のオーバーヘッドを削減できる。
In the information processing apparatus according to the fifteenth aspect of the present invention, the overhead at the time of the memory access error can be reduced by setting the specific event that triggers the switching of the instruction stream as an error related to the memory access.

【0036】[0036]

【実施例】図1は本発明の一実施例における情報処理装
置の構成図を示すものである。図1において、11および
21はメモリからフェッチした命令を格納しておく命令バ
ッファ、12および22はフェッチしてくる命令のアドレス
計算およびアドレス(PC(プログラムカウンタ)値と同
じになる)管理を行う命令フェッチ制御部、13および23
はフェッチする命令のアドレスを格納する命令フェッチ
カウンタ(以下、FCと略す)、14および24は命令バッフ
ァ11および21から出力する命令を解読する命令解読部、
15および25は命令解読部14および24と対応して解読中の
命令のアドレスを格納する解読プログラムカウンタ(以
下、解読PCと略す)であり、この解読PC A15およ
び解読PC B25は解読PC値だけではなく命令流のI
D番号を格納している。
1 is a block diagram of an information processing apparatus according to an embodiment of the present invention. In FIG. 1, 11 and
Reference numeral 21 is an instruction buffer for storing instructions fetched from the memory, 12 and 22 are instruction fetch control units for calculating addresses of fetched instructions and managing addresses (same as PC (program counter) values), 13 And 23
Is an instruction fetch counter (hereinafter abbreviated as FC) that stores the address of the instruction to be fetched, 14 and 24 are instruction decoding units that decode the instructions output from the instruction buffers 11 and 21,
Denoted by 15 and 25 are deciphering program counters (hereinafter abbreviated as deciphering PCs) for storing the addresses of the instructions being deciphered corresponding to the deciphering units 14 and 24. A15 and decryption PC B25 is not only the decoded PC value
Stores the D number.

【0037】51,61,71および81はレジスタからの命令
を一時的に格納するオペランドバッファ、52,62,72お
よび82は演算ユニットであり、この演算ユニットの機能
は特に限定する必要はないが説明を簡単にするため、か
つ一般的な構成を考えると、52はメモリアクセス命令を
処理するロードストアユニット、62は整数演算を処理す
る整数演算ユニット、72は浮動小数点の加減算や整数と
浮動小数点間の変換を行う浮動小数点加算ユニット、82
は浮動小数点の乗算や除算を行う浮動小数点乗算ユニッ
トである。
51, 61, 71 and 81 are operand buffers for temporarily storing instructions from registers, and 52, 62, 72 and 82 are arithmetic units. The functions of these arithmetic units need not be particularly limited. For ease of explanation and considering the general configuration, 52 is a load / store unit that processes memory access instructions, 62 is an integer arithmetic unit that processes integer arithmetic, and 72 is floating point addition / subtraction or integer and floating point. Floating point adder unit to convert between, 82
Is a floating-point multiplication unit that performs floating-point multiplication and division.

【0038】53,63,73および83はオペレーションまた
は命令を一時的に格納するオペレーションバッファ、5
4,64,74および84は各演算ユニットを制御する実行制
御部、55,65,75および85は実行中の命令のアドレス
(実行PC)を格納する実行プログラムカウンタ(以下、
実行PCと略す)であり、この実行PC 55および実行
PC 65は実行PC値だけではなく命令流のID番号を格
納している。
53, 63, 73 and 83 are operations or
Is an operation buffer for temporarily storing instructions, 5
4, 64, 74 and 84 are execution systems that control each arithmetic unit.
The control part, 55, 65, 75 and 85 are the addresses of the instructions being executed.
Execution program counter that stores (execution PC) (hereinafter,
This is the execution PC. 55 and run
PC 65 indicates not only the execution PC value but also the instruction stream ID number.
I have paid.

【0039】101は命令フェッチ用のアドレスを命令フ
ェッチ制御部12および22から選択するセレクタ、102は
命令の解読結果であるオペレーションおよび即値などを
処理対象の演算ユニットに接続するオペレーション用ス
イッチ、103はオペレーション用スイッチ102と連動して
解読PC値を対応する実行PCに接続するPC用スイッ
チ、104は命令解読部14および24から出力された即値と
レジスタファイル107,108および109から出力されたオ
ペランドをオペランドバッファ51,61,71および81に接
続するオペランドスイッチである。
Reference numeral 101 is a selector for selecting an address for instruction fetch from the instruction fetch control units 12 and 22, 102 is an operation switch for connecting an operation resulting from instruction decoding, an immediate value, etc., to an arithmetic unit to be processed, and 103 is A PC switch for connecting the decoded PC value to the corresponding execution PC in conjunction with the operation switch 102, 104 denotes the immediate value output from the instruction decoding units 14 and 24 and the operand output from the register files 107, 108 and 109. Operand switches connected to the operand buffers 51, 61, 71 and 81.

【0040】105はパイプラインを無効化したり、命令
を再実行させたりなどのパイプライン制御を司るパイプ
ライン制御部、106は実行対象となっているレジスタフ
ァイル107,108,109を選択してレジスタ番号を出力す
るレジスタ指定用スイッチ、前記レジスタファイル10
7,108および109は演算ユニット52,62,72,82に対応
して整数用と浮動小数点用レジスタを持つ。
Reference numeral 105 denotes a pipeline control unit for controlling pipeline control such as invalidating a pipeline or re-executing an instruction, and 106 selects a register file 107, 108, or 109 to be executed and registers it. Register designating switch that outputs numbers, register file 10
7, 108 and 109 have integer and floating point registers corresponding to the arithmetic units 52, 62, 72 and 82.

【0041】110は演算結果を対応するレジスタに接続
する書き込み用スイッチ、111は命令流を切り替えたと
きにレジスタファイル107,108および109の内容や実行
PC値を格納するコンテキスト・バックアップ・メモ
リ、112はレジスタファイル107,108および109とコンテ
キスト・バックアップ・メモリ111間でデータを転送す
る場合に両者を接続するバックアップ用スイッチ、113
は命令実行中でデータが確定していないレジスタの番号
を示すスコアボード、114はスコアボードの状態と命令
よりデータ依存が発生しているか否かを調べるデータ依
存チェック部、115は命令流の状態と対応する命令フェ
ッチユニットと対応するレジスタファイルを示す状態管
理テーブルである。
110 is a write switch for connecting the calculation result to the corresponding register, 111 is a context backup memory for storing the contents of the register files 107, 108 and 109 and the execution PC value when the instruction stream is switched, 112 Is a backup switch that connects the register files 107, 108 and 109 and the context backup memory 111 when the data is transferred between them, 113
Is a scoreboard indicating the number of a register in which instructions are being executed and data is not fixed. 114 is a state of the scoreboard and a data dependency check unit for checking whether data dependency occurs from an instruction. 115 is an instruction flow state. 5 is a state management table showing a register file corresponding to an instruction fetch unit corresponding to

【0042】説明を分かりやすくするために、同じ機能
を持つ機構(命令バッファや命令解読部など)について
は、図1に示すように名称の最後に適当なアルファベッ
トを付加して区別する。同じアルファベットが付加され
たものは、同一の命令流を扱うと考えてよい。
For the sake of clarity, mechanisms having the same function (such as an instruction buffer and an instruction decoding unit) will be distinguished by adding an appropriate alphabet to the end of the name as shown in FIG. Those to which the same alphabet is added may be considered to handle the same instruction stream.

【0043】命令バッファ11および21をそれぞれ命令バ
ッファ A、命令バッファ Bとし、同様に命令解読部
14および24もそれぞれ命令解読部 A、命令解読部
とする。命令フェッチ制御部12および22や解読PC15お
よび25等についても図1に示すとおり同様である。レジ
スタファイル107,108および109については、それぞれ
レジスタファイル X,レジスタファイル Y,レジス
タファイル Zとする。
The instruction buffers 11 and 21 are respectively A, instruction buffer B, similarly the instruction decoding unit
14 and 24 are also instruction decoding units A, instruction decoding unit B
And The instruction fetch control units 12 and 22 and the decoding PCs 15 and 25 are the same as shown in FIG. Register files 107, 108 and 109 are respectively registered X, register file Y, register file Let Z.

【0044】以上のように構成された本実施例の情報処
理装置について、以下図1を用いてその動作を説明す
る。まず、動作を説明する前に、データ(命令も含む)や
構成に関する前提条件について述べる。命令流(スレッ
ド)は4個とし説明を分かりやすくするために、命令流
1,命令流2,命令流3,命令流4とする。図1に示し
たようにレジスタファイルはX,Y,Zの3セット(10
7,108,109)とする。同様に、命令フェッチユニット
(命令バッファ11,21および命令フェッチ制御部12,22
などを含む)や、命令解読部14,24などは2セットとす
る。従って、同時実行の可能な命令流は2個となる。演
算ユニット52,62,72,82はパイプライン化されている
が、パイプライン段数を始め詳細な構成等については本
発明とは直接関係しないので特に規定しない。また、命
令解読部14,24は命令流1個につき1命令を解読し、一
度に発行できる命令も1個とする。ロードストアユニッ
ト52はキャッシュユニットに接続され、ヒット時には高
速にデータをアクセスできるとする。
The operation of the information processing apparatus of this embodiment constructed as above will be described below with reference to FIG. First, before describing the operation, preconditions regarding data (including instructions) and configuration will be described. The number of instruction streams (threads) is four, and the instruction stream 1, the instruction stream 2, the instruction stream 3, and the instruction stream 4 are provided for the sake of easy understanding. As shown in FIG. 1, the register file has three sets of X, Y, and Z (10
7, 108, 109). Similarly, the instruction fetch unit
(Instruction buffers 11 and 21 and instruction fetch control units 12 and 22
Etc.), instruction decoding units 14, 24, etc. are two sets. Therefore, there are two instruction streams that can be executed simultaneously. Although the arithmetic units 52, 62, 72, 82 are pipelined, detailed configurations such as the number of pipeline stages are not directly specified because they are not directly related to the present invention. Further, the instruction decoding units 14 and 24 decode one instruction for each instruction stream, so that only one instruction can be issued at a time. It is assumed that the load / store unit 52 is connected to the cache unit and can access data at high speed when hit.

【0045】命令流の状態と対応する命令フェッチユニ
ットおよびレジスタファイルの初期状態を表1に示す。
Table 1 shows the initial state of the instruction fetch unit and the register file corresponding to the state of the instruction stream.

【0046】[0046]

【表1】 [Table 1]

【0047】これはパイプライン制御部105内の状態管
理テーブル115の内容と等価であり、パイプライン制御
部105はこの状態管理テーブル115の内容を更新すると同
時に、状態管理テーブル115の内容に基づいて命令流や
パイプラインを制御する。表1を用いて初期状態を説明
する。
This is equivalent to the contents of the state management table 115 in the pipeline control unit 105. The pipeline control unit 105 updates the contents of this state management table 115 and at the same time, based on the contents of the state management table 115. Control instruction flow and pipeline. The initial state will be described with reference to Table 1.

【0048】命令流1および2が情報処理装置内部で現
在実行中であり、命令流3および4は実行可能状態にあ
る。命令流1および2は実行状態にあるのでレジスタフ
ァイル107,108,109に割り付けられており、命令フェ
ッチユニットは命令流1および2の命令をフェッチして
いる。従って、命令流1については、命令フェッチユニ
ット A(命令バッファ A11や命令フェッチ制御部
A12等を含む)で命令をフェッチし、命令解読部 A14
(解読PC A15等も含む)で命令を解読し、演算は演算
ユニット(演算ユニットについては命令流に関わらず命
令の種類によって使用する)でレジスタファイル X107
を使用して実行する。
Instruction streams 1 and 2 are currently being executed inside the information processing apparatus, and instruction streams 3 and 4 are in an executable state. Since the instruction streams 1 and 2 are in the execution state, they are allocated to the register files 107, 108, and 109, and the instruction fetch unit fetches the instructions of the instruction streams 1 and 2. Therefore, for instruction stream 1, the instruction fetch unit A (instruction buffer A11 and instruction fetch controller
(Including A12, etc.) A14
(Decryption PC The instruction file is decoded by A15 etc.) and the operation is performed by the operation unit (the operation unit is used depending on the type of the instruction regardless of the instruction flow) X107
To run.

【0049】同様に、命令流2については、命令フェッ
チユニット B(命令バッファ B21や命令フェッチ制
御部 B22等を含む)で命令をフェッチし、命令解読部
B24(解読PC B25等も含む)で命令を解読し、演算
は演算ユニット(演算ユニットについては命令流に関わ
らず命令の種類によって使用する)でレジスタファイル
Y108を使用して実行する。命令流3および命令流4
は、初期状態は実行可能状態なので、命令フェッチバッ
ファや命令解読部等は使用できない。しかし、レジスタ
ファイルはもう1セット設けてあるので、命令流3をレ
ジスタファイル Z109に割り付けることにする。
Similarly, for instruction stream 2,
Chi unit B (instruction buffer B21 or instruction fetch system
Part (Including B22, etc.)
B24 (decoding PC B25 etc. are included)
Is an arithmetic unit (for arithmetic units,
Register file
Run using Y108. Command flow 3 and command flow 4
Is an executable state in the initial state.
You can't use files, instruction decoding units, etc. But the register
There is another set of files, so instruction stream 3
Dista file I will assign it to Z109.

【0050】演算ユニットでは命令流1または命令流2
の命令が実行されており、処理する命令がない場合には
アイドル状態になっている。スコアボード113では実行
中により結果が確定していないレジスタ番号が命令流ご
とに管理されている。コンテキスト・バックアップ・メ
モリ111には現在レジスタファイル107,108,109に格納
されていない命令流のレジスタ資源などが格納されてい
る。
Instruction stream 1 or instruction stream 2 in the arithmetic unit
Is being executed and there is no instruction to process, it is in the idle state. In the scoreboard 113, register numbers whose results have not been determined due to execution are managed for each instruction stream. The context backup memory 111 stores register resources of an instruction stream which are not currently stored in the register files 107, 108 and 109.

【0051】次に切り替えが発生しない定常状態につい
ての動作を説明する。
Next, the operation in the steady state where switching does not occur will be described.

【0052】命令フェッチ制御部 A12は命令流1の命
令をフェッチし命令バッファ A11に格納している。同
様に、命令フェッチ制御部 B22は命令流2の命令をフ
ェッチし命令バッファ B21に格納している。命令フェ
ッチ制御部 A12および B22は切れ目なく命令を供給
するのが主機能であるから、その他の構成とは独立に命
令バッファ A11および B21に命令を供給する。命令
バッファ A11および B21がフル(一杯)になれば命令フ
ェッチを停止する。FC A13および B23は命令をフ
ェッチする際の命令のアドレスを格納している。定常状
態ではアドレスをインクリメントしてフェッチ先のアド
レスを計算しておく。また、フェッチ先のアドレスはセ
レクタ101で選択される。分岐が発生した場合には分岐
先命令のアドレス計算や分岐先命令のフェッチなどの動
作もあるが、本発明とは特に関係しないので省略する。
Instruction fetch controller A12 is life of command flow 1
Instruction fetch and instruction buffer It is stored in A11. same
Like the instruction fetch controller B22 is an instruction of instruction stream 2
Instruction buffer It is stored in B21. Instruction
Control unit A12 and B22 supplies commands seamlessly
Since it is the main function to do so, it lives independently of other configurations.
Command buffer A11 and Supply command to B21. order
buffer A11 and If B21 becomes full (full)
Stop. FC A13 and B23
Stores the address of the instruction used when performing a switch. Steady state
In the state, the address is incremented and the fetch destination address is incremented.
Calculate the reply. The fetch destination address is
Selected by the lector 101. Branch if a branch occurs
Operations such as address calculation of the destination instruction and fetch of the destination instruction
Although there is a work, it is omitted because it is not particularly related to the present invention.

【0053】命令解読部 A14および B24より以下の
ステージの説明は、動作を分かり易くするために命令流
1および命令流2の命令から動作を説明する。
Instruction decoding unit A14 and In the description of the stages below from B24, the operation will be described from the instructions of the instruction stream 1 and the instruction stream 2 in order to make the operation easy to understand.

【0054】命令解読部 A14は命令バッファ A11か
らLOAD命令(メモリからレジスタへのロード命令)
を、命令解読部 B24は命令バッファ B21からADD
命令(整数レジスタ間の加算命令)を取り出し、それぞ
れ解読しオペレーションを作成するとともに、そのオペ
レーションを処理すべき演算ユニットを決定する。同時
に同一命令流内でデータ依存関係が発生していないかを
チェックする。依存関係のチェックは、スコアボード11
3とデータ依存チェック部114が行う。
Instruction decoding unit A14 is the instruction buffer A11 to LOAD instruction (memory to register load instruction)
The instruction decoder B24 is the instruction buffer B21 to ADD
Instructions (addition instructions between integer registers) are fetched, respectively decoded to create an operation, and an arithmetic unit to process the operation is determined. At the same time, it is checked whether a data dependency has occurred in the same instruction stream. Dependency check scoreboard 11
3 and the data dependence check unit 114.

【0055】具体的には現在実行中のためにレジスタの
値が確定していないレジスタ番号がスコアボード113に
登録されており、命令解読部からこれから読み出すレジ
スタ番号と比較し、一致すればデータ依存発生を命令解
読部に返す。これから実行する命令が、結果を反映して
いないレジスタの値を使用することを防ぐためである。
レジスタ番号の登録は命令解読部 A14および B24が
命令を演算ユニットに発行するときに登録し、レジスタ
番号の解除は各演算ユニットの実行制御部54,64,74お
よび84が命令実行の終了とともに行う。
Specifically, a register number whose register value is not fixed because it is being executed at present is registered in the scoreboard 113. It is compared with the register number read from the instruction decoding unit. The generation is returned to the instruction decoding unit. This is to prevent an instruction to be executed hereafter from using a register value that does not reflect the result.
Registering the register number is the instruction decoding unit A14 and The instruction is registered when the instruction is issued to the arithmetic unit by B24, and the register number is released by the execution control units 54, 64, 74 and 84 of the arithmetic units when the instruction execution is completed.

【0056】解読PC A15と解読PC B25は命令解
読部 A14および命令解読部 B24に対応するPC値を
格納しているので、命令解読部 A14, B24が命令バ
ッファ A11, B21より命令を受け取ったときには、
同時に命令フェッチ制御部 A12, B22よりPC値を受
け取る。前述したように解読PC A15には解読PC値
以外に命令流1のIDが、解読PC B25には命令流2
のIDが格納されている。データ依存関係については信
学技報CPSY−90−54('90.7)「SIMP(単一命令
流/多重命令パイプライン)方式に基づくスーパースカ
ラ・プロセッサの改良方針」に詳細に解説されている。
Decryption PC A15 and decryption PC B25 is a command solution
Reading department A14 and instruction decoder PC value corresponding to B24
Since it stores it, the instruction decoding unit A14, B24 is command
Iffa A11, When you receive an order from B21,
At the same time the instruction fetch controller A12, Receives PC value from B22
Brush off. Decoding PC as described above A15 decrypted PC value
Besides, the ID of command stream 1 is a decryption PC Command flow 2 for B25
Is stored. Believe about data dependencies
Academic report CPSY-90-54 ('90 .7) "SIMP (single instruction
Flow / multiple instruction pipeline) based super ska
La Processor Improvement Policy ”.

【0057】データ依存が発生している場合には依存関
係が解除されるまで命令の発行を停止し、発生していな
い場合には、命令解読部はオペレーションを演算ユニッ
トに発行すると同時に、レジスタファイルへ読み出し要
求を出す。命令流1はレジスタファイル X107を使用
しているので、命令解読部 A14はレジスタファイル
107へレジスタ番号を送出し、命令解読部 B24はレジ
スタファイル Y108へ送出する。同時に、解読PC
A15および解読PC B25の解読PC値を処理される演
算ユニットに送出する。レジスタ指定用スイッチ106は
状態管理テーブル115を基に命令解読部 A14とレジス
タファイル X107を、命令解読部 B24とレジスタフ
ァイル Y108を接続する。オペレーション用スイッチ1
02は解読結果より命令解読部と演算ユニットを接続す
る。同様にPC用スイッチ103は解読結果より解読PC
と実行PCを接続する。本実施例の場合は、命令解読部
A14からLOAD命令が、命令解読部 B24からAD
D命令が発行されるので、オペレーション用スイッチ10
2は命令解読部 A14とロードストアユニット52,命令
解読部 B24と整数演算ユニット62を接続する。PC用
スイッチ103も同様の対応関係で接続(解読PC A15と
実行PC55,解読PC B25と実行PC65)を行う。命
令流1はレジスタファイル X107を使用し、命令流2
はレジスタファイル Y108を使用しているので、オペ
ランドスイッチ104はレジスタファイル X107とロード
ストアユニット52を、レジスタファイル Y108と整数
演算ユニット62を接続する。
If data dependency has occurred, the dependency relation
The issue of the instruction is stopped until the
If it is not, the instruction decoding unit
To the register file at the same time
Make a request. Instruction stream 1 is a register file Use X107
So the instruction decoding section A14 is a register file X
Sends the register number to 107 and decodes the instruction B24 is a cash register
Star file Send to Y108. At the same time, decryption PC
A15 and decryption PC B25 decryption PC value processed
To the arithmetic unit. Register designation switch 106
Instruction decoding unit based on the state management table 115 A14 and Regis
File X107, instruction decoding unit B24 and register
File Connect Y108. Operation switch 1
02 connects the instruction decoding unit and the arithmetic unit from the decoding result
It Similarly, the PC switch 103 uses the decryption result from the decryption PC.
And connect the execution PC. In the case of this embodiment, the instruction decoding unit
LOAD instruction from A14, instruction decoding unit B24 to AD
D command is issued, so operation switch 10
2 is the instruction decoding unit A14, load store unit 52, instruction
Decoding section B24 and the integer arithmetic unit 62 are connected. For PC
Switch 103 is also connected with the same correspondence (decoding PC A15
Execution PC55, Decoding PC Perform B25 and execution PC65). life
Ryu 1 is a register file Instruction flow 2 using X107
Is a register file Because I use Y108,
Land switch 104 is a register file X107 and road
Store unit 52, register file Y108 and integer
Connect the arithmetic unit 62.

【0058】ロードストアユニット52の入力にあるオペ
ランドバッファ51にはレジスタファイル X107から読
み出したオペランド値を、整数演算ユニット62の入力に
あるオペランドバッファ61にはレジスタファイル Y10
8から読み出したオペランド値を格納する。そして命令
解読部 A14が発行したオペレーションをオペレーショ
ンバッファ53に、命令解読部 B24が発行したオペレー
ションをオペレーションバッファ63に、解読PC A15
の解読PC値および命令流1のIDを実行PC A55に、
解読PC B25の解読PC値および命令流2のIDを実
行PC B65にそれぞれ格納する。
The operation at the input of the load store unit 52
Register file in land buffer 51 Read from X107
The value of the operand that is projected is input to the integer arithmetic unit 62.
Register file in certain operand buffer 61 Y10
Store the operand value read from 8. And command
Decoding section Operation issued by A14
Command decoding unit Operation issued by B24
Decoding PC in operation buffer 63 A15
Decode PC value and execute instruction stream 1 ID PC A55,
Decoding PC Decode B25 PC value and command stream 2 ID
Line PC Store in B65.

【0059】以下、各演算ユニットはオペレーションや
オペランドを基に実行し、結果をそれぞれレジスタやメ
モリ等に格納する。ロードストアユニット52において
は、命令流1のLOAD命令が実行され、計算したメモ
リアドレスを基にキャッシュからデータをフェッチし、
レジスタファイル X107内のレジスタに格納する。整
数演算ユニット62においてはADD命令が実行され、加
算結果をレジスタファイル Y108内のレジスタに格納
する。各実行制御部54,64はロードストアユニット52と
レジスタファイル X107を、整数演算ユニット62とレ
ジスタファイル Y108を接続するように書き込み用スイ
ッチ110を制御する。
Hereinafter, each arithmetic unit operates and
It is executed based on the operand, and the result is registered in each register or memory.
Store in memory etc. In the load store unit 52
Is a memo calculated by executing the LOAD instruction of instruction stream 1.
Fetch data from cache based on readdress,
Register file Store in register in X107. Order
In the arithmetic unit 62, the ADD instruction is executed and
Register file of calculation result Stored in register in Y108
To do. The execution control units 54 and 64 are the load store unit 52 and
Register file X107 and integer calculation unit 62
Dista file Write switch to connect Y108
Control the switch 110.

【0060】実行制御部54,64は演算が終了しレジスタ
ファイル X107, Y108への書き込みが終了すると、
スコアボード113に登録されたレジスタ番号をクリアす
る。同時に、実行PCを無効化する(後続する命令が入
ってくれば必然的に更新される)。なお、演算ユニット
がパイプライン構成されているので、実行PCもそれに
対応して複数段必要であるが、本発明とは直接関係しな
いので省略する。
The execution control units 54 and 64 complete the calculation and register files. X107, After writing to Y108,
The register number registered in the scoreboard 113 is cleared. At the same time, the execution PC is invalidated (necessarily updated if a subsequent instruction comes in). Since the arithmetic unit has a pipeline structure, a plurality of execution PCs are required correspondingly, but the description is omitted because it is not directly related to the present invention.

【0061】また、命令解読部から発行されたオペレー
ションが同じ演算ユニットを使用する場合、本実施例の
構成ではどちらか一方のオペレーションを待たせるため
の機構が必要になるが、本発明とは直接関係ないのでそ
の機構は省略する。演算ユニットの構成が変わった場合
には待ち合わせ機構も不要になる可能性もある。同様
に、同じ命令流の2つの命令が同時に演算が終了した場
合には、レジスタファイルへの書き込みを待たせる、ま
たはレジスタファイルの書き込みポートを複数設けるな
どの対策が必要であるが、本発明とは直接関係ないので
その説明は省略する。
Further, when the operation issued from the instruction decoding unit uses the same arithmetic unit, the structure of the present embodiment requires a mechanism for making one of the operations wait, but it is not directly related to the present invention. The mechanism is omitted because it is not relevant. If the configuration of the arithmetic unit changes, the waiting mechanism may become unnecessary. Similarly, when two instructions of the same instruction stream are simultaneously processed, it is necessary to wait for writing to the register file or to provide a plurality of register file write ports. Since they are not directly related, the description is omitted.

【0062】続いて、命令流の切り替えが発生する場合
について、以下図2に示す命令流の状態遷移図と、図3
に示す命令流が実行状態から休眠状態へ遷移する説明図
と、図4に示す命令流が休眠状態から実行可能状態へ遷
移する説明図と、図5に示す命令流が実行可能状態から
実行状態へ遷移する説明図と、図6に示すコンテキスト
・バックアップ・メモリのデータ配置図を用いて動作を
説明する。
Subsequently, in the case where the switching of the instruction stream occurs, the state transition diagram of the instruction stream shown in FIG. 2 and FIG.
5 is an explanatory diagram showing the transition of the instruction flow from the execution state to the sleep state, an explanatory diagram showing the transition of the instruction flow shown in FIG. 4 from the sleep state to the execution state, and the instruction flow shown in FIG. 5 from the execution state to the execution state. The operation will be described with reference to the explanatory diagram for transition to and the data layout diagram of the context backup memory shown in FIG.

【0063】図2は命令流の状態と状態遷移をさせるイ
ベントの関係を示した状態遷移図である。命令流1は実
行中の状態(ア)なのでプロセッサの資源を使用して命令
を処理している。ロードストアユニット52で命令流1の
ロード命令を実行するが、キャッシュミスを起こすとす
る。キャッシュミスが発生するとキャッシュは主記憶よ
りデータのアップデートを行うためロードストアユニッ
ト52はインタロック状態に陥る。そこで他の命令流を実
行状態にするため命令流1を休眠状態(イ)にする。命令
流1はキャッシュが主記憶からデータをアップデートす
れば実行させてもかまわない。そこで実行可能状態(ウ)
に遷移させる。命令流1は実行可能状態なので、実行の
ためのハードウェア資源が確保できれば実行状態(ア)に
遷移できる。
FIG. 2 is a state transition diagram showing the relationship between the state of the instruction stream and the event causing the state transition. Since the instruction stream 1 is in the executing state (a), the resources of the processor are used to process the instruction. It is assumed that the load store unit 52 executes the load instruction of instruction stream 1 but causes a cache miss. When a cache miss occurs, the cache updates the data from the main memory, and the load / store unit 52 falls into an interlock state. Therefore, the instruction stream 1 is put into the sleep state (a) in order to put another instruction stream into the execution state. The instruction stream 1 may be executed if the cache updates the data from the main memory. Executable state (c)
Transition to. Since the instruction stream 1 is in the executable state, if the hardware resources for execution can be secured, it can transit to the execution state (A).

【0064】命令流の切り替えが発生する場合につい
て、次に概説するような命令流の状態遷移に沿って説明
する。
The case where the switching of the instruction stream occurs will be described along with the state transition of the instruction stream as outlined below.

【0065】(1)命令流1および命令流2は実行中の状
態なのでプロセッサの資源を使用して(命令流1がレジ
スタファイル X107、命令流2がレジスタファイル
Y108)命令を処理している。(初期状態,命令流1およ
び命令流2:実行状態) (2)ロードストアユニット52で命令流1のロード命令を
実行するが、キャッシュミスを発生する。
(1) Since instruction stream 1 and instruction stream 2 are in the execution state, processor resources are used (instruction stream 1 is a register file X107, instruction stream 2 is a register file
Y108) Processing the instruction. (Initial state, instruction stream 1 and instruction stream 2: execution state) (2) The load / store unit 52 executes the load instruction of instruction stream 1, but a cache miss occurs.

【0066】(3)命令流1のコンテキストをコンテキス
ト・バックアップ・メモリ111に退避し、命令流1を休
眠状態にする。(命令流1:実行状態→休眠状態) (4)実行可能状態でレジスタファイルにコンテキストが
用意されている命令流3を実行するためにFC値などを
設定する。
(3) The context of the instruction stream 1 is saved in the context backup memory 111, and the instruction stream 1 is put into the sleep state. (Instruction flow 1: execution state → sleep state) (4) Set the FC value etc. to execute the instruction flow 3 in which the context is prepared in the register file in the executable state.

【0067】(5)命令流3に起動をかける。(命令流
3:実行可能状態→実行状態) (6)命令流4は実行可能状態なのでコンテキスト・バッ
クアップ・メモリ111からコンテキストをレジスタファ
イル X107に格納する。
(5) The instruction stream 3 is activated. (Instruction flow 3: Executable state → Execution state) (6) Since instruction flow 4 is in the executable state, the context backup memory 111 stores the context in the register file. Store in X107.

【0068】(7)キャッシュはミスヒットしたデータを
アップデートする。(命令流1:休眠状態→実行可能状
態) 上記(1)〜(7)に沿って詳細な動作を説明する。
(7) The cache updates the missed data. (Instruction flow 1: dormant state → executable state) A detailed operation will be described along the above (1) to (7).

【0069】(1-1)命令流1のLOAD命令がロードス
トアユニット52においてキャッシュアクセスするまで上
述した定常状態の説明と同じである。命令流の初期状態
については前出の表1に示す。また、一連の動作の様子
については図3に示す。
(1-1) Until the LOAD instruction of the instruction stream 1 makes a cache access in the load / store unit 52, the description is the same as the above description of the steady state. The initial state of the instruction stream is shown in Table 1 above. A state of a series of operations is shown in FIG.

【0070】(2-1)キャッシュアクセスの結果、キャッ
シュミスを起こす。キャッシュミス情報がパイプライン
制御部105に送られる。
(2-1) As a result of cache access, a cache miss occurs. The cache miss information is sent to the pipeline control unit 105.

【0071】(2-2)パイプライン制御部105はロードス
トアユニット52の実行制御部54にキャッシュミスを発生
した命令流の調査を依頼する。実行制御部54は命令流1
であることをパイプライン制御部105に伝える。
(2-2) The pipeline control unit 105 requests the execution control unit 54 of the load / store unit 52 to investigate the instruction flow causing the cache miss. The execution control unit 54 has an instruction stream 1
Is transmitted to the pipeline control unit 105.

【0072】(2-3)パイプライン制御部105は、状態管
理テーブル115を参照し、命令流1の命令がキャッシュ
ミスヒットを起こしたことにより、命令解読部 A14、
命令バッファ A11、命令フェッチ制御部 A12、解読
PC A15など命令解読部より上流部の処理を停止さ
せ、命令の発行を禁止する。
(2-3) The pipeline control unit 105 refers to the state management table 115, and the instruction of the instruction stream 1 causes a cache mishit. A14,
Instruction buffer A11, instruction fetch controller A12, decryption PC The processing of the part upstream of the instruction decoding part such as A15 is stopped and the issuing of the instruction is prohibited.

【0073】(2-4)パイプライン制御部105は、実行制
御部54にロードストアユニット52を正常終了させるよう
制御する。ただし、実際の書き込みレジスタには何も書
き込まずに終了させる。
(2-4) The pipeline control unit 105 controls the execution control unit 54 to normally terminate the load / store unit 52. However, the process ends without writing anything to the actual write register.

【0074】(2-5)パイプライン制御部105は、実行制
御部64,74および84を経由して、命令流1の命令の処理
状況を調査し、すでに演算ユニットで処理中のものがあ
れば終了まで停止する。
(2-5) The pipeline control unit 105 investigates the processing status of the instruction of the instruction stream 1 via the execution control units 64, 74 and 84, and if there is one that is already being processed by the arithmetic unit. If it stops until the end.

【0075】(3-1)パイプライン制御部105は、すでに
演算ユニットで処理中の命令流1の命令がなくなれば、
命令流1のコンテキストをコンテキスト・バックアップ
・メモリ111に退避する。コンテキストは本実施例の場
合にはレジスタファイル X107、解読PC A15(命令
流のIDも含む)、ロードストアユニット52の実行PC
A55(LOAD命令のPC),ロードストアユニット52
のオペレーションバッファ53(LOAD命令のオペレー
ション)およびメモリアクセスアドレスである。通常、
メモリアクセスアドレスは、オペランドバッファ51の内
容を使用して計算する。コンテキスト・バックアップ・
メモリ111に格納された命令流の実行を停止し退避する
コンテキストの様子を図6に示し、上記命令流を実行す
る場合にはコンテキストに先頭PCを含み、この先頭P
Cから実行する。
(3-1) If there is no instruction in the instruction stream 1 that is already being processed by the arithmetic unit, the pipeline control section 105
The context of instruction stream 1 is saved in the context backup memory 111. In the case of this embodiment, the context is a register file X107, decryption PC A15 (including ID of instruction flow), Execution PC of load / store unit 52
A55 (LOAD instruction PC), load / store unit 52
The operation buffer 53 (operation of LOAD instruction) and the memory access address. Normal,
The memory access address is calculated using the contents of the operand buffer 51. Context backup
FIG. 6 shows a context in which the execution of the instruction stream stored in the memory 111 is stopped and saved. In the case of executing the instruction stream, the context includes a head PC and the head PC is
Execute from C.

【0076】(3-2)パイプライン制御部105は命令流1
に関して有為なものがないようにスコアボード113等も
無効化する。
(3-2) Pipeline control unit 105 executes instruction stream 1
The scoreboard 113 and the like are also invalidated so that there is nothing significant regarding.

【0077】(3-3)パイプライン制御部105は、状態管
理テーブル115の命令流1の状態を実行から休眠状態へ
遷移させる。これを表2に示す。
(3-3) The pipeline controller 105 causes the state of the instruction stream 1 in the state management table 115 to transit from execution to sleep. This is shown in Table 2.

【0078】[0078]

【表2】 [Table 2]

【0079】(4-1)パイプライン制御部105は、コンテ
キスト・バックアップ・メモリ111から命令流3を休眠
状態にした要因のLOAD命令の実行PC,オペレーシ
ョンおよびメモリアクセスアドレスを実行PC A55お
よびオペレーションバッファ53およびロードストアユニ
ット52に復帰させる。命令流3に関する一連の動作を図
4に示す。
(4-1) The pipeline control unit 105 executes the execution PC of the LOAD instruction that causes the instruction stream 3 from the context backup memory 111 to the dormant state, and the execution PC of the operation and memory access address. A55, operation buffer 53, and load / store unit 52 are restored. A series of operations relating to the instruction stream 3 is shown in FIG.

【0080】(4-2)パイプライン制御部105は、コンテ
キスト・バックアップ・メモリ111から命令流3の解読
PCをFC A13に設定する。解読PC A15には命令
流3のIDを設定しておく。
(4-2) The pipeline control unit 105 sends the decoding PC of the instruction stream 3 from the context backup memory 111 to FC. Set to A13. Decoding PC The command stream 3 ID is set in A15.

【0081】(5-1)パイプライン制御部105は、命令流
1の休眠状態への遷移で命令フェッチユニット( A)や
命令解読部 A14に空きができたこと、命令流3が実行
可能状態であり、かつすでにレジスタファイル Z109
に割り付けられていることから状態管理テーブル115の
命令流3の状態を実行可能から実行状態へ遷移させる。
それを表3に示す。命令流3に関する一連の動作を図5
に示す。
(5-1) The pipeline control section 105 shifts the instruction fetch unit ( A) and instruction decoder A14 has a free space, instruction stream 3 is ready for execution, and the register file has already been created. Z109
The state of the instruction stream 3 in the state management table 115 is changed from the executable state to the executable state because the state is assigned to the.
It is shown in Table 3. FIG. 5 shows a series of operations related to the instruction stream 3.
Shown in.

【0082】[0082]

【表3】 [Table 3]

【0083】(5-3)パイプライン制御部105は、ロード
ストアユニット52の実行制御部54に対して、オペレーシ
ョンバッファ53に設定されたオペレーションやロードス
トアユニット52に設定されたメモリアクセスアドレスを
基に命令流3のLOAD命令を再実行させる。
(5-3) The pipeline control unit 105 instructs the execution control unit 54 of the load / store unit 52 to execute the operation set in the operation buffer 53 and the memory access address set in the load / store unit 52. To re-execute the LOAD instruction of instruction stream 3.

【0084】(5-4)パイプライン制御部105は、命令流
3を実行するため、命令フェッチ制御部 A12に対して
FC A13から命令の実行を開始させる。
(5-4) Since the pipeline control unit 105 executes the instruction stream 3, the instruction fetch control unit 105 FC against A12 The execution of the instruction is started from A13.

【0085】(5-5)命令フェッチ制御部 A12はFC
A13のアドレスを起点として、命令フェッチを開始し命
令バッファ A11に命令を格納する。命令解読部 A14
は命令バッファ A11に格納された命令を解読する。以
降、定常状態で説明したように命令を処理していく。
(5-5) Instruction fetch control section A12 is FC
Instruction fetch starts from the address of A13
Command buffer The instruction is stored in A11. Instruction decoder A14
Is the instruction buffer Decode the instruction stored in A11. Since
The instructions are processed as described in the descending and steady state.

【0086】(6-1)パイプライン制御部105は、命令流
1の休眠状態への遷移でレジスタファイル X107に空
きができたことと、命令流4が実行可能状態であること
から命令流4のコンテキストをレジスタファイル X10
7に割り付ける。コンテキスト・バックアップ・メモリ1
11からレジスタファイル X107にデータを転送する。
それを表4に示す。
(6-1) The pipeline control unit 105 changes the register file when the instruction stream 1 transits to the sleep state. Since the X107 has a vacancy and the instruction stream 4 is in the executable state, the context of the instruction stream 4 is set in the register file. X10
Assign to 7. Context backup memory 1
Register file from 11 Transfer the data to X107.
It is shown in Table 4.

【0087】[0087]

【表4】 [Table 4]

【0088】(6-2)パイプライン制御部105は、命令流
4にレジスタファイル X107を割り付けたように状態
管理テーブル115を更新する。
(6-2) The pipeline control unit 105 uses the register file for the instruction stream 4. The state management table 115 is updated as if X107 was allocated.

【0089】(7-1)キャッシュは命令流1が休眠状態へ
遷移する要因となったミスヒットのデータをアップデー
トする。
(7-1) The cache updates the data of the mishit which caused the instruction stream 1 to transit to the sleep state.

【0090】(7-2)パイプライン制御部105は、キャッ
シュにアップデートされたことから、命令流1を休眠状
態から実行可能に状態を変更し、状態管理テーブル115
を更新する。それを表5に示す。
(7-2) The pipeline control unit 105 changes the state of the instruction stream 1 from the sleep state to the executable state because it is updated in the cache, and the state management table 115
To update. It is shown in Table 5.

【0091】[0091]

【表5】 [Table 5]

【0092】以上で一連の状態遷移および内部動作を説
明したが、それ以降の状態遷移について一例を次に示
す。
The series of state transitions and the internal operation have been described above, but an example of the state transitions thereafter is shown below.

【0093】命令流2: 実行状態→休眠状態 命令流4: 実行可能状態→実行状態 命令流1: コンテキスト・バックアップ・メモリ111に
レジスタファイル Y108を割り付ける 命令流3: 実行状態→休眠状態(命令流2: 休眠状態
→実行可能状態) 命令流1: 実行可能→実行状態 以上説明したように、本実施例によれば、 (1)インタロックを発生した命令流を休眠状態(退避)に
し、ハードウェア機構を他の命令流に割り付ける、すな
わち命令流を切り替えて実行することにより、パイプラ
インのインタロックおよびロック時間を削減し、機能ユ
ニットの使用効率を向上させ、高性能を実現できる。
Instruction flow 2: Execution state → Hibernation state Instruction flow 4: Executable state → Execution state Instruction flow 1: Context backup memory 111 register file Allocate Y108 Instruction stream 3: execution state → sleep state (instruction stream 2: sleep state → executable state) instruction stream 1: executable → execution state As described above, according to this embodiment, (1) By putting the instruction stream that generated the lock into a dormant state (saving) and allocating the hardware mechanism to another instruction stream, that is, by switching the instruction stream and executing it, the pipeline interlock and lock time are reduced, and the functional unit It can improve the usage efficiency and realize high performance.

【0094】(2)インタロックを発生した命令流を休眠
状態にしてコンテキストをメモリに退避し、新たな命令
流のコンテキストを復帰させ、ハードウェア機構を割り
付ける、すなわち命令流を切り替えて実行することによ
り、パイプラインのインタロックおよびロック時間を削
減し、機能ユニットの使用効率を向上させ、高性能を実
現できる。
(2) The instruction stream in which the interlock is generated is put in the sleep state, the context is saved in the memory, the context of the new instruction stream is restored, and the hardware mechanism is allocated, that is, the instruction stream is switched and executed. This reduces the pipeline interlock and lock time, improves the usage efficiency of the functional units, and realizes high performance.

【0095】(3)命令準備部よりも多くのレジスタファ
イルを設けることにより、インタロックを発生しても、
インタロックを発生した命令流のコンテキストをメモリ
に退避することなく、新たな命令流を実行させることが
できるので、高速な命令流切り替えができる。
(3) By providing more register files than the instruction preparation section, even if an interlock occurs,
Since a new instruction stream can be executed without saving the context of the instruction stream that has generated the interlock in the memory, high-speed instruction stream switching can be performed.

【0096】(4)命令準備部よりも多くのレジスタファ
イルとコンテキストを退避するメモリを設けることによ
り、インタロックを発生した場合、インタロックを発生
した命令流のコンテキストはメモリに退避するが、新た
な命令流のコンテキストは予めレジスタに準備すること
ができるので、通常の命令と命令流の切り替えがオーバ
ーラップして実行できるので、高速な命令流切り替えが
できる。
(4) When an interlock occurs by providing more register files and a memory for saving the context than in the instruction preparation section, the context of the instruction stream in which the interlock occurs is saved in the memory, Since the context of such an instruction stream can be prepared in the register in advance, a normal instruction and an instruction stream can be overlapped and executed, so that a high-speed instruction stream switching can be performed.

【0097】(5)コンテキストを退避するメモリを同一
プロセッサ上に実現することにより、高速な切り替えや
ロード命令などの外部バスを使用する命令と並列に実行
できる。
(5) By implementing the memory for saving the context on the same processor, it is possible to execute in parallel with an instruction using the external bus, such as a high-speed switching or a load instruction.

【0098】(6)命令流の切り替えの契機となる特定の
イベントをキュッシュアクセス時のミスヒットとするこ
とにより、メモリアクセス時のオーバーヘッドを削減で
きる。
(6) The overhead at the time of memory access can be reduced by making the specific event that triggers the switching of the instruction stream a miss hit at the time of cache access.

【0099】(7)特定のイベントが発生したりまたは特
定の状態を検出した場合には、その要因となった命令の
命令流に割り付けられている命令準備部の実行を停止
し、命令準備部の内部状態を初期化することにより、パ
イプライン制御が容易になる。
(7) When a specific event occurs or a specific state is detected, the execution of the instruction preparation section assigned to the instruction stream of the instruction causing the stop is stopped, and the instruction preparation section is stopped. Pipeline control is facilitated by initializing the internal state of the.

【0100】(8)命令流の実行を停止し退避するコンテ
キストに先頭PCを含み、再度この命令流を実行する場
合には先頭PCから実行を再開することにより、命令流
の切り替えの制御が容易になる。
(8) It is easy to control the switching of instruction streams by including the leading PC in the context for stopping and saving the instruction stream, and restarting the instruction stream when the instruction stream is executed again. become.

【0101】(9)命令流の切り替えの契機となる特定の
イベントをキャッシュアクセス時のミスヒットとし、キ
ャッシュミスが発生した場合、メモリアクセス命令を打
ち切り正常終了させることにより、命令切り替えの制御
が容易になる。
(9) Control of instruction switching is facilitated by setting a specific event that triggers instruction flow switching as a mishit during cache access, and when a cache miss occurs, aborts the memory access instruction and terminates normally. become.

【0102】(10)新たな命令流を命令準備部に割り付
け、命令実行を再開する場合、切り替えの要因となり実
行を打ち切ったメモリアクセス命令を再実行させること
により、命令流の切り替えの制御が容易になる。
(10) When a new instruction stream is assigned to the instruction preparation section and the instruction execution is restarted, the instruction to switch the instruction stream can be easily controlled by re-executing the memory access instruction that caused the switching and was aborted. become.

【0103】(11)命令流の切り替えの契機となる特定
のイベントをキャッシュアクセス時のミスヒットとし、
命令流のコンテキストを退避する場合にはメモリアクセ
ス命令のPCも一緒に退避することにより、命令再実行
が可能となり切り替えの制御が容易になる。
(11) A specific event that triggers the switching of instruction streams is regarded as a mishit at the time of cache access,
When the context of the instruction stream is saved, the PC of the memory access instruction is also saved together, so that instruction re-execution becomes possible and switching control becomes easy.

【0104】(12)命令流の切り替えの契機となる特定
のイベントをキャッシュアクセス時のミスヒットとし、
命令流のコンテキストを退避する場合にはメモリアクセ
ス命令も一緒に退避することにより、命令再実行が高速
に実現でき切り替えの制御も容易になる。
(12) A specific event that triggers the switching of instruction streams is regarded as a mishit at the time of cache access,
When the context of the instruction stream is saved, the memory access instruction is also saved, so that instruction re-execution can be realized at high speed and switching control can be facilitated.

【0105】(13)命令流の切り替えの契機となる特定
のイベントをキャッシュアクセス時のミスヒットとし、
命令流のコンテキストを退避する場合にはメモリアクセ
スアドレスも一緒に退避することにより、命令再実行が
高速に実現でき切り替えの制御も容易になる。
(13) A specific event that triggers the switching of instruction streams is regarded as a mishit at the time of cache access,
When the context of the instruction stream is saved, the memory access address is also saved, so that instruction re-execution can be realized at high speed and switching control becomes easy.

【0106】(14)命令流の切り替えの契機となる特定
のイベントをメモリアクセスに関するエラーとすること
により、メモリアクセス時のオーバーヘッドを削減でき
る。
(14) The overhead at the time of memory access can be reduced by setting a specific event that triggers the switching of instruction streams as an error related to memory access.

【0107】なお、本実施例では、レジスタファイルの
セット数を3、命令バッファや命令解読部の数を2、そ
して演算実行部は4種類から構成されているが、これら
は本発明の効果や主旨とは関係しないので、構成や個数
などについてはなんら制限はしていない。
In this embodiment, the number of register file sets is 3, the number of instruction buffers and instruction decoding units is 2, and the operation executing units are 4 types. Since it has nothing to do with the gist, there is no restriction on the configuration or the number.

【0108】本実施例では、再実行するロード命令につ
いてロード命令のPC値およびオペレーションをコンテ
キスト・バックアップ・メモリに退避しているが、例え
ばPC値のみを退避しておき、命令フェッチから再実行
する方法や、命令を退避しておき解読から再実行する方
法などを用いていてもかまわない。また、PC値とオペ
レーションの両方を退避しているのは、例外発生を考慮
してのことであり、本発明を限定するものではない。
In this embodiment, the PC value and operation of the load instruction for the load instruction to be re-executed are saved in the context backup memory. However, for example, only the PC value is saved and re-executed from the instruction fetch. A method or a method of saving an instruction and re-execution from decoding may be used. In addition, the fact that both the PC value and the operation are saved is in consideration of the occurrence of an exception, and does not limit the present invention.

【0109】本実施例では、説明の都合上ロードストア
ユニットを使用する例としてロード命令を用いている
が、ストア命令についても同様の機能を実現することは
可能である。
In the present embodiment, a load instruction is used as an example of using the load / store unit for convenience of explanation, but a similar function can be realized for a store instruction.

【0110】本実施例では、情報管理テーブル更新のあ
とロード命令の再実行という順番で実行しているが、こ
の順番は逆でもよい。この以外の手続きの順番について
も本実施例では一例を挙げただけである。
In this embodiment, the load instruction is re-executed after the information management table is updated, but the order may be reversed. Regarding the order of procedures other than this, only one example is given in this embodiment.

【0111】本実施例では、分岐処理については本発明
とは特に関係していないので記述していない。
In this embodiment, branch processing is not described because it is not particularly related to the present invention.

【0112】本実施例では、切り替えの契機をロード命
令としたが、インタロックなどを発生する命令やイベン
トについても適用できる。
In this embodiment, the load instruction is used as the trigger for switching, but it is also applicable to instructions and events that generate interlocks.

【0113】本実施例では、命令流の切り替え決定後、
新たな命令流を設定するまでに、メモリへ退避している
が、レジスタファイルのセット数に余裕があれば、コン
テキストのバックアップは新たな命令流を切り替えてか
ら、オーバーラップ実行してもよい。
In this embodiment, after the instruction flow switching is decided,
It is saved in the memory until a new instruction stream is set. However, if there is a sufficient number of register file sets, context backup may be performed by switching the new instruction stream and then performing overlap execution.

【0114】本実施例では、プロセッサ上にメモリを設
け、休眠状態に入る命令流のレジスタファイルなどのコ
ンテキストをメモリに退避したが、外部メモリに退避し
てもよい。
In this embodiment, the memory is provided on the processor and the context such as the register file of the instruction stream that enters the sleep state is saved in the memory, but it may be saved in the external memory.

【0115】本実施例では、プロセッサ上にメモリを設
け、休眠状態に入る命令流のレジスタファイルなどのコ
ンテキストをメモリに退避したが、オンチップメモリを
特に設けず、レジスタファイルに割り付けた命令流で切
り替えをしたり、レジスタファイルのコンテキストを切
り替えをする場合には外部メモリを使用することも可能
である。
In the present embodiment, a memory is provided on the processor and the context of the register file of the instruction stream that enters the sleep state is saved in the memory. However, no on-chip memory is provided and the instruction stream allocated to the register file is used. It is also possible to use the external memory when switching or switching the context of the register file.

【0116】[0116]

【発明の効果】以上説明したように、本発明の情報処理
装置は、 (1)パイプラインのインタロックおよびロック時間を削
減し、機能ユニットの使用効率を向上させ、高性能を実
現できる。
As described above, the information processing apparatus of the present invention can: (1) reduce pipeline interlock and lock time, improve the usage efficiency of functional units, and realize high performance.

【0117】(2)通常の命令と命令流の切り替えをオー
バーラップして実行できるので、高速な命令流切り替え
ができる。
(2) Since the switching between the normal instruction and the instruction stream can be executed in an overlapping manner, the instruction stream can be switched at high speed.

【0118】(3)ロード命令などの外部バスを使用する
命令と並列に実行できる。
(3) It can be executed in parallel with an instruction such as a load instruction that uses an external bus.

【0119】(4)メモリアクセス時のオーバーヘッドを
削減できる。
(4) The overhead at memory access can be reduced.

【0120】(5)パイプライン制御や命令流の切り替え
制御が容易になる。
(5) Pipeline control and instruction flow switching control are facilitated.

【0121】などの多くのことが実現でき、その実用的
効果は大きい。
Many things such as the above can be realized, and their practical effects are great.

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

【図1】本発明の一実施例における情報処理装置の構成
図である。
FIG. 1 is a configuration diagram of an information processing apparatus according to an embodiment of the present invention.

【図2】図1における命令流の状態と状態遷移をさせる
イベントの関係を示した状態遷移図である。
FIG. 2 is a state transition diagram showing the relationship between the state of the instruction stream in FIG. 1 and the event causing the state transition.

【図3】図1における命令流が実行状態から休眠状態へ
遷移する説明図である。
FIG. 3 is an explanatory diagram showing a transition of the instruction flow in FIG. 1 from an execution state to a sleep state.

【図4】図1における命令流が休眠状態から実行可能状
態へ遷移する説明図である。
FIG. 4 is an explanatory diagram showing a transition of the instruction flow in FIG. 1 from a sleep state to an executable state.

【図5】図1における命令流が実行可能状態から実行状
態へ遷移する説明図である。
5 is an explanatory diagram showing a transition of the instruction flow in FIG. 1 from an executable state to an execution state.

【図6】図1におけるコンテキスト・バックアップ・メ
モリのデータ配置図である。
6 is a data layout diagram of the context backup memory in FIG. 1. FIG.

【図7】従来の情報処理装置の構成図である。FIG. 7 is a block diagram of a conventional information processing apparatus.

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

11,21…命令バッファ、 12,22…命令フェッチ制御
部、 13,23…フェッチカウンタ(FC)、 14,24…命
令解読部、 15,25…解読プログラムカウンタ(解読P
C)、 51,61,71,81…オペランドバッファ、 52…
ロードストアユニット、 62…整数演算ユニット、 72
…浮動小数点加算ユニット、 82…浮動小数点乗算ユニ
ット、 53,63,73,83…オペレーションバッファ、
54,64,74,84…実行制御部、 55,65,75,85…実行
プログラムカウンタ(実行PC)、101…セレクタ、 10
2,103,104,106,110,112…スイッチ、 105…パイ
プライン制御部、 107,108,109…レジスタファイ
ル、 111…コンテキスト・バックアップ・メモリ、 1
13…スコアボード、 114…データ依存チェック部、115
…状態管理テーブル。
11, 21 ... Instruction buffer, 12, 22 ... Instruction fetch control unit, 13, 23 ... Fetch counter (FC), 14, 24 ... Instruction decoding unit, 15, 25 ... Decoding program counter (Decoding P
C), 51, 61, 71, 81 ... Operand buffer, 52 ...
Load store unit, 62 ... Integer calculation unit, 72
… Floating point addition unit, 82… Floating point multiplication unit, 53, 63, 73, 83… Operation buffer,
54, 64, 74, 84 ... Execution control unit, 55, 65, 75, 85 ... Execution program counter (execution PC), 101 ... Selector, 10
2, 103, 104, 106, 110, 112 ... Switch, 105 ... Pipeline control unit, 107, 108, 109 ... Register file, 111 ... Context backup memory, 1
13 ... Scoreboard, 114 ... Data dependency check unit, 115
… State management table.

Claims (15)

【特許請求の範囲】[Claims] 【請求項1】 複数の命令準備部と、複数の演算実行部
と、複数のレジスタファイルと、前記命令準備部と演算
実行部の間に設けられる命令スケジュール部を備え、前
記命令準備部は、命令を読み出す命令フェッチ手段と、
前記演算実行部からのデータ依存情報を解析,保管する
依存解析手段と、前記命令フェッチ手段が読み出した命
令を解読して前記データ依存情報を基に命令の発行可能
性を判定する命令解読手段からなり、前記命令スケジュ
ール部は、複数の命令準備部からの命令解読結果を受け
付けるとともに、複数の演算実行部のうち命令受付可能
状態にある演算実行部を対象として発行可能な命令解読
結果を選択し、それらの中の各命令を対応する演算実行
部に出力する手段を含み、前記演算実行部は、命令スケ
ジュール部から受け付けた命令を実行する手段と、実行
終了時には依存解消情報をその命令の解読時に依存解析
を行った命令準備部の依存解析手段に通知する手段とを
含み、特定のイベントが発生したり、または特定の状態
を検出した場合には、その要因となった命令の命令流の
実行を停止し、メモリに停止した命令流のコンテキスト
を退避し、メモリから新たな命令流のコンテキストを格
納して実行を開始することを特徴とする情報処理装置。
1. A plurality of instruction preparation units, a plurality of operation execution units, a plurality of register files, and an instruction scheduling unit provided between the instruction preparation units and the operation execution units, wherein the instruction preparation unit comprises: Instruction fetch means for reading instructions,
From dependency analysis means for analyzing and storing the data dependence information from the operation execution part, and instruction decoding means for decoding the instruction read by the instruction fetch means and judging the issuability of the instruction based on the data dependence information. The instruction scheduling unit accepts instruction decoding results from a plurality of instruction preparation units and selects an instruction decoding result that can be issued for the operation executing units in the instruction accepting state among the plurality of operation executing units. , A means for outputting each instruction among them to a corresponding operation executing portion, wherein the operation executing portion executes the instruction received from the instruction scheduling portion, and decodes the dependency elimination information at the end of execution of the instruction. Sometimes it includes a means for notifying the dependency analysis means of the instruction preparation section that has performed dependency analysis, and when a specific event occurs or a specific state is detected. Information that is characterized by stopping the execution of the instruction stream that caused the instruction, saving the context of the stopped instruction stream in memory, storing the context of the new instruction stream from memory, and starting execution. Processing equipment.
【請求項2】 複数の命令準備部と、複数の演算実行部
と、複数のレジスタファイルと、前記命令準備部と演算
実行部の間に設けられる命令スケジュール部と、複数の
命令流の実行を制御する命令流実行制御部と、命令流の
コンテキストを格納するメモリを備え、前記命令準備部
は、命令を読み出す命令フェッチ手段と、前記演算実行
部からのデータ依存情報を解析,保管する依存解析手段
と、前記命令フェッチ手段が読み出した命令を解読して
前記データ依存情報を基に命令の発行可能性を判定する
命令解読手段からなり、前記命令スケジュール部は、複
数の命令準備部からの命令解読結果を受け付けるととも
に、複数の演算実行部のうち命令受付可能状態にある演
算実行部を対象として発行可能な命令解読結果を選択
し、それらの中の各命令を対応する演算実行部に出力す
る手段を含み、前記演算実行部は、命令スケジュール部
から受け付けた命令を実行する手段と、実行終了時には
依存解消情報をその命令の解読時に依存解析を行った命
令準備部の依存解析手段に通知する手段とを含み、前記
命令流実行制御部は、特定のイベントが発生したり、ま
たは特定の状態を検出した場合には、その要因となった
命令の命令流の実行を停止し、メモリに停止した命令流
のコンテキストを退避し、メモリから新たな命令流のコ
ンテキストを格納して実行を開始することを特徴とする
情報処理装置。
2. A plurality of instruction preparation units, a plurality of operation execution units, a plurality of register files, an instruction schedule unit provided between the instruction preparation units and the operation execution units, and a plurality of instruction stream executions. An instruction stream execution control unit for controlling and a memory for storing a context of the instruction stream are provided, and the instruction preparation unit, an instruction fetch unit for reading an instruction, and a dependency analysis for analyzing and storing data dependency information from the operation executing unit. Means and instruction decoding means for decoding the instruction read by the instruction fetch means to determine the issue possibility of the instruction based on the data dependence information, and the instruction schedule section includes instructions from a plurality of instruction preparation sections. In addition to accepting the decoding result, select the instruction decoding result that can be issued to the operation executing unit that is in the instruction accepting state from the plurality of operation executing units, and select each instruction among them. Means for outputting a command to a corresponding operation executing unit, the operation executing unit executing the instruction received from the instruction scheduling unit, and performing dependency analysis when the instruction is decoded, the dependency resolution information when the instruction is completed. The instruction flow execution control unit includes a unit for notifying the dependency analysis unit of the instruction preparation unit, and when a specific event occurs or a specific state is detected, the instruction of the instruction that is the factor An information processing apparatus, which stops execution of a flow of instructions, saves a context of the stopped instruction flow in a memory, stores a context of a new instruction flow from the memory, and starts execution.
【請求項3】 複数の命令準備部と、複数の演算実行部
と、少なくとも前記命令準備部よりも多くの複数のレジ
スタファイルと、前記命令準備部と演算実行部の間に設
けられる命令スケジュール部と、複数の命令流の実行を
制御する命令流実行制御部を備え、前記命令準備部は、
命令を読み出す命令フェッチ手段と、前記演算実行部か
らのデータ依存情報を解析,保管する依存解析手段と、
前記命令フェッチ手段が読み出した命令を解読して前記
データ依存情報を基に命令の発行可能性を判定する命令
解読手段からなり、前記命令スケジュール部は、複数の
命令準備部からの命令解読結果を受け付けるとともに、
複数の演算実行部のうち命令受付可能状態にある演算実
行部を対象として発行可能な命令解読結果を選択し、そ
れらの中の各命令を対応する演算実行部に出力する手段
を含み、前記演算実行部は、命令スケジュール部から受
け付けた命令を実行する手段と、実行終了時には依存解
消情報をその命令の解読時に依存解析を行った命令準備
部の依存解析手段に通知する手段とを含み、前記命令流
実行制御部は、命令流を命令準備部およびレジスタファ
イルに対応させて、命令準備部に割り付けられている命
令流については実行させるが、特定のイベントが発生し
たり、または特定の状態を検出した場合には、その要因
となった命令の命令流の実行を停止し、その命令流に割
り付けられていた命令準備部をまだ割り付けられていな
かった命令流に対応させて、新たに割り付けられた命令
流の実行を開始することを特徴とする情報処理装置。
3. A plurality of instruction preparation units, a plurality of operation execution units, a plurality of register files at least larger than the instruction preparation units, and an instruction scheduling unit provided between the instruction preparation units and the operation execution units. And an instruction stream execution control unit for controlling execution of a plurality of instruction streams, wherein the instruction preparation unit is
Instruction fetch means for reading instructions, and dependency analysis means for analyzing and storing data dependency information from the operation executing unit,
The instruction fetch unit includes an instruction decoding unit for decoding the instruction read by the instruction fetch unit and determining the instruction issuance possibility based on the data dependency information, and the instruction scheduling unit outputs the instruction decoding results from a plurality of instruction preparation units. Along with accepting
The operation executing unit including means for selecting an instruction decoding result that can be issued to an operation executing unit in an instruction accepting state among a plurality of operation executing units and outputting each instruction among them to a corresponding operation executing unit; The execution unit includes means for executing the instruction received from the instruction scheduling unit, and means for notifying the dependency resolution information at the end of execution to the dependency analysis means of the instruction preparation unit that has performed the dependency analysis at the time of decoding the instruction. The instruction stream execution control unit associates the instruction stream with the instruction preparation unit and the register file, and executes the instruction stream allocated to the instruction preparation unit, but does not generate a specific event or a specific state. When it is detected, the execution of the instruction stream of the instruction that caused it is stopped, and the instruction preparation section assigned to the instruction stream is dealt with to the instruction stream not assigned yet. Is allowed, the information processing apparatus characterized by initiating the execution of the newly allocated instruction stream.
【請求項4】 複数の命令準備部と、複数の演算実行部
と、少なくとも前記命令準備部よりも多くの複数のレジ
スタファイルと、前記命令準備部と演算実行部の間に設
けられる命令スケジュール部と、複数の命令流の実行を
制御する命令流実行制御部と、命令流のコンテキストを
格納するメモリを備え、前記命令準備部は、命令を読み
出す命令フェッチ手段と、前記演算実行部からのデータ
依存情報を解析、保管する依存解析手段と、前記命令フ
ェッチ手段が読み出した命令を解読して前記データ依存
情報を基に命令の発行可能性を判定する命令解読手段か
らなり、前記命令スケジュール部は、複数の命令準備部
からの命令解読結果を受け付けるとともに、複数の演算
実行部のうち命令受付可能状態にある演算実行部を対象
として発行可能な命令解読結果を選択し、それらの中の
各命令を対応する演算実行部に出力する手段を含み、前
記演算実行部は、命令スケジュール部から受け付けた命
令を実行する手段と、実行終了時には依存解消情報をそ
の命令の解読時に依存解析を行った命令準備部の依存解
析手段に通知する手段とを含み、前記命令流実行制御部
は、命令流を命令準備部およびレジスタファイルに対応
させて、命令準備部に割り付けられている命令流につい
ては実行させるが、特定のイベントが発生したり、また
は特定の状態を検出した場合には、その要因となった命
令の命令流の実行を停止し、その命令流のコンテキスト
をメモリに退避し、その命令流に割り付けられていた命
令準備部をまだ命令準備部に割り付けられておらず、か
つレジスタファイルには割り付けられている命令流に対
応させて、新たに割り付けられた命令流の実行を開始す
ることを特徴とする情報処理装置。
4. A plurality of instruction preparation units, a plurality of operation execution units, a plurality of register files at least larger than the instruction preparation units, and an instruction scheduling unit provided between the instruction preparation units and the operation execution units. An instruction stream execution control unit for controlling execution of a plurality of instruction streams; and a memory for storing a context of the instruction stream. The instruction preparation unit includes an instruction fetch unit for reading instructions and data from the operation execution unit. The instruction scheduling unit includes a dependency analysis unit that analyzes and stores dependency information, and an instruction decoding unit that decodes the instruction read by the instruction fetch unit and determines the issue possibility of the instruction based on the data dependency information. , A command that can receive the instruction decoding results from a plurality of instruction preparation units and can be issued to an operation execution unit that is in an instruction acceptable state among a plurality of operation execution units. The instruction execution unit includes means for selecting an instruction decoding result and outputting each instruction among them to a corresponding operation executing unit, wherein the operation executing unit executes the instruction accepted from the instruction scheduling unit, and eliminates dependence upon execution. Means for notifying information to the dependency analyzing means of the instruction preparing section which has carried out dependency analysis at the time of decoding the instruction, and the instruction stream execution control section associates the instruction stream with the instruction preparing section and the register file, The instruction stream allocated to the preparation section is executed, but when a specific event occurs or a specific state is detected, execution of the instruction stream of the instruction that caused it is stopped, and The context of the instruction stream is saved in the memory, the instruction preparation section assigned to the instruction stream has not been allocated to the instruction preparation section, and it is allocated to the register file. In correspondence with the instruction stream that have information processing apparatus characterized by initiating the execution of the newly allocated instruction stream.
【請求項5】 命令流の切り替えの契機となる特定のイ
ベントをキャッシュアクセス時のミスヒットとすること
を特徴とする請求項1ないし4のいずれかに記載の情報
処理装置。
5. The information processing apparatus according to claim 1, wherein the specific event that triggers the switching of the instruction stream is a mishit at the time of cache access.
【請求項6】 特定のイベントが発生したり、または特
定の状態を検出した場合には、その要因となった命令の
命令流に割り付けられている命令準備部の実行を停止
し、命令準備部の内部状態を初期化することを特徴とす
る請求項1ないし4のいずれかに記載の情報処理装置。
6. When a specific event occurs or a specific state is detected, the execution of the instruction preparation unit assigned to the instruction stream of the instruction causing the event is stopped, and the instruction preparation unit is stopped. The information processing apparatus according to claim 1, wherein an internal state of the information processing device is initialized.
【請求項7】 命令流の実行を停止し退避するコンテキ
ストに先頭PCを含み、再度この命令流を実行する場合
には先頭PCから実行を再開することを特徴とする請求
項1ないし4のいずれかに記載の情報処理装置。
7. The head PC is included in the context for stopping and saving the execution of the instruction stream, and when the instruction stream is executed again, the execution is restarted from the head PC. An information processing apparatus according to claim 2.
【請求項8】 命令流の切り替えの契機となる特定のイ
ベントをキャッシュアクセス時のミスヒットとし、キャ
ッシュミスが発生した場合、メモリアクセス命令を打ち
切り正常終了させることを特徴とする請求項1ないし4
のいずれかに記載の情報処理装置。
8. A memory access instruction is aborted and terminated normally when a cache hit occurs as a specific event that triggers the switching of instruction streams and when a cache miss occurs.
The information processing device according to any one of 1.
【請求項9】 新たな命令流を命令準備部に割り付け、
命令実行を再開する場合、切り替えの要因となり実行を
打ち切ったメモリアクセス命令を再実行させることを特
徴とする請求項1ないし4のいずれかに記載の情報処理
装置。
9. A new instruction stream is allocated to the instruction preparation section,
5. The information processing apparatus according to claim 1, wherein when the instruction execution is restarted, the memory access instruction that has caused the switching and was aborted is re-executed.
【請求項10】 命令流の切り替えの契機となる特定の
イベントをキャッシュアクセス時のミスヒットとし、命
令流のコンテキストを退避する場合にはメモリアクセス
命令のPCも一緒に退避することを特徴とする請求項1
ないし4のいずれかに記載の情報処理装置。
10. A specific event that triggers the switching of instruction streams is a mishit at the time of cache access, and when the context of the instruction stream is saved, the PC of the memory access instruction is also saved. Claim 1
5. The information processing apparatus according to any one of 4 to 4.
【請求項11】 命令流の切り替えの契機となる特定の
イベントをキャッシュアクセス時のミスヒットとし、命
令流のコンテキストを退避する場合にはメモリアクセス
命令も一緒に退避することを特徴とする請求項1ないし
4のいずれかに記載の情報処理装置。
11. A specific event that triggers the switching of the instruction stream is a mishit at the time of cache access, and when the context of the instruction stream is saved, the memory access instruction is also saved. The information processing apparatus according to any one of 1 to 4.
【請求項12】 コンテキストを退避するメモリが同一
プロセッサ上にあることを特徴とする請求項2または4
記載の情報処理装置。
12. The memory for saving the context is provided on the same processor.
The information processing device described.
【請求項13】 命令流実行制御部は、コンテキストが
メモリに退避された命令流については、特定の状態が解
消され、かつ命令流に割り付けられていないレジスタフ
ァイルがある場合、コンテキストがレジスタファイルに
復元され命令流がそのレジスタファイルに割り付けるこ
とを特徴とする請求項4記載の情報処理装置。
13. The instruction stream execution control unit, when the context is saved in a memory, has a specific state resolved, and if there is a register file not allocated to the instruction stream, the context is stored in the register file. The information processing apparatus according to claim 4, wherein the restored instruction stream is assigned to the register file.
【請求項14】 命令流の切り替えの契機となる特定の
イベントをキャッシュアクセス時のミスヒットとし、命
令流のコンテキストを退避する場合にはメモリアクセス
アドレスも一緒に退避することを特徴とする請求項1な
いし4のいずれかに記載の情報処理装置。
14. A specific event that triggers the switching of instruction streams is a mishit at the time of cache access, and when the context of the instruction stream is saved, the memory access address is also saved. The information processing apparatus according to any one of 1 to 4.
【請求項15】 命令流の切り替えの契機となる特定の
イベントをメモリアクセスに関するエラーとすることを
特徴とする請求項1ないし4のいずれかに記載の情報処
理装置。
15. The information processing apparatus according to claim 1, wherein a specific event that triggers the switching of the instruction stream is an error related to memory access.
JP11591393A 1992-05-18 1993-05-18 Information processor Pending JPH0644089A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11591393A JPH0644089A (en) 1992-05-18 1993-05-18 Information processor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP12491092 1992-05-18
JP4-124910 1992-05-18
JP11591393A JPH0644089A (en) 1992-05-18 1993-05-18 Information processor

Publications (1)

Publication Number Publication Date
JPH0644089A true JPH0644089A (en) 1994-02-18

Family

ID=26454339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11591393A Pending JPH0644089A (en) 1992-05-18 1993-05-18 Information processor

Country Status (1)

Country Link
JP (1) JPH0644089A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998013759A1 (en) * 1996-09-27 1998-04-02 Hitachi, Ltd. Data processor and data processing system
WO2005048176A1 (en) * 2003-11-12 2005-05-26 Matsushita Electric Industrial Co., Ltd. Electronic device and control method thereof
JP2005182825A (en) * 2003-12-18 2005-07-07 Nvidia Corp Out of order instruction dispatch extending over thread of multithreaded microprocessor
EP1662389A2 (en) 2004-11-29 2006-05-31 Fujitsu Limited Multithread controller and control method
JP2006351008A (en) * 2005-06-16 2006-12-28 Internatl Business Mach Corp <Ibm> Method for blocking thread upon dispatch of multithread processor, computer program, and device (minute multithread dispatch lock mechanism)
US7472258B2 (en) 2003-04-21 2008-12-30 International Business Machines Corporation Dynamically shared group completion table between multiple threads
WO2011155097A1 (en) * 2010-06-11 2011-12-15 パナソニック株式会社 Instruction issue and control device and method

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998013759A1 (en) * 1996-09-27 1998-04-02 Hitachi, Ltd. Data processor and data processing system
US7472258B2 (en) 2003-04-21 2008-12-30 International Business Machines Corporation Dynamically shared group completion table between multiple threads
WO2005048176A1 (en) * 2003-11-12 2005-05-26 Matsushita Electric Industrial Co., Ltd. Electronic device and control method thereof
JP4602907B2 (en) * 2003-11-12 2010-12-22 パナソニック株式会社 Electronic device and control method thereof
JPWO2005048176A1 (en) * 2003-11-12 2007-11-29 松下電器産業株式会社 Electronic device and control method thereof
US7549594B2 (en) 2003-11-12 2009-06-23 Panasonic Corporation Electronic device having plurality of functional units and controller for controlling registers according to status of functional units
JP2005182825A (en) * 2003-12-18 2005-07-07 Nvidia Corp Out of order instruction dispatch extending over thread of multithreaded microprocessor
EP1662389A2 (en) 2004-11-29 2006-05-31 Fujitsu Limited Multithread controller and control method
US7437519B2 (en) 2004-11-29 2008-10-14 Fujitsu Limited Multithread controller and control method
JP2006351008A (en) * 2005-06-16 2006-12-28 Internatl Business Mach Corp <Ibm> Method for blocking thread upon dispatch of multithread processor, computer program, and device (minute multithread dispatch lock mechanism)
WO2011155097A1 (en) * 2010-06-11 2011-12-15 パナソニック株式会社 Instruction issue and control device and method
JP2011258147A (en) * 2010-06-11 2011-12-22 Panasonic Corp Apparatus and method for instruction issue control
US9436464B2 (en) 2010-06-11 2016-09-06 Socionect Inc. Instruction-issuance controlling device and instruction-issuance controlling method

Similar Documents

Publication Publication Date Title
US5742782A (en) Processing apparatus for executing a plurality of VLIW threads in parallel
US5958041A (en) Latency prediction in a pipelined microarchitecture
US7490228B2 (en) Processor with register dirty bit tracking for efficient context switch
US5546593A (en) Multistream instruction processor able to reduce interlocks by having a wait state for an instruction stream
US6295600B1 (en) Thread switch on blocked load or store using instruction thread field
US8069340B2 (en) Microprocessor with microarchitecture for efficiently executing read/modify/write memory operand instructions
US7155600B2 (en) Method and logical apparatus for switching between single-threaded and multi-threaded execution states in a simultaneous multi-threaded (SMT) processor
US5630149A (en) Pipelined processor with register renaming hardware to accommodate multiple size registers
US6138230A (en) Processor with multiple execution pipelines using pipe stage state information to control independent movement of instructions between pipe stages of an execution pipeline
US7290261B2 (en) Method and logical apparatus for rename register reallocation in a simultaneous multi-threaded (SMT) processor
US7051329B1 (en) Method and apparatus for managing resources in a multithreaded processor
KR100241646B1 (en) Concurrent multitasking in a uniprocessor
US6687809B2 (en) Maintaining processor ordering by checking load addresses of unretired load instructions against snooping store addresses
JP3678444B2 (en) Superscalar pipeline processor with enhanced pipe control and register conversion functions
US20040216101A1 (en) Method and logical apparatus for managing resource redistribution in a simultaneous multi-threaded (SMT) processor
WO2009006607A1 (en) Dynamically composing processor cores to form logical processors
US20040205719A1 (en) Hop method for stepping parallel hardware threads
JP2006114036A (en) Instruction group formation and mechanism for smt dispatch
JPH087678B2 (en) Computers for processing different architecture instructions and resulting communication methods
KR100493126B1 (en) Multi-pipeline microprocessor with data precsion mode indicator
KR19980079691A (en) Resource allocation method and data apparatus of data processing system
US6073231A (en) Pipelined processor with microcontrol of register translation hardware
US6374351B2 (en) Software branch prediction filtering for a microprocessor
JPH0644089A (en) Information processor
JP2000020307A (en) Distributed instruction completion logic

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040316

A521 Written amendment

Effective date: 20040514

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Effective date: 20040608

Free format text: JAPANESE INTERMEDIATE CODE: A02