📌 I/O bus
O bus — аппаратная шина, предназначенная для обмена данными между CPU и внешними периферийными устройствами: storage, NIC, GPU, USB и др.
🧠 Как работает
Шина ввода-вывода связывает CPU с O Controller или напрямую с устройствами. Может быть:
- Параллельной (устаревшие — ISA, PCI)
 - Последовательной (современные — PCIe, USB, Thunderbolt)
 
Управление осуществляется через:
- O — устройства отображаются в адресное пространство
 - O — специальные инструкции и адреса ввода-вывода
 
Механизмы доступа:
- DMA — прямой обмен с RAM без участия CPU
 - Interrupts — уведомление CPU об окончании операции
 - Polling — регулярная проверка состояния устройства
 
⚙️ Где применяется
| Устройство | Используемая I/O шина | 
|---|---|
| GPU | PCIe | 
| SSD | SATA, NVMe (через PCIe) | 
| NIC | PCIe | 
| Keyboard, Mouse | USB, 2 | 
| Audio Devices | USB, PCI | 
📐 Примеры шин
| Шина | Тип | Пропускная способность | 
|---|---|---|
| PCI | Параллельная | До 133 MB/s | 
| PCIe | Последовательная | До 64 GB/s (x16 Gen5) | 
| USB 3.2 | Последовательная | До 20 Gbit/s | 
| Thunderbolt 4 | Последовательная | До 40 Gbit/s | 
🧩 Взаимодействие компонентов
[CPU] ⇄ [I/O Bus] ⇄ [I/O Controller / Device]  
↕ ↕  
DMA Interrupts
✅ Преимущества
- Универсальное подключение периферии
 - Разные протоколы на одной архитектуре
 - Поддержка расширения и масштабируемости
 
❌ Недостатки
- Ограничения по пропускной способности (особенно в параллельных шинах)
 - Задержки и конфликт доступа при высокой загрузке
 - Требует координации с DMA, Interrupts, Cache