JP3569735B2 - Sramキャッシュ用ワード幅選択 - Google Patents
Sramキャッシュ用ワード幅選択 Download PDFInfo
- Publication number
- JP3569735B2 JP3569735B2 JP50182798A JP50182798A JP3569735B2 JP 3569735 B2 JP3569735 B2 JP 3569735B2 JP 50182798 A JP50182798 A JP 50182798A JP 50182798 A JP50182798 A JP 50182798A JP 3569735 B2 JP3569735 B2 JP 3569735B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- bus
- data bus
- logic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0879—Burst mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0886—Variable-length word access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本発明は、一般的にはディジタル・コンピュータに関し、特にコンピュータ・メモリに関する。更に明確には本発明は、キャッシュメモリの論理実施形態に関する。
発明の背景
コンピュータ・システム、特にパーソナルコンピュータの性能は、コンピュータ・アーキテクチャー設計の急速な成長、特にコンピュータ・メモリの性能の急速な成長によって劇的に向上してきた。
しかしながらコンピュータのプロセッサとメモリとは、この何年かを通じて同じペースの発達を辿ってこなかった。メモリは、プロセッサに十分な応答速度を提供できていない。プロセッサとメモリとの間の速度のギャップを減らすためにメモリ階層というコンセプトが導入された。メモリ階層は多数のメモリ・レベルとメモリ・サイズとメモリ速度とからなる。プロセッサの近く或は内部に配置されるメモリは、通常最も小さくて最も速いものであって、一般にキャッシュメモリと呼ばれる。キャッシュメモリはプロセッサの要求に応えるために高速であることが必要であり、したがって通常、これはスタティック型メモリ或はステティック・ランダムアクセスメモリ(SRAM)で構成される。そうしたメモリ階層は、1994年1月18日に発行されたOsaki等(「Osaki」)の米国特許第5,289,598号に説明されている。
キャッシュメモリは、コンピュータメモリ階層の中で重要な役割を果たす。最も頻繁に再利用されるコンピュータ命令とデータとは、プロセッサがこれらの命令とデータとをより低速度のコンピュータ・メインメモリからアクセスするよりも遥かに速くアクセスできるという理由から、一時的にキャッシュメモリに記憶される。
殆ど全てのキャッシュメモリは、ハードウエアによって管理され、キャッシュ動作が論理回路によって物理的に制御されることになる。これら論理回路の設計はプロセッサのタイプ及びデータ・バス或は複数のデータ・バスの幅に従って異なる。例えば、Osakiはデータをプロセッサ・バス及びシステム・バスの双方上に駆動できるコンピュータ・システムを説明している。プロセッサ・バスそし、それ故に、キャッシュメモリは32ビット・ワードとして構成される。このシステム・バスは8ビット或は32ビットのワードの何れかを取り扱うように構成されている。もしデータが8ビット・バス上に駆動されるのであれば、これらバイトの3つは中間のバッファ・レジスタ内に保存され、最後のバイトはバスに書き込まれる。残りのバイトの各々は順次駆動される。同様に、1995年4月11日に発行されたNicholesの米国特許第5,406,525号は、ビットの8ビット・ストリング内にビットを選択的にアドレス指定する事によって異なるワード幅に対して構築可能な完全拡散されたSRAMを説明している。最後に、IBM Techmical Disclosure Bulletin、第33冊、第8号、1月1日、118〜120頁、XP000107015、「Fast TTL Burst Controller for Microprocessor」は4バイトのキャッシュ・ライン内にデータをバースト充填する方法を説明している。キャッシュメモリの実施形態は、プロセッサのタイプが異なれば論理制御回路が異なるので、異なるタイプのプロセッサで同じではない。幾つかの実施形態では、プロセッサ−キャッシュ・インタフェースは、データ用の64ビット・バスとタグ用の追加のバスとを使っている。このタグ・バス幅は変化するが、タグ・プラス・データ用の合計80ビット幅の場合で公称16ビットになっている。もしキャッシュ・ブロック(又はキャッシュ・ライン)のサイズがデータ・バス幅の4倍であれば、4バスサイクルごとのバスサイクルの内の3バスサイクルについてはタグ・バス上に有用な情報は現れず、したがってバスは効率的に使われない。
データ・バスとタグ・バスを更に効率的に利用できるようにキャッシュSRAMを実現する論理が必要とされている。この論理は64ビットのデータ・バスと16ビット以上のタグ・バスとを実現できるが、この同じ論理は96ビット・バスの実現にも使うことができる。
発明の概要
本発明は、マイクロプロセッサとキャッシュメモリとを含むコンピュータ・システム内で80ビット幅或は96ビット幅のSRAMの実現を可能にする選択論理を説明する。一実施例におけるこの論理は、80ビット幅或は96ビット幅のキャッシュSRAMの実現を可能にしている。この論理は、半幅を有する2個のSRAM、即ち2個の40ビット・キャッシュSRAM或は48ビット・キャッシュSRAMを実現するためにも使うことができる。本発明は、従来80ビット・バスで達成されていたものよりも高い有用なデータ・スループット(処理量)を80ビット・バス或は96ビット・バス上で可能にしている。この論理の実現は、バス利用を最大にするようにタグと誤り検査訂正(ECC)とデータとを一つの順序づけブロックの情報内に併合することによって達成される。
この論理実現の重要な利点は、この論理が80ビット・バスの場合ですべてのバスサイクル上で有用な情報を利用し、また96ビット・バスの場合ではバスサイクルのサイクル数を4サイクルから3サイクルに削減するということである。
【図面の簡単な説明】
図1は、マイクロプロセッサと80ビット或は96ビットのキャッシュSRAMとを備える簡略化されたコンピュータ・システムのブロック図である。
図2は、図1の80ビット/96ビット・キャッシュSRAMのブロック図である。
図3は、96ビット実施形態の場合のメモリ・アレイから出力ブロックへのデータ転送に利用可能なルートのブロック図である。
図4A〜図4Dは、96ビット実施形態の場合に初期アドレスがそれぞれ00、01、10、11であるときの可能な出力ブロックの選択組合せである。
図5A〜図5Eは、本発明による96ビット実施形態の場合の論理の各種組合せである。
図6は、80ビット実施形態の場合のメモリ・アレイから出力ブロックへのデータ転送に利用可能なルートのブロック図である。
図7A〜図4Dは、80ビット実施形態の場合の可能な出力ブロックの選択組合せである。
図8A〜図8Eは、本発明に従った80ビット実施形態の場合の論理の各組合せである。
図9A〜図9Eは、本発明に従った80ビット実施形態及び96ビット実施形態の両方の場合の論理の各組合せである。
好適実施例の説明
好適実施例の下記の詳細な説明においては、本願の一部を構成し、本発明が実施され得る特定の実施例の例示目的のために示される添付の図面が参照される。これらの実施例は、当業者が本発明を実施できるように充分に詳細に説明されており、また本発明の精神と範囲から逸脱することなく、その他の実施例も利用可能であり且つ構造上の変更も可能であることは理解すべきである。したがって以下の詳細な説明は限定的な意味で解釈されるべきではなく、本発明の範囲は添付の請求の範囲によって定義される。
図1は、プロセッサ−キャッシュ・インタフェース160を介して80ビット/96ビット・キャッシュSRAM100に接続されたマイクロプロセッサ150を備える簡略化されたコンピュータ・システムを示す。プロセッサ・キャッシュ・インタフェース160は、システム・クロック(CLK)、アドレス・データ・ストローブ(ADS#)、読取り或は書込み要求(RW#)、アドレス・バス、タグ・バス、並びに、データ・バスを含む。
図2は、図1の80ビット/96ビット・キャッシュSRAM100のブロック図である。キャッシュSRAM100は、80ビット〜96ビットのデータ・バスをサポートすることができる。これらの80ビット或は96ビット動作は、データ順序づけ方式と、入力選択論理106、出力選択論理108の論理選択とによって実現される。入力論理106と出力論理108とは、論理的に同じである。データは、96ビットの場合は3バスサイクルで、80ビット・システムの場合は4バスサイクルで、データおよびタグのメモリ・アレイ110との間で転送される。バスサイクルの連鎖はバスサイクル・カウンタ102によって監視される。サイクル・カウンタ102は、ADS#がローのときスタートし、3カウント(96ビット・システムの場合、サイクル1、サイクル2、サイクル3)、或は4カウント(80ビット・システムの場合、サイクル1、サイクル2、サイクル3、サイクル4)の後にゼロにリセットして接続する。データは、それぞれ書き込み動作或は読取り動作によってメモリ・アレイ110に書込まれ、或はそれから読取られる。図で、RW#は読取り動作或は書込み動作が要求されていることを示しており、記号#はこの記号がローであれば書込みを示す。アドレスは、メモリ・アレイ110内の“sough"メモリ位置を表す。データは、データ・ビットとタグ・ビットとの複合した集まりを表す。
図3は、96ビット実施形態の場合のメモリ・アレイから出力ブロックに転送すべきデータ用に利用可能なルートのブロック図である。この実施例は、4個の64ビット長ワードA、B、C、Dと、タグ1とタグ2で示されるトータル32ビットの2個のタグ・ワードとからなるメモリ・アレイ210の一部を示している。この実施例と他の実施例のタグは、状態、ECC、タグなどといった追加情報を表す。4個の64ビット長ワードの各々は4個の16ビット・ワードに分割される。長ワードAは、それぞれ1.1、1.2、1.3、1.4で示される4個の16ビット・ワードを持っている。長ワードBは、それぞれ2.1、2.2、2.3、2.4で示される4個の16ビット・ワードを持っている。長ワードCは、それぞれ3.1、3.2、3.3、3.4で示される4個の16ビット・ワードを持っており、長ワードDは、それぞれ4.1、4.2、4.3、4.4で示される4個の16ビット・ワードを持っている。この実施例では、1.1はデータム1・ワード1を表し、1.2はデータム1・ワード2を表し、1.3はデータム1・ワード3を表す、等々である。
ワードA、B、C、Dはこの順序で、プロセッサに対するデータ緊急性の順序を表す。緊急に順序づけされていると考えられる実際の物理アドレスは、既存の実施形態ではプロセッサによって異なり、またモジュラ4の線形バースト、モジュラ4のインタリーブ順序などを伴うことがある。典型的な線形アドレッシング・マイクロプロセッサ(例えばPowerPC或はCyrixM1)の場合、最適順序は、モジュラ4線形バーストである。この順序づけは、表Aに示す。このタイプのプロセッサに関する他のいかなる順序づけも96ビット動作を利用するように設計されたプロセッサの性能を最大にすることを妨げる。この理由は、データの1ブロック全体についての動作の途中では、そのブロック内のデータを利用する最も高い確率は初期アドレスに関して100%であり、その後続のアドレスの各々については、それより小さいからである。この確率は、その前のアドレスに関してはさらに低い。したがって初期アドレスが01であれば、その前のアドレス即ち00は、恐らく持つべき必要性が最も低く、したがってより低い優先度を持つべきである。故にA、B、C、Dは、xが「どれでも(any)」を表す2進形式で表現される下記の順序列を示すであろう。
インタリーブ・バースト順序を必要とするプロセッサ(例えばIntel Pentium)に関しては、モジュラ4インタリーブ・バースト順序を使うことができる。この順序づけは、表Bに示す。
一実施例ではキャッシュ・ラインのデータ・ワードが転送される順序は、プログラム可能である。このような装置は、例えばインタリーブ・バースト・データと線形バースト・データの両方の順序づけを同一のキャッシュ装置で行うことを可能にする。他の実施例ではデータの順序づけは、プログラム或は実行中のプログラム(例えばメモリ内をある特定のストライドで動作しているプログラム)の特性を反映するように変更することができる。
再び図3を参照すれば、データは複数の経路220からの論理選択によってメモリ・アレイ210から出力ブロック230に転送される。経路220は、34ルートからなり、その内で6個のルート221〜226はそれぞれOB1〜OB6で示される各々16ビットの出力ブロック231〜236の出力ブロック230に接続されている。一つの出力ブロックは、出力バッファと任意選択的にデータ・レジスタ或はラッチとからなる。これら34本の利用可能なルートの内の6本を使用可能にする論理は、下記に説明する。
図4A〜図4Dは、96ビット実施形態の場合に初期アドレスがそれぞれ00、01、10、11であるのときの可能な出力ブロックの選択組合せである。これらの図は明らかに、96ビット・バスが単に3個のバスサイクルを使うだけで実現できることを示している。タグは最初のバスサイクル(サイクル1)に現れるだけで、サイクル2(サイクル2)とサイクル3(サイクル3)の期間中、データ転送用の入出力ラインを解放する。この順序づけは、キャッシュ・ラインのデータ・ワードを転送するために必要とされる論理を単純化して、利用可能でなければならない経路の数を削減する。これらの可能な出力ブロックの選択組合せを可能にする論理は、図5A〜図5Eで述べる。
図5A〜図5Eは、96ビット実施形態の場合の論理の各組合せである。この96ビットの場合には単に3個のバスサイクルが必要であって、データ・トランザクションの順序はサイクル1、それからサイクル2、最後にサイクル3である。この実施例で、この論理は入力410と論理ゲート420と複数の出力430との組合せからなる。論理ゲート420は、複数の論理ANDゲートと複数の論理ORゲートとからなる。この論理を駆動する入力410は、サイクル1、サイクル2、サイクル3とA0とA1とからなる。A0とA1は、初期アドレスの2個の最下位ビットを表す。サイクル1、サイクル2、或はサイクル3はバスサイクル・カウンタ102によって決定される現行バスサイクルである。この論理からの出力430は出力ブロック230の内の適当なブロックOB1〜OB6へのデータの転送を可能にする。出力430において利用可能な論理の詳細な組合せは、表1に示してある。この表で、OBは出力ブロックを表し、IAは初期アドレスの最下位2ビットを表し、タグ1とタグ2は状態、ECC、タグなどといった追加の雑情報を表し、1.1は現行キャッシュ・ライン内のデータム1・ワード1を表し、1.2はデータム1・ワード1を表す、等々である。
当業者は、96ビット・バス実施形態に関する上記の説明が2個の48ビット幅の装置を使って96ビット幅の装置を実現するためにも使うことができることを直ちに理解するであろう。2個の48ビット幅の装置に関する96ビット実施形態は、すべての偶数ワードが一方の装置に、すべての奇数ワードが他方の装置にあるようにして実現されるであろう。例えばワード1.4、2.4、3.4、4.4、1.2、2.2、3.2、4.2(x.4、x.2)、OB6、OB4、OB2は一方の装置にあり、またワードx.3、x.1、OB5、OB3、OB1は他方の装置に存在する。上述の論理は厳密には説明のように動作し、またこれらの装置は継ぎ目なしに一緒に動作し、ただ一つの設計が必要となる。この実施形態では2個の同等な装置が使われる。
図6は、80ビット実施形態の場合のメモリ・アレイから出力ブロックへのデータ転送に利用可能なルートのブロック図である。この実施例では、長ワードA、B、C、Dは96ビット実施形態の場合の図3とメモリ・アレイ510の部分の同じ構造に配列されるが、タグ1、タグ2、タグ3、タグ4で示される最大4個のタグ・ワードを利用することができる。この実施例の出力ブロック530は、それぞれOB1、OB3、OB4、OB5、OB6で示される5個の16ビット出力ブロック531、533、534、535、536からなる。データは、複数の経路520からの論理選択によってメモリ・アレイ510から出力ブロック530へ転送される。経路520は、最大20本のルートを含んでおり、その内の5本のルート521、523、524、525、526は出力ブロック530に接続されている。
図7A〜図7Dは、80ビット実施形態の場合に初期アドレスがそれぞれ00、01、10、11であるときの可能な出力ブロックの選択組合せである。これらの図は、データ転送には4個のバスサイクルが必要であることを示す。この場合、タグ情報或は有用な情報は、複数バスサイクル(サイクル1からサイクル4までの)毎に現れることになり、したがってこれはバスの効率的利用になる。この80ビット実施形態では性能を最大にするために、タグ制限は16ビットとなっている。更に多くのタグ・ビットが必要であれば、必要な追加ビットを収容するように80ビットを拡張することは理に適うことである。例えばもし20ビット・タグが必須であれば、これは84ビット・バスを必要とすることになる。道理上、ECCのビットはタグのサイズとは無関係に11ビットで十分である。これらの可能な出力ブロックの選択組合せを可能にする論理は、図8A〜図8Eに示す。
図8A〜図8Eは、80ビット実施形態の場合の論理の各組合せである。この80ビットの場合には4個のバスサイクルが必要であり、データ・トランザクションの順序は、サイクル1、次にサイクル2、次にサイクル3、そして最後にサイクル4である。この実施例では論理は、入力710と論理ゲート720と複数の出力730との組合せからなる。論理ゲート720は、複数の論理ANDゲートと複数の論理ORゲートとからなる。この論理を駆動する入力710は、サイクル1、サイクル2、サイクル3、サイクル4とA0とA1とからなる。A0とA1は、初期アドレスの2個の最下位ビットを表す。サイクル1、サイクル2、或はサイクル3はバスサイクル・カウンタ102によって決定される現行バスサイクルである。この論理からの出力730は、出力ブロック530の内の適当なブロックへのデータの転送を可能にする。出力730において利用可能な論理の詳細な組合せは、表2に示す。この表で、OBは出力ブロックを表し、IAは初期アドレスの最下位2ビットを表し、タグ1とタグ2は状態、ECC、タグなどといった追加の雑情報を表し、1.1は現行キャッシュ・ライン内のデータム1・ワード1を表し、1.2はデータム1・ワード2を表す、等々である。
当業者は、上述の80ビット幅の装置の実施形態が2個以上の装置を使ってメモリ装置内に80ビット幅の装置を実現するためにも使うことができることを直ちに理解するであろう。例えばもし80ビット・バスが2個の装置に亘って分割される場合には、このような同等な二つの装置が80ビット・バスの装置を含むようにOB1を8ビットずつに2分割しなくてはならないであろう。こうして単に一つの装置タイプが必要となるだけであって、その装置は2度使われる。4装置の実施形態にも同じ原理が適用される。
図3から図8Eまでの図示と説明から、80ビット実施形態と96ビット実施形態との間には、利用可能な経路と論理選択とに共通性があることは明らかである。図3(96ビット実施形態の場合の利用可能なルート)と図6(80ビット実施形態の場合の利用可能なルート)とを更に検討すれば、図6が図3のサブセットであるという結論を引き出すことができる。図5A〜図5E(96ビット実施形態の場合の論理)と図8A〜図8E(80ビット実施形態の場合の論理)と表1と表2も更に検討すれば、80ビット実施形態と96ビット実施形態の両方を同じメモリ・アレイから実現できるように論理に修正を加えることができる。こうして図3のルートのブロック図は、80ビット実施形態と96ビット実施形態の両方の場合に使うことができ、また両者の場合を実現するように修正された論理は、図9A〜図9Eに示されている。
図9A〜図9Eは、本発明による80ビット実施形態と96ビット実施形態の両方の場合の論理の各組合せである。この実施例は、80ビット実施形態と96ビット実施形態との間の論理的差異を示し、またこの論理の各実施形態に共通である点と固有である点とを識別している。図9A〜図9Eにおいて各図に共通な論理は、96で示されている任意選択の論理と80で示されている任意選択の論理とを除く全体の論理である。共通論理と任意選択の論理96は、96ビット実施形態の場合にのみアクティブである。共通論理と任意選択の論理80は、80ビット実施形態の場合にのみアクティブである。
本発明の詳細な説明から80ビット実施形態は、4つのバスサイクルによって実行され、有用な情報はサイクル毎に存在し、したがってバス利用は更に効率的になる。96ビット実施形態は4サイクルではなく単に3サイクルだけを必要とし、したがってデータ・トランザクション処理をスピードアップしている。これらの実施例で説明したブロック選択は、出力によっているが、入力順序づけは同じであって同一論理にしたがっていることも理解される。更に同じメモリ・アレイを使う80ビット装置と96ビット装置の実施形態が本発明で説明した論理によって得られることは明らかである。
Claims (8)
- SRAMキャッシュメモリであって、
データ・メモリ領域を有するメモリ・アレイであり、該データ・メモリ領域が第1、第2、第3、並びに、第4の長ワードを含む複数の長ワードを含み、該長ワード各々が複数のワードを含むことから成るメモリ・アレイ(110)と、
前記メモリ・アレイ(110)が複数のタグ・ワードを含むタグ・メモリ領域を更に有することと、
前記キャッシュメモリをデータ・バスと接続するキャッシュ・インタフェース(160)と、
前記メモリ・アレイ及び前記キャッシュ・インタフェースの間に接続された入力/出力経路であり、第1データ・バス幅形態及び第2データ・バス幅形態の内の何れかを選択するように動作すると共に、前記キャッシュ・インタフェース及び前記メモリ・アレイの間でデータを転送するように動作する入力/出力経路と、を備え、前記入力/出力経路が、
複数の共通入力選択論理と、第1及び第2の任意入力選択論理を含む複数の任意入力選択論理とを有する入力選択論理(106)と、
複数の共通出力選択論理と、第1及び第2の任意出力選択論理を含む複数の任意出力選択論理を有する出力選択論理(108)と、
前記入力選択論理及び前記出力選択論理と接続されて、前記第1及び第2の任意入力選択論理と前記第1及び第2の任意出力選択論理とを、サイクル・カウント及びデータ・バス幅の関数として制御するバスサイクル・カウンタ(102)と、を含み、
前記入力/出力経路が第1データ・バス幅形態用に構成されている際に前記バスサイクル・カウンタが3つのバスサイクルをカウントし、前記入力/出力経路が第2データ・バス幅形態用に構成されている際に前記バスサイクル・カウンタが4つのバスサイクルをカウントし、
前記タグ・ワードの全てが、前記入力/出力経路が第1データ・バス幅形態である際に前記第1バスサイクルで転送され、前記タグ・ワードが、前記入力/出力経が第2データ・バス幅形態である際に2以上のバスサイクルで存在することから成るSRAMキャッシュメモリ。 - 前記入力選択論理及び前記出力選択論理が論理的に同一であり、前記データが線形バースト順序或はインタリーブ順序の内の何れかで前記データ・バスに提供される、請求項1に記載のキャッシュメモリ。
- 前記共通入力及び出力選択論理が常に動作中であるように前記入力及び出力選択論理が動作し、前記キャッシュメモリが前記第1データ・バス幅形態であるときにのみに前記第1の任意入力及び出力選択論理が動作し、前記キャッシュメモリが前記第2データ・バス幅形態であるときにのみ前記第2の任意入力及び出力選択論理が動作する、請求項2に記載のキャッシュメモリ。
- 前記第1及び第2の任意選択入力選択論理と前記第1及び第2の任意選択出力選択論理が、前記長ワードの初期アドレスの最下位2桁の関数として更に制御される、請求項3に記載のキャッシュメモリ。
- 前記バスサイクル・カウンタが、前記データ・バスが96ビット幅のデータ・バスであるときに第1、第2、並びに、第3のカウント・サイクルをカウントした後にゼロにリセットし、そして前記バスサイクル・カウンタが、前記データ・バスが80ビット幅のデータ・バスであるときに第1、第2、第3、並びに、第4のカウント・サイクルをカウントした後にゼロにリセットする、請求項4に記載のキャッシュメモリ。
- 前記タグ・ワードの全てが、前記データ・バスが96ビット幅データ・バスである時に前記第1バスサイクルで転送され、前記タグ・ワードが、前記データ・バスが80ビット幅データ・バスである時に2以上のバスサイクルで存在する、請求項5に記載のキャッシュメモリ。
- 前記入力及び出力選択論理が、34本のデータ・ルート指定経路の内の6本までをイネーブルに為し、前記メモリ・アレイから関連出力ブロックまでデータを転送することを可能にする、請求項6に記載のキャッシュメモリ。
- 前記入力選択論理及び前記出力選択論理が同一に構成されている、請求項7に記載のキャッシュメモリ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/663,386 | 1996-06-13 | ||
US08/663,386 US5960453A (en) | 1996-06-13 | 1996-06-13 | Word selection logic to implement an 80 or 96-bit cache SRAM |
PCT/US1997/010184 WO1997048048A1 (en) | 1996-06-13 | 1997-06-13 | Word width selection for sram cache |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11513156A JPH11513156A (ja) | 1999-11-09 |
JP3569735B2 true JP3569735B2 (ja) | 2004-09-29 |
Family
ID=24661575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50182798A Expired - Lifetime JP3569735B2 (ja) | 1996-06-13 | 1997-06-13 | Sramキャッシュ用ワード幅選択 |
Country Status (6)
Country | Link |
---|---|
US (3) | US5960453A (ja) |
EP (2) | EP0978041A1 (ja) |
JP (1) | JP3569735B2 (ja) |
KR (1) | KR100322366B1 (ja) |
AU (1) | AU3389697A (ja) |
WO (1) | WO1997048048A1 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US6385687B2 (en) * | 1999-05-14 | 2002-05-07 | Micron Technology, Inc. | Method and apparatus for simultaneously accessing the tag and data arrays of a memory device |
US6446169B1 (en) | 1999-08-31 | 2002-09-03 | Micron Technology, Inc. | SRAM with tag and data arrays for private external microprocessor bus |
US6717577B1 (en) * | 1999-10-28 | 2004-04-06 | Nintendo Co., Ltd. | Vertex cache for 3D computer graphics |
JP2004240713A (ja) * | 2003-02-06 | 2004-08-26 | Matsushita Electric Ind Co Ltd | データ転送方法及びデータ転送装置 |
US7844767B2 (en) * | 2004-05-21 | 2010-11-30 | Intel Corporation | Method for identifying bad lanes and exchanging width capabilities of two CSI agents connected across a link |
US7123521B1 (en) * | 2005-04-27 | 2006-10-17 | Micron Technology, Inc. | Random cache read |
US7444579B2 (en) | 2005-04-28 | 2008-10-28 | Micron Technology, Inc. | Non-systematic coded error correction |
US7653785B2 (en) * | 2005-06-22 | 2010-01-26 | Lexmark International, Inc. | Reconfigurable cache controller utilizing multiple ASIC SRAMS |
US7457901B2 (en) * | 2005-07-05 | 2008-11-25 | Via Technologies, Inc. | Microprocessor apparatus and method for enabling variable width data transfers |
US7502880B2 (en) | 2005-07-11 | 2009-03-10 | Via Technologies, Inc. | Apparatus and method for quad-pumped address bus |
US7441064B2 (en) * | 2005-07-11 | 2008-10-21 | Via Technologies, Inc. | Flexible width data protocol |
US7590787B2 (en) * | 2005-07-19 | 2009-09-15 | Via Technologies, Inc. | Apparatus and method for ordering transaction beats in a data transfer |
US7444472B2 (en) * | 2005-07-19 | 2008-10-28 | Via Technologies, Inc. | Apparatus and method for writing a sparsely populated cache line to memory |
US20070061669A1 (en) * | 2005-08-30 | 2007-03-15 | Major Karl L | Method, device and system for detecting error correction defects |
US7453723B2 (en) | 2006-03-01 | 2008-11-18 | Micron Technology, Inc. | Memory with weighted multi-page read |
US7810017B2 (en) * | 2006-03-20 | 2010-10-05 | Micron Technology, Inc. | Variable sector-count ECC |
US7369434B2 (en) * | 2006-08-14 | 2008-05-06 | Micron Technology, Inc. | Flash memory with multi-bit read |
KR100881196B1 (ko) | 2007-05-29 | 2009-02-05 | 삼성전자주식회사 | 선택 가능한 두개의 비트 구조를 갖는 메모리 장치 및 이를구비하는 시스템 |
KR20220031776A (ko) * | 2020-09-03 | 2022-03-14 | 삼성전자주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
Family Cites Families (38)
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 |
JPS5918745B2 (ja) | 1978-02-15 | 1984-04-28 | 富士通株式会社 | メモリ共有アクセス方式 |
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 |
US4953073A (en) | 1986-02-06 | 1990-08-28 | Mips Computer Systems, Inc. | Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories |
US4885680A (en) * | 1986-07-25 | 1989-12-05 | International Business Machines Corporation | Method and apparatus for efficiently handling temporarily cacheable data |
US5091846A (en) * | 1986-10-03 | 1992-02-25 | Intergraph Corporation | Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency |
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 |
US5255378A (en) * | 1989-04-05 | 1993-10-19 | Intel Corporation | Method of transferring burst data in a microprocessor |
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 |
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 | バス幅制御回路 |
JP2646854B2 (ja) * | 1990-12-18 | 1997-08-27 | 三菱電機株式会社 | マイクロプロセッサ |
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 |
US5293603A (en) * | 1991-06-04 | 1994-03-08 | Intel Corporation | Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path |
JP2836321B2 (ja) * | 1991-11-05 | 1998-12-14 | 三菱電機株式会社 | データ処理装置 |
US5469555A (en) * | 1991-12-19 | 1995-11-21 | Opti, Inc. | Adaptive write-back method and apparatus wherein the cache system operates in a combination of write-back and write-through modes for a cache-based microprocessor system |
JPH07502358A (ja) * | 1991-12-23 | 1995-03-09 | インテル・コーポレーション | マイクロプロセッサーのクロックに依るマルチプル・アクセスのためのインターリーブ・キャッシュ |
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 |
US5287017A (en) * | 1992-05-15 | 1994-02-15 | Micron Technology, Inc. | Programmable logic device macrocell with two OR array inputs |
US5220215A (en) * | 1992-05-15 | 1993-06-15 | Micron Technology, Inc. | Field programmable logic array with two or planes |
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 |
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 |
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 |
US5581734A (en) * | 1993-08-02 | 1996-12-03 | International Business Machines Corporation | Multiprocessor system with shared cache and data input/output circuitry for transferring data amount greater than system bus capacity |
US5432804A (en) * | 1993-11-16 | 1995-07-11 | At&T Corp. | Digital processor and viterbi decoder having shared memory |
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 |
US5603041A (en) * | 1994-12-13 | 1997-02-11 | International Business Machines Corporation | Method and system for reading from a m-byte memory utilizing a processor having a n-byte data bus |
US5960453A (en) * | 1996-06-13 | 1999-09-28 | Micron Technology, Inc. | Word selection logic to implement an 80 or 96-bit cache SRAM |
-
1996
- 1996-06-13 US US08/663,386 patent/US5960453A/en not_active Expired - Lifetime
-
1997
- 1997-06-13 WO PCT/US1997/010184 patent/WO1997048048A1/en active IP Right Grant
- 1997-06-13 JP JP50182798A patent/JP3569735B2/ja not_active Expired - Lifetime
- 1997-06-13 AU AU33896/97A patent/AU3389697A/en not_active Abandoned
- 1997-06-13 EP EP97929956A patent/EP0978041A1/en not_active Withdrawn
- 1997-06-13 KR KR1019980710264A patent/KR100322366B1/ko not_active IP Right Cessation
- 1997-06-13 EP EP00204405A patent/EP1087296B1/en not_active Expired - Lifetime
-
1999
- 1999-04-26 US US09/299,799 patent/US6223253B1/en not_active Expired - Lifetime
-
2001
- 2001-04-24 US US09/841,643 patent/US6493799B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR100322366B1 (ko) | 2002-03-08 |
EP0978041A1 (en) | 2000-02-09 |
US6223253B1 (en) | 2001-04-24 |
JPH11513156A (ja) | 1999-11-09 |
US6493799B2 (en) | 2002-12-10 |
US20010023475A1 (en) | 2001-09-20 |
EP1087296B1 (en) | 2011-08-03 |
WO1997048048A1 (en) | 1997-12-18 |
KR20000034787A (ko) | 2000-06-26 |
EP1087296A2 (en) | 2001-03-28 |
EP1087296A3 (en) | 2002-04-17 |
US5960453A (en) | 1999-09-28 |
AU3389697A (en) | 1998-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3569735B2 (ja) | Sramキャッシュ用ワード幅選択 | |
US6175942B1 (en) | Variable bit width cache memory architecture | |
EP0248906B1 (en) | Multi-port memory system | |
US3806888A (en) | Hierarchial memory system | |
EP0054888B1 (en) | Data-processing system with main and buffer storage control | |
KR970011208B1 (ko) | 파이프라인된 기록버퍼 레지스터 | |
US6381686B1 (en) | Parallel processor comprising multiple sub-banks to which access requests are bypassed from a request queue when corresponding page faults are generated | |
US4174537A (en) | Time-shared, multi-phase memory accessing system having automatically updatable error logging means | |
US4371949A (en) | Time-shared, multi-phase memory accessing system having automatically updatable error logging means | |
US5825788A (en) | Data ordering for cache data transfer | |
JPH09167495A (ja) | データ記憶ユニット及び該ユニットを用いたデータ記憶装置 | |
EP0386719A2 (en) | Partial store control circuit | |
JPS5868286A (ja) | キヤツシユメモリおよびその作動方法 | |
JPH0282330A (ja) | ムーブアウト・システム | |
JPH0427583B2 (ja) | ||
JPH0212358A (ja) | データ転送方式 | |
JPH09282231A (ja) | ライトバック型キャッシュ装置 | |
JPS61214039A (ja) | キヤツシユメモリ | |
JPS635432A (ja) | マイクロプロセツサ | |
JPH0521262B2 (ja) | ||
JPS59218692A (ja) | ロジカルバツフア記憶制御方式 | |
JPS5842546B2 (ja) | ストア制御方式 | |
JPH02304651A (ja) | データ処理装置 | |
EP0369935A2 (en) | Multiple posting cache memory | |
JPS609296B2 (ja) | バッファメモリ制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20040427 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040525 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070702 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080702 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090702 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100702 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110702 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110702 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120702 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120702 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130702 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |