JPH11272555A - キャッシュメモリ制御システム - Google Patents

キャッシュメモリ制御システム

Info

Publication number
JPH11272555A
JPH11272555A JP10071099A JP7109998A JPH11272555A JP H11272555 A JPH11272555 A JP H11272555A JP 10071099 A JP10071099 A JP 10071099A JP 7109998 A JP7109998 A JP 7109998A JP H11272555 A JPH11272555 A JP H11272555A
Authority
JP
Japan
Prior art keywords
cache
cache memory
address
request
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10071099A
Other languages
English (en)
Inventor
Shigeaki Kawamata
重明 川俣
Atsushi Yoshioka
敦史 吉岡
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP10071099A priority Critical patent/JPH11272555A/ja
Priority to US09/164,677 priority patent/US6345320B1/en
Publication of JPH11272555A publication Critical patent/JPH11272555A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0835Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 本発明はキャッシュメモリ制御システムに関
し、システムの性能を向上させることができるキャッシ
ュメモリ制御システムを提供することを目的としてい
る。 【解決手段】 中央制御装置と、主記憶装置と、周辺装
置がシステムバスを介して接続されるシステムにおい
て、前記中央制御装置内にデータ一時保存用のキャッシ
ュメモリと、前記周辺装置からのDMAストアアクセス
時に、そのアドレスを一時的に保存するDMAバッファ
とを設けて構成される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はキャッシュメモリ制
御システムに関し、更に詳しくはキャッシュ調停により
性能を向上させたキャッシュメモリ制御システムに関す
る。
【0002】
【従来の技術】図8は従来システムの概念図である。図
において、10は中央制御装置(CC)、11は該CC
内に設けられたキャッシュメモリ、2は主記憶装置(M
M)、3は周辺装置(IOC)、4はこれら各構成要素
間を接続するシステムバスである。キャッシュメモリ1
1は、CCがいちいちMMにアクセスする手間を省くた
めに、よく利用される命令やデータをMMから読み出し
て予め記憶しておく、高速動作が可能な一時保存メモリ
である。
【0003】この種のシステムにおいて、IOCがMM
をアクセスする場合には、そのアドレスをキャッシュ制
御部が監視している。一般にIOCのDMAライトアク
セス(MMにDMA(ダイレクト・メモリ・アクセス)
モードでデータを書き込むためのアクセス)に対して、
キャッシュメモリ11とMMとのデータ矛盾を起こさせ
ないようにバススヌープ機能を持っている。
【0004】バススヌープ機能はDMAライトアクセス
アドレスがキャッシュメモリ11内にある場合に、その
キャッシュデータを無効化するものが一般的である。従
来のパススヌープ機能は、IOCのDMAライトアクセ
ス毎にMMアクセス期間中システムバス4を監視し、C
Cはその間キャッシュメモリ11をアクセスできずに待
っているものであった。
【0005】一方、命令とオペランドとで別々のキャッ
シュメモリを具備するシステムもある。この種のシステ
ムでは、CCにおいて命令実行におけるオペランドライ
トはオペランドキャッシュにのみ反映させるものが一般
的であり、命令自身をライトアクセスで書き換えたい場
合は、MMとのデータ矛盾回避のため、命令キャッシュ
メモリを全部無効化したり、ライト時の命令キャッシュ
無効化モードを設けてライトアドレスと一致する場合に
その命令キャッシュデータを無効化する手段が必要であ
る。
【0006】
【発明が解決しようとする課題】前者の場合には、その
問題を解決するために、例えば特開平5−97378号
公報や、特開平6−94821号公報に記載されている
ように、バススヌープ制御部にDMAアドレスを一時保
持するバッファを設けて、CPUの空いた時間に無効化
を行ない、プロセッサバス性能の低下の軽減を図ってい
るが、どちらもバッファが満杯になってしまうとDMA
が中止されたり、キャッシュメモリ全部を無効化したり
と、システム性能に影響が出る。
【0007】一方、後者の場合にはキャッシュメモリと
MMとのデータ矛盾回避のために命令キャッシュメモリ
を全てを無効化しているが、これはキャッシュ全無効化
のために性能がダウンし、また命令キャッシュ無効化モ
ードを設けてライトアドレスと一致する場合にその命令
キャッシュデータを無効化する場合には、ライトアクセ
スの度に命令ロードを妨げることになるという問題があ
った。
【0008】本発明はこのような課題に鑑みてなされた
ものであって、システムの性能を向上させることができ
るキャッシュメモリ制御システムを提供することを目的
としている。
【0009】
【課題を解決するための手段】(1)図1は本発明の原
理ブロック図である。図8と同一のものは、同一の符号
を付して示す。中央制御装置10において、11はキャ
ッシュメモリ、12は該キャッシュメモリ11の動作を
制御するキャッシュ制御部、12aは周辺装置2がDM
Aアクセス時のアドレスを記憶するDMAバッファであ
る。13は中央制御装置10のCPUである。
【0010】5はキャッシュ制御部12とCPU13間
を接続するプロセッサバスである。前記キャッシュ制御
部12はシステムバス4と接続されている。4は各構成
要素間を接続するシステムバス、2は該システムバス4
と接続される主記憶装置(MM)、3は同じくシステム
バス4と接続される周辺装置(IOC)である。
【0011】この発明の構成によれば、IOCがMMに
ライトアクセスした時に、そのアドレスを保持してお
き、キャッシュメモリ11内のアドレスと比較すること
により、双方に同一アドレスが存在するかどうかを確認
することができる。
【0012】(2)この場合において、前記中央制御装
置は、前記DMAバッファに記憶されたアドレスと、キ
ャッシュメモリ内のアドレスが一致した場合には、キャ
ッシュメモリ内の当該アドレスを無効化することを特徴
としている。
【0013】この発明の構成によれば、DMAバッファ
12aに記憶されたアドレスと同じアドレスがキャッシ
ュメモリ11内に存在した時に、CPU13はキャッシ
ュメモリ11の当該箇所を無効化するので、キャッシュ
メモリ11の記憶事項と、MMの記憶事項とを常に一致
させることができる。
【0014】(3)また、前記キャッシュメモリとし
て、命令保存用とオペランド保存用にそれぞれ分割して
設け、オペランドライト時のアドレスを保存するバッフ
ァを設け、前記中央制御装置は、オペランドライト時
に、前記バッファのアドレスと命令キャッシュメモリ内
のアドレスとが一致する時に命令キャッシュメモリ内の
当該アドレスを無効化することを特徴としている。
【0015】この発明の構成によれば、キャッシュメモ
リを命令保存用とオペランド保存用に分割し、命令保存
用キャッシュメモリをバッファのアドレスが一致した時
に無効化することにより、キャッシュメモリ11の記憶
事項と、MMの記憶事項とを常に一致させることができ
る。
【0016】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態例を詳細に説明する。先ず、図1を用いて本発
明の動作を詳細に説明する。図1において、プロセッサ
バス5はシステムバス4よりも10倍以上速いものが一
般的である。IOCのMMアクセスに対してプロセッサ
バス5を止めてしまうと10回分のCPUアクセスが止
まることになる。このため、キャッシュ制御部12にI
OCのライトアクセスのあったアドレスをバッファリン
グし、CPUアクセス動作と同一速度でキャッシュアク
セスをする。
【0017】この時、キャッシュアクセスの優先度はC
PU13よりも高くすることにより、CPUアクセス1
回分待つのみで即キャッシュアクセスが可能となる。ま
た、DMAバッファ12aにデータがある間は、システ
ムアービタ(調停回路)でIOCからのバス要求に達す
るアクノリッジを返送しないようにすることでバッファ
も1つですむ。また、DMAを中止する必要はなくな
る。
【0018】つまり、キャッシュアクセスアービタとシ
ステムバスアービタ(図示せず)を別に設けてキャッシ
ュバスアービタはIOCを優先させ、システムバスアー
ビタは1つのIOCライトアクセスがあった場合には、
キャッシュ制御部12からの応答があるまで次のIOC
のバス要求を受付けないように構成し、システム性能の
低下を防ぐ。
【0019】一方、命令キャッシュメモリとオペランド
キャッシュメモリとを具備するシステムにおいて、ライ
ト時、命令キャッシュ無効化モードでのオペランドライ
トがあった場合、ライトアドレスを一時保持するバッフ
ァを設け、そのバッファより命令キャッシュ無効化要求
を命令キャッシュメモリに対して行なう。その要求はC
PUからの命令ロード要求よりも優先度を高くする。
【0020】これにより、命令キャッシュメモリと、オ
ペランドキャッシュメモリは独立に動作でき、従来のよ
うに両キャッシュメモリがアイドルになって始めてライ
トできるといった待機時間もなく動作できる。また、バ
ッファが満杯の場合は、次のオペランドアクセスに対す
る動作が待たされるように構成する。
【0021】図2は本発明の第1の実施の形態例を示す
ブロック図である。図1と同一のものは、同一の符号を
付して示す。図において、4はシステムバス、3は該シ
ステムバス4に接続される周辺装置(IOC)、2は同
じくシステムバス4に接続される主記憶装置(MM)、
それ以外の部分はシステムバス4に接続される中央制御
装置(CC)である。
【0022】CCにおいて、11はキャッシュメモリ、
12は該キャッシュメモリ11を制御するキャッシュ制
御部、20は該キャッシュ制御部12内に設けたキャッ
シュアクセスアービタ(調停回路)である。13は全体
の動作を制御するCPUである。14はシステムバス4
と接続され、システムバスインタフェースの制御を行な
うシステムバスインタフェース制御部、12は該システ
ムバスインタフェース14内に設けられたDMAバッフ
ァである。該システムバスインタフェース制御部14は
システムバス4と接続されている。
【0023】15はシステムバス4及びシステムバスイ
ンタフェース制御部14と接続されるIOCバス要求制
御部である。システムバスインタフェース制御部14と
はバス要求信号REQとACKと、BFBUSY(バッ
ファビジー)のやりとりを行なう。システムバス4側と
は、REQとACKのやりとりを行なう。ACKはIO
C毎に出される。システムバスインタフェース制御部1
4とキャッシュ制御部12間は、キャッシュ無効化要求
とキャッシュ無効化要求ACKのやりとりを行なう。こ
のように構成されたシステムの動作を説明すれば、以下
の通りである。
【0024】キャッシュアクセスアービタ20は、CP
U13からのキャッシュ要求(REQ)とIOCのDM
Aライトによるキャッシュ無効化要求との調停を行なう
(DMAバッファ優先)。システムバスインタフェース
制御部14は、CPU要求ライト時やキャッシュミスヒ
ット(キャッシュに該当するアドレスがない場合)時の
MMアクセスと、IOCからのDMA要求とを調停し、
CPU13からのアクセスの場合にはMMへのアクセス
を行ない、IOCからのライトアクセスの場合にはDM
Aバッファ12aにアドレスを記憶し、キャッシュ制御
部12へキャッシュ無効化を要求する。
【0025】IOCバス要求制御部15は、数種のIO
Cのバス要求を調停し(ラウンドロビン:複数のIOC
の調停)、システムバスインタフェース制御部14へI
OCからの要求(REQ)があったことを伝達する。
【0026】先ず、IOCがバス要求(REQ)を出す
と、IOCバス要求制御部15からシステムバスインタ
フェース制御部14へバス要求(REQ)を伝達する。
システムバスインタフェース制御部14がアイドル状態
であれば、IOCバス要求制御部15へ応答(アクノリ
ッジ:ACK)を返送する。この時、既にDMAバッフ
ァ12aにデータがあり、キャッシュ無効化が終了して
いない場合にはACKを返送しない。従って、IOCは
次の動作ができない。
【0027】IOCバス要求制御部15は、ACKを受
け取ると、要求のあったIOCへACKを返送する。I
OCのDMAアクセス動作が開始され、ライトアクセス
であった場合、システムバスインタフェース制御部14
はその時のアドレスをDMAバッファ12aに保持す
る。
【0028】システムバスインタフェース制御部14
は、DMAバッファデータ有りのステートとなり、キャ
ッシュ無効化要求をキャッシュ制御部12に対して行な
う。キャッシュ制御部12は、キャッシュ無効化要求を
受信すると、最優先で受け付け(CPUがキャッシュを
使用していた場合、インストラクション(I)動作終了
後すぐに)、DMAバッファ12aにあるアドレスと一
致するキャッシュメモリがあれば、そのデータを無効化
し、無ければ何もせずにシステムバスインタフェース制
御部14へキャッシュ無効化要求ACKを返送する。
【0029】システムバスインタフェース制御部14
は、キャッシュ無効化要求ACKを受信すると、DMA
バッファデータ無しのステートに移る。ここで、既に次
のIOCからのバス要求があった場合には、IOCバス
要求制御部15へACKを返送できる状態となる。
【0030】この実施の形態例によれば、DMAバッフ
ァ12aに記憶されたアドレスと同じアドレスがキャッ
シュメモリ11内に存在した時に、CPU13はキャッ
シュメモリ11の当該箇所を無効化するので、キャッシ
ュメモリ11の記憶事項と、MMの記憶事項とを常に一
致させることができる。
【0031】図3は本発明の第2の実施の形態例を示す
ブロック図である。図2と同一のものは、同一の符号を
付して示す。この実施の形態例は、キャッシュメモリが
命令キャッシュメモリ11Aとオペランドキャッシュメ
モリ11Bに分かれており、これに伴い、それぞれのキ
ャッシュメモリを制御するためのIキャッシュ制御部2
1とPキャッシュ制御部22が設けられている。Iキャ
ッシュ制御部21は命令キャッシュメモリ11Aを制御
し、Pキャッシュ制御部22はオペランドキャッシュメ
モリ11Bを制御する。
【0032】12bはPキャッシュ制御部22内に設け
られたIキャッシュ無効化バッファである。12cはI
キャッシュ制御部21内に設けられたIアービタ(調停
回路)、12dはPキャッシュ制御部22内に設けられ
たPアービタ(調停回路)である。Iアービタ12cか
らCPU13に対してIACK(命令REQアクノリッ
ジ)が伝達され、CPU13からIアービタ12cに対
してIREQ(命令リクエスト)が伝達される。また、
Pアービタ12dからCPU13に対してPACK(オ
ペランドREQアクノリッジ)が伝達され、CPU13
からPアービタ12dに対してPREQ(オペランドリ
クエスト)が伝達される。
【0033】また、Iキャッシュ無効化バッファ12b
からIアービタ12cに対してIキャッシュ無効化要求
が伝達され、Iアービタ12cからIキャッシュ無効化
バッファ12bに対してIキャッシュ無効化要求ACK
が伝達される。このように構成されたシステムの動作を
説明すれば、以下の通りである。
【0034】Iアービタ12cは、CPU13からのキ
ャッシュ要求とIOCのDMAライトによるキャッシュ
無効化要求との調停を行ない、Pアービタ12dはCP
U13からのキャッシュ要求とIOCのDMAライトに
よるキャッシュ無効化要求との調停を行なう。
【0035】この結果、CPU13は命令キャッシュメ
モリ11Aのアクセスと、オペランドキャッシュメモリ
11Bのアクセスとを独立に並行して行なうことができ
る。Iキャッシュ無効化バッファ12bは、オペランド
データの書き込みがあった場合、そのアドレスを保持す
る。そして、Iキャッシュ制御部21にIキャッシュ無
効化要求を行なう。Iアービタ12cは、このIキャッ
シュ無効化要求を受けると、命令キャッシュメモリ11
Aを参照し、Iキャッシュ無効化バッファ12bに記憶
されているアドレスと同じアドレスがあるかチェックす
る。そして、同じアドレスがあった場合には、命令キャ
ッシュメモリ11Aの該当アドレス部分を無効化する。
【0036】この実施の形態例によれば、キャッシュメ
モリを命令保存用とオペランド保存用に分割し、命令保
存用キャッシュメモリをバッファのアドレスが一致した
時に無効化することにより、キャッシュメモリ11の記
憶事項と、MMの記憶事項とを常に一致させることがで
きる。
【0037】図4は本発明の第1の動作を示すタイムチ
ャートである。(a)はCC部動作クロック、(b)は
IOC0からのシステムバス要求(IOCREQ0)、
(c)はIOC0へのバスアクノリッジ(IOCACK
0)、(d)はシステムバスライト信号(MMへのライ
ト信号)、(e)はシステムバスアドレス(MMアドレ
ス)、(f)はシステムバスデータ、(g)はシステム
バスへのMMからの応答(MMOK)、(h)はIOC
バス要求制御部15からのシステムバスインタフェース
制御部14へのバス要求(DMAREQ)、(i)はD
MAREQに対するアクノリッジ、(j)はDMAアド
レスバッファがビジー(BUSY)であることを示し、
次のIOCからの要求を待機させる信号(BFBUS
Y)、(k)はDMAバッファ(DMABR)、(l)
はキャッシュ制御部12へのキャッシュ無効化要求(C
MREQ)、(m)はCMREQに対するアクノリッ
ジ、(n)はキャッシュメモリデータバス、(o)はキ
ャッシュヒット信号、(p)はキャッシュメモリライト
イネーブル(CACHEWE)である。システムとして
は、図2を用いる。
【0038】IOC0の周辺装置からシステムバス要求
があり、図に示すIOCDMAサイクルで、MMにデー
タがライトされる。このデータのライトと同時に、
(g)に示すアドレスラッチのタイミングでDMAバッ
ファ12aに当該アドレスが記憶される。
【0039】一方、(h)に示すようにIOCバス要求
制御部15からシステムバスインタフェース制御部14
にバス要求が出ると、システムバスインタフェース制御
部14は(i)に示すようにアクノリッジを返す。次
に、(j)に示すようにDMABFBUSYが“1”レ
ベルになり(DMAバッファ12aが)BUSYである
ことを示し、次のIOCからの要求を待機させる。
【0040】(l)に示すようにシステムバスインタフ
ェース制御部14からキャッシュ制御部12へのキャッ
シュ無効化要求が発生すると、キャッシュ制御部12か
らシステムバスインタフェース制御部14に対して
(m)に示すようにアクノリッジが返る。
【0041】次に、(n)に示すキャッシュメモリデー
タバスにDMAバッファ12aに記憶されているアドレ
スと同じアドレスがあった場合(ヒットした場合)、キ
ャッシュ制御部12がキャッシュメモリ11のタグ部分
を(p)に示すタイミングで更新し、無効化する。な
お、図のt1はキャッシュ読み出しサイクル、t2はキ
ャッシュライトサイクルであり、この期間(t1+t
2)はCPU13はキャッシュメモリ11にアクセスで
きない(キャッシュ無効化サイクル)。
【0042】図5は本発明の第2の動作を示すタイムチ
ャートである。図4と同一のものは、同一の符号を付し
て示す。システムとしては図2を用いる。この実施の形
態例では、IOC0の後から他のIOC1からシステム
バス要求があった場合を示す。(b)’がIOC1から
のシステムバス要求、(c)’がIOC1へのバスアク
ノリッジである。この場合には、DMAバッファ12a
がビジー中であることを(j)に示す信号(“1”レベ
ル)でIOC1に知らせる。この結果、IOC1からの
システムバス要求は待たされることになる。即ち、IO
C0に対するIOC DMAサイクルが終了すると、キ
ャッシュメモリの無効化動作を行ない、その後にIOC
1のIOC DMAサイクルが始まる。
【0043】図6は本発明の第3の動作を示すタイムチ
ャートである。図4に示すものと同一のものは、同一の
符号を付して示す。図において(q)はCPU13から
のキャッシュアクセス要求、(r)はR/W(“1”が
リード)信号、(s)はCPU13へのキャッシュアク
ノリッジである。この実施の形態例では、IOCがDM
Aサイクルを実施し、CPU13がキャッシュメモリ1
1へのアクセスを実施している場合を示す。この場合、
システムバスインタフェース制御部14からのキャッシ
ュ無効化要求がCPU13からのキャッシュメモリ11
へのアクセスよりも優先する。
【0044】IOCは、(g)に示すIOC DMAサ
イクルでMMへのデータのライトを行なっている。そし
て、DMAサイクルの終了時点でDMAバッファ12a
にアクセスしたMMのアドレスが記憶される。この結
果、システムバスインタフェース制御部14は、キャッ
シュ制御部12に対してキャッシュ無効化要求を発生す
る。キャッシュ制御部12では、このキャッシュ無効化
要求を受けると、CPU13の動作を所定期間停止す
る。
【0045】(q)に示すようにCPU13からキャッ
シュアクセス要求があると、キャッシュ制御部12は
(r)に示すようにキャッシュメモリ11に対してR/
Wサイクルを発生させて、(s)に示すようにデータの
読み出し又はデータのライトを行なっている。この間に
おいて、DMAバッファ12aに記憶されているアドレ
スとキャッシュメモリ11に記憶されているアドレスと
がヒットしたら、キャッシュ無効化サイクルに入り、図
のt3の期間、CPUは動作を待ち合わせる。この期
間、キャッシュ制御部12はキャッシュメモリ11に対
して(p)に示すタイミングでタグ領域に無効化ビット
(WD)をライトする。
【0046】図7は本発明の第4の動作を示すタイムチ
ャートである。システムとしては、図3を用いる。図に
おいて、(a)はCC部動作クロック、(b)は命令ア
ドレス(IADD)、(c)は命令要求(IREQ)、
(d)は命令要求アクノリッジ(IACK)、(e)は
命令データ(IDATA)である。
【0047】(f)は命令キャッシュメモリバスデー
タ、(g)は命令キャッシュヒット信号、(h)は命令
キャッシュメモリライトイネーブル信号である。(i)
はオペランドアドレス(PADD)、(j)はオペラン
ド要求(PREQ)、(k)はオペランドR/W
(“1”レベルがリード)、(l)はオペランド要求ア
クノリッジ(PACK)、(m)はオペランドリードデ
ータ(PRDATA)である。
【0048】(n)はオペランドデータ(PWDAT
A)、(o)はオペランドキャッシュメモリバスデー
タ、(p)はオペランドキャッシュヒット信号、(q)
はオペランドキャッシュメモリライトイネーブル信号で
ある。
【0049】(r)はIキャッシュ無効化アドレスバッ
ファ12b、(s)はIキャッシュ無効化要求、(t)
はIキャッシュ無効化要求アクノリッジである。Iキャ
ッシュ制御部21側では、Iアービタ12cとCPU1
3との間でIREQとIACKのやりとりを行なって命
令キャッシュメモリ11Aからのデータを読み出してい
る。
【0050】一方、Pキャッシュ制御部22側では、P
アービタ12dがCPU13との間でPREQとPAC
Kのやりとりを行なってオペランドキャッシュメモリ1
1Bからのデータを読み出している。ここで、(q)に
示すようにオペランドの書き込みサイクルが発生したも
のとする。図のt3がオペランドライトサイクルであ
る。この結果、オペランドキャッシュメモリ11Bの内
容が変化する。
【0051】従って、オペランドキャッシュメモリ11
Bと命令キャッシュメモリ11Aとの対応がとれなくな
るので、命令キャッシュメモリ11Aの該当領域を無効
化する必要がある。そこで、(s)に示すようにIキャ
ッシュ無効化バッファ12bからIアービタ12cに対
してIキャッシュ無効化要求を発生させる。この期間t
4がIキャッシュ無効化サイクルになり、(h)に示す
ように該当メモリ領域のタグにキャッシュ無効化データ
をライトする。
【0052】以上、詳細に説明したように、本発明によ
れば、IOCからのDMAアクセスによるCPUのキャ
ッシュアクセス性能低下が軽減され、システムとしての
性能向上が図れる。また、IOCのDMAにおいては無
効化だけではなく、DMAデータの更新モードを設ける
ことによってキャッシュデータ更新を同様に可能であ
る。
【0053】オペランドライトの命令キャッシュ無効化
においても、従来は命令キャッシュメモリ側にオペラン
ドアクセスの調停回路を設けており、命令とオペランド
制御部の両方がアイドルになって始めてアクセスしてい
たが、本発明では、キャッシュ制御部の独立動作が可能
になり、システムとしての性能が向上する。
【0054】
【発明の効果】以上、詳細に説明したように、 (1)本発明によれば、中央制御装置と、主記憶装置
と、周辺装置がシステムバスを介して接続されるシステ
ムにおいて、前記中央制御装置内にデータ一時保存用の
キャッシュメモリと、前記周辺装置からのDMAストア
アクセス時に、そのアドレスを一時的に保存するDMA
バッファとを設けて構成されることにより、IOCがM
Mにライトアクセスした時に、そのアドレスを保持して
おき、キャッシュメモリ内のアドレスと比較することに
より、双方に同一アドレスが存在するかどうかを確認す
ることができる。
【0055】(2)この場合において、前記中央制御装
置は、前記DMAバッファに記憶されたアドレスと、キ
ャッシュメモリ内のアドレスが一致した場合には、キャ
ッシュメモリ内の当該アドレスを無効化することによ
り、DMAバッファに記憶されたアドレスと同じアドレ
スがキャッシュメモリ内に存在した時に、CPUはキャ
ッシュメモリの当該箇所を無効化するので、キャッシュ
メモリの記憶事項と、MMの記憶事項とを常に一致させ
ることができる。
【0056】(3)また、前記キャッシュメモリとし
て、命令保存用とオペランド保存用にそれぞれ分割して
設け、オペランドライト時のアドレスを保存するバッフ
ァを設け、前記中央制御装置は、オペランドライト時
に、前記バッファのアドレスと命令キャッシュメモリ内
のアドレスとが一致する時に命令キャッシュメモリ内の
当該アドレスを無効化することにより、キャッシュメモ
リを命令保存用とオペランド保存用に分割し、命令保存
用キャッシュメモリをバッファのアドレスが一致した時
に無効化し、キャッシュメモリ11の記憶事項と、MM
の記憶事項とを常に一致させることができる。
【0057】このように、本発明によれば、システムの
性能を向上させることができるキャッシュメモリ制御シ
ステムを提供することができる。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明の第1の実施の形態例を示すブロック図
である。
【図3】本発明の第2の実施の形態例を示すブロック図
である。
【図4】本発明の第1の動作を示すタイムチャートであ
る。
【図5】本発明の第2の動作を示すタイムチャートであ
る。
【図6】本発明の第3の動作を示すタイムチャートであ
る。
【図7】本発明の第4の動作を示すタイムチャートであ
る。
【図8】従来システムの概念図である。
【符号の説明】
2 主記憶装置(MM) 3 周辺装置(IOC) 4 システムバス 5 プロセッサバス 10 中央制御装置 11 キャッシュメモリ 12 キャッシュ制御部 12a DMAバッファ 13 CPU

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 中央制御装置と、主記憶装置と、周辺装
    置がシステムバスを介して接続されるシステムにおい
    て、 前記中央制御装置内にデータ一時保存用のキャッシュメ
    モリと、 前記周辺装置からのDMAストアアクセス時に、そのア
    ドレスを一時的に保存するDMAバッファとを設けて構
    成されるキャッシュメモリ制御システム。
  2. 【請求項2】 前記中央制御装置は、前記DMAバッフ
    ァに記憶されたアドレスと、キャッシュメモリ内のアド
    レスが一致した場合には、キャッシュメモリ内の当該ア
    ドレスを無効化することを特徴とする請求項1記載のキ
    ャッシュメモリ制御システム。
  3. 【請求項3】 前記キャッシュメモリとして、命令保存
    用とオペランド保存用にそれぞれ分割して設け、 オペランドライト時のアドレスを保存するバッファを設
    け、 前記中央制御装置は、オペランドライト時に、前記バッ
    ファのアドレスと命令キャッシュメモリ内のアドレスと
    が一致する時に命令キャッシュメモリ内の当該アドレス
    を無効化することを特徴とする請求項1記載のキャッシ
    ュメモリ制御システム。
JP10071099A 1998-03-20 1998-03-20 キャッシュメモリ制御システム Pending JPH11272555A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10071099A JPH11272555A (ja) 1998-03-20 1998-03-20 キャッシュメモリ制御システム
US09/164,677 US6345320B1 (en) 1998-03-20 1998-10-01 DMA address buffer and cache-memory control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10071099A JPH11272555A (ja) 1998-03-20 1998-03-20 キャッシュメモリ制御システム

Publications (1)

Publication Number Publication Date
JPH11272555A true JPH11272555A (ja) 1999-10-08

Family

ID=13450767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10071099A Pending JPH11272555A (ja) 1998-03-20 1998-03-20 キャッシュメモリ制御システム

Country Status (2)

Country Link
US (1) US6345320B1 (ja)
JP (1) JPH11272555A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100353656B1 (ko) * 1999-03-31 2002-09-19 인터내셔널 비지네스 머신즈 코포레이션 Dma 및 l1/l2 캐시 성능을 향상시키기 위한 방법, 장치 및 컴퓨터 프로그램 기록 매체

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408345B1 (en) * 1999-07-15 2002-06-18 Texas Instruments Incorporated Superscalar memory transfer controller in multilevel memory organization
US6678803B2 (en) * 1999-11-03 2004-01-13 Micron Technology, Inc. Method and device to use memory access request tags
US6574682B1 (en) * 1999-11-23 2003-06-03 Zilog, Inc. Data flow enhancement for processor architectures with cache
JP2003044358A (ja) * 2001-07-31 2003-02-14 Mitsubishi Electric Corp キャッシュメモリ制御装置
US6725670B2 (en) * 2002-04-10 2004-04-27 The Penn State Research Foundation Thermoacoustic device
US7636815B1 (en) * 2003-04-09 2009-12-22 Klaiber Alexander C System and method for handling direct memory accesses
US8751753B1 (en) 2003-04-09 2014-06-10 Guillermo J. Rozas Coherence de-coupling buffer
US20050038946A1 (en) * 2003-08-12 2005-02-17 Tadpole Computer, Inc. System and method using a high speed interface in a system having co-processors
CN1332319C (zh) * 2003-12-22 2007-08-15 松下电器产业株式会社 存储系统控制方法
TWI242134B (en) * 2004-02-12 2005-10-21 Via Tech Inc Data extraction method and system
US7971002B1 (en) 2005-04-07 2011-06-28 Guillermo Rozas Maintaining instruction coherency in a translation-based computer system architecture
US7912998B2 (en) * 2006-01-06 2011-03-22 Hewlett-Packard Development Company, L.P. DMA access systems and methods
JP5057360B2 (ja) * 2006-08-08 2012-10-24 ルネサスエレクトロニクス株式会社 半導体装置、データ処理装置、及び記憶装置へのアクセス方法
US8234452B2 (en) 2006-11-30 2012-07-31 Freescale Semiconductor, Inc. Device and method for fetching instructions
US8756377B2 (en) * 2010-02-02 2014-06-17 Arm Limited Area and power efficient data coherency maintenance
JP5834182B2 (ja) * 2010-07-27 2015-12-16 パナソニックIpマネジメント株式会社 データ転送制御装置及びデータ転送制御方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2586061B2 (ja) 1987-10-27 1997-02-26 富士通株式会社 キャッシュメモリ制御装置
JP2774862B2 (ja) * 1990-07-16 1998-07-09 株式会社日立製作所 Dma制御装置および情報処理装置
US5966728A (en) * 1992-01-02 1999-10-12 International Business Machines Corp. Computer system and method for snooping date writes to cacheable memory locations in an expansion memory device
US5664149A (en) * 1992-11-13 1997-09-02 Cyrix Corporation Coherency for write-back cache in a system designed for write-through cache using an export/invalidate protocol
US5634073A (en) * 1994-10-14 1997-05-27 Compaq Computer Corporation System having a plurality of posting queues associated with different types of write operations for selectively checking one queue based upon type of read operation
JP3543181B2 (ja) * 1994-11-09 2004-07-14 株式会社ルネサステクノロジ データ処理装置
US5617557A (en) * 1994-11-14 1997-04-01 Compaq Computer Corporation Using an address pin as a snoop invalidate signal during snoop cycles
US5850534A (en) * 1995-06-05 1998-12-15 Advanced Micro Devices, Inc. Method and apparatus for reducing cache snooping overhead in a multilevel cache system
WO1997006490A1 (en) * 1995-08-09 1997-02-20 Cirrus Logic, Inc. Parasitic personal computer interface
US5884100A (en) * 1996-06-06 1999-03-16 Sun Microsystems, Inc. Low-latency, high-throughput, integrated cache coherent I/O system for a single-chip processor
US5893153A (en) * 1996-08-02 1999-04-06 Sun Microsystems, Inc. Method and apparatus for preventing a race condition and maintaining cache coherency in a processor with integrated cache memory and input/output control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100353656B1 (ko) * 1999-03-31 2002-09-19 인터내셔널 비지네스 머신즈 코포레이션 Dma 및 l1/l2 캐시 성능을 향상시키기 위한 방법, 장치 및 컴퓨터 프로그램 기록 매체

Also Published As

Publication number Publication date
US6345320B1 (en) 2002-02-05

Similar Documents

Publication Publication Date Title
KR100252570B1 (ko) 축소된요구블로킹을갖는캐시메모리
US6353877B1 (en) Performance optimization and system bus duty cycle reduction by I/O bridge partial cache line write
US8301928B2 (en) Automatic wakeup handling on access in shared memory controller
US6012120A (en) Method and apparatus for providing DMA transfers between devices coupled to different host bus bridges
US4912632A (en) Memory control subsystem
US5537575A (en) System for handling cache memory victim data which transfers data from cache to the interface while CPU performs a cache lookup using cache status information
US7398361B2 (en) Combined buffer for snoop, store merging, load miss, and writeback operations
US6021456A (en) Method for communicating interrupt data structure in a multi-processor computer system
JP3289661B2 (ja) キャッシュメモリシステム
JPH11272555A (ja) キャッシュメモリ制御システム
US5269005A (en) Method and apparatus for transferring data within a computer system
US20230214326A1 (en) Computer Memory Expansion Device and Method of Operation
JPH09204403A (ja) 並列計算機
JP3027843B2 (ja) バススヌ−プ方法
US6098115A (en) System for reducing storage access latency with accessing main storage and data bus simultaneously
US5987544A (en) System interface protocol with optional module cache
EP1030243B1 (en) Optimized hardware cleaning function for virtual index virtual tag data cache
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
JPH06309231A (ja) キャッシュメモリ制御方法
JP2001043204A (ja) キャッシュ・メモリ制御装置
JP2002342162A (ja) メモリアクセス制御方式及びホストブリッジ
KR950012735B1 (ko) 이단(Two Level) 캐쉬 메모리의 동질성 보장장치 및 방법
JPH0461384B2 (ja)
JP2003015955A (ja) キャッシュコントローラ及びコンピュータシステム
JPH04102146A (ja) 高性能キャッシュ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060619

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060711

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061114