PDP-8
I/O(入出力)システムはPDP-8の頃に大きな変化を迎えた。初期のPDP-8の入出力は、フロントパネル、紙テープリーダー、テレタイププリンタ(ASR-33/KSR-33)、そしてオプションの紙テープパンチャーで構成されていた。その後、磁気テープ、RS-232Cなどによるダム(dumb)端末、パンチカードリーダー、固定ヘッド式磁気ディスク装置などが追加されていった。最後のころにはフロッピーディスクやハードディスクが一般的になっていた。最近の愛好家はIDEアダプターを(本物あるいはシミュレートされた)PDP-8に接続している。
I/Oは以下のようないくつかの手段でサポートされている:
バックプレーン上の専用I/Oコントローラ
"Negative" I/Oバス(Lo電圧が1)
"Positive" I/Oバス(Hi電圧が1)
Omnibus(専用でないバックプレーン上のスロット) がPDP-8/Eで導入された。
PDP-8/Eとその後の機種では、メモリ拡張コントローラは仮想化も可能なように拡張された。PDP-8の全リソースを使用するようなプログラムが1台のPDP-8上に複数並存でき、仮想機械マネージャの制御下で動作可能だった。このマネージャは(メモリ拡張コントローラの操作も含む)全IO命令に対してトラップが可能である(割り込みを起こしてマネージャがそれを処理できる)。そのようにしてマネージャがデータや命令のフィールドのマッピングを制御でき、入出力を他のデバイスにリダイレクトできる。それぞれのゲストプログラムは、マネージャが提供する「仮想機械」への完全なアクセスを持つ。
新たなIOT命令で、メモリ拡張コントローラのDF/IFレジスタの現在値を読み出すことができ、トラップ前後のマシンの状態をセーブ/リストアできる。しかし、CIF命令の効果が遅延している状態(CIF命令を実行後、最初の分岐を行うまでの状態)かどうかは判別できない。