JP2844679B2 - アクセス制御方法及び情報処理装置 - Google Patents

アクセス制御方法及び情報処理装置

Info

Publication number
JP2844679B2
JP2844679B2 JP1154939A JP15493989A JP2844679B2 JP 2844679 B2 JP2844679 B2 JP 2844679B2 JP 1154939 A JP1154939 A JP 1154939A JP 15493989 A JP15493989 A JP 15493989A JP 2844679 B2 JP2844679 B2 JP 2844679B2
Authority
JP
Japan
Prior art keywords
data
central processing
mcu
lock
req
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 - Fee Related
Application number
JP1154939A
Other languages
English (en)
Other versions
JPH0319049A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1154939A priority Critical patent/JP2844679B2/ja
Publication of JPH0319049A publication Critical patent/JPH0319049A/ja
Application granted granted Critical
Publication of JP2844679B2 publication Critical patent/JP2844679B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔概要〕 主記憶装置の一部のデータの写しを保持する緩衝記憶
装置を中央処理装置内に具備し、且つ、前記中央処理装
置を複数個有し、自中央処理装置が、他中央処理装置の
主記憶装置のある領域からのデータの取り出し及び格納
を禁止し、自中央処理装置が前記領域のデータにアクセ
スする情報処理装置に関し、 前記ロックアクセスを高速に行うことを目的とし、 自中央処理装置が、主記憶装置を制御する主記憶制御
部に対して、前記領域の他中央処理装置のアクセスを禁
止する指示を行い、前記領域のアドレスが、自中央処理
装置内の緩衝記憶装置に登録されていれば、前記指示を
行う以前の他中央処理装置の主記憶装置への格納により
主記憶装置と自中央処理装置内の緩衝記憶装置の前記領
域の内容の不一致が生じないことを確認できた時に、前
記緩衝記憶装置に前記データのアクセスを行う構成とす
る。
〔産業上の利用分野〕
複数の中央処理装置(以下、CPUと称す)を備える情
報処理装置に於いて、自CPUが主記憶装置(以下、MSUと
称す)のある領域の他CPUからの取り出し、又は格納を
ある一定期間禁止し、その間に該領域のデータを自CPU
が取り出す操作は、CPU間の排他制御の為に、しばしば
行われている。この操作をロックアクセスと呼ぶ。本発
明は前記ロックアクセスに関するものである。
〔従来の技術〕
前記ロックアクセスは、通常「TEST AND SET(テスト
アンドセット)命令」,「COMPARE AND SWAP(コンペア
アンドスワップ)命令」と一般に言われている命令で行
われている。
さて、近年のCPUは、殆どのものがMSUのデータを保持
する緩衝記憶装置、所謂キャッシュメモリ,ローカルバ
ッファストレージを保持している。
しかし、ロックアクセスの場合は、必ず最新のMSUの
データが必要とされるため、ロックしたい領域のデータ
がキャッシュにある場合でも、常にMSUからデータをと
っていた。
従来のロックアクセスの概略を説明する。
(1) CPU#0はロックすべきアドレスのデータがキ
ャッシュに有り無しに係わらず、主記憶制御装置(以
下、MCUと称す)に対して、前記アドレスのCPU#0から
の取り出し要求を送出する。
(2) 前記要求を受け取ったMCUはロックすべきアド
レスがCPU#1によりロック中で無ければ、CPU#1によ
りロックを設定する。ロックすべきアドレスがCPU#1
によりロック中であれば、そのロックが解除されるまで
待たされる。ロックを設定した後、該アドレスのデータ
の取り出しをMSUに要求する。
(3) 前記要求を受け取ったMSUは、前記アドレスの
データの取り出し、MCU経由でのCPU#0に送る。
(4) 該データを受け取ったCPU#0は、必要の処理
を行った後、ロック解除の要求をMCUに出して、MCUはロ
ック解除を行う。
以下、図面を参照して詳しく説明する。
第14図は、従来のマルチプロセッサシステムで構成さ
れる情報処理装置の構成図で、図中、10はCPU#0、11
はCPU#1、101は命令実行部(以下、IUと称す)、102
は緩衝記憶制御部(以下、SUと称す)、20はMCU、30はM
SUである。CPU#1はCPU#0と同様の構成である。第15
図はSUのIUリクエスト制御部、第16図はSUのプライオリ
ティ制御部、第17図はSUのキャッシュ制御部、第18図は
SUのMCUリクエスト制御部、第19図はMCUポート制御部、
第20図はMCUのリクエスト制御部、第8図はMCUのプライ
オリティ制御部、第10図はMCUムーブイン制御部であ
る。第13図は従来例を説明する為のタイムチャート図で
ある。タイムチャートの図の○で表される数字はτの動
作を示す。以下、,,・・・で1τ毎の動作を示
す。
以下、図面を参照して、動作例を説明する。
ロックアクセス時に、IU101(第14図)は、A−FC
−REQとA−LOCKを同時にオンし、A−FC−ST−ADRSで
アドレスを、SU102に指定する。IU101からSU102への信
号で、A−FC−REQはフェッチ要求,A−ST−REQはストア
要求,A−LOCKはロック獲得要求、A−FC−ST−REQは上
記それぞれの要求のアドレス,A−ST−DATAはストア要求
のストアデータを表す。
IU101からの各要求をSU102が完了するとSTV信号をIU1
01に送り、該各要求がフェッチであった場合は、同時に
FC−DATAでフェッチデータをIU101に送る。またSU102
は、MCU20においてストア要求が完了していない場合
は、IU101にBUSY信号を送る。IU101は一つの要求をSU10
2に送ると、SUS102からSTV信号が送られてきて、且つBU
SY信号がオフになってからIU101は次の要求をSU102へ送
ることが出来る。
さて、前記A−FC−REQ,A−LOCK,A−FC−ST−ADRSは
それぞれ、SU102のIUリクエスト制御部(第15図)に入
力される。
1τ後、前記SU102のセットリセットラッチ31に前
記A−FC−REQによって、B−FC−REQがセットされる。
前記A−LOCK,A−FC−ST−ADRSも各々セットリセットラ
ッチ34,33にセットされ、B−LOCK,B−FC−ST−ADRSが
出力される。
前記B−FC−REQは、SU102のプライオリティ制御部
(第16図)に送られ、優先権がとれると、プライオリテ
ィ回路45からB−FC−GO信号が出力される。前記B−FC
−GOによって、SU102のプライオリティ制御部(第16
図)では、セレクタ47によって、B−FC−ST−ADRSが選
択され、B−CACHE−ADRSとして出力される。
前記B−FC−REQ,B−LOCK,B−FC−ST−ADRS,B−FC−G
O,B−CACHE−ADRSはそれぞれ、SU102のキャッシュ制御
部(第17図)に入力する。
1τ後、B−FG−GOはレジスタ57にセットされ、C
−FCとして出力される。又、B−LOCKはレジスタ59にC
−LOCKとしてセットされる。
更に、前記C−FC,C−LOCKは、SU102のMCUリクエスト
制御部(第18図)に送られ、&回路66からC−FC−LOCK
が出力される。又、B−FC−ST−ADRSは、レジスタ63に
セットされ、C−FC−ST−ADRSが出力される。
MCUリクエスト制御部(第18図)のレジスタ601から
MCU−REQが出力される。前記MCU−REQは、前記C−FC−
LOCKがオア回路68を経て出力される。又、MCU−REQ−CO
DEがレジスタ603が出力される。前記MCU−REQ−CODE
は、前記C−FC−LOCKがエンコーダ69でエンコードされ
て、レジスタ603にMCU20にリクエストする際のコードで
あるMCU−REQ−CODEをセットし、レジスタ603から出力
されるものである。前記MCU−REQ−CODEはロック獲得と
MSU30からのデータの要求を示している。
又、MCU−REQ−ADRSがレジスタ604から出力される。
前記MCU−REQ−ADRSは、前記C−FC−ST−ADRSがレジス
タ604にセットされて出力されるものである。前記MCU−
REQ,MCU−REQ−CODE,MCU−REQ−ADRSはMCUポート制御部
(第19図)に出力される。
CPU#0からロック獲得要求を受けたMCUは、PORT0
−REQ,PORT0−REQ−CODEをレジスタ71,レジスタ72,レジ
スタ73から出力される。前記信号はそれぞれ、MCU−REQ
#0,MCU−REQ−CODE#0,MCU−REQ−ADRS#0が、MCUポ
ート制御部(第19図)に入力することで行われる。
前記PORT0−REQ−CODEはデコーダ75でデコードされ、
FC−LOCKをアンド回路77に出力する。
MCUプライオリティ回路(第8図)では、CPU#1のロ
ックアドレスと同じアドレスのフエッチ,ストア,ロッ
クを行おうとすると、比較回路81と、&回路83により、
PORT−LOCK−MCH信号が出力され、優先権は得られな
い。優先権は,PORT#1−LOCK−VALがオフになれば、PO
RT0−GOがMCUプライオリティ回路85から出力されること
によって得られる。
前記PORT0−GOがMCUプライオリティ回路(第8図)
からMCUポート制御部(第19図)のアンド回路77に入力
され、レジスタ79から、PORT0−LOCK−VALとPORT0−LOC
K−ADRSがオンになり、PORT0−LOCK−ADRSで示されるア
ドレスがロック中であることが示される。
MCUリクエスト制御部(第20図)に、前記PORT0−GO
信号が入力され、レジスタ906から、MSU−REQが出力さ
れ、又、セレクタ92により、PORT0−REQ−ADRSが選択さ
れ、レジスタ913からMSU−REQ−ADRSがセットされ、MSU
にMSU−REQ−ADRSで示されるアドレスにアクセスするこ
とを要求する。
MSU30は前記アドレスにアクセスし、データを読み
だす。
MSU30は、MCU20のMCUムーブイン制御部(第10図)
に、MCU−MI−REQ,MCU−MI−CPU−NO,MCU−MI−ADRS,MC
U−MI−DATAを出力する。MCU−MI−REQは、ムーブイン
要求を示し、MCU−MI−CPU−NOは、ムーブインするCPU
を表す。ここではオフでCPU#0を、オンでCPU#1を示
す。MCU−MI−ADRSはムーブインするアドレスである。M
CU−MI−DATAはムーブインするデータである。
CPU−MI−REQ#0,CPU−MI−REQ−ADRS#0,CPU−MI
−REQ−DATA#0が、レジスタ118,120,122から出力され
る。
前記CPU−MI−REQ#0,CPU−MI−REQ−ADRS#0,CPU
−MI−REQ−DATA#0がそれぞれ、SU102のプライオリテ
ィ制御部(第16図)のレジスタ41,レジスタ42,レジスタ
43に入力し、B−MI−REQ,B−MI−ADRS,B−MI−DATAと
して出力される。プライオリテイ回路45でプライオリテ
イがとれると、B−MI−GOが出力される。前記B−MI−
GOはセレクタ47に入力され、B−CACHE−ADRSとしてB
−MI−ADRSが選択される。
又、SU102のキャッシュ制御部(第17図)のセレクタ5
3では、B−MI−GOによって前記B−MI−DATAが選択さ
れる。
キャッシュ54には、B−MI−GO,B−MI−ADRS,B−CACH
E−ADRSが入力し、データがムーブインする。
レジスタ55,56には、B−MI−DATA及びB−MI−GOが
入力する。
前記レジスタ55,56から、C−MI−DATA,C−MIが出
力される。前記C−MIによって、セレクタ501でC−MI
−DATAが選択され、レジスタ502にセットされる。
C−MIはオア回路504,レジスタ505を経て、STVを出
力する。又、レジスタ502からはMSU30から読み取ったデ
ータである所のFC−DATAをIU101に送り、一連のロック
アクセスが終了する。
〔発明が解決しようとする課題〕
以上、説明した様に、ロックアクセスの場合は、ロッ
クすべきデータがキャッシュにある場合でも、必ずMSU
からデータを取り出していた。それは、ロックを制御し
ているのはMCUであり、又、ロックすべきデータがキャ
ッシュにあるかどうかは、アドレスがキャッシュでヒッ
トしたかどうかで判断できるが、MCUがいつロックした
かをCPUが知る手段が無いため、仮に、キャッシュでヒ
ットしても、前記データを読みだすタイミングが判らな
いからである。
従って、必ずMCUでロックした後に、MSUからデータを
読み取り、CPUに前記データを転送していた。
然し、MSUはキャッシュに比較して、アクセス時間が
かなり遅い。通常の情報処理装置では、数十τかかるた
め、処理速度の低下は否めない。
よって、本発明の目的とする所は、上記課題を悉く解
決する手段を提供し、情報処理装置のロックアクセス時
の処理速度を低下させないことを目的とする。
〔課題を解決する為の手段〕
第1図は本発明の原理説明図である。図中、10,11はC
PU,101はIU,54は緩衝記憶装置,所謂キャッシュメモリ,
3はロックアクセスアドレス保持手段、201はCPU10がMCU
20に対してロックアクセスを指示して、他CPU10からのM
SU30のある領域のデータ格納の禁止を行ったら、データ
格納禁止が指示されたことを伝える禁止報告手段であ
る。SUは540はSU制御部である。
複数のCPU10,11がMSU30を共用して使用し且つ、前記C
PU10,11がMSU30の一部のデータの写しを保持し、送出さ
れてきたアドレスにデータ格納又は前記アドレスからデ
ータの読み出しを行う緩衝記憶装置54をCPU10,11内に具
備し、自CPU10が他CPU11のMSU30のある領域からのデー
タの取り出し及び格納を一定期間禁止するロックアクセ
スをMCU20に指示する情報処理装置に関し、CPU10がMCU2
0に対して、ロックアクセスを指示して、他CPU11からの
MSU30のある領域のデータ格納の禁止を行ったら、デー
タ格納禁止が指示されたことを伝える禁止報告手段201
と、自CPU10内に位置し、前記一定期間内に前記領域の
データが、自CPU10内の緩衝記憶装置54に登録されてい
れば、前記ロックアクセスを行うアドレスを保持し、前
記禁止報告手段201により報告があったら、前記保持し
ているアドレスのデータを緩衝記憶装置54に送出するこ
とロックアクセスアドレス保持手段3を有する構成とす
る。
〔作用〕
ロックアクセスするアドレスのデータが緩衝記憶装置
54にあれば、前記アドレスをロックアドレス保持手段3
に保持する。その後、MCU20で前記アドレスがロックさ
れたら、禁止報告手段201は前記ロックアドレス保持手
段3に報告する。前記ロックアドレス保持手段3は保持
しているアドレスを緩衝記憶装置54に送出し、前記デー
タがあれば、アクセスされる。従って、MSU30から読み
だすより高速に、ロックアクセス時のアクセスが高速に
行える。
〔実施例〕
ロックすべきデータは、一般的にロックする命令の以
前の命令により取り出されている場合が多い。又、前記
データは、その近辺で、他CPUに書き換えられている場
合は非常に少ない。この点に注目し、本発明ではロック
すべきデータがキャッシュにある場合に、MCUにロック
要求のみ送出し、キャッシュにある該データをMSUにあ
る前記データに相当するデータ同一であることの確認を
取った後に、キャッシュの該データを使用することによ
り、ロックアクセスの高速化をはかる。第2図は、本発
明の一実施例のブロック図である。番号は、従来例と同
様である。第3図はSUのIUリクエスト制御部、第4図は
SUのプライオリテイ制御部、第5図はSUのキャッシュ制
御部、第6図はSUのMCUリクエスト制御部、第7図はMCU
のポート制御部、第8図はMCUのプライオリテイ制御
部、第9図はMCUのリクエスト制御部、第10図はMCUのム
ーブイン制御部、第11図,第12図,第13図は実施例の動
作を説明するタイムチャート図である。
実施例に於けるロックアクセスの概略をまず説明す
る。
(1) CPUはロックすべきアクセスでキャッシュを引
き、キャッシュに無い場合は、従来の技術と同じように
動作する。キャッシュにある場合は、MCU20に対して、
前記アドレスのデータを他のCPU#0からアクセスを禁
止するロック要求をMCUに出力する。
(2) 前記要求を受け取ったMCU20は、ロックすべき
アドレスがCPU#1によりロック中でなければ、CPU#0
によるロックを設定する。ロックすべき同じアドレスが
CPU#1によりロック中であれば、そのロックが解除さ
れるまで待たされる。
(3) MCUは、各CPU内のキャッシュとMSUの内容の不
一致を防ぐ為に、ある一つのCPUからのストア要求のプ
ライオリテイを取ったら、前記CPU以外の全てのCPUに、
各CPU内のキャッシュに前記アドレスのデータがあれ
ば、それらを無効化する要求(以下、BI要求と称す)を
送出する。本実施例の場合は、上記動作以外に、前記CP
Uによるロックを設定したら、そのロックを設定する以
前にプライオリテイを取られた他CPUのストア要求のBI
要求の後に、ロックが設定されたという確認信号を、前
記BI要求をCPUに送出するバスを用いて前記CPUに送出す
る。
(4) CPUは、前述したMCUから送られてくるBI要求を
BI−スタックにスタッキングし、MCUから送られてきた
順番に従い、キャッシュにBI要求のアドレスのデータが
あるかないか調べ、あった場合は無効化を行う。
本実施例では、MCUからのロック確認信号以前に送ら
れてきた全てのBI要求を処理した後に、再度、前記ロッ
クアクセスのアドレスでキャッシュを引き、未だキャッ
シュ上に前記アドレスがあれば、そのデータは、MSUの
内容と同じであることが保証される為、そのデータをロ
ックの結果として得られる。
(5) (4)でキャッシュ上に前記アドレスのデータ
が無い場合は、ロックを設定する前に、他のCPUにより
前記アドレスのデータが書き換えられて、MCUより前記
アドレスのBI要求が送出されて、CPUのキャッシュが無
効化された場合である。この場合は、MCUでロックは獲
得されているので、前記CPUは前記アドレスの取り出し
要求をMCUへ送出し、MCUはMSUへ取り出し要求を伝え、M
SUからのデータがMCUを経由してCPUへ送られ、前記CPU
に於いて前記アドレスのデータが得られる。
(6) 前記データが得られたCPUは必要な処理を行っ
た後、ロック解除の要求をMCUへ送出し、MCUはロックの
解除を行う。
以上、概略を説明した。以下、図面に従って、本発明
の一実施例を詳細に説明する。
第2図で示すように、本実施例のマルチプロセッサシ
ステムはCPU2台、MCU1台、MSU1台から構成される。CPU
#0,CPU#1はIU101とSU102から構成される。
IU101は命令の実行に際して、必要な命令フェッチデ
ータ、オペランドデータをSU102に要求する。IU101から
SU102への信号で、A−FC−REQはロック獲得要求、A−
FC−ST−REQは上記夫々の要求のアドレス,A−ST−DATA
はストア要求のストアデータを表す。IU101からの各要
求をSU102が処理が完了するとSTV信号をIU101に送り、
前記要求がフェッチであった場合は、同時にFC−DATAで
フェッチデータをIU101に送る。又SU102はMCU20に於い
て、ストア要求が完了していない場合は、IU101にBUSY
信号を送る。IU101は一つの要求をSU102に送ると、SU10
2からSTV信号が送られてきて、且つBUSY信号がオフにな
ってから、IU101は次の要求をSU102へ送ることが出来
る。
〔1〕ロックすべきデータがキャッシュにあり、ロック
獲得後、無効化されていない場合の動作を説明する。前
記無効化とは、他のBI命令により、ロックする迄に、キ
ャッシュ内のデータが無効化されてしまうことを言う。
(第11図タイムチャート) IU101から、前記A−FC−REQ,A−LOCK(ロック要求で
あることを示す),A−FC−ST−ADRS(アドレスを示す)
がSU102に出力される。
前記A−FC−REQ,A−LOCK,A−FC−ST−ADRSは、SU102
のIUリクエスト制御部(第3図)に出力される。
(第11図タイムチャート) SU101のIUリクエスト制御部のセットリセットラッチ3
1に、オア回路36を通じて、前記A−FC−REQがセットさ
れ、B−FC−REQが出力される。
またアンド回路304(第3図のIUリクエスト制御部)
にA−FC−REQ,A−LOCKが入力され、セットリセットラ
ッチ34からB−LOCKが出力される。
又、セレクタ39を会して、セットリセットラッチ33に
A−FC−ST−ADRSがセットされ、B−FC−ST−ADRSが出
力される。前記セットはA−FC−REQによってなされ
る。
更に、SU102のプライオリテイ制御部(第4図)のプ
ライオリテイ回路45にB−FC−REQが入力され、プライ
オリテイがとれるとB−FC−GOが出力される。プライオ
リテイ45は、キャッシュに対する複数の要求からある決
められた優先順位に従い1つの要求の処理を許可するも
のてある。
キャッシュに対する複数の要求は、この例では、キャ
ッシュへのMSUからのデータの書き込み(ムーブイン)
のB−MI−REQ、キャッシュへの無効化要求のB−BI−R
EQ、命令のストアによるキャッシュの書き込みのB−ST
−REQ、キャッシュからの読み出しのB−FC−REQの四つ
の要求がある。
前記のB−FC−GO信号により、セレクタ47では、B−
CACHE−ADRSとしてB−FC−ST−ADRSが選択される。
又、B−FC−GOにより、SU102のIUリクエスト制御部
(第3図)のセットリセットラッチ31,34にセットされ
ているB−FC−REQ,B−LOCKがリセットされる。
SU102のキャッシュ制御部(第5図)では、B−FC
−GO、B−CACHE−ADRSによりキャッシュをアクセスす
る。
キャッシュがヒットすれば、キャッシュ54からC−CA
CHE−HITが出力される。又、レジスタ57よりB−FC−GO
によりC−FC、レジスタ59よりB−LOCKにより、C−LO
CKが出力される。しかし、C−LOCKがオンである為、キ
ャッシュ制御部(第5図)のレジスタ505からSTVがオン
されることは無い。
一方、前記C−FC、C−CACHE−HIT、C−LOCKはSU10
2のMSUリクエスト制御部(第6図)に入力し、アンド回
路67からC−GET−LOCKが出力される。
前記C−FC−ST−ADRSはSU102のIUリクエスト制御
部(第3図)のレジスタ303に、C−GET−LOCKにより、
A−FC−ST−ADRS2として保持される。又、レジスタ301
により、C−GET−LOCKがA−FC−REQ2としてセットさ
れる。
SU102のMSUリクエスト制御部(第6図)では、C−GE
T−LOCKがエンコーダ69により、エンコードされ、レジ
スタ603に、その要求種類を表すMCU−REQ−CODEがロッ
ク獲得のみ(GET−LOCK)のコードを示す。又、レジス
タ604のMCU−REQ−ADRSでMCUへの要求アドレスを示す。
CPU#1からのロック獲得要求MCU−REQ,MCU−REQ−
CODE,MCU−REQ−ADRSは、MCU20のポート制御部(第7
図)に送られ、セットリセットラッチ71,72,73にそれぞ
れPORT0−REQ,PORT0−REQ−CODE(GET−LOCK),PORT0−
REQ−ADRSとしてセットされる。前記PORT0−REQ−CODE
はデコーダ75により、GET−LOCK信号としてデコードさ
れる。前記信号はオア回路76に入力される。
PORT0−GO信号がアンド回路77(第7図)に入力さ
れ、セットリセットラッチ74にPORT0−LOCK−VALがオン
になる。そのアドレスがPORT0−LOCK−ADRS(セットリ
セットラッチ704)に保持される。
この時、MCUプライオリテイ回路85(第8図MCUプライ
オリテイ制御部)CPU#1のロックアドレスと同じアド
レスのフエッチ,ストア,ロックを行おうとすると、比
較器81により、PORT1−LOCK−MCH信号がオンであるので
PORT1−GOはオンに成らない。PORT1−GOはPORT0−LOCK
−VALがオフになる迄待たされる。前記MCUプライオリテ
イ制御部(第8図)の動作は、従来の技術と同様であ
る。
一方、MCU20のリクエスト制御部(第9図)では、前
記PORT0−REQ−CODE(GET−LOCK)とPORT0−GOによっ
て、セレクタ91とデコーダ94によりGET−LOCK信号か出
力され、CPU−BI−REQ#0,CPU−BI−TAG#0が、レジス
タ910,レジスタ911から夫々出力される。従って、CPU#
0にロックが獲得出来たことが知らせられる。
MCU20からのBI要求は、CPU#1内のBIスタック44
(第4図,SUのプライオリテイ制御部)にスタッキング
されている。
このBIスタック44は、複数のBI要求をスタッキング出
来、1つ以上スタッキングされている時に、キャッシュ
へのBI要求をプライオリテイ回路45に伝えるB−BI−RE
Qをオンにする。更に、スタックされているBI要求の内
一番古い要求のBI−TAGの値とBI−ADRSの値をそれぞれ
B−BI−TAG、B−BI−ADRSに出力する。BIのプライオ
リテイが取れたことを示すB−BI−GOがオンになると、
次のサイクルでは、その次に古いBI要求の値を出力する
様に動作する。ここでは、前記BIスタック44にスタック
されていたBIリクエストの処理を行う。
BIスタック44にスタッキングされていたロック獲得
前のBI要求を処理した後、B−BI−REQとB−BI−TAGが
同時にオンになり、プライオリテイ回路45に入力され、
プライオリテイ回路45でプライオリテイがとれると(取
れたとする)B−BI−GOがオンになる。
前記B−BI−GOとB−BI−TAGはレジスタ46,48でC
−BIとC−BI−TAGがオンになる。
前記C−BIとC−BI−TAGはSU102のIUリクエスト制
御部(第3図)のアンド回路302に入力され、セットリ
セットラッチ301に保持されているA−FC−REQ2をアン
ド回路38を介し、オア回路36を通じ、セットリセットラ
ッチ31でB−FC−REQがオンになる。更に、セレクタ39
で、レジスタ303にセットされていたA−FC−ST−ADRS2
が前記アンド回路302により選択されて、レジスタ33に
よって、B−FC−ST−ADRSに再びセットされる。即ち、
でヒットした時のキャッシュアドレスで再びキャッシ
ュを引く。
一方、SU102のプライオリテイ制御部(第4図)で
は、前記B−FC−REQとB−FC−ST−ADRSが入力し、前
記B−FC−REQは、プライオリテイ回路45に入力され、
B−FC−GOが出力され、B−FC−ST−ADRSが、B−CACH
E−ADRSとして選択される。
前記B−CACHE−ADRSは、SU102キャッシュ制御部
(第5図)のキャッシュ54に入力され、前記B−CACHE
−ADRSで示されるアドレスのデータがあれば、C−CACH
E−HIT信号が出力され、データとしてC−CACHE−DATA
がでる。又、前記B−FC−GO信号が、レジスタ57にセッ
トされ、C−FCとして出力される。
前記C−CACHE−HITとC−FCは、アンド回路503に
入力され、C−LOCKは出力されていないので、レジスタ
505からSTVが出力される。又、前記C−CACHE−DATA
が、セレクタ501により選択されて、レジスタ502からFC
−DATAとして、IU101に送られて、一連のロック・アク
セス処理が完了する。
〔2〕次に、ロックすべきデータがキャッシュにあった
もののロック獲得語、BIされていまっていたのでMSU30
からムーブインする場合を説明する。〔1〕とまで動
作は同じである。ロック獲得前のBI要求を処理した後、
ロックアクセスのアドレスでキャッシュに際フェッチし
た時に、キャッシュにヒットせずC−CACHE−HITがオフ
であることから異なる。
以下、第12図タイムチャートを用いて説明する。
前記B−CACHE−ADRSは、SU102キャッシュ制御部
(第5図)のキャッシュ54に入力され、前記B−CACHE
−ADRSで示されるアドレスのデータが無く、C−CACHE
−HITがオフとなる。前記B−FC−GO信号が、レジスタ5
7にセットされ、C−FCとして出力される。SU102のMCU
リクエスト制御部(第9図)では、C−FCがアンド回路
65に入力され、C−CHCHE−HIT、C−LOCKがオフである
ので、C−FC−ONLYがオンとなる。又,SUのIUリクエス
ト制御部(第3図)のレジスタ33にセットされているB
−FC−ST−ADRSが、SU102のMCUリクエスト制御部(第6
図)のレジスタ63にセットされて、C−FC−ST−ADRSが
出力される。
MCUリクエスト制御部(第6図)のレジスタ601から、
MCU−REQが出力される。前記MCU−REQは、前記C−FC−
ONLYがオア回路68を経て出力される。又、MCU−REQ−CO
DEがレジスタ603が出力される。前記MCU−REQ−CODE
は、前記C−FC−ONLYがエンコーダ69でエンコードされ
て、レジスタ603にMCU20にリクエストする際のコードで
あるMCU−REQ−CODEをセットし、レジスタ603から出力
されるものである。前記MCU−REQ−CODEはMSU30からの
データの要求を示している。
又、MCU−REQ−ADRSがレジスタ604から出力される。
前記MCU−REQ−ADRSは、前記C−FC−ST−ADRSがレジス
タ604にセットされて出力されるものである。前記MCU−
REQ,MCU−REQ−CODE,MCU−REQ−ADRSは、MCUポート制御
部(第7図)に出力される。
CPU#0からロック獲得要求を受けたMCU20は、PORT
0−REQ,PORT0−REQ−CODEをレジスタ71,レジスタ72,レ
ジスタ73から出力される。前記信号はそれぞれ、MCU−R
EQ#0,MCU−REQ−CODE#0,MCU−REQ−ADRS#0が、MCU
ポート制御部(第7図)に入力することで行われる。
MCUプライオリティ回路(第8図)では、CPU#1のロ
ックアドレスと同じアドレスのフエッチ,ストア,ロッ
クを行おうとすると、比較回路81と、アンド回路83によ
り、PORT0−LOCK−MCH信号が出力され、優先権は得られ
ない。優先権は,PORT#1−LOCK−VALがオフになれば、
PORT0−GOがMCUプライオリティ回路85から出力されるこ
とによって得られる。
MCUリクエスト制御部(第9図)に、前記PORT0−GOと
PORT0−REQ−CODEが入力されると、レジスタ906から、M
SU−REQが出力され、レジスタ907のMSU−REQ−CODEがオ
フ(オフでフェッチ,オンでストアの意味),レジスタ
908のMSU−REQ−CPU−NOがオフ(オフの時はCPU#0の
要求,オンの時はCPU#1)になる。又、セレクタ92に
より、PORT−REQ−ADRSが選択され、レジスタ913にMSU
−REQ−ADRSがセットされ、MSU40にMSU−REQ−ADRSで示
されるアドレスにアクセスすることを要求する。
要求を受け取ったMSU30は、前記アドレスのデータ
を読み出した後、MCU20のMCUムーブイン制御部(第10
図)に、MCU−MI−REQ,MCU−MI−CPU,MCU−MI−ADRS,MC
U−MI−DATAを出力する。MCU−MI−REQは、ムーブイン
要求を示し、MCU−MI−CPU−NOは、ムーブインするCPU
を表す。ここではオフでCPU#0を、オンでCPU#1を示
す。MCU−MI−ADRSはムーブインするアドレスである。M
CU−MI−DATAはムーブインするデータである。
CPU−MI−REQ#0,CPU−MI−ADRS#0,CPU−MI−DATA
#0が、レジスタ118,120,122から出力される。
前記CPU−MI−REQ#0,CPU−MI−REQ−ADRS#0,CPU
−MI−REQ−DATA#0がそれぞれ、SU102のプライオリテ
ィ制御部(第4図)のレジスタ41,レジスタ42,レジスタ
43に入力し、B−MI−REQ,B−MI−ADRS,B−MI−DATAと
して出力される。プライオリテイ回路45でプライオリテ
イがとれると、B−MI−GOが出力される。前記B−MI−
GOはセレクタ47に入力され、B−CACHE−ADRSとしてB
−MI−ADRSが選択される。
又、SU102のキャッシュ制御部(第17図)のセレクタ5
3では、B−MI−GOによって前記B−MI−DATAが選択さ
れる。
キャッシュ54には、B−MI−GO,B−MI−ADRS,B−CACH
E−ADRSが入力し、データがムーブインする。
レジスタ55,56には、B−MI−DATA及びB−MI−GOが
入力する。
前記レジスタ55,56から、C−MI−DATA,C−MIが出
力される。前記C−MIによって、セレクタ501でC−MI
−DATAが選択され、レジスタ502にセットされる。
C−MIはオア回路504,レジスタ505を経て、STV信号
を出力する。又、レジスタからはMSU30から読み取った
データである所のFC−DATAをIU101に送り、一連のロッ
クアクセスが終了する。
〔3〕最後にロックすべきデータがキャッシュに無かっ
た場合の動作を説明する。
ロックアクセス時に、IU101(第2図)は、A−FC
−REQとA−LOCKを同時にオンし、A−FC−ST−ADRSで
アドレスを、SU102に指定する。IU101からSU102への信
号で、A−FC−REQはフェッチ要求,A−ST−REQはストア
要求,A−LOCKはロック獲得要求、A−FC−ST−REQは上
記それぞれの要求のアドレス,A−ST−DATAはストア要求
のストアデータを表す。
IU101からの各要求をSU102が完了するとSTV信号をIU1
01に送り、該各要求がフェッチであった場合は、同時に
FC−DATAでフェッチデータをIU101に送る。またSU102
は、MCUにおいてストア要求が完了していない場合は、I
U101にBUSY信号を送る。IU101は一つの要求をSU102に送
ると、SU102からSTV信号が送られてきて、且つBUSY信号
がオフになってからIUは次の要求をSUへ送ることが出来
る。
さて、前記A−FC−REQ,A−LOCK,A−FC−ST−ADRSは
それぞれ、SU102のIUリクエスト制御部(第3図)に入
力される。
1τ後、前記SU102のレジスタ31に前記A−FC−REQ
によって、B−FC−REQがセットされる。前記A−LOCK,
A−FC−ST−ADRSも各々レジスタ34,33にセットされ、B
−LOCK,B−FC−ST−ADRSが出力される。
前記B−FC−REQはSU102のプライオリティ制御部(第
4図)に送られ、優先権がとれると、プライオリティ回
路45からB−FC−GO信号が出力される。前記B−FC−GO
によって、プライオリティ制御部(第4図)では、セレ
クタ47によって、B−FC−ST−ADRSが選択され、B−CA
CHE−ADRSとして出力される。
前記B−FC−REQ,B−LOCK,B−FC−ST−ADRS,B−FC−G
O,B−CACHE−ADRSはそれぞれ、SU102のキャッシュ制御
部に入力する。
1τ後、B−FC−GOはレジスタ58にセットされ、C
−FCとして出力される。又、B−LOCKはレジスタ59にC
−LOCKとしてセットされる。
更に、前記C−FC,C−LOCKは、SU102のMCUリクエスト
制御部(第6図)に送られ、アンド回路66からC−FC−
LOCKが出力される。又、B−FC−ST−ADRSは、レジスタ
63にセットされ、C−FC−ST−ADRSが出力される。又、
キャッシュにヒットしなかった為C−CACHE−HITはオフ
になる。
MCUリクエスト制御部(第6図)のレジスタ601か
ら、MCU−REQが出力される。前記MCU−REQは、前記C−
FC−LOCKがオア回路68を経て出力される。又、MCU−REQ
−CODEがレジスタ603が出力される。前記MCU−REQ−COD
Eは、前記C−FC−LOCKがエンコーダ69でエンコードさ
れて、レジスタ603にMCU20にリクエストする際のコード
であるMCU−REQ−CODEをセットし、レジスタ603から出
力されるものである。前記MCU−REQ−CODEはロック獲得
とMSUからのデータの要求を示している。
又、MCU−REQ−ADRSがレジスタ604から出力される。
前記MCU−REQ−ADRSは、前記C−FC−ST−ADRSがレジス
タ604にセットされて出力されるものである。前記MCU−
REQ,MCU−REQ−CODE,MCU−REQ−ADRSはMCUポート制御部
(第7図)に出力される。
CPU#0からロック獲得要求を受けたMCU20は、PORT
0−REQ,PORT0−REQ−CODEをレジスタ71,レジスタ72,レ
ジスタ73から出力される。前記信号はそれぞれ、MCU−R
EQ#0,MCU−REQ−CODE#0,MCU−REQ−ADRS#0が、MCU
ポート制御部(第7図)に入力することで行われる。
前記PORT0−REQ−CODEはデコーダ75でデコードされ、
FC−LOCKをアンド回路77に出力する。
MCUプライオリティ回路(第8図)では、CPU#1のロ
ックアドレスと同じアドレスのフエッチ,ストア,ロッ
クを行おうとすると、比較回路81と、アンド回路83によ
り、PORPT0−LOCK−MCH信号が出力され、優先権は得ら
れない。優先権は,PORT#1−LOCK−VALがオフになれ
ば、PORT0−GOがMCUプライオリティ回路85から出力され
ることによって得られる。
前記PORT0−GOがMCUプライオリティ回路(第8図)
からMCUポート制御部(第7図)のアンド回路77に入力
され、レジスタ79から、PORT0−LOCK−VAL(ロック中で
あること)とPORT0−LOCK−ADRS(ロックされるアドレ
ス)がオンになり、PORT0−LOCK−ADRSで示されるアド
レスがロック中であることが示される。
MCUリクエスト制御部(第9図)に、前記PORT0−GO
信号が入力され、レジスタ906から、MSU−REQが出力さ
れ、又、セレクタ92により、PORT0−REQ−ADRSが選択さ
れ、レジスタ913からMSU−REQ−ADRSがセットされ、MSU
30にMSU−REQ−ADRSで示されるアドレスにアクセスする
ことを要求する。
MSU30は前記アドレスにアクセスし、データを読み
だす。
MSU30は、MCU20のMCUムーブイン制御部(第10図)
に、MCU−MI−REQ,MCU−MI−CPU−NO,MCU−MI−ADRS,MC
U−MI−DATAを出力する。MCU−MI−CPU−NOは、ムーブ
イン要求を示し、MCU−CPU−REQ−NOは、ムーブインす
るCPUを表す。ここではオフでCPU#0を、オンでCPU#
1を示す。MCU−MI−ADRSはムーブインするアドレスで
ある。MCU−MI−DATAはムーブインするデータである。
CPU−MI−REQ#0,CPU−MI−ADRS#0,CPU−MI−DATA
#0が、レジスタ118,120,122から出力される。
前記CPU−MI−REQ#0,CPU−MI−REQ−ADRS#0,CPU
−MI−REQ−DATA#0がそれぞれ、SU102のプライオリテ
ィ制御部(第4図)のレジスタ41,レジスタ42,レジスタ
43に入力し、B−MI−REQ,B−MI−ADRS,B−MI−DATAと
して出力される。プライオリテイ回路45でプライオリテ
イがとれると、B−MI−GOが出力される。前記B−MI−
GOはセレクタ47に入力され、B−CACHE−ADRSとしてB
−MI−ADRSが選択される。
又、SU102のキャッシュ制御部(第5図)のセレクタ5
3では、B−MI−GOによって前記B−MI−DATAが選択さ
れる。
キャッシュ54には、B−MI−GO,B−MI−ADRS,B−CACH
E−ADRSが入力し、データがムーブインする。
レジスタ55,56には、B−MI−DATA及びB−MI−GOが
入力する。
前記レジスタ55,56から、C−MI−DATA,C−MIが出
力される。前記C−MIによって、セレクタ501でC−MI
−DATAが選択され、レジスタ502にセットされる。
C−MIはオア回路504,レジスタ505を経て、STV信号
を出力する。又、レジスタからはMSU30から読み取った
データである所のFC−DATAをIU101に送り、一連のロッ
クアクセスが終了する。
以上,実施例に従って、本発明を説明した。実施例で
は、CPUが2つの場合のマルチプロセッサシステムを説
明したが、CPUは幾つでも良い。本発明は、本発明の要
旨に従って種々の変形が可能であり、本発明はそれらを
排除するものでは無い。
〔効果〕
本発明によると、ロックアクセスの時間が著しく短縮
し、マルチプロセッサ方式の情報処理装置の処理能力を
著しく向上させるものである。
【図面の簡単な説明】
第1図は、本発明の原理説明図、第2図〜第10図は実施
例のブロック図、第11図〜第13図は実施例の動作を説明
するタイムチャート、第14図〜第20図は従来の技術の説
明図である。 10,11……CPU 20……MCU 30……MSU 101……IU 102……SU 6……主記憶装置アクセス再要求手段 3……ロックアクセスアドレス保持手段 54……緩衝記憶装置 201……禁止報告手段

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】主記憶装置(30)の一部のデータの写しを
    保持する緩衝記憶装置(54)を中央処理装置(10,11)
    内に具備し、且つ、前記中央処理装置(10,11)を複数
    個有し、自中央処理装置(10)が、他中央処理装置(1
    1)の主記憶装置(30)のある領域からのデータの取り
    出し及び格納を禁止し、自中央処理装置(10)が前記領
    域のデータにアクセスする情報処理装置に於いて、 自中央処理装置(10)が、主記憶装置(30)を制御する
    主記憶制御部(20)に対して、前記領域の他中央処理装
    置(11)のアクセスを禁止する指示を行い、 前記領域のアドレスが、自中央処理装置(10)内の緩衝
    記憶装置(54)に登録されていれば、 前記指示を行う以前の他中央処理装置(11)の主記憶装
    置(30)への格納により主記憶装置(30)と自中央処理
    装置(10)内の緩衝記憶装置(54)の前記領域の内容の
    不一致が生じないことを確認できた時に、前記緩衝記憶
    装置に前記データのアクセスを行うことを特徴とするア
    クセス制御方法。
  2. 【請求項2】複数の中央処理装置(10,11)が主記憶装
    置(30)を共用して使用し、且つ、前記中央処理装置
    (10,11)が主記憶装置(30)の一部のデータの写しを
    保持し、送出されてきたアドレスにデータ格納又は前記
    アドレスからデータの読み出しを行う緩衝記憶装置(5
    4)を中央処理装置(10,11)内に具備し、自中央処理装
    置(10)が、他中央処理装置(11)の主記憶装置(30)
    のある領域からのデータの取り出し及び格納を一定期間
    禁止するロックアクセスを主記憶制御部(20)に指示す
    る情報処理装置に於いて、 中央処理装置(10)が主記憶制御部(20)に対して、ロ
    ックアクセスを指示して、他中央処理装置(11)からの
    主記憶装置(30)のある領域のデータ格納の禁止を行っ
    たら、データ格納禁止が指示されたことを伝える禁止報
    告手段(201)と、 自中央処理装置(10)内に位置し、前記一定期間内に前
    記領域のデータが、自中央処理装置(10)内の緩衝記憶
    装置(54)に記憶されていれば、前記ロックアクセスを
    行う領域のアドレス情報を保持し、前記禁止報告手段
    (201)により報告があったら、前記保持しているアド
    レスを緩衝記憶装置(54)に送出するロックアクセスア
    ドレス保持手段(3)を有することを特徴とする情報処
    理装置。
  3. 【請求項3】複数の中央処理装置(10,11)が、1台の
    主記憶装置(30)を共用して処理を行い、前記中央処理
    装置(10,11)は前記主記憶装置(30)のデータの一部
    の写しを有する緩衝記憶装置(54)を有し、前記主記憶
    装置(30)と緩衝記憶装置(54)のデータの一致をとる
    為の前記緩衝記憶装置(54)内のデータの無効化手段を
    有し、又、自中央処理装置(10)が他中央処理装置(1
    1)の主記憶装置(30)のある領域のデータアクセスを
    禁止し、自中央処理装置(10)が前記領域のデータにア
    クセスするロックアクセスを行う情報処理装置に於い
    て、 前記ロックアクセス時に、ロックアクセスを行うアドレ
    スが緩衝記憶装置(54)に登録されていれば、 未処理の前記アドレスの緩衝記憶装置(54)の無効化処
    理が無いことを確認した後に、 前記緩衝記憶装置(54)に前記アドレスのデータにアク
    セスすることを特徴とするアクセス制御方法。
JP1154939A 1989-06-16 1989-06-16 アクセス制御方法及び情報処理装置 Expired - Fee Related JP2844679B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1154939A JP2844679B2 (ja) 1989-06-16 1989-06-16 アクセス制御方法及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1154939A JP2844679B2 (ja) 1989-06-16 1989-06-16 アクセス制御方法及び情報処理装置

Publications (2)

Publication Number Publication Date
JPH0319049A JPH0319049A (ja) 1991-01-28
JP2844679B2 true JP2844679B2 (ja) 1999-01-06

Family

ID=15595239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1154939A Expired - Fee Related JP2844679B2 (ja) 1989-06-16 1989-06-16 アクセス制御方法及び情報処理装置

Country Status (1)

Country Link
JP (1) JP2844679B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2845394B2 (ja) * 1993-12-22 1999-01-13 住友重機械プラスチックマシナリー株式会社 射出成形用金型
JP6115455B2 (ja) * 2013-11-29 2017-04-19 富士通株式会社 並列計算機システム、並列計算機システムの制御方法、情報処理装置、演算処理装置および通信制御装置

Also Published As

Publication number Publication date
JPH0319049A (ja) 1991-01-28

Similar Documents

Publication Publication Date Title
US4481573A (en) Shared virtual address translation unit for a multiprocessor system
US6587931B1 (en) Directory-based cache coherency system supporting multiple instruction processor and input/output caches
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
KR100204741B1 (ko) 제1및 제2캐시 메모리 사용방법
US4891749A (en) Multiprocessor storage serialization apparatus
US20030041225A1 (en) Mechanism for handling load lock/store conditional primitives in directory-based distributed shared memory multiprocessors
US5339397A (en) Hardware primary directory lock
US6970963B2 (en) Apparatus and method for synchronizing multiple accesses to common resources
US5623626A (en) Logical cache memory for multi-processor system
EP0380842A2 (en) Method and apparatus for interfacing a system control unit for a multiprocessor system with the central processing units
US5479629A (en) Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address
JPH0532775B2 (ja)
EP0364226A2 (en) A system for performing a serializing control of a reference to a main storage
EP0220990B1 (en) Buffer storage control system
JP2844679B2 (ja) アクセス制御方法及び情報処理装置
US5051894A (en) Apparatus and method for address translation of non-aligned double word virtual addresses
JP3814521B2 (ja) データ処理方法および装置
JP2776759B2 (ja) ロックリクエスト制御装置
CA1264200A (en) System memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
US5276853A (en) Cache system
JP2637320B2 (ja) バッファ記憶制御方式
US5426749A (en) Buffer control system using synonymic line address to retrieve second tag portion for fetch and store accesses while first tag portion is invalidated
JPS5858666A (ja) デ−タ処理装置
JP2501353B2 (ja) プリフェッチ制御方式
JPH01280858A (ja) 主記憶装置のロック制御方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees