JPH0266653A - ワンチップキャッシュメモリ - Google Patents

ワンチップキャッシュメモリ

Info

Publication number
JPH0266653A
JPH0266653A JP63218836A JP21883688A JPH0266653A JP H0266653 A JPH0266653 A JP H0266653A JP 63218836 A JP63218836 A JP 63218836A JP 21883688 A JP21883688 A JP 21883688A JP H0266653 A JPH0266653 A JP H0266653A
Authority
JP
Japan
Prior art keywords
memory
data
write
processor
address
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
JP63218836A
Other languages
English (en)
Inventor
Sadanobu Ikeda
池田 貞信
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP63218836A priority Critical patent/JPH0266653A/ja
Publication of JPH0266653A publication Critical patent/JPH0266653A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 反血立I 本発明は1チツプの集積回路内にディレクトリもデータ
メモリも内蔵するワンチップキャッシュメモリに関する
ものであり、特にデータ書込みを効率良く実行するワン
チップキャッシュメモリに関するものである。
良米肱韮 プロセッサと主メモリとの間に小容量の高速なバッファ
メモリを設置することにより、実効的な主メモリのアク
セス時間を高速化しうろことはコンピユーテイングサー
ベイ(Computing 5urvey)14巻3号
1982年473〜530ページに詳しく述べられてい
るように一般によく知られている。
この手法は通常キャッシュメモリと呼ばれ、広く計算機
システムに使用されている。これは、計算機システム上
で実行されるプログラムのメモリアクセスにおいては局
所性があるという性質を利用したものであり、プロセッ
サから主メモリへのアクセスに際し、アクセスの行なわ
れたワードを含む一定サイズ(量)の連続した記憶位置
く通常これをブロックと呼ぶ)の内容を主記憶からキャ
ッシュメモリに取り込むことにより、メモリアクセスの
大部分は、高速なキャッシュメモリへのアクセスですみ
、低速な主メモリへのアクセスを不要とすることができ
、実効的なメモリアクセス時間を短縮することができる
。
キャッシュメモリは、あとで詳しく述べるように、アド
レスレジスタ、データレジスタ、ディレクトリ、データ
メモリ、制御回路等から構成されるが、従来はこれらは
論理ゲート、メモリ等の集積回路チップを組み合わせて
構成されていた。しかしながら集積回路においては、チ
ップ内では高速な論理動作あるいはメモリ動作が可能で
・あるのに対して、信号線をチップ外に取出す場合には
チップ外の信号線の駆動のためにチップ内の場合に比べ
て多大の遅延時間を費やしてしまうために、キャッシュ
メモリ全体としての処理速度を高めることが困難である
という欠点があった。
一方、集積回路技術の進歩により1チツプの集積度が向
上した場合には、前述のキャッシュメモリ全体を1チツ
プ内に格納することにより、キャッシュメモリの性能を
格段に向上させることが可能となる。しかしながら、キ
ャッシュメモリを1チツプで実現しても、プロセッサの
高速化も進んでいるなめ必ずしも速度が一致するわけで
はなく、プロセッサの高速性をより生かすための仕掛け
をキャッシュメモリチップ内に組込むことが必要になる
。
九匪立旦預 この発明は前述の要求を満たすためになされたもので、
この発明の第1の目的はワンチップキャッシュメモリを
提供することにあり、この発明の第2の目的は特に高速
なストリングデータ書込みが可能なワンチップキャッシ
ュメモリを提供することにある。
九肌ム亘虞 この発明において、フンチップキャッシュメモリは、同
一チップ上に当該チップに保持しているブロックを管理
するためのディレクトリおよびブロックデータの保持の
ためのデータメモリ、プロセッサから主記憶への書込み
データを保持する書込みバッファレジスタ、誤書込みデ
ータをブロック単位で保持する書込みデータブロックバ
ファレジスタ、該ブロックアドレスを保持比較する一致
検出回路及びプロセッサからの直前のアクセスがデータ
書込みであったことを示すフリップフロップを内蔵しプ
ロセッサからキャッシュメモリへのメモリアクセス要求
のための入出力端子として、メモリアクセスの要求、完
了信号等のための第1のアクセス制御信号端子、プロセ
ッサからのメモリアクセスのための第1のアドレス信号
端子、プロセッサとのデータのやりとりのための第1の
データ信号端子を備え、キャッシュメモリから主記憶と
の間のメモリアクセス要求の通信のための入出力端子と
して、第2のアクセス制御信号端子、第2のアドレス信
号端子、第2のデータ信号端子を備え、当該キャッシュ
メモリチップへの前記プロセッサからのメモリアクセス
要求が有効であるかどうかを指定するためのチップ選択
端子を持ち、該チップ選択端子に1”が印加されている
場合にのみキャッシュメモリとしての動作を行ない、当
該キャッシュメモリチップへの前記プロセッサからのメ
モリアクセス要求がプログラム読出しであることを示す
コードアクセス端子を持ち、前記プロセッサがデータ書
込み実行時に前記書込みデータブロックバッファレジス
タに一担書込み、前記フリップフロップをセットし、次
のメモリアクセスがメモリ読出しでコードアクセスに“
1nを印加したか又はメモリ読出しが前記ディレクトリ
にミスヒツトした時、もしくは次のメモリアクセスがメ
モリ書込みで前記フリップフロップがセット状態で前記
−数種出回路が一致検出をしなかった場合に、前記書込
みデータブロックバッファレジスタから前記−数種出回
路に保持されたメモリアドレスにデータブロックを書込
み、前記メモリ読出し時は、前記フリップフロップをリ
セットすることを特徴とする。
火監1 この発明の詳細な説明する。まず、この発明の実施例に
おけるキャッシュメモリチップの構成を第1図を参照し
て説明する。この実施例においてはキャッシュメモリチ
ップは端子として電源、グランド、クロック等のための
端子(図示せず)と、プロセッサとの通信のための端子
として、プロセッサからのメモリへのアクセス要求の通
知およびキャッシュメモリでのアクセスの完了通知のた
めのプロセッサアクセス端子PC、メモリアドレスの通
知のためのプロセッサアドレス端子PA、データのやり
とりのためのプロセッサデータ端子PDをもち、主記憶
との通信のための端子として、同様にメモリアクセス端
子MC、メモリアドレス端子MA、メモリデータ端子M
Dをもつ。これに加えてキャッシュメモリチップは、プ
ロセッサからのメモリアクセス要求に際して動作を行な
うべきキャッシュメモリチップを指定するためのキャッ
シュチップ選択端子C8及びコードアクセスであること
を示すコードアクセス端子CDを持つ。
プロセッサアドレス端子PAはアドレスレジスタ11の
入力側に接続されており、アドレスレジスタ11のブロ
ックアドレス部の出力はディレクトリ12及び−数種出
回路19に印加されるとともにメモリアドレス端子MA
にも印加されている。
アドレスレジスタ11のブロック内ワードアドレス部の
出力は制御回路13で生成されるワードアドレスととも
にブロック内ワードアドレスとしてデータメモリ14に
印加されるとともにメモリアドレス端子MAにも印加さ
れている。
ディレクトリ12の一致アドレス出力FB^は、データ
メモリ14にブロックアドレスとして印加されるととも
に、リプレースメント回路15にも印加されている。リ
プレースメント回路15で生成されたリプレースすべき
データメモリ14上のブロックアドレスは、ディレクト
リ12に書込みアドレスとして印加されている。ディレ
クトリ12からの一数種出信号Fは制御回路13に印加
されている。−数種出回路19からの一数種出f8号F
Rは制御回路13に印加されている。プロセッサデータ
端子PDには読出しデータブロックレジスタ16の出力
側および書込みバッファレジスタ17の入力側が接続さ
れている。読出しデータブロックレジスタ16の入力に
はデータメモリ14からの読出しデータブロックが印加
され、書込みバッファレジスタ17の出力は書込みデー
タとして書込みデータレジスタ18を経由してデータメ
モリ14に印加されるとともに書込みデータブロックバ
ッファレジスタ20に印加され、書込みデータブロック
バッファレジスタ20の出力はメモリデータ端子MDに
も印加されている。
書込みデータレジスタ18は書込みバッファレジスタ1
7又はメモリデータ端子MDから書込みデータを受けと
る。キャッシュチップ選択端子C8及びコードアクセス
端子CDは制御回路13に接続されている。制御回路1
3はプロセッサアクセス端子PCから印加されるキャッ
シュメモリの初期化要求、メモリへの書込み、読出し要
求を受けて対応する処理を行なうための制御回路であり
、ここで生成される主記憶へのアクセス要求はメモリア
クセス端子MCに印加されている。
第2図は第1図のキャッシュメモリチップを複数個用い
たキャッシュメモリシステムを示すブロック図である。
次にこの発明の実施例におけるキャッシュメモリチップ
の動作を説明する。
〈通常読出し処理〉 プロセッサPからプロセッサアクセス端子PCを介して
制御回路13にメモリ読出しの指令が印加されると、制
御回路13はキャッシュチップ選択端子C8を調べ、こ
れに値“0”が印加されている場合には、このキャッシ
ュメモリチップでは何の動作も行なわない。キャッシュ
チップ選択端子C8に値“1″が印加されている場合に
は、プロセッサアドレス端子PAに印加されているメモ
リアドレスをアドレスレジスタ11にセットしたうえで
、このブロックアドレス部の値によりディレクトリ12
を検索する。
この検索で一致が検出された場合、即ち、アクセスの要
求のあったアドレスを含むブロックが自キャッシュメモ
リ上に存在する場合(但し一致検出回路19は一致検出
せずその出力PRは0”の場合)には、ディレクトリ1
2の出力する一数種出アドレスFBへによりリプレース
メント回路15を更新し、同じくディレクトリ12の出
力するプロ・ンクアドレスFBへ及びアドレスレジスタ
11のブロック内ワードアドレスの値をアドレスとして
データメモリ14を読出し、その読出された値を続出し
データブロックレジスタ16に格納したうえでプロセッ
サアクセス端子PCにアクセスの完了したことを知らせ
る信号を印加する。
アクセス要求時に、コードアクセス端子CDに“1′が
印加されておりかつFF21がセット状態にある場合に
は、この後書込み処理にて説明するように書込みデータ
ブロックバッファレジスタ20の内容を一致検出回路1
9に格納されたアドレスに書込み、FF21をリセット
する。
ディレクトリ12で一致が検出されない場合、即ちアク
セスの要求のあったアドレスを含むブロックが自キャッ
シュメモリ上に存在しない場合には、制御回路13はア
クセス要求時にコードアクセス端子に“1′が印加され
ており、かっFF21がセット状態にある場合には、前
記の如く書込みデータブロックバッファレジスタ20の
内容を1記jtaに書込み、FF21をリセット後、ブ
ロックのそのロードのために次の処理を行なう。
先ず、リプレースメント回路15でリプレースすべきデ
ータメモリ14上のブロックを決定し、これに対応する
ディレクトリ12のエントリにアドレスレジスタ11の
ブロックアドレス部の値を登録する0次にアドレスレジ
スタ11のブロックアドレス部の出力と制御回路13で
生成するブロック内のワードアドレスをメモリアドレス
端子MAに、メモリ読出し要求をメモリアクセス端子M
Cに印加することにより、主記憶を読出し、メモリデー
タ端子MDに読出されたデータを書込みデータレジスタ
18を介してデータメモリ14に書込む。
ブロック内に属する全ワードに対してこれを行なったの
ち、ディレクトリ12にこのブロックが有効であること
を登録することによりブロックのロードの処理が完了す
る。この後で前述のキャッシュメモリの読出し処理を再
実行することによりプロセッサからの読出しが行なわれ
ることになる。
〈書込み処理〉 主記憶への書込み要求があった場合には、この実施例で
は次のような処理が行なわれる。即ち、プロセッサPか
らプロセッサアクセス端子PCを介して制御回路13に
メモリ書込みの指令が印加されると、制御回路13はキ
ャッシュチップ選択端子C8を調べ、これに値“0”が
印加されている場合には、このキャッシュメモリチップ
では何の動作も行なわない、キャッシュチップ選択端子
C8に値“1″が印加されている場合には、プロセッサ
アドレス端子PAに印加されているメモリアドレスをア
ドレスレジスタ11にセットし、プロセッサデータ端子
PDに印加されている書込みデータを書込みバッファレ
ジスタ17にセットし、プロセッサアクセス端子PCに
アクセスの完了したことを知らせる信号を印加し、アド
レスレジスタ11のブロックアドレス部の値によりディ
レクトリ12及び−数構出回路19を検索する。
ディレクトリ12で一致が検出された場合には、対応す
るキャッシュメモリチップの制御回1!813は書込み
バッファレジスタ17から書込みデータレジスタ18を
経由してデータメモリ14への書込みを行なうとともに
、主記憶に対しても書込みを行なう。
この時−数構出回路19内の検索を行ない、(1)一致
か検出された場合には制御回路13は、書込みバッファ
レジスタ17の内容を書込データブロックバッファレジ
スタ20に書込み、FF21をセットし主記憶に対して
は何もしない、(2)一致が検出されず、FF21がセ
ットされていない場合は、上記と同じ動作をする。(3
)一致が検出されず、FF21がセットされていた場合
は、書込みデータブロックバッファレジスタ20の内容
を一致検出回路19の保持しているアドレスに従って主
記憶に書込みFF21をリセットする。
その後は上記(2)と同じ状態になるので、引き続き上
記(2)の動作を実施する。
以上の3つの場合、動作の最後に一致検出回路19に書
込みアドレスがセットされる。
ディレクトリ12で一致が検出されない場合には、キャ
ッシュメモリチップへのブロックのロードは行なわず、
上記3つのケースと全く同じ手順で主記憶への書込みま
たは書込みデータブロックバッファレジスタ20への書
込みおよび一致検出回路19へのセットが実行される。
メモリへの書込みは一致検出回路19にセットされてい
るアドレスをメモリアドレス端子MAに、書込みデータ
ブロックバッファレジスタ20にセットされている書込
みデータブロックをメモリデータ端子MDに夫々印加し
たうえで、メモリアクセス端子MCに対してメモリ書込
み要求を印加することにより行われる。
前記実施例の説明においては、発明の主旨とは直接関係
がないので制御回路13の具体的な実現方法およびタイ
ミング等も含めた動作等、たとえばメモリアクセス要求
、完了信号を端子に印加するためのゲートの制御、読出
し、書込みデータのデータ端子への印加、受取り等につ
いても詳細な説明は省略したが、これらは従来知られて
いる技術で実現できることは明らかであろう。
またこの実施例におけるディレクトリ12、リプレース
メント回路15等もキャッシュメモリで採用するマツピ
ング方式に応じた構成がなされるであろう。同様に一致
検出回路はエントリ数が1個のディレクトリと考えれば
、従来知られている技術で実現できることは明らかであ
ろう、又、プロセッサからのアクセス要求のタイプ、例
えばコードとデータとに分けて別々に一致検出回路及び
読出しデータブロックレジスタを持たせることもでき、
より高速アクセスが可能となる。
またこの実施例においては、主記憶に一個のプロセッサ
が接続されるシングルプロセッサシステムを想定してい
るが、各々がこの発明によるキャッシュメモリを備えて
いる複数個のプロセッサからなるマルチプロセッサシス
テムにおいては、各プロセッサのキャッシュメモリと主
記憶との間での内容の一致を確保するための考慮が必要
になるが、これについても従来知られている種々の方式
が適用できる。
及曹しと党玉 以上述べたようにこの発明によれば、キャッシュメモリ
チップ内に書込みデータブロックバッファレジスタと対
応する一致検出回路及びFFを設け、データアクセス(
読取りと書込み)の繰返しを行うようなメモリアクセス
の場合に、メモリ書込みをデータブロックバッファレジ
スタに一時書込みデータブロックをまとめてメモリに書
込むように構成しであるため、データストリング転送時
の連続した番地へのアクセスを高速に実行することがで
きるという効果がある。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、第2図は第1図
のキャッシュメモリチップを用いたシステムブロック図
である。 主要部分の符号の説明 11・・・・・・アドレスレジスタ 12・・・・・・ディレクトリ 13・・・・・・制御回路 14・・・・・・データメモリ 15・・・・・・リプレースメント回路16・・・・・
・読出しデータレジスタ17・・・・・・書込みバッフ
ァレジスタ18・・・・・・書込みデータレジスタ19
・・・・・・−数構出回路 20・・・・・・書込データブロックバッファレジスタ 21・・・・・・FF MC・・・・・・メモリアクセス端子 MA・・・・・・メモリアドレス端子 MD・・・・・・メモリデータ端子 PC・・・・・・プロセッサアクセス端子PA・・・・
・・プロセッサアドレス端子第1図 CPA PD PD・・・・・・プロセッサデータ端子C8・・・・・
・チップ選択端子 CD・・・・・・コードアクセス端子

