1 PCIe简介

  PCI Express (peripheral component interconnect express) 简称 PCIe,是一种高速串行计算机扩展总线标准。是一种全双工总线,使用高速串行传送方式,能够支持更高的频率,连接的设备不再像 PCI 总线那样共享总线带宽。PCIe目前发布了4个版本——PCIe1.0、PCIe2.0、PCIe3.0、PCIe4.0
  PCIe 总线在实际工程实践中得到了良好的应用,主要应用在光纤、PCIe 数据采集卡、FPGA 加速卡、存储子系统等所有需要和主机进行高速数据交互的场所。

2 PCIe总线架构

  PCIe总线结构复杂,这里只做简单介绍。
  PCIe架构与以太网的OSI模型类似,是一种分层架构。分为事务层(Transaction Layer)、数据链路层(Data Link Layer)和物理层(Physical Layer)。这些层的每一部分都分为两部分:一部分处理出站(要发送的)信息,另一部分处理入站(接收的)信息。
  PCIe体系中通过数据包在设备之间传递信息,数据包在事务层和链路层形成。

事务层

  事务层主要责任是事务层包TLP(Transaction Layer Packet)的组装和拆卸。事务层接收来自PCIe设备核心层的数据,并将其封装为TLP。TLP负责传达事务。
  负责读取和写入以及确定时间的类型。
  负责管理TLP的基于信用的流控制。
  每个数据包都有一个唯一标识符,该标识符使响应数据包可以定向到数据的发起者。
  支持不同的寻址方式,具体取决于事务类型(内存、IO、配置和消息)。
  数据包可能还具有诸如 No Snoop、Relaxed Ordering 和基于 ID 的排序(IDO)之类的属性。
  支持四个地址空间:包括三个PCI地址空间内存、IO、配置)并添加消息空间。该规范使用消息空间来支持所有先前 PCI 的边带信号,例如中断、电源管理请求等,作为带内消息事务。

数据链路层

  数据链路层充当事务层和物理层之间的中间阶段。主要负责链路管理和数据完整性。包括错误检测和数据纠正。
  数据链路层的发送方接收事务层组装的TLP,计算并应用数据保护代码和TLP序列号,以及将他们提交给物理层以在链路上传输。
  数据链路层的接收方负责检测接收到TLP的完整性,并将他们提交给事务层进一步处理。
  检测到错误时,此层负责请求重发TLP,直到接收到正确信息或者确定链路失败为止。
  为了和数据层数据包区分开,当指链路层数据包时,将称为“链路层数据包(DLLP)”

物理层

  PCIe总线的物理层为PCIe设备之间的数据通讯提供介质,为数据传送提供可靠的物理环境。包括用于接口操作的所有电路、驱动器和输入缓冲器、串并转换、PLL和阻抗匹配。还包括接口初始化和维护有关的逻辑功能。
  物理层以实现特定的格式与数据链路层交换信息。将链路层接收的信息转化为适当的序列化格式,并以与连接到链路另一端的设备兼容的频率和通道宽度在PCIe链路上传输该信息。
  物理层是PCIe体系中最重要也是最难实现的部分。PCIe总线的物理层定义了LTSSM (Link Training and Status State Machine)状态机。PCIe链路使用该状态机管理链路状态,并进行链路训练、链路回复和电源管理。
  PCIe总线使用端到端的连接方式,在PCIe链路的两端只能各连接一个设备。这两个设备互为数据发送端和数据接收端。
  在PCIe总线的物理链路的一个通路中(Lane),有两组差分信号。其中发送端的TX和接收端的RX使用一组差分信号连接,该链路被称为发送端的发送链路,也是接收端的接收链路;发送端的RX和接收端的TX使用另一组差分信号连接,该链路被称为发送端的接收链路。一个PCIe可以由多个Lane组成。
  目前PCIe链路支持1、2、4、8、16、32个Lane。即x1、x2、x4等宽度的PCIe链路。每个lane上使用的总线频率与PCIe总线使用的版本有关。
  带宽计算:吞吐量 = 传输数率 * 线路编码方案。

