JP2580263B2 - バッファ記憶装置 - Google Patents
バッファ記憶装置Info
- Publication number
- JP2580263B2 JP2580263B2 JP63162095A JP16209588A JP2580263B2 JP 2580263 B2 JP2580263 B2 JP 2580263B2 JP 63162095 A JP63162095 A JP 63162095A JP 16209588 A JP16209588 A JP 16209588A JP 2580263 B2 JP2580263 B2 JP 2580263B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- block
- buffer
- mpu
- 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
Links
- 238000012546 transfer Methods 0.000 claims description 34
- 239000004065 semiconductor Substances 0.000 claims description 2
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 108010074506 Transfer Factor Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
の制御方式に適用して特に有効な技術に関し、例えばバ
ッファ記憶方式を採用した情報処理システムにおけるキ
ャッシュメモリに利用して有効な技術に関する。
ータにおいて、ダイナミックRAM等からなる主記憶装置
内の情報のうち使用頻度の高いものをキャッシュメモリ
内に入れておいて、これをキャッシュ・コントローラと
呼ばれる記憶管理装置によって制御して、スループット
を向上させるようにされているものがある。
(以下、MPUと称する)から出力されるアドレスによっ
てアクセスされ、所望のデータがキャッシュメモリ内に
あると、つまりキャッシュがヒットすると、MPUが直ち
にデータを得ることができるため、システムのスループ
ットが向上される。キャッシュ・コントローラは、MPU
から出力されるアドレスを内部のアドレス(タグ)と比
較して、所望のデータがキャッシュメモリにないと判定
すると、ミスヒットを示す信号を出力する。すると、MP
Uがメインメモリをアクセスしてメインメモリからデー
タを得るようになっている。
と直ちにキャッシュメモリ内のデータの書換えを行なう
ので、このときメインメモリ内のデータとの不一致が生
じる。そこで、キャッシュメモリ内のデータの書換えが
あった場合にはメインメモリ内のデータも書き換えてや
る必要がある。この場合のメインメモリの書換え方式と
して、キャッシュメモリ内の書込みのあったブロックの
置換の際にメインメモリの更新を行なうコピーバック方
式と、キャッシュメモリへの書込みがあればすぐにメイ
ンメモリも更新するライトスルー方式がある。このう
ち、コピーバック方式においては、メインメモリの更新
はキャッシュメモリからメインメモリに対するデータの
ブロック転送によって行なわれる。また、ミスヒット時
のブロックの置換も、メインメモリからキャッシュメモ
リへのブロック転送によって行なわれる(日経マグロウ
ヒル社発行、「日経エレクトロニクス」1987年11月16日
号、第170、170頁参照)。
送の単位となるブロックの大きさは、1回に転送可能な
データ(32ビットマイコンで1ワードつまり4バイト単
位)よりも大きく、例えば32バイトのような単位に設定
されている。
終了する。しかるに、従来のキャッシュメモリにおいて
は1ワード分のバッファを介してメインメモリとの間の
ブロック転送を行なっているにすぎなかった。そのた
め、ブロック転送中データメモリ部がメインメモリによ
って占有され、MPUがデータメモリ部内のデータが必要
になっても読み出すことができず、転送が終了するまで
待たされることになり、システムのスループットが低下
するという問題点があった。
間のブロック転送中においてもMPUによってデータメモ
リ部をアクセスできるようにしてMPUの待ち時間を減少
させ、もってシステムのスループットを向上させること
にある。
ータメモリ部からデータを読み出すよりも早く所望のデ
ータを得ることができるようにしてシステムのスループ
ットを向上させることにある。
については、本明細書の記述および添附図面から明らか
になるであろう。
要を説明すれば、下記のとおりである。
タメモリ部との間に1ブロック分のデータを一度に格納
可能なデータバッファ(以下ブロックバッファと称す
る)を設け、このブロックバッファとデータメモリ部と
の間のデータの転送をキャッシュメモリとメインメモリ
との間のデータの転送よりも大きな単位で行なうように
構成しておくものである。
ジスタで構成するとともに、MPUが要求するデータが該
ブロックバッファ内にあるか否か判定する判定手段を設
けるようにするものである。
るいはメインメモリから転送されてきたデータを1ブロ
ック分まとめてブロックバッファ内に入れておくことに
より、キャッシュメモリとメインメモリ間のブロック転
送中においてもMPUによってデータメモリ部をアクセス
できるようにしてMPUの待ち時間を減少させ、もってシ
ステムのスループットを向上させるという上記目的を達
成することができる。
前に、ブロックバッファ内にデータがあるか否か知るこ
とができるとともに、キャッシュメモリがデュアルポー
ト構成であるためキャッシュメモリとメインメモリ間の
データブロック転送中においてもMPUがブロックバッフ
ァからデータを読み出すことができるようになり、スル
ープットを向上させるという上記目的を達成することが
できる。
キャッシュメモリに適用した場合の一実施例が、また第
2図にはこのキャッシュメモリを用いたマイクロプロセ
ッサーユニットシステムの構成例が示されている。
れ、一つの半導体基板上にディレクトリメモリ11とデー
タメモリ12とLRU(Least Recently Used)方式のブロッ
ク置換制御回路13、タグ比較器14、書込みアドレスおよ
び書込みデータを一時的に保持するラインバッファ15、
およびこれらの回路を制御するコントロールロジック16
等が形成されている。そして、このキャッシュメモリ1
は第2図に示すようにメインメモリ3が接続されたメモ
リバス21とMPUバス22との間に接続される。この実施例
では、上記データメモリ12と内部データバス17bとの間
に、例えば1ブロックが16バイトで構成されているデー
タを格納可能なデュアルポートのレジスタからなるブロ
ックバッファ18が設けられている。データメモリ12から
読み出されたデータを直接内部データバス17b上へ出力
するためのパス19も設けられている。
同一カラム位置に入っているデータのメインメモリ上で
のアドレスの上位10数ビットがタグとして格納されてい
る。MPU2よりキャッシュメモリ1に与えられたアドレス
ADのうちカラムアドレス部CLMが、ディレクトリメモリ1
1とデータメモリ12の共通のデコーダに供給されると、
各メモリの同一カラムからアドレスタグとデータが同時
に読み出される。このうちデータメモリ12からは16バイ
トのデータが一度に読み出されるように構成されてお
り、読み出されたデータは一旦ブロックバッファ18に格
納される。データメモリ12とブロックバッファ18との間
のデータ転送は特に制限されないが、16バイト単位で行
なわれる。
スタグはタグ比較器14に供給される。このタグ比較器14
には、MPU2から与えられたアドレスADのうちタグ部TAG
のデータも供給されており、ディレクトリメモリ11から
読み出されたタグと比較し、一致(キャッシュヒット)
または不一致(ミスヒット)を示す信号CHが出力され
る。
対応するカラム位置から読み出されてブロックバッファ
18に保持されている16バイトのデータのうち、アドレス
の下位2ビットにより指定される1ワード(4バイト)
のデータがセレクタ(図示省略)によって選択され、デ
ータバス17bを介してMPUへ供給される。一方、ミスヒッ
トが生じると、内部アドレスバス17aおよび内部データ
バス17bを介してMPUバス22とメモリバス21とが接続さ
れ、MPU2がメモリバス21を使用してメインメモリ3を直
接アクセスするようになっている。また、データ書込み
の際にミスヒットが生じると、ライトバッファ15に保持
されているアドレスとデータがメモリバス21上に出力さ
れる。
Oレジスタ6が、またシステムバスアダプタ7を介して
画像データ用フレームバッファ31、ファイルコントロー
ラ32およびDMAコントローラ33等が接続されている。ま
た、キャッシュメモリ1とメインメモリ3との間のデー
タ転送を制御するため、メインストレージコントロール
回路4が設けられている。
クトリメモリ11の各カラムごとに1ビットずつ、MPUが
要求するデータがメインメモリからキャッシュメモリへ
ブロック転送中であるか否か示す転送ビットBTが設けら
れている。また、ブロックバッファ18内には各ワードご
とに対応するデータが有効か否か示すビットBBVが設け
られている。
ック16によって監視され、データの転送制御に反映され
るとともに、コントロールロジック16がデータの流れに
応じて上記ビットBT,BBVの書換えを行なう。
比較の結果、キャッシュヒットした場合には対応するカ
ラム位置のビットBTを調べて、BTが“0"ならば所望のデ
ータがデータメモリ12内にあるので、データメモリ内の
データをデータバス17b上へ出力し、キャッシュヒット
信号をMPUへ返す。
ならば、所望のデータはブロックバッファ18内にあるの
で、ブロックバッファ18内のビットBBVを調べて所望の
ワードデータが有効か否か知り、BBVが“1"のときには
そのデータをデータバス17b上へ出力し、キャッシュヒ
ット信号をMPUへ返す。BBVが“0"のときは、メインメモ
リからのデータの転送によりBBVが“1"になるまで待
ち、“1"になった時点でそのワードデータをデータバス
17b上に出力してキャッシュヒット信号をMPUに返し、MP
Uがそれを取込む。
転送要因が発生すると先ずディレクトリメモリ11内の対
応するビットBTに“1"を立ててからデータの転送を開始
し、その転送状態に応じてブロックバッファ18内のビッ
トBBVに“1"を立て、すべてのBBVビットが“1"になった
時点でブロックバッファ18内のデータをメインメモリ3
またはデータメモリ12へ転送する。そして、転送が終了
すると、ビットBBVおよびデータメモリ11内の対応する
ビットBTを“0"にリセットする。
トが発生した場合におけるアドレスとデータの流れが制
御手順に従って示されている。ただし、ここでは1ブロ
ックすなわち連続して転送されるデータ量が16バイトで
ある場合が示されている。
ンメモリMMにアドレスが渡される(第3図(A))。こ
のアドレスで指定されるデータが、あるブロックBi内の
3番目のデータCであった場合、先ずメインメモリMMか
らそのデータCが読み出されてブロックバッファBB内に
格納され、対応するBBVビットに“1"が立てられるとと
もに、メインメモリMMから読み出されたデータはそのま
ま内部データバス17bを介してMPUに送られる(第3図
(B))。
ックBiに属する他のデータD,A,Bが4バイト単位で順に
読み出され、ブロックバッファBB内に格納される。
るデータAをMPUが要求したとすると、ブロック転送と
は無関係にブロックバッファBBからデータAが読み出さ
れてMPUに送られる(第3図(C))。所望のデータが
データメモリ12内にあるときもブロック転送と無関係に
読出しができる。
てのデータA,B,C,DがブロックバッファBB内に揃った時
点で、16バイトのデータが同時に(並列に)データアレ
イ(データメモリ)DAへ転送される(第3図(D))。
いても、MPUがキャッシュメモリ内にあるデータについ
てはいつでも必要なときに読み出すことができる。
ーが一部のキャッシュ領域についてはLRU方式の置換対
象から外すつまり、常にあるデータについてはそれをキ
ャッシュメモリ上に置いておくように指定することがで
きるようにされている。この場合に、コピーバック方式
を採用するとその指定された領域についてはブロック置
換がないので、周期的もしくは指定領域がデータで満た
されたときにその内容をメインメモリに送って、データ
の一致を確保してやる必要がある。
非同期に発生するが、上記実施例のキャッシュメモリは
ブロックバッファを有しているため、スループットを低
下させずにキャッシュメモリ内の所定の領域内のデータ
をメインメモリへブロック転送することができる。
メモリに対してデータのブロック転送中であることを示
すビットBTをディレクトリメモリに設けているが、キャ
ッシュメモリからメインメモリに対してデータのブロッ
ク転送中であることを示すビットをディレクトリメモリ
に設けるようにしてもよい。
ュメモリの内部データバスとデータメモリ部との間に1
ブロック分のデータを一度に格納可能なブロックバッフ
ァを設け、このブロックバッファとデータアレイ部との
間のデータの転送をキャッシュメモリとメインメモリと
の間のデータ転送よりも大きな単位で行なうように構成
しておくようにしたので、メインメモリへ転送すべきあ
るいはメインメモリから転送されてきたデータを1ブロ
ック分まとめてブロックバッファ内に入れておくことに
より、キャッシュメモリとメインメモリ間のブロック転
送中においてもMPUがデータメモリ部をアクセスできる
ようになり、これによってMPUの待ち時間が減少され、
システムのスループットが向上するという効果がある。
スタで構成するとともに、MPUが要求するデータが該ブ
ロックバッファ内にあるか否か判定する判定手段を設け
るようにしたので、キャッシュのヒット/ミスヒットの
判定が出る前に、ブロックバッファ内にデータがあるか
否か知ることができるとともに、キャッシュメモリがデ
ュアルポートであるためキャッシュメモリをメインメモ
リ間のデータブロック転送中においてもMPUがブロック
バッファからデータを読み出すことができ、これによっ
て、MPUがキャッシュメモリのデータアレイ部からデー
タを読み出すよりも早く所望のデータを得ることができ
るようになりシステムのスループットが向上するという
効果がある。
具体的に説明したが、本発明は上記実施例に限定される
ものではなく、その要旨を逸脱しない範囲で種々変更可
能であることはいうまでもない。例えば、キャッシュメ
モリ内のライトバッファを省略したり、パリティチェッ
カあるいはデータメモリにリード/ライトされるデータ
をブロック単位で保持するバッファ等種々の機能回路を
付加するようにしてもよい。
明をその背景となった利用分野であるキャッシュメモリ
に適用したものについて説明したが、この発明はそれに
限定されず、通信用バッファメモリや画像用フィールド
メモリその他のバッファ記憶装置一般に利用することが
できる。
って得られる効果を簡単に説明すれば下記のとおりであ
る。
ック転送中いおいてもMPUによってデータアレイ部をア
クセスできるようにしてMPUの待ち時間を減少させると
ともに、MPUがキャッシュメモリのデータアレイ部から
データを読み出すよりも早く所望のデータを得ることが
できるようにし、もってシステムのスループットを向上
させることができる。
一実施例を示すブロック図、 第2図は、そのキャッシュメモリを使用したマイクロプ
ロセッサーユニットシステムの構成例を示すシステム構
成図、 第3図はキャッシュメモリのミスヒットが発生した後の
アドレスとデータの流れの順序を示す説明図である。 1……キャッシュメモリ、2……MPU(マイクロプロセ
ッサーユニット)、3……メインメモリ、11……ディレ
クトリメモリ、12……データメモリ、14……タグ比較
器、15……ライトバッファ、17a……内部アドレスバ
ス、17b……内部データバス、18……ブロックバッフ
ァ、21……メモリバス、22……MPUバス、23……システ
ムバス。
Claims (1)
- 【請求項1】アドレスタグが格納されるディレクトリメ
モリ部と、該ディレクトリメモリ部に格納されたアドレ
スタグに対応したデータがデータバスを介して格納可能
なデータメモリ部とを備え一つの半導体基板上に形成さ
れたバッファ記憶装置において、 上記データメモリ部とデータバスとの間に、一連の動作
で連続して転送される1ブロック分のデータを一度に格
納可能な記憶容量を有しかつ上記データメモリ部からデ
ータバスおよびデータバスからデータメモリ部の双方向
にデータを転送可能なデータバッファを設け、このデー
タバッファと上記データメモリ部との間の並列データ転
送を、上記データバスを介した上記データメモリ部と外
部メモリとの間の並列データ転送よりも大きなバイト単
位で行なうように構成されてなることを特徴とするバッ
ファ記憶装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63162095A JP2580263B2 (ja) | 1988-06-28 | 1988-06-28 | バッファ記憶装置 |
KR1019890007950A KR970000837B1 (ko) | 1988-06-10 | 1989-06-09 | 싱글칩형 캐시메모리 |
KR94011054A KR970000839B1 (en) | 1988-06-10 | 1994-05-20 | Memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63162095A JP2580263B2 (ja) | 1988-06-28 | 1988-06-28 | バッファ記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0210446A JPH0210446A (ja) | 1990-01-16 |
JP2580263B2 true JP2580263B2 (ja) | 1997-02-12 |
Family
ID=15747977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63162095A Expired - Lifetime JP2580263B2 (ja) | 1988-06-10 | 1988-06-28 | バッファ記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2580263B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5019965A (en) * | 1989-02-03 | 1991-05-28 | Digital Equipment Corporation | Method and apparatus for increasing the data storage rate of a computer system having a predefined data path width |
JPH03226850A (ja) * | 1990-01-31 | 1991-10-07 | Nec Corp | 外部補助記憶制御装置 |
JPH03252744A (ja) * | 1990-03-01 | 1991-11-12 | Nec Corp | ストリングデータ書込み制御回路 |
JPH03288245A (ja) * | 1990-04-03 | 1991-12-18 | Mitsubishi Electric Corp | データ処理装置 |
EP0473804A1 (en) * | 1990-09-03 | 1992-03-11 | International Business Machines Corporation | Alignment of line elements for memory to cache data transfer |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56117384A (en) * | 1980-02-20 | 1981-09-14 | Nec Corp | Cash controller |
JPS61103235A (ja) * | 1984-10-26 | 1986-05-21 | Mitsubishi Electric Corp | 磁気デイスクコントロ−ル装置 |
JPS62123521A (ja) * | 1985-11-25 | 1987-06-04 | Nec Corp | フロツピイデイスク装置のバツフアメモリ制御方式 |
JPS62248049A (ja) * | 1986-04-22 | 1987-10-29 | Nec Corp | バツフア記憶装置 |
-
1988
- 1988-06-28 JP JP63162095A patent/JP2580263B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0210446A (ja) | 1990-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5717898A (en) | Cache coherency mechanism for multiprocessor computer systems | |
US5526509A (en) | Method and apparatus for controlling one or more hierarchical memories using a virtual storage scheme and physical to virtual address translation | |
US5832534A (en) | Method and apparatus for maintaining cache coherency using a single controller for multiple cache memories | |
US4736293A (en) | Interleaved set-associative memory | |
US5249284A (en) | Method and system for maintaining data coherency between main and cache memories | |
JP3289661B2 (ja) | キャッシュメモリシステム | |
US5561783A (en) | Dynamic cache coherency method and apparatus using both write-back and write-through operations | |
US5701503A (en) | Method and apparatus for transferring information between a processor and a memory system | |
US5287482A (en) | Input/output cache | |
JP3886189B2 (ja) | バースト可でキャッシュ不可のメモリアクセスを支援するマイクロプロセッサ装置 | |
EP0470739B1 (en) | Method for managing a cache memory system | |
US5293622A (en) | Computer system with input/output cache | |
JP2580263B2 (ja) | バッファ記憶装置 | |
EP0535701A1 (en) | Architecture and method for combining static cache memory and dynamic main memory on the same chip (CDRAM) | |
US5749092A (en) | Method and apparatus for using a direct memory access unit and a data cache unit in a microprocessor | |
JPH02213960A (ja) | キャッシュメモリ | |
KR920005296B1 (ko) | 정보처리장치 | |
JPS6329297B2 (ja) | ||
JPH02110646A (ja) | メモリの先行読出し装置 | |
JP2976980B2 (ja) | キャッシュ制御方式 | |
JPH06103477B2 (ja) | 並列キャッシュメモリ | |
US20030101280A1 (en) | Fast jump address algorithm | |
JP2680293B2 (ja) | データ処理装置及びキャッシュメモリ制御方法 | |
JPH04195563A (ja) | メモリシステムの制御装置 | |
JP2001229074A (ja) | メモリ制御装置と情報処理装置及びメモリ制御チップ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071121 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081121 Year of fee payment: 12 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081121 Year of fee payment: 12 |