JPH09297706A - データ処理装置及びデータ処理装置における共有メモリの排他制御方法 - Google Patents
データ処理装置及びデータ処理装置における共有メモリの排他制御方法Info
- Publication number
- JPH09297706A JPH09297706A JP8109910A JP10991096A JPH09297706A JP H09297706 A JPH09297706 A JP H09297706A JP 8109910 A JP8109910 A JP 8109910A JP 10991096 A JP10991096 A JP 10991096A JP H09297706 A JPH09297706 A JP H09297706A
- Authority
- JP
- Japan
- Prior art keywords
- shared memory
- bus
- exclusive control
- processor
- access
- 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
Landscapes
- Multi Processors (AREA)
- Memory System (AREA)
Abstract
(57)【要約】
【課題】 排他制御に要する処理時間を低減し得るデー
タ処理装置及びデータ処理装置における共有メモリの排
他制御方法を提供することを目的とする。 【解決手段】 一のバスAに接続されるプロセッサ11
1が,共有メモリ102の所定アドレスを排他制御でア
クセスする場合に,その旨をバスコントローラ101に
通知し,バスコントローラ101はロックテーブル10
5を更新する。また,他のバスBに接続されるプロセッ
サ112または113が共有メモリ102をアクセスす
る際には,バスコントローラ101が,排他制御状態か
否かをロックテーブル105を参照して判断し,排他制
御状態である場合には,該プロセッサからの共有メモリ
102に対するアクセス信号の供給を停止する待ち状態
とし,排他制御状態が解除された後に,該プロセッサの
共有メモリ102へのアクセスを再開させる。
タ処理装置及びデータ処理装置における共有メモリの排
他制御方法を提供することを目的とする。 【解決手段】 一のバスAに接続されるプロセッサ11
1が,共有メモリ102の所定アドレスを排他制御でア
クセスする場合に,その旨をバスコントローラ101に
通知し,バスコントローラ101はロックテーブル10
5を更新する。また,他のバスBに接続されるプロセッ
サ112または113が共有メモリ102をアクセスす
る際には,バスコントローラ101が,排他制御状態か
否かをロックテーブル105を参照して判断し,排他制
御状態である場合には,該プロセッサからの共有メモリ
102に対するアクセス信号の供給を停止する待ち状態
とし,排他制御状態が解除された後に,該プロセッサの
共有メモリ102へのアクセスを再開させる。
Description
【0001】
【発明の属する技術分野】本発明は複数のプロセッサと
該複数のプロセッサからアクセス可能な共有メモリとを
備えたデータ処理装置における共有メモリの排他制御技
術に係り,特に,共有メモリの排他制御をハードウェア
的に行い,排他制御に要する処理時間を低減し得るデー
タ処理装置及びデータ処理装置における共有メモリの排
他制御方法に関する。
該複数のプロセッサからアクセス可能な共有メモリとを
備えたデータ処理装置における共有メモリの排他制御技
術に係り,特に,共有メモリの排他制御をハードウェア
的に行い,排他制御に要する処理時間を低減し得るデー
タ処理装置及びデータ処理装置における共有メモリの排
他制御方法に関する。
【0002】
【従来の技術】従来より,複数のプロセッサがメモリを
共有して処理を行うマルチプロセッサ計算機システムが
知られている。このシステムでは,複数のプロセッサが
独立して共有メモリにアクセスを行うことから,共有メ
モリの一貫性(コヒーレンシー)を保つため,共有メモ
リのアクセスを制限するロック機能を有した排他制御が
必要となる。
共有して処理を行うマルチプロセッサ計算機システムが
知られている。このシステムでは,複数のプロセッサが
独立して共有メモリにアクセスを行うことから,共有メ
モリの一貫性(コヒーレンシー)を保つため,共有メモ
リのアクセスを制限するロック機能を有した排他制御が
必要となる。
【0003】例えば,あるプロセッサが所定のアドレス
またはページに対して処理を行っている際に,他のプロ
セッサによる該アドレスまたはページに対するデータア
クセスの制限が必要となる場合が発生する。このような
場合に対処すべく,共有メモリの領域を分割して,他の
プロセッサからのアクセス制限が必要であるメモリ領域
に対してロック状態を示すフラグを立てて,他のプロセ
ッサからのアクセスを禁止する処理を,ソフトウェア的
に行う方法が用いられている。
またはページに対して処理を行っている際に,他のプロ
セッサによる該アドレスまたはページに対するデータア
クセスの制限が必要となる場合が発生する。このような
場合に対処すべく,共有メモリの領域を分割して,他の
プロセッサからのアクセス制限が必要であるメモリ領域
に対してロック状態を示すフラグを立てて,他のプロセ
ッサからのアクセスを禁止する処理を,ソフトウェア的
に行う方法が用いられている。
【0004】例えば,フラグの値が”0”の時にはアン
ロック状態で,どのプロセッサからもアクセス可能であ
り,フラグの値が”1”の時には特定プロセッサによる
排他制御が行われているロック状態で,他のプロセッサ
からのアクセスが制限されるものと決めておくものであ
る。
ロック状態で,どのプロセッサからもアクセス可能であ
り,フラグの値が”1”の時には特定プロセッサによる
排他制御が行われているロック状態で,他のプロセッサ
からのアクセスが制限されるものと決めておくものであ
る。
【0005】従って,各プロセッサは共有メモリにアク
セスする際には,該当するアドレスまたはページ等の領
域に対するロック状態を示すソフトウェアフラグを見て
からアクセスの可否を決定するといった,ソフトウェア
的な排他制御をする必要がある。
セスする際には,該当するアドレスまたはページ等の領
域に対するロック状態を示すソフトウェアフラグを見て
からアクセスの可否を決定するといった,ソフトウェア
的な排他制御をする必要がある。
【0006】また,特開平和6−19777号公報に開
示された「メモリの排他制御方法およびその装置」にお
いては,メモリの一語に情報データと排他制御コードを
含み,計算機からのアクセスが生じた場合,一度該当す
るメモリのアドレスに記憶されるデータを読み出し,該
データに含まれる排他制御コードに従って排他制御を行
うという,ハードウェア的に排他制御を行う方法が提案
されている。
示された「メモリの排他制御方法およびその装置」にお
いては,メモリの一語に情報データと排他制御コードを
含み,計算機からのアクセスが生じた場合,一度該当す
るメモリのアドレスに記憶されるデータを読み出し,該
データに含まれる排他制御コードに従って排他制御を行
うという,ハードウェア的に排他制御を行う方法が提案
されている。
【0007】
【発明が解決しようとする課題】しかしながら,上記従
来のデータ処理装置における共有メモリの排他制御方法
にあっては,複数のプロセッサが共有メモリをアクセス
可能で,データのアクセス制限が必要な場合,ソフトウ
ェア的な排他制御を行う場合には,ソフトウェアフラグ
を読み出すための別のメモリアクセスが必要になり,結
果として処理時間が増大するという問題点があった。ま
た,排他制御をソフトウェアで行い管理するので,処理
が複雑になるという問題点があった。
来のデータ処理装置における共有メモリの排他制御方法
にあっては,複数のプロセッサが共有メモリをアクセス
可能で,データのアクセス制限が必要な場合,ソフトウ
ェア的な排他制御を行う場合には,ソフトウェアフラグ
を読み出すための別のメモリアクセスが必要になり,結
果として処理時間が増大するという問題点があった。ま
た,排他制御をソフトウェアで行い管理するので,処理
が複雑になるという問題点があった。
【0008】また,ハードウェア的に排他制御を行う第
2の従来例にあっては,共有メモリにライトする時で
も,ロック状態を示す排他制御コードを読み出すための
リードサイクルが必要であり,そのための処理時間が必
要となり,結果として処理時間が増大するという問題点
があった。
2の従来例にあっては,共有メモリにライトする時で
も,ロック状態を示す排他制御コードを読み出すための
リードサイクルが必要であり,そのための処理時間が必
要となり,結果として処理時間が増大するという問題点
があった。
【0009】本発明は,上記従来の問題点に鑑みてなさ
れたものであって,ソフトウェアフラグや排他制御コー
ド等のメモリアクセスを行うことなく,共有メモリの排
他制御をソフトウェア処理によらずハードウェア的に行
い,排他制御に要する処理時間を低減し得るデータ処理
装置及びデータ処理装置における共有メモリの排他制御
方法を提供することを目的としている。
れたものであって,ソフトウェアフラグや排他制御コー
ド等のメモリアクセスを行うことなく,共有メモリの排
他制御をソフトウェア処理によらずハードウェア的に行
い,排他制御に要する処理時間を低減し得るデータ処理
装置及びデータ処理装置における共有メモリの排他制御
方法を提供することを目的としている。
【0010】また,本発明の他の目的は,その管理をハ
ードウェア的に行うことにより,ソフトウェア的に排他
制御を行う場合の複雑さを解消することにある。
ードウェア的に行うことにより,ソフトウェア的に排他
制御を行う場合の複雑さを解消することにある。
【0011】
【課題を解決するための手段】上記課題を解決するため
に,本発明の請求項1に係るデータ処理装置における共
有メモリの排他制御方法は,一のバスに接続される共有
メモリと,前記一のバス及び他のバスに接続され,各バ
ス間の調停を行うと共に,前記共有メモリへのアクセス
について前記一及び他のバスに接続されるプロセッサ間
の排他制御を,前記共有メモリのアドレス毎の排他制御
状態を管理するロックテーブルを参照して行うバスコン
トローラと,を備えるデータ処理装置における共有メモ
リの排他制御方法において,前記一のバスに接続される
プロセッサが,前記共有メモリの所定アドレスを排他制
御でアクセスする場合に,その旨を前記バスコントロー
ラに通知する第1ステップと,前記バスコントローラ
が,前記一のバスに接続されるプロセッサから排他制御
でアクセスする旨の通知を受けて,前記ロックテーブル
を更新する第2ステップと,前記他のバスに接続される
プロセッサが前記共有メモリをアクセスする際に,前記
バスコントローラが,該アクセスの対象アドレスが排他
制御状態か否かを前記ロックテーブルを参照して判断
し,排他制御状態である場合には,該プロセッサからの
前記共有メモリに対するアクセス信号の供給を停止する
待ち状態とし,排他制御状態が解除された後に,該プロ
セッサの前記共有メモリへのアクセスを再開させる第3
ステップとを具備するものである。
に,本発明の請求項1に係るデータ処理装置における共
有メモリの排他制御方法は,一のバスに接続される共有
メモリと,前記一のバス及び他のバスに接続され,各バ
ス間の調停を行うと共に,前記共有メモリへのアクセス
について前記一及び他のバスに接続されるプロセッサ間
の排他制御を,前記共有メモリのアドレス毎の排他制御
状態を管理するロックテーブルを参照して行うバスコン
トローラと,を備えるデータ処理装置における共有メモ
リの排他制御方法において,前記一のバスに接続される
プロセッサが,前記共有メモリの所定アドレスを排他制
御でアクセスする場合に,その旨を前記バスコントロー
ラに通知する第1ステップと,前記バスコントローラ
が,前記一のバスに接続されるプロセッサから排他制御
でアクセスする旨の通知を受けて,前記ロックテーブル
を更新する第2ステップと,前記他のバスに接続される
プロセッサが前記共有メモリをアクセスする際に,前記
バスコントローラが,該アクセスの対象アドレスが排他
制御状態か否かを前記ロックテーブルを参照して判断
し,排他制御状態である場合には,該プロセッサからの
前記共有メモリに対するアクセス信号の供給を停止する
待ち状態とし,排他制御状態が解除された後に,該プロ
セッサの前記共有メモリへのアクセスを再開させる第3
ステップとを具備するものである。
【0012】また,請求項2に係るデータ処理装置にお
ける共有メモリの排他制御方法は,請求項1記載のデー
タ処理装置における共有メモリの排他制御方法におい
て,前記一のバスに接続されるプロセッサが,前記共有
メモリの所定アドレスを排他制御でライトアクセスする
場合に,その旨を前記バスコントローラに通知する第4
ステップと,前記バスコントローラが,前記一のバスに
接続されるプロセッサから排他制御でライトアクセスす
る旨の通知を受けて,前記ロックテーブルを更新する第
5ステップと,前記他のバスに接続されるプロセッサが
前記共有メモリをライトアクセスする際に,前記バスコ
ントローラが,該ライトアクセスの対象アドレスがライ
ト排他制御状態か否かを前記ロックテーブルを参照して
判断し,ライト排他制御状態である場合には,該プロセ
ッサからの前記共有メモリに対するライトアクセス信号
の供給を停止する待ち状態とし,ライト排他制御状態が
解除された後に,該プロセッサの前記共有メモリへのラ
イトアクセスを再開させる第6ステップと,を具備する
ものである。
ける共有メモリの排他制御方法は,請求項1記載のデー
タ処理装置における共有メモリの排他制御方法におい
て,前記一のバスに接続されるプロセッサが,前記共有
メモリの所定アドレスを排他制御でライトアクセスする
場合に,その旨を前記バスコントローラに通知する第4
ステップと,前記バスコントローラが,前記一のバスに
接続されるプロセッサから排他制御でライトアクセスす
る旨の通知を受けて,前記ロックテーブルを更新する第
5ステップと,前記他のバスに接続されるプロセッサが
前記共有メモリをライトアクセスする際に,前記バスコ
ントローラが,該ライトアクセスの対象アドレスがライ
ト排他制御状態か否かを前記ロックテーブルを参照して
判断し,ライト排他制御状態である場合には,該プロセ
ッサからの前記共有メモリに対するライトアクセス信号
の供給を停止する待ち状態とし,ライト排他制御状態が
解除された後に,該プロセッサの前記共有メモリへのラ
イトアクセスを再開させる第6ステップと,を具備する
ものである。
【0013】また,請求項3に係るデータ処理装置にお
ける共有メモリの排他制御方法は,請求項1または2記
載のデータ処理装置における共有メモリの排他制御方法
において,前記第3ステップまたは第6ステップにおい
て,前記バスコントローラは,前記他のバスに接続され
るプロセッサの前記共有メモリに対するアクセスまたは
ライトアクセスの対象アドレスが排他制御状態またはラ
イト排他制御状態である場合には,該プロセッサに対し
てエラー通知を行うものである。
ける共有メモリの排他制御方法は,請求項1または2記
載のデータ処理装置における共有メモリの排他制御方法
において,前記第3ステップまたは第6ステップにおい
て,前記バスコントローラは,前記他のバスに接続され
るプロセッサの前記共有メモリに対するアクセスまたは
ライトアクセスの対象アドレスが排他制御状態またはラ
イト排他制御状態である場合には,該プロセッサに対し
てエラー通知を行うものである。
【0014】また,請求項4に係るデータ処理装置にお
ける共有メモリの排他制御方法は,一のバスに接続され
る共有メモリと,前記一のバス及び他のバスに接続さ
れ,各バス間の調停を行うと共に,前記共有メモリへの
アクセスについて前記一及び他のバスに接続されるプロ
セッサ間の排他制御を,前記共有メモリのページ毎の排
他制御状態を管理するロックテーブルを参照して行うバ
スコントローラと,を備えるデータ処理装置における共
有メモリの排他制御方法において,前記一のバスに接続
されるプロセッサが,前記共有メモリの所定ページを排
他制御でアクセスする場合に,その旨を前記バスコント
ローラに通知する第1ステップと,前記バスコントロー
ラが,前記一のバスに接続されるプロセッサから排他制
御でアクセスする旨の通知を受けて,前記ロックテーブ
ルを更新する第2ステップと,前記他のバスに接続され
るプロセッサが前記共有メモリをアクセスする際に,前
記バスコントローラが,該アクセスの対象ページが排他
制御状態か否かを前記ロックテーブルを参照して判断
し,排他制御状態である場合には,該プロセッサからの
前記共有メモリに対するアクセス信号の供給を停止する
待ち状態とし,排他制御状態が解除された後に,該プロ
セッサの前記共有メモリへのアクセスを再開させる第3
ステップと,を具備するものである。
ける共有メモリの排他制御方法は,一のバスに接続され
る共有メモリと,前記一のバス及び他のバスに接続さ
れ,各バス間の調停を行うと共に,前記共有メモリへの
アクセスについて前記一及び他のバスに接続されるプロ
セッサ間の排他制御を,前記共有メモリのページ毎の排
他制御状態を管理するロックテーブルを参照して行うバ
スコントローラと,を備えるデータ処理装置における共
有メモリの排他制御方法において,前記一のバスに接続
されるプロセッサが,前記共有メモリの所定ページを排
他制御でアクセスする場合に,その旨を前記バスコント
ローラに通知する第1ステップと,前記バスコントロー
ラが,前記一のバスに接続されるプロセッサから排他制
御でアクセスする旨の通知を受けて,前記ロックテーブ
ルを更新する第2ステップと,前記他のバスに接続され
るプロセッサが前記共有メモリをアクセスする際に,前
記バスコントローラが,該アクセスの対象ページが排他
制御状態か否かを前記ロックテーブルを参照して判断
し,排他制御状態である場合には,該プロセッサからの
前記共有メモリに対するアクセス信号の供給を停止する
待ち状態とし,排他制御状態が解除された後に,該プロ
セッサの前記共有メモリへのアクセスを再開させる第3
ステップと,を具備するものである。
【0015】また,請求項5に係るデータ処理装置は,
一のバスに接続される共有メモリと,前記一のバス及び
他のバスに接続され,各バス間の調停を行うと共に,前
記共有メモリへのアクセスについて前記一及び他のバス
に接続されるプロセッサ間の排他制御を,前記共有メモ
リのアドレス毎の排他制御状態を管理するロックテーブ
ルを参照して行うバスコントローラと,を備えるデータ
処理装置において,前記バスコントローラは,前記一の
バスに接続されるプロセッサから前記共有メモリの所定
アドレスに対して排他制御でアクセスする旨の通知を受
けたときに,前記ロックテーブルを更新し,前記他のバ
スに接続されるプロセッサが前記共有メモリをアクセス
する際には,該アクセスの対象アドレスが排他制御状態
か否かを前記ロックテーブルを参照して判断し,排他制
御状態である場合には,前記他のバスに接続されるプロ
セッサからの前記共有メモリに対するアクセス信号の供
給を停止する待ち状態とし,排他制御状態が解除された
後に,前記他のバスに接続されるプロセッサの前記共有
メモリへのアクセスを再開させるもである。
一のバスに接続される共有メモリと,前記一のバス及び
他のバスに接続され,各バス間の調停を行うと共に,前
記共有メモリへのアクセスについて前記一及び他のバス
に接続されるプロセッサ間の排他制御を,前記共有メモ
リのアドレス毎の排他制御状態を管理するロックテーブ
ルを参照して行うバスコントローラと,を備えるデータ
処理装置において,前記バスコントローラは,前記一の
バスに接続されるプロセッサから前記共有メモリの所定
アドレスに対して排他制御でアクセスする旨の通知を受
けたときに,前記ロックテーブルを更新し,前記他のバ
スに接続されるプロセッサが前記共有メモリをアクセス
する際には,該アクセスの対象アドレスが排他制御状態
か否かを前記ロックテーブルを参照して判断し,排他制
御状態である場合には,前記他のバスに接続されるプロ
セッサからの前記共有メモリに対するアクセス信号の供
給を停止する待ち状態とし,排他制御状態が解除された
後に,前記他のバスに接続されるプロセッサの前記共有
メモリへのアクセスを再開させるもである。
【0016】更に,請求項6に係るデータ処理装置は,
一のバスに接続される共有メモリと,前記一のバス及び
他のバスに接続され,各バス間の調停を行うと共に,前
記共有メモリへのアクセスについて前記一及び他のバス
に接続されるプロセッサ間の排他制御を,前記共有メモ
リのページ毎の排他制御状態を管理するロックテーブル
を参照して行うバスコントローラと,を備えるデータ処
理装置において,前記バスコントローラは,前記一のバ
スに接続されるプロセッサから前記共有メモリの所定ペ
ージに対して排他制御でアクセスする旨の通知を受けた
ときに,前記ロックテーブルを更新し,前記他のバスに
接続されるプロセッサが前記共有メモリをアクセスする
際には,該アクセスの対象ページが排他制御状態か否か
を前記ロックテーブルを参照して判断し,排他制御状態
である場合には,前記他のバスに接続されるプロセッサ
からの前記共有メモリに対するアクセス信号の供給を停
止する待ち状態とし,排他制御状態が解除された後に,
前記他のバスに接続されるプロセッサの前記共有メモリ
へのアクセスを再開させるものである。
一のバスに接続される共有メモリと,前記一のバス及び
他のバスに接続され,各バス間の調停を行うと共に,前
記共有メモリへのアクセスについて前記一及び他のバス
に接続されるプロセッサ間の排他制御を,前記共有メモ
リのページ毎の排他制御状態を管理するロックテーブル
を参照して行うバスコントローラと,を備えるデータ処
理装置において,前記バスコントローラは,前記一のバ
スに接続されるプロセッサから前記共有メモリの所定ペ
ージに対して排他制御でアクセスする旨の通知を受けた
ときに,前記ロックテーブルを更新し,前記他のバスに
接続されるプロセッサが前記共有メモリをアクセスする
際には,該アクセスの対象ページが排他制御状態か否か
を前記ロックテーブルを参照して判断し,排他制御状態
である場合には,前記他のバスに接続されるプロセッサ
からの前記共有メモリに対するアクセス信号の供給を停
止する待ち状態とし,排他制御状態が解除された後に,
前記他のバスに接続されるプロセッサの前記共有メモリ
へのアクセスを再開させるものである。
【0017】
【発明の実施の形態】以下,本発明のデータ処理装置及
びデータ処理装置における共有メモリの排他制御方法の
概要について,並びに,本発明のデータ処理装置及びデ
ータ処理装置における共有メモリの排他制御方法の実施
例について,〔実施例1〕,〔実施例2〕,〔実施例
3〕,〔実施例4〕の順に図面を参照して詳細に説明す
る。
びデータ処理装置における共有メモリの排他制御方法の
概要について,並びに,本発明のデータ処理装置及びデ
ータ処理装置における共有メモリの排他制御方法の実施
例について,〔実施例1〕,〔実施例2〕,〔実施例
3〕,〔実施例4〕の順に図面を参照して詳細に説明す
る。
【0018】〔本発明のデータ処理装置及びデータ処理
装置における共有メモリの排他制御方法の概要〕本発明
の請求項1に係るデータ処理装置における共有メモリの
排他制御方法,並びに,請求項5に係るデータ処理装置
では,図1及び図4に示す如く,一のバスAに接続され
るプロセッサ111が,共有メモリ102の所定アドレ
スを排他制御でアクセスする場合に,その旨をバスコン
トローラ101に通知し(第1ステップ),一方,バス
コントローラ101は,一のバスAに接続されるプロセ
ッサ111から排他制御でアクセスする旨の通知を受け
て,ロックテーブル105を更新する(第2ステッ
プ)。また,他のバスBに接続されるプロセッサ112
または113が共有メモリ102をアクセスする際に
は,バスコントローラ101が,該アクセスの対象アド
レスが排他制御状態か否かをロックテーブル105を参
照して判断し(図4におけるステップS401,S40
2),排他制御状態である場合には,該プロセッサ11
2または113からの共有メモリ102に対するアクセ
ス信号の供給を停止する待ち状態とし,排他制御状態が
解除された後に,該プロセッサ112または113の共
有メモリ102へのアクセスを再開させる(第3ステッ
プ:図4におけるS403)ようにしている。
装置における共有メモリの排他制御方法の概要〕本発明
の請求項1に係るデータ処理装置における共有メモリの
排他制御方法,並びに,請求項5に係るデータ処理装置
では,図1及び図4に示す如く,一のバスAに接続され
るプロセッサ111が,共有メモリ102の所定アドレ
スを排他制御でアクセスする場合に,その旨をバスコン
トローラ101に通知し(第1ステップ),一方,バス
コントローラ101は,一のバスAに接続されるプロセ
ッサ111から排他制御でアクセスする旨の通知を受け
て,ロックテーブル105を更新する(第2ステッ
プ)。また,他のバスBに接続されるプロセッサ112
または113が共有メモリ102をアクセスする際に
は,バスコントローラ101が,該アクセスの対象アド
レスが排他制御状態か否かをロックテーブル105を参
照して判断し(図4におけるステップS401,S40
2),排他制御状態である場合には,該プロセッサ11
2または113からの共有メモリ102に対するアクセ
ス信号の供給を停止する待ち状態とし,排他制御状態が
解除された後に,該プロセッサ112または113の共
有メモリ102へのアクセスを再開させる(第3ステッ
プ:図4におけるS403)ようにしている。
【0019】このように,共有メモリ102の排他制御
をソフトウェアの処理によらずハードウェア的に行なう
ので,ソフトウェアフラグ等のメモリアクセスを省くこ
とができ,処理時間を増やすことなく共有メモリ102
の排他制御を行うことができる。また,その管理をハー
ドウェアで行なうことにより,ソフトウェアで排他制御
を行なう場合の複雑な処理が不要となる。また,アドレ
ス毎に排他制御を行なうので,他のアドレスに対するア
クセスへの影響が無い。また,一のバスAと他のバスB
間で互いに影響されることが無く,他のバスB上のプロ
セッサ112または113が排他制御による待ち状態に
あっても,一のバスA上のプロセッサ111は自由に共
有メモリ102にアクセス可能である。更に,一のバス
A上のプロセッサ111からの排他制御は,他のバスB
上の全てのプロセッサ112及び113に対して,同時
に排他制御状態とすることが可能である。
をソフトウェアの処理によらずハードウェア的に行なう
ので,ソフトウェアフラグ等のメモリアクセスを省くこ
とができ,処理時間を増やすことなく共有メモリ102
の排他制御を行うことができる。また,その管理をハー
ドウェアで行なうことにより,ソフトウェアで排他制御
を行なう場合の複雑な処理が不要となる。また,アドレ
ス毎に排他制御を行なうので,他のアドレスに対するア
クセスへの影響が無い。また,一のバスAと他のバスB
間で互いに影響されることが無く,他のバスB上のプロ
セッサ112または113が排他制御による待ち状態に
あっても,一のバスA上のプロセッサ111は自由に共
有メモリ102にアクセス可能である。更に,一のバス
A上のプロセッサ111からの排他制御は,他のバスB
上の全てのプロセッサ112及び113に対して,同時
に排他制御状態とすることが可能である。
【0020】また,請求項2に係るデータ処理装置にお
ける共有メモリの排他制御方法では,図1及び図5に示
す如く,一のバスAに接続されるプロセッサ111が,
共有メモリ102の所定アドレスを排他制御でライトア
クセスする場合に,その旨をバスコントローラ101に
通知し(第4ステップ),一方,バスコントローラ10
1は,一のバスAに接続されるプロセッサ111から排
他制御でライトアクセスする旨の通知を受けて,ロック
テーブル105を更新する(第5ステップ)。また,他
のバスBに接続されるプロセッサ112または113が
共有メモリ102をライトアクセスする際(図5のステ
ップS501において「ライト」の判断の場合)には,
バスコントローラ101が,該ライトアクセスの対象ア
ドレスがライト排他制御状態か否かをロックテーブル1
05を参照して判断し(図5におけるステップS40
2,S403),ライト排他制御状態である場合には,
該プロセッサ112または113からの共有メモリ10
2に対するライトアクセス信号の供給を停止する待ち状
態とし,ライト排他制御状態が解除された後に,該プロ
セッサ112または113の共有メモリ102へのライ
トアクセスを再開させる(第6ステップ:図5における
ステップS504)ようにしている。
ける共有メモリの排他制御方法では,図1及び図5に示
す如く,一のバスAに接続されるプロセッサ111が,
共有メモリ102の所定アドレスを排他制御でライトア
クセスする場合に,その旨をバスコントローラ101に
通知し(第4ステップ),一方,バスコントローラ10
1は,一のバスAに接続されるプロセッサ111から排
他制御でライトアクセスする旨の通知を受けて,ロック
テーブル105を更新する(第5ステップ)。また,他
のバスBに接続されるプロセッサ112または113が
共有メモリ102をライトアクセスする際(図5のステ
ップS501において「ライト」の判断の場合)には,
バスコントローラ101が,該ライトアクセスの対象ア
ドレスがライト排他制御状態か否かをロックテーブル1
05を参照して判断し(図5におけるステップS40
2,S403),ライト排他制御状態である場合には,
該プロセッサ112または113からの共有メモリ10
2に対するライトアクセス信号の供給を停止する待ち状
態とし,ライト排他制御状態が解除された後に,該プロ
セッサ112または113の共有メモリ102へのライ
トアクセスを再開させる(第6ステップ:図5における
ステップS504)ようにしている。
【0021】このように,共有メモリ102へのライト
アクセスの排他制御をソフトウェアの処理によらずハー
ドウェア的に行なうので,ソフトウェアフラグ等のメモ
リアクセスを省くことができ,処理時間を増やすことな
く共有メモリ102のライトアクセスの排他制御を行う
ことができる。
アクセスの排他制御をソフトウェアの処理によらずハー
ドウェア的に行なうので,ソフトウェアフラグ等のメモ
リアクセスを省くことができ,処理時間を増やすことな
く共有メモリ102のライトアクセスの排他制御を行う
ことができる。
【0022】また,請求項3に係るデータ処理装置にお
ける共有メモリの排他制御方法では,図6に示す如く,
バスコントローラ105は,他のバスBに接続されるプ
ロセッサ112または113の共有メモリ102に対す
るアクセスまたはライトアクセスの対象アドレスが排他
制御状態またはライト排他制御状態である場合には,該
プロセッサ112または113に対してエラー通知を行
う(図6におけるステップS604)のが望ましい。
ける共有メモリの排他制御方法では,図6に示す如く,
バスコントローラ105は,他のバスBに接続されるプ
ロセッサ112または113の共有メモリ102に対す
るアクセスまたはライトアクセスの対象アドレスが排他
制御状態またはライト排他制御状態である場合には,該
プロセッサ112または113に対してエラー通知を行
う(図6におけるステップS604)のが望ましい。
【0023】更に,請求項4に係るデータ処理装置にお
ける共有メモリの排他制御方法,並びに,請求項6に係
るデータ処理装置では,図1及び図4に示す如く,一の
バスAに接続されるプロセッサ111が,共有メモリ1
02の所定ページを排他制御でアクセスする場合に,そ
の旨をバスコントローラ101に通知し(第1ステッ
プ),一方,バスコントローラ101は,一のバスAに
接続されるプロセッサ111から排他制御でアクセスす
る旨の通知を受けて,ロックテーブル105を更新する
(第2ステップ)。また,他のバスBに接続されるプロ
セッサ112または113が共有メモリ102をアクセ
スする際には,バスコントローラ101が,該アクセス
の対象ページが排他制御状態か否かをロックテーブル1
05を参照して判断し(図4におけるステップS40
1,S402),排他制御状態である場合には,該プロ
セッサ112または113からの共有メモリ102に対
するアクセス信号の供給を停止する待ち状態とし,排他
制御状態が解除された後に,該プロセッサ112または
113の共有メモリ102へのアクセスを再開させる
(第3ステップ:図4におけるS403)ようにしてい
る。
ける共有メモリの排他制御方法,並びに,請求項6に係
るデータ処理装置では,図1及び図4に示す如く,一の
バスAに接続されるプロセッサ111が,共有メモリ1
02の所定ページを排他制御でアクセスする場合に,そ
の旨をバスコントローラ101に通知し(第1ステッ
プ),一方,バスコントローラ101は,一のバスAに
接続されるプロセッサ111から排他制御でアクセスす
る旨の通知を受けて,ロックテーブル105を更新する
(第2ステップ)。また,他のバスBに接続されるプロ
セッサ112または113が共有メモリ102をアクセ
スする際には,バスコントローラ101が,該アクセス
の対象ページが排他制御状態か否かをロックテーブル1
05を参照して判断し(図4におけるステップS40
1,S402),排他制御状態である場合には,該プロ
セッサ112または113からの共有メモリ102に対
するアクセス信号の供給を停止する待ち状態とし,排他
制御状態が解除された後に,該プロセッサ112または
113の共有メモリ102へのアクセスを再開させる
(第3ステップ:図4におけるS403)ようにしてい
る。
【0024】このように,共有メモリ102の排他制御
をソフトウェアの処理によらずハードウェア的に行なう
ので,ソフトウェアフラグ等のメモリアクセスを省くこ
とができ,処理時間を増やすことなく共有メモリ102
の排他制御を行うことができる。また,その管理をハー
ドウェアで行なうことにより,ソフトウェアで排他制御
を行なう場合の複雑な処理が不要となる。また,ページ
毎に排他制御を行なうので,他のページに対するアクセ
スへの影響が無い。
をソフトウェアの処理によらずハードウェア的に行なう
ので,ソフトウェアフラグ等のメモリアクセスを省くこ
とができ,処理時間を増やすことなく共有メモリ102
の排他制御を行うことができる。また,その管理をハー
ドウェアで行なうことにより,ソフトウェアで排他制御
を行なう場合の複雑な処理が不要となる。また,ページ
毎に排他制御を行なうので,他のページに対するアクセ
スへの影響が無い。
【0025】〔実施例1〕図1は本発明の実施例1に係
るデータ処理装置の構成図である。同図において,本実
施例のデータ処理装置は,第1バスAに接続される共有
メモリ102と,第1バスA及び第2バスBに接続さ
れ,各バス間の調停を行うと共に,共有メモリ102へ
のアクセスについて第1及び第2バスA及びBに接続さ
れる第1,第2及び第3プロセッサ111,112,1
13間の排他制御を,共有メモリ102のアドレス毎の
排他制御状態を管理するロックテーブル105を参照し
て行うバスコントローラ101と,メモリコントローラ
103とを備えて構成されている。
るデータ処理装置の構成図である。同図において,本実
施例のデータ処理装置は,第1バスAに接続される共有
メモリ102と,第1バスA及び第2バスBに接続さ
れ,各バス間の調停を行うと共に,共有メモリ102へ
のアクセスについて第1及び第2バスA及びBに接続さ
れる第1,第2及び第3プロセッサ111,112,1
13間の排他制御を,共有メモリ102のアドレス毎の
排他制御状態を管理するロックテーブル105を参照し
て行うバスコントローラ101と,メモリコントローラ
103とを備えて構成されている。
【0026】第1,第2及び第3プロセッサ111,1
12,113は,共有メモリ102をアクセスするユニ
ットであり,アクセスする共有メモリのアドレスADR
を発行すると共に,リード時にはデータDATAを内部
レジスタに取り込み,ライト時にはデータDATAを出
力する。
12,113は,共有メモリ102をアクセスするユニ
ットであり,アクセスする共有メモリのアドレスADR
を発行すると共に,リード時にはデータDATAを内部
レジスタに取り込み,ライト時にはデータDATAを出
力する。
【0027】また,制御信号として,アドレスADR,
データDATAが有効である期間を示す信号,即ちアド
レスストローブ信号AS,データストローブ信号DS
を,また,リードアクセスかライトアクセスかを示すリ
ードライト信号R/Wをそれぞれ発行すると共に,現在
アクセスしている共有メモリ102のアドレスについ
て,ロック/アンロックするための制御信号LOCK/
UNLOCKを発行する。ここで,ロック/アンロック
制御信号LOCK/UNLOCKは,例えばアドレスA
DRとは別に用意されている,アドレス空間を示す制御
信号等を利用すればよい。
データDATAが有効である期間を示す信号,即ちアド
レスストローブ信号AS,データストローブ信号DS
を,また,リードアクセスかライトアクセスかを示すリ
ードライト信号R/Wをそれぞれ発行すると共に,現在
アクセスしている共有メモリ102のアドレスについ
て,ロック/アンロックするための制御信号LOCK/
UNLOCKを発行する。ここで,ロック/アンロック
制御信号LOCK/UNLOCKは,例えばアドレスA
DRとは別に用意されている,アドレス空間を示す制御
信号等を利用すればよい。
【0028】ここでは,共有メモリ102と同じバスA
上にあるプロセッサを第1プロセッサ111,他方のバ
スBにあるプロセッサをそれぞれ第2プロセッサ11
2,第3プロセッサ113として説明する。
上にあるプロセッサを第1プロセッサ111,他方のバ
スBにあるプロセッサをそれぞれ第2プロセッサ11
2,第3プロセッサ113として説明する。
【0029】バスコントローラ105は2つの働きをす
る。1つは第1バスA及び第2バスB間の調停である。
例えば,図1に示す第1バスAと第2バスBが異なるク
ロック,異なるバス幅であった場合,一方のバスから他
方のバスへのアクセス時にその違いを吸収すると共に,
両方のバスからアクセスがあった場合にはバスの優先順
位に従って,バスの調停を行なう。
る。1つは第1バスA及び第2バスB間の調停である。
例えば,図1に示す第1バスAと第2バスBが異なるク
ロック,異なるバス幅であった場合,一方のバスから他
方のバスへのアクセス時にその違いを吸収すると共に,
両方のバスからアクセスがあった場合にはバスの優先順
位に従って,バスの調停を行なう。
【0030】もう1つの機能は共有メモリ102に対す
るアクセスの排他制御機能である。例えば,第2プロセ
ッサ112からのメモリアクセス信号(AS,DS)に
対して,バスコントローラ101は,ロックテーブル1
05を参照することにより,そのアドレスが第1プロセ
ッサ111によってロックされている(排他制御状態で
ある)かどうかを判断し,ロックされていない場合は,
共有メモリ102に対して通常のメモリアクセスを行な
い,第2プロセッサ112に対しては,アクノリッジ信
号ACKまたはエラー信号BERRを送出する。
るアクセスの排他制御機能である。例えば,第2プロセ
ッサ112からのメモリアクセス信号(AS,DS)に
対して,バスコントローラ101は,ロックテーブル1
05を参照することにより,そのアドレスが第1プロセ
ッサ111によってロックされている(排他制御状態で
ある)かどうかを判断し,ロックされていない場合は,
共有メモリ102に対して通常のメモリアクセスを行な
い,第2プロセッサ112に対しては,アクノリッジ信
号ACKまたはエラー信号BERRを送出する。
【0031】またアドレスがロックされている場合は,
AS,DS等のメモリアクセス信号が第1バスAに送出
されないように制御し,ロックが解除されるまで待ち状
態と(ウエイト)するか,エラー信号BERRを第2プ
ロセッサ112に返して,エラーである旨を知らせるよ
うに制御する。
AS,DS等のメモリアクセス信号が第1バスAに送出
されないように制御し,ロックが解除されるまで待ち状
態と(ウエイト)するか,エラー信号BERRを第2プ
ロセッサ112に返して,エラーである旨を知らせるよ
うに制御する。
【0032】ロックテーブル105は,図2に示すよう
に,アドレスとそれに対する排他制御状態を示すロック
状態フラグを含んで構成され,例えば,該当するアドレ
スが第1プロセッサ111にロックされていない(fl
ag=0),第1プロセッサ111にロックされている
(flag=1),第1プロセッサ111にライトロッ
クされている(flag=2)等の情報を表しているも
のとする。例えば,ロックテーブル105が図2に示す
状態であった場合には,アドレス”000004”〜”
000005”だけがロックされている。
に,アドレスとそれに対する排他制御状態を示すロック
状態フラグを含んで構成され,例えば,該当するアドレ
スが第1プロセッサ111にロックされていない(fl
ag=0),第1プロセッサ111にロックされている
(flag=1),第1プロセッサ111にライトロッ
クされている(flag=2)等の情報を表しているも
のとする。例えば,ロックテーブル105が図2に示す
状態であった場合には,アドレス”000004”〜”
000005”だけがロックされている。
【0033】第1プロセッサ111が,共有メモリ10
2のあるアドレスをアクセスすると共に,排他制御を行
う旨のロック制御信号LOCKを発行した場合には,バ
スコントローラ101は,ロックテーブル105の内容
を,第1プロセッサ111が発したアドレスに対するロ
ック状態フラグの値についてロック状態(flag=
1)に変えて更新する。
2のあるアドレスをアクセスすると共に,排他制御を行
う旨のロック制御信号LOCKを発行した場合には,バ
スコントローラ101は,ロックテーブル105の内容
を,第1プロセッサ111が発したアドレスに対するロ
ック状態フラグの値についてロック状態(flag=
1)に変えて更新する。
【0034】また,第1プロセッサ111が共有メモリ
102のあるアドレスをアクセスすると同時に,排他制
御を行わない旨のアンロック制御信号UNLOCKを発
行した場合には,バスコントローラ101は,ロックテ
ーブル105の内容を,第1プロセッサ111が発した
アドレスに対するロック状態フラグの値についてアンロ
ック状態(flag=0)に変えて更新する。尚,アン
ロック制御信号UNLOCKの発行は,第1プロセッサ
111が該アドレスについてロックをかけている場合
(flag=1)のみ有効であり,それ以外の場合に
は,バスコントローラ101から第1プロセッサ111
に対して,エラー信号BERRが返される。
102のあるアドレスをアクセスすると同時に,排他制
御を行わない旨のアンロック制御信号UNLOCKを発
行した場合には,バスコントローラ101は,ロックテ
ーブル105の内容を,第1プロセッサ111が発した
アドレスに対するロック状態フラグの値についてアンロ
ック状態(flag=0)に変えて更新する。尚,アン
ロック制御信号UNLOCKの発行は,第1プロセッサ
111が該アドレスについてロックをかけている場合
(flag=1)のみ有効であり,それ以外の場合に
は,バスコントローラ101から第1プロセッサ111
に対して,エラー信号BERRが返される。
【0035】共有メモリ102は,第1,第2及び第3
プロセッサ111,112,113からアクセス可能な
メモリである。またメモリコントローラ103は,第1
バスAからのメモリアクセス信号(AS,DS,R/
W)を受け取り,共有メモリ102をアクセスするため
に必要な信号を生成する。
プロセッサ111,112,113からアクセス可能な
メモリである。またメモリコントローラ103は,第1
バスAからのメモリアクセス信号(AS,DS,R/
W)を受け取り,共有メモリ102をアクセスするため
に必要な信号を生成する。
【0036】以上説明した本実施例の構成を踏まえて,
次に,本実施例のデータ処理装置における共有メモリの
排他制御方法の概要について,図4を参照して説明す
る。図4は,本実施例における第2バスBに接続される
プロセッサ112または113が共有メモリ102をア
クセスする場合の動作を説明するフローチャートであ
る。
次に,本実施例のデータ処理装置における共有メモリの
排他制御方法の概要について,図4を参照して説明す
る。図4は,本実施例における第2バスBに接続される
プロセッサ112または113が共有メモリ102をア
クセスする場合の動作を説明するフローチャートであ
る。
【0037】ここでは,第2プロセッサ112が共有メ
モリ102をアクセスした場合を例にとり説明する。第
2プロセッサ112は共有メモリ102上のあるアドレ
スをアクセスするために,アドレスストローブ信号AS
をイネーブルにすると共に,アドレスADRをバスコン
トローラ101に送る。バスコントローラ101は,ロ
ックテーブル105を参照し,そのアドレスに対応する
ロック状態フラグを検出する(ステップS401)。
モリ102をアクセスした場合を例にとり説明する。第
2プロセッサ112は共有メモリ102上のあるアドレ
スをアクセスするために,アドレスストローブ信号AS
をイネーブルにすると共に,アドレスADRをバスコン
トローラ101に送る。バスコントローラ101は,ロ
ックテーブル105を参照し,そのアドレスに対応する
ロック状態フラグを検出する(ステップS401)。
【0038】ステップS402の判断において,第2プ
ロセッサ112のアクセスするアドレスについて,第1
プロセッサ111によるロックがかかっていない場合
(flag=0)には,バスコントローラ101は,第
1バスAを介してメモリコントローラ103にAS,D
S,R/Wのメモリアクセス信号を送り,共有メモリ1
02に対する第2プロセッサ112によるリード/ライ
トのメモリアクセスを行なう(ステップS403)。
ロセッサ112のアクセスするアドレスについて,第1
プロセッサ111によるロックがかかっていない場合
(flag=0)には,バスコントローラ101は,第
1バスAを介してメモリコントローラ103にAS,D
S,R/Wのメモリアクセス信号を送り,共有メモリ1
02に対する第2プロセッサ112によるリード/ライ
トのメモリアクセスを行なう(ステップS403)。
【0039】ステップS402の判断において,第1プ
ロセッサ111によるロックがかかっている場合(fl
ag=1)には,第1バスAに信号を送出しないで,第
2バスBをウエイト状態にする。その後,ロックテーブ
ル105が第1プロセッサ111により更新されて,ロ
ック状態フラグの値が変化してロック状態が解除(fl
ag=0)されたら,バスコントローラ101は,第1
バスAを介して共有メモリ102にAS,DS,R/W
のメモリアクセス信号を送り,第2プロセッサ112に
よるメモリアクセスを行なう(ステップS403)。
ロセッサ111によるロックがかかっている場合(fl
ag=1)には,第1バスAに信号を送出しないで,第
2バスBをウエイト状態にする。その後,ロックテーブ
ル105が第1プロセッサ111により更新されて,ロ
ック状態フラグの値が変化してロック状態が解除(fl
ag=0)されたら,バスコントローラ101は,第1
バスAを介して共有メモリ102にAS,DS,R/W
のメモリアクセス信号を送り,第2プロセッサ112に
よるメモリアクセスを行なう(ステップS403)。
【0040】尚,第1プロセッサ111が共有メモリ1
02のアクセス時に,アドレスと共に発行するロック/
アンロック制御信号LOCK/UNLOCKにより,ロ
ックテーブル105の内容が更新されるが,第1プロセ
ッサ111があるアドレスに対してロックをかけた(f
lag=1とした)場合,第2バスBに接続される第2
プロセッサ112,第3プロセッサ113の両方に対し
て同時にロックをかけることができる。
02のアクセス時に,アドレスと共に発行するロック/
アンロック制御信号LOCK/UNLOCKにより,ロ
ックテーブル105の内容が更新されるが,第1プロセ
ッサ111があるアドレスに対してロックをかけた(f
lag=1とした)場合,第2バスBに接続される第2
プロセッサ112,第3プロセッサ113の両方に対し
て同時にロックをかけることができる。
【0041】また,複数のプロセッサから共有メモリ1
02にアクセスする場合も考えられるが,この場合はバ
スコントローラ101が調停を行なう。例えば,同時に
第1プロセッサ111と第2プロセッサ112から,メ
モリアクセスのためのリクエスト信号(AS)があった
場合には,例えば,ローカルな第1バスA上にある第1
プロセッサ111に通常のアクセスを行なわせ,該アク
セスの終了と同時にメモリのアクセスリクエスト信号
(AS)を無効にする。該信号の無効を検知した後,バ
スコントローラ101は,第2プロセッサ112による
アクセスを許可し,第2プロセッサ112による共有メ
モリ102に対するアクセスを行なわせる。
02にアクセスする場合も考えられるが,この場合はバ
スコントローラ101が調停を行なう。例えば,同時に
第1プロセッサ111と第2プロセッサ112から,メ
モリアクセスのためのリクエスト信号(AS)があった
場合には,例えば,ローカルな第1バスA上にある第1
プロセッサ111に通常のアクセスを行なわせ,該アク
セスの終了と同時にメモリのアクセスリクエスト信号
(AS)を無効にする。該信号の無効を検知した後,バ
スコントローラ101は,第2プロセッサ112による
アクセスを許可し,第2プロセッサ112による共有メ
モリ102に対するアクセスを行なわせる。
【0042】〔実施例2〕次に,本発明の実施例2に係
るデータ処理装置における共有メモリの排他制御方法の
概要について,図5を参照して説明する。尚,本実施例
のデータ処理装置の構成は実施例1と同等である。
るデータ処理装置における共有メモリの排他制御方法の
概要について,図5を参照して説明する。尚,本実施例
のデータ処理装置の構成は実施例1と同等である。
【0043】先ず,第1プロセッサ111によるロック
テーブル105の更新について,予め説明しておく。第
1プロセッサ111が共有メモリ102のあるアドレス
に対してライトロックをかける場合には,通常のメモリ
ライトアクセスに加えて,ロック制御信号LOCKをバ
スコントローラ101に送る。バスコントローラ101
は,第1プロセッサ111からのロック制御信号LOC
Kを検出すると,ロックテーブル105におけるライト
アクセスのアドレスに対するロック状態フラグの値をラ
イトロック状態(flag=2)に変化させる。
テーブル105の更新について,予め説明しておく。第
1プロセッサ111が共有メモリ102のあるアドレス
に対してライトロックをかける場合には,通常のメモリ
ライトアクセスに加えて,ロック制御信号LOCKをバ
スコントローラ101に送る。バスコントローラ101
は,第1プロセッサ111からのロック制御信号LOC
Kを検出すると,ロックテーブル105におけるライト
アクセスのアドレスに対するロック状態フラグの値をラ
イトロック状態(flag=2)に変化させる。
【0044】また,ライトアクセスのアドレスに対して
アンロックする場合も同様で,通常のメモリライトアク
セスに加えて,アンロック制御信号UNLOCKをバス
コントローラ101に送る。バスコントローラ101
は,第1プロセッサ111からのアンロック制御信号U
NLOCKを検出すると,ロックテーブル105におけ
るライトアクセスのアドレスに対するロック状態フラグ
の値をアンロック状態(flag=0)に変化させる。
アンロックする場合も同様で,通常のメモリライトアク
セスに加えて,アンロック制御信号UNLOCKをバス
コントローラ101に送る。バスコントローラ101
は,第1プロセッサ111からのアンロック制御信号U
NLOCKを検出すると,ロックテーブル105におけ
るライトアクセスのアドレスに対するロック状態フラグ
の値をアンロック状態(flag=0)に変化させる。
【0045】尚,アンロック制御信号UNLOCKの発
行は,第1プロセッサ111が該アドレスについてライ
トロックをかけている場合(flag=2)のみ有効で
あり,それ以外の場合には,バスコントローラ101か
ら第1プロセッサ111に対して,エラー信号BERR
が返される。
行は,第1プロセッサ111が該アドレスについてライ
トロックをかけている場合(flag=2)のみ有効で
あり,それ以外の場合には,バスコントローラ101か
ら第1プロセッサ111に対して,エラー信号BERR
が返される。
【0046】次に,図5は,本実施例における第2バス
Bに接続されるプロセッサ112または113が共有メ
モリ102をアクセスする場合の動作を説明するフロー
チャートである。ここでは,第2プロセッサ112が共
有メモリ102をアクセスした場合について説明する。
Bに接続されるプロセッサ112または113が共有メ
モリ102をアクセスする場合の動作を説明するフロー
チャートである。ここでは,第2プロセッサ112が共
有メモリ102をアクセスした場合について説明する。
【0047】第2プロセッサ112は共有メモリ102
上のあるアドレスをアクセスするために,アドレススト
ローブ信号ASをイネーブルにすると共に,アドレスA
DRをバスコントローラ101に送る。この時(ステッ
プS501)のアクセスがリードであった場合は,バス
コントローラ101は,第1バスAを介してメモリコン
トローラ103にAS,DS,R/Wのメモリアクセス
信号を送り,共有メモリ102に対して第2プロセッサ
112によるリードアクセスを行なう(ステップS50
5)。
上のあるアドレスをアクセスするために,アドレススト
ローブ信号ASをイネーブルにすると共に,アドレスA
DRをバスコントローラ101に送る。この時(ステッ
プS501)のアクセスがリードであった場合は,バス
コントローラ101は,第1バスAを介してメモリコン
トローラ103にAS,DS,R/Wのメモリアクセス
信号を送り,共有メモリ102に対して第2プロセッサ
112によるリードアクセスを行なう(ステップS50
5)。
【0048】またステップS501において,アクセス
がライトであった場合は,バスコントローラ101はロ
ックテーブル105を参照し,そのアドレスに対応する
ロック状態フラグを検出する(ステップS502)。
がライトであった場合は,バスコントローラ101はロ
ックテーブル105を参照し,そのアドレスに対応する
ロック状態フラグを検出する(ステップS502)。
【0049】ステップS503の判断において,第2プ
ロセッサ112のアクセスするアドレスについて,第1
プロセッサ111によるライトロックがかかっていない
場合(flag=0)には,バスコントローラ101
は,第1バスAを介してメモリコントローラ103にA
S,DS,R/Wのメモリアクセス信号を送り,共有メ
モリ102に対する第2プロセッサ112によるライト
のメモリアクセスを行なう(ステップS504)。
ロセッサ112のアクセスするアドレスについて,第1
プロセッサ111によるライトロックがかかっていない
場合(flag=0)には,バスコントローラ101
は,第1バスAを介してメモリコントローラ103にA
S,DS,R/Wのメモリアクセス信号を送り,共有メ
モリ102に対する第2プロセッサ112によるライト
のメモリアクセスを行なう(ステップS504)。
【0050】ステップS503の判断において,第1プ
ロセッサ111によるライトロックがかかっている場合
(flag=2)には,第1バスAに信号を送出しない
で,第2バスBをウエイト状態にする。その後,ロック
テーブル105が第1プロセッサ111により更新され
て,ロック状態フラグの値が変化してライトロック状態
が解除(flag=0)されたら,バスコントローラ1
01は,第1バスAを介して共有メモリ102にAS,
DS,R/Wのメモリアクセス信号を送り,第2プロセ
ッサ112によるライトのメモリアクセスを行なう(ス
テップS504)。
ロセッサ111によるライトロックがかかっている場合
(flag=2)には,第1バスAに信号を送出しない
で,第2バスBをウエイト状態にする。その後,ロック
テーブル105が第1プロセッサ111により更新され
て,ロック状態フラグの値が変化してライトロック状態
が解除(flag=0)されたら,バスコントローラ1
01は,第1バスAを介して共有メモリ102にAS,
DS,R/Wのメモリアクセス信号を送り,第2プロセ
ッサ112によるライトのメモリアクセスを行なう(ス
テップS504)。
【0051】〔実施例3〕次に,本発明の実施例3に係
るデータ処理装置における共有メモリの排他制御方法の
概要について,図6を参照して説明する。尚,本実施例
のデータ処理装置の構成は実施例1と同等である。
るデータ処理装置における共有メモリの排他制御方法の
概要について,図6を参照して説明する。尚,本実施例
のデータ処理装置の構成は実施例1と同等である。
【0052】図6は,本実施例における第2バスBに接
続されるプロセッサ112または113が共有メモリ1
02をアクセスする場合の動作を説明するフローチャー
トである。ここでは,第2プロセッサ112が共有メモ
リ102をアクセスした場合を例にとり説明する。
続されるプロセッサ112または113が共有メモリ1
02をアクセスする場合の動作を説明するフローチャー
トである。ここでは,第2プロセッサ112が共有メモ
リ102をアクセスした場合を例にとり説明する。
【0053】第2プロセッサ112は共有メモリ102
上のあるアドレスをアクセスするために,アドレススト
ローブ信号ASをイネーブルにすると共に,アドレスA
DRをバスコントローラ101に送る。バスコントロー
ラ101は,ロックテーブル105を参照し,そのアド
レスに対応するロック状態フラグを検出する(ステップ
S601)。
上のあるアドレスをアクセスするために,アドレススト
ローブ信号ASをイネーブルにすると共に,アドレスA
DRをバスコントローラ101に送る。バスコントロー
ラ101は,ロックテーブル105を参照し,そのアド
レスに対応するロック状態フラグを検出する(ステップ
S601)。
【0054】ステップS602の判断において,第2プ
ロセッサ112のアクセスするアドレスについて,第1
プロセッサ111によるロックがかかっていない場合
(flag=0)には,バスコントローラ101は,第
1バスAを介してメモリコントローラ103にAS,D
S,R/Wのメモリアクセス信号を送り,共有メモリ1
02に対する第2プロセッサ112によるリード/ライ
トのメモリアクセスを行なう(ステップS603)。
ロセッサ112のアクセスするアドレスについて,第1
プロセッサ111によるロックがかかっていない場合
(flag=0)には,バスコントローラ101は,第
1バスAを介してメモリコントローラ103にAS,D
S,R/Wのメモリアクセス信号を送り,共有メモリ1
02に対する第2プロセッサ112によるリード/ライ
トのメモリアクセスを行なう(ステップS603)。
【0055】ステップS602の判断において,第1プ
ロセッサ111によるロックがかかっている場合(fl
ag=1)には,第1バスAに信号を送出しないで,エ
ラー信号BERRを第2プロセッサ112に送出し,ア
クセスしようとしているアドレスに対して第1プロセッ
サ111によるロックがかかっている旨を第2プロセッ
サに知らせ,当該フローチャートの処理を終了する。
尚,第1プロセッサ111がロック/アンロックによる
排他制御を行う動作は請求項1と同様である。
ロセッサ111によるロックがかかっている場合(fl
ag=1)には,第1バスAに信号を送出しないで,エ
ラー信号BERRを第2プロセッサ112に送出し,ア
クセスしようとしているアドレスに対して第1プロセッ
サ111によるロックがかかっている旨を第2プロセッ
サに知らせ,当該フローチャートの処理を終了する。
尚,第1プロセッサ111がロック/アンロックによる
排他制御を行う動作は請求項1と同様である。
【0056】〔実施例4〕次に,本発明の実施例4に係
るデータ処理装置における共有メモリの排他制御方法の
概要について,図1及び図4を参照して説明する。
るデータ処理装置における共有メモリの排他制御方法の
概要について,図1及び図4を参照して説明する。
【0057】図1において,本実施例のデータ処理装置
の構成は実施例1と同様の構成であるが,ロックテーブ
ル105が共有メモリ102のページ毎の排他制御状態
を管理する点で異なる。即ち,ロックテーブル105
は,図3に示すように,ページ番号とそれに対するロッ
ク状態のフラグからなっている。例えば,ロックテーブ
ルが図3に示す状態であった場合,ページ番号”000
4”〜”0005”だけがロックされている。
の構成は実施例1と同様の構成であるが,ロックテーブ
ル105が共有メモリ102のページ毎の排他制御状態
を管理する点で異なる。即ち,ロックテーブル105
は,図3に示すように,ページ番号とそれに対するロッ
ク状態のフラグからなっている。例えば,ロックテーブ
ルが図3に示す状態であった場合,ページ番号”000
4”〜”0005”だけがロックされている。
【0058】第1プロセッサ111が共有メモリ102
のあるページをアクセスすると同時に,排他制御を行う
旨のロック制御信号LOCKを発行した場合には,バス
コントローラ101は,ロックテーブル105の内容
を,第1プロセッサ111が発したページ番号に対する
ロック状態フラグの値についてロック状態(flag=
1)に変えて更新する。
のあるページをアクセスすると同時に,排他制御を行う
旨のロック制御信号LOCKを発行した場合には,バス
コントローラ101は,ロックテーブル105の内容
を,第1プロセッサ111が発したページ番号に対する
ロック状態フラグの値についてロック状態(flag=
1)に変えて更新する。
【0059】また,第1プロセッサ111が共有メモリ
102のあるページをアクセスすると同時に,排他制御
を行わない旨のアンロック制御信号UNLOCKを発行
した場合には,バスコントローラ101は,ロックテー
ブル105の内容を,第1プロセッサ111が発したペ
ージ番号に対するロック状態フラグの値についてアンロ
ック状態(flag=0)に変えて更新する。尚,アン
ロック制御信号UNLOCKの発行は,第1プロセッサ
111が該ページについてロックをかけている場合(f
lag=1)のみ有効であり,それ以外の場合には,バ
スコントローラ101から第1プロセッサ111に対し
て,エラー信号BERRが返される。
102のあるページをアクセスすると同時に,排他制御
を行わない旨のアンロック制御信号UNLOCKを発行
した場合には,バスコントローラ101は,ロックテー
ブル105の内容を,第1プロセッサ111が発したペ
ージ番号に対するロック状態フラグの値についてアンロ
ック状態(flag=0)に変えて更新する。尚,アン
ロック制御信号UNLOCKの発行は,第1プロセッサ
111が該ページについてロックをかけている場合(f
lag=1)のみ有効であり,それ以外の場合には,バ
スコントローラ101から第1プロセッサ111に対し
て,エラー信号BERRが返される。
【0060】次に,本実施例における第2バスBに接続
される第2プロセッサ112が共有メモリ102をアク
セスする場合の動作を,図4に示すフローチャートを参
照して説明する。
される第2プロセッサ112が共有メモリ102をアク
セスする場合の動作を,図4に示すフローチャートを参
照して説明する。
【0061】第2プロセッサ112は共有メモリ102
上のあるページをアクセスするために,アドレスストロ
ーブ信号ASをイネーブルにすると共に,該ページのア
ドレスADRをバスコントローラ101に送る。バスコ
ントローラ101は,ロックテーブル105を参照し,
該ページに対応するロック状態フラグを検出する(ステ
ップS401)。
上のあるページをアクセスするために,アドレスストロ
ーブ信号ASをイネーブルにすると共に,該ページのア
ドレスADRをバスコントローラ101に送る。バスコ
ントローラ101は,ロックテーブル105を参照し,
該ページに対応するロック状態フラグを検出する(ステ
ップS401)。
【0062】ステップS402の判断において,第2プ
ロセッサ112のアクセスするページ番号について,第
1プロセッサ111によるロックがかかっていない場合
(flag=0)には,バスコントローラ101は,第
1バスAを介してメモリコントローラ103にAS,D
S,R/Wのメモリアクセス信号を送り,共有メモリ1
02に対する第2プロセッサ112によるリード/ライ
トのメモリアクセスを行なう(ステップS403)。
ロセッサ112のアクセスするページ番号について,第
1プロセッサ111によるロックがかかっていない場合
(flag=0)には,バスコントローラ101は,第
1バスAを介してメモリコントローラ103にAS,D
S,R/Wのメモリアクセス信号を送り,共有メモリ1
02に対する第2プロセッサ112によるリード/ライ
トのメモリアクセスを行なう(ステップS403)。
【0063】ステップS402の判断において,該ペー
ジ番号について第1プロセッサ111によるロックがか
かっている場合(flag=1)には,第1バスAに信
号を送出しないで,第2バスBをウエイト状態にする。
その後,ロックテーブル105が第1プロセッサ111
により更新されて,ロック状態フラグの値が変化してロ
ック状態が解除(flag=0)されたら,バスコント
ローラ101は,第1バスAを介して共有メモリ102
にAS,DS,R/Wのメモリアクセス信号を送り,第
2プロセッサ112によるメモリアクセスを行なう(ス
テップS403)。
ジ番号について第1プロセッサ111によるロックがか
かっている場合(flag=1)には,第1バスAに信
号を送出しないで,第2バスBをウエイト状態にする。
その後,ロックテーブル105が第1プロセッサ111
により更新されて,ロック状態フラグの値が変化してロ
ック状態が解除(flag=0)されたら,バスコント
ローラ101は,第1バスAを介して共有メモリ102
にAS,DS,R/Wのメモリアクセス信号を送り,第
2プロセッサ112によるメモリアクセスを行なう(ス
テップS403)。
【0064】
【発明の効果】以上説明したように,本発明の請求項1
に係るデータ処理装置における共有メモリの排他制御方
法,並びに,請求項5に係るデータ処理装置によれば,
一のバスに接続されるプロセッサが,共有メモリの所定
アドレスを排他制御でアクセスする場合に,その旨をバ
スコントローラに通知し,一方,バスコントローラは,
一のバスに接続されるプロセッサから排他制御でアクセ
スする旨の通知を受けて,ロックテーブルを更新し,他
のバスに接続されるプロセッサが共有メモリをアクセス
する際には,バスコントローラが,該アクセスの対象ア
ドレスが排他制御状態か否かをロックテーブルを参照し
て判断し,排他制御状態である場合には,該プロセッサ
からの共有メモリに対するアクセス信号の供給を停止す
る待ち状態とし,排他制御状態が解除された後に,該プ
ロセッサの共有メモリへのアクセスを再開させることと
したので,ソフトウェアフラグ等のメモリアクセスを省
くことができ,処理時間を増やすことなく共有メモリの
排他制御を行うことができ,また,その管理をハードウ
ェアで行なうことにより,ソフトウェアで排他制御を行
なう場合の複雑な処理が不要となり,更に,アドレス毎
に排他制御を行なうので,他のアドレスに対するアクセ
スへの影響が無いデータ処理装置及びデータ処理装置に
おける共有メモリの排他制御方法を提供することができ
る。
に係るデータ処理装置における共有メモリの排他制御方
法,並びに,請求項5に係るデータ処理装置によれば,
一のバスに接続されるプロセッサが,共有メモリの所定
アドレスを排他制御でアクセスする場合に,その旨をバ
スコントローラに通知し,一方,バスコントローラは,
一のバスに接続されるプロセッサから排他制御でアクセ
スする旨の通知を受けて,ロックテーブルを更新し,他
のバスに接続されるプロセッサが共有メモリをアクセス
する際には,バスコントローラが,該アクセスの対象ア
ドレスが排他制御状態か否かをロックテーブルを参照し
て判断し,排他制御状態である場合には,該プロセッサ
からの共有メモリに対するアクセス信号の供給を停止す
る待ち状態とし,排他制御状態が解除された後に,該プ
ロセッサの共有メモリへのアクセスを再開させることと
したので,ソフトウェアフラグ等のメモリアクセスを省
くことができ,処理時間を増やすことなく共有メモリの
排他制御を行うことができ,また,その管理をハードウ
ェアで行なうことにより,ソフトウェアで排他制御を行
なう場合の複雑な処理が不要となり,更に,アドレス毎
に排他制御を行なうので,他のアドレスに対するアクセ
スへの影響が無いデータ処理装置及びデータ処理装置に
おける共有メモリの排他制御方法を提供することができ
る。
【0065】また,請求項2に係るデータ処理装置にお
ける共有メモリの排他制御方法によれば,一のバスに接
続されるプロセッサが,共有メモリの所定アドレスを排
他制御でライトアクセスする場合に,その旨をバスコン
トローラに通知し,一方,バスコントローラは,一のバ
スに接続されるプロセッサから排他制御でライトアクセ
スする旨の通知を受けて,ロックテーブルを更新し,ま
た,他のバスに接続されるプロセッサが共有メモリをラ
イトアクセスする際には,バスコントローラが,該ライ
トアクセスの対象アドレスがライト排他制御状態か否か
をロックテーブルを参照して判断し,ライト排他制御状
態である場合には,該プロセッサからの共有メモリに対
するライトアクセス信号の供給を停止する待ち状態と
し,ライト排他制御状態が解除された後に,該プロセッ
サの共有メモリへのライトアクセスを再開させることと
したので,ソフトウェアフラグ等のメモリアクセスを省
くことができ,処理時間を増やすことなく共有メモリの
ライトアクセスの排他制御を行い得るデータ処理装置に
おける共有メモリの排他制御方法を提供することができ
る。
ける共有メモリの排他制御方法によれば,一のバスに接
続されるプロセッサが,共有メモリの所定アドレスを排
他制御でライトアクセスする場合に,その旨をバスコン
トローラに通知し,一方,バスコントローラは,一のバ
スに接続されるプロセッサから排他制御でライトアクセ
スする旨の通知を受けて,ロックテーブルを更新し,ま
た,他のバスに接続されるプロセッサが共有メモリをラ
イトアクセスする際には,バスコントローラが,該ライ
トアクセスの対象アドレスがライト排他制御状態か否か
をロックテーブルを参照して判断し,ライト排他制御状
態である場合には,該プロセッサからの共有メモリに対
するライトアクセス信号の供給を停止する待ち状態と
し,ライト排他制御状態が解除された後に,該プロセッ
サの共有メモリへのライトアクセスを再開させることと
したので,ソフトウェアフラグ等のメモリアクセスを省
くことができ,処理時間を増やすことなく共有メモリの
ライトアクセスの排他制御を行い得るデータ処理装置に
おける共有メモリの排他制御方法を提供することができ
る。
【0066】また,請求項3に係るデータ処理装置にお
ける共有メモリの排他制御方法によれば,バスコントロ
ーラは,他のバスに接続されるプロセッサの共有メモリ
に対するアクセスまたはライトアクセスの対象アドレス
が排他制御状態またはライト排他制御状態である場合に
は,該プロセッサに対してエラー通知を行うこととした
ので,ハードウェア制御により処理時間を低減したデー
タ処理装置における共有メモリの排他制御方法を提供す
ることができる。
ける共有メモリの排他制御方法によれば,バスコントロ
ーラは,他のバスに接続されるプロセッサの共有メモリ
に対するアクセスまたはライトアクセスの対象アドレス
が排他制御状態またはライト排他制御状態である場合に
は,該プロセッサに対してエラー通知を行うこととした
ので,ハードウェア制御により処理時間を低減したデー
タ処理装置における共有メモリの排他制御方法を提供す
ることができる。
【0067】更に,請求項4に係るデータ処理装置にお
ける共有メモリの排他制御方法,並びに,請求項6に係
るデータ処理装置によれば,一のバスに接続されるプロ
セッサが,共有メモリの所定ページを排他制御でアクセ
スする場合に,その旨をバスコントローラに通知し,一
方,バスコントローラは,一のバスに接続されるプロセ
ッサから排他制御でアクセスする旨の通知を受けて,ロ
ックテーブルを更新し,また,他のバスに接続されるプ
ロセッサが共有メモリをアクセスする際には,バスコン
トローラが,該アクセスの対象ページが排他制御状態か
否かをロックテーブルを参照して判断し,排他制御状態
である場合には,該プロセッサからの共有メモリに対す
るアクセス信号の供給を停止する待ち状態とし,排他制
御状態が解除された後に,該プロセッサの共有メモリへ
のアクセスを再開させることとしたので,ソフトウェア
フラグ等のメモリアクセスを省くことができ,処理時間
を増やすことなく共有メモリの排他制御を行うことがで
き,また,その管理をハードウェアで行なうことによ
り,ソフトウェアで排他制御を行なう場合の複雑な処理
が不要となり,更に,ページ毎に排他制御を行なうの
で,他のページに対するアクセスへの影響が無いデータ
処理装置及びデータ処理装置における共有メモリの排他
制御方法を提供することができる。
ける共有メモリの排他制御方法,並びに,請求項6に係
るデータ処理装置によれば,一のバスに接続されるプロ
セッサが,共有メモリの所定ページを排他制御でアクセ
スする場合に,その旨をバスコントローラに通知し,一
方,バスコントローラは,一のバスに接続されるプロセ
ッサから排他制御でアクセスする旨の通知を受けて,ロ
ックテーブルを更新し,また,他のバスに接続されるプ
ロセッサが共有メモリをアクセスする際には,バスコン
トローラが,該アクセスの対象ページが排他制御状態か
否かをロックテーブルを参照して判断し,排他制御状態
である場合には,該プロセッサからの共有メモリに対す
るアクセス信号の供給を停止する待ち状態とし,排他制
御状態が解除された後に,該プロセッサの共有メモリへ
のアクセスを再開させることとしたので,ソフトウェア
フラグ等のメモリアクセスを省くことができ,処理時間
を増やすことなく共有メモリの排他制御を行うことがで
き,また,その管理をハードウェアで行なうことによ
り,ソフトウェアで排他制御を行なう場合の複雑な処理
が不要となり,更に,ページ毎に排他制御を行なうの
で,他のページに対するアクセスへの影響が無いデータ
処理装置及びデータ処理装置における共有メモリの排他
制御方法を提供することができる。
【図1】本発明の実施例1に係るデータ処理装置の構成
図である。
図である。
【図2】実施例1のロックテーブルの説明図である。
【図3】実施例4のロックテーブルの説明図である。
【図4】実施例1または実施例4における第2バスに接
続されるプロセッサが共有メモリをアクセスする場合の
動作を説明するフローチャートである。
続されるプロセッサが共有メモリをアクセスする場合の
動作を説明するフローチャートである。
【図5】実施例2における第2バスに接続されるプロセ
ッサが共有メモリをアクセスする場合の動作を説明する
フローチャートである。
ッサが共有メモリをアクセスする場合の動作を説明する
フローチャートである。
【図6】実施例3における第2バスに接続されるプロセ
ッサが共有メモリをアクセスする場合の動作を説明する
フローチャートである。
ッサが共有メモリをアクセスする場合の動作を説明する
フローチャートである。
101 バスコントローラ 102 共有メモリ 103 メモリコントローラ 105 ロックテーブル 111 第1プロセッサ 112 第2プロセッサ 113 第3プロセッサ A 第1バス B 第2バス ADR アドレス DATA データ AS アドレスストローブ信号 DS データストローブ信号 R/W リード/ライト信号 ACK アクノリッジ信号 BERR エラー信号 LOCK ロック制御信号 UNLOCK アンロック制御信号
Claims (6)
- 【請求項1】 一のバスに接続される共有メモリと,前
記一のバス及び他のバスに接続され,各バス間の調停を
行うと共に,前記共有メモリへのアクセスについて前記
一及び他のバスに接続されるプロセッサ間の排他制御
を,前記共有メモリのアドレス毎の排他制御状態を管理
するロックテーブルを参照して行うバスコントローラ
と,を備えるデータ処理装置における共有メモリの排他
制御方法において,前記一のバスに接続されるプロセッ
サが,前記共有メモリの所定アドレスを排他制御でアク
セスする場合に,その旨を前記バスコントローラに通知
する第1ステップと,前記バスコントローラが,前記一
のバスに接続されるプロセッサから排他制御でアクセス
する旨の通知を受けて,前記ロックテーブルを更新する
第2ステップと,前記他のバスに接続されるプロセッサ
が前記共有メモリをアクセスする際に,前記バスコント
ローラが,該アクセスの対象アドレスが排他制御状態か
否かを前記ロックテーブルを参照して判断し,排他制御
状態である場合には,該プロセッサからの前記共有メモ
リに対するアクセス信号の供給を停止する待ち状態と
し,排他制御状態が解除された後に,該プロセッサの前
記共有メモリへのアクセスを再開させる第3ステップ
と,を有することを特徴とするデータ処理装置における
共有メモリの排他制御方法。 - 【請求項2】 前記データ処理装置における共有メモリ
の排他制御方法は,前記一のバスに接続されるプロセッ
サが,前記共有メモリの所定アドレスを排他制御でライ
トアクセスする場合に,その旨を前記バスコントローラ
に通知する第4ステップと,前記バスコントローラが,
前記一のバスに接続されるプロセッサから排他制御でラ
イトアクセスする旨の通知を受けて,前記ロックテーブ
ルを更新する第5ステップと,前記他のバスに接続され
るプロセッサが前記共有メモリをライトアクセスする際
に,前記バスコントローラが,該ライトアクセスの対象
アドレスがライト排他制御状態か否かを前記ロックテー
ブルを参照して判断し,ライト排他制御状態である場合
には,該プロセッサからの前記共有メモリに対するライ
トアクセス信号の供給を停止する待ち状態とし,ライト
排他制御状態が解除された後に,該プロセッサの前記共
有メモリへのライトアクセスを再開させる第6ステップ
と,を有することを特徴とする請求項1記載のデータ処
理装置における共有メモリの排他制御方法。 - 【請求項3】 前記第3ステップまたは第6ステップに
おいて,前記バスコントローラは,前記他のバスに接続
されるプロセッサの前記共有メモリに対するアクセスま
たはライトアクセスの対象アドレスが排他制御状態また
はライト排他制御状態である場合には,該プロセッサに
対してエラー通知を行うことを特徴とする請求項1また
は2記載のデータ処理装置における共有メモリの排他制
御方法。 - 【請求項4】 一のバスに接続される共有メモリと,前
記一のバス及び他のバスに接続され,各バス間の調停を
行うと共に,前記共有メモリへのアクセスについて前記
一及び他のバスに接続されるプロセッサ間の排他制御
を,前記共有メモリのページ毎の排他制御状態を管理す
るロックテーブルを参照して行うバスコントローラと,
を備えるデータ処理装置における共有メモリの排他制御
方法において,前記一のバスに接続されるプロセッサ
が,前記共有メモリの所定ページを排他制御でアクセス
する場合に,その旨を前記バスコントローラに通知する
第1ステップと,前記バスコントローラが,前記一のバ
スに接続されるプロセッサから排他制御でアクセスする
旨の通知を受けて,前記ロックテーブルを更新する第2
ステップと,前記他のバスに接続されるプロセッサが前
記共有メモリをアクセスする際に,前記バスコントロー
ラが,該アクセスの対象ページが排他制御状態か否かを
前記ロックテーブルを参照して判断し,排他制御状態で
ある場合には,該プロセッサからの前記共有メモリに対
するアクセス信号の供給を停止する待ち状態とし,排他
制御状態が解除された後に,該プロセッサの前記共有メ
モリへのアクセスを再開させる第3ステップと,を有す
ることを特徴とするデータ処理装置における共有メモリ
の排他制御方法。 - 【請求項5】 一のバスに接続される共有メモリと,前
記一のバス及び他のバスに接続され,各バス間の調停を
行うと共に,前記共有メモリへのアクセスについて前記
一及び他のバスに接続されるプロセッサ間の排他制御
を,前記共有メモリのアドレス毎の排他制御状態を管理
するロックテーブルを参照して行うバスコントローラ
と,を備えるデータ処理装置において,前記バスコント
ローラは,前記一のバスに接続されるプロセッサから前
記共有メモリの所定アドレスに対して排他制御でアクセ
スする旨の通知を受けたときに,前記ロックテーブルを
更新し,前記他のバスに接続されるプロセッサが前記共
有メモリをアクセスする際には,該アクセスの対象アド
レスが排他制御状態か否かを前記ロックテーブルを参照
して判断し,排他制御状態である場合には,前記他のバ
スに接続されるプロセッサからの前記共有メモリに対す
るアクセス信号の供給を停止する待ち状態とし,排他制
御状態が解除された後に,前記他のバスに接続されるプ
ロセッサの前記共有メモリへのアクセスを再開させるこ
とを特徴とするデータ処理装置。 - 【請求項6】 一のバスに接続される共有メモリと,前
記一のバス及び他のバスに接続され,各バス間の調停を
行うと共に,前記共有メモリへのアクセスについて前記
一及び他のバスに接続されるプロセッサ間の排他制御
を,前記共有メモリのページ毎の排他制御状態を管理す
るロックテーブルを参照して行うバスコントローラと,
を備えるデータ処理装置において,前記バスコントロー
ラは,前記一のバスに接続されるプロセッサから前記共
有メモリの所定ページに対して排他制御でアクセスする
旨の通知を受けたときに,前記ロックテーブルを更新
し,前記他のバスに接続されるプロセッサが前記共有メ
モリをアクセスする際には,該アクセスの対象ページが
排他制御状態か否かを前記ロックテーブルを参照して判
断し,排他制御状態である場合には,前記他のバスに接
続されるプロセッサからの前記共有メモリに対するアク
セス信号の供給を停止する待ち状態とし,排他制御状態
が解除された後に,前記他のバスに接続されるプロセッ
サの前記共有メモリへのアクセスを再開させることを特
徴とするデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8109910A JPH09297706A (ja) | 1996-04-30 | 1996-04-30 | データ処理装置及びデータ処理装置における共有メモリの排他制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8109910A JPH09297706A (ja) | 1996-04-30 | 1996-04-30 | データ処理装置及びデータ処理装置における共有メモリの排他制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH09297706A true JPH09297706A (ja) | 1997-11-18 |
Family
ID=14522256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8109910A Pending JPH09297706A (ja) | 1996-04-30 | 1996-04-30 | データ処理装置及びデータ処理装置における共有メモリの排他制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH09297706A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009230757A (ja) * | 2008-03-24 | 2009-10-08 | Nvidia Corp | 共有メモリに対するアトミックな更新を可能にするロックメカニズム |
KR20180125734A (ko) * | 2017-05-16 | 2018-11-26 | 한국전자통신연구원 | 파라미터 공유 장치 및 방법 |
CN114996180A (zh) * | 2022-05-31 | 2022-09-02 | 上海阵量智能科技有限公司 | 一种访问控制方法、系统、芯片、板卡和电子设备 |
-
1996
- 1996-04-30 JP JP8109910A patent/JPH09297706A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009230757A (ja) * | 2008-03-24 | 2009-10-08 | Nvidia Corp | 共有メモリに対するアトミックな更新を可能にするロックメカニズム |
KR20180125734A (ko) * | 2017-05-16 | 2018-11-26 | 한국전자통신연구원 | 파라미터 공유 장치 및 방법 |
CN114996180A (zh) * | 2022-05-31 | 2022-09-02 | 上海阵量智能科技有限公司 | 一种访问控制方法、系统、芯片、板卡和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0815513B1 (en) | Multi-processing cache coherency protocol on a local bus | |
US6578116B2 (en) | Snoop blocking for cache coherency | |
US5550988A (en) | Apparatus and method for performing error correction in a multi-processor system | |
US6587931B1 (en) | Directory-based cache coherency system supporting multiple instruction processor and input/output caches | |
EP0667578B1 (en) | Apparatus and method for checking cache coherency with double snoop mechanism | |
US5682516A (en) | Computer system that maintains system wide cache coherency during deferred communication transactions | |
US5274787A (en) | Method of copy-back cache coherence control and tightly coupled multi-processor system with split transfer system bus | |
KR100915260B1 (ko) | 오토믹 세마포어 연산을 수행하기 위한 방법 및 장치 | |
US20040236914A1 (en) | Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment | |
US20060236039A1 (en) | Method and apparatus for synchronizing shared data between components in a group | |
US6970963B2 (en) | Apparatus and method for synchronizing multiple accesses to common resources | |
JPH04213136A (ja) | 参照ビット,変更ビットの更新方法 | |
US5778441A (en) | Method and apparatus for accessing split lock variables in a computer system | |
US6490662B1 (en) | System and method for enhancing the reliability of a computer system by combining a cache sync-flush engine with a replicated memory module | |
JPH09297706A (ja) | データ処理装置及びデータ処理装置における共有メモリの排他制御方法 | |
US7558923B1 (en) | Prevention of live-lock in a multi-processor system | |
JP2776759B2 (ja) | ロックリクエスト制御装置 | |
US20040049637A1 (en) | Cache memory for invalidating data or writing back data to a main memory | |
JPH1011348A (ja) | Dramの制御装置およびそのdram | |
JP2002202960A (ja) | データ処理方法および装置 | |
US5781925A (en) | Method of preventing cache corruption during microprocessor pipelined burst operations | |
JPH0353657B2 (ja) | ||
JPH04305746A (ja) | キャッシュメモリ制御装置 | |
JPS6153747B2 (ja) | ||
EP1984943B1 (en) | Selective transaction request processing at an interconnect during a lockout |