link

之前混着参加了很多次面试,几乎每次面试我都会问,你怎么理解AXI的Outstanding能力嘛?乱七八糟的回答都有,几乎没有准确回答的。这个Outstanding能力在SOC设计中应该是一个非常常见的性能指标呀,很多IP的配置都会牵涉到,比如PCIe,DMA

什么是Outstanding?
什么是Outstanding?
如果你想知道什么是Outstanding的话
那我就带你研究

大家都知道AXI是ARM AMBA协议家族的一员,AXI的很多特性,例如分离的读写通道、Burst传输,Interleaving、乱序返回等特,显著提升了SOC互连的性能。其中,Oustanding能力就是一个非常重要的参数。

对AXI而言,因为读写分离,所以Outstanding能力分为读Outstanding和写Outstanding。

如何理解Outstanding呢?

我们可以想象SOC的互连犹如中国高铁网络,那么

参考:http://crh.gaotie.cn/
  • 八纵八横的铁轨就是SOC的总线,有京沪高铁,有武广高铁,错综复杂
  • 总线上的数据传输就是一列列的高铁班车
  • Burst传输的长度就是一列高铁的节数,有的高铁是8节,就是Burst Length=8,有的高铁是16节,就是Burst Length=18
  • 1节高铁带的人数就是AXI的数据位宽,有的高铁1节载人80个,有的高铁一节载人可能160个(假设哈),就好比有的AXI 数据位宽为64bit,有的AXI数据位宽为128bit
  • 高铁的速度就是AXI的总线的时钟频率,有的高铁速度为310Km/h,比如京沪高铁;有的高铁线路标准比较差,那就只能跑250Km/h,比如合宁城际。这就好比AXI的频率有的是200MHz,有的是300MHz
  • 从高铁站出发,到终点的线路长度就是AXI的总线延迟。京沪高铁全长1318 KM,那么这个线路长度就固定死了,就好比SOC的AXI Interconnect网络设计好了后,那么AXI的Master到Slave的延迟的拍数(Clock Cycle)也就固定了。所以一节高铁可以等效为AXI的一个Cycle

好,我们一一对应上之后,我们以上海到北京的高铁为例,假设全上海的人都要坐高铁去北京,为了达到最高效率,那就是上海到北京的铁轨上高铁首尾相接,从上海虹桥排到北京南站,这些首位相接的高铁还都以310Km/h的速度前进(这里我们不考虑高铁停在北京南站下客减速的时间哈)。高铁到北京南站后,立即以相同速度折返回到上海虹桥,回到上海虹桥的高铁又继续满客开往北京南站。我们都使用16节编组的高铁的话,那么问题来了,我们至少需要运行多少列高铁才能达到京沪高铁的最大效率呢?

简单计算,我们需要X列高铁,

  • X=高铁线路总长度*2/ 16节高铁长度

经过变换

  • X=(高铁线路总长度/1节高铁长度)*2/16

由于一节高铁可以等效为AXI的一个Cycle,所以(高铁线路总长度/1节高铁长度)就是该线路的延迟Cycle数目

  • X=线路延迟Cycle数目*2/16

这里X就是AXI Outstanding的概念,而“线路延迟Cycle数目*2”就是往返总延迟,也就是Round Trip Latency。

这时,让我们回到AXI协议,以AXI写为例,AXI Master每次发写命令(包括AW和W),都需要Slave返回Response(B通道),犹如上面高铁的例子里面,上海虹桥(Master)发出的列车,只有到达北京南站(Slave)下客后(处理后),北京南站才能将该列车折返返回上海虹桥(Response)。

Outstanding的能力即AXI Master不需要等到Response,就可以持续发写命令的个数。

那AXI Master 的Outstanding能力越大越好吗?

也不是,因为当高铁的轨道上头尾相连堆满高铁的时候,即使有再多的高铁也没法放进轨道了。

那AXI Master的Outstanding能力如何才能设置得到合理值呢?

和高铁列数的计算类似,我们首先需要确定AXI Master 在需要的场景

  1. AXI Burst Length 是多大,也就是高铁是8节编组还是16节编组。
  2. 期待的带宽 (Expected Bandwidth)要能达到多少。这里最大带宽是AXI Clock Frequency x AXI Data Width,也有可能根据实际应用需求低于这个值。我们就按照最大值计算。
  3. AXI的Round Trip Latency是多少个Cycle,或者多少nanosecond

所以最佳Outstanding能力(Best Outstanding)计算公式如下Best Outstanding =Round Trip Latency(cycle) \div AXI Burst Length

