JPS628815B2 - - Google Patents
Info
- Publication number
- JPS628815B2 JPS628815B2 JP55181227A JP18122780A JPS628815B2 JP S628815 B2 JPS628815 B2 JP S628815B2 JP 55181227 A JP55181227 A JP 55181227A JP 18122780 A JP18122780 A JP 18122780A JP S628815 B2 JPS628815 B2 JP S628815B2
- Authority
- JP
- Japan
- Prior art keywords
- elements
- arithmetic unit
- stage
- pipeline
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
- 238000000034 method Methods 0.000 claims description 17
- 230000002093 peripheral effect Effects 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 101100288173 Enterococcus faecalis (strain ATCC 700802 / V583) prs1 gene Proteins 0.000 description 1
- 101150077018 PRS3 gene Proteins 0.000 description 1
- 101100465559 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PRE7 gene Proteins 0.000 description 1
- 101100465401 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SCL1 gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 101150016674 prs2 gene Proteins 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
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)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】
本発明はいわゆるパイプライン演算器の制御方
法に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a control method for a so-called pipeline arithmetic unit.
コンピユータ処理の高速化を図るための手法が
種々提案されている。本発明はその手法の中の1
つであるパイプライン演算器について言及する。
パイプライン演算器とは、演算すべきデータを複
数段の演算ステージに次から次へと連続的に送り
出して処理するものである。かくしてパイプライ
ン演算器自体はかなり高速のデータ処理を行なう
ことができる。 Various methods have been proposed to speed up computer processing. The present invention is one of those methods.
Let's talk about the pipeline arithmetic unit.
A pipeline arithmetic unit is one that processes data by continuously sending it to a plurality of arithmetic stages one after another. In this way, the pipeline arithmetic unit itself can perform data processing at a fairly high speed.
ところが、パイプライン演算器そのものは高速
処理を行なつているにも拘らず、これと連係する
例えばインストラクシヨン・ユニツト、メモリ・
ユニツトとのやりとりが円滑になされないため、
結局コンピユータシステム全体としての演算処理
速度は、期待し得る理論上の速度に到達していな
い。この点について、現状では未だ十分な解決案
が議論されていない。というのは、パイプライン
演算器そのものが未だ完全な実用段階に入つてい
ないからである。 However, although the pipeline arithmetic unit itself performs high-speed processing, the instruction units, memory, etc.
Because communication with the unit is not smooth,
In the end, the processing speed of the computer system as a whole has not reached the expected theoretical speed. Regarding this point, no sufficient solution has yet been discussed. This is because the pipeline arithmetic unit itself has not yet entered the stage of complete practical use.
従つて本発明の目的は、実質的に期待し得る理
論上の演算速度に近付けることのできるパイプラ
イン演算器の制御方法を提案することである。 Accordingly, an object of the present invention is to propose a method of controlling a pipeline computing unit that can substantially approach the expected theoretical computing speed.
上記目的に従い本発明は、直列接続された複数
段の演算ステージからなり1命令毎に複数のエレ
メントに含まれるデータを順次処理するパイプラ
イン演算器において、該複数段の演算ステージと
並行して前記複数のエレメントのエレメント数を
計数するステージを設け、その計数が所定の計数
値に達したとき、その周辺装置に対して所定の予
告信号を供給するようにしたことを特徴とするも
のである。 In accordance with the above object, the present invention provides a pipeline arithmetic unit that includes a plurality of serially connected arithmetic stages and sequentially processes data included in a plurality of elements for each instruction. The present invention is characterized in that a stage is provided for counting the number of elements of a plurality of elements, and when the count reaches a predetermined count value, a predetermined warning signal is supplied to the peripheral device.
以下図面に従つて本発明を説明する。 The present invention will be explained below with reference to the drawings.
第1図は一般的なパイプライン演算器の一構成
例を示すブロツク図である。本図において、D2
およびD3はそれぞれ第1エレメント群および第
2エレメント群に含まれるデータを意味し、これ
らが入力データとなる。各入力データはそれぞれ
AステージのレジスタR2AおよびR3Aに一旦
ストアされたのち、対応するプレシフタPRS2お
よびPRS3を経由して、Bステージの各レジスタ
R2BおよびR3Bに至る。前記プレシフタ
(PRS)は、例えば浮動小数点の加算において、
指数部を比較し、その大きい方に数値合せを行な
う、というような操作を施す。 FIG. 1 is a block diagram showing an example of the configuration of a general pipeline arithmetic unit. In this figure, D2
and D3 mean data included in the first element group and the second element group, respectively, and these become input data. Each input data is once stored in the registers R2A and R3A of the A stage, and then reaches the registers R2B and R3B of the B stage via the corresponding preshifters PRS2 and PRS3. The preshifter (PRS) is used, for example, in floating point addition.
Operations such as comparing the exponent parts and matching the numerical value to the larger one are performed.
レジスタR2BおよびR3B内のデータは、ア
ダーADDに加算されてCステージのレジスタR
1Cに至り、ポストシフタPTSを経由して、Dス
テージのレジスタRIDにストアされ、その後出力
データD1として出力される。 The data in registers R2B and R3B are added to adder ADD and sent to register R in C stage.
1C, is stored in the register RID of the D stage via the post-shifter PTS, and is then output as output data D1.
上述したパイプライン演算のプロセスは第2図
より明らかである。第2図は第1図のステージを
走るエレメントの流れを図解的に示すタイムチヤ
ートである。これらタイムチヤートは4段(図中
の1〜4まで)に積み重ねられており、各段は前
述したA,B,CおよびDの各ステージに対応す
る。図中の1〜9の数字は連続して処理されるエ
レメント番号(その中味は前述のデータである)
を示している。第1図に示す如く、レジスタR2
AおよびR3Aは同一ステージにあり、第2図の
1欄に示す如くエレメント1,2,3…9の各デ
ータが逐次ストアされる。これらエレメント1,
2,3…9の各データは次のBステージに移ると
(第2図の2欄)、次の新たなエレメントが同第1
欄のように入つてくる。結局、レジスタ(R2
A,R3A,R2B,R3B,R1C,R1D)
に入るエレメントは時系列的に縦の流れでみる
と、1エレメントずつシフトしていることにな
る。このシフトは1イクル・クロツクを単位とし
てなされる。本図から明らかな如く、パイプライ
ン演算器は、一連のデータが隙間なく密に処理さ
れて行くから、極めて高速な処理が期待される。 The process of the pipeline operation described above is clear from FIG. FIG. 2 is a time chart schematically showing the flow of elements running through the stage of FIG. These time charts are stacked in four stages (1 to 4 in the figure), and each stage corresponds to each of the stages A, B, C, and D described above. The numbers 1 to 9 in the diagram are element numbers that are processed consecutively (the contents are the data described above)
It shows. As shown in FIG.
A and R3A are at the same stage, and each data of elements 1, 2, 3, . . . 9 is stored sequentially as shown in column 1 of FIG. These elements 1,
When each data of 2, 3...9 moves to the next B stage (column 2 in Figure 2), the next new element is transferred to the same stage 1.
It comes in like a column. In the end, register (R2
A, R3A, R2B, R3B, R1C, R1D)
If we look at the elements that enter in the vertical direction in chronological order, they shift one element at a time. This shift is done in units of one cycle clock. As is clear from this figure, the pipeline arithmetic unit processes a series of data densely without gaps, and is therefore expected to perform extremely high-speed processing.
ところが実際にその高速性は十分に発揮されて
いない。すなわち、上記パイプライン演算器に連
係する周辺装置のやりとりが効率良くなされてい
ないから、コンピユータシステム全体の実質的処
理速度はそれ程大とならない。ここにいう周辺装
置とは主としてインストラクシヨン・ユニツトを
いう。インストラクシヨン・ユニツトはコンピユ
ータシムテム内の種々装置に対して所定の命令を
与えるものである。例えば、該インストラクシヨ
ン・ユニツトはメモリ(図示せず)に対し第1図
の入力データD2およびD3をパイプライン演算
器に出力すべきこと(読出し)を指示する。ある
いは、第1図のパイプライン演算器からの出力デ
ータD1をメモリ(図示せず)に入力すべきこと
(書込み)を指示する。本発明は前記指示のうち
前者の指示について言及するものであるが、この
場合、入力データD2,D3を入力し終えてから
当該メモリに読出し操作を指示したのでは無駄時
間が生じてしまう。これが前述した処理速度の増
大に支障を及ぼす。 However, in reality, its high speed is not fully demonstrated. That is, since the peripheral devices connected to the pipeline arithmetic unit are not efficiently exchanged, the actual processing speed of the entire computer system is not so high. The peripheral devices referred to here mainly refer to instruction units. The instruction unit provides predetermined instructions to various devices within the computer system. For example, the instruction unit instructs a memory (not shown) to output (read) the input data D2 and D3 of FIG. 1 to the pipeline arithmetic unit. Alternatively, it instructs that the output data D1 from the pipeline arithmetic unit in FIG. 1 should be input (written) into a memory (not shown). The present invention refers to the former of the above-mentioned instructions, but in this case, instructing the memory to perform a read operation after inputting the input data D2 and D3 would result in wasted time. This poses a problem in increasing the processing speed described above.
そこで本発明は第3図の如き構成を提案する。
第3図は本発明の制御方法を実現するための一実
施例を示すブロツク図である。ただし、本図中右
側の系は既に第1図で説明したとおりである。従
つて本図中左側の系が本発明に基づいて導入され
る。該系30に入力すべきものは1命令で処理す
べきエレメント数EN(第2図1,2,3…9で
ありベクトル長とも称される)である。このエレ
メント数ENは、前記インストラクシヨン・ユニ
ツトがパイプライン演算器に対して命令を指示す
る際に明確になつている。エレメント数ENは、
さらに計数手段、例えばカウンタ(CNTA)31
にプリセツトされる。このとき対応データの一番
目はAステージのレジスタ(R2A,R3A)に
入つている。その後、当該データが1ステージず
つ、1サイクル・クロツクCCに同期して、図中
の下方にシフトすると同時に、カウンタ31の内
容はデクレメント手段(−1)32により1ずつ
減算(ダウンカウント)される。ここで前述の入
力データD2,D3が前記メモリから読出し開始
されるべきタイミングより先行して数サイクル・
クロツク前に、前記インストラクシヨン・ユニツ
トに予告信号Wを形成しようとするのが本発明の
趣旨であるから、このために先ず1エレメント群
のうちの所定のエレメントの出現を検出すること
とする。すなわち、前記カウンタ31の計数値が
例えば4となつたときに、予告のための操作を起
動する。この起動の最初はカウンタ31の計数値
4を検出することであり、これを行なうのが回路
33であり例えばデコーダからなる。該デコーダ
33は当該検出時に論理“1”を出力する。この
論理“1”が、前述した予告信号である。この予
告信号をいかなるステージで送出するかは任意で
あり、前記計数値のデコーダに対する設定値を前
述の4ではなく3としたり、5としたりすれば良
い。 Therefore, the present invention proposes a configuration as shown in FIG.
FIG. 3 is a block diagram showing an embodiment for implementing the control method of the present invention. However, the system on the right side of the figure is as already explained in FIG. Therefore, the system on the left side of the figure is introduced based on the present invention. What should be input to the system 30 is the number of elements EN (1, 2, 3, . . . 9 in FIG. 2, also called vector length) to be processed in one instruction. This number of elements EN is made clear when the instruction unit instructs the pipeline arithmetic unit. The number of elements EN is
Furthermore, a counting means, for example a counter (CNTA) 31
Preset to . At this time, the first corresponding data is stored in the A stage registers (R2A, R3A). Thereafter, the data is shifted downward in the figure one stage at a time in synchronization with the one cycle clock CC, and at the same time, the contents of the counter 31 are subtracted (down-counted) by 1 by the decrement means (-1) 32. Ru. Here, the input data D2 and D3 described above are read out from the memory several cycles in advance of the timing at which reading is to be started.
Since the gist of the present invention is to form a warning signal W in the instruction unit before the clock, the appearance of a predetermined element in one element group is first detected for this purpose. . That is, when the count value of the counter 31 reaches, for example, 4, an operation for advance notice is activated. The first step in this activation is to detect the count value 4 of the counter 31, and the circuit 33 that performs this is comprised of, for example, a decoder. The decoder 33 outputs logic "1" at the time of this detection. This logic "1" is the aforementioned warning signal. The stage at which this notice signal is sent is arbitrary, and the set value for the decoder of the count value may be set to 3 or 5 instead of the above-mentioned 4.
第4図は第3図に示した構成の動作を説明し、
本発明の方法を明らかにするためのタイムチヤー
トである。なお、理解を早めるために第2図のタ
イムチヤートとの時系列的な関連をもたせるよう
に描いてある。本図中の5欄におけるカウンタ
(CNTA)の計数値4が前述した計数値4であ
り、これによりデコーダ33が論理“1”を送出
する。この論理“1”がすなわち予告信号Wとな
る。Tは予告の際にとるべき余裕期間である。 FIG. 4 explains the operation of the configuration shown in FIG.
This is a time chart for clarifying the method of the present invention. In addition, in order to speed up understanding, it is drawn to have a chronological relationship with the time chart in Figure 2. The count value 4 of the counter (CNTA) in column 5 in the figure is the count value 4 described above, and the decoder 33 thereby sends out a logic "1". This logic "1" becomes the notice signal W. T is the margin period that should be taken when giving advance notice.
このようにして得られた予告信号は、当該命令
における、メモリからのデータの投入(エレメン
ト1,2,3…)がそろそろ終わりに近づくか
ら、次の命令における該メモリからのデータの投
入を準備せよ、という意味あいを持つ。すなわ
ち、該メモリはインストラクシヨン・ユニツトか
らの指示があり次第、いつでも即座にデータの供
給ができる状態で待機できる。これが本発明によ
つてもたらされる高速処理の原理ともなる。 The advance notice signal obtained in this way prepares for the input of data from the memory in the next instruction, since the input of data from the memory (elements 1, 2, 3...) in the relevant instruction is nearing the end. It has the meaning of "Let's do it." That is, the memory can stand by and be ready to supply data at any time upon receiving an instruction from the instruction unit. This is also the principle of high-speed processing brought about by the present invention.
第5図は本発明の方法を実行した場合の一態様
例を示すタイムチヤートである。本図では例えば
エレメント数6の命令1とエレメント数10の命令
2が示されており、エレメント数6の命令1にお
いて、パイプライン演算器が、例えば残り4にな
るまでに至つたとき予告信号Wを送出し、該予告
信号Wは次の命令スタート(START(2))に起動
をかける。このようにすれば、一連の命令は隙間
なく密に実行される。 FIG. 5 is a time chart showing one embodiment of the method of the present invention. In this figure, for example, instruction 1 with 6 elements and instruction 2 with 10 elements are shown. In instruction 1 with 6 elements, when the pipeline arithmetic unit reaches, for example, 4 remaining, the warning signal W The advance notice signal W activates the next command start (START(2)). In this way, a series of instructions will be executed closely without any gaps.
そもそも、エレメント数が全ての命令について
同一であれば本発明のような制御方法を導入する
余地も必要性もない。ところが、エレメント数と
いうのは各命令毎に区々である。このために毎
回、エレメント数をカウンタにイニシヤルセツト
し、これをサイクル・クロツクに同期して1ずつ
減算すれば、どのようなベクトル長の命令であつ
ても、必ず全データの投入前の一定タイミングに
おいて予告を発することができる。 In the first place, if the number of elements is the same for all instructions, there is neither room nor necessity to introduce a control method such as the present invention. However, the number of elements varies for each instruction. For this purpose, by initializing the number of elements in a counter each time and subtracting it by 1 in synchronization with the cycle clock, no matter what vector length the instruction is, it will always be executed at a certain timing before inputting all data. A notice can be issued.
以上説明したように本発明によればパイプライ
ン演算器とやりとりをする周辺装置との連係が、
無駄時間を介在させずに連続的に行なわれるから
コンピユータシステム全体としての処理速度は大
幅に向上する。 As explained above, according to the present invention, the cooperation between the pipeline arithmetic unit and the peripheral devices that interact with it is
The processing speed of the entire computer system is greatly improved because the processing is performed continuously without any wasted time.
第1図は一般的なパイプライン演算器の一構成
例を示すブロツク図、第2図は第1図のステージ
を走るエレメントの流れを図解的に示すタイムチ
ヤート、第3図は本発明の制御方法を実現するた
めの一実施例を示すブロツク図、第4図は第3図
に示した構成の動作を説明し、本発明の方法を明
らかにするためのタイムチヤート、第5図は本発
明の方法を実行した場合の一態様例を示すタイム
チヤートである。
図において30は本発明により導入された系、
31はカウンタ、32はデクレメント手段、33
はデコーダ、Wは予告信号である。
Fig. 1 is a block diagram showing an example of the configuration of a general pipeline arithmetic unit, Fig. 2 is a time chart schematically showing the flow of elements running through the stages shown in Fig. 1, and Fig. 3 is a control diagram of the present invention. FIG. 4 is a block diagram showing an example of implementing the method; FIG. 4 is a time chart for explaining the operation of the configuration shown in FIG. 3 and clarifying the method of the present invention; FIG. 3 is a time chart showing an example of an embodiment when the method is executed. In the figure, 30 is a system introduced by the present invention,
31 is a counter, 32 is a decrement means, 33
is a decoder, and W is a warning signal.
Claims (1)
り一群のエレメントの各データをサイクル・クロ
ツクに同期して順次次段の該演算ステージにシフ
トしながら処理するパイプライン演算器と、該パ
イプライン演算器と連係する周辺装置とを含んで
なるコンピユータシステムにおいて、 前記パイプライン演算器と同一歩調で動作する
系を該パイプライン演算器と並行して設け、該系
の初段のステージには、前記一群のエレメントの
エレメント数をプリセツトするカウンタ手段を設
け、該カウンタ手段にプリセツトされた前記エレ
メント数を前記サイクル・クロツクに同期してダ
ウンカウントし、該ダウンカウントによつて前記
一群のエレメントの最後のエレメントの到来より
も所定のサイクル・クロツク数だけ先行した前記
のステージの出現を検知し、該検知のタイミング
で予告信号を形成してこれを周辺装置に送出し、
該周辺装置に所定の処理の実行準備を促すように
したことを特徴とするパイプライン演算器の制御
方法。[Claims] 1. A pipeline arithmetic unit that consists of a plurality of serially connected arithmetic stages and processes each data of a group of elements while sequentially shifting it to the next arithmetic stage in synchronization with a cycle clock. , a computer system comprising a peripheral device linked to the pipeline arithmetic unit, a system that operates in the same step as the pipeline arithmetic unit is provided in parallel with the pipeline arithmetic unit, and a first stage of the system is provided. is provided with counter means for presetting the number of elements in the group of elements, counts down the number of elements preset in the counter means in synchronization with the cycle clock, and by the down count, the number of elements in the group of elements is preset. Detecting the appearance of the stage a predetermined number of cycle clocks before the arrival of the last element of the elements, forming a warning signal at the timing of the detection and sending it to the peripheral device,
1. A method for controlling a pipeline computing unit, characterized in that the peripheral device is prompted to prepare for execution of a predetermined process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP55181227A JPS57105033A (en) | 1980-12-23 | 1980-12-23 | Control method of pipeline operator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP55181227A JPS57105033A (en) | 1980-12-23 | 1980-12-23 | Control method of pipeline operator |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS57105033A JPS57105033A (en) | 1982-06-30 |
JPS628815B2 true JPS628815B2 (en) | 1987-02-25 |
Family
ID=16097027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP55181227A Granted JPS57105033A (en) | 1980-12-23 | 1980-12-23 | Control method of pipeline operator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS57105033A (en) |
-
1980
- 1980-12-23 JP JP55181227A patent/JPS57105033A/en active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS57105033A (en) | 1982-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4943915A (en) | Apparatus and method for synchronization of a coprocessor unit in a pipelined central processing unit | |
EP0032515A1 (en) | A method of pipeline control for a computer | |
EP0331193B1 (en) | Vector operation instruction issue control method | |
US3226684A (en) | Computer control apparatus | |
JPS628815B2 (en) | ||
JPS628816B2 (en) | ||
US4607329A (en) | Circuit arrangement for the temporary storage of instruction words | |
US3400373A (en) | Control unit for processor-peripheral device transfers | |
EP0671683A1 (en) | Improved circuit arrangement of data processing system | |
JPH0616287B2 (en) | Vector arithmetic processor with mask | |
JPS6119072B2 (en) | ||
US3546679A (en) | Method for dynamic controlling of magnetic core register | |
JPS60118977A (en) | Pipeline control system | |
JPS61141001A (en) | Structure diagnosis system of process control system | |
JP2544770B2 (en) | Vector operation instruction issue control method | |
US3248527A (en) | Electronic multiplier | |
JP3472123B2 (en) | Sequence controller | |
JPS61255422A (en) | Timer controlling circuit | |
SU824193A1 (en) | Extremum number determining device | |
RU1803912C (en) | Adder | |
US3069659A (en) | Data processing system | |
JPH0467666B2 (en) | ||
JPS6343784B2 (en) | ||
JPS60128529A (en) | Merge processing device | |
JPH0125094B2 (en) |