パソコンがキーボードの打鍵を受け付け、超高精細なディスプレイに映像を描画し、超高速SSDへデータを書き込めるのは、中央処理装置(CPU)と各パーツが寸分の狂いもなく連絡を取り合っているからです。この通信を行うためのハードウェア的な窓口・通り道の総称が「I/Oリソース(Input/Output Resources)」です。
CPUから見れば、グラフィックボードも有線LANポートも外付けマウスも、すべて「外部の入出力装置」に過ぎません。膨大な計算を処理するCPUが混同することなく特定の装置へ命令を届け、また装置側からの通信を受け取るためには、個別かつ一意の割り当てが不可欠です。アイオリソースの仕組みは、主に以下の4つの要素によって構成されています。
第1に「I/Oポートアドレス」です。これはCPUが周辺機器のレジスタと直接データを受け渡しするための「私書箱の番号」に該当します。16進数で表現されるアドレス空間に重複があると、CPUはどの装置へデータを渡せばよいか判断できなくなります。
第2に「IRQ割り込み要求(Interrupt Request)」です。キーボードが押された、あるいはネットワークからパケットが届いたといった突発的な事象を、周辺機器がCPUの手を止めて知らせるための「呼び出しベル」です。かつては物理的な本数に厳しい上限がありましたが、現在ではシリアルバス上でパケット化されたメッセージシグナル割り込み(MSI/MSI-X)へと進化を遂げ、柔軟な運用が可能になっています。
第3に「DMAチャネル(Direct Memory Access)」です。大容量データをやり取りする際、いちいちCPUを経由していてはシステム全体が著しく遅延します。そのため、CPUを介さずに機器とメインメモリが直接データをやり取りできる専用バイパスとして機能します。
第4に「メモリマップドI/O(MMIO)」です。デバイス側の内部メモリ(ビデオカードのVRAMなど)をCPUのアドレス空間の一部として直接配置する手法です。PCI Express規格が主流となった現代のPC環境において、このMMIO領域の割り振りがアイオリソース管理の中核を担っています。