用中国高铁来谈谈AXI Outstanding能力相关推荐

  1. app评论如何抓取_可能是史上最独一无二的中国高铁APP——高铁通

    这个图标很像钢铁侠的APP就是我们今天要推荐的产品,高铁通. 如果你是中国高铁的爱好者,那么你一定会非常喜欢这款产品,这可能是第一款带有实时雷达和完整高铁线网图的APP. 开发初衷是非常喜欢一款航班雷 ...

  2. 中国高铁票价世界最低

    西班牙高铁是最贵的吗?中国高铁票价居然是最便宜的,可能大家面对这些这个消息真的是大吃一惊. 西班牙是仅次于中国的全球高速铁路运营里程最长的国家.近年来,西班牙的高铁技术发展很快,能够获得沙特阿拉伯麦加 ...

  3. 京沪高铁四天三次事故有力地驳斥了“中国高铁侵犯日本高铁专利”的不实之词。...

    京沪高铁四天三次事故有力地驳斥了"中国高铁侵犯日本高铁专利"的不实之词,百分百地证明系我国自主研发.

  4. 【速览】2021年中国高铁刹车片行业市场现状分析:行业发展迅速,国产化替代空间大[图]

    一.概述 高铁刹车片是固定在与车轮旋转的制动鼓或者制动盘上的摩擦材料,通过制动盘和刹车片之间的摩擦作用达到车辆减速的目的.高铁刹车片主要由粘接隔热层.钢板和摩擦块构成. 早期国际上只有德国.法国和日本 ...

  5. 中国高铁进军海外主打廉快全 将贯通三条战略线路

    中国列车驶上海外路 导读:作为高端制造业的铁路行业,今年下半年迎来了进军海外市场的首个丰收季,进入10月,好消息纷至沓来.昨天早晨,有消息称中国北车签下泰国国家铁路公司有史以来最大的铁路客车采购合同. ...

  6. 翟婉明院士:中国高铁发展面临的科技挑战与对策

    翟婉明,轨道交通工程专家,中国科学院院士,现任西南交通大学首席教授,中国力学学会第十届副理事长,中国振动工程学会副理事长,四川省科协副主席. 长期从事轨道交通工程动力学研究,开拓了铁路大系统动力学研究 ...

  7. 中国高铁站,为什么离市区这么远

    导读:中国最远的高铁站,叫北站. 作者:苏晚水,数据:CZ风云 乐乐 设计:杨波浪 豆浆 敏穗 来源:网易数读(ID:datablog163) 熊孩子.短视频外放.味道极重的泡面--坐高铁时要是遇上这 ...

  8. 不一样的“中国速度”,数据可视化交通运输大屏,带你见证中国高铁

    国家的发展最离不开的就是交通,自从2007年高铁开通以来,中国就进入了高铁时代,"高铁速度"已经成为中国的代名词.在这里小编利用可视化互动平台和大家一起见证中国速度,请看如下数据可 ...

  9. 用html制作一个中国高铁网页,基于jQuery实现在线选座之高铁版

    效果图展示: 除了电影院在线选座,我们还会接触到飞机机舱选座,当然也有汽车票火车票选座的.假如有一天买火车票也提供在线选座,那么今天我来给大家介绍下如何使用jQuery选座插件完成高铁列车座位布置.选 ...

最新文章

  1. mysql通过视图查看_MySQL教程92-MySQL查看视图
  2. php和python哪个工资高-前端,java,php,python工程师哪个最缺 知乎
  3. 不装.net Framework 也能运行WinForm程序,用飞信(转)
  4. PHP编程效率的20个要点
  5. flask + celery实现定时任务和异步
  6. php爱奇艺筛选标签,三种排序 快速筛选好视频_软件资讯技巧应用-中关村在线
  7. java编写一个移动物体_java编写一个可以上下移动的小球:运行后,可以通过上下左右键进行移动...
  8. JavaScript的setTimeout与setInterval执行时机
  9. Atitit 研发管理之道 attilax总结 艾龙 著 研发管理 1 简介 1 基本理念 2 基本原则 2 内容 3 团队建设 4 流程设计 4 成本管理 4 项目管理 4 绩效管理 4 风险管理
  10. y105 usb转rs232驱动
  11. 计算几何模板(kuangbin)
  12. 《产品经理的第一本书》--产品经理职责
  13. 关于一些初级ACM竞赛题目的分析和题解(一)。
  14. 测试软硬件系统信息的工具 -- EVEREST Ultimate Edition
  15. 体检信息管理系统功能表
  16. Unity利用SMSSDK实现短信验证码(附源代码)
  17. 正弦和余弦(角度到弧度)
  18. 【八种基本分析方法】
  19. Presenting view controllers on detached view controllers is discouraged的解决方案
  20. NGUI|如何做出用鼠标滚动切换武器的效果

热门文章

  1. 中国金融业已成为外资超级提款机
  2. python浮点数怎么表示_python浮点数
  3. java(7): 抽象类和接口区别
  4. Java中替换‘\n‘换行符
  5. 微信小程序java在线学习系统平台 视频课程学习
  6. 小猿圈python学习-面向对象语法
  7. 关闭win10在文件上右键出现的 “共享“ 选项
  8. 小程序wx:if 隐藏显示时频幕闪烁问题
  9. 失业两个月,35岁之后测试工程师拿什么养家?
  10. FragmentPagerAdapter刷新notifyDataSetChanged无效