JPH08228200A - データ転送を含む動作を制御する際に使用するアービタ及びデータ転送を含む動作を調停するための方法 - Google Patents

データ転送を含む動作を制御する際に使用するアービタ及びデータ転送を含む動作を調停するための方法

Info

Publication number
JPH08228200A
JPH08228200A JP7334105A JP33410595A JPH08228200A JP H08228200 A JPH08228200 A JP H08228200A JP 7334105 A JP7334105 A JP 7334105A JP 33410595 A JP33410595 A JP 33410595A JP H08228200 A JPH08228200 A JP H08228200A
Authority
JP
Japan
Prior art keywords
data transfer
free time
transfer
time
queue
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.)
Granted
Application number
JP7334105A
Other languages
English (en)
Other versions
JP3729546B2 (ja
Inventor
David R Wooten
デイビド・アール・ウーテン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Compaq Computer Corp
Original Assignee
Compaq Computer Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Compaq Computer Corp filed Critical Compaq Computer Corp
Publication of JPH08228200A publication Critical patent/JPH08228200A/ja
Application granted granted Critical
Publication of JP3729546B2 publication Critical patent/JP3729546B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 データ転送事象を、通常は等時転送であるデ
ータ転送と、通常は非同期転送である非周期的転送と、
制御転送との3つのカテゴリに編成するシリアル・バス
・ホスト制御機構アービタを提供する。 【解決手段】 アービタは基本的に周期的に動作する。
各周期の最初に、アービタは周期的転送と制御転送の間
で変動することが好ましい。総ての周期的転送が完了し
たとき、アービタは、行う様に予定が立てられた様々な
非同期転送にアクセス権を提供し、残りの制御転送を交
互に行う。アービタは周期的事象を優先し、その期間内
の任意の時間が使用可能な場合、それは自由時間と呼ば
れ、自由時間が残らない場合、または総て完了するまで
制御事象が周期的事象と交互に挟まれる。周期内の任意
の残りの時間は、非周期的転送によって循環式に使用さ
れる。好ましい実施例のアービタは、追加の制御または
非周期的転送を行えるかどうか判定するために、各周期
の間じゅう自由時間のその時点での合計を維持する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、幾つかのタイプの
シリアル・バス・デバイスを扱うことができるシリアル
・バス転送機構に関し、より詳細にはシリアル・バス上
でのデバイス動作機構の動作及びタイミングを管理する
アービタに関する。
【0002】
【従来の技術】コンピュータ・システムは、日々絶えず
性能が向上している。コンピュータ・システムのより優
れたパフォーマンスを実現するために、PCIすなわち
Peripheral Component Interchangeバス等の多数の新し
く進歩したバス構造が開発された。更に、コンピュータ
・システムのための新しいデバイス及び使用法が開発さ
れている。過去においては、コンピュータは本質的にス
タンドアローン装置であり、或いは他のコンピュータ・
システムとネットワーク接続されていた。しかしながら
今日では、最新のパーソナル・コンピュータは、より多
く接続されたマルチメディア指向のシステムになりつつ
ある。例えば、現在では高速ビデオ・オーディオ機能は
普通になってきており、電話システムとの統合が既に始
まっている。
【0003】しかし、これらの新しい機能の多くは、P
CIバス等の優れたバスの基本的な帯域幅または能力よ
りも下位にある。従って、新しい機能及びデバイスを夫
々PCIバスに直接接続するのはバスのローディングに
影響を与え全体のコストを大幅に上昇させることにな
り、効率的でない。更に、これらの新しい機能の多くは
本質的にシリアル特性であり、データは、並列バス構造
ではなくビット・ストリームで転送される。これは、配
線コストの削減等の多くの理由で行われ、必要なデータ
転送速度が遅いために行うことができる。
【0004】その結果、これらの様々な低い帯域幅のデ
バイスの総てに接続するシリアル・バス機構の開発が提
案されてきた。シリアル・バスは一連のポートを有する
ホスト制御機構によって構成され、これらの一連のポー
トは次に、デバイスまたは機能に直接接続されるか、或
いは更に他のデバイスまたは機能を支配するハブに接続
することができる。更にハブまたはホスト制御機構は、
必要ならば機能を組み込むことができる。この方式で
は、ツリー構造を発展させて妥当数の機能またはデバイ
スをシリアル・バス・システムに接続することができ
る。ホスト制御機構は、例えばPCIバス等のコンピュ
ータ内のバスにホスト制御機構を介して接続する。集信
装置として機能するホスト制御機構を備えることによっ
て、PCIバスへの接続は1つでよい。この接続によ
り、多数の接続を必要とせずにPCIバスの性能をより
良く利用できる。
【0005】ホスト制御機構、夫々のハブ、及び各機能
またはポートは、セットアップ及び初期設定動作を行う
特定の制御レジスタを含む。更に、シリアル・バス・シ
ステムでは、データ転送の3つの基本的なタイプが定義
される。第1のタイプは等時転送であり、実際には電話
による情報や音声情報等の連続実時間転送である。第2
のタイプは、プリンタの動作や従来のシリアル・ポート
動作等の非同期ブロック転送であり、第3のタイプは、
一般に様々な装置の制御情報と呼ばれるキーボードやマ
ウス、ポインティング・デバイス、ペン・インターフェ
ース、構成状況情報等の非同期の対話式デバイス転送で
ある。
【0006】ホスト制御機構が一連のパケットのとき、
情報はシリアル・バス・システムを介して渡され、その
結果、ホスト制御機構はバス・マスタ及びハブとして機
能し、デバイスはホスト制御機構の要求またはポーリン
グ・アクセスだけに応答する。パケット・タイプには、
データ・パケット、ホストからデバイスに対して使用す
るトークン・パケット、ハンドシェーク・パケット、特
殊制御パケットが含まれる。データ・パケットは、等時
性の非同期ブロックで非同期制御型である。トークン・
パケットは、データ・パケットの転送を可能にする。ハ
ンドシェーク・パケットは、データまたは制御パケット
の転送後に作動可能ハンドシェークを実行して、成功し
た受信を肯定応答したり不成功に終わった受信を示した
りするために使用される。特殊制御パケットは、論理リ
セット及び状況要求転送のために使用される。夫々の機
能またはデバイスは、論理アドレスを有する。
【0007】
【発明が解決しようとする課題】この説明の最も重要な
点は、等時、非同期ブロック、及び制御の3つのデータ
転送のタイプである。等時デバイスと非同期ブロック・
デバイス両方の制御機能が制御データ転送を使って行わ
れることに注意されたい。等時性デバイスは、所与の最
小帯域幅を有する仮想チャネルを必要とし、従って等時
転送はこの最小帯域幅を有する様に要求され或いはスケ
ジュールが立てられなければならない。帯域幅は、大き
なブロック・サイズの希な転送、小さなブロック・サイ
ズのより頻繁な転送、またはその組合せによって求めら
れる。非同期ブロックのデバイスは、一般にデータ転送
速度にある程度の柔軟性を持たせることができるため保
証された帯域幅を有する必要はないが、好ましくは、転
送はエラーを検出したときに再転送できるほど強力でな
ければならない。非同期デバイスは、実質的に、高帯域
と低帯域の2つのタイプがある。高帯域デバイスにはプ
リンタやモデム等が含まれ、低帯域デバイスはキーボー
ドやマウス等である。制御機能は比較的低い帯域であ
る。制御機能は本質的に一回限りの特性を有し、システ
ムの初期設定の間とデバイスのブロック転送を準備する
間に使用される。それに対して、等時及び非同期ブロッ
ク・デバイスは、かなり定期的な傾向があり、従って制
御及び対話デバイスとは違う動作をする。
【0008】ハブまたはホスト制御機構の各デバイス及
びポートは、適切なハブの特定ノードとデバイスそれ自
体の間で低レベルのバス転送プロトコルを処理する能力
を有する。これにより、パケット・タイプの数が制限さ
れた比較的単純な転送プロトコルが定義される。
【0009】一方、特に重要なことは、シリアル・バス
・システムにおいて特定デバイスの帯域を割り当てる機
構である。好ましい実施例では、シリアル・バスは5〜
20Mb/秒の帯域を有し、これを様々なデバイス間で
分割しなければならない。重要なことは、できれば、等
時デバイスが帯域の保証された部分を受け取り、非同期
ブロック転送と制御転送が飢餓状態にもならず過度に遅
延もされないことである。従って、シリアル・バス・シ
ステムにおいて行われる様々な転送を適切に調整する様
なアービタまたはスケジューラを開発しなければならな
い。
【0010】更に、アービタは、シリアル・バス・シス
テムを常に最大限に利用してシリアル・バス・システム
におけるデバイスのパフォーマンスを最高にできる様に
することが望ましい。更に、通例ソフトウェア・ベース
の機能の動作は低速であり、慣例的にハードウェアによ
ってより早い速度が得られるため、アービタの重要な部
分をハードウェアで処理することが望ましい。
【0011】
【課題を解決するための手段】本発明によるシリアル・
バス・ホスト制御機構は、データ転送事象を、一般に等
時転送であるデータ転送と、一般に非同期転送である非
周期的転送と、制御転送の3つのカテゴリに編成するア
ービタを利用する。アービタは基本的に、周期的に動作
する。各周期の最初において、アービタは周期的転送と
制御転送とを交互に行うことが好ましい。周期的転送が
総て完了すると、次にアービタは、行う様にスケジュー
ルが立てられた様々な非同期転送にアクセス権を提供し
て、残りの制御転送を交互に行う。好ましい実施例で
は、アービタは周期的事象を優先し、その周期内の任意
の時間が使用可能な場合、それは自由時間と呼ばれ、自
由時間が残っていなかまたは総てが完了するまで制御事
象が周期的事象に交互に挟まれる。周期内の残りの任意
の時間は、非周期的転送によって循環式に使用される。
好ましい実施例のアービタは、追加の制御または非周期
的転送を行えるかどうか判定するために、各周期の間自
由時間のその時点での合計を保持する。
【0012】この様に関連したデータ待ち行列でアービ
タを編成することにより、ソフトウェアの複雑さが最小
限に抑えられ、より高速なハードウェアを最大限に利用
でき、より低速なソフトウェアの使用を最小限に抑え
て、シリアル・バス・システムの全体的なパフォーマン
スを改善することができる。
【0013】本発明のより良い理解は、次の好ましい実
施例の詳細な説明を添付図面と共に検討するときに得る
ことができる。
【0014】
【実施例】次に図1を参照し、好ましい実施例によるコ
ンピュータ・システムCを概略的に示す。コンピュータ
・システムCは、インテルによるPentium(登録
商標)または486プロセッサ或いはそれらの等価物等
のプロセッサ100を有する。当然ながら、他のプロセ
ッサも使用できると理解されている。プロセッサ100
は、第2レベル即ちL2キャッシュ102に接続され、
メモリ/L2キャッシュ制御機構/PCIブリッジ10
4並びにアドレス/データ・バッファ106に接続され
る。コンピュータ・システムCのメイン・メモリ108
が、メモリ/L2キャシュ制御機構104とアドレス/
データ・バッファ106との間に接続される。プロセッ
サ100、キャッシュ102、メモリ/キャッシュ制御
機構104、アドレス/データ・バッファ106、及び
メイン・メモリ108はプロセッサ・システムを構成
し、PCIシステムによるプロセッサ・システムからP
CIバスへのブリッジを構成すると理解されている。当
然ながら、必要であれば代替えプロセッサ・システム及
び高速バス・アーキテクチャを使用できると理解されて
いる。更に、PCIブリッジ104には、アドレス・バ
ッファリングを含むこともできる。
【0015】PCIブリッジ104及びアドレス/デー
タ・バッファ106は、コンピュータ・システムCの高
速で高性能なバックボーンを実施するPCIバス110
に接続される。PCIから「ISA(Industry Standard
Architecture:インダストリー スタンダード アーキ
テクチャ) 」へのブリッジ110が、PCIブリッジ1
10とISAバス114の間に接続される。フロッピ・
ディスク制御機構116がISAバス114に接続さ
れ、同様にシステム「ROM(read only memory: 読取
り専用メモリ)」118も接続される。更に、交換可能
なカードを受け入れるために、ISAバス114に接続
された複数のISAスロットがあってもよい。
【0016】デバイスの大部分はPCIバス110に接
続される。例えば、SCSIまたは「IDE(Intellig
ent Drive Electronics:インテリジェント ドライブ
エレクトロニクス) 」コントローラ122が、PCIバ
ス110並びに関連ディスク・ドライブ及びその他の装
置(図示せず)に接続される。また、高性能なネットワ
ーク接続を可能にするために、ネットワーク・インター
フェース・カード(NIC)124がPCIバス110
に接続される。更に、ビデオ・グラフィック・システム
126がPCIバス110及び関連したモニタ128に
接続される。ファックス及びモデムのデータ処理のため
に、ファックス/モデム「DSP(degital signal pro
cessor: デジタル・シグナル・プロセッサ)」138を
PCIバス110に接続することもできる。これは、周
知の様に例示的なコンピュータ・システム・アーキテク
チャで、説明のために提供したものであり、当業者には
変形は容易且つ明白である。
【0017】この説明の重要な点は、シリアル・バス・
ホスト制御機構130がPCIバス110にも接続され
ていることである。示した実施例のシリアル・バス・ホ
スト制御機構130は、ホスト制御機構とハブの両方と
して機能し、ホスト・バス制御機構130には様々なハ
ブ及び機能が接続される。例えば、シリアル・バス・ホ
スト制御機構130の第1のポートにはプリンタ132
が接続され、一方第2のポートには更に他の拡張機能を
提供する拡張ハブ134が接続される。必須のCODE
C及びDAA構成要素を含む電話インターフェース13
6が第3のポートに接続され、電話線も受ける。電話線
は、アナログ線、ISDN線、PBX接続等の任意の使
用可能なタイプでよい。
【0018】図示した実施例では、更に、モニタ128
がハブ及びノードとして機能する。従って、モニタ12
8は、シリアル・バス・ホスト制御機構130の1つの
ポートに接続される。モニタ128のノードまたはデバ
イス機能により、モニタ128の構成をビデオ・システ
ム126で利用される高速データから独立させることが
できる。モニタ128は、最新のコンピュータ・システ
ムにおける従来の物理編成のためハブとして機能するこ
とが好ましい。他の装置を含むシステム・ユニットは机
の下または比較的離れた場所に置かれ、モニタ128、
キーボード140、マウス142やペン144等のポイ
ンティング・デバイス、電話ハンドセット146、及び
マイクロホンとスピーカだけはユーザが比較的利用しや
すい場所に置かれることが好ましい。モニタ128は、
事実上このユニットの中心となるので、理論的にはハブ
として適切な場所である。電話ハンドセット146は、
モニタ・ハブの1つのポートに接続され、電話インター
フェース136から直接、或いは他の場合なら、使用可
能な応答装置やボイス・メール機能等からデジタル化さ
れたアナログ情報を受け取ることができる。マイクロホ
ンは、モニタ・ハブの第2のポートに接続された音声入
力回路148の一部であり、一方音声出力回路150は
音声出力用に使用されるスピーカを含む。更に、キーボ
ード140は、モニター・ハブに接続され、更にマウス
142及びペンまたはスタイラス・ポインティング・デ
バイス・インターフェース144に接続するポートを有
するという点で、ハブ自体及びノードとして機能する。
この物理接続は、これらの装置が基本的な入力装置であ
るので適切であり、殆どの場合、使用または操作を容易
にするためにキーボード140の比較的近くにある。
【0019】これにより、シリアル・バス・システムに
よって、比較的遅いデータ転送速度の動作がシリアル・
バス・ホスト制御機構130に接続されることがわか
る。プリンタ132は、高帯域の非同期ブロック転送で
セットアップされ使用されるが、電話インターフェース
136と電話ハンドセット146、更に殆どの場合、音
声入力回路148と音声出力回路150は等時デバイス
であることが好ましい。キーボード140、マウス14
2、及びペン・インターフェース144は、低帯域の非
同期ブロック・デバイスとして扱うことができる。総て
の事例において、シリアル・バス・システム上で接続さ
れた特定のデバイスは、夫々個々のデバイスの制御及び
セットアップを可能にするために、シリアル・バス・ホ
スト制御機構130を介してプロセッサ100がアクセ
スする必要がある制御ポート及び構成レジスタを含む。
【0020】次に図2に移り、シリアル・バス・システ
ムのブロック図を示す。説明図は、全体像が分かる様な
ソフトウェア及びハードウェアの構成要素を含む。例え
ば、オペレーティング・システム200は、様々なシリ
アル・バス・デバイスとの通信を定義する。このため、
〔オペレーティング・システム200〕は、特定のデバ
イスを適切に構成する構成ソフトウェア202、及び様
々なデバイスに基本データ及び制御インターフェースを
提供するデバイス・ドライバ・ソフトウェア204とで
通信する。デバイス・ドライバ・ソフトウェア204と
構成ソフトウェア202は、シリアル・バス・サービス
206と呼ばれる層と対話する。シリアル・バス・サー
ビス206は、データをデバイス・ドライバ・ソフトウ
ェア204と構成ソフトウェア202の両方に戻し、オ
ペレーティング・システム200に直接戻すこともあ
る。シリアル・バス・サービス206は、4つの基本機
能を提供する。第1の機能はクライアント・サービス2
08であり、デバイス・ドライバ・ソフトウェア204
及び構成ソフトウェア202がシリアル・バス・サービ
ス206に登録するときに使用し、デバイス・ドライバ
・ソフトウェア204及び構成ソフトウェア202に事
象通知を戻す。シリアル・バス・サービス206は更
に、シリアル・バス・システム内の様々な機能またはデ
バイスの構成を追跡、管理し、更に各デバイスの構成状
態を保守する構成管理ソフトウェア210も含む。バス
管理モジュール212は、帯域や電力管理等のシリアル
・バス・システムの動作の高レベルの管理を必要に応じ
て等時と非同期両方のデバイスに提供する。バス管理モ
ジュール212は更に診断も実行する。第4のモジュー
ルは、構成ソフトウェア202とデバイス・ソフトウェ
ア204とホスト制御機構システム216との間で実デ
ータ転送を処理するデータ転送モジュール214であ
る。
【0021】ホスト制御機構システム216は、実際に
は、ホスト制御機構サービス・ソフトウェア218とシ
リアル・バス・ホスト制御機構130の2つの部分から
なる。ホスト制御機構サービス・ソフトウェア218
は、3つのモジュールを含み、その第1のモジュール
は、特定の転送またはチャネルのポーリングを実際に構
成する責任をもち、効率的または円滑な動作を可能にす
るスケジュール管理モジュール220である。スケジュ
ール管理モジュール220は事実上、主にシリアル・バ
ス・システムのアービタとみなすことができる。待ち行
列管理モジュール222は、様々なデータ待ち行列への
アクセスを制御する。コントローラ管理モジュール22
4は、シリアル・バス・ホスト制御機構130の実際の
動作及び構成を処理し、シリアル・バス・サービス20
6に特定の機能及び状況の情報を戻す。これにより、ホ
スト制御機構サービス218は、シリアル・バス・ホス
ト制御機構130と直接対話する。シリアル・バス・ホ
スト制御機構130は、更に低いレベルのバス・プロト
コルによって様々な機能またはデバイスと対話する。
【0022】次に図3を参照し、ホスト制御機構システ
ム216の論理動作と構成を示すブロック図を示す。P
CIバス110及びソフトウェア・インターフェース3
00は、物理的にはPCIバス110に接続され、論理
的にはシリアル・バス・サービス206に接続される。
ホスト制御機構サービス216の待ち行列管理モジュー
ル222は、事実上4つの待ち行列を処理し、第1及び
第2の待ち行列は、ブロック・データ送信待ち行列30
2とブロック・データ受信待ち行列304である。実際
にはこれらは、等時及び非同期ブロック転送データ待ち
行列である。更に他に、制御送信待ち行列306と制御
受信待ち行列308の2つの待ち行列がある。これらは
実際には、制御情報のための論理送信及び受信待ち行列
である。送信待ち行列302及び306は、送信論理部
310に接続され、一方受信待ち行列304及び308
は受信論理部312に接続される。送信及び受信論理部
310及び312は、ハブ機能314に接続され、ホス
ト制御機構130の実ポートに接続される。事実上スケ
ジュール管理モジュール220の機能であるポーリング
・スケジューラ316は、様々な待ち行列302、30
4、306及び308、並びに送信及び受信論理部31
0及び312に接続され、それによりパケットが、ポー
リング・スケジューラ316の動作に従って適切に往復
する。制御機構状況ブロック318が、ハブ機能314
とインターフェース300とに接続され、制御機構管理
モジュール224として機能する。
【0023】これは論理的構成であり、ソフトウェアと
ハードウェアの間の機能の実際の配分は変化してもよ
い。この説明は主に、ソフトウェアの複雑さを最小限に
抑えて全体的なパフォーマンスを最大限に高める、アー
ビタまたはポーリング・スケジューラ316のハードウ
ェア動作に関連している。様々な代替え構成は後で説明
する。
【0024】ポーリング・スケジューラ316の中にあ
るアービタは、幾つかの異なる方法で構成することがで
きる。これらの総ての構成において、ポーリング・スケ
ジューラ316は、リセットまたは再構成するための周
期タイマまたはチック・カウンタ(tick counter)を含
み、所定の周期タイム・スライスを提供し、それにより
等時転送を一定の順序に予定を立てることができる。周
期タイマはプログラム式であることが好ましく、その動
作は当業者には周知である。
【0025】ポーリング・スケジューラ316に接続さ
れたアービタの第1の構成では、行う様に予定が立てら
れた様々な事象の調停は、図4に示した様な単一の待ち
行列320の中に保持される。示した様々な事象は、実
際には、行う様に予定が立てられたデータ転送動作であ
る。例えば、電話インターフェース136と電話ハンド
セット146の間に等時仮想チャネルを接続して、電話
呼出しを受信できる様にする。この場合、一連の等時デ
ータ転送パケット要求は待ち行列320の中に入れら
れ、それによりシリアル・バス上の帯域が所与のパケッ
ト・サイズとデータ転送に十分になって電話での会話を
中断なしに行うことができる様になる。データ転送速度
が等時転送に関して比較的低速な場合は、待ち行列32
0内にエントリは1つでよいが、より高い転送速度が必
要な場合には、幾つかのエントリを配置して全部合わせ
た帯域幅をより大きくすることができる。更に、必要に
応じてパケット・サイズを変更して適応性を高めること
もできる。
【0026】等時転送要求は、待ち行列320の一番上
に配置され、それにより各周期の最初にアービタが待ち
行列を走査し始める前に等時転送が終わることが好まし
い。構成管理ソフトウェア210の一部は、シリアル・
バス・システムの全帯域幅を所与の等時及び非同期特性
の様々な転送に割り振って、等時転送が望み通りに行わ
れることを保証する。このため、構成管理ソフトウェア
210は、十分な等時転送だけがあり、その転送によっ
て帯域が完全には利用されない様に計算を行う。
【0027】図4の説明図では、待ち行列320内には
等時転送の次に非同期転送が配置される。例えば、これ
はプリンタ転送を含むことがある。これらの非同期転送
は、それらの転送が非同期でありそのためより適応性が
あるという自明の理由で、等時要求の後に配置される。
従って、非同期転送は、等時転送が行われた後でのみ実
行される。非同期転送の後には、制御転送が待ち行列3
20の中に場所を割り当てられる。制御転送は、転送が
適切な期間内に実行され飢餓状態にならない様に待ち行
列320内に配置される。
【0028】図4に示した様な単一の待ち行列320だ
けを使用する場合は、特に等時転送の数が増えた時、等
時転送と非同期転送の走査の後には制御転送用に最低の
時間しか残らないことがあるため、ホスト制御機構サー
ビス218のスケジュール管理モジュール220は極め
て困難になり、それによりスケジュール管理モジュール
220は、待ち行列320内の事象を頻繁に再編成し
て、非同期転送と制御転送が少なくとも周期的に最低の
繰返し率で行われる様に保証しなければならない。これ
は比較的複雑なタスクであり、このため、単一の待ち行
列編成を使用するのは望ましくない。単一の待ち行列3
20は、走査すべき待ち行列が1つだけなのでシリアル
・バス・ホスト制御機構130のハードウェア動作を簡
素化し、実際のスケジューリング及び飢餓状態の制御の
殆どを提供するスケジュール管理ソフトウェア220に
大きな重点が置かれる。これにより、ソフトウェアの複
雑さが高まり、通常はソフトウェアはハードウェアより
も低速で稼動するので、シリアル・バス・システムの全
体的パフォーマンスは最大化されない。
【0029】図5(A)及び図5(B)は、スケジュー
ラ316のアービタによって使用される待ち行列のより
好ましい編成を示す。図5(A)では、等時待ち行列3
40と非同期待ち行列342が使用される。等時待ち行
列340には等時転送だけが含まれ、各周期の間に一度
走査されることが好ましく、この待ち行列340は最初
に走査される。待ち行列342は、ブロック転送や制御
転送等の非同期事象を含む。待ち行列342は、実行後
に制御転送を除去して循環式に処理されることが好まし
い。制御転送は、パケット・ヘッダ情報を使用して転送
を識別することにより検出される。この構造は、等時転
送が単に適当に待ち行列340内に入れられ除去されて
スケジュール管理モジュール220の複雑さが減少する
という点で、単一の待ち行列320を上回る明らかな改
善であるが、待ち行列342にはブロックや制御等の様
々な非同期転送が入れられ、ブロック転送だけを取り除
く必要がある。一方、スケジュール管理機能は更に、待
ち行列342の順序をある程度維持して、制御事象が妥
当な期間内に確実に起こる様にしなければならない。ソ
フトウェアの複雑さは大幅に低減されるが、実際にはま
だ所与の望ましいデータ転送速度を上回る複雑さが存在
する。
【0030】図5(B)は、ブロック転送待ち行列34
6と制御転送待ち行列348とを有する代替え待ち行列
編成を示す。ブロック転送待ち行列346は、望ましく
は等時転送の次に非同期転送が続く順序で、等時転送と
非同期転送を両方とも含む。待ち行列346は各周期内
で一回走査されることが好ましく、制御待ち行列348
は時間と事象が使用可能なときに走査される。この場
合、各制御事象は実行後に取り除かれる。この編成は、
一定の事象をブロック待ち行列346に入れ、一方ラン
ダムまたは擬似ランダムな制御要求を別の待ち行列34
8に単純に入れるという点で、スケジュール管理ソフト
ウェア220の動作を更に簡素化する。この編成は、制
御事象がブロック事象の後にあり、そのため様々なブロ
ック事象が全周期及びそれ以上を占める場合に飢餓状態
になることがあるという欠点を有する。従って、スケジ
ュール管理ソフトウェア220はこうした可能性を認識
して、待ち行列346及び348を適切に扱わなければ
ならない。更にスケジュール管理ソフトウェア220
は、非同期転送を再編成して飢餓状態にならない様にし
なければならない場合もある。
【0031】次に図6に移り、好ましい実施例による待
ち行列構造を示す。この事例では、周期的転送待ち行列
360、非周期的転送待ち行列362、及び制御転送待
ち行列364の3つの待ち行列がアービタによって使用
される。総ての等時要求は周期的待ち行列360に入れ
られ、一方非同期ブロック転送は通常総て非周期的待ち
行列362に入れられ、保証された帯域が必要な場合に
は非同期ブロック転送が周期的待ち行列360に入れら
れる。制御待ち行列364には、様々な制御事象が入れ
られる。更に、図7及び図8のフローチャートにアービ
タの動作を示す。
【0032】所与の周期の動作サイクルは、ステップ4
00で、周期タイマ・パルスの受信または事象に基づい
て始まる。アービタは、周期的待ち行列360のポイン
タを一番上に移動し、次に制御はステップ402に進ん
で周期内で使用可能な自由時間がゼロよりも大きいかど
うか判定する。構成管理ソフトウェア210とスケジュ
ール管理ソフトウェア220は、周期的待ち行列360
内の、通常は等時転送だけの転送によって利用される算
出合計時間を決定する。この算出合計時間と周期タイマ
によって定義された合計時間との差が自由時間である。
非周期的事象と制御事象が実際に行われ、全く飢餓状態
にならないことを保証するために、自由時間は常にゼロ
よりも大きいことが好ましい。この自由時間の保証は構
成管理ソフトウェア210のより高レベルの機能であ
り、自由時間がゼロを下回って再割振りを実行できない
場合に、様々なデバイス・ドライバ204が要求に応じ
ない様に帯域要求を調整する。
【0033】自由時間が正であると仮定すると、制御は
次にステップ404に進んで制御待ち行列364内に項
目があるかどうかを判定する。ある場合は、制御はステ
ップ406に進んで、読取りが、制御待ち行列364内
に提供された前の読取り要求から保留状態であるかどう
かを判定する。シリアル・バス・ホスト制御機構130
の動作を部分的に簡素化するためには、制御動作によっ
てデバイスに読取り要求が出され応答が受け取られなか
ったら制御動作はそれ以上進まないことが好ましい。代
替え実施例では、読取り遅延はデバイス毎にデバイス上
で行われるが、これはホスト制御機構130の複雑さを
増大させることになり好ましい実施例ではない。ホスト
制御機構130の複雑さを回避するためには、単に読取
り再実行を待つことが望ましい。読取りが保留状態の場
合は、制御はステップ408に進み、読取り動作が中断
されたかどうかを判定する。読取りを要求してもデバイ
スが結果を戻さないこともある。読取り動作が中断され
た場合、制御はステップ410に進んで、読取りトーク
ン・パケットを読取り、保留していた特定デバイスに渡
して、その時にデバイスが応答する準備ができているか
どうか判定する。制御は、繰返し読取りトークンのステ
ップ410からステップ412に進む。
【0034】ステップ408で読取りに考慮された時間
が完了するか、またはステップ406で読取りが保留さ
れていなかった場合は、制御はステップ413に進ん
で、残りの自由時間が次の制御項目を実行するのに十分
かどうか判定する。十分でない場合は、制御はステップ
420に進む。十分な場合は、制御はステップ414に
進み、次の制御項目を実行して待ち行列364から除去
する。当然ながら、これが読取り動作であった場合は、
読取り保留フラグが送られることになる。制御はステッ
プ414からステップ412に進む。ステップ412で
は、制御事象によって要求された特定の転送が完了した
かどうか判定される。完了している場合は、制御はステ
ップ416に進む。完了していない場合は、制御はステ
ップ418に進んで、機能またはデバイスからの特定の
応答または肯定応答が中断されたかどうか判定する。中
断されてない場合は、制御はステップ412に戻り、完
了または中断を待つ。動作が完了または中断されていた
場合は、制御はステップ412及び418からステップ
416に進む。ステップ416では、転送を行うために
実際に必要な時間が自由時間の値から差し引かれ、その
周期における残りの自由時間の量が決定される。
【0035】次に、制御はステップ420に進み、周期
的待ち行列360内に周期的項目があるかどうか判定す
る。制御はまた、ステップ402において自由時間がゼ
ロよりも大きくなかった場合、またはステップ404に
おいて制御項目がなかった場合もステップ420に進
む。周期的項目がある場合は、制御はステップ422に
進み、待ち行列360内の次の周期的項目を実行する。
次に制御はステップ424に進み、転送が完了したかど
うかを判定する。完了していない場合は、制御はステッ
プ426に進み、その転送が中断されたかどうかを判定
する。中断されていない場合は、制御はステップ424
に戻る。中断が行われた場合または転送が完了した場合
は、制御はステップ426及び424からステップ42
8に進み、自由時間の変化が計算される。ホスト制御機
構サービス216は、周期的転送毎に、算出時間または
おおよその時間を知ることが好ましい。図6は、待ち行
列360、362、及び364内の特定の事象を示して
いるが、待ち行列のエントリは単に、関連テーブル内へ
のエントリ・ポイントまたはインデックスであることが
好ましい。テーブルのエントリは、単数または複数のア
ドレス、パケット・タイプ、送信及び受信パケットの大
きさ、ホスト制御機構130がバス支配能力を使ってア
クセスできるメイン・メモリ108内のパケットの位
置、特定の転送の中断期間、一般に少なくとも中断期間
でなければならない転送の算出時間、及び他の関連情報
等の制御ブロック情報を含む。テーブル・メモリは、速
さのため、そしてPCIバス110のトラフィックを最
少にするためにホスト制御機構130内にあってもよ
く、別個のローカル・メモリ内にあってもよく、または
メイン・メモリ108内にあってもよい。次に、この算
出時間が転送に必要な実際の時間と比較され、自由時間
を適切に調整することができる。転送が、算出時間より
も短い時間で完了した場合は、その差を自由時間に加え
ることができ、一方転送が適切な時間よりも長くかかっ
た場合は、自由時間が減らされる。一般に実際の時間
は、算出時間または要求時間よりも短くなければならな
いが、一定の条件下では実際の時間が要求時間を超える
可能性もあり得ると理解されている。次に制御はステッ
プ402に戻り、このループを続ける。
【0036】ステップ420で周期的項目がない場合
は、制御はステップ429に進み、次の周期的項目を実
行するのに十分な自由時間があるかどうかを判定する。
時間が十分にない場合は、制御はステップ402に戻
る。十分にある場合は、制御はステップ430に進み、
非周期的待ち行列362内の次の非周期項目を実行す
る。非周期的待ち行列362は循環待ち行列として処理
され、どの項目も除去することなく完全に走査されるこ
とが好ましい。周期的待ち行列360は上から下に一回
走査され、制御待ち行列364はFIFOとして処理さ
れる。スケジュール管理及び構成管理ソフトウェア22
0及び210は、非周期的待ち行列362に事象を入れ
る責任を持つ。非周期的転送が実行され、制御はステッ
プ432に進んでそれが完了したかどうかを確認する。
完了していない場合は、制御はステップ434に進み、
その転送が中断されたかどうか判定する。中断されてな
い場合は、制御はステップ432に戻る。転送がステッ
プ434で中断したかステップ432で完了した場合
は、制御はステップ436に進み、非周期的転送を行う
ために必要な時間が残りの自由時間から差し引かれ、こ
の周期における全自由時間が決定される。次に制御はス
テップ402に戻る。非周期的待ち行列362は、高帯
域と低帯域両方の総ての非同期項目を含むことが好まし
く、高帯域のデバイスと低帯域のデバイスの主な違い
は、データ・サイズと、ある程度、ポーリング率であ
る。この好ましい実施例の場合は、それらは非周期的待
ち行列362に簡単に入れられ、周期的ポーリング動作
ではない単一事象型転送のためだけに制御待ち行列36
4が確保される。
【0037】この編成では、自由時間の量が比較的大き
い場合に、周期的事象はかなり頻繁に実行されることに
注意されたい。これは、一般にポートのハンドシェーク
が主に専用ハードウェアの機能であるためデバイス内で
は問題にならない。更に、これにより、飢餓状態を回避
するために自由時間が少ないときに待ち行列362を整
理し直す問題が軽減される。更に、潜在的高速ポーリン
グは、休止バス時間または非同期事象を行わなければな
らない第2の周期を定義するよりも好ましいと考えられ
る。しかし、非同期項目は、この潜在的高速ポーリング
が望ましくない場合に、等時項目と一緒に周期的待ち行
列360に入れてもよい。
【0038】この全プロセスの間の任意時間に周期的タ
イマがゼロになる様に数えられる場合は、現在の転送が
完了した後ですぐに新しい周期が始まって、制御がステ
ップ400に戻り、それにより周期的待ち行列ポインタ
が最上部にリセットされて、各周期の間周期的事象を走
査することができることは周知である。周期的タイマが
ゼロになる様に数えられるときに何らかの理由で制御ま
たは非周期的転送が行われている場合は、必要な追加の
完了時間を次の周期の自由時間から差し引かなければな
らない。
【0039】この方式では、制御転送は、極めて短いこ
とが多く、非常に高い優先順位を与えられるが、周期的
転送が任意の自由時間を提供する場合のみ行われる。総
ての周期的転送が行われた後、非周期的転送が循環式に
行われ、残りの制御項目が間に挟まれる。図7及び図8
に示されている様な調停フローにおける3つの待ち行列
360、362及び364の使用によって、スケジュー
ル管理モジュール220が最も簡素化される。スケジュ
ール管理ソフトウェア220は、転送要求を特定待ち行
列に入れることだけを必要とし、アービタはその待ち行
列からの事象を処理する。ソフトウェア220は、図
4、図5(A)及び図5(B)の前例の様に、待ち行列
を周期的に再編成する必要がない。これにより動作は大
幅に簡略化され、重要な部分は比較的簡素化されたハー
ドウェアで行われているため、シリアル・バス・システ
ムの全体的動作のパフォーマンスの向上が実現される。
【0040】調停動作の様々なステップにおいて、残り
の自由時間の算出が必要であることに注意されたい。こ
れは、図9(A)に示されている様に行うことができ
る。ホスト制御機構130は、スケジュール管理ソフト
ウェア220が算出全自由時間を記憶するレジスタ50
0を含むことが好ましい。このレジスタ500は、自由
時間の値、即ち周期的待ち行列360内の全事象に関し
て算出した等時転送及び非同期転送の合計時間を周期時
間から差し引いた結果を含む。このレジスタ500は、
選択された入力が周期的タイマ・パルスに接続されたマ
ルチプレクサ502の1つの入力に接続される。マルチ
プレクサ502の出力は、自由時間レジスタ504の並
列ロード入力に接続され、レジスタ504は実際の残り
の自由時間を管理する。自由時間レジスタ504は、周
期的タイマ事象か、等時、非同期または制御の特定の転
送の完了または中断の何れかによってロードされる。自
由時間レジスタ504のデータ出力は、加算器506の
正の入力に提供される。加算器506への負または減じ
る入力は、加算器508の出力によって提供される。加
算器508の正または加える入力は、特定の転送に関す
る実際の時間を受け取る。これは、転送が開始されたと
きに始動され転送が完了したときに停止される簡単なタ
イマによって保持されることが好ましい。加算器508
の負または減算入力は、2つのマルチプレクサ510の
出力によって提供される。マルチプレクサ510の選択
は、周期的事象があるかどうかに基づく。周期的事象が
行われていない場合は、値ゼロに接続されたマルチプレ
クサ510のゼロ入力が選択され、それにより、この事
例では自由時間レジスタの値が単に周期的または制御事
象に必要な実際の時間から差し引かれる。しかし、周期
的事象が行われていたときは、その特定の事象について
算出した時間がマルチプレクサ510の1つの入力に提
供され、それによりこの事例では自由時間の値と算出時
間の値とを加え実際の時間の値を減じたものが加算器5
06の出力に提供される。加算器506の出力はマルチ
プレクサ502のゼロ入力に接続され、それにより自由
時間レジスタは次に、アービタが利用する自由時間の値
を維持するために適切に変更される。自由時間レジスタ
504はまた、決定ステップ402においてアービタに
よって利用されるゼロよりも大きな出力を含む。
【0041】代替え実施例では、算出全自由時間レジス
タ500を、スケジュール管理ソフトウェア220及び
周期的タイマ再ロード・レジスタ522から周期的事象
の算出全転送時間を受けとるレジスタ520と置き換え
ることができ、それはシリアル・バス・ホスト制御機構
130内にあって常に周期的タイマを維持する。レジス
タ522内の周期的タイマの時間は、加算器524の正
または加える入力に提供され、周期的事象の算出合計時
間は加算器524の負または減じる入力に提供される。
次に、加算器524の出力はマルチプレクサ504の1
つの入力に接続され、従ってこの方式ではソフトウェア
220は自由時間全部を算出する必要はなく、周期的事
象の算出全転送時間を簡単に提供することができる。
【0042】本発明の前述の開示及び説明はその例示
的、説明的なものであり、大きさ、形状、材料、成分、
回路素子、配線接続及び接触、並びに例示した回路、構
造及び動作方法の詳細の様々な変更は、本発明の精神か
ら逸脱しない範囲で行うことができる。
【0043】
【発明の効果】以上、主要なデータ・タイプ毎に3つの
独立した待ち行列を利用する好ましいアービタを説明し
たが、このアービタは比較的単純であり、ホスト制御機
構システム216内で利用されるスケジュール管理ソフ
トウェア220を大幅に簡素化する。この方式では、ソ
フトウェア要件を最小限に抑えることによってシリアル
・バス・システム動作を大幅に高めることができ、更に
ハードウェアを複雑にし過ぎることがない。
【図面の簡単な説明】
【図1】好ましい実施例によるシリアル・バス・システ
ムを組み込むコンピュータ・システムのブロック図であ
る。
【図2】好ましい実施例によるシリアル・バス・システ
ム内の様々なソフトウェア及びハードウェア機能の区分
を示すブロック図である。
【図3】ホスト制御機構システムのハードウェアとソフ
トウェアに配分される様々な論理ブロックを示す図2の
ホスト制御機構システムのブロック図である。
【図4】第1の実施例による調停待ち行列の図である。
【図5】(A)及び(B)は夫々第2及び第3の実施例
による調停待ち行列の図である。
【図6】好ましい実施例による調停待ち行列の図であ
る。
【図7】好ましい実施例によるアービタの動作を示すフ
ローチャートの前半である。
【図8】好ましい実施例によるアービタの動作を示すフ
ローチャートの後半である。
【図9】(A)は図7及び図8のアービタに使用される
自由時間計算器のブロック図であり、(B)は(A)の
一部分の代替え実施例の図である。
【符号の説明】
100 プロセッサ 102 L2キャッシュ 104 メモリ/L2キャッシュ制御機構/PCIブリ
ッジ 106 アドレス/データ・バッファ 108 メイン・メモリ 112 PCI/ISAブリッジ 116 フロッピ制御機構 118 ROM 120 スロット 122 SCSI及び/またはIDE 124 NIC 126 ビデオ・システム 128 モニタ 130 シリアル・バス・ホスト制御機構 132 プリンタ 134 拡張ハブ 136 電話インターフェース 138 ファックス/モデムDSP 140 キーボード 142 マウス 144 ペン・インターフェース 146 電話ハンドセット 148 音声入力 150 音声出力 200 オペレーティング・システム 202 構成ソフトウェア 204 デバイス・ソフトウェア 206 シリアル・バス・サービス 208 クアイアント・サービス 210 構成管理 212 バス管理 214 データ転送 216 ホスト制御機構システム 218 ホスト制御機構サービス 220 スケジュール管理 222 待ち行列管理 224 制御機構管理 300 PCIインターフェース/ソフトウェア・イン
ターフェース 302 ブロック・データ送信待ち行列 304 ブロック・データ受信待ち行列 306 制御送信待ち行列 308 制御受信待ち行列 310 送信論理機構 312 受信論理機構 314 ハブ機能 316 ポーリング・シュケジューラ 318 制御機構状況ブロック

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 等時ブロック・データ、非同期ブロック
    ・データ、及び非同期制御データを含む複数の異なるデ
    ータ・タイプのデータ転送を含む動作を制御する際に使
    用するアービタであって、 基本時間周期を確立する周期的タイマと、 等時及び非同期ブロック・データ転送を含む周期的デー
    タ転送待ち行列と、 非同期ブロック・データ転送を含む非周期的データ転送
    待ち行列と、 制御データ転送を含む制御データ転送待ち行列と、 総ての周期的データ転送の予定を立て他の転送を実行し
    た後で、前記基本時間周期における自由時間を決定する
    手段と、 前記周期的待ち行列、前記非周期的待ち行列、及び前記
    制御待ち行列の1つから実行すべき次の転送を選択する
    手段と、 を含み、自由時間がゼロよりも少ない場合に次の周期的
    データ転送を選択する前記手段が、自由時間がゼロより
    も多い場合は、総ての自由時間がゼロになるかまたは総
    ての周期的データ転送を完了するまで、夫々の待ち行列
    における次の周期的データ転送と次の制御データ転送の
    間で選択を変化させ、周期的待ち行列内の総ての周期的
    データ転送を完了して自由時間がゼロよりも大きい場合
    は、次の制御データ転送と次の非周期的データ転送の間
    で変更するアービタ。
  2. 【請求項2】 選択する前記手段が、前記転送の完了後
    に、完了した制御データ転送を前記制御待ち行列から除
    去することを特徴とする、請求項1に記載のアービタ。
  3. 【請求項3】 選択する前記手段が、制御データ転送が
    読取り転送であって前記読取り応答を受け取っていない
    かどうかを判定し、前記制御待ち行列内の次の制御デー
    タ転送を選択する代わりに読取りトークンを提供するこ
    とを特徴とする、請求項1に記載のアービタ。
  4. 【請求項4】 自由時間を決定する前記手段が、前記基
    本周期の最初に自由時間を記憶することを特徴とする、
    請求項1に記載のアービタ。
  5. 【請求項5】 自由時間を決定する前記手段が、制御デ
    ータ転送に必要な時間を前記制御データ転送完了後の自
    由時間から差し引くことを特徴とする、請求項4に記載
    のアービタ。
  6. 【請求項6】 自由時間を決定する前記手段が、前記非
    周期データ転送完了後の前記自由時間から非周期的デー
    タ転送に必要な時間を差し引き、自由時間を決定する前
    記手段が、前記周期的データ転送の完了後に、前記自由
    時間に算出転送時間を加え、周期的データ転送用の前記
    自由時間から実際の転送時間を差し引くことを特徴とす
    る、請求項5に記載のアービタ。
  7. 【請求項7】 自由時間を決定する前記手段が、前記非
    周期的データ転送完了後に非周期的データ転送に必要な
    時間を自由時間から差し引くことを特徴とする、請求項
    4に記載のアービタ。
  8. 【請求項8】 自由時間を決定する前記手段が、前記周
    期的データ転送の完了後に、算出転送時間を前記自由時
    間に加え、周期的データ転送用の前記自由時間から実際
    の転送時間を差し引くことを特徴とする、請求項4に記
    載のアービタ。
  9. 【請求項9】 自由時間を決定する前記手段が、基本周
    期の最初に、前記周期的待ち行列内の周期的データ転送
    用の算出全時間を基本時間周期から差し引くことを特徴
    とする、請求項4に記載のアービタ。
  10. 【請求項10】 等時ブロック・データ、非同期ブロッ
    ク・データ、非同期制御データを含む複数の様々なデー
    タ・タイプのデータ転送を含む動作を調停するための方
    法であって、 基本時間周期を確立する段階と、 要求された等時及び非同期データ転送を含む周期的デー
    タ転送待ち行列を準備する段階と、 要求された非同期データ転送を含む非周期的データ転送
    待ち行列を準備する段階と、 要求された制御データ転送を含む制御データ転送待ち行
    列を準備する段階と、 総ての周期的データ転送の予定を立て他の転送を実行し
    た後で前記基本時間周期における自由時間を決定する段
    階と、 前記周期的待ち行列、前記非周期的待ち行列、及び前記
    制御待ち行列の1つから実行すべき次の転送を選択する
    段階と、 を含み、自由時間がゼロよりも少ない場合に次の周期的
    データ転送を選択する前記段階が、自由時間がゼロより
    も多い場合は、総ての自由時間がゼロになるかまたは総
    ての周期的データ転送を完了するまで、夫々の待ち行列
    における次の周期的データ転送と次の制御データ転送の
    間で選択を変化させ、周期的待ち行列内の総ての等時デ
    ータ転送を完了して自由時間がゼロよりも大きい場合
    は、次の制御データ転送と次の非周期的データ転送の間
    で変更する方法。
  11. 【請求項11】 選択する前記段階が、前記転送の完了
    後に前記制御待ち行列から完了した制御データ転送を除
    去することを特徴とする、請求項10に記載の方法。
  12. 【請求項12】 選択する前記段階が、制御データ転送
    が読取り転送であって前記読取り応答を受け取っていな
    いかどうかを判定し、前記制御待ち行列内の次の制御デ
    ータ転送を選択する代わりに読取りトークンを提供する
    ことを特徴とする、請求項10に記載の方法。
  13. 【請求項13】 自由時間を決定する前記段階が、前記
    基本周期の最初に自由時間を記憶することを特徴とす
    る、請求項10に記載の方法。
  14. 【請求項14】 自由時間を決定する前記段階が、制御
    データ転送に必要な時間を前記制御データ転送完了後の
    自由時間から差し引くことを特徴とする、請求項13に
    記載の方法。
  15. 【請求項15】 自由時間を決定する前記段階が、前
    記非周期的データ転送完了後に非周期的データ転送に必
    要な時間を前記自由時間から差し引き、自由時間を決定
    する前記段階が、前記周期的データ転送完了後に、算出
    転送時間を前記自由時間に加え実際の転送時間を周期的
    データ転送用の前記自由時間から差し引くことを特徴と
    する、請求項14に記載の方法。
  16. 【請求項16】 自由時間を決定する前記段階が、前記
    非周期的データ転送完了後に、非周期的データ転送に必
    要な時間を前記自由時間から差し引くことを特徴とす
    る、請求項13に記載の方法。
  17. 【請求項17】 自由時間を決定する前記段階が、前記
    周期的データ転送完了後に、算出転送時間を前記自由時
    間に加え、実際の転送時間を周期的データ転送用の前記
    自由時間から差し引くことを特徴とする、請求項13に
    記載の方法。
  18. 【請求項18】 自由時間を決定する前記段階が、基本
    周期の最初に、前記周期的待ち行列内の周期的データ転
    送用の算出合計時間を基本時間周期から差し引くことを
    特徴とする、請求項13に記載の方法。
JP33410595A 1994-11-29 1995-11-29 データ転送を含む動作を制御する際に使用するアービタ及びデータ転送を含む動作を調停するための方法 Expired - Fee Related JP3729546B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/346,097 1994-11-29
US08/346,097 US5621898A (en) 1994-11-29 1994-11-29 Arbiter organization for serial bus transfers

Publications (2)

Publication Number Publication Date
JPH08228200A true JPH08228200A (ja) 1996-09-03
JP3729546B2 JP3729546B2 (ja) 2005-12-21

Family

ID=23357937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33410595A Expired - Fee Related JP3729546B2 (ja) 1994-11-29 1995-11-29 データ転送を含む動作を制御する際に使用するアービタ及びデータ転送を含む動作を調停するための方法

Country Status (4)

Country Link
US (1) US5621898A (ja)
EP (1) EP0715261A1 (ja)
JP (1) JP3729546B2 (ja)
CA (1) CA2163419A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998043391A1 (fr) * 1997-03-21 1998-10-01 Hitachi, Ltd. Dispositif electronique, procede d'utilisation et systeme
JP2005071353A (ja) * 2003-08-20 2005-03-17 Microsoft Corp 連続媒体優先順位を意識した記憶装置スケジューラ
JP2010165175A (ja) * 2009-01-15 2010-07-29 Internatl Business Mach Corp <Ibm> バスの使用権を制御する装置および方法
JP2015166972A (ja) * 2014-03-04 2015-09-24 セイコーエプソン株式会社 転送システムおよび印刷装置

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832492A (en) * 1995-09-05 1998-11-03 Compaq Computer Corporation Method of scheduling interrupts to the linked lists of transfer descriptors scheduled at intervals on a serial bus
US5948094A (en) * 1995-09-29 1999-09-07 Intel Corporation Method and apparatus for executing multiple transactions within a single arbitration cycle
US5671365A (en) * 1995-10-20 1997-09-23 Symbios Logic Inc. I/O system for reducing main processor overhead in initiating I/O requests and servicing I/O completion events
SG74010A1 (en) 1996-06-14 2000-07-18 Compaq Computer Corp Serial bus hub
US5799196A (en) * 1996-07-02 1998-08-25 Gateway 2000, Inc. Method and apparatus of providing power management using a self-powered universal serial bus (USB) device
US5784569A (en) * 1996-09-23 1998-07-21 Silicon Graphics, Inc. Guaranteed bandwidth allocation method in a computer system for input/output data transfers
JPH10154373A (ja) * 1996-09-27 1998-06-09 Sony Corp データデコードシステムおよびデータデコード方法、伝送装置および方法、並びに、受信装置および方法
US6119190A (en) 1996-11-06 2000-09-12 Intel Corporation Method to reduce system bus load due to USB bandwidth reclamation
US5890015A (en) * 1996-12-20 1999-03-30 Intel Corporation Method and apparatus for implementing a wireless universal serial bus host controller by interfacing a universal serial bus hub as a universal serial bus device
EP0859323B1 (en) * 1997-02-14 2007-03-21 Canon Kabushiki Kaisha Data transmission apparatus, system and method, and image processing apparatus
US6012117A (en) * 1997-03-14 2000-01-04 Intel Corporation Methods and apparatus for arbitrating and controlling arbitration for access to a serial bus
US6199127B1 (en) * 1997-12-24 2001-03-06 Intel Corporation Method and apparatus for throttling high priority memory accesses
US6085265A (en) * 1998-01-09 2000-07-04 Toshiba America Information Systems, Inc. System for handling an asynchronous interrupt a universal serial bus device
US6138200A (en) * 1998-06-09 2000-10-24 International Business Machines Corporation System for allocating bus bandwidth by assigning priority for each bus duration time slot to application using bus frame and bus duration
US6202116B1 (en) 1998-06-17 2001-03-13 Advanced Micro Devices, Inc. Write only bus with whole and half bus mode operation
US6199132B1 (en) 1998-06-17 2001-03-06 Advanced Micro Devices, Inc. Communication link with isochronous and asynchronous priority modes
US6151651A (en) * 1998-06-17 2000-11-21 Advanced Micro Devices, Inc. Communication link with isochronous and asynchronous priority modes coupling bridge circuits in a computer system
US6148357A (en) * 1998-06-17 2000-11-14 Advanced Micro Devices, Inc. Integrated CPU and memory controller utilizing a communication link having isochronous and asynchronous priority modes
US6532019B1 (en) 1998-06-17 2003-03-11 Advanced Micro Devices, Inc. Input/output integrated circuit hub incorporating a RAMDAC
US6891797B1 (en) 1998-07-06 2005-05-10 Canon Kabushiki Kaisha Method and device for communicating information
US6101613A (en) * 1998-07-06 2000-08-08 Intel Corporation Architecture providing isochronous access to memory in a system
US6119243A (en) * 1998-07-06 2000-09-12 Intel Corp. Architecture for the isochronous transfer of information within a computer system
US6336179B1 (en) 1998-08-21 2002-01-01 Advanced Micro Devices, Inc. Dynamic scheduling mechanism for an asynchronous/isochronous integrated circuit interconnect bus
US6381647B1 (en) * 1998-09-28 2002-04-30 Raytheon Company Method and system for scheduling network communication
US6243778B1 (en) * 1998-10-13 2001-06-05 Stmicroelectronics, Inc. Transaction interface for a data communication system
JP3543649B2 (ja) * 1998-10-27 2004-07-14 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US6272563B1 (en) 1998-11-03 2001-08-07 Intel Corporation Method and apparatus for communicating routing and attribute information for a transaction between hubs in a computer system
KR100359092B1 (ko) * 1998-11-18 2003-02-19 삼성전자 주식회사 가변 등시성 데이터 전송방법 및 그 장치
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
US6421751B1 (en) 1998-11-23 2002-07-16 Advanced Micro Devices, Inc. Detecting a no-tags-free condition in a computer system having multiple outstanding transactions
US6690676B1 (en) 1998-11-23 2004-02-10 Advanced Micro Devices, Inc. Non-addressed packet structure connecting dedicated end points on a multi-pipe computer interconnect bus
US6457081B1 (en) 1998-11-23 2002-09-24 Advanced Micro Devices, Inc. Packet protocol for reading an indeterminate number of data bytes across a computer interconnection bus
US6470410B1 (en) 1998-11-23 2002-10-22 Advanced Micro Devices, Inc. Target side concentrator mechanism for connecting multiple logical pipes to a single function utilizing a computer interconnection bus
US6618782B1 (en) 1998-11-23 2003-09-09 Advanced Micro Devices, Inc. Computer interconnection bus link layer
US6457084B1 (en) 1998-11-23 2002-09-24 Advanced Micro Devices, Inc. Target side distributor mechanism for connecting multiple functions to a single logical pipe of a computer interconnection bus
US6256698B1 (en) 1999-01-11 2001-07-03 Sony Corporation Method of and apparatus for providing self-sustained even arbitration within an IEEE 1394 serial bus network of devices
US6425032B1 (en) 1999-04-15 2002-07-23 Lucent Technologies Inc. Bus controller handling a dynamically changing mix of multiple nonpre-emptable periodic and aperiodic devices
US6351783B1 (en) * 1999-05-20 2002-02-26 Intel Corporation Method and apparatus for isochronous data transport over an asynchronous bus
US6600756B1 (en) * 1999-06-14 2003-07-29 Hewlett-Packard Development Company, Lp. Method of improving the performance of a bus which is asynchronous-traffic intensive
US6611926B1 (en) * 1999-11-29 2003-08-26 Hewlett-Packard Development Company, L.P. Mechanisms to sample shared-dirty-line addresses
US6363461B1 (en) * 1999-12-16 2002-03-26 Intel Corportion Apparatus for memory resource arbitration based on dedicated time slot allocation
US6412049B1 (en) 1999-12-16 2002-06-25 Intel Corporation Method for minimizing CPU memory latency while transferring streaming data
US6415367B1 (en) 1999-12-16 2002-07-02 Intel Corporation Apparatus for reducing asynchronous service latency in a time slot-based memory arbitration scheme
US7406554B1 (en) * 2000-07-20 2008-07-29 Silicon Graphics, Inc. Queue circuit and method for memory arbitration employing same
EP1178395A3 (en) * 2000-07-31 2009-05-20 Texas Instruments Incorporated Apparatus and method for communicating a multiword digital message with an isochronous-signal processor
DE10038155A1 (de) * 2000-08-04 2002-02-21 Siemens Ag Kommunikationsverfahren
US6859852B2 (en) * 2000-09-08 2005-02-22 Texas Instruments Incorporated Immediate grant bus arbiter for bus system
US6901451B1 (en) * 2000-10-31 2005-05-31 Fujitsu Limited PCI bridge over network
JP4477877B2 (ja) * 2001-12-03 2010-06-09 エヌエックスピー ビー ヴィ 通信バスシステム
DE10219359B4 (de) * 2002-04-30 2007-05-03 Advanced Micro Devices, Inc., Sunnyvale Vorrichtung und Verfahren mit einem Queuemechanismus
JP2008515073A (ja) 2004-09-28 2008-05-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ処理システム及びメモリアービトレーションのための方法
US7433984B2 (en) * 2004-10-13 2008-10-07 Texas Instruments Incorporated Time-based weighted round robin arbiter
JP4282591B2 (ja) * 2004-11-30 2009-06-24 株式会社東芝 スケジュール管理装置、スケジュール管理方法及びプログラム
US20080244135A1 (en) * 2005-05-04 2008-10-02 Nxp B.V. Memory Controller and Method For Controlling Access to a Memory, as Well as System Comprising a Memory Controller
WO2008035352A2 (en) * 2006-09-18 2008-03-27 Sandisk Il Ltd. A method and a storage device estimating a completion time for a storage operation
KR100970595B1 (ko) 2008-10-20 2010-07-16 한국항공우주연구원 주기/비주기 통신 테이블의 데이터 구조를 이용한 통신 시스템 및 방법
US9794979B2 (en) 2015-04-13 2017-10-17 Qualcomm Incorporated Method for arbitration and adaptive power-cycling in a multi-channel network
WO2018204391A1 (en) 2017-05-05 2018-11-08 Microchip Technology Incorporated Devices and methods for prioritizing transmission of events on serial communication links
DE112018002334T5 (de) 2017-05-05 2020-01-16 Microchip Technology Inc. Vorrichtungen und verfahren zur übertragung von ereignissen mit einer gleichförmigen latenz auf seriellen kommunikationsverbindungen
CN113268183B (zh) * 2021-05-21 2023-04-07 北京自如信息科技有限公司 一种列表页面倒计时显示方法及装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4593282A (en) * 1983-04-14 1986-06-03 At&T Information Systems Inc. Network protocol for integrating synchronous and asynchronous traffic on a common serial data bus
EP0179936B1 (de) * 1984-10-31 1990-01-03 Ibm Deutschland Gmbh Verfahren und Einrichtung zur Steuerung einer Sammelleitung
US4667191A (en) * 1984-12-21 1987-05-19 Motorola, Inc. Serial link communications protocol
US4736366A (en) * 1986-02-13 1988-04-05 International Business Machines Corporation Bus acquisition system
US5142623A (en) * 1988-06-10 1992-08-25 Westinghouse Electric Corp. High performance memory imaging network for a real time process control system
US4980886A (en) * 1988-11-03 1990-12-25 Sprint International Communications Corporation Communication system utilizing dynamically slotted information
US4969120A (en) * 1989-02-13 1990-11-06 International Business Machines Corporation Data processing system for time shared access to a time slotted bus
FR2648647B1 (fr) * 1989-06-19 1991-08-23 Alcatel Business Systems Procede et dispositif d'arbitrage pour acces en emission au support de transmission d'un reseau de commutation reparti
US4961188A (en) * 1989-09-07 1990-10-02 Bell Communications Research, Inc. Synchronous frequency encoding technique for clock timing recovery in a broadband network
CA2051029C (en) * 1990-11-30 1996-11-05 Pradeep S. Sindhu Arbitration of packet switched busses, including busses for shared memory multiprocessors
US5339425A (en) * 1990-12-11 1994-08-16 Fisher Controls International, Inc. Operating system for a process controller
JPH04266236A (ja) * 1991-02-20 1992-09-22 Mitsubishi Electric Corp 通信方式
FR2677473B1 (fr) * 1991-06-05 1995-04-07 Telemecanique Procede et bus d'arbitrage pour transmission de donnees serie.
CA2068847C (en) * 1991-07-01 1998-12-29 Ronald C. Roposh Method for operating an asynchronous packet bus for transmission of asynchronous and isochronous information
US5402416A (en) * 1994-01-05 1995-03-28 International Business Machines Corporation Method and system for buffer occupancy reduction in packet switch network
US5392280A (en) * 1994-04-07 1995-02-21 Mitsubishi Electric Research Laboratories, Inc. Data transmission system and scheduling protocol for connection-oriented packet or cell switching networks
US5463624A (en) * 1994-04-15 1995-10-31 Dsc Communications Corporation Bus arbitration method for telecommunications switching

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998043391A1 (fr) * 1997-03-21 1998-10-01 Hitachi, Ltd. Dispositif electronique, procede d'utilisation et systeme
US6757765B1 (en) 1997-03-21 2004-06-29 Hitachi, Ltd. Electronic device, method for using electronic device, and electronic device system for reserving bus usage time on a bus to conduct communications between electronic devices
US7003606B2 (en) 1997-03-21 2006-02-21 Hitachi, Ltd. Electronic device, method for using electronic device, and electronic device system for reserving bus usage time on a bus to conduct communications between electronic devices
JP2005071353A (ja) * 2003-08-20 2005-03-17 Microsoft Corp 連続媒体優先順位を意識した記憶装置スケジューラ
JP4597608B2 (ja) * 2003-08-20 2010-12-15 マイクロソフト コーポレーション 連続媒体優先順位を意識した記憶装置スケジューラ
JP2010165175A (ja) * 2009-01-15 2010-07-29 Internatl Business Mach Corp <Ibm> バスの使用権を制御する装置および方法
US8185679B2 (en) 2009-01-15 2012-05-22 International Business Machines Corporation Controlling bus access
JP2015166972A (ja) * 2014-03-04 2015-09-24 セイコーエプソン株式会社 転送システムおよび印刷装置

Also Published As

Publication number Publication date
CA2163419A1 (en) 1996-05-30
EP0715261A1 (en) 1996-06-05
US5621898A (en) 1997-04-15
JP3729546B2 (ja) 2005-12-21

Similar Documents

Publication Publication Date Title
JP3729546B2 (ja) データ転送を含む動作を制御する際に使用するアービタ及びデータ転送を含む動作を調停するための方法
US6061687A (en) Linked lists of transfer descriptors scheduled at intervals
Steinmetz Analyzing the multimedia operating system
US6085215A (en) Scheduling mechanism using predetermined limited execution time processing threads in a communication network
US7913034B2 (en) DRAM access command queuing
USRE38134E1 (en) System for communications where first priority data transfer is not disturbed by second priority data transfer and where allocated bandwidth is removed when process terminates abnormally
CA2124452C (en) Method and apparatus for processing data within stations of a communication network
JP2625589B2 (ja) マルチプロセッサ・システム
KR20050020942A (ko) 연속 매체 우선순위 인식 저장장치 스케줄러
JPH04230557A (ja) 直接メモリアクセス・コントローラ
WO1997034234A1 (en) Method and apparatus supporting demand driven multiple parallel digital data stream transport
JPH04233055A (ja) 端末装置サーバアーキテクチャ
US20030177164A1 (en) Method and apparatus for serving a request queue
JP2002278827A (ja) 共通メモリのメモリ管理システム
US6061411A (en) Method and apparatus for synchronizing a serial bus clock to a serial bus function clock
US6681270B1 (en) Effective channel priority processing for transfer controller with hub and ports
US5911152A (en) Computer system and method for storing data in a buffer which crosses page boundaries utilizing beginning and ending buffer pointers
EP1238342B1 (en) Apparatus for memory resource arbitration based on dedicated time slot allocation
CN109426562B (zh) 优先级加权轮转调度器
US6412049B1 (en) Method for minimizing CPU memory latency while transferring streaming data
US6584531B1 (en) Arbitration circuit with plural arbitration processors using memory bank history
US6816923B1 (en) Arbitrating and servicing polychronous data requests in direct memory access
JP4344163B2 (ja) 資源要求調停装置、資源要求調停方法、及び、コンピュータプログラム
JPH1125036A (ja) 調停システム、およびアクセスを調停する方法
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050826

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051004

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091014

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091014

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101014

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111014

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121014

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131014

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees