Шины: зачем их несколько

Шина — это набор проводников (или линий связи) плюс правила, по которым устройства обмениваются данными. Проще: дорога с правилами движения, по которой процессор и устройства разговаривают друг с другом.

Шин в компьютере несколько, и это не беспорядок, а следствие четырёх ограничений, которые невозможно обойти одновременно.

Почему их несколько

Ограничение Как проявляется
Скорость Чем быстрее передача, тем капризнее сигнал: длинные линии, экранирование, согласование
Расстояние Внутри корпуса — сантиметры; снаружи — метры. Одна шина на оба случая невозможна
Цена Вывести быструю шину на внешний разъём дорого; дешёвый разъём не потянет скорость
Питание и количество Датчику нужны байты и два провода; видеокарте — гигабайты и десятки линий

Отсюда деление по назначению, а не по «поколениям»:

шины управления (I2C, SMBus, SPI, LPC)   ← байты, датчики, служебные функции
        │
шины данных (PCIe)                        ← гигабайты: видео, NVMe, сеть, Thunderbolt
        │
внешние шины (USB, Thunderbolt)           ← метры, питание, горячее подключение

Плюс отдельная история — историческая совместимость. В любом современном ноутбуке живут остатки старых шин: LPC (наследник ISA) для встроенного контроллера, SMBus рядом с I2C, SPI для прошивки. Их не убирают, потому что переделывать весь чипсет дороже, чем держать совместимость.

Кто на рынке внутренних шин

Шина Скорость Где встречается Зачем
PCIe (PCI Express) десятки ГБ/с на линию видео, NVMe, сеть, Thunderbolt Основная шина данных внутри корпуса
USB до 10–40 Гбит/с (3.x/4) всё внешнее Универсальный внешний разъём с питанием
Thunderbolt как PCIe, но по кабелю док-станции, внешние GPU Проброс PCIe наружу
SATA 6 Гбит/с старые SSD/HDD, оптические приводы Накопители прежнего поколения
I2C / SMBus 100 кГц – 3,4 МГц датчики, тачпад, EDID монитора, управление питанием Служебная шина управления
SPI десятки МГц флеш-память прошивки, TPM Прошивка и служебные микросхемы
LPC / eSPI десятки МГц встроенный контроллер (EC), Super I/O Наследник ISA, служебные функции

А это — шины, которые встречаются только в разговорах о старом железе: ISA (8/16 бит, 1980-е), PCI (параллельная, 1990-е), AGP (только для видео), PCI-X (параллельная серверная, конец 1990-х). Важно: PCI-X — это не PCI Express, это разные вещи, и путать их — распространённая ошибка. PCI-X умерла, PCIe живёт.

Как это выглядит в системе

В Linux шины видны как каталоги в /sys/bus/, а устройства — как их «жители»:

$ ls /sys/bus/
pci  usb  i2c  spi  serio  platform  …
$ ls /sys/bus/pci/devices | head
$ ls /sys/bus/usb/devices | head
$ ls /sys/bus/i2c/devices | head

У каждой шины свой инструмент просмотра: lspci, lsusb, i2cdetect, lsblk (для дисков). Это и есть практический способ понять, что где.

Страницы раздела

  • Шины в этом ноутбуке — разбор настоящего дерева: PCIe с Thunderbolt, USB, I2C, SMBus, SPI и ответ на вопрос «на какой шине UEFI».
  • PCI Express — линии, корневой комплекс, мосты, конфигурационное пространство, lspci.
  • USB — контроллеры, хабы, классы устройств, питание, скорости.
  • I2C и SMBus — адреса, датчики, EDID монитора, i2cdetect.

Источники

Что ещё не проверено

  • Скорости в таблице — порядки величин по спецификациям, а не замеры на конкретном железе.
  • На рабочем ноутбуке (МОСТЕХ ОС) шины не осматривались: доступа к нему у меня нет.
Оценка статьи 0

Комментарии

Пока комментариев нет.