PCIe(一)——基础知识相关推荐

  1. pcie总线基础知识

    PCIe总线概述 随着现代处理器技术的发展,在互连领域中,使用高速差分总线替代并行总线是大势所趋.与单端并行信号相比,高速差分信号可以使用更高的时钟频率,从而使用更少的信号线,完成之前需要许多单端并行 ...

  2. LabVIEW FPGA PCIe开发讲解-7.1节:FPGA PCIe/PXIe基础知识和概念概述

    1.提到PCIe总线通信,相信很多接触过PCIe或PXIe板卡的用户估计都有所了解过,相对于传统的串口.USB和千兆以太网通信协议,PCIe协议本身可以实现更高数量级的总线通信带宽,比如目前Xilin ...

  3. PCIE操作基础原理

    根据百度百科的解释,PCIE(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,它原来的名称为"3GIO",是由 ...

  4. pcie总线协议入门基础知识

    1. PCIe基础知识 PCI-Express是一种高速串行计算机扩展总线标准,它原来的名称为"3GIO",是由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线 ...

  5. PCIe基础知识及Xilinx相关IP核介绍

    补发以下以前学习PCIe总结的知识. PCIe学习笔记系列: PCIe基础知识及Xilinx相关IP核介绍 概念了解:简单学习PCIe的数据链路与拓扑结构,另外看看有什么相关的IP核. [PG054] ...

  6. PCIe总线的基础知识

    PCIe总线的基础知识 与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端.PCIe总线除了总线链路外,还具有多个层 ...

  7. 重磅:服务器基础知识全解终极版(145页PPT)

    重磅:服务器基础知识全解终极版(145页PPT) 2020-12-26   阅 1  转 19 终极版来啦,本文内容共145页PPT干货,针对历史发布内容在CPU.内存.GPU.硬盘.网卡等9个章节做 ...

  8. 计算机硬件基础知识微盘,第1章 电脑硬件基础知识.pdf

    第1章 电脑硬件基础知识 企业级的 DIY与个人用户有所不同:它要求专业人员对硬件的了解更多,在 DIY过程中, 应该知晓每一种硬件的技术参数在实际工作中的应用价值:本章重点介绍电脑主机设备的主流 和 ...

  9. 计算机的基础知识(一)

    1.计算的两大组件:硬件和软件 1.1计算机的基础硬件:CPU.内存.硬盘.声卡.网卡.显卡.电源.主板.风扇 1.2计算机的四大时代:机械时代.电子管时代.晶体管时代.半导体集成电路时代 1.3软件 ...

  10. Serdes基础知识汇总

    Serdes基础知识汇总 从知乎https://zhuanlan.zhihu.com/p/423321485转载 在开始了解高速接口的时候,必然会涉及到SerDes.serdes的知识点实际上非常多, ...

最新文章

  1. Windows 7新睹为快!!
  2. STM32F0库函数初始化系列:PWM输出
  3. PL/SQL Developer 和 instantclient客户端快速安装配置(图文)
  4. 问卷星作答能不能检测到屏幕共享_云端检测,别样精彩——大厂回族自治县王必屯中心小学线上期末检测纪实...
  5. AI算法连载21:统计之概率图模型
  6. 04-新拟物单选按钮样式
  7. Java IO流基础
  8. linux中把程序启到前台,Linux程序前台后台切换
  9. Hibernate框架检索策略
  10. 订单超时、定时任务解决方案和思路
  11. 可以进行论文降重吗?
  12. 曼哈顿算法公式_距离计算方法总结
  13. 《宝塔面板教程6》:如何修改用户名和密码
  14. bitcode 是什么_dictate什么意思
  15. 支付宝CTO李静明:打造严谨的互联网研发文化
  16. 【本科课程】数电复习题
  17. spring注解及扩展
  18. Python爬取安居客经纪人信息
  19. (转载)比较流行的手机开发平台综述
  20. pycharm使用超级鹰无输出结果/尝试新的跨平台问题

热门文章

  1. android多行注释快捷键,AndroidStudio 常用快捷键
  2. PCL最小二乘法拟合平面
  3. 2021年塔式起重机司机考试题及塔式起重机司机考试题库
  4. 021 矩阵相似性质
  5. java excel模板 下载_Java从服务端下载Excel模板文件
  6. 西门子官方资料库地址集
  7. 今天是2011年5月26日
  8. 【二】2D测量 Metrology——apply_metrology_model()算子
  9. 【kail】使用Ettercap抓取用户名和密码
  10. 各取所需:Microsoft Windows XP with sp3 十五种语言的MSDN原版光盘镜像