前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ABB 07KT97 低成本的SMD硬件模块

ABB 07KT97 低成本的SMD硬件模块

原创
作者头像
用户10534454
发布2023-05-04 16:49:02
2650
发布2023-05-04 16:49:02
举报
文章被收录于专栏:GEGE

ABB 07KT97 低成本的SMD硬件模块

所使用的模拟器还可以提供每个指令地址的执行计数。这提供了每个二进制文件中热循环被执行的迭代次数。每次迭代的浮点运算(FLOPs)是通过检查反汇编来计算的。如果进行静态分析,原始标量代码在热循环中有28个触发器。但是由于循环的一部分有时会被删除(对于这个输入数据集,4.5%的迭代),所以每次迭代的动态FLOPs为27.33。将每次迭代的FLOPs乘以迭代次数表明,每个二进制文件都在做相同的FP工作总量[6].

对原始标量代码进行矢量化以使用Neon将所需的指令数量减少了65%[7]。尽管执行了任何额外的指令,但由于vector Neon版本不再为非常远的对象或对象本身修剪计算。做一些无用的工作并丢弃结果仍然是有益的,因为Neon矢量代码比原始标量代码减少了63%的执行周期。

SVE版本保留了算法的计算修剪(使用预测),并且执行速度比矢量化Neon版本快26%。虽然通过预测修剪计算可能对执行的指令数量影响最小,但使用SVE提供了略有不同的指令组合,并导致更少更短的数据依赖链和改进的指令流。

有了详细的逐周期模拟输出,就可以比较每个可执行文件在热循环中花费的执行周期部分。模拟器提供每条指令被执行的次数,以及在成为机器中最老的指令(程序顺序)后等待退出的周期数。以下统计基于这些计数。

ABB BIO0003

ABB 2RCA013897A0002D

ABB 2RCA013836D

ABB DSDP150

ABB 57160001-GF

ABB PCD231B

ABB 3HHE025541R0101

ABB M063B

ABB IMDS003

ABB BCU-02

ABB 5SHX08F4502

ABB PFEA113-65

ABB 3BSE028144R0065

ABB PDP800

ABB ASE2UDC920AE01

ABB 3BHB022793R0001

ABB PPC380AE102

ABB HIEE300885R0102

ABB PPC380AE02

ABB NU8976A99

ABB HIER466665R0099/NU8976A

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档