JPH07105092A - 記憶装置 - Google Patents
記憶装置Info
- Publication number
- JPH07105092A JPH07105092A JP24572493A JP24572493A JPH07105092A JP H07105092 A JPH07105092 A JP H07105092A JP 24572493 A JP24572493 A JP 24572493A JP 24572493 A JP24572493 A JP 24572493A JP H07105092 A JPH07105092 A JP H07105092A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- memory
- cache memory
- stored
- 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
Links
Landscapes
- Static Random-Access Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Dram (AREA)
Abstract
(57)【要約】
【目的】 大容量かつ高速なメモリを提供する。
【構成】 キャッシュコントローラ17は入力アドレス
のデータがキャッシュメモリ14内に記憶されているか
否かを判定し、キャッシュヒット時は、キャッシュメモ
リ14からデータが読み出されて高速の読み出しとな
る。また、入力アドレスのデータがミスヒット時は、圧
縮データをメモリセルアレイ11から読み出し、データ
伸長し、かつ伸長データをキャッシュメモリ14に書き
込む。さらに、ヒット率カウンタ18により平均キャッ
シュヒット率が求められ、この平均キャッシュヒット率
が所望の閾値より低いとき、メモリセルアレイ11から
キャッシュメモリ14へ、その後のキャッシュヒット率
を向上させるように予測選択された予測データを転送さ
せて、キャッシュメモリ14の記憶内容を更新するの
で、キャッシュメモリ14からの読み出しの確率は増大
する。
のデータがキャッシュメモリ14内に記憶されているか
否かを判定し、キャッシュヒット時は、キャッシュメモ
リ14からデータが読み出されて高速の読み出しとな
る。また、入力アドレスのデータがミスヒット時は、圧
縮データをメモリセルアレイ11から読み出し、データ
伸長し、かつ伸長データをキャッシュメモリ14に書き
込む。さらに、ヒット率カウンタ18により平均キャッ
シュヒット率が求められ、この平均キャッシュヒット率
が所望の閾値より低いとき、メモリセルアレイ11から
キャッシュメモリ14へ、その後のキャッシュヒット率
を向上させるように予測選択された予測データを転送さ
せて、キャッシュメモリ14の記憶内容を更新するの
で、キャッシュメモリ14からの読み出しの確率は増大
する。
Description
【0001】
【産業上の利用分野】本発明は、キャッシュメモリを有
する高速半導体記憶装置などの記憶装置に関する。
する高速半導体記憶装置などの記憶装置に関する。
【0002】
【従来の技術】従来、キャッシュメモリを有する記憶装
置は、データ読み出しのとき、タグとデータを高速キャ
ッシュメモリ内に格納しておき、入力アドレスとタグが
一致したとき、すなわち入力アドレスに対応するデータ
がキャッシュメモリ内に記憶されているとき、そのデー
タをキャッシュメモリから出力させる構成であった。そ
の結果、メモリセルアレイからデータを読み出すよりも
高速なデータ読み出しが可能となる。
置は、データ読み出しのとき、タグとデータを高速キャ
ッシュメモリ内に格納しておき、入力アドレスとタグが
一致したとき、すなわち入力アドレスに対応するデータ
がキャッシュメモリ内に記憶されているとき、そのデー
タをキャッシュメモリから出力させる構成であった。そ
の結果、メモリセルアレイからデータを読み出すよりも
高速なデータ読み出しが可能となる。
【0003】図12に示す従来の高速半導体記憶装置
(特願平5−44176)について説明する。図12に
示すように、メインメモリとしてのメモリセルアレイ1
は、データ転送回路2を介してキャッシュメモリ3に接
続されている。また、アドレスバッファ4がアドレスデ
コーダ5を介して接続されるキャッシュコントローラ6
は、複数のメモリセルアレイ1およびキャッシュメモリ
3に接続されている。このキャッシュコントローラ6が
ヒット率カウンタ7を介して接続され、また、データ転
送回路2、アドレスバッファ4および予測ON/OFF
レジスタ8が接続される予測コントローラ9は、アドレ
スデコーダ5を介してキャッシュコントローラ6に接続
され、入力アドレスからキャッシュメモリ3に転送する
データを予測してキャッシュヒット率を向上させる。
(特願平5−44176)について説明する。図12に
示すように、メインメモリとしてのメモリセルアレイ1
は、データ転送回路2を介してキャッシュメモリ3に接
続されている。また、アドレスバッファ4がアドレスデ
コーダ5を介して接続されるキャッシュコントローラ6
は、複数のメモリセルアレイ1およびキャッシュメモリ
3に接続されている。このキャッシュコントローラ6が
ヒット率カウンタ7を介して接続され、また、データ転
送回路2、アドレスバッファ4および予測ON/OFF
レジスタ8が接続される予測コントローラ9は、アドレ
スデコーダ5を介してキャッシュコントローラ6に接続
され、入力アドレスからキャッシュメモリ3に転送する
データを予測してキャッシュヒット率を向上させる。
【0004】上記構成により、まず、キャッシュコント
ローラ6は、入力アドレスに対応するデータがキャッシ
ュメモリ3内に記憶されているか否かを判定する。デー
タがキャッシュメモリ3内に記憶されているキャッシュ
ヒットのときは、このキャッシュメモリ3からデータを
読み出す。また、データがキャッシュメモリ3内に記憶
されていないミスヒットのときは、データは各メモリセ
ルアレイ1から読み出される。さらに、ヒット率カウン
タ7で常に平均キャッシュヒット率を求め、この平均キ
ャッシュヒット率が所望の閾値よりも低いとき、予測コ
ントローラ9はキャッシュヒット率を向上させるような
データ群を予測選択し、メインメモリとしてのメモリセ
ルアレイ1からキャッシュメモリ3へデータ転送回路2
を介してデータを転送させる。このように、キャッシュ
ヒット率の変化に基づいてキャッシュメモリ3の記憶内
容を予測更新するため、キャッシュメモリ3のミスヒッ
トを減少させることができる。
ローラ6は、入力アドレスに対応するデータがキャッシ
ュメモリ3内に記憶されているか否かを判定する。デー
タがキャッシュメモリ3内に記憶されているキャッシュ
ヒットのときは、このキャッシュメモリ3からデータを
読み出す。また、データがキャッシュメモリ3内に記憶
されていないミスヒットのときは、データは各メモリセ
ルアレイ1から読み出される。さらに、ヒット率カウン
タ7で常に平均キャッシュヒット率を求め、この平均キ
ャッシュヒット率が所望の閾値よりも低いとき、予測コ
ントローラ9はキャッシュヒット率を向上させるような
データ群を予測選択し、メインメモリとしてのメモリセ
ルアレイ1からキャッシュメモリ3へデータ転送回路2
を介してデータを転送させる。このように、キャッシュ
ヒット率の変化に基づいてキャッシュメモリ3の記憶内
容を予測更新するため、キャッシュメモリ3のミスヒッ
トを減少させることができる。
【0005】
【発明が解決しようとする課題】上記従来の高速半導体
装置において、高速なデータ読み出しとともにメモリ容
量をさらに増加させるためには、高い投資コストの微細
加工プロセスによるLSI製造技術が必要であり、ま
た、チップサイズの拡大も必要となっていた。
装置において、高速なデータ読み出しとともにメモリ容
量をさらに増加させるためには、高い投資コストの微細
加工プロセスによるLSI製造技術が必要であり、ま
た、チップサイズの拡大も必要となっていた。
【0006】本発明は、上記従来の問題を解決するもの
で、大容量でかつ高速に動作させることができる記憶装
置を提供することを目的とする。
で、大容量でかつ高速に動作させることができる記憶装
置を提供することを目的とする。
【0007】
【課題を解決するための手段】本発明の記憶装置は、圧
縮データを記憶する複数のメモリセル、該複数のメモリ
セルに記憶されている該圧縮データの一部を伸長する伸
長部、該伸長部による伸長結果を記憶するキャッシュメ
モリを有する1以上のメモリモジュールと、入力アドレ
スのデータが該キャッシュメモリ内に記憶されているか
否かを判定し、その判定の結果、該入力アドレスのデー
タが該キャッシュメモリ内に記憶されているキャッシュ
ヒットのときは、該入力アドレスのデータを該キャッシ
ュメモリから出力させ、また、該入力アドレスのデータ
が該キャッシュメモリ内に記憶されていない時は、該複
数のメモリセルから該入力アドレスの圧縮データを読み
出させ、該入力アドレスの圧縮データを該伸長部で伸長
して該キャッシュメモリ内に記憶させることによって、
該キャッシュメモリ内の記憶内容を更新させるキャッシ
ュコントローラと、平均キャッシュヒット率を求めるヒ
ット率カウンタと、所望の閾値を記憶し、該閾値と該平
均キャッシュヒット率を比較して、該閾値よりも該平均
キャッシュヒット率が低いときは、その後のデータを予
測選択して該キャッシュコントローラにより該メモリセ
ルから該伸長部を介して該キャッシュメモリへデータを
転送させ、該キャッシュメモリ内の記憶内容を更新させ
るように働く予測コントローラとを備えたものであり、
そのことにより上記目的が達成される。
縮データを記憶する複数のメモリセル、該複数のメモリ
セルに記憶されている該圧縮データの一部を伸長する伸
長部、該伸長部による伸長結果を記憶するキャッシュメ
モリを有する1以上のメモリモジュールと、入力アドレ
スのデータが該キャッシュメモリ内に記憶されているか
否かを判定し、その判定の結果、該入力アドレスのデー
タが該キャッシュメモリ内に記憶されているキャッシュ
ヒットのときは、該入力アドレスのデータを該キャッシ
ュメモリから出力させ、また、該入力アドレスのデータ
が該キャッシュメモリ内に記憶されていない時は、該複
数のメモリセルから該入力アドレスの圧縮データを読み
出させ、該入力アドレスの圧縮データを該伸長部で伸長
して該キャッシュメモリ内に記憶させることによって、
該キャッシュメモリ内の記憶内容を更新させるキャッシ
ュコントローラと、平均キャッシュヒット率を求めるヒ
ット率カウンタと、所望の閾値を記憶し、該閾値と該平
均キャッシュヒット率を比較して、該閾値よりも該平均
キャッシュヒット率が低いときは、その後のデータを予
測選択して該キャッシュコントローラにより該メモリセ
ルから該伸長部を介して該キャッシュメモリへデータを
転送させ、該キャッシュメモリ内の記憶内容を更新させ
るように働く予測コントローラとを備えたものであり、
そのことにより上記目的が達成される。
【0008】また、本発明の記憶装置は、連想キーワー
ドなどの入力データにマスク演算を行い、マスク演算後
のデータと記憶されているデータまたはデータのタグと
の照合を行う照合手段、該照合手段に接続され圧縮デー
タを記憶する複数のメモリセル、該照合手段に接続され
照合するデータに対応するビットに照合フラグが書き込
まれる照合フラグレジスタ、該照合フラグレジスタの各
ビットの出力を判定する照合判定手段、該照合判定手段
の照合出力により該複数のメモリセルから照合する圧縮
データを読み出してデータ伸長する伸長部、該伸長部に
よる伸長結果を記憶するキャッシュメモリを有する1以
上のメモリモジュールと、入力データと一致照合したデ
ータが該キャッシュメモリ内に記憶されているか否かを
判定し、その判定の結果、該入力アドレスのデータが該
キャッシュメモリ内に記憶されているキャッシュヒット
のときは、該照合したデータを該キャッシュメモリから
出力させ、また、該データが該キャッシュメモリ内に記
憶されていないときは、該入力データと該複数のメモリ
から圧縮データが読み出され、かつ該読みだされた圧縮
データを伸長し該キャッシュメモリ内に記憶させ、該キ
ャッシュメモリ内の記憶内容を更新するキャッシュコン
トローラと、平均キャッシュヒット率を求めるヒット率
カウンタと、所望の閾値を記憶し、該閾値と該平均キャ
ッシュヒット率を比較して、該閾値よりも該平均キャッ
シュヒット率が低いときは、その後のデータを予測選択
して該キャッシュコントローラにより該メモリセルから
該伸長部を介して該キャッシュメモリへデータを転送さ
せ、該キャッシュメモリ内の記憶内容を更新させるよう
に働く予測コントローラとを備えたものであり、そのこ
とにより上記目的が達成される。
ドなどの入力データにマスク演算を行い、マスク演算後
のデータと記憶されているデータまたはデータのタグと
の照合を行う照合手段、該照合手段に接続され圧縮デー
タを記憶する複数のメモリセル、該照合手段に接続され
照合するデータに対応するビットに照合フラグが書き込
まれる照合フラグレジスタ、該照合フラグレジスタの各
ビットの出力を判定する照合判定手段、該照合判定手段
の照合出力により該複数のメモリセルから照合する圧縮
データを読み出してデータ伸長する伸長部、該伸長部に
よる伸長結果を記憶するキャッシュメモリを有する1以
上のメモリモジュールと、入力データと一致照合したデ
ータが該キャッシュメモリ内に記憶されているか否かを
判定し、その判定の結果、該入力アドレスのデータが該
キャッシュメモリ内に記憶されているキャッシュヒット
のときは、該照合したデータを該キャッシュメモリから
出力させ、また、該データが該キャッシュメモリ内に記
憶されていないときは、該入力データと該複数のメモリ
から圧縮データが読み出され、かつ該読みだされた圧縮
データを伸長し該キャッシュメモリ内に記憶させ、該キ
ャッシュメモリ内の記憶内容を更新するキャッシュコン
トローラと、平均キャッシュヒット率を求めるヒット率
カウンタと、所望の閾値を記憶し、該閾値と該平均キャ
ッシュヒット率を比較して、該閾値よりも該平均キャッ
シュヒット率が低いときは、その後のデータを予測選択
して該キャッシュコントローラにより該メモリセルから
該伸長部を介して該キャッシュメモリへデータを転送さ
せ、該キャッシュメモリ内の記憶内容を更新させるよう
に働く予測コントローラとを備えたものであり、そのこ
とにより上記目的が達成される。
【0009】
【作用】上記構成により、キャッシュコントローラは入
力アドレスのデータがキャッシュメモリ内に記憶されて
いるか否かをまず判定し、キャッシュヒット時は、キャ
ッシュメモリからデータが読み出されることで高速な読
みだしが可能となる。また、入力アドレスのデータがミ
スヒット時は、圧縮データをメモリセルから読み出し、
データ伸長して出力し、かつ伸長データをキャッシュメ
モリに書き込む。このように圧縮データにより、情報量
の損失なしに冗長情報を削除しているので、メモリ容量
は増大可能となる。さらに、ヒット率カウンタにより平
均キャッシュヒット率が求められ、予測コントローラ
は、この平均キャッシュヒット率が所望の閾値より低い
とき、メモリセルからキャッシュメモリへ、その後のキ
ャッシュヒット率を向上させるように予測選択された予
測データをキャッシュコントローラにより転送させて、
キャッシュメモリの記憶内容を更新させるので、キャッ
シュメモリのミスヒットが減少してキャッシュメモリか
らの高速読み出しの確率も向上し、より高速なデータの
読み出しが可能となる。
力アドレスのデータがキャッシュメモリ内に記憶されて
いるか否かをまず判定し、キャッシュヒット時は、キャ
ッシュメモリからデータが読み出されることで高速な読
みだしが可能となる。また、入力アドレスのデータがミ
スヒット時は、圧縮データをメモリセルから読み出し、
データ伸長して出力し、かつ伸長データをキャッシュメ
モリに書き込む。このように圧縮データにより、情報量
の損失なしに冗長情報を削除しているので、メモリ容量
は増大可能となる。さらに、ヒット率カウンタにより平
均キャッシュヒット率が求められ、予測コントローラ
は、この平均キャッシュヒット率が所望の閾値より低い
とき、メモリセルからキャッシュメモリへ、その後のキ
ャッシュヒット率を向上させるように予測選択された予
測データをキャッシュコントローラにより転送させて、
キャッシュメモリの記憶内容を更新させるので、キャッ
シュメモリのミスヒットが減少してキャッシュメモリか
らの高速読み出しの確率も向上し、より高速なデータの
読み出しが可能となる。
【0010】また、アドレスを入力する代わりに検索デ
ータを入力する場合にも、キャッシュコントローラは、
検索データである入力データがキャッシュメモリ内に記
憶されているか否かをまず判定し、入力データがキャッ
シュヒット時には、キャッシュメモリからデータを高速
に読み出し、また、データミスヒット時は、照合判定部
44の照合出力によりメモリセルアレイ32から照合す
る圧縮データが読み出されてデータ伸長部33でデータ
伸長し、この伸長データをキャッシュメモリに記憶させ
てキャッシュメモリ内の記憶内容を更新する。また、ヒ
ット率カウンタにより平均キャッシュヒット率が求めら
れ、予測コントローラは、この平均キャッシュヒット率
が所望の閾値より低いとき、メモリセルからキャッシュ
メモリへ、その後のキャッシュヒット率を向上させるよ
うに予測選択された予測データをキャッシュコントロー
ラにより転送させて、キャッシュメモリの記憶内容を更
新させるので、キャッシュメモリのミスヒットが減少し
てキャッシュメモリからの高速読み出しの確率も向上
し、より高速なデータの読み出しが可能となる。しか
も、圧縮データにより、情報量の損失なしに冗長情報を
削除しているので、メモリ容量は増大可能となる。
ータを入力する場合にも、キャッシュコントローラは、
検索データである入力データがキャッシュメモリ内に記
憶されているか否かをまず判定し、入力データがキャッ
シュヒット時には、キャッシュメモリからデータを高速
に読み出し、また、データミスヒット時は、照合判定部
44の照合出力によりメモリセルアレイ32から照合す
る圧縮データが読み出されてデータ伸長部33でデータ
伸長し、この伸長データをキャッシュメモリに記憶させ
てキャッシュメモリ内の記憶内容を更新する。また、ヒ
ット率カウンタにより平均キャッシュヒット率が求めら
れ、予測コントローラは、この平均キャッシュヒット率
が所望の閾値より低いとき、メモリセルからキャッシュ
メモリへ、その後のキャッシュヒット率を向上させるよ
うに予測選択された予測データをキャッシュコントロー
ラにより転送させて、キャッシュメモリの記憶内容を更
新させるので、キャッシュメモリのミスヒットが減少し
てキャッシュメモリからの高速読み出しの確率も向上
し、より高速なデータの読み出しが可能となる。しか
も、圧縮データにより、情報量の損失なしに冗長情報を
削除しているので、メモリ容量は増大可能となる。
【0011】
【実施例】以下に本発明の実施例について説明する。
【0012】まず、第1の実施例について説明する。図
1に示すように、圧縮データを記憶するメモリセルアレ
イ11は、メモリセルアレイ11に記憶されている圧縮
データの一部を伸長するデータ伸長部12に接続され、
このデータ伸長部12はデータ転送回路13を介して、
データ伸長部12による伸長結果を記憶するキャッシュ
メモリ14に接続され、また、アドレスバッファ15が
アドレスデコーダ16を介して接続されるキャッシュコ
ントローラ17は複数のメモリセルアレイ11およびキ
ャッシュメモリ14に接続され、入力アドレスのデータ
がキャッシュメモリ14内に記憶されているか否かを判
定し、その判定の結果、データがキャッシュメモリ14
内に記憶されているキャッシュヒットのときは、データ
をキャッシュメモリ14から出力させ、アドレスのデー
タがキャッシュメモリ14内に記憶されていない時は、
複数のメモリセルアレイ11からアドレスの圧縮データ
を読み出させ、圧縮データを伸長部12で伸長させ、こ
の伸長データをデータ転送回路13を介してキャッシュ
メモリ14内に記憶させることによって、キャッシュメ
モリ14内の記憶内容を更新させる。
1に示すように、圧縮データを記憶するメモリセルアレ
イ11は、メモリセルアレイ11に記憶されている圧縮
データの一部を伸長するデータ伸長部12に接続され、
このデータ伸長部12はデータ転送回路13を介して、
データ伸長部12による伸長結果を記憶するキャッシュ
メモリ14に接続され、また、アドレスバッファ15が
アドレスデコーダ16を介して接続されるキャッシュコ
ントローラ17は複数のメモリセルアレイ11およびキ
ャッシュメモリ14に接続され、入力アドレスのデータ
がキャッシュメモリ14内に記憶されているか否かを判
定し、その判定の結果、データがキャッシュメモリ14
内に記憶されているキャッシュヒットのときは、データ
をキャッシュメモリ14から出力させ、アドレスのデー
タがキャッシュメモリ14内に記憶されていない時は、
複数のメモリセルアレイ11からアドレスの圧縮データ
を読み出させ、圧縮データを伸長部12で伸長させ、こ
の伸長データをデータ転送回路13を介してキャッシュ
メモリ14内に記憶させることによって、キャッシュメ
モリ14内の記憶内容を更新させる。
【0013】また、キャッシュコントローラ17が、平
均キャッシュヒット率を求めるヒット率カウンタ18を
介して接続され、また、各データ伸長部12、アドレス
バッファ15および予測ON/OFFレジスタ19が接
続される予測コントローラ20は、アドレスデコーダ1
6を介してキャッシュコントローラ17に接続され、所
望の閾値を記憶し、この閾値と平均キャッシュヒット率
と比較して、閾値よりも平均キャッシュヒット率が低い
ときは、キャッシュヒット率を向上させるようにその後
のデータを予測選択してキャッシュコントローラ17に
よりメモリセルアレイ11から伸長部12を介してキャ
ッシュメモリ14へデータを転送させ、キャッシュメモ
リ14内の記憶内容を更新させる。さらに、キャッシュ
メモリサイズ設定用レジスタ21は、キャッシュメモリ
14の記憶容量のサイズとバンク数とを初期設定するこ
とができる。
均キャッシュヒット率を求めるヒット率カウンタ18を
介して接続され、また、各データ伸長部12、アドレス
バッファ15および予測ON/OFFレジスタ19が接
続される予測コントローラ20は、アドレスデコーダ1
6を介してキャッシュコントローラ17に接続され、所
望の閾値を記憶し、この閾値と平均キャッシュヒット率
と比較して、閾値よりも平均キャッシュヒット率が低い
ときは、キャッシュヒット率を向上させるようにその後
のデータを予測選択してキャッシュコントローラ17に
よりメモリセルアレイ11から伸長部12を介してキャ
ッシュメモリ14へデータを転送させ、キャッシュメモ
リ14内の記憶内容を更新させる。さらに、キャッシュ
メモリサイズ設定用レジスタ21は、キャッシュメモリ
14の記憶容量のサイズとバンク数とを初期設定するこ
とができる。
【0014】また、メモリセルアレイ11は任意のN
(1、2、・・・、N)個に分けられてサブモジュール
(以下メモリモジュールという)の一部を構成してい
る。また、メモリセルアレイ11内の最上のメモリセル
から下に数えてi番目のメモリセルをi番目メモリセル
という。これら各メモリモジュールは、圧縮データを記
憶する通常のメモリセルアレイ11と、圧縮データを伸
長するデータ伸長部12と、データを伸長した形式で記
憶するためのキャッシュメモリ14と、メモリセルアレ
イ11からキャッシュメモリ14へデータを転送するデ
ータ転送回路13とを有している。なお、メモリセルア
レイ11を構成する各メモリセルは、ROM用セルであ
ってもRAM用セルであってもよい。
(1、2、・・・、N)個に分けられてサブモジュール
(以下メモリモジュールという)の一部を構成してい
る。また、メモリセルアレイ11内の最上のメモリセル
から下に数えてi番目のメモリセルをi番目メモリセル
という。これら各メモリモジュールは、圧縮データを記
憶する通常のメモリセルアレイ11と、圧縮データを伸
長するデータ伸長部12と、データを伸長した形式で記
憶するためのキャッシュメモリ14と、メモリセルアレ
イ11からキャッシュメモリ14へデータを転送するデ
ータ転送回路13とを有している。なお、メモリセルア
レイ11を構成する各メモリセルは、ROM用セルであ
ってもRAM用セルであってもよい。
【0015】ここでは簡単なため、メモリセルアレイ1
1、データ転送部13、キャッシュメモリ14およびデ
ータ伸長部12を含むメモリモジュールを16個として
いる(N=16)。後述する図4では各メモリモジュー
ルの容量は1メガビット(Mビット)とすると、メモリ
の容量は16Mビットとなるが、本実施例では、メモリ
モジュールにはデータが圧縮して記憶されるため物理的
な記憶容量以上の情報が記憶され得る。また、各キャッ
シュメモリ14の容量は1Kビットである。データが1
バイト単位で読み出されるとすると、アドレス空間の大
きさは217となる。なお、これらの数値は本実施例の値
に限定されるものではなく、任意に設定され得る。
1、データ転送部13、キャッシュメモリ14およびデ
ータ伸長部12を含むメモリモジュールを16個として
いる(N=16)。後述する図4では各メモリモジュー
ルの容量は1メガビット(Mビット)とすると、メモリ
の容量は16Mビットとなるが、本実施例では、メモリ
モジュールにはデータが圧縮して記憶されるため物理的
な記憶容量以上の情報が記憶され得る。また、各キャッ
シュメモリ14の容量は1Kビットである。データが1
バイト単位で読み出されるとすると、アドレス空間の大
きさは217となる。なお、これらの数値は本実施例の値
に限定されるものではなく、任意に設定され得る。
【0016】上記構成により、メモリに入力されるアド
レスは、アドレスバッファ15、アドレスデコーダ16
さらにキャッシュコントローラ17を介して、各メモリ
モジュールのメモリセルアレイ11またはキャッシュメ
モリ14に入力される。
レスは、アドレスバッファ15、アドレスデコーダ16
さらにキャッシュコントローラ17を介して、各メモリ
モジュールのメモリセルアレイ11またはキャッシュメ
モリ14に入力される。
【0017】キャッシュコントローラ17は、入力アド
レスのデータがキャッシュメモリ14内に記憶されてい
るか否かをまず判定し、キャッシュヒット時は、キャッ
シュメモリ14からデータが読み出されることで高速の
読みだしが可能となる。また、入力アドレスのデータが
ミスヒット時は、圧縮データをメモリセルアレイ11か
ら読み出し、このメモリセルアレイ11から読み出され
たデータはデータ伸長部12で伸長されて出力されると
同時にキャッシュメモリ14に書き込まれる。このよう
に圧縮データにより情報量の損失なしに冗長情報を削除
するので、メモリ容量は増大する。さらに、ヒット率カ
ウンタ18により、予測コントローラ20は、平均キャ
ッシュヒット率が求められ、この平均キャッシュヒット
率が所望の閾値より低いとき、メモリセルアレイ11か
らキャッシュメモリ14へデータを転送させるためのデ
ータ転送要求信号をキャッシュコントローラ17から送
出させる。このデータ転送要求信号を受け取ると、予測
コントローラ20は、メモリセルアレイ11からキャッ
シュメモリ14へ転送させるべきデータを予測決定す
る。この予測データ群は、その後のキャッシュヒット率
を向上させるように予測選択されて、キャッシュメモリ
14の記憶内容を更新するので、キャッシュメモリ14
のミスヒットが減少してキャッシュメモリ14からの高
速読み出しの確率も向上し、より高速なデータ読み出し
が可能となる。
レスのデータがキャッシュメモリ14内に記憶されてい
るか否かをまず判定し、キャッシュヒット時は、キャッ
シュメモリ14からデータが読み出されることで高速の
読みだしが可能となる。また、入力アドレスのデータが
ミスヒット時は、圧縮データをメモリセルアレイ11か
ら読み出し、このメモリセルアレイ11から読み出され
たデータはデータ伸長部12で伸長されて出力されると
同時にキャッシュメモリ14に書き込まれる。このよう
に圧縮データにより情報量の損失なしに冗長情報を削除
するので、メモリ容量は増大する。さらに、ヒット率カ
ウンタ18により、予測コントローラ20は、平均キャ
ッシュヒット率が求められ、この平均キャッシュヒット
率が所望の閾値より低いとき、メモリセルアレイ11か
らキャッシュメモリ14へデータを転送させるためのデ
ータ転送要求信号をキャッシュコントローラ17から送
出させる。このデータ転送要求信号を受け取ると、予測
コントローラ20は、メモリセルアレイ11からキャッ
シュメモリ14へ転送させるべきデータを予測決定す
る。この予測データ群は、その後のキャッシュヒット率
を向上させるように予測選択されて、キャッシュメモリ
14の記憶内容を更新するので、キャッシュメモリ14
のミスヒットが減少してキャッシュメモリ14からの高
速読み出しの確率も向上し、より高速なデータ読み出し
が可能となる。
【0018】また、予測コントローラ20が、過去複数
サイクルの入力データを記憶し得るシフトレジスタを有
していれば、予め設定されたデータパタン変更予測式と
過去複数サイクルの入力データに基づいて、メモリセル
からキャッシュメモリへ転送させるべきデータを決定す
ることができる。
サイクルの入力データを記憶し得るシフトレジスタを有
していれば、予め設定されたデータパタン変更予測式と
過去複数サイクルの入力データに基づいて、メモリセル
からキャッシュメモリへ転送させるべきデータを決定す
ることができる。
【0019】さらに、メモリセルアレイ11に記憶され
る圧縮データの構造については、メモリセルアレイ11
のビット長をMビットとすると、図2に示すように、伸
長データ101はビット長uビットのデータ(1)〜デ
ータ(q)のデータである。また、圧縮データ102は
伸長データ101の圧縮後のデータである。この伸長デ
ータ101は特定の圧縮アルゴリズムで(u×q)ビッ
トがpビットに圧縮される。ここで、必ずp≦Mとなる
ような圧縮アルゴリズムとqの値を選択する。ここで、
qは2のべき乗であることが望ましい。ある特定の圧縮
アルゴリズムとは完全に復号可能なアルゴリズム(ロス
レス符号化)であり、例えば、ハフマン符号化、Lem
pel−Ziv、算術符号化、ランレングス符号化など
を用いる。これらデータ圧縮技術は、データ系列中の繰
り返しパターンに対して、確率統計的に符号を割り当て
情報量の損失なしに冗長情報を削除する技術であり、使
用可能なメモリ容量を圧縮しない場合に比べて2〜10
倍に増大させることができる。
る圧縮データの構造については、メモリセルアレイ11
のビット長をMビットとすると、図2に示すように、伸
長データ101はビット長uビットのデータ(1)〜デ
ータ(q)のデータである。また、圧縮データ102は
伸長データ101の圧縮後のデータである。この伸長デ
ータ101は特定の圧縮アルゴリズムで(u×q)ビッ
トがpビットに圧縮される。ここで、必ずp≦Mとなる
ような圧縮アルゴリズムとqの値を選択する。ここで、
qは2のべき乗であることが望ましい。ある特定の圧縮
アルゴリズムとは完全に復号可能なアルゴリズム(ロス
レス符号化)であり、例えば、ハフマン符号化、Lem
pel−Ziv、算術符号化、ランレングス符号化など
を用いる。これらデータ圧縮技術は、データ系列中の繰
り返しパターンに対して、確率統計的に符号を割り当て
情報量の損失なしに冗長情報を削除する技術であり、使
用可能なメモリ容量を圧縮しない場合に比べて2〜10
倍に増大させることができる。
【0020】さらに、メモリセルアレイ11から圧縮デ
ータ102が読み出されるのは、キャッシュメモリ14
がミスヒットした場合と予測コントローラ20の予測し
たデータをデータ転送部13へ転送する場合である。図
3に示すように、入力アドレスのデータはメモリセル1
1の圧縮データ(n)111に存在するとする。ここで
qが2のべき乗であるとき、キャッシュコントローラ1
7で入力アドレスから圧縮データ(n)を求めるのに右
シフトのみで実現できる。この結果、データ伸長部12
に圧縮データ(n)112が出力される。そして、デー
タ伸長部12はこの転送された圧縮データ(n)112
を受けると1データ当りuビット、qエントリのデータ
に伸長する。
ータ102が読み出されるのは、キャッシュメモリ14
がミスヒットした場合と予測コントローラ20の予測し
たデータをデータ転送部13へ転送する場合である。図
3に示すように、入力アドレスのデータはメモリセル1
1の圧縮データ(n)111に存在するとする。ここで
qが2のべき乗であるとき、キャッシュコントローラ1
7で入力アドレスから圧縮データ(n)を求めるのに右
シフトのみで実現できる。この結果、データ伸長部12
に圧縮データ(n)112が出力される。そして、デー
タ伸長部12はこの転送された圧縮データ(n)112
を受けると1データ当りuビット、qエントリのデータ
に伸長する。
【0021】ここで、図1のキャッシュコントローラ1
7には、メモリセルアレイ11に対してアドレス出力さ
せる場合は入力アドレスをqで除算するためのシフタが
追加されている。
7には、メモリセルアレイ11に対してアドレス出力さ
せる場合は入力アドレスをqで除算するためのシフタが
追加されている。
【0022】次に、本発明の第2の実施例である、検索
データを入力してメモリから連想されるデータを読み出
す連想メモリについて説明する。
データを入力してメモリから連想されるデータを読み出
す連想メモリについて説明する。
【0023】図4に示すように、照合部31が接続され
るメモリセルアレイ32はデータ伸長部33に接続さ
れ、このデータ伸長部33はデータ転送部34を介し
て、照合部35が接続されるキャッシュメモリ36に接
続され、また、照合部31はデータ転送部34を介して
照合部35に接続されている。また、入力データレジス
タ37さらにマスクパタンレジスタ38が接続されるキ
ャッシュコントローラ39は各照合部31,35に接続
されている。さらに、各照合部35はキャッシュコント
ローラ39と平均キャッシュヒット率を求めるヒット率
カウンタ40に接続されている。さらに、このヒット率
カウンタ40、予測設定フラグレジスタ41および入力
データレジスタ37さらにマスクパタンレジスタ38が
接続される予測コントローラ42はキャッシュコントロ
ーラ39と各データ転送部34に接続されている。さら
に、照合部31に接続される照合フラグレジスタ43
は、出力端がデータ伸長部33およびデータ転送部34
に接続される照合判定部44に接続され、照合するデー
タに対応する照合フラグレジスタ43のビットに照合フ
ラグが書き込まれ、この照合フラグレジスタ43の各ビ
ットの出力を照合判定部44で照合判定する。この照合
フラグレジスタ43における照合フラグは、メモリセル
のワード数だけ存在し、メモリセルの内容と入力データ
とのマッチングが成立したときに1が書き込まれる機能
が有れば良い。また、照合判定部44は照合フラグを順
に検索して、マッチングが成立したメモリデータを検出
する機能が有れば良い。なお、45はキャッシュコント
ローラ39に接続される割り込みフラグレジスタであ
る。
るメモリセルアレイ32はデータ伸長部33に接続さ
れ、このデータ伸長部33はデータ転送部34を介し
て、照合部35が接続されるキャッシュメモリ36に接
続され、また、照合部31はデータ転送部34を介して
照合部35に接続されている。また、入力データレジス
タ37さらにマスクパタンレジスタ38が接続されるキ
ャッシュコントローラ39は各照合部31,35に接続
されている。さらに、各照合部35はキャッシュコント
ローラ39と平均キャッシュヒット率を求めるヒット率
カウンタ40に接続されている。さらに、このヒット率
カウンタ40、予測設定フラグレジスタ41および入力
データレジスタ37さらにマスクパタンレジスタ38が
接続される予測コントローラ42はキャッシュコントロ
ーラ39と各データ転送部34に接続されている。さら
に、照合部31に接続される照合フラグレジスタ43
は、出力端がデータ伸長部33およびデータ転送部34
に接続される照合判定部44に接続され、照合するデー
タに対応する照合フラグレジスタ43のビットに照合フ
ラグが書き込まれ、この照合フラグレジスタ43の各ビ
ットの出力を照合判定部44で照合判定する。この照合
フラグレジスタ43における照合フラグは、メモリセル
のワード数だけ存在し、メモリセルの内容と入力データ
とのマッチングが成立したときに1が書き込まれる機能
が有れば良い。また、照合判定部44は照合フラグを順
に検索して、マッチングが成立したメモリデータを検出
する機能が有れば良い。なお、45はキャッシュコント
ローラ39に接続される割り込みフラグレジスタであ
る。
【0024】ここで、圧縮データを格納するメモリセル
アレイ32は任意のN(1、2、・・・、N)個に分け
られたメモリモジュールの一部を構成している。これら
各メモリモジュールはそれぞれ、照合部31、照合部3
1が接続されるメモリセルアレイ32、照合部35、照
合部35が接続されるキャッシュメモリ36、データ伸
長部33、メモリセルアレイ32からキャッシュメモリ
36へデータを転送するデータ転送部34、照合フラグ
レジスタ43および照合判定部44を含んでいる。
アレイ32は任意のN(1、2、・・・、N)個に分け
られたメモリモジュールの一部を構成している。これら
各メモリモジュールはそれぞれ、照合部31、照合部3
1が接続されるメモリセルアレイ32、照合部35、照
合部35が接続されるキャッシュメモリ36、データ伸
長部33、メモリセルアレイ32からキャッシュメモリ
36へデータを転送するデータ転送部34、照合フラグ
レジスタ43および照合判定部44を含んでいる。
【0025】上記構成により、アドレスを入力とせず
に、たとえば○○○株式会社などの○○○をマスクして
株式会社などでデータ検索したいようなときに、検索デ
ータを入力とし、入力データにマスク演算を行う入力デ
ータ(以下入力データCDという)レジスタ37とマス
クパタン(以下マスクパタンMDという)レジスタ38
は、キャッシュコントローラ39を介して、各メモリモ
ジュールの照合部31またはキャッシュメモリ照合部3
5にマスク演算後のデータを伝達する。メモリモジュー
ルの照合部31,35では、マスク演算後のデータと記
憶されているデータとの照合および、記憶されている圧
縮データのタグとの照合を行う。そして、照合するデー
タに対応する照合フラグレジスタ43のビットに照合フ
ラグが書き込まれる。この照合フラグレジスタ43の各
ビットの出力を照合判定部44で照合判定する。
に、たとえば○○○株式会社などの○○○をマスクして
株式会社などでデータ検索したいようなときに、検索デ
ータを入力とし、入力データにマスク演算を行う入力デ
ータ(以下入力データCDという)レジスタ37とマス
クパタン(以下マスクパタンMDという)レジスタ38
は、キャッシュコントローラ39を介して、各メモリモ
ジュールの照合部31またはキャッシュメモリ照合部3
5にマスク演算後のデータを伝達する。メモリモジュー
ルの照合部31,35では、マスク演算後のデータと記
憶されているデータとの照合および、記憶されている圧
縮データのタグとの照合を行う。そして、照合するデー
タに対応する照合フラグレジスタ43のビットに照合フ
ラグが書き込まれる。この照合フラグレジスタ43の各
ビットの出力を照合判定部44で照合判定する。
【0026】また、キャッシュコントローラ39は、入
力データと一致照合したデータがキャッシュメモリ36
内に記憶されているか否かを判定し、その判定の結果、
入力データがキャッシュヒット時には、キャッシュメモ
リからデータを高速に読み出し、また、そのデータがキ
ャッシュメモリ36内に記憶されていないときは、照合
判定部44の照合出力によりメモリセルアレイ32から
照合する圧縮データが読み出されてデータ伸長部33で
データ伸長され、かつそのデータをキャッシュメモリ3
6内に伸長したデータを記憶させることによって、キャ
ッシュメモリ36内の記憶内容を更新させる。また、ヒ
ット率カウンタ40により平均キャッシュヒット率が求
められ、予測コントローラ42は、この平均キャッシュ
ヒット率が所望の閾値より低いとき、メモリセルアレイ
32からキャッシュメモリ36へ、その後のキャッシュ
ヒット率を向上させるように予測選択された予測データ
をキャッシュコントローラ39により転送させて、キャ
ッシュメモリ36の記憶内容を更新させるので、キャッ
シュメモリ36のミスヒットが減少してキャッシュメモ
リ36からの高速読み出しの確率も向上し、より高速な
データの読み出しが可能となる。この場合にも、照合判
定部44の照合出力によりメモリセルアレイ32から照
合する圧縮データが読み出されてデータ伸長部33でデ
ータ伸長される。
力データと一致照合したデータがキャッシュメモリ36
内に記憶されているか否かを判定し、その判定の結果、
入力データがキャッシュヒット時には、キャッシュメモ
リからデータを高速に読み出し、また、そのデータがキ
ャッシュメモリ36内に記憶されていないときは、照合
判定部44の照合出力によりメモリセルアレイ32から
照合する圧縮データが読み出されてデータ伸長部33で
データ伸長され、かつそのデータをキャッシュメモリ3
6内に伸長したデータを記憶させることによって、キャ
ッシュメモリ36内の記憶内容を更新させる。また、ヒ
ット率カウンタ40により平均キャッシュヒット率が求
められ、予測コントローラ42は、この平均キャッシュ
ヒット率が所望の閾値より低いとき、メモリセルアレイ
32からキャッシュメモリ36へ、その後のキャッシュ
ヒット率を向上させるように予測選択された予測データ
をキャッシュコントローラ39により転送させて、キャ
ッシュメモリ36の記憶内容を更新させるので、キャッ
シュメモリ36のミスヒットが減少してキャッシュメモ
リ36からの高速読み出しの確率も向上し、より高速な
データの読み出しが可能となる。この場合にも、照合判
定部44の照合出力によりメモリセルアレイ32から照
合する圧縮データが読み出されてデータ伸長部33でデ
ータ伸長される。
【0027】好ましくは、入力データに一致照合したデ
ータ間で、共通するインデックスを検索する。また、入
力データに一致照合したデータ間で、共通するインデッ
クスを検索する時、予測コントローラ42は、過去数サ
イクルの入力データに一致照合したデータのインデック
スレジスタを有しており、過去複数サイクルのデータの
インデックスに基づいて、メモリセルアレイ32からキ
ャッシュメモリ36へ転送させるべきデータを決定す
る。
ータ間で、共通するインデックスを検索する。また、入
力データに一致照合したデータ間で、共通するインデッ
クスを検索する時、予測コントローラ42は、過去数サ
イクルの入力データに一致照合したデータのインデック
スレジスタを有しており、過去複数サイクルのデータの
インデックスに基づいて、メモリセルアレイ32からキ
ャッシュメモリ36へ転送させるべきデータを決定す
る。
【0028】図5(a)に示すデータ201は共通なキ
ーワードKを含むビット長uビットのデータ(1)〜デ
ータ(q)の任意のq個のデータである。このデータ2
01は、圧縮データ202に対する被圧縮データまたは
伸長後のデータであり、特定の圧縮アルゴリズムで(u
×q)ビットがpビットに圧縮される。
ーワードKを含むビット長uビットのデータ(1)〜デ
ータ(q)の任意のq個のデータである。このデータ2
01は、圧縮データ202に対する被圧縮データまたは
伸長後のデータであり、特定の圧縮アルゴリズムで(u
×q)ビットがpビットに圧縮される。
【0029】図5(b)は圧縮データ202のデータ構
造を示しており、圧縮データ本体部203(pビット
長)はデータ201を圧縮したデータ、タグ204(s
ビット長)はキーワードK、圧縮データ数205(tビ
ット長)は圧縮データ部に含まれるデータ201のデー
タ数であり、また、ヘッダはデータ202の始まりを示
す符号であり、かつ、圧縮データを構成する符号語には
含まれないコードである。このとき、r,s,t,uの
ビット数は固定であり、pのビット数は可変である。
造を示しており、圧縮データ本体部203(pビット
長)はデータ201を圧縮したデータ、タグ204(s
ビット長)はキーワードK、圧縮データ数205(tビ
ット長)は圧縮データ部に含まれるデータ201のデー
タ数であり、また、ヘッダはデータ202の始まりを示
す符号であり、かつ、圧縮データを構成する符号語には
含まれないコードである。このとき、r,s,t,uの
ビット数は固定であり、pのビット数は可変である。
【0030】ここで、図4のメモリセルアレイ32に格
納される具体的な圧縮データ例が、図6に示すように、
圧縮データ201“TAMURA”、“TAURA”、
“TAO”から構成されているものとする。この場合、
語(圧縮データ201を構成しているアルファベット)
の出現頻度の高い順番に短い符号を割り当てた対応表
(以下「辞書」という)を作成する。圧縮するというこ
とは、圧縮データ201の内容を辞書206を用いて T=>010, A=>1, M=>00010 ・ ・ に変換することである。圧縮データ202は、[TA」
がタグ204として使用され、ヘッダ207(Oビット
長)、タグ204、圧縮データ数205、さらに圧縮デ
ータ本体部203がそれぞれ変換されて構成される。
[TAMURA」の各語を8ビットのASCIIコード
で表すと48(8×6)ビット必要であるが、本実施例
の圧縮コードを用いると18ビットで表現できる。
納される具体的な圧縮データ例が、図6に示すように、
圧縮データ201“TAMURA”、“TAURA”、
“TAO”から構成されているものとする。この場合、
語(圧縮データ201を構成しているアルファベット)
の出現頻度の高い順番に短い符号を割り当てた対応表
(以下「辞書」という)を作成する。圧縮するというこ
とは、圧縮データ201の内容を辞書206を用いて T=>010, A=>1, M=>00010 ・ ・ に変換することである。圧縮データ202は、[TA」
がタグ204として使用され、ヘッダ207(Oビット
長)、タグ204、圧縮データ数205、さらに圧縮デ
ータ本体部203がそれぞれ変換されて構成される。
[TAMURA」の各語を8ビットのASCIIコード
で表すと48(8×6)ビット必要であるが、本実施例
の圧縮コードを用いると18ビットで表現できる。
【0031】また、データ伸長部33におけるデータ伸
長とは、逆に圧縮データ本体部203を辞書206を用
いて圧縮コードから語を求めることである。すなわち、 010 =>T(シンボルTがコード010に割り当
てられる。) 1 =>A, 00010=>M, ・ ・ に復号することである。
長とは、逆に圧縮データ本体部203を辞書206を用
いて圧縮コードから語を求めることである。すなわち、 010 =>T(シンボルTがコード010に割り当
てられる。) 1 =>A, 00010=>M, ・ ・ に復号することである。
【0032】さらに、圧縮データ202をメモリセルア
レイ32に格納するための格納例は、図7に示すよう
に、メモリセルアレイ32に圧縮データ数205、圧縮
データ本体部203がそれぞれz個記憶されており、圧
縮データ本体部203のビット数pはデータ201の個
数qによって変化するため、メモリセルアレイ32のビ
ット数Bとは必ずしも一致しない。したがって、1メモ
リモジュールに1データが記憶されているとは限らな
い。
レイ32に格納するための格納例は、図7に示すよう
に、メモリセルアレイ32に圧縮データ数205、圧縮
データ本体部203がそれぞれz個記憶されており、圧
縮データ本体部203のビット数pはデータ201の個
数qによって変化するため、メモリセルアレイ32のビ
ット数Bとは必ずしも一致しない。したがって、1メモ
リモジュールに1データが記憶されているとは限らな
い。
【0033】また、メモリモジュールのメモリセルアレ
イ32から圧縮データ202が読み出される場合は、キ
ャッシュメモリ36がミスヒットした場合と予測コント
ローラ42の予測したデータをデータ転送部34へ転送
する場合である。この場合いずれも、キャッシュコント
ローラ39は照合部31にデータ転送信号を送信する。
この照合部31はメモリセルアレイ32内のデータをサ
ーチし、ヘッダ(1)〜(z)を識別し、その後に続く
タグ(1)〜タグ(z)を検出する。そして、照合部3
1はマスク処理された入力パタンCDまたは予測パタン
(1)〜(z)とを比較する。ここで、タグ(n)が一
致したとする。この場合、図7においてデータ(n)と
データ(n+1)が含まれるメモリモジュールの内容、
すなわち、word(1,i)、word(1,i+
1)をデータ伸長部33に転送する。このデータ伸長部
33は転送されたデータ(n)、データ(n+1)を受
けると、圧縮データ本体部203のみを1データ当たり
uビット、qエントリのデータに伸長して複号する。
イ32から圧縮データ202が読み出される場合は、キ
ャッシュメモリ36がミスヒットした場合と予測コント
ローラ42の予測したデータをデータ転送部34へ転送
する場合である。この場合いずれも、キャッシュコント
ローラ39は照合部31にデータ転送信号を送信する。
この照合部31はメモリセルアレイ32内のデータをサ
ーチし、ヘッダ(1)〜(z)を識別し、その後に続く
タグ(1)〜タグ(z)を検出する。そして、照合部3
1はマスク処理された入力パタンCDまたは予測パタン
(1)〜(z)とを比較する。ここで、タグ(n)が一
致したとする。この場合、図7においてデータ(n)と
データ(n+1)が含まれるメモリモジュールの内容、
すなわち、word(1,i)、word(1,i+
1)をデータ伸長部33に転送する。このデータ伸長部
33は転送されたデータ(n)、データ(n+1)を受
けると、圧縮データ本体部203のみを1データ当たり
uビット、qエントリのデータに伸長して複号する。
【0034】このデータ伸長部33は、図8に示すよう
に、辞書206、シフタ331、比較器332およびバ
ッファ333から構成されている。シフタ331は圧縮
データ本体部203の上位ビットから順番に下位ビット
へnビットずつ出力する。このシフタ331が接続され
る比較器332はシフタ331から出力されるデータと
辞書206の圧縮コードとを逐次比較し、一致した圧縮
コードがあればその圧縮コードに該当する語をバッファ
333にバッファリングする。このバッファ333では
辞書206から送られてくる語をデータに構成し直し、
圧縮データ数205と同じ個数のデータが蓄積されると
データ転送部34へ出力する。
に、辞書206、シフタ331、比較器332およびバ
ッファ333から構成されている。シフタ331は圧縮
データ本体部203の上位ビットから順番に下位ビット
へnビットずつ出力する。このシフタ331が接続され
る比較器332はシフタ331から出力されるデータと
辞書206の圧縮コードとを逐次比較し、一致した圧縮
コードがあればその圧縮コードに該当する語をバッファ
333にバッファリングする。このバッファ333では
辞書206から送られてくる語をデータに構成し直し、
圧縮データ数205と同じ個数のデータが蓄積されると
データ転送部34へ出力する。
【0035】さらに、照合部31は、図9に示すよう
に、I/Oセル311、CAMセル312、RAMセル
313およびアドレスデコーダ314で構成されてい
る。各セルは横方向には入力データのビット幅だけ必要
であり、ここではCDはmビット幅だけ必要である。照
合するデータ(CD1〜CDm)とマスクパタン(MD1
〜MDmー1)はI/Oセル311に同時に入力される。
照合するデータCDとマスクパタンMDはメモリセルア
レイ32に格納されているデータの数N個の連想内容と
照合する。したがって、縦方向にCAMセル312およ
びRAMセル313はN個必要になる。よって、照合部
31は、m×N個のCAMセル312とRAMセル31
3が配置される。このように、CAMセル312を配置
することによって、1個の入力データに対して同時にN
個の記憶内容との一致照合が可能である。
に、I/Oセル311、CAMセル312、RAMセル
313およびアドレスデコーダ314で構成されてい
る。各セルは横方向には入力データのビット幅だけ必要
であり、ここではCDはmビット幅だけ必要である。照
合するデータ(CD1〜CDm)とマスクパタン(MD1
〜MDmー1)はI/Oセル311に同時に入力される。
照合するデータCDとマスクパタンMDはメモリセルア
レイ32に格納されているデータの数N個の連想内容と
照合する。したがって、縦方向にCAMセル312およ
びRAMセル313はN個必要になる。よって、照合部
31は、m×N個のCAMセル312とRAMセル31
3が配置される。このように、CAMセル312を配置
することによって、1個の入力データに対して同時にN
個の記憶内容との一致照合が可能である。
【0036】このCAMセル312は、図10に示すよ
うに、データの格納をするSRAMと記憶内容と入力デ
ータCDiとの一致検出を行うEXOR(排他的論理
和)である。このCAMセル312はSRAMに一致検
出論理用のトランジスタを3個付けたものになってい
る。また、RAMセル313は、マスクパタンMDiの
格納を行って、CAMセル312のMatch lin
e出力制御をする。
うに、データの格納をするSRAMと記憶内容と入力デ
ータCDiとの一致検出を行うEXOR(排他的論理
和)である。このCAMセル312はSRAMに一致検
出論理用のトランジスタを3個付けたものになってい
る。また、RAMセル313は、マスクパタンMDiの
格納を行って、CAMセル312のMatch lin
e出力制御をする。
【0037】したがって、図9で示すように、I/Oセ
ル311より入力されたデータCDはCAMセル312
において照合される。CAMセル312に保持する値と
データCDiとが一致すれば、Match lineへ
1が出力される。また、RAMセル313は、マスクパ
タンMDを1ビット格納し、MD=0ならば、CAMセ
ル312のMatch lineの出力を出力させ、M
D=1ならばCAMセル312のMatch line
への出力をオフする。アドレスデコーダ314は、CA
Mセル312に照合データを格納するときに、アドレス
A1〜Anをデコードするために用いる。
ル311より入力されたデータCDはCAMセル312
において照合される。CAMセル312に保持する値と
データCDiとが一致すれば、Match lineへ
1が出力される。また、RAMセル313は、マスクパ
タンMDを1ビット格納し、MD=0ならば、CAMセ
ル312のMatch lineの出力を出力させ、M
D=1ならばCAMセル312のMatch line
への出力をオフする。アドレスデコーダ314は、CA
Mセル312に照合データを格納するときに、アドレス
A1〜Anをデコードするために用いる。
【0038】さらに、キャッシュコントローラ39は、
図4に示されているように、各メモリモジュールのメモ
リセルアレイ31およびキャッシュメモリ36に並列に
接続されており、入力データCDをキャッシュメモリ照
合部35へ出力し、連想内容がキャッシュメモリ36内
に記憶されているか否かの結果を示すキャッシュヒット
信号(以下HIT信号という)を、図11に示すよう
に、モードレジスタ391に入力する。キャッシュヒッ
トのときは、モードレジスタ391に従ってマルチプレ
クサ392は、次の入力データを同様に処理する。モー
ドレジスタ391は、HIT信号の他に、データ要求信
号(TREQ信号)を予測コントローラ42から受け取
ってマルチプレクサ392を表Aのように制御する。
図4に示されているように、各メモリモジュールのメモ
リセルアレイ31およびキャッシュメモリ36に並列に
接続されており、入力データCDをキャッシュメモリ照
合部35へ出力し、連想内容がキャッシュメモリ36内
に記憶されているか否かの結果を示すキャッシュヒット
信号(以下HIT信号という)を、図11に示すよう
に、モードレジスタ391に入力する。キャッシュヒッ
トのときは、モードレジスタ391に従ってマルチプレ
クサ392は、次の入力データを同様に処理する。モー
ドレジスタ391は、HIT信号の他に、データ要求信
号(TREQ信号)を予測コントローラ42から受け取
ってマルチプレクサ392を表Aのように制御する。
【0039】なお、第2の実施例におけるヒット率カウ
ンタ40、予測コントローラ42およびキャッシュメモ
リサイズ設定用レジスタの構成、動作の概要ついては第
1の実施例と同様である。
ンタ40、予測コントローラ42およびキャッシュメモ
リサイズ設定用レジスタの構成、動作の概要ついては第
1の実施例と同様である。
【0040】
【発明の効果】以上のように本発明によれば、圧縮され
たデータをメモリセルアレイに記憶しておき、読みだし
時に伸長して出力するため、メモリ容量を物理的なメモ
リセルアレイの容量に比較して容量的に増大させること
ができ、また逆にメモリの小型化も達成することができ
る。また同時に、圧縮されたデータのメモリからの読み
出しは、通常のメモリアクセス時間に加えてデータの伸
長時間を要するが、キャッシュメモリの記憶内容を予測
更新してキャッシュメモリのミスヒットを減少させ、キ
ャッシュメモリからのデータを読み出しの確率を増大さ
せるため、従来のようにデータ伸長時間でデータの読み
だし時間が長くなるということはなく、したがって、大
容量でかつより高速に動作させることができる また、
データで検索したいようなとき、たとえば仮名漢字辞書
に使用することによっても、シソーラスを高速に連想検
索する機能を提供することができ、また、フォント辞書
に用いることによって、高速にアウトラインフォントの
パラメータを検索する機能を提供することができる。
たデータをメモリセルアレイに記憶しておき、読みだし
時に伸長して出力するため、メモリ容量を物理的なメモ
リセルアレイの容量に比較して容量的に増大させること
ができ、また逆にメモリの小型化も達成することができ
る。また同時に、圧縮されたデータのメモリからの読み
出しは、通常のメモリアクセス時間に加えてデータの伸
長時間を要するが、キャッシュメモリの記憶内容を予測
更新してキャッシュメモリのミスヒットを減少させ、キ
ャッシュメモリからのデータを読み出しの確率を増大さ
せるため、従来のようにデータ伸長時間でデータの読み
だし時間が長くなるということはなく、したがって、大
容量でかつより高速に動作させることができる また、
データで検索したいようなとき、たとえば仮名漢字辞書
に使用することによっても、シソーラスを高速に連想検
索する機能を提供することができ、また、フォント辞書
に用いることによって、高速にアウトラインフォントの
パラメータを検索する機能を提供することができる。
【図1】本発明の第1の実施例による高速半導体記憶装
置の構成を示すブロック図である。
置の構成を示すブロック図である。
【図2】図1のメモリセルアレイ11およびデータ伸長
部12における圧縮データおよび伸長データの構成図で
ある。
部12における圧縮データおよび伸長データの構成図で
ある。
【図3】図1のメモリセルアレイ11およびデータ伸長
部12における圧縮データ格納および読み出し形式を示
す図である。
部12における圧縮データ格納および読み出し形式を示
す図である。
【図4】本発明の第2の実施例による高速半導体記憶装
置の構成を示すブロック図である。
置の構成を示すブロック図である。
【図5】aは図4のメモリセルアレイ32およびデータ
伸長部33における圧縮データおよび伸長データの構成
図、bは圧縮データの詳細な構成図である。
伸長部33における圧縮データおよび伸長データの構成
図、bは圧縮データの詳細な構成図である。
【図6】図4の高速半導体記憶装置における具体的デー
タ圧縮例を示す図である。
タ圧縮例を示す図である。
【図7】圧縮データのメモリセルアレイ32への格納例
およびメモリセルアレイ32からの読み出し例を示す図
である。
およびメモリセルアレイ32からの読み出し例を示す図
である。
【図8】図4の高速半導体記憶装置におけるデータ伸長
部33の構成を示すブロック図である。
部33の構成を示すブロック図である。
【図9】図4の高速半導体記憶装置における照合部31
の構成を示すブロック図である。
の構成を示すブロック図である。
【図10】図4の高速半導体記憶装置における照合部3
1に用いられるCAMセル312の構成を示す回路図で
ある。
1に用いられるCAMセル312の構成を示す回路図で
ある。
【図11】図4の高速半導体記憶装置におけるキャッシ
ュコントローラ39の構成を示すブロック図である。
ュコントローラ39の構成を示すブロック図である。
【図12】従来の高速半導体記憶装置の構成を示すブロ
ック図である。
ック図である。
【符号の説明】 11,32 メモリセルアレイ 12,33 データ伸長部 14,36 キャッシュメモリ 17,39 キャッシュコントローラ 18,40 ヒット率カウンタ 20,42 予測コントローラ 31 照合部 35 キャッシュメモリ照合部 37 入力データレジスタ 38 マスクパタンレジスタ 43 照合フラグレジスタ 44 照合判定部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 木下 一生 大阪府大阪市阿倍野区長池町22番22号 シ ャープ株式会社内
Claims (2)
- 【請求項1】 圧縮データを記憶する複数のメモリセ
ル、該複数のメモリセルに記憶されている該圧縮データ
の一部を伸長する伸長部、該伸長部による伸長結果を記
憶するキャッシュメモリを有する1以上のメモリモジュ
ールと、 入力アドレスのデータが該キャッシュメモリ内に記憶さ
れているか否かを判定し、その判定の結果、該入力アド
レスのデータが該キャッシュメモリ内に記憶されている
キャッシュヒットのときは、該入力アドレスのデータを
該キャッシュメモリから出力させ、また、該入力アドレ
スのデータが該キャッシュメモリ内に記憶されていない
時は、該複数のメモリセルから該入力アドレスの圧縮デ
ータを読み出させ、該入力アドレスの圧縮データを該伸
長部で伸長して該キャッシュメモリ内に記憶させること
によって、該キャッシュメモリ内の記憶内容を更新させ
るキャッシュコントローラと、 平均キャッシュヒット率を求めるヒット率カウンタと、
所望の閾値を記憶し、該閾値と該平均キャッシュヒット
率を比較して、該閾値よりも該平均キャッシュヒット率
が低いときは、その後のデータを予測選択して該キャッ
シュコントローラにより該メモリセルから該伸長部を介
して該キャッシュメモリへデータを転送させ、該キャッ
シュメモリ内の記憶内容を更新させるように働く予測コ
ントローラとを備えた記憶装置。 - 【請求項2】 連想キーワードなどの入力データにマス
ク演算を行い、マスク演算後のデータと記憶されている
データまたはデータのタグとの照合を行う照合手段、該
照合手段に接続され圧縮データを記憶する複数のメモリ
セル、該照合手段に接続され照合するデータに対応する
ビットに照合フラグが書き込まれる照合フラグレジス
タ、該照合フラグレジスタの各ビットの出力を判定する
照合判定手段、該照合判定手段の照合出力により該複数
のメモリセルから照合する圧縮データを読み出してデー
タ伸長する伸長部、該伸長部による伸長結果を記憶する
キャッシュメモリを有する1以上のメモリモジュール
と、 入力データと一致照合したデータが該キャッシュメモリ
内に記憶されているか否かを判定し、その判定の結果、
該入力アドレスのデータが該キャッシュメモリ内に記憶
されているキャッシュヒットのときは、該照合したデー
タを該キャッシュメモリから出力させ、また、該データ
が該キャッシュメモリ内に記憶されていないときは、該
入力データと該複数のメモリから圧縮データが読み出さ
れ、かつ該読みだされた圧縮データを伸長し該キャッシ
ュメモリ内に記憶させ、該キャッシュメモリ内の記憶内
容を更新するキャッシュコントローラと、 平均キャッシュヒット率を求めるヒット率カウンタと、
所望の閾値を記憶し、該閾値と該平均キャッシュヒット
率を比較して、該閾値よりも該平均キャッシュヒット率
が低いときは、その後のデータを予測選択して該キャッ
シュコントローラにより該メモリセルから該伸長部を介
して該キャッシュメモリへデータを転送させ、該キャッ
シュメモリ内の記憶内容を更新させるように働く予測コ
ントローラとを備えた記憶装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24572493A JPH07105092A (ja) | 1993-09-30 | 1993-09-30 | 記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24572493A JPH07105092A (ja) | 1993-09-30 | 1993-09-30 | 記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07105092A true JPH07105092A (ja) | 1995-04-21 |
Family
ID=17137863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24572493A Pending JPH07105092A (ja) | 1993-09-30 | 1993-09-30 | 記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07105092A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004502238A (ja) * | 2000-06-29 | 2004-01-22 | モトローラ・インコーポレイテッド | 復号された情報を格納し且つ供給するキャッシュを有する装置及びそのように行う方法 |
JP2010532904A (ja) * | 2007-07-10 | 2010-10-14 | クアルコム,インコーポレイテッド | データプリフェッチスロットル |
JP2011180818A (ja) * | 2010-03-01 | 2011-09-15 | Nec Corp | 指紋・掌紋照合処理装置、そのデータ・キャッシング方式及びそのプログラム |
JP2012195703A (ja) * | 2011-03-15 | 2012-10-11 | Fujitsu Ltd | トランスコード装置及びトランスコード方法 |
-
1993
- 1993-09-30 JP JP24572493A patent/JPH07105092A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004502238A (ja) * | 2000-06-29 | 2004-01-22 | モトローラ・インコーポレイテッド | 復号された情報を格納し且つ供給するキャッシュを有する装置及びそのように行う方法 |
JP4748918B2 (ja) * | 2000-06-29 | 2011-08-17 | フリースケール セミコンダクター インコーポレイテッド | 復号された情報を格納し且つ供給するキャッシュを有する装置及びそのように行う方法 |
JP2010532904A (ja) * | 2007-07-10 | 2010-10-14 | クアルコム,インコーポレイテッド | データプリフェッチスロットル |
JP2011180818A (ja) * | 2010-03-01 | 2011-09-15 | Nec Corp | 指紋・掌紋照合処理装置、そのデータ・キャッシング方式及びそのプログラム |
JP2012195703A (ja) * | 2011-03-15 | 2012-10-11 | Fujitsu Ltd | トランスコード装置及びトランスコード方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5440753A (en) | Variable length string matcher | |
US5329405A (en) | Associative cam apparatus and method for variable length string matching | |
US5652878A (en) | Method and apparatus for compressing data | |
US5602764A (en) | Comparing prioritizing memory for string searching in a data compression system | |
US5339076A (en) | Data compression using content addressable memory | |
US5452451A (en) | System for plural-string search with a parallel collation of a first partition of each string followed by finite automata matching of second partitions | |
USRE43552E1 (en) | Block programmable priority encoder in a cam | |
JPH06314241A (ja) | 高速半導体記憶装置及び高速連想記憶装置 | |
JP4920378B2 (ja) | 情報処理装置およびデータ検索方法 | |
US6760821B2 (en) | Memory engine for the inspection and manipulation of data | |
JPH07114577A (ja) | データ検索装置、データ圧縮装置及び方法 | |
CN117093881B (zh) | 一种数据压缩方法、装置及电子设备和存储介质 | |
US20100293344A1 (en) | Apparatus and method for selecting a position where data is stored | |
JPH07105092A (ja) | 記憶装置 | |
Lee | A word-parallel, bit-serial signature processor for superimposed coding | |
US20050114600A1 (en) | Reducing bus width by data compaction | |
US6314099B1 (en) | Address match determining device, communication control system, and address match determining method | |
US20020087537A1 (en) | Method and apparatus for searching a data stream for character patterns | |
JPH09180468A (ja) | 連想記憶装置 | |
JPH0746362B2 (ja) | 文字列照合方法 | |
CN116527059A (zh) | Snappy压缩算法硬件加速器 | |
JPH11154872A (ja) | データ圧縮伸長処理方法及び通信装置 | |
JP3115066B2 (ja) | 辞書検索方法 | |
JP3722231B2 (ja) | コンパクトにエンコードされて記憶されたストリングの組を有する製品 | |
JP2535655B2 (ja) | 辞書検索方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000809 |