【発明の詳細な説明】〔発明の属する技術分野〕不発明は、複数の命令を並列に実行するデータ処理装置
のパイプライン制御方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Technical field to which the invention pertains] The present invention relates to a pipeline control method for a data processing device that executes a plurality of instructions in parallel.
マイクロコンピュータの如きデータ処理装置ニおいては
、処理速度の高速化を達成するために。In data processing devices such as microcomputers, to achieve faster processing speed.
動作クロ、りを品める方法と、内部の制御方式を改善す
る方法の27111りの手段がとられている。このうち
、動作クロックを高める方法は、デノくイス技術に大き
く依存【7デバイス技術の改善に伴なってせいぜい10
%程度の高速化が達成させるにとどまる。このため性能
を抜本的に改@する場合にはパイプライン制御などの新
しい内部の開側j方式を採用して対応している。A total of 27,111 measures have been taken, including ways to improve the operational complexity and methods to improve the internal control system. Among these methods, methods to increase the operating clock largely depend on device technology [7] As device technology improves, at most 10
The speedup can only be achieved by about %. For this reason, when we want to drastically improve performance, we adopt a new internal open-side method such as pipeline control.
パイプラインHill l1141方式では、1つの命
令の実行で行なわれる一連の処理をいくつかの基本処理
に分割し、これらの基本処理毎にそれぞれの処理を逐行
するのに盛装な専用ハードウェア全備えた腹数個の機能
ユニット全用意する。これらの機能ユニットヲ処理順序
に従って連続的に動作させる事により、全体の処理速度
の向上をはかるもので。In the pipeline Hill 1141 method, a series of processes performed by executing one instruction is divided into several basic processes, and a complete set of dedicated hardware is used to execute each of these basic processes one by one. Prepare several functional units. By operating these functional units continuously according to the processing order, the overall processing speed is improved.
処理速反り向上によく使われている方法である。This is a method often used to improve processing speed and warpage.
従来使用されているパイプライン制御方式を説明する。A conventionally used pipeline control method will be explained.
lず第1図のブロック図において5本従来例における中
央処理装@(以下、CI)Uという・)が持つ3個の機
能ユニットの機能?:説明4−る。バスインタフェース
部1−1はメモリから命令コードの胱出しや、データの
書込み読出しを行ない。In the block diagram of Figure 1, what are the functions of the three functional units of the central processing unit (hereinafter referred to as CI) in the conventional example? :Explanation 4-ru. The bus interface section 1-1 extracts instruction codes from the memory and writes and reads data.
オペランドアドレス計算部1−2はメモリ参照時。Operand address calculation unit 1-2 is used when referencing memory.
メモリのアドレス修飾を行ない、実行部1−3は各イ■
の転送、演算処理′f:行なう。The execution unit 1-3 modifies the memory address, and the execution unit 1-3
Transfer and arithmetic processing 'f: Execute.
第2図は、第1図に示した3個の機能ユニットからイI
′1城されるCPUのメモリ間C1J度算命令の動作図
である。これは、1つの命令の実行に際し。Figure 2 shows an example of the three functional units shown in Figure 1.
FIG. 2 is an operation diagram of the CPU's inter-memory C1J calculation instruction, which is executed by '1'. This is when executing one instruction.
各機能ユニットがどのように使われてゆくがをあらかし
め定められた時間単位(以下、ステージという。)に時
間を追って示したもので、各ステージの長さは固定さJ
′1.ている。すなわち、各機能ユニットid以下の順
序でJン[定の動作を行う。It shows how each functional unit is used over time in predetermined time units (hereinafter referred to as stages), and the length of each stage is fixed.
'1. ing. That is, each functional unit performs a certain operation in the order following its ID.
TAIの最初のステージの期間;バスインタフェース部
1−1で命令コードの読出しを行なう・TA2の2番目
のステージの期間;実行部3.−3で命令の解読を行う
。Period of first stage of TAI; instruction code is read by bus interface unit 1-1. Period of second stage of TA2; execution unit 3. -3 decodes the command.
Tλ303番目のステージの期間;オペランドアドレス
計算部1−2でメモリ参照時のアドレス修飾を行なう。Tλ30 Third stage period: The operand address calculation unit 1-2 modifies the address when referencing the memory.
1人4の4番目のステージの期間;バスインタフェース
部1−1において、メモリからのデータの読出しを行な
う。Fourth stage period for one person 4: Data is read from the memory in the bus interface section 1-1.
TA5の5番目のステージの期間;実行部1−3で演算
処理を行なう。During the fifth stage of TA5, the execution unit 1-3 performs arithmetic processing.
TA6の6番目のステージの期間;バスインタフェース
部1−1で、訊算結果全メモリへ格納する・本従来例で
説明するCPUは、他1(も多くの命令を持ち様々な処
理が可能であるが、1つの命令に対して機能ユニットが
使われる順序はどれも等しく、従って、すべての命令は
、282図の動作図に示す通vvc各機能ユニットが使
わh処理が進められる。Period of the 6th stage of TA6: The calculation result is stored in all memories at the bus interface unit 1-1. However, the order in which functional units are used for one instruction is the same, and therefore, all instructions are processed using each functional unit as shown in the operation diagram of FIG. 282.
次に第2図の動作図eこ示す様な6個のステージから構
成される動作図を持つ命令をパイプライン制御で処理す
るときの制御方法を説明する。Next, a control method when an instruction having an operation diagram consisting of six stages as shown in the operation diagram e in FIG. 2 is processed by pipeline control will be explained.
命令の処理を711217式に進める際に問題になるの
は、1つの命令を実行中に次の6令の実行を開始するタ
イミングである。The problem when proceeding with instruction processing according to the 711217 method is the timing of starting execution of the next six instructions while one instruction is being executed.
第3図(a)〜(f)の動作図は、1つの命令の実行中
に次の命令を開始するステージ毎の各ユニットの動作状
態を示したものである。この第3図(al〜(f)の動
作図に示す通り、Bの命令を実<J中に、第3図(b)
に示すタイミングで次のN命令を開始ツーると。The operation diagrams in FIGS. 3(a) to 3(f) show the operating state of each unit at each stage in which the next instruction is started during the execution of one instruction. As shown in the operation diagrams in FIG. 3 (al to (f)), during execution of the command B, in FIG. 3 (b)
Start the next N command at the timing shown in .
バスインタフェース部1−1の11’、、6リステージ
で。11', 6 restage of bus interface section 1-1.
又、第3図(C)に示すタイミングでは、バスインタフ
ェース部1−1のTB4 ステージとツコ行坩t ]
−3ノl1185ステージで、又、第3図(e)に不す
タイミングでは、バスインタフェース部1−1のIll
B6のステージで、それぞれ命令Aにおける処理と命
令Bにおける処理が衝突する。Moreover, at the timing shown in FIG. 3(C), the TB4 stage of the bus interface section 1-1 and the TB4 stage t]
At stage 1185 of bus interface section 1-3, and at the timing shown in FIG. 3(e),
At stage B6, the processing in instruction A and the processing in instruction B conflict.
第4図の衝突図は、第3図fa)から第3図(f)に示
した次の命令の各起動タイミングに対応して命令の実行
中に機能ユニット内で衝突が発生するかどうかを示した
ものである。衝突図のも列は次の命令の開始タイミング
を示し1表内のOはそのタイミングで次の命令全開始し
ても衝突がなく、パイプライン動作が正常に維持される
事′f:、1はそのタイミングで天の命令全開始したら
必らず機能ユニット内で、前の命令と次の命令の処理が
衝突hパイプラインの正常動作が継続できない事を表わ
している。The collision diagram in Figure 4 shows whether or not a collision occurs within the functional unit during the execution of an instruction, corresponding to the activation timing of the next instruction shown in Figures 3fa) to 3(f). This is what is shown. The column in the collision diagram indicates the start timing of the next instruction, and O in the table 1 indicates that there will be no collision even if all the next instructions start at that timing, and the pipeline operation will be maintained normally.'f:,1 This means that if all instructions are started at that timing, the processing of the previous instruction and the next instruction will collide within the functional unit. This means that the normal operation of the pipeline cannot continue.
不従来例の第4図の衝突図では1つの命令の実行中tA
1. ’A4. tA6のタイミングで、次の命令を開
始すれば衝突はないが、を人2. tA3. tA5で
は衝突が発生する。この’gRi突図に基づいて、パイ
プライン制御で最も重要な次の命令の開始タイミングが
決定される。In the collision diagram of FIG. 4 of the non-conventional example, during the execution of one instruction tA
1. 'A4. If the next command is started at the timing of tA6, there will be no collision, but if the user 2. tA3. A collision occurs at tA5. Based on this 'gRi projection, the start timing of the next instruction, which is most important in pipeline control, is determined.
次に第5図に7ドフ“パイプライン制御回路のブロック
図で、1′にの命令の開始タイミングを決定するハード
ウェア構成及び動作を説明する・レジスタ5−1−0か
らレジスタ5−1−5は。Next, FIG. 5 is a block diagram of the 7Doff pipeline control circuit, and the hardware configuration and operation that determine the start timing of the 1' instruction will be explained. Register 5-1-0 to register 5-1- 5 is.
第4図の衝突図に示したパイプライン処理中に衝突が発
生するかと9かのデータ全保持する。この6個のレジス
タ5−1−5からレジスタ5−1−〇でシフトレジスタ
5 ”−1fi”構成する。If a collision occurs during the pipeline processing shown in the collision diagram of FIG. 4, all data is retained. These six registers 5-1-5 to 5-1-0 constitute a shift register 5"-1fi".
シフトクロック5−2は各ステージにおける処理が終了
する毎にアクティブになりシフトレジスタ5−1円のデ
ータを左シフトする。シフトレジスタ5−1の最終出力
であるレジスタ5−1−5の出力は命令開始信号5−3
で、パイプライン制御における次の命令σノ開始全制御
する。0°′ならば次の命令を起動し1nならば起動し
ない。The shift clock 5-2 becomes active every time the processing at each stage is completed, and shifts the data in the shift register 5-1 to the left. The output of register 5-1-5, which is the final output of shift register 5-1, is the instruction start signal 5-3.
Then, the start of the next instruction σ in pipeline control is completely controlled. If it is 0°', the next instruction is activated, and if it is 1n, it is not activated.
初期衝突データ発生回路5−4は1次の命令が開始され
たときに、シフトレジスタ5−1円のデータを補正する
のに使用される1組みゲート5−5は、命令開始信号5
−3の制御でシフトレジスタ5−1内の次の段のレジス
タへ入力するデータを選択するも(/Jで、命令開始1
6号5−3が0”ならば、シフトレジスタ5−1内の各
レジスタのデータと初期衝突データ発生(ロ)路5−4
の対応するビットの論理和が次段のレジスタに入力する
。1”ならば、各レジスタ内のデータが単純に次段のレ
ジスタに入力する・第6図の動作図は、第5図のレジスタ5−1−5からレ
ジスタ5−1−0までのレジスタで構成されるシフトレ
ジスタ5−1のデータ保持状態をステージ毎に表わした
ものである。初期状態では、レフトレジスタ5−1内に
は、第4図の衝突図に示されりO″、″l”、′1″、
″l Q !+ 、1”、0”がこの順に格納されてい
る。最初の命令が実行されると、その最初の第1ステー
ジで、シフトレジスタ5−1の最終出力である命令開始
信号5−3の状態をチェックする。この信号の状態が0
°′なりで、次の第2ステージで、(K命令をただちに
開始する。同時に新しく命令が開始された事により衝突
図の補正が必要となり1組みゲート5−5の制御で初期
衝突データ発生回路5−4で補正された衝突データが左
シフトされ、これにより、シフトレジスタ5−1の内容
は、第6図の第2ステージに示すデータとなる。第2ス
テージ内でrl+び。The initial collision data generation circuit 5-4 is used to correct the data in the shift register 5-1 when the primary instruction is started.The set of gates 5-5 receives the instruction start signal 5.
-3 control selects the data to be input to the next stage register in shift register 5-1 (/J starts instruction 1
If No. 6 5-3 is 0", the data of each register in the shift register 5-1 and the initial collision data generation (b) path 5-4
The logical sum of the corresponding bits is input to the next stage register. 1", the data in each register is simply input to the next register. The operation diagram in Figure 6 shows the registers from register 5-1-5 to register 5-1-0 in Figure 5. The data holding state of the shift register 5-1 is shown for each stage.In the initial state, the left register 5-1 contains O'', ``l'' as shown in the collision diagram of FIG. ",'1",
"l Q !+, 1", and 0" are stored in this order. When the first instruction is executed, at the first stage, the instruction start signal 5, which is the final output of the shift register 5-1, is stored in this order. Check the status of -3.If the status of this signal is 0
°', in the next second stage, the (K command is started immediately. At the same time, since a new command is started, it is necessary to correct the collision diagram, and the initial collision data generation circuit is controlled by the first set of gates 5-5. The collision data corrected in step 5-4 is shifted to the left, so that the contents of the shift register 5-1 become the data shown in the second stage of FIG. 6. In the second stage, rl+ is shifted.
命令開始信号5−3の状態をチェ、7りする。今度は”
1”なので、次の第3ステージは+a、r 3の命令の
起動はしない。又1組みゲート5−5の制御で、シフト
レジスタ5−1内で単純にデータの左シフトを行なう。Check the state of the command start signal 5-3. Next time"
1'', the next third stage does not activate the +a, r3 instructions. Also, under the control of the first set of gates 5-5, data is simply shifted to the left in the shift register 5-1.
以下同様に、各ステージの期間で命令開始1d号5−:
うの状態をチェックし、上に記した処人里をくりかえす
。Similarly, the instruction starts in the period of each stage 1d No. 5-:
Check the condition of the fish and repeat the treatment described above.
以上説明した通り、促米のパイプライン制御方式は凌雑
な制御アルゴリズムに基づいた特殊な制御回l!!6全
使用している。As explained above, Zakumai's pipeline control method is a special control circuit based on a complicated control algorithm. ! 6 are all in use.
CPTJが持つナベての命令のステージ毎の各機能ユニ
、Vトの処理手順を、すべて同一としてすべての命令が
同一の動作In持つため、レジスタ間転送といった簡単
な命令からメモリ間のei、算の様な葭雑な命令を持つ
データ処理裟16.へは応用が難しいという第1q)大
きな欠点がある。The processing procedures for each functional unit and V for each stage of all the instructions in the CPTJ are all the same, and all instructions have the same operation. 16. Data processing equipment with complicated instructions such as There is a major drawback in 1q) that it is difficult to apply.
又、谷ステージの処理時間が一律に足められ六方式のた
め% 1ステージの処理時間を伸ばして、1つり機能ユ
ニット内での処理量を旨めるj」1が容易でなく、パイ
プラインの融通性に欠けるという第2の欠点がある。In addition, since the processing time of the valley stage is uniformly added to the six methods, it is not easy to extend the processing time of one stage and increase the processing amount within one functional unit, and the pipeline The second drawback is the lack of flexibility.
特に、バスとのインタフェース部ではメモリのアクセス
時間が長い場合には、1ステ一ジ処理時間内にメモリの
参照が完了せず、このためこの部分だけを特別にパイプ
ライン処理からはずした。す。In particular, if the memory access time is long in the interface section with the bus, the memory reference will not be completed within the processing time of one stage, so this section was specifically excluded from pipeline processing. vinegar.
又は、使用するメモリ全高速メモリに限るといった様々
な制約がつくという第3の欠点がある。Alternatively, there is a third drawback that there are various restrictions such as limiting the memory used to all high-speed memories.
更にこのパイプライン制御方式を、マイクロコンピュー
タに応用すると、パイプライン制御用回路が必要なため
1回路を複雑するはかりでなくチップサイズを大きくす
るという第4の欠点がある。Furthermore, when this pipeline control method is applied to a microcomputer, there is a fourth drawback that since a pipeline control circuit is required, one circuit is not complicated and the chip size is increased.
不発明の目的は、上記の諸欠点を取り除き、マイクロコ
ンピュータに最も適したパイプライン制御方式會提供す
る事にある。The object of the invention is to eliminate the above-mentioned drawbacks and provide a pipeline control system most suitable for microcomputers.
本発明のパイプライン制御方式は、(層数の命令を並列
に実行するデータ処理装置のパイプライン制御方式にお
いてb f:liJ記テーデー理装置が、命令実行手順
に従って分けられた複数の相異なる基本処理全専門[%
行する複数の機h(シュニットと、実行中の命令の次の
命令の実行開始タイミングをすべての命令にわたって制
御するタイミング制御手段と、前記機能ユニット毎にそ
れぞれtfil記基本処理の完了状態を保持する保持手
段と、該保持手段の保持状態に対応して前記機能ユニッ
トに前記基本処理の開始悟号葡送出する処理開始制御手
段と’z (Iitiえ、前記保持手段が前記基本処理
の完r状態全1呆持することに同期して前記処理開始制
御手段により前記機能ユニットのすべてが前Fi+、命
令実行手順に従って次の基本処理ケ同時に開始すると共
に前記タイミング制御手段によりjJr定の次の命令の
実行全起動させることがらtt成される・〔実施例の説
明〕以下−1不発明の実施例について図面を参Its(して
d発明する。The pipeline control method of the present invention is a pipeline control method for a data processing device that executes a number of layers of instructions in parallel. All processing specialties [%
a timing control means for controlling the execution start timing of the next instruction of the instruction being executed across all instructions; a holding means; and a processing start control means for sending a start signal for the basic processing to the functional unit in accordance with the holding state of the holding means. In synchronization with the pause for all 1, the processing start control means causes all of the functional units to simultaneously start the next basic processing according to the instruction execution procedure, and the timing control means starts the next basic processing at the same time. [Explanation of Embodiments] Below, reference is made to the drawings for embodiments of -1 non-invention.
第7図は本発明の一実施例全適用し/ζU P Uのブ
ロック図である。FIG. 7 is a block diagram of a fully applied /ζU P U according to an embodiment of the present invention.
CPUが、命令実行手順に従って分けられた3りの相異
なる基本処理を専門に実行する3個の機能ユニット、パ
スインタフェース部7−1.オヘラεノド計算部7−2.実部7−3と、実行中の命令の次の
命令の実行開始タイミングをすべての命令にわたって制
御するタイミング制御手段としてのタイミング記憶部7
−8と、前記機能ユニット毎にそれぞれ前記基本処理の
完了状態を保持する保持手段としての第1.第2.第3
のステージ終了フリッグフロ、プ(以下、ステージ終了
F/Fという、)7−4.7−5.7−6と、この保持
手段の保持状態に対応してml記機能ユニットに前記基
本処理の開始信号を送出する処理開始制御手段としての
ANDゲート7−7と奮備え、第1.第2、第3のステ
ージ終了F/F7−4.7−5゜7−6が前記基本処理
の完了状態を保持することに同期してANI)ゲー)
7−7 yjhら送出される命令開始信号7−7′によ
りバスインタフェース部7−1.オペランド言1算部7
−2.実行部7−3のすべてがj4iJ 記命令実行手
順に従って次の基本処理を同時に開始すると共にタイミ
ング記憶部7−8からのタイミング信号7−8′より1
ノ1足の次の命令の実行全起動させることから414成
される。The CPU has three functional units, a path interface section 7-1, which specialize in executing three different basic processes divided according to instruction execution procedures. Ohera ε throat calculation section 7-2. a real part 7-3, and a timing storage unit 7 as a timing control means for controlling the execution start timing of the next instruction after the instruction being executed over all instructions.
-8, and a first. Second. Third
The stage end F/F (hereinafter referred to as stage end F/F) 7-4.7-5.7-6 corresponds to the holding state of this holding means, and the ml function unit starts the basic processing. AND gate 7-7 as a processing start control means for sending a signal, and the first. 2nd and 3rd stage end F/F7-4.7-5゜7-6 maintains the completion state of the basic processing (ANI) game)
7-7 yjh and the like, the bus interface section 7-1. Operand word 1 arithmetic section 7
-2. All of the execution units 7-3 simultaneously start the next basic processing according to the instruction execution procedure j4iJ, and the timing signal 7-8' from the timing storage unit 7-8
Step 414 is performed by starting the execution of the next instruction for one step.
なお、タイミング記憶部7−8は本実施例ではバスイン
タフェース部7−1内に設けであるが。Note that the timing storage section 7-8 is provided within the bus interface section 7-1 in this embodiment.
これは機能ユニット外Kまとめて設けても良く。This may be provided outside the functional unit.
又必要に応じ各機能ユニット内に分散しC設けられる。Further, C is provided in a distributed manner within each functional unit as necessary.
本実施例は第1図にボした従来例のCP IJに適用し
たものであり、バスインタフェース部7−1゜オペラフ
ドアドレス計3jt部7−2.突汀部7−3の3個の機
能ユニットは、絹1図の従来例のブロック図に示したC
PUの各(7,1能ユニットと同一の処理を行なう。The present embodiment is applied to the conventional CP IJ shown in FIG. The three functional units of the ridge part 7-3 are C shown in the block diagram of the conventional example in Figure 1.
Each of the PUs performs the same processing as the 7 and 1 function units.
第1のステージ終了に’/F 7−4は、バスインタフ
ェース部7−1の1ステ一ジ分の処理が完了するとセッ
トさJしる。第2のステージ終了F/F7−5は、オペ
ランドアドレス計31− 部7−2 (Q 1ステ一ジ
分り処理が完了するとセットされる。第3のステージ終
了F71r7−6は実11部7−3の1ステ一ジ分り処
理が完了するとセットされる。At the end of the first stage, /F 7-4 is set when one stage of processing by the bus interface section 7-1 is completed. The second stage end F/F7-5 is set when the operand address total 31- section 7-2 (Q) is completed. The third stage end F/F7-6 is set when the processing for one stage is completed. It is set when one stage of processing in step 3 is completed.
ステージ開始1計号7−7′はANIJゲート7−7に
より得られた、第1.第2.第3のステージ終了F /
F 7−4 、7−5 、 7−6の各出力の論理積
で、この信号が入力すると、バスインタフェース部7−
1.オペランドアドレス計算部7−2゜実行部7−3の
各機能ユニットは、第1.第2゜第3のステージ終了F
/F7−4.7−5.7−6全リセツトし、同時に次の
1ステ一ジ分の処理を開始する。タイミング記憶部7−
8は、あらかじめ次の信号を衝突なしに開始できるよう
にセットされたタイミング信号が保持させられており。Stage start 1 number 7-7' is the 1st digit obtained by ANIJ gate 7-7. Second. 3rd stage end F/
When this signal is inputted by logical product of each output of F7-4, 7-5, and 7-6, the bus interface section 7-
1. Each functional unit of the operand address calculation section 7-2 and execution section 7-3 has a first . 2nd゜3rd stage end F
/F7-4.7-5.7-6 Resets everything and simultaneously starts processing for the next one stage. Timing storage section 7-
8 holds a timing signal set in advance so that the next signal can be started without collision.
所定のタイミングでそのタイミング信号を送出する。The timing signal is sent out at a predetermined timing.
第8図(a)の動作図は1本実施例に基づ(CPUのメ
モリ間の演q、命令の動作図で、各機能ユニット毎の処
理動作は、第2図に示す従来例のものと’I’cs の
第5ステージを除いて同一である。11c5の第5ステ
ージでは実行部7−3において、バスインタフェース部
7−2で読出されたデータと所定レジスタとの間での演
算のほかに1次の命令を起・1のさせる。The operation diagram in FIG. 8(a) is based on this embodiment (it is an operation diagram of operations and instructions between the CPU's memories, and the processing operation of each functional unit is based on the conventional example shown in FIG. 2). and 'I'cs are the same except for the fifth stage. In the fifth stage of 11c5, the execution unit 7-3 performs an operation between the data read by the bus interface unit 7-2 and a predetermined register. In addition, it causes a primary command to be activated/set to 1.
第8図(b)は、同様に本実施例に基づ(CPUのレジ
スタ間の転送命令の動作図で +pD1 の最初のステ
ージのJW間、バスインタフェース部7−1で命令コー
ドの読出しを行なうll’lD2 02番目のステージ
の期間実行部7−3で命令のjIl¥読を行なう・TD
3 の3番目のステージの期間実行部7−3でデータの
転送全行なうほか1次の命令を起動させる。FIG. 8(b) is a diagram of the operation of a transfer instruction between registers of the CPU based on the present embodiment. Between the JWs of the first stage of +pD1, the bus interface section 7-1 reads out the instruction code. ll'lD2 02nd stage period execution unit 7-3 reads instruction TD
During the period of the third stage of 3, the execution unit 7-3 performs all data transfers and also activates the primary instruction.
次に、第9図に示す本実施例のタイミング図を参照して
、第8図(a)、 (b)の動作図に示した2つの命令
が連続的に処理される場合の動作を説明する。Next, with reference to the timing diagram of this embodiment shown in FIG. 9, the operation when the two instructions shown in the operation diagrams of FIGS. 8(a) and 8(b) are successively processed will be explained. do.
tclのタイミングで命令C(メ士り間の演算命令)が
起動され、同時にオペランドアドレスロ1算M1i7−
2.実行部7−3も、Tolの期間1ステ一ジ分の処理
全行なう。l1lclの終わりまでに各機能ユニットは
1ステ一ジ分の処理を終え、それぞれ。At the timing of tcl, instruction C (operation instruction between calculations) is activated, and at the same time, the operand address row 1 calculation M1i7-
2. The execution unit 7-3 also performs all the processing for one stage of the Tol period. By the end of l1lcl, each functional unit has completed one stage of processing, respectively.
第1.第2.第3(1)ステージ終了F/P7−4゜7
−5.7−6f:セットする。これらの出力の論理積が
ANDゲート7−7によシステージ開始信号7−7′
となり第1.第2.第3のステージ終了F/F7−4.
7−5.7−6をリセットすると同時に1次の1゛C2
に和尚する第2番目のステージの処理を、バスインタフ
ェース部7−1.オペランドアドレス計算部7−2.実
行部7−3に一斉に起動させる。1st. Second. 3rd (1) Stage End F/P7-4゜7
-5.7-6f: Set. The AND gate 7-7 generates the stage start signal 7-7'.
Next is the first one. Second. Third stage end F/F7-4.
7-5. At the same time as resetting 7-6, the primary 1゛C2
The second stage processing is performed by the bus interface unit 7-1. Operand address calculation unit 7-2. The execution units 7-3 are activated all at once.
以上の処理金続け Ill 65 の第5番目のステー
ジの起動に同期して、あらかじめ命令C(メモリ間の演
算命令)で定められた通りタイミング記憶部7−8から
読出されたタイミング信号7−8′により次の命令1〕
(レジスタ間の転送命令)の実行を開始する。同様に
+1+ c7 のD命令における第3番目のステージの
起動に同期してD命令(レジスタ間の転送命令)にあら
かじめ定められた通り、タイミング記憶部7−8から読
出されたタイミング信号7−8′によ勺次の命令Eの実
行を開始する。The above processing continues.In synchronization with the activation of the fifth stage of Ill 65, the timing signal 7-8 is read out from the timing storage unit 7-8 as determined in advance by instruction C (inter-memory operation instruction). ’ causes the next command 1]
(transfer instruction between registers) starts execution. similarly
+1+c7 In synchronization with the activation of the third stage in the D instruction, the timing signal 7-8' read out from the timing storage section 7-8 is set as predetermined in the D instruction (transfer instruction between registers). Execution of the next instruction E begins.
以上説明した通り、不発明の一実施例全適用したCPU
は1次の命令の起動タイミングは、衝突図金引くのでは
なく1%命令毎に次の命令を起動してもすべての命令に
対して衝突が発生しないタイミングで命令毎にあらかじ
め定められているので、パイプライン動作をスケシ−ル
するための。As explained above, a CPU to which all embodiments of the invention are applied
The activation timing of the first instruction is predetermined for each instruction at a timing that does not cause a collision for all instructions even if the next instruction is activated for every 1% instruction, rather than deducting the collision figure. So for scheduling pipeline operations.
従来必要とされた第5図に示す起動タイミング決定用の
バイグライン制御回路が不要とな、り制御回路を著しく
簡略化する事が可能である。The conventionally required big-line control circuit for determining start-up timing shown in FIG. 5 is no longer necessary, and the control circuit can be significantly simplified.
又、各機能ユニット間の同期関係が、従来の様に固定さ
れた特定の期間に一律に同期するものではなく、1ステ
一ジ分の処理が単位となって各機能ユニット間の1ステ
一ジ分の処理がすべて完了してから次のステージへ移る
。従って1機能ユニットの設刷では処理内容に融通性が
増し、特にバスインタフェース部も、メモリのアクセス
時間に関係なくメモリ参照が完了した時点で1ステ一ジ
分の処理の完了とする事ができ、パイプライン動作の中
にかなりの柔軟性が生じる。In addition, the synchronization relationship between each functional unit is not uniformly synchronized during a fixed specific period as in the past, but the processing for one step is a unit, and the synchronization relationship between each functional unit is synchronized in one step. After all processing is completed, move on to the next stage. Therefore, when printing a single functional unit, there is greater flexibility in the processing content, and especially for the bus interface section, the processing for one stage can be completed when the memory reference is completed, regardless of the memory access time. , allowing considerable flexibility in pipeline operation.
又、命令の動作図は、−律ではなくa令毎に最適1ヒさ
れているので、汎用のデータ処理装置にも容易に応用す
る事ができる。Furthermore, since the instruction operation diagram is optimized for each a instruction rather than the - rule, it can be easily applied to a general-purpose data processing device.
以上詳細に説明した通り、不発明のパイプライン制御方
式は、上記の構成をとることにより、従来のようにすべ
ての命令が同一の動作図でなく命令毎に最も適した動作
図金持ち、各(歳能ユニットの同期関係は従来のように
一律に固定された周期ではなく1ステージ内の1処理の
完了に基づいており、又、命令の開始タイミングは従来
のように衝突図によるのでなく各命令毎に次の命令を起
動してもすべての命令に対して衝突が発生しないタイミ
ング金あらかじめ規定しているので、従来のパイプライ
ン制御方式に比較して、)蔦−ドウエア量の増力口も最
少限に抑えられ、かつ設計における融通性も備えた高速
なパイプライン制御方式を得ることができるという効果
會有している。As explained in detail above, the inventive pipeline control system has the above configuration, so that all instructions do not have the same operation diagram as in the past, but the most suitable operation diagram for each instruction ( The synchronization relationship of the processing units is based on the completion of one process in one stage, rather than a uniformly fixed period as in the past, and the start timing of the command is not based on a collision diagram as in the past, but is based on each command. Since the timing at which collisions do not occur for all instructions is predefined even if the next instruction is started every time, the amount of increase in the amount of air is also minimized compared to the conventional pipeline control method. This has the advantage that it is possible to obtain a high-speed pipeline control method that is suppressed to a minimum and has flexibility in design.
特に、高性能化が著しいマイクロコンビーータへ応用し
た場合には、ノ\−ドウエア量の増加が最少限であり、
逐次処理Vこ比較すると、大幅な処理速度の改善が期待
でき、芙用効果を最も顕著に発揮できる。In particular, when applied to microcombinators with significantly improved performance, the increase in the amount of node hardware is minimal.
Comparing the sequential processing V, a significant improvement in processing speed can be expected, and the effect of fertilization can be exhibited most noticeably.
第1図は、従来のパイプライン制御方式qノー例に用い
たCPUのブロック図、第2図は第1図に示したCPU
の命令の動作図、第3図(al〜(f)は。第2図に示した動作図で次の命令を各ステージ毎に起動
させた時の動作図、第4図は第2図に示した動作図によ
るePU(1)衝突図、第5図は第2図に示した動作図
によるC P [Jのパイプライン制御回路のブロック
図、第6図は第5図のパイプライン制御回路のデータの
変化全示す動作図、第7図は本発明の一実施例に用いた
C P IJのブロック図、第ン)図(a)、 (bl
は第7図に示すCPUの命令の動作図、第9図は第7図
に示したC 1) Uのタイムチャートである。1−1・・・・・・バスインタフェースff1i、1−
2・・・・・・オペランドアドレス計算部、1−3・・
・・・実行部。5−1・・・・・・シフトレジスタ、5−1−0.5−
1−1,5−1−2.5−1−3.5−1−4.5−1
−5・・・・・・レジスタ、5−2・・・・・・シフト
クロック、5−3・・・・・・命令開始信号、5−4・
・・・・・初期衝突データ発生回路、5−5・・・・・
・組みゲート& 7−1・・・・・・バスインタフェー
ス*L7−2・・・・・オペランド計算部、7−3・・
・・・・実行部、7−4.7−5゜7−6・・・・・・
第1.第2.第3のステージ終了フリップフロップ、7
−7・・・・・・ANDゲート、7−7’・・・・・・
命令開始信号、7−8・・・・・・タイミング信号記憶
部、7−8’・・・・・・タイミング信号* TA 1
−TA s。TB1ゞTa 11. TC1″TCs、 TD sゝ
TD3°°°°°°ステージ& tAl〜tA6. t
CIA+tC811”タイミング・第1図第2図第4図(’l) hs(e) tAg(↑)榮3図第5図第6図(イ)7図(I))第8図Figure 1 is a block diagram of the CPU used in the conventional pipeline control method q-no example, and Figure 2 is the CPU shown in Figure 1.
The operation diagram of the instruction shown in Figure 3 (al to (f)) is the operation diagram when the next instruction is started at each stage in the operation diagram shown in Figure 2, and Figure 4 is the same as Figure 2. Figure 5 is a block diagram of the pipeline control circuit of C P [J according to the operation diagram shown in Figure 2. Figure 6 is the pipeline control circuit of Figure 5. FIG. 7 is a block diagram of the CPIJ used in one embodiment of the present invention.
is an operation diagram of the CPU instructions shown in FIG. 7, and FIG. 9 is a time chart of C1) U shown in FIG. 7. 1-1...Bus interface ff1i, 1-
2... Operand address calculation section, 1-3...
...Execution department. 5-1...Shift register, 5-1-0.5-
1-1, 5-1-2.5-1-3.5-1-4.5-1
-5...Register, 5-2...Shift clock, 5-3...Instruction start signal, 5-4...
...Initial collision data generation circuit, 5-5...
・Assembled gate & 7-1...Bus interface *L7-2...Operand calculation section, 7-3...
...Execution part, 7-4.7-5゜7-6...
1st. Second. Third stage end flip-flop, 7
-7...AND gate, 7-7'...
Command start signal, 7-8...Timing signal storage section, 7-8'...Timing signal* TA 1
-TAs. TB1ゞTa 11. TC1″TCs, TD sゝTD3°°°°° Stage & tAl~tA6.t
CIA+tC811'' timing・Figure 1Figure 2Figure 4 ('l) hs (e) tAg (↑) Figure 3Figure 5Figure 6(A)Figure 7(I)) Figure 8
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14337183AJPS6033635A (en) | 1983-08-05 | 1983-08-05 | Pipeline controlling system |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP14337183AJPS6033635A (en) | 1983-08-05 | 1983-08-05 | Pipeline controlling system |
| Publication Number | Publication Date |
|---|---|
| JPS6033635Atrue JPS6033635A (en) | 1985-02-21 |
| JPS6359175B2 JPS6359175B2 (en) | 1988-11-18 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP14337183AGrantedJPS6033635A (en) | 1983-08-05 | 1983-08-05 | Pipeline controlling system |
| Country | Link |
|---|---|
| JP (1) | JPS6033635A (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0223970U (en)* | 1988-07-29 | 1990-02-16 |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS52115640A (en)* | 1976-02-06 | 1977-09-28 | Int Computers Ltd | Register for pipe line data processor system |
| JPS57105044A (en)* | 1980-12-23 | 1982-06-30 | Fujitsu Ltd | Interlock control system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS52115640A (en)* | 1976-02-06 | 1977-09-28 | Int Computers Ltd | Register for pipe line data processor system |
| JPS57105044A (en)* | 1980-12-23 | 1982-06-30 | Fujitsu Ltd | Interlock control system |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0223970U (en)* | 1988-07-29 | 1990-02-16 |
| Publication number | Publication date |
|---|---|
| JPS6359175B2 (en) | 1988-11-18 |
| Publication | Publication Date | Title |
|---|---|---|
| US3959774A (en) | Processor which sequences externally of a central processor | |
| JPH0248931B2 (en) | ||
| JPH0124655Y2 (en) | ||
| JPH0346850B2 (en) | ||
| US5253349A (en) | Decreasing processing time for type 1 dyadic instructions | |
| JPS6033635A (en) | Pipeline controlling system | |
| US3480917A (en) | Arrangement for transferring between program sequences in a data processor | |
| WO1985002278A1 (en) | Microprogram control method | |
| JPH0560629B2 (en) | ||
| JPH0616287B2 (en) | Vector arithmetic processor with mask | |
| JP2000194556A (en) | Instruction look-ahead system and hardware | |
| JP2002278774A (en) | Method and apparatus for generating an instruction word when controlling a functional unit in a processor | |
| JPS6214868B2 (en) | ||
| JP2755646B2 (en) | Data driven data processor | |
| JPS5875250A (en) | Digital information processing equipment | |
| JPH0228744A (en) | Information processing system | |
| KR100723875B1 (en) | Microprocessors Suitable for Simultaneous Startup and Reset and Processor ID Control Methods in the Microprocessors | |
| JPS60129837A (en) | Signal processing calculation processor | |
| JP2982129B2 (en) | Micro program controller | |
| JPH04169954A (en) | Information processor | |
| JPH11353011A (en) | Sequence controller | |
| JPH0916399A (en) | calculator | |
| JPS58159169A (en) | Parallel processing system | |
| JP2002132579A (en) | Register control apparatus | |
| JPS5953902A (en) | Control device |