JPH028951A - 対称的な多プロセッサ制御構成体 - Google Patents
対称的な多プロセッサ制御構成体Info
- Publication number
- JPH028951A JPH028951A JP1045056A JP4505689A JPH028951A JP H028951 A JPH028951 A JP H028951A JP 1045056 A JP1045056 A JP 1045056A JP 4505689 A JP4505689 A JP 4505689A JP H028951 A JPH028951 A JP H028951A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- memory
- input
- processors
- priority level
- 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
- 238000012545 processing Methods 0.000 claims abstract description 60
- 238000012546 transfer Methods 0.000 claims abstract description 16
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000001360 synchronised effect Effects 0.000 abstract description 11
- 238000010200 validation analysis Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000473391 Archosargus rhomboidalis Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (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
【発明の詳細な説明】
産業上の利用分野
本発明は、一般に、デジタルデータ処理システムの分野
に係り、より詳細には、多数のプロセッサを含むデジタ
ルデータ処理システムに共有されたコード及びデータへ
のアクセスを制御するための機購に係る。
に係り、より詳細には、多数のプロセッサを含むデジタ
ルデータ処理システムに共有されたコード及びデータへ
のアクセスを制御するための機購に係る。
従来の技術
デジタルデータ処理システムは、3つの基本的な要素、
即ち、プロセッサ要素と、メモリ要素と、入力/出力要
素とを備えている。メモリ要素は、アドレス可能な記憶
位置に情報を記憶する。
即ち、プロセッサ要素と、メモリ要素と、入力/出力要
素とを備えている。メモリ要素は、アドレス可能な記憶
位置に情報を記憶する。
この情報は、データと、データを処理するための命令と
を含んでいる。プロセッサ要素は、メモリ要素から情報
をフェッチし、その情報を命令又はデータのいずれかと
して解読し、データを命令に基づいて処理し、そして処
理されたデータをメモリ要素に戻してそこに記憶する。
を含んでいる。プロセッサ要素は、メモリ要素から情報
をフェッチし、その情報を命令又はデータのいずれかと
して解読し、データを命令に基づいて処理し、そして処
理されたデータをメモリ要素に戻してそこに記憶する。
入力/出力要素も、プロセッサ要素の制御のもとで、メ
モリ要素と通信して、処理されるべき命令及びデータを
含む情報をメモリへ転送したりメモリから処理済みのデ
ータを得たりする。
モリ要素と通信して、処理されるべき命令及びデータを
含む情報をメモリへ転送したりメモリから処理済みのデ
ータを得たりする。
典型的に、入力/出力要素は、多数の種々の形式のユニ
ット、即ち、ビデオデイスプレィターミナルや、プリン
タや、公共通信ネットワークへのインターフェイスや、
ディスク及びテープ記憶装置を含む二次記憶サブシステ
ムを含む。ビデオデイスプレィターミナルは、ユーザが
プログラムを走らせたり入力データや処理済みデータを
観察したりできるようにする。プリンタは、ユーザが処
理済みデータをペーパ上に得られるようにする。
ット、即ち、ビデオデイスプレィターミナルや、プリン
タや、公共通信ネットワークへのインターフェイスや、
ディスク及びテープ記憶装置を含む二次記憶サブシステ
ムを含む。ビデオデイスプレィターミナルは、ユーザが
プログラムを走らせたり入力データや処理済みデータを
観察したりできるようにする。プリンタは、ユーザが処
理済みデータをペーパ上に得られるようにする。
公共の遠隔通信ネットワークへのインターフェイスは、
公共の遠隔通信ネットワークを経て情報を転送できるよ
うにする。
公共の遠隔通信ネットワークを経て情報を転送できるよ
うにする。
処理速度を増加するために、多数のプロセッサを含むデ
ジタルデータ処理システムが開発されている。このよう
な多プロセッサシステムは、システム内の動作を制御す
るために一般に2つの構成に従って編成される。[マス
ター/スレーブ」と称するその1つの構成においては、
一方のプロセッサがマスタープロセッサとして働き、他
方のプロセッサ、即ちスレーブプロセッサとして働くプ
ロセッサへ本質的にジョブを割り当てる。マスタープロ
セッサも、その割り当て機能を実行しない間にはスレー
ブプロセッサと同様のジョブを実行する。マスター/ス
レーブ関係に構成されたシステムでは、ジョブを割り当
てる役目が1つのプロセッサ、即ちマスタープロセッサ
のみであるから、制御が簡単化される。然し乍ら、この
ようなシステムでは、マスタープロセッサに機能不良が
生じた場合に、システム全体が不作動になってしまう。
ジタルデータ処理システムが開発されている。このよう
な多プロセッサシステムは、システム内の動作を制御す
るために一般に2つの構成に従って編成される。[マス
ター/スレーブ」と称するその1つの構成においては、
一方のプロセッサがマスタープロセッサとして働き、他
方のプロセッサ、即ちスレーブプロセッサとして働くプ
ロセッサへ本質的にジョブを割り当てる。マスタープロ
セッサも、その割り当て機能を実行しない間にはスレー
ブプロセッサと同様のジョブを実行する。マスター/ス
レーブ関係に構成されたシステムでは、ジョブを割り当
てる役目が1つのプロセッサ、即ちマスタープロセッサ
のみであるから、制御が簡単化される。然し乍ら、この
ようなシステムでは、マスタープロセッサに機能不良が
生じた場合に、システム全体が不作動になってしまう。
更に、処理負荷が大きい場合には、マスタープロセッサ
が過負荷状態となり、これでは、スレーブプロセッサへ
のジョブの割り当て速度が低下する。
が過負荷状態となり、これでは、スレーブプロセッサへ
のジョブの割り当て速度が低下する。
マスター/スレーブ関係で構成されたシステムに伴う問
題は、ジョブの劃り当てがより均一な仕方で処理される
第2構成で設計されたシステムでは生じない。この第2
構成においては、ジョブがメモリに記憶されたリストに
おいて識別され、このリストはシステム内のどのプロセ
ッサによってもアクセスされる。プロセッサは、このジ
ョブリストを利用できるようになると、ジョブリストか
らの項目を処理のために検索する。ジョブリストに項目
をロードすること自体は、どのプロセッサによっても実
行できるジョブであり、従って、ジョブリストの制御は
全てのプロセッサ間に分散される。全てのプロセッサが
これらの制御機能を実行できるので、それらのいずれか
が機能不良を生じた場合には、システムは動作できるが
、非常に低い処理速度となる。
題は、ジョブの劃り当てがより均一な仕方で処理される
第2構成で設計されたシステムでは生じない。この第2
構成においては、ジョブがメモリに記憶されたリストに
おいて識別され、このリストはシステム内のどのプロセ
ッサによってもアクセスされる。プロセッサは、このジ
ョブリストを利用できるようになると、ジョブリストか
らの項目を処理のために検索する。ジョブリストに項目
をロードすること自体は、どのプロセッサによっても実
行できるジョブであり、従って、ジョブリストの制御は
全てのプロセッサ間に分散される。全てのプロセッサが
これらの制御機能を実行できるので、それらのいずれか
が機能不良を生じた場合には、システムは動作できるが
、非常に低い処理速度となる。
多プロセッサシステムにおいて制御機能を分散すること
は、マスター/スレーブ制御を用いたシステムに勝る幾
つかの利点を発揮するが、このような分散システムでは
、オペレーティングシステム、即ちプロセッサやジョブ
のスケジュールを制御するプログラムがプロセッサ間に
良好な整合及び通信を与えない場合にはやはり問題が生
じる。
は、マスター/スレーブ制御を用いたシステムに勝る幾
つかの利点を発揮するが、このような分散システムでは
、オペレーティングシステム、即ちプロセッサやジョブ
のスケジュールを制御するプログラムがプロセッサ間に
良好な整合及び通信を与えない場合にはやはり問題が生
じる。
分散システムにおいては、例えば、2つのプロセッサが
同じ臨界部分又は領域を同時に実行するように試みない
よう確保することが重要である。臨界領域とは、プロセ
ッサ間に共有されたメモリがアクセスされるプログラム
の部分である(例えば、A、タネンボー氏のオペレーテ
ィングシステム:設計及び実施(プレンナス/ホール社
、1987年)第53頁を参照されたい)。2つのプロ
セッサがプログラムの臨界領域を同時に実行しようと試
みる場合には、これらのプロセッサが逐次の仕方ではな
くて重畳する仕方で同じ記憶位置のデータをアクセスし
、これにより、エラーの結果を招く。この問題は、シス
テムが臨界領域間に良好な同期を与えない場合に生じる
。
同じ臨界部分又は領域を同時に実行するように試みない
よう確保することが重要である。臨界領域とは、プロセ
ッサ間に共有されたメモリがアクセスされるプログラム
の部分である(例えば、A、タネンボー氏のオペレーテ
ィングシステム:設計及び実施(プレンナス/ホール社
、1987年)第53頁を参照されたい)。2つのプロ
セッサがプログラムの臨界領域を同時に実行しようと試
みる場合には、これらのプロセッサが逐次の仕方ではな
くて重畳する仕方で同じ記憶位置のデータをアクセスし
、これにより、エラーの結果を招く。この問題は、シス
テムが臨界領域間に良好な同期を与えない場合に生じる
。
典型的に、プログラムの臨界領域と、それによって処理
された共有データ構造体とに対するアクセスを同期させ
るためにフラグが使用される。
された共有データ構造体とに対するアクセスを同期させ
るためにフラグが使用される。
システム内のプロセッサ間に共有されるメモリの記憶位
置より成るこれらのフラグは、臨界領域の状態、即ち臨
界領域が実行されるかどうかを指示するために使用する
ことができる。プロセッサが臨界領域を実行しようとす
る場合には、その臨界領域に関連したフラグをセットし
、その臨界領域が実行中であることを他のプロセッサに
知らせることができる。別のプロセッサが同じ臨界領域
を実行しようとする場合には、フラグの状態を判断し、
その臨界領域が別のプロセッサによって実行されている
ことをフラグが指示しない場合には、それ自身がその臨
界領域を実行し、そしてその臨界領域を実行することを
指示するようにフラグを調整する。一方、その臨界領域
が別のプロセッサによって実行されていることをフラグ
が指示する場合には、その臨界領域を実行しようとする
プロセッサに遅延が生じ、フラグの状態が変化してその
臨界領域が別のプロセッサによって実行されていないこ
とを指示するまでフラグをテストし続ける。
置より成るこれらのフラグは、臨界領域の状態、即ち臨
界領域が実行されるかどうかを指示するために使用する
ことができる。プロセッサが臨界領域を実行しようとす
る場合には、その臨界領域に関連したフラグをセットし
、その臨界領域が実行中であることを他のプロセッサに
知らせることができる。別のプロセッサが同じ臨界領域
を実行しようとする場合には、フラグの状態を判断し、
その臨界領域が別のプロセッサによって実行されている
ことをフラグが指示しない場合には、それ自身がその臨
界領域を実行し、そしてその臨界領域を実行することを
指示するようにフラグを調整する。一方、その臨界領域
が別のプロセッサによって実行されていることをフラグ
が指示する場合には、その臨界領域を実行しようとする
プロセッサに遅延が生じ、フラグの状態が変化してその
臨界領域が別のプロセッサによって実行されていないこ
とを指示するまでフラグをテストし続ける。
フラグを使用してその共有の臨界領域へアクセスする場
合には、多数の問題が生じる。2つのプロセッサが同じ
臨界領域を同時に要求する場合には、「競合」状態と称
する1つの問題が生じる。
合には、多数の問題が生じる。2つのプロセッサが同じ
臨界領域を同時に要求する場合には、「競合」状態と称
する1つの問題が生じる。
他のプロセッサが信号発生器の状態をテストする前に臨
界領域が実行されていることを指示するように信号発生
器を調整できない場合には、両方のプロセッサがその臨
界領域を実行することになる。
界領域が実行されていることを指示するように信号発生
器を調整できない場合には、両方のプロセッサがその臨
界領域を実行することになる。
2つのプロセッサが他のプロセッサによって現在処理さ
れている臨界領域を実行する必要があるときには、「デ
ッドロック」と称する別の問題が生じる。そのいずれも
がその臨界領域を解除できないので、そのいずれもが他
の臨界領域を実行し始めることができない。その結果、
両方のプロセッサがデッドロック状態になる。
れている臨界領域を実行する必要があるときには、「デ
ッドロック」と称する別の問題が生じる。そのいずれも
がその臨界領域を解除できないので、そのいずれもが他
の臨界領域を実行し始めることができない。その結果、
両方のプロセッサがデッドロック状態になる。
発明が解決しようとする課題
これらの競合及びデッドロックの問題を軽減するために
、セマフォア(信号発生器)として知られている精巧な
制御機構が開発された。セマフオアは、同期フラグの制
御権を管理し、同じ臨界領域に多数のアクセス要求が同
時に出された場合に1つのプロセッサに許可を与える。
、セマフォア(信号発生器)として知られている精巧な
制御機構が開発された。セマフオアは、同期フラグの制
御権を管理し、同じ臨界領域に多数のアクセス要求が同
時に出された場合に1つのプロセッサに許可を与える。
プロセッサは、臨界領域の実行を終了すると、フラグを
調整する役目を果たすセマフォアにそれを通知する。
調整する役目を果たすセマフォアにそれを通知する。
然し乍ら、プロセッサが臨界領域へのアクセスを拒絶さ
れた場合には、セマフオアがその臨界領域を実行する許
可をプロセッサに与えるまでセマフォアからの許可を得
るように試み続ける。多プロセッサシステムに非常に多
数のプロセッサがある状態でこれが生じると、デジタル
データ処理システムの通信システムは、これらの要求で
過負荷状態となり、他の通信を全く行なえないようにな
る。
れた場合には、セマフオアがその臨界領域を実行する許
可をプロセッサに与えるまでセマフォアからの許可を得
るように試み続ける。多プロセッサシステムに非常に多
数のプロセッサがある状態でこれが生じると、デジタル
データ処理システムの通信システムは、これらの要求で
過負荷状態となり、他の通信を全く行なえないようにな
る。
この点において、システムは、実際上、処理機能に実行
に使用できなくなる。
に使用できなくなる。
課題を解決するための手段
本発明は、デジタルデータ処理システムにおいて共有す
る臨界領域の実行を同期するための新規で且つ改良され
た機構を提供する。
る臨界領域の実行を同期するための新規で且つ改良され
た機構を提供する。
要約すると、デジタルデータ処理システムは、所定の同
期優先順位レベルでプログラムを処理するための中央処
理ユニット及びキャッシュメモリを各々含んだ複数のプ
ロセッサを備えている。全てのプロセッサによって共有
されたメモリは、種々の同期優先順位レベルで作動する
プロセッサを識別する同期レベルテーブルを含んでいる
。共通のバスがプロセッサとメモリを相互接続する。プ
ロセッサは、臨界領域を実行すべきときには、その同期
優先順位レベルを所定のレベルに調整する。
期優先順位レベルでプログラムを処理するための中央処
理ユニット及びキャッシュメモリを各々含んだ複数のプ
ロセッサを備えている。全てのプロセッサによって共有
されたメモリは、種々の同期優先順位レベルで作動する
プロセッサを識別する同期レベルテーブルを含んでいる
。共通のバスがプロセッサとメモリを相互接続する。プ
ロセッサは、臨界領域を実行すべきときには、その同期
優先順位レベルを所定のレベルに調整する。
この動作において、プロセッサは同期レベルテーブルを
アクセスして、同期優先順位レベルがアクセスできるか
どうかを判断し、もしできる場合には、その同期優先順
位レベルが占有されたことを指示するための入力をテー
ブルに入れる。同期優先順位レベルがアクセスできない
場合には、プロセッサが同期レベルテーブルの入力を連
続的に監視し、それがいつアクセスできるかを決定する
。
アクセスして、同期優先順位レベルがアクセスできるか
どうかを判断し、もしできる場合には、その同期優先順
位レベルが占有されたことを指示するための入力をテー
ブルに入れる。同期優先順位レベルがアクセスできない
場合には、プロセッサが同期レベルテーブルの入力を連
続的に監視し、それがいつアクセスできるかを決定する
。
この動作において、プロセッサは、メモリの入力ではな
くて同期優先順位レベルに関連したテーブル入力のコピ
ーを含むそのキャッシュを監視し、これにより、メモリ
との間で共通のバスを経て必要とされる転送の数を最小
にする。同期優先順位レベルがアクセスできるようにな
ると、キャッシュコピーが無効化され、従って、プロセ
ッサはメモリのテーブルを使用しなければならなくなる
。
くて同期優先順位レベルに関連したテーブル入力のコピ
ーを含むそのキャッシュを監視し、これにより、メモリ
との間で共通のバスを経て必要とされる転送の数を最小
にする。同期優先順位レベルがアクセスできるようにな
ると、キャッシュコピーが無効化され、従って、プロセ
ッサはメモリのテーブルを使用しなければならなくなる
。
本発明は、特許請求の範囲に特に指摘する。
本発明の上記及び更に別の効果は、添付図面に関連した
以下の説明から容易に理解されよう。
以下の説明から容易に理解されよう。
実施例
添付図面を参照すると、本発明により構成されたデジタ
ルデータ処理システムは、1つ以上のプロセッサto(
0)ないし10(N)(参照番号lOで一般的に示す)
を備えており、各プロセッサは、中央処理ユニット11
(0)ないし11(N)(参照番号11で一般的に示す
)と、キャッシュ12(0)ないし12(N)(参照番
号12で一般的に示す)とを備えており、これらはバス
13(0)ないし13(N)(参照番号13で一般的に
示す)によって相互接続されている。各プロセッサ10
の各キャッシュ12は、バス14にも接続されている。
ルデータ処理システムは、1つ以上のプロセッサto(
0)ないし10(N)(参照番号lOで一般的に示す)
を備えており、各プロセッサは、中央処理ユニット11
(0)ないし11(N)(参照番号11で一般的に示す
)と、キャッシュ12(0)ないし12(N)(参照番
号12で一般的に示す)とを備えており、これらはバス
13(0)ないし13(N)(参照番号13で一般的に
示す)によって相互接続されている。各プロセッサ10
の各キャッシュ12は、バス14にも接続されている。
バス14は、プロセッサ10が互いに且つコンソール1
6、メモリ17及び1つ以上の入力/出カニニット20
と通信できるようにする。
6、メモリ17及び1つ以上の入力/出カニニット20
と通信できるようにする。
各中央処理ユニット11は、メモリ17内のアドレス可
能な記憶位置に記憶された命令を実行する。これらの命
令はオペランドに基づいて実行されるべき動作を識別し
、これらのオペランドもメモリ17内のアドレス可能な
位置に記憶される。
能な記憶位置に記憶された命令を実行する。これらの命
令はオペランドに基づいて実行されるべき動作を識別し
、これらのオペランドもメモリ17内のアドレス可能な
位置に記憶される。
これらの命令及びオペランドは、必要とされるときに中
央処理ユニット11によってフェッチされ、処理された
データはメモリ17に記憶するために戻される。又、中
央処理ユニット11は制御情報を入力/出カニニット2
oへ送信し、これらユニットがメモリ17ヘデータを送
信したりそこからデータを検索したりするといった選択
された動作を実行できるようにする。このようなデ:り
は、メモリ17へ送信される命令又はオペランドや、記
憶又は表示のためにメモリ17から検索される処理済み
のデータを含む。
央処理ユニット11によってフェッチされ、処理された
データはメモリ17に記憶するために戻される。又、中
央処理ユニット11は制御情報を入力/出カニニット2
oへ送信し、これらユニットがメモリ17ヘデータを送
信したりそこからデータを検索したりするといった選択
された動作を実行できるようにする。このようなデ:り
は、メモリ17へ送信される命令又はオペランドや、記
憶又は表示のためにメモリ17から検索される処理済み
のデータを含む。
オペレータコンソール16は、オペレータのインターフ
ェイスとして働く。これにより、オペレータは、データ
を検査して蓄積し、中央処理ユニット11の動作を停止
するか又は一連の命令によって中央処理ユニット11を
歩進させ、そしてそれに応じて中央処理ユニット11の
応答を決定することができる。又、このコンソールによ
り、オペレータは、ブートストラップ手順を介してシス
テムを初期化しそしてデータ処理システム全体に対して
種々の診断°テストを行なうことができる。
ェイスとして働く。これにより、オペレータは、データ
を検査して蓄積し、中央処理ユニット11の動作を停止
するか又は一連の命令によって中央処理ユニット11を
歩進させ、そしてそれに応じて中央処理ユニット11の
応答を決定することができる。又、このコンソールによ
り、オペレータは、ブートストラップ手順を介してシス
テムを初期化しそしてデータ処理システム全体に対して
種々の診断°テストを行なうことができる。
典型的にそうであるように、コンソール16は、各プロ
セッサ10に直結されてもよいし、バス14以外の通信
機構を経て選択されたプロセッサに接続されてもよい。
セッサ10に直結されてもよいし、バス14以外の通信
機構を経て選択されたプロセッサに接続されてもよい。
メモリI7は、バス14及び複数のアレイに直結された
メモリ制御器を備えている。これらのアレイは、情報を
記憶する複数のアドレス可能な記憶位置を含んでいる。
メモリ制御器を備えている。これらのアレイは、情報を
記憶する複数のアドレス可能な記憶位置を含んでいる。
メモリ制御器は、中央処理ユニット11又は入力/出カ
ニニット20からバス14を経て転送要求を受け取る。
ニニット20からバス14を経て転送要求を受け取る。
多数の形式の転送要求がバス14を経て送られるが、こ
れらは2つの一般的な分類に入る。その一方の分類にお
いては、情報が記憶位置に書き込まれるか又は記憶され
、そして他方の分類においては、情報が記憶位置から検
索されるか又は読み取られ、記憶位置は転送要求と共に
送信されるアドレスによって識別される。
れらは2つの一般的な分類に入る。その一方の分類にお
いては、情報が記憶位置に書き込まれるか又は記憶され
、そして他方の分類においては、情報が記憶位置から検
索されるか又は読み取られ、記憶位置は転送要求と共に
送信されるアドレスによって識別される。
添付図に示されたデジタルデータ処理システムは多数の
形式の入力/出カニニット20を含み、即ち、ディスク
及びテープの二次記憶ユニットや、テレタイプライタや
、ビデオデイスプレィターミナルや、ラインプリンタや
、電話及びコンピュータネットワークインターフェイス
ユニット等を含む。ディスクの二次記憶ユニットは、中
央処理ユニット11の制御のもとで、メモリ17へ転送
されたりメモリ17から転送されたりするデータの大量
記憶を果たす。
形式の入力/出カニニット20を含み、即ち、ディスク
及びテープの二次記憶ユニットや、テレタイプライタや
、ビデオデイスプレィターミナルや、ラインプリンタや
、電話及びコンピュータネットワークインターフェイス
ユニット等を含む。ディスクの二次記憶ユニットは、中
央処理ユニット11の制御のもとで、メモリ17へ転送
されたりメモリ17から転送されたりするデータの大量
記憶を果たす。
図示されたシステムに用いられるキャッシュ12は通常
のキャッシュである。全てのキャッシュ23は同様であ
るから、キャッシュ12(0)についてのみ詳細に示す
。通常そうであるように、キャッシュ12(0)は、参
照番号22によって一般的に示された複数のキャッシュ
入力(1つだけ図示する)を含むキャッシュメモリ21
と、キャッシュ制御回路23とを含んでいる。各キャッ
シュ入力22は、メモリ17の選択された数の位置から
の情報のコピーを保持する。キャッシュ制御回路23は
、プロセッサ10、特に、中央処理ユニット11が最後
に情報を検索したところのメモリ17内の位置からの情
報をキャッシュメモリ21の入力に保持する。
のキャッシュである。全てのキャッシュ23は同様であ
るから、キャッシュ12(0)についてのみ詳細に示す
。通常そうであるように、キャッシュ12(0)は、参
照番号22によって一般的に示された複数のキャッシュ
入力(1つだけ図示する)を含むキャッシュメモリ21
と、キャッシュ制御回路23とを含んでいる。各キャッ
シュ入力22は、メモリ17の選択された数の位置から
の情報のコピーを保持する。キャッシュ制御回路23は
、プロセッサ10、特に、中央処理ユニット11が最後
に情報を検索したところのメモリ17内の位置からの情
報をキャッシュメモリ21の入力に保持する。
キャッシュメモリ21の各入力22は、有効化フラグ2
4、アドレスフィールド25及び1つ以上のデータフィ
ールド26を含む多数のフィールドを含んでいる。アド
レスフィールド25の内容は、データフィールド26の
データがコピーされるところのメモリ17の位置を識別
する。有効化フラグ24は、入力22が有効データを含
むかどうかを識別する。即ち、有効化フラグ24がセッ
トされた場合には、入力22のデータフィールド26が
アドレスフィールド25のアドレスによって識別された
位置のデータの有効なコピー即ち正しいコピーを含む。
4、アドレスフィールド25及び1つ以上のデータフィ
ールド26を含む多数のフィールドを含んでいる。アド
レスフィールド25の内容は、データフィールド26の
データがコピーされるところのメモリ17の位置を識別
する。有効化フラグ24は、入力22が有効データを含
むかどうかを識別する。即ち、有効化フラグ24がセッ
トされた場合には、入力22のデータフィールド26が
アドレスフィールド25のアドレスによって識別された
位置のデータの有効なコピー即ち正しいコピーを含む。
一方、有効化フラグ24がセットされない場合には、入
力22のデータフィールド25は、以下で述べるように
、アドレスフィールドのアドレスによって識別された位
置のデータの正しいコピーを含まない。
力22のデータフィールド25は、以下で述べるように
、アドレスフィールドのアドレスによって識別された位
置のデータの正しいコピーを含まない。
中央処理ユニット11がメモリ17の選択された位置か
ら情報を検索する必要があるときには、該ユニットは、
キャッシュ12、特に、キャッシュ制御回路23ヘバス
13を経て検索要求を送信する。検索動作を開始する際
には、中央処理ユニット11が必要な情報を含むメモリ
17の位置をアドレスによって識別する。キャッシュ制
御回路23は、キャッシュメモリ2■の入ノ)22にお
けるアドレスフィールド25の内容を探索して、アドレ
スフィールドの1つが中央処理ユニット11から受け取
ったアドレスを含むかどうかを判断する。もしそうであ
って且つ入力22の有効化フラグ24がセットされた場
合には、キャッシュ制御回路23はデータフィールド2
6の内容を・検索し、バス13を経て中央処理ユニット
11へ送信する。
ら情報を検索する必要があるときには、該ユニットは、
キャッシュ12、特に、キャッシュ制御回路23ヘバス
13を経て検索要求を送信する。検索動作を開始する際
には、中央処理ユニット11が必要な情報を含むメモリ
17の位置をアドレスによって識別する。キャッシュ制
御回路23は、キャッシュメモリ2■の入ノ)22にお
けるアドレスフィールド25の内容を探索して、アドレ
スフィールドの1つが中央処理ユニット11から受け取
ったアドレスを含むかどうかを判断する。もしそうであ
って且つ入力22の有効化フラグ24がセットされた場
合には、キャッシュ制御回路23はデータフィールド2
6の内容を・検索し、バス13を経て中央処理ユニット
11へ送信する。
一方、キャッシュ制御回路23が(1)入力22のアド
レスフィールド25の内容が中央処理ユニット11から
受け取ったアドレスに対応するがその入力の有効化フラ
グ24がリセットされるか、又は(2)入力22のアド
レスフィールド25のいずれの内容も中央処理ユニット
11から受け取ったアドレスに対応しないと判断した場
合には、キャッシュ制御回路23は、識別された位置の
内容を検索するためにバス14を経て検索動作を開始す
る。この動作において、キャッシュ制御回路23は、中
央処理ユニット11によって識別された位置を識別する
。典型的に、キャッシュ制御回路23は、メモリ17内
の至近位置からの情報の検索を同時に開始する。メモリ
I7は、その識別された位置の内容をバス14を経て返
送し、次いで、キャッシュ制御回路23は、メモリ17
内の要求された位置からの情報をバス13を経て中央処
理ユニット11へ送信し、そしてその情報をキャッシュ
メモリ21のデータフィールド26に記憶し、メモリ1
7から検索された各位置の内容は、入力22の有効化フ
ラグ24がセットされた状態で、キャッシュメモリ21
の入力22のデータフィールド26に記憶される。
レスフィールド25の内容が中央処理ユニット11から
受け取ったアドレスに対応するがその入力の有効化フラ
グ24がリセットされるか、又は(2)入力22のアド
レスフィールド25のいずれの内容も中央処理ユニット
11から受け取ったアドレスに対応しないと判断した場
合には、キャッシュ制御回路23は、識別された位置の
内容を検索するためにバス14を経て検索動作を開始す
る。この動作において、キャッシュ制御回路23は、中
央処理ユニット11によって識別された位置を識別する
。典型的に、キャッシュ制御回路23は、メモリ17内
の至近位置からの情報の検索を同時に開始する。メモリ
I7は、その識別された位置の内容をバス14を経て返
送し、次いで、キャッシュ制御回路23は、メモリ17
内の要求された位置からの情報をバス13を経て中央処
理ユニット11へ送信し、そしてその情報をキャッシュ
メモリ21のデータフィールド26に記憶し、メモリ1
7から検索された各位置の内容は、入力22の有効化フ
ラグ24がセットされた状態で、キャッシュメモリ21
の入力22のデータフィールド26に記憶される。
一方、キャッシュメモリ21の入力22が中央処理ユニ
ット11によって要求されたメモリ17内の位置の内容
のコピーを含んでいるとキャッシュ制御回路が判断した
場合には、データフィールド26からデータを検索しそ
してそれをバス13を経て中央処理ユニット11へ転送
する。この状態においては、キャッシュ12は、要求さ
れた情報を中央処理ユニット11に供給するためにバス
14を経て転送を行なう必要がなく、バス14を経ての
転送を減少することができる。
ット11によって要求されたメモリ17内の位置の内容
のコピーを含んでいるとキャッシュ制御回路が判断した
場合には、データフィールド26からデータを検索しそ
してそれをバス13を経て中央処理ユニット11へ転送
する。この状態においては、キャッシュ12は、要求さ
れた情報を中央処理ユニット11に供給するためにバス
14を経て転送を行なう必要がなく、バス14を経ての
転送を減少することができる。
中央処理ユニット11は、メモリ17内の識別された位
置に記憶するための情報を転送すべく書き込み動作を開
始したときには、情報と、その情報を記憶すべき位置の
識別とをバス13に送信する。キャッシュ12が書き込
みスルーのキャッシュであるような1つの実施例では、
中央処理ユニット11がメモリ17内の位置へ情報を記
憶するための転送を開始したときに、キャッシュ制御回
路23がメモリ17内の識別された位置に情報を記憶で
きるようにする転送をバス15を経て開始する。更に、
キャッシュ制御回路は、キャッシュメモリの入力22に
おけるアドレスフィールド25の内容が中央処理ユニッ
ト11から受け取ったアドレスに対応するかどうか判断
する。もしそうであれば、入力のデータフィールド26
に情報を記憶するか、情報を新たな情報でオーバーライ
ドするか或いは入力22の有効化フラグ24をリセット
し、キャッシュ制御回路23は、メモリ17内の位置を
識別する中央処理ユニット11からの検索要求を次に受
け取ったときに、メモリ17から情報を検索する。
置に記憶するための情報を転送すべく書き込み動作を開
始したときには、情報と、その情報を記憶すべき位置の
識別とをバス13に送信する。キャッシュ12が書き込
みスルーのキャッシュであるような1つの実施例では、
中央処理ユニット11がメモリ17内の位置へ情報を記
憶するための転送を開始したときに、キャッシュ制御回
路23がメモリ17内の識別された位置に情報を記憶で
きるようにする転送をバス15を経て開始する。更に、
キャッシュ制御回路は、キャッシュメモリの入力22に
おけるアドレスフィールド25の内容が中央処理ユニッ
ト11から受け取ったアドレスに対応するかどうか判断
する。もしそうであれば、入力のデータフィールド26
に情報を記憶するか、情報を新たな情報でオーバーライ
ドするか或いは入力22の有効化フラグ24をリセット
し、キャッシュ制御回路23は、メモリ17内の位置を
識別する中央処理ユニット11からの検索要求を次に受
け取ったときに、メモリ17から情報を検索する。
又、キャッシュ制御回路23は、他のプロセッサ10に
よりバス14を経て開始される書き込み動作を監視する
。キャッシュ制御回路がバス14を経て書き込み動作信
号を受け取り、これがキャッシュメモリ21の入力22
のアドレスフィールド25に含まれたアドレスに対応す
るメモリ17内のアドレス位置を識別するときには、キ
ャッシュ制御回路23は入力22の有効化フラグ24を
リセットする。中央処理ユニット11がその後にその位
置を識別する検索を要求するときには、キャッシュ制御
回路23がメモリ17からバス14を経て検索動作を開
始する。
よりバス14を経て開始される書き込み動作を監視する
。キャッシュ制御回路がバス14を経て書き込み動作信
号を受け取り、これがキャッシュメモリ21の入力22
のアドレスフィールド25に含まれたアドレスに対応す
るメモリ17内のアドレス位置を識別するときには、キ
ャッシュ制御回路23は入力22の有効化フラグ24を
リセットする。中央処理ユニット11がその後にその位
置を識別する検索を要求するときには、キャッシュ制御
回路23がメモリ17からバス14を経て検索動作を開
始する。
上記したように、メモリ17は複数のアドレス可能な記
憶位置を含んでおり、その幾つかは、全てのプロセッサ
10によって使用される状態情報が記憶されるシステム
状態ブロック3oを構成する。システム状態ブロック3
0は同期テーブル31を含み、該テーブルは、次いで、
複数の入力32(1)ないし32(M)(参照番号32
で一般的に示す)を含んでいる。各入力32は、2つの
フィールド、即ちフラグフィールド36及びプロセッサ
識別フィールド34を含む。
憶位置を含んでおり、その幾つかは、全てのプロセッサ
10によって使用される状態情報が記憶されるシステム
状態ブロック3oを構成する。システム状態ブロック3
0は同期テーブル31を含み、該テーブルは、次いで、
複数の入力32(1)ないし32(M)(参照番号32
で一般的に示す)を含んでいる。各入力32は、2つの
フィールド、即ちフラグフィールド36及びプロセッサ
識別フィールド34を含む。
背景技術として、図示されたデジタルデータ処理システ
ムのプロセッサ10は、複数の同期優先順位レベルの1
つで動作する。デジタルデータ処理システムが本発明の
譲受人であるデジタルイクイップメント社で販売されて
いるVAXシステム(同社によって出版されたVAX−
11アーキテクチヤレフアレンスマニユアルに説明され
ている)であるような1つの実施例においては、同期使
先順位レベルが割込み優先順位レベルに関係付けされる
。この実施例では、32の割込み優先順位レベルがあり
、そのうちの16はソフトウェア割込みに使用されるも
のであって、プログラムでオペレーティングシステムか
らのサービスを要求したりオペレーティングシステムへ
の呼び出しを同期したりできるようにし、そして残りの
16はハードウェア割込みに使用されるものである。書
割込み優先順位レベルは多数の同期優先順位レベルに関
連され、そして各同期優先順位レベルは、選択されたデ
ータ構造体、ひいては、そのデータ構造体を使用する臨
界領域を制御する。このような領域は、その割込み優先
順位レベルで処理されるプログラムの一部分を形成する
。それ故、同期優先順位レベルは、データ構造体へのア
クセスを同期すると共に、プログラムの臨界領域の処理
を同期することが明らかであろう。
ムのプロセッサ10は、複数の同期優先順位レベルの1
つで動作する。デジタルデータ処理システムが本発明の
譲受人であるデジタルイクイップメント社で販売されて
いるVAXシステム(同社によって出版されたVAX−
11アーキテクチヤレフアレンスマニユアルに説明され
ている)であるような1つの実施例においては、同期使
先順位レベルが割込み優先順位レベルに関係付けされる
。この実施例では、32の割込み優先順位レベルがあり
、そのうちの16はソフトウェア割込みに使用されるも
のであって、プログラムでオペレーティングシステムか
らのサービスを要求したりオペレーティングシステムへ
の呼び出しを同期したりできるようにし、そして残りの
16はハードウェア割込みに使用されるものである。書
割込み優先順位レベルは多数の同期優先順位レベルに関
連され、そして各同期優先順位レベルは、選択されたデ
ータ構造体、ひいては、そのデータ構造体を使用する臨
界領域を制御する。このような領域は、その割込み優先
順位レベルで処理されるプログラムの一部分を形成する
。それ故、同期優先順位レベルは、データ構造体へのア
クセスを同期すると共に、プログラムの臨界領域の処理
を同期することが明らかであろう。
各プロセッサIOの中央処理ユニット11は、ある同期
優先順位レベルに維持される。システム内のプロセッサ
10によって処理されるプログラムの各臨界領域には同
期優先順位レベルが指定され、ある優先順位レベルでプ
ログラムを処理するためには、プロセッサが臨界領域を
処理する前に;壬りの同期優先順位レベルを調整しなけ
ればならない。システム内の全てのプログラム、ひいて
は、プログラムの全ての臨界領域は、システム内での処
理を同期するようにいずれのプロセッサlOによっても
処理され得るので、各同期優先順位レベルでは一度に1
つのプロセッサ1oしが作動することができない。
優先順位レベルに維持される。システム内のプロセッサ
10によって処理されるプログラムの各臨界領域には同
期優先順位レベルが指定され、ある優先順位レベルでプ
ログラムを処理するためには、プロセッサが臨界領域を
処理する前に;壬りの同期優先順位レベルを調整しなけ
ればならない。システム内の全てのプログラム、ひいて
は、プログラムの全ての臨界領域は、システム内での処
理を同期するようにいずれのプロセッサlOによっても
処理され得るので、各同期優先順位レベルでは一度に1
つのプロセッサ1oしが作動することができない。
システム同期レベルテーブル31は、デジタルデータ処
理システムの各々の同期優先順位レベルごとに1つの入
力32を含んでおり、このテーブルにおける入力32の
順序はその入力の当該同期優先順位レベルに対応してい
る。
理システムの各々の同期優先順位レベルごとに1つの入
力32を含んでおり、このテーブルにおける入力32の
順序はその入力の当該同期優先順位レベルに対応してい
る。
各入力32のプロセッサ識別フィールド34は、その入
力の同期優先順位レベルによって識別された同期優先順
位レベルで作動するプロセッサ10がもしあればそれを
識別する。同期優先順位レベルで作動しているプロセッ
サ10がない場合には、プロセッサ識別フィールド34
が空である。
力の同期優先順位レベルによって識別された同期優先順
位レベルで作動するプロセッサ10がもしあればそれを
識別する。同期優先順位レベルで作動しているプロセッ
サ10がない場合には、プロセッサ識別フィールド34
が空である。
各入力32のフラグ36は、プロセッサがその入力に関
連した同期優先順位レベルで作動しているかどうかを指
示する。入力32のフラグ36がクリア状態である場合
には、その同期優先順位レベルで作動しているプロセッ
サがない。一方、入力32のフラグ36がセットされた
場合には、入力32のプロセッサ識別フィールド34で
識別されたプロセッサ10がその入力の同期優先順位レ
ベルで作動している。
連した同期優先順位レベルで作動しているかどうかを指
示する。入力32のフラグ36がクリア状態である場合
には、その同期優先順位レベルで作動しているプロセッ
サがない。一方、入力32のフラグ36がセットされた
場合には、入力32のプロセッサ識別フィールド34で
識別されたプロセッサ10がその入力の同期優先順位レ
ベルで作動している。
プロセッサ10、特に、中央処理ユニット11が特定の
同期優先順位レベルを必要とするプログラムの臨界領域
を実行する必要があるときには、プロセッサ10が、同
期レベルテーブル31、ひいては、種々の同期優先順位
レベルへのアクセスを制御する通常のセマフォアブログ
ラムを実行する。その動作において、プロセッサloは
、セマフォアブログラムの制御のもとで、その同期優先
順位レベルに関連した同期レベルテーブル31の入力3
2の内容を検索しそしてそれに質問する。
同期優先順位レベルを必要とするプログラムの臨界領域
を実行する必要があるときには、プロセッサ10が、同
期レベルテーブル31、ひいては、種々の同期優先順位
レベルへのアクセスを制御する通常のセマフォアブログ
ラムを実行する。その動作において、プロセッサloは
、セマフォアブログラムの制御のもとで、その同期優先
順位レベルに関連した同期レベルテーブル31の入力3
2の内容を検索しそしてそれに質問する。
入力32のフラグ36がクリアな状態である場合には、
そのときその同期優先順位レベルで作動しているプロセ
ッサ10はなく、従って、プロセッサ10がその同期優
先順位レベルを使用しようとする唯一のプロセッサ10
である場合には、セマフォアブログラムがそのプロセッ
サ10の識別をその入力32のプロセッサ識別フィール
ド34にロードし、入力32に関連した同期優先順位レ
ベルがプロセッサ10によって占有されたことを指示す
ると共に、入力32のフラグ36をセットしてその同期
優先順位レベルが占有されたことを指示する。次いで、
プロセッサ10は、臨界領域を処理し、そしてそれが終
了したときに、入力32のフラグ36をクリアし、同期
優先順位が使用できることを指示する。
そのときその同期優先順位レベルで作動しているプロセ
ッサ10はなく、従って、プロセッサ10がその同期優
先順位レベルを使用しようとする唯一のプロセッサ10
である場合には、セマフォアブログラムがそのプロセッ
サ10の識別をその入力32のプロセッサ識別フィール
ド34にロードし、入力32に関連した同期優先順位レ
ベルがプロセッサ10によって占有されたことを指示す
ると共に、入力32のフラグ36をセットしてその同期
優先順位レベルが占有されたことを指示する。次いで、
プロセッサ10は、臨界領域を処理し、そしてそれが終
了したときに、入力32のフラグ36をクリアし、同期
優先順位が使用できることを指示する。
一方、2つ以上のプロセッサが同じ同期優先順位レベル
を使用しようとする場合には、各々のプロセッサが、ど
ちらのプロセッサ10がその同期優先順位レベルを使用
するかを一緒に判断するようにセマフォアブログラムを
処理する。その競合に勝ったプロセッサ10において実
行されるセマフォアブログラムは、フラグ36をセット
し、そしてその識別を、その同期優先順位レベルに関連
した同期レベルテーブル31の入力32のプロセッサ識
別フィールド34にロードする。その競合に勝ったプロ
セッサ10は、臨界領域を処理し、それが終ると、入力
32のフラグ36をクリアし、同期優先順位レベルが使
用できることを指示する。
を使用しようとする場合には、各々のプロセッサが、ど
ちらのプロセッサ10がその同期優先順位レベルを使用
するかを一緒に判断するようにセマフォアブログラムを
処理する。その競合に勝ったプロセッサ10において実
行されるセマフォアブログラムは、フラグ36をセット
し、そしてその識別を、その同期優先順位レベルに関連
した同期レベルテーブル31の入力32のプロセッサ識
別フィールド34にロードする。その競合に勝ったプロ
セッサ10は、臨界領域を処理し、それが終ると、入力
32のフラグ36をクリアし、同期優先順位レベルが使
用できることを指示する。
その競合に勝ったプロセッサ10がその同期優先順位レ
ベルで臨界領域を実行する間に、その競合に負けたプロ
セッサ10(1つ又は複数)はその同期優先順位レベル
へのアクセス権を得ようとし続ける。この動作において
、これらのプロセッサは、同期レベルテーブル31にお
ける入力32の状態、特に、入力フラグ36を連続的に
監視し、その競合に勝ったプロセッサ10がいつフラグ
36をクリアして入力32に関連した同期優先順位レベ
ルが使用できることを指示するかを判断する。これを行
なうために、中央処理ユニット11は、そのバス13を
経て検索動作を繰り返し開始し、入ツノ32が記憶され
たメモリ17内の記憶位置の内容を検索する。
ベルで臨界領域を実行する間に、その競合に負けたプロ
セッサ10(1つ又は複数)はその同期優先順位レベル
へのアクセス権を得ようとし続ける。この動作において
、これらのプロセッサは、同期レベルテーブル31にお
ける入力32の状態、特に、入力フラグ36を連続的に
監視し、その競合に勝ったプロセッサ10がいつフラグ
36をクリアして入力32に関連した同期優先順位レベ
ルが使用できることを指示するかを判断する。これを行
なうために、中央処理ユニット11は、そのバス13を
経て検索動作を繰り返し開始し、入ツノ32が記憶され
たメモリ17内の記憶位置の内容を検索する。
キャッシュ制御回路23は、メモリJ7の記jQ位置の
内容を検索しそしてそれをキャッシュメモリ21に記憶
してしまうと、その後に、同期レベルテーブル31から
の入力32のコピーを記憶するキャッシュ入力22の内
容を検索し、やがて、同期優先順位レベルの使用権を得
たプロセッサ10がバスI4を経て書き込み動作を実行
して、その同期優先順位レベルに関連した入力32のフ
ラグ36をクリアする。これが生じると、他のプロセッ
サのキャッシュ制御回路23がメモリ17内のその位置
に対しそれらのキャッシュ入力22を無効にする。従っ
て、中央処理ユニット11がフラグ36を検索するため
に次に検索動作を開始するときには、キャッシュ制御回
路23がそれらのキャッシュ21ではなくてメモリ17
との検索動作を実行し、メモリ17のシステム状態ブロ
ック30かも更新したフラグ36を検索する。
内容を検索しそしてそれをキャッシュメモリ21に記憶
してしまうと、その後に、同期レベルテーブル31から
の入力32のコピーを記憶するキャッシュ入力22の内
容を検索し、やがて、同期優先順位レベルの使用権を得
たプロセッサ10がバスI4を経て書き込み動作を実行
して、その同期優先順位レベルに関連した入力32のフ
ラグ36をクリアする。これが生じると、他のプロセッ
サのキャッシュ制御回路23がメモリ17内のその位置
に対しそれらのキャッシュ入力22を無効にする。従っ
て、中央処理ユニット11がフラグ36を検索するため
に次に検索動作を開始するときには、キャッシュ制御回
路23がそれらのキャッシュ21ではなくてメモリ17
との検索動作を実行し、メモリ17のシステム状態ブロ
ック30かも更新したフラグ36を検索する。
競合に負けたプロセッサ10のキャッシュ12のキャッ
シュ制御回路23は、同期レベルテーブル31における
入力32の内容を検索するように繰り返し試みず、キャ
ッシュメモリ21のキャッシュ入力22の内容を使用す
るので、バスl11を経ての動作が実質上減少される。
シュ制御回路23は、同期レベルテーブル31における
入力32の内容を検索するように繰り返し試みず、キャ
ッシュメモリ21のキャッシュ入力22の内容を使用す
るので、バスl11を経ての動作が実質上減少される。
実際には、競合に勝ったプロセッサ10が同期優先順位
レベルを放棄するために入力32との動作を実行すると
きには、競合に負けたプロセッサ10か入力32の内容
を検索するように繰り返し試みることにより、それが遅
延されたりバス14」−の動作の実行が阻止されたりし
ないようにされる。
レベルを放棄するために入力32との動作を実行すると
きには、競合に負けたプロセッサ10か入力32の内容
を検索するように繰り返し試みることにより、それが遅
延されたりバス14」−の動作の実行が阻止されたりし
ないようにされる。
更に、競合に勝ったプロセッサ10は、l1iJ!υI
優先順位レベルを放棄するときに、キャッシュ入力32
のフラグ36の内容をリセットするために書き込み動作
を実行することが明らかであろう。
優先順位レベルを放棄するときに、キャッシュ入力32
のフラグ36の内容をリセットするために書き込み動作
を実行することが明らかであろう。
キャッシュ制御回路23は、バス14を経てのt’)き
込み動作を監視して、その占き込み動作中にアドレスフ
ィールド25が識別されたキャッシュ入力22のフラグ
36をリセットするので、競合に勝ったプロセッサが同
期優先順位レベルを放棄するための書き込み動作を実行
するときに、競合に負けたプロセッサ10のキャッシュ
制御回路23がキャッシュ入力22の有効フラグ24を
リセットする。但し、そのアドレスフィールド25は入
力32を含むメモリ17の記憶位置を識別するものであ
る。その後、競合に負けたプロセッサ1゜の中央処理ユ
ニットIIがキャッシュ制御回路23へ検索要求を送信
して同期レベルテーブル31から入力32の検索を開始
するときに、キャッシュ制御回路23はバス14を経て
動作を開始してメモリ17から入力を検索する。これが
生じるのは、競合に勝ったプロセッサ10がその同期優
先順位レベルが使用できることを指示するように入力3
2を調整した後のみであるから、競合に負けたプロセッ
サ10は、同期優先順位レベルが使用できるまでバス1
4上の動作を開始しない。
込み動作を監視して、その占き込み動作中にアドレスフ
ィールド25が識別されたキャッシュ入力22のフラグ
36をリセットするので、競合に勝ったプロセッサが同
期優先順位レベルを放棄するための書き込み動作を実行
するときに、競合に負けたプロセッサ10のキャッシュ
制御回路23がキャッシュ入力22の有効フラグ24を
リセットする。但し、そのアドレスフィールド25は入
力32を含むメモリ17の記憶位置を識別するものであ
る。その後、競合に負けたプロセッサ1゜の中央処理ユ
ニットIIがキャッシュ制御回路23へ検索要求を送信
して同期レベルテーブル31から入力32の検索を開始
するときに、キャッシュ制御回路23はバス14を経て
動作を開始してメモリ17から入力を検索する。これが
生じるのは、競合に勝ったプロセッサ10がその同期優
先順位レベルが使用できることを指示するように入力3
2を調整した後のみであるから、競合に負けたプロセッ
サ10は、同期優先順位レベルが使用できるまでバス1
4上の動作を開始しない。
本発明の特定の実施例について説明したが、本発明に対
して種々の変更や修正を加えても、本発明の効果が幾つ
か又は全て達成できることが明らかであろう。それ故、
本発明の精神及び範囲内に入るこのような全ての変更や
修正は特許請求の範囲に包含されるものとする。
して種々の変更や修正を加えても、本発明の効果が幾つ
か又は全て達成できることが明らかであろう。それ故、
本発明の精神及び範囲内に入るこのような全ての変更や
修正は特許請求の範囲に包含されるものとする。
添付図面は、本発明によって溝底されたデジタルデータ
処理システムのブロック図である。 1o・・・プロセッサ 11・・・中央処理ユニット 12・・・キャッシュ 13・・・バス14・・・バ
ス 16・・・コンソール17・・・メモリ 20・・・入力/出カニニット 21・・・キャッシュメモリ 22・・・入力 23・・・キャッシュ制御回路 24・・・有効化フラグ 25・・・アドレスフィールド 26・・・データフィールド
処理システムのブロック図である。 1o・・・プロセッサ 11・・・中央処理ユニット 12・・・キャッシュ 13・・・バス14・・・バ
ス 16・・・コンソール17・・・メモリ 20・・・入力/出カニニット 21・・・キャッシュメモリ 22・・・入力 23・・・キャッシュ制御回路 24・・・有効化フラグ 25・・・アドレスフィールド 26・・・データフィールド
Claims (1)
- 【特許請求の範囲】 A)同期優先順位レベルに各々関連されそして同期状態
を各々記憶する複数の入力を含んだ同期レベルテーブル
手段と、 B)複数のプロセッサとを具備し、 上記プロセッサの各々は、 i)上記同期レベルテーブル手段の入力の内容に関する
転送を開始させるための転送要求を発生する処理手段と
、 ii)キャッシュ手段とを備え、 上記キャッシュ手段は、 a)複数のキャッシュ記憶入力を含むキャッシュ入力手
段と、 b)上記処理手段及び上記同期レベルテーブル手段に接
続され、他のプロセッサからの転送要求を受け取り、上
記処理手段及び上記他のプロセッサからの転送要求に応
答して上記キャッシュ入力手段又は上記同期レベルテー
ブル手段に関する転送を制御するためのキャッシュ制御
手段とを含むことを特徴とするデジタルデータ処理シス
テム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15918588A | 1988-02-23 | 1988-02-23 | |
US159185 | 1988-02-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH028951A true JPH028951A (ja) | 1990-01-12 |
Family
ID=22571448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1045056A Pending JPH028951A (ja) | 1988-02-23 | 1989-02-23 | 対称的な多プロセッサ制御構成体 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5630166A (ja) |
EP (1) | EP0330425B1 (ja) |
JP (1) | JPH028951A (ja) |
CA (1) | CA1315411C (ja) |
DE (1) | DE68924992T2 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5218678A (en) * | 1989-11-17 | 1993-06-08 | Digital Equipment Corporation | System and method for atomic access to an input/output device with direct memory access |
US5752264A (en) * | 1995-03-31 | 1998-05-12 | International Business Machines Corporation | Computer architecture incorporating processor clusters and hierarchical cache memories |
US5983299A (en) * | 1996-10-18 | 1999-11-09 | Samsung Electronics Co., Ltd. | Priority request and bypass bus |
US5924122A (en) * | 1997-03-14 | 1999-07-13 | Compaq Computer Corp. | Method for error recovery spinlock in asymmetrically accessed multiprocessor shared memory |
US5987530A (en) * | 1997-07-10 | 1999-11-16 | National Instruments Coporation | Method for caching data and generating only one read request to read the requested data and additional data in universal serial bus system |
US6073205A (en) * | 1997-07-10 | 2000-06-06 | National Instruments Corporation | System and method of write posting in a universal serial bus system |
FR2771634B1 (fr) | 1997-12-02 | 2000-04-28 | Jean Pierre Benoit | Produit d'hygiene capillaire et/ou corporelle pour les hommes et les animaux et procede pour sa fabrication |
US6754752B2 (en) * | 2000-01-13 | 2004-06-22 | Freescale Semiconductor, Inc. | Multiple memory coherence groups in a single system and method therefor |
US6934761B1 (en) * | 2000-02-25 | 2005-08-23 | Sun Microsystems, Inc. | User level web server cache control of in-kernel http cache |
US7028091B1 (en) | 2000-08-31 | 2006-04-11 | Sun Microsystems, Inc. | Web server in-kernel interface to data transport system and cache manager |
US7269630B2 (en) * | 2001-10-17 | 2007-09-11 | International Business Machines Corporation | Automatically switching shared remote devices in a dense server environment thereby allowing the remote devices to function as a local device |
DE10158393A1 (de) * | 2001-11-28 | 2003-06-12 | Infineon Technologies Ag | Speicher für die Zentraleinheit einer Rechenanlage, Rechenanlage und Verfahren zum Synchronisieren eines Speichers mit dem Hauptspeicher einer Rechenanlage |
JP2004192052A (ja) * | 2002-12-06 | 2004-07-08 | Matsushita Electric Ind Co Ltd | ソフトウェア処理方法およびソフトウェア処理システム |
US20060156291A1 (en) * | 2005-01-12 | 2006-07-13 | Dell Products L.P. | System and method for managing processor execution in a multiprocessor system |
CN100451972C (zh) * | 2006-09-26 | 2009-01-14 | 杭州华三通信技术有限公司 | 提高多核***访问临界资源速度的方法和装置 |
US8869294B2 (en) * | 2006-12-05 | 2014-10-21 | Intel Corporation | Mitigating branch prediction and other timing based side channel attacks |
JP4937022B2 (ja) * | 2007-07-13 | 2012-05-23 | 株式会社東芝 | 順序関係解析装置、方法及びプログラム |
US10505860B1 (en) * | 2017-05-30 | 2019-12-10 | Xilinx, Inc. | System and method for round robin scheduling |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59225469A (ja) * | 1983-06-06 | 1984-12-18 | Fuji Electric Co Ltd | 共有メモリ排他制御方式 |
JPS6045872A (ja) * | 1983-08-23 | 1985-03-12 | Mitsubishi Electric Corp | 高速緩衝記憶装置 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4096571A (en) * | 1976-09-08 | 1978-06-20 | Codex Corporation | System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking |
US4149245A (en) * | 1977-06-09 | 1979-04-10 | International Business Machines Corporation | High speed store request processing control |
US4317168A (en) * | 1979-11-23 | 1982-02-23 | International Business Machines Corporation | Cache organization enabling concurrent line castout and line fetch transfers with main storage |
FR2471631B1 (fr) * | 1979-12-11 | 1986-02-21 | Cii Honeywell Bull | Dispositif de synchronisation et d'affectation de processus entre plusieurs processeurs dans un systeme de traitement de l'information |
US4393459A (en) * | 1980-07-17 | 1983-07-12 | International Business Machines Corp. | Status reporting with ancillary data |
US4547849A (en) * | 1981-12-09 | 1985-10-15 | Glenn Louie | Interface between a microprocessor and a coprocessor |
US4530055A (en) * | 1982-03-03 | 1985-07-16 | Sperry Corporation | Hierarchical memory system with variable regulation and priority of writeback from cache memory to bulk memory |
JPS5991527A (ja) * | 1982-11-17 | 1984-05-26 | Hitachi Ltd | バス優先制御方式 |
US4648065A (en) * | 1984-07-12 | 1987-03-03 | Sperry Corporation | Modified snapshot priority enabling two requestors to share a single memory port |
US4642758A (en) * | 1984-07-16 | 1987-02-10 | At&T Bell Laboratories | File transfer scheduling arrangement |
US4897780A (en) * | 1984-10-09 | 1990-01-30 | Wang Laboratories, Inc. | Document manager system for allocating storage locations and generating corresponding control blocks for active documents in response to requests from active tasks |
US4942552A (en) * | 1986-11-20 | 1990-07-17 | Allen-Bradley Company, Inc. | Method and apparatus for saving and performing industrial control commands |
US4888726A (en) * | 1987-04-22 | 1989-12-19 | Allen-Bradley Company. Inc. | Distributed processing in a cluster of industrial controls linked by a communications network |
US4873687A (en) * | 1987-10-05 | 1989-10-10 | Ibm Corporation | Failing resource manager in a multiplex communication system |
US4932040A (en) * | 1987-12-07 | 1990-06-05 | Bull Hn Information Systems Inc. | Bidirectional control signalling bus interface apparatus for transmitting signals between two bus systems |
WO1989006011A1 (en) * | 1987-12-18 | 1989-06-29 | Digital Equipment Corporation | Managing interlocking |
US5055999A (en) * | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
US4984153A (en) * | 1988-04-27 | 1991-01-08 | Unisys Corporation | Storage locking control for a plurality of processors which share a common storage unit |
US5050072A (en) * | 1988-06-17 | 1991-09-17 | Modular Computer Systems, Inc. | Semaphore memory to reduce common bus contention to global memory with localized semaphores in a multiprocessor system |
-
1989
- 1989-02-21 EP EP89301666A patent/EP0330425B1/en not_active Expired - Lifetime
- 1989-02-21 DE DE68924992T patent/DE68924992T2/de not_active Expired - Fee Related
- 1989-02-22 CA CA000591711A patent/CA1315411C/en not_active Expired - Fee Related
- 1989-02-23 JP JP1045056A patent/JPH028951A/ja active Pending
-
1996
- 1996-08-27 US US08/703,622 patent/US5630166A/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59225469A (ja) * | 1983-06-06 | 1984-12-18 | Fuji Electric Co Ltd | 共有メモリ排他制御方式 |
JPS6045872A (ja) * | 1983-08-23 | 1985-03-12 | Mitsubishi Electric Corp | 高速緩衝記憶装置 |
Also Published As
Publication number | Publication date |
---|---|
EP0330425B1 (en) | 1995-12-06 |
DE68924992T2 (de) | 1996-07-25 |
EP0330425A3 (en) | 1992-03-11 |
DE68924992D1 (de) | 1996-01-18 |
EP0330425A2 (en) | 1989-08-30 |
CA1315411C (en) | 1993-03-30 |
US5630166A (en) | 1997-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH028951A (ja) | 対称的な多プロセッサ制御構成体 | |
US5613139A (en) | Hardware implemented locking mechanism for handling both single and plural lock requests in a lock message | |
US5251308A (en) | Shared memory multiprocessor with data hiding and post-store | |
US5394554A (en) | Interdicting I/O and messaging operations from sending central processing complex to other central processing complexes and to I/O device in multi-system complex | |
US5561809A (en) | In a multiprocessing system having a coupling facility, communicating messages between the processors and the coupling facility in either a synchronous operation or an asynchronous operation | |
US5222217A (en) | System and method for implementing operating system message queues with recoverable shared virtual storage | |
US9372805B2 (en) | Operating on translation look-aside buffers in a multiprocessor environment | |
US20010052054A1 (en) | Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems | |
EP0644487A2 (en) | Scalable system interrupt structure for a multiprocessing system | |
EP0321724A2 (en) | Apparatus and method for alterable resource partitioning enforcement in a data processing system having central processing units using different operating systems | |
JPH10289214A (ja) | 対称的マルチプロセッサのクラスタのための可変粒度型メモリ共用方法 | |
US20090216928A1 (en) | System, method and computer program product for providing a new quiesce state | |
JPH07101410B2 (ja) | データ処理ネットワークにおいて逐次化手段の試験のため命令流の実行を同期させる方法 | |
JPH03196249A (ja) | 多重プロセッサシステム | |
JPH1115793A (ja) | 資源の保全性を保護する方法 | |
US6601183B1 (en) | Diagnostic system and method for a highly scalable computing system | |
JP2539352B2 (ja) | 階層型多重計算機システム | |
EP0806012B1 (en) | Ordered and reliable maintenance of inter-process relationships in a distributed multiprocessor | |
Beck et al. | VLSI Assist for a Multiprocessor | |
US6112282A (en) | Apparatus for atomic locking-accessing-unlocking of a shared resource | |
US6477597B1 (en) | Lock architecture for large scale system | |
EP0404560B1 (en) | multiprocessor system and method | |
US6366946B1 (en) | Critical code processing management | |
JPH04291660A (ja) | プロセッサ間通信方法およびそのための並列プロセッサ | |
JP2813182B2 (ja) | マルチプロセッサコンピュータ複合装置 |