チャネル・コントローラ
非常に複雑なチャネルプログラムを書くことも可能で、データの値を調べ、その値によってチャネルプログラム内で条件分岐することもできる。この柔軟性があるため、CPUは個々の入出力操作を起動/監視/管理するオーバヘッドから解放される。チャネル機構は入出力専用であり、CPUよりも効率的に入出力処理が可能で、かつCPUと完全に並行動作できる。チャネルI/Oは Direct Memory Access (DMA) よりも複雑で機能が豊富である。多くのメインフレームのOSはチャネルI/Oの機能を完全には使いこなしていなかった。
大型メインフレームでは、CPU は並行して動作する強力なハードウェアコンポーネントの1つに過ぎない。様々な入出力コントローラ(メーカーによって名称は異なる)が入出力を専門に処理し、それらがやはり入出力専用のチャネルに接続されている。1つのシステムには複数のCPUと複数のI/Oプロセッサが存在することもある。このアーキテクチャにより、CPUの性能を犠牲にすることなく入出力性能を最適化する。メインフレームの実際のアプリケーションでは入出力性能が重要であり、このアーキテクチャによってメインフレームは非常に高いスループットを実現し、他のクラスのコンピュータとは一線を画していた。
IBMのESA/390では、ツリー状または階層状のI/Oサブシステム内のパラレルデータ接続をチャネルと呼ぶ。System/390のI/O筐体では、筐体内のデバイスを接続するケーブルをチャネルと呼ぶ(ESCONケーブル、FICONケーブルなど)。また、I/O筐体からOAフロアの下を通って、磁気テープシステムやDASDなどを接続するケーブルもチャネルと呼ばれた。
以下の例は、ディスク上のレコードをキーで検索して読み取るチャネルプログラムである。そのレコードを含むトラックと所望されるキーの値は不明である。このデバイスの制御装置は要求されたレコードを見つけるためトラックを検索する。
TIC (transfer in channel) は一致するキーを持つレコードが見つかるまで(あるいはトラックの終端に到達するまで)直前のSEARCHコマンドに分岐するCCWである。キーが一致するレコードが見つかると分岐せず、次のREADコマンドを実行することになる。