PCIe其实是一组规范计算机硬件之间相互通信的协议标准,总线这个词是从英文BUS翻译过来的,你也可以以“公交车”类比,计算机硬件之间内部通信的消息,也需要这样的公共交通工具去运输,计算机内部硬件通信的运输规则我们就需要PCIe这样的协议来规范。
PCIe的逻辑结构图图片来自 :《深入浅出SSD》
PCIe的通信架构是一个树形,树根是root complex,下面可以直接挂设备,比如内存、显卡,也可以通过一个Switch,共享某些PCIe端口的带宽,分出更多的PCIe端口,也可以通过PCIe Bridge去做转接,去对接原来PCI标准下的相关设备。
带宽分配
这个结构如果拿你的家庭局域网组网来做类比的话,你家的root complex可能就是那个你家庭宽带入口的那个光猫。你的光猫可能是电信给你家装宽带的时候就布置了,它自带一些网口和WiFi,你可以直接连入设备,你也可以加一个路由器进行扩展,同时从路由器接入你的设备,甚至是路由器之后再接一个路由器,都是可以的。
PCIe也是类似的结构,从CPU出发,自身有很多原生的PCIe口出来,但设备众多,对带宽的需求也会不一样,所以会有很多共享PCIe端口的设备,也会有很多最好要独占端口的设备。
每个PCIe通道是有速度上限的,根据PCIe的版本会有所不同。来自WiKi 百科
就如同光猫、路由器的端口一样,有百兆的网口,有千兆的网口,网口下连接的设备是共享该网口下的带宽的