栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

PCIe控制器——数据报文TLP

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PCIe控制器——数据报文TLP

一、报文概述

PCIe采用串行连接方式,并使用数据报文(TLP)的形式进行数据传输。

1.1 报文类型

PCIe的传输事务按内容类型分可以分为Memory读写、IO读写、配置读写和消息,体现在TLP报文中则比较细节,有存储器读、写请求,配置读、写请求,完成报文,消息报文等等。

1.2 报文的构建

数据报文发送时在核心层中产生,经过设备的事务层、数据链路层和物理层,最终发送出去;接收时则相反。
实际上一个完整的TLP包由多个字段组成,并且这些字段分别由三个层次各自构建,最后经过物理层形成最终的TLP。

二、TLP格式

TLP根据其类型不同,Data段的宽度是不一样的,但是Header段的低32bit字段都是一样的

2.1 Header的低32bit

    Type和Fmt

    TC
    该字段表示当前TLP的传送类型。
    PCIe定义了8种传送类型,分别是TC0~TC7,值越大优先级越高,默认为0(优先级最低),PCIe设备通过调整发出的TLP的TC字段,可以调整TLP使用的VC从而调整TLP的优先级。在初始化的时候,PCIe驱动程序会为每一种类型的包分配好合适的TC值(优先级)。
    该字段可能与与PCIe的QoS有关,如果PCIe驱动程序没有找到PCIe Extended Capability Space,则认为该设备只有一个VC,即VC0。此时再为每一个TLP分配不同的TC值,显然是没有意义的。因此会默认采用TC0/VC0组合,即不支持QoS功能。
    大多EP设备只含有一个VC0,某些实时性要求较高的EP中,含有可以设置TC字段的寄存器(存在于设备的扩展配置空间中);而通常处理器的系统的RC仅支持一个VC通路,此时EP使用不同TC传输的意义不大

2.2 完成报文的Header其他字段

    status
三、报文的路由方式

地址路由
根据报文的地址来决定方向,适用于Memory读写和IO读写ID路由
根据根据报文中的Target ID与自身的Device ID判断是否访问自己,适用于配置读写,完成报文

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/711990.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号