JPH07200318A - 動的優先タスク・スケジューラを有するデータ処理システム - Google Patents
動的優先タスク・スケジューラを有するデータ処理システムInfo
- Publication number
- JPH07200318A JPH07200318A JP6217165A JP21716594A JPH07200318A JP H07200318 A JPH07200318 A JP H07200318A JP 6217165 A JP6217165 A JP 6217165A JP 21716594 A JP21716594 A JP 21716594A JP H07200318 A JPH07200318 A JP H07200318A
- Authority
- JP
- Japan
- Prior art keywords
- task
- access
- requests
- request
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】
【目的】 動的にタスク要求の優先度を与えることによ
り、多数の同時のタスク要求を処理可能なタスク・スケ
ジューラを提供する。 【構成】 データ処理システムがタスク・スケジューラ
を有し、これがアクセスのためのタスク要求を受信しか
つ多元的なスケジューリング技術に基づいてシステム・
資源へのアクセスを許可する。この技術ではタスクのグ
ループが優先方式内で優先レベルを割当てられ、そして
各グループ内ではラウンド・ロビン方式により各タスク
がアクセスを順に得る。また、動的プログラマブル技術
は時間依存性等時性要求からの要求に対応する。
り、多数の同時のタスク要求を処理可能なタスク・スケ
ジューラを提供する。 【構成】 データ処理システムがタスク・スケジューラ
を有し、これがアクセスのためのタスク要求を受信しか
つ多元的なスケジューリング技術に基づいてシステム・
資源へのアクセスを許可する。この技術ではタスクのグ
ループが優先方式内で優先レベルを割当てられ、そして
各グループ内ではラウンド・ロビン方式により各タスク
がアクセスを順に得る。また、動的プログラマブル技術
は時間依存性等時性要求からの要求に対応する。
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理システムに
関し、特にデータ処理システムにより実質的に同時に行
われる多数のサービス要求に対して優先度を割当てる機
能を有するデータ処理システムに関する。
関し、特にデータ処理システムにより実質的に同時に行
われる多数のサービス要求に対して優先度を割当てる機
能を有するデータ処理システムに関する。
【0002】
【従来の技術】多くのデータ処理システムでは、データ
処理システム内の様々な資源に対して同時にアクセス要
求されることがしばしばある。
処理システム内の様々な資源に対して同時にアクセス要
求されることがしばしばある。
【0003】タスク・スケジューラは、複数の同時のタ
スク要求の実行における優先度と順序を決定し、「勝っ
た」タスクに対して進行するための信号を与えるデバイ
スである。多くの方法におけるタスク・スケジューラ
は、同時に交差点に接近する複数の車があるときにいず
れの車が道路の権利を占有するかが交通信号によって制
御される場合における交通信号のようなものである。こ
の交通信号が、タスク・スケジューラである。
スク要求の実行における優先度と順序を決定し、「勝っ
た」タスクに対して進行するための信号を与えるデバイ
スである。多くの方法におけるタスク・スケジューラ
は、同時に交差点に接近する複数の車があるときにいず
れの車が道路の権利を占有するかが交通信号によって制
御される場合における交通信号のようなものである。こ
の交通信号が、タスク・スケジューラである。
【0004】いずれのタスクへシステム資源へのアクセ
スを与えるかを決定するタスク・スケジューラについて
は、いくつかの異なる技術がある。各スケジューリング
法には、それぞれ長所と短所がある。
スを与えるかを決定するタスク・スケジューラについて
は、いくつかの異なる技術がある。各スケジューリング
法には、それぞれ長所と短所がある。
【0005】例えば、「最優先度」システムでは、要求
をしている各タスクに優先権を与え、そして常に最も優
先度の高い要求タスクに対してアクセス獲得信号を与え
る。この方法の長所は、各タスクが重要度を考慮され、
かつ最も「重要な」タスクが常に最初に実行されること
になる点である。この方法はまた、実現することが容易
である。最優先度システムの短所としては、優先度の高
いタスクが資源を「貪る」ことになり、優先度の低いタ
スクはいつまでも実行されない可能性がある点である。
さらに、2つ又はそれ以上の装置が同じ優先度をもって
いる場合には、1つが他よりも優先度を与えられなけれ
ばならず、そのために優先度のより低いタスクよりもい
っそう資源に対してアクセスすることとなる。
をしている各タスクに優先権を与え、そして常に最も優
先度の高い要求タスクに対してアクセス獲得信号を与え
る。この方法の長所は、各タスクが重要度を考慮され、
かつ最も「重要な」タスクが常に最初に実行されること
になる点である。この方法はまた、実現することが容易
である。最優先度システムの短所としては、優先度の高
いタスクが資源を「貪る」ことになり、優先度の低いタ
スクはいつまでも実行されない可能性がある点である。
さらに、2つ又はそれ以上の装置が同じ優先度をもって
いる場合には、1つが他よりも優先度を与えられなけれ
ばならず、そのために優先度のより低いタスクよりもい
っそう資源に対してアクセスすることとなる。
【0006】ラウンド・ロビン法では、各タスクに同じ
優先度を与え、かつ各タスク要求が順にシステム資源へ
のアクセスを獲得することを確保する。単純な交通信号
は、ラウンド・ロビン方式のよい例であり、それぞれの
車線がターンする機会を獲得し終えるまで順に各車線が
その機会を得るもので、以降このパターンが繰返され
る。この方法の長所は、各要求タスクがシステム資源を
公平に共有しかつ確実に順番を獲得する点である。ラウ
ンド・ロビン法の短所は、優先度の低いタスクも優先度
の高いタスクと同じだけシステム資源を獲得する点であ
る。
優先度を与え、かつ各タスク要求が順にシステム資源へ
のアクセスを獲得することを確保する。単純な交通信号
は、ラウンド・ロビン方式のよい例であり、それぞれの
車線がターンする機会を獲得し終えるまで順に各車線が
その機会を得るもので、以降このパターンが繰返され
る。この方法の長所は、各要求タスクがシステム資源を
公平に共有しかつ確実に順番を獲得する点である。ラウ
ンド・ロビン法の短所は、優先度の低いタスクも優先度
の高いタスクと同じだけシステム資源を獲得する点であ
る。
【0007】時間分割アクセス法においては、各タスク
は予め設定された長さの実行時間を与えられ、その後シ
ステムは次のタスクへと進む。各タスクは時間のウィン
ドウを割当てられ、そのウィンドウの間に実行すること
ができる。その時間ウィンドウが満了すると、次のタス
クの順番となる。タスクは、自らの次の時間ウィンドウ
が生じるまでは、もう一度機会を得ることができない。
この方法の長所は、各タスクに実行する機会が与えら
れ、そしていずれのタスクも資源を貪るができない点で
ある。さらに、各タスクがアクセスを得る時間及びアク
セス間の時間の長さが予め設定されていることから、等
時性データ伝送等のタイム・クリティカルなプロトコル
をサポートするために利用することができる。時間分割
法の短所としては、タスクがその時間ウィンドウの間に
行うべきことが何もないことがあり得ることであり、ま
たその間に他のタスクが資源を利用することはできない
ためにその時間が無駄になってしまう点である。以上述
べたことから明らかなように、それぞれのタスク・スケ
ジューラ技術は長所と短所を有している。本発明による
動的優先度タスク・スケジューリング技術は、タスク優
先度、ラウンド・ロビン、及び等時性データ伝送をサポ
ートする公平で効率的な技術を提供する。
は予め設定された長さの実行時間を与えられ、その後シ
ステムは次のタスクへと進む。各タスクは時間のウィン
ドウを割当てられ、そのウィンドウの間に実行すること
ができる。その時間ウィンドウが満了すると、次のタス
クの順番となる。タスクは、自らの次の時間ウィンドウ
が生じるまでは、もう一度機会を得ることができない。
この方法の長所は、各タスクに実行する機会が与えら
れ、そしていずれのタスクも資源を貪るができない点で
ある。さらに、各タスクがアクセスを得る時間及びアク
セス間の時間の長さが予め設定されていることから、等
時性データ伝送等のタイム・クリティカルなプロトコル
をサポートするために利用することができる。時間分割
法の短所としては、タスクがその時間ウィンドウの間に
行うべきことが何もないことがあり得ることであり、ま
たその間に他のタスクが資源を利用することはできない
ためにその時間が無駄になってしまう点である。以上述
べたことから明らかなように、それぞれのタスク・スケ
ジューラ技術は長所と短所を有している。本発明による
動的優先度タスク・スケジューリング技術は、タスク優
先度、ラウンド・ロビン、及び等時性データ伝送をサポ
ートする公平で効率的な技術を提供する。
【0008】
【発明が解決しようとする課題】従って、本発明の主要
な目的は、タスクの各グループ同士の間の優先度を与
え、タスクの各グループ内では等しいアクセスを与え、
かつ時間依存性の等時性タスクについてアクセスを可能
とするような方法によって、システム資源に対して同時
にアクセス要求している多数のタスクを処理することで
ある。
な目的は、タスクの各グループ同士の間の優先度を与
え、タスクの各グループ内では等しいアクセスを与え、
かつ時間依存性の等時性タスクについてアクセスを可能
とするような方法によって、システム資源に対して同時
にアクセス要求している多数のタスクを処理することで
ある。
【0009】
【課題を解決するための手段】本発明を実現するデータ
処理システムは、タスクのアクセス要求を受信し、かつ
多次元スケジューリング技術及びシステム資源への時間
依存性等時性要求に対応する動的プログラマブル技術に
基づいてシステム資源へのアクセスを許可するタスク・
スケジューラを備えたサーバを有する。上記の多次元ス
ケジューリング技術は、タスクのグループにそれぞれ優
先方式における優先度レベルを割当てかつタスクの各グ
ループ内ではラウンド・ロビン・スケジューリングによ
り各タスクがシステム資源に順番にアクセスすることを
確保する。また、動的プログラマブル技術は、システム
資源への時間依存性等時性要求に対応する。
処理システムは、タスクのアクセス要求を受信し、かつ
多次元スケジューリング技術及びシステム資源への時間
依存性等時性要求に対応する動的プログラマブル技術に
基づいてシステム資源へのアクセスを許可するタスク・
スケジューラを備えたサーバを有する。上記の多次元ス
ケジューリング技術は、タスクのグループにそれぞれ優
先方式における優先度レベルを割当てかつタスクの各グ
ループ内ではラウンド・ロビン・スケジューリングによ
り各タスクがシステム資源に順番にアクセスすることを
確保する。また、動的プログラマブル技術は、システム
資源への時間依存性等時性要求に対応する。
【0010】本発明の重要な利点は、優先度割当て方式
だけでなくシステム・アクセスに対する時間依存性要求
にも対応し、またいずれのタスクによるシステム資源へ
のアクセス要求も全て確保するラウンド・ロビン技術に
よって順番にアクセスが与えられることによりアクセス
から閉出されるタスクがないようなタスク・スケジュー
リングが実現できることである。
だけでなくシステム・アクセスに対する時間依存性要求
にも対応し、またいずれのタスクによるシステム資源へ
のアクセス要求も全て確保するラウンド・ロビン技術に
よって順番にアクセスが与えられることによりアクセス
から閉出されるタスクがないようなタスク・スケジュー
リングが実現できることである。
【0011】
【実施例】図1は、サーバ101と、ネットワーク10
6に接続された多数の要求を行っている装置を含むデー
タ処理システム100を示す。サーバ101は、制御と
処理のユニット102及びインターフェース装置104
を有し、これらについては以下に詳述する。サーバ10
1は、インターフェース装置104を介して、ローカル
・エリア・ネットワーク、ワイド・エリア・ネットワー
ク、又は国内的もしくは国際的伝送ネットワーク等の1
又は複数のネットワーク106へ接続される。ワークス
テーション108、110、112、114、116、
118、120、122、124、126、128は、
ネットワーク106又は他のネットに接続可能なワーク
ステーションの代表的なものである。これらのワークス
テーションは、サーバ102及びインターフェース装置
104を通してシステム資源へのアクセスを要求しなけ
ればならない場合がある。
6に接続された多数の要求を行っている装置を含むデー
タ処理システム100を示す。サーバ101は、制御と
処理のユニット102及びインターフェース装置104
を有し、これらについては以下に詳述する。サーバ10
1は、インターフェース装置104を介して、ローカル
・エリア・ネットワーク、ワイド・エリア・ネットワー
ク、又は国内的もしくは国際的伝送ネットワーク等の1
又は複数のネットワーク106へ接続される。ワークス
テーション108、110、112、114、116、
118、120、122、124、126、128は、
ネットワーク106又は他のネットに接続可能なワーク
ステーションの代表的なものである。これらのワークス
テーションは、サーバ102及びインターフェース装置
104を通してシステム資源へのアクセスを要求しなけ
ればならない場合がある。
【0012】図2は、サーバをより詳細に示している。
制御及び処理ユニット102は、プロセッサ12、記憶
装置14、プロセッサ・サブシステム・バス16、ロー
カル制御及び入出力ユニット18並びにタスク・スケジ
ューラ22を含む。ローカル制御及び入出力ユニット1
8は、プリンタ、キーボード、表示装置等の装置との通
信を行うために必要である。プロセッサ・システム・バ
ス16に接続されたプロセッサ12、記憶装置14並び
にローカル制御及び入出力ユニット18は、フォン・ノ
イマン型コンピュータ・アーキテクチャ・システムにお
ける要素により通常行われる制御、処理、記憶及び入出
力の通常の機能を実行する。タスク・スケジューラ22
は、システム資源に対するアクセス要求の許可を制御
し、またデータ・バッファを管理する。アクセス要求に
関する情報は、リンク・リスト26に記憶され、関連す
るデータはデータ・バッファ28に記憶される。リンク
・リスト26及びデータ・バッファ28はいずれも、タ
スク・スケジューラ22の制御下で動作する。タスク・
スケジューラ22は、制御及び処理ユニット102をネ
ットワーク・インターフェース装置104へ接続するデ
ータ・フロー・インターフェース(DFI)バス24上
のデータの流れを制御する。
制御及び処理ユニット102は、プロセッサ12、記憶
装置14、プロセッサ・サブシステム・バス16、ロー
カル制御及び入出力ユニット18並びにタスク・スケジ
ューラ22を含む。ローカル制御及び入出力ユニット1
8は、プリンタ、キーボード、表示装置等の装置との通
信を行うために必要である。プロセッサ・システム・バ
ス16に接続されたプロセッサ12、記憶装置14並び
にローカル制御及び入出力ユニット18は、フォン・ノ
イマン型コンピュータ・アーキテクチャ・システムにお
ける要素により通常行われる制御、処理、記憶及び入出
力の通常の機能を実行する。タスク・スケジューラ22
は、システム資源に対するアクセス要求の許可を制御
し、またデータ・バッファを管理する。アクセス要求に
関する情報は、リンク・リスト26に記憶され、関連す
るデータはデータ・バッファ28に記憶される。リンク
・リスト26及びデータ・バッファ28はいずれも、タ
スク・スケジューラ22の制御下で動作する。タスク・
スケジューラ22は、制御及び処理ユニット102をネ
ットワーク・インターフェース装置104へ接続するデ
ータ・フロー・インターフェース(DFI)バス24上
のデータの流れを制御する。
【0013】ネットワーク・インターフェース装置10
4は、ローカル・エリア・ネットワーク・インターフェ
ース装置30、ワイド・エリア・ネットワーク・インタ
ーフェース装置32等の多数のDFI装置を含む。ロー
カル・エリア・ネットワーク(LAN)DFI装置30
は、ライン36により106等のネットワークへ接続さ
れる。ワイド・エリア・ネットワーク(WAN)DFI
装置32は、ライン38によりネットワーク(図示せ
ず)に接続され、そしてデータ記憶DFI装置34は、
ライン42によりデータ記憶装置(図示せず)へ接続さ
れる。
4は、ローカル・エリア・ネットワーク・インターフェ
ース装置30、ワイド・エリア・ネットワーク・インタ
ーフェース装置32等の多数のDFI装置を含む。ロー
カル・エリア・ネットワーク(LAN)DFI装置30
は、ライン36により106等のネットワークへ接続さ
れる。ワイド・エリア・ネットワーク(WAN)DFI
装置32は、ライン38によりネットワーク(図示せ
ず)に接続され、そしてデータ記憶DFI装置34は、
ライン42によりデータ記憶装置(図示せず)へ接続さ
れる。
【0014】本発明の目的について、本発明による装置
及び方法を示すためには1つのネットワークで十分であ
る。図3を参照して、タスク・スケジューラ22をさら
に詳細に説明する。
及び方法を示すためには1つのネットワークで十分であ
る。図3を参照して、タスク・スケジューラ22をさら
に詳細に説明する。
【0015】タスク・スケジューラ22内のプロセッサ
・インターフェース304は、ライン302によりプロ
セッサ・バス16へ接続される。バッファ・マネージャ
306は、ライン308によりバッファ・マネージャ3
06に接続されるリンク・リスト26及びライン312
によりバッファ・マネージャ306に接続されるデータ
・バッファ28を制御しかつ維持する。リンク・リスト
26は、3つの形式のバッファに対して、リンクされた
リストをバッファに記憶する。リンク・リスト26は、
データ・バッファ28内の3つのデータ・バッファのカ
テゴリに対するアドレスとポインタを記憶する。空バッ
ファのリンク・リストは、リンク・リスト26の領域2
62に記憶され、受信データ・バッファのリンク・リス
トは、領域264に記憶され、そして送信データ・バッ
ファのリンク・リストは、領域266に記憶される。デ
ータ・バッファ28は、3つのカテゴリのバッファを有
しており、これら3つのカテゴリのデータ・バッファへ
のポインタを有する各リンク・リストに対応づけられて
いる。データ・バッファ28は、空バッファ282、受
信ポート・データ・バッファ284及び送信ポート・デ
ータ・バッファ286を含む。
・インターフェース304は、ライン302によりプロ
セッサ・バス16へ接続される。バッファ・マネージャ
306は、ライン308によりバッファ・マネージャ3
06に接続されるリンク・リスト26及びライン312
によりバッファ・マネージャ306に接続されるデータ
・バッファ28を制御しかつ維持する。リンク・リスト
26は、3つの形式のバッファに対して、リンクされた
リストをバッファに記憶する。リンク・リスト26は、
データ・バッファ28内の3つのデータ・バッファのカ
テゴリに対するアドレスとポインタを記憶する。空バッ
ファのリンク・リストは、リンク・リスト26の領域2
62に記憶され、受信データ・バッファのリンク・リス
トは、領域264に記憶され、そして送信データ・バッ
ファのリンク・リストは、領域266に記憶される。デ
ータ・バッファ28は、3つのカテゴリのバッファを有
しており、これら3つのカテゴリのデータ・バッファへ
のポインタを有する各リンク・リストに対応づけられて
いる。データ・バッファ28は、空バッファ282、受
信ポート・データ・バッファ284及び送信ポート・デ
ータ・バッファ286を含む。
【0016】バッファ・マネージャ306は、バッファ
・リンク・リストの動作を管理する。LANDFI装置
30等のDFI装置は、受信されたデータを記憶するた
めにバッファ・マネージャ306に対して1又は複数の
空バッファについての要求を出す。バッファ・マネージ
ャ306は、1又は複数の空バッファをLANDFI装
置30へ割当て、そして空バッファ・リンク・リスト2
62から空バッファ・ポインタを取除く。その後バッフ
ァ・マネージャ306は、LANDFI装置30からの
要求に関連する受信ポート・データ・バッファ・リンク
・リストを作成する。この受信ポート・データ・バッフ
ァ・リンク・リストは、リンク・リスト26の領域26
4に記憶される。それからDFI装置30は、バッファ
・マネージャ306により割当てられた受信ポート・デ
ータ・バッファ284内に受信データを記憶する。デー
タ・フレームが受信ポート・データ・バッファ284内
に全て記憶されたならば、LANDFI装置30は、バ
ッファ・マネージャ306への目標ポートを識別する。
バッファ・マネージャ306は、受信データに関連する
データ・バッファ・リンク・リストを送信データ・バッ
ファ・リンク・リスト266へ転送してここに記憶し、
そしてデータ・バッファ28へのデータの到着を伝える
通知を目標ポートに対して送る。データが完全に目標ポ
ートに転送された後、目標ポートは送信データ・バッフ
ァ286を解放し、バッファ・マネージャ306は解放
されたバッファに関するポインタを空バッファ・リンク
・リスト262へ設定する。
・リンク・リストの動作を管理する。LANDFI装置
30等のDFI装置は、受信されたデータを記憶するた
めにバッファ・マネージャ306に対して1又は複数の
空バッファについての要求を出す。バッファ・マネージ
ャ306は、1又は複数の空バッファをLANDFI装
置30へ割当て、そして空バッファ・リンク・リスト2
62から空バッファ・ポインタを取除く。その後バッフ
ァ・マネージャ306は、LANDFI装置30からの
要求に関連する受信ポート・データ・バッファ・リンク
・リストを作成する。この受信ポート・データ・バッフ
ァ・リンク・リストは、リンク・リスト26の領域26
4に記憶される。それからDFI装置30は、バッファ
・マネージャ306により割当てられた受信ポート・デ
ータ・バッファ284内に受信データを記憶する。デー
タ・フレームが受信ポート・データ・バッファ284内
に全て記憶されたならば、LANDFI装置30は、バ
ッファ・マネージャ306への目標ポートを識別する。
バッファ・マネージャ306は、受信データに関連する
データ・バッファ・リンク・リストを送信データ・バッ
ファ・リンク・リスト266へ転送してここに記憶し、
そしてデータ・バッファ28へのデータの到着を伝える
通知を目標ポートに対して送る。データが完全に目標ポ
ートに転送された後、目標ポートは送信データ・バッフ
ァ286を解放し、バッファ・マネージャ306は解放
されたバッファに関するポインタを空バッファ・リンク
・リスト262へ設定する。
【0017】要求/許可調停装置314は、本発明によ
る調停方式に基づいて要求に応答しかつこれを許可す
る。DFIバス・インターフェース316は、タスク・
スケジューラ22とDFIバス24との間の通信を行
う。
る調停方式に基づいて要求に応答しかつこれを許可す
る。DFIバス・インターフェース316は、タスク・
スケジューラ22とDFIバス24との間の通信を行
う。
【0018】図4は、LANDFI装置30等の代表的
なDFI装置を示す図である。DFI装置30は、DF
Iバス・インターフェース402を含み、これはDFI
バス24、受信バッファ404、送信バッファ406、
及びデバイス・ドライバ408間の通信を可能とする。
デバイス・ドライバ408は、図1のネットワーク10
6等のネットワークと通信する。DFIバス・インター
フェース402、バッファ404及び406並びにデバ
イス・ドライバ408は、外部ネットワーク106とD
FIバス24との間でデータを送信するために動作す
る。
なDFI装置を示す図である。DFI装置30は、DF
Iバス・インターフェース402を含み、これはDFI
バス24、受信バッファ404、送信バッファ406、
及びデバイス・ドライバ408間の通信を可能とする。
デバイス・ドライバ408は、図1のネットワーク10
6等のネットワークと通信する。DFIバス・インター
フェース402、バッファ404及び406並びにデバ
イス・ドライバ408は、外部ネットワーク106とD
FIバス24との間でデータを送信するために動作す
る。
【0019】ネットワーク106に接続された装置10
8等の別の装置からのシステム資源へのアクセス要求
は、要求バス・インターフェース412への入力として
提示される。要求バス・インターフェース412は、こ
の要求をDFIバス24を介してタスク・スケジューラ
22の要求/許可調停装置314へ転送する(図3参
照)。
8等の別の装置からのシステム資源へのアクセス要求
は、要求バス・インターフェース412への入力として
提示される。要求バス・インターフェース412は、こ
の要求をDFIバス24を介してタスク・スケジューラ
22の要求/許可調停装置314へ転送する(図3参
照)。
【0020】システム100における典型的なデータ・
フローは以下の通りである。データは、ライン36から
LANDFI装置30に到達する。DFI装置30は、
タスク・スケジューラ22に対して空バッファの要求を
出す。タスク・スケジューラ22は、空バッファへのア
ドレス・ポインタをLANDFI装置30へ出す。それ
から、ライン36からのデータが、LANDFI装置3
0によってそのバッファ内へすなわちタスク・スケジュ
ーラ22を介してデータ・バッファ28へ移動させられ
る。さらに空間が必要な場合は、LANDFI装置30
は、タスク・スケジューラ22に対してもう一度空バッ
ファについての要求を出す。ライン36からのデータ・
ストリング入力の終了時点で、LANDFI装置30は
タスク・スケジューラ22に対するコマンドを出すこと
により、別のLANDFI装置、32等のWANDFI
装置、データ記憶装置DFI装置34、又はプロセッサ
12等の目標DFI装置へのデータ・パケットをエンキ
ュー(待ち行列のリストに加える)する。タスク・スケ
ジューラ22は、データ・パケットを目標DFI装置の
待ち行列に入れ、それをリンク・リスト26に記憶す
る。それからタスク・スケジューラ22は、目標DFI
装置についての待ち行列状態の変化を示すためにWAN
DFI装置32等の目標DFI装置へのフラグを上げ
る。WANDFI装置32(目標DFI装置)は、更新
された待ち行列状態を読取る。目標DFI装置(WAN
DFI装置32)は、パケット・データを得るためにタ
スク・スケジューラ22に対してコマンドを出し、そし
てタスク・スケジューラ22は、データ・パケットの場
所及びデータ長を示す情報をWANDFI装置32へ返
す。
フローは以下の通りである。データは、ライン36から
LANDFI装置30に到達する。DFI装置30は、
タスク・スケジューラ22に対して空バッファの要求を
出す。タスク・スケジューラ22は、空バッファへのア
ドレス・ポインタをLANDFI装置30へ出す。それ
から、ライン36からのデータが、LANDFI装置3
0によってそのバッファ内へすなわちタスク・スケジュ
ーラ22を介してデータ・バッファ28へ移動させられ
る。さらに空間が必要な場合は、LANDFI装置30
は、タスク・スケジューラ22に対してもう一度空バッ
ファについての要求を出す。ライン36からのデータ・
ストリング入力の終了時点で、LANDFI装置30は
タスク・スケジューラ22に対するコマンドを出すこと
により、別のLANDFI装置、32等のWANDFI
装置、データ記憶装置DFI装置34、又はプロセッサ
12等の目標DFI装置へのデータ・パケットをエンキ
ュー(待ち行列のリストに加える)する。タスク・スケ
ジューラ22は、データ・パケットを目標DFI装置の
待ち行列に入れ、それをリンク・リスト26に記憶す
る。それからタスク・スケジューラ22は、目標DFI
装置についての待ち行列状態の変化を示すためにWAN
DFI装置32等の目標DFI装置へのフラグを上げ
る。WANDFI装置32(目標DFI装置)は、更新
された待ち行列状態を読取る。目標DFI装置(WAN
DFI装置32)は、パケット・データを得るためにタ
スク・スケジューラ22に対してコマンドを出し、そし
てタスク・スケジューラ22は、データ・パケットの場
所及びデータ長を示す情報をWANDFI装置32へ返
す。
【0021】その後、目標DFI装置32は、更なる処
理のためにデータ・バッファ28から送信バッファ40
6(図4参照)等の自身のローカル・バッファへデータ
・パケットを移動させる。データ・パケットの移動が完
了すると、目標DFI装置32は、タスク・スケジュー
ラ22に対してデータ移動が完了したことを示すフラグ
を上げる。それから、タスク・スケジューラ22は、次
のデータ転送動作において用いるためにこの動作で用い
たデータ・バッファ28を空にする。
理のためにデータ・バッファ28から送信バッファ40
6(図4参照)等の自身のローカル・バッファへデータ
・パケットを移動させる。データ・パケットの移動が完
了すると、目標DFI装置32は、タスク・スケジュー
ラ22に対してデータ移動が完了したことを示すフラグ
を上げる。それから、タスク・スケジューラ22は、次
のデータ転送動作において用いるためにこの動作で用い
たデータ・バッファ28を空にする。
【0022】本発明の好適例における動作 システム資源に対する複数のアクセス要求がタスク・ス
ケジューラ22に出されると、これらのタスクは、予め
設定された全体的な優先度に従ってアクセスを許可され
る。その際には、プログラマブル・タイム要求(等時性
時間依存性要求)が最も高い優先度を与えられ、グルー
プ1の要求の次にグループ2の要求、その次にグループ
3の要求というように最後のもしくは最も低い優先度の
ものまで続く。最後のものはグループNの要求であっ
て、Nは常に、システム内でサービスを要求している最
も大きいグループ番号である。もし時間依存性タスクが
システム資源の使用を要求しかつそのプログラム可能な
時間要求もまたアクティブであるならば、アクセスを許
可される。もしプログラム可能な時間要求がアクティブ
であってもそのタスクが資源の使用を要求していなけれ
ば、タスク・スケジューラ22は、システム資源を要求
している最も高い優先度のグループに対してアクセスの
許可を与えることになる。このような最高優先度のグル
ープ内のタスクは、ラウンド・ロビン方式に従って順に
アクティブになり、そのときシステム資源へのアクセス
要求をしているならばアクセスを許可されることにな
る。
ケジューラ22に出されると、これらのタスクは、予め
設定された全体的な優先度に従ってアクセスを許可され
る。その際には、プログラマブル・タイム要求(等時性
時間依存性要求)が最も高い優先度を与えられ、グルー
プ1の要求の次にグループ2の要求、その次にグループ
3の要求というように最後のもしくは最も低い優先度の
ものまで続く。最後のものはグループNの要求であっ
て、Nは常に、システム内でサービスを要求している最
も大きいグループ番号である。もし時間依存性タスクが
システム資源の使用を要求しかつそのプログラム可能な
時間要求もまたアクティブであるならば、アクセスを許
可される。もしプログラム可能な時間要求がアクティブ
であってもそのタスクが資源の使用を要求していなけれ
ば、タスク・スケジューラ22は、システム資源を要求
している最も高い優先度のグループに対してアクセスの
許可を与えることになる。このような最高優先度のグル
ープ内のタスクは、ラウンド・ロビン方式に従って順に
アクティブになり、そのときシステム資源へのアクセス
要求をしているならばアクセスを許可されることにな
る。
【0023】図5は、複数のグループ要求を処理するた
めのプロセスを示す。タスクからなる各グループは、最
高から最低までの優先度を割当てられる。例えば、グル
ープ1には最高の優先度を割当て、グループNには最低
の優先度を割当てる。例えば、もしグループ1からのあ
るタスク[task X(k)] がアクセス要求しているならば、
タスク・スケジューラ22のグループ・セクション50
2への要求アクティブ・ラインが立上げられる。もしグ
ループ1がアクティブであれば、task X(k) は、より低
い優先度のグループのどのタスクよりも先に許可される
こととなる。
めのプロセスを示す。タスクからなる各グループは、最
高から最低までの優先度を割当てられる。例えば、グル
ープ1には最高の優先度を割当て、グループNには最低
の優先度を割当てる。例えば、もしグループ1からのあ
るタスク[task X(k)] がアクセス要求しているならば、
タスク・スケジューラ22のグループ・セクション50
2への要求アクティブ・ラインが立上げられる。もしグ
ループ1がアクティブであれば、task X(k) は、より低
い優先度のグループのどのタスクよりも先に許可される
こととなる。
【0024】もしシステム資源へのアクセス要求をして
いる特定のグループからの複数のタスクがある場合は、
常に、タスク・スケジューラ22のグループ・ラウンド
・ロビン回路602がその競合を解消する。
いる特定のグループからの複数のタスクがある場合は、
常に、タスク・スケジューラ22のグループ・ラウンド
・ロビン回路602がその競合を解消する。
【0025】図6は、全てが1つのグループからのタス
クtask X(j)、task X(k)、等々である複数のタスクが、
全てシステム資源へのアクセス要求をしている場合に、
グループ・ラウンド・ロビン回路602が、交通制御信
号に類似の方法により同じグループ内のタスクへのアク
セス許可を制御することを示している。グループ・ラウ
ンド・ロビン回路602は、そのグループのアクセス許
可された最後のタスクの番号を記憶し、そしてそのグル
ープの次のタスクが順にアクセス許可される毎にその記
憶を更新する。従って、1つずつ、そのグループ内の全
てのタスクが順番にアクセス許可される。もし、より優
先度の高いグループ又は時間依存等時性タスクがシステ
ム資源へのアクセス要求をすると、例外が発生する場合
がある。
クtask X(j)、task X(k)、等々である複数のタスクが、
全てシステム資源へのアクセス要求をしている場合に、
グループ・ラウンド・ロビン回路602が、交通制御信
号に類似の方法により同じグループ内のタスクへのアク
セス許可を制御することを示している。グループ・ラウ
ンド・ロビン回路602は、そのグループのアクセス許
可された最後のタスクの番号を記憶し、そしてそのグル
ープの次のタスクが順にアクセス許可される毎にその記
憶を更新する。従って、1つずつ、そのグループ内の全
てのタスクが順番にアクセス許可される。もし、より優
先度の高いグループ又は時間依存等時性タスクがシステ
ム資源へのアクセス要求をすると、例外が発生する場合
がある。
【0026】図7から図12までは、等時性又は時間依
存性のタスク要求を処理するためのタスク・スケジュー
ラ22のプログラマブル・タイム・スケジューリング回
路700を示す。等時性サポートを要求している各タス
クは、タスク・シーケンス・ランダム・アクセス・メモ
リ(RAM)702にそのタスクの番号を書込む。RA
M702内のタスクの順序は、各タスク期間の順序を決
定する。もしあるタスクが他のタスクよりも頻繁にサポ
ートを要求したならば、そのタスクの番号をRAM70
2に2回以上書込むことができる。(例えば図7におい
てタスクAは4回現れている。)
存性のタスク要求を処理するためのタスク・スケジュー
ラ22のプログラマブル・タイム・スケジューリング回
路700を示す。等時性サポートを要求している各タス
クは、タスク・シーケンス・ランダム・アクセス・メモ
リ(RAM)702にそのタスクの番号を書込む。RA
M702内のタスクの順序は、各タスク期間の順序を決
定する。もしあるタスクが他のタスクよりも頻繁にサポ
ートを要求したならば、そのタスクの番号をRAM70
2に2回以上書込むことができる。(例えば図7におい
てタスクAは4回現れている。)
【0027】アドレス・カウンタ704は、RAM70
2内の全てのアドレスを計数するので、レジスタ706
はRAM702から読取られる最後の値により更新され
る。レジスタ706はタスク番号を記憶する。レジスタ
706内の値は、いずれのタスクが特定の期間を与えら
れるかを決定する。もしそのタスクもまたシステム資源
の使用を要求しているならば、そのタスクは、タスク・
スケジューラ22から最終的な許可を受信することにな
る。もしそのタスクが、その割当てられた期間内にシス
テム資源の使用を要求していないならば、最終的な許可
は、図5及び図6に関して先に述べたとおりグループの
要求優先度に基づくことになる。プロセッサ12から初
期値をロードされているプログラマブル・クロック発生
回路708がサイクルと完了すると、アドレス・カウン
タ704はRAM702内の次の場所に増分しかつ指示
する。レジスタ706内の値は更新され、そして別のタ
スク番号が特定のタイム・スロットを与えられる。プロ
グラマブル・カウンタ708は、プロセッサ12の制御
下でプログラム可能であるので、各タスク期間の長さ
は、必要であればプロセッサ12によって更新される。
プログラマブル・カウンタに初期に記憶されたカウント
値は、いずれのタスクも最高優先度のタイム・スロット
を有することができる期間の長さ及びその時間ウィンド
ウが変更される頻度を決定する。アドレス・バス712
及びデータ・バス16によって、プロセッサ12は、目
的のタスク・シーケンスによりRAM702を初期化
し、かつ目的の期間の値をプログラマブル・カウンタ7
08に記憶することができる。
2内の全てのアドレスを計数するので、レジスタ706
はRAM702から読取られる最後の値により更新され
る。レジスタ706はタスク番号を記憶する。レジスタ
706内の値は、いずれのタスクが特定の期間を与えら
れるかを決定する。もしそのタスクもまたシステム資源
の使用を要求しているならば、そのタスクは、タスク・
スケジューラ22から最終的な許可を受信することにな
る。もしそのタスクが、その割当てられた期間内にシス
テム資源の使用を要求していないならば、最終的な許可
は、図5及び図6に関して先に述べたとおりグループの
要求優先度に基づくことになる。プロセッサ12から初
期値をロードされているプログラマブル・クロック発生
回路708がサイクルと完了すると、アドレス・カウン
タ704はRAM702内の次の場所に増分しかつ指示
する。レジスタ706内の値は更新され、そして別のタ
スク番号が特定のタイム・スロットを与えられる。プロ
グラマブル・カウンタ708は、プロセッサ12の制御
下でプログラム可能であるので、各タスク期間の長さ
は、必要であればプロセッサ12によって更新される。
プログラマブル・カウンタに初期に記憶されたカウント
値は、いずれのタスクも最高優先度のタイム・スロット
を有することができる期間の長さ及びその時間ウィンド
ウが変更される頻度を決定する。アドレス・バス712
及びデータ・バス16によって、プロセッサ12は、目
的のタスク・シーケンスによりRAM702を初期化
し、かつ目的の期間の値をプログラマブル・カウンタ7
08に記憶することができる。
【0028】ベース・クロック信号を入力として用い
て、プログラマブル・カウンタ708は、各期間につき
1回の増分/読取りパルスを発生する。そしてプログラ
マブル・カウンタ708に記憶された元の値を再ロード
され、計数を続ける。増分/読取りパルスは、ロールオ
ーバ・カウンタ704(これはRAM702に対するア
ドレス・カウンタである)へ送られ、そしてこのロール
オーバ・カウンタ704を次の値へ増分する。ロールオ
ーバ・カウンタ704はまた、必要であればプロセッサ
12によりそのRAM702のアドレス範囲を変更でき
るようにプログラム可能としてもよい。ロールオーバ・
カウンタ704は、通常の動作の間はRAM702のア
ドレスとして利用される。増分/読取りパルスもまたR
AM702を読取りレジスタ706内の値を記憶する。
レジスタ706の出力は、図8に示されたタスク・スケ
ジューラ22の最終許可領域への入力となる。
て、プログラマブル・カウンタ708は、各期間につき
1回の増分/読取りパルスを発生する。そしてプログラ
マブル・カウンタ708に記憶された元の値を再ロード
され、計数を続ける。増分/読取りパルスは、ロールオ
ーバ・カウンタ704(これはRAM702に対するア
ドレス・カウンタである)へ送られ、そしてこのロール
オーバ・カウンタ704を次の値へ増分する。ロールオ
ーバ・カウンタ704はまた、必要であればプロセッサ
12によりそのRAM702のアドレス範囲を変更でき
るようにプログラム可能としてもよい。ロールオーバ・
カウンタ704は、通常の動作の間はRAM702のア
ドレスとして利用される。増分/読取りパルスもまたR
AM702を読取りレジスタ706内の値を記憶する。
レジスタ706の出力は、図8に示されたタスク・スケ
ジューラ22の最終許可領域への入力となる。
【0029】図8は、タスク・スケジューラ22の最終
許可領域802を示している。最終許可領域802は、
プログラマブル・タイム領域700及びグループ領域5
00から入力を受信すると、先ず、いずれかの時間依存
性タスクが現在アクティブであるか否かを判断する。も
しアクティブな時間依存性タスクがあれば、そのタスク
がシステム資源への最終的な許可を与えられる。もし時
間依存性タスクが非アクティブであれば、いずれかのグ
ループ要求がアクティブであるか否かが判断される。も
しグループ要求がアクティブであれば、システム資源へ
の最終的アクセス許可は、グループ優先度回路502か
らの2番目の許可要求タスク番号へ与えられる。
許可領域802を示している。最終許可領域802は、
プログラマブル・タイム領域700及びグループ領域5
00から入力を受信すると、先ず、いずれかの時間依存
性タスクが現在アクティブであるか否かを判断する。も
しアクティブな時間依存性タスクがあれば、そのタスク
がシステム資源への最終的な許可を与えられる。もし時
間依存性タスクが非アクティブであれば、いずれかのグ
ループ要求がアクティブであるか否かが判断される。も
しグループ要求がアクティブであれば、システム資源へ
の最終的アクセス許可は、グループ優先度回路502か
らの2番目の許可要求タスク番号へ与えられる。
【0030】図9は、異なるグループからの要求間の優
先レベルを決定するための回路を示している。多数のグ
ループ1、M、及びNからのアクティブ要求は、優先度
決定回路902へ与えられる。(多数の入力間の優先レ
ベルを設定するための回路は周知の技術であり、本出願
では詳細に述べない。)最も高い優先度のアクティブ要
求が、マルチプレクサ904への出力を与える。例とし
て、グループMからのアクティブ要求及びグループNか
らのアクティブ要求がありかつグループMよりも高い優
先度をもつグループからのアクティブ要求はないものと
し、そしてグループ1が最も優先度が高く、グループN
が最も優先度が低い。優先度決定回路902は、2つの
出力を与える。第1の出力は、アクティブ要求があるこ
とを示し(図5参照)、そしてマルチプレクサ904へ
の第2の出力は、アクティブ要求を有する最も高い優先
度のグループ(この場合はグループM)を示す。その
後、マルチプレクサ904は、最も優先度の高いグルー
プ(グループM)に関するタスクを選択して関連タスク
識別番号とともに出力(タスク許可)を与える。
先レベルを決定するための回路を示している。多数のグ
ループ1、M、及びNからのアクティブ要求は、優先度
決定回路902へ与えられる。(多数の入力間の優先レ
ベルを設定するための回路は周知の技術であり、本出願
では詳細に述べない。)最も高い優先度のアクティブ要
求が、マルチプレクサ904への出力を与える。例とし
て、グループMからのアクティブ要求及びグループNか
らのアクティブ要求がありかつグループMよりも高い優
先度をもつグループからのアクティブ要求はないものと
し、そしてグループ1が最も優先度が高く、グループN
が最も優先度が低い。優先度決定回路902は、2つの
出力を与える。第1の出力は、アクティブ要求があるこ
とを示し(図5参照)、そしてマルチプレクサ904へ
の第2の出力は、アクティブ要求を有する最も高い優先
度のグループ(この場合はグループM)を示す。その
後、マルチプレクサ904は、最も優先度の高いグルー
プ(グループM)に関するタスクを選択して関連タスク
識別番号とともに出力(タスク許可)を与える。
【0031】図10及び図6を参照して、ラウンド・ロ
ビン選択回路の論理インプリメンテーションを示す。各
要求(REQ1、REQK、REQN)は、ANDゲー
トへの1つの入力として接続され、これらのANDゲー
トにより、各サイクルについて1回だけ各要求が関連す
るラッチ1002、1004、1006をセットするこ
とができる。例えば、もしラウンド・ロビン・サイクル
が完了する前に要求1が2回にアクティブになろうとし
ても、要求1はラッチ1008によってラッチ1002
をセットすることを禁止されることになる。従って、各
要求REQ1、REQK、...REQNが順番にアク
ティブになると、各要求は、各ラウンド・ロビン・サイ
クルについてその関連する要求ラッチ1002、100
4、1006を1回セットすることができる。ANDゲ
ート及びORゲート1010、1012、1014、1
016、1018及び1020からなる選択論理によっ
て、要求1等の特定の要求は、その関連するラッチ10
02等のラッチが要求1がそのラウンド・ロビン方式に
おけるその順番の間にアクティブであることを示すべく
セットされている場合にのみ、システム資源へのアクセ
スを許可されることができる。
ビン選択回路の論理インプリメンテーションを示す。各
要求(REQ1、REQK、REQN)は、ANDゲー
トへの1つの入力として接続され、これらのANDゲー
トにより、各サイクルについて1回だけ各要求が関連す
るラッチ1002、1004、1006をセットするこ
とができる。例えば、もしラウンド・ロビン・サイクル
が完了する前に要求1が2回にアクティブになろうとし
ても、要求1はラッチ1008によってラッチ1002
をセットすることを禁止されることになる。従って、各
要求REQ1、REQK、...REQNが順番にアク
ティブになると、各要求は、各ラウンド・ロビン・サイ
クルについてその関連する要求ラッチ1002、100
4、1006を1回セットすることができる。ANDゲ
ート及びORゲート1010、1012、1014、1
016、1018及び1020からなる選択論理によっ
て、要求1等の特定の要求は、その関連するラッチ10
02等のラッチが要求1がそのラウンド・ロビン方式に
おけるその順番の間にアクティブであることを示すべく
セットされている場合にのみ、システム資源へのアクセ
スを許可されることができる。
【0032】図11を参照すると、選択論理1102
は、システム資源へのアクセスのための予め設定された
期間をもつタスク番号に一致させる。これは図7につい
てその関連するアクティブ要求(KREQ等)とともに
詳述したとおりである。要求が、その割当てられた期間
内にアクティブである場合にのみ、選択論理1102か
らの出力が、非時間依存性タスクのグループに割当てら
れた優先度について優先論理1104で優先権を得る。
等時性タスクは、優先論理1104において常に最も高
い優先度を有するが、タスク番号と選択論理1102と
が一致する場合にのみその優先権を主張する。選択論理
1102からの出力に一致が得られないならば、最も高
い優先権をもつグループ要求が、システム資源へのアク
セスを許可される。
は、システム資源へのアクセスのための予め設定された
期間をもつタスク番号に一致させる。これは図7につい
てその関連するアクティブ要求(KREQ等)とともに
詳述したとおりである。要求が、その割当てられた期間
内にアクティブである場合にのみ、選択論理1102か
らの出力が、非時間依存性タスクのグループに割当てら
れた優先度について優先論理1104で優先権を得る。
等時性タスクは、優先論理1104において常に最も高
い優先度を有するが、タスク番号と選択論理1102と
が一致する場合にのみその優先権を主張する。選択論理
1102からの出力に一致が得られないならば、最も高
い優先権をもつグループ要求が、システム資源へのアク
セスを許可される。
【0033】再び図12を参照すると、上記のタスク・
スケジューリングの全てのメカニズが、この図の最上部
のプログラマブル・タスク・スケジューリング回路、並
びに図の下方のグループ要求及びラウンド・ロビン回路
とともに1つの図に示されている。
スケジューリングの全てのメカニズが、この図の最上部
のプログラマブル・タスク・スケジューリング回路、並
びに図の下方のグループ要求及びラウンド・ロビン回路
とともに1つの図に示されている。
【0034】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0035】(1)動的優先タスク・スケジューラを有
するデータ処理システムにおいて、タスクを処理するプ
ロセッサと、前記プロセッサと連携して制御情報及びデ
ータを記憶するためのメモリと、前記プロセッサと前記
メモリとの間で制御情報及びデータを転送するためのシ
ステム・バスと、前記プロセッサ、前記メモリ及び前記
データ・バス間のデータ・フローを制御し、かつ、等時
性要求及び優先レベルベースの要求を処理するべく統合
された複数のアクセス許可手段を含むタスク調停方式に
基づいて、前記プロセッサ、前記メモリ又は他のシステ
ム資源へのアクセス要求を出すタスクをスケジューリン
グするために前記システム・バスにより前記プロセッサ
と前記メモリへ及びデータ・バスへ接続されるバス・コ
ントローラと、前記プロセッサ又は前記メモリから1又
は複数のデータ・インタフェース・ユニットへデータを
転送するためのデータ・バスと、前記プロセッサ又は前
記メモリへのアクセス要求をしている複数の装置と前記
データ・バスとの間で制御信号及びデータ信号を転送す
るための1又は複数のインターフェース・ユニットと、
前記システム資源へアクセス要求する複数の装置とを有
するデータ処理システム。 (2)前記統合された複数のアクセス許可手段が、動的
に変動するアクセス時間要求を行う等時性タスク要求を
処理するための第1の手段と、要求者のグループの予め
設定された優先度に基づいてタスク要求を処理するため
の第2の手段と、予め設定された同じ優先度をもつグル
ープ内の1又は複数のタスクからのタスク要求を処理す
るための第3の手段とを有する上記(1)に記載のデー
タ処理システム。 (3)前記統合された複数のアクセス許可手段が、等時
性タスク要求に対して最も高い優先度を与える上記
(1)に記載のデータ処理システム。 (4)前記第3手段が、ラウンド・ロビン方式で同じ優
先レベルをもつ要求に対してアクセスを許可する上記
(2)に記載のデータ処理システム。 (5)前記バス・コントローラが、システム資源へのア
クセス要求に応答する複数のデータ・バッファ・レジス
タを管理するための手段を有する上記(1)に記載のデ
ータ処理システム。 (6)データ処理システム内で複数のタスクを動的にス
ケジューリングするための方法であって、前記データ処
理システムの要素に対して複数のタスクによりアクセス
を要求するステップと、異なる第1の優先レベルを有す
る複数の要求について最も高い第1の優先レベルをもつ
要求に対してアクセスを許可するステップと、複数のア
クセス要求が同じ第1の優先レベルをもつか否かを判断
するステップと、前記判断ステップにおいて複数の要求
が同じ第1の優先レベルをもつことが示された場合は、
これらの複数の要求を待ち行列に記憶するステップと、
前記複数の要求が全て前記データ処理システムの要素へ
のアクセスを許可されるように、これらの複数の要求の
各々に対して順番にアクセスを許可するステップと、前
記要求をサービスするステップとを有する動的タスク・
スケジューリング方法。 (7)前記アクセス要求のいずれかが等時性タスクのた
めのものであるか否かを判断するステップと、前記等時
性タスクの各々について予め設定された期間を割当てる
ステップと、前記タスクに割当てられた予め設定された
期間の間に等時性タスクについてのいずれの前記要求に
対しても最も高い第1の優先レベルを許可するステップ
とを有する上記(6)に記載の方法。 (8)複数のアクセス要求に応答してデータ処理システ
ム内のシステム資源へのアクセスを許可するタスク・ス
ケジューラにおいて、前記アクセス要求の各々について
第1の優先レベルを判断するための手段と、異なる第1
の優先レベルをもつ複数の要求の中で最も高い第1の優
先レベルをもつ要求に対してアクセスを許可するための
手段と、もし前記複数の要求が同じ第1の優先レベルを
有すると判断された場合は、これらの要求を待ち行列に
記憶するための手段と、前記要求の全てが前記システム
資源へのアクセスを許可されるように、予め設定された
シーケンスで同じ第1の優先レベルをもつ前記複数の要
求の各々に対してアクセスを許可するための手段とを有
するタスク・スケジューラ。 (9)前記複数のアクセス要求のいずれかが等時性タス
クのためのものであるか否かを判断するための手段と、
システム資源へアクセスのための前記等時性タスクの各
々について予め設定された期間を割当てるための手段
と、前記タスクに割当てられた前記予め設定された期間
の間、等時性タスクについての前記要求に対して最も高
い第1の優先レベルを許可するための手段とを有する上
記(8)に記載のタスク・スケジューラ。 (10)前記等時性タスクの各々について予め設定され
た期間を割当てるための手段が、アクセス要求に応答し
て前記期間の動的変更を可能とするべくプログラム可能
である上記(9)に記載のタスク・スケジューラ。
するデータ処理システムにおいて、タスクを処理するプ
ロセッサと、前記プロセッサと連携して制御情報及びデ
ータを記憶するためのメモリと、前記プロセッサと前記
メモリとの間で制御情報及びデータを転送するためのシ
ステム・バスと、前記プロセッサ、前記メモリ及び前記
データ・バス間のデータ・フローを制御し、かつ、等時
性要求及び優先レベルベースの要求を処理するべく統合
された複数のアクセス許可手段を含むタスク調停方式に
基づいて、前記プロセッサ、前記メモリ又は他のシステ
ム資源へのアクセス要求を出すタスクをスケジューリン
グするために前記システム・バスにより前記プロセッサ
と前記メモリへ及びデータ・バスへ接続されるバス・コ
ントローラと、前記プロセッサ又は前記メモリから1又
は複数のデータ・インタフェース・ユニットへデータを
転送するためのデータ・バスと、前記プロセッサ又は前
記メモリへのアクセス要求をしている複数の装置と前記
データ・バスとの間で制御信号及びデータ信号を転送す
るための1又は複数のインターフェース・ユニットと、
前記システム資源へアクセス要求する複数の装置とを有
するデータ処理システム。 (2)前記統合された複数のアクセス許可手段が、動的
に変動するアクセス時間要求を行う等時性タスク要求を
処理するための第1の手段と、要求者のグループの予め
設定された優先度に基づいてタスク要求を処理するため
の第2の手段と、予め設定された同じ優先度をもつグル
ープ内の1又は複数のタスクからのタスク要求を処理す
るための第3の手段とを有する上記(1)に記載のデー
タ処理システム。 (3)前記統合された複数のアクセス許可手段が、等時
性タスク要求に対して最も高い優先度を与える上記
(1)に記載のデータ処理システム。 (4)前記第3手段が、ラウンド・ロビン方式で同じ優
先レベルをもつ要求に対してアクセスを許可する上記
(2)に記載のデータ処理システム。 (5)前記バス・コントローラが、システム資源へのア
クセス要求に応答する複数のデータ・バッファ・レジス
タを管理するための手段を有する上記(1)に記載のデ
ータ処理システム。 (6)データ処理システム内で複数のタスクを動的にス
ケジューリングするための方法であって、前記データ処
理システムの要素に対して複数のタスクによりアクセス
を要求するステップと、異なる第1の優先レベルを有す
る複数の要求について最も高い第1の優先レベルをもつ
要求に対してアクセスを許可するステップと、複数のア
クセス要求が同じ第1の優先レベルをもつか否かを判断
するステップと、前記判断ステップにおいて複数の要求
が同じ第1の優先レベルをもつことが示された場合は、
これらの複数の要求を待ち行列に記憶するステップと、
前記複数の要求が全て前記データ処理システムの要素へ
のアクセスを許可されるように、これらの複数の要求の
各々に対して順番にアクセスを許可するステップと、前
記要求をサービスするステップとを有する動的タスク・
スケジューリング方法。 (7)前記アクセス要求のいずれかが等時性タスクのた
めのものであるか否かを判断するステップと、前記等時
性タスクの各々について予め設定された期間を割当てる
ステップと、前記タスクに割当てられた予め設定された
期間の間に等時性タスクについてのいずれの前記要求に
対しても最も高い第1の優先レベルを許可するステップ
とを有する上記(6)に記載の方法。 (8)複数のアクセス要求に応答してデータ処理システ
ム内のシステム資源へのアクセスを許可するタスク・ス
ケジューラにおいて、前記アクセス要求の各々について
第1の優先レベルを判断するための手段と、異なる第1
の優先レベルをもつ複数の要求の中で最も高い第1の優
先レベルをもつ要求に対してアクセスを許可するための
手段と、もし前記複数の要求が同じ第1の優先レベルを
有すると判断された場合は、これらの要求を待ち行列に
記憶するための手段と、前記要求の全てが前記システム
資源へのアクセスを許可されるように、予め設定された
シーケンスで同じ第1の優先レベルをもつ前記複数の要
求の各々に対してアクセスを許可するための手段とを有
するタスク・スケジューラ。 (9)前記複数のアクセス要求のいずれかが等時性タス
クのためのものであるか否かを判断するための手段と、
システム資源へアクセスのための前記等時性タスクの各
々について予め設定された期間を割当てるための手段
と、前記タスクに割当てられた前記予め設定された期間
の間、等時性タスクについての前記要求に対して最も高
い第1の優先レベルを許可するための手段とを有する上
記(8)に記載のタスク・スケジューラ。 (10)前記等時性タスクの各々について予め設定され
た期間を割当てるための手段が、アクセス要求に応答し
て前記期間の動的変更を可能とするべくプログラム可能
である上記(9)に記載のタスク・スケジューラ。
【0036】
【発明の効果】上述のように、本発明の構成により、優
先度割当て方式だけでなくシステム・アクセスに対する
時間依存性要求にも対応し、またいずれのタスクによる
システム資源へのアクセス要求も全て確保するラウンド
・ロビン技術によって順番にアクセスが与えられること
によりアクセスから閉出されるタスクがないようなタス
ク・スケジューリングが実現可能となった。
先度割当て方式だけでなくシステム・アクセスに対する
時間依存性要求にも対応し、またいずれのタスクによる
システム資源へのアクセス要求も全て確保するラウンド
・ロビン技術によって順番にアクセスが与えられること
によりアクセスから閉出されるタスクがないようなタス
ク・スケジューリングが実現可能となった。
【図1】同時にシステム資源へのアクセスを要求する可
能性のある多数の装置を有する本発明によるデータ処理
システムのブロック図である。
能性のある多数の装置を有する本発明によるデータ処理
システムのブロック図である。
【図2】図1に示した本発明によるサーバのブロック図
である。
である。
【図3】本発明による図2のタスク・スケジューラのブ
ロック図である。
ロック図である。
【図4】本発明による図3のデータ・フロー・インター
フェース・アダプタのブロック図である。
フェース・アダプタのブロック図である。
【図5】本発明によるグループ要求の中の優先度を判断
するためのプロセスのブロック図である。
するためのプロセスのブロック図である。
【図6】本発明によるグループ・ラウンド・ロビン制御
方法を示すブロック図である。
方法を示すブロック図である。
【図7】本発明によるプログラマブル・タイム・スケジ
ューリング回路のブロック図である。
ューリング回路のブロック図である。
【図8】特定のタスクへの最終的なアクセス許可のため
のプロセスを示す図3のタスク・スケジューラの部分の
ブロック図である。
のプロセスを示す図3のタスク・スケジューラの部分の
ブロック図である。
【図9】本発明による多数の要求の優先度付与を示す回
路図である。
路図である。
【図10】本発明によるラウンド・ロビン・アクセス制
御を示す回路図である。
御を示す回路図である。
【図11】本発明による選択論理及び優先論理を示す概
略図である。
略図である。
【図12】本発明によるタスク・スケジューラの要素の
ブロック図である。
ブロック図である。
12 プロセッサ 14 メモリ 16 データ・バス 22 タスク・スケジューラ 24 データ・フロー・インターフェース(DFI)バ
ス 26 リンク・リスト 28 データ・バッファ 30 LANDFI装置 32 WANDFI装置 34 データ記憶装置DFI装置
ス 26 リンク・リスト 28 データ・バッファ 30 LANDFI装置 32 WANDFI装置 34 データ記憶装置DFI装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 エドワード・ハウ−チュン・ク アメリカ合衆国、ノースカロライナ州、キ ャリ、ロッチウッド・ウェスト 115 (72)発明者 ボウ−チュング・リン アメリカ合衆国、ノースカロライナ州、ラ レイ、フォート・マコン・コート 8712 (72)発明者 シミン・エイチ・サナイェ アメリカ合衆国、ノースカロライナ州、ラ レイ、ロードステッド・ウェイ 0301
Claims (10)
- 【請求項1】動的優先タスク・スケジューラを有するデ
ータ処理システムにおいて、 タスクを処理するプロセッサと、 前記プロセッサと連携して制御情報及びデータを記憶す
るためのメモリと、 前記プロセッサと前記メモリとの間で制御情報及びデー
タを転送するためのシステム・バスと、 前記プロセッサ、前記メモリ及び前記データ・バス間の
データ・フローを制御し、かつ、等時性要求及び優先レ
ベルによる要求を処理するべく統合された複数のアクセ
ス許可手段を含むタスク調停方式に基づいて、前記プロ
セッサ、前記メモリ又は他のシステム資源へのアクセス
要求を出すタスクをスケジューリングするために前記シ
ステム・バスにより前記プロセッサと前記メモリへ及び
データ・バスへ接続されるバス・コントローラと、 前記プロセッサ又は前記メモリから1又は複数のデータ
・インタフェース・ユニットへデータを転送するための
データ・バスと、 前記プロセッサ又は前記メモリへのアクセス要求をして
いる複数の装置と前記データ・バスとの間で制御信号及
びデータ信号を転送するための1又は複数のインターフ
ェース・ユニットと、 前記システム資源へアクセス要求する複数の装置とを有
するデータ処理システム。 - 【請求項2】前記統合された複数のアクセス許可手段
が、 動的に変動するアクセス時間要求を行う等時性タスク要
求を処理するための第1の手段と、 要求者のグループの予め設定された優先度に基づいてタ
スク要求を処理するための第2の手段と、 予め設定された同じ優先度をもつグループ内の1又は複
数のタスクからのタスク要求を処理するための第3の手
段とを有する請求項1に記載のデータ処理システム。 - 【請求項3】前記統合された複数のアクセス許可手段
が、等時性タスク要求に対して最も高い優先度を与える
請求項1に記載のデータ処理システム。 - 【請求項4】前記第3手段が、ラウンド・ロビン方式で
同じ優先レベルをもつ要求に対してアクセスを許可する
請求項2に記載のデータ処理システム。 - 【請求項5】前記バス・コントローラが、システム資源
へのアクセス要求に応答する複数のデータ・バッファ・
レジスタを管理するための手段を有する請求項1に記載
のデータ処理システム。 - 【請求項6】データ処理システム内で複数のタスクを動
的にスケジューリングするための方法であって、 前記データ処理システムの要素に対して複数のタスクに
よりアクセスを要求するステップと、 異なる第1の優先レベルを有する複数の要求について最
も高い第1の優先レベルをもつ要求に対してアクセスを
許可するステップと、 複数のアクセス要求が同じ第1の優先レベルをもつか否
かを判断するステップと、 前記判断ステップにおいて複数の要求が同じ第1の優先
レベルをもつことが示された場合は、これらの複数の要
求を待ち行列に記憶するステップと、 前記複数の要求が全て前記データ処理システムの要素へ
のアクセスを許可されるように、これらの複数の要求の
各々に対して順番にアクセスを許可するステップと、 前記要求をサービスするステップとを有する動的タスク
・スケジューリング方法。 - 【請求項7】前記アクセス要求のいずれかが等時性タス
クのためのものであるか否かを判断するステップと、 前記等時性タスクの各々について予め設定された期間を
割当てるステップと、 前記タスクに割当てられた予め設定された期間の間に等
時性タスクについてのいずれの前記要求に対しても最も
高い第1の優先レベルを許可するステップとを有する請
求項6に記載の方法。 - 【請求項8】複数のアクセス要求に応答してデータ処理
システム内のシステム資源へのアクセスを許可するタス
ク・スケジューラにおいて、 前記アクセス要求の各々について第1の優先レベルを判
断するための手段と、 異なる第1の優先レベルをもつ複数の要求の中で最も高
い第1の優先レベルをもつ要求に対してアクセスを許可
するための手段と、 もし前記複数の要求が同じ第1の優先レベルを有すると
判断された場合は、これらの要求を待ち行列に記憶する
ための手段と、 前記要求の全てが前記システム資源へのアクセスを許可
されるように、予め設定されたシーケンスで同じ第1の
優先レベルをもつ前記複数の要求の各々に対してアクセ
スを許可するための手段とを有するタスク・スケジュー
ラ。 - 【請求項9】前記複数のアクセス要求のいずれかが等時
性タスクのためのものであるか否かを判断するための手
段と、 システム資源へアクセスのための前記等時性タスクの各
々について予め設定された期間を割当てるための手段
と、 前記タスクに割当てられた前記予め設定された期間の
間、等時性タスクについての前記要求に対して最も高い
第1の優先レベルを許可するための手段とを有する請求
項8に記載のタスク・スケジューラ。 - 【請求項10】前記等時性タスクの各々について予め設
定された期間を割当てるための手段が、アクセス要求に
応答して前記期間の動的変更を可能とするべくプログラ
ム可能である請求項9に記載のタスク・スケジューラ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/168,616 US5487170A (en) | 1993-12-16 | 1993-12-16 | Data processing system having dynamic priority task scheduling capabilities |
US168616 | 1993-12-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07200318A true JPH07200318A (ja) | 1995-08-04 |
Family
ID=22612224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6217165A Pending JPH07200318A (ja) | 1993-12-16 | 1994-09-12 | 動的優先タスク・スケジューラを有するデータ処理システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US5487170A (ja) |
EP (1) | EP0658841A2 (ja) |
JP (1) | JPH07200318A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100380197B1 (ko) * | 1997-12-10 | 2003-04-11 | 인텔 코오퍼레이션 | 인터럽트 데스티네이션 리다이렉션 및 레벨 트리거인터럽트 시맨틱스를 지원하는 트랜잭션 |
US7664904B2 (en) | 2006-03-10 | 2010-02-16 | Ricoh Company, Limited | High speed serial switch fabric performing mapping of traffic classes onto virtual channels |
KR101466399B1 (ko) * | 2008-05-06 | 2014-11-27 | 엘지전자 주식회사 | 정보처리장치 및 그 동작주기 변경방법 |
Families Citing this family (107)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6433884B1 (en) * | 1993-10-29 | 2002-08-13 | Ricoh Company, Ltd. | Apparatus for determining priority of print jobs in a printer system |
US5581713A (en) * | 1994-10-25 | 1996-12-03 | Pyramid Technology Corporation | Multiprocessor computer backplane bus in which bus transactions are classified into different classes for arbitration |
US5680548A (en) * | 1994-12-02 | 1997-10-21 | Xcellenet, Inc. | Systems and methods for work assignment and distribution from a server to remote/mobile nodes |
US6026094A (en) * | 1995-05-24 | 2000-02-15 | Thomson Consumer Electronics, Inc. | Digital data bus system including arbitration |
JP3813669B2 (ja) * | 1995-10-27 | 2006-08-23 | 松下電器産業株式会社 | 端末装置及び端末装置の能力情報通知方法 |
US5758105A (en) * | 1995-12-04 | 1998-05-26 | International Business Machines Corporation | Method and apparatus for bus arbitration between isochronous and non-isochronous devices |
US5771234A (en) * | 1995-12-06 | 1998-06-23 | Industrial Technology Research Institute | Method and system for ATM cell multiplexing under constant bit rate, variable bit rate and best-effort traffic |
GB2308686A (en) * | 1995-12-20 | 1997-07-02 | British Aerospace | Integrated circuits for multi-tasking support in single or multiple processor networks |
US5812526A (en) * | 1995-12-21 | 1998-09-22 | Industrial Technology Research Institute | Traffic control mechanism in ATM communications network |
US5740381A (en) * | 1995-12-22 | 1998-04-14 | United Microelectronics Corporation | Expandable arbitration architecture for sharing system memory in a computer system |
US5740383A (en) * | 1995-12-22 | 1998-04-14 | Cirrus Logic, Inc. | Dynamic arbitration priority |
EP0782081B1 (en) * | 1995-12-29 | 2002-03-20 | Bull S.A. | An arbitration unit with circular or "round-robin" priority, particularly for multiprocessor systems with synchronous symmetrical processors |
EP0838757B1 (en) * | 1996-10-25 | 2003-09-10 | Fujitsu Services Limited | Process scheduler |
US5898694A (en) | 1996-12-30 | 1999-04-27 | Cabletron Systems, Inc. | Method of round robin bus arbitration |
US5940389A (en) * | 1997-05-12 | 1999-08-17 | Computer And Communication Research Laboratories | Enhanced partially self-routing algorithm for controller Benes networks |
US5987028A (en) * | 1997-05-12 | 1999-11-16 | Industrial Technology Research Insitute | Multiple channel ATM switch |
JPH10328163A (ja) | 1997-05-28 | 1998-12-15 | Siemens Ag | 核スピン断層撮影装置のためのパルスシーケンスの制御方法及び装置 |
US6658447B2 (en) * | 1997-07-08 | 2003-12-02 | Intel Corporation | Priority based simultaneous multi-threading |
US6385638B1 (en) * | 1997-09-04 | 2002-05-07 | Equator Technologies, Inc. | Processor resource distributor and method |
US6073132A (en) * | 1998-03-27 | 2000-06-06 | Lsi Logic Corporation | Priority arbiter with shifting sequential priority scheme |
US6154769A (en) * | 1998-03-27 | 2000-11-28 | Hewlett-Packard Company | Scheduling server requests to decrease response time and increase server throughput |
US7055151B1 (en) * | 1998-04-03 | 2006-05-30 | Applied Micro Circuits Corporation | Systems and methods for multi-tasking, resource sharing and execution of computer instructions |
US6502123B1 (en) | 1998-06-09 | 2002-12-31 | Advanced Micro Devices, Inc. | Isochronous system using certified drivers to ensure system stability |
US6704763B1 (en) | 1998-06-09 | 2004-03-09 | Advanced Micro Devices, Inc. | Hardware enforcement mechanism for an isochronous task scheduler |
US6418459B1 (en) | 1998-06-09 | 2002-07-09 | Advanced Micro Devices, Inc. | Isochronous task scheduling structure for a non-real-time operating system |
US6421702B1 (en) * | 1998-06-09 | 2002-07-16 | Advanced Micro Devices, Inc. | Interrupt driven isochronous task scheduler system |
US6101570A (en) * | 1998-07-28 | 2000-08-08 | Compaq Computer Corporation | Method and apparatus for fair bus arbitration in multiple initiator SCSI systems |
US6336179B1 (en) * | 1998-08-21 | 2002-01-01 | Advanced Micro Devices, Inc. | Dynamic scheduling mechanism for an asynchronous/isochronous integrated circuit interconnect bus |
DE19846274A1 (de) | 1998-10-08 | 2000-04-20 | Alcatel Sa | Verfahren zur Durchführung von kooperativem Multitasking in einem Nachrichtenübertragungsnetz und Netzelement dafür |
EP1145218B1 (en) * | 1998-11-09 | 2004-05-19 | Broadcom Corporation | Display system for blending graphics and video data |
US6499079B1 (en) | 1998-11-23 | 2002-12-24 | Advanced Micro Devices, Inc. | Subordinate bridge structure for a point-to-point computer interconnection bus |
US6611891B1 (en) | 1998-11-23 | 2003-08-26 | Advanced Micro Devices, Inc. | Computer resource configuration mechanism across a multi-pipe communication link |
US6910210B1 (en) * | 1998-11-24 | 2005-06-21 | Microsoft Corp. | System and method for terminating applications |
EP1037146A1 (en) * | 1999-03-15 | 2000-09-20 | BRITISH TELECOMMUNICATIONS public limited company | Resource scheduling |
EP1037147A1 (en) * | 1999-03-15 | 2000-09-20 | BRITISH TELECOMMUNICATIONS public limited company | Resource scheduling |
US6301263B1 (en) * | 1999-03-24 | 2001-10-09 | Qualcomm Inc. | Method and apparatus for providing fair access in a group communication system in which users experience differing signaling delays |
US6530000B1 (en) | 1999-03-24 | 2003-03-04 | Qlogic Corporation | Methods and systems for arbitrating access to a disk controller buffer memory by allocating various amounts of times to different accessing units |
US6351783B1 (en) * | 1999-05-20 | 2002-02-26 | Intel Corporation | Method and apparatus for isochronous data transport over an asynchronous bus |
US6584517B1 (en) | 1999-07-02 | 2003-06-24 | Cypress Semiconductor Corp. | Circuit and method for supporting multicast/broadcast operations in multi-queue storage devices |
US6603771B1 (en) | 1999-07-02 | 2003-08-05 | Cypress Semiconductor Corp. | Highly scalable architecture for implementing switch fabrics with quality of services |
US6625177B1 (en) | 1999-08-09 | 2003-09-23 | Cypress Semiconductor Corp. | Circuit, method and/or architecture for improving the performance of a serial communication link |
US6628656B1 (en) | 1999-08-09 | 2003-09-30 | Cypress Semiconductor Corp. | Circuit, method and/or architecture for improving the performance of a serial communication link |
US6463489B1 (en) * | 1999-08-26 | 2002-10-08 | Sony Corporation | System and method for effectively performing isochronous data transfers |
US6952826B1 (en) | 1999-10-21 | 2005-10-04 | Sony Corporation | Method for implementing a multi-level system model for deterministically handling selected data |
AU1097901A (en) * | 1999-10-21 | 2001-04-30 | Sony Electronics Inc. | Method for implementing a multi-level system model for deterministically handling selected data |
US6938256B2 (en) | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
US7140020B2 (en) * | 2000-01-28 | 2006-11-21 | Hewlett-Packard Development Company, L.P. | Dynamic management of virtual partition computer workloads through service level optimization |
US7111297B1 (en) * | 2000-05-02 | 2006-09-19 | Microsoft Corporation | Methods and architectures for resource management |
US6816905B1 (en) * | 2000-11-10 | 2004-11-09 | Galactic Computing Corporation Bvi/Bc | Method and system for providing dynamic hosted service management across disparate accounts/sites |
US8538843B2 (en) | 2000-07-17 | 2013-09-17 | Galactic Computing Corporation Bvi/Bc | Method and system for operating an E-commerce service provider |
US8190463B2 (en) | 2000-09-06 | 2012-05-29 | Masterlink Corporation | System and method for managing mobile workers |
US7283971B1 (en) * | 2000-09-06 | 2007-10-16 | Masterlink Corporation | System and method for managing mobile workers |
US20040045002A1 (en) * | 2000-10-05 | 2004-03-04 | Ricardo Berger | Method system and apparatus for multiprocessing |
US6782441B1 (en) * | 2000-10-26 | 2004-08-24 | Sun Microsystems, Inc. | Arbitration method and apparatus |
JP4602535B2 (ja) * | 2000-11-17 | 2010-12-22 | 富士通株式会社 | スケジュール実行管理装置および管理方法 |
US6785756B2 (en) * | 2001-05-10 | 2004-08-31 | Oracle International Corporation | Methods and systems for multi-policy resource scheduling |
US20030014474A1 (en) * | 2001-05-30 | 2003-01-16 | Mckaig Ray S. | Alternate zero overhead task change circuit |
US20030037091A1 (en) * | 2001-08-09 | 2003-02-20 | Kozo Nishimura | Task scheduling device |
JP2003067201A (ja) * | 2001-08-30 | 2003-03-07 | Hitachi Ltd | コントローラとオペレーティングシステム |
WO2003024137A1 (en) * | 2001-09-13 | 2003-03-20 | Nokia Corporation | Signal processing device and signal processing method |
US20030163654A1 (en) * | 2002-02-22 | 2003-08-28 | Eliel Louzoun | System and method for efficient scheduling of memory |
US7111228B1 (en) | 2002-05-07 | 2006-09-19 | Marvell International Ltd. | System and method for performing parity checks in disk storage system |
US6920632B2 (en) * | 2002-08-23 | 2005-07-19 | Xyron Corporation | Dynamic multilevel task management method and apparatus |
US7007114B1 (en) * | 2003-01-31 | 2006-02-28 | Qlogic Corporation | System and method for padding data blocks and/or removing padding from data blocks in storage controllers |
US7287102B1 (en) | 2003-01-31 | 2007-10-23 | Marvell International Ltd. | System and method for concatenating data |
US7064915B1 (en) | 2003-03-10 | 2006-06-20 | Marvell International Ltd. | Method and system for collecting servo field data from programmable devices in embedded disk controllers |
US7492545B1 (en) | 2003-03-10 | 2009-02-17 | Marvell International Ltd. | Method and system for automatic time base adjustment for disk drive servo controllers |
US7039771B1 (en) | 2003-03-10 | 2006-05-02 | Marvell International Ltd. | Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers |
US7457903B2 (en) * | 2003-03-10 | 2008-11-25 | Marvell International Ltd. | Interrupt controller for processing fast and regular interrupts |
US7099963B2 (en) * | 2003-03-10 | 2006-08-29 | Qlogic Corporation | Method and system for monitoring embedded disk controller components |
US7870346B2 (en) * | 2003-03-10 | 2011-01-11 | Marvell International Ltd. | Servo controller interface module for embedded disk controllers |
WO2004095278A1 (en) * | 2003-04-15 | 2004-11-04 | Thomson Licensing S.A. | Method and apparatus for router port configuration |
JP2004334537A (ja) * | 2003-05-07 | 2004-11-25 | Sony Corp | プログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラム |
DE60309157T2 (de) * | 2003-08-06 | 2007-08-30 | Stmicroelectronics S.R.L., Agrate Brianza | Speichersystem mit Fehlererkennungsvorrichtung |
KR100486308B1 (ko) * | 2003-08-21 | 2005-04-29 | 삼성전자주식회사 | 다양한 버스 중재 알고리즘을 프로그램 할 수 있는 아비터 |
US7526691B1 (en) | 2003-10-15 | 2009-04-28 | Marvell International Ltd. | System and method for using TAP controllers |
US7139150B2 (en) * | 2004-02-10 | 2006-11-21 | Marvell International Ltd. | Method and system for head position control in embedded disk drive controllers |
JP2005301791A (ja) * | 2004-04-14 | 2005-10-27 | Nec Corp | 移動通信端末および移動通信端末のアプリケーション起動制御方法 |
US20050251806A1 (en) * | 2004-05-10 | 2005-11-10 | Auslander Marc A | Enhancement of real-time operating system functionality using a hypervisor |
US7120084B2 (en) * | 2004-06-14 | 2006-10-10 | Marvell International Ltd. | Integrated memory controller |
US8166217B2 (en) * | 2004-06-28 | 2012-04-24 | Marvell International Ltd. | System and method for reading and writing data using storage controllers |
US8494975B2 (en) * | 2004-06-30 | 2013-07-23 | International Business Machines Corporation | Method and tool for estimating a ship date profile for a business |
US7757009B2 (en) | 2004-07-19 | 2010-07-13 | Marvell International Ltd. | Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device |
US9201599B2 (en) * | 2004-07-19 | 2015-12-01 | Marvell International Ltd. | System and method for transmitting data in storage controllers |
US8032674B2 (en) * | 2004-07-19 | 2011-10-04 | Marvell International Ltd. | System and method for controlling buffer memory overflow and underflow conditions in storage controllers |
US8171474B2 (en) * | 2004-10-01 | 2012-05-01 | Serguei Mankovski | System and method for managing, scheduling, controlling and monitoring execution of jobs by a job scheduler utilizing a publish/subscription interface |
US7386661B2 (en) | 2004-10-13 | 2008-06-10 | Marvell International Ltd. | Power save module for storage controllers |
US7240267B2 (en) | 2004-11-08 | 2007-07-03 | Marvell International Ltd. | System and method for conducting BIST operations |
DE102004054571B4 (de) | 2004-11-11 | 2007-01-25 | Sysgo Ag | Verfahren zur Verteilung von Rechenzeit in einem Rechnersystem |
US7802026B2 (en) * | 2004-11-15 | 2010-09-21 | Marvell International Ltd. | Method and system for processing frames in storage controllers |
JP4622474B2 (ja) * | 2004-11-17 | 2011-02-02 | 横河電機株式会社 | フィールド機器及びこれを用いたシステム |
US7681014B2 (en) * | 2005-02-04 | 2010-03-16 | Mips Technologies, Inc. | Multithreading instruction scheduler employing thread group priorities |
US7609468B2 (en) * | 2005-04-06 | 2009-10-27 | Marvell International Ltd. | Method and system for read gate timing control for storage controllers |
US20070101339A1 (en) * | 2005-10-31 | 2007-05-03 | Shrum Kenneth W | System for and method of multi-dimensional resource management |
GB2439127B (en) * | 2006-06-13 | 2009-02-18 | Siconnect Ltd | Communications apparatus |
US20080103871A1 (en) * | 2006-10-26 | 2008-05-01 | Raytheon Company | Company project management system |
WO2008106008A1 (en) * | 2007-03-01 | 2008-09-04 | Wms Gaming Inc. | Flex-time scheduling of electronic gaming machines |
US8060884B2 (en) * | 2007-07-10 | 2011-11-15 | Sharp Laboratories Of America, Inc. | Deterministic task scheduling in a computing device |
US20090328023A1 (en) * | 2008-06-27 | 2009-12-31 | Gregory Roger Bestland | Implementing optimized installs around pre-install and post-install actions |
US8266477B2 (en) * | 2009-01-09 | 2012-09-11 | Ca, Inc. | System and method for modifying execution of scripts for a job scheduler using deontic logic |
CN101950261B (zh) * | 2010-09-09 | 2013-12-04 | 中兴通讯股份有限公司 | 数据存储与鉴权并行的处理方法和终端 |
JP5439435B2 (ja) * | 2011-06-14 | 2014-03-12 | 株式会社日立製作所 | 計算機システムおよびその計算機システムにおけるディスク共有方法 |
US8874754B2 (en) | 2012-10-16 | 2014-10-28 | Softwin Srl Romania | Load balancing in handwritten signature authentication systems |
GB2519080B (en) * | 2013-10-08 | 2021-04-14 | Arm Ip Ltd | Scheduling function calls |
US20190065243A1 (en) * | 2016-09-19 | 2019-02-28 | Advanced Micro Devices, Inc. | Dynamic memory power capping with criticality awareness |
WO2019028547A1 (en) * | 2017-08-08 | 2019-02-14 | Crypto4A Technologies Inc. | METHOD AND SYSTEM FOR DEPLOYING AND EXECUTING EXECUTABLE CODE BY SECURE MACHINE |
EP4357920A4 (en) * | 2021-07-12 | 2024-07-24 | Huawei Tech Co Ltd | TASK SCHEDULING METHOD AND APPARATUS |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58105344A (ja) * | 1981-12-17 | 1983-06-23 | Sumitomo Electric Ind Ltd | バツフアメモリ管理方式 |
JPS6010343A (ja) * | 1983-06-30 | 1985-01-19 | Fujitsu Ltd | タイムスライス値制御方式 |
JPS61223950A (ja) * | 1985-03-29 | 1986-10-04 | Toshiba Corp | スケジユ−ラ |
JPS63636A (ja) * | 1986-06-19 | 1988-01-05 | Fujitsu Ltd | タスク制御方式 |
JPS6337433A (ja) * | 1986-08-01 | 1988-02-18 | Hitachi Ltd | デ−タ処理方式 |
JPH01292539A (ja) * | 1988-05-20 | 1989-11-24 | Toshiba Corp | タスクのスケジュール装置 |
JPH04149762A (ja) * | 1990-10-15 | 1992-05-22 | Oki Electric Ind Co Ltd | データ制御方式 |
JPH04157557A (ja) * | 1990-10-20 | 1992-05-29 | Fujitsu Ltd | メモリ保護方法 |
JPH04328665A (ja) * | 1991-04-22 | 1992-11-17 | Internatl Business Mach Corp <Ibm> | マルチプロセッサ・システム |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1100916B (it) * | 1978-11-06 | 1985-09-28 | Honeywell Inf Systems | Apparato per gestione di richieste di trasferimento dati in sistemi di elaborazione dati |
US4320467A (en) * | 1980-02-25 | 1982-03-16 | Raytheon Company | Method and apparatus of bus arbitration using comparison of composite signals with device signals to determine device priority |
US4602327A (en) * | 1983-07-28 | 1986-07-22 | Motorola, Inc. | Bus master capable of relinquishing bus on request and retrying bus cycle |
DE3480962D1 (de) * | 1984-10-31 | 1990-02-08 | Ibm Deutschland | Verfahren und einrichtung zur steuerung einer sammelleitung. |
US4920485A (en) * | 1986-09-02 | 1990-04-24 | Amdahl Corporation | Method and apparatus for arbitration and serialization in a multiprocessor system |
US4954948A (en) * | 1986-12-29 | 1990-09-04 | Motorola, Inc. | Microprocessor operating system for sequentially executing subtasks |
US5193189A (en) * | 1987-10-07 | 1993-03-09 | Allen-Bradley Company, Inc. | Programmable controller with multiple priority level task processing |
US4897833A (en) * | 1987-10-16 | 1990-01-30 | Digital Equipment Corporation | Hierarchical arbitration system |
US5012409A (en) * | 1988-03-10 | 1991-04-30 | Fletcher Mitchell S | Operating system for a multi-tasking operating environment |
US5210871A (en) * | 1988-07-15 | 1993-05-11 | The Charles Stark Draper Labroatory, Inc. | Interprocessor communication for a fault-tolerant, mixed redundancy distributed information processing system |
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 |
US5212795A (en) * | 1988-10-11 | 1993-05-18 | California Institute Of Technology | Programmable DMA controller |
US4969120A (en) * | 1989-02-13 | 1990-11-06 | International Business Machines Corporation | Data processing system for time shared access to a time slotted bus |
US5303382A (en) * | 1989-09-21 | 1994-04-12 | Digital Equipment Corporation | Arbiter with programmable dynamic request prioritization |
US5280621A (en) * | 1989-12-29 | 1994-01-18 | Zenith Data Systems Corporation | Personal computer having dedicated processors for peripheral devices interconnected to the CPU by way of a system control processor |
US5263163A (en) * | 1990-01-19 | 1993-11-16 | Codex Corporation | Arbitration among multiple users of a shared resource |
US5272697A (en) * | 1990-02-23 | 1993-12-21 | At&T Bell Laboratories | Apparatus and method for time multiplexing a resource among a plurality of entities |
EP0464237A1 (en) * | 1990-07-03 | 1992-01-08 | International Business Machines Corporation | Bus arbitration scheme |
US5280591A (en) * | 1991-07-22 | 1994-01-18 | International Business Machines, Corporation | Centralized backplane bus arbiter for multiprocessor systems |
-
1993
- 1993-12-16 US US08/168,616 patent/US5487170A/en not_active Expired - Fee Related
-
1994
- 1994-09-12 JP JP6217165A patent/JPH07200318A/ja active Pending
- 1994-10-26 EP EP94480106A patent/EP0658841A2/en not_active Withdrawn
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58105344A (ja) * | 1981-12-17 | 1983-06-23 | Sumitomo Electric Ind Ltd | バツフアメモリ管理方式 |
JPS6010343A (ja) * | 1983-06-30 | 1985-01-19 | Fujitsu Ltd | タイムスライス値制御方式 |
JPS61223950A (ja) * | 1985-03-29 | 1986-10-04 | Toshiba Corp | スケジユ−ラ |
JPS63636A (ja) * | 1986-06-19 | 1988-01-05 | Fujitsu Ltd | タスク制御方式 |
JPS6337433A (ja) * | 1986-08-01 | 1988-02-18 | Hitachi Ltd | デ−タ処理方式 |
JPH01292539A (ja) * | 1988-05-20 | 1989-11-24 | Toshiba Corp | タスクのスケジュール装置 |
JPH04149762A (ja) * | 1990-10-15 | 1992-05-22 | Oki Electric Ind Co Ltd | データ制御方式 |
JPH04157557A (ja) * | 1990-10-20 | 1992-05-29 | Fujitsu Ltd | メモリ保護方法 |
JPH04328665A (ja) * | 1991-04-22 | 1992-11-17 | Internatl Business Mach Corp <Ibm> | マルチプロセッサ・システム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100380197B1 (ko) * | 1997-12-10 | 2003-04-11 | 인텔 코오퍼레이션 | 인터럽트 데스티네이션 리다이렉션 및 레벨 트리거인터럽트 시맨틱스를 지원하는 트랜잭션 |
US7664904B2 (en) | 2006-03-10 | 2010-02-16 | Ricoh Company, Limited | High speed serial switch fabric performing mapping of traffic classes onto virtual channels |
KR101466399B1 (ko) * | 2008-05-06 | 2014-11-27 | 엘지전자 주식회사 | 정보처리장치 및 그 동작주기 변경방법 |
Also Published As
Publication number | Publication date |
---|---|
US5487170A (en) | 1996-01-23 |
EP0658841A2 (en) | 1995-06-21 |
EP0658841A3 (ja) | 1995-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH07200318A (ja) | 動的優先タスク・スケジューラを有するデータ処理システム | |
US5787264A (en) | Method and apparatus for arbitrating access to a shared bus | |
US6006303A (en) | Priority encoding and decoding for memory architecture | |
US8990498B2 (en) | Access scheduler | |
EP1435043B1 (en) | Method and apparatus for scheduling a resource to meet quality-of-service restrictions | |
US5996037A (en) | System and method for arbitrating multi-function access to a system bus | |
US5341491A (en) | Apparatus and method for ensuring that lock requests are serviced in a multiprocessor system | |
US7174552B2 (en) | Method of accessing a resource by a process based on a semaphore of another process | |
JPH05507805A (ja) | 複数の要求のトグリング優先順位を調停するシステム | |
EP1374072B1 (en) | Apparatus and method for efficiently sharing memory bandwidth in a network processor | |
JPH06266679A (ja) | 共用資源に対するアクセスの調停を行う方法及び装置と通信方法及び装置とマイクロ・コンピュータ装置 | |
JPH08255126A (ja) | バスアクセス調停システムおよびバスアクセスを認める方法 | |
US20050223147A1 (en) | Method and apparatus for allocating bus access rights in multimaster bus systems | |
US5301332A (en) | Method and apparatus for a dynamic, timed-loop arbitration | |
US7065595B2 (en) | Method and apparatus for bus access allocation | |
US20030229743A1 (en) | Methods and structure for improved fairness bus arbitration | |
US7080174B1 (en) | System and method for managing input/output requests using a fairness throttle | |
US6415367B1 (en) | Apparatus for reducing asynchronous service latency in a time slot-based memory arbitration scheme | |
US6826644B1 (en) | Peripheral component interconnect arbiter implementation with dynamic priority scheme | |
US6937133B2 (en) | Apparatus and method for resource arbitration | |
US6363461B1 (en) | Apparatus for memory resource arbitration based on dedicated time slot allocation | |
US6412049B1 (en) | Method for minimizing CPU memory latency while transferring streaming data | |
US6829647B1 (en) | Scaleable hardware arbiter | |
JPH11175464A (ja) | 調停装置および方法 | |
JP2002175270A (ja) | バスの排他制御方式 |