JP3457535B2 - Communication device between processors - Google Patents

Communication device between processors

Info

Publication number
JP3457535B2
JP3457535B2 JP11659098A JP11659098A JP3457535B2 JP 3457535 B2 JP3457535 B2 JP 3457535B2 JP 11659098 A JP11659098 A JP 11659098A JP 11659098 A JP11659098 A JP 11659098A JP 3457535 B2 JP3457535 B2 JP 3457535B2
Authority
JP
Japan
Prior art keywords
processor
command
communication
system bus
message
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 - Fee Related
Application number
JP11659098A
Other languages
Japanese (ja)
Other versions
JPH11306156A (en
Inventor
健 橋本
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP11659098A priority Critical patent/JP3457535B2/en
Publication of JPH11306156A publication Critical patent/JPH11306156A/en
Application granted granted Critical
Publication of JP3457535B2 publication Critical patent/JP3457535B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】本発明は、疎結合マルチプロ
セッサシステムにおけるプロセッサ間通信装置に関す
る。 【0002】 【従来の技術】複数のプロセッサと、これらプロセッサ
によって共有される主記憶とがシステムバスを介して接
続された疎結合マルチプロセッサシステムにおけるプロ
セッサ間通信は、従来、通信元プロセッサが主記憶上の
プロセッサ間通信エリアにメッセージを格納し、通信元
プロセッサが通信先プロセッサにプロセッサ間通信割込
要求を発行し、通信元プロセッサが主記憶上のプロセッ
サ間通信エリアからメッセージを取り出すことにより行
っている。 【0003】 【発明が解決しようとする課題】しかしながら、上述し
た従来のプロセッサ間通信方法では、通信元プロセッサ
が主記憶上のプロセッサ間通信エリアにメッセージを格
納する時、通信元プロセッサが通信先プロセッサにプロ
セッサ間通信割込要求を発行する時、および通信先プロ
セッサが主記憶上のプロセッサ間通信エリアからメッセ
ージを取り出す時にそれぞれシステムバスにアクセスす
ることになり、システムとしての性能が落ちるという問
題がある。 【0004】本発明の目的は、システムバスにアクセス
する回数を削減することにより、システム性能を向上さ
せたプロセッサ間通信装置を提供することにある。 【0005】 【課題を解決するための手段】本発明のプロセッサ間通
信装置は、複数のプロセッサ(1,2)と主記憶(3)
とがシステムバス(4)を介して接続され、システムバ
スコマンドを用いて、メッセージの発行元プロセッサが
主記憶の該メッセージの発行先プロセッサに対するプロ
セッサ間通信エリア(12,13)に該メッセージを格
納する疎結合マルチプロセッサシステムにおける、各プ
ロセッサに設けられるプロセッサ間通信装置であって、
発行元プロセッサがシステムバスに送出するシステムバ
スコマンドは、メッセージであるデータ部(57)と、
プロセッサ間通信エリアへの書込命令を含む命令を指定
するコマンド部(55)と、メッセージの発行先プロセ
ッサに対するプロセッサ間通信エリアを指定するアドレ
ス部(56)と、メッセージの発行元プロセッサ情報部
(58)とから成り、プロセッサ間通信装置は、システ
ムバスコマンドを生成するコマンド生成部(6)と、生
成されたシステムバスコマンドをシステムバスに送出す
るために保持するコマンド送信レジスタ(5)と、シス
テムバス上に送出された各システムバスコマンドを受信
して取り込むコマンド受信レジスタ(50)と、コマン
ド受信レジスタが取り込んだ各システムバスコマンドを
解析するコマンドアドレス解析部(7)と、コマンド受
信レジスタ内のデータ部(57)からメッセージを取り
込むためのデータバッファ(8)と、コマンドアドレス
解析部(7)の制御によりデータバッファ(8)からメ
ッセージを取り込み、該メッセージを基にプロセッサ間
通信処理を実行するプロセッサ間通信実行部(9)と、
主記憶のデータの一部を記憶する内蔵キャッシュ(1
1)と、内蔵キャッシュの登録及び無効化処理を行うキ
ャッシュ制御部(10)とを有し、コマンドアドレス解
析部(7)は、コマンド受信レジスタ(50)に取り込
まれた各システムバスコマンドのコマンド部(55)の
内容が書込命令か否かを比較する第1の比較器(51)
と、アドレス部(56)の内容が自プロセッサに対する
プロセッサ間通信エリアを指定するアドレスであるか否
かを比較する第2の比較器(52)と、発行元プロセッ
サ情報部(58)の内容が自プロセッサ以外のプロセッ
サであるか否かを比較する第3の比較器(53)と、こ
れら3つの比較器の比較結果がすべて肯定的であるとき
にプロセッサ間通信実行 部にプロセッサ間通信を行わせ
るための出力を発生する論理部とからなり、メッセージ
の発行元プロセッサが主記憶上の発行先プロセッサに対
するプロセッサ間通信エリアに前記メッセージを格納す
書込命令を示すシステムバスコマンドは、システムバ
スにのった時に他のプロセッサのプロセッサ間通信装置
にも取り込まれるので、プロセッサ間通信の発行先であ
るプロセッサのプロセッサ間通信装置は、コマンドアド
レス解析部によりプロセッサに対するプロセッサ間通
信であることを認識できるため、発行先プロセッサに対
する発行元プロセッサからのプロセッサ間通信割込要求
に相当する要求をしたことになり、発行先プロセッサの
プロセッサ間通信装置はプロセッサ間通信処理を行なう
ことを特徴とする。 【0006】 【0007】 【0008】 【0009】本発明によるプロセッサ間通信装置は、主
記憶上のプロセッサ間通信エリアにメッセージを格納す
る行為がそのままプロセッサ間通信割込要求となるよう
な構成を採用することにより、プロセッサ間通信の高速
化を実現し、システムバスの使用率を下げることでシス
テムとしての性能を上げるものである。 【0010】 【発明の実施の形態】次に、本発明の実施の形態につい
て説明する。 【0011】本発明のプロセッサ間通信装置は、複数の
プロセッサ(1,2)と主記憶(3)とがシステムバス
(4)を介して接続され、システムバスコマンドを用い
て、メッセージの発行元プロセッサが主記憶の該メッセ
ージの発行先プロセッサに対するプロセッサ間通信エリ
ア(12,13)に該メッセージを格納する疎結合マル
チプロセッサシステムにおける、各プロセッサに設けら
れるプロセッサ間通信装置であって、発行元プロセッサ
がシステムバスに送出するシステムバスコマンドは、メ
ッセージであるデータ部(57)と、プロセッサ間通信
エリアへの書込命令を含む命令を指定するコマンド部
(55)と、メッセージの発行先プロセッサに対するプ
ロセッサ間通信エリアを指定するアドレス部(56)
と、メッセージの発行元プロセッサ情報部(58)とか
ら成り、プロセッサ間通信装置は、システムバスコマン
ドを生成するコマンド生成部(6)と、生成されたシス
テムバスコマンドをシステムバスに送出するために保持
するコマンド送信レジスタ(5)と、システムバス上に
送出された各システムバスコマンドを受信して取り込む
コマンド受信レジスタ(50)と、コマンド受信レジス
タが取り込んだ各システムバスコマンドを解析するコマ
ンドアドレス解析部(7)と、コマンド受信レジスタ内
のデータ部(57)からメッセージを取り込むためのデ
ータバッファ(8)と、コマンドアドレス解析部(7)
の制御によりデータバッファ(8)からメッセージを取
り込み、該メッセージを基にプロセッサ間通信処理を実
行するプロセッサ間通信実行部(9)と、主記憶のデー
タの一部を記憶する内蔵キャッシュ(11)と、内蔵キ
ャッシュの登録及び無効化処理を行うキャッシュ制御部
(10)とを有し、コマンドアドレス解析部(7)は、
コマンド受信レジスタ(50)に取り込まれた各システ
ムバスコマンドのコマンド部(55)の内容が書込命令
か否かを比較する第1の比較器(51)と、アドレス部
(56)の内容が自プロセッサに対するプロセッサ間通
信エリアを指定するアドレスであるか否かを比較する第
2の比較器(52)と、発行元プロセッサ情報部(5
8)の内容が自プロセッサ以外のプロセッサであるか否
かを比較する第3の比較器(53)と、これら3つの比
較器の比較結果がすべて肯定的であるときにプロセッサ
間通信実行部にプロセッサ間通信を行わせるための出力
を発生する論理部とからなり、メッセージの発行元プロ
セッサが主記憶上の発行先プロセッサに対するプロセッ
サ間通信エリアに前記メッセージを格納する書込命令を
示すシステムバスコマンドは、システムバスにのった時
に他のプロセッサのプロセッサ間通信装置にも取り込ま
れるので、プロセッサ間通信の発行先であるプロセッサ
のプロセッサ間通信装置は、コマンドアドレス解析部に
よりプロセッサに対するプロセッサ間通信であること
認識できるため、発行先プロセッサに対する発行元プ
ロセッサからのプロセッサ間通信割込要求に相当する要
求をしたことになり、発行先プロセッサのプロセッサ間
通信装置はプロセッサ間通信処理を行なうことを特徴と
する。 【0012】以下、本発明の実施例について図面を参照
しながら説明する。 【0013】図2は本発明が適用される疎結合マルチプ
ロセッサシステムを示し、2つのプロセッサ1および2
と、主記憶3とがシステムバス4により接続されてい
る。主記憶3はプロセッサ1と2に共有され、またプロ
セッサ1と2はそれぞれキャッシュメモリを内蔵してい
る。 【0014】図1は、図2におけるプロセッサ1,2の
プロセッサ通信処理部の詳細を示すブロック図であり、
プロセッサ1,2と主記憶3間、またはプロセッサ1と
プロセッサ2の間のやりとり(主記憶のロード/スト
ア)を行う命令(システムバスコマンド)を生成するコ
マンド生成部6と、生成されたシステムバスコマンドを
システムバス4に送出するために保持するコマンド送信
レジスタ5と、システムバス4上のシステムバスコマン
ドを受信して保持するコマンド受信レジスタ50と、コ
マンド受信レジスタ50が保持するシステムコマンドを
解析するコマンドアドレス解析部7と、コマンド受信レ
ジスタ50内のデータ部からメッセージを取り込むため
のデータバッファ8と、コマンドアドレス解析部7の制
御によりプロセッサ間通信を実行するプロセッサ間通信
実行部9と、主記憶3のデータの一部をコピーとして記
憶する内蔵キャッシュ11と、内蔵キャッシュ11の登
録および無効化処理を行うキャッシュ制御部10とを有
する。 【0015】図3は主記憶3に設けられたプロセッサ間
通信エリアのレイアウトを示し、エリア12にはプロセ
ッサ1がプロセッサ2にプロセッサ間通信を行うときの
メッセージを格納し、エリア13にはプロセッサ2がプ
ロセッサ1にプロセッサ間通信を行うときのメッセージ
を格納する。 【0016】また、図4はシステムバスコマンドの詳細
を示し、書込命令を含むコマンドを指定するコマンド部
55と、メッセージの発行先プロセッサに対するプロセ
ッサ間通信エリア12または13を指定するアドレス部
56と、メッセージを成すデータ部57と、システムバ
スコマンドの発行元プロセッサ情報部58とから成る。
プロセッサ間通信エリア(図3参照)は、主記憶上の一
部が割り当てられる。アドレス部56(図4参照)がプ
ロセッサ間通信エリア(図3参照)を指している場合、
データ部(図4参照)は、プロセッサ間通信エリア内の
アドレス部で指示されるエリアに書き込まれる。 【0017】図5はコマンド受信レジスタ50と、コマ
ンドアドレス解析部7およびデータバッファ8との関係
を示す。コマンドアドレス解析部7は、コマンド部55
のコマンドが書込命令か否かを比較する第1の比較器5
1と、アドレス部56のアドレスが自プロセッサに対す
るプロセッサ間通信エリアを指定するか否かを比較する
第2の比較器52と、発行元58が自プロセッサでない
ことを比較する第3の比較器53とを有する。また、デ
ータ部57はデータバッファ8に入力し、第1の比較器
51,第2の比較器52および第3の比較器53の各出
力の論理積出力とデータバッファ8の出力はプロセッサ
間通信実行部9に入力する。したがって、コマンドが書
込命令であり、かつそのアドレスが自プロセッサに対す
るプロセッサ間通信エリアであり、かつ発行元が自プロ
セッサでないとき、その結果がプロセッサ間通信実行部
9に伝わる。また、データバッファ8は、コマンド受信
レジスタ50の存在にもかかわらず、システムバス4上
のデータ幅が狭く、データ部57には収容できない程の
メッセージが複数回にわたって通信されるときに、それ
らのメッセージを蓄える。 【0018】次に、以上に述べた様に構成されたプロセ
ッサ間通信装置の動作について説明する。プロセッサ1
からプロセッサ2にプロセッサ間通信を行う場合、プロ
セッサ1はエリア12にプロセッサ間通信メッセージの
書き込み動作を行う。するとシステムバスコマンド生成
部6は、コマンドは書込命令、アドレスはエリア12の
アドレス、データはプロセッサ間通信メッセージ、発行
元はプロセッサ1、発行先は主記憶3というシステムバ
スコマンド部を生成し、システムバス4上にのせる。な
お、内蔵キャッシュ11にエリア12のアドレスが登録
されている場合、キャッシュ制御部10の内蔵キャッシ
ュ11の登録処理を行う。 【0019】システムバスコマンドがプロセッサ2のコ
マンド受信レジスタ50に取り込まれ、コマンドアドレ
ス解析部7により、コマンドは書込命令、アドレスはエ
リア12のアドレス、発行元はプロセッサ2でないと判
断されると、プロセッサ間通信処理部9にプロセッサ間
通信処理を行わせる。図6は、この処理を示すフローチ
ャートである。同時にシステムバスコマンド中のデータ
部57のメッセージがデータバッファ8に蓄えられる。
プロセッサ間通信処理部9は、データバッファ8中のプ
ロセッサ間通信メッセージを基に処理を行う。なお、内
蔵キャッシュ11にエリア12のアドレスが登録されて
いる場合、キャッシュ制御部10は内蔵キャッシュ11
の無効化処理を行う。 【0020】 【発明の効果】本発明によれば、通信元プロセッサが発
行したシステムバスコマンドがシステムバスにのった
時、通信先プロセッサがこれを取り込み、コマンドアド
レス解析部は自プロセッサへのプロセッサ間通信である
ことを認識できるため、通信元プロセッサは改めて通信
先プロセッサにプロセッサ間通信割込要求を発行する必
要がなくなり、その分だけシステムバスの使用率が低下
するので、高速なプロセッサ間通信が実現でき、ひいて
はシステム性能が向上することになる。 【0021】さらに、データバッファを設けることによ
り、自プロセッサ内にメッセージが存在することになる
ため、通信先プロセッサは主記憶までメッセージを取り
にいく必要がなくなるので、システムバスの使用率は一
層低下するという効果がある。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an interprocessor communication device in a loosely coupled multiprocessor system. 2. Description of the Related Art In a loosely coupled multiprocessor system in which a plurality of processors and a main memory shared by the processors are connected via a system bus, communication between processors has conventionally been performed by a communication source processor. The message is stored in the above-mentioned inter-processor communication area, the source processor issues an inter-processor communication interrupt request to the destination processor, and the source processor retrieves the message from the inter-processor communication area on the main memory. I have. However, in the above-described conventional inter-processor communication method, when the communication-source processor stores a message in the inter-processor communication area on the main memory, the communication-source processor sets the communication-destination processor. Issue the inter-processor communication interrupt request, and when the communication destination processor retrieves a message from the inter-processor communication area on the main memory, the system accesses the system bus, thereby deteriorating the performance of the system. . [0004] It is an object of the present invention to provide an inter-processor communication device in which the system performance is improved by reducing the number of times of accessing the system bus. [0005] An inter-processor communication device according to the present invention comprises a plurality of processors (1, 2) and a main memory (3).
Are connected via the system bus (4) ,
Command, the processor that issued the message
The processor for the processor that issues the message in main memory
The message is stored in the communication area between Sessa (12, 13).
Each processor in a loosely coupled multiprocessor system
An inter-processor communication device provided in the processor,
The system bus that the issuing processor sends to the system bus
Command includes a data part (57) which is a message,
Specify an instruction including a write instruction to the inter-processor communication area
Command part (55) to execute
Address that specifies the interprocessor communication area for the
Section (56) and the processor information section that issued the message
(58), wherein the inter-processor communication device is a system.
A command generation unit (6) for generating a bus command;
Sends the generated system bus command to the system bus
Command transmission register (5) held for
Receives each system bus command sent on the system bus
Command reception register (50)
Each system bus command captured by the
A command address analysis unit (7) for analyzing,
Message from the data section (57) in the
Data buffer (8) and command address
The data from the data buffer (8) is controlled by the analysis unit (7).
Message and fetch the message between processors based on the message.
An inter-processor communication execution unit (9) for executing communication processing;
Built-in cache (1) that stores a part of data in main memory
1) and a key for registering and invalidating the internal cache
A cache control unit (10), and
The analysis unit (7) takes in the command reception register (50).
Of the command part (55) of each system bus command
A first comparator (51) for comparing whether or not the content is a write instruction;
And the contents of the address part (56) are
Whether the address specifies the communication area between processors
A second comparator (52) for comparing the
If the contents of the processor information section (58) are
A third comparator (53) for comparing whether or not the
When all three comparators are positive
Causes the interprocessor communication execution unit to perform interprocessor communication.
And a logic unit for generating an output for the message .
A system bus command indicating a write command to store the message in the inter-processor communication area
Communication device between other processors when running
Therefore, the inter- processor communication device of the processor to which the inter- processor communication is issued issues a command address.
Since the address analysis unit can recognize that it is communication between processors to its own processor,
Processor interrupt request from the issuing processor
Has been requested, and the issuing processor
The inter-processor communication device performs inter-processor communication processing. [0008] The inter-processor communication device according to the present invention employs a configuration in which the act of storing a message in the inter-processor communication area on the main memory is directly used as an inter-processor communication interrupt request. By doing so, the speed of inter-processor communication is increased, and the performance of the system is increased by lowering the usage rate of the system bus. Next, an embodiment of the present invention will be described. In the inter-processor communication device according to the present invention, a plurality of processors (1, 2) and a main memory (3) are connected to a system bus.
(4) connected using a system bus command
The message issuing processor sends the message in main memory.
Processor inter-processor communication area
A , provided in each processor in the loosely coupled multiprocessor system storing the message in (12, 13) .
A inter-processor communication device, the issuing processor
The system bus commands sent by the
Data part (57), which is a message, and communication between processors
Command section that specifies an instruction including an instruction to write to the area
(55), and a message
Address part (56) for specifying communication area between processors
Message processor information part (58)
And the interprocessor communication device is a system bus command.
A command generation unit (6) for generating a command;
Held for sending system bus commands to the system bus
Command transmission register (5)
Receives and captures each system bus command sent
Command reception register (50) and command reception register
Command to analyze each system bus command
Command address analysis unit (7) and in the command reception register
For taking in messages from the data section (57)
Data buffer (8) and command address analyzer (7)
Message from the data buffer (8)
And execute inter-processor communication processing based on the message.
To execute the inter-processor communication execution unit (9) and the data in the main memory.
A built-in cache (11) that stores part of the data
Cache control unit that performs cache registration and invalidation processing
(10), and the command address analysis unit (7) includes:
Each system loaded into the command reception register (50)
Command is the write command
A first comparator (51) for comparing whether or not the address
The content of (56) indicates that the communication between processors is
No. to compare whether or not the address specifies the communication area
2 and the issuer processor information section (5).
8) Whether the content is a processor other than the own processor
And a third comparator (53) for comparing the three ratios.
Processor when all comparator comparison results are positive
To make inter-processor communication unit perform inter-processor communication
The processor that issues the message issues a write instruction to store the message in the inter-processor communication area for the issuer processor on the main memory.
The system bus command shown is when the
To another processor's interprocessor communication device
The processor to which interprocessor communication is issued.
Inter-processor communication device , the command address analysis unit
Since it is possible to recognize that the communication is between processors to its own processor, the source
A request equivalent to the interprocessor communication interrupt request from the processor
Between the processors of the issuing processor.
The communication device performs an inter-processor communication process. Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 2 shows a loosely coupled multiprocessor system to which the present invention is applied.
And the main memory 3 are connected by a system bus 4. The main memory 3 is shared by the processors 1 and 2, and each of the processors 1 and 2 has a built-in cache memory. FIG. 1 is a block diagram showing details of a processor communication processing unit of the processors 1 and 2 in FIG.
A command generator 6 for generating an instruction (system bus command) for performing an exchange (load / store of the main memory) between the processors 1 and 2 and the main memory 3 or between the processor 1 and the processor 2; The command transmission register 5 that holds the command for sending the command to the system bus 4, the command reception register 50 that receives and holds the system bus command on the system bus 4, and the system command that the command reception register 50 holds are analyzed. A command address analysis unit 7, a data buffer 8 for taking in a message from a data portion in the command reception register 50, an inter-processor communication execution unit 9 for executing inter-processor communication under the control of the command address analysis unit 7, and a main memory Built-in cache that stores a part of data as a copy It has a 11, and a cache control unit 10 for performing registration and invalidation processing of the internal cache 11. FIG. 3 shows a layout of an inter-processor communication area provided in the main memory 3. An area 12 stores a message when the processor 1 performs inter-processor communication with the processor 2, and an area 13 stores a message for the processor 2. Stores a message when the processor 1 performs interprocessor communication. FIG. 4 shows details of a system bus command. A command section 55 for designating a command including a write instruction, an address section 56 for designating an inter-processor communication area 12 or 13 for a processor to which a message is to be issued. , A data section 57 forming a message, and a processor information section 58 that issues a system bus command.
The inter-processor communication area (see FIG. 3) is
Department is assigned. The address section 56 (see FIG. 4)
When pointing to the communication area between the processors (see FIG. 3),
The data section (see FIG. 4) is located within the communication area between the processors.
It is written to the area specified by the address part. FIG. 5 shows the relationship between the command reception register 50, the command address analysis unit 7, and the data buffer 8. The command address analysis unit 7 includes a command unit 55
First comparator 5 for comparing whether or not the command is a write command
1, a second comparator 52 for comparing whether or not the address of the address section 56 specifies an inter-processor communication area for the own processor, and a third comparator 53 for comparing that the issue source 58 is not the own processor. And The data section 57 is input to the data buffer 8, and the logical product output of each output of the first comparator 51, the second comparator 52, and the third comparator 53 and the output of the data buffer 8 are transmitted between processors. Input to the execution unit 9. Therefore, when the command is a write command, the address is an inter-processor communication area for the own processor, and the issuing source is not the own processor, the result is transmitted to the inter-processor communication execution unit 9. The data buffer 8 has a small data width on the system bus 4 despite the presence of the command reception register 50, and when a message that cannot be accommodated in the data section 57 is communicated a plurality of times, the Store the message. Next, the operation of the inter-processor communication device configured as described above will be described. Processor 1
When performing the inter-processor communication from the processor 1 to the processor 2, the processor 1 performs an operation of writing the inter-processor communication message in the area 12. Then, the system bus command generation unit 6 generates a system bus command unit including a command as a write instruction, an address as an address of the area 12, data as an inter-processor communication message, an issuer as a processor 1, and an issuer as a main memory 3. Put on the system bus 4. When the address of the area 12 is registered in the internal cache 11, the cache control unit 10 performs the registration processing of the internal cache 11. When the system bus command is taken into the command receiving register 50 of the processor 2 and the command address analysis unit 7 determines that the command is a write command, the address is the address of the area 12, and the issuing source is not the processor 2, It causes the interprocessor communication processing section 9 to perform interprocessor communication processing. FIG. 6 is a flowchart showing this processing. At the same time, the message of the data section 57 in the system bus command is stored in the data buffer 8.
The interprocessor communication processing unit 9 performs processing based on the interprocessor communication message in the data buffer 8. When the address of the area 12 is registered in the internal cache 11, the cache control unit 10
Perform invalidation processing. According to the present invention, when a system bus command issued by a communication source processor is put on a system bus, a communication destination processor fetches the system bus command, and a command address analysis unit sends the processor address to the processor itself. The source processor does not need to issue an inter-processor communication interrupt request to the destination processor again, and the usage rate of the system bus is reduced by that amount. Can be realized, and the system performance can be improved. Further, by providing a data buffer, a message exists in its own processor, so that the communication destination processor does not need to fetch the message to the main memory, so that the usage rate of the system bus is further reduced. There is an effect of doing.

【図面の簡単な説明】 【図1】本発明の一実施例を示すブロック図である。 【図2】本発明が適用される疎結合マルチプロセッサシ
ステムの一例を示すブロック図である。 【図3】本発明におけるプロセッサ間通信エリアのレイ
アウトを示す図である。 【図4】本発明におけるシステムバスコマンドの形式を
示す図である。 【図5】本発明におけるコマンド受信レジスタと、コマ
ンドアドレス解析部およびデータバッファ8との関係を
示す図である。 【図6】本発明におけるコマンドアドレス解析部のフロ
ーチャートである。 【符号の説明】 1,2 プロセッサ 3 主記憶 4 システムバス 5 コマンド送信レジスタ 6 コマンド生成部 7 コマンドアドレス解析部 8 データバッファ 9 プロセッサ間通信実行部 10 キャッシュ制御部 11 内蔵キャッシュ 12,13 エリア 50 コマンド受信レジスタ 51 第1の比較器 52 第2の比較器 53 第3の比較器 55 コマンド部 56 アドレス部 57 データ部 58 発行元
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing one embodiment of the present invention. FIG. 2 is a block diagram illustrating an example of a loosely coupled multiprocessor system to which the present invention is applied. FIG. 3 is a diagram showing a layout of a communication area between processors in the present invention. FIG. 4 is a diagram showing a format of a system bus command according to the present invention. FIG. 5 is a diagram showing a relationship between a command reception register, a command address analysis unit, and a data buffer 8 according to the present invention. FIG. 6 is a flowchart of a command address analysis unit according to the present invention. [Description of Signs] 1, 2 processor 3 main memory 4 system bus 5 command transmission register 6 command generation unit 7 command address analysis unit 8 data buffer 9 interprocessor communication execution unit 10 cache control unit 11 internal cache 12, 13 area 50 command Receive register 51 First comparator 52 Second comparator 53 Third comparator 55 Command section 56 Address section 57 Data section 58 Publisher

Claims (1)

(57)【特許請求の範囲】 【請求項1】 複数のプロセッサ(1,2)と主記憶
(3)とがシステムバス(4)を介して接続され、シス
テムバスコマンドを用いて、メッセージの発行元プロセ
ッサが主記憶の該メッセージの発行先プロセッサに対す
プロセッサ間通信エリア(12,13)メッセー
ジを格納す疎結合マルチプロセッサシステムにおけ
、各プロセッサに設けられるプロセッサ間通信装置で
あって、 前記発行元プロセッサが前記システムバスに送出するシ
ステムバスコマンドは、 前記メッセージであるデータ部(57)と、 前記プロセッサ間通信エリアへの書込命令を含む命令を
指定するコマンド部(55)と、 前記メッセージの前記発行先プロセッサに対する前記プ
ロセッサ間通信エリアを指定するアドレス部(56)
と、 前記メッセージの前記発行元プロセッサ情報部(58)
とから成り、 前記プロセッサ間通信装置は、 前記システムバスコマンドを生成するコマンド生成部
(6)と、 生成されたシステムバスコマンドを前記システムバスに
送出するために保持するコマンド送信レジスタ(5)
と、 前記システムバス上に送出された各システムバスコマン
ドを受信して取り込むコマンド受信レジスタ(50)
と、 前記コマンド受信レジスタが取り込んだ各システムバス
コマンドを解析するコマンドアドレス解析部(7)と、 前記コマンド受信レジスタ内のデータ部(57)から前
記メッセージを取り込むためのデータバッファ(8)
と、 前記コマンドアドレス解析部(7)の制御により前記デ
ータバッファ(8)からメッセージを取り込み、該メッ
セージを基にプロセッサ間通信処理を実行するプロセッ
サ間通信実行部(9)と、 前記主記憶のデータの一部を記憶する内蔵キャッシュ
(11)と、 前記内蔵キャッシュの登録及び無効化処理を行うキャッ
シュ制御部(10)とを有し、 前記コマンドアドレス解析部(7)は、 前記コマンド受信レジスタ(50)取り込まれた各
ステムバスコマンドのコマンド部(55)の内容が書込
命令か否かを比較する第1の比較器(51)と、 アドレス部(56)の内容が自プロセッサに対する前記
プロセッサ間通信エリアを指定するアドレスであるか
かを比較する第2の比較器(52)と、 発行元プロセッサ情報部(58)の内容が自プロセッサ
以外のプロセッサであるか否かを比較する第3の比較器
(53)と前記3つの比較器の比較 結果がすべて肯定的であるとき
に前記プロセッサ間通信実行部にプロセッサ間通信を行
わせるための出力を発生する論理部とからなり、 メッセージの発行元プロセッサが主記憶上の発行先プロ
セッサに対するプロセッサ間通信エリアに前記メッセー
ジを格納する書込命令を示すシステムバスコマンドは、
システムバスにのった時に他のプロセッサのプロセッサ
間通信装置にも取り込まれるので、プロセッサ間通信の
発行先であるプロセッサのプロセッサ間通信装置は、
マンドアドレス解析部によりプロセッサに対するプロ
セッサ間通信であることを認識できるため、発行先プロ
セッサに対する発行元プロセッサからの前記プロセッサ
間通信割込要求に相当する要求をしたことになり、発行
先プロセッサのプロセッサ間通信装置は前記プロセッサ
間通信処理を行なうことを特徴とするプロセッサ間通信
装置。
(57) [Claims] 1. A plurality of processors(1,2)And main memory
(3)And the system bus(4)Connected viaCis
Using the system bus command,Message issuing process
Is in main memoryTo the processor that issued the message
ToCommunication area between processors(12,13)ToTheMessage
StoreToIn loosely coupled multiprocessor systems
To, Provided for each processorIn an inter-processor communication device
So, A system that the issuer processor sends to the system bus.
The stem bus command is Data part that is the message(57)When, An instruction including a write instruction to the inter-processor communication area;
Command part to specify(55)When, The program for the processor to which the message is issued.
Address part that specifies the communication area between the processors(56)
When, The issuer processor information section of the message(58)
Consisting of SaidCommunication device between processorsIs A command generation unit for generating the system bus command
(6)When, The generated system bus command is sent to the system bus.
Command transmission register retained for transmission(5)
When, On the system busEach sent toSystem bus command
Receiving the codetake inCommand reception register(50)
When, The command reception register isEach capturedsystembus
Command address analysis unit that analyzes commands(7)When, Data part in the command reception register(57)Before
Data buffer to capture message(8)
When, The command address analysis unit(7)Controlled bySaid de
Message from the data buffer (8)
Based on sageCommunication between processorsprocessingThe processor that runs
Communication execution unit(9)When, Internal cache for storing a part of the data in the main memory
(11)When, A cache for registering and invalidating the internal cache
Control unit(10)And The command address analysis unit(7)Is The command reception register(50)ToEach capturedShi
StembusCommand part of commandContents of (55)Is written
First comparator for comparing instructions(51)When, Address sectionContents of (56)Is for the own processor
Specify the communication area between processorsAddressno
A second comparator for comparing(52)When, PublisherContents of processor information section (58)Is its own processor
Other thanProcessorA third comparator for comparing whether or not
(53) and,Comparison of the three comparators ResultsallWhen is positive
The inter-processor communication execution unitCommunication between processors
Logic unit that generates the output, The processor that issued the message is in main memoryIssuing professional
Against SessaThe message appears in the communication area between the processors.
StoreThe system bus command indicating the write command is
The processor of another processor when it gets on the system bus
Inter-communication device,Of interprocessor communication
Issuing processorCommunication device between processorsIsKo
By the command address analyzerSelfProcessorProfessional against
Communication between SessaCan be recognized,
Said processor from the issuing processor to the processor
Issued a request equivalent to the inter-communication interrupt request
The interprocessor communication device of the destination processor isProcessor
Communication between processors characterized by performing inter-communication processing
apparatus.
JP11659098A 1998-04-27 1998-04-27 Communication device between processors Expired - Fee Related JP3457535B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11659098A JP3457535B2 (en) 1998-04-27 1998-04-27 Communication device between processors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11659098A JP3457535B2 (en) 1998-04-27 1998-04-27 Communication device between processors

