[go: up one dir, main page]

JPH0683703A - データ転送制御システム及びコンピユータ・システムの動作方法 - Google Patents

データ転送制御システム及びコンピユータ・システムの動作方法

Info

Publication number
JPH0683703A
JPH0683703A JP5011756A JP1175693A JPH0683703A JP H0683703 A JPH0683703 A JP H0683703A JP 5011756 A JP5011756 A JP 5011756A JP 1175693 A JP1175693 A JP 1175693A JP H0683703 A JPH0683703 A JP H0683703A
Authority
JP
Japan
Prior art keywords
data
memory
cache
cache memory
system memory
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
JP5011756A
Other languages
English (en)
Other versions
JP2601979B2 (ja
Inventor
Ravi K Arimilli
ラビ・クマール・アリミリ
Sudhir Dhawan
スディール・ダワン
David W Siegel
ダビッド・ウイリアム・シーゲル
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 JPH0683703A publication Critical patent/JPH0683703A/ja
Application granted granted Critical
Publication of JP2601979B2 publication Critical patent/JP2601979B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)

Abstract

(57)【要約】 【目的】 システム・メモリ及びキヤツシユ・メモリの
データに対して十分な完全さが与えられると共に、デー
タ転送速度を向上すること。 【構成】 マスク・ビツトがキヤツシユ・メモリ中のデ
ータ・ブロツクと関連して作成される。このマスク・ビ
ツトは転送動作の順序を再順序付けすることを可能にす
る。データがキヤツシユ・ラインを完全に満たすデータ
書き込み動作については、システム・メモリの読み取り
サイクルは完全に省略される。キヤツシユ・ラインの部
分的書き込みの場合には、システム・メモリへのデータ
読み取り範囲は、書き込まれなかつたキヤツシユ・ライ
ンの部分を差し引いて縮減することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピユータ・アーキ
テクチヤ及びデータ処理に関し、より詳細に言えば、デ
ータを記憶するキヤツシユ・メモリ及びシステム・メモ
リを使用したコンピユータ・アーキテクチヤの環境内で
予測できない(non-predictive)パターンを有するデー
タを転送するためのシステム及び方法に関する。
【0002】
【従来の技術】ワークステーシヨン型コンピユータの現
在のデザインは、1つ、または、それ以上の高速キヤツ
シユ型のメモリを含むコンピユータ・アーキテクチヤを
用いている。このキヤツシユ・メモリは、関連する低速
システム・メモリの影響を排除するのに用いられてい
る。米国特許第4719568号は、データ及び命令用
のキヤツシユ・メモリを用いた現在では旧式に属するワ
ークステーシヨンの構造と使用方法を開示している。
【0003】また、システム・バス及び入/出力(I/
O)バスの両方を持つ従来の装置の性能を上回る多数バ
スで構成されたワークステーシヨンも現在では、普通の
ワークステーシヨンである。I/Oバスは、ワークステ
ーシヨンと、ワークステーシヨンに対して機能的には外
部にある装置との間で情報を交換するバスである。広く
知られているI/Oバスの例は、IBM社から入手可能
なPersonal System/2*及びRISC System/6000*の製品に
使用されているMicro Channel*バスである。このMicro
Channelバスは、広く知られ、広く使用されているマス
タ・バス/スレーブ・バスのプロトコルを用いている。
(*印はIBM社の商標である。)
【0004】このような従来のワークステーシヨンのア
ーキテクチヤは、直接メモリ・アクセス(direct memor
y access-DMA)のリソースを通常に使用するという
側面も含んでいる。DMAは、I/Oバスとシステム・
メモリとの間の直接的なデータ転送を可能とするから、
データ・ワード毎にプロセツサを通る転送を避けること
ができる。DMAによるアクセス方法は、コンピユータ
の分野で公知の技術である。
【0005】データの完全さ(integrity)は、すべて
の書込み動作を、システム・メモリとアドレス的に関連
するキヤツシユ・メモリにより行なうことにより、シス
テム・メモリ中のデータと、キヤツシユ・メモリの対応
データとの間の一貫性を保証することを必要とする。こ
の保証をするための好ましい方法は、書込み動作のアク
セス媒体としてキヤツシユ・メモリを使用することであ
る。従つて、データの一貫性を保証するために、システ
ム・メモリへのすべての書込みタイプのデータ転送は、
キヤツシユ・メモリを通して行なわれる。
【0006】書き込まれるデータ・ブロツクが、DMA
のリソースによりI/OバスからI/Oキヤツシユ・メ
モリへ転送されたものであるのか、或は、プロセツサか
らプロセツサのキヤツシユ・メモリへ直接に転送された
ものであるのかとは無関係に、キヤツシユ・メモリに書
き込まれるデータ・ブロツクのサイズは、予測すること
ができない。従つて、転送されるデータは、任意の1転
送サイクルの間にキヤツシユ・メモリの転送単位全体、
即ちキヤツシユ・ラインを満たすかも知れないし、或
は、満たさないかも知れない。このような非予測性と、
データの完全さに必要とされる拡散性(pervasive)が
与えられると、従来のメモリ間のデータ転送の共通の方
法は、先ず、システム・メモリ中に存在するデータをシ
ステム・メモリからキヤツシユ・メモリに読み取るステ
ツプと、次に、変更されたデータをキヤツシユ・メモリ
に選択的に書き込むステツプと、変更部分を含む合成デ
ータをキヤツシユ・メモリからシステム・メモリに転送
するステツプとで動作順序が構成されており、最後のス
テツプは、後続の書き込みステツプの間でキヤツシユ・
ミスが発生するまで遅延される。従つて、キヤツシユ・
メモリへの書き込みステツプの結果として変更されたキ
ヤツシユ・メモリ中の変更データの数とは無関係に、キ
ヤツシユ・メモリのデータ単位、即ちキヤツシユ・ライ
ン中で変更されなかつた部分は、システム・メモリに対
するその時点のキヤツシユ・ライン書き込みサイクルの
間で、最初にシステム・メモリにストアされていたよう
に、システム・メモリに返還されなければならない。
【0007】従来の技術の下で行なわれるこれらの動作
速度、つまり、データのキヤツシユ・ラインを、システ
ム・メモリからキヤツシユ・メモリに読み取り、プロセ
ツサ、またはDMAのリソースによつて変更された変更
データをキヤツシユ・メモリに書き込み、そして、変更
データと非変更データとで合成されたキヤツシユ・ライ
ンの合成データをその時点でシステム・メモリに転送す
る動作速度は低速である。特に、キヤツシユ・メモリへ
の書き込み前の、システム・メモリからの読み取り動作
は、システム・メモリ、即ち、システムのRAMの読み
取り動作速度が対応するキヤツシユ・メモリの書き込み
動作速度よりも遥かに遅いので好ましくない。更に、キ
ヤツシユ・ラインのデータに対して、システム・メモリ
の読み取り動作の直後に続くキヤツシユ・メモリからシ
ステム・メモリへの連続した書き込み動作は、高速のシ
ステム・バスを、比較的長時間の間占有する。
【0008】
【発明が解決しようとする課題】キヤツシユ・メモリ機
能及びシステム・メモリ機能の両方の機能を持つコンピ
ユータ・アーキテクチヤの環境において、データの完全
さについて妥協することなく、かつ、プロセツサのバス
を不当に長時間占有することなく、予測できないパター
ンのデータを、キヤツシユ・メモリに転送することので
きるシステム及び方法が必要である。
【0009】
【課題を解決するための手段】本発明を適用することに
より、システム・メモリ及びキヤツシユ・メモリのデー
タに対して十分な完全さが与えられると共に、データ転
送速度を向上させることができる。マスク・ビツトがキ
ヤツシユ・メモリ中のデータ・ブロツクと関連して作成
される。このマスク・ビツトは、転送動作の順序を再順
序付けることを可能にする。データがキヤツシユ・ライ
ンを完全に満たすデータ書き込み動作については、シス
テム・メモリの読み取りサイクルは完全に省略される。
キヤツシユ・ラインの部分的書き込みの場合には、シス
テム・メモリへのデータ読み取り範囲は、書き込まれな
かつたキヤツシユ・ラインの部分を差し引いて縮少する
ことができる。
【0010】本発明は、データを、キヤツシユ・メモリ
を介してシステム・メモリへ転送する動作を制御するシ
ステム及びそれに関連する方法に関しており、本発明の
システムは、システム・メモリからキヤツシユ・メモリ
に接続するバスと、予測できないパターンを持つデータ
をキヤツシユ・メモリ中に転送する手段と、キヤツシユ
・メモリ中の選択されたビツトのグループにマスク・ビ
ツトを関係付ける手段と、マスク・ビツトの状態に応答
して、データをシステム・メモリ中に選択的に転送する
手段とを含んでいる。
【0011】本発明の良好な実施例において、マスク・
ビツトは、DMAのリソース内のI/Oキヤツシユ・メ
モリのキヤツシユ・ライン中のデータの各バイトに割り
当てられる。DMAによるI/OバスからI/Oキヤツ
シユ・メモリへのデータ転送は、どのバイトがキヤツシ
ユ・ラインに、実際に書き込まれたかを識別するために
監視される。問題のバイトに関連するマスク・ビツト
は、状態を変更される。例えば、64バイトのようなキ
ヤツシユ・ライン全体の転送に続いて、64個の関連マ
スク・ビツトは、書き込まれたキヤツシユ・ラインの全
範囲内のバイトを反映する。若し、キヤツシユ・ライン
全体がDMAサイクルによつて書き込まれたならば、現
在キヤツシユ・ライン中にあるデータは、システム・メ
モリ中に遅延することなく書き込むことができる。他
方、若し、キヤツシユ・ラインが一部だけ書き込まれた
ことを、マスク・ビツトが表示したならば、そのキヤツ
シユ・ラインにおいて変更されなかつたことをマスク・
ビツトによつて識別されたバイトについて、システム・
メモリの補足的な読み取りが開始される。従つて、キヤ
ツシユ・ライン全体によつて反映されるデータの完全さ
は、変わることなく維持される。通常、キヤツシユ・ラ
インのデータのシステム・メモリへの書き込みは、キヤ
ツシユ・ライン・ミスに続いて生じる。代わりに、変更
を反映するマスク・ビツトの定義に従つて選択されたキ
ヤツシユ・ラインからのバイトをシステム・メモリ中に
書き込むことも可能である。この順序(sequence)は、
個々のバイト単位ではなくキヤツシユ・ラインによつて
データの転送を行なう従来の大部分のシステムでは与え
られないであろう。
【0012】
【実施例】図1は、現在のワークステーシヨン・クラス
のコンピユータの機能的アーキテクチヤの高レベルのブ
ロツク図である。この種のコンピユータの代表的な例と
して、IBMのRISC System/6000がある。全般的に見る
と、システム・メモリ1は、ブランチ・プロセツサ2と
通信し、プロセツサ・キヤツシユ・メモリ3と通信し、
入/出力装置4、即ちI/Oと通信する。I/O、4の
中の装置と、システム・メモリ1との間の通信は、直接
メモリ・アクセス(DMA)のリソースを通して行なわ
れる。DMAのリソースの詳細は公知である。
【0013】図2に示されており、本発明に従つたコン
ピユータ・アーキテクチヤの実施例の構造は、システム
・バス6をI/Oバス7から隔離していることが明確に
されていると言う点から見て、図1のアーキテクチヤと
は若干の相異がある。図2において、DMAのリソース
は、本発明により決められた態様で、I/Oバス7から
システム・メモリ1にデータの転送を行なう複数個の機
能ブロツクに統合されている。本発明のアーキテクチヤ
及び環境の中心は、I/Oキヤツシユ・メモリ9にあ
る。システム・バス6及びI/Oバス7の間の機能的な
関係の説明を単純化するために、模式的な二重ポート構
成で示すことによつて、I/Oキヤツシユ・メモリ9
は、通常の単一ポート構成の高速度RAMと考えること
ができる。
【0014】図2に示したコンピユータ・アーキテクチ
ヤは、I/Oバス7上のバス・マスタ装置としてI/O
装置バス・マスタ8を示しており、これによつてI/O
バス・コントローラ11にスレーブ・モードの動作を行
なわせる。従つて、I/Oバス・コントローラ11は、
Micro Channelバスの「マイクロ・チヤネル・インター
フエイス・コントローラ」の公知の動作と同じような動
作態様で、I/Oバス7のスレーブ装置として、I/O
キヤツシユ・メモリ9を管理する。また、図2は、プロ
セツサ・バス・コントローラ13と、ハンドシエイク・
コントローラ14とを示しており、後者は、I/Oバス
・コントローラ11の動作と、プロセツサ・バス・コン
トローラ13の動作との間を調整する役目を果す。
【0015】マスク・ビツトの使用それ自身は、新規な
発明ではない。例えば、マスク・ビツトは、キヤツシユ
・ラインの制御に関する米国特許第4719568号、
インストラクシヨン・ワードの圧縮中にゼロ・データ・
フイールドを識別することに関する米国特許第5057
837号、キヤツシユ・メモリを選択的にパーテイシヨ
ン化することに関する特願昭63−250760号及び
DMAサイクル中にデータを選択的にゲートすることに
関する1989年5月のIBM Technical Disclosure Bul
letinの31巻12号の281頁乃至282頁に用いら
れている。然しながら、これらの刊行物は、通常の読み
取り/変更/書き込み(read/modify/write)動作を再
配列し、データの完全さを保持し、かつ、データ転送速
度を高めるために、予期できない(non-predictive)パ
ターンを持つデータのキヤツシユ書き込みに関連してマ
スク・ビツトを使用することを開示していない。
【0016】図3は、I/Oバス上に常駐のI/Oバス
・マスタから、プロセツサのデータ・キヤツシユ・メモ
リに関連するバス上に常駐のシステム・メモリへデータ
・ブロツクを書き込む際の代表的な動作順序を比較する
図である。図3に示した動作の比較を示す図において、
上側の記載は、従来の技術に従つた動作を示しており、
その直ぐ下側の記載は、本発明に従つた「事後要求(po
st-demand)」のメモリ・アクセス動作を示している。
【0017】先ず、従来の技術に従つたプロシージヤを
考察する。I/Oバス・マスタが、新しいキヤツシユ・
ラインへ連続した書き込み動作をシステム・メモリに対
して開始すると、先ず、キヤツシユ・メモリのコントロ
ーラは、システム・メモリから、キヤツシユ・メモリへ
のキヤツシユ・ラインの読み取り動作を開始する。バス
・マスタのDMA動作が予期できないから、DMA転送
によるI/Oデータのブロツクは、キヤツシユ・ライン
中の任意のバイトで開始、または終了しうる。これは、
すべてのキヤツシユ・ラインの残りが、システム・メモ
リ中の元のデータを反映し、または元のデータと一致す
ることを必要とする。次に、バス・マスタは、通常の方
法に従つて、キヤツシユ・ラインに1乃至64バイトの
データを書き込む。その後、後続のキヤツシユ・ミスが
生じると、丁度完了したばかりのキヤツシユ・ラインが
システム・メモリに書き込まれ、システム・メモリか
ら、次に続くキヤツシユ・ラインのキヤツシユ・ライン
読み取り動作が遂行される。図3に示されているよう
に、このプロシージヤは、各キヤツシユ・ラインに対し
て反復される。つまり、各キヤツシユ・ラインは、シス
テム・メモリからキヤツシユ・メモリへ読み取られて、
I/Oバス・マスタからのI/Oデータによつて変更さ
れ、次に、キヤツシユ・メモリからシステム・メモリに
書き込まれる。この動作順序は、システム・メモリのデ
ータと、キヤツシユ・メモリのデータとが一致している
ことを保証する。
【0018】本発明の良好な実施例に従うと、複数個の
マスク・ビツトが作成され、64バイト長のI/Oキヤ
ツシユ・ラインの中のデータの特定のバイトに関連付け
られる。マスク・ビツトは、I/Oバス・マスタとシス
テム・メモリとの間のデータ転送動作の順序を再順序付
けするのに用いられる。この新しい動作順序は、図3に
おいて、事後要求メモリ・アクセス順序として示されて
いる。事後要求メモリ・アクセス順序に従つて、キヤツ
シユ・ライン全体のI/Oデータが、I/O装置バス・
マスタ8からI/Oキヤツシユ・メモリ9に転送され
る。I/Oのキヤツシユ・ライン中のあるバイトに関連
するマスク・ビツトは、キヤツシユ・ライン中の対応す
るバイトが転送動作中に書き込まれると、状態が変更さ
れる。複数のマスク・ビツトは、キヤツシユ・ラインの
バイトのすべてが書き込まれたのか、または、キヤツシ
ユ・ラインの一部分だけが書き込まれたのかを定義す
る。これらのマスク・ビツトの問い合わせは、ルーチン
的には通常のキヤツシユ・ライン・ミスの後に続く。若
し、キヤツシユ・ライン全体が書き込み動作の対象とさ
れているならば、I/Oのキヤツシユ・ラインは、シス
テム・メモリの読取り動作に介入することなく、次のキ
ヤツシユ・ライン・ミスの時にシステム・メモリに書き
込まれる。他方、若し、幾つかのマスク・ビツトだけが
状態を変更され、部分的なキヤツシユ・ラインの書き込
みを反映しているならば、マスク・ビツトは、システム
・メモリからキヤツシユ・ラインへの読み取り動作中
に、どのバイトがマスクされるのかを選択的に定義する
のに用いられる。従つて、キヤツシユ・メモリのマスク
・ビツトは、データ中のどのバイトをシステム・メモリ
からキヤツシユ・ラインに転送する必要があるのかを決
定することと、キヤツシユ・メモリからシステム・メモ
リへの書き込み動作を完全に省略できる場合を確立する
こととの両方に用いられる。前に述べたように、システ
ム・メモリからキヤツシユ・メモリへのデータの読み取
り動作は、相対的には低速度の処理である。システム・
メモリからキヤツシユ・メモリへのキヤツシユ・メモリ
読み取り動作は、ルーチン上はキヤツシユ・ラインの単
位で定形的に行なわれるけれども、バス・アーキテクチ
ヤが本発明に従つて構成された時には、マスク・ビツト
で定義されるバイト・サイズでの転送が考慮される。
【0019】図2において、I/Oキヤツシユ・メモリ
9の中のデータに関連したマスク・ビツトの作成、記憶
及び使用は、マスク・ビツト論理ブロツク16と、マス
ク・ビツト・レジスタ17と、読み取り/書き込み論理
ブロツク18と、nビツト幅のオア・ゲート19と、n
ビツト幅のアンド・ゲート21との組み合せで行なわれ
る。データ転送は、キヤツシユ・ライン幅の単位で行な
われる。マスク・ビツト論理ブロツク16は、I/O装
置、バス・マスタ、8によつて転送されたデータの書き
込みアドレスをデコードし、マスク・ビツト・レジスタ
17について、バイトに関連したビツトを生成する。オ
ア・ゲート19は、I/Oキヤツシユ・メモリ9中のバ
イトが変更されなかつたことを判定して、システム・メ
モリ1を参照する必要がないことを表示する。アンド・
ゲート21は、I/Oキヤツシユ・メモリ9のすべての
バイトがI/O装置のバス・マスタ8によつて変更され
たことを判定する。n個のマスク・ビツトすべてが影響
を受けた場合には、システム・メモリ1からの読み取り
サイクルは、省略され、そして、DMA動作は、次のキ
ヤツシユ・ライン・ミスの時に、I/Oキヤツシユ・メ
モリ9から、システム・メモリ1へのキヤツシユ・ライ
ン幅の書き込み動作により終了する。その後直ちに、マ
スク・ビツトは元の状態に戻される。若し、幾つかのマ
スク・ビツトだけが状態を変更されており、対応するバ
イトの書き込みがI/Oキヤツシユ・メモリ9の中に反
映されているならば、I/Oバス・コントローラ11
は、読み取り/書き込み論理ブロツク18と協働して、
変更されていないビツト状態を持つバイト位置を選択的
にイネーブルする。システム・メモリ1からI/Oキヤ
ツシユ・メモリ9への上述のようなデータの選択的な読
み取り動作が完了されて、キヤツシユ・ライン・ミスが
発生した後、I/Oキヤツシユ・メモリ9中のキヤツシ
ユ・ラインのデータは、システム・メモリ1に転送さ
れ、そして、マスク・ビツト論理ブロツク16は、次に
続くI/O装置8からキヤツシユ・ラインのデータ転送
中にプロセツサ・バス・コントローラ13によつてリセ
ツトされる。
【0020】図2に示したアーキテクチヤの実施例の特
徴は多面性を持つている。第1の特徴は、I/O装置の
バス・マスタからのデータの転送中に、システム・メモ
リからI/Oキヤツシユ・メモリへのデータの読み取り
の時間を最小にすることである。この読み取り時間の短
縮は、キヤツシユ・ライン全体が変更されたことをマス
ク・ビツトが反映した時に、読み取りサイクルを完全に
省略することにより達成されるか、或は、最小片(mini
mum fraction)のキヤツシユ・ラインにまで、読み取り
サイクルの期間を短縮することによつて達成される。更
に、若し、I/O装置からの、所謂データ転送がキヤツ
シユ・ラインの実際の書き込みを生じなければ、システ
ム・メモリからの関連読み取り動作は省略される。
【0021】DMAデータの大部分のデータ・ブロツク
は、単一のキヤツシユ・ラインよりも遥かに大きいの
で、キヤツシユ・メモリを介するデータ転送を再順序付
けしてシステム・メモリの読み取りサイクルを省略する
上でマスク・ビツトを使用することは、非常に有用であ
ることが判つた。従つて、データのブロツクが大きけれ
ば大きい程、本発明により与えられる利益は大きくな
る。本発明の技術的範囲は、図2に示したプロセツサの
キヤツシユ・メモリ3を通るプロセツサ12とシステム
・メモリ1の間のデータ転送のように、I/O装置とシ
ステム・メモリとの間のデータ転送以外のデータ転送、
つまり、上述の実施例以外のデータ転送もカバーするも
のである。
【0022】
【発明の効果】キヤツシユ・メモリ及びシステム・メモ
リを備えたコンピユータ・システムにおいて、データの
完全さに対して妥協することなく、かつ、プロセツサの
バスを不当に長時間の間占用することなく、予測できな
いパターンを持つデータを、キヤツシユ・メモリに転送
することのできる装置及び方法を与える。
【図面の簡単な説明】
【図1】本発明が適用されるコンピユータ・アーキテク
チヤの高レベルのブロツク図である。
【図2】本発明のDMA装置による実施例を示すブロツ
ク図である。
【図3】メモリ・アクセスについて、本発明の方法のス
テツプと、従来の方法のステツプとを対比するための図
である。
【符号の説明】
1 システム・メモリ 2 ブランチ・プロセツサのキヤシユ・メモリ 3 プロセツサのキヤシユ・メモリ 4 入/出力装置(I/O) 6 システム・バス 7 I/Oバス 8 I/O装置のバス・マスタ 9 I/Oキヤツシユ・メモリ 11 I/Oバス・コントローラ 12 プロセツサ 13 プロセツサ・バス・コントローラ 14 ハンドシエーク・コントローラ 16 マスク・ビツト論理ブロツク 17 マスク・ビツト・レジスタ 18 読み取り/書き込み論理ブロツク 19 オア・ゲート 21 アンド・ゲート
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スディール・ダワン アメリカ合衆国テキサス州、オースチン、 サンズ・ソウチ・プレース 10600 (72)発明者 ダビッド・ウイリアム・シーゲル アメリカ合衆国テキサス州、オースチン、 ブル・オーク 3801

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 キヤツシユ・メモリを含むコンピユータ
    のシステム・メモリへのデータ転送を制御するシステム
    において、 上記システム・メモリ及び上記キヤツシユ・メモリに接
    続されたバスと、 上記キヤツシユ・メモリとI/O装置とに接続されたI
    /Oバスと、 予期できないパターンのデータを上記キヤツシユ・メモ
    リに転送する第1の転送手段と、 マスク・ビツトの状態を、上記キヤツシユ・メモリ中の
    複数のグループからなるデータ単位より選択されたビツ
    ト・グループの変更内容と関係付ける手段と、 選択的に上記マスク・ビツトの状態に応答して、システ
    ム・メモリからキヤツシユ・メモリにデータを転送する
    第2の転送手段とを含むデータ転送制御システム。
  2. 【請求項2】 上記第2の転送手段は、全マスク・ビツ
    トの状態が一致した時に、システム・メモリからの読み
    取り動作を省略する、請求項1に記載のデータ転送制御
    システム。
  3. 【請求項3】 上記第2の転送手段は、システム・メモ
    リからキヤツシユ・メモリへ、ビツト・グループ単位で
    選択的にデータを転送する、請求項2に記載のデータ転
    送制御システム。
  4. 【請求項4】 上記第2の転送手段は、キヤツシユ・メ
    モリからシステム・メモリへ、ビツト・グループ単位で
    選択的にデータを転送する、請求項2に記載のデータ転
    送制御システム。
  5. 【請求項5】 上記データ単位はキヤツシユ・ラインに
    対応する、請求項3に記載のデータ転送制御システム。
  6. 【請求項6】 マスク・ビツトはバイト幅のビツト・グ
    ループについて関連付けられる、請求項5に記載のデー
    タ転送制御システム。
  7. 【請求項7】 キヤツシユ・メモリを介してシステム・
    メモリにデータ転送を行なうコンピユータ・システムの
    動作方法において、 予測できないパターンのデータをプロセツサのキヤツシ
    ユ・メモリに転送するステツプと、 キヤツシユ・メモリに転送される複数のグループよりな
    るデータ単位中の選択されたビツト・グループに関連す
    るマスク・ビツトを生成するステツプと、 マスク・ビツトの状態に基づいて、システム・メモリか
    らキヤツシユ・メモリに選択的にデータを転送するステ
    ツプとを含むコンピユータ・システムの動作方法。
  8. 【請求項8】 複数のグループからなるデータ単位は、
    キヤツシユ・ラインに対応する、請求項7に記載のコン
    ピユータ・システムの動作方法。
  9. 【請求項9】 マスク・ビツトはバイト・サイズのビツ
    ト・グループについて関連付けられる、請求項8に記載
    のコンピユータ・システムの動作方法。
