JPS63282545A - ワンチツプキヤツシユメモリ - Google Patents

ワンチツプキヤツシユメモリ

Info

Publication number
JPS63282545A
JPS63282545A JP62117820A JP11782087A JPS63282545A JP S63282545 A JPS63282545 A JP S63282545A JP 62117820 A JP62117820 A JP 62117820A JP 11782087 A JP11782087 A JP 11782087A JP S63282545 A JPS63282545 A JP S63282545A
Authority
JP
Japan
Prior art keywords
block
memory
directory
cache memory
bus
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
JP62117820A
Other languages
English (en)
Inventor
Naoya Ono
直哉 大野
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 JP62117820A priority Critical patent/JPS63282545A/ja
Publication of JPS63282545A publication Critical patent/JPS63282545A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、1チツプの集積回路内にディレクトリもデー
タメモリも内蔵するワンチップキャッシュメモリに関す
るものであり、特にキャッシュメモリとしてだけではな
く、ローカルメモリとしても使用することが可能なよう
に改良したワンチップキャッシュメモリに関するもので
ある。
〔従来の技術およびその問題点〕
プロセッサと主メモリとの間に小容量の高速なバッファ
メモリを設置することにより、実効的な主メモリのアク
セス時開を高速化しうろことはコンピユーテイングサー
ベイ(Computing Survey)14巻3号
 1982年 473〜530ページに詳しく述べられ
ているように一般によく知られている。
この手法を採用したバッファメモリは通常キャッシュメ
モリと呼ばれ、広く計算機システムに使用されている。
これは、計算機システム上で実行されるプログラムのメ
モリアクセスにおいては局所性があるという性質を利用
したものであり、プロセッサから主メモリへのアクセス
に際し、アクセスの行なわれたワードを含む一定サイズ
の連続した記憶位置(通常これをブロックと呼ぶ)の内
容を主記憶からキャッシュメモリに取り込むことにより
、メモリアクセスの大部分は、高速なキャッシュメモリ
へのアクセスですみ、低速な主記憶へのアクセスを不要
とすることができる。
キャッシュメモリは、あとで詳しく述べるように、アド
レスレジスタ、データレジスタ、ディレクトリ、データ
メモリ、制御回路等から構成されるが、従来はこれらは
論理ゲート、メモリ等の集積回路チップを組み合わせて
構成されていた。しかしながら集積回路においては、チ
ップ内では高速な論理動作あるいはメモリ動作が可能で
あるのに対して、信号線をチップ外に取り出す場合には
チップ外の信号線の駆動のためにチップ内の場合に比べ
て多大の遅延時間を費やしてしまうために、キャッシュ
メモリ全体としての処理速度を高めることが困難である
という欠点があった。
一方、集積回路技術の進歩により1チツプの集積度が向
上した場合には、前述のキャッシュメモリ全体を1チツ
プ内に格納することにより、キャッシュメモリの性能を
格段に向上させることが可能となる。
キャッシュメモリは前述のようにプロセッサから主メモ
リへのアクセスに際し、アクセスの行なわれたワードを
含むブロックを主記憶からキャッシュ弄メモリに取り込
むことにより、メモリアクセスの大部分は、高速なキャ
ッシュメモリへのアクセスですませることより実効的な
メモリアクセスタイムを高速化することが可能となる。
プログラムの動きを更に詳しく調べてみるとメモリの特
定の限られたアドレスに対してアクセスが集中的に行な
われるケースが多いことがわかる。
このような場合には前記のワンチップキャッシュメモリ
にブロックの固定機能を持たせることによりローカルメ
モリとして使用することが可能となる。
〔発明の目的〕
本発明の目的は、ローカルメモリとしても使用可能なフ
ンチップキャッシュメモリを提供することにある。
〔問題点を解決するための手段〕
本発明のワンチップキャッシュメモリは、同一チップ上
に当該チップの保持しているブロックを管理するための
ディレクトリ部、ブロックデータの保持のためのデータ
メモリ部およびブロックのリブレース管理等の関連する
制御回路を内蔵するワンチップキャッシュメモリにおい
て、各ブロックに対応してディレクトリに設けられた固
定フラグ、外部からの指令により指定されたブロックを
ディレクトリに登録し対応する固定フラグをオンにする
ブロック固定登録機能、ワンチップキャッシュメモリに
対するプロセッサからのアクセスに際してミスヒツトが
発生した時点で前記固定フラグがオンに設定されている
ブロックはリブレースの対象としないブロック固定機能
、バスからのメモリへの書込みを常に監視し、バスから
の書込み要求に際して前記ディレクトリを検索し対応す
るブロックが登録されている場合にはそれを無効化する
ためのブロック無効化機能を有し、ローカルメモリとし
てもキャッシュメモリとしても使用可能であることを特
徴とする。
〔実施例〕  一 本発明の詳細な説明する。まず、本発明の実施例におけ
るキャッシュメモリチップの構成を第1図により説明す
る。本実施例においてはキャッシュメモリチップはセッ
ト数128.コンパートメント数2.ブロックサイズ1
6バイトの構成を持つとしている。
ディレクトリメモリ1は128のセット数に対応して1
28のワードをもつ。各ワードは対応するセットに格納
されているブロック名を保持するための第一および第二
のタグTl、T2、対応するブロックの有効性を示すた
めの有効ビットV1、V2、対応するセットの2つのブ
ロックにおける参照の順序を保持するためのリブレース
メントビットRに加えて対応するブロックが固定ブロッ
クであることを示す固定フラグFl、F2をもつ。
ディレクトリメモリ1は、2つのボートから独立してア
クセスが可能なデュアルアクセスメモリで実現されてお
り、プロセッサからのメモリアドレスPAを保持する第
一のアドレスラッチ31のセットアドレス部SAにより
アドレスされ、読み出し、書込みが可能な第一のボート
、およびバスからのメモリアドレスBAを保持する第二
のアドレスラッチ32のセットアドレス部によりアドレ
スされ、読み出しが可能な第二のボートを持つ。
ディレクトリメモリ1の第一の読み出しボートのタグT
I、タグT2の値は各々第一およぶ第二の比較回路51
.52の一方の入力に印加されている。第一および第二
の比較回路51.52の他方の入力には第一のアドレス
ラッチ31のタグ部TAGの値が印加されている。第一
のアドレスラッチ31のタグ部の値はディレクトリメモ
リ1のタグTI、タグT2の部分に書込みデータとして
印加されている。第一のアドレスラッチ31のタグ部の
値はディレクトリメモリ1のタグTI、タグT2の部分
に書込みデータとして印加されている。
ディレクトリメモリ1の第二のボートのタグT1、タグ
T2の値は各々第三および第四の比較回路53.54の
一方の入力に印加されている。第三および第四の比較回
路53.54の他方の入力には第二のアドレスラッチ3
2のタグ部TAGの値が印加されている。
データメモリ2はセット数128とブロックサイズ4ワ
ードに対応して512ワードからなり、1ワードはコン
パートメント数2に対応して各コンパートメント4バイ
ト、計8バイトのデータ幅をもつ、これはプロセッサか
らのメモリアドレスPAを保持する第一のアドレスラッ
チ31のセットアドレス部およびワードアドレス部WA
あるいは第一のアドレスラッチ31のセットアドレス部
SAおよび制御回路く図示せず)で生成されるワードア
ドレスによりアドレスされ、プロセッサから書込みデー
タPWDを保持する書込みデータラッチ6の出力が書込
みデータとして各コンパートメントに印加されている。
書込みデータラッチ6の出力はバスインタフェイス回路
7を介して書込みデータBWDとしtバスにも印加され
ている。
書込みデータラッチ6の入力にはプロセッサからの書込
みデータPWDとともにバスからのメモリ読み出しデー
タBRDも印加されている。データメモリ2の各コンパ
ートメントからの読み出しデータは読み出しデータラッ
チ4に印加されておりデータラッチ4の出力はプロセッ
サに読み出しデータPRDとして印加されている。読み
出しデータラッチ4には更にバスからの読み出しデータ
BRDも印加されている。
次に本実施例における動作を説明する。
(1)プロセッサからの読み出し、書込み動作プロセッ
サからメモリへの書込み、読み出し要求があると第一の
アドレスラッチ31にメモリアドレスがセットされる。
要求が書込みの場合には書込みデータPWDが書込みデ
ータラッチ6に格納される。第一のアドレスラッチ31
のセットアドレスによりディレクトリ1を読み出しタグ
の検索を行なう。対応するブロックが存在するとき、即
ち読み出された第一および第二のタグ部の値と第一のア
ドレスラッチ31のタグ部の値とを第一および第二の比
較回路51.52により比較し、いずれかの比較回路で
一致が検出され、かつ対応する有効ビットがオンの場合
には、対応するセットの対応するワードに対してアクセ
スが行なわれるとともにリブレースフラグの更新を行な
う、即ち書込み要求の場合−には書込みデータラッチ6
の値が一致の検出されたセットに対応するデータメモリ
のセットに書き込まれるとともにバスに対しても書込み
要求を出す、読み出し要求の場合には一致の検出された
比較回路に対応するデータメモリのセットから読み出さ
れた値力弓売み出しデータラッチ4に格納され、読み出
しデータPRDとしてプロセッサに通知される。
対応するブロックが登録されていないとき、即ち第一お
よび第二の比較回路51.52が一致を検出しなかった
場合にはメモリへの要求が読み出し要求の場合には以下
に示すリブレース処理を行なう。
第一および第二の固定フラグFl、F2を調べ、そのい
ずれもがオンでないとき、リブレースフラグで指定され
るセットに対応するタグ部に第一のアドレスラッチ31
のタグ部の値を書き込んだうえでバスに対してブロック
転送要求を出す、即ち第一のアドレスラッチ31のタグ
部とセットアドレス部に加えて制御回路により順次ブロ
ック内のアドレスを生成しながらバスに対して読み出し
要求を出す。バスからブロックの各ワードが読み出しデ
ータBRDとして通知されるとこれを順次書込みデータ
ラッチ6に格納した上でデータメモリの対応するセット
の対応するブロックの各ワード位置に書き込んだうえで
対応する有効ビットをオンにし、再度アクセスを行なう
。第一および第二の固定フラグのいずれか一方がオンの
場合にはオンでないセットに対応するタグ部にアドレス
ラッチのタグ部の値を登録した上で、上記のブロックの
ロードの処理を行なう。
第一および第二の固定フラグの両方がともにオンの場合
にはブロックのロードは行なわずにバスに対してアクセ
スを行なう、即ち書込み要求の場合には第一のアドレス
ラッチ31の値をバス要求アドレスBRAとしてプロセ
ッサからの書込みデータPWDを書込みデータラッチ6
、バスインクフェイス回路7を介して書込みデータBW
Dとしてバスに書込み要求を出す。読み出し要求の場合
には第一のアドレスラッチ31の値をバス要求アドレス
BRAとしてバスに対して読み出し要求を出す、バスか
らデータBRDが読み出されるとこれが読み出しデータ
ラッチ4を介してプロセッサに通知される。この場合に
はワンチップキャッシュはバイパスしてバスに接続され
ているメモリに対して直接アクセスが行なわれる事にな
る。
対応するブロックが登録されているがまだデータメモリ
部2にブロックがロードされていないとき、即ち第一あ
るいは第二の比較回路51.52が一致を検出したが対
応する有効とットv1あるいは■2がオフの場合には対
応するブロックのロードを行なったうえで対応する有効
ビットをオンにした後に再度アクセスを行なう。
要求が書込みの場合には上記のタグの登録、ブロックの
ロード等の処理は行なわずにバスに対して直接アクセス
要求を出す。
(2)ブロックの固定の登録 ブロックの固定に際してはプロセッサがら固定すべきブ
ロックのアドレスとともに固定指令が与えられる。制御
回路はこれを受けて以下の動作を行なう。
要求のあったアドレスを第一のアドレスラッチ31に格
納し、ディレクトリ1をひく。このブロックがすでに登
録されている場合には対応する固定フラグをオンにして
リブレースメントビットを更新したうえで処理を終わる
。このブロックがまだ登録されていない場合にはリブレ
ースビットにより定まるセットに対応するタグ部に第一
のアドレスラッチ31のタグ部の値を書き込むとともに
対応する固定フラグをオンにしてリブレースメントビッ
トを更新したうえで処理を終わる。
(3)バスからのメモリ書込み動作における処理地のプ
ロセッサあるいはIloからメモリへの書込み要求を常
に監視し、書込みのあったブロックの無効化を行なう、
即ち、制御回路はバスでメモリへの書込み要求が検出さ
れるとまず書込みアドレスを第二のアドレスラッチ32
に格納したうえで第二のボート経由でディレクトリ1を
検索し、対応するブロックがすでに登録されているが否
がを調べる。登録されている場合即ち第三あるいは第四
の比較回路のいずれかが一致を検出した場合にはディレ
クトリメモリ1の対応する有効ビットに値“0”を書込
みこれをオフにする。これにより次にこのブロック内の
ワードがアクセスされる時点ではあらためてバスに接続
されているメモリからブロックがロードされることにな
りキャッシュメモリとして使用する場合でもローカルメ
モリとして使用する場合でもバスに接続されているメモ
リとワンチップキャッシュメモリチップの内容の一致を
確保できることになる。
(4)ブロックの固定解除 プロセッサからブロックのアドレスとともに固定解除指
令が印加されることにより起動されると第一のアドレス
レジスタに固定解除すべきブロックアドレスを格納し、
これによりディレクトリを検索し、対応する固定フラグ
をオフにする。
以上本発明の実施例について説明したが本説明により明
らかなように本発明の主旨は同一チップ上に当該チップ
の保持しているブロックを管理するためのディレクトリ
部、ブロックデータの保持のためのデータメモリ部およ
びブロックのリブレース管理等の関連する制御回路部を
内蔵するワンチップキャッシュメモリにおいて、各ブロ
ックに対応してディレクトリに設けられた固定フラグ、
外部からの指令により指定されたブロックをディレクト
リに登録し対応する固定フラグをオンにするブロック固
定登録機能、フンチップキャッシュメモリに対するプロ
セッサからのアクセスに際してミスヒツトが発生した時
点で前記固定フラグがオンに設定されているブロックは
リブレースの対象としないブロック固定機能、バスから
のメモリへの書込み要求に際してディレクトリを検索し
一致が検出された場合には対応する有効ビットをオフに
するブロック無効化機能、更には外部からの指令により
前記固定フラグをオフにする固定解除機能を有し、ロー
カルメモリとしてもキャッシュメモリとしても使用可能
であることを特徴とするワンチップキャッシュメモリを
提供することにあり、本主旨に背かぬかぎりいくつかの
実現方法があることは明かであろう。
本実施例の説明においては128セツト2コンパートメ
ントの構成としているが、必ずしもそのようにする必要
はなく他の構成とすることも可能である。たとえばコン
パートメント数を4にした場合にはリブレースメント管
理のためには1ビツトのフラグではなく複数ビットが必
要となるとともに固定ビットがオンの場合のリブレース
情報の更新もこれに伴って変更する必要があろう。
本実施例の説明においては発明の主旨とは直接関係がな
いので制御回路の具体的な実現方法およびタイミング等
も含めた動作等、たとえばメモリアクセス要求、完了信
号を端子に印加するためのゲートの制御、読み出し、書
込みデータのデータ端子への印加、受は取り等について
も詳細な説明は省略したがこれらが従来知られている技
術で実現できることは明かであろう。またブロックのロ
ードの処理、プロセッサやバスとの制御情報の詳細等に
ついても本発明の主旨とは直接の関係がないので省略し
である。
本実施例においては説明の簡単のためにディレクトリ1
としてデュアルポートメモリを使用するものとしている
が、必ずしもそのようにする必要はなく、通常のシング
ルポートのメモリを使用することも可能である。但しこ
の場合にはプロセッサからとバスからのアクセスに際し
てのディレクトリメモリ1の読み出しが競合しないよう
に調整回路を設ける必要があり、性能低下も避けられな
いであろう。
〔発明の効果〕
本発明の実施例により明らかなように本発明によるワン
チップキャッシュメモリー個をプロセッサを接続してそ
の内の一部のブロックを固定することにより一部はロー
カルメモリとして、残りはキャッシュメモリとして使用
することが可能となり、特定のブロックに対するアクセ
スが極端に多いシステムにおいてはこれらをキャッシュ
メモリ上で固定することにより実効的なメモリアクセス
タイムを高速化でき、システムの性能を向上させること
が可能となる。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図である。 1・・・ディレクトリ、2・・・データメモリ、31゜
32・・・第一および第二のアドレスラッチ、4・・・
読み出しデータラッチ、51,52,53.54・・・
第一、第二、第三、第四の比較回路、5・・・書込みデ
ータラッチ、7・・・パスインタフェイス回路。 4゛占セ占υヒしデータクッナ

