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
Links
- 230000015654 memory Effects 0.000 claims abstract description 145
- 238000006243 chemical reaction Methods 0.000 claims abstract description 10
- 238000013519 translation Methods 0.000 claims description 52
- 230000003068 static effect Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 7
- 238000004891 communication Methods 0.000 abstract description 4
- 230000014616 translation Effects 0.000 description 42
- 238000000034 method Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 101100191136 Arabidopsis thaliana PCMP-A2 gene Proteins 0.000 description 1
- 101100510617 Caenorhabditis elegans sel-8 gene Proteins 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 101100048260 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) UBX2 gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0692—Multiconfiguration, e.g. local and global addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address 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レベルのアドレス変換装置を有する多重フロセ
ッサ・システムに関する。
および2レベルのアドレス変換装置を有する多重フロセ
ッサ・システムに関する。
それぞれ相互に連結されて通信バスを介して通信する複
数のプロセッサが複数のプロセスを同時に実行するため
半独立的あるいは独立的に作動ずる多重プロセソサ・デ
ータ処理システムは公知である。
数のプロセッサが複数のプロセスを同時に実行するため
半独立的あるいは独立的に作動ずる多重プロセソサ・デ
ータ処理システムは公知である。
多重プロセッサは、高性能を達成するために使用される
。
。
多重プロセッサ・システムは、「堅く接続された」もの
として文献に定義されるアーキテクチャから「緩やかに
接続された」ものまでに及ぶいくつかのアーキテクチャ
形態を取り得る。
として文献に定義されるアーキテクチャから「緩やかに
接続された」ものまでに及ぶいくつかのアーキテクチャ
形態を取り得る。
両方のアーキテクチャは、利点と欠点を有する。
このような欠点を克服するため、メモリーの如きいくつ
かの資゛源がプロセソザ間に分散されるもブロセソサに
より共用される「堅く接続された」アーキテクチャか提
案されてきた。
かの資゛源がプロセソザ間に分散されるもブロセソサに
より共用される「堅く接続された」アーキテクチャか提
案されてきた。
大域データ複写の概念が導入されるヨーロッパ特許出願
第A−88118058. 2号に記載されたアーキテ
クチャにより、更なる改善が達成された。
第A−88118058. 2号に記載されたアーキテ
クチャにより、更なる改善が達成された。
局部的な資源を共有するアーキテクチャにおいては、共
有された局部メモリー、特に各局部メモリーは、更に多
くのプロセッサにより使用されるデータのコピーを含む
。
有された局部メモリー、特に各局部メモリーは、更に多
くのプロセッサにより使用されるデータのコピーを含む
。
これらのデータは大域と定義される。
各プロセッサは、システム・バスにアクセスすることを
必要とせずに、読出しのため大域データにアクセスし得
る。
必要とせずに、読出しのため大域データにアクセスし得
る。
この種のアーキテクチャにおいては、局部メモリーの各
々における大域データの一貫性即ち同一性を確かめる問
題か生じる。
々における大域データの一貫性即ち同一性を確かめる問
題か生じる。
1つの大域データが局部メモリーに生成あるいは修正さ
れる度に、このデータは、前掲のヨーロッパ特許出願な
らびに1988年11月11日出願のイタリア国特許出
願第22652A/88号に記載された特徴を構成する
多重即ち大域書込みの手順および装置により他の全ての
局部メモリーにおいて複写あるいは修正されねばならな
い。
れる度に、このデータは、前掲のヨーロッパ特許出願な
らびに1988年11月11日出願のイタリア国特許出
願第22652A/88号に記載された特徴を構成する
多重即ち大域書込みの手順および装置により他の全ての
局部メモリーにおいて複写あるいは修正されねばならな
い。
本発明は、局部資瞭を共有した多重プロセンザ・システ
ムの各局部メモリーにおける大域データの複写により生
しる別の問題の解決をその目的とする。この問題は、局
部メモリーの各々の物理的空間における大域データの割
付けに存在し、今日のデータ処理システムにおける仮想
記憶概念の使用を理由として起生ずる。
ムの各局部メモリーにおける大域データの複写により生
しる別の問題の解決をその目的とする。この問題は、局
部メモリーの各々の物理的空間における大域データの割
付けに存在し、今日のデータ処理システムにおける仮想
記憶概念の使用を理由として起生ずる。
プログラム・レベルにおいては、命令シーケンスおよび
使用される情報のセットが論理アドレスにより識別され
、このアドレスはメモリー容量ならびにいくつかの情報
項目のメモリー内の有効な物理的割付けとは完全に独立
している。
使用される情報のセットが論理アドレスにより識別され
、このアドレスはメモリー容量ならびにいくつかの情報
項目のメモリー内の有効な物理的割付けとは完全に独立
している。
いくつかの処理装置によるプロセスの実行は、常にでは
なくとも、一般に基準として論理アドレスを使用するこ
とにより行われる。
なくとも、一般に基準として論理アドレスを使用するこ
とにより行われる。
一般にMMUまたはATB (アドレス変換バッファ)
として知られるメモリー管理装置が、論理アドレスを物
理的アドレスへ変換する。
として知られるメモリー管理装置が、論理アドレスを物
理的アドレスへ変換する。
この場合、MMUはまたメモリーからの要求した情報の
逸失またはその無効状態を信号することもできる。
逸失またはその無効状態を信号することもできる。
MMM (メモリー管理モジュール)と呼ばれるオペレ
ーティング・システムあるいは管理プログラムの一部が
、必要に応じてMMUの状態を管理して、論理アドレス
と物理的アドレス間の関係を確立する。
ーティング・システムあるいは管理プログラムの一部が
、必要に応じてMMUの状態を管理して、論理アドレス
と物理的アドレス間の関係を確立する。
このように取扱われる格納場所の単位は通常は4キロバ
イトの1ページである。
イトの1ページである。
換言すれば、アドレス変換はアドレスの一部について行
われる。「オフセット」と呼ばれるアドレスの最下位部
分は物理的アドレスおよび論理アドレスの双方において
一致する。
われる。「オフセット」と呼ばれるアドレスの最下位部
分は物理的アドレスおよび論理アドレスの双方において
一致する。
局部メモリーを有する多重プロセッサ・システムにおい
ては、各プロセッサはそれ自体のMMUを持ち、それ自
体の局部メモリーを自動的に管理する。
ては、各プロセッサはそれ自体のMMUを持ち、それ自
体の局部メモリーを自動的に管理する。
実行されるプロセス/プログラムに応じて、プロセッサ
はどの情報をそれ自体の局部メモリーに置きどの物理的
格納場所に置かねばらないかを決定する。
はどの情報をそれ自体の局部メモリーに置きどの物理的
格納場所に置かねばらないかを決定する。
このような自動操作は、メモリー資源の有効な使用のた
め必要であるが、局部資源が共有され大域データが局部
メモリーの各々において複写される場合には、大域デー
タの割付けにある問題を惹起する。
め必要であるが、局部資源が共有され大域データが局部
メモリーの各々において複写される場合には、大域デー
タの割付けにある問題を惹起する。
それ自体の局部メモリーに1組の大域データを生成して
、これらをそれ自体の要求に従って局部メモリーの物理
的空間に割り振る各プロセッサは、他のプロセッサの局
部メモリーの対応する物理的空間を使用できるようにし
なければならない。
、これらをそれ自体の要求に従って局部メモリーの物理
的空間に割り振る各プロセッサは、他のプロセッサの局
部メモリーの対応する物理的空間を使用できるようにし
なければならない。
他のメモリーの物理的空間は、生成された大域データの
複写が格納される同じ物理的アドレスにより定義されね
ばならない。
複写が格納される同じ物理的アドレスにより定義されね
ばならない。
この問題は、大域データの割当てのための各メモリーの
同じア・ドレスを有する予め定めた物理的空間の各局部
メモリーにおける事前の予約により解決することができ
る。
同じア・ドレスを有する予め定めた物理的空間の各局部
メモリーにおける事前の予約により解決することができ
る。
しかし、このような試みは融通が利かず、メモリーの無
駄をもたらす結果となる。
駄をもたらす結果となる。
これは、メモリー空間の大域データに対する予約を必要
とし、例え状況に従って実際の必要が少なくても、大域
データの最大予測量の割付けを満足させる必要がある。
とし、例え状況に従って実際の必要が少なくても、大域
データの最大予測量の割付けを満足させる必要がある。
この問題は、大域データがネットワークと接続された各
ブロセソサの局部メモリーに複写されるデータ処理ネッ
トワークについて記載するヨーロッパ特許出願第009
2895号により克服されるが、大域データの更新操作
は物理的アドレスの代わりに仮想アドレスの使用により
行われる。
ブロセソサの局部メモリーに複写されるデータ処理ネッ
トワークについて記載するヨーロッパ特許出願第009
2895号により克服されるが、大域データの更新操作
は物理的アドレスの代わりに仮想アドレスの使用により
行われる。
換言すれば、大域データの更新を意図するプロセッサは
、プロセッサ相互通信チャネル上で物理的アドレスでは
なく仮想アドレスにより同じデータを照合する。
、プロセッサ相互通信チャネル上で物理的アドレスでは
なく仮想アドレスにより同じデータを照合する。
各プロセッサのメモリー管理装置は、独立的な方法にお
いて論理アドレスを物理的アドレスに変換し、その結果
各プロセッサは異なる物理的アドレスにおいて同じ大域
データを自由に割付けることができる。
いて論理アドレスを物理的アドレスに変換し、その結果
各プロセッサは異なる物理的アドレスにおいて同じ大域
データを自由に割付けることができる。
この解決法は重大な欠点を有する。即ち、いくつかのプ
ロセッサが同じ仮想アドレスを持つ同じ大域データを照
合しなければならない。
ロセッサが同じ仮想アドレスを持つ同じ大域データを照
合しなければならない。
更に、アドレス変換装置MMUは、関連するプロセッサ
および相互通信チャネルの双方からアクセスできねばな
らず、明白なアクセスの競合を伴い、これが例えばキャ
ッシュが相互通信チャネルから使用される時、キャッシ
ュに対するアクセスによりMMUがプロセッサ内から使
用されることを妨げる。
および相互通信チャネルの双方からアクセスできねばな
らず、明白なアクセスの競合を伴い、これが例えばキャ
ッシュが相互通信チャネルから使用される時、キャッシ
ュに対するアクセスによりMMUがプロセッサ内から使
用されることを妨げる。
更に、マイクロプロセッサと共に単一チップにMMUを
集積する場合はしばしば、チップの外部からのMMUに
対するアクセスはできない。
集積する場合はしばしば、チップの外部からのMMUに
対するアクセスはできない。
物理的アドレスおよび仮想アドレス間の相互通信チャネ
ル・レベ・ルにおける差別の如き他の問題が考慮されて
いない。
ル・レベ・ルにおける差別の如き他の問題が考慮されて
いない。
スを
変換する、
2レヘルのアドレス変換装置による上記の制約の第1の
ものを排除する可能性について記載しているが、このよ
うな概念を実現する方法については説明しない。
ものを排除する可能性について記載しているが、このよ
うな概念を実現する方法については説明しない。
本発明によれば、MMUが自らのプロセソサにより排他
的に使用される状態を維持するプロセッサ・アーキテク
チャ内のMMUの使用および構成上のとんな性格の制約
および競合も生しることなく、大域データを自由に割付
ける問題は、多重ブロセソザ・ンステムに2レヘルのア
ドレス変換および大域データの場合でかつ大域データの
みの場合に2つの変換レベルを有する変換基準を提供す
ることにより克服される。即ち、論理アドレスまたは仮
想アドレスは(物理的アドレスと差別するだけの目的で
)「リアル」として定義されるアドレスに最初の変換操
作により変換される。
的に使用される状態を維持するプロセッサ・アーキテク
チャ内のMMUの使用および構成上のとんな性格の制約
および競合も生しることなく、大域データを自由に割付
ける問題は、多重ブロセソザ・ンステムに2レヘルのア
ドレス変換および大域データの場合でかつ大域データの
みの場合に2つの変換レベルを有する変換基準を提供す
ることにより克服される。即ち、論理アドレスまたは仮
想アドレスは(物理的アドレスと差別するだけの目的で
)「リアル」として定義されるアドレスに最初の変換操
作により変換される。
その後、このリアル・アドレスは、第2の変換操作によ
って物理的アドレスへ変換される。局部データの場合は
、仮想アドレスは直接物理的アドレスに変換される。
って物理的アドレスへ変換される。局部データの場合は
、仮想アドレスは直接物理的アドレスに変換される。
リアルおよび物理的アドレスは、アドレスの一部(1ビ
ソ1・以上)か1つのアドレスがリアル・アドレスかあ
るいは物理的アドレスかを検出することを可能にし、ま
た最初の瞬間に第2の操作(リアル・アドレスから物理
的アドレスへの変換〕の実行を惹起するようなフォーマ
ントを有する。
ソ1・以上)か1つのアドレスがリアル・アドレスかあ
るいは物理的アドレスかを検出することを可能にし、ま
た最初の瞬間に第2の操作(リアル・アドレスから物理
的アドレスへの変換〕の実行を惹起するようなフォーマ
ントを有する。
これらの操作は、それぞれ複数からなる2組のMMUに
より行われる。
より行われる。
各々がシステムの1つのプロセソザと関連しかつ関連す
るプロセッサにより排他的にアドレス指定される第1の
複数のMMUを用いて、論理アドレスを物理的アドレス
へ、あるいは大域データの場合は、リアル・アドレスへ
変換する。
るプロセッサにより排他的にアドレス指定される第1の
複数のMMUを用いて、論理アドレスを物理的アドレス
へ、あるいは大域データの場合は、リアル・アドレスへ
変換する。
各々がシステムの局部メモリーの1つと関連しかつ第1
の組のMMUのどれかにより(従って、システム・バス
を介して、関連するプロセンサあるいは他のプロセッサ
により)生成されるリアル・アドレスによりアドレス指
定される第2の組の変換装置は、リアル・アドレスをそ
れぞれ関連する局部メモリーに特定の物理的アドレスへ
変換するため使用される。このように、各大域データは
、1つのリアル・アドレスが関連する(各プロセッサ毎
に異なり得る)1つの論理アドレス、およびシステムの
局部メモリー毎に1つの一般に個々に異なる複数の物理
的アドレスで特徴付けられる。
の組のMMUのどれかにより(従って、システム・バス
を介して、関連するプロセンサあるいは他のプロセッサ
により)生成されるリアル・アドレスによりアドレス指
定される第2の組の変換装置は、リアル・アドレスをそ
れぞれ関連する局部メモリーに特定の物理的アドレスへ
変換するため使用される。このように、各大域データは
、1つのリアル・アドレスが関連する(各プロセッサ毎
に異なり得る)1つの論理アドレス、およびシステムの
局部メモリー毎に1つの一般に個々に異なる複数の物理
的アドレスで特徴付けられる。
このように、同じ大域データの各コピーは、各局部メモ
リーで異なる物理的アドレスに物理的に割付けることか
でき、この割付けはそれ自体の局部メモリーの占有状態
の関数としてシステムの各プロセッサにより自動的に行
うことができる。
リーで異なる物理的アドレスに物理的に割付けることか
でき、この割付けはそれ自体の局部メモリーの占有状態
の関数としてシステムの各プロセッサにより自動的に行
うことができる。
更にまた、リアル・アドレスは論理アドレスとは異なり
、使用できる物理的メモリー空間より遥かに大きな論理
的/仮想的空間において1つの情報を識別するに充分な
ビット数からなる周知の情報であるため、リアル・アド
レスは、局部メモリーの有効サイズ即ち容量と関連する
ビット数、従って比較的小さなビット数からなる。
、使用できる物理的メモリー空間より遥かに大きな論理
的/仮想的空間において1つの情報を識別するに充分な
ビット数からなる周知の情報であるため、リアル・アド
レスは、局部メモリーの有効サイズ即ち容量と関連する
ビット数、従って比較的小さなビット数からなる。
従って、第2のレベルのアドレス変換’J Wは、小さ
な容量を持ちリアル・アドレスを完全に包含するスタチ
ック・ランダム・アクセス(RAM)メモリーにより実
現することかできる。
な容量を持ちリアル・アドレスを完全に包含するスタチ
ック・ランダム・アクセス(RAM)メモリーにより実
現することかできる。
このようなメモリーにおいて、スタチック変換メモリー
に対するアドレスとして使用される可能なとのリアル・
アドレスとも関連する局部メモリーの物理的アドレスが
格納され読出される。
に対するアドレスとして使用される可能なとのリアル・
アドレスとも関連する局部メモリーの物理的アドレスが
格納され読出される。
従って、第2のレベルのアドレス変換装置は単純な変換
テーブルの如くに働く。
テーブルの如くに働く。
これは、従来の形式のMMUの構造および管理的な複雑
さを必要としない。
さを必要としない。
本発明の更に別の特質によれば、リアル・アドレスを物
理的アドレスに変換する変換装置は更にメモリー・モジ
ュール選択装置として作動し、この選択は物理的アドレ
スとリアル・アドレス間の関係の関数として予め定めら
れている。
理的アドレスに変換する変換装置は更にメモリー・モジ
ュール選択装置として作動し、この選択は物理的アドレ
スとリアル・アドレス間の関係の関数として予め定めら
れている。
換言すれば、物理的アドレスはどのメモリモジュールが
選択されねばならないかを確立するため使用できること
を必要とせず、この選択はリアル・アドレスの知識によ
り行うことができる。
選択されねばならないかを確立するため使用できること
を必要とせず、この選択はリアル・アドレスの知識によ
り行うことができる。
このように、リアル・アドレスから物理的アドレスへの
変換に必要な時間、即ち第2のレベルのアドレス変換装
置の読出し時間は、モジュールの選択のためのアドレス
復号時間とオーバーラップする。
変換に必要な時間、即ち第2のレベルのアドレス変換装
置の読出し時間は、モジュールの選択のためのアドレス
復号時間とオーバーラップする。
読出しプロセスにおける遅れを付加することなく、時間
的な観点から完全に「トランスパレント」である。
的な観点から完全に「トランスパレント」である。
本発明の上記および他の特徴および利点については、望
ましい実施態様の以降の記述ならびに添付図面から更に
明瞭となるであろう。
ましい実施態様の以降の記述ならびに添付図面から更に
明瞭となるであろう。
(実施例)
第1図においては、システムは相互にシステム・バス5
を介して接続された4個の中央処理装置(CPUO、C
PUI、CPU2、CPU3)1、2、3、4からなっ
ている。
を介して接続された4個の中央処理装置(CPUO、C
PUI、CPU2、CPU3)1、2、3、4からなっ
ている。
いくつかのCPUが1つのタイミング装置6により調時
されている。
されている。
CPUOは、マイクロプロセッサ7 (MPUO)と、
メモリー・アドレス管理装置9 (MMUO)と、局部
メモリー8 (LMO)と、局部バス・アービタ13と
、インターフェース兼調停装置10とからなっている。
メモリー・アドレス管理装置9 (MMUO)と、局部
メモリー8 (LMO)と、局部バス・アービタ13と
、インターフェース兼調停装置10とからなっている。
マイクロプロセノサ7は、調停装置13により調停され
る局部バス11により局部メモリー8およびインターフ
ェース装置10と通信する。
る局部バス11により局部メモリー8およびインターフ
ェース装置10と通信する。
マイクロプロセッサ7は、他のCPUに関して情報を出
し入れしかつ他のCPUの局部メモリーあるいはシステ
ム・バスと接続されたディスク装置21のコント口・−
ラ20、キーボード24を持つディスプレイ23のコン
トローラ22、回線コントローラ25、プリンタ27の
コントローラ26の如き周辺制御装置に対するアクセス
を行うため、インターフェース装置10を介してシステ
ム・バスに対してアクセスできる。
し入れしかつ他のCPUの局部メモリーあるいはシステ
ム・バスと接続されたディスク装置21のコント口・−
ラ20、キーボード24を持つディスプレイ23のコン
トローラ22、回線コントローラ25、プリンタ27の
コントローラ26の如き周辺制御装置に対するアクセス
を行うため、インターフェース装置10を介してシステ
ム・バスに対してアクセスできる。
インターフェース装置10は、他のCPUの対応する装
置と共に、いくつかのCPUによるシステム・バスに対
するアクセスを調停しかつシステム・バス上の通信プロ
トコルを管理する。
置と共に、いくつかのCPUによるシステム・バスに対
するアクセスを調停しかつシステム・バス上の通信プロ
トコルを管理する。
インターフェース装置10を介して、CPUO以外のC
PUはCPUOの局部バス11への、またこれから局部
メモリー8へのアクセスを行うことができる。
PUはCPUOの局部バス11への、またこれから局部
メモリー8へのアクセスを行うことができる。
第1図ににおいてプロセッサ7と別の装置として示され
るアドレス管理装置9は、プロセッサ7と一体とするこ
とができる。 例えば、これは、プロセッサ7がコード
番号MC60830として米国の企業Motorola
により市販される集積回路のマイクロブロセンサに存在
する。
るアドレス管理装置9は、プロセッサ7と一体とするこ
とができる。 例えば、これは、プロセッサ7がコード
番号MC60830として米国の企業Motorola
により市販される集積回路のマイクロブロセンサに存在
する。
アドレス管理装置9 (MMUO)に加えて、CPUO
は、局部メモリー8の一部として、大域データのリアル
・アドレスを物理的アドレスへ変換するための第2のア
ドレス変換装置即ち変換テーブル8Aを含む。
は、局部メモリー8の一部として、大域データのリアル
・アドレスを物理的アドレスへ変換するための第2のア
ドレス変換装置即ち変換テーブル8Aを含む。
本システムの他のCPUは、CPUOの1つと同じアー
キテクチャを有する。
キテクチャを有する。
このため、例えば、CPU3は、局部メモリー14(L
M3)と、プロセッサ16(MPU3)と、アドレス管
理装置17(MMU3)と、インターフェース装置29
と、局部バス28に対するアクセスを制御するアービタ
15と、リアル・アドレスを物理的アドレスに変換する
第2の変換装置14Bとからなっている。
M3)と、プロセッサ16(MPU3)と、アドレス管
理装置17(MMU3)と、インターフェース装置29
と、局部バス28に対するアクセスを制御するアービタ
15と、リアル・アドレスを物理的アドレスに変換する
第2の変換装置14Bとからなっている。
第2図は、第1図のシステムにおいて使用され9および
17の如きアドレス管理装置により生成される物理的ア
ドレスおよびリアル・アドレスのフォーマットを示して
いる。
17の如きアドレス管理装置により生成される物理的ア
ドレスおよびリアル・アドレスのフォーマットを示して
いる。
物理的アドレスまたはリアル・アドレスは、32ビット
(ビット0〜31)からなっている。
(ビット0〜31)からなっている。
■ (内部スペース用、ビット31)、PN(プロセッ
サ番号用、ビット29、30)、およびG(大域用、ビ
ット28)としてそれぞれ示される最上位ビット31乃
至28は、ビットO〜27によりアドレス指定される空
間の性質を定義する。
サ番号用、ビット29、30)、およびG(大域用、ビ
ット28)としてそれぞれ示される最上位ビット31乃
至28は、ビットO〜27によりアドレス指定される空
間の性質を定義する。
下記の表は、いくつかの可能な形態のアドレスの内、本
発明の理解に関係するものを要約している。
発明の理解に関係するものを要約している。
本表において、記号1および0は論理的レベルの真偽値
と対応しており、Xは重要でない条件を示している。
と対応しており、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−つの選択のためのコードを構成する。
レスの性格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−つの選択のためのコードを形
成する。
スを論理/仮想アドレスから物理的アドレスへ変換する
ため必要な情報でロードするためメモリー管理装置9、
17のアドレス指定において生じる。同様に、I/O周
辺装置の選択の場合には、0乃至27のビソト即ちその
一部が複数の装置間の1−つの選択のためのコードを形
成する。
別の内部あるいは局部メモリーが選択される場合には、
ビソ1−0乃至27がバイ1・・レベルで256メガバ
イトまでの情報をアドレス指定するよう使用可能化され
る。
ビソ1−0乃至27がバイ1・・レベルで256メガバ
イトまでの情報をアドレス指定するよう使用可能化され
る。
アドレス指定可能なメモリー空間は、概念的に各々4K
バイトからなる複数のページからなり、その結果ビソ1
・・フィールドO乃至11が「オフセッ1−」即ち1ペ
ージ内の]−バイトのアドレスを’r31j 成し、ま
たビット・フィールド12乃至27が1つのページ・ア
ドレスを構成するようにする。
バイトからなる複数のページからなり、その結果ビソ1
・・フィールドO乃至11が「オフセッ1−」即ち1ペ
ージ内の]−バイトのアドレスを’r31j 成し、ま
たビット・フィールド12乃至27が1つのページ・ア
ドレスを構成するようにする。
論理アドレスの物理的アドレスへの変換に際して、常に
情報をメモリーにページ毎に割当てる基準に従う。
情報をメモリーにページ毎に割当てる基準に従う。
論理ページ・アドレスは物理的ページ・アドレスと関連
付けられ、「オフセット」は物理的アドレスと論理アド
レスの両方に対して等しい。
付けられ、「オフセット」は物理的アドレスと論理アド
レスの両方に対して等しい。
大域データの割付けにおいても同じ基準に従い、その結
果リアル・アドレスがアドレス変換、また物理的ページ
・アドレスにおける変換を要求するリアル・ページ・ア
ドレスにおいて変化しない「オフセノト」を構成するも
のと見做すことができる。
果リアル・アドレスがアドレス変換、また物理的ページ
・アドレスにおける変換を要求するリアル・ページ・ア
ドレスにおいて変化しない「オフセノト」を構成するも
のと見做すことができる。
このような前提により、リアル・アドレスから物理的ア
ドレスへの変換のため、また全ての可能な物理的アドレ
スを完全に網羅するため第1図のアドレス変換装置8B
は、64K(アドレス指定可能な場所)のエントリ容量
を有する変換メモリーに存在し得る。
ドレスへの変換のため、また全ての可能な物理的アドレ
スを完全に網羅するため第1図のアドレス変換装置8B
は、64K(アドレス指定可能な場所)のエントリ容量
を有する変換メモリーに存在し得る。
この容量は、下記の制約の1つが課されるならば減少さ
れよう。即ち、 A)各局部メモリーのアドレス指定可能なメモリ空間が
例え256メガバイトの大きさを有する場合でも、局部
メモリーの最大有効容量は小さくなり、例えば64メガ
バイトとなる。
れよう。即ち、 A)各局部メモリーのアドレス指定可能なメモリ空間が
例え256メガバイトの大きさを有する場合でも、局部
メモリーの最大有効容量は小さくなり、例えば64メガ
バイトとなる。
この場合、物理的ページ・アドレスまたはリアル・ペー
ジ・アドレスのビット26、27は余剰となる。
ジ・アドレスのビット26、27は余剰となる。
B)各局部メモリーの有効メモリー容量が256メガバ
イトであっても、大域データはその割付けのための16
Kページと対応ずる最大64メガバイトを必要とするも
のとされる。このリアル・ページ数は、僅かに14ピン
トのリアル・ページ・アドレスと同定することができる
。
イトであっても、大域データはその割付けのための16
Kページと対応ずる最大64メガバイトを必要とするも
のとされる。このリアル・ページ数は、僅かに14ピン
トのリアル・ページ・アドレスと同定することができる
。
この場合、リアル・アドレスに関する限り、ビット26
、27が余剰となる。
、27が余剰となる。
両方の場合、リアル・ページ・アドレスの物理的ページ
・アドレスへの変換は16Kエントリの容量を持つメモ
リーにより実施することができる。
・アドレスへの変換は16Kエントリの容量を持つメモ
リーにより実施することができる。
第2の制約は受入られ下記の記述において真実であると
仮定される。
仮定される。
第3図は、本発明のシステムに対する局部メモリー8お
よびアドレス変換装置8Bの望ましい実施態様を示して
いる。
よびアドレス変換装置8Bの望ましい実施態様を示して
いる。
4バイトj並列で構成されることが望ましい局部メモリ
ー8は、システムの初期化のための例えば4Kバイトの
小さな容量を持つ読出し専用メモリー即ちROM30と
、最大8個までの複数の読出し/書込みメモリー・モジ
ュール31、32、33とからなっている。
ー8は、システムの初期化のための例えば4Kバイトの
小さな容量を持つ読出し専用メモリー即ちROM30と
、最大8個までの複数の読出し/書込みメモリー・モジ
ュール31、32、33とからなっている。
第3図においては、前記モジュールはMODI、MOD
2、MOD8として示される。
2、MOD8として示される。
各モジュールは、各々が4Mビットの容量を有する32
個(プラス、パリテイ・ビットあるいはエラー検出/訂
正コードのための集積回路)の集積回路構成要素により
形成される2バンクの集積回路により得られる32Mバ
イトの容量を有することが望ましい。
個(プラス、パリテイ・ビットあるいはエラー検出/訂
正コードのための集積回路)の集積回路構成要素により
形成される2バンクの集積回路により得られる32Mバ
イトの容量を有することが望ましい。
局部メモリー8は更に、指令(レジスタ34)、アドレ
ス(レジスタ35)、メモリー(レジスタ36)に対す
るテータ・イン入力およびメモリー(レジスタ37)か
らのデータ・イン出力をラッチするためのインターフェ
ース・レジスタを含む。
ス(レジスタ35)、メモリー(レジスタ36)に対す
るテータ・イン入力およびメモリー(レジスタ37)か
らのデータ・イン出力をラッチするためのインターフェ
ース・レジスタを含む。
主としてスタチック・メモリー38およびデコーダ39
に存在するモジュールおよびバンク選択ロジックが更に
局部メモリーに含まれている。
に存在するモジュールおよびバンク選択ロジックが更に
局部メモリーに含まれている。
メモリーおよびタイミング・ロジック40は、入力とし
て、レジスタ34にラッチされた指令、レジスタ35に
ランチされた最上位アドレス・ビットを受取り、然るべ
きタイミングで入力情報の関数として制御および選択信
号S1、S2、、、SNを生じるよう提供する。
て、レジスタ34にラッチされた指令、レジスタ35に
ランチされた最上位アドレス・ビットを受取り、然るべ
きタイミングで入力情報の関数として制御および選択信
号S1、S2、、、SNを生じるよう提供する。
アドレス変換装置8Bは、20ビットの並列性を得るよ
うに、各々が16KX4ビットの容量を持つ5個の集積
回路SRAM(例えば、日本の日立によりコードH M
6 7 8 8 Hとして市販される形式のもの)の
バンクからなる。
うに、各々が16KX4ビットの容量を持つ5個の集積
回路SRAM(例えば、日本の日立によりコードH M
6 7 8 8 Hとして市販される形式のもの)の
バンクからなる。
レジスタ35においてラッチされる「オフセット」ビッ
トAD2−11が、リード・セット41を介してROM
40およびいくつかのモジュール31、32、33に送
出される。
トAD2−11が、リード・セット41を介してROM
40およびいくつかのモジュール31、32、33に送
出される。
ページ・アドレス・ビットA D 12− 23は、リ
ード・セット42および3状態ゲートのセット43を介
して、ROM30ならびにいくつかのモジュール31、
32、33に対して配分される。ビットAD12=25
は更にSRAMメモリー8Bのアドレス入力に入力され
る。
ード・セット42および3状態ゲートのセット43を介
して、ROM30ならびにいくつかのモジュール31、
32、33に対して配分される。ビットAD12=25
は更にSRAMメモリー8Bのアドレス入力に入力され
る。
各アドレスのエントリのため、メモリー8Bは入力アド
レスにより表わされるリアル・アドレスと対応する物理
的ページ・アドレスの最下位部分を構成する12ビット
のコードを出力する。
レスにより表わされるリアル・アドレスと対応する物理
的ページ・アドレスの最下位部分を構成する12ビット
のコードを出力する。
このコードは、3状態ゲートのセット44を介していく
つかのモジュール31、32、33に対して同報される
。
つかのモジュール31、32、33に対して同報される
。
このようなコードに加えて、アドレス指定された各エン
トリ毎に、アドレス変換メモリー8Bが4ビットの選択
コードを出力し、これはりード45を介してデコーダ3
9へ送出される。
トリ毎に、アドレス変換メモリー8Bが4ビットの選択
コードを出力し、これはりード45を介してデコーダ3
9へ送出される。
レジスタ35からの出力におけるページ・アドレスの4
つの最上位ビットAD21−27はメモリー38に対す
るアドレスとして使用され、このメモリーがデコーダ3
9に対する入力として選択コードを出力する。
つの最上位ビットAD21−27はメモリー38に対す
るアドレスとして使用され、このメモリーがデコーダ3
9に対する入力として選択コードを出力する。
制御ロジック40は、ビット28−31および他のアド
レス・ビットの論理レベルならびにレジスタ34の内容
に応じて、メモリーの付勢のための調時信号および制御
信号S01、、SNを生成する。
レス・ビットの論理レベルならびにレジスタ34の内容
に応じて、メモリーの付勢のための調時信号および制御
信号S01、、SNを生成する。
バンクおよびモジュール選択SEL1、、、SEL8に
対する信号と相互に排他的な、例えば信号SOがROM
30を選択する。
対する信号と相互に排他的な、例えば信号SOがROM
30を選択する。
もしビソト31−28が1000の形態を有するならば
、レジスタ35にラッチされたアドレスは物理的アドレ
スであり、従って信号S2が生成され、これがゲート4
3およびメモリー38をそれぞれ物理的ページ・アドレ
スおよびモジュール選択コードの転送に対して使用可能
状態にする。
、レジスタ35にラッチされたアドレスは物理的アドレ
スであり、従って信号S2が生成され、これがゲート4
3およびメモリー38をそれぞれ物理的ページ・アドレ
スおよびモジュール選択コードの転送に対して使用可能
状態にする。
もしビット31−28が1001の形態を有するならば
、レジスタ35にラッチされたアドレスは大域データの
リアル・アドレスであり、従って、信号S]−が生成さ
れて、これがメモリー8Bかリアル・アドレスと対応す
る物理的アドレスならびに対応するモジュール選択コー
ドを出力することを許容する。
、レジスタ35にラッチされたアドレスは大域データの
リアル・アドレスであり、従って、信号S]−が生成さ
れて、これがメモリー8Bかリアル・アドレスと対応す
る物理的アドレスならびに対応するモジュール選択コー
ドを出力することを許容する。
メモリーに書込まれレジスタ36にラッチされたデータ
は、チャネル46を介して全てのモジュールへ配分され
、選択されたモジュールに書込まれる。
は、チャネル46を介して全てのモジュールへ配分され
、選択されたモジュールに書込まれる。
チャネル46は、選択されたモジュールからレジスタ3
7にロードされるメモリーから読出されたデータを受取
るためのコレクタを形成する。
7にロードされるメモリーから読出されたデータを受取
るためのコレクタを形成する。
第3図は、簡単にする目的のため、基本的に公知である
メモリー8Bおよび38に対するメモリ書込み回路は示
さない。
メモリー8Bおよび38に対するメモリ書込み回路は示
さない。
例えば、米国特許第4. 592. 011号は、38
の如きメモリーに対する書込み回路およびシステムの初
期化において使用される関連するメモリー・マッピング
手順について記載している。
の如きメモリーに対する書込み回路およびシステムの初
期化において使用される関連するメモリー・マッピング
手順について記載している。
リアル・アドレス、物理的アドレスの生成および変換S
RAM 8Bのローディングのプロセスは、下記の如く
要約することかできる。
RAM 8Bのローディングのプロセスは、下記の如く
要約することかできる。
システムの初期化時に、CPUOの如き各CPUは、周
知の方法でオペレーティング・システムを[プート(
bootstrap) Jするための手順ヲ付勢する。
知の方法でオペレーティング・システムを[プート(
bootstrap) Jするための手順ヲ付勢する。
プロセッザ7は、宛て先としてR O M30を識別す
るレジスタのスペースの固定されたアドレスにおける読
出し操作を制御し、内部レンスタ(命令カウンタ)の以
後の増分により、一連の命令を取出して実行する。これ
らの命令は、局部メモリの容量の検出、モジュール選択
口ジソクのローディング、周辺装置コン1・ローラ(例
えば、第1−図のディスク装置コントローラ20)の付
勢、およびいくつかの今日の表現によれば、オペレーテ
ィング・システムの一部、あるいはスーパーバイザ、あ
るいはカーネルの予め定めた物理的アドレスにおける局
部メモリーへの格納を行う。
るレジスタのスペースの固定されたアドレスにおける読
出し操作を制御し、内部レンスタ(命令カウンタ)の以
後の増分により、一連の命令を取出して実行する。これ
らの命令は、局部メモリの容量の検出、モジュール選択
口ジソクのローディング、周辺装置コン1・ローラ(例
えば、第1−図のディスク装置コントローラ20)の付
勢、およびいくつかの今日の表現によれば、オペレーテ
ィング・システムの一部、あるいはスーパーバイザ、あ
るいはカーネルの予め定めた物理的アドレスにおける局
部メモリーへの格納を行う。
このプロセスにおいて、MMU9および変換テーブル8
Bの状態はこれらが使用されないため関係がない。
Bの状態はこれらが使用されないため関係がない。
システムの他のCPUも自動的に同じ手順に従う。
この時、ブロセソサ7はそれ事態の局部メモリにおいて
カーネル部分としてメモリー管理モジュル即ちアロケー
タを有する。
カーネル部分としてメモリー管理モジュル即ちアロケー
タを有する。
このプログラムは、予め定められ修正不能な、局部メモ
リーの状態を記述するテーブルの割付けを行う物理的ア
ドレスにより定義されるあるメモリ空間を識別する。
リーの状態を記述するテーブルの割付けを行う物理的ア
ドレスにより定義されるあるメモリ空間を識別する。
この時、スーハーハイザは、システムの状態および実行
を待機するプロセスあるいはユーザ・プログラムの存在
を識別する。
を待機するプロセスあるいはユーザ・プログラムの存在
を識別する。
システムの状態と関連する情報は全てのCPUにより使
用される情報であり、特にスーパーバイザ・プログラム
により時間的に変更することかでき、アルいはユーザ・
プロセスの実行の過程において変更することができる。
用される情報であり、特にスーパーバイザ・プログラム
により時間的に変更することかでき、アルいはユーザ・
プロセスの実行の過程において変更することができる。
従って、この情報は、1組の大域データである。
アロケータは、このようなデータをロードする局部メモ
リー8における自由空間の識別を行い、このような空間
の物理的アドレスと、これがこのようなデータに割当て
ることを決定するリアル・アドレスと、その論理アドレ
スとの間の対応状態を確立する。
リー8における自由空間の識別を行い、このような空間
の物理的アドレスと、これがこのようなデータに割当て
ることを決定するリアル・アドレスと、その論理アドレ
スとの間の対応状態を確立する。
アドレス間のこのような対応は、局部メモリーの状態を
、保護ビソ1・、妥当/不当テーブル・ビット、等の別
の情報と共に記述するテーブルにロードされる。
、保護ビソ1・、妥当/不当テーブル・ビット、等の別
の情報と共に記述するテーブルにロードされる。
次いで、メモリー8Bのリアル・アドレスによるアドレ
ス指定およびデータとして送られる物理的アドレスの書
込みにより、リアル・アドレスと対応する物理的アドレ
スによる変換メモリー8Bのロードへ進む。
ス指定およびデータとして送られる物理的アドレスの書
込みにより、リアル・アドレスと対応する物理的アドレ
スによる変換メモリー8Bのロードへ進む。
更に正確には、変換メモリーがモジュールおよびバンク
の選択の別の機能を実施する第3図に示される如き場合
には、物理的アドレスの最上位ビソトか、局部メモリー
の形態の関数として決定されるモジュール/バンク選択
コードで置換される。
の選択の別の機能を実施する第3図に示される如き場合
には、物理的アドレスの最上位ビソトか、局部メモリー
の形態の関数として決定されるモジュール/バンク選択
コードで置換される。
例えどこに割付けを行うかを計画した場合でも、これま
で大域データが局部メモリーには格納されなかったこと
に注意すへきである。
で大域データが局部メモリーには格納されなかったこと
に注意すへきである。
この時、例えばスーパーバイザの制御下で局部メモリー
における大域データの割付けを最初に決定するものであ
るプロセッサ7は、システムの他のCPUに対して、予
め定めたリアル・アドレスおよび関連する論理アドレス
により識別される大域データの割付けのためのあるメモ
リー空間を留保する必要を通知する。
における大域データの割付けを最初に決定するものであ
るプロセッサ7は、システムの他のCPUに対して、予
め定めたリアル・アドレスおよび関連する論理アドレス
により識別される大域データの割付けのためのあるメモ
リー空間を留保する必要を通知する。
この通知プロセスは、直接のプロセッサ間の通信あるい
はシステムの特徴に応じて「メールボックス」を介する
間接的な通信により行うことができる。
はシステムの特徴に応じて「メールボックス」を介する
間接的な通信により行うことができる。
一旦この通知が受取られると、各CPUは、それ自体の
アロケータの制御下で、大域データをロードすべき物理
的局部メモリーを予約して、リアル・アドレスと物理的
アドレス間のそれ自体の相関テーブルを定義する。
アロケータの制御下で、大域データをロードすべき物理
的局部メモリーを予約して、リアル・アドレスと物理的
アドレス間のそれ自体の相関テーブルを定義する。
このCPUは更に、それ自体の局部メモリーの変換メモ
リーをこのように割当てられた物理的アドレス(および
関連する選択コード)でロードする。
リーをこのように割当てられた物理的アドレス(および
関連する選択コード)でロードする。
一旦この操作が行われると、このCPUは要求側のC
P U ,この場合はCPUOに対してメモリ空間が留
保されたこと、およびローディング操作を行うことがで
きることを通知する。
P U ,この場合はCPUOに対してメモリ空間が留
保されたこと、およびローディング操作を行うことがで
きることを通知する。
CPUOは、一旦他の全てのCPUによるメモリー空間
が留保された旨の確認を受取ると(どれか他のプロセッ
サにより使用されるメモリー空間の物理的アドレスであ
るかを各CPUは完全に無視する)、大域データを生成
してこの大域データをそれ自体の局部メモリーに書込む
と同時に、池のブロセソサの局部メモリーにも書込むプ
ロセスを、既に述べた米国特許出願に記載したようにシ
ステム・バスを介する他のシステムのプロセッサに対す
る大域書込み同報として定義される書込み指令により開
始することができる。
が留保された旨の確認を受取ると(どれか他のプロセッ
サにより使用されるメモリー空間の物理的アドレスであ
るかを各CPUは完全に無視する)、大域データを生成
してこの大域データをそれ自体の局部メモリーに書込む
と同時に、池のブロセソサの局部メモリーにも書込むプ
ロセスを、既に述べた米国特許出願に記載したようにシ
ステム・バスを介する他のシステムのプロセッサに対す
る大域書込み同報として定義される書込み指令により開
始することができる。
これらの大域書込み指令は、アドレス指定情報として物
理的アドレスではなくリアル・アドレスを使用する。
理的アドレスではなくリアル・アドレスを使用する。
従って、プロセッサが大域書込み指令を生成し、それ自
体のMMUをリアル・アドレスの生成のため第1のレベ
ルの変換装置として使用し、次いでそれぞれいくつかの
局部メモリーの1つと関連しかつ複数の物理的アドレス
への同じリアル・アドレスの局部的な変換のため第2の
レベルの変換装置としていくつかのプロセッサにより予
め設定される変換メモリーの各々を使用するということ
ができる。
体のMMUをリアル・アドレスの生成のため第1のレベ
ルの変換装置として使用し、次いでそれぞれいくつかの
局部メモリーの1つと関連しかつ複数の物理的アドレス
への同じリアル・アドレスの局部的な変換のため第2の
レベルの変換装置としていくつかのプロセッサにより予
め設定される変換メモリーの各々を使用するということ
ができる。
大域データに対するメモリー空間の割付けのこのような
操作は、初期化時のみでなくシステム操作の如何なる時
にも実施し反復するできることが明らかである。
操作は、初期化時のみでなくシステム操作の如何なる時
にも実施し反復するできることが明らかである。
これは、新しいメモリー空間を、スーパーバイザにより
使用される大域データであり、より大きな効率のため更
に多くのプロセッサにより同時に実行されるユーザ・プ
ログラムにより必要とされる太域データである新しい大
域データに割付けることを必要とする度に行われる。
使用される大域データであり、より大きな効率のため更
に多くのプロセッサにより同時に実行されるユーザ・プ
ログラムにより必要とされる太域データである新しい大
域データに割付けることを必要とする度に行われる。
第3図は、各プロセッサと接続される第1のレベルの変
換装置に加えて、第2のレベルのアドレス変換装置を備
えた局部メモリーの望ましい実施態様を示している。
換装置に加えて、第2のレベルのアドレス変換装置を備
えた局部メモリーの望ましい実施態様を示している。
この実施態様に対してはいくつかの変更が可能である。
例えば、第3図の3状態のゲート43および44はマル
チブレクサで置換することができる。
チブレクサで置換することができる。
更に、メモリー8Bの出力とメモリー38の出力間の直
接の結線45は、このようなメモリーが作動するよう選
択される場合にのみ、3状態の出力が可能化されること
を示唆している。
接の結線45は、このようなメモリーが作動するよう選
択される場合にのみ、3状態の出力が可能化されること
を示唆している。
もしそうでなければ、デコーダ39に対してリード45
上に存在する信号あるいはメモリー38からの出力のい
ずれかを相互に排他的な方法で入力するため、マルチブ
レクサを設けねばならない。
上に存在する信号あるいはメモリー38からの出力のい
ずれかを相互に排他的な方法で入力するため、マルチブ
レクサを設けねばならない。
あるいはまた、多重化機能は、2組の信号に装置40か
らの異なる入力における制御信号を加えたものを受取る
ことができるデコーダ39により実施することができる
。
らの異なる入力における制御信号を加えたものを受取る
ことができるデコーダ39により実施することができる
。
また、例え作動速度に関して有利であっても、変換メモ
リーF3 Bが選択コードの生成機能を実施することは
要求されないことが更に明らかである。
リーF3 Bが選択コードの生成機能を実施することは
要求されないことが更に明らかである。
第4図は、モジュール選択機能が常に排他的に選択装置
により行われる変換メモリー8Bのメモリー・モジュー
ル選択装置との相互接続を示している。
により行われる変換メモリー8Bのメモリー・モジュー
ル選択装置との相互接続を示している。
第4図においては、装置8Bがリアル・アドレス・ビン
hAD]2 24を受取り、また対応する物理的アド
レス・ビットPAD12−27を出力する。
hAD]2 24を受取り、また対応する物理的アド
レス・ビットPAD12−27を出力する。
ビソトPAD12−23は、第2の入カセットにおいて
アドレス・ビットA D 12− 23を(レジスタ3
5からの出力において)受取るマルチプレクサ47に対
して入力される。
アドレス・ビットA D 12− 23を(レジスタ3
5からの出力において)受取るマルチプレクサ47に対
して入力される。
マルチプレクサ47は、信号S4により制御されて、レ
ジスタ35に記憶されたアドレスかリアル・アドレスお
よび物理的アドレスのどちらであるかに従って、いすれ
かの入力情報の変換を可能にする。
ジスタ35に記憶されたアドレスかリアル・アドレスお
よび物理的アドレスのどちらであるかに従って、いすれ
かの入力情報の変換を可能にする。
メモリー8Bからの出力中のビットPAD24−27は
、第2の入カセットとしてビy トAD24−27を(
レジスタ35からの出力において)受取るマルチブレク
ザ48に対して入力される。
、第2の入カセットとしてビy トAD24−27を(
レジスタ35からの出力において)受取るマルチブレク
ザ48に対して入力される。
マルチブレクサ48もまた、信号S4により制御される
。
。
マルチブレクサ/I8の出力は、スタチソクRAM38
の入力と接続されている。
の入力と接続されている。
この場合、リアル・アドレスの物理的アドレスへの変換
(メモリー8B)および物理的アドレスに基くモジュー
ル選択コードの生成が時間的なシケンスあるいはカスケ
ード状に行われることが明らかである。
(メモリー8B)および物理的アドレスに基くモジュー
ル選択コードの生成が時間的なシケンスあるいはカスケ
ード状に行われることが明らかである。
もし時間的な制約がこのような47/i成を排除しなけ
れば、メモリー8Bにロードされる物理的アドレスの生
成過程を簡素化し、かつこの生成を局部メモリー形態お
よびモジュール選択プロセスから独立させる故に、有利
な結果をもたらし得よう。
れば、メモリー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名)
換装置を有する多重プロセッサ・システムを示すブロッ
ク図、第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、大域データの複写および2レベルのアドレス変換装
置を備え、複数のプロセッサの各々が関連する局部メモ
リーを有し、各プロセッサは局部バスを介してそれ自体
の局部メモリーにアクセスし、各プロセッサはそれ自体
の局部バスおよびシステム・バスを介して別のプロセッ
サの局部メモリーにアクセスし、1つ以上のプロセッサ
により使用される更に他の大域データが前記局部メモリ
ーの各々において複写され格納される多重プロセッサ・
システムにおいて、前記プロセッサの各々においてこれ
と関連し、かつ関連するプロセッサにより生成される大
域データの論理アドレスを各々がリアル・アドレスとし
て識別するビット・コードを含むリアル・アドレスへ変
換するため、関連するプロセッサからのみアクセスし得
る第1のアドレス変換装置と、前記局部メモリーと関連
し、かつ前記第1の変換装置のどれかから受取る前記リ
アル・アドレスを関連する局部メモリーに対してアドレ
スとして入力される物理的アドレスへ変換するため、前
記プロセッサにより前記システム・バスからアクセスし
得る前記各プロセッサにおける第2のアドレス変換装置
と、前記リアル・アドレスを検出して該リアル・アドレ
スの検出時にのみ前記第2の装置を付勢する論理装置と
を設けてなることを特徴とする多重プロセッサ・システ
ム。 2、書込み操作において、前記第1の変換装置のどれか
1つにより生成されるリアル・アドレスを前記全ての変
換装置へ転送する装置を設け、これにより1つのプロセ
ッサと関連する前記第1の変換装置により生成される前
記リアル・アドレスが、前記システム・バスを介して他
のプロセッサの各々へ送出され、各々が前記局部メモリ
ーの1つをアドレス指定する複数の物理的アドレスにお
いて前記第2の変換装置の各々により変換されることを
特徴とする請求項1記載の多重プロセッサ・システム。 3、前記第2の変換装置がスタチック・ランダム・アク
セス・メモリーであることを特徴とする請求項1記載の
多重プロセッサ・システム。 4、前記局部メモリーの少なくとも1つが、物理的アド
レスの1つのフィールドから得られる選択コードにより
読出し/書込み操作のため個々に選択可能な複数のモジ
ュールを含み、該1つの局部メモリーと関連する少なく
とも第2の変換装置が、前記の受取ったリアル・アドレ
スを物理的アドレスと共にモジュール選択コードに変換
することを特徴とする請求項3記載の多重プロセッサ・
システム。
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)
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)
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 |
-
1989
- 1989-03-15 IT IT8919787A patent/IT1228728B/it active
-
1990
- 1990-01-24 US US07/469,870 patent/US5247629A/en not_active Expired - Lifetime
- 1990-03-03 EP EP90104155A patent/EP0387644B1/en not_active Expired - Lifetime
- 1990-03-03 DE DE69024078T patent/DE69024078T2/de not_active Expired - Fee Related
- 1990-03-15 JP JP2065508A patent/JPH02291044A/ja active Pending
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 |