JPH02224054A - コンピュータシステム、および多重プロセッサシステム最小単位動作の実行方法 - Google Patents
コンピュータシステム、および多重プロセッサシステム最小単位動作の実行方法Info
- Publication number
- JPH02224054A JPH02224054A JP1278318A JP27831889A JPH02224054A JP H02224054 A JPH02224054 A JP H02224054A JP 1278318 A JP1278318 A JP 1278318A JP 27831889 A JP27831889 A JP 27831889A JP H02224054 A JPH02224054 A JP H02224054A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- lock
- processor
- control
- minimum unit
- 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.)
- Granted
Links
- 238000010977 unit operation Methods 0.000 title claims abstract description 9
- 238000012546 transfer Methods 0.000 claims abstract description 8
- 238000001514 detection method Methods 0.000 claims abstract 2
- 238000000034 method Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims 1
- 230000004913 activation Effects 0.000 abstract description 2
- 230000002401 inhibitory effect Effects 0.000 abstract 2
- 230000008569 process Effects 0.000 description 4
- GVBNSPFBYXGREE-UHFFFAOYSA-N Visnadine Natural products C1=CC(=O)OC2=C1C=CC1=C2C(OC(C)=O)C(OC(=O)C(C)CC)C(C)(C)O1 GVBNSPFBYXGREE-UHFFFAOYSA-N 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 206010000210 abortion Diseases 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/374—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
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)
- Software Systems (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
く発明の分野〉
本発明は、選定された動作の期間中、アクセスを防止す
るシステム制御ロックを有する多重プロセッザ計算装置
に関する。
るシステム制御ロックを有する多重プロセッザ計算装置
に関する。
く発明の背景〉
多重プロセッサシステムは、一時に1個のプロセス/プ
ロセラ1)′対に,中断されてはいけない選定された動
作(最小単位動作という)期間中に、保護資源への排他
的アクセスをイ・1与ずる方法を必要とする.この基本
的な概念に基づいて、さらに、極めて複雑なプロセス間
制御および通信メカニズムを組立てることができる.最
も典型的には、保護資源は、例えば、プロセス制御ブロ
ックまたは同期{:マフオーもしくは待ち行列のような
メモリデータ構造であろう。
ロセラ1)′対に,中断されてはいけない選定された動
作(最小単位動作という)期間中に、保護資源への排他
的アクセスをイ・1与ずる方法を必要とする.この基本
的な概念に基づいて、さらに、極めて複雑なプロセス間
制御および通信メカニズムを組立てることができる.最
も典型的には、保護資源は、例えば、プロセス制御ブロ
ックまたは同期{:マフオーもしくは待ち行列のような
メモリデータ構造であろう。
コンピュータ命令セラ1一中の上記のような設備を支持
する最も智通の手法は,一方が他方に基づいて条件付け
られる2個の可視動作を有するようにJ個以Lの命令を
定義イ11けることである.モトローラ68020命令
セツトの[検査およびセラ1・」命令および「比較およ
び交換J命令は、この型の手法の典型である。これらは
、例えば、リスト項目「エンキュー」またはプロセス[
通報Jのようなさらに能力のある複数の基本の他の層が
直ちに追加されなければならないほど、極めて基本的な
動作である.縮小命令セットコンピュータ(RISC)
プロセッサの文脈においては,この型の基本が典型的に
は多重ザイクルであり実現するにはかなり面倒であると
いう他の重要な不利益が存在する。
する最も智通の手法は,一方が他方に基づいて条件付け
られる2個の可視動作を有するようにJ個以Lの命令を
定義イ11けることである.モトローラ68020命令
セツトの[検査およびセラ1・」命令および「比較およ
び交換J命令は、この型の手法の典型である。これらは
、例えば、リスト項目「エンキュー」またはプロセス[
通報Jのようなさらに能力のある複数の基本の他の層が
直ちに追加されなければならないほど、極めて基本的な
動作である.縮小命令セットコンピュータ(RISC)
プロセッサの文脈においては,この型の基本が典型的に
は多重ザイクルであり実現するにはかなり面倒であると
いう他の重要な不利益が存在する。
く発明の要約〉
最小単位動作は、一・連の命令によって具体化されてい
る.命令シーケンスが完成することを保証するために、
メモリザブシステムおよびバスは。
る.命令シーケンスが完成することを保証するために、
メモリザブシステムおよびバスは。
3個の特別動作、すなわち、ロードロツタ、格納ロック
およびロードアンロックをする.3個の動作は、全て、
メモリアドレスを受け,単純な命令に直接対応jる。第
4の命令、すなわち、探査も備わっている。ロックが保
持されている間、専断的読込み、および、書込み動作は
、表明された特別のロックによってバスを制御する一の
プロセッサによっていずれの物理的記憶場所に対しても
許される.特に、コードシーケンスは、自動的に複数の
記憶場所を一斉に更新する(例えば、待ち行列からの項
目を追加し、または、除去する)ことができる。
およびロードアンロックをする.3個の動作は、全て、
メモリアドレスを受け,単純な命令に直接対応jる。第
4の命令、すなわち、探査も備わっている。ロックが保
持されている間、専断的読込み、および、書込み動作は
、表明された特別のロックによってバスを制御する一の
プロセッサによっていずれの物理的記憶場所に対しても
許される.特に、コードシーケンスは、自動的に複数の
記憶場所を一斉に更新する(例えば、待ち行列からの項
目を追加し、または、除去する)ことができる。
く実施例〉
本発明を適用し7た、複数個のプロセッサを有ずる代表
的多重プロセッサシステムが第1図のブロック線図どし
て示されている.本発明に関係する、プロセッサ52.
54およひ56中の素子は、実質的に同一であり,プロ
セッサ52.54および56を共通バスに接続すること
に関係する。バス58は,アドレスおよびデータライン
60,バス要求ライン62、バス付与ライン64、およ
び多重プロセッサシスデムに見出される他の信号路をイ
1する.本発明の第1の特徴は、例えば、メモリ66の
ようなシステム資源へのプロセッサ52。
的多重プロセッサシステムが第1図のブロック線図どし
て示されている.本発明に関係する、プロセッサ52.
54およひ56中の素子は、実質的に同一であり,プロ
セッサ52.54および56を共通バスに接続すること
に関係する。バス58は,アドレスおよびデータライン
60,バス要求ライン62、バス付与ライン64、およ
び多重プロセッサシスデムに見出される他の信号路をイ
1する.本発明の第1の特徴は、例えば、メモリ66の
ようなシステム資源へのプロセッサ52。
54および56のうち1個の通信に関係する。しかし、
他の実施例(図示せず)においては、上記のような確実
な通信がプロセッサ間またはプロセッサと他のシステム
ハードウェアとの間に成立することを目指す。
他の実施例(図示せず)においては、上記のような確実
な通信がプロセッサ間またはプロセッサと他のシステム
ハードウェアとの間に成立することを目指す。
本発明によれば、他のプロセッサによる割込み、または
、時分割アクセスにより中断され得ない最小単位動作と
して知られている一連の動作群が存在する。上記動作群
が1個の10セッザ自体、または、分割されない通信路
に関係する場合には、最小単位動作は、バスロックを要
求しない。しかし、プロセッサ52とメモリ66との間
の転送によって例示されているように、メモリ66の保
護部分へのアクセスは、プロセッサ52に確保され制限
されなければならない。70セ・ノザ52をトリガして
ロックを生じさせる命令は、典型的には、メモリロード
ロック命令と、要求された素子(例えば、メモリ66)
へのロックされたアクセスが除去されるようにする、メ
モリ格納アンロック命令またはメモリロードアンロック
命令のいずれか一方とのうち少なくとも1個を含む、他
の命令、すなわち、メモリ探査命令は、データが特に指
定された記憶場所に書込まれることを除いて、全ての面
でメモリ書込みとして機能する。メモリ探査命令は、ア
ドレス指定された記憶場所が変更のため利用できるか否
かを決定する基準として機能する。メモリロックが特定
の命令1例えば、メモリロードロック命令Gこよって開
始された場合、プロセッサ52は、先のロック保持信号
が存在したとすれば、これをロック検出器76に判定さ
せる。
、時分割アクセスにより中断され得ない最小単位動作と
して知られている一連の動作群が存在する。上記動作群
が1個の10セッザ自体、または、分割されない通信路
に関係する場合には、最小単位動作は、バスロックを要
求しない。しかし、プロセッサ52とメモリ66との間
の転送によって例示されているように、メモリ66の保
護部分へのアクセスは、プロセッサ52に確保され制限
されなければならない。70セ・ノザ52をトリガして
ロックを生じさせる命令は、典型的には、メモリロード
ロック命令と、要求された素子(例えば、メモリ66)
へのロックされたアクセスが除去されるようにする、メ
モリ格納アンロック命令またはメモリロードアンロック
命令のいずれか一方とのうち少なくとも1個を含む、他
の命令、すなわち、メモリ探査命令は、データが特に指
定された記憶場所に書込まれることを除いて、全ての面
でメモリ書込みとして機能する。メモリ探査命令は、ア
ドレス指定された記憶場所が変更のため利用できるか否
かを決定する基準として機能する。メモリロックが特定
の命令1例えば、メモリロードロック命令Gこよって開
始された場合、プロセッサ52は、先のロック保持信号
が存在したとすれば、これをロック検出器76に判定さ
せる。
先のロック保持信号が存在した場合には、プロセッサ5
2は、禁止される。先のロック保持信号が存在しなかっ
た場合、プロセッサ52は、当業者に公知の技術を含む
裁定技術に従ってバス制御を裁定する。プロセッサがバ
スを駆動する権利を確保した場合、ロック表明論理回路
74は、より高い優先順位を有するバス要求がロック表
明論理回路74からのロック表明(ロック保持とも称す
る)信号の起動(プロセッサ52は、既にバス、従って
メモリ64へのアクセスを妨げている)に基づいて他の
プロセッサ54をメモリ64へのアクセスから排除する
ように、アドレス/データ転送論理回路78が要求アド
レスを駆動するのと同時にロック信号を供給する。プロ
セッサ52は、バスロック状態を確保した後、アドレス
/データ転送論理回路78を起動し、プロセッサ52と
メモリ64との間のデータ転送を開始させる。最小単位
動作が完了した時、バス表明信号は、除去され、ロック
状態は、終了する。多重プロセッサの相互ロック方法お
よび装置についての詳細な説明は、本願と同時に米国、
出願され、発明の名称「多重プロセッサの相互ロック」
の米国特許出願APOLL−111XXに開示されてい
る。この開示は、この引用により本願明細書に組入れら
れる。バス裁定中、他の一のプロセッサがロック獲得に
成功し、それを表明した場合、実施例に示されているよ
うに、バス要求プロセッサは、バス要求を中止する。通
常、プロセッサがバスロックを獲得するまでバスロック
を望む方向においては、前辺っての表示が何もない。し
かし、他の一のプロセッサが既にバスロックを保持して
いる場合には、このプロセッサは、公平性アルゴリズム
が実行されうるように、他の一のプロセッサにロック利
益を知らせる。
2は、禁止される。先のロック保持信号が存在しなかっ
た場合、プロセッサ52は、当業者に公知の技術を含む
裁定技術に従ってバス制御を裁定する。プロセッサがバ
スを駆動する権利を確保した場合、ロック表明論理回路
74は、より高い優先順位を有するバス要求がロック表
明論理回路74からのロック表明(ロック保持とも称す
る)信号の起動(プロセッサ52は、既にバス、従って
メモリ64へのアクセスを妨げている)に基づいて他の
プロセッサ54をメモリ64へのアクセスから排除する
ように、アドレス/データ転送論理回路78が要求アド
レスを駆動するのと同時にロック信号を供給する。プロ
セッサ52は、バスロック状態を確保した後、アドレス
/データ転送論理回路78を起動し、プロセッサ52と
メモリ64との間のデータ転送を開始させる。最小単位
動作が完了した時、バス表明信号は、除去され、ロック
状態は、終了する。多重プロセッサの相互ロック方法お
よび装置についての詳細な説明は、本願と同時に米国、
出願され、発明の名称「多重プロセッサの相互ロック」
の米国特許出願APOLL−111XXに開示されてい
る。この開示は、この引用により本願明細書に組入れら
れる。バス裁定中、他の一のプロセッサがロック獲得に
成功し、それを表明した場合、実施例に示されているよ
うに、バス要求プロセッサは、バス要求を中止する。通
常、プロセッサがバスロックを獲得するまでバスロック
を望む方向においては、前辺っての表示が何もない。し
かし、他の一のプロセッサが既にバスロックを保持して
いる場合には、このプロセッサは、公平性アルゴリズム
が実行されうるように、他の一のプロセッサにロック利
益を知らせる。
第2図に示された二重連結リスト構造100は。
リストヘッド]710に結合されたリスト要素L】、L
2またはL3が挿入された二重連結リスI−1,00中
の諸要素を結合する前向きベクI・ル102および]0
4と後向きベクトル10Gおよび108との結合を含む
、二重連結リスト100が空くすなわち、要素がない)
の場合には、リストヘッド110は、二重連結リスト〕
、00の基準位置を供給し続ける。
2またはL3が挿入された二重連結リスI−1,00中
の諸要素を結合する前向きベクI・ル102および]0
4と後向きベクトル10Gおよび108との結合を含む
、二重連結リスト100が空くすなわち、要素がない)
の場合には、リストヘッド110は、二重連結リスト〕
、00の基準位置を供給し続ける。
例えば、要素)−3のような1個の要素を含む最も基本
的なリストの作成は、第3図のフローチャート1.50
に示されたリスト作成動作に従って行われる。フローチ
ャー?−150は、前向きベクトル102〜J、08が
確立する最小単位動作を図示する。ロードロツタ命令1
60により、バスロックが開始される。格納終了命令]
、 62 t、たけ164により、バスは5プログラム
シーゲンス?再開する前にアンロックされる。
的なリストの作成は、第3図のフローチャート1.50
に示されたリスト作成動作に従って行われる。フローチ
ャー?−150は、前向きベクトル102〜J、08が
確立する最小単位動作を図示する。ロードロツタ命令1
60により、バスロックが開始される。格納終了命令]
、 62 t、たけ164により、バスは5プログラム
シーゲンス?再開する前にアンロックされる。
複数のプロセッサ間で裁定およびロック獲得が生じるの
は、システムバスにおいてのみであるから、ロードロッ
クは、全でのデータキャッシングを無効とし、メモリに
直接向かわなければならない。
は、システムバスにおいてのみであるから、ロードロッ
クは、全でのデータキャッシングを無効とし、メモリに
直接向かわなければならない。
1フツクが未だ確保さノ1ていない場合には、ロックさ
れ、ロード完了が可能である。他の場合には、ロードは
、ロックが獲得できる時まで停止される。
れ、ロード完了が可能である。他の場合には、ロードは
、ロックが獲得できる時まで停止される。
格納アンロックまたはロードアンロックも、システムバ
スを確保し、関連のメモリ動作の成功が確定するか、ま
たは、失敗が確定するかのいずれかが保証された後にの
み、キャッジ−L(図示せず)をバイパスし、全てのロ
ックを解除しなければならない。キャッシュベースシス
テムの具体例においては、ロックが保持された間に生じ
たいずれのメモリ状態の変更も、ロックを確保するはず
の次のプロセッサに可視でなければならない、害切りキ
ャッシュシステムにおいては、この可視性は、アンロッ
ク動作に先立ってアンロック命令自体より前に命令によ
り記入された全ての読込み、または、書込みをアンロッ
ク動作により押出させることにより与えられる。また、
他のプロセッサのキャッシュ妥当性検査方法は、これら
のあふれ出た書込みがロック獲得に成功した時にロック
を獲得するはずのプロセッサによって最後まで観察され
る、:とを保証しなければならない、この保証は。
スを確保し、関連のメモリ動作の成功が確定するか、ま
たは、失敗が確定するかのいずれかが保証された後にの
み、キャッジ−L(図示せず)をバイパスし、全てのロ
ックを解除しなければならない。キャッシュベースシス
テムの具体例においては、ロックが保持された間に生じ
たいずれのメモリ状態の変更も、ロックを確保するはず
の次のプロセッサに可視でなければならない、害切りキ
ャッシュシステムにおいては、この可視性は、アンロッ
ク動作に先立ってアンロック命令自体より前に命令によ
り記入された全ての読込み、または、書込みをアンロッ
ク動作により押出させることにより与えられる。また、
他のプロセッサのキャッシュ妥当性検査方法は、これら
のあふれ出た書込みがロック獲得に成功した時にロック
を獲得するはずのプロセッサによって最後まで観察され
る、:とを保証しなければならない、この保証は。
ロー・ドロックに保留中・キャッシュ非妥当性を処理さ
せる。二とによってなされるか、または、ロードロック
完了バイブラインの遅れに匹敵する局所的非妥当性処理
バイブラインの遅れに組込まれていてもよい、@直しキ
ャッシュシステムを内臓する他の実施例においては、上
記の保証となすための追加的負担が存在する。他のプロ
セッサに状態変更を可視とする1の手法は、ロックが保
持されている間に、全ての記憶が書込データミス分起動
させるべきである。
せる。二とによってなされるか、または、ロードロック
完了バイブラインの遅れに匹敵する局所的非妥当性処理
バイブラインの遅れに組込まれていてもよい、@直しキ
ャッシュシステムを内臓する他の実施例においては、上
記の保証となすための追加的負担が存在する。他のプロ
セッサに状態変更を可視とする1の手法は、ロックが保
持されている間に、全ての記憶が書込データミス分起動
させるべきである。
ロック中断は、ロックされたコードシーゲンスがうまく
進行しないことにより引起こされるシステムデットロゾ
クを避()るために使用すべきである0本実施例におい
ては、ロックが中断されることなく保持される長さを監
視する、ロック保存プロセッサ中のロック継続タイマが
使用されている。
進行しないことにより引起こされるシステムデットロゾ
クを避()るために使用すべきである0本実施例におい
ては、ロックが中断されることなく保持される長さを監
視する、ロック保存プロセッサ中のロック継続タイマが
使用されている。
タイマ値は、期待ロック保持期間に匹敵する大きさの数
にセラI・される、タイマが終了した場合には、ロック
は、自動的に解除され、割込んだプロセッサは、中断さ
れる。他のタイマ手法は、ロック要求プロセスにロック
獲得247分設置うることである。このタイマ手法にI
J、システム中のプロセッサの数に対して若干大きな数
のタイマ値、および一のプロセッサが他の70セツザの
保有から強制的にロックを接電する能力が必要である。
にセラI・される、タイマが終了した場合には、ロック
は、自動的に解除され、割込んだプロセッサは、中断さ
れる。他のタイマ手法は、ロック要求プロセスにロック
獲得247分設置うることである。このタイマ手法にI
J、システム中のプロセッサの数に対して若干大きな数
のタイマ値、および一のプロセッサが他の70セツザの
保有から強制的にロックを接電する能力が必要である。
図示された単一ロックの実施例において(J、第10ツ
クが保持されている間に第20ツクを獲得する試みは、
ブ、ログラム例外となる。他の実施例には、ロック命令
およびアンロック命令の適当なスクッキング、および、
逐次的プログラムフローが中断した場合、このスタック
から回復する能力を支持するハードウェアが設けられて
いる。
クが保持されている間に第20ツクを獲得する試みは、
ブ、ログラム例外となる。他の実施例には、ロック命令
およびアンロック命令の適当なスクッキング、および、
逐次的プログラムフローが中断した場合、このスタック
から回復する能力を支持するハードウェアが設けられて
いる。
ロックされた命令列の有限進行を■、証するために、命
令の実行と関係のない事象は、逐次的プログラムフロー
を中断するのを許されない。このため1割込み、おJ:
び、他の命令非同期例外は、ロックが保持されている間
、禁止される。
令の実行と関係のない事象は、逐次的プログラムフロー
を中断するのを許されない。このため1割込み、おJ:
び、他の命令非同期例外は、ロックが保持されている間
、禁止される。
ブ1′:Jセスがロックを保持している間に命令関連の
例外が生じた場合に1面倒な事態が生じる。例外処理に
ついては、1988年10月1711に米国出願され、
発明の名称「命令バイブラインの誤聞合せが生じたパイ
プライシブ1フセツサにおける例外処理方法および装置
」の米国特許出願APOLL−109XXに更に詳しく
記載されている。
例外が生じた場合に1面倒な事態が生じる。例外処理に
ついては、1988年10月1711に米国出願され、
発明の名称「命令バイブラインの誤聞合せが生じたパイ
プライシブ1フセツサにおける例外処理方法および装置
」の米国特許出願APOLL−109XXに更に詳しく
記載されている。
上記面倒な事態が発生ずるので、指定されたプロセッサ
のレジスタは、相互ロックされたシーケンスが完了しな
い場合、[再開点]58」を含む(または、相互ロック
されたシーケンスの開始点に存在する帰点)という約束
が確立されている。
のレジスタは、相互ロックされたシーケンスが完了しな
い場合、[再開点]58」を含む(または、相互ロック
されたシーケンスの開始点に存在する帰点)という約束
が確立されている。
プロセッサのハードウェアは、典型的には50ツクが保
持されている間に現時点の例外が発生しまた場合に、こ
れを表示する状態フラッグ(図示せず)を備える。4一
の状態フラッグは、口・−ドロック命令に出会うとすぐ
にセットされ、アンロック命令が完了するように保証さ
れた時にのみ除去される。
持されている間に現時点の例外が発生しまた場合に、こ
れを表示する状態フラッグ(図示せず)を備える。4一
の状態フラッグは、口・−ドロック命令に出会うとすぐ
にセットされ、アンロック命令が完了するように保証さ
れた時にのみ除去される。
状態フラッグは5プロセツサの10グラム状慧ワード中
で利用する。:とができ、他の帰点を選定する例外処理
ソフトウェアによって使用さノ1−る。都合が良いよう
に、ロックが保持されている間にトリガされた例外は、
自動的に関連の一のロックまたは複数のロックを解除す
る9都合が良いように、例外復帰シーケンスは、常に5
0ツク保持プロセツサ状憇を除去する。ロックされたコ
ードシーケンスは、実行さ1Lなければならない命令列
にべ一ジザイズ間隔で触れることにより、命令ページ欠
陥が存在するであろうことをNX’lすることができる
。典型的には、コードシーケンスの最後で命令をロード
すること以外は、必要でない、ロックされt:コードは
、全てのデータに「触れる」だけで。
で利用する。:とができ、他の帰点を選定する例外処理
ソフトウェアによって使用さノ1−る。都合が良いよう
に、ロックが保持されている間にトリガされた例外は、
自動的に関連の一のロックまたは複数のロックを解除す
る9都合が良いように、例外復帰シーケンスは、常に5
0ツク保持プロセツサ状憇を除去する。ロックされたコ
ードシーケンスは、実行さ1Lなければならない命令列
にべ一ジザイズ間隔で触れることにより、命令ページ欠
陥が存在するであろうことをNX’lすることができる
。典型的には、コードシーケンスの最後で命令をロード
すること以外は、必要でない、ロックされt:コードは
、全てのデータに「触れる」だけで。
実行にロード命令を必要としない記憶保護、違反または
記憶ページ欠陥が全くないであろうことを確認すること
ができる。、:の目的のため、Q前セツトは、実際にメ
モリに書込むことなく書込みアクセス特権およびアンダ
=−ラインページの有効性を確認する探査命令(116
A−F)を提供する60ツクさh−たコードシーケンス
は、該シーケンスが最初のものですら更新する前に問合
わせる全てのメモリの記憶場所を探査すべきである。上
述1,7か以外の型式のほとんどの命令rM連例外は、
ロックされたコードシ・−クンスにおいて生じるべきで
ない。これらの命令開運例外が生じた場合には、プロセ
スは、回復できない。回復不能のロックされたコード例
外命令のこの型式の典をは、データネ整合および特権命
令の違反である。、当業者による本発明の変形例および
代替例は、本発明の範囲に属するものと判断され1本発
明は、特許請求の範囲以外によって限定されるべきでな
い、
記憶ページ欠陥が全くないであろうことを確認すること
ができる。、:の目的のため、Q前セツトは、実際にメ
モリに書込むことなく書込みアクセス特権およびアンダ
=−ラインページの有効性を確認する探査命令(116
A−F)を提供する60ツクさh−たコードシーケンス
は、該シーケンスが最初のものですら更新する前に問合
わせる全てのメモリの記憶場所を探査すべきである。上
述1,7か以外の型式のほとんどの命令rM連例外は、
ロックされたコードシ・−クンスにおいて生じるべきで
ない。これらの命令開運例外が生じた場合には、プロセ
スは、回復できない。回復不能のロックされたコード例
外命令のこの型式の典をは、データネ整合および特権命
令の違反である。、当業者による本発明の変形例および
代替例は、本発明の範囲に属するものと判断され1本発
明は、特許請求の範囲以外によって限定されるべきでな
い、
第1図は1本発明を適用した多重プロセッサシステムの
ブロック線図である。第2図は、変更が最小単位動作に
関係する連結リスl−構造のブロック線図である。第3
図は、第2図のラフ1−ウェア構造の形式に従うロック
命令およびアンロック命令を有する代表的最小単位動作
のフローナヤートである。
ブロック線図である。第2図は、変更が最小単位動作に
関係する連結リスl−構造のブロック線図である。第3
図は、第2図のラフ1−ウェア構造の形式に従うロック
命令およびアンロック命令を有する代表的最小単位動作
のフローナヤートである。
Claims (1)
- 【特許請求の範囲】 1)制御信号路を含むデータバスと、 複数のプロセッサユニットであつて、各プロセッサユニ
ットは、制御信号路に接続され制御信号路上にバス要求
信号を供給するバス要求手段と、制御信号路に接続され
制御信号路上にバスロック信号を供給しデータバスの制
御を示すバス制御ロック表明手段と、バス要求信号およ
びバスロック信号のうち少なくとも1個に応答するバス
制御ロック検出手段と、データバス、バス付与要求手段
、バス制御ロック表明手段およびバス制御ロック手段に
接続されたデータ転送手段とから成る複数のプロセッサ
ユニットとから成り、 バス要求信号は、データがデータバスに供給されるべき
時、発生され、データ転送手段は、バスロック信号がバ
スロック検出手段によつて検出された時、データバスへ
のデータの供給を禁止され、各プロセッサは、さらに、
バス要求手段、および、最小単位プロセッサ動作期間中
、バス制御を獲得するバスロック表明手段に接続され、
最小単位プロセッサ動作は、他の一のプロセッサにより
供給されたバスロック信号の検出により禁止される最小
単位プロセッサ動作応答手段を含むことを特徴とするコ
ンピュータシステム。 2)コンピュータシステムは、さらに、 複数のプロセッサユニットと選択的にデータをやり取り
するメモリ手段を有し、 最小単位プロセッサ動作は、少なくとも、メモリロード
ロック、メモリ格納アンロック、メモリロードアンロッ
ク、メモリ探査のうち少なくとも1つを含むことを特徴
とする請求項1記載のコンピュータシステム。 3)多重プロセッサシステムの最小単位動作の実行方法
であつて、 上記プロセッサのうちの1個における最小単位動作の開
始を識別する工程と、 最小単位動作をなすプロセッサを含む複数のプロセッサ
と、最小単位動作のために必要なシステム資源とを結合
するバスの可用性を識別する工程と、 最小単位動作をなすプロセッサによるバス制御を獲得す
る工程と、 最小単位動作を実行する工程と、 バス制御を解除する工程と、 から成る多重プロセッサシステム最小単位動作の実行方
法。 4)バス制御を獲得する工程は、メモリロードロック命
令を実行する工程に応答し、 バス制御解除工程は、メモリ格納アンロックおよびメモ
リロードアンロック命令のうち1つを実行する工程に応
答することを特徴とする請求項3記載の方法。 5)例外検出によりバス制御を解除する工程を含むこと
を特徴とする請求項4記載の方法。 6)特定の再開点において最小単位動作を再開する工程
を含むことを特徴とする請求項5記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/262,495 US5175829A (en) | 1988-10-25 | 1988-10-25 | Method and apparatus for bus lock during atomic computer operations |
US262495 | 1988-10-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02224054A true JPH02224054A (ja) | 1990-09-06 |
JP3054775B2 JP3054775B2 (ja) | 2000-06-19 |
Family
ID=22997759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1278318A Expired - Fee Related JP3054775B2 (ja) | 1988-10-25 | 1989-10-25 | コンピュータシステム、および多重プロセッサシステム最小単位動作の実行方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5175829A (ja) |
EP (1) | EP0366432A3 (ja) |
JP (1) | JP3054775B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020514856A (ja) * | 2017-01-12 | 2020-05-21 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | コンピューティング環境内の処理を容易にするためのコンピュータ・プログラム、コンピュータ・システムおよびコンピュータ実装方法 |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2642246B1 (fr) * | 1988-12-30 | 1991-04-05 | Cit Alcatel | Procede de deblocage d'un systeme multiprocesseurs multibus |
JPH0387958A (ja) * | 1989-06-30 | 1991-04-12 | Nec Corp | バスロツク制御方式 |
DE69029995T2 (de) * | 1989-11-09 | 1997-08-21 | Ibm | Multiprozessor mit relativ atomaren Befehlen |
JPH03210649A (ja) * | 1990-01-12 | 1991-09-13 | Fujitsu Ltd | マイクロコンピュータおよびそのバスサイクル制御方法 |
JP2665813B2 (ja) * | 1990-02-23 | 1997-10-22 | 三菱電機株式会社 | 記憶制御装置 |
US5452463A (en) * | 1990-05-25 | 1995-09-19 | Dell Usa, L.P. | Processor and cache controller interface lock jumper |
WO1992005490A1 (en) * | 1990-09-18 | 1992-04-02 | Fujitsu Limited | Exclusive control method for shared memory |
JPH04306735A (ja) * | 1991-04-04 | 1992-10-29 | Toshiba Corp | 非同期割込み禁止機構 |
US5430860A (en) * | 1991-09-17 | 1995-07-04 | International Business Machines Inc. | Mechanism for efficiently releasing memory lock, after allowing completion of current atomic sequence |
US5283870A (en) * | 1991-10-04 | 1994-02-01 | Bull Hn Information Systems Inc. | Method and apparatus for avoiding processor deadly embrace in a multiprocessor system |
US5410695A (en) * | 1992-03-30 | 1995-04-25 | International Business Machines Corporation | Apparatus and method for list management in a coupled data processing system |
JP2500101B2 (ja) * | 1992-12-18 | 1996-05-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 共用変数の値を更新する方法 |
US5701501A (en) * | 1993-02-26 | 1997-12-23 | Intel Corporation | Apparatus and method for executing an atomic instruction |
DE4307139C2 (de) * | 1993-03-06 | 1997-02-13 | Ibm | Serialisierung von Bedienungsanforderungen in einem Multiprozessor-System |
US5586274A (en) * | 1994-03-24 | 1996-12-17 | Hewlett-Packard Company | Atomic operation control scheme |
US5586289A (en) * | 1994-04-15 | 1996-12-17 | David Sarnoff Research Center, Inc. | Method and apparatus for accessing local storage within a parallel processing computer |
JPH07302200A (ja) * | 1994-04-28 | 1995-11-14 | Hewlett Packard Co <Hp> | 順次付けロード動作および順序付け記憶動作を強制する命令を有するコンピュータのロード命令方法。 |
US5548780A (en) * | 1994-07-21 | 1996-08-20 | Apple Computer, Inc. | Method for semaphore communication between incompatible bus locking architectures |
WO1996003697A1 (en) * | 1994-07-21 | 1996-02-08 | Apple Computer, Inc. | Method for semaphore communication between incompatible bus locking architectures |
US5867734A (en) * | 1994-11-21 | 1999-02-02 | Intel Corporation | Multiple-reader multiple-writer queue for a computer system |
US6073211A (en) * | 1994-12-13 | 2000-06-06 | International Business Machines Corporation | Method and system for memory updates within a multiprocessor data processing system |
US5560018A (en) * | 1994-12-16 | 1996-09-24 | International Business Machines Corporation | Providing external interrupt serialization compatibility in a multiprocessing environment for software written to run in a uniprocessor environment |
EP0825506B1 (en) | 1996-08-20 | 2013-03-06 | Invensys Systems, Inc. | Methods and apparatus for remote process control |
US6061755A (en) * | 1997-04-14 | 2000-05-09 | International Business Machines Corporation | Method of layering cache and architectural specific functions to promote operation symmetry |
US5909561A (en) * | 1997-04-14 | 1999-06-01 | International Business Machines Corporation | Apparatus and method for separately layering cache and architectural specific functions in different operational controllers to facilitate design extension |
US5937172A (en) * | 1997-04-14 | 1999-08-10 | International Business Machines Corporation | Apparatus and method of layering cache and architectural specific functions to permit generic interface definition |
US5900018A (en) * | 1997-06-24 | 1999-05-04 | Sun Microsystems, Inc. | Processor-implemented method of controlling data access to shared resource via exclusive access control write-cache |
US6112282A (en) * | 1997-06-24 | 2000-08-29 | Sun Microsystems, Inc. | Apparatus for atomic locking-accessing-unlocking of a shared resource |
US6691183B1 (en) | 1998-05-20 | 2004-02-10 | Invensys Systems, Inc. | Second transfer logic causing a first transfer logic to check a data ready bit prior to each of multibit transfer of a continous transfer operation |
US6163828A (en) * | 1998-05-22 | 2000-12-19 | Lucent Technologies Inc. | Methods and apparatus for providing multi-processor access to shared memory |
US6173307B1 (en) | 1998-08-20 | 2001-01-09 | Intel Corporation | Multiple-reader multiple-writer queue for a computer system |
US6397306B2 (en) | 1998-10-23 | 2002-05-28 | Alcatel Internetworking, Inc. | Per memory atomic access for distributed memory multiprocessor architecture |
US6282637B1 (en) * | 1998-12-02 | 2001-08-28 | Sun Microsystems, Inc. | Partially executing a pending atomic instruction to unlock resources when cancellation of the instruction occurs |
WO2000070417A1 (en) | 1999-05-17 | 2000-11-23 | The Foxboro Company | Process control configuration system with parameterized objects |
US7096465B1 (en) | 1999-05-17 | 2006-08-22 | Invensys Systems, Inc. | Process control configuration system with parameterized objects |
US7272815B1 (en) | 1999-05-17 | 2007-09-18 | Invensys Systems, Inc. | Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects |
US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
US6754885B1 (en) | 1999-05-17 | 2004-06-22 | Invensys Systems, Inc. | Methods and apparatus for controlling object appearance in a process control configuration system |
US7043728B1 (en) | 1999-06-08 | 2006-05-09 | Invensys Systems, Inc. | Methods and apparatus for fault-detecting and fault-tolerant process control |
US6788980B1 (en) | 1999-06-11 | 2004-09-07 | Invensys Systems, Inc. | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
US6501995B1 (en) | 1999-06-30 | 2002-12-31 | The Foxboro Company | Process control system and method with improved distribution, installation and validation of components |
US6510352B1 (en) | 1999-07-29 | 2003-01-21 | The Foxboro Company | Methods and apparatus for object-based process control |
US6473660B1 (en) | 1999-12-03 | 2002-10-29 | The Foxboro Company | Process control system and method with automatic fault avoidance |
US6779128B1 (en) | 2000-02-18 | 2004-08-17 | Invensys Systems, Inc. | Fault-tolerant data transfer |
US6728866B1 (en) * | 2000-08-31 | 2004-04-27 | International Business Machines Corporation | Partitioned issue queue and allocation strategy |
US6938164B1 (en) * | 2000-11-22 | 2005-08-30 | Microsoft Corporation | Method and system for allowing code to be securely initialized in a computer |
US6993468B2 (en) * | 2000-12-27 | 2006-01-31 | Intel Corporation | Recognizing signals in design simulation |
US7500036B2 (en) * | 2000-12-28 | 2009-03-03 | International Business Machines Corporation | Quad aware locking primitive |
US20030217054A1 (en) | 2002-04-15 | 2003-11-20 | Bachman George E. | Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with real-time data distribution |
US6922745B2 (en) * | 2002-05-02 | 2005-07-26 | Intel Corporation | Method and apparatus for handling locks |
GB2388929B (en) * | 2002-05-23 | 2005-05-18 | Advanced Risc Mach Ltd | Handling of a multi-access instruction in a data processing apparatus |
US20040044881A1 (en) * | 2002-08-28 | 2004-03-04 | Sun Microsystems, Inc. | Method and system for early speculative store-load bypass |
US20040123078A1 (en) * | 2002-12-24 | 2004-06-24 | Hum Herbert H | Method and apparatus for processing a load-lock instruction using a scoreboard mechanism |
US7761923B2 (en) | 2004-03-01 | 2010-07-20 | Invensys Systems, Inc. | Process control methods and apparatus for intrusion detection, protection and network hardening |
US7512813B2 (en) * | 2004-05-28 | 2009-03-31 | International Business Machines Corporation | Method for system level protection of field programmable logic devices |
US7921250B2 (en) * | 2004-07-29 | 2011-04-05 | International Business Machines Corporation | Method to switch the lock-bits combination used to lock a page table entry upon receiving system reset exceptions |
JP4852427B2 (ja) * | 2004-11-26 | 2012-01-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサシステム及びそれにおける排他制御方法 |
JP4576323B2 (ja) * | 2004-12-10 | 2010-11-04 | 富士通株式会社 | データ転送装置およびデータ転送方法 |
JP4649257B2 (ja) * | 2005-04-04 | 2011-03-09 | キヤノン株式会社 | マルチcpuシステム |
JP2007058493A (ja) * | 2005-08-24 | 2007-03-08 | Internatl Business Mach Corp <Ibm> | マルチプロセッサシステム及びそれにおける排他制御方法 |
WO2007123753A2 (en) | 2006-03-30 | 2007-11-01 | Invensys Systems, Inc. | Digital data processing apparatus and methods for improving plant performance |
US9032100B2 (en) * | 2008-04-03 | 2015-05-12 | International Business Machines Corporation | I/O hub-supported atomic I/O operations |
RU2495476C2 (ru) | 2008-06-20 | 2013-10-10 | Инвенсис Системз, Инк. | Системы и способы для иммерсивного взаимодействия с действительными и/или имитируемыми техническими средствами для управления технологическим процессом, контроля состояния окружающей среды и производственного контроля |
US8463964B2 (en) | 2009-05-29 | 2013-06-11 | Invensys Systems, Inc. | Methods and apparatus for control configuration with enhanced change-tracking |
US8127060B2 (en) | 2009-05-29 | 2012-02-28 | Invensys Systems, Inc | Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware |
US8788794B2 (en) | 2010-12-07 | 2014-07-22 | Advanced Micro Devices, Inc. | Programmable atomic memory using stored atomic procedures |
US8793471B2 (en) | 2010-12-07 | 2014-07-29 | Advanced Micro Devices, Inc. | Atomic program verification |
US9122476B2 (en) | 2010-12-07 | 2015-09-01 | Advanced Micro Devices, Inc. | Programmable atomic memory using hardware validation agent |
US20140189265A1 (en) * | 2012-12-31 | 2014-07-03 | Advanced Micro Devices, Inc. | Atomic time counter synchronization |
US10521351B2 (en) | 2017-01-12 | 2019-12-31 | International Business Machines Corporation | Temporarily suppressing processing of a restrained storage operand request |
KR20200036461A (ko) * | 2018-09-28 | 2020-04-07 | 삼성전자주식회사 | 메모리 디바이스들 사이의 직접 통신을 위한 메모리 시스템 및 메모리 디바이스 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4000485A (en) * | 1975-06-30 | 1976-12-28 | Honeywell Information Systems, Inc. | Data processing system providing locked operation of shared resources |
US4245299A (en) * | 1978-01-05 | 1981-01-13 | Honeywell Information Systems Inc. | System providing adaptive response in information requesting unit |
US4402046A (en) * | 1978-12-21 | 1983-08-30 | Intel Corporation | Interprocessor communication system |
JPS55134470A (en) * | 1979-03-12 | 1980-10-20 | Digital Equipment Corp | Data processing system |
US4488217A (en) * | 1979-03-12 | 1984-12-11 | Digital Equipment Corporation | Data processing system with lock-unlock instruction facility |
US4574350A (en) * | 1982-05-19 | 1986-03-04 | At&T Bell Laboratories | Shared resource locking apparatus |
US4587609A (en) * | 1983-07-01 | 1986-05-06 | Honeywell Information Systems Inc. | Lockout operation among asynchronous accessers of a shared computer system resource |
US4847754A (en) * | 1985-10-15 | 1989-07-11 | International Business Machines Corporation | Extended atomic operations |
JPS62197858A (ja) * | 1986-02-26 | 1987-09-01 | Hitachi Ltd | システム間デ−タベ−ス共用方式 |
-
1988
- 1988-10-25 US US07/262,495 patent/US5175829A/en not_active Expired - Lifetime
-
1989
- 1989-10-25 JP JP1278318A patent/JP3054775B2/ja not_active Expired - Fee Related
- 1989-10-25 EP EP19890310980 patent/EP0366432A3/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020514856A (ja) * | 2017-01-12 | 2020-05-21 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | コンピューティング環境内の処理を容易にするためのコンピュータ・プログラム、コンピュータ・システムおよびコンピュータ実装方法 |
Also Published As
Publication number | Publication date |
---|---|
US5175829A (en) | 1992-12-29 |
EP0366432A3 (en) | 1991-08-21 |
JP3054775B2 (ja) | 2000-06-19 |
EP0366432A2 (en) | 1990-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH02224054A (ja) | コンピュータシステム、および多重プロセッサシステム最小単位動作の実行方法 | |
TWI285332B (en) | Operating method, processor, multiple-processor system, and machine-readable medium for performing compare and exchange instruction using sleep-wakeup mechanism | |
JP2500101B2 (ja) | 共用変数の値を更新する方法 | |
US7114042B2 (en) | Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment | |
TW498281B (en) | Interface system and method for asynchronously updating a shared resource | |
US6226717B1 (en) | System and method for exclusive access to shared storage | |
US7395383B2 (en) | Realtime-safe read copy update with per-processor read/write locks | |
US9626187B2 (en) | Transactional memory system supporting unbroken suspended execution | |
US20080082532A1 (en) | Using Counter-Flip Acknowledge And Memory-Barrier Shoot-Down To Simplify Implementation of Read-Copy Update In Realtime Systems | |
KR100976280B1 (ko) | 하드웨어 지원을 갖는 다중 프로세서 및 다중 스레드 안전 메시지 큐 | |
EP0887730B1 (en) | Method for providing exclusive access to a resource in a multiprocessor computer system | |
JPH06161789A (ja) | コンピュータ・システムにおける共用資源のプロセス内ロッキング方法および装置 | |
JP2008518337A (ja) | 多数のプロセッサをグレースフルに処理するアトミック命令なしリード・コピー・アップデートの猶予時間検出 | |
JP2011515000A (ja) | 効率的な決定論的マルチプロセッシング(deterministicmultiprocessing) | |
JPH0786839B2 (ja) | マルチタスク式データ処理システム | |
US9411661B2 (en) | Deadlock avoidance | |
US20150186178A1 (en) | Processor With Transactional Capability and Logging Circuitry To Report Transactional Operations | |
JPH03212755A (ja) | マルチプロセッサ・システムおよび割り込み方法 | |
US20090307442A1 (en) | Memory Access Control | |
CN109690489A (zh) | 锁定后指令的推测性引退 | |
JPH0926888A (ja) | 排他制御装置 | |
JP6637450B2 (ja) | トランザクションにおけるレジスタの動的なセーブ | |
JP2010044699A (ja) | 情報処理装置 | |
CN118260051A (zh) | 线程访问控制设备、方法与计算设备 | |
JP3764282B2 (ja) | プログラム制御システムの制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090414 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |