JPS62206658A - 記憶管理装置 - Google Patents

記憶管理装置

Info

Publication number
JPS62206658A
JPS62206658A JP61048316A JP4831686A JPS62206658A JP S62206658 A JPS62206658 A JP S62206658A JP 61048316 A JP61048316 A JP 61048316A JP 4831686 A JP4831686 A JP 4831686A JP S62206658 A JPS62206658 A JP S62206658A
Authority
JP
Japan
Prior art keywords
communication
data
memory management
block
control block
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
JP61048316A
Other languages
English (en)
Inventor
Norio Nakagawa
中川 典夫
Katsuaki Takagi
高木 克明
Tsuneo Funabashi
船橋 恒男
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
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Priority to JP61048316A priority Critical patent/JPS62206658A/ja
Priority to US07/015,097 priority patent/US4939636A/en
Publication of JPS62206658A publication Critical patent/JPS62206658A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野コ この発明は、データ処理技術さらには階層型記憶装置を
有するシステムにおける記憶管理方式に適用して特に有
効な技術に関し、例えば2以上のマイクロプロセッサを
有するマルチプロセッサシステムにおけるメモリ管理ユ
ニットに利用して有効な技術に関する。
[従来の技術] データ処理システムでは、2個以上のマイクロプロセッ
サを用いるマルチプロセッサシステムと呼ばれるシステ
ムを構成することがある。このようなマルチプロセッサ
システムでは、マイクロプロセッサ間で通信が必要とな
る。しかしながら、従来のマイクロプロセッサは通信手
段を持ってぃない。そこで、第9図に示すように、各マ
イクロプロセッサla、lb・・・・に共通に接続され
た共有メモリ2を仲介として、マイクロプロセッサ間の
通信を行なうパラレル通信方式が考えられている。
また、マルチプロセッサシステムでは、各マイクロプロ
セッサの制御下に、それぞれ密結合されたメモリ3a、
3b、・・・・が設けられる。
本発明者らは、上記マルチプロセッサシステムにおいて
、各メモリ2,3a、3b・・・・のような高速アクセ
ス可能な主メモリと大容量2次記憶装置とからなる仮想
記憶方式を採用した階層記憶構成とするとともに、この
階層型記憶装置を管理するため、第9図に破線で示すよ
うに、メモリ管理ユニットMMUI、MMU2.・・・
・を設けたマルチプロセッサシステムについて検討した
[発明が解決しようとする問題点] 上記マルチプロセッサシステムにおいては、マイクロプ
ロセッサ1aまたは1bが、共有メモリ2を参照した際
にかかる主メモリ内に所望のデータがない場合、2次記
憶装置との間で例えばページ単位での置き換えが行なわ
れる。これとともに、変換テーブルや管理情報の書き換
えが行なわれる。
このような共有メモリ2の制御情報は、各MMU1およ
びMMU2にそれぞれ保持されることになるので、メモ
リ制御情報に変更があった場合は、メモリ管理ユニット
MMUI、MMU2間で知らせ合わないと、各マイクロ
プロセッサが共有メモリ2を参照する場合に、正しいデ
ータが得られなくなるおそれが生ずる。
しかるに、従来提案されているメモリ管理ユニットは通
信手段を有していないので、メモリ制御情報の変更はオ
ペレーティング・システムによってマイクロプロセッサ
間で共有メモリ2を介して行ない、その後メモリ管理ユ
ニットMMUI、MMU2に知らせてやるという方式を
とらなくてはならない。
しかし、そのような方式では、マイクロプロセッサ間の
通信のオーバヘッドが大きくなるとともに、各メモリ管
理ユニット内に正しいメモリ制御情報が入るまでに時間
がかかり、その間に誤ったデータの読み出しが行なわれ
て、システムが誤動作するおそれがある。
この発明の目的は、仮想記憶方式を採用した階層型記憶
装置を有するマルチプロセッサシステムにおいて、メモ
リ管理情報に変更があってもオペレーティング・システ
ムに負担をかけることなく正しいメモリ管理を行なえる
ようにすることにある。
この発明の前記ならびにそのほかの目的と新規な特徴に
ついては、本明細書の記述および添附図面から明らかに
なるであろう。
[問題点を解決するための手段] 本願において開示される発明のうち代表的なものの概要
を説明すれば、下記のとおりである。
すなわち、仮想記憶方式を採用した階層型記憶装置を有
するマルチプロセッサシステムにおいて、各マイクロプ
ロセッサごとに設けられるメモリ管理装置に、相互間の
通信を可能にするシリアル通信手段を設け、共通のメモ
リ管理情報の変更を直接メモリ管理装置間で知らせ合う
ようにするというものである。
[作用] 上記手段によれば、マイクロプロセッサがオペレーティ
ング・システムによってメモリ管理情報の変更を知らせ
てやる必要がないという作用により、オーバヘッドが減
少し、メモリ管理情報に変更があってもオペレーティン
グ・システムに負担をかけることなく、正しいメモリ管
理を行なえるようにするという上記目的を達成すること
ができる。
[実施例] 第1図には、仮想記憶管理を行なう本発明の一実施例の
メモリ管理ユニットのブロック図が示されている。
特に制限されないが、図中鎖線Aで囲まれた各回路ブロ
ックは単結晶シリコン基板のような一個の半導体チップ
上において形成される。
この実施例のメモリ管理ユニットMMUは、全体の制御
を司るMMU制御ブロック11と、仮想記憶管理に使用
されるアドレス変換用のテーブルや各種管理情報が保持
されるアドレス変換バッファ12.ALU (演算論理
ユニット)や各種レジスタ1.シフタ等からなる演算ブ
ロック13、アドレス信号、データ信号など入出力信号
のインタフェースを行なう入出力制御ブロック14およ
び他のメモリ管理ユニットとの間でシリアル通信を行な
うための通信制御ブロック15などにより構成されてい
る。仮想記憶管理に必要なアドレス変換テーブルの全体
は、外部の主メモリ内に格納されており、その一部がバ
ッファ12内に保持される。
上記MMU制御ブロック11は、特に制限されないが、
PLA(プログラマブル・ロジック・アレイ)もしくは
マイクロプログラムROMにより構成され、入出力制御
ブロック14を介してマイクロプロセッサより供給され
る論理アドレスを用いてアドレス変換テーブルを検索し
て実メモリの物理アドレスを得たり、不要になったペー
ジデータを主メモリから吐き出す際に、修正ビットを調
べて書換え指定のあった記憶ページについては、2次記
憶装置内の対応する記憶ページへ書き換えるなどの制御
を行なう。
MMU制御ブロック11は、通信制御ブロック15を介
して他のメモリ管理ユニットから送信されて来たコマン
ドを解読することによって、自己のアドレス変換バッフ
ァ12内のページ情報や管理情報を書き換えたり、ある
いはアドレス変換バッファ12内の共有メモリに関する
情報を変更した場合に、通信制御ブロック15に対して
変更した情報の送信を指令する制御を行なうようになっ
ている。
つまり、この実施例では、通信制御ブロック15は通信
プロトコルのみ制御し、実際のコマンド、データの解読
、実行はMMU制御ブロック11によって行なわれるよ
うになっている。
そこで、通信制御ブロック15が受信したコマンドをM
MU制御ブロック11に渡したり、送信データ及び受信
データを通信制御ブロック15と演算ブロック14との
間で受渡しするため、ブロック間インタフェース用のコ
マンドレジスタ16とデータレジスタ17がメモリ管理
ユニット内に設けられている。
第2図に、上記のようなメモリ管理ユニット間の通信を
行なうのに適した通信データのフォーマットの一例が示
されている。
すなわち、この実施例の通信データは、識別子IDとコ
マンド部CMD及びデータ部DTとにより構成されてい
る。識別子IDは、通信を受けるべきメモリ管理ユニッ
トMMUを指定する部分で、例えばその最上位ビットに
よりすべてのメモリ管理ユニットを対象とするグローバ
ル通信が、個々のメモリ管理ユニットに対するローカル
通信かを指定する。
また、識別子IDの残りの複数ビットは、例えば通信を
受けるべきメモリ管理ユニットを指定するコード化され
たビットとされる。それ故に、識別子IDの残りのビッ
ト部分を参照することによって、いずれのメモリ管理ユ
ニットに対する通信かを決定できるようになっている。
つまり、各メモリ管理ユニットにはそれぞれ特有の認識
コードが与えられており、識別子ID内のコードが自分
に与えられた認識コードと一致するか否か判定すること
によって、自己宛の通信であるか否か識別するようにな
っている。これによって、複数個のマイクロプロセッサ
とそれに接続されたメモリ管理ユニットとからなるマル
チプロセッサシステムにおいて、特定のメモリ管理ユニ
ットに対する通信はもちろん全てのメモリ管理ユニット
に対する通信も可能となる。
通信データのうち、識別子IDに続くコマンド部CMD
には、処理内容を示すコマンドコードが入る。ここに入
るコマンド(命令)の種類は、メモリ管理情報を他のメ
モリ管理ユニットに知らせるという通信の目的から、次
のようなものを含む。
先ず第1は、修正ビットやアクセスビット等メモリペー
ジの履歴を示すため各ページごとに設けられているフラ
グを変更する命令である。修正ビットはマイクロプロセ
ッサが対応するページ内のデータの書込み(修正)を行
なったか否か覚えておくのに使用される。また、アクセ
スビットは、対応するページに対する読出し、があった
か否か覚えておくために使用されるもので、このアクセ
スビットによって例えばL RU (Least Re
centlyUsed)と呼ばれるページ書換えアルゴ
リズムを実行する際に利用することができる。
通信データのコマンド部CMDに入る命令の他の例とし
ては、プロテクション情報の変更命令や共有ページに関
する主メモリと2次記憶装置間の転送命令などがある。
プロテクション情報は、各ページに対してマイクロプロ
セッサが書込みや読み出し、プログラムの実行を行なえ
るか否か示す。例えば、書き込みに対して禁止するよう
にプロテクション情報を持っていると、オペレーティン
グ・システム用プログラムのような重要なデータの入っ
ていページの書換えを禁止することができる。主メモリ
と2次記憶装置間の転送命令は、共有ページについてペ
ージの書換えがあった場合に利用される。
上記のような各種命令を用意しておくことによって、共
有メモリに関し複数のメモリ管理ユニット内にある共通
のメモリ管理情報の相互の一致を保つことができる。
一方、通信データ部DTにはニアドレス変換テーブル上
で変更のあったページ番号等、コマンドに対応した処理
の対象の指定とそれがどのように変化したのかを示すデ
ータが入るようにされる。
第3図に上記構成のメモリ管理ユニットを用いたマルチ
プロセッサシステムの一構成例が示されている。
このシステムは、3個のマイクロプロセッサ1a、lb
、lcと、各々のマイクロプロセッサに密結合されたメ
モリ管理ユニット4a、4b、4Cと、メモリ2,3a
、3bとによって構成されている。メモリ3aは、例え
ばメモリ管理ユニット4aの管理下におかれたマイクロ
プロセッサ1aによってのみアクセス可能なローカルメ
モリとされる。メモリ3bはメモリ管理ユニット4bと
40の管理下におかれ、マイクロプロセッサ1bと1a
によってアクセス可能なローカルメモリとされ、マイク
ロプロセッサ1bと10はマスク・スレーブ関係にある
コンピュータシスタムを構成している。
これに対し、メモリ2はすべてのメモリ管理ユニット4
a、4b、4cの管理下におかれた共有メモリとされ、
いずれのマイクロプロセッサからもアクセス可能なよう
にされている。
上記メモリ管理ユニット4a〜4cとメモリ2゜3a、
3b間を結合するデータ/アドレス・バス5a、5b、
5cは、バス・スイッチ6a、6b。
6cを介してシステム・バス7に結合可能にされている
。これによってシステム・バス7に接続されたハードデ
ィスク装置やフロッピディスク装置のような2次記憶装
置8とメモリ2,3a、3bとの間でページの書換えが
可能にされる。なお、9は各メモリ管理ユニット4a、
4b及び40間のシリアル通信を行なう通信線である。
上記マルチプロセッサシステムにおいては、例えばメモ
リ管理ユニット4a内のローカルメモリ3aに関するメ
モリ管理情報に変更があった場合は、その変更を他のメ
モリ管理ユニット4bや4Cに知らせる必要はない。こ
れに対して、メモリ管理ユニット4aないし4cの少な
くとも1つにおいて、共用メモリ2に関するメモリ管理
情報に変更があった場合、他の全てのメモリ管理ユニッ
トにその変更を知らせないと、共用メモリ2に関する管
理情報の内容が相互に食い違うこととなる結果としてシ
ステムが誤動作するおそれが生ずる。
また、メモリ管理ユニット4b及び4cの少なくとも1
つにおいてローカルメモリ3bに関する管理情報に変更
があったときはメモリ管理ユニット4b、4a間で(4
aは不要)変更を知らせ合う必要がある。上記のような
通信の受け手の異なるシリシアル通信が、第1図のメモ
リ管理ユニットによって可能となる。
次に、メモリ管理ユニット内の通信制御ブロックの具体
的な構成例について説明する。
この実施例のメモリ管理ユニットのためのシリアル通信
方式として1例えば[株]日立製作所製HD6303の
ようなシングルチップマイコン等において採用されてい
るシリアル・コミュニケージョン・インタフェース方式
、もしくはローカル・ネットワークで採用されているC
8MA/CD(Carrier 5ense Mult
iple Access/Co11isionD et
ection)方式が利用されている。
第4図には、シリアル・コミュニケーション・インタフ
ェース方式を採用した場合の通信制御ブロックの構成例
と、各通信制御ブロック間のシステム構成が示されてい
る。
各メモリ管理ユニットにおける通信制御ブロック15a
ないしL5cは、互いに同じ構成にされ、15aにおい
て詳細に示されているように、実質的にシリアル信号出
力端子を意味する送信ポート21、実質的にシリアル信
号受信端子を意味する受信ポート22、送信ポート21
に結合されたシフトレジスタから成るような並直列変換
回路23、受信ポート22に結合されたシフトレジスタ
から成るような直並列変換回路24.識別子IDがセッ
トされるレジスタ26、・レジスタ26から供給される
識別子と直並列変換回路24を介して供給される受信デ
ータにおける認識コードとの一致、不一致を判定する識
別回路27、送信データや受信データを一時的に保持す
るバッファ25.28とから構成される。
識別子レジスタ26は、プログラマブルとされ、特に制
限されないが、CPUからの制御によってシステムでの
固定の値がそれに書き込まれる。
この実施例において、特に制限されないが、受信バッフ
ァ28は、第1図のMMU制御ブロック11によって他
のデータ処理が行なわれている期間において複数の通信
データが送信された場合でも、無視される通信データが
生じないようにするために、複数の通信データを保持可
能なようにその容量が大きくされる。なお、送信バッフ
ァ25は、大きい容量は必ずしも必要とされない。
また、この実施例では各通信制御ブロック15に対し、
システムクロック5CLKが共通に供給され、シリアル
通信がシステムクロック5CLKに同期して行なわれる
ようにされている。ただし、通信はクロック同期式に限
定されるものではない。
メモリ管理情報の変更に伴い、通信すべきデータの発生
があった場合、その通信データは、第1図のデータレジ
スタ17を介して第4図の送信バッファ回路25に供給
される。並直列変更回路23は、送信バッファ回路25
から並列データ信号を受け、それを直列データ信号に変
更する。並直列変更回路23から出力される直列データ
信号は、送信ポート21を介して他のメモリ管理ユニッ
トに供給される。
通信データは、前述のように、識別子IDを含む。識別
子IDは、前述のように、グローバル通信かローカル通
信かを示す最上位ビットと、残りの識別コードビットと
からなる0通信データの発信元から発生される識別子コ
ードは、ローカル通信の場合、前述のように通信を受け
るべきメモリ管理ユニットに与えられている識別コード
と一致される。グローバル通信の場合、発信元から発生
される識別コードは1通信データそれ自体の参照によっ
て通信の終了を検出できるように考慮されたコードとさ
れる。その場合の識別コードは、特に制限されないが、
発信元のメモリ管理ユニットそれ自体に与えられている
識別コードと同じにされる。
直並列変換回路24は、受信ポート22を介して通信デ
ータとしてのシリアル信号を受け、それをパラレル信号
に変換する。
識別回路27は、直並列変換回路24から供給される受
信データのうちの識別子IDデータと、識別子レジスタ
26に予めセットされている識別データとの参照に基づ
いて、次のような制御動作を行なう。
先ず、受信した通信データの識別子IDのうちの最上位
ビットがグローバル通信レベルを示し、またかかる受信
データにおける認識コードが識別子レジスタ26の認識
コードと一致しているなら、言い替えると1発信元から
発信された通信データが発信元に供給されたなら、識別
回路27は更にの通信を終了させる。このときは、直並
列変換回路24にセットされた通信データは、受信バッ
ファ28、送信バッファ25へは与えられない。
受信した通信データのうちの識別子rDにおける最上位
ビットがグローバル通信レベルを示し。
かつ認識コードが識別子レジスタ26の認識コードと一
致していない場合、識別回路28は、直並列変換回路2
4に与えられた通信データを受信バッファ28に取り込
ませると共に、その通信データを送信バッファ25、並
直列変換回路23を介して送信ポート21に供給させる
。これによって、受信した通信データが再びシリアルデ
ータとして送信ポートから出力される。
受信した通信データのうちの識別子IDの最上位ビット
がローカル通信レベルを示し、かつ認識コードが識別子
レジスタ26の認識コードと一致している場合、認識回
路27は、直並列変換回路24にセットされた受信の通
信データを受信バッファ28に取り込ませる。この場合
、識別回路27は、受信の通信データの送信バッファ2
5への転送を実行させない。
受信した通信データのうちの識別子IDの最上ビットが
ローカル通信レベルを示し、がっ認識コードが識別子レ
ジスタ26の認識コードと一致していない場合、識別回
路27は、受信した通信データを送信バッファ25及び
並直列変換回路23を介して送信ポート21へ出力させ
る。この場合、識別回路27は、直並列変換回路24に
セットされた通信データの受信バッファ28への転送を
実行させない。
このように、上記各通信制御ブロック15は、受信した
通信データの識別子IDがローカル通信を示し認識コー
ドが自分に与えられた認識コードと一致しなかった場合
には、通信データをメモリ管理ユニット内部に取り込ま
せず、そのまま送信ポート21より出力させる。これに
対し、識別子ID内のコードが自分の認識コードと一致
すると、識別子IDに続くコマンド部CMDとデータ部
DTの内容をバッファ28内に取り込ませて保持させる
。通信制御ブロック15は受信優先にされ、常に受信可
能な状態にされるが、MMU制御ブロック11は常に受
信可能とはならないので、上記のごとく一旦バッファ2
6に受信データを保持し、MMU制御ブロック11に対
しては受信したことだけを知らせるようになっている。
これによって、MMU制御ブロック11は実行中の処理
が終才した時点で、バッファ28内に取り込まれている
最先のコマンドから先に受け取ってそれを解読し、対応
する処理を実行することができる。このとき、処理に必
要な情報はバッファ28からデータレジスタ17を介し
て演算ブロック14に渡される。
受信した通信データが他のすべてのメモリ管理ユニット
に対するグローバル通信であることが判定された場合に
は、各メモリ管理ユニット内の通信制御ブロック15は
受信したデータをバッファ28内に取り込ませ保持させ
ると共に、同じ内容を次段のメモリ管理ユニットへ送信
させる。ただし、通信が一巡して自分が送信した内容と
同じデータを受信したときは、バッファ内のデータをク
リアして、次段のメモリ管理ユニットへは通信しないよ
うにされている。
なお、複数のメモリ管理ユニットが第4図のように通信
線9によって循環状に結合される場合、グローバル通信
の際に通信データの識別子IDに与えられる認識コード
は、前述のように発信元の認識コードと一致されるので
なく、発信元のメモリ管理ユニットの直前に位置するメ
モリ管理ユニットに与えられている認識コードと一致さ
れても良い。グローバル通信の際の認識コードがこのよ
うに変更される場合は、通信データが、循環状に結合さ
れた複数のメモリ管理ユニットの全てに伝送された段階
で通信動作を終了させることができる。すなわち、発信
元のメモリ管理ユニットによる通信データの受信なしに
、通信動作を終了させることができる。これに応じてデ
ータ通信におけるオーバヘッドを小さくできる。しがし
ながら、通信データにおける認識コードをこのように変
更する場合は、次の点に注意する必要がある。すなわち
、それぞれのメモリ管理ユニットによる認識コードの設
定の際、循環状に結合される複数のメモリ管理ユニット
の結合位置までも管理する必要が生ずる。これに応じて
各メモリ管理ユニットの動作が複雑になるとともに、シ
ステムの構築もしくは変更が比較的難しくなってくる。
前述のようにグローバル通信の際に通信されるべき認識
コードをいわば自己指定コードとする場合は、複数のメ
モリ管理ユニットがどのような順序を持って結合されて
いるかにかかわらずに、データ通信を終了させることが
でき、その結果として、各メモリ管理ユニットの動作を
比較的単純にできるとともに、システム形成も容易にな
る。
第5図及び第6図には、通信方式としてC8MA/CD
方式を採用した場合の通信制御ブロックの要部の構成と
、タイムチャートが示されている。
この方式においては、共通の通信線9に接続されたすべ
てのメモリ管理ユニットに対して同時に通信が行なわれ
る。各通信制御ブロック15は通信線9上にキャリアと
呼ばれる信号のパターンがあるか否か常に見張っている
。キャリアがあるときはいずれかのメモリ管理ユニット
が通信を行なっているということであり、スタート信号
パターンを見つけ、それに続く通信データを受信ポート
22を介して内部のバッファ(図示省略)に取り込む。
通信データのフォーマットは、シリアル・コミュニケー
ション・インタフェース方式と同様な構成、すなわち第
2図に示す構成にされる。各通信ブロックは、通信デー
タの識別子IDの参照により自分が受信すべき内容か否
かを判定する。
第5図の通信制御ブロックにおいて、図示しない受信側
の直並列変換回路、識別回路、受信バッファ、送信バッ
ファ、送信側の並直列変換回路、識別子レジスタ等は、
実質的に第4図のそれと同じにされる。この場合、第4
図におけるような識別回路から送信バッファへの信号伝
送経路は、シリアル通信でないので、必要とされない。
また、識別回路による制御動作は、第4図のそれと若干
具なるようにされる。
すなわち、図示しない識別回路は、送信された通信デー
タにおける最上位ビットのようなビットがグローバル通
信レベルを示しているなら、認識コードにかかわらずに
、送信された通信データを受信バッファに転送させる。
送信された通信データがローカル通信を意味し。
また認識コードが自己の識別子レジスタに与えられてい
る認識コードと一致しているなら、識別回路は、送信さ
れた通信データを受信バッファに転送させる。
送信された通信データがローカル通信を意味し、また認
識コードが自己に与えられた認識コードと一致していな
いなら、識別回路は、その通信データを無視する。すな
わち、送信された通信データの受信バッファへの転送は
行なわれない。
送信は通信線9上にキャリアがない場合にのみ可能であ
る。そこで、通信制御ブロック15は通信線9上にキャ
リアがなくなった後、一定時間tW工を経過してから送
信ポート21より送信を開始する。この場合、複数のメ
モリ管理ユニットが同時に送信を開始すると1通信が衝
突するおそれがある。そのため、各メモリ管理ユニット
内の通信制御ブロック15は乱数を発生し、この乱数に
よって決定した時間tw工後に通信を開始することで衝
突を回避するようになっている。ただし、これだけでは
確実に通信の衝突を回避することができない。そこで、
各通信制御ブロック15内に衝突監視回路27が設けら
れている。
衝突監視回路27は、送信したデータと実際に通信線上
にあるデータを比較し、これらのデータが異なる場合(
ジャム送信と呼ぶ)、衝突が起こったと判断し一旦送信
を中止し、同じく乱数によって決められる時間tw、後
にキャリアがないことを条件として、再度通信を行なう
次に、上記のようなシリアル通信を可能にする通信制御
ブロック15及びメモリ管理ユニット全体の制御を司る
MMU制御ブロック11内での具体的な制御手順の一例
を、送信処理と受信処理とに分けて第7図及び第8図を
用いて説明する。
第7図には送信を行なう場合の手順が示されている。
同図において点線より左側が通信制御ブロック15にお
ける手順を、また点線より右側がMMU制御ブロック1
1における手順を示す。
MMU制御ブロック11において送信条件が発生すると
、ルーチンR1で送信中フラグがit 1 nになって
いるか否か調べる。送信中フラグは、演算ブロック14
内のコントロールレジスタのビットに割り付けられてお
り、このフラグが“1”になっているときは、既に他の
データの送信中であることを示す。
MMU制御ブロック11は送信中フラグが“1″になっ
ているときは、適当な時間待ち(ルーチンR8)の後に
、再びルーチンR1の送信中フラグの状態の判定を行な
う。
送信中フラグが“1”でなくなると、ルーチンR2へ進
んで、通信制御ブロック15から1”レベルのビジィ信
号Busyが入って来ているか調べる。通信制御ブロッ
ク15は自分宛の通信データを受け取ったときはMMU
制御ブロック11に対し Rl ljレベルのビジィ信
号Busyを送って転送要求を行なう。ビジィ信号Bu
syが1”のときは次の受信処理へ移行するため適当な
時間待ち(ルーチンR9)を行なってビジィ信号Bus
yがなくなるのを待つ。ビジィ信号Busyがなくなる
と、ルーチンR3へ進んで送信フラグをII 1 +1
にセットしてから1通信制御ブロック15に対し供給さ
れるデータ送信信号をオンさせる(ルーチンR4)。そ
れから送信データをデータレジスタ17に順次大れた後
(ルーチンR5)、データ送信信号をオフしくルーチン
R6)、L。
かる後、送信フラグを“0′″にリセットして送信処理
が終了する。
一方、通信制御ブロック15では、MMU制御ブロック
11からデータ送信信号が送られて来ると(ルーチンR
4)、割込みが発生して、先ずデータレジスタ17に入
れられた内容をすべてバッファ25に取り込む(ルーチ
ンR11)、それから、データ送信信号がオフされた(
ルーチンRe)のを受けて、通信方式(プロトコル)に
従って送信ポート21より通信線9上へデータを出力す
る。
以上の手順によって送信が終了する(ルーチンR12)
第8図には、受信を行なう場合の手順の一例が示されて
いる。
第7図と同様に、点線より左側が通信制御ブロック15
における手順を、また点線より右側がMMU制御ブロッ
ク11における手順を示す。
通信制御プロ゛ツク15は、受信条件が発生したことつ
まり通信線上に通信データがのっていることを検知する
と5通信力式(プロトコル)に従って通信データを受信
しくルーチンR21)、先頭の識別子IDが自分の認識
コードと一致するか判定する(ルーチンR22)、ここ
で、識別子IDと認識コードが一致しない場合には、ル
ーチンR28の処理を行なう、ルーチンR2Bの処理は
、通信制御ブロック15の方式によって異なる。
通信制御ブロック15の構成がシリアル・コミュニケー
ション・インタフェース方式の場合には、ルーチンR2
8では受信したデータをそのまま他のメモリ管理ユニッ
トに対し転送するような送信を実行する。これに対し1
通信制御ブロック15の構成が、C8MA/CD方式の
場合には、ルーチンR28では受信データを無視する。
識別子IDと認識コードが一致した場合には、ルーチン
R23へ進み受信したコマンドCMDとデータDTをバ
ッファ26に格納する。それから、MMU制御ブロック
11に対しビジィ信号Busy“1″を送って、バッフ
ァの内容を読み込むよう要求する(ルーチンR24)。
MMU制御ブロック11はこのビジィ信号Busyを受
けると、内部優先度との関係で受信データの取込みが禁
止された状態(マスク状態)にあるか否か判定する(ル
ーチンR31)、ここでマスクがかかっていると判定さ
れると、他の処理(ルーチンR38)を実行してから再
びルーチンR31の判定を行なう。受信データの取込み
にマスクがかかっているか否かは、例えば前述した送信
フラグが“1″になっているか否か等によって決定する
ことができる。
ルーチンR31でマスクがかかっていないと判定される
と1通信制御ブロック15からのビジィ信号Busy”
1”を受けて、MMU制御ブロック11内でリード要求
信号readをオンさせて、通信制御ブロック15に供
給する(ルーチンR32)、これを受けて通信制御ブロ
ックは、既にバソファ26内に取り込んで保持している
受信データのうち、コマンド部CMDをコマンドレジス
タ16へ入れ(ルーチンR25)、次にデータ部DTを
データレジスタ17に入れる(ルーチンR26)、そし
て、ビジィ信号Busyを1107+に立ち下げて、次
の通信データの受信待ち状態となる(ルーチンR27)
一方、MMU制御ブロック11は、通信制御ブロック1
5によってコマンドレジスタ16へコマンドが格納され
ると、これを読み込んで解読する(ルーチンR33)と
共に、データレジスタ17へ格納されたデータを読み取
る。つまり、データレジスタ17の内容を演算ブロック
14へ移す(ルーチンR34)、t、かして、データレ
ジスタ17は、1バイトもしくは2バイト程度の大きさ
にされるため、バッファ26からデータレジスタ17へ
の転送とデータレジスタの読み取りを必要な回数だけ繰
り返すことによって、すべての受信データを演算ブロッ
ク14へ入れる。
しかる後、通信制御ブロック15から供給されるビジィ
信号Busyが110 IIにされたのを受けて、リー
ド要求信号readをオフさせる(ルーチンR35)。
それから、ルーチンR33で読み込んだコマンドに対応
した処理を実行(ルーチンR36)L、た後、他の処理
(MMU本来の処理)の実行へ移行する(ルーチンR3
7)。
上記のように、この実施例のメモリ管理ユニットでは、
通信制御ブロック15とMMU制御ブロック11とが互
いに独立して動作する(疎結合状態)ようにされている
、これによって、受信ポート21は常に受信可能な状態
にされるとともに、通信制御ブロック15内にバッファ
26が設けられているためMMU制御ブロック11がテ
ーブル検索などの処理を行なっているときに通信データ
が送られて来ても、これを通信制御ブロック15が取り
込んで保持することができる。しかも、通信制御ブロッ
ク15及びMMU制御ブロック11内の制御は、それぞ
れ送信よりも受信を優先するような方式が採用されてい
る。そのため、各メモリ管理ユニット内のメモリ管理情
報の一致を図ることができる。
なお、通信制御ブロック15の通信方式は、第4図また
は第5図に示すような実施例に限定されるものでなく、
送信よりも受信を優先するような方式ならば任意のシリ
アル通信方式を利用することができる。
以上説明したように上記実施例においては、メモリ管理
装置に、相互間の通信を可能にするシリアル通信手段を
設け、メモリ管理情報の変更を直接メモリ管理装置間で
知らせ合うようにしたので。
マイクロプロセッサがオペレーティング・システムによ
ってメモリ管理情報の変更を知らせてやる必要がないと
いう作用により、マイクロプロセッサ間の通信のオーバ
ヘッドが減少するという効果がある。
また、メモリ管理ユニット間の通信を受信優先のシリア
ル通信方式としたので、LSIのピン数を増加すること
なく常にメモリ管理ユニット相互間の共通のメモリ管理
情報の一致を図ることが可能となり、これによって誤っ
たデータの読み出しが防止される。
さらに、上記実施例のメモリ管理ユニットを利用したマ
ルチプロセッサシステムでは、マイクロプロセッサは各
メモリ管理ユニット内の管理情報が一致していれば共通
のメモリ(グローバルメモリ)をローカルメモリと同等
に使用できるため、システム上でのメモリの使用効率が
向上される。
しかも、メモリ管理ユニットが通信手段を有しているた
め、メモリ管理ユニットの管理下に置かれる記憶装置の
構成の仕方に自由度が高くなり、ユーザの望みどおりの
システムを容易に構成することができるという利点があ
る。
以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが、本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。例えば上記実施例では、
一本の通信線によりメモリ管理ユニット間の通信を行な
えるようにしたものを示したが、それに限定されず、上
記通信線以外にいずれのメモリ管理ユニットが送信権を
持つか示すためのラインを設けるようにすることも可能
である。また、上記実施例では通信制御ブロックがメモ
リ管理ユニットと同一のチップ上に形成されているが、
これをメモリ管理ユニットの外付は回路として構成した
り、マイクロプロセッサに内蔵されたメモリ管理ユニッ
トに組み込んでしまうことも可能である。
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野である仮想記憶方式のメモ
リ管理を行なうメモリ管理ユニットに適用したものにつ
いて説明したが、この発明はそれに限定されず、キャッ
シュコントローラその低階層型記憶装置の管理装置一般
、さらにはコプロセッサなどマイクロプロセッサと共同
しかつ独立に動作可能であって内部に多くの情報を持つ
ような制御用LSIに通信手段を持たせたい場合に利用
することができる。
[発明の効果コ 本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記のとおりである
仮想記憶方式を採用した階層型記憶装置を有するマルチ
プロセッサシステムにおいて、メモリ管理情報に変更が
あってもオペレーティング・システムに負担をかけるこ
となく正しいメモリ管理を行なうようになるという効果
がある。
【図面の簡単な説明】
第1図は本発明を仮想記憶方式のメモリシステムを管理
するメモリ管理ユニットに適用した場合の一実施例を示
すブロック図、 第21!lは本発明に係るメモリ管理ユニット間の通信
に使用される通信データのフォーマットの一例を示す説
明図、 第3図は1本発明に係るメモリ管理ユニットを使用した
マルチプロセッサシステムの一例を示すシステム構成図
、 第4図はシリアル・コミュニケーション・インタフェー
ス方式を採用したメモリ管理ユニット内の通信制御ブロ
ックの要部の構成例と各通信制御ブロック間の接続関係
を示す構成図、 第5図はC3MA/CD方式を採用した通信制御ブロッ
クの要部の構成例を示すブロック図。 第6図はC8MA/CD方式における通信に関するタイ
ムチャート、 第7図は通信制御ブロック及びMMU制御ブロック内で
の送信の際の制御手順の一例を示すフローチャート。 第8図は同じく通信制御ブロック及びMMU制御ブロッ
ク内での受信の際の制御手順の一例を示すフローチャー
ト。 第9図は従来のマルチプロセッサシステムの一例を示す
システム構成図である。 la、lb、lc・・・・マイクロプロセッサ、2゜3
a、3b−メモリ、4a、4b、4c・・・・メモリ管
理ユニット、5a、5b、5c・・・・メモリバス、6
a、6b、6c・・・・バス・スイッチ、7・・・・シ
ステム・バス、8・・・・2次記憶装置、9・・・・通
信線、11・・・・MMU制御ブロック、12・・・・
アドレス変換バッファ(記憶部)。 14・・・・演算ブロック、15・・・・通信制御ブロ
ック、16・・・・コマンドレジスタ、17・・・・デ
ータレジスタ、21・・・・送信ポート、22・・・・
受信ポート、25.26・・・・バッファ。 第  3  図 第  4  図 第  5  図          第  6  図第
  7  図 ■38刹勿〒フ゛ロツ7    □  MAflJ停止
1イ缶ρフパびツク第  9  図

Claims (1)

  1. 【特許請求の範囲】 1、記憶管理情報を保持可能な記憶部を有し、階層的に
    構成された外部記憶装置を中央処理装置に代わって制御
    する記憶管理装置であって、相互に通信を行なうための
    通信手段を備えてなることを特徴とする記憶管理装置。 2、上記通信手段は、シリアルデータの送信及び受信が
    可能にされたシリアル通信手段であることを特徴とする
    特許請求の範囲第1項記載の記憶管理装置。 3、上記通信手段により送受信される通信データは、通
    信の受け手を指定するための識別子と、処理の内容を示
    すコマンド部と、コマンドの実行に必要な情報の入った
    データ部とにより構成されてなることを特徴とする特許
    請求の範囲第2項記載の記憶管理装置。 4、上記記憶部には、中央処理装置から供給される論理
    アドレスを、外部記憶装置の物理アドレスに変換するた
    めの変換情報が保持され、仮想記憶管理が可能にされて
    なることを特徴とする特許請求の範囲第1項、第2項も
    しくは第3項記載の記憶管理装置。
JP61048316A 1986-03-07 1986-03-07 記憶管理装置 Pending JPS62206658A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61048316A JPS62206658A (ja) 1986-03-07 1986-03-07 記憶管理装置
US07/015,097 US4939636A (en) 1986-03-07 1987-02-17 Memory management unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61048316A JPS62206658A (ja) 1986-03-07 1986-03-07 記憶管理装置

Publications (1)

Publication Number Publication Date
JPS62206658A true JPS62206658A (ja) 1987-09-11

Family

ID=12800009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61048316A Pending JPS62206658A (ja) 1986-03-07 1986-03-07 記憶管理装置

Country Status (2)

Country Link
US (1) US4939636A (ja)
JP (1) JPS62206658A (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5161219A (en) * 1989-01-13 1992-11-03 International Business Machines Corporation Computer system with input/output cache
US5363498A (en) * 1990-02-09 1994-11-08 Hitachi, Ltd. Method of controlling shared data among computers
US5269013A (en) * 1991-03-20 1993-12-07 Digital Equipment Corporation Adaptive memory management method for coupled memory multiprocessor systems
US5530955A (en) * 1991-04-01 1996-06-25 Matsushita Electric Industrial Co., Ltd. Page memory device capable of short cycle access of different pages by a plurality of data processors
US5386524A (en) * 1992-04-16 1995-01-31 Digital Equipment Corporation System for accessing information in a data processing system
US5386514A (en) * 1992-04-16 1995-01-31 Digital Equipment Corporation Queue apparatus and mechanics for a communications interface architecture
US5657471A (en) * 1992-04-16 1997-08-12 Digital Equipment Corporation Dual addressing arrangement for a communications interface architecture
US5455942A (en) * 1992-10-01 1995-10-03 International Business Machines Corporation Partial page write detection for a shared cache using a bit pattern written at the beginning and end of each page
US5841991A (en) * 1992-11-18 1998-11-24 Canon Information Systems, Inc. In an Interactive network board, a method and apparatus for storing a media access control address in a remotely alterable memory
JP2974526B2 (ja) * 1992-12-18 1999-11-10 富士通株式会社 データ転送処理方法及びデータ転送処理装置
JP3487641B2 (ja) * 1993-11-10 2004-01-19 富士通株式会社 並列計算機システムにおける記憶装置アクセス方式
US5829052A (en) * 1994-12-28 1998-10-27 Intel Corporation Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system
JPH0926945A (ja) * 1995-07-10 1997-01-28 Toshiba Corp 情報処理装置
JP3119214B2 (ja) * 1997-09-30 2000-12-18 ソニー株式会社 記憶装置、データ処理システム並びにデータの書き込み及び読み出し方法
JP4083404B2 (ja) * 2001-09-21 2008-04-30 株式会社日立製作所 データ処理システム及びこれに用いる記憶制御装置
US7103728B2 (en) * 2002-07-23 2006-09-05 Hewlett-Packard Development Company, L.P. System and method for memory migration in distributed-memory multi-processor systems
EP1563401B1 (en) * 2002-11-05 2006-11-22 Koninklijke Philips Electronics N.V. Data processing apparatus with address redirection in response to periodic address patterns
US7115315B2 (en) * 2003-09-04 2006-10-03 Shaw Industries Group, Inc. Reinforced secondary backing fabric and method of using the same
US7222214B2 (en) * 2004-03-25 2007-05-22 Lucent Technologies Inc. Device-level address translation within a programmable non-volatile memory device
JP4233492B2 (ja) * 2004-06-02 2009-03-04 富士通マイクロエレクトロニクス株式会社 アドレス変換装置
US20060064546A1 (en) * 2004-07-28 2006-03-23 Hiroshi Arita Microprocessor
CN102110072B (zh) * 2009-12-29 2013-06-05 中兴通讯股份有限公司 一种多处理器完全互访的方法及***
KR101671494B1 (ko) 2010-10-08 2016-11-02 삼성전자주식회사 공유 가상 메모리를 이용한 멀티 프로세서 및 주소 변환 테이블 생성 방법
US10394635B2 (en) 2014-10-29 2019-08-27 Hewlett Packard Enterprise Development Lp CPU with external fault response handling

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52123137A (en) * 1976-04-09 1977-10-17 Hitachi Ltd Duplication memory control unit
US4471429A (en) * 1979-12-14 1984-09-11 Honeywell Information Systems, Inc. Apparatus for cache clearing
US4400770A (en) * 1980-11-10 1983-08-23 International Business Machines Corporation Cache synonym detection and handling means
US4539636A (en) * 1981-06-24 1985-09-03 Elevator Gmbh Apparatus for inter-processor data transfer in a multi-processor system
US4495567A (en) * 1981-10-15 1985-01-22 Codex Corporation Multiprocessor/multimemory control system
US4477871A (en) * 1981-11-23 1984-10-16 Motorola, Inc. Global operation coordination method and circuit
US4777595A (en) * 1982-05-07 1988-10-11 Digital Equipment Corporation Apparatus for transferring blocks of information from one node to a second node in a computer network
CA1221464A (en) * 1983-12-26 1987-05-05 Hidehiko Nishida Data processor system having improved data throughput of multiprocessor system
JPS60138653A (ja) * 1983-12-27 1985-07-23 Hitachi Ltd 階層記憶制御方式
US4669043A (en) * 1984-02-17 1987-05-26 Signetics Corporation Memory access controller
US4794524A (en) * 1984-07-03 1988-12-27 Zilog, Inc. Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit
US4654829A (en) * 1984-12-17 1987-03-31 Dallas Semiconductor Corporation Portable, non-volatile read/write memory module

Also Published As

Publication number Publication date
US4939636A (en) 1990-07-03

Similar Documents

Publication Publication Date Title
JPS62206658A (ja) 記憶管理装置
US7363396B2 (en) Supercharge message exchanger
JP4322451B2 (ja) Dspメモリ間あるいはdspメモリとcpu用メモリ(dpram)間データ転送方式
US5210828A (en) Multiprocessing system with interprocessor communications facility
JP2001142842A (ja) Dmaハンドシェークプロトコル
JPS5924462B2 (ja) 共有メモリのアクセス制御方式
JP3481308B2 (ja) インターフェース装置、データ転送システム及びデータ転送方法
US7254667B2 (en) Data transfer between an external data source and a memory associated with a data processor
JPH11232213A (ja) 入出力装置におけるデータ転送方式
EP0376003A2 (en) Multiprocessing system with interprocessor communications facility
JP2522412B2 (ja) プログラマブルコントロ―ラと入出力装置の間の通信方法
WO2011030498A1 (ja) データ処理装置及びデータ処理方法
JP4969054B2 (ja) 情報処理装置
JPS603049A (ja) バスインタ−フエ−ス装置
EP1193606B1 (en) Apparatus and method for a host port interface unit in a digital signal processing unit
JPS6388644A (ja) 中央処理装置
JPS6382536A (ja) チヤネル装置
JP2001265600A (ja) 処理装置のブート方法及びデータ処理システム
JPS63113749A (ja) チヤネル装置
JPH103463A (ja) プロセッサ間通信方法
JPH077954B2 (ja) 制御装置
JPH03263253A (ja) マルチプロセッサ数値制御装置
JPH03188547A (ja) データ転送制御装置
JP2005352559A (ja) マルチプロセッサシステムにおけるデータ転送方法
JPH02254557A (ja) 通信制御処理装置