JP2000259497A - メモリコントローラ - Google Patents

メモリコントローラ

Info

Publication number
JP2000259497A
JP2000259497A JP11065734A JP6573499A JP2000259497A JP 2000259497 A JP2000259497 A JP 2000259497A JP 11065734 A JP11065734 A JP 11065734A JP 6573499 A JP6573499 A JP 6573499A JP 2000259497 A JP2000259497 A JP 2000259497A
Authority
JP
Japan
Prior art keywords
read
command
issued
sdram
request
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.)
Withdrawn
Application number
JP11065734A
Other languages
English (en)
Inventor
Yoshihisa Saito
美寿 齋藤
Yoshio Hirose
佳生 廣瀬
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP11065734A priority Critical patent/JP2000259497A/ja
Publication of JP2000259497A publication Critical patent/JP2000259497A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Dram (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】CPU(プロセッサ)及びキャッシュメモリと
メインメモリとの間に介在し、CPU又はキャッシュメ
モリからのメインメモリへのアクセスを仲介するメモリ
コントローラに関し、CPUの本来の性能を出させるこ
とができるようにし、情報処理システムの動作速度の向
上を図る。 【解決手段】複数のコマンドバッファ24−1〜24−
4を設け、CPUがキャッシュメモリの複数のキャッシ
ュラインに同時又は連続してミスヒットした場合におい
て、キャッシュメモリが複数キャッシュライン分のデー
タのリード要求を同時又は連続して発行した場合、メイ
ンメモリに対して、まず、キャッシュメモリが同時又は
連続して発行した複数のアドレスへのリードアクセスを
順に行い、その後、残りのデータをリードするためのリ
ードアクセスを行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、CPU(プロセッ
サ)及びキャッシュメモリとメインメモリとの間に介在
し、CPU又はキャッシュメモリからのメインメモリへ
のアクセスを仲介するメモリコントローラに関する。
【0002】近年、CPUの速度は飛躍的に向上してい
る。他方、メインメモリとして、CPUとともに情報処
理システムを構成する半導体メモリも、ある程度は高速
化しているが、CPUの速度向上に比べれば、その差は
拡がる一方である。
【0003】この結果、CPUがキャッシュメモリにリ
ードアクセスをしたが、ミスヒットし、メインメモリか
らのデータを必要とする場合、メインメモリからのデー
タを待つ間、CPUは動作を停止しなければならないと
いう事態が発生してしまう。そこで、このようなCPU
の停止時間を短くしなければ、情報処理システムの速度
向上を図ることはできない。
【0004】
【従来の技術】図23は従来の情報処理システムの一例
の要部を示すブロック回路図である。図23中、1はC
PU、2はデータバス、3はキャッシュメモリ、4はメ
インメモリであるSDRAM(シンクロナス・ダイナミ
ック・ランダム・アクセス・メモリ)、5はCPU1及
びキャッシュメモリ3とSDRAM4との間を仲介する
SDRAMコントローラである。
【0005】このように構成された情報処理システムで
は、CPU1がキャッシュメモリ3にミスヒットした場
合、SDRAM4のアクセス速度がCPU1の速度に比
べてきわめて遅いことから、通常、SDRAM4へのア
クセス要求は、CPU1から直接行われるのではなく、
キャッシュメモリ3からのアクセスという形でSDRA
Mコントローラ5を介して行われることになる。
【0006】ここに、SDRAMコントローラ5は、S
DRAM4にリードアクセスを行う場合には、ACTV
コマンド(バンク・アクティブ・コマンド)、READ
コマンド(リード・コマンド)及びPREコマンド(プ
リチャージ・シングル・バンク・コマンド)を順に発行
し、ライトアクセスを行う場合には、ACTVコマン
ド、WRITコマンド(ライト・コマンド)及びPRE
コマンドを順に発行することになる。
【0007】なお、SDRAMコントローラ5は、これ
らのコマンドを発行するにあたり、CPU1が使用して
いる物理メモリアドレスを受け取り、そのアドレスをS
DRAM4用のアドレスに変換し、その時、アドレスを
RASアドレスとCASアドレスに分離し、ACTVコ
マンドと同時にRASコマンドを発行し、READコマ
ンド又はWRITコマンドと同時にCASコマンドを発
行することになる。
【0008】ところで、通常、キャッシュメモリ3から
のSDRAMコントローラ5を介してのSDRAM4へ
のアクセスは、リードの場合には、1キャッシュライン
分のデータをSDRAM4からリードし、ライトの場合
は、1キャッシュライン分のデータをSDRAM4にラ
イトするという形で行われる。
【0009】ここに、例えば、キャッシュメモリ3のキ
ャッシュライン長が64byte、SDRAM4のバス幅が
8byte、CPU1の動作周波数:SDRAM4の動作周
波数=1:1とすると、SDRAM4から1キャッシュ
ライン分のデータをリードするのに、バーストリードで
も、64byte/8byte=8クロックを要することにな
る。
【0010】ところが、現状では、SDRAM4の動作
周波数は、CPU1の動作周波数の約1/2から1/4
と大きな隔たりがあるので、仮に、CPU1の動作周波
数:SDRAM4の動作周波数=4:1とすると、SD
RAM4から1キャッシュライン分のデータをリードす
るのに、バーストリードでも、8クロック×4=32ク
ロックも要することになる。
【0011】
【発明が解決しようとする課題】ところで、従来、SD
RAM4に対するアクセスは、キャッシュメモリ3から
の要求順に処理する方式をとっているが、近年のCPU
は、スーパースカラプロセッサやVLIW命令に代表さ
れるように、命令の並列実行により処理性能を向上させ
ている。
【0012】また、分岐命令における命令のシーケンシ
ャル側とターゲット側を同時に読み出すことにより、分
岐命令時の分岐側に命令シーケンスが入ったときのCP
Uのインターロックを避け、CPUの性能の向上を図っ
ている。
【0013】そこで、図23に示す従来の情報処理シス
テムにおいても、CPU1が命令の並列実行や、分岐命
令における命令のシーケンシャル側とターゲット側を同
時に読み出すタイプのものである場合には、CPU1が
キャッシュメモリ3の複数のキャッシュラインに同時又
は連続してミスヒットする場合がある。
【0014】ここに、たとえば、CPU1がキャッシュ
メモリ3の4個のキャッシュラインに同時又は連続して
ミスヒットすると、キャッシュメモリ3からSDRAM
4に対するリード要求に基づいて4キャッシュライン分
のデータの置き換えが行われることになるが、従来、こ
のためのリードは、図24に矢印X1〜X4で示す順
に、1キャッシュライン分のデータごとに行われてい
た。
【0015】このため、CPU1は、アドレスY1〜Y
4の部分のデータを先に必要とする場合であっても、こ
れらアドレスY1〜Y4のデータを先行取得することは
できず、アドレスY1〜Y4のデータを取得するまで、
長い期間、動作を停止させなければならないという不都
合が生じてしまう。
【0016】このように、図23に示す従来の情報処理
システムにおいては、CPU1の性能が上がっても、C
PU1がキャッシュメモリ3の複数のキャッシュライン
に同時又は連続してミスヒットすると、CPU1は、長
い期間、動作を停止させなければならず、CPU1の性
能を出すことができない場合があり、システム全体とし
ての動作速度の向上を図ることができないという問題点
があった。
【0017】本発明は、かかる点に鑑み、CPUの本来
の性能を出させることができるようにし、情報処理シス
テムの動作速度の向上を図ることができるようにしたメ
モリコントローラを提供することを目的とする。
【0018】
【課題を解決するための手段】本発明は、キャッシュメ
モリからのメインメモリへのアクセスを仲介する機能を
有するメモリコントローラであって、キャッシュメモリ
が複数キャッシュライン分のデータのリード要求を同時
又は連続して発行した場合、メインメモリに対して、ま
ず、キャッシュメモリが同時又は連続して発行した複数
のアドレスへのリードアクセスを順に行い、その後、残
りのデータをリードするためのリードアクセスを行うア
クセス手段を備えているというものである。
【0019】本発明のメモリコントローラにおいては、
キャッシュメモリが複数キャッシュライン分のデータの
リード要求を同時又は連続して発行した場合、メインメ
モリに対して、まず、キャッシュメモリが同時又は連続
して発行した複数のアドレスへのリードアクセスが順に
行われることになるので、CPUがキャッシュメモリの
複数のキャッシュラインに同時又は連続してミスヒット
した場合であっても、CPUは、複数キャッシュライン
分のデータの中の必要なデータを先行取得することがで
きる。したがって、CPUが必要なデータを取得するま
での動作停止時間を短くし、CPUの本来の性能を出さ
せることができる。
【0020】
【発明の実施の形態】以下、図1〜図22を参照して、
本発明の第1実施形態及び第2実施形態について説明す
る。
【0021】第1実施形態・・図1〜図11 図1は本発明の第1実施形態を備える情報処理システム
の一例の要部を示すブロック回路図である。図1中、1
0はCPU、11はデータバス、12はキャッシュライ
ンを64byteとするキャッシュメモリである。
【0022】また、13はバス幅を8byteとするメイン
メモリをなすSDRAM、14は本発明の第1実施形態
であり、CPU10及びキャッシュメモリ12とSDR
AM13との間に介在し、CPU10又はキャッシュメ
モリ12からSDRAM13へのアクセスを仲介するS
DRAMコントローラである。
【0023】図2はSDRAM13のバースト長を
「2」に設定した場合におけるSDRAM13のバース
ト動作を説明するための図であり、SDRAMコントロ
ーラ14から発行されたCASアドレスと、SDRAM
13の内部で連続して自動発行されるCASアドレスと
の関係を示している。
【0024】すなわち、SDRAM13は、SDRAM
コントローラ14からCASアドレスとして[Z1・・
・Zm000]を受け取ると、選択されたバンクのCA
Sアドレス[Z1・・・Zm000]にアクセスし、続い
て、内部でCASアドレス[Z1・・・Zm001]を自
動発行し、同一バンクのCASアドレス[Z1・・・Zm
001]にアクセスすることになる。
【0025】また、SDRAM13は、SDRAMコン
トローラ14からCASアドレスとして[Z1・・・Zm
001]を受け取ると、選択されたバンクのCASアド
レス[Z1・・・Zm001]にアクセスし、続いて、内
部でCASアドレス[Z1・・・Zm000]を自動発行
し、同一バンクのCASアドレス[Z1・・・Zm00
0]にアクセスすることになる。
【0026】また、SDRAM13は、SDRAMコン
トローラ14からCASアドレスとして[Z1・・・Zm
010]を受け取ると、選択されたバンクのCASアド
レス[Z1・・・Zm010]にアクセスし、続いて、内
部でCASアドレス[Z1・・・Zm011]を自動発行
し、同一バンクのCASアドレス[Z1・・・Zm01
1]にアクセスすることになる。
【0027】また、SDRAM13は、SDRAMコン
トローラ14からCASアドレスとして[Z1・・・Zm
011]を受け取ると、選択されたバンクのCASアド
レス[Z1・・・Zm011]にアクセスし、続いて、内
部でCASアドレス[Z1・・・Zm010]を自動発行
し、同一バンクのCASアドレス[Z1・・・Zm01
0]にアクセスすることになる。
【0028】また、SDRAM13は、SDRAMコン
トローラ14からCASアドレスとして[Z1・・・Zm
100]を受け取ると、選択されたバンクのCASアド
レス[Z1・・・Zm100]にアクセスし、続いて、内
部でCASアドレス[Z1・・・Zm101]を自動発行
し、同一バンクのCASアドレス[Z1・・・Zm10
1]にアクセスすることになる。
【0029】また、SDRAM13は、SDRAMコン
トローラ14からCASアドレスとして[Z1・・・Zm
101]を受け取ると、選択されたバンクのCASアド
レス[Z1・・・Zm101]にアクセスし、続いて、内
部でCASアドレス[Z1・・・Zm100]を自動発行
し、同一バンクのCASアドレス[Z1・・・Zm10
0]にアクセスすることになる。
【0030】また、SDRAM13は、SDRAMコン
トローラ14からCASアドレスとして[Z1・・・Zm
110]を受け取ると、選択されたバンクのCASアド
レス[Z1・・・Zm110]にアクセスし、続いて、内
部でCASアドレス[Z1・・・Zm111]を自動発行
し、同一バンクのCASアドレス[Z1・・・Zm11
1]にアクセスすることになる。
【0031】また、SDRAM13は、SDRAMコン
トローラ14からCASアドレスとして[Z1・・・Zm
111]を受け取ると、選択されたバンクのCASアド
レス[Z1・・・Zm111]にアクセスし、続いて、内
部でCASアドレス[Z1・・・Zm110]を自動発行
し、同一バンクのCASアドレス[Z1・・・Zm11
0]にアクセスすることになる。
【0032】図3は本発明の第1実施形態であるSDR
AMコントローラ14の要部を示すブロック回路図であ
る。図3中、16はリードデータバッファであり、SD
RAM13から出力されるリードデータを取り込み、キ
ャッシュメモリ12に伝送するものである。
【0033】また、17はライトデータバッファであ
り、キャッシュメモリ12から与えられるSDRAM1
3へのライトデータを受け取り、このライトデータを後
述するコマンドバッファ経由でSDRAM13に対して
発行されるWRITコマンドとともにSDRAM13に
発行するものである。
【0034】また、18はSDRAMコントローラ・イ
ンタフェースであり、キャッシュメモリ12が発行する
リード/ライト指示信号、データサイズ信号及びアドレ
ス信号を受け取り、SDRAM13へのアクセス要求で
あるか否かの判断や、CPU10が使用するアドレスの
SDRAM13用のアドレスへの変換を行うと共に、各
バッファの監視や、新規のリード/ライト要求を受け取
れない場合におけるビジー信号の発生などを行うもので
ある。
【0035】また、19はコマンドバッファユニットで
あり、キャッシュメモリ12からのSDRAM13に対
するリード/ライト要求をバッファリングし、プリチャ
ージ要求、RASアクティブ要求、リード要求又はライ
ト要求の生成、保持、発行を行うものである。
【0036】また、20はSDRAMコマンド生成発行
部であり、コマンドバッファユニット19が発行する要
求に応じて、SDRAM13に対するコマンドの生成、
発行を行うものである。
【0037】なお、本発明の第1実施形態であるSDR
AMコントローラ14では、SDRAMコントローラ・
インタフェース18、コマンドバッファユニット19及
びSDRAMコマンド生成発行部20を含めてアクセス
手段が構成されている。
【0038】また、本発明の第1実施形態であるSDR
AMコントローラ14は、セルフリフレッシュ・コント
ロール部や、オートリフレッシュ・コントロール部など
も有しているが、これらは、図示を省略している。
【0039】図4は本発明の第1実施形態であるSDR
AMコントローラ14が備えるコマンドバッファユニッ
ト19の構成を示すブロック回路図であり、図4中、2
2はSDRAM13のバンクの状態を保持するSDRA
Mバンク状態保持部、23は既発行のコマンドを、デー
タバスでのデータの衝突等の有無の判定に必要な所定の
期間、例えば、数クロックの期間、記憶する既発行コマ
ンド記憶部である。
【0040】また、24はコマンドバッファ部であり、
キャッシュメモリ12からのSDRAM13に対するリ
ード/ライト要求をバッファリングし、プリチャージ要
求、RASアクティブ要求、リード要求又はライト要求
の生成、保持、発行を行うものである。
【0041】コマンドバッファ部24は、4個のコマン
ドバッファ24−1〜24−4を備えており、これらコ
マンドバッファ24−1〜24−4が、どの要求を発行
するかは、SDRAMバンク状態保持部22が保持する
SDRAM13のバンクの状態から決定される。たとえ
ば、アクセス対象バンクがアイドル(idle)状態であれ
ば、発行する要求はRASアクティブ要求となる。
【0042】これに対して、アクセス対象バンクがAC
TV(バンク・アクティブ)状態であり、リード又はラ
イトを実行しようとしているRASアドレスと、既に選
択されているRASアドレスとが一致している場合に
は、発行する要求はリード要求又はライト要求となる。
【0043】また、アクセス対象バンクはACTV状態
にあるが、リード又はライトを実行しようとしているR
ASアドレスと、既に選択されているRASアドレスと
が異なる場合には、発行する要求はプリチャージ要求と
なる。
【0044】なお、コマンドバッファ24−1〜24−
4は、プリチャージ要求を発行すると、RASアクティ
ブ要求を発行する状態となり、RASアクティブ要求を
発行すると、リード要求又はライト要求を発行する状態
となり、リード要求又はライト要求を発行すると、キャ
ッシュメモリ12からのリード要求又はライト要求に対
する要求の発行は終了する。
【0045】また、25はコマンド発行調停部であり、
SDRAMバンク状態保持部22が保持するバンクの状
態から、そのサイクルでアクセス対象バンクがコマンド
受け入れ可能か否かの判定や、既発行コマンド記憶部2
3が記憶する既発行コマンドに基づくデータバスでのデ
ータの衝突等の有無の判定を行い、SDRAM13に対
してコマンドが発行可能か否かを判定する機能を有する
ものである。
【0046】ここに、SDRAMコントローラ14は1
キャッシュライン分のデータを16byteを1単位として
リードするものであり、コマンドバッファ24−1〜2
4−4は、キャッシュメモリ12から1キャッシュライ
ン分のデータのリード要求を受けた場合には、4個のリ
ード要求read_req0、read_req1、read_req2、read_req3
を順に出力するように構成されている。
【0047】そこで、コマンド発行調停部25は、コマ
ンドバッファ24−1〜24−4が発行するリード要求
read_req0〜read_req3について、図5に示すような優先
順位を与えており、この優先順位に応じて、SDRAM
13へのコマンドの生成、発行を行うように構成されて
いる。なお、図5中、大小記号>は、左側が優先順位が
高いことを示している。
【0048】すなわち、リード要求read_req0〜read_re
q3については、図5(A)に示すように、コマンドバ
ッファ(CBF)24−1〜24−4が発行するリード
要求read_req0、コマンドバッファ24−1〜24−
4が発行するリード要求read_req1〜read_req3の順に優
先順位が与えられている。
【0049】また、リード要求read_req0については、
図5(B)に示すように、コマンドバッファ24−1
が発行するリード要求read_req0、コマンドバッファ
24−2が発行するリード要求read_req0、コマンド
バッファ24−3が発行するリード要求read_req0、
コマンドバッファ24−4が発行するリード要求read_r
eq0の順に優先順位が与えられている。
【0050】また、リード要求read_req1〜read_req3に
ついては、図5(C)に示すように、コマンドバッフ
ァ24−1が発行するリード要求read_req1〜read_req
3、コマンドバッファ24−2が発行するリード要求r
ead_req1〜read_req3、コマンドバッファ24−3が
発行するリード要求read_req1〜read_req3、コマンド
バッファ24−4が発行するリード要求read_req1〜rea
d_req3の順に優先順位が与えられている。
【0051】したがって、例えば、キャッシュメモリ1
2から4個のリード要求を同時又は連続して受け取る
と、コマンドバッファ部24からは、図6に示す順序N
O.1〜NO.16で、リード要求read_req0〜read_req3
が発行されることになる。
【0052】図7〜図11は本発明の第1実施形態であ
るSDRAMコントローラ14の動作例を説明するため
の図であり、キャッシュメモリ12から4個のリード要
求が同時又は連続して発行され、かつ、アクセス対象バ
ンクが全て異なっている場合を例にしている。
【0053】図7はCPU10がアドレス[A1・・・
An001]、[B1・・・Bn100]、[C1・・・C
n111]、[D1・・・Dn010]を同時又は連続し
て発行してキャッシュメモリ12にリードアクセスを行
った場合において、これら全てのリードアクセスがミス
ヒットした場合を示している。
【0054】なお、図7中、27はアドレスを[A1・
・・An000]〜[A1・・・An111]とする1キ
ャッシュライン分(64byte)のデータ、28はアドレ
スを[B1・・・Bn000]〜[B1・・・Bn111]
とする1キャッシュライン分のデータ、29はアドレス
を[C1・・・Cn000]〜[C1・・・Cn111]と
する1キャッシュライン分のデータ、30はアドレスを
[D1・・・Dn000]〜[D1・・・Dn111]とす
る1キャッシュライン分のデータを示している。また、
[000]〜[111]はCASアドレスの下位3ビッ
トの部分を示している。
【0055】この場合、キャッシュメモリ12から、リ
ード要求であることを示すリード/ライト指示信号、ミ
スヒットしたアドレスは[A1・・・An001]である
ことを示すアドレス信号及びデータサイズは64byteで
あることを示すデータサイズ信号が発行され、図8
(A)に示すように、これらの情報が、例えば、コマン
ドバッファ24−1に保持される。
【0056】また、リード要求であることを示すリード
/ライト指示信号、ミスヒットしたアドレスは[B1・
・・Bn100]であることを示すアドレス信号及びデ
ータサイズは64byteであることを示すデータサイズ信
号が発行され、図8(B)に示すように、これらの情報
が、例えば、コマンドバッファ24−2に保持される。
【0057】また、リード要求であることを示すリード
/ライト指示信号、ミスヒットしたアドレスは[C1・
・・Cn111]であることを示すアドレス信号及びデ
ータサイズは64byteであることを示すデータサイズ信
号が発行され、図8(C)に示すように、これらの情報
が、例えば、コマンドバッファ24−3に保持される。
【0058】また、リード要求であることを示すリード
/ライト指示信号、ミスヒットしたアドレスは[D1・
・・Dn010]であることを示すアドレス信号及びデ
ータサイズは64byteであることを示すデータサイズ信
号が発行され、図8(D)に示すように、これらの情報
が、例えば、コマンドバッファ24−4に保持される。
【0059】ここに、コマンド発行調停部25は、コマ
ンドバッファ24−1〜24−4から発行されるリード
要求read_req0〜read_req3について、図5に示すような
優先順位を与えているので、コマンドバッファ部24
は、図6に示す順序NO.1〜NO.16で、リード要求
read_req0〜read_req3をSDRAMコマンド生成発行部
20に発行することになる。
【0060】この結果、本発明の第1実施形態であるS
DRAMコントローラ14は、図9に示すように、ま
ず、アドレス[A1・・・An001]→[B1・・・Bn
100]→[C1・・・Cn111]→[D1・・・Dn0
10]の順にSDRAM13にアクセスを行い、続い
て、[A1・・・An010]→[A1・・・An100]
→[A1・・・An110]→[B1・・・Bn110]→
[B1・・・Bn000]→[B1・・・Bn010]→
[C1・・・Cn000]→[C1・・・Cn010]→
[C1・・・Cn100]→[D1・・・Dn100]→
[D1・・・Dn110]→[D1・・・Dn000]の順
にSDRAM13にアクセスを行うことになる。
【0061】ここに、SDRAM13はバースト長を
「2」に設定されているので、図10及び図11に示す
順序N0.1〜NO.16で各アドレスのデータがリード
され、これらがキャッシュメモリ12に伝送されること
になる。
【0062】すなわち、まず、アドレス[A1・・・An
001]→[A1・・・An000]→[B1・・・Bn1
00]→[B1・・・Bn101]→[C1・・・Cn11
1]→[C1・・・Cn110]→[D1・・・Dn01
0]→[D1・・・Dn011]のデータが順にリードさ
れる。
【0063】続いて、[A1・・・An010]→[A1
・・・An011]→[A1・・・An100]→[A1・
・・An101]→[A1・・・An110]→[A1・・
・An111]→[B1・・・Bn110]→[B1・・・
Bn111]→[B1・・・Bn000]→[B1・・・B
n001]→[B1・・・Bn010]→[B1・・・Bn
011]→[C1・・・Cn000]→[C1・・・Cn0
01]→[C1・・・Cn010]→[C1・・・Cn01
1]→[C1・・・Cn100]→[C1・・・Cn10
1]→[D1・・・Dn100]→[D1・・・Dn10
1]→[D1・・・Dn110]→[D1・・・Dn11
1]→[D1・・・Dn000]→[D1・・・Dn00
1]のデータが順にリードされる。
【0064】このように、本発明の第1実施形態である
SDRAMコントローラ14によれば、CPU10がキ
ャッシュメモリ12の4個のキャッシュラインに同時又
は連続してミスヒットした場合において、キャッシュメ
モリ12が4キャッシュライン分のデータのリード要求
を同時又は連続して発行した場合、SDRAM13に対
して、まず、キャッシュメモリ12が同時又は連続して
発行した4個のアドレスへのリードアクセスが順に行わ
れることになるので、CPU10が先行取得したいデー
タを2×3+1=7サイクルでリードすることができ
る。ちなみに、従来の場合には、8×3+1=25サイ
クルを必要とするので、7/25のサイクル数で済むこ
とになる。
【0065】なお、キャッシュメモリ12が3キャッシ
ュライン分のデータのリード要求を同時又は連続して発
行した場合、SDRAM13に対して、まず、キャッシ
ュメモリ12が同時又は連続して発行した3個のアドレ
スへのリードアクセスが順に行われることになるので、
CPU10が先行取得したいデータを2×2+1=5サ
イクルでリードすることができる。
【0066】また、キャッシュメモリ12が2キャッシ
ュライン分のデータのリード要求を同時又は連続して発
行した場合、SDRAM13に対して、まず、キャッシ
ュメモリ12が同時又は連続して発行した2個のアドレ
スへのリードアクセスが順に行われることになるので、
CPU10が先行取得したいデータを2×1+1=3サ
イクルでリードすることができる。
【0067】以上のように、本発明の第1実施形態であ
るSDRAMコントローラ14によれば、CPU10が
キャッシュメモリ12の4個以内の複数のキャッシュラ
インに同時又は連続してミスヒットした場合において、
キャッシュメモリ12が4個以内の複数キャッシュライ
ン分のデータのリード要求を同時又は連続して発行した
場合、SDRAM13に対して、まず、キャッシュメモ
リ12が同時又は連続して発行した4個以内の複数のア
ドレスへのリードアクセスが順に行われ、CPU10が
先行取得したいデータを先行取得することができるよう
にしたことにより、CPU10が必要なデータを取得す
るための動作停止時間を短くし、CPU10の本来の性
能を出させることができるので、情報処理システムの動
作速度の向上を図ることができる。
【0068】第2実施形態・・図12〜図22 図12は本発明の第2実施形態を備える情報処理システ
ムの一例の要部を示すブロック回路図である。図12
中、40はCPU、41はデータバス、42はキャッシ
ュラインを64byteとするキャッシュメモリである。
【0069】また、43はバス幅を8byteとするメイン
メモリをなす16バンク構成のSDRAM、44は本発
明の第2実施形態であり、CPU40及びキャッシュメ
モリ42とSDRAM43との間に介在し、CPU40
又はキャッシュメモリ42からのSDRAM43へのア
クセスを仲介するSDRAMコントローラである。
【0070】図13はSDRAM43のバースト長を
「4」に設定した場合におけるSDRAM43のバース
ト動作を説明するための図であり、SDRAMコントロ
ーラ44から発行されたCASアドレスと、SDRAM
43の内部で連続して自動発行されるCASアドレスと
の関係を示している。
【0071】すなわち、SDRAM43は、SDRAM
コントローラ44からCASアドレスとして[Z1・・
・Zm000]を受け取ると、選択されたバンクのCA
Sアドレス[Z1・・・Zm000]にアクセスし、続い
て、内部でCASアドレス[Z1・・・Zm001]、
[Z1・・・Zm010]、[Z1・・・Zm011]を順
に自動発行し、同一バンクのCASアドレス[Z1・・
・Zm001][Z1・・・Zm010]、[Z1・・・Z
m011]に順にアクセスすることになる。
【0072】また、SDRAM43は、SDRAMコン
トローラ44からCASアドレスとして[Z1・・・Zm
001]を受け取ると、選択されたバンクのCASアド
レス[Z1・・・Zm001]にアクセスし、続いて、内
部でCASアドレス[Z1・・・Zm010]、[Z1・
・・Zm011]、[Z1・・・Zm000]を順に自動
発行し、同一バンクのCASアドレス[Z1・・・Zm0
10][Z1・・・Zm011]、[Z1・・・Zm00
0]に順にアクセスすることになる。
【0073】また、SDRAM43は、SDRAMコン
トローラ44からCASアドレスとして[Z1・・・Zm
010]を受け取ると、選択されたバンクのCASアド
レス[Z1・・・Zm010]にアクセスし、続いて、内
部でCASアドレス[Z1・・・Zm011]、[Z1・
・・Zm000]、[Z1・・・Zm001]を順に自動
発行し、同一バンクのCASアドレス[Z1・・・Zm0
11][Z1・・・Zm000]、[Z1・・・Zm00
1]に順にアクセスすることになる。
【0074】また、SDRAM43は、SDRAMコン
トローラ44からCASアドレスとして[Z1・・・Zm
011]を受け取ると、選択されたバンクのCASアド
レス[Z1・・・Zm011]にアクセスし、続いて、内
部でCASアドレス[Z1・・・Zm000]、[Z1・
・・Zm001]、[Z1・・・Zm010]を順に自動
発行し、同一バンクのCASアドレス[Z1・・・Zm0
00][Z1・・・Zm001]、[Z1・・・Zm01
0]に順にアクセスすることになる。
【0075】また、SDRAM43は、SDRAMコン
トローラ44からCASアドレスとして[Z1・・・Zm
100]を受け取ると、選択されたバンクのCASアド
レス[Z1・・・Zm100]にアクセスし、続いて、内
部でCASアドレス[Z1・・・Zm101]、[Z1・
・・Zm110]、[Z1・・・Zm111]を順に自動
発行し、同一バンクのCASアドレス[Z1・・・Zm1
01][Z1・・・Zm110]、[Z1・・・Zm11
1]に順にアクセスすることになる。
【0076】また、SDRAM43は、SDRAMコン
トローラ44からCASアドレスとして[Z1・・・Zm
101]を受け取ると、選択されたバンクのCASアド
レス[Z1・・・Zm101]にアクセスし、続いて、内
部でCASアドレス[Z1・・・Zm110]、[Z1・
・・Zm111]、[Z1・・・Zm100]を順に自動
発行し、同一バンクのCASアドレス[Z1・・・Zm1
10][Z1・・・Zm111]、[Z1・・・Zm10
0]に順にアクセスすることになる。
【0077】また、SDRAM43は、SDRAMコン
トローラ44からCASアドレスとして[Z1・・・Zm
110]を受け取ると、選択されたバンクのCASアド
レス[Z1・・・Zm110]にアクセスし、続いて、内
部でCASアドレス[Z1・・・Zm111]、[Z1・
・・Zm100]、[Z1・・・Zm101]を順に自動
発行し、同一バンクのCASアドレス[Z1・・・Zm1
11][Z1・・・Zm100]、[Z1・・・Zm10
1]に順にアクセスすることになる。
【0078】また、SDRAM43は、SDRAMコン
トローラ44からCASアドレスとして[Z1・・・Zm
111]を受け取ると、選択されたバンクのCASアド
レス[Z1・・・Zm111]にアクセスし、続いて、内
部でCASアドレス[Z1・・・Zm100]、[Z1・
・・Zm101]、[Z1・・・Zm110]を順に自動
発行し、同一バンクのCASアドレス[Z1・・・Zm1
00][Z1・・・Zm101]、[Z1・・・Zm11
0]に順にアクセスすることになる。
【0079】図14は本発明の第2実施形態であるSD
RAMコントローラ44の要部を示すブロック回路図で
ある。図14中、46はリードデータバッファであり、
SDRAM43から出力されるリードデータを取り込
み、キャッシュメモリ42に伝送するものである。
【0080】また、47はライトデータバッファであ
り、キャッシュメモリ42から与えられるSDRAM4
3へのライトデータを受け取り、このライトデータを後
述するコマンドバッファ経由でSDRAM43に対して
発行されるWRITコマンドとともにSDRAM43に
発行するものである。
【0081】また、48はSDRAMコントローラ・イ
ンタフェースであり、キャッシュメモリ42が発行する
リード/ライト指示信号、データサイズ信号及びアドレ
ス信号を受け取り、SDRAM43へのアクセス要求で
あるか否かの判断や、CPU40が使用するアドレスの
SDRAM43用のアドレスへの変換を行うと共に、各
バッファの監視や、新規のリード/ライト要求を受け取
れない場合におけるビジー信号の発生などを行うもので
ある。
【0082】また、49はコマンドバッファユニットで
あり、キャッシュメモリ42からのSDRAM43に対
するリード/ライト要求をバッファリングし、プリチャ
ージ要求、RASアクティブ要求、リード要求又はライ
ト要求の生成、保持、発行を行うものである。
【0083】また、50はSDRAMコマンド生成発行
部であり、コマンドバッファユニット49が発行する要
求に応じて、SDRAM43に対するコマンドの生成、
発行を行うものである。
【0084】なお、本発明の第2実施形態であるSDR
AMコントローラ44では、SDRAMコントローラ・
インタフェース48、コマンドバッファユニット49及
びSDRAMコマンド生成発行部50を含めてアクセス
手段が構成されている。
【0085】また、本発明の第2実施形態であるSDR
AMコントローラ44は、セルフリフレッシュ・コント
ロール部や、オートリフレッシュ・コントロール部など
も有しているが、これらは、図示を省略している。
【0086】図15は本発明の第2実施形態であるSD
RAMコントローラ44が備えるコマンドバッファユニ
ット49の構成を示すブロック回路図であり、図15
中、52はSDRAM43のバンクの状態を保持するS
DRAMバンク状態保持部、53は既発行のコマンド
を、データバスでのデータの衝突等の有無の判定に必要
な所定の期間、例えば、数クロックの期間、記憶する既
発行コマンド記憶部である。
【0087】また、54はコマンドバッファ部であり、
キャッシュメモリ42からのSDRAM43に対するリ
ード/ライト要求をバッファリングし、プリチャージ要
求、RASアクティブ要求、リード要求又はライト要求
の生成、保持、発行を行うものである。
【0088】コマンドバッファ部54は、8個のコマン
ドバッファ54−1〜54−8を備えており、コマンド
バッファ54−1〜54−8が、どの要求を発行するか
は、SDRAMバンク状態保持部52が保持するSDR
AM43のバンクの状態から決定される。たとえば、ア
クセス対象バンクがアイドル(idle)状態であれば、発
行する要求はRASアクティブ要求になる。
【0089】これに対して、アクセス対象バンクがAC
TV(バンク・アクティブ)状態であり、リード又はラ
イトを実行しようとしているRASアドレスと、既に選
択されているRASアドレスとが一致している場合に
は、発行する要求はリード要求又はライト要求となる。
【0090】また、アクセス対象バンクはACTV状態
にあるが、リード又はライトを実行しようとしているR
ASアドレスと、既に選択されているRASアドレスが
異なる場合には、発行する要求はプリチャージ要求とな
る。
【0091】なお、コマンドバッファ54−1〜54−
8は、プリチャージ要求を発行すると、RASアクティ
ブ要求を発行する状態となり、RASアクティブ要求を
発行すると、リード要求又はライト要求を発行する状態
となり、リード要求又はライト要求を発行すると、キャ
ッシュメモリ42からのリード要求又はライト要求に対
する要求の発行は終了する。
【0092】また、55はコマンド発行調停部であり、
SDRAMバンク状態保持部52が保持するバンクの状
態から、そのサイクルでアクセス対象バンクがコマンド
受け入れ可能か否かの判定、既発行コマンド記憶部53
が記憶する既発行コマンドに基づくデータバスでのデー
タの衝突等の有無の判定を行い、SDRAM43に対し
てコマンドが発行可能か否かを判定する機能を有するも
のである。
【0093】ここに、SDRAMコントローラ44は、
1キャッシュライン(64byte)のデータのうち、32
byteを1単位としてリードを行うものであり、コマンド
バッファ54−1〜54−8は、キャッシュメモリ42
からリード要求を受けた場合には、2個のリード要求re
ad_req0、read_req1を出力することになる。
【0094】また、SDRAMコントローラ44は、1
キャッシュライン分のデータを64byteを1単位として
ライトを行うものであるが、SDRAM43はバースト
長を「4」に設定されているので、コマンドバッファ5
4−1〜54−8は、キャッシュメモリ42からライト
要求を受けた場合には、2個のライト要求writ_req0、w
rit_req1を連続して出力することになる。
【0095】そこで、コマンド発行調停部55は、コマ
ンドバッファ54−1〜54−8が発行するリード要求
read_req0、read_req1及びライト要求writ_req0、writ_
req1について、ライト要求に先行するリード要求の実行
に必要なアクセス先のアドレスとライト要求の実行に必
要なアクセス先のアドレスが干渉しない場合には、図1
6に示すような優先順位を与え、この優先順位に応じ
て、SDRAM43へのコマンドの生成、発行を行うよ
うに構成されている。なお、図16中、大小記号>は、
左側が優先順位が高いことを示している。
【0096】すなわち、リード要求read_req0、read_re
q1及びライト要求writ_req0、writ_req1については、図
16(A)に示すように、コマンドバッファ54−1
〜54−8が発行するリード要求read_req0及びライト
要求writ_req0、writ_req1、コマンドバッファ54−
1〜54−8が発行するリード要求read_req1の順に優
先順位が与えられている。
【0097】また、リード要求read_req0及びライト要
求writ_req0、writ_req1については、図16(B)に示
すように、コマンドバッファ54−1が発行するリー
ド要求read_req0及びライト要求writ_req0、writ_req
1、コマンドバッファ54−2が発行するリード要求r
ead_req0及びライト要求writ_req0、writ_req1、コマ
ンドバッファ54−3が発行するリード要求read_req0
及びライト要求writ_req0、writ_req1、コマンドバッ
ファ54−4が発行するリード要求read_req0及びライ
ト要求writ_req0、writ_req1、コマンドバッファ54
−5が発行するリード要求read_req0及びライト要求wri
t_req0、writ_req1、コマンドバッファ54−6が発
行するリード要求read_req0及びライト要求writ_req0、
writ_req1、コマンドバッファ54−7が発行するリ
ード要求read_req0及びライト要求writ_req0、writ_req
1、コマンドバッファ54−8が発行するリード要求r
ead_req0及びライト要求writ_req0、writ_req1の順に優
先順位が与えられている。
【0098】また、リード要求read_req1については、
図16(C)に示すように、コマンドバッファ54−
1が発行するリード要求read_req1、コマンドバッフ
ァ54−2が発行するリード要求read_req1、コマン
ドバッファ54−3が発行するリード要求read_req1、
コマンドバッファ54−4が発行するリード要求read
_req1、コマンドバッファ54−5が発行するリード
要求read_req1、コマンドバッファ54−6が発行す
るリード要求read_req1、コマンドバッファ54−7
が発行するリード要求read_req1、コマンドバッファ
54−8が発行するリード要求read_req1の順に優先順
位が与えられている。
【0099】したがって、たとえば、キャッシュメモリ
42から7個のリード要求と1個のライト要求が、リ
ード要求、リード要求、リード要求、リード要
求、ライト要求、リード要求、リード要求、リ
ード要求の順にあった場合において、ライト要求と先行
のリード要求のアドレスが干渉しない場合には、コマン
ドバッファ部54からは、図17に示す順序NO.1〜
NO.16でリード要求read_req0、read_req1及びライ
ト要求writ_req0、writ_req1が発行されることになる。
【0100】図18〜図22は本発明の第2実施形態で
あるSDRAMコントローラ44の動作例を説明するた
めの図であり、図18はCPU40がアドレス[A1・
・・An001]、[B1・・・Bn011]、[C1・・
・Cn101]、[D1・・・Dn010]、[E1・・・
En000]、[F1・・・Fn100]、[G1・・・G
n111]、[H1・・・Hn010]を同時又は連続し
て発行してキャッシュメモリ42にアクセスを行った場
合において、これら全てについてミスヒットした場合を
示している。
【0101】但し、アドレス[A1・・・An001]、
[B1・・・Bn011]、[C1・・・Cn101]、
[D1・・・Dn010]、[F1・・・Fn100]、
[G1・・・Gn111]及び[H1・・・Hn010]は
リードアクセスのために発行したアドレス、アドレス
[E1・・・En000]はライトアクセスのために発行
したアドレスである。
【0102】なお、図18中、57はアドレスを[A1
・・・An000]〜[A1・・・An111]とする1
キャッシュライン分(64byte) のデータ、58はアド
レスを[B1・・・Bn000]〜[B1・・・Bn11
1]とする1キャッシュライン分のデータ、59はアド
レスを[C1・・・Cn000]〜[C1・・・Cn11
1]とする1キャッシュライン分のデータ、60はアド
レスを[D1・・・Dn000]〜[D1・・・Dn11
1]とする1キャッシュライン分のデータ、61はアド
レスを[E1・・・En000]〜[E1・・・En11
1]とする1キャッシュライン分のデータ、62はアド
レスを[F1・・・Fn000]〜[F1・・・Fn11
1]とする1キャッシュライン分のデータ、63はアド
レスを[G1・・・Gn000]〜[G1・・・Gn11
1]とする1キャッシュライン分のデータ、64はアド
レスを[H1・・・Hn000]〜[H1・・・Hn11
1]とする1キャッシュライン分のデータを示してい
る。また、[000]〜[111]はCASアドレスの
下位3ビットの部分である。
【0103】この場合、キャッシュメモリ42から本発
明の第2実施形態であるSDRAMコントローラ44に
対して、リード要求であることを示すリード/ライト指
示信号、ミスヒットしたアドレスは[A1・・・An00
1]であることを示すアドレス信号及びデータサイズは
64byteであることを示すデータサイズ信号が発行さ
れ、図19(A)に示すように、これらの情報が、たと
えば、コマンドバッファ54−1に保持される。
【0104】また、リード要求であることを示すリード
/ライト指示信号、ミスヒットしたアドレスは[B1・
・・Bn011]であることを示すアドレス信号及びデ
ータサイズは64byteであることを示すデータサイズ信
号が発行され、図19(B)に示すように、これらの情
報が、たとえば、コマンドバッファ54−2に保持され
る。
【0105】また、リード要求であることを示すリード
/ライト指示信号、ミスヒットしたアドレスは[C1・
・・Cn101]であることを示すアドレス信号及びデ
ータサイズは64byteであることを示すデータサイズ信
号が発行され、図19(C)に示すように、これらの情
報が、たとえば、コマンドバッファ54−3に保持され
る。
【0106】また、リード要求であることを示すリード
/ライト指示信号、ミスヒットしたアドレスは[D1・
・・Dn010]であることを示すアドレス信号及びデ
ータサイズは64byteであることを示すデータサイズ信
号が発行され、図19(D)に示すように、これらの情
報が、たとえば、コマンドバッファ54−4に保持され
る。
【0107】また、ライト要求であることを示すリード
/ライト指示信号、ミスヒットしたアドレスは[E1・
・・En000]であることを示すアドレス信号及びデ
ータサイズは64byteであることを示すデータサイズ信
号が発行され、図19(E)に示すように、これらの情
報が、たとえば、コマンドバッファ54−5に保持され
る。
【0108】また、リード要求であることを示すリード
/ライト指示信号、ミスヒットしたアドレスは[F1・
・・Fn100]であることを示すアドレス信号及びデ
ータサイズは64byteであることを示すデータサイズ信
号が発行され、図19(F)に示すように、これらの情
報が、たとえば、コマンドバッファ54−6に保持され
る。
【0109】また、リード要求であることを示すリード
/ライト指示信号、ミスヒットしたアドレスは[G1・
・・Gn111]であることを示すアドレス信号及びデ
ータサイズは64byteであることを示すデータサイズ信
号が発行され、図19(G)に示すように、これらの情
報が、たとえば、コマンドバッファ54−7に保持され
る。
【0110】また、リード要求であることを示すリード
/ライト指示信号、ミスヒットしたアドレスは[H1・
・・Hn010]であることを示すアドレス信号及びデ
ータサイズは64byteであることを示すデータサイズ信
号が発行され、図19(H)に示すように、これらの情
報が、たとえば、コマンドバッファ54−8に保持され
る。
【0111】ここに、コマンド発行調停部55は、コマ
ンドバッファ54−1〜54−8から発行されるリード
要求read_req0、read_req1及びライト要求writ_req0、w
rit_req1について、図16に示すような優先順位を与え
ているので、コマンドバッファ部54は、図17に示す
順序NO.1〜NO.16で、リード要求read_req0、rea
d_req1及びライト要求writ_req0、writ_req1をSDRA
Mコマンド生成発行部50に発行することになる。
【0112】この結果、本発明の第2実施形態であるS
DRAMコントローラ44は、図20に示すように、ま
ず、アドレス[A1・・・An001]→[B1・・Bn0
11]→[C1・・・Cn101]→[D1・・・Dn01
0]→[E1・・・En000]→[E1・・・En10
0]→[F1・・・Fn100]→[G1・・・Gn11
1]→[H1・・・Hn010]の順にSDRAM43に
アクセスを行い、続いて、アドレス[A1・・・An10
0]→[B1・・・Bn100]→[C1・・・Cn00
0]→[D1・・・Dn000]→[F1・・・Fn00
0]→[G1・・・Gn000]→[H1・・・Hn10
0]の順にSDRAM43にアクセスを行うことにな
る。
【0113】ここに、SDRAM43はバースト長を
「4」に設定されているので、図21及び図22に示す
順序NO.1〜NO.16で各アドレスのデータがリード
され、これらがキャッシュメモリ42に伝送されること
になる。
【0114】すなわち、まず、アドレス[A1・・・An
001]→[A1・・・An010]→[A1・・・An0
11]→[A1・・・An000]→[B1・・・Bn01
1]→[B1・・・Bn000]→[B1・・・Bn00
1]→[B1・・・Bn010]→[C1・・・Cn10
1]→[C1・・・Cn110]→[C1・・・Cn11
1]→[C1・・・Cn100]→[D1・・・Dn01
0]→[D1・・・Dn011]→[D1・・・Dn00
0]→[D1・・・Dn001]のデータが順にリードさ
れる。
【0115】続いて、アドレス[E1・・・En000]
→[E1・・・En001]→[E1・・・En010]→
[E1・・・En011]→[E1・・・En100]→
[E1・・・En101]→[E1・・・En110]→
[E1・・・En111]の順にデータがライトされた
後、アドレス[F1・・・Fn100]→[F1・・・Fn
101]→[F1・・・Fn110]→[F1・・・Fn1
11]→[G1・・・Gn111]→[G1・・・Gn10
0]→[G1・・・Gn101]→[G1・・・Gn11
0]→[H1・・・Hn010]→[H1・・・Hn01
1]→[H1・・・Hn000]→[H1・・・Hn00
1]のデータが順にリードされる。
【0116】更に、続いて、アドレス[A1・・・An1
00]→[A1・・・An101]→[A1・・・An11
0]→[A1・・・An111]→[B1・・・Bn10
0]→[B1・・・Bn101]→[B1・・・Bn11
0]→[B1・・・Bn111]→[C1・・・Cn00
0]→[C1・・・Cn001]→[C1・・・Cn01
0]→[C1・・・Cn011]→[D1・・・Dn10
0]→[D1・・・Dn101]→[D1・・・Dn11
0]→[D1・・・Dn111]→[F1・・・Fn00
0]→[F1・・・Fn001]→[F1・・・Fn01
0]→[F1・・・Fn011]→[G1・・・Gn00
0]→[G1・・・Gn001]→[G1・・・Gn01
0]→[G1・・・Gn011]→[H1・・・Hn10
0]→[H1・・・Hn101]→[H1・・・Hn11
0]→[H1・・・Hn111]のデータが順にリードさ
れる。
【0117】なお、この例の場合、ライトは、先行する
コマンドバッファ54−1〜54−4が発行するリード
要求の実行に必要なアクセス先のアドレスと、コマンド
バッファ54−5が発行するライト要求の実行に必要な
アクセス先のアドレスが干渉していないことを確認する
必要がある。もし、干渉していれば、干渉しているread
を優先し、writは後回しにする。
【0118】このようなリードとライトの干渉は、コマ
ンド発行調停部55で監視しており、同じアドレスに対
するリクエストがコマンド発行調停部55にアサートさ
れた場合、常にコマンドバッファナンバーの小さい方を
優先することで、干渉を除去するようにされている。
【0119】たとえば、コマンドバッファ54−2のre
ad_req1とコマンドバッファ54−5のwrit_req0のアド
レスが干渉している場合、コマンドバッファ54−1〜
54−4までは、read_req0が優先されて、コマンドが
発行されていくが、read_req1とwrit_req0については、
read_req1が先に実行される。このように、途中にリー
ドの中にライトが混ざっても、アドレスチェックを行う
ことによりデータのコヒーレンスを保つことができる。
【0120】以上のように、本発明の第2実施形態であ
るSDRAMコントローラ44によれば、CPU40が
キャッシュメモリ42の8個以内の複数のキャッシュラ
インに同時又は連続してミスヒットした場合において、
キャッシュメモリ42が8個以内の複数キャッシュライ
ン分のデータのリード要求を同時又は連続して発行した
場合、SDRAM43に対して、まず、キャッシュメモ
リ42が同時又は連続して発行した8個以内の複数のア
ドレスへのリードアクセスが順に行われ、CPU40が
先行取得したいデータを先行取得することができるよう
にしたことにより、CPU40が必要なデータを取得す
るための動作停止時間を短くし、CPU40の本来の性
能を出させることができるので、情報処理システムの動
作速度の向上を図ることができる。
【0121】なお、本発明の第1実施形態及び第2実施
形態においては、メインメモリとして、SDRAMを使
用した場合について説明したが、この代わりに、DDR
−SDRAMやFCRAMや従来型のDRAM等のダイ
ナミック・ランダム・アクセス・メモリや、SRAM
や、フラッシュ・メモリ等の種々のメモリを使用するこ
とができる。
【0122】
【発明の効果】以上のように、本発明のメモリコントロ
ーラによれば、キャッシュメモリが複数キャッシュライ
ン分のデータのリード要求を同時又は連続して発行した
場合、メインメモリに対して、まず、キャッシュメモリ
が同時又は連続して発行した複数のアドレスへのリード
アクセスを順に行うことができるようにし、CPUがキ
ャッシュメモリの複数のキャッシュラインに同時又は連
続してミスヒットした場合であっても、CPUは、複数
キャッシュライン分のデータの中の必要なデータを先行
取得することができるように構成したことにより、CP
Uが必要なデータを取得するための動作停止時間を短く
し、CPUの本来の性能を出させることができるので、
情報処理システムの動作速度の向上を図ることができ
る。
【図面の簡単な説明】
【図1】本発明の第1実施形態を備える情報処理システ
ムの一例の要部を示すブロック回路図である。
【図2】本発明の第1実施形態が備えるSDRAMのバ
ースト長を「2」に設定した場合におけるSDRAMの
バースト動作を説明するための図である。
【図3】本発明の第1実施形態であるSDRAMコント
ローラの要部を示すブロック回路図である。
【図4】本発明の第1実施形態であるSDRAMコント
ローラが備えるコマンドバッファユニットの構成を示す
ブロック回路図である。
【図5】本発明の第1実施形態であるSDRAMコント
ローラが備えるコマンドバッファユニットが備えるコマ
ンドバッファ部が備える4個のコマンドバッファが発行
するリード要求に与えられている優先順位を示す図であ
る。
【図6】本発明の第1実施形態において、キャッシュメ
モリから同時又は連続して発行された4個のリード要求
を受け取った場合に、コマンドバッファ部から発行され
るリード要求の順序を示す図である。
【図7】本発明の第1実施形態であるSDRAMコント
ローラの動作例を説明するための図である。
【図8】本発明の第1実施形態であるSDRAMコント
ローラの動作例を説明するための図である。
【図9】本発明の第1実施形態であるSDRAMコント
ローラの動作例を説明するための図である。
【図10】本発明の第1実施形態であるSDRAMコン
トローラの動作例を説明するための図である。
【図11】本発明の第1実施形態であるSDRAMコン
トローラの動作例を説明するための図である。
【図12】本発明の第2実施形態を備える情報処理シス
テムの一例の要部を示すブロック回路図である。
【図13】本発明の第2実施形態が備えるSDRAMの
バースト長を「4」に設定した場合におけるSDRAM
のバースト動作を説明するための図である。
【図14】本発明の第2実施形態であるSDRAMコン
トローラの要部を示すブロック回路図である。
【図15】本発明の第2実施形態であるSDRAMコン
トローラが備えるコマンドバッファユニットの構成を示
すブロック回路図である。
【図16】本発明の第2実施形態であるSDRAMコン
トローラが備えるコマンドバッファユニットが備えるコ
マンドバッファ部が備える8個のコマンドバッファが発
行するリード要求及びライト要求に与えられている優先
順位を示す図である。
【図17】本発明の第2実施形態において、キャッシュ
メモリから同時又は連続して発行された7個のリード要
求と1個のライト要求を受け取った場合に、コマンドバ
ッファ部から発行されるリード要求及びライト要求の順
序を示す図である。
【図18】本発明の第2実施形態であるSDRAMコン
トローラの動作例を説明するための図である。
【図19】本発明の第2実施形態であるSDRAMコン
トローラの動作例を説明するための図である。
【図20】本発明の第2実施形態であるSDRAMコン
トローラの動作例を説明するための図である。
【図21】本発明の第2実施形態であるSDRAMコン
トローラの動作例を説明するための図である。
【図22】本発明の第2実施形態であるSDRAMコン
トローラの動作例を説明するための図である。
【図23】従来の情報処理システムの一例の要部を示す
ブロック回路図である。
【図24】図23に示す従来の情報処理システムが有す
る問題点を説明するための図である。
【符号の説明】
(図1) 10 CPU 11 データバス 12 キャッシュメモリ 13 SDRAM 14 本発明の第1実施形態であるSDRAMコントロ
ーラ (図3) 16 リードデータバッファ 17 ライトデータバッファ 18 SDRAMコントローラ・インタフェース 19 コマンドバッファユニット 20 SDRAMコマンド生成発行部 (図4) 22 SDRAMバンク状態保持部 23 既発行コマンド記憶部 24 コマンドバッファ部 24−1〜24−4 コマンドバッファ 25 コマンド発行調停部 (図12) 40 CPU 41 データバス 42 キャッシュメモリ 43 SDRAM 44 本発明の第2実施形態であるSDRAMコントロ
ーラ (図14) 46 リードデータバッファ 47 ライトデータバッファ 48 SDRAMコントローラ・インタフェース 49 コマンドバッファユニット 50 SDRAMコマンド生成発行部 (図15) 52 SDRAMバンク状態保持部 53 既発行コマンド記憶部 54 コマンドバッファ部 54−1〜54−8 コマンドバッファ 55 コマンド発行調停部
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B005 JJ11 KK12 MM01 MM21 NN01 NN22 NN61 NN71 UU24 5B024 AA15 BA29 CA15

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】キャッシュメモリからのメインメモリへの
    アクセスを仲介する機能を有するメモリコントローラで
    あって、 前記キャッシュメモリが複数キャッシュライン分のデー
    タのリード要求を同時又は連続して発行した場合、前記
    メインメモリに対して、まず、前記キャッシュメモリが
    同時又は連続して発行した複数のアドレスへのリードア
    クセスを順に行い、その後、残りのデータをリードする
    ためのリードアクセスを行うアクセス手段を備えている
    ことを特徴とするメモリコントローラ。
  2. 【請求項2】前記アクセス手段は、前記キャッシュメモ
    リから前記メインメモリに対するアクセス要求をバッフ
    ァリングする複数のコマンドバッファを有するコマンド
    バッファ部と、前記コマンドバッファ部が前記キャッシ
    ュメモリから複数キャッシュライン分のデータのリード
    要求をバッファリングした場合、前記メインメモリに対
    して、まず、前記キャッシュメモリが同時又は連続して
    発行した複数のアドレスへのリードアクセスを順に行
    い、その後、残りのデータをリードするためのリードア
    クセスを行うように、前記コマンドバッファ部からのコ
    マンドの発行を調停するコマンド発行調停部とを備えて
    いることを特徴とする請求項1記載のメモリコントロー
    ラ。
  3. 【請求項3】前記コマンド発行調停部は、前記コマンド
    バッファ部が複数のリード要求の間にライト要求をバッ
    ファリングした場合、前記複数のリード要求のうち、前
    記ライト要求より前にバッファリングしたリード要求の
    実行に必要なアクセス先のアドレスと前記ライト要求の
    実行に必要なアクセク先のアドレスとの干渉をチェック
    し、干渉を検知した場合には、アドレスが干渉するリー
    ド要求を先に実行させる機能を有していることを特徴と
    する請求項2記載のメモリコントローラ。
  4. 【請求項4】前記メインメモリは、複数のバンクを有す
    るダイナミック・ランダム・アクセス・メモリであり、 前記アクセス手段は、前記ダイナミック・ランダム・ア
    クセス・メモリの複数のバンクの状態を保持するバンク
    状態保持部と、前記ダイナミック・ランダム・アクセス
    ・メモリに発行したコマンドを所定の期間、記憶する既
    発行コマンド記憶部とを備え、 前記コマンド発行調停部は、前記バンク状態保持部が保
    持する前記ダイナミック・ランダム・アクセス・メモリ
    のバンクの状態と、前記既発行コマンド記憶部が記憶す
    る既発行コマンドとから、発行できるコマンドを決定す
    る機能を有していることを特徴とする請求項3記載のメ
    モリコントローラ。
JP11065734A 1999-03-12 1999-03-12 メモリコントローラ Withdrawn JP2000259497A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11065734A JP2000259497A (ja) 1999-03-12 1999-03-12 メモリコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11065734A JP2000259497A (ja) 1999-03-12 1999-03-12 メモリコントローラ

Publications (1)

Publication Number Publication Date
JP2000259497A true JP2000259497A (ja) 2000-09-22

Family

ID=13295558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11065734A Withdrawn JP2000259497A (ja) 1999-03-12 1999-03-12 メモリコントローラ

Country Status (1)

Country Link
JP (1) JP2000259497A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012038065A (ja) * 2010-08-06 2012-02-23 Ricoh Co Ltd 半導体集積回路、情報記憶方法
WO2012127628A1 (ja) * 2011-03-22 2012-09-27 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法
CN114036089A (zh) * 2021-11-17 2022-02-11 海光信息技术股份有限公司 数据处理方法、装置、缓存器、处理器及电子设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012038065A (ja) * 2010-08-06 2012-02-23 Ricoh Co Ltd 半導体集積回路、情報記憶方法
WO2012127628A1 (ja) * 2011-03-22 2012-09-27 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法
JP5630568B2 (ja) * 2011-03-22 2014-11-26 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法
CN114036089A (zh) * 2021-11-17 2022-02-11 海光信息技术股份有限公司 数据处理方法、装置、缓存器、处理器及电子设备
CN114036089B (zh) * 2021-11-17 2022-10-14 海光信息技术股份有限公司 数据处理方法、装置、缓存器、处理器及电子设备

Similar Documents

Publication Publication Date Title
US7870351B2 (en) System, apparatus, and method for modifying the order of memory accesses
US8032715B2 (en) Data processor
US6330645B1 (en) Multi-stream coherent memory controller apparatus and method
JP4786209B2 (ja) メモリアクセス装置
JP2007504530A (ja) 複数のメモリハブモジュールを含むマルチプロセッサシステムおよびその方法
JP2000029780A (ja) メモリ・ペ―ジ管理
JP6710219B2 (ja) 統合プロセッサを備えたdram回路
CN108139994B (zh) 内存访问方法及内存控制器
US6751704B2 (en) Dual-L2 processor subsystem architecture for networking system
JP6228523B2 (ja) メモリ制御回路および半導体記憶装置
JP5382113B2 (ja) 記憶制御装置及びその制御方法
JP2000259497A (ja) メモリコントローラ
KR20050081498A (ko) 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치
WO2006011063A2 (en) Dmac issue mechanism via streaming id method
WO2001037098A1 (fr) Dispositif et systeme informatique
US8713291B2 (en) Cache memory control device, semiconductor integrated circuit, and cache memory control method
KR960005394B1 (ko) 멀티 프로세서 시스템
JP4583981B2 (ja) 画像処理装置
JP2007115087A (ja) 半導体装置
JPH05173879A (ja) キャッシュメモリシステム
JPH04199450A (ja) ダイレクト・メモリ・アクセス制御回路
JP2011090697A (ja) 半導体装置
JPH0784875A (ja) ライトバッファ制御機構
JPH1131072A (ja) メモリ先行ロード装置
JPS6055454A (ja) デ−タ転送制御方式

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060606