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

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

3天内不再提示

一个简化的PCIe总线体系结构

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

和很多的串行传输协议一样,一个完整的PCIe体系结构包括应用层、事务层(Transaction Layer)、数据链路层(Data Link Layer)和物理层(Physical Layer)。其中,应用层并不是PCIe Spec所规定的内容,完全由用户根据自己的需求进行设计,另外三层都是PCIe Spec明确规范的,并要求设计者严格遵循的。

一个简化的PCIe总线体系结构如上图所示,其中Device Core and interface to Transaction Layer就是我们常说的应用层或者软件层。这一层决定了PCIe设备的类型和基础功能,可以由硬件(如FPGA)或者软硬件协同实现。如果该设备为Endpoint,则其最多可拥有8项功能(Function),且每项功能都有一个对应的配置空间(Configuration Space)。如果该设备为Switch,则应用层需要实现包路由(Packet Routing)等相关逻辑。如果该设备为Root,则应用层需要实现虚拟的PCIe总线0(Virtual PCIe Bus 0),并代表整个PCIe总线系统与CPU通信

事务层(Transaction Layer):接收端的事务层负责事务层包(Transaction Layer Packet,TLP)的解码与校检,发送端的事务层负责TLP的创建。此外,事务层还有QoS(Quality of Service)和流量控制(Flow Control)以及Transaction Ordering等功能。

数据链路层(Data Link Layer):数据链路层负责数据链路层包(Data Link Layer Packet,DLLP)的创建,解码和校检。同时,本层还实现了Ack/Nak的应答机制。

物理层(Physical Layer):物理层负责Ordered-Set Packet的创建于解码。同时负责发送与接收所有类型的包(TLPs、DLLPs和Ordered-Sets)。当前在发送之前,还需要对包进行一些列的处理,如Byte Striping、Scramble(扰码)和Encoder(8b/10b for Gen1&Gen2, 128b/130b for Gen3& Gen4)。对应的,在接收端就需要进行相反的处理。此外,物理层还实现了链路训练(Link Training)和链路初始化(Link Initialization)的功能,这一般是通过链路训练状态机(Link Training and Status State Machine,LTSSM)来完成的。

需要注意的是,在PCIe体系结构中,事务层,数据链路层和物理层存在于每一个端口(Port)中,也就是说Switch中必然存在一个以上的这样的结构(包括事务层,数据链路层和物理层的)。一个简化的模型如下图所示:

关于事务层,数据链路层和物理层的详细的功能图标如下图所示:

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

    关注

    10

    文章

    2706

    浏览量

    87211
  • PCIe
    +关注

    关注

    13

    文章

    1083

    浏览量

    80835
  • 数据链路层
    +关注

    关注

    0

    文章

    51

    浏览量

    11943

原文标题:【博文连载】PCIe扫盲——PCIe总线体系结构入门

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

收藏 人收藏

    评论

    相关推荐

    ARM体系结构和编程

    本帖最后由 eehome 于 2013-1-5 09:47 编辑 ARM体系结构和编程
    发表于 12-04 03:35

    DDR总线体系结构

    DDR总线体系结构如下: [url=http://images.cnblogs.com/cnblogs_com/freshair_cnblog/201201
    发表于 02-11 17:23

    ARM SoC体系结构

    介绍ARM 的片上系统体系结构
    发表于 03-31 23:03

    ARM SOC体系结构

    ARMSOC 体系结构
    发表于 11-22 10:54

    浅析PCI体系结构

    PCI总线作为处理器系统的局部总线,主要目的是为了连接外部设备,而不是作为处理器的系统总线连接Cache和主存储器。但是PCI总线、系统总线
    发表于 08-06 06:02

    ARM体系结构是怎样的?

    ARM体系结构是怎样的?
    发表于 11-05 06:40

    嵌入式微处理器体系结构

    处理器DSP4、嵌入式片上系统SOC(System-on-a-Chip)三、多核处理器四、嵌入式操作系统EOS五、嵌入式实时操作系统RTOS六、嵌入式系统设计七、嵌入式系统的软件、嵌入式微处理器体系结构1、冯诺依曼体系结构(1
    发表于 11-08 06:57

    Microarchitecture指令集体系结构

    第二章 ARM微处理器概述与编程模型ARM体系结构及其发展历史处理器的体系结构处理器微架构 Microarchitecture指令集体系结构 Architecture几种常见的指令集X86Inter
    发表于 12-14 07:13

    了解体系结构 - 介绍 Arm 体系结构

    。该体系结构为软件开发人员公开了通用的指令集和工作流程,也称为程序员模型。这有助于确保架构的不同实现之间的互操作性,以便软件可以在不同的 Arm 设备上运行。本指南为任何对此感兴趣的人介绍了 Arm
    发表于 08-01 14:35

    ARM体系结构标准配置

    ARM体系结构包含大量功能,这些功能被描述为可选或定义的实施。来自平台操作系统供应商的反馈表明这种可变性对于系统代码的开发人员来说是实质性的问题,由于操作系统必须满足各种不同的系统配置,导致开发
    发表于 08-08 07:40

    Armv9-A体系结构参考手册

    本增补件是Armv9-A体系结构的Arm®体系结构参考手册增补件轮廓本书介绍了Armv9-A体系结构扩展,因此必须与Arm®体系结构参考手册
    发表于 08-08 07:07

    Arm的DRTM体系结构规范

    本规范定义了基于Arm A配置文件体系结构的处理器的动态测量信任根(DRTM)体系结构。本规范基于TCG D-RTM体系结构[4]的概念,但作为
    发表于 08-08 07:45

    ARM体系结构与编程

    ARM体系结构与编程
    发表于 02-11 09:35 160次下载
    ARM<b class='flag-5'>体系结构</b>与编程

    基于现场总线的软件化开放式CNC体系结构

    摘要:将现场总线引入控制系统的硬件体系结构,使每个外部设备都成为现场总线通信网络中的一个节点,构成基于现场总线的数控系统,使硬件安装和扩展方便,提高了系统的
    发表于 03-05 09:41 15次下载

    LTE体系结构

    LTE体系结构 LTE体系结构可以借助SAE 体系结构来做详细描述。在SAE 体系结构中,RNC部分功能、GGSN、SGSN 节点将被融合为一个新的节点,
    发表于 06-16 13:09 9588次阅读