Współczesne systemy komputerowe wykorzystują dwie zasadnicze magistrale do obsługi urządzeń: PCI i USB.
PCI (Peripheral Component Interconnect) interfejs komponentów peryferyjnych:
32/64-bitowa szyna rozszerzeń dla komputerów zgodnych z IBM PC oraz Macintosh
opracowana przez firmę Intel w 1992 r. (mikroporcesor Pentium)
obsługuje standard podłącz i używaj (PnP, Plug and Play)
szybkość transferu danych (MB/s=106 B/s, GB/s=109 B/s)
PCI32 |
66.66 MHz |
266.6 MB/s |
|
PCI64 |
66.66 MHz |
533.3 MB/s |
|
PCI-X |
266.64 MHz |
2133.1 MB |
|
PCIe 1.0 |
x1 |
2.50 GHz |
0.25 GB/s |
PCIe 1.0 |
x16 |
2.50 GHz |
4.0 GB/s |
PCIe 2.0 |
x16 |
5.00 GHz |
8.0 GB/s |
PCIe 3.0 |
x16 |
8.00 GHz |
15.754 GB/s |
PCIe 4.0 |
x16 |
16.00 GHz |
31.508 GB/s |
OpenCAPI (2016-10-15) – magistrala przyszłości?
IBM has unveiled OpenCAPI, an open-standard, high-speed bus interface for connecting devices in servers. The announcement coincides with the formation of a consortium of the same name that will manage the new standard, and which initially includes tech heavyweights Hewlett Packard Enterprise (HPE), Dell EMC, NVIDIA, Mellanox, Micron, Xilinx, and Google. The first OpenCAPI-supported devices and servers are expected to show up in 2017.
Unlike CAPI (Coherent Accelerator Processor Interface), IBM’s coherent memory communication protocol that rode on top of PCI Express (PCIe), OpenCAPI is both a new hardware interface and a new protocol, and would obviate the need for PCIe on the motherboard if all the chips were OpenCAPI compliant. The general idea is the same as IBM’s original CAPI: to be able to link together processors, coprocessors network adapters, flash modules, and other devices in the server as equal peers, and which can directly access system memory in the same manner as a CPU.
Zob. https://www.top500.org/news/tech-companies-sign-on-to-new-standard-for-high-performance-server-bus/
Wykrywanie urządzeń na szynie PCI. Porównać wynik działania komend lspci -D
oraz
lspci -D -n
.
# lspci -D
0000:00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
0000:00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
0000:00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
0000:00:01.2 USB controller: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] (rev 01)
0000:00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
0000:00:02.0 VGA compatible controller: Cirrus Logic GD 5446
0000:00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
0000:00:04.0 Ethernet controller: Red Hat, Inc Virtio network device
0000:00:05.0 RAM memory: Red Hat, Inc Virtio memory balloon
0000:00:06.0 SCSI storage controller: Red Hat, Inc Virtio block device
0000:00:07.0 SCSI storage controller: Red Hat, Inc Virtio block device
# lspci -D -n
0000:00:00.0 0600: 8086:1237 (rev 02)
0000:00:01.0 0601: 8086:7000
0000:00:01.1 0101: 8086:7010
0000:00:01.2 0c03: 8086:7020 (rev 01)
0000:00:01.3 0680: 8086:7113 (rev 03)
0000:00:02.0 0300: 1013:00b8
0000:00:03.0 0200: 1af4:1000
0000:00:04.0 0200: 1af4:1000
0000:00:05.0 0500: 1af4:1002
0000:00:06.0 0100: 1af4:1001
0000:00:07.0 0100: 1af4:1001
Porównać lspci [-v] -s 00:01.1
, lspci [-v] -d 8086:7010
, lspci [-vv] -s
00:03.0
oraz lspci [-vv] -d 1af4:1000
. Przejrzeć także zawartość pliku
/usr/share/hwdata/pci.ids. Jaki identyfikator ma np. firma Intel?
Każde z urządzeń, które zostało wykryte, ma przypisany odrębny numer postaci <domain>:<bus>:<slot>.<func>, np. 0000:00:1f.2. Standard PCI dopuszcza
4096 domen (12 bitów)
256 magistral (8 bitów)
32 urządzenia (5 bitów)
8 funkcji (3 bity); do 256 rejestrów
Maksymalnie można zarejestrować w systemie komputerowym 33554432 urządzeń.
Dodatkowe przykłady wykrywania urządzeń:
# lspci -k|t
# lspci -D -d 8086:*
# lspci -d *:1000
USB (Universal Serial Bus) – uniwersalna szyna szeregowa
standard szyny zewnętrznej do podłączania do komputera do 127 urządzeń peryferyjnych (jeden IRQ)
standard opracowany w 1995 r. wspólnie przez wiodącychproducentów sprzętu komputerowego i telekomunikacyjnego (Compaq, DEC, IBM, Intel, Microsoft, NEC, Northern Telecom, Philips)
szybkość: 12 Mb/s i 1.5 Mb/s (USB 1.1), 480 Mb/s (USB 2.0), 4.8 Gb/s (USB 3.0)
długość kabla: USB 1.1 – 3 m, USB 2.0 – 5 m, USB 3.0 – 3 m
transmisja w trybie półdupleksu (USB 1.1 i 2.0) i pełnego dupleksu (USB 3.0)
wyprowadzenie funkcji PnP poza komputer
łatwość rozmnażania portów i wydłużania połączenia poprzez zastosowanie maksymalnie pięciu koncentratorów (USB hubs)
USB łączy drukarki, skanery, kamery wideo, dyski, stacje dyskietek, klawiatury, myszy, joysticki, telefony, modemy, napędy CD-ROM, napędy taśmowe, urządzenia wideo MPEG-2, data gloves, digitizers, itp.
Przykłady wykrywania urządzeń na magistrali USB:
# lsusb
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
# lsusb [-vv] -s 001:002
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd
# lsusb [-vv] -d 1d6b:0001
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub