JP3516963B2 - メモリアクセス制御装置 - Google Patents
メモリアクセス制御装置Info
- Publication number
- JP3516963B2 JP3516963B2 JP05252693A JP5252693A JP3516963B2 JP 3516963 B2 JP3516963 B2 JP 3516963B2 JP 05252693 A JP05252693 A JP 05252693A JP 5252693 A JP5252693 A JP 5252693A JP 3516963 B2 JP3516963 B2 JP 3516963B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- access
- read
- memory
- block
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 152
- 238000012546 transfer Methods 0.000 claims description 17
- 230000002829 reductive effect Effects 0.000 claims description 3
- 239000004065 semiconductor Substances 0.000 claims 14
- 238000010586 diagram Methods 0.000 description 15
- 239000000872 buffer Substances 0.000 description 12
- 230000000694 effects Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 9
- 238000000034 method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 241000375392 Tana Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000002789 length control Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Description
転送バンド幅を持つメモリと、これに対してアクセス要
求を発生するマスタ装置との間の制御をするメモリアク
セス制御装置に関する。
量の少ないキャッシュと、低速だが容量の大きなDRA
M(Dynamic Random Access M
emory)による主記憶を備える情報処理システムが
RISC(Reduced Instruction
Set Computer)プロセッサの普及に伴い増
加している。このような情報処理システムの場合、キャ
ッシュにヒットしているときはプロセッサは高速に動作
できるものの、ミスヒットしたときにはキャッシュのリ
プレース動作は低速なDRAMへのアクセスとなる。そ
のため、ミスヒット時のペナルティを下げることがこの
情報処理システムの性能向上につながる。
めるようにアクセスすることが多いアクセスの局所性に
乏しいアプリケーションでは頻繁にキャッシュのミスヒ
ットが発生してしまうのでミスヒット時のペナルティの
軽減に対する必要性が高い。
いた超並列計算機のように、外付けの大容量のキャッシ
ュがコストや消費電力などの観点から付加することが実
現性を低めてしまうシステムへのマイクロプロセッサの
適用時には、ミスヒットの確率の高い小容量の内蔵キャ
ッシュに頼らざるを得ず、ミスヒット時のペナルティ軽
減に対する必要性が高い。
固定長の複数ワードからなるブロックデータを単位とし
たメモリアクセスによって行われる性質と、DRAMの
ニブルモードやスタティックカラムモードなどの連続ア
クセス時の高速性を利用したメモリアクセスプロトコル
を実行可能とすることで、ミスヒット時のペナルティを
ある程度、軽減したシステムが存在している。
は、ミスヒットが起こった場合、必ず最初のワードがD
RAMから返送されてくるまでの期間はウエイト状態と
なるためDRAMのアクセスタイム以下のミスヒットペ
ナルティを実現することは不可能であった。
されるキャッシュのラインサイズは、限られた容量での
ヒット率の向上のためにあまり大きくできない。そのた
め、Rambus型DRAM(以下、単にR−DRAM
と略記することもある)のように長いブロック長でアク
セスしたときに大きな実質メモリバンド幅が得られる型
のDRAMを使用しても、その性能を生かしきることが
困難であった。
のシステムでは、DRAMのアクセスタイム以下のミス
ヒットペナルティを実現することは不可能であり、Ra
mbus型DRAMのように長いブロック長でアクセス
したときに大きな実質メモリバンド幅が得られる新型の
DRAMの性能を生かしきることが困難であった。
で、従来の欠点を軽減して、科学技術計算を効率的に実
行できることが望まれる超並列計算機にも適用可能な、
コストパフォーマンスの高いメモリアクセス装置を提供
することを目的とする。
装置からのメモリアクセス動作を制御するメモリアクセ
ス制御装置であって、連続アクセスに対する高速転送バ
イト幅を有するメモリ装置と、このメモリ装置から読み
込んだブロックデータを記憶する高速記憶部と、マスタ
装置によってなされたメモリアクセスの連続性を判断す
るアクセス連続性判部と、マスタ装置からのアクセス要
求を受け取り、アクセス要求によって要求されたデータ
が高速記憶部に格納されたブロックデータに含まれる場
合は、そのデータを高速記憶部からマスタ装置へ返送
し、要求されたデータが格納されたブロックデータに含
まれていない場合は、マスタ装置から受信したアクセス
要求とアクセス連続性判定部によって判断されたアクセ
スの連続性とに応じて、メモリ装置から新たに読み出さ
れることになるブロックデータの可変ブロック長を制御
した上で要求された可変ブロック長のブロックデータを
メモリ装置から読み出し、この新たに読み出されたブロ
ックデータを高速記憶部に記憶させる制御部とを具備す
ることを要旨とする。
アクセス要求によって特定されたアドレスから始まるア
クセス要求のあったデータサイズより大きなサイズで新
たなブロックデータをメモリ装置から読み出し、高速記
憶部は、前記マスタ装置に設けられた内臓キャッシュの
ラインサイズよりも大きなサイズのブロックデータを格
納する。また、アクセス連続性判定部は、高速記憶部に
格納されたブロックデータの開始アドレスと、所定時間
の間にマスタ装置からアクセス要求のあったメモリアド
レスとの比較結果に基づいてアクセスの連続性を判定す
る。
置は、制御部によってメモリ装置から読み出されること
になる新たなブロックデータの読み出しブロック長を示
す読み出しブロック長レジスタをさらに備え、読み出し
ブロック長は、アクセス連続性判定部によって判断され
たアクセスの連続性に応じて可変となる。この場合、高
速記憶部は2のn乗バイト以上の容量があり、読み出し
ブロック長レジスタによって示される読み出しブロック
長は2のm乗バイトである(nおよびnはm≦nを満た
す整数)。高速記憶部の容量である2のn乗バイトとい
うのは、メモリ装置への一回のアクセスにおける最大デ
ータ長に等しい。
セス要求によって特定されたアドレスの下位mビットを
除く上位ビットと、高速記憶部に格納されたブロックデ
ータの開始アドレスの下位mビットを除く上位ビットと
を比較することによって、マスタ装置からのアクセス要
求によって要求されたデータが前記法則記憶部に格納さ
れたブロックデータに含まれているかどうかを判断す
る。制御部はまた、マスタ装置から受信したアクセス要
求によって特定されるアドレスの下位mビットを0に設
定したアドレスから始まる2のm乗バイトの新たなブロ
ックデータを前記メモリ装置から読み出し、この新たに
読み出したブロックデータを前記高速記憶部に格納す
る。
モリ装置から読み出された複数の異なるブロックデータ
を個別に格納する複数の独立バッファを有するか、ある
いはまた、メモリアクセス制御装置は高速記憶部とは別
に、メモリ装置に書き込まれる書き出しデータをマスタ
装置から受信して格納する書き出し用高速記憶部を備え
る。
記憶装置に入力された書き出しデータが、高速記憶部に
格納されたブロックデータのアドレスのいずれかと一致
するアドレスを有するならば、この書き出しデータは高
速記憶部にも入力される。書き出し用高速記憶部は、マ
スタ装置から入力される複数の異なる書き出しデータを
個別に受信、格納する複数の独立バッファを有するのが
好ましい。
クセス制御装置は、連続アクセス時に高速なメモリとし
てRambus型DRAMを使用し、mに応じたデータ
長を要求するパケットヘッダー付加部と、mを0以上l
og2 (Rambusのバケット最大データ長)以下に
制御する制御部を具備するものである。
ドレスから始まる領域に対するメモリ読みだし要求を受
信した時に、上記アドレスの下位mビットを除く上位ビ
ットがアドレス保持手段、例えばアドレスラッチの値と
一致しなかった場合、2のn乗バイト以上の容量をもつ
高速記憶手段を具備しm≦nであるので、2のn乗バイ
トのメモリから読み出されるブロックデータをこの高速
記憶に保持することができる。このメモリシステムは連
続アクセス時に高速な転送バンド幅を持つメモリと、高
速な連続メモリアクセス手順を実行可能な制御部を具備
するのでmが大きいほど実質的なメモリバンド幅が向上
する。2のm乗バイトのブロック長がマスタ装置に内蔵
されるキャッシュのラインサイズより長く、かつメモリ
アクセスの連続性が高い場合は後続の読みだし要求でア
クセスされるデータが先行する読みだし要求により高速
記憶に先取りされていることになるので、外部のDRA
Mのアクセスタイムを持つことなくマスタ装置にデータ
を供給できるようになる。先取りされているか否かは先
取りに用いられたアドレスがアドレスラッチに保持され
ているので、この上位ビットが現在のアクセス要求のア
ドレスの上位ビットと一致するかを比較することにより
判定できる。
連続性判定部によって判断された過去のアクセス時のパ
ターンのアドレスの連続性に応じて状態を変え、この状
態値をもとにmの値を上下させるので、アクセスの連続
性の高いときはブロックサイズを大きくして実質転送バ
ンド幅を向上させ、アクセスの連続性の低いときはブロ
ックサイズを小さくして無駄なデータの先取りにかかる
転送時間を抑制する。
連続性が高いと判断している状態では、高速記憶に格納
されているブロックの直後のアドレスに位置するブロッ
クを、マスタ装置からの要求を受信する前に先取りし
て、メモリに対して読み出し要求を発生するので、アク
セスの連続性の高いときは高速記憶にマスタ装置が要求
するデータブロックが存在する確率が高くなるので、高
速記憶の容量の限界により生じるブロックの継ぎ目にお
けるアクセス遅延を隠ぺいすることができる。
信するデータを格納する高速記憶を、読み出し要求受信
時に用いる高速記憶とは別に具備するので、読み出しブ
ロックと書き込みブロックが異なる高速記憶に記憶され
るので、読み書きが交互に行われる場合において先取り
データがフラッシュされてしまうことを排除できる。マ
スタ装置にある程度の容量のキャッシュが内蔵される場
合はマスタ装置の内臓キャッシュに読み込まれたブロッ
クはすぐにリプレースされることは少ないので読み出し
用と書き込み用に高速記憶を沸けることの効果が大き
い。
イズより大きな容量の高速記憶を具備しているのでメモ
リからマスタ装置のキャッシュラインサイズより大きな
ブロックデータを読み込むことができ、マスタ装置にお
けるキャッシュのミスヒットが連続した領域に渡って生
じた場合、後続するリプレース動作において高速記憶部
から読み出すことができる。また大きなブロックデータ
をメモリから読み出すことができるので実質メモリバン
ド幅が上昇する。
出された複数の異なるブロックデータを個別に格納する
複数の独立バッファを有するので、複数の領域に対する
連続アクセスストリームが並行して存在する場合に先取
りしたデータを他のストリームによってフラッシュされ
てしまうことを起こり難くすることができる。
モリとしてRambus型DRAMを使用するので、ア
クセスタイムは遅いが2nsピッチでデータが転送され
るので、他のタイプのDRAMに比べて多めに先取りし
ても余分な先取りに消費される転送時間が短く、アクセ
スブロック長をマスタに内蔵されるキャッシュのライン
サイズより長く取ることができる第1の発明との相性が
良い。mに応じたデータ長を要求し、mを0以上log
2(Rambusのパケット最大データ長)以下に制限
することによりRambusの仕様を逸脱する不正に長
いブロック長を有するパケットを生成してしまうことが
防止される。
置を用いたプロセッサシステムの第1の実施例を示した
図である。本実施例では比較的小容量の内蔵キャッシュ
を有するマイクロプロセッサ3とRambus型DRA
M(以下、単にR−DRAMとも略記する)5の間に本
発明を適用したメモリアクセス制御装置を配置してい
る。
図2に示すような多数のプロセシングエレメント(以
下、単にPEと略記する)がプロセッサ間結合網PNで
接続される超並列計算機に適用する場合は、図3に示す
ようにプロセッサ間の通信を制御するための通信制御回
路130とメモリアクセス制御装置120が一体となっ
て一つのコプロセッサ101を形成する場合が典型的と
思われる。また並列計算機専用のマイクロプロセッサ1
03においては上記のコプロセッサ101とメインのマ
イクロプロセッサ103が1チップ化されるならばより
望ましい。
クロプロセッサチップに取り込まれてR−DRAMを直
結できるチップを構成し、低価格なパーソナルコンピュ
ータや機器への組み込み用途における性能向上に応用さ
れる場合も想定できる。
装置の代表的な応用システムである超並列計算機は、近
年マイクロプロセッサの目ざましい進歩によりペクトル
型スーパーコンピュータでは達成不可能な性能領域の実
現のための最も有力なアプローチと見られており、特に
大規模な科学技術計算に対するニーズが明確である。
タに対して全体をなめるように演算を行う性質(データ
参照の非局所性)が強く、キャッシュの容量を越える配
列を扱うとヒット率の低下を引き起こし、マイクロプロ
セッサの本来の性能を引き出せなくなってしまう。
ようなクラスの超並列計算機は100MFLOPS程度
のマイクロプロセッサが実現可能な現在では、PE数は
一万以上の大規模なものとならざるをえず、PEはコス
ト・消費電力・信頼性の観点からDRAMを含めて十チ
ップ程度以下の少数のVLSIから構成されることが望
ましい。よってこのクラスの超並列計算機に各PEにD
RAMによる主記憶の他に、図18に示すような従来の
典型的な高性能マイクロプロセッサ利用システムのよう
に、高価で消費電力の高い高速SRAMを外付けして実
現される2次キャッシュを搭載することは実現性が低い
と言わざるを得ない。
S以上のクラスの超並列計算機においては外付けのキャ
ッシュを用いずに、内蔵キャッシュのミスヒットが多発
する科学技術計算を高速化可能なメモリーキテクチャを
必要としており、本発明はこのような応用に対して適す
るものである。
ロセッサで行う場合はキャッシュのミスヒット(キャッ
シュラインの主記憶とのリプレース)は不可避であり、
必ず主記憶に対して頻繁なアクセスが生じる。ゆえに、
このリプレース動作のオーバーヘッドを短縮すること
と、実質的な主記憶バンド幅を高く保つことが重要にな
る。
殆ど例外無く、1次キャッシュを内蔵しており、通常限
られた容量でのキャッシュのヒット率を高くするために
キャッシュラインのブロック長は16〜32バイト程度
で抑えられている。つまりキャッシュ可能領域をアクセ
スしている場合はミスヒット時のリプレース動作のたび
に16〜32バイト程度の短いブロックに対する連続ア
クセスが発生する。
いチップ数のDRAMからなる主記憶のメモリにおい
て、バンド幅を100MFLOPSのクラスのマイクロ
プロセッサの性能とバランスが崩れないようにするため
には、150ns程度のサイクルタイムを持つ典型的な
DRAMの通常アクセスモードの使用は、8bit幅の
チップを用いたとしても、7MB/chip程度のバン
ド幅しかないので、インターリーブ方式を用いた構成と
してもチップ数の観点から無理がある。
ド付きDRAMではRASアクセス遅延時間80ns、
高速ページモードサイクル時間が50nsであるので、
これをインターリーブせずに用いて64ビット幅データ
バスを構成し、16〜32バイトのブロックアクセスを
させると図19に示されるようなタイムチャートでメモ
リアクセスが行われ、89〜114MB/のメモリバン
ド幅が得られることになる。しかし、これは64ビット
浮動小数演算に換算して11〜15MFLOPS程度の
性能を維持するバンド幅に過ぎない。
は、連続アクセスをした場合のチップそのものの転送バ
ンド幅が、高いRambus型DRAM(500MB/
s/chip)や同期型DRAM(100MB/s/c
hip)を使用することが望ましい。
DRAMを用いるとすると、リードアクセス要求パケッ
トが出力されてから最初の1バイトが返送されてくるま
でに、例えばある典型的な4.5MbitのR−DRA
Mではメモリに内蔵されるセンスアンプキャッシュがミ
スヒットした場合220ns、ヒットした場合48ns
のアクセス遅延がかかることになる。
内蔵キャッシュのミスヒット時の16〜32バイト程度
の短いアクセスでは、これを図20に示したタイムチャ
ートのようにブロックアクセスしても、2nsごとに1
バイトの転送が行われているにもかかわらず、センスア
ンプキャッシュがミスヒットすると最大転送バンド幅の
1〜2割程度の性能の63〜112MB/sしか得られ
ない。センスアンプキャッシュがヒットしても最大転送
バンド幅の五割程度の性能の200〜285MB/sに
止まる。
は従来の通常DRAMを用いたブロックアクセスをサポ
ートするシステムのメモリバンド幅の2倍程度にとどま
り、64ビット浮動小数演算に換算して30MFLOP
S程度の演算性能を維持するバンド幅に過ぎない。
て説明する。まず、、構成を説明する。マイクロプロセ
ッサ3は、16バイト/ラインのキャッシュ3aを内蔵
する。また、メモリアクセス制御装置1は、比較器A1
1とアドレスラッチ13とラッチ制御A15によって構
成される連想機構A10を備える。この連想機構A10
は、アクセス連続性判定部17を介して読み出しブロッ
ク長レジスタ19と先取り要求部21と接続され、さら
にプロセッサ側バス制御部23と接続される。このプロ
セッサ側バス制御部23は、要求アドレスラッチ25、
読み出し要求ブロック長ラッチ27を介して書き出し要
求ブロック長ラッチ35と、また高速記憶29(先読み
用高速記憶29R、書き出し用高速記憶29w)と制御
部30(Rambusパケット生成・分解部31、Ra
mbusインタフェース33)およびアドレスラッチ3
7等と接続される。
御装置1内に、例えばSRAMで構成される先読み用の
高速記憶29Rを設けている。この高速記憶29Rの容
量はマスタ装置であるマイクロプロセッサに内蔵される
キャッシュの1ライン分(例えば典型的な値として16
バイトとする)より大きなものを用意し、本実施例では
Rambusの一回のアクセスで処理できる最大のデー
タ長である256バイトの先読み用高速記憶29Rを用
意する。
求に対する基本的な動作手順を述べるが、これをまとめ
ると図4のような手順となる。
のマイクロプロセッサ3からのアクセス要求すなわちア
ドレスとブロック長は、プロセッサ側バス制御部の制御
のもとで、要求アドレスラッチ25と読みだし要求の場
合は読みだし要求ブロック長ラッチ27、書き出し要求
の場合は書き出し要求ブロック長ラッチ35にそれぞれ
保存される。これらのブロック長は通常マイクロプロセ
ッサ3のキャッシュ3aの1ラインのバイト数(ここで
は16バイト)を越えることはない。
がメモリより読み込まれる場合は、そのブロックを指定
する上位アドレスがラッチ制御A15によって制御され
るアドレスラッチA13に保持される。
ジスタ19は、例えばマイクロプロセッサ3の内蔵キャ
ッシュ3aの1ラインのバイト数の2倍の値を示すよう
になっており、ミスヒットによって発生する読みだしア
クセス要求およびアドレスをマイクロプロセッサ3から
受信すると、ステップS3において比較器A11はアド
レスラッチA13の値と要求アドレスラッチ25に保持
されたマイクロプロセッサ3が出力したアドレスの上位
ビットとを比較する。
32ビットのアドレスがマイクロプロセッサ3から出力
され、読みだしブロック長レジスタ19にセットされて
いる値が32バイト(アドレス5ビット分)を示すなら
ば上位27ビットということになる。
アドレスがアドレスラッチA13にラッチされ(ステッ
プS5)、読みだしブロック長レジスタ19の値が示す
長さ(ここではキャッシュライン長の2倍の32バイ
ト)のデータを要求するパケットをRambusパケッ
ト生成・分解部31が生成し、Rambusインターフ
ェース部33を介してR−DRAM5に送信する。
スアンプキャッシュがミスヒットした場合は220n
s)が経過するとR−DRAM5から読み出しデータパ
ケットが返送され、Rambusインターフェース3
3、Rambusパケット生成・分解部31を介して、
先読み用高速記憶29Rに格納される。
ップS13で先読み高速記憶29R上のデータの中でマ
イクロプロセッサ3から先だって要求されたデータ長
(キャッシュ3aの1ライン分の16バイト)のデータ
をマイクロプロセッサ3に返送する。
がマイクロプロセッサ3より出力されたときは、アドレ
スラッチA13のアドレスの上位ビットとマイクロプロ
セッサ3が出力したアドレスの上位ビットをステップS
3で比較器A11によって比較される。これが一致する
とステップS11で先読み用の高速記憶29R内に対応
するブロックが先読みされていることをプロセッサ側バ
ス制御部23は認識し、R−DRAM5へのトランザク
ションを発生しなくても即座にマイクロプロセッサ3に
要求されたブロックを返送することができ、ミスヒット
のペナルティが大幅に改善される。
読みをしない場合のタイムチャートを示し、図6にRa
mbusDRAM5を用いて16バイトの先読みをする
(つまり32バイトのブロックアクセスをする)場合の
タイムチャートを示す。両者の違いは応答データ2の返
るタイミングの違いより明らかである。
書き出し要求アドレスが別チップのR−DRAMに対応
して読み出し要求1のブロックを含むR−DRAM内部
のセンスアンプキャッシュが書き出し要求2により破壊
されなかったことにより、読みだし要求2がセンスアン
プキャッシュヒットにより48nsで読み出された場合
を示したが、書き出し要求2がこれを破壊した場合は4
8nsではなく220nsのアクセス遅延がかかること
になるため、応答データ2の返るタイミングはさらに遅
れることになる。
ス要求受信時にアドレスラッチAのアドレスの上位ビッ
トとマイクロプロセッサが出力したアドレスの上位ビッ
トが不一致だった場合は、1回目の不一致時に読みだし
た32バイトのうちの32バイトが無駄になったことに
なるが、RambusDRAM5の所要時間は最初から
16バイトのみ読み込んだ場合が252nsであるのに
対し、32バイトを読み込むと所要時間は284nsと
なり16バイト分の32nsの無駄をしただけですむの
で、RambusDRAM5を用いた場合は先読み失敗
時の損害が少なくて済む。また次のアクセス要求が間髪
入れずに起こらない場合は、Rambusの空き時間が
先読みに使用されることになるので無駄な先読みをした
ことへのマスタへの影響が全くない場合もある。
ュラインを持つ場合にその2倍の32バイトのブロック
メモリアクセスを行う場合について説明したので、25
6バイト用意した先読み用高速記憶が部分的にしか使わ
れていない。
利用するための機構について説明する。本実施例ではア
クセス連続性判定部を備えており、このアクセス連続性
判定部は比較器A11からの比較結果を監視していて、
過去の比較結果に応じて状態を変える。
し要求アドレスと先読み高速記憶29Rに格納されてい
るブロックのアドレスの一致を示す信号が頻繁に発生す
るときはアクセスの連続性が強い動作状態であり、逆に
不一致を示す信号が頻繁に発生するときはアクセスの連
続性が弱い状態と判断する。
ック長を長くしたほうがRambusDRAM5への読
みだし要求データ長を長くでき、アクセス遅延を生じさ
せる原因となるアクセス回数を減らし、さらに先読み高
速記憶がヒットして即座にマイクロプロセッサーに応答
が返る確率が高くなる。
トとした場合はセンスアンプキャッシュがミスヒットし
た場合でも350MB/sの実質転送速度が得られ、ヒ
ットした場合は457MB/sという高い転送速度が実
現できる。
プロセッサ3の内蔵キャッシャラインが16バイトなら
ば、16回につき15回のリプレース時に高速記憶29
Rから即座に要求ブロックの返送が起こり先読みが当た
った時の効果は大きい。
な限り長く(例えばRambusバケットの最大データ
長256バイト)すれば良いというものではなく、アク
セスの連続性が弱くマイクロプロセッサ3の内蔵キャッ
シュ3aのリプレース時の読みだしブロックが直前にブ
ロックから離れた場所であるならば、先読みしたデータ
は無駄になり、無駄なデータは転送にかかる時間が無駄
になる。
だし、これらが無駄になった場合は240バイト分の4
80nsの無駄となり、このような長さではマスタ装置
からの他のメモリアクセス要求が待たされる危険が高く
時間的損害が大きい。ゆえにランダムにアクセスするよ
うな実行状況では読みだしブロック長を短く(例えば1
6バイトに)したようが良い。
定部17がアクセスの連続性が高いと判断したときは読
みだしブロック長が大きな値となり、アクセスの連続性
が低いと判断した時は読みだしブロック長が小さな値と
なるように制御される。
が固定であるのに対し、メモリへの読みだしブロック長
を動的に制御不可能であるが、本発明は動作状態に適応
して適切な読みだしブロック長を実現し、メモリバンド
幅の効率的使用を行うことができる。
3のキャッシュ3a自体にプリフェッチの機能が備わっ
ていたり、プリフェッチを促す命令を備えていたとして
も、それだけではメモリアクセスを行うデータブロック
長が固定なので、たとえR−DRAMや同期型DRAM
のように連続アクセス時に高度な転送バンド幅を有する
メモリを用いても、実際に獲得できるバンド幅はデータ
ブロック長の短さにより低く固定される。
機能を備えたマイクロプロセッサに対してもメモリバン
ド幅を向上させる効果がある。また特殊な命令の新設を
必要としないので、プリフェッチを促す命令がないマイ
クロプロセッサにも適用できる汎用性のある技術であ
る。
置自体が発生するメモリへのプリフェッチトランザクシ
ョンについては述べられていないが、本実施例では、そ
のような自発的なプリフェッチを併用しており、マスタ
装置からの要求を受信する前にメモリに対して読み出し
要求を発生する先取り要求部21を具備している。
ロック長制御部がアクセスの連続性が高いと判断してい
るか否かを、読みだしブロック長レジスタ19に設定さ
れている値や現在高速記憶に先読みされているブロック
のヒット状況から知り、この情報を元に連続性が高いと
判断される場合は、高速記憶のデータをマスタ装置への
転送完了を受けて高速記憶中にあったブロックの直後の
アドレスに位置するブロックをメモリから読み出す要求
を発生する。
高速記憶29RにRambusDRAM5の最大データ
長などの原因により先取りしきれなかった後続するブロ
ックに対して、やがてマスタ装置から読み出しの要求が
来る確率が高いので、マスタ装置から要求が来る前にメ
モリに要求を出しておけば、読みだしブロックの切れ目
でのマスタ装置への応答高速化することができる。
回目のミスヒットがマスタ装置で起こった場合に能動的
に先読みを行わない場合のタイムチャートであり、図8
は図6に示した動作のしばらく後に3回目のミスヒット
がマスタ装置で起こった場合に能動的な先読みを行う場
合のタイムチャートである。
M5への書き込みと3回目の書き込みの間にアイドルタ
イムができてしまい、さらに3回目の読みだし要求への
応答がメモリアクセス遅延がかかってしまうので遅れる
が、図8ではこのアイドルタイムに能動的先読みをして
いるのでRambusDRAM5が有効に利用され、3
回目の読みだし要求への応答が先読み高速記憶から即座
に行われるので32バイトずつしか高速記憶に読みだし
ていないのにもかかわらず、切れ目無く先読み用高速記
憶29Rから読みだしているようにマスタから見えるよ
うになる。
する動作を述べたが、以下にメモリへの書き込みに対す
る動作を説明する。本実施例では図1に示されるように
先読み用高速記憶29Rの他に書き出し用の高速記憶2
9Wを具備している。
マスタ装置であるマイクロプロセッサ3のキャッシュラ
インサイズに等しい16バイトの容量を持たせている。
ュラインリプレース要求発生時などにマスタ装置からの
書き込みデータをメモリに書き込む前に一旦記憶して、
速やかにマスタ装置とメモリアクセス制御装置間のバス
を開放させ、引き続く読みだし要求を速やかにメモリア
クセス制御装置に伝えさせることを促進する。
記憶29Wを兼用にすると、書き出しデータによって先
読みしたデータがつぶされる可能性があり、先読みの効
果が薄くなってしまう。
にアドレス&1000番地から始まる32バイトが読み
込まれていたとして、続いて&2000番地へ16バイ
トの書き込みが発生した場合、先読み用高速記憶29R
と書き出し用高速記憶29Wを兼用にすると、図10に
示すように高速記憶29Rに&2000番地から始まる
16バイトが書き込まれるとアドレスラッチA13の値
が&1000から&2000番地に変わってしまい、先
読みデータのアドレスを知る手段が無くなることにより
先読みデータは無効になってしまう。
用に高速記憶29を分離しておくと、マスタ装置からの
データが書き込まれる場所を指定するもの(つまりアド
レスラッチB)とメモリから読み出されたデータが書き
込まれる場所を指定するもの(つまりアドレスラッチA
13)は別になるので、図11及び図12のように先読
みデータを無効化してしまうことなしに書き込みのバッ
ファリングができる。
用に高速記憶29を分離した場合は、先読みと書き出し
はマスタの読み出しのタイミングの前後関係によってマ
スタ装置に返される値が異ならないようにする必要が生
じる。
らメモリアクセス制御装置の書き込み用高速記憶29R
に書き出した直後にそのデータを読み出す場合に、例え
ば&1000から始まるデータXのメモリ読み出しの際
に&1010から始まるデータYを先読みした後にマス
タより&1010にデータZが書き出され、その直後に
&1010への読み出し要求がマスタより出されたなら
ば、最新のデータであるデータZが返されるのが正し
く、古いデータYを返してしまっては誤りである。
き終わった場合と書き終わっていない場合のマスタ装置
に返されるデータに不一致が起こらないようにするため
に、図14のように先読み用高速記憶29R上のデータ
ブロックに対するアドレスへの書き出しがマスタ装置よ
り発生した場合は、連想構想A10が検出してプロセッ
サ側バス制御部23に通知し、先読み用高速記憶29R
と書き出し用高速記憶29Wの両方に書き込む。
書いておくことにより、複数回書き出された後に先読み
用高速記憶29R上にある更新される前のデータがマス
タからの読み出し要求に応答してメモリ上の最新データ
とは違うデータを渡してしまうことを防止し、遅延時間
の大きなメモリアクセスを行わずに書き出し用高速記憶
29Wからの高速な応答をマスタ装置に返すことができ
る。
き出し用高速記憶29Wをそれぞれ一つずつ具備する例
について述べたが、以下ではこれらが複数になる場合に
ついて説明する。
御装置を用いたプロセッサシステムの第2の実施例を示
した図である。
読み出し用高速記憶351とアドレスラッチ353と比
較器355とメモリ読みだしブロック長ラッチ357と
先読みデータ有効フラグ359の組からなる読み出しバ
ッファ部35と、図17のような書き出し用高速記憶3
71とアドレスラッチ373と書き出し要求ブロック長
ラッチ375と書き出しデータ有効フラグ377の組か
らなる書き出しバッファ部37を、それぞれ複数系統具
備している点にある。
ッサ3からの読み出し要求受信時にはアドレス比較結果
信号が一致状態になっている1つの読み出しバッファ3
5から読み出し、書き出し要求受信時には書き出しデー
タ有効フラグ377が空状態になっている書き込みバッ
ファ37を1つ選択しデータを書き込む。
に読み出しバッファ35を複数具備しないと、例えばC
(i)=A(i)+B(i)のような配列の加算などの
ように、短期的に複数の配列からデータを読み出して演
算するような処理を行うとき、1つの配列Aに対応する
メモリブロックを先読みしても後続する別の配列Bに対
応するメモリアクセスにより先読みはデータAが破壊さ
れるという危険が高い。
響はないことが多いが、命令キャッシュのミスヒットが
起こりやすいプログラムでは命令フェッチに伴うメモリ
読み出しにより先読みデータが破壊されることもある。
しバッファ35A,35B,35C,35Dを具備する
ので、4本の独立した読み出しデータ流が短期的に読み
出しバッファ内に共存できる。よって先読みしたデータ
が破壊されず有効にプロセッサに渡される可能性が高ま
っている。
ャッシュを有する演算能力の高いマイクロプロセッサを
外付けの大容量キャッシュを用いることなく、内蔵キャ
ッシュのミスヒットペナルティを大幅に削減することが
できるため、少ないハードウェア量でマイクロプロセッ
サが持つ本来の高い性能を引き出すことができるもので
ある。
列をなめるようにアクセスすることが多いアクセスの局
所性に乏しいアプリケーションでのミスヒット時のペナ
ルティの軽減の効果が高い。
が乏しい場合は適応的にメモリアクセスブロック長を短
くして余計な先読みが抑制されるので、科学技術計算以
外のアプリケーションに対する副作用が排除されてい
る。
場合に必ず最初のワードがDRAMから返送されてくる
までの期間はウエイト状態となるためDRAMのアクセ
スタイム以下のミスヒットペナルティを実現することは
不可能であったが、本発明では先読みが成功した場合は
DRAMのアクセス遅延に関わらず即座に応答を返すこ
とができる。
るキャッシュのラインサイズは限られた容量でのヒット
率の向上のためにあまり大きくできず、Rambus型
DRAMのような長いブロック長でアクセスしたときに
大きな実質メモリバンド幅が得られる新型のDRAMの
性能を生かしきることが困難であったが、本発明によれ
ばアクセスの連続性が高ければブロック長が適応的に長
くなるのでRambusDRAMの高い転送バンド幅を
生かすことができる。
シュなしにプロセッサ間通信制御を行うLSIに内蔵で
きる程度のわずかなハードウェアの追加により実現でき
るので、1TFLOPSを越えるような領域の性能を達
成する超並列計算機が、現実的なコストで実現可能とな
る。
小型化や低消費電力化や低コスト化が要求されるマイク
ロプロセッサ応用製品全てに適用可能であり、これらコ
ストパフォーマンス向上に大きく寄与する。
ロセッサや、外付けキャッシュを持つシステムや、既に
先取り機能を有するマイクロプロセッサを利用するシス
テムにおいて本発明を適用しても、メモリアクセス遅延
を隠ぺいする効果などが得られる。
内蔵キャッシュを有するマイクロプロセッサを外付けの
大容量キャッシュを用いることなく、内蔵キャッシュの
ミスヒットペナルティを大幅に削減することができる等
の効果を奏するものである。
プロセッサシステムの第1の実施例を示したブロック図
である。
である。
リアクセス制御装置が渾然一体となった1つのコプロセ
ッサLSIを含む超並列計算機のプロセシングエレメン
トの概略的構成を示すブロック図である。
な動作手順を示すフローチャートである。
ッシュリプレース時のタイムチャートである。
読みをする場合のキャッシュリブレース時のタイムチャ
ートである。
ヒットがマスタ装置で起こった場合に能動的な先読みを
行わない場合のタイムチャートである。
ヒットがマスタ装置で起こった場合に能動的な先読みを
行う場合のタイムチャートである。
態を示した図である。
用にした時の先読みデータが無効になる場合を示した図
である。
離すると図10と同様なアクセスが起こっても先読みデ
ータが無効にならないことを示した図である。
離すると図10と同様なアクセスが起こっても先読みデ
ータが無効にならないことを示した図である。
き込み用高速記憶に書き出した直後にそのデータを読み
出す場合に古いデータを返すことによる誤り動作の例を
示す図である。
き込み用高速記憶に書き出した直後にそのデータを読み
出す場合に新しいデータを返すことによる正しい動作の
例を示すブロック図である。
いたプロセッサシステムの第二の実施例を示したブロッ
ク図である。
み出しバッファ部の構成を示したブロック図である。
き出しバッファ部の構成を示したブロック図である。
用システムの構成を示すブロック図である。
アクセスを利用した従来のキャッシュリプレース時のタ
イムチャートである。
用いた場合のキャッシュリプレース時のタイムチャート
である。
Claims (2)
- 【請求項1】 連続したメモリアクセスに対して高速転
送バンド幅を有する半導体メモリ装置と、前記半導体メ
モリ装置に対してアクセス要求を発生させて前記メモリ
アクセスを行い、アプリケーションを実行するプロセッ
サ部との間の前記メモリアクセスを制御するメモリアク
セス制御装置であって、 前記半導体メモリ装置から読み込んだ第1ブロックデー
タを記憶する高速記憶部と、 前記プロセッサ部による過去の複数回の前記アクセス要
求における、読み出し要求アドレスと前記高速記憶部に
格納されている第1ブロックデータの前記半導体メモリ
装置上でのアドレスとの一致回数あるいは不一致回数を
求め、前記一致回数あるいは前記不一致回数に応じてメ
モリアクセスの連続性を判断する、アクセス連続性判定
部と、 前記アクセス連続性判定部で(1)メモリアクセスの連
続性が高いと判断された場合には、前記半導体メモリ装
置から前記高速記憶部へ読み込むブロックの長さを増加
させ、(2)メモリアクセスの連続性が低いと判断され
た場合には、前記半導体メモリ装置から前記高速記憶部
へ読み込むブロックの長さを減少させる、ブロック長可
変制御部と、 前記プロセッサ部からの前記アクセス要求を受け取り、
(A)前記アクセス要求によって要求されたデータが前
記高速記憶部に格納された前記第1ブロックデータに含
まれる場合は、要求された前記データを前記高速記憶部
から前記プロセッサ部へ返送し、(B)要求された前記
データが格納された前記第1ブロックデータに含まれて
いない場合には、前記ブロック長可変制御部で決められ
たブロック長の第2ブロックデータを前記半導体メモリ
装置から新たに読み出して、前記第2ブロックデータを
前記高速記憶部に記憶させる、制御部とを有することを
特徴とするメモリアクセス制御装置。 - 【請求項2】 連続したメモリアクセスに対して高速転
送バンド幅を有する半導体メモリ装置と、前記半導体メ
モリ装置に対してアクセス要求を発生させて前記メモリ
アクセスを行い、アプリケーションを実行するプロセッ
サ部との間の前記メモリアクセスを制御するメモリアク
セス制御装置であって、 前記半導体メモリ装置から読み込んだ第1データを記憶
する高速記憶部と、 前記プロセッサ部による過去の複数回の前記アクセス要
求における、読み出し要求アドレスと前記高速記憶部に
格納されている第1データの前記半導体メモリ装置上で
のアドレスとの一致回数あるいは不一致回数を求め、前
記一致回数あるいは前記不一致回数に応じてメモリアク
セスの連続性を判断する、アクセス連続性判定部と、 前記アクセス連続性判定部で(1)メモリアクセスの連
続性が高いと判断された場合には、前記半導体メモリ装
置から前記高速記憶部へ読み込むデータの長さを増加さ
せ、(2)メモリアクセスの連続性が低いと判断された
場合には、前記半導体メモリ装置から前記高速記憶部へ
読み込むデータの長さを減少させる、データ長可変制御
部と、 前記プロセッサ部からの前記アクセス要求を受け取り、
(A)前記アクセス要求によって要求された第2データ
が前記高速記憶部に格納された前記第1データに含まれ
る場合は、要求された前記第2データを前記高速記憶部
から前記プロセッサ部へ返送し、(B)要求された前記
第2データが格納された前記第1データに含まれていな
い場合には、前記データ長可変制御部で決められたデー
タ長の第3データを前記半導体メモリ装置から新たに読
み出し、前記第3データを前記高速記憶部に記憶させ
る、制御部とを有することを特徴とするメモリアクセス
制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05252693A JP3516963B2 (ja) | 1993-03-12 | 1993-03-12 | メモリアクセス制御装置 |
US08/729,319 US5752272A (en) | 1993-03-12 | 1996-10-15 | Memory access control device with prefetch and read out block length control functions |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05252693A JP3516963B2 (ja) | 1993-03-12 | 1993-03-12 | メモリアクセス制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06266616A JPH06266616A (ja) | 1994-09-22 |
JP3516963B2 true JP3516963B2 (ja) | 2004-04-05 |
Family
ID=12917198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05252693A Expired - Fee Related JP3516963B2 (ja) | 1993-03-12 | 1993-03-12 | メモリアクセス制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5752272A (ja) |
JP (1) | JP3516963B2 (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453388B1 (en) | 1992-06-17 | 2002-09-17 | Intel Corporation | Computer system having a bus interface unit for prefetching data from system memory |
JP3444154B2 (ja) | 1997-09-17 | 2003-09-08 | 日本電気株式会社 | メモリアクセス制御回路 |
US6341335B1 (en) * | 1997-10-29 | 2002-01-22 | Hitachi, Ltd. | Information processing system for read ahead buffer memory equipped with register and memory controller |
US20020042861A1 (en) * | 1997-11-07 | 2002-04-11 | Kavipurapu Gautam Nag | Apparatus and method for implementing a variable block size cache |
WO1999034356A2 (en) * | 1997-12-30 | 1999-07-08 | Genesis One Technologies, Inc. | Disk cache enhancer with dynamically sized read request based upon current cache hit rate |
US6275962B1 (en) * | 1998-10-23 | 2001-08-14 | Teradyne, Inc. | Remote test module for automatic test equipment |
US20020056027A1 (en) * | 1998-10-29 | 2002-05-09 | Hiroki Kanai | Information processing system |
US6532507B1 (en) * | 1999-05-28 | 2003-03-11 | National Semiconductor Corporation | Digital signal processor and method for prioritized access by multiple core processors to shared device |
JP3742250B2 (ja) | 1999-06-04 | 2006-02-01 | 富士通株式会社 | パケットデータ処理装置及びそれを用いたパケット中継装置 |
JP3561670B2 (ja) * | 1999-12-17 | 2004-09-02 | 三洋電機株式会社 | メモリ制御回路 |
US6970978B1 (en) * | 2002-04-03 | 2005-11-29 | Advanced Micro Devices, Inc. | System and method for providing a pre-fetch memory controller |
US7117316B2 (en) | 2002-08-05 | 2006-10-03 | Micron Technology, Inc. | Memory hub and access method having internal row caching |
US6871246B2 (en) * | 2003-05-07 | 2005-03-22 | Freescale Semiconductor, Inc. | Prefetch control in a data processing system |
US7330992B2 (en) | 2003-12-29 | 2008-02-12 | Micron Technology, Inc. | System and method for read synchronization of memory modules |
US7162567B2 (en) * | 2004-05-14 | 2007-01-09 | Micron Technology, Inc. | Memory hub and method for memory sequencing |
WO2006030650A1 (ja) * | 2004-09-16 | 2006-03-23 | Nec Corporation | 複数の処理ユニットでリソースを共有する情報処理装置 |
KR100809069B1 (ko) * | 2006-11-03 | 2008-03-03 | 삼성전자주식회사 | 비휘발성 메모리를 구비하는 광학 매체 드라이브 및 그구동 방법 |
JP2009289232A (ja) * | 2008-06-02 | 2009-12-10 | Renesas Technology Corp | 半導体集積回路 |
US9672019B2 (en) | 2008-11-24 | 2017-06-06 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
US10621092B2 (en) | 2008-11-24 | 2020-04-14 | Intel Corporation | Merging level cache and data cache units having indicator bits related to speculative execution |
US8775153B2 (en) * | 2009-12-23 | 2014-07-08 | Intel Corporation | Transitioning from source instruction set architecture (ISA) code to translated code in a partial emulation environment |
US9417855B2 (en) | 2011-09-30 | 2016-08-16 | Intel Corporation | Instruction and logic to perform dynamic binary translation |
US9405551B2 (en) | 2013-03-12 | 2016-08-02 | Intel Corporation | Creating an isolated execution environment in a co-designed processor |
US9891936B2 (en) | 2013-09-27 | 2018-02-13 | Intel Corporation | Method and apparatus for page-level monitoring |
JP6605323B2 (ja) * | 2015-12-24 | 2019-11-13 | ルネサスエレクトロニクス株式会社 | 半導体装置、データ処理システム及び半導体装置の制御方法 |
US10776273B2 (en) * | 2016-05-16 | 2020-09-15 | SK Hynix Inc. | Memory system having multiple cache pages and operating method thereof |
US10977198B2 (en) * | 2018-09-12 | 2021-04-13 | Micron Technology, Inc. | Hybrid memory system interface |
US10860491B2 (en) * | 2019-05-03 | 2020-12-08 | Mediate Inc. | Cache management method using object-oriented manner and associated microcontroller |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4315312A (en) * | 1979-12-19 | 1982-02-09 | Ncr Corporation | Cache memory having a variable data block size |
US4489378A (en) * | 1981-06-05 | 1984-12-18 | International Business Machines Corporation | Automatic adjustment of the quantity of prefetch data in a disk cache operation |
US4547849A (en) * | 1981-12-09 | 1985-10-15 | Glenn Louie | Interface between a microprocessor and a coprocessor |
JPH0776941B2 (ja) * | 1989-09-16 | 1995-08-16 | 富士通株式会社 | データ先読み制御方式 |
JPH04160661A (ja) * | 1990-10-25 | 1992-06-03 | Nec Corp | データ処理システム |
-
1993
- 1993-03-12 JP JP05252693A patent/JP3516963B2/ja not_active Expired - Fee Related
-
1996
- 1996-10-15 US US08/729,319 patent/US5752272A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5752272A (en) | 1998-05-12 |
JPH06266616A (ja) | 1994-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3516963B2 (ja) | メモリアクセス制御装置 | |
US6496902B1 (en) | Vector and scalar data cache for a vector multiprocessor | |
KR100262906B1 (ko) | 데이터 선인출 방법 및 시스템 | |
US5694568A (en) | Prefetch system applicable to complex memory access schemes | |
US5499355A (en) | Prefetching into a cache to minimize main memory access time and cache size in a computer system | |
US6219760B1 (en) | Cache including a prefetch way for storing cache lines and configured to move a prefetched cache line to a non-prefetch way upon access to the prefetched cache line | |
EP0604139B1 (en) | Computer system including a prefetch cache | |
US5371870A (en) | Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching | |
US5388247A (en) | History buffer control to reduce unnecessary allocations in a memory stream buffer | |
EP0762288B1 (en) | Prefetching data cache | |
US5751994A (en) | System and method for enhancing computer operation by prefetching data elements on a common bus without delaying bus access by multiple bus masters | |
US5715428A (en) | Apparatus for maintaining multilevel cache hierarchy coherency in a multiprocessor computer system | |
US5630075A (en) | Write combining buffer for sequentially addressed partial line operations originating from a single instruction | |
US8725987B2 (en) | Cache memory system including selectively accessible pre-fetch memory for pre-fetch of variable size data | |
US4933837A (en) | Methods and apparatus for optimizing instruction processing in computer systems employing a combination of instruction cache and high speed consecutive transfer memories | |
US5461718A (en) | System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory | |
EP0800137B1 (en) | Memory controller | |
JP3289661B2 (ja) | キャッシュメモリシステム | |
US6718441B2 (en) | Method to prefetch data from system memory using a bus interface unit | |
JPH09259036A (ja) | ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法 | |
JPH0962572A (ja) | ストリーム・フィルタ装置及び方法 | |
JPH0659976A (ja) | 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法 | |
US6237064B1 (en) | Cache memory with reduced latency | |
US6094711A (en) | Apparatus and method for reducing data bus pin count of an interface while substantially maintaining performance | |
US7165146B2 (en) | Multiprocessing computer system employing capacity prefetching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040122 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080130 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090130 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100130 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110130 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |