PCIe(一)——基础知识

这篇具有很好参考价值的文章主要介绍了PCIe(一)——基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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体系中通过数据包在设备之间传递信息,数据包在事务层和链路层形成。
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总线使用的版本有关。
  带宽计算:吞吐量 = 传输数率 * 线路编码方案。文章来源地址https://www.toymoban.com/news/detail-476667.html

到了这里,关于PCIe(一)——基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PyTorch学习笔记(二):PyTorch简介与基础知识

      👨‍💻 作者简介: 大数据专业硕士在读,CSDN人工智能领域博客专家,阿里云专家博主,专注大数据与人工智能知识分享, 公众号: GoAI的学习小屋,免费分享书籍、简历、导图等资料,更有交流群分享AI和大数据,加群方式公众号回复“加群”或➡️点击链接。 🎉 专栏

    2023年04月09日
    浏览(47)
  • 51单片机的基础知识——单片机简介

    仅用于学习交流!!! 仅用于学习交流!!! 仅用于学习交流!!! 单片机,即单片微型计算器,简称为单片机。用专业术语来讲单片机就是在一块硅片上集成了微处理器、存储器以及各种输入/输出(I/O,I指的是input,O指的是output)口的芯片。通俗点讲,单片机是一块集

    2024年02月03日
    浏览(61)
  • 【STM32】基础知识 第一课 单片机简介

    单片机 (Single-Chip Microcomputer) 单品微型计算机, 是一种集成电路芯片. 电脑 vs 单片机: 电脑 单片机 CPU CPU 内存 SRAM 硬盘 Flash 主板 外设 SRAM 静态随机读取器 (Static Random-Access Memory): SRAM 是随机存储器的一种, 属于静态数据, 这类存储器要是维持电源, 里面存储的信息就可以恒常维持

    2024年02月11日
    浏览(99)
  • 【前端知识】React 基础巩固(三十一)——Redux的简介

    概念 纯函数(确定的输入一定产生确定的输出,函数在执行过程中不产生副作用): 在程序设计中,若一个函数符合以下条件,那么这个函数就被称为纯函数 此函数在相同的输入值时,需产生相同的输出 函数的输出和输入值以外的其他隐藏信息或状态无关,也和由I/O设备产

    2024年02月16日
    浏览(53)
  • 【VUE2】VUE2基础知识和原理--超详细--超简介--零基础(一)

    想让Vue工作,就必须创建一个Vue实例,且要传入一个配置对象 demo容器里的代码依然符合html规范,只不过混入了一些特殊的Vue语法 demo容器里的代码被称为【Vue模板】 Vue实例和容器是一一对应的 真实开发中只有一个Vue实例,并且会配合着组件一起使用 {{xxx}}是Vue的语法:插值

    2024年02月16日
    浏览(38)
  • HBase基础知识(一):HBase简介、HBase数据模型与基本架构

    HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。 逻辑上,HBase的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列。但从HBase的底层物理存储结构(K-V)来看,HBase更像是一个 multi-dimensionalmap 。 1.2.1HBase逻辑结构 字典序:按位比较。 下图是一张表

    2024年02月03日
    浏览(40)
  • 爬虫进阶-反爬破解1(反爬技术简介、HTTP网络基础知识、搭建代理服务)

    目录 一、反爬技术简介 二、HTTP网络基础知识 三、搭建代理服务 (一)破解Web端反爬技术 1.常见的反爬策略方向:同一时间的请求数量、请求的身份信息、浏览器和爬虫的区别 2.浏览器和爬虫的不同:异步数据加载、前端的渲染技术、逆向分析JS函数代码、浏览器调度和调试

    2024年02月10日
    浏览(99)
  • 明德扬FPGA至简设计原理与应用 第一篇 FPGA基础知识 第一章 FPGA简介

    FPGA 的全称为 Field-Programmable Gate Array, 即现场可编程门阵列。FPGA 就是一个可以“改变”内部结构的芯片,而让这个芯片来实现怎样的功能,就需要通过编程即设计HDL,经过 EDA工具编译、综合、布局布线成后转换为可烧录的文件,最终加载到 FPGA 器件中去,改变 FPGA 内部的连

    2024年01月16日
    浏览(79)
  • 快进来,带你了解FPGA基础知识---lattice莱迪斯深力科MachXO2 FPGA系列简介

    FPGA基础知识---lattice莱迪斯深力科MachXO2 LCMXO2-4000HC-4TG144I FPGA简介 FPGA基础知识:FPGA是英文Field-Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,

    2024年02月03日
    浏览(44)
  • OPC通信从入门到精通_1_OPC基础知识及简单C#程序编写(OPCDA,OPCUA简介;OPC通信数据流框架图;C#程序编写)

    OPC的诞生及历史 :软件进行开发时需要与各种不同的协议进行对接,例如Modbus协议等,当设备很多,协议很多的情况下,上位机与硬件的沟通就会变得很麻烦,所以就有了将这些协议抽象出一个标准接口,对于软件人员就无需和协议对接,只需要对接接口即可,因此OPC就诞生

    2024年02月15日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包