JPH1031621A - キャッシュメモリシステム - Google Patents
キャッシュメモリシステムInfo
- Publication number
- JPH1031621A JPH1031621A JP8187048A JP18704896A JPH1031621A JP H1031621 A JPH1031621 A JP H1031621A JP 8187048 A JP8187048 A JP 8187048A JP 18704896 A JP18704896 A JP 18704896A JP H1031621 A JPH1031621 A JP H1031621A
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- address
- cache
- column buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Dram (AREA)
Abstract
(57)【要約】
【課題】 スタティックコラムバッファ型のDRAMメ
モリチップを用いて、複数のアソシアティビティを備え
るキャッシュメモリの特性に近付け、実用的な観点から
容量を拡大した性能特性を引き出す。 【解決手段】 ヒットしたメモリチップのペア#1に対
してクロック0でコラムリードコマンド(CR32)を
発行してチップ外部への読出しを行う。同時に、ペア#
1以外のペア#0,#2,#3に対してはコラムセット
スペシャルコマンド(CS)を発行し、その後にクロッ
ク1でロウリードコマンド(RR32)を発行してRA
Mアレイからスタティックコラムバッファへの転送を行
う。ペア#0,#2,#3に対してはクロック4,8,
12で夫々コラムリードコマンド(CR32)を発行し
てチップ外部への読出しを行うとともに、クロック6,
10,14でロウリードコマンド(RR32)を発行し
て初期状態に戻す。
モリチップを用いて、複数のアソシアティビティを備え
るキャッシュメモリの特性に近付け、実用的な観点から
容量を拡大した性能特性を引き出す。 【解決手段】 ヒットしたメモリチップのペア#1に対
してクロック0でコラムリードコマンド(CR32)を
発行してチップ外部への読出しを行う。同時に、ペア#
1以外のペア#0,#2,#3に対してはコラムセット
スペシャルコマンド(CS)を発行し、その後にクロッ
ク1でロウリードコマンド(RR32)を発行してRA
Mアレイからスタティックコラムバッファへの転送を行
う。ペア#0,#2,#3に対してはクロック4,8,
12で夫々コラムリードコマンド(CR32)を発行し
てチップ外部への読出しを行うとともに、クロック6,
10,14でロウリードコマンド(RR32)を発行し
て初期状態に戻す。
Description
【0001】
【発明の属する技術分野】本発明はキャッシュメモリシ
ステムに関し、特にスタティックコラムバッファを備え
るメモリチップあるいはSDRAM(Synchron
ous Dynamic Random Access
Memory)を用いたキャッシュメモリシステムに
関する。
ステムに関し、特にスタティックコラムバッファを備え
るメモリチップあるいはSDRAM(Synchron
ous Dynamic Random Access
Memory)を用いたキャッシュメモリシステムに
関する。
【0002】
【従来の技術】マイクロプロセッサやI/O(Inpu
t/Output)の高速化に対応するメモリシステム
を高性能化する手段として、SDRAMを利用する方法
の採用が増大している。
t/Output)の高速化に対応するメモリシステム
を高性能化する手段として、SDRAMを利用する方法
の採用が増大している。
【0003】図19に基本的なSDRΑΜの構成を示
す。SDRΑMはクロック同期式のメモリチップである
とともに、メモリチップ上にロウアドレスレジスタ41
と、コラムアドレスレジスタ42と、コマンドレジスタ
43と、ロウアドレスデコーダ44と、コラムアドレス
デコーダ51と、制御回路46と、RAMアレイ[8k
×(4bit×512)]47と、スタティックコラム
バッファ(8bit×256)48と、セレクタ[(6
4×4)to1セレクタ(8bit幅)]49と、入出
力レジスタ(8bit)50とを備えている。
す。SDRΑMはクロック同期式のメモリチップである
とともに、メモリチップ上にロウアドレスレジスタ41
と、コラムアドレスレジスタ42と、コマンドレジスタ
43と、ロウアドレスデコーダ44と、コラムアドレス
デコーダ51と、制御回路46と、RAMアレイ[8k
×(4bit×512)]47と、スタティックコラム
バッファ(8bit×256)48と、セレクタ[(6
4×4)to1セレクタ(8bit幅)]49と、入出
力レジスタ(8bit)50とを備えている。
【0004】このメモリチップにおいては一度、RAM
アレイ47からスタティックコラムバッファ48にデー
タを読出した後に、このスタティックコラムバッファ4
8からロウアドレスを用いてランダムにかつ高速にアク
セスすることが可能である。
アレイ47からスタティックコラムバッファ48にデー
タを読出した後に、このスタティックコラムバッファ4
8からロウアドレスを用いてランダムにかつ高速にアク
セスすることが可能である。
【0005】このSDRAMの使用方法の基本は、例え
ばCPUキャッシュに対するブロックロードに対して、
該ブロックをー括してRAMアレイ47からスタティッ
クコラムバッファ48に読出した後に、このスタティッ
クコラムバッファ48からバースト読出しを行うことで
RAMアレイ47への直接アクセスを低減してブロック
全体の読出し完了までの時間を短縮することにある。
ばCPUキャッシュに対するブロックロードに対して、
該ブロックをー括してRAMアレイ47からスタティッ
クコラムバッファ48に読出した後に、このスタティッ
クコラムバッファ48からバースト読出しを行うことで
RAMアレイ47への直接アクセスを低減してブロック
全体の読出し完了までの時間を短縮することにある。
【0006】この基本的な使用方法に対応するメモリチ
ップの構成を図19を参照して説明する。図において、
メモリチップはロウアドレス及ぴコラムアドレスに対す
るレジスタ(ロウアドレスレジスタ41及びコラムアド
レスレジスタ42)を備え、ロウアドレスレジスタ41
はロウアドレスデコーダ44を介してRAΜアレイ47
の任意のロウの読出しや書込みを活性化し、スタティッ
クコラムバッファ48との間での転送を可能とする。
ップの構成を図19を参照して説明する。図において、
メモリチップはロウアドレス及ぴコラムアドレスに対す
るレジスタ(ロウアドレスレジスタ41及びコラムアド
レスレジスタ42)を備え、ロウアドレスレジスタ41
はロウアドレスデコーダ44を介してRAΜアレイ47
の任意のロウの読出しや書込みを活性化し、スタティッ
クコラムバッファ48との間での転送を可能とする。
【0007】コラムアドレスレジスタ42の出力はコラ
ムアドレスデコーダ51を介してセレクタ49に供給さ
れ、スタティックコラムバッファ48から特定の8bi
t幅のデータをメモリチップ外部に対して入出力可能と
なっている。このような構成を採ることで、一度、スタ
ティックコラムバッファ48に読出したデータに対して
コラムアドレスを変えながらバースト的にメモリチップ
外部へデータを読出すことが可能となる。
ムアドレスデコーダ51を介してセレクタ49に供給さ
れ、スタティックコラムバッファ48から特定の8bi
t幅のデータをメモリチップ外部に対して入出力可能と
なっている。このような構成を採ることで、一度、スタ
ティックコラムバッファ48に読出したデータに対して
コラムアドレスを変えながらバースト的にメモリチップ
外部へデータを読出すことが可能となる。
【0008】この基本的な使用方法の高度化にかかわる
技術としては、例えば特開昭61−0744041号公
報に開示された技術があり、この技術では再度のブロッ
ク転送要求に際して既にスタティックコラムバッファに
読出されているデータであるかどうかをメモリチップ外
部で判定し、スタティックコラムバッファにヒットして
いるならば、RAMアレイからの読出し処理を省くこと
で高速化を図るような方法が提案されている。
技術としては、例えば特開昭61−0744041号公
報に開示された技術があり、この技術では再度のブロッ
ク転送要求に際して既にスタティックコラムバッファに
読出されているデータであるかどうかをメモリチップ外
部で判定し、スタティックコラムバッファにヒットして
いるならば、RAMアレイからの読出し処理を省くこと
で高速化を図るような方法が提案されている。
【0009】このスタティックコラムバッファをキャッ
シュメモリと見做す技術にかかわり、さらに高度化され
た技術としては、例えば特開平03−212891号公
報に開示された技術のように、スタティックコラムバッ
ファとRAMアレイとの間の転送をパーシャルに行うこ
とを可能としたものがある。
シュメモリと見做す技術にかかわり、さらに高度化され
た技術としては、例えば特開平03−212891号公
報に開示された技術のように、スタティックコラムバッ
ファとRAMアレイとの間の転送をパーシャルに行うこ
とを可能としたものがある。
【0010】特開昭61−0744041号公報に開示
されたメモリシステムでは、CPUへのデータ転送幅を
確保しようとすると、メモリチップに内蔵されたスタテ
ィックコラムバッファの集合が少数個数の巨大ラインか
らなるダイレクトマップ方式のキャッシュしか構成する
ことができない。
されたメモリシステムでは、CPUへのデータ転送幅を
確保しようとすると、メモリチップに内蔵されたスタテ
ィックコラムバッファの集合が少数個数の巨大ラインか
らなるダイレクトマップ方式のキャッシュしか構成する
ことができない。
【0011】これに対し、特開平03−212891号
公報に開示された技術では、ラインサイズを妥当な大き
さに縮小させるとともに、ト一タルライン数を増大させ
たダイレクトマップ方式のキャッシュを構成することが
可能である。
公報に開示された技術では、ラインサイズを妥当な大き
さに縮小させるとともに、ト一タルライン数を増大させ
たダイレクトマップ方式のキャッシュを構成することが
可能である。
【0012】さらに、DRΑΜとキヤッシュの結合した
技術としては、例えば特開平05−210974号公報
に開示された技術のように、メモリチップ上にメモリと
してのDRAΜとSRAMで構成される2種類のデータ
アレイを集積化したキャッシュメモリ内蔵半導体記憶装
置等も提案されている。
技術としては、例えば特開平05−210974号公報
に開示された技術のように、メモリチップ上にメモリと
してのDRAΜとSRAMで構成される2種類のデータ
アレイを集積化したキャッシュメモリ内蔵半導体記憶装
置等も提案されている。
【0013】
【発明が解決しようとする課題】上述した従来のキャッ
シュメモリシステムでは、上記の如く、ダイレクトマッ
ピング方式に基づくキャッシュしか構成することができ
ない。DRΑM上のスタティックコラムバッファはメモ
リチップに括り付けになったキャッシュデータ部であ
り、CPU(中央処理装置)が使用するメモリ語、CP
Uが使用するデータ語、I/Oで参照されるデータ等様
々なものがキャッシュされる可能性がある。
シュメモリシステムでは、上記の如く、ダイレクトマッ
ピング方式に基づくキャッシュしか構成することができ
ない。DRΑM上のスタティックコラムバッファはメモ
リチップに括り付けになったキャッシュデータ部であ
り、CPU(中央処理装置)が使用するメモリ語、CP
Uが使用するデータ語、I/Oで参照されるデータ等様
々なものがキャッシュされる可能性がある。
【0014】例えば、CPUが参照する命令語とデータ
語の両方をキャッシュするUnifiedキャッシュに
関しては、キャッシュの容量とブロックサイズパラメー
タによって効果の違いはあるものの、アソシアティビテ
ィが多いキャッシュの方がヒット率がー般的に高い。こ
の技術については、“Cache Performam
ce of the SPEC92 Benchmar
k Suite”(IEEE Micro,pp.17
−27,August 1993)に記載されている。
語の両方をキャッシュするUnifiedキャッシュに
関しては、キャッシュの容量とブロックサイズパラメー
タによって効果の違いはあるものの、アソシアティビテ
ィが多いキャッシュの方がヒット率がー般的に高い。こ
の技術については、“Cache Performam
ce of the SPEC92 Benchmar
k Suite”(IEEE Micro,pp.17
−27,August 1993)に記載されている。
【0015】また、SDRAMのスタティックコラムバ
ッファでは容量の制限を緩和することができない。例え
ば、16MbitのSDRAΜメモリチップにおいて4
Kbitのスタティックコラムバッファを備える場合、
64ΜΒyteの主記憶を構成するためには、32個の
チップを使用することになる。この場合、キャッシュメ
モリとして使用できるスタティックコラムバッファの合
計容量は16KΒyteにしかならない。
ッファでは容量の制限を緩和することができない。例え
ば、16MbitのSDRAΜメモリチップにおいて4
Kbitのスタティックコラムバッファを備える場合、
64ΜΒyteの主記憶を構成するためには、32個の
チップを使用することになる。この場合、キャッシュメ
モリとして使用できるスタティックコラムバッファの合
計容量は16KΒyteにしかならない。
【0016】そこで、本発明の目的は上記の問題点を解
消し、スタティックコラムバッファ型のDRAMメモリ
チップを用いて、複数のアソシアティビティを備えるキ
ャッシュメモリの特性に近付けることができ、実用的な
観点から容量を拡大した性能特性を引き出すことができ
るキャッシュメモリシステムを提供することにある。
消し、スタティックコラムバッファ型のDRAMメモリ
チップを用いて、複数のアソシアティビティを備えるキ
ャッシュメモリの特性に近付けることができ、実用的な
観点から容量を拡大した性能特性を引き出すことができ
るキャッシュメモリシステムを提供することにある。
【0017】
【課題を解決するための手段】本発明によるキャッシュ
メモリシステムは、ブロック単位のデータの読出し及び
書込みが自在な記憶手段と、前記記憶手段から前記ブロ
ック単位で読出されたデータを一時記憶しかつ前記記憶
手段との間で前記ブロック単位のデータを1/N(Nは
正の整数)単位に部分転送可能な一時記憶手段とを含む
メモリチップからなるキャッシュメモリシステムであっ
て、N個の前記ブロック単位のデータを前記1/N単位
ずつ前記一時記憶手段に記憶する手段と、外部から指定
された読出しアドレスに対応するデータが前記一時記憶
手段に存在するか否かを判定する判定手段と、前記判定
手段で前記一時記憶手段に存在すると判定された時に前
記一時記憶手段に一時記憶された1/N単位のデータを
外部に転送する手段と、この外部への転送と並列に当該
データの前記一時記憶手段に一時記憶された1/N単位
のデータ以外の残り部分のデータを前記記憶手段から前
記一時記憶手段に転送する手段と、前記記憶手段から前
記一時記憶手段に転送された前記残り部分のデータを外
部に転送する手段とを備えている。
メモリシステムは、ブロック単位のデータの読出し及び
書込みが自在な記憶手段と、前記記憶手段から前記ブロ
ック単位で読出されたデータを一時記憶しかつ前記記憶
手段との間で前記ブロック単位のデータを1/N(Nは
正の整数)単位に部分転送可能な一時記憶手段とを含む
メモリチップからなるキャッシュメモリシステムであっ
て、N個の前記ブロック単位のデータを前記1/N単位
ずつ前記一時記憶手段に記憶する手段と、外部から指定
された読出しアドレスに対応するデータが前記一時記憶
手段に存在するか否かを判定する判定手段と、前記判定
手段で前記一時記憶手段に存在すると判定された時に前
記一時記憶手段に一時記憶された1/N単位のデータを
外部に転送する手段と、この外部への転送と並列に当該
データの前記一時記憶手段に一時記憶された1/N単位
のデータ以外の残り部分のデータを前記記憶手段から前
記一時記憶手段に転送する手段と、前記記憶手段から前
記一時記憶手段に転送された前記残り部分のデータを外
部に転送する手段とを備えている。
【0018】本発明による他のキャッシュメモリシステ
ムは、ダイナミックランダムアクセスメモリアレイと、
前記ダイナミックランダムアクセスメモリアレイから読
出されたデータを一時記憶するスタティックコラムバッ
ファとを備えるダイナミックランダムアクセスメモリか
らなりかつ前記スタティックコラムバッファと前記ダイ
ナミックランダムアクセスメモリアレイとの間を部分転
送可能とするメモリチップを用いたキャッシュメモリシ
ステムであって、前記メモリチップを複数用いたメモリ
バンクを複数束ねたメモリモジユールと、前記メモリバ
ンクへのアクセス制御を行う制御手段と、前記制御手段
に設けられかつ前記メモリチップ上の前記スタティック
コラムバッファをキャッシュメモリのデータアレイとし
て利用するためのアドレスアレイと、前記アドレスアレ
イに設けられかつ複数のアソシアティビティを実現する
ために同一セットアドレスに対するタグ比較を行うため
のNセット(Nは2以上の正の整数)のタグ記憶手段
と、前記Nセットのタグ記憶手段の各セットに対応して
N個のキャッシュブロック各々の1/N部分を夫々前記
スタティックコラムバッファに配置する手段と、セット
アドレスに対するキャッシュヒットが前記タグ記憶手段
のi番目(iは正の整数)において発生した時に前記ス
タティックコラムバッファ上に実際に配置されているキ
ャッシュブロックのi番目の1/N部分のメモリチップ
外部への読出しを行う手段と、前記メモリチップ外部へ
の読出しと並列に前記キャッシュブロック中の前記スタ
ティックコラムバッファに配置されていない残りの部分
のデータを前記ダイナミックランダムアクセスメモリア
レイから読出して前記スタティックコラムバッファに転
送する手段と、前記のi番目の1/N部分の読出し完了
後に前記残りの部分のスタティックコラムバッファから
前記メモリチップ外部へのデータ読出しを行う手段とを
備えている。
ムは、ダイナミックランダムアクセスメモリアレイと、
前記ダイナミックランダムアクセスメモリアレイから読
出されたデータを一時記憶するスタティックコラムバッ
ファとを備えるダイナミックランダムアクセスメモリか
らなりかつ前記スタティックコラムバッファと前記ダイ
ナミックランダムアクセスメモリアレイとの間を部分転
送可能とするメモリチップを用いたキャッシュメモリシ
ステムであって、前記メモリチップを複数用いたメモリ
バンクを複数束ねたメモリモジユールと、前記メモリバ
ンクへのアクセス制御を行う制御手段と、前記制御手段
に設けられかつ前記メモリチップ上の前記スタティック
コラムバッファをキャッシュメモリのデータアレイとし
て利用するためのアドレスアレイと、前記アドレスアレ
イに設けられかつ複数のアソシアティビティを実現する
ために同一セットアドレスに対するタグ比較を行うため
のNセット(Nは2以上の正の整数)のタグ記憶手段
と、前記Nセットのタグ記憶手段の各セットに対応して
N個のキャッシュブロック各々の1/N部分を夫々前記
スタティックコラムバッファに配置する手段と、セット
アドレスに対するキャッシュヒットが前記タグ記憶手段
のi番目(iは正の整数)において発生した時に前記ス
タティックコラムバッファ上に実際に配置されているキ
ャッシュブロックのi番目の1/N部分のメモリチップ
外部への読出しを行う手段と、前記メモリチップ外部へ
の読出しと並列に前記キャッシュブロック中の前記スタ
ティックコラムバッファに配置されていない残りの部分
のデータを前記ダイナミックランダムアクセスメモリア
レイから読出して前記スタティックコラムバッファに転
送する手段と、前記のi番目の1/N部分の読出し完了
後に前記残りの部分のスタティックコラムバッファから
前記メモリチップ外部へのデータ読出しを行う手段とを
備えている。
【0019】以下、本発明の作用について述べる。ブロ
ック単位のデータの読出し及び書込みが自在なRAMア
レイと、このRAMアレイからブロック単位で読出され
たデータを一時記憶しかつRAMアレイとの間でブロッ
ク単位のデータを1/N(Nは正の整数)単位に部分転
送可能なスタティックコラムバッファとを含むメモリチ
ップからなるキャッシュメモリシステムにおいて、N個
のブロック単位のデータを1/N単位ずつスタティック
コラムバッファに記憶し、メモリチップ外部から指定さ
れた読出しアドレスに対応するデータがスタティックコ
ラムバッファに存在すると判定された時にスタティック
コラムバッファに一時記憶された1/N単位のデータを
メモリチップ外部に転送する。
ック単位のデータの読出し及び書込みが自在なRAMア
レイと、このRAMアレイからブロック単位で読出され
たデータを一時記憶しかつRAMアレイとの間でブロッ
ク単位のデータを1/N(Nは正の整数)単位に部分転
送可能なスタティックコラムバッファとを含むメモリチ
ップからなるキャッシュメモリシステムにおいて、N個
のブロック単位のデータを1/N単位ずつスタティック
コラムバッファに記憶し、メモリチップ外部から指定さ
れた読出しアドレスに対応するデータがスタティックコ
ラムバッファに存在すると判定された時にスタティック
コラムバッファに一時記憶された1/N単位のデータを
メモリチップ外部に転送する。
【0020】同時に、そのメモリチップ外部への転送と
並列に当該データのスタティックコラムバッファに一時
記憶された1/N単位のデータ以外の残り部分のデータ
をRAMアレイからスタティックコラムバッファに転送
した後にメモリチップ外部に転送する。これによって、
スタティックコラムバッファ型のDRAMメモリチップ
を用いて、複数のアソシアティビティを備えるキャッシ
ュメモリの特性に近付けることができ、実用的な観点か
ら容量を拡大した性能特性を引き出すことができる。
並列に当該データのスタティックコラムバッファに一時
記憶された1/N単位のデータ以外の残り部分のデータ
をRAMアレイからスタティックコラムバッファに転送
した後にメモリチップ外部に転送する。これによって、
スタティックコラムバッファ型のDRAMメモリチップ
を用いて、複数のアソシアティビティを備えるキャッシ
ュメモリの特性に近付けることができ、実用的な観点か
ら容量を拡大した性能特性を引き出すことができる。
【0021】言い換えると、スタティックコラムバッフ
ァに保持するデータをキャッシュブロックの一部と限り
ながらも、該保持データの転送と並行してRAMアレイ
47上のデータをスタティックコラムバッファヘ転送す
ることによって、キャッシュブロックデータ全体の読出
しを遅滞なく処理可能とすることができる。
ァに保持するデータをキャッシュブロックの一部と限り
ながらも、該保持データの転送と並行してRAMアレイ
47上のデータをスタティックコラムバッファヘ転送す
ることによって、キャッシュブロックデータ全体の読出
しを遅滞なく処理可能とすることができる。
【0022】これによって、複数のアソシアティビティ
を備えるキャッシュメモリシステムに近い牲能特牲を実
現するとともに、実効的なキャッシュメモリの容量を増
大させて性能向上を図ることができる。
を備えるキャッシュメモリシステムに近い牲能特牲を実
現するとともに、実効的なキャッシュメモリの容量を増
大させて性能向上を図ることができる。
【0023】
【発明の実施の形態】次に、本発明の実施例について図
面を参照して説明する。図1は本発明の一実施例のシス
テム構成を示すブロック図である。図において、本発明
の一実施例によるキャッシュメモリシステムはCPUチ
ップ1と、メモリモジュール制御部2−0〜2−3と、
メモリバンク3−00〜3−03,3−10〜3−1
3,3−20〜3−23,3−30〜3−33とから構
成されている。
面を参照して説明する。図1は本発明の一実施例のシス
テム構成を示すブロック図である。図において、本発明
の一実施例によるキャッシュメモリシステムはCPUチ
ップ1と、メモリモジュール制御部2−0〜2−3と、
メモリバンク3−00〜3−03,3−10〜3−1
3,3−20〜3−23,3−30〜3−33とから構
成されている。
【0024】CPUチップ1には4つのメモリモジュー
ル#0〜#3が接続されている。各メモリモジュール#
0〜#3とCPUチップ1との間のデータ転送幅は32
bitであり、4つのメモリモジュール#0〜#3の並
列転送により128bitの転送幅を確保している。
ル#0〜#3が接続されている。各メモリモジュール#
0〜#3とCPUチップ1との間のデータ転送幅は32
bitであり、4つのメモリモジュール#0〜#3の並
列転送により128bitの転送幅を確保している。
【0025】ここで、メモリモジュール#0はメモリバ
ンク3−00〜3−03(メモリバンク#0〜#3)か
ら構成され、メモリモジュール#1はメモリバンク3−
10〜3−13(メモリバンク#0〜#3)から構成さ
れ、メモリモジュール#2はメモリバンク3−20〜3
−23(メモリバンク#0〜#3)から構成され、メモ
リモジュール#3はメモリバンク3−30〜3−33
(メモリバンク#0〜#3)から構成されている。
ンク3−00〜3−03(メモリバンク#0〜#3)か
ら構成され、メモリモジュール#1はメモリバンク3−
10〜3−13(メモリバンク#0〜#3)から構成さ
れ、メモリモジュール#2はメモリバンク3−20〜3
−23(メモリバンク#0〜#3)から構成され、メモ
リモジュール#3はメモリバンク3−30〜3−33
(メモリバンク#0〜#3)から構成されている。
【0026】図2は本発明の一実施例によるメモリモジ
ュール制御部とメモリバンクを構成するメモリチップと
の間の接続関係を示す図である。図において、メモリバ
ンク3は8個のメモリチップ3a〜3hからなり、メモ
リチップ3a〜3hを2個づつペアにして用いている。
すなわち、メモリチップ3a,3bはペア#0を構成
し、メモリチップ3c,3dはペア#1を構成し、メモ
リチップ3e,3fはペア#2を構成し、メモリチップ
3g,3hはペア#3を構成している。
ュール制御部とメモリバンクを構成するメモリチップと
の間の接続関係を示す図である。図において、メモリバ
ンク3は8個のメモリチップ3a〜3hからなり、メモ
リチップ3a〜3hを2個づつペアにして用いている。
すなわち、メモリチップ3a,3bはペア#0を構成
し、メモリチップ3c,3dはペア#1を構成し、メモ
リチップ3e,3fはペア#2を構成し、メモリチップ
3g,3hはペア#3を構成している。
【0027】これらメモリチップ3a〜3hにアドレス
/コマンドを与えるパスはペア#0〜#3(2個のメモ
リチップ)毎に共通信号線となっており、13bit幅の
パス4セット(A00〜A12)から構成される。
/コマンドを与えるパスはペア#0〜#3(2個のメモ
リチップ)毎に共通信号線となっており、13bit幅の
パス4セット(A00〜A12)から構成される。
【0028】これに対し、メモリチップ3a〜3hにデ
ータを与えるデータパスは異なるペア#0〜#3間での
共有を行っており、8bit幅のパス2セット(D00〜
D03,D04〜D07)から構成される。つまり、パ
ス2セットのうち一方はメモリチップ3a,3c,3
e,3gに夫々接続され、パス2セットのうち他方はメ
モリチップ3b,3d,3f,3hに夫々接続されてい
る。
ータを与えるデータパスは異なるペア#0〜#3間での
共有を行っており、8bit幅のパス2セット(D00〜
D03,D04〜D07)から構成される。つまり、パ
ス2セットのうち一方はメモリチップ3a,3c,3
e,3gに夫々接続され、パス2セットのうち他方はメ
モリチップ3b,3d,3f,3hに夫々接続されてい
る。
【0029】図3は本発明の一実施例において使用する
メモリチップの概略を示す図である。図において、本発
明の一実施例で使用するメモリチップは従来のスタティ
ックコラムバッファ型のメモリチップ(図19参照)に
対して、RAMアレイ47とスタティックコラムバッフ
ァ48との間で8bit単位の部分転送が可能なように
拡張されている。
メモリチップの概略を示す図である。図において、本発
明の一実施例で使用するメモリチップは従来のスタティ
ックコラムバッファ型のメモリチップ(図19参照)に
対して、RAMアレイ47とスタティックコラムバッフ
ァ48との間で8bit単位の部分転送が可能なように
拡張されている。
【0030】すなわち、本発明の一実施例で使用するメ
モリチップも、従来と同様に、クロック同期式のメモリ
チップ(SDRΑM)であり、その動作はイネーブル制
御による部分転送が可能なようにした以外は従来と同様
である。
モリチップも、従来と同様に、クロック同期式のメモリ
チップ(SDRΑM)であり、その動作はイネーブル制
御による部分転送が可能なようにした以外は従来と同様
である。
【0031】尚、メモリチップ上にはロウアドレスレジ
スタ41と、コラムアドレスレジスタ42と、コマンド
レジスタ43と、ロウアドレスデコーダ44と、コラム
アドレスデコーダ45と、制御回路46と、RAMアレ
イ[8k×(4bit×512)]47と、スタティッ
クコラムバッファ(8bit×256)48と、セレク
タ[(64×4)to1セレクタ(8bit幅)]49
と、入出力レジスタ(8bit)50とを備えている。
スタ41と、コラムアドレスレジスタ42と、コマンド
レジスタ43と、ロウアドレスデコーダ44と、コラム
アドレスデコーダ45と、制御回路46と、RAMアレ
イ[8k×(4bit×512)]47と、スタティッ
クコラムバッファ(8bit×256)48と、セレク
タ[(64×4)to1セレクタ(8bit幅)]49
と、入出力レジスタ(8bit)50とを備えている。
【0032】図4は本発明の一実施例によるキャッシュ
メモリシステムの物理アドレスマップを示す図である。
図において、本発明の一実施例によるキャッシュメモリ
システムのトータルメモリ容量は256MByteであ
り、bitアドレスまで含めると31bit幅を持つ。
メモリシステムの物理アドレスマップを示す図である。
図において、本発明の一実施例によるキャッシュメモリ
システムのトータルメモリ容量は256MByteであ
り、bitアドレスまで含めると31bit幅を持つ。
【0033】この図4において、LSB(Least
Significant Βit)から順に説明する。
bit28−30はメモリチップ3a〜3hのデータ入
出力幅である8bitに対応する。bit27はメモリ
バンク3−00〜3−03,3−10〜3−13,3−
20〜3−23,3−30〜3−33内の構成において
メモリチップ3a〜3hをペア#0〜#3で用いること
でデータ幅を2倍化していることに対応する。
Significant Βit)から順に説明する。
bit28−30はメモリチップ3a〜3hのデータ入
出力幅である8bitに対応する。bit27はメモリ
バンク3−00〜3−03,3−10〜3−13,3−
20〜3−23,3−30〜3−33内の構成において
メモリチップ3a〜3hをペア#0〜#3で用いること
でデータ幅を2倍化していることに対応する。
【0034】bit25−26はCPUチップ1に4つ
のメモリモジュール#0〜#3が接続されていることに
対応しており、1キャッシュブロックの転送において4
つのメモリモジュールは並列動作する。
のメモリモジュール#0〜#3が接続されていることに
対応しており、1キャッシュブロックの転送において4
つのメモリモジュールは並列動作する。
【0035】bit23−24はメモリチップ3a〜3
h内のコラムアドレスの下位2bitに対応しており、
1キャッシュブロックの転送に際してはスタティックコ
ラムバッファ48から8bitデータを4回転送する。
h内のコラムアドレスの下位2bitに対応しており、
1キャッシュブロックの転送に際してはスタティックコ
ラムバッファ48から8bitデータを4回転送する。
【0036】bit21−22はメモリバンク3−00
〜3−03,3−10〜3−13,3−20〜3−2
3,3−30〜3−33が4つのペア#0〜#3から構
成されていることに対応し、1キャッシュブロックの転
送に際しては4つのペア#0〜#3全てからのデータ転
送が必要であることを示している。
〜3−03,3−10〜3−13,3−20〜3−2
3,3−30〜3−33が4つのペア#0〜#3から構
成されていることに対応し、1キャッシュブロックの転
送に際しては4つのペア#0〜#3全てからのデータ転
送が必要であることを示している。
【0037】bit19−20はバンク番号であり、各
メモリモジュール#0〜#3に夫々4個のメモリバンク
3−00〜3−03,3−10〜3−13,3−20〜
3−23,3−30〜3−33が接続されていることに
対応する。
メモリモジュール#0〜#3に夫々4個のメモリバンク
3−00〜3−03,3−10〜3−13,3−20〜
3−23,3−30〜3−33が接続されていることに
対応する。
【0038】bit13−18はメモリチップ3a〜3
h内のコラムアドレス上位6bitに対応する。以上の
bit13−30までが、全てのメモリチップ3a〜3
hのスタティックコラムバッファ48上に同時にデータ
を保持しておくことができる範囲であり、32KΒyt
eの容量となる。
h内のコラムアドレス上位6bitに対応する。以上の
bit13−30までが、全てのメモリチップ3a〜3
hのスタティックコラムバッファ48上に同時にデータ
を保持しておくことができる範囲であり、32KΒyt
eの容量となる。
【0039】bit13−20までがキャッシュセット
アドレスであり、bit21−30(128Βyte)
が1キャッシュブロックに対応する。最後にbit0−
12まではキャッシュ検索にあたってタグとして使用さ
れるフィールドであり、物理的にはメモリチップ3a〜
3h内のロウアドレスに対応する。
アドレスであり、bit21−30(128Βyte)
が1キャッシュブロックに対応する。最後にbit0−
12まではキャッシュ検索にあたってタグとして使用さ
れるフィールドであり、物理的にはメモリチップ3a〜
3h内のロウアドレスに対応する。
【0040】図5は本発明の一実施例によるキャッシュ
アドレスアレイの一例を示す図である。図において、キ
ャッシュアドレスアレイは第4図に示した物理アドレス
マップに対応して構成可能なアソシアティビティが4の
キャッシュアドレスアレイを示している。
アドレスアレイの一例を示す図である。図において、キ
ャッシュアドレスアレイは第4図に示した物理アドレス
マップに対応して構成可能なアソシアティビティが4の
キャッシュアドレスアレイを示している。
【0041】本発明の一実施例によるヒット(Hit)
/ミス(Miss)を判定する回路はレジスタ11と、
キャッシュアドレスアレイ12と、比較回路13−1〜
13−4と、アンド回路14−1〜14−4と、オア回
路15と、シーケンス制御部16とから構成されてい
る。
/ミス(Miss)を判定する回路はレジスタ11と、
キャッシュアドレスアレイ12と、比較回路13−1〜
13−4と、アンド回路14−1〜14−4と、オア回
路15と、シーケンス制御部16とから構成されてい
る。
【0042】図4に示す物理アドレスのbit13−2
0はセットアドレスとして用い、キャッシュアドレスア
レイ12の行を選択する。キャッシュアドレスアレイ1
2の各行には4つのタグ[有効bit(Valid)と
ロウアドレス(RowアドレスA0〜A12)]がWa
y#0〜Way#3に登録されており、この4つのタグ
とアクセスするアドレスのbit0−12とを比較回路
13−1〜13−4で比較することで、ヒット/ミスの
判定が行われる。
0はセットアドレスとして用い、キャッシュアドレスア
レイ12の行を選択する。キャッシュアドレスアレイ1
2の各行には4つのタグ[有効bit(Valid)と
ロウアドレス(RowアドレスA0〜A12)]がWa
y#0〜Way#3に登録されており、この4つのタグ
とアクセスするアドレスのbit0−12とを比較回路
13−1〜13−4で比較することで、ヒット/ミスの
判定が行われる。
【0043】ここで、本発明の一実施例におけるヒット
とは以下のような意味を持つ。例えば、今仮に、Way
#1においてヒットが検出された場合、これは128B
yteのブロックデータを4分割した2番目の32Βy
teがメモリチップ3a〜3h上のスタティックコラム
バッファ48に保持されていることを意味する。
とは以下のような意味を持つ。例えば、今仮に、Way
#1においてヒットが検出された場合、これは128B
yteのブロックデータを4分割した2番目の32Βy
teがメモリチップ3a〜3h上のスタティックコラム
バッファ48に保持されていることを意味する。
【0044】残りの96Byteはメモリチップ3a〜
3hのRAMアレイ47内にしか存在しておらず、この
部分に対してはスタティックコラムバッファ48からC
PUチップ1にデータを読出しているのと並列に、スタ
ティックコラムバッファ48への読出しを行う。
3hのRAMアレイ47内にしか存在しておらず、この
部分に対してはスタティックコラムバッファ48からC
PUチップ1にデータを読出しているのと並列に、スタ
ティックコラムバッファ48への読出しを行う。
【0045】以下同様に、Way#0においてヒットが
検出された場合には128Βyte中の先頭32Βyt
eが、Way#2においてヒットが検出された場合には
128Βyte中の3番目の32Βyteが、Way#
3においてヒットが検出された場合には128Βyte
中の最後の32Byteが夫々メモリチップ3a〜3h
上のスタティックコラムバッファ48に保持されている
ことを意味する。
検出された場合には128Βyte中の先頭32Βyt
eが、Way#2においてヒットが検出された場合には
128Βyte中の3番目の32Βyteが、Way#
3においてヒットが検出された場合には128Βyte
中の最後の32Byteが夫々メモリチップ3a〜3h
上のスタティックコラムバッファ48に保持されている
ことを意味する。
【0046】尚、シーケンス制御部16はレジスタ11
からのロウアドレスA0〜A12とアンド回路14−1
〜14−4からのHit Way(=Hitバンク内の
ペア番号)デコード状態の信号とオア回路15からのヒ
ット/ミスとを基に、上記のようなメモリチップ3a〜
3hのスタティックコラムバッファ48に対するデータ
の読出し及び書込みを制御する。
からのロウアドレスA0〜A12とアンド回路14−1
〜14−4からのHit Way(=Hitバンク内の
ペア番号)デコード状態の信号とオア回路15からのヒ
ット/ミスとを基に、上記のようなメモリチップ3a〜
3hのスタティックコラムバッファ48に対するデータ
の読出し及び書込みを制御する。
【0047】図6及び図7は本発明の一実施例によるメ
モリモジュール制御部の構成を示す図である。これらの
図においては図4に示す物理アドレスマップの実現に関
連するメモリモジュール制御部2−1〜2−3における
接続関係の詳細を示しており、これは図1におけるCP
Uチップ1からメモリバンク3−00〜3−03,3−
10〜3−13,3−20〜3−23,3−30〜3−
33に至るパスの詳細にも対応する。
モリモジュール制御部の構成を示す図である。これらの
図においては図4に示す物理アドレスマップの実現に関
連するメモリモジュール制御部2−1〜2−3における
接続関係の詳細を示しており、これは図1におけるCP
Uチップ1からメモリバンク3−00〜3−03,3−
10〜3−13,3−20〜3−23,3−30〜3−
33に至るパスの詳細にも対応する。
【0048】これらの図において、メモリモジュール制
御部2−1〜2−3はCPUチップ側送受信回路20
と、モジュールセレクトレジスタ21と、バンク内ペア
セレクトレジスタ22と、バンクセレクトレジスタ23
と、一般コマンド+ROW/COLUMNアドレスレジ
スタ(以下、コマンド・アドレスレジスタとする)24
a,29aと、データレジスタ24b,24c,29
b,29cと、リプライパス制御論理回路25と、セレ
クタ26と、アンド回路27a〜27pと、レジスタ2
8a〜28p,31a〜31pと、各バンク内ペアセレ
クトに対するコラムセット(Column Set)ス
ペシャルコマンドレジスタ(以下、スペシャルコマンド
レジスタとする)30とから構成されている。
御部2−1〜2−3はCPUチップ側送受信回路20
と、モジュールセレクトレジスタ21と、バンク内ペア
セレクトレジスタ22と、バンクセレクトレジスタ23
と、一般コマンド+ROW/COLUMNアドレスレジ
スタ(以下、コマンド・アドレスレジスタとする)24
a,29aと、データレジスタ24b,24c,29
b,29cと、リプライパス制御論理回路25と、セレ
クタ26と、アンド回路27a〜27pと、レジスタ2
8a〜28p,31a〜31pと、各バンク内ペアセレ
クトに対するコラムセット(Column Set)ス
ペシャルコマンドレジスタ(以下、スペシャルコマンド
レジスタとする)30とから構成されている。
【0049】CPUチップ側送受信回路20はモジュー
ルセレクトレジスタ20aと、バンク内ペアセレクトレ
ジスタ20bと、バンクセレクトレジスタ20cと、コ
マンド・アドレスレジスタ20dと、データレジスタ2
4e,24fと、スペシャルコマンドレジスタ20gと
から構成されている。
ルセレクトレジスタ20aと、バンク内ペアセレクトレ
ジスタ20bと、バンクセレクトレジスタ20cと、コ
マンド・アドレスレジスタ20dと、データレジスタ2
4e,24fと、スペシャルコマンドレジスタ20gと
から構成されている。
【0050】尚、CPUチップ側送受信回路20のモジ
ュールセレクトレジスタ20aとバンク内ペアセレクト
レジスタ20bとバンクセレクトレジスタ20cとコマ
ンド・アドレスレジスタ20dとスペシャルコマンドレ
ジスタ20gとに対しては各々の内容がシーケンス制御
部16からのシーケンス制御信号によってセットされ
る。
ュールセレクトレジスタ20aとバンク内ペアセレクト
レジスタ20bとバンクセレクトレジスタ20cとコマ
ンド・アドレスレジスタ20dとスペシャルコマンドレ
ジスタ20gとに対しては各々の内容がシーケンス制御
部16からのシーケンス制御信号によってセットされ
る。
【0051】この図6において、CPUチップ1側から
の信号出力に従って順に説明する。まず、モジュールセ
レクトレジスタ21のモジュールセレクト信号はメモリ
モジュール#0〜#3にリクエストを出すか否かを示す
信号であり、メモリモジュール#0〜#3配下の全ての
メモリチップ3a〜3hへのコマンド発行指示に用い
る。
の信号出力に従って順に説明する。まず、モジュールセ
レクトレジスタ21のモジュールセレクト信号はメモリ
モジュール#0〜#3にリクエストを出すか否かを示す
信号であり、メモリモジュール#0〜#3配下の全ての
メモリチップ3a〜3hへのコマンド発行指示に用い
る。
【0052】バンク内ペアセレクトレジスタ22のバン
ク内ペアセレクト信号はメモリモジュール#0〜#3内
のすべてのメモリバンク3−00〜3−03,3−10
〜3−13,3−20〜3−23,3−30〜3−33
に関連して、メモリバンク3−00〜3−03,3−1
0〜3−13,3−20〜3−23,3−30〜3−3
3内のどのメモリチップ3a〜3hのペア#0〜#3へ
コマンドを発行するかを制御する。
ク内ペアセレクト信号はメモリモジュール#0〜#3内
のすべてのメモリバンク3−00〜3−03,3−10
〜3−13,3−20〜3−23,3−30〜3−33
に関連して、メモリバンク3−00〜3−03,3−1
0〜3−13,3−20〜3−23,3−30〜3−3
3内のどのメモリチップ3a〜3hのペア#0〜#3へ
コマンドを発行するかを制御する。
【0053】バンクセレクトレジスタ23のバンクセレ
クト信号はメモリモジュール#0〜#3内のどのメモリ
バンク3−00〜3−03,3−10〜3−13,3−
20〜3−23,3−30〜3−33にリクエストを発
行するかを制御する。
クト信号はメモリモジュール#0〜#3内のどのメモリ
バンク3−00〜3−03,3−10〜3−13,3−
20〜3−23,3−30〜3−33にリクエストを発
行するかを制御する。
【0054】バンク内ペアセレクト及びバンクセレクト
信号は各々4bitを独立に指定可能であり、組合せと
して単に特定のメモリバンク3−00〜3−03,3−
10〜3−13,3−20〜3−23,3−30〜3−
33内の特定のメモリチップ3a〜3hのペア#0〜#
4のうちの1組へのリクエスト発行を指示するにとどま
らず、同時に複数のメモリバンク3−00〜3−03,
3−10〜3−13,3−20〜3−23,3−30〜
3−33の複数のメモリチップ3a〜3hへ、基本的に
は同一のリクエスト発行を可能としている。
信号は各々4bitを独立に指定可能であり、組合せと
して単に特定のメモリバンク3−00〜3−03,3−
10〜3−13,3−20〜3−23,3−30〜3−
33内の特定のメモリチップ3a〜3hのペア#0〜#
4のうちの1組へのリクエスト発行を指示するにとどま
らず、同時に複数のメモリバンク3−00〜3−03,
3−10〜3−13,3−20〜3−23,3−30〜
3−33の複数のメモリチップ3a〜3hへ、基本的に
は同一のリクエスト発行を可能としている。
【0055】この「基本的に」という意味はコラムアド
レスのセットコマンドとその他のコマンドを組合せて発
行することを可能としているために、異なるコマンドを
異なるメモリチップ3a〜3hのペア#0〜#4に送り
届けることを可能としているためである。一般コマンド
及R0W/C0LUMNアドレスはメモリモジュール制
御部2−0〜2−3でファンアウトが取られてメモリモ
ジュール#0〜#3内の全部のメモリチップ3a〜3h
にブロードキャストされる。
レスのセットコマンドとその他のコマンドを組合せて発
行することを可能としているために、異なるコマンドを
異なるメモリチップ3a〜3hのペア#0〜#4に送り
届けることを可能としているためである。一般コマンド
及R0W/C0LUMNアドレスはメモリモジュール制
御部2−0〜2−3でファンアウトが取られてメモリモ
ジュール#0〜#3内の全部のメモリチップ3a〜3h
にブロードキャストされる。
【0056】データパスは本発明の一実施例では双方向
パスを介してメモリバンク3−00〜3−03,3−1
0〜3−13,3−20〜3−23,3−30〜3−3
3に接続される。双方向パスの制御はバンクセレクトと
コマンドとを入力として、リプライパス制御論理回路2
5において行う。メモリチップ3a〜3hはコマンド発
行に対して固定タイミングで動作する。リプライパス制
御論理回路25はどのタイミングでどのメモリバンク3
−00〜3−03,3−10〜3−13,3−20〜3
−23,3−30〜3−33にどのコマンドを送ったか
をパイプライン的に持ち回りつつ、固定時間後に双方向
ラインの切替えやセレクタ26を制御する。
パスを介してメモリバンク3−00〜3−03,3−1
0〜3−13,3−20〜3−23,3−30〜3−3
3に接続される。双方向パスの制御はバンクセレクトと
コマンドとを入力として、リプライパス制御論理回路2
5において行う。メモリチップ3a〜3hはコマンド発
行に対して固定タイミングで動作する。リプライパス制
御論理回路25はどのタイミングでどのメモリバンク3
−00〜3−03,3−10〜3−13,3−20〜3
−23,3−30〜3−33にどのコマンドを送ったか
をパイプライン的に持ち回りつつ、固定時間後に双方向
ラインの切替えやセレクタ26を制御する。
【0057】CPUチップ側送受信回路20のスペシャ
ルコマンドレジスタ20gのコラムセットスペシャルコ
マンドはバンク内ペアのメモリチップ3a〜3hに対し
てチップ内部のコラムアドレスレジスタ42ヘアドレス
をセットするコマンドであり、本発明の一実施例では一
般コマンドとは別ラインにてメモリチップ3a〜3hに
供給される。また、コラムセットスペシャルコマンドは
一般コマンドに優先するようになっている。
ルコマンドレジスタ20gのコラムセットスペシャルコ
マンドはバンク内ペアのメモリチップ3a〜3hに対し
てチップ内部のコラムアドレスレジスタ42ヘアドレス
をセットするコマンドであり、本発明の一実施例では一
般コマンドとは別ラインにてメモリチップ3a〜3hに
供給される。また、コラムセットスペシャルコマンドは
一般コマンドに優先するようになっている。
【0058】図8は本発明の一実施例によるコラムセッ
ト(Column Set)スペシャルコマンドと一般
コマンドとの関係を示す図である。図において、メモリ
チップ3a〜3hはチップセレクトラインが無効を示す
場合、何の動作も行わない。
ト(Column Set)スペシャルコマンドと一般
コマンドとの関係を示す図である。図において、メモリ
チップ3a〜3hはチップセレクトラインが無効を示す
場合、何の動作も行わない。
【0059】また、メモリチップ3a〜3hはチップセ
レクトラインが有効を示しかつコラムセットスペシャル
コマンドラインが無効を示す場合、一般コマンドライン
上のXコマンドを実行する。
レクトラインが有効を示しかつコラムセットスペシャル
コマンドラインが無効を示す場合、一般コマンドライン
上のXコマンドを実行する。
【0060】さらに、メモリチップ3a〜3hはチップ
セレクトライン及びコラムセットスペシャルコマンドラ
インがともに有効を示す場合、コラムセットスペシャル
コマンドを実行する。
セレクトライン及びコラムセットスペシャルコマンドラ
インがともに有効を示す場合、コラムセットスペシャル
コマンドを実行する。
【0061】図9は本発明の一実施例によるメモリバン
クに対して定義されるコマンドの種別を示す図である。
図においては、第6図におけるコマンドの詳細を説明す
るものであり、オペランドとして付随するアドレスデー
タも示している。
クに対して定義されるコマンドの種別を示す図である。
図においては、第6図におけるコマンドの詳細を説明す
るものであり、オペランドとして付随するアドレスデー
タも示している。
【0062】コマンドには大別して、RAMアレイ47
とスタティックコラムバッファ48との間の転送を制御
するRow Read/Writeと、スタティックコ
ラムバッファ48とメモリチップ外部との転送を制御す
るColumn Read/Writeと、短縮形態と
してチップ外部からスタティックコラムバッファ48ヘ
書込んだ後に直ちにRAMアレイ47にまで書込みを行
うWriteとが夫々規定されている。
とスタティックコラムバッファ48との間の転送を制御
するRow Read/Writeと、スタティックコ
ラムバッファ48とメモリチップ外部との転送を制御す
るColumn Read/Writeと、短縮形態と
してチップ外部からスタティックコラムバッファ48ヘ
書込んだ後に直ちにRAMアレイ47にまで書込みを行
うWriteとが夫々規定されている。
【0063】これらのコマンドにおいては、メモリチッ
プ3a〜3hの人出力データ幅である8bitを1回転
送する8bit転送コマンドと、メモリチップ3a〜3
h内でコラムアドレス指定をインクリメンタルに変化さ
せながら4回転送を行う32bit転送コマンドと、同
じくコラムアドレスをインクリメンタルに変化させなが
らスタティックコラムバッファ48全体の転送を行うΑ
llコマンドとが規定されている。
プ3a〜3hの人出力データ幅である8bitを1回転
送する8bit転送コマンドと、メモリチップ3a〜3
h内でコラムアドレス指定をインクリメンタルに変化さ
せながら4回転送を行う32bit転送コマンドと、同
じくコラムアドレスをインクリメンタルに変化させなが
らスタティックコラムバッファ48全体の転送を行うΑ
llコマンドとが規定されている。
【0064】さらに、スペシャルコマンドとして、メモ
リチップ3a〜3h内のコラムアドレスレジスタ42に
値をセットするだけのコラムセットスペシャルコマンド
が用意される。
リチップ3a〜3h内のコラムアドレスレジスタ42に
値をセットするだけのコラムセットスペシャルコマンド
が用意される。
【0065】すなわち、一般コマンドとしては、オペラ
ンドがRow Address A0−A12のRR8
(Row Read 8 bit)、RR32(Row
Read 32 bit)、RRALL(Row R
ead All)、RW8(Row Write 8
bit)、RW32(Row Write 32 bi
t)、RWALL(Row Write All)、W
8(Write 8bit)、W32(Write 3
2 bit)、WALL(Write All)と、オ
ペランドがColumn Address A0−A7
のCR8(Column Read 8 bit)、C
RALL(Column ReadAll)、CW8
(Column Write 8 bit)、CWAL
L(Column Write All)と、オペラン
ドがColumn Address A0−A5(Co
lumn Address A6,A7は0)のCR3
2(Column Read 32 bit)、CW3
2(Column Write 32 bit)とがあ
る。
ンドがRow Address A0−A12のRR8
(Row Read 8 bit)、RR32(Row
Read 32 bit)、RRALL(Row R
ead All)、RW8(Row Write 8
bit)、RW32(Row Write 32 bi
t)、RWALL(Row Write All)、W
8(Write 8bit)、W32(Write 3
2 bit)、WALL(Write All)と、オ
ペランドがColumn Address A0−A7
のCR8(Column Read 8 bit)、C
RALL(Column ReadAll)、CW8
(Column Write 8 bit)、CWAL
L(Column Write All)と、オペラン
ドがColumn Address A0−A5(Co
lumn Address A6,A7は0)のCR3
2(Column Read 32 bit)、CW3
2(Column Write 32 bit)とがあ
る。
【0066】スペシャルコマンドとしては、オペランド
がColumn AddressA0−A7のCS(C
olumn Set)がある。
がColumn AddressA0−A7のCS(C
olumn Set)がある。
【0067】これらのコマンドを受取るメモリチップ3
a〜3hの構成は図3に示した通りであり、コマンドは
メモリチップ3a〜3h内のコマンドレジスタ43を介
して制御回路46に供給され、制御回路46の制御によ
って目的とする動作が実行される。
a〜3hの構成は図3に示した通りであり、コマンドは
メモリチップ3a〜3h内のコマンドレジスタ43を介
して制御回路46に供給され、制御回路46の制御によ
って目的とする動作が実行される。
【0068】図10は本発明の一実施例によるロウリー
ド/ライト(Row Read/Write)の動作タ
イミングを示すタイミングチャートである。図10
(a)は本発明の一実施例によるロウリードの動作タイ
ミングを示し、図10(b)は本発明の一実施例による
ロウライトの動作タイミングを示している。
ド/ライト(Row Read/Write)の動作タ
イミングを示すタイミングチャートである。図10
(a)は本発明の一実施例によるロウリードの動作タイ
ミングを示し、図10(b)は本発明の一実施例による
ロウライトの動作タイミングを示している。
【0069】まず、ロウリード動作はメモリモジュール
#0〜#3側のコマンド出力レジスタから発行される。
この場合、メモリチップ3a〜3hへのチップセレクト
ラインが有効であり、コラムセットスペシャルコマンド
ラインが無効である状態において、一般コマンドライン
上にロウリード(RR)系のコマンドパターンが表れ
る。
#0〜#3側のコマンド出力レジスタから発行される。
この場合、メモリチップ3a〜3hへのチップセレクト
ラインが有効であり、コラムセットスペシャルコマンド
ラインが無効である状態において、一般コマンドライン
上にロウリード(RR)系のコマンドパターンが表れ
る。
【0070】以下、図3を参照しながらロウリード動作
について説明する。メモリモジュール#0〜#3側のロ
ウリードコマンド発行に伴って1クロック後にはメモリ
チップ3a〜3h内のロウアドレスレジスタ41にコマ
ンドオペランドのアドレスデータがセットされる。当該
アドレスに基づくRAMアレイ47の読出しに2クロッ
クを要し、メモリチップ3a〜3h内のスタティックコ
ラムバッファ48が旧値から新値に更新される。
について説明する。メモリモジュール#0〜#3側のロ
ウリードコマンド発行に伴って1クロック後にはメモリ
チップ3a〜3h内のロウアドレスレジスタ41にコマ
ンドオペランドのアドレスデータがセットされる。当該
アドレスに基づくRAMアレイ47の読出しに2クロッ
クを要し、メモリチップ3a〜3h内のスタティックコ
ラムバッファ48が旧値から新値に更新される。
【0071】その際、データの転送量及び転送されるス
タティックコラムバッファ48内のアドレスはロウリー
ドコマンド種別によって指定される8bit/32bi
t/Allと、当該コマンド発行時に、それ以前に発行
されたコマンドの実行結果として保持されているメモリ
チップ3a〜3h内のコラムアドレスレジスタ42の値
によって定められる。
タティックコラムバッファ48内のアドレスはロウリー
ドコマンド種別によって指定される8bit/32bi
t/Allと、当該コマンド発行時に、それ以前に発行
されたコマンドの実行結果として保持されているメモリ
チップ3a〜3h内のコラムアドレスレジスタ42の値
によって定められる。
【0072】8bit転送に対してはコラムアドレスレ
ジスタ42のアドレスA0−A7で指示される8bit
のみ、32bit転送に対してはコラムアドレスレジス
タ42のアドレスA0−A5で指示される32bitの
み、All bit転送に対してはスタティックコラム
バッファ48全体が更新されるように、コラムアドレス
デコーダ45の出力であるイネーブル制御信号が生成さ
れて制御される。
ジスタ42のアドレスA0−A7で指示される8bit
のみ、32bit転送に対してはコラムアドレスレジス
タ42のアドレスA0−A5で指示される32bitの
み、All bit転送に対してはスタティックコラム
バッファ48全体が更新されるように、コラムアドレス
デコーダ45の出力であるイネーブル制御信号が生成さ
れて制御される。
【0073】ロウライト動作のタイミングも、上記のロ
ウリード動作とほぼ同様であり、メモリチップ3a〜3
h内のロウアドレスレジスタ41にコマンドオペランド
アドレスがセットされた後に2クロックを要し、RAM
アレイ47が更新される。
ウリード動作とほぼ同様であり、メモリチップ3a〜3
h内のロウアドレスレジスタ41にコマンドオペランド
アドレスがセットされた後に2クロックを要し、RAM
アレイ47が更新される。
【0074】図11は本発明の一実施例によるコラムリ
ード/ライト(Column Read/Write)
の動作タイミングを示すタイミングチャートである。図
11(a)は本発明の一実施例によるコラムリードの動
作タイミングを示し、図11(b)は本発明の一実施例
によるコラムライトの動作タイミングを示している。
ード/ライト(Column Read/Write)
の動作タイミングを示すタイミングチャートである。図
11(a)は本発明の一実施例によるコラムリードの動
作タイミングを示し、図11(b)は本発明の一実施例
によるコラムライトの動作タイミングを示している。
【0075】まず、コラムリード動作はメモリモジュー
ル#0〜#3側のコラムリードコマンド発行に伴って1
クロック後に、メモリチップ3a〜3h内のコラムアド
レスレジスタ42にコマンドオペランドのアドレスデー
タがセットされる。これによって、直ちにスタティック
コラムバッファ48からメモリチップ外部への読出しが
開始される。そのデータの転送サイズはコマンドで指定
された8bit/32bit/Allによって定められ
る。
ル#0〜#3側のコラムリードコマンド発行に伴って1
クロック後に、メモリチップ3a〜3h内のコラムアド
レスレジスタ42にコマンドオペランドのアドレスデー
タがセットされる。これによって、直ちにスタティック
コラムバッファ48からメモリチップ外部への読出しが
開始される。そのデータの転送サイズはコマンドで指定
された8bit/32bit/Allによって定められ
る。
【0076】コラムライト動作タイミングも、上記のコ
ラムリード動作とほぼ同様であり、コマンドと同タイミ
ングで開始されたメモリチップ3a〜3h外からの書込
みデータストリームがメモリチップ3a〜3h内のレジ
スタを介してスタティックコラムバッファ48を旧値か
ら新値に更新する。そのデータの転送サイズはコマンド
で指定された8bit/32bit/Allによって定
められる。
ラムリード動作とほぼ同様であり、コマンドと同タイミ
ングで開始されたメモリチップ3a〜3h外からの書込
みデータストリームがメモリチップ3a〜3h内のレジ
スタを介してスタティックコラムバッファ48を旧値か
ら新値に更新する。そのデータの転送サイズはコマンド
で指定された8bit/32bit/Allによって定
められる。
【0077】このコラムリード/ライトコマンドに付随
するメモリチップ3a〜3h内でのコラムアドレスイン
クリメントは指定転送サイズを越える桁上げを無視して
行われる。したがって、指定転送サイズ分のインクリメ
ントが完了すると、コラムアドレスレジスタ42の値は
コマンド発行時に与えられたオペランドでの指定値に戻
ることとなる。
するメモリチップ3a〜3h内でのコラムアドレスイン
クリメントは指定転送サイズを越える桁上げを無視して
行われる。したがって、指定転送サイズ分のインクリメ
ントが完了すると、コラムアドレスレジスタ42の値は
コマンド発行時に与えられたオペランドでの指定値に戻
ることとなる。
【0078】図12は本発明の一実施例によるライトの
動作タイミングを示すタイミングチャートである。この
図12においてはメモリチップ外部からのデータ書込み
をスタティックコラムバッファ48に留めずにRAMア
レイ47まで更新するライトコマンドの動作を指定する
ものであり、コラムライト動作とロウライト動作とを組
合せた動きを行うものである。
動作タイミングを示すタイミングチャートである。この
図12においてはメモリチップ外部からのデータ書込み
をスタティックコラムバッファ48に留めずにRAMア
レイ47まで更新するライトコマンドの動作を指定する
ものであり、コラムライト動作とロウライト動作とを組
合せた動きを行うものである。
【0079】図13は本発明の一実施例によるリードヒ
ット(Read ヒット)に対応する動作シーケンスの
タイミングを示すタイミングチャートである。図におい
て、キャッシュアドレスアレイ12のWay#1におい
てヒットし、かつヒットしたアドレスのブロック内アド
レスは128Byteブロックの3つ目の32Βyte
に含まれていた場合を示している。
ット(Read ヒット)に対応する動作シーケンスの
タイミングを示すタイミングチャートである。図におい
て、キャッシュアドレスアレイ12のWay#1におい
てヒットし、かつヒットしたアドレスのブロック内アド
レスは128Byteブロックの3つ目の32Βyte
に含まれていた場合を示している。
【0080】図6に示す回路において、ヒットの判定及
びヒットしたのがWay#1であることが判定される
と、CPUチップ1はメモリモジュール制御回路2−0
〜2−3を介して目的のメモリバンク3−00〜3−0
3,3−10〜3−13,3−20〜3−23,3−3
0〜3−33の各メモリチップペアに図13に示すタイ
ミングでコマンドを発行する。尚、図13の動作はすべ
てのメモリモジュール#0〜#3に対して全く同じタイ
ミングで発生する。
びヒットしたのがWay#1であることが判定される
と、CPUチップ1はメモリモジュール制御回路2−0
〜2−3を介して目的のメモリバンク3−00〜3−0
3,3−10〜3−13,3−20〜3−23,3−3
0〜3−33の各メモリチップペアに図13に示すタイ
ミングでコマンドを発行する。尚、図13の動作はすべ
てのメモリモジュール#0〜#3に対して全く同じタイ
ミングで発生する。
【0081】図において、まずクロック0のタイミング
でヒットしたWay#1に対応するデータをスタティッ
クコラムバッファ48に保持しているペア#1に対して
は32bit幅のコラムリードコマンド(CR32)が
発行され、同時にペア#1以外の同一バンク内ペアに対
してはコラムセットスペシャルコマンド(CS)が発行
される。
でヒットしたWay#1に対応するデータをスタティッ
クコラムバッファ48に保持しているペア#1に対して
は32bit幅のコラムリードコマンド(CR32)が
発行され、同時にペア#1以外の同一バンク内ペアに対
してはコラムセットスペシャルコマンド(CS)が発行
される。
【0082】この同時動作は、図7におけるバンクセレ
クトで目的のバンク1つのみを有効とし、かつバンク内
セレクトを全て有効とし、モジュールセレクトも有効と
し、さらに図8に示すコラムセットスペシャルコマンド
ラインにおいてペア#1以外を有効とすることで可能と
なる。
クトで目的のバンク1つのみを有効とし、かつバンク内
セレクトを全て有効とし、モジュールセレクトも有効と
し、さらに図8に示すコラムセットスペシャルコマンド
ラインにおいてペア#1以外を有効とすることで可能と
なる。
【0083】クロック1においてはペア#1以外に対し
て、つまりペア#0,#2,#3に対して32bitの
ロウリードコマンド(RR32)を発行する。クロック
3においては最初にコラムリードコマンドを発行したペ
ア#1からの読出しデータ(Fromペア#1)が得ら
れはじめ、4クロックを要して出力される。
て、つまりペア#0,#2,#3に対して32bitの
ロウリードコマンド(RR32)を発行する。クロック
3においては最初にコラムリードコマンドを発行したペ
ア#1からの読出しデータ(Fromペア#1)が得ら
れはじめ、4クロックを要して出力される。
【0084】クロック4においてはターゲットアドレス
を含む3番目の32Βyteのデータの読出しを行うた
めに、ペア#2に対してコラムリードコマンド(CR3
2)を発行する。引続き、クロック8及びクロック12
においてペア#3とペア#0とに対してコラムリードコ
マンド(CR32)を発行することによって全128B
yteのデータ(Fromペア#2,Fromペア#
3,Fromペア#0)が連続的に読出し可能となる。
を含む3番目の32Βyteのデータの読出しを行うた
めに、ペア#2に対してコラムリードコマンド(CR3
2)を発行する。引続き、クロック8及びクロック12
においてペア#3とペア#0とに対してコラムリードコ
マンド(CR32)を発行することによって全128B
yteのデータ(Fromペア#2,Fromペア#
3,Fromペア#0)が連続的に読出し可能となる。
【0085】コラムセットスペシャルコマンドを優先す
る制御が適用されていない場合には、クロック0におけ
る異種コマンドの同時発行が出来ないため、タイミング
をずらしてコマンドを発行する必要が発生し、全128
Byteデータの読出し完了にもう1クロックを要する
ことになる。
る制御が適用されていない場合には、クロック0におけ
る異種コマンドの同時発行が出来ないため、タイミング
をずらしてコマンドを発行する必要が発生し、全128
Byteデータの読出し完了にもう1クロックを要する
ことになる。
【0086】クロック6とクロック10とクロック14
とにおいて発行しているロウリードコマンド(RR3
2)において指定されるロウアドレスは各々、図5にお
けるキャッシュアドレスアレイ12を検索した際に得ら
れる同一セットアドレス上のWay#2、#3、#0に
登録されていたロウアドレスである。この動作は次回検
索時に他のWayでヒットした場合の最初のコラムリー
ドを直ちに開始することを可能とするために必要であ
る。
とにおいて発行しているロウリードコマンド(RR3
2)において指定されるロウアドレスは各々、図5にお
けるキャッシュアドレスアレイ12を検索した際に得ら
れる同一セットアドレス上のWay#2、#3、#0に
登録されていたロウアドレスである。この動作は次回検
索時に他のWayでヒットした場合の最初のコラムリー
ドを直ちに開始することを可能とするために必要であ
る。
【0087】本実施例においては、特にキャッシュリプ
レースメント管理用のLRU(Least Recen
tly Used) bit保持及び更新機構について
説明していないが、通常、複数のアソシアティビティを
備えるキャッシュメモリが備えるLRU機構を本実施例
においても備えている。図13においてヒットリードを
行った場合、Way#1が最新参照としてLRUが更新
される。
レースメント管理用のLRU(Least Recen
tly Used) bit保持及び更新機構について
説明していないが、通常、複数のアソシアティビティを
備えるキャッシュメモリが備えるLRU機構を本実施例
においても備えている。図13においてヒットリードを
行った場合、Way#1が最新参照としてLRUが更新
される。
【0088】図14は本発明の一実施例によるリードミ
ス(Read Miss)時の動作シーケンスのタイミ
ングを示すタイミングチャートである。この図14を用
いて本発明の一実施例によるリードミス時の動作シーケ
ンスについて説明する。
ス(Read Miss)時の動作シーケンスのタイミ
ングを示すタイミングチャートである。この図14を用
いて本発明の一実施例によるリードミス時の動作シーケ
ンスについて説明する。
【0089】リードミスの場合、メモリバンク3−00
〜3−03,3−10〜3−13,3−20〜3−2
3,3−30〜3−33内の全メモリチップ3a〜3h
のペア#0〜#3に対するロウリードを行う必要があ
り、クロック0におけるコラムセットスペシャルコマン
ド(CS)の発行と、クロック1におけるロウリード
(RR32)とを経て、ミスしたアドレスが含まれる1
28Byte中の32Βyteから読出し(Fromペ
ア#2,Fromペア#3,Fromペア#0,Fro
mペア#1)を開始する。
〜3−03,3−10〜3−13,3−20〜3−2
3,3−30〜3−33内の全メモリチップ3a〜3h
のペア#0〜#3に対するロウリードを行う必要があ
り、クロック0におけるコラムセットスペシャルコマン
ド(CS)の発行と、クロック1におけるロウリード
(RR32)とを経て、ミスしたアドレスが含まれる1
28Byte中の32Βyteから読出し(Fromペ
ア#2,Fromペア#3,Fromペア#0,Fro
mペア#1)を開始する。
【0090】図14においてはLRUが指定するリプレ
ースメント対象ブロックはWay#2であるものとし、
ミスリード読出し完了後においてもスタティックコラム
バッファ48にデータを残すのはペア#2とした。
ースメント対象ブロックはWay#2であるものとし、
ミスリード読出し完了後においてもスタティックコラム
バッファ48にデータを残すのはペア#2とした。
【0091】クロック10とクロック14とクロック1
8とにおけるロウリード(RR32)によって、Way
#2以外に対してはキャッシュアドレスアレイ12の同
一セットアドレス上のWay#3、#0、#1に登録さ
れていたロウアドレス情報に従ってスタティックコラム
バッファ48を更新する。
8とにおけるロウリード(RR32)によって、Way
#2以外に対してはキャッシュアドレスアレイ12の同
一セットアドレス上のWay#3、#0、#1に登録さ
れていたロウアドレス情報に従ってスタティックコラム
バッファ48を更新する。
【0092】図15は本発明の一実施例によるキャッシ
ュブロックライトの動作を示すタイミングチャートであ
る。この図15を用いて本発明の一実施例によるキャッ
シュブロックライトの動作について説明する。
ュブロックライトの動作を示すタイミングチャートであ
る。この図15を用いて本発明の一実施例によるキャッ
シュブロックライトの動作について説明する。
【0093】最近のMPUチップはプロセッサチップに
内蔵する一次キャッシュメモリにWrite Back
方式を採用するものが多く、メモリ側への書戻しもキャ
ッシュブロック単位となっている。
内蔵する一次キャッシュメモリにWrite Back
方式を採用するものが多く、メモリ側への書戻しもキャ
ッシュブロック単位となっている。
【0094】図15においてはLRUが指定するリプレ
ースメント対象はWay#1であるものとし、各ペア#
0〜#3ともコラムライト(CW32)を行った後にR
AMアレイ47自身の更新を行うためにロウライト(R
W)を用いている。
ースメント対象はWay#1であるものとし、各ペア#
0〜#3ともコラムライト(CW32)を行った後にR
AMアレイ47自身の更新を行うためにロウライト(R
W)を用いている。
【0095】さらに、スタティックコラムバッファ48
上にデータを残すWay#1以外に対してはロウリード
(RR)を再度発行し、キャッシュアドレスアレイ12
の同一セットアドレス上のWay#0、#2、#3に登
録されていたロウアドレス情報に従ってスタティックコ
ラムバッファ48を更新する。
上にデータを残すWay#1以外に対してはロウリード
(RR)を再度発行し、キャッシュアドレスアレイ12
の同一セットアドレス上のWay#0、#2、#3に登
録されていたロウアドレス情報に従ってスタティックコ
ラムバッファ48を更新する。
【0096】図16は本発明の一実施例によるスタティ
ックコラムバッファ48からの読出し動作の具体例を示
す図である。これら図1〜図16を用いて本発明の一実
施例によるスタティックコラムバッファ48からの読出
し動作について説明する。
ックコラムバッファ48からの読出し動作の具体例を示
す図である。これら図1〜図16を用いて本発明の一実
施例によるスタティックコラムバッファ48からの読出
し動作について説明する。
【0097】図16においてはキャッシュアドレスアレ
イ12のWay#1においてヒットした場合を示してい
る。ここで、1つのキャッシュライン128Byte
は、図4の物理アドレスマップに示すように、全部のメ
モリモジュール#0〜#3中の特定の番号のバンク群を
使用してマッピングされることとなる。
イ12のWay#1においてヒットした場合を示してい
る。ここで、1つのキャッシュライン128Byte
は、図4の物理アドレスマップに示すように、全部のメ
モリモジュール#0〜#3中の特定の番号のバンク群を
使用してマッピングされることとなる。
【0098】Way#1においてヒットしている場合に
は各メモリバンク3−00〜3−03,3−10〜3−
13,3−20〜3−23,3−30〜3−33のメモ
リチップペア#1中のスタティックコラムバッファ48
に対象ヒットデータが存在している状態であり、1キャ
ッシュライン中でのバイト番号32〜63までがスタテ
ィックコラムバッファ48に存在する(図16の初期状
態参照)。
は各メモリバンク3−00〜3−03,3−10〜3−
13,3−20〜3−23,3−30〜3−33のメモ
リチップペア#1中のスタティックコラムバッファ48
に対象ヒットデータが存在している状態であり、1キャ
ッシュライン中でのバイト番号32〜63までがスタテ
ィックコラムバッファ48に存在する(図16の初期状
態参照)。
【0099】つまり、モジュール番号#0のバンク番号
#0のペア番号#1にはバイト番号32−33,40−
41,48−49,56−57が存在し、モジュール番
号#1のバンク番号#0のペア番号#1にはバイト番号
34−35,42−43,50−51,58−59が存
在し、モジュール番号#2のバンク番号#0のペア番号
#1にはバイト番号36−37,44−45,52−5
3,60−61が存在し、モジュール番号#3のバンク
番号#0のペア番号#1にはバイト番号38−39,4
6−47,54−55,62−63が存在している。
#0のペア番号#1にはバイト番号32−33,40−
41,48−49,56−57が存在し、モジュール番
号#1のバンク番号#0のペア番号#1にはバイト番号
34−35,42−43,50−51,58−59が存
在し、モジュール番号#2のバンク番号#0のペア番号
#1にはバイト番号36−37,44−45,52−5
3,60−61が存在し、モジュール番号#3のバンク
番号#0のペア番号#1にはバイト番号38−39,4
6−47,54−55,62−63が存在している。
【0100】また、メモリチップペア#0,#2,#3
中のスタティックコラムバッファ48には他データが存
在している。つまり、モジュール番号#0のバンク番号
#0のペア番号#0,#2,#3とモジュール番号#1
のバンク番号#0のペア番号#0,#2,#3とモジュ
ール番号#2のバンク番号#0のペア番号#0,#2,
#3とモジュール番号#3のバンク番号#0のペア番号
#0,#2,#3とには夫々他データが存在している。
中のスタティックコラムバッファ48には他データが存
在している。つまり、モジュール番号#0のバンク番号
#0のペア番号#0,#2,#3とモジュール番号#1
のバンク番号#0のペア番号#0,#2,#3とモジュ
ール番号#2のバンク番号#0のペア番号#0,#2,
#3とモジュール番号#3のバンク番号#0のペア番号
#0,#2,#3とには夫々他データが存在している。
【0101】図16の第2段階は図13におけるクロッ
ク0〜1のコマンドを処理した状態を示している。つま
り、クロック0のタイミングでヒットしたWay#1に
対応するデータをスタティックコラムバッファ48に保
持しているペア#1に対しては32bit幅のコラムリ
ードコマンド(CR32)が発行され、同時にペア#1
以外の同一バンク内ペアに対してはコラムセットスペシ
ャルコマンド(CS)が発行される。また、クロック1
においてはペア#1以外に対して、つまりペア#0,#
2,#3に対して32bitのロウリードコマンド(R
R32)を発行する。
ク0〜1のコマンドを処理した状態を示している。つま
り、クロック0のタイミングでヒットしたWay#1に
対応するデータをスタティックコラムバッファ48に保
持しているペア#1に対しては32bit幅のコラムリ
ードコマンド(CR32)が発行され、同時にペア#1
以外の同一バンク内ペアに対してはコラムセットスペシ
ャルコマンド(CS)が発行される。また、クロック1
においてはペア#1以外に対して、つまりペア#0,#
2,#3に対して32bitのロウリードコマンド(R
R32)を発行する。
【0102】よって、各メモリバンク3−00〜3−0
3,3−10〜3−13,3−20〜3−23,3−3
0〜3−33のメモリチップペア#1からは32bit
幅のコラムリードコマンド(CR32)によって上記の
1キャッシュライン中でのバイト番号32〜63(図
中、太い下線を付与した部分)までがメモリチップ外部
に読出されていく。
3,3−10〜3−13,3−20〜3−23,3−3
0〜3−33のメモリチップペア#1からは32bit
幅のコラムリードコマンド(CR32)によって上記の
1キャッシュライン中でのバイト番号32〜63(図
中、太い下線を付与した部分)までがメモリチップ外部
に読出されていく。
【0103】これと同時に、各メモリバンク3−00〜
3−03,3−10〜3−13,3−20〜3−23,
3−30〜3−33のメモリチップペア#0,#2,#
3ではスタティックコラムバッファ48に対して、32
bitのロウリードコマンド(RR32)によってRA
Mアレイ47から32bitの部分転送が行われる。
3−03,3−10〜3−13,3−20〜3−23,
3−30〜3−33のメモリチップペア#0,#2,#
3ではスタティックコラムバッファ48に対して、32
bitのロウリードコマンド(RR32)によってRA
Mアレイ47から32bitの部分転送が行われる。
【0104】そのスタティックコラムバッファ48中の
どの部分への転送であるかはクロック0で与えられたコ
ラムセットスペシャルコマンド(CS)のオペランドで
あるコラムアドレスA0−A7がメモリチップ3a〜3
h内のコラムアドレスレジスタ42にセットされたもの
が用いられる。また、8bit×4個の転送であるの
で、コラムアドレスレジスタ42のコラムアドレスA0
−A5で示される部分が置き換えられる。
どの部分への転送であるかはクロック0で与えられたコ
ラムセットスペシャルコマンド(CS)のオペランドで
あるコラムアドレスA0−A7がメモリチップ3a〜3
h内のコラムアドレスレジスタ42にセットされたもの
が用いられる。また、8bit×4個の転送であるの
で、コラムアドレスレジスタ42のコラムアドレスA0
−A5で示される部分が置き換えられる。
【0105】このように、メモリチップペア#1に対す
るメモリチップ外部への読出しと、メモリチップペア#
0,#2,#3を構成するメモリチップ3a,3b,3
e〜3h上でRAMアレイ47からスタティックコラム
バッファ48への転送とがオーバラップして処理されて
いく。
るメモリチップ外部への読出しと、メモリチップペア#
0,#2,#3を構成するメモリチップ3a,3b,3
e〜3h上でRAMアレイ47からスタティックコラム
バッファ48への転送とがオーバラップして処理されて
いく。
【0106】すなわち、モジュール番号#0のバンク番
号#0のペア番号#0にはバイト番号0−1,8−9,
16−17,24−25が、ペア番号#2にはバイト番
号64−65,72−73,80−81,88−89
が、ペア番号#3にはバイト番号96−97,104−
105,112−113,120−121が夫々転送さ
れる。
号#0のペア番号#0にはバイト番号0−1,8−9,
16−17,24−25が、ペア番号#2にはバイト番
号64−65,72−73,80−81,88−89
が、ペア番号#3にはバイト番号96−97,104−
105,112−113,120−121が夫々転送さ
れる。
【0107】また、モジュール番号#1のバンク番号#
0のペア番号#0にはバイト番号2−3,10−11,
18−19,26−27が、ペア番号#2にはバイト番
号66−67,74−75,82−83,90−91
が、ペア番号#3にはバイト番号98−99,106−
107,114−115,122−123が夫々転送さ
れる。
0のペア番号#0にはバイト番号2−3,10−11,
18−19,26−27が、ペア番号#2にはバイト番
号66−67,74−75,82−83,90−91
が、ペア番号#3にはバイト番号98−99,106−
107,114−115,122−123が夫々転送さ
れる。
【0108】さらに、モジュール番号#2のバンク番号
#0のペア番号#0にはバイト番号4−5,12−1
3,20−21,28−29が、ペア番号#2にはバイ
ト番号68−69,76−77,84−85,92−9
3が、ペア番号#3にはバイト番号100−101,1
08−109,116−117,124−125が夫々
転送される。
#0のペア番号#0にはバイト番号4−5,12−1
3,20−21,28−29が、ペア番号#2にはバイ
ト番号68−69,76−77,84−85,92−9
3が、ペア番号#3にはバイト番号100−101,1
08−109,116−117,124−125が夫々
転送される。
【0109】さらにまた、モジュール番号#3のバンク
番号#0のペア番号#0にはバイト番号6−7,14−
15,22−23,30−31が、ペア番号#2にはバ
イト番号70−71,78−79,86−87,94−
95が、ペア番号#3にはバイト番号102−103,
110−111,118−119,126−127が夫
々転送される。
番号#0のペア番号#0にはバイト番号6−7,14−
15,22−23,30−31が、ペア番号#2にはバ
イト番号70−71,78−79,86−87,94−
95が、ペア番号#3にはバイト番号102−103,
110−111,118−119,126−127が夫
々転送される。
【0110】図16の第3段階は図13におけるクロッ
ク4のコマンドを処理した状態を示している。上記の第
2段階の終了状態において1キャッシュラインを構成す
る128Byteがすべてメモリチップ3a〜3h上の
スタティックコラムバッファ48に読出されており、第
3段階ではメモリチップペア#2中のバイト番号64〜
95(図中、太い下線を付与した部分)までがクロック
4におけるペア#2へのコラムリードコマンド(CR3
2)によってメモリチップ外部に読出されていく。
ク4のコマンドを処理した状態を示している。上記の第
2段階の終了状態において1キャッシュラインを構成す
る128Byteがすべてメモリチップ3a〜3h上の
スタティックコラムバッファ48に読出されており、第
3段階ではメモリチップペア#2中のバイト番号64〜
95(図中、太い下線を付与した部分)までがクロック
4におけるペア#2へのコラムリードコマンド(CR3
2)によってメモリチップ外部に読出されていく。
【0111】すなわち、第2段階でRAMアレイ47か
らスタティックコラムバッファ48に転送されたモジュ
ール番号#0のバンク番号#0のペア番号#2のバイト
番号64−65,72−73,80−81,88−89
と、モジュール番号#1のバンク番号#0のペア番号#
2のバイト番号66−67,74−75,82−83,
90−91と、モジュール番号#2のバンク番号#0の
ペア番号#2のバイト番号68−69,76−77,8
4−85,92−93と、モジュール番号#3のバンク
番号#0のペア番号#2のバイト番号70−71,78
−79,86−87,94−95とが夫々メモリチップ
外部に読出されていく。
らスタティックコラムバッファ48に転送されたモジュ
ール番号#0のバンク番号#0のペア番号#2のバイト
番号64−65,72−73,80−81,88−89
と、モジュール番号#1のバンク番号#0のペア番号#
2のバイト番号66−67,74−75,82−83,
90−91と、モジュール番号#2のバンク番号#0の
ペア番号#2のバイト番号68−69,76−77,8
4−85,92−93と、モジュール番号#3のバンク
番号#0のペア番号#2のバイト番号70−71,78
−79,86−87,94−95とが夫々メモリチップ
外部に読出されていく。
【0112】図16の第4段階は図13におけるクロッ
ク6〜8のコマンドを処理した状態を示している。第3
段階でメモリチップ外部への読出しが完了したメモリチ
ップペア#2のスタティックコラムバッファ48上のバ
イト番号64〜95が占めていた領域はクロック6のロ
ウリードコマンド(RR32)によって、図5に示すキ
ャッシュアドレスアレイ上で現在処理中のヒットアドレ
スに対応するセットアドレスでのWay#2に登録され
ているキャッシュラインの部分データ(他データ)で置
き換えられていく。
ク6〜8のコマンドを処理した状態を示している。第3
段階でメモリチップ外部への読出しが完了したメモリチ
ップペア#2のスタティックコラムバッファ48上のバ
イト番号64〜95が占めていた領域はクロック6のロ
ウリードコマンド(RR32)によって、図5に示すキ
ャッシュアドレスアレイ上で現在処理中のヒットアドレ
スに対応するセットアドレスでのWay#2に登録され
ているキャッシュラインの部分データ(他データ)で置
き換えられていく。
【0113】同時に、メモリチップペア#3中のバイト
番号96〜127(図中、太い下線を付与した部分)ま
でがクロック8におけるペア#3へのコラムリードコマ
ンド(CR32)によってメモリチップ外部に読出され
ていく。
番号96〜127(図中、太い下線を付与した部分)ま
でがクロック8におけるペア#3へのコラムリードコマ
ンド(CR32)によってメモリチップ外部に読出され
ていく。
【0114】すなわち、第2段階でRAMアレイ47か
らスタティックコラムバッファ48に転送されたモジュ
ール番号#0のバンク番号#0のペア番号#3のバイト
番号96−97,104−105,112−113,1
20−121と、モジュール番号#1のバンク番号#0
のペア番号#3のバイト番号98−99,106−10
7,114−115,122−123と、モジュール番
号#2のバンク番号#0のペア番号#3のバイト番号1
00−101,108−109,116−117,12
4−125と、モジュール番号#3のバンク番号#0の
ペア番号#3のバイト番号102−103,110−1
11,118−119,126−127とが夫々メモリ
チップ外部に読出されていく。
らスタティックコラムバッファ48に転送されたモジュ
ール番号#0のバンク番号#0のペア番号#3のバイト
番号96−97,104−105,112−113,1
20−121と、モジュール番号#1のバンク番号#0
のペア番号#3のバイト番号98−99,106−10
7,114−115,122−123と、モジュール番
号#2のバンク番号#0のペア番号#3のバイト番号1
00−101,108−109,116−117,12
4−125と、モジュール番号#3のバンク番号#0の
ペア番号#3のバイト番号102−103,110−1
11,118−119,126−127とが夫々メモリ
チップ外部に読出されていく。
【0115】図16の第5段階は図13におけるクロッ
ク10〜12のコマンドを処理した状態を示している。
第4段階でメモリチップ外部への読出しが完了したメモ
リチップペア#3のスタティックコラムバッファ48上
のバイト番号96〜127が占めていた領域はクロック
10のロウリードコマンド(RR32)によって、図5
に示すキャッシュアドレスアレイ上で現在処理中のヒッ
トアドレスに対応するセットアドレスでのWay#3に
登録されているキャッシュラインの部分データ(他デー
タ)で置き換えられていく。
ク10〜12のコマンドを処理した状態を示している。
第4段階でメモリチップ外部への読出しが完了したメモ
リチップペア#3のスタティックコラムバッファ48上
のバイト番号96〜127が占めていた領域はクロック
10のロウリードコマンド(RR32)によって、図5
に示すキャッシュアドレスアレイ上で現在処理中のヒッ
トアドレスに対応するセットアドレスでのWay#3に
登録されているキャッシュラインの部分データ(他デー
タ)で置き換えられていく。
【0116】同時に、メモリチップペア#0中のバイト
番号0〜31(図中、太い下線を付与した部分)までが
クロック12におけるペア#0へのコラムリードコマン
ド(CR32)によってメモリチップ外部に読出されて
いく。
番号0〜31(図中、太い下線を付与した部分)までが
クロック12におけるペア#0へのコラムリードコマン
ド(CR32)によってメモリチップ外部に読出されて
いく。
【0117】すなわち、第2段階でRAMアレイ47か
らスタティックコラムバッファ48に転送されたモジュ
ール番号#0のバンク番号#0のペア番号#0のバイト
番号0−1,8−9,16−17,24−25と、モジ
ュール番号#1のバンク番号#0のペア番号#0のバイ
ト番号2−3,10−11,18−19,26−27
と、モジュール番号#2のバンク番号#0のペア番号#
0のバイト番号4−5,12−13,20−21,28
−29と、モジュール番号#3のバンク番号#0のペア
番号#0のバイト番号6−7,14−15,22−2
3,30−31とが夫々メモリチップ外部に読出されて
いく。
らスタティックコラムバッファ48に転送されたモジュ
ール番号#0のバンク番号#0のペア番号#0のバイト
番号0−1,8−9,16−17,24−25と、モジ
ュール番号#1のバンク番号#0のペア番号#0のバイ
ト番号2−3,10−11,18−19,26−27
と、モジュール番号#2のバンク番号#0のペア番号#
0のバイト番号4−5,12−13,20−21,28
−29と、モジュール番号#3のバンク番号#0のペア
番号#0のバイト番号6−7,14−15,22−2
3,30−31とが夫々メモリチップ外部に読出されて
いく。
【0118】図16の終了状態は図13におけるクロッ
ク14のコマンドを処理した状態を示している。第5段
階でメモリチップ外部への読出しが完了したメモリチッ
プペア#0のスタティックコラムバッファ48上のバイ
ト番号0〜31が占めていた領域はクロック14のロウ
リードコマンド(RR32)によって、図5に示すキャ
ッシュアドレスアレイ上で現在処理中のヒットアドレス
に対応するセットアドレスでのWay#3に登録されて
いるキャッシュラインの部分データ(他データ)で置き
換えられていく。
ク14のコマンドを処理した状態を示している。第5段
階でメモリチップ外部への読出しが完了したメモリチッ
プペア#0のスタティックコラムバッファ48上のバイ
ト番号0〜31が占めていた領域はクロック14のロウ
リードコマンド(RR32)によって、図5に示すキャ
ッシュアドレスアレイ上で現在処理中のヒットアドレス
に対応するセットアドレスでのWay#3に登録されて
いるキャッシュラインの部分データ(他データ)で置き
換えられていく。
【0119】これによって、初期状態に戻り、Way#
1に対応するバイト番号32〜63のみがメモリチップ
3a〜3h上のスタティックコラムバッファ48に保持
されている状態に復帰し、スタティックコラムバッファ
48からの読出し動作が完了する。
1に対応するバイト番号32〜63のみがメモリチップ
3a〜3h上のスタティックコラムバッファ48に保持
されている状態に復帰し、スタティックコラムバッファ
48からの読出し動作が完了する。
【0120】図17は本発明の他の実施例によるリード
ヒット(Read ヒット)に対応する動作シーケンス
のタイミングを示すタイミングチャートである。図にお
いて、キャッシュアドレスアレイ12のWay#1にお
いてヒットし、かつヒットしたアドレスのブロック内ア
ドレスは128Byteブロックの3つ目の32Βyt
eに含まれていた場合を示している。
ヒット(Read ヒット)に対応する動作シーケンス
のタイミングを示すタイミングチャートである。図にお
いて、キャッシュアドレスアレイ12のWay#1にお
いてヒットし、かつヒットしたアドレスのブロック内ア
ドレスは128Byteブロックの3つ目の32Βyt
eに含まれていた場合を示している。
【0121】本発明の他の実施例では次の読出し時に再
度128Byteブロックの3つ目の32Βyteのデ
ータが読出される可能性があるので、そのデータを読出
した後にスタティックコラムバッファ48にそのまま保
持しておこうとするものである。
度128Byteブロックの3つ目の32Βyteのデ
ータが読出される可能性があるので、そのデータを読出
した後にスタティックコラムバッファ48にそのまま保
持しておこうとするものである。
【0122】すなわち、目的とするキャッシュブロック
の読出し終了後に行い、かつ次回検索時に他のWayで
ヒットした場合の最初のコラムリードを直ちに開始可能
とするためのロウリード動作を、Way#2、#3、#
0のかわりにWay#1、#3、#0に対して行うこと
にある。
の読出し終了後に行い、かつ次回検索時に他のWayで
ヒットした場合の最初のコラムリードを直ちに開始可能
とするためのロウリード動作を、Way#2、#3、#
0のかわりにWay#1、#3、#0に対して行うこと
にある。
【0123】これはヒット動作のターゲットがWay#
1ではなくWay#2であったことを重視し、Way#
2の方のデータをWay#1に代えてスタティックコラ
ムバッファ48に配置しておくためである。
1ではなくWay#2であったことを重視し、Way#
2の方のデータをWay#1に代えてスタティックコラ
ムバッファ48に配置しておくためである。
【0124】この図17を用いて本発明の他の実施例に
よるリードヒットに対応する動作シーケンスについて説
明する。尚、図17の動作はすべてのメモリモジュール
#0〜#3に対して全く同じタイミングで発生する。
よるリードヒットに対応する動作シーケンスについて説
明する。尚、図17の動作はすべてのメモリモジュール
#0〜#3に対して全く同じタイミングで発生する。
【0125】図において、まずクロック0のタイミング
でヒットしたWay#1に対応するデータをスタティッ
クコラムバッファ48に保持しているペア#1に対して
は32bit幅のコラムリードコマンド(CR32)が
発行され、同時にペア#1以外の同一バンク内ペアに対
してはコラムセットスペシャルコマンド(CS)が発行
される。
でヒットしたWay#1に対応するデータをスタティッ
クコラムバッファ48に保持しているペア#1に対して
は32bit幅のコラムリードコマンド(CR32)が
発行され、同時にペア#1以外の同一バンク内ペアに対
してはコラムセットスペシャルコマンド(CS)が発行
される。
【0126】この同時動作は、図7におけるバンクセレ
クトで目的のバンク1つのみを有効とし、かつバンク内
セレクトを全て有効とし、モジュールセレクトも有効と
し、さらに図8に示すコラムセットスペシャルコマンド
ラインにおいてペア#1以外を有効とすることで可能と
なる。
クトで目的のバンク1つのみを有効とし、かつバンク内
セレクトを全て有効とし、モジュールセレクトも有効と
し、さらに図8に示すコラムセットスペシャルコマンド
ラインにおいてペア#1以外を有効とすることで可能と
なる。
【0127】クロック1においてはペア#1以外に対し
て、つまりペア#0,#2,#3に対して32bitの
ロウリードコマンド(RR32)を発行する。クロック
3においては最初にコラムリードコマンドを発行したペ
ア#1からの読出しデータ(Fromペア#1)が得ら
れはじめ、4クロックを要して出力される。
て、つまりペア#0,#2,#3に対して32bitの
ロウリードコマンド(RR32)を発行する。クロック
3においては最初にコラムリードコマンドを発行したペ
ア#1からの読出しデータ(Fromペア#1)が得ら
れはじめ、4クロックを要して出力される。
【0128】クロック4においてはターゲットアドレス
を含む3番目の32Βyteのデータの読出しを行うた
めに、ペア#2に対してコラムリードコマンド(CR3
2)を発行する。引続き、クロック8及びクロック12
においてペア#3とペア#0とに対してコラムリードコ
マンド(CR32)を発行することによって全128B
yteのデータ(Fromペア#2,Fromペア#
3,Fromペア#0)が連続的に読出し可能となる。
を含む3番目の32Βyteのデータの読出しを行うた
めに、ペア#2に対してコラムリードコマンド(CR3
2)を発行する。引続き、クロック8及びクロック12
においてペア#3とペア#0とに対してコラムリードコ
マンド(CR32)を発行することによって全128B
yteのデータ(Fromペア#2,Fromペア#
3,Fromペア#0)が連続的に読出し可能となる。
【0129】コラムセットスペシャルコマンドを優先す
る制御が適用されていない場合には、クロック0におけ
る異種コマンドの同時発行が出来ないため、タイミング
をずらしてコマンドを発行する必要が発生し、全128
Byteデータの読出し完了にもう1クロックを要する
ことになる。
る制御が適用されていない場合には、クロック0におけ
る異種コマンドの同時発行が出来ないため、タイミング
をずらしてコマンドを発行する必要が発生し、全128
Byteデータの読出し完了にもう1クロックを要する
ことになる。
【0130】クロック2とクロック10とクロック14
とにおいて発行しているロウリードコマンド(RR3
2)において指定されるロウアドレスは各々、図5にお
けるキャッシュアドレスアレイ12を検索した際に得ら
れる同一セットアドレス上のWay#1、#3、#0に
登録されていたロウアドレスである。この動作は次回検
索時に他のWayでヒットした場合の最初のコラムリー
ドを直ちに開始することを可能とするために必要であ
る。
とにおいて発行しているロウリードコマンド(RR3
2)において指定されるロウアドレスは各々、図5にお
けるキャッシュアドレスアレイ12を検索した際に得ら
れる同一セットアドレス上のWay#1、#3、#0に
登録されていたロウアドレスである。この動作は次回検
索時に他のWayでヒットした場合の最初のコラムリー
ドを直ちに開始することを可能とするために必要であ
る。
【0131】このような実施例に従った動作を行う場合
は、LRU上の最新参照情報はWay#2とする。ま
た、Way#1側には旧Way#2に登録されかつ図5
におけるキャッシュアドレスアレイを検索した際に得ら
れる同一セットアドレス上のWay#2のロウアドレス
を再登録し、逆にWay#2側には旧Way#1のロウ
アドレスを登録する。さらに、クロック6において発行
するメモリチップペア#2に対するロウリード要求には
旧Way#1のロウアドレスを用いる。
は、LRU上の最新参照情報はWay#2とする。ま
た、Way#1側には旧Way#2に登録されかつ図5
におけるキャッシュアドレスアレイを検索した際に得ら
れる同一セットアドレス上のWay#2のロウアドレス
を再登録し、逆にWay#2側には旧Way#1のロウ
アドレスを登録する。さらに、クロック6において発行
するメモリチップペア#2に対するロウリード要求には
旧Way#1のロウアドレスを用いる。
【0132】図18は本発明の別の実施例のシステム構
成を示すブロック図である。図において、本発明の別の
実施例によるキャッシュメモリシステムはCPUチップ
1の代わりにメモリコントローラ4を配置した以外は本
発明の一実施例あるいは本発明の他の実施例と同様であ
り、同一構成要素には同一符号を付してある。これら同
一構成要素の動作は本発明の一実施例あるいは本発明の
他の実施例の動作と同様である。
成を示すブロック図である。図において、本発明の別の
実施例によるキャッシュメモリシステムはCPUチップ
1の代わりにメモリコントローラ4を配置した以外は本
発明の一実施例あるいは本発明の他の実施例と同様であ
り、同一構成要素には同一符号を付してある。これら同
一構成要素の動作は本発明の一実施例あるいは本発明の
他の実施例の動作と同様である。
【0133】尚、メモリコントローラ4による制御はC
PUチップ1の動作と、つまり上述した処理動作に対す
る制御と同様であるので、その動作説明は省略する。
PUチップ1の動作と、つまり上述した処理動作に対す
る制御と同様であるので、その動作説明は省略する。
【0134】このように、ブロック単位のデータの読出
し及び書込みが自在なRAMアレイ47と、このRAM
アレイ47からブロック単位で読出されたデータを一時
記憶しかつRAMアレイ47との間でブロック単位のデ
ータを1/N(Nは正の整数)単位に部分転送可能なス
タティックコラムバッファ48とを含むメモリチップ3
a〜3hからなるキャッシュメモリシステムにおいて、
N個のブロック単位のデータを1/N単位ずつスタティ
ックコラムバッファ48に記憶し、メモリチップ外部か
ら指定された読出しアドレスに対応するデータがスタテ
ィックコラムバッファ48に存在すると判定された時に
スタティックコラムバッファ48に一時記憶された1/
N単位のデータをメモリチップ外部に転送するととも
に、このメモリチップ外部への転送と並列に当該データ
のスタティックコラムバッファ48に一時記憶された1
/N単位のデータ以外の残り部分のデータをRAMアレ
イ47からスタティックコラムバッファ48に転送した
後にメモリチップ外部に転送することによって、スタテ
ィックコラムバッファ型のDRAMメモリチップを用い
て、複数のアソシアティビティを備えるキャッシュメモ
リの特性に近付けることができ、実用的な観点から容量
を拡大した性能特性を引き出すことができる。
し及び書込みが自在なRAMアレイ47と、このRAM
アレイ47からブロック単位で読出されたデータを一時
記憶しかつRAMアレイ47との間でブロック単位のデ
ータを1/N(Nは正の整数)単位に部分転送可能なス
タティックコラムバッファ48とを含むメモリチップ3
a〜3hからなるキャッシュメモリシステムにおいて、
N個のブロック単位のデータを1/N単位ずつスタティ
ックコラムバッファ48に記憶し、メモリチップ外部か
ら指定された読出しアドレスに対応するデータがスタテ
ィックコラムバッファ48に存在すると判定された時に
スタティックコラムバッファ48に一時記憶された1/
N単位のデータをメモリチップ外部に転送するととも
に、このメモリチップ外部への転送と並列に当該データ
のスタティックコラムバッファ48に一時記憶された1
/N単位のデータ以外の残り部分のデータをRAMアレ
イ47からスタティックコラムバッファ48に転送した
後にメモリチップ外部に転送することによって、スタテ
ィックコラムバッファ型のDRAMメモリチップを用い
て、複数のアソシアティビティを備えるキャッシュメモ
リの特性に近付けることができ、実用的な観点から容量
を拡大した性能特性を引き出すことができる。
【0135】言い換えると、スタティックコラムバッフ
ァ48に保持するデータをキャッシュブロックの一部と
限りながらも、該保持データの転送と並行してRAMア
レイ47上のデータをスタティックコラムバッファ48
ヘ転送することによって、キャッシュブロックデータ全
体の読出しを遅滞なく処理可能とすることができる。
ァ48に保持するデータをキャッシュブロックの一部と
限りながらも、該保持データの転送と並行してRAMア
レイ47上のデータをスタティックコラムバッファ48
ヘ転送することによって、キャッシュブロックデータ全
体の読出しを遅滞なく処理可能とすることができる。
【0136】これによって、複数のアソシアティビティ
を備えるキャッシュメモリシステムに近い牲能特牲を実
現するとともに、実効的なキャッシュメモリの容量を増
大させて性能向上を図ることができる。
を備えるキャッシュメモリシステムに近い牲能特牲を実
現するとともに、実効的なキャッシュメモリの容量を増
大させて性能向上を図ることができる。
【0137】
【発明の効果】以上説明したように本発明によれば、ブ
ロック単位のデータの読出し及び書込みが自在な記憶手
段と、この記憶手段からブロック単位で読出されたデー
タを一時記憶しかつ記憶手段との間でブロック単位のデ
ータを1/N(Nは正の整数)単位に部分転送可能な一
時記憶手段とを含むメモリチップからなるキャッシュメ
モリシステムにおいて、N個のブロック単位のデータを
1/N単位ずつ一時記憶手段に記憶し、外部から指定さ
れた読出しアドレスに対応するデータが一時記憶手段に
存在すると判定された時に一時記憶手段に一時記憶され
た1/N単位のデータを外部に転送するとともに、この
外部への転送と並列に当該データの一時記憶手段に一時
記憶された1/N単位のデータ以外の残り部分のデータ
を記憶手段から一時記憶手段に転送した後に外部に転送
することによって、スタティックコラムバッファ型のD
RAMメモリチップを用いて、複数のアソシアティビテ
ィを備えるキャッシュメモリの特性に近付けることがで
き、実用的な観点から容量を拡大した性能特性を引き出
すことができるという効果がある。
ロック単位のデータの読出し及び書込みが自在な記憶手
段と、この記憶手段からブロック単位で読出されたデー
タを一時記憶しかつ記憶手段との間でブロック単位のデ
ータを1/N(Nは正の整数)単位に部分転送可能な一
時記憶手段とを含むメモリチップからなるキャッシュメ
モリシステムにおいて、N個のブロック単位のデータを
1/N単位ずつ一時記憶手段に記憶し、外部から指定さ
れた読出しアドレスに対応するデータが一時記憶手段に
存在すると判定された時に一時記憶手段に一時記憶され
た1/N単位のデータを外部に転送するとともに、この
外部への転送と並列に当該データの一時記憶手段に一時
記憶された1/N単位のデータ以外の残り部分のデータ
を記憶手段から一時記憶手段に転送した後に外部に転送
することによって、スタティックコラムバッファ型のD
RAMメモリチップを用いて、複数のアソシアティビテ
ィを備えるキャッシュメモリの特性に近付けることがで
き、実用的な観点から容量を拡大した性能特性を引き出
すことができるという効果がある。
【図1】本発明の一実施例のシステム構成を示すブロッ
ク図である。
ク図である。
【図2】本発明の一実施例によるメモリモジュール制御
部とメモリバンクを構成するメモリチップとの間の接続
関係を示す図である。
部とメモリバンクを構成するメモリチップとの間の接続
関係を示す図である。
【図3】本発明の一実施例において使用するメモリチッ
プの概略を示す図である。
プの概略を示す図である。
【図4】本発明の一実施例によるキャッシュメモリシス
テムの物理アドレスマップを示す図である。
テムの物理アドレスマップを示す図である。
【図5】本発明の一実施例によるキャッシュアドレスア
レイの一例を示す図である。
レイの一例を示す図である。
【図6】本発明の一実施例によるメモリモジュール制御
部の構成を示す図である。
部の構成を示す図である。
【図7】本発明の一実施例によるメモリモジュール制御
部の構成を示す図である。
部の構成を示す図である。
【図8】本発明の一実施例によるコラムセットスペシャ
ルコマンドと一般コマンドとの関係を示す図である。
ルコマンドと一般コマンドとの関係を示す図である。
【図9】本発明の一実施例によるメモリバンクに対して
定義されるコマンドの種別を示す図である。
定義されるコマンドの種別を示す図である。
【図10】(a)は本発明の一実施例によるロウリード
の動作タイミングを示す図、(b)は本発明の一実施例
によるロウライトの動作タイミングを示す図である。
の動作タイミングを示す図、(b)は本発明の一実施例
によるロウライトの動作タイミングを示す図である。
【図11】(a)は本発明の一実施例によるコラムリー
ドの動作タイミングを示す図、(b)は本発明の一実施
例によるコラムライトの動作タイミングを示す図であ
る。
ドの動作タイミングを示す図、(b)は本発明の一実施
例によるコラムライトの動作タイミングを示す図であ
る。
【図12】本発明の一実施例によるライトの動作タイミ
ングを示すタイミングチャートである。
ングを示すタイミングチャートである。
【図13】本発明の一実施例によるリードヒットに対応
する動作シーケンスのタイミングを示すタイミングチャ
ートである。
する動作シーケンスのタイミングを示すタイミングチャ
ートである。
【図14】本発明の一実施例によるリードミス時の動作
シーケンスのタイミングを示すタイミングチャートであ
る。
シーケンスのタイミングを示すタイミングチャートであ
る。
【図15】本発明の一実施例によるキャッシュブロック
ライトの動作を示すタイミングチャートである。
ライトの動作を示すタイミングチャートである。
【図16】本発明の一実施例によるスタティックコラム
バッファからの読出し動作の具体例を示す図である。
バッファからの読出し動作の具体例を示す図である。
【図17】本発明の他の実施例によるリードヒットに対
応する動作シーケンスのタイミングを示すタイミングチ
ャートである。
応する動作シーケンスのタイミングを示すタイミングチ
ャートである。
【図18】本発明の別の実施例のシステム構成を示すブ
ロック図である。
ロック図である。
【図19】従来例において使用するメモリチップの概略
を示す図である。
を示す図である。
1 CPUチップ 2−0〜2−3 メモリモジュール制御部 3−00〜3−03,3−10〜3−13,3−20〜
3−23,3−30〜3−33 メモリバンク 3a〜3h メモリチップ 4 メモリコントローラ 11 レジスタ 12 キャッシュアドレスアレイ 13−1〜13−4 比較回路 14−1〜14−4 アンド回路 15 オア回路 16 シーケンス制御部 41 ロウアドレスレジスタ 42 コラムアドレスレジスタ 43 コマンドレジスタ 46 制御回路 47 RAMアレイ 48 スタティックコラムバッファ 49 セレクタ
3−23,3−30〜3−33 メモリバンク 3a〜3h メモリチップ 4 メモリコントローラ 11 レジスタ 12 キャッシュアドレスアレイ 13−1〜13−4 比較回路 14−1〜14−4 アンド回路 15 オア回路 16 シーケンス制御部 41 ロウアドレスレジスタ 42 コラムアドレスレジスタ 43 コマンドレジスタ 46 制御回路 47 RAMアレイ 48 スタティックコラムバッファ 49 セレクタ
Claims (6)
- 【請求項1】 ブロック単位のデータの読出し及び書込
みが自在な記憶手段と、前記記憶手段から前記ブロック
単位で読出されたデータを一時記憶しかつ前記記憶手段
との間で前記ブロック単位のデータを1/N(Nは正の
整数)単位に部分転送可能な一時記憶手段とを含むメモ
リチップからなるキャッシュメモリシステムであって、 N個の前記ブロック単位のデータを前記1/N単位ずつ
前記一時記憶手段に記憶する手段と、 外部から指定された読出しアドレスに対応するデータが
前記一時記憶手段に存在するか否かを判定する判定手段
と、 前記判定手段で前記一時記憶手段に存在すると判定され
た時に前記一時記憶手段に一時記憶された1/N単位の
データを外部に転送する手段と、 この外部への転送と並列に当該データの前記一時記憶手
段に一時記憶された1/N単位のデータ以外の残り部分
のデータを前記記憶手段から前記一時記憶手段に転送す
る手段と、 前記記憶手段から前記一時記憶手段に転送された前記残
り部分のデータを外部に転送する手段とを有することを
特徴とするキャッシュメモリシステム。 - 【請求項2】 前記読出しアドレスに対応するブロック
単位のデータのうちj番目(jは正の整数)の1/N単
位のデータを必要としかつ当該ブロック単位のデータの
うちi番目(iは正の整数、i≠j)の1/N単位のデ
ータが前記一時記憶手段に一時記憶されている場合、前
記読出しアドレスに対応するブロック単位のデータのう
ちの前記j番目の1/N単位のデータを前記一時記憶手
段に一時記憶しかつj番目の1/N単位のデータが前記
一時記憶手段に一時記憶されていた他のブロック単位の
データのi番目の1/N単位のデータを前記一時記憶手
段に一時記憶するよう構成したことを特徴とする請求項
1記載のキャッシュメモリシステム。 - 【請求項3】 前記一時記憶手段に一時記憶された1/
N単位のデータ以外の残り部分のデータを前記記憶手段
から読出す際に、前記記憶手段においてその読出し命令
を優先するよう構成したことを特徴とする請求項1また
は請求項2記載のキャッシュメモリシステム。 - 【請求項4】 ダイナミックランダムアクセスメモリア
レイと、前記ダイナミックランダムアクセスメモリアレ
イから読出されたデータを一時記憶するスタティックコ
ラムバッファとを備えるダイナミックランダムアクセス
メモリからなりかつ前記スタティックコラムバッファと
前記ダイナミックランダムアクセスメモリアレイとの間
を部分転送可能とするメモリチップを用いたキャッシュ
メモリシステムであって、 前記メモリチップを複数用いたメモリバンクを複数束ね
たメモリモジユールと、 前記メモリバンクへのアクセス制御を行う制御手段と、 前記制御手段に設けられかつ前記メモリチップ上の前記
スタティックコラムバッファをキャッシュメモリのデー
タアレイとして利用するためのアドレスアレイと、 前記アドレスアレイに設けられかつ複数のアソシアティ
ビティを実現するために同一セットアドレスに対するタ
グ比較を行うためのNセット(Nは2以上の正の整数)
のタグ記憶手段と、 前記Nセットのタグ記憶手段の各セットに対応してN個
のキャッシュブロック各々の1/N部分を夫々前記スタ
ティックコラムバッファに配置する手段と、 セットアドレスに対するキャッシュヒットが前記タグ記
憶手段のi番目(iは正の整数)において発生した時に
前記スタティックコラムバッファ上に実際に配置されて
いるキャッシュブロックのi番目の1/N部分のメモリ
チップ外部への読出しを行う手段と、 前記メモリチップ外部への読出しと並列に前記キャッシ
ュブロック中の前記スタティックコラムバッファに配置
されていない残りの部分のデータを前記ダイナミックラ
ンダムアクセスメモリアレイから読出して前記スタティ
ックコラムバッファに転送する手段と、 前記のi番目の1/N部分の読出し完了後に前記残りの
部分のデータを前記スタティックコラムバッファから前
記メモリチップ外部に読出す手段とを有することを特徴
とするキャッシュメモリシステム。 - 【請求項5】 前記セットアドレスに対応するキャッシ
ュブロックのj番目(jは正の整数)の1/N単位のデ
ータを必要としかつ当該キャッシュブロックのi番目の
1/N単位のデータが前記スタティックコラムバッファ
に配置されている場合、前記セットアドレスに対応する
キャッシュブロックのj番目の1/N単位のデータを前
記スタティックコラムバッファに配置しかつj番目の1
/N単位のデータが前記スタティックコラムバッファに
配置されていた他のキャッシュブロックのi番目の1/
N単位のデータを前記スタティックコラムバッファに配
置するよう構成したことを特徴とする請求項4記載のキ
ャッシュメモリシステム。 - 【請求項6】 前記メモリチップは、前記スタティック
コラムバッファから特定コラムアドレスを指定して読出
すための指示指定を受けるコマンドと前記メモリチップ
内のコラムアドレスレジスタにアドレスをセットするた
めコマンドとを信号インタフェースとして受信可能とし
かつ前記メモリチップ内のコラムアドレスレジスタへの
アドレスをセットするためのコマンドが有効である時に
当該コマンドを優先するよう構成したことを特徴とする
請求項4または請求項5記載のキャッシュメモリシステ
ム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08187048A JP3075183B2 (ja) | 1996-07-17 | 1996-07-17 | キャッシュメモリシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08187048A JP3075183B2 (ja) | 1996-07-17 | 1996-07-17 | キャッシュメモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1031621A true JPH1031621A (ja) | 1998-02-03 |
JP3075183B2 JP3075183B2 (ja) | 2000-08-07 |
Family
ID=16199270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08187048A Expired - Fee Related JP3075183B2 (ja) | 1996-07-17 | 1996-07-17 | キャッシュメモリシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3075183B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005190494A (ja) * | 1999-01-21 | 2005-07-14 | Sony Computer Entertainment Inc | 高速プロセッサシステム、これを使用する方法及び記録媒体 |
US7028141B2 (en) | 1999-01-21 | 2006-04-11 | Sony Computer Entertainment Inc. | High-speed distributed data processing system and method |
-
1996
- 1996-07-17 JP JP08187048A patent/JP3075183B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005190494A (ja) * | 1999-01-21 | 2005-07-14 | Sony Computer Entertainment Inc | 高速プロセッサシステム、これを使用する方法及び記録媒体 |
US7028141B2 (en) | 1999-01-21 | 2006-04-11 | Sony Computer Entertainment Inc. | High-speed distributed data processing system and method |
JP4656565B2 (ja) * | 1999-01-21 | 2011-03-23 | 株式会社ソニー・コンピュータエンタテインメント | 高速プロセッサシステム、これを使用する方法及び記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP3075183B2 (ja) | 2000-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6138209A (en) | Data processing system and multi-way set associative cache utilizing class predict data structure and method thereof | |
US6477621B1 (en) | Parallel access virtual channel memory system | |
JP2646854B2 (ja) | マイクロプロセッサ | |
US5353426A (en) | Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete | |
US4980816A (en) | Translation look-aside buffer control system with multiple prioritized buffers | |
US5752260A (en) | High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses | |
US8799585B2 (en) | Cache memory capable of adjusting burst length of write-back data in write-back operation | |
US6708254B2 (en) | Parallel access virtual channel memory system | |
US9280464B2 (en) | System and method for simultaneously storing and reading data from a memory system | |
JPH10133947A (ja) | 統合されたプロセッサ・メモリ装置 | |
JPH08101797A (ja) | 変換索引バッファ | |
JP2001195303A (ja) | 機能が並列に分散された変換索引バッファ | |
JP3449487B2 (ja) | 変換索引緩衝機構 | |
JPH11203192A (ja) | 並列プロセッサおよび演算処理方法 | |
EP0803818B1 (en) | Single-cycle multi-accessible interleaved cache | |
US6647464B2 (en) | System and method utilizing speculative cache access for improved performance | |
US6226707B1 (en) | System and method for arranging, accessing and distributing data to achieve zero cycle penalty for access crossing a cache line | |
JP3075183B2 (ja) | キャッシュメモリシステム | |
JPH1165925A (ja) | 情報処理装置 | |
US7328311B2 (en) | Memory controller controlling cashed DRAM | |
JP2004152291A (ja) | キャッシュラインにアクセスするための方法、システム、コンピュータ使用可能媒体、およびキャッシュラインセレクタ | |
JP2000195262A (ja) | Sdram及びsdramのデ―タ・アクセス方法 | |
JP2004240616A (ja) | メモリコントローラ及びメモリアクセス制御方法 | |
GB2215099A (en) | Distributed cache architecture | |
JP2024541672A (ja) | メモリユニットにデータオペランドを格納する方法、およびメモリユニット内のデータオペランドにアクセスする方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080609 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090609 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |