JPH04242852A - 多重処理のための先入れ先出しバッファ待ち行列の管理機構および方法 - Google Patents

多重処理のための先入れ先出しバッファ待ち行列の管理機構および方法

Info

Publication number
JPH04242852A
JPH04242852A JP2417848A JP41784890A JPH04242852A JP H04242852 A JPH04242852 A JP H04242852A JP 2417848 A JP2417848 A JP 2417848A JP 41784890 A JP41784890 A JP 41784890A JP H04242852 A JPH04242852 A JP H04242852A
Authority
JP
Japan
Prior art keywords
words
buffer
loadable
loading
loaded
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
JP2417848A
Other languages
English (en)
Inventor
John A Cook
ジョン、アンドルー、クック
Gregory A Flurry
グレゴリー、アラン、フラリー
Larry W Henson
ラリー、ウィリアム、ヘンソン
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 JPH04242852A publication Critical patent/JPH04242852A/ja
Pending 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Image Processing (AREA)
  • Multi Processors (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、データ処理、より詳
しくはデータ処理システムで使用されるバッファ管理機
構に関する。
【0002】
【従来技術およびその問題点】データ処理システムでは
、バッファ待ち行列の管理が多くの分野で要求される。 例えば、一つの独立して実行するプロセッサのために蓄
積されたコマンドは、一時的にバッファ待ち行列に格納
される。従って、コマンドの供給側は、その独立したプ
ロセッサによるコマンドの実行と同期させてコマンドを
供給する必要はない。しかし、これらのコマンドを一時
的に格納するバッファがあふれないこと、または、コマ
ンドを最適に供給するシステムではバッファ待ち行列が
空にならないことが保証されなければならない。従来、
バッファを管理するために2の技法が用いられている。 第1の技法は、バッファへのコマンドの供給側がバッフ
ァの状態を問い合わせることを要する。バッファがシス
テムの他の部分と緊密に結合しているデータ処理システ
ムでは、このことは問題ではないであろう。しかし、バ
ッファが通信バス上にある場合、状態の問い合わせはバ
スのオーバヘッドを含むことになる。第2の技法は、バ
ッファをいっぱいに満たし、バッファが空になるまで待
ってから再び満たすというものである。
【0003】このフルバッファ技法を用いた実施例の一
つは、ComputerGraphics,1988年
8月、第22巻第4号に発表された、Voorhies
、KirkおよびLathropによる“Virtua
l  Graphics”と題する論文に含まれている
。この参考文献は、バッファがほとんど満たされると、
1コマンドがバッファに与えられるごとに1回の割込み
をかけることによって割込みをかける、先入れ先出し(
FIFO)バッファを例示している。これにより、それ
らのコマンドを供給する処理は、バッファが半分だけ満
たされるまで待機させられることになる。この処理はバ
ッファに入れられるコマンドの数を規制すると同時に、
過剰な数の割込みを発生させる。
【0004】この発明の目的は、バッファへの入力を最
適に供給しながら、要求される割込みの数を最小にする
バッファ管理機構を提供することである。
【0005】
【課題を解決するための手段】この発明に従えば、多数
の処理を含むデータ処理システムが提供される。さらに
、その処理アクセスを制御し、また、独立して実行する
プロセッサのバッファへのそれらの処理のうちの実行中
の1処理によって入力される語を制御するためのバッフ
ァ管理機構が提供される。このバッファ管理機構は、バ
ッファにロードするための実行中の第1の処理からの語
の数を規制するための装置と、その数の語をロードする
ための装置と、第2の処理が実行されるべき時に同期語
をロードするための装置と、その同期語が独立実行プロ
セッサによってアクセスされた時に第1の処理の語のロ
ードを停止し第2の処理の語のロードに備えるための装
置とを含む。
【0006】また、この発明に従えば、複数の処理およ
び、独立実行プロセッサに含まれるバッファを含むデー
タ処理システムに、バッファ管理を実行するための方法
が付与される。この方法は、(1)バッファにロードす
るための実行中の第1の処理からの語の数を制御するス
テップと、(2)その数の語をロードするステップと、
(3)第2の処理が実行されるべき時に同期語をロード
するステップと、(4)同期語が独立実行プロセッサに
よってアクセスされた時に第1の処理の語のロードを停
止し第2の処理の語のロードに備えるステップとを含む
【0007】
【実施例】この発明は、1つのシステムプロセッサで実
行する多数の処理が図形表示装置に情報を表示させるた
めに単一の表示装置アダプタにアクセスする能力を与え
る。また、この発明は、それらの多数のアプリケーショ
ンモジュールが、すべて単一の表示装置アダプタを共有
していても、他のアプリケーションモジュールとは独立
してそれぞれ動作できるような形で共存することを可能
にする。
【0008】第1図は、入出力バス12に接続されたシ
ステムプロセッサ10を示すシステムのブロック図であ
る。入出力バス12はさらに表示装置アダプタ14に接
続されている。表示装置アダプタは図形表示装置22に
接続されている。また、表示装置アダプタ14は、コマ
ンドリスト形先入れ先出しバッファ16、図形処理論理
18および表示装置バッファ20を含んでいる。このバ
ッファ待ち行列16に入れられたコマンドは、図形処理
論理18で実行され、図形表示装置22に表示するため
の表示データを表示装置バッファ20に与える。表示装
置アダプタ14の動作は当業において公知である。この
発明は、システムプロセッサ10における多数の処理に
よるコマンド待ち行列16の管理に関する。従って、こ
の発明は、第1図の待ち行列16と同様の単一の先入れ
先出しコマンド待ち行列を有するいずれの表示装置アダ
プタについても使用できる。そうした表示装置アダプタ
の一つが、IBM社の高性能24ビット三次元図形処理
プロセッサである。
【0009】第2図は、先入れ先出しコマンド待ち行列
バッファ16の象徴図を示す。この待ち行列16は、コ
マンドを格納するための多数の記憶場所を含んでいる。 コマンドの満杯限界の大きさは矢印32で示されている
。この好ましい実施例において、待ち行列16の中ほど
に、1記憶場所が再ロード限界34として指定されてい
る。この点で、待ち行列16は、この限界34より上の
全記憶場所が空になった場合に、満杯の半分の状態であ
ろう。これらの記憶場所の数は、矢印38で表された自
由増分の大きさである。コマンド待ち行列16が完全に
充填された場合には、最下部から満杯限界30までのす
べての記憶場所が占められる。コマンドは先入れ先出し
方式でアクセスされるので、最下部の記憶場所から空に
なる。再ロード限界記憶場所34が空になると、割込み
が生じる。さらに、空限界記憶場所36の最後のコマン
ドが実行されると、空限界割込みがかけられる。これら
の2の割込み、再ロード限界割込みおよび空限界割込み
は、この発明による表示装置アダプタ14(第1図)に
よって要求される唯一のハードウェア信号である。
【0010】第3図は、実行用に含まれた複数のソフト
ウェアモジュールを示しているシステムプロセッサ10
のブロック図である。これらのソフトウェアモジュール
は、アプリケーションソフトウェア処理A  50、処
理B  52および処理C  54から成る。これらは
、この実施例に従えば、操作員に出力情報を与えるため
に図形表示装置へのアクセスを要求する、システムプロ
セッサで内部的に実行されるソフトウェアアプリケーシ
ョンルーチンである。この発明では、処理50、52お
よび54のそれぞれは、独立に実行する処理として扱わ
れる。 言い換えれば、各処理50、52および54は、他の処
理の存在とは関係なく実行される。各処理は、自己が表
示装置アダプタにアクセスしている唯一の処理であると
考える。従って、これらの処理50、52および54は
、多重処理による表示装置アダプタの管理に関係する問
題に顧慮しない。システムプロセッサ10には、アプリ
ケーション処理50、52および54の実行を管理する
ために処理ディスパッチャ56が付与されている。処理
ディスパッチャ56は、システムプロセッサ10内で任
意の時点にアプリケーション処理50、52および54
のうちのいずれの処理が実行されるべきかを判断する。 翻訳文脈管理機構モジュール58は、アプリケーション
処理50、52および54のそれぞれの表示装置アダプ
タ14に対するアクセスを管理する。翻訳文脈管理機構
58の動作は、アプリケーション処理50、52および
54の独立動作を可能にする。
【0011】第4図は、(第3図の処理50、52およ
び54などの)アプリケーション処理のための初期化ル
ーチンを示すフローチャートである。ステップ100で
は、表示装置アダプタ14に書き込む際にアプリケーシ
ョン処理によって使用されるカウンタが、先入れ先出し
コマンド待ち行列16の満杯限界の大きさ(第2図)に
設定される。そしてステップ104では、カウンタCの
アドレスが翻訳文脈管理機構58に付与される(第3図
)。
【0012】第5図は、アプリケーション処理50、5
2および54(第3図)に含まれる図形処理モジュール
を示すフローチャートである。ステップ110において
、処理はまず、描画命令または属性命令を与えるための
タスクの大きさNを計算する。描画命令は、対象を図形
表示装置22(第1図)で見えるようにさせるコマンド
である。属性命令は描画命令が実行される条件を設定す
る。例えば、描かれる全部の線の色を変える命令は、属
性命令である。これらの2種の命令の区別はこの発明の
目的にとって重要ではなく、むしろ、すべてのコマンド
が先入れ先出しコマンド待ち行列を介して処理されるこ
とが重要である。
【0013】ステップ120で、タスクの大きさが自由
増分の大きさ(I)と比較される。自由増分の大きさは
、第2図の矢印32によって示される記憶場所の数に等
しい。これは、待ち行列16の満杯限界記憶場所30と
再ロード限界記憶場所34との間の記憶場所の数である
。この発明の方法のもとでの多数の処理50、52およ
び54の独立した動作は、第5図のステップ130にお
ける、Cを値Iに置換することに依存している。従って
、いずれのタスクも値Iを超える大きさを持つことはで
きない。この図形処理サブシステムのユーザは、ステッ
プ112のエラー出口を生じさせることを期待していな
い。
【0014】ステップ122では、値Nが、第4図およ
び第5図のアプリケーション処理により使用されるカウ
ンタである、Cの格納された値と比較される。値NがC
の値未満であれば、Nを超える語を加えるためにはバッ
ファの容量が不十分であることを意味する。従って、処
理は、先入れ先出しバッファ16の再ロード限界の状態
を検査するためのステップ128に移る。このステップ
は、ソフトウェアカウンタCと、ハードウェア待ち行列
の状態との同期を開始する。ステップ128で、待ち行
列の深さが再ロード限界未満であれば、処理はステップ
130に進み、Cを値Iと置換する。このフローチャー
トには置換が示されている。その理由は、バッファにI
以上の記憶場所が空いており、また、置換がこの発明の
最善の態様において非割込み可能動作であるからである
。しかし、システムプロセッサが極めて低いオーバヘッ
ドによって他の非割込み可能動作を可能にする場合、加
算C+Iを値Iに置換することもできよう。処理はその
後、待ち行列16にコマンドを供給するためにステップ
124に続く。
【0015】ステップ128に戻れば、待ち行列16が
再ロード限界未満ではないと判断されると、処理は、ス
テップ132に進み、アプリケーションモジュールを事
実上待ち状態または休眠状態にさせる、翻訳文脈管理機
構58にアクセスする。この時、処理ディスパッチャ5
6は、そのアプリケーションの処理を停止し、別のアプ
リケーションの処理に移り、その間、翻訳文脈管理機構
58は待ち行列16が再ロード限界より小さくなるのを
待つ。休眠要求はアプリケーションが発するのではなく
、アプリケーションは、休眠処理を管理する、中核処理
である翻訳文脈管理機構58内のルーチンを呼出す。 ステップ134では、ハードウェアの状態が適合した場
合、すなわち再ロード限界を超えた場合、割込みが翻訳
文脈管理機構58によって受信される。表示装置アダプ
タの状態を知っている翻訳文脈管理機構58は、Cの値
に、使用可能な記憶場所の既知の大きさを重ね書きする
。その後、翻訳文脈管理機構58は、処理ディスパッチ
ャ56にアプリケーション処理を始動するように指示を
与え、そして、処理は、待ち行列16に書込みコマンド
を与えるためにステップ124に進む。
【0016】第6図は、翻訳文脈管理機構58の初期化
ルーチンにおけるシングルステップ、ステップ150を
示すフローチャートである。ステップ150では、カウ
ンタCのアドレスが、ソフトウェア処理識別子とともに
テーブルに格納される。このテーブルは、重要な数Fお
よびI(待ち行列の長さおよび自由増分の大きさ)を含
んでいる。
【0017】第7図には、限界割込みを監視する翻訳文
脈管理機構58が示されている。ステップ159で、翻
訳文脈管理機構は、自己を呼び出した処理のカウンタC
のアドレスを探索する。ステップ160で、翻訳文脈管
理機構は待ち行列16の再ロード限界の状態を検査する
。このステップでは、待ち行列16が再ロード限界未満
であるかどうかについて判断される。これは、性能の最
適化として、割込みの待機の前に行われる。待ち行列1
6が再ロード限界未満であれば、処理はステップ165
に進む。そうでなければ、処理はステップ162に進み
、処理ディスパッチャ56を呼び出すことによって現在
の処理を待ち状態または休眠状態にさせる。限界割込み
が受信されると、処理ディスパッチャ56は、翻訳文脈
管理機構58に対して中核サブルーチン呼出しを行って
いたアプリケーション処理を再始動させる。プログラム
の実行はステップ164の翻訳文脈管理機構58で再開
し、その後、継続する。ステップ165に進むと、翻訳
文脈管理機構は、その表示装置アダプタの表からのCの
内容を値Iに置換える。このフローチャートには置換が
示されている。その理由は、バッファにI以上の記憶場
所が空いており、また、置換がこの発明の最善の態様に
おいて非割込み可能動作であるからである。しかし、シ
ステムプロセッサが極めて低いオーバヘッドによって他
の非割込み可能動作を可能にする場合、加算C+Iを値
Iに置換することもできよう。
【0018】ステップ166では、待ち行列16が空状
態に達したかどうかに関して検査が行われる。この検査
は性能にとって別の最適化である。この最善の実施例で
使用されているような優先使用可能システムでは、ステ
ップ162と164との間に、他の多くの活動が行われ
ることが可能であろう。従って、ハードウェアの補助的
な検査の一つを犠牲にして、値Cの相当の増大が可能で
ある(IからFまで)。待ち行列が空であれば、ステッ
プ168で、待ち行列の満杯限界値FがCに置換するた
めに使用される。その後、処理はこのルーチンを出る。 制御はアプリケーション処理に返され、これは、第5図
のステップ132であり、第5図のステップ134で再
開する。
【0019】第8図は、文脈切換えを行う翻訳文脈管理
機構を図示するフローチャートである。文脈切換えは、
別の処理が表示装置アダプタにアクセスした後に、一つ
の処理が表示装置アダプタにアクセスできる能力である
。システムプロセッサ10では1処理だけが活動状態に
あるので、一つのアプリケーションモジュールしか表示
装置アダプタ14にアクセスできないように思われる。 しかし、表示装置アダプタ14はコマンド待ち行列16
を含んでいるので、アプリケーション処理50などのア
プリケーション処理がコマンド待ち行列16に多数のコ
マンドを供給した後、非活動状態になり(または休眠状
態に置かれ)、第2のアプリケーション処理52が始動
されるということが可能である。翻訳文脈管理機構は、
第2のアプリケーション処理52が、アプリケーション
処理50による以前のアクセスとは関係のない形で表示
装置アダプタ14にアクセスすることを可能にする。言
い換えれば、新しいアプリケーション処理52は、表示
装置アダプタ14のコマンド待ち行列16にどのような
コマンドが存在するかには関係しない。第8図において
、ステップ170では、翻訳文脈管理機構は、ロードす
るための新しい処理の文脈を準備する。これは、そのア
プリケーション処理の文脈の要素(表示装置アダプタへ
のアクセス)が表示装置アダプタに付与されることを意
味する。文脈の例には、対象を描くために使用する色の
集合、座標をマップするために使用するマトリックスの
集合、ウィンドウシステムで使用する活動領域の定義が
含まれる。
【0020】ステップ172では、処理は待ち行列16
が再ロード限界未満であるかどうかを判断する。未満で
ある場合、処理はステップ178に進む。そうでない場
合、処理はステップ174に進み、翻訳文脈管理機構5
8は限界割込みが受信されるまで待ち状態に置かれる。 翻訳文脈管理機構は、コマンド待ち行列に同期字句単位
を置くために待ち行列16が再ロード限界未満になるま
で待たなければならない。ステップ176で限界割込み
が受信されると、翻訳文脈管理機構は再始動される。翻
訳文脈管理機構の処理はその後、ステップ178に進み
、待ち行列16に同期字句単位を置く。同期字句単位は
、新しいアプリケーション処理のために新しいコマンド
リストがロードされるべきことを指示する。ステップ1
80で、翻訳文脈管理機構は、表示装置アダプタ14か
らの要求サービスを指示するための通知を待つ待ち状態
に入る。その後、空限界割込み、(エラー状態を示す)
タイマ割込み、または、同期字句単位が待ち行列16か
ら読み出され図形処理論理18によりアクセスされたこ
とを示す希望の通知など、いずれかの通知の発生時に、
翻訳文脈管理機構はステップ182で再始動する。 ステップ184では、古い文脈(表示装置アダプタ14
から排除されているアプリケーション処理のための文脈
データ)は格納され、新しい文脈が表示装置アダプタ1
4に付与される。ステップ186で、新しくロードされ
た文脈に関係する、新しい処理のカウンタCの内容は、
満杯限界の大きさである値Fで置き換えられる。その後
、翻訳文脈管理機構は処理を出る。
【0021】第9図は、バッファに書き込まれるコマン
ドの数を規制する図形処理モジュールの第2の実施例の
フローチャートである。第9図において、ステップ20
0では、処理は描画のためのコマンドの数Nを計算する
。ステップ202で、NがI以下であるかどうかに関し
て判断される。Iは前述と同じく自由増分の大きさであ
る。NがIより大きければ、エラー状態が生じ、プログ
ラムはステップ204で出る。NがI以下であれば、処
理はステップ206に進み、NがC未満であるかどうか
判断する。Cはその処理のカウントである。答えが肯定
であれば、処理はステップ210に進み、バッファの深
さが再ロード限界未満であるかどうかを判断する。肯定
の場合、ステップ212で、バッファの深さが空である
かどうか、すなわち、バッファが空であるかどうかが判
断される。バッファが空であれば、処理はステップ21
8に進み、カウンタはバッファのコマンド総数であるF
に設定される。バッファが空でなければ、処理はステッ
プ214に進み、カウントをIに設定する。Iはバッフ
ァが一杯になった時のコマンド数から限界のコマンド数
を引いた数である。このフローチャートには置換が示さ
れている。その理由は、バッファにI以上の記憶場所が
空いており、また、置換がこの発明の最善の態様におい
て非割込み可能動作であるからである。しかし、システ
ムプロセッサが極めて低いオーバヘッドによって他の非
割込み可能動作を可能にする場合、ステップ214にお
いて、加算C+Iを値Iに置換することもできよう。
【0022】ステップ210に戻って、バッファの深さ
が再ロード限界未満でなければ、翻訳文脈管理機構が呼
び出され、図形処理は再ロード限界割込みが受信される
まで待ち状態に置かれる。そして、ステップ220で、
この再ロード限界割込みが受信されると、翻訳文脈管理
機構は図形処理を活動状態に戻し、ステップ208に進
む。ステップ208では、カウンタが再計算され、その
カウントからロードされているコマンド数Nが引かれる
。その後、処理を出る。
【0023】第10図は、図形処理アプリケーションの
コマンドロードモジュールの第3の実施例を示す。ステ
ップ250で、コマンドの数Nが計算される。ステップ
252で、NがI以下であるかどうか判断される。そう
でない場合、ステップ254において、N−Iに等しい
テンポラリカウント(TEMP)が設定されてから、N
はIに等しく設定される。この効果は、TEMPが各パ
スで書き込まれなかった残りのコマンドを保持すること
により、先入れ先出しバッファに一度にIのコマンドだ
けが入れられるようにすることである。その後、処理は
ステップ258に進む。
【0024】ステップ252で、NがI以下である場合
、処理はステップ256に進み、テンポラリカウントは
ゼロに設定される。TEMPは付加的なループをまった
く必要としないことを示すためにゼロに設定される。
【0025】ステップ258に進み、NがC未満である
かどうかが判断される。NがC未満であれば、ステップ
264で、バッファの深さが再ロード限界未満であるか
どうかが判断される。未満であれば、ステップ266で
、バッファの深さが空状態、すなわちバッファが空であ
るかどうか判断される。バッファが空であれば、ステッ
プ270で、Cはバッファのコマンドの総数であるFに
等しく設定される。その後、処理はステップ260に進
む。ステップ266に戻って、バッファの深さが空でな
ければ、処理はステップ268に進み、CはIに等しく
設定される。その後、処理はステップ260に進む。 ステップ264に戻って、バッファの深さが再ロード限
界未満でなければ、処理はステップ272に進み、翻訳
文脈管理機構を呼び出し、再ロード限界割込みが返され
るのを待つ待ち状態に入る。この割込みが返されると、
処理はステップ274に進んでから、ステップ260に
進み、CはC−Nに調整され、Nの語がコマンド待ち行
列に格納される。その後、ステップ262で、テンポラ
リカウントがゼロに設定されているかどうか判断される
。設定されていなければ、処理はステップ251に戻り
、Nが復元され、ステップ252に戻り、書き込まれな
かったコマンドの残りが残されているので、処理を繰り
返す。テンポラリカウントがゼロであれば、処理は出る
【0026】以上、この発明を特定の実施例によって説
明したが、この説明は限定的な意味で解釈されるもので
はない。開示された実施例の各種修正および他の実施例
が可能であることは、この発明に関する当業者には明白
であろう。従って、添付された特許請求の範囲は、この
発明の真の適用範囲に含まれるそうしたすべての修正ま
たは実施例を含むと考えられる。
【図面の簡単な説明】
【図1】図形表示装置を備えたコンピュータシステムの
ブロック図。
【図2】先入れ先出しバッファの象徴図。
【図3】図1のコンピュータシステムに含まれるソフト
ウェアモジュールを図示するシステムプロセッサのブロ
ック図。
【図4】アプリケーション処理の初期化ルーチンのフロ
ーチャート。
【図5】アプリケーション処理の図形処理モジュールの
フローチャート。
【図6】ソフトウェアモジュールである翻訳文脈管理機
構の初期化ルーチンのフローチャート。
【図7】翻訳文脈管理機構の処理の表示装置アダプタ監
視ルーチンを示すフローチャート。
【図8】翻訳文脈管理機構の処理の文脈切換えハンドラ
を示すフローチャート。
【図9】アプリケーション処理の図形処理モジュールの
第2の実施例を示すフローチャート。
【図10】アプリケーション処理の図形処理モジュール
の第3の実施例を示すフローチャート。
【符号の説明】
10  システムプロセッサ 14  表示装置アダプタ 16  先入れ先出しバッファ 30  満杯限界 32  満杯限界の大きさF 34  再ロード限界 36  空限界 38  自由増分の大きさI 50  ソフトウェア処理A,B,C 52  ソフトウェア処理A,B,C 54  ソフトウェア処理A,B,C 56  処理ディスパッチャ 58  翻訳文脈管理機構(RCM)

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】多数のプロセッサを有するデータ処理シス
    テムにおいて、処理アクセスを制御し、また、独立して
    実行するプロセッサのバッファに対してそれらの処理の
    うちの実行中の処理によって入力される語を制御するた
    めのバッファ管理機構であって、バッファにロードする
    ための実行中の第1の処理からの語数を規制するための
    手段と、その語数をロードするための手段と、処理アク
    セスに変化が生じた場合に同期語をロードするための手
    段と、同期語が独立実行プロセッサによってアクセスさ
    れた時に、第1の処理の語のロードを停止し、第2の処
    理の語のロードを行うための手段とを含むバッファ管理
    機構。
  2. 【請求項2】請求項1記載のバッファ管理機構であって
    、語数を規制する手段が、バッファのロード可能記憶場
    所の数を格納する手段と、第1の処理からロードされる
    語数を計算するための手段と、ロードされる語数にもと
    づいてロード可能記憶場所の数を再計算する手段とを含
    む、バッファ管理機構。
  3. 【請求項3】請求項2記載のバッファ管理機構であって
    、語数を規制する手段が、ロードされる語の計算された
    数がロード可能記憶場所の格納数よりも大きいかどうか
    を判断するための手段を含むバッファ管理機構。
  4. 【請求項4】請求項3記載のバッファ管理機構であって
    、ロード可能記憶場所数を再計算する手段が、ロードさ
    れる計算語数がロード可能記憶場所の格納数よりも大き
    い場合にロード可能記憶場所の限界数が使用できるかど
    うかをバッファから判断するための手段と、その限界数
    が使用できる場合にロード可能記憶場所の格納数を変更
    するための手段とを含む、バッファ管理機構。
  5. 【請求項5】請求項4記載のバッファ管理機構であって
    、ロード可能記憶場所数を再計算する手段が、バッファ
    が空であるかどうかを判断し、バッファが空である場合
    にロード可能記憶場所の格納数を変更するための手段を
    含むバッファ管理機構。
  6. 【請求項6】請求項5記載のバッファ管理機構であって
    、語数を規制する手段が、第1の処理によりロードされ
    る語数の最初の計算がロード可能記憶場所の格納数を超
    える場合に使用できる数のロード可能な語を反復的に処
    理するための手段を含むバッファ管理機構。
  7. 【請求項7】請求項1記載のバッファ管理機構であって
    、語数を規制する手段が、限界数のバッファ記憶場所が
    ロードに使用できるようになった時に、第1の処理に周
    期的にアクセスするための手段を含むバッファ管理機構
  8. 【請求項8】多数のプロセッサを有するデータ処理シス
    テムにおいて、処理アクセスを制御し、また、独立して
    実行するプロセッサのバッファに対してそれらの処理の
    うちの実行中の処理によって入力される語を制御するた
    めのバッファ管理方法であって、バッファにロードする
    ための実行中の第1の処理からの語数を規制する段階と
    、  その語数をロードする段階と、処理アクセスに変
    化が生じた場合に同期語をロードする段階と、同期語が
    独立実行プロセッサによってアクセスされた時に、第1
    の処理の語のロードを停止し、第2の処理の語のロード
    を行う段階とを含む、バッファ管理方法。
  9. 【請求項9】請求項8記載の方法であって、語数を規制
    する段階が、バッファのロード可能記憶場所の数を格納
    する段階と、第1の処理からロードされる語数を計算す
    る段階と、ロードされる語数にもとづいてロード可能記
    憶場所の数を再計算する段階とを含む、バッファ管理方
    法。
  10. 【請求項10】請求項9記載の方法であって、語数を規
    制する段階が、ロードされる語の計算された数がロード
    可能記憶場所の格納数よりも大きいかどうかを判断する
    段階を含むバッファ管理方法。
  11. 【請求項11】請求項10記載の方法であって、ロード
    可能記憶場所数を再計算する段階が、ロードされる計算
    語数がロード可能記憶場所の格納数よりも大きい場合に
    ロード可能記憶場所の限界数が使用できるかどうかをバ
    ッファから判断する段階と、その限界数が使用できる場
    合にロード可能記憶場所の格納数を変更する段階とを含
    む、バッファ管理方法。
  12. 【請求項12】請求項11記載の方法であって、ロード
    可能記憶場所数を再計算する段階が、バッファが空であ
    るかどうかを判断し、バッファが空である場合にロード
    可能記憶場所の格納数を変更する段階を含む、バッファ
    管理方法。
  13. 【請求項13】請求項12記載の方法であって、語数を
    規制する段階が、第1の処理によりロードされる語数の
    最初の計算がロード可能記憶場所の格納数を超える場合
    に使用できる数のロード可能な語を反復的に処理する段
    階を含む、バッファ管理方法。
  14. 【請求項14】請求項8記載の方法であって、語数を規
    制する段階が、限界数のバッファ記憶場所がロードに使
    用できるようになった時に、第1の処理に周期的にアク
    セスする段階を含むバッファ管理方法。
  15. 【請求項15】データ処理システムであって、1以上の
    プロセッサがバッファを有しており、それぞれが処理を
    実行するための多数のプロセッサと、プロセッサ間で情
    報を転送するための手段と、1以上のプロセッサに、処
    理アクセスを制御し、バッファに対してそれらの処理の
    うちの実行中の処理により入力される語を制御するため
    のバッファ管理機構であって、バッファにロードするた
    めの実行中の第1の処理からの語数を規制するための手
    段と、その語数をロードする手段と、処理アクセスに変
    化が生じた場合に同期語をロードするための手段と、そ
    の同期語が独立実行プロセッサによってアクセスされた
    時に、第1の処理の語のロードを停止し、第2の処理の
    語のロードを行うための手段とを有しているバッファ管
    理機構とを含む、データ処理システム。
  16. 【請求項16】請求項15記載のデータ処理システムで
    あって、バッファ管理機構の語数を規制する手段はさら
    に、バッファのロード可能記憶場所の数を格納するため
    の手段と、第1の処理からロードされる語数を計算する
    ための手段と、ロードされる語数にもとづいてロード可
    能記憶場所の数を再計算するための手段とを含む、デー
    タ処理システム。
  17. 【請求項17】請求項16記載のデータ処理システムで
    あって、バッファ管理機構の語数を規制する手段はさら
    に、ロードされる語の計算された数がロード可能記憶場
    所の格納数よりも大きいかどうかを判断するための手段
    を含む、データ処理システム。
  18. 【請求項18】請求項16記載のデータ処理システムで
    あって、バッファ管理機構のロード可能記憶場所数を再
    計算する手段はまた、ロードされる計算語数がロード可
    能記憶場所の格納数よりも大きい場合にロード可能記憶
    場所の限界数が使用できるかどうかをバッファから判断
    するための手段と、その限界数が使用できる場合にロー
    ド可能記憶場所の格納数を変更するための手段とを含む
    、データ処理システム。
  19. 【請求項19】請求項16記載のデータ処理システムで
    あって、バッファ管理機構のロード可能記憶場所数を再
    計算する手段はさらに、バッファが空であるかどうかを
    判断し、バッファが空である場合にロード可能記憶場所
    の格納数を変更するための手段を含む、データ処理シス
    テム。
  20. 【請求項20】請求項16記載のデータ処理システムで
    あって、バッファ管理機構の語数を規制する手段はさら
    に、第1の処理によりロードされる語数の最初の計算が
    ロード可能記憶場所の格納数を超える場合に使用できる
    数のロード可能な語を反復的に処理するための手段を含
    むデータ処理システム。
  21. 【請求項21】請求項16記載のデータ処理システムで
    あって、バッファ管理機構の語数を規制する手段はさら
    に、限界数のバッファ記憶場所がロードに使用できるよ
    うになった時に、第1の処理に周期的にアクセスするた
    めの手段を含むデータ処理システム。
JP2417848A 1990-02-13 1990-12-27 多重処理のための先入れ先出しバッファ待ち行列の管理機構および方法 Pending JPH04242852A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US48018190A 1990-02-13 1990-02-13
US480181 1990-02-13

Publications (1)

Publication Number Publication Date
JPH04242852A true JPH04242852A (ja) 1992-08-31

Family

ID=23906965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2417848A Pending JPH04242852A (ja) 1990-02-13 1990-12-27 多重処理のための先入れ先出しバッファ待ち行列の管理機構および方法

Country Status (3)

Country Link
US (1) US5283899A (ja)
EP (1) EP0442716A3 (ja)
JP (1) JPH04242852A (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390302A (en) * 1991-02-21 1995-02-14 Digital Equipment Corporation Transaction control
US5444853A (en) * 1992-03-31 1995-08-22 Seiko Epson Corporation System and method for transferring data between a plurality of virtual FIFO's and a peripheral via a hardware FIFO and selectively updating control information associated with the virtual FIFO's
CA2107046A1 (en) * 1993-01-08 1994-07-09 James Allan Kahle Method and system for increased instruction dispatch efficiency in superscalar processor system
FR2710766B1 (fr) * 1993-09-29 1995-12-01 Hyperparallel Technologies Système de transmission d'instructions de commandes intranodales ou de communications internodales dans un nÓoeud processeur.
US5664114A (en) * 1995-05-16 1997-09-02 Hewlett-Packard Company Asynchronous FIFO queuing system operating with minimal queue status
US5949439A (en) * 1996-08-15 1999-09-07 Chromatic Research, Inc. Computing apparatus and operating method using software queues to improve graphics performance
KR100243271B1 (ko) * 1996-12-20 2000-02-01 윤종용 광 디스크 데이타 재생 시스템의 명령 대기 장치 및 방법
US6580871B1 (en) * 1997-04-08 2003-06-17 Koninklijke Philips Electronics N.V. Device and method for recording an information signal in a record carrier in which a temporary store is formed on the record carrier, the temporary store being continuously overwritten with the information signal
US5990913A (en) * 1997-07-30 1999-11-23 Intel Corporation Method and apparatus for implementing a flush command for an accelerated graphics port device
TW200810523A (en) 2005-12-23 2008-02-16 Nxp Bv An AV renderer peripheral with dual interrupt lines for staggered interrupts
US9342383B2 (en) * 2007-12-28 2016-05-17 Sap Se Streaming operations for workflow process models using multiple views on a same buffer
US8294723B2 (en) 2008-11-07 2012-10-23 Google Inc. Hardware-accelerated graphics for web applications using native code modules
US8675000B2 (en) * 2008-11-07 2014-03-18 Google, Inc. Command buffers for web-based graphics rendering
US8797337B1 (en) 2009-07-02 2014-08-05 Google Inc. Graphics scenegraph rendering for web applications using native code modules
KR101285078B1 (ko) * 2009-12-17 2013-07-17 한국전자통신연구원 스트림 데이터에 대한 점진적인 맵리듀스 기반 분산 병렬 처리 시스템 및 방법
JP5594049B2 (ja) * 2010-10-18 2014-09-24 富士通株式会社 仮想計算機移動方法、コンピュータ及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4363093A (en) * 1980-03-10 1982-12-07 International Business Machines Corporation Processor intercommunication system
US4494192A (en) * 1982-07-21 1985-01-15 Sperry Corporation High speed bus architecture
US4800521A (en) * 1982-09-21 1989-01-24 Xerox Corporation Task control manager
US4571671A (en) * 1983-05-13 1986-02-18 International Business Machines Corporation Data processor having multiple-buffer adapter between a system channel and an input/output bus
US4564901A (en) * 1983-07-21 1986-01-14 Burroughs Corporation Method of performing a sequence of related activities via multiple asynchronously intercoupled digital processors
US4847755A (en) * 1985-10-31 1989-07-11 Mcc Development, Ltd. Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies
US4998198A (en) * 1988-04-07 1991-03-05 Tandem Computers Incorporated Dynamic burst control for data transfers
US4949280A (en) * 1988-05-10 1990-08-14 Battelle Memorial Institute Parallel processor-based raster graphics system architecture
US4987529A (en) * 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters

Also Published As

Publication number Publication date
EP0442716A2 (en) 1991-08-21
EP0442716A3 (en) 1993-01-27
US5283899A (en) 1994-02-01

Similar Documents

Publication Publication Date Title
JPH04242852A (ja) 多重処理のための先入れ先出しバッファ待ち行列の管理機構および方法
US5539893A (en) Multi-level memory and methods for allocating data most likely to be used to the fastest memory level
EP1054322B1 (en) Computer system with multiple operating system operation
US5968153A (en) Mechanism for high bandwidth DMA transfers in a PCI environment
US6006247A (en) Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system
EP0834113B1 (en) Information processing apparatus and method including a mechanism for issuing and removing requests for memory access
JP3253303B2 (ja) コンテキスト切り換え装置及び方法
EP0150705B1 (en) Data storage hierarchy and its method of operation
US5894560A (en) Method and apparatus for controlling I/O channels responsive to an availability of a plurality of I/O devices to transfer data
RU2397535C2 (ru) Устройство обработки информации, способ управления областью памяти и компьютерная программа
US7661115B2 (en) Method, apparatus and program storage device for preserving locked pages in memory when in user mode
JPH0827707B2 (ja) Fifoバッファの制御装置及び制御方法並びにデータ転送を制御する装置
JPH04137046A (ja) 電子計算機のオペレーティングシステム
US6894693B1 (en) Management of limited resources in a graphics system
JPH06250928A (ja) 情報処理装置
US6779180B1 (en) Apparatus and method for preventing stack overflow from synchronous completion of asynchronous functions
US5513365A (en) Display adapter interface layer
EP0052713B1 (en) A process management system for scheduling work requests in a data processing system
US5787289A (en) Display adapter supporting priority based functions
KR20010024958A (ko) 액세스 제어 장치 및 액세스 방법
KR20210061583A (ko) 적응형 딥러닝 가속 장치 및 방법
JP3349547B2 (ja) スケジューリングシステム
JPH1049397A (ja) 試験プログラム実行制御方法
JPH0519179B2 (ja)
JPS63292456A (ja) 複数媒体収納型デ−タ記録装置の媒体割り当て制御方式