JP2553274B2 - 高速データ・アクセス・システム - Google Patents

高速データ・アクセス・システム

Info

Publication number
JP2553274B2
JP2553274B2 JP4029781A JP2978192A JP2553274B2 JP 2553274 B2 JP2553274 B2 JP 2553274B2 JP 4029781 A JP4029781 A JP 4029781A JP 2978192 A JP2978192 A JP 2978192A JP 2553274 B2 JP2553274 B2 JP 2553274B2
Authority
JP
Japan
Prior art keywords
data
processor
memory
buffer
cache
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
Application number
JP4029781A
Other languages
English (en)
Other versions
JPH08202620A (ja
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.)
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 JPH08202620A publication Critical patent/JPH08202620A/ja
Application granted granted Critical
Publication of JP2553274B2 publication Critical patent/JP2553274B2/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/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

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)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般にコンピュータ・シ
ステムに関し、更に詳しくはコンピュータ・プロセッサ
による中間インページ・バッファ及びキャッシュ・メモ
リを介する主メモリからのデータの高速アクセスを扱
う。
【0002】
【従来の技術】コンピュータ・システムはしばしば数メ
ガバイトの記憶容量を有するRAM或いはROMなどの
大容量主メモリを組み込む。こうしたコンピュータ・シ
ステム内のプロセッサのスピードは典型的にはデータが
主メモリからアクセス或いはフェッチされるレートより
も速い。主メモリからのデータのフェッチは比較的遅
い。なぜなら、主メモリが非常に大容量であるために法
外なコストを回避するために、比較的高価でない半導体
技術が使用されているからである。例えば、大容量主メ
モリはダイナミック・ランダム・アクセス・メモリ(D
RAM)技術を利用するが、今日使用可能なより高速で
高価な技術はスタティック・ランダム・アクセス・メモ
リ(SRAM)である。また、利用される技術には関係
なく、大容量メモリをアクセスする際には固有の遅延が
伴う。
【0003】コンピュータ・システムのコストを著しく
アップさせること無くコンピュータ・プロセッサが主メ
モリからデータをアクセスするレートを高速化する1つ
の技術に、主メモリとプロセッサの間にキャッシュ・メ
モリを提供することが上げられる。キャッシュ・メモリ
は比較的低容量のメモリであり、最近の最高速技術(こ
れは記憶単位では主メモリよりも高価である)を利用す
る。また、キャッシュ・メモリと主メモリとの間にも低
容量の高速バッファを設け、データ転送に関与させる場
合もある。
【0004】キャッシュ・メモリは通常プロセッサには
ローカルであり、主メモリの内容の時間的に変化するサ
ブセットを含む。キャッシュ・メモリは局所性の原理か
らその性能を引き出す。この原理に従えば、短時間の内
にプロセッサにより要求されるデータは時間的及び空間
的に集合される傾向がある。換言すれば、近い将来要求
されるデータがプロセッサにより最近使用されたか、或
いはプロセッサにより最近使用されたデータの近傍に配
置された可能性を有する。実際に、キャッシュ・メモリ
は主メモリ内に記憶されるデータの小部分を含み、通常
のシステム状態の下では著しく高速な“ヒット”レート
を有する。従って、何れの時においてもプロセッサによ
り要求される可能性が最も高いデータが一時的にキャッ
シュ・メモリ内に記憶され、キャッシュ・メモリの高速
性はプロセッサのそれと適合する。
【0005】従来技術によれば、プロセッサにより主メ
モリから要求される最も最近のデータが、プロセッサへ
のデータ転送と同時にキャッシュ・メモリ内に記憶され
る。主メモリ内において要求されるデータの近傍に配置
される他のデータもまた、キャッシュ・メモリに転送さ
れる。プロセッサによるこのデータに対する連続的な要
求により、主メモリをアクセスする必要性なしに、高速
キャッシュ・メモリからプロセッサに直接データが転送
される。オペレーション中にプロセッサがデータを要求
すると、別のメモリ内に配置されてキャッシュ・メモリ
と関係するディレクトリが検索される。この検索により
データがキャッシュ・メモリ内に記憶されていると判断
されるとヒットが発生し、データがキャッシュ・メモリ
からプロセッサに1或いは2プロセッサ・サイクルで転
送される。しかし、要求されたデータが現在キャッシュ
・メモリ内に記憶されていない場合は、“ミス”が発生
し、データは他の近接するデータと共に主メモリから検
索される。
【0006】時折、ミスに続いて主メモリからキャッシ
ュ・メモリに転送されるデータ量は1ラインのデータで
あり、これには要求されたデータと同データの近傍に配
置される追加データを含む。キャッシュ・メモリが主メ
モリから1ライン・データをフェッチすると、主メモリ
“ライン・フェッチ”或いは“インページ”オペレーシ
ョンが発生する。プロセッサによる変更の後、キャッシ
ュ・メモリ内に新たなライン・データ用の空間を確保す
るために、1ライン・データがキャッシュ・メモリから
主メモリに戻されると、“ライン・キャストアウト”或
いは“アウトページ”オペレーションが発生する。
【0007】1ライン・データは典型的にはキャッシュ
・メモリと主メモリとの間のバス幅の4−16倍の長さ
を有する。従って、主メモリとキャッシュ・メモリ間の
多重データ転送が1ライン・データを転送するために要
求され、1ライン・データのインページングはバスの制
限により多少の時間を要する。前述のように、従来よ
り、プロセッサにより要求される1ライン内の特定のデ
ータを主メモリからプロセッサに直接転送することが知
られている。その際、プロセッサは完全な1ライン分の
データが最初にキャッシュ・メモリに転送されるのを待
たず、同データ処理を実行できる。この従来システムに
おいては、主メモリからプロセッサへの直接転送の直後
に、このラインの残り部分がキャッシュ・メモリ内にイ
ンページされる。
【0008】Thomas L.Jeremiahによる欧州特許出願第
88110696.7号(公開第304587A2号)
は主メモリからキャッシュ・メモリへのデータのローデ
ィングに割り込むためのシステムについて開示してい
る。主メモリとキャッシュ・メモリとの間にバッファ装
置が接続され、キャッシュ・メモリにロードされるデー
タをバッファリングする。このバッファは主メモリから
連続的にデータを受け取り、キャッシュ・メモリがプロ
セッサによりアクセスされない限り、このデータをキャ
ッシュ・メモリに連続的に転送する。主メモリからキャ
ッシュ・メモリへのデータ転送が完了する以前に、プロ
セッサはキャッシュ・メモリからデータをアクセスでき
る。インページ・バッファ(IPB)からのデータもま
た、プロセッサに至るバスを介してマルチプレクサを通
じてゲートされ、キャッシュ・メモリに未だ書き込まれ
ていないデータへのアクセスを高速化する。実際に、デ
ータ・レジスタからプロセッサへ直接バイパスされる最
初のアクセスを除けば、キャッシュ・ラインが完全にキ
ャッシュ・メモリに書き込まれ、ディレクトリが有効と
記されるまで、インページされるキャッシュ・ラインか
らの全てのデータはインページ・バッファから獲得され
る。
【0009】米国特許第4953077号はプロセッサ
22、主メモリ12、及びキャッシュ・メモリ14から
構成されるIBM4381コンピュータ・システム(MO
DEL23、24、91及び92)を開示している。クロ
ック20を含む制御装置18は主メモリ12からキャッ
シュ・メモリ14への直接データ転送を制御し、制御装
置26は関連するクロック28と共にキャッシュ・メモ
リ14とプロセッサ22との間のデータ転送を制御す
る。
【0010】従来技術によるIBM4381コンピュー
タ・システム(MODEL 23、24、91及び92)で
は、1ラインが完全に主メモリからキャッシュ・メモリ
にロードされるまで、コンピュータ・プロセッサはキャ
ッシュ・メモリをアクセスできなかった。このコンピュ
ータ・システムは“高速転送モード”(FTM)と称さ
れるインページ/アウトページ制御シーケンスを実行
し、このモードにおいてはコンピュータ・プロセッサ及
びメモリ・データ転送は異なるセットのクロックにより
動作する。米国特許第4953077号のクロック20
及び28は異なるサイクル・タイムを有する。
【0011】
【発明が解決しようとする課題】本発明の目的はコンピ
ュータ・プロセッサによる主メモリ・データのアクセス
・スピードを改善することである。
【0012】本発明の別の目的は、プロセッサ及び主メ
モリが最高速で動作できるようにコンピュータ・プロセ
ッサによる主メモリ・データへのアクセスを提供するこ
とである。
【0013】
【課題を解決するための手段】本発明はデータ・プロセ
ッサ、主メモリ、キャッシュ・メモリ及びインページ・
バッファにより構成されるコンピュータ・システムに適
用される。キャッシュ・メモリは主メモリに接続され
て、そこからデータを受信し、またプロセッサに接続さ
れて、それに対してデータを転送する。インページ・バ
ッファは主メモリに接続されて、そこからデータを受信
し、またキャッシュ・メモリに接続されて、それにデー
タを転送し、更にプロセッサに接続されてデータを転送
する。ブロック或いはラインの一部のデータがインペー
ジ・バッファをバイパスして最初にキャッシュ・メモリ
に転送され、プロセッサはプロセッサ自身が必要とする
データへのアクセスを瞬時に行う。ブロック或いはライ
ンの残りのデータは引き続きインページ・バッファに転
送され、プロセッサはインページ・バッファの内容をア
クセスする。その後、別のインページ・オペレーション
の開始時点にインページ・バッファの内容はキャッシュ
・メモリに転送される。
【0014】本発明によれば、プロセッサは1つのセッ
トのクロックによりキャッシュ・メモリ内のデータをア
クセスし、一方、ライン或いはブロック・データの残り
は別のセットのクロックによりインページ・バッファに
転送される。これらの2つのセットのクロックは、プロ
セッサのオペレーション及び主メモリとキャッシュ・メ
モリとの間のデータ転送を最適化するために必要とな
る。
【0015】本発明の別の特徴によれば、インページ・
バッファの内容がキャッシュ・メモリ内に転送される間
に、フェッチ・オペレーションがキャッシュ・メモリ内
で開始され、引き続くキャッシュ・メモリ及び上述のイ
ンページ・バッファへの転送のために別のブロック或い
はラインのデータをフェッチする。インページ・バッフ
ァからキャッシュ・メモリへのオーバラップ化データ転
送及び主メモリからの次のブロック或いはライン・デー
タのフェッチのために、データ・アクセス・システムは
更に最適化される。
【0016】
【実施例】図を参照すると、同一の参照番号が全体を通
じて同じ構成要素に対して振られており、図1は本発明
によるデータ・アクセス・システム10を示す。システ
ム10ではプロセッサ26が主メモリ20からデータを
アクセスし、このシステムはインページ・バッファ1
2、キャッシュ・メモリ14、メモリ・タイミング信号
或いはクロックのセット16、プロセッサ・タイミング
信号或いはクロックのセット18、キャッシュ/IPB
制御装置50及びクロック・セレクタ制御装置27で構
成されている。
【0017】実施例では、主メモリ20はDRAM技術
により構成され、インページ・バッファ12はSRAM
技術により、またキャッシュ・メモリ14もSRAM技
術により構成される。この例ではページ或いはライン・
データは8カッド・ワード長であり、インページ・バッ
ファ12はトータル8個のロケーションの内の6個に6
カッド・ワードを記憶する。ここで各カッド・ワードは
16バイト長である。残りの2つのロケーションはシス
テム・アドレス・ビットを直接使用し、インページ・バ
ッファをアクセスするために用意されている。最初にプ
ロセッサにより要求されるデータを含む2カッド・ワー
ドは、主メモリから読み出される予め定義されたページ
内のどこかに存在し、インページ・バッファ内の相当す
る2カッド・ワード位置は充填されていない。キャッシ
ュ・メモリ14は4重連想キャッシュ、すなわち4列或
いはスロットに分割されている。各スロットは16キロ
バイトのデータを記憶できる。
【0018】主メモリ・サブシステム19(これは主メ
モリ20を含む)はデータ・ライン22を介してインペ
ージ・バッファ12にデータを書き込むことができ、ま
たデータ・ライン24を介してキャッシュ・メモリ14
にもデータを書き込める。主メモリ20からインページ
・バッファ12及びキャッシュ・メモリ14への全ての
データ転送は、メモリのセット・クロック或いは高速転
送クロック16により時間管理される。プロセッサ26
はインページ・バッファ12からデータ・ライン28を
介してデータを読み出し、キャッシュ・メモリ14から
はデータ・ライン30を介してデータを読み出すことが
できる。プロセッサ26によるインページ・バッファ1
2及びキャッシュ・メモリ14からのデータの全ての読
み出しは、プロセッサのセット・クロック或いは従来の
システム・クロック18により時間管理される。詳細は
後述するが、キャッシュ/IPB制御装置50及びクロ
ック・セレクタ制御装置27はインページ・バッファ1
2及びキャッシュ・メモリ14に適切なクロックを提供
し、前述のデータ転送を時間管理する。また、本発明の
実施例では、メモリ(或いは高速転送)・クロックのサ
イクル・タイムはプロセッサ(或いは従来システム)・
クロックのサイクル・タイムよりも短い。プロセッサ・
サイクル・タイムは1プロセッサ・マイクロワードを実
行するためにプロセッサが要求する最小時間であり、メ
モリ・サイクル・タイムは主メモリ・レジスタから(図
2のMDRレジスタ88に)1対のダブル・ワードを転
送するのに要する時間である。異なるクロックの使用は
プロセッサ・オペレーション及びキャッシュ・メモリと
主メモリ間のデータ転送を最適化する。
【0019】プロセッサ26がキャッシュ・メモリ14
或いはインページ・メモリ12内に見い出すことのでき
ないダブル・ワードのデータを要求すると、ダブル・ワ
ードを含む1ラインのデータが主メモリ20からインペ
ージ・バッファ12及びキャッシュ・メモリ14に以下
に示す方法で転送される。要求データを含む2カッド・
ワードは最初にインページ・バッファをバイパスしてキ
ャッシュ・メモリに転送され、次にこのラインの残りの
6カッド・ワードがインページ・バッファに転送され
る。通常(図1に示す)、第1或いは第2のカッド・ワ
ード、QWA或いはQWBは要求データを含み、このシ
ナリオは後に詳しく説明される。しかし、別のカッド・
ワードQWC−QWHが当初要求されるデータを含む場
合には、カッド・ワードQWA及びQWBの代わりにこ
のカッド・ワード及び近傍のワードが最初にキャッシュ
・メモリに転送される。実施例では、このラインの第1
カッド・ワードQWAが最初に主メモリ20からキャッ
シュ・メモリ14にメモリ・クロック16のセットによ
るタイミングに従って転送される。次に、別のカッド・
ワードQWBが(主メモリ20内の近傍のロケーション
から)キャッシュ・メモリ14にメモリ・クロック16
のセットによるタイミングに従い転送され、同一スロッ
ト内の近傍のキャッシュ・メモリ・アドレスに記憶され
る。次に、キャッシュ/IPB制御装置50及びクロッ
ク制御装置27はメモリ・クロックのセットからキャッ
シュ・メモリ14を解放し、キャッシュ・メモリ14に
プロセッサ・クロック18のセットを提供する。このよ
うにしてプロセッサ26は残りの6カッド・ワードQW
C−QWHの転送を待たずして、最近転送された2カッ
ド・ワードをアクセスすることが可能となる。プロセッ
サ26が要求されるダブル・ワード及びキャッシュ・メ
モリ14に丁度転送された第1及び第2カッド・ワード
からの別の3ダブル・ワードの内の何れかを処理する間
に、キャッシュ/IPB制御装置50及びクロック・セ
レクタ制御装置27はメモリ・クロック16のセットを
インページ・バッファに提供し、このラインの残りの6
カッド・ワードのデータが主メモリ20からインページ
・バッファ12に転送される。次に、キャッシュ/IP
B制御装置50及びクロック制御装置27はメモリ・ク
ロック16のセットからインページ・バッファ12を解
放し、インページ・バッファにプロセッサ・クロック1
8のセットを提供する。こうしてプロセッサ26は既に
キャッシュ・メモリ14内に記憶されている同じライン
の最初の2カッド・ワードと同様に、インページ・バッ
ファ内に記憶されるこのラインの後半の6カッド・ワー
ドのデータをアクセス及び処理することが可能となる。
【0020】局所性の原理に基づく典型的なシナリオに
おいては、プロセッサ26はライン・データに含まれる
いくつかのダブル・ワードをアクセス及び処理し続け
る。これらのデータは最近キャッシュ・メモリ14及び
インページ・バッファ12に転送されたものである。し
かし、後にプロセッサ26はキャッシュ・メモリ14或
いはインページ・バッファ12のどちらにも見い出すこ
とができないデータを要求する可能性がある。この時に
はプロセッサ26はキャッシュ/IPB制御装置50に
インページ・バッファ12の内容(ラインの後半の6カ
ッド・ワードのデータ)をキャッシュ・メモリ14の同
じ列内の最初の2カッド・ワード、すなわちQWA及び
QWBの近傍の6カッド・ワード・ロケーションに(プ
ロセッサ・クロックのセットによるタイミングに従い)
転送を開始させる。これらの2カッド・ワードは主メモ
リからキャッシュ・メモリに直接転送されたものであ
る。これはインページ・バッファが1インページ・オペ
レーション分のデータしか収容できないために、インペ
ージ・バッファ12への引き続く転送のための空間を形
成するために実施される。次に、この後半の6カッド・
ワードはキャッシュ・メモリ内のこれらのロケーション
に既に書き込まれている以前のカッド・ワードをオーバ
ライトする。後半の6カッド・ワードがインページ・バ
ッファからキャッシュ・メモリに転送される間に、主メ
モリ20はプロセッサ26により要求される新たなダブ
ル・ワードを含む別のライン・データのフェッチを開始
する。このフェッチ・オペレーションの間の及び以降の
主メモリからキャッシュ・メモリへのデータ転送は、メ
モリ・クロック16のセットによるタイミングに従い実
行される。
【0021】システム10から次に述べるような利点が
得られる。プロセッサにより即座に要求されるデータ
は、プロセッサによるデータ・アクセスを早めるために
インページ・バッファをバイパスして主メモリからキャ
ッシュ・メモリに書き込まれる。また、(一方のクロッ
クのセットにより)インページ・オペレーションがイン
ページ・バッファに対して完了する間に、プロセッサは
キャッシュ・メモリ内の要求データを(他方のクロック
のセットにより)アクセスできる。これらの2つのクロ
ックのセットはプロセッサ及び主メモリのオペレーショ
ンを最適化する。すなわち、キャッシュ・メモリへのデ
ータ転送はプロセッサ・オペレーションよりも速いクロ
ック・サイクルで最適に作用する。更に、インページ・
バッファ内の後半のライン・データのキャッシュ・メモ
リへの引き続く転送は、主メモリからの次のライン・デ
ータのフェッチとオーバラップされ、データ・アクセス
及び転送プロセスをより最適化する。
【0022】次に図2を参照しながら、データ・アクセ
ス・システム10の回路について更に詳細に説明する。
後に詳述されるように、キャッシュ/IPB制御装置5
0及びクロック・セレクタ制御装置27はプロセッサ・
クロックのセットをインページ・バッファ12及びキャ
ッシュ・メモリ14に提供し、一方、プロセッサ26は
キャッシュ・メモリ14或いはインページ・バッファ1
2に在中するデータを処理するか、或いは主メモリ20
内に記憶される他のデータを要求せずに他の作業を行
う。プロセッサ26、プロセッサ/メモリ・インタフェ
ース制御装置(60)、アドレス・レジスタ/アドレス
変換ユニット(53)及びキャッシュ/IPBディレク
トリ制御装置62は常にプロセッサ・クロックを使用す
る。プロセッサがデータを要求すると、プロセッサはデ
ータ読出し要求をプロセッサ/メモリ・インタフェース
制御装置(60)に送り、要求データの仮想アドレスを
アドレス・レジスタ/アドレス変換器53に送る。変換
器53はアドレス変換ルック・アサイド・バッファ・テ
ーブルを含み、最初の20ビットが(変換ルック・アサ
イド・バッファ・テーブルから)この要求データが主メ
モリ20内に見い出せることを示すと、アドレス・レジ
スタ/アドレス変換器は仮想アドレスを主メモリ20内
のデータの絶対アドレスを示す26ビット絶対アドレス
(アドレスビット6から31)に変換する。26ビット
だけが実施例において使用される理由は、これが主メモ
リの容量に相当するからである。この絶対アドレスはキ
ャッシュ/IPBディレクトリ制御装置62に送られ、
要求データがキャッシュ・メモリ或いはインページ・バ
ッファ内で発見されるかどうか判断する。キャッシュ/
IPBディレクトリは現在キャッシュ・メモリ及びイン
ページ・バッファに含まれる全てのデータのリスト或い
はディレクトリを含んでいる。キャッシュ/IPBディ
レクトリは4列に分かれており、各列は128入力を保
持する。各入力はアドレス・ビット18−24を使用し
てアドレスされる。各入力はアドレス・ビット6−17
で構成される12ビットのアドレスと入力のステータス
(有効、無効、変更済み、オフ・ライン)を示す他の制
御ビットを含む。これらの12ビット・アドレスは全1
28バイト・ブロックのデータのアドレスを示し、これ
らはキャッシュに全て記憶されるか或いは一部がキャッ
シュ内に残りがインページ・バッファ内に記憶される。
次にキャッシュ/IPBディレクトリ制御装置62は、
アドレス・ビット18−24を使用して4列のそれぞれ
に対応する入力を読み出し、(比較器51により)アド
レス入力をアドレス・レジスタ/アドレス変換器からの
絶対アドレス・ビット6−17と比較し、また各入力の
ステータスをテストする。もし比較結果が一致すると、
データがキャッシュ・メモリ14或いはインページ・バ
ッファ12内で発見されたことを示し、次のステップで
これらの内のどちらにデータが実際に含まれるかを判断
する。この判断はキャッシュ/IPB制御装置50によ
り次のように行われる。新たな128バイトのブロック
・ページ或いはラインが主メモリからインページ・バッ
ファ及びキャッシュ・メモリに転送されると(インペー
ジ・オペレーションとしても知られる)、キャッシュ/
IPB制御装置50内のレジスタ64及び143(図
9)が、最も最近転送されたデータ・ブロック(これは
インページ・バッファ及びキャッシュ・メモリ間で分離
される)の絶対アドレスを含むキャッシュ/IPBディ
レクトリ内ロケーションを示す列及び行情報(アドレス
・ビット18−24)により更新される。キャッシュ/
IPB制御装置50はまた、アドレス・レジスタ/アド
レス変換器から絶対アドレス・ビット18−28を受け
取る(これらのビットは図9のレジスタ101及び74
に記憶される)。キャッシュ・ディレクトリ制御装置に
おいて前述の比較結果が一致する場合は、キャッシュ・
ディレクトリ制御装置62はキャッシュ制御装置50
に、データ・アドレスを含むキャッシュ・ディレクトリ
列を知らせる。この列情報は(比較器107により)キ
ャッシュ/IPB制御装置50内のレジスタ64と比較
される。制御装置50は主メモリからキャッシュへの最
後のインページ・オペレーションで使用された列を含ん
でいる。更に、別の比較が(比較器109により)レジ
スタ101内のアドレス・ビット18−24とキャッシ
ュ制御装置内のレジスタ143(図9)の行情報との間
で行われる。キャッシュ制御装置は最後のインページ・
オペレーションからのアドレス・ビット18−24を含
む。どちらか一方の比較結果が不一致な場合には、デー
タは全てキャッシュ・メモリ14に含まれることにな
る。また、両方の比較結果が一致する場合は、入力に一
致するキャッシュ・ディレクトリに関連する128バイ
トのブロック・データは、一部がキャッシュ・メモリ
に、また一部がインページ・バッファに配置され、更に
キャッシュ・メモリ或いはインページ・バッファのどち
らが実際にどのデータを含むかを決定するための分析が
更に行われなければならない。特に、4ダブル・ワード
(1ダブル・ワードは8バイト・データに相当する)は
キャッシュ・メモリに配置され、残りの12ダブル・ワ
ードはインページ・バッファに配置される。各ダブル・
ワードはアドレス・ビット25−28により論理的にア
ドレス可能である。次に本発明の実施例において、これ
らのダブル・ワードが配置され、またアクセスされる様
子について説明する。
【0023】各128バイト・ブロックのデータは主メ
モリからキャッシュ・メモリに移動されると、64バイ
トずつ分割される。これはアドレス・ビット25により
定義される。このサブ分割はインページ・オペレーショ
ン中にデータが主メモリから転送される方法により引き
起こされる。すなわち、各サブ分割内のデータは他方の
サブ分割内のデータが転送される以前に全部転送され
る。キャッシュ制御装置内のレジスタ143は最後のイ
ンページ・オペレーションからのアドレス・ビット25
−26及び最後のインページ・オペレーション中にイン
ページ・バッファに転送される最初の4ダブル・ワード
を示すポイントを含む。比較は最初に、このレジスタ1
43からのアドレス・ビット25とアドレス・レジスタ
/アドレス変換器53から転送されるアドレス・ビット
25との間で行われる。これが一致しない場合は、対象
のダブル・ワードはその全てがインページ・バッファ内
に含まれる64バイト・ブロックの一部である。対象の
ダブル・ワードがインページ・バッファ内に配置されて
いると判定された後に更にチェックが行われ、このイン
ページ・バッファが最後のインページ・オペレーション
からのデータにより充填処理されている最中かを判定す
る。インページ・バッファがまだ前回のインページ・オ
ペレーションで多忙な場合には、プロセッサ/メモリ・
インタフェース制御装置60は遅延制御シーケンスを開
始し、プロセッサをウェイト状態にする。この前回のイ
ンページ・オペレーションが完了すると、プロセッサ/
メモリ・インタフェース制御装置はそれをプロセッサに
通知し、プロセッサは同じデータ要求を発する。前回の
インページ・オペレーションが完了するか、或いはイン
ページ・オペレーションが処理されていない場合には、
アドレス・レジスタ/アドレス変換器からのアドレス・
ビット25−27はインページ・バッファをアドレスし
て1対のダブル・ワード入力をIPBレジスタ47に読
み出すために使用される。IPBレジスタ47の内容は
次にキャッシュ制御装置の制御の下で、1対のマルチプ
レクサ43及び68により経路を指定される。もしデー
タがキャッシュ・メモリ14から既に送られており、イ
ンページ・オペレーションが完了されているために遅延
が発生しない場合は、データはプロセッサ26に即座に
到達する。ここで、キャッシュ・メモリ及びインページ
・バッファから各々のデータ転送レジスタ、記憶データ
・レジスタ45及びIPBレジスタ47へのデータ転送
は、キャッシュ/IPBディレクトリ制御装置62及び
キャッシュ/IPB制御装置50によるアドレス情報の
処理と同時に発生し、プロセッサにより引き続いて行わ
れるデータの読出しを促進する。しかし、キャッシュ/
IPB制御装置50はプロセッサが要求した正確なデー
タを元来知らないために、キャッシュ制御装置は正確な
データの最終決定を待機している各々のレジスタに対
し、全ての可能性のある候補を転送する。キャッシュ・
メモリからのこれらの候補は次の要領で決定される。1
つのダブル・ワードがキャッシュ・メモリ内の4列のそ
れぞれからアドレス・ビット18−28を使用して読み
出される。この内のアドレス・ビット18−24はキャ
ッシュ/IPBディレクトリ52内の4列に直接相当す
る。これらの4ダブル・ワードのデータは次に記憶デー
タ・レジスタ/インページ・バッファ45にラッチさ
れ、キャッシュ・ディレクトリからの列一致情報がキャ
ッシュ/IPB制御装置により受信されてレジスタ10
5に記憶されるまで保持される。キャッシュ/IPB制
御装置がダブル・ワードがキャッシュ・メモリ14に配
置されていると判断すると、キャッシュ/IPB制御装
置は記憶データ・レジスタ45から列一致情報を使用し
て適当なダブル・ワードを指示し、これをシフト器41
及びプロセッサに送る。インページ・バッファからの候
補はアドレス・ビット25−27を使用して読み出さ
れ、IPBレジスタ47にラッチされる。もしキャッシ
ュ/IPB制御装置が、ダブル・ワードがインページ・
バッファに配置されていると判断すると、キャッシュ/
IPB制御装置はアドレス・ビット28を使用して、I
PBレジスタ47から適当なダブル・ワードを指示し、
これをシフト器41及びプロセッサ14に転送する。
【0024】アドレス・ビット25上で一致が発生する
場合は、対象のダブル・ワードはその一部がインページ
・バッファ内に、また残りがキャッシュ・メモリ内に含
まれる64バイト・ブロックの一部である。更に演算が
要求され、この対象のダブル・ワードがインページ・バ
ッファ内か或いはキャッシュ・メモリ内に配置されるか
を決定する。キャッシュ制御装置レジスタ143内のア
ドレス・ビット26は64バイト・ブロックの内のイン
ページ・バッファに含まれる4ダブル・ワードを示す。
この64バイト・ブロック内の他の4ダブル・ワードは
キャッシュ・メモリ内に配置される。もしキャッシュ/
IPB制御装置がダブル・ワードがインページ・バッフ
ァ内に配置されると判断すると、データが上述のように
インページ・バッファから読み出される。しかし、キャ
ッシュ/IPB制御装置がダブル・ワードがキャッシュ
・メモリ内に配置されていると判断すると、キャッシュ
配列の4列(キャッシュ・ディレクトリ内の4列に相当
する)から記憶データ・レジスタに読み出されたデータ
が選択される。この読出しはアドレス・レジスタ/アド
レス変換器からのアドレス・ビット18−28を使用し
て行われる。次に、キャッシュ・ディレクトリ制御装置
からの列一致情報がキャッシュ/IPB制御装置により
使用されてマルチプレクサをゲートし、記憶データ・レ
ジスタから適切なデータが経路指定される。これは4キ
ャッシュ列に相当するデータ・レジスタ内の4ダブル・
ワードの内の1つを選択することにより行われる。そし
て、経路指定されたデータはシフト器41に送られ、最
終的にプロセッサに到達する。
【0025】キャッシュ/IPB制御装置において、キ
ャッシュ/IPBディレクトリ制御装置からの列情報と
保管されている列情報との間で、或いはアドレス・レジ
スタ/アドレス変換器ユニットからのアドレス・ビット
18−24と保管されているアドレス・ビット18−2
4との間で一致が発生しない場合は、キャッシュ制御装
置はアクセスされるキャッシュ・ラインが全てキャッシ
ュ内に配置されており、ビット25−26を使用したア
ドレス比較はもはや必要ないものと判断する。データは
キャッシュ・メモリからプロセッサに上述のように経路
指定される。
【0026】キャッシュ・ディレクトリ制御装置は4列
入力の何れかにおいて不一致が発生したと判断すると、
キャッシュ/IPB制御装置及び主メモリ制御装置に不
一致状態を通知する。インページ・バッファが前回のイ
ンページ・オペレーションに未だ従事している場合は、
プロセッサ/メモリ・インタフェース制御装置60は遅
延制御シーケンスを開始し、プロセッサはウェイト状態
となる。前回のインページ・オペレーションが完了する
と、プロセッサ/メモリ・インタフェース制御装置はプ
ロセッサにこれを通知し、プロセッサはデータのための
同じ要求を再び行う。主メモリ制御装置80は次にキャ
ッシュ・メモリ及びインページ・バッファに送信するた
めの(インページ・オペレーションのための)128バ
イト・ブロックのデータのフェッチを開始する。このフ
ェッチ・オペレーションはキャッシュ・メモリ或いはイ
ンページ・バッファからのデータのフェッチよりも時間
を要し、その結果、他のオペレーションは主メモリから
データがアクセスされるのを待機する間に達成される。
【0027】次に、メモリからのデータ・フェッチ処理
が行われる間に開始されるオペレーションについて詳述
する。キャッシュ・ディレクトリ制御装置は次に、キャ
ッシュ内の128バイト・ブロック・データに関する4
つの現キャッシュ・ディレクトリ入力の内の1つを選択
する。これらは最近、データ要求アドレスと比較され
て、主メモリからフェッチされる新たなデータにより置
換されたものである。この置換は各入力のステータス・
ビット及びキャッシュ・ディレクトリの各行に含まれる
LRUビットに基づいて行われる。ステータス・ビット
により示されるキャッシュ・ディレクトリ内の有効或い
は無効入力はキャッシュ内の128バイト・ブロックを
表し、これは現在、主メモリのデータと何等変更の無い
内容、或いは未使用データをそれぞれ含む。変更入力は
プロセッサにより変更されたものの、まだ主メモリに書
き込まれていない128バイト・ブロック・データを表
す。オフ・ライン入力は永久に使用されることのないキ
ャッシュ内の128バイト・アドレス・ブロックである
(例えば、故障キャッシュ・メモリ・セルなどによ
る)。有効変更入力或いはオフ・ライン入力に優先し
て、無効入力が選択される可能性がある。無効入力が使
用できない場合は、LRUビットに基づいて有効或いは
変更入力が選択される。無効或いは有効入力が選択され
ると、キャッシュ内の対応するメモリ・ロケーションに
存在するデータがインページ・オペレーション中にオー
バライトされる。変更入力が選択されると、キャッシュ
内の対応するメモリ・ロケーションに存在するデータは
除去され、スワップ・バッファ配列82内に記憶され
る。これはインページ・オペレーションによるオーバラ
イト以前に実施され、まだ主メモリ内に存在しない変更
データの損失を回避する。この種のキャッシュ・データ
の扱いにおいては、主メモリからのデータの更新は、変
更データを含む128バイト・ブロック・データがキャ
ッシュ・メモリから除去されて、新たな128バイト・
ブロックのための空間を生成するまで延期される。変更
入力が置換のために選択される場合は、キャッシュ・メ
モリからの元の128バイト・ブロックはキャッシュ・
メモリからスワップ・バッファ配列82に移動され、主
メモリからフェッチされる新たな128バイト・ブロッ
クのための空間を生成する。このオペレーションはアウ
トページ・オペレーションと称される。スワップ・バッ
ファ80は別の一時データ記憶メモリであり、キャッシ
ュ・メモリと主メモリとの間のデータ転送期間中に一時
的にデータを保持する。アウトページ・オペレーション
の一部として、キャッシュ・ディレクトリ制御装置はア
ドレス・ビット6−24を主メモリに提供する。これは
アウトページ・オペレーション期間中にキャッシュ・メ
モリから移動される128バイト・ブロック・データを
表す。ビット6−17はアウトページ・オペレーション
に関係するキャッシュ・ディレクトリ入力から到来し、
またビット18−24はキャッシュ・ディレクトリをア
ドレスするために使用された時と同じビットである。
【0028】しかし、インページ或いはアウトページ・
オペレーションが発生する以前に、インページ・バッフ
ァ内の内容はキャッシュ配列に移動される。このオペレ
ーションはキャッシュ制御装置が不一致状態を通知され
ると、同装置により開始され、これはインページ・バッ
ファ・アンロード・オペレーションとして知られる。イ
ンページ・バッファは(キャッシュ・メモリと比較し
て)小サイズであるためにアクセス・タイムが非常に速
く、その結果、キャッシュ・メモリが1書込サイクルに
要する時間で、2対のダブル・ワードがインページ・バ
ッファからアクセスされる。これらの2対のダブル・ワ
ードはIPBレジスタ47及びIPBレジスタ70に記
憶され、合計4ダブル・ワードがキャッシュ・メモリの
入力にバス123(図2参照)を介して(キャッシュ・
マルチプレクサ72を通じてゲート後に)提供される。
これはキャッシュ・メモリがキャッシュ制御装置の制御
の下で書込みオペレーションを担う準備が整ったときに
実施される。インページ・バッファ・アンロード・オペ
レーションの最初の時点では、12ダブル・ワードはイ
ンページ・バッファ内に存在するので、インページ・バ
ッファの内容をキャッシュ・メモリに完全に転送するた
めに3書込みサイクルが必要となるだけである(1サイ
クル当たり4ダブル・ワード)。この転送の間に、キャ
ッシュ・メモリはアドレス・カウンタ74によりアドレ
スされる。このカウンタの最上位ビットの初期値はアン
ロード・オペレーションの開始時はアドレス・ビット2
5−26にセットされ、このアドレス・ビットはキャッ
シュ制御装置により前回のインページ・オペレーション
からレジスタ143に保管される(アドレス・ビット2
7−28は書込みオペレーション中はキャッシュ内で使
用されない)。このカウンタ74は最初の書込みサイク
ルの後に両ビットを変更して第2書込みサイクルに備
え、次にこれらのビットの最下位ビットだけを変更して
第3書込みサイクルに備える。レジスタ143からのア
ドレス・ビット18−24もまた、キャッシュ配列のへ
のアドレスを完了するために使用される。インページ・
バッファは3ビット・カウンタ76(図9の103と同
様)によりアドレスされ、この最上位ビットもアンロー
ド・オペレーションの開始時は当初アドレス・ビット2
5−26にセットされる。このビットはキャッシュ制御
装置により保管され、最下位ビットはゼロにセットされ
る。このカウンタは2つの最下位ビットをモジューロ4
で5回繰り返して加算し、その間、最上位ビットはこの
カウンタの中間ビットの最初の変換と同時に1度だけ変
更される。このようにしてキャッシュとインページ・バ
ッファとで分けられる64バイト・ブロックに関するイ
ンページ・バッファ内の2対のダブル・ワードが最初に
アンロードされる。次に、インページ・バッファ内に全
てが含まれる他方の64バイト・ブロックがアンロード
される。全部のインページ・バッファ・アンロード・オ
ペレーションは迅速に発生し、インページ・バッファの
追加に先行するアウトページ及びインページ・オペレー
ションのタイミングは影響を受けない。
【0029】データ転送シーケンスを継続するために、
インページ・バッファ12、記憶データ・レジスタ4
5、IPBレジスタ47及び70、スワップ・バッファ
82及びメモリ・サブシステム19間のデータ転送は、
メモリ・クロックのセットのタイミングで発生する(こ
れはプロセッサ・クロック18のセットより速いサイク
ルで動作する)。ここでAlvarez II等による米国特許第
4953077号では、プロセッサ・オペレーションの
ためにプロセッサ・クロック或いは従来のシステム・ク
ロックのセットを、また主メモリからキャッシュ・メモ
リへのデータ転送用にメモリ・クロック或いは高速転送
クロックのセットを使用することを開示している(ここ
ではインページ・バッファは存在しない)。本発明では
同様に2セットのクロックを使用する。米国特許第49
53077号は本発明の一部として参照され、更に2セ
ットのクロックの生成に関する詳しい説明を含んでい
る。
【0030】アウトページ・オペレーションがキャッシ
ュ/IPBディレクトリ制御装置62により指令される
と、キャッシュ/IPB制御装置はアドレス・レジスタ
/アドレス変換器53からのアドレス・ビット18−2
4を使用して、キャッシュ・メモリをアドレスする。ビ
ット25−27は全てゼロにセットされる。キャッシュ
・アドレス・カウンタ74はビット25−27を保持
し、メモリ・クロックにより7回加算される。これによ
り合計8対のダブル・ワードがキャッシュ・メモリから
記憶データ・レジスタ45及びエラー訂正レジスタ88
を介し、スワップ・バッファ配列82に転送される。こ
れはキャッシュ/IPBディレクトリ制御装置62及び
主記憶制御装置80の制御の下で、データ・レジスタ4
5及び88用のメモリ・クロックのセットを使用し、ス
ワップ・バッファをアドレス及び書込むことにより実施
される。その後、新たなデータが主メモリからキャッシ
ュ・メモリ及びインページ・バッファへ書き込まれた後
に、スワップ・バッファからのデータのアンロードが発
生する。
【0031】スワップ・バッファに移動されたブロック
・データに関するキャッシュ・メモリ・ロケーション
は、インページ・オペレーション中に主メモリから新た
なデータを収容するために解放され、主メモリはキャッ
シュ・メモリ及びインページ・バッファに対するデータ
転送の準備が整う。インページ・オペレーションは、ス
ワップ・バッファへの転送が完了するか、或いはアウト
ページ・オペレーションが発生しなかった場合は主メモ
リからデータが使用可能になる時に開始される(主メモ
リからのデータ・フェッチは以前に開始されており、ス
ワップ・バッファへの転送が完了していればデータは追
加的な遅延なしに使用可能となる)。主メモリ制御装置
は以前にアドレス・レジスタ/アドレス変換器からアド
レス・ビット6−26を受け取っており、プロセッサに
より要求されるデータを識別する。主メモリは、インペ
ージ・オペレーション用のデータがメモリ・カード上の
2つの密接に関係するバンク内に含まれる2つの64バ
イト・ブロック・データとしてフェッチされるように構
成される。これはビット6−25を使用して、データの
フェッチを開始する。ビット26は保管され、最初にキ
ャッシュ・メモリに転送されるダブル・ワード対を示す
ために使用される(アドレス・ビット27はゼロにセッ
トされる)。1対のダブル・ワード(1カッド・ワー
ド)がメモリ・データ・レジスタ89にラッチされ、エ
ラー訂正マトリクス90及びエラー訂正レジスタ88に
転送され、次に記憶データ・レジスタ45に、そして最
後にキャッシュ・メモリに転送される。このパイプライ
ン化データ転送は、主記憶装置及びキャッシュ制御装置
上のメモリ・クロックの制御の下で全て発生する。次
に、第2番目のダブル・ワード対(別のカッド・ワー
ド)がメモリ・データ・レジスタ89にラッチされ、第
1番目の対に続いて直ちにキャッシュ・メモリ14に転
送される。キャッシュ・メモリは当初、アドレス・レジ
スタ/アドレス変換器からのアドレス・ビット18−2
6によりインページ・オペレーションのためにアドレス
され、最初の書込みサイクルに備える。ビット25−2
6はキャッシュ・アドレス・カウンタの最上位ビットに
ラッチされ(最下位ビットは当初ゼロにセットされ
る)、第1番目のダブル・ワード対をキャッシュ・メモ
リ内にロードした後に、このカウンタの最下位ビット
(アドレス・ビット27に相当する)は第2番目のダブ
ル・ワード対がキャッシュにロードされるようにセット
される。キャッシュ/IPBディレクトリ制御装置はク
ロック・セレクタに対し、キャッシュ・メモリにプロセ
ッサ・クロックを提供するように信号を送る。プロセッ
サ/メモリ・インタフェース制御装置60はプロセッサ
に、キャッシュ・メモリからのデータの読出しが可能で
あることを通知する。キャッシュ/IPBディレクトリ
制御装置62は選択されるキャッシュ/IPBディレク
トリ入力を、アドレス・レジスタ/アドレス変換器から
の新たなアドレス・ビット6−17の値により更新し、
入力のための有効ステータスを示すステータス・ビット
を記憶する。キャッシュ/IPB制御装置50はレジス
タ64に列一致情報を保管し、アドレス・ビット18−
26はインページ・バッファに記憶される第1番目の4
ダブル・ワードを指示するように変更され、レジスタ1
43に保管される(アドレス・ビット26に対応するキ
ャッシュ・アドレス・カウンタの中間ビットは反転され
る)。次に、残りの6対のダブル・ワードがこのインペ
ージ・オペレーション中に転送される。第3番目のダブ
ル・ワードは上述のようにメモリ・データ・レジスタ8
9及びエラー訂正レジスタ88に転送され、次にIPB
レジスタ47に経路指定される。インページ・バッファ
・アドレス・カウンタ76の最上位ビットにはアドレス
・レジスタ/アドレス変換器からのアドレス・ビット2
5−26がロードされており、最下位ビットはインペー
ジ・オペレーションの最初はゼロにセットされる。イン
ページ・バッファ・アドレス・カウンタはキャッシュ・
アドレス・カウンタと同じデータ転送サイクルで2つの
最下位ビットをモジューロ4で加算を開始し、第3番目
のデータ転送中にインページ・バッファ内にロードされ
る最初のダブル・ワード対を指示する。このカウンタは
同様にして残りのダブル・ワードの転送のために加算さ
れるが、ビット25は他方の64バイト・ブロックに切
り替えるために1度変更され、メモリからの第5番目及
び残りのダブル・ワード転送に備える。このアドレス・
シーケンスはデータが主メモリから順序付けされる様子
と一致する。インページ・バッファへのデータ転送が完
了すると、キャッシュ/IPB制御装置はプロセッサ・
クロックをインページ・バッファ及びインページ・レジ
スタに切り替え、プロセッサがインページ・バッファを
アクセスすることを許可する。
【0032】プロセッサ26がキャッシュ・メモリにデ
ータを書き込むことを望む場合、プロセッサはデータ書
込み要求を制御装置60に、またプロセッサが書き込み
たい仮想アドレスを変換器53に送信する。このアドレ
スは上述したデータ読出しの場合と同様にして処理さ
れ、データが書き込まれるべき場所、すなわち現在その
アドレスを示すデータを記憶するメモリ装置が決定され
る。ディレクトリ列が一致する場合は、データはキャッ
シュ・メモリ或いはインページ・バッファへ経路指定さ
れる。これはキャッシュ/IPB制御装置及びキャッシ
ュ/IPBディレクトリ制御装置の制御の下で、適切な
デマルチプレクサ及びマルチプレクサを通じて、キャッ
シュ・メモリ或いはインページ・バッファの書込み入力
へ至る。これらの書込みオペレーションは読出しオペレ
ーションで述べたのと同様にして分析される。ディレク
トリ列が不一致(ミス)の場合は、インページ及び可能
性としてアウトページ制御シーケンスが開始され、プロ
セッサは、インページ・オペレーションからの最初の2
対のダブル・ワードがキャッシュ・メモリに転送される
と、同様にしてキャッシュ・メモリにデータを書き込む
ことを許可される。処理ユニットの書込みオペレーショ
ン完了時に、書込みデータを含む入力に対してディレク
トリ・ステータスは変更済みに変更される。
【0033】キャッシュ・メモリへの4ダブル・ワード
のロード及びインページ・バッファへの12ダブル・ワ
ードのロードは、プロセッサに対してインページ・オペ
レーションの完了以前にキャッシュ・メモリへの読出し
或いは書込みオペレーションを許可する。数多くの状況
において、インページ・オペレーション後にキャッシュ
・メモリに含まれるデータは、最初に要求されたデータ
だけではなく、要求データのアドレス以降のデータによ
り構成される。その結果、プロセッサがシーケンシャル
にデータを使用すれば、キャッシュ・メモリに対する引
き続くプロセッサ・オペレーションは、最後のインペー
ジ・オペレーションの開始の間に、キャッシュ内に記憶
されるいくつかの或いは全てのデータを使用する可能性
がある。従って、典型的にはキャッシュ内のデータが尽
きるまでプロセッサはインページ・バッファをアクセス
する必要はなく、多くの場合、この遅延はプロセッサに
遅延を引き起こすことなく、インページ・バッファに対
するインページ・オペレーションを完了するするのに十
分である。データが非シーケンシャルにフェッチ或いは
記憶される場合は、引き続き要求されるデータはキャッ
シュ・メモリ内に全体的に含まれる別の128バイト・
ブロックに存在する可能性がある。同様に、インページ
・バッファはインページ・バッファに対するインページ
・オペレーションが完了するまでアクセスされる必要は
ない。128バイト・ブロックのデータをインページ・
バッファとキャッシュ・メモリとの間で分け合う別の利
点としては、次回の128バイト・ブロック・データを
主メモリからフェッチしインページングに備える間に、
インページ・バッファのキャッシュ・メモリへのアンロ
ードが発生する点である。
【0034】次に図3−図8を参照して、上述の事象の
タイミングに関して説明する。図3はインページ・バッ
ファのアンロード及びプロセッサのデータ要求の結果生
じるインページ・オペレーション期間中のタイミングを
示す。プロセッサ及びメモリ・クロックのセットは偶数
及び奇数パルス発信器がゲートされたものである。偶数
及び奇数発信器は互いに180度位相が異なる。プロセ
ッサ・クロックの最も共通なサイクル・タイムは区間当
たり4パルスであり、一方、メモリ・クロックの場合は
3パルスである。プロセッサ・クロックの0、1、2及
び3(PC−0、PC−1、PC−2及びPC−3)は
各プロセッサ・サイクル当たり1パルスからなり、それ
ぞれゼロ、第1、第2及び第3番目のパルスに相当す
る。メモリ・クロックの0、1及び2(MC−0、MC
−1及びMC−2)は各メモリ・サイクル当たり1パル
スからなり、それぞれゼロ、第1及び第2番目のパルス
に相当する。プロセッサ・サイクルはメモリ・サイクル
よりも長いために、プロセッサ・クロックとメモリ・ク
ロックのほとんどのサイクルは同時には開始されない。
しばしば、余分のタイミング・パルス、例えばPC−
4、PC−5、PC−6及びPC−7などがプロセッサ
・サイクルに追加される。これらの余分なタイミング・
パルスは、プロセッサが実行に4パルスよりも長い時間
を要するマイクロワードを処理する時、及びプロセッサ
が1メモリ・サイクルと1プロセッサ・サイクルの開始
を揃えたい時に追加される。後者の場合には、これらの
追加のパルスはメモリ及びプロセッサの両サイクルに対
し、インページ・オペレーションの場合は2プロセッサ
・サイクル遅れて揃うように指示し、またアウトページ
・オペレーションでは1プロセッサ・サイクル遅れて揃
うように指示する。図3の“偶奇偶奇”パルスは、プロ
セッサ・クロックが交互に偶数及び奇数であることを示
すが、8パルス・サイクルが要求される時にはプロセッ
サ上で実行される特定のマイクロプログラムの調査無し
には特定できない。
【0035】図2は回路10を更に詳しく表した図であ
り、プロセッサ26は主メモリ20からインページ・バ
ッファ12及びキャッシュ・メモリ14を介してデータ
をアクセスする。図3はタイミングを示す。特に指定が
ない場合には、次に示すオペレーションは全てプロセッ
サ・クロック18を使用する。プロセッサ26がデータ
を要求すると、プロセッサはデータ要求をプロセッサ/
メモリ・インタフェース制御装置60にライン147を
介して送り、データのアドレスをアドレス・レジスタ変
換器53に送る。データ・アドレスの一部はキャッシュ
・ディレクトリ52をアドレスするために使用される。
キャッシュ・ディレクトリは現在キャッシュ・メモリ1
4及びインページ・バッファ12に記憶されている全て
のワードのアドレスを含む。アドレスの残りのビットは
比較器51によりキャッシュ・ディレクトリ52の内容
と比較され、要求データがキャッシュ・メモリ14或い
はインページ・バッファ12のどちらかに含まれている
か判定する。
【0036】上述のプロセッサ要求は並行して発生する
3つのオペレーションを開始し、これらはキャッシュ・
メモリ或いはインページ・バッファの一方から要求デー
タを読み出し、ヒット或いはミスが発生するか判定す
る。最初のオペレーションは第1プロセッサ・サイクル
(1PC−0)のゼロ・パルス時に開始され、この時キ
ャッシュ/IPBディレクトリ制御装置62はキャッシ
ュ/IPBディレクトリ52内の読み出すべきロケーシ
ョンのアドレスを提供することにより、キャッシュ・デ
ィレクトリの内容の読出しを開始する。このロケーショ
ンのアドレスは第1プロセッサ・サイクルの第2パルス
時(1PC−2)に読み出され、ヒット或いはミスが第
1プロセッサ・サイクルの第3パルス時(1PC−3)
に判定される(不一致タイミング参照)。第2オペレー
ションは1PC−1時点で発生する。すなわち、アドレ
ス・ビット25−27がインページ・バッファに提供さ
れ、プロセッサにより要求されるデータを読み出す(イ
ンページ・バッファのアドレス・タイミング参照)。1
PC−2時点でインページ・バッファから読み出された
データがIPBレジスタ47にラッチされる。第3オペ
レーションもまた、1PC−1時点で発生し、この時ア
ドレス・ビット18−28がキャッシュ配列に提供さ
れ、プロセッサにより要求されるデータの読出しを実施
する(キャッシュ配列のアドレス・タイミング参照)。
次に、1PC−2時点でキャッシュ・メモリから読み出
されたデータが記憶データ・レジスタ45にラッチされ
る(記憶データ・レジスタのクロック・タイミング参
照)。データが実際にキャッシュ・メモリ或いはインペ
ージ・バッファ内に在中したかを判定するために、上述
の第1オペレーションにおいてキャッシュ・ディレクト
リ内で行われる比較は1PCー3パルスで実施される。
この並行オペレーションはヒット事象の際のデータ・ア
クセスを早める役割をする。
【0037】図3の場合には、ミスがキャッシュ/IP
Bディレクトリ制御装置62により検出され、キャッシ
ュ/IPB制御装置50は図3の点線領域31内のステ
ップにより示されるアンロード・インページ・バッファ
・シーケンスを開始し、主メモリは次のラインのデータ
のフェッチを行う。主メモリのフェッチはキャッシュ/
IPBディレクトリ制御装置62がフェッチ・コマンド
を主メモリ制御装置80及びアドレス・レジスタに送信
することにより開始される(アドレス変換器53に対し
アドレスを主メモリ制御装置に送信するよう指示す
る)。プロセッサ・クロックのセットは主メモリ制御装
置80に提供され、キャッシュ/IPBディレクトリ制
御装置62及びアドレス・レジスタ/アドレス変換器5
3との通信を許可する。次に主メモリ制御装置はアドレ
ス・ビット6−25及び対メモリカード選択信号を主メ
モリ20に2PC−4で送信し、データ・ラインのフェ
ッチを起動し、一方、インページ・バッファの内容はキ
ャッシュ・メモリに次のように読み出される。フェッチ
・オペレーションの性質は本発明にとって重要ではな
く、従来より主メモリからの種々のタイプのフェッチ・
オペレーションが知られている。
【0038】2PC−1時点で、ダブル・ワードがイン
ページ・バッファよりアドレスされる(インページ・バ
ッファ・アドレス・タイミング参照)。これらの2ダブ
ル・ワードはIPBレジスタ47に2PC−2でラッチ
される(IPBレジスタ47クロック・タイミング参
照)。また、2PC−1では、キャッシュ・メモリにI
PBレジスタからキャッシュ・メモリにロードされる最
初の4ダブル・ワードに相当するアドレス・ビット18
−26が提供される(キャッシュ・メモリ・アドレス・
タイミング参照)。次に、2つの事象が並行して2PC
−3で発生する。すなわち、IPBレジスタ47の内容
がIPBレジスタ70に読み出され(IPBレジスタ7
0クロック・タイミング参照)、IPBレジスタ47に
は別のアドレスが提供される(インページ・バッファ・
アドレス・タイミング参照)。2PC−4では、IPB
レジスタ47はインページ・バッファから読み出される
第2ダブル・ワード対をラッチする(IPBレジスタ4
7クロック・タイミング参照)。2PC−5では、2つ
のオペレーションが並行して発生する。すなわち、第3
のアドレスがインページ・バッファに提供され(インペ
ージ・バッファ・アドレス・タイミング参照)、IPB
レジスタ47及び70の内容がキャッシュ・メモリにキ
ャッシュ書込ストローブにより書き込まれる(キャッシ
ュ書込ストローブ・タイミング参照)。3PC−0で
は、IPBレジスタ47はインページ・バッファからの
第3ダブル・ワード対をラッチする(IPBレジスタ4
7クロック・タイミング参照)。3PC−1では、3つ
の事象が並行して発生する。すなわち、IPBレジスタ
70がIPBレジスタ47の内容をラッチし(IPBレ
ジスタ70クロック・タイミング参照)、インページ・
バッファは第4ダブル・ワード対の第4アドレスを提供
され(インページ・バッファ・アドレス・タイミング参
照)、キャッシュ配列は4ダブル・ワードの第2グルー
プのキャッシュ・メモリへの書込みに備え、第2アドレ
スを提供される(キャッシュ・メモリ・アドレス・タイ
ミング参照)。3PC−2では、IPBレジスタ47は
インページ・バッファから読み出される第4ダブル・ワ
ード対をラッチする(IPBレジスタ47クロック・タ
イミング参照)。3PC−3では、2つの事象が並行し
て発生する。すなわち、第5ダブル・ワード対を読み出
すためにアドレスがインページ・バッファに提供され
(インページ・バッファ・アドレス・タイミング参
照)、IPBレジスタ47及び70の内容をキャッシュ
・メモリに書き込むためにキャッシュ書込ストローブが
発生される(キャッシュ書込ストローブ・タイミング参
照)。第4プロセッサ・サイクル中に発生するオペレー
ションは第3プロセッサ・サイクル中の場合と比較し
て、第3及び第4ダブル・ワード対の代わりに第5及び
第6ダブル・ワード対がインページ・バッファからキャ
ッシュ・メモリに転送される以外は同様である。この時
点で、6カッド・ワードが全てキャッシュ・メモリに転
送され、主メモリからのデータのインページのための空
間が生成される。
【0039】次に、主メモリからインページ・バッファ
及びキャッシュ・メモリへのデータの実際のインページ
ングのための回路及びタイミングに付いて説明する(点
線33内)。メモリ・クロックが主メモリ、メモリ・デ
ータ・レジスタ(MDR)89、エラー訂正レジスタ
(ECR)88、IPBレジスタ47及び70、記憶デ
ータ・レジスタ45及びアドレス・カウンタに提供さ
れ、書込み制御がキャッシュ・メモリ及びインページ・
バッファに提供される。2MC−2では、以前に主メモ
リからフェッチされた第1ダブル・ワード対(キャッシ
ュ・メモリに転送される予定)がMDRレジスタにラッ
チされる。3MC−1では、ECRレジスタがMDRか
らECCマトリクスを通じて到来する第1ダブル・ワー
ド対をラッチする。3MC−2では、(キャッシュ・メ
モリに転送される予定の)第2ダブル・ワード対が主メ
モリからMDRレジスタにラッチされる。4MC−0で
は、ECRレジスタ88の内容がSDRレジスタ45に
ラッチされ、第1ダブル・ワード対をキャッシュ・メモ
リ内に書き込むためのアドレスがキャッシュ・メモリに
提供される(キャッシュ配列アドレス・タイミング参
照)。4MC−1では、ECRがMDRからECCマト
リクスを通じて到来する第2ダブル・ワード対をラッチ
する。4MC−2では、MDRは主メモリからの第3ダ
ブル・ワード対(インページ・バッファに転送される予
定)をラッチし、またキャッシュ書込ストローブがキャ
ッシュ・メモリに提供され、現在第1ダブル・ワード対
を含むSDRの内容を書き込む。更に、SDRは5MC
−0において(第2ダブル・ワード対のための)1つの
データ転送だけを受諾し、キャッシュ・アドレスはイン
クリメントされて第2ダブル・ワード対を書き込む用意
をする。第2ダブル・ワード対は5MC−2においてキ
ャッシュに書き込まれ、これがインページ・オペレーシ
ョンに関連するキャッシュへの最後の書込みとなる。6
MC−0でインクリメントされるキャッシュ・アドレス
の値は、次に6MC−1において列一致情報と共に保管
される。8PC−0(これは5MC−0と同時)では、
プロセッサ通知信号がプロセッサに対して1サイクル分
だけプロセッサ/メモリ・インタフェース制御装置によ
り活性化され、プロセッサが続くプロセッサ・サイクル
においてデータ要求を再出力すべきであることを指摘す
る。以降で更に詳細に述べられるように、現在プロセッ
サはキャッシュ・メモリ内のデータをアクセスできる状
態にある。8PC−3では、キャッシュ・ディレクトリ
がアドレス・レジスタ/アドレス変換器53からのアド
レス・ビット6−17により更新される。
【0040】5MC−1 では、第3ダブル・ワード対
がエラー訂正マトリクス(ECC Gen/Corr9
0)の出力からECRレジスタ88にラッチされる。6
MC−0では、前述のキャッシュ・ディレクトリ・オペ
レーションと同時に、IPBレジスタ41がECRレジ
スタから第3ダブル・ワード対をラッチし、アドレスが
インページ・バッファに提供されて、インページ・バッ
ファへの第3ダブル・ワード対の書き込みに備える。ア
ドレスをインページ・バッファへ提供するインページ・
バッファ・アドレス・カウンタもまたクロック・パルス
4MC−0及び5MC−0で計数される。但し、この時
点ではこのアドレスはインページ・バッファの読出し或
いは書込みオペレーション用には使用されない。インペ
ージ・バッファ・アドレス・カウンタは4MC−0にお
いて、アドレス・ビット25−27がキャッシュ・アド
レス・カウンタと同じ値で起動し、両者は上述のクロッ
ク・パルスの期間中は同時にインクリメントされ、これ
はこのアドレスが第3番目のデータ転送のために実際に
使用されるまで、インページ・バッファ・アドレス・カ
ウンタを設定しインクリメントする直接的な手段を提供
する。6MC−2では、最初の書込ストローブがインペ
ージ・バッファに提供され、インページ・バッファ内に
第3ダブル・ワード対を書き込む。インページ・バッフ
ァ・アドレス及び書込ストローブに関する前述のタイミ
ング・シーケンスは、6ダブル・ワード対が全てインペ
ージ・バッファに転送されるまで繰り返される。11M
C−2では、バッファ充填信号がセットされ、これはイ
ンページ・オペレーションが完了し、インページ・バッ
ファがプロセッサからのデータ要求を受諾するために解
放されたことを示す。
【0041】2対のダブル・ワードが上述のようにキャ
ッシュに書き込まれ、プロセッサ・クロックのセットが
キャッシュ・アドレス・カウンタ74、SDR45及び
キャッシュ書込み制御装置に提供されると、メモリ・ク
ロックのセットはこれらから切り放される。9PC−0
及び前述のタイミング・シーケンスにおける6MC−1
と同時に、プロセッサ26はデータ要求を再出力する。
9PC−1において要求データを読み出すためにアドレ
スが提供され、これは1PC−1で提供されるアドレス
と同じである。SDR45は9PC−2でキャッシュ・
メモリからのデータをラッチし、このデータはキャッシ
ュ/IPB制御装置の制御の下で前述のマルチプレクサ
を通じてシフト器41そして次にプロセッサ26に経路
指定される。
【0042】上述の事象はキャッシュ・メモリへのイン
ページ・バッファのアンロードを引き起こし、直後に主
メモリからの新たなライン・データがキャッシュ・メモ
リの別のロケーション及びインページ・バッファ内に書
き込まれる。こうした処理は置換されるキャッシュが無
効或いは有効且つ未変更ステータスを有するシナリオに
基づく。しかし、このラインが変更ステータスを有する
場合は、変更データはインページ・オペレーション以前
にスワップ・バッファ82に移動されること(アウトペ
ージ)により保管され、引き続いてインページ・オペレ
ーションの完了直後にこのデータは主メモリに移動され
る。
【0043】図4はプロセッサのデータ要求の結果生じ
るアウトページ・オペレーションに関する事象のタイミ
ングを示す。インページ・バッファの前回のアンロード
のタイミング・シーケンスは、上述のように、前回のプ
ロセッサ・サイクル2−4で発生する。アウトページ・
オペレーションは2MC−1で開始される。この時、ア
ドレスがキャッシュ・メモリに提供され、キャッシュか
らスワップ・バッファ82に転送される第1ダブル・ワ
ード対が読み出される。3MC−3では、SDR45が
キャッシュから読み出される第1ダブル・ワード対をラ
ッチし、主メモリ制御装置はスワップ・バッファ82に
アドレスを提供する。3MC−1では、キャッシュ・メ
モリへのアドレスは、第2ダブル・ワード対がキャッシ
ュ配列から読み出されるようにキャッシュ・アドレス・
カウンタ内でインクリメントされる。3MC−2では、
スワップ・バッファ書込ストローブが発生し、SDRの
内容をスワップ・バッファに書き込む。キャッシュ・ア
ドレス、SDR、スワップ・バッファ・アドレス及びス
ワップ・バッファ書込ストローブに関する上述のタイミ
ング・シーケンスは、8対のダブル・ワードがキャッシ
ュからスワップ・バッファに転送されるまで繰り返され
る。アウトページ・オペレーションに関連するディレク
トリ入力のアドレス・ビット6−17は、後に(13P
C−0で)、続くインページ・オペレーションの間に、
また図3で示されるディレクトリの更新以前に、アドレ
ス・レジスタ/アドレス変換からのアドレス・ビット8
−24と共に主メモリ制御装置に転送される。上述のイ
ンページ・オペレーションはアウトページ・オペレーシ
ョンの直後に続いて実施され、図3で示されるのと同じ
タイミング・シーケンスを使用する。関連するプロセッ
サ及びメモリ・サイクルは、インページ・オペレーショ
ンの発生時及びプロセッサが再要求が可能なこと及びキ
ャッシュ・メモリからデータを読み出し可能なことを通
知される時に変化する。
【0044】インページ・オペレーションの完了後、以
前にスワップ・バッファに転送された8カッド・ワード
が以下のように主メモリに転送される。20MC−0に
おいて、主メモリ制御装置は読み出すべき、そして主メ
モリに転送すべき第1カッド・ワードのスワップ・バッ
ファにアドレスを提供する。20MC−2では、MDR
はスワップ・バッファからデータをラッチし、21MC
−1ではECRはECCマトリクスを介する転送の後、
MDRからデータをラッチする。22MC−0では、E
CRからのデータは主メモリ内のレジスタ(図示せず)
により受け取られる。このシーケンスはその後、64バ
イト或いは4カッド・ワードが主メモリ内のレジスタに
記憶されるまで3回繰り返される。次に、主メモリ制御
装置は書込ストローブをこのレジスタに出力し、データ
を主メモリに書き込む。この処理は残りの4カッド・ワ
ードに対しても繰り返される。スワップ・バッファが主
メモリにアンロードされるこのオペレーションの間、主
メモリからのフェッチのためのプロセッサ要求はスワッ
プ・バッファのアンロードが完了するまで遅延される。
【0045】プロセッサ・データ要求結果がヒットであ
ると、キャッシュ/IPB制御装置50はキャッシュ・
メモリ14或いはインページ・バッファ12のどちらが
現在このデータを有するかを判定しなければならない。
図5はプロセッサ読出し要求に関する事象のタイミング
を表し、ここでは要求データはインページ・バッファ内
に見い出される。PC−1においてアドレスがアドレス
・レジスタ/アドレス変換器53から受信され、キャッ
シュ・メモリ及びインページ・バッファの両方に提供さ
れる。PC−2では、IPBレジスタ及びSDRの両者
はそれぞれインページ・バッファ及びキャッシュ・メモ
リからのデータをラッチする。比較器はアドレス・ビッ
ト18−26の現在値、保管値及び列一致情報を使用し
て、データがインページ・バッファ内に存在すると判定
し、PC−3で“IPBレジスタをプロセッサへゲー
ト”信号を活動化する。この信号はIPBレジスタ47
の内容をシフト器及び次にプロセッサへ転送するために
使用される。プロセッサは次に、別の読出し或いは書込
み要求を続くプロセッサ・サイクルで出力できる。
【0046】図6はプロセッサ読出し要求に関する事象
のタイミングを表し、ここでは要求データはキャッシュ
内に見い出される。このタイミング・シーケンスは、前
述の比較オペレーションの結果として“IPBレジスタ
をプロセッサへゲート”信号の代わりに“SDRレジス
タをプロセッサへゲート”信号を活動化する以外は図5
と同じである。
【0047】図7はプロセッサ書込み要求に関する事象
のタイミングを示し、ここでは書き込まれるデータ・ロ
ケーションはインページ・バッファ内に見い出される。
アドレス・レジスタ/アドレス変換器から受け取られる
アドレスが、キャッシュ・メモリ及びインページ・バッ
ファの両者にPC−1で提供される。比較器はアドレス
・ビット18−26の現在値、保管値及び列一致情報を
使用して、データがインページ・バッファ内に存在する
と判定し、PC−3で“IPBレジスタをプロセッサへ
ゲート”信号を活動化する。次にインページ・バッファ
書込みストローブがPC−0において、プロセッサによ
り提供されたデータをインページ・バッファに書き込む
ために与えられる。プロセッサは次に別の読出し或いは
書込み要求を続くプロセッサ・サイクルにおいて出力で
きる。
【0048】図8はプロセッサ書込み要求に関する事象
のタイミングを示し、ここでは書き込まれるデータ・ロ
ケーションはキャッシュ・メモリ内に見い出される。こ
のタイミング・シーケンスは、インページ・バッファ書
込み制御#1の代わりにキャッシュ書込み制御#1が活
動化され、また前述の比較オペレーションの結果として
インページ・バッファ書込みストローブの代わりにキャ
ッシュ書込みストローブが発生する以外は図7の場合と
同じである。
【0049】図10A及び10Bはクロック・セレクタ
制御装置の詳細を示し、これは適切なプロセッサ或いは
メモリ・クロックを図2に示される構成装置に提供す
る。クロック・セレクタ制御装置への入力はプロセッサ
或いはメモリ・クロック(図1及び図3参照)、及びキ
ャッシュ/IPB制御装置50からの出力(回路は図2
及び図9、タイミングは図3ー図8参照)である。後者
はインページ・バッファ・ストローブ、インページ・バ
ッファ・アドレス・カウンタ、IPBレジスタ47クロ
ック、キャッシュ・メモリ・ストローブ、キャッシュ・
メモリ・アドレス・カウンタ及び記憶データ・レジスタ
45クロックに適用する適切なプロセッサ及びメモリ・
クロックを選択する(図2参照)。
【0050】これまでの説明により、本発明によるデー
タ・アクセス・システムが開示された。しかし、数多く
の変更及び置換が本発明の範中から逸脱すること無く可
能である。例えば、本発明はマルチプロセッサ・システ
ムに拡張できる。こうした拡張において、図示されたシ
ステム構成装置は各プロセッサに対し、メモリ・サブ・
システム19以外は全て繰り返される。データ、アドレ
ス及び制御インタフェースは示されたものと同様であ
る。キャッシュ・メモリ間のデータの保全性はキャッシ
ュ/IPBディレクトリ制御装置内の追加手段を通じて
保持される。これらの手段はキャッシュ/IPBディレ
クトリ内の各入力に対し実施されるコピー・ビットを含
み、これはプロセッサ間において潜在的に共有され変更
されない128バイト・ブロックのデータを示す。ま
た、キャッシュ/IPBディレクトリを検索するために
他の遠隔プロセッサからのアドレスを送信するためのメ
カニズムが要求され、他のプロセッサにより要求される
ブロック・データがローカル・プロセッサに関与するキ
ャッシュ・メモリ内に存在するかを判定することが必要
である。キャッシュ・メモリ内のブロック・データを無
効にし、これらを別のキャッシュ・メモリに送る手段も
場合により含まれる。上述のインページ・バッファの実
施は、データの保全メカニズムに対する何等の変更も必
要としない。なぜなら、キャッシュ/IPBディレクト
リは、キャッシュ・メモリ及びインページ・バッファ間
で分けられる1個の128バイト・ブロックと同様に、
キャッシュ・メモリに含まれる全ての128ブロックに
対するデータの保全性を保証するための付加的情報を含
むからである。従って、本発明は図に基づき開示されて
きたがこれに限るものではなく、特許請求の範囲に示す
範中において有効である。
【0051】
【発明の効果】以上説明したように、本発明によれば、
主メモリ・データへのコンピュータ・プロセッサによる
アクセス・スピードを改善できる。
【図面の簡単な説明】
【図1】本発明によるコンピュータ・システムのデータ
・アクセス要素のブロック図である。
【図2】図2Aと図2Bの結合を示す図である。
【図2A】図1の更に詳細なブロック図である。
【図2B】図1の更に詳細なブロック図である。
【図3】図3Aと図3Bと図3Cの結合を示す図であ
る。
【図3A】図2で示す要素のインページ・バッファのア
ンロード及びインページ・オペレーションのタイミング
図である。
【図3B】図2で示す要素のインページ・バッファのア
ンロード及びインページ・オペレーションのタイミング
図である。
【図3C】図2で示す要素のインページ・バッファのア
ンロード及びインページ・オペレーションのタイミング
図である。
【図4】図4Aと図4Bと図4Cの結合を示す図であ
る。
【図4A】図2で示す要素のアウトページ・オペレーシ
ョンのタイミング図である。
【図4B】図2で示す要素のアウトページ・オペレーシ
ョンのタイミング図である。
【図4C】図2で示す要素のアウトページ・オペレーシ
ョンのタイミング図である。
【図5】図2で示す要素に関するプロセッサ要求データ
がインページ・バッファ内に存在する場合のプロセッサ
読出し要求及びその結果事象のタイミング図である。
【図6】図2で示す要素に関するプロセッサ要求データ
がキャッシュ・メモリ内に存在する場合のプロセッサ読
出し要求及びその結果事象のタイミング図である。
【図7】図2で示す要素に関するデータがインページ・
バッファ内に書き込まれる場合のプロセッサ書込み要求
のタイミング図である。
【図8】図2で示す要素に関するデータがキャッシュ・
メモリ内に書き込まれる場合のプロセッサ書込み要求の
タイミング図である。
【図9】図9Aと図9Bの結合を示す図である。
【図9A】図2のキャッシュ/インページ・バッファ制
御装置の詳細ブロック図である。
【図9B】図2のキャッシュ/インページ・バッファ制
御装置の詳細ブロック図である。
【図10A】図2のクロック・セレクタ制御装置の詳細
なデジタル論理図である。
【図10B】図2のクロック・セレクタ制御装置の詳細
なデジタル論理図である。
【符号の説明】
10・・・データ・アクセス・システム 12・・・インページ・バッファ 14・・・キャッシュ・メモリ 16・・・メモリ・クロック 18・・・プロセッサ・クロック 19・・・メモリ・サブシステム 20・・・主メモリ 22・・・データ・ライン 24・・・データ・ライン 26・・・プロセッサ 27・・・クロック・セレクタ制御装置 28・・・データ・ライン 30・・・データ・ライン 50・・・キャッシュ/インページ・バッファ制御装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マニュアル・ジョセフ・アルバレズ、セ カンド アメリカ合衆国ニューヨーク州、ビンガ ムトン、ボックス 361、アール・ディ ー、ナンバー4 (72)発明者 グレン・デビット・ギルダ アメリカ合衆国ニューヨーク州、エンデ ィコット、アパートメント 3、コベン トリ・ロード 15番地 (56)参考文献 特開 昭63−292348(JP,A) 米国特許4964041(US,A)

Claims (29)

    (57)【特許請求の範囲】
  1. 【請求項1】データ・プロセッサと、 主メモリと、 前記主メモリに接続されて該主メモリからデータを受信
    し、前記プロセッサに接続されて該プロセッサにデータ
    を転送するキャッシュ・メモリと、 前記主メモリに接続されて該主メモリからデータを受信
    し、前記キャッシュ・メモリに接続されて該キャッシュ
    ・メモリにデータを転送するデータ・バッファと、 前記主メモリからのブロック・データの一部を前記キャ
    ッシュ・メモリに転送し、前記データの前記一部は前記
    プロセッサによりアクセスされ、前記転送は前記データ
    ・バッファへの前転送なしに実行され、前記ブロック・
    データの別部分を前記データ・バッファへ転送する手段
    と、 を具備することを特徴とするコンピュータ・システム。
  2. 【請求項2】前記プロセッサは前記データ・バッファに
    接続され、該データ・バッファからデータを読み出すこ
    とを特徴とする請求項1記載のコンピュータ・システ
    ム。
  3. 【請求項3】前記転送手段は前記プロセッサが前記キャ
    ッシュ・メモリ内の前記ブロック・データの前記一部を
    アクセスする間に、前記ブロック・データの前記別部分
    を前記データ・バッファへ転送することを特徴とする請
    求項1記載のコンピュータ・システム。
  4. 【請求項4】前記プロセッサが前記キャッシュ・メモリ
    内の前記ブロック・データの前記一部をアクセスするタ
    イミングを制御するための前記プロセッサに接続される
    第1クロック手段と、 前記主メモリから前記キャッシュ・メモリ及び前記デー
    タ・バッファへのデータ転送のタイミングを制御するた
    めの前記主メモリに接続される第2クロック手段とを具
    備し、前記第1クロック手段は前記第2クロック手段と
    異なるサイクル・タイムを有することを特徴とする請求
    項1記載のコンピュータ・システム。
  5. 【請求項5】前記ブロック・データの前記一部は前記ブ
    ロック・データの前記別部分が前記データ・バッファへ
    転送される以前に前記キャッシュ・メモリへ転送される
    ことを特徴とする請求項1記載のコンピュータ・システ
    ム。
  6. 【請求項6】前記ブロック・データの前記一部はプロセ
    ッサからの前記ブロック・データの前記一部に含まれる
    データに対する要求に応答して、前記キャッシュ・メモ
    リへ転送されることを特徴とする請求項1記載のコンピ
    ュータ・システム。
  7. 【請求項7】前記ブロック・データの前記別部分を前記
    データ・バッファから前記キャッシュ・メモリに転送す
    る手段を具備することを特徴とする請求項1記載のコン
    ピュータ・システム。
  8. 【請求項8】コンピュータ・プロセッサによるメモリ内
    データへのアクセス方法において、 前記プロセッサにより要求されるデータをインページ・
    バッファをバイパスしてキャッシュへ転送し、 該キャッシュへ前記要求データを転送後、別のデータを
    インページ・バッファへ転送し、 前記別のデータが前記インページ・バッファに転送され
    る間に、前記プロセッサが前記キャッシュ内の前記要求
    データをアクセスすることを特徴とする方法。
  9. 【請求項9】前記インページ・バッファへ前記別のデー
    タを転送後、前記プロセッサが前記インページ・バッフ
    ァをアクセスすることを特徴とする請求項8記載の方
    法。
  10. 【請求項10】前記プロセッサは前記キャッシュ内の前
    記要求データを第1のクロック・サイクルにより決定さ
    れる第1のレートで読出し、前記別のデータは第2のク
    ロック・サイクルにより決定される第2のレートで前記
    インページ・バッファに転送されることを特徴とする請
    求項8記載の方法。
  11. 【請求項11】前記メモリから異なるデータをフェッチ
    する間に、前記別のデータを前記インページ・バッファ
    から前記キャッシュに転送することを特徴とする請求項
    8記載の方法。
  12. 【請求項12】データ・プロセッサと、 前記プロセッサに接続されて該プロセッサのオペレーシ
    ョンをタイミング制御する第1クロック手段と、 主メモリと、 前記主メモリに接続されて該主メモリからデータを受信
    し、前記プロセッサに接続されて該プロセッサにデータ
    を転送するキャッシュ・メモリと、 前記主メモリに接続されて該主メモリからデータを受信
    し、前記キャッシュ・メモリに接続されて該キャッシュ
    ・メモリにデータを転送し、前記プロセッサに接続され
    て該プロセッサにデータを転送するデータ・バッファ
    と、 前記主メモリから前記キャッシュ・メモリ及び前記デー
    タ・バッファへのデータ転送をタイミング制御するため
    に前記主メモリに接続される第2クロック手段とを具備
    し、前記第1クロック手段は前記第2クロック手段と異
    なるサイクル・タイムを有し、 前記データ・バッファを異なるオペレーションの間に前
    記第1クロック手段及び前記第2クロック手段によりタ
    イミング制御し、前記キャッシュ・メモリを異なるオペ
    レーションの間に前記第1クロック手段及び前記第2ク
    ロック手段によりタイミング制御する手段を具備するこ
    とを特徴とするコンピュータ・システム。
  13. 【請求項13】前記タイミング制御手段は、 前記第2クロック手段の提供により前記データ・バッフ
    ァをタイミング制御し、前記主メモリの前記データ・バ
    ッファへのデータ転送を許可する手段と、 前記第1クロック手段の提供により前記データ・バッフ
    ァをタイミング制御し、前記プロセッサの前記データ・
    バッファからのデータ読出しを許可する手段と、 前記第1クロック手段の提供により前記キャッシュ・メ
    モリをタイミング制御し、前記プロセッサの前記キャッ
    シュ・メモリからのデータ読出しを許可する手段と、 を具備することを特徴とする請求項12記載のコンピュ
    ータ・システム。
  14. 【請求項14】前記タイミング制御手段は、 前記第2クロック手段の提供により前記データ・バッフ
    ァをタイミング制御し、前記主メモリ・データの前記デ
    ータ・バッファへの転送を許可し、 前記第2クロック手段が提供されて前記データ・バッフ
    ァがタイミング制御され、前記主メモリ・データが前記
    データ・バッファへ転送される間に、前記第1クロック
    手段の提供により前記キャッシュ・メモリをタイミング
    制御し、前記プロセッサの前記キャッシュ・メモリから
    のデータ読出しを許可することを特徴とする請求項12
    記載のコンピュータ・システム。
  15. 【請求項15】前記主メモリ・データのブロックの一部
    を予め前記データ・バッファへ転送すること無しに前記
    キャッシュ・メモリに転送する手段を具備することを特
    徴とする請求項12記載のコンピュータ・システム。
  16. 【請求項16】前記第2クロック手段が前記キャッシュ
    ・メモリをタイミング制御するために提供される間に、
    前記プロセッサにより要求されるデータを前記データ・
    バッファをバイパスして前記キャッシュ・メモリへ転送
    し、次に前記第1クロック手段を前記キャッシュ・メモ
    リに提供し、前記プロセッサが前記キャッシュ・メモリ
    から前記要求データを読み出すことを許可する手段を具
    備することを特徴とする請求項12記載のコンピュータ
    ・システム。
  17. 【請求項17】前記第1クロック手段が同時に提供され
    て前記データ・バッファ及び前記キャッシュ・メモリを
    タイミング制御し、前記プロセッサによる前記データ・
    バッファ及び前記キャッシュ・メモリからのデータの読
    出しを許可することを特徴とする請求項12記載のコン
    ピュータ・システム。
  18. 【請求項18】前記タイミング制御手段は、 前記キャッシュ・メモリ及び前記データ・バッファへの
    アクセスを制御する手段と、 前記制御手段に接続されて前記第1クロック手段或いは
    前記第2クロック手段のどちらか一方を選択する手段と
    を具備し、少なくとも部分的には前記制御手段の出力に
    基づき、前記データ・バッファ及び前記キャッシュ・メ
    モリをタイミング制御することを特徴とする請求項12
    記載のコンピュータ・システム。
  19. 【請求項19】前記第1クロック手段及び前記第2クロ
    ック手段は共有基本クロックのセグメントであることを
    特徴とする請求項12記載のコンピュータ・システム。
  20. 【請求項20】ブロック・データの一部を前記キャッシ
    ュ・メモリに、また前記ブロック・データの別部分を前
    記データ・バッファに転送し、引き続き別のブロック・
    データが主メモリからフェッチされる間に、前記ブロッ
    ク・データの前記別部分を前記データ・バッファから前
    記キャッシュ・メモリに転送することを特徴とする請求
    項12記載のコンピュータ・システム。
  21. 【請求項21】前記主メモリからのデータ出力の制御手
    段と、 前記制御手段のオペレーションを前記第1クロック手段
    によりタイミング制御することにより前記制御手段が前
    記プロセッサから発生される通信に応答することを可能
    とし、また前記制御手段のオペレーションを前記第2ク
    ロック手段によりタイミング制御することにより前記主
    メモリから前記キャッシュ・メモリ及び前記データ・バ
    ッファへのデータ転送を可能とする手段と、 を具備することを特徴とする請求項12記載のコンピュ
    ータ・システム。
  22. 【請求項22】前記データ・バッファはインページ・バ
    ッファであり、前記キャッシュ・メモリよりも小容量で
    あることを特徴とする請求項12記載のコンピュータ・
    システム。
  23. 【請求項23】前記第1クロック手段は複数の同一のサ
    イクル・タイムを有するオーバラップすることのない周
    期的なタイミング信号により構成されることを特徴とす
    る請求項12記載のコンピュータ・システム。
  24. 【請求項24】前記第2クロック手段は複数の同一のサ
    イクル・タイムを有するオーバラップすることのない周
    期的なタイミング信号により構成されることを特徴とす
    る請求項12記載のコンピュータ・システム。
  25. 【請求項25】データ・プロセッサと、 前記プロセッサに接続されて該プロセッサのオペレーシ
    ョンをタイミング制御する第1クロック手段と、 主メモリと、 前記主メモリに接続されて該主メモリからデータを受信
    し、前記プロセッサに接続されて該プロセッサにデータ
    を転送するキャッシュ・メモリと、 前記主メモリに接続されて該主メモリからデータを受信
    し、前記キャッシュ・メモリに接続されて該キャッシュ
    ・メモリにデータを転送し、前記プロセッサに接続され
    て該プロセッサにデータを転送するデータ・バッファ
    と、 前記主メモリから前記キャッシュ・メモリ及び前記デー
    タ・バッファへのデータ転送をタイミング制御するため
    に前記主メモリに接続される第2クロック手段とを具備
    し、前記第1クロック手段は前記第2クロック手段と異
    なるサイクル・タイムを有し、 前記第2クロック手段の提供により前記データ・バッフ
    ァをタイミング制御して、前記主メモリから生ずるデー
    タの前記データ・バッファへの転送を許可し、また前記
    第2クロック手段により前記データ・バッファがタイミ
    ング制御され、前記主メモリから発生する前記データが
    前記データ・バッファへ転送される間に、前記第1クロ
    ック手段の提供により前記キャッシュ・メモリをタイミ
    ング制御し、前記プロセッサの前記キャッシュ・メモリ
    からのデータ読出しを許可することを特徴とするコンピ
    ュータ・システム。
  26. 【請求項26】データ・プロセッサと、 主メモリと、 前記主メモリに接続されて該主メモリからデータを受信
    し、前記プロセッサに接続されて該プロセッサにデータ
    を転送するキャッシュ・メモリと、 前記主メモリに接続されて該主メモリからデータを受信
    し、前記キャッシュ・メモリに接続されて該キャッシュ
    ・メモリにデータを転送するデータ・バッファと、 ブロック・データの一部を前記キャッシュ・メモリに転
    送し、前記ブロック・データの別部分を前記データ・バ
    ッファへ転送し、引き続き別のブロック・データが前記
    主メモリからフェッチされる間に、前記ブロック・デー
    タの前記別部分を前記データ・バッファから前記キャッ
    シュ・メモリに転送する手段と、 を具備することを特徴とするコンピュータ・システム。
  27. 【請求項27】前記ブロック・データの前記一部は、前
    記ブロック・データの前記別部分が前記データ・バッフ
    ァに転送される以前に前記キャッシュ・メモリに転送さ
    れることを特徴とする請求項26記載のコンピュータ・
    システム。
  28. 【請求項28】前記ブロック・データの前記一部は、プ
    ロセッサからの前記ブロック・データの前記一部に含ま
    れるデータに対する要求に応答して、前記キャッシュ・
    メモリへ転送されることを特徴とする請求項26記載の
    コンピュータ・システム。
  29. 【請求項29】前記データ・バッファへ転送される前記
    ブロック・データの前記別部分は、前記プロセッサが前
    記キャッシュ・メモリ内の前記ブロック・データの前記
    一部を処理後、直ちに前記プロセッサにより要求される
    ことを特徴とする請求項26記載のコンピュータ・シス
    テム。
JP4029781A 1991-02-25 1992-02-17 高速データ・アクセス・システム Expired - Lifetime JP2553274B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/660,468 US5454093A (en) 1991-02-25 1991-02-25 Buffer bypass for quick data access
US660468 1991-02-25

Publications (2)

Publication Number Publication Date
JPH08202620A JPH08202620A (ja) 1996-08-09
JP2553274B2 true JP2553274B2 (ja) 1996-11-13

Family

ID=24649659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4029781A Expired - Lifetime JP2553274B2 (ja) 1991-02-25 1992-02-17 高速データ・アクセス・システム

Country Status (2)

Country Link
US (1) US5454093A (ja)
JP (1) JP2553274B2 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0552426A1 (en) * 1992-01-24 1993-07-28 International Business Machines Corporation Multilevel memory system
TW228580B (en) * 1993-10-01 1994-08-21 Ibm Information processing system and method of operation
US5832534A (en) * 1994-01-04 1998-11-03 Intel Corporation Method and apparatus for maintaining cache coherency using a single controller for multiple cache memories
US5701503A (en) * 1994-01-04 1997-12-23 Intel Corporation Method and apparatus for transferring information between a processor and a memory system
US5687316A (en) * 1994-07-29 1997-11-11 International Business Machines Corporation Communication apparatus and methods having P-MAC, I-MAC engines and buffer bypass for simultaneously transmitting multimedia and packet data
GR940100383A (en) * 1994-08-02 1996-04-30 Idryma Technologias & Erevnas A high-throughput data buffer.
US5682480A (en) * 1994-08-15 1997-10-28 Hitachi, Ltd. Parallel computer system for performing barrier synchronization by transferring the synchronization packet through a path which bypasses the packet buffer in response to an interrupt
US5701447A (en) * 1995-07-28 1997-12-23 Intel Corporation Method and apparatus for eliminating latch propagation delays in an alignment unit for use in a fractional bus architecture
US5835941A (en) * 1995-11-17 1998-11-10 Micron Technology Inc. Internally cached static random access memory architecture
US5829010A (en) * 1996-05-31 1998-10-27 Sun Microsystems, Inc. Apparatus and method to efficiently abort and restart a primary memory access
US5872939A (en) * 1996-06-05 1999-02-16 Compaq Computer Corporation Bus arbitration
US5903906A (en) * 1996-06-05 1999-05-11 Compaq Computer Corporation Receiving a write request that allows less than one cache line of data to be written and issuing a subsequent write request that requires at least one cache line of data to be written
US5872941A (en) * 1996-06-05 1999-02-16 Compaq Computer Corp. Providing data from a bridge to a requesting device while the bridge is receiving the data
US6021480A (en) * 1996-06-05 2000-02-01 Compaq Computer Corporation Aligning a memory read request with a cache line boundary when the request is for data beginning at a location in the middle of the cache line
US6035362A (en) * 1996-06-05 2000-03-07 Goodrum; Alan L. Storing data associated with one request while continuing to store data associated with a previous request from the same device
US5987539A (en) * 1996-06-05 1999-11-16 Compaq Computer Corporation Method and apparatus for flushing a bridge device read buffer
US6055590A (en) * 1996-06-05 2000-04-25 Compaq Computer Corporation Bridge circuit comprising independent transaction buffers with control logic adapted to store overflow data in second buffer when transaction size exceeds the first buffer size
US6108741A (en) * 1996-06-05 2000-08-22 Maclaren; John M. Ordering transactions
US6075929A (en) * 1996-06-05 2000-06-13 Compaq Computer Corporation Prefetching data in response to a read transaction for which the requesting device relinquishes control of the data bus while awaiting data requested in the transaction
US6052513A (en) * 1996-06-05 2000-04-18 Compaq Computer Corporation Multi-threaded bus master
US6202125B1 (en) 1996-11-25 2001-03-13 Intel Corporation Processor-cache protocol using simple commands to implement a range of cache configurations
US6138192A (en) * 1996-12-31 2000-10-24 Compaq Computer Corporation Delivering a request to write or read data before delivering an earlier write request
US5983321A (en) * 1997-03-12 1999-11-09 Advanced Micro Devices, Inc. Cache holding register for receiving instruction packets and for providing the instruction packets to a predecode unit and instruction cache
US6230245B1 (en) 1997-02-11 2001-05-08 Micron Technology, Inc. Method and apparatus for generating a variable sequence of memory device command signals
US6175894B1 (en) 1997-03-05 2001-01-16 Micron Technology, Inc. Memory device command buffer apparatus and method and memory devices and computer systems using same
US6212605B1 (en) * 1997-03-31 2001-04-03 International Business Machines Corporation Eviction override for larx-reserved addresses
US6094708A (en) * 1997-05-06 2000-07-25 Cisco Technology, Inc. Secondary cache write-through blocking mechanism
US6209072B1 (en) 1997-05-06 2001-03-27 Intel Corporation Source synchronous interface between master and slave using a deskew latch
US6122729A (en) 1997-05-13 2000-09-19 Advanced Micro Devices, Inc. Prefetch buffer which stores a pointer indicating an initial predecode position
US5996043A (en) 1997-06-13 1999-11-30 Micron Technology, Inc. Two step memory device command buffer apparatus and method and memory devices and computer systems using same
JP3481425B2 (ja) * 1997-06-16 2003-12-22 エヌイーシーコンピュータテクノ株式会社 キャッシュ装置
US6484244B1 (en) 1997-06-17 2002-11-19 Micron Technology, Inc. Method and system for storing and processing multiple memory commands
US6128703A (en) * 1997-09-05 2000-10-03 Integrated Device Technology, Inc. Method and apparatus for memory prefetch operation of volatile non-coherent data
US6185660B1 (en) * 1997-09-23 2001-02-06 Hewlett-Packard Company Pending access queue for providing data to a target register during an intermediate pipeline phase after a computer cache miss
US6202119B1 (en) 1997-12-19 2001-03-13 Micron Technology, Inc. Method and system for processing pipelined memory commands
US6175905B1 (en) * 1998-07-30 2001-01-16 Micron Technology, Inc. Method and system for bypassing pipelines in a pipelined memory command generator
US6178488B1 (en) 1998-08-27 2001-01-23 Micron Technology, Inc. Method and apparatus for processing pipelined memory commands
US6484230B1 (en) 1998-09-28 2002-11-19 International Business Machines Corporation Method and system for speculatively processing a load instruction before completion of a preceding synchronization instruction
US6728823B1 (en) * 2000-02-18 2004-04-27 Hewlett-Packard Development Company, L.P. Cache connection with bypassing feature
US20030196072A1 (en) * 2002-04-11 2003-10-16 Chinnakonda Murali S. Digital signal processor architecture for high computation speed
US8356127B2 (en) * 2004-12-09 2013-01-15 Rambus Inc. Memory interface with workload adaptive encode/decode
JP4409620B2 (ja) * 2006-02-27 2010-02-03 富士通株式会社 演算処理装置、キャッシュメモリ制御装置及び制御方法
US8495272B2 (en) * 2006-11-29 2013-07-23 International Business Machines Corporation Method to save bus switching power and reduce noise in an engineered bus
US8560761B2 (en) * 2008-03-31 2013-10-15 Spansion Llc Memory resource management for a flash aware kernel
JP5583893B2 (ja) * 2008-05-28 2014-09-03 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US7535776B1 (en) * 2008-07-10 2009-05-19 International Business Machines Corporation Circuit for improved SRAM write around with reduced read access penalty
US10120749B2 (en) * 2016-09-30 2018-11-06 Intel Corporation Extended application of error checking and correction code in memory
US11080202B2 (en) * 2017-09-30 2021-08-03 Intel Corporation Lazy increment for high frequency counters

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3800292A (en) * 1972-10-05 1974-03-26 Honeywell Inf Systems Variable masking for segmented memory
US3820078A (en) * 1972-10-05 1974-06-25 Honeywell Inf Systems Multi-level storage system having a buffer store with variable mapping modes
US4075686A (en) * 1976-12-30 1978-02-21 Honeywell Information Systems Inc. Input/output cache system including bypass capability
US4354232A (en) * 1977-12-16 1982-10-12 Honeywell Information Systems Inc. Cache memory command buffer circuit
US4521850A (en) * 1977-12-30 1985-06-04 Honeywell Information Systems Inc. Instruction buffer associated with a cache memory unit
US4169284A (en) * 1978-03-07 1979-09-25 International Business Machines Corporation Cache control for concurrent access
US4189770A (en) * 1978-03-16 1980-02-19 International Business Machines Corporation Cache bypass control for operand fetches
US4268907A (en) * 1979-01-22 1981-05-19 Honeywell Information Systems Inc. Cache unit bypass apparatus
JPS5687282A (en) * 1979-12-14 1981-07-15 Nec Corp Data processor
US4467414A (en) * 1980-08-22 1984-08-21 Nippon Electric Co., Ltd. Cashe memory arrangement comprising a cashe buffer in combination with a pair of cache memories
US4442487A (en) * 1981-12-31 1984-04-10 International Business Machines Corporation Three level memory hierarchy using write and share flags
US4464717A (en) * 1982-03-31 1984-08-07 Honeywell Information Systems Inc. Multilevel cache system with graceful degradation capability
US4494190A (en) * 1982-05-12 1985-01-15 Honeywell Information Systems Inc. FIFO buffer to cache memory
US4551799A (en) * 1983-02-28 1985-11-05 Honeywell Information Systems Inc. Verification of real page numbers of stack stored prefetched instructions from instruction cache
JPH0644245B2 (ja) * 1983-12-29 1994-06-08 富士通株式会社 ストアバッファ装置
US4823259A (en) * 1984-06-29 1989-04-18 International Business Machines Corporation High speed buffer store arrangement for quick wide transfer of data
US4685082A (en) * 1985-02-22 1987-08-04 Wang Laboratories, Inc. Simplified cache with automatic update
US4881163A (en) * 1986-09-19 1989-11-14 Amdahl Corporation Computer system architecture employing cache data line move-out queue buffer
US4884198A (en) * 1986-12-18 1989-11-28 Sun Microsystems, Inc. Single cycle processor/cache interface
US4953077A (en) * 1987-05-15 1990-08-28 International Business Machines Corporation Accelerated data transfer mechanism using modified clock cycle
JPS6459441A (en) * 1987-08-24 1989-03-07 Ibm Cash system
US5019965A (en) * 1989-02-03 1991-05-28 Digital Equipment Corporation Method and apparatus for increasing the data storage rate of a computer system having a predefined data path width
US5041962A (en) * 1989-04-14 1991-08-20 Dell Usa Corporation Computer system with means for regulating effective processing rates

Also Published As

Publication number Publication date
US5454093A (en) 1995-09-26
JPH08202620A (ja) 1996-08-09

Similar Documents

Publication Publication Date Title
JP2553274B2 (ja) 高速データ・アクセス・システム
US4298929A (en) Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability
JPS5830319Y2 (ja) コンピユ−タシステム
US5201041A (en) Cache bypass apparatus
EP0604139B1 (en) Computer system including a prefetch cache
US5091851A (en) Fast multiple-word accesses from a multi-way set-associative cache memory
US5423016A (en) Block buffer for instruction/operand caches
US5251310A (en) Method and apparatus for exchanging blocks of information between a cache memory and a main memory
JP2717674B2 (ja) バスマスタ
US20020144059A1 (en) Flash memory low-latency cache
US4912631A (en) Burst mode cache with wrap-around fill
JPS6150342B2 (ja)
EP0347040A1 (en) Data memory system
US6065099A (en) System and method for updating the data stored in a cache memory attached to an input/output system
US5530833A (en) Apparatus and method for updating LRU pointer in a controller for two-way set associative cache
US5269009A (en) Processor system with improved memory transfer means
EP0167089B1 (en) Memory access control system and method for an information processing apparatus
JP2788836B2 (ja) ディジタルコンピュータシステム
US5367659A (en) Tag initialization in a controller for two-way set associative cache
US5479629A (en) Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address
EP0173909B1 (en) Look-aside buffer least recently used marker controller
JPH04336641A (ja) 処理システムにおける使用のためのデータキャッシュおよび方法
EP0375864A2 (en) Cache bypass
US6934810B1 (en) Delayed leaky write system and method for a cache memory
US6480940B1 (en) Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module