JPH05282256A - プロセッサ間メッセージ通信方法 - Google Patents

プロセッサ間メッセージ通信方法

Info

Publication number
JPH05282256A
JPH05282256A JP36001091A JP36001091A JPH05282256A JP H05282256 A JPH05282256 A JP H05282256A JP 36001091 A JP36001091 A JP 36001091A JP 36001091 A JP36001091 A JP 36001091A JP H05282256 A JPH05282256 A JP H05282256A
Authority
JP
Japan
Prior art keywords
processor
message
communication
bus
intra
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.)
Withdrawn
Application number
JP36001091A
Other languages
English (en)
Inventor
Hiroki Nagao
裕樹 永尾
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 Engineering Ltd
Original Assignee
NEC Engineering 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 Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP36001091A priority Critical patent/JPH05282256A/ja
Publication of JPH05282256A publication Critical patent/JPH05282256A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 緊急通信の優先的種理を含むシステム全体の
性能向上を図ったプロセッサ間メッセージ通信方法を提
供すること。 【構成】 複数のプロセッサ1,2,3を接続する場合
に、各々のプロセッサ1,2,3が特定共有メモリシス
テムに対して共通システムバス26とは別の各プロセッ
サ間を接続するキャッシュ通信バス50を使用し、プロ
セッサ間メッセージ通信を行い、各々のプロセッサ上に
はキャッシュ通信バス50から直接アクセス可能なプロ
セッサ間メッセージ通信用の数組のメッセージバッフア
32,33,34,35を持ち、各々のメッセージバッ
フア32,33,34,35にはプロセッサ間メッセー
ジ通信の緊急度によって優先度づけがなされており、メ
ッセージバッフア32,33,34,35は各々に固有
のサイクル時間のサンプルウインドウでのみプロセッサ
に認識させるための割り込み処理を発生させる、という
手法が採っている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセッサが共
通バスによって間接的に接続されるマルチプロセッサシ
ステムに関し、特に複数のプロセッサ間に互いに情報を
やり取りし、1つのタスクを複数のプロセッサに割り振
ることにより高性能を発揮する密結合型のマルチプロセ
ッサシステムにおけるプロセッサ間メッセージ通信方法
に関する。
【0002】
【従来の技術】従来のマルチプロセッサシステムとし
て、システム内にある一定容量の共有メモリ領域を持
ち、共有メモリのある固定されたアドレス領域を利用
し、プロセッサ間メッセージ通信の発行側のプロセッサ
が前記アドレス領域にメッセージデータを書き込み、メ
ッセージ受信させたいプロセッサに割り込み処理を実行
し、再び受信側のプロセッサが前記アドレス領域を読み
込むことにより、プロセッサ間メッセージ通信を実行す
るという密結合型のマルチプロセッサシステムがあっ
た。
【0003】
【発明が解決しようとする課題】従来の密結合型マルチ
プロセッサシステムに於けるプロセッサ間メッセージ通
信は、共有メモリ領域内のある固定されたアドレス領域
を利用して処理を行うため、必ず2回以上のメモリアク
セスが発生してシステムバスや共有メモリの負荷による
影響が大きくなり、一定数以上のバスマスタ数になると
システムバスの負荷の増大によりプロセッサ間のメッセ
ージ通信のレスポンスが悪くなるという問題がある。ま
た、複数のプロセッサ間メッセージ通信がある1つのプ
ロセッサに対して実行されると、受信側プロセッサはど
のメッセージ通信の緊急度が高いかを判別することが出
来ないため、ある固定された優先度順位に基づいて発行
側プロセッサに依頼された処理を実行するため、受信タ
イミングによって緊急度の低いプロセッサ間メッセージ
通信に対してサービスを行う場合が多く発生し、緊急度
の高いプロセッサ間メッセージ通信などシステム性能に
寄与する処理のレスポンスが悪くなり、システム全体の
性能が下がるという欠点があった。
【0004】
【発明の目的】本発明は、かかる従来例の有する不都合
を改善し、とくに、緊急通信の優先的種理を含むシステ
ム全体の性能向上を図ったプロセッサ間メッセージ通信
方法を提供することを、その目的とする。
【0005】
【課題を解決するための手段】本発明では、複数のプロ
セッサを接続する場合に、各々のプロセッサが特定共有
メモリシステムに対して共通システムバスとは別の各プ
ロセッサ間を接続するキャッシュ通信バスを使用し、プ
ロセッサ間メッセージ通信を行い、各々のプロセッサ上
にはキャッシュ通信バスから直接アクセス可能なプロセ
ッサ間メッセージ通信用の数組のメッセージバッフアを
持ち、各々のメッセージバッフアにはプロセッサ間メッ
セージ通信の緊急度によって優先度づけがなされてお
り、メッセージバッフアは各々に固有のサイクル時間の
サンプルウインドウでのみプロセッサに認識させるため
の割り込み処理を発生させる、という手法が採られてい
る。これによって前述した目的を達成しようとするもの
である。
【0006】
【実施例】以下、本発明の一実施例を、図1ないし図2
基づいて説明する。図1に、複数のプロセッサが接続さ
れ、分散処理マルチプロセッサ対応のオペレーティング
システム上でデバイスドライバやアプリケーションがス
レッド単位の並列処理を行うコンピュータシステムの一
例を示す。この図1に於いて、プロセッサ1は内部キャ
ッシュバス10を介してキャシュメモリ7及びメッセー
ジ通信制御部4と接続されており、キャシュメモリ7は
共通システムバス26を介して共有メモリシステム3
0,キャシュ通信バス25を介してプロセッサボード1
7上のキャッシュメモリ8,プロセッサボード18上の
キャッシュメモリ9と接続されている。
【0007】共有メモリシステム30は、D−RAMで
構成されておりオペレーティングシステムカーネル部及
び一般アプリケーションプログラムを収納するための十
分なメモリ容量を持っている。キャシュメモリ7,8,
9は、共有メモリシステム30の競合を減少させシステ
ム性能を向上させるために搭載されており、高速動作の
スタティックRAMで構成されている。同様に、プロセ
ッサ2は、内部キャッシュバス11を介してキャシュメ
モリ8及びメッセージ通信制御部5と接続されており、
キャシュメモリ8は共通システムバス26に接続されて
いる。プロセッサ3は、内部キャシュバス12を介して
キャシュメモリ9及びメッセージ通信制御部6と接続さ
れており、キャシュメモリ9は共通システムバス26に
接続されている。
【0008】また、磁気テープ装置29,ハードディス
ク装置28,キー入力装置27などのI/Oアダプタ等
は、全て共通システムバス26によって接続されてい
る。共通システムバス26は、共通システムバス調整装
置31によって調停処理を行われている。内部キャシュ
バス10,11,12とキャシュ通信バス25及びキャ
ッシュシステム7,8,9は、電気的負荷の小さい高速
デバイスで構成されており、プロセッサクロックに同期
した高速クロックで動作している。それぞれのプロセッ
サで実行されるOS及びその他のアプリケーションプロ
グラムは、全て共通システムバス26によって接続され
る共有メモリシステム30及びキャッシュメモリ7,
8,9上で実行される。
【0009】図2は各々のプロセッサボード上に搭載さ
れるメッセージ通信制御部の詳細を示す。メッセージ通
信制御部は、プロセッサ割り込み制御部48、メッセー
ジバッファ32,33,34,35とタイムカウンタ4
0,41,42,43、カウントセットレジスタ36,
37,38,39、カウント比較器44,45,46,
47で構成されており、各メッセージバッファにはキャ
ッシュ通信バス50を介して他のプロセッサボード上の
プロセッサから直接書き込みすることができる。
【0010】メッセージバッファにはそれぞれプロセッ
サ間メッセージ通信処理に関する優先度づけがなされて
おり、優先度の高い順にメッセージバッファ32,3
3,34,35の順となる。タイムカウンタ40,4
1,42,43は、プロセッサクロックによって絶えず
インクリメントカウントを行っており、それぞれのカウ
ント値が対応するカウントセットレジスタ36,37,
38,39と同値となったときにカウント比較器からの
パルスがプロセッサ割り込み制御部48に入力される。
プロセッサが割り込みを受け付けたことをプロセッサ割
り込み制御部48が認識すると、タイムカウンタはリセ
ットされ、初期値(0)から再びインクリメントカウン
トを開始する。プロセッサ割り込み制御部48は、カウ
ント比較器44,45,46,47のパルス出力を監視
し、パルス出力をトリガとしてプロセッサに対してプロ
セッサ割り込み信号49を有効にして割り込みを発生さ
せる。
【0011】そして、プロセッサの割り込み応答時に他
のプロセッサからの各メッセージバッファの出力イネー
ブルを制御し、プロセッサ間通信メッセージを内部キャ
ッシュバス50を通してプロセッサに入力する動作を行
う。また、各々のタイムカウンタの設定値は、システム
起動時及びシステム稼働中に割り込み処理を禁止させ
て、内部キャッシュバス50を通してカウント値を書き
換えることが可能であり、システム設定に応じて変化さ
せることができる。
【0012】カウント設定値は、メッセージバッファに
よって異なっており、ここでは設定値の小さい順にカウ
ントセットレジスタ36,37,38,39の順とな
る。すなわち、タイムカウンタのパルス出力の発生頻度
の高い順に整列すると、メッセージバッファ32,3
3,34,35の順となる。ここで、プロセッサ1が共
有メモリシステム上のあるプログラムを実行する場合、
システム内で負荷状態の低いプロセッサを探し、複数の
プロセッサでプログラムを実行できる環境を整えるた
め、プログラムを並列実行可能なスレッド単位に分割し
始める。
【0013】プロセッサ2の負荷状態が低いことを検出
したプロセッサ1は、分割されたスレッド内の数スレッ
ドをプロセッサ2に実行させるために、プロセッサ2に
対してキャッシュ通信バス50を介したプロセッサ間メ
ッセージ通信を発行する。この場合、プロセッサ1で実
行されるスレッドと比較して、プロセッサ2で実行され
るスレッドの優先度が最も低い場合は、プロセッサ1は
プロセッサ2のボードに搭載されるプロセッサ間メッセ
ージ通信用のメッセージバッファの内、最も優先度の低
いメッセージバッファ35にメッセージを書き込む。こ
の場合、メッセージバッファ35に付随するカウントセ
ットレジスタ39のパルス発生設定値が非常に大きいた
め、例えばプロセッサクロック100 [MHz](サイク
ルタイム10[ns])でパルス発生設定値が100000の場
合、プロセッサ2に対する割り込みが発生する迄の時間
は10[ns]から1[ms]までの範囲で発生すること
になり、平均値を示す平均割り込みサービス時間は500
[μs]になる。
【0014】また、プロセッサ2で実行されるスレッド
の優先度が高い場合は、プロセッサ1はプロセッサ2の
ボードに搭載されるプロセッサ間メッセージ通信用のメ
ッセージバッファの内、最も優先度の高いメッセージバ
ッファ32にメッセージを書き込む。この場合はカウン
トセットレジスタ36のパルス発生設定値が小さいた
め、例えば1000の場合、プロセッサ2に対する割り込み
が発生する迄の時間は10[ns]から10[μs]までの
範囲で発生することになり、平均割り込みサービス時間
は5[μs]になる。同様にしてプロセッサ1からプロ
セッサ3に対してプロセッサ間メッセージ通信が発行さ
れ、その10[μs]後にプロセッサ2からプロセッサ3
に対してプロセッサ間メッセージ通信が発行され、プロ
セッサ1から発行されたプロセッサ間メッセージ通信は
緊急度が低く、プロセッサ2から発行されたプロセッサ
間メッセージ通信の緊急度が高い場合、プロセッサ1は
プロセッサ3ボード上の優先度のやや低いメッセージバ
ッファ38にメッセージを書き込む。その後プロセッサ
2からプロセッサ3ボード上の優先度の最も高いメッセ
ージバッファ32にデータが書き込まれる。
【0015】プロセッサ1のメッセージ書き込み時のメ
ッセージバッファ34に対応するタイムカウンタ42の
カウント値が5000で、プロセッサ2のメッセージ書き込
み時のメッセージバッファ32に対応するタイムカウン
タ40のカウント値が500 の場合、プロセッサ2のメッ
セージ時の双方のカウント値はタイムカウンタ42は60
00で、タイムカウンタ40は500 である。すわなちプロ
セッサ1からのメッセージがプロセッサ3で処理される
のはタイムカウンタ42のカウント値が10000になる40
[μs]後であり、プロセッサ2からのメッセージがプ
ロセッサ3で処理されるのがタイムカウンタ40のカウ
ント値が1000になる5[μs]後となる。ここで、プロ
セッサ1からプロセッサ3に対して依頼される緊急度の
低いプロセッサ間メッセージ通信の処理時間が1[m
s]であったとすると、緊急度の高いプロセッサ1から
のプロセッサ間メッセージ通信は、発行された順序で割
り込みを入力する場合と比較すると995 [μs]早くサ
ービスされることになる。
【0016】
【発明の効果】以上説明したように、本発明によると、
優先度の高いメッセージバッファに書き込まれたプロセ
ッサ間通信メッセージが、優先度の低いメッセージより
も先に処理される確率が高くなり、緊急のプロセッサ間
メッセージ通信が優先度の低いものに待たされることが
非常に少なくなり、これによりプロセッサ間メッセージ
通信の優先度に応じてマルチプロセッサシステムのプロ
セッサ能力を振り分けることが可能となり、その結果シ
ステム全体の総合的な性能向上を図り得るという従来に
ない優れたプロセッサ間メッセージ通信方法を提供する
ことができる。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図である。
【図2】図1内におけるメッセージ通信制御部の具体例
を示すブロック図である。
【符号の説明】
1,2,3 プロセッサ 4,5,6 メッセージ通信制御部 7,8,9 キャッシュメモリ 10,11,12 内部キャッシュバス 13,14,15 割り込み信号 16,17,18 プロセッサボード 19,20,21 共通バス要求信号 22,23,24 共通バス許可信号 25 キャッシュ通信バス 26 共通システムバス 30 共有メインメモリ 31 共通バス調停装置 32,33,34,35 メッセージバッファ 36,37,38,39 カウントセットレジスタ 40,41,42,43 タイムカウンタ 44,45,46,47 カウント比較器 48 プロセッサ割り込み制御 49 プロセッサ割り込み信号 50 キャッシュ通信バス 51 プロセッサクロック

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサがシステム内の共通シ
    ステムバスによって間接的に接続されているマルチプロ
    セッサシステムにおいて、それぞれプロセッサボード上
    にプロセッサ間メッセージ通信用のメッセージバッフア
    を持ち、それぞれのメッセージバッフアに緊急度の大き
    い順に優先度を定義し、通信処理の優先度によって適性
    にプロセッサ能力を割り振ることを特徴とするプロセッ
    サ間メッセージ通信方法。
JP36001091A 1991-12-27 1991-12-27 プロセッサ間メッセージ通信方法 Withdrawn JPH05282256A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP36001091A JPH05282256A (ja) 1991-12-27 1991-12-27 プロセッサ間メッセージ通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36001091A JPH05282256A (ja) 1991-12-27 1991-12-27 プロセッサ間メッセージ通信方法

Publications (1)

Publication Number Publication Date
JPH05282256A true JPH05282256A (ja) 1993-10-29

Family

ID=18467431

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36001091A Withdrawn JPH05282256A (ja) 1991-12-27 1991-12-27 プロセッサ間メッセージ通信方法

Country Status (1)

Country Link
JP (1) JPH05282256A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6578064B1 (en) 1994-04-14 2003-06-10 Hitachi, Ltd. Distributed computing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6578064B1 (en) 1994-04-14 2003-06-10 Hitachi, Ltd. Distributed computing system
US6957434B2 (en) 1994-04-14 2005-10-18 Hitachi, Ltd. Distributed computing system

Similar Documents

Publication Publication Date Title
US10649935B2 (en) Deferred inter-processor interrupts
US5168568A (en) Delaying arbitration of bus access in digital computers
US5560016A (en) System and method for dynamic bus access prioritization and arbitration based on changing bus master request frequency
US5682551A (en) System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto
AU687627B2 (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
JPH07230347A (ja) Scsiディスクドライブパワーダウン装置
JP3519182B2 (ja) 情報処理システムおよびバスアービタならびにバス制御方法
EP0355463A2 (en) Timer channel with multiple timer reference features
JPH04312160A (ja) マルチプロセッサシステムおよびそのメッセージ送受信制御装置
US6393505B1 (en) Methods and apparatus for data bus arbitration
US20240143392A1 (en) Task scheduling method, chip, and electronic device
EP3770759A1 (en) Wake-up and scheduling of functions with context hints
CN109933549B (zh) 一种适用于risc-v处理器的中断控制器
JPS63310051A (ja) プログラム入出力命令を含む入出力プロセスの実行方法および装置
US5953535A (en) Using intelligent bus bridges with pico-code to service interrupts and improve interrupt response
JPH05282256A (ja) プロセッサ間メッセージ通信方法
US6105082A (en) Data processor used in a data transfer system which includes a detection circuit for detecting whether processor uses bus in a forthcoming cycle
EP2657847A1 (en) Information processing system
JPH0656602B2 (ja) キヤツシユを有するプロセツサのための優先制御システム
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
JP2585905B2 (ja) マルチタスク実行装置
JP3124544B2 (ja) バス制御装置
JPH0973429A (ja) コンピュータシステム及びバス間制御回路
JP5494925B2 (ja) 半導体集積回路、情報処理装置およびプロセッサ性能保証方法
JPH0281254A (ja) マルチプロセッサ制御装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990311