Publications (2)

Publication Number Publication Date
JPH11306156A JPH11306156A (en) 1999-11-05
JP3457535B2 true JP3457535B2 (en) 2003-10-20

Family

ID=14690913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11659098A Expired - Fee Related JP3457535B2 (en) 1998-04-27 1998-04-27 Communication device between processors

Country Status (1)

Country Link
JP (1) JP3457535B2 (en)

Also Published As

Publication number Publication date
JPH11306156A (en) 1999-11-05

Similar Documents

Publication Publication Date Title
AU613823B2 (en) Virtual computer system having improved input/output interrupt control
KR100538727B1 (en) Multi-processor system
CN102968395B (en) Method and device for accelerating memory copy of microprocessor
JP2695017B2 (en) Data transfer method
US6052530A (en) Dynamic translation system and method for optimally translating computer code
JPH09190381A (en) Virtual computer system of multi-processor constitution
JPH11306021A (en) Data processor having plural pipeline processing mechanisms
JP3169624B2 (en) Interprocessor communication method and parallel processor therefor
JP3457535B2 (en) Communication device between processors
JP2000353092A (en) Information processor and register file switching method for the processor
JP2663893B2 (en) Architecture simulator
JPH05257796A (en) Distributed and shared memory managing system
JP3052460B2 (en) Cooperative processing type information processing device
JP3328867B2 (en) Multiprocessor arithmetic device and programmable controller having the device
JP3447820B2 (en) Bus controller
JPH01106158A (en) Control system for inter-processor data communication
JPH0363822A (en) Computer control system
JP2785738B2 (en) Distributed memory multiprocessor information processing system
JPH0795288B2 (en) Microcomputer
JPH04291642A (en) Cache control system
JPH04287231A (en) Microprocessor
JPH0711790B2 (en) Data processing device
JPH02162456A (en) Microprocessor
JPH03252856A (en) Processing system for program
JPH07175661A (en) User program load system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees