チャネル・コントローラ
"C-Unit" と呼ばれる単一の内部ユニットで最大16本のチャネルをサポートしている。C-Unit は最大2個搭載可能で、全部で32本までのチャネルを制御できる。C-Unit は特殊な有限状態機械 (FSM) のように機能してプロセスをそれぞれ独立に実行する。これを「チャネル状態シフト (shifting channel state)」と呼ぶ。CPUサイクル毎(470/V6およびV5では32ナノ秒ごと、470/V7およびV8では26ナノ秒ごと)に、C-Unit が優先順位に従って次のチャネルの状態を完全に読み取る。チャネルの最新状態によって必要な動作が決定されており、そのチャネルの「タグ」が実行される。すなわち、主記憶上のデータの読み書きを行い、チャネルプログラムにOS通知が指定されていたらOSに通知を行い、C-Unitがそのチャネルの次の状態を格納完了すると、次の優先順位のチャネルへと移行する。C-UnitにはFIFOストレージが十分あり、全チャネルがFSMによってエミュレートされる。IBM 2860/2870/2880のエミュレーションが可能であり、制御卓からコマンドを発行することでエミュレーション方式を変更できる。本家よりも柔軟性が高かったため、IBMが等価な機能を実装するため設計変更を余儀なくされたほどである。
チャネルI/Oのリファレンス実装とされているのは、IBM System/360 とその後継メインフレームのものであるが、同様の実装は他のメインフレーム(CDC、Bull、GE、ハネウェル、ユニシス)でも採用されている。
チャネルI/O方式を採用したシステムには、システムのCPUとは全く独立して入出力操作全体を制御する専用のハードウェア部品が存在する。チャネルI/O方式のシステムのCPUでは入出力のための機械語命令は一種類だけ存在するのが一般的である。その命令は「チャネルプログラム」の形式でI/O専用ハードウェアに入出力コマンド群を渡すための命令である。その命令を実行後、入出力処理はCPUを煩わせることなく行われ、オペレーティングシステムに通知すべきイベントが発生すると、I/OハードウェアがCPUに対して割り込みを通知する。
チャネルは独立したハードウェアコンポーネントであり、配下のコントローラや周辺機器の入出力を行う。名前が暗に示しているような単なる通信媒体ではない。I/O操作のリスト(チャネルプログラム)を与えられ、それを解釈してI/O処理を行うインテリジェントなハードウェア機器である。
各チャネルには1つ以上のコントローラや周辺機器が接続される。チャネルプログラムにはチャネル自身へのコマンドと、接続された各種コントローラや周辺機器へのコマンドが含まれる。ただし、1つのチャネルプログラムが対象とするのは、1つのデバイスのみである。OSは、必要なコマンド群を用意すると、そのチャネルプログラムを起動するための機械語命令を実行する。その後、チャネルは指定された処理が完了するまで動作する。