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
Application number
JP63212626A
Other languages
English (en)
Inventor
Hiroshi Fukuda
宏 福田
Yasuhiko Saie
齋江 靖彦
Takashi Kikuchi
隆 菊池
Susumu Hatano
進 波多野
Kanji Ooishi
貫時 大石
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.)
Hitachi ULSI Engineering Corp
Hitachi Ltd
Original Assignee
Hitachi ULSI Engineering Corp
Hitachi 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 Hitachi ULSI Engineering Corp, Hitachi Ltd filed Critical Hitachi ULSI Engineering Corp
Priority to JP63212626A priority Critical patent/JPH0261737A/ja
Priority to KR1019890007950A priority patent/KR970000837B1/ko
Publication of JPH0261737A publication Critical patent/JPH0261737A/ja
Priority to KR94011054A priority patent/KR970000839B1/ko
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野コ この発明は、記憶管理技術さらにはバッファ記憶装置の
制御方式に適用して特に有効な技術に関し1例えばバッ
ファ記憶方式を採用した情報処理システムにおけるキャ
ッシュメモリに利用して有効な技術に関する。
[従来の技術] 従来、バッファ記憶方式を採用したマイクロコンピュー
タにおいて、ダイナミックRAM等からなる主記憶装置
内の情報のうち使用頻度の高いものをキャッシュメモリ
内に入れておいて、これをキャッシュ・コントローラと
呼ばれる記憶管理装置によって制御して、スループット
を向上させるようにされているものがある。
キャッシュメモリは、マイクロプロセッサ−ユニット(
以下、MPUと称する)から出力されるアドレスによっ
てアクセスされ、所望のデータがキャッシュメモリ内に
あると、つまりキャッシュがヒツトすると、M P U
が直ちにデータを得ることができるため、システムのス
ループットが向上される。
キャッシュ・コントローラは、MPUから出力されるア
ドレスを内部のアドレス(タグ)と比較して、所望のデ
ータがキャッシュメモリにないと判定すると、ミスヒン
トを示す信号を出力する。
すると、MPUがメインメモリをアクセスしてメインメ
モリからデータを得るようになっている(日経マグロウ
ヒル社発行、「日経エレクトロニクスJ 1987年1
1月16日号、第170.170頁参照)。
[発明が解決しようとする課題] 上記データ転送の単位は、1回に転送可能なデータ幅(
32ビットマイコンで1ワードつまり4バイト単位)の
みの場合もあるし、それよりも大きく、例えば32バイ
トのような単位(以下ブロック転送と称す)に設定され
ることもある。
従って、ブロック転送は複数回のデータ転送によって終
了する。しかるに、従来のキャッシュメモリにおいては
1ワ一ド分のバッファを介してメインメモリとの間のブ
ロック転送を行なっているにすぎなかった。そのため、
ブロック転送中データメモリ部がメインメモリによって
占有され、MPUがデータメモリ部内のデータが必要に
なっても読み出すことができず、転送が終了するまで待
たされることになり、システムのスループットが低下す
るという問題点があった。
そこで、キャッシュメモリの内部データバスとデータメ
モリ部との間に1ブロック分のデータを一度に格納可能
なデータバッファ(以下ブロックバッファと称する)を
設け、このブロックバッファとデータメモリ部との間の
データの転送をキャッシュメモリとメインメモリとの間
のデータの転送よりも大きな単位で行なうように構成し
ておき、MPUがデータメモリを使用していないときに
ブロックバッファのデータを一括してデータメモリへ転
送することでスループットを向上させる方式本発明者は
、そのような方式について更に検討した結果、ブロック
バッファをデュアルボー1・に構成し、かつブロックバ
ッファに対応して内部のデータが有効か否か示すフラグ
ビット群を設けることによって、MPUが要求するデー
タがブロックバッファ内にあるときは直ちにこれを読み
出せるようにして応答性を向上させることができること
を見出した。
しかも、上記フラグビットはブロックバッファ内のデー
タをデータメモリへ転送したときにクリアすることにな
るが、ブロックバッファからデータメモリへの転送はメ
インメモリからの転送よりもデータ幅が大きいので、上
記フラグビットは1ビットずつセットして複数ビット同
時にクリアできると更にMPUの待ち時間を減らすこと
ができることを見出した。
しかるに、従来のデコーダ回路を使用したフラグビット
の選択方式では、上記のような単一ビットの選択と複数
ビットの選択を行なうことができない。
この発明の目的は、キャッシュメモリとメインメモリ間
のブロック転送中においてもMPUによってデータメモ
リ部をアクセスできるようにするとともに、その際のM
PUの待ち時間を減少させ、もってシステムのスループ
ットを向上させ得るようなキャッシュメモリを提供する
ことにある。
この発明の他の目的は、1ビット選択と複数ビット選択
の切換えを行なうことができるようなデコーダを提供す
ることにある。
この発明の前記ならびにそのほかの目的と新規な特徴に
ついては、本明細書の記述および添附図面から明らかに
なるであろう。
[課題を解決するための手段] 本願において開示される発明のうち代表的なものの概要
を説明すれば、下記のとおりである。
すなわち、キャッシュメモリの内部データバスとデータ
メモリ部との間に1ブロツク分のデータを一度に格納可
能なデータバッファを設け、このブロックバッファとデ
ータメモリ部との間のデータの転送をキャッシュメモリ
とメインメモリとの間のデータの転送よりも大きな単位
で行なうように構成するとともに、上記ブロックバッフ
ァに格納される各データに対応されデータの有効/無効
を示すフラグビット群を設け、ブロック転送の際は1ビ
ットずつフラグピッhを選択し、ブロックバッファから
データメモリへの転送終了時には転送データ幅に応じて
複数のフラグピッ1−を同時に選択可能なデコーダを設
け、1ビットずつセットしたフラグを複数ビット同時に
クリアできるようにするものである。
[作用コ 上記した手段によれば、メインメモリへ転送すべきある
いはメインメモリから転送されてきたデータを1ブロツ
ク分まとめてブロックバッファ内に入れておくことによ
り、キャッシュメモリとメインメモリ間のブロック転送
中においてもMPUによってデータメモリ部をアクセス
できるとともに、データ転送終了時にデコーダでブロッ
クバッファ内のデータの有効/無効を示す複数のフラグ
ビットを同時に選択することでフラグのクリアに要する
時間を短縮させてMPUの待ち時間を減少させ、もって
システムのスルーブツトを向上させるという上記目的を
達成することができる。
[実施例] 第1図には、本発明をキャッシュコントローラ内蔵のキ
ャッシュメモリに適用した場合の一実施例が、また第2
図にはこのキャッシュメモリを用いたマイクロプロセッ
サ−システムの構成例が示されている。
第1図のキャッシュメモリ1は、1チツプで構成され、
一つの半導体基板上にディレクトリメモリ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が設けられている。
上記ディレクトリメモリ11内には、データメモリ12
の同一カラム位置に入っているデータのメインメモリ上
でのアドレスの上位10数ビットがタグとして格納され
ている。MPU2よりキャッシュメモリ1に与えられた
アドレスADのうちカラムアドレス部CLMが、ディレ
クトリメモリ11とデータメモリ12のデコーダに供給
されると、各メモリの同一カラムからアドレスタグとデ
ータが同時に読み出される。このうちデータメモリ12
からは16バイトのデータが一度に読み出されるように
構成されており、読み出されたデータは一旦ブロックバ
ッファ18に格納される。データメモリ12とブロック
バッファ]8との間のデータ転送は特に制限されないが
、16バイト単位で行なわれる。
一方、ディレクトリメモリ11から読み出されたアドレ
スタグはタグ比較器14に供給される。
このタグ比較器14には、MPU2から与えられたアド
レスADのうちタグ部TAGのデータも供給されており
、ディレクトリメモリ11から読み出されたタグと比較
し、一致(キャッシュヒラ1〜)または不一致(ミスヒ
ツト)を示す信号CHが出力される。
ここでキャッシュがヒツトするとデータメモリ12内の
対応するカラム位置から読み出されてブロックバッファ
18に保持されている16バイ1−のデータのうち、ア
ドレスの下位2ビットA。。
A、により指定される1ワード(4バイト)のデータが
セレクタ18aによって選択され、データバス17bを
介してMPUへ供給される。一方。
ミスヒントが生じると、内部アドレスバス17aおよび
内部データバス17bを介してMPUバス22とメモリ
バス21とが接続され、MPU2がメモリバス21を使
用してメインメモリ3を直接アクセスするようになって
いる。また、データ書込みの際にミスヒツトが生じると
、ライトバッファ15に保持されているアドレスとデー
タがメモリバス21上に出力される。
このライトバッファ15は、ブロック転送に必要な一連
のアドレスを次々と発生するアドレスカウンタの機能も
有している。
なお、第2図のシステムではメモリバス21にROM5
とI10レジスタ6が、またシステムバスアダプタ7を
介して画像データ用フレームバッファ31、ファイルコ
ントローラ32およびDMAコントローラ33等が接続
されている。また、キャッシュメモリ1とメインメモリ
3との間のデータ転送を制御するため、メインストレー
ジコントロール回路4が設けられている。
さらに、この実施例のキャッシュメモリには、ブイレフ
1−リメモリ11の各カラムごとに1ビットずつ、MP
Uが要求するデータがメインメモリからキャッシュメモ
リへブロック転送中であるか否か示す転送ビットBTが
設けられている。また。
ブロックバッファ18内の各ワードA、B、C。
・・・・Pに対応してそのデータが有効か否か示すフラ
グビットa、b、c、・・・・Pからなるステータスレ
ジスタ19が設けられている。
上記転送ビットBTおよびフラグビットa −pの内容
はコントロールロジック16によって監視され、データ
の転送制御に反映されるとともに、コントロールロジッ
ク16がデータの流れに応じて上記転送ビットBTおよ
びステータスレジスタ19の書換えを行なう。
具体的には、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がそれを取
り込む。
これとともに、コントロールロジック16は、ブロック
転送要因が発生すると先ずディレクトリメモリ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″にクリアする。
このように、デコーダ19aがステータスレジスタ19
内の選択ビット数の切り換えができるように構成されて
いる。そのため、上記実施例ではフラグビットa ” 
pを有するステータスレジスタ19は1ビットずつセッ
トして4ビット同時にクリアすることができる。
第3図には、フラグビットa−pを有する上記ステータ
スレジスタ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を発生する。
さらに、4716選択デコーダを′構成するNAND/
7’−トN□〜N4とフリップフロップFF□〜FF、
6との間には、電源投入時に全ピノ1−をクリアするた
め、NANDゲートN1〜N4の出力とイニシャライズ
信号INTとを入力とするNANDゲーhN、、〜N1
4とインバータINV、〜INV4が1妾読さ才してい
る。
なお、上記各フラグビットa−Pを構成するフリップフ
ロップ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待ち時間が短縮される。
以上説明したように上記実施例は、キャッシュメモリの
内部データバスとデータメモリ部との間に1ブロック分
のデータを一度に格納可能なデータバッファを設け、こ
のブロックバッファとデータメモリ部との間のデータの
転送をキャッシュメモリとメインメモリとの間のデータ
の転送よりも大きな単位で行なうように構成するととも
に、上記ブロックバッファに格納される各データに対応
されデータの有効/無効を示すフラグピッ1〜群を設け
、ブロック転送の際は1ビットずつフラグビットを選択
し、ブロックバッファからデータメモリへの転送終了時
には、転送データ幅に応じて複数のフラグビットを同時
に選択可能なデコーダを設け、1ビットずつセットした
フラグを複数ビット同時にクリアできるようにしたので
、メインメモリへ転送すべきあるいはメインメモリから
転送されてきたデータを1ブロック分まとめてブロック
バッファ内に入れておくことにより、キャッシュメモリ
とメインメモリ間のブロック転送中においてもMPUに
よってデータメモリ部をアクセスできるとともに、ブロ
ックバッファ内のデータの有効/無効を示すフラグのク
リアに要する時間を短縮させてMPUの待ち時間を減少
させ、もってシステムのスループットを向上させること
ができるという効果がある。
以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが、本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。例えば、上記実施例では
、ブロックバッファ内のデータの有効/無効を示すフラ
グを1ビットずつセットし、複数ビット同時にクリアす
ることでM P Uの待ち時間を減らしているが、上記
フラグをブロック転送時のデータ(4バイト)ごとに1
ビットでなく、ブロックバッファからデータメモリへ転
送するデータ(16バイト)ごとに1ビット設けておく
ことでフラグのクリアに要する時間を短縮させることも
可能である。
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるキャッシュメモリに
適用したものについて説明したが、この発明はそれに限
定されず、通信用バッファメモリや画像用フィールドメ
モリその他のバレファ記憶装胃一般に利用することがで
きる。
[発明の効果コ 本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記のとおりである
すなわち、キャッシュメモリとメインメモリ間のブロッ
ク転送中においても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

Claims (1)

  1. 【特許請求の範囲】 1、アドレスタグが格納されるディレクトリメモリ部と
    、該ディレクトリメモリ部に格納されたアドレスタグに
    対応したデータが格納されるデータメモリ部とを備えた
    バッファ記憶装置において、上記データメモリ部と内部
    データバスとの間に、一連の動作で同時期に転送される
    1ブロック分のデータを一度に格納可能なデータバッフ
    ァを設け、このデータバッファと上記データメモリ部と
    の間のデータ転送を、データメモリ部とメインメモリと
    の間のデータの転送よりも大きな単位で行なうように構
    成するとともに、上記データバッファに格納される各デ
    ータに対応されデータの有効/無効を示すフラグビット
    群を設け、ブロック転送の際は1ビットずつフラグビッ
    トを選択し、ブロックバッファからデータメモリへの転
    送終了時には転送データ幅に応じて複数のフラグビット
    を同時に選択可能なデコーダを設けたことを特徴とする
    記憶装置。 2、上記ディクトリメモリ部には、各アドレスタグごと
    に対応するデータがブロック転送中であるか否か示すビ
    ットを有していることを特徴とする請求項1記載の記憶
    装置。 3、上記データバッファは、デュアルポートのレジスタ
    もしくはRAMによって構成されていることを特徴とす
    る請求項1または請求項2記載の記憶装置。
JP63212626A 1988-06-10 1988-08-29 記憶装置 Pending JPH0261737A (ja)

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)

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