JPH09244952A - 主メモリへの帯域幅を保持するシステム - Google Patents

主メモリへの帯域幅を保持するシステム

Info

Publication number
JPH09244952A
JPH09244952A JP9023353A JP2335397A JPH09244952A JP H09244952 A JPH09244952 A JP H09244952A JP 9023353 A JP9023353 A JP 9023353A JP 2335397 A JP2335397 A JP 2335397A JP H09244952 A JPH09244952 A JP H09244952A
Authority
JP
Japan
Prior art keywords
miss
main memory
cache
data
instruction
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
JP9023353A
Other languages
English (en)
Other versions
JP3876034B2 (ja
Inventor
Gregg Lesartre
グレッグ・レサルター
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH09244952A publication Critical patent/JPH09244952A/ja
Application granted granted Critical
Publication of JP3876034B2 publication Critical patent/JP3876034B2/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
    • 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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline

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)
  • Advance Control (AREA)
  • Memory System (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 順不同に命令を処理するシステムでキャッ
シュ・ミスが起こる場合、主メモリへのメモリ要求を最
小限にし、主メモリへの帯域幅を最適化する。 【解決手段】システムは、プロセッサと、プロセッサと
連絡する主メモリと、プロセッサに関連するデータ・キ
ャッシュ(DCACHE)とを含む。プロセッサは、メモリ待ち
行列(MQUEUE)をもち、DCACHEまたは主メモリへのメモリ
アクセスへ向けられる命令を受け取り、実行する。MQUE
UEは、順不同にそれぞれのメモリ命令を受け取り、実行
するための複数の命令処理機構を含む。各々の命令処理
機構は、命令を格納する命令レジスタおよび命令の実行
の結果のデータアドレスを格納するアドレス並べ替えバ
ッファ・スロット(ARBSLOT)を含む。各々のARBSLOTのミ
ス従属(DM)インジケータ論理は、別のARBSLOTがDCACH
Eに不在で、すでに主メモリから要求しているミス・デ
ータについてそれぞれのARBSLOTから主メモリへの要求
を妨げる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にコンピュー
タ・プロセッサ・アーキテクチャに関し、特に、順不同
に命令を実行するプロセッサにおいて、冗長なメモリ要
求が排除され、メモリ帯域幅が最適化されるように、キ
ャッシュ・ミスに起因するメモリ要求をトラッキングす
るミス追跡システムおよび方法に関する。
【0002】
【従来の技術】一般に、コンピュータ・プロセッサ(処
理ユニット)は、システムの演算を指示する制御ユニッ
ト、および計算演算を実施する算術論理ユニット(ALU)
からなる。プロセッサの設計は、1つまたは複数のレジ
スタ組の選択、これらレジスタ間の通信経路、およびこ
れらがどのように動作するか指示し、制御する手段を伴
う。普通、プロセッサは、主メモリに保有される一連の
命令からなるプログラムによって指示される。各々の命
令は、通常長さが1または複数ワードの1グループのビ
ットであり、プロセッサによって実行される演算を明示
する。一般に、プロセッサの基本サイクルは、(a)命令
を主メモリから命令レジスタへフェッチするステップ
と、(b) その命令を解読する(すなわちそれが示すなさ
れるべきことを判断する。各々の命令は、実施される演
算および演算が適用されるデータを示す)ステップと、
(c)その命令によって明示される演算を実行するステッ
プと、(d)次の命令が位置するところを判断するステッ
プとを含む。普通、次の命令とは、現在の命令のすぐ後
に続くものである。
【0003】しかし、2以上のスカラ演算が並行に実施
されるスーパースカラ・プロセッサのような高性能なプ
ロセッサにおいて、プロセッサは、順不同である、また
はプロセッサを駆動するソフトウェアによって規定され
る順序と一貫しない順序である命令を実施するように設
計されることができる。これらのシステムで、命令は、
それらがプログラムによって規定されるシーケンスに現
れるときに対し、それらが実行されることができるとき
に実行される。さらに、順不同の命令の実行の後、その
結果は、命令の順序と一致するように最終的に並べ替え
られる。
【0004】性能を最適化するために、キャッシュ・メ
モリがしばしばコンピュータのプロセッサに関連して用
いられる。キャッシュ・メモリは、コンピュータのプロ
セッサと主メモリの間に位置する高速なバッファであ
る。プロセッサで現在使用中のデータおよび命令は、キ
ャッシュ・メモリへ移動させられ、それによって2つの
利益をもたらす。第1に、プロセッサのメモリ要求に関
する平均アクセス時間が低減され、プロセッサのスルー
プットを増加させる。第2に、それによって利用可能な
メモリ帯域幅のプロセッサの利用が低減されるので、シ
ステム・バス上のその他のデバイスは、プロセッサのじ
ゃまをすることなくメモリを使用することができる。こ
のようにキャッシュ・メモリは、主メモリからプロセッ
サへの命令およびデータのフローの速度を上げるために
使用される。主メモリのサイクル時間は、典型的にプロ
セッサのクロッキング速度よりも遅いので、このキャッ
シュ・ファンクションが重要である。
【0005】プロセッサがあるデータラインについてデ
ータ・キャッシュにアクセスするとき、プロセッサはそ
のキャッシュにアドレスを送る。キャッシュは、アドレ
スからキャッシュ索引を解析し、所望のデータラインを
含みうる1つまたは複数の記憶位置を選択するためにそ
れを使用する。キャッシュは、いくつかの設計で、1ま
たは複数の位置に対応する実ページ番号(RPN)であるタ
グ、およびそのタグに対応するデータラインが有効であ
るか無効であるかを示すステータス・インジケータ(ind
icator)を出力する。
【0006】典型的にキャッシュに関連する支援回路
は、ステータス・インジケータおよびタグを受け取る。
ステータス・インジケータが無効データを示すとき、支
援回路は「ミス(miss)」表示をプロセッサに送り、その
場合、プロセッサはそのデータラインについて主メモリ
をアクセスしなければならない。ステータス・インジケ
ータが有効データを示すとき、支援回路は、キャッシュ
が所望のデータラインを現在格納しているか判断するた
めに、タグをアドレスの残りのものと比較する。キャッ
シュが、タグの比較によって判断されるように要求され
るデータラインを持たないとき、支援回路は、「ミス」
表示をプロセッサに送り、その場合、プロセッサはその
データラインについて主メモリをアクセスしなければな
らない。キャッシュが、タグの比較によって判断される
ように要求されているデータラインを持つとき、支援回
路は、「ヒット(hit)」表示をプロセッサに送り、要求
されるデータラインを読み取るようにプロセッサを促進
する。
【0007】命令の順不同の実行、または命令のスーパ
ースカラの実行を実施するプロセッサでは、2つ以上の
命令が同一のデータラインをシークすることがありえ
る。さらに、データラインがキャッシュで利用可能でな
い場合、主メモリへの複数のメモリ要求が、システム・
インターフェースすなわち1または複数のバス上に生成
され、連絡されうる。この状態は、トラフィックを増や
すことによりシステム・インターフェースの帯域幅を減
少させるので望ましくない。
【0008】
【発明が解決しようとする課題】本発明の目的は、上述
のような従来技術の不適当な点および不足する点を克服
することである。
【0009】本発明の別の目的は、順不同に命令を実行
するプロセッサの性能を改善することである。
【0010】本発明の別の目的は、順不同に処理するシ
ステムでキャッシュ・ミスが起きた場合に、主メモリへ
のメモリ要求を最小限にするミス追跡システムおよび方
法を提供することである。
【0011】本発明の別の目的は、順不同に処理するシ
ステムで、データラインが主メモリから返されると、冗
長なメモリ要求を排除し、メモリ要求に従属する命令を
更新するミス追跡システムおよび方法を提供することで
ある。
【0012】本発明の別の目的は、設計が簡単であり、
操作上効率的で信頼でき、安価に大量生産できるミス追
跡システムおよび方法を提供することである。
【0013】
【課題を解決するための手段】手短に述べると、本発明
は、データ・キャッシュを利用し、順不同に命令を実行
する処理システムに関連する主メモリへの帯域幅を最適
化するミス追跡システムおよび方法を提供する。ミス追
跡システムは、プロセッサ、システム・インターフェー
スを経由してプロセッサに連絡する主メモリ、およびプ
ロセッサに関連するデータ・キャッシュ(DCACHE)を含
む。
【0014】プロセッサは、メモリ・アクセスすなわち
主メモリまたはDCACHEへのロードまたは格納へ向けられ
る命令を受け取り、実行する命令並べ替え機構をもつ。
命令並べ替え機構は、メモリ待ち行列(MQUEUE)であるこ
とが好ましいが、これに限定されない。MQUEUEは、それ
ぞれのメモリ命令を受け取る複数の命令処理機構を含
む。各々の命令処理機構は、対応する命令を格納する命
令レジスタ、および命令の実行に関して結果のデータ・
アドレスを受け取るアドレス並べ替えスロット(ARBSLO
T)を含む。命令処理機構は、順不同に(実行を開始する
ための)命令を送り出し、その命令によって、DCACHEへ
のアクセスが行われる。
【0015】発明の重要な特徴に従うと、各々の命令処
理機構、具体的にはARBSLOTに関連するミス従属(depend
ent-on-miss、DM)インジケータ論理は、別のARBSLOT
がDCACHEに不在のミス・データをすでに主メモリから要
求しているとき、そのミス・データについてそれぞれの
ARBSLOTから主メモリへの要求を妨げる。DMインジケ
ータ論理は、現在それぞれのARBSLOTに関連する命令が
それぞれ、まだ受け取られていないミス・データに従属
するか否か示す信号DMをアサートする、およびアサー
トから外す(deasserted)ように構成される、例えばラッ
チその他の適当な機構のようなDMインジケータを含
む。キャッシュ・ミスが起こると、DMインジケータ論
理は信号DMをアサートするが、別のARBSLOTがすでに
要求を行っているときは、そのミス・データについてそ
のそれぞれのARBSLOTから主メモリへの要求を妨げる。
DMインジケータは、DCACHEによってミス・データが主
メモリから受け取られると、信号DMをアサートからは
ずし、アサートからはずすことによって、特定のARBSLO
Tはそのデータについてもう一度DCACHEにアクセスす
る。
【0016】さらに、好ましい実施例では1または複数
のビットであるステータス・インジケータは、各々のキ
ャッシュ・データラインに関連する。ステータス・イン
ジケータは、対応するキャッシュ・データラインが、無
効であり、かつすでに主メモリから要求されていること
を示す「ミス・ペンディング(miss pending)」のステー
タスを、適切なときに示すことができる。論理は、キャ
ッシュ・アクセスの間、ステータス・インジケータを調
べる。ステータス・インジケータがミス・ペンディング
のステータスを示すとき、論理は、DMインジケータを
用いて信号DMをアサートし、主メモリへアクセスを起
動することを控える。
【0017】より高い性能を実現するために、データラ
インの半分だけが有効であるとき、ステータス・インジ
ケータは、「キャッシュ・ラインが半分有効」のステー
タスを示すことができる。好ましい実施例で、キャッシ
ュ・ラインは、主メモリから2つの半分で返される。こ
の付加のステータス情報によって、論理は、キャッシュ
・ラインの半分が利用可能であるときを、および所与の
ARBSLOTのデータ・アドレスが先に進んで、DCACHEにあ
る半分のラインからそのデータをアクセスすることがで
きるかどうかを認識することができる。
【0018】またこの発明は、データ・キャッシュを利
用し、順不同に命令を実行する処理システムに関連する
主メモリへの帯域幅を保持する新しい方法を提供するこ
とを目的とする。これに関して、方法は、データアクセ
スに向けられる命令を順不同に実行し、その命令に従っ
て処理システムを用いてデータ・キャッシュにアクセス
し、処理システムを用いてデータ・キャッシュに不在の
ミス・データを認識し、そのミス・データについて主メ
モリへの複数の要求を妨げるように、広く概念化される
ことができる。
【0019】
【発明の実施の形態】図1に示されるように、本発明の
ミス追跡システム100(より詳しくは図3および図4を参
照)および関連する方法は、コンピュータ11内で実現さ
れ、特に、プロセッサ14の命令フェッチ/実行システム1
2内のメモリ待ち行列(MQUEUE)、およびコンピュータ11
のプロセッサ14に接続されるデータ・キャッシュ(DCACH
E)24に関連する。一般に、コンピュータ11は、プロセッ
サ14、プロセッサ14を駆動するソフトウェア(S/W)18を
もつ主メモリ16、参照矢印23で示されるようにプロセッ
サ14と相互接続するDCACHE24、およびプロセッサ14およ
び主メモリ16と相互接続する1または複数のバスのよう
なシステム・インターフェース22からなる。演算におい
て、プロセッサ14の命令フェッチ/実行システム12がソ
フトウェア18を実行するとき、プロセッサ14で現在使用
中のデータはDCACHE24へ転送され、それによってプロセ
ッサのメモリ要求に関する平均アクセス時間を減少さ
せ、システム・インターフェース22上のトラフィックを
最小限にする。最後に、新しいミス追跡システム100を
除いては、前述のコンピュータ構成要素およびそれらの
相互作用はすべて従来技術でよく知られており、理解さ
れていることを述べなければならない。
【0020】DCACHE24の典型的なキャッシュ・ライン
は、タグ、ステータス・インジケータおよびデータを含
む。所望のデータラインを含みうる1つまたは複数の記
憶位置を選ぶために、キャッシュ索引が、DCACHE24に送
られ、DCACHE24で使用される。キャッシュ索引の受領に
応答して、DCACHE24は、1つまたは複数の位置に対応す
る、好ましい実施例では実ページ番号(RPN)であるタ
グ、そのタグに対応するデータラインが有効であるか無
効であるか示すステータス・インジケータ、および有効
または無効でありうるデータを出力する。典型的に、ス
テータス・インジケータは以下の状態を示す。「無効」
は、存在するデータがないことを意味する。「有効、共
有(valid shared)」は、データは存在するが、どこかほ
かに位置することがありえることを意味する。「有効、
専有、クリーン(valid private clean)」は、ラインが
唯一のコピーをもち、DCACHE24がまだラインに書き込み
をしていないことを意味する。「有効、専有、ダーティ
(valid private dirty)」は、ラインが唯一のコピーを
もち、DCACHE24がすでにラインに書き込みをしている
(従って主メモリへのラインをコピーする必要がある)こ
とを意味する。
【0021】DCACHE24に関連するタグ比較機構108(図
3)は、ステータス・インジケータおよびタグを受け取
る。ステータス・インジケータが無効データを示すと
き、タグ比較機構は、「ミス」表示をプロセッサ14へ送
り、その場合プロセッサ14は、そのデータラインについ
て主メモリ16にアクセスする。ステータス・インジケー
タが有効なデータを示すとき、タグ比較機構は、DCACHE
24が所望のデータラインを現在格納しているかどうか判
断するために、タグをアドレスの残りのものと比較す
る。DCACHE24が、タグの比較によって判断されるよう
に、要求されているデータラインを持たないとき、タグ
比較機構は、「ミス」表示をプロセッサ14へ送り、その
場合プロセッサ14は、そのデータラインについて主メモ
リ16にアクセスする。DCACHE24が、タグの比較によって
判断されるように、要求されているデータラインをもつ
場合、タグ比較機構は、「ヒット」表示をプロセッサ14
へ送り、要求されるデータラインを読み取るようにプロ
セッサ14を促進する。
【0022】命令フェッチ/実行システム12の可能な実
施例が、図2のブロック図によって示される。図2で示
すように、命令フェッチ/実行システム12は、命令をソ
フトウェア18(図1)から格納するための命令キャッシュ
(ICACHE)26をもつ。命令フェッチ機構(IFETCH)28はICAC
HE26と連絡し、最終の実行のためにICACHE26から命令を
取り出す。好ましい実施例では、IFETCH28は、一度に4
命令(各々32ビット)をフェッチし、その命令をソート
機構32へ転送する。
【0023】ソート機構32は、各々の命令が、算術論理
ユニット(ALU)またはメモリのどちらに向けられている
か判断し、それに応じて、対応する参照矢印36a、36bで
示されるように命令を算術論理ユニット待ち行列(AQUEU
E)38aおよびMQUEUE38bへそれぞれ分配する。
【0024】算術論理ユニット待ち行列38aは、複数のA
LU命令処理機構39a(好ましい実施例で数は28)を含み、
それらは、参照矢印43で示されるように算術論理ユニッ
ト42へ向けられるそれぞれの命令を格納するレジスタ41
aを持つ。算術論理ユニット待ち行列38aの中の命令は、
任意の可能な順序で(好ましくはデータフロー形態で)実
行され、それらが完了するとき、その結果が捕らえら
れ、完了とマークされる。
【0025】待ち行列38aによって制御されるALU42は、
インターフェース45で示されるようにリネーム(rename)
・レジスタ44a、44bおよび汎用レジスタ46からオペラン
ドを取り出すことができる。ALU42がオペランド上に演
算したあと、演算の結果は、参照矢印49で示されるよう
に、AQUEUEリネーム・レジスタ44aに格納される。
【0026】メモリ待ち行列38bは、複数の命令処理機
構39bを含む。それぞれの命令処理機構39bは、それぞれ
のメモリ命令を格納するレジスタ41bを含み、また参照
数字48によって示される、それぞれのアドレスを格納す
るアドレス並べ替えバッファ・スロット(ARBSLOT、好ま
しい実施例で数は28である)を含む。メモリ待ち行列38b
の中のメモリ命令は、メモリへの「ロード」および「格
納」と分類されることができる。「ロード」は、データ
をメモリ(キャッシュまたは主メモリ)からレジスタへ転
送する要求であり、「格納」は、データをレジスタから
メモリへ転送する要求である。
【0027】命令の実行の間に、第1のフェーズは、ア
ドレスを計算するために、規定される数学的演算をオペ
ランドに実行することを伴い、第2のフェーズは、計算
されたアドレスに基づいて、データについてメモリ/キ
ャッシュをアクセスすることを伴う。MQUEUE38bは、任
意の可能な順序で(好ましくはデータフロー形態で)各々
の命令および実行の2つのフェーズ(アドレス計算およ
びメモリ/キャッシュ・アクセス)を実行する。命令が完
了すると、その結果は、MQUEUEリネーム・レジスタ44b
によって捕らえられ、命令は、MQUEUE38bで完了とマー
クされる。好ましい実施例において、MQUEUE38bは、ソ
ート機構32から1サイクルあたり4命令(各々32ビッ
ト)までを受け取り、参照矢印51bで示されるように、退
去機構52へ1サイクルあたり2命令(32ビット)までを
転送する。
【0028】より詳しくは、命令の実行の第1フェーズ
の間に、アドレスはアドレス計算器58によって生成され
る。アドレス計算器58は、リネーム・レジスタ44bから
取り出されるオペランドに基づいてアドレスを計算し、
参照矢印62で示されるように、メモリ待ち行列38bの中
の命令に対応するARBSLOT48へ(実または仮想)アドレス
を渡す。命令による計算の制御は、図2の参照矢印64で
示される。メモリの命令の実行の第2フェーズが遂行さ
れるとき、計算されたアドレス(キャッシュ索引を含む)
が、参照矢印54で示されるようにDCACHE24へ転送され、
DCACHE24でロードまたは格納を達成する。好ましい実施
例では、可能であれば2つのアドレスが、各々のサイク
ルに、メモリ待ち行列38bからDCACHE24へ転送される。
この多重アドレス特徴を適応させるために、DCACHE24
は、例として2重ポートを用いて実現されることができ
る。代わりに別の例として、また好ましい実施例で実現
されるように、奇数および偶数アドレスが、単一ポート
のランダム・アクセス・メモリ(RAM)のそれぞれの奇数
および偶数キャッシュ・バンクへ同時に送られる。後者
の設計の詳細は、同じ発明者によって同日に出願されて
いる「Address Aggregation System And Method For In
creasing Throughput Of Addresses To A DataCache Fr
om A Processor」というタイトルの同時継続出願特許の
明細書に説明されている。DCACHE24がアドレスを処理す
ると、データ結果は、参照矢印56で示されるようにリネ
ーム・レジスタ44bへ転送される。
【0029】退去機構52は、対応する参照矢印51a、51b
で示されるように、待ち行列38a、38bの各々から実行さ
れた命令を受け取る(好ましくは1サイクルあたり2つ
の32ビット)。退去機構52は、命令の結果をアーキテク
チャの状態に付する。ソフトウェア18(図1)は、退去機
構52によってアーキテクチャの状態に変換されない結果
には気付かない。退去機構52は、それぞれ参照矢印73、
74で示されるように、命令の属性に依存して命令の結果
を汎用レジスタ46および/または制御レジスタ72へ移動
させることにより、ソフトウェア18によって規定される
プログラムの順序で待ち行列38a、38bの命令を退去さ
せ、結果として参照矢印76a、76bで示されるように、命
令の結果がリネーム・レジスタ44a、44bから汎用レジス
タ46へ渡される。
【0030】退去機構52がDCACHE24のデータラインへの
格納をもたらす命令を退去させるとき、退去機構52は、
ラインに対応するステータス・インジケータに「ダーテ
ィ」とマークし、ラインは変わり、主メモリ16でライン
を更新するために最終的に主メモリ16に送られなければ
ならないことを示す。
【0031】また退去機構52は、命令に関連する例外が
あるかどうか判断するための論理をもつ。例外とは、現
在退去させている命令の1つに対応する特別な状況を示
すフラグである。例外が起きた場合、退去機構52は、例
外を示した命令の後に続く待ち行列38a、38b内のすべて
の命令を捨て、IFETCH28に、再実行のために未解決の命
令をもう一度取り出させる、または特別な状況を扱うた
めの特別なソフトウェアを取り出させる。
【0032】ミス追跡システムおよび方法 本発明のミス追跡システムおよび方法の特徴に従って、
付加のキャッシュ状態が、上述された典型的な状態に加
えられる。具体的に言うと、「ミス・ペンディング」状
態および「キャッシュ・ラインが半分有効」状態が加え
られる。上述の状態は、命令の順不同の処理およびDCAC
HE24への複数の同時のアクセスを可能にするために加え
られている。好ましい実施例で、ステータス・インジケ
ータ82は3ビットを使って実現され、符号は以下の表1
で示される通りである。
【0033】
【表1】
【0034】この明細書でさらに詳しく後述されるが、
「ミス・ペンディング」状態は、対応するデータライン
が、現在はDCACHE24内になく、現在主メモリ16(図1)か
らシークされていることを示す。さらに、「キャッシュ
・ラインが半分有効」状態は、データラインの半分のみ
が主メモリ16からDCACHE24へ転送されているときを示
す。DCACHE24へのデータ読み取りアクセスすなわちロー
ドがあり、ステータス・インジケータ82が「キャッシュ
・ラインが半分有効」を示すとき、要求している命令
は、要求されるデータがラインの第1の半分にあるか第
2の半分にあるか判断する。それが第1の半分であれ
ば、要求している命令は実行し、それ自身に完了とマー
クする。対照的に、それが第2の半分であれば、要求し
ている命令は再び試みる。前述の特徴はシステムの性能
を向上させる。
【0035】ここで本発明のミス追跡システム100が、
図3および図4を参照して記述される。図3を参照する
と、ミス追跡システム100は、システム・インターフェ
ース制御102、複数のメモリ命令処理機構39b(それらの
各々はARBSLOT48を含む)、DCACHE24、ミス・アービトレ
ータ107、タグ比較機構108、およびアドレス計算器58を
伴う。
【0036】システム・インターフェース制御102は、
システム・インターフェース22へ/からのアクセスを制
御し、具体的には、データについて主メモリ16へデータ
ラインを要求し、データラインが主メモリ16から送られ
てくるとき、データライン105および制御信号106をDCAC
HE24へ転送する。システム・インターフェース制御102
は、主メモリ16(図1)からのデータを要求するために、
ミス制御信号MISS_CAV101およびMISS/COPY_IN_ADDR104
の両方をARBSLOT48から受け取る。次にシステム・イン
ターフェース制御102は、適当なデータ要求信号を生成
し、主メモリ16に連絡する。システム・インターフェー
ス制御102が主メモリ16からデータラインを受け取ると
き、システム・インターフェース制御102は、データラ
イン105をDCACHE24へ連絡し、参照矢印106で示されるよ
うに、DCACHE24へ制御信号COPY_IN103およびステータス
・インジケータ「1xx」の両方を発行する。さらに、シ
ステム・インターフェース制御102は、そのラインに対
応するアドレスMISS/COPY_IN_ADDR104および制御信号CO
PY_IN103をARBSLOT48へ送り、ARBSLOT48は、そのデータ
ラインについてDCACHE24へアクセスするように促され
る。
【0037】各々のメモリ命令処理機構39bは、簡潔に
する目的でそれらのうち1つだけが図3に示されてお
り、DCACHE24、システム・インターフェース制御102お
よびタグ比較機構108と相互接続するARBSLOT48を含む。
さらに詳しく後述されるように、ARBSLOT48は、それぞ
れのARBSLOT48に関連する命令が、すでに要求されてお
り、かつDCACHE24に不在のミス・データラインに依存す
るか否かを示す内部のミス従属(DM)インジケータ135
(図4)を維持する。さらにARBSLOT48は、別のARBSLOT48
がすでに主メモリ16からミス・データラインを要求して
いるとき、そのミス・データラインについてARBSLOT48
から主メモリ16へ要求が行われないようにする論理を含
む。
【0038】図3を参照すると、ARBSLOT48はミス制御
信号MISS_CAV101を発行することができ、また別のARBSL
OT48からその信号を受け取ることができる。またARBSLO
T48は、システム・インターフェース制御102または別の
ARBSLOT48から、アドレスMISS/COPY_IN_ADDRを受け取る
ことができる。最後に、ARBSLOT48は、システム・イン
ターフェース制御102によって送られてくるアドレスを
コピーするようにARBSLOT48に通知する、システム・イ
ンターフェース制御102からの制御信号COPY_IN103を受
け取ることができる。
【0039】ミス・アービトレータ107は、図3に示さ
れるように、各々のARBSLOT48と相互接続される。ミス
・アービトレータ107は、キャッシュ・ミスが起きた場
合に、複数のARBSLOT48の間でシステム・インターフェ
ース22へのアクセスを裁定する。あるARBSLOT48でキャ
ッシュ・ミスがあると判断されると、そのARBSLOT48
は、参照数字111で示されるように、ミス要求信号MISS_
REQを生成し、ミス・アービトレータ107にそのミス要求
信号MISS_REQ111を転送する。ミス・アービトレータ107
は、多くのARBSLOT48からのミス要求に優先順位を付
け、選択する。ミス・アービトレータ107は、ミス要求
を許可すると、選択されたARBSLOT48に許可信号MISS_GR
ANT112を発行し、それによってARBSLOT48はミス制御信
号MISS_CAV101およびアドレスMISS/COPY_IN_ADDR104を
システム・インターフェース制御102へ発行する。
【0040】ARBSLOT48は、DCACHE24からデータ56を取
り出すために、アドレスACCESS_ADDR114およびアクセス
要求信号ACCESS_REQ115をDCACHE24に連絡する。DCACHE2
4は、アドレスACCESS_ADDR114(キャッシュ索引を含む)
および信号ACCESS_REQ115を受け取ると、DCACHEタグ81
およびステータス・インジケータ82を生成し、それらは
両方ともタグ比較機構108へ送られる。
【0041】タグ比較機構108は、タグ81およびステー
タス・インジケータ82を受け取ることに加えて、ARBSLO
T48からアドレスACCESS_ADDR114に対応するアクセス・
タグACCESS_TAG116を受け取る。タグ比較機構108は、ス
テータス・インジケータ82を調べ、上述される表1に従
って同じものを解読する。ステータス・インジケータ82
が、DCACHEタグ81は有効であると示すとき、すなわちス
テータス・インジケータ82が「1xx」であるとき、また
タグ比較機構108は、ヒットがあるかミスがあるか決定
するためにDCACHEタグ81をタグACCESS_TAG116と比較す
る。タグ比較機構108は、それぞれミスがあるかヒット
があるかを示す信号〜HIT118をアサートし、またはアサ
ートから外し、この信号をARBSLOT48へ送る。
【0042】ステータス・インジケータ82が「ミス・ペ
ンディング」があると示すとき、すなわちステータス・
インジケータ82が、シークされるキャッシュ・ラインと
関係する「010」を示すとき、タグ比較機構108は、信号
HIT_DMをアサートする。信号HIT_DM121がアサートされ
るとき、ARBSLOT48は、ARBSLOT48内のDM変数をアサー
トするようにDMラッチを設定する。DM変数がARBSLO
T48でアサートされる場合、ARBSLOT48は、ミス・データ
ラインについて主メモリ16(図1)へのデータ要求を起動
することを控える。
【0043】アドレス計算器58は、(図2に示されるよ
うに)リネーム・レジスタ44a、44bおよび/または汎用レ
ジスタ46からオペランド126を受け取り、演算する加算
器124を含む。加算器124は、ARBSLOT48および変換脇見
(lookaside)バッファ(TLB)132へ渡される仮想アドレ
スを生成する。TLB132は、仮想アドレス128に基づい
て実アドレス・タグ134を生成し、実アドレス・タグ134
をARBSLOT48へ渡す。タグ134は、最終的にACCESS_TAG11
6としてタグ比較機構108へ渡される。
【0044】各々のARBSLOT48内に位置するミス従属(D
M)インジケータ論理133は、図4に詳細に示される。一
般にDMインジケータ論理133は、ARBSLOT48がそれぞれ
ミス・データラインに従属するか否かを示す信号DM14
1をアサートする、またはアサートから外す、例えばラ
ッチまたはその他適当な装置のようなミス従属(DM)イ
ンジケータ135を維持するように構成される。ARBSLOT48
がミス・データラインに従属する場合、ARBSLOT48は、
主メモリ16からデータラインを要求することを控える。
さらにミス・データラインが、主メモリ16からそれを要
求したARBSLOT48へ転送される場合、ミス・データライ
ンを要求した各ARBSLOT48の信号DM141は、DMインジ
ケータ135によってアサートから外され、未解決のARBSL
OT48は、DCACHE24から所望のミス・データラインを取り
出すことを許される。
【0045】図4を参照すると、DMインジケータ論理
133は、(a)タグ比較機構108からの信号〜HIT118によっ
て設定される否定ヒット(〜HIT)インジケータ136a、(b)
アドレス計算器58(図3)からのアドレスADDR128から解
析されるキャッシュ索引136b、および(c)アドレス計算
機58のTLB132(図3)から実アドレス・タグ136c、を
格納するレジスタ136を含む。
【0046】〜HITインジケータ136aは、参照矢印139で
示されるようにAND論理ゲート137へ渡される。また
AND論理ゲート137は、DMインジケータ135からの信
号DM141を反転器143を用いて反転させることによって
生成される信号〜DM142、DCACHE24がARBSLOT48の命令
によってすでにアクセスされているか否か示す信号〜C
P131、および有効アドレス104があるか否かを示す信号
CA_VALID138を受け取る。上述の信号に基づいて、AN
D論理ゲート137は、ミス・アービトレータ107(図3)へ
のミス要求信号MISS_REQUEST111を生成する。信号〜H
IT139がミスを示し、信号〜DMがARBSLOT48はミスに
従属しないことを示し、信号〜CP131が否定のキャッ
シュ・ペンディングを示し、信号CA_VALID138が有効ア
ドレス104を示すとき、信号MISS_REQUEST111が、AND
論理ゲート137によってアサートされる。信号MISS_REQU
EST111のアサートによって、ミスされたキャッシュ・ラ
インについて主メモリ16(図1)への要求が置かれる。な
お〜HITインジケータ136aがヒットを示すとき、および/
または信号〜DM142が、ARBSLOT48がミスに従属するこ
とを示すとき、AND論理ゲート137は、ミス要求信号M
ISS_REQUEST111をアサートすることを控える。
【0047】比較機構145は、参照矢印146で示されるよ
うにアドレスMISS/COPY_IN_ADDRからキャッシュ索引を
受け取り、参照矢印147で示されるようにそれをレジス
タ136からのキャッシュ索引と比較する。比較機構145の
結果は、参照矢印149で示されるようにANDゲート148
へ渡される。ミス制御信号MISS_CAVがアサートされるな
らば、比較信号149は、DMインジケータ135に、比較に
基づく信号DM141をアサートさせる。
【0048】これに関して、AND論理ゲート148は、
比較信号149、およびミス要求が主メモリ16に対して行
われているか否か示すミス制御信号MISS_CAVを受け取
る。AND論理ゲート148は、比較信号149およびミス制
御信号MISS_CAV101の状態に基づいてトランジスタ152を
作動させる。作動信号153がアサートされるとき、トラ
ンジスタ152は、DMインジケータ135に信号DM141の
アサートをもたらす。
【0049】信号DM141はまた、トランジスタ154の制
御のもとで、DMインジケータ135によってアサートさ
れることができる。ミスが起きたとき、トランジスタ15
4は、タグ比較機構108から信号HIT_DM121を受け取る。
さらにシステムは、DCACHE24へのアクセスが許可された
後、すなわち信号ACCESS_REQ115が発行された2クロッ
ク後に信号HIT_DM121が受け取られるように、時間を定
められている。これに関して、トランジスタ154は、参
照数字158で示されるように、信号ACCESS_REQ115(図3)
の2サイクル後に信号ACCESS_+_2によってイネーブルに
される。信号HIT_DM121がこの信号の2サイクル後に受
け取られるならば、トランジスタ154は、線156で示され
るように、信号DM141をアサートするようにDMイン
ジケータ135を設定する。
【0050】AND論理ゲート162は、システム・イン
ターフェース制御102(図3)から制御信号COPY_IN103、
および比較機構145から比較信号149を受け取る。これら
の信号に基づいて、AND論理ゲート162は、トランジ
スタ166を作動させる作動信号164を生成する。トランジ
スタ166が作動させられるとき、接続168で示されるよう
に、DMインジケータ135によって信号DM141がアサー
トから外される。一般に、信号DM141は、アサートさ
れている信号DMを引き起こすデータラインが主メモリ
から送られてくるときにアサートから外される。
【0051】ミス・アービトレータ107(図3)からの許
可信号MISS_GRANTEDは、ミス制御信号MISS_CAVを駆動す
るドライバ172に渡される。ミス制御信号MISS_CAVが発
行されるとき、すべてのARBSLOT48は、それらのそれぞ
れの信号DM141がそれらの対応するDMインジケータ1
35によってアサートされるべきか判断するために、それ
らのそれぞれのキャッシュ索引136bをアドレスMISS/COP
Y_IN_ADDR104に帰するキャッシュ索引と比較することが
できる。
【0052】操作 ここでミス追跡システム100の操作が、図3および図4
を参照して記述される。
【0053】最初に図3を参照すると、ARBSLOT48は、D
CACHE24からキャッシュ・ラインを要求するとき、アド
レスACCESS_ADDR114(キャッシュ索引含む)と共に信号AC
CESS_REQ115をアサートする。DCACHE24に可能性のある
ヒットがある場合には、ステータス・インジケータ82
は、符号「1xx」(表1)により有効なキャッシュ・ライ
ンを表す。さらにタグ比較機構108は、タグDCACHE_TAG8
1を読み取り、それをアクセス・アドレスACCESS_ADDR11
4に関連するタグACCESS_TAG116と比較する。適合すると
き、タグ比較機構108は、ヒットがあると結論を下し、
ヒット118を示すために信号〜HITをアサートから外し、
その結果ARBSLOT48は、それ自身に完了とマークする。
操作の結果は、命令が退去するまでリネーム・レジスタ
に保有され、そのとき結果はアーキテクチャのレジスタ
46へ移される。
【0054】キャッシュ・アクセスが、「0xx」の符号
をもつステータス・インジケータ82に基づいてミスする
とき、あるいは代わりにタグDCACHE_TAG81がタグACCESS
_TAG116と適合しないとき、タグ比較機構108は、ARBSLO
T48にミスを示すために〜HIT信号118をアサートする。
これが、このミス・データラインにアクセスしようする
第1のARBSLOT48であると仮定すると、信号〜DM142が
アサートされ、その場合AND論理ゲート137は、ミス
要求信号MISS_REQUEST111をミス・アービトレータ107へ
発行する。ミス・アービトレータ107は、いろいろなARB
SLOTS48によって生成されうるいろいろなミス要求に優
先順位をつけることによって裁定する。結局ミス・アー
ビトレータ107は、ミス要求を許可する信号MISS_GRANTE
D112を発行する。この信号は、ARBSLOT48のドライバ172
へ送られ、それはミス制御信号MISS_CAV信号101をシス
テム・インターフェース制御102へアサートする。シス
テム・インターフェース制御102は、ARBSLOT48からシス
テム・インターフェース制御102へ送られてくるアドレ
スMISS/COPY_IN_ADDR104に基づいて、そのデータライン
について主メモリ16(図1)へメモリ要求を行う。
【0055】データラインがいったん主メモリ16からシ
ステム・インターフェース制御102へ転送されると、シ
ステム・インターフェース制御102は、参照矢印105で示
されるようにデータラインをDCACHE24へ渡し、制御信号
COPY_INをDCACHE24へアサートし、ステータス・ビット
「1xx」をDCACHE24へ発行する。同時にシステム・イン
ターフェース制御102は、制御信号COPY_IN103をARBSLOT
48へアサートし、MISS/COPY_IN_ADDR104上の関連するア
ドレスをARBSLOT48へ置く。データラインを必要とする
各々のARBSLOT48は、対応するアサートされた信号DM1
41をもつが、それは論理162、166に基づいてアサートか
ら外される。これに関して、AND論理ゲート162は、
比較機構145からアサートされる信号149と、アサートさ
れる信号COPY_INを受け取る。これらの信号に基づい
て、AND論理ゲート162はトランジスタ166を作動さ
せ、DMインジケータ135によって維持される信号DM1
41をアサートから外す。
【0056】別のARBSLOT148が、現在主メモリ16から要
求されているミス・データラインについてDCACHE24にア
クセスしようとする場合、特定のARBSLOT48は、ステー
タス・インジケータ82が、「010」の符号を用いてミス
・ペンディングのステータスすなわちキャッシュ・ライ
ンが別のARBSLOT48によって要求されていることを示す
ように、ステータス・インジケータ82によって通知され
る。この場合、特定のARBSLOT48は、そのタグ比較機構1
08から信号HIT_DM121をアサートすることにより、その
DMインジケータ135を用いてそれ自身の信号DM141を
アサートする。図4に示されるように、信号HIT_DM121
のアサートによって、DMインジケータ135は信号DM1
41をアサートし、AND論理ゲート137はアサートから
外される信号〜DM142を受けるので、ARBSLOT48が主メ
モリ16への要求を行えないようにする。
【0057】多くの変形および修正が、上述のような発
明の好ましい実施例に作成されうる。例えば待ち行列38
a、38bは、当業者に良く知られている予約ステーション
を含む任意の命令並べ替え機構と取り替えられることが
できる。
【0058】本発明は例として次の実施態様を含む。 (1)データ・キャッシュを利用し、順不同に命令を実
行する処理システム(14)に関連する主メモリ(16)への帯
域幅を保持するシステム(11)であって、プロセッサ(14)
と、主メモリ(16)と、上記プロセッサ(14)と連絡し、上
記主メモリ(16)からデータラインを受け取り、格納する
データ・キャッシュ(24)と、上記プロセッサ(14)および
上記主メモリ(16)と相互接続するシステム・インターフ
ェース(22)と、それぞれの命令を順不同に受け取り、実
行し、上記命令に従って上記データ・キャッシュ(24)に
アクセスするように構成される、上記プロセッサ(14)に
関連する複数の命令処理機構(39b)と、別の命令処理機
構(39b)が、上記データ・キャッシュ(24)に不在のキャ
ッシュ・ミス・データをすでに上記主メモリ(16)から要
求しているとき、上記ミス・データについてそれぞれの
命令処理機構(39b)から上記主メモリ(16)への要求を妨
げるように構成される、上記命令処理機構(39b)の各々
に関連する論理(100)と、を備える上記システム(11)。
【0059】(2)上記論理(100)がさらに、各々の上
記命令処理機構(39b)に関連し、上記論理(100)に接続さ
れるミス従属インジケータ(135)を含み、上記ミス従属
インジケータ(135)は、そのそれぞれの命令処理機構(39
b)に関連する命令が上記ミス・データに依存するときを
示すミス従属信号(141)を生成するように構成される、
上記(1)のシステム(11)。 (3)さらに、上記キャッシュによって維持される各々
のキャッシュ・データラインに関連するステータス・イ
ンジケータ(82)を含み、上記ステータス・インジケータ
(82)は、対応するキャッシュ・データラインが無効であ
り、かつ上記主メモリ(16)からすでに要求されていると
きを示すように構成される、上記(1)のシステム(11)。
【0060】(4)さらに、上記複数の命令処理機構(3
9b)に接続されるミス・アービトレータ(107)を含み、上
記ミス・アービトレータ(107)は、上記主メモリ(16)か
らのそれぞれのデータラインについて上記命令処理機構
(39b)からの命令に優先順位を付ける、上記(1)のシステ
ム(11)。 (5)上記論理(100)がさらに、上記データ・キャッシ
ュ(24)によって上記ミス・データラインが上記主メモリ
(16)から受け取られるとき、上記ミス従属インジケータ
(135)をアサートから外す手段(162、166)を含む、上記
(2)のシステム(11)。
【0061】(6)さらに、上記データ・キャッシュ(2
4)によって維持される各々のキャッシュ・データライン
に関連し、対応するキャッシュ・データラインが無効で
あり、かつ上記主メモリ(16)からすでに要求されている
ときにミス・ペンディング状態を示すように構成される
ステータス・インジケータ(82)と、上記命令処理機構(3
9b)の各々に関連し、キャッシュ・アクセスの間に上記
ステータス・インジケータ(82)を調べ、上記ステータス
・インジケータ(82)が上記ミス・ペンディング状態を示
すときに上記ミス従属インジケータ(135)をアサートす
るように構成される他の論理(108)と、を備える、上記
(2)のシステム(11)。 (7)上記論理(100)がさらに、キャッシュ索引がそれ
ぞれの命令処理機構(39b)から上記データ・キャッシュ
(24)に送られるとき、上記データ・キャッシュ(24)から
データ・キャッシュ・タグおよび上記ステータス・イン
ジケータ(82)を受け取るように構成され、また上記ステ
ータス・インジケータ(82)が上記キャッシュは上記キャ
ッシュ索引に対応する有効データを持つと示すとき、ヒ
ット/ミス信号をアサートするまたはアサートから外す
ために、上記データ・キャッシュ・タグを上記キャッシ
ュ索引に対応する別のタグと比較するように構成され
る、上記データ・キャッシュ(24)と相互接続されるタグ
比較機構(108)と、裁定要求(111)を引き出すために、上
記ヒット/ミス信号および上記ミス従属インジケータ(13
5)を結び付ける手段(137)と、を含み、さらに、上記命
令処理機構(39b)に接続され、上記命令処理機構(39b)か
らの上記裁定要求(111)に優先順位を付け、上記主メモ
リ(16)からデータラインについて要求をもたらすミス制
御信号(112)を発行するミス・アービトレータ(107)を含
む、上記(3)のシステム(11)。
【0062】(8)データ・キャッシュ(24)を利用し、
順不同に命令を実行する処理システム(14)に関連する主
メモリ(16)への帯域幅を保持する方法(100)であって、
データアクセスへ向けられる命令を順不同に実行するス
テップと、上記命令に従って、上記処理システム(14)を
用いて上記データ・キャッシュ(24)にアクセスするステ
ップと、上記処理システム(14)を用いて上記データ・キ
ャッシュ(24)に不在のミス・データを認識するステップ
と、上記ミス・データについて上記主メモリ(16)への複
数の要求を妨げるステップと、を含む上記方法(100)。
【0063】(9)さらに、それぞれの命令を受け取る
上記処理システム(14)に関連する複数のアドレス並べ替
えバッファ命令処理機構(39b)を維持するステップと、
各々の上記命令処理機構(39b)で、そのそれぞれの命令
処理機構(39b)に関連する命令が上記ミス・データに従
属するかどうか示すミス従属インジケータ(135)を維持
するステップと、上記命令処理機構(39b)の各々が、そ
の対応するミス従属インジケータ(135)がアサートされ
るとき、上記主メモリ(16)から上記ミス・データを要求
することをできなくするステップと、を含む、上記(8)
の方法(100)。
【0064】(10)対応するキャッシュ・データライ
ンが無効であり、かつすでに上記主メモリ(16)から要求
されているときにミス・ペンディングのステータスを示
すために、ステータス・インジケータ(82)を上記キャッ
シュの各々のキャッシュ・データラインと関連させるス
テップと、上記命令処理機構(39b)のうち1つのそれぞ
れの命令に従って上記キャッシュにアクセスし、上記ス
テータス・インジケータ(82)を調べることによって上記
ミス・ペンディング状態を認識するステップと、上記1
つの命令処理機構(39)の上記ミス従属インジケータ(13
5)をアサートするステップと、を含む、上記(8)の方法
(100)
【0065】
【発明の効果】本発明によると、順不同に命令を処理す
るシステムでキャッシュ・ミスが起きる場合に、主メモ
リへのメモリ要求を最小限にし、主メモリへの帯域幅を
最適化することができる。
【図面の簡単な説明】
【図1】本発明のミス追跡システムおよび方法を実現す
るコンピュータを示すブロック図。
【図2】図1のプロセッサにおける命令フェッチ/実行
システムの可能な実現を示すブロック図。
【図3】図1の新しいミス追跡システムの可能な実現を
示すブロック図。
【図4】各々のアドレス並べ替えバッファ・スロット(A
RBSLOT)のキャッシュ・ミスを追跡するミス従属(DM)
インジケータ論理の可能な実現を示すブロック図。
【符号の説明】
14 処理システム 16 主メモリ 22 システム・インターフェース 24 データ・キャッシュ(DCASH) 38b メモリ待ち行列(MQUEUE) 39b 命令処理機構 48 アドレス並べ替えバッファ・スロット(ARB
SLOT) 58 アドレス計算器 82 ステータス・インジケータ 100 ミス追跡システム 102 システム・インターフェース制御 107 ミス・アービトレータ 108 タグ比較機構 135 DM従属インジケータ論理

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】データ・キャッシュを利用し、順不同に命
    令を実行する処理システムに関連する主メモリへの帯域
    幅を保持するシステムであって、 プロセッサと、 主メモリと、 上記プロセッサと連絡し、上記主メモリからデータライ
    ンを受け取り、格納するデータ・キャッシュと、 上記プロセッサおよび上記主メモリと相互接続するシス
    テム・インターフェースと、 それぞれの命令を順不同に受け取り、実行し、上記命令
    に従って上記データ・キャッシュにアクセスするように
    構成される、上記プロセッサに関連する複数の命令処理
    機構と、 別の命令処理機構が、上記データ・キャッシュに不在の
    キャッシュ・ミス・データをすでに上記主メモリから要
    求しているとき、上記ミス・データについてそれぞれの
    命令処理機構から上記主メモリへの要求を妨げるように
    構成される、各々の上記命令処理機構に関連する論理
    と、を備える、上記システム。
JP02335397A 1996-03-01 1997-02-06 主メモリへの帯域幅を保持するシステム Expired - Fee Related JP3876034B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US609,338 1996-03-01
US08/609,338 US5758178A (en) 1996-03-01 1996-03-01 Miss tracking system and method

Publications (2)

Publication Number Publication Date
JPH09244952A true JPH09244952A (ja) 1997-09-19
JP3876034B2 JP3876034B2 (ja) 2007-01-31

Family

ID=24440372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02335397A Expired - Fee Related JP3876034B2 (ja) 1996-03-01 1997-02-06 主メモリへの帯域幅を保持するシステム

Country Status (4)

Country Link
US (1) US5758178A (ja)
JP (1) JP3876034B2 (ja)
DE (1) DE19650519A1 (ja)
GB (1) GB2310743B (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000026741A2 (en) * 1998-10-30 2000-05-11 Telefonaktiebolaget Lm Ericsson (Publ) A method for delivering data to an instruction processing unit
US6446170B1 (en) * 1999-01-19 2002-09-03 International Business Machines Corporation Efficient store machine in cache based microprocessor
US6314507B1 (en) * 1999-11-22 2001-11-06 John Doyle Address generation unit
US6892294B1 (en) * 2000-02-03 2005-05-10 Hewlett-Packard Development Company, L.P. Identifying execution ready instructions and allocating ports associated with execution resources in an out-of-order processor
US6990531B2 (en) * 2000-04-17 2006-01-24 Circadence Corporation System and method for providing last-mile data prioritization
US6408363B1 (en) * 2000-05-04 2002-06-18 Hewlett-Packard Company Speculative pre-flush of data in an out-of-order execution processor system
US6707752B2 (en) 2001-06-22 2004-03-16 Intel Corporation Tag design for cache access with redundant-form address
US7383421B2 (en) * 2002-12-05 2008-06-03 Brightscale, Inc. Cellular engine for a data processing system
US7543291B2 (en) * 2003-08-01 2009-06-02 Hewlett-Packard Development Company, L.P. Processor purging system and method
US20100195538A1 (en) * 2009-02-04 2010-08-05 Merkey Jeffrey V Method and apparatus for network packet capture distributed storage system
CA2619141C (en) * 2004-12-23 2014-10-21 Solera Networks, Inc. Method and apparatus for network packet capture distributed storage system
US20090292736A1 (en) * 2008-05-23 2009-11-26 Matthew Scott Wood On demand network activity reporting through a dynamic file system and method
US8521732B2 (en) 2008-05-23 2013-08-27 Solera Networks, Inc. Presentation of an extracted artifact based on an indexing technique
US8004998B2 (en) * 2008-05-23 2011-08-23 Solera Networks, Inc. Capture and regeneration of a network data using a virtual software switch
US8625642B2 (en) 2008-05-23 2014-01-07 Solera Networks, Inc. Method and apparatus of network artifact indentification and extraction
WO2011060368A1 (en) * 2009-11-15 2011-05-19 Solera Networks, Inc. Method and apparatus for storing and indexing high-speed network traffic data
WO2011060377A1 (en) * 2009-11-15 2011-05-19 Solera Networks, Inc. Method and apparatus for real time identification and recording of artifacts
US8849991B2 (en) 2010-12-15 2014-09-30 Blue Coat Systems, Inc. System and method for hypertext transfer protocol layered reconstruction
US8666985B2 (en) 2011-03-16 2014-03-04 Solera Networks, Inc. Hardware accelerated application-based pattern matching for real time classification and recording of network traffic

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991004536A1 (en) * 1989-09-20 1991-04-04 Dolphin Server Technology A/S Instruction cache architecture for parallel issuing of multiple instructions
US5555392A (en) * 1993-10-01 1996-09-10 Intel Corporation Method and apparatus for a line based non-blocking data cache
DE69429612T2 (de) * 1993-10-18 2002-09-12 Via Cyrix Inc Schreibpuffer für einen superskalaren Mikroprozessor mit Pipeline
US5557769A (en) * 1994-06-17 1996-09-17 Advanced Micro Devices Mechanism and protocol for maintaining cache coherency within an integrated processor
US5636364A (en) * 1994-12-01 1997-06-03 International Business Machines Corporation Method for enabling concurrent misses in a cache memory
US5778434A (en) * 1995-06-07 1998-07-07 Seiko Epson Corporation System and method for processing multiple requests and out of order returns

Also Published As

Publication number Publication date
GB2310743B (en) 2000-04-12
DE19650519A1 (de) 1997-09-04
JP3876034B2 (ja) 2007-01-31
US5758178A (en) 1998-05-26
GB2310743A (en) 1997-09-03
GB9702564D0 (en) 1997-03-26

Similar Documents

Publication Publication Date Title
US5809275A (en) Store-to-load hazard resolution system and method for a processor that executes instructions out of order
JP3876034B2 (ja) 主メモリへの帯域幅を保持するシステム
US6266744B1 (en) Store to load forwarding using a dependency link file
US6523109B1 (en) Store queue multimatch detection
US6393536B1 (en) Load/store unit employing last-in-buffer indication for rapid load-hit-store
US6978350B2 (en) Methods and apparatus for improving throughput of cache-based embedded processors
US5809530A (en) Method and apparatus for processing multiple cache misses using reload folding and store merging
US7290116B1 (en) Level 2 cache index hashing to avoid hot spots
US7571284B1 (en) Out-of-order memory transactions in a fine-grain multithreaded/multi-core processor
US6681295B1 (en) Fast lane prefetching
US6473832B1 (en) Load/store unit having pre-cache and post-cache queues for low latency load memory operations
US10713172B2 (en) Processor cache with independent pipeline to expedite prefetch request
US9092346B2 (en) Speculative cache modification
US11321248B2 (en) Multiple-requestor memory access pipeline and arbiter
US6408363B1 (en) Speculative pre-flush of data in an out-of-order execution processor system
US6643766B1 (en) Speculative pre-fetching additional line on cache miss if no request pending in out-of-order processor
US7543132B1 (en) Optimizing hardware TLB reload performance in a highly-threaded processor with multiple page sizes
US7536510B1 (en) Hierarchical MRU policy for data cache
JP3876033B2 (ja) 順不同に命令を実行するコンピュータのためのシステム
US20030196072A1 (en) Digital signal processor architecture for high computation speed
US6427193B1 (en) Deadlock avoidance using exponential backoff
US9886396B2 (en) Scalable event handling in multi-threaded processor cores
US6415360B1 (en) Minimizing self-modifying code checks for uncacheable memory types
US7650483B2 (en) Execution of instructions within a data processing apparatus having a plurality of processing units
US10452400B2 (en) Multi-thread processor with multi-bank branch-target buffer

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060711

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061024

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061030

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees