Cadence DSP浮点运算提高复杂应用的效率

2016-12-06 网络
分享到:

几十年来,浮点运算一直是大型机、小型计算机、超级计算机、工作站和PC平台的主要特征。几乎所有现代微处理器IP都支持IEEE 754浮点标准。出于功耗、面积以及成本的考虑,嵌入式设计往往不采用浮点硬件,迫使设计师不得不进行定点计算。
 
数字信号处理技术已被定点方法和算法所主导。其中很大一部分原因是输入流的性质决定的,输入流往往通过实际环境变量的模数转换量化为10或12位。特别是音频、视频和移动基带运算很适合采用定点方式。定点DSP效率非常高,与通用CPU上相同算法相比,完成计算的周期少,功耗低。
 
一些算法受定点数学运算动态范围窄的影响,而且截断数据有时影响计算精度。一个很好的例子是SLAM (即时定位与构图) 算法的变量,它们对偏移误差敏感。IEEE 754浮点标准提供处理高精度大数表达式:
19
广泛普及的易用MATLAB进一步加重这个问题。PC或超级计算机上只能运行MATLAB浮点模型,但在嵌入式硬件上部署之前,通常需要进行大量定点建模转换。各类微控制器非常适合这些必要的转换,因为他们当中很少有能力承受浮点单元的功耗。
 
随着模型变得越来越复杂,将它们由浮点转换为定点的风险和时间也在增长。嵌入式团队试图用低精度16位浮点数来节省功耗。然而,如果浮点置入硅片不那么贵,更多的人愿意使用。传感器融合、机器视觉等高级应用,采用MUSIC和ESPRIT等波达方向算法的雷达,波束成形和MIMO无线网络等,为新IP内置浮点运算创造了条件。
 
Cadence设计系统公司 (Cadence Design Systems) 着力DSP系列浮点设计。本周在Linley处理器研讨会上宣布以Tensilica Xtensa LX7为重点,并在其广泛IP中提供浮点支持。
19.1
Cadence公司Dror Maydan指出,这些产品本身并不是处理器核心,而是由预配置DSP模板运行的处理器生成器,具有广泛的可配置性。他们的TIE定制语言提供一种方法,用以快速添加指令形成差异化产品。他说他们的DSP客户正在使用“零汇编语言”,不管添加什么,全部采用C语言编写。
19.2
一个最好的例子是微软最近在“高效能芯片大会 (Hot Chips)”上发布的HoloLens。其内部是一块采用台积电 (TSMC) 28nm制程生产、由24个Tensilica DSP核心组成的芯片。这样,微软可以添加300个自定义指令–是的,300,不是打字错误。“如果不能添加自定义指令,最终将达不到所需的数学运算密度,”微软Nick Baker说。
 
微软称,通过硬件加速器和定制DSP指令,速度提高了200倍。Maydan说,软件工作采用Palladium硬件仿真器完成。我本周在奥斯汀举行的网络活动中亲眼看到了微软HoloLens,我只能说真棒–三星Gear VR眼镜根本没法相比。开发人员仍在设法优化代码,充分发挥DSP在增强现实/虚拟现实应用中的能力。
 
Maydan通过一些数据说明面积扩大10-15%左右的浮点单元成本,但取决于精度能否降低向量矩阵乘法运算15-30%功耗。与许多应用一样,真正的节省来自完整算法的混合运算,如雷达–注意前端运算定点更好,而后端运算采用浮点更有利。
19.3
Cadence工具处理C语言编译包括数据类型和自动向量化,同时程序员仍然可以控制。
 
新闻稿公布Xtensa LX7 IP更多细节:
 
Cadence宣布推出Tensilica Xtensa LX7处理器架构,浮点扩展能力由每周期2个浮点计算增加到64个
 
这是值得关注的趋势。考虑到软件已经吞噬世界,其中绝大多数是浮点,消除嵌入式DSP部署性能/功耗障碍是重大一步。开发人员可以创建非常复杂的算法,并将它们更快地配置到嵌入式设备中,不必经过转换步骤,直接进行模型部署。
 
 
更多Tensilica及科技资讯请关注:
Cadence官方网站:https://www.cadence.com/
Tensilica技术社区:http://tensilica.eefocus.com/module/forum/forum.php
 
 
×
官方微信