JPH06266616A - メモリアクセス制御装置 - Google Patents

メモリアクセス制御装置

Info

Publication number
JPH06266616A
JPH06266616A JP5052526A JP5252693A JPH06266616A JP H06266616 A JPH06266616 A JP H06266616A JP 5052526 A JP5052526 A JP 5052526A JP 5252693 A JP5252693 A JP 5252693A JP H06266616 A JPH06266616 A JP H06266616A
Authority
JP
Japan
Prior art keywords
memory
address
access
data
read
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
Application number
JP5052526A
Other languages
English (en)
Other versions
JP3516963B2 (ja
Inventor
Noboru Tanabe
昇 田邊
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP05252693A priority Critical patent/JP3516963B2/ja
Publication of JPH06266616A publication Critical patent/JPH06266616A/ja
Priority to US08/729,319 priority patent/US5752272A/en
Application granted granted Critical
Publication of JP3516963B2 publication Critical patent/JP3516963B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

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)

Abstract

(57)【要約】 (修正有) 【目的】 科学技術計算を効率的に実行できることが望
まれる超並列計算機にも適用可能な、コストパフォーマ
ンスの高いメモリアクセス装置を提供する。 【構成】 メモリアクセス制御装置は、連続アクセスに
対する高速な転送バイト幅を持つメモリと、このメモリ
に対してアクセス要求を発生するマスタ装置との間の制
御を行うメモリアクセス装置であって、アドレス保持手
段と、2のn乗バイト以上の容量がありデータの記憶及
び読出しの高速記憶手段と、アドレス領域に対するメモ
リ読みだし要求が前記マスタ装置から発生されたとき
に、上位ビットがアドレス保持手段に保持される値と一
致しないときには、当該アドレスをアドレス保持手段に
保持し、下位mビットを0にしたアドレスから連続する
2のm乗バイトのデータを前記メモリから読み出して高
速記憶手段に記憶し、構成される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は連続アクセス時に高速な
転送バンド幅を持つメモリと、これに対してアクセス要
求を発生するマスタ装置との間の制御をするメモリアク
セス制御装置に関する。
【0002】
【従来の技術】近年、高速アクセス可能であり、記憶容
量の少ないキャッシュと、低速だが容量の大きなDRA
M(Dynamic Random Access M
emory)による主記憶を備える情報処理システムが
RISC(Reduced Instruction
Set Computer)プロセッサの普及に伴い増
加している。このような情報処理システムの場合、キャ
ッシュにヒットしているときはプロセッサは高速に動作
できるものの、ミスヒットしたときにはキャッシュのリ
プレース動作は低速なDRAMへのアクセスとなる。そ
のため、ミスヒット時のペナルティを下げることがこの
情報処理システムの性能向上につながる。
【0003】特に科学技術計算のように大きな配列をな
めるようにアクセスすることが多いアクセスの局所性に
乏しいアプリケーションでは頻繁にキャッシュのミスヒ
ットが発生してしまうのでミスヒット時のペナルティの
軽減に対する必要性が高い。
【0004】また、数万台規模マイクロプロセッサを用
いた超並列計算機のように、外付けの大容量のキャッシ
ュがコストや消費電力などの観点から付加することが実
現性を低めてしまうシステムへのマイクロプロセッサの
適用時には、ミスヒットの確率の高い小容量の内蔵キャ
ッシュに頼らざるを得ず、ミスヒット時のペナルティ軽
減に対する必要性が高い。
【0005】そのため、従来キャッシュのリプレースが
固定長の複数ワードからなるブロックデータを単位とし
たメモリアクセスによって行われる性質と、DRAMの
ニブルモードやスタティックカラムモードなどの連続ア
クセス時の高速性を利用したメモリアクセスプロトコル
を実行可能とすることで、ミスヒット時のペナルティを
ある程度、軽減したシステムが存在している。
【0006】しかし、上記のような従来のシステムで
は、ミスヒットが起こった場合、必ず最初のワードがD
RAMから返送されてくるまでの期間はウエイト状態と
なるためDRAMのアクセスタイム以下のミスヒットペ
ナルティを実現することは不可能であった。
【0007】さらに、通常のマイクロプロセッサに内蔵
されるキャッシュのラインサイズは、限られた容量での
ヒット率の向上のためにあまり大きくできない。そのた
め、Rambus型DRAM(以下、単にR−DRAM
と略記することもある)のように長いブロック長でアク
セスしたときに大きな実質メモリバンド幅が得られる型
のDRAMを使用しても、その性能を生かしきることが
困難であった。
【0008】
【発明が解決しようとする課題】上述したように、従来
のシステムでは、DRAMのアクセスタイム以下のミス
ヒットペナルティを実現することは不可能であり、Ra
mbus型DRAMのように長いブロック長でアクセス
したときに大きな実質メモリバンド幅が得られる新型の
DRAMの性能を生かしきることが困難であった。
【0009】本発明は、上記課題に鑑みてなされたもの
で、従来の欠点を軽減して、科学技術計算を効率的に実
行できることが望まれる超並列計算機にも適用可能な、
コストパフォーマンスの高いメモリアクセス装置を提供
することを目的とする。
【0010】
【課題を解決するための手段】第1の発明では、連続ア
クセスに対する高速な転送バイト幅を持つメモリと、こ
のメモリに対してアクセス要求を発生するマスタ装置と
の間の制御を行うメモリアクセス装置であって、アドレ
スを保持するアドレス保持手段と、2のn乗バイト以上
の容量がありデータの記憶及び読出しを高速に行う高速
記憶手段と、アドレスから始まる領域に対するメモリ読
みだし要求が前記マスタ装置から発生されたときに、当
該アドレスの下位m(m≦n)ビットを除く上位ビット
がアドレス保持手段に保持される値と一致しないときに
は、当該アドレスをアドレス保持手段に保持し、アドレ
ス保持手段に保持される値の下位mビットを0にしたア
ドレスから連続する2のm乗バイトのデータを前記メモ
リから読み出して高速記憶手段に記憶し、メモリ読みだ
し要求のあったデータが高速記憶手段に存在するときは
当該高速記憶手段に記憶されるデータをマスタ装置に返
送する制御部とを具備することを要旨とする。
【0011】第2の発明では、連続アクセスに対する高
速な転送バイト幅を持つメモリと、このメモリに対して
アクセス要求を発生するマスタ装置との間の制御を行う
メモリアクセス装置であって、アドレスを保持するアド
レス保持手段と、2のn乗バイト以上の容量がありデー
タの記憶及び読出しを高速に行う高速記憶手段と、アド
レスから始まる領域に対するメモリ読みだし要求が前記
マスタ装置から発生されたときに、当該アドレスとアド
レス保持手段に保持される値との比較結果から過去のア
クセスの際のアドレスの連続性を求め、この求められた
連続性に応じて係数m(m≦n)の値を上下させ、当該
係数mを基に当該アドレスの下位mビットを除く上位ビ
ットがアドレス保持手段に保持される値と一致しないと
きには、当該アドレスをアドレス保持手段に保持し、ア
ドレス保持手段に保持される値の下位mビットを0にし
たアドレスから連続する2のm乗バイトのデータを前記
メモリから読み出して高速記憶手段に記憶し、メモリ読
みだし要求のあったデータが高速記憶手段に存在すると
きは当該高速記憶手段に記憶されるデータをマスタ装置
に返送する制御部とを具備することを要旨とする。
【0012】第3の発明では、連続アクセスに対する高
速な転送バイト幅を持つメモリと、このメモリに対して
アクセス要求を発生するマスタ装置との間の制御を行う
メモリアクセス装置であって、アドレスを保持するアド
レス保持手段と、データの記憶及び読出しを高速に行う
高速記憶手段と、前記マスタ装置から発生されたアドレ
スから始まる領域に対するメモリ読みだし要求のアドレ
スとアドレス保持手段に保持される値との比較結果から
過去のアクセスの際のアドレスの連続性を求め、メモリ
アクセスにおける連続性が高いと判断されるときには、
高速記憶手段に記憶されるデータのアドレスに連続する
アドレスに対応するデータを、マスタ装置からの要求の
前にメモリに対して読み出し要求する制御部とを具備す
ることを要旨とする。
【0013】また、望ましくは第1の発明のメモリアク
セス制御装置は、書き込み要求受信時にマスタから受信
するデータを格納する高速記憶手段を読みだし要求受信
時に用いる高速記憶手段とは別に具備するものである。
【0014】また、望ましくは第1の発明のメモリアク
セス制御装置は、マスタ装置のキャッシュラインサイズ
より大きな容量の高速記憶手段を具備し、マスタ装置か
らのブロック読みだし要求時の要求データ長より長いブ
ロックデータを高速記憶手段に読み出すことを可能とす
るものである。
【0015】また、望ましくは第1の発明のメモリアク
セス制御装置は、読みだしに用いられる高速記憶手段と
アドレスラッチと比較器の組を複数系統具備するもので
ある。
【0016】さらに、望ましくは第1の発明のメモリア
クセス制御装置は、連続アクセス時に高速なメモリとし
てRambus型DRAMを使用し、mに応じたデータ
長を要求するパケットヘッダー付加部と、mを0以上l
og2 (Rambusのバケット最大データ長)以下に
制御する制御部を具備するものである。
【0017】
【作用】第1の発明では、マスタ装置から発生されたア
ドレスから始まる領域に対するメモリ読みだし要求を受
信した時に、上記アドレスの下位mビットを除く上位ビ
ットがアドレス保持手段、例えばアドレスラッチの値と
一致しなかった場合、2のn乗バイト以上の容量をもつ
高速記憶手段を具備しm≦nであるので、2のn乗バイ
トのメモリから読み出されるブロックデータをこの高速
記憶に保持することができる。このメモリシステムは連
続アクセス時に高速な転送バンド幅を持つメモリと、高
速な連続メモリアクセス手順を実行可能な制御部を具備
するのでmが大きいほど実質的なメモリバンド幅が向上
する。2のm乗バイトのブロック長がマスタ装置に内蔵
されるキャッシュのラインサイズより長く、かつメモリ
アクセスの連続性が高い場合は後続の読みだし要求でア
クセスされるデータが先行する読みだし要求により高速
記憶に先取りされていることになるので、外部のDRA
Mのアクセスタイムを持つことなくマスタ装置にデータ
を供給できるようになる。先取りされているか否かは先
取りに用いられたアドレスがアドレスラッチに保持され
ているので、この上位ビットが現在のアクセス要求のア
ドレスの上位ビットと一致するかを比較することにより
判定できる。
【0018】第2の発明では、さらにアドレス保持手
段、例えばアドレスラッチの値と受信したアドレスの比
較結果から得られる過去のアクセス時のパターンのアド
レスの連続性に応じて状態を変え、この状態値をもとに
mの値を上下させるメモリアクセスブロック長制御部を
具備するので、アクセスの連続性の高いときはブロック
サイズを大きくして実質転送バンド幅を向上させ、アク
セスの連続性の低いときはブロックサイズを小さくして
無駄なデータの先取りにかかる転送時間を抑制すること
ができる。
【0019】第3の発明では、さらにメモリアクセスブ
ロック長制御部がアクセスの連続性が高いと判断してい
る状態では、高速記憶に格納されているブロックの直後
のアドレスに位置するブロックを、マスタ装置からの要
求を受信する前にメモリに対して読み出し要求を発生す
る先取り要求部を具備するので、アクセスの連続性の高
いときは高速記憶にマスタ装置が要求するデータブロッ
クが存在する確率が高くなるので、高速記憶の容量の限
界により生じるブロックの継ぎ目におけるアクセス遅延
を隠ぺいすることができる。
【0020】第4の発明では、書き込み要求受信時にマ
スタから受信するデータを格納する高速記憶を読みだし
要求受信時に用いる高速記憶とは別に具備するので、読
みだしブロックと書き込みブロックが異なる高速記憶に
記憶されるので、読み書きが交互に行われる場合におい
て先取りデータがフラッシュされてしまうことを排除で
きる。マスタ装置にある程度の容量のキャッシュが内蔵
される場合はマスタ装置の内蔵キャッシュに読み込まれ
たブロックはすぐにリプレースされることは少ないので
読みだし用と書き込み用に高速記憶を分けることの効果
が大きい。
【0021】第5の発明では、マスタ装置のキャッシュ
ラインサイズより大きな容量の高速記憶を具備している
のでメモリからマスタ装置のキャッシュラインサイズよ
り大きなブロックデータを読み込むことができ、マスタ
装置におけるキャッシュのミスヒットが連続した領域に
渡って生じた場合、後続するリプレース動作において高
速記憶から読み出すことができる。また大きなブロック
データをメモリから読み出すことができるので実質メモ
リバンド幅が上昇する。
【0022】第6の発明では、読みだしに用いられる高
速記憶とアドレスラッチと比較器の組を複数系統具備す
るので、複数の領域に対する連続アクセスストリームが
並行して存在する場合に先取りしたデータを他のストリ
ームによってフラッシュされてしまうことを起こり難く
することができる。
【0023】第7の発明では、連続のアクセス時に高速
なメモリとしてRambus型DRAを使用するので、
アクセスタイムは遅いが2nsピッチでデータが転送さ
れるので、他のタイプのDRAMに比べて多めに先取り
しても余分な先取りに消費される転送時間が短く、アク
セスブロック長をマスタに内蔵されるキャッシュのライ
ンサイズより長くとることができる第1の発明との相性
が良い。mに応じたデータ長を要求するパケットヘッダ
付加部と、mを0以上1og2 (Rambusのパケッ
ト最大データ長)以下に制限する制御部を具備させるこ
とによりRambusの仕様を逸脱する不正に長いブロ
ック長を有するパケットを生成してしまうことが防止さ
れる。
【0024】
【実施例】以下に本発明の実施例を説明する。
【0025】図1は本発明に係るメモリアクセス制御装
置を用いたプロセッサシステムの第1の実施例を示した
図である。本実施例では比較的小容量の内蔵キャッシュ
を有するマイクロプロセッサ3とRambus型DRA
M(以下、単にR−DRAMとも略記する)5の間に本
発明を適用したメモリアクセス制御装置を配置してい
る。
【0026】このメモリアクセス制御装置1は、例えば
図2に示すような多数のプロセシングエレメント(以
下、単にPEと略記する)がプロセッサ間結合網PNで
接続される超並列計算機に適用する場合は、図3に示す
ようにプロセッサ間の通信を制御するための通信制御回
路130とメモリアクセス制御装置120が一体となっ
て一つのコプロセッサ101を形成する場合が典型的と
思われる。また並列計算機専用のマイクロプロセッサ1
03においては上記のコプロセッサ101とメインのマ
イクロプロセッサ103が1チップ化されるならばより
望ましい。
【0027】また、このメモリアクセス制御装置がマイ
クロプロセッサチップに取り込まれてR−DRAMを直
結できるチップを構成し、低価格なパーソナルコンピュ
ータや機器への組み込み用途における性能向上に応用さ
れる場合も想定できる。
【0028】なかでも本発明に係るメモリアクセス制御
装置の代表的な応用システムである超並列計算機は、近
年マイクロプロセッサの目ざましい進歩によりペクトル
型スーパーコンピュータでは達成不可能な性能領域の実
現のための最も有力なアプローチと見られており、特に
大規模な科学技術計算に対するニーズが明確である。
【0029】ところが、科学技術計算は大きく配列デー
タに対して全体をなめるように演算を行う性質(データ
参照の非局所性)が強く、キャッシュの容量を越える配
列を扱うとヒット率の低下を引き起こし、マイクロプロ
セッサの本来の性能を引き出せなくなってしまう。
【0030】また1TFLOPS以上の性能カバーする
ようなクラスの超並列計算機は100MFLOPS程度
のマイクロプロセッサが実現可能な現在では、PE数は
一万以上の大規模なものとならざるをえず、PEはコス
ト・消費電力・信頼性の観点からDRAMを含めて十チ
ップ程度以下の少数のVLSIから構成されることが望
ましい。よってこのクラスの超並列計算機に各PEにD
RAMによる主記憶の他に、図18に示すような従来の
典型的な高性能マイクロプロセッサ利用システムのよう
に、高価で消費電力の高い高速SRAMを外付けして実
現される2次キャッシュを搭載することは実現性が低い
と言わざるを得ない。
【0031】以上のような観点から、特に1TFLOP
S以上のクラスの超並列計算機においては外付けのキャ
ッシュを用いずに、内蔵キャッシュのミスヒットが多発
する科学技術計算を高速化可能なメモリーキテクチャを
必要としており、本発明はこのような応用に対して適す
るものである。
【0032】大規模な科学技術計算を通常のマイクロプ
ロセッサで行う場合はキャッシュのミスヒット(キャッ
シュラインの主記憶とのリプレース)は不可避であり、
必ず主記憶に対して頻繁なアクセスが生じる。ゆえに、
このリプレース動作のオーバーヘッドを短縮すること
と、実質的な主記憶バンド幅を高く保つことが重要にな
る。
【0033】近年の高性能なマイクロプロセッサには、
殆ど例外無く、1次キャッシュを内蔵しており、通常限
られた容量でのキャッシュのヒット率を高くするために
キャッシュラインのブロック長は16〜32バイト程度
で抑えられている。つまりキャッシュ可能領域をアクセ
スしている場合はミスヒット時のリプレース動作のたび
に16〜32バイト程度の短いブロックに対する連続ア
クセスが発生する。
【0034】一方、超並列計算機のPEのように、少な
いチップ数のDRAMからなる主記憶のメモリにおい
て、バンド幅を100MFLOPSのクラスのマイクロ
プロセッサの性能とバランスが崩れないようにするため
には、150ns程度のサイクルタイムを持つ典型的な
DRAMの通常アクセスモードの使用は、8bit幅の
チップを用いたとしても、7MB/chip程度のバン
ド幅しかないので、インターリーブ方式を用いた構成と
してもチップ数の観点から無理がある。
【0035】ある典型的な4Mbitの高速ページモー
ド付きDRAMではRASアクセス遅延時間80ns、
高速ページモードサイクル時間が50nsであるので、
これをインターリーブせずに用いて64ビット幅データ
バスを構成し、16〜32バイトのブロックアクセスを
させると図19に示されるようなタイムチャートでメモ
リアクセスが行われ、89〜114MB/のメモリバン
ド幅が得られることになる。しかし、これは64ビット
浮動小数演算に換算して11〜15MFLOPS程度の
性能を維持するバンド幅に過ぎない。
【0036】従って、チップ数に限りのあるシステムで
は、連続アクセスをした場合のチップそのものの転送バ
ンド幅が、高いRambus型DRAM(500MB/
s/chip)や同期型DRAM(100MB/s/c
hip)を使用することが望ましい。
【0037】ところが本実施例のようにRambus型
DRAMを用いるとすると、リードアクセス要求パケッ
トが出力されてから最初の1バイトが返送されてくるま
でに、例えばある典型的な4.5MbitのR−DRA
Mではメモリに内蔵されるセンスアンプキャッシュがミ
スヒットした場合220ns、ヒットした場合48ns
のアクセス遅延がかかることになる。
【0038】このため上記のようなマイクロプロセッサ
内蔵キャッシュのミスヒット時の16〜32バイト程度
の短いアクセスでは、これを図20に示したタイムチャ
ートのようにブロックアクセスしても、2nsごとに1
バイトの転送が行われているにもかかわらず、センスア
ンプキャッシュがミスヒットすると最大転送バンド幅の
1〜2割程度の性能の63〜112MB/sしか得られ
ない。センスアンプキャッシュがヒットしても最大転送
バンド幅の五割程度の性能の200〜285MB/sに
止まる。
【0039】つまり単純にRambusを用いただけで
は従来の通常DRAMを用いたブロックアクセスをサポ
ートするシステムのメモリバンド幅の2倍程度にとどま
り、64ビット浮動小数演算に換算して30MFLOP
S程度の演算性能を維持するバンド幅に過ぎない。
【0040】以下、図1を参照して第1の実施例につい
て説明する。まず、、構成を説明する。マイクロプロセ
ッサ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等と接続される。
【0041】すなわち、本実施例ではメモリアクセス制
御装置1内に、例えばSRAMで構成される先読み用の
高速記憶29Rを設けている。この高速記憶29Rの容
量はマスタ装置であるマイクロプロセッサに内蔵される
キャッシュの1ライン分(例えば典型的な値として16
バイトとする)より大きなものを用意し、本実施例では
Rambusの一回のアクセスで処理できる最大のデー
タ長である256バイトの先読み用高速記憶29Rを用
意する。
【0042】以下ではまずマスタ装置からの読みだし要
求に対する基本的な動作手順を述べるが、これをまとめ
ると図4のような手順となる。
【0043】まず、ステップS1において、マスタ装置
のマイクロプロセッサ3からのアクセス要求すなわちア
ドレスとブロック長は、プロセッサ側バス制御部の制御
のもとで、要求アドレスラッチ25と読みだし要求の場
合は読みだし要求ブロック長ラッチ27、書き出し要求
の場合は書き出し要求ブロック長ラッチ35にそれぞれ
保存される。これらのブロック長は通常マイクロプロセ
ッサ3のキャッシュ3aの1ラインのバイト数(ここで
は16バイト)を越えることはない。
【0044】先読み用高速記憶29Rにブロックデータ
がメモリより読み込まれる場合は、そのブロックを指定
する上位アドレスがラッチ制御A15によって制御され
るアドレスラッチA13に保持される。
【0045】初期状態においては読みだしブロック長レ
ジスタ19は、例えばマイクロプロセッサ3の内蔵キャ
ッシュ3aの1ラインのバイト数の2倍の値を示すよう
になっており、ミスヒットによって発生する読みだしア
クセス要求およびアドレスをマイクロプロセッサ3から
受信すると、ステップS3において比較器A11はアド
レスラッチA13の値と要求アドレスラッチ25に保持
されたマイクロプロセッサ3が出力したアドレスの上位
ビットとを比較する。
【0046】ここで比較される上位ビットとは、例えば
32ビットのアドレスがマイクロプロセッサ3から出力
され、読みだしブロック長レジスタ19にセットされて
いる値が32バイト(アドレス5ビット分)を示すなら
ば上位27ビットということになる。
【0047】最初のアクセスでは不一致を起こし、その
アドレスがアドレスラッチA13にラッチされ(ステッ
プS5)、読みだしブロック長レジスタ19の値が示す
長さ(ここではキャッシュライン長の2倍の32バイ
ト)のデータを要求するパケットをRambusパケッ
ト生成・分解部31が生成し、Rambusインターフ
ェース部33を介してR−DRAM5に送信する。
【0048】R−DRAM5のアクセス遅延時間(セン
スアンプキャッシュがミスヒットした場合は220n
s)が経過するとR−DRAM5から読み出しデータパ
ケットが返送され、Rambusインターフェース3
3、Rambusパケット生成・分解部31を介して、
先読み用高速記憶29Rに格納される。
【0049】次にプロセッサ側バス制御部23は、ステ
ップS13で先読み高速記憶29R上のデータの中でマ
イクロプロセッサ3から先だって要求されたデータ長
(キャッシュ3aの1ライン分の16バイト)のデータ
をマイクロプロセッサ3に返送する。
【0050】次に再びミスヒットが生じて読みだし要求
がマイクロプロセッサ3より出力されたときは、アドレ
スラッチA13のアドレスの上位ビットとマイクロプロ
セッサ3が出力したアドレスの上位ビットをステップS
3で比較器A11によって比較される。これが一致する
とステップS11で先読み用の高速記憶29R内に対応
するブロックが先読みされていることをプロセッサ側バ
ス制御部23は認識し、R−DRAM5へのトランザク
ションを発生しなくても即座にマイクロプロセッサ3に
要求されたブロックを返送することができ、ミスヒット
のペナルティが大幅に改善される。
【0051】図5にRambusDRAM5を用いて先
読みをしない場合のタイムチャートを示し、図6にRa
mbusDRAM5を用いて16バイトの先読みをする
(つまり32バイトのブロックアクセスをする)場合の
タイムチャートを示す。両者の違いは応答データ2の返
るタイミングの違いより明らかである。
【0052】なお図5では読みだし要求1のアドレスと
書き出し要求アドレスが別チップのR−DRAMに対応
して読み出し要求1のブロックを含むR−DRAM内部
のセンスアンプキャッシュが書き出し要求2により破壊
されなかったことにより、読みだし要求2がセンスアン
プキャッシュヒットにより48nsで読み出された場合
を示したが、書き出し要求2がこれを破壊した場合は4
8nsではなく220nsのアクセス遅延がかかること
になるため、応答データ2の返るタイミングはさらに遅
れることになる。
【0053】一方、先読みをした場合は2回目のアクセ
ス要求受信時にアドレスラッチAのアドレスの上位ビッ
トとマイクロプロセッサが出力したアドレスの上位ビッ
トが不一致だった場合は、1回目の不一致時に読みだし
た32バイトのうちの32バイトが無駄になったことに
なるが、RambusDRAM5の所要時間は最初から
16バイトのみ読み込んだ場合が252nsであるのに
対し、32バイトを読み込むと所要時間は284nsと
なり16バイト分の32nsの無駄をしただけですむの
で、RambusDRAM5を用いた場合は先読み失敗
時の損害が少なくて済む。また次のアクセス要求が間髪
入れずに起こらない場合は、Rambusの空き時間が
先読みに使用されることになるので無駄な先読みをした
ことへのマスタへの影響が全くない場合もある。
【0054】上記の説明では16バイトの内蔵キャッシ
ュラインを持つ場合にその2倍の32バイトのブロック
メモリアクセスを行う場合について説明したので、25
6バイト用意した先読み用高速記憶が部分的にしか使わ
れていない。
【0055】次に、残った先読み用高速記憶を効果的に
利用するための機構について説明する。本実施例ではア
クセス連続性判定部を備えており、このアクセス連続性
判定部は比較器A11からの比較結果を監視していて、
過去の比較結果に応じて状態を変える。
【0056】つまりマイクロプロセッサ3からの読みだ
し要求アドレスと先読み高速記憶29Rに格納されてい
るブロックのアドレスの一致を示す信号が頻繁に発生す
るときはアクセスの連続性が強い動作状態であり、逆に
不一致を示す信号が頻繁に発生するときはアクセスの連
続性が弱い状態と判断する。
【0057】アクセスの連続性が強い時は読みだしブロ
ック長を長くしたほうがRambusDRAM5への読
みだし要求データ長を長くでき、アクセス遅延を生じさ
せる原因となるアクセス回数を減らし、さらに先読み高
速記憶がヒットして即座にマイクロプロセッサーに応答
が返る確率が高くなる。
【0058】例えば、読みだしブロック長を256バイ
トとした場合はセンスアンプキャッシュがミスヒットし
た場合でも350MB/sの実質転送速度が得られ、ヒ
ットした場合は457MB/sという高い転送速度が実
現できる。
【0059】連続アクセスを行っている場合でマイクロ
プロセッサ3の内蔵キャッシャラインが16バイトなら
ば、16回につき15回のリプレース時に高速記憶29
Rから即座に要求ブロックの返送が起こり先読みが当た
った時の効果は大きい。
【0060】しかし常に読みだし要求ブロック長を可能
な限り長く(例えばRambusバケットの最大データ
長256バイト)すれば良いというものではなく、アク
セスの連続性が弱くマイクロプロセッサ3の内蔵キャッ
シュ3aのリプレース時の読みだしブロックが直前にブ
ロックから離れた場所であるならば、先読みしたデータ
は無駄になり、無駄なデータは転送にかかる時間が無駄
になる。
【0061】例えば256バイトで常にメモリから読み
だし、これらが無駄になった場合は240バイト分の4
80nsの無駄となり、このような長さではマスタ装置
からの他のメモリアクセス要求が待たされる危険が高く
時間的損害が大きい。ゆえにランダムにアクセスするよ
うな実行状況では読みだしブロック長を短く(例えば1
6バイトに)したようが良い。
【0062】よって実施例においてはアクセス連続性判
定部17がアクセスの連続性が高いと判断したときは読
みだしブロック長が大きな値となり、アクセスの連続性
が低いと判断した時は読みだしブロック長が小さな値と
なるように制御される。
【0063】通常のキャッシュは1ラインのブロック長
が固定であるのに対し、メモリへの読みだしブロック長
を動的に制御不可能であるが、本発明は動作状態に適応
して適切な読みだしブロック長を実現し、メモリバンド
幅の効率的使用を行うことができる。
【0064】つまり、マスタ装置のマイクロプロセッサ
3のキャッシュ3a自体にプリフェッチの機能が備わっ
ていたり、プリフェッチを促す命令を備えていたとして
も、それだけではメモリアクセスを行うデータブロック
長が固定なので、たとえR−DRAMや同期型DRAM
のように連続アクセス時に高度な転送バンド幅を有する
メモリを用いても、実際に獲得できるバンド幅はデータ
ブロック長の短さにより低く固定される。
【0065】これに対し本発明はプリフェッチに関する
機能を備えたマイクロプロセッサに対してもメモリバン
ド幅を向上させる効果がある。また特殊な命令の新設を
必要としないので、プリフェッチを促す命令がないマイ
クロプロセッサにも適用できる汎用性のある技術であ
る。
【0066】上記までの説明ではメモリアクセス制御装
置自体が発生するメモリへのプリフェッチトランザクシ
ョンについては述べられていないが、本実施例では、そ
のような自発的なプリフェッチを併用しており、マスタ
装置からの要求を受信する前にメモリに対して読み出し
要求を発生する先取り要求部21を具備している。
【0067】この先取り要求部21はメモリアクセスブ
ロック長制御部がアクセスの連続性が高いと判断してい
るか否かを、読みだしブロック長レジスタ19に設定さ
れている値や現在高速記憶に先読みされているブロック
のヒット状況から知り、この情報を元に連続性が高いと
判断される場合は、高速記憶のデータをマスタ装置への
転送完了を受けて高速記憶中にあったブロックの直後の
アドレスに位置するブロックをメモリから読み出す要求
を発生する。
【0068】つまりアクセスの連続性の高い状態では、
高速記憶29RにRambusDRAM5の最大データ
長などの原因により先取りしきれなかった後続するブロ
ックに対して、やがてマスタ装置から読み出しの要求が
来る確率が高いので、マスタ装置から要求が来る前にメ
モリに要求を出しておけば、読みだしブロックの切れ目
でのマスタ装置への応答高速化することができる。
【0069】図7は図6に示した動作のしばらく後に3
回目のミスヒットがマスタ装置で起こった場合に能動的
に先読みを行わない場合のタイムチャートであり、図8
は図6に示した動作のしばらく後に3回目のミスヒット
がマスタ装置で起こった場合に能動的な先読みを行う場
合のタイムチャートである。
【0070】図7の場合は2回目のRambusDRA
M5への書き込みと3回目の書き込みの間にアイドルタ
イムができてしまい、さらに3回目の読みだし要求への
応答がメモリアクセス遅延がかかってしまうので遅れる
が、図8ではこのアイドルタイムに能動的先読みをして
いるのでRambusDRAM5が有効に利用され、3
回目の読みだし要求への応答が先読み高速記憶から即座
に行われるので32バイトずつしか高速記憶に読みだし
ていないのにもかかわらず、切れ目無く先読み用高速記
憶29Rから読みだしているようにマスタから見えるよ
うになる。
【0071】以上の説明ではメモリからの読みだしに対
する動作を述べたが、以下にメモリへの書き込みに対す
る動作を説明する。本実施例では図1に示されるように
先読み用高速記憶29Rの他に書き出し用の高速記憶2
9Wを具備している。
【0072】本実施例では書き出し用高速記憶29Wは
マスタ装置であるマイクロプロセッサ3のキャッシュラ
インサイズに等しい16バイトの容量を持たせている。
【0073】この書き出し用高速記憶29Wはキャッシ
ュラインリプレース要求発生時などにマスタ装置からの
書き込みデータをメモリに書き込む前に一旦記憶して、
速やかにマスタ装置とメモリアクセス制御装置間のバス
を開放させ、引き続く読みだし要求を速やかにメモリア
クセス制御装置に伝えさせることを促進する。
【0074】先読み用高速記憶29Rと書き出し用高速
記憶29Wを兼用にすると、書き出しデータによって先
読みしたデータがつぶされる可能性があり、先読みの効
果が薄くなってしまう。
【0075】例えば図9に示すように高速記憶29R上
にアドレス&1000番地から始まる32バイトが読み
込まれていたとして、続いて&2000番地へ16バイ
トの書き込みが発生した場合、先読み用高速記憶29R
と書き出し用高速記憶29Wを兼用にすると、図10に
示すように高速記憶29Rに&2000番地から始まる
16バイトが書き込まれるとアドレスラッチA13の値
が&1000から&2000番地に変わってしまい、先
読みデータのアドレスを知る手段が無くなることにより
先読みデータは無効になってしまう。
【0076】一方、本実施例のように読み用と書き出し
用に高速記憶29を分離しておくと、マスタ装置からの
データが書き込まれる場所を指定するもの(つまりアド
レスラッチB)とメモリから読み出されたデータが書き
込まれる場所を指定するもの(つまりアドレスラッチA
13)は別になるので、図11及び図12のように先読
みデータを無効化してしまうことなしに書き込みのバッ
ファリングができる。
【0077】ところが上記のように先読み用と書き出し
用に高速記憶29を分離した場合は、先読みと書き出し
はマスタの読み出しのタイミングの前後関係によってマ
スタ装置に返される値が異ならないようにする必要が生
じる。
【0078】本実施例では図13のようにマスタ装置か
らメモリアクセス制御装置の書き込み用高速記憶29R
に書き出した直後にそのデータを読み出す場合に、例え
ば&1000から始まるデータXのメモリ読み出しの際
に&1010から始まるデータYを先読みした後にマス
タより&1010にデータZが書き出され、その直後に
&1010への読み出し要求がマスタより出されたなら
ば、最新のデータであるデータZが返されるのが正し
く、古いデータYを返してしまっては誤りである。
【0079】このように本実施例ではメモリに対して書
き終わった場合と書き終わっていない場合のマスタ装置
に返されるデータに不一致が起こらないようにするため
に、図14のように先読み用高速記憶29R上のデータ
ブロックに対するアドレスへの書き出しがマスタ装置よ
り発生した場合は、連想構想A10が検出してプロセッ
サ側バス制御部23に通知し、先読み用高速記憶29R
と書き出し用高速記憶29Wの両方に書き込む。
【0080】先読み用高速記憶29R側にも最新の値を
書いておくことにより、複数回書き出された後に先読み
用高速記憶29R上にある更新される前のデータがマス
タからの読み出し要求に応答してメモリ上の最新データ
とは違うデータを渡してしまうことを防止し、遅延時間
の大きなメモリアクセスを行わずに書き出し用高速記憶
29Wからの高速な応答をマスタ装置に返すことができ
る。
【0081】以上の説明は先読み用高速記憶29Rと書
き出し用高速記憶29Wをそれぞれ一つずつ具備する例
について述べたが、以下ではこれらが複数になる場合に
ついて説明する。
【0082】図15は本発明にかかるメモリアクセス制
御装置を用いたプロセッサシステムの第2の実施例を示
した図である。
【0083】第1の実施例との違いは、図16のような
読み出し用高速記憶351とアドレスラッチ353と比
較器355とメモリ読みだしブロック長ラッチ357と
先読みデータ有効フラグ359の組からなる読み出しバ
ッファ部35と、図17のような書き出し用高速記憶3
71とアドレスラッチ373と書き出し要求ブロック長
ラッチ375と書き出しデータ有効フラグ377の組か
らなる書き出しバッファ部37を、それぞれ複数系統具
備している点にある。
【0084】プロセッサ側バス制御部23Aは、プロセ
ッサ3からの読み出し要求受信時にはアドレス比較結果
信号が一致状態になっている1つの読み出しバッファ3
5から読み出し、書き出し要求受信時には書き出しデー
タ有効フラグ377が空状態になっている書き込みバッ
ファ37を1つ選択しデータを書き込む。
【0085】もし本実施例と異なり第1の実施例のよう
に読み出しバッファ35を複数具備しないと、例えばC
(i)=A(i)+B(i)のような配列の加算などの
ように、短期的に複数の配列からデータを読み出して演
算するような処理を行うとき、1つの配列Aに対応する
メモリブロックを先読みしても後続する別の配列Bに対
応するメモリアクセスにより先読みはデータAが破壊さ
れるという危険が高い。
【0086】また科学技術計算においては余り大きな影
響はないことが多いが、命令キャッシュのミスヒットが
起こりやすいプログラムでは命令フェッチに伴うメモリ
読み出しにより先読みデータが破壊されることもある。
【0087】しかし本実施例では複数(4個)の読み出
しバッファ35A,35B,35C,35Dを具備する
ので、4本の独立した読み出しデータ流が短期的に読み
出しバッファ内に共存できる。よって先読みしたデータ
が破壊されず有効にプロセッサに渡される可能性が高ま
っている。
【0088】上述したように、本発明は小容量の内蔵キ
ャッシュを有する演算能力の高いマイクロプロセッサを
外付けの大容量キャッシュを用いることなく、内蔵キャ
ッシュのミスヒットペナルティを大幅に削減することが
できるため、少ないハードウェア量でマイクロプロセッ
サが持つ本来の高い性能を引き出すことができるもので
ある。
【0089】特に科学技術計算のように複数の大きな配
列をなめるようにアクセスすることが多いアクセスの局
所性に乏しいアプリケーションでのミスヒット時のペナ
ルティの軽減の効果が高い。
【0090】また本発明を適用すればアクセスの連続性
が乏しい場合は適応的にメモリアクセスブロック長を短
くして余計な先読みが抑制されるので、科学技術計算以
外のアプリケーションに対する副作用が排除されてい
る。
【0091】従来はキャッシュのミスヒットが起こった
場合に必ず最初のワードがDRAMから返送されてくる
までの期間はウエイト状態となるためDRAMのアクセ
スタイム以下のミスヒットペナルティを実現することは
不可能であったが、本発明では先読みが成功した場合は
DRAMのアクセス遅延に関わらず即座に応答を返すこ
とができる。
【0092】また通常のマイクロプロセッサに内蔵され
るキャッシュのラインサイズは限られた容量でのヒット
率の向上のためにあまり大きくできず、Rambus型
DRAMのような長いブロック長でアクセスしたときに
大きな実質メモリバンド幅が得られる新型のDRAMの
性能を生かしきることが困難であったが、本発明によれ
ばアクセスの連続性が高ければブロック長が適応的に長
くなるのでRambusDRAMの高い転送バンド幅を
生かすことができる。
【0093】以下のような効果が大容量の外付けキャッ
シュなしにプロセッサ間通信制御を行うLSIに内蔵で
きる程度のわずかなハードウェアの追加により実現でき
るので、1TFLOPSを越えるような領域の性能を達
成する超並列計算機が、現実的なコストで実現可能とな
る。
【0094】本発明の効果は超並列計算機に限られず、
小型化や低消費電力化や低コスト化が要求されるマイク
ロプロセッサ応用製品全てに適用可能であり、これらコ
ストパフォーマンス向上に大きく寄与する。
【0095】また内蔵キャッシュを持たないマイクロプ
ロセッサや、外付けキャッシュを持つシステムや、既に
先取り機能を有するマイクロプロセッサを利用するシス
テムにおいて本発明を適用しても、メモリアクセス遅延
を隠ぺいする効果などが得られる。
【0096】
【発明の効果】以上説明したように、本発明は小容量の
内蔵キャッシュを有するマイクロプロセッサを外付けの
大容量キャッシュを用いることなく、内蔵キャッシュの
ミスヒットペナルティを大幅に削減することができる等
の効果を奏するものである。
【図面の簡単な説明】
【図1】本発明に係るメモリアクセス制御装置を用いた
プロセッサシステムの第1の実施例を示したブロック図
である。
【図2】超並列計算機の概略的構成を示したブロック図
である。
【図3】プロセッサ間の通信制御するための回路とメモ
リアクセス制御装置が渾然一体となった1つのコプロセ
ッサLSIを含む超並列計算機のプロセシングエレメン
トの概略的構成を示すブロック図である。
【図4】マスタ装置からの読みだし要求に対する基本的
な動作手順を示すフローチャートである。
【図5】Rambusを用いて先読みしない場合のキャ
ッシュリプレース時のタイムチャートである。
【図6】Rambusを用いて16バイトの受動的な先
読みをする場合のキャッシュリブレース時のタイムチャ
ートである。
【図7】図6に示した動作のしばらく後に3回目のミス
ヒットがマスタ装置で起こった場合に能動的な先読みを
行わない場合のタイムチャートである。
【図8】図6に示した動作のしばらく後に3回目のミス
ヒットがマスタ装置で起こった場合に能動的な先読みを
行う場合のタイムチャートである。
【図9】高速記憶上に32バイトが読み込まれている状
態を示した図である。
【図10】先読み用高速記憶と書き出し用高速記憶を兼
用にした時の先読みデータが無効になる場合を示した図
である。
【図11】先読み用高速記憶と書き出し用高速記憶を分
離すると図10と同様なアクセスが起こっても先読みデ
ータが無効にならないことを示した図である。
【図12】先読み用高速記憶と書き出し用高速記憶を分
離すると図10と同様なアクセスが起こっても先読みデ
ータが無効にならないことを示した図である。
【図13】マスタ装置からメモリアクセス制御装置の書
き込み用高速記憶に書き出した直後にそのデータを読み
出す場合に古いデータを返すことによる誤り動作の例を
示す図である。
【図14】マスタ装置からメモリアクセス制御装置の書
き込み用高速記憶に書き出した直後にそのデータを読み
出す場合に新しいデータを返すことによる正しい動作の
例を示すブロック図である。
【図15】本発明にかかるメモリアクセス制御装置を用
いたプロセッサシステムの第二の実施例を示したブロッ
ク図である。
【図16】図15に示すメモリアクセス制御装置内の読
み出しバッファ部の構成を示したブロック図である。
【図17】図15に示すメモリアクセス制御装置内の書
き出しバッファ部の構成を示したブロック図である。
【図18】従来の典型的な高性能マイクロプロセッサ利
用システムの構成を示すブロック図である。
【図19】DRAMの高速ページモードによるブロック
アクセスを利用した従来のキャッシュリプレース時のタ
イムチャートである。
【図20】Rambus型DRAM(R−DRAM)を
用いた場合のキャッシュリプレース時のタイムチャート
である。
【符号の説明】
1 メモリアクセス制御装置 3 マイクロプロセッサ 5 RambusDRAM 10 連想機構A 11 比較器A 13 アドレスラッチ 15 ラッチ制御A 17 アクセス連続性判定部 19 読み出しブロック長レジスタ 21 先取り要求部 23 プロセッサ側バス制御部 25 要求アドレスラッチ 27 読み出し要求ブロック長ラッチ 29 高速記憶 30 制御部 31 Rambusパケット生成・分解部 33 Rambusインタフェース 35 書き出し要求ブロック長ラッチ 37 アドレスラッチ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 連続アクセスに対する高速な転送バイト
    幅を持つメモリと、このメモリに対してアクセス要求を
    発生するマスタ装置との間の制御を行うメモリアクセス
    装置であって、 アドレスを保持するアドレス保持手段と、 2のn乗バイト以上の容量がありデータの記憶及び読出
    しを高速に行う高速記憶手段と、 アドレスから始まる領域に対するメモリ読みだし要求が
    前記マスタ装置から発生されたときに、当該アドレスの
    下位m(m≦n)ビットを除く上位ビットがアドレス保
    持手段に保持される値と一致しないときには、当該アド
    レスをアドレス保持手段に保持し、アドレス保持手段に
    保持される値の下位mビットを0にしたアドレスから連
    続する2のm乗バイトのデータを前記メモリから読み出
    して高速記憶手段に記憶し、メモリ読みだし要求のあっ
    たデータが高速記憶手段に存在するときは当該高速記憶
    手段に記憶されるデータをマスタ装置に返送する制御部
    とを有することを特徴とするメモリアクセス制御装置。
  2. 【請求項2】 連続アクセスに対する高速な転送バイト
    幅を持つメモリと、このメモリに対してアクセス要求を
    発生するマスタ装置との間の制御を行うメモリアクセス
    装置であって、 アドレスを保持するアドレス保持手段と、 2のn乗バイト以上の容量がありデータの記憶及び読出
    しを高速に行う高速記憶手段と、 アドレスから始まる領域に対するメモリ読みだし要求が
    前記マスタ装置から発生されたときに、当該アドレスと
    アドレス保持手段に保持される値との比較結果から過去
    のアクセスの際のアドレスの連続性を求め、この求めら
    れた連続性に応じて係数m(m≦n)の値を上下させ、
    当該係数mを基に当該アドレスの下位mビットを除く上
    位ビットがアドレス保持手段に保持される値と一致しな
    いときには、当該アドレスをアドレス保持手段に保持
    し、アドレス保持手段に保持される値の下位mビットを
    0にしたアドレスから連続する2のm乗バイトのデータ
    を前記メモリから読み出して高速記憶手段に記憶し、メ
    モリ読みだし要求のあったデータが高速記憶手段に存在
    するときは当該高速記憶手段に記憶されるデータをマス
    タ装置に返送する制御部とを有することを特徴とするメ
    モリアクセス制御装置。
  3. 【請求項3】 連続アクセスに対する高速な転送バイト
    幅を持つメモリと、このメモリに対してアクセス要求を
    発生するマスタ装置との間の制御を行うメモリアクセス
    装置であって、 アドレスを保持するアドレス保持手段と、 データの記憶及び読出しを高速に行う高速記憶手段と、 前記マスタ装置から発生されたアドレスから始まる領域
    に対するメモリ読みだし要求のアドレスとアドレス保持
    手段に保持される値との比較結果から過去のアクセスの
    際のアドレスの連続性を求め、メモリアクセスにおける
    連続性が高いと判断されるときには、高速記憶手段に記
    憶されるデータのアドレスに連続するアドレスに対応す
    るデータを、マスタ装置からの要求の前にメモリに対し
    て読み出し要求する制御部とを有することを特徴とする
    メモリアクセス制御装置。
JP05252693A 1993-03-12 1993-03-12 メモリアクセス制御装置 Expired - Fee Related JP3516963B2 (ja)

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 true JPH06266616A (ja) 1994-09-22
JP3516963B2 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)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247104B1 (en) 1997-09-17 2001-06-12 Nec Corporation Memory access control circuit
JP2001175534A (ja) * 1999-12-17 2001-06-29 Sanyo Electric Co Ltd メモリ制御回路
WO2006030650A1 (ja) * 2004-09-16 2006-03-23 Nec Corporation 複数の処理ユニットでリソースを共有する情報処理装置
US7188190B1 (en) 1999-06-04 2007-03-06 Fujitsu Limited Packet data processing apparatus and packet relay apparatus
JP2007537541A (ja) * 2004-05-14 2007-12-20 マイクロン テクノロジー,インコーポレイテッド メモリシーケンスのためのメモリハブおよび方法
JP2009289232A (ja) * 2008-06-02 2009-12-10 Renesas Technology Corp 半導体集積回路
US8880833B2 (en) 2003-12-29 2014-11-04 Micron Technology, Inc. System and method for read synchronization of memory modules
US8954687B2 (en) 2002-08-05 2015-02-10 Micron Technology, Inc. Memory hub and access method having a sequencer and internal row caching
JP2021536643A (ja) * 2018-09-12 2021-12-27 マイクロン テクノロジー,インク. ハイブリッドメモリシステムインタフェース

Families Citing this family (19)

* Cited by examiner, † Cited by third party
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
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
US6085287A (en) * 1997-12-30 2000-07-04 Genesis One Technologies, Inc. Method and apparatus for enhancing the disk cache process by dynamically sizing prefetch data associated with read requests based upon the 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
US6970978B1 (en) * 2002-04-03 2005-11-29 Advanced Micro Devices, Inc. System and method for providing a pre-fetch memory controller
US6871246B2 (en) * 2003-05-07 2005-03-22 Freescale Semiconductor, Inc. Prefetch control in a data processing system
KR100809069B1 (ko) * 2006-11-03 2008-03-03 삼성전자주식회사 비휘발성 메모리를 구비하는 광학 매체 드라이브 및 그구동 방법
US10621092B2 (en) 2008-11-24 2020-04-14 Intel Corporation Merging level cache and data cache units having indicator bits related to speculative execution
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
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
US10860491B2 (en) * 2019-05-03 2020-12-08 Mediate Inc. Cache management method using object-oriented manner and associated microcontroller

Family Cites Families (5)

* Cited by examiner, † Cited by third party
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 データ処理システム

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6247104B1 (en) 1997-09-17 2001-06-12 Nec Corporation Memory access control circuit
US7188190B1 (en) 1999-06-04 2007-03-06 Fujitsu Limited Packet data processing apparatus and packet relay apparatus
JP2001175534A (ja) * 1999-12-17 2001-06-29 Sanyo Electric Co Ltd メモリ制御回路
US8954687B2 (en) 2002-08-05 2015-02-10 Micron Technology, Inc. Memory hub and access method having a sequencer and internal row caching
US8880833B2 (en) 2003-12-29 2014-11-04 Micron Technology, Inc. System and method for read synchronization of memory modules
JP4769797B2 (ja) * 2004-05-14 2011-09-07 マイクロン テクノロジー, インク. メモリシーケンスのためのメモリハブおよび方法
JP2007537541A (ja) * 2004-05-14 2007-12-20 マイクロン テクノロジー,インコーポレイテッド メモリシーケンスのためのメモリハブおよび方法
US7650453B2 (en) 2004-09-16 2010-01-19 Nec Corporation Information processing apparatus having multiple processing units sharing multiple resources
JP4737438B2 (ja) * 2004-09-16 2011-08-03 日本電気株式会社 複数の処理ユニットでリソースを共有する情報処理装置
JPWO2006030650A1 (ja) * 2004-09-16 2008-05-15 日本電気株式会社 複数の処理ユニットでリソースを共有する情報処理装置
WO2006030650A1 (ja) * 2004-09-16 2006-03-23 Nec Corporation 複数の処理ユニットでリソースを共有する情報処理装置
JP2009289232A (ja) * 2008-06-02 2009-12-10 Renesas Technology Corp 半導体集積回路
JP2021536643A (ja) * 2018-09-12 2021-12-27 マイクロン テクノロジー,インク. ハイブリッドメモリシステムインタフェース

Also Published As

Publication number Publication date
US5752272A (en) 1998-05-12
JP3516963B2 (ja) 2004-04-05

Similar Documents

Publication Publication Date Title
JP3516963B2 (ja) メモリアクセス制御装置
US5361391A (en) Intelligent cache memory and prefetch method based on CPU data fetching characteristics
KR100262906B1 (ko) 데이터 선인출 방법 및 시스템
US6496902B1 (en) Vector and scalar data cache for a vector multiprocessor
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
US6725337B1 (en) Method and system for speculatively invalidating lines in a cache
US5664147A (en) System and method that progressively prefetches additional lines to a distributed stream buffer as the sequentiality of the memory accessing is demonstrated
US5623627A (en) Computer memory architecture including a replacement cache
US5644752A (en) Combined store queue for a master-slave cache system
US5630075A (en) Write combining buffer for sequentially addressed partial line operations originating from a single instruction
US5510934A (en) Memory system including local and global caches for storing floating point and integer data
US8725987B2 (en) Cache memory system including selectively accessible pre-fetch memory for pre-fetch of variable size data
JP3289661B2 (ja) キャッシュメモリシステム
EP0800137B1 (en) Memory controller
US6718441B2 (en) Method to prefetch data from system memory using a bus interface unit
US20140237174A1 (en) Highly Efficient Design of Storage Array Utilizing Multiple Cache Lines for Use in First and Second Cache Spaces and Memory Subsystems
JPH09259036A (ja) ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法
JP2001184263A (ja) 旧キャッシュラインを無効化および除去する装置
JPH0659976A (ja) 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
US6094711A (en) Apparatus and method for reducing data bus pin count of an interface while substantially maintaining performance
JPH0721085A (ja) メモリとi/o装置の間で転送されるデータをキャッシュするためのストリーミングキャッシュおよびその方法
EP0470739B1 (en) Method for managing a cache memory system
US5835934A (en) Method and apparatus of low power cache operation with a tag hit enablement
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法

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