JPH01286071A - Information processor - Google Patents
Information processorInfo
- Publication number
- JPH01286071A JPH01286071A JP11462088A JP11462088A JPH01286071A JP H01286071 A JPH01286071 A JP H01286071A JP 11462088 A JP11462088 A JP 11462088A JP 11462088 A JP11462088 A JP 11462088A JP H01286071 A JPH01286071 A JP H01286071A
- Authority
- JP
- Japan
- Prior art keywords
- processor element
- instruction
- processing
- register
- completion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Multi Processors (AREA)
Abstract
Description
【発明の詳細な説明】
[産業上の利用分野〕
本発明は並列に動作する複数のプロセッサからなる情報
処理装置におけるプロセッサの構成法に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a method of configuring processors in an information processing device comprising a plurality of processors operating in parallel.
従来、複数のプロセッサから構成される情報処理装置で
は、あるプロセッサが他のプロセッサに処理の依頼を行
なった後に処理が正常に終了したか否かを知るためには
、それを知るための命令を実行して検査するようになっ
ていた。この種の装置として関連するものには、例えば
情報処理学会第34回(昭和62年前期)全国大会4B
−5(予稿集347ページから348ページ)において
論じられている装置がある。Conventionally, in an information processing device composed of multiple processors, in order to know whether or not the processing has been completed normally after one processor requests processing to another processor, it is necessary to issue an instruction to know this. I was supposed to run it and check it. Related devices of this type include, for example, the Information Processing Society of Japan's 34th (first half of 1986) National Conference 4B.
There is a device that is discussed in Proceedings of the 2006 Proceedings of the 20th International Conference on 2009-5 (pages 347 to 348 of the proceedings).
上記従来技術では、依頼する処理が正常に終了する可能
性が高く、正常に終了した場合には処理を依頼した側で
特に何もする必要がない場合、例えば、あるプロセッサ
エレメントのローカルメモリの中にある変数に値1を加
えるような場合(この場合、変数に値1を加えた結果変
数がオーバーフローすると異常終了とする)であっても
、情報処理システムとしての信頼性を考慮すると依頼し
た処理が正常に終了したことを知るための命令実行を行
なわなければならない。しかし、この処理は稀にしか発
生しない事象の検出のために毎回行なわなければならな
い処理であり明らかなオーバヘッドになる。In the above conventional technology, there is a high possibility that the requested process will be completed normally, and if it is completed normally, there is no need for the requesting side to do anything, for example, if the requested process is Even in the case where the value 1 is added to a variable located in a variable (in this case, if the variable overflows as a result of adding the value 1 to the variable, the requested processing is terminated abnormally), considering the reliability of the information processing system. An instruction must be executed to know that the process has completed normally. However, this process is a process that must be performed every time to detect an event that occurs only rarely, resulting in obvious overhead.
本発明の目的は、あるプロセッサエレメントから他のプ
ロセッサエレメントに依頼した処理が異常終了したとき
にはそのことを依頼元のプロセッサエレメントにて検出
が可能でありながら、正常終了したときには依頼元のプ
ロセッサエレメントでの命令実行の及ぼすオーバヘッド
を削減することにある。An object of the present invention is to enable the requesting processor element to detect when a process requested from one processor element to another processor element terminates abnormally; The objective is to reduce the overhead caused by the execution of instructions.
上記目的は、複数のプロセッサエレメントからなる情報
処理装置の各プロセッサエレメントに、処理の依頼を行
なうときにプロセッサエレメントの内部状態を保持する
手段と、他から依頼を受けた処理を実行後、該実行が正
常終了であったか異常終了であったかを示す終了コード
を該処理の依頼を行なったプロセッサエレメントに通知
する手段と、該終了コードが正常終了を示すときには消
去回路によって該内部状態を消去し、該終了コードが異
常終了を示すときには命令実行を行なう回路に割込み信
号を送る手段を各プロセッサエレメントに設けることに
よって達成される。The above object is to provide a means for retaining the internal state of each processor element when requesting processing to each processor element of an information processing device consisting of a plurality of processor elements; means for notifying the processor element that requested the processing of a termination code indicating whether the termination was normal or abnormal; and when the termination code indicates normal termination, the internal state is erased by an erase circuit, and the termination is terminated. This is achieved by providing means in each processor element for sending an interrupt signal to the circuitry executing the instruction when the code indicates abnormal termination.
処理を依頼するプロセッサエレメントは、処理の依頼を
行なうときのプロセッサエレメントの内部状態を保持す
る。処理の依頼を受けたプロセッサエレメントは、この
依頼による処理を実行後、実行が正常に終了したか異常
に終了したかを示す終了コードを処理の依頼を行なった
プロセッサエレメントに通知する。この終了コードを受
けたプロセッサエレメントは、この終了コードが正常終
了を示すときには消去回路よって保持されている内部状
態を消去し、終了コードが異常終了を示すときには命令
実行を行なう回路に割込み信号を送るように動作する。The processor element that requests processing maintains its internal state at the time of requesting processing. The processor element that received the processing request executes the processing according to the request, and then notifies the processor element that requested the processing of an end code indicating whether the execution ended normally or abnormally. The processor element that receives this termination code erases the internal state held by the erase circuit when this termination code indicates normal termination, and sends an interrupt signal to the circuit that executes the instruction when the termination code indicates abnormal termination. It works like this.
以上により本発明の目的が達成される。Through the above steps, the object of the present invention is achieved.
以下、本発明の実施例を図によって説明する。 Embodiments of the present invention will be described below with reference to the drawings.
まず1本発明に係る情報処理装置の概要を第1図にて説
明する。第1図において1−1ないし1−nはn台の独
立に動作可能なプロセッサエレメントである。1−1な
いし1− nは全て同じ構成になっている。2は相互結
合網であり、1−1ないし1−nの任意のプロセッサエ
レメントから発せられるメツセージ送信の要求を受け、
メツセージを指定されたプロセッサエレメントへ転送す
る。First, an outline of an information processing apparatus according to the present invention will be explained with reference to FIG. In FIG. 1, 1-1 to 1-n are n independently operable processor elements. 1-1 to 1-n all have the same configuration. 2 is an interconnection network that receives a message transmission request issued from any processor element 1-1 to 1-n;
Forward the message to the specified processor element.
次に、プロセッサエレメント1の構成を第2図にて説明
する。プロセッサエレメント1はフオンノイマン型計算
機であるが1通常の演算命令などの他に、後述の命令を
新設しである。3は受信装置で、ネットワーク2から送
られてくるメツセージを受信する。受信袋!!!3には
受信したメツセージの各フィールドを保持するレジスタ
3−1ないし3−5がある。4はローカルメモリで、プ
ロセッサエレメントが実行するプログラムと、プログラ
ムが使用するデータを保持する。5は送信装置で、送信
装置l!5内のレジスタ5−1ないし5−6に格納され
たメツセージをネットワーク2に送信する。6はレジス
タで、当該プロセッサエレメントの番号が格納されてい
る。7はデコーダ、8と9はN07回路、10と11は
AND回路、12はデコーダである。13と14は1ビ
ツトのレジスタ、15と16はレジスタ群、17は選択
回路、18は汎用レジスタ群である。19は演算を行な
うALU、20は命令フェッチ回路、21はプログラム
カウンタである。22は命令レジスタで。Next, the configuration of the processor element 1 will be explained with reference to FIG. The processor element 1 is a Von-Neumann type computer, and in addition to normal arithmetic instructions, it has new instructions to be described later. 3 is a receiving device that receives messages sent from network 2; Receiving bag! ! ! 3 has registers 3-1 to 3-5 that hold each field of the received message. A local memory 4 holds programs executed by the processor elements and data used by the programs. 5 is a transmitting device, and transmitting device l! The messages stored in registers 5-1 to 5-6 in 5 are transmitted to network 2. 6 is a register in which the number of the processor element concerned is stored. 7 is a decoder, 8 and 9 are N07 circuits, 10 and 11 are AND circuits, and 12 is a decoder. 13 and 14 are 1-bit registers, 15 and 16 are register groups, 17 is a selection circuit, and 18 is a general-purpose register group. 19 is an ALU that performs calculations, 20 is an instruction fetch circuit, and 21 is a program counter. 22 is the instruction register.
命令コードを格納する22−1と、レジスタ番号を格納
する22−2ないし22−5のフィールドに分かれてい
る。23は命令を解読し、命令の実行を制御する命令解
読制御である。24はレジスタで、終了コードを通知す
るためのメッセ′−ジを示す符号が固定的に格納されて
いる。It is divided into fields 22-1 for storing instruction codes and fields 22-2 to 22-5 for storing register numbers. Reference numeral 23 denotes an instruction decoding control that decodes instructions and controls execution of the instructions. 24 is a register in which a code indicating a message for notifying an end code is fixedly stored.
プロセッサエレメントの動作を第2図にて説明する。ま
ず命令フェッチ回路20が線L4.L21を経由してロ
ーカルメモリ4に読み出しアドレスとしてプログラムカ
ウンタ21の内容を転送する。The operation of the processor element will be explained with reference to FIG. First, the instruction fetch circuit 20 connects the line L4. The contents of the program counter 21 are transferred to the local memory 4 as a read address via L21.
するとローカルメモリ4が読み出され、その内容が1L
15を経由して命令レジスタ22にセットされる。命令
解読制御23は、命令レジスタ22にセットされた命令
のうちフィールド22−1に格納された命令コードを解
読し、その命令で指定された動作を実現するための信号
をプロセッサエレメント1の内部に配り、ALU19.
汎用レジスタ群18などを動作させる。命令で指定され
た動作が終了すると、命令解読制御23は線L7よりプ
ログラムカウンタ21の値を更新し、以上の動作を繰り
返すようになっている。Then local memory 4 is read and its contents are 1L.
15 and is set in the instruction register 22. The instruction decoding control 23 decodes the instruction code stored in the field 22-1 of the instruction set in the instruction register 22, and sends a signal to the inside of the processor element 1 to implement the operation specified by the instruction. Hand out, ALU19.
The general-purpose register group 18 and the like are operated. When the operation specified by the instruction is completed, the instruction decoding control 23 updates the value of the program counter 21 via line L7, and repeats the above operation.
ネットワーク2の動作を説明する。ネットワーク2は、
送信装置5内のレジスタ5−1ないし5−6はメツセー
ジがセットされると、5−1の内容で指定されるプロセ
ッサエレメントの受信装置3の中のレジスタ3−1ない
し3−5のそれぞれに5−2ないし5−6の内容を転送
する。送信装置l!5内にセットさ九たメツセージが短
く、5−1ないし5−6の全てを満たさないときには、
メツセージとして必要な部分のみを転送する。The operation of network 2 will be explained. Network 2 is
When a message is set in the registers 5-1 to 5-6 in the transmitting device 5, the registers 3-1 to 3-5 in the receiving device 3 of the processor element specified by the contents of 5-1 are set. Transfer the contents of 5-2 to 5-6. Transmitting device l! If the message set within 5 is short and does not satisfy all of 5-1 or 5-6,
Transfer only the necessary parts of the message.
本発明に係る回路の詳細説明の前に動作の概略を第6図
、第7rMにて説明する。第61!Iはプロセッサエレ
メントiがプロセッサエレメントjに処理を依頼し、プ
ロセッサエレメントjが依頼された処理を実行し、その
処理が正常に終了したときのフローを示している。処理
の依頼を行なうときには、まずプロセッサエレメントi
がROP(Remote 0peration)命令を
実行する。第3図にROP命令のフォーマットを示す。Before explaining the details of the circuit according to the present invention, an outline of the operation will be explained with reference to FIGS. 6 and 7M. 61st! I shows the flow when processor element i requests processing to processor element j, processor element j executes the requested processing, and the processing ends normally. When requesting processing, first processor element i
executes a ROP (Remote 0operation) instruction. FIG. 3 shows the format of the ROP instruction.
第3図中、301は命令コード、3o2は処理依頼先プ
ロセッサエレメントの番号を格納する汎用レジスタ番号
、303は依頼する処理を指定するための指令コードを
格納する汎用レジスタ番号、304は処理依頼先プロセ
ッサエレメントのa−カルメモリ中に置かれたデータの
アドレスを格納する汎用レジスタ番号、305はデータ
を格納する汎用レジスタ番号である。ROP命令は、3
02で指定したプロセッサエレメントのローカルメモリ
の304で指定したアドレスに格納されているデータと
305で指定したデータの間で、303で指定した演算
を実行し、その結果を302で指定したプロセッサエレ
メントの304で指定したアドレスに格納する。303
で指定した汎用レジスタに格納されている値が直接加算
や乗算を示すようになっていてもよいし、この値がサブ
ルーチンのエントリアドレスを示すようになっていても
よい、プロセッサエレメントiがこの命令を実行すると
、プロセッサエレメントは処理依頼先のプロセッサエレ
メントに処理を依頼するためのメツセージを送るととも
に1本発明に係る回路がこの命令を実行したときのプロ
セッサエレメントの内部状態を保持する。ROP命令は
ここで終了し、プロセッサエレメントiは次の命令を実
行することができるようになる。ROP命令によるメツ
セージが宛先のプロセッサエレメントjに到着するとプ
ロセッサエレメントjは依頼された処理を実行し、実行
が正常終了したか否かをメツセージにしてプロセッサエ
レメントiに送信する。第6図の例では正常終了を送信
する。するとプロセッサエレメントiの本発明に係る回
路は先に保持した内部状態を消去する。In FIG. 3, 301 is an instruction code, 3o2 is a general-purpose register number that stores the number of the processor element to which processing is requested, 303 is a general-purpose register number that stores a command code for specifying the requested processing, and 304 is the processing requested destination. A general-purpose register number 305 stores the address of data placed in the a-local memory of the processor element. The ROP instruction is 3
The operation specified in 303 is executed between the data stored at the address specified in 304 of the local memory of the processor element specified in 02 and the data specified in 305, and the result is transferred to the processor element specified in 302. The data is stored at the address specified in step 304. 303
The value stored in the general-purpose register specified by may indicate direct addition or multiplication, or this value may indicate the entry address of a subroutine. When executing this instruction, the processor element sends a message to request processing to the processor element to which the process is requested, and also holds the internal state of the processor element at the time when the circuit according to the present invention executes this instruction. The ROP instruction now ends, and processor element i can now execute the next instruction. When the message from the ROP instruction arrives at the destination processor element j, processor element j executes the requested process and sends a message to processor element i indicating whether or not the execution has been completed normally. In the example of FIG. 6, normal completion is sent. The circuit according to the invention of processor element i then erases the previously held internal state.
第7図はプロセッサエレメントiがプロセッサエレメン
トjに処理を依頼し、プロセッサエレメントjが依頼さ
れた処理を実行し、その処理が異常終了したときのフロ
ーを示している。処理の依頼を行なうまでの実行手順は
第6図の場合と同じである。第7図の例では実行が異常
終了するので、プロセッサニレメン簡はプロセッサエレ
メントiに異常終了であったことをメツセージにして送
信する。するとプロセッサエレメントiの本発明に係る
回路は、プロセッサエレメントiの中で命令処理を実行
する回路に割込みをかける1割込み処理ルーチン内で先
に保持した内部状態を解析することで、どのようなとき
に実行したROP命令で依頼した処理が異常終了したの
かを知ることができる。FIG. 7 shows the flow when processor element i requests processing to processor element j, processor element j executes the requested processing, and the processing ends abnormally. The execution procedure up to the request for processing is the same as in the case of FIG. In the example of FIG. 7, since the execution ends abnormally, the processor element i sends a message to the processor element i indicating that the execution has ended abnormally. Then, the circuit according to the present invention of the processor element i analyzes the internal state previously held within the interrupt handling routine that interrupts the circuit that executes instruction processing in the processor element i, and determines when It is possible to know whether the process requested by the ROP command executed in the previous process ended abnormally.
ROP命令に関係するメツセージのフォーマット説明す
る。第4図は処理を依頼するためのメツセードのフォー
マットを表わしている9図中、311にはメツセージ送
信先のプロセッサエレメントの番号が、312には依頼
する処理の種類を示す指令コードが、313にはローカ
ルメモリのアドレスが、314にはデータが、315に
は保留番号が、316には処理依頼元のプロセッサエレ
メントの番号が格納されている。保留番号については後
述する。第5図は依頼された処理の実行が正常終了した
か異常終了したかを示す終了コードを伝えるためのメツ
セージのフォーマットを表わしている0図中、321に
はメツセージ送信先のプロセッサエレメントの番号が、
322には終了コードを通知するメツセージであること
を示す符号が、323には終了コードが、324には保
留番号が格納されている。322に格納される符号は、
第4図の312に格納される指令コードとは一致するこ
とが無いように選ばれている。The format of messages related to the ROP command will be explained. Figure 4 shows the format of a message for requesting processing. In Figure 9, 311 is the number of the processor element to which the message is sent, 312 is the command code indicating the type of processing to be requested, and 313 is the command code indicating the type of processing requested. 314 stores data, 315 stores a pending number, and 316 stores the number of the processor element that is the processing request source. The hold number will be described later. Figure 5 shows the format of a message for conveying a completion code indicating whether execution of a requested process has ended normally or abnormally. ,
A code indicating that the message is a message notifying an end code is stored in 322, an end code is stored in 323, and a suspension number is stored in 324. The code stored in 322 is
The command code is selected so that it does not coincide with the command code stored in 312 in FIG.
次に、本発明に係る回路の動作を詳細に説明する。まず
、初期化の方法を説明する。初期化では、レジスタ6に
プロセッサエレメントの識別番号をセットし、1ビット
レジスタ13.14の内容を0にする。Next, the operation of the circuit according to the present invention will be explained in detail. First, the initialization method will be explained. In initialization, the identification number of the processor element is set in register 6, and the contents of 1-bit registers 13 and 14 are set to 0.
続いて、メツセージ送信の動作を第2図にて説明する。Next, the message sending operation will be explained with reference to FIG.
命令レジスタのフィールド22−1に格納した命令コー
ドが命令解読制御23に解読され。The instruction code stored in the field 22-1 of the instruction register is decoded by the instruction decoding control 23.
ROP命令であることがわかると、命令解読制御23は
線L23により命令のオペランドを格納した汎用レジス
タの番号を汎用レジスタ群18に伝える。すると、22
−2.22−3.22−4゜22−5で指定される汎用
レジスタの内容が線L5を経由してそれぞれレジスタ5
−1.5−2゜5−3.5−4にセットされる。また、
レジスタ6に格納されているプロセッサエレメント番号
がレジスタ5−6にセットされる。これに並行し、命令
解読制御23は線LIOにより選択回路17に信号を送
る。すると選択回路17は1ビットレジスタ13.14
の内容を入力し、その内容が0の1ビツトレジスタを任
意にひとつ選択する。ここでは1ビツトレジスタ14が
選択されたものとする。すると選択回路17は1ビツト
レジスタに1を書き込むと同時に22−2.22−3.
22−4.22−5で指定される汎用レジスタの内容を
@L9を経由してレジスタ#16に格納させる。When it is determined that the instruction is a ROP instruction, the instruction decoding control 23 transmits the number of the general-purpose register storing the operand of the instruction to the general-purpose register group 18 via line L23. Then, 22
-2.22-3.22-4゜The contents of the general-purpose registers specified by 22-5 are transferred to register 5 via line L5.
-1.5-2°5-3.5-4. Also,
The processor element number stored in register 6 is set in register 5-6. In parallel with this, the instruction decoding control 23 sends a signal to the selection circuit 17 via the line LIO. Then, the selection circuit 17 selects the 1-bit register 13.14.
input the contents of , and arbitrarily select one 1-bit register whose contents are 0. Here, it is assumed that the 1-bit register 14 is selected. Then, the selection circuit 17 writes 1 to the 1-bit register and simultaneously writes 22-2, 22-3.
22-4. Store the contents of the general-purpose register specified in 22-5 in register #16 via @L9.
さらに、このときのプログラムカウンタ21の内容を線
L4.線L9を経由してレジスタ群16に転送する。ま
た、選択回路17は選択した1ビツトレジスタに付され
た番号を1iAL6を経由して5−5にセットする。こ
の番号を保留番号と呼ぶことにする。以上により5−1
ないし5−6に処理依頼のメツセージがセットされるの
で送信装置5はメツセージをネットワーク2に送信する
。ネットワーク2は、第4図の312ないし316の内
容を311の内容で指定したプロセッサエレメントのレ
ジスタ3−1ないし3−5に転送する。なお、すべての
1ビツトレジスタの内容が1のときには以上の動作の開
始は1つ以上の1ビツトレジスタの内容がOになるまで
待たされる。Furthermore, the contents of the program counter 21 at this time are displayed on line L4. It is transferred to the register group 16 via line L9. Further, the selection circuit 17 sets the number assigned to the selected 1-bit register to 5-5 via 1iAL6. This number will be called a hold number. Due to the above, 5-1
Since a processing request message is set in 5-6, the transmitter 5 transmits the message to the network 2. The network 2 transfers the contents of 312 to 316 in FIG. 4 to the registers 3-1 to 3-5 of the processor element designated by the contents of 311. Note that when the contents of all 1-bit registers are 1, the start of the above operation is delayed until the contents of one or more 1-bit registers become O.
ネットワーク2から受信装置!!3に処理依頼のメツセ
ージが到着すると、まず3−1の内容がデコーダ7に入
力され、解読される。デコーダ7は、3−1の内容が終
了コードを通知するメツセージを表わしているときに限
り、線L18.L19に値lを出力するようになってい
る。それゆえ、処理依頼のメツセージが到着したときに
は線L18゜19にはOが出力され、その結果AND回
路10゜11の出力はOになり、AND回路10.11
の出力はいかなる動作も起動しない。一方、NOT回路
8の出力は1になるので、線L12を経由して命令解読
制御23の以下の動作を起動する。まず、線L24にて
ローカルメモリ4のアドレスを指定し、線L14により
汎用レジスタ群18の内容をローカルメモリ4に退避す
る。このとき指定するローカルメモリ4のアドレスには
1例えばスタックポインタ(図示せず)の内容などを用
いてよい、その後、線L3よりレジスタ3−1.3−2
.3−3の内容を汎用レジスタ群18に転送する。また
3−4,3−5の内容をそれぞれレジスタ5−1.5−
4に転送する。また、レジスタ24の内容(終了コード
を通知するメツセージであることを示す符号)を5−2
に転送する。その後、汎用レジスタに転送されたローカ
ルメモリアドレス、データを用いて、指令コードで指定
した演算をALU19にて実行し、正常終了ならば終了
コードとして値0を、異常終了ならば値1を線Li2に
てレジスタ5−3に格納する。これにより第5図のフォ
ーマットを持ち終了コードを通知するためのメツセージ
がレジスタ5−1ないし5−4に作られたことになるの
で、送信装置5はメツセージをネットワーク2に送信す
る。するとネットワーク2は、第5図の322,323
,324を321で指定したプロセッサエレメント、す
なわち処理を依頼したプロセッサエレメントのレジスタ
5−1.5−2.5−3にそれぞれセットする。なお、
これと並行してローカルメモリ4に退避されていた汎用
レジスタ群18の内容が1L14にて回復される。Receiving device from network 2! ! When a message requesting processing arrives at 3, the contents of 3-1 are first input to the decoder 7 and decoded. The decoder 7 detects line L18.3-1 only when the content of line L18.3-1 represents a message notifying an end code. The value l is output to L19. Therefore, when a processing request message arrives, O is output to line L18.19, and as a result, the output of AND circuit 10.11 becomes O, and AND circuit 10.11
The output of does not trigger any action. On the other hand, since the output of the NOT circuit 8 becomes 1, the following operation of the instruction decoding control 23 is activated via the line L12. First, the address of the local memory 4 is specified using the line L24, and the contents of the general-purpose register group 18 are saved to the local memory 4 using the line L14. For the address of the local memory 4 specified at this time, 1, for example, the contents of a stack pointer (not shown) may be used. After that, from the line L3 to the register 3-1.3-2
.. 3-3 is transferred to the general-purpose register group 18. In addition, the contents of 3-4 and 3-5 are stored in registers 5-1 and 5-, respectively.
Transfer to 4. Also, set the contents of register 24 (code indicating that the message is a message notifying an end code) to 5-2.
Transfer to. After that, the ALU 19 executes the operation specified by the command code using the local memory address and data transferred to the general-purpose register, and if it ends normally, the value 0 is set as the end code, and if it ends abnormally, the value 1 is set on the line Li2. The data is stored in register 5-3. As a result, a message having the format shown in FIG. 5 and for notifying the end code is created in the registers 5-1 to 5-4, so the transmitting device 5 transmits the message to the network 2. Then, network 2 becomes 322, 323 in FIG.
, 324 are respectively set in the registers 5-1.5-2.5-3 of the processor element designated by 321, that is, the processor element that requested the processing. In addition,
In parallel with this, the contents of the general-purpose register group 18 that had been saved in the local memory 4 are restored at 1L14.
ネットワーク2から受信装置3に上記の終了コードを通
知するメツセージが到着すると、3−1の内容がデコー
ダ7に入力され解読され、線L18゜Li2に1が出力
される。これによりNOT回路8の出力は0になるので
、NOT回路8からはいかなる動作も起動されない。When a message notifying the above end code arrives from the network 2 to the receiving device 3, the contents of 3-1 are input to the decoder 7 and decoded, and 1 is output on the line L18°Li2. As a result, the output of the NOT circuit 8 becomes 0, so that the NOT circuit 8 does not start any operation.
ここで、3−2の内容がOlすなわち依頼した処理が正
常終了したときには、AND回路11の出力が1になる
。これによりデコーダ12が起動され、3−3に格納さ
れている保留番号で示される1ビツトレジスタにOが格
納される。この場合、先に仮定したように1ビツトレジ
スタ14が選ばれ、この内容がOにされる。Here, when the content of 3-2 is O1, that is, when the requested process is normally completed, the output of the AND circuit 11 becomes 1. As a result, the decoder 12 is activated, and O is stored in the 1-bit register indicated by the pending number stored in 3-3. In this case, as previously assumed, 1-bit register 14 is selected and its contents are set to O.
3−2の内容が1のときには、AND回路10の出力が
1になり、これが線Lllにより命令解読制御23に伝
えられ、命令解読制御23の割込み信号になる。割込み
が発生すると命令解読制御23は汎用レジスタ群18の
内容を先程と同様にローカルメモリ4に退避し、3−1
.3−2.3−3の内容を汎用レジスタ群18に転送の
後、割込み処理プログラムに分岐する0割込み処理プロ
グラムで汎用レジスタ群18に転送された保留番号で示
されるレジスタ群(ここではレジスタ群16)の内容を
線L22より読み出すことによって、異常終了した処理
を依頼したROP命令の命令アドレスとオペランドを知
ることができる1割込み処理終了時には、線L25によ
り3−3で指定される1ビツトレジスタ(ここでは14
)の内容を0にするための信号をデコーダに送るととも
に、ローカルメモリ4に退避した汎用レジスタ群18の
内容を回復する。When the content of 3-2 is 1, the output of the AND circuit 10 becomes 1, which is transmitted to the instruction decoding control 23 via the line Lll and becomes an interrupt signal for the instruction decoding control 23. When an interrupt occurs, the instruction decoding control 23 saves the contents of the general-purpose register group 18 to the local memory 4 as before, and
.. 3-2. After transferring the contents of 3-3 to the general-purpose register group 18, the 0 interrupt processing program branches to the interrupt processing program. By reading the contents of 16) from line L22, you can know the instruction address and operand of the ROP instruction that requested the abnormally terminated processing.At the end of 1 interrupt processing, the 1-bit register specified by 3-3 is (here 14
) is sent to the decoder to set the contents to 0, and at the same time, the contents of the general-purpose register group 18 saved in the local memory 4 are restored.
以上では、プロセッサの内部状態を表わすレジスタ群と
して、レジスタ群15と16の2組を置いたが、この数
がいくつであるかは本発明の本質ではない。レジスタ群
は何装置いても同様に実施できる。In the above, two sets of register groups 15 and 16 are provided as register groups representing the internal state of the processor, but how many there are is not the essence of the present invention. The register group can be implemented in the same way no matter how many devices there are.
本発明によれば、あるプロセッサエレメントから他のプ
ロセッサエレメントに依頼した処理が異常終了したとき
にはそのことを依頼元のプロセッサエレメントの命令列
にて検出が可能でありながら、正常終了したときには依
頼元のプロセッサエレメントでの命令実行に及ぼすオー
バヘッドを削減することができるようになる。According to the present invention, when a process requested from one processor element to another processor element terminates abnormally, it is possible to detect this in the instruction sequence of the requesting processor element; It becomes possible to reduce the overhead exerted on instruction execution in the processor element.
第1図は本発明に係る情報処理装置の全体構成図、第2
図はプロセッサエレメントの構成図、第3図は他のプロ
セッサエレメントに処理を依頼するための命令のフォー
マット、第4図は処理を依頼するために送信するメツセ
ージのフォーマット、第5図は処理が正常終了したか否
かを示す終了コードを通知するメツセージのフォーマッ
ト、第6図にあるプロセッサエレメントが他のプロセッ
サエレメントに処理を依頼し、依頼した処理が正常終了
したときの本発明に係る情報処理装置の処理フロー、第
7図はあるプロセッサエレメントが他のプロセッサエレ
メントに依頼した処理が異常終了したときの本発明に係
る情報処理装置の処理フローを示す図である。
1・・・プロセッサエレメント、2・・・ネツ1−ワー
ク、3・・・受信装置、4・・・ローカルメモリ、5・
・・送信装置、15.16・・・レジスタ、18・・・
汎用レジスタ群、20・・・命令フェッチ回路、23・
・・命令解読制御。
■ 3 図
苓 4 凹
不 5 図
不 b 図
第 7 図FIG. 1 is an overall configuration diagram of an information processing device according to the present invention, and FIG.
The figure shows the configuration of the processor element, Figure 3 shows the format of the command to request processing from another processor element, Figure 4 shows the format of the message sent to request processing, and Figure 5 shows the process is normal. Format of a message that notifies an end code indicating whether or not it has ended, an information processing apparatus according to the present invention when a processor element requests processing to another processor element and the requested processing ends normally, as shown in FIG. FIG. 7 is a diagram showing the processing flow of the information processing apparatus according to the present invention when a process requested by a certain processor element to another processor element terminates abnormally. DESCRIPTION OF SYMBOLS 1... Processor element, 2... Network 1-work, 3... Receiving device, 4... Local memory, 5...
... Transmitting device, 15.16... Register, 18...
General-purpose register group, 20... instruction fetch circuit, 23.
...Instruction decoding control. ■ 3 zurei 4 concave 5 zuo b fig. 7
Claims (1)
処理の依頼を行なうときにプロセッサの内部状態を保持
するための手段と、他から依頼を受けた処理を実行後、
該実行が正常終了であつたか異常終了であつたかを示す
終了コードを該処理の依頼を行なつたプロセッサに通知
する手段と、該終了コードが正常終了を示すときには消
去回路によつて該内部状態を消去し、該終了コードが異
常終了を示すときには命令実行を行なう回路に割込み信
号を送る手段を各プロセッサに有することを特徴とする
情報処理装置。1. In an information processing device consisting of multiple processors,
A means for maintaining the internal state of the processor when requesting processing, and a means for maintaining the internal state of the processor when requesting processing, and after executing processing requested by another.
Means for notifying the processor that requested the process of an end code indicating whether the execution ended normally or abnormally; and when the end code indicates normal end, the internal state is 1. An information processing apparatus characterized in that each processor has means for erasing the code and sending an interrupt signal to a circuit that executes an instruction when the end code indicates abnormal termination.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11462088A JPH01286071A (en) | 1988-05-13 | 1988-05-13 | Information processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11462088A JPH01286071A (en) | 1988-05-13 | 1988-05-13 | Information processor |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01286071A true JPH01286071A (en) | 1989-11-17 |
Family
ID=14642415
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11462088A Pending JPH01286071A (en) | 1988-05-13 | 1988-05-13 | Information processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01286071A (en) |
-
1988
- 1988-05-13 JP JP11462088A patent/JPH01286071A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5341482A (en) | Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions | |
| US4374409A (en) | Method of and system using P and V instructions on semaphores for transferring data among processes in a multiprocessing system | |
| US4316245A (en) | Apparatus and method for semaphore initialization in a multiprocessing computer system for process synchronization | |
| US4395757A (en) | Process synchronization utilizing semaphores | |
| US4394725A (en) | Apparatus and method for transferring information units between processes in a multiprocessing system | |
| US4369494A (en) | Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system | |
| US5742822A (en) | Multithreaded processor which dynamically discriminates a parallel execution and a sequential execution of threads | |
| US6671827B2 (en) | Journaling for parallel hardware threads in multithreaded processor | |
| US4740893A (en) | Method for reducing the time for switching between programs | |
| US4942519A (en) | Coprocessor having a slave processor capable of checking address mapping | |
| US4745547A (en) | Vector processing | |
| JP2644780B2 (en) | Parallel computer with processing request function | |
| EP0087978A2 (en) | Information processing unit | |
| JPH0463430B2 (en) | ||
| KR19990044957A (en) | Methods and apparatus that affect the processing of subsequent instructions in a data processor | |
| RU98113914A (en) | METHOD AND DEVICE FOR PERFORMING MOBILE COMMANDS AND PACKED DATA USING A SINGLE REGISTER FILE | |
| US4833640A (en) | Register bank change including register to register transfer in a data processing system | |
| KR970003321B1 (en) | System using microprocessor address lines coprocessor selection within a multi-coprocessor apparatus | |
| KR980010764A (en) | Interrupt Control, Processor and Calculator System | |
| JPH0332818B2 (en) | ||
| EP0992889A1 (en) | Interrupt processing during iterative instruction execution | |
| JPS645330B2 (en) | ||
| JPH08320795A (en) | Program control system | |
| EP0385136B1 (en) | Microprocessor cooperating with a coprocessor | |
| JPS623361A (en) | Status report system |