1、pci-e总线定义
pci-e(pci-express)是一种通用的总线规格,它由intel所提倡和推广,其最终的设计目的是为了取代现有电脑系统内部的总线传输接口,这不只包括显示接口,还囊括了cpu、pci、hdd、network等多种应用接口。
pcie总线与pci最大的区别在工作原理上,pcie是采用点到点的串行方式进行传输的,被称为“串行pci”,由于采用了串行方式传输使得其工作频率可以达到2.5ghz,大大增加了传输速率,同时采用全双工的通信方式,使得其传输速度提高了一倍,每一个pcie总线设备与外部通信时有四根数据总线,分别有两个rx和tx,两根用于发送,两根由于接收。
当前的intel平台cpu每颗最大支持40个通道(lane),但是对于现在比较主流的gpu服务器需要插入多张高兴能显卡,每颗cpu提供x40个通道就显得不够用了。另外,传统存储控制器之间需要做各种数据交换和同步,一般也是用pci-e,这又增加了对通道数量的消耗。对于一般的高端服务器,普遍都是双路、四路配置,双路下提供x80通道,理论上可连接10个x8的pci-e设备,去掉一些用于管理、内部嵌入式pci-e设备的通道占用之后,连接8个设备不在话下,可以覆盖几乎所有应用场景。
2、pci-e的组成和分层结构
与大多数总线一样,pcie总线也包括电气属性和协议组成两部分。pcie 规范对于设备的设计采用分层的结构,有事务层、数据链路层和物理层组成,各层有都分为发送和接收两功能块。在发送端,应用程序(设备核a)在事务层形成事务层包(tlp——transaction layer package),储存在发送缓冲器里,等待推向下层。在数据链路层,在tlp 包上再串接一些附加信息,这些信息是对方接收tlp 包时进行错误检查要用到的,形成数据链路层包(dllp——data link layer package);在物理层,对dllp 包进行编码,占用链路中的可用通道,从发送器发送出去。在接收端,实际上是发送端的“逆”过程。如果说发送端是在不断组包,那么接收端就是不断的拆包,最后提取出有用的数据信息供b设备的应用程序使用。
3、pci-e总线架构图
pcie体系架构一般包含根组件rc(rootcomplex),交换器switch,终端设备ep(endpoint)等类型的pcie设备组成。rc在总线架构中只有一个,用于处理器和内存子系统与i/o设备之间的连接,而switch的功能通常是以软件形式提供的,它包括两个或更多的逻辑pci到pci的连接桥(pci-pci bridge),以保持与现有pci兼容,具体功能类似现在的网络交换机。
rc(root complex)
rc在功能上和switch几乎一样,都是用于将一个pcie接口拓展成多个pcie接口,区别是rc集成在芯片内部,并且还会连接内存,类似pci总线的根桥;
ep(endpoint)
ep就是终端设备,没有转发数据的功能;
switch
(1)switch用于拓展pcie接口。pcie是串行接口,所以一个pcie接口只能接一个pcie设备,想要多接几个pcie设备就需要用到switch设备,起到数据转发的作用;
(2)switch的内部结构可以看做由pci桥组成;
(3)在switch中,每个端口对应的pcie设备号是写死的;
(4)switch设备会记录下游pcie端口连接设备分配到的pcie地址,在接收到tlp包时,通过比较目的地址和下游设备的地址,来决定是否转发以及转发到哪个pcie端口。
工业以太网交换机原理与应用
LinkedIn机器学习解决方案
为什么汽包液位计的指示灯有时不亮
开源芯片设计将迎来一次更大的升级
SiC MOSFET的设计和制造
PCIe总线的定义、组成和分层结构
iPhone终于可以随意升降级了,打破界限,库克已哭晕!
我国医疗机器人保持高速增长的态势
基于CC1100单片机的无线手持终端软硬件设计分析
电动执行器已经成为了目前机械市场的主流产品
中国广电为何会选择贵州省作为5G的试点
中美贸易战第二波加征关税政策已经祭出
单轴偏航MEMS陀螺仪的结构及原理
吉利汽车宣布52款配置车型将集体降价
高效率四路DC/DC转换器EL7585A的特性及应用分析
AI辅助诊疗 助力提高基层医生诊断能力
智慧医疗的正确打开方式你了解吗
采用PLC和PWS系列触摸屏实现锂锰扣式电池生产线系统的软硬件设计
小波变换“变换”的是什么东西
纯电动汽车在大城市里行驶是否真的方便