oracle wiki(usbコントローラー)から:

USBホストコントローラールートハブと呼ばれる埋め込みハブがあります。システムの背面パネルに表示されるポートは、ルートハブのポートです。

これから理解できるのは、ルートハブは単には、すべてのUSBハブが集まるポイントです。

-ルートハブはハードウェアの一部ですか、それともUSBデバイスからのすべてのデータが集まるポイントを表すために使用される用語ですか?

-ルートハブとコントローラーの間にはさまざまな種類のインターフェイス(UHCI、OHCI、EHCI)がありますが、コントローラーをルートハブと実際のコンピューターの間の「仲介者」と考えるのは正しいですか?

回答

複数のルートハブを持つことができるので、いいえ、すべてのハブが集まるポイントではありません。ルートハブは、列挙のいくつかの開始点の1つと考えると便利です。

ルートハブはハードウェアの一部です。具体的には、ホストコントローラーの一部です(それ自体は個別にすることができます)。チップまたはチップセットの一部)。

インターフェースあなたが言及しているのは、ホストコントローラーインターフェイス(HCI)、つまりルートハブではなくホストコントローラーのインターフェイスです。基本的には、ソフトウェアがホストコントローラと通信するためにアクセスできるレジスタです。

上記から、「仲介者」という用語は、あなたが描いたように当てはまるとは思いません。

UPDATE :

関係を説明するための簡単なアナログです:

車両はコントローラーです。ソフトウェア(ドライバー)がコントローラーを操作するために使用できるインターフェース(ペダル)があります。また、車の機能の重要な部分を実行するエンジン(ルートハブ)もあります。

ドライバーはペダルを使用してエンジンを操作すると言えますが、それは正しいですが、そうではありません。ペダルとエンジンの間にかなりの数の部品があるため、正確です。これらの部品は、コントローラーの内部ロジック回路に対応します。

したがって、より正確な表現は、「ドライバーがペダルを使用して車を制御し、ステアリングするホイールとスティック、そしてエンジンは車の一部であるため、運転プロセス全体でその役割を果たします」。コンピュータ用語では、「ソフトウェアはHCIを使用するホストコントローラー。ルートハブはホストコントローラーの一部であるため、USB通信のサポートでジョブを共有します。」

コメント

  • ホストコントローラーは、ホストコントローラーインターフェイス(HCI)を介してソフトウェアと通信するチップであり、そのチップは1つ以上のルートハブにも接続されているため、USBデバイスとコントローラー間(およびコントローラーからソフトウェア)でデータを渡すことができますか?
  • ほぼ正解です。ホストコントローラーはルートハブに"接続されていません"。ルートハブはコントローラーの一部です。また、PCには通常複数のコントローラー(チップセットに組み込まれているだけでなく、マザーボード上の個別のチップも含まれています)があるため、現在、システムには複数のルートハブがあります。 'より適切な説明で回答を更新します。

回答

通常のUSBハブはUSB デバイスで、USBトラフィックを1つの(アップストリーム)リンクから複数のダウンストリームポートに分割できます。そして、多くのポートからの今後のトラフィックを1つのアップストリームに多重化します。そのために、各ハブには、接続/切断/一時停止/再開/無効化などのポート機能を制御する特別な制御パイプがあります。これらの機能は、すべてUSBパケットを使用して、特定の各ポートに送信されるUSBタイプの制御トランザクションを介して制御されます。 -トークンプロトコル。このプロトコルは、ハブスタックアップの有効なレベルまで機能し、各ポートにはUSB応答内に明確に定義されたステータスビットがあります。

ルートハブは、(a)アップストリームがホストに直接関連付けられていることを除いて、同様の機能を実行します。コントローラパイプ/バス、および(b)各ポートのさまざまなステータスビットは、ホストPCIスペースの32ビットレジスタに直接マッピングされます。これはハードウェアの一部です。

ただし、USBツリーのすべてのポート間のビット単位の互換性を維持し、すべてのポートへのユニバーサルアクセスを提供するために、ホストコントローラードライバーソフトウェアには通常、レジスタベースのポート制御ステータス(PORTSC)を変換する特別なレイヤーがあります。 )標準のUSBポートステータス形式に変換します。これは、次のマイクロソフトのドキュメントに示されています。

ここに画像の説明を入力してください

丸で囲んだレイヤーが、このポートステータスの変換を提供すると思います。その後、システムはルートハブポートと通常のハブポートの違いを認識しません。

回答

これは実装の詳細です、ほとんどの場合。

USBハブは、挿入/取り外し検出、ポート電源制御、およびデバイスに番号が割り当てられる前に使用される列挙プロトコルのアップストリーム側を実装します。

同じ機能が 各USBダウンストリームポートは、コントローラーに直接接続されているか、別のデバイスの一部であるかに関係なく、2つの異なる仕様を持つのはばかげています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です