JPH10171736A - プリフェッチ装置及びプリフェッチ・アクセスの方法 - Google Patents

プリフェッチ装置及びプリフェッチ・アクセスの方法

Info

Publication number
JPH10171736A
JPH10171736A JP9187272A JP18727297A JPH10171736A JP H10171736 A JPH10171736 A JP H10171736A JP 9187272 A JP9187272 A JP 9187272A JP 18727297 A JP18727297 A JP 18727297A JP H10171736 A JPH10171736 A JP H10171736A
Authority
JP
Japan
Prior art keywords
prefetch
address
data
data block
circuit configured
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9187272A
Other languages
English (en)
Inventor
John E Watkins
ジョン・イー・ワトキンス
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH10171736A publication Critical patent/JPH10171736A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5614User Network Interface
    • H04L2012/5616Terminal equipment, e.g. codecs, synch.
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 ATMネットワークにおいて、要求される前
にデータ・ブロックをプリフェッチし、メモリ・リード
の遅延を効果的に低減させるプリフェッチ装置を得るこ
と。 【解決手段】 好ましい実施形態の方法は、1)要求さ
れたデータ・ブロックのアドレスが与えられたとき、次
の連続したデータ・ブロックのプリフェッチ・アドレス
を計算し、2)現在の要求アドレスと前に計算されたプ
リフェッチ・アドレスとを比較し、3)現在の要求アド
レスが前に計算されたフェッチ・アドレスと一致したか
どうかに対応するヒット/ミス表示を生成するステップ
を含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータの入出力(I
/O)又はコンピュータ・ネットワーキングに関する。
特に本発明はコンピュータ・ネットワークにおける入出
力(I/O)データのバッファリングに関する。
【0002】
【従来の技術】マルチメディア通信の出現によって、ネ
ットワークはいまや複数のデータ・タイプをサポートす
る必要がある。その結果、ネットワークの製造業者は彼
等の努力を非同期転送モード(「ATM (asynchronous
transfer mode) 」)に集中しようとしている。ATM
のネットワークでは、大量の仮想チャネル、恐らく数十
又は数百、が同時に動作する。各仮想チャネルは仮想メ
モリの排他的ページを必要とする。メモリのこれらペー
ジに対してアクセスが行われる。これらのアクセスが時
間的にきわどい状態で行われることは必須である。高性
能ネットワーク・インターフェースにおいて、ホスト・
メモリに対する遅延及び帯域幅は、保証されたピーク・
リンク・レートを維持するために重大な問題である。
【0003】ネットワーク・インターフェースは、少な
くともリンク・レートのホスト入出力(I/O)バス上
での保証された帯域幅を達成しなければならない。非常
に高性能なネットワーク・インターフェースにおいて、
これには、I/Oバスからの高い帯域幅とバス・インタ
ーフェースの効率の良い設計が必要である。効率の良い
バス・インターフェースを提供して帯域幅を最大にし、
遅延を低減することが重要である。
【0004】I/Oバスに対する調停時間が全体的帯域
幅を低下させ、遅延を増大させる。これは、多くの高速
I/Oバスの正しいバス・プロトコルが、データを転送
せずに、装置がバスのオーナーシップを取得して保持す
ることを妨げ、従って、そのI/Oバスに対する他のバ
ス装置のアクセスをブロックしているためである。
【0005】
【発明が解決しようとする課題】従来の先見(ルックア
ヘッド)ロジック又はプリフェッチ・ロジックは、多く
の理由でそのATMシステムへの適用がうまくいってい
ない。第1に、プリフェッチ・サイクル中にマップされ
ていないメモリ位置に対するアクセスを防止するか、あ
るいは、プリフェッチの推測が不成功であったときに無
駄なバス・サイクルを生成しないという能力がない。第
2に、プリフェッチ・キャッシュ・ミスが生じ、デスク
リプタのアクセスがデータ・ストリームのアクセスの中
に入り込み、書き込みデータと読み出しデータとが混在
し、一般的プリフェッチ・バッファのキャッシュ・マネ
ジメントが採用されると、従来のプリフェッチの機構は
すぐに過度に複雑になる。最後に、ATMのプロセスで
は、プリフェッチ・プロトコルはI/Oバスへのアセス
を必要としている他のデータ・ジェネレータからのアク
セス要求に対して優先順位をつけることができない。
【0006】従って、ATMシステムによるアクセス要
求時の前に伝送データ・バッファをアクセスし、メモリ
読み出し遅延を効果的に低減してパケット転送の帯域幅
を最適化する装置が必要である。
【0007】
【課題を解決するための手段】本発明は、ATMシステ
ムによるアクセス要求時の前に伝送データ・バッファを
アクセスし、メモリ読み出し遅延を効果的に低減してパ
ケット転送の帯域幅を最適化する装置である。全体的帯
域幅も、読み出しデータ・アクセスと読み出しデータ処
理とをオーバラップさせることによって増加している。
本発明は、コンピュータ・ネットワークの動作を、要求
前にデータ・ブロックをプリフェッチ・アクセスするこ
とによって向上させるものである。好ましい実施形態の
方法は、1)要求されたデータ・ブロックの与えられた
アドレスから次の連続したデータ・ブロックのプリフェ
ッチ・アドレスを計算し、2)現在の要求アドレスを前
に計算したプリフェッチ・アドレスと比較し、3)現在
の要求アドレスが前に計算したプリフェッチ・アドレス
と一致したかどうかに対応したヒット/ミス表示を生成
するというステップを有する。
【0008】本発明の他の特徴は添付図面及び以下の詳
細な説明から明らかになろう。
【0009】
【発明の実施の形態】ATMシステムによるアクセス要
求時の前に伝送データ・バッファをアクセスし、メモリ
読み出し遅延を効果的に低減してパケット転送の帯域幅
を最適化する装置及び方法を説明する。以下の記載にお
いて、説明の目的で、本発明の十分な理解のために、多
くの具体的詳細事項が述べられている。しかし、当業者
には、本発明がこれらの具体的詳細事項なしで実施でき
ることは明らかであろう。その他、本発明を不必要に不
明確にすることを避けるために、よく知られた構造、イ
ンターフェース及び装置はブロック図の形で示されてい
る。
【0010】図1は、改良されたATMシステム200
内のATMコア及びI/Oバス・インターフェースに結
合された本発明のプリフェッチ装置の好ましい実施形態
を示す。ATMコア210は、データ・セル(例えば、
チェックサム・バイトを除いた標準ATMセル)のセル
化及びリアセンブリを行うセグメント化・リアセンブリ
(「SAR」)ユニットを有し、メモリとしてオフチッ
プのメモリを利用する。ATMコア210は有名なAT
Mに関する物理インターフェースの全体的テスト及び動
作(UTOPIA)の標準に準拠したATM/物理イン
ターフェース(図示せず)とデータ・セルの交換を行
う。ATM/物理インターフェースは、チェックサムを
送出されるデータ・セルのヘッダに挿入してATMセル
を生成するように位置づけられ、あるいは入来するAT
Mセルのチェックサムが正しいかどうか計算し、もし正
しければそのデータ・セルをATMコア210へ転送す
る前にそのチェックサムを取り除くように位置づけられ
る。物理層は、電圧線を正しく終端するために設けられ
ている。ATMコア210の詳細は、上記参照の出願中
の特許出願に詳しく記載されている。
【0011】ATMコア210はホスト・メモリ205
に置かれた読み出しデータ・ブロック及び書き込みデー
タ・ブロック、フリー・バッファ及びデータ・バッファ
・デスクリプタ、及び状態関連のデスクリプタ(図示せ
ず)をアクセスする。これらのデータ・ブロック及びデ
スクリプタはATMネットワークの当業者にはよく知ら
れている。ATMコア210によって使用される他の情
報もメモリ205にストアされる。ATMコア210
は、ライト・データ・アウト信号線上のライト・バッフ
ァ114、リード・データ・イン信号線上のリード・バ
ッファ118、及びアドレス信号線上のアドレス用ファ
ースト・イン/ファースト・アウト(FIFO)バッフ
ァ222を含むバス・インターフェースを介してメモリ
205をアクセスする。好ましい実施形態では、従来の
二重バッファ体系を用いてATMコア210をリード・
データ及びライト・データ経路上のバス・インターフェ
ースに結合する。従来の構成では、二重ライト・バッフ
ァ114はマルチプレクサ112で多重化された第1ラ
イト・バッファ#1及び第2ライト・バッファ#2を提
供し、これらの入力は有名なラウンド・ロビン状態マシ
ン(図示せず)を用いて選択される。同様に、従来の構
成では、リード・バッファ118の二重リード・バッフ
ァ#1及び#2は、マルチプレクサ216で多重化され
た第1リード・バッファ#1及び第2リード・バッファ
#2を提供し、これらの入力は有名なラウンド・ロビン
状態マシン(図示せず)を用いて選択さる。リード・デ
ータ経路上の第3リード・バッファ218は、本発明の
プリフェッチ機構に関するプリフェッチ・キャッシュで
あり、以下に詳しく説明する。これらバッファ118の
何れも、バッファ118に対するアクセスがラウンド・
ロビン式に循環するのでプリフェッチ・キャッシュ21
8として動作する。再び、これは以下に詳しく説明す
る。各バッファ118は2SZバイトの大きさであり、S
Zはサイズ・フィールド(rd_Size 又は Wr_size)に含
まれるビット数を表す。リード要求に対する入来データ
は各バースト・リード・サイクルでラウンド・ロビン式
にATMコア210からリード・バッファ118に流入
する。同様に、ライト要求に対する出力データは各バー
スト・ライト・サイクルでライト・バッファ114の2
つの二重バッファ#1及び#2に交互にATMコア21
0から流入する。
【0012】ATMコア210をメモリ・バス・インタ
ーフェースに効果的に結合させるために、特にこの2つ
が異なったクロック周波数で動作する場合は、ATMコ
ア210からのアドレスは、現在保留中又はプリフェッ
チ・メモリ205のデータ・アクセス要求に関する複数
のアドレスに対する複数のメモリ位置(例えば、224
〜228)を与えるように構成されたアドレスFIFO
にキューされる。アドレスFIFO222は、読み出
し、フェッチ又は書き込み要求を、メモリ205によっ
てサービスされるまで保持する。
【0013】ATMコア2210は、 rd_addrバス23
0上のこれらの読み出し要求アドレス又は Wr_addrバス
232上の書き込み要求アドレスをマルチプレクサ22
0を介してFIFO222へ供給し、そのマルチプレク
サの入力は以下に説明するプリフェッチ制御状態マシン
からの信号を用いて選択させる。本発明では、プリフェ
ッチ・ユニット250は rd_addrバス230上に並列に
追加され、その出力側でマルチプレクサ220に結合さ
れる。以下に説明するように、プリフェッチ・ユニット
250は、読み出し要求に関するアドレスを前に実行し
たよりも早いタイミング・ステージでメモリ205に与
える。
【0014】読み出し要求信号(rd_req)がアサートさ
れ、それによって rd_addrバス230上のアドレスから
始まってその後 rd_sizeバイトで終了するメモリ205
のメモリ位置からの読み出しを示すと、読み出しアクセ
スは好ましい実施形態のATMコアによって起動され
る。図1に示すように rd_size信号はATMコア210
から出力される別の信号である。メモリの要求ブロック
の長さを表すのに別の手段が同様に使えることは当業者
には明らかであろう。アクセスされるデータのタイプ
(例えば、データ・バッファ、バッファ・デスクリプ
タ、コンプリーション・デスクリプタ等)は、ATMコ
ア210から出力される rd_type信号によって示され
る。これについても、望ましい情報タイプを表すのに別
の手段が同様に使えることは当業者には明らかであろ
う。 rd_addrバス230に与えられた読み出しアドレス
は、マルチプレクサ220で選択され、従来の手段でア
ドレスFIFO222の次の利用可能な位置にストアさ
れる。読み出し要求アドレスがアドレスFIFO222
の先頭に移動したとき、その読み出し要求アドレスはメ
モリ205へ出力される。メモリ205が読み出し要求
の rd_req信号及び rd_addr 信号に応答できるようにな
ると、要求されたデータはリード・データ・バッファ1
18及びマルチプレクサ216を介して rd_dataバス2
34上に与えられる。rd_ack信号がアサートされ、 rd_
addrバス230上のアドレスがバス・インターフェース
・ロジックにラッチされ、ATMコア210が rd_addr
バス230上の現在のアドレスを次のアドレスに自由に
かえることができることを示す。これによってアドレス
信号の限定されたパイプライン化効果が可能になる。別
の信号 rd_done(図3に示す)は rd_dataバス234上
の有効データの存在を示す。読み出し要求は読み出しデ
ータがATMコア210に取得されたときに終了する。
【0015】書き込み要求は図1に示されている wr_re
q 信号、Wr_addr 信号、Wr_type 信号及び Wr_size信号
を用いて同様に起動される。これらの信号に加えてリー
ド・データ・バス及びライト・データ・バスが別々にな
っているために読み出し及び書き込み動作がオーバーラ
ップできる。書き込みデータは、ATMコア210から
の wr_req によって起動されたバスト・ライト・サイク
ル毎にライト・バッファ114のそれぞれのバッファの
間で交替して与えられる。好ましい実施形態では、 rd_
size及び wr_sizeのフィールドは2SZバイトの最大読み
出し及び書き込み動作を意味し、SZはサイズ・フィー
ルド(rd_size 又は wr_size)に含まれるビット数を表
す。当業者には他のサイズの限界が同様に適用できるこ
とは明らかであろう。
【0016】好ましい実施形態のATMコア210はA
TMコアから出力される最終転送要求(tx_last_req)
信号211を含む。この tx_last_req 信号は、連続し
たデータ・ブロックに対する一連の要求の最後のブロッ
クに対して要求が行われるときにATMコア210によ
ってアサートされる。この信号によって、ページ又はセ
グメントの境界を越えたアクセスをチェックするための
他のロジックが不要となる。
【0017】好ましい実施形態のプリフェッチ装置 図1のアドレスFIFOに対して3つのアドレス源があ
る。 rd_addrバス230及び wr_addrバス232上にそ
れぞれ設けられた基本的読み出し及び書き込みアドレス
源とプリフェッチ・ユニット250の出力側に設けられ
たプリフェッチ・アドレス源(pf_addr)がある。読み
出し要求に対しては、rd_addrバス230上のアドレス
は、要求されたデータのブロックが始まるメモリ205
内の位置を定義する。ブロックのサイズは rd_sizeの値
で定義される。典型的には、メモリ・ブロックはメモリ
205に対して、連続ブロックの形で要求される。従っ
て、位置Aで始まるデータのブロックに対する読み出し
要求の後に、位置A+「rd_size」で始まるデータ・ブ
ロックに対する読み出し要求が続く。ここで、rd_size
は前の要求におけるブロックのサイズである。本発明は
読み出し要求のこの典型的特性を用いてアドレスFIF
O222に対するアドレスの供給を最適化している。本
発明のプリフェッチ能力がイネーブルされると、プリフ
ェッチ・ユニット250は、rd_addr バス230上でA
TMコア210によって現在要求されているデータ・ブ
ロック以後のメモリ205内の連続したブロックのプリ
フェッチ・アドレス(pf_addr)を作成する。プリフェ
ッチ・ブロックのアドレス(pf_addr)は、実際に要求
されたデータ・ブロックのアドレス(rd_addr) に加え
て、アドレスFIFO222にストアされる。従って、
プリフェッチ・アドレスは、ATMコア210からのそ
のデータ・ブロックに対する実際の要求の前にプリフェ
ッチ・ユニット250によってアドレスFIFO222
にキューされる。本発明のプリフェッチ・ユニット25
0は、プリフェッチが発生するとき、図2に関連して以
下に詳細に説明するように制御する。
【0018】図1に示す3つのリード・バッファ118
は、プリフェッチがイネーブルされると全て使用され
る。当業者には、リード・データ経路内で異なったバッ
ファの数が同様に用いられることは明らかであろう。
「プリフェッチ・キャッシュ」218はこれらのバッフ
ァの1つに対して具体的に指定されていないが、プリフ
ェッチ・キャッシュは3つのデータ・バッファ118の
間でその位置を循環する。本発明の平易さの要点は、rd
_data バス234上に与えられるデータがいつもN個
(図1に示す例ではN=3)のバッファを順に循環し
て、プリフェッチのミスやヒットに関係なく、そのアク
セスが送信データ・バッファ(TXDB)に対するもの
であったかデスクリプタに対するものであったか、ある
いはプリフェッチ・キャッシュがディスエーブされてい
たかに関係なく要求されたバースト・データを与えるこ
とである。特定の条件によって読み出しデータのバッフ
ァへのデポジットが制御されるが、データの読み出しは
全ての状況下に置いてバッファ118の間で純粋に順番
に行われる。
【0019】本発明の基本的アイデアは、好ましい実施
形態において64バイトよりも大きいデータ・パケット
を読み出すとき、3つのリード・バッファ118を用い
てスループットを最大にし、読み出し遅延を低減させる
ことができるということである。プリフェッチ動作中A
TMコア210は、前の読み出し要求のデータをデータ
・バッファ118の第1のバッファAから読み出し、現
在の読み出し要求のデータはデータ・バッファ118の
第2のバッファBを充填し、データ・バッファ118の
第3のバッファCには恐らくATMコア210が次に要
求するであろうデータが充填される。この同時動作は前
述のように、主として rd_ack 信号によって与えられる
アドレスのパイプライン化によって可能になる。
【0020】図2を参照すると、好ましい実施形態のプ
リフェッチ・ユニット250の内部体系が示されてい
る。プリフェッチ・ユニット250の基本的機能は次の
通りである。1)次の連続したデータ・ブロック(すな
わちプリフェッチ・アドレス pf_addr)のアドレスを計
算する。2)プリフェッチすべきデータ・ブロックのプ
リフェッチ・アドレスをプリフェッチ・レジスタ312
に登録する。3)ATMコア210から送出された現在
のリード・アドレス(rd_addr) と前の読み出し要求サイ
クル中にプリフェッチ・レジスタ312に登録されてい
る前のプリフェッチ・アドレスのリード・アドレス、す
なわち前のプリフェッチ・アドレスに対応して現在プリ
フェッチ・キャッシュ218にあるデータ、とを比較す
る。4)現在のリード・アドレス(rd_addr) が前のプリ
フェッチ・アドレスと一致したかどうかに対応する PF_
hit/miss表示を表示する。5)プリフェッチ・ユニット
250内に保持されているプリフェッチ・キャッシュ有
効表示を更新する。好ましい実施形態のプリフェッチ装
置のこれらの機能及び他の機能については次の節で説明
する。
【0021】再び図2を参照すると、プリフェッチ・ユ
ニット250は加算器310を有し、図1に示すよう
に、この加算器は入力として現在の読み出し要求アドレ
ス(rd_addr)及びATMコア210から出力される rd
_size 信号で示される要求されたデータ・ブロックのサ
イズを受信する。加算器310は現在の読み出し要求ア
ドレス(rd_addr) 値と要求されたデータ・ブロックのサ
イズに対応する値とを加算する。結果の合計はプリフェ
ッチ・アドレス(pf_addr) としてマルチプレクサ220
及びプリフェッチ・レジスタ(PF_addr_reg) 312へ出
力される。プリフェッチ・アドレス(pf_addr)は、rd_
addrで表される現在の要求ブロックの後に恐らく要求さ
れるであろう次の連続したデータ・ブロックのアドレス
を表す。プリフェッチ・アドレスはレジスタ312に登
録され、次の読み出し要求サイクルまで保存される。プ
リフェッチ・アドレスは次の場合にのみ登録される。
1)ATMコア210からの tx_last_req信号が、現在
の読み出し要求が複数の連続したブロック転送における
最後の要求であることを示していないとき。2)次のデ
ータ・ブロックの要求が不連続のデータ・ブロックに対
するものではないとき。3)読み出し要求が rd_type
信号(not_last_block 信号)で示されるデータ・ブロ
ックに対するものであるとき。この制約は図3に示すよ
うに not_last block 信号を図2に示すレジスタ312
のチップ・イネーブル(CE)入力に与えることによっ
て賦課される。not_last_block信号又は別の実施形態で
は同様の信号を用いることによって、プリフェッチ動作
がプリフェッチのデータ・ブロックを必要としない読み
出しサイクルに無用に行われないことになる。データ・
ブロックのタイプでプリフェッチを限定することによっ
て、プリフェッチ動作は特定のタイプのデータに対して
は条件付きとなる。レジスタ312の出力(すなわち、
1サイクル遅れの前のプリフェッチ・アドレス)は、入
力として比較器316に与えられる。現在の読み出し要
求アドレス(rd_addr) も入力として線320上で比較器
316に与えられる。レジスタ314は、プリフェッチ
されたデータ・ブロックが有効であるときにそれを表示
するために用いられる。
【0022】プリフェッチ有効信号(PF_valid)はレジ
スタ314から出力され、プリフェッチされたデータが
有効であることを示す。この信号は第3の入力として比
較器316に与えられる。比較器316は現在の読み出
し要求アドレス(rd_addr) と前のサイクルでフェッチさ
れたデータ・ブロックに対応する前のプリフェッチ・ア
ドレスとを比較する。2つの入力されたアドレスが同一
であり、PF_valid信号が、有効なプリフェッチのデータ
であることを示すと、比較器316は、一致すなわちヒ
ット表示を示す PF_hit/miss信号を出力する。2つの入
力されたアドレスが同一でないか、PF_valid信号が無効
なプリフェッチのデータであることを示すと、比較器3
16は、不一致すなわちミス表示を示す PF_hit/miss信
号を出力する。図3に示すように、PF_hit/miss 信号は
プリフェッチ制御状態マシン350によって用いられ、
ヒット表示の時直ちにプリフェッチされたデータをAT
Mコア210に与えるか、ミス表示の時はメモリ205
のアクセス・サイクルを実行する。プリフェッチ制御状
態マシン350に設けられているロジックについて次に
説明する。
【0023】図3は、プリフェッチの有効表示(PF_val
id)を支配し、リード・アドレスをアドレスFIFO2
22へデポジットすることを制御し、データ・バッファ
118の1つに対するアクセスを制御するプリフェッチ
制御状態マシン350を示す。プリフェッチ制御状態マ
シン350に設けられたロジックはフローチャートの形
で図4〜6に示されている。以下の詳細な説明におい
て、図4〜6に示すロジックに対する言及は図3に示す
対応する信号に対する言及と共になされる。
【0024】図4及び図3を参照すると、プリフェッチ
制御状態マシン350のロジックは、読み出し要求(rd_
req信号)を受信したかどうか(ブロック410)の判定
から始まる。もし受信していなければ、制御はCへ戻
り、新しいサイクルが開始される。もし受信していれ
ば、経路414が取られ、プリフェッチ・ユニット25
0によって示されるプリフェッチ・ヒット(PF_hit信
号)状態があったかどうか判定される。プリフェッチ・
ヒットがあれば、制御は図6に示すBへ進む。もしなけ
れば、アドレスFIFOのエントリが利用可能かどうか
判定される(ブロック422)。利用可能なエントリが
なければ、制御はCへ戻る。もしエントリが利用可能で
あれば、経路426が取られ、アドレスFIFOがビジ
ーであるかどうか判定される。ビジーなら制御はCへ戻
る。もしビジーでなければ、制御は図5に示すAへ進
む。
【0025】図5及び図3を参照すると、プリフェッチ
されたデータをストアするために余分なデータ・バッフ
ァ118が利用可能かどうか判定される。もし利用可能
であれば、経路514が取られ、現在の読み出し要求ア
ドレス(rd_addr) とプリフェッチ・アドレス(pf_addr)
がアドレスFIFO222に記録される(ブロック51
6及び520)。また、rd_ack信号がブロック520で
アサートされ、リード・アドレスを捕捉したことを知ら
せる。プリフェッチされたデータをストアするために、
もし余分なデータ・バッファ118が利用可能でなけれ
ば、経路512が取られ、現在の読み出し要求アドレス
(rd_addr) だけがアドレスFIFO222に記録される
(ブロック518)。また、rd_ack信号がブロック51
8でアサートされ、リード・アドレスを捕捉したことを
知らせる。メモリ205が要求されたデータの適当なデ
ータ・バッファ118への格納を完了したとき、プリフ
ェッチ制御状態マシン350は rd_done信号をアサート
して、要求されたデータがrd_data バス234上で利用
可能であることをATMコア210に知らせる。制御は
次のサイクルを開始するために図4に示すCへ戻る。
【0026】図6及び図3を参照すると、ヒット状態の
ためのプリフェッチ制御状態マシン350のロジックが
示されている。もし現在の要求が連続したブロックのセ
ットの最後のブロック(tx_last_req 及び not_last_bl
ock 信号)に対するものであると、プリフェッチの無効
状態(PF_Valid/Invalid信号)が無効状態にデアサート
(アサートの解除)され、読み出し応答信号(rd_ack)
がアサートされる(ブロック624)。もし最後のブロ
ックでなければ、経路614が取られ、アドレスFIF
O222は利用可能なエントリがあるかどうかチェック
される。もしなければ上述のようにブロック624が実
行される。もしアドレスFIFOのエントリが利用可能
であれば(経路620)、アドレスFIFO222がビ
ジーであるかどうか判定される。ビジーなら制御はCへ
戻る。もしビジーでなければ、ブロック622が実行さ
れる。プリフェッチ・アドレス(pf_addr) がアドレスF
IFO222へ記録される。また、プリフェッチ有効信
号(PF_valid/invalid信号)が有効状態にセットされ、
読み出し応答信号(rd_ack)がアサートされる(ブロッ
ク622)。メモリ205が要求されたデータのプリフ
ェッチ・キャッシュ・バッファ218への格納を完了す
ると、プリフェッチ制御状態マシン305はDone_pf_da
ta 信号アサートし、読み出し終了信号(rd_done) をア
サートして、ATMコア210に対して要求されたプリ
フェッチのデータが rd_dataバス234上で利用可能で
あることを示す(ブロック640)。次に制御は次のサ
イクルを開始するために図4に示すCへ戻る。
【0027】以下に詳細に説明するように、いくつかの
読み出しアクセスの場合がある。これらは、1)プリフ
ェッチがディスエーブル状態(正常な読み出し動作);
2)プリフェッチがイネーブル状態、TXDBアクセ
ス、プリフェッチのキャッシュ・ミス;3)プリフェッ
チがイネーブル状態、TXDBアクセス、プリフェッチ
のキャッシュ・ビット;4)プリフェッチがイネーブル
状態、非TXDBアクセスである。
【0028】プリフェッチがディスエーブル状態−正常
読み出しの場合SZバイトのデータのバーストは、rd_addr バス230
上で指定された位置から始まるメモリ205から読み出
される。ATMコア210からの rd_addrバス上230
のアドレスは、アドレスFIFO222に置かれる。デ
ータのバーストは交互にデータ・バッファのリード・デ
ータ・バッファ#1かデータ・バッファ118のリード
・データ・バッファ#2にデポジットされる。図3に示
すように、メモリ205又はその他のバス・インターフ
ェース・ロジックは、要求されたデータがリード・デー
タ・バッファ118の1つに存在し、ATMコア210
による取得のためにレディになっていることを示す信号
rd_done をアサートする。データはATMコア210
によってリード・データ・バッファ118から rd_data
バス234へ交互に読み出される。
【0029】プリフェッチがイネーブル状態 TXDBアクセス、プリフェッチ・キャッシュ・ミス プリフェッチのキャッシュ・ミスは、無効又はアドレス
不一致を示す有効信号PF_valid によって起り得る。も
し tx_last_req 信号がアサートされ、TXDBに対す
る連続したアクセスの終わりを示すと、プリフェッチは
行われず、データは単に正常に取り出される。 tx_last
_erqがデアサート(アサートの解除を)されると、プリ
フェッチ制御状態マシン350はプリフェッチを行うた
めの資源(すなわちアドレスFIFO222及びデータ
・バッファ118の空間)が利用可能かどうかチェック
する。これには、2つのバーストをフェッチする必要が
ある。好ましい実施形態では、第1のバーストは rd_si
ze信号で示されるサイズであり、第2のバーストは、2
SZバイトのデータである。これに必要な資源はアドレス
FIFO222内の2つのエントリと2つのリード・バ
ッファ118である。もしアドレスFIFO222の1
つのエントリ又は1つのデータ・バッファ118が利用
可能であると、標準アクセスが行われ、プリフェッチ・
キャッシュ有効信号 PF_valid が無効状態にセットされ
る。もし2つのエントリと2つのバッファが利用可能で
あると、rd_addr 上のアドレスはアドレスFIFO22
2の第1のエントリに置かれ、続いて(「rd_addr」+
SZ) が第2のエントリに置かれる。データがメモリ
205のアドレスrd_addr から戻ってくると、そのデー
タはリード・バッファ118(RBn)に置かれ、信号
rd_done がアサートされる。(「rd_addr」+2SZ
からのデータは次の入力データ・バッファ118(RB
n+1)に置かれる。プリフェッチ制御状態マシン35
0が第2のエントリをアドレスFIFO222にデポジ
ットすると、プリフェッチ制御状態マシン350は、プ
リフェッチ・キャッシュ有効ビット(PF_valid/invali
d)を有効状態にセットし、PF_addr_reg 312にラッ
チされたアドレスを正当化する。このように、本発明は
資源の利用可能状態に基づいて条件付きでデータ・ブロ
ックをプリフェッチする。
【0030】この初期の2つのバースト・アクセスは性
能向上のためにATMコア210が連続して2つのアク
セスを起動する速度よりも早いことに注目すべきであ
る。
【0031】有効信号(PF_valid)が有効であるが、ア
ドレス不一致のためプリフェッチ・ミスの場合には、リ
ード・データ・バッファの循環は行われず、メモリ20
5からの入来データは、そのバッファに前に書かれてい
たデータの上に重ね書きされる。この状況は2SZバイト
のTXDBがプリフェッチ・キャッシュにあるがATM
コア210による次の読み出しアクセスが非TXDB又
は不連続なアドレスに対して行われるときに起こる。リ
ード・バッファ118の出力側は、rd_done 信号の後で
常に循環することに注目されたい。
【0032】プリフェッチがイネーブル状態 TXDBアクセス、プリフェッチ・キャッシュ・ミス プリフェッチ有効信号(PF_valid)が有効で、rd_addr
バス230上のアドレスが PF_addr_reg312の内容と
一致すると、プリフェッチ・ヒットが登録される。この
場合、ATMコア210へ戻されるべきデータは、デー
タ・バッファ118のプリフェッチ・キャッシュ218
から来るであろう。もしこのデータが、ATMコア21
0からの rd_req の時に存在すれば、rd_done 信号は迅
速にアサートされる。もしデータがホスト・メモリ20
5から戻されつつある場合には、バーストがプリフェッ
チ・キャッシュ218に収容されてから rd_doneがアサ
ートされる。
【0033】tx_last_req がアサートされると、プリフ
ェッチ・キャッシュ有効信号(PF_valid)はクリアされ
て無効状態になり、プリフェッチは行われない。 tx_la
st_reqがデアサートされ、十分な資源が存在すると、プ
リフェッチが行われる。これには1つのバーストをフェ
ッチすることが必要であり、従ってアドレスFIFO2
22の1つのエントリ及び1つのフリー・データ・バッ
ファ118が必要である。これらの資源のうちの1つ又
は両方が利用可能でないと、プリフェッチは行われず、
プリフェッチ・キャッシュ有効信号(PF_valid)はクリ
アされて有効状態になる。もし両方の資源が利用可能で
あると、2SZバイトについて(「rd_addr」+2SZ)に
対して読み出しアクセスが行われ、(「rd_adde」+2
SZ)が PF_addr_reg312に置かれ、有効信号(PF_val
id)が有効状態にセットされる。プリフェッチが生じる
と、入力リード・バッファの循環が行われる。
【0034】プリフェッチがイネーブル状態、非TXD
Bアクセス これは、結果的にキャッシュ・ミス状態になる点で、プ
リフェッチがイネーブル、TXDBアクセス、プリフェ
ッチのキャッシュ・ミスに関して上で説明した場合と類
似している。もし、プリフェッチ・キャッシュ有効信号
(PF_valid)が有効状態にセットされると、入力リード
・バッファ118の循環は行われず、メモリ205から
のデスクリプタのリード・データは、前にプリフェッチ
された2SZバイトのTXDBデータに重ね書きされる。
もしプリフェッチ・キャッシュ有効信号(PF_valid)が
クリアされて無効状態になると、入力リード・バッファ
118の循環が行われる。
【0035】好ましい実施形態のプリフェッチ機構は資
源のチェックを行い、十分な資源が存在する場合にのみ
プリフェッチを行う。データ又はアドレス情報に対する
十分なメモリがないと、プリフェッチは行わない。
【0036】ATM210からの信号「tx_last_req」
は、リード・データ・バッファ118に対するアクセス
要求を限定する。この信号は、アサートされると、これ
がメモリ205からデータ・バッファの読み出しを完了
するのに必要な最後のバースト・アクセスであることを
示す。アサートされなければ、現在の読み出しデータ・
バッファ・アクセスの終わりに続くバイト・アドレスか
ら始まる少なくとももう1つのバースト・アクセスが送
出される。この信号は、アサートされないときは、アク
セスがアンマップのシステム・メモリ・ページに入らず
に1つの完全なバーストが作られることを示す。この信
号によってプリフェッチを限定することによって、デー
タ・バッファ・アクセスの終わりで不必要なプリフェッ
チが行われることを防止し、プリフェッチがディスエー
ブルされたときよりも多くのバス帯域幅をこのプリフェ
ッチ体系が使われないようにしている。
【0037】複雑さを低減するため、TXDBアクセス
がデータ・バッファに対する割り込みなしの連続した読
み出しである場合において、このプリフェッチ機構は、
プリフェッチ・キャッシュをミスして、プリフェッチさ
れたデータを無効化し、プリフェッチのキャッシュ・バ
ッファの内容を重ね書きする読み出しアクセスを可能に
する。
【0038】TXDBアクセスの始めで、追加データを
1回だけアクセスすることによって、他のバス・アクセ
ス(例えば、RXDB書き込み、デスクリプタの読み出
し、書き込み)へのプリフェッチの侵害を最小限にす
る。
【0039】以上のように、ATMネットワークシステ
ムにおいてデータ・ブロックのアクセス帯域幅を最適化
するプリフェッチ装置について説明した。
【0040】ここで説明した特定の構成及び方法は、単
に本発明の原理の例示にすぎない。本発明の範囲から逸
脱せずに、当業者は形態や詳細において様々な変更を行
うことができる。本発明を特定の実施形態と関連させて
説明したけれども、これに限定して考えるべきでない。
本発明は特許請求の範囲によってのみ限定される。
【図面の簡単な説明】
【図1】本発明の好ましい実施形態のシステム体系を示
す図である。
【図2】好ましい実施形態のプリフェッチ・ユニットの
体系を示す図である。
【図3】好ましい実施形態のプリフェッチ制御状態マシ
ンの体系を示す図である。
【図4】好ましい実施形態のプリフェッチ制御状態マシ
ンによって行われる処理を示すフローチャートである。
【図5】好ましい実施形態のプリフェッチ制御状態マシ
ンによって行われる処理を示すフローチャートである。
【図6】好ましい実施形態のプリフェッチ制御状態マシ
ンによって行われる処理を示すフローチャートである。
【符号の説明】
114・・・ライト・バッファ 118・・・リード・バッファ 210・・・ATMコア 218・・・リード・バッファ 222・・・アドレスFIFO 250・・・プリフェッチ・ユニット 312・・・プリフェッチ・レジスタ 316・・・比較器 350・・・プリフェッチ制御状態マシン
【手続補正書】
【提出日】平成9年10月14日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図4】
【図1】
【図2】
【図3】
【図5】
【図6】
───────────────────────────────────────────────────── フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A.

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータ・ネットワークにおいて、
    要求の前にデータ・ブロックをプリフェッチ・アクセス
    することによって、データ・ブロックのアクセス帯域幅
    を最適化するプリフェッチ装置であって、 a)要求されたデータ・ブロックのアドレスが与えられ
    たとき、次の連続したデータ・ブロックのプリフェッチ
    ・アドレスを計算するよう構成された回路と、 b)現在の要求アドレスと前に計算されたプリフェッチ
    ・アドレスとを比較するよう構成された回路と、 c)現在の要求アドレスが前に計算されたフェッチ・ア
    ドレスと一致したかどうかに対応するヒット/ミス表示
    を生成するよう構成された回路とを備えたプリフェッチ
    装置。
  2. 【請求項2】 前記プリフェッチ・アドレスが計算され
    たとき、プリフェッチ・キャッシュの有効表示を更新す
    るよう構成された回路を更に含む請求項1に記載のプリ
    フェッチ装置。
  3. 【請求項3】 次の要求サイクルに対するプリフェッチ
    ・アドレスを登録するよう構成された回路を更に含む請
    求項1に記載のプリフェッチ装置。
  4. 【請求項4】 プリフェッチされたデータを複数のリー
    ド・データ・バッファの中の1つに保持するよう構成さ
    れた回路を更に含む請求項1に記載のプリフェッチ装
    置。
  5. 【請求項5】 最後のブロック状態が検出されると、プ
    リフェッチ動作をディスエーブルするよう構成された回
    路を更に含む請求項1に記載のプリフェッチ装置。
  6. 【請求項6】 要求されたデータ・ブロックが与えられ
    つつある間にプリフェッチされたデータ・ブロックを受
    信するよう構成された回路を更に含む請求項1に記載の
    プリフェッチ装置。
  7. 【請求項7】 資源の利用可能性に基づいて条件付きで
    プリフェッチを行うよう構成された回路を更に含む請求
    項1に記載のプリフェッチ装置。
  8. 【請求項8】 要求された情報のタイプに基づいて条件
    付きでプリフェッチを行うよう構成された回路を更に含
    む請求項1に記載のプリフェッチ装置。
  9. 【請求項9】 要求されたデータ・ブロックが与えられ
    つつある間にプリフェッチされたデータ・ブロックを受
    信するよう構成された回路と、 前記プリフェッチ・アドレスが計算されたとき、プリフ
    ェッチ・キャッシュの有効表示を更新するよう構成され
    た回路と、 前記プリフェッチ・キャッシュの有効表示がアサートさ
    れないとき、前記プリフェッチされたデータ・ブロック
    を受信するよう構成された前記回路を妨げ、バッファ内
    に前に書き込まれたデータに重ね書きする回路とを更に
    含む請求項1に記載のプリフェッチ装置。
  10. 【請求項10】 次の連続したデータ・ブロックの前記
    プリフェッチ・アドレスをアドレスFIFOにストアす
    るよう構成された回路を更に含む請求項1に記載のプリ
    フェッチ装置。
  11. 【請求項11】 コンピュータ・ネットワークにおい
    て、要求の前にデータ・ブロックをプリフェッチ・アク
    セスする方法であって、 要求されたデータ・ブロックのアドレスが与えられたと
    き、次の連続したデータ・ブロックのプリフェッチ・ア
    ドレスを計算するステップと、 現在の要求アドレスと前に計算されたプリフェッチ・ア
    ドレスとを比較するステップと、 現在の要求アドレスが前に計算されたフェッチ・アドレ
    スと一致したかどうかに対応するヒット/ミス表示を生
    成するステップとを含む方法。
  12. 【請求項12】 前記プリフェッチ・アドレスが計算さ
    れたとき、プリフェッチ・キャッシュの有効表示を更新
    するステップを更に含む請求項11に記載の方法。
  13. 【請求項13】 次の要求サイクルに対するプリフェッ
    チ・アドレスを登録するステップを更に含む請求項11
    に記載の方法。
  14. 【請求項14】 プリフェッチされたデータを複数のリ
    ード・データ・バッファの中の1つに保持するステップ
    を更に含む請求項11に記載の方法。
  15. 【請求項15】 最後のブロック状態が検出されると、
    プリフェッチ動作をディスエーブルするステップを更に
    含む請求項11に記載の方法。
  16. 【請求項16】 要求されたデータ・ブロックが与えら
    れつつある間にプリフェッチされたデータ・ブロックを
    受信するステップを更に含む請求項11に記載の方法。
  17. 【請求項17】 資源の利用可能性に基づいて条件付き
    でプリフェッチを行うステップを更に含む請求項11に
    記載の方法。
  18. 【請求項18】 要求された情報のタイプに基づいて条
    件付きでプリフェッチを行うステップを更に含む請求項
    11に記載の方法。
  19. 【請求項19】 要求されたデータ・ブロックが与えら
    れつつある間にプリフェッチされたデータ・ブロックを
    受信するステップと、 前記プリフェッチ・アドレスが計算されたとき、プリフ
    ェッチ・キャッシュの有効表示を更新するステップと、 前記プリフェッチ・キャッシュの有効表示がアサートさ
    れないとき、前記プリフェッチされたデータ・ブロック
    を受信するよう構成された回路を妨げ、バッファ内に前
    に書き込まれたデータに重ね書きするステップとを更に
    含む請求項11に記載の方法。
  20. 【請求項20】 次の連続したデータ・ブロックの前記
    プリフェッチ・アドレスをアドレスFIFOにストアす
    るステップを更に含む請求項11に記載の方法。
JP9187272A 1996-07-01 1997-06-30 プリフェッチ装置及びプリフェッチ・アクセスの方法 Pending JPH10171736A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/675,263 US5854911A (en) 1996-07-01 1996-07-01 Data buffer prefetch apparatus and method
US08/675263 1996-07-01

Publications (1)

Publication Number Publication Date
JPH10171736A true JPH10171736A (ja) 1998-06-26

Family

ID=24709722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9187272A Pending JPH10171736A (ja) 1996-07-01 1997-06-30 プリフェッチ装置及びプリフェッチ・アクセスの方法

Country Status (3)

Country Link
US (1) US5854911A (ja)
EP (1) EP0817007A3 (ja)
JP (1) JPH10171736A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053857A (ja) * 2004-08-16 2006-02-23 Fujitsu Ltd システム制御装置、投機フェッチ方法および情報処理装置

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6525971B2 (en) 1995-06-30 2003-02-25 Micron Technology, Inc. Distributed write data drivers for burst access memories
US5526320A (en) 1994-12-23 1996-06-11 Micron Technology Inc. Burst EDO memory device
US6804760B2 (en) * 1994-12-23 2004-10-12 Micron Technology, Inc. Method for determining a type of memory present in a system
US5610864A (en) 1994-12-23 1997-03-11 Micron Technology, Inc. Burst EDO memory device with maximized write cycle timing
US5838631A (en) 1996-04-19 1998-11-17 Integrated Device Technology, Inc. Fully synchronous pipelined ram
US6034945A (en) 1996-05-15 2000-03-07 Cisco Technology, Inc. Method and apparatus for per traffic flow buffer management
US6401186B1 (en) * 1996-07-03 2002-06-04 Micron Technology, Inc. Continuous burst memory which anticipates a next requested start address
US6434663B1 (en) * 1996-09-06 2002-08-13 Intel Corporation Disk block allocation optimization methodology with accommodation for file system cluster size greater than operating system memory page size
US5870347A (en) * 1997-03-11 1999-02-09 Micron Technology, Inc. Multi-bank memory input/output line selection
US6014759A (en) * 1997-06-13 2000-01-11 Micron Technology, Inc. Method and apparatus for transferring test data from a memory array
US6430191B1 (en) 1997-06-30 2002-08-06 Cisco Technology, Inc. Multi-stage queuing discipline
US6201813B1 (en) 1997-06-30 2001-03-13 Cisco Technology, Inc. Method and apparatus for using ATM queues for segmentation and reassembly of data frames
US6487202B1 (en) * 1997-06-30 2002-11-26 Cisco Technology, Inc. Method and apparatus for maximizing memory throughput
US6044429A (en) * 1997-07-10 2000-03-28 Micron Technology, Inc. Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths
US6134633A (en) 1997-10-31 2000-10-17 U.S. Philips Corporation Prefetch management in cache memory
US6526060B1 (en) 1997-12-05 2003-02-25 Cisco Technology, Inc. Dynamic rate-based, weighted fair scheduler with explicit rate feedback option
US5923594A (en) * 1998-02-17 1999-07-13 Micron Technology, Inc. Method and apparatus for coupling data from a memory device using a single ended read data path
US6115320A (en) 1998-02-23 2000-09-05 Integrated Device Technology, Inc. Separate byte control on fully synchronous pipelined SRAM
US6405280B1 (en) 1998-06-05 2002-06-11 Micron Technology, Inc. Packet-oriented synchronous DRAM interface supporting a plurality of orderings for data block transfers within a burst sequence
JP3573980B2 (ja) * 1998-11-13 2004-10-06 富士通株式会社 情報処理装置及び情報処理システム
US6202107B1 (en) 1998-11-19 2001-03-13 Sun Microsystems, Inc. Host controller interface descriptor fetching unit
US6205494B1 (en) * 1998-12-18 2001-03-20 Western Digital Corporation Controller with automatic generation of linked list of data transfer descriptors for sequential commands, with linked list being used for execution of sequential data transfers
US6981127B1 (en) * 1999-05-26 2005-12-27 Infineon Technologies North America Corp. Apparatus and method for aligning variable-width instructions with a prefetch buffer
US6321321B1 (en) * 1999-06-21 2001-11-20 Vlsi Technology, Inc. Set-associative cache-management method with parallel and single-set sequential reads
US6628294B1 (en) 1999-12-31 2003-09-30 Intel Corporation Prefetching of virtual-to-physical address translation for display data
US6775292B1 (en) 2000-01-24 2004-08-10 Cisco Technology, Inc. Method for servicing of multiple queues carrying voice over virtual circuits based on history
US7142558B1 (en) 2000-04-17 2006-11-28 Cisco Technology, Inc. Dynamic queuing control for variable throughput communication channels
US6636952B1 (en) * 2001-06-15 2003-10-21 Juniper Networks, Inc. Systems and methods for processing packet streams in a network device
CA2478007A1 (en) * 2002-03-05 2003-09-12 International Business Machines Corporation Method of prefetching data/instructions related to externally triggered events
US7286548B1 (en) * 2002-08-14 2007-10-23 Redback Networks Inc. Method and apparatus for multicast multiple prefetch
US6754744B2 (en) 2002-09-10 2004-06-22 Broadcom Corporation Balanced linked lists for high performance data buffers in a network device
US6895475B2 (en) * 2002-09-30 2005-05-17 Analog Devices, Inc. Prefetch buffer method and apparatus
US7155576B1 (en) * 2003-05-27 2006-12-26 Cisco Technology, Inc. Pre-fetching and invalidating packet information in a cache memory
US7225318B2 (en) * 2003-10-08 2007-05-29 Intel Corporation Dynamic prefetch in continuous burst read operation
JP2005267148A (ja) * 2004-03-18 2005-09-29 Konica Minolta Business Technologies Inc メモリ制御装置
US20050253858A1 (en) * 2004-05-14 2005-11-17 Takahide Ohkami Memory control system and method in which prefetch buffers are assigned uniquely to multiple burst streams
US7139673B1 (en) * 2004-11-05 2006-11-21 Xilinx, Inc. Method of and circuit for verifying a data transfer protocol
US7395375B2 (en) * 2004-11-08 2008-07-01 International Business Machines Corporation Prefetch miss indicator for cache coherence directory misses on external caches
JP2007026233A (ja) * 2005-07-20 2007-02-01 Nec Corp データ正常性確認システム及びその方法並びにそれを用いたデータ転送装置、プログラム
US8656117B1 (en) * 2008-10-30 2014-02-18 Nvidia Corporation Read completion data management
US9009414B2 (en) 2010-09-21 2015-04-14 Texas Instruments Incorporated Prefetch address hit prediction to reduce memory access latency
CN106330498B (zh) * 2015-06-25 2019-08-27 华为技术有限公司 远程数据获取方法及装置
CN105512054B (zh) * 2015-12-09 2018-11-09 上海兆芯集成电路有限公司 主机接口控制器以及储存装置控制方法
US10380034B2 (en) * 2017-07-14 2019-08-13 International Business Machines Corporation Cache return order optimization

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5263038A (en) * 1975-10-01 1977-05-25 Hitachi Ltd Data processing device
US4157587A (en) * 1977-12-22 1979-06-05 Honeywell Information Systems Inc. High speed buffer memory system with word prefetch
US5093777A (en) * 1989-06-12 1992-03-03 Bull Hn Information Systems Inc. Method and apparatus for predicting address of a subsequent cache request upon analyzing address patterns stored in separate miss stack
US5210838A (en) * 1990-05-15 1993-05-11 Sun Microsystems, Inc. Method and apparatus for predicting the effective addresses of future memory load operations in a microprocessor
JP2881049B2 (ja) * 1991-07-30 1999-04-12 株式会社日立製作所 プリフェッチバッファ
US5461718A (en) * 1992-04-24 1995-10-24 Digital Equipment Corporation 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
JP2744882B2 (ja) * 1993-01-15 1998-04-28 インターナショナル・ビジネス・マシーンズ・コーポレイション キューにより命令の実行を制御する装置及び方法
US5388247A (en) * 1993-05-14 1995-02-07 Digital Equipment Corporation History buffer control to reduce unnecessary allocations in a memory stream buffer
US5602853A (en) * 1994-11-03 1997-02-11 Digital Equipment Corporation Method and apparatus for segmentation and reassembly of ATM packets using only dynamic ram as local memory for the reassembly process
US5715425A (en) * 1996-02-22 1998-02-03 Sun Microsystems, Inc. Apparatus and method for prefetching data into an external cache

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053857A (ja) * 2004-08-16 2006-02-23 Fujitsu Ltd システム制御装置、投機フェッチ方法および情報処理装置

Also Published As

Publication number Publication date
US5854911A (en) 1998-12-29
EP0817007A3 (en) 1999-07-07
EP0817007A2 (en) 1998-01-07

Similar Documents

Publication Publication Date Title
JPH10171736A (ja) プリフェッチ装置及びプリフェッチ・アクセスの方法
US5608892A (en) Active cache for a microprocessor
EP1313273B1 (en) System having two or more packet interfaces, a switch, a shared packet DMA (Direct Memory Access) circuit and a L2 (Level 2) cache
US5983332A (en) Asynchronous transfer mode (ATM) segmentation and reassembly unit virtual address translation unit architecture
US7631106B2 (en) Prefetching of receive queue descriptors
US6978351B2 (en) Method and system to improve prefetching operations
US6718441B2 (en) Method to prefetch data from system memory using a bus interface unit
US5991854A (en) Circuit and method for address translation, using update and flush control circuits
US5594927A (en) Apparatus and method for aligning data transferred via DMA using a barrel shifter and a buffer comprising of byte-wide, individually addressabe FIFO circuits
WO2004109432A2 (en) Method and apparatus for local and distributed data memory access ('dma') control
US10628355B2 (en) Apparatus and method for processing burst read transactions
WO2008045321A2 (en) Method, system, and computer program product for resequencing of data segments received over a bonding channel set
US7467256B2 (en) Processor having content addressable memory for block-based queue structures
US7325099B2 (en) Method and apparatus to enable DRAM to support low-latency access via vertical caching
US5416907A (en) Method and apparatus for transferring data processing data transfer sizes
EP0752800B1 (en) Apparatus and method for data packing through addition
US6279081B1 (en) System and method for performing memory fetches for an ATM card
JPH113281A (ja) 回路,ネットワーク、及びメモリ内の無効アドレス変換をチェックする方法
JP2002084311A (ja) パケット転送処理装置
US6073224A (en) Network interface circuit with replacement circuitry and method for segregating memory in an address translation unit with locked and unlocked regions
US7039747B1 (en) Selective smart discards with prefetchable and controlled-prefetchable address space
TWI402674B (zh) 使用擷取叢發提供資訊至一快取模組之裝置及方法
JPH08339331A (ja) キャッシュメモリー
JP2005526335A (ja) 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット
JP3241679B2 (ja) プロセッサからの大容量データ転送処理リクエストにおけるキャッシュ読み出し方法