JPH01251247A - キヤツシユメモリサブシステム - Google Patents

キヤツシユメモリサブシステム

Info

Publication number
JPH01251247A
JPH01251247A JP63319665A JP31966588A JPH01251247A JP H01251247 A JPH01251247 A JP H01251247A JP 63319665 A JP63319665 A JP 63319665A JP 31966588 A JP31966588 A JP 31966588A JP H01251247 A JPH01251247 A JP H01251247A
Authority
JP
Japan
Prior art keywords
cache
chip
reload
word
array
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
JP63319665A
Other languages
English (en)
Other versions
JPH0668737B2 (ja
Inventor
Chiao-Mei Chuang
チイオ‐ミイ・チユアング
Richard E Matick
リチヤード・エドワード・マテイク
Fred T Tong
フレツド・ツウ・トング
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH01251247A publication Critical patent/JPH01251247A/ja
Publication of JPH0668737B2 publication Critical patent/JPH0668737B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory
    • 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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing

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)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は階層の1つのレベルがその上のレベルから ”
ページングされる記憶階層を有する計算機システムに関
する。”ページング”は一般にセグメント即ち”ページ
”がより高いレベルの階層からアクセスされる場合に用
いられる用語である。
本発明はメモリチップに適切な機能を組込む賢明な選択
及び方法によって記憶装置の総合的な性能をかなり改善
する方法を提供する。特に、本明細書に記述されるその
着想及び本質的な概念はキャッシュチップ構造の改良に
関連する。しかしながら、その概念は他の適切なレベル
の記憶階層にも利用可能であることは明白である。
B、従来技術 CPUと主記憶装置の間の性能の大きな隔たりは将来の
いかなる高性能のプロセッサにとっても−それがマイク
ロプロセッサであっても、中規模ないしは大規模システ
ムであっても一キャッシュの使用が重要な要素になって
いる。しかしながら、キャッシュは該キャッシュをアク
セスする総平均時間が同じデータについて主記憶装置を
アクセスする総平均時間よりもずっと小さいときにだけ
価値がある。この総平均時間は(データがキャッシュに
常駐しているときの通常のアクセス時間)+(キャッシ
ュ ”ミス”の場合に再ロードする加重平均時間)を含
む。
キャッシュは一般に普通のメモリアレイから設計され、
必要に応じて複雑なロジックを有する任意の他の所要の
ないしは所望の機能は外の場所に設計される。該所要の
機能は普通はうまく統合されてはいないので、余分な経
路遅延、チップの交差及び追加回路が必要となる0本発
明は、最小限のハードウェアの追加によって記憶システ
ム全体の性能を大幅に向上する。簡単でうまく統合され
た機能を有するキャッシュアレイチップを構築する方法
を開示する。この方法から得られる主要な改良点はキャ
ッシュ”ミス”による平均システム性能低下を最小限に
し、しかも通常の読取り/再書込みサイクル中に高速ア
クセスする手段を提供することである。
キャッシュの性能を改善するために産業界で行われてい
る一般的な方法は通常の高速なRAMチップを使用しこ
れらのチップをプロセッサに近い速度でインタフェース
する因習的なものである。
しかしながら、この方法は理想的な解決からは程遠い、
プロセッサに役立つキャッシュ帯域幅を持たせ且つ再ロ
ード時間を最小にするという、きびしい上に矛盾する要
求は達成可能な性能をひどく制限することがある。
必要な高い性能を有する機能を提供するためキャッシュ
アレイが遂行しなければならない矛盾する要求がいくつ
かある。標準的なアレイ設計によりこれらの要求を実現
しようとすると逆に複雑なシステムになる。複雑さとそ
れに伴う高い費用は要求される機能を理解しこれらの機
能をアレイチップに適切に組込むことによりかなり減少
させることができる。これを理解するためには、基本的
なアクセス問題及び典型的な実現方法が考慮されなけれ
ばならない、このため、比較的簡単な単一ボートアレイ
チップにより実現されるごく一般的なタイプのキャッシ
ュ構成が一例として使われる。
次に単一ポートではあるが僅かに複雑さが増したアレイ
チップと、それに続いて、類似の構造ではあるが真の2
ポートアレイ(異なるアドレスへの2つの同時アクセス
が支援可能)を用いるチップについて説明する。これは
完全なキャッシュアレイ構造の実現に必要な外部構造の
複雑さを明白に示す。
次に、この複雑さのそれぞれの部分が更に賢明なキャッ
シュチップの設計によってどのように単純化されるかを
示す、この説明から、本発明がなぜマイクロコンピュー
タ、ミニコンピユータ又は大型コンピュータに使用可能
な現在の方法の究極の単純化であるかがわかる。2ポー
トアレイを必要としないのみならず、他の機能が付加さ
れない2ポートアレイは高価な上に不適当であり、それ
ゆえ、設計/性能のトレードオフが不十分であることも
わかる。以下の説明では、キャッシュとCPUの間の経
路はサイクル当り1つの論理的なCPUワードであるも
のと仮定する。同じサイクルで同時に複数の引数が取出
される複雑な構成の場合には、2ポートアレイが役立つ
こともあるが、あとで説明する再ロードとパフォーマン
スの統合された機能に関する設計問題は変らない。
低価格、高速のキャッシュを得るためには、設計者は一
般に後選択(late−select)、セットアソシ
アティブ(set−associative)方式のキ
ャッシュ構成を用いる。これは幾つかの可能な論理的機
能を並行して開始し、該サイクルで後にどの機能が正し
いかを決定する手段を提供する。そして後続するパイプ
ラインの段階で正しい機能が用いられる。
最初に、4ウ工イセツトアソシアテイブ方式でアドレス
可能なように構成された後選択型のキャッシュについて
考える。第2図で、通常の読取りアクセス中に、仮想ア
ドレスの一部は正しいかも知れない4つの可能なワード
、即ちセットA、B、C,Dの各々からの1ワードから
成る合同クラスを選択するのに用いられる。同時に、も
しあれば。
どのセットが該アクセスの正しい目的であるかを調べる
ため、合計仮想アドレスは変換ルックアサイドバッファ
TLB及びキャッシュディレクトリを介して変換される
。もし1つが選択されれば、該サイクルで”後“に、適
切な後選択信号によって正しいワードがこれらのセット
の1つで使用可能になり、CPU−キャッシュデータバ
スに乗せられる。
一般に、どのチップのデータ出力ポートも3状態ドライ
バにより実現されるので4ワードは同時にドツトOR接
続することができる。1つのワードが使用可能になり且
つ1つのワードだけがCPU−キャッシュデータバスに
送り出されるように。
これらのドライバはデータイネーブル信号を出す。
書込みアクセス中に問題が生ずる。典型的な高速スタテ
ィックFE前記憶チップはチップアクセスが開始される
前にチップ境界でデータが有効であることを必要とする
。後選択型キャッシュの設計の場合には、変換と並行し
てチップアクセスが開始されるのでデータは変換が完了
するまでは有効にはならないことが望ましいので、これ
は問題となる。典型的なキャッシュは2キャッシュサイ
クル−1つは読取リサイクル、もう1つは変更及び再書
込みサイクル−を必要とする読取り/変更/書込み動作
を用いるので、結果的にシステム性能が低下する0機能
的には、後書込み動作を実行できるキャッシュを有する
ことが望ましい、これはキャッシュ性能に大きな影響を
与えずに実行することが可能であるが、特殊なチップ設
計を必要とする。
変換がキャッシュ ”ミス”を表示する毎に、キャッシ
ュブロックは主記憶装置から取出されてキャッシュにロ
ードされなければならない、実行される命令毎に比較的
多数のプロセッササイクルを必要とする複合命令セット
コンピュータ(CISC)の場合には、この比較的低速
な再ロードプロセスを可能にする十分な空きサイクルが
しばしばあり、システム性能の低下は許容できる。しか
しながら、プロセッサ設計は実行される命令毎のプロセ
ッササイクル数を減らす傾向になっているので、前記設
計は全体の記憶サブシステムの帯域幅にきびしい要求を
課すことになる0例えば、公開ジャーナル[参照文献2
の図6コは、実行される命令当り約1.25サイクルを
達成するように設計された高性能のプロセッサパイプラ
インの場合、理想的な記憶システム(例えば、無限キャ
ッシュ)を仮定すると、典型的な設計の有限キャッシュ
の再ロードによる不利点は、再ロードの追加サイクル毎
にプロセッサによって実行される百方命令/秒(MIP
S)の値が平均5%減少することがあることを示してい
る。従って高性能システムの場合、これは一般に再ロー
ドができるだけ速く起こることを必要とする。記憶アク
セス時間は普通は成る一定の値であるので、いったん最
初の主記憶アクセスが開始されると、各サイクルで複数
のワードを再ロードすることによって性能を上げること
ができる。
しかしながら、 ”ミス”した際、複数ワードのキャッ
シュへの再ロードには幾つかの問題がある。
第一に、再ロードは”同じセット”中の連続する論理位
置に全てのワードを入れる。即ちセットA、B、Cない
しはDに全てのワードを入れる必要がある0例えば、第
3図に示すように、キャッシュサイクル毎にNワードが
再ロードされるものとすれば、全てのNワード■/○ポ
ートはセットの1つにどうにか接続されなければならな
い、さらに幾つかの複雑な要求がある6例えば”ミス”
により再ロードする際、該再ロードと並行処理するため
CPUに”ロードスルー”することができるように”ミ
ス“を生じたワードから再ロードを開始すべきである。
これらの全ての要求は”各セット”からの1ワードがワ
ード境界でアクセスされる第2図に示す通常のアクセス
とは非常に異なる。これらの矛盾するアクセス要求はキ
ャッシュ設計」−の問題を生ずる。これらの要求が単一
アレイから始まり複雑な設計に至るまでどのように満た
されるか又は満たされているかについて以下壁つかの例
を示す。
最初に、チップ装置当りlCPU論理ワードのアレイ設
計−ワードを構成するチップ装置はエチップないしは幾
つかのチップとすることができる−を許容するキャッシ
ュアレイチップが使用可能であると仮定する。論理ワー
ドを得るのに用いられる区画に入るチップ数はキャッシ
ュの太きさ及びチップのモジュール性−本説明では重要
ではない−の関数である。以下の説明では、簡略化のた
め、 ′チップ装置”は1ワードをCPUに又はCPU
から供給するようにバス接続されるものとするが、当業
者にはよく理解されるように、2以上のチップがあり、
且つ種々の構成がある。
このようなチップ装置により、各キャッシュサイクルで
複数ワード(例えばサイクル当り2.4又はそれ以上の
ワード)を再ロードすることができる、2ウエイないし
は4ウエイもしくはそれ以上のセットアソシアティブ方
式の後選択型キャッシュを構築することができる。これ
を達成する方法は全所要キャッシュ容量と、技術的に提
供可能なビット数/チップ、即ちチップのモジュール性
とシステムに関連する関数である0問題及びトレードオ
フを理解するために、■ワードI10ボートを有する単
一ポートチップ装置が考慮されているものとする。更に
、所望の全キャッシュ容量及び利用可能なチップ装置密
度は合計して8チツプ装置を必要とするようになってい
るものとする。
もし4ウエイのセットアソシアティブ方式なら、これら
の8チツプ装置は、第4図に示すように、セット当り2
チツプ装置にマツピングする。このような場合、各セッ
トは2チツプ装置であり且つ2つの独立したI10ポー
1〜が主記憶装置に使用可能であるので、再ロード当り
最大2ワードを再ロードすることができる0通常のCP
Uアクセスでは、ワードアドレスビットは2列のチップ
装置のうちの一方の列をアクセスし、これらの4チツプ
装置の各々からの1ワードがアクセスされ、4セツトの
各々の1ワード、即ち合同クラスが該チップ装置の端に
保持される。後選択信号により4つのうちの1つが選択
され、cpuマルチプレクサを介してCPUデータバス
に送り出される。各チップからのI10ラインはたとえ
3状態ドライバからのものであっても、図示の場合のほ
かば。
ドツトOR接続できないので、このマルチプレクサは明
らかに必要である。その理由は、再ロードでは2つの別
個のワード−列毎に1ワード−が主記憶装置と該アレイ
の間を移動するからである。このように、オフチップ(
off−chiP)マルチプレクサが必要となる。
チップ装置が1ポート設計のため、1つの重大な欠点は
、この構造が同時に再ロード及びCP tJアクセスを
支援することができないことである。
これはアクセス干渉と性能低丁を生ずるが、その程度は
主記憶装置への別個の再ロード用インタフェースにより
減じることができる。しかしながら、1ボート設計には
起因しない別の制約は、この構成がサイクル当り3ワ一
ド以上の再ロードを支援できないことである1例えば、
もし再ロードサイクル当り4ワードの再ロードが要求さ
れたなら、たとえチップ装置が、再ロードのためポート
の1一つが主記憶装置への別個のバスに使われる2ボー
トアレイであったとしても、そのような構成では前記動
作の支援は不可能であった。これは、再ロードでは、セ
ットA、B、C又はDの各々はチップ装置当り1ワード
エ10.即ちセット当り最大2ワードの2チツプ装置に
だけ含まれるという事実に起因する。従って、再ロード
経路幅を拡大する1つの方法は追加のチップ装置を付加
することである。セット当り4つの16チツプ装置の使
用は所望の4ワード再ロード経路を提供する。しかしな
がら、キャッシュ容量が2倍になっても、それに伴って
費用、容器の大きさ及び遅延も増大するので、一般には
許容されない。
基本的な設計上の問題は、システム要求がキャッシュ容
量を増すよりも速い速度で技術進歩がチップ当りのアレ
イビット密度を増すことである。
結局、システム当りのチップ装置数は時が経つにつれて
大幅に減少しており、産業界では多分この傾向が続くで
あろう、従って、 ”次世代”のシステムの設計は一般
に利用可能なチップ装置が少なくなり、再ロード経路が
少なくなるかも知れない。
例えば、前述のキャッシュの次世代の設計の場合。
チップ密度は4倍に増加するのにキャッシュ容量は2倍
に増加するものとすると、必要とされるのは8チツプ装
置ではなく、4チツプ装置だけであるので、該キャッシ
ュ構成は1ワード再ロード経路しか提供せず、はなはだ
望ましくない、もし各チップ装置のI10経路が1ワー
ドから2ワードに増加されていたなら、2ワード再ロー
ド経路が可能となったことは明白である。しかしながら
、これは実現するのに相当な費用を要する。なぜなら、
CPUへは1ワード経路しか要求されないので、最も重
要なパラメータ、即ちキャッシュ帯域幅を無、咽にする
からである。あとでわかるように他の解決方法も可能で
ある。
前述の設計では合計8つのチップ装置があるので、再ロ
ード中に6つのI10ポートが遊休状態である可能性が
ある。もし各セットのワードを各チップ装置に広げるこ
とが可能であったなら、これらは再ロード経路帯域幅を
増やすのに使用可能であった。そうすれば再ロード中、
各チップ装置に1ワードを再ロードすることができ、こ
の場合にはサイクル当り最大8ワードの再ロードが可能
である。しかしながら、この改良は物理アレイ構造への
特殊な論理キャッシュブロック(交換可能単位)のマツ
ピング−ときには”ラテン方陣マツピング″[参照文献
3及び4 ]と呼ばれるーを必要とする。4ウ工イセツ
トアソシアテイブ方式の後選択キャッシュ設計に関する
前述のキャッシュチップ装置を用いるこのマツピングは
4チツプ装置しか必要としない、(適切なインタフェー
スにより追加の4グループをこれらに付加することがで
きる)、典型的なキャッシュに必要な、少数のチップ装
置に結合された適切な再ロードインタフェースの欠如に
より、この比較的複雑なマツピングの要求が生ずる。
一般に、”ラテン方陣マツピングは複数ワードのキャッ
シュ再ロードを行うため下記のように利用される0通常
のアクセス中、各セットからの対 応するワード、例え
ば各セットA、B、C及びDからのワード1から成る合
同クラスをアクセスするために同じアドレスが全てのチ
ップ装置に印加される。従って、これらの4ワードは各
チップ装置で同じアドレスになければならない、ワード
2.3.4等についても同様である。しかしながら。
再ロード中、1ワードだけを各チップ装置に書込むこと
ができ、同じサイクルで、例えばワードA0、A1、A
2及びA3を再ロードすることが望ましい、これが実行
されるのは、第5図に示すように、これらのワードの各
々が異なるチップ装置にある場合だけであることは明白
である。全ての他のグループの4ワードの場合も同様で
ある。
ラテン方陣マツピングはチップ装置での正しいワード配
置を提供するが、再ロード中に2つの間層に出会う、一
つの複雑さは、任意の所与のブロックの連続ワードが各
チップ装置で異なるアドレスに書込まれるので、各チッ
プは異なる(部分的に異なる)アドレスを受取らなけれ
ばならないことである。開始アドレスはどのセットが再
ロードされるかにより異なるので、再ロードのためのア
ドレス指定ロジック及びバスはずっと複雑になる。
更に複雑なのは、主記憶装置からの所与のワード、例え
ばワード1が、再ロードされるセットにより異なるチッ
プ装置に駐在しているため、キャッシュと主記憶装置の
間にリングシフト(rjng−shift)データ位置
整合装置(aligner)を必要とすることである。
もう一つの複雑さは後選択型ロジックで生ずる。任意の
セットのワードが任意のチップ装置に駐在することがあ
るので、正しいチップ装置を使用可能にするためには、
後選択信号は該セットを選択しなければならないだけで
はなく、ラテン方陣マツピングにより適切なワード及び
セットにも整合しなければならない、最後に、各チップ
装置の単一ワードデータ経路I10から生ずる複雑さが
ある6通常のアクセス中、4ワードは組合わされ、CP
Uへの又はCPUからの1ワードになる。再ロードでは
、4ワードは切り離され、各チップ装置への1ワードI
10が許されなければならない、前述の仮定されたチッ
プ装置の場合には、これはある種のオフチップマルチプ
レクサを必要とする。この機能を提供する多くの方法及
び場所があるが、それはどこかになければならない。
もしこの機能が第5図のように別個のチップに入れられ
るなら、余分なチップ交差及びマルチプレクサロジック
遅延が最も重要なアクセス経路に加えられ、すこぶる好
ましくない、理想的には、このマルチプレクサ機能は現
存するチップで実行されるべきであり遅延も互いにオー
バラップされるべきである0本発明により提案された機
能的に統合されるチップ構造はあとでわかるように前記
マルチプレクサ及び遅延をすっかり除去する。
アクセスのためこの構成が必要とする追加回路は全体の
問題のひとつの面に過ぎない、もうひとつの問題はたと
え再ロード帯域幅が改善されていてもなお理想とは程遠
いことである。各チップにはひとつのI10ポートしか
ないので1通常のCPUサイクルの場合でも又は再ロー
ドサイクルの場合でも、各システムクロックで可能なの
はひとつのアクセスだけである。”ミス”とそれに続く
再ロードは一般に”ミス”を生じたワードで開始するー
このワードは直ちにCPUにロードスルーされ、CPU
は処理を再開する。もし次のCPUサイクルがキャッシ
ュアクセスを必要とするなら、センス及び再開始に関す
る適切なロジック制御によりCPU又は再ロードのどち
らかがが待機しなければならない、CPU又は再ロード
待ちのどちらが選択されても、総合的なシステム性能は
低下する。もしストアイン式キャッシュが使用されるな
ら、同じアクセス干渉の問題から性能が更に低下する。
後者は、キャッシュは正しいデータの最新のコピーを含
むので、もしブロックが少しでも変更されていれば、そ
れを主記憶装置に再書込みして初めてキャッシュから除
去しうろことを意味する。高性能システムの場合、スト
アイン式キャッシュは価格性能比のすぐれた設計である
ので、これはアクセス干渉及び性能低下を生ずる機会が
更に多くなる。ラテン方陣マツピング方式のチップを改
良することができる幾つかの方法がある。第1の方法は
キャッシュチップを追加する単純な方法である。
重要な経路の電気的遅延を最小限にすると共にバス伝送
全体を簡略化するために、アレイ設計を妨げずに幾つか
の簡単な機能をキャッシュチップに付加することができ
る。即ちもっばらアレイ境界の周辺に機能が付加される
ので、1ボートアレイ構造はそのままである。チップ装
置の外部境界はCPUへの別個の1ワードバス及び主記
憶装置へのもうひとつの1ワードバスを有するものと仮
定されているが、内部アレイへは1経路しかない。
これはチップ装置にマルチプレクサ機能(第5図のMU
Xブロック)を偏えることにより実現される。更に、″
ロードスルー”経路を設けることにより一層の改良が得
られ、それは全て前記構成の制約の一部を除去するのに
役立つ、記憶アレイ自身は1ボート設計のままであるの
で、これは費用を最小にするとともにビット密度を最大
にする。
これを達成するのに必要な小量の多重化は大きな困難を
伴わずにチップに含ませることができる。
このようなチップ装置の機能的な構造を第1図(この説
明ではストアバック(Store Back)バッファ
を無視する)に示す、正しいアドレスをチップに提供す
るのに必要な前述のリングシフト位置整合装置はチップ
にはないが主記憶装置インタフェースの一部であること
は注目すべきである。更に、もしロードスルーバッファ
(LTB)も第1図に示すように付加されれば、ある限
られた場合には更に改善が得られる0例えば、もしワー
ドAOの”読取り”アクセスが”ミス”を生じても各チ
ップがロードスルーバッファを有するなら、4ワードA
O1A1、A2及びA3がアレイ及びバッファの双方に
ロードされる。従って、これらのワードは次のサイクル
でこれらのバッファから得られる。4ワードは各サイク
ル毎に再ロードされるので、4ワードの最初のグループ
だけがロードスルーバッファにロードされ、次に再ロー
ドするワードはアレイにしか行かない。
もしこれらの最初の4ワードを識別するのに十分なロジ
ックが含まれているなら、それらはどれも必要に応じロ
ードスルー経路を介してCPUにロードスルーすること
ができる。ワードAOをロードスルーしたあとの次のサ
イクルで、もしCPUがワードA1、A2ないしはA3
をアクセスすれば、次の4ワードのグループを主記憶装
置からキャッシュに再ロードするのを干渉することなく
適切なチップのロードスルーバッファからそれを取出す
ことができる。もちろん、もしCPUがこれらのワード
のどれかを書込むか又はもしアクセスされるワードがロ
ードスルーバッファのどれかひとつ以外にあるなら、干
渉が生ずる。前記ロードスルーバッファは、順次的な傾
向がある命令取出しに役立つ、データ取出しはランダム
に行われる傾向があるので、ロードスルーバッファの価
値もいくらかは制限される。順次命令取出しの場合でさ
えも、ロードスルーバッファは必ずしも再ロードとCP
Uアクセスの間の干渉を除去しない。
例えば、″ミス”を生ずるワードがA3であると仮定す
る0次の再ロードはAO5A1、A2及びA3をロード
スルーバッファに入れる。続いて起こる命令取出しが次
にA4をアクセスする。A4はロードスルーバッファに
はないので次の再ロードサイクルを待ち、アレイ自身を
アクセスしなければならない0次のA5の命令取出しは
このワードがロードスルーバッファにはない、よって干
渉が生じる。
もちろん、このケースで次に再ロードする4ワードのセ
ットをロードスルーバッファにラッチするのに複雑なロ
ジックが用いられることがあるが。
費用が高い上に効果が小さい9機能的に統合された本発
明のキャッシュはあとで分かるようにかなり改良された
設計である。いずれにしても、もし部分的にロードされ
たブロックのアクセスが可能なら、どのワードがアクセ
ス可能であるかを知るためにCPUのロジックにワード
有効フラグが必要となる。
前述の説明から、キャッシュと主記憶装置の間のインタ
フェースはキャッシュとCPUの間の場合とは全く異な
ることが分かる。これらの2つのインタフェースは異な
るアドレスで作動する2つのバスにより最高に満足され
るので、アレイの同時2つのランダムアクセスを許容す
る真に2ボートのアレイを用いるのが適切なようである
。これは可能であるが、これは、ある問題については必
要とする以上のものを提供するが、全ての問題を解決す
るのには十分ではないことが分かる。換言すれば、それ
は費用効率の改善に関する限り理想的な解決ではない。
次に、1つのポートが再ロードのため主記憶装置をイン
タフェースし、他のポートが通常のアクセスのためCP
Uをインタフェースする2ポートチツプを用いて第6図
に示すように構成されたキャッシュについて説明する。
再ロードの場合、別個のリングシフト位置整合装置及び
シフトロジックと、チップ装置毎にアドレスロジックを
有する別個のアドレスバスはそれでも前と同様にしばし
ば要求される。各I10ボートは別個にアドレス入力を
有するので、CPUアドレスは全てのチップ装置に1バ
スずつ分けることができる。
2つのポートはデータバスに別個のマルチプレクサを必
要とせず、それらはセル及び別個のワード/ビット線及
び復号器から成る更に複雑な構成に組込まれる。どのワ
ードが再ロードされているかを明確にするためもしロジ
ックがCPUに保持されるなら、いったんワードがロー
ドされたのちは、ランダムアクセスがCPUポートを介
して使用可能となるのでロードスルーバッファはもはや
必要としない、しかしながら、たとえ2ポートアレイが
用いられても、ロードスルー経路はなお必要とすること
がある。なぜなら、もし書込み及び同時読取りが同じセ
ルには許可されない、即ち同じワードを同時に読み書き
しないなら、2ポー1〜セル設計がかなり簡単になるか
らである。もしこれが該当するなら、別のロードスルー
経路が要求されるか、もしくはCPUが再開始可能にな
る前に余分の遅延サイクルに出会う。
更に、2つのポートのアドレスを比較しアクセスを許可
するロジックはCPUで行われなければならず、キャッ
シュは従属装置であるので、もし不適切に使用されれば
誤りを生ずる。前述のように再ロード時間に付加された
変更ブロックのストアバックは2ボート楕成の場合にも
異なるところはない、2ポ一トセル/アレイ設計自体は
追加のドライバ、復号器及び他の必要なロジックを含ま
ずに、1ポート設計よりも概ね30〜50%多くの領域
を使用し低速であるので、莫大な費用を支払っても、そ
の見返りに得るものは非常に少ない。
従って、このタイプの2ボートキヤツシユ設計はよい選
択ではないことは明白である。
参照文献リスI・ ■、マチイック (Matick)、 R,コンピュー
タ記憶システム及び技術(Computer Stor
age System andTechnology)
、ジョン・ウィリー&サンズ (JohnWiley 
and 5ons)、 NY、 1977゜2、マチイ
ック (Matick)、 R,E、及びり、T、リン
グ(Ling)、マイクロプロセッサ設計上のアーキテ
クチャの意義 (Architecture impl
ication inしhe design of m
1croprocessors)、 IBMシステムズ
ジャーナル(IBM Systems Journal
)、 Vol。
23、 No、3.1984年、 pp、264−28
0 (第6図)。
3、マン (Mann) Il、 B、、試験の分析と
設計(Analysis and Design of
 Experiments)、  ドーパ−出版社 (
Dover Publications)、ニューヨー
ク  (New  york)、  1949  年 
4、シャオ(Hsiao)、 M、 Y、、 D、ボッ
セン(Bossen)及びR,T、チェノ (Chie
n)、直交ラテン方陣コード (Orthogonal
 Latin 5quare Codes )、IBM
研究開発ジャーナル(IBM Jor、 Re5ear
ch andDevelop+++ent)、1970
年 7月、pp、390−394゜5、シュスタ (S
chuster)、 S、、外、15ナノ秒(ns)C
MO5・64に−RAM (A 1.5−ns CMO
564KRAM)jEEE、固体回路に関する議事録(
Journal of 5olidState Cjr
cuits)、Vol、 5C−21,No、 5.1
986年。
pp、704−711゜ 6、フィアー (Fier)、 D、外、 36/72
b−CMOSマイクロメインフレームチップセット(A
 36/72b CMO3Micro−mainfra
me Chip 5et)jEEE国際固体回路会議0
nternational 5oljd 5tate 
 C1rcuitsConference)、 198
6年2月、技術報告書の要録(Digest of T
echnical Papers)、p、26゜7、ア
ルパー(Alper)、D、、 D、カーベリー(Ca
rberry)M、ヤマムラ (Yamamura)、
 Y、チョウ (Chow)、 P。
マツグ (Mak)、 32ビツトプロセツサチツプに
よる主要システム機能の統合 (32Bit Proc
essorChip Integrates Majo
r System Functions)、エレクトロ
ニクス (Electronics)、 1983年7
月14日、pp、 113−11.9゜ 8、渡辺 (Watanabe)、 T、、 8にバイ
ト知能キャッシュ記憶装置(An 8K byte I
ntel]igent CacheMemory)、 
IEEE国際固体回路会議(Internationa
lSolid 5tate C1rcuits Con
ference)、 1987年 2月、技術報告書の
要録(Digest of TechnicalPap
ers)、p、266゜ 9、アルシン (Alsing)、 C,、外、マイク
ロコンピュータは本体のシューズを満たす(Minic
onputerFills Mainframe’s 
5hoes)、エレクトロニクス(Electroni
cs)、1980年 5月22日、  pp、  13
0−137゜10、マットソン (Mattson)、
 R,ゲセイ (Gecsei)。
スルフ (Slutz)、及びトライジャー (Tra
iger)。
記憶階層の評価技術(Evaluation Tech
niquefor Storage Hierarch
y)、 IBMシステムズジャーナル(IBM Sys
tems Journal)、 Vol、9. No、
2゜1970年、 p、 78゜ C6発明が解決しようとする課題 種々のキャッシュ遅延/干渉問題を解決するために試み
られた現在よく知られている全てのキャッシュ構造は概
略上記のようないくつかの欠点を持っていることは前述
の説明で明らかである0本発明により提供されるのは、
記憶セル設計自体をあまり妨げずに、キャッシュ記憶装
置を有するチップに、重要な機能を直接搭載することが
できるキャッシュ構造である。このような設計は当然か
なり改善された再ロード機能ならびにストアバック機能
を与える。
本発明の主たる目的は総合キャッシュアクセス時間を十
分に改善する機能的なキャッシュチップ構造を提供する
ことである。
09課題を解決するための手段 本発明に従って、もし適切に統合されたキャッシュチッ
プが用いられるなら、キャッシュはシステムの性能を制
限する要素とはならないことが分かっている0本発明に
よって提供される主要な機能の改善は大別して2種類あ
る。第1は通常の読取り/書込み機能で、高速の、”後
選択”構成又は直列アクセスモード−両者は任意の程度
のセットアソシアティビティを提供され、事実上の1サ
イクル書込み動作を成し遂げることができる−でチップ
が使用されるのを許す、第2の機能は(アクセス”ミス
”による)キャッシュ再ロードに関係し、スタティック
RAMチップにうまく統合された幾つかの従属機能を提
供する。これらの従属機能は、特にストアイン式キャッ
シュ構成の場合に、再ロード時間をかなり減少させる。
本発明によるキャッシュチップ構成は”後選択”キャッ
シュの設計を可能にし、再ロードのためキャッシュアレ
イチップにキャッシュ再ロードバッファ、ストアパック
バッファ、及びロードスルー機能を設け、更に事実上の
1サイクル書込み動作を成し遂げるための遅延書込みイ
ネーブル機能を組込むことにより、はぼ透明な、複数ワ
ードの再ロードを成し遂げる比較的簡単な方法を提供す
る。
更に、1つはキャッシュアクセス用、他の1つはキャッ
シュ再ロード用の2つの別個の復号器が提供され、アク
セス又は再ロードに必要な異なるアドレス指定モードな
いしはアクセスモードを可能にする。
E、実施例 本発明に従って、総合的な性能最適化を提供しつつI1
0ピン数を最小にするために幾つかのキー +ffi能
がキャッシュアレイチップ上に置かれる。
これらの特殊な機能はキャッシュ再ロードバッファ(C
RB)、ストアパックバッファ(SBB)、ロードスル
ーバッファ(LTB)及び遅延書込みイネーブル機能を
含む。
キャッシュ再ロードバッファはCPUが再ロードと同時
にキャッシュをアクセスすることを可能にするのに用い
られ、多数の異なるアクセスシーケンスに役立つことが
ある1例えば、キャッシュ”ミス”が生ずる毎にロード
スルーを用いる(命令とデータを組合せた)代表的な単
一のキャッシュシステムにおいて、再ロード中のキャッ
シュアクセスのシーケンスは下記のように、幾つかの可
能な経路をとることができる。
経路1:キャッシュ”ミス”は命令に関するものであり
、4ワードが再ロードプロセスの最初の部分でロードス
ルーされるものと仮定する。′ミス′。
を生じた命令は再ロードが完了する直前に復号される。
この命令はキャッシュアクセスを伴わないレジスタ命令
であったり、ロード、記憶ないしは分岐(ブランチ)命
令であったりすることがある。
もしそれがロード又は記憶なら、このキャッシュ参照が
成る別のブロック(データブロック)に対するものであ
り、現在再ロードされているブロックではない確率は極
めて高い(100%に近い)。
もし該参照が分岐なら、平均して分岐目標はおおよそ6
バイト離れている一多くはずっと長いけれども−ので、
同じブロックにある確率は高い。
よって、ある分岐は作業セットの同じブロックに、ある
分岐は異なるブロックに対するものである。
最初の”ミス゛を生じたブロック入口点はどこ−たとえ
ブロックの最後の命令−でもよいので。
同じ参照ブロック対人なる参照ブロックの比率は動的に
大きく変る。これは、例えば、入口点が前の分岐の目標
であり、たまたまブロック境界がちょうどそこに置かれ
る場合にあてはまる。
もちろん、最初にロードスルーされた命令は、キャッシ
ュを参照しないレジスタ対レジスタ命令のこともある。
そして第2、第3・・・の命令が続く、ロードスルーさ
れた全ての命令はキャッシュをアクセスしない前記経路
をたどるか、又は同じブロック若しくは異なるブロック
をアクセスする。いずれにせよ、もし最初の”ミス”に
よる再ロードが完了する前に最初にロードスルーされた
命令が全て実行されるか5又はその代りに、1命令だけ
はロードスルーされるが分岐出力は生じないなら9次の
命令を取得するために再ロード中のブロックのアクセス
が必要である。
経路2:最初のキャッシュ ”ミス”はデータ、即ちロ
ード又は記憶に関するものと仮定する。″ミス”された
ワードだけがロードスルーされる。なぜならCPUには
他のデータワードの宛先がないからである。しかし、こ
れはミスしたブロックアドレスと同じか又は異なる次の
キャッシュブロックアドレスにとってはあまり重要では
ない、CPUはロード/記憶”ミス”が生じたとき既に
キャッシュに駐在している、ある命令ブロックからの命
令を実行している0次の可能なキャッシュアクセスは同
じ再ロードデータブロックにあるデータ;異なるデータ
ブロック;実行中の同じ命令プロッり;分岐ないしはブ
ロック境界交差による異なる命令ブロックに対するもの
である。
前記経路はどちらも、典型的な場合について。
キャッシュ”ミス”と再ロードが進行中であってロード
スルーができるだけ速く実行を再開するために使われる
ときは必ず、再ロードの完了前に。
続いて同じ及び異なるキャッシュブロックへのアクセス
が要求される確率が高いことを表わす、従って、もし再
ロードプロセスが非常に高速であり且つ透明であるよう
に見せることが望ましいなら、再ロードが進行している
間に、キャッシュ内のブロック−再ロード中のブロック
とは異なる−を同時に参照できると共に、任意のワード
境界で、再ロード中の同じブロックを参照できることが
望ましい、同じブロックと異なるブロックの参照の比率
は動的に大きく異なるので、最大の性能を得るためには
、どちらの場合も許可することが望ましい。
ストアパックバッファはストアイン式キャッシュでは特
に役立つ一時バッファであり、変更されているキャッシ
ュブロックを置換する速度を上げるのに使用される。キ
ャッシュ”ミス”が起こり。
除去すべきブロックが変更されているときは必ず。
このブロックは唯一の有効なコピーであるから。
主記憶装置に再書込みされなければならない、キャッシ
ュブロックの約30%が変更されている。
もし古いブロックが書戻され次いで新しいブロックが再
ロードされるまでCPUが待機することが要求されるな
ら、かなりの時間遅延が生ずる。これは、新しいブロッ
クについて主記憶装置がアクセスされている間に該変更
された古いブロックをストアパックバッファに書込み、
そのあと、新しいブロックが再ロードされるまで待機し
てから主記憶装置に書戻すことにより改善される。それ
には、記憶装置アレイにインタフェースされるが。
そこからの分離及び独立したアンロードが可能な。
うまく統合された特別設定のSBBを必要とする。
ロードスルー機能は再ロードプロセスの速度を更に上げ
る。複数ワード再ロードが用いられると、キャッシュ”
ミス”を生じたワードは他のワードと一緒に最初にアク
セスされキャッシュチップに渡される。キャッシュチッ
プは”ミス”を生じたワードを選択し、別個の内部経路
でCPUデータバスに直接波して処理の続行を許す、も
しキャッシュ再ロードバッファが含まれないなら、後続
のワードも同じ理由でプロセッサにロードスルーするこ
とができる。しかしながら1本発明の良好な実施例では
、各サイクルで複数ワードが主記憶装置からキャッシュ
に再ロードされるのに対し、CPUには1ワードしかロ
ードスルーされない、従って、ロードスルー経路に加え
て、後続の計算機サイクルで”ロードスルー”する余分
なワードを保持する一時バッファの追加を必要とする。
良好な実施例では、より一般的なタイプのロードスルー
バッファとなるキャッシュ再ロードバッファが含まれる
が、それでも別個のロードスルー経路及び制御は必要で
ある。
後選択キャッシュの遅延書込みイネーブル機能は、1サ
イクル読取り動作に対応する1サイクル書込み動作をな
しとげるのを可能にする。これは。
既存のスタティックキャッシュチップが使用可能であり
、アレイないしは既存の回路を再設計せず単にチップの
周辺に所要の機能を付加することを願う場合に特に望ま
しい。
・・ ζ      し   マ ・・    ゝ高速
を実現するために、第2図に関連して先に説明したタイ
プの後選択キャッシュが使用される。
しかしながら、″ミス”に際し実際のキャッシュ再ロー
ド時間を少なくする試みは一般に複雑なアドレス指定及
び多重化機能並びに他の問題を生ずる。
先に示したようなラテン方陣マツピングの使用によりい
くらかの改善を得ることができる。しかしながら、それ
でもかなりの論理的並びにハードウェアの複雑さを必要
とし、追加チップの交差経路遅延を持込むので、高速性
能のための理想的な構成ではない。
好ましくない再ロード経路遅延を最小にし最高に統合さ
れた機能性を実現するためには、キャッシュアレイは特
別な方法でマツピングされなければならない、第5図の
論理物理マツピングの適当な変更、及びキャッシュチッ
プ上に適切な周辺回路を導入することにより、ラテン方
陣マツピングの複雑さ及び遅延を伴わずに後選択構成及
び複数ワード再ロードに適当な、理想的に統合されたシ
ステムを得ることができる。このマツピングはその使用
に関連して図示説明する。最初に、第5図のラテン方陣
マツピングを必要とした第1図の、簡単な1通常のRA
Mチップについて再考察し。
幾つかの任意の段階でチップに機能を付加する。
本発明の良好な実施例である最後のバージョン(第14
図)は機能的に統合されたチップを実現するため新しい
マツピング及び全ての前述の機能を用いる。これらの機
能の各々は互いに独立しているので単独ないしは他の機
能と組合せて使用できる。チップに付加された全ての望
ましい機能は新しいマツピングを必要とせず、実際に第
4図の”ラテン方陣”マツピングとともに使用すること
ができるが、そのときオフチップシフト及びアドレッシ
ング機能を必要とする。それにもかかわらず、今日使用
されているようなキャッシュシステムから開始し、もし
希望するなら、統合された機能性を少しずつ付加するこ
とができる。
第1図はストアパックバッファ及びロードスルーバッフ
ァが付加され、第5図に示すラテン方陣マツピングを使
用するように構成されている典型的なキャッシュチップ
の概要図を示す、このマツピング(図示せず)は第5図
の再ロード機能がオフチップで実行されることを必要と
する。
この場合のアドレス仕様−通常のアクセスと。
第5図の論理物理マツピングを有する”後選択”キャッ
シュ構成の倍ワード再ロードとをどちらも可能にする−
が第7図に示されている。変換機構(TLB及びキャッ
シュブイレフj・す)をアクセスするためのアドレス仕
様、及びロードスルーバッファも示されている。ストア
パックアレイのアンローディングは極めて簡単な方法で
実行され、キャッシュアレイのアクセスから完全に独立
している。第7A図〜第7C図の比較的複雑なアドレス
指定方式に較べて、第14図に示すような本発明の最後
の良好な実施例は大幅に簡素化されている。それは偶数
/奇数アドレスに基づいて制御信号を検出し生成しなく
てもよく、更に、さもなければ再ロード、シフト、等に
必要な複雑な回路も除去される。これは次の説明から明
白である。
第1図の構成は標準スタティックRAM (例えば、参
照文献5の15nS−0MO8・64K・RAM)をベ
ースとするアレイにより開始することができる。典型的
なスタティックアレイは太い破線内に示す機能を含む、
全ての他の必要な機能は本質的に基本RAMアレイ枯造
を殆ど、ないしは全く変更せずにチップの周辺に付加す
ることができる。これは、チップ全体を設計又は再設計
しなくてもよいから極めて望ましく費用効率がよい。
付加される機能は:3状態ドライバ上の後選択イネーブ
ル;必要なら、関連する復号機能(復号を必要とするか
しないかはアレイ構造による)を持つストアパックバッ
ファ;ロードスルーバッファ;2 ”) (7) ? 
/L’チプレクサ1MUXIN及びMUXOUT、ない
しは同等の機能を持つ他のゲート配列;並びに遅延書込
みイネーブル機能である。ストアパックバッファ機能は
既存の回路を横切って既存のビット/センス線を、アレ
イの周辺にス1〜ラップすることにより得られる。そこ
では、追加のセンス増幅。
ラッチ及び、もし必要なら、復号も実行することができ
る。実際のストアパックバッファは記憶装置アレイ領域
から趙れた位置の多重ピットレジスタを用いることが可
能である。
ロードスルーバッファは単に入力イネーブル信号を持つ
32ビツトのマスタ/スレーブレジスタである。2つの
マルチプレクサは図示のように2人力(7) 1−) 
(M口XIN)、又は3人力の1−+  (MUXOU
T)の入力選択信号を持つ標準タイプのAND−OR選
択ゲートを用いることができる。
遅延書込みイネーブルは1サイクル書込み機能を提供す
るもので、下記の理由により必要とされる。典型的なス
タティックFET−RAMは高速化のためにプリチャー
ジ式センス回路を用いる。
記憶サイクルは、いったん開始されると、完了するまで
進行し、続いて次のサイクルのためプリチャージされる
。よって、 ”チップ選択”イネーブルパルスの始めに
”書込み”を開始すべきかどうかを識別しなければなら
ない、データイントライバはセルの状態を切換えること
ができないから、アレイをアクセスしく読取り)、次に
サイクルの終りで正しいワードを駆動してアレイに入れ
ることは通常は不可能である。しかしながら、通常の読
取り動作を実行する1サイクル、2ウ工イセツトアソシ
アテイブ方式の後選択型キャッシュの場合には、変換サ
イクルの始めに、各セットから1つずつの、2つの可能
なワードを読取ることが極めて望ましい0通常の書込み
動作の場合には、サイクルの終りの近くで後選択信号が
2つのセットAまたはBのどちらが正しいかを示したと
きデータを駆動して正しいワードに入れることが望まし
い。
この”遅延書込み“機能は下記のように達成することが
できる。信号Wが有効になることによって書込みが示さ
れると、アレイへの実際の内部チップ選択信号、 CS
 (データインバッファの活動を制御する)は後選択信
号が有効になるまで遅延される(注; MUXINへの
Elは遅延しなくてもよい、例えばドントケアである)
、全てのアドレス及びデータ線は、ずっと前にピンの位
置で有効になっているであろう(これらの有効化も遅延
ないしはスタガ(stagger)することができ、両
者は■10ピンの過剰な同時切換えから生ずる“△工”
雑音を少なくする)、従って、この機能の完了に必要な
唯一の時間はデータを1康動してアレイに入れるのに必
要な時間である。
前記スタティックRAMの場合、書込みは読取りよりも
速く、書込みに使用可能な時間−一通常の読取り動作が
データをチップからC1? Uの方ヘゲートし、リング
シフトし且つレジスタファイルにラッチするのに要する
時間−もかなりある。
後者は一般にデータを駆動してアレイに入れるのに要す
る時間よりもずっと長く、よって遅延書込みは魅力のあ
るアプローチである0時間の制約が厳しい大型のシステ
ムには、ワードの復号と変換時間のオーバラップを考慮
し、内部のチップ選択信号によりワード線ドライバをイ
ネーブルできるものがあるが、これは通常の復号−ワー
ド駆動回路の変更を必要とする。これは必要なら可能で
ある。
後書込み機能を達成する代替方法は、たとえnワードが
読取られセンスされていても、それらのうちのどれか1
つが、後選択信号により該サイクルの後の方で選択され
た場合に、オーバドライブされて記憶装置アレイのセル
の状態を変更することができるように、入力データバソ
ファをスタティック回路に再設計することである。どの
ような機能及び事象のシーケンスが必要かがわかると、
全体のチップ設計及び刻時(clocking)の詳細
しだいで任意数の前記回路が当業者により可能になる。
CMO5技術から作られたスタティックRAMの場合、
前記”遅延書込み”機能は回避することができるが、ビ
ット/センス線回路の事実上の再設計−望ましくない−
を必要とする。セルの状態を切換えるためビット/セン
入線をオーバドライブするのに充分な能力以上のものを
持つ純粋のスタティック(プリチャージを用いない)デ
ータインバッファが使用可能である。それゆえ、読取り
後の後書込みを直に得ることができる。そのような場合
、後選択信号は、遅延書込みイネーブル回路に印加され
る代りに、信号Wにより書込みサイクルが指定される毎
に、適切に、MUXIN又はデータインバッファへのイ
ネーブル信号として直に用いられる。
マルチプレクサ (阿UXIN及びMUXOUT)並び
に3状態ドライバへの他のイネーブル信号も示される。
データがMUXOUTを通る毎に、3状態ドライバが使
用可能にされなければならない、従ってMUXOUTへ
のイネーブル信号E1、El及びE3はこれらのドライ
バへのイネーブル信号としてOR結合される。
データが主記憶装置からキャッシュに再ロードされてい
るときは必ず、MUXINへのイネーブル信号E2は、
ロードスルーバッファへのイネーブル!、、T B 、
及びMuxour ヘ(7) (異なる時刻の) El
、E3と同様に外部からチップに供給される。前者、即
ちMUXJNへのElは、再ロード−書込みサイクルで
ORIを介して内部チップ選択信号C3iにもなる。
本ス乏ニブ了ロー゛?− 第8図のチップは前記機能を全て可能にし、更に、第5
図及び第7A図のマツピングとは異なるマツピングを用
いてオンチップ再ロードシフト機能を提供する。このマ
ツピングは第9図に示す。
このマツピングは第5図または第7C図のようにチップ
上の垂直な列(column)でのセットのマツピング
というよりもむしろ水平である。第7C図の左チップの
上部の部分、即ちA偶数ワード、及び第7C図の右チッ
プの上部の部分、即ちB偶数ワードはどちらも第9図の
左チップに示す位置の1チツプにマツピングされる。同
様に、B奇数ワード及びA奇数ワードは図示のように右
チップにマツピングされる。偶数ワードだけが左チップ
に行き、奇数ワードだけが右チップに行くから、(第5
図に示すような)主記憶装置からのワードのシフ1−は
必要としない、読取りの場合には、アレイは各アイラン
ドからの1ワードが”読取られ”、それらの独立したデ
ータアウトバッファにラッチされる。書込みの場合には
、遅延書込みイネーブル信号が有効になった後、最初の
ステップは各アイランドから1ワードの読取りを試みる
ことになっているが、データインバッファは内部信号の
1つ、左アイランドイネーブルELI、又は右アイラン
ドイネーブルEIIIにより、アイランドの1つを重ね
書きし新しいデータインを強制する。他のアイランドは
データアウトバッファへの通常の読取り動作を実行する
だけであるが、データには何も起こらない、即ち3状態
ドライバはイネーブルされない。
これらの動作は種々の方法で達成することができる0例
えば、もし左右のアイランドの再ロードイネーブル信号
が外部から別々のピンに供給されるなら、チップは第8
図に示すようになる。再ロード及び通常の書込みの両方
のアイランドイネーブルを達成するための1つの回路が
第10図に(1ビツトだけ)示される。同じ機能を実行
できる他の回路があるが、その選択は基本となる特定の
アレイ及び許容される再設計の量による。いずれにせよ
、この構成ではどの時点でも1つのアイランドしか書込
まれないから、32のデータインバッファを1組設けて
おけばよく、該バッファは図示の2つのアイランドに共
用される。外部からのアイランド再ロードイネーブル信
号、すなわち右アイランド再ロードRRI及び左アイラ
ンド再ロードRLI (第8図)は、MUXINの経路
2からのデータを用いて適切なアイランドへの書込み動
作が実行されることになっていることを示す、よってM
UXINのElは1通常の書込み及び再ロード双方に使
用されるERI又はELIと同様に、有効にされなけれ
ばならない、再ロード中は、アドレス変換は必要としな
いので遅延書込み動作も必要としない、例えば、アドレ
スはサイクルの始めに既知であり使用可能である。
通常の書込み、再ロード及び通常の読取りの所要の論理
動作は第8図のチップの場合には下記のようになる: 正副班1話): チップビンの初期状態 外部のチップ選択CS =有効 書込み=有効 アドレス線=後選択信号の前に有効 CPUからのデータイン=後選択信号の前に有効 旧JXINへのデータ経路1がドントケアのElによっ
てイネーブルされる可能性があることを除くと、左後選
択LSL又は右後選択LSRがサイクルの中程で有効に
なるまで、チップ上ではどのような動作も生じない、 
LSL又はLSRが有効になると、内部チップ選択信号
C5iは有効になり、 ELI又はERIも有効になる
匪ユニ下 再ロード中、変換を待ってから書込み動作を開始する必
要はない6従って、4つの内部信号、C5i、肛XIN
へのイネーブルE2、左又は右のアイランド選択のため
のイネーブルELI又はE[を供給するため外部信号の
左/右アイランド再ロードがチップ選択と組合せて直に
用いられる。
通」Lカ」1取」1 後選択キャッシュを読取る場合、アレイは変換プロセス
と並行してアクセスされる。各アイランドから1つずつ
計2ワードはC5本読取り信号が有効になると直ちにア
クセスされる。これらの2つのワードは2つのデータア
ウトバッファにラッチされる。後選択信号LSR及びL
SLの1つが有効になる毎に、MUXOUTへの対応す
るEl又はElは有効となり、これらのワードの1つを
3状態ドライバを介してCPUバスに接続する。
内部信号のおのおのは論理的に下記により構成される: ELI= (書込み)本C5*LSL (通常の書込み
遅延)+RLI        (再ロード、遅延なし
)ERI= (書込み)宰C5*LSR(通常の書込み
遅延)+RRI        (再ロード、遅延なし
)csi=cs*(書込み)*(LSL+LSR) (
通常の書込み遅延)+05本(読取り)  (通2;1
゛の読取り、遅延なし)+csネ(f?RI+Rt4)
   (再ロード、遅延なし)El(MUXIN)=C
3*(RItI+RLI)   (再ロードノミ)El
 (MUXIN)=C5*(書込ミ)*(LSI+LS
L)(通常の書込み遅延) オプションのEl(MUXIN) =(書込ミ)(遅延
なし、ドントケア) El (MIJXOUT)=(読取り)*LSI?(左
アイランド後選択)El(MUXOUT)=(読取り)
社S1.(右アイランド後選択)註:*=論理AND;
+=論理on MUXOUTへのイネーブルE3及びE4はロードスル
ー制御の一部であり、外部から供給される。
第8図に前記ロジック関係を示す、キャッシュ動作は一
度に1つしが実行できないから、外部信号の左/右アイ
ランド再ロードRIJ/l’?[が2つのアイランド後
選択信号LSL/LSRと同時に有効になることは決し
てあり得ない、それゆえ、右アイランド再ロードと右後
選択を1本のピンに結合することができ、同様に左アイ
ランド再ロードと左後選択を1本のピンに結合すること
ができる。これは2本のピンを除去するが、新しいピン
”再ロード−書込み”が必要となり、正味1本のピンが
節約される。所要の内部信号を生成するためのロジック
は第11図に示すように実現される。ロジックゲート数
の相違は1本のピンを節約するほかは意味がない、2つ
の方法のどちらを選択するかはCPUによるこれらの外
部制御の生成に左右される。
この融通性に富む第8図のチップの場合、各アイランド
は、図示のように、ストアバックアレイへの別個のデー
タ経路を持たなければならない。
これはチップに追加回路を付加するが、第1図のチップ
に必要とされた複雑な1時間のかかる。オフチップシフ
トを除去する。最終的な結果はシステム性能のかなりの
改善及びシステム全体の望ましくない”グルー(glu
e)”チップの除去である。
ストアバックアレイを主記憶装置にアンロードするのに
必要なロジック制御は簡単であるので図示しない。
第8図に組込まれた本発明のバージョンは良好なマツピ
ング及び所望のオンチップ機能の幾つかを含むが、1つ
の重大な制約を有する。即ち、再ロードを実行する際に
、もし情報がロードスルーバッファ内にあるなら、CP
Uは該再ロード中はキャッシュからの情報しか取得でき
ない、前にアレイにロードされたブロックからの情報、
又はロードスルーバッファにはない再ロードデータの要
求は、該再ロードが終了するまで待機しなければならな
い、この状況は、前述のように、起きることがあり、プ
ロセッササイクルを、特に命令当りの平均サイクル数が
減少すると、非常に無駄にすることがある。
第8図のチップ装置に簡単なキャッシュ再ロードバッフ
ァ CRBを付加することにより、再ロードプロセスを
ほぼ透明にすることができる。この状態は2ワード再ロ
ード経路について第12図に示すが、もっと大きい経路
も可能である1例えば、もし主記憶装置と各キャッシュ
チップ装置の間のバス幅が72ビツト (パリティを有
する8バイト)であれば、チップ上での適切な復号によ
り各サイクルで2つの偶数ワードを左チップに、2つの
奇数ワードを右チップに再ロードすることができる。
他の経路も可能である。第8図及び第12図に示す各チ
ップ装置は、各チップの密度及びモジュール性により、
バンク即ちチップのグループとすることができる3例え
ば、もしチップがCPUに対しては18ビツトバス、主
記憶装置に対しては18ビツトバスだけを有するなら、
2つの左チップ及び2つの右チップが必要になる。
再ロード中、主記憶装置から入ってくるデータは、ブロ
ック全体が再ロードされるまで、キャッシュ再ロードバ
ッファに入れられる。この再ロードが終了したのち、1
サイクルでブロック全体をキャッシュアレイに書込むこ
とができる。その間に、再ロードが進行しているうちに
、CPUはアレイの前にロードされたブロック、又はロ
ードスルーバッファに再ロードされたデータをアクセス
することができる。 CRBにはあるがロードスルーバ
ッファにはない再ロードデータは再ロードが終了するま
では、アクセスすることができない(これはあとで説明
する第14図のバージョンで変更される)。
この簡単なキャッシュ再ロードバッファに必要な外部制
御及びオンチップ機能は第13図(第13A図及び第1
3B図)に、示す、”ミス”が生ずると、 ”ミス”を
生じたワードのアドレスは再ロードアドレスレジスタ 
RARにラッチされ、再ロードラッチが有効にセットさ
れる(後者は不可欠ではないが、必要に応じて外部的に
設けることができる)、再ロードは”ミス”を生じたワ
ード対で始まる。主記憶装置の記憶制御装置SCUから
データが供給される毎に、データ有効信号DVは有効と
なる。これは復号器RLに再ロードアドレスレジスタ 
RARの下位のアドレスビットを復号させ、入ってくる
データをCRB内の適切なワード位置に入れる。またD
V倍信号、後続するあるサイクルでの次の再ロードワー
ド対のため、 RARアドレスを次の順次ワードに向け
て1だけ増分させる。再ロードワード対の間を任意のサ
イクル数が経過することができ、システムは自動的にそ
れに適応する。このプロセスは全てのデータがCRBに
再ロードされるまで続く、その時点で、CRBからアレ
イへの書戻しを可能にするように1キヤツシユサイクル
がスチール(5teal)されなければならない。
再ロードが進行している間に、プロセッサは読取り又は
書込みを要求することができる。チップはアクセスがア
レイに対するものか再ロードブロックに対するものかを
決定する。この実施例の場合、もしアクセスがアレイに
対するものなら、後選択信号が有効になると、チップは
アレイを読取りCPUバスにデータをダンプする;もし
アクセスが書込み動作であったなら、後選択信号が有効
になると、アレイデータはCPUバスからのデータによ
り重ね書きされる。もしチップがアクセスは再ロードブ
ロックに対するものであると決定すれば、アクセスは不
可能となり待ち例外検査(Wait−Exceptio
n−Check)サイクルWEC信号が出される。アク
セスがアレイに対するものかCRBに対するものかを決
定するために、再ロードブロックのアドレス及びセット
IOは現在のアクセスのアドレス及びセットIDと比較
されなければならない。
第13図(第13A図及び第13B図)は再ロードブロ
ックのアドレスがチップの再ロードアドレスレジスタ 
RARに記憶され、このレジスタの内容が入ってくるア
ドレスと比較される場合の実施例を示す、再ロードブロ
ックとアクセスされたブロックのセット IDも比較さ
れなければならない。
理想的には、再ロードブロックのセットIDもRARと
いっしょにチップに記憶され、このレジスタと入ってく
るセットIO(第8図の後選択信号LSR。
LSL)のもうひとつの比較も行われる。これは第13
図のチップには図示されない、この比較は再ロードアド
レスの比較と同様にチップ上で行われることが望ましい
が、チップ外でも構わない、それは速度対オンチップ機
能増加の技術上のトレードオフである。これらのオプシ
ョンが利用可能であることを示すために、セットID比
較はオフチップで実行され、その結果は第13A図に示
す”セラ)ID一致”信号としてオンチップに戻される
ものと仮定する。再ロード中にブロックアドレス又はセ
ットIDのどちらかの不一致信号は第13A図の”通常
アクセスイネーブル”信号を生じ、アレイからのデータ
の読取り又は書込みが行われる。どちらが一致してもア
クセスが開始されるのを禁じ、WEC信号はキャッシュ
制御装置に返送される。これはたとえ所望のデータがロ
ードスルーバッファにあっても起こる1本実施例では、
キャッシュ制御装置は情報がロードスルーバッファにあ
るかどうかを識別し正しいワードをアクセスする制御信
号を送らなければならない。
より広く役立つキャッシュ再ロードバッファ構造を実現
することができる。これはロードスルーバッファを必要
とせず、キャッシュチップへの追加機能の導入を犠牲に
して制御の一部を簡略化する。前述の完全に機能的なC
RBを有する良好な実施例を第14図に示す、2ウ工イ
セツトアソシアテイブ方式の後選択構成が、ちょうど前
述のように、チップ当り、B ビット/ブロックのキャ
ラシュー主記憶装置再ロードブロックの大きさ、主記憶
装置への32ビツトデータ経路及びCPUへの32ビツ
ト経路とともに示される。
この構成では、オンチップ制御はチップへのアクセスを
調べ、内部的に活動の推移を決定する。
もし要求が読取りなら、チップはデータがアレイにある
か、又はそれがCRBにおける有効なデータかを決定す
る。もしどちらかが真なら、その記憶位置が取出され、
データは外部からの制御を必要とせずにCPUデータバ
スに乗せられる。もし要求が再ロードブロックに対する
ものであるがワードはまだ再ロードされてはいなければ
、チップは”待ち例外検査サイクル”信号WECを出し
、キャッシュ制御装置は要求を再び出すか又は打ち切ら
なければならない、もし要求が書込みなら、チップはデ
ータがアレイにあるかCRBにあるかを再度決定する。
もしアレイにあるなら、ワードは重ね書きされる。もし
書込みが既にCRBに再ロードされた有効なワードに関
するものなら、そのワードは重ね書きされる。もしこの
ワードがまだCr1Bに再ロードされていなければ、W
EC信号はチップにより有効にセットされ、制御装置は
再び書込み要求を出すか又は打ち切らなければならない
、チップは次の要求を同じように扱う−それは”再試行
”機能を持たないが、スレーブであるから、制御ピンに
現われる要求はなんでも実行する。
要求がアレイに対するものかCRBに対するものかを決
定し、もし後者なら読取り又は書込みのだめCRBをア
クセスするオンチップロジックを第15図に示す、ワー
ド有効フラグW は再ロードが開始される毎に0にリセ
ットされ、対応するワード又は複数ワードが主記憶装置
から再ロードされると1にセットされる。記憶制御装置
からのデータ有効信号DVはこのセツティングを可能に
し、更に再ロードアドレスレジスタ (RAR)の適切
な下位アドレスビットを増分する。 RARは再ロード
時に”ミス”を生じたワードのアドレスにより初期設定
され5従って正しいワード境界でロードを開始するよう
にセットされるーこのアドレスは”ミス”を生じたワー
ドのロードスルーを実行するのにも用いられる。セット
ID比較は、前述のように、オフチップから来るものと
仮定する。
ロードスルー経路及びストアパックバッファの制御のよ
うな追加制御そのものは、それらを実現するのに使用さ
れる実際のチップのモジュール性及びパラメータによっ
て異なるがそれらは簡単であり当業者には明白であるか
ら、説明を簡素化するためにもその詳細は図示しない。
第16図(第16A図及び第16B図)の流れ図は第1
4図、第15図及び第18図(第18A図及び第18B
図)に示すような本発明の良好な実施例の動作を示す、
第14図、第15図及び第18図に開示されたチップの
機能が与えられると、オンチップキャッシュの種々のア
ドレスの復号及びアレイのアクセスは完全にオンチップ
で実行される。しかしながら、種々のコマンド信号及び
アレイのアドレスは、第14図、715図及び第18図
に明白に示すように、通常のオフチップキャッシュ制御
装置から来なければならない、実際に、第18図は第1
4図、第15図の主要な機能構成要素を単一の図面に組
合せたものである。もちろん、第14図の実施例は2ウ
ェイセットアソシアティブ方式キャッシュを示し、第1
8図は4ウ工イセツトアソシアテイブ方式キャッシュを
示す。
第16図で、シーケンスを開始するには、最初に記憶制
御装置からの(システムアレイの)チップ選択線が有効
にならなければならない、最初の動作シーケンスの説明
は読取り又は書込みのどちらかのCPUインタフェース
についてである。このシーケンスを開始するため、ブロ
ック10でアクセスがアレイに対するものか又はCRB
に対するものかを調べる検査が行われる。この検査は比
較装置で行われ、要求されているアドレスは再ロートア
ドレスレジスタのアドレス−現にCRBに記憶された(
又は記憶すべき)アドレスを指す−と比較される。もし
一致しないなら、システムはブロック12に進む、もし
一致するなら、システムはブロック18に進む、ブロッ
ク12で、アレイは指定された行(row)のアドレス
でアクセスされ、セットの各々にあるアドレス指定され
たワードが、図示のように、アレイの最下部のデータイ
ン/アウトバッファに入れられる。各ブロックの特定の
ワードはアレイの最下部で復号器に供給されたビットア
ドレスを介してアクセスされる。これは第18図のチッ
プ装置アレイの最下部の復号器の上部部分−各セットか
らの32ビツトの選択が実行される−に明白に示される
。もちろん。
”ヒツト”はキャッシュディレクトリの探索から決定さ
れるものとすると、次に読取り又は書込み動作のどちら
かが実行される。 ”ヒツト”決定の結果はセットの1
つからの特定の論理ワードを選択させる。セット選択機
能は後選択信号−アクセスされたワードのどちらをアレ
イから読取り又はアレイに書込みすることになっている
かを示す−に構築される。
ブロック14で、もし”読取り”信号が有効なら、後選
択信号はデータイン/アウトバッファに記憶されたワー
ドの1つをCPUに転送する。
もし”書込み”信号が有効なら、後書込みイネーブル信
号により選択されたアレイ中の適切なワードへの(第1
4図に示すような)イン/アウトマルチプレクサ(MI
X lN10UT)を介して、ワードはチップアレイに
入れられる。
ブロック16で、もしキャッシュ制御装置からの後選択
信号が有効ではないなら、それ以上は何も起こらず、チ
ップはキャッシュ制御装置から次のコマンドを受取るま
で待機する。これはキャッシュ”ミス”が生じている場
合の状況であり、その時点で、キャッシュ制御装置は”
ミス“シーケンスを開始し、該シーケンスは適切なアル
ゴリズムによりどのセットを交換すべきかを決定し、も
し必要なら、現にキャッシュにあるそのセットをストア
パックバッファを介して主記憶装置に書戻し、且つキャ
ッシュ再ロードバッファを介して主記憶装置からキャッ
シュに新しいデータをロードすることなどを含む。
ブロック18はアクセスすべき特定のワードが現にCR
Bに記憶されていることを表わす、完全なブロックがC
RBに記憶されると仮定されるから。
特定のワードは全体のアドレスの適切なビットを復号す
ることにより指示されなければならない。
しかしながら、当業者には理解されているように、任意
の所与の時刻に、システムは先ず、データの一貫性を保
証するため新しいデータが記憶装置からアクセスされC
R[lに記憶されているかどうかを゛決定しなければな
らない、これは本システムではCRBのワード毎に、V
FRに記憶されているワードフラグWiをセットするこ
とによりなし遂げられる。ゆえに、アドレスにより指定
された特定のワードフラグが有効にならなければ、CR
Ilにあるワードをアクセスす゛ることかできない、も
し適切なワードフラグが有効で且つ”読取り”信号が有
効なら、第14図で、適切なワードがCRBからCRB
 MUXOUT及びアレイMIX lN10U丁を介し
てcPUバスニ送られる。
もし”書込み”動作がCRBで実行されることになって
いるなら、再び適切なワードフラグが有効でなければな
らない、 ′書込み”線が有効になると、第14図に示
すように、CPUバスからアレイ MIX lN10U
Tを介して新しいワードのデータを受取り重ね書きMI
Xを介してCRBに入れる。第18図では、”読取り”
動作及び”書込み”動作はチツブ装置アレイの右に示す
CRBデータMIJXを利用する。
もちろん、アクセス中の特定のワードはその適切なワー
ドフラグが有効にセットされたものと仮定して、前記動
作はCRBアクセスサイクルを完了する。しかしながら
、もし所望のワードフラグが無効であったなら、所望の
ワードが主記憶装置からCRBにまだロードされていな
かったことを表わす待ち例外検査(WEC)がシステム
制御によりキャッシュ制御装置に送られ(第15A図)
、記憶装置アクセスは所定のサイクル数のあいだ”待ち
”状態に入り、そのあと要求されたデータは前のように
成功するまでアクセスされる。第18図で、この信号は
CRB制御ブロックから出る”例外”信号として示され
る。
次に説明する動作はキャッシュの再ロードを含む、これ
は最初にキャッシュにある変更されたブロックの現デー
タをストアバックバッファ(SBB)を介して主記憶装
置に書戻し、次にキャッシュ再ロードバッファ(CRP
、)を先ず再ロードしてからCRBからのデータをキャ
ッシュに転送することを必要とする。これらの機能はブ
ロック24.26.28及び30を介してそれぞれなし
遂げられる。
キャッシュ ”ミス”が起きたとき、もし置換えられた
ブロックが変更されているなら、結帰ム5BB(ストア
バックバッファロード)′aは有効になる。
この信号は上部の復号/選択復号器をイネーブルし、選
択されたセットからのデータの完全なブロックはストア
バックバッファに転送される。もちろん、特定のセット
は後選択信号自身により選択される。 SBB ilJ
御がらのストアバックカウンタもセットされる。これは
第14図には図示されないが第18図に図示され、5!
1Bからのデータの主記憶装置への順次転送を制御する
のに用いられる。第14図の実施例で分がるように、主
記憶装置バスは32ビツト幅でデータブロックは256
ビツ1−であるから、SBBにある全256ビツトを主
記憶装置に転送するシこは8サイクルが必要である。同
様に。
第18図の実施例では、主記憶装置バスは64ビツト幅
で示されているから、4サイクルしか必要としない、こ
れでブロック24の手順を終る。
次に、58Bの内容が主記憶装置に書込まれなければな
らない、これはブロック26で実行される。
このブロックを開始するには、USBB信号が有効でな
ければならない、これが生ずると、 SBBはアクセス
され、適切なワード、例えば、第14図では32ビット
;第18図では64ビツトが主記憶装置に送られ、そこ
でオフキャッシュ記憶制御により選択されたアドレスに
適切に記憶される。更に、SBBカウンタが増分され、
SBBに記憶されたブロックを構成するワードの全てが
主記憶装置に適切に転送されるまで、第2、第3、第4
1等のストアバックサイクルがあとに続く、これが生ず
ると、適切な記憶制御は手順が終了したことを示す。
次に生ずるのは、新しいデータブロックが主記憶装置か
らCRBにロードされる動作でなければならない、′再
ロード”信号が有効であって”DV″(データ有効)信
号も有効であるときは、第1のワードは主記憶装置から
CRBに送られ、対応するワードフラグνiは有効にセ
ットされ、RARカウンタは増分されるので、再ロード
ブロックを構成する次のワードをCRB中の適当なワー
ド位置に入れられるようになる。このカウンタは第14
図にはCRB制御にあるようには特に示されないが、第
18図には示される。このカウンタはストアバックカウ
ンタとほぼ同じように作動し、主記憶装置バスに順次に
現われた32又は64ビツトをCRBにある適切なワー
ド位置に記憶させる。この動作は完全なブロックが再ロ
ードされるまで続けられ。
その時点で手順は終了する。
最後の動作はCR[lの内容をアレイに、そして置換ア
ルゴリズムによって決定されるような適切なセットに転
送することである。ブロック30はこの動作を示す、も
しtlcRB”信号が有効なら、CRBMUXOUTは
CRBにあるデータを並列に、例えば、全256ビツト
をアレイの上部の復号器を介し且つ後選択線上のセット
信号によって決定されるようなアレイ内の適切なセット
に転送させる。第18図で、 CRBの直ぐ下の3状態
出カはIJcRB”信号によって励起される。 CRB
からアレイを再ロードする動作は1記憶サイクルで実行
される2例えば、置換される特定のセット内のデータブ
ロックを構成する全256ビツトがアレイ内の適切なセ
ットに送り込まれる。
上記はシステムの動作の高いレベルの機能の説明であり
、第14図、第15図及び第18図に示すあらゆる個々
の機能装置を詳細に記述するものではないが、それらの
動作は当業者には周知であり明白であるので、全ての機
能の詳細な説明は不要であろう。
第17図は本発明で使用する良好なアレイをマツピング
する記憶マツピング図である0図のマツピングは1例え
ば、第18図の実施例で利用される4つのセットについ
て示しているが、マツピングは、第14図の実施例の場
合のような、セットA及びセットBだけを含むアレイに
も等しくうまく適用される。第14図の実施例では、セ
ットAは左アイランドにありセットBは右アイランドに
ある0図示のように、同じ合同クラスにマツピングする
指示されたセットの完全なブロックのワードの全ては単
一の行にある。従って、所与のキャッシュアクセスでは
1通常のアクセスであっても再ロードアクセスであって
も、第14図及び第18図の双方においてアレイの側面
の復号器により概略示すように行アドレスが処理される
。最終的な選択はアレイの下部及び上部の復号器により
それぞれ行われる。CPUとインタフェースするアレイ
の下部での復号ないしは選択は2段階で実行される:最
初は正しくアドレス指定された各セットからのワードが
最初の段階で選択され1次にセット選択が後選択イネー
ブル信号によって実行されて、所望のセットの所望の3
2ビツトワードを、書込みサイクルでアレイに送るが又
は読取リサイクルでCPUに送る。これは第18図にき
わめて明白に図示されている。
同様に、上部の復号器はアドレス指定された4つのアレ
イの1つにある特定のデータブロックを構成するワード
の全てを選択し、 SBB/CRB/アレイデータバス
にそれらを送り込む、当業者には理解されているように
、この最後の選択はアレイの上部及び下部に接続されて
いるような概略図示された特別のI10バッファに関連
した適切に統合されたビット線復号器を介して行われる
。更に、これらの復号器の′双方はアレイの上部又は下
部のどちらかに置くことができ、必要なことは各々がア
レイから来るセンス線(例えば、第18図の実施例では
1024本)の全てに並列に接続され、通常の読取り/
書込みアクセスであっても再ロードであっても供給され
た特定のアドレス及び実行中の機能によって指定される
特定の復号器及びバッファでこれらの線が選択されるこ
とだけである。
前述のように、第18図は第14図及び第15図に示す
良好な実施例の変形の高レベル機能ブロック図である。
それは本質的にはこれらの2つの図に示す単一チップ構
造に取付けられた主要な機能素子の連結である。第15
図に示す詳細な論理回路は当業者には明白なことと思す
れるので(第18図には)含まれていない、オンチップ
キャッシュアレイは2ウエイセツトアソシアテイブに代
えて4ウ工イセツトアソシアテイブ方式で示されている
。実際のチップ装置アレイも第14図の場合のような2
つのアイランドに代えて単一のブロックで示されている
0図の種々のデータ経路に隣接する数字は関連するバス
に現われるビット数を表わす0機能装置ないしはブロッ
クは全て簡略名。
例えば、CRB、SBB、 RAR,等により明示され
ている。
主記憶装置データバス及びCPU/キャッシュデータバ
スはアレイ、ストアパックバッファ及びキャッシュ再ロ
ードバッファを相互接続する内部のデータバスと同様に
明示されている。
第18図の完全なキャッシュチップ構造の動作は、もち
ろん、2ウ工イセツトアソシアテイブ方式に代えて4ウ
工イセツトアソシアテイブ方式のキャッシュが記述され
るほかは第14図及び第15図で説明した動作と同じで
ある。ストアバックカウンタ及び再ロードカウンタの動
作は第16図の流れ図に関連して前に説明されている。
第18図の実施例は256にビットのチップ装置(32
にバイト)を含み、64バイトのキャッシュブロック(
ビット8O−BS)を使用する 64にバイト (前記
チップを2つ必要とする)4ウ工イセツトアソシアテイ
ブ方式の後選択キャッシュ構造の全アドレッシングビッ
トとともに示されている。完全な64にバイトアレイの
フルアドレスは16ビツト幅であり、ワード即ち行選択
を与える8ビットAO−A7と、上部及び下部の復号器
を適切にアクセスするのに利用される 6ビツトBO−
BSとを含む、最後に、適切なセットを選択する2つの
セットアソシアティブビットが含まれているが、これら
のビットはキャッシュ制御回路でオフチップで処理され
るので図示されず、セット選択は、前述のように、再ロ
ードなしニジは通常のアクセスの合同クラスから適切な
セットを選択する後選択信号を介して行われる。CPU
の論理ワードは32ビツトである。
再ロード経路はチップ当り8バイト、又は、もし前記チ
ップ装置が2つ使用されるなら 16ノベイトである。
もし図示のものとは異なる幅を有するチップ装置が使用
されるなら他の構成も起こりうる。
当業者には明らかなように、所望の記憶幅を構成するに
は、適切な数の前記チップ装置が並列に使用される。し
かしながら、図示のような重要な制御構成は全て個々の
チップ装置に設置される。
2つの比較ブロックCOMPI及び(、OMP2−その
1つは再ロードアドレスレジスタと現アクセスサイクル
の内容を比較し他の1つは現セットIDとの一致を決定
する−もオンチップで示されている。
しかしながら、どちらか一方又は両者はワードフラグレ
ジスタ (VFR)と同様にチップの最も重要な構造を
変えずにオフチップにすることができる。
第15図には、 RAIIの現在の内容を比較する比較
器が示されている。
下記の表1は第1図に示す最も低いレベルのキャッシュ
改善から始まり第14図の良好な実施例の最も改善され
た最大限の特徴のバージョンに至る種々の実施例の特性
の一覧表である。
本発明は漸進的に複雑化された幾つかの実施例、例えば
、第1図、第8図、第12図、第14図及び第18図に
関連して説明されているけれども。
本発明の精神及び範囲から逸脱することなくシステム構
造全体に更にそれ以上の変更を加えること表1 も容易にできる。
例えば、良好なチップ装置構成で、再ロード経路で最大
の並行性を与えるために4つのセットの各々から少なく
とも1つの完全ブロックを単一の行アドレスに駐在させ
ることが要求される。これは、5rlBはキャッシュア
レイから1サイクルでロードされ、且つCRBはアレイ
に1サイクルでアンロードされるという仕様から生ずる
。一般にこれらの動作の各々には2サイクル以上の遊休
サイクルがあるから、この制約は2ないし3サイクルで
SBBをアレイからロードし、CRBをアレイにアンロ
ードするように条件付けることにより和らげることがで
きる0例えば、もし2サイクルがこの動作のために選択
されれば、各セットからの完全な1ブロツクが2つの行
アドレスに駐在することができる。こ九は僅かな量のオ
ンチップ制御を付加するだけで、総合的なキャッシュ仕
様に更に柔軟性を与える。
第18図に関連して前に言及したように、より大きい所
望の記憶サイズを実現するためキャッシュ全体は複数の
前記チップ装置から構築することができる。もちろん、
基本的なオンチップアーキテクチャは前記実施例と同じ
であり、唯一の相違は、当業者には理解されているよう
に、異なるアドレスのサブセットが全体のキャッシュ制
御装置から異なるチップに供給されることである。
級で 本発明についての以上の説明はキャッシュシステムが2
つの異なるモード−通常のアクセス及び再ロード−で動
作することを明らかにしている0通常のアクセスでは、
典型的な高性能プロセッサは連続的にプロセッササイク
ル当り1ワードと2ワードの間の平均速度を要求するこ
とがある。
アクセス”ミス”が生ずる毎にシステム帯域幅の要求は
、理想的には1主記憶装置サイクルでロードされるべき
(ブロックサイズに等しい)複数ワードの単一バースト
となり、これはランダムな間隔でたまに起きる。あいに
く5後者の要求は実現するのが非常に困難であり費用が
かかる。その結果、実際のシステムでは性能が低下する
。これは再ロードの不利点を減する種々のキャッシュ構
成が試みられることになる0以上の長い説明のように、
普通のスタティックRAMチップはキャッシュアレイに
おいて通常のアクセスのために最適化されるが、再ロー
ド経路にかなりの複雑さを生ずる。
この複雑さは再ロードのため実行する必要がある種々の
機能の間で幾つかの形をとる0本明細書に記載されたオ
ンチップキャッシュ構造はアレイ/チップ設計とシステ
ム全体の機能要求の間の最適のトレードオフを表わす構
造を含む、この構造におけるチップの賢明な構成により
、再ロードプロセスの大部分は1記憶サイクルで生ずる
ことが明白にされ、しかもなお、セットアソシアティブ
方式のキャッシュ構成を可能にする。内部アレイは1ボ
ートセル設計のみを必要とし、キャッシュブロックの物
理的アレイへのマツピングの適切な選択により追加の機
能は容易に統合される。従って、その最も広い概念で、
本発明は2つの別個の復号機能−1つは主記憶装置イン
タフェースに対するもの、1つはCPUインタフェース
に対するもので、本明細書で開示された新しいマツピン
グと共にかなり改善されたキャッシュ記憶性能を提供す
る−を有する単一ボートキャッシュ記憶装置アレイ構造
を開示する。
F0発明の効果 本発明に従って提供される機能的なキャッシュチップ構
造によって再ロード及びストアバック機能が改善され総
合キャッシュアクセス時間が改善される。
【図面の簡単な説明】
一第1図はキャッシュ使用に関する本発明に従って構築
された、再ロードシフト機能もキャッシュ再ロードバッ
ファも持たない改良されたスタティックRAMチップの
データフローを示す高レベル機能ブロック図、 第2図はCPUと後選択4ウエイセツトアソシアテイブ
方式キャッシュ記憶装置の間のアドレス及びデータフロ
ー経路を示す高レベルデータフロー及び機能ブロック図
、 第3図はサイクル毎にNワードを(キャッシュに)再ロ
ードするための主記憶装置−キャッシュ間データ経路を
示す高レベルデータフロー及び機能ブロック図、 第4図は単一ポートチップ装置を用いて構成された、セ
ット当り2チツプ装置を必要とする2ワード再ロード経
路を有する後選択4ウエイセツトアソシアテイブ方式キ
ャッシュのための主記憶装置−キャッシュ間のデータ経
路を示す高レベルデータフロー及び機能ブロック図。 第5図は改善されたキャッシュ再ロード機能を4ワード
の主記憶装置−キャッシュ間データ経路を介して成し遂
げる ”ラテン方陣”マツピングを用いる4ウ工イセツ
トアソシアテイブ方式キャッシュのための主記憶装置/
CPU−キャッシュ間データ経路を示す高レベルデータ
フロー及び機能ブロック図、 第6図は各ポートに単一ワード/チップアクセス、及び
”ラテン方陣”マツピングを介する4ワード再ロードア
クセスを有する真の2ポートギャッシュアレイを用いる
後選択4ウエイセツトアソシアテイブ方式キャッシュの
ための主記憶装置−キャッシュ間のデータ経路を示す高
レベルデータフロー及び機能ブロック図、 第7図は第7A図〜第7C図の配列図、第7A図〜第7
C図は代表的なキャッシュサブシステムのアドレス指定
及び生成を示すブロック図。 第8図はオンチップ再ロード−シフト機能、左/右アイ
ランド再ロード信号、並びに外部的に別個のピンに供給
される左/右後選択信号を有するキャッシュチップを示
す、本発明に従って構築された第1図に類似の高レベル
機能ブロック図。 第9図は第7図に示すようにキャッシュチップ上で行わ
れる再ロードシフトの場合のキャッシュ再ロード経路図
、 第10図は2つのアイランドのどちらかに対するデータ
インバッファの1セツトの多重化を含む。 オンチップ再ロード−シフトの簡単な回路を示す機能ブ
ロック及び論理回路図、 第11図は後選択の右/左ピンと再ロードの右/左ピン
を結合するための回路の論理回路図、第12図はオンチ
ップ再ロード−シフト、別個のロードスルーバッファが
増設されたストアパックバッファ及び簡単なキャッシュ
再ロードバッファのために変更されたマツピングを用い
る、本発明を更に変更したチップ組成及び構造を示す、
第1図及び第8図に類似の機能ブロック図、第13図は
第13A図及び第13B図の配列図、第13A図及び第
13B図はキャッシュにおける異なるブロックに同時に
再ロードしアクセスすることを可能にする、第11図の
構成の1チツプキヤツシユ再ロードバツフア制御の機能
ブロック図。 第14図はオンチップ再ロード、ストアパックバッファ
及び完全に機能的なキャッシュ再ロードバッファのため
に変更されたマツピングを用いる1チツプキヤツシユの
組成及び構造を示す、第1図、第8図及び第12図に類
似の、本発明の良好な実施例を示す機能ブロック図、 第15図は第15A図及び第15B図の配列図。 第15A図及び第15B図はキャッシュにおける同じブ
ロックないしは異なるブロックに同時に再ロードアクセ
スすることを可能にする。第14図に示すキャッシュ再
ロードバッファ制御の機能ブロック図、 第16図は第16A図及び第16B図の配列図、第16
A図及び第16B図は第14図、第18A図に示す本発
明の良好な実施例の変更されたキャッシュアレイの動作
シーケンスを示す高レベル流れ図。 第17図は4セツトの各々からのデータの完全な1ブロ
ツクが単一の行アドレスに駐在するチップ装置記憶アレ
イマツピングを示す図。 第18図は第18A図及び第18B図の配列図、第18
A図及び第18B図は第14図、第15図に示す本発明
の良好な実施例から少し変化した。 単一形態に主機能装置、データ経路及び制御素子を含む
ブロック図である。 CRB・・・・キャッシュ再ロードバッファ、LTB 
゛・・ロードスルーバッファ、 SBB・・・・ストア
パックバッファ、 RAR・・・・再ロードアドレスレ
ジスタ。 SCU・・・・記憶制御装置、TLB・・・・変換ルッ
クアサイドバッファ。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人  弁理士  頓  宮  孝  −(外1名) ′第 3 口 AV−ッーンユ ¥、5回 詳      V 9央≧         扇 終了 笛160 劣188 図

Claims (1)

  1. 【特許請求の範囲】 nウェイ・セットアソシアティブ方式のキャッシュアレ
    イと、 前記キャッシュアレイに接続され、CPUによる通常の
    読取り又は書込みを行うための第1復号手段と、 前記キャッシュアレイに接続され、主記憶装置との間で
    複数ワードのデータブロックを転送するための第2復号
    手段と、 前記データブロックを保持するためのバッファ手段と、 を具備するキャッシュメモリサブシステム。
JP63319665A 1988-02-22 1988-12-20 キヤツシユメモリサブシステム Expired - Lifetime JPH0668737B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US158964 1988-02-22
US07/158,964 US4905188A (en) 1988-02-22 1988-02-22 Functional cache memory chip architecture for improved cache access

Publications (2)

Publication Number Publication Date
JPH01251247A true JPH01251247A (ja) 1989-10-06
JPH0668737B2 JPH0668737B2 (ja) 1994-08-31

Family

ID=22570497

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63319665A Expired - Lifetime JPH0668737B2 (ja) 1988-02-22 1988-12-20 キヤツシユメモリサブシステム

Country Status (3)

Country Link
US (1) US4905188A (ja)
EP (1) EP0330007A3 (ja)
JP (1) JPH0668737B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0272453A (ja) * 1988-06-27 1990-03-12 Digital Equip Corp <Dec> 共有メモリ及び私用キャッシュメモリを有するマルチプロセッサコンピュータシステム

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5553262B1 (en) * 1988-01-21 1999-07-06 Mitsubishi Electric Corp Memory apparatus and method capable of setting attribute of information to be cached
JP2965987B2 (ja) * 1988-02-22 1999-10-18 株式会社日立製作所 データ処理システム
US5175826A (en) * 1988-05-26 1992-12-29 Ibm Corporation Delayed cache write enable circuit for a dual bus microcomputer system with an 80386 and 82385
US5073969A (en) * 1988-08-01 1991-12-17 Intel Corporation Microprocessor bus interface unit which changes scheduled data transfer indications upon sensing change in enable signals before receiving ready signal
JP2523814B2 (ja) * 1988-09-20 1996-08-14 富士通株式会社 ム―ブアウト・システム
KR900008516A (ko) * 1988-11-01 1990-06-04 미다 가쓰시게 버퍼 기억장치
US5202969A (en) * 1988-11-01 1993-04-13 Hitachi, Ltd. Single-chip-cache-buffer for selectively writing write-back and exclusively writing data-block portions to main-memory based upon indication of bits and bit-strings respectively
US5371874A (en) * 1989-01-27 1994-12-06 Digital Equipment Corporation Write-read/write-pass memory subsystem cycle
JP3038781B2 (ja) * 1989-04-21 2000-05-08 日本電気株式会社 メモリアクセス制御回路
GB9008145D0 (en) * 1989-05-31 1990-06-06 Ibm Microcomputer system employing address offset mechanism to increase the supported cache memory capacity
US5091851A (en) * 1989-07-19 1992-02-25 Hewlett-Packard Company Fast multiple-word accesses from a multi-way set-associative cache memory
JPH0786848B2 (ja) * 1989-11-01 1995-09-20 三菱電機株式会社 キャッシュメモリ
JPH03189845A (ja) * 1989-12-13 1991-08-19 Internatl Business Mach Corp <Ibm> 階層メモリ・システムおよびキヤツシユ・メモリ・サブシステム
JPH04140892A (ja) * 1990-02-05 1992-05-14 Internatl Business Mach Corp <Ibm> 制御データをエンコードする装置及び方法
US5230068A (en) * 1990-02-26 1993-07-20 Nexgen Microsystems Cache memory system for dynamically altering single cache memory line as either branch target entry or pre-fetch instruction queue based upon instruction sequence
US5197144A (en) * 1990-02-26 1993-03-23 Motorola, Inc. Data processor for reloading deferred pushes in a copy-back data cache
US5257360A (en) * 1990-03-23 1993-10-26 Advanced Micro Devices,Inc. Re-configurable block length cache
GB2246001B (en) * 1990-04-11 1994-06-15 Digital Equipment Corp Array architecture for high speed cache memory
JP2862948B2 (ja) * 1990-04-13 1999-03-03 三菱電機株式会社 半導体記憶装置
US5838946A (en) * 1990-04-14 1998-11-17 Sun Microsystems, Inc. Method and apparatus for accomplishing processor read of selected information through a cache memory
US5235697A (en) * 1990-06-29 1993-08-10 Digital Equipment Set prediction cache memory system using bits of the main memory address
CA2043493C (en) * 1990-10-05 1997-04-01 Ricky C. Hetherington Hierarchical integrated circuit cache memory
JP2646854B2 (ja) * 1990-12-18 1997-08-27 三菱電機株式会社 マイクロプロセッサ
US5278987A (en) * 1991-03-05 1994-01-11 Franklin Chiang Virtual pocket sorting
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
GB2260628A (en) * 1991-10-11 1993-04-21 Intel Corp Line buffer for cache memory
EP0552426A1 (en) * 1992-01-24 1993-07-28 International Business Machines Corporation Multilevel memory system
US5423016A (en) * 1992-02-24 1995-06-06 Unisys Corporation Block buffer for instruction/operand caches
US5388072A (en) * 1992-04-10 1995-02-07 International Business Machines Corporation Bit line switch array for electronic computer memory
EP0567707A1 (en) * 1992-04-30 1993-11-03 International Business Machines Corporation Implementation of column redundancy in a cache memory architecture
US5247577A (en) * 1992-05-13 1993-09-21 Intel Corporation Methods and apparatus for securely enabling features in highly integrated electronic circuits
US5459842A (en) * 1992-06-26 1995-10-17 International Business Machines Corporation System for combining data from multiple CPU write requests via buffers and using read-modify-write operation to write the combined data to the memory
US5809531A (en) * 1992-09-21 1998-09-15 Intel Corporation Computer system for executing programs using an internal cache without accessing external RAM
US5465342A (en) * 1992-12-22 1995-11-07 International Business Machines Corporation Dynamically adaptive set associativity for cache memories
JPH0756815A (ja) * 1993-07-28 1995-03-03 Internatl Business Mach Corp <Ibm> キャッシュ動作方法及びキャッシュ
US5671372A (en) * 1993-09-30 1997-09-23 International Business Machines Corporation Data processing system with microprocessor/cache chip set directly coupled to memory bus of narrower data width
JP3169155B2 (ja) * 1993-12-22 2001-05-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 情報をキャッシュするための回路
US5526510A (en) * 1994-02-28 1996-06-11 Intel Corporation Method and apparatus for implementing a single clock cycle line replacement in a data cache unit
US5805855A (en) * 1994-10-05 1998-09-08 International Business Machines Corporation Data cache array having multiple content addressable fields per cache line
US5572736A (en) * 1995-03-31 1996-11-05 International Business Machines Corporation Method and apparatus for reducing bus noise and power consumption
US6006310A (en) * 1995-09-20 1999-12-21 Micron Electronics, Inc. Single memory device that functions as a multi-way set associative cache memory
US5897651A (en) * 1995-11-13 1999-04-27 International Business Machines Corporation Information handling system including a direct access set associative cache and method for accessing same
US5724533A (en) * 1995-11-17 1998-03-03 Unisys Corporation High performance instruction data path
DE69713400T2 (de) * 1996-01-24 2002-10-31 Sun Microsystems, Inc. Prozessor mit Bereichsüberprüfung bei Matrixzugriffen
US5867699A (en) * 1996-07-25 1999-02-02 Unisys Corporation Instruction flow control for an instruction processor
US5895487A (en) * 1996-11-13 1999-04-20 International Business Machines Corporation Integrated processing and L2 DRAM cache
US5796972A (en) * 1997-01-14 1998-08-18 Unisys Corporation Method and apparatus for performing microcode paging during instruction execution in an instruction processor
US5909698A (en) * 1997-03-17 1999-06-01 International Business Machines Corporation Cache block store instruction operations where cache coherency is achieved without writing all the way back to main memory
US5909694A (en) * 1997-06-12 1999-06-01 International Business Machines Corporation Multiway associative external microprocessor cache
US6256709B1 (en) 1997-06-26 2001-07-03 Sun Microsystems, Inc. Method for storing data in two-way set associative odd and even banks of a cache memory
US5854761A (en) * 1997-06-26 1998-12-29 Sun Microsystems, Inc. Cache memory array which stores two-way set associative data
US6079002A (en) * 1997-09-23 2000-06-20 International Business Machines Corporation Dynamic expansion of execution pipeline stages
US6240487B1 (en) * 1998-02-18 2001-05-29 International Business Machines Corporation Integrated cache buffers
US6349362B2 (en) 1998-08-31 2002-02-19 International Business Machines Corporation Scheme to partition a large lookaside buffer into an L2 cache array
US6356981B1 (en) 1999-02-12 2002-03-12 International Business Machines Corporation Method and apparatus for preserving data coherency in a double data rate SRAM
US7386671B2 (en) * 2000-06-09 2008-06-10 Texas Instruments Incorporated Smart cache
JP2002055879A (ja) * 2000-08-11 2002-02-20 Univ Hiroshima マルチポートキャッシュメモリ
US20030188105A1 (en) * 2002-01-23 2003-10-02 Arm Limited Management of caches in a data processing apparatus
US6944713B2 (en) * 2002-06-18 2005-09-13 Intel Corporation Low power set associative cache
US20040030835A1 (en) * 2002-08-12 2004-02-12 Van De Waerdt Jan-Willem Efficient cache organization for way-associativity and high refill and copy-back bandwidth
US8397034B1 (en) * 2003-06-27 2013-03-12 Cypress Semiconductor Corporation Multi-port arbitration system and method
US7085887B2 (en) * 2003-08-21 2006-08-01 Hewlett-Packard Development Company, L.P. Processor and processor method of operation
US20050125614A1 (en) * 2003-12-09 2005-06-09 Royer Robert J.Jr. Adaptive layout cache organization to enable optimal cache hardware performance
US7054184B2 (en) * 2004-05-12 2006-05-30 International Business Machines Corporation Cache late select circuit
US7734949B2 (en) * 2006-03-30 2010-06-08 Alcatel Lucent Information error recovery apparatus and methods
US7996620B2 (en) * 2007-09-05 2011-08-09 International Business Machines Corporation High performance pseudo dynamic 36 bit compare
US8245111B2 (en) * 2008-12-09 2012-08-14 Intel Corporation Performing multi-bit error correction on a cache line
JP5493954B2 (ja) 2010-02-10 2014-05-14 富士通株式会社 キャッシュシステム
US10522237B2 (en) * 2015-08-07 2019-12-31 Mentor Graphics Corporation Low power VLSI designs using circuit failure in sequential cells as low voltage check for limit of operation
CN106484682B (zh) 2015-08-25 2019-06-25 阿里巴巴集团控股有限公司 基于统计的机器翻译方法、装置及电子设备
CN106484681B (zh) 2015-08-25 2019-07-09 阿里巴巴集团控股有限公司 一种生成候选译文的方法、装置及电子设备
US10055351B1 (en) * 2016-06-29 2018-08-21 EMC IP Holding Company LLC Low-overhead index for a flash cache
US10331561B1 (en) 2016-06-29 2019-06-25 Emc Corporation Systems and methods for rebuilding a cache index
US10146438B1 (en) 2016-06-29 2018-12-04 EMC IP Holding Company LLC Additive library for data structures in a flash memory
US10089025B1 (en) 2016-06-29 2018-10-02 EMC IP Holding Company LLC Bloom filters in a flash memory
US10037164B1 (en) 2016-06-29 2018-07-31 EMC IP Holding Company LLC Flash interface for processing datasets
CN109983538B (zh) 2016-11-29 2023-06-16 Arm有限公司 存储地址转换
US10831673B2 (en) 2017-11-22 2020-11-10 Arm Limited Memory address translation
US10866904B2 (en) * 2017-11-22 2020-12-15 Arm Limited Data storage for multiple data types
US10929308B2 (en) 2017-11-22 2021-02-23 Arm Limited Performing maintenance operations

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57167187A (en) * 1981-04-07 1982-10-14 Nec Corp Information processor
JPS5850694A (ja) * 1981-09-18 1983-03-25 Fujitsu Ltd バツフア記憶装置におけるリプレイス・ウエイ制御方式

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4156906A (en) * 1977-11-22 1979-05-29 Honeywell Information Systems Inc. Buffer store including control apparatus which facilitates the concurrent processing of a plurality of commands
US4437149A (en) * 1980-11-17 1984-03-13 International Business Machines Corporation Cache memory architecture with decoding
US4490782A (en) * 1981-06-05 1984-12-25 International Business Machines Corporation I/O Storage controller cache system with prefetch determined by requested record's position within data block
US4489378A (en) * 1981-06-05 1984-12-18 International Business Machines Corporation Automatic adjustment of the quantity of prefetch data in a disk cache operation
US4489381A (en) * 1982-08-06 1984-12-18 International Business Machines Corporation Hierarchical memories having two ports at each subordinate memory level
US4577293A (en) * 1984-06-01 1986-03-18 International Business Machines Corporation Distributed, on-chip cache
JPS6272041A (ja) * 1985-09-25 1987-04-02 Nec Corp キヤツシユメモリ制御装置
JPS62145340A (ja) * 1985-12-20 1987-06-29 Toshiba Corp キヤツシユメモリ制御方式
US4811208A (en) * 1986-05-16 1989-03-07 Intel Corporation Stack frame cache on a microprocessor chip

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57167187A (en) * 1981-04-07 1982-10-14 Nec Corp Information processor
JPS5850694A (ja) * 1981-09-18 1983-03-25 Fujitsu Ltd バツフア記憶装置におけるリプレイス・ウエイ制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0272453A (ja) * 1988-06-27 1990-03-12 Digital Equip Corp <Dec> 共有メモリ及び私用キャッシュメモリを有するマルチプロセッサコンピュータシステム

Also Published As

Publication number Publication date
JPH0668737B2 (ja) 1994-08-31
EP0330007A2 (en) 1989-08-30
US4905188A (en) 1990-02-27
EP0330007A3 (en) 1991-09-04

Similar Documents

Publication Publication Date Title
JPH01251247A (ja) キヤツシユメモリサブシステム
KR100281432B1 (ko) 플래쉬 메모리에 기초한 주메모리
JP2505661B2 (ja) 階層集積回路キャッシュメモリ
JP3683739B2 (ja) オーバラップしたl1およびl2メモリ・アクセス方法および装置
KR100454441B1 (ko) 전폭캐쉬를가진집적프로세서/메모리장치
US5043943A (en) Cache memory with a parity write control circuit
US6023746A (en) Dual associative-cache directories allowing simultaneous read operation using two buses with multiplexors, address tags, memory block control signals, single clock cycle operation and error correction
JPH0756815A (ja) キャッシュ動作方法及びキャッシュ
JPH10232837A (ja) 完全統合型キャッシュ・アーキテクチャ
JPS5821353B2 (ja) チヤネル対メモリ書込み装置
US5787489A (en) Synchronous SRAM having pipelined enable
US6453398B1 (en) Multiple access self-testing memory
US20040088603A1 (en) Method and system for absorbing defects in high performance microprocessor with a large n-way set associative cache
US5761714A (en) Single-cycle multi-accessible interleaved cache
US5287512A (en) Computer memory system and method for cleaning data elements
US6240487B1 (en) Integrated cache buffers
JP2716350B2 (ja) 電子データ記憶システム
US6094703A (en) Synchronous SRAM having pipelined memory access enable for a burst of addresses
GB2328298A (en) Cache performance improvement through the use of early select techniques and pipelining
JPH0438014B2 (ja)
US5434990A (en) Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch
US6205514B1 (en) Synchronous SRAM having global write enable
KR100417548B1 (ko) 집적된캐쉬메모리와,디지탈메모리에서메모리소자에데이타를제공하는방법
CN111338987A (zh) 快速无效组相联tlb的方法
JPH04229488A (ja) 仮想マルチポートram構造