0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PCIe总线的通信机制

SwM2_ChinaAET 来源:未知 作者:李倩 2018-04-24 09:41 次阅读

在介绍事务层之前,首先简单地了解一下PCIe总线的通信机制。假设某个设备要对另一个设备进行读取数据的操作,首先这个设备(称之为Requester)需要向另一个设备发送一个Request,然后另一个设备(称之为Completer)通过Completion Packet返回数据或者错误信息。在PCIe Spec中,规定了四种类型的请求(Request):Memory、IO、Configuration和Messages。其中,前三种都是从PCI/PCI-X总线中继承过来的,第四种Messages是PCIe新增加的类型。

详细的信息如下表所示:

从表中我们可以发现,只有Memory Write和Message是Posted类型的,其他的都是Non-Posted类型的。所谓Non-posted,就是Requester发送了一个包含Request的包之后,必须要得到一个包含Completion的包的应答,这次传输才算结束,否则会进行等待。所谓Posted,就是Requester的请求并不需要Completer通过发送包含Completion的包进行应答,当然也就不需要进行等待了。很显然,Posted类型的操作对总线的利用率(效率)要远高于Non-Posted型。

那么为什么要分为Non-Posted和Posted两种类型呢?对于Memory Writes来说,对效率要求较高,因此采用了Posted的方式。但是这并不意味着Posted类型的操作不需要Completer进行应答,只是此时Completer采用了另一种应答机制——Ack/Nak的机制。

PCIe的TLP包共有一下几种类型:

TLP传输的示意图如下图所示:

TLP在整个PCIe包结构的位置如以下两张图所示:(第一张为发送端,第二张为接收端)

其中,TLP包的结构图如下图所示:

图中的TLP Digest即ECRC(End-to-End CRC),是可选项。此外,TLP的长度(包括其中的Header、Data和ECRC)是以DW(双字,即四个字节)为单位的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 总线
    +关注

    关注

    10

    文章

    2692

    浏览量

    87141
  • PCIe
    +关注

    关注

    13

    文章

    1078

    浏览量

    80694

原文标题:【博文连载】PCIe扫盲——PCIe总线事务层入门(一)

文章出处:【微信号:ChinaAET,微信公众号:电子技术应用ChinaAET】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于FPGA的PCIE总线扩展卡的设计

      PCIE(PCI express)是用来互联诸如计算机和通信平台应用中外围设备的第三代高性能I/0总线PCIE体系结构继承了第二代
    发表于 10-08 10:19 1906次阅读
    基于FPGA的<b class='flag-5'>PCIE</b><b class='flag-5'>总线</b>扩展卡的设计

    PCIE-1553B板卡 MIL-STD-1553B总线接口卡 PCIe 1553B通信模块

    总线接口PCIe
    光达航电科技
    发布于 :2023年04月10日 12:26:53

    PCIE总线基本资料

    本帖最后由 eehome 于 2013-1-5 10:11 编辑 PCIE总线基本资料
    发表于 08-06 10:47

    PCIE总线的FPGA设计方法

    `PCIE总线的FPGA设计方法`
    发表于 10-30 14:30

    PCIe总线的复位方式是什么?

    PCIe总线规定了两个复位方式:conventional Reset和FLR(FunctionLevel Reset),而Conventional Reset由进一步分为两大类:Fundamental Reset和Non-Fundamental Reset。
    发表于 10-16 08:19

    如何利用PCIe DMA总线实现一个基于FPGA的PCIe 8位数据采集卡?

    PCIe总线通信过程是怎样的?是什么原理?如何利用PCIe DMA总线实现一个基于FPGA的PCIe
    发表于 09-17 07:16

    PCIe总线和PCI总线有哪些不同之处呢

    PCIe是什么?PCIe的架构是由哪些部分组成的?PCIe总线和PCI总线有哪些不同之处呢?
    发表于 10-26 08:10

    can总线的可靠通信是依靠什么机制来实现的?

    can总线的可靠通信是依靠什么机制来实现的?
    发表于 05-09 10:35

    PCIE总线基本资料

    PCIE总线基本资料 与PCI总线不同,PCIe总线使用端到端的连接方式,在一条PCIe链路的两
    发表于 05-10 14:45 0次下载

    基于PCIE总线的多DSP系统接口设计

    开发了多DSP雷达信号处理板卡。对DSP互连、DSP与FPGA通信以及基于Xilinx FPGA的PCIE总线进行设计。系统可扩展性好、效率高。用DriverStudio开发了WDM总线
    发表于 05-28 17:40 75次下载
    基于<b class='flag-5'>PCIE</b><b class='flag-5'>总线</b>的多DSP系统接口设计

    进一步提升PCIe总线通信速度的方法

    随着大数据中心、云计算服务的不断增长,对于系统性能、功能和带宽的要求也是越来越高,同时也驱动通信总线技术不断取得新的进步。由英特尔提出的第三代高性能I/O总线技术—PCIE
    的头像 发表于 06-30 05:40 5101次阅读
    进一步提升<b class='flag-5'>PCIe</b><b class='flag-5'>总线</b><b class='flag-5'>通信</b>速度的方法

    PCIE总线的多DSP系统接口设计

    PCIE总线的多DSP系统接口设计
    发表于 10-31 10:42 23次下载
    <b class='flag-5'>PCIE</b><b class='flag-5'>总线</b>的多DSP系统接口设计

    采用Flow Control机制PCIe总线

    PCIe总线为了解决这一问题,提出了Flow Control的概念,如下图所示。PCIe总线中要求接收方必须经常(在特定时间)向发送方报告其VC Buffer的使用情况。而报告的方式是
    的头像 发表于 04-26 08:54 5409次阅读
    采用Flow Control<b class='flag-5'>机制</b>的<b class='flag-5'>PCIe</b><b class='flag-5'>总线</b>

    PCIe扫盲—PCIe错误检测机制的详细资料概述

    PCIe总线错误检测囊括了链路(Link)上的错误以及包传递过程中的错误,如下图所示。用户设计的应用程序层中的错误不属于链路传输中的错误,不应当通过PCIe的错误检测与处理机制处理,一
    的头像 发表于 08-18 11:05 1.5w次阅读

    PCIe总线的热插拔机制

    当然,热插拔不仅仅是硬件的事,其需要软硬件协同实现。要想实现热插拔功能,操作系统、主板热插拔驱动器、PCIe卡设备驱动以及PCIe卡硬件功能都必须支持热插拔,缺一不可。从PCIe卡设备硬件功能的角度来看,其需要支持Quiesce
    的头像 发表于 09-06 09:20 2w次阅读