JPH07271668A - 入出力アドレス変換機構用の計算システム - Google Patents

入出力アドレス変換機構用の計算システム

Info

Publication number
JPH07271668A
JPH07271668A JP7064476A JP6447695A JPH07271668A JP H07271668 A JPH07271668 A JP H07271668A JP 7064476 A JP7064476 A JP 7064476A JP 6447695 A JP6447695 A JP 6447695A JP H07271668 A JPH07271668 A JP H07271668A
Authority
JP
Japan
Prior art keywords
data
adapter
page
memory
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.)
Granted
Application number
JP7064476A
Other languages
English (en)
Other versions
JP4136001B2 (ja
Inventor
K Monroe Bridges
ケイ・モンロー・ブリッジス
Robert Brooks
ロバート・ブルックス
William R Bryg
ウィリアム・アール・ブリグ
Stephen G Burger
ステファン・ジー・バーガー
Eric W Hamilton
エリック・ダヴリュ・ハミルトン
Helen Nusbaum
ヘレン・ナスバウム
Brendan A Voge
ブレンダン・エイ・ヴォーグ
Michael L Ziegler
マイケル・エル・ズィーグラー
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH07271668A publication Critical patent/JPH07271668A/ja
Application granted granted Critical
Publication of JP4136001B2 publication Critical patent/JP4136001B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]

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)
  • Memory System (AREA)

Abstract

(57)【要約】 【目的】 入出力アダプタが計算システム内での多数の
異なる使用法が容易になるように設計されているとき、
その入出力アダプタを各使用法に関しておよびすべての
タイプのデータ・トランザクションを実行する際に、最
適に動作する使い勝手のよい入出力アダプタを提供す
る。 【構成】 メイン・メモリと入出力アダプタとを含む計
算システムにおいて、入出力アダプタを変換マップにア
クセスさせ、その変換マップの項目は入出力ページ番号
をメモリ・アドレス・ページ番号にマップし、また各項
目がメイン・メモリ中のデータ・ページのアドレスとト
ランザクション構成情報とを含むように生成される。ト
ランザクション構成情報は、実行を最適化するために、
データ・ページとの間のデータ・トランザクション中に
入出力アダプタによって使用される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入出力アドレス変換機
構にアクセス・ヒントを使用することに関する。
【0002】
【従来の技術】大部分の現代のコンピュータ・システム
は、中央演算処理装置(CPU)とメイン・メモリとを
含む。CPUが命令およびオペランドを復号して実行す
ることができる速度は、命令およびオペランドをメイン
・メモリからCPUに転送できる速度に依存する。多数
のコンピュータ・システムは、CPUが命令およびオペ
ランドをメイン・メモリから得るために必要とされる時
間を短縮するために、CPUとメイン・メモリの間にキ
ャッシュ・メモリを含む。
【0003】キャッシュ・メモリとは、近い将来にCP
Uによって使用されると考えられるメイン・メモリの内
容の部分を一時的に保持するために使用される小容量の
高速バッファ・メモリである。キャッシュ・メモリの主
な目的は、データ取出しの場合にも、命令取出しの場合
にも、メモリ・アクセスを実行するのに必要な時間を短
縮することである。キャッシュ・メモリに位置する情報
は、メイン・メモリに位置する情報よりもずっと短い時
間でアクセスすることができる。したがって、キャッシ
ュ・メモリを含むCPUは、命令およびオペランドが取
り出され、あるいは記憶されるのを待つのに費やす時間
がより短い。
【0004】キャッシュ・メモリは、1つまたは複数の
データ・ワードの多数のブロックから成る。各ブロック
には、そのコピー元であるメイン・メモリのブロックは
どれかを固有に識別するアドレス・タグが関連付けられ
る。プロセッサがメモリを参照するたびに、要求された
データのコピーがキャッシュ・メモリに存在するかどう
かを調べるためにアドレス・タグの比較が行われる。所
望のメモリ・ブロックがキャッシュ・メモリ中にない場
合、そのブロックは、メイン・メモリから検索され、キ
ャッシュ・メモリに記憶され、プロセッサに供給され
る。
【0005】CPUは、キャッシュ・メモリを使用して
メイン・メモリからデータを検索するだけでなく、メイ
ン・メモリに直接データを書き込む代わりにキャッシュ
・メモリにデータを書き込む。プロセッサがデータをメ
モリに書き込みたいとき、キャッシュ・メモリは、アド
レス・タグを比較して、データを書き込むべきデータ・
ブロックがキャッシュ・メモリに存在しているかどうか
を調べる。そのデータ・ブロックがキャッシュ・メモリ
に存在する場合、データは、キャッシュ・メモリ中のそ
のデータ・ブロックに書き込まれる。多数のシステムで
は次いで、そのデータ・ブロック用の「ダーティ・ビッ
ト」がセットされる。ダーティ・ビットは、そのデータ
・ブロック中のデータがダーティであり(すなわち、修
正されており)、したがって、そのデータ・ブロックが
キャッシュ・メモリから削除される前に、修正済みのデ
ータをメイン・メモリに書き込んでおかなければならな
いことを示す。データを書き込むべきデータ・ブロック
がキャッシュ・メモリ中に存在しない場合、そのデータ
・ブロックをキャッシュ・メモリに取り込み、あるいは
直接メイン・メモリに書き込まなければならない。キャ
ッシュ・メモリに新しいデータが置かれたときに上書き
され、あるいはキャッシュ・メモリからコピーされるデ
ータ・ブロックを犠牲ブロックまたは犠牲線と呼ぶ。
【0006】キャッシュ・メモリに関する他の関連情報
に関しては、「Cache Memory withVariable Fetch and
Replacement Schemes」と題する、1990年5月22
日にAllen Baum他に発行された米国特許第4,928,
239号を参照されたい。
【0007】メモリと対話する入出力(I/O)アダプ
タは、計算システムのすべての機能に統合されるように
設計する必要がある。このために、入出力アダプタ内の
アドレス変換マップを使用して、入出力バス・アドレス
をメモリ・アドレスに変換することが多い。そのような
アドレス変換マップは、入出力アクセスによってメモリ
のどんな部分でも参照できるように、入出力バス・アド
レス範囲がメモリ・アドレス範囲よりも小さいときに使
用されている。
【0008】従来技術では、入出力アドレス変換マップ
はソフトウェアによって管理されている。アドレス変換
マップ中の各項目は、オペレーティング・システム・ソ
フトウェアによって明示的に割り振られロードされる。
1つまたは複数のプロセッサがキャッシュを使用するシ
ステム中のメイン・メモリに入出力アダプタがアクセス
するとき、メモリにおいてアクセスされるデータの完全
性を保証する措置を取る必要がある。たとえば、入出力
アダプタがメモリのデータにアクセスするとき(書込み
または読取り)、データの更新済みバージョンがシステ
ム上のプロセッサのキャッシュに存在するかどうかを判
定することが重要である。データの更新済みバージョン
が存在する場合、入出力アダプタがデータの更新済みバ
ージョンにアクセスするように何らかの措置を取らなけ
ればならない。データの更新済みバージョンがメモリ参
照で使用されるようにする動作を、本明細書では、コヒ
ーレンス動作と呼ぶ。
【0009】入出力アダプタによってシステム・メモリ
からアクセスされるデータのコヒーレンスを保証するた
めに様々な方式が提案されている。たとえば、以前の方
式には、入出力動作を実行する前にキャッシュを明示的
にフラッシュしておくソフトウェアが含まれる。
【0010】入出力アダプタを設計する際、入出力アダ
プタが計算システムに対して最適化されるようにするた
めに計算システムを分析する必要がある。ある種の入出
力バスでは、データ・トランザクションがアトミックで
ある必要がある。すなわち、アトミック・データ・トラ
ンザクション中には他のトランザクションを「ロック・
アウト」する必要がある。そのような入出力バスとのイ
ンタフェースをとる入出力アダプタは、この機能を実施
できる必要がある。しかし、入出力アダプタがアトミッ
ク・トランザクションを実行すると、それによってシス
テム性能が低下する。
【0011】同様に、データが順次に記憶されるとき、
入出力アダプタがメモリからデータを読み取る際にその
データを事前に取り出し、メモリにデータを書き込む際
にそのデータを合体させれば有利である。事前取出しと
は、実際にデータの要求が出される前にそのデータを取
り出すことを意味する。一般に、あるデータが事前に取
り出されるものとして選択されるのは、そのデータが、
実際にアクセスされているデータの次のデータであるか
らである。合体は、メモリ・バス上に転送できる単位よ
りも小さな単位で入出力バスからデータが到着したとき
に使用される。たとえば、合体は、キャッシュ線よりも
小さなブロックに使用することができる。キャッシュ線
全体をメモリ・バスを介してメモリに転送する前に、入
出力バスから受け取られたブロックをキャッシュ線内で
合体させることによって、データ転送はより効果的にな
る。データが順次に記憶されないとき、そのような事前
取出しおよび合体はシステム性能を阻害する恐れがあ
る。
【0012】システム・キャッシュ中の対応するデータ
をすべて無効化すると、データ・トランザクションに関
して有利であることがある。書込み時にデータを更新
し、あるいは読取り時にキャッシュ・データをクレンズ
することが好ましいこともある。さらに、データがキャ
ッシュ線境界上で整列するシステムの場合、その整列に
依存する「高速」DMAを実行することができる。しか
し、データがキャッシュ線上で整列しないシステムの場
合、より低速の「安全な」DMAを実行する必要があ
る。
【0013】
【発明が解決しようとする課題】入出力アダプタが、計
算システム内での多数の異なる使用法が容易になるよう
に設計されているとき、入出力アダプタは、各使用法に
関して、およびすべてのタイプのデータ・トランザクシ
ョンを実行する際に、最適に動作することが望ましい。
しかしそのような使い勝手のよい入出力アダプタは、従
来技術にはない。本発明はかかる使い勝手のよい入出力
アダプタを提供することにある。
【0014】
【課題を解決するための手段】本発明の好ましい実施例
によれば、メイン・メモリと入出力アダプタとを含む計
算システムが提供される。入出力アダプタは、変換マッ
プにアクセスする。変換マップの項目は、入出力ページ
番号をメモリ・アドレス・ページ番号にマップする。変
換マップの項目は、各項目がメイン・メモリ中のデータ
・ページのアドレスとトランザクション構成情報とを含
むように生成される。トランザクション構成情報は、実
行を最適化するために、データ・ページとの間のデータ
・トランザクション中に入出力アダプタによって使用さ
れる。
【0015】たとえば、各項目ごとのトランザクション
構成情報は、そのデータ・ページ内のデータが順次デー
タであるかどうかを示すインディケータを含む。入出力
アダプタがデータ・ページとのトランザクションを実行
する前に、このインディケータが検査され、そのデータ
・ページ内のデータが順次データであるかどうかが判定
される。そのデータ・ページ内のデータが順次データで
あると判定されると、そのデータ・ページからのデータ
のデータ読取り時に入出力アダプタ内への追加データの
事前取込みが行われる。また、データ・ページへのデー
タのデータ書込み時に入出力アダプタによってキャッシ
ュ線内でデータが合体される。
【0016】また、各項目ごとのトランザクション構成
情報は、キャッシュ中の対応するデータが、メイン・メ
モリ中のデータ・ページからのデータを読み取り、ある
いは前記データ・ページにデータを書き込んだ後に無効
化すべきかどうかを示すインディケータを含むことがで
きる。入出力アダプタがデータ・ページに対するデータ
・トランザクションを実行する前に、このインディケー
タを検査して、入出力アダプタがメイン・メモリ中のデ
ータ・ページにデータを書き込んだ後にキャッシュ中の
対応するデータを無効化すべきかどうか判定する。入出
力アダプタがメイン・メモリ中のデータ・ページにデー
タを書き込んだ後にキャッシュ中の対応するデータを無
効化すべきであると判定されると、キャッシュ中の対応
するデータは、データ・ページへのデータのデータ書込
み時に無効化される。入出力アダプタがメイン・メモリ
中のデータ・ページにデータを書き込んだ後にキャッシ
ュを無効化すべきでないと判定されると、キャッシュ中
の対応するデータはデータ・ページへのデータのデータ
書込み時に更新される。また、キャッシュ中の対応する
データは、データ・ページからのデータの読取り時にキ
ャッシュからクレンズされる。
【0017】各項目ごとのトランザクション構成情報
は、データ・ページ内のデータがキャッシュ線境界に沿
って整列するかどうかを示すインディケータを含むこと
ができる。入出力アダプタがデータ・ページとのDMA
データ・トランザクションを実行する前に、このインデ
ィケータが検査され、そのデータ・ページ内のデータが
キャッシュ線境界に沿って整列しているかどうかが判定
される。この整列には、ソフトウェアが各バッファの端
部を次のキャッシュ線境界まで「パッド」するケースも
含まれる。そのデータ・ページ内のデータがキャッシュ
線境界に沿って整列していると判定されると、高速DM
Aトランザクションが実行される。そのデータ・ページ
内のデータがキャッシュ線境界に沿って整列していない
と判定されると、安全DMAトランザクションが実行さ
れる。たとえば、メモリ中の第1アドレスへのデータ・
ブロックの高速DMA書込みを実行するときは、完全な
キャッシュ線のためのデータが使用できない場合でも、
書込み無効化または書込み更新が実行される。
【0018】安全DMAを実行するときは、第1アドレ
ス用の古いデータを含む完全なキャッシュ線が、入出力
アダプタによって読み取られ、古いデータをそのデータ
・ブロックと交換することによって修正され、次いでメ
モリおよび(ある種の実施例では)キャッシュに書き込
み直される。安全DMAによって、古いデータと共にキ
ャッシュ線中に存在する可能性がある「ダーティ」情報
の破壊が防止される。高速DMAでは、データ・ページ
がキャッシュ線境界に沿って整列するので、そのような
ダーティ情報を破壊することで悩む必要はない。
【0019】各項目ごとのトランザクション構成情報
は、入出力アダプタが、メイン・メモリ中のデータ・ペ
ージからデータを読み取るときと、メイン・メモリ中の
データ・ページにデータを書き込むときに、メイン・メ
モリとの他のトランザクションをロック・アウトするか
どうかを示すインディケータを含むこともできる。入出
力アダプタがデータ・ページとのデータ・トランザクシ
ョンを実行する前に、このインディケータが検査され、
入出力アダプタが、メイン・メモリ中のデータ・ページ
からデータを読み取るときと、メイン・メモリ中のデー
タ・ページにデータを書き込むときに、メイン・メモリ
との他のトランザクションをロック・アウトするかどう
かが判定される。入出力アダプタが、メイン・メモリ中
のデータ・ページからデータを読み取るときと、メイン
・メモリ中のデータ・ページにデータを書き込むとき
に、メイン・メモリとの他のトランザクションをロック
・アウトすると判定されると、入出力アダプタが、メイ
ン・メモリ中のデータ・ページからデータを読み取ると
きと、メイン・メモリ中のデータ・ページにデータを書
き込むとき、メイン・メモリとの他のトランザクション
はロック・アウトされる。入出力アダプタは、ロックさ
れていないトランザクションに出会うまで、追加ロック
・トランザクションを実行する間、メイン・メモリとの
トランザクションをロック・アウトし続けることができ
る。
【0020】
【作用】本発明の好ましい実施例により、各ページ・ア
ドレスごとの項目を含む変換マップにインディケータを
記憶することによって各メモリ・ページごとのデータ・
トランザクションを構成することができる。これによっ
て入出力アダプタとメモリの間で効率的なデータ転送が
行われる。
【0021】
【実施例】図1は、コンピュータ・システムの概略ブロ
ック図を示す。プロセッサ10、プロセッサ11、およ
びメモリ12は、メモリ・バス9に接続されるものとし
て示されている。プロセッサ10は、データ・キャッシ
ュ17を使用する。プロセッサ11は、データ・キャッ
シュ18を使用する。メモリ・バス9には、入出力(I
/O)アダプタ13も接続されている。入出力アダプタ
13は、入出力バス14に接続されている。入出力バス
14には入出力装置15および入出力装置16も接続さ
れている。変換マップ19は、入出力バス14に使用さ
れるアドレスを、メモリによって使用されるアドレスに
変換するために使用される。
【0022】図2は、本発明の好ましい実施例による変
換マップ19の実施態様を示す。変換マップ19は、入
出力バス・アドレス21をメモリ・アドレス23に変換
するために使用される。
【0023】好ましい実施例では、変換時に、入出力ペ
ージ・アドレスを使用して、変換マップ19内の対応す
るメモリ・ページにアクセスされる。図2に示した実施
例では、入出力ページ番号は変換マップ19へのインデ
ックスとして使用される。入出力アドレス・オフセット
は、メモリ・アドレス・オフセットと同じものである。
たとえば、好ましい実施例では、入出力バス14はそれ
ぞれ、20ビット入出力ページ番号と12ビット・オフ
セットとを有する32ビット・アドレスを使用する。メ
モリ・バス9は、それぞれ、28ビット・メモリ・ペー
ジ番号と12ビット・オフセットとを有する、40ビッ
ト・アドレスを使用する。
【0024】好ましい実施例では、変換マップ19は、
各メモリ・ページごとに、コヒーレンス・インデックス
も含む。コヒーレンス・インデックスは、仮想アドレス
から導かれる部分であり、プロセッサ10内のキャッシ
ュ17およびプロセッサ11内のキャッシュ18にイン
デックス付けするために使用される。コヒーレンス・イ
ンデックスがメモリ・アクセス・トランザクションの一
部として渡されると、それによって、プロセッサ10お
よび11は、それぞれ、キャッシュ17および18中の
情報にコヒーレンシ矛盾がないかどうかを容易に探すこ
とができる。プロセッサ10またはプロセッサ11上で
動作するオペレーティング・システム・ソフトウェア
は、入出力アダプタ13によってアクセスされる変換マ
ップ19にアドレス変換情報をロードする。この情報に
は、コヒーレンス・インデックスと、以下で説明するそ
の他のフィールドが含まれる。
【0025】図3は、本発明の好ましい実施例による変
換マップ19中の項目30のフォーマットを示す。項目
30のページ・フィールド31は、メモリ12中のアド
レスの物理ページ番号の40ビットを含む。項目30の
コヒーレンス・インデックス(CI)フィールド32
は、メモリ12中のアドレスの物理ページ番号の12ビ
ット・コヒーレンシ・インデックスを含む。キャッシュ
制御ヒント(CC)フィールド35は、2ビットのキャ
ッシュ制御ヒントを含む。ページ・タイプ(PT)フィ
ールド37は、2ビットのページ・タイプを含む。有効
インディケータ(V)フィールド38は、1ビット有効
インディケータを含む。キャッシュ制御ヒント・フィー
ルド35およびページ・タイプ・フィールド37中の各
ビットは、入出力アダプタ13とメモリ12の間のデー
タ・トランザクションのページごとの「構成」を提示す
るインディケータとして働く。
【0026】ページ・タイプ(PT)フィールド37中
の第1のビットは、ロッキングがイネーブルされている
かどうかを示す。ロッキングがイネーブルされている場
合、入出力装置15や入出力装置16など、入出力バス
14に接続された入出力装置は、数トランザクション間
だけメイン・メモリ12をロックしてアトミック・シー
ケンスを実行することができる。ロッキングは、入出力
バス14、または入出力バス14に接続された他の入出
力バスがメモリ・トランザクション中にロッキングを必
要とするときに必要とされることがある。しかし、メモ
リをロックすると、システム性能が低下し、したがっ
て、ロッキングは、その機能を必要とするページ上でし
かイネーブルされない。プロセッサ10またはプロセッ
サ11上で動作するオペレーティング・システム・ソフ
トウェアは、入出力アダプタ13内の変換マップ19に
アドレス変換情報をロードする際、対応するページ用の
ロッキングがイネーブルされているかどうかを示す値を
ページ・タイプ・フィールド37に置く。
【0027】図4は、ページ・タイプ・フィールド37
中のロッキング・ビットがどのようにデータ・トランザ
クションに対する入出力アダプタ13の動作に影響を及
ぼすかを示す。入出力アダプタ13は、データ・トラン
ザクションを実行するとき、ステップ41およびステッ
プ42で、ページ・タイプ・フィールド37を検査し
て、ページ・タイプ・フィールドの第1のビットがロッ
キングを示す論理1にセットされているかどうかを判定
する。そのページがロックされていない場合、ステップ
46で、データ・トランザクションが実行される。その
ページがロックされている場合、ステップ43で入出力
アダプタ13はメモリ12とのトランザクションをロッ
ク・アウトする。ステップ44で、次のデータ・トラン
ザクションが、ロックされていないデータ・トランザク
ションであることを入出力アダプタ13が検出するま
で、ロックされたデータ・トランザクションが実行され
る。入出力アダプタ13は、次のデータ・トランザクシ
ョンが、ロックされていないデータ・トランザクション
であることを検出すると、ステップ45に進む。ステッ
プ45で、入出力アダプタ13はメモリ12とのトラン
ザクションをロック解除する。
【0028】ページ・タイプ(PT)フィールド37中
の第2ビットは、どんなタイプの直接メモリ・アクセス
(DMA)トランザクションを使用すべきかを示す。ペ
ージ・タイプ・フィールド37中の第2ビットの第1の
値の場合、DMAタイプは「高速」である。高速DMA
タイプの場合、入出力アダプタ13は、ソフトウェアが
各バッファの端部を次のキャッシュ線境界まで「パッ
ド」するケースを含め、そのページ入出力アクセスのた
めのデータがキャッシュ線境界上で整列していると仮定
する。ページ・タイプ・フィールド37中の第2ビット
の第2の値の場合、DMAタイプは「安全」である。安
全DMAタイプの場合、入出力アダプタ13は、そのペ
ージの入出力アクセスのためのデータがキャッシュ線境
界上で整列していないと仮定する。たとえば、メモリ中
の第1アドレスへのデータ・ブロックの高速DMA書込
みを実行するときは、第1のアドレス用の古いデータを
含む完全なキャッシュ線上で書込み無効化または書込み
更新が行われる。安全DMAを実行するときには、第1
のアドレス用の古いデータを含む完全なキャッシュ線が
入出力アダプタによって読み取られ、古いデータをその
データ・ブロックと交換することによって修正され、次
いでメモリおよび(ある種の実施例では)キャッシュに
書き込み直される。安全DMAによって、古いデータと
共にキャッシュ線中に存在する可能性がある「ダーテ
ィ」情報の破壊が防止される。高速DMAでは、データ
・ページがキャッシュ線境界に沿って整列するので、そ
のようなダーティ情報を破壊するで悩む必要はない。
【0029】図5は、ページ・タイプ・フィールド37
中の第2ビットがどのように、データ・トランザクショ
ンに対する入出力アダプタ13の実行に影響を及ぼすか
を示す。入出力アダプタ13は、データ・トランザクシ
ョンを実行する時、ステップ51およびステップ52
で、ページ・タイプ・フィールド37を検査して、ペー
ジ・タイプ・フィールド37の第2ビットがクリアされ
て、高速DMAを実行すべきであることを示す論理ゼロ
になっているかどうかを判定する。高速DMAが示され
ている場合、ステップ53で、高速DMAトランザクシ
ョンが実行される。安全DMAが示されている場合、ス
テップ54で、安全DMAトランザクションが実行され
る。
【0030】以下の表1は、ページ・タイプ・フィール
ド37によって示されるページ・タイプを要約したもの
である。
【0031】
【表1】
【0032】キャッシュ制御ヒント(CC)フィールド
35中の第1ビットは、そのページが順次データを含む
か、それとも非順次データを含むかを示す。そのページ
が順次データを含むとき、アクセスは単調に増加する。
したがって、入出力アダプタ13がデータをメモリ12
から読み取り、そのデータを入出力バス14に送るとき
に、追加データをメモリ12から事前に取り出しておく
ことによってシステム性能が向上する。同様に、キャッ
シュ制御ヒント・フィールド35が、あるページが順次
データを含むことを示すとき、入出力アダプタ13は、
入出力バス14からデータを受け取ってメモリ12に書
き込む際、入出力バス14からのデータをメモリ12に
書き込む前にそのデータを完全なキャッシュ線内で合体
させる。
【0033】図6は、キャッシュ制御ヒント・フィール
ド35中の第1ビットがどのように、データ・トランザ
クションに対する入出力アダプタ13の実行に影響を及
ぼすかを示す。入出力アダプタ13は、データ・トラン
ザクションを実行するとき、ステップ62で、キャッシ
ュ制御ヒント・フィールド35を検査して、キャッシュ
制御ヒント・フィールド35の第1ビットが、データが
順次データあることを示す論理1にセットされているか
どうかを判定する。そのページが順次ページでない場
合、ステップ65で、データ・トランザクションが実行
される。そのデータが順次データである場合、ステップ
63で、入出力アダプタ13は、事前取出し(メモリ1
2からのデータ読取りの場合)または合体(メモリ12
にデータを書き込む場合)をイネーブルする。ステップ
64で、データ・トランザクションが実行される。
【0034】キャッシュ制御ヒント・フィールド35中
の第2ビットは、入出力アダプタがメモリ12との間で
データを移動するとき、キャッシュ17やキャッシュ1
8などプロセッサ・キャッシュでデータをどのように処
理すべきであるかを示す。キャッシュ項目を無効化すべ
きであることをキャッシュ制御ヒント・フィールド35
が示すページの場合、入出力アダプタがメモリ12から
データを読み取るとき、またはメモリ12にデータを書
き込むときに必ず、キャッシュ17およびキャッシュ1
8中の対応する項目が無効化される。
【0035】キャッシュ項目をクレンズ/更新すべきで
あることをキャッシュ制御ヒント(CC)フィールド3
5中の第2ビットが示すページの場合、入出力アダプタ
がメモリ12からデータを読み取るときに必ず、キャッ
シュ17およびキャッシュ18中の対応する項目がクレ
ンズされ、入出力アダプタがメモリ12にデータを書き
込むときに必ず、キャッシュ17およびキャッシュ18
中の対応する項目が更新される。キャッシュ中の「ダー
ティ」データは、メモリ12へのデータのコヒーレント
転送を実行することによってクレンズされる。
【0036】本発明の他の好ましい実施例では、第2キ
ャッシュ制御ヒント・ビットは入出力アダプタによって
無視される。この実施例では、入出力アダプタがメモリ
12との間でデータを移動するとき、キャッシュ項目を
無効化し、あるいはクレンズ/更新し、あるいはこれら
の動作を任意に組み合わせることによって、プロセッサ
・キャッシュ中でデータを処理することができる。たと
えば、クリーンとマーク付けされた(すなわち、ダーテ
ィとマーク付けされていない)キャッシュ線からの読取
りの場合、そのページ用のキャッシュ制御ヒント・フィ
ールド35中の第2ビットが、キャッシュ項目を無効化
すべきであることを示す場合でも、キャッシュ線は無効
化されない。
【0037】図7は、キャッシュ制御ヒント・フィール
ド35中の第2ビットがどのように、データ・トランザ
クションに対する入出力アダプタ13の実行に影響を及
ぼすかを示す。入出力アダプタ13は、データ・トラン
ザクションを実行するとき、ステップ71およびステッ
プ72で、キャッシュ制御ヒント・フィールド35を検
査して、ページ・タイプ・フィールド37の第2ビット
がクリアされて、データ・キャッシュ中の項目を無効化
すべきであることを示す論理ゼロになっているかどうか
を判定する。データ・キャッシュ中の項目を無効化すべ
きである場合、ステップ73で、データ・トランザクシ
ョンが実行される。ステップ74で、対応するキャッシ
ュ項目が無効化される。そのデータを無効化すべきでは
ないが、その代わりにクレンズ(入出力アダプタがメモ
リ12からデータを読み取るとき)あるいは更新(入出
力アダプタがメモリ12にデータを書き込むとき)すべ
きである場合、ステップ75で、データ・トランザクシ
ョンが実行される。ステップ74で、対応するキャッシ
ュ項目が、クレンズ(入出力アダプタがメモリ12から
データを読み取るとき)あるいは更新(入出力アダプタ
がメモリ12にデータを書き込むとき)される。
【0038】表2は、キャッシュ制御ヒント・フィール
ド35によって示されるキャッシュ制御ヒントを要約し
たものである。
【0039】
【表2】
【0040】前記の議論は、本発明の典型的な方法およ
び実施例を開示して説明したものに過ぎない。当業者に
理解されるように、本発明は、その趣旨からも基本的特
性からも逸脱することなく他の特定の形で実施すること
ができる。したがって、本発明の開示は、特許請求の範
囲に記載された本発明の範囲を例示するものであり、制
限するものではない。
【0041】以下、本発明の好適な実施態様を例示す
る。 1. 計算システムにおいて、情報を転送するための相
互接続手段と、相互接続手段に結合されたメイン・メモ
リと、変換マップ中の各項目が、メイン・メモリ中のデ
ータ・ページのアドレスと、データ・ページとの間のデ
ータ・トランザクション中に入出力アダプタによって使
用されるトランザクション構成情報とを含む、入出力ペ
ージ番号をメモリ・アドレス・ページ番号にマップする
変換マップにアクセスする、相互接続手段に結合された
入出力アダプタと、トランザクション構成情報を生成し
てトランザクション構成情報を変換マップに記憶するた
めのキャッシュ命令実行手段を含む、相互接続手段に結
合されたプロセッサとを備えることを特徴とする計算シ
ステム。
【0042】2. 各項目ごとのトランザクション構成
情報が、データ・ページ内のデータが順次データである
かどうを示すインディケータを含むことを特徴とする上
記1に記載の計算システム。
【0043】3. 各項目ごとのトランザクション構成
情報が、入出力アダプタがメイン・メモリ中のデータ・
ページにデータを書き込んだ後にキャッシュ中の対応す
るデータを無効化すべきであるかどうかを示すインディ
ケータを含むことを特徴とする上記1に記載の計算シス
テム。
【0044】4. 各項目ごとのトランザクション構成
情報が、データ・ページ内のデータがキャッシュ線境界
に沿って整列しているかどうかを示すインディケータを
含むことを特徴とする上記1に記載の計算システム。
【0045】5. 各項目ごとのトランザクション構成
情報が、入出力アダプタが、メイン・メモリ中のデータ
・ページからデータを読み取るときと、メイン・メモリ
中のデータ・ページにデータを書き込むときに、メイン
・メモリとの他のトランザクションをロック・アウトす
るかどうかを示すインディケータを含むことを特徴とす
る上記1に記載の計算システム。
【0046】6. メイン・メモリと、入出力ページ番
号をメモリ・アドレス・ページ番号にマップする変換マ
ップにアクセスできる入出力アダプタとを含む計算シス
テムにおける、コンピュータが実施する方法において、 (a)メイン・メモリ中のデータ・ページのアドレス
と、データ・ページとの間のデータ・トランザクション
中に入出力アダプタによって使用されるトランザクショ
ン構成情報とを含む、変換マップ中の各項目を生成する
ステップを含むことを特徴とする方法。
【0047】7. ステップ(a)で、各項目ごとのト
ランザクション情報が、データ・ページ内のデータが順
次データであるかどうかを示すインディケータを含むこ
とを特徴とする上記6に記載の方法。
【0048】8. (b)入出力アダプタがデータ・ペ
ージとのデータ・トランザクションを実行する前に、デ
ータ・ページ内のデータが順次データであるかどうかを
判定するためのインディケータを検査するステップと、
(c)ステップ(b)で、そのデータ・ページが順次
データ・ページであると判定されたとき、(c.1)デ
ータ・ページへのデータのデータ書込み時に、入出力ア
ダプタによってデータをキャッシュ線内で合体させるサ
ブステップと、(c.2)データ・ページからのデータ
のデータ読取り時に、事前に入出力アダプタ内に追加デ
ータを取り込んでおくサブステップとを実行するステッ
プも含むことを特徴とする上記7に記載の方法。
【0049】9. ステップ(a)で、各項目ごとのト
ランザクション構成情報が、入出力アダプタがメイン・
メモリ中のデータ・ページにデータを書き込んだ後にキ
ャッシュ中の対応するデータを無効化すべきであるかど
うかを示すインディケータを含むことを特徴とする上記
6に記載の方法。
【0050】10. (b)入出力アダプタがデータ・
ページに対するデータ・トランザクションを実行する前
に、インディケータを検査して、入出力アダプタがメイ
ン・メモリ中のデータ・ページにデータを書き込んだ後
にキャッシュ中の対応するデータを無効化すべきである
かどうかを判定するステップと、 (c)ステップ(b)で、入出力アダプタがメイン・メ
モリ中のデータ・ページにデータを書き込んだ後に、キ
ャッシュ中の対応するデータを無効化すべきであると判
定されたとき、(c.1)データ・ページへのデータの
データ書込み時に、キャッシュ中の対応するデータを無
効化するサブステップを実行するステップと、 (d)
ステップ(b)で、入出力アダプタがメイン・メモリ中
のデータ・ページにデータを書き込んだ後に、キャッシ
ュ中の対応するデータは無効化すべきでないと判定され
たとき、(d.1)データ・ページへのデータのデータ
書込み時に、キャッシュ中の対応するデータを更新する
サブステップと、(d.2)データ・ページからのデー
タのデータ読取り時に、キャッシュ中の対応するデータ
をクレンズするサブステップとを実行するステップとを
さらに含むことを特徴とする上記9に記載の方法。
【0051】11. ステップ(a)で、各項目ごとの
トランザクション構成情報が、データ・ページ内のデー
タがキャッシュ線境界に沿って整列しているかどうかを
示すインディケータを含むことを特徴とする上記6に記
載の方法。
【0052】12. (b)入出力アダプタがデータ・
ページとのDMAデータ・トランザクションを実行する
前に、データ・ページ内のデータがキャッシュ線境界に
沿って整列しているかどうかを判定するためのインディ
ケータを検査するステップと、(c)ステップ(b)
で、データ・ページ内のデータがキャッシュ線境界に沿
って整列していると判定されたときに、高速DMAトラ
ンザクションを実行するステップと、(d)ステップ
(b)で、データ・ページ内のデータがキャッシュ線境
界に沿って整列していないと判定されたときに、安全D
MAトランザクションを実行するステップとを含むこと
を特徴とする上記11に記載の方法。
【0053】13. ステップ(a)で、各項目ごとの
トランザクション構成情報が、入出力アダプタが、メイ
ン・メモリ中のデータ・ページからデータを読み取ると
きと、メイン・メモリ中のデータ・ページにデータを書
き込むときに、メイン・メモリとの他のトランザクショ
ンをロック・アウトするかどうかを示すインディケータ
を含むことを特徴とする上記6に記載の方法。
【0054】14. (b)入出力アダプタが、データ
・ページとのデータ・トランザクションを実行する前
に、入出力アダプタが、メイン・メモリ中のデータ・ペ
ージからデータを読み取るときと、メイン・メモリ中の
データ・ページにデータを書き込むときに、メイン・メ
モリとの他のトランザクションをロック・アウトするか
どうかを判定するためのインディケータを検査するステ
ップと、(c)ステップ(b)で、入出力アダプタが、
メイン・メモリ中のデータ・ページからデータを読み取
るときと、メイン・メモリ中のデータ・ページにデータ
を書き込むときに、メイン・メモリとの他のトランザク
ションをロック・アウトすると判定されたときに、入出
力アダプタが、メイン・メモリ中のデータ・ページから
データを読み取るときと、メイン・メモリ中のデータ・
ページにデータを書き込むときに、メイン・メモリとの
他のトランザクションをロック・アウトするステップも
含むことを特徴とする上記13に記載の方法。
【0055】
【発明の効果】以上の説明のように、本発明によれば、
各ページ・アドレスごとの項目を含む変換マップにイン
ディケータを記憶することによって各メモリ・ページご
とのデータ・トランザクションを構成することができ、
これによって入出力アダプタとメモリの間で効率的なデ
ータ転送が行われるようになる。
【図面の簡単な説明】
【図1】本発明の好ましい実施例による入出力(I/
O)アダプタを含むコンピュータ・システムの概略ブロ
ック図を示す。
【図2】本発明の好ましい実施例による、図1に示した
入出力アダプタによってアクセスされる変換マップの実
施態様を示す図である。
【図3】本発明の好ましい実施例による、図2に示した
変換マップ中の項目のフォーマットを示す図である。
【図4】変換マップ中のロッキング・インディケータ
が、本発明の好ましい実施例によるデータ・トランザク
ション中にどのように入出力アダプタの実行に影響を及
ぼすかを示すフローチャートである。
【図5】変換マップ中のDMAタイプ・インディケータ
が、本発明の好ましい実施例によるデータ・トランザク
ション中にどのように入出力アダプタの実行に影響を及
ぼすかを示すフローチャートである。
【図6】変換マップ中のデータ・タイプ・インディケー
タが、本発明の好ましい実施例によるデータ・トランザ
クション中にどのように入出力アダプタの実行に影響を
及ぼすかを示すフローチャートである。
【図7】変換マップ中のキャッシュ制御インディケータ
が、本発明の好ましい実施例によるデータ・トランザク
ション中にどのように入出力アダプタの実行に影響を及
ぼすかを示すフローチャートである。
【符号の説明】
9 メモリ・バス 10 プロセッサ 12 メモリ 13 入出力アダプタ 14 入出力バス 17 データ・キャッシュ 19 変換マップ 21 入出力バス・アドレス 23 メモリ・アドレス 30 項目 31 ページ・フィールド 32 コヒーレンス・インデックス(CI)フィールド 35 キャッシュ制御ヒント(CC)フィールド 37 ページ・タイプ(PT)フィールド 38 有効インディケータ(V)フィールド
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成7年3月27日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正内容】
【発明の名称】 入出力アドレス変換機構用の計算
システム
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウィリアム・アール・ブリグ アメリカ合衆国カリフォルニア州サラトガ ペレゴ・ウェイ 18630 (72)発明者 ステファン・ジー・バーガー アメリカ合衆国カリフォルニア州サンタク ララ フォーブス・アヴェニュー 2257 (72)発明者 エリック・ダヴリュ・ハミルトン アメリカ合衆国カリフォルニア州マウンテ ンヴュー フォーダム・ウェイ 1526 (72)発明者 ヘレン・ナスバウム アメリカ合衆国カリフォルニア州サクラメ ント マーカム・ウェイ 1156 (72)発明者 ブレンダン・エイ・ヴォーグ アメリカ合衆国カリフォルニア州グラナト ベイ イースト・グラナト・ドライヴ 8290 (72)発明者 マイケル・エル・ズィーグラー アメリカ合衆国マサチューセッツ州ホワイ ティンスヴィル アイヴィー・レーン 166

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 計算システムにおいて、 情報を転送するための相互接続手段と、 相互接続手段に結合されたメイン・メモリと、 変換マップ中の各項目が、メイン・メモリ中のデータ・
    ページのアドレスと、データ・ページとの間のデータ・
    トランザクション中に入出力アダプタによって使用され
    るトランザクション構成情報とを含む、入出力ページ番
    号をメモリ・アドレス・ページ番号にマップする変換マ
    ップにアクセスする、相互接続手段に結合された入出力
    アダプタと、 トランザクション構成情報を生成してトランザクション
    構成情報を変換マップに記憶するためのキャッシュ命令
    実行手段を含む、相互接続手段に結合されたプロセッサ
    とを備えることを特徴とする計算システム。
JP06447695A 1994-03-24 1995-03-23 入出力アドレス変換機構用の計算システム Expired - Fee Related JP4136001B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/217,587 US5535352A (en) 1994-03-24 1994-03-24 Access hints for input/output address translation mechanisms
US217-587 1994-03-24

Publications (2)

Publication Number Publication Date
JPH07271668A true JPH07271668A (ja) 1995-10-20
JP4136001B2 JP4136001B2 (ja) 2008-08-20

Family

ID=22811684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06447695A Expired - Fee Related JP4136001B2 (ja) 1994-03-24 1995-03-23 入出力アドレス変換機構用の計算システム

Country Status (4)

Country Link
US (1) US5535352A (ja)
EP (1) EP0674270B1 (ja)
JP (1) JP4136001B2 (ja)
DE (1) DE69526996T2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122916A (ja) * 1998-10-12 2000-04-28 Emerging Architectures Llc 原子的更新処理を実行する方法
JP2008503807A (ja) * 2004-06-29 2008-02-07 インテル・コーポレーション コヒーレンシ・プロトコルを有するシステム内の1またはそれ以上のプロセッサに対応する1またはそれ以上のキャッシュへのクリーン・データのプッシング
JP2009211222A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
US8706950B2 (en) 2008-03-01 2014-04-22 Kabushiki Kaisha Toshiba Memory system

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5651136A (en) * 1995-06-06 1997-07-22 International Business Machines Corporation System and method for increasing cache efficiency through optimized data allocation
US6266753B1 (en) 1997-07-10 2001-07-24 Cirrus Logic, Inc. Memory manager for multi-media apparatus and method therefor
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US5941972A (en) 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6023737A (en) * 1998-04-24 2000-02-08 International Business Machines Corporation Multi-stage pipelined data coalescing for improved frequency operation
US6148350A (en) * 1998-05-29 2000-11-14 3Com Corporation System for allocating an integer unit of memory greater than a requested size and filling the extra space due to difference in sizes with extraneous data
US7380066B2 (en) * 2005-02-10 2008-05-27 International Business Machines Corporation Store stream prefetching in a microprocessor
US7350029B2 (en) * 2005-02-10 2008-03-25 International Business Machines Corporation Data stream prefetching in a microprocessor
US7555619B2 (en) * 2005-12-07 2009-06-30 Microsoft Corporation Efficient per-object operations in software transactional memory
US8799882B2 (en) * 2005-12-07 2014-08-05 Microsoft Corporation Compiler support for optimizing decomposed software transactional memory operations
US8621112B2 (en) 2010-06-23 2013-12-31 International Business Machines Corporation Discovery by operating system of information relating to adapter functions accessible to the operating system
US9213661B2 (en) 2010-06-23 2015-12-15 International Business Machines Corporation Enable/disable adapters of a computing environment
US8645767B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Scalable I/O adapter function level error detection, isolation, and reporting
US8478922B2 (en) 2010-06-23 2013-07-02 International Business Machines Corporation Controlling a rate at which adapter interruption requests are processed
US8468284B2 (en) 2010-06-23 2013-06-18 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification to a guest operating system
US8639858B2 (en) 2010-06-23 2014-01-28 International Business Machines Corporation Resizing address spaces concurrent to accessing the address spaces
US8572635B2 (en) 2010-06-23 2013-10-29 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification
US9342352B2 (en) 2010-06-23 2016-05-17 International Business Machines Corporation Guest access to address spaces of adapter
US8683108B2 (en) 2010-06-23 2014-03-25 International Business Machines Corporation Connected input/output hub management
US8417911B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Associating input/output device requests with memory associated with a logical partition
US8505032B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Operating system notification of actions to be taken responsive to adapter events
US8416834B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Spread spectrum wireless communication code for data center environments
US8656228B2 (en) 2010-06-23 2014-02-18 International Business Machines Corporation Memory error isolation and recovery in a multiprocessor computer system
US8510599B2 (en) 2010-06-23 2013-08-13 International Business Machines Corporation Managing processing associated with hardware events
US8615645B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Controlling the selectively setting of operational parameters for an adapter
US8645606B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Upbound input/output expansion request and response processing in a PCIe architecture
US8566480B2 (en) 2010-06-23 2013-10-22 International Business Machines Corporation Load instruction for communicating with adapters
US8677180B2 (en) 2010-06-23 2014-03-18 International Business Machines Corporation Switch failover control in a multiprocessor computer system
US8918573B2 (en) 2010-06-23 2014-12-23 International Business Machines Corporation Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment
US8626970B2 (en) 2010-06-23 2014-01-07 International Business Machines Corporation Controlling access by a configuration to an adapter function
US8615622B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Non-standard I/O adapters in a standardized I/O architecture
US8549182B2 (en) 2010-06-23 2013-10-01 International Business Machines Corporation Store/store block instructions for communicating with adapters
US8635430B2 (en) 2010-06-23 2014-01-21 International Business Machines Corporation Translation of input/output addresses to memory addresses
US9195623B2 (en) * 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
US8745292B2 (en) 2010-06-23 2014-06-03 International Business Machines Corporation System and method for routing I/O expansion requests and responses in a PCIE architecture
US8650335B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Measurement facility for adapter functions
US8650337B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Runtime determination of translation formats for adapter functions
US8504754B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Identification of types of sources of adapter interruptions
US8671287B2 (en) 2010-06-23 2014-03-11 International Business Machines Corporation Redundant power supply configuration for a data center
WO2020124519A1 (en) * 2018-12-21 2020-06-25 Intel Corporation Process address space identifier virtualization using hardware paging hint

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4155119A (en) * 1977-09-21 1979-05-15 Sperry Rand Corporation Method for providing virtual addressing for externally specified addressed input/output operations
US4403282A (en) * 1978-01-23 1983-09-06 Data General Corporation Data processing system using a high speed data channel for providing direct memory access for block data transfers
US4525778A (en) * 1982-05-25 1985-06-25 Massachusetts Computer Corporation Computer memory control
US4574346A (en) * 1982-09-29 1986-03-04 International Business Machines Corporation Method and apparatus for peripheral data handling hierarchies
US4669043A (en) * 1984-02-17 1987-05-26 Signetics Corporation Memory access controller
US5347636A (en) * 1985-11-08 1994-09-13 Nec Corporation Data processor which efficiently accesses main memory and input/output devices
US4928239A (en) * 1986-06-27 1990-05-22 Hewlett-Packard Company Cache memory with variable fetch and replacement schemes
JPS63240632A (ja) * 1987-03-27 1988-10-06 Nec Corp 情報処理装置
DE3782335T2 (de) * 1987-04-22 1993-05-06 Ibm Speichersteuersystem.
JPH0628036B2 (ja) * 1988-02-01 1994-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーシヨン シミュレーシヨン方法
JPH061463B2 (ja) * 1990-01-16 1994-01-05 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法
EP0447145B1 (en) * 1990-03-12 2000-07-12 Hewlett-Packard Company User scheduled direct memory access using virtual addresses
JP2774862B2 (ja) * 1990-07-16 1998-07-09 株式会社日立製作所 Dma制御装置および情報処理装置
GB2251102B (en) * 1990-12-21 1995-03-15 Sun Microsystems Inc Translation lookaside buffer
US5263140A (en) * 1991-01-23 1993-11-16 Silicon Graphics, Inc. Variable page size per entry translation look-aside buffer

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122916A (ja) * 1998-10-12 2000-04-28 Emerging Architectures Llc 原子的更新処理を実行する方法
JP2008503807A (ja) * 2004-06-29 2008-02-07 インテル・コーポレーション コヒーレンシ・プロトコルを有するシステム内の1またはそれ以上のプロセッサに対応する1またはそれ以上のキャッシュへのクリーン・データのプッシング
JP4789935B2 (ja) * 2004-06-29 2011-10-12 インテル・コーポレーション コヒーレンシ・プロトコルを有するシステム内の1またはそれ以上のプロセッサに対応する1またはそれ以上のキャッシュへのクリーン・データのプッシング
JP2009211222A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
US8706950B2 (en) 2008-03-01 2014-04-22 Kabushiki Kaisha Toshiba Memory system
US9201717B2 (en) 2008-03-01 2015-12-01 Kabushiki Kaisha Toshiba Memory system
US10901625B2 (en) 2008-03-01 2021-01-26 Toshiba Memory Corporation Memory system
US11409442B2 (en) 2008-03-01 2022-08-09 Kioxia Corporation Memory system

