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

    文章

    2864

    浏览量

    87973
  • PCIe
    +关注

    关注

    15

    文章

    1217

    浏览量

    82424

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

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

收藏 人收藏

    评论

    相关推荐

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

      PCIE(PCI express)是用来互联诸如计算机和通信平台应用中外围设备的第三代高性能I/0总线PCIE体系结构继承了第二代
    发表于 10-08 10:19 2017次阅读
    基于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

    采用Flow Control机制PCIe总线

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

    Flow Control机制可以显著地提高总线的传输效率

    收这个TLP。当PCIe设备支持多个VC(Virtual Channel)时,Flow Control机制可以显著地提高总线的传输效率。
    的头像 发表于 05-24 09:26 7111次阅读
    Flow Control<b class='flag-5'>机制</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次阅读

    全面介绍PCIe总线的基础知识

    全面介绍PCIe总线的基础知识
    发表于 12-14 11:49 0次下载

    PCIe 9110IM PCIe总线转CAN设备手册

    电子发烧友网站提供《PCIe 9110IM PCIe总线转CAN设备手册.pdf》资料免费下载
    发表于 10-17 10:59 1次下载
    <b class='flag-5'>PCIe</b> 9110IM <b class='flag-5'>PCIe</b><b class='flag-5'>总线</b>转CAN设备手册

    PCIe热插拔机制介绍

    。 为了防止意外的发生,PCIe Spec设计了一种“No Surprise”热插拔机制,即,当用户要插拔PCIe设备时,必须先通知系统软件做好准备,然后通过指示灯告知用户热插拔的状态。 二、原理详解 2.1 热插拔原理总结
    的头像 发表于 11-20 09:07 86次阅读
    <b class='flag-5'>PCIe</b>热插拔<b class='flag-5'>机制</b>介绍