JPH0630074B2 - プロセッサ - Google Patents

プロセッサ

Info

Publication number
JPH0630074B2
JPH0630074B2 JP59008572A JP857284A JPH0630074B2 JP H0630074 B2 JPH0630074 B2 JP H0630074B2 JP 59008572 A JP59008572 A JP 59008572A JP 857284 A JP857284 A JP 857284A JP H0630074 B2 JPH0630074 B2 JP H0630074B2
Authority
JP
Japan
Prior art keywords
signal
memory
processor
address
data
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 - Lifetime
Application number
JP59008572A
Other languages
English (en)
Other versions
JPS60153554A (ja
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 Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Microcomputer System Ltd
Hitachi 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
Priority to JP59008572A priority Critical patent/JPH0630074B2/ja
Application filed by Hitachi Microcomputer System Ltd, Hitachi Ltd filed Critical Hitachi Microcomputer System Ltd
Priority to DE19853502147 priority patent/DE3502147A1/de
Publication of JPS60153554A publication Critical patent/JPS60153554A/ja
Priority to US07/183,401 priority patent/US5148526A/en
Priority to US07/804,739 priority patent/US5479625A/en
Publication of JPH0630074B2 publication Critical patent/JPH0630074B2/ja
Priority to US08/413,110 priority patent/US5502825A/en
Priority to US08/435,958 priority patent/US5509133A/en
Priority to US08/649,333 priority patent/US5619677A/en
Priority to US08/795,639 priority patent/US5822761A/en
Priority to US09/087,900 priority patent/US6381680B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はバッファ記憶としてのキャッシュ・メモリを含
むプロセッサに係り、特に、メモリマップドI/O方
式、もしくは、共有メモリを有するマルチプロセッサ方
式をサポートするのに好適なものである。
〔発明の背景〕
従来、マイクロコンピュータ等では入出力装置を制御す
るために専用の命令を設けず、一般の命令を用いて主メ
モリと同一のアドレス空間にある入出力制御レジスタを
アクセスすることによって入出力装置を制御するメモリ
マップドI/O方式が多く用いられている。
第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内の制御レジスタのスタートビッ
トがオンにされたときである。
例えば、ストア命令を実行するとき、書き込みアドレス
を制御レジスタの固有アドレスとして、ストア命令を実
行することにより入出力装置4が起動される。一方、入
出力装置4の動作の完了を知るために、上述のロード命
令等で入出力制御回路3内の状態レジスタを読み出し
て、この状態レジスタの動作完了ビットがオンかどうか
をチェックする。動作完了ビットがオンであれば、状態
レジスタの他のビットをチェックすることにより正常終
了、異常終了等の完了状態を知ることができる。
このように、メモリマップドI/O方式を用いれば、専
用の入出力命令を設けなくとも一般の命令で入出力装置
をきめこまかく制御できるという利点がある。
一方、マイクロプロセッサ等の性能向上を図るために、
マイクロプロセッサ等にバッファ記憶(キャッシュ・メ
モリ)を設けている。このバッファ記憶と上述したメモ
リマップドI/O方式を組合わせた方式を採用すると次
のような問題が発生する。第2図を用いてこの問題点を
明らかにする。
第2図は、メモリマップドI/O方式においてバッファ
記憶を用いたシステムの例を示すブロック図である。
第2図において、プロセッサ1は命令を実行するプロセ
ッサ本体10とバッファ記憶11から成り、バッファ記
憶11は主メモリ2を参照するためのアドレスとそのア
ドレスで示されている領域のデータを記憶している。い
ま、命令フエッチやデータ読み出し等のためプロセッサ
本体10で主メモリ2上の領域のデータの参照要求が生
じると、まず最初に、バッファ記憶11がチェックさ
れ、この主メモリ2上の領域のデータがバッファ記憶1
1に記憶されている場合、バッファ記憶11の該当する
データをプロセッサ本体10へ送り、読み出しを終了す
る。しかし、主メモリ2上の領域のデータがバッファ記
憶11に記憶されていない場合、システムバス100を
介して主メモリ2から該当するデータの読み出しを行
い、読み出したデータをプロセッサ本体10へ送ると共
に、バッファ記憶11に記憶する。また、データ書き込
み時には、プロセッサ本体10から出力された書き込み
データと書き込みアドレスは、システムバス100を介
して主メモリ2に送られ、該当する書き込みデータが主
メモリ2に書き込まれる。これと同時に、この書き込み
データと書き込みアドレスは、バッファ記憶11にも記
憶される。
バッファ記憶11は主メモリ2と比べてアクセス速度が
速いため、以上のような制御を行うと、一度読み出しま
たは書き込みを行った主メモリ2上の領域のデータはバ
ッファ記憶11に記憶されているため、再度主メモリ2
上の同一領域のデータを参照するときのアクセス時間を
短縮できるという利点がある。
ところが、入出力制御回路3または5内の状態レジスタ
を参照する場合、次のような問題が生じる。
いま、プロセッサ1が状態レジスタをチェックし、入出
力装置4の動作完了を持つプログラムの実行を行うもの
とする。プロセッサ本体10は、入出力制御回路3内の
状態レジスタの参照要求を行うと、状態レジスタの値は
プロセッサ本体10へ送られると同時に、バッファ記憶
11にも記憶される。プロセッサ本体10は状態レジス
タの完了ビットをチェックし、オンであれば次のプログ
ラムへ進み、オフであれば状態レジスタの読み出しと完
了ビットのチェックを繰り返す。しかし、2回目以降の
状態レジスタの読み出しではバッファ記憶11に記憶さ
れた値が返されるため、入出力装置4が入出力動作を完
了し、入出力制御回路3内の状態レジスタの完了ビット
をオンにしても、プロセッサ1はこれを検出できないと
いう問題がある。
また、制御レジスタと状態レジスタが同じアドレスの異
なるビットに割付けられている場合、および同じアドレ
スに割付けられており、書き込み時には制御レジスタ
が、読み出し時には状態レジスタがアクセスされるよう
な構成をとっている場合には、制御レジスタに書き込ん
だ値がバッファ記憶11に記憶されているため状態レジ
スタの読み出しを行うと制御レジスタの値が読み出され
るという問題がある。
次に、負荷分散のために複数個のプロセッサを結合した
マルチプロセッサ方式においてバッファ記憶とプロセッ
サ間のメッセージの転送において発生する問題について
説明する。
例えば、2つのプロセッサ間でメッセージの転送を行い
ながら処理を進めるシステムの場合の例を、第3図およ
び第4図のブロック図で示す。
第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を
用いて他の処理を行うことが出来る。
第4図は、2つのプロセッサ1,7がそれぞれ共通のシ
ステムバス100に接続され、主メモリ2を共有してい
るシステムのブロック図である。それぞれのプロセッサ
は、互いに独立に主メモリ2にアクセスを行うが、一方
のプロセッサが主メモリ2をアクセス中の場合、他方の
プロセッサのアクセス要求は待たされるよう制御され
る。このシステムにおいて、プロセッサ間のメッセージ
通信は、主メモリ2の特定領域を用いて行なわれ、メッ
セージを書く領域が主メモリ2内の特定領域である点を
除いて、第3図に示されるシステムと同様の方式がとら
れている。
この2つのシステムにおいて、各プロセッサ1,7に一
般的なバッファ記憶11,71を設けると、例えばプロ
セッサ1がメッセージ通信用領域に回動込みを行った場
合、プロセッサ1の有するバッファ記憶11の値は書き
込みと同時に更新されるが、プロセッサ7のバッファ記
憶71に同じアドレスの値が記憶されていてもその更新
が行われないために、プロセッサ7がメッセージ領域を
アクセスしてもバッファ記憶71の情報が読み出されて
しまい、プロセッサ1からのメッセージを正しく受け取
れないという問題が生じる。
〔発明の目的〕
従って本発明の目的とするところは、上記問題点を解決
するためになされたもので、メモリマップドI/O方
式、マルチプロセッサ方式等を採用するマイクロプロセ
ッサ等のプロセッサにおいて、性能向上を図るためのバ
ッファ記憶を設けても、矛盾なくデータアクセスを行う
ことにある。
〔発明の概要〕
バッファ記憶を有するマイクロプロセッサを用いる場
合、メモリマップドI/O方式における入出力制御回路
内のレジスタや、マルチプロセッサ方式等における共有
メモリ内のメッセージ通信領域のように、例えば当該マ
イクロプロセッサ以外の装置等の特定要因によってデー
タが変化し、かつデータの変化を当該マイクロプロセッ
サが検出するのが困難な記憶手段上のデータについては
バッファ記憶に保持しないように制御すれば、当該マイ
クロプロセッサはバッファ記憶にアクセスせず外部の記
憶手段に対してアクセスを行うため、常に最新のデータ
を得ることが出来る。
以上の考案に基づき、本発明の基本的な技術思想は、モ
リマップドI/O方式における入出力制御回路内のレジ
スタや、マルチプロセッサ方式におけるメッセージ通信
領域等のように、特定要因によって記憶内容が変化する
記憶領域を含む記憶手段と、この記憶手段上の一部のデ
ータを保持するバッファ記憶と、これらを制御するプロ
セッサとを備え、プロセッサが記憶手段上の任意のデー
タをアクセスする時、そのアクセス領域が特定領域内に
あることを検出する手段と、アクセス領域が特定領域内
にあることに応じてアクセス領域のデータをバッファ記
憶に保持することを禁止する手段とを設けたことを特徴
とするものである。
本願で開示される代表的な発明の概要は、下記の通りで
ある。
すなわち、アドレス変換機構(9)を介してメモリ
(2,8)と接続されるプロセッサ(10)であって、 該プロセッサ(10)はキャッシュ・メモリ(11)を
少なくとも含み、 上記アドレス変換機構(9)により論理アドレスから物
理アドレスに変換された上記プロセッサ(10)のアク
セスアドレスが上記メモリ(2,8)に接続されたバス
(100)に伝達されることによって上記メモリ(2,
8)と同一アドレス空間の特定領域(例えば、メモリマ
ップド方式の入出力装置、もしくはプロセッサ間メッセ
ージ通信領域)がアクセスされる際に、該物理アドレス
に変換された該アクセスアドレス(149)に応答して
制御信号(147)を発生する信号発生手段(81)を
上記バス(100)に接続せしめ、 上記信号発生手段(81)から発生される上記制御信号
(147)に応答して、上記プロセッサ(10)は上記
アクセス時のデータの上記キャッシュ・メモリ(11)
への書き込みを禁止する如く構成されてなることを特徴
とする。
かくして、例えばメモリ(2,8)のアクセス空間内で
特定領域としてメモリマップド方式の入出力装置のデー
タもしくはマルチプロセッサのプロセッサ間のメッセー
ジ通信領域がプロセッサ(10)によってアクセスされ
た場合に、入出力装置のデータもしくはメッセージ通信
領域のデータはキャッシュ・メモリ(11)へ書き込ま
れることがなく、メモリマップド方式の入出力装置もし
くはマルチプロセッサによって共有されたメモリ(8)
へのプロセッサ(10)によるアクセス時にはキャッシ
ュ・メモリ(11)の外部から読み出されるため、キャ
ッシュ・メモリ(11)をバッファ記憶として用いて
も、データの制御を矛盾なく行うことができる。
さらに、キャッシュ・メモリ(11)への書き込み禁止
のための制御信号(147)の発生はアドレス変換機構
(9)の変換出力、すなわち、共有メモリ(8)の入力
で物理アドレスのアドレスを検出して行うので、共有メ
モリ(8)の記憶容量増大等の設計変更に際しても、制
御信号(147)の発生のためのアドレス検出も共有メ
モリ(8)での設計変更で対処可能となり、設計変更が
共有メモリ(8)のみで対処可能であると言う大きな利
点を有する。
一方、キャッシュ・メモリ(11)への書き込み禁止の
ための制御信号(147)の発生をアドレス変換機構
(9)の論理アドレス入力部で行う方式も考えられる
が、この方式では共有メモリ(8)の記憶容量増大等の
設計変更に際して、アドレス変換機構(9)の論理アド
レス入力部での制御信号(147)の発生に関しても設
計変更が必要となり、設計変更が共有メモリ(8)とア
ドレス変換機構(9)との二個所で必要となると言う欠
点を生じる。
本発明のその他の目的と特徴は、以下の実施例から明ら
かとなろう。
〔実施例〕
以下、本発明の一実施例を第5図から第10図を用いて
詳細に説明する。第5図は本発明の一実施例を示す全体
システム構成図で、第6図から第10図はそれぞれ第5
図中の各ブロックの回路図である。
第5図において、マイクロプロセッサ1(以下MPUと
略す)、メモリマネージメントユニット9(以下MMU
と略す)、主メモリ2、共有メモリ8、入出力制御回路
3、入出力装置4、システムバス100およびシステム
バスに接続される図示されない他のマイクロプロセッサ
(以下MPUXと略す)から成る。
MPU1は、命令の実行を行うプロセッサ本体10、キ
ャッシュメモリ11、キャッシュメモリ制御回路13、
リード/ライト制御回路14およびORデート15から
成り、アドレス信号116、データ信号122、リード
信号125、ライト信号124、PURGE信号12
6、ACK信号128およびRAM信号127によって
MMU9と接続され、また、データ信号122、リード
信号125、ライト信号124、ACK信号128およ
びRMA信号127によってシステムバス100と接続
されている。ここで、ACK信号は動作終了を示す信号
であり、また、RAM信号はキャッシュ・メモリ11へ
の書き込みの可否を表わす信号である。
MMU9は、仮想記憶方式をサポートするためのアドレ
ス変換機構であり、アドレス信号116上の論理アドレ
スを内蔵するアドレス変換テーブルによって物理アドレ
スに変換し、アドレス信号129を介してシステムバス
100に出力する。主メモリ2は、主メモリ制御回路2
1と主メモリ記憶部22から成り、データ信号152、
アドレス信号159、リード信号155、ライト信号1
54およびACK信号158によってシステムバス10
0に接続され、MPU1で処理を行うための命令および
データを記憶する。
共有メモリ8は、共有メモリ制御回路81および共有メ
モリ記憶部82から成り、データ信号142、アドレス
信号149、リード信号145、ライト信号144、A
CK信号148およびRMA信号147によってシステ
ムバス100に接続され、MPUとMPUXのメッセー
ジ通信のためのデータおよびMPUXで処理を行うため
の命令とデータを記憶する。
入出力制御回路3は、データ信号132、アドレス信号
139、リード信号135、ライト信号134、ACK
信号138およびRMA信号137によってシステムバ
ス100に接続され、信号130を介して入出力装置4
の制御および入出力データの転送を行う。
システムバス100において各装置のACK信号13
8,148,158およびRMA信号137,147は
それぞれワイアードORされ、MMU9、主メモリ2、
共有メモリ8または入出力制御回3のいずれかによりA
CK信号またはRMA信号がオンにされると、MPU1
に入力されるACK信号128またはRMA信号127
がオンになる。逆に、上記の装置すべてのACK信号ま
たはRMA信号がオフにされると、MPU1に入力され
るACK信号128またはRMA信号127はオフとな
る。
以上の構成において、パワーオンリセット時には、プロ
セッサ本体10により、信号113がオンにされ、キャ
ッシュ・メモリ制御回路13にキャッシュメモリ11の
クリアが指示される。キャッシュメモリ制御回路13は
信号117をオンにして、キャッシュメモリ11の記憶
内容をすべて無効化する。
また、読み出しを行うときは、プロセッサ本体10によ
り読み出すアドレスがアドレス信号116に出力され信
号111がオンにされる。読み出しまたは書き込みの完
了を表わす信号112がオンとなると、プロセッサ本体
10により、信号115上のデータが読み出したデータ
として取り込まれ、アドレス信号116への出力をや
め、信号111がオフにされて読み出し動作を終了す
る。
さらに、書き込みを行うとき、プロセッサ本体10によ
り、書き込みを行うアドレスがアドレス信号116に、
書き込むデータ信号115に出力され信号110がオン
にされる。読み出しまたは書き込みの完了を表わす信号
112がオンとなると、プロセッサ本体10により、ア
ドレス信号116および信号115への出力をやめ、信
号110がオフにされて書き込み動作を終了する。
次に、主メモリ2からの読み出しについて、キャッシュ
メモリ11との関係において説明する。キャッシュメモ
リ11は、アドレス信号116に出力されたアドレスが
保持されているかどうかをチェックし、保持されていれ
ば信号121をオンにする。リード/ライト制御回路1
4は、信号111がオンがかつ信号121がオンのと
き、キャッシュメモリ11から読み出しを行うものと判
断して信号114をオンにしプロセッサ本体10に読み
出しの完了を通知する。これと並行して、キャッシュメ
モリ制御回路13は、信号111および信号121がオ
ンのとき、信号119をオンにし、該当するデータをキ
ャッシュメモリ11から信号115に出力するように指
示する。プロセッサ本体10はこの値を取り込んで読み
出しを終了する。
一方、キャッシュメモリ11に該当するデータが保持さ
れていない場合には、信号121はオフとなる。信号1
11がオンでかつ信号121がオフの場合、リード/ラ
イト制御回路14は、プロセッサ外部からの読み出しを
行うために、リード信号125をオンにする。MPU1
から出力されたアドレスは、MMU9で変換されたシス
テムバス100に送られる。主メモリ制御回路21は、
アドレス信号159とリード信号155から読み出し要
求がなされたことを認識し、主メモリ記憶部22から該
当するデータを読み出し、データ信号152に出力する
ように制御を行う。読み出しが完了すると、主メモリ制
御回路21はACK信号158をオンにしてMPU1に
知らせる。主メモリ制御回路21はRMA信号と接続さ
れていないため、RMA信号127はオフ、ACK信号
128はオンとなる。ACK信号128は、ORゲート
15を介してプロセッサ本体10に接続されており、読
み出し完了が通知される。また、この時、キャッシュメ
モリ制御回路13は信号119をオフにし、データ信号
122と信号115を接続するようにキャシッュメモリ
11に指示し、読み出されたデータはプロセッサ本体1
0に転送される。さらにこの条件でかつACK信号12
8がオン、RMA信号127がオフのとき、キャッシュ
メモリ制御回路13は、信号120をオン、信号118
をオンにしてキャッシュメモリ11に読み出したデータ
を記憶するように指示する。キャッシュメモリ11は既
に記憶しているデータの一つを消去し、この読み出した
データとそのアドレスを記憶する。以後、このアドレス
への読み出し要求があると、キャッシュメモリ11に記
憶されたデータが読み出される。
次に、主メモリ2に対する書き込みについて説明する。
信号110がオンになると、キャッシュメモリ制御回路
13は、信号119をオフにし、キャッシュメモリ11
に対して信号115と信号122を接続するように指示
する。この指示により書き込みデータがシステムバス1
00へ転送される。リード/ライト制御回路14は、信
号110がオンになるとライト信号124をオンにし、
プロセッサ外部へ書き込みを指示し、また、アドレス信
号116上のアドレスは、MMU9で変換されシステム
バス100へ送られる。主メモリ制御回路21は、アド
レス信号159およびライト信号154によって書き込
み要求がなされたことを認識すると、データ信号152
の値を該当するアドレスへ書き込むように主メモリ記憶
部22の制御を行い、終了時にACK信号158をオン
にする。これにより、ACK信号128がオンになりO
Rゲート15を介してプロセッサ本体10に書き込みの
終了が通知される。
書き込み時にも、キャッシュメモリ11には該当アドレ
スのデータが記憶されているかどうかのチェックが行わ
れ、その結果が信号121に出力される。ACK信号1
28がオン、RMA信号127がオフ、信号110がオ
ンの状態になると、キャッシュメモリ制御回路13はキ
ャッシュメモリ11への書き込みを指示するが、信号1
21がオンのときには信号118をオンおよび信号12
0をオフにして、既に記憶されているアドレスおよびデ
ータのうちデータのみを書き換えるように指示し、ま
た、信号121がオフのときには信号118と信号12
0をともにオンにし、既に記憶されているデータの一つ
を消去して書き込みアドレスとデータを記憶するように
指示する。
次に、メモリマップドI/O方式において、入出力制御
回路3内部の制御レジスタまたは状態レジスタの読み出
しの場合は、入出力制御回路3は、アドレス信号139
およびリード信号135からその要求を知ると、読み出
しデータをデータ信号132に出力し、ACK信号13
8とRMA信号137をオンにする。信号111がオ
ン、ACK信号128およびRMA信号127がオンの
場合、キャッシュメモリ制御回路13は信号118をオ
ンにしないためキャッシュメモリ11への書き込みは行
われない。ところが、信号121がオフであるため、信
号122および信号115が接続されて、読み出された
データはプロセッサ本体10に転送される。
また、入出力制御回路3内部の制御レジスタまたは状態
レジスタへの書き込みの場合、入出力制御回路3はアド
レス信号139およびライト信号134からその要求を
知ると、データ信号132の値を書き込み、ACK信号
138およびRMA信号137をオンにする。信号11
0がオン、ACK信号128およびRMA信号127が
オンの場合、キャッシュメモリ制御回路13は信号11
8をオンにしないため、入出力制御回路3内部の制御レ
ジスタまたは状態レジスタのアドレスおよびデータがキ
ャッシュメモリ11に書き込まれることはない。
入出力制御回路3内部の制御レジスタおよび状態レジス
タの読み出しまたは書き込みにおいて、キャッシュメモ
リ11内にデータが記憶されているかどうかのチェック
が行われるが、データが記憶されていないため、信号1
21はオフとなる。したがって、読み出し時には、常に
プロセッサ外部から読み出される。
従って、キャッシュメモリをバッファ記憶として設けて
もメモリマップI/O方式において、入出力の制御を矛
盾なく行うことができる。
次に、共有メモリ8に対する読み出しおよび書き込みに
ついて説明する。共有メモリ8は、MPU1とMPUX
とのメッセージ通信領域とMPUXで処理する命令およ
びデータを記憶する領域の2つの領域に分けられ、MP
U1からはメッセージ通信領域のみにアクセスが行われ
る。共有メモリ制御回路81は、メッセージ通信領域か
らの読み出しおよび書き込みの場合、常にRMA信号1
47をオンにするため、前述した入出力制御回路3内部
の制御レジスタおよび状態レジスタと同様にメッセージ
通信領域のデータもMPU1のキャッシュメモリ11に
記憶されることはない。またMPUXもMPU1と同様
の構成であれば、MPUXのキャッシュメモリへメッセ
ージ通信領域のデータが記憶されることはない。一方、
MPUXのための命令およびデータを記憶する領域を読
み出しまたは書き込んだ場合、共有メモリ制御回路81
はRMA信号147をオフにするため、MPUXは、該
領域の値を自己のキャッシュメモリに書き込むことがで
き、MPU1における主メモリ2と同様の処理を行う。
この制御は、共有メモリ制御回路81内に、アドレスが
MPU1の領域に属すかMPUXの領域に属すかを判定
する回路を設けることにより実現される。
従って、マルチプロセッサ方式において、キャッシュメ
モリをバッファ記憶として設けても、メッセージの交信
を矛盾なく行うことができる。
ここでは、2個のプロセッサによるマルチプロセッサ方
式の例を示したが、3個以上のプロセッサによる場合
も、同様の効果が得られることは容易に理解できる。
さて、第5図の各ブロックのうち主要なものの内部回路
を第6図〜第10図を用いて説明する。
第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は信号1
19がオンのとき信号160と信号115を接続し、オ
フのとき信号122と信号115を接続する双方向性の
スイッチである。
第7図はバッファ記憶にデータの保持を禁止する手段を
有するキャッシュメモリ制御回路13の回路図であり、
ORゲート51,53,ANDゲート52,54および
ラッチ55から成り、ORゲート51によって、キャッ
シュメモリ11を無効化する信号117と、ORゲート
53およびANDゲート52によってキャッシュメモリ
11への書き込みを指示する信号118と、ANDゲー
ト54によってキャッシュメモリ11内のスイッチ19
を制御する信号119とを発生させる。また、ラッチ5
5は信号121の値を保持し、連想メモリ16へアドレ
スおよび有効ビットを書き込むことにより信号121の
値が変化することを防止する。
第8図はリード/ライト制御回路14の回路図であり、
遅延回路56、ANDゲート57,58および否定ゲー
ト59より成り、キャッシュメモリ11でアドレスのチ
ェックが行われ、信号121が確定するまでの間、遅延
回路56により信号121を参照しないようにする。
第9図は検出手段を有する入出力制御回路3の回路図で
あり、デコーダ60,ANDゲート63,65,66、
ORゲート64、トライステートバッファ68、オープ
ンエミッタバッファ61,62および状態レジスタ67
から成り、デコーダ60は、アドレス信号139をデコ
ードし、入出力制御回路3が選択されているかどうかの
判定と、どのレジスタが選択されているかを判定する。
選択されているレジスタが予め定めた特定領域に相当す
る状態レジスタであれば、RMA信号137をオンにす
る。また、オープンエミッタバッファ61は、RMA信
号137のドライブを行い、オープンエミッタバッファ
62は、ACK信号138をドライブし、RMA信号1
37、ACK信号138は、ワイアードORされるた
め、オープンエミッタバッファ61,62でドライブす
る。状態レジスタ67への書き込み時には、ANDゲー
ト65の出力がオンとされて書き込みが行われ、また、
状態レジスタ67の読み出し時には、ANDゲート66
の出力がオンとされて、トライステートバッファ68か
らデータ信号132への出力が行われる。状態レジスタ
67の各ビットは入出力装置4からの信号によってオン
またはオフに変化する。
第10図は検出手段を有する共有メモリ制御回路81の
回路図であり、デコーダ69,80、オープンエミッタ
バッファ86,87、ORゲート83、ANDゲート8
4、タイミング制御回路85から成る。デコーダ69
は、共有メモリ8が選択されているかどうかの判定と、
共有メモリ記憶部82へ送るアドレスの生成を行い、ま
たデコーダ80は選択されているのが予め定められた特
定領域すなわちメッセージ通信領域かどうかの判定を行
う。特定領域であればRMA信号147をオンにする。
オープンエミッタバッファ86,87は、RMA信号1
47およびACK信号148のドライブを行う。AND
ゲート84の出力がオンとなるのは、共有メモリ8への
アクセス要求があったときのみである。また、タイミン
グ制御回路85は共有メモリ記憶部82のアクセスに必
要な制御信号と動作完了信号を生成する。
本実施例によれば、キャッシュメモリ11とキャッシュ
メモリ制御回路13を含むマイクロプロセッサ1におい
て、キャッシュメモリ11にデータを書き込むことを禁
止するRMA信号がマイクロプロセッサ1内のキャッシ
ュメモリ制御回路13に入力されるように構成されてお
り、例えば、特定領域を示す情報を禁止条件としてマイ
クロプロセッサ1と独立に構成できるため、汎用性のあ
るマイクロプロセッサを提供することができる。
ところで、第5図において、MMU9内部にある仮想記
憶方式に用いられるアドレス変換テーブルは、MPU1
からメモリマップドI/O方式によってアクセスが可能
である。
アドレス信号116の値がアドレス変換テーブルのアド
レスであり、リード信号125またはライト信号124
がオンのときには、アドレス変換は行われずアドレス変
換テーブルの読み出しまたは書き込みが行われる。この
場合にも、ACK信号128およびRMA信号127が
オンにされる。
書き込みの場合には、さらにPURGE信号126がオ
ンにされる。キャッシュメモリ制御回路13はPURG
E信号126を受けると、信号117をオンにし、キャ
ッシュメモリ11をすべて無効化する。
この無効化によって、キャッシュメモリ11内の論理ア
ドレスのデータと実際のメモリ上の物理アドレスのデー
タとの対応関係がくずれるのを防止することができる。
例えば、論理アドレス100番地のデータがキャッシュ
メモリ11に記憶されているとする。このデータを読み
出したときにはアドレス変換により物理アドレス100
0番地に対応していたものをアドレス変換テーブルを書
き換えて500番地に対応するようにしたとすると、プ
ロセッサが100番地を読み出すとキャッシュメモリ1
1にある物理アドレス1000番地のデータが読み出さ
れてしまい矛盾が生じる。これを防ぐため、アドレス変
換テーブルが書き換えられた場合には、PURGE信号
を出して、キャッシュメモリ11を無効化する。
〔発明の効果〕
以上の説明から明らかなように、本発明によれば、メモ
リマップドI/O方式、マルチプロセッサ方式等のよう
に、特定要因によって記憶内容が変化する特定領域を含
む記憶手段に対してプロセッサがアクセスするとき、特
定領域へのアクセスであればそのデータをバッファ記憶
に保持することを禁止することにより、アクセスしたデ
ータに矛盾が発生しないようにする。
これによって、例えば、一般の命令で入出力装置を制御
できるメモリマップドI/O方式、または、負荷分散を
ねらったマルチプロセッサ方式等の利点を生かしなが
ら、バッファ記憶を用いて全体を性能向上を図ることが
できるという効果が得られる。
さらに、キャッシュ・メモリへの書き込み禁止のための
制御信号の発生はアドレス変換機構の変換出力、すなわ
ち、共有メモリの入力で物理アドレスのアドレスを検出
して行うので、共有メモリの記憶容量増大等の設計変更
に際しても、制御信号の発生のためのアドレス検出も共
有メモリでの設計変更で対処可能となり、設計変更が共
有メモリのみで対処可能であると言う大きな利点を有す
る。
【図面の簡単な説明】
第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……プロセッサ本体、1
1……キャッシュメモリ、13……キャッシュメモリ制
御回路、14……リード/ライト制御回路、21……主
メモリ制御回路、22……主メモリ記憶部、81……共
有メモリ制御回路、82……共有メモリ記憶部、100
……システムバス、127,137,147……RMA
信号、128,138,148,158……ACK信
号、116,129,139,149,159……アド
レス信号、122,132,142,152……データ
信号、124,134,144,154……ライト信
号、125,135,145,155,……リード信
号、126……PURGE信号。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭57−205885(JP,A) 特開 昭56−3485(JP,A)

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】アドレス変換機構を介してメモリと接続さ
    れるプロセッサであって、 該プロセッサはキャッシュ・メモリを少なくとも含み、 上記アドレス変換機構により論理アドレスから物理アド
    レスに変換された上記プロセッサのアクセスアドレスが
    上記メモリに接続されたバスに伝達されることによって
    上記メモリと同一アドレス空間の特定領域がアクセスさ
    れる際に、該物理アドレスに変換された該アクセスアド
    レスに応答して制御信号を発生する信号発生手段を上記
    バスに接続せしめ、 上記信号発生手段から発生される上記制御信号に応答し
    て、上記プロセッサは上記アクセス時のデータの上記キ
    ャッシュ・メモリへの書き込みを禁止する如く構成され
    てなることを特徴とするプロセッサ。
  2. 【請求項2】上記信号発生手段は上記バスに接続され、
    上記バス上の物理アドレスを監視して上記制御信号を発
    生する手段であることを特徴とする特許請求の範囲第1
    項に記載のプロセッサ。
  3. 【請求項3】上記特定領域は上記プロセッサによってア
    クセスされるメモリマップド方式の入出力装置の領域で
    あることを特徴とする特許請求の範囲第1項または第2
    項に記載のプロセッサ。
  4. 【請求項4】上記特定領域は上記バスを介して接続され
    る上記プロセッサと他のプロセッサとからなるマルチプ
    ロセッサのプロセッサ間メッセージ通信領域であること
    を特徴とする特許請求の範囲第1項または第2項に記載
    のプロセッサ。
JP59008572A 1984-01-23 1984-01-23 プロセッサ Expired - Lifetime JPH0630074B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP59008572A JPH0630074B2 (ja) 1984-01-23 1984-01-23 プロセッサ
DE19853502147 DE3502147A1 (de) 1984-01-23 1985-01-23 Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung
US07/183,401 US5148526A (en) 1984-01-23 1988-04-08 Data processing system with an enhanced cache memory control
US07/804,739 US5479625A (en) 1984-01-23 1991-12-11 Ring systolic array system for synchronously performing matrix/neuron computation using data transferred through cyclic shift register connected in cascade of trays
US08/413,110 US5502825A (en) 1984-01-23 1995-03-29 Data processing system with an enhanced cache memory control
US08/435,958 US5509133A (en) 1984-01-23 1995-05-05 Data processing system with an enhanced cache memory control
US08/649,333 US5619677A (en) 1984-01-23 1996-05-17 Data processing system with an enhanced cache memory control
US08/795,639 US5822761A (en) 1984-01-23 1997-02-06 Data processing system which controls operation of cache memory based and the address being accessed
US09/087,900 US6381680B1 (en) 1984-01-23 1998-06-01 Data processing system with an enhanced cache memory control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59008572A JPH0630074B2 (ja) 1984-01-23 1984-01-23 プロセッサ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP5007357A Division JPH0724043B2 (ja) 1993-01-20 1993-01-20 データ処理装置

Publications (2)

Publication Number Publication Date
JPS60153554A JPS60153554A (ja) 1985-08-13
JPH0630074B2 true JPH0630074B2 (ja) 1994-04-20

Family

ID=11696758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59008572A Expired - Lifetime JPH0630074B2 (ja) 1984-01-23 1984-01-23 プロセッサ

Country Status (1)

Country Link
JP (1) JPH0630074B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103474B2 (ja) * 1986-06-16 1994-12-14 株式会社日立製作所 バツフア記憶制御方式
JPH01142846A (ja) * 1987-11-28 1989-06-05 Nippon Telegr & Teleph Corp <Ntt> 情報処理装置のキャッシュメモリ制御方式

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS563485A (en) * 1979-06-20 1981-01-14 Nec Corp Buffer memory device
JPS6055859B2 (ja) * 1981-06-15 1985-12-06 富士通株式会社 チャネル・バッファ制御方式

Also Published As

Publication number Publication date
JPS60153554A (ja) 1985-08-13

Similar Documents

Publication Publication Date Title
US5067078A (en) Cache which provides status information
KR0154533B1 (ko) 데이타 프로세서
US5155824A (en) System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
US5379394A (en) Microprocessor with two groups of internal buses
US5249284A (en) Method and system for maintaining data coherency between main and cache memories
EP0062165A2 (en) Multiprocessors including private and shared caches
US5148526A (en) Data processing system with an enhanced cache memory control
JPS629942B2 (ja)
JPH0668735B2 (ja) キヤツシユメモリ−
US5161219A (en) Computer system with input/output cache
US5287512A (en) Computer memory system and method for cleaning data elements
JPH0519176B2 (ja)
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 (ja) 二重ディレクトリー仮想キャッシュ及びその制御方法
JPH0630074B2 (ja) プロセッサ
JP2680293B2 (ja) データ処理装置及びキャッシュメモリ制御方法
JP2659007B2 (ja) 情報処理方法及び装置
JPH0724043B2 (ja) データ処理装置
JPS63247852A (ja) キヤツシユメモリ制御方法
JPS6329297B2 (ja)
JP2923273B2 (ja) データ処理システム
JP2613258B2 (ja) 情報処理方法及び装置
JP2791319B2 (ja) データ処理装置
JPH0628258A (ja) マイクロプロセッサ
JP2952884B2 (ja) キャッシュコントローラ

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term