JPH02291044A - 大域データ複写および2レベルのアドレス変換装置を備えた多重プロセッサ・システム - Google Patents

大域データ複写および2レベルのアドレス変換装置を備えた多重プロセッサ・システム

Info

Publication number
JPH02291044A
JPH02291044A JP2065508A JP6550890A JPH02291044A JP H02291044 A JPH02291044 A JP H02291044A JP 2065508 A JP2065508 A JP 2065508A JP 6550890 A JP6550890 A JP 6550890A JP H02291044 A JPH02291044 A JP H02291044A
Authority
JP
Japan
Prior art keywords
address
memory
translation
processor
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
JP2065508A
Other languages
English (en)
Inventor
Angelo Casamatta
アンジェロ・カサマッタ
Calogero Mantellina
カロジェロ・マンテリーナ
Daniele Zanzottera
ダニエレ・ツァンツォッテラ
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.)
Bull HN Information Systems Italia SpA
Original Assignee
Bull HN Information Systems Italia SpA
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 Bull HN Information Systems Italia SpA filed Critical Bull HN Information Systems Italia SpA
Publication of JPH02291044A publication Critical patent/JPH02291044A/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
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0692Multiconfiguration, e.g. local and global addressing
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は、大域データ複写(replication)
および2レベルのアドレス変換装置を有する多重フロセ
ッサ・システムに関する。
それぞれ相互に連結されて通信バスを介して通信する複
数のプロセッサが複数のプロセスを同時に実行するため
半独立的あるいは独立的に作動ずる多重プロセソサ・デ
ータ処理システムは公知である。
多重プロセッサは、高性能を達成するために使用される
多重プロセッサ・システムは、「堅く接続された」もの
として文献に定義されるアーキテクチャから「緩やかに
接続された」ものまでに及ぶいくつかのアーキテクチャ
形態を取り得る。
両方のアーキテクチャは、利点と欠点を有する。
このような欠点を克服するため、メモリーの如きいくつ
かの資゛源がプロセソザ間に分散されるもブロセソサに
より共用される「堅く接続された」アーキテクチャか提
案されてきた。
大域データ複写の概念が導入されるヨーロッパ特許出願
第A−88118058. 2号に記載されたアーキテ
クチャにより、更なる改善が達成された。
局部的な資源を共有するアーキテクチャにおいては、共
有された局部メモリー、特に各局部メモリーは、更に多
くのプロセッサにより使用されるデータのコピーを含む
これらのデータは大域と定義される。
各プロセッサは、システム・バスにアクセスすることを
必要とせずに、読出しのため大域データにアクセスし得
る。
この種のアーキテクチャにおいては、局部メモリーの各
々における大域データの一貫性即ち同一性を確かめる問
題か生じる。
1つの大域データが局部メモリーに生成あるいは修正さ
れる度に、このデータは、前掲のヨーロッパ特許出願な
らびに1988年11月11日出願のイタリア国特許出
願第22652A/88号に記載された特徴を構成する
多重即ち大域書込みの手順および装置により他の全ての
局部メモリーにおいて複写あるいは修正されねばならな
い。
本発明は、局部資瞭を共有した多重プロセンザ・システ
ムの各局部メモリーにおける大域データの複写により生
しる別の問題の解決をその目的とする。この問題は、局
部メモリーの各々の物理的空間における大域データの割
付けに存在し、今日のデータ処理システムにおける仮想
記憶概念の使用を理由として起生ずる。
プログラム・レベルにおいては、命令シーケンスおよび
使用される情報のセットが論理アドレスにより識別され
、このアドレスはメモリー容量ならびにいくつかの情報
項目のメモリー内の有効な物理的割付けとは完全に独立
している。
いくつかの処理装置によるプロセスの実行は、常にでは
なくとも、一般に基準として論理アドレスを使用するこ
とにより行われる。
一般にMMUまたはATB (アドレス変換バッファ)
として知られるメモリー管理装置が、論理アドレスを物
理的アドレスへ変換する。
この場合、MMUはまたメモリーからの要求した情報の
逸失またはその無効状態を信号することもできる。
MMM (メモリー管理モジュール)と呼ばれるオペレ
ーティング・システムあるいは管理プログラムの一部が
、必要に応じてMMUの状態を管理して、論理アドレス
と物理的アドレス間の関係を確立する。
このように取扱われる格納場所の単位は通常は4キロバ
イトの1ページである。
換言すれば、アドレス変換はアドレスの一部について行
われる。「オフセット」と呼ばれるアドレスの最下位部
分は物理的アドレスおよび論理アドレスの双方において
一致する。
局部メモリーを有する多重プロセッサ・システムにおい
ては、各プロセッサはそれ自体のMMUを持ち、それ自
体の局部メモリーを自動的に管理する。
実行されるプロセス/プログラムに応じて、プロセッサ
はどの情報をそれ自体の局部メモリーに置きどの物理的
格納場所に置かねばらないかを決定する。
このような自動操作は、メモリー資源の有効な使用のた
め必要であるが、局部資源が共有され大域データが局部
メモリーの各々において複写される場合には、大域デー
タの割付けにある問題を惹起する。
それ自体の局部メモリーに1組の大域データを生成して
、これらをそれ自体の要求に従って局部メモリーの物理
的空間に割り振る各プロセッサは、他のプロセッサの局
部メモリーの対応する物理的空間を使用できるようにし
なければならない。
他のメモリーの物理的空間は、生成された大域データの
複写が格納される同じ物理的アドレスにより定義されね
ばならない。
この問題は、大域データの割当てのための各メモリーの
同じア・ドレスを有する予め定めた物理的空間の各局部
メモリーにおける事前の予約により解決することができ
る。
しかし、このような試みは融通が利かず、メモリーの無
駄をもたらす結果となる。
これは、メモリー空間の大域データに対する予約を必要
とし、例え状況に従って実際の必要が少なくても、大域
データの最大予測量の割付けを満足させる必要がある。
この問題は、大域データがネットワークと接続された各
ブロセソサの局部メモリーに複写されるデータ処理ネッ
トワークについて記載するヨーロッパ特許出願第009
2895号により克服されるが、大域データの更新操作
は物理的アドレスの代わりに仮想アドレスの使用により
行われる。
換言すれば、大域データの更新を意図するプロセッサは
、プロセッサ相互通信チャネル上で物理的アドレスでは
なく仮想アドレスにより同じデータを照合する。
各プロセッサのメモリー管理装置は、独立的な方法にお
いて論理アドレスを物理的アドレスに変換し、その結果
各プロセッサは異なる物理的アドレスにおいて同じ大域
データを自由に割付けることができる。
この解決法は重大な欠点を有する。即ち、いくつかのプ
ロセッサが同じ仮想アドレスを持つ同じ大域データを照
合しなければならない。
更に、アドレス変換装置MMUは、関連するプロセッサ
および相互通信チャネルの双方からアクセスできねばな
らず、明白なアクセスの競合を伴い、これが例えばキャ
ッシュが相互通信チャネルから使用される時、キャッシ
ュに対するアクセスによりMMUがプロセッサ内から使
用されることを妨げる。
更に、マイクロプロセッサと共に単一チップにMMUを
集積する場合はしばしば、チップの外部からのMMUに
対するアクセスはできない。
物理的アドレスおよび仮想アドレス間の相互通信チャネ
ル・レベ・ルにおける差別の如き他の問題が考慮されて
いない。
スを 変換する、 2レヘルのアドレス変換装置による上記の制約の第1の
ものを排除する可能性について記載しているが、このよ
うな概念を実現する方法については説明しない。
本発明によれば、MMUが自らのプロセソサにより排他
的に使用される状態を維持するプロセッサ・アーキテク
チャ内のMMUの使用および構成上のとんな性格の制約
および競合も生しることなく、大域データを自由に割付
ける問題は、多重ブロセソザ・ンステムに2レヘルのア
ドレス変換および大域データの場合でかつ大域データの
みの場合に2つの変換レベルを有する変換基準を提供す
ることにより克服される。即ち、論理アドレスまたは仮
想アドレスは(物理的アドレスと差別するだけの目的で
)「リアル」として定義されるアドレスに最初の変換操
作により変換される。
その後、このリアル・アドレスは、第2の変換操作によ
って物理的アドレスへ変換される。局部データの場合は
、仮想アドレスは直接物理的アドレスに変換される。
リアルおよび物理的アドレスは、アドレスの一部(1ビ
ソ1・以上)か1つのアドレスがリアル・アドレスかあ
るいは物理的アドレスかを検出することを可能にし、ま
た最初の瞬間に第2の操作(リアル・アドレスから物理
的アドレスへの変換〕の実行を惹起するようなフォーマ
ントを有する。
これらの操作は、それぞれ複数からなる2組のMMUに
より行われる。
各々がシステムの1つのプロセソザと関連しかつ関連す
るプロセッサにより排他的にアドレス指定される第1の
複数のMMUを用いて、論理アドレスを物理的アドレス
へ、あるいは大域データの場合は、リアル・アドレスへ
変換する。
各々がシステムの局部メモリーの1つと関連しかつ第1
の組のMMUのどれかにより(従って、システム・バス
を介して、関連するプロセンサあるいは他のプロセッサ
により)生成されるリアル・アドレスによりアドレス指
定される第2の組の変換装置は、リアル・アドレスをそ
れぞれ関連する局部メモリーに特定の物理的アドレスへ
変換するため使用される。このように、各大域データは
、1つのリアル・アドレスが関連する(各プロセッサ毎
に異なり得る)1つの論理アドレス、およびシステムの
局部メモリー毎に1つの一般に個々に異なる複数の物理
的アドレスで特徴付けられる。
このように、同じ大域データの各コピーは、各局部メモ
リーで異なる物理的アドレスに物理的に割付けることか
でき、この割付けはそれ自体の局部メモリーの占有状態
の関数としてシステムの各プロセッサにより自動的に行
うことができる。
更にまた、リアル・アドレスは論理アドレスとは異なり
、使用できる物理的メモリー空間より遥かに大きな論理
的/仮想的空間において1つの情報を識別するに充分な
ビット数からなる周知の情報であるため、リアル・アド
レスは、局部メモリーの有効サイズ即ち容量と関連する
ビット数、従って比較的小さなビット数からなる。
従って、第2のレベルのアドレス変換’J Wは、小さ
な容量を持ちリアル・アドレスを完全に包含するスタチ
ック・ランダム・アクセス(RAM)メモリーにより実
現することかできる。
このようなメモリーにおいて、スタチック変換メモリー
に対するアドレスとして使用される可能なとのリアル・
アドレスとも関連する局部メモリーの物理的アドレスが
格納され読出される。
従って、第2のレベルのアドレス変換装置は単純な変換
テーブルの如くに働く。
これは、従来の形式のMMUの構造および管理的な複雑
さを必要としない。
本発明の更に別の特質によれば、リアル・アドレスを物
理的アドレスに変換する変換装置は更にメモリー・モジ
ュール選択装置として作動し、この選択は物理的アドレ
スとリアル・アドレス間の関係の関数として予め定めら
れている。
換言すれば、物理的アドレスはどのメモリモジュールが
選択されねばならないかを確立するため使用できること
を必要とせず、この選択はリアル・アドレスの知識によ
り行うことができる。
このように、リアル・アドレスから物理的アドレスへの
変換に必要な時間、即ち第2のレベルのアドレス変換装
置の読出し時間は、モジュールの選択のためのアドレス
復号時間とオーバーラップする。
読出しプロセスにおける遅れを付加することなく、時間
的な観点から完全に「トランスパレント」である。
本発明の上記および他の特徴および利点については、望
ましい実施態様の以降の記述ならびに添付図面から更に
明瞭となるであろう。
(実施例) 第1図においては、システムは相互にシステム・バス5
を介して接続された4個の中央処理装置(CPUO、C
PUI、CPU2、CPU3)1、2、3、4からなっ
ている。
いくつかのCPUが1つのタイミング装置6により調時
されている。
CPUOは、マイクロプロセッサ7 (MPUO)と、
メモリー・アドレス管理装置9 (MMUO)と、局部
メモリー8 (LMO)と、局部バス・アービタ13と
、インターフェース兼調停装置10とからなっている。
マイクロプロセノサ7は、調停装置13により調停され
る局部バス11により局部メモリー8およびインターフ
ェース装置10と通信する。
マイクロプロセッサ7は、他のCPUに関して情報を出
し入れしかつ他のCPUの局部メモリーあるいはシステ
ム・バスと接続されたディスク装置21のコント口・−
ラ20、キーボード24を持つディスプレイ23のコン
トローラ22、回線コントローラ25、プリンタ27の
コントローラ26の如き周辺制御装置に対するアクセス
を行うため、インターフェース装置10を介してシステ
ム・バスに対してアクセスできる。
インターフェース装置10は、他のCPUの対応する装
置と共に、いくつかのCPUによるシステム・バスに対
するアクセスを調停しかつシステム・バス上の通信プロ
トコルを管理する。
インターフェース装置10を介して、CPUO以外のC
PUはCPUOの局部バス11への、またこれから局部
メモリー8へのアクセスを行うことができる。
第1図ににおいてプロセッサ7と別の装置として示され
るアドレス管理装置9は、プロセッサ7と一体とするこ
とができる。 例えば、これは、プロセッサ7がコード
番号MC60830として米国の企業Motorola
により市販される集積回路のマイクロブロセンサに存在
する。
アドレス管理装置9 (MMUO)に加えて、CPUO
は、局部メモリー8の一部として、大域データのリアル
・アドレスを物理的アドレスへ変換するための第2のア
ドレス変換装置即ち変換テーブル8Aを含む。
本システムの他のCPUは、CPUOの1つと同じアー
キテクチャを有する。
このため、例えば、CPU3は、局部メモリー14(L
M3)と、プロセッサ16(MPU3)と、アドレス管
理装置17(MMU3)と、インターフェース装置29
と、局部バス28に対するアクセスを制御するアービタ
15と、リアル・アドレスを物理的アドレスに変換する
第2の変換装置14Bとからなっている。
第2図は、第1図のシステムにおいて使用され9および
17の如きアドレス管理装置により生成される物理的ア
ドレスおよびリアル・アドレスのフォーマットを示して
いる。
物理的アドレスまたはリアル・アドレスは、32ビット
(ビット0〜31)からなっている。
■ (内部スペース用、ビット31)、PN(プロセッ
サ番号用、ビット29、30)、およびG(大域用、ビ
ット28)としてそれぞれ示される最上位ビット31乃
至28は、ビットO〜27によりアドレス指定される空
間の性質を定義する。
下記の表は、いくつかの可能な形態のアドレスの内、本
発明の理解に関係するものを要約している。
本表において、記号1および0は論理的レベルの真偽値
と対応しており、Xは重要でない条件を示している。
ビット 31. 30 29 28   選択スペース  アド
レスの性格1  0  0  0     内部メモリ
ー一局部データ       物理的1  0  0 
 1     内部メモリ一一大域データ      
 リ アノレ1  0  1  x     内部レジ
スタ1  1  0  X     丁/0周辺スペー
ス換言すれば、アドレスの最上位ピントは、システムの
物理的資源(CPUの局部メモリーレジスタ、■/O゛
周辺装置)を識別し、局部メモリーか選択された場合は
、これらビットは、アドレスが局部データあるいは大域
データと関連するかとうかを、また従ってO乃至27の
ビットが物理的アドレスまたはリアル・アドレスと見做
されるかとうかを表示する。内部レジスタが選択される
場合は、最下位ビットO乃至27あるいはその一部が情
報が読出されるか書込まれねばならない複数のレンスタ
の1−つの選択のためのコードを構成する。
内部レジスタのアドレス指定の典型的な事例は、アドレ
スを論理/仮想アドレスから物理的アドレスへ変換する
ため必要な情報でロードするためメモリー管理装置9、
17のアドレス指定において生じる。同様に、I/O周
辺装置の選択の場合には、0乃至27のビソト即ちその
一部が複数の装置間の1−つの選択のためのコードを形
成する。
別の内部あるいは局部メモリーが選択される場合には、
ビソ1−0乃至27がバイ1・・レベルで256メガバ
イトまでの情報をアドレス指定するよう使用可能化され
る。
アドレス指定可能なメモリー空間は、概念的に各々4K
バイトからなる複数のページからなり、その結果ビソ1
・・フィールドO乃至11が「オフセッ1−」即ち1ペ
ージ内の]−バイトのアドレスを’r31j 成し、ま
たビット・フィールド12乃至27が1つのページ・ア
ドレスを構成するようにする。
論理アドレスの物理的アドレスへの変換に際して、常に
情報をメモリーにページ毎に割当てる基準に従う。
論理ページ・アドレスは物理的ページ・アドレスと関連
付けられ、「オフセット」は物理的アドレスと論理アド
レスの両方に対して等しい。
大域データの割付けにおいても同じ基準に従い、その結
果リアル・アドレスがアドレス変換、また物理的ページ
・アドレスにおける変換を要求するリアル・ページ・ア
ドレスにおいて変化しない「オフセノト」を構成するも
のと見做すことができる。
このような前提により、リアル・アドレスから物理的ア
ドレスへの変換のため、また全ての可能な物理的アドレ
スを完全に網羅するため第1図のアドレス変換装置8B
は、64K(アドレス指定可能な場所)のエントリ容量
を有する変換メモリーに存在し得る。
この容量は、下記の制約の1つが課されるならば減少さ
れよう。即ち、 A)各局部メモリーのアドレス指定可能なメモリ空間が
例え256メガバイトの大きさを有する場合でも、局部
メモリーの最大有効容量は小さくなり、例えば64メガ
バイトとなる。
この場合、物理的ページ・アドレスまたはリアル・ペー
ジ・アドレスのビット26、27は余剰となる。
B)各局部メモリーの有効メモリー容量が256メガバ
イトであっても、大域データはその割付けのための16
Kページと対応ずる最大64メガバイトを必要とするも
のとされる。このリアル・ページ数は、僅かに14ピン
トのリアル・ページ・アドレスと同定することができる
この場合、リアル・アドレスに関する限り、ビット26
、27が余剰となる。
両方の場合、リアル・ページ・アドレスの物理的ページ
・アドレスへの変換は16Kエントリの容量を持つメモ
リーにより実施することができる。
第2の制約は受入られ下記の記述において真実であると
仮定される。
第3図は、本発明のシステムに対する局部メモリー8お
よびアドレス変換装置8Bの望ましい実施態様を示して
いる。
4バイトj並列で構成されることが望ましい局部メモリ
ー8は、システムの初期化のための例えば4Kバイトの
小さな容量を持つ読出し専用メモリー即ちROM30と
、最大8個までの複数の読出し/書込みメモリー・モジ
ュール31、32、33とからなっている。
第3図においては、前記モジュールはMODI、MOD
2、MOD8として示される。
各モジュールは、各々が4Mビットの容量を有する32
個(プラス、パリテイ・ビットあるいはエラー検出/訂
正コードのための集積回路)の集積回路構成要素により
形成される2バンクの集積回路により得られる32Mバ
イトの容量を有することが望ましい。
局部メモリー8は更に、指令(レジスタ34)、アドレ
ス(レジスタ35)、メモリー(レジスタ36)に対す
るテータ・イン入力およびメモリー(レジスタ37)か
らのデータ・イン出力をラッチするためのインターフェ
ース・レジスタを含む。
主としてスタチック・メモリー38およびデコーダ39
に存在するモジュールおよびバンク選択ロジックが更に
局部メモリーに含まれている。
メモリーおよびタイミング・ロジック40は、入力とし
て、レジスタ34にラッチされた指令、レジスタ35に
ランチされた最上位アドレス・ビットを受取り、然るべ
きタイミングで入力情報の関数として制御および選択信
号S1、S2、、、SNを生じるよう提供する。
アドレス変換装置8Bは、20ビットの並列性を得るよ
うに、各々が16KX4ビットの容量を持つ5個の集積
回路SRAM(例えば、日本の日立によりコードH M
 6 7 8 8 Hとして市販される形式のもの)の
バンクからなる。
レジスタ35においてラッチされる「オフセット」ビッ
トAD2−11が、リード・セット41を介してROM
40およびいくつかのモジュール31、32、33に送
出される。
ページ・アドレス・ビットA D 12− 23は、リ
ード・セット42および3状態ゲートのセット43を介
して、ROM30ならびにいくつかのモジュール31、
32、33に対して配分される。ビットAD12=25
は更にSRAMメモリー8Bのアドレス入力に入力され
る。
各アドレスのエントリのため、メモリー8Bは入力アド
レスにより表わされるリアル・アドレスと対応する物理
的ページ・アドレスの最下位部分を構成する12ビット
のコードを出力する。
このコードは、3状態ゲートのセット44を介していく
つかのモジュール31、32、33に対して同報される
このようなコードに加えて、アドレス指定された各エン
トリ毎に、アドレス変換メモリー8Bが4ビットの選択
コードを出力し、これはりード45を介してデコーダ3
9へ送出される。
レジスタ35からの出力におけるページ・アドレスの4
つの最上位ビットAD21−27はメモリー38に対す
るアドレスとして使用され、このメモリーがデコーダ3
9に対する入力として選択コードを出力する。
制御ロジック40は、ビット28−31および他のアド
レス・ビットの論理レベルならびにレジスタ34の内容
に応じて、メモリーの付勢のための調時信号および制御
信号S01、、SNを生成する。
バンクおよびモジュール選択SEL1、、、SEL8に
対する信号と相互に排他的な、例えば信号SOがROM
30を選択する。
もしビソト31−28が1000の形態を有するならば
、レジスタ35にラッチされたアドレスは物理的アドレ
スであり、従って信号S2が生成され、これがゲート4
3およびメモリー38をそれぞれ物理的ページ・アドレ
スおよびモジュール選択コードの転送に対して使用可能
状態にする。
もしビット31−28が1001の形態を有するならば
、レジスタ35にラッチされたアドレスは大域データの
リアル・アドレスであり、従って、信号S]−が生成さ
れて、これがメモリー8Bかリアル・アドレスと対応す
る物理的アドレスならびに対応するモジュール選択コー
ドを出力することを許容する。
メモリーに書込まれレジスタ36にラッチされたデータ
は、チャネル46を介して全てのモジュールへ配分され
、選択されたモジュールに書込まれる。
チャネル46は、選択されたモジュールからレジスタ3
7にロードされるメモリーから読出されたデータを受取
るためのコレクタを形成する。
第3図は、簡単にする目的のため、基本的に公知である
メモリー8Bおよび38に対するメモリ書込み回路は示
さない。
例えば、米国特許第4. 592. 011号は、38
の如きメモリーに対する書込み回路およびシステムの初
期化において使用される関連するメモリー・マッピング
手順について記載している。
リアル・アドレス、物理的アドレスの生成および変換S
RAM 8Bのローディングのプロセスは、下記の如く
要約することかできる。
システムの初期化時に、CPUOの如き各CPUは、周
知の方法でオペレーティング・システムを[プート( 
bootstrap) Jするための手順ヲ付勢する。
プロセッザ7は、宛て先としてR O M30を識別す
るレジスタのスペースの固定されたアドレスにおける読
出し操作を制御し、内部レンスタ(命令カウンタ)の以
後の増分により、一連の命令を取出して実行する。これ
らの命令は、局部メモリの容量の検出、モジュール選択
口ジソクのローディング、周辺装置コン1・ローラ(例
えば、第1−図のディスク装置コントローラ20)の付
勢、およびいくつかの今日の表現によれば、オペレーテ
ィング・システムの一部、あるいはスーパーバイザ、あ
るいはカーネルの予め定めた物理的アドレスにおける局
部メモリーへの格納を行う。
このプロセスにおいて、MMU9および変換テーブル8
Bの状態はこれらが使用されないため関係がない。
システムの他のCPUも自動的に同じ手順に従う。
この時、ブロセソサ7はそれ事態の局部メモリにおいて
カーネル部分としてメモリー管理モジュル即ちアロケー
タを有する。
このプログラムは、予め定められ修正不能な、局部メモ
リーの状態を記述するテーブルの割付けを行う物理的ア
ドレスにより定義されるあるメモリ空間を識別する。
この時、スーハーハイザは、システムの状態および実行
を待機するプロセスあるいはユーザ・プログラムの存在
を識別する。
システムの状態と関連する情報は全てのCPUにより使
用される情報であり、特にスーパーバイザ・プログラム
により時間的に変更することかでき、アルいはユーザ・
プロセスの実行の過程において変更することができる。
従って、この情報は、1組の大域データである。
アロケータは、このようなデータをロードする局部メモ
リー8における自由空間の識別を行い、このような空間
の物理的アドレスと、これがこのようなデータに割当て
ることを決定するリアル・アドレスと、その論理アドレ
スとの間の対応状態を確立する。
アドレス間のこのような対応は、局部メモリーの状態を
、保護ビソ1・、妥当/不当テーブル・ビット、等の別
の情報と共に記述するテーブルにロードされる。
次いで、メモリー8Bのリアル・アドレスによるアドレ
ス指定およびデータとして送られる物理的アドレスの書
込みにより、リアル・アドレスと対応する物理的アドレ
スによる変換メモリー8Bのロードへ進む。
更に正確には、変換メモリーがモジュールおよびバンク
の選択の別の機能を実施する第3図に示される如き場合
には、物理的アドレスの最上位ビソトか、局部メモリー
の形態の関数として決定されるモジュール/バンク選択
コードで置換される。
例えどこに割付けを行うかを計画した場合でも、これま
で大域データが局部メモリーには格納されなかったこと
に注意すへきである。
この時、例えばスーパーバイザの制御下で局部メモリー
における大域データの割付けを最初に決定するものであ
るプロセッサ7は、システムの他のCPUに対して、予
め定めたリアル・アドレスおよび関連する論理アドレス
により識別される大域データの割付けのためのあるメモ
リー空間を留保する必要を通知する。
この通知プロセスは、直接のプロセッサ間の通信あるい
はシステムの特徴に応じて「メールボックス」を介する
間接的な通信により行うことができる。
一旦この通知が受取られると、各CPUは、それ自体の
アロケータの制御下で、大域データをロードすべき物理
的局部メモリーを予約して、リアル・アドレスと物理的
アドレス間のそれ自体の相関テーブルを定義する。
このCPUは更に、それ自体の局部メモリーの変換メモ
リーをこのように割当てられた物理的アドレス(および
関連する選択コード)でロードする。
一旦この操作が行われると、このCPUは要求側のC 
P U ,この場合はCPUOに対してメモリ空間が留
保されたこと、およびローディング操作を行うことがで
きることを通知する。
CPUOは、一旦他の全てのCPUによるメモリー空間
が留保された旨の確認を受取ると(どれか他のプロセッ
サにより使用されるメモリー空間の物理的アドレスであ
るかを各CPUは完全に無視する)、大域データを生成
してこの大域データをそれ自体の局部メモリーに書込む
と同時に、池のブロセソサの局部メモリーにも書込むプ
ロセスを、既に述べた米国特許出願に記載したようにシ
ステム・バスを介する他のシステムのプロセッサに対す
る大域書込み同報として定義される書込み指令により開
始することができる。
これらの大域書込み指令は、アドレス指定情報として物
理的アドレスではなくリアル・アドレスを使用する。
従って、プロセッサが大域書込み指令を生成し、それ自
体のMMUをリアル・アドレスの生成のため第1のレベ
ルの変換装置として使用し、次いでそれぞれいくつかの
局部メモリーの1つと関連しかつ複数の物理的アドレス
への同じリアル・アドレスの局部的な変換のため第2の
レベルの変換装置としていくつかのプロセッサにより予
め設定される変換メモリーの各々を使用するということ
ができる。
大域データに対するメモリー空間の割付けのこのような
操作は、初期化時のみでなくシステム操作の如何なる時
にも実施し反復するできることが明らかである。
これは、新しいメモリー空間を、スーパーバイザにより
使用される大域データであり、より大きな効率のため更
に多くのプロセッサにより同時に実行されるユーザ・プ
ログラムにより必要とされる太域データである新しい大
域データに割付けることを必要とする度に行われる。
第3図は、各プロセッサと接続される第1のレベルの変
換装置に加えて、第2のレベルのアドレス変換装置を備
えた局部メモリーの望ましい実施態様を示している。
この実施態様に対してはいくつかの変更が可能である。
例えば、第3図の3状態のゲート43および44はマル
チブレクサで置換することができる。
更に、メモリー8Bの出力とメモリー38の出力間の直
接の結線45は、このようなメモリーが作動するよう選
択される場合にのみ、3状態の出力が可能化されること
を示唆している。
もしそうでなければ、デコーダ39に対してリード45
上に存在する信号あるいはメモリー38からの出力のい
ずれかを相互に排他的な方法で入力するため、マルチブ
レクサを設けねばならない。
あるいはまた、多重化機能は、2組の信号に装置40か
らの異なる入力における制御信号を加えたものを受取る
ことができるデコーダ39により実施することができる
また、例え作動速度に関して有利であっても、変換メモ
リーF3 Bが選択コードの生成機能を実施することは
要求されないことが更に明らかである。
第4図は、モジュール選択機能が常に排他的に選択装置
により行われる変換メモリー8Bのメモリー・モジュー
ル選択装置との相互接続を示している。
第4図においては、装置8Bがリアル・アドレス・ビン
hAD]2  24を受取り、また対応する物理的アド
レス・ビットPAD12−27を出力する。
ビソトPAD12−23は、第2の入カセットにおいて
アドレス・ビットA D 12− 23を(レジスタ3
5からの出力において)受取るマルチプレクサ47に対
して入力される。
マルチプレクサ47は、信号S4により制御されて、レ
ジスタ35に記憶されたアドレスかリアル・アドレスお
よび物理的アドレスのどちらであるかに従って、いすれ
かの入力情報の変換を可能にする。
メモリー8Bからの出力中のビットPAD24−27は
、第2の入カセットとしてビy トAD24−27を(
レジスタ35からの出力において)受取るマルチブレク
ザ48に対して入力される。
マルチブレクサ48もまた、信号S4により制御される
マルチブレクサ/I8の出力は、スタチソクRAM38
の入力と接続されている。
この場合、リアル・アドレスの物理的アドレスへの変換
(メモリー8B)および物理的アドレスに基くモジュー
ル選択コードの生成が時間的なシケンスあるいはカスケ
ード状に行われることが明らかである。
もし時間的な制約がこのような47/i成を排除しなけ
れば、メモリー8Bにロードされる物理的アドレスの生
成過程を簡素化し、かつこの生成を局部メモリー形態お
よびモジュール選択プロセスから独立させる故に、有利
な結果をもたらし得よう。
【図面の簡単な説明】
第1図は大域データの複写および2レベルのアドレス変
換装置を有する多重プロセッサ・システムを示すブロッ
ク図、第2図は第1図のシステムにおいて使用される物
理的アドレスおよびリアル・アドレスのフォーマントを
示す図、第3図は局部メモリーおよび第1図のシステム
におけるリアル・アドレスの物理的アドレスへの変換の
ための関連する変換装置の望ましい実施態様を示す図、
および第4図は第1−図のシステムに対するアドレス変
換装置の別の実施態様を示す図である。 ■、2、3、4・・・中央処理装置(CPUO、CPU
I、CPU2、CPU3)、5・・・システム・バス、
6・・・タイミング装置、7・・・マイクロプロセッサ
、8、14・・・局部メモリー 9・・・メモリー・ア
ドレス管理装置、10・・・インターフェース装置、1
.3、1.5・・・局部バス・アービタ、16・・・プ
ロセッサ、17・・・アドレス管理装置、0・・・ディ
スク装置コントローラ、21・・・ディスク装置、2 
2−コントローラ、23・・・ディスプレイ、24・・
・キーボード、25・・一回線コントローラ、26・・
・コントローラ、27・・プリンタ、28・・・局部ハ
ス、29・・・インターフェース装置、30・・・RO
M、31〜33・・・読出し/書込みメモリー・モジュ
ール、34〜37・・・レジスタ、38・・・スクチッ
ク・メモリー、39・・・デコーダ、40・・・メモリ
ー/タイミング・ロジック、41、42−・・リード・
セット、43・・・ゲート、46・・・チャネル、47
、48・・・マルチプレクサ。 (外4名)

Claims (1)

  1. 【特許請求の範囲】 1、大域データの複写および2レベルのアドレス変換装
    置を備え、複数のプロセッサの各々が関連する局部メモ
    リーを有し、各プロセッサは局部バスを介してそれ自体
    の局部メモリーにアクセスし、各プロセッサはそれ自体
    の局部バスおよびシステム・バスを介して別のプロセッ
    サの局部メモリーにアクセスし、1つ以上のプロセッサ
    により使用される更に他の大域データが前記局部メモリ
    ーの各々において複写され格納される多重プロセッサ・
    システムにおいて、前記プロセッサの各々においてこれ
    と関連し、かつ関連するプロセッサにより生成される大
    域データの論理アドレスを各々がリアル・アドレスとし
    て識別するビット・コードを含むリアル・アドレスへ変
    換するため、関連するプロセッサからのみアクセスし得
    る第1のアドレス変換装置と、前記局部メモリーと関連
    し、かつ前記第1の変換装置のどれかから受取る前記リ
    アル・アドレスを関連する局部メモリーに対してアドレ
    スとして入力される物理的アドレスへ変換するため、前
    記プロセッサにより前記システム・バスからアクセスし
    得る前記各プロセッサにおける第2のアドレス変換装置
    と、前記リアル・アドレスを検出して該リアル・アドレ
    スの検出時にのみ前記第2の装置を付勢する論理装置と
    を設けてなることを特徴とする多重プロセッサ・システ
    ム。 2、書込み操作において、前記第1の変換装置のどれか
    1つにより生成されるリアル・アドレスを前記全ての変
    換装置へ転送する装置を設け、これにより1つのプロセ
    ッサと関連する前記第1の変換装置により生成される前
    記リアル・アドレスが、前記システム・バスを介して他
    のプロセッサの各々へ送出され、各々が前記局部メモリ
    ーの1つをアドレス指定する複数の物理的アドレスにお
    いて前記第2の変換装置の各々により変換されることを
    特徴とする請求項1記載の多重プロセッサ・システム。 3、前記第2の変換装置がスタチック・ランダム・アク
    セス・メモリーであることを特徴とする請求項1記載の
    多重プロセッサ・システム。 4、前記局部メモリーの少なくとも1つが、物理的アド
    レスの1つのフィールドから得られる選択コードにより
    読出し/書込み操作のため個々に選択可能な複数のモジ
    ュールを含み、該1つの局部メモリーと関連する少なく
    とも第2の変換装置が、前記の受取ったリアル・アドレ
    スを物理的アドレスと共にモジュール選択コードに変換
    することを特徴とする請求項3記載の多重プロセッサ・
    システム。
JP2065508A 1989-03-15 1990-03-15 大域データ複写および2レベルのアドレス変換装置を備えた多重プロセッサ・システム Pending JPH02291044A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IT19787A/89 1989-03-15
IT8919787A IT1228728B (it) 1989-03-15 1989-03-15 Sistema multiprocessore con replicazione di dati globali e due livelli di unita' di traduzione indirizzi.

Publications (1)

Publication Number Publication Date
JPH02291044A true JPH02291044A (ja) 1990-11-30

Family

ID=11161211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2065508A Pending JPH02291044A (ja) 1989-03-15 1990-03-15 大域データ複写および2レベルのアドレス変換装置を備えた多重プロセッサ・システム

Country Status (5)

Country Link
US (1) US5247629A (ja)
EP (1) EP0387644B1 (ja)
JP (1) JPH02291044A (ja)
DE (1) DE69024078T2 (ja)
IT (1) IT1228728B (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04246745A (ja) * 1991-02-01 1992-09-02 Canon Inc 情報処理装置及びその方法
EP0543652B1 (en) * 1991-11-19 1998-10-28 Fujitsu Limited Memory accessing device
DE69329904T2 (de) * 1992-03-25 2001-06-13 Sun Microsystems, Inc. Echtzeitverarbeitungssystem
JP2974526B2 (ja) * 1992-12-18 1999-11-10 富士通株式会社 データ転送処理方法及びデータ転送処理装置
JP3098344B2 (ja) * 1992-12-18 2000-10-16 富士通株式会社 データ転送処理方法及びデータ転送処理装置
JP2826028B2 (ja) * 1993-01-28 1998-11-18 富士通株式会社 分散メモリ型プロセッサシステム
US5463750A (en) * 1993-11-02 1995-10-31 Intergraph Corporation Method and apparatus for translating virtual addresses in a data processing system having multiple instruction pipelines and separate TLB's
GB2284494B (en) * 1993-11-26 1998-09-09 Hitachi Ltd Distributed shared memory management system
US5784706A (en) * 1993-12-13 1998-07-21 Cray Research, Inc. Virtual to logical to physical address translation for distributed memory massively parallel processing systems
JP3687990B2 (ja) * 1994-01-25 2005-08-24 株式会社日立製作所 メモリアクセス機構
SE515344C2 (sv) * 1994-02-08 2001-07-16 Ericsson Telefon Ab L M Distribuerat databassystem
JP2625385B2 (ja) * 1994-06-30 1997-07-02 日本電気株式会社 マルチプロセッサシステム
US5696949A (en) * 1995-06-15 1997-12-09 Intel Corporation System for PCI slots expansion using asynchronous PCI-to-PCI bridge with clock generator for providing clock signal to the expansion mother board and expansion side of bridge
US5924125A (en) * 1995-08-01 1999-07-13 Arya; Siamak Method and apparatus for parallel access to consecutive TLB entries
US6101590A (en) * 1995-10-10 2000-08-08 Micro Unity Systems Engineering, Inc. Virtual memory system with local and global virtual address translation
US5940870A (en) * 1996-05-21 1999-08-17 Industrial Technology Research Institute Address translation for shared-memory multiprocessor clustering
US5860146A (en) * 1996-06-25 1999-01-12 Sun Microsystems, Inc. Auxiliary translation lookaside buffer for assisting in accessing data in remote address spaces
US5897664A (en) * 1996-07-01 1999-04-27 Sun Microsystems, Inc. Multiprocessor system having mapping table in each node to map global physical addresses to local physical addresses of page copies
US5862357A (en) 1996-07-02 1999-01-19 Sun Microsystems, Inc. Hierarchical SMP computer system
US5774648A (en) * 1996-10-02 1998-06-30 Mitsubishi Semiconductor Of America, Inc. Address generator for error control system
US5860116A (en) * 1996-12-11 1999-01-12 Ncr Corporation Memory page location control for multiple memory-multiple processor system
US5918249A (en) * 1996-12-19 1999-06-29 Ncr Corporation Promoting local memory accessing and data migration in non-uniform memory access system architectures
US6766472B2 (en) 2000-09-22 2004-07-20 Microsoft Corporation Systems and methods for replicating virtual memory on a host computer and debugging using the replicated memory
US20020161452A1 (en) * 2001-04-25 2002-10-31 Peltier Michael G. Hierarchical collective memory architecture for multiple processors and method therefor
EP1522923A3 (fr) * 2003-10-08 2011-06-22 STMicroelectronics SA Architecture de processeur à plusieurs contextes d'exécution simultanés
US7290112B2 (en) * 2004-09-30 2007-10-30 International Business Machines Corporation System and method for virtualization of processor resources
US7551617B2 (en) * 2005-02-08 2009-06-23 Cisco Technology, Inc. Multi-threaded packet processing architecture with global packet memory, packet recirculation, and coprocessor
US7739426B1 (en) 2005-10-31 2010-06-15 Cisco Technology, Inc. Descriptor transfer logic
US7487341B2 (en) * 2006-06-29 2009-02-03 Intel Corporation Handling address translations and exceptions of a heterogeneous resource of a processor using another processor resource
US7685399B2 (en) * 2007-01-07 2010-03-23 International Business Machines Corporation Method, system, and computer program products for data movement within processor storage
US8719547B2 (en) 2009-09-18 2014-05-06 Intel Corporation Providing hardware support for shared virtual memory between local and remote physical memory
CN102110072B (zh) * 2009-12-29 2013-06-05 中兴通讯股份有限公司 一种多处理器完全互访的方法及系统
US8850557B2 (en) 2012-02-29 2014-09-30 International Business Machines Corporation Processor and data processing method with non-hierarchical computer security enhancements for context states
US20130197863A1 (en) * 2012-01-31 2013-08-01 Tata Consultancy Services Limited Performance and capacity analysis of computing systems

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4456954A (en) * 1981-06-15 1984-06-26 International Business Machines Corporation Virtual machine system with guest architecture emulation using hardware TLB's for plural level address translations
DE3376590D1 (en) * 1982-04-28 1988-06-16 Int Computers Ltd Data processing system
US4626634A (en) * 1982-09-30 1986-12-02 At&T Bell Laboratories Multiprocessor computing system featuring shared global control
US4710868A (en) * 1984-06-29 1987-12-01 International Business Machines Corporation Interconnect scheme for shared memory local networks
US4695950A (en) * 1984-09-17 1987-09-22 International Business Machines Corporation Fast two-level dynamic address translation method and means
US4754394A (en) * 1984-10-24 1988-06-28 International Business Machines Corporation Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage
US4991081A (en) * 1984-10-31 1991-02-05 Texas Instruments Incorporated Cache memory addressable by both physical and virtual addresses
US4847804A (en) * 1985-02-05 1989-07-11 Digital Equipment Corporation Apparatus and method for data copy consistency in a multi-cache data processing unit
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
JPH0610802B2 (ja) * 1986-06-04 1994-02-09 株式会社日立製作所 分散処理システムの入力メッセージ整合化方法
US4951193A (en) * 1986-09-05 1990-08-21 Hitachi, Ltd. Parallel computer with distributed shared memories and distributed task activating circuits
US4914570A (en) * 1986-09-15 1990-04-03 Counterpoint Computers, Inc. Process distribution and sharing system for multiple processor computer system
US5123101A (en) * 1986-11-12 1992-06-16 Xerox Corporation Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US4888681A (en) * 1987-10-19 1989-12-19 International Business Machines Corporation Space management system for data files having shared access
IT1223142B (it) * 1987-11-17 1990-09-12 Honeywell Bull Spa Sistema multiprocessore di elaborazione con multiplazione di dati globali
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5117350A (en) * 1988-12-15 1992-05-26 Flashpoint Computer Corporation Memory address mechanism in a distributed memory architecture
US5072369A (en) * 1989-04-07 1991-12-10 Tektronix, Inc. Interface between buses attached with cached modules providing address space mapped cache coherent memory access with SNOOP hit memory updates

Also Published As

Publication number Publication date
DE69024078T2 (de) 1996-05-15
IT1228728B (it) 1991-07-03
DE69024078D1 (de) 1996-01-25
IT8919787A0 (it) 1989-03-15
US5247629A (en) 1993-09-21
EP0387644A1 (en) 1990-09-19
EP0387644B1 (en) 1995-12-13

Similar Documents

Publication Publication Date Title
JPH02291044A (ja) 大域データ複写および2レベルのアドレス変換装置を備えた多重プロセッサ・システム
US4831520A (en) Bus interface circuit for digital data processor
US6243794B1 (en) Data-processing system with CC-NUMA (cache-coherent, non-uniform memory access) architecture and remote cache incorporated in local memory
CA1300280C (en) Central processor unit for digital data processing system including write buffer management mechanism
US6920521B2 (en) Method and system of managing virtualized physical memory in a data processing system
US6907494B2 (en) Method and system of managing virtualized physical memory in a memory controller and processor system
US4831581A (en) Central processor unit for digital data processing system including cache management mechanism
EP0229932B1 (en) High-capacity memory for multiprocessor systems
US5479625A (en) Ring systolic array system for synchronously performing matrix/neuron computation using data transferred through cyclic shift register connected in cascade of trays
US5091845A (en) System for controlling the storage of information in a cache memory
US5119484A (en) Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction
US6173383B1 (en) Interface bridge between a system bus and local buses with translation of local addresses for system space access programmable by address space
US5226170A (en) Interface between processor and special instruction processor in digital data processing system
CA2073677C (en) Centralized reference and change table for a multiprocessor virtual memory system
JPS5821308B2 (ja) ルツクアヘツド・コントロ−ル装置
JPH0260012B2 (ja)
US5440708A (en) Microprocessor and storage management system having said microprocessor
US4042913A (en) Address key register load/store instruction system
US5727179A (en) Memory access method using intermediate addresses
JPH01298457A (ja) コンピュータシステム
US5276892A (en) Destination control logic for arithmetic and logic unit for digital data processor
EP0302926B1 (en) Control signal generation circuit for arithmetic and logic unit for digital processor
CA1300275C (en) Destination control logic for arithmetic and logic unit for digital data processor
WO1988006763A1 (en) Central processor unit for digital data processing system including virtual to physical address translation circuit
EP0472754A1 (en) Multiprocessor system having selective global data replication