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

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

3天内不再提示

PCIe总线实现了一种叫做Quality of Service(QoS)的机制

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

前面的文章中介绍过,为了保证视频音频等数据得到优先传输,PCIe总线实现了一种叫做Quality of Service(QoS)的机制。QoS可以满足视频、音频等对Latency和实时性(Isochronous)要求比较高(一般不可以被打断)的应用需求。QoS主要通过VC(Virtual Channel)和TC(Traffic Class)来实现。

VC的相关寄存器位于PCIe配置空间的扩展部分(PCIe Extended Capability Space),如下图所示:

前面的文章中介绍过,每一个VC都有独立的Buffer,某一个VC Buffer满了并不会影响其他VC的使用。但是只靠VC并不能实现QoS中的优先级的功能,这还需要TC(Traffic Class)的支持。TC的值由TLP Header中的Byte1的bit[6:4]定义,如下图所示。显然TC值的范围为0~7,值越大优先级越高,默认为0(优先级最低)。在初始化的时候,PCIe驱动程序会为每一种类型的包分配好合适的TC值(优先级)。

如果PCIe驱动程序没有找到PCIe Extended Capability Space,则认为该设备只有一个VC,即VC0。此时再为每一个TLP分配不同的TC值,显然是没有意义的。因此会默认采用TC0/VC0组合,即不支持QoS功能。换一句话说,如果某一个PCIe设备只支持一个VC(VC0),那么就没有QoS什么事了。

注:本次连载的博客只是简单地介绍QoS的功能和应用,关于QoS的详细内容,如VC仲裁,端口仲裁,实时性(Isochronous)等相关内容,还请参考PCIe Spec的相关章节。

PCIe驱动程序(配置软件)通过修改VC资源控制寄存器(VC Resource Control Register)中的TC/VC Map位来实现TC/VC Mapping。同时通过VC ID位来选择相应的VC。如下图所示:

图中的例子,TC0、TC1对应VC0,而TC2~TC4对应的是VC3。

TC/VC Mapping采用了一种灵活的机制,但是仍然需要注意以下几点:

· TC/VC Mapping是针对Link两端的端口(Ports)的;

· TC0会被自动地Map到VC0,且只能Map到VC0;

· 其他的TC可以被Map到任意的VC上;

· 一个TC一般最多只能Map到一个VC上;

· 可以有TC或者VC不被使用。

如果Link的两个端口(Ports)中,VC数量不一致,则该Link只能服从VC数量少的端口,如下图所示:

PCIe驱动程序可以通过查询扩展配置空间中的Extended VC Count来确定该端口支持的VC数量,如下图所示:

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

    关注

    30

    文章

    5027

    浏览量

    117711
  • 总线
    +关注

    关注

    10

    文章

    2704

    浏览量

    87206
  • PCIe
    +关注

    关注

    13

    文章

    1083

    浏览量

    80810

原文标题:【博文连载】PCIe扫盲——Quality of Service简介

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

收藏 人收藏

    评论

    相关推荐

    Qos看三大通信技术

    QoS(Qualityof Service,[url=]服务质量[/url])指个网络能够利用各种基础技术,为指定的[url=]网络通信[/url]提供更好的服务能力, 是网络的一种
    发表于 02-01 14:42

    一种基于FPGA和MCU的总线转换方案设计

    突出的优势,成为公认的最有前途的总线标准,广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。VME(Versa Module Eurocard)是一种通用的计算机总线,结合Mo
    发表于 06-28 08:24

    什么是PM QoS

    什么是PM QoSQoS全称叫做Quality of Service,直译过来就是“服务质量”的含义。既然它是服务质量,自然需要有两个主体对象:个服务方(servicer),
    发表于 12-27 06:38

    华为QoS原理及配置

    QoS: Quality of Service(服务质量)是指网络通信过程中,允许用户业务在丢包率、延迟、抖动和带宽等方面获得可预期的服务水平IP QoS目标:避免并管理IP网络拥塞减
    发表于 06-24 14:44 72次下载

    QoS Control in Streaming Media

    In this paper, the QoS(Quality of Service) control in streaming media is discussed
    发表于 12-12 11:56 11次下载

    无线路由器的QoS支持

    无线路由器的QoS支持  QoS的英文全称为"Quality of Service",中文名为"服务质量"。QoS是网络
    发表于 01-06 11:37 876次阅读

    路由器QoS支持

    路由器QoS支持              QoS的英文全称为"Quality of Ser
    发表于 01-08 15:14 542次阅读

    QoS是什么啊?

    QoS是什么啊? QoS(Quality of Service),中文名为"服务质量"。它是指网络提供更高优先服务的一种能力,包括专用带宽
    发表于 02-03 17:29 899次阅读

    什么是QOS

    什么是QOS   术语名称:Quality of Service statements(QOS) 术语解释:服务质量,评价传输质量和差错率的度量,通常作为衡
    发表于 02-24 10:04 969次阅读

    防火墙术语-QOS

    防火墙术语-QOS   英文原义:Quality of Service 中文释义:服务质量管理 注  解:宽带IP网络的主要关键测
    发表于 02-24 11:05 763次阅读

    网络qos技术_qos是什么

    QoS(Quality of Service)服务质量,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的
    发表于 12-19 15:59 4993次阅读

    基于汇聚数据流实现QoS

    集成服务(lntegrated Service,IntServ)是IETF针对服务质量(Quality of ServiceQoS)提出的一种
    发表于 12-12 19:01 0次下载
    基于汇聚数据流<b class='flag-5'>实现</b><b class='flag-5'>QoS</b>

    常用的QoS技术如何解决网络延迟和阻塞

    QoSQuality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制
    发表于 10-25 10:55 1049次阅读

    简单介绍GaussDB网络调度涉及的调度算法

    QoSQuality of Service)即服务质量,是一种调度控制机制,是网络设计和运维的重要技术。
    的头像 发表于 03-13 10:13 545次阅读

    服务质量QoSQuality of Service)在网络中的重要性

    QoSQuality of Service)即服务质量,在网络业务中可以通过保证传输的带宽、降低传输时延、降低数据丢包率以及时延抖动等措施来提高服务质量。QoS是一套用于管理和提高网
    的头像 发表于 03-16 09:24 792次阅读
    服务质量<b class='flag-5'>QoS</b>(<b class='flag-5'>Quality</b> of <b class='flag-5'>Service</b>)在网络中的重要性