JPS6310464B2 - - Google Patents

Info

Publication number
JPS6310464B2
JPS6310464B2 JP57228856A JP22885682A JPS6310464B2 JP S6310464 B2 JPS6310464 B2 JP S6310464B2 JP 57228856 A JP57228856 A JP 57228856A JP 22885682 A JP22885682 A JP 22885682A JP S6310464 B2 JPS6310464 B2 JP S6310464B2
Authority
JP
Japan
Prior art keywords
sigp
busy
control
instruction
bit
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
Application number
JP57228856A
Other languages
Japanese (ja)
Other versions
JPS59116876A (en
Inventor
Kazuhiro Hara
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP57228856A priority Critical patent/JPS59116876A/en
Publication of JPS59116876A publication Critical patent/JPS59116876A/en
Publication of JPS6310464B2 publication Critical patent/JPS6310464B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、マルチプロセツサシステムのマイク
ロプログラム計算機間におけるシグナルプロセツ
サ命令(Signal processor 命令、本明細書では
SIGP命令と略記する)の実行制御方式に関し、
特に両マイクロプログラム計算機間でSIGP命令
が競合するときのプライオリテイ制御方式に関す
る。
Detailed Description of the Invention [Technical Field of the Invention] The present invention relates to a signal processor instruction (herein referred to as a signal processor instruction) between microprogram computers of a multiprocessor system.
Regarding the execution control method of the SIGP instruction (abbreviated as SIGP instruction),
In particular, it concerns the priority control method when SIGP instructions conflict between both microprogram computers.

〔技術の背景〕[Technology background]

一般に、マルチプロセツサシステムにおいて
は、計算機間で、相互に相手計算機の始動、停止
その他の制御を行なうための連絡機能として、
SIGP命令が設けられている。SIGP命令は、相手
計算機のアドレスと、制御内容とを含み、計算機
間での連係処理を迅速かつ円滑に進めるための有
効な手段として使用される。
Generally, in a multiprocessor system, the communication function between computers is used to mutually start, stop, and otherwise control the other computer.
A SIGP instruction is provided. The SIGP command includes the address of the other computer and control details, and is used as an effective means for quickly and smoothly coordinating processing between computers.

ところで、2台の計算機からなるマルチプロセ
ツサシステムにおいて、各計算機が、同時に相手
の計算機に対してSIGP命令を実行しようとした
場合、いわゆる競合(コンフリクト)状態が生じ
る。このため予め、各計算機に高,低のプライオ
リテイを与えておき、そのプライオリテイにした
がつた実行順序の制御方法がとられている。しか
し、相手計算機におけるSIGP命令発行の有無の
確認処理と、非競合状態の確認をしてから自計算
機をSIGP命令発行状態にセツトする処理とに、
いずれも無視できない長さの時間がかかることか
ら、たとえば高プライオリテイの計算機が、ある
時点で非競合状態の確認をとつてSIGP命令を実
行しようとしたとき、その時点で低プライオリテ
イの計算機がすでにSIGP命令の実行に入つてい
る場合があり、確実な制御ができず、また無駄な
制御が生じるという問題があつた。
By the way, in a multiprocessor system consisting of two computers, when each computer simultaneously attempts to execute a SIGP instruction to the other computer, a so-called conflict situation occurs. For this reason, a method is used in which high and low priorities are assigned to each computer in advance, and the execution order is controlled according to the priorities. However, the process of checking whether the other computer has issued a SIGP command, and the process of setting the own computer to the SIGP command issuing state after confirming that there is no contention, are
In either case, it takes a non-negligible amount of time, so for example, if a high-priority computer tries to execute a SIGP instruction after checking for a non-race condition, at that point a low-priority computer In some cases, the SIGP instruction has already begun to be executed, making reliable control impossible and causing unnecessary control.

〔発明の目的および構成〕[Object and structure of the invention]

本発明の目的は、2台のマイクロプログラム計
算機が、SIGP命令の実行におけるタイミング位
置にあつても、確実なプライオリテイ制御を可能
にする制御方式を提供することにある。
An object of the present invention is to provide a control method that enables reliable priority control even when two microprogram computers are at timing positions in the execution of a SIGP instruction.

本発明は、そのための構成として、シグナルプ
ロセツサ命令SIGPの実行に関して高および低の
プライオリテイをもつ2台のマイクロプログラム
計算機からなるマルチプロセツサシステムにおい
て、自系の計算機のマイクロプログラムによつて
は書き込みのみ可能で他系の計算機のマイクロプ
ログラムによつては読み取りのみが可能なシグナ
ルプロセツサ命令制御ビツトSIGP BUSYを各系
の制御レジスタ中に設け、両系間でシグナルプロ
セツサ命令SIGPをやりとりする際、高プライオ
リテイの系では、自系の制御ビツトSIGP BUSY
をONにセツトしてから所定の時間後に他系の制
御ビツトSIGP BUSYを読み取り、それがONで
あつた場合には自系の制御ビツトSIGP BUSYを
OFFにリセツトし、そして他系の制御ビツト
SIGP BUSYがOFFであつた場合に限り上記
SIGP命令を実行し、他方、低プライオリテイの
系では、他系の制御ビツトSIGP BUSYを読み取
り、それがOFFであつた場合には自系の制御ビ
ツトSIGP BUSYをONにセツトし、そして他系
の制御ビツトSIGP BUSYがONであつた場合に
限り上記SIGP命令を実行するようにマイクロプ
ログラム制御することを特徴としている。
As a configuration for this purpose, the present invention provides a multiprocessor system consisting of two microprogram computers that have high and low priorities regarding the execution of the signal processor instruction SIGP. The signal processor instruction control bit SIGP BUSY, which can only be written to and read only by the microprogram of the other system's computer, is provided in the control register of each system, and the signal processor instruction SIGP is exchanged between both systems. In this case, in a system with a high priority, the control bit of the own system SIGP BUSY
Reads the control bit SIGP BUSY of the other system after a predetermined time after setting it to ON, and if it is ON, the control bit SIGP BUSY of the own system is read.
Reset to OFF and control bits of other systems
The above applies only when SIGP BUSY is OFF.
On the other hand, the low priority system reads the control bit SIGP BUSY of the other system, and if it is OFF, sets the control bit SIGP BUSY of the own system to ON, and then reads the control bit SIGP BUSY of the other system. The microprogram is controlled so that the SIGP command is executed only when the control bit SIGP BUSY of the controller is ON.

〔発明の実施例〕[Embodiments of the invention]

以下に、本発明を実施例にしたがつて説明す
る。
The present invention will be explained below using examples.

第1図は本発明実施例の構成図である。同図に
おいて、左側の回路は“0”系のマイクロプログ
ラム計算機、そして右側の回路は“1”系のマイ
クロプログラム計算機を示している。またμ0
“0”系のマイクロプログラム、μ1は“1”系の
マイクロプログラム、SVPはサービスプロセツ
サであり、1は“0”系の制御レジスタ、4は
“1”系の制御レジスタである。そして制御レジ
スタ1,4中の制御ビツト2,5はSIGP BUSY
ビツト、3,6はCPU BUSYビツトを表わして
いる。また7,8はそれぞれ自系のマイクロプロ
グラムμ0,μ1からのSIGP BUSYビツト書き込み
信号線、9,10はそれぞれ他系のマイクロプロ
グラムμ1,μ0からのSIGP BUSYビツト読み出し
信号線、11,12はサービスプロセツサSVP
からのCPU BUSYビツト書き込み信号線、1
3,14はそれぞれ自系のマイクロプログラム
μ0,μ1およびSVPからのCPU BUSYビツト読み
出し信号線を表わしている。
FIG. 1 is a block diagram of an embodiment of the present invention. In the figure, the circuit on the left side shows a "0" system microprogram computer, and the circuit on the right side shows a "1" system microprogram computer. Also, μ 0 is a “0” system microprogram, μ 1 is a “1” system microprogram, SVP is a service processor, 1 is a “0” system control register, and 4 is a “1” system control register. It is. And control bits 2 and 5 in control registers 1 and 4 are SIGP BUSY.
Bits 3 and 6 represent the CPU BUSY bit. Further, 7 and 8 are SIGP BUSY bit write signal lines from the microprograms μ 0 and μ 1 of the own system, respectively, 9 and 10 are SIGP BUSY bit read signal lines from the microprograms μ 1 and μ 0 of the other system, respectively, and 11 , 12 is the service processor SVP
CPU BUSY bit write signal line from 1
Reference numerals 3 and 14 represent CPU BUSY bit read signal lines from the own microprograms μ 0 , μ 1 and SVP, respectively.

SIGP BUSYビツト2,5は、2つの計算機の
間で相手に対するSIGP命令が発行される場合の
競合を防止するための中核的な手段として使用さ
れるものであり、またCPU BUSYビツト3,6
は、2つの計算機がSIGP命令をSVPに対して発
行し、SVPに相手計算機の制御を依頼する場合
の競合を防止するための手段として使用されるも
のである。
SIGP BUSY bits 2 and 5 are used as a core means to prevent conflicts between two computers when SIGP instructions are issued to each other, and CPU BUSY bits 3 and 6
is used as a means to prevent conflicts when two computers issue SIGP commands to the SVP and request the SVP to control the other computer.

第2図a,bは、SIGP BUSYビツトを用いて
SIGP命令実行のプライオリテイ制御を行なうた
めの、“0”系および“1”系のマイクロプログ
ラムμ0,μ1のフロー図である。なお、本実施例で
は、“0”系を高プライオリテイに、そして“1”
系を低プライオリテイに割り付けてある。以下、
第2図のフローにしたがつて実施例の動作を説明
する。
Figure 2 a and b show the results using the SIGP BUSY bit.
FIG. 2 is a flow diagram of "0" series and "1" series microprograms μ 0 and μ 1 for priority control of SIGP instruction execution. In addition, in this example, the "0" system is given high priority, and the "1" system is given high priority.
The system has been assigned low priority. below,
The operation of the embodiment will be explained according to the flow shown in FIG.

第2図aにおいて、“0”系の高プライオリテ
イ計算機が、“1”系の低プライオリテイの計算
機に対するSIGP命令を発行したとき、そのマイ
クロプログラムμ0が起動される。まず自系の高プ
ライオリテイ権を行使するため、SIGP BUSYビ
ツト2を無条件で“ON”にセツトし、次に所定
の時間(n+2n′)τだけ時間待ちを行なう。τ
はクロツク周期、nは後述されるμ1の実行時間、
そしてn′は系間でSIGP BUSYビツト読み取り信
号を伝送するために要する時間である。この時間
待ちは、他系のSIGP BUSYビツト5の値が確定
するのを待つためのものである。ここで他系の
SIGP BUSYビツトを読み取り、それが“ON”
であつた場合には、低プライオリテイの他系が
SIGP命令の実行に入つているものと判定し、高
プライオリテイ権を行使せず、自系のSIGP命令
を無効にする。他方、他系SIGP BUSYビツトが
“OFF”であつた場合には、自系のSIGP命令を
そのまま有効として実行させる。
In FIG. 2a, when a "0" system high priority computer issues a SIGP instruction to a "1" system low priority computer, its microprogram μ 0 is activated. First, in order to exercise its own high priority right, it unconditionally sets SIGP BUSY bit 2 to "ON", and then waits for a predetermined time (n+2n')τ. τ
is the clock period, n is the execution time of μ 1 described later,
And n' is the time required to transmit the SIGP BUSY bit read signal between systems. This waiting time is for waiting for the value of SIGP BUSY bit 5 of the other system to be determined. Here, other systems
Read the SIGP BUSY bit and it is “ON”
, the other systems with low priority
It is determined that a SIGP instruction is being executed, and the SIGP instruction of its own system is invalidated without exercising high priority rights. On the other hand, if the other system's SIGP BUSY bit is "OFF", the own system's SIGP command is executed as valid.

第2図bにおいて、“1”系の低プライオリテ
イ計算機が“0”系の高プライオリテイ計算機に
対してSIGP命令を発行したとき、上述した“0”
系の高プライオリテイ計算機の場合のように無条
件で自系のSIGP BUSYビツトを“ON”にセツ
トすることはせず、まず他系の高プライオリテイ
計算機のSIGP BUSYビツトを調べ、それが
“ON”であつた場合には、他系の高プライオリ
テイを認めて自系のSIGP命令を無効にする。し
かし、他系のSIGP BUSYビツトが“OFF”で
あつた場合には、競合なしと判定し、自系の
SIGP命令を有効とし、実行させる。
In Figure 2b, when the low priority computer of the "1" system issues a SIGP command to the high priority computer of the "0" system, the above-mentioned "0"
Instead of unconditionally setting the SIGP BUSY bit of the own system to “ON” as in the case of high priority computers in the system, first check the SIGP BUSY bit of the high priority computer in the other system and check if it is “ON”. ON”, the high priority of other systems is recognized and the SIGP command of the own system is invalidated. However, if the other system's SIGP BUSY bit is “OFF”, it is determined that there is no conflict and the own system's
Enable and execute the SIGP instruction.

第3図乃至第6図は、上述したフローの種々の
動作例をタイミング図に表わしたものであり、
“0”における(n+2n′)τの待ち時間設定によ
り、“0”系のμ0は、常に“1”系のSIGP
BUSYビツトの確定値を読み取ることができる
ことを示している。
FIGS. 3 to 6 are timing diagrams showing various operation examples of the above-mentioned flow.
Due to the waiting time setting of (n+2n')τ in “0”, μ 0 of “0” system is always SIGP of “1” system.
Indicates that the fixed value of the BUSY bit can be read.

第3図は、“0”系のμ0が自系のSIGP BUSY
ビツトを“ON”にセツトしたとき、ほぼ同時に
“1”系のμ1が“0”系のSIGP BUSYビツト
“OFF”信号を受け取つた場合を示す。“1”系
のμ1はnτ時間後にSIGP BUSYビツトを“ON”
にセツトするので、“0”系のμ0が“1”系の
SIGP BUSYビツトの読み取りを行なう(n+
2n′)τ時間後には、“1”系のSIGP BUSYビツ
トは確定している。
Figure 3 shows that μ 0 of the “0” system is SIGP BUSY of the own system.
This shows the case where when the bit is set to "ON", almost simultaneously the "1" system μ1 receives the "0" system SIGP BUSY bit "OFF" signal. “1” system μ 1 turns SIGP BUSY bit “ON” after nτ time
Therefore, μ 0 of the “0” system becomes the “1” system.
Read the SIGP BUSY bit (n+
2n′) After time τ, the “1” SIGP BUSY bit is fixed.

第4図は、“1”系のμ1が、“0”系のSIGP
BUSYビツト“OFF”信号を、第3図の場合よ
りも後のμ0が自系のSIGP BUSYビツトを
“ON”にセツトする直前に受け取つた場合を示
す。この場合は、待ち時間(n+2n′)τの許容
限界にもつとも近い状態であり、μ0は、“1”系
のSIGP BUSYビツトの“ON”確定直後を読み
取ることになる。
Figure 4 shows that μ 1 of the “1” system is SIGP of the “0” system.
The case is shown in which the BUSY bit "OFF" signal is received by μ 0 , which is later than in the case of FIG. 3, immediately before setting its own system's SIGP BUSY bit to "ON". In this case, the state is close to the allowable limit of the waiting time (n+2n')τ, and μ 0 is read immediately after the “1” series SIGP BUSY bit is determined to be “ON”.

第5図は、“0”系のSIGP BUSYビツトが
“ON”になつた直後の信号をμ1が受け取り、自
系のSIGP BUSYビツトを“OFF”のままに確
定した場合を示す。
FIG. 5 shows a case where μ1 receives a signal immediately after the SIGP BUSY bit of the "0" system becomes "ON" and determines that the SIGP BUSY bit of its own system remains "OFF".

第6図は、“0”系のSIGP BUSYビツトが
“ON”にセツトされるかなり前に、μ1がその
“OFF”値を受け取つた場合を示す。
FIG. 6 shows the case where μ1 receives its "OFF" value well before the "0" series SIGP BUSY bit is set to "ON".

次に第1図のCPU BUSYビツト3,6の機能
について説明する。
Next, the functions of CPU BUSY bits 3 and 6 in FIG. 1 will be explained.

各系の計算機が、SIGP命令を用いて、SVPに
処理を依頼した場合、SVPは、その処理を実行
される側の系とは反対の側の系のCPU BUSYビ
ツトをセツトする。他系に対するSIGP命令で
SVPに処理を依頼する場合には、まず第3図の
フローと類似の方法で、マイクロプログラムによ
り自系のCPU BUSYビツトを読み取り、それが
“ON”であれば、そのSIGP命令をBUSYとして
無効にし、SVPには処理を依頼しないようにす
る。
When a computer on each system uses the SIGP instruction to request processing from the SVP, the SVP sets the CPU BUSY bit on the system opposite to the system on which the processing is executed. With SIGP command to other system
When requesting processing to SVP, first read the CPU BUSY bit of the own system using a microprogram using a method similar to the flow shown in Figure 3, and if it is “ON”, disable the SIGP instruction as BUSY. and do not request processing to SVP.

〔発明の効果〕〔Effect of the invention〕

以上述べたように、本発明によれば、マルチプ
ロセツサシステムにおけるシグナルプロセツサ命
令の実行時の競合について確実な制御を行なうこ
とができ、システムの処理効率を向上させること
ができる。
As described above, according to the present invention, contention during execution of signal processor instructions in a multiprocessor system can be reliably controlled, and the processing efficiency of the system can be improved.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明実施例の構成図、第2図a,b
はその制御フロー図、第3図乃至第6図はその動
作例のタイミング図である。 図中、1,4は制御レジスタ、2,5はSIGP
BUSYビツト、3,6はCPU BUSYビツト、μ0
は“0”系のマイクロプログラム、μ1は“1”系
のマイクロプログラム、SVPはサービスプロセ
ツサを表わす。
Fig. 1 is a configuration diagram of an embodiment of the present invention, Fig. 2 a, b
is a control flow diagram thereof, and FIGS. 3 to 6 are timing diagrams of examples of its operation. In the figure, 1 and 4 are control registers, 2 and 5 are SIGP
BUSY bit, 3 and 6 are CPU BUSY bit, μ 0
represents a "0" system microprogram, μ1 represents a "1" system microprogram, and SVP represents a service processor.

Claims (1)

【特許請求の範囲】[Claims] 1 シグナルプロセツサ命令SIGPの実行に関し
て高および低のプライオリテイをもつ2台のマイ
クロプログラム計算機からなるマルチプロセツサ
システムにおいて、自系の計算機のマイクロプロ
グラムによつては書き込みのみ可能で他系の計算
機のマイクロプログラムによつては読み取りのみ
が可能なシグナルプロセツサ命令制御ビツト
SIGP BUSYを各系の制御レジスタ中に設け、両
系間でシグナルプロセツサ命令SIGPをやりとり
する際、高プライオリテイの系では、自系の制御
ビツトSIGP BUSYをONにセツトしてから所定
の時間後に他系の制御ビツトSIGP BUSYを読み
取り、それがONであつた場合には自系の制御ビ
ツトSIGP BUSYをOFFにリセツトし、そして
他系の制御ビツトSIGP BUSYがOFFであつた
場合に限り上記SIGP命令を実行し、他方、低プ
ライオリテイの系では、他系の制御ビツトSIGP
BUSYを読み取り、それがOFFであつた場合に
は自系の制御ビツトSIGP BUSYをONにセツト
し、そして他系の制御ビツトSIGP BUSYがON
であつた場合に限り上記SIGP命令を実行するよ
うにマイクロプログラム制御することを特徴とす
るシグナルプロセツサ命令実行制御方式。
1. In a multiprocessor system consisting of two microprogram computers that have high and low priorities for the execution of the signal processor instruction SIGP, some microprograms in the own computer can only be written to, while other computers can only write to them. Signal processor instruction control bits that can only be read by some microprograms.
SIGP BUSY is provided in the control register of each system, and when the signal processor instruction SIGP is exchanged between both systems, the high priority system sets the control bit SIGP BUSY of its own system to ON and then waits for a predetermined period of time. Afterwards, it reads the control bit SIGP BUSY of the other system, and if it is ON, resets the control bit SIGP BUSY of the own system to OFF, and only if the control bit SIGP BUSY of the other system is OFF, does the above. Execute the SIGP instruction, and on the other hand, in the low priority system, the control bit SIGP of the other system is executed.
Reads BUSY, and if it is OFF, sets the control bit SIGP BUSY of the own system to ON, and then sets the control bit SIGP BUSY of the other system to ON.
A signal processor instruction execution control method characterized by microprogram control so as to execute the above-mentioned SIGP instruction only when the SIGP instruction is
JP57228856A 1982-12-23 1982-12-23 Control system for execution of signal processor instruction in multiprocessor system Granted JPS59116876A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57228856A JPS59116876A (en) 1982-12-23 1982-12-23 Control system for execution of signal processor instruction in multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57228856A JPS59116876A (en) 1982-12-23 1982-12-23 Control system for execution of signal processor instruction in multiprocessor system

Publications (2)

Publication Number Publication Date
JPS59116876A JPS59116876A (en) 1984-07-05
JPS6310464B2 true JPS6310464B2 (en) 1988-03-07

Family

ID=16882947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57228856A Granted JPS59116876A (en) 1982-12-23 1982-12-23 Control system for execution of signal processor instruction in multiprocessor system

Country Status (1)

Country Link
JP (1) JPS59116876A (en)

Also Published As

Publication number Publication date
JPS59116876A (en) 1984-07-05

Similar Documents

Publication Publication Date Title
US4602327A (en) Bus master capable of relinquishing bus on request and retrying bus cycle
JPS60112164A (en) Dynamically alterable interrupt preference circuit
JP3055917B2 (en) Data transfer control device
KR100708096B1 (en) How to adjust the bus system and its execution order
JPH01277928A (en) Printer
US4729090A (en) DMA system employing plural bus request and grant signals for improving bus data transfer speed
JPS62251865A (en) Information processor
JP2006085428A (en) Parallel processing system, interconnection network, node and network control program
CN117851303B (en) A high-speed data transmission method and system for multi-threaded DMA
JPS6310464B2 (en)
JP2000010910A (en) Unit and method for data transfer control and recording medium
JPH0348544B2 (en)
JP2522412B2 (en) Communication method between programmable controller and input / output device
JPH08249269A (en) Method and device for controlling dma transfer
JPS60159958A (en) Data transfer controlling circuit
JPS6336543B2 (en)
JPH06231032A (en) Access control device
JP2554423Y2 (en) Memory controller
JPS6252900B2 (en)
JPS6022383B2 (en) input/output control device
JPS5939766B2 (en) multiplexer channel equipment
JPH0424733B2 (en)
JPH0236971B2 (en)
JPS6174045A (en) Channel control system in multi-processor system
JPS59103150A (en) Microprogram control method