JPH01233536A - キャッシュメモリ書込み装置 - Google Patents

キャッシュメモリ書込み装置

Info

Publication number
JPH01233536A
JPH01233536A JP63059284A JP5928488A JPH01233536A JP H01233536 A JPH01233536 A JP H01233536A JP 63059284 A JP63059284 A JP 63059284A JP 5928488 A JP5928488 A JP 5928488A JP H01233536 A JPH01233536 A JP H01233536A
Authority
JP
Japan
Prior art keywords
data
memory
address
cache
processor
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.)
Granted
Application number
JP63059284A
Other languages
English (en)
Other versions
JP2703255B2 (ja
Inventor
Tsukasa Matoba
司 的場
Takeshi Aikawa
健 相川
Mitsuyoshi Okamura
岡村 光善
Kenichi Maeda
賢一 前田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP63059284A priority Critical patent/JP2703255B2/ja
Priority to US07/321,398 priority patent/US5034885A/en
Publication of JPH01233536A publication Critical patent/JPH01233536A/ja
Application granted granted Critical
Publication of JP2703255B2 publication Critical patent/JP2703255B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Dram (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の目的〕 (産業上の利用分野) 本発明は高速アクセスを可能にするため、電子計算機の
プロセサと主記憶部どの間に設けられるキャッシュメモ
リ書込み装置に関する。
(従来の技術)。
計算機の中央処理装置は、アーキテクチャの研究、 V
LSI技術の発展にともない、性能、速度ともに、大幅
に向上している。マイクロプロセサの速度を活かすため
には、外部の記憶部のアクセス速度の向上が望まれてい
る。記憶部は一般的に高速、大容量であることが望まし
い。しかしながら、高速なメモリ(スタチイックメモリ
)は、高価、低容量であり、大容量なダイナミックメモ
リは低速であるというデバイスレベルの相反する問題が
あった。そこで、記憶部を2階層に分割し、大容量低速
な主記憶と、小容量高速なバッファ記憶とを組み合わせ
、後者を前者と中央処理装置との中間に配置し、アクセ
ス頻度の高いデータを後者バッファ記憶部に格納してお
くことで、記憶部全体のアクセス速度を見かけ上向上す
ることが1行なわれている。このバッファ記憶部を一般
にキャッシュメモリと呼ぶ。キャッシュメモリ実現のた
めの要素として、ヒツト検出部がある。これは、中央処
理装置(以下プロセサ)のアクセスしたアドレスのデー
タがキャッシュメモリに格納されているかどうかを判定
するためのものであり、格納されていればヒツト、そう
でなければミスという情報を出力する。ヒツト、ミスの
検出には、一般にタグメモリと呼ばれるもう一つの記憶
部を用いる。
タグメモリには、キャッシュのデータ用メモリ(以下デ
ータメモリ)の内容の主記憶上でのアドレス等が格納さ
れている。ヒツト検出部は、プロセサの出力したアドレ
スと、タグメモリ内のアドレスとの比較を行ない一致(
ヒツト)不一致(ミス)の判定を下す。
すなわち、ヒツト検出のためには、タグメモリの読出し
のための時間と、比較器の時間が必要となり、データメ
モリのアクセスに比べて、比較器の分だけ時間がかかる
。そこで従来はプロセサのデータリードに関して、ヒツ
ト/ミスの如何にかかわらず、キャッシュデ諷タメモリ
の内容をプロセサに送り、次のサイクルでヒツト/ミス
情報を通知する方式がとられていた。しかしながら、コ
ピーパック方式のキャッシュメモリにおいてプロセサの
データライトに関しては、ヒツト/ミス検出後でないと
、データ部にライト許可を出すことができない、コピー
パック方式キャッシュでは、キャツシュヒツト時のライ
ト動作はキャッシュに対してだけ実行され、主記憶に反
映されない、主記憶に反映されるのは、主にキャッシュ
内のデータエントリが他のアドレスのデータによってリ
プレースされる時である。そのため、ライト動作でキャ
ッシュミスを起ことた場合は、もし、キャッシュの内容
がそれ以前に書きかえられて、主記憶の内容と不一致を
起こしているなら、−時、退避用メモリに転送した後、
本来のライト動作を行なわねばならない。(退避された
データは、それ以降主記憶に書きもどされる)この様な
理由で、ヒツト/ミス情報を次のサイクルでプロセサに
通知する方式をとるキャッシュメモリでは、ライト動作
は、最低でも2サイクル(ヒツト検出+ライト動作)を
要していた。
第5図は、従来の方式によるライト動作を示すタイムチ
ャートである。プロセスサイクルOと1の2サイクルが
キャツシュヒツト時のライト動作である。サイクルOの
先頭からアドレスOとライトデータOがプロセサから出
力され、サイクル0では、まずヒツト検出が行なわれる
よって検出後のHIT/MISS信号はサイクル1がら
有効による。そのため、実際のライト動作はサイクル1
で行うことになる。サイクル0,1ではキャツシュヒツ
トしたためサイクル1でライト信号が出力されたが、サ
イクル2,3ではキャッシュミスが発生したため、サイ
クル3でライト信号は出力されない。
プロセササイクルOでライト信号を出力できない理由は
明らかで、キャッシュミスの時に、キャッシュに蓄えら
れている別のアドレスの値を壊ねしてしまうからである
以上の説明の通り、従来の方式では、ライト動作が2サ
イクル必要である。
(発明が解決しようとする課題) 以上、コピーパック方式キャッシュメモリ装置でヒツト
検出が次のサイクルで確定する方式をとった場合ライト
動作がリード動作の2倍の時間を要するという問題点が
あった。これを回避するためには、ヒツト検出部を高速
化し、1サイクルで、ヒツトの検出と、データのライト
が行えればよいことになるが、そのためには、より高速
なタグメモリ、比較器が必要となる。
本発明の目的は、この問題点をより少ないハードウェア
コストにより解決することにある。
〔発明の構成〕
(課題を解決するための手段) 本発明は、通常のコピーバック方式のキャッシュメモリ
の構成要素の他に、1ワード分の第5の記憶部と、主記
憶へのデータの書戻しを行うためのデータを一時的に格
納する第4の記憶部の入力部に選択器とを具備し、さら
にミス時の主記憶からのデータ読込みを制御する読込み
制御部と、書き戻しデータを選択する書戻し選択制御部
とを具備している。
(作 用) プロセサからのライト動作に対して、本発明のキャッシ
ュメモリは、サイクルの前半で、該当するアドレスから
データを読出し、1ワード分の記憶部に格納する。サイ
クルの後半ではヒツト検出部のヒツト/ミス信号の如何
にかかわらず、キャッシュメモリの該当するアドレスは
プロセサのデータをライトする。続く次のサイクルで、
ヒツト検出部より、ヒツト/ミス信号が出力される。ヒ
ツトの場合は、以降に必要な処理はない、ミスの場合は
、必要なデータを主記憶から読み込む必要があるが、プ
ロセサが書き込んだアドレスだけは一般にキャッシュメ
モリでは、タグメモリに格納されている1つの主記憶ア
ドレスに対して、複数ワードのデータが、そのデータメ
モリに格納される。これをブロック(又はライン)と呼
び主記憶からの読込み、主記憶への書戻しは、ブロック
単位で行なわれる。
また、タグメモリ内に、キャッシュのデータが。
以前にプロセサによって書きかえられたかどうかを示す
フラグを持っており、ブロックがリプレースされる際に
、このフラグが立っていれば、キャッシュ内の前のデー
タを、そのタグが示す主記憶上のアドレスへ書きもどさ
なければならない6本発明では、この場合、プロセサの
ライト動作によって、1ワードの記憶部に退避されたデ
ータを。
主記憶へ書き戻す処理を行う。
(実施例) 以下図面を用いて、本発明の一実施例にづき説明する。
第1図は本発明の一実施例のブロック図である。
1はプロセサ、9 (AL)はプロセサから出力される
アドレスの下位、to(AH)はアドレスの上位である
。実施例では、キャッシュメモリをダイレクトマツピン
グ(コピーバック)方式とし、AL。
AHをそれぞれ4ケタの数字で表わす、ALはキャッシ
ュメモリ2に供給され、タグメモリの出力がAHと比較
される。(ヒツト検出部3)つまりダイレクトマツピン
グキャッシュでは、主記憶部5上で、ALが等しいアド
レスのデータは、キャッシュの同一エントリに入る可能
性がある。現在キャッシングされているデータのアドレ
スの上位は、タグメモリに入っている。つまり、プロセ
サが出力したアドレスの下位(AL)でアドレシングさ
れるタグメモリの内容と、AHとを比較すれば、キャッ
シュがヒツトしたかどうかがわかる。
ヒツトorミスを示す信号がHIT/MISS信号12
である。
データメモリ4には、プロセサのALアドレスが供給さ
れ、データのアクセスを行う。
もし、キャッシュミスを起こした場合、主記憶部5から
正しいデータが読出され、データメモリ4に格納される
。また、データメモリの前の内容が、すでにプロセサに
よって書き換えられていた場合には、その内容の主記憶
部5への書戻しを行う。
そのために、前記、主記憶部5からの読込み中にデータ
メモリの前のデータを書戻し用記憶部6へ格納する。実
施例ではンキャッシュの1ブロツクを4ワードとしてい
る。
第2図は、タグメモリの内容とデータメモリとの関係を
示した図である。タグメモリには、各エントリ毎にV、
M、上位アドレスという情報をもっている。■は有効フ
ラグであり、データが有効であるかどうかを示す0Mは
書換フラグであり。
そのブロックのデータが、プロセサによって変更された
かどうかを示す。
タグメモリの各エントリに対して、データメモリの4ワ
ードが対応している。
第3図はプロセサによるリード動作を示し°たタイミグ
チャートである。リード動作については、従来も本発明
も同じである。プロセササイクル0は、キャツシュヒツ
トした時のリード動作である。
アドレスOに対応したデータ0が同一サイクル中にリー
ドされる。プロセササイクル1からnまでは、キャッシ
ュミス時のリード動作である。まずプロセササイクル1
でアドレス1が出力され、データXがリードされたが、
サイクル2の先頭で、HIT/MISS = Oとなっ
たことから、キャッシュミスであることがわかる。よっ
てデータ又は無効なデータとして扱われ、プロセサはH
IT/MISS= Oである間は停止する。その間キャ
ッシュ側は主記憶から正しいデータを読み込みプロセサ
サイクルnにて、正しいデータ1をプロセサに渡す。
第4図は、本発明のライト動作を示すタイミングチャー
トである。第5図と比較すると)IIT/MISS信号
の出力タイミングは変わらないが、ライトサイクルが1
サイクルで終了していることがわかる。
本発明では、ライト時はHIT/MISSにかかわらず
キャッシュメモリに対してライトを行なう。そのかわり
に、キャッシュの元のデータを1ワード記憶部に退避さ
れたデータは、主記憶に対する書き戻しが必要な場合に
用いるという制御を行なう。
これにより、従来2サイクル要していたライト動作を1
サイクルで行うことができるというものである。
本発明の動作を第1図を用いて説明する。
プロセサ1は、AL9、AH19よりライトアドレスを
出力する。ALはアドレスの下位、AHは上位であり1
本実施例では、各々16ビツトであるものとする。アド
レスの出力と同時に、プロセサはライトデータをDAT
Aバス15に出力する。これは32ビツト(1ワード)
であとする。ALはタグメモリ2のアドレスに供給され
、タグメモリからの出力データ11とAHがヒツト検出
部3にて比較され、一致していたら、HIT/MISS
信号12を1に、不一致ならOにする。この信号はプロ
セサがアドレスを出力した次のサイクルで確定するもの
とする。
比較動作と並行して、データメモリ4にはALがアドレ
スとして供給され、該アドレスのデ:りがデータ出力ラ
イン16から読み出され、1ワード記憶部7に格納され
る。続いて、プロセサが出力したライトデータがDAT
Aバス15を通じて、入力バッファ13からデータメモ
リ4へ入力され、ライトされる。
実際には次のタイミングでHIT/MISS信号が確定
することになるが、1(IT/MISS信号が1なら、
ライト動作は完了、Oならキャッシュミスであるから主
記憶部5から正しいデータをキャッシュに読み込む必要
がある。
それは、主記憶5→メモリデータバツフア17→入カバ
ツフアI3→データメモリ4の経路で行なわれる。その
際、すでにプロセサによって値の書き込まれたワードに
は、メモリからのデータを書き込まない。本実施例では
1つのタグメモリのエントリに対して、データメモリ4
ワード分が対応することにしているが、メモリから読み
込まれる4ワードのうち、プロセサがライトしたワード
を除く3ワードをキャッシュにライトすることになる。
また、プロセサがキャッシュにライトする前の状態にお
いて、タグメモリの該当するエントリのVフラグ、Mフ
ラグ、(第2図)がともにセットされている時は、その
データ部には、有効なデータが入っており、かつ主記憶
部5からコピーされた後に、プロセサによって書き換え
られていることを示す、そのような場合には、そのデー
タが主記憶の他のアドレスのデータによって置きがゎる
前に、書戻し用記憶部6に退避しておき、後に主記憶部
5へ書き戻す必要がある。これが、ライトバック方式キ
ャッシュの特徴である。書戻し用記憶部6は、本実施例
ではキャッシュの1ブロツクサイズに等しい4ワード分
の容量があり、ここへはデータメモリ4からデータ出力
ライン16を通してデータが書き込まれる。その際、ラ
イト動作によるキャッシュミスなら、ライトされたアド
レスのデータだけは、データメモリからではなく、1ワ
ード記憶部7からライトされる。
また、キャッシュメモリシステムでは、キャッシュをバ
イパスする動作を許すことがある。すなわち、プロセサ
が主記憶部を直接アクセスするが。
I10レジスタを直接アクセスする場合がある。これを
ノンキャッシュ動作と言う。
ノンキャッシュ動作であることが、プロセサがアドレス
を出力する時点で決定されれば何の問題もないが、これ
が、アドレス接換等何らかのパスを経由して決定される
場合、ノンキャッシュ動作であることが判明するのが、
HIT/MISS信号と同時か、またはそれより遅延す
ることがある。そのような場合、本発明では、1ワード
記憶部7からデータメモリへ再び古い値を書き戻すため
の再現用バッファ18を具備している。
本実施例ではキャッシュの方式をダイレクトマツピング
、ブロックサイズを4ワード(1ワード32ビツト)と
して説明したが、特に限定するものではない0本発明の
要旨を逸脱しない範囲で変形することも可能である。
(発明の効果〕 キャッシュメモリはプロセサのクロック周期が、キャッ
シュのヒツト検出に要する時間よりも、十分長い場合に
は、リードライトともに1サイクルで行うことが可能で
あるが、クロック周期が短かくなり、プロセッサが高速
になるにつれて、ヒツト検出が間に合わないという問題
に直面する。そこで従来の解決策としては、ライトは2
サイクルで処理し、リードはヒツトミスにかかわらず、
1サイクルで処理し、2サイクル目で、リードデータが
有効であるからというかの情報をプロセサに通知してい
た。
本発明によって、ライト動作もリード同様ヒツトしてい
れば1サイクルで完了することが可能となるという効果
が得られる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
本発明の実施例で用いたダイレクトマツピングキャッシ
ュのタグメモリエントリと、データメモリブロック(各
4ワード)の関係を示した図、第3図は本発明のプロセ
サによるリード動作を表わすタイミング4チヤート、第
4図は本発明のプロセサによるライト動作を表わすタイ
ミングチャート、第5図は従来方式によるライト動作を
表わすタイミングチャートである。 1・・・プロセサ      2・・・タグメモリ3・
・・ヒツト検出部    4・・・データメモリ5・・
・主記憶部      6・・・書戻し用記憶部7・・
・1ワード記憶部   8・・・セレクタ9・・・AL
         10・・・AHll・・・タグメモ
リ出力   12・・・HIT/MISS信号13・・
・入力バッファ    15・・・DATAバス16・
・・データ出力ライン  17・・・メモリデータバッ
ファ18・・・再現用バッファ 代理人 弁理士 則 近 憲 佑 同  松山光之

Claims (1)

    【特許請求の範囲】
  1. コンピュータのプロセサと主記憶部との間に設けられた
    データ用キャッシュメモリと、このキャッシュメモリに
    蓄えられたデータの前記主記憶部でのアドレスを格納し
    たタグメモリと、プロセサからのアクセス用アドレスと
    前記タグメモリのアドレスとを比較するヒット検出部と
    、このヒット検出部の出力により該当データが前記タグ
    メモリに存在しない場合前記主記憶部から前記キャッシ
    ュメモリへコピーすると共に前記タグメモリへ該アドレ
    スを書込むデータ読込み部と、データ読込みの際に前記
    キャッシュメモリへコピーすべきアドレスの前データが
    前記主記憶部のものと一致しない場合該データを退避し
    て前記主記憶部へ書戻すデータ書戻し部とを備えたキャ
    ッシュメモリ装置において、前記プロセサから前記キャ
    ッシュメモリへデータを無条件で書込む前に前記キャッ
    シュメモリの該アドレスのデータを格納するための1ワ
    ード記憶部と、前記データ読込み部がコピーする際に前
    記キャッシュメモリのコピーすべきアドレスに対し無条
    件で書込まれたデータを存続させる手段と、前記データ
    書戻し部が書戻す際に前記キャッシュメモリの退避すべ
    きアドレスに対し前記1ワード記憶部のデータを優先さ
    せるセレクタとを具備したことを特徴とするキャッシュ
    メモリ書込み装置。
JP63059284A 1988-03-15 1988-03-15 キャッシュメモリ書込み装置 Expired - Fee Related JP2703255B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63059284A JP2703255B2 (ja) 1988-03-15 1988-03-15 キャッシュメモリ書込み装置
US07/321,398 US5034885A (en) 1988-03-15 1989-03-10 Cache memory device with fast data-write capacity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63059284A JP2703255B2 (ja) 1988-03-15 1988-03-15 キャッシュメモリ書込み装置

Publications (2)

Publication Number Publication Date
JPH01233536A true JPH01233536A (ja) 1989-09-19
JP2703255B2 JP2703255B2 (ja) 1998-01-26

Family

ID=13108939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63059284A Expired - Fee Related JP2703255B2 (ja) 1988-03-15 1988-03-15 キャッシュメモリ書込み装置

Country Status (1)

Country Link
JP (1) JP2703255B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220058295A1 (en) * 2020-08-20 2022-02-24 Micron Technology, Inc. Safety and security for memory

Also Published As

Publication number Publication date
JP2703255B2 (ja) 1998-01-26

Similar Documents

Publication Publication Date Title
CA1124888A (en) Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability
KR100204741B1 (ko) 제1및 제2캐시 메모리 사용방법
US5249284A (en) Method and system for maintaining data coherency between main and cache memories
US4858111A (en) Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache
JPH0668735B2 (ja) キヤツシユメモリ−
JP2010191638A (ja) キャッシュ装置
JP3236287B2 (ja) マルチプロセッサシステム
US5034885A (en) Cache memory device with fast data-write capacity
JPH09237223A (ja) バスブリッジを用いたコンピュータシステム
US5287512A (en) Computer memory system and method for cleaning data elements
US5694575A (en) Direct I/O control system with processor, main memory, and cache employing data consistency retaining scheme
US5455925A (en) Data processing device for maintaining coherency of data stored in main memory, external cache memory and internal cache memory
US6976130B2 (en) Cache controller unit architecture and applied method
JP3733604B2 (ja) キャッシュメモリ
JP2703255B2 (ja) キャッシュメモリ書込み装置
US6401173B1 (en) Method and apparatus for optimizing bcache tag performance by inferring bcache tag state from internal processor state
JPH0210446A (ja) バッファ記憶装置
JP3564343B2 (ja) キャッシュバイパス時のデータ転送装置と方法
JP3081635B2 (ja) キャッシュメモリの無効化処理装置および無効化制御方法
JPS5818710B2 (ja) 記憶システム
JPS6135583B2 (ja)
JPH07152650A (ja) キャッシュ制御装置
EP0460852A2 (en) System for maintaining data coherency between main and cache memories
JP2923273B2 (ja) データ処理システム
JP3074897B2 (ja) メモリ回路

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees