接触PCIe的重要性
- 常见芯片可分为CPU/SOC/AI Chip/GPU/GPGPU/DPU/Network/ASIC
- CPU都需要外出PCIE接口
- CPU主板通过PCIE插槽链接其他PCIE设备
- 插槽/金手指为硬件实现形态
- UCIe Chiplet高速互联标准:Chiplet被看作是延续摩尔定律的重要途径,通过将复杂芯片的不同功能分区制作成单独芯片,再使用先进封装,将这些不同工艺节点和不同材质的芯片组合在一起,形成一个系统芯片,突破传统SoC制造面临的诸多挑战(光罩规模极限和功能极限等),大幅降低设计生产成本;UCIe作为Chiplet互联标准,PCIe成为不同芯片间互联的接口协议。
- 总结:常见芯片基本都实现PCIe接口(PCIe作为芯片间互联接口;CPU连接其它PCIe设备;其他PCIe设备需要CPU调度才能工作);新技术沿用PCIe,在PCIe基础之上推出其它应用;PCIe不能正常工作,芯片视为石头;PCIe在芯片内部是非常重要的一个大的模块。
什么是PCIe
- 通常解释:
- 高速串行总线;
- 更低的I/O引脚数量/更小的物理尺寸
- 不同视角看PCIe:
- PCIe连接两个芯片;
- 高速公路为例研究PCIe
- 研究主题高速公路
- 北京到上海高速公路,确保高速公路存在并且畅通
- 高速公路要有保证
- PCIe负责两个芯片通信,连接芯片的通路为高速SerDes,称之为链路。
- PCIe确保通路正常-链路训练状态机
- 北京到上海发送的货物,不能再高速公路上丢失
- PCIe芯片A与芯片B,发送的信息,不能在PCIe链路上丢失
- Ack/Nak
- PCIe通过重传机制
- 高速公路允许通行小汽车/货车,不允许通行自行车/电动车。
- PCIe可传输的信息称之为包<mem/io/cfg/Message>
- PCIe需要硬件实现的规格特性规定为PCIe协议。
- PCIe协议-PCIe实现的规范要求。
- PCIe实现
- 分层思想
- 应用层
- 事物层
- 链路层
- 物理层
- PCIe拓扑结构
- Root Complex
- RC为CPU代言,与整个计算机系统其他部分通讯
- 如CPU通过RC访问内存,访问PCIe系统中的设备
- Switch
- 可以拓展PCIe,CPU一个PCIe端口,如何连接多个PCIe设备 -> switch
- Endpoint
- 设备<GPU/网卡/固态硬盘/AI Chip/…>
- Root Complex
- 分层思想
- PCIe标准
- PCIe标准从PCIe1.0现在发展到PCIe7.0,各代的变化主要在于链路速率的提升
- 每代都是向下兼容
- 现在市场PCIe4.0设备才普及,PCIe5.0逐渐有产品推出
- PCIe主要变化于物理层
PCIe版本 | 编码 | 速率 | 信号 |
---|---|---|---|
1.0 | 8b/10b | 2.5 GT/s | NRZ |
2.0 | 8b/10b | 5.0 GT/s | NRZ |
3.0 | 128b/130b | 8.0 GT/s | NRZ |
4.0 | 128b/130b | 16.0 GT/s | NRZ |
5.0 | 128b/130b | 32.0 GT/s | NRZ |
6.0 | 1b/1b | 64.0 GT/s | PAM4 |
7.0 | 1b/1b | 128.0 GT/s | PAM4 |
PCIe入门难点
- PCIe资料少
- PCIe Spec:PCI_Express_Base_5
- MindShare-PCIe3
- 无可用真实PCIe项目上手实战
- PCIe IP昂贵
- 不像AXI接口,可自己构建系统学习
- 协议规定与实际实现存在差别
- 协议仅规范
- 真实实现仅是满足规范,但是实现方法策略协议未规定
- 了解PCIe协议并不意味能在实际项目中干活
- 了解协议仅是前提条件
- PCIe协议将PCIe分为三层TL/DL/PL,即事物层、链路层、物理层
- 设计实现中将PCIe分为Controller/PHY两部分
- Controller为数字电路
- PHY存在数字和模拟两部分
- Controller/PHY通过标准的PIPE接口(Digital IP to PHY Interface)连接
- PIPE标准的接口,Controller可以与不同厂商的PHY连接
- PCIe验证聚焦于Controller,PHY用模型替代。
ps: 本贴仅是学习贴,学自移知