TI全新TMS320C66x定点与浮点DSP内核成功挑战速度极限

发布时间:   来源:文档文库   
字号:

作者:ArnonFriedmann
战略营销总监
序言
德州仪器(TI全新TMS320C66x数字信号处理器(DSP内核不仅为屡获殊荣的C64x+指令集架构(ISA带来了显著的
性能提升,同时还在同一处理内核中高度集成了针对浮点运算的支持。浮点处理技术首次能够用于传统上仅能满足定点处理运行速度要求的处理器中。该C66xDSPISA同时支持单精度和双精
度浮点操作,并全面兼容IEEE754标准。这一完美组合造就了无与伦比的DSP能够在完全无损定点或浮点功能的情况下将浮点优势引入高速嵌入式架构中。与其它很多可提供浮点协作单元的嵌入式处理器不同,TI最新C66xDSP内核直接将浮点指令集嵌入到C64x定点指令集中。在C66xCPU上,用户可以选择逐条执行浮点、定点指令,因为在C66x中浮点与定点运算能力已经被完全集成在一起。正是由于这样,到底使用定点DSP还是浮点DSP已不再是设计上的挑
战,因为C66xDSP做到了双全其美。
与浮点TI全新TMS320C66xDSP内核成功挑战定点速度极限
在同一DSP内核中集成定点与浮点功能将使嵌入式系统算法的开发与部署方式发生根本性变革。这听起来似乎有点夸大其辞,不过事实的确如此。在定点数字系统中实施算法所付出的艰辛是不可估量的。但充分满足对速度的需求又使这一工作势在必行,因为到目前为止市面上还没有任何可供使用的快速浮点DSP。我们能够轻松、便捷地将采用Matlab等浮点运算工具开发的算法移植到DSP中,而无需费力转换为定点方式处理。借助TI新型C66xDSP浮点计算能力,大多数转换工作已显得没有任何必要。
对二进制数字表示的回顾
包含TIDSP等在内的所有数字处理器均采用带比特串(01组成)的二进制形式表示数字。数字表示精度取决于所使用的比特位数和表示格式两个方面。定点系统使用比特表示一个固定取值范围,这些值既可以是整数,也可以是具有固定数量的整数及小数位的数字。动态取值范围因而显得十分有限,而且超出设定范围的值必须达到端点。
定点处理器通常采用每秒乘法计算次数表示其16位运算性能。为了充分利用处理器的处理能力(例如,为获得其宣称的全部性能),为这些处理器开发的算法不得不在一系列预先确定范围的数字上进行操作。在定点实施过程中无法高效执行难以预知范围或变化幅度大的数据集。
浮点表示通过采用科学计数法来提供更广的动态范围,从而可使用尾数(或叫有效数字)及指数进行表示。C66x内核可对32个比特位表示的数值实施单精度浮点运算,其采用的表示形式如下:(-15×M×2(N-127,其中S表示符号位,M表示尾数或有效数字位,而N则表示指数。S只有一个比特位,N8个比特位,而M23个比特位表示。这样,数字表示范围为2-127-2128,并具有24比特精度的有效位。相比而言,16比特位的定点算法仅能表216个数值(从065535),故其内在数字表示的可变范围要小很多。所以当数据集或工作在该数据集上的算法不可预知、动态变化幅度很大的情况下,浮点数字表示法更受青睐。另外很重要的一点是,有效数字始终以1作为第一个数字,因此其数值始终保持24位精度。

2
德州仪器
TI如何创造性地在同一内核中同时集成浮点与定点技术
最新C66xDSP内核——1显示的C64x+DSPTI最新C66xDSP的前代产品。该内核由两个对称的部分(A&B组成,每部分具有四个功能单元。一个.M单元包含416位乘法器。
C64x+DSP
D
L
D
L
RegisterfileS
M
RegisterfileS
M
.MC64x+
Fixed16x1616x16MPYMPY16x1616x16MPYMPY
Adders
AB
TCI6487multiplier
unitcontains4.16bmultipliers(perside
1TIC64x+DSP
2所示的TI最新C66x内核具有同C64x+内核相同的基本A&B结构。请注意,.M单元16位乘法器已增至每个功能单元16个,从而实现内核原始计算能力提升4倍。C66xDSP实现的突破性创新使得由4个乘法器组成的各群集可协同工作以实施单精度浮点乘法运算。
C66xDSP
D
L
D
L
RegisterfileS
M
RegisterfileS
M
.MC66x
Float
16x1616x16MPYMPY16x1616x16MPYMPY16x1616x16MPYMPY16x1616x16MPYMPY
Float
Float
16x1616x16MPYMPY16x1616x16MPYMPY16x1616x16MPYMPY16x1616x16MPYMPY
Float
16fixedmultipliescycle(perside
AB
4floatingmultipliespercycle(perside
Adders
2TI最新C66xDSP内核
TI全新TMS320C66x定点与浮点DSP内核成功挑战速度极限201011

德州仪器
3
C66xDSP内核可同时运行多达八项浮点乘法运算,加之高达1.25GHz的时钟频率,使其当之无愧地成为市场上性能最高的浮点DSP。将多个C66xDSP内核进行完美整合,即可创建出具有出众性能的多内核片上系统(SoC设备。
浮点技术的成本
为使定点与浮点组件都能同时实现最佳性能,TI专为该款最新的C66x内核开发了全新的浮点与定点指令,所有这些都对实现高效率的无线信号处理至关重要。由于采用浮点符号会带来额外的计算复杂度,从而导致了定点与浮点处理器分庭抗礼的局面。在定点运算情况下,加法、乘法等基本操作简单易行,但在浮点运算情况下,这些基本操作需要做更多工作量。比如两个浮点数相乘的情形:(M1×2N1×(M2×2N2=(M1×M2×2N1+N2
请注意,指数需要相加操作,尾数则需要相乘操作。然后,最终(M1×M2值需调整成23位的表示形式,这可能需要对指数的值也作更改。使用浮点技术进行所有基本运算时将需要很多额外的操作。
浮点计算带来的额外复杂度恰好说明了众多算法仅采用定点表示数和定点运算的原因。嵌入式处理器能够更快地运行定点运算,并且在众多情况下,只需要定点算法即可。例如,C66xDSP内核在每个周期内都能执行16项定点乘法运算或者是4项浮点乘法运算。
为使定点和浮点组件都能同时实现最佳性能,TI为该款最新的C66xDSP内核开发了定点与浮点运算指令,所有这些都对实现高效率的无线基站信号处理至关重要。浮点指令FPi包括:
1.单精度复数乘法2.矢量乘法3.单精度矢量加减法
4.单精度浮点-整数之间的矢量变换
5.支持双精度浮点算术运算(加、减、乘、除及与整数间的转换)并且完全为管线式
最新定点指令可实现最佳的矢量信号处理(VSPi,其中包括:
1.复数矢量和矩阵乘法,诸如针对矢量的DCMPY,以及针对矩阵乘法的CMATMPYR12.实矢量乘法3.增强型点积计算4.矢量加减法5.矢量位移6.矢量比较7.矢量打包与拆包
TI全新TMS320C66x定点与浮点DSP内核成功挑战速度极限201011

本文来源:https://www.2haoxitong.net/k/doc/3905978ba0116c175f0e48e0.html

《TI全新TMS320C66x定点与浮点DSP内核成功挑战速度极限.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式