JPH05233288A - Information processor - Google Patents

Information processor

Info

Publication number
JPH05233288A
JPH05233288A JP6987992A JP6987992A JPH05233288A JP H05233288 A JPH05233288 A JP H05233288A JP 6987992 A JP6987992 A JP 6987992A JP 6987992 A JP6987992 A JP 6987992A JP H05233288 A JPH05233288 A JP H05233288A
Authority
JP
Japan
Prior art keywords
instruction
exception
flag
stage
register
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
JP6987992A
Other languages
Japanese (ja)
Inventor
Hisao Koyanagi
尚夫 小柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP6987992A priority Critical patent/JPH05233288A/en
Publication of JPH05233288A publication Critical patent/JPH05233288A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To make it possible to restart a task whose control is transferred to another task due to the generation of an exception and to prevent the drop of performance. CONSTITUTION:This information processor has the 1st flag to be changed by a previously determined instruction in order to make a memory access instruction exception accurate, plural control means (4, 5, 21 to 25) for delaying the updating of an instruction counter due to the issue of the 2nd instruction following the 1st instruction until the end of exception detecting processing for the 1st instruction for executing processing relating to a memory access in accordance with the value of the 1st flag, the 2nd flag to be changed by a previously determined instruction in order to make arithmetic instruction exception accurate, and plural control means (4, 5, 21 to 25) for delaying the updating of an instruction counter due to the issue of the 4th instruction following the 3rd instruction for executing processing relating to arithmetic until the end of the exception detecting processing for the 3rd instruction in accordance with the value of the 2nd flag.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は情報処理装置の命令制御
方式に係り、特に例外処理の正確化方式を実現するため
の情報処理装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an instruction control system of an information processing apparatus, and more particularly to an information processing apparatus for realizing an exception processing accuracy system.

【0002】[0002]

【従来の技術】従来、この種の情報処理装置の例として
以下に述べる2つがある。それらは、図3および図4に
示した命令パイプライン構成を持つ。この図3におい
て、3−1はDステージ命令レジスタ、3−2は命令デ
コーダ、3−3はAステージ命令レジスタ、3−4はア
ドレス加算器、3−5はTステージ命令レジスタ、3−
6はTLB(Translation Lookasi
de Buffer)、3−7はOFステージ命令レジ
スタ、3−8はメモリ(キャッシュ)、3−9はEステ
ージ命令レジスタ、3−10はALU(Arithum
etic Logical Unit)、3−11はW
ステージ命令レジスタ、3−12はGR(Genera
l Register:汎用レジスタ)である。図4に
おいて、4−1はAステージ命令レジスタ、4ー2は命
令デコーダ、4−3はBステージ命令レジスタ、4−4
はGR、4−5はCステージ命令レジスタ、4−6はア
ドレス加算器、4−7はDステージ命令レジスタ、4−
8はM1ステージ命令レジスタ、4−9はM2ステージ
命令レジスタ、4−10はMnステージ命令レジスタ、
4−11はWステージ命令レジスタ、4−12はF1ス
テージ命令レジスタ、4−13はF2ステージ命令レジ
スタ、4−14はFmステージ命令レジスタ、4−15
はGRである。
2. Description of the Related Art Conventionally, there are the following two examples of this type of information processing apparatus. They have the instruction pipeline configuration shown in FIGS. In FIG. 3, 3-1 is a D stage instruction register, 3-2 is an instruction decoder, 3-3 is an A stage instruction register, 3-4 is an address adder, 3-5 is a T stage instruction register, and 3-.
6 is TLB (Translation Lookasi)
de Buffer), 3-7 is an OF stage instruction register, 3-8 is a memory (cache), 3-9 is an E stage instruction register, and 3-10 is an ALU (Arithum).
etic Logical Unit), 3-11 is W
Stage instruction register, 3-12 is GR (Genera)
l Register: a general-purpose register). In FIG. 4, 4-1 is an A stage instruction register, 4-2 is an instruction decoder, 4-3 is a B stage instruction register, 4-4.
Is a GR, 4-5 is a C stage instruction register, 4-6 is an address adder, 4-7 is a D stage instruction register, 4-
8 is an M1 stage instruction register, 4-9 is an M2 stage instruction register, 4-10 is an Mn stage instruction register,
4-11 is W stage instruction register, 4-12 is F1 stage instruction register, 4-13 is F2 stage instruction register, 4-14 is Fm stage instruction register, 4-15
Is GR.

【0003】つぎに動作について説明する。まず、図3
に示したような、主に汎用コンピュータで使用される命
令パイプライン方式について説明する。なお、説明簡単
化のため、また、図4で示した命令パイプラインとの比
較平易化のため、命令フェッチを行うステージを省略
し、また、各ステージでの機能回復を抽象化している。
Dステージ命令レジスタ3−1ではフェッチしてきた命
令をデコードするためにDレジスタに命令コードを設定
する。そして、Aステージ命令レジスタ3−3ではオペ
ランドのメモリアドレスを計算するためにAレジスタに
アドレス加算器3−4の入力データを設定し、オペラン
ドの論理アドレスを計算する。Tステージ命令レジスタ
3−5ではアドレス加算器3−4で計算した論理アドレ
スをTレジスタに格納し、TLB3−6で物理アドレス
に変換する。OFステージ命令レジスタ3−7ではOF
レジスタにオペランドの物理アドレスを格納し、メモリ
(あるいはキャッシュ)3−8からオペランドをフェッ
チする。そして、Eステージ命令レジスタ3−9ではE
レジスタにメモリからフェッチしてきたオペランドを格
納し、ALU3−10で演算を行う。Wステージ命令レ
ジスタ3−11ではALU3−10で演算した結果をW
レジスタに格納し、その結果をGR3−12に格納す
る。このように、多少のステージ数等の違いこそあれ、
Dステージの命令デコードからWステージの結果のGR
書き込みまでが、各々1マシンサイクル毎に動作し、流
れ作業的に並列処理することで、性能向上を図っている
汎用計算機が一般的である。
Next, the operation will be described. First, FIG.
An instruction pipeline method mainly used in a general-purpose computer as shown in FIG. For simplification of description and simplification of comparison with the instruction pipeline shown in FIG. 4, the stage for fetching an instruction is omitted, and the function recovery at each stage is abstracted.
The D stage instruction register 3-1 sets an instruction code in the D register in order to decode the fetched instruction. Then, in the A stage instruction register 3-3, in order to calculate the memory address of the operand, the input data of the address adder 3-4 is set in the A register, and the logical address of the operand is calculated. The T stage instruction register 3-5 stores the logical address calculated by the address adder 3-4 in the T register, and the TLB 3-6 converts it into a physical address. OF stage instruction register 3-7 is OF
The physical address of the operand is stored in the register, and the operand is fetched from the memory (or cache) 3-8. Then, in the E stage instruction register 3-9, E
The operand fetched from the memory is stored in the register, and the ALU3-10 performs the operation. In the W stage instruction register 3-11, the result calculated by the ALU 3-10 is W
Store in a register and store the result in GR3-12. In this way, even if there are some differences in the number of stages,
GR from D stage instruction decode to W stage result
A general-purpose computer is generally used for each machine cycle until writing, and performs parallel processing flow-wise to improve performance.

