(57)【要約】  拡張直接メモリ・アクセス（ＥＤＭＡ）（１０３）機能のハブ・インターフェース・ユニット（ＨＩＵ）（１０４）でのコマンド・リオーダリングが記述される。ＥＤＭＡでのコマンド・リオーダリング無しに、コマンドは、発せられる順にＨＩＵによって周辺装置へと発せられる。より高い優先度の転送がＥＤＭＡによって後に発せられるならば、先に発せられた低い優先度の転送は、より高い優先度の転送を遮断する。ＨＩＵにおけるコマンド・リオーダリングによって、転送がリオーダーされてそれらの優先度に基づいて周辺装置に発せられるものとなる。リオーダリングによって、ＥＤＭＡとＨＩＵがしかるべきサービスを優先度の高い転送要求に与えることが可能となり、その要求が発せられる順番に置かれるウエイトが低減される。
2008545182.tif 000002
【特許請求の範囲】
【請求項１】
データ転送要求コマンドを受け取るハブ・ユニットと、
各々が、前記ハブに接続されるハブ・インターフェース・ユニットを有する複数のポートと、
複数のアプリケーション・ユニットと、
各々が、ハブ・インターフェース・ユニットとそれに対応するアプリケーション・ユニットとを接続する複数のアプリケーション・インターフェース・ユニットと、
ハブ・データ転送要求コマンドを、前記ハブ・ユニットから受け取るのとは異なる順番で前記対応するアプリケーション・ユニットに提供するコマンド・リオーダリング・ユニットを有する少なくとも一つのポートと、
を有する直接メモリ・アクセス装置。
【請求項２】
前記コマンド・リオーダリング・ユニットは、優先度を有する書きコマンドと書きデータを前記ハブから受け取り、かつ書きコマンドとそれに対応する書きデータを優先度の順番で前記対応するアプリケーション・ユニットに供給する
請求項１に記載の直接メモリ・アクセス装置。
【請求項３】
前記コマンド・リオーダリング・ユニットには、書きコマンドとそれに対応する書きデータを蓄積する書きコマンド列と、新しい書きコマンドを受け取るごとに、書きコマンドを優先度の順番でリオーダーする優先度抽出器とが含まれている
請求項２に記載の直接メモリ・アクセス装置。
【請求項４】
前記コマンド・リオーダリング・ユニットは、優先度を有する読みコマンドを受け取り、読みコマンドを優先度の順番で前記アプリケーション・ユニットに供給し、戻された読みデータを蓄積して前記戻された読みデータを元の読みコマンドの順番で前記ハブに供給する読み応答列を含んでおり、かつ、書きコマンドは、同じ優先度レベルを有する読みコマンドよりも高い優先度を有する
請求項２に記載の直接メモリ・アクセス装置。
【請求項５】
前記コマンド・リオーダリング・ユニットには、読みコマンドを蓄積する読みコマンド列と、新しい読みコマンドを受け取るごとに、読みコマンドをリオーダーする優先度抽出器とが含まれている
請求項４に記載の直接メモリ・アクセス装置。
【請求項６】
前記コマンド・リオーダリング・ユニットは、優先度を有する読みコマンドを受け取り、読みコマンドを優先度の順番で前記対応するアプリケーション・ユニットに供給し、戻された読みデータを蓄積して戻された読みデータを元の読みコマンドの順番で前記ハブに供給する読み応答列を含んでいる
請求項１に記載の直接メモリ・アクセス装置。
【請求項７】
前記コマンド・リオーダリング・ユニットには、読みコマンドを蓄積する読みコマンド列と、新しい読みコマンドを受け取るごとに、読みコマンドをリオーダーする優先度抽出器とが含まれている
請求項６に記載の直接メモリ・アクセス装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明の技術分野は、データ転送におけるコマンド・リオーダリングである。
【背景技術】
【０００２】
現在のマイクロプロセッサの設計では、様々な呼ばれ方をされているデータ転送コントローラーもしくは拡張直接メモリ・アクセス（ＥＤＭＡ）である統合機能ユニットの制御の下で、データ転送オペレーションを中心に集める必要性が強調されている。この出願は、ハブ・アンド・ポート様式のアーキテクチャを用いるＥＤＭＡ設計に関する。そのようなＥＤＭＡは、ハブ・ユニットを特徴としており、それは転送要求の列を維持し、優先プロトコルと多数のそのような要求を取り扱うための適切なインターフェース接続を提供する。第二に、ハブ・アンド・ポートＥＤＭＡは、一つ以上のハブ・インターフェース・ユニット（ＨＩＵ）を有しており、それぞれがＥＤＭＡハブとそのポートとの間で継ぎ目の無いインターフェースを提供している。これらのポートには、アプリケーション・ユニット（ＡＵ）周辺装置が含まれている。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
図１は、ＣＰＵ１０１と、ＥＤＭＡ１０３の一部としての転送コントローラー１０２を有する、従来技術のマイクロプロセッサシステムの主要部を示す。転送コントローラー１０２は、１つ以上のハブ・インターフェース・ユニット（ＨＩＵ）１０４、１０５および１０６に接続されている。ＨＩＵ１０４、１０５および１０６は、数種類の複数のアプリケーション・ユニット・インターフェース（ＡＵＩ）機能ブロック１０７、１０８および１０９に接続されている。大きなパフォーマンス範囲を有し、かつ多様な機能要求を有する周辺装置としてより一般的に知られている多様なアプリケーション・ユニットが、ブロック１１７、１１８および１１９で代表して示されている。いくつかの周辺ユニットは、ＥＤＭＡの制御の下でデータを受け取るのみであり、これらは、データ転送要求を生成する必要は無い。ＡＵインターフェース１０７に接続される周辺ユニット１１７は、そのような周辺装置の１つである。ＰＵ１１８および１１９のような他の周辺ユニットは、データ転送要求を生成して、転送コントローラー１０２に伝達する。周辺装置１１８および１１９の各々からの入力１１３および１１４は、転送要求生成ブロック１１１において生成される転送要求を開始する。これらの転送要求は、経路１１２を介して転送コントローラー１０２へと送られる。
【課題を解決するための手段】
【０００４】
（発明の概要）
拡張直接メモリ・アクセス（ＥＤＭＡ）機能は、現在のマイクロプロセッサの設計において、アプリケーションの増大を享受している。ＥＤＭＡにおいて、読み／書きコマンドは、コマンドが転送コントローラー（ＴＣ）からＨＩＵに来る順番に基づいて、ハブ・インターフェース・ユニット（ＨＩＵ）によって周辺装置に発せられる。現在の設計において、優先度のより高い転送がＴＣによって後に発せられるならば、前に発せられたより優先度の低い転送が、より優先度の高い転送がしかるべき注意を受け取るのを遮断する。これは、ＥＤＭＡが遅い周辺装置とインターフェース接続するとき拡大する。この発明のＨＩＵにおけるコマンドのリオーダーでは、より優先度の高い転送がリオーダーされ、優先度に基づいて周辺装置に発せられる。リオーダリングによって、ＥＤＭＡとＨＩＵが、要求が転送コントローラーからＨＩＵに発せられた順番に置かれるウエイトが低減されて、しかるべきサービスを優先度の高い転送要求に与えることが可能となる。
（実施例の詳細な説明）
【実施例１】
【０００５】
この発明のハブ・インターフェース・ユニットは、拡張直接メモリ・アクセス（ＥＤＭＡ）素子の転送コントローラーと外部周辺装置として働くアプリケーション・ユニット・インターフェース（ＡＵＩ）との間の改良されたインターフェースを提供する。図２は、転送コントローラー１０２と周辺ユニットとの間のインターフェースを提供するハブ・インターフェース・ユニット１０４の基本的な高レベル機能図を示す。ＨＩＵ１０４には、読みおよび書きコマンド・オペレーションを制御し、それに同期するコマンド列２２３と、アプリケーション・ユニット・インターフェース（ＡＵＩ）２３２から転送コントローラー１０２に戻る読み情報を制御し、それと同期するＨＩＵ読み応答列２３０が含まれる。コマンド列２２３のオペレーショナル・プロトコルおよび読み応答列２３０によって本発明の核心部が形成される。
【０００６】
ＨＩＵ１０４は、入力２０２を介して転送コントローラー１０２から読みコマンドを受け取り、これらの読みコマンドを読みコマンド・ブロック２１４で処理する。読みコマンド・ブロック２１４は、経路２０８を介して読みコマンド列２１７を駆動する。読みコマンド列２１７は、転送コントローラー１０２によって発せられる全ての読みコマンドを蓄積する。経路２２６を介してＡＵＩ２３２から読み取られるべきデータが、ＨＩＵ読みデータ・ファースト・イン・ファースト・アウト（ＦＩＦＯ）バッファ２００に蓄積される。
【０００７】
ＨＩＵ１０４は、入力２０３を介して転送コントローラー１０２から書きコマンドを受け取り、これらの書きコマンドを書きコマンド・ブロック２１３で処理する。書きコマンド・ブロック２１３は、経路２０９を介して書きコマンド列２１８を駆動する。書きコマンド列２１８は、転送コントローラー１０２によって発せられる全ての書きコマンドを蓄積する。経路２０７を介して転送コントローラー１０２から経路２２７を介してアプリケーション・ユニット・インターフェース２３２に書き込まれるべきデータが、最初にＨＩＵ書きデータＦＩＦＯ２０１に蓄積される。シンクロナイザ・ブロック２３１は、ＨＩＵとＡＵＩクロック領域との間のタイミング・インターフェース接続を行う。
【０００８】
表１に、主要なＨＩＵ信号を列挙する。
2008545182.tif 000003
【０００９】
この発明は、転送要求を発するときに転送コントローラー１０２が供給する優先情報を充分に使用するＨＩＵ設計をアップグレードする手段を提供する。以前は、典型的なＨＩＵにおいては、読みまたは書きコマンドがＨＩＵに発せられてＡＵＩに送られるとき、周辺装置がそのコマンドを認識していた。最後にコマンドを認識した後、ＨＩＵは優先度に関係なく単純に次のコマンドに切り替っていた。
【００１０】
コマンド列２２３および読み応答列２３０によって行われるオペレーションは、全体のコマンド・フィールドよりもむしろポインタを使用する。ポインタとそれが指示する特定のコマンドとの間に一対一の対応がある。
【００１１】
コマンド・リオーダーでは、ＨＩＵ１０４によってＡＵＩに発せられる次のコマンドが、残りのコマンドの中で最も高い優先度を有する（書きまたは読み）コマンドである。ポインタの操作が、コマンド列ブロック２２３と読み応答ブロック２３０の双方においてＨＩＵ１０４で行われ、最も高い入力優先度を有する転送を発し、読みオペレーションからのデータを適切に取り扱う。
【実施例２】
【００１２】
図３は、コマンド・リオーダーが無いコマンド列ブロック２２３の実施例を示す。図３はまた、コマンド・リオーダー無く処理する応答列ポインタ・リスト３７０を示す。コマンド挿入制御ブロック３５０は、書き挿入マルチプレクサ３５３における入力書きコマンド２１３の選択を指図し、かつ読み挿入マルチプレクサ３５４における入力読みコマンド２１４の選択を指図する。所定のクロック・サイクルにおいて、１つの読みコマンドまたは１つの書きコマンドがマルチプレクサ３５１によって選択され、かつライン３６１を介してコマンド・ポインタ・ジェネレータ／レジスタ・ブロック３５６に送られる。信号経路３５２は、応答列ポインタ・リスト・ブロック３７０にいつ読みコマンドが発せられているかを知らせる。書きコマンドまたは読みコマンドが、ＡＵＩ２３２に送られるための経路３６２を介して発せられる。書きコマンドは、書きコマンド有効信号３４３がアクティブであるときのみコマンド列に挿入され、かつ読みコマンドは、読みコマンド有効信号３４４がアクティブであるときのみコマンド列に挿入される。
【００１３】
図４は、コマンド列ブロック４２３およびＨＩＵ読み応答列ブロック４３０における、この発明のコマンド・リオーダーの実施例を示す。コマンド挿入制御ブロック４５０は、書き挿入マルチプレクサ４５３による入力書きコマンドの選択および読み挿入マルチプレクサ４５４による入力読みコマンドの選択を指図する。所定のクロック・サイクルにおいて、１つの読みコマンドまたは１つの書きコマンドがマルチプレクサ４５１によって選択され、かつライン４６１を介してコマンド・ポインタ・リオーダー・ロジック４５６に送られる。コマンド・ポインタ・リオーダー・ロジック４５６において、コマンド・ポインタが優先プロトコルに従ってリオーダーされる。リオーダーされたポインタは、コマンド・ポインタ・ジェネレータ／レジスタ・ブロック４５７で再び組み立てられる。信号経路４５２は、応答列ポインタ・リスト・ブロック４７０にいつ読みコマンドが発せられているかを知らせる。コマンド・ポインタが、書きコマンドまたは読みコマンドをＡＵＩ２３２に送るための経路４２を介して発せられる。ＡＵＩ２３２によって受け取られるコマンドは経路４６４を介して認識される。
【００１４】
（書きコマンドのためのコマンド・リオーダー）
再度図２を参照すると、書きコマンドについて、ＨＩＵ１０４は、書きデータを蓄積する書き予約ステーションを有する。各予約ステーションは、１つの特定の書きコマンドに対応するコマンドデータの完全な補完物を蓄積するよう充てられる。書きコマンド列２１８は、ＥＤＭＡに要求される複雑なハウスキーピングを達成するために、予約ステーション・ハードウェアを含む。予約ステーションは、いくつかのデータ転送が１つ以上の優先レベルで行われている状況において、データの転送を蓄積し、探知し、制御する複数のレジスタからなる。予約ステーションが探知し、制御するためのハードウェアは、書きコマンド列２１８および書きコマンド・ブロック２１３に含まれている。予約ステーション・データ蓄積のためのハードウェアは、ＨＩＵ書きデータＦＩＦＯ２０１に提供されている。
【００１５】
書きコマンド２１５は、その書きコマンドのためのＥＤＭＡによって書かれる単語の数をＨＩＵ１０４に知らせる。書くことのできる最大の単語は、そのＨＩＵのための最大の書きバーストサイズに基づく。その書きコマンドについて一旦全ての単語が書かれると、ＨＩＵ１０４は、その書きコマンドを書きコマンド列２１８に入れる。このコマンドは、ＥＤＭＡによってＨＩＵ１０４に発せられるコマンドが完全であって、この書きコマンドが、ＨＩＵコマンド列における全てのコマンドの中でもっとも高い優先度を有するならば、次に書きコマンド列２１８によって周辺装置に発せられる。
【００１６】
（読みコマンドのためのコマンド・リオーダー）
読みコマンド・リオーダーはより複雑である。典型的なＨＩＵにおいて、読みコマンド２０２が転送コントローラー１０２によってＨＩＵに送られるとき、コマンド２１２は、後のクロック・サイクルでＡＵＩに発せられる。周辺装置は、読みデータ２２６を戻す。この読みデータ２２６は、ＨＩＵ読みデータＦＩＦＯ２００に蓄積される。ＨＩＵ読み応答列２３０は、データを転送コントローラー２０２に送り返すのを制御する。データが転送コントローラー１０２に戻る順番は、転送コントローラー１０２が読みコマンドをＨＩＵに発した順番である。しかしながら、この発明のコマンド・リオーダーでは、ＨＩＵに送り戻されるデータは優先度に基づいていた。データが転送コントローラー１０２に戻される順番は、読みコマンドがＡＵＩに発せられた順番である。それで、ＨＩＵ応答列２３０は、コマンドがＡＵＩに発せられた順番であって、転送コントローラー１０２が読みコマンドを発したのとは違う順番で周辺装置からデータを受け入れるように修正される。シャドー・レジスタが、読み応答列２３０に加えられて、リオーダーされたシーケンスで読みポインタを緩和し、再度発することが可能となる。
【００１７】
図４は、読み応答列４３０におけるコマンド・リオーダーを例示する。読み応答列４３０は、以下の規則に従う。
１）書きコマンド２１３および読みコマンド２１４はＴＣによってＨＩＵに発せられる。
２）書きコマンド２１３について、予約ステーションが一杯であるとき、書きコマンドは書きコマンド列２１８に入る。
３）読みコマンド２１４について、読み応答列４３０に、ＡＵＩによって戻される読みデータ（図２の２２６）を受け入れるスペースがあるとき、読みコマンド２１４は読みコマンド列２１７に入れられる。
４）最後の読み／書きが特定の読み／書きコマンドについてＡＵＩに発せられ、ＡＵＩが最後のコマンド認識４６４を発しているとき、次のコマンドがＡＵＩに発せられる。この、次のコマンドは、残りのコマンドのうちで最も高い優先度を持つコマンドである。
５）最も高い同じ優先度を有する読みコマンドと書きコマンドがあるならば、書きコマンドが優先されて周辺装置に発せられる。
６）同じ優先レベル内では、ＴＣ１０２から発せられる順番が維持される。
【００１８】
図５は、コマンド列におけるコマンド・リオーダーを含む図４のハブ・インターフェース・ユニットのコマンド列４２３の機能図を詳細に示す。コマンド列挿入ロジック５００には、書き挿入マルチプレクサ４５３、読み挿入マルチプレクサ４５４および図４のコマンド選択マルチプレクサ４５１が含まれている。コマンド列挿入ロジック５００からの入力は、コマンド・ポインタ列プレ‐リオーダー５０１に送られ、新しいコマンドは、優先度に関係なく単純に列の最後に挿入される。新しいコマンドが送られるのは、チャンネル（優先）抽出器５０２であり、次にそれは、抽出された優先情報をリオーダー制御ロジック５０４へと送る。リーダー制御ロジック５０４はまた、発せられたコマンド情報ブロック５０３に先に蓄積されたＡＵＩ認識入力４６４から発せられるコマンド情報を受け取る。その２つの入力、発せられたコマンド情報とチャンネル優先情報は、コマンド・ポインタ・リオーダー・ロジック４５７の制御のための基礎を形成する。コマンド・ポインタ・リオーダー・ロジック４５７は、前記６つの規則に記述される所定の整列アルゴリズムによって残り全てのコマンド・ポインタ・エントリーを整列する。リオーダーされたコマンド・ポインタ列は、コマンド列ポインタ列（ポスト・リオーダー）５０５のレジスタに蓄積される。コマンド列ポインタ列（ポスト・リオーダー）５０５は、次に発せられるコマンド・ポインタを、経路４６２を介して次のポインタをＡＵＩに送る次のコマンド・ポインタ・ジェネレータ／レジスタ４５６に送る。
【００１９】
図６は、図４のハブ・インターフェース・ユニットの読み応答列４３０の機能図を詳細に示す。これには、ＡＵＩに、そしてそれゆえ読み応答に発せられるコマンドが、リオーダーされていないＨＩＵで受け取られるのとは異なる順番であることを考慮する、必要な応答列リオーダーが含まれている。応答列ポインタ・リスト４７０に蓄積される元のポインタ・リストが、コマンド列挿入ロジック５００から新しいコマンドを受け取る。発せられる読みコマンドが、ＡＵＩからの入力４３４で報告される。同じクロック・サイクルで、発せられる読みコマンドの読みポインタ情報が、経路６０８を介して読み応答列４３０に送られる。この読みポインタ情報は、発せられた読みブロック６０３のレジスタ・ポインタ情報に蓄積されて、応答列ポインタ・リスト・リオーダー制御ロジック６０１に送られる。応答列ポインタ・リスト・リオーダー制御ロジック６０１は、応答列ポインタ・リスト４７０の元のポインタ情報の転送を駆動して、応答列シャドー・レジスタ・ポインタ・リスト４７１に蓄積されるものとする。応答列シャドー・レジスタ・ポインタ・リスト４７１は、読みコマンドが実際にＡＵＩに発せられたシーケンスに合致するようリオーダーされた読み応答を含む。読み応答ジェネレータ／レジスタ６０４は、読み応答を要求された順番でクロック・サイクル毎に１つ、出力６１０に供給する。インターフェース・ブロック６０５および６０７は、応答確認ロジック・ブロック６０６と一緒に、ＨＩＵを通る読み応答転送の適切なタイミングを実行することが要求される。応答確認ロジック経路への入力は、ライン６０９を介して同期／ＡＵＩからＨＩＵインターフェース６０７へのものであり、応答確認から転送コントローラーへの出力信号は、経路６１１を介してＨＩＵからＴＣインターフェース６０５へのものである。
【００２０】
図７は、コマンド列２２３の観点からの読み／書きコマンド・リオーダリングを説明する例を示す。図７は、ＨＩＵに入る複数の読みおよび書きコマンドを示す。所定の時間にＴＣ読みコマンド、ＴＣ書きコマンドまたはそれら双方があり得る。周辺側では、所定時間に唯一のコマンド、読みまたは書きコマンドがアクティブである。図７は、元のコマンド列の状態、リオーダーされたコマンド列および種々の時間インタバル７０１乃至７１９についてのＨＩＵ読みの後のコマンド列を示す。
【００２１】
時間７０１で、転送コントローラー（ＴＣ）は、優先度２の読みコマンド（Ｒ２）をＨＩＵに発する。コマンド列とリオーダーされたコマンド列の双方がこの単一の入力Ｒ２を有する。
【００２２】
時間７０２で、ＴＣは、優先度２の書きコマンド（Ｗ２）をＨＩＵに発する。コマンドは、リオーダー・コマンド列においてリオーダーされ、優先度２の書きコマンド（Ｗ２）は優先度２の読みコマンド（Ｒ２）の先に置かれる。この発明では、同じ優先度の読みコマンドよりも書きコマンドを上位のものとする。
【００２３】
時間７０３では、ＴＣは、優先度０の読みコマンド（Ｒ０）を最も低いレベルでＨＩＵに発する。この読みコマンドＲ０は、最も高い優先度を有する。元のコマンド列は、受け取りの順にコマンドを保持し、一方リオーダーされたコマンド列は適当な優先度順Ｒ０、Ｗ２、Ｒ２にコマンドをリオーダーする。
【００２４】
時間７０４では、新しいコマンドはＨＩＵコマンド列には入らない。ＨＩＵは、読みコマンドＲ０をアプリケーション・ユニット（ＡＵ）に発する。ＨＩＵ読みの後のコマンド列は、Ｗ２、Ｒ２となる。
【００２５】
時間７０５では、ＴＣは、優先度３の読み（Ｒ３）と優先度１の書き（Ｗ１）の双方をＨＩＵに発する。コマンドは、リオーダーされたコマンド列においてリオーダーされ、Ｗ１、Ｗ２、Ｒ２、Ｒ３となる。
【００２６】
時間７０６では、オペレーションは行われない。
【００２７】
時間７０７では、ＴＣは、優先度３の第二の読みコマンド（２Ｒ３）をＨＩＵに発する。この読みコマンドは、ステップ７０５で先に入力されたＲ３コマンドの下のコマンド・リストの最下部に置かれる。リオーダリングは、必要とされず、それはこれらの最後のコマンドは、同じ優先度を有していて、受け取りの順に取り扱われるからである。この時点では、リオーダーされるコマンド列は、Ｗ１、Ｗ２、Ｒ２、Ｒ３、２Ｒ３である。
【００２８】
時間７０８では、オペレーションは行われない。
【００２９】
時間７０９では、ＴＣは、新しいコマンドをＨＩＵコマンド列に発しない。ＨＩＵは、コマンドＷ１をＡＵに発する。ＨＩＵ読みの後のコマンド列は、Ｗ２、Ｒ２、Ｒ３、２Ｒ３となる。
【００３０】
時間７１０では、オペレーションは行われない。
【００３１】
時間７１１では、ＴＣは、優先度１の読みコマンド（Ｒ１）をＨＩＵに発する。ＨＩＵは、同時にコマンドをすぐに発することができ、かつそれはこの同じＲ１コマンドを直接ＡＵに発する。この時点で読みの後のコマンド列優先度は、７０９におけるままのＷ２、Ｒ２、Ｒ３、２Ｒ３である。
【００３２】
時間７１２では、ＴＣは、優先度２の読みコマンド（２Ｒ２）をＨＩＵに発する。元のコマンド列において、このコマンド２Ｒ２は、先の入力の後に適切に挿入されて、Ｗ２、Ｒ２、Ｒ３、２Ｒ３、２Ｒ２となる。リオーダーに際して、このコマンドは、先の優先度２のコマンドの後であって、先の優先度３のコマンドの前に挿入される。こうして、リオーダーされるコマンド列は、Ｗ２、Ｒ２、２Ｒ２、Ｒ３、２Ｒ３となる。
【００３３】
時間７１３では、オペレーションは行われない。
【００３４】
時間７１４では、ＴＣは、優先度０の読みコマンド（Ｒ０）と優先度０の書きコマンド（Ｗ０）を同時にＨＩＵに発する。リオーダーされるコマンド列は、Ｗ０、Ｒ０、Ｗ２、Ｒ２、２Ｒ２、Ｒ３、２Ｒ３となる。時間７１４ではまた、ＨＩＵは、コマンドＷ０を直接ＨＩＵに発し、ＨＩＵ読みの後のコマンド列をＲ０、Ｗ２、Ｒ２、２Ｒ２、Ｒ３、２Ｒ３のままにしておく。
【００３５】
時間７１５と７１６の間に、オペレーションは行われない。
【００３６】
時間７１７では、ＴＣは、読み優先度１（Ｒ１）をＨＩＵに発する。リオーダーされるコマンド列において、このＲ１コマンドは、Ｒ０コマンドの後であって、全ての優先度２のコマンドの前に挿入される。そうして、リオーダーされるコマンド列は、Ｒ０、Ｒ１、Ｗ２、Ｒ２、２Ｒ２、Ｒ３、２Ｒ３となる。時間７１７においてはまた、ＨＩＵは、コマンドＲ０を直接ＡＵに発し、かつＨＩＵ読みの後のコマンド列は、Ｒ１、Ｗ２、Ｒ２、２Ｒ２、Ｒ３、２Ｒ３となる。
【００３７】
時間７１８では、ＨＩＵは、コマンドＲ１をＡＵに発し、かつＨＩＵ読みの後のコマンド列は、Ｗ２、Ｒ２、２Ｒ２、Ｒ３、２Ｒ３となる。
【００３８】
時間７１９では、ＨＩＵは、コマンドＷ２をＡＵに発し、かつＨＩＵ読みの後のコマンド列は、Ｒ２、２Ｒ２、Ｒ３、２Ｒ３となる。
【００３９】
図８は、ＨＩＵ読み応答列の観点から、リオーダーする読みコマンドの例を示す。ＨＩＵに入る複数の読みコマンドが示されている。所定の時間では、ＴＣ読みコマンドであり得る。ＡＵＩ側では、所定時間に唯一の読みコマンドしかアクティブではない。図８は、元のコマンド列の状態、リオーダーされたコマンド列および様々な時間インタバル８０１乃至８１７についてＨＩＵ読みの後のコマンド列を示す。
【００４０】
時間８０１では、ＴＣは、優先度２の読みコマンド（Ｒ２）をＨＩＵに発する。
【００４１】
時間８０２では、オペレーションは行われない。
【００４２】
時間８０３では、ＴＣは、優先度０の読みコマンド（Ｒ０）をＨＩＵに発する。元のコマンド列は、Ｒ２、Ｒ０である。優先度０の読みコマンド（Ｒ０）が優先度２の読みコマンド（Ｒ２）の前に置かれ、そしてリオーダーされる読み列がＲ０、Ｒ２となるように、コマンドがリオーダーされる。
【００４３】
時間８０４では、ＨＩＵは、優先度読みコマンドＲ０をＡＵに発する。ＨＩＵ読みの後の読み列は、Ｒ２となる。
【００４４】
時間８０５では、ＴＣは、優先度３の読みコマンド（Ｒ３）をＨＩＵに発する。元の読みコマンド列は、Ｒ２、Ｒ３となる。これらのコマンドは、既に優先度順であって、リオーダーされる読み列もまたＲ２、Ｒ３である。
【００４５】
時間８０６では、オペレーションは行われない。
【００４６】
時間８０７では、ＴＣは、優先度３の別の読みコマンドをＨＩＵに発する。元の読みコマンド列は、Ｒ２、Ｒ３、２Ｒ３となる。これらのコマンドは、既に優先度順であって、リオーダーされる読み列もまたＲ２、Ｒ３、２Ｒ３である。
【００４７】
時間８０８では、オペレーションは行われない。
【００４８】
時間８０９では、ＨＩＵは、優先度２の読みコマンド（Ｒ２）をＡＵに発する。ＨＩＵ読みの後の読み列は、Ｒ３、２Ｒ３となる。
【００４９】
時間８１０では、オペレーションは行われない。
【００５０】
時間８１１では、ＴＣは、読みコマンドの優先度１（Ｒ１）をＨＩＵに発する。時間８１１ではまた、ＨＩＵは、この読みコマンド（Ｒ１）を直接ＡＵに発する。ＨＩＵ読みの後の読み列は、Ｒ３、２Ｒ３となる。
【００５１】
時間８１２では、ＴＣは、優先度２の読みコマンド（Ｒ２）をＨＩＵに発する。元の読み列は、Ｒ３、２Ｒ３、Ｒ２である。優先度２の読みコマンドＲ２は、他のコマンドの前に進められており、リオーダーされた読み列は、Ｒ２、Ｒ３、２Ｒ３となる。
【００５２】
時間８１３では、オペレーションは行われない。
【００５３】
時間８１４では、ＴＣは、優先度０の読みコマンド（Ｒ０）をＨＩＵに発する。時間８１４ではまた、ＨＩＵは、この読みコマンド（Ｒ０）を直接ＡＵに発する。リオーダーされた読み列では、読みコマンドＲ０は、列の先頭に進み、Ｒ０、Ｒ２、Ｒ３、２Ｒ３となる。ＨＩＵ読みの後の読み列は、Ｒ２、Ｒ３、２Ｒ３となる。
【００５４】
時間８１５および８１６では、オペレーションは行われない。
【００５５】
時間８１７では、ＴＣは、優先度１の読みコマンド（Ｒ１）をＨＩＵに発する。時間８１７ではまた、ＨＩＵはこの読みコマンド（Ｒ１）を直接ＡＵに発する。リオーダーされた読み列では、読みコマンドＲ１は、列の先頭に進み、Ｒ１、Ｒ２、Ｒ３、２Ｒ３となる。ＨＩＵ読みの後の読み列は、Ｒ２、Ｒ３、２Ｒ３となる。
【図面の簡単な説明】
【００５６】
【図１】中央処理装置によって駆動されるハブ・アンド・ポート・アーキテクチャを備える転送コントローラーおよび周辺装置機能を駆動するいくつかのアプリケーション・ユニット・インターフェースとのインターフェース接続を含む拡張直接メモリ・アクセス（ＥＤＭＡ）ユニットの高レベル機能図を示す（従来技術）。
【図２】転送コントローラーとアプリケーション・ユニットとの間にインターフェースを提供するハブ・インターフェース・ユニットの高レベル機能図を示す。
【図３】コマンド・リオーダーが無く、データ・ファースト・イン・ファースト・アウト素子（ＦＩＦＯ）があり、転送要求経路が取り除かれ、ＨＩＵ読み応答およびコマンド列機能が強調されたハブ・インターフェース・ユニットの簡略機能図である。
【図４】ＨＩＵ読み応答およびコマンド列機能におけるコマンド・リオーダー機能性を含むハブ・インターフェース・ユニットの簡略機能図である。
【図５】コマンド列機能におけるコマンド・リオーダー機能性を含む図４のハブ・インターフェース・ユニットのコマンド列部分の機能図である。
【図６】読み応答列機能におけるコマンド・ポインタ・リオーダー機能性を含む図４のハブ・インターフェース・ユニットの読み応答列部分の機能図である。
【図７】タイミング図およびコマンド列の観点から読み／書きコマンド・リオーダー・シーケンスの説明に役立つ例を示す。
【図８】ＨＩＵ読み応答列の観点から見た、読み書きリオーダー・シーケンスのタイミング例図。
【図１】
2008545182.tif 000004
【図２】
2008545182.tif 000005
【図３】
2008545182.tif 000006
【図４】
2008545182.tif 000007
【図５】
2008545182.tif 000008
【図６】
2008545182.tif 000009
【図７】
2008545182.tif 000010
【図８】
2008545182.tif 000011