JP2791319B2 - Data processing device - Google Patents

Data processing device

Info

Publication number
JP2791319B2
JP2791319B2 JP9007250A JP725097A JP2791319B2 JP 2791319 B2 JP2791319 B2 JP 2791319B2 JP 9007250 A JP9007250 A JP 9007250A JP 725097 A JP725097 A JP 725097A JP 2791319 B2 JP2791319 B2 JP 2791319B2
Authority
JP
Japan
Prior art keywords
memory
signal
circuit
data
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP9007250A
Other languages
Japanese (ja)
Other versions
JPH09212420A (en
Inventor
忠彦 西向井
淳 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi Ltd
Hitachi ULSI Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, Hitachi ULSI Systems Co Ltd filed Critical Hitachi Ltd
Priority to JP9007250A priority Critical patent/JP2791319B2/en
Publication of JPH09212420A publication Critical patent/JPH09212420A/en
Application granted granted Critical
Publication of JP2791319B2 publication Critical patent/JP2791319B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】本発明はバッファ記憶としてのキ
ャッシュ・メモリを有するデータ処理装置に係わる。 【0002】 【従来の技術】従来、マイクロコンピュータ等では入出
力装置を制御するために専用の命令を設けず、一般の命
令を用いて主メモリと同一のアドレス空間にある入出力
制御レジスタをアクセスすることによって入出力装置を
制御するメモリマップド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内の制御レジスタの
スタートビットがオンにされたときである。 【0004】例えば、ストア命令を実行するとき、書き
込みアドレスを制御レジスタの固有アドレスとして、ス
トア命令を実行することにより入出力装置4が起動され
る。一方、入出力装置4の動作の完了を知るために、上
述のロード命令等で入出力制御回路3内の状態レジスタ
を読み出して、この状態レジスタの動作完了ビットがオ
ンかどうかをチェックする。動作完了ビットがオンであ
れば、状態レジスタの他のビットをチェックすることに
より正常終了、異常終了等の完了状態を知ることができ
る。 【0005】このように、メモリマップドI/O方式を
用いれば、専用の入出力命令を設けなくとも一般の命令
で入出力装置をきめこまかく制御できるという利点があ
る。 【0006】 【発明が解決しようとする課題】一方、マイクロプロセ
ッサ等の性能向上を図るために、マイクロプロセッサ等
にバッファ記憶(キャッシュ・メモリ)を設けている。
このバッファ記憶と上述したメモリマップド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
にも記憶される。 【0009】バッファ記憶11は主メモリ2と比べてア
クセス速度が速いため、以上のような制御を行うと、一
度読み出しまたは書き込みを行った主メモリ2上の領域
のデータはバッファ記憶11に記憶されているため、再
度主メモリ2上の同一領域のデータを参照するときのア
クセス時間を短縮できるという利点がある。 【0010】ところが、入出力制御回路3または5内の
状態レジスタを参照する場合、次のような問題が生じ
る。 【0011】いま、プロセッサ1が状態レジスタをチェ
ックし、入出力装置4の動作完了を待つプログラムの実
行を行うものとする。プロセッサ本体10は、入出力制
御回路3内の状態レジスタの参照要求を行うと、状態レ
ジスタの値はプロセッサ本体10へ送られると同時に、
バッファ記憶11にも記憶される。プロセッサ本体10
は状態レジスタの完了ビットをチェックし、オンであれ
ば次のプログラムへ進み、オフであれば状態レジスタの
読み出しと完了ビットのチェックを繰り返す。しかし、
2回目以降の状態レジスタの読み出しではバッファ記憶
11に記憶された値が返されるため、入出力装置4が入
出力動作を完了し、入出力制御回路3内の状態レジスタ
の完了ビットをオンにしても、プロセッサ1はこれを検
出できないという問題がある。 【0012】また、制御レジスタと状態レジスタが同じ
アドレスの異なるビットに割付けられている場合、およ
び同じアドレスに割付けられており、書き込み時には制
御レジスタが、読み出し時には状態レジスタがアクセス
されるような構成をとっている場合には、制御レジスタ
に書き込んだ値がバッファ記憶11に記憶されているた
め状態レジスタの読み出しを行うと制御レジスタの値が
読み出されるという問題がある。 【0013】次に、負荷分散のために複数個のプロセッ
サを結合したマルチプロセッサ方式においてバッファ記
憶とプロセッサ間のメッセージの転送において発生する
問題について説明する。 【0014】例えば、2つのプロセッサ間でメッセージ
の転送を行いながら処理を進めるシステムの場合の例
を、図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を用いて他の処理を行うことが出来る。 【0016】図4は、2つのプロセッサ1,7がそれぞ
れ共通のシステムバス100に接続され、主メモリ2を
共有しているシステムのブロック図である。それぞれの
プロセッサは、互いに独立に主メモリ2にアクセスを行
うが、一方のプロセッサが主メモリ2をアクセス中の場
合、他方のプロセッサのアクセス要求は待たされるよう
制御される。このシステムにおいて、プロセッサ間のメ
ッセージ通信は、主メモリ2の特定領域を用いて行なわ
れ、メッセージを書く領域が主メモリ2内の特定領域で
ある点を除いて、図3に示されるシステムと同様の方式
がとられている。 【0017】この2つのシステムにおいて、各プロセッ
サ1,7に一般的なバッファ記憶11,71を設ける
と、例えばプロセッサ1がメッセージ通信用領域に書き
込みを行った場合、プロセッサ1の有するバッファ記憶
11の値は書き込みと同時に更新されるが、プロセッサ
7のバッファ記憶71に同じアドレスの値が記憶されて
いてもその更新が行われないために、プロセッサ7がメ
ッセージ領域をアクセスしてもバッファ記憶71の情報
が読み出されてしまい、プロセッサ1からのメッセージ
を正しく受け取れないという問題が生じる。 【0018】従って本発明の目的とするところは、上記
問題点を解決するためになされたもので、マイクロプロ
セッサ等を有するデータ処理装置において、性能向上を
図るためのバッファ記憶を設けても、矛盾なくデータア
クセスを行うことにある。 【0019】 【課題を解決するための手段】バッファ記憶を有するマ
イクロプロセッサを用いる場合、入出力制御回路内のレ
ジスタや共有メモリのメッセージ領域などは当該マイク
ロプロセッサ以外の装置等の特定要因によってデータが
変化するものであり、このようなデータの変化を当該マ
イクロプロセッサが検出するのが困難な記憶手段上のデ
ータについてはバッファ記憶に保持しないように制御す
れば、当該マイクロプロセッサはバッファ記憶にアクセ
スせず外部の記憶手段に対してアクセスを行うため、常
に最新のデータを得ることが出来る。 【0020】本願で開示される代表的な発明の概要は、
下記の通りである。 【0021】すなわち、命令の実行と論理アドレスの発
生を行うプロセッサ(10)と、上記プロセッサから受けた
論理アドレスの物理アドレスへの変換を行うメモリマネ
ージメントユニット(9)と、上記メモリマネージメント
ユニットから物理アドレスを受けるバス(100)と、メモ
リ回路(82)と、上記メモリ回路から読み出されたデータ
を記憶するために上記プロセッサに接続されたキャッシ
ュメモリ(11)と、上記バスに接続された制御回路(81,1
3)とを具備し、上記制御回路は、上記バスを介して上記
メモリーマネージメントユニットから物理アドレスを受
け取り、上記バスからの上記物理アドレスで上記メモリ
回路の所定のアドレスをアクセスする際に上記メモリー
回路から読み出されたデータの上記キャッシュメモリへ
の書き込みを禁止するというものである。 【0022】本発明のその他の目的と特徴は、以下の実
施例から明らかとなろう。 【0023】 【実施例】以下、本発明の一実施例を図5から図10を
用いて詳細に説明する。図5は本発明の一実施例を示す
全体システム構成図、図6から図10はそれぞれ図5中
の各ブロックの回路図である。 【0024】図5において、マイクロプロセッサ1(以
下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への書き込みの可否を表わす信号である。 【0026】MMU9は、仮想記憶方式をサポートする
ためのアドレス変換機構であり、アドレス信号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で
処理を行うための命令とデータを記憶する。 【0028】入出力制御回路3は、データ信号132、
アドレス信号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はオフとなる。 【0030】以上の構成において、パワーオンリセット
時には、プロセッサ本体10により、信号113がオン
にされ、キャッシュメモリ制御回路13にキャッシュメ
モリ11のクリアが指示される。キャッシュメモリ制御
回路13は信号117をオンにして、キャッシュメモリ
11の記憶内容をすべて無効化する。 【0031】また、読み出しを行うときは、プロセッサ
本体10により読み出すアドレスがアドレス信号116
に出力され信号111がオンにされる。読み出しまたは
書き込みの完了を表わす信号112がオンとなると、プ
ロセッサ本体10により、信号115上のデータが読み
出したデータとして取り込まれ、アドレス信号116へ
の出力をやめ、信号111がオフにされて読み出し動作
を終了する。 【0032】さらに、書き込みを行うとき、プロセッサ
本体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はこの値を取
り込んで読み出しを終了する。 【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に記憶されたデータが読み出される。 【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に書き込みの終了が通知される。 【0036】書き込み時にも、キャッシュメモリ11に
は該当アドレスのデータが記憶されているかどうかのチ
ェックが行われ、その結果が信号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に転送され
る。 【0038】また、入出力制御回路3内部の制御レジス
タまたは状態レジスタへの書き込みの場合、入出力制御
回路3はアドレス信号139およびライト信号134か
らその要求を知ると、データ信号132の値を書き込
み、ACK信号138およびRMA信号137をオンに
する。信号110がオン、ACK信号128およびRM
A信号127がオンの場合、キャッシュメモリ制御回路
13は信号118をオンにしないため、入出力制御回路
3内部の制御レジスタまたは状態レジスタのアドレスお
よびデータがキャッシュメモリ11に書き込まれること
はない。 【0039】入出力制御回路3内部の制御レジスタおよ
び状態レジスタの読み出しまたは書き込みにおいて、キ
ャッシュメモリ11内にデータが記憶されているかどう
かのチェックが行われるが、データが記憶されていない
ため、信号121はオフとなる。したがって、読み出し
時には、常にプロセッサ外部から読み出される。 【0040】従って、キャッシュメモリをバッファ記憶
として設けてもメモリマップ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と同様の処
理を行う。 【0042】この制御は、共有メモリ制御回路81内
に、アドレスがMPU1の領域に属すかMPUXの領域
に属すかを判定する回路を設けることにより実現され
る。 【0043】従って、マルチプロセッサ方式において、
キャッシュメモリをバッファ記憶として設けても、メッ
セージの交信を矛盾なく行うことができる。 【0044】ここでは、2個のプロセッサによるマルチ
プロセッサ方式の例を示したが、3個以上のプロセッサ
による場合も、同様の効果が得られることは容易に理解
できる。 【0045】さて、図5の各ブロックのうち主要なもの
の内部回路を図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を接続
する双方向性のスイッチである。 【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の値が変化することを防止する。 【0048】図8はリード/ライト制御回路14の回路
図であり、遅延回路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からの信号に
よってオンまたはオフに変化する。 【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の
アクセスに必要な制御信号と動作完了信号を生成する。 【0051】本実施例によれば、キャッシュメモリ11
とキャッシュメモリ制御回路13を含むマイクロプロセ
ッサ1において、キャッシュメモリ11にデータを書き
込むことを禁止するRMA信号がマイクロプロセッサ1
内のキャッシュメモリ制御回路13に入力されるように
構成されており、例えば、特定領域を示す情報を禁止条
件としてマイクロプロセッサ1と独立に構成できるた
め、汎用性のあるマイクロプロセッサを提供することが
できる。 【0052】ところで、図5において、MMU9内部に
ある仮想記憶方式に用いられるアドレス変換テーブル
は、MPU1からメモリマップドI/O方式によってア
クセスが可能である。 【0053】アドレス信号116の値がアドレス変換テ
ーブルのアドレスであり、リード信号125またはライ
ト信号124がオンのときには、アドレス変換は行われ
ずアドレス変換テーブルの読み出しまたは書き込みが行
われる。この場合にも、ACK信号128およびRMA
信号127がオンにされる。 【0054】書き込みの場合には、さらにPURGE信
号126がオンにされる。キャッシュメモリ制御回路1
3はPURGE信号126を受けると、信号117をオ
ンにし、キャッシュメモリ11をすべて無効化する。 【0055】この無効化によって、キャッシュメモリ1
1内の論理アドレスのデータと実際のメモリ上の物理ア
ドレスのデータとの対応関係がくずれるのを防止するこ
とができる。例えば、論理アドレス100番地のデータ
がキャッシュメモリ11に記憶されているとする。この
データを読み出したときにはアドレス変換により物理ア
ドレス1000番地に対応していたものをアドレス変換
テーブルを書き換えて500番地に対応するようにした
とすると、プロセッサが100番地を読み出すとキャッ
シュメモリ11にある物理アドレス1000番地のデー
タが読み出されてしまい矛盾が生じる。これを防ぐた
め、アドレス変換テーブルが書き換えられた場合には、
PURGE信号を出して、キャッシュメモリ11を無効
化する。 【0056】 【発明の効果】以上の説明から明らかなように、本発明
によれば、特定要因によって記憶内容が変化する特定領
域を含む記憶手段に対してプロセッサがアクセスすると
き、特定領域へのアクセスであればそのデータをバッフ
ァ記憶に保持することを禁止することにより、アクセス
したデータに矛盾が発生しないようになる。
Description: BACKGROUND OF THE INVENTION 1. Field of the Invention
The present invention relates to a data processing device having a cache memory. 2. Description of the Related Art Conventionally, microcomputers and the like have
No special instructions are provided to control the
I / O in the same address space as main memory using
I / O devices are accessed by accessing the control registers.
A memory-mapped I / O method for controlling is often used.
You. FIG. 1 shows an example of a memory mapped I / O system.
FIG. 1 is a block diagram of a system. On system bus 100
The connected main memory 2 and input / output control circuits 3 and 5
Controlled by the control unit 1. Main memory 2, input / output control circuit
Unique addresses are assigned to 3 and 5, respectively.
Control registers in input / output control circuits 3 and 5 by processor 1
Is rewritten, and the input / output devices 4 and 6 are controlled.
You. In addition, the input / output devices 4, 6 have changed their states.
At this time, the value of the status register in the input / output control circuits 3 and 5 is written.
Change. The processor 1 executes a main memo by a store instruction or the like.
When rewriting the contents in the file 2, the system bus 100
Write address of main memory 2, data to be written and
Output a write command. Also, by load instruction
When reading the contents in the main memory, the system bus 100
Output the read address of main memory 2 and the read command
Output from the main memory 2 to the system bus 100
Data is taken in as read data. I / O device 4
Is activated by the control register in the input / output control circuit 3.
This is when the start bit is turned on. For example, when executing a store instruction,
Address as the unique address of the control register.
The input / output device 4 is activated by executing the tor instruction.
You. On the other hand, in order to know the completion of the operation of the input / output device 4,
Status register in the input / output control circuit 3 by the load instruction
And the operation complete bit of this status register is turned off.
Check if it is The operation complete bit is on.
Would check the other bits in the status register
You can know the completion status such as normal end, abnormal end, etc.
You. As described above, the memory mapped I / O system is
If used, general instructions can be used without dedicated I / O instructions
Has the advantage that the I / O device can be controlled precisely.
You. [0006] On the other hand, the microprocessor
Microprocessor, etc. to improve the performance of the
Is provided with a buffer storage (cache memory).
This buffer storage and the above-mentioned memory-mapped I / O system
The following problems occur when adopting the method combining
You. This problem will be clarified with reference to FIG. FIG. 2 shows a memory mapped I / O system.
Block diagram showing an example of a system using buffer storage
It is. In FIG. 2, a processor 1 executes an instruction
A processor main body 10 and a buffer memory 11,
The buffer memory 11 is an address for referring to the main memory 2.
Data in the area indicated by the address and its address.
ing. Now, for instruction fetch, data read, etc.
Reference of data in the area on the main memory 2 by the processor body 10
When a write request occurs, first, the buffer memory 11 is checked.
The data in the area on the main memory 2 is buffered.
When stored in the buffer storage 11,
Sends the corresponding data to the processor body 10 and reads it
To end. However, the data in the area on the main memory 2 is
If not stored in the buffer memory 11, the system bus
Reading of the corresponding data from the main memory 2 via 100
And sends the read data to the processor body 10.
At the same time, it is stored in the buffer storage 11. Also, the data
At the time of writing, the writing output from the processor
The write data and write address are stored in the system bus 10
0 to the main memory 2 and the corresponding write data
Data is written to the main memory 2. At the same time, this book
The write data and write address are stored in the buffer memory 11.
Is also stored. [0009] The buffer memory 11 is smaller than the main memory 2 in memory.
Since the access speed is high, if the above control is performed,
Area on the main memory 2 from which data was read or written
Data is stored in the buffer memory 11,
When referencing data in the same area on the main memory 2
There is an advantage that access time can be reduced. However, in the input / output control circuit 3 or 5,
When referring to the status register, the following problems occur:
You. Now, the processor 1 checks the status register.
Program that waits for the operation of the input / output device 4 to complete.
Lines shall be performed. The processor body 10 has an input / output system.
When a request to refer to the status register in the control circuit 3 is made, the status
The value of the register is sent to the processor body 10 at the same time
It is also stored in the buffer storage 11. Processor body 10
Checks the completion bit in the status register and checks if it is on.
To the next program.
Repeat reading and checking the completion bit. But,
Buffer storage for the second and subsequent status register reads
11, the input / output device 4 is turned on.
Completion of output operation, status register in input / output control circuit 3
Processor 1 detects this even if the completion bit of
There is a problem that you can not get out. The control register and the status register are the same.
If they are assigned to different bits of the address, and
Are assigned to the same address.
The status register is accessed when reading.
If the configuration is such that
Is stored in the buffer memory 11
When the status register is read, the value of the control register is
There is a problem of being read. Next, a plurality of processors are used for load distribution.
Buffer in a multiprocessor system
Occurs in the transfer of messages between memory and processors
Explain the problem. For example, a message between two processors
Example of a system that performs processing while transferring data
Is shown in the block diagrams of FIG. 3 and FIG. FIG. 3 shows processors 1 and 7 and their respective processors.
Local memory 2 and 2 'dedicated to the processor and message
Block diagram of a system including a shared memory 8 for wireless communication
It is. Usually, each processor 1 or 7 has its own
Processing is performed using the local memory 2 or 2 'of the processor.
Request from processor 1 to processor 7
When performing the processing, the processor 1 executes the processing contents and data necessary for the processing.
Data to a predetermined area of the shared memory 8 and write
Interrupt the processor 7 Processor 7 generates an interrupt
In other words, the process requested to read the contents of the shared memory 8
I do. When the processing is completed, the processor 7
Write the result to the shared memory 8 to contact the
Interrupt the processor 1. After that, the processor 7
Continue the previous processing. Processor 1 includes processor 7
Processing result from shared memory 8 by interrupt from
Then, the processing is continued. Processor 1 is a processor
While the process requested to the server 7 is being executed, the local
Other processing can be performed using the memory 2. FIG. 4 shows two processors 1, 7 respectively.
Connected to a common system bus 100 and
It is a block diagram of the system shared. each
The processors access the main memory 2 independently of each other.
However, if one processor is accessing the main memory 2,
Access request of the other processor
Controlled. In this system, the
The message communication is performed using a specific area of the main memory 2.
The area for writing the message is a specific area in the main memory 2.
Except in certain respects, a scheme similar to the system shown in FIG.
Has been taken. In these two systems, each processor
General buffer storages 11 and 71 are provided in the servers 1 and 7.
For example, the processor 1 writes in the message communication area.
Buffering, the buffer storage of the processor 1
The value of 11 is updated at the same time as writing,
7, the same address value is stored in the buffer memory 71.
Processor 7 does not update the
Even if the message area is accessed
Is read and the message from processor 1 is read.
Is not received correctly. Therefore, the object of the present invention is to
This was done to solve the problem.
Improve performance of data processing devices with processors
Even if buffer storage is provided for
Access. SUMMARY OF THE INVENTION A machine having buffer storage is provided.
When an microprocessor is used, the level in the input / output control circuit is
The message area of the
Data may be lost due to specific factors such as devices other than
Changes in the data.
Data on storage means that are difficult for the microprocessor to detect
Data is not stored in the buffer memory.
If the microprocessor has access to the buffer storage,
Access to external storage means without
To get the latest data. An outline of a typical invention disclosed in the present application is as follows.
It is as follows. That is, execution of an instruction and generation of a logical address
Processor (10) that performs the
Memory manager that translates logical addresses to physical addresses
Management unit (9) and the above memory management
The bus (100) that receives the physical address from the unit and the memo
Circuit (82) and data read from the memory circuit.
Cache connected to the processor to store
Memory (11) and a control circuit (81, 1) connected to the bus.
3), wherein the control circuit is configured to control the
Receives a physical address from the memory management unit.
The memory with the physical address from the bus
When accessing the specified address of the circuit,
To the cache memory of the data read from the circuit
Is prohibited. Other objects and features of the present invention are as follows.
It will be clear from the examples. FIG. 5 to FIG. 10 show an embodiment of the present invention.
This will be described in detail with reference to FIG. FIG. 5 shows an embodiment of the present invention.
FIG. 6 is an overall system configuration diagram, and FIGS.
3 is a circuit diagram of each block. In FIG. 5, the microprocessor 1 (hereinafter referred to as microprocessor 1)
Lower MPU), memory management unit 9
(Hereinafter abbreviated as MMU), main memory 2, shared memory 8, input
Output control circuit 3, input / output device 4, system bus 100 and
And other microphones (not shown) connected to the system bus
(Hereinafter abbreviated as MPUX). The MPU 1 is a processor that executes instructions.
Main body 10, cache memory 11, cache memory system
Control circuit 13, read / write control circuit 14, and OR gate
And an address signal 116 and a data signal 1
22, read signal 125, write signal 124, PURG
E signal 126, ACK signal 128 and RMA signal 12
7 is connected to the MMU 9 and the data signal 12
2, read signal 125, write signal 124, ACK signal
128 and the RMA signal 127
00 is connected. Here, the operation of the ACK signal ends.
And the RMA signal is a cache memory.
This signal indicates whether writing to the memory 11 is possible. The MMU 9 supports a virtual storage system.
Address translation mechanism for address signals 116
Address conversion table that contains the
To a physical address, and via an address signal 129
Output to the system bus 100. Main memory 2 is the main memo
And a main control unit 21 and a main memory storage unit 22.
Signal 152, address signal 159, read signal 155,
The system is controlled by the write signal 154 and the ACK signal 158.
To be connected to the system bus 100 and perform processing by the MPU 1
Instructions and data. The shared memory 8 includes a shared memory control circuit 81
And a shared memory storage unit 82,
2, address signal 149, read signal 145, write signal
No. 144, ACK signal 148 and RMA signal 147
Therefore, it is connected to the system bus 100, and MPU1 and MP
Data for UX message communication and MPUX
Instructions and data for processing are stored. The input / output control circuit 3 includes a data signal 132,
Address signal 139, read signal 135, write signal 1
34, ACK signal 138 and RMA signal 137.
Connected to the system bus 100 via a signal 130
It controls the input / output device 4 and transfers input / output data. In the system bus 100, the AC
K signal 138, 148, 158 and RMA signal 13
7, 147 are each wired-ORed, and MMU 9,
Any of main memory 2, shared memory 8, or input / output control circuit 3
This turns on the ACK or RMA signal
And ACK signal 128 or RM input to MPU 1
The A signal 127 turns on. Conversely, all of the above devices
When the ACK signal or the RMA signal is turned off, the MPU
ACK signal 128 or RMA signal 12 input to 1
7 is off. In the above configuration, the power-on reset
Sometimes, signal 113 is turned on by processor body 10
And the cache memory is stored in the cache memory control circuit 13.
An instruction to clear the memory 11 is issued. Cache memory control
The circuit 13 turns on the signal 117 to turn on the cache memory.
11 is invalidated. When reading is performed, a processor
The address read by the main body 10 is an address signal 116.
And the signal 111 is turned on. Read or
When the signal 112 indicating the completion of writing is turned on,
The data on the signal 115 is read by the processor body 10.
Is taken in as the output data and sent to the address signal 116.
Output is stopped and the signal 111 is turned off and the read operation is performed.
To end. Further, when writing, the processor
The address to be written is determined by the
The data to be written is output to the
No. 110 is turned on. Read or write complete
When the signal 112 indicating that the
10 to address signal 116 and signal 115
Stop the output and turn off the signal 110 to start the write operation.
finish. Next, reading from the main memory 2 will be described.
Next, the relationship with the cache memory 11 will be described.
The cache memory 11 outputs the address signal 116.
Check if the address is retained
If so, the signal 121 is turned on. Reed / La
When the signal 111 is on and the signal 12
When 1 is on, read from the cache memory 11
Judgment is to be made, the signal 114 is turned on, and the processor
The body 10 is notified of the completion of reading. In parallel with this,
The cache memory control circuit 13 outputs the signal 111 and the signal
When the signal 121 is on, the signal 119 is turned on, and
Output data from the cache memory 11 to the signal 115
To do so. The processor body 10 takes this value.
And the reading is completed. On the other hand, data corresponding to the cache memory 11
When the data is not held, the signal 121 is turned off.
Become. When signal 111 is on and signal 121 is off
In this case, the read / write control circuit 14
Read signal 125 to read
I do. The address output from MPU1 is MMU9.
It is converted and sent to the system bus 100. Main memory control
The circuit 21 determines whether the address signal 159 and the read signal 155
From the main memory
The corresponding data is read from the section 22 and the data signal 15 is read.
2 is output. Read is completed
The main memory control circuit 21 turns on the ACK signal 158
And inform MPU1. The main memory control circuit 21 is RM
RMA signal 127 is off because it is not connected to A signal.
The ACK signal 128 is turned on. ACK signal 128
Is connected to the processor body 10 through the OR gate 15
And the completion of reading is notified. Also this
, The cache memory control circuit 13 turns off the signal 119
So that the data signal 122 and the signal 115 are connected.
Instructed to the cache memory 11, the read data is
The data is transferred to the processor body 10. Under this condition
ACK signal 128 is on and RMA signal 127 is off
At this time, the cache memory control circuit 13 outputs the signal 120
ON, turn on signal 118 to cache memory 11
Instructs to store the read data. Cash
Memory 11 erases one of the stored data
Then, the read data and its address are stored.
Thereafter, if there is a read request to this address,
The data stored in the cache memory 11 is read. Next, writing to the main memory 2 will be described.
Will be explained. When the signal 110 is turned on, the cache
The memory control circuit 13 turns off the signal 119 and sets the cache
The signal 115 and the signal 122 are connected to the
Instruct you to With this instruction, the write data is
The data is transferred to the stem bus 100. Read / write control times
The path 14 has a write signal 124 when the signal 110 is turned on.
On, instructs writing outside the processor,
The address on the address signal 116 is changed by the MMU 9.
It is sent to the system bus 100. Main memory control times
The path 21 includes an address signal 159 and a write signal 154.
Recognizes that a write request has been made by
Data signal 152 to the corresponding address.
The main memory storage unit 22 is controlled during
No. 158 is turned on. Thereby, the ACK signal 128
Is turned on, and the processor body 1
0 is notified of the end of writing. When writing, the cache memory 11
Indicates whether the data at the corresponding address is stored.
A check is performed, and the result is output to a signal 121.
ACK signal 128 is on, RMA signal 127 is off,
When the number 110 is turned on, the cache memory control
The circuit 13 indicates writing to the cache memory 11
However, when the signal 121 is on, the signal 118 is turned on.
And the signal 120 is turned off, and the already stored address is turned off.
Address and data only
And when signal 121 is off, signal 118
And the signal 120 are turned on, and the already stored data
Erase one of the data and store the write address and data
To do so. Next, in the memory mapped I / O system,
Control registers or status registers inside the input / output control circuit 3.
In the case of reading a register, the input / output control circuit 3
Request from the address signal 139 and the read signal 135.
When it knows, it outputs the read data to the data signal 132,
The ACK signal 138 and the RMA signal 137 are turned on. Faith
Signal 111 is on, ACK signal 128 and RMA signal 1
27 is ON, the cache memory control circuit 13
No. 118 is not turned on.
No writing is done. However, when the signal 121 is off,
Therefore, the signal 122 and the signal 115 are connected,
The read data is transferred to the processor main body 10.
You. The control register inside the input / output control circuit 3
I / O control when writing to data or status registers
Circuit 3 is an address signal 139 and a write signal 134
Knows the request, writes the value of data signal 132
Turn on the ACK signal 138 and RMA signal 137
I do. Signal 110 is on, ACK signal 128 and RM
When the A signal 127 is on, the cache memory control circuit
The input / output control circuit 13 does not turn on the signal 118.
3 Internal control register or status register addresses and
That data and data are written to the cache memory 11
There is no. A control register in the input / output control circuit 3 and
When reading or writing the status register or key,
Whether data is stored in the cache memory 11
Is checked, but no data is stored
Therefore, the signal 121 is turned off. Therefore, read
Sometimes they are always read from outside the processor. Therefore, the cache memory is buffer-stored.
Input / output in the memory map I / O system
Force control can be performed without contradiction. Next, reading from the shared memory 8 and
And writing will be described. The shared memory 8 is an MPU
1 and the message communication area between MPUX and MPUX
Instruction and data storage area.
MPU 1 accesses only the message communication area.
Seth is performed. The shared memory control circuit 81
When reading and writing from the communication area,
To turn on the RMA signal 147,
Same as control register and status register inside control circuit 3
The data in the message communication area is also cached by MPU1.
It is not stored in the memory 11. MPUX is also MP
If the configuration is the same as that of U1, the cache memory of MPUX
The data of the message communication area is not stored
No. On the other hand, it stores instructions and data for MPUX.
When reading or writing an area to
The control circuit 81 turns off the RMA signal 147,
UX writes the value of the area to its own cache memory
The same processing as in the main memory 2 in the MPU 1 can be performed.
Work. This control is performed in the shared memory control circuit 81.
The address belongs to the MPU1 area or the MUX area
Is realized by providing a circuit that determines whether
You. Therefore, in the multiprocessor system,
Even if a cache memory is provided as buffer storage,
Sage communication can be performed without contradiction. Here, a multiprocessor with two processors is used.
Although the example of the processor system was shown, three or more processors
It is easy to understand that the same effect can be obtained by
it can. Now, the main ones among the blocks in FIG.
Will be described with reference to FIGS. FIG. 6 is a circuit diagram of the cache memory 11.
, Associative memory 16, counter 17, AND gate 18
And a switch 19. The associative memory 16
Address, data, and valid bits.
When performing a check, it matches with the address signal 116.
Of the entry that stores the address
Output effective bits to signal 160 and signal 121, respectively
I do. If there is no matching address, signal 121 is off
To be. When the signal 117 is turned on, the associative
All valid bits of memory 16 are turned off and all
Invalidation of the memory is performed. On the other hand, the signal 118 is an associative memo.
If the signal 120 is off
If the address having the address corresponding to the address signal 116
Write the value of signal 115 in the data field of the
Turn on the valid bit of the entry. Signal 120 is on
In this case, the entry indicated by the counter 17 is
Write the value of dress signal 116 and signal 115 and enable
Turn on the bit. At this time, the output of the AND gate 18
Is turned on, and the value of the counter 17 is incremented by one. Sand
The counter 17 has already been stored in the associative memory 16.
To replace one of the existing data with a new one
Serves to indicate the entry to be rewritten. Switch
When the signal 119 is turned on, the signals 19 and 11
5 and connect signal 122 and signal 115 when off
This is a bidirectional switch. FIG. 7 shows that data is not held in the buffer memory.
Of the cache memory control circuit 13 having means for performing
FIG. 3 shows OR gates 51 and 53, AND gate 52,
54 and a latch 55, and the OR gate 51
A signal 117 for invalidating the cache memory 11;
The OR gate 53 and the AND gate 52
A signal 118 instructing writing to the flash memory 11,
A scan in the cache memory 11 is performed by the AND gate 54.
A signal 119 for controlling the switch 19 is generated. Ma
The latch 55 holds the value of the signal 121,
By writing the address and valid bit to 16
The value of the signal 121 is prevented from changing. FIG. 8 is a circuit diagram of the read / write control circuit 14.
FIG. 12 shows a delay circuit 56, AND gates 57 and 58, and
And a negation gate 59.
Until the dress is checked and the signal 121 is confirmed
During the period, the signal 121 is not referred to by the delay circuit 56.
To FIG. 9 shows an input / output control circuit 3 having a detecting means.
And a decoder 60, AND gates 63, 6
5, 66, OR gate 64, tristate buffer 6
8, open emitter buffers 61 and 62 and status
The decoder 60 comprises an address signal 1
39 is decoded, and the input / output control circuit 3 is selected.
And determine which register is selected.
judge. If the selected register is in a specific area
If the status register corresponds to the area, the RMA signal 137
Turn on. Open emitter buffer 61
Drives the RMA signal 137 and
The buffer 62 drives the ACK signal 138,
RMA signal 137 and ACK signal 138 are wired O
R, the open emitter buffers 61 and 62
drive. When writing to the status register 67,
The output of the AND gate 65 is turned on and writing is performed.
When reading the status register 67, AND
The output of the gate 66 is turned on, and the tristate
The output from the file 68 to the data signal 132 is performed. Condition
Each bit of the status register 67 corresponds to a signal from the input / output device 4.
Therefore, it changes on or off. FIG. 10 shows a shared memory control having a detecting means.
FIG. 28 is a circuit diagram of a circuit 81, including decoders 69 and 80,
Emitter buffers 86 and 87, OR gate 83, AN
It comprises a D gate 84 and a timing control circuit 85. Deco
The reader 69 determines whether the shared memory 8 has been selected.
Judgment and generation of an address to be sent to the shared memory storage unit 82
And the decoder 80 is selected in advance.
Specified area, that is, message communication area
Make a decision. RMA signal 147 is turned on if it is a specific area
To Open emitter buffers 86 and 87 are RM
Drive A signal 147 and ACK signal 148
U. The output of the AND gate 84 is turned on because the shared memory
Only when there is an access request to the memory 8. Ma
In addition, the timing control circuit 85
A control signal and an operation completion signal required for access are generated. According to the present embodiment, the cache memory 11
And a microprocessor including a cache memory control circuit 13.
Write data to the cache memory 11 in the
The RMA signal that inhibits
Input to the cache memory control circuit 13 in the
For example, information indicating a specific area is prohibited
It can be configured independently of the microprocessor 1
To provide a versatile microprocessor.
it can. By the way, in FIG.
Address conversion table used for a certain virtual storage system
From the MPU 1 by the memory mapped I / O method.
Access is possible. The value of the address signal 116 is
Address of the read signal 125 or the write signal
When the reset signal 124 is on, the address conversion is performed.
The address translation table is read or written
Will be Again, ACK signal 128 and RMA
The signal 127 is turned on. In the case of writing, a PURGE signal
No. 126 is turned on. Cache memory control circuit 1
3 receives the PURGE signal 126 and turns off the signal 117.
And invalidate all of the cache memory 11. By this invalidation, the cache memory 1
1 and the physical address on the actual memory.
To prevent the correspondence with the dress data from being lost.
Can be. For example, data at logical address 100
Is stored in the cache memory 11. this
When data is read, the physical address is
Address conversion for the address corresponding to dress 1000
Rewritten table to correspond to address 500
If the processor reads address 100, the cache
Data of the physical address 1000 in the flash memory 11
Data is read, causing inconsistency. I prevented this
Therefore, if the address translation table is rewritten,
Issue a PURGE signal to invalidate the cache memory 11
Become As is clear from the above description, the present invention
According to the specific area where the memory content changes depending on the specific factor
The processor accesses the storage means containing the
If the access is to a specific area, the data is buffered.
Access by prohibiting the
The inconsistency does not occur in the data.

【図面の簡単な説明】 【図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信号。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of a conventional memory-mapped I / O system. FIG. 2 is a block diagram of a conventional memory-mapped I / O system. FIG. 3 is a block diagram of a conventional multiprocessor system having a shared memory. FIG. 4 is a block diagram of a conventional multiprocessor system having a shared memory. FIG. 5 is an overall system configuration diagram showing one embodiment of the present invention. FIG. 6 is a circuit diagram of the cache memory shown in FIG. 5; FIG. 7 is a circuit diagram of the cache memory control circuit shown in FIG. 8 is a circuit diagram of the read / write control circuit shown in FIG. 9 is a circuit diagram of the input / output control circuit shown in FIG. 10 is a circuit diagram of the shared memory control circuit shown in FIG. [Explanation of reference numerals] 1,7 ... Microprocessor (MPU, MPUX),
2, 2 'main memory, 3 input / output control circuit, 4 input / output device, 8 shared memory, 9 memory management unit (MMU), 10 processor body, 11 cache memory, 13 cache memory control Circuit, 14 read / write control circuit, 21 main memory control circuit, 22
... Main memory storage unit, 81 ... Shared memory control circuit, 82 ...
Shared memory storage unit, 100... System bus, 127, 1
37, 147... RMA signal, 128, 138, 148,
158: ACK signal, 116, 129, 139, 14
9, 159... Address signals, 122, 132, 142,
152 data signal, 124, 134, 144, 154
... write signal, 125, 135, 145, 155 ... read signal, 126 ... PURGE signal.

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭58−48289(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 12/08────────────────────────────────────────────────── ─── Continuation of front page (56) References JP-A-58-48289 (JP, A) (58) Fields investigated (Int. Cl. 6 , DB name) G06F 12/08

Claims (1)

(57)【特許請求の範囲】 1.命令の実行と論理アドレスの発生を行う処理回路
と、 上記処理回路から受けた論理アドレスの物理アドレスへ
の変換を行うメモリマネージメントユニットと、 上記メモリマネージメントユニットから物理アドレスを
受けるバスと、 メモリ回路と、 上記メモリ回路から読み出されたデータを記憶するため
に上記処理回路に接続されたキャッシュメモリと、 上記バスに接続された制御回路とを具備し、 上記制御回路は、上記バスを介して上記メモリーマネー
ジメントユニットから物理アドレスを受け取り、上記バ
スからの上記物理アドレスで上記メモリ回路の所定のア
ドレスをアクセスする際に上記メモリー回路から読み出
されたデータの上記キャッシュメモリへの書き込みを禁
止することを特徴とするデータ処理装置。 2.上記メモリ回路の上記所定のアドレスは、マルチプ
ロセッサ方式における処理回路の間のメッセージ通信領
域であることを特徴とする特許請求の範囲第1項に記載
のデータ処理装置。 3.上記メモリ回路は、マルチプロセッサ方式における
処理回路間の共有メモリーであることを特徴とする特許
請求の範囲第1項に記載のデータ処理装置。 4.上記制御回路は、上記メモリマネージメントユニッ
トからの物理アドレスを受け取り、該物理アドレスによ
って上記メモリ回路の上記所定のアドレスがアクセスさ
れることを示す制御信号を発生する制御信号発生回路
と、上記制御信号に応答して上記キャッシュメモリへの
データ書き込みを禁止するキャッシュメモリ制御回路と
を具備することを特徴とする特許請求の範囲第1項に記
載のデータ処理装置。 5.上記バスへ接続された入出力制御回路を有すること
を特徴とする特許請求の範囲第1項に記載のデータ処理
装置。
(57) [Claims] 1. Execute instructions and generate logical addressesProcessing circuit
When, the aboveProcessing circuitTo physical address of logical address received from
A memory management unit for converting Physical address from the above memory management unit
The bus to receive, A memory circuit; To store data read from the memory circuit
AboveProcessing circuitA cache memory connected to the A control circuit connected to the bus, The control circuit controls the memory money via the bus.
Received the physical address from the
A predetermined address of the memory circuit with the physical address from
Read from the above memory circuit when accessing the dress
Prohibited writing of the written data to the cache memory
A data processing device characterized by stopping. 2. The predetermined address of the memory circuit is a multiple
In the processor methodProcessing circuitMessage communication area between
Claim 1 characterized in that it is a region
Data processing equipment. 3. The memory circuit is a multi-processor system.
Processing circuitPatent that is shared memory between
The data processing device according to claim 1. 4. The control circuit is configured to control the memory management unit.
Receives the physical address from the
Thus, the predetermined address of the memory circuit is accessed.
Control signal generation circuit for generating a control signal indicating that
And in response to the control signal,
A cache memory control circuit that inhibits data writing and
Claim 1 characterized by the following.
On-board data processing device. 5. Having an input / output control circuit connected to the bus
Data processing according to claim 1, characterized in that:
apparatus.
JP9007250A 1997-01-20 1997-01-20 Data processing device Expired - Fee Related JP2791319B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9007250A JP2791319B2 (en) 1997-01-20 1997-01-20 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9007250A JP2791319B2 (en) 1997-01-20 1997-01-20 Data processing device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP8036025A Division JP2680293B2 (en) 1996-02-23 1996-02-23 Data processing device and cache memory control method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP9347525A Division JP2923273B2 (en) 1997-12-17 1997-12-17 Data processing system

Publications (2)

Publication Number Publication Date
JPH09212420A JPH09212420A (en) 1997-08-15
JP2791319B2 true JP2791319B2 (en) 1998-08-27

Family

ID=11660788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9007250A Expired - Fee Related JP2791319B2 (en) 1997-01-20 1997-01-20 Data processing device

Country Status (1)

Country Link
JP (1) JP2791319B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5848289A (en) * 1981-09-17 1983-03-22 Fuji Electric Co Ltd Buffer memory controlling system

Also Published As

Publication number Publication date
JPH09212420A (en) 1997-08-15

Similar Documents

Publication Publication Date Title
US5249284A (en) Method and system for maintaining data coherency between main and cache memories
US5148526A (en) Data processing system with an enhanced cache memory control
JP2695017B2 (en) Data transfer method
US5737568A (en) Method and apparatus to control cache memory in multiprocessor system utilizing a shared memory
US7356647B1 (en) Cache with integrated capability to write out entire cache
JPH03189845A (en) Hierarchical memory system and cache memory subsystem
KR100380674B1 (en) Method and system for maintaining cache coherency for write-through store operations in a multiprocessor system
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
JPH1091521A (en) Duplex directory virtual cache and its control method
JP2791319B2 (en) Data processing device
JP2923273B2 (en) Data processing system
JP2680293B2 (en) Data processing device and cache memory control method
JPH03230238A (en) Cache memory control system
JPH0210446A (en) Buffer storage device
JP3081635B2 (en) Cache memory invalidation processing apparatus and invalidation control method
JPH05265916A (en) Data processor
JPS63247852A (en) Cache memory control method
KR930004433B1 (en) Direct controllable cache memory
JPH0630074B2 (en) Processor
KR20040047398A (en) Method for data access using cache memory
JPH05250263A (en) Virtual processor system and nonvolatile storage system
EP0460852A2 (en) System for maintaining data coherency between main and cache memories
JP2001043132A (en) Control method for cache memory
JPH0320834A (en) Initial diagnostic method for information processor
JPH04235648A (en) Logical cache memory device

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