JPH04182858A - 共有メモリ管理方式 - Google Patents
共有メモリ管理方式Info
- Publication number
- JPH04182858A JPH04182858A JP31367590A JP31367590A JPH04182858A JP H04182858 A JPH04182858 A JP H04182858A JP 31367590 A JP31367590 A JP 31367590A JP 31367590 A JP31367590 A JP 31367590A JP H04182858 A JPH04182858 A JP H04182858A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- semaphore
- access
- shared
- shared memory
- 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
- 238000007726 management method Methods 0.000 claims description 17
- 238000000034 method Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 7
- 230000007704 transition Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
この発明は、複数のプロセッサまたはタスクなどが共有
する共有データの更新に際して、それが終了するまでの
間、他のプロセッサ等からの当該共有データの参照や更
新をセマフォ制御によって排除する共有メモリ管理方式
に関するものである。
する共有データの更新に際して、それが終了するまでの
間、他のプロセッサ等からの当該共有データの参照や更
新をセマフォ制御によって排除する共有メモリ管理方式
に関するものである。
第4図は例えば特開昭62−200449号公報に示さ
れた従来の共有メモリ管理方式を示す構成図である。図
において、11〜1□は複数のプロセッサ、2はこれら
各プロセッサ11〜17が接続されたメモリバスであり
、3はこのメモリバス2に接続されて前記各プロセッサ
II〜1゜にて共有される共有メモリである。41〜4
イはこの共有メモリ3内に格納され、前記各プロセッサ
11〜17にて共有される共有データであり、5I〜5
mは各共有データ41〜4.に対応して設けられ、対応
付けられた共有データ41〜41へのアクセスを排他的
に制御するためのセマフォである。 次に動作について説明する。ここで、第5図はその動作
を説明するためのセマフォの内容の遷移図である。 今、プロセッサ1□が共有メモリ3内の共有データ4□
を更新しようとする場合、プロセッサ1□は当該共有デ
ータ41に対応付けられたセマフォ5、の値を調べるた
めにまずその内容を読み出してくる。第5図(a)は読
み出されたセマフォ5□の内容を示している。 この時、そのセマフォ5.の排他制御ビットであるビッ
トD7が図示のように°“0′′であれば、第5図(b
)に示すように、当該ビットD7を“1”に更新すると
ともに、ビットDO〜D6にプロセッサまたはタスクを
識別するための値として、プロセッサ1□のプロセッサ
番号を付加してセマフォ5Iに書き込む。この場合には
、プロセッサが持っているセマフォ操作専用の命令(例
えばTes t& Set命令)が用いられる。第5図
(b)、 (C)中で斜線を施した部分がこのプロセッ
サまたはタスクを識別するための値である。 プロセッサ1□はセマフォ51に第5図(C)に示した
更新値を書き込んだ後、共有データ41へのアクセスを
開始する。この共有データ41へのアクセスが終了する
と、プロセッサ1□はセマフォ5Iの内容を、排他制御
ビットであるビットD7が0”の第5図(a)に示した
ものに戻す。 ここで、プロセッサ1□がセマフォの制御権を持ってい
る最中に、プロセッサ17がプロセッサ1□のアクセス
している共有データ3Iにアクセスしようとした場合、
以下のようにして排他制御が行われる。即ち、プロセッ
サ1.lがセマフオ5゜の内容を読み出してその排他制
御ビットを調べると、その値はプロセッサ1□によって
“1″に更新されているため、それが“0”に戻される
までこのセマフォ51の読み出し・チエツクの動作を継
続する。 プロセッサ1□による共有データ41へのアクセスが終
了して、セマフォ5.の排他制御ビットが“0パになる
と、プロセッサ1.lはプロセッサ1、の場合と同様に
してセマフォ制御権を獲得し、共有データ4.へのアク
セスを開始する。
れた従来の共有メモリ管理方式を示す構成図である。図
において、11〜1□は複数のプロセッサ、2はこれら
各プロセッサ11〜17が接続されたメモリバスであり
、3はこのメモリバス2に接続されて前記各プロセッサ
II〜1゜にて共有される共有メモリである。41〜4
イはこの共有メモリ3内に格納され、前記各プロセッサ
11〜17にて共有される共有データであり、5I〜5
mは各共有データ41〜4.に対応して設けられ、対応
付けられた共有データ41〜41へのアクセスを排他的
に制御するためのセマフォである。 次に動作について説明する。ここで、第5図はその動作
を説明するためのセマフォの内容の遷移図である。 今、プロセッサ1□が共有メモリ3内の共有データ4□
を更新しようとする場合、プロセッサ1□は当該共有デ
ータ41に対応付けられたセマフォ5、の値を調べるた
めにまずその内容を読み出してくる。第5図(a)は読
み出されたセマフォ5□の内容を示している。 この時、そのセマフォ5.の排他制御ビットであるビッ
トD7が図示のように°“0′′であれば、第5図(b
)に示すように、当該ビットD7を“1”に更新すると
ともに、ビットDO〜D6にプロセッサまたはタスクを
識別するための値として、プロセッサ1□のプロセッサ
番号を付加してセマフォ5Iに書き込む。この場合には
、プロセッサが持っているセマフォ操作専用の命令(例
えばTes t& Set命令)が用いられる。第5図
(b)、 (C)中で斜線を施した部分がこのプロセッ
サまたはタスクを識別するための値である。 プロセッサ1□はセマフォ51に第5図(C)に示した
更新値を書き込んだ後、共有データ41へのアクセスを
開始する。この共有データ41へのアクセスが終了する
と、プロセッサ1□はセマフォ5Iの内容を、排他制御
ビットであるビットD7が0”の第5図(a)に示した
ものに戻す。 ここで、プロセッサ1□がセマフォの制御権を持ってい
る最中に、プロセッサ17がプロセッサ1□のアクセス
している共有データ3Iにアクセスしようとした場合、
以下のようにして排他制御が行われる。即ち、プロセッ
サ1.lがセマフオ5゜の内容を読み出してその排他制
御ビットを調べると、その値はプロセッサ1□によって
“1″に更新されているため、それが“0”に戻される
までこのセマフォ51の読み出し・チエツクの動作を継
続する。 プロセッサ1□による共有データ41へのアクセスが終
了して、セマフォ5.の排他制御ビットが“0パになる
と、プロセッサ1.lはプロセッサ1、の場合と同様に
してセマフォ制御権を獲得し、共有データ4.へのアク
セスを開始する。
従来の共有メモリ管理方式は以上のように構成されてい
るので、1つのプロセッサ1.〜17が共有メモリ3に
アクセス中に2つ以上のプロセッサ1□〜17がその共
有メモリ3にアクセスしようとした状況下で、その共有
メモリ3をアクセスしていたプロセッサ11〜IRがア
クセスを終了した場合、共有メモリ3にアクセスしよう
としている複数のプロセッサII〜1.1中のどれが共
有メモリ3へのアクセスを許可されるかは、専らそのプ
ロセッサII〜11.の動作タイミングに依存して予測
することができず、また、複数のプロセッサ1.〜1o
が共有メモリ3へのアクセスを待つ場合、メモリバス2
へのアクセスが多発してメモリバス2が無用に占有され
てシステムの性能が低下するばかりか、共有メモリ3へ
のアクセスを待つプロセッサl+〜1ゎは、共有メモリ
3へのアクセスを終了するまで他の処理が実行できず、
プロセッサl、〜lゎそのものの処理性能も低下するな
どの課題があった。 この発明は上記のような課題を解消するためになされた
もので、共有メモリへのアクセスを待っている複数のプ
ロセッサ中で、次にアクセスが許可されるものを判断す
ることができ、メモリバスへのアクセスが多発せず、待
ち合わせ中のプロセッサはアクセスが許可されるまで他
の処理を実行することのできる共有メモリ管理方式を得
ることを目的とする。
るので、1つのプロセッサ1.〜17が共有メモリ3に
アクセス中に2つ以上のプロセッサ1□〜17がその共
有メモリ3にアクセスしようとした状況下で、その共有
メモリ3をアクセスしていたプロセッサ11〜IRがア
クセスを終了した場合、共有メモリ3にアクセスしよう
としている複数のプロセッサII〜1.1中のどれが共
有メモリ3へのアクセスを許可されるかは、専らそのプ
ロセッサII〜11.の動作タイミングに依存して予測
することができず、また、複数のプロセッサ1.〜1o
が共有メモリ3へのアクセスを待つ場合、メモリバス2
へのアクセスが多発してメモリバス2が無用に占有され
てシステムの性能が低下するばかりか、共有メモリ3へ
のアクセスを待つプロセッサl+〜1ゎは、共有メモリ
3へのアクセスを終了するまで他の処理が実行できず、
プロセッサl、〜lゎそのものの処理性能も低下するな
どの課題があった。 この発明は上記のような課題を解消するためになされた
もので、共有メモリへのアクセスを待っている複数のプ
ロセッサ中で、次にアクセスが許可されるものを判断す
ることができ、メモリバスへのアクセスが多発せず、待
ち合わせ中のプロセッサはアクセスが許可されるまで他
の処理を実行することのできる共有メモリ管理方式を得
ることを目的とする。
この発明に係る共有メモリ管理方式は、セマフォに共有
データへのアクセスの待ち合わせを管理するキュー領域
を付加し、各プロセッサに、バスロックした状態でセマ
フォの操作を行い、ハスロックを解除した状態で共有デ
ータへのアクセスを行う機能、および共有データへのア
クセス終了時にバスロックを行って、セマフォのキュー
領域の内容より次に共有メモリにアクセスすべきプロセ
ッサを決定し、当該プロセッサへの割り込みによって共
有メモリの解放を通知する機能を持たせたものである。
データへのアクセスの待ち合わせを管理するキュー領域
を付加し、各プロセッサに、バスロックした状態でセマ
フォの操作を行い、ハスロックを解除した状態で共有デ
ータへのアクセスを行う機能、および共有データへのア
クセス終了時にバスロックを行って、セマフォのキュー
領域の内容より次に共有メモリにアクセスすべきプロセ
ッサを決定し、当該プロセッサへの割り込みによって共
有メモリの解放を通知する機能を持たせたものである。
この発明における各プロセッサは、ハスロックによって
共有メモリへの他のプロセッサからのアクセスを禁止し
た状態でセマフォの操作を行うとともに、バスロックを
解除した状態で前記共有データへのアクセスを行い、さ
らに、共有データへのアクセスが終了すると、再度バス
ロックを行ってセマフォのキュー領域を参照し、待ち合
わせているプロセッサあるいはタスクがある場合には、
当該キュー領域の内容に基づいて次に共有メモリにアク
セスすべきプロセッサを決定し、そのプロセッサに共有
メモリの解放を割り込みによって通知することにより、
共有メモリへのアクセスを待っている複数のプロセッサ
中の次にアクセスが許可されるものが判断でき、メモリ
バスへのアクセスが多発せず、待ち合わせ中のプロセッ
サはアクセスが許可されるまで他の処理を実行すること
が可能な共有メモリ管理方式を実現する。
共有メモリへの他のプロセッサからのアクセスを禁止し
た状態でセマフォの操作を行うとともに、バスロックを
解除した状態で前記共有データへのアクセスを行い、さ
らに、共有データへのアクセスが終了すると、再度バス
ロックを行ってセマフォのキュー領域を参照し、待ち合
わせているプロセッサあるいはタスクがある場合には、
当該キュー領域の内容に基づいて次に共有メモリにアク
セスすべきプロセッサを決定し、そのプロセッサに共有
メモリの解放を割り込みによって通知することにより、
共有メモリへのアクセスを待っている複数のプロセッサ
中の次にアクセスが許可されるものが判断でき、メモリ
バスへのアクセスが多発せず、待ち合わせ中のプロセッ
サはアクセスが許可されるまで他の処理を実行すること
が可能な共有メモリ管理方式を実現する。
以下、この発明の一実施例を図について説明する。第1
図において、1□〜1.、はプロセッサ、2はメモリバ
ス、3は共有メモリ、41〜4.は共有データであり、
第4図に同−符月をイ」シた従来のそれらと同一、ある
いは相当部分であるため詳細な説明は省略する。 また、61は共有データ4.〜4..へのアクセスを排
他的に制御するための、従来のセマフォ51〜51に相
当する排他制御管理領域、62は共有データ41〜4□
へのアクセスの待ち合わせを管理するキュー領域であり
、61〜6.はこのキュー領域62も備えている点で従
来のセマフォ51〜5.とは異なるセマフォである。7
は各プロセッサl、〜1.lが他のプロセッサ1□〜1
.、に対して割り込みの発生を通知する割り込み信号線
で、この場合、複数本で構成されている。 次に動作について説明する。ここで、第2図はその動作
を説明するためのセマフォの内容の遷移図であり、第3
図は処理の手順を示すフローチャートである。 今、あるプロセッサ、例えばプロセッサl、が共有メモ
リ3内の共有データ42にアクセスしようとする場合、
プロセッサ11はステップSTIにおいてメモリバス2
にハスロックをかけて、他のプロセッサ1□〜1.、か
らの共有メモリ3に対するアクセスを禁止する。次に、
ステップST2にてアクセスしようとする共有データ4
□に対応付けられたセマフォ6□の排他制御管理領域6
1のデータを読み出し、ステップST3にてその排他制
御ビットD7の内容を判定する。 その結果、当該排他制御ビットDわが第2図(a)に示
すように“′0パであれば、アクセス使用としている共
有データ4□が解放されていることを示しており、処理
はステップST4に渡される。ステップST4では共有
データ42がアクセスされていることを示すため、第2
図(t))に示すようにセマフォ62の排他制御管理領
域61の排他制御ビットに“l“をセットする。その後
、プロセッサ1、はステップST5にてバスロックの解
放を行い、さらにステップST6で共有データ4□にア
クセスする。 一方、ステップST3による判定の結果、セマフォ6□
の排他制御ビットが第2図(t))に示すように”′1
“′であった場合には、プロセンサ11はステップ5T
12において自身のプロセッサ番号とプライオリティを
セマフォ6□のキュー領域62に追加する。この時、そ
の追加位置は第2図(C)および(d)に示すように、
互いのプライオリティを比較してその順位に従って決定
される。なお、このキュー領域62への追加の方式とし
ては、先に茄んだものが優先されるファーストイン・フ
ァーストアウト方式を採用してもよい。その場合、プラ
イオリティの書き込みは無用となる。 このキュー領域62への追加の処理が終了すると、プロ
セッサIIはステップ5T13にてバスロックしていた
メモリバス2を解放してリターンする。このようにして
リターンしたプロセッサ11は、その後自由に他の処理
を実行することができる。 ステップST6にて共有データ4□にアクセスしたフ゛
ロセッサ1□は、そのアクセスが季冬了すると処理をス
テップST7に進めてメモリバス2を再度パスロックす
る。その後、ステップST8にて当該共有データ4□の
セマフォ6□のキュー領域62を参照し、待ち合わせを
しているプロセッサまたはタスクの有無をチエツクする
。その結果、待ち合わせがなければ処理をステップ5T
14に進めて、当該セマフォ6□の排他制御管理領域6
1の排他制御ビットD、、に0°′をセットしてリター
ンする。これによってセマフォ6□は共通データ4□が
アクセスされていないことを示す、第2図(a)に示し
た状態に戻る。 また、待ち合わせがあれば処理はステップST9に渡さ
れてキュー操作が実行され、セマフォ6□のキュー領域
62の先頭よりプロセッサ番号等のプロセッサまたはタ
スクを識別するための値が取り出される。この時のセマ
フォ6□の状況を第2図(d)および(e)に示す。プ
ロセッサ1.は取り出した値に基づいて次に動作すべき
プロセッサ、例えば、プロセッサ1.、を識別し、当=
亥プロセッサ1.。 に対して割り込みを発生させる。この割り込みは割り込
み信号線7を介してプロセッサ1□に送られ、共有メモ
リ3が解放されたことを当該プロセッサ1.lに伝える
。 その後、プロセッサ11はステップ5T11にてメモリ
バス2のハスロックを解除してリターン・する。一方、
割り込みを受けたプロセッサ1nはステップST6以降
の処理を実行することにより、共有データ4□へのアク
セスおよびセマフォの解放動作を行う。
図において、1□〜1.、はプロセッサ、2はメモリバ
ス、3は共有メモリ、41〜4.は共有データであり、
第4図に同−符月をイ」シた従来のそれらと同一、ある
いは相当部分であるため詳細な説明は省略する。 また、61は共有データ4.〜4..へのアクセスを排
他的に制御するための、従来のセマフォ51〜51に相
当する排他制御管理領域、62は共有データ41〜4□
へのアクセスの待ち合わせを管理するキュー領域であり
、61〜6.はこのキュー領域62も備えている点で従
来のセマフォ51〜5.とは異なるセマフォである。7
は各プロセッサl、〜1.lが他のプロセッサ1□〜1
.、に対して割り込みの発生を通知する割り込み信号線
で、この場合、複数本で構成されている。 次に動作について説明する。ここで、第2図はその動作
を説明するためのセマフォの内容の遷移図であり、第3
図は処理の手順を示すフローチャートである。 今、あるプロセッサ、例えばプロセッサl、が共有メモ
リ3内の共有データ42にアクセスしようとする場合、
プロセッサ11はステップSTIにおいてメモリバス2
にハスロックをかけて、他のプロセッサ1□〜1.、か
らの共有メモリ3に対するアクセスを禁止する。次に、
ステップST2にてアクセスしようとする共有データ4
□に対応付けられたセマフォ6□の排他制御管理領域6
1のデータを読み出し、ステップST3にてその排他制
御ビットD7の内容を判定する。 その結果、当該排他制御ビットDわが第2図(a)に示
すように“′0パであれば、アクセス使用としている共
有データ4□が解放されていることを示しており、処理
はステップST4に渡される。ステップST4では共有
データ42がアクセスされていることを示すため、第2
図(t))に示すようにセマフォ62の排他制御管理領
域61の排他制御ビットに“l“をセットする。その後
、プロセッサ1、はステップST5にてバスロックの解
放を行い、さらにステップST6で共有データ4□にア
クセスする。 一方、ステップST3による判定の結果、セマフォ6□
の排他制御ビットが第2図(t))に示すように”′1
“′であった場合には、プロセンサ11はステップ5T
12において自身のプロセッサ番号とプライオリティを
セマフォ6□のキュー領域62に追加する。この時、そ
の追加位置は第2図(C)および(d)に示すように、
互いのプライオリティを比較してその順位に従って決定
される。なお、このキュー領域62への追加の方式とし
ては、先に茄んだものが優先されるファーストイン・フ
ァーストアウト方式を採用してもよい。その場合、プラ
イオリティの書き込みは無用となる。 このキュー領域62への追加の処理が終了すると、プロ
セッサIIはステップ5T13にてバスロックしていた
メモリバス2を解放してリターンする。このようにして
リターンしたプロセッサ11は、その後自由に他の処理
を実行することができる。 ステップST6にて共有データ4□にアクセスしたフ゛
ロセッサ1□は、そのアクセスが季冬了すると処理をス
テップST7に進めてメモリバス2を再度パスロックす
る。その後、ステップST8にて当該共有データ4□の
セマフォ6□のキュー領域62を参照し、待ち合わせを
しているプロセッサまたはタスクの有無をチエツクする
。その結果、待ち合わせがなければ処理をステップ5T
14に進めて、当該セマフォ6□の排他制御管理領域6
1の排他制御ビットD、、に0°′をセットしてリター
ンする。これによってセマフォ6□は共通データ4□が
アクセスされていないことを示す、第2図(a)に示し
た状態に戻る。 また、待ち合わせがあれば処理はステップST9に渡さ
れてキュー操作が実行され、セマフォ6□のキュー領域
62の先頭よりプロセッサ番号等のプロセッサまたはタ
スクを識別するための値が取り出される。この時のセマ
フォ6□の状況を第2図(d)および(e)に示す。プ
ロセッサ1.は取り出した値に基づいて次に動作すべき
プロセッサ、例えば、プロセッサ1.、を識別し、当=
亥プロセッサ1.。 に対して割り込みを発生させる。この割り込みは割り込
み信号線7を介してプロセッサ1□に送られ、共有メモ
リ3が解放されたことを当該プロセッサ1.lに伝える
。 その後、プロセッサ11はステップ5T11にてメモリ
バス2のハスロックを解除してリターン・する。一方、
割り込みを受けたプロセッサ1nはステップST6以降
の処理を実行することにより、共有データ4□へのアク
セスおよびセマフォの解放動作を行う。
以上のように、この発明によれば、セマフォに共有デー
タへのアクセスの待ち合わせを管理するキュー領域を持
たせ、ハスロックした状態でセマフォの操作を行うとと
もに、バスロックを解除した状態で共有データへのアク
セスを行い、さらに、共有データへのアクセスが終了す
ると、再度ハスロックを行ってセマフォのキュー領域を
参照し、待ち合わせているものがある場合には、当該キ
ュ?、N域の内容に基づいて次に共有メモリにアクセス
すべきプロセッサを決定して、当8亥プロセッサに共有
メモリの解放を割り込みによって通知するように構成し
たので、共有メモリへのアクセスを待っている複数のプ
ロセッサの中で、次にアクセスが許可されるものがどれ
であるかを判断でき、さらに、メモリバスの占有が防止
されてメモリバスへのアクセスが多発することもなくな
り、待ち合わせ中のプロセッサはアクセスが許可される
まで他の処理を実行することが可能となるため、システ
ムの性能を低下させることのない共有−メモリ管理方式
が得られる効果がある。
タへのアクセスの待ち合わせを管理するキュー領域を持
たせ、ハスロックした状態でセマフォの操作を行うとと
もに、バスロックを解除した状態で共有データへのアク
セスを行い、さらに、共有データへのアクセスが終了す
ると、再度ハスロックを行ってセマフォのキュー領域を
参照し、待ち合わせているものがある場合には、当該キ
ュ?、N域の内容に基づいて次に共有メモリにアクセス
すべきプロセッサを決定して、当8亥プロセッサに共有
メモリの解放を割り込みによって通知するように構成し
たので、共有メモリへのアクセスを待っている複数のプ
ロセッサの中で、次にアクセスが許可されるものがどれ
であるかを判断でき、さらに、メモリバスの占有が防止
されてメモリバスへのアクセスが多発することもなくな
り、待ち合わせ中のプロセッサはアクセスが許可される
まで他の処理を実行することが可能となるため、システ
ムの性能を低下させることのない共有−メモリ管理方式
が得られる効果がある。
第1図はこの発明の一実施例による共有メモリ管理方式
を示す構成図、第2図はその動作を説明するためのセマ
フォの内容の遷移図、第3図は処理の手順を示すフロー
チャート、第4図は従来の共有メモリ管理方式を示す構
成図、第5図はその動作を説明するためのセマフォの内
容の遷移図である。 1、〜1..はプロセッサ、2はメモリバス、3は共有
メモリ、41〜4□は共有データ、6I〜6、はセマフ
ォ、61は排他制御管理領域、62はキュー領域、7は
割り込み信号線。 なお、図中、同一符号は同一、又は相当部分を示す。 (外2名) 2:すtリバス 61・・・6m:tマフオat:8M
e ’1?It!’II ’f!W %<62、キュー
曾I威 7・畜1り上Nき信号線 第6図 第4図
を示す構成図、第2図はその動作を説明するためのセマ
フォの内容の遷移図、第3図は処理の手順を示すフロー
チャート、第4図は従来の共有メモリ管理方式を示す構
成図、第5図はその動作を説明するためのセマフォの内
容の遷移図である。 1、〜1..はプロセッサ、2はメモリバス、3は共有
メモリ、41〜4□は共有データ、6I〜6、はセマフ
ォ、61は排他制御管理領域、62はキュー領域、7は
割り込み信号線。 なお、図中、同一符号は同一、又は相当部分を示す。 (外2名) 2:すtリバス 61・・・6m:tマフオat:8M
e ’1?It!’II ’f!W %<62、キュー
曾I威 7・畜1り上Nき信号線 第6図 第4図
Claims (1)
- 複数のプロセッサまたはタスクが共有する共有データ、
および前記共有データ対応のセマフォが格納された共有
メモリに、メモリバスを介して複数のプロセッサを接続
し、前記各プロセッサの前記共有データへのアクセスを
前記セマフォによって排他的に制御する共有メモリ管理
方式において、前記セマフォに前記共有データへのアク
セスの排他的制御のための排他制御管理領域と、前記共
有データへのアクセスの待ち合わせを管理するキュー領
域を持たせ、前記各プロセッサは、バスロックにより前
記共有メモリへの他のプロセッサからのアクセスを禁止
した状態で前記セマフォの操作を行うとともに、前記バ
スロックを解除した状態で前記共有データへのアクセス
を行い、前記共有データへのアクセスが終了すると、再
度前記バスロックをした状態で、前記セマフォのキュー
領域を参照し、持ち合わせているプロセッサあるいはタ
スクがある場合には、当該キュー領域の内容に基づいて
次に共有メモリにアクセスすべきプロセッサを決定し、
そのプロセッサに共有メモリの解放を割り込みによって
通知することを特徴とする共有メモリ管理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31367590A JPH04182858A (ja) | 1990-11-19 | 1990-11-19 | 共有メモリ管理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31367590A JPH04182858A (ja) | 1990-11-19 | 1990-11-19 | 共有メモリ管理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04182858A true JPH04182858A (ja) | 1992-06-30 |
Family
ID=18044159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31367590A Pending JPH04182858A (ja) | 1990-11-19 | 1990-11-19 | 共有メモリ管理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04182858A (ja) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8347065B1 (en) | 2006-11-01 | 2013-01-01 | Glasco David B | System and method for concurrently managing memory access requests |
US8347064B1 (en) | 2006-09-19 | 2013-01-01 | Nvidia Corporation | Memory access techniques in an aperture mapped memory space |
US8352709B1 (en) | 2006-09-19 | 2013-01-08 | Nvidia Corporation | Direct memory access techniques that include caching segmentation data |
US8359454B2 (en) | 2005-12-05 | 2013-01-22 | Nvidia Corporation | Memory access techniques providing for override of page table attributes |
US8504794B1 (en) | 2006-11-01 | 2013-08-06 | Nvidia Corporation | Override system and method for memory access management |
US8533425B1 (en) | 2006-11-01 | 2013-09-10 | Nvidia Corporation | Age based miss replay system and method |
US8543792B1 (en) | 2006-09-19 | 2013-09-24 | Nvidia Corporation | Memory access techniques including coalesing page table entries |
US8601223B1 (en) | 2006-09-19 | 2013-12-03 | Nvidia Corporation | Techniques for servicing fetch requests utilizing coalesing page table entries |
US8607008B1 (en) | 2006-11-01 | 2013-12-10 | Nvidia Corporation | System and method for independent invalidation on a per engine basis |
US8700865B1 (en) | 2006-11-02 | 2014-04-15 | Nvidia Corporation | Compressed data access system and method |
US8706975B1 (en) | 2006-11-01 | 2014-04-22 | Nvidia Corporation | Memory access management block bind system and method |
US8707011B1 (en) | 2006-10-24 | 2014-04-22 | Nvidia Corporation | Memory access techniques utilizing a set-associative translation lookaside buffer |
JP2015072716A (ja) * | 2014-12-16 | 2015-04-16 | キヤノン株式会社 | 情報処理システム、情報処理システム制御方法、およびそのプログラム |
US9880846B2 (en) | 2012-04-11 | 2018-01-30 | Nvidia Corporation | Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries |
US10108424B2 (en) | 2013-03-14 | 2018-10-23 | Nvidia Corporation | Profiling code portions to generate translations |
US10146545B2 (en) | 2012-03-13 | 2018-12-04 | Nvidia Corporation | Translation address cache for a microprocessor |
US10241810B2 (en) | 2012-05-18 | 2019-03-26 | Nvidia Corporation | Instruction-optimizing processor with branch-count table in hardware |
US10324725B2 (en) | 2012-12-27 | 2019-06-18 | Nvidia Corporation | Fault detection in instruction translations |
-
1990
- 1990-11-19 JP JP31367590A patent/JPH04182858A/ja active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8359454B2 (en) | 2005-12-05 | 2013-01-22 | Nvidia Corporation | Memory access techniques providing for override of page table attributes |
US8543792B1 (en) | 2006-09-19 | 2013-09-24 | Nvidia Corporation | Memory access techniques including coalesing page table entries |
US8347064B1 (en) | 2006-09-19 | 2013-01-01 | Nvidia Corporation | Memory access techniques in an aperture mapped memory space |
US8352709B1 (en) | 2006-09-19 | 2013-01-08 | Nvidia Corporation | Direct memory access techniques that include caching segmentation data |
US8601223B1 (en) | 2006-09-19 | 2013-12-03 | Nvidia Corporation | Techniques for servicing fetch requests utilizing coalesing page table entries |
US8707011B1 (en) | 2006-10-24 | 2014-04-22 | Nvidia Corporation | Memory access techniques utilizing a set-associative translation lookaside buffer |
US8347065B1 (en) | 2006-11-01 | 2013-01-01 | Glasco David B | System and method for concurrently managing memory access requests |
US8601235B2 (en) | 2006-11-01 | 2013-12-03 | Nvidia Corporation | System and method for concurrently managing memory access requests |
US8504794B1 (en) | 2006-11-01 | 2013-08-06 | Nvidia Corporation | Override system and method for memory access management |
US8607008B1 (en) | 2006-11-01 | 2013-12-10 | Nvidia Corporation | System and method for independent invalidation on a per engine basis |
US8706975B1 (en) | 2006-11-01 | 2014-04-22 | Nvidia Corporation | Memory access management block bind system and method |
US8533425B1 (en) | 2006-11-01 | 2013-09-10 | Nvidia Corporation | Age based miss replay system and method |
US8700865B1 (en) | 2006-11-02 | 2014-04-15 | Nvidia Corporation | Compressed data access system and method |
US10146545B2 (en) | 2012-03-13 | 2018-12-04 | Nvidia Corporation | Translation address cache for a microprocessor |
US9880846B2 (en) | 2012-04-11 | 2018-01-30 | Nvidia Corporation | Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries |
US10241810B2 (en) | 2012-05-18 | 2019-03-26 | Nvidia Corporation | Instruction-optimizing processor with branch-count table in hardware |
US10324725B2 (en) | 2012-12-27 | 2019-06-18 | Nvidia Corporation | Fault detection in instruction translations |
US10108424B2 (en) | 2013-03-14 | 2018-10-23 | Nvidia Corporation | Profiling code portions to generate translations |
JP2015072716A (ja) * | 2014-12-16 | 2015-04-16 | キヤノン株式会社 | 情報処理システム、情報処理システム制御方法、およびそのプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04182858A (ja) | 共有メモリ管理方式 | |
TW498281B (en) | Interface system and method for asynchronously updating a shared resource | |
US5469571A (en) | Operating system architecture using multiple priority light weight kernel task based interrupt handling | |
US5251318A (en) | Multiprocessing system comparing information copied from extended storage before and after processing for serializing access to shared resource | |
EP0145889B1 (en) | Non-spinning task locking using compare and swap | |
US5287521A (en) | Method and apparatus for releasing and obtaining shared and exclusive locks | |
US5896141A (en) | System and method for virtual device access in a computer system | |
JP3010400B2 (ja) | 共有メモリ制御方法及び共有メモリ制御装置 | |
WO2011148553A1 (ja) | 情報処理装置および情報処理方法 | |
JPH04230550A (ja) | 情報処理ネツトワーク及び情報処理方法 | |
US5764922A (en) | I/O system for off-loading operating system functions | |
JP3965784B2 (ja) | 共有メモリ排他アクセス制御方法 | |
US7748003B2 (en) | Hard real-time response | |
US6366946B1 (en) | Critical code processing management | |
JP5553685B2 (ja) | 情報処理装置および情報処理方法 | |
EP0206335B1 (en) | Interruption method for a data processing system | |
CN111723250A (zh) | 一种基于引用计数的链表管理方法 | |
EP0297895A2 (en) | Apparatus and method using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system | |
JP2746189B2 (ja) | ファイルアクセス制御システム | |
JPS62177653A (ja) | 共有メモリ制御方式 | |
JPH01195542A (ja) | マルチプログラミング処理装置 | |
JP2000003287A (ja) | 共有リソースの排他制御装置、排他制御方法及び排他制御プログラムを記録した記録媒体 | |
JP2926873B2 (ja) | 計算機システム | |
JP3764282B2 (ja) | プログラム制御システムの制御装置 | |
CA1306311C (en) | I/o system for off-loading operating system functions |