JPH02235167A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH02235167A
JPH02235167A JP1054898A JP5489889A JPH02235167A JP H02235167 A JPH02235167 A JP H02235167A JP 1054898 A JP1054898 A JP 1054898A JP 5489889 A JP5489889 A JP 5489889A JP H02235167 A JPH02235167 A JP H02235167A
Authority
JP
Japan
Prior art keywords
address
memory
processor
shared memory
address space
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
JP1054898A
Other languages
English (en)
Inventor
Yusaku Unno
海野 雄策
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP1054898A priority Critical patent/JPH02235167A/ja
Publication of JPH02235167A publication Critical patent/JPH02235167A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、複数のプロセッサと、これらのプロセッサに
より共有される共有メモリとから成る情報処理装置に関
する。
(従来の技術) 例えば、装置の制御を、複数のプロセッサを同時に動作
させて行なうマルチプロセッサ方式の情報処理装置では
、各プロセッサがそれぞれ固有に使用するメモリの他に
、同時に共有する共有メモリを備える場合がある。
この共有メモリについては、通常、複数のプロセッサが
同時にアクセスすることがないよう、競合調整が行なわ
れること、及び、他のプロセッサが書込みを行なった領
域については、その領域に該当する別のプロセッサのキ
ャッシュを無効化する制御が必要となる。
第2図に、そのような従来の情報処理装置のブロック図
を示す。
図の装置は、共有メモリ10に対し、例えば2つのプロ
セッサA及びプロセッサBが接続された構成となってい
る。
共有メモリ10には、ブ己セッサAと直接接続された制
御部A及びプロセッサBと直接接続された制御部Bの他
に、優先制御部11、キャッシュ制御部l2及びメモリ
モジュール13が設けられている。
制御部Aと制御部Bは、何れもいわゆるインタフェース
の役割りをする回路である。また、優先制御部11は、
プロセッサAとプロセッサBとがメモリモジュール13
に対しアクセスを行なった場合、その競合を調整する回
路で、いわゆるバスコントローラと同様の動作を行なう
回路である。
キャッシュ制御部12は、例えばプロセッサAが、一旦
メモリモジュール13に所定のデータを書込んだ場合、
その領域に該当するプロセッサBのキャッシュを無効化
するための制御を行なう回路である。メモリモジュール
13は、プロセッサA及びプロセッサBによって所定の
データが書込まれあるいは読出される、例えば、ダイナ
ミック・ランダム・アクセス・メモリ等から構成される
ここで、プロセッサA及びプロセッサBは、何れも次の
ような信号を共有メモリ1oに出力し、あるいは共有メ
モリ10から受入れる。
先ず、アドレス信号ADHは、メモリモジュール13の
書込みあるいは読出しアドレスを内容とする信号である
。また、データ信号DATは、プロセッサA−?IBが
メモリモジュール13に対し書込みを行なう信号、ある
いはメモリモジュール13から読出され、プロセッサA
’PBに出力される信号である。
メモリ起動信号MSTは、プロセッサAやBが共有メモ
リ10に対し、書込みあるいは読出し動作を開始する前
に、共有メモリ10の起動をかける信号である。メモリ
リード信号MRDは、プロセッサAやBが、共有メモリ
10のメモリモジュール13を読出す動作を開始する指
示のための信号である。また、メモリライト信号MWR
は、同様に書込み動作を開始する指示信号である。
メモリアクセス終了信号MAEは、先に、メモリ起動信
号MSTによって起動をかけられた共有メモリ1oがプ
ロセッサAやBに対し、アクセスを終了する旨を通知す
る信号である。キャッシュ無効化信号IRQは、共有メ
モリ10がプロセッサAやBに対し、そのキャッシュ無
効化処理開始を指示する信号である。
最後に、キャッシュ無効化アドレス信号SIAは、プロ
セッサAやプロセッサBのキャッシュメモリの所定のア
ドレスについて、その無効化のためのアドレス信号であ
る。
このキャッシュの無効化動作については、第3図を用い
て説明することとし、先ず、第2図に示した情報処理装
置の一般的な動作説明を行なう。
始めに、読出し動作開始に当たっては、例えば、プロセ
ッサAが共有メモリ10に対し、アドレス信号ADH,
メモリスタート信号MST,メモリリード信号MRDを
送信する。これに対し、共有メモリ1oの制御部Aは、
メモリスタート信号MSTを受信したとき、優先制御部
11に対し起動をかける. 優先制御部11は、ここで、プロセッサBが共有メモリ
IQに対しアクセスしているかどうか、そのアクセス状
態をチェックする。プロセッサBがアクセスしていない
場合には、制御部Aに対し応答を返し、データの読出し
を許可する。また、プロセッサBが共有メモリ10に対
しアクセスしている場合には、そのアクセスの終了を待
ってから制御部Aに対し読出し許可のための応答を返す
。制御部Aが読出し許可の応答を受取ると、先にプロセ
ッサAから受信したアドレス信号ADRより、ロウアド
レス信号(RAS)及びカラムアドレス信号(CAS)
をメモリモジュール13に供給し、目的のアドレスから
データを読取る。そして、アクセス終了時、プロセッサ
Aに対し、メモリアクセス終了信号MAE及びデータD
ATを送信する。
プロセッサAは、このようにして共有メモリ1oから所
定のデータを読取ることができるが、このような制御部
Aを介するメモリモジュール13のアクセスは、比較的
時間がかかるため、通常、内部に図示しないキャッシュ
メモリを内蔵している。そして、最近に読出された一定
量のデータをキャッシュメモリに格納し、これをアクセ
スしてアクセス動作の高速化を図っている。
また、書込み動作は次のような手順で行なわれる。
先ず、プロセッサAが共有メモリ10に対し、アドレス
信号ADRと、書込み用のデータDAT、メモリスター
ト信号MST,メモリライト信号MWRを出力する。
共有メモリ10の制御部Aは、これらの信号を受信する
と、先に説明したと同様の要領で、優先制御部11に対
し起動をかける。優先制御部11は、先に説明したと同
様に、アクセスの競合をチェックした後、制御部Aに書
込み許可の応答を返す。制御部Aは、その応答を受信後
、メモリモジュール13に対し、ロウアドレス信号(R
AS)と、カラムアドレス信号(CAS)と、メモリラ
イト信号M W’ R及びデータ信号DATを送出し、
目的のアドレスへデータを書込む。そして、そのアクセ
ス終了時、プロセッサAに対しメモリアクセス終了信号
MAEを出力する。
一方、プロセッサAによってメモリモジュール13の一
定の領域にデータが書込まれると、その領域に該当する
プロセッサBのキャッシュを無効化しなければならない
。そこで、キャッシュ制御部12は、制御部Bを介して
、プロセッサBに対し、キャッシュ無効化信号IRQと
キャッシュ無効化アドレス信号SEAとを出力する。プ
ロセッサBがこれらの信号を受信すると、内蔵するキャ
ッシュメモリを調べ、キャッシュ無効化アドレスと同一
のアドレスについてデータを保持している場合には、そ
のデータを無効化する。実際には、キャッシュメモリを
アクセスするために、論理アドレスとキャッシュメモリ
の物理アドレス相互間の変換用テーブルを内蔵している
。従って、そのテーブル内のアドレスがキャッシュ無効
化アドレスSIAと一致した場合、そのアドレスを無効
化するような処理を行なう。
上記の動作は、プロセッサAについて説明したが、プロ
セッサBについても全く同様に行なわれろ。
さて、第3図に、従来の情報処理装置の動作説明図を示
す。
この図は、キャッシュメモリの無効化動作を説明するた
めのものである。
この例の場合、プロセッサA及びプロセッサBは、それ
ぞれ同一の論理的なアドレス空間を持つよう構成されて
いる。そして、そのアドレス空間は、それぞれのプロセ
ッサの持つ固有のメモリをアクセスするためのローカル
メモリのアドレス空間2と、共有メモリのアドレス空間
5とが混在する構成となっている。共有メモリのアドレ
ス空間5については、プロセッサAについてもプロセッ
サBについても、全く同一の論理アドレスが付されてい
る。これは次のような理由による。
先ず、プロセッサAの共有メモリ1oに対するアクセス
が行なわれると、プロセッサAからはメモリアドレスA
DHが共有メモリ10に対して出力される。この場合、
供給メモリ1oは、そのメモリアドレスADHを、その
ままプロセッサBに対しキャッシュ無効化アドレスSI
Aとして出力する。
プロセッサBは、これを受入れて、プロセッサAが書込
みを行なった領域について、図のX印のようにその部分
のアクセスを禁止するための無効化処理を行なう。無効
化処理部3は、キャッシュメモリ4に対し、このような
無効化処理を実行する回路である。
(発明が解決しようとする課題) ところで、上記のような従来の情報処理装置においては
、次のような問題があった。
第3図において、例えばプロセッサAがアドレス空間を
設定し、その所定の部分に共有メモリのアドレス空間5
を設定する。そして、まだ未使用状態の共有メモリ1o
に対しアクセスを開始すると、書込み動作が行なわれた
場合、先に説明した要領で、プロセッサBに対する無効
化処理の要求が発せられる。
プロセッサBについては、まだそのアドレス空間内にお
ける共有メモリのアドレス空間が設定されておらず、自
動的にプロセッサAと整合するようなアドレス空間が設
定されてしまう。そして、キャッシュメモリ4の無効化
が実行される。
上記方式では、共有メモリ1oに2以上のプロセッサが
接続されていたとしても、何れか1つのプロセッサの設
定した共有メモリのアドレス空間と同一位置に、それぞ
れのプロセッサの共有メモリのアドレス空間が設定され
ることになる。
従って、例えばプロセッサAについては、全アドレス空
間における共有メモリのアドレス空間が理想的な位置に
あるとしても、他のプロセッサについて同様のことがい
えるとは限らない。即ち、他のプロセッサについては、
その位置に共有メモノのアドレス空間が設定されると、
ローカルメモリの所定のアドレス空間が分断されたりし
て、プログラムの処理効率を低下させる場合もある。こ
れを避けるためには、強制的に決められた共有メモリの
アドレス空間を考慮してメモリマッピングを行なわなけ
ればならない。従って、この方式は他のプロセッサに対
しメモリマッピング上の大きな制約を課すことになる。
しかし、各プロセッサが実行している既存のプログラム
の中には、このような制約があった場合、そのまま実行
が困難なものもある。即ち、既存のプログラムやデータ
等のソフトウェア資産が、そのままの状態で承継できな
いといった問題点があった。
本発明は以上の点に着目してなされたもので、共有メモ
リ10に接続された複数のプロセッサが、それぞれ自由
に共有メモリのアドレス空間を設定しアクセスできるよ
うにした情報処理装置を提供することを目的とするもの
である。
(課題を解決するための手段) 本発明の情報処理装置は、複数のプロセッサと、これら
のプロセッサにより共有される共有メモリとから成り、
前記各プロセッサには、他のプロセッサが書込み動作の
ために前記共有メモリをアクセスしたとき出力されるメ
モリアドレスを受入れて、自己が予め設定した前記共有
メモリのアドレス空間における、対応するメモリアドレ
スにアドレス変換するアドレス変換部と、このアドレス
変換部の変換後のメモリアドレスに該当するキャッシュ
メモリを無効化する無効化処理部とを設けたことを特徴
とするものである。
(作用) 以上の本発明の装置は、各プロセッサがそれぞれ自由に
共有メモリのアドレス空間を設定し、共有メモリからキ
ャッシュ無効化アドレスが入力した場合には、それぞれ
アドレス変換部においてアドレス変換を行なった後、無
効化処理部がキャッシュメモリの相当するアドレスを無
効化する。この結果、各プロセッサは、大きさも位置も
自由に共用メモリのアドレス空間を設定し、それぞれ効
率良くそのメモリマッピングを行なうことができる。
(実施例) 以下、本発明を図の実施例を用いて詳細に説明する。
第1図は、本発明の情報処理装置のブロック図を示す。
図の装置は、共有メモリ10をプロセッサAとプロセッ
サBとが共有している場合の例を示している。
ここで、プロセッサAとプロセッサBとは何れも同様の
構成をしており、キャッシュメモリ4と、この無効化を
処理する無効化処理部3と、アドレス変換部21及び設
定アドレス空間判定部22とを備えている。
尚、この他に、各プロセッサには、それぞれ各種演算処
理のための制御部やローカルメモリ等が格納されている
が、図示を省略している,また、本発明の情報処理装置
においては、各プロセッサは、それぞれ図に示すように
、自由な大きさのアドレス空間を設定し、又、その中の
ローカルメモリ用のアドレス空間2と共有メモリ用のア
ドレス空間5とは、それぞれ別々の位置に自由に設定し
ている。勿論、共有メモリのアドレス空間5の大きさも
、必ずしも等しく選定する必要はなく、共有メモリ10
が許容する領域以下であればよい。
ここで、アドレス変換部21は、共有メモリ10から出
力されるキャッシュ無効化アドレスSIAを、自己のア
ドレス空間における対応する共有メモリのアドレスに変
換する回路から成る。
実際には、この実施例の場合、自己の共有メモリのアド
レス空間の最小アドレスMINとキャッシュ無効化アド
レスSIAとを加算して、新たなメモリアドレスADH
’を得る加算回路から構成される。
設定アドレス空間判定部22は、自己の設定した共有メ
モリのアドレス空間の最小アドレスMINと最大アドレ
スMAXを格納し、自己がアクセスしようとするメモリ
アドレスADHと比較して、共有メモリ10をアクセス
する場合に、そのメモリスタート信号MSTを生成する
回路である。
第4図に本発明のアドレス変換部の動作説明図を示し、
第5図に上記設定アドレス空間判定部のブロック図を示
す。
先ず、第4図において、本発明のアドレス変換部は、プ
ロセッサAから出力されるメモリアドレス、即ち共有メ
モリ10から出力されるキャッシュ無効化アドレスSI
Aに、プロセッサBの共有メモリの最小アドレスMIN
を加算する。そして、プロセッサBの共有メモリのメモ
リアドレスADH’を生成する。
この場合、図のように、プロセッサAから出力されるメ
モリアドレスは、共有メモリの先頭から数えてX番目の
アドレスとすると、共有メモリBについてもその先頭か
らX番目のアドレスに該当する。しかしながら、プロセ
ッサAについては、その共有メモリの最初のアドレスは
、論理アドレス空間内の自己の共有メモリのアドレス空
間の最小アドレスとなる。一方、プロセッサBについて
も、そのプロセッサBの設定したアドレス空間内の共有
メモリのアドレス空間の最小アドレスとなる。
この各プロセッサの最小アドレスの相違を考慮して、ア
ドレス変換部はアドレスの整合を行なっ?いる。
次に、設定アドレス空間判定部22は、第5図に示すよ
うに、最小アドレス設定部22+ と、最小アドレス比
較部22■と、最大アドレス設定部22,と、最大アド
レス比較部224と、アンドゲート22,とから構成さ
れている。
そして、ブロセヅサがアクセスしようとするメモリアド
レスADRは、最小アドレス比較部22■と最大アドレ
ス比較部224とに同時に入力する。最小アドレス設定
部22、の出力は最小アドレス比較部22■に入力し、
メモリアドレスADHと比較される。また、最大アドレ
ス設゛定部22,の出力は、最大アドレス比較部224
に入力し、メモリアドレスADHと比較される。
最小アドレス設定部22+には、第1図に示したような
、プロセッサが設定した共有メモリのアドレス空間5の
最小値を格納しておく。また、最大アドレス設定部22
,には、第1図に示した共有メモリのアドレス空間5の
最大値を設定しておく。
?こで、例えば、最小アドレス比較部22■は、メモリ
アドレスADRが最小アドレスよりも大きい場合に、ハ
イレベルの信号をアンドゲート22sに向けて出力する
ものとする。また、最大アドレス比較部224は、メモ
リアドレスADHが最大アドレスよりも小さい場合に、
ハイレベルの信号をアンドゲート228に向けて出力す
るものとする。
このように構成すると、メモリアドレスADRが最小ア
ドレスと最大アドレスの中間にある場合にのみ、アンド
ゲート22,からハイレベルの信号が出力され、その他
の場合には、アンドゲート22.からロウレベルの信号
が出力されることになる。
この結果、アンドゲート226から出力される信号を、
第1図に示すようにメモリスタート信号MSTとして使
用し、これを共有メモリ10に向けて出力してやれば、
何れのプロセッサも予め設定した共有メモリのアドレス
空間のアクセスの際、共有メモリ1oを自動的に起動す
ることができる。
以上のように、第1図の装置においては、例えばプロセ
ッサAがメモリアドレスADRを用いて共有メモリ1o
をアクセスしようとすると、設定アドレス空間判定部2
2がメモリスタート信号MSTを生成して共有メモリ1
oに出力する。
また、こうしてプロセッサAによる共有メモリ10への
書込み等が行なわれると、プロセッサBのアドレス変換
部21にキャッシュ無効化アドレスSIAが入力する。
このキャッシュ無効化アドレスSIAが先に説明したよ
うにアドレス変換部21で変換され、無効化処理部3が
動作してキャッシュメモリの無効化が実行される。逆の
場合の動作も同様である。
尚、第6図〜第8図に、第1図に示したアドレス変換部
21の具体的なアドレス変換例の動作説明図を示す。
第6図は、先ず、プロセッサの論理的アドレス空間が8
MB(メガバイト)、共有メモリのアドレス空間が2M
Bの場合の例を示し、第7図はそれぞれ32MBとI 
MBの例、第8図はそれぞれI MBと512κB(キ
ロバイト)の例を示す。
先ず、第6図の場合、キャッシュ無効化アドレスSIA
の上位2ビットが、最小アドレスMINの上位2ビット
とそのまま置換えられる。残りのビットについてはその
ままにし、メモリアドレスADH’が得られる。
第7図の場合には、最小アドレスMIHの上位5ビット
が、キャッシュ無効化アドレスSIAの上位5ビットに
置換えられ、新たなメモリアドレスADH’が得られる
第8図の場合には、最小アドレスの上位1ビットが、キ
ャッシュ無効化アドレスSIAの上位1ビットと置換え
られて、新たなメモリアドレスADH’が得られる。
以上のように、アドレス変換部21は比較的簡単な構成
で実現でき、いわゆる加算等の演算を実際に行なわなく
てもその実施が可能である。
本発明は以上の実施例に限定されない。
上記の例では、プロセッサを2つ所有したものを示した
が、プロセッサの数は何台あっても差し支えない。また
、設定アドレス空間の判定等は、他の比較回路等を用い
て自由に構成して差し支えない。
(発明の効果) 以上説明した本発明の情報処理装置によれば、他のプロ
セッサが書込み動作のために共有メモリをアクセスした
とき、そのメモリアドレスを変換するアドレス変換部を
設けて、自己の共有メモリのアドレス空間の無効化用に
変換するので、各プロセッサは自由にアドレス空間を設
定することができる。これにより、各プロセッサのソフ
トウェアの構成等の自由度が増し、システムを効率良く
運用することができる。
【図面の簡単な説明】
第1図は本発明の情報処理装置のブロック図、第2図は
従来の情報処理装置のブロック図、第3図は従来の情報
処理装置の動作説明図、第4図は本発明のアドレス変換
部の動作説明図、第5図は設定アドレス空間判定部のブ
ロック図、第6図〜第8図まではアドレス変換部のアド
レス変換例を示す説明図である。 2・・・ローカルメモリのアドレス空間、3・・・無効
化処理部、4・・・キャッシュメモリ、5・・・共有メ
モリのアドレス空間、 10・・・共有メモリ、21・・・アドレス変換部、2
2・・・設定アドレス空間判定部。 本発明の情報処理m置ブロック図 第  l  図 プロセッサAの アドレス空間 プロセッサBの アドレス空間 従来の情報処理装N勤作説明図 第3図 従来の情報処理装置ブロック図 第2図 アドレス変換部動作説明図 第4図 ADH 設定アドレス空問判定部ブロック図 第5図 <SIA> <ADR> アドレス変換例 第6図 <SIA> <ADR’> アドレス変換例 第8図 <SIA> < A D R’> アドレス変換例 第7図

Claims (1)

  1. 【特許請求の範囲】 複数のプロセッサと、 これらのプロセッサにより共有される共有メモリとから
    成り、 前記各プロセッサには、 他のプロセッサが書込み動作のために前記共有メモリを
    アクセスしたとき出力されるメモリアドレスを受入れて
    、自己が予め設定した前記共有メモリのアドレス空間に
    おける、対応するメモリアドレスにアドレス変換するア
    ドレス変換部と、このアドレス変換部の変換後のメモリ
    アドレスに該当するキャッシュメモリを無効化する無効
    化処理部とを設けたことを特徴とする情報処理装置。
JP1054898A 1989-03-09 1989-03-09 情報処理装置 Pending JPH02235167A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1054898A JPH02235167A (ja) 1989-03-09 1989-03-09 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1054898A JPH02235167A (ja) 1989-03-09 1989-03-09 情報処理装置

Publications (1)

Publication Number Publication Date
JPH02235167A true JPH02235167A (ja) 1990-09-18

Family

ID=12983422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1054898A Pending JPH02235167A (ja) 1989-03-09 1989-03-09 情報処理装置

Country Status (1)

Country Link
JP (1) JPH02235167A (ja)

Similar Documents

Publication Publication Date Title
US7373452B2 (en) Controller for controlling nonvolatile memory
US4038645A (en) Non-translatable storage protection control system
US5623632A (en) System and method for improving multilevel cache performance in a multiprocessing system
US20030135669A1 (en) DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces
JP2001522492A (ja) メモリアクセス保護装置
WO1997046937A1 (en) Method and apparatus for caching system management mode information with other information
US5502828A (en) Reducing memory access in a multi-cache multiprocessing environment with each cache mapped into different areas of main memory to avoid contention
US6851036B1 (en) Method and apparatus for controlling external devices through address translation buffer
US4035779A (en) Supervisor address key control system
US4042913A (en) Address key register load/store instruction system
KR100298955B1 (ko) 데이타처리시스템
JPH0519176B2 (ja)
US5727179A (en) Memory access method using intermediate addresses
JPH0727492B2 (ja) 緩衝記憶装置
US6021466A (en) Transferring data between caches in a multiple processor environment
US4037207A (en) System for controlling address keys under interrupt conditions
JPH1091521A (ja) 二重ディレクトリー仮想キャッシュ及びその制御方法
JPH02235167A (ja) 情報処理装置
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor
RU2020563C1 (ru) Устройство для распределения данных при параллельном копировании информации
JP2542284B2 (ja) 緩衝記憶装置および緩衝記憶装置システム
JPS63247852A (ja) キヤツシユメモリ制御方法
JPH04175946A (ja) マルチプロセッサ・データ処理システムおよびそれに用いられるキャッシュ装置
JPH03127146A (ja) 情報処理装置
JPH0561769A (ja) メモリ・アクセス方法