JPH0528090A - メモリ制御装置 - Google Patents

メモリ制御装置

Info

Publication number
JPH0528090A
JPH0528090A JP17813691A JP17813691A JPH0528090A JP H0528090 A JPH0528090 A JP H0528090A JP 17813691 A JP17813691 A JP 17813691A JP 17813691 A JP17813691 A JP 17813691A JP H0528090 A JPH0528090 A JP H0528090A
Authority
JP
Japan
Prior art keywords
data
memory
bus
cpu
local
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
JP17813691A
Other languages
English (en)
Inventor
Yushi Fukuchi
雄史 福地
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP17813691A priority Critical patent/JPH0528090A/ja
Publication of JPH0528090A publication Critical patent/JPH0528090A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 マルチプロセッサ・システムにおいてメモリ
アクセスや特定プロセッサの実行終了待ちの頻度を少な
くし、メモリバスの負荷を軽減してメモリアクセスを効
率よくすることを目的とする。 【構成】 プロセッサが共有する主記憶装置と、各プロ
セッサと主記憶装置を結ぶデータバス1の他に、各プロ
セッサがそれぞれアクセスするローカルデータ用メモリ
と、各プロセッサとローカルデータ用メモリを結ぶ別の
データバス2を設けた。そしてデータによりアクセスす
る領域を分けて制御する手段を設けた。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はマルチプロセッサシス
テムにおけるメモリ制御装置に関するものである。
【0002】
【従来の技術】従来技術の構成を説明する。図2と図3
は例えば”High−Performance Com
puter Architecture”(Harol
dS.Stone著、1987年 Addison W
esley発行、pp.299−303)に記述されて
いるような従来のマルチプロセッサシステムの構成図で
ある。図2において、1a、1b、1c、1dはそれぞ
れCPUを示し、2は主記憶装置である。また3aは、
CPU1a、1b、1c、1dと主記憶装置2との間で
データ及び、アドレスの転送を行なうアドレスデータバ
スであり、3bは、CPU1a、1b、1c、1dとバ
ス制御回路4との間でバスの獲得のための制御信号の転
送をする制御信号バスである。また3は、アドレスデー
タバス3aと制御信号バス3bからなるメモリバス、4
は、どのCPUがメモリバス3を使うかを制御するバス
制御回路である。図3において、図2と同番号同符号は
図2に記載のものと同じ機能を持つ。また、5a、5
b、5c、5dは上記CPU1a、1b、1c、1dが
専用でデータを記憶するローカルメモリである。
【0003】つぎにこの従来の回路構成のものの動作を
説明する。ここでは、複数のプログラムがタイムシェア
リングで動作する4台のプロセッサからなるマルチプロ
セッサシステム上で、たとえば、Prog1という1つ
のプログラムが3台のCPUで並列実行される場合を考
える。このときProgは3つの処理単位(タスク)に
分割され、分割された3つのタスクは3台のCPUで並
列に実行されているものとする。Prog1を3つに分
割したタスクをそれぞれProg1(a)、Prog1
(b)、Prog1(c)とする。なお、この時このマ
ルチプロセッサ上ではProg1の他にProg2、P
rog3、...もProg1と同時にタイムシェアリ
ングで実行されているものとする。このプログラムを複
数の処理単位(タスク)に分割した場合、それぞれのタ
スク内で使われるデータは、(1)そのタスク内だけで
使うデータ(ローカルデータ)と、(2)複数のタスク
で共通に使うデータ(共有データ)の2種類に分けられ
る。
【0004】図3で示すような従来例では、(1)ロー
カルデータも、(2)共有データのいずれもが、共有メ
モリ2上におかれ、各CPUは全てのデータを共有メモ
リ2からアクセスする。また図4で表すような従来例で
は、(1)ローカルデータは各CPUのローカルメモリ
5a、5b、5c、5d上に記憶され、(2)共有デー
タは共有メモリ2に記憶される。そして、各CPUはロ
ーカルデータをアクセスする時はそれぞれのCPUに接
続されたローカルメモリからアクセスし、共有データを
アクセスする時には全てのCPUが共有メモリ2からア
クセスする。ここで、一つの例として、Prog1
(a)が最初にCPU1a上で実行され、タイムスライ
スの時間が来るか、あるいはその他の理由で、一度実行
を休止され、CPU1a上では他のプログラムが実行さ
れ、Prog1(a)はCPUが空くのを待っている状
態になり、その後、他のCPU1bが空いたため、CP
U1b上で再びProg1(a)の実行を再開する場合
を例にして、図3と図4の従来例の動作を説明する。
【0005】図2の従来例の場合、CPU1a上でPr
og1(a)の実行が開始されると、Prog1(a)
のデータはローカルデータも共有データも共有メモリ2
上に記憶される。このとき、CPU1aが必要なデータ
をアクセスする場合、そのデータがローカルデータであ
っても、共有データであっても、CPU1aは制御信号
バス3bにバス要求信号を出す。バス制御回路4はその
信号を受け取り、他のCPUがアドレスデータバス3a
を使っているかどうか調べる。他のCPUがアドレスデ
ータバス3aを使っていなければバス制御回路4はCP
U1aに対してバスの使用許可信号をだす。CPU1a
はバスの使用許可信号を受け取ると、アドレスデータバ
ス3aにデータのアドレスを出し、主記憶装置2のデー
タにアクセスする。他のCPUがアドレスデータバス3
aを使っている場合にはCPU1aはアドレスデータバ
ス3aが空くまで待ち、メモリバス3aが空いたら、ア
ドレスデータ3aにデータのアドレスを出し、主記憶装
置2のデータにアクセスする。
【0006】次にProg1(a)が休止状態に入り、
CPU1aでは他のプログラムが実行され、Prog1
(a)が空きCPU待ちの状態になったとする。その
後、CPU1bが空き、Prog1(a)がCPU1b
上での実行権を得、CPU1b上で実行を再開した場合
のCPU1bのメモリアクセスは、Prog1(a)の
データはすべて共有メモリ上にあるので、実行を休止す
る前と同様に行なわれる。図2の従来例では全てのデー
タを共有メモリ2上に記憶していて、全てのCPUが全
てのデータを一つの共有メモリからアクセスするため、
アドレスデータバスの使用頻度が高くなる。そのため、
CPUの数が増えたり、大量のデータを処理するプログ
ラムを複数のプロセッサで同時に行なうと、アドレスデ
ータバスの転送速度がCPUの実行速度に追い付かなく
なり、CPUがアドレスデータバスが空くのを待つ時間
が長くなり、効率が悪くなる。
【0007】図3の従来例はこのような状況を改善する
ために、タスクが固有に使用するローカルデータは各C
PUに接続されたローカルメモリに記憶させ、アドレス
データバスを使わずにアクセスできるようにし、タスク
間で共通に使用するデータのみを共有メモリ2に置くこ
とによって、アドレスデータバスの使用頻度を少なくす
るものである。
【0008】図3の従来例の場合の動作を説明する。C
PU1a上でProg1(a)の実行が開始されると、
Prog1(a)のデータがローカルデータはCPU1
aに隣接して設けられた共有メモリ5a上に記憶され、
共有データは共有メモリ2上に記憶される。このとき、
CPU1aが必要なデータをアクセスする場合、そのデ
ータがローカルデータならば、ローカルメモリ5aから
直接データをアクセスし、アクセスするデータが共有デ
ータならば、CPU1aは制御信号バス3bにバス要求
信号を出す。バス制御回路4はその信号を受け取り、他
のCPUがアドレスデータバス3aを使っているかどう
か調べる。他のCPUがアドレスデータバス3aを使っ
ていなければバス制御回路4はCPU1aに対してバス
の使用許可信号をだす。CPU1aはバスの使用許可信
号を受け取ると、アドレスデータバス3aにデータのア
ドレスを出し、主記憶装置2のデータにアクセスする。
他のCPUがアドレスデータバス3aを使っている場合
にはCPU1aはアドレスデータバス3aが空くまで待
ち、アドレスデータバス3aが空いたら、アドレスデー
タバス3aにデータのアドレスを出し、主記憶装置2の
データにアクセスする。
【0009】次にProg1(a)が休止状態に入り、
CPU1aでは他のプログラムが実行され、Prog1
(a)が空きCPU待ちの状態になったとする。その
後、CPU1bが空き、Prog1(a)がCPU1b
上での実行権を得、CPU1b上で実行を再開した場合
のCPU1bのメモリアクセスは、共有データに関して
は共有メモリ2上に記憶されているため、実行を休止す
る前と同様に行なわれる。しかし、ローカルデータにア
クセスする場合は、Prog1(a)のローカルデータ
は実行を休止する前に実行されていたCPU1aに接続
されたローカルメモリ5a上に記憶されているため、C
PU1bが空いた場合でもProg1(a)はCPU1
aが空くまで待ち続ける。そして、CPU1aが空いた
らCPU1a上で実行を再開して、ローカルメモリ5a
からデータをアクセスするか、あるいは、CPU1bで
実行を再開し、ローカルメモリ5aから、ローカルメモ
リ5bにデータを転送してから、ローカルメモリ5b上
のメモリにアクセスする。
【0010】
【発明が解決しようとする課題】従来の、マルチプロセ
ッサシステムにおけるメモリアクセス装置は以上のよう
に構成されているので、図2の従来例の場合、主記憶装
置2へのアクセスがそれほど頻繁に起らないときはアド
レスデータバス3aを他のCPUが使っていない確率の
方が高い。このためメモリバスの使用許可を得るために
待たされることはあまりない。しかし、CPUの数が多
い場合や、複数のCPUが速に大量のデータを処理する
ような場合には主記憶装置2に対するアクセスが頻繁に
起るため、アドレスデータバス3aの使用頻度が高くな
る。このためメモリバスの使用許可を得るために待たさ
れる確率が高くなり、性能が低下するという課題があっ
た。
【0011】また、図3の従来例の場合、ローカルなデ
ータをプロセッサのローカルメモリにおくことにより、
図2の従来例よりはアドレスデータバスの使用頻度を押
えることができる。しかし、タイムシェアリングシステ
ムにおいては、一度休止したタスクが再実行される時
に、休止前に使用していたローカルデータが記憶されて
いるプロセッサでしか再実行できない場合は、たとえ他
のプロセッサが稼動できる状態でも、もとのプロセッサ
が空くまで待ち続けなければならず、プロセッサの負荷
に偏りができて効率が悪くなる。また、一度休止したタ
スクが再実行される時に、休止前に使用していたローカ
ルデータが記憶されているプロセッサ以外でも実行でき
る場合でも、休止する前に実行されていたプロセッサの
ローカルメモリから再実行するプロセッサのローカルメ
モリへデータをコピーする必要が生じるため、効率が悪
くなるという課題があった。
【0012】この発明は上記のような課題を解消するた
めになされたもので、タイムシェアリングシステムで動
作するマルチプロセッサシステム上で、並列処理を行う
時に、メモリバスの負荷を軽減し、各プロセッサの負荷
の偏りや、ローカルメモリ間のデータの転送をなくし、
効率の良いメモリアクセスが可能な装置を得ることを目
的とする。
【0013】
【課題を解決するための手段】この発明に係るメモリ制
御装置は、プロセッサが共有する主記憶装置と、各プロ
セッサと主記憶装置とを結ぶデータバス1の他に、各プ
ロセッサがそれぞれアクセスするローカルデータ用メモ
リと、各プロセッサとローカルデータ用メモリとを結ぶ
別の複数のデータバス2を設け、プロセッサ間で共通に
使用する共有データは主記憶装置に、各プロセッサがも
っぱら使用するデータはローカルデータ用メモリに記憶
し、さらにこのローカルデータ用メモリは各プロセッサ
からアクセスできる構成とした。
【0014】
【作用】この発明におけるメモリ制御装置は、各プロセ
ッサが共有データをアクセスする時はそのために設けら
れた主記憶装置をアクセスし、各プロセッサがもっぱら
使用するデータをアクセスする時はローカルデータ用メ
モリを別のデータバス2経由でアクセスするよう制御す
る。
【0015】
【実施例】
実施例1.以下、この発明の一実施例を図について説明
する。図1は、この発明の一実施例を示す構成図であ
る。図1において、1a、1b、1c、1dはそれぞれ
CPUを示し、2a、2bは主記憶装置であり、2bは
多重ポートメモリで構成されている。主記憶装置2aに
は共有データ、多重ポートメモリ2bにはローカルデー
タが記憶される。3aは、CPU1a、1b、1c、1
dと主記憶装置2aとの間でデータ及び、アドレスの転
送を行なうアドレスデータバスである。3bは、CPU
1a、1b、1c、1dとバス制御回路4との間でバス
の獲得のための制御信号の転送をする制御信号バスであ
る。3cは、CPU1a、1b、1c、1dと主記憶装
置2bとの間でデータ及び、アドレスの転送を行なうた
めに新らしく設けたアドレスデータバスであり、3は、
アドレスデータバス3a、3cと制御信号バス3bから
なるメモリバスを表している。また4は、どのCPUが
アドレスデータバス3aを使うかを制御するバス制御回
路である。
【0016】多重ポートメモリは複数のメモリポートを
持ち、複数のメモリバスと接続できる。そしてその構造
上からも、メモリからの読出しはすべてのメモリバスか
ら同時読出しが出来る。メモリへの書き込みは、それぞ
れのメモリバスから異なるアドレスへの同時書き込みは
可能である。勿論、同じメモリアドレスに同時に書き込
みは出来ず、どれかのメモリバスから選択して書き込む
ことになる。本発明においては、図1の接続となってい
て、それぞれのローカルメモリへの書き込みは異なるア
ドレスであり、読み出しはプログラム毎なので、異なる
プロセッサが異なるバスを使って同時に読出すことはな
く、あるプログラムについてはどれか一つのプロセッサ
からのアクセスしかない。このように、多重ポートメモ
リは複数のプロセッサの保護のもとに、それぞれのアド
レス領域を参照することが出来る。
【0017】つぎに動作について説明する。この発明に
おけるメモリ制御装置は主記憶装置を2個設け、1つの
主記憶装置2aにはプロセッサ間で共通に使用する共有
データのみをアクセスさせ、もう1つの主記憶装置2b
は多重ポートメモリで構成され、各プロセッサが固有に
使うローカルデータのみをアクセスするように制御す
る。動作例として、従来例の説明とおなじ場合を説明す
る。即ち、Prog1(a)が最初にCPU1a上で実
行され、タイムシェアリングの時間が来るか、あるいは
その他の理由で、一度実行を休止し、空いているCPU
待ちの状態になる。ついで、CPU1a上では他のプロ
グラムが実行され、次に他のCPU1bが空いたため、
CPU1b上で再びProg1(a)の実行を再開する
場合について説明する。
【0018】この場合、データが共有データの場合は、
CPU1aは制御信号バス3bにバス要求信号を出す。
バス制御回路4はその信号を受け取り、他のCPUがア
ドレスデータバス3aを使っているかどうか調べる。他
のCPUがアドレスデータバス3aを使っていなければ
バス制御回路4はCPU1aに対してバスの使用許可信
号をだす。CPU1aはバスの使用許可信号を受け取る
と、アドレスデータバス3aにデータのアドレスを出
し、主記憶装置2aのデータにアクセスする。他のCP
Uがアドレスデータバス3aを使っている場合には、C
PU1aはアドレスデータバス3aが空くまで待つ。ア
ドレスデータバス3aが空いたら、アドレスデータバス
3aにデータのアドレスを出し、主記憶装置2aのデー
タにアクセスする。
【0019】アクセスするデータがローカルデータの場
合は、メモリとバスが共有データの場合と異なってい
る。しかも、ローカルデータを置いてある主記憶装置2
bは多重ポートメモリで構成されているので、アドレス
データバス3cの空きを調べることなく多重ポートメモ
リ2bにアクセスする。次にProg(a)が休止状態
に入り、CPU1aでは他のプログラムが実行され、P
rog1(a)が空きCPU待ちの状態になったとす
る。その後、CPU1bが空き、Prog1(a)がC
PU1b上での実行権を得、CPU1b上で実行を再開
した場合のCPU1bのメモリアクセスは、Prog1
(a)のデータはローカルデータも共有データもすべて
のCPUから対等にアクセスできる主記憶装置2a、多
重ポートメモリ2b上にあるので、CPU1aの動作と
は関係なく、実行を休止する前と同様に行なわれる。つ
まり、バスの使用頻度が抑えられ、かつローカルデータ
のメモリアクセスとCPUとの関係の制約がないので処
理時間に待ちがなくなり、演算が速くなる。
【0020】実施例2.上記実施例ではCPU数が4つ
のマルチプロセッサ構成で、主記憶装置の分割数を2つ
にした場合の例を示したが、CPU数が5つ以上の場合
でも、同様のシステム構成で本発明が提示した機能を有
することが出来る。
【0021】実施例3.また、上記実施例ではローカル
データを置くメモリ装置に、マルチポートメモリを使用
したが、これを通常のシングルポートのメモリに置き換
えても、効率はある程度低下するが、同様の機能をもた
せることができる。この場合には、メモリバス2は1本
であるので、バス使用権の確立のためにメモリバス1と
同様の操作が必要である。この動作は共有データとメモ
リバス1の関係の部分で既に述べたのでここでは省略す
る。ローカルデータ用メモリに通常の主記憶装置と同様
構成のシングルポートのメモリを用いた場合は、バス占
有の制約だけがはたらき、プロセッサの制約は多重ポー
トメモリの場合と同様にない。
【0022】実施例4.また、上記実施例では主記憶装
置の数を2つとしたが、主記憶装置の数を3つ以上にし
て、そのうちいくつかを共有メモリを置くための主記憶
装置として使い、残りをローカルメモリを記憶するため
の記憶装置として使うこともできる。
【0023】
【発明の効果】以上のようにこの発明によれば、各プロ
セッサが共有する主記憶装置と、プロセッサと主記憶装
置を結ぶデータバス1の他に、各プロセッサがそれぞれ
アクセスするローカルデータ用メモリと、各プロセッサ
とローカルデータ用メモリを結ぶ別のデータバス2を設
け、データによりアクセスする領域を分けたので、効率
の良いデータアクセスが可能となり、処理時間が短縮さ
れる効果がある。
【図面の簡単な説明】
【図1】この発明の一実施例を示す構成図である。
【図2】従来のマルチプロセッサ・システムのメモリ制
御装置の構成図である。
【図3】従来のマルチプロセッサ・システムの他のメモ
リ制御装置の構成図である。
【符号の説明】
1a、1b、1c、1d CPU 2a 主記憶装置 2b ローカルデータ用メモリ 3a データバス1 3b データバス2

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 複数のプロセッサが共有する主記憶装置
    と、 上記複数のプロセッサと主記憶装置を結ぶ共通のデータ
    バス1と、 上記各プロセッサがそれぞれにアクセスするローカルデ
    ータ用メモリと、 上記各プロセッサと上記ローカルデータ用メモリを結ぶ
    上記データバス1とは別の複数のデータバス2とを設
    け、 複数のプロセッサ間で共通に使用する共通データはデー
    タバス1経由で上記共有する主記憶装置に、 各プロセッサがもっぱら使用するデータはデータバス2
    経由で対応する上記ローカルデータ用メモリにアクセス
    させる手段を備えたメモリ制御装置。
JP17813691A 1991-07-18 1991-07-18 メモリ制御装置 Pending JPH0528090A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17813691A JPH0528090A (ja) 1991-07-18 1991-07-18 メモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17813691A JPH0528090A (ja) 1991-07-18 1991-07-18 メモリ制御装置

Publications (1)

Publication Number Publication Date
JPH0528090A true JPH0528090A (ja) 1993-02-05

Family

ID=16043284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17813691A Pending JPH0528090A (ja) 1991-07-18 1991-07-18 メモリ制御装置

Country Status (1)

Country Link
JP (1) JPH0528090A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100731969B1 (ko) * 2005-06-28 2007-06-25 엠텍비젼 주식회사 복수 경로를 통한 메모리 공유 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100731969B1 (ko) * 2005-06-28 2007-06-25 엠텍비젼 주식회사 복수 경로를 통한 메모리 공유 방법 및 장치

Similar Documents

Publication Publication Date Title
US4282572A (en) Multiprocessor memory access system
US7650453B2 (en) Information processing apparatus having multiple processing units sharing multiple resources
JPH04306748A (ja) 情報処理装置
KR950010529B1 (ko) 프로세서간 통신을 위한 메모리 공유 장치
US6282144B1 (en) Multi-ported memory with asynchronous and synchronous protocol
JPH0556548B2 (ja)
US7240144B2 (en) Arbitration of data transfer requests
JPH0528090A (ja) メモリ制御装置
JP4592944B2 (ja) Cpuインターフェース回路
JPS6153747B2 (ja)
JP3219422B2 (ja) キャッシュメモリ制御方式
JPH0589027A (ja) 監視機能付ライトバツフア
JPH0351943A (ja) 高速バスと低速バスのバスライン共用化方式
JPS6257050A (ja) 共有メモリ装置
JP2976417B2 (ja) マルチプロセッサシステム
JP3063501B2 (ja) メモリアクセス制御方式
JPH05324533A (ja) デュアルポートメモリ装置
JPS6349815B2 (ja)
JPH02211571A (ja) 情報処理装置
JPH02113358A (ja) ローカルバス式
JPH0375959A (ja) マルチプロセッサのデータ転送装置
JPH04117697A (ja) マルチポートメモリ回路
JPS6386062A (ja) マルチプロセツサ・システムに於ける主記憶アクセスの優先順位制御方式
JPH058462B2 (ja)
JPH07129519A (ja) デュアルcpuシステム