【SOC】SoC架构系统总线的QoS管理——QoS generator

news2024/9/23 18:32:51

#工具文档理解#

QoS——Quality of Service

目录

一、概念

Master对于Latency的敏感性

流量控制和事务级概念

Splitting

Pending order IDs

数据包创建和传输的QoS

序列化


一、概念

这一部分描述了QoS机制如何平衡不同发起者的流量访问,以适应互连的有限可用资源。合理组织互连资源,如缓冲区、连线、NIU(网络接口单元)上下文等,通常会提高整体系统性能,并使满足个别流量的QoS要求变得更容易。

Master对于Latency的敏感性

将Master端分为三种类型:

  1. 实时性或延时关键性 :由时钟源进行采样的initiator,对延迟非常的敏感,如果超过缓冲的容量,那么传输就会fail。
    例:调制解调器的帧,Video的线频场频发生器是对延迟极其关键的初始端,视频显示的流量通常使用一般的视频线进行缓冲,有几微秒的容忍度,视频解码器可以缓冲好几个帧,所以可以容忍长达数百毫秒的延迟。
  2. 延时敏感的:在这一组中的master由于延迟会导致较低的性能
    例:单线程CPU是对延迟敏感的master,硬件多线程以及推测性的访问会屏蔽掉他们的敏感性。
  3. 最佳性能:对延时不敏感的,可以容忍其他master造成的delay。

流量控制和事务级概念

    QoS受到流量交互和访问共同下游目的地的竞争的影响。
    NoC技术包括多个特性,如burst的切分,限制挂起事务的数量等来防止master垄断共享资源。

Splitting

  切分可以提高QoS因为当initiator发出长写请求数据包或者长读响应数据包时,切分会减少多路复用时间,当数据包被一个仲裁器选择时,其他多路复用器的输入就会被保留,等待下一个仲裁周期。因此,如果不进行分割,其他initiator的QoS就会降低。

Pending order IDs

具有相同ID值的事务必须按照其请求的顺序进行响应,initiator NIU必须在收到响应之后根据请求重新关联它们,这就需要一个挂起事务的页表,其中链表指向具有相同ID的先前挂起事务的上下文,支持大量的挂起ID在逻辑延迟和面积上的花销是巨大的,一般情况下,建议将initiator端NIU配置为支持不超过所需挂起顺序ID的数量,以避免限制所连接的IP的性能。

数据包创建和传输的QoS

    一旦NIU处理了事务,产生的数据包通过FlexNoc传输拓扑由多路复用器路由,并在多路复用器上进行仲裁。

    并发性
    并发性是互联的一种属性,它允许多个访问同时发生,并发的级别取决于互连拓扑的类型。
    下面是一个2x2的共享总线拓扑和交叉开关拓扑
 
    在互联A中,initiator会仲裁访问目标的总线时间,并发的访问是不可能的。在具有来自多个initiator的高累计吞吐量的系统中,总线共享会导致限制性能的瓶颈。还要注意在互联A中,如果通过共享链路的流量被阻止向下游前进,那么其他需要通过共享链路的流量也会被阻断,因此,通过共享链路的流量之间存在很强的耦合效应,无论是在带宽上还是在流量控制上。
    在互联B中,initiator根据每个目标仲裁访问,多个initiator可以并发访问多个目标,因为并发访问消除了瓶颈,因此全交叉是理想的NoC拓扑,可以满足发起者的QoS
要求。
    然而,QoS必须与芯片物理实现的实用性相平衡,由于多路复用器逻辑和布线的数量随initiator和target数量而变化,对于大量的initiator或target,crossbar的资源花销太大,相比之下,共享总线拓扑的成本就比较低。
    多路复用级别
    通过互连传输的事务可以在多个级别上进行多路复用,多路复用的级别会影响每个事务的可用吞吐量,从而影响到QoS
    仲裁多路复用器和解路复用路由器在互联中的位置称为拓扑,如串行化、时钟速率、缓冲等。
    在下图中,两个拓扑(A和B)都有上游的源,在多路复用器符号的左边,这些源要经过仲裁才能访问右边的下游目的地。


