Перейти к основному содержимому

Шины компьютера — обзор

Инженеру

Шина — общий набор линий, по которым CPU, память и устройства обмениваются адресами, данными и управляющими сигналами. Без шины каждое устройство потребовало бы отдельного кабеля к процессору — так не масштабируется. В архитектуре фон Неймана шина — связующее звено между функциональными блоками.

Подробная таблица PCIe и M.2 — в Компонентах железа; здесь — общая модель, пригодная и для ПК, и для встраиваемых AMBA/APB.


Три составляющие классической шины

ЛинииНазначение
Шина адресаКуда обращаемся — номер ячейки RAM или регистра устройства
Шина данныхЧто передаём — слово данных (8, 16, 32, 64 бита за такт)
Шина управленияЧтение или запись, готовность, прерывание, такт

Один цикл обмена: CPU выставляет адрес и сигнал read/write; устройство-источник или приёмник кладёт байты на линии данных. Разрядность адресной шины задаёт максимум RAM (32 бита → 4 ГБ без расширений; 64 бита → теоретически эксабайты).


Параллельные и последовательные шины

ТипИдеяПримеры
ПараллельнаяМного бит одновременно по отдельным проводамСтарая ISA, параллельный ATA
ПоследовательнаяПоток бит по одной или нескольким дифф-парамPCIe, USB, SATA

Последовательные шины выигрывают на высоких частотах: меньше проблем синхронизации длинных параллельных шлейфов. Современный ПК почти полностью на PCIe и USB; параллельная шина осталась в истории и в обзорных курсах по архитектуре.


Иерархия шин в ПК

Быстрые устройства (видеокарта, NVMe) часто сидят на линиях CPU. Медленные (USB-контроллер, аудио, SATA через чипсет) — за DMI с ограниченной пропускной способностью. Поэтому NVMe в слоте M.2 «от чипсета» может уступать слоту «от CPU» — это не маркетинг, а топология шины.


Синхронизация и такт

Синхронная шина работает от общего тактового сигнала — передача привязана к фронтам clock. Асинхронная использует handshaking (REQ/ACK): медленное устройство само сообщает «готово».

PCIe — последовательная с встроенным кодированием и ACK на уровне пакетов; USB — host-driven с опросом или прерываниями. Принцип тот же: инициатор (master) начинает транзакцию, цель (slave) отвечает.


Арбитраж — кто говорит первым

Если к одной шине подключено несколько master-устройств (CPU, DMA-контроллер, иногда GPU), нужен арбитр — схема, которая выдаёт право на шину одному претенденту за раз.

МеханизмСуть
Fixed priorityCPU всегда важнее DMA или наоборот
Round-robinОчередь по кругу
BurstУстройство держит шину несколько тактов подряд (важно для DMA)

DMA (Direct Memory Access) позволяет диску или сетевой карте писать в RAM без участия CPU на каждый байт — арбитраж и DMA описаны подробнее в ОС — ввод-вывод.


Шины во встраиваемых системах

На одноплатниках и MCU та же модель, другие имена:

ШинаРоль
AXIВысокоскоростная — CPU, память, DMA
AHBСредний уровень
APBМедленная периферия — UART, GPIO, I²C

Подробнее — Встраиваемые системы (Memory-Mapped I/O и RK3328).


Куда читать дальше

См. также

Другие статьи этого же раздела в боковом меню (как на странице "О разделе").