JPS6285369A - Data transferring system between processors - Google Patents
Data transferring system between processorsInfo
- Publication number
- JPS6285369A JPS6285369A JP22471885A JP22471885A JPS6285369A JP S6285369 A JPS6285369 A JP S6285369A JP 22471885 A JP22471885 A JP 22471885A JP 22471885 A JP22471885 A JP 22471885A JP S6285369 A JPS6285369 A JP S6285369A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor
- register
- transfer
- 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.)
- Granted
Links
Landscapes
- Multi Processors (AREA)
Abstract
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は複数のプロセッサの間で行うデータフレームを
転送方式に関し、特にデータフレームの転送を非同期に
行うシステムに適したプロセッサ間データ転送方式に関
する。DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a method for transferring data frames between a plurality of processors, and particularly to an inter-processor data transfer method suitable for a system in which data frames are transferred asynchronously.
従来、複数プロセッサ間で行うデータ転送方式として、
例えばインテル社のMIP方式が知られて−いる。この
方式は、2つのプロセッサが共有メモリを介してデータ
転送を行う方式であり、共有メモリ内に複数のデータ転
送用エリアと、これらのデータ転送用エリアへの登録ポ
インタおよび取出しポインタが設けられる。データを転
送する側のプロセッサは、登録ポインタの内容から次に
データを書込むべきデータ転送エリアのアドレスを求め
、このアドレスに該当するデータ転送用エリアに転送デ
ータを書込んだ後、登録ポインタを更新する。一方、デ
ータを受取る側のプロセッサは、取出しポインタの内容
から次にデータを取出すべきデータ転送エリアのアドレ
スを求め、このアドレスに該当するデータ転送用エリア
から転送データを取出し、その後で取出しポインタを更
新する。Conventionally, as a data transfer method between multiple processors,
For example, Intel's MIP system is known. In this method, two processors transfer data via a shared memory, and the shared memory is provided with a plurality of data transfer areas and registration pointers and takeout pointers to these data transfer areas. The processor on the data transfer side finds the address of the data transfer area to which data should be written next from the contents of the registration pointer, writes the transfer data to the data transfer area corresponding to this address, and then writes the registration pointer. Update. On the other hand, the processor on the data receiving side finds the address of the data transfer area from which data should be extracted next from the contents of the fetch pointer, fetches the transferred data from the data transfer area corresponding to this address, and then updates the fetch pointer. do.
双方のプロセッサは、登録ポインタと取出しポインタを
比較することにより、データ転送用エリアが満杯か空か
を知ることができる。然るに、このインテル社のMIP
方式は、転送データに対する受信側プロセッサの処理の
終了を待たずに次データの転送ができるという利点があ
る反面、登@/取出、しポインタの比較、ポインタから
のデータ転送エリア・アドレスの算出、登録/取出しポ
インタの更新という処理が必要となるため、処理時間が
長くなるという不都合がある。Both processors can know whether the data transfer area is full or empty by comparing the registration pointer and the retrieval pointer. However, this Intel MIP
This method has the advantage of being able to transfer the next data without waiting for the receiving processor to finish processing the transferred data, but it also has the advantage of being able to transfer the next data without waiting for the receiving processor to finish processing the transferred data. Since the process of updating the registration/extraction pointer is required, there is an inconvenience that the process takes a long time.
一方、処理時間を減少できる他の方式として例えば、特
開昭58−97944号公報に記載の方法がある。この
方式は、共有メモリとは別にハードウェアでFIFOキ
ューを用意し、共用メモリ内にあるデータ転送エリアの
アドレスだけをFIFOキューを介して伝達するように
している。しかしながら、この方式においても、共有メ
モリ内にある空データ転送エリア・キューからデータ転
送エリアを取り出すための処理でオーバヘッドが生ずる
という欠点があった。On the other hand, as another method that can reduce the processing time, there is a method described in Japanese Patent Laid-Open No. 58-97944, for example. In this method, a FIFO queue is prepared in hardware separate from the shared memory, and only the address of a data transfer area in the shared memory is transmitted via the FIFO queue. However, this method also has the drawback that overhead is generated in the process of extracting the data transfer area from the empty data transfer area queue in the shared memory.
本発明の目的は、プロセッサ間のデータ転送に際し、受
信側プロセッサの転送データに対する処理のの終了を待
たずに次データの転送ができ、かつ、データ転送のため
の処理時間を短縮できるようにしたプロセッサ間データ
転送方式を提供することにある。An object of the present invention is to enable, when transferring data between processors, the next data to be transferred without waiting for the receiving processor to finish processing the transferred data, and to shorten the processing time for data transfer. The object of the present invention is to provide an inter-processor data transfer method.
(発明の概要〕
上記目的を達成するため5本発明のマルチプロセッサ・
システムは、第1.第2のプロセッサと、上記第1のプ
ロセッサからデータ書き込み可能な第1のレジスタと、
上記第2のプロセッサからデータ読取り可能な第2のレ
ジスタと、上記第1゜第2のレジスタ間に介在し、上記
第1のプロセッサからの命令に応答して」−2第1のレ
ジスタ内のデータを取り込み、上記第2のプロセッサか
らの命令に応じて」;2第2のレジスタヘデータを出力
動作する先入れ先出し形のバッファ・メモリ手段とを有
し、上記第1のプロセッサが第17のレジスタを介して
上記バッファメモリ手段に書き込んだデータを、上記第
2のプロセッサが上記第2のレジスタを介して受取るよ
うにしたことを特徴とする。(Summary of the Invention) To achieve the above object, the multiprocessor of the present invention
The system is first. a second processor; a first register into which data can be written by the first processor;
a second register that can read data from the second processor; a first-in, first-out type buffer memory means for taking in data and outputting data to a second register in response to an instruction from the second processor; The second processor receives data written to the buffer memory means via the second register.
以下、本発明の1実施例を図面を参照して説明する。 Hereinafter, one embodiment of the present invention will be described with reference to the drawings.
第1図は1本発明を適用するマルチプロセッサシステム
の全体構成を示すブロック図であり、複数のプロセッサ
モジュールPM−1〜P M −mがコモン・バス1に
より互いに接続されている。FIG. 1 is a block diagram showing the overall configuration of a multiprocessor system to which the present invention is applied, in which a plurality of processor modules PM-1 to PM-m are connected to each other by a common bus 1. As shown in FIG.
各プロセッサジュールは、プロセッサ(CPtJ)3、
プロセッサの動作を規定するプロゲラ11及びプロセッ
サ動作時のワークデータを格納するためのローカルメモ
リ(LM)4.他プロセツサモジュールとのデータ転送
のために使用するプアースト・イン・ファースト・アウ
ト(FIFO)バッファ装5R(BF)5、及び、それ
らを接続するローカルバス(LB)13から構成される
。Each processor module includes processor (CPtJ) 3,
Progera 11 that defines the operation of the processor and local memory (LM) 4 for storing work data during processor operation. It consists of a poorest-in-first-out (FIFO) buffer device 5R (BF) 5 used for data transfer with other processor modules, and a local bus (LB) 13 that connects them.
第2図にFIFOバッファ装置の構成例を示す。バッフ
ァ装置5は、アドレスデコーダ6及び12゜コマンド/
ステータス・レジスタ7及び11、データレジスタ8−
1〜8−n、及び10−1〜10−n、FIFOメモリ
9−1〜9− n 、アドレスデコーダからレジスタの
データ入力信号線100及び107、アドレスデコーダ
からレジスタへのデータ出力信号線101及び108、
アドレスデコーダからデータレジスタへのデータ入力信
号線103−1〜103− n 、 レジスタからFI
FOへのデータ入力信号線104−1〜104−n、
FIFO9−1からレジスタ7へのFIFOfull信
号線105、 FIFO9−1からレジスタ1】−への
FIFOempty信号!106. レジスタ11から
データレジスタへのデータ入力信号fi109−1〜1
09−n、 レジスタからPIFOへのデータ出力信号
線11、1−1〜111−n、レジスタ7からデータレ
ジスタへのデータ出力信号線102−1〜102−n、
アドレスデコーダからデータレジスタへのデータ出力信
号線110−1〜110−nから構成される。FIG. 2 shows an example of the configuration of a FIFO buffer device. The buffer device 5 has an address decoder 6 and a 12° command/
Status registers 7 and 11, data register 8-
1 to 8-n, and 10-1 to 10-n, FIFO memories 9-1 to 9-n, data input signal lines 100 and 107 from the address decoder to the register, and data output signal lines 101 and 107 from the address decoder to the register. 108,
Data input signal lines 103-1 to 103-n from address decoder to data register, register to FI
Data input signal lines 104-1 to 104-n to FO,
FIFO full signal line 105 from FIFO 9-1 to register 7, FIFO empty signal from FIFO 9-1 to register 1]-! 106. Data input signal fi109-1 to data register from register 11 to data register
09-n, data output signal lines 11, 1-1 to 111-n from register to PIFO, data output signal lines 102-1 to 102-n from register 7 to data register,
It is composed of data output signal lines 110-1 to 110-n from the address decoder to the data register.
第3図は上記システムにおけるメモリマツプを示す。1
00 H〜100 H+ n番地(nは転送データフレ
ームの最大値)はプロセッサ・モジュー/l/PM−1
宛の送信エリア、200 H〜200 H+n番地はP
M−2宛の送信エリアとなっており。FIG. 3 shows a memory map in the above system. 1
00H to 100H+ Address n (n is the maximum value of transfer data frame) is processor module/l/PM-1
Destination transmission area, 200H to 200H+n address is P
This is the transmission area for M-2.
これらのエリアはコモンバス1経由でアクセスされる。These areas are accessed via common bus 1.
1000H”1O000H+ n 番地はプロセッサ・
モジュールの受信エリアであり、ローカルパス13経由
でアクセスされる。プロセッサ・モジュール宛の送信エ
リアの最初の1バイトは、コマンド/ステータスレジス
タ7が割当てられ、2バイト目以降にはデータレジスタ
8が順次割り当てられている。一方、各プロセッサ・モ
ジュールの受信エリアの最初の1バイトにはコマンド/
ステータスレジスタ11が割当てられ、2バイト目以降
にはデータレジスタ10が順次に割り当てられているつ
第4図は、コマンド/ステータスレジスタ7のビット割
当てを示す。2°はデータ入力ビットであり、CPUが
該ビット「1」を書込むと、信号線102−1.〜10
2−n及び104−1〜1、04− nが流れ、データ
レジスタ8の内容がFIFOメモリ9に入る。2工はフ
ルビットであり、FIFOメモリ9に空エリアがない時
、信号線105に信号が流れ、該ビットは「1」となる
。2zは使用中を示すビットであり、データレジスタ8
への書込み排他制御に用いられる。1000H"1O000H+ n address is processor
This is the reception area of the module and is accessed via the local path 13. The command/status register 7 is allocated to the first byte of the transmission area addressed to the processor module, and the data register 8 is sequentially allocated to the second and subsequent bytes. On the other hand, the first byte of the reception area of each processor module contains the command/
The status register 11 is allocated, and the data register 10 is sequentially allocated to the second and subsequent bytes. FIG. 4 shows the bit allocation of the command/status register 7. 2° is a data input bit, and when the CPU writes this bit "1", signal lines 102-1. ~10
2-n and 104-1 to 1, 04-n flow, and the contents of data register 8 enter FIFO memory 9. The second bit is a full bit, and when there is no empty area in the FIFO memory 9, a signal flows to the signal line 105 and the bit becomes "1". 2z is a bit indicating that it is in use, and data register 8
Used for exclusive write control to.
第5図はコマンド/ステータスレジスタ11のビット割
当てを示す。FIG. 5 shows the bit assignments of the command/status register 11.
20はデータ出力ビットであり、CPUが該ビットに1
を書き込むと信号線109−1〜109−n及び111
−1〜111−nに信号が流れ。20 is a data output bit, and the CPU sets the bit to 1.
When writing, signal lines 109-1 to 109-n and 111
Signals flow from -1 to 111-n.
F I I/ Oメモリ9からデータレジスタ10にデ
ータが送られる。21ビツトはエンプティビットであり
、FIFOメモリ9のデータがない時rlJとなる。Data is sent from the FI I/O memory 9 to the data register 10. The 21st bit is an empty bit, and becomes rlJ when there is no data in the FIFO memory 9.
次に、プロセッサ・モジュールPM−1からPM−2へ
データ転送を行う場合を例にとって、上記装置の動作を
説明する。第6図にP M −1に含まれるプロセッサ
CPU3−1の送信処理時の動作フローチャートを示す
、CPU3−1は、先ず、相手プロセッサ・モジュール
PM−2のデータレジスタが使用中ではないことを確認
する6具体的には、200H番地のコマンド/ステータ
スレジスタの2zビツト(使用中ビット)が「0」かど
うかを判定する。この判定の結果、もし、「1」であれ
ば「0」になるのを待ち、「0」であれば「1」にして
次の動作に移る。なお、このrOJチェック、「1」セ
ット動作は排他的に行う必要があり、テスト・アンド・
セットで行う。Next, the operation of the above-mentioned apparatus will be explained by taking as an example the case where data is transferred from processor module PM-1 to PM-2. FIG. 6 shows an operation flowchart of the processor CPU3-1 included in PM-1 during transmission processing. First, CPU3-1 confirms that the data register of the other processor module PM-2 is not in use. 6. Specifically, it is determined whether the 2z bit (in-use bit) of the command/status register at address 200H is "0". If the result of this determination is "1", wait until it becomes "0", and if it is "0", set it to "1" and move on to the next operation. Note that this rOJ check and "1" set operation must be performed exclusively, and test and
Do it as a set.
次に、200H番地の21ビツト(フルビット)を、
調べ、FIFOメモリに空きエリアがあるか否か番確認
する。もし、「1」であれば、「0」になるのを待つ。Next, the 21 bits (full bit) at address 200H are
Check to see if there is free space in the FIFO memory. If it is "1", wait until it becomes "0".
「0」であれば、201 H−200H+ n番地に転
送データを書込み、次いで、200H番の20ビツト(
データ入力ビット)に「1」を書込むことにより、デー
タをFIFOメモリに送る。If it is "0", write the transfer data to address 201H-200H+n, then write the 20 bits of number 200H (
Data is sent to the FIFO memory by writing a '1' to the data input bit).
第7図に受取側のプロセッサ・モジュールPM−2に含
まれるCPU3−2の受信処理フローを示す。受信側の
CPUは、先ず1000 H番地のコマンド/ステータ
スレジスタの21ビツトを調べ、FIFOメモリ内にデ
ータがあるか否かを判定する。FIG. 7 shows the reception processing flow of the CPU 3-2 included in the processor module PM-2 on the receiving side. The CPU on the receiving side first checks the 21 bits of the command/status register at address 1000H and determines whether there is data in the FIFO memory.
もし、「1」であれば、これがrOJになるのを待つ、
「0」であれば100OH番地の20ビツトデータ出力
ビツトに1を書込み、FIFOメモリからデータレジス
タにデータを取り込んだ後、100.1H〜1000H
+ n番地のデータレジスタ内のデータの受信処理を行
う。If it is "1", wait for this to become rOJ,
If it is "0", write 1 to the 20-bit data output bit at address 100OH, and after loading the data from the FIFO memory to the data register,
+ Performs reception processing of data in the data register at address n.
本実施例によれば、受信側プロセッサの転送データに対
する処理終了を待つことなく、転送側プロセッサからの
次のデータの転送ができ、データ転送処理時間を短くで
きるため、プロセッサ間通信のスループットを高めるこ
とができる。According to this embodiment, the next data can be transferred from the transfer side processor without waiting for the receiving side processor to finish processing the transferred data, and the data transfer processing time can be shortened, thereby increasing the throughput of inter-processor communication. be able to.
以下の如く、本発明によれば、受信側プロセッサの転送
データに対する処理終了を待たずに転送側プロセッサか
らの次データの転送ができ、かつ処理時間の短いプロセ
ッサ間データ転送ができるため、プロセッサ間データ転
送のスループットの高い、マルチプロセッサシステムを
構築できる。As described below, according to the present invention, it is possible to transfer the next data from the transfer side processor without waiting for the receiving side processor to finish processing the transfer data, and also to perform inter-processor data transfer with a short processing time. You can build a multiprocessor system with high data transfer throughput.
第1図はマルチプロセッサシステムの構成図。
第2回はFIFOバッファ装置の構成図、第3図はマル
チプロセッサシテムのメモリマツプ、第4図はコマンド
/ステータス7のビット割当て図、第5図はコマンド/
ステータスレジスタ11のビット割当て図、第6図は送
信側CPC処理のフローチャート、第7図は受信側CP
Uの処理フローチャートを示す。
1・・・コモンバス、2・・・プロセッサモジュール、
3・・・CP U、4・・・ローカルメモリ、5・・・
バッファFIFO装置、6・・・アドレスデコーダ、7
・・・コマンド/ステータスレジスタ、8・・・データ
レジスタ、9・・・FIFOllo・・・データレジス
タ、11・・・コマンド/ステータスレジスタ、12・
・・アドレスデコーダ、13・・・ローカルバス。FIG. 1 is a configuration diagram of a multiprocessor system. Part 2 is a configuration diagram of a FIFO buffer device, Figure 3 is a memory map of a multiprocessor system, Figure 4 is a bit assignment diagram for command/status 7, and Figure 5 is a diagram of command/status 7.
Bit allocation diagram of status register 11, Figure 6 is a flowchart of transmitting side CPC processing, Figure 7 is receiving side CP
A processing flowchart of U is shown. 1... Common bus, 2... Processor module,
3...CPU, 4...Local memory, 5...
Buffer FIFO device, 6...Address decoder, 7
...Command/Status register, 8...Data register, 9...FIFOllo...Data register, 11...Command/Status register, 12.
...Address decoder, 13...Local bus.
Claims (1)
データ書き込み可能な第1のレジスタと、上記第2のプ
ロセッサからデータ読取り可能な第2のレジスタと、上
記第1、第2のレジスタ間に介在し、上記第1のプロセ
ッサからの命令に応答して上記第1のレジスタ内のデー
タを取り込み、上記第2のプロセッサからの命令に応じ
て上記第2のレジスタへデータを出力動作する先入れ先
出し形のバッファ・メモリ手段とを有し、上記第1のプ
ロセッサが第1レジスタを介して上記バッファメモリ手
段に書込んだデータを、上記第2のプロセッサが上記第
2のレジスタを介して受取るようにしたことを特徴とす
る複数プロセッサ間のデータ転送方式。between first and second processors, a first register to which data can be written by the first processor, a second register to which data can be read from the second processor, and a space between the first and second registers; a first-in, first-out device that operates to take in data in the first register in response to an instruction from the first processor and output data to the second register in response to an instruction from the second processor. buffer memory means of the form, such that the second processor receives, via the second register, data written by the first processor to the buffer memory means via the first register. A data transfer method between multiple processors characterized by the following.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60224718A JPH0785234B2 (en) | 1985-10-11 | 1985-10-11 | Data transfer method between processors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP60224718A JPH0785234B2 (en) | 1985-10-11 | 1985-10-11 | Data transfer method between processors |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6285369A true JPS6285369A (en) | 1987-04-18 |
JPH0785234B2 JPH0785234B2 (en) | 1995-09-13 |
Family
ID=16818158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP60224718A Expired - Fee Related JPH0785234B2 (en) | 1985-10-11 | 1985-10-11 | Data transfer method between processors |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0785234B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6423360A (en) * | 1987-07-17 | 1989-01-26 | Sumitomo Electric Industries | Message transfer device |
JPH01147671A (en) * | 1987-12-02 | 1989-06-09 | Hitachi Ltd | Graphic display controller |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS53127248A (en) * | 1977-04-13 | 1978-11-07 | Toshiba Corp | Composite computer system |
JPS56152067A (en) * | 1980-04-25 | 1981-11-25 | Mitsubishi Electric Corp | Microprocessor coupler |
-
1985
- 1985-10-11 JP JP60224718A patent/JPH0785234B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS53127248A (en) * | 1977-04-13 | 1978-11-07 | Toshiba Corp | Composite computer system |
JPS56152067A (en) * | 1980-04-25 | 1981-11-25 | Mitsubishi Electric Corp | Microprocessor coupler |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6423360A (en) * | 1987-07-17 | 1989-01-26 | Sumitomo Electric Industries | Message transfer device |
JPH01147671A (en) * | 1987-12-02 | 1989-06-09 | Hitachi Ltd | Graphic display controller |
Also Published As
Publication number | Publication date |
---|---|
JPH0785234B2 (en) | 1995-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3411300B2 (en) | Information processing device | |
US5375215A (en) | Multiprocessor system having shared memory divided into a plurality of banks with access queues corresponding to each bank | |
US4914653A (en) | Inter-processor communication protocol | |
US7676588B2 (en) | Programmable network protocol handler architecture | |
US7072970B2 (en) | Programmable network protocol handler architecture | |
KR102409024B1 (en) | Multi-core interconnect in a network processor | |
JPH04257054A (en) | Inter-channel connecting apparatus | |
EP1891503B1 (en) | Concurrent read response acknowledge enhanced direct memory access unit | |
US4964042A (en) | Static dataflow computer with a plurality of control structures simultaneously and continuously monitoring first and second communication channels | |
US7796624B2 (en) | Systems and methods for providing single-packet and multi-packet transactions in an integrated circuit | |
GB2377138A (en) | Ring Bus Structure For System On Chip Integrated Circuits | |
CN115328832B (en) | Data scheduling system and method based on PCIE DMA | |
JPS6285369A (en) | Data transferring system between processors | |
US6647450B1 (en) | Multiprocessor computer systems with command FIFO buffer at each target device | |
US6904474B1 (en) | Using write request queue to prevent bottlenecking on slow ports in transfer controller with hub and ports architecture | |
US5432910A (en) | Coupling apparatus and method for increasing the connection capability of a communication system | |
JP2859178B2 (en) | Data transfer method between processors and ring buffer memory for data transfer between processors | |
JPH04120652A (en) | Parallel processors | |
JP3411520B2 (en) | Information processing device | |
JPH02294755A (en) | Data processor | |
JPS6298444A (en) | Data communication system | |
EP1193605A2 (en) | Apparatus and method for the transfer of signal groups between digital signal processors in a digital signal processing unit | |
JPH07325789A (en) | Parallel processors | |
Berners-Lee et al. | An intelligent approach to complex systems architectures | |
JPH07282027A (en) | Distributed common memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |