JPH08339353A - マルチプロセッサ装置 - Google Patents

マルチプロセッサ装置

Info

Publication number
JPH08339353A
JPH08339353A JP7143133A JP14313395A JPH08339353A JP H08339353 A JPH08339353 A JP H08339353A JP 7143133 A JP7143133 A JP 7143133A JP 14313395 A JP14313395 A JP 14313395A JP H08339353 A JPH08339353 A JP H08339353A
Authority
JP
Japan
Prior art keywords
buffer
bus
shared memory
memory
access
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.)
Pending
Application number
JP7143133A
Other languages
English (en)
Inventor
Bunichi Muramatsu
文一 村松
Makoto Kise
誠 木瀬
Kazuhisa Ishida
和久 石田
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.)
Hitachi Ltd
Hitachi Chubu Software Ltd
Hitachi Asahi Electronics Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Chubu Software Ltd
Hitachi Asahi Electronics Co 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 Hitachi Ltd, Hitachi Chubu Software Ltd, Hitachi Asahi Electronics Co Ltd filed Critical Hitachi Ltd
Priority to JP7143133A priority Critical patent/JPH08339353A/ja
Publication of JPH08339353A publication Critical patent/JPH08339353A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 共有メモリへのアクセスにおけるバスの占有
時間を削減すること。 【構成】 複数のバスに接続された複数のプロセッサ
と、前記複数のプロセッサがアクセス可能な共有メモリ
と、前記バスと前記プロセッサとの接続制御を行うバス
・プロセッサ制御手段と、前記共有メモリとバスのアク
セスを制御するメモリ・バス制御手段とを備えたマルチ
プロセッサ装置において、前記メモリ・バス制御手段
は、前記複数の共通バスからの前記共有メモリアクセス
データを格納する複数のバッファと、前記複数のバッフ
ァの使用状況に基づいて複数の共通バスからのデータを
空いているバッファに格納する手段と、前記バッファに
格納されているデータを基に共有メモリにアクセスする
手段を備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチプロセッサ装置
に関し、特に、複数のバスと共有メモリを有するマルチ
プロセッサ装置に適用して有効な技術に関するものであ
る。
【0002】
【従来の技術】近年システムの高速化、多機能化の傾向
がいっそう強くなっているため、システムの構成として
は、マルチプロセッサ、マルチバス構成が必須となりつ
つある。
【0003】従来において、マルチプロセッサ装置にお
ける複数のバスからのメモリアクセスに関しては、特開
平6−110828号公報に開示されたメモリ制御装置
のようなものが挙げられる。
【0004】これは、複数のバスからメモリをアクセス
する場合において、アクセスする優先順位を自由に設定
し、汎用性を向上できるようにしたものである。
【0005】
【発明が解決しようとする課題】本発明者は、上記従来
技術を検討した結果、以下の問題点を見いだした。
【0006】上記従来技術では、複数のプロセッサが複
数バスから共有メモリをアクセスする場合、1つのバス
からのアクセスを受け付けると、メモリアクセス中の他
のバスがそのアクセスが終了するまで待たされるため、
バスの占有時間が長くなるという問題点がある。
【0007】本発明の目的は、複数プロセッサと共有メ
モリ間のアクセスにおけるバスの占有時間を削減するこ
とが可能な技術を提供することにある。
【0008】本発明の前記ならびにその他の目的と新規
な特徴は、本明細書の記述及び添付図面によって明らか
になるであろう。
【0009】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
下記のとおりである。
【0010】複数のバスに接続された複数のプロセッサ
と、前記複数のプロセッサがアクセス可能な共有メモリ
と、前記バスと前記プロセッサとの接続制御を行うバス
・プロセッサ制御手段と、前記共有メモリとバスのアク
セスを制御するメモリ・バス制御手段とを備えたマルチ
プロセッサ装置において、前記メモリ・バス制御手段
は、前記複数の共通バスからの前記共有メモリアクセス
データを格納する複数のバッファと、前記複数のバッフ
ァの使用状況に基づいて複数の共通バスからのデータを
空いているバッファに格納する手段と、前記バッファに
格納されているデータを基に共有メモリにアクセスする
手段を備える。
【0011】
【作用】上述した手段によれば、複数の共通バスからの
アクセスに対し、バス単位に占有されない複数のバッフ
ァを有し、共有メモリへのアクセスデータを空いている
バッファに格納し、順次、バッファのデータで共有メモ
リにアクセスしていくように制御することにより、メモ
リアクセス中の他のバスがそのアクセスが終了するまで
待つといったことが必要なくなり、共有メモリのアクセ
ス状況に左右されることなく、データがバッファに格納
された時点でそのバスは解放されるので、共有メモリへ
のアクセスにおけるバスの占有時間を削減することがで
きる。
【0012】特に、バスのアクセス時間に対してメモリ
アクセス時間が遅いシステムでは、1つのバスからの連
続アクセスに対し、複数のバッファを連続アクセスのデ
ータにそれぞれ割り付けることにより、バスの占有時間
を大幅に削減することができる。
【0013】以下、本発明の構成について、実施例とと
もに説明する。
【0014】なお、実施例を説明するための全図におい
て、同一機能を有するものは同一符号を付け、その繰り
返しの説明は省略する。
【0015】
【実施例】図1は、本発明の一実施例であるマルチプロ
セッサ装置の構成を説明するための図である。
【0016】本実施例のマルチプロセッサ装置は、図1
に示すように、複数のプロセッサ101a〜101f
と、それらが共有する共有メモリ102と、共有メモリ
102にアクセスするための共通バス103a、103
bと、メモリアクセス用に先頭アドレス、R/Wフラ
グ、転送データを持ち、バスに割り付けない複数のバッ
ファ107(1)〜107(n)と、共有メモリ102
の制御と共通バス103のアービタ等のバス制御とアク
セス順位を制御とを行う制御部106を有するメモリ・
バス制御手段104、共有メモリ102とメモリ・バス
手段104とを繋ぐメモリバス105とを備える。な
お、この図1では、バス・プロセッサ制御手段は省略し
てある。
【0017】次に、本実施例のメモリ・バス制御手段1
04の構成について図2〜図5を用いて詳細に説明す
る。
【0018】本実施例のメモリ・バス制御手段104
は、図2に示すように、共有メモリ制御部200とバリ
ッドビット制御部201とバス制御部202とバッファ
制御部203とデータセレクタ204とからなる制御部
106とバッファ107とから構成される。
【0019】また、バッファ107は、図3に示すよう
に、メモリアクセスの先頭番地301と、リードかライ
トかを示すフラグ302と、ライト時の書き込みデータ
もしくは、リード時、メモリから読み出されたデータで
格納するエリア302とからなる。
【0020】図2に示す共有メモリ制御部200は、バ
ッファ107に格納されたデータを基に共有メモリとの
アクセスを行い、アクセス終了後に、バリッドビットリ
セット信号をバリッドビット制御部201に出力する。
【0021】バリッドビット制御部201は、バッファ
制御部203からのバリッドビットセット信号により、
バッファ107の使用状況を示すバリッドビットに”
1”をセットしたり、リセットしたりする制御を行う、
例えば、バッファ1(107(1))が使用中である場
合には、そのバリッドビット(例えば、V1)に”1”
がセットされる。
【0022】バス制御部202は、優先順位決定回路を
備え、共通バス103からバスリクエストが来ると,バ
スリクエストの優先順位付けを行い、バリッドビット制
御部201からのバリッドビット情報221により、空
いているバッファ107にそのバスリクエストのバス許
可信号212を出力する。
【0023】バッファ制御部203は、バス許可信号2
12を受けると、そのバス番号をデータセレクト信号2
15、216として出力し、バッファ制御信号217、
218を出力する。
【0024】データセレクタ204は、そのデータセレ
クト信号215、216の値により、セレクトされたデ
ータをバッファ107にバッファ制御信号217、21
8のタイミングで書き込む。
【0025】次に、本実施例の制御部106の動作につ
いて説明する。
【0026】本実施例の制御部106は、まず、バス制
御部において、図4に示すように、複数の共通バス(例
えば、共通バス1、n)からアクセス要求がきた場合、
アクセス要求を受けた順番(ここでは、共通バス1が先
とする)にそのデータをバッファに格納していくための
バス調停を行い(ステップ401)、格納するバッファ
の使用状況などのバッファ情報を確認し(ステップ40
2)、バッファに空きがあるかどうかをチェックし(ス
テップ403)、空きがなければ(FULLの場合)、
空きができるまで待機し、空きがあれば、共通バス1に
おけるバス許可信号212をバッファ制御部203に出
力する(ステップ404)。
【0027】そして、再びバッファに空きがあるかどう
かをチェックし(ステップ405)、空きがなければ、
空きができるまで待機し、空きがあれば、共通バスnに
おけるバス許可信号212をバッファ制御部203に出
力する(ステップ406)。
【0028】そして、各バス許可信号212がバッファ
制御部203に出力されると、図5に示すように、各バ
ッファ制御部203が各バッファ(ここでは、バッファ
1とバッファn)に各共通バスからのデータを各データ
セレクタ204を介してそれぞれパラレルに転送し、バ
リッドビット制御部201でそれぞれのバリッドビット
をセットする(ステップ501)。
【0029】そして、各バッファに格納されたデータが
共有メモリ制御部200に送られて共有メモリのアクセ
スが行われ(ステップ502)、アクセス終了後に、共
有メモリ制御部200からバリッドビットセット信号が
それぞれバリッドビット制御部201に出力され、それ
ぞれのバッファに対するバリッドビットをリセットし
(ステップ503、ステップ504)、終了する。
【0030】以下に、具体的な例を挙げて本実施例の制
御部106について説明する。
【0031】例えば、バッファ1が使用中に、共通バス
103a、103bからアクセス要求が入った場合を取
り挙げると、図2に示すように、バリッドビット情報2
21により、共通バス103aの許可信号212がバス
制御部202からバッファ制御部203(2)に出力さ
れる。
【0032】バッファ制御部203(2)は、バリッド
ビットデータ211とバス許可信号212により、デー
タセレクト信号216に共通バス103aのバス番号が
出力され、そのデータがバッファ107(2)に書き込
まれる。
【0033】全てのバッファが使用中の場合は、バス許
可信号212は出力されない。
【0034】また、バッファへの書き込みが発生すると
バリッドビットセット信号214がバリッドビット制御
部201にはいり、バリッドビットV2に”1”がセッ
トされる。
【0035】メモリライト時は、バッファ107(2)
のデータが、共有メモリ制御部200に送られて共有メ
モリ102へのアクセスが行われると、共有メモリ制御
部200からバリッドビットリセット信号220が出力
される。
【0036】メモリリード時は、バッファ制御部203
がバッファのデータ出力終了後、バリッドビット制御部
201の該当するバリッドビットV2にリセットをかけ
る。
【0037】次に、本実施例のマルチプロセッサ装置に
おける各プロセッサの共有メモリへのアクセスについて
の具体的例を挙げ、タイミング図を用いて説明する。
【0038】(例1)図6に示すように、図1に示した
プロセッサ101aが共有メモリ102にアクセスを開
始した少し後に、101bがアクセスを開始した場合を
取り挙げる。
【0039】プロセッサ101aが、リクエスト信号を
出力すると、共通バス103aに先頭アドレス301、
R/Wフラグ302、転送データ303が出力され、バ
ッファ107(1)に格納される。
【0040】バッファ107(1)にデータが格納され
ると制御部106内のバッファ使用状況を示すフラグV
1(バリッドビット)に”1”をセットする。
【0041】そして、バッファ107(1)のデータ
は、メモリの使用状況を見て共有メモリ102へライト
され、V1がリセットされる。
【0042】続いて、101bが、リクエスト信号を出
力する。共通バス103aに先頭アドレス301、R/
Wフラグ302、転送データ303が出力され、バッフ
ァ107(1)は、前記アクセスによりバッファ使用状
況を示すV1が”1”のため、空のバッファである10
7(2)に格納される。
【0043】バッファ107(2)にデータが格納され
ると制御部106内のバッファ使用状況を示すフラグV
2に”1”をセットする。この時点で共通バス103a
は解放される。
【0044】そして、バッファ107(2)のデータ
は、メモリの使用状況を見て共有メモリ102へライト
され、V2がリセットされる。
【0045】(例2)図7に示すように、図1に示した
プロセッサ101aが共有メモリ102にアクセスを開
始した少し後に、101cがアクセスを開始した場合を
取り挙げる。
【0046】プロセッサ101aがリクエスト信号を出
力し、共通バス103aに先頭アドレス301、R/W
フラグ302、転送データ303が出力され、バッファ
107(1)に格納される。バッファ107(1)にデ
ータが格納されると制御部106内のバッファ使用状況
を示すフラグV1に”1”をセットされ、共通バス10
3aは解放される。その後、メモリの使用状況を見て1
07(1)のデータが共有メモリ102へライトされ、
V1がリセットされる。
【0047】続いて、プロセッサ101cがリクエスト
信号を出力し、共通バス103bに先頭アドレス30
1、R/Wフラグ302、転送データ303が出力さ
れ、バッファ107(1)は、前記アクセスによりバッ
ファ使用状況を示すV1が”1”のため、空のバッファ
である107(2)に格納される。107(2)にデー
タが格納されると制御部106内のバッファ使用状況を
示すフラグV2に”1”がセットされ、共通バス103
bが解放される。その後、メモリの使用状況を見て10
4のデータが共有メモリ102へライトされ、V2がリ
セットされる。
【0048】(例3)図8に示すように、図1に示した
プロセッサ101aが共有メモリ102にアクセスを開
始した少し後に、101cがアクセスを開始した場合で
かつ、バッファ107(1)にすでに何等かのデータが
格納されている場合を取り挙げる。
【0049】プロセッサ101aがリクエスト信号を出
力し、共通バス103aに先頭アドレス301、R/W
フラグ302、転送データ303が出力され、バッファ
107(1)は、前記アクセスによりバッファ使用状況
を示すV1が”1”のため、空のバッファである107
(2)に格納される。バッファ107(2)にデータが
格納されると制御部106内のバッファ使用状況を示す
フラグV2に”1”がセットされ、共通バス103aを
解放する。その後、メモリの使用状況を見て107
(2)のデータが共有メモリ102へライトされ、V2
がリセットされる。
【0050】次に、101cがリクエスト信号を出力
し、共通バス103bに先頭アドレス301、R/Wフ
ラグ302、転送データ303が出力される。
【0051】ここで、バッファ107(1)に格納され
ていたデータは、すでに共有メモリにライトされて、フ
ラグV1”0”、フラグV2”1”となっているため、
バッファ107(1)にそのデータを格納する。バッフ
ァ107(1)にデータが格納されると制御部106内
のバッファ使用状況を示すフラグV1に”1”がセット
され、共通バス103bを解放する。
【0052】その後、メモリの使用状況を見てバッファ
107(1)のデータが共有メモリ102へライトさ
れ、V1がリセットされる。
【0053】したがって、説明してきたように、複数の
共通バスからのアクセスに対し、バス単位に占有されな
い複数のバッファを有し、共有メモリへのアクセスデー
タを空いているバッファに格納し、順次、バッファのデ
ータで共有メモリにアクセスしていくように制御するこ
とにより、メモリアクセス中の他のバスがそのアクセス
が終了するまで待つといったことが必要なくなり、共有
メモリのアクセス状況に左右されることなく、データが
バッファに格納された時点でそのバスは解放されるの
で、共有メモリへのアクセスにおけるバスの占有時間を
削減することができる。
【0054】以上、本発明者によってなされた発明を、
前記実施例に基づき具体的に説明したが、本発明は、前
記実施例に限定されるものではなく、その要旨を逸脱し
ない範囲において種々変更可能であることは勿論であ
る。
【0055】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば、下
記のとおりである。
【0056】1.共有メモリへのアクセスにおけるバス
の占有時間を削減することができる。
【図面の簡単な説明】
【図1】本発明の一実施例であるマルチプロセッサ装置
の構成を説明するための図である。
【図2】本実施例のメモリ・バス制御手段104の構成
について説明するための図である。
【図3】本実施例のメモリ・バス制御手段104の構成
について説明するための図である。
【図4】本実施例のメモリ・バス制御手段104の構成
について説明するための図である。
【図5】本実施例のメモリ・バス制御手段104の構成
について説明するための図である。
【図6】本実施例のマルチプロセッサ装置における各プ
ロセッサの共有メモリへのアクセスを説明するためのタ
イミング図である。
【図7】本実施例のマルチプロセッサ装置における各プ
ロセッサの共有メモリへのアクセスを説明するためのタ
イミング図である。
【図8】本実施例のマルチプロセッサ装置における各プ
ロセッサの共有メモリへのアクセスを説明するためのタ
イミング図である。
【符号の説明】
101…プロセッサ、102…共有メモリ、103…共
通バス、104…メモリ・バス制御手段、105…メモ
リバス、106…制御部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 木瀬 誠 愛知県名古屋市中区栄三丁目10番22号 日 立中部ソフトウエア株式会社内 (72)発明者 石田 和久 愛知県尾張旭市晴丘町池上1番地 株式会 社日立製作所オフィスシステム事業部内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数のバスに接続された複数のプロセッ
    サと、前記複数のプロセッサがアクセス可能な共有メモ
    リと、前記バスと前記プロセッサとの接続制御を行うバ
    ス・プロセッサ制御手段と、前記共有メモリとバスのア
    クセスを制御するメモリ・バス制御手段とを備えたマル
    チプロセッサ装置において、 前記メモリ・バス制御手段は、前記複数の共通バスから
    の前記共有メモリアクセスデータを格納する複数のバッ
    ファと、前記複数のバッファの使用状況に基づいて複数
    の共通バスからのデータを空いているバッファに格納す
    る手段と、前記バッファに格納されているデータを基に
    共有メモリにアクセスする手段を備えたことを特徴とす
    るマルチプロセッサ装置。
  2. 【請求項2】 前記請求項1に記載のマルチプロセッサ
    装置において、 前記メモリ・バス制御手段におけるバッファ格納手段
    は、バッファの空き情報を示すバリッドビットの更新、
    管理を制御するバリッドビット制御手段と、前記バリッ
    ドビット制御手段からの前記バッファ空き情報を基に優
    先順位の高いバスの許可信号を出力するバス制御手段
    と、前記バッファへデータを書き込み、そのバッファが
    使用済みであるというバリッドビット信号を前記バリッ
    ドビット制御手段に出力するバッファ制御手段とからな
    ることを特徴とするマルチプロセッサ装置。
JP7143133A 1995-06-09 1995-06-09 マルチプロセッサ装置 Pending JPH08339353A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7143133A JPH08339353A (ja) 1995-06-09 1995-06-09 マルチプロセッサ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7143133A JPH08339353A (ja) 1995-06-09 1995-06-09 マルチプロセッサ装置

Publications (1)

Publication Number Publication Date
JPH08339353A true JPH08339353A (ja) 1996-12-24

Family

ID=15331692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7143133A Pending JPH08339353A (ja) 1995-06-09 1995-06-09 マルチプロセッサ装置

Country Status (1)

Country Link
JP (1) JPH08339353A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651139B1 (en) 1999-03-15 2003-11-18 Fuji Xerox Co., Ltd. Multiprocessor system
KR100887417B1 (ko) * 2007-04-11 2009-03-06 삼성전자주식회사 멀티 프로세서 시스템에서 불휘발성 메모리의 공유적사용을 제공하기 위한 멀티패쓰 억세스블 반도체 메모리장치
KR101430687B1 (ko) * 2007-09-28 2014-08-18 삼성전자주식회사 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및그에 따른 다이렉트 억세스 부팅방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6651139B1 (en) 1999-03-15 2003-11-18 Fuji Xerox Co., Ltd. Multiprocessor system
KR100887417B1 (ko) * 2007-04-11 2009-03-06 삼성전자주식회사 멀티 프로세서 시스템에서 불휘발성 메모리의 공유적사용을 제공하기 위한 멀티패쓰 억세스블 반도체 메모리장치
KR101430687B1 (ko) * 2007-09-28 2014-08-18 삼성전자주식회사 다이렉트 억세스 부팅동작을 갖는 멀티 프로세서 시스템 및그에 따른 다이렉트 억세스 부팅방법

Similar Documents

Publication Publication Date Title
US6393506B1 (en) Virtual channel bus and system architecture
US4449183A (en) Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US5850530A (en) Method and apparatus for improving bus efficiency by enabling arbitration based upon availability of completion data
US5574868A (en) Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
US5590299A (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
EP0737924A2 (en) Bus arbritation and data transfer
US6021473A (en) Method and apparatus for maintaining coherency for data transaction of CPU and bus device utilizing selective flushing mechanism
EP1288785B1 (en) Method and interface for improved efficiency in performing bus-to-bus read data transfers
JP2002132701A (ja) メモリ制御装置
US5918070A (en) DMA controller with channel tagging
US6748505B1 (en) Efficient system bus architecture for memory and register transfers
US7062588B2 (en) Data processing device accessing a memory in response to a request made by an external bus master
JP2591502B2 (ja) 情報処理システムおよびそのバス調停方式
JP3466214B2 (ja) 情報処理装置
US5754802A (en) Increasing data transfer efficiency for a read operation in a non-split transaction bus environment by substituting a write operation for the read operation
JPH08339353A (ja) マルチプロセッサ装置
JPH0793274A (ja) データ転送方式及びデータ転送装置
US5826045A (en) Arbitration parking apparatus and method for a split transaction bus in a multiprocessor computer system
US6009482A (en) Method and apparatus for enabling cache streaming
JP3111052B2 (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
JPH03150654A (ja) キヤツシユを有するプロセツサのための優先制御システム
JP4335327B2 (ja) 調停装置および方法
US6240474B1 (en) Pipelined read transfers
JP3240863B2 (ja) 調停回路
JP2731768B2 (ja) メモリ制御装置