JPH0997214A - 補助プロセッサのためのアドレス変換を含む情報処理システム - Google Patents

補助プロセッサのためのアドレス変換を含む情報処理システム

Info

Publication number
JPH0997214A
JPH0997214A JP8195800A JP19580096A JPH0997214A JP H0997214 A JPH0997214 A JP H0997214A JP 8195800 A JP8195800 A JP 8195800A JP 19580096 A JP19580096 A JP 19580096A JP H0997214 A JPH0997214 A JP H0997214A
Authority
JP
Japan
Prior art keywords
memory
processor
address
memory controller
page
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.)
Pending
Application number
JP8195800A
Other languages
English (en)
Inventor
M Kaiser John
ジョン・エム・カイザー
E Maule Warren
ウォーレン・イー・マウル
David W Victor
デビッド・ダブリュ・ビクター
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 JPH0997214A publication Critical patent/JPH0997214A/ja
Pending 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/10Address translation
    • 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/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • 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
    • 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)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 補助プロセッサのための効率的なアドレス変
換を提供する。 【解決手段】 グラフィックス処理などの補助機能を効
率的に処理する情報処理システムが、1つ以上のプロセ
ッサと、1つ以上のプロセッサに接続される高速プロセ
ッサ・バスと、メモリ並びに補助機能処理を制御するメ
モリ制御装置と、メモリ・システムと、I/O装置に接
続される1つ以上のI/O制御装置を有するI/Oバス
とを含み、メモリ制御装置が、コマンド・ブロックを記
憶するコマンド・バッファと、変換索引バッファ(TL
B)と、テーブル・ウォーク論理と、ページ・テーブル
・バッファとを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般に情報処理シス
テムに関し、特に、補助機能プロセッサにより使用する
ための仮想アドレスと実アドレス間のアドレス変換のた
めの効率的な手段を含む情報処理システムに関する。
【0002】
【従来の技術】今日の最新のコンピュータ・システム
は、仮想メモリの概念を使用し、そこではアプリケーシ
ョン・プログラムにとって、マシン内に実際に存在する
メモリ(いわゆる実メモリ)よりも多くのメモリが使用
可能である。このメモリは、オペレーティング・システ
ム及びハードウェアが、アプリケーションにこのメモリ
が存在するように思わせるが、実際にはプロセッサによ
りアクセス可能な物理メモリ内には存在せず、システム
・ハード・ディスク上に割当てられるので、仮想的と呼
ばれる。ハードウェア及びソフトウェアは、プログラム
による仮想アドレスをメモリが実際に存在するアドレ
ス、すなわち実物理メモリ内またはハード・ディスク上
のどこかに変換する。これは通常、4Kバイトのいわゆ
るページ単位ベースで実行される。
【0003】これらの変換は、プロセッサ・ハードウェ
ア内の変換索引バッファ(TLB:translation lookas
ide buffer)内に保持される。なぜなら、変換は絶えず
実行され、迅速に実行される必要があるからである。ペ
ージがプロセッサによりアクセスされ、実メモリ内に存
在しないとき、ページ不在割込みが発生し、ソフトウェ
アがディスクからそのページを持ち込み、それをメモリ
内の実ページにマップする。ディスクからそのページを
配置する空の実メモリ空間が存在しない場合、ソフトウ
ェアは最初にディスク解放空間にコピーされ得るページ
を選択し、その後、それをディスクからのページにより
置換する。これはページ・スワッピングと呼ばれる。実
ページをメモリから除去するために、ソフトウェアは、
旧仮想アドレスがもはやそれらの旧実ページ位置をマッ
プしないように、ハードウェア変換バッファ(TLB)
を変更する。これはTLBの無効化と呼ばれる。その仮
想アドレスが次に参照される場合、ソフトウェアはペー
ジ不在を受け取り、それが実メモリ内に存在しないこと
を知り、ハード・ディスク上でそれを探索する。新たな
ページがディスクから持ち込まれるとき、TLBは新た
な仮想アドレスをメモリ内のその実ページ・アドレスに
マップするように変更される。
【0004】今日のコンピュータ・システムはまた1つ
以上のプロセッサを含み、各プロセッサは実行の高速化
のために、実メモリから最近使用されたデータのコピー
を含むキャッシュ・メモリを有する。プロセッサがデー
タをメモリにフェッチまたは記憶するとき、データがそ
のキャッシュにロードまたは保管される。最近使用され
なかったデータを逆にメモリに保管し、キャッシュのセ
クションを現在プロセッサによりアクセスされているデ
ータにより更新するためにも、類似の技術が使用され
る。これは通常、高速化のために、完全にハードウェア
により実行される。
【0005】プロセッサがキャッシュ・データをアクセ
スしているとき、外部バス活動またはメモリ活動は発生
せず、従って極めて効率的である。
【0006】これらのタイプのコンピュータ・システム
では、メモリ(またはデータがプロセッサ・キャッシュ
内で変更され得るときにはプロセッサ・キャッシュ)と
I/O装置間のデータ転送のために、幾つかの方法が存
在する。第1の方法では、プロセッサがロード命令を発
行し、PIO(プログラム式I/O)を用いて装置に直
接記憶する。プロセッサはロード命令によりメモリ(ま
たはキャッシュ)をアクセスし、その内部レジスタの1
つに取り込む。ハードウェアがTLBを用いて仮想アド
レスを変換し、データを実メモリ(キャッシュ)位置か
ら獲得する。上述のように、データが現在実メモリ内に
存在しない場合、ページ不在が発生し、OSソフトウェ
アがデータをスワップ・インし、次にアクセスが発生す
る。データがプロセッサ・レジスタ内に取り込まれる
と、これはI/O位置へのストア命令により、I/O装
置に書込まれる(I/O装置がデータのソースでメモリ
がターゲットの場合には、逆のプロシジャが使用され
る)。
【0007】この方法はプログラミングの観点からは単
純であるが、プロセッサがI/O装置の速度により低速
化されるためにプロセッサ・サイクルをいくらか消費す
る他に、バースト転送が使用不能であり、転送がプロセ
ッサ・オペランド・サイズ(ワード、ダブル・ワードな
ど)に制限されるために、システム・バス及びI/Oバ
スの帯域幅を消費する欠点を有する。このような方法で
4Kページのデータを転送するには、通常のワード・サ
イズ・オペランドのロード命令及びストア命令を用いる
ならば、数千のオペレーションが必要とされる。
【0008】別の一般的な方法では、直接メモリ・アク
セス(DMA)を使用して、データ群をメモリからI/
Oにまたはその逆に転送する。この方法は、より効率的
なバースト転送を使用し、潜在的にはシステム・バス帯
域幅を使用しないので、第1の方法に比較して、多くの
CPUサイクルを節約する利点を有する。そして、シス
テム構成によっては、トラフィックが主システム(プロ
セッサ/メモリ・バス)から切り離される。しかしなが
ら、後述のように、DMAセットアップを含む大きなプ
ロセッサ・オーバヘッドが存在する上、割込みの終了処
理に際しても、OSカーネルを巻き込むオーバヘッドが
存在する。
【0009】アプリケーションがI/Oからのデータを
その仮想ページの1つから読み書きしようとするとき、
I/O DMA装置は通常、これらの仮想アドレスを理
解せず、また、データがメモリ内にあるのか、それとも
ハード・ディスク上にあるのかを理解しないという事実
により、DMAセットアップは複雑となる。上述のよう
に、OSソフトウェアは一時的にアプリケーションのデ
ータ・ページをディスクにスワップ・アウトし得る。
【0010】DMA転送をセットアップするためには、
プロセッサが、仮想アドレスから実メモリ・アドレスに
変換されたソース(またはターゲット)・メモリ・アド
レスを獲得し、転送が行われている間、OSソフトウェ
アにその実ページをメモリ内に"固定(pin)"させる必
要がある。これらの両オペレーションは、プロセッサ・
サイクルにおいて不経済なOSカーネル呼び出しを含
む。"固定"オペレーションでは、実ページ・マネージャ
が、ディスクへのページ・アウトのために使用不能な、
OSソフトウェアにより置換され得ない実ページをマー
クする。もしこれが許可されてしまうと、I/O装置が
転送を要求するアプリケーション以外のアプリケーショ
ンにデータを転送してしまい、悲惨な結果を生じ得る。
【0011】グラフィックス画面ペインティングまたは
マルチメディア装置転送などのデータ集中型の転送で
は、CPUオーバヘッドまたはシステム・バス帯域幅が
制限要因となる。
【0012】PowerPC(IBMの登録商標)プロセッサ
では、メモリへのロードまたはストアのように作用する
2つの外部装置制御命令が存在する。すなわち、プロセ
ッサが仮想アドレスを実物理アドレスに変換し、それを
プロセッサのアドレス・バス上に出力し、次にレジスタ
にその(システム・)データ・バスからのワード・デー
タをロードするか、GPRからのワード・データをプロ
セッサ・(システム・)データ・バスに記憶(ストア)
する。しかしながら、更にこれらの命令は、追加のピン
により、これらのオペレーションと共に資源識別パラメ
ータ(RID)の根源でもある。PowerPCアーキテクチ
ャはこの目的のために最大5ビット・フィールドを提供
し、従ってシステム内で最大32資源を許容する。この
RIDは資源を選択するためのアドレスとして使用さ
れ、資源はアドレス・バス上の物理アドレス及びデータ
・バス上のデータを、その固有の目的のために使用す
る。これらの命令は、ストア・タイプの命令について
は"外部制御アウト・ワード(ecowx)"と呼ばれ、ロー
ド・タイプの命令については"外部制御イン・ワード(e
ciwx)"と呼ばれる。
【0013】グラフィックス処理などの補助処理機能
は、一般に従来システムにおいては、3次元画素処理用
の比較的高価なグラフィックス・アダプタにより実現さ
れてきた。
【0014】最近のソフトウェア開発は、グラフィック
ス処理を情報処理システム内の主プロセッサ・コンプレ
ックスにより処理することを可能にした。しかしながら
結果的には、グラフィックス・パイプライン処理が通常
のCPUアーキテクチャに適応せず、全く満足のゆくも
のではなかった。
【0015】こうしたシステムにおける固有の問題は、
主プロセッサ・コンプレックス内のソフトウェアが、グ
ラフィックス処理などの補助機能処理のためにコマンド
・ブロックを生成するとき、有効アドレスを参照するこ
とである(プロセッサのアドレス変換機構が使用されな
い)。コマンド・ブロックがグラフィックス・プロセッ
サにより受信されるとき、コマンド・ブロックは実アド
レスではなく、有効アドレスの参照を含む。補助機能プ
ロセッサは、プロセッサ・バスとメモリ・システム間に
接続されるメモリ制御装置などの制御装置内に配置され
るので、例えばメモリ制御装置がコマンド・ブロック内
で参照されるデータをアクセスできるように、有効アド
レスを実アドレスに変換する手段が必要とされる。
【0016】
【発明が解決しようとする課題】従って本発明の目的
は、プロセッサ・バスに接続される制御装置内に配置さ
れるグラフィックス・プロセッサにおいて、グラフィッ
クス処理機能を実行することであり、制御装置が、メモ
リ内の実アドレスに対してアクセスが行われるように、
コマンド・ブロックに含まれる仮想(または有効)アド
レスを実アドレスに変換する手段を含む。
【0017】
【課題を解決するための手段】従って、グラフィックス
処理などの補助機能を効率的に処理する情報処理システ
ムが、1つ以上のプロセッサと、1つ以上のプロセッサ
に接続される高速プロセッサ・バスと、メモリ並びに補
助機能処理を制御するメモリ制御装置と、メモリ・シス
テムと、I/O装置に接続される1つ以上のI/O制御
装置を有するI/Oバスとを含み、メモリ制御装置が、
コマンド・ブロックを記憶するコマンド・バッファと、
変換索引バッファ(TLB)と、テーブル・ウォーク論
理と、ページ・テーブル・バッファとを含む。
【0018】本発明の利点は、3次元グラフィックス処
理が、プロセッサ・バスに接続される制御装置内の補助
機能プロセッサにより効率的に達成され得ることであ
り、プロセッサはコマンド・ブロック内のアドレスを実
アドレスに変換するためのオーバヘッド、更にこれらの
アドレスが補助機能プロセッサにより処理される間にス
ワップ・アウトされないように、実メモリ内でこれらの
アドレスをロックするOSルーチンを呼び出すためのオ
ーバヘッドを有さない。
【0019】
【発明の実施の形態】図1を参照して、本発明を実現す
る情報処理システム100について説明する。マルチプ
ロセッサ・システム100は、システム・バス108に
動作上接続される複数の処理ユニット102、104、
106を含む。システム・バス108には更に、システ
ム・メモリ112へのアクセスを制御するメモリ制御装
置110、及びI/Oチャネル制御装置114、11
6、118が接続される。更に、高性能I/O装置12
0がシステム・バス108に接続され得る。各システム
要素102乃至120はシステム制御装置130の制御
の下で動作し、システム制御装置130はシステム・バ
ス108に接続される各ユニットと、ポイント間信号線
を介して通信する。こうしたポイント間信号線には、プ
ロセッサ102との間の信号線132、プロセッサ10
4との間の信号線134、プロセッサ106との間の信
号線136、メモリ制御装置110との間の信号線14
0、I/Oチャネル制御装置114との間の信号線14
4、I/Oチャネル制御装置116との間の信号線14
6、I/Oチャネル制御装置118との間の信号線14
8、及び高性能I/O装置120との間の信号線150
が含まれる。バス・アクセスの要求及び許可は、全てシ
ステム制御装置130により制御される。
【0020】I/Oチャネル制御装置114は、システ
ムI/Oサブシステム及び固有(ネイティブ)I/Oサ
ブシステム160に接続され、これらを制御する。
【0021】各プロセッサ・ユニット102、104、
106は、プロセッサ及びキャッシュ記憶装置を含み得
る。
【0022】プロセッサ102などのバス装置の1つ
が、接続132を介して、システム制御装置130にシ
ステム・バス108上でのオペレーションの許可を要求
する。システム制御装置130からバス許可を受信する
と、プロセッサ102はアドレスをシステム・バス10
8上でイネーブルにする。
【0023】図2を参照して、本発明の要素の詳細につ
いて述べることにする。
【0024】メモリ制御装置204はプロセッサ・バス
14、16にも接続され、プロセッサ12による、或い
はI/O制御装置からの要求によるメモリ・システム2
4へのアクセスを制御する。メモリ制御装置204は補
助機能プロセッサ206を含み、これは例えばグラフィ
ックス・プロセッサである。メモリ制御装置204は更
に、各コマンド・ブロックのコマンドを記憶するコマン
ド・バッファ210、アドレス変換機構の一部としての
変換索引バッファ220、グラフィックス・プロセッサ
206により提供される有効アドレスがTLB220内
のエントリに一致するか否かを判断する比較回路22
2、テーブル・ウォーク論理224、及びページ・テー
ブル・バッファ226を含む。
【0025】アドレス変換、より詳細にはTLB、テー
ブル・ウォーク論理、及びページ・テーブル・バッファ
を含むメモリ管理ユニット内のアドレス変換について
は、"PowerPC 601 RISC Microprocessor User's Manua
l" Revision 1(1993年モトローラ社発行)の第6
章"Memory Management Unit"に詳細に述べられている。
【0026】次に、本発明によるグラフィックス処理に
おいて有用な仮想アドレスから実アドレスへの変換のた
めのアドレス変換機構のオペレーションについて説明す
る。
【0027】メモリ制御装置204により受信されるプ
ロセッサ12からのコマンド・ブロック内の有効アドレ
スを、グラフィックス・プロセッサ206におけるグラ
フィックス処理のために変換するアドレス変換論理が、
メモリ制御装置204内に含まれる。アドレス変換論理
は、グラフィックス・プロセッサがグラフィックス処理
において有用な情報が記憶されるメモリ内の実アドレス
をアクセスする必要があるために、必要とされる。
【0028】アドレス変換論理は、4ウェイ変換索引バ
ッファ(TLB)220を含む。比較回路222によ
り、TLB220内のアドレスとグラフィックス・プロ
セッサ206により提供される有効アドレスとの間の不
一致が指摘されると、メモリ制御装置204はメモリ・
システム24内のページ・テーブルのテーブル・ウォー
クを実行する。ページ・テーブル・ウォーク・オペレー
ションについては、前記PowerPC User's Manualに述べ
られている。メモリ制御装置204は、アドレス変換の
実行時に、システム・ページ・テーブルをウォークする
ために使用されるシステム体系化機構の現コピーを記憶
する。メモリ制御装置204は有効−実アドレス変換を
見い出すために、必要に応じてシステム・ページ・テー
ブルからキャッシュ・ラインをフェッチする。システム
・ページ・テーブル226内にエントリが見い出されな
い場合、ページ不在条件がグラフィックス・エンジン2
06に送信される。
【0029】メモリ制御装置204はプロセッサではな
いので、ページ不在を直接的に処理することはできな
い。グラフィックス・プロセッサ206が主プロセッサ
・コンプレックス12からのコマンド・ブロックを処理
している間に、ページ不在条件が発生すると、ページ不
在条件を反映するエラー・ステータス・パケットが、メ
モリ制御装置204からプロセッサ12に渡される。プ
ロセッサ・ソフトウェアはページ不在条件を認識し、不
在アドレスを再実行する。プロセッサ12が同一のペー
ジ不在条件に遭遇するとき、システム・ソフトウェア
(本発明の範囲外)が条件を解明し、制御を再度グラフ
ィックス・プロセッサ206に渡す。システム・ページ
・テーブル226内の参照(R)ビット及び変更(C)
ビットの同期を処理する追加の機構が、アドレス変換論
理に追加される。通常は、Rビット及びCビットがプロ
セッサ12により更新され、ソフトウェア・カーネルに
よりページ・キャスティング・アルゴリズムを実現する
ために使用される。しかしながら、グラフィックス・プ
ロセッサ206は、Rビット及びCビットを更新しな
い。このことは、あるページがグラフィックス・プロセ
ッサ206により更新されるが、ソフトウェア・カーネ
ルがCビットをリセットすることにより、その同一ペー
ジが無効にされた状況が生じる可能性を高めることにな
る。こうした状況を回避するために、アドレス変換論理
はページ・テーブル・バッファ226のエントリ内のC
ビットをチェックし、Cビットが変換テーブル内のマッ
チング・エントリに対してセットされているか否かを検
証する。Cビットがセットされていない場合、上述のペ
ージ不在機構がトリガされる。
【0030】メモリ制御装置204はTLBエントリを
含むので、PowerPC TLBオペレーションを処理しなけ
ればならない。ソフトウェア・カーネルが、あるページ
を無効にしようとするとき、特定のTLBコマンドが開
始される。メモリ制御装置204がプロセッサ・バス1
4、16上でTLBコマンドを検出すると、変換論理は
TLB220をフラッシュ(flush)し、以前に変換さ
れたアドレスを使用する任意のトランザクションが、T
LB無効コマンドの完了以前に完了するように強要され
る。
【0031】以上、本発明は、グラフィックス・エンジ
ンがメモリ制御装置の一部として実現される、特にグラ
フィックス処理を扱う好適な態様に関連して述べられて
きたが、当業者には理解されるように、本発明は、他の
プロセッサ・アクセス及びメモリ・アクセスへの妨害を
最小化するように、プロセッサ・バスに渡るプロセッ
サ、及びメモリへのアクセスを要求する他の補助機能プ
ロセッサにも適用され得るものである。
【0032】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0033】(1)1つ以上のプロセッサと、前記1つ
以上のプロセッサに接続される高速プロセッサ・バス
と、メモリ及び1つ以上の補助機能プロセッサを制御す
るメモリ制御装置と、メモリ・システムと、I/O装置
に接続される1つ以上のI/O制御装置を有するI/O
バスと、を含む情報処理システムであって、前記メモリ
制御装置が、最近使用されたアドレス変換を記憶する変
換索引バッファと、コマンド・ブロックに関連付けられ
るアドレスと前記変換索引バッファ内に記憶されるアド
レスとを比較する比較器と、前記コマンド・ブロックに
関連付けられる有効アドレスを、前記1つ以上の補助機
能プロセッサにより使用される実アドレスに変換する論
理手段と、を含む、情報処理システム。 (2)ページ不在条件をプロセッサに伝える手段を含
む、前記(1)記載の情報処理システム。 (3)メモリ内のページが前記情報処理システムの他の
要素により変更されているか否かを判断するために、ペ
ージ・テーブル内のエントリ内の1つ以上の所定ビット
位置をテストする手段を含む、前記(1)記載の情報処
理システム。 (4)前記エントリ内の前記1つ以上の所定ビット位置
がアクティブでない場合、ページ不在をトリガする手段
を含む、前記(3)記載の情報処理システム。 (5)所定のプロセッサ・コマンドに応答して、現トラ
ンザクションが完了するまで前記メモリ制御装置内にお
ける前記コマンドの実行を抑制する手段を含む、前記
(4)記載の情報処理システム。 (6)情報処理システム内のメモリ制御装置であって、
最近使用されたアドレス変換を記憶する変換索引バッフ
ァと、コマンド・ブロックに関連付けられるアドレスと
前記変換索引バッファ内に記憶されるアドレスとを比較
する比較器と、前記コマンド・ブロックに関連付けられ
る有効アドレスを、前記1つ以上の補助機能プロセッサ
により使用される実アドレスに変換する論理手段と、を
含む、メモリ制御装置。 (7)ページ不在条件をプロセッサに伝える手段を含
む、前記(6)記載のメモリ制御装置。 (8)メモリ内のページが前記情報処理システムの他の
要素により変更されているか否かを判断するために、ペ
ージ・テーブル内のエントリ内の1つ以上の所定ビット
位置をテストする手段を含む、前記(6)記載のメモリ
制御装置。 (9)前記エントリ内の前記1つ以上の所定ビット位置
がアクティブでない場合、ページ不在をトリガする手段
を含む、前記(8)記載のメモリ制御装置。 (10)所定のプロセッサ・コマンドに応答して、現ト
ランザクションが完了するまで前記メモリ制御装置内に
おける前記コマンドの実行を抑制する手段を含む、前記
(9)記載のメモリ制御装置。
【図面の簡単な説明】
【図1】本発明による情報処理システムのブロック図で
ある。
【図2】本発明による補助機能プロセッサ及び関連論理
を含むメモリ制御装置の詳細を示すブロック図である。
【符号の説明】
100 情報処理システム 204 メモリ制御装置 222 比較回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウォーレン・イー・マウル アメリカ合衆国78613、テキサス州シダ ー・パーク、タク・ロード 12131 (72)発明者 デビッド・ダブリュ・ビクター アメリカ合衆国78681、テキサス州ラウン ド・ロック、ニューランド・ドライブ 3810

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】1つ以上のプロセッサと、 前記1つ以上のプロセッサに接続される高速プロセッサ
    ・バスと、 メモリ及び1つ以上の補助機能プロセッサを制御するメ
    モリ制御装置と、 メモリ・システムと、 I/O装置に接続される1つ以上のI/O制御装置を有
    するI/Oバスと、 を含む情報処理システムであって、前記メモリ制御装置
    が、 最近使用されたアドレス変換を記憶する変換索引バッフ
    ァと、 コマンド・ブロックに関連付けられるアドレスと前記変
    換索引バッファ内に記憶されるアドレスとを比較する比
    較器と、 前記コマンド・ブロックに関連付けられる有効アドレス
    を、前記1つ以上の補助機能プロセッサにより使用され
    る実アドレスに変換する論理手段と、 を含む、情報処理システム。
  2. 【請求項2】ページ不在条件をプロセッサに伝える手段
    を含む、請求項1記載の情報処理システム。
  3. 【請求項3】メモリ内のページが前記情報処理システム
    の他の要素により変更されているか否かを判断するため
    に、ページ・テーブル内のエントリ内の1つ以上の所定
    ビット位置をテストする手段を含む、請求項1記載の情
    報処理システム。
  4. 【請求項4】前記エントリ内の前記1つ以上の所定ビッ
    ト位置がアクティブでない場合、ページ不在をトリガす
    る手段を含む、請求項3記載の情報処理システム。
  5. 【請求項5】所定のプロセッサ・コマンドに応答して、
    現トランザクションが完了するまで前記メモリ制御装置
    内における前記コマンドの実行を抑制する手段を含む、
    請求項4記載の情報処理システム。
  6. 【請求項6】情報処理システム内のメモリ制御装置であ
    って、 最近使用されたアドレス変換を記憶する変換索引バッフ
    ァと、 コマンド・ブロックに関連付けられるアドレスと前記変
    換索引バッファ内に記憶されるアドレスとを比較する比
    較器と、 前記コマンド・ブロックに関連付けられる有効アドレス
    を、前記1つ以上の補助機能プロセッサにより使用され
    る実アドレスに変換する論理手段と、 を含む、メモリ制御装置。
  7. 【請求項7】ページ不在条件をプロセッサに伝える手段
    を含む、請求項6記載のメモリ制御装置。
  8. 【請求項8】メモリ内のページが前記情報処理システム
    の他の要素により変更されているか否かを判断するため
    に、ページ・テーブル内のエントリ内の1つ以上の所定
    ビット位置をテストする手段を含む、請求項6記載のメ
    モリ制御装置。
  9. 【請求項9】前記エントリ内の前記1つ以上の所定ビッ
    ト位置がアクティブでない場合、ページ不在をトリガす
    る手段を含む、請求項8記載のメモリ制御装置。
  10. 【請求項10】所定のプロセッサ・コマンドに応答し
    て、現トランザクションが完了するまで前記メモリ制御
    装置内における前記コマンドの実行を抑制する手段を含
    む、請求項9記載のメモリ制御装置。
JP8195800A 1995-09-29 1996-07-25 補助プロセッサのためのアドレス変換を含む情報処理システム Pending JPH0997214A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US53718495A 1995-09-29 1995-09-29
US537184 1995-09-29

Publications (1)

Publication Number Publication Date
JPH0997214A true JPH0997214A (ja) 1997-04-08

Family

ID=24141573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8195800A Pending JPH0997214A (ja) 1995-09-29 1996-07-25 補助プロセッサのためのアドレス変換を含む情報処理システム

Country Status (3)

Country Link
EP (1) EP0766177A1 (ja)
JP (1) JPH0997214A (ja)
KR (1) KR970016975A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272885A (ja) * 2006-03-28 2007-10-18 Internatl Business Mach Corp <Ibm> 代替ページのプールを使用してdma書込みページ障害をコンピュータにより管理するための方法、装置、及びコンピュータ・プログラム

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933158A (en) * 1997-09-09 1999-08-03 Compaq Computer Corporation Use of a link bit to fetch entries of a graphic address remapping table
US5914730A (en) * 1997-09-09 1999-06-22 Compaq Computer Corp. System and method for invalidating and updating individual GART table entries for accelerated graphics port transaction requests
US6549930B1 (en) 1997-11-26 2003-04-15 Compaq Computer Corporation Method for scheduling threads in a multithreaded processor
US6163840A (en) * 1997-11-26 2000-12-19 Compaq Computer Corporation Method and apparatus for sampling multiple potentially concurrent instructions in a processor pipeline
US6175814B1 (en) 1997-11-26 2001-01-16 Compaq Computer Corporation Apparatus for determining the instantaneous average number of instructions processed
US6442585B1 (en) 1997-11-26 2002-08-27 Compaq Computer Corporation Method for scheduling contexts based on statistics of memory system interactions in a computer system
US6237059B1 (en) 1997-11-26 2001-05-22 Compaq Computer Corporation Method for estimating statistics of properties of memory system interactions among contexts in a computer system
US6374367B1 (en) 1997-11-26 2002-04-16 Compaq Computer Corporation Apparatus and method for monitoring a computer system to guide optimization
US6195748B1 (en) 1997-11-26 2001-02-27 Compaq Computer Corporation Apparatus for sampling instruction execution information in a processor pipeline
US6332178B1 (en) 1997-11-26 2001-12-18 Compaq Computer Corporation Method for estimating statistics of properties of memory system transactions
US6237073B1 (en) 1997-11-26 2001-05-22 Compaq Computer Corporation Method for providing virtual memory to physical memory page mapping in a computer operating system that randomly samples state information
US6202127B1 (en) 1997-11-26 2001-03-13 Compaq Computer Corporation Apparatus for spatial and temporal sampling in a computer memory system
US6205531B1 (en) 1998-07-02 2001-03-20 Silicon Graphics Incorporated Method and apparatus for virtual address translation
US7710425B1 (en) * 2000-06-09 2010-05-04 3Dlabs Inc. Ltd. Graphic memory management with invisible hardware-managed page faulting
US6734862B1 (en) 2000-06-14 2004-05-11 Intel Corporation Memory controller hub
US7116331B1 (en) 2000-08-23 2006-10-03 Intel Corporation Memory controller hub interface
US6859208B1 (en) 2000-09-29 2005-02-22 Intel Corporation Shared translation address caching
US6684305B1 (en) 2001-04-24 2004-01-27 Advanced Micro Devices, Inc. Multiprocessor system implementing virtual memory using a shared memory, and a page replacement method for maintaining paged memory coherence
US7162608B2 (en) * 2001-10-24 2007-01-09 Cray, Inc. Translation lookaside buffer-based memory system and method for use in a computer having a plurality of processor element
GB0301448D0 (en) * 2003-01-22 2003-02-19 Falanx Microsystems As Microprocessor systems
US8051338B2 (en) 2007-07-19 2011-11-01 Cray Inc. Inter-asic data transport using link control block manager
US20120233439A1 (en) * 2011-03-11 2012-09-13 Boris Ginzburg Implementing TLB Synchronization for Systems with Shared Virtual Memory Between Processing Devices
US20120236010A1 (en) * 2011-03-15 2012-09-20 Boris Ginzburg Page Fault Handling Mechanism
CN109697016B (zh) * 2017-10-20 2022-02-15 伊姆西Ip控股有限责任公司 用于改进容器的存储性能的方法和装置
KR20200123912A (ko) * 2019-04-23 2020-11-02 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3839706A (en) * 1973-07-02 1974-10-01 Ibm Input/output channel relocation storage protect mechanism
JPH0814803B2 (ja) * 1986-05-23 1996-02-14 株式会社日立製作所 アドレス変換方式
US5369744A (en) * 1989-10-16 1994-11-29 Hitachi, Ltd. Address-translatable graphic processor, data processor and drawing method with employment of the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007272885A (ja) * 2006-03-28 2007-10-18 Internatl Business Mach Corp <Ibm> 代替ページのプールを使用してdma書込みページ障害をコンピュータにより管理するための方法、装置、及びコンピュータ・プログラム

Also Published As

Publication number Publication date
KR970016975A (ko) 1997-04-28
EP0766177A1 (en) 1997-04-02

Similar Documents

Publication Publication Date Title
JPH0997214A (ja) 補助プロセッサのためのアドレス変換を含む情報処理システム
US6226695B1 (en) Information handling system including non-disruptive command and data movement between storage and one or more auxiliary processors
US5155824A (en) System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
EP0408058B1 (en) Microprocessor
US5119485A (en) Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
US5761734A (en) Token-based serialisation of instructions in a multiprocessor system
US6456891B1 (en) System and method for transparent handling of extended register states
JP3067112B2 (ja) 遅延プッシュをコピー・バック・データ・キャッシュに再ロードする方法
US5029070A (en) Coherent cache structures and methods
US7194597B2 (en) Method and apparatus for sharing TLB entries
JP3264319B2 (ja) バスブリッジ
US20030135669A1 (en) DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces
US20040117587A1 (en) Hardware managed virtual-to-physical address translation mechanism
US20040117588A1 (en) Access request for a data processing system having no system memory
WO1990003002A1 (en) Coherent cache structures and methods
EP0303648B1 (en) Central processor unit for digital data processing system including cache management mechanism
WO1997046937A1 (en) Method and apparatus for caching system management mode information with other information
JPH0997230A (ja) データ転送方法及びシステム
US6044447A (en) Method and apparatus for communicating translation command information in a multithreaded environment
US7017024B2 (en) Data processing system having no system memory
US20040117590A1 (en) Aliasing support for a data processing system having no system memory
US20050055528A1 (en) Data processing system having a physically addressed cache of disk memory
US7356647B1 (en) Cache with integrated capability to write out entire cache
US5619673A (en) Virtual access cache protection bits handling method and apparatus
US10754791B2 (en) Software translation prefetch instructions