Шина (Bus) — стандартизированная среда передачи сигналов, объединяющая процессор, память и периферийные устройства в единую систему.
Определяет физический адрес ячейки памяти или регистра ввода-вывода. Разрядность шины ($N$) задает адресуемое пространство $2^N$ байт (до 4 ПБ в x86-64).
Двунаправленная магистраль передачи машинных слов. Определяет объем данных за цикл (64 бита в современных контроллерах памяти DDR).
Служебные сигналы: стробы чтения/записи (MEMR#, MEMW#, IOR#, IOW#), готовность (READY#), запросы прерываний и сигналы синхронизации.
Современный ПК использует многоуровневую иерархию шин с разделением по скоростям и задержкам:
REQ# и GNT#.Почему индустрия отказалась от параллельных шин в пользу последовательных?
Разница длин проводников даже в 1–2 мм приводит к тому, что фронты сигналов 32 параллельных бит приходят в разное время. На частотах >66 МГц время разброса превышает длительность такта!
Каждый слот на общей параллельной шине создает емкостную неоднородность, вызывая отражение высокочастотных электромагнитных волн. Решение: дифференциальные последовательные линии PCIe (LVDS) со встроенным тактовым сигналом (Embedded Clock).
| Поколение PCIe | Символьная скорость (GT/s) | Канальное кодирование | ПСП на 1 линию (x1) | ПСП слота x16 |
|---|---|---|---|---|
| PCIe 3.0 | 8.0 GT/s | 128b/130b (~1.5% оверхед) | ~0.985 ГБ/с (~1 ГБ/с) | ~15.75 ГБ/с |
| PCIe 4.0 | 16.0 GT/s | 128b/130b (~1.5% оверхед) | ~1.969 ГБ/с (~2 ГБ/с) | ~31.51 ГБ/с |
| PCIe 5.0 | 32.0 GT/s | 128b/130b (~1.5% оверхед) | ~3.938 ГБ/с (~4 ГБ/с) | ~63.02 ГБ/с |
Показатели приведены в одном направлении; в полнодуплексном режиме x16 суммарный поток удваивается (до 126 ГБ/с в PCIe 5.0).
Message Signaled Interrupts (MSI/MSI-X) — прерывания передаются не по физическим проводникам, а в виде транзакции записи в системную память по шине PCIe!
DMA (Direct Memory Access) — передача массивов данных напрямую между памятью и периферией без загрузки процессора.
0x0000–0xFFFF).IN и OUT.0x3F8), COM2 (0x2F8), LPT1 (0x378).MOV.UART преобразует байты системной шины в последовательный поток импульсов по одной сигнальной линии передачи (Tx) и приема (Rx).
На передачу 1 полезного байта расходуется 10 физических бит!
В отличие от TTL (+5V / 0V), используется биполярная шкала:
LPT-порт исторически применялся для принтеров и сканеров. Передает байт целиком по 8 параллельным проводникам данных D0–D7.
| Класс задачи | Рекомендуемая шина | Системные ресурсы | Внешние порты |
|---|---|---|---|
| АСУ ТП / SCADA | PCIe x1 / встроенный SoC | Гарантированное прерывание, RTOS | RS-485 Modbus, гальваноразвязка |
| Сервер 100 GbE / NVMe | PCIe 4.0/5.0 x16 | MSI-X (до сотен векторов RSS), MMIO 64-bit | QSFP28 / SFP28 оптический Ethernet |
| Офис / Legacy | PCIe x1 с мостом | Эмуляция I/O портов (0x3F8, 0x378) | RS-232 COM, IEEE 1284 LPT |
| Multi-GPU Workstation | PCIe 4.0/5.0 x16/x8/x8 | Resizable BAR, Above 4G, Bus Master DMA | DisplayPort 2.1, HDMI 2.1, PCIe capture |