在图中,A有个单级多路复用,因此所有源都获得了吞吐量的三分之一,拓扑B有两级多路复用,假设连续请求和所有仲裁的优先级相同,:
    两个源在第一级多路复用器进行仲裁时接收1/4的可用吞吐量。
    在第二级多路复用器仲裁的源获得更大的吞吐量,吞吐量的一半,提供给源的吞吐量变化随着源数量的增加而增加
    由于流量可以在每一级多路复用上被阻塞,因此最初沿着多路复用器树进一步争夺仲裁的源具有较低的平均延迟。
    多级多路复用不需要比单个多路复用器更多的逻辑面积或延迟,因此引入多级多路复用是分配吞吐量和将延迟分配给不同源的有效方法。

序列化

    序列化包括配置物理链路的字节宽度和用于携带包头部信息的时钟周期的数量,可以在NoC拓扑中的任何位置进行配置序列化。
    序列化策略
    为了降低逻辑和布线成本,序列化可以低带宽链路上窄化,但是窄序列化会导致头部开销损失,并且需要更多的数据传输周期,从而增加延迟。当延迟很严重并且完成数据传输所需的周期数很大时,更宽的序列化可以产生更好的QoS,在某些情况下,与第一个数据字并行传输报头可以减少一个时钟周期的延迟,但代价是额外的物理资源,当数据包中的字数与总事务相比很小时,序列化对延迟的影响可以忽略不计,因此,应该只根据需要配置序列化,以提供所需的带宽。

    序列化例子
下图是对一个8个字的传输的两种序列化的配置,


    配置A,它由一个周期的报头和四个周期的数据双字组成,一共需要5个周期来传输数据包。
    配置B,使用窄序列化,包含了两个周期的报头和9个数据字组成,一个需要10个时钟周期传输完成,是配置A的双倍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1982058.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

都2024年了,SQL语句还需要手写吗?

前言 在当今的AI时代,数据库管理和SQL开发已不再是单调的编码过程。借助AI的智能化工具,数据库操作变得更加简洁高效,错误率也大大降低。特别是当AI与强大的数据库管理工具Navicat相结合时,开发者可以更加专注于数据的分析和应用…

home assistant 接入国家电网

一、安装加载项 在 配置 - 加载项 File editorAdvanced SSH & Web Terminal 二、安装state_grid 上传压缩包 在 File editor中,进入 homeassistant - custom_components 文件夹中,点击上传文件。 文件下载路径 https://download.csdn.net/downl…

密码学基础-身份认证

密码学基础-身份认证 概述 书信的亲笔签名;公文、证书的印章起到了核准、认证的功能。 如前文密码学基础-数据加密所述,信息安全少不了身份认证的话题。只有认证了信息的来源,我们才能知道这条信息是否是正确的,合法的&#xff…

如何让贵人一直帮你?

如果有贵人提携了你一把,牢记一定要抱住大腿。 如果一个段位比你高很多的贵人帮了你一个忙,他什么都不缺,他缺的也不是你这个层次的人能够给的了的,但你千万不要以为这个事儿就翻篇儿了。牢记一招,每隔半年给他汇报一下…

超声波眼镜清洗机有用吗?品质上等的超声波清洗机评选

超声波眼镜清洗机有用吗?眼镜是我们日常生活中不可或缺的配件,其卫生状况对健康至关重要。由于眼镜经常与外界环境接触,容易积聚细菌。为了有效解决这一问题,大家都纷纷选择使用超声波清洗机来进行彻底清洁。所以,超声…

C语言基础知识点(十三)结构体的深拷贝与浅拷贝

在C或C等语言中,结构体(Struct)是一种用户自定义的数据类型,它允许将不同类型的数据项组合成一个单一的类型。对于结构体的拷贝,存在深拷贝(Deep Copy)和浅拷贝(Shallow Copy&#x…

DataWhale市场博弈和价格预测

文章目录 市场博弈和价格预测任务数据出清价格的形成步骤代码运行 Task1:跑通baseline使用ABM估计市场出清价格转换耗煤量为机组报价保存结果为submit.csv Task2:时间序列挖掘ABM构建学习数据基本信息统计指标分析数据分布分时统计特征不同小时的总负荷和…

错误代码0x80004005:全面解析与解决策略

在Windows操作系统中,错误代码0x80004005是一个相当常见的提示,它通常表示一个未指定的错误或一个无法找到的错误。这个错误可能出现在多种场景中,包括软件安装、系统更新、网络连接、文件操作等。由于其普遍性和模糊性,理解和解决…

搭建链路追踪系统 Jaeger

搭建链路追踪系统 Jaeger 架构 架构图 架构设计 在设计以 Jaeger 为中心的链路追踪系统时,我们采用微服务架构模式。 Jaeger 作为核心追踪系统,负责收集、存储和展示分布式追踪数据。Elasticsearch 作为后端存储,提供数据的持久化和高效…

网鼎杯之unfinish

题目来源:网鼎杯 2018 题目描述:SQL 问题:给一个页面,如何判断其有漏洞 通过awvs扫描得知存在 register.php 注册页面,并且注册界面存在SQL盲注漏洞。 题目提示SQL,在注册页面测试无果,且发现输…

解决Ubuntu报“无法解析域名cn.archive.ubuntu.com“问题

今天在Ubuntu系统上,使用sudo apt update命令,进行更新时,弹出"无法解析域名 cn.archive.ubuntu.com"问题,如图(1)所示: 图(1) 弹出"无法解析域名 cn.archive.ubuntu.com" 错误 出现这种现象的原因…

C++并发编程(一):线程基础

简介 本文学习的是 b 站 up 恋恋风辰的并发编程教学视频做的一些笔记补充。 教程视频链接如下:线程基础:视频教程 文档链接如下:线程基础:笔记文档 理论上直接看 up 提供的笔记文档即可,我这里主要是记录一些我自己…

免费qq号码估价的工具和软件

目前有多种 qq 号码估价的工具和软件。例如,晒号网的 QQ 估价器可以根据 QQ 号码等级、QQ 号码资深度、QQ 号码年限、活跃时间等进行准确的 QQ 号码估价。此外,还有其他一些相关的估价软件和平台,如 QQ 号码估价 2.0 全新玩法,利用…

复现opendrivelab的“点云预测”项目

本文的主要工作就是复现下述论文中的算法。 该论文全称:Visual Point Cloud Forecasting 论文内容在此不做过多介绍,直接上项目。 一、准备工作 首先通读readme.md文件的内容,了解所需要的相关依赖和数据等内容。 一定要多读几遍&#xf…

C# udp通信测试助手

1、UI界面和最终实现功能测试 2、代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threa…

【C++BFS算法】2998. 使 X 和 Y 相等的最少操作次数

本文涉及知识点 CBFS算法 LeetCode2998. 使 X 和 Y 相等的最少操作次数 给你两个正整数 x 和 y 。 一次操作中,你可以执行以下四种操作之一: 如果 x 是 11 的倍数,将 x 除以 11 。 如果 x 是 5 的倍数,将 x 除以 5 。 将 x 减 …

Linux项目实战——业务系统(后附百问网课程视频链接)

处理配置文件 一、main函数流程 初始化显示系统——>初始化输入系统——>初始化文字系统——>初始化页面系统——>业务系统 二、业务系统框架 1. 读取配置文件 2. 根据配置文件生成按钮、界面 3. 读取输入事件 4. 根据输入事件找到按钮 5. 调用按键的OnPressed函…

小程序开发怎么申请HTTPS证书?

小程序开发中申请SSL证书的流程包括选择信任可靠的SSL证书服务商、申请SSL证书、配置服务器、测试验证以等。以下将具体分析这个过程: 1、选择信任可靠的SSL证书服务商: 选择信任可靠的证书服务商,致命的证书服务商可以提供可靠的产品和完善…

【已解决】页面操作系统功能,诡异报错500nginx错误

【已解决】页面操作系统功能,诡异报错500nginx错误,后台没有任何报错信息 不知道啥原因 清理了浏览器缓存 也没有效果 还有一个表现情况,同样的操作,有时可以又是不行 因为报错ng的代理问题,检查了ng配置 后续经过同…

Unity强化工程 之 SpriteEditer SingleMode

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正 因为unity不只是3d需要,还有2d游戏需要大量编辑处理图片素材,所以需要了解Sprite(精灵…