Claims (1)

    【特許請求の範囲】
  1. (1)同一チップ上に当該チップに保持しているブロッ
    クを管理するためのディレクトリおよびブロックデータ
    の保持のためのデータメモリ、プロセッサから主記憶へ
    の書込みデータを保持する書込みバッファレジスタ、誤
    書込みデータをブロック単位で保持する書込みデータブ
    ロックバファレジスタ、該ブロックアドレスを保持比較
    する一致検出回路及びプロセッサからの直前のアクセス
    がデータ書込みであったことを示すフリップフロップを
    内蔵し、プロセッサからキャッシュメモリへのメモリア
    クセス要求のための入出力端子として、メモリアクセス
    の要求、完了信号等のための第1のアクセス制御信号端
    子、プロセッサからのメモリアクセスのための第1のア
    ドレス信号端子、プロセッサとのデータのやりとりのた
    めの第1のデータ信号端子を備え、キャッシュメモリか
    ら主記憶との間のメモリアクセス要求の通信のための入
    出力端子として、第2のアクセス制御信号端子、第2の
    アドレス信号端子、第2のデータ信号端子を備え、当該
    キャッシュメモリチップへの前記プロセッサからのメモ
    リアクセス要求が有効であるかどうかを指定するための
    チップ選択端子を持ち、該チップ選択端子に“1”が印
    加されている場合にのみキャッシュメモリとしての動作
    を行ない、当該キャッシュメモリチップへの前記プロセ
    ッサからのメモリアクセス要求がプログラム読出しであ
    ることを示すコードアクセス端子を持ち、前記プロセッ
    サがデータ書込み実行時に前記書込みデータブロックバ
    ッファレジスタに一担書込み、前記フリップフロップを
    セットし、次のメモリアクセスがメモリ読出しでコード
    アクセスに“1”を印加したか又はメモリ読出しが前記
    ディレクトリにミスヒットした時、もしくは次のメモリ
    アクセスがメモリ書込みで前記フリップフロップがセッ
    ト状態で前記一致検出回路が一致検出をしなかった場合
    に、前記書込みデータブロックバッファレジスタから前
    記一致検出回路に保持されたメモリアドレスにデータブ
    ロックを書込み、前記メモリ読出し時は、前記フリップ
    フロップをリセットすることを特徴とするワンチップキ
    ャッシュメモリ。
