JPH08272687A - 入出力キャッシュメモリ - Google Patents

入出力キャッシュメモリ

Info

Publication number
JPH08272687A
JPH08272687A JP7077461A JP7746195A JPH08272687A JP H08272687 A JPH08272687 A JP H08272687A JP 7077461 A JP7077461 A JP 7077461A JP 7746195 A JP7746195 A JP 7746195A JP H08272687 A JPH08272687 A JP H08272687A
Authority
JP
Japan
Prior art keywords
input
memory
address
output
cache
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
JP7077461A
Other languages
English (en)
Inventor
Takuya Kawakami
拓也 川上
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP7077461A priority Critical patent/JPH08272687A/ja
Publication of JPH08272687A publication Critical patent/JPH08272687A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 入出力キャッシュメモリ上のアクセスされる
可能性の少ないデータを優先して無効化し、不必要なキ
ャッシュラインを早期に解放する。 【構成】 入出力キャッシュメモリ100は、データ部
を記憶するデータメモリ110と、アドレスタグ部を記
憶するタグメモリ120と、これらデータメモリ110
及びタグメモリ120を制御する制御回路130と、入
出力装置からのアドレスを保持するアドレスラッチ14
0と、アドレスラッチ140の保持するアドレスの上位
部分とタグメモリ120に記憶されているアドレスとの
一致を調べる比較回路150と、アドレスラッチ140
により指示されるアドレスがキャッシュラインの最終要
素であることを検出する最終検出回路160とを有す
る。最終検出回路160が最終要素を検出すると、制御
回路130は当該エントリを無効化する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入出力キャッシュメモ
リに関し、特にシステムバス上の記憶装置の一部を記憶
して入出力バス上の入出力装置によってアクセスされる
入出力キャッシュメモリに関する。
【0002】
【従来の技術】入出力バスが使用される情報処理システ
ムでは、一般に入出力バスよりも転送幅の広いシステム
バスが接続されることが多い。従って、入出力バス上の
入出力装置からシステムバス上の記憶装置にアクセスを
行う場合には、入出力装置からのメモリアクセス要求に
対してその度に記憶装置にアクセスしていてはシステム
バスの使用効率が低下してしまう。特に、処理装置を介
さないダイレクトメモリアクセス(以下、「DMA」と
いう)においてはその傾向は顕著である。
【0003】このデータ転送効率を向上させるために、
入出力装置と記憶装置との間に入出力キャッシュメモリ
を設けて、要求されたデータを含むアドレス領域のデー
タをキャッシュメモリの管理単位毎に、すなわちキャッ
シュラインサイズ分を、記憶装置からまとめて読み出し
ておく。そして、この入出力キャッシュメモリにヒット
する場合には記憶装置にはリクエストを出さないように
して、システムバスの使用効率を向上させ、また、メモ
リアクセスによるターンアラウンドタイムを短縮させる
ことが行われる。たとえば、特開平2−228745号
公報には、複数の入出力装置に共有され記憶装置の内容
を記憶する入出力キャッシュメモリの一例が記載されて
いる。
【0004】
【発明が解決しようとする課題】かかる入出力キャッシ
ュメモリにおいては、不要なキャッシュラインを解放す
るために、DMA転送の終了ごとにのみ当該キャッシュ
ラインの無効化を行っている。
【0005】一方、一般にはある入出力装置からのDM
A転送の大部分は記憶装置上の連続するアドレスに対す
るデータ転送であり、キャッシュライン上の最後のデー
タがアクセスされた後に、そのキャッシュラインが再び
アクセスされる可能性は少ない。しかし、キャッシュラ
インの無効化をDMA転送終了時にのみ行うこととする
と、再びアクセスする可能性の少ないデータがDMA転
送終了時まで残ってしまうことになる。
【0006】また、複数の速度の異なる入出力装置が並
行してDMA転送を行っている場合には互いに使用中の
キャッシュラインを書き換えてしまい入出力キャッシュ
メモリの有効な利用が図れない。
【0007】本発明の目的は、入出力キャッシュメモリ
上のアクセスされる可能性の少ないデータを優先して無
効化し、不必要なキャッシュラインを早期に解放するこ
とにある。
【0008】また、本発明の他の目的は、DMA転送終
了時の処理装置による入出力キャッシュメモリのキャッ
シュラインの無効化指令を不要にすることにある。
【0009】
【課題を解決するための手段】上記課題を解決するため
に本発明の入出力キャッシュメモリは、キャッシュライ
ンの最終要素にアクセスするとそのキャッシュラインを
無効化する。
【0010】また、本発明の他の入出力キャッシュメモ
リは、キャッシュラインの最終要素にアクセスされたこ
とを検出する手段と、この検出する手段によって最終要
素にアクセスされた旨を通知されると当該キャッシュラ
インを無効化する手段とを含む。
【0011】また、本発明の他の入出力キャッシュメモ
リは、N個(Nは整数)のキャッシュラインを有するデ
ータメモリと、このデータメモリに対応してN個のアド
レスタグを有するタグメモリと、与えられたアドレスの
タグ部分と一致するアドレスタグを前記タグメモリから
検出する比較回路と、この比較回路により一致を検出し
た場合に前記アドレスがキャッシュラインの最終要素に
該当することを検出する最終検出回路と、前記比較回路
により一致を検出し、かつ、前記最終検出回路により最
終要素を検出した場合には前記キャッシュラインを無効
化する制御回路とを含む。
【0012】また、本発明の他の入出力キャッシュメモ
リは、記憶装置と入出力装置とを接続する入出力キャッ
シュメモリにおいて、前記記憶装置の一部を記憶するN
個(Nは整数)のキャッシュラインを有するデータメモ
リと、このデータメモリに対応してN個のアドレスタグ
を有するタグメモリと、前記入出力装置からのアドレス
のタグ部分と一致するアドレスタグを前記タグメモリか
ら検出する比較回路と、この比較回路により一致を検出
した場合に前記アドレスがキャッシュラインの最終要素
に該当することを検出する最終検出回路と、前記比較回
路により一致を検出し、かつ、前記最終検出回路により
最終要素を検出した場合には前記キャッシュラインを無
効化する制御回路とを含む。
【0013】
【実施例】次に本発明の入出力キャッシュメモリの一実
施例について図面を参照して詳細に説明する。
【0014】図1を参照すると、本発明の一実施例であ
る入出力キャッシュメモリ100は、処理装置300と
記憶装置400を接続するシステムバス200と、入出
力装置610及び620を接続する入出力バス500と
の間に設けられる。入出力装置610又は620は、処
理装置300からのDMA転送命令を受け取ると、入出
力キャッシュメモリ100にアクセスして、ヒットすれ
ばこの入出力キャッシュメモリ100に対するデータの
転送を行う。
【0015】入出力キャッシュメモリ100は、データ
部を記憶するデータメモリ110と、アドレスタグ部を
記憶するタグメモリ120と、これらデータメモリ11
0及びタグメモリ120を制御する制御回路130と、
入出力装置からのアドレスを保持するアドレスラッチ1
40と、アドレスラッチ140の保持するアドレスの上
位部分とタグメモリ120に記憶されているアドレスと
の一致を調べる比較回路150と、アドレスラッチ14
0により指示されるアドレスがキャッシュラインの最終
要素であることを検出する最終検出回路160とを有し
ている。
【0016】データメモリ110とタグメモリ120は
同じ数のエントリを有し、各エントリはそれぞれ対応し
ている。すなわち、データメモリ110の第iエントリ
のデータは、タグメモリ120の第iエントリに記憶さ
れるアドレスタグと関連付けられる。なお、本実施例で
は説明の便宜のためフルアソシアティブ構成のキャッシ
ュであることを仮定するが、他のセットアソシアティブ
構成やダイレクトマップ構成であっても構わない。
【0017】ここで、入出力キャッシュメモリ100の
1ライン当たりのサイズを16バイト、入出力装置との
転送単位を1バイトとすると、入出力装置から指定され
るアドレスは、図2のように表される。すなわち、下位
4ビットはライン内アドレスを識別するために使用され
る。上位の部分はアドレスタグであり、タグメモリ12
0の各エントリと比較回路150によって比較される。
【0018】比較回路150は、エントリ数に応じた数
の比較器を有し、アドレスラッチ140のタグ部分と一
致するアドレスタグがタグメモリ120内に記憶されて
いるかを検出し、記憶されていればそのエントリ位置を
特定して、ヒット信号として信号線151により制御回
路130に通知する。
【0019】また、最終検出回路160は、アドレスラ
ッチ140に保持されているアドレスから、そのアドレ
スがラインの最終要素に該当するものか否かを判断す
る。本実施例では上述のように転送単位を1バイトと過
程しているため、最終要素とは最後の1バイトを意味す
る。すなわち、この最終要素とは転送単位で区切った場
合の最後の転送単位をいう。図2のライン内アドレス
は、第1番目の要素には2進数表示で”0000”、第
2番目の要素には”0001”、....、第16番目の要
素には”1111”が与えられることになる。従って、
最終要素たる第16番目の要素は、ライン内アドレスが
オールゼロであることを検出すればよいことになる。こ
れにより、最終検出回路160は例えば4入力の論理積
回路により実現することができる。
【0020】次に本発明の入出力キャッシュメモリの上
記一実施例の動作について図面を参照して説明する。
【0021】図3を参照すると、入出力バス500上の
入出力装置610からシステムバス200上の記憶装置
400へのリードリクエストを受け取ると、入出力キャ
ッシュメモリ100内の制御回路130は、以下のよう
に動作する。まず、アドレスラッチ140に保持されて
いるアドレスのタグ部分がタグメモリ120のいずれか
のエントリにも記憶されていないことを比較回路150
で検出すると、制御回路130はキャッシュミスヒット
したものと判断して(ステップ131)、システムバス
200を介して記憶装置400から該当するラインにつ
いて読み出しを行う(ステップ132)。そして、1ラ
インに相当する64バイト分のデータをキャッシュメモ
リに取り込むと共に(ステップ133)、入出力装置6
10から要求された2バイト分のデータを入出力装置6
10に返送する(ステップ134)。
【0022】一方、アドレスラッチ140に保持されて
いるアドレスのタグ部分がタグメモリ120のいずれか
のエントリに記憶されていることを比較回路150で検
出すると、制御回路130はキャッシュヒットしたもの
と判断して(ステップ131)、入出力装置610から
要求された1バイト分のデータを入出力装置610に返
送する(ステップ135)。そして、最終検出回路16
0により、該データがライン内の最終要素であることを
検出した場合には(ステップ136)、当該ラインを無
効化する(ステップ137)。
【0023】図4を参照すると、入出力バス500上の
入出力装置610からシステムバス200上の記憶装置
400へのDMA転送を行う場合、最初のアクセスのア
ドレス0は、アドレスラッチ140に保持されると共
に、比較回路150によりキャッシュヒットかミスヒッ
トかが判断され、ここではミスヒットであったと仮定す
る。これにより、システムバス200に当該リクエスト
のアドレス0が伝えられ、記憶装置400からのデータ
が入出力バス500に返送される。以下、このアドレス
0が当該ラインの最初の要素であると仮定する。
【0024】そして、次のアドレス1が入力されると、
アドレス0により読み込まれたエントリにヒットするた
め、キャッシュヒット信号151がアクティブになる。
従って、このアドレス1については記憶装置400にア
クセスせずにデータメモリ110からデータが返送され
る。この後、順次アドレス2、アドレス3からアドレス
14まで、アドレス1の場合と同様にアクセスが行われ
る。アドレス15が入力されると、キャッシュヒット信
号151がアクティブであることは上記と同様である
が、この場合キャッシュラインの最終要素であることか
ら最終検出信号161がアクティブになる。これによ
り、アドレス0により読み込まれたラインが無効化され
る。
【0025】このように、本発明の一実施例である入出
力キャッシュメモリによれば、DMA転送において、ラ
インの最終要素である旨を最終検出回路160で検出す
ることにより、制御回路130を通じて入出力キャッシ
ュメモリの当該キャッシュエントリの無効化を行うた
め、再び使用する可能性の少ないエントリを入出力キャ
ッシュメモリ内に残さず、早期に解放することができ
る。
【0026】
【発明の効果】以上の説明で明らかなように、本発明に
よると、DMA転送において、使用したライン毎にキャ
ッシュエントリの無効化を行っていくため、再び使用す
る可能性の少ないエントリを入出力キャッシュメモリ内
に残さず、早期に解放することができ、入出力キャッシ
ュメモリの有効な利用を図ることができる。
【図面の簡単な説明】
【図1】本発明の入出力キャッシュメモリの一実施例の
構成を示すブロック図である。
【図2】本発明の一実施例の入出力キャッシュメモリに
おけるアドレスフィールドを示す図である。
【図3】本発明の一実施例における制御回路の動作を表
すフローチャートである。
【図4】本発明の一実施例の入出力キャッシュメモリの
動作を表すタイムチャートである。
【符号の説明】
100 入出力キャッシュメモリ 110 データメモリ 120 タグメモリ 130 制御回路 140 アドレスラッチ 150 比較回路 160 最終検出回路 200 システムバス 300 処理装置 400 記憶装置 500 入出力バス 610,620 入出力装置

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュメモリの管理単位であるキャ
    ッシュラインの最終要素にアクセスするとそのキャッシ
    ュラインを無効化することを特徴とする入出力キャッシ
    ュメモリ。
  2. 【請求項2】 キャッシュメモリの管理単位であるキャ
    ッシュラインの最終要素にアクセスされたことを検出す
    る手段と、 この検出する手段によって最終要素にアクセスされた旨
    を通知されると当該キャッシュラインを無効化する手段
    とを含むことを特徴とする入出力キャッシュメモリ。
  3. 【請求項3】 キャッシュメモリの管理単位であるキャ
    ッシュラインをN個(Nは整数)有するデータメモリ
    と、 このデータメモリに対応してN個のアドレスタグを有す
    るタグメモリと、 与えられたアドレスのタグ部分と一致するアドレスタグ
    を前記タグメモリから検出する比較回路と、 この比較回路により一致を検出した場合に前記アドレス
    がキャッシュラインの最終要素に該当することを検出す
    る最終検出回路と、 前記比較回路により一致を検出し、かつ、前記最終検出
    回路により最終要素を検出した場合には前記キャッシュ
    ラインを無効化する制御回路とを含むことを特徴とする
    入出力キャッシュメモリ。
  4. 【請求項4】 記憶装置と入出力装置とを接続する入出
    力キャッシュメモリにおいて、 前記記憶装置の一部を記憶するキャッシュメモリの管理
    単位であるキャッシュラインをN個(Nは整数)有する
    データメモリと、 このデータメモリに対応してN個のアドレスタグを有す
    るタグメモリと、 前記入出力装置からのアドレスのタグ部分と一致するア
    ドレスタグを前記タグメモリから検出する比較回路と、 この比較回路により一致を検出した場合に前記アドレス
    がキャッシュラインの最終要素に該当することを検出す
    る最終検出回路と、 前記比較回路により一致を検出し、かつ、前記最終検出
    回路により最終要素を検出した場合には前記キャッシュ
    ラインを無効化する制御回路とを含むことを特徴とする
    入出力キャッシュメモリ。
JP7077461A 1995-04-03 1995-04-03 入出力キャッシュメモリ Pending JPH08272687A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7077461A JPH08272687A (ja) 1995-04-03 1995-04-03 入出力キャッシュメモリ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7077461A JPH08272687A (ja) 1995-04-03 1995-04-03 入出力キャッシュメモリ

Publications (1)

Publication Number Publication Date
JPH08272687A true JPH08272687A (ja) 1996-10-18

Family

ID=13634657

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7077461A Pending JPH08272687A (ja) 1995-04-03 1995-04-03 入出力キャッシュメモリ

Country Status (1)

Country Link
JP (1) JPH08272687A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006501568A (ja) * 2002-09-30 2006-01-12 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド キャッシュを備えたデータ処理システムのオーバーヘッドを小さくするための方法及び装置
JP2006520045A (ja) * 2003-03-06 2006-08-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ プリフェッチ手段を備えるデータ処理システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02112039A (ja) * 1988-10-21 1990-04-24 Nec Corp バッファ記憶装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02112039A (ja) * 1988-10-21 1990-04-24 Nec Corp バッファ記憶装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006501568A (ja) * 2002-09-30 2006-01-12 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド キャッシュを備えたデータ処理システムのオーバーヘッドを小さくするための方法及び装置
JP2006520045A (ja) * 2003-03-06 2006-08-31 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ プリフェッチ手段を備えるデータ処理システム

Similar Documents

Publication Publication Date Title
US7613884B2 (en) Multiprocessor system and method ensuring coherency between a main memory and a cache memory
JPH0668735B2 (ja) キヤツシユメモリ−
US20040128450A1 (en) Implementing direct access caches in coherent multiprocessors
JP2818415B2 (ja) バッファ記憶装置
KR100851738B1 (ko) 로우-레벨 캐시를 포함한 액세스 촉진용 리버스 디렉토리
JPH03225542A (ja) データ記憶方法及びビットエンコードデータの処理回路
JPH0695972A (ja) ディジタルコンピュータシステム
JPH04336641A (ja) 処理システムにおける使用のためのデータキャッシュおよび方法
JPH08272687A (ja) 入出力キャッシュメモリ
US4737908A (en) Buffer memory control system
JPH0756808A (ja) データキャッシュバッファ及び記憶方法
US6078971A (en) Input/output buffer and method for invalidating transferred data in direct memory access transfer
JPH02308349A (ja) バッファ記憶制御装置
JPH02110646A (ja) メモリの先行読出し装置
US6397304B1 (en) Method and apparatus for improving system performance in multiprocessor systems
JP2976980B2 (ja) キャッシュ制御方式
JPH06187239A (ja) 多階層キャッシュメモリにおけるデータ一致制御方式
JPH03230238A (ja) キャッシュメモリ制御方式
JPH05158793A (ja) 並列キャッシュメモリ
JP3437224B2 (ja) 遅延無効化方式
JPS62266634A (ja) キヤツシユメモリのアクセス制御回路
JP3047992B2 (ja) 主記憶キー制御方法
JPH0895855A (ja) 演算処理システムに用いられるプリフェッチバッファ装置
JPH10207773A (ja) バス接続装置
JPH01307849A (ja) データアクセス装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19991109