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

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

3天内不再提示

一些关于TLP路由的基础知识

SwM2_ChinaAET 来源:未知 作者:李倩 2018-05-11 09:35 次阅读

首先来分析一个例子,如下图所示:

当包(Packet)到达Switch的输入端口(Ingress Port)时,端口首先会检查包是否有错误,然后根据包的路由(Routing)信息,来做出以下三种处理方式之一:

1、 接受这个包,并自己(Switch)使用它(Internal Use);

2、 将其通过响应的输出端口(Egress Port)转发到下一级Endpoint(或者下一级Switch);

3、 拒绝接受这个包。

在前面的文章中多次介绍过,PCIe总线中一共有三种类型的包:Ordered Sets(命令集包,只在相邻的设备的物理层之间进行传递,不会被转发到其他的设备中)、DLLPs(数据链路层包,只在相邻的设备的数据链路层之间进行传递,不会被转发到其他设备中)和TLPs(事务层包,可以根据包中的路由信息被转发到其他的设备中)。

注:实际上不论是TLPs还是DLLPs都会经过物理层,这里说的TLP和DLLP指的是包的最初来源分别是事务层和数据链路层,即DLLP和上一层的事务层没有什么关系,其内容和作用完全是由数据链路层自己决定的。

注:Endpoint不仅可以发送TLP给其上层的设备(如Root),也可以发送TLP给其他的Endpoint,当然这需要借助Switch来实现。这种传输方式叫做Peer-to-Peer。

TLP一共有三种路由方式,分别是ID路由(ID Routing,即BDF Routing)、地址路由(Address Routing,包括Memory和IO)以及模糊路由(Implicitly Routing)。本文将简单介绍一些关于TLP路由的基础知识,具体的路由方式将会在接下来的三篇文章中依次进行介绍。

具体采用哪一种路由方式是由TLP的类型所决定的,如下表所示:

注:AtomicOp是PCIe Spec V2.1新增的内容,有兴趣的可以自行阅读V2.1的相关内容。

注:一般情况下,Message都是使用模糊路由(Implicitly Routing)的,但是也有PCIe设备厂商自定义的Message会使用地址路由或者ID路由。

可能有的人要有疑惑了,既然Message可以使用地址路由或者ID路由,为什么还要单独搞出来一个模糊路由呢?原因很简单,使用模糊路由可以广播Message到每一个设备,采用其他的路由方式必须明确指定是哪一个设备。

那么PCIe中是如何来判断TLP的类型的呢?又是如何判断其为Request还是Completion的呢?实际上是通过TLP Header的Format和Type部分来确定的,如下图所示:

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

    关注

    10

    文章

    2704

    浏览量

    87206
  • PCIe
    +关注

    关注

    13

    文章

    1083

    浏览量

    80822
  • TLP
    TLP
    +关注

    关注

    0

    文章

    30

    浏览量

    15515

原文标题:【博文连载】PCIe扫盲——TLP路由(Routing)基础

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

收藏 人收藏

    评论

    相关推荐

    关于电脑的一些基础知识

    关于电脑的一些基础知识
    发表于 05-30 16:27

    有关电脑的一些基础知识

    有关电脑的一些基础知识
    发表于 05-30 16:28

    关于protel的一些基础知识

    关于protel的一些基础知识
    发表于 05-31 09:16

    关于protel的一些基础知识

    关于protel的一些基础知识
    发表于 05-31 09:56

    一些关于电脑的相关知识

    一些关于电脑的相关知识
    发表于 06-01 16:24

    关于51的一些知识

    关于51单片机一些知识.
    发表于 08-11 16:36

    夯实地基:关于AVR的一些基础知识(硬件&软件)

    一些关于最近学习AVR硬件、软件的基础知识。希望对刚刚准备学习AVR单片机的朋友提供一些帮助。在自己后期学习AVR过程中还会上传一些资料。希
    发表于 11-09 16:25

    pwm的一些基础知识和应用小程序

    自己总结的一些pwm的基础知识,和大家分享
    发表于 03-25 15:50

    整理的一些模拟电路教程和基础知识分享

    整理的一些模拟电路教程和基础知识推荐课程:张飞硬件电路P1训练营(1-5部)http://t.elecfans.com/topic/33.html?elecfans_trackid=bbs_post
    发表于 03-27 16:41

    模拟电路教程和一些模电基础知识

    里面包含模拟电路教程和一些模电基础知识
    发表于 04-04 10:38

    关于电容的一些基础知识都在这里

    关于电容的一些基础知识都在这里
    发表于 04-23 07:12

    分享一些嵌入式方面的基础知识

    同时更关键的是为了补齐一些嵌入式方面的基础知识,做如下笔记,持续记录:1.嵌入式系统基础知识(1) 嵌入式系统组成嵌入式系统是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能
    发表于 11-08 07:41

    介绍嵌入式系统的一些基础知识

    本文主要介绍嵌入式系统的一些基础知识,希望对各位有帮助。嵌入式系统基础1、嵌入式系统的定义(1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体...
    发表于 12-21 07:32

    路由基础知识

    路由基础知识 一、路由器配置途径 可以通过以下几个途径来配置路由器:
    发表于 08-01 11:37 834次阅读

    路由器常用基础知识总结

    路由器常用基础知识总结路由器常用基础知识总结路由器常用基础知识总结
    发表于 10-30 18:08 0次下载