Also Published As

Publication number Publication date
DE69526996T2 (de) 2003-03-20
EP0674270A2 (en) 1995-09-27
US5535352A (en) 1996-07-09
DE69526996D1 (de) 2002-07-18
JP4136001B2 (ja) 2008-08-20
EP0674270B1 (en) 2002-06-12
EP0674270A3 (en) 1996-06-26

Similar Documents

Publication Publication Date Title
JP4136001B2 (ja) 入出力アドレス変換機構用の計算システム
JP3016575B2 (ja) 複数キャッシュ・メモリ・アクセス方法
US5586297A (en) Partial cache line write transactions in a computing system with a write back cache
US6085294A (en) Distributed data dependency stall mechanism
JP3587591B2 (ja) キャッシュ・ミスを制御する方法およびその計算機システム
US6721848B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
JP3285644B2 (ja) キャッシュメモリを有するデータプロセッサ
US5809530A (en) Method and apparatus for processing multiple cache misses using reload folding and store merging
US5996048A (en) Inclusion vector architecture for a level two cache
JP4531890B2 (ja) 原子的更新処理を実行する方法
US5551005A (en) Apparatus and method of handling race conditions in mesi-based multiprocessor system with private caches
US5751995A (en) Apparatus and method of maintaining processor ordering in a multiprocessor system which includes one or more processors that execute instructions speculatively
JP3067112B2 (ja) 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法
US6418515B1 (en) Cache flush unit
EP0397994A2 (en) Multiprocessor cache memory system
JPH10254773A (ja) アクセス方法、処理装置およびコンピュータ・システム
JPH05216756A (ja) プロセッサ及びキャッシュメモリ
JPH05241954A (ja) プロセッサ
JPH0619786A (ja) キャッシュコヒーレンスを維持する方法及び装置
KR100279643B1 (ko) 축소명령어세트컴퓨터(risc)시스템내에서캐쉬블록저장동작성능을개선하기위한방법및장치
US6061765A (en) Independent victim data buffer and probe buffer release control utilzing control flag
KR19990072272A (ko) 로드/로드검출및재정렬방법
JP3195303B2 (ja) 命令キャッシュとデータ・キャッシュ間のコヒーレンシを維持する方法および装置
KR100380674B1 (ko) 멀티프로세서 시스템에서의 기록-통과 기억 동작동안 캐시코히어런스를 유지하는 방법 및 시스템
US20050273563A1 (en) System and method for canceling write back operation during simultaneous snoop push or snoop kill operation in write back caches

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050420

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050906

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20051014

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20051104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080603

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees