JPH09212420A - データ処理装置及びキャッシュメモリ制御方法 - Google Patents
データ処理装置及びキャッシュメモリ制御方法Info
- Publication number
- JPH09212420A JPH09212420A JP9007250A JP725097A JPH09212420A JP H09212420 A JPH09212420 A JP H09212420A JP 9007250 A JP9007250 A JP 9007250A JP 725097 A JP725097 A JP 725097A JP H09212420 A JPH09212420 A JP H09212420A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- address
- bus
- circuit
- cache 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.)
- Granted
Links
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 バッファ記憶としてのキャッシュメモリを設
けても、共有メモリ(82)等のデータアクセスを矛盾
無くを行うデータ処理装置を提供する。 【構成】 キャッシュメモリ(11)を有するプロセッ
サ(10)からのバス(100)上のアクセスアドレス
が共有メモリ(82)をアクセスする際に制御信号(1
37)が信号発生回路(3)から発生され、共有メモリ
(82)のデータがキャッシュメモリ(11)に書き込
まれることが禁止される。 【効果】 共有メモリ(82)のデータがキャッシュメ
モリ(11)に書き込まれることによる矛盾が解消され
る。
けても、共有メモリ(82)等のデータアクセスを矛盾
無くを行うデータ処理装置を提供する。 【構成】 キャッシュメモリ(11)を有するプロセッ
サ(10)からのバス(100)上のアクセスアドレス
が共有メモリ(82)をアクセスする際に制御信号(1
37)が信号発生回路(3)から発生され、共有メモリ
(82)のデータがキャッシュメモリ(11)に書き込
まれることが禁止される。 【効果】 共有メモリ(82)のデータがキャッシュメ
モリ(11)に書き込まれることによる矛盾が解消され
る。
Description
【0001】
【産業上の利用分野】本発明はバッファ記憶としてのキ
ャッシュ・メモリを有するデータ処理装置に係わる。
ャッシュ・メモリを有するデータ処理装置に係わる。
【0002】
【従来の技術】従来、マイクロコンピュータ等では入出
力装置を制御するために専用の命令を設けず、一般の命
令を用いて主メモリと同一のアドレス空間にある入出力
制御レジスタをアクセスすることによって入出力装置を
制御するメモリマップドI/O方式が多く用いられてい
る。
力装置を制御するために専用の命令を設けず、一般の命
令を用いて主メモリと同一のアドレス空間にある入出力
制御レジスタをアクセスすることによって入出力装置を
制御するメモリマップドI/O方式が多く用いられてい
る。
【0003】図1はメモリマップドI/O方式の例を示
すシステムのブロック図である。システムバス100に
接続された主メモリ2、入出力制御回路3,5はプロセ
ッサ1により制御される。主メモリ2、入出力制御回路
3,5にはそれぞれ固有のアドレスが割当てられ、プロ
セッサ1により入出力制御回路3,5内の制御レジスタ
の値が書き換えられて、入出力装置4,6が制御され
る。また、入出力装置4,6は、自己の状態が変化した
とき、入出力制御回路3,5内の状態レジスタの値を書
き換える。プロセッサ1は、ストア命令等により主メモ
リ2内の内容を書き換える場合、システムバス100に
主メモリ2の書き込みアドレス、書き込むデータおよび
ライトコマンドを出力する。また、ロード命令等により
主メモリ内の内容を読み出す場合、システムバス100
に主メモリ2の読み出しアドレスとリードコマンドを出
力し、主メモリ2からシステムバス100に出力される
データを読み出しデータとして取り込む。入出力装置4
が起動されるのは入出力制御回路3内の制御レジスタの
スタートビットがオンにされたときである。
すシステムのブロック図である。システムバス100に
接続された主メモリ2、入出力制御回路3,5はプロセ
ッサ1により制御される。主メモリ2、入出力制御回路
3,5にはそれぞれ固有のアドレスが割当てられ、プロ
セッサ1により入出力制御回路3,5内の制御レジスタ
の値が書き換えられて、入出力装置4,6が制御され
る。また、入出力装置4,6は、自己の状態が変化した
とき、入出力制御回路3,5内の状態レジスタの値を書
き換える。プロセッサ1は、ストア命令等により主メモ
リ2内の内容を書き換える場合、システムバス100に
主メモリ2の書き込みアドレス、書き込むデータおよび
ライトコマンドを出力する。また、ロード命令等により
主メモリ内の内容を読み出す場合、システムバス100
に主メモリ2の読み出しアドレスとリードコマンドを出
力し、主メモリ2からシステムバス100に出力される
データを読み出しデータとして取り込む。入出力装置4
が起動されるのは入出力制御回路3内の制御レジスタの
スタートビットがオンにされたときである。
【0004】例えば、ストア命令を実行するとき、書き
込みアドレスを制御レジスタの固有アドレスとして、ス
トア命令を実行することにより入出力装置4が起動され
る。一方、入出力装置4の動作の完了を知るために、上
述のロード命令等で入出力制御回路3内の状態レジスタ
を読み出して、この状態レジスタの動作完了ビットがオ
ンかどうかをチェックする。動作完了ビットがオンであ
れば、状態レジスタの他のビットをチェックすることに
より正常終了、異常終了等の完了状態を知ることができ
る。
込みアドレスを制御レジスタの固有アドレスとして、ス
トア命令を実行することにより入出力装置4が起動され
る。一方、入出力装置4の動作の完了を知るために、上
述のロード命令等で入出力制御回路3内の状態レジスタ
を読み出して、この状態レジスタの動作完了ビットがオ
ンかどうかをチェックする。動作完了ビットがオンであ
れば、状態レジスタの他のビットをチェックすることに
より正常終了、異常終了等の完了状態を知ることができ
る。
【0005】このように、メモリマップドI/O方式を
用いれば、専用の入出力命令を設けなくとも一般の命令
で入出力装置をきめこまかく制御できるという利点があ
る。
用いれば、専用の入出力命令を設けなくとも一般の命令
で入出力装置をきめこまかく制御できるという利点があ
る。
【0006】
【発明が解決しようとする課題】一方、マイクロプロセ
ッサ等の性能向上を図るために、マイクロプロセッサ等
にバッファ記憶(キャッシュ・メモリ)を設けている。
このバッファ記憶と上述したメモリマップドI/O方式
を組合わせた方式を採用すると次のような問題が発生す
る。図2を用いてこの問題点を明らかにする。
ッサ等の性能向上を図るために、マイクロプロセッサ等
にバッファ記憶(キャッシュ・メモリ)を設けている。
このバッファ記憶と上述したメモリマップドI/O方式
を組合わせた方式を採用すると次のような問題が発生す
る。図2を用いてこの問題点を明らかにする。
【0007】図2は、メモリマップドI/O方式におい
てバッファ記憶を用いたシステムの例を示すブロック図
である。
てバッファ記憶を用いたシステムの例を示すブロック図
である。
【0008】図2において、プロセッサ1は命令を実行
するプロセッサ本体10とバッファ記憶11から成り、
バッファ記憶11は主メモリ2を参照するためのアドレ
スとそのアドレスで示されている領域のデータを記憶し
ている。いま、命令フェッチやデータ読み出し等のため
プロセッサ本体10で主メモリ2上の領域のデータの参
照要求が生じると、まず最初に、バッファ記憶11がチ
ェックされ、この主メモリ2上の領域のデータがバッフ
ァ記憶11に記憶されている場合、バッファ記憶11の
該当するデータをプロセッサ本体10へ送り、読み出し
を終了する。しかし、主メモリ2上の領域のデータがバ
ッファ記憶11に記憶されていない場合、システムバス
100を介して主メモリ2から該当するデータの読み出
しを行い、読み出したデータをプロセッサ本体10へ送
ると共に、バッファ記憶11に記憶する。また、データ
書き込み時には、プロセッサ本体10から出力された書
き込みデータと書き込みアドレスは、システムバス10
0を介して主メモリ2に送られ、該当する書き込みデー
タが主メモリ2に書き込まれる。これと同時に、この書
き込みデータと書き込みアドレスは、バッファ記憶11
にも記憶される。
するプロセッサ本体10とバッファ記憶11から成り、
バッファ記憶11は主メモリ2を参照するためのアドレ
スとそのアドレスで示されている領域のデータを記憶し
ている。いま、命令フェッチやデータ読み出し等のため
プロセッサ本体10で主メモリ2上の領域のデータの参
照要求が生じると、まず最初に、バッファ記憶11がチ
ェックされ、この主メモリ2上の領域のデータがバッフ
ァ記憶11に記憶されている場合、バッファ記憶11の
該当するデータをプロセッサ本体10へ送り、読み出し
を終了する。しかし、主メモリ2上の領域のデータがバ
ッファ記憶11に記憶されていない場合、システムバス
100を介して主メモリ2から該当するデータの読み出
しを行い、読み出したデータをプロセッサ本体10へ送
ると共に、バッファ記憶11に記憶する。また、データ
書き込み時には、プロセッサ本体10から出力された書
き込みデータと書き込みアドレスは、システムバス10
0を介して主メモリ2に送られ、該当する書き込みデー
タが主メモリ2に書き込まれる。これと同時に、この書
き込みデータと書き込みアドレスは、バッファ記憶11
にも記憶される。
【0009】バッファ記憶11は主メモリ2と比べてア
クセス速度が速いため、以上のような制御を行うと、一
度読み出しまたは書き込みを行った主メモリ2上の領域
のデータはバッファ記憶11に記憶されているため、再
度主メモリ2上の同一領域のデータを参照するときのア
クセス時間を短縮できるという利点がある。
クセス速度が速いため、以上のような制御を行うと、一
度読み出しまたは書き込みを行った主メモリ2上の領域
のデータはバッファ記憶11に記憶されているため、再
度主メモリ2上の同一領域のデータを参照するときのア
クセス時間を短縮できるという利点がある。
【0010】ところが、入出力制御回路3または5内の
状態レジスタを参照する場合、次のような問題が生じ
る。
状態レジスタを参照する場合、次のような問題が生じ
る。
【0011】いま、プロセッサ1が状態レジスタをチェ
ックし、入出力装置4の動作完了を待つプログラムの実
行を行うものとする。プロセッサ本体10は、入出力制
御回路3内の状態レジスタの参照要求を行うと、状態レ
ジスタの値はプロセッサ本体10へ送られると同時に、
バッファ記憶11にも記憶される。プロセッサ本体10
は状態レジスタの完了ビットをチェックし、オンであれ
ば次のプログラムへ進み、オフであれば状態レジスタの
読み出しと完了ビットのチェックを繰り返す。しかし、
2回目以降の状態レジスタの読み出しではバッファ記憶
11に記憶された値が返されるため、入出力装置4が入
出力動作を完了し、入出力制御回路3内の状態レジスタ
の完了ビットをオンにしても、プロセッサ1はこれを検
出できないという問題がある。
ックし、入出力装置4の動作完了を待つプログラムの実
行を行うものとする。プロセッサ本体10は、入出力制
御回路3内の状態レジスタの参照要求を行うと、状態レ
ジスタの値はプロセッサ本体10へ送られると同時に、
バッファ記憶11にも記憶される。プロセッサ本体10
は状態レジスタの完了ビットをチェックし、オンであれ
ば次のプログラムへ進み、オフであれば状態レジスタの
読み出しと完了ビットのチェックを繰り返す。しかし、
2回目以降の状態レジスタの読み出しではバッファ記憶
11に記憶された値が返されるため、入出力装置4が入
出力動作を完了し、入出力制御回路3内の状態レジスタ
の完了ビットをオンにしても、プロセッサ1はこれを検
出できないという問題がある。
【0012】また、制御レジスタと状態レジスタが同じ
アドレスの異なるビットに割付けられている場合、およ
び同じアドレスに割付けられており、書き込み時には制
御レジスタが、読み出し時には状態レジスタがアクセス
されるような構成をとっている場合には、制御レジスタ
に書き込んだ値がバッファ記憶11に記憶されているた
め状態レジスタの読み出しを行うと制御レジスタの値が
読み出されるという問題がある。
アドレスの異なるビットに割付けられている場合、およ
び同じアドレスに割付けられており、書き込み時には制
御レジスタが、読み出し時には状態レジスタがアクセス
されるような構成をとっている場合には、制御レジスタ
に書き込んだ値がバッファ記憶11に記憶されているた
め状態レジスタの読み出しを行うと制御レジスタの値が
読み出されるという問題がある。
【0013】次に、負荷分散のために複数個のプロセッ
サを結合したマルチプロセッサ方式においてバッファ記
憶とプロセッサ間のメッセージの転送において発生する
問題について説明する。
サを結合したマルチプロセッサ方式においてバッファ記
憶とプロセッサ間のメッセージの転送において発生する
問題について説明する。
【0014】例えば、2つのプロセッサ間でメッセージ
の転送を行いながら処理を進めるシステムの場合の例
を、図3および図4のブロック図で示す。
の転送を行いながら処理を進めるシステムの場合の例
を、図3および図4のブロック図で示す。
【0015】図3は、プロセッサ1と7、それぞれのプ
ロセッサ専用のローカルメモリ2と2′およびメッセー
ジ通信用の共有メモリ8から成るシステムのブロック図
である。通常、各々のプロセッサ1または7は、自プロ
セッサのローカルメモリ2または2′を用いて処理を行
っているが、プロセッサ1からプロセッサ7に処理依頼
を行う場合、プロセッサ1は処理内容と処理に必要なデ
ータを共有メモリ8の予め定められた領域に書き、プロ
セッサ7に割込みをかける。プロセッサ7は割込みが生
ずると、共有メモリ8の内容を読み出し依頼された処理
を行う。プロセッサ7は、処理を終了すると、プロセッ
サ1に連絡するため共有メモリ8に結果を書き込み、プ
ロセッサ1に割込みをかける。その後、プロセッサ7は
以前の処理を続行する。プロセッサ1は、プロセッサ7
からの割込みにより共有メモリ8から処理結果を取り出
し、引き続き処理を続行する。プロセッサ1はプロセッ
サ7に依頼した処理が実行されている間は、ローカルメ
モリ2を用いて他の処理を行うことが出来る。
ロセッサ専用のローカルメモリ2と2′およびメッセー
ジ通信用の共有メモリ8から成るシステムのブロック図
である。通常、各々のプロセッサ1または7は、自プロ
セッサのローカルメモリ2または2′を用いて処理を行
っているが、プロセッサ1からプロセッサ7に処理依頼
を行う場合、プロセッサ1は処理内容と処理に必要なデ
ータを共有メモリ8の予め定められた領域に書き、プロ
セッサ7に割込みをかける。プロセッサ7は割込みが生
ずると、共有メモリ8の内容を読み出し依頼された処理
を行う。プロセッサ7は、処理を終了すると、プロセッ
サ1に連絡するため共有メモリ8に結果を書き込み、プ
ロセッサ1に割込みをかける。その後、プロセッサ7は
以前の処理を続行する。プロセッサ1は、プロセッサ7
からの割込みにより共有メモリ8から処理結果を取り出
し、引き続き処理を続行する。プロセッサ1はプロセッ
サ7に依頼した処理が実行されている間は、ローカルメ
モリ2を用いて他の処理を行うことが出来る。
【0016】図4は、2つのプロセッサ1,7がそれぞ
れ共通のシステムバス100に接続され、主メモリ2を
共有しているシステムのブロック図である。それぞれの
プロセッサは、互いに独立に主メモリ2にアクセスを行
うが、一方のプロセッサが主メモリ2をアクセス中の場
合、他方のプロセッサのアクセス要求は待たされるよう
制御される。このシステムにおいて、プロセッサ間のメ
ッセージ通信は、主メモリ2の特定領域を用いて行なわ
れ、メッセージを書く領域が主メモリ2内の特定領域で
ある点を除いて、図3に示されるシステムと同様の方式
がとられている。
れ共通のシステムバス100に接続され、主メモリ2を
共有しているシステムのブロック図である。それぞれの
プロセッサは、互いに独立に主メモリ2にアクセスを行
うが、一方のプロセッサが主メモリ2をアクセス中の場
合、他方のプロセッサのアクセス要求は待たされるよう
制御される。このシステムにおいて、プロセッサ間のメ
ッセージ通信は、主メモリ2の特定領域を用いて行なわ
れ、メッセージを書く領域が主メモリ2内の特定領域で
ある点を除いて、図3に示されるシステムと同様の方式
がとられている。
【0017】この2つのシステムにおいて、各プロセッ
サ1,7に一般的なバッファ記憶11,71を設ける
と、例えばプロセッサ1がメッセージ通信用領域に書き
込みを行った場合、プロセッサ1の有するバッファ記憶
11の値は書き込みと同時に更新されるが、プロセッサ
7のバッファ記憶71に同じアドレスの値が記憶されて
いてもその更新が行われないために、プロセッサ7がメ
ッセージ領域をアクセスしてもバッファ記憶71の情報
が読み出されてしまい、プロセッサ1からのメッセージ
を正しく受け取れないという問題が生じる。
サ1,7に一般的なバッファ記憶11,71を設ける
と、例えばプロセッサ1がメッセージ通信用領域に書き
込みを行った場合、プロセッサ1の有するバッファ記憶
11の値は書き込みと同時に更新されるが、プロセッサ
7のバッファ記憶71に同じアドレスの値が記憶されて
いてもその更新が行われないために、プロセッサ7がメ
ッセージ領域をアクセスしてもバッファ記憶71の情報
が読み出されてしまい、プロセッサ1からのメッセージ
を正しく受け取れないという問題が生じる。
【0018】従って本発明の目的とするところは、上記
問題点を解決するためになされたもので、マイクロプロ
セッサ等を有するデータ処理装置において、性能向上を
図るためのバッファ記憶を設けても、矛盾なくデータア
クセスを行うことにある。
問題点を解決するためになされたもので、マイクロプロ
セッサ等を有するデータ処理装置において、性能向上を
図るためのバッファ記憶を設けても、矛盾なくデータア
クセスを行うことにある。
【0019】
【課題を解決するための手段】バッファ記憶を有するマ
イクロプロセッサを用いる場合、入出力制御回路内のレ
ジスタや共有メモリのメッセージ領域などは当該マイク
ロプロセッサ以外の装置等の特定要因によってデータが
変化するものであり、このようなデータの変化を当該マ
イクロプロセッサが検出するのが困難な記憶手段上のデ
ータについてはバッファ記憶に保持しないように制御す
れば、当該マイクロプロセッサはバッファ記憶にアクセ
スせず外部の記憶手段に対してアクセスを行うため、常
に最新のデータを得ることが出来る。
イクロプロセッサを用いる場合、入出力制御回路内のレ
ジスタや共有メモリのメッセージ領域などは当該マイク
ロプロセッサ以外の装置等の特定要因によってデータが
変化するものであり、このようなデータの変化を当該マ
イクロプロセッサが検出するのが困難な記憶手段上のデ
ータについてはバッファ記憶に保持しないように制御す
れば、当該マイクロプロセッサはバッファ記憶にアクセ
スせず外部の記憶手段に対してアクセスを行うため、常
に最新のデータを得ることが出来る。
【0020】本願で開示される代表的な発明の概要は、
下記の通りである。
下記の通りである。
【0021】すなわち、命令の実行と論理アドレスの発
生を行うプロセッサ(10)と、上記プロセッサから受けた
論理アドレスの物理アドレスへの変換を行うメモリマネ
ージメントユニット(9)と、上記メモリマネージメント
ユニットから物理アドレスを受けるバス(100)と、メモ
リ回路(82)と、上記メモリ回路から読み出されたデータ
を記憶するために上記プロセッサに接続されたキャッシ
ュメモリ(11)と、上記バスに接続された制御回路(81,1
3)とを具備し、上記制御回路は、上記バスを介して上記
メモリーマネージメントユニットから物理アドレスを受
け取り、上記バスからの上記物理アドレスで上記メモリ
回路の所定のアドレスをアクセスする際に上記メモリー
回路から読み出されたデータの上記キャッシュメモリへ
の書き込みを禁止するというものである。
生を行うプロセッサ(10)と、上記プロセッサから受けた
論理アドレスの物理アドレスへの変換を行うメモリマネ
ージメントユニット(9)と、上記メモリマネージメント
ユニットから物理アドレスを受けるバス(100)と、メモ
リ回路(82)と、上記メモリ回路から読み出されたデータ
を記憶するために上記プロセッサに接続されたキャッシ
ュメモリ(11)と、上記バスに接続された制御回路(81,1
3)とを具備し、上記制御回路は、上記バスを介して上記
メモリーマネージメントユニットから物理アドレスを受
け取り、上記バスからの上記物理アドレスで上記メモリ
回路の所定のアドレスをアクセスする際に上記メモリー
回路から読み出されたデータの上記キャッシュメモリへ
の書き込みを禁止するというものである。
【0022】本発明のその他の目的と特徴は、以下の実
施例から明らかとなろう。
施例から明らかとなろう。
【0023】
【実施例】以下、本発明の一実施例を図5から図10を
用いて詳細に説明する。図5は本発明の一実施例を示す
全体システム構成図、図6から図10はそれぞれ図5中
の各ブロックの回路図である。
用いて詳細に説明する。図5は本発明の一実施例を示す
全体システム構成図、図6から図10はそれぞれ図5中
の各ブロックの回路図である。
【0024】図5において、マイクロプロセッサ1(以
下MPUと略す)、メモリマネージメントユニット9
(以下MMUと略す)、主メモリ2、共有メモリ8、入
出力制御回路3、入出力装置4、システムバス100お
よびシステムバスに接続される図示されない他のマイク
ロプロセッサ(以下MPUXと略す)から成る。
下MPUと略す)、メモリマネージメントユニット9
(以下MMUと略す)、主メモリ2、共有メモリ8、入
出力制御回路3、入出力装置4、システムバス100お
よびシステムバスに接続される図示されない他のマイク
ロプロセッサ(以下MPUXと略す)から成る。
【0025】MPU1は、命令の実行を行うプロセッサ
本体10、キャッシュメモリ11、キャッシュメモリ制
御回路13、リード/ライト制御回路14およびORゲ
ート15から成り、アドレス信号116、データ信号1
22、リード信号125、ライト信号124、PURG
E信号126、ACK信号128およびRMA信号12
7によってMMU9と接続され、また、データ信号12
2、リード信号125、ライト信号124、ACK信号
128およびRMA信号127によってシステムバス1
00と接続されている。ここで、ACK信号は動作終了
を示す信号であり、また、RMA信号はキャッシュ・メ
モリ11への書き込みの可否を表わす信号である。
本体10、キャッシュメモリ11、キャッシュメモリ制
御回路13、リード/ライト制御回路14およびORゲ
ート15から成り、アドレス信号116、データ信号1
22、リード信号125、ライト信号124、PURG
E信号126、ACK信号128およびRMA信号12
7によってMMU9と接続され、また、データ信号12
2、リード信号125、ライト信号124、ACK信号
128およびRMA信号127によってシステムバス1
00と接続されている。ここで、ACK信号は動作終了
を示す信号であり、また、RMA信号はキャッシュ・メ
モリ11への書き込みの可否を表わす信号である。
【0026】MMU9は、仮想記憶方式をサポートする
ためのアドレス変換機構であり、アドレス信号116上
の論理アドレスを内蔵するアドレス変換テーブルによっ
て物理アドレスに変換し、アドレス信号129を介して
システムバス100に出力する。主メモリ2は、主メモ
リ制御回路21と主メモリ記憶部22から成り、データ
信号152、アドレス信号159、リード信号155、
ライト信号154およびACK信号158によってシス
テムバス100に接続され、MPU1で処理を行うため
の命令およびデータを記憶する。
ためのアドレス変換機構であり、アドレス信号116上
の論理アドレスを内蔵するアドレス変換テーブルによっ
て物理アドレスに変換し、アドレス信号129を介して
システムバス100に出力する。主メモリ2は、主メモ
リ制御回路21と主メモリ記憶部22から成り、データ
信号152、アドレス信号159、リード信号155、
ライト信号154およびACK信号158によってシス
テムバス100に接続され、MPU1で処理を行うため
の命令およびデータを記憶する。
【0027】共有メモリ8は、共有メモリ制御回路81
および共有メモリ記憶部82から成り、データ信号14
2、アドレス信号149、リード信号145、ライト信
号144、ACK信号148およびRMA信号147に
よってシステムバス100に接続され、MPU1とMP
UXのメッセージ通信のためのデータおよびMPUXで
処理を行うための命令とデータを記憶する。
および共有メモリ記憶部82から成り、データ信号14
2、アドレス信号149、リード信号145、ライト信
号144、ACK信号148およびRMA信号147に
よってシステムバス100に接続され、MPU1とMP
UXのメッセージ通信のためのデータおよびMPUXで
処理を行うための命令とデータを記憶する。
【0028】入出力制御回路3は、データ信号132、
アドレス信号139、リード信号135、ライト信号1
34、ACK信号138およびRMA信号137によっ
てシステムバス100に接続され、信号130を介して
入出力装置4の制御および入出力データの転送を行う。
アドレス信号139、リード信号135、ライト信号1
34、ACK信号138およびRMA信号137によっ
てシステムバス100に接続され、信号130を介して
入出力装置4の制御および入出力データの転送を行う。
【0029】システムバス100において各装置のAC
K信号138,148,158およびRMA信号13
7,147はそれぞれワイアードORされ、MMU9、
主メモリ2、共有メモリ8または入出力制御回3のいず
れかによりACK信号またはRMA信号がオンにされる
と、MPU1に入力されるACK信号128またはRM
A信号127がオンになる。逆に、上記の装置すべての
ACK信号またはRMA信号がオフにされると、MPU
1に入力されるACK信号128またはRMA信号12
7はオフとなる。
K信号138,148,158およびRMA信号13
7,147はそれぞれワイアードORされ、MMU9、
主メモリ2、共有メモリ8または入出力制御回3のいず
れかによりACK信号またはRMA信号がオンにされる
と、MPU1に入力されるACK信号128またはRM
A信号127がオンになる。逆に、上記の装置すべての
ACK信号またはRMA信号がオフにされると、MPU
1に入力されるACK信号128またはRMA信号12
7はオフとなる。
【0030】以上の構成において、パワーオンリセット
時には、プロセッサ本体10により、信号113がオン
にされ、キャッシュメモリ制御回路13にキャッシュメ
モリ11のクリアが指示される。キャッシュメモリ制御
回路13は信号117をオンにして、キャッシュメモリ
11の記憶内容をすべて無効化する。
時には、プロセッサ本体10により、信号113がオン
にされ、キャッシュメモリ制御回路13にキャッシュメ
モリ11のクリアが指示される。キャッシュメモリ制御
回路13は信号117をオンにして、キャッシュメモリ
11の記憶内容をすべて無効化する。
【0031】また、読み出しを行うときは、プロセッサ
本体10により読み出すアドレスがアドレス信号116
に出力され信号111がオンにされる。読み出しまたは
書き込みの完了を表わす信号112がオンとなると、プ
ロセッサ本体10により、信号115上のデータが読み
出したデータとして取り込まれ、アドレス信号116へ
の出力をやめ、信号111がオフにされて読み出し動作
を終了する。
本体10により読み出すアドレスがアドレス信号116
に出力され信号111がオンにされる。読み出しまたは
書き込みの完了を表わす信号112がオンとなると、プ
ロセッサ本体10により、信号115上のデータが読み
出したデータとして取り込まれ、アドレス信号116へ
の出力をやめ、信号111がオフにされて読み出し動作
を終了する。
【0032】さらに、書き込みを行うとき、プロセッサ
本体10により、書き込みを行うアドレスがアドレス信
号116に、書き込むデータが信号115に出力され信
号110がオンにされる。読み出しまたは書き込みの完
了を表わす信号112がオンとなると、プロセッサ本体
10により、アドレス信号116および信号115への
出力をやめ、信号110がオフにされて書き込み動作を
終了する。
本体10により、書き込みを行うアドレスがアドレス信
号116に、書き込むデータが信号115に出力され信
号110がオンにされる。読み出しまたは書き込みの完
了を表わす信号112がオンとなると、プロセッサ本体
10により、アドレス信号116および信号115への
出力をやめ、信号110がオフにされて書き込み動作を
終了する。
【0033】次に、主メモリ2からの読み出しについ
て、キャッシュメモリ11との関係において説明する。
キャッシュメモリ11は、アドレス信号116に出力さ
れたアドレスが保持されているかどうかをチェックし、
保持されていれば信号121をオンにする。リード/ラ
イト制御回路14は、信号111がオンでかつ信号12
1がオンのとき、キャッシュメモリ11から読み出しを
行うものと判断して信号114をオンにしプロセッサ本
体10に読み出しの完了を通知する。これと並行して、
キャッシュメモリ制御回路13は、信号111および信
号121がオンのとき、信号119をオンにし、該当す
るデータをキャッシュメモリ11から信号115に出力
するように指示する。プロセッサ本体10はこの値を取
り込んで読み出しを終了する。
て、キャッシュメモリ11との関係において説明する。
キャッシュメモリ11は、アドレス信号116に出力さ
れたアドレスが保持されているかどうかをチェックし、
保持されていれば信号121をオンにする。リード/ラ
イト制御回路14は、信号111がオンでかつ信号12
1がオンのとき、キャッシュメモリ11から読み出しを
行うものと判断して信号114をオンにしプロセッサ本
体10に読み出しの完了を通知する。これと並行して、
キャッシュメモリ制御回路13は、信号111および信
号121がオンのとき、信号119をオンにし、該当す
るデータをキャッシュメモリ11から信号115に出力
するように指示する。プロセッサ本体10はこの値を取
り込んで読み出しを終了する。
【0034】一方、キャッシュメモリ11に該当するデ
ータが保持されていない場合には、信号121はオフと
なる。信号111がオンでかつ信号121がオフの場
合、リード/ライト制御回路14は、プロセッサ外部か
らの読み出しを行うために、リード信号125をオンに
する。MPU1から出力されたアドレスは、MMU9で
変換されシステムバス100に送られる。主メモリ制御
回路21は、アドレス信号159とリード信号155か
ら読み出し要求がなされたことを認識し、主メモリ記憶
部22から該当するデータを読み出し、データ信号15
2に出力するように制御を行う。読み出しが完了する
と、主メモリ制御回路21はACK信号158をオンに
してMPU1に知らせる。主メモリ制御回路21はRM
A信号と接続されていないため、RMA信号127はオ
フ、ACK信号128はオンとなる。ACK信号128
は、ORゲート15を介してプロセッサ本体10に接続
されており、読み出し完了が通知される。また、この
時、キャッシュメモリ制御回路13は信号119をオフ
にし、データ信号122と信号115を接続するように
キャッシュメモリ11に指示し、読み出されたデータは
プロセッサ本体10に転送される。さらにこの条件でか
つACK信号128がオン、RMA信号127がオフの
とき、キャッシュメモリ制御回路13は、信号120を
オン、信号118をオンにしてキャッシュメモリ11に
読み出したデータを記憶するように指示する。キャッシ
ュメモリ11は既に記憶しているデータの一つを消去
し、この読み出したデータとそのアドレスを記憶する。
以後、このアドレスへの読み出し要求があると、キャッ
シュメモリ11に記憶されたデータが読み出される。
ータが保持されていない場合には、信号121はオフと
なる。信号111がオンでかつ信号121がオフの場
合、リード/ライト制御回路14は、プロセッサ外部か
らの読み出しを行うために、リード信号125をオンに
する。MPU1から出力されたアドレスは、MMU9で
変換されシステムバス100に送られる。主メモリ制御
回路21は、アドレス信号159とリード信号155か
ら読み出し要求がなされたことを認識し、主メモリ記憶
部22から該当するデータを読み出し、データ信号15
2に出力するように制御を行う。読み出しが完了する
と、主メモリ制御回路21はACK信号158をオンに
してMPU1に知らせる。主メモリ制御回路21はRM
A信号と接続されていないため、RMA信号127はオ
フ、ACK信号128はオンとなる。ACK信号128
は、ORゲート15を介してプロセッサ本体10に接続
されており、読み出し完了が通知される。また、この
時、キャッシュメモリ制御回路13は信号119をオフ
にし、データ信号122と信号115を接続するように
キャッシュメモリ11に指示し、読み出されたデータは
プロセッサ本体10に転送される。さらにこの条件でか
つACK信号128がオン、RMA信号127がオフの
とき、キャッシュメモリ制御回路13は、信号120を
オン、信号118をオンにしてキャッシュメモリ11に
読み出したデータを記憶するように指示する。キャッシ
ュメモリ11は既に記憶しているデータの一つを消去
し、この読み出したデータとそのアドレスを記憶する。
以後、このアドレスへの読み出し要求があると、キャッ
シュメモリ11に記憶されたデータが読み出される。
【0035】次に、主メモリ2に対する書き込みについ
て説明する。信号110がオンになると、キャッシュメ
モリ制御回路13は、信号119をオフにし、キャッシ
ュメモリ11に対して信号115と信号122を接続す
るように指示する。この指示により書き込みデータがシ
ステムバス100へ転送される。リード/ライト制御回
路14は、信号110がオンになるとライト信号124
をオンにし、プロセッサ外部へ書き込みを指示し、ま
た、アドレス信号116上のアドレスは、MMU9で変
換されシステムバス100へ送られる。主メモリ制御回
路21は、アドレス信号159およびライト信号154
によって書き込み要求がなされたことを認識すると、デ
ータ信号152の値を該当するアドレスへ書き込むよう
に主メモリ記憶部22の制御を行い、終了時にACK信
号158をオンにする。これにより、ACK信号128
がオンになりORゲート15を介してプロセッサ本体1
0に書き込みの終了が通知される。
て説明する。信号110がオンになると、キャッシュメ
モリ制御回路13は、信号119をオフにし、キャッシ
ュメモリ11に対して信号115と信号122を接続す
るように指示する。この指示により書き込みデータがシ
ステムバス100へ転送される。リード/ライト制御回
路14は、信号110がオンになるとライト信号124
をオンにし、プロセッサ外部へ書き込みを指示し、ま
た、アドレス信号116上のアドレスは、MMU9で変
換されシステムバス100へ送られる。主メモリ制御回
路21は、アドレス信号159およびライト信号154
によって書き込み要求がなされたことを認識すると、デ
ータ信号152の値を該当するアドレスへ書き込むよう
に主メモリ記憶部22の制御を行い、終了時にACK信
号158をオンにする。これにより、ACK信号128
がオンになりORゲート15を介してプロセッサ本体1
0に書き込みの終了が通知される。
【0036】書き込み時にも、キャッシュメモリ11に
は該当アドレスのデータが記憶されているかどうかのチ
ェックが行われ、その結果が信号121に出力される。
ACK信号128がオン、RMA信号127がオフ、信
号110がオンの状態になると、キャッシュメモリ制御
回路13はキャッシュメモリ11への書き込みを指示す
るが、信号121がオンのときには信号118をオンお
よび信号120をオフにして、既に記憶されているアド
レスおよびデータのうちデータのみを書き換えるように
指示し、また、信号121がオフのときには信号118
と信号120をともにオンにし、既に記憶されているデ
ータの一つを消去して書き込みアドレスとデータを記憶
するように指示する。
は該当アドレスのデータが記憶されているかどうかのチ
ェックが行われ、その結果が信号121に出力される。
ACK信号128がオン、RMA信号127がオフ、信
号110がオンの状態になると、キャッシュメモリ制御
回路13はキャッシュメモリ11への書き込みを指示す
るが、信号121がオンのときには信号118をオンお
よび信号120をオフにして、既に記憶されているアド
レスおよびデータのうちデータのみを書き換えるように
指示し、また、信号121がオフのときには信号118
と信号120をともにオンにし、既に記憶されているデ
ータの一つを消去して書き込みアドレスとデータを記憶
するように指示する。
【0037】次に、メモリマップドI/O方式におい
て、入出力制御回路3内部の制御レジスタまたは状態レ
ジスタの読み出しの場合は、入出力制御回路3は、アド
レス信号139およびリード信号135からその要求を
知ると、読み出しデータをデータ信号132に出力し、
ACK信号138とRMA信号137をオンにする。信
号111がオン、ACK信号128およびRMA信号1
27がオンの場合、キャッシュメモリ制御回路13は信
号118をオンにしないためキャッシュメモリ11への
書き込みは行われない。ところが、信号121がオフで
あるため、信号122および信号115が接続されて、
読み出されたデータはプロセッサ本体10に転送され
る。
て、入出力制御回路3内部の制御レジスタまたは状態レ
ジスタの読み出しの場合は、入出力制御回路3は、アド
レス信号139およびリード信号135からその要求を
知ると、読み出しデータをデータ信号132に出力し、
ACK信号138とRMA信号137をオンにする。信
号111がオン、ACK信号128およびRMA信号1
27がオンの場合、キャッシュメモリ制御回路13は信
号118をオンにしないためキャッシュメモリ11への
書き込みは行われない。ところが、信号121がオフで
あるため、信号122および信号115が接続されて、
読み出されたデータはプロセッサ本体10に転送され
る。
【0038】また、入出力制御回路3内部の制御レジス
タまたは状態レジスタへの書き込みの場合、入出力制御
回路3はアドレス信号139およびライト信号134か
らその要求を知ると、データ信号132の値を書き込
み、ACK信号138およびRMA信号137をオンに
する。信号110がオン、ACK信号128およびRM
A信号127がオンの場合、キャッシュメモリ制御回路
13は信号118をオンにしないため、入出力制御回路
3内部の制御レジスタまたは状態レジスタのアドレスお
よびデータがキャッシュメモリ11に書き込まれること
はない。
タまたは状態レジスタへの書き込みの場合、入出力制御
回路3はアドレス信号139およびライト信号134か
らその要求を知ると、データ信号132の値を書き込
み、ACK信号138およびRMA信号137をオンに
する。信号110がオン、ACK信号128およびRM
A信号127がオンの場合、キャッシュメモリ制御回路
13は信号118をオンにしないため、入出力制御回路
3内部の制御レジスタまたは状態レジスタのアドレスお
よびデータがキャッシュメモリ11に書き込まれること
はない。
【0039】入出力制御回路3内部の制御レジスタおよ
び状態レジスタの読み出しまたは書き込みにおいて、キ
ャッシュメモリ11内にデータが記憶されているかどう
かのチェックが行われるが、データが記憶されていない
ため、信号121はオフとなる。したがって、読み出し
時には、常にプロセッサ外部から読み出される。
び状態レジスタの読み出しまたは書き込みにおいて、キ
ャッシュメモリ11内にデータが記憶されているかどう
かのチェックが行われるが、データが記憶されていない
ため、信号121はオフとなる。したがって、読み出し
時には、常にプロセッサ外部から読み出される。
【0040】従って、キャッシュメモリをバッファ記憶
として設けてもメモリマップI/O方式において、入出
力の制御を矛盾なく行うことができる。
として設けてもメモリマップI/O方式において、入出
力の制御を矛盾なく行うことができる。
【0041】次に、共有メモリ8に対する読み出しおよ
び書き込みについて説明する。共有メモリ8は、MPU
1とMPUXとのメッセージ通信領域とMPUXで処理
する命令およびデータを記憶する領域の2つの領域に分
けられ、MPU1からはメッセージ通信領域のみにアク
セスが行われる。共有メモリ制御回路81は、メッセー
ジ通信領域からの読み出しおよび書き込みの場合、常に
RMA信号147をオンにするため、前述した入出力制
御回路3内部の制御レジスタおよび状態レジスタと同様
にメッセージ通信領域のデータもMPU1のキャッシメ
モリ11に記憶されることはない。またMPUXもMP
U1と同様の構成であれば、MPUXのキャッシメモリ
へメッセージ通信領域のデータが記憶されることはな
い。一方、MPUXのための命令およびデータを記憶す
る領域を読み出しまたは書き込んだ場合、共有メモリ制
御回路81はRMA信号147をオフにするため、MP
UXは、該領域の値を自己のキャッシュメモリに書き込
むことができ、MPU1における主メモリ2と同様の処
理を行う。
び書き込みについて説明する。共有メモリ8は、MPU
1とMPUXとのメッセージ通信領域とMPUXで処理
する命令およびデータを記憶する領域の2つの領域に分
けられ、MPU1からはメッセージ通信領域のみにアク
セスが行われる。共有メモリ制御回路81は、メッセー
ジ通信領域からの読み出しおよび書き込みの場合、常に
RMA信号147をオンにするため、前述した入出力制
御回路3内部の制御レジスタおよび状態レジスタと同様
にメッセージ通信領域のデータもMPU1のキャッシメ
モリ11に記憶されることはない。またMPUXもMP
U1と同様の構成であれば、MPUXのキャッシメモリ
へメッセージ通信領域のデータが記憶されることはな
い。一方、MPUXのための命令およびデータを記憶す
る領域を読み出しまたは書き込んだ場合、共有メモリ制
御回路81はRMA信号147をオフにするため、MP
UXは、該領域の値を自己のキャッシュメモリに書き込
むことができ、MPU1における主メモリ2と同様の処
理を行う。
【0042】この制御は、共有メモリ制御回路81内
に、アドレスがMPU1の領域に属すかMPUXの領域
に属すかを判定する回路を設けることにより実現され
る。
に、アドレスがMPU1の領域に属すかMPUXの領域
に属すかを判定する回路を設けることにより実現され
る。
【0043】従って、マルチプロセッサ方式において、
キャッシュメモリをバッファ記憶として設けても、メッ
セージの交信を矛盾なく行うことができる。
キャッシュメモリをバッファ記憶として設けても、メッ
セージの交信を矛盾なく行うことができる。
【0044】ここでは、2個のプロセッサによるマルチ
プロセッサ方式の例を示したが、3個以上のプロセッサ
による場合も、同様の効果が得られることは容易に理解
できる。
プロセッサ方式の例を示したが、3個以上のプロセッサ
による場合も、同様の効果が得られることは容易に理解
できる。
【0045】さて、図5の各ブロックのうち主要なもの
の内部回路を図6〜図10を用いて説明する。
の内部回路を図6〜図10を用いて説明する。
【0046】図6はキャッシュメモリ11の回路図であ
り、連想メモリ16、カウンタ17、ANDゲート18
およびスイッチ19から成る。連想メモリ16は、アド
レス、データおよび有効ビットを記憶しており、アドレ
スチェックを行う場合には、アドレス信号116と一致
するアドレスを記憶しているエントリのデータおよび有
効ビットをそれぞれ信号160および信号121に出力
する。一致するアドレスが無い場合、信号121はオフ
にされる。また、信号117がオンにされると、連想メ
モリ16のすべての有効ビットがオフにされ、すべての
記憶の無効化が行われる。一方、信号118は連想メモ
リ16への書き込み信号であり、信号120がオフなら
ばアドレス信号116と一致するアドレスを有するエン
トリのデータフィールドに信号115の値を書き当該エ
ントリの有効ビットをオンにする。信号120がオンの
場合には、カウンタ17によって示されるエントリにア
ドレス信号116および信号115の値を書き込み有効
ビットをオンにする。この際、ANDゲート18の出力
がオンとなりカウンタ17の値は+1される。すなわ
ち、カウンタ17は、連想メモリ16に既に記憶されて
いるデータのうち一つを新しいものに書き換える場合
に、書き換えるべきエントリを示す働きをする。スイッ
チ19は信号119がオンのとき信号160と信号11
5を接続し、オフのとき信号122と信号115を接続
する双方向性のスイッチである。
り、連想メモリ16、カウンタ17、ANDゲート18
およびスイッチ19から成る。連想メモリ16は、アド
レス、データおよび有効ビットを記憶しており、アドレ
スチェックを行う場合には、アドレス信号116と一致
するアドレスを記憶しているエントリのデータおよび有
効ビットをそれぞれ信号160および信号121に出力
する。一致するアドレスが無い場合、信号121はオフ
にされる。また、信号117がオンにされると、連想メ
モリ16のすべての有効ビットがオフにされ、すべての
記憶の無効化が行われる。一方、信号118は連想メモ
リ16への書き込み信号であり、信号120がオフなら
ばアドレス信号116と一致するアドレスを有するエン
トリのデータフィールドに信号115の値を書き当該エ
ントリの有効ビットをオンにする。信号120がオンの
場合には、カウンタ17によって示されるエントリにア
ドレス信号116および信号115の値を書き込み有効
ビットをオンにする。この際、ANDゲート18の出力
がオンとなりカウンタ17の値は+1される。すなわ
ち、カウンタ17は、連想メモリ16に既に記憶されて
いるデータのうち一つを新しいものに書き換える場合
に、書き換えるべきエントリを示す働きをする。スイッ
チ19は信号119がオンのとき信号160と信号11
5を接続し、オフのとき信号122と信号115を接続
する双方向性のスイッチである。
【0047】図7はバッファ記憶にデータの保持を禁止
する手段を有するキャッシュメモリ制御回路13の回路
図であり、ORゲート51,53、ANDゲート52,
54およびラッチ55から成り、ORゲート51によっ
て、キャッシュメモリ11を無効化する信号117と、
ORゲート53およびANDゲート52によってキャッ
シュメモリ11への書き込みを指示する信号118と、
ANDゲート54によってキャッシュメモリ11内のス
イッチ19を制御する信号119とを発生させる。ま
た、ラッチ55は信号121の値を保持し、連想メモリ
16へアドレスおよび有効ビットを書き込むことにより
信号121の値が変化することを防止する。
する手段を有するキャッシュメモリ制御回路13の回路
図であり、ORゲート51,53、ANDゲート52,
54およびラッチ55から成り、ORゲート51によっ
て、キャッシュメモリ11を無効化する信号117と、
ORゲート53およびANDゲート52によってキャッ
シュメモリ11への書き込みを指示する信号118と、
ANDゲート54によってキャッシュメモリ11内のス
イッチ19を制御する信号119とを発生させる。ま
た、ラッチ55は信号121の値を保持し、連想メモリ
16へアドレスおよび有効ビットを書き込むことにより
信号121の値が変化することを防止する。
【0048】図8はリード/ライト制御回路14の回路
図であり、遅延回路56、ANDゲート57,58およ
び否定ゲート59より成り、キャッシュメモリ11でア
ドレスのチェックが行われ、信号121が確定するまで
の間、遅延回路56により信号121を参照しないよう
にする。
図であり、遅延回路56、ANDゲート57,58およ
び否定ゲート59より成り、キャッシュメモリ11でア
ドレスのチェックが行われ、信号121が確定するまで
の間、遅延回路56により信号121を参照しないよう
にする。
【0049】図9は検出手段を有する入出力制御回路3
の回路図であり、デコーダ60,ANDゲート63,6
5,66、ORゲート64、トライステートバッファ6
8、オープンエミッタバッファ61,62および状態レ
ジスタ67から成り、デコーダ60は、アドレス信号1
39をデコードし、入出力制御回路3が選択されている
かどうかの判定と、どのレジスタが選択されているかを
判定する。選択されているレジスタが予め定めた特定領
域に相当する状態レジスタであれば、RMA信号137
をオンにする。また、オープンエミッタバッファ61
は、RMA信号137のドライブを行い、オープンエミ
ッタバツファ62は、ACK信号138をドライブし、
RMA信号137、ACK信号138は、ワイアードO
Rされるため、オープンエミッタバッファ61,62で
ドライブする。状態レジスタ67への書き込み時には、
ANDゲート65の出力がオンとされて書き込みが行わ
れ、また、状態レジスタ67の読み出し時には、AND
ゲート66の出力がオンとされて、トライステートバッ
ファ68からデータ信号132への出力が行われる。状
態レジスタ67の各ビットは入出力装置4からの信号に
よってオンまたはオフに変化する。
の回路図であり、デコーダ60,ANDゲート63,6
5,66、ORゲート64、トライステートバッファ6
8、オープンエミッタバッファ61,62および状態レ
ジスタ67から成り、デコーダ60は、アドレス信号1
39をデコードし、入出力制御回路3が選択されている
かどうかの判定と、どのレジスタが選択されているかを
判定する。選択されているレジスタが予め定めた特定領
域に相当する状態レジスタであれば、RMA信号137
をオンにする。また、オープンエミッタバッファ61
は、RMA信号137のドライブを行い、オープンエミ
ッタバツファ62は、ACK信号138をドライブし、
RMA信号137、ACK信号138は、ワイアードO
Rされるため、オープンエミッタバッファ61,62で
ドライブする。状態レジスタ67への書き込み時には、
ANDゲート65の出力がオンとされて書き込みが行わ
れ、また、状態レジスタ67の読み出し時には、AND
ゲート66の出力がオンとされて、トライステートバッ
ファ68からデータ信号132への出力が行われる。状
態レジスタ67の各ビットは入出力装置4からの信号に
よってオンまたはオフに変化する。
【0050】図10は検出手段を有する共有メモリ制御
回路81の回路図であり、デコーダ69,80、オープ
ンエミッタバッファ86,87、ORゲート83、AN
Dゲート84、タイミング制御回路85から成る。デコ
ーダ69は、共有メモリ8が選択されているかどうかの
判定と、共有メモリ記憶部82へ送るアドレスの生成を
行い、またデコーダ80は選択されているのが予め定め
られた特定領域すなわちメッセージ通信領域かどうかの
判定を行う。特定領域であればRMA信号147をオン
にする。オープンエミッタバッファ86,87は、RM
A信号147およびACK信号148のドライブを行
う。ANDゲート84の出力がオンとなるのは、共有メ
モリ8へのアクセス要求があったときのみである。ま
た、タイミング制御回路85は共有メモリ記憶部82の
アクセスに必要な制御信号と動作完了信号を生成する。
回路81の回路図であり、デコーダ69,80、オープ
ンエミッタバッファ86,87、ORゲート83、AN
Dゲート84、タイミング制御回路85から成る。デコ
ーダ69は、共有メモリ8が選択されているかどうかの
判定と、共有メモリ記憶部82へ送るアドレスの生成を
行い、またデコーダ80は選択されているのが予め定め
られた特定領域すなわちメッセージ通信領域かどうかの
判定を行う。特定領域であればRMA信号147をオン
にする。オープンエミッタバッファ86,87は、RM
A信号147およびACK信号148のドライブを行
う。ANDゲート84の出力がオンとなるのは、共有メ
モリ8へのアクセス要求があったときのみである。ま
た、タイミング制御回路85は共有メモリ記憶部82の
アクセスに必要な制御信号と動作完了信号を生成する。
【0051】本実施例によれば、キャッシュメモリ11
とキャッシュメモリ制御回路13を含むマイクロプロセ
ッサ1において、キャッシュメモリ11にデータを書き
込むことを禁止するRMA信号がマイクロプロセッサ1
内のキャッシュメモリ制御回路13に入力されるように
構成されており、例えば、特定領域を示す情報を禁止条
件としてマイクロプロセッサ1と独立に構成できるた
め、汎用性のあるマイクロプロセッサを提供することが
できる。
とキャッシュメモリ制御回路13を含むマイクロプロセ
ッサ1において、キャッシュメモリ11にデータを書き
込むことを禁止するRMA信号がマイクロプロセッサ1
内のキャッシュメモリ制御回路13に入力されるように
構成されており、例えば、特定領域を示す情報を禁止条
件としてマイクロプロセッサ1と独立に構成できるた
め、汎用性のあるマイクロプロセッサを提供することが
できる。
【0052】ところで、図5において、MMU9内部に
ある仮想記憶方式に用いられるアドレス変換テーブル
は、MPU1からメモリマップドI/O方式によってア
クセスが可能である。
ある仮想記憶方式に用いられるアドレス変換テーブル
は、MPU1からメモリマップドI/O方式によってア
クセスが可能である。
【0053】アドレス信号116の値がアドレス変換テ
ーブルのアドレスであり、リード信号125またはライ
ト信号124がオンのときには、アドレス変換は行われ
ずアドレス変換テーブルの読み出しまたは書き込みが行
われる。この場合にも、ACK信号128およびRMA
信号127がオンにされる。
ーブルのアドレスであり、リード信号125またはライ
ト信号124がオンのときには、アドレス変換は行われ
ずアドレス変換テーブルの読み出しまたは書き込みが行
われる。この場合にも、ACK信号128およびRMA
信号127がオンにされる。
【0054】書き込みの場合には、さらにPURGE信
号126がオンにされる。キャッシュメモリ制御回路1
3はPURGE信号126を受けると、信号117をオ
ンにし、キャッシュメモリ11をすべて無効化する。
号126がオンにされる。キャッシュメモリ制御回路1
3はPURGE信号126を受けると、信号117をオ
ンにし、キャッシュメモリ11をすべて無効化する。
【0055】この無効化によって、キャッシュメモリ1
1内の論理アドレスのデータと実際のメモリ上の物理ア
ドレスのデータとの対応関係がくずれるのを防止するこ
とができる。例えば、論理アドレス100番地のデータ
がキャッシュメモリ11に記憶されているとする。この
データを読み出したときにはアドレス変換により物理ア
ドレス1000番地に対応していたものをアドレス変換
テーブルを書き換えて500番地に対応するようにした
とすると、プロセッサが100番地を読み出すとキャッ
シュメモリ11にある物理アドレス1000番地のデー
タが読み出されてしまい矛盾が生じる。これを防ぐた
め、アドレス変換テーブルが書き換えられた場合には、
PURGE信号を出して、キャッシュメモリ11を無効
化する。
1内の論理アドレスのデータと実際のメモリ上の物理ア
ドレスのデータとの対応関係がくずれるのを防止するこ
とができる。例えば、論理アドレス100番地のデータ
がキャッシュメモリ11に記憶されているとする。この
データを読み出したときにはアドレス変換により物理ア
ドレス1000番地に対応していたものをアドレス変換
テーブルを書き換えて500番地に対応するようにした
とすると、プロセッサが100番地を読み出すとキャッ
シュメモリ11にある物理アドレス1000番地のデー
タが読み出されてしまい矛盾が生じる。これを防ぐた
め、アドレス変換テーブルが書き換えられた場合には、
PURGE信号を出して、キャッシュメモリ11を無効
化する。
【0056】
【発明の効果】以上の説明から明らかなように、本発明
によれば、特定要因によって記憶内容が変化する特定領
域を含む記憶手段に対してプロセッサがアクセスすると
き、特定領域へのアクセスであればそのデータをバッフ
ァ記憶に保持することを禁止することにより、アクセス
したデータに矛盾が発生しないようになる。
によれば、特定要因によって記憶内容が変化する特定領
域を含む記憶手段に対してプロセッサがアクセスすると
き、特定領域へのアクセスであればそのデータをバッフ
ァ記憶に保持することを禁止することにより、アクセス
したデータに矛盾が発生しないようになる。
【図1】従来のメモリマップドI/O方式のシステムの
ブロック図である。
ブロック図である。
【図2】従来のメモリマップドI/O方式のシステムの
ブロック図である。
ブロック図である。
【図3】共有メモリを有する従来のマルチプロセッサ方
式のシステムのブロック図である。
式のシステムのブロック図である。
【図4】共有メモリを有する従来のマルチプロセッサ方
式のシステムのブロック図である。
式のシステムのブロック図である。
【図5】本発明の一実施例を示す全体システム構成図で
ある。
ある。
【図6】図5で示すキャッシュメモリの回路図である。
【図7】図5で示すキャッシュメモリ制御回路の回路図
である。
である。
【図8】図5で示すリード/ライト制御回路の回路図で
ある。
ある。
【図9】図5で示す入出力制御回路の回路図である。
【図10】図5で示す共有メモリ制御回路の回路図であ
る。
る。
1,7…マイクロプロセッサ(MPU,MPUX)、
2,2′…主メモリ、3…入出力制御回路、4…入出力
装置、8…共有メモリ、9…メモリマネジメントユニッ
ト(MMU)、10…プロセッサ本体、11…キャッシ
ュメモリ、13…キャッシュメモリ制御回路、14…リ
ード/ライト制御回路、21…主メモリ制御回路、22
…主メモリ記憶部、81…共有メモリ制御回路、82…
共有メモリ記憶部、100…システムバス、127,1
37,147…RMA信号、128,138,148,
158…ACK信号、116,129,139,14
9,159…アドレス信号、122,132,142,
152…データ信号、124,134,144,154
…ライト信号、125,135,145,155…リー
ド信号、126…PURGE信号。
2,2′…主メモリ、3…入出力制御回路、4…入出力
装置、8…共有メモリ、9…メモリマネジメントユニッ
ト(MMU)、10…プロセッサ本体、11…キャッシ
ュメモリ、13…キャッシュメモリ制御回路、14…リ
ード/ライト制御回路、21…主メモリ制御回路、22
…主メモリ記憶部、81…共有メモリ制御回路、82…
共有メモリ記憶部、100…システムバス、127,1
37,147…RMA信号、128,138,148,
158…ACK信号、116,129,139,14
9,159…アドレス信号、122,132,142,
152…データ信号、124,134,144,154
…ライト信号、125,135,145,155…リー
ド信号、126…PURGE信号。
Claims (13)
- 【請求項1】命令の実行と論理アドレスの発生を行うプ
ロセッサと、 上記プロセッサから受けた論理アドレスの物理アドレス
への変換を行うメモリマネージメントユニットと、 上記メモリマネージメントユニットから物理アドレスを
受けるバスと、 メモリ回路と、 上記メモリ回路から読み出されたデータを記憶するため
に上記プロセッサに接続されたキャッシュメモリと、 上記バスに接続された制御回路とを具備し、 上記制御回路は、上記バスを介して上記メモリーマネー
ジメントユニットから物理アドレスを受け取り、上記バ
スからの上記物理アドレスで上記メモリ回路の所定のア
ドレスをアクセスする際に上記メモリー回路から読み出
されたデータの上記キャッシュメモリへの書き込みを禁
止することを特徴とするデータ処理装置。 - 【請求項2】上記メモリ回路の上記所定のアドレスは、
マルチプロセッサ方式におけるプロセッサの間のメッセ
ージ通信領域であることを特徴とする特許請求の範囲第
1項に記載のデータ処理装置。 - 【請求項3】上記メモリ回路は、マルチプロセッサ方式
におけるプロセッサ間の共有メモリーであることを特徴
とする特許請求の範囲第1項に記載のデータ処理装置。 - 【請求項4】上記制御回路は、上記メモリマネージメン
トユニットからの物理アドレスを受け取り、該物理アド
レスによって上記メモリ回路の上記所定のアドレスがア
クセスされることを示す制御信号を発生する制御信号発
生回路と、上記制御信号に応答して上記キャッシュメモ
リへのデータ書き込みを禁止するキャッシュメモリ制御
回路とを具備することを特徴とする特許請求の範囲第1
項に記載のデータ処理装置。 - 【請求項5】上記バスへ接続された入出力制御回路を有
することを特徴とする特許請求の範囲第1項に記載のデ
ータ処理装置。 - 【請求項6】複数のメモリアドレス領域が割り当てられ
たデータ処理装置において、バスと、命令の実行及び論
理アドレスの発生を行うプロセッサと、上記プロセッサ
に接続され、データを記憶するキャッシュメモリと、上
記キャッシュメモリに接続され、上記キャッシュメモリ
にデータを記憶する動作を制御するキャッシュメモリ制
御回路と、上記プロセッサ及び上記バスに接続され、論
理アドレスを上記複数のメモリアドレス領域に属する物
理のアドレスに変換し、上記物理アドレスを上記バスに
出力するメモリマネージメントユニットと、上記バスに
接続され、上記複数のメモリアドレス領域の第1のメモ
リアドレス領域が指定されたメモリ回路と、上記バスに
接続され、上記複数のメモリアドレス領域の第2のメモ
リアドレス領域が指定された第1の装置と、上記バスを
介して上記物理アドレスを受け、上記物理アドレスが上
記第2のメモリアドレス領域に属することを示す制御信
号を上記キャッシュメモリ制御回路に発生する制御信号
発生回路とを具備し、上記キャッシュメモリ制御回路
は、上記制御信号によって上記キャッシュメモリへのデ
ータ書き込み動作を禁止することを特徴とするデータ処
理装置。 - 【請求項7】上記第1の装置は入出力制御装置であるこ
とを特徴とする特許請求の範囲第6項に記載のデータ処
理装置。 - 【請求項8】命令の実行と論理アドレスの発生を行うプ
ロセッサと、上記プロセッサからの論理アドレスを物理
のアドレスに変換するメモリマネージメントユニット
と、上記メモリマネージメントユニットへ接続され、上
記メモリマネージメントユニットからの上記物理アドレ
スを受け取るバスと、上記バスに接続され、第1のメモ
リアドレス領域に属する物理アドレスによりアクセスさ
れる第1のメモリ回路と、上記バスに接続され、第2の
メモリアドレス領域に属する物理アドレスによりアクセ
スされる第2のメモリ回路と、上記プロセッサへ接続さ
れ、上記第1又は第2のメモリ回路から読み出されたデ
ータを記憶するキャッシュメモリと、上記バスに接続さ
れ、上記キャッシュメモリへのデータ書き込み動作を制
御するキャッシュメモリ制御回路と、上記メモリマネー
ジメントユニット及び上記キャッシュメモリ制御回路に
接続され、上記メモリマネージメントユニットからの上
記物理アドレスを受け取り、上記物理アドレスが上記第
2のメモリアドレス領域に属するときに上記キャッシュ
メモリ制御回路の上記キャッシュメモリへのデータ書き
込み動作を禁止する制御信号を発生する制御信号発生回
路とを具備することを特徴とするデータ処理装置。 - 【請求項9】上記第2のメモリ回路は上記バスに接続さ
れた入出力制御回路であり、上記入出力回路は状態レジ
スタを含むことを特徴とする特許請求の範囲第8項に記
載のデータ処理装置。 - 【請求項10】上記第1のメモリ回路は上記バスに接続
された主メモリ回路であることを特徴とする特許請求の
範囲第8項に記載のデータ処理装置。 - 【請求項11】複数のメモリアドレス領域を持つデータ
処理装置において、バスと、上記バスへ接続されるマイ
クロプロセッサとを具備し、上記マイクロプロセッサ
は、命令の実行と論理アドレスの発生を行うプロセッサ
と、上記プロセッサに接続され、データを記憶するキャ
ッシュメモリと、上記キャッシュメモリの動作を制御す
るキャッシュメモリ制御回路と、上記プロセッサから入
力された論理アドレスを上記複数のメモリアドレス領域
における物理のアドレスに変換し、上記バスに該物理ア
ドレスを出力するメモリマネージメントユニットと、上
記バスに接続され、上記物理アドレスによってアクセス
される第1と第2のメモリ回路と、上記メモリマネージ
メントユニットに接続され、上記物理アドレスが上記第
2のメモリ回路へのアクセスを示すときに上記キャッシ
ュメモリへの書き込み動作を禁止する入力される制御信
号発生回路とを有することを特徴とするデータ処理装
置。 - 【請求項12】バスと、上記バスに接続され、少なくと
も論理アドレスを発生させる命令を実行するためのプロ
セッサ及びキャッシュメモリを含むマイクロプロセッサ
と、上記バスに接続されたメモリ回路とを有するデータ
処理装置におけるキャッシュメモリ制御方法において、
データ処理装置に複数の物理メモリアドレス領域を割り
当てる工程と、上記メモリ回路に上記複数の物理メモリ
アドレス領域の第1の物理メモリアドレス領域を割り当
てる工程と、上記バスに接続され、データを記憶するた
めのメモリ回路を含む第1の装置に物理メモリアドレス
領域の上記複数の第2の物理メモリアドレス領域を割り
当てる工程と、上記プロセッサによって発生された論理
アドレスをメモリマネージメントユニットに入力する工
程と、上記メモリマネージメントユニットによって論理
アドレスを物理アドレスに変換する工程と、上記メモリ
マネージメントユニットによって変換された物理アドレ
スを上記バスに出力する工程と、上記バス上の物理アド
レスを上記バスに接続された検出回路によって検出する
工程と、上記検出回路によって検出された物理アドレス
が上記第1の装置に割り当てられた上記第2の物理メモ
リアドレス領域に属するときに、上記検出回路から上記
バスに制御信号を発生する工程と、上記制御信号に応答
してキャッシュメモリへのデータ書き込み動作を禁止す
る工程とを具備することを特徴とするキャッシュメモリ
制御方法。 - 【請求項13】バスと、上記バスに接続され、少なくと
も論理アドレスを発生させる命令を実行するためのプロ
セッサ及びキャッシュメモリと、上記キャッシュメモリ
の動作を制御するキャッシュメモリ制御装置とを含むマ
イクロプロセッサと、上記バスに接続された第1及び第
2のメモリ回路とを有するデータ処理装置におけるキャ
ッシュメモリ制御方法において、第1のメモリ回路に上
記複数の物理メモリアドレス領域の第1の物理メモリア
ドレス領域を割り当てる工程と、第2のメモリ回路に上
記複数の物理メモリアドレス領域の第2の物理メモリア
ドレス領域を割り当てる工程と、上記プロセッサによっ
て発生された論理アドレスをメモリマネージメントユニ
ットに入力する工程と、上記メモリマネージメントユニ
ットによって論理アドレスを物理アドレスに変換する工
程と、上記メモリマネージメントユニットによって変換
された物理アドレスを上記バスに出力する工程と、上記
バス上の物理アドレスを上記バスに接続された検出回路
によって検出する工程と、上記検出回路によって検出さ
れた物理アドレスが上記第2のメモリ回路に割り当てら
れた上記第2の物理メモリアドレス領域に属するとき
に、上記検出回路から上記バスに制御信号を発生する工
程と、上記制御信号に応答してキャッシュメモリへのデ
ータ書き込み動作を禁止する工程とを具備することを特
徴とするキャッシュメモリ制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9007250A JP2791319B2 (ja) | 1997-01-20 | 1997-01-20 | データ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9007250A JP2791319B2 (ja) | 1997-01-20 | 1997-01-20 | データ処理装置 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8036025A Division JP2680293B2 (ja) | 1996-02-23 | 1996-02-23 | データ処理装置及びキャッシュメモリ制御方法 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9347525A Division JP2923273B2 (ja) | 1997-12-17 | 1997-12-17 | データ処理システム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH09212420A true JPH09212420A (ja) | 1997-08-15 |
| JP2791319B2 JP2791319B2 (ja) | 1998-08-27 |
Family
ID=11660788
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9007250A Expired - Fee Related JP2791319B2 (ja) | 1997-01-20 | 1997-01-20 | データ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2791319B2 (ja) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5848289A (ja) * | 1981-09-17 | 1983-03-22 | Fuji Electric Co Ltd | バツフアメモリ制御方式 |
-
1997
- 1997-01-20 JP JP9007250A patent/JP2791319B2/ja not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5848289A (ja) * | 1981-09-17 | 1983-03-22 | Fuji Electric Co Ltd | バツフアメモリ制御方式 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2791319B2 (ja) | 1998-08-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR0154533B1 (ko) | 데이타 프로세서 | |
| US5802576A (en) | Speculative cache snoop during DMA line update | |
| US20030028728A1 (en) | Cache memory control device | |
| US5619677A (en) | Data processing system with an enhanced cache memory control | |
| JPH0711793B2 (ja) | マイクロプロセッサ | |
| JPH0997214A (ja) | 補助プロセッサのためのアドレス変換を含む情報処理システム | |
| JP2708943B2 (ja) | キャッシュメモリ制御装置 | |
| US7472227B2 (en) | Invalidating multiple address cache entries | |
| US5950227A (en) | CPU write-back cache coherency mechanism that transfers data from a cache memory to a main memory after access of the main memory by an alternative bus master | |
| JPH04336641A (ja) | 処理システムにおける使用のためのデータキャッシュおよび方法 | |
| JPH1091521A (ja) | 二重ディレクトリー仮想キャッシュ及びその制御方法 | |
| JP2680293B2 (ja) | データ処理装置及びキャッシュメモリ制御方法 | |
| JP2580263B2 (ja) | バッファ記憶装置 | |
| JPH05265916A (ja) | データ処理装置 | |
| US6078971A (en) | Input/output buffer and method for invalidating transferred data in direct memory access transfer | |
| JPH09212420A (ja) | データ処理装置及びキャッシュメモリ制御方法 | |
| JPH10232833A (ja) | データ処理システム | |
| KR20040047398A (ko) | 캐쉬 메모리를 이용한 데이터 억세스 방법 | |
| JPS6329297B2 (ja) | ||
| JPH06243037A (ja) | データ先読み装置 | |
| JPH0630074B2 (ja) | プロセッサ | |
| JPH02213960A (ja) | キャッシュメモリ | |
| JPH06187239A (ja) | 多階層キャッシュメモリにおけるデータ一致制御方式 | |
| JPS63247852A (ja) | キヤツシユメモリ制御方法 | |
| JPS62266634A (ja) | キヤツシユメモリのアクセス制御回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19971118 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19980519 |
|
| LAPS | Cancellation because of no payment of annual fees |