Claims (1)

    【特許請求の範囲】
  1. 同一チップ上に当該チップの保持しているブロックを管
    理するためのディレクトリ部、ブロックデータの保持の
    ためのデータメモリ部およびブロックのリブレース管理
    等の関連する制御回路を内蔵するワンチップキャッシュ
    メモリにおいて、各ブロックに対応してディレクトリに
    設けられた固定フラグ、外部からの指令により指定され
    たブロックをディレクトリに登録し対応する固定フラグ
    をオンにするブロック固定登録機能、ワンチップキャッ
    シュメモリに対するプロセッサからのアクセスに際して
    ミスヒットが発生した時点で前記固定フラグがオンに設
    定されているブロックはリブレースの対象としないブロ
    ック固定機能、バスからのメモリへの書込みを常に監視
    し、バスからの書込み要求に際して前記ディレクトリを
    検索し対応するブロックが登録されている場合にはそれ
    を無効化するためのブロック無効化機能を有し、ローカ
    ルメモリとしてもキャッシュメモリとしても使用可能で
    あることを特徴とするワンチップキャッシュメモリ。
JP62117820A 1987-05-13 1987-05-13 ワンチツプキヤツシユメモリ Pending JPS63282545A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62117820A JPS63282545A (ja) 1987-05-13 1987-05-13 ワンチツプキヤツシユメモリ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62117820A JPS63282545A (ja) 1987-05-13 1987-05-13 ワンチツプキヤツシユメモリ

Publications (1)

Publication Number Publication Date
JPS63282545A true JPS63282545A (ja) 1988-11-18

Family

ID=14721065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62117820A Pending JPS63282545A (ja) 1987-05-13 1987-05-13 ワンチツプキヤツシユメモリ

Country Status (1)

Country Link
JP (1) JPS63282545A (ja)

Similar Documents

Publication Publication Date Title
US7165144B2 (en) Managing input/output (I/O) requests in a cache memory system
US5586297A (en) Partial cache line write transactions in a computing system with a write back cache
JP3510240B2 (ja) キャッシュメモリー付マルチ処理システム
US5155832A (en) Method to increase performance in a multi-level cache system by the use of forced cache misses
US5249284A (en) Method and system for maintaining data coherency between main and cache memories
JPH0668735B2 (ja) キヤツシユメモリ−
US6751705B1 (en) Cache line converter
US6560681B1 (en) Split sparse directory for a distributed shared memory multiprocessor system
US6332179B1 (en) Allocation for back-to-back misses in a directory based cache
US5179675A (en) Data processing system with cache memory addressable by virtual and physical address
US5155828A (en) Computing system with a cache memory and an additional look-aside cache memory
US5590310A (en) Method and structure for data integrity in a multiple level cache system
JPH03225542A (ja) データ記憶方法及びビットエンコードデータの処理回路
US5694575A (en) Direct I/O control system with processor, main memory, and cache employing data consistency retaining scheme
US7472227B2 (en) Invalidating multiple address cache entries
KR100380674B1 (ko) 멀티프로세서 시스템에서의 기록-통과 기억 동작동안 캐시코히어런스를 유지하는 방법 및 시스템
JP3733604B2 (ja) キャッシュメモリ
US20010034808A1 (en) Cache memory device and information processing system
JPS63282545A (ja) ワンチツプキヤツシユメモリ
JPS63282544A (ja) ワンチツプキヤツシユメモリ
JPS6255743A (ja) キヤツシユメモリおよびこれを用いたキヤツシユメモリシステム
JP2963257B2 (ja) 処理装置
JPH0467662B2 (ja)
JPH10207773A (ja) バス接続装置
EP0407053B1 (en) Small, fast, look-aside data cache memory