
Когда я набрал
$ lspci -nn | grep VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G80 [GeForce 8800 GTS] [10de:0193] (rev a2)
Мне вспомнилась эта странная строка, 01:00.0, которую я иногда видел, не зная, что она хочет мне сказать. Особенно часть 00.0.
Как бы вы объяснили неспециалисту, что означает эта строка?
решение1
Эта строка указывает местоположение устройства на шине PCI. В «01:00.0» «01» — это номер шины PCI (компьютеры могут иметь несколько шин PCI), «00» — это номер устройства, а «0» — это функция в устройстве (устройства могут иметь несколько функций, адресуемых по отдельности на шине).
Шины PCI — это отдельные домены, соединенные мостами. Устройства на одной шине не могут напрямую взаимодействовать с устройствами на другой шине, им приходится взаимодействоватьс помощьюмост. Мосты были необычны в «простых» системах PCI, но в системах PCI Express есть много мостов и шин; каждый слот PCI Express — это своя собственная шина. Функции используются в различных ситуациях; например, для интеграции двух устройств в одно устройство PCI (у меня есть ATTO SCSI HBA, который это делает) или для предоставления различных функций с помощью одного устройства PCI (обычно для того, чтобы несколько драйверов устройств могли легко подключаться к отдельным функциям; у меня есть карта DVB-T, которая это делает, предоставляя свои аудио, MPEG и IR устройства как отдельные функции в одном устройстве PCI).
В некоторых системах имеется несколько доменов PCI, в этом случае перед номером ошибки появляется четвертый набор цифр («0000:01:00.0»).
Это описано в концеlspci(8)
страница руководства:
Слот
Имя слота, в котором находится устройство ([домен:]автобус:устройство.функция). Этот тег всегда является первым в записи.