JPH10207723A - 仮想装置アクセス・システム - Google Patents

仮想装置アクセス・システム

Info

Publication number
JPH10207723A
JPH10207723A JP9353098A JP35309897A JPH10207723A JP H10207723 A JPH10207723 A JP H10207723A JP 9353098 A JP9353098 A JP 9353098A JP 35309897 A JP35309897 A JP 35309897A JP H10207723 A JPH10207723 A JP H10207723A
Authority
JP
Japan
Prior art keywords
graphics
access
hardware
application
graphics hardware
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.)
Withdrawn
Application number
JP9353098A
Other languages
English (en)
Inventor
Bruce Blaho
ブルース・ブラホー
Courtney Goeltzenleuchter
カートニー・ゲルツェンロイヒター
Russ W Herrell
ラス・ダブリュー・ハーレル
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 JPH10207723A publication Critical patent/JPH10207723A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Abstract

(57)【要約】 【課題】トランザクション・コストを生じることなくコ
ンピュータ・システムのグラフィックス・ハードウエア
にアクセスするシステムを提供する。 【解決手段】仮想装置アクセス・システム38はオペレ
ーティング・システム30内に構成されたハードウエア
制御マネージャ40、各アプリケーション12のグラフ
ィックスAPIライブラリ32の仮想メモリスペース内
に構成された信号ハンドラ42、および共用メモリ44
をそなえる。ハードウエア制御マネージャ40は、グラ
フィックス・ハードウエア装置14に現在アクセス中の
アプリケーションがデータ処理におけるグラフィックス
・ハードウエア装置14を中断してはならないポイント
にない限りグラフィックス・ハードウエア装置14への
アクセスを試みる任意のアプリケーション12にアクセ
スを与えるように設計された装置独立制御を行なう。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は一般的にはコンピュ
ータ・システム上のグラフィックス・ハードウエアへの
アクセスの制御および管理に関し、特にトランザクショ
ンの実行コストを発生することなくコンピュータ・シス
テム上のグラフィックス・ハードウエアの仮想アクセス
のためのシステムおよび方法に関する。
【0002】
【従来の技術】グラフィックス・ハードウエア装置はコ
ンピュータ・システムにおいて表示装置の二次元画面上
でのオブジェクトの二次元あるいは三次元表示に広く用
いられる。通常、表示画面上に表示すべきオブジェクト
は複数の図形要素に分割される。図形要素はグラフィッ
クスピクチャの基本要素であり、点、線、ベクトル、あ
るいは三角形等のポリゴンの形状として規定される。あ
るオブジェクトの基本要素を表現するには、それらの基
本要素がグラフィックス・パイプラインに供給され、そ
こでたとえば変形、シェーディングのためのライティン
グ、クリッピング、透視分割、走査変換等のさまざまな
処理が行なわれる。グラフィックス・パイプラインの動
作は通常グラフィックス・ハードウエアによって実行さ
れ、グラフィックス・ハードウエアはそのコンピュータ
・システムで実行されているアプリケーションから基本
要素データを受け取る。
【0003】競争の激しいコンピュータソフトウエア市
場では、アプリケーションが表示装置上でオブジェクト
を表現するのに要する時間が主たる関心事となってい
る。この所要時間は、それぞれのアプリケーション・イ
ンターフェース(“API”)の呼び出しの実行に要す
る時間に大きく左右される。たとえば、自らの形状処理
を実行するグラフィックス・アクセラレータの場合、グ
ラフィックスAPIがそのアプリケーションの画像デー
タをグラフィックス・ハードウエアに直接送らなければ
ならない。さらに、複数の図形処理の間での干渉を防止
するために、ある特定のAPIエントリー・ポイントは
レンダリングの開始に先だってハードウエアにそのグラ
フィックス・コンテキストが確実にロードされているよ
うにするものでなければならない。このチェックによっ
てグラフィックスAPI呼び出しのオーバーヘッドが大
幅に増大する。高性能システムにおいては、専用のグラ
フィックス・アクセラレータで図形データを処理する。
そのため、最大限の性能を得るためには、グラフィック
スAPIは最小限のオーバーヘッド量でグラフィックス
・ハードウエアにデータを供給しなければならない。し
たがって、グラフィックス・ハードウエアに対する制御
のやり取りに関わるオーバーヘッドによってグラフィッ
クス・アクセラレータの速度上の利点が失われる場合が
ある。
【0004】これは、基本要素の各成分(色、ノーマ
ル、テクスチャ座標あるいは頂点)がそれぞれがハード
ウエア・アクセスを必要とする個別のライブラリ呼び出
しによって指定されるvertex−based(頂点
ベース)のAPIの場合特に顕著である。したがって、
vertex−basedのAPIの場合、グラフィッ
クス・ハードウエアのロック(すなわち専用のアクセス
を設ける)およびロック解除に要する時間が、1基本要
素について1つのライブラリ呼び出しのみを行なう基本
要素ベースのAPIの場合に比べて基本要素のレンダリ
ングにおいて実行される作業の中でより高い割合を占め
ることになる。その結果、基本要素の各成分に対するグ
ラフィックス・ハードウエアのロックおよびロック解除
に関わるオーバーヘッドによってvertex−bas
edAPIの性能は著しく低下する。
【0005】あるアプリケーションのAPIにグラフィ
ックス・ハードウエアへのアクセスが与えられると、そ
のAPIはグラフィックス・ハードウエアへのデータの
伝送を開始する。グラフィックス・ハードウエアがデー
タ処理に要する時間は、そのデータによって、またグラ
フィックス・アクセラレータの実行する処理によって何
段階にも変化する。したがって、グラフィックス・ハー
ドウエアのデータ・バッファが一杯になり、グラフィッ
クス・ハードウエアがそれ以上の入力データを受け取る
ことができなくなってデータの損失が生じる可能性があ
る。その結果、グラフィックスAPIのオーバーヘッド
量の一部は、グラフィックス・ハードウエアのデータ・
バッファにアプリケーションからグラフィックス・ハー
ドウエアに送ろうとするデータのための十分なスペース
があるかどうかをチェックするためのデータ・フローの
管理によって生じている。
【0006】
【発明が解決しようとする課題】したがって、当該分野
においてトランザクション・コストを生じることなくコ
ンピュータ・システムのグラフィックス・ハードウエア
にアクセスするシステムおよび方法が必要とされてい
る。ライブラリ呼び出しのたびにハードウエア・アクセ
スが行なわれるvertex−basedのAPIの場
合特にその必要性が高い。さらに、グラフィックスAP
Iからグラフィックス・ハードウエアへのデータ・フロ
ーをオペレーティング・システムからの装置専用のカー
ネル支援を必要とせず、またAPI側でのオーバーヘッ
ドを最小限としながら制御することによって、グラフィ
ックス・ハードウエア装置における高速のデータ処理を
可能にしてデータの損失を防止する機能が望まれてい
る。
【0007】
【課題を解決するための手段】本発明は上述した当該分
野において周知である従来技術の問題点を解決するもの
である。本発明はコンピュータ・システム上で非同期に
実行される1つあるいはそれ以上のアプリケーションに
よるそのコンピュータ・システムのグラフィックス・ハ
ードウエアへの仮想アクセスを可能とするものである。
その結果、アプリケーションはグラフィックスのアプリ
ケーション・プログラム・インターフェース(API)
における明示的なチェックあるいはプロトコルを必要と
することなく専用のアクセスを有するかのようにグラフ
ィックス・ハードウエアにアクセスすることができる。
【0008】本発明によれば、グラフィックス・ハード
ウエア装置のアクセスはオペレーティング・システムに
常駐する装置独立制御とそのコンピュータ・システム上
で動作する各アプリケーションのグラフィックスAPI
に常駐する依存制御に分けられる。装置独立制御はハー
ドウエア制御マネージャによって実行され、このプログ
ラムはオペレーティング・システムに設けられ、基本的
にはグラフィックス・ハードウエアへのアクセス権の所
有者とその時期を制御する。装置依存制御は信号ハンド
ラによって実行され、この信号ハンドラは各アプリケー
ションのグラフィックスAPIに設けられ、基本的には
グラフィックス・ハードウエアへのアクセスのアプリケ
ーション間での切り換えを制御する。さらに、各アプリ
ケーションからアクセス可能で、グラフィックス・ハー
ドウエアに現在アクセス中のアプリケーションの身分証
明および各アプリケーションのグラフィックス・ハード
ウエア状態を記憶するように構成された共用メモリスペ
ースが設けられる。
【0009】ハードウエア制御マネージャは、各アプリ
ケーションからの要求によって、ただしそのアプリケー
ションのグラフィックス・コンテキスト状態がグラフィ
ックス・ハードウエアにロードされている時にのみ各ア
プリケーションのグラフィックス・ハードウエアへのア
クセスを可能とする制御論理を含む。ハードウエア・マ
ネージャはアクセス保護識別子を用いてグラフィックス
・ハードウエアにアクセスしようとするアプリケーショ
ンを検出する。保護識別子のフォールトが検出される
と、ハードウエア制御マネージャはアクセスしようとす
るアプリケーションに信号を送出する。この信号は既存
のグラフィックス状態を保管してこのアプリケーション
のグラフィックス状態を復元するユーザー・レベル信号
処理を開始させる。一旦、アプリケーションのグラフィ
ックス・ハードウエア状態が、グラフィックス・ハード
ウエアにロードされると、そのアプリケーションはハー
ドウエア制御マネージャによってグラフィックス・ハー
ドウエアへのアクセスを許可される。したがって、フォ
ールトが解消されると、そのアプリケーションはグラフ
ィックス・ハードウエアにアクセスしようとする唯一の
アプリケーションであるかのうようにオーバーヘッドを
生じることなくグラフィックス・ハードウエアにアクセ
スすることができる。
【0010】信号ハンドラは各アプリケーションのグラ
フィックスAPIライブラリの一部としてユーザー・レ
ベルで実施され、したがってグラフィックス・コンテキ
ストの切り換え等の装置依存制御を効率的に処理するこ
とができる。本実施形態では、グラフィックス・ハード
ウエアへのアクセスを求めるアプリケーションの信号ハ
ンドラがグラフィックス・コンテキストの切り換えを実
行する。これは、グラフィックス・ハードウエアに現在
アクセス中のアプリケーションに関するグラフィックス
・ハードウエア状態の保管と、グラフィックス・ハード
ウエアへのアクセスを求めているアプリケーションのグ
ラフィックス・ハードウエア状態の復元からなる。した
がって、グラフィックス・ハードウエアにおけるアプリ
ケーション間のグラフィックス・ハードウエア状態の切
り換えは見えないところで行なわれ、アプリケーション
は、他のアプリケーションがグラフィックス・ハードウ
エアへのアクセスをめぐって交渉中であったり、あるい
はさらに他のアプリケーションからグラフィックス・ハ
ードウエアへのアクセスを獲得しようとしていること
を、認識しない。このように、各アプリケーションに仮
想装置アクセスが与えられる。
【0011】また、本発明はコンピュータ・システムの
グラフィックス・ハードウエアへの仮想アクセスを可能
とするものであり、概念的には次のような方法とみるこ
とができる。まず、コンピュータ・システム上で実行さ
れるアプリケーションはグラフィックス・ハードウエア
にアクセスしようとする。これによって、保護識別子の
フォールトが発生し、これをハードウエア制御マネージ
ャはグラフィックス・ハードウエアの使用の試みとして
認識する。さらに、ハードウエア制御マネージャがその
フォールトを処理する間そのアプリケーションの処理は
阻止される。しかし、アプリケーション側から見れば、
そのアプリケーションは通常のグラフィックスアクセス
を行なっただけであり、すなわちそのアプリケーション
がグラフィックス・ハードウエアに対するアクセスを有
する唯一のアプリケーションであるとの認識を持つ。グ
ラフィックス・ハードウエアが利用可能である場合、ハ
ードウエア制御マネージャはただちにそのアプリケーシ
ョンにグラフィックス・ハードウエアへのアクセス権を
与える。利用可能でない場合、アプリケーションは阻止
されたままであり、ハードウエア制御マネージャはグラ
フィックス・ハードウエアに現在アクセス中のアプリケ
ーションの中断が可能になるまで待たなければならな
い。
【0012】しかし、現行のアプリケーションが中断可
能である場合、ハードウエア制御マネージャはアクセス
を試みているアプリケーションの信号ハンドラに制御信
号を送ってその信号ハンドラにグラフィックス・コンテ
キスト切り換えの実行を指示する。上述したように、グ
ラフィックス・コンテキストの切り換えは、現在グラフ
ィックス・ハードウエア装置にアクセス中のアプリケー
ションのグラフィックス・ハードウエア状態の共用メモ
リへの保管と、グラフィックス・ハードウエア装置への
アクセスを求めているアプリケーションのグラフィック
ス・ハードウエア状態の復元とを行なうものである。信
号ハンドラがグラフィックス・コンテキスト切り換えを
完了すると、信号ハンドラはハードウエア制御マネージ
ャにこれを通知する。この処理はハードウエア制御マネ
ージャがそのアプリケーションに装置へのアクセス権を
与えたときに完了する。
【0013】それ以降のアプリケーションによるグラフ
ィックス・ハードウエアへのアクセスの試みは、上述し
たものとほぼ同様に処理される。ただし、並行して実行
されている競合するアプリケーション間での許容できな
いスラッシングを防止するために、グラフィックス・ハ
ードウエア装置へのアクセスを許可されたそれぞれのア
プリケーションに最小限のグラフィックス・タイム・ス
ライスしか許可されない場合があることに注意しなけれ
ばならない。
【0014】さらに、従来の技術の部分で説明したよう
に、グラフィックス・ハードウエアがそれ以上のデータ
を受け取ることができないときがある。その場合、グラ
フィックス・データのフローを止めなければならない
が、これはアプリケーションのグラフィックスAPIラ
イブラリにオーバーヘッドをほとんど生じないような方
法で行なわれる。したがって、本発明は、まずグラフィ
ックス・ハードウエアの入力データ・バッファが第1の
所定の点に達したときにデータ・フローの速度を落と
し、入力データ・バッファが第2の所定の点に達したと
き必要であればデータ・フローを止めることによって、
この目的を達成するフロー制御機構を可能とする。
【0015】このフロー制御機構は基本的には、グラフ
ィックス・ハードウエアの遅れを最初に検出したときデ
ータ・フローの速度を落とす。ハードウエア・データ・
バッファの低水位マークによってインターフェース制御
論理はバス・トランザクションにより低速で応答するよ
うにトリガーされる。かかる遅延は結局はそのデータを
書き込んでいるプロセッサの知るところとなり、グラフ
ィックスAPIに余分なオーバーヘッドを生じることな
くデータ速度が落とされる。
【0016】データ転送速度を低下させてもまだグラフ
ィックス・ハードウエアがこれに追従できず入力データ
・バッファが満杯の状態が続く場合には、入力データ・
バッファの高水位マークによって有向割り込みがトリガ
ーされ、これが直接データを書き込んでいるプロセッサ
に送られる。オペレーティング・システムがこの割り込
みを捕捉しグラフィックス・ハードウエアがせき止めら
れていることを認識し、あらゆるアプリケーションから
のグラフィックス・ハードウエアへのアクセスに対する
許可を取り消す。多重処理システムにおいては、遮断の
必要性が検出されてからデータ・フローが実際に停止さ
れるまでの待ち時間を最小限にするためにこの割り込み
が適切なプロセッサに向けられることが非常に重要であ
る。したがって、オペレーティング・システムはどのプ
ロセッサが現在データを送っているかに関してグラフィ
ックス・ハードウエア装置に常に最新の情報を与える必
要がある。
【0017】ハードウエア入力バッファの空きが十分で
あるときには、再開マークによって他の割り込みがトリ
ガーされ、これがプロセッサに送られる。オペレーティ
ング・システムはこの割り込みを受け取るとグラフィッ
クス・ハードウエアをデータトラフィックに対して開放
する。阻止されていた最優先のグラフィックス処理が再
開され、グラフィックス・ハードウエア装置へのアクセ
スが与えられる。
【0018】グラフィックス・ハードウエア装置へのデ
ータ・フローの低速化と遮断との組み合わせを用いるこ
とによって最適な性能が達成される。
【0019】
【発明の実施の形態】
[I. 概要]本発明はグラフィックス・アプリケーシ
ョン・プログラム・インターフェース(API)ライブ
ラリがトランザクション実行コストを生じることなくグ
ラフィックス・ハードウエア装置にアクセスすることを
可能にする、コンピュータ・システムにおける仮想装置
アクセス・システムおよび方法を提供する。これは、各
ライブラリ呼び出しによるグラフィックス・ハードウエ
ア装置のロックおよびロック解除に関係するオーバーヘ
ッドの観点からvertex−basedAPIには特
に有効である。さらに、本発明の仮想装置アクセスによ
ればオペレーティング・システムからの装置専用の中核
支援が不要である。それに代わって、装置専用支援は各
アプリケーションに付随する信号ハンドラによってユー
ザー・レベルで提供される。これによってフレキシビリ
ティが増し、開発およびメンテナンスが容易になり、製
品の供給が簡単になる。本発明の仮想装置アクセスの他
の重要な側面は、データ・フローが自動的に制御される
ことである。本発明にはグラフィックスAPIからグラ
フィックス・ハードウエアへのデータ・フローを制御す
る新たな方法が用いられ、それによってデータ・フロー
が基本的にはグラフィックスAPIにおけるオーバーヘ
ッドを生じることなく自動的に低速化あるいは停止され
る。
【0020】[II. 構成] [A. 装置アクセス]ここで図面を参照すると、図1
には、本発明の仮想装置アクセス・システムおよび方法
の実施に適したコンピュータ・システム10を示し、こ
のコンピュータ・システムは1つあるいはそれ以上のア
プリケーション12がグラフィックス・ハードウエア装
置14に非同期にアクセスして表示装置16上に画像を
表示することを可能とすることができる。
【0021】コンピュータ・システム10は1つあるい
はそれ以上の従来のプロセッサ18からなり、各プロセ
ッサ18は好適にはそれぞれがシステム・インターフェ
ース20を介してコンピュータ・システム10内の他の
要素と通信する多重タスキングが可能である。さらに、
プロセッサ18とメモリ24とを相互接続してメモリ2
4とプロセッサ18との間の転送速度を上げるためのメ
モリ・バス22が設けられている。入力装置26(たと
えばキーボードあるいはマウス)を用いてコンピュータ
・システム10のユーザーからデータが入力される。グ
ラフィックス・ハードウエア装置14は通常表示装置1
6に表示される画像データを処理するためのグラフィッ
クス・アクセラレータ・ボードおよびフレーム・バッフ
ァからなる。グラフィックス・ハードウエア装置14の
グラフィックス・アクセラレータは好適には、変形、ラ
イティングあるいはシェーディング、クリッピング、透
視分割、および走査変換のうちの1つ以上を実行するグ
ラフィックス・パイプラインとして構成される。最後
に、コンピュータ・システム10のメモリ容量を増大す
るためのハードディスク28が設けられる。
【0022】メモリ24において、従来のオペレーティ
ング・システム30によって1つあるいはそれ以上のア
プリケーション12を一度に実行することができる。グ
ラフィックス・ハードウエア装置14と通信するため
に、各アプリケーションは、各アプリケーション12が
その仮想アドレス空間にグラフィックス・ハードウエア
装置14とインターフェースするための自己のグラフィ
ックスAPIライブラリ32を持つようにグラフィック
スAPIライブラリ32にリンクされる。グラフィック
スAPIライブラリ32は基本的にはグラフィックス・
ハードウエア装置14上で特定の機能を実行するために
アプリケーションによって呼び出される装置ドライバか
らなる。特に、グラフィックスAPIライブラリ32は
API呼び出しをグラフィックス・ハードウエア・アク
セスに変換する。
【0023】グラフィックス・ハードウエア・アクセス
機構34が、グラフィックスAPIライブラリ32がグ
ラフィックス・ハードウエア装置14にアクセスするた
めの手段を提供する。グラフィックス・ハードウエア・
アクセス機構34はアプリケーション12の仮想メモリ
スペースに常駐し、グラフィックスAPIライブラリと
グラフィックス・ハードウエア装置14との間の直接連
結性を得るためにグラフィックス・ハードウエア装置1
4に直接メモリマッピングされている。
【0024】図2には本発明の仮想装置アクセス・シス
テムおよび方法の構成と機能を示す。本発明の仮想装置
アクセス・システム38はオペレーティング・システム
30内に構成されたハードウエア制御マネージャ40、
各アプリケーション12のグラフィックスAPIライブ
ラリ32の仮想メモリスペース内に構成された信号ハン
ドラ42、および共用メモリ44からなる。
【0025】ハードウエア制御マネージャ40はオペレ
ーティング・システム30内の装置ドライバとして構成
され、どのアプリケーション12がグラフィックス・ハ
ードウエア装置14に対するアクセスを有するか、また
あるアプリケーション12から他のアプリケーション1
2へのアクセスの切り換えをいつ実行するかを管理する
制御論理を含む。本実施形態では、ハードウエア制御マ
ネージャ40は、グラフィックス・ハードウエア装置1
4に現在アクセス中のアプリケーションが危険域にない
限りグラフィックス・ハードウエア装置14へのアクセ
スを試みる任意のアプリケーション12にアクセスを与
えるように設計された装置独立制御を行なう。本明細書
においては、“危険域”とは当業者には明らかなように
データ処理におけるグラフィックス・ハードウエア装置
14を中断してはならないポイントを指す。オペレーテ
ィング・システム30内で本発明の仮想装置アクセス・
システム38を実施するための装置専用支援を不要とす
ることによって、オペレーティング・システム30には
装置専用コードを動的にロードする必要がない。
【0026】ハードウエア制御マネージャ40は各アプ
リケーション12のグラフィックス・ハードウエア・ア
クセス機構34(図1)を介してグラフィックス・ハー
ドウエア装置14へのアクセスを制御する。図2には、
各アプリケーション12のグラフィックス・ハードウエ
ア・アクセス機構34は対応するグラフィックスAPI
32とグラフィックス・ハードウエア装置14とを直接
接続する結線34’およびスイッチ34”の組み合わせ
として示されている。スイッチ34”はコマンドリンク
48を介してハードウエア制御マネージャ40によって
制御され、以下に説明する本発明の方法にしたがって結
線34’を入切りするように設けらる。このように、グ
ラフィックス・ハードウエア・アクセス機構34を介し
て、グラフィックスAPIはグラフィックス・ハードウ
エア装置14に直接アクセスして色、テクスチャ、遠近
その他のデータを転送し、またグラフィックス・ハード
ウエア状態情報を転送する。
【0027】各アプリケーションのグラフィックス・ハ
ードウエア・アクセス機構34(すなわち図2の要素3
4’および34”)は仮想メモリアドレスに関係付けら
れた当該技術分野では周知である保護識別子(PID)
によって保護されている。グラフィックス・ハードウエ
ア・アクセス機構34に関係付けられたPIDはアプリ
ケーション12がアクセスを許可されていないときにグ
ラフィックス・ハードウエア装置14へのアクセスを試
みるたびに保護フォールトを生成する。基本的には、ス
イッチ34”は保護識別子ハードウエアとみなすことが
できる。スイッチ34”はそのままアクセスさせるか、
あるいはハードウエア制御ブロック40にフォールトを
生成する。このフォールトは結線46がセットアップお
よび/またはグラフィックスAPIライブラリ32とハ
ードウエア制御マネージャ40との間のセットアップお
よび/または他の管理通信に用いられているときには結
線48を介して通信される。
【0028】各アプリケーション12の信号ハンドラ4
2はハードウエア・アクセスに関係する装置依存制御を
行なう。信号ハンドラ42は現在グラフィックス・ハー
ドウエア装置14にアクセス中のアプリケーション12
のグラフィックス・ハードウエア状態を保管し、グラフ
ィックス・ハードウエア装置14へのアクセスを試みて
いるアプリケーション12のグラフィックス・ハードウ
エア状態を復元する機能を実行する。この処理はグラフ
ィックス・コンテキスト切り換えと呼ばれる。本発明の
重要な特徴として、グラフィックス・コンテキストの切
り換えは信号ハンドラによってどちらのアプリケーショ
ン12にも透明な態様で実行され、グラフィックスAP
Iライブラリ32にいかなるオーバーヘッドも生じず、
またアクセスの競合が各アプリケーション12に対して
透明となるようになっている。
【0029】信号ハンドラ42は結線52を介してハー
ドウエア制御マネージャ40と通信する。結線52は、
グラフィックス・コンテキスト切り換えの開始等のタス
クを実行するための信号ハンドラ42とハードウエア制
御マネージャ40との間でのコマンド信号の転送あるい
はグラフィックス・コンテキスト切り換えの完了の通知
に用いられる。さらに、信号ハンドラ42はウィンドウ
形状状態の変更をチェックし、ハードウエアグラフィッ
クス状態を適宜更新する。
【0030】共用メモリ44は各アプリケーション12
によってアクセス可能な共通の記憶場所を提供する。共
用メモリ44には、各アプリケーション12が対応する
結線54を介してアクセスしてグラフィックス・コンテ
キスト切り換えに用いられる各アプリケーションのグラ
フィックス・ハードウエア状態の保管および検索を行な
うことができる。さらに、この共用メモリは現在どのア
プリケーション12がグラフィックス・ハードウエア装
置14にアクセス中であるかを示す、グラフィックス・
コンテキスト・ポインタ(図示せず)と呼ばれる広域共
用オブジェクトを含む。グラフィックス・コンテキスト
ポインタ内のこの情報は、グラフィックス・コンテキス
ト切り換えを実行中の信号ハンドラ42が、現在グラフ
ィックス・ハードウエア装置14にアクセス中のアプリ
ケーションのグラフィックス・ハードウエア状態を読み
出し、その状態情報を共用メモリ44内の現行のアプリ
ケーション12に対応した記憶場所に記憶するのに用い
られる。これによって、そのアプリケーションにはグラ
フィックス・ハードウエア装置14へのアクセスを再び
獲得したときその状態情報が共用メモリ44のどこに存
在するかがわかる。グラフィックス・ハードウエア状態
はグラフィックス・ハードウエア装置へのアクセスを試
みているアプリケーション12に関係付けられたグラフ
ィックス・ハードウエア・アクセス機構34を介してグ
ラフィックス・ハードウエア装置14に書き込むことも
またそこから読み出すことも可能であることを指摘して
おく。
【0031】さらに、ハードウエア制御マネージャ40
は装置依存インターフェース56を介してグラフィック
ス・ハードウエア装置14に関する簡単な動作を実行す
ることができる。装置依存インターフェース56はグラ
フィックス・ハードウエア装置14の一部として構成さ
れ、結線58を介してハードウエア制御マネージャ40
に接続されている。装置依存インターフェース56はカ
ーネル−ハードウエアのインターフェースを備える装置
依存読み出し専用メモリ(ROM)からなる。したがっ
て、このROMに設けられたコードを用いてハードウエ
ア制御マネージャ40からの制御信号がグラフィックス
・ハードウエア装置14によって実行可能となるように
解読される。装置依存インターフェース56を介して実
行されるかかる動作の例としては、制御および装置状態
関数の解読に加えて簡単な端末動作(すなわち文字の描
画あるいは画面のスクロール)等がある。
【0032】[B. フロー制御]図2に示すように、
グラフィックスAPIにオーバーヘッドを生じることな
くグラフィックス・ハードウエア装置14へのデータ・
フローを自動的に低速化あるいは停止するためのフロー
制御機構62がグラフィックス・ハードウエア装置14
の一部として設けられている。グラフィックス・ハード
ウエア装置14がある特定のアプリケーション12の画
像データの処理に要する時間はそのデータおよびそのデ
ータに対して実行される処理によって何段階にも変動す
るため、グラフィックス・ハードウエア装置14の入力
データ・バッファ(図示せず)が一杯になりそれ以上の
入力データを受け取ることができない場合がある。従来
技術の部分で説明したように、この問題に対する従来の
対策では相当量のオーバーヘッドおよび/またはデータ
の損失が生じていた。しかし、本発明のフロー制御機構
62はグラフィックス・ハードウエア装置14の入力バ
ッファ内の低水位マークをモニターし、入力データ・バ
ッファがこの低水位マークに達すると、このフロー制御
機構62がグラフィックス・ハードウエア装置14のイ
ンターフェース制御論理をトリガーしてグラフィックス
・ハードウエア・アクセス機構34を介したトランザク
ションに対する応答の速度を下げる。この遅延によって
最終的にはデータの書き込みを行なっているプロセッサ
18の速度が低下し、グラフィックスAPIライブラリ
32に余分なオーバーヘッドを生じることなくデータ伝
送速度が落とされる。
【0033】しかし、入力データ・バッファにさらに入
力があり高水位マークに達すると、フロー制御機構62
はデータを書き込んでいるプロセッサ18に直接第2の
制御信号を送り、データ・フローを中断させる。オペレ
ーティング・システム30はこの中断を検出し、それを
グラフィックス・ハードウエアの入力バッファがせき止
められていることを認識し、その結果グラフィックス・
ハードウエア装置14に対するすべてのアプリケーショ
ンによるアクセスの許可を取り消す。多重プロセッサ環
境においてこの第2の信号が適切なプロセッサ18に送
られるようにするためには、フロー制御機構62は現在
どのプロセッサ18がグラフィックス・ハードウエア装
置14へのデータの書き込みを行なっているかを把握し
ていなければならないことを指摘しておく。
【0034】[III. 動作]また、本発明はコンピ
ュータ・システム10上で動作するアプリケーション1
2がトランザクション実行コストを生じることなくグラ
フィックス・ハードウエア装置14にアクセスすること
を可能にするものであり、そのための仮想装置アクセス
法と考えることができる。前述した通り、この方法の重
要な特徴は、オペレーティング・システム30からの装
置専用の支援を必要としないことである。装置専用の支
援はAPIライブラリ12に関係付けられた信号ハンド
ラ42によって提供される。本実施形態の説明の目的
上、ハードウエア制御マネージャ40によって供給され
る制御論理は、ハードウエア制御マネージャ40が、現
在グラフィックス・ハードウエア装置にアクセス中のア
プリケーションが危険域にない限り、アクセスを試みて
いる任意のアプリケーションに少なくとも最小グラフィ
ックス・タイム・スライスへのアクセス権を与えるよう
なものであると仮定する。当業者には明らな通り、グラ
フィックス・ハードウエア装置へのアクセスの中断が許
されない時間があり、上述したようにかかる時間は危険
域として保護される。
【0035】図3Aおよび図3Bには、アプリケーショ
ン12がグラフィックス・ハードウエア装置14へのア
クセスを試みるための、本発明の方法による仮想装置ア
クセスの一例を示す。まず、ブロック60において、ア
プリケーション12がそのアプリケーション12に関係
付けられたグラフィックス・ハードウエア・アクセス機
構34を介してグラフィックス・ハードウエア装置14
へのアクセスを試みる。上述したように、アプリケーシ
ョンがグラフィックス・ハードウエア装置14へのアク
セスを試みると、各グラフィックス・ハードウエア・ア
クセス機構34に関係付けられた保護識別子(PID)
フォールトが発生する。したがって、このアプリケーシ
ョン12がグラフィックス・ハードウエア装置14への
アクセスを試みると、PIDフォールトが発生し、この
アプリケーションは停止される。すなわち、そのアプリ
ケーションの処理はフォールトが解消されるまで続行不
可能となる。
【0036】ハードウエア制御マネージャ40がこのP
IDフォールトを、あるアプリケーションがグラフィッ
クス・ハードウエア装置14へのアクセスを試みている
ものと認識する。これに応答して、ハードウエア制御マ
ネージャ40は判断ブロック62に示すように現在グラ
フィックス・ハードウエア装置14にアクセス中のアプ
リケーションが危険域にあるかどうかを判定する。現在
グラフィックス・ハードウエア装置14にアクセス中の
アプリケーションが危険域にある場合、ハードウエア制
御マネージャ40はブロック64に示すようにその危険
域を出るまでそのアプリケーションの処理を阻止する。
次に、ブロック66において、危険域を出ると、ハード
ウエア制御マネージャ40はグラフィックス・ハードウ
エア装置14へのアクセスを受け取るべく待機している
アプリケーションを選択する。ブロック66から、上述
した処理がブロック62から再開され、ハードウエア制
御マネージャ40は現行のアプリケーションが危険域に
あるかどうかをチェックする。
【0037】しかし、判断ブロック62でハードウエア
制御マネージャ40が現在グラフィックス・ハードウエ
ア装置14にアクセス中のアプリケーションが危険域に
ないと判断した場合、ハードウエア制御マネージャ40
は図3Bのブロック68に示すようにグラフィックス・
ハードウエア装置14にアクセスしていたアプリケーシ
ョンのグラフィックス・ハードウエア・アクセス機構3
4を不能化する。次に、ハードウエア制御マネージャ4
0はアクセスを試みているアプリケーション12の信号
ハンドラ42に制御信号を送って、ブロック70に示す
ように、その信号ハンドラ42にグラフィックス・コン
テキストの切り換えとウィンドウ形状状態の更新の両方
を実行するように指示する。
【0038】ブロック72において、アクセスを試みて
いるアプリケーション12の信号ハンドラ42はグラフ
ィックス・コンテキスト切り換えを実行する。これは、
信号ハンドラ42が現在グラフィックス・ハードウエア
装置14にアクセス中のアプリケーションのグラフィッ
クス・ハードウエア14のハードウエア状態を保管し
て、そのアプリケーションがアクセスの獲得を試みてい
るアプリケーション12にアクセスを譲渡することがで
きるようにそのアプリケーションが停止された場所でグ
ラフィックス・データの処理を再開できるようにするこ
とによって実行される。上述した通り、グラフィックス
・コンテキスト切り換えは、ブロック66において現在
グラフィックス・ハードウエア装置14にアクセス中の
アプリケーションが危険域にないと判断されるときにの
み発生しうるものである。ハードウエア状態を保管する
ステップには、要求中のアプリケーション12のグラフ
ィックス・ハードウエア・アクセス機構34を介したグ
ラフィックス・ハードウエア装置14のハードウエア状
態の読み出しと共用メモリ44へのその情報の記憶が含
まれる。信号ハンドラ42はその情報を共用メモリ44
内のグラフィックス・ハードウエア装置14にアクセス
していたアプリケーションに関係付けられた特定の場所
に記憶して、そのアプリケーションがグラフィックス・
ハードウエア装置14へのアクセスを再度獲得しようと
するときそのハードウエア状態情報がどこにあるかがわ
かるようにしなければならない。かかる場所は共用メモ
リ44内のグラフィックス・コンテキストポインタによ
って供給される。グラフィックス・コンテキストポイン
タは現在グラフィックス・ハードウエア装置14にどの
アプリケーションのグラフィックス・コンテキストがロ
ードされているかを示し、したがって、グラフィックス
・ハードウエア装置14へのアクセスを試みる他のアプ
リケーションがグラフィックス・コンテキスト切り換え
を実行するときハードウエア状態情報をどこに保管すべ
きかを示す。好適な実施例では、グラフィックス・ハー
ドウエア装置14からのハードウエア状態の読み出しは
直接メモリアクセス(DMA)によって実行される。た
だし、直接ハードウエア読み出しを介する等の適切な方
法が他にも多数存在することは明らかである。
【0039】グラフィックス・コンテキスト切り換えの
第2の部分はグラフィックス・ハードウエア装置14へ
のアクセスを試みるアプリケーション12のハードウエ
ア状態の復元である。アクセスを試みるアプリケーショ
ン12のハードウエア状態は信号ハンドラ42によって
共用メモリ44から検索され、グラフィックス・ハード
ウエア・アクセス機構34を介してグラフィックス・ハ
ードウエア装置14に書き込まれる。好適には、グラフ
ィックス・コンテキスト切り換えにおける保管ステップ
と同様に、この復元ステップはDMAを用いて実行され
るが、他にも同様に適切な方法は存在することは理解さ
れよう。さらに、信号ハンドラ42は必要であればハー
ドウエア内のウィンドウ幾何的状態を更新する。ステッ
プ72において、アクセスを試みているアプリケーショ
ン12の信号ハンドラ42は適宜ハードウエア制御マネ
ージャ40に戻り制御信号を送ってグラフィックス・コ
ンテキスト切り換えの完了とウィンドウシステム値の更
新を知らせる。
【0040】この戻り制御信号に応答して、ハードウエ
ア制御マネージャ40はブロック74に示すようにアク
セスを試みているアプリケーション12にグラフィック
ス・ハードウエア装置14へのアクセスを許可し、この
要求中のアプリケーションのグラフィックス・ハードウ
エア・アクセス機構34を使用可能にする。図2にはこ
れを図の左部分に示されるリンク48を介したスイッチ
34”の閉成として示している。
【0041】この仮想装置アクセスに効率を上げるため
に、本発明はグラフィックスAPI32からグラフィッ
クス・ハードウエア装置14へのデータの自動的なフロ
ー制御を行なう。特に、本発明のフロー制御法によれ
ば、アプリケーションがグラフィックス・ハードウエア
装置14の入力データ・バッファがさらにデータを受け
取ることが可能であるかを判定するためにそのデータ・
バッファの状態を常にチェックすることが不要となる。
これは従来の方法ではコストはかかるが必要なタスクと
みなされるものである。
【0042】フロー制御機構62によって実行される本
発明のフロー制御法によれば、グラフィックス・ハード
ウエア装置14がデータ損失の危険なくアプリケーショ
ンに追随して高速にデータ処理を実行することができな
い場合にそのアプリケーションは自動的に停止される。
一般的には、フロー制御機構62はグラフィックス・ハ
ードウエア装置14によって供給される低水位マーク標
識をモニターして入力データ・バッファ内のデータが第
1の所定のレベルに達したことを検出する。さらに、フ
ロー制御機構62によって高水位マークがモニターさ
れ、入力データ・バッファ内のデータが第2の所定のレ
ベルに達したことが検出される。
【0043】基本的に、グラフィックス・ハードウエア
装置14の入力データ・バッファが低水位マークまで満
たされると、フロー制御機構62は自動的にバス・トラ
ンザクションへの応答速度を低下させる。この第1の制
御信号の効果は最終的にはグラフィックス・ハードウエ
ア装置14へのデータの書き込みを行なっているプロセ
ッサ18にまで及び、それによって基本的にはグラフィ
ックスAPI32のライブラリにオーバーヘッドの追加
を生じることなく、あるいはプロセッサへの外部からの
割り込みを生じることなくデータ転送速度が落とされ
る。
【0044】データ転送速度が依然としてグラフィック
ス・ハードウエア装置14にとって高すぎ、入力データ
・バッファ内のデータが高水位マークに達した場合、デ
ータの書き込みを行なっているプロセッサ18に有向割
り込みすなわち第2の制御信号が送られ、その状態が通
知される。その結果、プロセッサ18からグラフィック
ス・ハードウエア装置14へのそれ以上のデータの送出
が防止される。最終的には、入力データ・バッファ内の
データは低水位マークの下まで減少し、フロー制御機構
はプロセッサ18に対してアプリケーション12による
グラフィックス・ハードウエア装置14へのデータの送
出が再開可能であることを示す再開信号を送る。
【0045】本発明のこの機能を多重プロセッサ環境で
実行するためには、グラフィックス・ハードウエア装置
14に現在データを送っているプロセッサ18がどれで
あるかがわかっていなければならない。この情報がない
場合、データを適切なときに確実に停止させるには高水
位マークによる割り込みによってすべてのプロセッサ1
8を中断しなければならない。データを送っているプロ
セッサ18が入力データ・バッファの容量が足りなくな
る前に停止されない場合データの損失が発生し、これは
許容されない。当業者には明らかなように、これは、グ
ラフィックス・アプリケーションの実行に伴なって適正
なプロセッサ18の同定によってフロー制御機構62を
更新するオペレーティング・システム内の処理スケジュ
ーラによって達成することができる。
【0046】当業者には、以上の図面および詳細な説明
から本発明の他の特徴および利点が理解されよう。かか
る他の特徴および利点は特許請求の範囲に規定する本発
明の範囲に含まれるものである。
【0047】当業者には、本発明の原理から逸脱するこ
となく上記の実施形態にさまざまな改変を加えることが
可能であることは明らかであることを指摘しておく。か
かる改変はすべて特許請求の範囲に定める本発明の範囲
に含まれるものである。さらに、特許請求の範囲におい
て、すべての手段あるいはステップおよび機能要素の対
応する構造、材料、動作、およびその均等物は特許請求
された他の要素を用いてかかる機能を実行するための任
意の構造、材料あるいは動作を含むものである。
【0048】以上、本発明の実施の形態について詳述し
たが、以下、本発明の各実施態様の例を示す。
【0049】(実施態様1)コンピュータ・システム上
で実行されるアプリケーションにコンピュータ・システ
ムのグラフィックス・ハードウエア装置(14)をオー
バーヘッドを生じることなくロックすることを可能にす
る仮想装置アクセス・システム(38)であって、前記
アプリケーション(12)の1つが前記グラフィックス
・ハードウエア装置(14)へのアクセスを試みるとき
これを検出し、前記グラフィックス・ハードウエア装置
(14)へのアクセスを可能および不能にするハードウ
エア制御マネージャ(40)と、前記アプリケーション
(12)のそれぞれに関係付けられた信号ハンドラ(4
2)であって、前記信号ハンドラ(42)は、それぞれ
前記関係付けられたアプリケーション(12)が前記グ
ラフィックス・ハードウエア装置(14)へのアクセス
を試みるとき、前記ハードウエア制御マネージャ(4
0)からの信号を受けてグラフィックス・コンテキスト
切り換えを実行する信号ハンドラ(12)と、前記アプ
リケーション(12)のそれぞれがアクセス可能であ
り、前記各信号ハンドラ(42)による前記グラフィッ
クス・コンテキスト切り換えの実行の際に使用すべく前
記グラフィックス・ハードウエア装置(14)に現在ア
クセス中の前記アプリケーション(12)の身分証明を
記憶するために構成された共用メモリ資源(44)とを
有することを特徴とする仮想装置アクセス・システム
(38)。
【0050】(実施態様2)前記アプリケーション(1
2)のそれぞれに関係付けられ、対応する前記アプリケ
ーション(12)と前記グラフィックス・ハードウエア
装置(14)との間の直接通信を処理するように、前記
グラフィックス・ハードウエア装置(14)に直接マッ
ピングされたグラフィックス・ハードウエア・アクセス
機構(34)を含むことを特徴とする実施態様1記載の
システム。
【0051】(実施態様3)前記アプリケーション(1
2)の1つが前記グラフィックス・ハードウエア装置
(14)と通信するためのグラフィックス・アプリケー
ション・インターフェースライブラリ(32)を含むこ
とを特徴とする実施態様1記載のシステム。
【0052】(実施態様4)前記ハードウエア制御マネ
ージャ(40)が、前記アプリケーションの前記グラフ
ィックス・ハードウエア装置(14)に対する競合およ
びアクセスを管理する制御論理を供給することを特徴と
する実施態様1記載のシステム。
【0053】(実施態様5)前記信号ハンドラ(42)
によって実行される前記グラフィックス・コンテキスト
切り換えは、前記グラフィックス・ハードウエア装置
(14)に現在アクセス中の第1のアプリケーションの
第1のグラフィックス・ハードウエア状態の前記共用メ
モリ源(44)への保管、および前記グラフィックス・
ハードウエア装置(14)へのアクセスを試みている第
2のアプリケーションの第2のグラフィックス・ハード
ウエア状態の前記グラフィックス・ハードウエア装置
(14)への復元を含むことを特徴とする実施態様1記
載のシステム。
【0054】(実施態様6)前記仮想装置アクセス・シ
ステムは、前記アプリケーション(12)から前記グラ
フィックス・ハードウエア装置(14)へのデータ・フ
ローを管理するフロー管理機構(62)を有することを
特徴とする実施態様1記載のシステム。
【0055】(実施態様7)前記ハードウエア制御マネ
ージャ(40)は前記アプリケーション(12)のそれ
ぞれに関係付けられた前記グラフィックス・ハードウエ
ア・アクセス機構(34)を使用可能および不能とする
ことを特徴とする実施態様2記載のシステム。
【0056】(実施態様8)前記グラフィックス・ハー
ドウエア・アクセス機構(34)が、それぞれ前記アプ
リケーション(12)の対応する1つが前記グラフィッ
クス・ハードウエア装置(14)へのアクセスを試みて
いることを示す信号を前記ハードウエア制御マネージャ
(40)に送り、前記アプリケーション(12)のうち
のどれが前記グラフィックス・ハードウエア装置(1
4)へのアクセスを試みているかを同定する保護識別子
を含むことを特徴とする実施態様2記載のシステム。
【0057】(実施態様9)前記フロー制御機構(6
2)は、前記グラフィックス・ハードウエア装置(1
4)の入力データ・バッファが第1の所定のレベルの上
まで満たされたとき前記グラフィックス・ハードウエア
装置(14)へのデータ・フローの速度を低下させ、前
記入力データ・バッファが第2の所定のレベルの上まで
満たされたとき前記ハードウエア制御マネージャに第2
の制御信号を送って前記グラフィックス・ハードウエア
装置(14)に流れるデータを停止させる検出手段を含
むことを特徴とする実施態様6記載のシステム。
【0058】(実施態様10)前記ハードウエア制御マ
ネージャ(40)の前記制御論理は前記グラフィックス
・ハードウエア装置(14)にアクセスする前記アプリ
ケーション(12)のそれぞれに最小限の処理時間量を
与えることを特徴とする実施態様7記載のシステム。
【0059】
【発明の効果】本発明の仮想装置アクセス・システムお
よび方法の利点は、装置依存制御をオペレーティング・
システムを用いずにユーザー・レベルのコードで行なう
ことにある。これによって、グラフィックスソフトウエ
アライブラリのフレキシビリティが増大する。
【0060】本発明の仮想装置アクセス・システムおよ
び方法の利点は、グラフィックスAPIにオーバーヘッ
ドを生じることなくデータ・フローの制御を可能とする
ことにある。
【0061】本発明の仮想装置アクセス・システムおよ
び方法の利点は、グラフィックス・ハードウエア装置へ
のアクセスを求めるアプリケーションの間での競合をな
くすことにある。
【0062】本発明の仮想装置アクセス・システムおよ
び方法の利点は、オーバーヘッドを生じることなくグラ
フィックス装置へのアクセスを可能とすることにある。
【図面の簡単な説明】
【図1】本発明の実施に適したコンピュータ・システム
のブロック図である。
【図2】図1のコンピュータ・システム上の動作に適し
た仮想装置アクセス・システムの要素の構造および機能
のブロック図である。
【図3A】本発明の仮想装置アクセスの方法を示すフロ
ーチャートである。
【図3B】本発明の仮想装置アクセスの方法を示すフロ
ーチャートである。
【符号の説明】
10:コンピュータ・システム 12:アプリケーション 14:グラフィックス・ハードウエア装置 16:表示装置 18:プロセッサ 20:システム・インターフェース 22:メモリ・バス 24:メモリ 26:入力装置 28:ハードディスク 30:オペレーティング・システム 32:グラフィックスAPIライブラリ 34:グラフィックス・ハードウエア・アクセス機構 34’,46,52,54,58:結線 34”:スイッチ 38:仮想装置アクセス・システム 40:ハードウエア制御マネージャ 42:信号ハンドラ 44:共用メモリ 48:コマンドリンク 56:装置依存インターフェース 62:フロー制御機構 60,62,64,66,68,70、72,74:仮
想装置アクセス法のステップ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】コンピュータ・システム上で実行されるア
    プリケーションにコンピュータ・システムのグラフィッ
    クス・ハードウエア装置をオーバーヘッドを生じること
    なくロックすることを可能にする仮想装置アクセス・シ
    ステムであって、 前記アプリケーションの1つが前記グラフィックス・ハ
    ードウエア装置へのアクセスを試みるときこれを検出
    し、前記グラフィックス・ハードウエア装置へのアクセ
    スを可能および不能にするハードウエア制御マネージャ
    と、 前記アプリケーションのそれぞれに関係付けられた信号
    ハンドラであって、前記信号ハンドラは、それぞれ前記
    関係付けられたアプリケーションが前記グラフィックス
    ・ハードウエア装置へのアクセスを試みるとき、前記ハ
    ードウエア制御マネージャからの信号を受けてグラフィ
    ックス・コンテキスト切り換えを実行する信号ハンドラ
    と、 前記アプリケーションのそれぞれがアクセス可能であ
    り、前記各信号ハンドラによる前記グラフィックス・コ
    ンテキスト切り換えの実行の際に使用すべく前記グラフ
    ィックス・ハードウエア装置に現在アクセス中の前記ア
    プリケーションの身分証明を記憶するために構成された
    共用メモリ資源とを有することを特徴とする仮想装置ア
    クセス・システム。
JP9353098A 1996-12-30 1997-12-22 仮想装置アクセス・システム Withdrawn JPH10207723A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/774,452 US5896141A (en) 1996-07-26 1996-12-30 System and method for virtual device access in a computer system
US774,452 1996-12-30

Publications (1)

Publication Number Publication Date
JPH10207723A true JPH10207723A (ja) 1998-08-07

Family

ID=25101276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9353098A Withdrawn JPH10207723A (ja) 1996-12-30 1997-12-22 仮想装置アクセス・システム

Country Status (3)

Country Link
US (1) US5896141A (ja)
JP (1) JPH10207723A (ja)
DE (1) DE19733151B4 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242587A (ja) * 1999-02-24 2000-09-08 Pfu Ltd オブジェクト処理装置及びそのプログラム記憶媒体
JP2001084154A (ja) * 1999-07-16 2001-03-30 Internatl Business Mach Corp <Ibm> スレッドを使用する、コンピュータ・システム内でのグラフィックス・テクスチャ管理の同期化
JP2001344228A (ja) * 2000-05-31 2001-12-14 Nippon Telegr & Teleph Corp <Ntt> 暗号化通信におけるサービス品質制御方法及び装置サービス品質制御プログラムを格納した記憶媒体
JP2004272894A (ja) * 2003-02-18 2004-09-30 Microsoft Corp グラフィックス処理ユニットのマルチスレッド式カーネル
JP2009065713A (ja) * 2008-12-08 2009-03-26 Ricoh Co Ltd 画像形成装置、共有メモリ調停方法、プログラムおよび記録媒体

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6353862B1 (en) * 1997-04-04 2002-03-05 Avid Technology, Inc. Video device manager for managing motion video output devices and supporting contexts and buffer adoption
US6314470B1 (en) * 1997-07-25 2001-11-06 Hewlett Packard Company System and method for asynchronously accessing a graphics system for graphics application evaluation and control
EP1036391B1 (en) * 1997-11-12 2010-07-21 Palus A1, LLC Automatically switching a user's interface from a program to another program while the first is processing
US6208361B1 (en) * 1998-06-15 2001-03-27 Silicon Graphics, Inc. Method and system for efficient context switching in a computer graphics system
US6782432B1 (en) * 2000-06-30 2004-08-24 Intel Corporation Automatic state savings in a graphics pipeline
US6828975B2 (en) * 2001-03-01 2004-12-07 Microsoft Corporation Method and system for managing graphics objects in a graphics display system
US8214849B2 (en) * 2001-07-13 2012-07-03 Advanced Micro Devices, Inc. System for loading device-specific code and method thereof
US20030025698A1 (en) * 2001-08-01 2003-02-06 Riemens Abraham Karel Programmed stall cycles slow-down video processor
US6954904B2 (en) * 2001-08-15 2005-10-11 National Instruments Corporation Creating a graphical program to configure one or more switch devices
US7444637B2 (en) * 2003-02-18 2008-10-28 Microsoft Corporation Systems and methods for scheduling coprocessor resources in a computing system
US6947051B2 (en) * 2003-02-18 2005-09-20 Microsoft Corporation Video memory management
US7421694B2 (en) * 2003-02-18 2008-09-02 Microsoft Corporation Systems and methods for enhancing performance of a coprocessor
US7793287B2 (en) * 2003-10-01 2010-09-07 Hewlett-Packard Development Company, L.P. Runtime virtualization and devirtualization of I/O devices by a virtual machine monitor
US7913226B2 (en) * 2003-10-01 2011-03-22 Hewlett-Packard Development Company, L.P. Interposing a virtual machine monitor and devirtualizing computer hardware at runtime
US8006196B2 (en) * 2004-09-10 2011-08-23 Presagis Multi-application graphic display environment
JP4244028B2 (ja) * 2004-09-22 2009-03-25 株式会社ソニー・コンピュータエンタテインメント グラフィックプロセッサ、制御用プロセッサおよび情報処理装置
US20080143731A1 (en) * 2005-05-24 2008-06-19 Jeffrey Cheng Video rendering across a high speed peripheral interconnect bus
US7730336B2 (en) * 2006-05-30 2010-06-01 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods
US20080178143A1 (en) * 2006-10-05 2008-07-24 Cort Dougan System, Method and Computer Program Product for Developing, Configuring, Installing and Testing Software
US8966496B2 (en) * 2011-12-08 2015-02-24 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Lock free use of non-preemptive system resource
WO2021157448A1 (ja) * 2020-02-03 2021-08-12 株式会社ソニー・インタラクティブエンタテインメント データ処理システム、データ転送装置およびコンテキストスイッチ方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04215137A (ja) * 1990-02-13 1992-08-05 Internatl Business Mach Corp <Ibm> マルチタスク式データ処理システム
JPH05265781A (ja) * 1991-12-31 1993-10-15 Internatl Business Mach Corp <Ibm> マルチメディア・データ処理システム
JPH07271344A (ja) * 1994-03-29 1995-10-20 Hitachi Ltd グラフィック表示装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224210A (en) * 1989-07-28 1993-06-29 Hewlett-Packard Company Method and apparatus for graphics pipeline context switching in a multi-tasking windows system
CA2050658C (en) * 1990-09-14 1997-01-28 John M. Peaslee Dual hardware channels and hardware context switching in a graphics rendering processor
US5469571A (en) * 1991-07-15 1995-11-21 Lynx Real-Time Systems, Inc. Operating system architecture using multiple priority light weight kernel task based interrupt handling
US5327540A (en) * 1991-09-18 1994-07-05 Ncr Corporation Method and apparatus for decoding bus master arbitration levels to optimize memory transfers
US5430841A (en) * 1992-10-29 1995-07-04 International Business Machines Corporation Context management in a graphics system
US5506969A (en) * 1993-11-29 1996-04-09 Sun Microsystems, Inc. Method and apparatus for bus bandwidth management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04215137A (ja) * 1990-02-13 1992-08-05 Internatl Business Mach Corp <Ibm> マルチタスク式データ処理システム
JPH05265781A (ja) * 1991-12-31 1993-10-15 Internatl Business Mach Corp <Ibm> マルチメディア・データ処理システム
JPH07271344A (ja) * 1994-03-29 1995-10-20 Hitachi Ltd グラフィック表示装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242587A (ja) * 1999-02-24 2000-09-08 Pfu Ltd オブジェクト処理装置及びそのプログラム記憶媒体
JP2001084154A (ja) * 1999-07-16 2001-03-30 Internatl Business Mach Corp <Ibm> スレッドを使用する、コンピュータ・システム内でのグラフィックス・テクスチャ管理の同期化
JP2001344228A (ja) * 2000-05-31 2001-12-14 Nippon Telegr & Teleph Corp <Ntt> 暗号化通信におけるサービス品質制御方法及び装置サービス品質制御プログラムを格納した記憶媒体
JP2004272894A (ja) * 2003-02-18 2004-09-30 Microsoft Corp グラフィックス処理ユニットのマルチスレッド式カーネル
JP2010287254A (ja) * 2003-02-18 2010-12-24 Microsoft Corp タスクのスケジューリングを支援する装置
US8671411B2 (en) 2003-02-18 2014-03-11 Microsoft Corporation Multithreaded kernel for graphics processing unit
US9298498B2 (en) 2003-02-18 2016-03-29 Microsoft Technology Licensing, Llc Building a run list for a coprocessor based on rules when the coprocessor switches from one context to another context
JP2009065713A (ja) * 2008-12-08 2009-03-26 Ricoh Co Ltd 画像形成装置、共有メモリ調停方法、プログラムおよび記録媒体

Also Published As

Publication number Publication date
DE19733151A1 (de) 1998-07-09
DE19733151B4 (de) 2005-12-08
US5896141A (en) 1999-04-20

Similar Documents

Publication Publication Date Title
JPH10207723A (ja) 仮想装置アクセス・システム
US5127098A (en) Method and apparatus for the context switching of devices
US7181744B2 (en) System and method for transferring data between virtual machines or other computer entities
KR100733852B1 (ko) 계산기 시스템
EP0382505B1 (en) Virtual computer system having improved input/output interrupt control
US7249211B2 (en) System and method for interrupt handling
US5455958A (en) Rendering context manager for display adapters
US5016166A (en) Method and apparatus for the synchronization of devices
KR100766732B1 (ko) 고속의 낮은 오버헤드의 콘텍스트 전환을 실행하는 디바이스 및 방법
EP0425320A2 (en) Multiprocessor system and process synchronisation method therefor
US20020004810A1 (en) System and method for synchronizing disparate processing modes and for controlling access to shared resources
US20080172667A1 (en) Parallel processing system by OS for single processors and parallel processing program
US5291608A (en) Display adapter event handler with rendering context manager
US6944736B2 (en) Managing latencies in accessing memory of computer systems
JP2539352B2 (ja) 階層型多重計算機システム
US20010037410A1 (en) Interrupt throttling for inter-processor communications
CN109783207B (zh) 保护双系统共享内存数据安全的方法及系统
US20030005252A1 (en) Managing latencies in accessing memory of computer systems
JP3349547B2 (ja) スケジューリングシステム
EP1249757B1 (en) Interrupt throttling for inter-processor communications
JPH01137359A (ja) プロセッサの制御方法
JPS59188749A (ja) デ−タ転送制御方式
JPH0831038B2 (ja) 割込みマネジャおよび割込み処理方法
JP3591883B2 (ja) 計算機及びそのシステム及びその制御方法
JPH06208547A (ja) 通信制御装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20041026

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041029

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060515

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060803

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070326

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070725

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080402