PCIE基础概念(一)
1:PCIe的概念
PCIe是一种全双工,差分,端对端,串行告诉接口协议,PCI是并行处理的机制,差分可以提高传输的稳定性,全双工意味着发送端在发送的同时,也可以接收,问题在于串行会比并行处理快吗?当然不一定,这和系统时钟有关系对吧,假如在同一时钟下呢,好像并行会更快,但是PCIe中存在lane的概念,可以使用多条lane来弥补串行传输的缺陷,比如常见的PCIe2.0 X6表示PCIe第二代使用6lane。
2:PCIe拓扑结构
PCIe协议都是遵循端到端的互联的,假设CPU想要访问内存,CPU需要通过RC访问到memory,switch的出现是为了挂载更多的外设,处理更多的事务,RC可以将CPU的请求转换成PCIe的四种类型(IO Configration Memory Message)
3:PCIe的层结构
PCIe协议中包括事务层,数据链路层和物理层,
事务层:主要职责是创建(发送)或者解析(接收)TLP,流量控制,Qos,事务排序(Transcation ordering)等;
数据链路层:主要职责是创建(发送)或者解析(接收)DLLP,ack/nak协议(链路层检错和纠错),流控,电源管理等;
物理层:主要职责是处理所有的Packet数据物理传输,发送端数据分发到各个lane传输(stripe),接收端把各个lane上的数据汇总起来(De_stripe),每个lane上加扰(sramble)目的是让0和1分布均匀,去除信道的电磁干扰EMI,去扰(De-scramble),以及8/10或者128/130编码解码,等等。
流程可以简述为:应用层提出一个需求(data),将数据打包(packet)发送给设备A的事务层(TLP),然后将TLP扩充为DLLP发送给设备A的数据链路层,最后扩充为PLP发送到设备A的物理层,然后发送到设备B的物理层,将其解包变成DLLP,然后发送至设备B的数据链路层,最后解包变成TLP发送至设备B的事务层。
4:专业术语解析