I/Oコントローラ
I/Oコントローラは、入力および出力(I/O)デバイスを中央処理装置(CPU)のバスシステムに接続します。通常、システムバスを介してCPUおよびシステムメモリと通信し、多くのデバイスを制御できます。制御は通常CPUによって開始され、I/Oコントローラに周辺機器や接続された信号の制御に関する指示を送ります。
I/Oコントローラは、周辺機器との通信や制御の要求を処理するための特有の機能を備えています。これには、正しい電圧レベルと正しいインターフェース規格でデバイスを駆動できる能力が含まれます。また、正しいプロトコルでデバイスに接続する機能も含まれています。周辺機器の通信と制御は非常に重要なタイミングデバイスとなます。I/Oインターフェースは非常に複雑で、CPUが実装するのは実用的でないか不可能です。多くの場合、CPUはI/Oインターフェースの特別な物理的ニーズを満たせません。この処理をI/Oコントローラにオフロードすると、CPU性能と柔軟性が向上します。
I/Oコントローラは、電源LEDの状態を駆動したり、ボタンが押されているかを検出したりする場合のように、単純な論理レベルの入力や出力を処理していることがあります。また、論理イベント間の時間を測定したり、信号処理を行う必要がある場合もあります(キーボードでのキー押下のチャタリング除去の例のように)。これらは、CPUファンの速度の制御などに使用できるPWMのような周期波形を生成する必要があるかもしれません。コントローラーはまた、シリアルインターフェースのような異なる周辺機器接続標準を実装する能力を持っており、デバイスへのデータのアドレス指定や転送が可能です。そのようなインターフェースには、USB、SPI、UARTなどのさまざまな標準を組み込むことができます。また、より高性能なUSB2、USB3、SATAスタイルのインターフェースを含めることもできますが、これらは通常、それ自体に専用コントローラーを持っています。
多くの場合、I/Oコントローラは周辺機器をシステムアドレス範囲にマッピングし、直接メモリアクセス(DMA)を介してプロセッサのシステムメモリへのデータ転送を処理します。I/Oコントローラは、割り込みと呼ばれる特殊なシグナリングを使ってイベントや転送が発生するタイミングを表示するように設定できます。CPUが割り込みを受け取ったとき、タスクが完了したこと、I/Oに関するイベントが発生したこと、またはデータ転送が行われたことを知り、注意が必要になる場合があります。
多くの現代のマイクロプロセッサやマイクロコントローラには、コストとサイズを削減するためにI/Oコントローラ機能が内蔵されています。これらは組み込み型および特殊用途(例えば携帯電話)で使用され、I/O要件が固定されているか、または類似の要件を持つ傾向があります。
164
総製品数







