JPH0261737A - 記憶装置 - Google Patents
記憶装置Info
- Publication number
- JPH0261737A JPH0261737A JP63212626A JP21262688A JPH0261737A JP H0261737 A JPH0261737 A JP H0261737A JP 63212626 A JP63212626 A JP 63212626A JP 21262688 A JP21262688 A JP 21262688A JP H0261737 A JPH0261737 A JP H0261737A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- transfer
- block
- buffer
- 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
Links
- 230000015654 memory Effects 0.000 claims abstract description 124
- 230000009977 dual effect Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 101150070189 CIN3 gene Proteins 0.000 description 1
- 108010074506 Transfer Factor Proteins 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野コ
この発明は、記憶管理技術さらにはバッファ記憶装置の
制御方式に適用して特に有効な技術に関し1例えばバッ
ファ記憶方式を採用した情報処理システムにおけるキャ
ッシュメモリに利用して有効な技術に関する。
制御方式に適用して特に有効な技術に関し1例えばバッ
ファ記憶方式を採用した情報処理システムにおけるキャ
ッシュメモリに利用して有効な技術に関する。
[従来の技術]
従来、バッファ記憶方式を採用したマイクロコンピュー
タにおいて、ダイナミックRAM等からなる主記憶装置
内の情報のうち使用頻度の高いものをキャッシュメモリ
内に入れておいて、これをキャッシュ・コントローラと
呼ばれる記憶管理装置によって制御して、スループット
を向上させるようにされているものがある。
タにおいて、ダイナミックRAM等からなる主記憶装置
内の情報のうち使用頻度の高いものをキャッシュメモリ
内に入れておいて、これをキャッシュ・コントローラと
呼ばれる記憶管理装置によって制御して、スループット
を向上させるようにされているものがある。
キャッシュメモリは、マイクロプロセッサ−ユニット(
以下、MPUと称する)から出力されるアドレスによっ
てアクセスされ、所望のデータがキャッシュメモリ内に
あると、つまりキャッシュがヒツトすると、M P U
が直ちにデータを得ることができるため、システムのス
ループットが向上される。
以下、MPUと称する)から出力されるアドレスによっ
てアクセスされ、所望のデータがキャッシュメモリ内に
あると、つまりキャッシュがヒツトすると、M P U
が直ちにデータを得ることができるため、システムのス
ループットが向上される。
キャッシュ・コントローラは、MPUから出力されるア
ドレスを内部のアドレス(タグ)と比較して、所望のデ
ータがキャッシュメモリにないと判定すると、ミスヒン
トを示す信号を出力する。
ドレスを内部のアドレス(タグ)と比較して、所望のデ
ータがキャッシュメモリにないと判定すると、ミスヒン
トを示す信号を出力する。
すると、MPUがメインメモリをアクセスしてメインメ
モリからデータを得るようになっている(日経マグロウ
ヒル社発行、「日経エレクトロニクスJ 1987年1
1月16日号、第170.170頁参照)。
モリからデータを得るようになっている(日経マグロウ
ヒル社発行、「日経エレクトロニクスJ 1987年1
1月16日号、第170.170頁参照)。
[発明が解決しようとする課題]
上記データ転送の単位は、1回に転送可能なデータ幅(
32ビットマイコンで1ワードつまり4バイト単位)の
みの場合もあるし、それよりも大きく、例えば32バイ
トのような単位(以下ブロック転送と称す)に設定され
ることもある。
32ビットマイコンで1ワードつまり4バイト単位)の
みの場合もあるし、それよりも大きく、例えば32バイ
トのような単位(以下ブロック転送と称す)に設定され
ることもある。
従って、ブロック転送は複数回のデータ転送によって終
了する。しかるに、従来のキャッシュメモリにおいては
1ワ一ド分のバッファを介してメインメモリとの間のブ
ロック転送を行なっているにすぎなかった。そのため、
ブロック転送中データメモリ部がメインメモリによって
占有され、MPUがデータメモリ部内のデータが必要に
なっても読み出すことができず、転送が終了するまで待
たされることになり、システムのスループットが低下す
るという問題点があった。
了する。しかるに、従来のキャッシュメモリにおいては
1ワ一ド分のバッファを介してメインメモリとの間のブ
ロック転送を行なっているにすぎなかった。そのため、
ブロック転送中データメモリ部がメインメモリによって
占有され、MPUがデータメモリ部内のデータが必要に
なっても読み出すことができず、転送が終了するまで待
たされることになり、システムのスループットが低下す
るという問題点があった。
そこで、キャッシュメモリの内部データバスとデータメ
モリ部との間に1ブロック分のデータを一度に格納可能
なデータバッファ(以下ブロックバッファと称する)を
設け、このブロックバッファとデータメモリ部との間の
データの転送をキャッシュメモリとメインメモリとの間
のデータの転送よりも大きな単位で行なうように構成し
ておき、MPUがデータメモリを使用していないときに
ブロックバッファのデータを一括してデータメモリへ転
送することでスループットを向上させる方式本発明者は
、そのような方式について更に検討した結果、ブロック
バッファをデュアルボー1・に構成し、かつブロックバ
ッファに対応して内部のデータが有効か否か示すフラグ
ビット群を設けることによって、MPUが要求するデー
タがブロックバッファ内にあるときは直ちにこれを読み
出せるようにして応答性を向上させることができること
を見出した。
モリ部との間に1ブロック分のデータを一度に格納可能
なデータバッファ(以下ブロックバッファと称する)を
設け、このブロックバッファとデータメモリ部との間の
データの転送をキャッシュメモリとメインメモリとの間
のデータの転送よりも大きな単位で行なうように構成し
ておき、MPUがデータメモリを使用していないときに
ブロックバッファのデータを一括してデータメモリへ転
送することでスループットを向上させる方式本発明者は
、そのような方式について更に検討した結果、ブロック
バッファをデュアルボー1・に構成し、かつブロックバ
ッファに対応して内部のデータが有効か否か示すフラグ
ビット群を設けることによって、MPUが要求するデー
タがブロックバッファ内にあるときは直ちにこれを読み
出せるようにして応答性を向上させることができること
を見出した。
しかも、上記フラグビットはブロックバッファ内のデー
タをデータメモリへ転送したときにクリアすることにな
るが、ブロックバッファからデータメモリへの転送はメ
インメモリからの転送よりもデータ幅が大きいので、上
記フラグビットは1ビットずつセットして複数ビット同
時にクリアできると更にMPUの待ち時間を減らすこと
ができることを見出した。
タをデータメモリへ転送したときにクリアすることにな
るが、ブロックバッファからデータメモリへの転送はメ
インメモリからの転送よりもデータ幅が大きいので、上
記フラグビットは1ビットずつセットして複数ビット同
時にクリアできると更にMPUの待ち時間を減らすこと
ができることを見出した。
しかるに、従来のデコーダ回路を使用したフラグビット
の選択方式では、上記のような単一ビットの選択と複数
ビットの選択を行なうことができない。
の選択方式では、上記のような単一ビットの選択と複数
ビットの選択を行なうことができない。
この発明の目的は、キャッシュメモリとメインメモリ間
のブロック転送中においてもMPUによってデータメモ
リ部をアクセスできるようにするとともに、その際のM
PUの待ち時間を減少させ、もってシステムのスループ
ットを向上させ得るようなキャッシュメモリを提供する
ことにある。
のブロック転送中においてもMPUによってデータメモ
リ部をアクセスできるようにするとともに、その際のM
PUの待ち時間を減少させ、もってシステムのスループ
ットを向上させ得るようなキャッシュメモリを提供する
ことにある。
この発明の他の目的は、1ビット選択と複数ビット選択
の切換えを行なうことができるようなデコーダを提供す
ることにある。
の切換えを行なうことができるようなデコーダを提供す
ることにある。
この発明の前記ならびにそのほかの目的と新規な特徴に
ついては、本明細書の記述および添附図面から明らかに
なるであろう。
ついては、本明細書の記述および添附図面から明らかに
なるであろう。
[課題を解決するための手段]
本願において開示される発明のうち代表的なものの概要
を説明すれば、下記のとおりである。
を説明すれば、下記のとおりである。
すなわち、キャッシュメモリの内部データバスとデータ
メモリ部との間に1ブロツク分のデータを一度に格納可
能なデータバッファを設け、このブロックバッファとデ
ータメモリ部との間のデータの転送をキャッシュメモリ
とメインメモリとの間のデータの転送よりも大きな単位
で行なうように構成するとともに、上記ブロックバッフ
ァに格納される各データに対応されデータの有効/無効
を示すフラグビット群を設け、ブロック転送の際は1ビ
ットずつフラグピッhを選択し、ブロックバッファから
データメモリへの転送終了時には転送データ幅に応じて
複数のフラグピッ1−を同時に選択可能なデコーダを設
け、1ビットずつセットしたフラグを複数ビット同時に
クリアできるようにするものである。
メモリ部との間に1ブロツク分のデータを一度に格納可
能なデータバッファを設け、このブロックバッファとデ
ータメモリ部との間のデータの転送をキャッシュメモリ
とメインメモリとの間のデータの転送よりも大きな単位
で行なうように構成するとともに、上記ブロックバッフ
ァに格納される各データに対応されデータの有効/無効
を示すフラグビット群を設け、ブロック転送の際は1ビ
ットずつフラグピッhを選択し、ブロックバッファから
データメモリへの転送終了時には転送データ幅に応じて
複数のフラグピッ1−を同時に選択可能なデコーダを設
け、1ビットずつセットしたフラグを複数ビット同時に
クリアできるようにするものである。
[作用コ
上記した手段によれば、メインメモリへ転送すべきある
いはメインメモリから転送されてきたデータを1ブロツ
ク分まとめてブロックバッファ内に入れておくことによ
り、キャッシュメモリとメインメモリ間のブロック転送
中においてもMPUによってデータメモリ部をアクセス
できるとともに、データ転送終了時にデコーダでブロッ
クバッファ内のデータの有効/無効を示す複数のフラグ
ビットを同時に選択することでフラグのクリアに要する
時間を短縮させてMPUの待ち時間を減少させ、もって
システムのスルーブツトを向上させるという上記目的を
達成することができる。
いはメインメモリから転送されてきたデータを1ブロツ
ク分まとめてブロックバッファ内に入れておくことによ
り、キャッシュメモリとメインメモリ間のブロック転送
中においてもMPUによってデータメモリ部をアクセス
できるとともに、データ転送終了時にデコーダでブロッ
クバッファ内のデータの有効/無効を示す複数のフラグ
ビットを同時に選択することでフラグのクリアに要する
時間を短縮させてMPUの待ち時間を減少させ、もって
システムのスルーブツトを向上させるという上記目的を
達成することができる。
[実施例]
第1図には、本発明をキャッシュコントローラ内蔵のキ
ャッシュメモリに適用した場合の一実施例が、また第2
図にはこのキャッシュメモリを用いたマイクロプロセッ
サ−システムの構成例が示されている。
ャッシュメモリに適用した場合の一実施例が、また第2
図にはこのキャッシュメモリを用いたマイクロプロセッ
サ−システムの構成例が示されている。
第1図のキャッシュメモリ1は、1チツプで構成され、
一つの半導体基板上にディレクトリメモリ11とデータ
メモリ12とLRU(LeastRecently
Uscd)方式のブロック置換制御回路13、タグ比較
器14、書込み71−レスおよび書込みデータを一時的
に保持するライトバッファ15、およびこれらの回路を
制御するコントロールロジック16等が形成されている
。
一つの半導体基板上にディレクトリメモリ11とデータ
メモリ12とLRU(LeastRecently
Uscd)方式のブロック置換制御回路13、タグ比較
器14、書込み71−レスおよび書込みデータを一時的
に保持するライトバッファ15、およびこれらの回路を
制御するコントロールロジック16等が形成されている
。
そして、このキャッシュメモリ1は第2図に示すように
メインメモリ3が接続されたメモリバス21とM P
Uバス22との間に接続される。この実施例では、上記
データメモリ12と内部データバス17bとの間に、例
えば1ブロツクが64バイ1−で構成されているデータ
を格納可能なデュアルボー1−41成のブロックバッフ
ァ18が設けられている。
メインメモリ3が接続されたメモリバス21とM P
Uバス22との間に接続される。この実施例では、上記
データメモリ12と内部データバス17bとの間に、例
えば1ブロツクが64バイ1−で構成されているデータ
を格納可能なデュアルボー1−41成のブロックバッフ
ァ18が設けられている。
上記ディレクトリメモリ11内には、データメモリ12
の同一カラム位置に入っているデータのメインメモリ上
でのアドレスの上位10数ビットがタグとして格納され
ている。MPU2よりキャッシュメモリ1に与えられた
アドレスADのうちカラムアドレス部CLMが、ディレ
クトリメモリ11とデータメモリ12のデコーダに供給
されると、各メモリの同一カラムからアドレスタグとデ
ータが同時に読み出される。このうちデータメモリ12
からは16バイトのデータが一度に読み出されるように
構成されており、読み出されたデータは一旦ブロックバ
ッファ18に格納される。データメモリ12とブロック
バッファ]8との間のデータ転送は特に制限されないが
、16バイト単位で行なわれる。
の同一カラム位置に入っているデータのメインメモリ上
でのアドレスの上位10数ビットがタグとして格納され
ている。MPU2よりキャッシュメモリ1に与えられた
アドレスADのうちカラムアドレス部CLMが、ディレ
クトリメモリ11とデータメモリ12のデコーダに供給
されると、各メモリの同一カラムからアドレスタグとデ
ータが同時に読み出される。このうちデータメモリ12
からは16バイトのデータが一度に読み出されるように
構成されており、読み出されたデータは一旦ブロックバ
ッファ18に格納される。データメモリ12とブロック
バッファ]8との間のデータ転送は特に制限されないが
、16バイト単位で行なわれる。
一方、ディレクトリメモリ11から読み出されたアドレ
スタグはタグ比較器14に供給される。
スタグはタグ比較器14に供給される。
このタグ比較器14には、MPU2から与えられたアド
レスADのうちタグ部TAGのデータも供給されており
、ディレクトリメモリ11から読み出されたタグと比較
し、一致(キャッシュヒラ1〜)または不一致(ミスヒ
ツト)を示す信号CHが出力される。
レスADのうちタグ部TAGのデータも供給されており
、ディレクトリメモリ11から読み出されたタグと比較
し、一致(キャッシュヒラ1〜)または不一致(ミスヒ
ツト)を示す信号CHが出力される。
ここでキャッシュがヒツトするとデータメモリ12内の
対応するカラム位置から読み出されてブロックバッファ
18に保持されている16バイ1−のデータのうち、ア
ドレスの下位2ビットA。。
対応するカラム位置から読み出されてブロックバッファ
18に保持されている16バイ1−のデータのうち、ア
ドレスの下位2ビットA。。
A、により指定される1ワード(4バイト)のデータが
セレクタ18aによって選択され、データバス17bを
介してMPUへ供給される。一方。
セレクタ18aによって選択され、データバス17bを
介してMPUへ供給される。一方。
ミスヒントが生じると、内部アドレスバス17aおよび
内部データバス17bを介してMPUバス22とメモリ
バス21とが接続され、MPU2がメモリバス21を使
用してメインメモリ3を直接アクセスするようになって
いる。また、データ書込みの際にミスヒツトが生じると
、ライトバッファ15に保持されているアドレスとデー
タがメモリバス21上に出力される。
内部データバス17bを介してMPUバス22とメモリ
バス21とが接続され、MPU2がメモリバス21を使
用してメインメモリ3を直接アクセスするようになって
いる。また、データ書込みの際にミスヒツトが生じると
、ライトバッファ15に保持されているアドレスとデー
タがメモリバス21上に出力される。
このライトバッファ15は、ブロック転送に必要な一連
のアドレスを次々と発生するアドレスカウンタの機能も
有している。
のアドレスを次々と発生するアドレスカウンタの機能も
有している。
なお、第2図のシステムではメモリバス21にROM5
とI10レジスタ6が、またシステムバスアダプタ7を
介して画像データ用フレームバッファ31、ファイルコ
ントローラ32およびDMAコントローラ33等が接続
されている。また、キャッシュメモリ1とメインメモリ
3との間のデータ転送を制御するため、メインストレー
ジコントロール回路4が設けられている。
とI10レジスタ6が、またシステムバスアダプタ7を
介して画像データ用フレームバッファ31、ファイルコ
ントローラ32およびDMAコントローラ33等が接続
されている。また、キャッシュメモリ1とメインメモリ
3との間のデータ転送を制御するため、メインストレー
ジコントロール回路4が設けられている。
さらに、この実施例のキャッシュメモリには、ブイレフ
1−リメモリ11の各カラムごとに1ビットずつ、MP
Uが要求するデータがメインメモリからキャッシュメモ
リへブロック転送中であるか否か示す転送ビットBTが
設けられている。また。
1−リメモリ11の各カラムごとに1ビットずつ、MP
Uが要求するデータがメインメモリからキャッシュメモ
リへブロック転送中であるか否か示す転送ビットBTが
設けられている。また。
ブロックバッファ18内の各ワードA、B、C。
・・・・Pに対応してそのデータが有効か否か示すフラ
グビットa、b、c、・・・・Pからなるステータスレ
ジスタ19が設けられている。
グビットa、b、c、・・・・Pからなるステータスレ
ジスタ19が設けられている。
上記転送ビットBTおよびフラグビットa −pの内容
はコントロールロジック16によって監視され、データ
の転送制御に反映されるとともに、コントロールロジッ
ク16がデータの流れに応じて上記転送ビットBTおよ
びステータスレジスタ19の書換えを行なう。
はコントロールロジック16によって監視され、データ
の転送制御に反映されるとともに、コントロールロジッ
ク16がデータの流れに応じて上記転送ビットBTおよ
びステータスレジスタ19の書換えを行なう。
具体的には、MPUから与えられたアドレスのタグ部の
比較の結果、キャツシュヒツトした場合には対応するカ
ラム位置のビットBTを調べて、ビットBTが0′″な
らば所望のデータがデータメモリ12内にあるので、バ
ス20を介してデータメモリ12内のデータをデータバ
ス17b上へ出力し、キャツシュヒツト信号をMPUへ
返す。
比較の結果、キャツシュヒツトした場合には対応するカ
ラム位置のビットBTを調べて、ビットBTが0′″な
らば所望のデータがデータメモリ12内にあるので、バ
ス20を介してデータメモリ12内のデータをデータバ
ス17b上へ出力し、キャツシュヒツト信号をMPUへ
返す。
また、キャッシュがヒントしても転送ビットBTが′t
I Hrならば、所望のデータはブロックバッファ1
8内にあるので、ステータスレジスタ19内のフラグビ
ットa−pを調べて所望のワードデータが有効か否か知
り、フラグビットが′1″のときにはデータメモリ12
内の所望のデータをセレクタ18aを介してデータバス
17b上へ出力し、キャツシュヒツト信号をMPUへ返
す。フラグビットa ’= pが“OIIのときは、メ
インメモリからのデータの転送によりフラグがII I
IIになるまで待ち、It I IIになった時点で
そのワードデータをデータバス17b上に出力してキャ
ツシュヒツト信号をMPtJに返し、MPUがそれを取
り込む。
I Hrならば、所望のデータはブロックバッファ1
8内にあるので、ステータスレジスタ19内のフラグビ
ットa−pを調べて所望のワードデータが有効か否か知
り、フラグビットが′1″のときにはデータメモリ12
内の所望のデータをセレクタ18aを介してデータバス
17b上へ出力し、キャツシュヒツト信号をMPUへ返
す。フラグビットa ’= pが“OIIのときは、メ
インメモリからのデータの転送によりフラグがII I
IIになるまで待ち、It I IIになった時点で
そのワードデータをデータバス17b上に出力してキャ
ツシュヒツト信号をMPtJに返し、MPUがそれを取
り込む。
これとともに、コントロールロジック16は、ブロック
転送要因が発生すると先ずディレクトリメモリ11内の
対応する転送ビットBTにrr l uを立ててからデ
ータの転送を開始し、その転送状態に応じてレジスタ1
9内の対応するフラグビットa ”’= pの一つに1
”を立て、すべてのフラグビットがII I IIにな
った時点でブロックバッファ18内のデータを16バイ
トずつデータメモリ12またはメインメモリ3へ転送す
る。そして、転送が終了する度に、フラグビットa−d
、e”h。
転送要因が発生すると先ずディレクトリメモリ11内の
対応する転送ビットBTにrr l uを立ててからデ
ータの転送を開始し、その転送状態に応じてレジスタ1
9内の対応するフラグビットa ”’= pの一つに1
”を立て、すべてのフラグビットがII I IIにな
った時点でブロックバッファ18内のデータを16バイ
トずつデータメモリ12またはメインメモリ3へ転送す
る。そして、転送が終了する度に、フラグビットa−d
、e”h。
1〜1またはm−Pおよびディレクトリメモリ11内の
対応する転送ビットBTを′0″にクリアする。
対応する転送ビットBTを′0″にクリアする。
このように、デコーダ19aがステータスレジスタ19
内の選択ビット数の切り換えができるように構成されて
いる。そのため、上記実施例ではフラグビットa ”
pを有するステータスレジスタ19は1ビットずつセッ
トして4ビット同時にクリアすることができる。
内の選択ビット数の切り換えができるように構成されて
いる。そのため、上記実施例ではフラグビットa ”
pを有するステータスレジスタ19は1ビットずつセッ
トして4ビット同時にクリアすることができる。
第3図には、フラグビットa−pを有する上記ステータ
スレジスタ19の構成が示されている。
スレジスタ19の構成が示されている。
フラグビットa ”−pは各々セット・リセット型のフ
リップフロップFF工〜FFよ、によって構成され、セ
ット端子側に1/16選択デコーダを構成するNAND
ゲートG工〜G16が、またリセッ1へ端子側に4/1
6!l択デコーダを構成するNANDゲートN□〜N4
が接続されている。このうちNANDゲートG□〜G□
6にはアドレスa。、−〜831 a、が入力され、コ
ントロールロジック16から出力されるブロック転送要
求信号BRTに基づいて、パリティエラー信号peがエ
ラーなしを示すハイレベルのときにセット信号Sを出力
する。また、4/16選択デコーダを構成するNAND
ゲートN工〜N、は4つのフリップフロップに対応して
一つずつ設けられており、アドレスall−と831
a、が入力されて、ブロックバッファ18からデータメ
モリ12へのデータ転送終了を示す信号TEに同期して
リセット信号Rを発生する。
リップフロップFF工〜FFよ、によって構成され、セ
ット端子側に1/16選択デコーダを構成するNAND
ゲートG工〜G16が、またリセッ1へ端子側に4/1
6!l択デコーダを構成するNANDゲートN□〜N4
が接続されている。このうちNANDゲートG□〜G□
6にはアドレスa。、−〜831 a、が入力され、コ
ントロールロジック16から出力されるブロック転送要
求信号BRTに基づいて、パリティエラー信号peがエ
ラーなしを示すハイレベルのときにセット信号Sを出力
する。また、4/16選択デコーダを構成するNAND
ゲートN工〜N、は4つのフリップフロップに対応して
一つずつ設けられており、アドレスall−と831
a、が入力されて、ブロックバッファ18からデータメ
モリ12へのデータ転送終了を示す信号TEに同期して
リセット信号Rを発生する。
さらに、4716選択デコーダを′構成するNAND/
7’−トN□〜N4とフリップフロップFF□〜FF、
6との間には、電源投入時に全ピノ1−をクリアするた
め、NANDゲートN1〜N4の出力とイニシャライズ
信号INTとを入力とするNANDゲーhN、、〜N1
4とインバータINV、〜INV4が1妾読さ才してい
る。
7’−トN□〜N4とフリップフロップFF□〜FF、
6との間には、電源投入時に全ピノ1−をクリアするた
め、NANDゲートN1〜N4の出力とイニシャライズ
信号INTとを入力とするNANDゲーhN、、〜N1
4とインバータINV、〜INV4が1妾読さ才してい
る。
なお、上記各フラグビットa−Pを構成するフリップフ
ロップFF□〜FF1.の内容は常時コントロールロジ
ック16に供給され、監視されている。
ロップFF□〜FF1.の内容は常時コントロールロジ
ック16に供給され、監視されている。
従って、この実施例のキャッシュメモリでは。
メインメモリからブロックバッファ18に対して1ワー
ドのデータが転送されて例えばBの位置に格納されると
、ステータスレジスタ19の1716選択デコーダG2
によってフリップフロップFF2が選択され、そのデー
タにパリティエラーがなかった場合フラグビットbにI
I I IIがセットされる。そして、1ブロック分す
べてのデータがブロックバッファ18に転送された後、
MPUがデータメモリ12をアクセスしていないサイク
ルを利用してブロックバッファ18からデータメモリ1
2へ16バイト単位でデータが転送される。このとき、
同時にステータスレジスタ19では、4/16選択デコ
ーダN工〜N4のうち一つ(例えばA−Dのデータを転
送したときはデコーダN、)の出力信号が選択レベルに
され、4つのフリップフロップ(FF1〜F F4)が
同時にリセットされ、フラグビットa−pのうち4ビッ
ト(a −d )が同時にクリアされる。従って、フラ
グビットを1ビットずつクリアする必要がなく、その分
MPU待ち時間が短縮される。
ドのデータが転送されて例えばBの位置に格納されると
、ステータスレジスタ19の1716選択デコーダG2
によってフリップフロップFF2が選択され、そのデー
タにパリティエラーがなかった場合フラグビットbにI
I I IIがセットされる。そして、1ブロック分す
べてのデータがブロックバッファ18に転送された後、
MPUがデータメモリ12をアクセスしていないサイク
ルを利用してブロックバッファ18からデータメモリ1
2へ16バイト単位でデータが転送される。このとき、
同時にステータスレジスタ19では、4/16選択デコ
ーダN工〜N4のうち一つ(例えばA−Dのデータを転
送したときはデコーダN、)の出力信号が選択レベルに
され、4つのフリップフロップ(FF1〜F F4)が
同時にリセットされ、フラグビットa−pのうち4ビッ
ト(a −d )が同時にクリアされる。従って、フラ
グビットを1ビットずつクリアする必要がなく、その分
MPU待ち時間が短縮される。
以上説明したように上記実施例は、キャッシュメモリの
内部データバスとデータメモリ部との間に1ブロック分
のデータを一度に格納可能なデータバッファを設け、こ
のブロックバッファとデータメモリ部との間のデータの
転送をキャッシュメモリとメインメモリとの間のデータ
の転送よりも大きな単位で行なうように構成するととも
に、上記ブロックバッファに格納される各データに対応
されデータの有効/無効を示すフラグピッ1〜群を設け
、ブロック転送の際は1ビットずつフラグビットを選択
し、ブロックバッファからデータメモリへの転送終了時
には、転送データ幅に応じて複数のフラグビットを同時
に選択可能なデコーダを設け、1ビットずつセットした
フラグを複数ビット同時にクリアできるようにしたので
、メインメモリへ転送すべきあるいはメインメモリから
転送されてきたデータを1ブロック分まとめてブロック
バッファ内に入れておくことにより、キャッシュメモリ
とメインメモリ間のブロック転送中においてもMPUに
よってデータメモリ部をアクセスできるとともに、ブロ
ックバッファ内のデータの有効/無効を示すフラグのク
リアに要する時間を短縮させてMPUの待ち時間を減少
させ、もってシステムのスループットを向上させること
ができるという効果がある。
内部データバスとデータメモリ部との間に1ブロック分
のデータを一度に格納可能なデータバッファを設け、こ
のブロックバッファとデータメモリ部との間のデータの
転送をキャッシュメモリとメインメモリとの間のデータ
の転送よりも大きな単位で行なうように構成するととも
に、上記ブロックバッファに格納される各データに対応
されデータの有効/無効を示すフラグピッ1〜群を設け
、ブロック転送の際は1ビットずつフラグビットを選択
し、ブロックバッファからデータメモリへの転送終了時
には、転送データ幅に応じて複数のフラグビットを同時
に選択可能なデコーダを設け、1ビットずつセットした
フラグを複数ビット同時にクリアできるようにしたので
、メインメモリへ転送すべきあるいはメインメモリから
転送されてきたデータを1ブロック分まとめてブロック
バッファ内に入れておくことにより、キャッシュメモリ
とメインメモリ間のブロック転送中においてもMPUに
よってデータメモリ部をアクセスできるとともに、ブロ
ックバッファ内のデータの有効/無効を示すフラグのク
リアに要する時間を短縮させてMPUの待ち時間を減少
させ、もってシステムのスループットを向上させること
ができるという効果がある。
以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが、本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。例えば、上記実施例では
、ブロックバッファ内のデータの有効/無効を示すフラ
グを1ビットずつセットし、複数ビット同時にクリアす
ることでM P Uの待ち時間を減らしているが、上記
フラグをブロック転送時のデータ(4バイト)ごとに1
ビットでなく、ブロックバッファからデータメモリへ転
送するデータ(16バイト)ごとに1ビット設けておく
ことでフラグのクリアに要する時間を短縮させることも
可能である。
体的に説明したが、本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。例えば、上記実施例では
、ブロックバッファ内のデータの有効/無効を示すフラ
グを1ビットずつセットし、複数ビット同時にクリアす
ることでM P Uの待ち時間を減らしているが、上記
フラグをブロック転送時のデータ(4バイト)ごとに1
ビットでなく、ブロックバッファからデータメモリへ転
送するデータ(16バイト)ごとに1ビット設けておく
ことでフラグのクリアに要する時間を短縮させることも
可能である。
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるキャッシュメモリに
適用したものについて説明したが、この発明はそれに限
定されず、通信用バッファメモリや画像用フィールドメ
モリその他のバレファ記憶装胃一般に利用することがで
きる。
をその背景となった利用分野であるキャッシュメモリに
適用したものについて説明したが、この発明はそれに限
定されず、通信用バッファメモリや画像用フィールドメ
モリその他のバレファ記憶装胃一般に利用することがで
きる。
[発明の効果コ
本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記のとおりである
。
て得られる効果を簡単に説明すれば下記のとおりである
。
すなわち、キャッシュメモリとメインメモリ間のブロッ
ク転送中においてもMPUによってデータアレイ部をア
クセスできるようにするとともに、その際のMPUの待
ち時間を減少させ、もってシステムのスループットを向
上させることができる。
ク転送中においてもMPUによってデータアレイ部をア
クセスできるようにするとともに、その際のMPUの待
ち時間を減少させ、もってシステムのスループットを向
上させることができる。
第1図は、本発明をキャッシュメモリに適用した場合の
一実施例を示すブロック図。 第2図は、そのキャッシュメモリを使用したマイクロプ
ロセッサ−システムの構成例を示すシステム構成図、 第3図はブロックバッファ内のデータの有効/無効を示
すフラグビットを構成するレジスタとそれを選択するデ
コーダの構成例を示す回路構成図である。 1・・・・キャッシュメモリ、2・・・・MPU (マ
イクロプロセッサ−ユニット)、3・・・・メインメモ
リ、11・・・・ディレクトリメモリ、12・・・・デ
ータメモリ、14・・・・タグ比較器、15・・・・ラ
イトバッファ、17a・・・・内部アドレスバス、L7
b・・・・内部データバス、18・・・・ブロックバッ
ファ、19・・・・レジスタ(フラグビット群とデコー
ダ)、21・・・・メモリバス、22・・・・MPUバ
ス、23・・・・システ11バス。 第1図 第 と 図 第 図 T
一実施例を示すブロック図。 第2図は、そのキャッシュメモリを使用したマイクロプ
ロセッサ−システムの構成例を示すシステム構成図、 第3図はブロックバッファ内のデータの有効/無効を示
すフラグビットを構成するレジスタとそれを選択するデ
コーダの構成例を示す回路構成図である。 1・・・・キャッシュメモリ、2・・・・MPU (マ
イクロプロセッサ−ユニット)、3・・・・メインメモ
リ、11・・・・ディレクトリメモリ、12・・・・デ
ータメモリ、14・・・・タグ比較器、15・・・・ラ
イトバッファ、17a・・・・内部アドレスバス、L7
b・・・・内部データバス、18・・・・ブロックバッ
ファ、19・・・・レジスタ(フラグビット群とデコー
ダ)、21・・・・メモリバス、22・・・・MPUバ
ス、23・・・・システ11バス。 第1図 第 と 図 第 図 T
Claims (1)
- 【特許請求の範囲】 1、アドレスタグが格納されるディレクトリメモリ部と
、該ディレクトリメモリ部に格納されたアドレスタグに
対応したデータが格納されるデータメモリ部とを備えた
バッファ記憶装置において、上記データメモリ部と内部
データバスとの間に、一連の動作で同時期に転送される
1ブロック分のデータを一度に格納可能なデータバッフ
ァを設け、このデータバッファと上記データメモリ部と
の間のデータ転送を、データメモリ部とメインメモリと
の間のデータの転送よりも大きな単位で行なうように構
成するとともに、上記データバッファに格納される各デ
ータに対応されデータの有効/無効を示すフラグビット
群を設け、ブロック転送の際は1ビットずつフラグビッ
トを選択し、ブロックバッファからデータメモリへの転
送終了時には転送データ幅に応じて複数のフラグビット
を同時に選択可能なデコーダを設けたことを特徴とする
記憶装置。 2、上記ディクトリメモリ部には、各アドレスタグごと
に対応するデータがブロック転送中であるか否か示すビ
ットを有していることを特徴とする請求項1記載の記憶
装置。 3、上記データバッファは、デュアルポートのレジスタ
もしくはRAMによって構成されていることを特徴とす
る請求項1または請求項2記載の記憶装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63212626A JPH0261737A (ja) | 1988-08-29 | 1988-08-29 | 記憶装置 |
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 |
---|---|---|---|
JP63212626A JPH0261737A (ja) | 1988-08-29 | 1988-08-29 | 記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0261737A true JPH0261737A (ja) | 1990-03-01 |
Family
ID=16625791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63212626A Pending JPH0261737A (ja) | 1988-06-10 | 1988-08-29 | 記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0261737A (ja) |
-
1988
- 1988-08-29 JP JP63212626A patent/JPH0261737A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7020751B2 (en) | Write back cache memory control within data processing system | |
US5247643A (en) | Memory control circuit for optimizing copy back/line fill operation in a copy back cache system | |
US6192458B1 (en) | High performance cache directory addressing scheme for variable cache sizes utilizing associativity | |
US5526509A (en) | Method and apparatus for controlling one or more hierarchical memories using a virtual storage scheme and physical to virtual address translation | |
US5813031A (en) | Caching tag for a large scale cache computer memory system | |
US4736293A (en) | Interleaved set-associative memory | |
EP0407119B1 (en) | Apparatus and method for reading, writing and refreshing memory with direct virtual or physical access | |
JP2509766B2 (ja) | キャッシュメモリ交換プロトコル | |
US5329489A (en) | DRAM having exclusively enabled column buffer blocks | |
JPH01251247A (ja) | キヤツシユメモリサブシステム | |
US6157980A (en) | Cache directory addressing scheme for variable cache sizes | |
US6678790B1 (en) | Microprocessor chip having a memory that is reconfigurable to function as on-chip main memory or an on-chip cache | |
JP4445081B2 (ja) | キャッシュ・メモリ | |
US5448711A (en) | Configuration apparatus for determining relative position of a cache memory in a cache memory array | |
JP3515333B2 (ja) | 情報処理装置 | |
JPH09325913A (ja) | 半導体記憶装置 | |
US5175833A (en) | Apparatus for determining relative position of a cache memory in a cache memory array | |
JPH0438014B2 (ja) | ||
JPH0727492B2 (ja) | 緩衝記憶装置 | |
JP2580263B2 (ja) | バッファ記憶装置 | |
CN111338987B (zh) | 快速无效组相联tlb的方法 | |
US4628450A (en) | Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor | |
JPH0261737A (ja) | 記憶装置 | |
JPH05282208A (ja) | キャッシュメモリ制御方式 | |
US20030196039A1 (en) | Scratch pad memories |