JP2000509862A - 選択可能なビット幅のキャッシュ・メモリのシステム及び方法 - Google Patents

選択可能なビット幅のキャッシュ・メモリのシステム及び方法

Info

Publication number
JP2000509862A
JP2000509862A JP10530330A JP53033098A JP2000509862A JP 2000509862 A JP2000509862 A JP 2000509862A JP 10530330 A JP10530330 A JP 10530330A JP 53033098 A JP53033098 A JP 53033098A JP 2000509862 A JP2000509862 A JP 2000509862A
Authority
JP
Japan
Prior art keywords
cache
words
data
transfer
word
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
JP10530330A
Other languages
English (en)
Inventor
ポーロウスキー、ジョセフ・トーマス
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.)
Micron Technology Inc
Original Assignee
Micron Technology 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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of JP2000509862A publication Critical patent/JP2000509862A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/0877Cache access modes
    • G06F12/0879Burst mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 キャッシュ・メモリからプロセッサの間をデータから成るキャッシュ線を効率的に転送するシステム及び方法である。M個のワードから成る第1グループが第1キャッシュ転送サイクルで前記キャッシュ・メモリ及び前記プロセッサの間に転送され、前記M個のワードから成る第1グループがタグ・ワードと前記キャッシュ線内の前記複数のデータ・ワードからのM−1個のワードとを含む。M個のワードから成る第2グループが第2キャッシュ転送サイクルで前記キャッシュ・メモリ及び前記プロセッサ間で転送され、前記M個のワードから成る第2グループが前記複数のデータ・ワードからのM個の追加ワードを含む。このプロセスは、全キャッシュ線が前記キャッシュ・メモリ及び前記プロセッサ間で転送されるまで続行する。

Description

【発明の詳細な説明】 選択可能なビット幅のキャッシュ・メモリのシステム及び方法 発明の分野 本発明はメモリ・アーキテクチャに関し、特にキャッシュ・メモリ・アーキテ クチャに関する。 発明の背景 プロセッサがデータにアクセスできる速度は、その性能にとって重要である。 同時に、均一で高速なメモリ・アクセスを提供するはコスト高となり得る。この 問題に打ち勝つために、コンピュータ・アーキテクチャは、高速でより低密度の メモリ及びより緩慢なバルク・メモリの混合に依存してきた。事実、多くのコン ピュータ・アーキテクチャはマルチレベル・メモリ・アーキテクチャを有し、最 高速のメモリ内に情報を見つけ出す試みが為されている。もし情報がそのメモリ 内になければ、次の最高速メモリで検査が為される。このプロセスは、求められ た情報が見い出されるまで、そのメモリ階層を通じて下るように続行する。そう したメモリ階層における1つの重要な構成要素はキャッシュ・メモリである。 キャッシュ・メモリは、プロセッサが捜し求めようとしている情報を該キャッ シュ・メモリ内に見出す可能性を増大すべく、試行すべき位置又は局地性(local ity)の原則に依存している。これを満たすべく、キャッシュ・メモリは、典型的 には、隣接するデータ・ブロックを保存する。加えて、キャッシュ・メモリはア ドレスと比較されるタグを保存して、プロセッサが捜し求めている情報がそのキ ャッシュ・メモリ内に存在するか否かを決定している。最後にキャッシュ・メモ リはステータス或は誤り訂正符号(ECC)を含み得る。キャッシュ・メモリは 、通常、スタティック・ランダム・アクセス・メモリ(SRAM)等のより高速 のメモリ装置から構成されている。 プロセッサがロング・ワード(即ち、4個の16ビット・ワード)に対して動 作している場合、これまで説明されたプロセッサ-キャッシュのインタフェース はデータに対して64-ビット・バスを使用する共に、タグに対して追加バスを 使用する。タグのバス幅が変化するが、公称上、合計80ビットに対して16- ビットであった。そうしたアプローチに関する問題は、キャッシュ・ブロック( 線とも云われる)・サイズがデータ・バス幅の4倍であれば、有用な情報が4回 のバス・サイクルの内の3回に対するタグ・バス上には現れない。これは、プロ セッサ性能に悪影響を与える可能性があるバス帯域幅の浪費である。 加えて、典型的なキャッシュ・メモリはキャッシュ線を1つの隣接データ・ブ ロックとして転送し、そのキャッシュ線内の第1ワードで始まりその最後又は最 終まで進むことになる。キャッシュ線を転送するこの方法は、プロセッサがキャ ッシュ線の第1ワードを何等必要としないこと、そしてそれ故に捜し求めようと するワードが転送されるまで多数のサイクルを待機しなければならないと云う事 実を考慮していない。 必要とされていることは、プロセッサ-キャッシュのインタフェース(又はプ ロセッサ-キャッシュ・インタフェース)で有効な帯域幅の有用性を増大するよ うな、キャッシュ・データを保存し且つ検索するシステム及び方法である。更に 必要とされていることは、プロセッサ-キャッシュ・インタフェース帯域幅有用 性を増大するばかりではなく、多数の異なるデータ・バス幅に対して利用可能で もある新規なSRAMアーキテクチャを提供することである。加えて必要とされ ていることは、キャッシュ・メモリからプロセッサヘ転送されるデータを順序付 けして、有用なデータが第1転送サイクルで転送される可能性を増大する方法を 提供することである。 発明の概要 本発明は、キャッシュ・メモリとプロセッサの間のデータのキャッシュ線を効 率的に転送するシステム及び方法である。M個のワードから成る第1グループが キャッシュ・メモリ及びプロセッサ間を第1キャッシュ転送サイクルで転送され 、そのM個のワードから成る第1グループはタグ・ワードとキャッシュ線内にお ける多数のデータ・ワードからのM−1個のワードとを含む。M個のワードから 成る第2グループがキャッシュ・メモリ及びプロセッサ間を第2キャッシュ転送 サイクルで転送され、そのM個のワードから成る第2グループは前記多数のデー タ・ワードからのM個の追加ワードを含む。このプロセスは、全キャッシュ線が キャッシュ・メモリ及びプロセッサ間を転送されるまで続行する。 本発明の他の局面に従えば、選択制御論理(手段)が使用可能であり、第1キ ャッシュ転送サイクル及び引き続くキャッシュ転送サイクルの間に転送されるべ きデータ・ワードから成る最適セットを選択する。 図面の簡単な説明 図1は、プロセッサがアドレス・バス及びデータ・バスを介してキャッシュ・ メモリ及び他のメモリと通信している、多重メモリ・レベルのコンピュータ・シ ステムを概略的に示すブロック線図である。 図2は、本発明に従ったキャッシュ・メモリの論理的な表示である。 図3は、図2に示されたキャッシュ・メモリの一実施例の論理的な表示である 。 図4a及び図4bは、本発明に従ったデータ、タグ、並びに、ECCの転送の 表示である。 図5は、キャッシュ・メモリの一実施例の概略ブロック線図である。 図6は、キャッシュ・メモリの他の実施例の概略ブロック線図である。 好適実施例の詳細な説明 好適実施例の以下の詳細な説明において、本願の一部を構成すると共に、発明 が実施され得る特定の実施例が例示的目的で示されている添付図面が参照される 。理解して頂きたいことは、他の実施例が利用され得て、本発明の範囲から逸脱 することなしに構造的変更等が為され得ることである。 図1は、プロセッサ12がキャッシュ・メモリ14及びメモリ16とアドレス ・バス18及びデータ・バス20を介して通信している、多重メモリ・レベルの コンピュータ・システム10を示す。一実施例において、プロセッサ12は64 -ビット・マイクロプロセッサであり、ロング・ワード(即ち、4個の16-ビッ ト・ワード)としてのデータを転送する。そうした実施例において、キャッシュ ・メモリ14は、同等幅データ・バスで先行して達成されたものよりもより高い 有用データ・スループットをデータ・バス20上に提供するデータ転送方法論を 用いる。これはタグ、ECC、並びに、データを順序付けられた情報ブロック内 に吸収又は合併することによって達成され、バス有益性を最大限に活用している 。 キャッシュ・メモリ14はメモリ・アレイ30及びプロセッサ-キャッシュ・ インタフェース32を含む。キャッシュ・メモリ14の論的表現が図2に示され ている。図2に示されるシステムにおいて、プロセッサ-キャッシュ・インタフ ェース32はM個のワードの幅のバス又はMワード幅バスを介してプロセッサ1 2に接続されている。キャッシュ・メモリ14はN本線キャッシュとして構成さ れており、各キャッシュ線はタグ・ワードとP個のデータ・ワードとを含む。一 実施例において、図2に示されるように、これらP個のデータ・ワードは1つ或 はそれ以上の誤り訂正符号(ECC)・ワードをも含む。図2に示されるシステ ムにおいて、メモリ・アレイ30がデータ・メモリ・アレイ34及びタグ&EC Cアレイ36とに論理的に仕切られ得る。1つのそうした論理的仕切は、タグ・ ワード、ECCワード、並びに、4個のロング・ワード(各ロング・ワードが4 個のワードから形成されている)から作り上げられたキャッシュ線に対して図3 に示されている。 図3に示されるシステムにおいて、メモリ・アレイ34内のデータは4a×6 4ビットのアレイとしてアドレスされる一方で、タグ&ECCのアレイ36内の データはxyアレイ(yは組み合わせタグ及びECCワードの幅)として論理的 にアドレスされる。そうした実施例において、タグ&ECCアレイ36はアドレ ス・バス18の2つの最小桁ビットを無視する。 図2に示されるように、プロセッサ-キャッシュ・インタフェース32は、メ モリ・アレイ30からMワード幅データ・バス20を介してプロセッサ12へキ ャッシュ線を転送する。転送されるべき各キャッシュ線に対して、インタフェー ス32はM個のワードから成る第1グループを第1キャッシュ転送サイクルで転 送する。このM個のワードから成る第1グループは、タグ・ワードとキャッシュ 線からのP個のデータ・ワードの内のM−1個とを含む。第2キャッシュ転送サ イクルで、インタフェース32はM個のワードから成る第2グループを転送する 。このM個のワードから成る第2グループはP個のデータ・ワードからのM個の 追加ワードを含む。このプロセスは、P個のデータ・ワード全てがデータ・バス 20へ転送されるまで続行する。一実施例において、P個のデータ・ワードが誤 り訂正符号ワードを含む場合、インタフェース32はその誤り訂正符号ワードを 第1キャッシュ転送サイクルで転送されたM−1個のワードの内の1つとして転 送 する。 上述した方法論は種々の例を見ることによって理解され得る。例えば図3に示 された実施例において、もしMが6と同等であれば、キャッシュ線は3つのキャ ッシュ転送サイクル40.1乃至40.3で転送される。図4aに示されたよう な1つのそうした実施例において、第1のM-ワード転送(M個のワードの転送 )は、タグ・ワード、ECCワード、並びに、4個のロング・ワードの内の1つ を含む。第2のM-ワード転送は、第2のロング・ワードと、第3のロング・ワ ードの半分とを含む一方、第3のM-ワード転送は前記第3のロング・ワードの 残りと最後又は最終のロング・ワードの全てとを含む。その結果、16-ビット ・ワードに基づくシステムの場合、典型的には、4サイクルで80-ビット・デ ータ・バス20を介して転送されるキャッシュ線は、3サイクルで96-ビット ・データ・バス20上で3サイクルの内に転送され得る。 (留意されるべきことは、アドレスされたワードとキャッシュ線タグ・ワード とをプロセスの内のできる限り早期に、好ましくは第1転送サイクル中に転送す ることが重要であることである。逆に、ECCはキャッシュ線全てを受信するま で使用できず、それ故に転送されるべきデータの内でも最も重要度が低い部類に 入る。図4aに示される実施例において、ECCは第1転送サイクルで転送され る。この順序付けは、キャッシュ線データ・ワードの転送に必要とされる論理を 簡略化すると共に、利用可能でなければならない書込通路の数を低減する。加え て、留意されることは、ECCが必須の構成要素ではないが、これに対するスペ ースを具現化させることが有用であり得ることである。もしECCが所望されな ければ、このスロットはキャッシュ調査等の制御機能用に使用されるべきである 。) 他方、もし図3基づくシステムにおいて、Mが5と同等であると選択されたな らば、キャッシュ線転送は4つのキャッシュ転送サイクル50.1乃至50.4 を必要とすることになる。図4bに示されたような1つのそうした実施例におい て、第1のM-ワード転送はタグ・ワードと4個のロング・ワード内の1つとを 含む。第2のM-ワード転送はECCワード及び第2のロング・ワードを含む。 第3のM-ワード転送は第3のロング・ワードと(もし必要であれば)任意の追 加ECCワードとを含む一方、第4のM-ワード転送は最後又は最終のロング・ ワードを含む。 一実施例においてキャッシュ・メモリ14は、5に同等なMと6に同等なMと の双方に基づくアーキテクチャを支援できるメモリ・アレイを用いて実現される 。1つのそうしたキャッシュ・メモリ14が図5に示されている。キャッシュ・ メモリ14は、キャッシュ・メモリ・アレイ61、ルーチング(経路設定)回路 64、並びに、プロセッサ-キャッシュ・インタフェース66を含む。キャッシ ュ・メモリ・アレイ61は、データ・メモリ・アレイ60、タグ&ECCメモリ ・アレイ62、並びに、センス回路68を含む。データ・メモリ・アレイ60及 びタグ&ECCメモリ・アレイ62はセンス回路68及びルーチング回路64を 介してプロセッサ-キャッシュ・インタフェース66に接続されている。ルーチ ング回路64は、選択器回路65及び選択制御論理手段67を含む。選択制御論 理手段67は、アレイ60及び62から選択器回路65を通じてプロセッサ-ク ライアント・インタフェース66内の特定ワードへ向かうワード転送を制御する 。図示の実施例における組み合わせられたデータ・メモリ・アレイ60及びタグ &ECCメモリ・アレイ62の各線は、キャッシュ・メモリ14内のキャッシュ 線である。 16-ビット・ワードの場合、図5に示されるアーキテクチャはデータ順序づ け方式を利用して、80-ビット・バスによって先行して(又は先行技術によっ て)達成されたものよりも、96-ビット・バス上でより高い有用データ・スル ープットを可能としている。これを達成すべくこのアーキテクチャは、データ、 タグ、ステータス、並びに、ECCを集積する。図示の例では、適切幅の外部経 路設定で(又はルーチング回路64を介して)、ブロック全体(この例では、4個 のロング・ワード・データ・オペランド(ロング・ワード1〜4)、タグ、任意選 択のステータス、並びに/或は、ECCから成るグループで作り上げられている )が一時に操作される。 図5におけるデータ・メモリ60、タグ&ECCアレイ62、並びに、センス 回路68に対して使用されるアーキテクチャの長所は、80(+)或は96-ビ ット・データ順序付け概念の何れかに従って、メモリ・アレイ内容に関してのプ ロセッサ-キャッシュ・インタフェースへの経路設定或は該プロセッサ-キャッシ ュ・インタフェースからの経路設定の用意である。図5において、6ワード幅動 作を実行するためにルーチング回路64内で利用可能でなければならない各種経 路が矢印で示されている。各キャッシュ・メモリ転送サイクルで、選択制御論議 手段67は34個の利用可能な経路の内の6個をイネーブルに為して、複合的な 6ワード幅バスのトランザクションを提供する。一群の実施例において16-ビ ット・ワードが用いられる場合、データ・メモリ・アレイ60は256-ビット 幅であり、タグ+ECC+ステータスのアレイ62は16-ビット幅乃至32-ビ ット幅である。もしタグ+ECC+ステータスのアレイが16-ビット幅或はそ れ以下であれば、1つ少ない経路が必要とされる(即ち、図表においてタグ/E CCアレイから出力ワード番号2までの経路を削除)。このアーキテクチャを用 いて、80-ビット・サイクルでの4サイクルで存在するデータ及びタグ情報と 同等量を搬送すべく充分な帯域幅が、データ・トランザクションの小型化の故に 96-ビットの3サイクル中に存在する。 図6は、80(+)-ビット装置を実現しているデータ経路設定を伴ったキャ ッシュ・メモリ14の物理的組織を図示している。先の図5の場合のように、キ ャッシュ・メモリ14はキャッシュ・メモリ・アレイ61を含む。キャッシュ・ メモリ・アレイ61は、データ・メモリ・アレイ60、タグ&ECCメモリ・ア レイ62、並びに、センス回路68を含む。加えて、図6のキャッシュ・メモリ 14はルーチング回路74及びプロセッサ-キャッシュ・インタフェース76を 含む。データ・メモリ・アレイ60及びタグ&ECCメモリ・アレイ62は、セ ンス回路68及びルーチング回路74を介して、プロセッサ-キャッシュ・イン タフェース76に接続されている。ルーチング回路74は選択器回路75及び選 択制御論理手段77を含む。選択制御論理手段77は、アレイ60及び62から 選択器回路65を通じてプロセッサ-クライアント・インタフェース76内の特 定ワードまでのワード転送を制御する。図5に示された実施例の場合のように、 図6に示されたアーキテクチャは、データ、タグ、ステータス、並びに、ECC を集積する。図示の例では、適切幅の外部経路設定で(又はルーチング回路74 を介して)、ブロック全体(この例では、4個のロング・ワード・データ・オペ ランド(ロング・ワード1〜4)、タグ、任意選択のステータス、並びに/或は、 ECCから成るグループで作り上げられている)が一時に操作される。 図6に示される実施例において、5ワード幅動作を実行するためにルーチング 回路74内で利用可能でなければならない各種経路が矢印で示されている。各キ ャッシュ・メモリ転送サイクルで、選択制御論議手段77は17個乃至20個の 利用可能な経路の内の5個をイネーブルに為して、複合的な5ワード幅バスのト ランザクションを提供する。図5の場合のように、一群の実施例において16- ビット・ワードが用いられる場合、データ・メモリ・アレイ60は256-ビッ ト幅であり、タグ+ECC+ステータスのアレイ62は16-ビット幅乃至32- ビット幅である。もしタグ+ECC+ステータスのアレイ62が16-ビット幅 或はそれ以下であれば、1つ少ない経路が必要とされる(即ち、17個のみの経 路が必要とされる)。他方、タグ+ECC+ステータスのアレイ62は4ワード 幅に匹敵し得て、必要な全ての転送は4つのみの転送サイクルでやはり達成可能 である。(1つのそうした実施例において、タグ+ECC+ステータスのアレイ 62は、20個の必要とされる経路となる80-ビット・バスで最大の64-ビッ ト幅となり得て、全て出力ブロック番号1内へ供給される。)ECC及びステー タス情報はひとたびタグ用途のみに制限されたビットで取引するので、このアー キテクチャは、タグ専用として通常定義されるビットをより活用する能力におい て先行技術よりも優れている。 図5及び図6の検討から容易に理解可能なことは、図6のルーチング回路74 及びプロセッサ-キャッシュ・インタフェース76が、基本的には、図5のルー チング回路64及びプロセッサ-キャッシュ・インタフェース66のサブセット (部分集合)であることである(図5のブロック1及び2が図6のブロック1内 に合併される)。それ故に、同一のキャッシュ・メモリ14のアーキテクチャは 6ワード幅(例えば96-ビット)装置か或は必要とされる選択論理変更を伴っ た5ワード幅(例えば80(+)-ビット)装置かの何れかのように機能できる 。 一群の実施例において、選択制御論理手段67及び選択制御論理手段77はデ ータ・メモリ・アレイ60内に保存されている順序でアレイ60からデータ・ワ ードを転送する(例えば、ロング・ワード1が先ず転送されて、ロング・ワード 2乃至4がそれに追従させられる)。そうしたアプローチは転送された第1ワー ド或は最終ワードがプロセッサ12によって求められるいるものか否かを考慮し ない。この結果、キャッシュ・メモリ14及びプロセッサ12間のデータはより 低い効率で転送されることになる。これに対する理由としては、データのブロッ ク全体に対する動作の間、そのブロック内のデータを利用する最も高い確率が初 期アドレスに対しては100%で、引き続く各アドレスに対してはより低くなる からである。こうした確率は先行アドレスに対して相当より低くなる。それ故に 、データ転送を最適化すべく設計されたシステムにおいて、もし、例えば、初期 アドレスが01であれば、その前のアドレス、即ち00は優先権を有する必要性 が最も小さく、それ故により低い優先権を有するべきである。 これを心に留めれば、選択制御論理手段67及び77は、キャッシュ線の内容 をプロセッサ12に対してより効率的に転送するように設計され得る。一実施例 において、制御論理手段67及び77はキャッシュ線のデータ・ワードをプロセ ッサに対して、該プロセッサが特定のワードを必要としている確率の決定に従っ た順序で転送する。このアプローチは図4a及び図4bを参照して最もよく理解 され得る。1つのそうした実施例において、ワードA、B、C、並びに、Dは、 この順で、プロセッサにとって重要なデータの順序を表している。重要度順が考 慮された実際の物理的アドレスは、現行の実例においてプロセッサ毎に異なり、 モジュラ-4(modula-4)線形バースト或はモジュラ-4インターリーブド順序等々 を必要とするかもしれない。典型的な線形アドレシング・マイクロプロセッサ( 例えば、PowerPC或はCyrix M1)の場合、最適な転送順序はモジュラ-4線形バー ストである。この順序付けは表1に示されている。このタイプのプロセッサに対 する他の任意の順序付けは、キャッシュ・メモリ及びプロセッサ間の転送帯域幅 の最大活用を妨げることになる。この故に、A、B、C、並びに、Dは、二値形 態で表された以下のシーケンスを示し、Xは「任意」を意味する。 表1:4エントリーのキャッシュ線における線形バースト順序付け 初期アドレス A B C D x00 x00 x01 x10 x11 x01 x01 x10 x11 x00 x10 x10 x11 x00 x01 x11 x11 x00 x01 x11 留意すべきことは、4エントリーのキャッシュ線におけるエントリーとは、ワ ード、ロング・ワード等々であり得る。 インターリーブド・バースト順序を必要とするプロセッサの場合(例えば、イ ンテル・ペンティアム)、モジュラ-4インターリーブド・バースト順序が使用さ れ得る。この順序付けは表2に示されている。 表2:4エントリーのキャッシュ線における インターリーブド・バースト・データ順序付け 初期アドレス A B C D x00 x00 x01 x10 x11 x01 x01 x00 x11 x10 x10 x10 x11 x00 x01 x11 x11 x10 x01 x00 一実施例において、キャッシュ線のデータ・ワードが転送される順序はプログ ラム可能である。そうした装置は、例えば、同一キャッシュ装置でインターリー ブド及び線形バーストの両データ順序付けを許容することになる。他の実施例に おいて、データ順序付けはプログラム或は実行されるプログラムの特性を反映す るように変更され得る(例えば、メモリを通じて特定ストライドで動作するプロ グラム等)。 データ順序付けは、実施の複雑性を最小化すべく、且つ、1つのメモリ・アレ イ設計が96-或は80-ビット・バス装置として動作することを可能とすべく設 計される。図4aに示される実施例において、4つのオペランド、タグ、並びに 、ECCのブロック全体が3つのバス・サイクルで転送される。タグ及びECC データは第1サイクル中だけに現れ、サイクル2及びサイクル3中、データ転送 に対するそうした入力/出力線を解放している。図示の実施例において、タグ及 びECCは任意の方法で利用可能な2個のワードの間で仕切られることが可能で ある。 他方、図4bに示された実施例において、4つのバス・サイクルは必要な全て のデータを転送すべく依然として必要とされている。しかしながら先に述べたよ うに、図4a及び図6で示されたアプローチはさもなくばあり得るものよりも大 きなタグ及び/或はECCを可能として、更にもう一度、80本の入力/出力線 の利用を改善している。タグ及びECCは、第1から第4のキャッシュ転送サイ クル50を横切る内の第1スロットを共有できる。しかしながら、もし全てのタ グ情報が第1サイクルで供給可能であり且つ時間的に重要でない情報が引き続く サイクルで追従すれば、性能は最大となる。(TAG/ECCのラベル付けされ たエントリーは、ECC、一般目的のステータス情報、或は、システム10で必 要とされている任意のタグ拡張の任意の組み合わせであり得る。) 留意されるべきことは、ECCは必須の構成要素ではないが、これに対するス ペースを具現させるために有用であり得ることである。一実施例において、この 具現は全ブロック(タグ+データA,B,C,D)の単一データ検査から成る。 これは、データ256ビットに対してECCの11ビットと、タグ/ステータス 情報の21ビットまでとを必要とする。この21ビットは96-ビット装置に課 せられた制限である。 80-ビット動作の場合、性能を最大化するために、タグ制限は16ビットで ある。もしより多くのタグ・ビットが必要であれば、80-ビットがその追加的 に必要とされるビットを適合すべく道理にかなって拡張されることになる。例え ば16-ビット幅データ・ワードに基づくシステム10において、もし20-ビッ ト・タグが必須であれば、これは84-ビットのデータ・バス20を必要とする ことになる。ECCの11ビットは、道理にかなって、タグ・サイズに拘わらず 充分である。 以上、本発明は選択された各種実施例を参照して説明されたが、当業者であれ ば、本発明の精神及び範囲から逸脱することなしに、その形態及び仔細において 各種変更等がなさ得ることがご理解頂けよう。特に、以上の説明は16-ビット ・ワードと言うことで為されたが、データ、タグ、或は、ECCワードの幅は、 プロセッサをキャッシュ・メモリに接続するバスの幅のように増減することがで き、請求の範囲に入る。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(GH,GM,KE,LS,M W,SD,SZ,UG,ZW),EA(AM,AZ,BY ,KG,KZ,MD,RU,TJ,TM),AL,AM ,AT,AU,AZ,BA,BB,BG,BR,BY, CA,CH,CN,CU,CZ,DE,DK,EE,E S,FI,GB,GE,GH,GM,GW,HU,ID ,IL,IS,JP,KE,KG,KP,KR,KZ, LC,LK,LR,LS,LT,LU,LV,MD,M G,MK,MN,MW,MX,NO,NZ,PL,PT ,RO,RU,SD,SE,SG,SI,SK,SL, TJ,TM,TR,TT,UA,UG,UZ,VN,Y U,ZW

Claims (1)

  1. 【特許請求の範囲】 1. プロセッサ及びキャッシュ・メモリを有するコンピュータ・システム において、前記キャッシュ・メモリがプロセッサ-キャッシュ・インタフェース 及び複数のキャッシュ線を含み、その各キャッシュ線が複数のデータ・ワードを 含み、前記プロセッサ-キャッシュ・インタフェースがMワード幅データ・バス によって接続されており、Mが3以上であり、前記キャッシュ・メモリから前記 プロセッサへ、前記複数のキャッシュ線から単一キャッシュ線を転送する方法で あって、 第1キャッシュ転送サイクルでM個のワードから成る第1グループを転送する 段階であり、前記M個のワードから成る第1グループがキャッシュ・タグ・ワー ドと、前記複数のデータ・ワードからのM−1個のワードとを含んでいることか ら成る段階と、 第2キャッシュ転送サイクルでM個のワードから成る第2グループを転送する 段階であり、前記M個のワードから成る第2グループが前記複数のデータ・ワー ドからのM個の追加ワードを含んでいることから成る段階と、 第3キャッシュ転送サイクルでM個のワードから成る第3グループを転送する 段階であり、前記M個のワードから成る第3グループが前記複数のデータ・ワー ドからのM個の追加ワードを含んでいることから成る段階と、 の諸段階を含む方法。 2. 各キャッシュ線内の前記複数のデータ・ワードが、エラー訂正符号ワ ードを含み、前記M個のワードから成る第1グループを転送する前記段階が、そ のキャッシュ線に対する前記エラー訂正符号ワードを転送する段階を含む、請求 項1に記載の方法。 3. 前記Mが6と同等である、請求項2に記載の方法。 4. 前記M個のワードから成る第1グループを転送する前記段階が、キャ ッシュ線データ・ワードの前記転送に対する最適的な転送順序を決定する段階を 含む、請求項1に記載の方法。 5. 各キャッシュ線内の前記複数のデータ・ワードがエラー訂正符号を含 み、前記M個のワードから成る第2グループを転送する前記段階が、そのキャッ シュ線に対する前記エラー訂正符号ワードを転送する段階を含む、請求項4に記 載の方法。 6. 前記Mが5と同等である、請求項5に記載の方法。 7. キャッシュ・メモリであって、 各々がタグ・ワード及び複数のデータ・ワードを含んでいる複数のキャッシュ 線を有するキャッシュ・メモリ・アレイと、 Mが3以上である場合、Mワード幅バスを含むプロセッサ-キャッシュ・イン タフェースと、 前記メモリ・アレイ及び前記プロセッサ-キャッシュ・インタフェース・バス に接続されたルーチング回路であり、キャッシュ・タグ・ワードと前記複数のデ ータ・ワードからのM−1個のワードとを含むM個のワードから成る第1グルー プを第1キャッシュ転送サイクルで転送する第1サイクル転送手段と、M個のワ ードから成る第2グループを第2キャッシュ転送サイクルで転送する第2サイク ル転送手段と、M個のワードから成る第3グループを第3キャッシュ転送サイク ルで転送する第3サイクル転送手段とを含むルーチング回路と、 を備えるキャッシュ・メモリ。 8. 前記ルーチング回路が選択制御論理手段を更に含み、該選択制御論理 手段が前記第1キャッシュ転送サイクル中に転送されるべきデータ・ワードから 成る最適集合を選択する、請求項7に記載のキャッシュ・メモリ。 9. 前記データ・ワードから成る最適集合が最適転送順序の関数として決定 される、請求項8に記載のキャッシュ・メモリ。 10. 各キャッシュ線内の前記複数のデータ・ワードがエラー訂正符号ワー ドを含み、前記第1キャッシュ転送サイクルで転送される前記M−1個のワード がそのキャッシュ線に対する前記エラー訂正符号ワードを含む、請求項7に記載 のキャッシュ・メモリ。 11. 前記Mが6と同等である、請求項10に記載のキャッシュ・メモリ。 12. 前記ルーチング回路が選択制御論理手段を更に含み、前記選択制御論 理手段が前記第1キャッシュ転送サイクル中に転送されるべきデータ・ワードか ら成る最適集合を選択し、前記データ・ワードから成る最適集合が最適転送順序 の関数として決定される、請求項10に記載のキャッシュ・メモリ。 13. 各キャッシュ線内の前記複数のデータ・ワードがエラー訂正符号ワー ドを含み、前記第2キャッシュ転送サイクルで転送される前記M個のワードが前 記エラー訂正符号ワードを含む、請求項12に記載のキャッシュ・メモリ。 14. 前記Mが5と同等である、請求項13に記載のキャッシュ・メモリ。 15. コンピュータ・システムであって、 Mが3以上である場合、アドレス・バス及びM個のワード幅データ・バスを有 するプロセッサと、 前記アドレス・バス及び前記データ・バスによって前記プロセッサに接続され たメモリと、 キャッシュ・メモリであり、 各々がタグ・ワード及び複数のデータ・ワードを含んでいる複数のキャッシ ュ線を有するメモリ・アレイと、 前記アドレス・バス及び前記データ・バスによって前記プロセッサに接続さ れたプロセッサ-キャッシュ・インタフェースと、 前記メモリ・アレイ及び前記プロセッサ-キャッシュ・インタフェース・バ スに接続されたルーチング回路であり、キャッシュ・タグ・ワードと前記複数の データ・ワードからのM−1個のワードとを含むM個のワードから成る第1グル ープを第1キャッシュ転送サイクルで転送する第1サイクル転送手段と、M個の ワードから成る第2グループを第2キャッシュ転送サイクルで転送する第2サイ クル転送手段と、M個のワードから成る第3グループを第3キャッシュ転送サイ クルで転送する第3サイクル転送手段とを含むルーチング回路と、 を含むキャッシュ・メモリと、 を備えるシステム。 16. 前記ルーチング回路が選択制御論理手段を更に含み、該選択制御論理 手段が前記第1キャッシュ転送サイクル中に転送されるべきデータ・ワードから 成る最適集合を選択する、前記15に記載のシステム 17. 各キャッシュ線内の前記複数のデータ・ワードがエラー訂正符号ワー ドを含み、前記第1キャッシュ転送サイクルで転送される前記M−1個のワード がそのキャッシュ線に対する前記エラー訂正符号ワードを含む、請求項16に記 載のシステム。 18. 前記Mが6と同等である、請求項17に記載のシステム。 19. 前記Mが5と同等であり、前記第2キャッシュ転送サイクルで転送さ れる前記M個のワードがエラー訂正符号ワードを含む、請求項16に記載のシス テム。
JP10530330A 1997-01-03 1997-12-30 選択可能なビット幅のキャッシュ・メモリのシステム及び方法 Pending JP2000509862A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/778,886 US5862154A (en) 1997-01-03 1997-01-03 Variable bit width cache memory architecture
US08/778,886 1997-01-03
PCT/US1997/024207 WO1998029812A1 (en) 1997-01-03 1997-12-30 Selectable bit width cache memory system and method

Publications (1)

Publication Number Publication Date
JP2000509862A true JP2000509862A (ja) 2000-08-02

Family

ID=25114686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10530330A Pending JP2000509862A (ja) 1997-01-03 1997-12-30 選択可能なビット幅のキャッシュ・メモリのシステム及び方法

Country Status (6)

Country Link
US (2) US5862154A (ja)
EP (1) EP0950221A1 (ja)
JP (1) JP2000509862A (ja)
KR (1) KR100322367B1 (ja)
AU (1) AU5811898A (ja)
WO (1) WO1998029812A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014517394A (ja) * 2011-05-20 2014-07-17 クアルコム,インコーポレイテッド 大型ramキャッシュ

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825788A (en) * 1996-05-20 1998-10-20 Micron Technology Inc. Data ordering for cache data transfer
US5862154A (en) * 1997-01-03 1999-01-19 Micron Technology, Inc. Variable bit width cache memory architecture
US6449679B2 (en) 1999-02-26 2002-09-10 Micron Technology, Inc. RAM controller interface device for RAM compatibility (memory translator hub)
US6874063B1 (en) * 1999-11-09 2005-03-29 International Business Machines Corporation System bus read data transfers with data ordering control bits
US6535957B1 (en) 1999-11-09 2003-03-18 International Business Machines Corporation System bus read data transfers with bus utilization based data ordering
US6360297B1 (en) 1999-11-09 2002-03-19 International Business Machines Corporation System bus read address operations with data ordering preference hint bits for vertical caches
US6349360B1 (en) * 1999-11-09 2002-02-19 International Business Machines Corporation System bus read address operations with data ordering preference hint bits
US6463506B1 (en) * 2000-04-29 2002-10-08 Hewlett-Packard Company Arrangement of data within cache lines so that tags are first data received
DE10041377A1 (de) * 2000-08-23 2002-03-14 Infineon Technologies Ag Integrierte Halbleiterschaltung mit in einem Halbleiterchip eingebetteter Halbleiterspeicheranordnung
EP1499957B1 (en) * 2002-04-10 2009-09-23 Nxp B.V. Data processing system with multiple register banks
US7123521B1 (en) 2005-04-27 2006-10-17 Micron Technology, Inc. Random cache read
US7810017B2 (en) 2006-03-20 2010-10-05 Micron Technology, Inc. Variable sector-count ECC
EP2487794A3 (en) * 2006-08-22 2013-02-13 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US7529149B2 (en) * 2006-12-12 2009-05-05 Mosaid Technologies Incorporated Memory system and method with serial and parallel modes
JP5385156B2 (ja) * 2007-02-16 2014-01-08 モサイド・テクノロジーズ・インコーポレーテッド 半導体デバイスおよび複数の相互接続デバイスを有するシステムの電力消費を低減するための方法
US7957173B2 (en) * 2008-10-14 2011-06-07 Mosaid Technologies Incorporated Composite memory having a bridging device for connecting discrete memory devices to a system
US8134852B2 (en) * 2008-10-14 2012-03-13 Mosaid Technologies Incorporated Bridge device architecture for connecting discrete memory devices to a system
US8549209B2 (en) * 2008-11-04 2013-10-01 Mosaid Technologies Incorporated Bridging device having a configurable virtual page size
US20100115172A1 (en) * 2008-11-04 2010-05-06 Mosaid Technologies Incorporated Bridge device having a virtual page buffer
US8775904B2 (en) * 2011-12-07 2014-07-08 International Business Machines Corporation Efficient storage of meta-bits within a system memory
US8793721B1 (en) * 2012-02-23 2014-07-29 The Directv Group, Inc. System and method for providing multiple rating versions in media programming
US10534642B2 (en) * 2017-09-25 2020-01-14 International Business Machines Corporation Application restore time from cloud gateway optimization using storlets
US10990472B2 (en) 2018-07-24 2021-04-27 Micron Technology, Inc. Spare substitution in memory system
FR3089317A1 (fr) * 2018-12-03 2020-06-05 Stmicroelectronics (Rousset) Sas Procédé de gestion de l’espace mémoire d’un dispositif de mémoire et système correspondant

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3848234A (en) * 1973-04-04 1974-11-12 Sperry Rand Corp Multi-processor system with multiple cache memories
US4084234A (en) * 1977-02-17 1978-04-11 Honeywell Information Systems Inc. Cache write capacity
US4386402A (en) * 1980-09-25 1983-05-31 Bell Telephone Laboratories, Incorporated Computer with dual vat buffers for accessing a common memory shared by a cache and a processor interrupt stack
US4885680A (en) * 1986-07-25 1989-12-05 International Business Machines Corporation Method and apparatus for efficiently handling temporarily cacheable data
US5053951A (en) * 1986-12-23 1991-10-01 Bull Hn Information Systems Inc. Segment descriptor unit for performing static and dynamic address translation operations
US5091850A (en) * 1987-09-28 1992-02-25 Compaq Computer Corporation System for fast selection of non-cacheable address ranges using programmed array logic
US5184320A (en) * 1988-02-12 1993-02-02 Texas Instruments Incorporated Cached random access memory device and system
US5109497A (en) * 1989-01-27 1992-04-28 Hughes Aircraft Company Arithmetic element controller for controlling data, control and micro store memories
US5155824A (en) * 1989-05-15 1992-10-13 Motorola, Inc. System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
US5015883A (en) * 1989-10-10 1991-05-14 Micron Technology, Inc. Compact multifunction logic circuit
JPH03219345A (ja) 1990-01-25 1991-09-26 Toshiba Corp 多ポートキャッシュメモリ制御装置
US5164944A (en) * 1990-06-08 1992-11-17 Unisys Corporation Method and apparatus for effecting multiple error correction in a computer memory
JPH0484253A (ja) * 1990-07-26 1992-03-17 Mitsubishi Electric Corp バス幅制御回路
US5293603A (en) * 1991-06-04 1994-03-08 Intel Corporation Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path
US5228134A (en) * 1991-06-04 1993-07-13 Intel Corporation Cache memory integrated circuit for use with a synchronous central processor bus and an asynchronous memory bus
WO1993013481A1 (en) * 1991-12-23 1993-07-08 Intel Corporation Interleaved cache for multiple accesses per clock in a microprocessor
US5586303A (en) * 1992-02-12 1996-12-17 Integrated Device Technology, Inc. Structure and method for providing a cache memory of selectable sizes
US5423016A (en) * 1992-02-24 1995-06-06 Unisys Corporation Block buffer for instruction/operand caches
US5235221A (en) * 1992-04-08 1993-08-10 Micron Technology, Inc. Field programmable logic array with speed optimized architecture
EP0567707A1 (en) * 1992-04-30 1993-11-03 International Business Machines Corporation Implementation of column redundancy in a cache memory architecture
US5300830A (en) * 1992-05-15 1994-04-05 Micron Semiconductor, Inc. Programmable logic device macrocell with an exclusive feedback and exclusive external input lines for registered and combinatorial modes using a dedicated product term for control
US5220215A (en) * 1992-05-15 1993-06-15 Micron Technology, Inc. Field programmable logic array with two or planes
US5287017A (en) * 1992-05-15 1994-02-15 Micron Technology, Inc. Programmable logic device macrocell with two OR array inputs
US5298803A (en) * 1992-07-15 1994-03-29 Micron Semiconductor, Inc. Programmable logic device having low power microcells with selectable registered and combinatorial output signals
US5361238A (en) * 1993-05-12 1994-11-01 Hughes Aircraft Company Optical cache memory for magnetic and optical disk storage
US5553263A (en) * 1993-07-16 1996-09-03 Unisys Corporation Cache memory system with fault tolerance having concurrently operational cache controllers processing disjoint groups of memory
US5553259A (en) * 1993-07-16 1996-09-03 Unisys Corporation Apparatus and method for synchronizing the simultaneous loading of cache program word addresses in dual slice registers
US5432804A (en) * 1993-11-16 1995-07-11 At&T Corp. Digital processor and viterbi decoder having shared memory
US5701503A (en) 1994-01-04 1997-12-23 Intel Corporation Method and apparatus for transferring information between a processor and a memory system
US5590352A (en) * 1994-04-26 1996-12-31 Advanced Micro Devices, Inc. Dependency checking and forwarding of variable width operands
US5406525A (en) * 1994-06-06 1995-04-11 Motorola, Inc. Configurable SRAM and method for providing the same
US5809530A (en) 1995-11-13 1998-09-15 Motorola, Inc. Method and apparatus for processing multiple cache misses using reload folding and store merging
US5825788A (en) * 1996-05-20 1998-10-20 Micron Technology Inc. Data ordering for cache data transfer
US5781926A (en) 1996-05-20 1998-07-14 Integrated Device Technology, Inc. Method and apparatus for sub cache line access and storage allowing access to sub cache lines before completion of line fill
US5781923A (en) 1996-05-28 1998-07-14 Hewlett-Packard Company Adding a field to the cache tag in a computer system to indicate byte ordering
US5960453A (en) * 1996-06-13 1999-09-28 Micron Technology, Inc. Word selection logic to implement an 80 or 96-bit cache SRAM
US5862154A (en) * 1997-01-03 1999-01-19 Micron Technology, Inc. Variable bit width cache memory architecture
US5809514A (en) 1997-02-26 1998-09-15 Texas Instruments Incorporated Microprocessor burst mode data transfer ordering circuitry and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014517394A (ja) * 2011-05-20 2014-07-17 クアルコム,インコーポレイテッド 大型ramキャッシュ

Also Published As

Publication number Publication date
KR20000069855A (ko) 2000-11-25
EP0950221A1 (en) 1999-10-20
AU5811898A (en) 1998-07-31
US5862154A (en) 1999-01-19
KR100322367B1 (ko) 2002-02-07
US6175942B1 (en) 2001-01-16
WO1998029812A1 (en) 1998-07-09

Similar Documents

Publication Publication Date Title
JP2000509862A (ja) 選択可能なビット幅のキャッシュ・メモリのシステム及び方法
US7373444B2 (en) Systems and methods for manipulating entries in a command buffer using tag information
JPS5830319Y2 (ja) コンピユ−タシステム
US6282617B1 (en) Multiple variable cache replacement policy
US5765187A (en) Control system for a ring buffer which prevents overrunning and underrunning
US7281092B2 (en) System and method of managing cache hierarchies with adaptive mechanisms
US6820086B1 (en) Forming linked lists using content addressable memory
US5032985A (en) Multiprocessor system with memory fetch buffer invoked during cross-interrogation
US20010034815A1 (en) Apparatus and method for performing speculative cache directory tag updates
JPH10133947A (ja) 統合されたプロセッサ・メモリ装置
US20040117561A1 (en) Snoop filter bypass
US5721957A (en) Method and system for storing data in cache and retrieving data from cache in a selected one of multiple data formats
EP1741023B1 (en) Communicating protected data within locking messages
US20020199079A1 (en) Method to prefetch data from system memory using a bus interface unit
JP2002510079A (ja) メモリ・インタフェース間で読み書きの順序付けられた実行を強制する方法と装置
JPH11513156A (ja) Sramキャッシュ用ワード幅選択
WO2001025921A1 (en) An arbitration protocol for a shared data cache
JPH10177519A (ja) 統合されたプロセッサ・メモリ装置
US7203780B2 (en) System and method for facilitating communication between devices on a bus using tags
US7529844B2 (en) Multiprocessing systems employing hierarchical spin locks
US20030154351A1 (en) Coherence message prediction mechanism and multiprocessing computer system employing the same
US5825788A (en) Data ordering for cache data transfer
US20040117558A1 (en) System for and method of operating a cache
US20140089587A1 (en) Processor, information processing apparatus and control method of processor
JP2004528647A (ja) サイクルあたりの多重キャッシュライン無効化をサポートするための方法および装置

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040105

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040223

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040407

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050127

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050331

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050421