デバイスコントローラとは何ですか?カーネルとデバイス間のどこにありますか?

デバイスコントローラとは何ですか?カーネルとデバイス間のどこにありますか?

誰かがデバイスコントローラ(ハードドライブコントローラ、NEC PD765準拠コントローラなど)の概念を説明しますか?


以下は、通訳時に必要ないくつかの重要な用語の定義です。用語を同期するには:)

コア- ハードウェアデバイスアクセスのための抽象化を提供するソフトウェア

ドライバー- カーネルモジュールにロードされ、カーネルにデバイス制御方法の知識を提供するハードウェアメーカーによって作成された低レベルプログラム

ファームウェア- ハードウェアの内部ロジックを定義するハードウェア関連プログラム。カーネルは、起動するたびにデバイスにファームウェアをアップロードする場合を除いて、通常これらとは何の関係もありません。この場合、カーネルはアップロードを実行します。


デバイスコントローラはどこに設置されていますか?デバイス自体にありますか、マザーボードにありますか?

ドライバがデバイス自体に直接接続するのではなく、カーネルにコントローラの方向インターフェイスを提供しますか?

コントローラが同じドライバを使用して他の製造元のデバイスを制御できるというアイデアはありますか?

答え1

コントローラが同じドライバを使用して他の製造元のデバイスを制御できるというアイデアはありますか?

いいえ。主な目的は、デバイスとプロセッサ間のインターフェイスの一部を提供することです。コントローラには、接続されたデバイスに必要なドライバに加えて独自のドライバがあります。

プロセッサは高度に特殊化されているため、インターフェイスが必要です。コントローラは、プロセッサの特殊領域をデバイスのさまざまな領域に変換する役割を果たします。プロセッサには外部世界への物理データ接続が1つしかありません(バス)、実際には多様性ではありませんが、通常、コントローラとプロセッサ間の仲介者プロセッサをマザーボードに接続します。その後、デバイスコントローラはマザーボードに接続され、ブリッジを介して通信します。したがって、チェーンには、プロセッサ->ブリッジ->コントローラ->デバイスという4つの個別の物理オブジェクトがあります。みんなこれには、独自のソフトウェアドライバ(プロセッサ用ドライバ、ブリッジチップセット用ドライバ、各コントローラ用ドライバ、各デバイス用ドライバ)が含まれます。

下の写真を見るとこのウィキペディア記事、下部の青いボックスはデバイスコントローラを表します。

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

[著者:Alexander Taubenkorb、クリエイティブコモンズの著者の表示 - 同じ条件変更許可3.0]

答え2

デバイスコントローラは通常バス調停者です。通常、特定のバス上のデバイスと直接通信せずにコントローラと通信します。その後、コントローラは、コントローラを介して要求された内容に基づいて、バス上のデバイスにコマンドを送信するタイミングと方法を決定します。

ウィキペディアには、このトピックについて次の内容があります。http://simple.wikipedia.org/wiki/Device_controller

抜粋

デバイスコントローラは、接続されたデバイスからデータを受信し、それをコントローラ内の一部の専用レジスタ(ローカルバッファなど)に一時的に格納します。その後、デバイスドライバとデータを通信します。各デバイスコントローラには、デバイスコントローラが割り込みを介してオペレーティングシステムと通信する標準インターフェイスである同等のデバイスドライバがあります。デバイスコントローラはハードウェアで、デバイスドライバはソフトウェアです。

答え3

一般的なコンピュータシステムには以下が含まれる。CPUそしてマルチデバイスコントローラ接続を通じて公共バス

各デバイスコントローラは特定のタイプのデバイスを担当します。

機器コントローラのメンテナンス:

  1. ローカルキャッシュ
  2. 特殊目的レジスタセット

各デバイスコントローラには対応するデバイスドライバもあります。通常

これデバイスドライバデバイスコントローラを理解し、贈り物統合インターフェースデバイスからオペレーティングシステムの残りの部分まで。

関連情報