快乐虾
http://blog.csdn.net/lights_joy/
lights@hb165.com
本文适用于
ADSP-BF561
Visual DSP++ 5.0 (update 6)
Vdsp dual processor simulate
欢迎转载,但请保留作者信息
在默认情况下,vdsp认为double和float这两种类型是一样的,因此我们比较long double和float。
1.1 类型表示
下面是两种类型的数据表示:
|
float
|
long double
|
字节数
|
4
|
8
|
符号位
|
1
|
1
|
指数位数
|
8
|
11
|
尾数位数
|
23
|
52
|
最小值
|
1.1754943508222875E-38F
|
2.2250738585072014E-308L
|
最大值
|
3.4028234663852886E+38F
|
1.797693134862315708E+308L
|
分辨率
|
1.1920928955078125E-07F
|
2.2204460492503131E-16L
|
1.2 正常情况下的运算效率
下表给出两种类型下做运算的效率比较,选择High performance
|
float
|
long double
|
加减运算
|
132 cycle
|
166 cycle
|
乘法运算
|
92 cycle
|
179 cycle
|
除法运算
|
240 cycle
|
1506 cycle
|
狂汗,这个long double做除法也太狠了点!
下表给出两种类型下做运算的效率比较,选择Strict IEEE:
|
Float
|
long double
|
加减运算
|
310 cycle
|
381 cycle
|
乘法运算
|
274 cycle
|
585 cycle
|
除法运算
|
497 cycle
|
1063 cycle
|
这里有一个值显得很奇怪,在选择了Strict IEEE选项之后,long double进行除法运算反而变快了!
在vdsp的文档里这样解释这两种不同的选项:
The -fast-fp (fast floating point) switch directs the compiler to link with the high-speed floating-point emulation library. This library relaxes some of the IEEE floating-point standard’s rules for checking inputs against not-a-number (NaN) and denormalized numbers to improve performance. This switch is enabled by default.
The -ieee-fp (slower floating point) switch directs the compiler to link with the fully-compliant floating-point emulation library. This library obeys all of the IEEE floating-point standard’s rules, and incurs a performance penalty when compared with the default floating-point emulation library.
照说使用Strict IEEE选项之后应该所有的计算都变慢,但long double的浮点除法似乎是个例外!
Vdsp(bf561)中的浮点运算(8):float除法运算(2009-8-14)
Vdsp(bf561)中的浮点运算(7):float乘法运算(2009-8-13)
Vdsp(bf561)中的浮点运算(6):float加减运算(2009-8-13)
Vdsp(bf561)中的浮点运算(5):float类型表示总结(2009-8-12)
Vdsp(bf561)中的浮点运算(4):FLT_MAX(2009-8-12)
Vdsp(bf561)中的浮点运算(3):FLT_MIN(2008-12-19)
Vdsp(bf561)中的浮点运算(2):float的疑问(2008-12-18)
Vdsp(bf561)中的浮点运算(1):文档的说法(2008-12-16)
分享到:
相关推荐
这是将u-boot移植到VDSP的工程文件,支持的CPU为bf561,支持NandFlash和NorFlash,支持串口下载,不支持网络功能。
这份文档记录了在vdsp5下移植bfin-uclinux-2008r1-rc8内核的过程。 适用于ADSP-BF561。
这份文档记录了将u-boot-1.1.6移植到VDSP5下编译的过程。 所用的DSP为bf561,对其它blackfin系列的DSP也有一定参考意义。 欢迎转载,但请保留作者信息,谢谢!
在VDSP++上面,编译的UBOOT_BF537,这个文件有bug,修改后的在我的另外一个资源里面
这是在VDSP5.0++下面编译成功的uboot,支持的命令 base - print or set address offset bootm - boot application image from memory cmp - memory compare cp - memory copy crc32 - checksum calculation erase -...
使用Visual DSP 5.0的一点心得。 使用ADSP-BF561。 仅供参考。
uboot1.16版本,在VDSP++5.0环境下编译,适合bf537,实现了uboot的大部分的命令,功能齐全
VDSP软件说明。对于visual dsp++软件的介绍,以及如何创建工程等的介绍
vdsp C语言编程 正弦函数查表法,专门运用于vdsp中。
这是将uclinux-2.6 for bf561的内核移植到Visual DSP 4.5下的工程文件。由于csdn空间限制,删除了Documentation及doj,dlb等中间文件或者无关的内容,请先在http://blackfin.uclinux.org/下载2.6.19.3-ADI-2007R1.1-...
本源码是uboot在bf537芯片上的移植,它是在vdsp++5.0环境下编译的,支持uboot绝大部分常用的命令,方便剪裁
本文将通过两个简单的例程来一步一步演示如何在VisualDSP++里创建并调用基于C 语言的DSP库文件(*.dlb)。虽然例程是基于Blackfin 处理器实的,但创建过程和调用方法依然适用于SHARC、TigerSHARC 等ADI 公司的处理器。
介绍Visual+DSP++开发环境的资料
ADI Blackfin处理器 Vdsp ldf文件格式详解
与uclinux-2.6(bf561) for vdsp配合使用的根文件系统,ext2,使用时将之以hex32的格式插入到_end符号的末尾
这个是将u-boot-1.1.6-2008R1移植到VDSP下的工程文件。 具体移植过程参见本人的BLOG。 http://blog.csdn.net/lights_joy/
适用于ADSP-BF561。使用了优视科技BV561EVB开发板,但仅实现其DM9000的网卡驱动。 由于CSDN空间限制,请分开下载所有的8个rar文件。 也可在http://sf.net/projects/vdsp-uclinux/中下载单个的软件包。
适用于ADSP-BF561。使用了优视科技BV561EVB开发板,但仅实现其DM9000的网卡驱动。 由于CSDN空间限制,请分开下载所有的8个rar文件。 也可在http://sf.net/projects/vdsp-uclinux/中下载单个的软件包。
适用于ADSP-BF561。使用了优视科技BV561EVB开发板,但仅实现其DM9000的网卡驱动。 由于CSDN空间限制,请分开下载所有的8个rar文件。 也可在http://sf.net/projects/vdsp-uclinux/中下载单个的软件包。
适用于ADSP-BF561。使用了优视科技BV561EVB开发板,但仅实现其DM9000的网卡驱动。 由于CSDN空间限制,请分开下载所有的8个rar文件。 也可在http://sf.net/projects/vdsp-uclinux/中下载单个的软件包。