JP2002198987A - ハブおよびポート付き転送コントローラのアクティブ・ポート - Google Patents
ハブおよびポート付き転送コントローラのアクティブ・ポートInfo
- Publication number
- JP2002198987A JP2002198987A JP2001328899A JP2001328899A JP2002198987A JP 2002198987 A JP2002198987 A JP 2002198987A JP 2001328899 A JP2001328899 A JP 2001328899A JP 2001328899 A JP2001328899 A JP 2001328899A JP 2002198987 A JP2002198987 A JP 2002198987A
- Authority
- JP
- Japan
- Prior art keywords
- data
- port
- active
- transfer
- hub
- 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.)
- Withdrawn
Links
Classifications
-
- 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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Small-Scale Networks (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】 多様なデータ発信元および送信先を含むデー
タ処理システム用のデータ転送コントローラを提供す
る。 【解決手段】 転送コントローラはハブ100およびポ
ートを備え、データ・ポートの1つ411はアクティブ
・データ・ポートである。このアクティブ・データ・ポ
ート411は、他のデータ・ポート509とのデータ転
送要求501においてそれ自身の発信元情報,送信先情
報およびデータ量を供給できる。このデータ転送要求
は、発信元パイプライン130,送信先パイプライン1
40およびデータ・ルータ150によって他のデータ転
送要求と同じように処理される。アクティブ・データ・
ポート411は、アクティブ読出しにおいてそれ自身を
データ送信先として、また、アクティブ・データ書込み
においてそれ自身をデータ発信元として指定する。
タ処理システム用のデータ転送コントローラを提供す
る。 【解決手段】 転送コントローラはハブ100およびポ
ートを備え、データ・ポートの1つ411はアクティブ
・データ・ポートである。このアクティブ・データ・ポ
ート411は、他のデータ・ポート509とのデータ転
送要求501においてそれ自身の発信元情報,送信先情
報およびデータ量を供給できる。このデータ転送要求
は、発信元パイプライン130,送信先パイプライン1
40およびデータ・ルータ150によって他のデータ転
送要求と同じように処理される。アクティブ・データ・
ポート411は、アクティブ読出しにおいてそれ自身を
データ送信先として、また、アクティブ・データ書込み
においてそれ自身をデータ発信元として指定する。
Description
【0001】
【発明の属する技術分野】本発明の技術分野は、データ
処理システム内のデータ転送制御であり、更に詳細に
は、多様なタイプのデータ発信元およびデータ送信先が
含まれる場合のデータ処理システムにおけるデータ転送
制御に関する。
処理システム内のデータ転送制御であり、更に詳細に
は、多様なタイプのデータ発信元およびデータ送信先が
含まれる場合のデータ処理システムにおけるデータ転送
制御に関する。
【0002】
【従来の技術】ダイレクト・メモリ・アクセス(DM
A)コントローラはディジタル信号処理(DSP)の分
野で頻繁に使用されている。そのようなコントローラ
は、中央処理ユニット(CPU)から実時間データ・ト
ランザクションのタスクを解放することによって、強化
されたシステム性能を提供することができる。2000
年4月6日付で出願された優先権主張を伴う米国特許出
願番号第09/543,870号を有する、「ハブおよ
びポート・アーキテクチャ付き転送コントローラ」と題
する1999年4月10日付けの英国特許出願番号第9
901996.9号に述べられているハブおよびポート
・アーキテクチャ付き転送コントローラ(TCHP)
は、並列化,パイプライン化および改善ハードウエア・
アーキテクチャによって以前のDMA方式よりも進歩し
た柔軟性および性能を提供する。
A)コントローラはディジタル信号処理(DSP)の分
野で頻繁に使用されている。そのようなコントローラ
は、中央処理ユニット(CPU)から実時間データ・ト
ランザクションのタスクを解放することによって、強化
されたシステム性能を提供することができる。2000
年4月6日付で出願された優先権主張を伴う米国特許出
願番号第09/543,870号を有する、「ハブおよ
びポート・アーキテクチャ付き転送コントローラ」と題
する1999年4月10日付けの英国特許出願番号第9
901996.9号に述べられているハブおよびポート
・アーキテクチャ付き転送コントローラ(TCHP)
は、並列化,パイプライン化および改善ハードウエア・
アーキテクチャによって以前のDMA方式よりも進歩し
た柔軟性および性能を提供する。
【0003】
【発明が解決しようとする課題】そのような柔軟性およ
び改善されたシステム性能に拘わらず、すべてのDMA
コントローラは共通問題に直面している。DMAは基本
的にはメモリ・トランザクションを実行するように構成
されているため、任意のアドレッシング可能リソースを
別のコントローラと共有することがシステム設計の大き
な負担になっている。歴史的に、この問題に対しては、
そのようなアドレッシング可能リソースのポートを多重
化することや、非常に簡単なものから非常に複雑なもの
に亘るアービトレーション方式を採用することで対処し
てきた。
び改善されたシステム性能に拘わらず、すべてのDMA
コントローラは共通問題に直面している。DMAは基本
的にはメモリ・トランザクションを実行するように構成
されているため、任意のアドレッシング可能リソースを
別のコントローラと共有することがシステム設計の大き
な負担になっている。歴史的に、この問題に対しては、
そのようなアドレッシング可能リソースのポートを多重
化することや、非常に簡単なものから非常に複雑なもの
に亘るアービトレーション方式を採用することで対処し
てきた。
【0004】メモリ・ポートの多重化は、DMAコント
ローラおよびCPUのような2つ以上のバス・マスタに
よるアクセスをサポートする最も簡単な方法である。簡
単ではあるが、そのようなポート方式に対して支払われ
るコストは、物理的面積(ポート多重化メモリがそれと
同等な単一ポート・メモリよりも広くなるため)と性能
(そのようなポート方式がアクセスの待ち時間を増加さ
せ、したがって最大アクセス速度が低下する)とであ
る。
ローラおよびCPUのような2つ以上のバス・マスタに
よるアクセスをサポートする最も簡単な方法である。簡
単ではあるが、そのようなポート方式に対して支払われ
るコストは、物理的面積(ポート多重化メモリがそれと
同等な単一ポート・メモリよりも広くなるため)と性能
(そのようなポート方式がアクセスの待ち時間を増加さ
せ、したがって最大アクセス速度が低下する)とであ
る。
【0005】単一ポート式アドレッシング可能リソース
に対するアービトレーションは、それに固有の欠点を有
する。システム中のマスタの数が非常に多くなると、ア
ービトレーション方式は、典型的には、非常に複雑にな
るか非常に非効率的になる。また、リソースに対して多
くの要求者が殺到すると、最も低い優先順位の要求者
は、しばしば、リソースに対するアクセスを獲得するよ
うに試みても長時間にわたって阻止される。
に対するアービトレーションは、それに固有の欠点を有
する。システム中のマスタの数が非常に多くなると、ア
ービトレーション方式は、典型的には、非常に複雑にな
るか非常に非効率的になる。また、リソースに対して多
くの要求者が殺到すると、最も低い優先順位の要求者
は、しばしば、リソースに対するアクセスを獲得するよ
うに試みても長時間にわたって阻止される。
【0006】ダイレクト・メモリ・アクセス(DMA)
レベルでは、マスタ周辺機器との間でリソースを共有で
きるようにするという更なる課題がある。DMAは典型
的にはそれ自身のアクセスに関してマスタであろうとす
るので、周辺機器は、DMAやDMAがアクセスするア
ドレッシング可能なリソースとの間で自由にデータを入
出力することができないかもしれない。潜在的なアービ
トレーション遅延を考慮するために、そのような周辺機
器は、しばしば、バッファリングのオーバーヘッドを覚
悟しなければならず、また、データを失わないことを保
証するために複雑なハンドシェーク方式を採用しなけれ
ばならない。
レベルでは、マスタ周辺機器との間でリソースを共有で
きるようにするという更なる課題がある。DMAは典型
的にはそれ自身のアクセスに関してマスタであろうとす
るので、周辺機器は、DMAやDMAがアクセスするア
ドレッシング可能なリソースとの間で自由にデータを入
出力することができないかもしれない。潜在的なアービ
トレーション遅延を考慮するために、そのような周辺機
器は、しばしば、バッファリングのオーバーヘッドを覚
悟しなければならず、また、データを失わないことを保
証するために複雑なハンドシェーク方式を採用しなけれ
ばならない。
【0007】事態を更に複雑化するが、各種のメモリ・
ポートおよび周辺機器がロックアップ状態に陥らないこ
とを保証するために、多くの境界条件を検証する必要が
しばしば生ずる。これの古典的な例は、周辺機器がデー
タをそれの境界から送信先へプッシュ・アウトしようと
し、同時にその送信先がDMAによって読み出されてい
る場合である。DMAによる読出しが完了できないの
で、インタフェースは機能停止せざるを得ない。しかし
ながら、インタフェースが機能停止すると、読出しは決
して完了せず、したがって、システムがロックアップす
る。
ポートおよび周辺機器がロックアップ状態に陥らないこ
とを保証するために、多くの境界条件を検証する必要が
しばしば生ずる。これの古典的な例は、周辺機器がデー
タをそれの境界から送信先へプッシュ・アウトしようと
し、同時にその送信先がDMAによって読み出されてい
る場合である。DMAによる読出しが完了できないの
で、インタフェースは機能停止せざるを得ない。しかし
ながら、インタフェースが機能停止すると、読出しは決
して完了せず、したがって、システムがロックアップす
る。
【0008】各種のDMA設計に組み込まれたそのよう
な問題に対する1つのアプローチは、マスタとなるコン
トローラ用の別のポートを用意するものであり、それ
は、コントローラがDMAのアドレッシング・マシンの
レジスタに直接アクセスすることを可能にさせる。その
ようなポートを含めることは、システムの複雑さを非常
に低下させる。その理由は、一旦DMAのアドレッシン
グ・マシンがロードされると、実行されるアクセスは別
のDMAアクセスのように見えるためである。これによ
って、DMA内またはDMAの外部の共有リソース用に
(例えば、DMAとCPUとの間に)存在するどのよう
なアービトレーション方式も、同様にこの種のアクセス
に対して十分である。このように、各リソースにアービ
トレーションや付加ポートを追加する必要なしに、DM
A以外のコントローラによるアドレッシング可能リソー
スへのアクセスに対するサポートを提供することができ
る。
な問題に対する1つのアプローチは、マスタとなるコン
トローラ用の別のポートを用意するものであり、それ
は、コントローラがDMAのアドレッシング・マシンの
レジスタに直接アクセスすることを可能にさせる。その
ようなポートを含めることは、システムの複雑さを非常
に低下させる。その理由は、一旦DMAのアドレッシン
グ・マシンがロードされると、実行されるアクセスは別
のDMAアクセスのように見えるためである。これによ
って、DMA内またはDMAの外部の共有リソース用に
(例えば、DMAとCPUとの間に)存在するどのよう
なアービトレーション方式も、同様にこの種のアクセス
に対して十分である。このように、各リソースにアービ
トレーションや付加ポートを追加する必要なしに、DM
A以外のコントローラによるアドレッシング可能リソー
スへのアクセスに対するサポートを提供することができ
る。
【0009】初期のダイレクト・メモリ・アクセスは、
集中化された転送コントローラのいくつかの成功したバ
ージョンへと進歩し、最近では、ハブおよびポート・ア
ーキテクチャ付き転送コントローラへと進歩した。ハブ
およびポート・アーキテクチャ付き転送コントローラ
は、2000年4月6日付の優先権主張を伴う米国特許
出願番号第09/543,870号を有する「ハブおよ
びポート・アーキテクチャ付き転送コントローラ」と題
する1999年4月10日付けの英国特許出願番号第9
901996.9号に述べられている。
集中化された転送コントローラのいくつかの成功したバ
ージョンへと進歩し、最近では、ハブおよびポート・ア
ーキテクチャ付き転送コントローラへと進歩した。ハブ
およびポート・アーキテクチャ付き転送コントローラ
は、2000年4月6日付の優先権主張を伴う米国特許
出願番号第09/543,870号を有する「ハブおよ
びポート・アーキテクチャ付き転送コントローラ」と題
する1999年4月10日付けの英国特許出願番号第9
901996.9号に述べられている。
【0010】最初の転送コントローラ・モジュールは、
テキサス・インスツルメンツ社のTMS320C80デ
ィジタル信号プロセッサ用として開発された。この転送
コントローラは、4個のディジタル信号プロセッサと1
個のRISC(縮小命令セット・コンピュータ)プロセ
ッサとから、直接外部アクセスとも呼ばれるキャッシュ
および長距離データ転送を提供するために必要なアドレ
ス発生論理と従来のコントローラのダイレクト・メモリ
・アクセス機能を統合した。
テキサス・インスツルメンツ社のTMS320C80デ
ィジタル信号プロセッサ用として開発された。この転送
コントローラは、4個のディジタル信号プロセッサと1
個のRISC(縮小命令セット・コンピュータ)プロセ
ッサとから、直接外部アクセスとも呼ばれるキャッシュ
および長距離データ転送を提供するために必要なアドレ
ス発生論理と従来のコントローラのダイレクト・メモリ
・アクセス機能を統合した。
【0011】TMS320C80の転送コントローラ・
アーキテクチャは、1組のアドレス発生およびパラメー
タ・レジスタだけがあればよい点で、ダイレクト・メモ
リ・アクセスとは基本的に異なる。従来のダイレクト・
メモリ・アクセス・ユニットは、多数組の多重チャンネ
ルを必要とした。しかしながら、1組のレジスタは、す
べてのダイレクト・メモリ・アクセス要求者によって利
用され得る。ダイレクト・メモリ・アクセス要求は、そ
のデバイスの周辺機器における符号化入力の組を介して
転送コントローラへ送信される。また、各ディジタル信
号プロセッサは、転送コントローラに対して要求を提出
することができる。外部符号化入力は、「外部発信パケ
ット転送」(XPT)と呼ばれる。ディジタル信号プロ
セッサが開始した転送は、「パケット転送」(PT)と
呼ばれる。RISCプロセッサもまた、転送コントロー
ラに対してパケット転送要求を提出することができる。
アーキテクチャは、1組のアドレス発生およびパラメー
タ・レジスタだけがあればよい点で、ダイレクト・メモ
リ・アクセスとは基本的に異なる。従来のダイレクト・
メモリ・アクセス・ユニットは、多数組の多重チャンネ
ルを必要とした。しかしながら、1組のレジスタは、す
べてのダイレクト・メモリ・アクセス要求者によって利
用され得る。ダイレクト・メモリ・アクセス要求は、そ
のデバイスの周辺機器における符号化入力の組を介して
転送コントローラへ送信される。また、各ディジタル信
号プロセッサは、転送コントローラに対して要求を提出
することができる。外部符号化入力は、「外部発信パケ
ット転送」(XPT)と呼ばれる。ディジタル信号プロ
セッサが開始した転送は、「パケット転送」(PT)と
呼ばれる。RISCプロセッサもまた、転送コントロー
ラに対してパケット転送要求を提出することができる。
【0012】ハブおよびポート付き転送コントローラは
いくつかの新しい概念を導入した。第1の概念は、ユニ
フォーム・パイプライン化である。ハブおよびポート・
アーキテクチャ付き転送コントローラを含む新しいディ
ジタル信号プロセッサ・デバイスは、多数の外部ポート
を有し、それらはすべてハブには同じように見える。し
たがって、周辺機器およびメモリは、ハブに影響される
ことなく自由に交換できる。第2の新概念は、転送の同
時実行である。すなわち、N個までの転送がデバイスの
多重ポート上に並列に発生する。ここで、Nはハブおよ
びポート・コア付き転送コントローラのチャンネル数で
ある。ハブおよびポート・コア付き転送コントローラの
各チャンネルは、機能的には、1組のレジスタとみなせ
る。このレジスタの組は、転送に関する現在の発信元ア
ドレスおよび送信先アドレスとワード数と他のパラメー
タとを追跡する。各チャンネルは同じであり、したがっ
て、ハブおよびポート付き転送コントローラによってサ
ポートされるチャンネルの数は自由に変更できる。
いくつかの新しい概念を導入した。第1の概念は、ユニ
フォーム・パイプライン化である。ハブおよびポート・
アーキテクチャ付き転送コントローラを含む新しいディ
ジタル信号プロセッサ・デバイスは、多数の外部ポート
を有し、それらはすべてハブには同じように見える。し
たがって、周辺機器およびメモリは、ハブに影響される
ことなく自由に交換できる。第2の新概念は、転送の同
時実行である。すなわち、N個までの転送がデバイスの
多重ポート上に並列に発生する。ここで、Nはハブおよ
びポート・コア付き転送コントローラのチャンネル数で
ある。ハブおよびポート・コア付き転送コントローラの
各チャンネルは、機能的には、1組のレジスタとみなせ
る。このレジスタの組は、転送に関する現在の発信元ア
ドレスおよび送信先アドレスとワード数と他のパラメー
タとを追跡する。各チャンネルは同じであり、したがっ
て、ハブおよびポート付き転送コントローラによってサ
ポートされるチャンネルの数は自由に変更できる。
【0013】最後に、ハブおよびポート付き転送コント
ローラは、専用キュー・メモリにおいて転送をキューす
る機構を含む。TMS320C80転送コントローラで
は、一時にプロセッサ当り1つの未処理の転送のみが許
可された。ハブおよびポート付き転送コントローラによ
って提供されるキュー・メモリを介して、プロセッサ
は、ディジタル信号プロセッサを機能停止させる前に、
キュー・メモリ・サイズまで多数の転送要求を発行す
る。
ローラは、専用キュー・メモリにおいて転送をキューす
る機構を含む。TMS320C80転送コントローラで
は、一時にプロセッサ当り1つの未処理の転送のみが許
可された。ハブおよびポート付き転送コントローラによ
って提供されるキュー・メモリを介して、プロセッサ
は、ディジタル信号プロセッサを機能停止させる前に、
キュー・メモリ・サイズまで多数の転送要求を発行す
る。
【0014】
【課題を解決するための手段】本発明は、2000年4
月6日付の優先権主張を伴う米国特許出願番号第09/
543,870号を有する1999年4月10日付けの
英国特許出願番号第9901996.9号の主題である
「ハブおよびポート付き転送コントローラ」に適用され
るような、各種メモリ・ポート・ノードをつなぐデータ
転送を取り扱う。ハブおよびポート付き転送コントロー
ラは、複雑なディジタル・システムにおけるデータ転送
技術における重要な基本的進歩であり、多くの有用な特
徴を提供する。その1つは、集中化された転送コントロ
ーラに対して仮想的に無制限個のプロセッサ/メモリ・
ノードの接続を可能にさせる内部メモリ・ポートであ
る。集中化された転送コントローラは、ノードが転送コ
ントローラそれ自身からどのくらい離れているかまたは
接近しているかにほとんど関係ない性能でノードからノ
ードへデータを転送することができなければならない。
本発明によって解決される問題をはっきりさせるため
に、ハブおよびポート付き転送コントローラの特徴,ア
ーキテクチャおよび機能構築ブロックについて概観する
ことが有用である。
月6日付の優先権主張を伴う米国特許出願番号第09/
543,870号を有する1999年4月10日付けの
英国特許出願番号第9901996.9号の主題である
「ハブおよびポート付き転送コントローラ」に適用され
るような、各種メモリ・ポート・ノードをつなぐデータ
転送を取り扱う。ハブおよびポート付き転送コントロー
ラは、複雑なディジタル・システムにおけるデータ転送
技術における重要な基本的進歩であり、多くの有用な特
徴を提供する。その1つは、集中化された転送コントロ
ーラに対して仮想的に無制限個のプロセッサ/メモリ・
ノードの接続を可能にさせる内部メモリ・ポートであ
る。集中化された転送コントローラは、ノードが転送コ
ントローラそれ自身からどのくらい離れているかまたは
接近しているかにほとんど関係ない性能でノードからノ
ードへデータを転送することができなければならない。
本発明によって解決される問題をはっきりさせるため
に、ハブおよびポート付き転送コントローラの特徴,ア
ーキテクチャおよび機能構築ブロックについて概観する
ことが有用である。
【0015】アクティブ・ポートは、それが実行する各
トランザクションについてそれ自身の発信元アドレスお
よび送信先アドレスを供給する周辺機器またはコントロ
ーラ・デバイスである。DSP応用におけるアクティブ
・ポートの一例は集積PCIコントローラであろう。イ
ンタフェースの片側に標準PCI接続があり、それは、
他のバックプレーン・デバイスかたぶんホスト中央処理
ユニット(CPU)を含むもっと大きなシステムの一部
であろう。インタフェースの反対側(すなわち、デバイ
ス内部)には、ハブおよびポート付き転送コントローラ
内のインタフェースがあり、それは、PCI読出しおよ
び書込みコマンドをデバイス読出しおよび書込みコマン
ドに変換する。
トランザクションについてそれ自身の発信元アドレスお
よび送信先アドレスを供給する周辺機器またはコントロ
ーラ・デバイスである。DSP応用におけるアクティブ
・ポートの一例は集積PCIコントローラであろう。イ
ンタフェースの片側に標準PCI接続があり、それは、
他のバックプレーン・デバイスかたぶんホスト中央処理
ユニット(CPU)を含むもっと大きなシステムの一部
であろう。インタフェースの反対側(すなわち、デバイ
ス内部)には、ハブおよびポート付き転送コントローラ
内のインタフェースがあり、それは、PCI読出しおよ
び書込みコマンドをデバイス読出しおよび書込みコマン
ドに変換する。
【0016】考慮されるべき2つのタイプの転送があ
る。すなわち、アクティブ読出しとアクティブ書込みと
である。読出しおよび書込みは、標的デバイスの外部デ
バイスという面においてここで説明される。すなわち、
アクティブ書込みは、アクティブ・ポートからシステム
・メモリ空間への書込みである。アクティブ読出しは、
アクティブ・ポートによるシステム・メモリ空間の読出
しである。
る。すなわち、アクティブ読出しとアクティブ書込みと
である。読出しおよび書込みは、標的デバイスの外部デ
バイスという面においてここで説明される。すなわち、
アクティブ書込みは、アクティブ・ポートからシステム
・メモリ空間への書込みである。アクティブ読出しは、
アクティブ・ポートによるシステム・メモリ空間の読出
しである。
【0017】最も単純なアクティブ書込みは、ハブおよ
びポート付き転送コントローラで次のように行われる。
最初に、アドレスがアクティブ・ポートに書き込まれ
る。このことは、通常、デバイス・ピンから行われる。
CPUがこれを供給することを可能にする提供は、ロッ
クアップ状態を解消するのに有利である。アクティブ書
込み用のアドレスは、アクティブ・ポートを介してシス
テムに書き込まれるべきデータに対する最終送信先を指
定する。アクティブ・ポートへデータが書き込まれると
きに、それは一時的に記憶場所に保存される必要があ
る。その間に、データをそれの最終送信先へ移動させる
要求が、ハブおよびポート付き転送コントローラに入力
される。
びポート付き転送コントローラで次のように行われる。
最初に、アドレスがアクティブ・ポートに書き込まれ
る。このことは、通常、デバイス・ピンから行われる。
CPUがこれを供給することを可能にする提供は、ロッ
クアップ状態を解消するのに有利である。アクティブ書
込み用のアドレスは、アクティブ・ポートを介してシス
テムに書き込まれるべきデータに対する最終送信先を指
定する。アクティブ・ポートへデータが書き込まれると
きに、それは一時的に記憶場所に保存される必要があ
る。その間に、データをそれの最終送信先へ移動させる
要求が、ハブおよびポート付き転送コントローラに入力
される。
【0018】アクティブ読出しコマンドは、アクティブ
・ポートへのアドレス書込みから再び始まる。これは、
通常、デバイス・ピンから行われる。CPUが同様なロ
ーディング機能を備えることが必要で望ましいと考えら
れている。このアドレスは、システム・メモリ空間内で
の発信元データに対するアドレスを表す。アクティブ読
出しでは、転送要求は、何らかのデータ・サブサイクル
が行われる前に、ハブおよびポート付き転送コントロー
ラに入力される。アクティブ書込みの場合はそうでない
ことに注意されたい。
・ポートへのアドレス書込みから再び始まる。これは、
通常、デバイス・ピンから行われる。CPUが同様なロ
ーディング機能を備えることが必要で望ましいと考えら
れている。このアドレスは、システム・メモリ空間内で
の発信元データに対するアドレスを表す。アクティブ読
出しでは、転送要求は、何らかのデータ・サブサイクル
が行われる前に、ハブおよびポート付き転送コントロー
ラに入力される。アクティブ書込みの場合はそうでない
ことに注意されたい。
【0019】本発明のこれらの態様および他の態様が図
面に示されている。
面に示されている。
【0020】
【発明の実施の形態】ハブおよびポート・アーキテクチ
ャ付き転送コントローラは、ディジタル信号プロセッサ
・チップ中のデータの効率的通過を最適化する。図1
は、ハブおよびポート付き転送コントローラの原理構造
のブロック図を示す。それは、一つのハブ100および
多重ポート111〜115のシステムからなる。ハブの
中心には、ハブおよびポート付き転送コントローラ・ハ
ブ制御ユニット109があり、それは、要求およびステ
ータス情報に応じて動作して転送コントローラの全体活
動を支配する。
ャ付き転送コントローラは、ディジタル信号プロセッサ
・チップ中のデータの効率的通過を最適化する。図1
は、ハブおよびポート付き転送コントローラの原理構造
のブロック図を示す。それは、一つのハブ100および
多重ポート111〜115のシステムからなる。ハブの
中心には、ハブおよびポート付き転送コントローラ・ハ
ブ制御ユニット109があり、それは、要求およびステ
ータス情報に応じて動作して転送コントローラの全体活
動を支配する。
【0021】ハブおよびポート付き転送コントローラ
は、入力103に転送要求パケットを与える1組のノー
ドを有する転送要求バスと共同して機能する。これらの
転送要求バス・ノードは、プロセッサ−メモリ・ノード
やデータを送受信する他のオンチップ機能である転送要
求者116からの転送要求パケットを個々に受信する。
は、入力103に転送要求パケットを与える1組のノー
ドを有する転送要求バスと共同して機能する。これらの
転送要求バス・ノードは、プロセッサ−メモリ・ノード
やデータを送受信する他のオンチップ機能である転送要
求者116からの転送要求パケットを個々に受信する。
【0022】次に、転送コントローラは、付加バス(1
組のノード118を有するデータ転送バス)を使用して
要求者ノード116で実際のデータを読み書きする。デ
ータ転送バスは、特別な内部メモリ・ポート115から
のコマンド,書込みデータおよび読出しデータを運び、
また、入力104において読出しデータをデータ・ルー
タ150を介して転送コントローラ・ハブへ戻す。
組のノード118を有するデータ転送バス)を使用して
要求者ノード116で実際のデータを読み書きする。デ
ータ転送バスは、特別な内部メモリ・ポート115から
のコマンド,書込みデータおよび読出しデータを運び、
また、入力104において読出しデータをデータ・ルー
タ150を介して転送コントローラ・ハブへ戻す。
【0023】転送コントローラは、それのフロントエン
ド部に、入力103において転送要求パケットの形の転
送要求を受信する要求キュー・マネージャ101を有す
る。要求キュー・マネージャ101は、必要に応じてそ
れらを優先付けし記憶しディスパッチする。
ド部に、入力103において転送要求パケットの形の転
送要求を受信する要求キュー・マネージャ101を有す
る。要求キュー・マネージャ101は、必要に応じてそ
れらを優先付けし記憶しディスパッチする。
【0024】要求キュー・マネージャ101は、転送コ
ントローラ・ハブ・ユニット100内で、データ転送要
求パケットを受信しそれらを処理するチャンネル要求レ
ジスタ120に接続されている。この過程で、要求キュ
ー・マネージャ101は、まず、転送要求パケットを優
先付けし、それらをN個のチャンネル要求レジスタ12
0の1つに割り当てる。N個のチャンネル要求レジスタ
120の各々は1つの優先順位を表す。
ントローラ・ハブ・ユニット100内で、データ転送要
求パケットを受信しそれらを処理するチャンネル要求レ
ジスタ120に接続されている。この過程で、要求キュ
ー・マネージャ101は、まず、転送要求パケットを優
先付けし、それらをN個のチャンネル要求レジスタ12
0の1つに割り当てる。N個のチャンネル要求レジスタ
120の各々は1つの優先順位を表す。
【0025】転送要求パケットの直接処理に利用できる
チャンネルがなければ、それはキュー・マネージャ・メ
モリ102に記憶される。キュー・マネージャ・メモリ
102は、好ましくは、ランダム・アクセス・メモリ
(RAM)である。次に、転送要求パケットは、チャン
ネルが利用できるようになった時よりも遅い時点で、割
り当てられる。チャンネル・レジスタは、等価的に発信
元(読出し)動作および送信先(書込み)動作用のアド
レス計算ユニットである発信元130および送信先14
0の制御パイプラインとインタフェースする。
チャンネルがなければ、それはキュー・マネージャ・メ
モリ102に記憶される。キュー・マネージャ・メモリ
102は、好ましくは、ランダム・アクセス・メモリ
(RAM)である。次に、転送要求パケットは、チャン
ネルが利用できるようになった時よりも遅い時点で、割
り当てられる。チャンネル・レジスタは、等価的に発信
元(読出し)動作および送信先(書込み)動作用のアド
レス計算ユニットである発信元130および送信先14
0の制御パイプラインとインタフェースする。
【0026】これらのパイプラインからの出力は、転送
コントローラ・ポートI/Oサブシステム110を介し
てM個のポートに送信される。I/Oサブシステム11
0は1組のハブ・インタフェース・ユニットを含み、そ
れらはM個までの外部ポート・ユニットを駆動できる。
図1には4個のそのような外部ポートが外部ポート11
1〜114として示されている。外部ポート・ユニット
(「アプリケーション・ユニット」とも呼ばれる。)
は、メイン・プロセッサ・クロック周波数でまたは別の
外部デバイス・クロック周波数でクロックされる。外部
デバイス・クロック周波数は、メイン・プロセッサ・ク
ロック周波数よりも低かったり高かったりする。ポート
がそれ自身の周波数で動作すれば、コア・クロックに対
する同期が必要になる。
コントローラ・ポートI/Oサブシステム110を介し
てM個のポートに送信される。I/Oサブシステム11
0は1組のハブ・インタフェース・ユニットを含み、そ
れらはM個までの外部ポート・ユニットを駆動できる。
図1には4個のそのような外部ポートが外部ポート11
1〜114として示されている。外部ポート・ユニット
(「アプリケーション・ユニット」とも呼ばれる。)
は、メイン・プロセッサ・クロック周波数でまたは別の
外部デバイス・クロック周波数でクロックされる。外部
デバイス・クロック周波数は、メイン・プロセッサ・ク
ロック周波数よりも低かったり高かったりする。ポート
がそれ自身の周波数で動作すれば、コア・クロックに対
する同期が必要になる。
【0027】ポートにおける読出し書込み動作の一例と
して、外部ポート・ノード112からの読出しに続いて
外部ポート・ノード114への書込みが発生する場合を
考える。まず、発信元パイプラインは、読出しのために
ポート112をアドレッシングする。データは、データ
・ルータ・ユニット150を介して転送コントローラ・
ハブに戻される。後のサイクルでは、送信先制御パイプ
ラインは、ポート114をアドレッシングし、ポート1
14でデータを書き込む。ここで述べる外部ポートは、
転送要求を開始することはせず、チップ上のどこかで要
求された読出しおよび書込みに単に参加するだけであ
る。プロセッサ−メモリ(転送要求者)ノード116に
関連する読出しおよび書込み動作は、転送要求バス11
7上の転送要求パケットとして開始される。キュー・マ
ネージャ101は、上述したようにこれらを処理する。
後のサイクルでは、発信元パイプライン出力(読出しコ
マンド/アドレス)が生成され、それは内部メモリ・ポ
ートにおいて読出しの形でデータ転送バス118へ送ら
れる。このコマンドは、データ転送バス上を1つのノー
ドから次のノードへパイプライン式に進む。アドレッシ
ングされたプロセッサ・ノードに到達すると、読出し要
求は、プロセッサ−メモリ・ノードにデータ・ルータ1
50に戻すために読出しデータをバス上へ置かせる。後
のサイクルでは、送信先パイプライン出力が、対応する
書込みコマンドおよびデータを内部メモリ・ポートへ受
け渡し、アドレッシングされたプロセッサ・ノードにお
ける書込みのためにデータ転送バス上へ渡す。
して、外部ポート・ノード112からの読出しに続いて
外部ポート・ノード114への書込みが発生する場合を
考える。まず、発信元パイプラインは、読出しのために
ポート112をアドレッシングする。データは、データ
・ルータ・ユニット150を介して転送コントローラ・
ハブに戻される。後のサイクルでは、送信先制御パイプ
ラインは、ポート114をアドレッシングし、ポート1
14でデータを書き込む。ここで述べる外部ポートは、
転送要求を開始することはせず、チップ上のどこかで要
求された読出しおよび書込みに単に参加するだけであ
る。プロセッサ−メモリ(転送要求者)ノード116に
関連する読出しおよび書込み動作は、転送要求バス11
7上の転送要求パケットとして開始される。キュー・マ
ネージャ101は、上述したようにこれらを処理する。
後のサイクルでは、発信元パイプライン出力(読出しコ
マンド/アドレス)が生成され、それは内部メモリ・ポ
ートにおいて読出しの形でデータ転送バス118へ送ら
れる。このコマンドは、データ転送バス上を1つのノー
ドから次のノードへパイプライン式に進む。アドレッシ
ングされたプロセッサ・ノードに到達すると、読出し要
求は、プロセッサ−メモリ・ノードにデータ・ルータ1
50に戻すために読出しデータをバス上へ置かせる。後
のサイクルでは、送信先パイプライン出力が、対応する
書込みコマンドおよびデータを内部メモリ・ポートへ受
け渡し、アドレッシングされたプロセッサ・ノードにお
ける書込みのためにデータ転送バス上へ渡す。
【0028】チャンネル・パラメータ・レジスタ105
およびポート・パラメータ・レジスタ106は、転送コ
ントローラ・ハブ・パイプラインが与えられた転送を処
理するためのステータス情報のほかに、すべての必要な
パラメータ・データを保持する。両パイプラインは記憶
情報のいくつかを共有する。他の部分は一方のパイプラ
イン又は他方のパイプラインに特に関連する。
およびポート・パラメータ・レジスタ106は、転送コ
ントローラ・ハブ・パイプラインが与えられた転送を処
理するためのステータス情報のほかに、すべての必要な
パラメータ・データを保持する。両パイプラインは記憶
情報のいくつかを共有する。他の部分は一方のパイプラ
イン又は他方のパイプラインに特に関連する。
【0029】図2は、転送コントローラ・ハブ・ユニッ
ト境界(具体的には、チャンネル要求レジスタ200〜
205,チャンネル・パラメータ・レジスタ105およ
びポート・パラメータ・レジスタ106)へのインタフ
ェースを示す。チャンネル・パラメータ・レジスタ10
5およびポート・パラメータ・レジスタ106は、例え
ば、転送のタイプ,モード情報,ステータスおよび転送
プロセスにとって重要な多くの他の情報に関する重要な
データを記憶する。
ト境界(具体的には、チャンネル要求レジスタ200〜
205,チャンネル・パラメータ・レジスタ105およ
びポート・パラメータ・レジスタ106)へのインタフ
ェースを示す。チャンネル・パラメータ・レジスタ10
5およびポート・パラメータ・レジスタ106は、例え
ば、転送のタイプ,モード情報,ステータスおよび転送
プロセスにとって重要な多くの他の情報に関する重要な
データを記憶する。
【0030】チャンネル要求レジスタは、読出し/予備
的書込みコマンド221を生成するために発信元パイプ
ライン204’で使用される情報を受け渡す。同様に、
チャンネル要求レジスタは、書込みコマンド/書込みデ
ータ・ワード222を生成するために送信先パイプライ
ン205’で使用される情報を受け渡す。ポートからの
読出し応答データ223は、データ・ルータ・ユニット
206を介して送信先パイプラインに戻される。
的書込みコマンド221を生成するために発信元パイプ
ライン204’で使用される情報を受け渡す。同様に、
チャンネル要求レジスタは、書込みコマンド/書込みデ
ータ・ワード222を生成するために送信先パイプライ
ン205’で使用される情報を受け渡す。ポートからの
読出し応答データ223は、データ・ルータ・ユニット
206を介して送信先パイプラインに戻される。
【0031】図2はまた、転送コントローラ実現のため
に考え得るパイプラインを示す。特定の実施では、1つ
以上のステージを組み合せるが、個々のパイプライン・
ステージ内で完了されるべき作業は、本質的には、次の
ようなものである。
に考え得るパイプラインを示す。特定の実施では、1つ
以上のステージを組み合せるが、個々のパイプライン・
ステージ内で完了されるべき作業は、本質的には、次の
ようなものである。
【0032】
【表1】
【0033】転送コントローラ・ハブは、任意の与えら
れたクロック・サイクルでポートに対して2つの動作を
実行できる。これらの2つの動作は、発信元パイプライ
ン出力ステージでの予備的書込みまたは読出しと、送信
先パイプライン出力ステージでの書込みとである。これ
らの2つの動作は1つのポートで同時に発生し得る。同
じポートの読出しキューもまた、前サイクルからの「読
出し」データの1ワードをデータ・ルータに送出でき
る。したがって、1つのポートは、与えられたクロック
・サイクルで3つもの動作を行うことができる。1つの
クロック・サイクルにおいて、深さNをそれぞれ有する
発信元パイプラインおよび送信先パイプラインは、それ
らの出力ステージでの1つの動作と、最初のN−1ステ
ージを通過する付加的なN−1個の動作とを有する。例
えば、6ステージ・パイプラインでは、合計で12個の
動作が進行する。発信元パイプラインおよび送信先パイ
プラインの両方のA0ステージ,A1ステージおよびC
ステージでは、1つのトランザクションがそれぞれ進行
する。発信元パイプラインの各ステージでのトランザク
ションは読出しまたは予備的書込みの任意の組合せでよ
く、他方、送信先パイプラインは書込みのみを処理でき
る。
れたクロック・サイクルでポートに対して2つの動作を
実行できる。これらの2つの動作は、発信元パイプライ
ン出力ステージでの予備的書込みまたは読出しと、送信
先パイプライン出力ステージでの書込みとである。これ
らの2つの動作は1つのポートで同時に発生し得る。同
じポートの読出しキューもまた、前サイクルからの「読
出し」データの1ワードをデータ・ルータに送出でき
る。したがって、1つのポートは、与えられたクロック
・サイクルで3つもの動作を行うことができる。1つの
クロック・サイクルにおいて、深さNをそれぞれ有する
発信元パイプラインおよび送信先パイプラインは、それ
らの出力ステージでの1つの動作と、最初のN−1ステ
ージを通過する付加的なN−1個の動作とを有する。例
えば、6ステージ・パイプラインでは、合計で12個の
動作が進行する。発信元パイプラインおよび送信先パイ
プラインの両方のA0ステージ,A1ステージおよびC
ステージでは、1つのトランザクションがそれぞれ進行
する。発信元パイプラインの各ステージでのトランザク
ションは読出しまたは予備的書込みの任意の組合せでよ
く、他方、送信先パイプラインは書込みのみを処理でき
る。
【0034】2000年4月6日付の優先権主張を伴う
米国特許出願番号第09/543,870号を有する
「ハブおよびポート・アーキテクチャ付き転送コントロ
ーラ」と題する1999年4月10日付けの英国特許出
願番号第9901996.9号に述べられたように、ハ
ブおよびポート付き転送コントローラは、アクティブ・
ポートの接続を簡略化するいくつかのファシリティを含
む。議論する価値のある2つの主要なファシリティは、
ハブ・インタフェース・ユニット(HIU)と転送要求
(TR)バスとである。
米国特許出願番号第09/543,870号を有する
「ハブおよびポート・アーキテクチャ付き転送コントロ
ーラ」と題する1999年4月10日付けの英国特許出
願番号第9901996.9号に述べられたように、ハ
ブおよびポート付き転送コントローラは、アクティブ・
ポートの接続を簡略化するいくつかのファシリティを含
む。議論する価値のある2つの主要なファシリティは、
ハブ・インタフェース・ユニット(HIU)と転送要求
(TR)バスとである。
【0035】HIU機構は、一般に、アクティブでない
ポート用として、より古典的なやり方でポートに対する
データ・バッファリングを実行する。例えば、外部メモ
リ・インタフェースは、普通、DSPシステム内のアド
レスを支配しようとしない。むしろ、そのような周辺機
器は、普通、ハブおよびポート付き転送コントローラか
らの通常の読出しコマンドおよび書込みコマンドに応答
するだけである。
ポート用として、より古典的なやり方でポートに対する
データ・バッファリングを実行する。例えば、外部メモ
リ・インタフェースは、普通、DSPシステム内のアド
レスを支配しようとしない。むしろ、そのような周辺機
器は、普通、ハブおよびポート付き転送コントローラか
らの通常の読出しコマンドおよび書込みコマンドに応答
するだけである。
【0036】HIU機構は、そのような場合にデータお
よびコマンド用のバッファを提供する。これは、アクセ
スをバースト・トランザクションとして実行することに
よって高性能を可能とさせる。すなわち、HIUは、普
通、単一的要素ではなくデータ群に対するバッファを含
む。これは、1つのハブおよびポート付き転送コントロ
ーラ・コマンドが多数個のデータに対して発行されるこ
とを可能にさせる。メモリ技術(特に、DSP応用で広
く使用されるダイナミックRAM)が進歩するにつれ
て、アクセスの待ち時間によって引き起こされる性能劣
化を克服するために、ここに述べたような多重アクセス
を実行することが益々重要になっている。このことは半
導体物理からも要求される。すなわち、1つのマシン・
サイクル中にデバイスの小領域でさえも信号の伝搬が許
容されないことがしばしば起こる。
よびコマンド用のバッファを提供する。これは、アクセ
スをバースト・トランザクションとして実行することに
よって高性能を可能とさせる。すなわち、HIUは、普
通、単一的要素ではなくデータ群に対するバッファを含
む。これは、1つのハブおよびポート付き転送コントロ
ーラ・コマンドが多数個のデータに対して発行されるこ
とを可能にさせる。メモリ技術(特に、DSP応用で広
く使用されるダイナミックRAM)が進歩するにつれ
て、アクセスの待ち時間によって引き起こされる性能劣
化を克服するために、ここに述べたような多重アクセス
を実行することが益々重要になっている。このことは半
導体物理からも要求される。すなわち、1つのマシン・
サイクル中にデバイスの小領域でさえも信号の伝搬が許
容されないことがしばしば起こる。
【0037】図3は、クロック・ドメインA 308お
よびクロック・ドメインB 309の2つのクロック・
ドメインに分離されたHIUのハイレベル・ブロック図
を示す。これらの2つのクロック・ドメインは、この例
では、コア・プロセッサ・クロック314(クロック・
ドメインA)とアプリケーション・ユニット(AU)・
クロック321(クロック・ドメインB)とを採用して
いる。図3はコンフィギュレーション信号301も示し
ており、それは、コンフィギュレーション制御バスから
発し、アプリケーション・ユニット330を含むすべて
のコンフィギュレーション可能装置にコンフィギュレー
ション制御データを供給する。コンフィギュレーション
動作は装置の実際のアプリケーション使用の前に実行さ
れる。コンフィギュレーション制御ハードウエアは、普
通、通常のアプリケーション使用中は休止している。H
IUの中核機能ブロックは、各クロック・ドメインA,
Bに分離されたHIU制御論理ブロック304,31
4’と、HIU読出し要求キュー305と、HIU書込
み要求キュー306と、HIU出力マルチプレクサ30
7と、HIU応答キュー303とを含む。これらのHI
Uの中核機能ブロックは、ハブおよびポート付き転送コ
ントローラ側ではハブとの間で、また、ポート側ではア
プリケーション・ユニット330との間で、データ,コ
マンドおよびステータス信号(例えば、有効,アクノリ
ッジ)をやり取りする。
よびクロック・ドメインB 309の2つのクロック・
ドメインに分離されたHIUのハイレベル・ブロック図
を示す。これらの2つのクロック・ドメインは、この例
では、コア・プロセッサ・クロック314(クロック・
ドメインA)とアプリケーション・ユニット(AU)・
クロック321(クロック・ドメインB)とを採用して
いる。図3はコンフィギュレーション信号301も示し
ており、それは、コンフィギュレーション制御バスから
発し、アプリケーション・ユニット330を含むすべて
のコンフィギュレーション可能装置にコンフィギュレー
ション制御データを供給する。コンフィギュレーション
動作は装置の実際のアプリケーション使用の前に実行さ
れる。コンフィギュレーション制御ハードウエアは、普
通、通常のアプリケーション使用中は休止している。H
IUの中核機能ブロックは、各クロック・ドメインA,
Bに分離されたHIU制御論理ブロック304,31
4’と、HIU読出し要求キュー305と、HIU書込
み要求キュー306と、HIU出力マルチプレクサ30
7と、HIU応答キュー303とを含む。これらのHI
Uの中核機能ブロックは、ハブおよびポート付き転送コ
ントローラ側ではハブとの間で、また、ポート側ではア
プリケーション・ユニット330との間で、データ,コ
マンドおよびステータス信号(例えば、有効,アクノリ
ッジ)をやり取りする。
【0038】コマンド,アドレスおよびデータ情報は、
HIUの読出し要求キュー305および書込み要求キュ
ー306へハブから送られる。HIU制御論理304/
314’は、これらの組の情報を処理し、通常動作では
データと一緒にまたコンフィギュレーション・サイクル
の間はコンフィギュレーション・データと一緒にAU3
30へ送信されるコマンド,有効およびアクノリッジ信
号を発生する。読出し動作中のアプリケーション・ユニ
ット330は、それの読出しデータ,有効およびアクノ
リッジ信号をHIUへ受け渡す。
HIUの読出し要求キュー305および書込み要求キュ
ー306へハブから送られる。HIU制御論理304/
314’は、これらの組の情報を処理し、通常動作では
データと一緒にまたコンフィギュレーション・サイクル
の間はコンフィギュレーション・データと一緒にAU3
30へ送信されるコマンド,有効およびアクノリッジ信
号を発生する。読出し動作中のアプリケーション・ユニ
ット330は、それの読出しデータ,有効およびアクノ
リッジ信号をHIUへ受け渡す。
【0039】AUインタフェースは、一種の外部周辺イ
ンタフェースから別のものへそれの用途の変形が考えら
れる特注設計機能ブロックである。このことは、AUの
制御論理が広く可変であることを意味するが、制御信号
およびHIUによって提供されるインタフェースは多様
な特注AU仕様と互換である。AUデータ経路構造もま
た、一種の周辺機器インタフェースから別のものに変わ
る。
ンタフェースから別のものへそれの用途の変形が考えら
れる特注設計機能ブロックである。このことは、AUの
制御論理が広く可変であることを意味するが、制御信号
およびHIUによって提供されるインタフェースは多様
な特注AU仕様と互換である。AUデータ経路構造もま
た、一種の周辺機器インタフェースから別のものに変わ
る。
【0040】図4は、図1と似ているが、図1の外部ポ
ート111はアクティブ・ポート411で置換されてい
る。この機構は、スケーリング可能転送要求TRバス・
インタフェースを介してハブおよびポート付き転送コン
トローラとアクティブ・ポートとの統合を簡略化する。
アクティブ・ポート411が、図1に示した従来の外部
ポート111のように、転送コントローラ・ハブへの同
じ基本相互接続を維持していることに注目されたい。ア
クティブ・ポート411は、特別な転送要求ノード16
0における任意の他の転送要求ノードと同じように転送
要求を開始する。そのような転送要求は、発信元,送信
先および転送されるべきデータ量を指定しなければなら
ない。転送要求ノード160は、他の転送要求ノード1
16とは異なり、データ転送バス118への相互接続を
必要としない。アクティブ・ポート411におけるデー
タ転送は、HIUおよびそれのハブ・インタフェースを
介してのみ発生する。このインタフェースは、アクティ
ブ・ポートがすべての転送オプションのほかにトランザ
クションの発信元アドレスおよび送信先アドレスの両方
を直接に供給することを許容する。このファシリティを
利用して、ハブおよびポート付き転送コントローラのす
べてのDMAリソースがアクティブ・ポート411に提
供される。アクティブ・ポート411は、ハブおよびポ
ート付き転送コントローラがアクセスできる任意のアド
レッシング可能領域にアクセスでき、また、ハブおよび
ポート付き転送コントローラに備わっている任意のアド
レッシング・モードまたは特別転送オプションを利用で
きる。
ート111はアクティブ・ポート411で置換されてい
る。この機構は、スケーリング可能転送要求TRバス・
インタフェースを介してハブおよびポート付き転送コン
トローラとアクティブ・ポートとの統合を簡略化する。
アクティブ・ポート411が、図1に示した従来の外部
ポート111のように、転送コントローラ・ハブへの同
じ基本相互接続を維持していることに注目されたい。ア
クティブ・ポート411は、特別な転送要求ノード16
0における任意の他の転送要求ノードと同じように転送
要求を開始する。そのような転送要求は、発信元,送信
先および転送されるべきデータ量を指定しなければなら
ない。転送要求ノード160は、他の転送要求ノード1
16とは異なり、データ転送バス118への相互接続を
必要としない。アクティブ・ポート411におけるデー
タ転送は、HIUおよびそれのハブ・インタフェースを
介してのみ発生する。このインタフェースは、アクティ
ブ・ポートがすべての転送オプションのほかにトランザ
クションの発信元アドレスおよび送信先アドレスの両方
を直接に供給することを許容する。このファシリティを
利用して、ハブおよびポート付き転送コントローラのす
べてのDMAリソースがアクティブ・ポート411に提
供される。アクティブ・ポート411は、ハブおよびポ
ート付き転送コントローラがアクセスできる任意のアド
レッシング可能領域にアクセスでき、また、ハブおよび
ポート付き転送コントローラに備わっている任意のアド
レッシング・モードまたは特別転送オプションを利用で
きる。
【0041】図5および図6は、アクティブ読出しおよ
びアクティブ書込みに関連する処理をそれぞれ示す。H
IUは、もともと、従来型のより受動的な形式のポート
用として設計された。HIU内のバッファリング機構
は、理想的には、上述したようにアクティブ・ポート用
の一時記憶ファシリティとして動作するのに適してい
る。例えば、アクティブ書込みを実行する場合、アクテ
ィブ・ポートは、図3に示されたHIU応答キュー・バ
ッファ303を周辺機器内の分離バッファではなくて一
時記憶バッファとして利用することができる。同様に、
アクティブ読出しに関して、図3に示されたHIU書込
み予約局キュー306は適切なバッファリングを提供で
きるため、アクティブ・ポートはデータをバーストとし
てシステム中を効率的に動かすことができる。
びアクティブ書込みに関連する処理をそれぞれ示す。H
IUは、もともと、従来型のより受動的な形式のポート
用として設計された。HIU内のバッファリング機構
は、理想的には、上述したようにアクティブ・ポート用
の一時記憶ファシリティとして動作するのに適してい
る。例えば、アクティブ書込みを実行する場合、アクテ
ィブ・ポートは、図3に示されたHIU応答キュー・バ
ッファ303を周辺機器内の分離バッファではなくて一
時記憶バッファとして利用することができる。同様に、
アクティブ読出しに関して、図3に示されたHIU書込
み予約局キュー306は適切なバッファリングを提供で
きるため、アクティブ・ポートはデータをバーストとし
てシステム中を効率的に動かすことができる。
【0042】アクティブ・ポートは任意の他の周辺機器
のようなHIUへインタフェースするので、このポート
はそれがアクセスするアドレッシング可能リソースの重
要な物理的属性から解放されることにも注意されたい。
各アドレッシング可能リソースに対する転送のすべての
優先付け,パイプライン化および最適化は、ハブおよび
ポート付き転送コントローラによってそれの通常動作の
一部として直接的に提供される。これは、アクティブ・
ポートとハブおよびポート付き転送コントローラとを含
むシステムに関する設計および検証労力を大幅に簡略化
する。
のようなHIUへインタフェースするので、このポート
はそれがアクセスするアドレッシング可能リソースの重
要な物理的属性から解放されることにも注意されたい。
各アドレッシング可能リソースに対する転送のすべての
優先付け,パイプライン化および最適化は、ハブおよび
ポート付き転送コントローラによってそれの通常動作の
一部として直接的に提供される。これは、アクティブ・
ポートとハブおよびポート付き転送コントローラとを含
むシステムに関する設計および検証労力を大幅に簡略化
する。
【0043】アクティブ・ポートは、それが実行する各
トランザクションに関するそれ自身の発信元および送信
先アドレス・ストリームを供給できる周辺機器またはコ
ントローラ装置である。DSP応用でのアクティブ・ポ
ートの一例は集積PCIコントローラであろう。インタ
フェースのピン側には標準的なPCI接続があり、それ
は、他のバックプレーン・デバイスまたはたぶんホスト
CPUを含むもっと大きなシステムの一部分であろう。
デバイス内部のインタフェース側では、アクティブ・ポ
ートはハブおよびポート付きデバイス転送コントローラ
へのインタフェースであって、それはPCI読出しおよ
び書込みコマンドをデバイス読出しおよび書込みコマン
ドへ変換する。
トランザクションに関するそれ自身の発信元および送信
先アドレス・ストリームを供給できる周辺機器またはコ
ントローラ装置である。DSP応用でのアクティブ・ポ
ートの一例は集積PCIコントローラであろう。インタ
フェースのピン側には標準的なPCI接続があり、それ
は、他のバックプレーン・デバイスまたはたぶんホスト
CPUを含むもっと大きなシステムの一部分であろう。
デバイス内部のインタフェース側では、アクティブ・ポ
ートはハブおよびポート付きデバイス転送コントローラ
へのインタフェースであって、それはPCI読出しおよ
び書込みコマンドをデバイス読出しおよび書込みコマン
ドへ変換する。
【0044】転送はおおよそ次のように実行される。ホ
スト・プロセッサは、データをそれ自身のメモリ空間か
らDSP内部メモリへPCIバスを介して転送しようと
する。ホストは、それ自身のPCIコントローラ・デバ
イスをセットアップすることによってこの転送を開始し
てそのトランザクションを実行する。PCIコントロー
ラは、DSPのPCIインタフェースにおいて指令され
たPCIバス上のアドレス・サブサイクルをまず実行す
ることによって、この転送を開始する。DSPPCIイ
ンタフェースは、このアドレス・サブサイクルを受け入
れるとともに、変換またはウインドウ関数を任意に実行
してPCI空間内のこのアドレスをDSPメモリ空間へ
変換する。PCI周辺機器は、この変換されたアドレス
を用いてDSP内部メモリ空間をアドレッシングする。
このように、PCI周辺機器はトランザクション用のア
ドレスを能動的に供給する。
スト・プロセッサは、データをそれ自身のメモリ空間か
らDSP内部メモリへPCIバスを介して転送しようと
する。ホストは、それ自身のPCIコントローラ・デバ
イスをセットアップすることによってこの転送を開始し
てそのトランザクションを実行する。PCIコントロー
ラは、DSPのPCIインタフェースにおいて指令され
たPCIバス上のアドレス・サブサイクルをまず実行す
ることによって、この転送を開始する。DSPPCIイ
ンタフェースは、このアドレス・サブサイクルを受け入
れるとともに、変換またはウインドウ関数を任意に実行
してPCI空間内のこのアドレスをDSPメモリ空間へ
変換する。PCI周辺機器は、この変換されたアドレス
を用いてDSP内部メモリ空間をアドレッシングする。
このように、PCI周辺機器はトランザクション用のア
ドレスを能動的に供給する。
【0045】考慮されるべき2つのタイプの転送があ
る。すなわち、アクティブ読出しとアクティブ書込みと
である。ここで用いるアクティブの読出しおよび書込み
は、目標デバイスの外にあるデバイスから見たものとし
て捉えている。すなわち、アクティブ書込みはアクティ
ブ・ポートからDSPメモリ空間への書込みである。ア
クティブ読出しはアクティブ・ポートによるDSPメモ
リ空間の読出しである。したがって、上の例はアクティ
ブ書込みの一例である。
る。すなわち、アクティブ読出しとアクティブ書込みと
である。ここで用いるアクティブの読出しおよび書込み
は、目標デバイスの外にあるデバイスから見たものとし
て捉えている。すなわち、アクティブ書込みはアクティ
ブ・ポートからDSPメモリ空間への書込みである。ア
クティブ読出しはアクティブ・ポートによるDSPメモ
リ空間の読出しである。したがって、上の例はアクティ
ブ書込みの一例である。
【0046】アクティブ書込みでは、アドレスがアクテ
ィブ・ポートにまず書き込まれる。これはデバイス・ピ
ンから発生することが最も多い。しかしながら、DSP
がアドレスを供給することを可能にさせることが有利で
ある。これは特定のロックアップ状態を解消するのに望
ましい。アクティブ書込み用のアドレスは、アクティブ
・ポートを介してDSPメモリ空間へ書き込まれるべき
データの最終送信先を指定する。データがアクティブ・
ポートに書き込まれるとき、それは記憶ファシリティに
一時的に保存されなければならず、その間に、要求がハ
ブおよびポート付き転送コントローラに入力されてその
データをそれの最終送信先へ移動する。この転送要求に
おいて、データの発信元は外部アドレスではなくて内部
記憶空間である。ハブおよびポート付き転送コントロー
ラがこのアクセスを実行するとき、データは、内部記憶
空間から読み出され、アクティブ・ポートへ書き込まれ
た上述のアドレスによって指定される最終送信先へ書き
込まれる。
ィブ・ポートにまず書き込まれる。これはデバイス・ピ
ンから発生することが最も多い。しかしながら、DSP
がアドレスを供給することを可能にさせることが有利で
ある。これは特定のロックアップ状態を解消するのに望
ましい。アクティブ書込み用のアドレスは、アクティブ
・ポートを介してDSPメモリ空間へ書き込まれるべき
データの最終送信先を指定する。データがアクティブ・
ポートに書き込まれるとき、それは記憶ファシリティに
一時的に保存されなければならず、その間に、要求がハ
ブおよびポート付き転送コントローラに入力されてその
データをそれの最終送信先へ移動する。この転送要求に
おいて、データの発信元は外部アドレスではなくて内部
記憶空間である。ハブおよびポート付き転送コントロー
ラがこのアクセスを実行するとき、データは、内部記憶
空間から読み出され、アクティブ・ポートへ書き込まれ
た上述のアドレスによって指定される最終送信先へ書き
込まれる。
【0047】図5は、転送コントローラ・ハブとアクテ
ィブ読出しシーケンスを実行するアクティブ・ポートと
の間のコマンド信号およびデータの流れを示す。アクテ
ィブ読出しでは、アクティブ・ポート411は送信先ポ
ートでもある。このトランザクションは、アクティブ・
ポート411が転送要求バス117を介して転送コント
ローラ・ハブ100へデータ読出し要求501を入力す
ることで始まる。この要求は、他のTR要求と優先付け
され、ハブおよびポート付き転送コントローラ・チャン
ネル・レジスタ120へ最終的にロードされる。
ィブ読出しシーケンスを実行するアクティブ・ポートと
の間のコマンド信号およびデータの流れを示す。アクテ
ィブ読出しでは、アクティブ・ポート411は送信先ポ
ートでもある。このトランザクションは、アクティブ・
ポート411が転送要求バス117を介して転送コント
ローラ・ハブ100へデータ読出し要求501を入力す
ることで始まる。この要求は、他のTR要求と優先付け
され、ハブおよびポート付き転送コントローラ・チャン
ネル・レジスタ120へ最終的にロードされる。
【0048】転送コントローラ・ハブ100は送信先ポ
ートHIU505へ予備的書込みコマンド504を発行
する。HIU505は、この場合には送信先ポートでも
あるアクティブ・ポート411へのインタフェースであ
り、到着データ用の空間を確保する。一旦空間が送信先
ポートに確保されれば、発信元パイプラインSRC13
0は発信元ポート509に読出しコマンド508を発行
する。読出しデータ511は発信元ポート509からデ
ータ・ルータ150に戻される。データ・ルータ150
は読出しデータ514をアクティブ・ポートHIU50
5へ供給する。アクティブ・ポートHIU505は、こ
のコマンドを処理し、アクティブ・ポート411に書込
みコマンド512を入力する。アクティブ・ポート41
1は、アクノリッジ信号513を発生してアクティブ読
出しを完了する。予備的書込みコマンド504はアクテ
ィブ・ポート411には見えないことに注意されたい。
ートHIU505へ予備的書込みコマンド504を発行
する。HIU505は、この場合には送信先ポートでも
あるアクティブ・ポート411へのインタフェースであ
り、到着データ用の空間を確保する。一旦空間が送信先
ポートに確保されれば、発信元パイプラインSRC13
0は発信元ポート509に読出しコマンド508を発行
する。読出しデータ511は発信元ポート509からデ
ータ・ルータ150に戻される。データ・ルータ150
は読出しデータ514をアクティブ・ポートHIU50
5へ供給する。アクティブ・ポートHIU505は、こ
のコマンドを処理し、アクティブ・ポート411に書込
みコマンド512を入力する。アクティブ・ポート41
1は、アクノリッジ信号513を発生してアクティブ読
出しを完了する。予備的書込みコマンド504はアクテ
ィブ・ポート411には見えないことに注意されたい。
【0049】図6は、転送コントローラ・ハブとアクテ
ィブ書込みシーケンスを実行するアクティブ・ポートと
の間のコマンド信号およびデータの流れを示す。アクテ
ィブ・ポート411は、転送要求TRインタフェース1
17を介して転送コントローラ・ハブ100へデータ書
込み要求601を入力することによってアクティブ書込
みトランザクションを開始する。アクティブ・ポート4
11は、この場合には発信元ポートでもある。このデー
タ書込み要求601は、他のTR要求と優先付けされ、
転送コントローラのチャンネル・レジスタ120へ最終
的にロードされる。到着データ用の空間を確保するため
に、予備的書込みコマンド604が送信先ポート609
に発信元パイプラインSRC130によって発行され
る。一旦送信先ポートに空間が確保されれば、発信元パ
イプラインSRC130はHIU505に対して読出し
コマンド608を発行する。HIU505は、そのコマ
ンドを処理し、アクティブ・ポート411に読出しコマ
ンド610を入力する。アクティブ・ポート411は、
HIU505に読出しデータ611を供給することによ
って応答する。HIU505は、データ・ルータ・ユニ
ット150に読出しデータ621を供給する。データ・
ルータ150は、送信先パイプラインDST140に送
信先ポート609へ書込みコマンド612を供給させ
る。その後、データ・ルータ150は、書込みコマンド
612と一緒に送信先ポート609へ書込みデータ61
3を供給することができる。
ィブ書込みシーケンスを実行するアクティブ・ポートと
の間のコマンド信号およびデータの流れを示す。アクテ
ィブ・ポート411は、転送要求TRインタフェース1
17を介して転送コントローラ・ハブ100へデータ書
込み要求601を入力することによってアクティブ書込
みトランザクションを開始する。アクティブ・ポート4
11は、この場合には発信元ポートでもある。このデー
タ書込み要求601は、他のTR要求と優先付けされ、
転送コントローラのチャンネル・レジスタ120へ最終
的にロードされる。到着データ用の空間を確保するため
に、予備的書込みコマンド604が送信先ポート609
に発信元パイプラインSRC130によって発行され
る。一旦送信先ポートに空間が確保されれば、発信元パ
イプラインSRC130はHIU505に対して読出し
コマンド608を発行する。HIU505は、そのコマ
ンドを処理し、アクティブ・ポート411に読出しコマ
ンド610を入力する。アクティブ・ポート411は、
HIU505に読出しデータ611を供給することによ
って応答する。HIU505は、データ・ルータ・ユニ
ット150に読出しデータ621を供給する。データ・
ルータ150は、送信先パイプラインDST140に送
信先ポート609へ書込みコマンド612を供給させ
る。その後、データ・ルータ150は、書込みコマンド
612と一緒に送信先ポート609へ書込みデータ61
3を供給することができる。
【0050】アクティブ書込みは、普通、デバイス・ピ
ンから実行される。しかしながら、DSPにも同様なロ
ーディング機能を許可することが必要でありまた望まし
いと考えられている。このアドレスは、DSPメモリ空
間内の発信元データに対するアドレスを表す。アクティ
ブ読出しでは、転送要求が、何らかのデータ・サブサイ
クルが実行される前にハブおよびポート付き転送コント
ローラへ入力される。アクティブ書込みではそのような
ことがなく、データはそれがアクティブ・ポートへ返さ
れる前にそれの発信元アドレスからフェッチされるよう
に要求されることに注目されたい。アクティブ書込み転
送では、送信先アドレスは、普通、性能上の理由でしば
しば必須である内部記憶機能である。データが記憶バッ
ファに一時的に留まることを許可することによって、ア
クティブ・ポートは、データを失う危険を冒すことな
く、マシンを機能停止することを許容される。
ンから実行される。しかしながら、DSPにも同様なロ
ーディング機能を許可することが必要でありまた望まし
いと考えられている。このアドレスは、DSPメモリ空
間内の発信元データに対するアドレスを表す。アクティ
ブ読出しでは、転送要求が、何らかのデータ・サブサイ
クルが実行される前にハブおよびポート付き転送コント
ローラへ入力される。アクティブ書込みではそのような
ことがなく、データはそれがアクティブ・ポートへ返さ
れる前にそれの発信元アドレスからフェッチされるよう
に要求されることに注目されたい。アクティブ書込み転
送では、送信先アドレスは、普通、性能上の理由でしば
しば必須である内部記憶機能である。データが記憶バッ
ファに一時的に留まることを許可することによって、ア
クティブ・ポートは、データを失う危険を冒すことな
く、マシンを機能停止することを許容される。
【0051】HIU機構は、一般に、ポートがアクティ
ブでないとき、従来のやり方でポート用のデータ・バッ
ファリングを実行する。例えば、外部メモリ・インタフ
ェースは、普通、DSPシステム内のアドレスを支配し
ようとしない。むしろ、そのような周辺機器は、普通、
ハブおよびポート付き転送コントローラからの通常の読
出しおよび書込みコマンドに応答するだけである。HI
U機構は、そのような場合にデータおよびコマンド用の
バッファを提供し、アクセスをバースト・トランザクシ
ョンとして実行することによってハイレベルの性能を発
揮させる。このように、HIUは、典型的には、単一要
素よりもデータ群用のバッファを含む。これは、単一の
コマンドが多数のデータに対して発行されることを可能
にさせる。メモリ技術が進歩するにつれて、アクセスの
待ち時間によって引き起こされる性能劣化を克服するた
めに、このような多重アクセスを実行することが益々重
要になってきた。これは、特に、DSP応用に広く使用
されるダイナミックRAMの場合である。これは、更
に、単一マシンサイクル内でデバイスの小領域さえも横
切って信号が伝搬できないという半導体物理による要求
となる。
ブでないとき、従来のやり方でポート用のデータ・バッ
ファリングを実行する。例えば、外部メモリ・インタフ
ェースは、普通、DSPシステム内のアドレスを支配し
ようとしない。むしろ、そのような周辺機器は、普通、
ハブおよびポート付き転送コントローラからの通常の読
出しおよび書込みコマンドに応答するだけである。HI
U機構は、そのような場合にデータおよびコマンド用の
バッファを提供し、アクセスをバースト・トランザクシ
ョンとして実行することによってハイレベルの性能を発
揮させる。このように、HIUは、典型的には、単一要
素よりもデータ群用のバッファを含む。これは、単一の
コマンドが多数のデータに対して発行されることを可能
にさせる。メモリ技術が進歩するにつれて、アクセスの
待ち時間によって引き起こされる性能劣化を克服するた
めに、このような多重アクセスを実行することが益々重
要になってきた。これは、特に、DSP応用に広く使用
されるダイナミックRAMの場合である。これは、更
に、単一マシンサイクル内でデバイスの小領域さえも横
切って信号が伝搬できないという半導体物理による要求
となる。
【0052】アクティブ・ポートとハブおよびポート・
アーキテクチャ付き転送コントローラとの統合を簡略化
する第2の機構は、それの転送要求(TR)バス・イン
タフェースである。このインタフェースは、アクティブ
・ポートがトランザクションの発信元アドレスおよび送
信先アドレスの両方を直接供給することを許容し、ま
た、すべての転送オプションを採用することを許容す
る。このファシリティを利用することで、ハブおよびポ
ート付き転送コントローラのすべてのDMAリソースが
そのアクティブ・ポートに提供される。アクティブ・ポ
ートは、ハブおよびポート付き転送コントローラがアク
セスできる任意のアドレッシング可能領域にアクセス
し、ハブおよびポート付き転送コントローラに備わる任
意のアドレッシング・モードまたは特別転送オプション
を利用することができる。
アーキテクチャ付き転送コントローラとの統合を簡略化
する第2の機構は、それの転送要求(TR)バス・イン
タフェースである。このインタフェースは、アクティブ
・ポートがトランザクションの発信元アドレスおよび送
信先アドレスの両方を直接供給することを許容し、ま
た、すべての転送オプションを採用することを許容す
る。このファシリティを利用することで、ハブおよびポ
ート付き転送コントローラのすべてのDMAリソースが
そのアクティブ・ポートに提供される。アクティブ・ポ
ートは、ハブおよびポート付き転送コントローラがアク
セスできる任意のアドレッシング可能領域にアクセス
し、ハブおよびポート付き転送コントローラに備わる任
意のアドレッシング・モードまたは特別転送オプション
を利用することができる。
【0053】各アドレッシング可能リソースに対する転
送のすべての優先付け,パイプライン化および最適化
は、ハブおよびポート・アーキテクチャ付き転送コント
ローラによってそれの正常動作の一部として直接提供さ
れる。これは、アクティブ・ポートとハブおよびポート
付き転送コントローラとを含むシステムに関する設計お
よび検証労力を大幅に簡略化する。
送のすべての優先付け,パイプライン化および最適化
は、ハブおよびポート・アーキテクチャ付き転送コント
ローラによってそれの正常動作の一部として直接提供さ
れる。これは、アクティブ・ポートとハブおよびポート
付き転送コントローラとを含むシステムに関する設計お
よび検証労力を大幅に簡略化する。
【0054】図5および図6は、起こるメモリ・トラン
ザクションのタイプに注目することの重要さを示してい
る。ハブおよびポート付き転送コントローラによるアク
ティブ・ポートの読出しは、そのポートによるアクティ
ブ書込み要求への応答として実行される。ハブおよびポ
ート付き転送コントローラによるアクティブ・ポートへ
の書込みは、そのポートによるアクティブ読出し要求へ
の応答として実行される。これは、アクティブ・コマン
ドが開始された時点でデータが物理的に存在する場合の
結果である。アクティブ書込みの場合には、アクティブ
・ポートがデータを有するので、ハブおよびポート付き
転送コントローラはそれを読み出さなければならない。
アクティブ読出しの場合には、データは、DSPシステ
ム・メモリ空間のどこかにあり、ハブおよびポート付き
転送コントローラによってアクティブ・ポートへ書き込
まれなければならない。両タイプの転送は、上述した転
送要求TRインタフェースを用いてアクティブ・ポート
から直接供給される。
ザクションのタイプに注目することの重要さを示してい
る。ハブおよびポート付き転送コントローラによるアク
ティブ・ポートの読出しは、そのポートによるアクティ
ブ書込み要求への応答として実行される。ハブおよびポ
ート付き転送コントローラによるアクティブ・ポートへ
の書込みは、そのポートによるアクティブ読出し要求へ
の応答として実行される。これは、アクティブ・コマン
ドが開始された時点でデータが物理的に存在する場合の
結果である。アクティブ書込みの場合には、アクティブ
・ポートがデータを有するので、ハブおよびポート付き
転送コントローラはそれを読み出さなければならない。
アクティブ読出しの場合には、データは、DSPシステ
ム・メモリ空間のどこかにあり、ハブおよびポート付き
転送コントローラによってアクティブ・ポートへ書き込
まれなければならない。両タイプの転送は、上述した転
送要求TRインタフェースを用いてアクティブ・ポート
から直接供給される。
【0055】本発明は、プッシュHIUと呼ばれる新し
いタイプのHIUを可能とする。プッシュHIUは、2
000年4月6日付けの優先権主張を伴う米国特許出願
番号第09/543,870号を有する「ハブおよびポ
ート・アーキテクチャ付き転送コントローラ」と題する
1999年4月10日付けの上述の英国特許出願番号第
9901996.9号に述べられたHIUと類似してい
る。プッシュHIUは、従来のHIUとほとんど同じよ
うに機能し、転送コントローラ・ハブからの読出しおよ
び書込みコマンドを処理し、HIUの周辺機器側でバッ
ファを提供する。プッシュHIUでは、データは、アク
ティブ・ポートに読出しコマンドが発行される前に、ア
クティブ・ポートからHIUにプッシュされる。
いタイプのHIUを可能とする。プッシュHIUは、2
000年4月6日付けの優先権主張を伴う米国特許出願
番号第09/543,870号を有する「ハブおよびポ
ート・アーキテクチャ付き転送コントローラ」と題する
1999年4月10日付けの上述の英国特許出願番号第
9901996.9号に述べられたHIUと類似してい
る。プッシュHIUは、従来のHIUとほとんど同じよ
うに機能し、転送コントローラ・ハブからの読出しおよ
び書込みコマンドを処理し、HIUの周辺機器側でバッ
ファを提供する。プッシュHIUでは、データは、アク
ティブ・ポートに読出しコマンドが発行される前に、ア
クティブ・ポートからHIUにプッシュされる。
【0056】本来のHIUの定義から、応答キューは基
本的にはFIFOである。データは、読出しコマンドに
応答してFIFOへ書き込まれ、ポートによって処理さ
れ、ハブおよびポート付き転送コントローラから読み出
された。すべての読出しデータは、応答キュー内で順に
処理され、それによって、FIFO定義が維持される。
本的にはFIFOである。データは、読出しコマンドに
応答してFIFOへ書き込まれ、ポートによって処理さ
れ、ハブおよびポート付き転送コントローラから読み出
された。すべての読出しデータは、応答キュー内で順に
処理され、それによって、FIFO定義が維持される。
【0057】プッシュ構成は、先入れ−先出し順序を維
持する。データは、アクティブ・ポートによって応答キ
ュー中へプッシュされ、後のある時点でハブおよびポー
ト付き転送コントローラによって先入れ−先出し式に読
み出されるであろう。これに関する重要な要素は、HI
Uが読出しコマンドを処理するやり方の変更である。基
本的HIUでは、読出しコマンドはコマンド・キューに
置かれた。読出しコマンドは、それがポートへ発行され
得るようになるまで、コマンド・キューに留められた。
コマンド発行に関して考慮すべきことは、以前に発行さ
れた読出しとの順序と、書込みコマンドとの優先度と、
戻されるデータ用の到着空間を提供するのに十分な応答
キュー空間を割り当てることとである。読出しコマンド
は、プッシュHIUでは異なって扱われる。プッシュH
IUの読出しコマンドは、アクティブ・ポート自身から
の要求の結果である。したがって、データは既にHIU
応答キューに存在していると想定することができる。プ
ッシュHIUが転送コントローラ・ハブから読出しコマ
ンドを受信するとき、それはそのコマンドを直接処理
し、データをハブへ返す。この場合、読出しコマンドが
プッシュHIUのポート側に発行されることはない。
持する。データは、アクティブ・ポートによって応答キ
ュー中へプッシュされ、後のある時点でハブおよびポー
ト付き転送コントローラによって先入れ−先出し式に読
み出されるであろう。これに関する重要な要素は、HI
Uが読出しコマンドを処理するやり方の変更である。基
本的HIUでは、読出しコマンドはコマンド・キューに
置かれた。読出しコマンドは、それがポートへ発行され
得るようになるまで、コマンド・キューに留められた。
コマンド発行に関して考慮すべきことは、以前に発行さ
れた読出しとの順序と、書込みコマンドとの優先度と、
戻されるデータ用の到着空間を提供するのに十分な応答
キュー空間を割り当てることとである。読出しコマンド
は、プッシュHIUでは異なって扱われる。プッシュH
IUの読出しコマンドは、アクティブ・ポート自身から
の要求の結果である。したがって、データは既にHIU
応答キューに存在していると想定することができる。プ
ッシュHIUが転送コントローラ・ハブから読出しコマ
ンドを受信するとき、それはそのコマンドを直接処理
し、データをハブへ返す。この場合、読出しコマンドが
プッシュHIUのポート側に発行されることはない。
【0058】書込みコマンドはアクティブ・ポート読出
しに応答してHIUを介してアクティブ・ポートへ発行
されることを思い出して欲しい。アクティブ・ポートは
データを待っているので、書込みに関しては元のHIU
機構に変更はない。HIU書込み予約局は、飛来するデ
ータに対する一時記憶として役立ち、アクティブ・ポー
トへのバースト書込みを可能にさせる。これも、ハブお
よびポート付き転送コントローラのアーキテクチャによ
り実現される1つの最適化である。アクティブ・ポート
は、HIUのバッファ管理プロトコルと関連付けられる
必要はない。プッシュHIUを使用することによって、
アクティブ書込みの制御の流れが図6に示したものから
変更される。
しに応答してHIUを介してアクティブ・ポートへ発行
されることを思い出して欲しい。アクティブ・ポートは
データを待っているので、書込みに関しては元のHIU
機構に変更はない。HIU書込み予約局は、飛来するデ
ータに対する一時記憶として役立ち、アクティブ・ポー
トへのバースト書込みを可能にさせる。これも、ハブお
よびポート付き転送コントローラのアーキテクチャによ
り実現される1つの最適化である。アクティブ・ポート
は、HIUのバッファ管理プロトコルと関連付けられる
必要はない。プッシュHIUを使用することによって、
アクティブ書込みの制御の流れが図6に示したものから
変更される。
【0059】図7は、ポート付き転送コントローラ・ハ
ブとプッシュHIUを介してアクティブ書込みを実行す
るアクティブ・ポートとの間のコマンド信号およびデー
タの流れを示す。トランザクションは、アクティブ・ポ
ート706がTRバス117を介して要求701を入力
することで開始される。プッシュ・データ703は、こ
の時点でアクティブ・ポート706からHIUインタフ
ェース705へ送られる。転送要求パケットは、通常の
処理を受け、他の待機中の要求と優先付けされるキュー
・マネージャRAM101を介して送られる。後のクロ
ック・サイクル中に、この転送要求は発信元パイプライ
ンSRC130および送信先パイプラインDST140
へロードされる。発信元パイプラインSRC130は、
この場合にはアクティブ・ポートHIUであるプッシュ
HIU705を介して発信元アクティブ・ポート706
へ読出しコマンド704を発行する。このHIUはプッ
シュHIUであるので、HIU705は、読出しコマン
ドを傍受し、それを処理し、データ・ルータ150およ
び送信先パイプラインDST140へ読出しデータ71
1を戻す。これは、先にHIU705へプッシュされた
プッシュ・データ703に対応する。その後、ハブおよ
びポート付き転送コントローラは、書込みデータ713
を書込みコマンド712を介して送信先ポート709へ
ルーティングさせることができる。読出しコマンド70
4はプッシュ構成ではアクティブ・ポート706には見
えないことに注意されたい。
ブとプッシュHIUを介してアクティブ書込みを実行す
るアクティブ・ポートとの間のコマンド信号およびデー
タの流れを示す。トランザクションは、アクティブ・ポ
ート706がTRバス117を介して要求701を入力
することで開始される。プッシュ・データ703は、こ
の時点でアクティブ・ポート706からHIUインタフ
ェース705へ送られる。転送要求パケットは、通常の
処理を受け、他の待機中の要求と優先付けされるキュー
・マネージャRAM101を介して送られる。後のクロ
ック・サイクル中に、この転送要求は発信元パイプライ
ンSRC130および送信先パイプラインDST140
へロードされる。発信元パイプラインSRC130は、
この場合にはアクティブ・ポートHIUであるプッシュ
HIU705を介して発信元アクティブ・ポート706
へ読出しコマンド704を発行する。このHIUはプッ
シュHIUであるので、HIU705は、読出しコマン
ドを傍受し、それを処理し、データ・ルータ150およ
び送信先パイプラインDST140へ読出しデータ71
1を戻す。これは、先にHIU705へプッシュされた
プッシュ・データ703に対応する。その後、ハブおよ
びポート付き転送コントローラは、書込みデータ713
を書込みコマンド712を介して送信先ポート709へ
ルーティングさせることができる。読出しコマンド70
4はプッシュ構成ではアクティブ・ポート706には見
えないことに注意されたい。
【0060】アクティブ・ポートが適正な動作を保証す
るために提供しなければならないいくつかの重要な要素
がある。プッシュHIU705における機能停止状態
は、プッシュ書込みデータがアクティブ・ポート706
から受け入れられるのを阻止する。プッシュ・データ
は、バースト化による特性改善のためには、作動中に追
跡(tracked in flight)されるべきである。アクティ
ブ読出しデータ(HIU書込みデータ)は、消去(flus
hes)を実行するために追跡されるべきである。これら
の問題の各々に取り組んで、ハブおよびポート付き転送
コントローラおよびHIU機構を用いて各々を取り扱う
方法を提示することが重要である。
るために提供しなければならないいくつかの重要な要素
がある。プッシュHIU705における機能停止状態
は、プッシュ書込みデータがアクティブ・ポート706
から受け入れられるのを阻止する。プッシュ・データ
は、バースト化による特性改善のためには、作動中に追
跡(tracked in flight)されるべきである。アクティ
ブ読出しデータ(HIU書込みデータ)は、消去(flus
hes)を実行するために追跡されるべきである。これら
の問題の各々に取り組んで、ハブおよびポート付き転送
コントローラおよびHIU機構を用いて各々を取り扱う
方法を提示することが重要である。
【0061】プッシュHIU705は、それがプッシュ
・データを受け入れられないことを表示するために、ア
クティブ・ポート706に機能停止信号719を戻す必
要がある。この信号は、プッシュHIU705の応答キ
ューが満杯になったときにアサートされる。これは、ハ
ブおよびポート付き転送コントローラがプッシュ書込み
を十分高速で実行できない場合に発生する。機能停止信
号719がアサートされると、アクティブ・ポート70
6はそれ以上のプッシュ書込みを試みようとしない。こ
れは、プッシュHIU705の応答キューが溢れること
を防止する。この信号は、直接的であり、応答キューF
IFOステータス・フラグから直接得られる。アクティ
ブ読出しに関しては、アクティブ・ポートへの書込みが
発生し、そのような機能停止状態は必要でない。それ
は、アクティブ・ポートがデータを待っているからであ
る。
・データを受け入れられないことを表示するために、ア
クティブ・ポート706に機能停止信号719を戻す必
要がある。この信号は、プッシュHIU705の応答キ
ューが満杯になったときにアサートされる。これは、ハ
ブおよびポート付き転送コントローラがプッシュ書込み
を十分高速で実行できない場合に発生する。機能停止信
号719がアサートされると、アクティブ・ポート70
6はそれ以上のプッシュ書込みを試みようとしない。こ
れは、プッシュHIU705の応答キューが溢れること
を防止する。この信号は、直接的であり、応答キューF
IFOステータス・フラグから直接得られる。アクティ
ブ読出しに関しては、アクティブ・ポートへの書込みが
発生し、そのような機能停止状態は必要でない。それ
は、アクティブ・ポートがデータを待っているからであ
る。
【0062】アクティブ書込みの機能停止状態を監視す
ることに加えて、アクティブ・ポートは、飛来データ追
跡に対する用意を含めることによって性能向上を図るこ
とができる。飛来データ追跡は、プッシュHIU705
へどのくらい多くのデータが書き込まれたかを追跡する
能力を意味する。最も普通の方法は、アクティブ・ポー
トによって管理されるカウンタを利用するものであり、
それは次のように機能する。プッシュHIU705の応
答キュー303(図3)がアクティブ・ポート706用
の書込みFIFOとして働く。このように、アクティブ
書込みは、図3のWR_FIFO_EL_CTカウンタ
340と呼ばれるカウンタによって追跡される。WR_
FIFO_EL_CTカウンタ340は、プッシュHI
U705にワードが書き込まれる度に1つずつ増分され
る。このように、カウンタ340は、常にプッシュHI
U705のFIFOへ書き込まれるワードの数を追跡す
る。
ることに加えて、アクティブ・ポートは、飛来データ追
跡に対する用意を含めることによって性能向上を図るこ
とができる。飛来データ追跡は、プッシュHIU705
へどのくらい多くのデータが書き込まれたかを追跡する
能力を意味する。最も普通の方法は、アクティブ・ポー
トによって管理されるカウンタを利用するものであり、
それは次のように機能する。プッシュHIU705の応
答キュー303(図3)がアクティブ・ポート706用
の書込みFIFOとして働く。このように、アクティブ
書込みは、図3のWR_FIFO_EL_CTカウンタ
340と呼ばれるカウンタによって追跡される。WR_
FIFO_EL_CTカウンタ340は、プッシュHI
U705にワードが書き込まれる度に1つずつ増分され
る。このように、カウンタ340は、常にプッシュHI
U705のFIFOへ書き込まれるワードの数を追跡す
る。
【0063】カウンタ340を利用していくつかの性能
最適化を行うことができる。それらの中で最も重要なも
のは、バースト転送を実行する能力である。例えば、プ
ッシュHIU705へ書き込まれるデータ・ワード毎に
個々の要求をサブミットする代わりに、アクティブ・ポ
ート706は、機能停止状態を減らし理想的には解消す
るように多数のワードがキューに溜まるまで待機する。
典型的には、この状態は、WR_FIFO_EL_CT
カウンタ340の状態変化を検出することによって検出
できる。
最適化を行うことができる。それらの中で最も重要なも
のは、バースト転送を実行する能力である。例えば、プ
ッシュHIU705へ書き込まれるデータ・ワード毎に
個々の要求をサブミットする代わりに、アクティブ・ポ
ート706は、機能停止状態を減らし理想的には解消す
るように多数のワードがキューに溜まるまで待機する。
典型的には、この状態は、WR_FIFO_EL_CT
カウンタ340の状態変化を検出することによって検出
できる。
【0064】バースト・アクセス能力を備えることに加
えて、カウンタ340はまた、消去動作を実行するため
に特に重要である。消去動作は、アクティブ・ポートが
書込みを停止したときに発生する。アクティブ動作中に
はM個のワードがFIFOに書き込まれる度に転送が発
行されることに注目されたい。アクティブ書込みが最終
的に停止すると、0からN個のうちのいずれかのワード
がプッシュHIU705の応答キュー303に残され、
また、読出しコマンドが発行されていない0からM−1
個のうちのいずれかのワードが残される。アクティブ書
込みデータのすべてにコミットするために、コミットさ
れなかったすべてのデータに対して最終要求を発行する
必要がある。これは、WR_FIFO_EL_CTカウ
ンタ340から直接メモリへコミットされないワードの
数を抽出することによって簡単に提供できる。この最終
要求を発行すると、WR_FIFO_EL_CTカウン
タ340は、すべて“0”にリセットされ、次に発生す
るはずの書込みコマンドに備えてセットアップされる。
えて、カウンタ340はまた、消去動作を実行するため
に特に重要である。消去動作は、アクティブ・ポートが
書込みを停止したときに発生する。アクティブ動作中に
はM個のワードがFIFOに書き込まれる度に転送が発
行されることに注目されたい。アクティブ書込みが最終
的に停止すると、0からN個のうちのいずれかのワード
がプッシュHIU705の応答キュー303に残され、
また、読出しコマンドが発行されていない0からM−1
個のうちのいずれかのワードが残される。アクティブ書
込みデータのすべてにコミットするために、コミットさ
れなかったすべてのデータに対して最終要求を発行する
必要がある。これは、WR_FIFO_EL_CTカウ
ンタ340から直接メモリへコミットされないワードの
数を抽出することによって簡単に提供できる。この最終
要求を発行すると、WR_FIFO_EL_CTカウン
タ340は、すべて“0”にリセットされ、次に発生す
るはずの書込みコマンドに備えてセットアップされる。
【0065】RD_FIFO_SUBカウンタ341
(図3)は、WR_FIFO_EL_CTカウンタ34
0に類似しており、バースト要求のサブミットおよびフ
ラッシング中にゲートを与えるために利用される。アク
ティブ読出し中の消去は、ポートが読出しの実行を停止
したときに発生する。これが起こったときには、プッシ
ュHIU705中にはポートによってアクノリッジされ
なかったデータが存在しており、いくつかの付加的なデ
ータは、それをプッシュHIU705へ入れなかった先
に発行された要求からまだ作動中である。データ量はM
ワードと2Mワードとの間である。
(図3)は、WR_FIFO_EL_CTカウンタ34
0に類似しており、バースト要求のサブミットおよびフ
ラッシング中にゲートを与えるために利用される。アク
ティブ読出し中の消去は、ポートが読出しの実行を停止
したときに発生する。これが起こったときには、プッシ
ュHIU705中にはポートによってアクノリッジされ
なかったデータが存在しており、いくつかの付加的なデ
ータは、それをプッシュHIU705へ入れなかった先
に発行された要求からまだ作動中である。データ量はM
ワードと2Mワードとの間である。
【0066】一旦読出し消去状態が検出されると、アク
ティブ・ポート706はRD_FIFO_SUBカウン
タ341のカウント数だけのオフの書込みデータをアク
ノリッジしなければならない。これは、アクティブ・ポ
ート706が実際に新しい書込みコマンドがプッシュH
IU705に到達するのを待つことを要求する。これ
は、サブミットされたもののプッシュHIU705にま
だ到着していない未処理のコマンドが存在するであろう
ためである。アクティブ・ポート706が消去動作が完
了するまで任意の将来のアクティブ読出しを機能停止す
ることは重要である。これはプッシュHIU705のデ
ータ・ポインタの破壊を防止する。
ティブ・ポート706はRD_FIFO_SUBカウン
タ341のカウント数だけのオフの書込みデータをアク
ノリッジしなければならない。これは、アクティブ・ポ
ート706が実際に新しい書込みコマンドがプッシュH
IU705に到達するのを待つことを要求する。これ
は、サブミットされたもののプッシュHIU705にま
だ到着していない未処理のコマンドが存在するであろう
ためである。アクティブ・ポート706が消去動作が完
了するまで任意の将来のアクティブ読出しを機能停止す
ることは重要である。これはプッシュHIU705のデ
ータ・ポインタの破壊を防止する。
【0067】これらの書込みに関するデータは実際には
重要でない。それは、それが使用されるかもしれないと
期待して予め読み出された余分なデータを表すからであ
る。したがって、このデータは無視することができる。
一旦読出し消去が完了すると、RD_FIFO_SUB
カウンタ341は“0”にリセットされ、次の書込みコ
マンドのためにそれを準備する。
重要でない。それは、それが使用されるかもしれないと
期待して予め読み出された余分なデータを表すからであ
る。したがって、このデータは無視することができる。
一旦読出し消去が完了すると、RD_FIFO_SUB
カウンタ341は“0”にリセットされ、次の書込みコ
マンドのためにそれを準備する。
【0068】ハブおよびポート付き転送コントローラ
は、アクティブ・ポートの統合を直接行うためのいくつ
かの重要な特徴を含む。スケーリング可能TR機構は、
多重アクティブ・ポートがハブおよびポート付き転送コ
ントローラのアーキテクチャを変更することなしに互い
に関連付けて使用されることを可能にさせる。2つの簡
単なカウンタ機構を利用することにより、アクティブ・
ポートは、ハブおよびポート付き転送コントローラを使
用してデータを失うことなしにデバイス内部でメモリ・
アクセスを実行することができる。ハブおよびポート機
構付き転送コントローラは、ポートがシステム・アーキ
テクチャに関する情報を保持する必要なしに、サポート
された最大性能をアクティブ・ポートに提供する。
は、アクティブ・ポートの統合を直接行うためのいくつ
かの重要な特徴を含む。スケーリング可能TR機構は、
多重アクティブ・ポートがハブおよびポート付き転送コ
ントローラのアーキテクチャを変更することなしに互い
に関連付けて使用されることを可能にさせる。2つの簡
単なカウンタ機構を利用することにより、アクティブ・
ポートは、ハブおよびポート付き転送コントローラを使
用してデータを失うことなしにデバイス内部でメモリ・
アクセスを実行することができる。ハブおよびポート機
構付き転送コントローラは、ポートがシステム・アーキ
テクチャに関する情報を保持する必要なしに、サポート
された最大性能をアクティブ・ポートに提供する。
【0069】以上の説明に関して更に以下の項を開示す
る。 (1)データ転送コントローラであって、各々がデータ
発信元,データ送信先および転送されるべきデータ量を
指定するデータ転送要求を受信し優先付けしディスパッ
チすることができる要求キュー・コントローラと、該要
求キュー・コントローラに接続され、かつ、ディスパッ
チされたデータ転送要求を受信するデータ転送ハブと、
各ポートに対して同じように構成されかつ前記データ転
送ハブに接続された内部インタフェースと動作時に前記
ポートに接続される外部メモリ/デバイス用に構成され
た外部インタフェースとを有する複数のポートであっ
て、前記内部インタフェースおよび前記外部インタフェ
ースが、それらの間でのデータ転送を行うように接続さ
れている、複数のポートと、を含み、前記データ転送ハ
ブが、現在実行されているデータ転送要求の下で、前記
データ発信元に対応する発信元ポートから前記データ送
信先に対応する送信先ポートへの前記転送されるべきデ
ータ量に対応する量のデータ転送を制御することがで
き、前記複数のポートのうちの少なくとも1つが、デー
タ発信元,データ送信先および転送されるべきデータ量
を指定することができる前記要求キュー・コントローラ
に接続されたアクティブ・データ・ポートからなる、デ
ータ転送コントローラ。
る。 (1)データ転送コントローラであって、各々がデータ
発信元,データ送信先および転送されるべきデータ量を
指定するデータ転送要求を受信し優先付けしディスパッ
チすることができる要求キュー・コントローラと、該要
求キュー・コントローラに接続され、かつ、ディスパッ
チされたデータ転送要求を受信するデータ転送ハブと、
各ポートに対して同じように構成されかつ前記データ転
送ハブに接続された内部インタフェースと動作時に前記
ポートに接続される外部メモリ/デバイス用に構成され
た外部インタフェースとを有する複数のポートであっ
て、前記内部インタフェースおよび前記外部インタフェ
ースが、それらの間でのデータ転送を行うように接続さ
れている、複数のポートと、を含み、前記データ転送ハ
ブが、現在実行されているデータ転送要求の下で、前記
データ発信元に対応する発信元ポートから前記データ送
信先に対応する送信先ポートへの前記転送されるべきデ
ータ量に対応する量のデータ転送を制御することがで
き、前記複数のポートのうちの少なくとも1つが、デー
タ発信元,データ送信先および転送されるべきデータ量
を指定することができる前記要求キュー・コントローラ
に接続されたアクティブ・データ・ポートからなる、デ
ータ転送コントローラ。
【0070】(2)前記アクティブ・データ・ポート
が、該アクティブ・データ・ポートを前記データ送信先
として指定するデータ転送要求を発生することができ、
前記データ転送ハブが、前記データ発信元への読出しコ
マンドを発生し、前記アクティブ・データ・ポートへ読
出しデータを転送する、第1項に記載のデータ転送コン
トローラ。
が、該アクティブ・データ・ポートを前記データ送信先
として指定するデータ転送要求を発生することができ、
前記データ転送ハブが、前記データ発信元への読出しコ
マンドを発生し、前記アクティブ・データ・ポートへ読
出しデータを転送する、第1項に記載のデータ転送コン
トローラ。
【0071】(3)前記データ転送ハブが、前記アクテ
ィブ・ポートへ前記読出しデータを転送する前に、前記
アクティブ・データ・ポートへの予備的書込みコマンド
を発生し、前記アクティブ・データ・ポートが、該アク
ティブ・データ・ポートがデータを受信する準備ができ
たときに、前記予備的書込みコマンドの受信に続いて前
記データ転送ハブへのアクノリッジ信号を発生する、第
2項に記載のデータ転送コントローラ。
ィブ・ポートへ前記読出しデータを転送する前に、前記
アクティブ・データ・ポートへの予備的書込みコマンド
を発生し、前記アクティブ・データ・ポートが、該アク
ティブ・データ・ポートがデータを受信する準備ができ
たときに、前記予備的書込みコマンドの受信に続いて前
記データ転送ハブへのアクノリッジ信号を発生する、第
2項に記載のデータ転送コントローラ。
【0072】(4)前記アクティブ・データ・ポート
が、該アクティブ・データ・ポートを前記データ発信元
として指定するデータ転送要求を発生することができ、
前記データ転送ハブが、前記アクティブ・データ・ポー
トへの読出しコマンドを発生し、前記データ送信先へ読
出しデータを転送する、第1項に記載のデータ転送コン
トローラ。
が、該アクティブ・データ・ポートを前記データ発信元
として指定するデータ転送要求を発生することができ、
前記データ転送ハブが、前記アクティブ・データ・ポー
トへの読出しコマンドを発生し、前記データ送信先へ読
出しデータを転送する、第1項に記載のデータ転送コン
トローラ。
【0073】(5)前記アクティブ・データ・ポートの
前記内部インタフェースが、前記データ転送ハブのデー
タ読出しコマンドに応答して前記アクティブ・データ・
ポートの前記外部インタフェースへデータ読出しコマン
ドを供給する、第4項に記載のデータ転送コントロー
ラ。
前記内部インタフェースが、前記データ転送ハブのデー
タ読出しコマンドに応答して前記アクティブ・データ・
ポートの前記外部インタフェースへデータ読出しコマン
ドを供給する、第4項に記載のデータ転送コントロー
ラ。
【0074】(6)前記アクティブ・データ・ポートの
前記内部インタフェースが、先入れ−先出しバッファを
含み、前記外部インタフェースが、前記アクティブ・デ
ータ・ポートによる前記データ転送要求の発生に応じて
前記先入れ−先出しバッファへデータを書き込み、前記
内部インタフェースが、前記データ転送ハブからの前記
読出しコマンドの受信に応じて前記先入れ−先出しバッ
ファから読出しデータを供給する、第4項に記載のデー
タ転送コントローラ。
前記内部インタフェースが、先入れ−先出しバッファを
含み、前記外部インタフェースが、前記アクティブ・デ
ータ・ポートによる前記データ転送要求の発生に応じて
前記先入れ−先出しバッファへデータを書き込み、前記
内部インタフェースが、前記データ転送ハブからの前記
読出しコマンドの受信に応じて前記先入れ−先出しバッ
ファから読出しデータを供給する、第4項に記載のデー
タ転送コントローラ。
【0075】(7)前記アクティブ・ポートの前記内部
インタフェースが、前記先入れ−先出しバッファが一杯
になったとき、前記アクティブ・ポートの前記外部イン
タフェースへの機能停止信号を発生し、前記外部インタ
フェースが、該機能停止信号の受信に応じて前記先入れ
−先出しバッファへのデータ書込みを止める、第6項に
記載のデータ転送コントローラ。
インタフェースが、前記先入れ−先出しバッファが一杯
になったとき、前記アクティブ・ポートの前記外部イン
タフェースへの機能停止信号を発生し、前記外部インタ
フェースが、該機能停止信号の受信に応じて前記先入れ
−先出しバッファへのデータ書込みを止める、第6項に
記載のデータ転送コントローラ。
【0076】(8)データ転送方法であって、各々がデ
ータ発信元,データ送信先および転送されるべきデータ
量を指定するデータ転送要求を受信し優先付けしディス
パッチするステップと、現在実行されているデータ転送
要求の下で、前記データ発信元に対応する複数のポート
から選ばれた1つの発信元ポートから、前記データ送信
先に対応する前記複数のポートから選ばれた1つの送信
先ポートへ、前記転送されるべきデータ量に対応する量
のデータを転送するステップと、を含み、前記複数のポ
ートのうちの少なくとも1つが、データ発信元,データ
送信先および転送されるべきデータ量を指定することが
できるアクティブ・データ・ポートである、データ転送
方法。
ータ発信元,データ送信先および転送されるべきデータ
量を指定するデータ転送要求を受信し優先付けしディス
パッチするステップと、現在実行されているデータ転送
要求の下で、前記データ発信元に対応する複数のポート
から選ばれた1つの発信元ポートから、前記データ送信
先に対応する前記複数のポートから選ばれた1つの送信
先ポートへ、前記転送されるべきデータ量に対応する量
のデータを転送するステップと、を含み、前記複数のポ
ートのうちの少なくとも1つが、データ発信元,データ
送信先および転送されるべきデータ量を指定することが
できるアクティブ・データ・ポートである、データ転送
方法。
【0077】(9)前記アクティブ・ポートが、該アク
ティブ・データ・ポートを前記データ送信先として指定
するデータ転送要求を発生することができ、前記方法
が、前記読出しデータを前記アクティブ・ポートへ転送
する前に、前記アクティブ・データ・ポートへ予備的書
込みコマンドを供給するステップと、前記アクティブ・
データ・ポートがデータを受信する準備ができたとき
に、前記予備的書込みコマンドの受信に続いて前記アク
ティブ・データ・ポートからアクノリッジ信号を供給す
るステップとをさらに含む、第8項に記載のデータ転送
方法。
ティブ・データ・ポートを前記データ送信先として指定
するデータ転送要求を発生することができ、前記方法
が、前記読出しデータを前記アクティブ・ポートへ転送
する前に、前記アクティブ・データ・ポートへ予備的書
込みコマンドを供給するステップと、前記アクティブ・
データ・ポートがデータを受信する準備ができたとき
に、前記予備的書込みコマンドの受信に続いて前記アク
ティブ・データ・ポートからアクノリッジ信号を供給す
るステップとをさらに含む、第8項に記載のデータ転送
方法。
【0078】(10)前記アクティブ・データ・ポート
が、該アクティブ・データ・ポートを前記データ発信元
として指定するデータ転送要求を発生することができ、
前記方法が、前記アクティブ・データ・ポートによる前
記データ転送要求の発生に応じて先入れ−先出しバッフ
ァへデータを書き込むステップと、前記アクティブ・デ
ータ・ポートからの読出しコマンドの受信に応じて前記
先入れ−先出しバッファから読出しデータを供給するス
テップとをさらに含む、第8項に記載のデータ転送方
法。
が、該アクティブ・データ・ポートを前記データ発信元
として指定するデータ転送要求を発生することができ、
前記方法が、前記アクティブ・データ・ポートによる前
記データ転送要求の発生に応じて先入れ−先出しバッフ
ァへデータを書き込むステップと、前記アクティブ・デ
ータ・ポートからの読出しコマンドの受信に応じて前記
先入れ−先出しバッファから読出しデータを供給するス
テップとをさらに含む、第8項に記載のデータ転送方
法。
【0079】(11)前記先入れ−先出しバッファが一
杯になったときに機能停止信号を発生するステップと、
該機能停止信号の発生に応じて前記先入れ−先出しバッ
ファへのデータ書込みを止めるステップと、をさらに含
む、第10項に記載のデータ転送方法。
杯になったときに機能停止信号を発生するステップと、
該機能停止信号の発生に応じて前記先入れ−先出しバッ
ファへのデータ書込みを止めるステップと、をさらに含
む、第10項に記載のデータ転送方法。
【0080】(12)ハブ(100)およびポート(1
11,112,113,114,115)・アーキテク
チャ付き転送コントローラにおいて、データ・ポートの
1つ(411)はアクティブ・データ・ポートである。
このアクティブ・データ・ポート(411)は、別のデ
ータ・ポート(509,609,709)とのデータ転
送要求(501,601,701)においてそれ自身の
発信元情報,送信先情報およびデータ量を供給すること
ができる。このデータ転送要求は,発信元パイプライン
(130),送信先パイプライン(140)およびデー
タ・ルータ(150)によって他のデータ転送要求と同
じように処理される。アクティブ・データ・ポート(4
11)は、アクティブ読出しにおいてそれ自身をデータ
送信先として指定する(図5)。または、アクティブ・
データ・ポート(411)は、アクティブ・データ書込
みにおいてそれ自身をデータ発信元として指定する(図
6)。
11,112,113,114,115)・アーキテク
チャ付き転送コントローラにおいて、データ・ポートの
1つ(411)はアクティブ・データ・ポートである。
このアクティブ・データ・ポート(411)は、別のデ
ータ・ポート(509,609,709)とのデータ転
送要求(501,601,701)においてそれ自身の
発信元情報,送信先情報およびデータ量を供給すること
ができる。このデータ転送要求は,発信元パイプライン
(130),送信先パイプライン(140)およびデー
タ・ルータ(150)によって他のデータ転送要求と同
じように処理される。アクティブ・データ・ポート(4
11)は、アクティブ読出しにおいてそれ自身をデータ
送信先として指定する(図5)。または、アクティブ・
データ・ポート(411)は、アクティブ・データ書込
みにおいてそれ自身をデータ発信元として指定する(図
6)。
【図1】ハブおよびポート・アーキテクチャ付き転送コ
ントローラの基本原理構造と関連機能とを示す機能ブロ
ック図である。
ントローラの基本原理構造と関連機能とを示す機能ブロ
ック図である。
【図2】転送コントローラ・ハブ・ユニット・パイプラ
イン・ステージおよび外部ポートに対するチャンネル要
求レジスタ・インタフェースを示す図である。
イン・ステージおよび外部ポートに対するチャンネル要
求レジスタ・インタフェースを示す図である。
【図3】ハブ・インタフェース・ユニットとそれのTC
HPハブおよびアプリケーション・ユニットまたはアク
ティブ・ポートへのインタフェースとのハイレベル・ブ
ロック図である。
HPハブおよびアプリケーション・ユニットまたはアク
ティブ・ポートへのインタフェースとのハイレベル・ブ
ロック図である。
【図4】1つのアクティブ・ポートを採用する転送コン
トローラTCHPと転送要求バスへのそれのインタフェ
ースとを示すブロック図である。
トローラTCHPと転送要求バスへのそれのインタフェ
ースとを示すブロック図である。
【図5】転送コントローラ・ハブとアクティブ読出しシ
ーケンスを実行するアクティブ・ポートとの間のコマン
ド信号およびデータの流れを示す図である。
ーケンスを実行するアクティブ・ポートとの間のコマン
ド信号およびデータの流れを示す図である。
【図6】転送コントローラ・ハブとアクティブ書込みシ
ーケンスを実行するアクティブ・ポートとの間のコマン
ド信号およびデータの流れを示す図である。
ーケンスを実行するアクティブ・ポートとの間のコマン
ド信号およびデータの流れを示す図である。
【図7】転送コントローラのハブとプッシュ・ハブ・イ
ンタフェース・ユニットを介してアクティブ書込みを実
行するアクティブ・ポートとの間のコマンド信号および
データの流れを示す図である。
ンタフェース・ユニットを介してアクティブ書込みを実
行するアクティブ・ポートとの間のコマンド信号および
データの流れを示す図である。
100 ハブ 101 要求キュー・マネージャ 102 キュー・マネージャ・メモリ 105 チャンネル・パラメータ・レジスタ 106 ポート・パラメータ・レジスタ 109 ハブ制御ユニット 110 転送コントローラ・ポートI/Oサブシステム 111〜115 ポート 116 転送要求者 117 転送要求バス・ノード 118 データ転送バス・ノード 120 チャンネル要求レジスタ 130 発信元制御パイプライン 140 送信先制御パイプライン 150 データ・ルータ 200〜205 チャンネル要求レジスタ 204’ 発信元パイプライン 205’ 送信先パイプライン 206 データ・ルータ・ユニット 301 コンフィギュレーション信号 303 HIU応答キュー 304 HIU制御論理 305 HIU読出し要求キュー 306 HIU書込み要求キュー 307 HIU出力マルチプレクサ 308 クロック・ドメインA 309 クロック・ドメインB 314 コア・プロセッサ・クロック 314’ HIU制御論理 321 アプリケーション・ユニット・クロック 330 アプリケーション・ユニット 411 アクティブ・ポート 501 データ読出し要求 505 HIU 508 読出しコマンド 509 発信元ポート 511 読出しデータ 512 書込みコマンド 513 確認応答信号 514 読出しデータ 601 データ書込み要求 604 予備的書込みコマンド 608 読出しコマンド 609 送信先ポート 610 読出しコマンド 611 読出しデータ 612 書込みコマンド 613 書込みデータ 621 読出しデータ 701 要求 703 プッシュ・データ 704 読出しコマンド 705 HIUインタフェース 706 アクティブ・ポート 711 読出しデータ 712 書込みコマンド 713 書込みデータ 719 機能停止信号
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デイビッド エイ、コミスキィ アメリカ合衆国 イリノイ、セントチャー ルズ、クローヴァーフィールド サークル 7エヌ660 (72)発明者 チャールズ フオコ アメリカ合衆国 テキサス、アレン、ミス ティ メドウ ドライブ 401 (72)発明者 ラグラム ダモダラン アメリカ合衆国 テキサス、プラノ、エス タカド レイン 3324 Fターム(参考) 5K032 CA12 CB00 5K033 CB17 DB13
Claims (2)
- 【請求項1】 データ転送コントローラであって、 各々がデータ発信元,データ送信先および転送されるべ
きデータ量を指定するデータ転送要求を受信し優先付け
しディスパッチすることができる要求キュー・コントロ
ーラと、 該要求キュー・コントローラに接続され、かつ、ディス
パッチされたデータ転送要求を受信するデータ転送ハブ
と、 各ポートに対して同じように構成されかつ前記データ転
送ハブに接続された内部インタフェースと動作時に前記
ポートに接続される外部メモリ/デバイス用に構成され
た外部インタフェースとを有する複数のポートであっ
て、前記内部インタフェースおよび前記外部インタフェ
ースが、それらの間でのデータ転送を行うように接続さ
れている、複数のポートと、を含み、 前記データ転送ハブが、現在実行されているデータ転送
要求の下で、前記データ発信元に対応する発信元ポート
から前記データ送信先に対応する送信先ポートへの前記
転送されるべきデータ量に対応する量のデータ転送を制
御することができ、 前記複数のポートのうちの少なくとも1つが、データ発
信元,データ送信先および転送されるべきデータ量を指
定することができる前記要求キュー・コントローラに接
続されたアクティブ・データ・ポートからなる、 データ転送コントローラ。 - 【請求項2】 データ転送方法であって、 各々がデータ発信元,データ送信先および転送されるべ
きデータ量を指定するデータ転送要求を受信し優先付け
しディスパッチするステップと、 現在実行されているデータ転送要求の下で、前記データ
発信元に対応する複数のポートから選ばれた1つの発信
元ポートから、前記データ送信先に対応する前記複数の
ポートから選ばれた1つの送信先ポートへ、前記転送さ
れるべきデータ量に対応する量のデータを転送するステ
ップと、を含み、 前記複数のポートのうちの少なくとも1つが、データ発
信元,データ送信先および転送されるべきデータ量を指
定することができるアクティブ・データ・ポートであ
る、 データ転送方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US24393300P | 2000-10-27 | 2000-10-27 | |
US243933 | 2000-10-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002198987A true JP2002198987A (ja) | 2002-07-12 |
Family
ID=22920698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001328899A Withdrawn JP2002198987A (ja) | 2000-10-27 | 2001-10-26 | ハブおよびポート付き転送コントローラのアクティブ・ポート |
Country Status (3)
Country | Link |
---|---|
US (1) | US6985982B2 (ja) |
EP (1) | EP1202183A3 (ja) |
JP (1) | JP2002198987A (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7088713B2 (en) * | 2000-06-19 | 2006-08-08 | Broadcom Corporation | Switch fabric with memory management unit for improved flow control |
US7120761B2 (en) | 2000-12-20 | 2006-10-10 | Fujitsu Limited | Multi-port memory based on DRAM core |
US7020724B2 (en) * | 2001-09-28 | 2006-03-28 | Intel Corporation | Enhanced power reduction capabilities for streaming direct memory access engine |
US6970962B2 (en) * | 2003-05-19 | 2005-11-29 | International Business Machines Corporation | Transfer request pipeline throttling |
US7603487B2 (en) * | 2005-05-13 | 2009-10-13 | Texas Instruments Incorporated | Hardware configurable hub interface unit |
CN101529826B (zh) * | 2006-10-24 | 2013-08-07 | 熵通信有限公司 | 包含带有主动端口和被动端口的节点的*** |
US11308109B2 (en) * | 2018-10-12 | 2022-04-19 | International Business Machines Corporation | Transfer between different combinations of source and destination nodes |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0752666A3 (en) * | 1995-07-06 | 2004-04-28 | Sun Microsystems, Inc. | Method and apparatus for fast-forwarding slave requests in a packet-switched computer system |
EP0987625A3 (en) * | 1998-09-01 | 2002-07-17 | Texas Instruments Incorporated | Microprocessor with a plurality of functional units and cache levels |
GB9909196D0 (en) * | 1999-04-21 | 1999-06-16 | Texas Instruments Ltd | Transfer controller with hub and ports architecture |
-
2001
- 2001-10-24 US US10/003,856 patent/US6985982B2/en not_active Expired - Lifetime
- 2001-10-25 EP EP01000572A patent/EP1202183A3/en not_active Withdrawn
- 2001-10-26 JP JP2001328899A patent/JP2002198987A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20020078269A1 (en) | 2002-06-20 |
US6985982B2 (en) | 2006-01-10 |
EP1202183A2 (en) | 2002-05-02 |
EP1202183A3 (en) | 2006-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108027804B (zh) | 片上原子事务引擎 | |
US5398325A (en) | Methods and apparatus for improving cache consistency using a single copy of a cache tag memory in multiple processor computer systems | |
US5996051A (en) | Communication system which in a first mode supports concurrent memory acceses of a partitioned memory array and in a second mode supports non-concurrent memory accesses to the entire memory array | |
EP1046999B1 (en) | Transfer controller with hub and ports architecture | |
US5854906A (en) | Method and apparatus for fast-forwarding slave request in a packet-switched computer system | |
US10210117B2 (en) | Computing architecture with peripherals | |
US5682551A (en) | System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto | |
US6587926B2 (en) | Incremental tag build for hierarchical memory architecture | |
JPH0642225B2 (ja) | Dma機能を有する計算機システム | |
US6892266B2 (en) | Multicore DSP device having coupled subsystem memory buses for global DMA access | |
EP1493081B1 (en) | Data transfer mechanism | |
US6681270B1 (en) | Effective channel priority processing for transfer controller with hub and ports | |
US20030014591A1 (en) | Scarfing within a hierarchical memory architecture | |
US7006521B2 (en) | External bus arbitration technique for multicore DSP device | |
JP2002198987A (ja) | ハブおよびポート付き転送コントローラのアクティブ・ポート | |
JP2591502B2 (ja) | 情報処理システムおよびそのバス調停方式 | |
US6892253B2 (en) | Maintaining remote queue using two counters in transfer controller with hub and ports | |
EP1069511B1 (en) | Data Transfer Controller with Plural Ports | |
US7552252B2 (en) | Memory interface circuit and method | |
US6587925B2 (en) | Elimination of vertical bus queueing within a hierarchical memory architecture | |
US6976141B2 (en) | Pipelined multi-access memory apparatus and method | |
JPH10283302A (ja) | 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム | |
EP1115065A2 (en) | Effective channel priority processing for transfer controller with hub and ports | |
NZ716954B2 (en) | Computing architecture with peripherals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050104 |