JPS6113607B2 - - Google Patents
Info
- Publication number
- JPS6113607B2 JPS6113607B2 JP53159596A JP15959678A JPS6113607B2 JP S6113607 B2 JPS6113607 B2 JP S6113607B2 JP 53159596 A JP53159596 A JP 53159596A JP 15959678 A JP15959678 A JP 15959678A JP S6113607 B2 JPS6113607 B2 JP S6113607B2
- Authority
- JP
- Japan
- Prior art keywords
- cycle
- microinstruction
- time
- latch
- resource
- 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
Landscapes
- Advance Control (AREA)
Description
【発明の詳細な説明】
本発明は、マイクロプログラム制御をとる情報
処理装置におけるマイクロプログラム分岐方式に
関するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a microprogram branching method in an information processing apparatus that performs microprogram control.
第1図はマイクロプログラム制御方式をとる情
報処理装置の従来のマイクロプログラム分岐方式
を説明するブロツク図である。図中、1はマイク
ロプログラムを貯蔵するコントロールストレツ
ジ、2はマイクロ命令を設定するデータレジスタ
(以後CSDRと称す)、5はコントロールストレツ
ジから読み出すべきアドレスを設定するアドレス
レジスタ(以後CSARと称す)、3はマイクロ命
令により制御される情報処理装置内のリソース
(例えば演算器)、4は次に行なうべきマイクロ命
令の分岐アドレスを決定すべく、リソース3から
の情報を調べる論理回路(以後テストマトリクス
と称す)である。 FIG. 1 is a block diagram illustrating a conventional microprogram branching system for an information processing apparatus that employs a microprogram control system. In the figure, 1 is a control storage that stores microprograms, 2 is a data register (hereinafter referred to as CSDR) that sets microinstructions, and 5 is an address register (hereinafter referred to as CSAR) that sets the address to be read from the control storage. , 3 is a resource (for example, an arithmetic unit) in the information processing device controlled by the microinstruction, and 4 is a logic circuit (hereinafter referred to as a test matrix) that examines information from the resource 3 in order to determine the branch address of the microinstruction to be executed next. ).
次に実行すべきマイクロ命令アドレスをCSAR
5に設定すると、CS1内より指定されたマイク
ロ命令が読み出され、CSDR2に格納される。
CSDR2内のBA部は次のマイクロ命令のアドレ
スの上位ビツトであり、CSAR5の上位部分5―
Aに設定される。CSDR2内のT部は分岐フイー
ルド(テストフイールド)と呼ばれ、リソース3
の出力線群100と共にテストマトリクス4に入
力される。テストマトリクス4は分岐フイールド
部Tの指定により、リソース3の出力線群100
の中から予じめ定義された信号線の状態を調べ、
その結果をCSAR5の下位ビツト5―Bに設定す
る。すなわち、第1図ではCSDR2内のT部の指
定により、リソース3の出力線群100の定めら
れた内容をテストマトリクス4を介して次命令ア
ドレスに反映し、以つてマイクロプログラムの分
岐を可能としている。CSDR2内のA部分はBA
部、T部以外のマイクロ命令フイールドの総称で
あり、演算器の演算制御レジスタ間の転送制御、
メモリ制御等を行なうもので、複数個の独立した
マイクロ命令フイールドよりなる。 CSAR the microinstruction address to be executed next
When set to 5, the specified microinstruction is read from CS1 and stored in CSDR2.
The BA part in CSDR2 is the upper bit of the address of the next microinstruction, and the upper part 5-
Set to A. The T part in CSDR2 is called a branch field (test field), and is a branch field (test field).
are input to the test matrix 4 together with the output line group 100. The test matrix 4 is specified by the branch field section T, and the output line group 100 of the resource 3 is
Check the status of predefined signal lines from among
The result is set in lower bit 5-B of CSAR5. That is, in FIG. 1, the specified contents of the output line group 100 of the resource 3 are reflected in the next instruction address via the test matrix 4 by specifying the T part in the CSDR 2, thereby making it possible to branch the microprogram. There is. Part A in CSDR2 is BA
It is a general term for microinstruction fields other than the part and T part, and is used to control the transfer between the arithmetic control registers of the arithmetic unit.
It performs memory control, etc., and consists of multiple independent microinstruction fields.
第2図も従来のマイクロプログラム分岐方式を
説明するブロツク図であるが、これはバンク制御
方式と呼ばれるマイクロ命令制御方式で、コント
ロールストレツジ1は複数個のバンク(第2図の
例では2バンク)に分離され、CSAR5で設定さ
れたアドレスによりバンク0,1―Aとバンク
1,1―Bからマイクロ命令が同時に読み出され
る。この方式では、CSDR2の分岐フイールド部
Tの制御下にあるテストマトリクス4の出力は
CSAR5にではなく、CSDR2の入力ゲート部に
入力され、コントロールストレツジ1のバンク1
―A,1―Bから読み出したマイクロ命令の内1
つを選択してCSDR2に設定する。 FIG. 2 is also a block diagram explaining the conventional microprogram branching method. This is a microinstruction control method called a bank control method, and the control storage 1 has multiple banks (in the example of FIG. 2, two banks). ), and microinstructions are read simultaneously from banks 0, 1-A and banks 1, 1-B according to the address set by CSAR5. In this method, the output of test matrix 4 under the control of branch field section T of CSDR2 is
It is input to the input gate section of CSDR2, not to CSAR5, and is input to bank 1 of control storage 1.
1 of the microinstructions read from -A, 1-B
Select one and set it to CSDR2.
第1図と第2図の相違は、第1図ではテストマ
トリクス4の出力がコントロールストレツジ自身
をアクセスするアドレスレジスタ5に直接入力さ
れるのに対し、第2図ではアドレスレジスタ5で
指定された複数個バンクのCS1からの読み出し
データを選択する点にある。処理装置のマシンサ
イクルが向上するに従つて、コントロールストレ
ツジのアクセスタイムのマシンサイクル内で占有
する時間が大となるが、テストマトリクス4の判
定時間とコントロールストレツジ1のアクセス時
間を加えてもなおマシンサイクルルに余裕のある
装置では第1の方式が、余裕のない装置では第2
図の方式がとられる。 The difference between FIG. 1 and FIG. 2 is that in FIG. 1, the output of the test matrix 4 is directly input to the address register 5 that accesses the control storage itself, whereas in FIG. The point is to select read data from CS1 of multiple banks. As the machine cycle of the processing device improves, the time occupied by the control storage access time within the machine cycle increases, but even if you add the judgment time of test matrix 4 and the access time of control storage 1, Note that the first method is used for machines with sufficient machine cycle time, and the second method is used for machines that do not have sufficient machine cycle time.
The method shown in the figure is used.
さて、上記した従来のマイクロ命令分岐方式の
内、1マシンサイクルに配分される時間を第2図
の場合を例に考える。今、第2図に示したマイク
ロ命令被制御部分3内の1つのリソースとして、
第3図のような演算器内のメインアダーとシフタ
について想定する。第3図に於いて、6,7,
8,9はレジスタA,B,C,Dであり、命令の
開始時に命令により指定されたデータが図示せざ
るデータ入力パスより設定される。このレジスタ
群6〜9内のデータはメインアダー10乃至シフ
タ12に印加され、演算結果が各演算器の出力ラ
ツチ11乃至13にセツトされ、次いでこのレジ
スタの内容がレジスタ6〜9に戻される。この第
3図の例の場合、レジスタ群6〜9の内容がメイ
ンアダー10乃至シフタ12を経由して該レジス
タ群6〜9に戻る時間を処理装置の基準マシンサ
イクル内に入れる必要がある。また、第2図の
CSDR2に読み出されたマイクロ命令は、レジス
タ群6〜9より出力されたデータが該レジスタ群
6〜9に戻るまでを制御することになる。 Now, of the conventional microinstruction branching method described above, consider the case of FIG. 2, in which the time allocated to one machine cycle is taken as an example. Now, as one resource in the microinstruction controlled part 3 shown in FIG.
Assume a main adder and shifter in a computing unit as shown in FIG. In Figure 3, 6, 7,
8 and 9 are registers A, B, C, and D, and data specified by the instruction at the start of the instruction is set from a data input path (not shown). The data in this register group 6-9 is applied to the main adder 10 to shifter 12, the result of the operation is set in the output latch 11-13 of each arithmetic unit, and then the contents of this register are returned to the registers 6-9. In the case of the example shown in FIG. 3, it is necessary to include the time for the contents of the register groups 6 to 9 to return to the register groups 6 to 9 via the main adder 10 to the shifter 12 within the standard machine cycle of the processing device. Also, in Figure 2
The microinstruction read into the CSDR 2 controls the data output from the register groups 6 to 9 until they are returned to the register groups 6 to 9.
第4図に第2図で示したコントロールストレツ
ジ部と第3図の演算部との時間配分を示す。第4
図において、E0サイクルの1マイクロ命令は時
間帯Xにて、レジスタ6,7,8,9より演算器
を経由したデータがレジスタ6,7,8,9に戻
るまでを制御するものとする。即ち、時間帯Xの
はじめの時刻T0にレジスタ6,7,8,9に入
力データが設定され、3/4サイクルを経過後、演
算器出力レジスタ11,13に格納され、時間帯
Xの後のT0でレジスタ群6,7,8,9に設定
されるものとする。このときCSDR2のセツトタ
イミングは次の様に定められる。メインアダー1
0乃至シフト12への入力データはレジスタ群
6,7,8,9のいずれかゝら入力されるべきか
演算開始時点即ち第4図の時間帯Xの前縁のT0
で決定していなければならない。かゝる決定をこ
の時刻に決定させるため、該当するマイクロ命令
をデコードするに足る時間帯をおいてCSDR2の
設定タイミングが決定される。第4図に於いて
は、このデコードタイムは1/2サイクル要するも
のとしてある。CSAR5の設定はコントロールス
トレツジをアクセスするに必要な分だけCSDR2
の設定時刻より以前に定められる。第4図では
3/4サイクルと想定している。 FIG. 4 shows the time allocation between the control storage section shown in FIG. 2 and the calculation section shown in FIG. 3. Fourth
In the figure, one microinstruction in E0 cycle controls the data from registers 6, 7, 8, and 9 through the arithmetic unit until it returns to registers 6, 7, 8, and 9 in time zone X. . That is, input data is set in registers 6, 7, 8, and 9 at time T 0 at the beginning of time period It is assumed that register groups 6, 7, 8, and 9 are set at T 0 later. At this time, the set timing of CSDR2 is determined as follows. Main adder 1
Which of the register groups 6, 7, 8, and 9 should the input data to shift 0 to shift 12 be input from ?
must be determined. In order to make such a decision at this time, the setting timing of CSDR2 is determined after a time period sufficient to decode the corresponding microinstruction. In FIG. 4, it is assumed that this decoding time requires 1/2 cycle. CSAR5 settings are CSDR2 for the amount necessary to access control storage.
is determined before the set time of . In Fig. 4, 3/4 cycle is assumed.
次にE0サイクルの演算結果が、マイクロ命令
分岐制御に与える影響を考える。第2図と第4図
を参照するに、E0サイクルの演算結果は、E0サ
イクルの次のマイクロ命令E1の分岐フイールド
部Tの制御によりE0の次の次のサイクルE2のマ
イクロ命令の決定に関与する。即ち、E0サイク
ルの指定動作がX時間帯に実行開始されると、1/
2サイクル経過後にCSDR2にE1サイクルのマイ
クロ命令が設定される。次いでCSDR2の分岐フ
イールドT部はテストマトリクス4に入力され、
E0サイクルの演算結果をX時間帯の終了時点に
判定し、判定結果が、X時間帯の終了時点から1/
2サイクル経過後、即ち、E2サイクルを制御する
マイクロ命令を設定する時刻までにCSDR2の入
力データバスの切り替えのため送付される。 Next, consider the influence of the operation result of E 0 cycle on microinstruction branch control. Referring to FIGS. 2 and 4, the operation result of the E 0 cycle is transferred to the micro instruction of the next cycle E 2 after E 0 under the control of the branch field section T of the micro instruction E 1 next to the E 0 cycle. Involved in determining orders. In other words, when the specified operation of E0 cycle starts execution in X time period, 1/
After 2 cycles have passed, the E 1 cycle microinstruction is set in CSDR2. Then, the branch field T part of CSDR2 is input to the test matrix 4,
E The calculation result of 0 cycles is judged at the end of X time period, and the judgment result is 1/1 from the end of X time period.
After two cycles have elapsed, that is, by the time when the microinstruction controlling the E2 cycle is set, the data is sent for switching the input data bus of CSDR2.
以上が第2図で示したマイクロプログラム制御
方式とその動作時間についての説明である。第1
図の場合は、テストマトリクス4の出力結果が
CSAR5に入力された後、コントロールストレツ
ジの読み出しが始まる点を除き全く同様である。
従つて、先に記したようにコントロールストレツ
ジのアクセスがマシンサイクルに対し充分余裕の
ある場合第1図の方式が、余裕のない場合は第2
図の方式がとられることゝなる。以後の説明では
第2図で示した方式を前提とするが、第1図のも
のに適用しても、本発明の実施を何ら妨げるもの
ではない。 The above is an explanation of the microprogram control method shown in FIG. 2 and its operating time. 1st
In the case of the figure, the output result of test matrix 4 is
It is exactly the same except that reading of the control storage begins after input to CSAR5.
Therefore, as mentioned above, if there is sufficient margin for control storage access with respect to the machine cycle, the method shown in Figure 1 is used, and if there is not, the method shown in Figure 2 is used.
The method shown in the figure will be adopted. The following explanation will be based on the system shown in FIG. 2, but even if it is applied to the system shown in FIG. 1, the present invention will not be impeded in any way.
ところで、近年の高集積度半導体技術(LSI)
の進歩により単位実装面積当りの収容論理回路数
を増加させ、これによりマシンサイクル内にしめ
る論理回路間の配線による信号の伝播遅延を減少
させ、以つて情報処理装置のマシンサイクルの向
上を企ることが可能となつてきた。一方、処理装
置の性能を向上させるにはマシンサイクルの短縮
とゝもに、1サイクル当りに処理できるデータ量
を増加させることによつても可能であり、高速な
処理装置にあつては、高密度半導体技術をもつて
してもなお相当量の実装スペースを持たねばなら
ぬ。 By the way, recent high-integration semiconductor technology (LSI)
With the advancement of technology, the number of logic circuits accommodated per unit mounting area is increased, thereby reducing the signal propagation delay due to wiring between logic circuits within a machine cycle, and thereby improving the machine cycle of information processing equipment. has become possible. On the other hand, it is possible to improve the performance of processing equipment by shortening the machine cycle and increasing the amount of data that can be processed per cycle. Even with high-density semiconductor technology, a considerable amount of mounting space must still be available.
第2図および第3図の構成を取る装置について
当てはめると、まず第3図に示した演算器は、基
準マシンサイクル内に大量のデータを加工する必
要があることから近接した領域に置かれる。同様
に、第2図のコントロールストレツジと周辺の
CSAR,CSDR等もストレツジのアクセス時間を
マシンサイクルに追随させるために近接した実装
領域内に設置される。更には、第2図及び第3図
の部分を制御する制御論理回路部が近接した領域
内に配置されることゝなる。 Applying this to the apparatus having the configurations shown in FIGS. 2 and 3, first, the arithmetic units shown in FIG. 3 are placed in close proximity because it is necessary to process a large amount of data within a standard machine cycle. Similarly, the control storage and peripheral storage shown in Figure 2
CSAR, CSDR, etc. are also installed in a nearby implementation area in order to make storage access time follow machine cycles. Furthermore, the control logic circuitry that controls the portions of FIGS. 2 and 3 will be located in adjacent areas.
周知のごとく、演算器は単位時間内に通過する
論理回路段数が多いこと、コントロールストレツ
ジではアドレスレジスタの出力により多数の記憶
素子を駆動する必要性から配線長が長くなること
等の理由により、前記近接領域への配置と高集積
度論理回路素子の使用により配線デイレーを減少
し、以つてマシンサイクルの向上を企るに益があ
る。しかしながら、これらの近接領域に配置され
た論理構成ユニツト間の配線は、先の演算器、コ
ントロールストレツジ部で期待した配線長の短縮
と等率で減少することを期待することは難しい。
かゝる個所の一例として、第2図について云えば
CSDR2のマイクロ命令フイールドA部の出力
と、テストマトリクス4への入力であるテスト条
件信号線群100があげられる。前者は、装置各
部のリソースを制御すべく、実装空間内に散在す
る各種リソースに分配されること、後者は、逆に
散在する各種リソースから信号を受け取らなけれ
ばならないため、入力及び出力信号線の出入りが
多く、また、相手ユニツトが実装的にばらつくゆ
え、先に記した演算器部とかコントロールストレ
ツジ内で実現した配線長の減少分に比し、信号線
の配線長低下率は低くなる性格を持つている。 As is well known, arithmetic units pass through a large number of logic circuit stages within a unit time, and control storage requires long wiring due to the need to drive a large number of storage elements using address register outputs. The close proximity arrangement and use of highly integrated logic circuit elements are beneficial in reducing wiring delays and thereby improving machine cycles. However, it is difficult to expect that the wiring between logic configuration units placed in these adjacent areas will be reduced at the same rate as the wiring length expected for the arithmetic unit and control storage section.
As an example of such a place, refer to Figure 2.
Examples include the output of the microinstruction field A part of the CSDR 2 and the test condition signal line group 100 which is the input to the test matrix 4. The former is distributed to various resources scattered within the mounting space in order to control the resources of each part of the device, and the latter is conversely necessary to receive signals from various scattered resources, so the input and output signal lines are Since there are many connections in and out, and there are variations in the implementation of the other units, the rate of reduction in the wiring length of the signal line is low compared to the reduction in wiring length achieved in the arithmetic unit section and control storage mentioned above. have.
以上のことを前提として、基準マシンサイクル
内に於ける時間配分を第5図を参照しながら考え
る。第3図に記したレジスタ6,7,8,9より
演算器を経由して該レジスタ6,7,8,9にデ
ータが戻るまでに要する時間を基準マシンサイク
ルとすると、第2図のCSDR2は、演算器の入力
データを選択する制御信号を出すに足る時間余裕
を以つて設定されるが、先に記したごとく、配線
長分デイレーが演算器内で実現できる短縮率に及
ばないことを考慮すると、第4図に於いて1/2サ
イクルを要したマイクロ命令デコード時間が、第
5図に於いては、これより余計に3/4サイクル程
度を要することゝなる。CSAR5はストレツジの
アクセスに足る分だけCSDR2の設定時刻より以
前に設定すればよいが、E0サイクルの次のE1サ
イクルの分岐フイールドTの制御に於いて次のご
とき問題が発生する。即ち、第4図と同様の設定
により、E0サイクルの演算結果によつてE1サイ
クルのマイクロ命令分岐フイールドでE2サイク
ルのマイクロ命令分岐先を決定しようとすると、
CSDR2の設定が第4図のものより前にあるゆ
え、E0サイクルの演算結果が、テストマトリク
ス4を経由してE2サイクルのCSDR2の設定時刻
に到達できる時間余裕が減少する。更には、テス
トマトリクス4のテスト条件信号線群100の配
線遅延の低下率が演算器等近接実装領域内に実装
可能な論理ユニツトのものより低いことを考慮す
ると、最早、E0サイクルの演算結果をE2サイク
ルのCSDR2の確定時刻までに送付することは不
可能となる。 Based on the above premise, time allocation within the standard machine cycle will be considered with reference to FIG. If the time required for the data to return from the registers 6, 7, 8, 9 shown in Fig. 3 to the registers 6, 7, 8, 9 via the arithmetic unit is taken as a reference machine cycle, then the CSDR2 shown in Fig. 2 is set with enough time to issue a control signal to select the input data of the arithmetic unit, but as mentioned earlier, it is important to note that the delay due to the wiring length will not reach the reduction rate that can be achieved within the arithmetic unit. Taking this into consideration, the microinstruction decoding time that required 1/2 cycle in FIG. 4 will require an additional 3/4 cycle in FIG. 5. CSAR5 may be set earlier than the setting time of CSDR2 by an amount sufficient for storage access, but the following problem occurs in controlling the branch field T in the E1 cycle following the E0 cycle. That is, if you try to determine the microinstruction branch destination of E2 cycle in the microinstruction branch field of E1 cycle based on the operation result of E0 cycle using the same settings as shown in FIG.
Since the setting of CSDR2 is earlier than that of FIG. 4, the time margin for the calculation result of the E0 cycle to reach the set time of CSDR2 of the E2 cycle via the test matrix 4 is reduced. Furthermore, considering that the reduction rate of the wiring delay of the test condition signal line group 100 of the test matrix 4 is lower than that of a logic unit that can be mounted in the adjacent mounting area such as an arithmetic unit, the calculation result of E 0 cycle is no longer It becomes impossible to send by the fixed time of CSDR2 of E2 cycle.
従来、かゝる問題は次のような方法により解決
していた。第1の方法は、上記問題が発生する状
況に於いてはテストすべきリソースの更新を直前
のサイクルで禁止する方式である。即ち、第5図
に於いて、E0サイクルでの演算結果をE1サイク
ルでテストすることを禁止するのである。第2の
方法は、マイクロ命令の指定により次命令の開始
時刻を1サイクル遅延させ、演算結果からCSDR
が確定するまでの時間を引きのばす方式である。 Conventionally, such problems have been solved by the following methods. The first method is to prohibit updating of the resource to be tested in the immediately preceding cycle in a situation where the above problem occurs. That is, in FIG. 5, it is prohibited to test the calculation result in the E 0 cycle in the E 1 cycle. The second method is to delay the start time of the next instruction by one cycle by specifying a microinstruction, and then use the CSDR from the operation result.
This method prolongs the time it takes to determine the
即ち、第5図のE0サイクルの演算結果をE1サ
イクルで指定可能とするが、E1サイクルのマイ
クロ命令の指定によるE2サイクルのCSDRの確定
時間を1サイクル遅延させるのである(したがつ
て、E1サイクルの演算も1サイクル遅延する)。 In other words, the operation result of E0 cycle in Figure 5 can be specified in E1 cycle, but the CSDR determination time of E2 cycle due to the specification of the E1 cycle microinstruction is delayed by one cycle (but Therefore, the E 1- cycle operation is also delayed by 1 cycle).
ところで、更新直後のテスト分岐が禁止される
リソースは全テストケースの一部に限定されるた
め、装置の性能に対する影響は少として実現でき
たが、テスト条件信号線群の配線遅延が甚しくな
るとほとんどのテストが更新直後に実施不能とな
る。このような状況で、従来のように、リソース
の更新直後のテストを禁止すると、リソースの更
新が、分岐判定ゆえ毎サイクル実施することが不
可能となり、装置性能を著しく阻害することゝな
る。 By the way, the resources for which test branching is prohibited immediately after an update are limited to a portion of all test cases, so the impact on the performance of the device was small, but if the wiring delay of the test condition signal line group becomes severe, Most tests become unworkable immediately after the update. In such a situation, if the test immediately after updating the resource is prohibited as in the past, it becomes impossible to update the resource every cycle due to branch judgment, and device performance will be significantly impaired.
従つて、本発明の目的は、処理装置内のリソー
スの更新直後のマイクロ命令分岐判定に於いて、
更新後リソースの状態を判定する時間余裕を取れ
ない場合に於いても、リソースの毎サイクル更新
と分岐判定を可能とする方式を提供することにあ
る。 Therefore, an object of the present invention is to perform the following steps in determining a microinstruction branch immediately after updating a resource in a processing device.
It is an object of the present invention to provide a method that makes it possible to update a resource every cycle and make a branch judgment even when there is no time to judge the status of an updated resource.
簡単に云えば、本発明の特徴は装置内のリソー
スの状態をテストするのにリソースの出力を直ち
にテストマトリクスの入力とせず、適当なデイレ
ーラツチを設置することにより、リソースの毎サ
イクル更新とテストを可能とするものである。 Simply put, the feature of the present invention is that when testing the status of resources in a device, the output of the resource is not immediately input to the test matrix, but by installing a suitable delay latch, the resource is updated and tested every cycle. It is possible.
第6図に本発明の一実施例の構成図を示す。図
に於いて、2はCSDR、3はマイクロ命令によつ
て制御される処理装置のリソース群、4はテスト
マトリクスである。第6図では省略したが、コン
トロールストレツジの構成は第2図と同様であつ
て、複数個のバンクから成るものとしている。し
たがつて、CSDR2の分岐フイールド部Tがテス
トマトリクス4に入力され、その出力によりコン
トロールストレツジから読み出されている複数個
のマイクロ命令のうちから一つを選択し、次サイ
クルのマイクロ命令としてCSDR2に設定する。
以上は従来技術と同様である。 FIG. 6 shows a configuration diagram of an embodiment of the present invention. In the figure, 2 is a CSDR, 3 is a resource group of a processing unit controlled by microinstructions, and 4 is a test matrix. Although omitted in FIG. 6, the configuration of the control storage is the same as that in FIG. 2, and is composed of a plurality of banks. Therefore, the branch field part T of CSDR2 is input to the test matrix 4, and its output selects one of the multiple microinstructions read from the control storage, and selects it as the next cycle's microinstruction. Set to CSDR2.
The above is the same as the conventional technology.
本発明の特徴は、14で示すテスト条件信号線
100のデイレーラツチにある。即ち、第2図と
対応してみるに、第2図ではリソース群3からテ
スト条件信号線群100に出力されるテスト条件
は直接テストマトリクス4に入力されたが、第6
図に於いては、一度デイレーラツチ群14に設定
される。該デイレーラツチ14を設置することに
より、更新したリソースの情報を次の次のサイク
ルルでテストする上に於いて、従来のごとく次サ
イクルでの同一リソースの更新を禁止する必要が
なくなる。 A feature of the present invention is the delay latch on test condition signal line 100, shown at 14. That is, corresponding to FIG. 2, in FIG. 2, the test conditions output from the resource group 3 to the test condition signal line group 100 are directly input to the test matrix 4, but
In the figure, the delay latch group 14 is set once. By installing the delay latch 14, when testing the updated resource information in the next cycle, there is no need to prohibit updating of the same resource in the next cycle as in the past.
上記の模様を第7図にて説明する。第7図に於
いて、X時間帯で更新したリソースは、2つ先の
Z時間帯でテストされ、次のY時間帯でもXで更
新したと同一のリソースが更新されるとする。図
中のE0,E1,E2,はX,Y,Z時間帯を制御す
るマイクロ命令ステツプに対応する。さて、X時
間帯で更新されたリソースの状態は、Y時間帯に
於いてデイレーラツチ14に記憶される。E2サ
イクルの分岐フイールドT部は、このデイレーラ
ツチ14を参照するゆえ、Y時間帯に於いてX時
間帯で更新したと同一のリソースを更新すること
が許容される。また、X時間帯で更新したリソー
スをZ時間帯に連絡する間、1マシンサイクル以
上の時間があるから、分岐条件に対する時間余裕
を充分とることができる。 The above pattern will be explained with reference to FIG. In FIG. 7, it is assumed that a resource updated in X time zone is tested in Z time zone two times ahead, and that the same resource updated in X is also updated in the next Y time zone. E 0 , E 1 , and E 2 in the figure correspond to microinstruction steps that control the X, Y, and Z time periods. Now, the resource status updated in the X time period is stored in the delay latch 14 in the Y time period. Since the branch field T part of the E2 cycle refers to this delay latch 14, it is allowed to update the same resource in the Y time zone as it was updated in the X time zone. Furthermore, since it takes more than one machine cycle to communicate the resources updated in the X time zone to the Z time zone, a sufficient amount of time can be taken for branching conditions.
次に、デイレーラツチ14を設置した場合の考
慮すべき点を述べる。 Next, points to be considered when installing the delay latch 14 will be described.
テスト条件信号線群100のデイレーラツチ1
4は、マイクロ命令の実行サイクルと同期して状
態を変化さなければならない。第7図に於いて、
Y時間帯でのE1マイクロ命令実行直後にZ時間
帯でE2マイクロ命令を直ちに実行できない場合
を想定してみる。この様なことは、例えばE2サ
イクルがストレツジオペランドを必要としたが、
Z時間帯の開始時刻までにオペランドが到着しな
かつた場合等に発生する。この場合、Z時間帯で
E2サイクルのマイクロ命令の実行は実施されな
いゆえ、CSDRの内容をZ時間帯の間に図示のご
とく更新できない。もし更新されたとすると、Z
時間帯以後でE2サイクルのマイクロ命令が許可
された場合に、CSDR内にE2サイクルのマイクロ
命令が存在しないことになる。よつて、CSDRの
更新は、指定サイクルのマイクロ命令の実行が許
容された時間帯でのみ行なう必要がある。 Test conditions Delay latch 1 of signal line group 100
4 must change state in synchronization with the execution cycle of the microinstruction. In Figure 7,
Let us assume that the E2 microinstruction cannot be executed immediately in the Z time period immediately after the E1 microinstruction is executed in the Y time period. Something like this, for example, the E 2 cycle required a stretch operand, but
This occurs when the operand does not arrive by the start time of the Z time zone. In this case, in Z time zone
E Since the execution of the two- cycle microinstruction is not performed, the contents of the CSDR cannot be updated as shown during the Z time period. If it is updated, Z
If an E 2- cycle microinstruction is permitted after the time period, there will be no E 2 -cycle microinstruction in the CSDR. Therefore, it is necessary to update the CSDR only during a time period in which execution of microinstructions in a specified cycle is permitted.
デイレーラツチ14の機能に戻ると、第7図に
てX時間帯のE0サイクルのマイクロ命令による
更新結果が、時間帯Yにてデイレーラツチ14に
取り込まれ、時間帯YのE1サイクルのマイクロ
命令による更新結果が、時間帯Zにてデイレーラ
ツチに取り込まれている。 Returning to the function of the delay latch 14 , in FIG. 7, the update result by the E 0 cycle microinstruction in time zone The update result is loaded into the delay latch in time zone Z.
今、Z時間帯でE2サイクルの実行ができない
場合、第7図を参照するに、E2サイクルの次マ
イクロ命令のCSDRへの設定はZ時間帯より以後
になるが、もしZ時間帯にデイレーラツチ14の
内容が更新されると、Z時間帯以後でE2サイク
ルの次サイクルがCSDRへ格納されるとき、テス
トマトリクスが参照する情報がE0サイクルの結
果でなく、E1サイクルの結果となる。それゆ
え、Z時間帯で行なわれるデイレーラツチ14の
取り込みはE2サイクルが実行可能となつたとき
に行なわれなければならない。また、実行サイク
ルの同期関係はデイレーラツチ14に対してでは
なく、テストマトリクスに対して行なわれても良
い。 Now, if the E2 cycle cannot be executed in the Z time zone, referring to Figure 7, the setting of the next microinstruction in the E2 cycle to CSDR will be after the Z time zone. When the contents of the delay latch 14 are updated, when the next cycle after the E2 cycle is stored in the CSDR after the Z time period, the information referenced by the test matrix will not be the result of the E0 cycle but the result of the E1 cycle. Become. Therefore, the loading of delay latch 14, which takes place during the Z time period, must be done when the E2 cycle is ready to execute. Furthermore, the synchronization of the execution cycles may be performed not with respect to the delay latch 14 but with respect to the test matrix.
本発明を実施するに当つて、分岐条件の一部は
従来のものと変化させる必要がある。例えば、ル
ープを形成するマイクロプログラムにてカウンタ
の値を減算し、カウンタ値が所定の値に達したこ
とをテスト条件で認識してループをぬけだすよう
な場合で、カウンタの更新がループの毎サイクル
行なわれるケースに本発明を実施するには、従来
とはテスト条件が変化する。即ち、カウンタの値
を“1”ずつ減じ、値が“1”になつたときルー
プをぬけだすようなテスト条件が従来実施されて
いたなら、本発明ではカウンタが“2”であるこ
とを以つてループをぬけだけよよう変更しておく
必要がある。これは、テスト条件のデイレーラツ
チを設置したことにより、分岐判定時間にテスト
条件判定時のカウンタの値とそのときのテスト条
件デイレーラツチ内にセツトされたカウンタの値
がずれるためである。 In carrying out the present invention, some branching conditions must be changed from conventional ones. For example, in a case where a microprogram that forms a loop subtracts the value of a counter and exits the loop by recognizing in the test conditions that the counter value has reached a predetermined value, the counter is updated every time the loop is executed. In order to implement the present invention in a case where cycles are performed, test conditions are changed from those of the conventional case. In other words, if the conventional test condition was to reduce the value of the counter by "1" and break out of the loop when the value reached "1", in the present invention, the counter value is "2". It is necessary to change it so that it does not get out of the loop. This is because the provision of the test condition delay latch causes a difference between the counter value at the time of test condition determination and the counter value set in the test condition delay latch at the branch determination time.
ところで、マイクロプログラムを組む上で、テ
スト条件の判別結果が明らかとなるまで、次の動
作を実行できないような個所がある。本発明を実
施すると、リソースの更新があつてからそのリソ
ースの状態をマイクロプログラムでテストするに
は1サイクル分の余分のマイクロ命令を発行する
必要があり、コントロールストレツジの有効利用
の面から好ましくない。先に記した如く、従来は
この様な場合、マイクロ命令の指定により次命令
の実行開始を1サイクル遅らせる方法があつた。 By the way, when assembling a microprogram, there are some points where the next operation cannot be executed until the determination result of the test conditions is clear. When the present invention is implemented, it is necessary to issue an extra microinstruction for one cycle in order to test the state of the resource by a microprogram after the resource is updated, which is preferable from the viewpoint of effective use of control storage. do not have. As mentioned above, in such cases, there has conventionally been a method of delaying the start of execution of the next instruction by one cycle by specifying a microinstruction.
しかしながら、本発明にこの方法を直ちに適用
することはできない。即ち、本発明ではテスト条
件のデイレーラツチまたはテストマトリクスの出
力のいずれか一方は実行サイクルに同期している
必要がある。よつて、従来の手法を適用すると、
次命令のマシンサイクルは遅延するも、デイレー
ラツチあるいはテストマトリクスのマシンサイク
ルの同期化のトリガパルスも遅延してしまうゆ
え、その内容を変化させることとができない。 However, this method cannot be immediately applied to the present invention. That is, in the present invention, either the delay latch of the test condition or the output of the test matrix must be synchronized with the execution cycle. Therefore, applying the conventional method,
Although the machine cycle of the next instruction is delayed, the trigger pulse for synchronizing the delay latch or the machine cycle of the test matrix is also delayed, so that its contents cannot be changed.
以上の点を考慮して、リソース更新直後のマイ
クロ命令でテスト可とする本発明の一実施例を第
8図,第9図を用いて説明する。第8図はマイク
ロ命令の進行を管理する制御ラツチと、本発明に
より導入される2ビツトの制御ラツチを示す。第
9図は第8図の動作を説明するためのタイムチヤ
ートを示す。 In consideration of the above points, an embodiment of the present invention that enables testing using microinstructions immediately after resource update will be described with reference to FIGS. 8 and 9. FIG. 8 shows the control latch that manages the progression of microinstructions and the two-bit control latch introduced by the present invention. FIG. 9 shows a time chart for explaining the operation of FIG. 8.
第8図に於いて、ラツチ(A)105とラツチ(B)1
06はマイクロプログラムの進行を管理する制御
信号を発生するもので、マイクロプログラムの制
御下にあるリソースは全てこれらのラツチ10
5,106が“1”なるとき、その状態を変更す
ることを許可される。通常、動作中は信号線10
1は“1”となり、ラツチ105,106の出力
は“1”となるが、マイクロ命令の実行を停止す
る必要がある場合、信号線101を“0”にする
ことによりラツチ105,106がリセツトされ
る。ラツチ(W)107はマイクロ命令のデコー
デ線の1つである信号線102を入力とし、マイ
クロ命令にて次命令の実行を抑止したい場合に
“1”となる。ラツチ107の出力はラツチ10
6とAND回路108で論理積がとられたのち、
反転回路109を介してラツチ104に入力さ
れ、指定サイクルの次命令の実行を1サイクル遅
延させる。これは従来と同様であり、第9図に於
いて、E1サイクルのマイクロ命令で次サイクル
抑止が指定された場合の様子がこれを示してい
る。 In Figure 8, latch (A) 105 and latch (B) 1
06 generates control signals that manage the progress of the microprogram, and all resources under the control of the microprogram are connected to these latches 10.
When 5,106 becomes "1", it is allowed to change its state. Normally, during operation, signal line 10
1 becomes "1", and the outputs of latches 105 and 106 become "1". However, if it is necessary to stop the execution of the microinstruction, the latches 105 and 106 are reset by setting the signal line 101 to "0". be done. The latch (W) 107 inputs the signal line 102, which is one of the decoding lines for the microinstruction, and becomes "1" when it is desired to suppress the execution of the next instruction in the microinstruction. The output of latch 107 is latch 10
6 and the AND circuit 108, and then
It is input to the latch 104 via the inversion circuit 109, and the execution of the next instruction of the specified cycle is delayed by one cycle. This is the same as in the conventional case, and FIG. 9 shows this when the next cycle inhibition is specified by the E1 cycle microinstruction.
第8図に戻り、110があらたに追加されたラ
ツチ(WD)である。ラツチ110はラツチ10
9とラツチ106の論理積が“1”となつたとき
セツトされ、第9図に示す位相でパルスを発生す
る。ラツチ110の出力はラツチ106とOR回
路111でオアされ、信号線103に導かれる。
信号線103の出力は、第6図のテスト条件デイ
レーラツチ14またはテストマトリクス4の出力
ラツチのトリガ信号として使用される。即ち、信
号線103により、次命令を1サイクル分停止さ
せて、なおかつテストマトリクス4またはテスト
条件デイレーラツチ14の内容だけ1サイクル分
先に更新させることが可能となる。 Returning to FIG. 8, 110 is a newly added latch (WD). Latch 110 is latch 10
9 and latch 106 becomes "1", and a pulse is generated with the phase shown in FIG. The output of latch 110 is ORed by latch 106 and OR circuit 111, and is led to signal line 103.
The output of signal line 103 is used as a trigger signal for test condition delay latch 14 or the output latch of test matrix 4 in FIG. That is, the signal line 103 makes it possible to stop the next instruction for one cycle and update the contents of the test matrix 4 or the test condition delay latch 14 one cycle ahead.
第9図を参照するに、X時間帯で更新されたリ
ソースからの情報は、Y時間帯にてE1サイクル
が実行されるとラツチ(A)105にトリガされてデ
イレーラツチ14にセツトされる。次いで、E1
サイクルのマイクロ命令で次サイクルの実行停止
が指示されると、ラツチ(W)107が“1”と
なり、Z時間帯におけるラツチ105、ラツチ1
06のセツトが抑止される。一方、第6図のテス
ト条件デイレーラツチ14は信号線103を介し
てラツチ(WD)110によりトリガされるか
ら、Y時間帯で更新したリソースの状態をZ時間
帯の間にデイレーラツチ14に反映することがで
きる。Z時間帯以後にE2サイクルのマイクロ命
令が実行される時刻には、デイレーラツチ14の
内容は既にE1サイクルの状態をテストすること
が可能となる。 Referring to FIG. 9, the information from the resource updated in time zone X is triggered by latch (A) 105 and set in delay latch 14 when the E1 cycle is executed in time zone Y. Then E 1
When a cycle's microinstruction instructs to stop the execution of the next cycle, latch (W) 107 becomes "1", and latch 105 and latch 1 in the Z time period
06 is suppressed. On the other hand, since the test condition delay latch 14 in FIG. 6 is triggered by the latch (WD) 110 via the signal line 103, the resource status updated in the Y time period can be reflected in the delay latch 14 during the Z time period. I can do it. By the time the microinstruction of the E2 cycle is executed after the Z time period, the contents of the delay latch 14 are already available to test the state of the E1 cycle.
以上説明した様に、本発明によれば、マイクロ
プログラム制御の処理装置に於いて、マイクロプ
ログラムが更新した装置内リソースの状態を更新
直後のマイクロ命令の分岐フイールドで調べるに
たるマシンサイクル内の時間余裕を取れない状況
に於いても、テスト条件のデイレーラツチを設置
し、テスト条件を次の次のサイクルに接続するこ
とにより、マシンサイクルの低下をひき起すこと
なしにマイクロ命令分岐を可能とし、もつて装置
性能の向上をはかることができる。 As explained above, according to the present invention, in a microprogram-controlled processing device, the time within a machine cycle is sufficient to check the status of an internal resource updated by the microprogram using the branch field of the microinstruction immediately after the update. Even in situations where there is not enough margin, by installing a test condition delay latch and connecting the test condition to the next cycle, microinstruction branches can be made without causing a drop in machine cycles. It is possible to improve the performance of the device.
第1図及び第2図はマイクロプログラム分岐方
式の従来の構成図、第3図はマイクロ命令の制御
を受けるリソースの一例を示す図、第4図及び第
5図は従来のマイクロプログラム分岐方式の動作
を説明するためのタイムチヤートを示す図、第6
図は本発明の一実施例を示す構成図、第7図は第
6図の動作を説明するためのタイムチヤートを示
す図、第8図は本発明によるテスト条件デイレー
ラツチへ印加するトリガ信号作成回路の一実施例
を示す図、第9図は第8図の動作を説明するため
のタイムチヤートを示す図である。
1…コントロールストレツジ、2…マイクロ命
令データレジスタ、3…リソース群、4…テスト
マトリクス、5…コントロールストレツジ・アド
レスレジスタ、14…テスト条件デイレーラツ
チ、100…テスト条件信号線群。
1 and 2 are conventional configuration diagrams of the microprogram branching method, FIG. 3 is a diagram showing an example of resources controlled by microinstructions, and FIGS. 4 and 5 are diagrams of the conventional microprogram branching method. Figure 6 showing a time chart for explaining the operation
7 is a diagram showing a time chart for explaining the operation of FIG. 6, and FIG. 8 is a trigger signal generation circuit for applying to a test condition delay latch according to the present invention. FIG. 9 is a diagram showing a time chart for explaining the operation of FIG. 8. 1... Control storage, 2... Micro instruction data register, 3... Resource group, 4... Test matrix, 5... Control storage/address register, 14... Test condition delay latch, 100... Test condition signal line group.
Claims (1)
リソースの状態をテスト回路の被テスト入力と
し、該テスト回路によりマイクロ命令のテストフ
イールドで指定された被テスト入力を選択し、そ
の状態によつてマイクロプログラムの分岐を行う
かどうか判定するマイクロプログラム分岐方式に
おいて、前記リソースの状態を一時記憶するラツ
チ回路を設け、該ラツチ回路により前記リソース
の状態を一定時間遅延した後、前記テスト回路の
被テスト入力とすることを特徴とするマイクロプ
ログラム分岐方式。 2 特許請求の範囲第1項記載のマイクロプログ
ラム分岐方式において、マイクロ命令の指定によ
り次マイクロ命令の実行を1サイクル遅延させる
とゝもに前記ラツチ回路の更新のみを行い、マイ
クロプログラムの分岐判定にそなえることを特徴
とするマイクロプログラム分岐方式。[Scope of Claims] 1. The state of a resource controlled by a microinstruction in an information processing device is set as an input to be tested in a test circuit, and the test circuit selects an input to be tested specified in a test field of the microinstruction; In a microprogram branching method that determines whether to branch a microprogram based on its state, a latch circuit that temporarily stores the state of the resource is provided, and after the latch circuit delays the state of the resource for a certain period of time, A microprogram branching method characterized by using the input to be tested of a test circuit. 2. In the microprogram branching method according to claim 1, the execution of the next microinstruction is delayed by one cycle according to the designation of the microinstruction, and only the latch circuit is updated, and the microprogram branch decision is made. A microprogram branching method characterized by:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15959678A JPS5585965A (en) | 1978-12-21 | 1978-12-21 | Microprogram branch system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15959678A JPS5585965A (en) | 1978-12-21 | 1978-12-21 | Microprogram branch system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5585965A JPS5585965A (en) | 1980-06-28 |
| JPS6113607B2 true JPS6113607B2 (en) | 1986-04-14 |
Family
ID=15697147
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15959678A Granted JPS5585965A (en) | 1978-12-21 | 1978-12-21 | Microprogram branch system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5585965A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11109528B2 (en) | 2015-12-16 | 2021-09-07 | Vorwerk & Co. Interholding Gmbh | System and method for processing a ground with a mobile robot unit |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61216029A (en) * | 1985-02-22 | 1986-09-25 | Fujitsu Ltd | Control storage branch system |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5342506B2 (en) * | 1973-09-25 | 1978-11-11 |
-
1978
- 1978-12-21 JP JP15959678A patent/JPS5585965A/en active Granted
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11109528B2 (en) | 2015-12-16 | 2021-09-07 | Vorwerk & Co. Interholding Gmbh | System and method for processing a ground with a mobile robot unit |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5585965A (en) | 1980-06-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4390946A (en) | Lookahead addressing in a pipeline computer control store with separate memory segments for single and multiple microcode instruction sequences | |
| US4430706A (en) | Branch prediction apparatus and method for a data processing system | |
| US4524416A (en) | Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system | |
| US4438492A (en) | Interruptable microprogram controller for microcomputer systems | |
| US4507728A (en) | Data processing system for parallel processing of different instructions | |
| US5872987A (en) | Massively parallel computer including auxiliary vector processor | |
| US5293500A (en) | Parallel processing method and apparatus | |
| US4870562A (en) | Microcomputer capable of accessing internal memory at a desired variable access time | |
| KR100635519B1 (en) | Zero overhead computer interrupts with task switching | |
| US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
| US4443848A (en) | Two-level priority circuit | |
| US4310880A (en) | High-speed synchronous computer using pipelined registers and a two-level fixed priority circuit | |
| US4403287A (en) | Microprocessor architecture having internal access means | |
| JPH0139132B2 (en) | ||
| JPH06236267A (en) | Method and system for enhancement of dispatch efficiency of instruction device in superscalar processor system | |
| JPS6134182B2 (en) | ||
| GB2216306A (en) | Load and synchronize computer architecture and process | |
| EP0592404A1 (en) | Apparatus and method for providing a stall cache | |
| US5034879A (en) | Programmable data path width in a programmable unit having plural levels of subinstruction sets | |
| EP0164418B1 (en) | Microprogram control system | |
| US5526500A (en) | System for operand bypassing to allow a one and one-half cycle cache memory access time for sequential load and branch instructions | |
| CA1311308C (en) | Processor-processor synchronization | |
| JPS6113607B2 (en) | ||
| US4975837A (en) | Programmable unit having plural levels of subinstruction sets where a portion of the lower level is embedded in the code stream of the upper level of the subinstruction sets | |
| JP2638613B2 (en) | Programmable accelerator and method thereof |