JPH0642238B2 - デ−タ処理システム - Google Patents

デ−タ処理システム

Info

Publication number
JPH0642238B2
JPH0642238B2 JP59243556A JP24355684A JPH0642238B2 JP H0642238 B2 JPH0642238 B2 JP H0642238B2 JP 59243556 A JP59243556 A JP 59243556A JP 24355684 A JP24355684 A JP 24355684A JP H0642238 B2 JPH0642238 B2 JP H0642238B2
Authority
JP
Japan
Prior art keywords
microprocessor
memory
data
page
microprocessors
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.)
Expired - Lifetime
Application number
JP59243556A
Other languages
English (en)
Other versions
JPS60147861A (ja
Inventor
ブレント.ツイオン.ヘイルパーン
リー.ウインドソー.ホーヴル
ユージン.シエーピロ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS60147861A publication Critical patent/JPS60147861A/ja
Publication of JPH0642238B2 publication Critical patent/JPH0642238B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory

Landscapes

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は複数の知能端末がメモリを共有するようなデー
タ処理システムに関する。
[従来技術] 共通のメモリを使用する多重プロセツサシステムでは、
通常、高速のIBMシステム/370プロセツサ(たと
えば3081)のような単一の逐次的の制御装置が用い
られている。プロセツサはデータの要求を受け取ると、
メモリの内容を探索して要求されたデータがそこに記憶
されているかどうかを見て、もしそこにないときは、外
部記憶装置(たとえばデイスク)から1次メモリへデー
タを転送するよう要求する。異なる端末から複数の要求
を受け取つたときは、逐次式の制御装置は各要求を順次
に処理しなければならない。
[発明が解決しようとする問題点] したがつてこのようなシステムは非常に高速のプロセツ
サを使用しなければならず、必然的にそのコストは極端
に増加する。あるいは代わりに安価で低速なプロセツサ
を用いれば、メモリアクセスに多大な時間を要する。
本発明はこの問題点を解決すること、すなわち安価にか
つ効率良くメモリを制御できるデータ処理システムを提
供することにある。
[問題点を解決するための手段] 本発明は、少なくとも1つの知能端末と、データを記憶
するメモリと、知能端末からの要求に基づいて少なくと
も1つのメモリ制御機能を遂行する制御手段と、を含む
データ処理システムであつて、 この制御手段が複数の制御部を有し、各々の制御部がメ
モリの各領域に対してそれぞれにメモリ制御機能を遂行
することを特徴とするデータ処理システムである。
こうしてメモリの制御を単一の制御装置で逐次的に遂行
するのではなく、複数の制御部(実施例ではマイクロプ
ロセツサ)が同時的に遂行することにより安価にかつ効
率よくメモリを制御することができる。
[実施例] 第1図は本発明を利用できるデータ処理システムの構成
を示す図である。データ処理システムは複数の知能端末
10(図では単にCPUと記す)を有する。これらの知
能端末10はスイツチ12の各ポートに接続される。各
知能端末は、たとえばIBM PCのようなパーソナル
コンピユータでもよい。知能端末10はそれぞれ写像部
14を介してスイツチ12に接続される。写像部14は
単にアドレス変換のために具備されるものである。
スイツチ12のポートには様々な装置および様々な回路
を接続できる。たとえば、プリントサーバ16、フアイ
ルサーバ18、メモリ20、共有のメインフレーム22
等である。さらにスイツチ12のポートの1つにネツト
ワークゲートウエイ24を接続することもできる。
スイツチ12は好適には任意のポート間を選択的に接続
できる非閉塞型のスイツチである。こうして知能端末1
0はどれでもプリントサーバ16、フアイルサーバ1
8、またはメインフレーム22(たとえばIBMシステ
ム/370)をアクセスできる。知能端末10はスイツ
チ12を介して互いに通信することもできる。互いにお
よび周辺装置と頻繁に通信する知能端末10が第1図の
スイツチ12に接続されている。めつたに通信を行わな
い別の知能端末(図示せず)はネツトワークゲートウエ
イ24を介して第1図に示される知能端末10と通信す
る。ニツトワークゲートウエイ24はローカルエリアネ
ツトワークへの接続部であつたり、別の知能端末群が接
続される第2のスイツチの接続部であることもある。
本実施例に従つた記憶装置20の設計および動作につい
て説明する。記憶装置20は、1次メモリ26(たとえ
ばRAM)、2次メモリ28(たとえばデイスク記憶装
置)、および制御装置30を含むことができる。1次メ
モリ26はページ形式またはセグメント形式のメモリで
もよい。本実施例によるメモリのアドレス指定の制御を
経済的で効率が良い。通常のシステムでは、メモリの制
御に必要な機能を実現するには、メモリマツプおよびハ
ツシングテーブル(またはいずれか一方)を用いる、高
速の逐次的な機械が使用される。つまり、従来この機能
は、共有された記憶装置の様々なページの状況が記憶さ
れた局所テーブルを用いて1つまたは全ての知能端末1
0で遂行されていた。本実施例は、所望のメモリの制御
を実現するために単一の高速の逐次的な機械を用いるの
ではなく、複数のマイクロプロセツサを用いる。
第2図は共有記憶装置120を制御するための多重マイ
クロプロセツサシステムの1構成例を示す図である。ア
プリケーシヨンプロセツサてあるCPU110は第1図
の知能端末10に対応し、スイツチ112は第1図のス
イツチ12に対応し、共有記憶装置(以下SCSとい
う)120は第1図の1次メモリ26および2次メモリ
28に対応し、記憶装置制御機構(以下SCFという)
130は第1図の制御装置30に対応するものである。
SCF130は、SCS120の内容に関するデイレク
トリイの保持、データ転送の指令発行等の様々な記憶装
置制御機能を遂行する。
第3図は多重マイクロプロセツサメモリ制御システムの
好適な構成例を示す図である。SCS120は1次メモ
リ126と2次メモリ128を含むことができる。通常
のメモリコントローラ132はSCF130と通信しな
がら、1次メモリ126と2次メモリ128との間のデ
ータ転送を制御できる。
SCF130はマイクロプロセツサのアレイ134と制
御プロセツサ136を含むことができる。アレイ134
のマイクロプロセツサは、たとえば、ザイログ社のZ8
0、またはインテル社の8086でよい。制御プロセツ
サ136もインテル社の8086マイクロプロセツサで
よい。もちろん他のマイクロプロセツサを用いることも
できる。
好適には、1次メモリ126は複数の領域に分かれてい
るページ形式のメモリである。(各領域は複数ページか
ら成る)。アレイ134の各マイクロプロセツサは1次
メモリ126のこれらの各領域に割り当てられている。
アレイ134においてはマイクロプロセツサを複数個接
続することができる。一般的には、マイクロプロセツサ
(μP)は第4A図および第4B図のように配列でき
る。各マイクロプロセツサは通信ポートすなわちチヤネ
ル133を介して4つの隣接したマイクロプロセツサに
接続される。各マイクロプロセツサは、さらに、共通の
バス135が接続されているので、制御プロセツサ13
6と通信できる。各マイクロプロセツサはバスアービタ
を有する2重ポート式の局所メモリ(例ばR/Wポート
とROポートのもの、又はR/Wポートが2つのもの)
を含む。
アレイ134の各マイクロプロセツサはそれに割り当て
られた1次メモリ126の領域に関する状況を各自の局
所記憶部(すなわちデイレレトリ)に保持する。したが
つて、共有記憶装置の全体を制御しなければならないで
あろう逐次的な制御に比べて、さらに高速でしかも一定
の時間で応答できる。CPU110が発するデータの要
求は全てアレイ134へ送られる。そうしてアレイ13
4は要求されたデータが記録されているところのアドレ
ス(一次メモリ126の)をみつけてそれをCPU11
0へ返送する。こうしてCPU110はスイツチ112
を介して1次メモリ126を直接アクセスできる。要求
されたデータが1次メモリ126にないときは、アレイ
134のマイクロプロセツサはメモリ・コントローラ1
32へ指令を送つて、要求されたデータを2次メモリ1
28から1次メモリ126へ転送させる。この転送が完
了したことを示す信号がアレイ134のマイクロプロセ
ツサに返つてくると、新しくデータが転送されたところ
のアドレス(1次メモリ126の)がCPU110へ送
られる。
次に第5図ないし第7図を参照して本実施例の動作を説
明する。第5図に示すように、制御プロセツサ135は
スイツチ112、アレイ134、およびメモリコントロ
ーラ132相互間のメツセージ転送のインターフエース
として働く。メモリコントローラ132またはスイツチ
112からのメツセージはアレイ134へ送られ、アレ
イ134からのメツセージは必要に応じてスイツチ11
2またはメモリコントローラ132へ送られる。
第6A図を参照してアレイ134の動作を説明する。或
るCPU110がデータを要求すると、その要求はスイ
ツチ112を介して制御プロセツサ136へ接続され
る。制御プロセツサ136は要求されたアドレス(仮想
アドレス)をハツシングすることによつてアレイ134
のマイクロプロセツサを特定してそこへ要求を送る。こ
のマイクロプロセツサが、ステツプ200で、受け取つ
たメツセージはCPU110からのデータ要求であると
判断し、自身のデイレクトリを調べて、要求されたデー
タが、自身に割り当てられた領域(1次メモリ126
の)に記憶されているかどうかをみる。要求されたデー
タが1次メモリ126に記憶されているときは、そのマ
イクロプロセツサは、ステツプ202で、そのデータが
記憶されているところのアドレス(実アドレス)をもと
のCPU110へ返す(制御プロセツサ136およびス
イツチ112を介して)。こうしてCPU110はスイ
ツチ112を介して1次メモリ126を直接アクセスす
ることができる。
ところで要求されたデータがデイレクトリにリストされ
ていない時は、マイクロプロセツサは自身に割り当てら
れた領域(1次メモリ126の)に、要求されたデータ
を記憶するだけの余裕が十分にあるかどうかを判断す
る。十分な余裕があれば、マイクロプロセツサはメモリ
コントローラ132へ指令を送つて、2次メモリ128
から1次メモリ126の所望のアドレスのところにデー
タを転送させる。ここで流れ図Aに戻る。メモリコント
ローラ132によつてこのデータ転送が完了するとすぐ
にその事実を示す信号が制御プロセツサ136を介して
所望のマイクロプロセツサに送られる。こうしてマイク
ロプロセツサは、ステツプ204でデータ転送が完了し
たと判断する。新しくデータが転送されたところのアド
レス(1次メモリ126の)がもとのCPU110へ送
られる。
要求されたデータが1次メモリ126になく、マイクロ
プロセツサがステツプ206で、自身に割り当てられた
領域に要求されたデータを記憶するだけの余裕がないと
判断したときは、マイクロプロセツサは現にある1次メ
モリ126の内容の一部を2次メモリ128に転送して
余裕を作り出すか、または別のところの領域を使う。た
いていは後者の方法が優先する。そこでマイクロプロセ
ツサは、ステツプ207で、チヤネル133を介して隣
接するマイクロプロセツサに或る要求を送る。これは隣
接するマイクロプロセツサに割り当てられている領域
(1次メモリ126の)を借りるための交渉を要求する
ものである。以下この要求のことを借用要求と呼ぶこと
する。マイクロプロセツサが、借用要求に対する応答を
隣接したマイクロプロセツサから受け取ると、当該マイ
クロプロセツサは、応答したマイクロプロセツサがそこ
に割り当てられている領域に余裕を持つているかどうか
を判断する。当該マイクロプロセツサに割り当てられた
領域の中で空いているところ(しかしながらこの余裕は
データを記憶するには十分でない)と、隣接のマイクロ
プロセツサに割り当てられた領域から借りた部分とで、
要求されたデータを記憶するに十分な容量になれば、借
用要求は成功であるとみなされ、当該マイクロプロセツ
サは、2次メモリ128から1次メモリ126へ所望の
データを転送させるための要求を、メモリコントローラ
132へ送る。こうして流れ図は第6A図のAに戻つ
て、当該マイクロプロセツサは、データ転送が完了した
ことを示す信号がメモリコントローラ132から送られ
てくるのを待つ。
借用要求が不成功のときは、当該マイクロプロセツサは
1次メモリ126で現に記憶している内容の一部分を、
2次メモリ128へ転送して、要求されたデータのため
に新たな余裕を作り出す。当該マイクロプロセツサはス
テツプ208で2次メモリ128へ転送すべき部分を決
定する。このような領域の一部(ページ形式ならばペー
ジ)の追出しは、たとえばLRUアルゴリズムのような
よく知られた判断基準に基づいて実行できる(ここでは
メモリの形式をたとえばページ形式と仮定して、各マイ
クロプロセツサに割り当てられている領域において、こ
の追出しの単位である領域の一部のことを以下ページと
記して説明することにする)。しかしながら当該マイク
ロプロセツサはページの追出しを単純には実行できな
い。というのは、追出すべきページを、別のCPU11
0がスイツチ112を介して現に直接アクセスしている
ことがあるからである。そこで、当該マイクロプロセツ
サは追い出すべきページを決定した場合、現にそのペー
ジをアクセスしているCPU110へ然るべき信号を送
つて、そのページが1次メモリ126から追い出される
ページであることを知らせる。こうして流れ図は第6A
図のAに戻つて、当該マイクロプロセツサはそのCPU
110からの肯定応答を待つ。肯定応答を受け取ればス
テツプ210へ進み、当該マイクロプロセツサはメモリ
コントローラ132へデータ転送の指令を送つて、追い
出すべきデータを1次メモリ126から2次メモリ12
8へ転送させ、要求された新しいデータを2次メモリ1
28から1次メモリの適切なアドレスのところへ転送さ
せる。こうして流れ図はAに戻つて当該マイクロプロセ
ツサはメモリコントローラ132から、データの転送が
完了したことを示す信号が送られてくるのを待つ。この
信号が送られてくれば、要求されたデータが転送された
ところの1次メモリ126の新しいアドレスが、メモリ
コントローラ132およびスイツチ112を介してCP
U110に返つてくる。
メモリコントローラ132の機能は、データ転送要求を
処理することおよびそのデータ転送が完了したことを示
す信号を制御プロセツサ136(したがつてアレイ13
4のマイクロプロセツサ)へ返すことだけである。第7
図にメモリコントローラ132の動作を表わす流れ図を
示す。メモリコントローラ132は通常の高速のデイス
クコントローラでもよい。
前にも説明したように、アレイ134においてデータの
要求を制御すべきマイクロプロセツサを決めるのに制御
プロセツサ136は好適にはハツシングを遂行する。し
かしながらハツシングが実用的でないときは、同報通信
アルゴリズムを用いることもできる。
以下、ハツシング機能を用いる場合の動作をハツシング
オペレーシヨン、同報通信アルゴリズムを用いる場合の
動作を同報通信オペレーシヨンのように言う。
同報通信オペレーシヨンの場合の流れ図はこれから説明
する追加されるステツプ以外は、第5図、第6A図、第
6B図、および第7図と同じである。以下変更部分を説
明する。第1の変更点は第5図の制御プロセツサ132
の動作の流れ図においてステツプ212とステツプ21
4の間に第8図に示すステツプを追加することである。
第5図のステツプ212では、制御プロセツサ136は
メツセージをどこから受け取つたかを判断する。制御プ
ロセツサ136がCPU110の1つからメツセージを
受け取つた場合、制御プロセツサ136は、そのメツセ
ージをどのマイクロプロセツサ(アレイ134の)に送
ればよいのかがわからない(ハツシング機能があるとき
は要求されたアドレスをハツシングすることでマイクロ
プロセツサを特定できる)。そこで制御プロセツサ13
6は第5図のステツプ212と214の間で第8図に示
すステツプを遂行する。すなわち、制御プロセツサ13
6は要求されたページの番号を全てのマイクロプロセツ
サに同報通信して(共通のバス135を介して)、その
ページ番号を管理する特定のマイクロプロセツサからこ
の同報通信に対する応答が返つてくるのを待つ。この際
の各マイクロプロセツサの動作は第6A図のステツプ2
00とこれから説明するもう1つの変更点である第9図
のステツプである。第6図のステツプ200で、各マイ
クロプロセツサはどこからどんなメツセージが送られて
きたかを調べる。したがつてこのステツプでは、そのメ
ツセージがページ番号の同報通信であるときもそれを検
知できる。ページ番号が同報通信されると、各マイクロ
プロセツサはそのページが自分の管理するものであるか
どうかを検査して、もしそうであるときは、そのことを
示す応答を制御プロセツサ136へ返す。そうして流れ
図は第6A図のAに戻る。以上が第9図のステツプであ
る。こうして要求されたページを管理するマイクロプロ
セツサからその管理者であることを示す応答を制御プロ
セツサ136が受け取ると、制御プロセツサ136の動
作のステツプは第8図から第5図のステツプ214へ進
む。
制御プロセツサ136が全マイクロプロセツサにページ
番号を同報通信した後(第8図のステツプ)第5図のは
じめに戻りそのページの担当者(マイクロプロセツサ)
からの肯定応答を待つことは、同報通信オペレーシヨン
の場合の動作である。担当マイクロプロセツサから肯定
応答を受け取ればステツプ212で、マイクロプロセツ
サからメツセージが来たと検知されて、ステツプ213
へ進む。
ところで同報通信オペレーシヨンでは第8図のステツプ
が追加されるので、データの要求の処理にはそれだけ時
間がかかる。したがつて制御プロセツサ136にマイク
ロプロセツサからの即答を待たせるによつて担当マイク
ロプロセツサの決定を優先させることが望ましいであろ
う。さらに、アレイ134の各マイクロプロセツサが制
御プロセツサ136からページ番号が同報通信されてき
たと検知したとき、各マイクロプロセツサにその優先度
を認識させて、直ちに応答させるか、または他のマイク
ロプロセツサが応答するまでは別の信号を共通のバス1
35に出すのを差し控えるようにすることが望ましいで
あろう。
同報通信オペレーシヨンの場合、要求されたページを管
理することを示す応答がどのマイクロプロセツサからも
返つてこないときは、制御プロセツサ136は新しいペ
ージが必要であるとわかる。こうした場合、制御プロセ
ツサ136はアレイ134の全マイクロプロセツサに新
しいページを要求するメツセージ(以下新ページ要求と
いう)を同報通信する。使用可能なページを有するマイ
クロプロセツサは全て、共通のバス135を介してその
ページの識別番号(ページ番号)を返す。使用可能なペ
ージを有するマイクロプロセツサが複数ある場合は、制
御プロセツサ136は適切なアルゴリズムを用いて使用
可能なページの1つを最少の時間で選択する。メモリに
一時に1ページ分のコピーしか存在しないときは、1つ
のマイクロプロセツサしか応答しないので、制御プロセ
ツサ136はそのページをアクセスするための要求を同
報通信できる。この手法を用いればデータおよびコード
シエアリング(シノニム問題)ならびにページの2重コ
ピーも処理することができる。
アレイ134の特定のマイクロプロセツサにひとたびペ
ージの担当が割り当てられると、そのページを要求して
いるCPU110がそのページは不必要になつたと示す
までは、当該マイクロプロセツサはそのページの担当を
維持する。したがつてそれまでは、そのページに対する
要求は全て、当該マイクロプロセツサによつて肯定応答
がなされる。データを要求しているもとのCPU110
がそれは不必要になつたと示す前に、当該マイクロプロ
セツサがそのページを2次メモリ128へ追い出す必要
があるとわかつたときは、当該マイクロプロセツサはそ
の追出しの前に、もとのCPU110にそのことを知ら
せてやる。これはハツシングによる場合と全く同じであ
る。後続の同じデータ要求に応答して、同じマイクロプ
ロセツサがそのページの担当であると肯定応答し、メモ
リコントローラ132へ然るべき要求を送つてそのペー
ジを2次メモリ128から1次メモリ126に転送させ
る。これに関してもハツシングによる場合と同じであ
る。
マイクロプロセツサが或るページの担当を受諾したがそ
のページを1次メモリ126から追い出したときでも、
当該マイクロプロセツサが自身に割り当てられた領域
(1次メモリ126の)に十分な余裕がないときにその
データの要求を受け取ることができる。そうした場合
は、当該マイクロプロセツサは隣接したマイクロプロセ
ツサに割り当てられている領域の一部を借用するか、ま
たは現に自身に割り当てられた領域に記憶している内容
の一部を追い出して新しく要求されたデータのための余
裕を作り出す。前者、後者いずれも、ハツシングの場合
と全く同様に遂行される。
アレイ134のマイクロプロセツサの担当を決めるのに
制御プロセツサ136が要求されたデータのアドレスを
ハツシングするという動作(ハツシングオペレーシヨ
ン)は、通常は同報通信オペレーシヨンよりも効率が良
いであろう。しかしながら同報通信オペレーシヨンに
は、個々のマイクロプロセツサの負荷(ページ担当の負
荷)を効率良くバランスがとれるという利点がある。以
下各オペレーシヨンの特徴について説明する。ハツシン
グオペレーシヨンの場合は、アレイ134の各マイクロ
プロセツサには、1次メモリ126の各領域だけでなく
仮想アドレス空間の担当もそれぞれ割り当てられる。デ
ータの要求をする度毎に仮想アドレスがハツシングされ
て担当マイクロプロセツサが決まる。特定の記録データ
が要求されるときは常に同じマイクロプロセツサの担当
とみなされる。したがつて担当マイクロプロセツサは直
ちに決定される。以上のことからハツシングオペレーシ
ヨンは効率が良いと言えるであろう。
同報通信オペレーシヨンの場合は、データの要求は全て
マイクロプロセツサに同報通信されてから肯定応答がな
される。担当を受諾するマイクロプロセツサが全くない
ときは、制御プロセツサ136は新ページ要求を同報通
信として応答のあつたマイクロプロセツサの1つにその
担当を割り当てねばならない。この手法は要求されたペ
ージの担当を決めるのに少し時間がかかるが、担当に対
するマイクロプロセツサの負荷のバランスはとれる。詳
しく言えば、ハツシングオペレーシヨンの場合は特定の
ページは常に同じマイクロプロセツサが担当するのに対
し、同報通信オペレーシヨンの場合は、もとの要求の時
点におけるマイクロプロセツサの負荷に基づいて任意の
マイクロプロセツサに担当を割り当てることができるの
である。
同報通信オペレーシヨンに関する負荷バランスの特徴
は、新しいページの担当の割当てに有益というだけでな
く、以下に示すような利点もある。第1のマイクロプロ
セツサが自身のデイレクトリすなわちリストは長くなり
過ぎたとわかると、第1のマイクロプロセツサは隣接し
たマイクロプロセツサと通信して、現に自身が担当して
いるページの1つを隣接のマイクロプロセツサが分担で
きるかどうかを調べる。隣接のマイクロプロセツサのリ
ストが適当な長さであれば、そのマイクロプロセツサは
1ページ以上の担当を受諾して将来その部分の要求があ
つたときは全て肯定応答する。こうしたページ管理の分
担によつて負荷のバランスをとることは、各マイクロプ
ロセツサに対して仮想アドレス空間の担当が固定されて
いないような同報通信オペレーシヨンにおいて可能であ
る。これはハツシングオペレーシヨンでは実現できな
い。ハツシングオペレーシヨンにおいては過負荷となつ
たマイクロプロセツサは隣接のマイクロプロセツサの担
当している別の領域を借りることができるのみである。
同報通信オペレーシヨンの場合は制御プロセツサ136
は共通のバス135を介して各マイクロプロセツサと通
信できるので、厳密に言えば、マイクロプロセツサを相
互接続(チヤネル133)する必要はない。しかしなが
らこれまでに説明したように負荷のバランスをとること
および領域を借用することは、チヤネル133があれば
さらに効率良く実現できる。しかも、各マイクロプロセ
ツサに2重ポート式の局所メモリを具備できて各マイク
ロプロセツサはデイレクトリと隣接のマイクロプロセツ
サを監視することができるという利点もある。
マイクロプロセツサの相互接続によつてそれに障害が生
じた場合のバツクアツプ保護が提供できる。たとえば、
或るページ番号が全マイクロプロセツサに同報通信され
て、どこからも応答がなかつたとき、制御プロセツサ1
36は全マイクロプロセツサに各自の隣接のマイクロプ
ロセツサのデイレクトリを調べるよう要求して、マイク
ロプロセツサが故障したわけではなく単に応答できなか
つただけであることを確認する。
第3図のところで説明したメモリコントローラ132を
介してCPU110が1次メモリ126と通信する構成
が幾つかあるので、メモリコントローラ132は物理的
にはSCS120の中に所在させておく。第3図に示し
た好適に構成例では、CPU110がスイツチ112を
介して1次メモリ126を直接アクセスできるよう、1
次メモリ126は2重ポート式であつた。次に他の構成
例を第10図および第11図を参照して説明する。
第10図では、制御プロセツサ136とメモリコントロ
ーラ132とを直接に接続するものはなく、スイツチ1
12を1次メモリ126へ直接に接続するものもない。
第10図の構成は第3図の構成と比壁て安価に実現でき
るが、制御プロセツサ136とメモリコントローラ13
2との間の信号の受渡しは全てスイツチ112を介さね
ばならないので、効率はあまり良くない。
第11図に示す構成は、1次メモリ126と2次メモリ
128との間のデータ転送もスイツチ112を介して行
わねばならないので、第10図の構成よりもさに動作が
遅くなる。
前にも説明したように、1次メモリ126は複数のマイ
クロプロセツサが共同で管理する。したがつて1次メモ
リ126は、仮りに単一の制御(全ての要求を逐次的に
処理し、しかもそれ自身で共有された記憶装置全体を管
理しなければならないような制御)を用いたとしたとき
に生ずるであろうメモリアクセスの極端な遅延を伴わず
に、非常に大きくできる。これは、たとえば独立した6
4個のマイクロプロセツサを有する制御装置のシノニム
問題を考えてみれば理解できる。この場合、メモリシス
テムは仮想アドレスを与えられ、共有記憶装置の中で現
に仮想アドレスに写像されたページがあるかどうか(た
とえそれが他の識別子に基づいてもたらされたものであ
つても)が決定される。本発明に従つて共有記憶装置の
合計のページ数は、大雑把に言つて、相等しい64個の
セツトに分けられ、各セツトはそれ専用のマイクロプロ
セツサによつて独立にかつ同時に検査される。したがつ
てこれと等価な効果を逐次的な制御で得ようとすれば、
マイクロプロセツサの64倍の処理高速が必要である。
ところでマイクロプロセツサ間の相互接続の主な目的は
1つのマイクロプロセツサの領域に余裕がない場合に隣
接のマイクロプロセツサの領域を借りられるようにそこ
と交渉できることであるが、この相互接続のおかげて各
マイクロプロセツサはメモリ全体の応答性を落すことな
く、正確さを保証するために各自の広範囲な計算を実行
することもできる。実際この手法の主な利点はメモリの
可用性が回復、ジヤーナリング、書き戻し、事前取出し
等の際必要とされる補助的な処理に、影響されないこと
である。CPU110からの要求を直列化する必要がな
いとき(たとえば持久性永続データのジヤーナリング)
は、制御プロセツサ136は現時点の要求を送出した直
後の別にCPU110からの付加的な要求を自由に処理
できる。各マイクロプロセツサはそこに割り当てられた
ページ/セグメントに関するどんな状況をも更新し、共
通のバス135を用いて必要なデータ転送を遂行する。
こうした更新やデータ転送に係る活動は、制御プロセツ
サ136、全てのCPU110、および他の各マイクロ
プロセツサに対しては非同期的である。
[発明の効果] 本発明によば大量生産で実現できる同一で安価なマイク
ロプロセツサを組み合わせることによつてメモリの制御
が達成されるので、従来の逐次的な制御に比べて非常に
経済的である。これはVLSI技術により可能となつ
た。また、たとえば64個以上のマイクロプロセツサを
本発明で示すような構成にすることができるので、各マ
イクロプロセツサの動作は比較的遅くてもよい。この結
果、高度の冷却や電力分列網が不要になるのでその分コ
ストダウンできる。さらに、処理速度について言えば高
速であるという利点だけでなく、応答時間が一定である
という利点もある。
【図面の簡単な説明】
第1図は本発明を利用できるデータ処理システムの構成
を示すブロツク図、第2図は実施例を説明するためのブ
ロツク図、第3図は好適な実施例の1構成例を示すブロ
ツク図、第4A図はマイクロプロセツサの相互接続の様
子を示すブロツク図、第4B図はマイクロプロセツサの
相互接続およびマイクロプロセツサと制御プロセツサと
の接続の様子を示すブロツク図、第5図は制御プロセツ
サの動作を説明する流れ図、第6A図および第6B図は
各マイクロプロセツサの動作を説明する流れ図、第7図
はメモリコントローラの動作を説明する流れ図、第8図
および第9図は同報通信オペレーシヨンの場合に、第5
図ならびに第6A図および第6B図のそれぞれに追加す
べきステツプを示す流れ図、第10図および第11図は
第3図に示す構成例と異なる他の構成例を示すブロツク
図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ユージン.シエーピロ アメリカ合衆国コネチカツト州スタンフオ ード、ウエスト.ハヴイランド.レーン 138番地 (56)参考文献 特開 昭57−105055(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】少なくとも1つの知能端末と、データを記
    憶するメモリと、前記知能端末からのデータ要求に基づ
    いて少なくとも1つのメモリ制御機能を遂行する制御手
    段と、を含むデータ処理システムであって、前記制御手
    段は、 前記データ要求に基づいて少なくとも1つのメモリ制御
    機能を遂行するための、お互いに通信するためにアレイ
    状に相互接続された、その各々が前記メモリの各領域に
    関して制御機能を遂行する、複数のマイクロプロセッサ
    と、 前記少なくとも1つの知能端末からのデータ要求に応じ
    て前記マイクロプロセッサのうちのいずれか1つが該要
    求されたデータに対して責任を有するかを決定し、該マ
    イクロプロセッサに前記データ要求を転送する、制御プ
    ロセッサと を有することを特徴とするデータ処理システム。
JP59243556A 1983-12-30 1984-11-20 デ−タ処理システム Expired - Lifetime JPH0642238B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US56730483A 1983-12-30 1983-12-30
US567304 1995-12-05

Publications (2)

Publication Number Publication Date
JPS60147861A JPS60147861A (ja) 1985-08-03
JPH0642238B2 true JPH0642238B2 (ja) 1994-06-01

Family

ID=24266622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59243556A Expired - Lifetime JPH0642238B2 (ja) 1983-12-30 1984-11-20 デ−タ処理システム

Country Status (3)

Country Link
EP (1) EP0147656B1 (ja)
JP (1) JPH0642238B2 (ja)
DE (1) DE3481092D1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63225848A (ja) * 1987-03-16 1988-09-20 Agency Of Ind Science & Technol 計算機システム
AT395202B (de) * 1989-12-13 1992-10-27 Haider Gottfried Dipl Ing Drehkolbenverdichter
JP3057934B2 (ja) * 1992-10-30 2000-07-04 日本電気株式会社 共有バス調停機構

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4253144A (en) * 1978-12-21 1981-02-24 Burroughs Corporation Multi-processor communication network
US4365292A (en) * 1979-11-26 1982-12-21 Burroughs Corporation Array processor architecture connection network
JPS57105055A (en) * 1980-12-23 1982-06-30 Fujitsu Ltd Main storage access system
US4528624A (en) * 1981-03-25 1985-07-09 International Business Machines Corporation Method and apparatus for allocating memory space based upon free space in diverse memory devices

Also Published As

Publication number Publication date
JPS60147861A (ja) 1985-08-03
EP0147656A3 (en) 1987-12-02
EP0147656B1 (en) 1990-01-17
DE3481092D1 (de) 1990-02-22
EP0147656A2 (en) 1985-07-10

Similar Documents

Publication Publication Date Title
US4881164A (en) Multi-microprocessor for controlling shared memory
JPS6118053A (ja) デ−タ処理システム
US5991797A (en) Method for directing I/O transactions between an I/O device and a memory
US6173374B1 (en) System and method for peer-to-peer accelerated I/O shipping between host bus adapters in clustered computer network
EP0818732B1 (en) Hybrid memory access protocol in a distributed shared memory computer system
JP3512910B2 (ja) 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法
US7167949B2 (en) Multi-processor type storage control apparatus for performing access control through selector
EP1255201B1 (en) Shared memory multiprocessing system employing mixed broadcast snooping and directory based coherency protocols
JP4169914B2 (ja) データ転送方法、コンピュータ・プログラム、データ転送システムおよびデータ処理システム
EP0497600B1 (en) Memory access method and apparatus
JPH0776942B2 (ja) マルチプロセッサ・システムおよびそのデータ伝送装置
US7222220B2 (en) Multiprocessing system employing address switches to control mixed broadcast snooping and directory based coherency protocols transparent to active devices
JP3776496B2 (ja) データ記憶システム
US20040093390A1 (en) Connected memory management
JPH10187631A (ja) 拡張された対称マルチプロセッサ・アーキテクチャ
JPH0642238B2 (ja) デ−タ処理システム
JPH06309251A (ja) 高速の通信アダプタを実装した計算機
JP4306811B2 (ja) 分散共有メモリマルチプロセッサシステムのための統合されたメッセージ・パッシング及びメモリ保護を有するキャッシュ・コヒーレンス・ユニット
EP0067519B1 (en) Telecommunications system
JPH1069467A (ja) 分散計算機システムにおけるサーバのデータアクセス方式
JP3719976B2 (ja) 二重化コントローラ構成ディスク記憶システム向けコントローラ、及び同コントローラが二重化されたディスク記憶システム
JP2664827B2 (ja) 実時間情報転送制御方法
JPH0750466B2 (ja) 並列計算機キャッシュ・メモリ制御方式
JPH1097512A (ja) プロセッサ間データ転送方法及び並列計算機
JPS61118847A (ja) メモリの同時アクセス制御方式