JPS5835294B2 - Multiprocessor processing method - Google Patents
Multiprocessor processing methodInfo
- Publication number
- JPS5835294B2 JPS5835294B2 JP55013281A JP1328180A JPS5835294B2 JP S5835294 B2 JPS5835294 B2 JP S5835294B2 JP 55013281 A JP55013281 A JP 55013281A JP 1328180 A JP1328180 A JP 1328180A JP S5835294 B2 JPS5835294 B2 JP S5835294B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- processors
- bus
- processing request
- register
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/065—Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/06—Indexing scheme relating to groups G06F5/06 - G06F5/16
- G06F2205/067—Bidirectional FIFO, i.e. system allowing data transfer in two directions
Description
【発明の詳細な説明】
本発明のマルチプロセッサ処理方式に関し、特に、マイ
クロコンピュータ等のプロセッサを複数個使用して1つ
の処理装置を実現するときの各プロセッサ間の情報伝達
をプログラム負荷を増大させることなく行なえるように
したマルチプロセッサ処理方式に関する。DETAILED DESCRIPTION OF THE INVENTION Regarding the multiprocessor processing method of the present invention, in particular, when a plurality of processors such as microcomputers are used to realize one processing device, information transmission between each processor increases the program load. This paper relates to a multiprocessor processing method that allows processing to be performed without any problems.
マイクロコンピュータ等のプロセッサを使用して処理装
置を実現する場合1個のプロセッサのみでは必要とする
能力が得られず、2個以上のプロセッサをマルチ接続し
て処理の分散を行うことはしばしば行われている。When realizing a processing device using a processor such as a microcomputer, it is not possible to obtain the required capacity with just one processor, and it is often done to distribute the processing by connecting two or more processors in multiple ways. ing.
これらのプロセッサが処理を分担し、各々独立に動作し
ている場合これらのプロセッサ間相互の処理要求が必然
的に発生する。When these processors share processing and operate independently, mutual processing requests inevitably occur between these processors.
本発明はこのプロセッサ間相互の処理要求の伝達方式に
関するものである。The present invention relates to a method for transmitting processing requests between processors.
ここでは説明を簡略化するため2個のプロセッサを仮定
して説明する。Here, in order to simplify the explanation, two processors will be assumed.
第1図に2個のプロセッサを使用した処理装置における
プロセッサ間の処理要求伝達回路の1例を示す。FIG. 1 shows an example of a processing request transmission circuit between processors in a processing device using two processors.
PA及びPBは各々マイクロコンピュータ等のプロセッ
サ、MEM−AおよびMEM−Bはプログラムを格納す
るメモリ、IR,DRI〜nはプログラム制御レジスタ
、INTCは割込制御回路である。PA and PB are processors such as microcomputers, MEM-A and MEM-B are memories for storing programs, IR and DRI-n are program control registers, and INTC is an interrupt control circuit.
又BUS−A、BUS−BはPA又はPBとメモリ、レ
ジスタ回路を接続するためのシステムバスでありアドレ
スバス、データバス及びその他の制御信号よりなる。BUS-A and BUS-B are system buses for connecting PA or PB with memory and register circuits, and are composed of an address bus, a data bus, and other control signals.
A□ −A nはBUS−Aにおけるレジスタアドレス
、B 6 ” B nはBUS−Bにおけるレジスタア
ドレスである。A□-A n is a register address in BUS-A, and B 6 "B n is a register address in BUS-B.
PA及びPBはそれぞれのシステムバスを介してメモリ
よりプログラムを読出し、その命令に基いて独立に処理
を行う。PA and PB read programs from memory via their respective system buses and independently process them based on the instructions.
このときPAよりPBに対してプロセッサ間の処理要求
が発生した場合を仮定し、第1図により従来の方式を説
明する。The conventional system will be explained with reference to FIG. 1, assuming that the PA issues an inter-processor processing request to the PB.
PAにおいてPHに対する処理要求が発生した場合、レ
ジスタIRに処理要求要因を書込み、本要因に伴ってP
Bfこおいてその処理に必要なデータをPAはレジスタ
DR1〜nのうちいずれか1個又は複数個に書込む。When a processing request for PH occurs in PA, the processing request factor is written to register IR, and P
At Bf, PA writes data necessary for the processing to one or more of registers DR1 to n.
又レジスタIRにPAより処理要因を書込まれたことに
より割込制御回路1NTcはPBに対し割込みIBを発
生する。Further, the interrupt control circuit 1NTc generates an interrupt IB to PB due to the processing factor written by PA to the register IR.
一方、PBではiBを検出したことによりIRを読込み
、その処理要求を判別後、必要に応じてDRl、nのい
ずれかの読込みを行いその処理を実行する。On the other hand, the PB reads the IR upon detecting the iB, and after determining the processing request, reads either DRl or n as necessary and executes the processing.
PBFこおいて、本処理終了後IRをクリアすれば、P
AはPBに対する次の処理要求が発生した場合、IRが
クリアされている事を確認後、再びIR及びDR1〜n
へ書込むことができる。If you use PBF and clear IR after this process, P
When the next processing request to PB occurs, A confirms that the IR has been cleared and then returns the IR and DR1 to n.
can be written to.
上記処理はPBからPAに対して処理要求が発生した場
合も同様で、第1図に示さないが、同等の回路を必要と
する。The above processing is the same when a processing request is issued from PB to PA, and requires an equivalent circuit, although not shown in FIG.
しかし、以上に述べた方式での欠点はiR及びDR1〜
nのように多くのレジスタを必要とし、又プログラム制
御であるため、各々のレジスタにアドレスを割当てるこ
とが必要であることである。However, the drawbacks of the method described above are iR and DR1~
It requires as many registers as n, and since it is program controlled, it is necessary to allocate an address to each register.
従ってPA側及びPB側のハードウェアの増大を招くと
共に、例えばPAよりPBに処理要求を行うときにPA
側プログラムは多くのアドレス(A。This results in an increase in hardware on the PA and PB sides, and, for example, when a processing request is made from the PA to the PB, the PA
The side program has many addresses (A.
〜An)を処理要求内容によってアクセスする必要があ
り、又PB側側口ログラム同様でプログラム上の負荷も
大きい。~An) needs to be accessed depending on the processing request contents, and, like the PB side program, the load on the program is also large.
又、先に述べた如く、PAより次の処理要求をPBに発
生する場合、IRがクリアされていることの確認等の処
理を必要とし、さらにクリアされていない場合、PAは
クリアされるまで待つことになり処理能力の低下を招く
。Also, as mentioned earlier, when the PA issues the next processing request to the PB, it is necessary to confirm that the IR has been cleared, and if the IR has not been cleared, the PA will wait until it is cleared. Waiting results in a decrease in processing capacity.
本発明は上記従来方式の欠点を解消することを目的とし
、そのため本発明は複数のそれぞれ独立して動作するプ
ロセッサにより構成される処理装置において、上記プロ
セッサ間にあらかじめ定義された固定長のデータ形式で
データを蓄積するファーストイン・ファーストアウト・
レジスタ群をもうけ、上記プロセッサ相互間の処理要求
を上記ファーストイン・ファーストアウト・レジスタ群
に蓄積し、一方のプロセッサから他方のプロセッサへ処
理要求を伝達することを特徴とする。An object of the present invention is to eliminate the drawbacks of the above-mentioned conventional methods, and for this purpose, the present invention provides a processing device comprising a plurality of independently operating processors, in which a predefined fixed-length data format is established between the processors. First-in, first-out, accumulating data with
A register group is provided, processing requests between the processors are accumulated in the first-in first-out register group, and processing requests are transmitted from one processor to the other processor.
以下、本発明を図面により説明する。Hereinafter, the present invention will be explained with reference to the drawings.
第2図は本発明tこよる実施例のマルチプロセッサシス
テムのブロック図であり、図中、第1図と同一名のもの
は同一物、FiFo−1はファーストイン・ファースト
アウト形式のレジスタ群でありPAより書込みPBより
読出すもの、FIFo−2は同様(こファーストイン・
ファーストアウトのレジスタ群でありPBより書込みP
Aより読出すものである。FIG. 2 is a block diagram of a multiprocessor system according to an embodiment of the present invention. In the figure, the same names as those in FIG. Writes from PA and reads from PB, FIFo-2 is the same (this first-in
It is a first-out register group and is written from PB to P.
It is read from A.
また、AOはBUS−Aにおけるレジスタアドレス、B
oはBUS−Bにおけるレジスタアドレスである。Also, AO is the register address in BUS-A, B
o is a register address in BUS-B.
第1図の場合の説明と同様に、PAよりPBに対し処理
要求を行う場合について説明すると、PAのプログラム
は処理要求が発生すると、処理要求要因を示すバイトi
及びそれtこ伴うデータD1〜Dnを連続して同一のア
ドレス(Ao)に対して書込む。Similar to the explanation in the case of Fig. 1, to explain the case where a processing request is made from PA to PB, when a processing request occurs, the PA program sends a byte i indicating the cause of the processing request.
and the accompanying data D1 to Dn are successively written to the same address (Ao).
FIFo−1は第3図に示す如くレジスタ群によって構
成されており、PAよりBUB−Aを介して書込まれた
内容を直ちにBUS−B側ヘシフトする。FIFo-1 is composed of a group of registers as shown in FIG. 3, and immediately shifts the contents written from PA via BUB-A to BUS-B.
従って、PAよりバイトi及びそれに伴うデータD1〜
Dnが連続して書込まれるとこれらは最もBUS−B側
のレジスタR8−R,nに蓄積されることEこなる。Therefore, from PA byte i and accompanying data D1~
When Dn are written in succession, they are stored in the register R8-R,n closest to BUS-B.
又このときレジスタR8に情報が格納されるとBUS−
Bを介してレジスタR8の内容の読込みが可能となり、
かつ本状態をINTCが検出するよう回路が構成されて
おり1NTCはPBに対して割込みIBを発生する。Also, at this time, when information is stored in register R8, BUS-
It becomes possible to read the contents of register R8 via B,
The circuit is configured so that INTC detects this state, and 1NTC generates an interrupt IB to PB.
PBは割込みIBを検出すると、連続して同一アドレス
(BO)をn + 1回読込むこと(こより、バイトi
及びデータD1〜Dnを読込むことができる。When PB detects interrupt IB, it reads the same address (BO) n + 1 times in succession (thereby, byte i
and data D1 to Dn can be read.
これは、FiFoは第2図においてレジスタR6がPB
fこより読込まれると、直ちにレジスタR8−Rnの内
容をBUS−B側ヘシフトするように構成されているた
めである。This means that the FiFo register R6 is PB in Figure 2.
This is because the contents of registers R8 to Rn are immediately shifted to the BUS-B side when read from f.
以上により、次の処理要求がPAFこおいて発生してい
ない場合、PBがn + 1回FIFo−1を読込めば
蓄積された情報はなくなり割込IBは解消される。As described above, if the next processing request is not generated in the PAF, the stored information disappears and the interrupt IB is canceled after the PB reads FIFo-1 n + 1 times.
又、PBが上述のnバイトを読込み終了以前に次の処理
要求がPAにおいて発生した場合、PAは直ちに先に述
べたと同様にしてFIFo−1に蓄積さ、札順次BUS
−B側ヘシフトされる。In addition, if the next processing request occurs in PA before PB finishes reading the above n bytes, PA immediately stores it in FIFo-1 in the same way as described above, and sends it to BUS in card order.
- Shifted to the B side.
このようにしてFIFolにはP個の処理要求を蓄積す
ることができ、FAは第1図の方式の場合のように待た
されることはない。In this way, P processing requests can be stored in FIFol, and the FA is not forced to wait as in the system of FIG.
第2図及び第3図(こおいて、1個の処理要求における
PAからPBへの転送を固定長(第3図ではn + 1
バイト)とすることにより、処理要求内容に拘らず、P
Bは1個の処理要求につきFIF。Figures 2 and 3 (here, the transfer from PA to PB in one processing request is fixed length (n + 1 in Figure 3)
Byte), regardless of the processing request contents, P
B is FIF per processing request.
−1より常に同じ回数だけ読込みを行えばよく、プログ
ラムの処理はさらに簡略化される。-1, it is sufficient to always read the same number of times, and the program processing is further simplified.
以上はPAからPBへ処理要求を行う場合について述べ
たが、逆の場合も、FIFo−2を使用する以外間等で
ある。The above has described the case where a processing request is made from PA to PB, but the reverse case is also applicable except when FIFo-2 is used.
本発明による処理方式は、第1図で述べた従来方式と比
較し、プログラム制御レジスタのアドレスは極めて少な
くてすみ、又FiFoは市販のLSIを使用できるため
、ハードウェア量が少なくかつプログラム負荷も軽減す
る。Compared to the conventional method described in FIG. 1, the processing method according to the present invention requires an extremely small number of program control register addresses, and because FiFo can use a commercially available LSI, the amount of hardware is small and the program load is low. Reduce.
さらに、処理要求の転送のためにPA又はPBで待ちが
生じることがなく、又転送単位を固定長にすることによ
り処理能力の向上を計ることができる。Furthermore, there is no waiting time at PA or PB for transfer of processing requests, and by making the transfer unit a fixed length, it is possible to improve processing performance.
第1図はプロセッサ間処理要求伝達回路の従来例、第2
図は本発明による実施例のマルチプロセッサシステムの
ブロック図、第3図は第2図図示のファーストイン・フ
ァーストアウト・レジスタ群の構成例である。
第2図において、PAとPBはプロセッサ、BUS−A
とBUS−Bはシステムバス、MEM−AとMEM−B
はメモリ、FiFo−1とFiFo −2はファースト
イン・ファストアウト・レジスタ群、1NTCは割込制
御回路である。Figure 1 shows a conventional example of an inter-processor processing request transmission circuit;
The figure is a block diagram of a multiprocessor system according to an embodiment of the present invention, and FIG. 3 is an example of the configuration of the first-in first-out register group shown in FIG. In Figure 2, PA and PB are processors, BUS-A
and BUS-B are system buses, MEM-A and MEM-B
is a memory, FiFo-1 and FiFo-2 are first-in/fast-out register groups, and 1NTC is an interrupt control circuit.
Claims (1)
構成される処理装置において、上記プロセッサ間にあら
かじめ定義された固定長のデータ形式の命令を蓄積し、
上記固定長命令を命令単位に順次シフトするファースト
イン・ファーストアウト・レジスタ群をもうけ、上記プ
ロセッサ相互間の処理要求を上記ファーストイン・ファ
ーストアウト・レジスタ群に蓄積し、一方のプロセッサ
から他方のプロセッサへ処理要求を割込みにより伝達す
ることを特徴とするマルチプロセッサ処理方式。1. In a processing device composed of a plurality of independently operating processors, instructions in a predefined fixed length data format are stored between the processors,
A first-in/first-out register group is provided to sequentially shift the fixed length instructions in instruction units, and processing requests between the processors are accumulated in the first-in/first-out register group, and one processor transfers processing requests from one processor to the other. A multiprocessor processing method characterized by transmitting processing requests to computers using interrupts.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP55013281A JPS5835294B2 (en) | 1980-02-06 | 1980-02-06 | Multiprocessor processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP55013281A JPS5835294B2 (en) | 1980-02-06 | 1980-02-06 | Multiprocessor processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS56110169A JPS56110169A (en) | 1981-09-01 |
JPS5835294B2 true JPS5835294B2 (en) | 1983-08-02 |
Family
ID=11828808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP55013281A Expired JPS5835294B2 (en) | 1980-02-06 | 1980-02-06 | Multiprocessor processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS5835294B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6438798U (en) * | 1987-09-03 | 1989-03-08 | ||
JPH0120797Y2 (en) * | 1985-08-27 | 1989-06-22 | ||
JPH01227396A (en) * | 1988-03-05 | 1989-09-11 | Stanley Electric Co Ltd | Long-sized el element |
JPH0322394U (en) * | 1989-07-13 | 1991-03-07 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4604500A (en) * | 1981-12-02 | 1986-08-05 | At&T Bell Laboratories | Multiprocessing interrupt arrangement |
JPS58203562A (en) * | 1982-05-21 | 1983-11-28 | Nec Corp | Method for controlling memory |
JPS59117619A (en) * | 1982-12-24 | 1984-07-07 | Omron Tateisi Electronics Co | Data transfer processing device |
JPS60229160A (en) * | 1984-04-26 | 1985-11-14 | Toshiba Corp | Multiprocessor system |
JPS6444571A (en) * | 1987-08-12 | 1989-02-16 | Omron Tateisi Electronics Co | Inter-processor coupling system |
JPH06162226A (en) * | 1992-11-20 | 1994-06-10 | Nec Corp | Parallel processor controller |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54103649A (en) * | 1978-02-01 | 1979-08-15 | Matsushita Electric Ind Co Ltd | Data transmission control system between arithmetic control elements |
-
1980
- 1980-02-06 JP JP55013281A patent/JPS5835294B2/en not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54103649A (en) * | 1978-02-01 | 1979-08-15 | Matsushita Electric Ind Co Ltd | Data transmission control system between arithmetic control elements |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0120797Y2 (en) * | 1985-08-27 | 1989-06-22 | ||
JPS6438798U (en) * | 1987-09-03 | 1989-03-08 | ||
JPH01227396A (en) * | 1988-03-05 | 1989-09-11 | Stanley Electric Co Ltd | Long-sized el element |
JPH0322394U (en) * | 1989-07-13 | 1991-03-07 |
Also Published As
Publication number | Publication date |
---|---|
JPS56110169A (en) | 1981-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3641675B2 (en) | Split buffer architecture | |
GB2101374A (en) | Interface circuit | |
JPS5835294B2 (en) | Multiprocessor processing method | |
CA1297198C (en) | Program mode access control system | |
CA2130064C (en) | Method and apparatus for transferring data between a host processor and a subsystem processor in a data processing system | |
JPH0221619B2 (en) | ||
KR930005843B1 (en) | Method for controlling subprocessor in multiprocessor system | |
JPS6156546B2 (en) | ||
JPS6149696B2 (en) | ||
JP2926859B2 (en) | Parallel processing system | |
JPS58169277A (en) | Data processor | |
JPS6367702B2 (en) | ||
JP2533886B2 (en) | Data transfer method | |
JPS6198469A (en) | Inter-microprocessor communications system | |
JP3013993B2 (en) | Vector processing method | |
JPS599324Y2 (en) | multiprocessor device | |
JPH02257356A (en) | Data transfer method for multiprocessor system | |
JPS5890227A (en) | Interface system of data transfer | |
JPS6143366A (en) | Data transfer system | |
JPH0492952A (en) | Parallel processing system | |
JPH04322355A (en) | Information exchange device | |
JPS62145345A (en) | Control system for direct memory access interval | |
JPH0715673B2 (en) | Multiprocessor data processor | |
JPS60563A (en) | Multiprocessor | |
JPS60256858A (en) | Program loading system |