【0004】つぎに、図4に示すようにメモリアクセス
処理あるいは演算処理が多重ステージ化されている計算
機について説明する。このような情報処理装置は、スー
パーパイプラインと呼ばれている。
Next, a computer in which memory access processing or arithmetic processing is multistaged as shown in FIG. 4 will be described. Such an information processing device is called a super pipeline.

【0005】まず、メモリアクセス命令の動作について
説明する。例えば、ロード命令の場合、Aステージ命令
レジスタ4−1ではレジスタAにフェッチした命令コー
ドを格納し、デコードする。Bステージ命令レジスタ4
−3では命令デコーダ4−2で得た制御情報をレジスタ
Bに格納し、GR4−4からロードする論理アドレスを
計算するための入力データを読み出す。Cステージ命令
レジスタ4−5ではレジスタCにGR4−4から読み出
したデータを格納し、アドレス加算器4−6でロードす
るデータの論理アドレスを計算する。Dステージ命令レ
ジスタ4−7ではメモリアクセス関係の機能ユニットの
繁忙状況等を解析して命令の発行を制御する。このDス
テージ命令レジスタ4−7から発行された命令は、M1
ステージ命令レジスタ4−8からMnステージ命令レジ
スタ4−10までで、キャッシュのアクセス、TLB索
引(物理アドレス・キャッシュの場合は、TLB索引が
先)、キャッシュがミスした場合は主記憶アクセスが行
われる。ロードされたメモリのデータはWステージ命令
レジスタ4−11のWレジスタに格納され、次のサイク
ルでGR4−15に格納され、命令の実行が完了する。
First, the operation of the memory access instruction will be described. For example, in the case of a load instruction, the fetched instruction code is stored in the register A in the A stage instruction register 4-1 and decoded. B stage instruction register 4
In -3, the control information obtained by the instruction decoder 4-2 is stored in the register B, and the input data for calculating the logical address to be loaded is read from the GR 4-4. The C stage instruction register 4-5 stores the data read from the GR 4-4 in the register C, and the address adder 4-6 calculates the logical address of the data to be loaded. The D stage instruction register 4-7 analyzes the busy status of the functional units related to memory access and controls the issuing of instructions. The instruction issued from the D stage instruction register 4-7 is M1.
From the stage instruction register 4-8 to the Mn stage instruction register 4-10, cache access, TLB index (TLB index is first in the case of physical address cache), and main memory access is performed when the cache misses. .. The loaded memory data is stored in the W register of the W stage instruction register 4-11 and in the GR 4-15 in the next cycle, and the execution of the instruction is completed.

【0006】つぎに、演算命令の動作について説明す
る。Aステージ命令レジスタ4−1からDステージ命令
レジスタ4−7までは、Cステージ命令レジスタ4−5
でアドレス計算を行わないこと以外は同様である。そし
て、Dステージ命令レジスタ4−7から発行された命令
は、F1ステージ命令レジスタ4−12〜Fmステージ
命令レジスタ4−14で演算が行われる。そして、最終
的には、その結果がWステージ命令レジスタ4−11で
GR4−15に格納される。
Next, the operation of the arithmetic instruction will be described. The A stage instruction register 4-1 to the D stage instruction register 4-7 are the C stage instruction register 4-5.
It is the same except that the address calculation is not performed in. Then, the instruction issued from the D stage instruction register 4-7 is operated in the F1 stage instruction register 4-12 to the Fm stage instruction register 4-14. Finally, the result is stored in GR 4-15 by the W stage instruction register 4-11.

【0007】つぎに、図3の汎用機型のパイプラインと
図4のスーパーパイプラインを比較してみると、汎用機
型の長所は、パイプラインの段数が少ないため、パイプ
ラインで受け渡される制御情報を保持するための記憶素
子が少なく済むことであり、逆に、その長所のためにマ
シンサイクルを短くすることができずに性能が向上しな
いことであり、図4のスーパーパイプラインは、ちょう
ど逆のことが言える。また、図4のスーパーパイプライ
ンにおいて、メモリアクセス命令実行時に、例えば、キ
ャッシュ・ミスが発生しても、図3の汎用機のように命
令パイプライン全体が停止することはなく、演算命令の
実行は可能であることもあげられる。また、IC(In
struction Counter)を更新するタイ
ミングも、汎用機とスーパーパイプラインでは異なる。
汎用機の場合、ICに対応する命令の実行が例外発生無
しで完了したことを確認してからE→Wステージの移行
タイミングで行われる。一方、スーパーパイプラインで
は、命令発行ステージであるDステージで行われること
が多い。その理由は、命令実行順序の保持がDステージ
以降では非常に困難であることだ。例えば、メモリアク
セス命令実行時にM1〜Mnステージでキャッシュのミ
スが発生した時などに、発行してからGRに結果が格納
されるまでの時間が予測不可能なものになる。そのた
め、後続の演算命令のGR書き込みが先に行われること
がある。ただ、この種の計算機の場合、このような書き
込みタイミングの追い越しが発生しても、実行結果が保
証されるための制御機構が用意されていることが多い。
その例として、CDC6600という計算機で実現され
ているレジスタ・スコアボードという方式が過去に発生
されている。(文献:THORNTON.J.E.[1
964].「Parallel operation
in the Control Data 660
0」、「Proc.Fall Joint Compu
ter Conf.26,33−40]、または、TH
ORNTON,J.E.[1970].Design
of a Computer,the Control
Data 6600,Scott,Foresma
n,Glenview,I11.)
Next, comparing the general-purpose machine type pipeline of FIG. 3 with the super pipeline of FIG. 4, the advantage of the general-purpose machine type is passed by the pipeline because the number of pipeline stages is small. The number of storage elements for holding the control information is small, and conversely, the machine cycle cannot be shortened due to its merit and the performance is not improved. Therefore, the super pipeline of FIG. The opposite can be said. In addition, in the super pipeline of FIG. 4, when a memory access instruction is executed, for example, even if a cache miss occurs, the entire instruction pipeline does not stop unlike the general-purpose machine of FIG. Is also possible. In addition, IC (In
The timing of updating the Structure Counter is different between the general-purpose machine and the super pipeline.
In the case of a general-purpose machine, it is performed at the transition timing of the E → W stage after confirming that the execution of the instruction corresponding to the IC is completed without any exception. On the other hand, in the super pipeline, it is often performed in the D stage which is the instruction issuing stage. The reason is that it is very difficult to maintain the instruction execution order after the D stage. For example, when a cache miss occurs in the M1 to Mn stages during execution of a memory access instruction, the time from issuance until the result is stored in GR becomes unpredictable. Therefore, the GR write of the subsequent operation instruction may be performed first. However, this type of computer often has a control mechanism for guaranteeing the execution result even if such a write timing overtaking occurs.
As an example, a system called a register scoreboard realized by a computer called CDC6600 has been generated in the past. (Reference: THORNTON.JE [1
964]. "Parallel operation
in the Control Data 660
0 ”,“ Proc. Fall Joint Compu
ter Conf. 26, 33-40] or TH
ORNTON, J. E. [1970]. Design
of a Computer, the Control
Data 6600, Scott, Foresma
n, Glenview, I11. )

【0008】つぎに、図5によって情報処理装置におけ
るプロセスの切り換え動作について説明する。この図5
において、5−1はPSW(Program Stat
us Word)、5−2はIC(Instructi
on Counter)、5−3はGR(Genera
l Register:汎用レジスタ)、5−4はCB
P(Current Block Pointer)、
5−5はNBP(New Block Pointe
r)、5−6はメモリである。マルチタスク環境を実現
している情報処理装置上で実行させるユーザープログラ
ムは、複数のプロセスという処理単位に分割され、共有
されているハードウェア資源の有効利用のために、プロ
セス毎にCPU時間が分割して処理されている。この図
5は(a)に示す最初にプロセスAという処理が実行さ
れている時に、例外が発生し、シーケンスAによってプ
ロセスBの実行に切り替わり、プロセスBの実行が終了
し、シーケンスBによってプロセスAの実行に切り替わ
るまでを示している。
Next, the process switching operation in the information processing apparatus will be described with reference to FIG. This Figure 5
5-1 is PSW (Program Stat)
us Word) 5-2 is IC (Instructi)
on Counter), 5-3 is GR (Genera)
l Register: general-purpose register), 5-4 is CB
P (Current Block Pointer),
5-5 is NBP (New Block Point)
r) and 5-6 are memories. A user program executed on an information processing device that realizes a multi-task environment is divided into processing units called multiple processes, and CPU time is divided for each process in order to effectively use shared hardware resources. Has been processed. In FIG. 5, when the process A is first executed as shown in FIG. 5A, an exception occurs, the execution of the process B is switched to the execution of the process B by the sequence A, the execution of the process B is completed, and the process A is executed by the sequence B. It shows until the execution is switched to.

【0009】そして、プロセスは、常にコンテクストと
いう実行状態を示す情報を保持し、そのプロセスが実行
中の場合は、そのコンテクストがハードウェアで用意さ
れている図5の(b)に示すPSW5−1,IC5−
2,GR5−3といったCPU内の高速な格納領域に存
在する。このコンテクストは、主にPSW5−1,IC
5−2,GR5−3に格納されるべき値で構成される構
造データである。ここで、PSW5−1はそのプロセス
の状態を示すかあるいはそのプロセスが割込受付を可能
とするかを示すフラグ群等で構成される。IC5−2は
そのプロセスで現在実行されている次の命令が存在する
メモリ中のアドレスを示す。GR5−3は汎用レジスタ
の値である。そして、現存する情報処理装置の中で、コ
ンテクストとして以上の3つを含んでいるものがほとん
どである。シーケンスAはプロセスAのコンテクストを
メモリに退避後、プロセスBのコンテクストをメモリ6
からロードする。逆に、シーケンスBはプロセスBのコ
ンテクストをメモリに退避後、プロセスAのコンテクス
トをメモリ6からロードする。
Then, the process always holds the information indicating the execution state called context, and when the process is in execution, the context is prepared by hardware and the PSW 5-1 shown in FIG. 5B is used. , IC5-
2, GR5-3 exists in a high-speed storage area in the CPU. This context is mainly PSW5-1, IC
5-2, structural data composed of values to be stored in GR5-3. Here, the PSW 5-1 is composed of a flag group or the like that indicates the state of the process or whether the process allows interrupt reception. IC5-2 indicates the address in memory where the next instruction currently being executed in the process is located. GR5-3 is the value of the general-purpose register. Most of the existing information processing devices include the above three as context. Sequence A saves the context of process A in memory and then stores the context of process B in memory 6.
To load from. On the contrary, the sequence B loads the context of the process A from the memory 6 after saving the context of the process B in the memory.

【0010】シーケンスAについて、図5の(b)を参
照しさらに詳しく説明する。新たに登場してくるCBP
5−4,NBP5−5というCPU内に存在する格納領
域には、現在実行中のプロセスAのコンテクストが退避
するためのメモリ中のアドレスが保持され、NBP5−
5には、実行中プロセス退避後に新たに実行されるプロ
セスのコンテクストが存在するメモリ中のアドレスを保
持している。これらCBP5−4,NBP5−5の値
は、通常、オペレーティング・システムと呼ばれるソフ
トウェアによって管理される。そして、プロセスAのコ
ンテクストがCPU内の格納領域、PSW5−1,IC
5−2,GR5−3に格納されている。すなわち、プロ
セスAが実行中である時に例外が発生し、プロセスAの
コンテクストをCBP5−4で示されているメモリ5−
6上のアドレスにのように退避する。その後、プロセ
スBのコンテクストをメモリ5−6上のNBP5−5で
示されているメモリ6上のアドレスからのようにロー
ドしてくる。
The sequence A will be described in more detail with reference to FIG. New CBP
In the storage areas 5-4 and NBP5-5 existing in the CPU, the addresses in the memory for saving the context of the currently executing process A are held.
5 stores the address in the memory where the context of the process newly executed after saving the running process is present. The values of these CBP5-4 and NBP5-5 are usually managed by software called an operating system. Then, the context of the process A is the storage area in the CPU, PSW5-1, IC.
5-2 and GR5-3. That is, an exception occurs while the process A is being executed, and the context of the process A is set to the memory 5-shown by CBP5-4.
Save to address 6 above. After that, the context of the process B is loaded as from the address on the memory 6 indicated by NBP5-5 on the memory 5-6.

【0011】以上説明したように、例外が発生した場合
でもコンテクストの値が正確に保持されている限り、プ
ロセスAの再開時の正当性は保証される。
As described above, even when an exception occurs, the correctness at the restart of the process A is guaranteed as long as the value of the context is accurately held.

【0012】[0012]

【発明が解決しようとする課題】上述した従来の情報処
理装置では、図4で説明した構成の計算機の構造による
理由から課題が発生する。すなわち、命令発行ステージ
以降の命令実行順序の保証が困難となることから、IC
更新タイミングが命令発行ステージである必要があるこ
とである。その結果、例外が発生した場合のIC値の正
当性保証が困難になることから、例外が発生して退避さ
れたプロセスの再開が困難になるという課題があった。
その課題による最も大きなインパクトは、仮想記憶機能
をオペレーティング・システムが享受できないことであ
る。そのメカニズムについて、図5を参照して説明す
る。プロセスAでメモリアクセス命令を実行している時
に、TLBを索引した結果、そのアクセスするアドレス
が実メモリ上に存在しないことが判明した場合、そのメ
モリアクセス命令で例外が発生する。この種の例外を、
ページ不在例外と呼ぶことが多い。その例外発生によっ
て、シーケンスAが起動しプロセスBに切り替わる。そ
して、このプロセスBは、プロセスAの例外発生メモリ
アクセス命令が必要とするメモリ空間を、ディスク等の
二次記憶から実メモリ上にロードし、TLBに対して要
求したメモリ空間が実メモリ上に存在するようにTLB
を書き換える。この操作は、TLBのページに対応する
TLBのエントリ中の存在/不在を示すビットを書き換
えることを意味する。このプロセスBの処理が終了する
とシーケンスBによってプロセスAに実行制御が移行す
る。プロセスAでは、ページ不在例外を発生させたメモ
リアクセス命令の実行から再開される。このような機能
をハードウェアが提供することによって、プロセスAを
プログラムする設計者は、二次記憶も実記憶のように考
えることが可能で、そのためのプログラミングの容易
さ、実記憶管理の容易さという大きな効果を生む。この
機能に代表されるものを一般に仮想記憶機能と呼んでい
る。
The above-mentioned conventional information processing apparatus has a problem due to the structure of the computer having the configuration described in FIG. That is, it is difficult to guarantee the instruction execution order after the instruction issue stage.
The update timing must be the instruction issue stage. As a result, it becomes difficult to guarantee the correctness of the IC value when an exception occurs, which makes it difficult to restart the process that was saved due to the exception.
The biggest impact of the challenge is that the operating system cannot enjoy the virtual memory function. The mechanism will be described with reference to FIG. When the memory access instruction is executed in the process A, if the result of indexing the TLB reveals that the address to be accessed does not exist in the real memory, an exception occurs in the memory access instruction. An exception of this kind,
It is often called a page fault exception. When the exception occurs, the sequence A is activated and switched to the process B. Then, the process B loads the memory space required by the exception-occurring memory access instruction of the process A from the secondary storage such as a disk into the real memory, and the memory space requested to the TLB is stored in the real memory. TLB to exist
Rewrite. This operation means rewriting the bit indicating the presence / absence in the entry of the TLB corresponding to the page of the TLB. When the processing of the process B is completed, the execution control is transferred to the process A by the sequence B. In the process A, the execution is resumed from the execution of the memory access instruction that caused the page fault exception. By providing such a function by the hardware, the designer who programs the process A can think of the secondary storage as if it were the real storage, and therefore the programming and the real storage management are easy. Produces a great effect. A function represented by this function is generally called a virtual memory function.

【0013】ところが、図4のようなスーパーパイプラ
イン方式の情報処理装置では、シーケンスBによってプ
ロセスAの例外発生命令から実行を再開させることは不
可能である。その最も大きな原因はシーケンスAでプロ
セスAのコンテクストを正確に保存できないことであ
り、その中でもICの不正確さは大きな影響を与える。
この動作を図6のタイムチャートで説明する。まず、図
6は図4のスーパーパイプライン計算機で例外が発生し
た場合の、IC更新タイミングについて説明している。
However, in the information processing apparatus of the super pipeline system as shown in FIG. 4, it is impossible to resume the execution from the exception generating instruction of the process A by the sequence B. The biggest cause is that the context of the process A cannot be accurately stored in the sequence A, and the inaccuracy of the IC has a great influence among them.
This operation will be described with reference to the time chart of FIG. First, FIG. 6 explains the IC update timing when an exception occurs in the super pipeline computer of FIG.

【0014】この図6において、Aステージから順にメ
モリアクセス命令1,命令2,命令3が連続して処理さ
れて、DステージからM1ステージに落ちるサイクル
(5)、(6)、(7)がISSUEタイミングとな
る。その1サイクル後、すなわち、サイクル(6)、
(7)、(8)でIC更新指示信号が発生し、更にその
1サイクル後にICが+4づつカウント・アップされ
る。なお、図6において、記号*は命令2で割込発生を
示す。そして、最も遅い場合、例外は命令2の場合、M
6ステージのサイクル(12)で発生する。発生した
後、後続命令は全てキャンセルされ、更に先行する命令
の実行が完了した後で、図5で説明したシーケンスAの
ような割込シーケンスが起動する。しかし、その割込シ
ーケンスでコンテクストとして退避されるICの値は、
命令3の次の命令を示しているので、図5で説明したよ
うなシーケンスBによる再開は不可能である。そこで、
図2のように例外が発生しないことを確認するまで、後
続命令の発行を延期する方式が考えられる。すなわち、
例外発生のないことを確認していることを示すフラグを
用意し、命令1がM6ステージを通過したときに、その
フラグをリセットし(サイクル(11))、そのフラグ
を見て後続の命令2の発行を延期する制御を採用する。
In FIG. 6, cycles (5), (6) and (7) in which memory access instruction 1, instruction 2 and instruction 3 are successively processed starting from the A stage, and falling from the D stage to the M1 stage. It becomes ISSUE timing. One cycle later, that is, cycle (6),
At (7) and (8), the IC update instruction signal is generated, and one cycle later, the IC is counted up by +4. In FIG. 6, the symbol * indicates that an interrupt has occurred in instruction 2. Then, in the slowest case, the exception is instruction 2, M
It occurs in the 6-stage cycle (12). After the occurrence, all the subsequent instructions are canceled, and after the execution of the preceding instruction is completed, an interrupt sequence like the sequence A described in FIG. 5 is activated. However, the value of the IC saved as context in the interrupt sequence is
Since the instruction following the instruction 3 is shown, the restart by the sequence B as described in FIG. 5 is impossible. Therefore,
As shown in FIG. 2, it is possible to postpone issuing the subsequent instruction until it is confirmed that an exception does not occur. That is,
A flag indicating that it is confirmed that no exception has occurred is prepared, and when instruction 1 passes through the M6 stage, the flag is reset (cycle (11)), and the instruction 2 that follows the instruction Adopt control to postpone issuance of.

【0015】そして、この方式を採用した場合、メモリ
アクセス命令発行後の全命令の発行は8サイクル後とな
り、性能上非常に影響が大きい。しかし、その方式を採
用した場合に図2で示しているように、命令2でM6ス
テージで例外が発生した時に、(サイクル(19))I
Cの値は、命令2によるIC更新がキャンセルされるの
で、割込シーケンスが発生した時には、命令2を指して
いる。よって、命令2からの再開可能となる。
When this method is adopted, the issuance of all the instructions after the issuance of the memory access instruction comes after eight cycles, which has a great influence on the performance. However, when that method is adopted, as shown in FIG. 2, when an exception occurs at the M6 stage in the instruction 2, (cycle (19)) I
The value of C indicates the instruction 2 when the interrupt sequence occurs because the IC update by the instruction 2 is canceled. Therefore, it is possible to restart from the instruction 2.

【0016】以上の説明をまとめると、例外処理の正確
化のためには、性能が低下するというジレンマがあるこ
とが結論づけられる。すなわち、例外処理の正確化を重
視した構成が図3の汎用機方式で、性能を重視した構成
が図4のスーパーパイプライン方式ということが概ね言
える。
To summarize the above description, it can be concluded that there is a dilemma that the performance is lowered for the accuracy of exception handling. That is, it can be said that the configuration that emphasizes the exception processing accuracy is the general-purpose machine system in FIG. 3 and the configuration that emphasizes the performance is the super pipeline system in FIG.

【0017】[0017]

【課題を解決するための手段】本発明の情報処理装置
は、命令発行後のメモリアクセスが複数段のステージで
処理され、先行する命令の処理が完了しないうちに、次
の命令発行が可能なパイプライン処理を行う情報処理装
置において、予め定められた命令によって変更可能であ
る第1のフラグと、この第1のフラグの値に応じてメモ
リアクセスに関係する処理を行う第1の命令の例外検出
処理の終了までこの第1の命令に後続する第2の命令の
発行による命令カウンタの更新を延期する制御手段を備
えるものである。また、本発明の別の発明による情報処
理装置は、命令発行後の演算が複数段のステージで処理
され、先行する演算命令の処理が完了しないうちに次の
命令発行が可能なパイプライン処理を行う情報処理装置
において、予め定められた命令によって変更可能である
第2のフラグと、この第2のフラグの値に応じて演算に
関係する処理を行う第3の命令の例外検出処理の終了ま
でこの第3の命令に後続する第4の命令発行による命令
カウンタの更新を延期する制御手段を備えるものであ
る。
According to the information processing apparatus of the present invention, the memory access after the instruction is issued is processed in a plurality of stages, and the next instruction can be issued before the processing of the preceding instruction is completed. In an information processing device that performs pipeline processing, a first flag that can be changed by a predetermined instruction, and an exception of the first instruction that performs processing related to memory access according to the value of the first flag The control means is provided to postpone the update of the instruction counter by the issuance of the second instruction following the first instruction until the end of the detection processing. An information processing apparatus according to another invention of the present invention executes a pipeline process in which an operation after issuing an instruction is processed in a plurality of stages and the next instruction can be issued before the processing of the preceding arithmetic instruction is completed. In the information processing apparatus to perform, until the end of the exception detection process of the second instruction that can be changed by a predetermined instruction and the third instruction that performs processing related to the operation according to the value of the second flag The control means is provided to postpone the update of the instruction counter by issuing the fourth instruction subsequent to the third instruction.

【0018】[0018]

【作用】本発明の第1の発明においては、ソフトウェア
にメモリアクセス系例外正確化を意識した命令実行をハ
ードウェアに指示でき、また、第2の発明においては、
メモリ系例外正確化と同様に第2のフラグの操作によっ
て、例外正確化必要な実行部分をプログラム開発者に指
定させることによって、性能を低下させること無しに演
算例外の正確化を実現する。
In the first aspect of the present invention, the software can instruct the hardware to execute the instruction in consideration of the memory access type exception precision, and in the second aspect,
Similar to the memory exception correction, the operation of the second flag allows the program developer to specify the execution part that requires exception correction, thereby realizing the operation exception correction without degrading the performance.

【0019】[0019]

【実施例】図1は本発明の一実施例を示すブロック図
で、図4で説明したスーパーパイプライン型計算機をベ
ースにして本発明を実現した例を示すものである。この
図1において、1は命令パイプライン制御部、2はPS
W、3は「ISSUE」フラグ、4はIC更新フラグ、
5はIC更新延期フラグ、6はIC(Instruct
ion Counter)、7は割込シーケンス制御
部、8は+4インクレメンタ、9はメモリ系例外検出
部、10はAステージの命令レジスタ、11はBステー
ジの命令レジスタ、12はCステージの命令レジスタ、
13はDステージの命令レジスタ、14はM1ステージ
の命令レジスタ、15はM2ステージの命令レジスタ、
16はM3ステージの命令レジスタ、17はM4ステー
ジの命令レジスタ、18はM5ステージの命令レジス
タ、19はM6ステージの命令レジスタ、20はM7ス
テージの命令レジスタ、21,22,23はAND回
路、24,25はOR回路である。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram showing an embodiment of the present invention and shows an example in which the present invention is realized based on the super pipeline type computer explained in FIG. In FIG. 1, 1 is an instruction pipeline control unit, 2 is a PS
W, 3 is an "ISSUE" flag, 4 is an IC update flag,
5 is an IC update postponement flag, and 6 is an IC (Instruct
Ion Counter), 7 is an interrupt sequence control unit, 8 is a +4 incrementer, 9 is a memory system exception detection unit, 10 is an A stage instruction register, 11 is a B stage instruction register, 12 is a C stage instruction register,
13 is a D-stage instruction register, 14 is an M1 stage instruction register, 15 is an M2 stage instruction register,
16 is an M3 stage instruction register, 17 is an M4 stage instruction register, 18 is an M5 stage instruction register, 19 is an M6 stage instruction register, 20 is an M7 stage instruction register, 21, 22 and 23 are AND circuits, 24 , 25 are OR circuits.

【0020】そして、命令発行後のメモリアクセスが複
数段のステージで処理され、先行する命令の処理が完成
しないうちに、次の命令発行が可能なパイプライン処理
を行う情報処理装置において、図1のPSW2における
斜線部分は、予め定められた命令によって変更可能であ
る第1のフラグであり、IC更新フラグ4とIC更新延
期フラグ5およびAND回路21〜23ならびにOR回
路24,25は、この第1のフラグの値に応じてメモリ
アクセスに関係する処理を行う第1の命令の例外検出処
理の終了までこの第1の命令に後続する第2の命令の発
行による命令カウンタの更新を延期する制御手段を構成
している。また、命令発行後の演算が複数段のステージ
で処理され、先行する演算命令の処理が完了しないうち
に、次の命令発行が可能なパイプライン処理を行う情報
処理装置において、図1のPSW2における斜線部分
は、予め定められた命令によって変更可能である第2の
フラグであり、IC更新フラグ4とIC更新延期フラグ
5およびAND回路21〜23ならびにOR回路24,
25は、この第2のフラグの値に応じて演算に関係する
処理を行う第3の命令の例外検出処理の終了までこの第
3の命令に後続する第4の命令発行による命令カウンタ
の更新を延期する制御手段を構成している。
In the information processing apparatus which executes pipeline processing capable of issuing the next instruction before the memory access after issuing the instruction is processed in a plurality of stages and the processing of the preceding instruction is not completed, FIG. The shaded portion in PSW2 of is a first flag that can be changed by a predetermined instruction, and the IC update flag 4, the IC update postponement flag 5, the AND circuits 21 to 23, and the OR circuits 24 and 25 are Control for postponing the update of the instruction counter due to the issuance of the second instruction following the first instruction until the exception detection processing of the first instruction, which performs processing related to memory access according to the value of the flag of 1, is completed. Constitutes a means. In addition, in the information processing apparatus that executes the pipeline processing capable of issuing the next instruction before the processing of the preceding arithmetic instruction is completed by the operation after the instruction issuance being processed in a plurality of stages, the PSW2 of FIG. The shaded portion is a second flag that can be changed by a predetermined instruction, and includes the IC update flag 4, the IC update deferment flag 5, the AND circuits 21 to 23, and the OR circuit 24,
25 updates the instruction counter by issuing a fourth instruction subsequent to the third instruction until the end of the exception detection processing of the third instruction that performs processing related to the operation according to the value of the second flag. It constitutes a control means for postponing.

【0021】つぎにこの図1に示す実施例の動作を説明
する。まず、ここでは、Aステージの命令レジスタ10
からDステージの命令レジスタ13で命令発行までの様
々な制御を命令パイプライン制御部1が行う。この命令
パイプラインの各ステージへの指示信号を送出する信号
線110,111,112,113はA〜Dステージの
パイプラインの流れを止めるホールド信号である。この
命令パイプライン制御部1によって命令発行タイミング
が決定し、その指示が信号線1003によって送出さ
れ、「ISSUE」フラグ3が点灯する。さらに、次の
サイクルでIC更新フラグ4が信号線3040によって
点灯する。また、この信号線3040はAND回路21
にも接続されている。そして、命令パイプライン制御部
1は信号線1021でDステージに存在する命令がメモ
リアクセス命令であれば、「1」を送出する。更に、P
SW2中のあるメモリ系例外正確化フラグの指示を信号
線2021によってAND回路21に送る。よって、メ
モリアクセス命令の「ISSUE」タイミングで、か
つ、メモリ系例外正確化フラグが点灯しているときに、
IC更新延期フラグ5がセットされる。更に、AND回
路22,23,OR回路24によって、以下に説明する
ような動作を実現する。つまり、メモリ系例外正確化フ
ラグが点灯していない場合、IC更新フラグ4の点灯タ
イミングで信号線2406が「1」を送出し、信号線6
060,8060と+4インクレメンタ8によって、I
C6の値が「4」だけ増加する。
Next, the operation of the embodiment shown in FIG. 1 will be described. First, here, the A-stage instruction register 10
The instruction pipeline control unit 1 performs various controls from the instruction register 13 of the D stage to the instruction issuance. The signal lines 110, 111, 112, 113 for sending the instruction signal to each stage of the instruction pipeline are hold signals for stopping the flow of the pipeline of the A to D stages. The instruction issue timing is determined by the instruction pipeline control unit 1, the instruction is sent out by the signal line 1003, and the "ISSUE" flag 3 is turned on. Further, in the next cycle, the IC update flag 4 is turned on by the signal line 3040. The signal line 3040 is connected to the AND circuit 21.
Is also connected to. Then, the instruction pipeline control unit 1 sends out "1" if the instruction existing in the D stage on the signal line 1021 is a memory access instruction. Furthermore, P
An instruction of a certain memory system exception precision flag in SW2 is sent to the AND circuit 21 through the signal line 2021. Therefore, at the "ISSUE" timing of the memory access instruction, and when the memory system exception precision flag is turned on,
The IC update postponement flag 5 is set. Further, the AND circuits 22, 23, and the OR circuit 24 realize the operation described below. That is, when the memory system exception precision flag is not lit, the signal line 2406 sends “1” at the lighting timing of the IC update flag 4 and the signal line 6
060,8060 and +4 incrementer 8
The value of C6 increases by "4".

【0022】つぎに、メモリ系例外正確化フラグが点灯
している場合、IC更新フラグ4の信号は、IC更新延
期フラグ5の点灯によってIC6の値を更新することが
できずに、更新指示信号がAND回路22によって消滅
してしまう。しかし、IC更新要求そのものは、IC更
新延期フラグ5に保持され、信号線9025によって送
られてくるメモリ系例外無検出を示す信号によってAN
D回路23を通じて信号線2406が「1」を送出しI
C6の値が更新される。そして、M6ステージに到達し
たメモリアクセス命令は信号線1909で、M6ステー
ジの命令レジスタ19の制御情報をメモリ系例外検出部
9で解析する。ここで、もし、例外が発生すればメモリ
系例外発生信号9007に「1」を送出し、発生しなけ
ればメモリ系例外無検出の信号線9025に「1」を送
出する。例外発生時には、信号線9007がメモリ系例
外発生を割込シーケンス制御部7に通知し、割込シーケ
ンスを起動する。そして、例外発生時に、IC更新延期
フラグ5に保存してあった更新要求が信号線9007,
OR回路25,信号線2505を介してリセットされ、
IC6の更新要求はキャンセルされるが、メモリ系例外
無検出の信号線9025によって確認されると、IC更
新延期フラグ5が同様にリセットされ、それと同時にA
ND回路23,信号線2324,OR回路24,信号線
2406を介してIC6の値が更新される。
Next, when the memory system exception precision flag is turned on, the signal of the IC update flag 4 cannot update the value of the IC 6 by turning on the IC update postponement flag 5, and the update instruction signal Disappears by the AND circuit 22. However, the IC update request itself is held in the IC update postponement flag 5 and the signal indicating the absence of detection of a memory system exception is sent by the signal line 9025.
The signal line 2406 sends “1” through the D circuit 23 and I
The value of C6 is updated. Then, the memory access instruction reaching the M6 stage is analyzed by the signal line 1909, and the control information of the instruction register 19 of the M6 stage is analyzed by the memory system exception detection unit 9. Here, if an exception occurs, "1" is sent to the memory system exception occurrence signal 9007, and if it does not occur, "1" is sent to the memory system exception non-detection signal line 9025. When an exception occurs, the signal line 9007 notifies the interrupt sequence control unit 7 of the memory system exception occurrence and activates the interrupt sequence. Then, when the exception occurs, the update request stored in the IC update postponement flag 5 is sent to the signal line 9007,
Reset via the OR circuit 25 and the signal line 2505,
Although the update request of the IC 6 is canceled, when it is confirmed by the signal line 9025 of the memory system exception-free detection, the IC update postponement flag 5 is similarly reset, and at the same time, A
The value of the IC 6 is updated via the ND circuit 23, the signal line 2324, the OR circuit 24, and the signal line 2406.

【0023】つぎに、命令1と例外を発生する命令2お
よび命令3の本発明の実施例における連続動作について
図2のタイム・チャートに沿って説明する。なお、この
動作中は、PSW2のメモリ系例外正確化フラグが点灯
中であり、命令1,命令2はメモリアクセス命令であ
り、命令3は任意の命令である。まず、命令1は、サイ
クル(5)でDステージに到達し、「ISSUE」さ
れ、次のサイクル(6)ではIC更新フラグ4を点灯さ
せる。しかし、メモリ系例外正確化フラグ点灯中なの
で、そのIC更新要求がそのまま受付けられずに、IC
更新延期フラグ5がサイクル(6)でセットされる。そ
の後、命令1はサイクル(11)でM6ステージに到達
し、そこで例外が発生しなかったため、メモリ系例外無
検出信号によって、ICが更新され、IC更新延期フラ
グ5がリセットされる(サイクル(12))。つぎに、
その1サイクル後(サイクル(13))、命令2が「I
SSUE」される。そして、命令1と同様にIC更新が
延期されM6ステージまで到達するが、そこで例外が発
生し、メモリ系例外発生信号によって命令2と後続の命
令3がキャンセルされる(サイクル(20))。その
後、命令「1」以前の命令の実行が完了した後、割込シ
ーケンス制御部7によって、割込シーケンスが起動され
る。このときに退避されるICの値は例外を発生させた
命令を指しているため、再開可能となる。
Next, the continuous operation of the instruction 1 and the instructions 2 and 3 which generate an exception in the embodiment of the present invention will be described with reference to the time chart of FIG. During this operation, the memory system exception precision flag of the PSW 2 is on, the instructions 1 and 2 are memory access instructions, and the instruction 3 is an arbitrary instruction. First, the instruction 1 reaches the D stage in the cycle (5), is "ISSUE", and turns on the IC update flag 4 in the next cycle (6). However, since the memory system exception precision flag is lighting, the IC update request is not accepted and the IC update request is not accepted.
The update postponement flag 5 is set in cycle (6). After that, the instruction 1 reaches the M6 stage in the cycle (11) and no exception occurs therein, so the IC is updated by the memory system exception non-detection signal and the IC update postponement flag 5 is reset (cycle (12 )). Next,
One cycle later (cycle (13)), the instruction 2 becomes “I
SSUE ”. Then, as in the case of the instruction 1, the IC update is postponed and reaches the M6 stage, but an exception occurs there, and the instruction 2 and the subsequent instruction 3 are canceled by the memory system exception generation signal (cycle (20)). Then, after the execution of the instructions before the instruction “1” is completed, the interrupt sequence control unit 7 activates the interrupt sequence. Since the value of the IC saved at this time points to the instruction that caused the exception, it can be restarted.

【0024】そして、図1では、本発明による実施例の
構成をメモリアクセス側に絞って更に詳しく説明してい
る。この図1で示している実施例の動作について補足す
ると、メモリアクセスの際に発生する例外は、M6ステ
ージ以降では発生しない。すなわち、M7ステージに命
令がキャンセルされずに到着したなら、その命令は例外
を起こさずに正常終了すると判断できる。また、説明の
簡略化のため、メモリはバイト・アドレッシングであ
り、命令長はすべて4バイトとする。
In FIG. 1, the configuration of the embodiment according to the present invention will be described in more detail by focusing on the memory access side. Supplementing the operation of the embodiment shown in FIG. 1, the exception that occurs during memory access does not occur after the M6 stage. That is, if the instruction arrives at the M7 stage without being canceled, it can be determined that the instruction ends normally without causing an exception. Further, for simplification of description, the memory is byte addressing, and the instruction length is all 4 bytes.

【0025】このように、本発明は命令発行後のメモリ
アクセスに関係する処理が複数段のステージにまたが
り、先行する命令の処理が完了しないうちに、次の命令
実行が可能な情報処理装置においては、命令によって書
き込み可能である第1のフラグと、この第1のフラグの
値によっては、あるメモリアクセスに関係する処理を必
要とする第1の命令が例外を発生する可能性がなくなる
まで、後続する第2の命令の発行による命令カウンタの
更新を延期させる制御手段を有することによって、ソフ
トウェアにメモリアクセス系例外正確化を意識した命令
実行をハードウェアに指示できるようにする。すなわ
ち、メモリ系の例外正確化が必要な実行部分をプログラ
ム開発者が認識し、その部分だけ第1のフラグの書換に
よって後続する命令のIC更新を延期させることで、性
能を低下させることなく例外正確化が実現する。これに
よって、課題で述べたジレンマが解消できる。
As described above, the present invention provides an information processing apparatus capable of executing the next instruction before the processing of the preceding instruction is completed before the processing related to memory access after the instruction is issued spans a plurality of stages. Is a writable flag by an instruction, and until the first instruction that requires processing related to a certain memory access may cause an exception depending on the value of the first flag. By providing the control means for postponing the update of the instruction counter due to the issuance of the subsequent second instruction, it is possible to instruct the software to execute the instruction in consideration of the memory access system exception precision. That is, the program developer recognizes an execution part of the memory system that requires exception precision, and by delaying the IC update of the subsequent instruction by rewriting the first flag only for that part, the exception can be performed without degrading the performance. Accuracy is realized. This can eliminate the dilemma mentioned in the task.

【0026】一方、命令発行後の演算処理が複数段のス
テージにまたがり、先行する演算命令の処理が完了しな
いうちに次の命令実行が可能な情報処理装置において、
命令によって書き込み可能である第2のフラグと、この
第2のフラグの値によっては、演算処理を必要とする第
3の命令が例外を発生する可能性がなくなるまで、後続
する第4の命令の発行による命令カウンタの更新を延期
させる制御手段を有することで、メモリ系例外正確化と
同様に第2のフラグの操作によって、例外正確化必要な
実行部分をプログラム開発者に指定させる。これによっ
て、性能を低下させること無しに演算例外の正確化が実
現できる。そして、このような命令制御をハードウェア
が提供し、例えば、ページ不在例外の発生をプログラム
開発者、あるいは、オペレーティング・システム設計者
が予測できれば、または、ページ不在例外発生するかど
うかが不明の部分を絞り込むことができれば、本発明は
大きな効果を発揮する。
On the other hand, in the information processing apparatus capable of executing the next instruction before the processing of the preceding arithmetic instruction is completed by the arithmetic processing after issuing the instruction straddling a plurality of stages.
Depending on the second flag writable by the instruction and the value of the second flag, the third instruction requiring the arithmetic processing may not generate an exception until the succeeding fourth instruction. By having the control means for postponing the update of the instruction counter due to the issue, the program developer is allowed to specify the execution part that needs the exception correction by operating the second flag as in the memory exception correction. With this, it is possible to realize the accuracy of the operation exception without degrading the performance. Then, such instruction control is provided by hardware. For example, if the program developer or the operating system designer can predict the occurrence of a page fault exception, or if it is unknown whether a page fault exception will occur. The present invention exerts a great effect if it can be narrowed down.

【0027】[0027]

【発明の効果】以上説明したように本発明は、ソフトウ
ェアにメモリアクセス系例外正確化を意識した命令実行
をハードウェアに指示できるようになし、また、メモリ
系例外正確化と同様に第2のフラグの操作によって、例
外正確化必要な実行部分をプログラム開発者に指定させ
るようにしたので、性能を大幅に低下させることなく、
例外処理後の再開が可能となり、プログラミングとマル
チタスク管理の容易さという効果を有する。
As described above, according to the present invention, it is possible to instruct the software to execute the instruction in consideration of the memory access type exception precision in the software, and in the same manner as the memory type exception precision, the second aspect of the present invention is provided. By allowing the program developer to specify the execution part that requires exception precision by manipulating the flag, without significantly reducing performance,
It is possible to restart after exception handling, which has the effect of ease of programming and multitask management.

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

【図1】本発明の一実施例を示すブロック図である。FIG. 1 is a block diagram showing an embodiment of the present invention.

【図2】図1の動作説明に供する本発明によるスーパー
パイプライン方式における命令の連続発行のタイミング
についての説明図である。
FIG. 2 is an explanatory diagram for the timing of continuous issuance of instructions in the super pipeline system according to the present invention, which is used for explaining the operation of FIG.

【図3】汎用計算機におけるパイプラインの構成例を示
す説明図である。
FIG. 3 is an explanatory diagram showing a configuration example of a pipeline in a general-purpose computer.

【図4】スーパーパイプライン方式での命令パイプライ
ンの構成例を示す説明図である。
FIG. 4 is an explanatory diagram showing a configuration example of an instruction pipeline in a super pipeline system.

【図5】情報処理装置におけるプロセスのコンテクスト
切り替え処理を示す説明図である。
FIG. 5 is an explanatory diagram showing a process context switching process in the information processing apparatus.

【図6】従来のスーパーパイプライン方式における命令
の連続発行のタイミングについての説明図である。
FIG. 6 is an explanatory diagram of timings of continuous issuance of instructions in a conventional super pipeline system.

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

1 命令パイプライン制御部 2 PSW 3 ISSUEフラグ 4 IC更新フラグ 5 IC更新延期フラグ 21〜23 AND回路 24,25 OR回路 1 Instruction Pipeline Control Unit 2 PSW 3 ISSUE Flag 4 IC Update Flag 5 IC Update Postponement Flag 21-23 AND Circuit 24, 25 OR Circuit

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 命令発行後のメモリアクセスが複数段の
ステージで処理され、先行する命令の処理が完了しない
うちに次の命令発行が可能なパイプライン処理を行う情
報処理装置において、予め定められた命令によって変更
可能である第1のフラグと、この第1のフラグの値に応
じてメモリアクセスに関係する処理を行う第1の命令の
例外検出処理の終了までこの第1の命令に後続する第2
の命令の発行による命令カウンタの更新を延期する制御
手段を備えることを特徴とする情報処理装置。
1. An information processing device that executes pipeline processing in which memory access after issuing an instruction is processed in a plurality of stages, and the next instruction can be issued before the processing of the preceding instruction is completed, is predetermined. The first flag that can be changed by the instruction and the first instruction that continues until the end of the exception detection processing of the first instruction that performs processing related to memory access according to the value of the first flag. Second
An information processing apparatus comprising: control means for postponing update of an instruction counter due to issuance of the instruction.
【請求項2】 命令発行後の演算が複数段のステージで
処理され、先行する演算命令の処理が完了しないうちに
次の命令発行が可能なパイプライン処理を行う情報処理
装置において、予め定められた命令によって変更可能で
ある第2のフラグと、この第2のフラグの値に応じて演
算に関係する処理を行う第3の命令の例外検出処理の終
了までこの第3の命令に後続する第4の命令発行による
命令カウンタの更新を延期する制御手段を備えることを
特徴とする情報処理装置。
2. An information processing apparatus that performs a pipeline process in which an operation after issuing an instruction is processed in a plurality of stages and the next instruction can be issued before the processing of the preceding arithmetic instruction is completed is determined in advance. The second flag that is changeable by the second instruction, and the third instruction that follows the third instruction until the exception detection processing of the third instruction that performs processing related to the operation according to the value of the second flag is completed. 4. An information processing apparatus, comprising: control means for postponing update of an instruction counter due to issue of instruction No. 4.
JP6987992A 1992-02-19 1992-02-19 Information processor Pending JPH05233288A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6987992A JPH05233288A (en) 1992-02-19 1992-02-19 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6987992A JPH05233288A (en) 1992-02-19 1992-02-19 Information processor

Publications (1)

Publication Number Publication Date
JPH05233288A true JPH05233288A (en) 1993-09-10

Family

ID=13415505

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6987992A Pending JPH05233288A (en) 1992-02-19 1992-02-19 Information processor

Country Status (1)

Country Link
JP (1) JPH05233288A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57196356A (en) * 1981-05-27 1982-12-02 Mitsubishi Electric Corp Data processing method
JPS63240632A (en) * 1987-03-27 1988-10-06 Nec Corp Information processor
JPS6468856A (en) * 1987-09-10 1989-03-14 Matsushita Electric Ind Co Ltd Data processor
JPH0314025A (en) * 1989-06-13 1991-01-22 Nec Corp Instruction execution control system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57196356A (en) * 1981-05-27 1982-12-02 Mitsubishi Electric Corp Data processing method
JPS63240632A (en) * 1987-03-27 1988-10-06 Nec Corp Information processor
JPS6468856A (en) * 1987-09-10 1989-03-14 Matsushita Electric Ind Co Ltd Data processor
JPH0314025A (en) * 1989-06-13 1991-01-22 Nec Corp Instruction execution control system

Similar Documents

Publication Publication Date Title
US6895460B2 (en) Synchronization of asynchronous emulated interrupts
US6266768B1 (en) System and method for permitting out-of-order execution of load instructions
JP2003085000A (en) Trace information production device and its method
US6848044B2 (en) Circuits and methods for recovering link stack data upon branch instruction mis-speculation
JP3242508B2 (en) Microcomputer
US6301654B1 (en) System and method for permitting out-of-order execution of load and store instructions
US7376820B2 (en) Information processing unit, and exception processing method for specific application-purpose operation instruction
JP2000276381A (en) Method for estimating task execution time
US20060149940A1 (en) Implementation to save and restore processor registers on a context switch
JPH08221272A (en) Method for loading of instruction onto instruction cache
JPH0810437B2 (en) Guest execution control method for virtual machine system
JPH1196006A (en) Information processor
JPH02159624A (en) First-in first-out register device
EP0374598B1 (en) Control store addressing from multiple sources
JPH08137751A (en) Processor device and its control method
JPH08255476A (en) Apparatus and method for memory extended stack in data-processing system
JPH1049373A (en) Method and device for operating multiplex and highly accurate event for pipeline digital processor
JP2001306334A (en) Emulation device
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions
JPH05233288A (en) Information processor
JP2783285B2 (en) Information processing device
JPH0384632A (en) Data processor
JPH0377137A (en) Information processor
JPH07182165A (en) Processing method/device for instruction with committing condition
JPH06324861A (en) System and method for controlling cpu