JPH06314241A - 高速半導体記憶装置及び高速連想記憶装置 - Google Patents

高速半導体記憶装置及び高速連想記憶装置

Info

Publication number
JPH06314241A
JPH06314241A JP5218918A JP21891893A JPH06314241A JP H06314241 A JPH06314241 A JP H06314241A JP 5218918 A JP5218918 A JP 5218918A JP 21891893 A JP21891893 A JP 21891893A JP H06314241 A JPH06314241 A JP H06314241A
Authority
JP
Japan
Prior art keywords
data
memory
cache
cache memory
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
JP5218918A
Other languages
English (en)
Inventor
Naoyuki Fukuda
尚行 福田
Yukihiro Yoshida
幸弘 吉田
Noboru Kubo
登 久保
Kazuo Kinoshita
一生 木下
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP5218918A priority Critical patent/JPH06314241A/ja
Publication of JPH06314241A publication Critical patent/JPH06314241A/ja
Priority to US08/675,367 priority patent/US5619676A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6026Prefetching based on access pattern detection, e.g. stride based prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Dram (AREA)

Abstract

(57)【要約】 【目的】 キャッシュメモリの容量をメモリセルアレイ
の容量に比較して、縮小し、装置を小型化する。キャッ
シュミスヒットを低減し、キャッシュヒット率を向上さ
せる。 【構成】 閾値よりも平均キャッシュヒット率が低下し
たとき、メモリセル10からキャッシュメモリ12へデ
ータを転送させるためのデータ転送要求信号を発生する
キャッシュコントローラ15を備えている。この信号を
受けると、予測コントローラ17は、メモリセル10か
らキャッシュメモリ12へ転送させるべきデータ群の先
頭アドレスを予測決定する。予測は、あらかじめ設定さ
れたアドレス変更予測式及び過去複数サイクルの入力ア
ドレスに基づいて、実行される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、高速度でデータを読み
出すことの出来る高速記憶装置に関し、特に、キャッシ
ュメモリを有する高速半導体記憶装置及び高速連想記憶
装置に関する。
【0002】
【従来の技術】半導体記憶装置について、高速動作のた
めの種々の技術が開発されている。このような技術とし
て、例えば、次の技術が知られている。
【0003】(1)ページモードと呼ばれる高速アクセ
ス技術 ダイナミックラム(DRAM)等のメモリにおいては、
センスアンプが、同一ロウアドレスに対するデータを保
持するためのラッチを有していると、センスアンプによ
るセンス動作が完了した時点で、例えば、nビットのデ
ータが対応するnビットのセンスアンプ内に保持され
る。このnビットのデータは、列(コラム)アドレスを
変えることによって高速に選択し出力され得る。
【0004】高速ページモードアドレッシング技術によ
れば、最初に行(ロウ)アドレスを内部的にラッチした
うえで、それ以降は、コラムアドレスを変更することに
より、一連のメモリ動作が実行される。最初のロウアド
レスのラッチは、RAS信号の立ち下がりにより行う。
この技術によれば、あるコラムアドレスによって、その
コラムアドレスに対応するコラムラインを介してデータ
の読みだしを行ったあと、次に、他のコラムアドレスに
よって、そのコラムアドレスに対応するコラムラインを
介してデータの読みだしが行われる。この一連の動作
が、ロウアドレスを一定にしたまま実行される。
【0005】このような高速ページモード技術によれ
ば、例えば、1キロ×1キロビット構成を有するDRA
Mにおいて、ノーマルモードでのサイクルタイムが15
5nsであるとすると、入力アドレスが同一ロウ内にあ
るとき、1kのコラムアドレスに対して50nsのサイ
クルタイムでランダムアクセスが可能となる。
【0006】(2)キャッシュメモリを利用する技術 キャッシュメモリを利用する技術によれば、タグとデー
タとを高速キャッシュメモリ内に格納しておき、入力ア
ドレスを、まず、キャッシュメモリ内のタグと比較す
る。入力アドレスとタグとが一致したとき、なすわち、
入力アドレスに対応するデータがキャッシュメモリ内に
記憶されているとき、そのデータをキャッシュメモリか
ら出力させる。その結果、高速のデータ読みだしが可能
となる。
【0007】このキャッシュメモリを利用する技術を改
良した技術を採用する高速半導体記憶装置として、米国
のRambus社の開発したRDRAMが知られてい
る。このRDRAMは、マスタ部分と、スレーブ(RD
RAM)部分と、Rambusチャネル部分とを備えて
いる。RDRAMは、DRAMのセンスアンプをキャッ
シュメモリとして使用する。
【0008】このRDRAMによれば、例えば、4メガ
ビットDRAMについて、キャッシュメモリとして利用
できる1ページの大きさは、8キロビットになる。すな
わち、1チップ当たり、2ページ分のキャッシュメモリ
を備えることができる。これは、通常の4メガビットD
RAMの高速ページモードで使用するセンスアンプサイ
ズの4倍の大きさの容量を実現している。Rambus
チャネルは、マスタ部分とRDRAMとを接続し、9ビ
ットで、500メガバイト/秒の転送速度を達成する。
これは、通常のDRAMの動作速度の10倍程度の高速
動作である。
【0009】上記RDRAM以外にも、シンクロナスD
RAMやキャッシュDRAMが報告されている。
【0010】連想記憶装置とは、データ記憶領域に蓄積
されているデータの中から検索キーワードに照合するデ
ータを高速に検索することを目的とするものである。こ
のような連想記憶装置は、記憶内容によるアドレシン
グ、データ記憶領域への検索キーワードの同時配分、検
索キーワードとマスクとを用いた比較の並列処理、照合
結果の検知と検索とを行う。このような連想記憶装置
は、例えば「IEEE Computer」の1989年7月号の第51頁か
ら第64頁に記載されている論文(「Content Addressabl
e and Associate Memory」)に記載されている。
【0011】従来、連想記憶を実現するアーキテクチャ
としては、ビットシリアル方式、バイトシリアル方式、
ワードシリアル方式、及び分散論理メモリが知られてい
る。ビットシリアル方式では、データの記憶領域への登
録と検索とをビット単位で行う。バイトシリアル方式で
は、データの記憶領域への登録と検索とをバイト単位で
行う。ワードシリアル方式では、分散論理メモリに比較
して、ロジック部分の規模を小さくすることができ、高
密度の設計が可能となる。大規模な連想メモリには、ビ
ットシリアル方式、バイトシリアル方式、及びワードシ
リアル方式が適しているとされている。
【0012】図15は、従来の連想記憶装置の構成を模
式的に示している。この連想記憶装置は、検索対象とな
るデータとしてM個のWord1〜WordMを格納す
るための記憶領域801を備えている。探索キーワード
は、キーワードレジスタ802に格納されている。ま
た、ビット単位のマスクパターンがマスクレジスタ80
3に格納されている。
【0013】記憶領域801に格納されているデータと
探索キーワードとの照合は、記憶領域801とマスクレ
ジスタ803とに接続されている照合部804内にて実
行される。照合部804は、Mビットの照合フラグ用レ
ジスタ805が接続されている。照合フラグ用レジスタ
805には、照合の結果として、照合フラグが書き込ま
れる。照合フラグ用レジスタ805には、照合フラグを
判定する照合フラグ用判定回路806が接続されてい
る。連想記憶装置は、さらに、記憶領域801に接続さ
れた検索回路807と、検索回路807に接続された出
力レジスタ808とを備えている。
【0014】以下に、ビットシリアル方式で連想記憶探
索を行う場合の、この連想記憶装置の動作を説明する。
まず、探索キーワードとマスクパターンとがキーワード
レジスタ802とマスクレジスタ803とから照合部8
04へ入力される。一方、探索対象となるデータが記憶
領域801と照合部804とに入力される。ここで、探
索対象となるデータはM個のWord1〜WordMで
あり、これらM個のWordの各々は、ビット単位で並
列に照合部804に入力される。
【0015】照合部804は、各ワードに対応するM個
の照合回路を含んでおり、各照合回路には探索キーワー
ドと探索対象データとがビット単位で入力される。この
照合回路は、照合されるビットの全てが一致した場合に
1を出力し、照合されるビットの一つでも不一致の場
合、0を出力するように構成されている。各照合回路の
出力は、照合フラグ用レジスタ805の各ビットに対応
し、その結果、探索キーワードと一致したワードに対応
する照合用フラグレジスタ805のビットにのみフラグ
がたつ。照合フラグ用レジスタ805の各ビットには、
各ワードに一対一に対応するレジスタアドレスが付与さ
れる。
【0016】照合フラグ用判定回路806は、照合フラ
グ用レジスタ805の各ビットの値が1のレジスタアド
レスを出力する。検索回路807は照合したレジスタア
ドレスを受け取り、記憶領域801の該アドレスでの内
容を読み出した後、その内容を出力レジスタ808に出
力する。この例では、ビットシリアル方式での照合を示
したが、バイト単位もしくはワード単位での照合も同様
に実現される。
【0017】
【発明が解決しようとする課題】上述の高速半導体記憶
装置においては、次のような問題がある。
【0018】(1)ページモードと呼ばれる高速アクセ
ス技術の欠点 入力アドレスが、同一のロウ内にないとき、アクセス速
度が著しく低下する。 (2)キャッシュメモリを利用する技術の欠点 同一の入力アドレスが複数回入力された場合、その入力
アドレスについて2度目以降のアクセスが高速化され
る。初めて入力されたアドレスについては、高速アクセ
ス可能なラッチ、若しくはRAMにデータがない場合が
発生し得る。そのようなとき、メモリセルアレイへ再度
アクセスが実行され、動作速度は、1/3から1/5に
低下してしまう。キャッシュヒット率を向上させるため
には、キャッシュメモリの容量を大きくする必要が生
じ、半導体記憶装置を高価なものにしてしまう。
【0019】また、連想記憶装置を高速化するために、
キャッシュメモリを利用する従来技術を採用しても、上
記した理由により、それほど高速に動作させることはで
きない。
【0020】本発明は、上記課題を解決するためになさ
れたものであり、その目的とするところは、キャッシュ
メモリの性能を活用し、キャッシュヒット率が向上させ
た安価な高速半導体記憶装置及び高速連想記憶装置を提
供することにある。
【0021】
【課題を解決するための手段】本発明の高速半導体記憶
装置は、データを記憶する複数のメモリセル、及び該複
数のメモリセルに記憶されている該データの一部を記憶
するためのキャッシュメモリを有する1以上のメモリモ
ジュールを備えた高速半導体記憶装置であって、該装置
は、更に、入力アドレスに対応するデータが該キャッシ
ュメモリ内に記憶されているか否かを判定し、その判定
の結果、該データが該キャッシュメモリ内に記憶されて
いるときは、該データを該キャッシュメモリから出力さ
せ、また、該データが該キャッシュメモリ内に記憶され
ていないときは、該データを該複数のメモリセルから読
み出させるとともに、該データを該キャッシュメモリ内
に記憶させることによって、該キャッシュメモリ内の記
憶内容を更新するキャッシュコントローラを備えてお
り、該キャッシュコントローラは、平均キャッシュヒッ
ト率を求めるヒット率カウンタと、所望の閾値を記憶
し、該閾値と該平均キャッシュヒット率とを比較する比
較器と、を備えており、該閾値よりも該平均キャッシュ
ヒット率が低いときは、該メモリセルから該キャッシュ
メモリへデータを転送させるためのデータ転送要求信号
を発生し、そのことにより上記目的が達成される。
【0022】ある実施例では、前記データ転送要求信号
を受け取ると、前記メモリセルから前記キャッシュメモ
リへ転送させるべきデータの最初のアドレスを決定する
予測コントローラを備えている。
【0023】ある実施例では、前記予測コントローラ
は、過去複数サイクルの前記入力アドレスを記憶し得る
シフトレジスタを有しており、あらかじめ設定されたア
ドレス変更予測式及び該過去複数サイクルの該入力アド
レスに基づいて、前記メモリセルから前記キャッシュメ
モリへ転送させるべき前記データの前記最初のアドレス
を決定する。
【0024】ある実施例では、さらに、キャッシュメモ
リサイズ設定用レジスタを備えており、該キャッシュメ
モリサイズ設定用レジスタは、前記キヤッシュメモリの
記憶容量のサイズとバンク数とを初期設定することがで
きる。
【0025】本発明の高速連想記憶装置は、データを記
憶する複数のメモリセル、及び該複数のメモリセルに記
憶されている該データの一部を記憶するためのキャッシ
ュメモリを有する1以上のメモリモジュールを備えた高
速連想記憶装置であって、該装置は、更に、入力データ
と入力マスクパターンとを、記憶されているデータと照
合するための照合手段と、該入力データと照合一致する
データが該キャッシュメモリ内に記憶されているか否か
を判定し、その判定の結果、該データが該キャッシュメ
モリ内に記憶されていないときは、該データを該複数の
メモリセルから読み出させるとともに、該データを該キ
ャッシュメモリ内に記憶させることによって、該キャッ
シュメモリ内の記憶内容を更新するキャッシュコントロ
ーラと、平均キャッシュヒット率を求めるヒット率カウ
ンタと、を備えており、該ヒット率カウンタは、所望の
閾値を記憶し、該閾値と該平均キャッシュヒット率とを
比較する比較器と、を備えており、該閾値よりも該平均
キャッシュヒット率が低いときは、該メモリセルから該
キャッシュメモリへデータを転送させるためのデータ転
送要求信号を発生し、そのことにより上記目的が達成さ
れる。
【0026】ある実施例では、前記データ転送要求信号
を受け取ると、前記メモリセルから前記キャッシュメモ
リへ転送させるべきデータを決定する予測コントローラ
を備えている。
【0027】ある実施例では、前記予測コントローラ
は、過去複数サイクルの前記入力データに一致照合した
データのレジスタを有しており、該過去複数サイクルの
該データに基づいて、前記メモリセルから前記キャッシ
ュメモリへ転送させるべき前記データを決定する。
【0028】ある実施例では、キャッシュメモリサイズ
設定用レジスタを備えており、該キャッシュメモリサイ
ズ設定用レジスタは、前記キヤッシュメモリの記憶容量
のサイズとバンク数とを初期設定することができる。
【0029】
【作用】キャッシュメモリを有する本発明の高速半導体
記憶装置では、キャッシュコントローラが、入力アドレ
スに対応するデータがキャッシュメモリ内に記憶されて
いるか否かを、まず判定する。データがキャッシュメモ
リ内に記憶されていないときは、データをメモリセルか
ら読み出させる。データがキャッシュメモリ内に記憶さ
れているときは、キャッシュメモリからそのデータを読
みだす。こうして、キャッシュヒット時には、高速のデ
ータ読みだしが達成される。
【0030】本発明では、ヒット率カウンタにより、平
均キャッシュヒット率が求められる。平均キャッシュヒ
ット率が所望の閾値よりも低いとき、メモリセルからキ
ャッシュメモリへデータを転送させるためのデータ転送
要求信号がキャッシュコントロまーラから送出される。
このデータ転送要求信号を受け取ると、予測コントロー
ラは、メモリセルからキャッシュメモリへ転送させるべ
きデータの最初のアドレスを決定する。そして、そのア
ドレスを先頭とする一連のアドレスについて、データが
キャッシュメモリへ転送される。このデータ群は、その
後のキャッシュヒット率を向上させるように予測選択さ
れる。このようにして、本発明では、キャッシュメモリ
の記憶内容を予測更新するため、キャッシュメモリのミ
スヒットを減少させることができる。
【0031】予測コントローラが、過去複数サイクルの
入力アドレスを記憶し得るシフトレジスタを有している
と、あらかじめ設定されたアドレス変更予測式と過去複
数サイクルの入力アドレスに基づいて、メモリセルから
キャッシュメモリへ転送させるべきデータの最初のアド
レスを決定することができる。
【0032】また、キャッシュメモリを有する本発明の
高速連想記憶装置では、キャッシュコントローラが、入
力データに対応するデータ(以下、「連想内容」と称す
る)がキャッシュメモリ内に記憶されているか否かを、
まず判定する。データがキャッシュメモリ内に記憶され
ていないときは、データをメモリセルから読み出させ
る。データがキャッシュメモリ内に記憶されているとき
は、キャッシュメモリからそのデータを読み出す。こう
して、キャッシュヒット時には、高速のデータ読み出し
が達成される。
【0033】本発明では、ヒット率カウンタにより、平
均キャッシュヒット率が求められる。平均キャッシュヒ
ット率が所望の閾値よりも低いとき、メモリセルからキ
ャッシュメモリへデータを転送させるためのデータ転送
要求信号がヒット率カウンタから予測コントローラへ送
出される。このデータ転送要求信号を受け取ると、予測
コントローラは、メモリセルからキャッシュメモリへ転
送させるべきデータを決定する。そして、そのデータを
連想内容とする一連のデータがキャッシュメモリへ転送
される。このデータ群は、その後のキャッシュヒット率
を向上させるように予測選択される。このようにして、
本発明では、キャッシュメモリの記憶内容を予測更新す
るため、キャッシュメモリのミスヒットを減少させるこ
とができる。
【0034】予測コントローラが、過去複数サイクルの
入力データを記憶し得るシフトレジスタを有している
と、あらかじめ設定されたデータパターン予測式と過去
複数サイクルの入力データに基づいて、メモリセルから
キャッシュメモリへ転送させるべきデータを決定するこ
とができる。
【0035】
【実施例】以下に、本発明を実施例について説明する。
【0036】(実施例1)図1を参照して、まず、本実
施例の高速半導体記憶装置の構成の概略を説明する。本
高速メモリは、複数のメモリモジュール1、2、…、N
を備えている。以下において、図1中の最左のメモリモ
ジュールから右に数えてi番目のメモリモジュールを、
i番目メモリモジュールと称する。各メモリモジュール
は、データを記憶する通常のメモリセルアレイ10と、
そのメモリセルアレイ10に記憶されているデータの一
部を記憶するためのキャッシュメモリ12と、メモリセ
ルアレイ10からキャッシュメモリ12へデータを転送
するデータ転送回路11と含んでいる。これらの基本的
内部構成は、従来のものと同様である。メモリセルアレ
イ10を構成する各メモリセルは、ROM用セルであっ
てもRAM用セルであってもよい。
【0037】図1では、簡単のため、3個のメモリモジ
ュールが示されているが、本実施例に用いられているメ
モリモジュールの数は16個である(N=16)。本実
施例の各メモリセルアレイ10の容量(記憶ビット数)
は1メガビットである。結果として、本メモリの容量は
16メガビットとなる。また、各キャッシュメモリ12
の容量は、1キロビットである。データが1バイト単位
で読みだされるとすると、アドレス空間の大きさは、2
17となる。これらの数値は、本実施例の値に限定される
ものではなく、任意に設定され得る。
【0038】アドレスバスを通じて本半導体記憶装置に
入力されるアドレス信号(以下、「入力アドレスA」と
する)は、アドレスバッファ13、アドレスデコーダ1
4、キャッシュコントローラ15を介して、各メモリモ
ジュールに伝達される。アドレスデコーダ14によりア
ドレス信号はデコードされる。メモリモジュールから読
みだされたデータは、出力バッファ(不図示)を介して
出力される。これらの点について、本実施例の構成は従
来の構成と同様である。
【0039】以下に、キャッシュコントローラ15につ
いて、その構成及び機能を詳述する。
【0040】図1に示されているように、本実施例のキ
ャッシュコントローラ15は、各メモリモジュールのメ
モリセルアレイ10及びキャッシュメモリ12に並列に
接続されている。キャッシュコントローラ15は、アド
レスデコーダ14によりデコードされた入力アドレスA
(すなわち、入力アドレスAに対応するデータ)がキャ
ッシュメモリ12内に記憶されているか否かを判定する
機能を有している。その判定の結果、データがキャッシ
ュメモリ12内に記憶されているとき(「キャッシュヒ
ット」のとき)は、そのデータをキャッシュメモリ12
から出力させる。このとき、メモリセルアレイ10から
データを読みだすよりも、高速度でデータを読み出すこ
とができる。
【0041】図2を参照しながら、上記判定の方法を説
明する。まず、入力アドレスAがアドレスレジスタ20
0に入力されると、入力アドレスAのうち、LSBから
nビット目迄のnビットについて、キャッシュメモリ1
2に記憶されているタグメモリのタグアドレスが検索さ
れる。入力アドレスAのうち、LSBからnビット目迄
のnビットと一致するタグアドレスが見つかると、その
タグアドレスと対応するデータとが出力される。一方、
キャッシュメモリ15の内部の比較器150は、入力ア
ドレスAのうちのn+1ビットからMSB目迄のm−n
ビットと、タグアドレスとの比較を行う。両者が一致す
るとき(キャッシュヒットのとき)、キャッシュメモリ
12から対応するデータを出力させる。また、不一致の
とき(ミスヒットのとき)は、何れかのメモリセルアレ
イ10からデータを読みだした後、そのデータが記憶さ
れているメモリセルアレイ10を含むメモリモジュール
内のキャッシュメモリ12に関して、タグメモリ及びデ
ータメモリが、入力アドレスA及び読みだしたデータに
より更新される。
【0042】キャッシュヒット時には、例えば、20n
secの高速でデータを読み出すことができる。ただ
し、ミスヒット時は、150nsec程度の速度でデー
タは読みだされる。なお、本実施例では、ミスヒット時
のみならず、キャッシュヒットの割合が低くなったとき
にも、キャッシュメモリ12のデータ内容を更新し、キ
ャッシュヒット率を向上させるための構成を採用してい
る。
【0043】以下、このようなデータ更新のための構成
を詳述する。
【0044】本実施例のキャッシュコントローラ15
は、平均キャッシュヒット率を求めるヒット率カウンタ
20を備えている。平均キャッシュヒット率とは、入力
アドレスAに対応するデータがキャッシュメモリ12内
に記憶されていた割合を過去数サイクルにわたって求め
た値である。ヒット率カウンタ20は、τビットのレジ
スタを有しており、ある時刻t以前のτサイクル期間に
わたるキャッシュヒットの有無を記憶し、それに基づい
て平均キャッシュヒット率を計算する。
【0045】また、本実施例のキャッシュコントローラ
15は、ある閾値Hと平均キャッシュヒット率とを比較
する比較器を備えており、その閾値よりも平均キャッシ
ュヒット率が低いときは、メモリセルアレイ10からキ
ャッシュメモリ12へデータを転送させるためのデータ
転送要求信号を発生する。このデータ転送要求信号は、
後述する予測コントローラ17に伝達される。閾値は、
例えば、85パーセントや90パーセント等の値に任意
に設定され得る。
【0046】本実施例の高速メモリは、予測コントロー
ラ17を備えている。以下に、図3を参照しながら、予
測コントローラ17の構成及び機能を説明する。
【0047】本実施例の予測コントローラ17は、キャ
ッシュコントローラ15(正確には、キャッシュヒット
率カウンタ20)からデータ転送要求信号を受け取る
と、メモリセルアレイ10からキャッシュメモリ12へ
転送させるべきデータ群の最初のアドレスを決定するこ
とができる。メモリセルアレイ10からキャッシュメモ
リ12に転送すべきデータ群を的確に予測し選択するこ
とにより、その後のキャッシュヒット率を向上させるこ
とができる。
【0048】予測コントローラ17は、アドレスバッフ
ァ13を介して、入力アドレスAを受け取り、それを記
憶することができる。図3に示されるように、そのよう
な記憶手段として、予測コントローラ17は、シフトレ
ジスタ170を有している。シフトレジスタ170は、
過去複数サイクル(例えばPサイクル)の入力アドレス
Aを記憶することができる。本明細書では、あるサイク
ル(時刻t)におけるアドレスAを、簡単のため、A
(t)で表現することとする。また、そのサイクルより
nサイクルだけ過去のサイクルにおけるアドレスAを、
A(t−n)で表現する。この表記によれば、A(t)
からA(t−P+1)迄の合計P個のアドレスAをシフ
トレジスタ170は記憶することができると言える。こ
のシフトレジスタ170の記憶する各アドレスAは、並
列的に予測式判定部172に送出され得る。
【0049】予測コントローラ17は、あらかじめ予測
式記憶部171に記憶させたアドレス変更予測式に従っ
て、予測式判定部172において、メモリセルアレイ1
0からキャッシュメモリ12へ転送させるべきデータ群
の最初のアドレスf(A)を予測する。言い換えれば、
予測コントローラ17の予測したアドレスf(A)を先
頭アドレスとして、そのアドレスから連続する1群のア
ドレスに対応する1群のデータが、メモリセルアレイ1
0からキャッシュメモリ12へ転送されることとなる
(ブロック転送)。ブロック転送されるデータのサイズ
は、1キロビット/Nバンクとする。
【0050】アドレス変更予測式は、過去複数サイクル
の入力アドレスA(t)の関数として設定され得る。以
下の数1から数8は、それぞれ、アドレス変更予測式の
例を示している。ここで、アドレス変更予測式は、求め
るべき最初のアドレスf(A)を過去のアドレスAの関
数として表現している。予測は、記憶されている入力ア
ドレスA(t)からA(t−P+1)のうち、所定の数
のアドレスをアドレス変更予測式に代入することによ
り、実行される。
【0051】 予測式1: if{A(t)>A(t-1)} and {A(t-1)>A(t-2)} then f(A)=A(t)+{A(t)-A(t-1)} 予測式2: if{A(t)<A(t-1)} and {A(t-1)<A(t-2)} then f(A)=A(t)+{A(t)-A(t-1)}-K+1 K=1024/N kはブロック転送されるデータサイズ 予測式3: f(A)=A(t)+1 予測式4: f(A)=A(t)-1 予測式5: f(A)=A(t)+R Rは、R>1の定数 予測式6: f(A)=A(t)-R 予測式7: f(A)=Amin Aminは、メモリセルアレイ
の最小アドレス 予測式8: f(A)=Amax Amaxは、メモリセルアレイ
の最大アドレス ある予測式を適用した場合において、キャッシュヒット
率が向上しないときは、他の予測式を選択することがで
きる。予測コントローラ17は、予測切換レジスタ18
に接続されており、予測切換レジスタ18によって、記
憶されている予測式の選択を切り換えることができる。
【0052】このように、本実施例では、アドレスf
(A)を先頭とする連続したアドレス及びそれに対応す
るデータが、キャッシュメモリ12内に格納されるよう
に、メモリセルアレイ10からキャッシュメモリ12へ
のブロック転送を行う。一方、キャッシュメモリ12内
に入力アドレスAに対応するデータが存在しないとき、
割り込み発生発生レジスタ16(図1)から外部に割り
込み信号を送出し、直ちに、そのアドレスをメモリから
キャッシュメモリ12へ転送する。その転送が完了する
まで、割り込み信号の送出は保持される。
【0053】本実施例の高速メモリは、図1に示される
ように、キャッシュメモリサイズ設定用レジスタ19を
備えている。キャッシュメモリサイズ設定用レジスタ1
9は、キヤッシュメモリ12の記憶容量のサイズとバン
ク数とを初期設定する。たとえば、レジスタを1に設定
することにより、キャッシュメモリ12は、1Kビット
を1バンクとして使用されるように設定され、レジスタ
を2に設定することにより、512ビットづつ2バンク
として使用されるように設定される。
【0054】以下に、予測コントローラ17の動作を、
より具体的に説明する。
【0055】各メモリセルアレイ10の構成が64キロ
×16ビットであり、各キャッシュメモリ12の構成が
64×16ビットであるとする。メモリモジュールが1
6個あるので、総容量は1メガ×16ビットとなる。
【0056】アドレスA(t)は、00000hからF
FFFFh(16ビット表現)で表現される220のアド
レス空間をもつ。キャッシュメモリサイズ設定用レジス
タ19を用いて、分割数を4に設定し、メモリセル10
からキャッシュメモリ12へ転送するデータのワード数
(転送ワード数)は16ワードとする。予測コントロー
ラ17のレジスタ数を4ワード、キャッシュヒット率の
閾値を90パーセント、平均キャッシュヒット率を求め
るためのサイクルを5サイクルとする。
【0057】t=T−4サイクルからからt=Tサイク
ルまでの5サイクルの入力アドレスとして、例えば、下
記のアドレスが記憶されたとする。
【0058】t=T−4: A(t)=00010h t=T−3: A(t)=00011h t=T−2: A(t)=00012h t=T−1: A(t)=00013h t=T: A(t)=00014h また、平均キャッシュヒット率が、t=Tにおいて、閾
値90パーセント以下になったとする。すると、その時
点で、ヒット率カウンタ20からデータ転送要求信号が
予測コントローラ17に送出される。データ転送要求信
号を受け取った予測コントローラ17は、例えば、予測
式1に従って、f1(A)=00015hを得る。予測
コントローラは、00015hを先頭アドレスとして、
16ワードのデータをメモリセルアレイ10からキャッ
シュメモリ12に転送させる。
【0059】キャッシュメモリ12は、16ワードづ
つ、4バンクに分割されているとする。メモリセルアレ
イ10から転送されたデータは、キャッシュメモリ12
の4つのバンクのうち、もっとも過去に読みだしが行わ
れたバンクに書き込まれることが好ましい。データの書
き込みと同時に、タグメモリが更新される。
【0060】キャッシュメモリ12の4つのバンクのう
ち、何れのバンクが最も過去に読みだしが行われたかを
知るには、キャッシュメモリ12中において、バンクを
巡回するように順序づけるとよい。図4は、16ワード
を1バンクとするキャッシュメモリ12を使用して、上
記巡回を行うためのデータ転送回路11の構成例を示し
ている。データ転送回路11は、予測コントローラ17
からのf(A)を受け取るアドレス発生部110を有し
ている。アドレス発生部110は、転送すべきデータの
アドレスを出力する。アドレス発生部110の出力は、
マルチプレクサ151へ入力される。マルチプレクサ1
51は、予測コントローラ17によるデータ転送を行う
とき、その先頭アドレスf(A)を選択し、キャッシュ
ミスヒットのときは、入力アドレスA(t)を選択す
る。
【0061】メモリセルアレイ10から読みだされたデ
ータは、データ転送回路11のバッファ111及びマル
チプレクサ112を介して、キャッシュメモリ12に転
送される。データ転送回路11は、データが書き込まれ
るべきバンクを指定するためのバンクモードレジスタ1
13を有している。
【0062】データ転送時、データはワード単位で、デ
ータ転送される先頭アドレスから順にバッファ111に
転送される。バッファ111内のデータは、キャッシュ
メモリ12の4バンクのうち、モードレジスタ113に
指定されるバンク内に書き込まれる。バッファ111の
容量が1ワードである場合、16ワードのデータを転送
するには、16サイクルが必要となる。キャッシュメモ
リ12のバンクに対する16ワード分のデータ転送が終
了すると、モードレジスタ113の記憶内容は、1だけ
インクリメントされ、次のバンクを指定する。こうし
て、前記巡回が実行される。
【0063】メモリセル内部でデータ転送に要する時間
は次の通りである。文献Computational Ram: A memory
-SIMD Hybrid and its Application to DSP (CICC'92 M
ay 6section 30.6)に従えば、メモリ内部でのデータ転
送スピードは、1.1×1012バイト/秒である。従っ
て、16ワード(1ワードは16ビット)をブロック転
送するには、(16×16)/(1.1×1012×8)
=2.9×10-11秒を要する。
【0064】これは、キャッシュメモリとして使用して
いるSRAMの読みだし速度比べて充分に小さい。な
お、キャッシュヒット率の計算は、メモリアクセスと同
時に並行して実行するためにメモリの読みだし速度に影
響しない。
【0065】予測式の選択と予測式の計算は、選択され
る式によって処理に要する時間が異なる。最大の処理時
間を要する予測式は、予測式2である。f(A)を求め
るのに、加算/減算を4回必要とするからである。現
在、一般に、0.8μmプロセスで形成された8ビット
フルアダーの処理には約2ナノ秒必要であるから、予測
式2の計算には、約8ナノ秒(=2ナノ秒×4回)必要
である。しかし、これはキャッシュメモリの読みだし速
度に比較して充分に小さい。
【0066】以上説明してきたように、本実施例の高速
メモリによれば、キャッシュメモリの容量をメモリセル
アレイの容量に比較して、大きく縮小することが実現す
る。これは、高速メモリの小型化に役立つ。より具体的
には、本実施例では、メモリセルアレイ10の容量と、
キャッシュメモリ12の容量との比が、1000:1と
なる。なお、従来技術の一つであるRDRAMにおいて
は、この比は、250:1である。
【0067】アプリケーションによって、キャッシュメ
モリの容量の割合とヒット率との関係は変化する。一般
に、キャッシュメモリのサイズを大きくすると、性能が
向上する。しかし、キャッシュメモリの容量を大きくし
過ぎると、キャッシュメモリへのアクセスがクリティカ
ルパスとなるため、読みだし速度が低下してしまうこと
になる。図5は、メモリセルアレイの容量とキャッシュ
メモリの容量の比と、キャッシュヒット率との関係を示
している。図5において、hはキャッシュヒット率を、
Smはメモリセルアレイの容量を、Scはキャッシュメ
モリの容量を示している。
【0068】本実施例の高速メモリは、キャッシュメモ
リのデータについて、予測更新機能を有するため、ミス
ヒットを低減して、キャッシュヒット率を向上させるこ
とができる。具体的な数値を用いてこのことを以下に説
明する。一般に、キャッシュヒット率と読みだし時間の
関係は、次の式で示される。
【0069】tr=tc・h/100+(tm+tc)・(1-h/100)+tp ここで、読みだし時間をtr、キャッシュメモリの読み
だし時間をtc、メモリセルの読みだし時間をtm、キ
ャッシュヒット率をhパーセント、過去のアドレス入力
の履歴から予測式に従ってブロック転送開始アドレスを
計算する時間をtpとしている。
【0070】図6は、キャッシュヒット率と速度改善率
との関係を示している。速度改善率は、tr/tmで表
される。例えば、tc=20ナノ秒、tm=150ナノ
秒、tp=約0秒として、より具体的に読みだし時間を
比較する。もし、すべての入力アドレスが1回アクセス
されるとすると、従来のキャッシュメモリ型高速メモリ
では、キャッシュヒット率hはゼロとなるため、上式か
ら、tr=150ナノ秒が得られる。これは、メモリセ
ルアレイ10にアクセスする場合の読みだし時間と同じ
である。一方、本実施例によれば、同じデータが1度し
かアクセスされない場合でも、予測式に基づくデータ転
送によって、キャッシュメモリ12の内容が更新され得
る。その結果、例えば、キャッシュヒット率と予測式の
計算に過去4サイクル分のデータを使用し、16バイト
のデータ転送を行う場合、データのミスヒットがデータ
転送1回について2回発生したとすると100/16=
12.5パーセントのミスヒットが起こる。従って、ヒ
ット率は87.5パーセントになる。図7は、キャッシ
ュヒット率と読みだし時間との関係を示している。横軸
は、キャッシュット率、縦軸はキャッシュメモリの読み
だし時間を20ナノ秒とした場合の本発明の半導体記憶
装置の読みだし速度を示している。図7においては、t
m=150ナノ秒の場合のデータがプロットされてい
る。図7からわかるように、ヒット率が87.7パーセ
ントのとき、tr=38.75ナノ秒となる。このた
め、メモリセルアレイ10へアクセスする場合の読み出
し速度に比べて、3.9倍高速化される。予測式の計算
と、その結果に基づくデータ転送のオーバーヘッドは、
前記のとおりキャッシュメモリの読みだし速度に比べて
充分に小さい。
【0071】以下において、キャッシュメモリのサイ
ズ、メモリへのアクセスパターン、及びヒット率の関係
を説明する。この関係は、本発明者によるシミュレーシ
ョンから得られたものである。
【0072】まず、本シミュレーションのために使用し
たアクセスパターンIを説明する。ここで使用したアク
セスパターンIは、現在のアクセスアドレスをアドレス
A(t)とする場合において、次のアドレスA(t+
1)の発生する確率が、アドレスの差(A(t+1)−
A(t))に対して線形的に分布するパターンである。
ここで、(A(t+1)−A(t))=Sを、アドレス
ジャンプ距離と呼ぶことにする。図16は、横軸がアド
レスジャンプ距離Sを、縦軸が次のアドレスA(t+
1)の発生確率を表している。このアクセスパターンI
によれば、アドレスジヤンプ距離Sが大きくなるにつ
れ、アドレス発生確率は直線的に小さくなる。A(t+
1)の発生確率が0となるアドレスジャンプ距離Sは、
アドレス偏位(「ワード」を単位とする。)と呼ばれ、
図16において、記号「L」で示されている。アドレス
偏位Lという言葉は、例えば、「アドレス偏位Lは、2
56ワードである」というように用いられる。アドレス
偏位Lが大きいほど、アドレスジャンプ距離Sの大きな
アドレスA(t+1)が発生する確率が大きくなる。
【0073】次に、キャッシュメモリの更新アルゴリズ
ムは、以下の通りとする。
【0074】読みだしアルゴリズムは、次の通りであ
る。
【0075】ステップ0: 読みだしアドレスA(t)
の入力 ステップ1: このアドレスA(t)がキャッシュメモ
リにミスヒットした場合、キャッシャメモリから適当な
データを排除して空きエリアを確保し、当該アドレスA
(t)のデータD(t)を先頭として、1ブロック分の
データをメモリからキャッシュメモリへ読み出す。
【0076】ステップ2: キャッシュメモリからデー
タD(t)を読み出し、出力する。 ステップ3: 設定した閾値よりもヒット率が小さくな
ると、読み出しアドレスA(t+1)を予測する。予測
アドレスがキャッシュメモリにない場合、キャッシュメ
モリから適当なデータを排除して、空きエリアを確保
し、アドレスA(t+1)のデータD(t+1)を先頭
として、1ブロック分メモリからキャッシュメモリへ読
み出す。ステップ3で、アドレスA(t+1)を予測す
るアルゴリズムにおいては、与えられたアクセスパター
ンIを考慮して、予測式1を用いた。
【0077】なお、キャツシュメモリの更新は、1ブロ
ック単位に実行することとした。ブロックサイズが記号
「B」で表されるとすると、「L/B」は、アクセスの
非局所性を示すこととなる。
【0078】図17及び図18は、以上の前提に基づい
て行ったシミュレーションの結果を示している。図17
は、キャッシュメモリのブロックが1個の場合におけ
る、ミスヒット時の転送アドレスの予測の有無によるヒ
ット率の違いを示している。図18は、ブロックが2個
の場合における、ミスヒット時の転送アドレスの予測の
有無によるヒット率の違いを示している。メモリ容量は
1メガワード、キャッシュメモリ容量は512ワード
(図17)と1キロワード(図18)、ブロックサイズ
は512ワードとした。シミュレーションは、アドレス
を1000回発生させる場合について実行した。
【0079】これらのシミュレーション結果から、次の
ことがわかる。
【0080】(1)ヒット率はアクセスの非局所性(L
/B)に比例して減少する。
【0081】(2)予測アルゴリズムによるヒット率改
善効果はかなり大きい。
【0082】(3)キャッシュメモリに含まれているブ
ロックが2個以上の場合、ブロック1個の場合に比較し
て、改善効果が大きい。
【0083】なお、本発明によれば、少なくとも次の2
つのアドレシングモードで動作することが可能である。
【0084】(1) バーチカルモード 第1番目メモリモジュールのメモリセルアレイ10内
で、連続のアドレシングがなされる。隣の第2番目メモ
リモジュールのメモリセルアレイ10では、第1番目メ
モリモジュールのメモリセルアレイ10と連続するアド
レシングがなされる。キャッシュメモリ12の各々に
は、データ転送先頭アドレスから連続するアドレスのデ
ータがメモリセルアレイ10からブロック単位で転送さ
れ得る(ブロック転送)。このとき、16個のキャッシ
ュメモリ12の各々へは、相互に独立して、データ転送
が実行され得る。例えば、第1番目メモリモジュールの
キャッシュメモリ12がアクセスされているときに、第
2番目メモリモジュールのキャッシュメモリ12へは、
前述の予測式に従ったデータ転送が行われ得る。
【0085】(2) ホリゾンタルモード 第1番目メモリモジュールのメモリセルアレイ10の第
1ロウ、及び第2番目メモリセルモジュールのメモリセ
ルアレイ10の第1ロウは、連続してアドレシングされ
る。第N番目メモリモジュールのメモリセルアレイ10
の第1ロウ、及び第1番目メモリセルモジュールのメモ
リセルアレイ10の第2ロウは、連続してアドレシング
される。
【0086】このとき、キャッシュメモリ12の何れに
対しても、データ転送先頭アドレスから16バイト毎
に、メモリセルアレイ10からデータが転送される。例
えば、データ転送アドレスf(A)=00010hが第
1番目メモリモジュールのキャッシュメモリ12内にあ
り、しかも、データ転送アドレスf(A)から連続する
256ワード(=16×16ワード)のデータを、全て
のキャッシュメモリ12に対して転送すると仮定する。
第1番目メモリモジュールのキャッシュメモリ12で
は、アドレスが00011h、00021h、…、00
0F1hであるところのデータが指定されたバンクに書
き込まれる。第N番目メモリモジュールのキャッシュメ
モリ12では、アドレスが0001Fh、0002F
h、…、000FFhであるところのデータが指定され
たバンクに書き込まれる。この結果、第1番目メモリモ
ジュールから第N番目メモリモジュールにかけて、各々
のキャッシュメモリ12には、連続したアドレスが割り
当てられる。
【0087】このようなホリゾンタルモードでは、16
個のメモリモジュール内のデータ転送が、それぞれ、並
列的に実行される。すなわち、各メモリモジュールにお
いて、転送アドレスを先頭アドレスから16づつ、イン
クリメントさせることにより、16個のデータ転送を並
列に実行させることができる(データ転送の並列動
作)。
【0088】(実施例2)次に、図8を参照して、本実
施例の高速連想記憶装置の構成の概略を説明する。
【0089】本高速連想記憶装置は、複数のメモリモジ
ュール1、2、…、Mを備えている。各メモリモジュー
ルは、データを記憶する通常のメモリセルアレイ210
と、そのメモリセルアレイ210に記憶されているデー
タの一部を記憶するためのキャッシュメモリ214と、
メモリセルアレイ210からキャッシュメモリ214へ
データを転送するデータ転送回路212と含んでいる。
また、各メモリモジュールは、入力されたデータと記憶
されているデータとの一致照合を行うための照合部21
1及びキャッシュメモリ照合部213を含んでいる。メ
モリセルアレイ210を構成する各メモリセルは、RO
M用セルであってもRAM用セルであってもよい。な
お、図8中の最左のメモリモジュールから右に数えてi
番目のメモリモジュールを、i番目メモリモジュールと
称する場合がある(1≦i≦M)。i番目メモリモジュ
ールに含まれているメモリセルアレイ210及びキャッ
シュメモリ214に記憶されているデータは、Word
(i,j)にて示されている(1≦j≦N)。
【0090】図8では、簡単のため、2個のメモリモジ
ュールが代表的に示されているが、本実施例に用いられ
ているメモリモジュールの数は16個である(M=1
6)。本実施例の各メモリセルアレイ210の容量(記
憶ビット数)は1メガビットである。結果として、本メ
モリの容量は16メガビットとなる。また、各キャッシ
ュメモリ214の容量は、1キロビットである。データ
が1バイト単位で読みだされるとすると、アドレス空間
の大きさは、217となる。これらの数値は、本実施例の
値に限定されるものではなく、任意に設定され得る。
【0091】本高速連想記憶装置に入力されるデータ2
15(以下、「入力データCD」と称する場合がある)
とマスクパターン216(以下、「マスクパターンM
D」と称する場合がある)は、キャッシュコントローラ
217を介して、各メモリモジュールの照合部211ま
たはキャッシュメモリ照合部213に伝達される。ここ
で、入力データ215は、ワード検索のためのキーワー
ドなどに該当する。本実施例では、入力データCDのビ
ット幅はmビットであり、マスクパターンMDは、m−
1ビットであるとする。メモリモジュールから読み出さ
れたデータは、出力バッファ(不図示)を介して出力さ
れる。
【0092】以下に、図9を参照しながら、照合部21
1の一構成例及び機能を説明する。図9には、1番目メ
モリモジュールに属する照合部211が図示されてい
る。なお、キャッシャメモリ照合部213の構成及び機
能は、照合部211のものと実質的に同様のものであっ
てよい。照合部211は、図9において横方向に一列に
配列されたI/Oセル310と、マトリクス状に配列さ
れたCAM(Content Adressable Memory)セル311
及びRAMセル312と、アドレスデコーダ313とを
有している。本実施例では、各セルは、横方向に、入力
データCDのビット幅だけ必要である。以下、mビット
幅の入力データ215を、入力データ(CD1〜CDm
と表記し、m−1ビット幅のマスクパターン216を、
マスクパターン(MD1〜MDm-1)と表記する。入力デ
ータ(CD1〜CDm)とマスクパターン(MD1〜MD
m-1)とは、一列に配列された複数のI/Oセル310
に同時に入力され得る。
【0093】I/Oセル310に入力された入力データ
(CD1〜CDm)は、メモリセルに格納されているmビ
ット幅のデータ(Word(1,1)〜Word(1,
N))と照合される。より詳細には、mビット幅の入力
データ(CD1〜CDm)のうち、マスクパターン(MD
1〜MDm-1)によってマスキングされていないビット部
分と、mビット幅のデータ(Word(1,1)〜Wo
rd(1,N))の対応するビット部分とが、一致照合
される。その結果、入力データ(CD1〜CDm)のうち
マスキングされていないビット部分に一致するビット部
分を含むmビット幅のデータ(1個または複数個のWo
rd)が検出される。その検出に応じて、不図示の照合
用レジスタにフラグが立つこととなる。
【0094】以下、より詳細に、本実施例の照合部21
1における一致照合を説明する。本実施例の照合部21
1においては、入力データ(CD1〜CDm)を同時にN
個のデータ(Word(1,1)〜Word(1,
N))と照合させるため、CAMセル311とRAMセ
ル312が縦方向にN個配列されている。すなわち、各
照合部211には、m×N個のCAMセル311が配置
される。
【0095】各CAMセルの内部構成の一例が図10に
示されている。このCAMセルは、通常のSRAMに一
致検出論理用トランジスタが3個結合されたものであ
り、EXOR(Exclusive OR)回路が形成されている。このS
RAMは、格納すべきWord(1,1)〜Word
(1,N)の各ビットに応じて、データ「1」またはデ
ータ「0」を格納している。
【0096】図示されているCAMセルには、入力デー
タ(CD1〜CDm)の一つ(CDi)が、ビットライン
ペア(ビットライン及びビットラインバー)を介して、
対応するI/Oセル310から入力される。一致検出論
理用トランジスタは、SRAMが格納しているデータ
(「1」または「0」)と入力データCDi(「1」ま
たは「0」)との一致検出を行う。CDiとSRAMの
記憶内容とが一致した場合、CAMセルの出力部(ou
t)は、ハイインピーダンス状態となる。CDiとSR
AMの記憶内容とが一致しない場合、CAMセルの出力
部(out)には、「0(lowレベル)」が表れる。
【0097】CAM311セルの出力部(out)は、
図9に示されるMOSトランジスタを介して、Match li
neに接続されている。まず、あるMatch lineに直接に接
続されている複数のMOSトランジスタがすべて導通状
態にあるときを考える。この場合、このMatch lineに接
続されているCAMセル311のうちのいずれか一つの
出力部(out)に「0」が表れていると、そのCAM
セルが接続されているMatch lineには「0」が出力され
ることとなる。一方、そのMatch lineに接続されている
CAMセルのうちのすべての出力部(out)がハイイ
ンピーダンス状態にあるときは、そのMatch lineはハイ
インピーダンス状態となる。こうして、Match lineがハ
イインピーダンス状態にあるか否かを検出することによ
って、そのMatch lineに関するWordの一致検出を実
行することが可能である。
【0098】図9のMOSトランジスタが導通状態にな
いときは、CAMセル311の出力部(out)とMatc
h lineとの間の電気的接続はカットされる。その結果、
関連するCAMセル311において格納データと入力デ
ータCDとが一致しない場合であっても、その不一致
は、Match lineに影響しない。なお、後述するように、
図9のMOSトランジスタの導通/非導通は、マスクパ
ターン(MD1〜MDm-1)に基づいて制御される。
【0099】例えば、Word(1,1)と入力データ
(CD1〜CDm)との一致照合は、mビット幅のWor
d(1,1)を記憶しているm個のCAMセル311に
おいて、それぞれ、同時に実行され得る。一致照合の結
果は、Match lineの電位に応じて立つ一致フラグを検出
することにより実行される。
【0100】一列に配列されたm−1個のRAMセル3
12は、I/Oセル310に入力されたマスクパターン
(MD1〜MDm-1)に応じたデータを格納する。各RA
Mセルの出力は、対応するCAMセルとMatch lineとの
間に設けられたMOSトランジスタのゲートに接続さ
れ、MOSトランジスタの電気的導通/非導通を制御す
る。より詳細には、RAMセル312は、格納するデー
タ(「1」または「0」)に応じて、対応するCAMセ
ルの出力部(out)とMatch lineとの間の電気的接続
及び非接続を制御する。例えば、図9の右からi番目の
RAMセル312は、MDi=0のとき、対応するMO
Sトランジスタを介して、CAMセル311の出力部
(out)とMatch lineとを電気的に接続し、MDi=
1のとき、CAMセル311の出力部(out)とMatc
h lineとを電気的に非接続にする。
【0101】アドレスデコーダ313は、CAMセル3
11及びRAMセル312のワードラインに接続されて
いる。アドレスデコーダ313は、被照合データ(Wo
rd(1,1)〜Word(1,N))をメモリセルア
レイ210からCAMセル311に格納するときに、被
照合データのアドレスA1〜Anをデコードする。入力デ
ータCD及びマスクパターンMDを照合部211に格納
するとき、アドレスデータ313によって選択されたワ
ードラインに接続されているCAMセル311及びRA
Mセル312に対して、I/Oセル310からビットラ
インペアを介して、所望のデータが記憶することができ
る。
【0102】以下に、キャッシュコントローラ217に
ついて、図11を用いて、その一構成例及び機能を詳述
する。
【0103】本実施例のキャッシュコントローラ217
は、入力データ215をキャッシュメモリ照合部213
へ出力した後、連想内容がキャッシュメモリ214内に
記憶されているか否かの結果を示すキャッシュヒット信
号(以下、「HIT信号」と称する)をキャッシュメモ
リ照合部213からモードレジスタ371で受け取る。
連想内容がキャッシュメモリ214内に記憶されている
とき(「キャッシュヒット」のとき)、モードレジスタ
371の出力に従って、マルチプレクサ370が次の入
力データを処理する。モードレジスタ371は、HIT
信号のほかに、データ転送要求信号(以下、「TRWQ
信号」と称する)を予測コントローラ221から受け取
ってマルチプレクサ370の動作を制御する。データ転
送に関する機能については、後述する。
【0104】キャッシュヒット時には、照合部213に
おける一致検出が同時に実行できるため、キャッシュメ
モリ214にSRAMを使用することにより、例えば、
20nsecの高速でデータを読み出すことができる。
ただし、ミスヒット時は、メモリセルアレイ210から
連想内容を読み出すために低速になる。例えば、メモリ
セルアレイとして大容量で低価格のROMを使用した場
合、150nsec程度の速度でデータは読みだされ
る。なお、本実施例では、ミスヒット時のみならず、キ
ャッシュヒットの割合が低くなったときにも、キャッシ
ュメモリ214のデータ内容を更新し、キャッシュヒッ
ト率を向上させるための構成を採用している。
【0105】以下、このようなデータ更新のための構成
を詳述する。
【0106】本実施例のメモリは、図8に示されるよう
に、平均キャッシュヒット率を求めるヒット率カウンタ
220を備えている。ヒット率カウンタ220の内部構
成の一例が図12に示されている。本実施例における平
均キャッシュヒット率とは、入力データCDの連想内容
がキャッシュメモリ214内に記憶されていた割合を過
去数サイクルにわたって求めた値である。図12に示さ
れているように、ヒット率カウンタ220は、キャッシ
ュメモリ照合部213からHIT信号を入力するごとに
カウントアップするカウンタ403を備えている。図1
2では、2個のカウンタ403が示されているが、本実
施例で用いられるカウンタの数は、16個である。カウ
ンタ403は、それぞれ、16個のメモリモジュールの
ヒットカウントを実行する。初期設定として、リセット
レジスタ400にTi、ヒット率レジスタ401にHt
をセットする。これらの設定値は、Tiサイクル毎にカ
ウンタ403の出力値Htとの比較を行うために使用さ
れる。
【0107】以下、平均ヒット率を求めるための手順を
説明する。カウンタ402は、レジスタ400の値をス
タート値として、データCDが入力される個度に、ダウ
ンカウントを実行する。比較器404は、ヒット率レジ
スタ401とカウンタ403の出力値をカウンタ42の
リセット出力タイミングと同時に比較する。カウンタ4
03の出力値をHcとすると、比較器404の出力は、
Ht≧Hcのとき、TREQ信号=1を、Ht<Hcの
とき、TREQ信号=0を予測コントローラ221へ出
力する。例えば、Ht=40、Ti=50とすると、ヒ
ット率が40/50すなわち、80パーセント以下のと
き、TREQ信号を予測コントローラ21へ出力する。
Ht及びTiを任意に設定することにより、任意のヒッ
ト率を設定することができる。比較器404は、メモリ
モジュールの数、すなわち、M個(本実施例ではM=1
6)だけ存在するので、TREQ信号は同様にM個だけ
出力される。
【0108】本実施例の高速メモリは、図8に示される
ように、予測コントローラ221を備えている。以下
に、図13を参照しながら、予測コントローラ221の
構成及び機能を説明する。本実施例の予測コントローラ
221は、キャッシュヒット率カウンタ220からTR
EQ信号を受け取ると、TREQ信号を出力しているメ
モリモジュールに対して、そのメモリモジュールのメモ
リセルアレイ210からキャッシュメモリ214に転送
させるべきデータを決定することができる。メモリセル
アレイ210からキャッシュメモリ214に転送すべき
データを的確に予測し選択することにより、その後のキ
ャッシュヒット率を向上させることができる。
【0109】予測コントローラ221は、入力データを
複数記憶することができる。図13に示されるように、
このような記憶手段として、予測コントローラ221
は、シフトレジスタ410を有している。シフトレジス
タ410は、過去複数サイクル(例えばpサイクル)の
入力データCDを記憶することができる。本明細書で
は、あるサイクル(時刻t)における入力データCD
を、簡単のため、CD(t)で表現することとする。ま
た、そのサイクルよりuサイクルだけ過去のサイクルに
おける入力データCDを、CD(t−u)で表現する。
この表記によれば、CD(t−1)からCD(t−p)
迄の合計P個の入力データCDをシフトレジスタ410
は記憶することができると言える。このシフトレジスタ
410の記憶する各入力データCDは、並列的にデータ
パターン選択部411に送出され得る。予測コントロー
ラ221は、あらかじめデータパターンメモリ412に
記憶させたデータパターンに従って、データパターン選
択部411において、メモリセルアレイ210からキャ
ッシュメモリ214へ転送させるべきデータf(CD)
を予測する。言い換えれば、予測コントローラ221の
予測したデータf(CD)を入力データとして連想検索
されるデータデータが、メモリセルアレイ210からキ
ャッシュメモリ214へ転送されることとなる(ブロッ
ク転送)。
【0110】ブロック転送されるデータのサイズについ
て、以下に述べる。
【0111】本実施例の高速連想メモリは、図8に示さ
れるように、キャッシュメモリサイズ設定用レジスタ2
22を備えている。キャッシュメモリサイズ設定用レジ
スタ222は、キヤッシュメモリ214の記憶容量のサ
イズとバンク数とを初期設定する。たとえば、レジスタ
を1に設定することにより、キャッシュメモリ214
は、1Kビットを1バンクとして使用されるように設定
され、レジスタを2に設定することにより、512ビッ
トづつ2バンクとして使用されるように設定される。キ
ャッシュメモリサイズ設定用レジスタ22の設定値をL
とすると、ブロック転送されるデータのサイズは、1K
ビット/2Lバンクとなる。
【0112】データパターンは、過去複数サイクルの入
力データCD(t)の関数として設定され得る。以下の
数1から数7は、それぞれ、データパターン予測式の例
を示している。予測式の数と種類は、この例に限定され
ものではない。ここで、データパターン予測式は、求め
るべきデータf(CD)を過去の入力データCDの関数
として表現している。予測は、記憶されている入力デー
タCD(t)からCD(t−P)のうち、所定の数のデ
ータをデータパターン予測式に代入することにより、実
行される。
【0113】 予測式1:if{CD(t-1)&CD(t-2)・・・&CD(t-p)=CD0)≠0h} then f(CD)=CD0 予測式2:if{((CD(t-1)》4)&(CD(t-2)》4)&・・・&(CD(t-
p)》4)=CD0)≠0h} then f(CD)=CD0《4 ここで、A》Bは、AをBビットだけ右にシフトすることを
意味する。
【0114】A《Bは、AをBビットだけ左にシフトするこ
とを意味する。
【0115】予測式3:if{((CD(t-1)》8)&(CD(t-2)》
8)&・・・&(CD(t-p)》8)=CD0)≠0h} then f(CD)=CD0《8 予測式4:if{((CD(t-1)》12)&(CD(t-2)》12)&・・・&(CD
(t-p)》12)=CD0)≠0h} then f(CD)=CD0《12 予測式5:if{((CD(t-1)》16)&(CD(t-2)》16)&・・・&(CD
(t-p)》16)=CD0)≠0h} then f(CD)=CD0《16 予測式6:if{((CD(t-1)《4)&(CD(t-2)《4)&・・・&(CD(t-
p)《4)=CD0)≠0h} then f(CD)=CD0》4 予測式7:if{((CD(t-1)《8)&(CD(t-2)《8)&・・・&(CD(t-
p)《48=CD0)≠0h} then f(CD)=CD0》8 ある予測式を適用した場合において、キャッシュヒット
率が向上しないときは、他の予測式を選択することがで
きる。予測コントローラ217は、予測切換レジスタ2
19に接続されており、予測切換レジスタ219によっ
て、記憶されている予測式の選択を切り換えることがで
きる。
【0116】このように、本実施例では、データf(C
D)が、キャッシュメモリ214内に格納されるよう
に、メモリセルアレイ210からキャッシュメモリ21
4へのブロック転送を行う。一方、キャッシュメモリ2
14に入力データCDに対応するデータが存在しないと
き、割り込み発生レジスタ218(図8)から外部に割
り込み信号を送出し、直ちに、そのデータをメモリから
キャッシュメモリ214へ転送する。その転送が完了す
るまで、割り込み信号の送出は保持される。
【0117】以下に、予測コントローラ221の動作
を、より具体的に説明する。
【0118】各メモリセルアレイ210の構成が64キ
ロ×16ビットであり、各キャッシュメモリ12の構成
が64×16ビットであるとする。メモリモジュールが
16個あるので、総容量は1メガ×16ビットとなる。
【0119】データCD(t)は、00000hからF
FFFFh(16ビット表現)で表現される220のアド
レス空間をもつ。ここで、hは、16ビット表現を意味
するものであり、0からFの間での任意の値をとり得
る。キャッシュメモリサイズ設定用レジスタ222を用
いて、分割数を4に設定し、メモリセルアレイ210か
らキャッシュメモリ214へ転送するデータのワード数
(転送ワード数)は16ワードとする。予測コントロー
ラ221のレジスタ数を4ワード、キャッシュヒット率
の閾値を90パーセント、平均キャッシュヒット率を求
めるためのサイクルを5サイクルとする。
【0120】t=T−4サイクルからからt=Tサイク
ルまでの5サイクルの入力データとして、例えば、下記
のデータが記憶されたとする。
【0121】t=T−4: CD(t)=0FA23h t=T−3: CD(t)=0FA43h t=T−2: CD(t)=0FA1Dh t=T−1: CD(t)=0FAF7h t=T: CD(t)=0FA2Fh また、平均キャッシュヒット率が、t=Tにおいて、閾
値90パーセント以下になったとする。すると、その時
点で、ヒット率カウンタ220からTREQ信号が予測
コントローラ221に送出される。TREQ信号を受け
取った予測コントローラ221は、例えば、予測式1に
従って、f(CD)=0FA**hを得る。ここで、*
は、「don’t care」を意味し、マスクパター
ンとしてf(MD)=fff11hを用いることを意味
する。予測コントローラ221は、0FA**hを入力
データとして、fff11hをマスクパターンとして、
照合部1に入力し、照合したデータを16ワード分だけ
メモリセルアレイ210からキャッシュメモリ214に
転送させる。
【0122】キャッシュメモリ214は、16ワードづ
つ、4バンクに分割されているとする。メモリセルアレ
イ210から転送されたデータは、キャッシュメモリ2
14の4つのバンクのうち、もっも過去に読みだしが行
われたバンクに書き込まれることが好ましい。
【0123】キャッシュメモリ214の4つのバンクの
うち、何れのバンクが最も過去に読みだしが行われたか
を知るには、キャッシュメモリ214中において、バン
クを巡回するように順序づけるとよい。
【0124】図14は、16ワードを1バンクとするキ
ャッシュメモリ214を使用して、上記巡回を行うため
のデータ転送回路212の構成例を示している。データ
転送回路212は、予測コントローラ221からTRE
Q信号を受け取るカウンタ321を有している。図14
に示されるように、照合部211及びメモリセルアレイ
210から読みだされたデータは、データ転送回路21
2のマルチプレクサ320を介して、キャッシュメモリ
用照合部213及びキャッシュメモリ214に、それぞ
れ、転送される。なお、照合部211及びメモリセルア
レイ210から読みだされたデータは、マルチプレクサ
320に入力される前に、いったん、バッファ324及
び323に入力される。データ転送回路212は、ま
た、データが書き込まれるべきバンクを指定するための
バンクモードレジスタ322を有している。
【0125】再び図11を参照して、データ転送の機能
に関して、キャッシュコントローラ217をより詳細に
説明する。キャッシュコントローラ217は、予測コン
トローラ221からTREQ信号と予測データを受け取
るレジスタ371、374及び375を有している。ま
た、予測データレジスタ374及び375が、入力レジ
スタ372及び373とともに、マルチプレクサ370
に接続されている。マルチプレクサ370は、予測コン
トローラ221によるデータ転送を行うとき、その予測
データf(CD)を選択出力し、キャッシュミスヒット
のときは、入力データCD(t)を選択出力する。
【0126】データ転送時、データはword(i,
j)及び照合部のデータを、それぞれ1ワード単位とし
て、ワード単位で、データ転送されるデータから順にバ
ッファ211に転送される。バッファ211内のデータ
は、キャッシュメモリ214の4バンクのうち、データ
転送回路212のモードレジスタ322(図14)に指
定されるバンク内に書き込まれる。バッファ211の容
量が1ワードである場合、16ワードのデータを転送す
るには、16サイクルが必要となる。キャッシュメモリ
214のバンクに対する16ワード分のデータ転送が終
了すると、モードレジスタ113の記憶内容は、1だけ
インクリメントされ、次のバンクを指定する。こうし
て、前記巡回が実行される。
【0127】実施例1について述べたように、文献Comp
utational Ram: A memory-SIMD Hybrid and its Appli
cation to DSP (CICC'92 May 6 section 30.6)に従え
ば、メモリ内部でのデータ転送スピードは、1.1×1
12バイト/秒である。従って、16ワード(1ワード
は16ビット)をブロック転送するには、(16×1
6)/(1.1×1012×8)=2.9×10-11秒を
要する。
【0128】これは、キャッシュメモリとして使用して
いるSRAMの読みだし速度比べて充分に小さい。な
お、キャッシュヒット率の計算は、メモリアクセスと同
時に並行して実行するためにメモリの読みだし速度に影
響しない。
【0129】予測式の選択と予測式の計算は、選択され
る式によって処理に要する時間が異なる。最大の処理時
間を要する予測式は、予測式5である。f(CD)を求
めるのに、16ビットシフトとANDを必要とする。
【0130】現在、一般に、0.8μmプロセスで形成
された半導体装置では、シフト演算とANDの処理に約
2ナノ秒必要であるから、すべての式の実効には、約1
4ナノ秒(=2ナノ秒×7回)必要である。これはキャ
ッシュメモリの読みだし速度に比較して充分に小さい。
【0131】以上説明してきたように、本実施例の高速
連想記憶装置によれば、キャッシュメモリの容量をメモ
リセルアレイの容量に比較して、大きく縮小することが
実現する。これは、高速メモリの小型化に役立つ。より
具体的には、本実施例では、メモリセルアレイ210の
容量と、キャッシュメモリ214の容量との比が、10
00:1となる。
【0132】本実施例においても、メモリセルアレイの
容量とキャッシュメモリの容量の比と、キャッシュヒッ
ト率との関係は、図5に示される通りである。また、キ
ャッシュヒット率と速度改善率との関係も、図6に示さ
れる通りであり、キャッシュヒット率(h)とデータ読
みだし時間(tr)との関係も、図7に示される通りで
ある。
【0133】
【発明の効果】本発明によれば、キャッシュメモリの容
量をメモリセルアレイの容量に比較して、大きく縮小す
ることが可能であるため、高速半導体記憶装置及び高速
連想記憶装置の小型化が達成される。また、本発明の高
速連想記憶装置及び高速連想記憶装置は、キャッシュメ
モリのデータについて予測更新機能を有するため、キャ
ッシュミスヒットを低減し、キャッシュヒット率を向上
させることができる。
【0134】特に、本発明の高速連想記憶装置は、例え
ば、仮名漢字辞書に使用することによって、シソーラス
を高速に連想検索する機能を提供する。また、フォント
辞書に用いることによって、高速にアウトラインフォン
トのパラメータを検索する機能を提供する。
【図面の簡単な説明】
【図1】本発明による高速半導体記憶装置の構成例を示
す図である。
【図2】本発明の高速半導体記憶装置に使用されるキャ
ッシュコントローラの構成例を模式的に示す図である。
【図3】本発明の高速半導体記憶装置に使用される予測
コントローラの構成例を模式的に示す図である。
【図4】本発明の高速半導体記憶装置に使用されるデー
タ転送回路の構成例を模式的に示す図である。
【図5】メモリセルアレイとキャッシュメモリの容量比
(Sc/Sm)と、キャッシュヒット率(h)との関係
を示している。
【図6】キャッシュヒット率(h)と速度改善率(tr
/tm)との関係を示している。
【図7】キャッシュヒット率(h)とデータ読みだし時
間(tr)との関係を示している。
【図8】本発明による高速連想記憶装置の構成例を示す
図である。
【図9】本発明の高速連想記憶装置に使用される照合部
の構成例を模式的に示す図である。
【図10】本発明の高速連想記憶装置に使用されるCA
Mセルの構成例を模式的に示す図である。
【図11】本発明の高速連想記憶装置に使用されるキャ
ッシュコントローラの構成例を模式的に示す図である。
【図12】本発明の高速連想記憶装置に使用されるヒッ
ト率カウンタの構成例を模式的に示す図である。
【図13】本発明の高速連想記憶装置に使用される予測
コントローラの構成例を模式的に示す図である。
【図14】本発明の高速連想記憶装置に使用されるデー
タ転送回路の構成例を模式的に示す図である。
【図15】従来の連想記憶装置の構成例を模式的に示す
図である。
【図16】高速半導体記憶装置の動作シミュレーション
に使用するアドレスパターンを示す図である。
【図17】高速半導体記憶装置の動作シミュレーション
の結果を示すグラフである。
【図18】高速半導体記憶装置の動作シミュレーション
の他の結果を示すグラフである。
【符号の説明】
10 メモリセルアレイ 11 データ転送回路 12 キャッシュメモリ 13 アドレスバッファ 14 アドレスデコーダ 15 キャッシュコントローラ 16 割り込みフラグ 17 予測コントローラ 18 予測ON/OFFレジスタ 19 キャッシュサイズ設定用レジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 木下 一生 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 データを記憶する複数のメモリセル、及
    び該複数のメモリセルに記憶されている該データの一部
    を記憶するためのキャッシュメモリを有する1以上のメ
    モリモジュールを備えた高速半導体記憶装置であって、
    該装置は、更に、 入力アドレスに対応するデータが該キャッシュメモリ内
    に記憶されているか否かを判定し、その判定の結果、該
    データが該キャッシュメモリ内に記憶されているとき
    は、該データを該キャッシュメモリから出力させ、ま
    た、該データが該キャッシュメモリ内に記憶されていな
    いときは、該データを該複数のメモリセルから読み出さ
    せるとともに、該データを該キャッシュメモリ内に記憶
    させることによって、該キャッシュメモリ内の記憶内容
    を更新するキャッシュコントローラを備えており、 該キャッシュコントローラは、 平均キャッシュヒット率を求めるヒット率カウンタと、 所望の閾値を記憶し、該閾値と該平均キャッシュヒット
    率とを比較する比較器と、を備えており、 該閾値よりも該平均キャッシュヒット率が低いときは、
    該メモリセルから該キャッシュメモリへデータを転送さ
    せるためのデータ転送要求信号を発生する高速半導体記
    憶装置。
  2. 【請求項2】 請求項1に記載の高速半導体記憶装置で
    あって、該装置は更に、 前記データ転送要求信号を受け取ると、前記メモリセル
    から前記キャッシュメモリへ転送させるべきデータの最
    初のアドレスを決定する予測コントローラを備えている
    高速半導体記憶装置。
  3. 【請求項3】 請求項2に記載の高速半導体記憶装置で
    あって、 前記予測コントローラは、過去複数サイクルの前記入力
    アドレスを記憶し得るシフトレジスタを有しており、 あらかじめ設定されたアドレス変更予測式及び該過去複
    数サイクルの該入力アドレスに基づいて、前記メモリセ
    ルから前記キャッシュメモリへ転送させるべき前記デー
    タの前記最初のアドレスを決定する高速半導体記憶装
    置。
  4. 【請求項4】 請求項1に記載の高速半導体記憶装置で
    あって、該装置は更に、キャッシュメモリサイズ設定用
    レジスタを備えており、該キャッシュメモリサイズ設定
    用レジスタは、前記キヤッシュメモリの記憶容量のサイ
    ズとバンク数とを初期設定することができる高速半導体
    記憶装置。
  5. 【請求項5】 データを記憶する複数のメモリセル、及
    び該複数のメモリセルに記憶されている該データの一部
    を記憶するためのキャッシュメモリを有する1以上のメ
    モリモジュールを備えた高速連想記憶装置であって、 該装置は、更に、 入力データと入力マスクパターンとを、記憶されている
    データと照合するための照合手段と、 該入力データと照合一致するデータが該キャッシュメモ
    リ内に記憶されているか否かを判定し、その判定の結
    果、該データが該キャッシュメモリ内に記憶されていな
    いときは、該データを該複数のメモリセルから読み出さ
    せるとともに、該データを該キャッシュメモリ内に記憶
    させることによって、該キャッシュメモリ内の記憶内容
    を更新するキャッシュコントローラと、 平均キャッシュヒット率を求めるヒット率カウンタと、
    を備えており、 該ヒット率カウンタは、所望の閾値を記憶し、該閾値と
    該平均キャッシュヒット率とを比較する比較器と、を備
    えており、 該閾値よりも該平均キャッシュヒット率が低いときは、
    該メモリセルから該キャッシュメモリへデータを転送さ
    せるためのデータ転送要求信号を発生する高速連想記憶
    装置。
  6. 【請求項6】 請求項5に記載の高速連想記憶装置であ
    って、該装置は更に、 前記データ転送要求信号を受け取ると、前記メモリセル
    から前記キャッシュメモリへ転送させるべきデータを決
    定する予測コントローラを備えている高速半導体記憶装
    置。
  7. 【請求項7】 請求項6に記載の高速連想記憶装置であ
    って、 前記予測コントローラは、過去複数サイクルの前記入力
    データに一致照合したデータのレジスタを有しており、
    該過去複数サイクルの該データに基づいて、前記メモリ
    セルから前記キャッシュメモリへ転送させるべき前記デ
    ータを決定する高速半導体記憶装置。
  8. 【請求項8】 請求項5に記載の高速連想記憶装置であ
    って、該装置は更に、キャッシュメモリサイズ設定用レ
    ジスタを備えており、該キャッシュメモリサイズ設定用
    レジスタは、前記キヤッシュメモリの記憶容量のサイズ
    とバンク数とを初期設定することができる高速半導体記
    憶装置。
JP5218918A 1993-03-04 1993-09-02 高速半導体記憶装置及び高速連想記憶装置 Pending JPH06314241A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP5218918A JPH06314241A (ja) 1993-03-04 1993-09-02 高速半導体記憶装置及び高速連想記憶装置
US08/675,367 US5619676A (en) 1993-03-04 1996-07-02 High speed semiconductor memory including a cache-prefetch prediction controller including a register for storing previous cycle requested addresses

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5-44176 1993-03-04
JP4417693 1993-03-04
JP5218918A JPH06314241A (ja) 1993-03-04 1993-09-02 高速半導体記憶装置及び高速連想記憶装置

Publications (1)

Publication Number Publication Date
JPH06314241A true JPH06314241A (ja) 1994-11-08

Family

ID=26384031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5218918A Pending JPH06314241A (ja) 1993-03-04 1993-09-02 高速半導体記憶装置及び高速連想記憶装置

Country Status (2)

Country Link
US (1) US5619676A (ja)
JP (1) JPH06314241A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173392B1 (en) 1997-04-12 2001-01-09 Nec Corporation Prefetch controller automatically updating history addresses
JP2012202938A (ja) * 2011-03-28 2012-10-22 Anritsu Corp Apd測定装置及び方法

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933860A (en) * 1995-02-10 1999-08-03 Digital Equipment Corporation Multiprobe instruction cache with instruction-based probe hint generation and training whereby the cache bank or way to be accessed next is predicted
JPH0916470A (ja) 1995-07-03 1997-01-17 Mitsubishi Electric Corp 半導体記憶装置
JP3136088B2 (ja) * 1996-02-22 2001-02-19 シャープ株式会社 データ処理装置及びデータ処理方法
US5966734A (en) * 1996-10-18 1999-10-12 Samsung Electronics Co., Ltd. Resizable and relocatable memory scratch pad as a cache slice
US6128712A (en) * 1997-01-31 2000-10-03 Macromedia, Inc. Method and apparatus for improving playback of interactive multimedia works
US5909694A (en) * 1997-06-12 1999-06-01 International Business Machines Corporation Multiway associative external microprocessor cache
US5999721A (en) * 1997-06-13 1999-12-07 International Business Machines Corporation Method and system for the determination of performance characteristics of a cache design by simulating cache operations utilizing a cache output trace
US6138213A (en) * 1997-06-27 2000-10-24 Advanced Micro Devices, Inc. Cache including a prefetch way for storing prefetch cache lines and configured to move a prefetched cache line to a non-prefetch way upon access to the prefetched cache line
US6266742B1 (en) * 1997-10-27 2001-07-24 International Business Machines Corporation Algorithm for cache replacement
US6016533A (en) * 1997-12-16 2000-01-18 Advanced Micro Devices, Inc. Way prediction logic for cache array
US6892173B1 (en) * 1998-03-30 2005-05-10 Hewlett-Packard Development Company, L.P. Analyzing effectiveness of a computer cache by estimating a hit rate based on applying a subset of real-time addresses to a model of the cache
JP3786521B2 (ja) * 1998-07-01 2006-06-14 株式会社日立製作所 半導体集積回路及びデータ処理システム
US6338115B1 (en) 1999-02-16 2002-01-08 International Business Machines Corporation Advanced read cache management
US6286080B1 (en) 1999-02-16 2001-09-04 International Business Machines Corporation Advanced read cache emulation
US6892272B1 (en) 1999-02-23 2005-05-10 Netlogic Microsystems, Inc. Method and apparatus for determining a longest prefix match in a content addressable memory device
US6311260B1 (en) 1999-02-25 2001-10-30 Nec Research Institute, Inc. Method for perfetching structured data
JP3438650B2 (ja) * 1999-05-26 2003-08-18 日本電気株式会社 キャッシュメモリ
US6944709B2 (en) * 1999-09-23 2005-09-13 Netlogic Microsystems, Inc. Content addressable memory with block-programmable mask write mode, word width and priority
US6567340B1 (en) * 1999-09-23 2003-05-20 Netlogic Microsystems, Inc. Memory storage cell based array of counters
US6934795B2 (en) * 1999-09-23 2005-08-23 Netlogic Microsystems, Inc. Content addressable memory with programmable word width and programmable priority
US7143231B1 (en) 1999-09-23 2006-11-28 Netlogic Microsystems, Inc. Method and apparatus for performing packet classification for policy-based packet routing
US7272027B2 (en) * 1999-09-23 2007-09-18 Netlogic Microsystems, Inc. Priority circuit for content addressable memory
JP3931577B2 (ja) * 2000-11-22 2007-06-20 セイコーエプソン株式会社 メモリの使用方法、及び演算処理装置
US6973547B2 (en) * 2001-11-16 2005-12-06 Sun Microsystems, Inc. Coherence message prediction mechanism and multiprocessing computer system employing the same
WO2003088048A1 (en) * 2002-04-08 2003-10-23 University Of Texas System Non-uniform cache apparatus, systems, and methods
US6760818B2 (en) * 2002-05-01 2004-07-06 Koninklijke Philips Electronics N.V. Memory region based data pre-fetching
US7139849B2 (en) * 2002-08-07 2006-11-21 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit device
US7210059B2 (en) * 2003-08-19 2007-04-24 Micron Technology, Inc. System and method for on-board diagnostics of memory modules
US20050050278A1 (en) * 2003-09-03 2005-03-03 Advanced Micro Devices, Inc. Low power way-predicted cache
US7117290B2 (en) * 2003-09-03 2006-10-03 Advanced Micro Devices, Inc. MicroTLB and micro tag for reducing power in a processor
US7310752B2 (en) * 2003-09-12 2007-12-18 Micron Technology, Inc. System and method for on-board timing margin testing of memory modules
US20050071570A1 (en) * 2003-09-26 2005-03-31 Takasugl Robin Alexis Prefetch controller for controlling retrieval of data from a data storage device
US7120743B2 (en) * 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7216196B2 (en) * 2003-12-29 2007-05-08 Micron Technology, Inc. Memory hub and method for memory system performance monitoring
US7310748B2 (en) 2004-06-04 2007-12-18 Micron Technology, Inc. Memory hub tester interface and method for use thereof
US7788240B2 (en) * 2004-12-29 2010-08-31 Sap Ag Hash mapping with secondary table having linear probing
US20060174067A1 (en) * 2005-02-03 2006-08-03 Craig Soules Method of caching data
US7730531B2 (en) * 2005-04-15 2010-06-01 Microsoft Corporation System and method for detection of artificially generated system load
US7373461B2 (en) * 2006-04-28 2008-05-13 Sun Microsystems, Inc. Speculative directory lookup for sharing classification
JP4235236B2 (ja) * 2006-09-12 2009-03-11 東芝テック株式会社 無線通信装置
US8332610B2 (en) 2007-04-17 2012-12-11 Marvell World Trade Ltd. System on chip with reconfigurable SRAM
US9262327B2 (en) * 2012-06-29 2016-02-16 Intel Corporation Signature based hit-predicting cache
US9652387B2 (en) * 2014-01-03 2017-05-16 Red Hat, Inc. Cache system with multiple cache unit states
US20150261681A1 (en) * 2014-03-14 2015-09-17 International Business Machines Corporation Host bridge with cache hints
US20150261701A1 (en) * 2014-03-14 2015-09-17 International Business Machines Corporation Device table in system memory
US9798665B1 (en) * 2015-12-20 2017-10-24 Infinidat Ltd. Cache eviction according to data hit ratio and service level agreement
US20230229450A1 (en) * 2018-02-23 2023-07-20 Untether Ai Corporation Computational memory
KR20210016227A (ko) 2019-08-02 2021-02-15 삼성전자주식회사 빠른 쓰기 및 빠른 읽기를 지원하기 위한 복수의 버퍼 영역들을 포함하는 메모리 장치 및 이를 포함하는 스토리지 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4490782A (en) * 1981-06-05 1984-12-25 International Business Machines Corporation I/O Storage controller cache system with prefetch determined by requested record's position within data block
US4980823A (en) * 1987-06-22 1990-12-25 International Business Machines Corporation Sequential prefetching with deconfirmation
US5235697A (en) * 1990-06-29 1993-08-10 Digital Equipment Set prediction cache memory system using bits of the main memory address
US5305389A (en) * 1991-08-30 1994-04-19 Digital Equipment Corporation Predictive cache system
US5285527A (en) * 1991-12-11 1994-02-08 Northern Telecom Limited Predictive historical cache memory
US5367656A (en) * 1992-03-13 1994-11-22 Bull Hn Information Systems Inc. Controlling cache predictive prefetching based on cache hit ratio trend
JP2762856B2 (ja) * 1992-08-06 1998-06-04 日本電気株式会社 図形パターン格納装置
US5426764A (en) * 1993-08-24 1995-06-20 Ryan; Charles P. Cache miss prediction apparatus with priority encoder for multiple prediction matches and method therefor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173392B1 (en) 1997-04-12 2001-01-09 Nec Corporation Prefetch controller automatically updating history addresses
JP2012202938A (ja) * 2011-03-28 2012-10-22 Anritsu Corp Apd測定装置及び方法

Also Published As

Publication number Publication date
US5619676A (en) 1997-04-08

Similar Documents

Publication Publication Date Title
JPH06314241A (ja) 高速半導体記憶装置及び高速連想記憶装置
EP0009938B1 (en) Computing systems having high-speed cache memories
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US6014732A (en) Cache memory with reduced access time
US6493812B1 (en) Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache
GB2293672A (en) Virtual page memory buffer
JPH0685156B2 (ja) アドレス変換装置
JPH11273365A (ja) 内容呼出し可能メモリ(cam)
JPH08227380A (ja) データ処理システム
EP0745940B1 (en) An apparatus and method for providing a cache indexing scheme less susceptible to cache collisions
US5953747A (en) Apparatus and method for serialized set prediction
US4942521A (en) Microprocessor with a cache memory in which validity flags for first and second data areas are simultaneously readable
US6766317B2 (en) Range check cell and a method for the use thereof
JPH09120687A (ja) データ処理システムのための内容アドレス可能メモリ
JP2008512758A (ja) 仮想アドレス・キャッシュに格納されたデータを共用する仮想アドレス・キャッシュ及び方法
US7155565B2 (en) Automatic learning in a CAM
US5966737A (en) Apparatus and method for serialized set prediction
US5581730A (en) Condition detector and prioritizer with associativity determination logic
US7117300B1 (en) Method and apparatus for restricted search operation in content addressable memory (CAM) devices
US5249276A (en) Address translation apparatus having a memory access privilege check capability data which uses mask data to select bit positions of priviledge
US20080282059A1 (en) Method and apparatus for determining membership in a set of items in a computer system
US20050066115A1 (en) Content addressable memory
JP3447588B2 (ja) メモリ管理装置、方法及びプログラムを記憶した記憶媒体
US6216198B1 (en) Cache memory accessible for continuous data without tag array indexing

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000809