JP63218836A 1988-09-01 1988-09-01 ワンチップキャッシュメモリ Pending JPH0266653A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63218836A JPH0266653A (ja) 1988-09-01 1988-09-01 ワンチップキャッシュメモリ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63218836A JPH0266653A (ja) 1988-09-01 1988-09-01 ワンチップキャッシュメモリ

Publications (1)

Publication Number Publication Date
JPH0266653A true JPH0266653A (ja) 1990-03-06

Family

ID=16726103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63218836A Pending JPH0266653A (ja) 1988-09-01 1988-09-01 ワンチップキャッシュメモリ

Country Status (1)

Country Link
JP (1) JPH0266653A (ja)

Similar Documents

Publication Publication Date Title
US5249284A (en) Method and system for maintaining data coherency between main and cache memories
JPH0668735B2 (ja) キヤツシユメモリ−
CN114063934A (zh) 数据更新装置、方法及电子设备
US5161219A (en) Computer system with input/output cache
US8015329B2 (en) Data transfer coherency device and methods thereof
US7472227B2 (en) Invalidating multiple address cache entries
JPH08278922A (ja) 変更スヌープ・サイクル・コマンドを使用したキャッシュ及びキャッシュ・テスト方法
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor
JPS6261135A (ja) キヤツシユメモリ
JPH07234819A (ja) キャッシュメモリ
JPS6255743A (ja) キヤツシユメモリおよびこれを用いたキヤツシユメモリシステム
GB2037466A (en) Computer with cache memory
JPH0685155B2 (ja) ワンチップキャッシュメモリ
JPH0727491B2 (ja) キヤツシユメモリの書込制御方式
JP3061818B2 (ja) マイクロ・プロセッサ用アクセス・モニタ装置
JPH0467662B2 (ja)
JPS63240651A (ja) キヤツシユメモリ
JPH0695317B2 (ja) キヤツシユメモリのプリフエツチ制御方式
JPS6324336A (ja) キヤツシユメモリの書込み制御方式
JPH0793215A (ja) 半導体記憶装置
JP3219422B2 (ja) キャッシュメモリ制御方式
JP3074897B2 (ja) メモリ回路
JP2952884B2 (ja) キャッシュコントローラ
JPH0630074B2 (ja) プロセッサ
JPH0448263B2 (ja)