JPH0570177B2 - - Google Patents
Info
- Publication number
- JPH0570177B2 JPH0570177B2 JP63318660A JP31866088A JPH0570177B2 JP H0570177 B2 JPH0570177 B2 JP H0570177B2 JP 63318660 A JP63318660 A JP 63318660A JP 31866088 A JP31866088 A JP 31866088A JP H0570177 B2 JPH0570177 B2 JP H0570177B2
- Authority
- JP
- Japan
- Prior art keywords
- stack
- priority
- contents
- holding register
- data
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/376—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a contention resolving method, e.g. collision detection, collision avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Communication Control (AREA)
Description
【発明の詳細な説明】
A 産業上の利用分野
本発明は一般的にはデータ処理アーキテクチヤ
に関し、さらに詳しくいえば、データ待ち行列の
アーキテクチヤに関する。
に関し、さらに詳しくいえば、データ待ち行列の
アーキテクチヤに関する。
B 従来技術及びその問題点
多くのデータ処理アプリケーシヨンにおいて
は、データはその操作についての固有の優先度な
いし優先順位と関連付けられている。たとえば、
ネツトワークに接続されている複数のノードが共
通資源へのアクセスについて競合しなければなら
ないようなローカル・エリア・ネツトワークの競
合解決において、データ伝送の要件がネツトワー
クの全体的な動作にとつて固有的により重要であ
るようなノードに好適なサービスを提供すること
は意味のあることである。典型的には、従来技術
はノードによつて処理される幾つかのセツシヨン
を指定する記述子を優先式待ち行列に優先順位を
もつて記憶していた。各々の新しいセツシヨン及
び関連する優先順位がノードに割り当てられるの
で、そのセツシヨンはそのノードで既存のセツシ
ヨンの優先順位に対する優先順位でもつて編成し
なければならない。従来、これは複数の既存のセ
ツシヨンを表わす優先順位付けされた待ち行列の
内容を調べてその優先度に応じてランク付けされ
る位置で新しいセツシヨンの記述子をその待ち行
列に書き込むことによつて行なわれていた。した
がつて、ノードにおいて新しいセツシヨンの記述
子を優先式待ち行列に書き込んだ後、待ち行列は
新しく割り当てられた優先順位で再編成されるこ
ととなる。新しいセツシヨンについての割当ての
発生は時間的にランダムなので、このような動作
モードには問題が生じる。優先式待ち行列に記録
すべき新しい事象またはセツシヨンが非同期的に
発生することから、従来の優先式待ち行列のメカ
ニズムでは待ち行列での新しいデータのエントリ
に短時間でしかも繰り返して応答することは困難
となる。というのは、各エントリは優先式待ち行
列における既存のエレメントの優先順位に対する
新しいエレメントの相対的な優先順位に関する割
当てを必要とするからである。
は、データはその操作についての固有の優先度な
いし優先順位と関連付けられている。たとえば、
ネツトワークに接続されている複数のノードが共
通資源へのアクセスについて競合しなければなら
ないようなローカル・エリア・ネツトワークの競
合解決において、データ伝送の要件がネツトワー
クの全体的な動作にとつて固有的により重要であ
るようなノードに好適なサービスを提供すること
は意味のあることである。典型的には、従来技術
はノードによつて処理される幾つかのセツシヨン
を指定する記述子を優先式待ち行列に優先順位を
もつて記憶していた。各々の新しいセツシヨン及
び関連する優先順位がノードに割り当てられるの
で、そのセツシヨンはそのノードで既存のセツシ
ヨンの優先順位に対する優先順位でもつて編成し
なければならない。従来、これは複数の既存のセ
ツシヨンを表わす優先順位付けされた待ち行列の
内容を調べてその優先度に応じてランク付けされ
る位置で新しいセツシヨンの記述子をその待ち行
列に書き込むことによつて行なわれていた。した
がつて、ノードにおいて新しいセツシヨンの記述
子を優先式待ち行列に書き込んだ後、待ち行列は
新しく割り当てられた優先順位で再編成されるこ
ととなる。新しいセツシヨンについての割当ての
発生は時間的にランダムなので、このような動作
モードには問題が生じる。優先式待ち行列に記録
すべき新しい事象またはセツシヨンが非同期的に
発生することから、従来の優先式待ち行列のメカ
ニズムでは待ち行列での新しいデータのエントリ
に短時間でしかも繰り返して応答することは困難
となる。というのは、各エントリは優先式待ち行
列における既存のエレメントの優先順位に対する
新しいエレメントの相対的な優先順位に関する割
当てを必要とするからである。
優先式待ち行列が用いられるようなデータ処理
アプリケーシヨンは他にもある。たとえば、多重
プログラミング・アプリケーシヨンである。多重
プログラミング式コンピユータ・アーキテクチヤ
の1つのタイプは複数のプログラムが各プログラ
ムの実行についてタイム・スライス・オペレーシ
ヨンを課することによつて単一資源CPUで実行
されるような作業ステツプ・アーキテクチヤであ
る。時間は複数の期間に分けられて、CPUの実
行すべき複数のプログラムの各々には実行のため
の相対的な優先順位が割り当てられる。タイム・
スライスされた各期間の始まりで、各プログラム
の優先度が調べられ、最高の優先順位を有するプ
ログラムがそのタイム・スライスされた期間中、
実行のために選択される。プログラムまたはサブ
ルーチンが事象駆動方式に基づいて割り当てられ
るような場合、実行すべきプログラムを表わす優
先式待ち行列の増加は多重プログラミング・プロ
セスのタイム・スライス・オペレーシヨンと非同
期的であるようなやり方で行なわれなければなら
ない。次のサイクルの実行のためにどのプログラ
ムが最高の優先順位を有するのかを追跡する優先
式待ち行列が、新しいプログラムまたはサブルー
チンがその待ち行列に対して割り当てられた優先
順位を有するたびごとに再編成されなければなら
ないとすれば、優先式待ち行列への新しいプログ
ラムの割当てに関する高速の繰返しは不可能とな
り、同時に、次のサイクルの実行のため正確に識
別された最高優先順位のプログラムを利用するこ
ともできない。したがつて、本発明の目的は従来
に比してより効率的な方法で優先式待ち行列を管
理することである。
アプリケーシヨンは他にもある。たとえば、多重
プログラミング・アプリケーシヨンである。多重
プログラミング式コンピユータ・アーキテクチヤ
の1つのタイプは複数のプログラムが各プログラ
ムの実行についてタイム・スライス・オペレーシ
ヨンを課することによつて単一資源CPUで実行
されるような作業ステツプ・アーキテクチヤであ
る。時間は複数の期間に分けられて、CPUの実
行すべき複数のプログラムの各々には実行のため
の相対的な優先順位が割り当てられる。タイム・
スライスされた各期間の始まりで、各プログラム
の優先度が調べられ、最高の優先順位を有するプ
ログラムがそのタイム・スライスされた期間中、
実行のために選択される。プログラムまたはサブ
ルーチンが事象駆動方式に基づいて割り当てられ
るような場合、実行すべきプログラムを表わす優
先式待ち行列の増加は多重プログラミング・プロ
セスのタイム・スライス・オペレーシヨンと非同
期的であるようなやり方で行なわれなければなら
ない。次のサイクルの実行のためにどのプログラ
ムが最高の優先順位を有するのかを追跡する優先
式待ち行列が、新しいプログラムまたはサブルー
チンがその待ち行列に対して割り当てられた優先
順位を有するたびごとに再編成されなければなら
ないとすれば、優先式待ち行列への新しいプログ
ラムの割当てに関する高速の繰返しは不可能とな
り、同時に、次のサイクルの実行のため正確に識
別された最高優先順位のプログラムを利用するこ
ともできない。したがつて、本発明の目的は従来
に比してより効率的な方法で優先式待ち行列を管
理することである。
本発明の他の目的は従来に比してより高速に優
先式待ち行列を管理することである。
先式待ち行列を管理することである。
本発明の他の目的は優先式待ち行列への新しい
エレメントの非同期的な割当てを従来に比してよ
り高速にできるようにすることである。
エレメントの非同期的な割当てを従来に比してよ
り高速にできるようにすることである。
本発明の他の目的は優先式待ち行列の先頭のエ
レメントをより改善された方法ですぐに利用でき
るようにすることである。
レメントをより改善された方法ですぐに利用でき
るようにすることである。
C 問題点を解決するための手段
この目的を達成するため、データ処理システム
において優先式待ち行列を管理する本発明の方法
は、(a)最高優先順位のデータの要求に応答してデ
ータ部分及び優先順位部分を有する保持レジスタ
の内容を読み取るスキツプと、(b)各々優先順位部
分及びデータ部分を有するスタツク内の複数のエ
レメントのうちスタツク先頭ポインタによつて指
示される先頭のエレメントを読み取つてその内容
を上記保持レジスタに書き込むステツプと、(c)初
期的に上記スタツク先頭ポインタと等しくセツト
されているスタツク探索ポインタによつて指示さ
れるスタツク内の最初のエントリを見つけること
によつてスタツク内の複数のエレメントを探索し
て上記スタツク探索ポインタによつて指示される
エントリの内容と上記保持レジスタの内容とを比
較するステツプと、(d)上記スタツク内のエントリ
の内容の優先順位部分が上記保持レジスタの内容
の優先順位部分よりも高いものである損合に上記
スタツク探索ポインタによつて指示される上記ス
タツク内のエントリの内容と上記保持レジスタの
内容とをスワツプするステツプと、(e)新しいデー
タが上記スタツクに書き込まれるかどうかを判断
するステツプと、(f)上記新しいデータの優先順位
部分が上記保持レジスタの内容の優先順位部分よ
りも高いものであるかどうかを判断するため上記
スタツクに書き込むべき新しいデータを比較する
ステツプと、(g)上記新しいデータの優先順位部分
が上記保持レジスタの内容の優先順位部分よりも
高いものである場合に上記スタツク先頭ポインタ
の内容を増分して上記保持レジスタの内容を上記
スタツク先頭ポインタによつて新たに指示される
上記スタツク内のロケーシヨンに書き込み、さら
に上記新しいデータを上記保持レジスタに書き込
むステツプと、(h)上記新しいデータの優先順位部
分が上記保持レジスタの内容の優先順位部分より
も高くない場合に上記新しいデータを上記スタツ
クに書き込むステツプと、(i) 上記スタツク内の
すべてのエントリの比較が完了するまで上記ス
テツプ(c)以降のステツプを繰り返すステツプ
と、を含むことにより最高優先順位のエントリ
が上記保持レジスタに記憶されるようにしたこ
とを特徴としている。
において優先式待ち行列を管理する本発明の方法
は、(a)最高優先順位のデータの要求に応答してデ
ータ部分及び優先順位部分を有する保持レジスタ
の内容を読み取るスキツプと、(b)各々優先順位部
分及びデータ部分を有するスタツク内の複数のエ
レメントのうちスタツク先頭ポインタによつて指
示される先頭のエレメントを読み取つてその内容
を上記保持レジスタに書き込むステツプと、(c)初
期的に上記スタツク先頭ポインタと等しくセツト
されているスタツク探索ポインタによつて指示さ
れるスタツク内の最初のエントリを見つけること
によつてスタツク内の複数のエレメントを探索し
て上記スタツク探索ポインタによつて指示される
エントリの内容と上記保持レジスタの内容とを比
較するステツプと、(d)上記スタツク内のエントリ
の内容の優先順位部分が上記保持レジスタの内容
の優先順位部分よりも高いものである損合に上記
スタツク探索ポインタによつて指示される上記ス
タツク内のエントリの内容と上記保持レジスタの
内容とをスワツプするステツプと、(e)新しいデー
タが上記スタツクに書き込まれるかどうかを判断
するステツプと、(f)上記新しいデータの優先順位
部分が上記保持レジスタの内容の優先順位部分よ
りも高いものであるかどうかを判断するため上記
スタツクに書き込むべき新しいデータを比較する
ステツプと、(g)上記新しいデータの優先順位部分
が上記保持レジスタの内容の優先順位部分よりも
高いものである場合に上記スタツク先頭ポインタ
の内容を増分して上記保持レジスタの内容を上記
スタツク先頭ポインタによつて新たに指示される
上記スタツク内のロケーシヨンに書き込み、さら
に上記新しいデータを上記保持レジスタに書き込
むステツプと、(h)上記新しいデータの優先順位部
分が上記保持レジスタの内容の優先順位部分より
も高くない場合に上記新しいデータを上記スタツ
クに書き込むステツプと、(i) 上記スタツク内の
すべてのエントリの比較が完了するまで上記ス
テツプ(c)以降のステツプを繰り返すステツプ
と、を含むことにより最高優先順位のエントリ
が上記保持レジスタに記憶されるようにしたこ
とを特徴としている。
以下、本発明の作用を実施例と共に説明する。
D 実施例
はじめに本発明の実施例を概説する。本発明に
従つて、優先式待ち行列の処理において、それら
のエレメントが未記憶のスタツク内に保存され、
最高優先順位のエレメントがその保持レジスタか
ら読み取られた後にのみ次に高い優先順位を有す
るエレメントについてこれらのエレメントが探索
される。本発明はこれを実行することができる。
というのは、新しいエレメントがこの待ち行列に
書き込まれるたびに、新しいエレメントの優先度
と保持レジスタに存する既存のエレメントの優先
度との比較が行なわれるからである。新しいエレ
メントの方が高い優先度を有するときは、保持レ
ジスタに存する既存のエレメントはスタツクの先
頭に書き込まれる。一方、保持レジスタ中のエレ
メントの方が高い優先度を有するときは、新しい
エレメントがスタツクの先頭に書き込まれる。し
たがつて、保持レジスタが最高優先順位を有する
エレメントを常に保有することが保証される。そ
の結果、保持レジスタの内容を読み取ることによ
る優先式待ち行列の読取りは、最高優先順位のエ
レメントがそこに存在しかつ待ち行列のさらなる
探索なしにすぐにこれをアクセスできることを保
証する。前述のごとく、探索オペレーシヨンが関
与するのは、保持レジスタの内容を読み取つた後
だけである。高速の読取りオペレーシヨンを提供
するため、はじめにスタツクの先頭のエレメント
を保持レジスタに入れる。次に、優先順位探索オ
ペレーシヨンが、優先式待ち行列の残りの各エレ
メントが保持レジスタの内容の優先順位と比較さ
れる優先順位を持つように実行される。保持レジ
スタ中のエレメントの優先順位が優先式待ち行列
に存するエレメントの優先順位より低いときは、
必ずスワツプ・オペレーシヨンが行なわれる。探
索オペレーシヨンが、スタツクの後尾まで行なわ
れるところまでには、保持レジスタは最高優先順
位を有する待ち行列エレメントを含む。
従つて、優先式待ち行列の処理において、それら
のエレメントが未記憶のスタツク内に保存され、
最高優先順位のエレメントがその保持レジスタか
ら読み取られた後にのみ次に高い優先順位を有す
るエレメントについてこれらのエレメントが探索
される。本発明はこれを実行することができる。
というのは、新しいエレメントがこの待ち行列に
書き込まれるたびに、新しいエレメントの優先度
と保持レジスタに存する既存のエレメントの優先
度との比較が行なわれるからである。新しいエレ
メントの方が高い優先度を有するときは、保持レ
ジスタに存する既存のエレメントはスタツクの先
頭に書き込まれる。一方、保持レジスタ中のエレ
メントの方が高い優先度を有するときは、新しい
エレメントがスタツクの先頭に書き込まれる。し
たがつて、保持レジスタが最高優先順位を有する
エレメントを常に保有することが保証される。そ
の結果、保持レジスタの内容を読み取ることによ
る優先式待ち行列の読取りは、最高優先順位のエ
レメントがそこに存在しかつ待ち行列のさらなる
探索なしにすぐにこれをアクセスできることを保
証する。前述のごとく、探索オペレーシヨンが関
与するのは、保持レジスタの内容を読み取つた後
だけである。高速の読取りオペレーシヨンを提供
するため、はじめにスタツクの先頭のエレメント
を保持レジスタに入れる。次に、優先順位探索オ
ペレーシヨンが、優先式待ち行列の残りの各エレ
メントが保持レジスタの内容の優先順位と比較さ
れる優先順位を持つように実行される。保持レジ
スタ中のエレメントの優先順位が優先式待ち行列
に存するエレメントの優先順位より低いときは、
必ずスワツプ・オペレーシヨンが行なわれる。探
索オペレーシヨンが、スタツクの後尾まで行なわ
れるところまでには、保持レジスタは最高優先順
位を有する待ち行列エレメントを含む。
以下、図面を参照して実施例を詳細に説明す
る。
る。
本発明に基づく高速アクセス優先式待ち行列は
優先式待ち行列が読み取られるときについて一定
の規則性が存在するようなデータ処理アプリケー
シヨンにおいて動作する。このことは、第5図に
示すようなローカル・エリア・ネツトワークにつ
いて第4図に示すごときタイミング・フレームで
例示的に示されている。第5図に示すようなロー
カル・エリア・ネツトワークにおいては、、リン
グ1(以下、「通信媒体」または「通信ネツトワ
ーク」ともいう)のごとき中央通信リンクまたは
スター式バスが複数の通信ノード(たとえばノー
ド3とノード3′)を論理的に相互接続する。各
ノードはネツトワーク・インターフエース・ユニ
ツト5(以下、「ネツトワーク・コントローラ」
ともいう)及びローカル装置7を含む。ローカル
装置7は、たとえば、コンピユータ、データ・イ
ンターフエースまたは他のデータ処理通信装置で
ある。多くのLANアプリケーシヨンにおいては、
各ノードは複数の他のノードとの複数の通信セツ
シヨンを管理するためのネツトワーク・コントロ
ーラ5を有する。ネツトワーク・インターフエー
ス・ユニツト5で管理すべき各通信セツシヨンは
各自に割り当てられた関連する優先度の値を有す
る。この値は、そのノード3によつて及びシステ
ム内の他のノード3′によつて管理すべき他の通
信セツシヨンにに対してその通信セツシヨンが有
する固有の相対的な重要度を示すものである。こ
うしたアプリケーシヨンにおいて本発明は特に有
益である。ネツトワークのすべてのノード及びす
べてのセツシヨンに各自の情報を送信する機会を
与えるため、時間が一連のタイム・フレームに分
けられる(第4図参照)。1つのタイム・フレー
ムは同期ヘツダ、肯定応答部分及び競合解決部分
を有する制御部を含む。このフレームは制御部に
続くデータ部を有する。データ部は通信媒体1を
介してシステム内の宛先ノードに伝送される関連
データを有する。典型的には、フレームの制御部
はたとえば40マイクロ秒であり、フレームのデー
タ部はたとえば40マイクロ秒から400マイクロ秒
までの可変の期間である。あるノードが第4図の
タイム・フレームの制御部の競合解決部分で対象
となりうるセツシヨンを選択するためには、ネツ
トワーク・インターフエース・ユニツト5が優先
式待ち行列を保持しなければならない。優先式待
ち行列は2つの部分を有するエントリを含む第3
図に示すような1つのスタツクを保有する。第3
図のスタツク内の1つのエントリの第1の部分は
そのエントリについての優先度の値であり、競合
解決部分の間に他のセツシヨンについての他の優
先度の値と比較すべき優先度の値である。第3図
のスタツク内のエントリの優先順位部分の他に、
この優先順位部分に関連するデータ部分がある。
ここで説明する例においては、このデータ部分は
1つのアドレス・ポインタでもよい。このアドレ
ス・ポインタは、ネツトワーク・インターフエー
ス・ユニツト5に関連して記憶され、選択された
セツシヨンで伝送されるデータを指し示すもので
ある。第3図のスタツク16へのエントリのデー
タ部分は実際のデータであつてもよい。たとえ
ば、通信ネツトワーク1を介して伝送すべきメツ
セージ・パケツトの実際のデータ部分でもよい。
以上のようなタイプのアプリケーシヨンにおいて
本発明は特に有益である。
優先式待ち行列が読み取られるときについて一定
の規則性が存在するようなデータ処理アプリケー
シヨンにおいて動作する。このことは、第5図に
示すようなローカル・エリア・ネツトワークにつ
いて第4図に示すごときタイミング・フレームで
例示的に示されている。第5図に示すようなロー
カル・エリア・ネツトワークにおいては、、リン
グ1(以下、「通信媒体」または「通信ネツトワ
ーク」ともいう)のごとき中央通信リンクまたは
スター式バスが複数の通信ノード(たとえばノー
ド3とノード3′)を論理的に相互接続する。各
ノードはネツトワーク・インターフエース・ユニ
ツト5(以下、「ネツトワーク・コントローラ」
ともいう)及びローカル装置7を含む。ローカル
装置7は、たとえば、コンピユータ、データ・イ
ンターフエースまたは他のデータ処理通信装置で
ある。多くのLANアプリケーシヨンにおいては、
各ノードは複数の他のノードとの複数の通信セツ
シヨンを管理するためのネツトワーク・コントロ
ーラ5を有する。ネツトワーク・インターフエー
ス・ユニツト5で管理すべき各通信セツシヨンは
各自に割り当てられた関連する優先度の値を有す
る。この値は、そのノード3によつて及びシステ
ム内の他のノード3′によつて管理すべき他の通
信セツシヨンにに対してその通信セツシヨンが有
する固有の相対的な重要度を示すものである。こ
うしたアプリケーシヨンにおいて本発明は特に有
益である。ネツトワークのすべてのノード及びす
べてのセツシヨンに各自の情報を送信する機会を
与えるため、時間が一連のタイム・フレームに分
けられる(第4図参照)。1つのタイム・フレー
ムは同期ヘツダ、肯定応答部分及び競合解決部分
を有する制御部を含む。このフレームは制御部に
続くデータ部を有する。データ部は通信媒体1を
介してシステム内の宛先ノードに伝送される関連
データを有する。典型的には、フレームの制御部
はたとえば40マイクロ秒であり、フレームのデー
タ部はたとえば40マイクロ秒から400マイクロ秒
までの可変の期間である。あるノードが第4図の
タイム・フレームの制御部の競合解決部分で対象
となりうるセツシヨンを選択するためには、ネツ
トワーク・インターフエース・ユニツト5が優先
式待ち行列を保持しなければならない。優先式待
ち行列は2つの部分を有するエントリを含む第3
図に示すような1つのスタツクを保有する。第3
図のスタツク内の1つのエントリの第1の部分は
そのエントリについての優先度の値であり、競合
解決部分の間に他のセツシヨンについての他の優
先度の値と比較すべき優先度の値である。第3図
のスタツク内のエントリの優先順位部分の他に、
この優先順位部分に関連するデータ部分がある。
ここで説明する例においては、このデータ部分は
1つのアドレス・ポインタでもよい。このアドレ
ス・ポインタは、ネツトワーク・インターフエー
ス・ユニツト5に関連して記憶され、選択された
セツシヨンで伝送されるデータを指し示すもので
ある。第3図のスタツク16へのエントリのデー
タ部分は実際のデータであつてもよい。たとえ
ば、通信ネツトワーク1を介して伝送すべきメツ
セージ・パケツトの実際のデータ部分でもよい。
以上のようなタイプのアプリケーシヨンにおいて
本発明は特に有益である。
第2図は高速アクセス優先式待ち行列のコント
ローラ9のアーキテクチヤを示す図である。この
図からわかるように、待ち行列コントローラ9
は、バス・コントローラ15及び当該ノードが競
合解決の勝者となつたときに通信ネツトワーク1
に出力されるデータを用いて最高の優先度のセツ
シヨンを選択するためメモリ・マネジメント・プ
ロセツサ11及びセツシヨン・データRAMに相
互接続される。待ち行列コントローラ9は複数の
エントリを有するスタツク16を保持する。各エ
ントリはそのエントリの優先順位及び1つのアド
レスポインタを含む。その待ち行列及び機能選択
入力が待ち行列コントローラ9に最高優先順位エ
レメントがスタツクから読み取られかつ出力され
るということを指示すると、その最高優先順位の
エレメントは、バス・コントローラ15に供給さ
れる優先順位部分及びメモリ・マネジメント・プ
ロセツサ11に供給されるポインタ部分と共にス
タツクから出力される。メモリ・マネジメント・
プロセツサ11はポインタ部分を用いて、競合解
決に勝つた場合に通信リンクを介して伝送すべき
セツシヨン・データRAM13中のデータ・セグ
メントを識別する。バス・コントローラ15は優
先度の値を用いて通信ネツトワーク1についての
バス競合解決オペレーシヨンに関与する。
ローラ9のアーキテクチヤを示す図である。この
図からわかるように、待ち行列コントローラ9
は、バス・コントローラ15及び当該ノードが競
合解決の勝者となつたときに通信ネツトワーク1
に出力されるデータを用いて最高の優先度のセツ
シヨンを選択するためメモリ・マネジメント・プ
ロセツサ11及びセツシヨン・データRAMに相
互接続される。待ち行列コントローラ9は複数の
エントリを有するスタツク16を保持する。各エ
ントリはそのエントリの優先順位及び1つのアド
レスポインタを含む。その待ち行列及び機能選択
入力が待ち行列コントローラ9に最高優先順位エ
レメントがスタツクから読み取られかつ出力され
るということを指示すると、その最高優先順位の
エレメントは、バス・コントローラ15に供給さ
れる優先順位部分及びメモリ・マネジメント・プ
ロセツサ11に供給されるポインタ部分と共にス
タツクから出力される。メモリ・マネジメント・
プロセツサ11はポインタ部分を用いて、競合解
決に勝つた場合に通信リンクを介して伝送すべき
セツシヨン・データRAM13中のデータ・セグ
メントを識別する。バス・コントローラ15は優
先度の値を用いて通信ネツトワーク1についての
バス競合解決オペレーシヨンに関与する。
第2図に示す待ち行列コントローラ9は第1図
の流れ図で示すプロセスを実行する待ち行列状態
機械を有する。待ち行列状態機械はスタツク先頭
ポインタ12、スタツク探索ポインタ14及び
RAM制御(これはスタツク16に接続されてい
る)への出力を有する。待ち行列ポインタ9はさ
らに保持レジスタ10、一時レジスタ18、入力
レジスタ22及び比較論理20を含む。
の流れ図で示すプロセスを実行する待ち行列状態
機械を有する。待ち行列状態機械はスタツク先頭
ポインタ12、スタツク探索ポインタ14及び
RAM制御(これはスタツク16に接続されてい
る)への出力を有する。待ち行列ポインタ9はさ
らに保持レジスタ10、一時レジスタ18、入力
レジスタ22及び比較論理20を含む。
次に動作を説明する。第3図のスタツク16が
複数のスタツク・エントリを記憶し、その各々が
優先順位部分とデータ部分を含むものと仮定す
る。スタツクの後尾は固定値を有する。たとえば
アドレス値0でもよい。スタツクの先頭はスタツ
ク先頭ポインタ12の内容(以下、「Imax」とい
う)によつて示される。第4図のタイム・フレー
ムにおいて、制御部の肯定応答部分の終了の際、
たとえば、待ち行列コントローラ9は待ち行列及
び機能選択入力ラインを介して、最高優先順位の
エントリがスタツク16からアクセスされること
を要求する1つの入力を受け取る。このとき、第
1図の流れ図において、現に最高優先順位のエン
トリを含む保持レジスタ10が読み取られ、その
値がコントローラのI/Oドライバから出力され
データ・バスを介してバス・コントローラ15及
びメモリ・マネジメント・プロセツサ11に供給
される。そうして第1図の流れ図に示すように、
スタツク先頭ポインタ12によつて指示されるス
タツクの先頭のところにあるスタツクの内容が読
み取られる。その値が保持レジスタ10に新たに
書き込まれるエントリの値である。このとき、ス
タツク先頭ポインタ12の値は1単位だけ減分さ
れ、それはスタツクの先頭が次の下位アドレス値
のところにあることを示す。
複数のスタツク・エントリを記憶し、その各々が
優先順位部分とデータ部分を含むものと仮定す
る。スタツクの後尾は固定値を有する。たとえば
アドレス値0でもよい。スタツクの先頭はスタツ
ク先頭ポインタ12の内容(以下、「Imax」とい
う)によつて示される。第4図のタイム・フレー
ムにおいて、制御部の肯定応答部分の終了の際、
たとえば、待ち行列コントローラ9は待ち行列及
び機能選択入力ラインを介して、最高優先順位の
エントリがスタツク16からアクセスされること
を要求する1つの入力を受け取る。このとき、第
1図の流れ図において、現に最高優先順位のエン
トリを含む保持レジスタ10が読み取られ、その
値がコントローラのI/Oドライバから出力され
データ・バスを介してバス・コントローラ15及
びメモリ・マネジメント・プロセツサ11に供給
される。そうして第1図の流れ図に示すように、
スタツク先頭ポインタ12によつて指示されるス
タツクの先頭のところにあるスタツクの内容が読
み取られる。その値が保持レジスタ10に新たに
書き込まれるエントリの値である。このとき、ス
タツク先頭ポインタ12の値は1単位だけ減分さ
れ、それはスタツクの先頭が次の下位アドレス値
のところにあることを示す。
保持レジスタ10の内容は本発明に従つて待ち
行列コントローラ9からのアクセスのためにすぐ
に利用できる。こうして待ち行列コントローラ9
はタイム・フレームの肯定応答部分の終了により
待ち行列及び機能選択要求に対してすぐに応答で
きたので、待ち行列コントローラ9は次のタイ
ム・フレームの次の制御部が発生するまで、待ち
時間を有する。スタツク16を探索して最高優先
順位のエレメントを識別してこれを保持レジスタ
10に置くのは、この待ち時間の間である。これ
は第1図の流れ図に示される1つのループによつ
て遂行される。このループは、スタツク先頭ポイ
ンタ12と同じ内容を有することでスタツクの先
頭を指示するスタツク探索ポインタ14によつて
スタツク16を順次的に探索することから始ま
る。スタツク探索ポインタ14によつて指示され
るエントリのうちの優先順位部分の内容は保持レ
ジスタ10に記憶されたエントリの優先順位の値
と比較される。前者が後者よりも高いものである
ときは、スタツク探索ポインタ14によつて指示
されるロケーシヨンにあるスタツクの内容と保持
レジスタ10の内容とをスワツプするためスワツ
プ・オペレーシヨンを行なわなければならない。
これは、スタツク探索ポインタ14によつて指示
されるエントリの内容を取り出してこれを待ち行
列コントローラ9の一時レジスタ18に置くこと
によつて行なわれる。次に、保持レジスタ10の
内容がスタツク探索ポインタ14によつて指示さ
れるロケーシヨンでスタツクに書き込まれる。そ
うして、一時レジスタ18の内容が保持レジスタ
10に書き込まれる。このスワツプ・オペレーシ
ヨンが行なわれると、保持レジスタの内容はスタ
ツク内の任意のエントリについて最高優先順位の
エントリを有する可能性が高い。第1図のループ
が完了し、スタツク内のすべてのエントリについ
ての比較が完了することまでには、保持レジスタ
の内容はスタツク16内のすべてのエントリが最
高優先順位を有することが保証される。
行列コントローラ9からのアクセスのためにすぐ
に利用できる。こうして待ち行列コントローラ9
はタイム・フレームの肯定応答部分の終了により
待ち行列及び機能選択要求に対してすぐに応答で
きたので、待ち行列コントローラ9は次のタイ
ム・フレームの次の制御部が発生するまで、待ち
時間を有する。スタツク16を探索して最高優先
順位のエレメントを識別してこれを保持レジスタ
10に置くのは、この待ち時間の間である。これ
は第1図の流れ図に示される1つのループによつ
て遂行される。このループは、スタツク先頭ポイ
ンタ12と同じ内容を有することでスタツクの先
頭を指示するスタツク探索ポインタ14によつて
スタツク16を順次的に探索することから始ま
る。スタツク探索ポインタ14によつて指示され
るエントリのうちの優先順位部分の内容は保持レ
ジスタ10に記憶されたエントリの優先順位の値
と比較される。前者が後者よりも高いものである
ときは、スタツク探索ポインタ14によつて指示
されるロケーシヨンにあるスタツクの内容と保持
レジスタ10の内容とをスワツプするためスワツ
プ・オペレーシヨンを行なわなければならない。
これは、スタツク探索ポインタ14によつて指示
されるエントリの内容を取り出してこれを待ち行
列コントローラ9の一時レジスタ18に置くこと
によつて行なわれる。次に、保持レジスタ10の
内容がスタツク探索ポインタ14によつて指示さ
れるロケーシヨンでスタツクに書き込まれる。そ
うして、一時レジスタ18の内容が保持レジスタ
10に書き込まれる。このスワツプ・オペレーシ
ヨンが行なわれると、保持レジスタの内容はスタ
ツク内の任意のエントリについて最高優先順位の
エントリを有する可能性が高い。第1図のループ
が完了し、スタツク内のすべてのエントリについ
ての比較が完了することまでには、保持レジスタ
の内容はスタツク16内のすべてのエントリが最
高優先順位を有することが保証される。
第1図の流れ図からわかるように、比較論理2
0によつて実行される比較が、スタツク探索ポイ
ンタ14によつて指示されるスタツク内のエント
リの内容が保持レジスタ10の内容より高いもの
でないことを示す場合、このプロセスはスタツク
16に書き込まれるべき新しいエントリが待ち行
列コントローラ9に入力されたかどうかを調べる
ステツプに進む。
0によつて実行される比較が、スタツク探索ポイ
ンタ14によつて指示されるスタツク内のエント
リの内容が保持レジスタ10の内容より高いもの
でないことを示す場合、このプロセスはスタツク
16に書き込まれるべき新しいエントリが待ち行
列コントローラ9に入力されたかどうかを調べる
ステツプに進む。
上述のスワツプ・オペレーシヨンが終了した場
合もこのステツプに進む。第1図に示すごとく、
入力レジスタ22は任意の新しいデータをスタツ
クに加える準備が完了しているかどうかについて
判断される。入力レジスタ22が優先順位部分及
びポインタ多分の双方を含む新しいエントリを有
するものと判断された場合は、この新しいエント
リの優先度が保持レジスタ10に含まれるものよ
りも高いかどうかについての比較オペレーシヨン
を行なわなければならない。こうして、比較論理
20は入力レジスタ22の内容の優先順位部分と
保持レジスタ10の内容の優先順位部分とを比較
して前者が後者よりも高いものであるときは、新
しいデータが保持レジスタ10に書き込まれる。
これは次のようにして行なわれる。まず、スタツ
ク先頭ポインタ12の値Imaxが1つだけ増分さ
れる。次に、保持レジスタ10の内容がスタツク
先頭ポインタ12によつて指示されるスタツク内
のロケーシヨンに書き込まれる。その後、入力レ
ジスタ22中の新しいデータは保持レジスタ10
に書き込まれる。このようにして、保持レジスタ
がスタツク内で任意の値の最高優先順位の値を有
するエントリを含むという可能性が高くなる。
合もこのステツプに進む。第1図に示すごとく、
入力レジスタ22は任意の新しいデータをスタツ
クに加える準備が完了しているかどうかについて
判断される。入力レジスタ22が優先順位部分及
びポインタ多分の双方を含む新しいエントリを有
するものと判断された場合は、この新しいエント
リの優先度が保持レジスタ10に含まれるものよ
りも高いかどうかについての比較オペレーシヨン
を行なわなければならない。こうして、比較論理
20は入力レジスタ22の内容の優先順位部分と
保持レジスタ10の内容の優先順位部分とを比較
して前者が後者よりも高いものであるときは、新
しいデータが保持レジスタ10に書き込まれる。
これは次のようにして行なわれる。まず、スタツ
ク先頭ポインタ12の値Imaxが1つだけ増分さ
れる。次に、保持レジスタ10の内容がスタツク
先頭ポインタ12によつて指示されるスタツク内
のロケーシヨンに書き込まれる。その後、入力レ
ジスタ22中の新しいデータは保持レジスタ10
に書き込まれる。このようにして、保持レジスタ
がスタツク内で任意の値の最高優先順位の値を有
するエントリを含むという可能性が高くなる。
一方、新しいデータが保持レジスタ10の内容
よりも高いものでない優先順位部分を有するな
ら、この新しいデータはスタツクに書き込まれ
る。これは次のようにして行なわれる。スタツク
先頭ポインタ12の値Imaxが1つだけ増分され
る。次に、入力レジスタ22中の新しいデータが
スタツク先頭ポインタ12によつて指示されるス
タツク内のロケーシヨンに書き込まれる。その
後、この流れ図は“B”に戻る。ポイント“B”
は待ち行列コントローラ9への新しいデータの入
力がまつたく存在しなかつた場合に到達するポイ
ントである。ポイント“B”では、、スタツク全
体についてこの比較プロセスが行なわれたかどう
かについての判断がなされる。スタツク探索ポイ
ンタ14には変数名Iが与えられる。この流れ図
では、Iの値がゼロであるかどうかが調べられ
る。これは、スタツクの後尾に到達したか否かを
調べることを意味する。実際にスタツクの後尾に
到達したときは、流れ図はポイント“A”に戻
り、新しいデータを待ち行列コントローラ9に書
き込む準備が完了するまで、またはタイム・フレ
ームの次の制御部が発生するまで待機する。一
方、スタツク探索ポインタ14のIの値がゼロで
ないときは、Iの値は1つだけ減分され、スタツ
ク16内の次のエントリが保持レジスタ10より
も高い優先順位の値を有するかどうかについての
判断を行なうことによりループが継続される。こ
のようにして、ループが完了すると保持レジスタ
10の内容がスタツク16の任意のエントリの優
先順位の値よりも高い優先順位の値を有すること
が保証される。保持レジスタ10の内容は、上述
のLAN優先順位競合解決アプリケーシヨンのよ
うなアプリケーシヨンにとつてすぐに利用可能で
ある。
よりも高いものでない優先順位部分を有するな
ら、この新しいデータはスタツクに書き込まれ
る。これは次のようにして行なわれる。スタツク
先頭ポインタ12の値Imaxが1つだけ増分され
る。次に、入力レジスタ22中の新しいデータが
スタツク先頭ポインタ12によつて指示されるス
タツク内のロケーシヨンに書き込まれる。その
後、この流れ図は“B”に戻る。ポイント“B”
は待ち行列コントローラ9への新しいデータの入
力がまつたく存在しなかつた場合に到達するポイ
ントである。ポイント“B”では、、スタツク全
体についてこの比較プロセスが行なわれたかどう
かについての判断がなされる。スタツク探索ポイ
ンタ14には変数名Iが与えられる。この流れ図
では、Iの値がゼロであるかどうかが調べられ
る。これは、スタツクの後尾に到達したか否かを
調べることを意味する。実際にスタツクの後尾に
到達したときは、流れ図はポイント“A”に戻
り、新しいデータを待ち行列コントローラ9に書
き込む準備が完了するまで、またはタイム・フレ
ームの次の制御部が発生するまで待機する。一
方、スタツク探索ポインタ14のIの値がゼロで
ないときは、Iの値は1つだけ減分され、スタツ
ク16内の次のエントリが保持レジスタ10より
も高い優先順位の値を有するかどうかについての
判断を行なうことによりループが継続される。こ
のようにして、ループが完了すると保持レジスタ
10の内容がスタツク16の任意のエントリの優
先順位の値よりも高い優先順位の値を有すること
が保証される。保持レジスタ10の内容は、上述
のLAN優先順位競合解決アプリケーシヨンのよ
うなアプリケーシヨンにとつてすぐに利用可能で
ある。
第6図は作業ステツプ・アーキテクチヤに基づ
くデータ・プロセツサにおける本発明の他のアプ
リケーシヨンを示す図である。作業ステツプ・ア
ーキテクチヤにおいては、多重プログラミング・
オペレーシヨンは複数のプログラムまたはプログ
ラム・セグメントの各々に優先順位の値が与えら
れ、その時間が一連の等時間間隔に分けられるよ
うな場合に生じる。各時間間隔の前に、最高優先
順位を有するプログラムまたはプログラム・セグ
メントが次の間隔の間で実行のために選択され
る。作業ステツプ・アーキテクチヤのオペレーシ
ヨンを実行する例示的なコンピユータ・アーキテ
クチヤが第6図に示されている。そのCPUは共
有データ処理資源であり、待ち行列制御デイスパ
ツチヤに接続される。この待ち行列制御デイスパ
ツチヤは、その時間を一連の等時間間隔に分ける
タイマ入力を有する。待ち行列制御デイスパツチ
ヤには前述のスタツク16のごとき優先式スタツ
クが接続される。待ち行列制御デイスパツチヤに
は、さらに、大規模なメモリが接続される。この
メモリはその接続のためのアドレス入力を有し、
待ち行列制御デイスパツチヤによつて最高の優先
順位であると識別されたプログラムまたはプログ
ラム・セグメント(したがつて、このプログラム
は次の時間間隔における実行のために選択される
可能性がある)を記憶する。第2図の待ち行列コ
ントローラ9は第6図の待ち行列制御デイスパツ
チヤに含まれる。待ち行列コントローラ9は最高
の優先順位を有し、次の時間間隔で実行のために
選択される次のプログラムの識別を要求するため
の待ち行列機能選択入力を有するという点で、第
5図のLANアプリケーシヨンで説明したものと
同様にして作動する。第6図の作業ステツプ・ア
ーキテクチヤのアプリケーシヨンにおける待ち行
列コントローラ9のオペレーシヨンは、第5図の
LANアプリケーシヨンで説明したのとほとんど
同じである。特に、第6図の待ち行列制御デイス
パツチヤへの新しいプログラムまたはプログラ
ム・セグメントの割当てが第6図のタイマによつ
て設定される一連の時間間隔の発生と非同期的で
ある場合、待ち行列コントローラ9はこのことに
適応することができる。というのは、待ち行列コ
ントローラ9は各時間間隔の始まりで利用できる
最高優先順位のプログラムの識別を保持レジスタ
10において使用可能にし、しかも待ち行列コン
トローラ9は、すでに説明したように優先式スタ
ツク16に新しいエントリを加えることに関して
常に利用可能だからである。
くデータ・プロセツサにおける本発明の他のアプ
リケーシヨンを示す図である。作業ステツプ・ア
ーキテクチヤにおいては、多重プログラミング・
オペレーシヨンは複数のプログラムまたはプログ
ラム・セグメントの各々に優先順位の値が与えら
れ、その時間が一連の等時間間隔に分けられるよ
うな場合に生じる。各時間間隔の前に、最高優先
順位を有するプログラムまたはプログラム・セグ
メントが次の間隔の間で実行のために選択され
る。作業ステツプ・アーキテクチヤのオペレーシ
ヨンを実行する例示的なコンピユータ・アーキテ
クチヤが第6図に示されている。そのCPUは共
有データ処理資源であり、待ち行列制御デイスパ
ツチヤに接続される。この待ち行列制御デイスパ
ツチヤは、その時間を一連の等時間間隔に分ける
タイマ入力を有する。待ち行列制御デイスパツチ
ヤには前述のスタツク16のごとき優先式スタツ
クが接続される。待ち行列制御デイスパツチヤに
は、さらに、大規模なメモリが接続される。この
メモリはその接続のためのアドレス入力を有し、
待ち行列制御デイスパツチヤによつて最高の優先
順位であると識別されたプログラムまたはプログ
ラム・セグメント(したがつて、このプログラム
は次の時間間隔における実行のために選択される
可能性がある)を記憶する。第2図の待ち行列コ
ントローラ9は第6図の待ち行列制御デイスパツ
チヤに含まれる。待ち行列コントローラ9は最高
の優先順位を有し、次の時間間隔で実行のために
選択される次のプログラムの識別を要求するため
の待ち行列機能選択入力を有するという点で、第
5図のLANアプリケーシヨンで説明したものと
同様にして作動する。第6図の作業ステツプ・ア
ーキテクチヤのアプリケーシヨンにおける待ち行
列コントローラ9のオペレーシヨンは、第5図の
LANアプリケーシヨンで説明したのとほとんど
同じである。特に、第6図の待ち行列制御デイス
パツチヤへの新しいプログラムまたはプログラ
ム・セグメントの割当てが第6図のタイマによつ
て設定される一連の時間間隔の発生と非同期的で
ある場合、待ち行列コントローラ9はこのことに
適応することができる。というのは、待ち行列コ
ントローラ9は各時間間隔の始まりで利用できる
最高優先順位のプログラムの識別を保持レジスタ
10において使用可能にし、しかも待ち行列コン
トローラ9は、すでに説明したように優先式スタ
ツク16に新しいエントリを加えることに関して
常に利用可能だからである。
F 発明の効果
以上説明したように、本発明によれば、保持レ
ジスタに最高優先順位のエントリが記憶されるの
で、従来に比してより効率的に優先式待ち行列を
管理することができる。
ジスタに最高優先順位のエントリが記憶されるの
で、従来に比してより効率的に優先式待ち行列を
管理することができる。
第1図は、本発明の実施例を説明する流れ図、
第2図は、本発明に基づく装置の実施例を示す
図、第3図は、本発明に基づくスタツク及び保持
レジスタの例を示す図、第4図は、本発明を適用
しうる典型的なデータ通信のタイム・フレームを
示す図、第5図は、本発明に基づいてセツシヨン
優先順位管理を行なうことができるようなLAN
のアーキテクチヤを示す図、第6図は、本発明に
基づいて優先順位の割当ての管理ができるような
作業ステツプ・データ・プロセツサのアーキテク
チヤを示す図である。
第2図は、本発明に基づく装置の実施例を示す
図、第3図は、本発明に基づくスタツク及び保持
レジスタの例を示す図、第4図は、本発明を適用
しうる典型的なデータ通信のタイム・フレームを
示す図、第5図は、本発明に基づいてセツシヨン
優先順位管理を行なうことができるようなLAN
のアーキテクチヤを示す図、第6図は、本発明に
基づいて優先順位の割当ての管理ができるような
作業ステツプ・データ・プロセツサのアーキテク
チヤを示す図である。
Claims (1)
- 【特許請求の範囲】 1 データ処理システムにおいて優先式待ち行列
を管理する方法であつて、 (a) 最高優先順位のデータの要求に応答してデー
タ部分及び優先順位部分を有する保持レジスタ
の内容を読み取るスキツプと、 (b) 各々優先順位部分及びデータ部分を有するス
タツク内の複数のエレメントのうちスタツク先
頭ポインタによつて指示される先頭のエレメン
トを読み取つてその内容を上記保持レジスタに
書き込むステツプと、 (c) 初期的に上記スタツク先頭ポインタと等しく
セツトされているスタツク探索ポインタによつ
て指示されるスタツク内の最初のエントリを見
つけることによつてスタツク内の複数のエレメ
ントを探索して上記スタツク探索ポインタによ
つて指示されるエントリの内容と上記保持レジ
スタの内容とを比較するステツプと、 (d) 上記スタツク内のエントリの内容の優先順位
部分が上記保持レジスタの内容の優先順位部分
よりも高いものである場合に上記スタツク探索
ポインタによつて指示される上記スタツク内の
エントリの内容と上記保持レジスタの内容とを
スワツプするステツプと、 (e) 新しいデータが上記スタツクに書き込まれる
かどうかを判断するステツプと、 (f) 上記新しいデータの優先順位部分が上記保持
レジスタの内容の優先順位部分よりも高いもの
であるかどうかを判断するため上記スタツクに
書き込むべき新しいデータを比較するステツプ
と、 (g) 上記新しいデータの優先順位部分が上記保持
レジスタの内容の優先順位部分よりも高いもの
である場合に上記スタツク先頭ポインタの内容
を増分して上記保持レジスタの内容を上記スタ
ツク先頭ポインタによつて新たに指示される上
記スタツク内のロケーシヨンに書き込み、さら
に上記新しいデータを上記保持レジスタに書き
込むステツプと、 (h) 上記新しいデータの優先順位部分が上記保持
レジスタの内容の優先順位部分よりも高くない
場合に上記新しいデータを上記スタツクに書き
込むステツプと、 (i) 上記スタツク内のすべてのエントリの比較が
完了するまで上記ステツプ(c)以降のステツプを
繰り返すステツプと、 を含むことにより最高優先順位のエントリが上記
保持レジスタに記憶されるようにしたことを特徴
とする優先式待ち行列管理方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US167265 | 1988-03-11 | ||
| US07/167,265 US4965716A (en) | 1988-03-11 | 1988-03-11 | Fast access priority queue for managing multiple messages at a communications node or managing multiple programs in a multiprogrammed data processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01234940A JPH01234940A (ja) | 1989-09-20 |
| JPH0570177B2 true JPH0570177B2 (ja) | 1993-10-04 |
Family
ID=22606645
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63318660A Granted JPH01234940A (ja) | 1988-03-11 | 1988-12-19 | 優先式待ち行列管理方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US4965716A (ja) |
| EP (1) | EP0340344A3 (ja) |
| JP (1) | JPH01234940A (ja) |
Families Citing this family (64)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5170474A (en) * | 1986-08-27 | 1992-12-08 | Hitachi, Ltd. | Method of searching a queue in response to a search instruction |
| US5163142A (en) * | 1988-10-28 | 1992-11-10 | Hewlett-Packard Company | Efficient cache write technique through deferred tag modification |
| EP0418447B1 (en) * | 1989-09-20 | 1995-01-18 | International Business Machines Corporation | Device for controlling the enqueuing and dequeuing operations of messages in a memory |
| JPH03156537A (ja) * | 1989-11-14 | 1991-07-04 | Matsushita Electric Ind Co Ltd | マイクロプロセッサ |
| KR100191336B1 (ko) * | 1990-01-22 | 1999-06-15 | 렌나르트손켄트 | 분산제어 체계용 배열 |
| DE69227664T2 (de) * | 1991-10-15 | 1999-04-22 | Hewlett Packard Co | Hardwarekonfiguriertes Betriebssystemkern für einen Multitaskprozessor |
| FR2683344B1 (fr) * | 1991-10-30 | 1996-09-20 | Bull Sa | Systeme multiprocesseur avec moyens microprogrammes pour la repartition des processus aux processeurs. |
| DK192491D0 (da) * | 1991-11-26 | 1991-11-26 | Stig Magnar George B Harlequin | Anordning til parallel-kobling af datamater |
| US5375223A (en) * | 1993-01-07 | 1994-12-20 | International Business Machines Corporation | Single register arbiter circuit |
| US5467473A (en) * | 1993-01-08 | 1995-11-14 | International Business Machines Corporation | Out of order instruction load and store comparison |
| CN1069983C (zh) * | 1994-10-13 | 2001-08-22 | 联华电子股份有限公司 | 一种虚拟排队装置 |
| US5592631A (en) * | 1995-05-02 | 1997-01-07 | Apple Computer, Inc. | Bus transaction reordering using side-band information signals |
| USRE38428E1 (en) | 1995-05-02 | 2004-02-10 | Apple Computer, Inc. | Bus transaction reordering in a computer system having unordered slaves |
| US5996036A (en) * | 1997-01-07 | 1999-11-30 | Apple Computers, Inc. | Bus transaction reordering in a computer system having unordered slaves |
| US6108735A (en) * | 1995-09-29 | 2000-08-22 | Intel Corporation | Method and apparatus for responding to unclaimed bus transactions |
| US5872938A (en) * | 1996-06-28 | 1999-02-16 | International Business Machines Corp. | Service priority queue implemented with ordered sub-queues and sub-queue pointers pointing to last entries in respective sub-queues |
| US6408324B1 (en) * | 1997-07-03 | 2002-06-18 | Trw Inc. | Operating system having a non-interrupt cooperative multi-tasking kernel and a method of controlling a plurality of processes with the system |
| US6058389A (en) * | 1997-10-31 | 2000-05-02 | Oracle Corporation | Apparatus and method for message queuing in a database system |
| US6563836B1 (en) * | 1998-03-19 | 2003-05-13 | International Business Machines Corporation | Algorithm for dynamic prioritization in a queuing environment |
| WO2000025220A1 (en) * | 1998-10-27 | 2000-05-04 | Fujitsu Network Communications, Inc. | Network to network priority frame dequeuing |
| US7937364B1 (en) | 1999-03-09 | 2011-05-03 | Oracle International Corporation | Method and system for reliable access of messages by multiple consumers |
| US6442631B1 (en) * | 1999-05-07 | 2002-08-27 | Compaq Information Technologies Group, L.P. | Allocating system resources based upon priority |
| US6771653B1 (en) * | 1999-09-23 | 2004-08-03 | International Business Machines Corporation | Priority queue management system for the transmission of data frames from a node in a network node |
| US7287087B1 (en) * | 1999-11-01 | 2007-10-23 | General Electric Company | Communications network for dynamic reprioritization |
| FR2804266B1 (fr) * | 2000-01-20 | 2002-04-26 | Auteuil Participation Et Conse | Procede et systeme pour la diffusion de donnees en boucle |
| US6657632B2 (en) * | 2001-01-24 | 2003-12-02 | Hewlett-Packard Development Company, L.P. | Unified memory distributed across multiple nodes in a computer graphics system |
| US8218555B2 (en) * | 2001-04-24 | 2012-07-10 | Nvidia Corporation | Gigabit ethernet adapter |
| US7185339B2 (en) * | 2001-08-03 | 2007-02-27 | Oracle International Corporation | Victim selection for deadlock detection |
| US20040064430A1 (en) * | 2002-09-27 | 2004-04-01 | Klein Jonathan D. | Systems and methods for queuing data |
| US7629979B2 (en) * | 2003-08-20 | 2009-12-08 | Hewlett-Packard Development Company, L.P. | System and method for communicating information from a single-threaded application over multiple I/O busses |
| US8176545B1 (en) | 2003-12-19 | 2012-05-08 | Nvidia Corporation | Integrated policy checking system and method |
| US8427490B1 (en) | 2004-05-14 | 2013-04-23 | Nvidia Corporation | Validating a graphics pipeline using pre-determined schedules |
| JP2006099731A (ja) * | 2004-08-30 | 2006-04-13 | Matsushita Electric Ind Co Ltd | リソース管理装置 |
| US8624906B2 (en) | 2004-09-29 | 2014-01-07 | Nvidia Corporation | Method and system for non stalling pipeline instruction fetching from memory |
| EP1812928A4 (en) * | 2004-11-15 | 2010-03-31 | Nvidia Corp | VIDEO PROCESSING |
| US8424012B1 (en) | 2004-11-15 | 2013-04-16 | Nvidia Corporation | Context switching on a video processor having a scalar execution unit and a vector execution unit |
| US9092170B1 (en) | 2005-10-18 | 2015-07-28 | Nvidia Corporation | Method and system for implementing fragment operation processing across a graphics bus interconnect |
| US8862680B2 (en) * | 2006-05-01 | 2014-10-14 | The Boeing Company | Methods and systems for data prioritization |
| US8190561B1 (en) * | 2006-12-06 | 2012-05-29 | At&T Mobility Ii Llc | LDAP replication priority queuing mechanism |
| JP2008276638A (ja) * | 2007-05-02 | 2008-11-13 | Elpida Memory Inc | 半導体記憶装置、メモリアクセス制御システムおよびデータの読み出し方法 |
| US8683126B2 (en) * | 2007-07-30 | 2014-03-25 | Nvidia Corporation | Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory |
| US8659601B1 (en) | 2007-08-15 | 2014-02-25 | Nvidia Corporation | Program sequencer for generating indeterminant length shader programs for a graphics processor |
| US8411096B1 (en) | 2007-08-15 | 2013-04-02 | Nvidia Corporation | Shader program instruction fetch |
| US9024957B1 (en) | 2007-08-15 | 2015-05-05 | Nvidia Corporation | Address independent shader program loading |
| US8698819B1 (en) | 2007-08-15 | 2014-04-15 | Nvidia Corporation | Software assisted shader merging |
| US8780123B2 (en) * | 2007-12-17 | 2014-07-15 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
| US9064333B2 (en) * | 2007-12-17 | 2015-06-23 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
| US8681861B2 (en) * | 2008-05-01 | 2014-03-25 | Nvidia Corporation | Multistandard hardware video encoder |
| US8923385B2 (en) * | 2008-05-01 | 2014-12-30 | Nvidia Corporation | Rewind-enabled hardware encoder |
| US8489851B2 (en) * | 2008-12-11 | 2013-07-16 | Nvidia Corporation | Processing of read requests in a memory controller using pre-fetch mechanism |
| US20120082142A1 (en) * | 2010-10-05 | 2012-04-05 | Electronics And Telecommunications Research Institute | Method of allocating radio resource and transmitting data |
| US8612649B2 (en) | 2010-12-17 | 2013-12-17 | At&T Intellectual Property I, L.P. | Validation of priority queue processing |
| US10157060B2 (en) | 2011-12-29 | 2018-12-18 | Intel Corporation | Method, device and system for control signaling in a data path module of a data stream processing engine |
| US9514170B1 (en) | 2013-05-15 | 2016-12-06 | Amazon Technologies, Inc. | Priority queue using two differently-indexed single-index tables |
| US10331583B2 (en) | 2013-09-26 | 2019-06-25 | Intel Corporation | Executing distributed memory operations using processing elements connected by distributed channels |
| US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
| US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
| US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
| US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
| US10853073B2 (en) | 2018-06-30 | 2020-12-01 | Intel Corporation | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator |
| US10915471B2 (en) | 2019-03-30 | 2021-02-09 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator |
| US10817291B2 (en) | 2019-03-30 | 2020-10-27 | Intel Corporation | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator |
| US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
| US12086080B2 (en) | 2020-09-26 | 2024-09-10 | Intel Corporation | Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3647348A (en) * | 1970-01-19 | 1972-03-07 | Fairchild Camera Instr Co | Hardware-oriented paging control system |
| US3676860A (en) * | 1970-12-28 | 1972-07-11 | Ibm | Interactive tie-breaking system |
| JPS6020767B2 (ja) * | 1975-06-24 | 1985-05-23 | 日本電気株式会社 | 情報探索機能を有する電子計算機 |
| SE414087B (sv) * | 1977-02-28 | 1980-07-07 | Ellemtel Utvecklings Ab | Anordning i ett datorsystem vid utsendning av signaler fran en processor till en eller flera andra processorer varvid prioriterade signaler sends direkt utan tidsfordrojning och oprioriterade signalers ordningsfoljd ... |
| US4217638A (en) * | 1977-05-19 | 1980-08-12 | Tokyo Shibaura Electric Co., Ltd. | Data-processing apparatus and method |
| US4232294A (en) * | 1979-04-30 | 1980-11-04 | Control Data Corporation | Method and apparatus for rotating priorities between stations sharing a communication channel |
| US4271468A (en) * | 1979-11-06 | 1981-06-02 | International Business Machines Corp. | Multiprocessor mechanism for handling channel interrupts |
| US4358829A (en) * | 1980-04-14 | 1982-11-09 | Sperry Corporation | Dynamic rank ordered scheduling mechanism |
| US4488218A (en) * | 1982-01-07 | 1984-12-11 | At&T Bell Laboratories | Dynamic priority queue occupancy scheme for access to a demand-shared bus |
| US4530055A (en) * | 1982-03-03 | 1985-07-16 | Sperry Corporation | Hierarchical memory system with variable regulation and priority of writeback from cache memory to bulk memory |
| US4530054A (en) * | 1982-03-03 | 1985-07-16 | Sperry Corporation | Processor-addressable timestamp for indicating oldest written-to cache entry not copied back to bulk memory |
| US4482956A (en) * | 1982-11-04 | 1984-11-13 | International Business Machines Corporation | Parallel queueing method |
| US4488227A (en) * | 1982-12-03 | 1984-12-11 | Honeywell Information Systems Inc. | Program counter stacking method and apparatus for nested subroutines and interrupts |
| GB8329509D0 (en) * | 1983-11-04 | 1983-12-07 | Inmos Ltd | Computer |
| US4757440A (en) * | 1984-04-02 | 1988-07-12 | Unisys Corporation | Pipelined data stack with access through-checking |
| US4642758A (en) * | 1984-07-16 | 1987-02-10 | At&T Bell Laboratories | File transfer scheduling arrangement |
| JPS61112260A (ja) * | 1984-11-07 | 1986-05-30 | Hitachi Ltd | 多重階層記憶システムにおけるスワツプ制御装置 |
| JP2642332B2 (ja) * | 1985-04-15 | 1997-08-20 | 株式会社日立製作所 | 優先レベル更新制御方法 |
| US4713758A (en) * | 1985-04-29 | 1987-12-15 | American Telephone And Telegraph Company, At&T Bell Laboratories | Computer testing arrangement |
| US4773041A (en) * | 1986-06-02 | 1988-09-20 | Unisys Corporation | System for executing a sequence of operation codes with some codes being executed out of order in a pipeline parallel processor |
| US4843541A (en) * | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
-
1988
- 1988-03-11 US US07/167,265 patent/US4965716A/en not_active Expired - Fee Related
- 1988-12-19 JP JP63318660A patent/JPH01234940A/ja active Granted
- 1988-12-23 EP EP19880121548 patent/EP0340344A3/en not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01234940A (ja) | 1989-09-20 |
| US4965716A (en) | 1990-10-23 |
| EP0340344A3 (en) | 1991-04-24 |
| EP0340344A2 (en) | 1989-11-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0570177B2 (ja) | ||
| EP0145244B1 (en) | Microcomputer | |
| US7080377B2 (en) | Method for effective utilizing of shared resources in computerized system | |
| US6577542B2 (en) | Scratchpad memory | |
| US4876643A (en) | Parallel searching system having a master processor for controlling plural slave processors for independently processing respective search requests | |
| EP0409285B1 (en) | Method and apparatus for data transfer between processor elements | |
| KR20020020186A (ko) | 내장형 프로세서 복합체, 네트워크 프로세싱 시스템 및인스트럭션 실행 제어 방법 | |
| JPH04229355A (ja) | データアクセス方法及びデータ処理システム | |
| JPS61228533A (ja) | 電子計算機におけるセツシヨンの制御方法 | |
| JP2821345B2 (ja) | 非同期i/o制御方式 | |
| EP1631906B1 (en) | Maintaining entity order with gate managers | |
| EP1115065B1 (en) | Effective channel priority processing for transfer controller with hub and ports | |
| JPH02245864A (ja) | 多重プロセッサシステム | |
| JPH04330529A (ja) | 共有資源の管理方式 | |
| JPS6120154A (ja) | メモリアクセス制御装置 | |
| JPS6049464A (ja) | マルチプロセッサ計算機におけるプロセッサ間通信方式 | |
| JPH04107634A (ja) | メモリデータバイパス制御方式 | |
| JPH0395661A (ja) | 並列計算機の処理割り当て装置 | |
| JPS63108448A (ja) | 入出力要求制御方式 | |
| JPH0424828A (ja) | マルチタスク管理方式 | |
| JPH0533409B2 (ja) | ||
| JPH0310354A (ja) | データ転送制御システム | |
| JPH0261728A (ja) | プログラム間の共有データ処理方式 | |
| JPH0640308B2 (ja) | 情報処理装置 | |
| JP2004213516A (ja) | バスシステム |