JP5011756A 1992-04-20 1993-01-27 データ転送制御装置及びコンピュータ・システムの動作方法 Expired - Lifetime JP2601979B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/871,322 US5491811A (en) 1992-04-20 1992-04-20 Cache system using mask bits to recorder the sequences for transfers of data through cache to system memory
US871322 1997-06-09

Publications (2)

Publication Number Publication Date
JPH0683703A true JPH0683703A (ja) 1994-03-25
JP2601979B2 JP2601979B2 (ja) 1997-04-23

Family

ID=25357199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5011756A Expired - Lifetime JP2601979B2 (ja) 1992-04-20 1993-01-27 データ転送制御装置及びコンピュータ・システムの動作方法

Country Status (3)

Country Link
US (1) US5491811A (ja)
EP (1) EP0567243A1 (ja)
JP (1) JP2601979B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007096981A1 (ja) * 2006-02-24 2007-08-30 Fujitsu Limited 記録制御装置および記録制御方法
JP2023142458A (ja) * 2022-03-25 2023-10-05 株式会社日立製作所 制御装置及び制御システム

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680642A (en) * 1993-06-25 1997-10-21 At&T Global Information Solutions Company Method and apparatus for pseudo-aligned transfers of data to memory wherein a re-alignment is performed based on the data byte control header
US5636365A (en) * 1993-10-05 1997-06-03 Nec Corporation Hierarchical buffer memories for selectively controlling data coherence including coherence control request means
DE4423559A1 (de) * 1993-11-09 1995-05-11 Hewlett Packard Co Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher
US6295585B1 (en) * 1995-06-07 2001-09-25 Compaq Computer Corporation High-performance communication method and apparatus for write-only networks
JPH0916470A (ja) 1995-07-03 1997-01-17 Mitsubishi Electric Corp 半導体記憶装置
US5872939A (en) * 1996-06-05 1999-02-16 Compaq Computer Corporation Bus arbitration
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
US6108741A (en) * 1996-06-05 2000-08-22 Maclaren; John M. Ordering transactions
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
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
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
US6052513A (en) * 1996-06-05 2000-04-18 Compaq Computer Corporation Multi-threaded bus master
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
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
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
US7035981B1 (en) * 1998-12-22 2006-04-25 Hewlett-Packard Development Company, L.P. Asynchronous input/output cache having reduced latency
US6487637B1 (en) * 1999-07-30 2002-11-26 International Business Machines Corporation Method and system for clearing dependent speculations from a request queue
US6535957B1 (en) 1999-11-09 2003-03-18 International Business Machines Corporation System bus read data transfers with bus utilization based data ordering
US6360297B1 (en) 1999-11-09 2002-03-19 International Business Machines Corporation System bus read address operations with data ordering preference hint bits for vertical caches
US6874063B1 (en) * 1999-11-09 2005-03-29 International Business Machines Corporation System bus read data transfers with data ordering control bits
US6349360B1 (en) * 1999-11-09 2002-02-19 International Business Machines Corporation System bus read address operations with data ordering preference hint bits
US6675270B2 (en) * 2001-04-26 2004-01-06 International Business Machines Corporation Dram with memory independent burst lengths for reads versus writes
US7689738B1 (en) * 2003-10-01 2010-03-30 Advanced Micro Devices, Inc. Peripheral devices and methods for transferring incoming data status entries from a peripheral to a host
US7409500B2 (en) * 2004-01-13 2008-08-05 Hewlett-Packard Development Company, L.P. Systems and methods for employing speculative fills
US8281079B2 (en) * 2004-01-13 2012-10-02 Hewlett-Packard Development Company, L.P. Multi-processor system receiving input from a pre-fetch buffer
US7360069B2 (en) * 2004-01-13 2008-04-15 Hewlett-Packard Development Company, L.P. Systems and methods for executing across at least one memory barrier employing speculative fills
US7376794B2 (en) * 2004-01-13 2008-05-20 Hewlett-Packard Development Company, L.P. Coherent signal in a multi-processor system
US7409503B2 (en) * 2004-01-13 2008-08-05 Hewlett-Packard Development Company, L.P. Register file systems and methods for employing speculative fills
US8301844B2 (en) * 2004-01-13 2012-10-30 Hewlett-Packard Development Company, L.P. Consistency evaluation of program execution across at least one memory barrier
US7340565B2 (en) * 2004-01-13 2008-03-04 Hewlett-Packard Development Company, L.P. Source request arbitration
US7406565B2 (en) * 2004-01-13 2008-07-29 Hewlett-Packard Development Company, L.P. Multi-processor systems and methods for backup for non-coherent speculative fills
CN100442264C (zh) * 2005-10-14 2008-12-10 威盛电子股份有限公司 封包处理系统与方法
US20170286118A1 (en) * 2016-04-01 2017-10-05 Intel Corporation Processors, methods, systems, and instructions to fetch data to indicated cache level with guaranteed completion
US11243952B2 (en) 2018-05-22 2022-02-08 Bank Of America Corporation Data cache using database trigger and programmatically resetting sequence

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6111865A (ja) * 1984-06-27 1986-01-20 Hitachi Ltd メモリアクセス制御方式

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4520439A (en) * 1981-01-05 1985-05-28 Sperry Corporation Variable field partial write data merge
WO1984002799A1 (en) * 1982-12-30 1984-07-19 Ibm A hierarchical memory system including separate cache memories for storing data and instructions
US4680702A (en) 1984-04-27 1987-07-14 Honeywell Information Systems Inc. Merge control apparatus for a store into cache of a data processing system
EP0189944B1 (en) * 1985-02-01 1993-05-12 Nec Corporation Cache memory circuit capable of processing a read request during transfer of a data block
JPS62145340A (ja) * 1985-12-20 1987-06-29 Toshiba Corp キヤツシユメモリ制御方式
US5057837A (en) * 1987-04-20 1991-10-15 Digital Equipment Corporation Instruction storage method with a compressed format using a mask word
JPH0298754A (ja) * 1988-10-06 1990-04-11 Nec Corp 主記憶制御方式
US5163142A (en) * 1988-10-28 1992-11-10 Hewlett-Packard Company Efficient cache write technique through deferred tag modification
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
KR900008516A (ko) * 1988-11-01 1990-06-04 미다 가쓰시게 버퍼 기억장치
US5185875A (en) * 1989-01-27 1993-02-09 Digital Equipment Corporation Method and apparatus for reducing memory read latency in a shared memory system with multiple processors
US5155824A (en) * 1989-05-15 1992-10-13 Motorola, Inc. System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
EP0435475B1 (en) * 1989-12-22 1996-02-07 Digital Equipment Corporation High-performance frame buffer and cache memory system
US5263142A (en) * 1990-04-12 1993-11-16 Sun Microsystems, Inc. Input/output cache with mapped pages allocated for caching direct (virtual) memory access input/output data based on type of I/O devices
US5263144A (en) * 1990-06-29 1993-11-16 Digital Equipment Corporation Method and apparatus for sharing data between processors in a computer system
US5193167A (en) * 1990-06-29 1993-03-09 Digital Equipment Corporation Ensuring data integrity by locked-load and conditional-store operations in a multiprocessor system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6111865A (ja) * 1984-06-27 1986-01-20 Hitachi Ltd メモリアクセス制御方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007096981A1 (ja) * 2006-02-24 2007-08-30 Fujitsu Limited 記録制御装置および記録制御方法
US7958308B2 (en) 2006-02-24 2011-06-07 Fujitsu Limited Recording controller and recording control method
JP2023142458A (ja) * 2022-03-25 2023-10-05 株式会社日立製作所 制御装置及び制御システム

Also Published As

Publication number Publication date
JP2601979B2 (ja) 1997-04-23
EP0567243A1 (en) 1993-10-27
US5491811A (en) 1996-02-13

Similar Documents

Publication Publication Date Title
JPH0683703A (ja) データ転送制御システム及びコンピユータ・システムの動作方法
JP2784440B2 (ja) データ・ページの転送制御方法
US4141067A (en) Multiprocessor system with cache memory
JP2909592B2 (ja) コンピュータメモリシステム
US5664122A (en) Method and apparatus for sequencing buffers for fast transfer of data between buses
HK23896A (en) Apparatus and method for accessing a page mode memory in a computer system
CA2124029A1 (en) Method and apparatus for providing accurate and complete communications between different bus architectures in an information handling system
US5668957A (en) Method and apparatus for providing virtual DMA capability on an adapter connected to a computer system bus with no DMA support
US5588128A (en) Dynamic direction look ahead read buffer
US6658537B2 (en) DMA driven processor cache
EP0437160B1 (en) Main storage memory cards having single bit set and reset functions
US5829035A (en) System and method for preventing stale data in multiple processor computer systems
US4344130A (en) Apparatus to execute DMA transfer between computing devices using a block move instruction
US5895496A (en) System for an method of efficiently controlling memory accesses in a multiprocessor computer system
USRE38514E1 (en) System for and method of efficiently controlling memory accesses in a multiprocessor computer system
JP2001176272A (ja) 複数ラインバッファ型メモリlsi
JPS61166647A (ja) マイクロプロセツサ装置およびアドレス可能なメモリから情報を読出すためのアクセス方法
US20250013378A1 (en) Apparatus and method for controlling nonvolatile memory
JP3687112B2 (ja) データ転送制御装置及び情報処理装置
JPH11184761A (ja) リードモディファイライト制御システム
JP2502932B2 (ja) デ―タ転送方法及びデ―タ処理システム
JPH0642227B2 (ja) デ−タ転送装置
JPH11110342A (ja) バス接続方法及び装置
JP2682789B2 (ja) コンピュータ入出力キャッシュ・システム
JPS6020255A (ja) バツフア記憶制御方式