JPS58129553A - Pipeline computer - Google Patents

Pipeline computer

Info

Publication number
JPS58129553A
JPS58129553A JP57011438A JP1143882A JPS58129553A JP S58129553 A JPS58129553 A JP S58129553A JP 57011438 A JP57011438 A JP 57011438A JP 1143882 A JP1143882 A JP 1143882A JP S58129553 A JPS58129553 A JP S58129553A
Authority
JP
Japan
Prior art keywords
processor
executing
program
prefetch
exceptional condition
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
JP57011438A
Other languages
Japanese (ja)
Inventor
Yoshiki Shimoma
下間 芳樹
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP57011438A priority Critical patent/JPS58129553A/en
Publication of JPS58129553A publication Critical patent/JPS58129553A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

PURPOSE:To prevent generation of an exceptional condition to the utmost, and to sufficiently display performance of a pipeline computer, by analyzing said condition and revising a progam, when the contents taken in advance have been uneffectuated due to generation of the exceptional condition. CONSTITUTION:A pipeline computer is constituted of a main storage device 1 and a CPU5 having a storage control processor 2, an advance taking processor 3 and an executing processor 4. In this state, when an exceptional condition for uneffectuating an instruction taken in advance and an operand data has been generated, the processor 3 generates an interruption request signal to an interruption request signal line 6, and inputs logic ''1'' to an AND circuit 8 of the executing processor 4. To the other input of this circuit 8, an interuption approval flag 7 which an operator sets is inputted, and by the executing processor 4, the interruption processing is executed in accordance with a program decided in advance. An executing program of this flag 7 is revised to a program for preventing generation of the exceptional condition to the utmost, and performance of the pipeline computer is displayed suffciently.

Description

【発明の詳細な説明】 (3・1)発明の属する分野 この発明は先取りプロセッサで、命令、オペランドデー
タ等の先取り処理を行い、この先取り処理が済んだ命令
やオペランドデータン使って実行j o−にッサで命令
を実行するパイプライン計算機に関するものである。
[Detailed description of the invention] (3.1) Field to which the invention pertains This invention is a prefetch processor that prefetches instructions, operand data, etc., and executes the instructions and operand data that have been prefetched. - This relates to a pipeline computer that executes instructions in a processor.

(3・2)従来技術の構成 オ1図はパイプライン計算機の主要槽llL部分を示す
ブロック図で、(1)は主記憶装置、(2)は記憶制御
プロセッサ、(3)は先取りプロセッサ、(4)は実行
プロセッサであり、(5)は(2)、(3)、(4) 
Y含むCPU (中央処理装置t)である。記憶制御プ
ロセッサ(2)は主記憶装置(1)の内容の一部の写し
を記憶する^速バッファ記憶を備えており、先取りプロ
セッサ(3)及び実行プロセッサ(4)は主記憶装置(
11へのアクセスを必要とせず、記憶制御プロセッサ(
2)内の高速バッファ記憶にアクセスすれば足り、この
アクセスは高速で行うことができる。
(3.2) Configuration of conventional technology Figure 1 is a block diagram showing the main tanks of a pipeline computer, in which (1) is the main storage, (2) is the storage control processor, (3) is the prefetch processor, (4) is an execution processor, and (5) is (2), (3), (4)
It is a CPU (central processing unit t) including Y. The storage control processor (2) is equipped with a fast buffer storage for storing a copy of a portion of the contents of the main memory (1), and the look-ahead processor (3) and the execution processor (4) are connected to the main memory (1).
11 without requiring access to the storage control processor (
It is sufficient to access the high-speed buffer storage in 2), and this access can be performed at high speed.

先取りプロセッサ(3)は記憶制御プロセッサ(2)か
ら命令やデータを先取りし、命令の解読、命令の修飾、
オペランドデータの先取り、分岐先命令群の先取り、命
令、オペランドデータのキューイング(queuing
 )等を行い、実行プロセッサ(4)は準備された命令
やオペランドデータな使って命令を実行する。
The prefetch processor (3) prefetches instructions and data from the storage control processor (2), decodes the instructions, modifies the instructions,
Prefetching of operand data, prefetching of branch destination instructions, queuing of instructions and operand data
), etc., and the execution processor (4) executes the instruction using the prepared instruction and operand data.

(3・3)従来技術の動作 第2図は先取りプロセッサ(3)内の主要なレジスタを
示すブロック図で、Q(Iはバッファレジスタ、aυは
命令レジスタ、鰺は命令キューを示す。図に示す実施例
ではバッファレジスタa〔はそれぞれ4語容量のレジス
タ(10m) 、(10b)の2セツトから構成される
。記憶制御プロセッサ(2)とバッファレジスタa・と
の間では命令は同時に4Mが転送される。すなわち1s
Iの命令のアドレスの最下位の2ビツトを無視してアク
セスしてアドレスが連続している4#が同時にバッファ
レジスタ(10m)又は(10b)に入力される。バッ
ファレジスタa1の4令はアドレス順に1命令あて命令
レジスタαυに取出されて解読され当該命令に応じて命
令の修飾、オペランドデータの先取9等の前処理が行わ
れる。
(3.3) Operation of the prior art Figure 2 is a block diagram showing the main registers in the prefetch processor (3), where Q(I is a buffer register, aυ is an instruction register, and the mackerel is an instruction queue. In the embodiment shown, buffer register a consists of two sets of registers (10m) and registers (10b), each with a capacity of 4 words. Between the storage control processor (2) and buffer register a, 4M instructions are transferred simultaneously. transferred, i.e. 1s
The lowest two bits of the address of the instruction I are accessed and 4#, which are consecutive addresses, are simultaneously input to the buffer register (10m) or (10b). The four instructions in the buffer register a1 are fetched in address order to the instruction register αυ for one instruction and decoded, and preprocessing such as modification of the instruction and prefetching of operand data 9 is performed in accordance with the instruction.

バッファレジスタ(10a)又は(10b)の4@の命
令が順次命令レジスタaυに取出されてバッファレジス
タ(10m)又は(10b)が空になると、先取りプロ
セッサ(3)は記憶制御プロセッサ(2)からアドレス
が連続している4語の命令を先取りする。前処理がすん
だ命令は実行プロセッサ(4)に渡されるのであるが、
先取りプロセッサ(3)の動作と実行プロセッサ(4)
の動作とは同期して行われるわけではないので、両者の
間の処理時間の違いを吸収して実行プロセッサ(4)が
実行しようとする命令は常に先取りプロセッサ(3)内
で待機しているように命令キューα邊が設けられる。第
2図に示す例では命令キュー(13は4個のキュー (
12a)、(12b)、(12c)、(12d)から構
成される。
When the 4@ instructions in the buffer register (10a) or (10b) are sequentially fetched into the instruction register aυ and the buffer register (10m) or (10b) becomes empty, the prefetch processor (3) receives instructions from the storage control processor (2). Prefetch 4-word instructions with consecutive addresses. Instructions that have been preprocessed are passed to the execution processor (4),
Operation of prefetch processor (3) and execution processor (4)
The instructions that the execution processor (4) attempts to execute by absorbing the difference in processing time between the two are always waiting in the preemption processor (3). An instruction queue α section is provided as shown in FIG. In the example shown in Figure 2, the instruction queue (13 is 4 queues (
12a), (12b), (12c), and (12d).

以上のようにして命令やオペランドデータの先取り処理
が行われるのであるが、場合によってはこの先取り処理
が無駄になって新しく先取り処理をや9直す必要が発生
する。たとえば、先取りを行って先取りプロセッサ(3
)内に取9込んだ後で、その取り込んだ命令やオペラン
ドデータのある主記憶装置 (13のアドレスに対し、
その主記憶装置(1)を共同に使っている他のCPUか
ら書込み動作が行われて、実行プロセッサ(4)は書込
み後の命令やオペランドデータを使わねばならぬのに、
先取りプロセッサ(3)内の命令やオペランドデータは
上記書込み動作以前のものであるとか、条件付分岐命令
に対し先取りプロセッサ(3)では条件がrAJである
と予想しその場合の分岐前アドレスに対して先取りをし
ていた所、実行プロセッサ(4)による実行の結果上記
条件はrAJでないことが判明し、すなわち、分岐先ア
ドレスの予測が失敗した場合には、対厄するパックアレ
ジスタa呻又は(及び)キュー(I3の内容を無効化し
再び先取り処理をやり直す必要がある。
Prefetching of commands and operand data is performed as described above, but in some cases, this prefetching process becomes wasteful and it becomes necessary to perform a new prefetching process. For example, if you do a prefetch and the prefetch processor (3
), the main memory containing the imported instruction and operand data (for address 13,
Even though a write operation is performed by another CPU that is jointly using the main memory (1), the execution processor (4) must use the written instructions and operand data.
The instructions and operand data in the prefetch processor (3) may be from before the above write operation, or the prefetch processor (3) may assume that the condition is rAJ for a conditional branch instruction, and in that case, the pre-branch address may be However, as a result of execution by the execution processor (4), it turns out that the above condition is not rAJ, that is, when prediction of the branch destination address fails, the troublesome pack register a or (And) It is necessary to invalidate the contents of the queue (I3) and start the prefetch process again.

(3・4)従来技術の欠点 上述のように例外条件が発生して先取シした内容が無効
化されると、再び先取り処理をやり直す必要が生じ、計
算機の処理能力は総合的に大幅に低下するので、なるべ
く、このような例外条件が発生しないよう(ニブログラ
ムの手直をしておく必要があるが、従来の装置では、例
外条件の発生に関する記録が伺等残されていないので、
例外条件が発生する箇所を発見してプログラムの手直を
することが困難であるという欠点があった。
(3.4) Disadvantages of the conventional technology As mentioned above, when an exceptional condition occurs and the preempted contents are invalidated, the preemption processing must be repeated again, and the overall processing capacity of the computer is significantly reduced. Therefore, it is necessary to make sure that such exceptional conditions do not occur (it is necessary to modify the Niprogram), but with conventional equipment, there is no record of the occurrence of exceptional conditions, so
The drawback is that it is difficult to discover the location where an exceptional condition occurs and modify the program.

(3・5)本発明の目的 この発明は上記のような従来のものの欠点を除去するた
めになされたもので、プログラムが充分に修正されるま
では、先取りした内容が無効化される例外条件が発生す
ると、この例外条件の発生に関連する情報を調査し例外
条件の発生を軽減するようにプログラムを修正するため
に必要な情報を収集して記憶する手段を備えたパイプラ
イン計算機を提供することt以て目的としている。
(3.5) Purpose of the present invention This invention was made in order to eliminate the drawbacks of the conventional ones as described above, and includes an exception condition in which prefetched contents are invalidated until the program is sufficiently modified. Provided is a pipeline calculator having a means for collecting and storing information necessary for investigating information related to the occurrence of this exceptional condition and modifying the program to reduce the occurrence of the exceptional condition when the occurrence of the exceptional condition occurs. This is the purpose of this.

(3・6)本発明の構成 以下、図面についてこの発明の詳細な説明する。第3図
はこの発明の一実施例を示すブロック図で、第1図と同
一符号は同−又は相当部分を示し、同様に動作する・(
6)は割込み要求信号線、(7)は割込み許可フラグ、
(8)はアンド回路である〇(3・7)本発明の動作 先取りされた命令やオペランドデータを無効化するよう
な例外条件が発生したことを検知し九場合、先取りプロ
セッサ(3)は割込み要求信号線(6)上に割込要求信
号(論理「1」の信号)を出力する。
(3.6) Structure of the present invention The present invention will now be described in detail with reference to the drawings. FIG. 3 is a block diagram showing an embodiment of the present invention, in which the same reference numerals as in FIG. 1 indicate the same or corresponding parts, and they operate in the same way.
6) is an interrupt request signal line, (7) is an interrupt enable flag,
(8) is an AND circuit 〇(3.7) Operation of the present invention When the occurrence of an exceptional condition that invalidates the prefetched instruction or operand data is detected, the prefetch processor (3) interrupts An interrupt request signal (logic "1" signal) is output on the request signal line (6).

フラグ(7)の信号論理は操作員が任意に設定すること
ができるが、フラグ(7)に論理「1」の信号(割込許
可を意味する)が設定されていると、アンド回路(8)
の出力は論理「1」となる。アンド回路(8)から論理
「1」の信号が出力されると、実行プロセッサ(4)は
あらかじめ定められた割込み処理プログラムを実行する
。この割込処理プログラムは、例外条件がどのような命
令アドレス、どのようなオペランドアドレスにおいて、
どのような原因で、どの位の頻度で発生したか等を知る
ことができるようなデータ処理を行い、処理されたデー
タをあらかじめ定め九場所に記憶するような割込処理プ
ログラムに作成しておくことができる・ し九がって、アンド回路(8)からの論理「1」の信号
によって実行された割込処理プログラムにおいて記憶さ
れたデータを調査して、例外条件の発生を軽減するよう
プログラムを修正することができる。すなわち、最初に
プログラムを作成し九段階では、フラグ(7)に論理「
1」のビットを設定しておいて例外条件が発生するたび
(二実行プロセッt(4)において割込処理プログラム
を実行し、その結果(二よって、例外条件の発生をでき
るだけ減少するようにプログラムを修正した上でフラグ
(7)のビットの論理を「0」にすればよい、フラグ(
7)の論理がrOJであれば第3図の回路の動作は21
図の回路の動作と同様になる。また例外条件の発生をで
きるだけ減少するようにプログラムが修正されているの
でパイプライン計算機の利点を充分に発揮することがで
きる@特は、オンラインで使用されるプログラムのよう
にリアルタイム処理性を重視されるソフトウェアや、繰
返し使用される科学技術用ソフトウェア等においては、
バッファレジスタやキューの内容を無効化し再び先取り
処理を行う機会を、この発明により充分に少くすること
ができて、パイプライン計算機の利点を有効に利用する
ことができる。
The signal logic of flag (7) can be set arbitrarily by the operator, but if a logic "1" signal (meaning interrupt permission) is set in flag (7), the AND circuit (8 )
The output of is a logic "1". When a logic "1" signal is output from the AND circuit (8), the execution processor (4) executes a predetermined interrupt processing program. This interrupt processing program determines at what instruction address and at what operand address the exception condition occurs.
Create an interrupt processing program that processes the data so that you can find out what caused it, how often it occurred, etc., and stores the processed data in nine predetermined locations. Therefore, the data stored in the interrupt processing program executed by the logic "1" signal from the AND circuit (8) is examined, and the program is designed to reduce the occurrence of the exception condition. can be corrected. In other words, in the ninth stage of creating a program, flag (7) is set to logic "
1" bit is set, and each time an exception condition occurs (2), the interrupt processing program is executed in execution process t(4), and as a result (2). After modifying the flag (
If the logic in 7) is rOJ, the operation of the circuit in Figure 3 is 21
The operation is similar to that of the circuit shown in the figure. In addition, the program has been modified to reduce the occurrence of exception conditions as much as possible, so the benefits of the pipeline computer can be fully utilized. software that is used repeatedly, scientific and technical software that is used repeatedly, etc.
The present invention can sufficiently reduce the chances of invalidating the contents of a buffer register or queue and performing prefetch processing again, making it possible to effectively utilize the advantages of a pipelined computer.

(3・8)発明の他の実施例 なお、上記実施例では先取すされた命令やオペランドデ
ータが無効化され九場合(二ついて述べたが、命令を修
飾する丸めの汎用レジスタの内部が変更され九場合の例
外条件についても同様に処理することができる。
(3.8) Other embodiments of the invention In the above embodiment, the prefetched instruction and operand data are invalidated. It is possible to handle exception conditions in the same way.

(3・9)本発明の効果 以上のように、この発明4二よれば、パイプライン計算
機において例外条件の発生ζ二より先取りされた内容が
無効化された場合、これを解析して上記例外条件の発生
を極力防止できるようにプログラムを改正することがで
きるので、パイプライン計算機の性能を充分に発揮させ
ること、が容易となった。
(3.9) Effects of the present invention As described above, according to the present invention 42, when the contents that were pre-fetched from the occurrence of the exception condition ζ2 in the pipeline computer are invalidated, this is analyzed and the above-mentioned exception is invalidated. Since the program can be revised to prevent the occurrence of such conditions as much as possible, it has become easier to fully utilize the performance of the pipeline computer.

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

第1図はパイプライン計算機の主要構成部分を示すブロ
ック図、第2図は第1図の先取りプロセッサ内の主要な
レジスタを示すブロック図、第3図はこの発明の一実施
例を示すブロック図である・(2)・・・記憶制御プロ
セッサ、(3)・・・先取りプロセッサ、(4)・・・
実行プロセッサ、(6)・・・割込み要求信号線、(7
)・・・割込み許可フラグ、(8)・・・アンド回路、
H・・・バッファレジスタ、(11)・・・命令レジス
タ、住り・・・命令キュー。 なお、図中同一符号は同−又は相当部分を示す。 代理人  葛 野 信 −
FIG. 1 is a block diagram showing the main components of a pipeline computer, FIG. 2 is a block diagram showing the main registers in the prefetch processor shown in FIG. 1, and FIG. 3 is a block diagram showing an embodiment of the present invention. (2)...Storage control processor, (3)...Preemption processor, (4)...
Execution processor, (6)...Interrupt request signal line, (7
)...Interrupt enable flag, (8)...AND circuit,
H...Buffer register, (11)...Instruction register, Address...Instruction queue. Note that the same reference numerals in the figures indicate the same or equivalent parts. Agent Shin Kuzuno −

Claims (1)

【特許請求の範囲】[Claims] 命令、オペランドデータ等の先取り処理を行シ先取りプ
ロセッサと、この先取りプロセッサで先取り処理され九
命令を実行する実行プロセッサとを有するパイプライン
計算機において、先取り内容を無効化する例外条件の発
生を検出する手段と、この例外条件の発生が検出された
とき上記先取りプロセッサから上記実行プロセッサへ割
込を要求する手段と、上記実行プロセッサに設けられる
フラグに上記割込を許可するか否かの信号を設定する手
段と、上記フラグに上記割込を許可する信号が設定され
ている場合に限り上記先取りプロセッサからの上記割込
により上記実行プロセッサにおいてあらかじめ定められ
た割込み処理プログラムを実行し当該例外条件の一発生
に関連する情報を調査し例外条件の発生を軽減するよう
プログラムを修正するために必要な情報を記憶する手段
とを備えたことを特徴とするパイプライン計算機・
In a pipelined computer having a prefetch processor that performs prefetch processing of instructions, operand data, etc., and an execution processor that executes nine instructions prefetched by the prefetch processor, the occurrence of an exception condition that invalidates the prefetch contents is detected. means for requesting an interrupt from the preempting processor to the executing processor when the occurrence of this exceptional condition is detected; and setting a signal indicating whether or not to permit the interrupt in a flag provided in the executing processor. and a means for executing a predetermined interrupt processing program in the execution processor based on the interrupt from the preemption processor only when a signal to permit the interrupt is set in the flag, and one of the exception conditions in question is executed. A pipeline computer characterized by having a means for storing information necessary for investigating information related to occurrence and modifying a program to reduce occurrence of an exceptional condition.
JP57011438A 1982-01-27 1982-01-27 Pipeline computer Pending JPS58129553A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57011438A JPS58129553A (en) 1982-01-27 1982-01-27 Pipeline computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57011438A JPS58129553A (en) 1982-01-27 1982-01-27 Pipeline computer

Publications (1)

Publication Number Publication Date
JPS58129553A true JPS58129553A (en) 1983-08-02

Family

ID=11778092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57011438A Pending JPS58129553A (en) 1982-01-27 1982-01-27 Pipeline computer

Country Status (1)

Country Link
JP (1) JPS58129553A (en)

Similar Documents

Publication Publication Date Title
US5420991A (en) Apparatus and method for maintaining processing consistency in a computer system having multiple processors
US4701844A (en) Dual cache for independent prefetch and execution units
US5465336A (en) Fetch and store buffer that enables out-of-order execution of memory instructions in a data processing system
EP0380850B1 (en) Method and digital computer for preproccessing multiple instructions
KR100190252B1 (en) Branch performance in high speed processor
US20010021970A1 (en) Data processor
JPS6217252B2 (en)
KR910006144B1 (en) Pipeline processor with smooth connection
JPH0215369A (en) Method and apparatus for executing instruction of vector processing system
EP0381246B1 (en) Pipeline microprocessor having instruction decoder unit performing precedent decoding operation
US5740391A (en) Preventing premature early exception signaling with special instruction encoding
JPH06161779A (en) Interruption control system for data processor
JPH1049373A (en) Method and device for operating multiplex and highly accurate event for pipeline digital processor
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions
JPS58129553A (en) Pipeline computer
JPH0384632A (en) Data processor
EP0177712B1 (en) Masked data fetch and modifying device
US5787276A (en) Microprocessor including circuit for generating signal used for tracing executed instruction stream
JPH0193825A (en) Prefetch queue control system
JPS6051947A (en) Instruction prefetching system in virtual storage computer
JP3147884B2 (en) Storage device and information processing device
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JP3102399B2 (en) Data processing apparatus and method
JPH04340145A (en) Cache memory device
EP0365187A2 (en) Apparatus for selective execution of instructions following a branch instruction