历史上的今天
今天是:2024年09月10日(星期二)
2019年09月10日 | 华为AI 芯片专利解密:快速均衡方法如何实现
2019-09-10 来源:eefocus
近日,2019世界人工智能大会(简称2019 WAIC)在上海世博中心隆重开幕,为大家呈现了一幅未来AI世界的人工智能场景。值得注意的是,在大会开幕式环节中正式颁发SAIL奖(Super AI Leader,即“卓越人工智能引领者奖”),其中华为获得卓越奖(Superior)、科大讯飞获得应用奖(Applicative)、银河水滴科技斩获创新奖(Innovative)、阿里巴巴获得先锋奖(Leading)。
SAIL奖是世界人工智能创新大赛(AIWIN)的最高荣誉,用于表彰引领技术创新变革、创造未来美好生活的全球人工智能创新项目。SAIL奖根据所激励的不同对象,设立卓越奖(Superior)、应用奖(Applicative)、创新奖(Innovative)和先锋奖(Leading)4大奖项,同时形成年度SAIL榜单。

而今天带来的,则正是华为的一项和芯片有关的专利解密。众所周知,照外围组件快速互连总线标准或加速器的高速互联内存一致性总线标准的规定,由于某些原因(比如芯片老化,温度变化等)引起链路出现不能稳定运行的现象时,系统软件需要对链路进行修复。
其中,链路修复过程包括链路均衡(简称为“ 均衡”)。若系统软件触发的链路均衡过程花费的时间过长,可能会导致系统工作或运行超时等错误。因此,需要一种合适的方法来解决链路均衡过程花费的时间过长的问题。

应用PCIe总线处理器系统结构示意图
PCIe是一种高速串行计算机扩展总线标准,是电脑总线标准PCI的一种,它沿用现有PCI总线的编程概念和通信标准。
可能有的朋友对于总线的概念不是很清楚,一个系统中会有很多的部件,例如cpu和其他的部件相连接传递各种信号以及信息的时候,就是通过总线来进行传递的。如果没有总线结构,那么我们的系统就无法正常工作。
上图的系统包括根组件(RC)、交换芯片和PCIe-to-PCI桥等结构。RC也被称为该系统的根控制器,通常被集成在中央处理器上,RC通常具有多个端口,通过该多个端口中的每一个端口,该RC可以和一个部件连通。
交换芯片(Switch)用于对RC进行链路扩展。一方面,交换芯片和RC之间通过PCIe总线实现连通;另一方面,交换芯片具有多个端口,通过一个端口,交换芯片可以和一个EP通过PCIe总线连通。因此,基于交换芯片,RC可以通过一个端口和多个端点实现连通。
PCIe-to-PCI桥的作用是桥接,用于实现PCIe总线和PCI总线的转换,从而能够兼容原来的支持PCI总线的端点。由于PCIe具有比PCL更加高速的串行点对点双通道高带宽传输速度,因此在不改变PCI结构的现有基础上,使用这种桥接模式,可以最小限度的减少成本以及得到更多的便利。
再来看看快速均衡的方法是在这样的系统中是如何实现的。

快速均衡方法流程图
该方法的执行主体可以为系统软件或系统的管理芯片,系统软件可以为基本输入输出系统。BIOS是设备上电后加载的第一个软件,BIOS加载完成后会引导启动上层操作系统,在BIOS运行阶段,BIOS可以执行这种快速均衡的方法。
首先,存储第N-a次执行链路均衡时的得到的满足链路稳定性要求的第一均衡参数。比如当第一次变速完成且链路能够稳定运行时,系统软件可以读取满足链路稳定性要求的参数,然后将该参数存储起来。
其次,在确定需要进行第N次链路均衡的情况下,读取主芯片的初始快速均衡超时时间和从芯片的初始快速均衡超时时间。
最后,根据主芯片的初始快速均衡超时时间和从芯片的初始快速均衡超时时间,配置第一快速均衡超时时间并且调用第一均衡参数,以使主芯片和从芯片根据该第一均衡参数和第一快速均衡超时时间执行第N次链路均衡。
随着集成电路发展的规模越来越大,如何实现快速均衡成为了摆在人们面前的难题,这篇专利中的方法则刚好解决了这样的问题。华为在通信硬件上的取得的出色成绩离不开这些一点一滴的改进方案细节,也正是如此,也才能在贸易战中站稳脚步。
史海拾趣
|
搞FPGA的硬件开发工程师需要自己编程吗? 周围有朋友是搞硬件电路研发的,是基于FPGA/ ASIC/ ARM之类的,好像听说他们只负责电路的原理设计,pcb板的设计制作,程序都是搞软件的人来写的. 但是我自己在网上看到的FPGA好像都是说编程的,不会编程序的人 ...… 查看全部问答> |
|
分频程序虽然简单,但我觉得由简入难是学习的一个必然阶段,慢慢的我们自然会成长起来。所以如果有时间的话,大家都可以将自己的这种“小程序”贴到论坛上来。如果你的程序好,其他人也可以学习;如果你的程序有问题,大家可以一起帮你找问题,共 ...… 查看全部问答> |
|
有两个msp430f147进行异步通信。一个发送,一个接收。发送是不断在发65,接收是把65存到buffer区域的一个固定位置(0200)。发现接收到的东西总是不对。。。下面是代码。 发送程序: #include \"msp430.h\" &nbs ...… 查看全部问答> |
|
急求各位的帮助啊,代码如下: TCCR1B=0x09; TCCR1A=0xF3; delay_ms(50); Lcd_WriteCmd(0x01); //清屏LCD12864 delay_ms(100); hanzi_Disp(1,0,\"选择模式 1 or 2\");& ...… 查看全部问答> |
|
就是想修改Z-stack的协调器和终端节点,节点网络地址由编程时预定不由协调器分配,并使协调器越过组网这步,节点一上电就定期发数据,协调器收到数据保存相应节点的网络地址和数据即可,但改了多次还是出现节点在不停地信标发射,可能工程使用不对 ...… 查看全部问答> |
|
我在编译的时候加入调试选项,CONFIG_DEBUG_INFO=y,但用GDB调试的时候没有看到C 代码 它这里有显示出该地址所对应的代码,还应该加什么选项才能显示出该段代码的源文? ? 请哪位知道的提点一下。 … 查看全部问答> |
|
【瑞萨R7F0C80212】小伙伴们,快来听一首耳熟能详的歌~ replyreload += \',\' + 1747195; 本帖最后由 410023626 于 2014-9-10 13:33 编辑 先来看看效果,就放一首洗脑的小苹果吧,土豆网的视频$(\'flv_mOO\').innerHTML=(mobileplayer() ? \"\" : AC_FL_RunContent(\'width\', \'500\', \'height\', \'3 ...… 查看全部问答> |
|
【视频】Altera Cyclone V SoC视频应用回放演示 $(\'flv_j8H\').innerHTML=(AC_FL_RunContent(\'width\', \'500\', \'height\', \'375\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', \'http://player.youku.com/player.php/sid/XNTU2NTYxMTA4/v.swf\', \'qu ...… 查看全部问答> |




