米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 日本電気株式会社

発明の名称 入出力キャッシュメモリ
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開平8−272687
公開日 平成8年(1996)10月18日
出願番号 特願平7−77461
出願日 平成7年(1995)4月3日
代理人 【弁理士】
【氏名又は名称】京本 直樹 (外2名)
発明者 川上 拓也
要約 目的
入出力キャッシュメモリ上のアクセスされる可能性の少ないデータを優先して無効化し、不必要なキャッシュラインを早期に解放する。

構成
入出力キャッシュメモリ100は、データ部を記憶するデータメモリ110と、アドレスタグ部を記憶するタグメモリ120と、これらデータメモリ110及びタグメモリ120を制御する制御回路130と、入出力装置からのアドレスを保持するアドレスラッチ140と、アドレスラッチ140の保持するアドレスの上位部分とタグメモリ120に記憶されているアドレスとの一致を調べる比較回路150と、アドレスラッチ140により指示されるアドレスがキャッシュラインの最終要素であることを検出する最終検出回路160とを有する。最終検出回路160が最終要素を検出すると、制御回路130は当該エントリを無効化する。
特許請求の範囲
【請求項1】 キャッシュメモリの管理単位であるキャッシュラインの最終要素にアクセスするとそのキャッシュラインを無効化することを特徴とする入出力キャッシュメモリ。
【請求項2】 キャッシュメモリの管理単位であるキャッシュラインの最終要素にアクセスされたことを検出する手段と、この検出する手段によって最終要素にアクセスされた旨を通知されると当該キャッシュラインを無効化する手段とを含むことを特徴とする入出力キャッシュメモリ。
【請求項3】 キャッシュメモリの管理単位であるキャッシュラインをN個(Nは整数)有するデータメモリと、このデータメモリに対応してN個のアドレスタグを有するタグメモリと、与えられたアドレスのタグ部分と一致するアドレスタグを前記タグメモリから検出する比較回路と、この比較回路により一致を検出した場合に前記アドレスがキャッシュラインの最終要素に該当することを検出する最終検出回路と、前記比較回路により一致を検出し、かつ、前記最終検出回路により最終要素を検出した場合には前記キャッシュラインを無効化する制御回路とを含むことを特徴とする入出力キャッシュメモリ。
【請求項4】 記憶装置と入出力装置とを接続する入出力キャッシュメモリにおいて、前記記憶装置の一部を記憶するキャッシュメモリの管理単位であるキャッシュラインをN個(Nは整数)有するデータメモリと、このデータメモリに対応してN個のアドレスタグを有するタグメモリと、前記入出力装置からのアドレスのタグ部分と一致するアドレスタグを前記タグメモリから検出する比較回路と、この比較回路により一致を検出した場合に前記アドレスがキャッシュラインの最終要素に該当することを検出する最終検出回路と、前記比較回路により一致を検出し、かつ、前記最終検出回路により最終要素を検出した場合には前記キャッシュラインを無効化する制御回路とを含むことを特徴とする入出力キャッシュメモリ。
発明の詳細な説明
【0001】
【産業上の利用分野】本発明は、入出力キャッシュメモリに関し、特にシステムバス上の記憶装置の一部を記憶して入出力バス上の入出力装置によってアクセスされる入出力キャッシュメモリに関する。
【0002】
【従来の技術】入出力バスが使用される情報処理システムでは、一般に入出力バスよりも転送幅の広いシステムバスが接続されることが多い。従って、入出力バス上の入出力装置からシステムバス上の記憶装置にアクセスを行う場合には、入出力装置からのメモリアクセス要求に対してその度に記憶装置にアクセスしていてはシステムバスの使用効率が低下してしまう。特に、処理装置を介さないダイレクトメモリアクセス(以下、「DMA」という)においてはその傾向は顕著である。
【0003】このデータ転送効率を向上させるために、入出力装置と記憶装置との間に入出力キャッシュメモリを設けて、要求されたデータを含むアドレス領域のデータをキャッシュメモリの管理単位毎に、すなわちキャッシュラインサイズ分を、記憶装置からまとめて読み出しておく。そして、この入出力キャッシュメモリにヒットする場合には記憶装置にはリクエストを出さないようにして、システムバスの使用効率を向上させ、また、メモリアクセスによるターンアラウンドタイムを短縮させることが行われる。たとえば、特開平2−228745号公報には、複数の入出力装置に共有され記憶装置の内容を記憶する入出力キャッシュメモリの一例が記載されている。
【0004】
【発明が解決しようとする課題】かかる入出力キャッシュメモリにおいては、不要なキャッシュラインを解放するために、DMA転送の終了ごとにのみ当該キャッシュラインの無効化を行っている。
【0005】一方、一般にはある入出力装置からのDMA転送の大部分は記憶装置上の連続するアドレスに対するデータ転送であり、キャッシュライン上の最後のデータがアクセスされた後に、そのキャッシュラインが再びアクセスされる可能性は少ない。しかし、キャッシュラインの無効化を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と、これらデータメモリ110及びタグメモリ120を制御する制御回路130と、入出力装置からのアドレスを保持するアドレスラッチ140と、アドレスラッチ140の保持するアドレスの上位部分とタグメモリ120に記憶されているアドレスとの一致を調べる比較回路150と、アドレスラッチ140により指示されるアドレスがキャッシュラインの最終要素であることを検出する最終検出回路160とを有している。
【0016】データメモリ110とタグメモリ120は同じ数のエントリを有し、各エントリはそれぞれ対応している。すなわち、データメモリ110の第iエントリのデータは、タグメモリ120の第iエントリに記憶されるアドレスタグと関連付けられる。なお、本実施例では説明の便宜のためフルアソシアティブ構成のキャッシュであることを仮定するが、他のセットアソシアティブ構成やダイレクトマップ構成であっても構わない。
【0017】ここで、入出力キャッシュメモリ100の1ライン当たりのサイズを16バイト、入出力装置との転送単位を1バイトとすると、入出力装置から指定されるアドレスは、図2のように表される。すなわち、下位4ビットはライン内アドレスを識別するために使用される。上位の部分はアドレスタグであり、タグメモリ120の各エントリと比較回路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)、入出力装置610から要求された2バイト分のデータを入出力装置610に返送する(ステップ134)。
【0022】一方、アドレスラッチ140に保持されているアドレスのタグ部分がタグメモリ120のいずれかのエントリに記憶されていることを比較回路150で検出すると、制御回路130はキャッシュヒットしたものと判断して(ステップ131)、入出力装置610から要求された1バイト分のデータを入出力装置610に返送する(ステップ135)。そして、最終検出回路160により、該データがライン内の最終要素であることを検出した場合には(ステップ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転送において、使用したライン毎にキャッシュエントリの無効化を行っていくため、再び使用する可能性の少ないエントリを入出力キャッシュメモリ内に残さず、早期に解放することができ、入出力キャッシュメモリの有効な利用を図ることができる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013