JPS6013208B2 - Arithmetic control method for multiprocessing equipment - Google Patents
Arithmetic control method for multiprocessing equipmentInfo
- Publication number
- JPS6013208B2 JPS6013208B2 JP51080905A JP8090576A JPS6013208B2 JP S6013208 B2 JPS6013208 B2 JP S6013208B2 JP 51080905 A JP51080905 A JP 51080905A JP 8090576 A JP8090576 A JP 8090576A JP S6013208 B2 JPS6013208 B2 JP S6013208B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- unit
- arithmetic
- signal line
- stream
- 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)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】
本発明は多重処理装置における演算制御方式に関し、詳
しくは、処理装置を命令ユニット、演算ユニット、記憶
制御ユニットに分け、複数の命令ユニットが他のユニッ
トを共有する資源共有型多重処理装置の共有する演算ユ
ニットの演算制御方式に関するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an arithmetic control method in a multi-processing device, and more particularly, the present invention relates to a method for controlling arithmetic operations in a multiprocessing device, and more specifically, a method for dividing a processing device into an instruction unit, an arithmetic unit, and a storage control unit, and a resource sharing method in which a plurality of instruction units share other units. The present invention relates to an arithmetic control method for arithmetic units shared by a type multiprocessing device.
周知のように、この種の資源共有型多重処理装置におい
ては、複数の命令ユニットは各々主に命令を記憶装置か
ら謙出すと)もに、演算のために必要なデータを用意し
、用意が揃うと演算ユニットへ処理要求を発する。As is well known, in this type of resource-sharing multiprocessing device, each of the plurality of instruction units mainly retrieves instructions from the storage device, and also prepares the data necessary for the operation. When all are completed, a processing request is issued to the arithmetic unit.
この各命令ユニットから発せられた処理要求は、命令選
択器によりその一つが選択され、該当命令ユニットが演
算ユニットと接続される。演算ユニットは、選択された
命令ユニットが用意したデータを用いて所望の演算を行
い、更に、必要があれば自分からデータを要求し、演算
した結果をレジスタあるいは記憶装置へ格納する。とこ
ろで、記憶装置が高速小容量のバッファストレツジと低
速大容量の主記憶装置の2つの階層構造をもっている場
合、データがバッファストレツジにある場合にはその議
出しが早く、演算ユニットの性能と同程度である。One of the processing requests issued from each instruction unit is selected by an instruction selector, and the corresponding instruction unit is connected to an arithmetic unit. The arithmetic unit performs a desired operation using data prepared by the selected instruction unit, requests data itself if necessary, and stores the result of the operation in a register or a storage device. By the way, when a storage device has a two-layered structure of high-speed, small-capacity buffer storage and low-speed, large-capacity main memory, when data is in the buffer storage, it can be retrieved quickly, which improves the performance of the arithmetic unit. It is about the same level.
しかし、バッファストレツジにない場合には主記憶装置
から読み出すために、読み出し‘ま遅くなる。上記命令
ユニットおよび演算ユニットは、データがバッファスト
レッジにあったときによどみなく演算ユニットが動作す
るようになっており、データがバッファストレツジにな
い場合にはデータがくるまで演算ュニタットを遊ばせて
次の処理へ向かわないように制御している。これには、
{1} 演算ユニットのクロックを止める。■ そのサ
イクルの処理を何度もやり直す。等の方法があるが、こ
れは本発明に直接関係がな0いのでこれ以上触れない。
以下、この演算ユニットが処理待ちになる状態をFun
ctionwaitと呼ぶことにする。このF皿cti
onwaitは命令ユニットがデータを読み出したとき
(以下、場合Aと呼ぶ)と演算ユニットがデータを読み
出したとき夕(以下、場合Bと呼ぶ)の両方の場合につ
いておこる。すなわち、F皿ction肌itlま通常
の命令処理では場合Aでおこるが、可変長命令の処理で
は場合Bがおこる。さて、上記Fumtionwait
を少なくすることは演算ユニットの効率を上げることに
なり、従って処理装置全体の性能をあげることになる。However, if it is not in the buffer storage, it is read from the main memory, which slows down the reading process. The above-mentioned instruction unit and arithmetic unit are designed so that when data is in the buffer storage, the arithmetic unit operates without any stagnation, and if the data is not in the buffer storage, the arithmetic unit is idle until the data arrives and the next operation is performed. It is controlled so that it does not proceed to processing. This includes:
{1} Stop the clock of the arithmetic unit. ■ Repeat the process over and over again. There are other methods, but since they are not directly related to the present invention, they will not be discussed further.
Below, the state where this processing unit is waiting for processing is called Fun.
We will call it action wait. This F plate cti
Onwait occurs both when the instruction unit reads data (hereinafter referred to as case A) and when the arithmetic unit reads data (hereinafter referred to as case B). That is, case A occurs in normal instruction processing, but case B occurs in variable length instruction processing. Now, the above Fumtion wait
Reducing the number increases the efficiency of the arithmetic unit, and thus increases the performance of the entire processing device.
特に、多重処理装置の場合、1つの命令ユニットが出し
た処理要求(以後、これを命令ストリームと呼ぶ)がF
uMtionwaitをおこしたとき、或いはおこりそ
うになったときに別の命令ストリームヘスィッチし、そ
の後、データが読み出されてからスイッチ前のストリー
ムの処理を再開させれば、F皿ctionwaitを減
少させ、性能を向上させることができる。しかし、場合
Aは命令の切れ目‘こあたるが、場合Bは、すべての命
令を演算ユニットで1サイクルで処理することが難しい
こともあって、命令の途中にあたる。従って、場合Aで
命令ストリームをスイッチさせることは比較的たやすい
が、場合Bでスイッチさせると途中から命令を再開させ
ることが必要なので、場合Aに比較して難しい。本発明
の目的は、複数の命令ユニットが演算ユニットを共有す
る多重処理装置において、F皿ctionwaitが場
合Aでは勿論のこと湯合Bでおこっても容易に命令スト
リームをスイッチさせることを可能にした演算制御方式
を提供することにある。In particular, in the case of a multiprocessing device, the processing request issued by one instruction unit (hereinafter referred to as an instruction stream) is
If uMtionwait occurs or is about to occur, switch to another instruction stream, and then resume processing of the stream before the switch after the data is read, to reduce the Factionwait. Performance can be improved. However, case A occurs at the end of an instruction, whereas case B occurs in the middle of an instruction, partly because it is difficult to process all instructions in one cycle in an arithmetic unit. Therefore, switching the instruction stream in case A is relatively easy, but switching in case B requires restarting the instruction from the middle, which is more difficult than in case A. An object of the present invention is to make it possible to easily switch the instruction stream even if an F-plate action wait occurs not only in case A but also in case B in a multiprocessing device in which a plurality of instruction units share an arithmetic unit. The objective is to provide an arithmetic control method.
簡単に云えば、上記目的を達成するため本発明は、基本
サイクル単位で保持データの変化するワークレジスタ群
、およびその基本サイクルの状態を定義しているステー
タスレジスタ、制御フリップフロッブ等を命令ユニット
毎に独立させ、その数だけ設けたことである。Simply put, in order to achieve the above object, the present invention provides a group of work registers whose held data changes on a basic cycle basis, a status register that defines the state of the basic cycle, a control flip-flop, etc. for each instruction unit. The reason for this is that they were made independent and established as many as they were.
以下、2つの命令ユニットが演算ユニットを共有する2
重処理装置を例にして本発明の内容を説明する。Below, two instruction units share an arithmetic unit.
The content of the present invention will be explained using a heavy processing equipment as an example.
第1図は本発明の一実施例の概略構成を示したものであ
る。FIG. 1 shows a schematic configuration of an embodiment of the present invention.
図において、1は中央処理装置、2は入出力装置、3は
記憶制御装置、8は主記憶装置であり、中央処理装置1
は命令ユニット4a,4b、命令選択器5、演算制御器
6、演算器7よりなる。また、図では省略したが、記憶
制御装置3はバッファストレツジを具備している。命令
は命令ユニット4aおよび4bによって各々記憶制御装
置3のバッファストレッジから読出されて該命令ユニッ
トに入り、そこで解読され、オペランドを用意するなど
の必要な前処理が施こされた後、演算制御器6、演算器
7で演算され、処理される。この闇、命令選択器5は演
算器7があいたとき命令ユニット4a,4bのどちらか
を選んだり、或いは演算器7がF皿ctionwait
したとき別の命令ユニットヘスイツチしたりする制御を
行なう。演算制御器6は演算器7の動作をマイクロプロ
グラムで制御するためのマイクロプログラム制御装置で
、後述するように命令コードをデコードするデコーダ、
制御論理部、マイクロプログラムを格納する制御記憶装
置などを含んでいる。この演算制御器6は、命令ユニッ
ト4a,4bから命令又はオペランドの読出し要求が出
されると、該当命令又はオペランドが記憶制御装置3の
バッファストレッジにあるかどうか判定し、もしあれば
、該バッファストレッジから議出したデータを命令ユニ
ット4a,4b又は演算器7に転送し、もしなければ、
主記憶装置8へ議出し要求を出して該主記憶装置8から
データを読出し、それを記憶制御装置3経由で命令ユニ
ット4a,4b或いは演算器7へ転送する。第2図に第
1図の演算制御器6、演算器7の詳細な構成例、及び、
これらと命令選択器5との接続関係を示す。In the figure, 1 is a central processing unit, 2 is an input/output device, 3 is a storage control device, 8 is a main storage device, and the central processing unit 1
consists of instruction units 4a and 4b, an instruction selector 5, an arithmetic controller 6, and an arithmetic unit 7. Although not shown in the figure, the storage control device 3 includes a buffer storage. The instructions are read from the buffer storage of the storage controller 3 by the instruction units 4a and 4b and entered into the instruction units, where they are decoded and subjected to necessary preprocessing such as preparing operands, and then sent to the arithmetic controller. 6. Computed and processed by the computing unit 7. In this darkness, the instruction selector 5 selects either instruction unit 4a or 4b when the arithmetic unit 7 is open, or the arithmetic unit 7 selects the F plate action.
When a command is executed, control is performed such as switching to another command unit. The arithmetic controller 6 is a microprogram control device for controlling the operation of the arithmetic unit 7 using a microprogram, and includes a decoder for decoding instruction codes, as will be described later.
It includes a control logic section, a control storage device for storing microprograms, and the like. When a request to read an instruction or an operand is issued from the instruction units 4a, 4b, the arithmetic controller 6 determines whether the corresponding instruction or operand is in the buffer storage of the storage controller 3, and if so, moves the instruction or operand to the buffer storage. The data sent from is transferred to the instruction unit 4a, 4b or the arithmetic unit 7, and if there is no data,
A request is issued to the main storage device 8 to read data from the main storage device 8, and the data is transferred to the instruction units 4a, 4b or the arithmetic unit 7 via the storage control device 3. FIG. 2 shows a detailed configuration example of the arithmetic controller 6 and the arithmetic unit 7 shown in FIG. 1, and
The connection relationship between these and the instruction selector 5 is shown.
図において、演算制御器6はマイク。プログラム実行制
御器10、制御記憶アドレスレジスタ(CMAR))1
1a,1 1b、制御記憶装置(CM)12、制御記
憶データレジス夕(CMDR)13、アドレス加算器1
4などを含み、このうちCMARを命令ユニットの数だ
け多重化構成としたものである。演算器7はオペランド
バツフアレジスタ(OBR)1 5a,1 5b、ワー
クレジスタA(WRA)16a,16b、ワークレジス
タB(WRB)17a,17b、汎用レジスタ群(GR
)1 8a,1 8b、加算器19、ワークレジスタC
(WRC)20、ステータスレジスタ(STR)21a
,21bなどからなり、加算器19、WRC20を除く
各レジスタ類をすべて多重化構成としたものである。1
00a,100bは命令ユニットから演算ユニットへの
要求信号線、101は演算終了を示す信号線、102は
Functionwaitを示す信号線、103は選ん
だ命令ユニットを示す信号線、104は命令ユニットか
ら送られる制御信号線、105は記憶制御装置から送ら
れる制御信号線、106はマイクロプログラムをデコー
ドした出力信号線である。In the figure, the arithmetic controller 6 is a microphone. Program execution controller 10, control storage address register (CMAR)) 1
1a, 1 1b, control memory (CM) 12, control memory data register (CMDR) 13, address adder 1
4, etc., of which CMARs have a multiplexed structure equal to the number of instruction units. The arithmetic unit 7 includes operand buffer registers (OBR) 15a, 15b, work register A (WRA) 16a, 16b, work register B (WRB) 17a, 17b, and general register group (GR
)1 8a, 1 8b, adder 19, work register C
(WRC) 20, status register (STR) 21a
, 21b, etc., and all registers except for the adder 19 and WRC 20 have a multiplexed configuration. 1
00a and 100b are request signal lines from the instruction unit to the arithmetic unit, 101 is a signal line indicating the end of operation, 102 is a signal line indicating Function wait, 103 is a signal line indicating the selected instruction unit, and 104 is sent from the instruction unit. A control signal line 105 is a control signal line sent from the storage control device, and 106 is an output signal line decoding the microprogram.
50a,50bは各命令ユニット4a,4bが演算ユニ
ットへ送る命令オベコード信号線であり、5 1 a,
5 1 bはCMARI 1 a,1 1 bの出力線
、52はCM12の読出しデータ線、53はCMDR1
3の出力線、54はアドレス加算器14の出力線、55
は記憶制御装置3からの謙出しデータ線、56はOBR
1 5a,1 5bの出力線、57はGR18a,18
bの論出しデータ線、58a,58bはWRA16a,
16bの出力線、59a,59bはWRB17a,17
bの出力線、60は加算器19の出力線、61はWRC
20、STR21a,21bの出力線である。50a and 50b are instruction obecode signal lines sent from each instruction unit 4a and 4b to the arithmetic unit;
5 1 b is the output line of CMARI 1 a, 1 1 b, 52 is the read data line of CM12, 53 is CMDR1
3 output line, 54 output line of address adder 14, 55
is the exposed data line from the storage control device 3, and 56 is the OBR.
1 5a, 1 5b output line, 57 is GR18a, 18
The logic data lines 58a and 58b of b are WRA16a,
16b output line, 59a, 59b are WRB17a, 17
b output line, 60 is the output line of adder 19, 61 is WRC
20, output lines of STRs 21a and 21b.
なお、こ)では演算器7の演算回路部は加算器19のみ
から成り立っているとしたが、実際にはシフタ、その他
の論理回路を有しているものである。命令ユニット4a
,4bは記憶制御装置3から命令を論出し、必要な前処
理を終了すると、各々信号線100a,100bを通し
て演算ユニットに処理要求を発し、又、命令のオベコー
ド(実際には該オベコードを修飾したもの)を信号線5
0a,50Mこ出力する。In this case, the arithmetic circuit section of the arithmetic unit 7 is made up of only the adder 19, but in reality it includes a shifter and other logic circuits. Command unit 4a
, 4b issues an instruction from the storage control device 3, and after completing the necessary preprocessing, issues a processing request to the arithmetic unit through the signal lines 100a and 100b, and also outputs the obecode of the instruction (actually, the obecode is modified). signal line 5
Outputs 0a, 50M.
この信号線50a,50bのオベコードは、それぞれ各
命令ユニット対応に設けたCMARI 1 a,1 1
bにセットされる。すなわち、CMARI1a,11
bには命令により異つた値がセットされることになる。
一方、命令選択器5は演算終了を示す信号線101又は
Functionwねitを示す信号線1 02がオン
のとき動作開始のトリガを受け、上記処理要求信号線1
00a,100bのうちの1つを選択し、信号線103
に選択結果を出力する。マイクロプログラム実行制御器
10は記憶制御装置3、命令ユニット4a,4bから信
号線105,104を通して与えられる所望の制御信号
を監視し、その結果、信号線101或いは102をオン
にして、命令の処理が終了したこと、或いはFunct
ionWaitによりマイクロプログラムの動作を一時
中止させたことを命令選択器5に知らせる。又、マイク
ロプログラム実行制御器10は信号線101がオンのと
き、又は信号線102がオンでスイッチしようとする命
令ストリームが命令の切れ目であるとき、命令選択器5
の出力信号線103の状態により、命令ユニット4a,
4bに対応するCMARI1a或いは11bのいずれか
を選択し、CMI2のマイクロプログラムを走行させる
。いま、命令ユニット4aに対応するCMARI1aが
選択されたとする。The obe codes of the signal lines 50a and 50b are CMARI 1 a and 1 1 provided for each instruction unit, respectively.
Set to b. That is, CMARI1a, 11
Different values are set in b depending on the instruction.
On the other hand, the instruction selector 5 receives a trigger to start operation when the signal line 101 indicating the end of operation or the signal line 102 indicating the function is on,
Select one of 00a and 100b and connect the signal line 103
Output the selection results to . The microprogram execution controller 10 monitors desired control signals applied from the storage controller 3 and instruction units 4a and 4b through signal lines 105 and 104, and as a result turns on the signal line 101 or 102 to process the instructions. has ended or Funct
ionWait notifies the instruction selector 5 that the operation of the microprogram has been temporarily stopped. Further, the microprogram execution controller 10 selects the instruction selector 5 when the signal line 101 is on, or when the signal line 102 is on and the instruction stream to be switched is at an instruction break.
Depending on the state of the output signal line 103 of the instruction units 4a,
Select either CMARI1a or 11b corresponding to CMI4b and run the CMARI2 microprogram. Assume now that CMARI 1a corresponding to instruction unit 4a is selected.
この場合、CMARI1aの内容が信号線51aを通し
、CM12の議出しアドレスとして該CM12に与えら
れ、そのときCM12から読出されたマイクロ命令が信
号線52を適してCMDR1 3にセットされる。この
CMDR13にセットされたデータはマイクロプログラ
ム実行制御器10でデコードされ、その結果がデコード
出力線106に現われる。このデコード出力線106に
は、信号線103の状態を受けて命令選択器5が選択し
た命令ストリームを示す情報も含まれている。従って、
いま命令ユニット4aの命令ストリームが選択されてい
るということで、デコード出力線106により、命令ユ
ニット4aに対応するOBR1 5a,WRA1 6a
,WRB17a,GR18a,STR21aが加算器1
9、WRC20及び記憶制御装置3と)もに制御を受け
ることになる。この間、マイクロプログラムが分岐しな
い場合は、CMARI1aの内容がアドレス加算器14
で十1され、それが信号線54を通してCMARI 1
aに再びセットされ、CM12に対する次の読出しアド
レスとなる。マイクロプログラムが分岐する場合は、C
MDR13のデータの一部が分岐アドレスとしてCMA
RI 1 aヘセツトされる。これは命令選択器5が命
令ユニット4aの命令ストリームを選択した場合である
が、命令ユニット4bの命令ストリームが選択された場
合は同様にして、マイクロプログラム実行制御器10の
デコード出力線106により、命令ユニット4Mこ対応
するOBR1 5b,WRA1 6b,WRB1 7b
,GR18b,STR21bが制御を受けることになる
。In this case, the contents of CMARI1a are given to the CM12 as the output address of the CM12 through the signal line 51a, and the microinstructions read from the CM12 at that time are set in the CMDR13 through the signal line 52. The data set in the CMDR 13 is decoded by the microprogram execution controller 10, and the result appears on the decode output line 106. This decode output line 106 also includes information indicating the instruction stream selected by the instruction selector 5 in response to the state of the signal line 103. Therefore,
Since the instruction stream of instruction unit 4a is currently selected, OBR1 5a and WRA1 6a corresponding to instruction unit 4a are determined by decode output line 106.
, WRB17a, GR18a, STR21a are adder 1
9, the WRC 20 and the storage control device 3) are both controlled. During this time, if the microprogram does not branch, the contents of CMARI1a are stored in the address adder 14.
CMARI 1 through the signal line 54
It is set to a again and becomes the next read address for CM12. If the microprogram branches, C
Part of the data in MDR13 is sent to CMA as a branch address.
RI 1a is set. This is the case when the instruction selector 5 selects the instruction stream of the instruction unit 4a, but if the instruction stream of the instruction unit 4b is selected, similarly, the decode output line 106 of the microprogram execution controller 10 Instruction unit 4M corresponds to OBR1 5b, WRA1 6b, WRB1 7b
, GR18b, and STR21b are controlled.
以上、第1図及び第2図における各部の機能及び一般的
動作を説明したが、F皿ctionwaitが発生した
ときの更に詳細な動作は後述する。The functions and general operations of each part in FIGS. 1 and 2 have been described above, and more detailed operations when an F-plate action wait occurs will be described later.
第3図は本発明の1つの特徴となっている命令選択器5
の具体的構成例である。FIG. 3 shows an instruction selector 5 which is one of the features of the present invention.
This is a specific configuration example.
図において、30は2つの処理要求信号線100a,1
00bのうち、どちらか1つを選ぶ選択回路である。こ
の選択回路30の選択出力は演算終了を示す信号線1
01がオンで、F肌ctionwaitを示す信号線1
02がオフのとき有効となり、信号線103に秦る。3
1は信号線103をループとし、信号線102がオンと
すると信号線103の状態を反転せしめる回路である。In the figure, 30 indicates two processing request signal lines 100a, 1
This is a selection circuit that selects one of 00b. The selection output of this selection circuit 30 is the signal line 1 indicating the completion of calculation.
01 is on and signal line 1 indicates F skin action wait.
It becomes valid when 02 is off, and is transmitted to the signal line 103. 3
1 is a circuit that loops the signal line 103 and inverts the state of the signal line 103 when the signal line 102 is turned on.
つまり、この回路31により、FumtionWait
になったとき命令ストリームの切換えが行なわれる。更
に、第3図では、信号線101,102が共にオフのと
きは、選択回路30で以前に選択した信号線103の状
態がそのま)保たれるようになっている。第4図はマイ
クロプログラム実行制御器10の具体的構成例である。In other words, by this circuit 31, the FunctionWait
The instruction stream is switched when . Furthermore, in FIG. 3, when both signal lines 101 and 102 are off, the state of signal line 103 previously selected by selection circuit 30 is maintained. FIG. 4 shows a specific example of the configuration of the microprogram execution controller 10.
33は周知のマイクロプログラムデコーダ、32は周知
のマイクロプログラム監視器である。33 is a well-known microprogram decoder, and 32 is a well-known microprogram monitor.
記憶制御装置3への講出し要求はデコーダ33の出力の
1つとしてセットされる。この講出し要求に対する記憶
制御装置3からの応答は信号線105によって監視され
、目的のデータがバッファストレッジにないことが信号
線105によって判明すると、マイクロプログラム監視
器32により信号線102がオンして、F側ction
waitが指示される。また、デコーダ33の出力は2
つに分岐され、信号線103で示されるストリーム選択
に対応して制御信号線106a又は106bが選択され
、対応するストリーム側のレジスタ類に供給される。な
お、マイクロプログラム監視装置32はデコーダ33よ
り演算終了信号をうけて線101上に演算終了信号を送
出する。この信号は命令選択器5に送られる。次に、F
unctionwaitがおきたときのスイッチ動作を
第5図に従って説明する。図において、実線はデータ信
号、破線は制御信号を示す。まず、信号線101がオン
のとき命令選択器5が動作して、ストリーム選択がおこ
り、信号線103に選択結果が出力される。これにより
命令ユニット4a,4bの一方が選ばれ、信号線50a
又は50bを通してCMARI1a又は11bへ命令の
オベコードがセットされる。第5図では命令ユニット4
aに対応するCMAR1 1aが選ばれる場合を示して
いる。これによりCM12からデータが謙出されてCM
DR1 3にセットされる。CMDR13の内容はマイ
ク。プログラム実行制御器10によりデコードされ、こ
の制御信号により、たとえばWRA16a,WRB17
a、及び加算器19を制御する。次のサイクルで、信号
線106の信号によりOBR15aからWRB17aヘ
データを転送しようとしたとき信号線102がオンし、
F肌ctのonwaitが出たとする。このとき命令選
択器5が再び起動され、別の命令ストリームヘスィッチ
される。これは信号線103の変化によりわかる。この
とき今まで処理していた命令ストリームに対応するCM
ARI1aの内容は保持される。そして別なストリーム
に対応するCMARlibの方がアクティブになる。こ
のとき、もし別なストリーム(スイッチしようとするス
トリーム)が命令処理の途中であったなら当該CMAR
Olibへのあらたなオベコードのセットはないが、も
し命令処理を完了して次の命令処理を必要としていると
きは信号線50bより該CMARlibへあらたなオベ
コードがセットされる。第5図では前者の場合を示した
ので、CMARI1b夕へのセットはない。かくてCM
ARI 1 bによりCM12からマイクロ命令が謙出
され、CMDR13を経てマイクロプログラム制御器1
0でデコードされ、信号線106に制御の信号を出す。
このとき演算に用いるレジスタ類はWRA16b,WR
B17,GR18b,STR21bなどで、それ以前で
用いたレジスタ類とは異なるものである。従って、スイ
ッチする前に用いていたレジスタWRA1 6a,WR
B1 7a,GR1 8a,STR21aにはそのま)
データが保持されているので、次にスイッチされるとき
、容易に処理を再開させることが可能である。以後、同
じようにして処理が続いていくことになる。以上説明し
たように、本発明によれば、
F肌ctionwaitが命令の切れ目でおきたときは
勿論のこと、命令の途中でおきても、命令ストリームの
スイッチを容易に達成することが可能になる。An offer request to the storage control device 3 is set as one of the outputs of the decoder 33. The response from the storage controller 3 to this request is monitored by the signal line 105, and when it is determined by the signal line 105 that the target data is not in the buffer storage, the microprogram monitor 32 turns on the signal line 102. , F side ction
Wait is instructed. Also, the output of the decoder 33 is 2
The control signal line 106a or 106b is selected according to the stream selection indicated by the signal line 103, and is supplied to the registers on the corresponding stream side. The microprogram monitoring device 32 receives a computation end signal from the decoder 33 and sends the computation end signal onto the line 101. This signal is sent to the command selector 5. Next, F
The switch operation when an unction wait occurs will be explained with reference to FIG. In the figure, solid lines indicate data signals, and broken lines indicate control signals. First, when the signal line 101 is on, the instruction selector 5 operates, stream selection occurs, and the selection result is output to the signal line 103. As a result, one of the instruction units 4a and 4b is selected, and the signal line 50a
Alternatively, the instruction obecode is set to CMARI1a or 11b through 50b. In Figure 5, instruction unit 4
A case is shown in which CMAR1 1a corresponding to a is selected. As a result, the data is extracted from CM12 and the CM
DR1 Set to 3. The contents of CMDR13 are microphones. It is decoded by the program execution controller 10, and by this control signal, for example, WRA16a, WRB17
a, and the adder 19. In the next cycle, when attempting to transfer data from the OBR 15a to the WRB 17a by the signal on the signal line 106, the signal line 102 turns on.
Suppose that F skin CT onwait appears. At this time, the instruction selector 5 is activated again and switched to another instruction stream. This can be seen from the change in signal line 103. At this time, the CM corresponding to the instruction stream that has been processed so far
The contents of ARI1a are retained. Then, CMARlib corresponding to another stream becomes active. At this time, if another stream (the stream to be switched) is in the middle of instruction processing, the corresponding CMAR
A new obecode is not set to Olib, but if instruction processing is completed and the next instruction processing is required, a new obecode is set to CMARlib from the signal line 50b. Since FIG. 5 shows the former case, there is no setting to CMARI1b. Thus the commercial
Microinstructions are extracted from CM12 by ARI 1b, and sent to microprogram controller 1 via CMDR13.
It is decoded as 0 and outputs a control signal to the signal line 106.
The registers used for calculation at this time are WRA16b and WR.
B17, GR18b, STR21b, etc., which are different from the registers used before. Therefore, the registers WRA1 6a, WR used before switching
B1 7a, GR1 8a, STR21a as is)
Since the data is retained, processing can be easily restarted the next time it is switched. Thereafter, processing will continue in the same manner. As explained above, according to the present invention, it is possible to easily switch the instruction stream not only when Factionwait occurs at the end of an instruction, but also when it occurs in the middle of an instruction. .
例えば目的のデータがバッファストレッジになくて主記
憶装置から読み出すためにおこるF肌ctionWai
tは通常8サイクル以上続くので、この間、別の命令ス
トリームヘスイツチすることは演算ユニットの稼動効率
を高めることに効果がある。For example, F-sactionWai occurs when the target data is not in the buffer storage and is read from the main memory.
Since t usually lasts eight cycles or more, switching to another instruction stream during this period is effective in increasing the operating efficiency of the arithmetic unit.
第1図は本発明を実施した多重処理装置の概略構成図、
第2図は第1図における演算ユニットの具体的構成図、
第3図は第2図における命令選択器の具体的構成図、第
4図は第2図におけるマイクロプログラム実行制御器の
具体的構成図、第5図は本発明によるストリームスィッ
チ動作を説明するためのタイムチャートである。
4a,4b・…・・命令ユニット、5・・…・命令選択
器、6・・・・・・演算制御器、7・・・・・・演算器
、10・・・・・・マイクロプログラム実行制御器、1
1a,11b・・・・・・CMアドレスレジスタ、12
…・・・制御記憶菱層(CM)、13・・…・CMデー
タレジスタ、14・・・・・・アドレス加算器、15a
,15b,16a,16b,17a,17b,18a,
18b,20,21a,21b……レジス夕類、19…
…加算器。
第1図
第3図
第2図
・第 4図
第5図FIG. 1 is a schematic configuration diagram of a multiprocessing device implementing the present invention;
FIG. 2 is a specific configuration diagram of the arithmetic unit in FIG. 1,
3 is a specific configuration diagram of the instruction selector in FIG. 2, FIG. 4 is a specific configuration diagram of the microprogram execution controller in FIG. 2, and FIG. 5 is for explaining the stream switch operation according to the present invention. This is a time chart. 4a, 4b...Instruction unit, 5...Instruction selector, 6... Arithmetic controller, 7... Arithmetic unit, 10... Microprogram execution Controller, 1
1a, 11b...CM address register, 12
...Control memory layer (CM), 13...CM data register, 14...Address adder, 15a
, 15b, 16a, 16b, 17a, 17b, 18a,
18b, 20, 21a, 21b...Regis evening, 19...
...Adder. Figure 1 Figure 3 Figure 2/Figure 4 Figure 5
Claims (1)
共有型多重処理装置において、前記演算ユニツト内の基
本サイクル単位で保持データの変化するレジスタ類を前
記命令ユニツトの数だけ多重化して配置し、前記演算ユ
ニツトに処理待ちを生じたとき、前記基本サイクル単位
で命令のストリームを切換え、新しく選択したストリー
ムに対応する命令ユニツトのレジスタ類を活性化し、前
のストリームに対応する命令ユニツトのレジスタ類のデ
ータはそのまゝ保持しておくことを特徴とする多重処理
装置の演算制御方式。1. In a resource sharing type multiprocessing device in which a plurality of instruction units share an arithmetic unit, registers whose held data changes in units of basic cycles in the arithmetic unit are multiplexed and arranged by the number of the instruction units, and the arithmetic When a processing wait occurs in a unit, the instruction stream is switched in the basic cycle unit, the registers of the instruction unit corresponding to the newly selected stream are activated, and the data in the registers of the instruction unit corresponding to the previous stream is An arithmetic control method for a multiprocessing device that is characterized in that it is maintained as is.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP51080905A JPS6013208B2 (en) | 1976-07-09 | 1976-07-09 | Arithmetic control method for multiprocessing equipment |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP51080905A JPS6013208B2 (en) | 1976-07-09 | 1976-07-09 | Arithmetic control method for multiprocessing equipment |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS537149A JPS537149A (en) | 1978-01-23 |
| JPS6013208B2 true JPS6013208B2 (en) | 1985-04-05 |
Family
ID=13731379
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP51080905A Expired JPS6013208B2 (en) | 1976-07-09 | 1976-07-09 | Arithmetic control method for multiprocessing equipment |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6013208B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5925763Y2 (en) * | 1978-01-23 | 1984-07-27 | 日新電機株式会社 | Cubicle |
| JPS54154514A (en) * | 1978-05-23 | 1979-12-05 | Yokohama Yushi Kougiyou Kk | Production of finely divided coating substance having llascorbic acid or salt thereof as nucleus |
| JPS597685B2 (en) * | 1978-10-06 | 1984-02-20 | 理研ビタミン株式会社 | Method for manufacturing vitamin preparations |
-
1976
- 1976-07-09 JP JP51080905A patent/JPS6013208B2/en not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| JPS537149A (en) | 1978-01-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2519226B2 (en) | Processor | |
| CN100454280C (en) | Processor system, DMA control circuit, DMA control method, control method for DMA controller, graphics processing method and graphics processing circuit | |
| JPH0766365B2 (en) | Co-processor control system | |
| US20180267829A1 (en) | Method for configuring an it system, corresponding computer program and it system | |
| CN1963802A (en) | Semiconductor device | |
| JPS6013208B2 (en) | Arithmetic control method for multiprocessing equipment | |
| JPH03233630A (en) | Information processor | |
| JPS5824954A (en) | Address controlling system | |
| US12131156B1 (en) | Manycore system for performing execution of multi-threads in asynchronous manner | |
| JPH06103460B2 (en) | Program transfer method | |
| JPH0484335A (en) | Virtual computer controlling system | |
| JP4560705B2 (en) | Method for controlling data processing apparatus | |
| JP3630904B2 (en) | Calculation execution method and calculation execution apparatus | |
| KR102623397B1 (en) | Manycore system | |
| JPH0150936B2 (en) | ||
| JPS6236581B2 (en) | ||
| JPS6122818B2 (en) | ||
| JP3493768B2 (en) | Data processing device | |
| JPS6226487B2 (en) | ||
| JPH0241770B2 (en) | ||
| JP2510173B2 (en) | Array Processor | |
| JPH0317135B2 (en) | ||
| JPH06175989A (en) | Multiprocessor | |
| JPS62147545A (en) | Transfer command processing method in information processing equipment | |
| JPH05197743A (en) | Vector processor |