JPH02288929A - 共有メモリアクセス調整制御方法 - Google Patents
共有メモリアクセス調整制御方法Info
- Publication number
- JPH02288929A JPH02288929A JP3624189A JP3624189A JPH02288929A JP H02288929 A JPH02288929 A JP H02288929A JP 3624189 A JP3624189 A JP 3624189A JP 3624189 A JP3624189 A JP 3624189A JP H02288929 A JPH02288929 A JP H02288929A
- Authority
- JP
- Japan
- Prior art keywords
- access
- shared memory
- cpu
- output
- flip
- 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
- 238000000034 method Methods 0.000 title claims description 10
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 5
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 5
- 239000013256 coordination polymer Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 1
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 1
- 229930194542 Keto Natural products 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 125000000468 ketone group Chemical group 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〈産業上の利用分野〉
本発明は、ビット数の異なるCPUの共有メモリに対す
るアクセスの競合を回避するために各CPUのアクセス
の可否を調停する共有メモリのアクセス調整制御方法に
関する。
るアクセスの競合を回避するために各CPUのアクセス
の可否を調停する共有メモリのアクセス調整制御方法に
関する。
〈従来の技術〉
最近、ビット数の異なる2つのCPUがデュアルポート
RAMによる共有メモリをアクセスする方法が行われて
いる。このような共有メモリに対し2つのCPU、例え
ば一方が8ビツトで他方か16ビツトのCPUの場合、
共有メモリに対するメモリ空間は第3図に示す例のよう
に設定されている。
RAMによる共有メモリをアクセスする方法が行われて
いる。このような共有メモリに対し2つのCPU、例え
ば一方が8ビツトで他方か16ビツトのCPUの場合、
共有メモリに対するメモリ空間は第3図に示す例のよう
に設定されている。
即ち、共有メモリの同じメモリ空間を、例えば、8ビツ
トCPUでは100H1IOII(番地というように8
ビツト(1バイト)単位に設定し、16ビツトCPUで
は1000 f−(,1001H番地というように16
ビツト(1ワード)単位に設定している。このような同
じメモリ空間を読出しくリ−1・)する場合、8ビツト
CPUは、100I−T番地をリードすると下位データ
065Hを得、101H番地をリートすると上位データ
087Hを得、この2回のアクセスでデータ08765
Hを得ることができる。これに対し、16ビツトCp
uは、1ワ一ド単位に100IH番地を1回でリードし
、データ08765Hを得ることかできく発明か解決し
ようとする課題7〉 しかるに、共有メモリに対してどちらかのCPUがアク
セスをしている場合は問題がないが、第4図に示した例
のように、あるタイミンク′で共有メモリの同じメモリ
空間に双方のCP Uがアクセスした場合に問題が発生
する。
トCPUでは100H1IOII(番地というように8
ビツト(1バイト)単位に設定し、16ビツトCPUで
は1000 f−(,1001H番地というように16
ビツト(1ワード)単位に設定している。このような同
じメモリ空間を読出しくリ−1・)する場合、8ビツト
CPUは、100I−T番地をリードすると下位データ
065Hを得、101H番地をリートすると上位データ
087Hを得、この2回のアクセスでデータ08765
Hを得ることができる。これに対し、16ビツトCp
uは、1ワ一ド単位に100IH番地を1回でリードし
、データ08765Hを得ることかできく発明か解決し
ようとする課題7〉 しかるに、共有メモリに対してどちらかのCPUがアク
セスをしている場合は問題がないが、第4図に示した例
のように、あるタイミンク′で共有メモリの同じメモリ
空間に双方のCP Uがアクセスした場合に問題が発生
する。
具体的には、8ピッl−CP Uが100H番地をリー
ドした後に16ビツl−CP Uが同じメモリ空間の1
001. I(番地にアクセスしデータo1234Hを
書き込むと、101 I(番地のデータが書き換えられ
、8ビツトCP Uか本来得られる08765Hが01
265 I(となり、8ビツトCPUは誤ったデータを
得ることになる。
ドした後に16ビツl−CP Uが同じメモリ空間の1
001. I(番地にアクセスしデータo1234Hを
書き込むと、101 I(番地のデータが書き換えられ
、8ビツトCP Uか本来得られる08765Hが01
265 I(となり、8ビツトCPUは誤ったデータを
得ることになる。
即ち、このように1バイトアクセスのCl) Uと1ワ
ードアクセスのCPUが共有メモリ上でそのアドレスを
競合させ、1バイトアクセスのCP Uが1アクセスし
、■ワードアクセスCPUが1アクセスした場合、■ワ
ードデータの上位バイトデタが不定のままアクセスされ
ることになり、正確な1ワードデータを転送することが
できないという不具合が生じることになる。
ードアクセスのCPUが共有メモリ上でそのアドレスを
競合させ、1バイトアクセスのCP Uが1アクセスし
、■ワードアクセスCPUが1アクセスした場合、■ワ
ードデータの上位バイトデタが不定のままアクセスされ
ることになり、正確な1ワードデータを転送することが
できないという不具合が生じることになる。
く課題を解決するための手段及び作用〉上記課題を解決
するため、あるビット数の第1CPUに共有メモリのア
クセスの可否を知らせる第1アクセス可否報知手段と、
第1. CP Uとは異なるビット数の第2CPUに共
有メモリのアクセス可否を知らせる第2アクセス可否報
知手段と、第1及び第2の両CPUのプログラム命令を
第1及び第2の画策2アクセス可否報知手段にクロック
入力するだめのクロック供給手段とを設は且つ、第1及
び第2の両アクセス可否報知手段のそれぞれの出力を第
1及び第2の両CPUのデータバスのそれぞれに接続す
ることにより共有メモリ調整回路を構成し、そして第1
及び第2の両CPUが共有メモリに対しアクセスを実行
しようとする時、この両CPUが、それぞれのプログラ
ム命令により共有メモリ調整回路にアクセスの要求をす
ると共にアクセスの可否を問い、第1及び第2の両アク
セス司占報知手段の出力状態をデータ値とじて取り込み
、このデータ値により共有メモリのアクセスの可否を判
断し、アクセス町と判断したC■〕Uが共有メモリをア
クセスするようにした。そしてさらに1、共有メモリア
クセス調整回路のクロックを第1及び第2の両CPUの
プログラム命令による信号を入ツJするために各CPU
の基本クロックより周波数の高いクロックとし、第1ア
クセス可否報知手段のクロック入力と第2アクセス可否
報知手段のクロック入力との位相をずらして入ノJする
ように構成した。
するため、あるビット数の第1CPUに共有メモリのア
クセスの可否を知らせる第1アクセス可否報知手段と、
第1. CP Uとは異なるビット数の第2CPUに共
有メモリのアクセス可否を知らせる第2アクセス可否報
知手段と、第1及び第2の両CPUのプログラム命令を
第1及び第2の画策2アクセス可否報知手段にクロック
入力するだめのクロック供給手段とを設は且つ、第1及
び第2の両アクセス可否報知手段のそれぞれの出力を第
1及び第2の両CPUのデータバスのそれぞれに接続す
ることにより共有メモリ調整回路を構成し、そして第1
及び第2の両CPUが共有メモリに対しアクセスを実行
しようとする時、この両CPUが、それぞれのプログラ
ム命令により共有メモリ調整回路にアクセスの要求をす
ると共にアクセスの可否を問い、第1及び第2の両アク
セス司占報知手段の出力状態をデータ値とじて取り込み
、このデータ値により共有メモリのアクセスの可否を判
断し、アクセス町と判断したC■〕Uが共有メモリをア
クセスするようにした。そしてさらに1、共有メモリア
クセス調整回路のクロックを第1及び第2の両CPUの
プログラム命令による信号を入ツJするために各CPU
の基本クロックより周波数の高いクロックとし、第1ア
クセス可否報知手段のクロック入力と第2アクセス可否
報知手段のクロック入力との位相をずらして入ノJする
ように構成した。
より具体的には、第1アクセス可否報知手段の入力条件
として第2アクセス可否報知手段の出力を、また第2ア
クセス可否報知手段の入力条件として第1アクセス可否
報知手段の出力をそれぞれ条件としている。
として第2アクセス可否報知手段の出力を、また第2ア
クセス可否報知手段の入力条件として第1アクセス可否
報知手段の出力をそれぞれ条件としている。
このため、第1CPUか共有メモリをアクセス中に、第
2CPUが共有メモリをアクセスしようとして第2アク
セス可否報知手段に対しプログラム命令によりアクセス
をかけても、第1cPUが共有メモリをアクセス中であ
るため第1アクセス可否報知手段の出力が反転しており
、第2アクセス可否報知手段の出力は反転しないでリセ
ット時の論理のままである。したがって、第2アクセス
可否報知手段の正転出力は第2CPUのデータバスに論
理“H”を出力する。そして、これにより第2CPUは
、任意のビットを論理“H”として、例えばデータ値F
FH(データバスのどの信号線に接続されてもFFH)
を取り込み、共有メモリのアクセスの不可を知る。
2CPUが共有メモリをアクセスしようとして第2アク
セス可否報知手段に対しプログラム命令によりアクセス
をかけても、第1cPUが共有メモリをアクセス中であ
るため第1アクセス可否報知手段の出力が反転しており
、第2アクセス可否報知手段の出力は反転しないでリセ
ット時の論理のままである。したがって、第2アクセス
可否報知手段の正転出力は第2CPUのデータバスに論
理“H”を出力する。そして、これにより第2CPUは
、任意のビットを論理“H”として、例えばデータ値F
FH(データバスのどの信号線に接続されてもFFH)
を取り込み、共有メモリのアクセスの不可を知る。
第1CPUは、共有メモリのアクセスが終了すると、第
1アクセス可否報知手段をリセットして他の動作に移る
。この状態において、他の所定の動作をしながら随時、
第2CPUが共有メモリをアクセスしようとして第2ア
クセス可否報知手段にプログラム命令によりアクセスを
かけると、今度は第1アクセス可否報知手段の出力を入
力条件としている第2アクセス可否報知手段の出力が第
2CPUのプログラム命令により反転する。このため第
2アクセス可否報知手段の反転出力は第2CPUのデー
タバスに論理“L”を出力する。そして、これにより第
2CPUは、任意のビットを論理“L”としたデータ値
、例えばデータバスのり、信号線に接続されている場合
は、例えばデータ値FEHを取り込み、共有メモリのア
クセスの可を知る。
1アクセス可否報知手段をリセットして他の動作に移る
。この状態において、他の所定の動作をしながら随時、
第2CPUが共有メモリをアクセスしようとして第2ア
クセス可否報知手段にプログラム命令によりアクセスを
かけると、今度は第1アクセス可否報知手段の出力を入
力条件としている第2アクセス可否報知手段の出力が第
2CPUのプログラム命令により反転する。このため第
2アクセス可否報知手段の反転出力は第2CPUのデー
タバスに論理“L”を出力する。そして、これにより第
2CPUは、任意のビットを論理“L”としたデータ値
、例えばデータバスのり、信号線に接続されている場合
は、例えばデータ値FEHを取り込み、共有メモリのア
クセスの可を知る。
共有メモリへのアクセスし終了した第2CPUは、第1
CPUと同様に、第2アクセス可否報知手段をリセット
として他の動作に移る。
CPUと同様に、第2アクセス可否報知手段をリセット
として他の動作に移る。
以上述べてきたことは両CPUの条件を逆にしても全く
同じである。
同じである。
次に、第1及び第2の両アクセス可否報知手段がリセッ
ト中に各CPUが各アクセス可否報知手段にアクセスを
同時にかける場合であるが、この場合には、第1及び第
2の両アクセス可否報知手段のクロック入力が位相を反
転させて入力されているため、どちらかのアクセス可否
報知手段の出力が先に確定固定され、両アクセス可否報
知手段が同時に出力を反転することがなく、必ず一方の
CPUだけが共有メモリをアクセス可能となる。
ト中に各CPUが各アクセス可否報知手段にアクセスを
同時にかける場合であるが、この場合には、第1及び第
2の両アクセス可否報知手段のクロック入力が位相を反
転させて入力されているため、どちらかのアクセス可否
報知手段の出力が先に確定固定され、両アクセス可否報
知手段が同時に出力を反転することがなく、必ず一方の
CPUだけが共有メモリをアクセス可能となる。
く実 施 例〉
以下、本発明の実施例を図面に基づいて説明する。
第1図は本発明の一実施例に用いる回路の回路図である
。
。
この第1図から分かるように、第1CPUI、即ち1バ
イトアクセスの8ビツトCPU1と第2CPU2、即ち
1ワードアクセスの16ビツトCPU2とは、デュアル
ポートRAMである共有メモリ3にそれぞれアドレス・
データバス1a12aで接続されており、共有メモリ3
をアクセスするようにされている。
イトアクセスの8ビツトCPU1と第2CPU2、即ち
1ワードアクセスの16ビツトCPU2とは、デュアル
ポートRAMである共有メモリ3にそれぞれアドレス・
データバス1a12aで接続されており、共有メモリ3
をアクセスするようにされている。
両CPUI、2の共有メモリ3に対するアクセスの可否
を調整する調整回路5は、第1CPUIにより制御され
第1CPU1に共有メモリ3のアクセスの可否を知らせ
る「第1アクセス可否報知手段」としてのフリップフロ
ップ11と、第20PU2により制御され第2CPU2
に共有メモリ3のアクセスの可否を知らせる「第2アク
セス可否報知手段」としての第2フリツプフロツプ12
と、その周辺回路とより構成されている。
を調整する調整回路5は、第1CPUIにより制御され
第1CPU1に共有メモリ3のアクセスの可否を知らせ
る「第1アクセス可否報知手段」としてのフリップフロ
ップ11と、第20PU2により制御され第2CPU2
に共有メモリ3のアクセスの可否を知らせる「第2アク
セス可否報知手段」としての第2フリツプフロツプ12
と、その周辺回路とより構成されている。
具体的には、第1フリツプフロツプ11の入力端子(J
)はNORゲート回路13の出力に接続され、他の入力
端子(K)は接地されている。そして、NORゲート1
3の二つの入力は、それぞれ、第2フリツプフロツプ1
2の正転出力端子(Q)からの出力と第1CPU1のプ
ログラム命令でデコーダ回路4aから出力される信号線
INlとに接続され、また第1フリツプフロツプ11の
リセット端子(CL R)はデコーダ回路4aから出力
される信号線○UTIに接続されており、第1フリツプ
フロツプ11は第1CPUIのプログラム命令によりリ
セットされるようになっている。そしてさらに、第1フ
リツプフロツプ11の反転出力端子(互)は、信号線I
NLの信号によりゲートが開けられ出力が得られる非反
転出力の出力制御付3ステートバツフア15の入力に接
続され、3ステートバツフア15の出力は第1CPU1
のアドレス・データバス1aのデータバスの信号線の一
つであるり。信号線に接続されている。
)はNORゲート回路13の出力に接続され、他の入力
端子(K)は接地されている。そして、NORゲート1
3の二つの入力は、それぞれ、第2フリツプフロツプ1
2の正転出力端子(Q)からの出力と第1CPU1のプ
ログラム命令でデコーダ回路4aから出力される信号線
INlとに接続され、また第1フリツプフロツプ11の
リセット端子(CL R)はデコーダ回路4aから出力
される信号線○UTIに接続されており、第1フリツプ
フロツプ11は第1CPUIのプログラム命令によりリ
セットされるようになっている。そしてさらに、第1フ
リツプフロツプ11の反転出力端子(互)は、信号線I
NLの信号によりゲートが開けられ出力が得られる非反
転出力の出力制御付3ステートバツフア15の入力に接
続され、3ステートバツフア15の出力は第1CPU1
のアドレス・データバス1aのデータバスの信号線の一
つであるり。信号線に接続されている。
同様に、第2フリツプフロツプ12の入力端子(J )
はNORゲート回路14の出ノJに接続され、他の入力
端子(K)は接地されている。そして、NORゲート1
4の二つの入力は、それぞれ、第1フリツプフロツプ1
■の正転出力端子(Q)からの出力と第2CPU2のプ
ログラム命令でデコーダ回路4bから出ノJされる信号
線IN2とに接続され、また第2フリツプフロツプ12
のリセット端子(CLR)はデコーダ回路4bから出力
される信号線0UT2に接続されており、第2フリツプ
フロツプ12は第2CPU2のプログラム命令によりリ
セットされるようになっている。そしてさらに、第2フ
リツプフロツプ12の反転出力端子(Q)は信号線IN
2の信号によりゲートが開けられ出力が得られる非反転
出力の出力制御付3ステートバツフア16の入力に接続
され、3ステートバッファ16の出力は第2CPU2の
アドレス・データバス2aのデータバスの信号線の一つ
であるり。信号線に接続されている。
はNORゲート回路14の出ノJに接続され、他の入力
端子(K)は接地されている。そして、NORゲート1
4の二つの入力は、それぞれ、第1フリツプフロツプ1
■の正転出力端子(Q)からの出力と第2CPU2のプ
ログラム命令でデコーダ回路4bから出ノJされる信号
線IN2とに接続され、また第2フリツプフロツプ12
のリセット端子(CLR)はデコーダ回路4bから出力
される信号線0UT2に接続されており、第2フリツプ
フロツプ12は第2CPU2のプログラム命令によりリ
セットされるようになっている。そしてさらに、第2フ
リツプフロツプ12の反転出力端子(Q)は信号線IN
2の信号によりゲートが開けられ出力が得られる非反転
出力の出力制御付3ステートバツフア16の入力に接続
され、3ステートバッファ16の出力は第2CPU2の
アドレス・データバス2aのデータバスの信号線の一つ
であるり。信号線に接続されている。
また、発振器17は、N ORゲート13.14の出力
、特に第1CPUIと第2CPU2よりのプログラム命
令を伝える信嬬線INI、IN2の信号に応答するため
、第]、 CP U lと第2CPU2の基本クロック
X1、X2より周波数の高い発振器とされている。
、特に第1CPUIと第2CPU2よりのプログラム命
令を伝える信嬬線INI、IN2の信号に応答するため
、第]、 CP U lと第2CPU2の基本クロック
X1、X2より周波数の高い発振器とされている。
そして、この発振器17の出力は、第1フリツプフロツ
プ11のクロック入力端子(i” )に入力され、イン
バータ回路18で反転されて第2フリツプフロツプ■2
のクロック入力端子(i” )に入力されている。これ
は第1CPUIと第2 CP U2が同時に第1フリツ
プフロツプ11と第2フリツプフロツプ12に制御をか
けた場合の各フリップフロップの同時動作を回避するた
めである。
プ11のクロック入力端子(i” )に入力され、イン
バータ回路18で反転されて第2フリツプフロツプ■2
のクロック入力端子(i” )に入力されている。これ
は第1CPUIと第2 CP U2が同時に第1フリツ
プフロツプ11と第2フリツプフロツプ12に制御をか
けた場合の各フリップフロップの同時動作を回避するた
めである。
次に、両CPU1.2が共有メモリ3に対しアクセスを
実行する場合の調整と制御力法について述べる。
実行する場合の調整と制御力法について述べる。
第1フリツプフロツプ11と第2フリツプフロツプ12
とは、イニシャル時、第]、 CP U ]と第2CP
U2の所定のプログラム命令によりリセットされ、その
正転出力Qと反転出力Qはそれぞれ論理゛′■7”と゛
′Hパになっている。ここで、第1CPU1が共有メモ
リ3のアクセスを実行したい場合、第1CPUIは、共
有メモリ調整制御回路5に問い合わせて第1フリツプフ
ロツプ11の出力の状態をデータ値として取り込み、そ
れにより共有メモリ3のアクセスの可否を知り、アクセ
ス可と判断したとき共有メモリ3をアクセスする。
とは、イニシャル時、第]、 CP U ]と第2CP
U2の所定のプログラム命令によりリセットされ、その
正転出力Qと反転出力Qはそれぞれ論理゛′■7”と゛
′Hパになっている。ここで、第1CPU1が共有メモ
リ3のアクセスを実行したい場合、第1CPUIは、共
有メモリ調整制御回路5に問い合わせて第1フリツプフ
ロツプ11の出力の状態をデータ値として取り込み、そ
れにより共有メモリ3のアクセスの可否を知り、アクセ
ス可と判断したとき共有メモリ3をアクセスする。
詳細には、第+−CP U 1がプログラム命令〔1N
0AI()lなる命令を発生させると、デコーダ回
路4aより信号線INIに論理”L”が出力され、2人
力のN ORゲート13の一方に入力される。
0AI()lなる命令を発生させると、デコーダ回
路4aより信号線INIに論理”L”が出力され、2人
力のN ORゲート13の一方に入力される。
ここで、NORゲート13の他方の入力線は第2フリツ
プフロツプ12の正転出力Qに接続されており、第2フ
リツプフロツプ12がリセットされているので、第2フ
リツプフロツプ12の正転出力Qは論理“L”である。
プフロツプ12の正転出力Qに接続されており、第2フ
リツプフロツプ12がリセットされているので、第2フ
リツプフロツプ12の正転出力Qは論理“L”である。
そして、この論理″■7”状態のときはN ORケト1
3のゲートが開けられ、これによりニーつの人力が論理
“L”となり、したがってNORゲート13の出力は、
論理”II”となって、第1フリツプフロツプ11の入
力端子、Jに入力される。
3のゲートが開けられ、これによりニーつの人力が論理
“L”となり、したがってNORゲート13の出力は、
論理”II”となって、第1フリツプフロツプ11の入
力端子、Jに入力される。
この結果、第1フリツプフロツプ11の入力端子J、、
には論理“H”、“L”となり、この論理″■]”、■
、”が、発振器17から第1フリツプフロツプ11のク
ロック人力Tに供給されるクロックCLK、1の立下が
りエツジにより、確定し、第1フリツプフロツプ11の
正転出力Qは論理“L”から論理“H“°に変わる。と
同時に、第1フリツプフロツプ11の反転出力Qが論理
″”TI”から論理“L”に変わる。
には論理“H”、“L”となり、この論理″■]”、■
、”が、発振器17から第1フリツプフロツプ11のク
ロック人力Tに供給されるクロックCLK、1の立下が
りエツジにより、確定し、第1フリツプフロツプ11の
正転出力Qは論理“L”から論理“H“°に変わる。と
同時に、第1フリツプフロツプ11の反転出力Qが論理
″”TI”から論理“L”に変わる。
ここで、反転出力Qは非反転出力の出力制御イー、]3
ステートバッファ15に接続され、その出力は第1 C
PU1のアドレス・データバスのデータ)<ス線り。に
接続されているので、前述の信号線IN1の論理″′L
”により3ステートバツフア15の出力制御が解除され
、出力に論理″■7”が出力される。
ステートバッファ15に接続され、その出力は第1 C
PU1のアドレス・データバスのデータ)<ス線り。に
接続されているので、前述の信号線IN1の論理″′L
”により3ステートバツフア15の出力制御が解除され
、出力に論理″■7”が出力される。
そして、第1CPUIは、データバス上のり。
が論理”L’“になったことにより、これを例えばデー
タ値F E Hとして取り込み、共有メモリ3のアクセ
ス可を知る。
タ値F E Hとして取り込み、共有メモリ3のアクセ
ス可を知る。
第1CPUIが共有メモリ3に対しアクセス中は、第1
フリツプフロツプ11の出ノEQ、Qはそれぞれ論理“
H”、“L″のままである。
フリツプフロツプ11の出ノEQ、Qはそれぞれ論理“
H”、“L″のままである。
共有メモリ3へのアクセスを終了すると、第1CPUI
はプログラム命令[:OUT IAH)なる命令を発
生させ、これによりデコーダ回路4aより信号線0UT
1に論理“L”が発生する。すると、信号線0UTIが
第1フリツプフロツプ11のリセット端子CLRに接続
されているので、第1フリツプフロツプ11は強制的に
リセットされ、その出力Q、Qは問い合わせ待ちの論理
“L”、“H′になる。そしてその後、第1 CPU1
は所定の実行動作に移る。
はプログラム命令[:OUT IAH)なる命令を発
生させ、これによりデコーダ回路4aより信号線0UT
1に論理“L”が発生する。すると、信号線0UTIが
第1フリツプフロツプ11のリセット端子CLRに接続
されているので、第1フリツプフロツプ11は強制的に
リセットされ、その出力Q、Qは問い合わせ待ちの論理
“L”、“H′になる。そしてその後、第1 CPU1
は所定の実行動作に移る。
第1CPUIが共有メモリ3に対しアクセス中、即ち第
1フリツプフロツプ11の出力Q、Qが論理”H”、“
L”状態のとき、第2CPU2が共有メモリ3ヘアクセ
スする必要が発生すると、第2CPU2は同じく共有メ
モリアクセス調整回路5の第2フリツプフロツプ12に
アクセスの可否を問いかけ、第2フリツプフロツプ12
の出力の状態をデータ値として取り込み、それにより共
有メモリ3のアクセスの可否を知り、アクセス可と判断
したとき共有メモリ3をアクセスする。
1フリツプフロツプ11の出力Q、Qが論理”H”、“
L”状態のとき、第2CPU2が共有メモリ3ヘアクセ
スする必要が発生すると、第2CPU2は同じく共有メ
モリアクセス調整回路5の第2フリツプフロツプ12に
アクセスの可否を問いかけ、第2フリツプフロツプ12
の出力の状態をデータ値として取り込み、それにより共
有メモリ3のアクセスの可否を知り、アクセス可と判断
したとき共有メモリ3をアクセスする。
詳細には、第2CPU2がプログラム命令〔IN 0
BH)なる命令を発生させると、デコーダ回路4bより
IN2の信号線に論理“L”が出力され、2人力のNO
Rゲート14の一方に入力される。
BH)なる命令を発生させると、デコーダ回路4bより
IN2の信号線に論理“L”が出力され、2人力のNO
Rゲート14の一方に入力される。
ここで、NORゲー1−14の他方の入力線が第1フリ
ツプフロツプ11の正転出力Qに接続されており、第1
CPU1が共有メモリ3をアクセス中なので第1フリツ
プフロツプ11の正転出力Qは論理“H”である。した
がって、NORゲート14はこれによりゲートが閉じら
れ、NORゲート14の出力は論理“L”となる。
ツプフロツプ11の正転出力Qに接続されており、第1
CPU1が共有メモリ3をアクセス中なので第1フリツ
プフロツプ11の正転出力Qは論理“H”である。した
がって、NORゲート14はこれによりゲートが閉じら
れ、NORゲート14の出力は論理“L”となる。
そして、この論理“L”出力が第1フリツプフロツプ1
1の入力端子Jに入力され、その結果、第1フリツプフ
ロツプ11の入力端子J、には論理“L”、”L”とな
り、この論理“L”、L”は、発振器■7からインバー
タ回路18により反転されて第2フリツプフロツプ12
のクロック人力Tに供給されるクロックCLK2の立下
がりエツジにより、確定するが、第2フリツプフロツプ
12の出力は前の状態と変わらず、正転出力Qの論理は
前の状態の″L”である。同時に反転比ツノ◇の論理も
変わらず“H”である。
1の入力端子Jに入力され、その結果、第1フリツプフ
ロツプ11の入力端子J、には論理“L”、”L”とな
り、この論理“L”、L”は、発振器■7からインバー
タ回路18により反転されて第2フリツプフロツプ12
のクロック人力Tに供給されるクロックCLK2の立下
がりエツジにより、確定するが、第2フリツプフロツプ
12の出力は前の状態と変わらず、正転出力Qの論理は
前の状態の″L”である。同時に反転比ツノ◇の論理も
変わらず“H”である。
ここで、反転比力負は非反転出力の出力制御付3ステー
トバツフア1Gに接続され、その出力は第2CPU2の
アドレス・データバスのデータバス線り。に接続されて
いるので、前述の信号線1N2の論理”L”により3ス
テートバツフア16の出力制御が解除され、出力に論理
“H”が出力される。
トバツフア1Gに接続され、その出力は第2CPU2の
アドレス・データバスのデータバス線り。に接続されて
いるので、前述の信号線1N2の論理”L”により3ス
テートバツフア16の出力制御が解除され、出力に論理
“H”が出力される。
そして、第2CPU2はデータバス上のり。が論理II
HI+になったことにより、これを例えばデータ値F
F Hとして取り込み、共有メモリ3のアクセスの不
可を知る。
HI+になったことにより、これを例えばデータ値F
F Hとして取り込み、共有メモリ3のアクセスの不
可を知る。
第1CPUIが共有メモリ3に対しアクセス中であるこ
とを知った第2CPU2は、他の所定の動作をしながら
随時共有メモリアクセス調整回路5に問い合わせ、アク
セス可を知るまでこれを繰り返す。その後は前述のごと
く第1CPU1と同じ動作を行い終了する。
とを知った第2CPU2は、他の所定の動作をしながら
随時共有メモリアクセス調整回路5に問い合わせ、アク
セス可を知るまでこれを繰り返す。その後は前述のごと
く第1CPU1と同じ動作を行い終了する。
以上の説明では第tcputが共有メモリ3に対しアク
セス中である場合における第2CPU2の制御を例に採
ったが、第1CPUIと第2CPU2の状態が逆の場合
も全く同様であり、共有メモリ3へのアクセス可のとき
はデータ値FEH、アクセス不可のときはデータ値F
F Hとしてアクセス可否を知る。
セス中である場合における第2CPU2の制御を例に採
ったが、第1CPUIと第2CPU2の状態が逆の場合
も全く同様であり、共有メモリ3へのアクセス可のとき
はデータ値FEH、アクセス不可のときはデータ値F
F Hとしてアクセス可否を知る。
次いで、第1CPUIと第2CPU2か共有メモリアク
セス調整回路5の第1フリツプフロツプ11と第2フリ
ツプフロツプ12とに同時に問い合わせた場合について
説明する。
セス調整回路5の第1フリツプフロツプ11と第2フリ
ツプフロツプ12とに同時に問い合わせた場合について
説明する。
第2図は共有メモリアクセス調整回路5における第1フ
リツプフロツプ11と第2フリツプフロツプ12の同時
動作の回避を説明するためのタイムチャートである。こ
の図における信号名は第1図と同様である。この第2図
から分かるように、クロックCLK1とCL K 2は
、位相かずれており、信号波形がそれぞれ反転している
。
リツプフロツプ11と第2フリツプフロツプ12の同時
動作の回避を説明するためのタイムチャートである。こ
の図における信号名は第1図と同様である。この第2図
から分かるように、クロックCLK1とCL K 2は
、位相かずれており、信号波形がそれぞれ反転している
。
両CPU1.2が共有メモリアクセス調整回路5を同時
にアクセスする場合は、クロックCLK1について見る
と、CLKlの立上がりのエツジの部分を含む論理“H
”の部分(第2図のA)と立下がりのエツジの部分を含
む論理“1.”の部分(第2図のB)の信号線INIと
IN2が同時に論理”L”になる場合である。
にアクセスする場合は、クロックCLK1について見る
と、CLKlの立上がりのエツジの部分を含む論理“H
”の部分(第2図のA)と立下がりのエツジの部分を含
む論理“1.”の部分(第2図のB)の信号線INIと
IN2が同時に論理”L”になる場合である。
第2図における■はAの部分で信号線INIと信号線I
N2とが同時に論理″■7”になった場合の同時動作の
回避のタイムチャー1・である。Aの部分にINIとI
N2とが同時に論理“L″である状態か発生すると、第
1及び第2の両フリップフロップ11.12はいずれも
リセッI・されているので、両NORゲート13.14
はいずれもゲートか開いており、それぞれの出力はいず
れも論理“H″になり、両フリップフロップ11.12
はクロックCL K 1とCT、、 K 2の入力待ち
となる。
N2とが同時に論理″■7”になった場合の同時動作の
回避のタイムチャー1・である。Aの部分にINIとI
N2とが同時に論理“L″である状態か発生すると、第
1及び第2の両フリップフロップ11.12はいずれも
リセッI・されているので、両NORゲート13.14
はいずれもゲートか開いており、それぞれの出力はいず
れも論理“H″になり、両フリップフロップ11.12
はクロックCL K 1とCT、、 K 2の入力待ち
となる。
しかしCLKlの立下がりエツジが時間的に先になるの
で、この立下がりエツジにより第1フリツプフロツプ1
1の出力(Q)は論理“1−■“になる。これによりN
ORゲート14はゲートが閉じられてその出力は論理“
L”に戻り、続<、CI、K2の立下がりエツジが来て
も第2フリツプフロツプ12の出力は論理″■7”のま
まで出力は変わらない。したがってこの場合、第1 C
P U 1は共有メモリ3のアクセス可と判断し、他方
箱2CPU2はアクセス不可と判断し、両者が同時にア
クセス可となることはない。
で、この立下がりエツジにより第1フリツプフロツプ1
1の出力(Q)は論理“1−■“になる。これによりN
ORゲート14はゲートが閉じられてその出力は論理“
L”に戻り、続<、CI、K2の立下がりエツジが来て
も第2フリツプフロツプ12の出力は論理″■7”のま
まで出力は変わらない。したがってこの場合、第1 C
P U 1は共有メモリ3のアクセス可と判断し、他方
箱2CPU2はアクセス不可と判断し、両者が同時にア
クセス可となることはない。
第2図における■は■3の部分で(U帰線INIとIN
2が同時に論理″L“になった場合の同時動作の回避の
タイムチャー1・である。この場合はへの部分での動作
とほぼ同じであるが異なるのはクロックCL K 2の
立下がりが時間的に先になることである。このため今度
は第2フリツプフロツプ12の出力(Q)は論理“′H
”になる。そして、これによりNORゲー1へ13はゲ
ートが閉じられてその出力は論理“■7”に戻り、続<
CL K Iの立下がりエツジが来ても第1フリツプ
フロツプ11の出力は論理”L”のままで出力は変わら
ない。
2が同時に論理″L“になった場合の同時動作の回避の
タイムチャー1・である。この場合はへの部分での動作
とほぼ同じであるが異なるのはクロックCL K 2の
立下がりが時間的に先になることである。このため今度
は第2フリツプフロツプ12の出力(Q)は論理“′H
”になる。そして、これによりNORゲー1へ13はゲ
ートが閉じられてその出力は論理“■7”に戻り、続<
CL K Iの立下がりエツジが来ても第1フリツプ
フロツプ11の出力は論理”L”のままで出力は変わら
ない。
したがってこの場合、第2CPU2は共有メモリ3のア
クセス可と判断し、第1CPUIはアクセス不可と判断
し、両者が同時にアクセス可となることはない。
クセス可と判断し、第1CPUIはアクセス不可と判断
し、両者が同時にアクセス可となることはない。
以上のようにして第1CPUIと第2CPU2とが共有
メモリに対し同時にアクセスすることが回避される。
メモリに対し同時にアクセスすることが回避される。
尚、以上の実施例では、第1CPU1が8ピッ1−CP
U、第2CPU2が16ビツトCPUであったが、この
発明がその他のビット数のCPUに対しても適用できる
ことは言うまでもない。また、この実施例では、第1フ
リツプフロツプ11と第2フリツプフロツプ12の出力
を各CPUのデータバスのり。信号線に接続したか、デ
ータバスの他の信号線に接続できることも勿論である。
U、第2CPU2が16ビツトCPUであったが、この
発明がその他のビット数のCPUに対しても適用できる
ことは言うまでもない。また、この実施例では、第1フ
リツプフロツプ11と第2フリツプフロツプ12の出力
を各CPUのデータバスのり。信号線に接続したか、デ
ータバスの他の信号線に接続できることも勿論である。
さらに、共有メモリアクセス調整回路5を構成する各回
路素子を同等の機能を持つ他の回路素子に置き換えても
実施できる。
路素子を同等の機能を持つ他の回路素子に置き換えても
実施できる。
〈発明の効果〉
このように、本発明に係る共有メモリアクセス調整制御
方法によれば、第1及び第2の両アクセス可否報知手段
を含む簡単な回路構成の共有メモリアクセス調整回路を
設け、異なるビ・ソト数を有する第1及び第2の両CP
Uが共有メモリのアクセスを実行しようとする時、この
両CPUが、それぞれのプログラム命令により共有メモ
リ調整回路に対しアクセスを行い、第1及び第2の両ア
クセス可否報知手段の出力状態をデータ値として取り込
み、このデータ値により共有メモリのアクセスの可否を
判断し、アクセス可と判断したC )) Uが共有メモ
リをアクセスできるようにし、両CI)Uが共有メモリ
に対し同時にアクセスすることを回避するようにしてい
るので、」二連した従来技術における正確なデータの転
送ができなくなるという不具合が解消されるとい・う効
果があり、また共有メモリへのアクセスが不可となった
CPUはシステムの他のモジュールへアクセスすること
かできCPUの処理効率を向−1−することができると
いう効果がある。
方法によれば、第1及び第2の両アクセス可否報知手段
を含む簡単な回路構成の共有メモリアクセス調整回路を
設け、異なるビ・ソト数を有する第1及び第2の両CP
Uが共有メモリのアクセスを実行しようとする時、この
両CPUが、それぞれのプログラム命令により共有メモ
リ調整回路に対しアクセスを行い、第1及び第2の両ア
クセス可否報知手段の出力状態をデータ値として取り込
み、このデータ値により共有メモリのアクセスの可否を
判断し、アクセス可と判断したC )) Uが共有メモ
リをアクセスできるようにし、両CI)Uが共有メモリ
に対し同時にアクセスすることを回避するようにしてい
るので、」二連した従来技術における正確なデータの転
送ができなくなるという不具合が解消されるとい・う効
果があり、また共有メモリへのアクセスが不可となった
CPUはシステムの他のモジュールへアクセスすること
かできCPUの処理効率を向−1−することができると
いう効果がある。
第1図は本発明の実施例に用いる回路の回路図、第2図
は共有メモリアクセス調整回路における第1フリツプフ
ロツプと第2フリツプフロツプの同時動作の回避を説明
するためのタイムチャート図、 第3図は一方が1バイト(8ビツト)アクセスのCPU
で他方が1ワード(16ビツト)アクセスのCPUの場
合における共有メモリに対するメモリ空間の一例を示す
図、そして 第4図は1バイトアクセスのCPUと1ワードアクセス
のCPUが共有メモリ上でそのアドレスを競合させた場
合の一例を示す図である。 ■・−−−−−一第1CPU L a 、 2 a −−−−−−アドレス・データ
バス2−・°°“第2CPU 3−−−−一共有メモリ 4a、4 b−一一一一デコーダ回路 5−−−−−共有メモリアクセス調整回路11−−−一
第1フリップフロップ (第1アクセス可否報知手段) 12−−−−一一第2フリップフロップ(第2アクセス
可否報知手段) 13.14−−−2人力NORゲート 15.16−−−−−−3ステートバッファ、17−・
−・−・−発振器 18・・・−インバータ回路。 吠 (ト) 、木1(、k 廿 綜
は共有メモリアクセス調整回路における第1フリツプフ
ロツプと第2フリツプフロツプの同時動作の回避を説明
するためのタイムチャート図、 第3図は一方が1バイト(8ビツト)アクセスのCPU
で他方が1ワード(16ビツト)アクセスのCPUの場
合における共有メモリに対するメモリ空間の一例を示す
図、そして 第4図は1バイトアクセスのCPUと1ワードアクセス
のCPUが共有メモリ上でそのアドレスを競合させた場
合の一例を示す図である。 ■・−−−−−一第1CPU L a 、 2 a −−−−−−アドレス・データ
バス2−・°°“第2CPU 3−−−−一共有メモリ 4a、4 b−一一一一デコーダ回路 5−−−−−共有メモリアクセス調整回路11−−−一
第1フリップフロップ (第1アクセス可否報知手段) 12−−−−一一第2フリップフロップ(第2アクセス
可否報知手段) 13.14−−−2人力NORゲート 15.16−−−−−−3ステートバッファ、17−・
−・−・−発振器 18・・・−インバータ回路。 吠 (ト) 、木1(、k 廿 綜
Claims (2)
- (1)ビット数の異なる第1CPUと第2CPUとが共
有メモリをアクセスする場合の共有メモリアクセス調整
制御方法であって、 第1CPUへ共有メモリに対するアクセスの可否を知ら
せる第1アクセス可否報知手段と、第2CPUへ共有メ
モリに対するアクセス可否を知らせる第2アクセス可否
報知手段と、第1及び第2の両CPUのプログラム命令
を第1及び第2の両アクセス可否報知手段にクロック入
力とするためのクロック供給手段とを備え、そして第1
及び第2の両アクセス可否報知手段のそれぞれの出力が
第1及び第2の両CPUそれぞれのデータバスに接続さ
れた共有メモリ調整回路を用い、 第1及び第2の両CPUが共有メモリのアクセスを実行
しようとする時、この両CPUが、それぞれのプログラ
ム命令により共有メモリ調整回路に対しアクセスを行い
、第1及び第2の両アクセス可否報知手段の出力状態を
データ値として取り込み、このデータ値により共有メモ
リのアクセスの可否を判断し、アクセス可と判断したC
PUが共有メモリをアクセスできるようにしたことを特
徴とする共有メモリアクセス調整制御方法。 - (2)共有メモリアクセス調整回路のクロックが第1及
び第2の両CPUの基本クロックより周波数の高いクロ
ックであり、第1アクセス可否報知手段のクロック入力
と第2アクセス可否報知手段のクロック入力とは位相が
ずらされて入力されることを特徴とする請求項(1)記
載の共有メモリアクセス調整制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3624189A JPH02288929A (ja) | 1989-02-17 | 1989-02-17 | 共有メモリアクセス調整制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3624189A JPH02288929A (ja) | 1989-02-17 | 1989-02-17 | 共有メモリアクセス調整制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02288929A true JPH02288929A (ja) | 1990-11-28 |
Family
ID=12464276
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3624189A Pending JPH02288929A (ja) | 1989-02-17 | 1989-02-17 | 共有メモリアクセス調整制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02288929A (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60229156A (ja) * | 1984-04-25 | 1985-11-14 | Nec Corp | 共有メモリ装置 |
| JPS60245063A (ja) * | 1984-05-21 | 1985-12-04 | Fujitsu Ltd | 共用メモリアクセス方式 |
| JPS615363A (ja) * | 1984-06-19 | 1986-01-11 | Matsushita Electric Ind Co Ltd | 共有メモリの制御装置 |
-
1989
- 1989-02-17 JP JP3624189A patent/JPH02288929A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS60229156A (ja) * | 1984-04-25 | 1985-11-14 | Nec Corp | 共有メモリ装置 |
| JPS60245063A (ja) * | 1984-05-21 | 1985-12-04 | Fujitsu Ltd | 共用メモリアクセス方式 |
| JPS615363A (ja) * | 1984-06-19 | 1986-01-11 | Matsushita Electric Ind Co Ltd | 共有メモリの制御装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR900004006B1 (ko) | 마이크로 프로세서 시스템 | |
| US4870562A (en) | Microcomputer capable of accessing internal memory at a desired variable access time | |
| JPS61156358A (ja) | バスコンバータ | |
| JPS6151243A (ja) | レジスタ式演算処理装置 | |
| EP0242879A2 (en) | Data processor with wait control allowing high speed access | |
| JPS5925254B2 (ja) | デイジタル・デ−タ処理装置 | |
| JPS5844558A (ja) | Nチヤンネルmos半導体プロセツサ | |
| JPS62249264A (ja) | デ−タ処理装置 | |
| JPH05324348A (ja) | シングルチップマイクロコンピュータ | |
| JP3593348B2 (ja) | 集積回路 | |
| US7376777B2 (en) | Performing an N-bit write access to an M×N-bit-only peripheral | |
| JP3737144B2 (ja) | 割り込み要求回路および割り込み要求の処理方法 | |
| JP2693598B2 (ja) | ディジタルシグナルプロセッサのプログラム実行制御装置 | |
| JPS6383844A (ja) | マイクロプロセツサシステム | |
| JP2569534B2 (ja) | マイクロコンピユ−タ | |
| JP2004185060A (ja) | マイクロコンピュータ | |
| JP2539064B2 (ja) | マイクロプロセッサ | |
| JPH01121965A (ja) | マイクロプロセッサ | |
| JP2668215B2 (ja) | マイクロコンピユータ | |
| JPH0330899B2 (ja) | ||
| JPH06180681A (ja) | 中央処理装置 | |
| JPH03214275A (ja) | 半導体集積回路 | |
| JPH06301641A (ja) | 電子計算機 | |
| JPH02118837A (ja) | 割込み制御装置 | |
| JPS61288243A (ja) | コンペアアンドスワツプ命令処理方式 |