版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7/20/2023
06:04:48-1-2定点和浮点数格式
2.1DSP的数据表示2.2定点数的格式与运算2.3浮点数的格式与运算7/20/2023
06:04:48-2-定点和浮点数格式DSP的数据表示2.1DSP的数据表示格式字长16位32位定点浮点24位7/20/2023
06:04:48-3-定点和浮点数格式DSP的数据表示格式和字长决定了数据的精度和动态范围格式和字长也在一定程度上决定了DSP处理器的成本、功耗和编程难度定点运算的硬件实现比浮点运算的硬件实现简单定点器件结构比浮点器件简单,成本低,功耗小,但定点器件编程比浮点器件困难,主要是需要注意数据的定标、溢出,以及尽可能地减小误差等浮点器件结构复杂,成本高、功耗大,但运算精度高、编程方便,高级语言支持容易7/20/2023
06:04:48-4-定点和浮点数格式定点数的格式与运算2.2定点数的格式与运算1.定点数的格式1)Qn格式2)数值范围与精度3)动态范围
2.定点数的算术运算1)定点数的加减法运算2)定点数的乘法运算3)定点数的除法运算7/20/2023
06:04:48-5-定点和浮点数格式定点数的格式与运算定点数的格式Qn格式二进制补码数01010011b,粗线表示隐含的小数点位置Q0格式:01010011b=1•26+1•24+1•21+1•20=83=83/20Q4格式:01010011b=1•22+1•20+1•2-3+1•2-4
=5.1875=83/24Q7格式:01010011b=1•2-1+1•2-3+1•2-6+1•2-7=0.6484375=83/27例:8位字长位7MSB6543210LSB二进制补码01010011Q0符号26252423222120Q4符号2221202-12-22-32-4Q7符号2-12-22-32-42-52-62-71.定点数的格式1)Qn格式7/20/2023
06:04:48-6-定点和浮点数格式定点数的格式与运算定点数的格式Qn格式小数点整数:小数点在数据的最低位(LSB)后面,位置固定、且是隐含的,小数点后有零个小数位小数:也可用小数点位置固定且隐含的二进制补码表示,只是小数点的位置与整数不同Qn格式Q标志:表示隐含的小数点的位置Qn格式的二进制数:小数点的右边有n个小数位Q15格式:小数点后有15个小数位Q8格式:小数点后有8个小数位Q0格式:小数点后有零个小数位,也就是整数7/20/2023
06:04:48-7-定点和浮点数格式定点数的格式与运算定点数的格式Qn格式定点数与浮点数、定点数与定点数之间的转换关系浮点数X
Qn格式的定点数Xn例:5.1875Q4定点数5.1875×24
=83=01010011bQn格式的定点数Xn为浮点数X例:(Q7)01010011b浮点数83/27
=0.6484375Qn格式的定点数XnQm格式的定点数Xm例:(Q7)01010011bQ4定点数83/27
=0.6484375int(0.6484375×24)=int(10.375)=10=00001010b10/24
=0.625≠0.6484375(小数位数有限,产生截断误差)式中(int)表示取整,浮点数转换为定点数时,由于小数点后的位数有限,会产生截断误差7/20/2023
06:04:48-8-定点和浮点数格式定点数的格式与运算定点数的格式数值范围与精度给定字长N,采用Qn格式表示小数数值范围:精度:2)数值范围与精度N-1是由于符号占用一位,数据占用N-1位n越大,数值范围越小,但精度越高n越小,数值范围越大,但精度越低7/20/2023
06:04:48-9-定点和浮点数格式定点数的格式与运算定点数的格式数值范围与精度Qn格式数值范围精度Q15-1~0.9999694824218750.000030517578125Q14-2~1.999938964843750.00006103515625Q13-4~3.99987792968750.0001220703125Q12-8~7.9997558593750.000244140625Q11-16~15.999511718750.00048828125Q10-32~31.99902343750.0009765625Q9-64~63.9980468750.001953125Q8-128~127.996093750.00390625Q7-256~255.99218750.0078125Q6-512~511.9843750.015625Q5-1024~1023.968750.03125Q4-2048~2047.93750.0625Q3-4096~4095.8750.125Q2-8192~8191.750.25Q1-16384~16383.50.5Q0-32768~32767116位字长Qn格式的数值范围与精度7/20/2023
06:04:48-10-定点和浮点数格式定点数的格式与运算定点数的格式动态范围动态范围:数据表示格式中可以表示的最大值与最小值之比N位定点数的动态范围:用分贝表示为:3)动态范围定点数的动态范围只与字长N有关,字长增加一位,动态范围增加6dB16位定点数的动态范围约为90.3dB32位定点数的动态范围约为186.6dB7/20/2023
06:04:48-11-定点和浮点数格式定点数的格式与运算定点数的格式动态范围动态范围:数据表示格式中可以表示的最大值与最小值之比定点DSP处理器大多采用16位定点数与浮点数相比,定点数运算的硬件实现较为简单16位定点数可以提供足够大的动态范围(90dB),这对于大多数的应用已经足够了对于要求更大动态范围的应用,可以采用扩展字长的方式,即用两个或更多的字来表示数据如:用两个16位数表示一个数据,则字长为32位扩展字长通常会导致编程复杂度和程序运行时间增加定点DSP处理器要求编程时要仔细考虑信号幅值和中间结果,在避免溢出和尽可能减小舍入误差的前提下,使精度和动态范围最大化7/20/2023
06:04:48-12-定点和浮点数格式定点数的格式与运算定点数的算术运算定点数的加减法运算2.定点数的算术运算1)定点数的加减法运算相同的Qn格式,保证隐含的小数点对齐最可能出现的问题是运算结果的溢出例:两个8位数相加,无溢出进位位(C)与最高位(MSB)相同,进位位仅代表附加的符号位,可以忽略8位字长可以表示结果,没有发生数据溢出11111100b(-4)00101001b(41)+11111110b(-2)+00110011b(51)111111010b(-6)001011100b(92)7/20/2023
06:04:48-13-定点和浮点数格式定点数的格式与运算定点数的算术运算定点数的加减法运算例:两个8位数相加,有溢出进位位(C)与最高位(MSB)不同,符号位到了进位位中,最高位成为数值的一部分运算结果发生溢出,8位字长已不能正确地表示结果10110000b(-80)00101001b(41)+10111111b(-65)+01110011b(115)非饱和模式:101101111b(-145)非饱和模式:010011100b(156)饱和模式:110000000b(-128)饱和模式:001111111b(127)7/20/2023
06:04:48-14-定点和浮点数格式定点数的格式与运算定点数的算术运算定点数的加减法运算溢出是由于字长有限,运算结果超出数值的表示范围引起的饱和模式定点数减法运算的原理与加法运算相同在饱和模式下,溢出数据用带有正确符号的最大值填充,相当于对运算结果进行了限幅,使结果不会超出数值的表示范围为减少溢出引起的计算错误,DSP处理器一般都有饱和模式7/20/2023
06:04:48-15-定点和浮点数格式定点数的格式与运算定点数的算术运算定点数的乘法运算2)定点数的乘法运算DSP处理器都有硬件乘法器和乘法指令,可实现单周期乘法运算二进制乘法运算包含一系列的移位和加法运算定点数乘法运算不要求相乘数有相同的Qn格式两个相乘数分别为Qn和Qm格式,字长为N,结果为Q(n+m)格式,字长为2N根据n和m的不同取值,定点数乘法运算可以分成三种情况①小数乘小数(n、m≠0,m≤n)②整数乘小数(n≠0、m=0)③整数乘整数(n=m=0)7/20/2023
06:04:48-16-定点和浮点数格式定点数的格式与运算定点数的算术运算定点数的乘法运算①小数乘小数(n、m≠0,m≤n)例:两个相乘数分别为Q7和Q6格式,8位字长例中间隐含的小数点显示地标出结果为Q13格式,字长为16位,最高两位为两个符号位将结果左移一位,移出一个符号位,得到Q14格式的结果保存结果的高8位,即乘法器输出的高8位,结果为Q6格式两个定点小数作乘法运算,结果左移一位,保存高位得到运算结果,结果为Qm(m≤n)格式0.1000000b(0.5Q7)
01.100000b(1.5Q6)000.1100000000000b(0.75Q13)左移一位:00.11000000000000b(0.75Q14)取高8位:00.110000b(0.75Q6)7/20/2023
06:04:48-17-定点和浮点数格式定点数的格式与运算定点数的算术运算定点数的乘法运算②整数乘小数(n≠0、m=0)例:两个相乘数分别为Q7和Q0格式,8位字长例中间隐含的小数点显示地标出结果为Q7格式,字长为16位,结果的最高两位为两个符号位将结果左移一位,移出一个符号位,得到Q8格式的结果保存结果的高8位,即乘法器输出的高8位,结果为Q0格式运算结果为-3.5,但由于只保存高8为,结果为-3,产生误差,误差是由于丢弃低8位造成的截尾误差0.1000000b(0.5Q7)
11111001.b(-7Q0)111111100.1000000b(-3.5Q7)左移一位:11111100.10000000b(-3.5Q8)取高8位:11111100.b(-3.Q0)7/20/2023
06:04:48-18-定点和浮点数格式定点数的格式与运算定点数的算术运算定点数的乘法运算误差小于等于Qn格式精度的一半,即小于等于1/2n+1单次计算的误差并不大,但如果是连续的运算,则误差会累积和传递,从而产生比较大的误差在递归算法中,误差可能带来很大的影响,甚至导致算法的不稳定DSP处理器提供了自动舍入功能来减小误差,而不是简单的丢弃低16位通常为减小计算误差,定点DSP处理器编程时对中间结果保留整个32位,只有最后结果才舍弃低16位,保留高16位小数乘小数、整数乘小数运算都要求对乘积结果左移一位后,保存高位DSP处理器带有可选的自动左移一位的功能,消除移位操作的时间开销7/20/2023
06:04:48-19-定点和浮点数格式定点数的格式与运算定点数的算术运算定点数的乘法运算③整数乘整数(n=m=0)例:两个相乘数都为Q0格式,8位字长例中间隐含的小数点显示地标出结果为Q0格式,字长16位若结果没有超出8位数的表示范围时,结果在低8位,保存低8位若结果超出8位数的表示范围时,则高8位也包含乘积结果,应保存整个16位结果结果是否超出8位数的表示范围,可通过查询对应的标志位得到整数相乘,结果为Q0格式,需查询标志位确定保存的位数,结果不需要左移一位11111100.b(-4Q0)
11111001.b(-7Q0)0000000000011100.b(28Q0)取低8位:00011100.b(28Q0)7/20/2023
06:04:48-20-定点和浮点数格式定点数的格式与运算定点数的算术运算定点数的除法运算3)定点数的除法运算大多数DSP处理器不提供单周期除法指令除法是乘法的逆运算,包括一系列移位和条件减法运算,需要用除法子程序实现例:8位字长的正整数相除被除数为00001010b(10)除数为00000011b(3)7/20/2023
06:04:48-21-定点和浮点数格式定点数的格式与运算定点数的算术运算定点数的除法运算①除数左移一位,使被除数小于除数的2倍②被除数减除数,结果为正,商数的最低位置100001010b-00000110b商数:00000001余数:00000100b③将余数左移一位减除数,结果为正,商数左移一位,最低位置100001000b-00000110b商数:00000011余数:00000010b7/20/2023
06:04:48-22-定点和浮点数格式定点数的格式与运算定点数的算术运算定点数的除法运算④除数左移一位,使被除数小于除数的2倍数,结果为负,商数左移一位,最低位置0,丢弃余数,余数取被减数值⑤将余数左移一位减除数,结果为正,商数左移一位,最低位置100000100b-00000110b余数(丢弃):11111110b商数:00000110余数:00000100b00001000b-00000110b商数:00001101余数:00000010b7/20/2023
06:04:48-23-定点和浮点数格式定点数的格式与运算定点数的算术运算定点数的除法运算⑥将余数左移一位减除数,结果为负,商数左移一位,最低位置0,丢弃余数,余数取被减数值⑦将余数左移一位减除数,结果为正,商数左移一位,最低位置100000100b-00000110b余数(丢弃):11111110b商数:00011010余数:00000100b00001000b-00000110b商数:00110101余数:00000010b7/20/2023
06:04:48-24-定点和浮点数格式定点数的格式与运算定点数的算术运算定点数的除法运算⑧将余数左移一位减除数,结果为负,商数左移一位,最低位置0,丢弃余数,余数取被减数值,从而得到Q6格式的商数01.101010b和余数00.000100b⑨由于第①步曾对除数左移一位,因此应对结果的小数点右移一位,得到Q5格式的结果011.01010b(3.3125),最高位MSB为符号位00000100b-00000110b余数(丢弃):11111110b商数:01101010余数:00000100b计算中,共进行了7次移位和条件减操作,得到8位(1个符号位和7个数据位)的结果要增加精度,可以增加移位和条件减的次数,如15次移位和条件减可以得到16位的结果7/20/2023
06:04:48-25-定点和浮点数格式定点数的格式与运算定点数的算术运算定点数的除法运算对于两个正的小数相除(Qn格式除以Qm格式)如Q3格式的00001.010b(1.25)除以Q2格式的000000.11b(0.75)把两个正的小数看作两个Q0格式的正整数相除,即00001010b(10)除以00000011b(3)与上面例子相同,结果为Q5格式011.01010b最后对结果的小数点位置移n-m位(若n-m>0则左移,若n-m<0则右移)对于本例3-2=1>0,则结果的小数点左移一位,最后结果为Q6格式01.101010b(1.65625)如果除法运算中包含负数,应将负数变换为等值的正数,然后作除法运算,最后加上正确的符号除法运算的最优实现依赖于DSP处理器7/20/2023
06:04:48-26-定点和浮点数格式浮点数的格式与运算2.3浮点数的格式与运算1.浮点数的格式1)IEEE754浮点数格式2)TMS320C3X浮点数格式3)浮点数的数值范围、精度和动态范围2.浮点数的算术运算1)浮点数的加减法运算2)浮点数的乘法运算3)浮点数的除法运算7/20/2023
06:04:48-27-定点和浮点数格式浮点数的格式与运算浮点数的格式浮点数表示为尾数和指数的形式式中,m为尾数,e为指数符号、尾数和指数编码在同一个二进制字中1.浮点数的格式符号、尾数和指数的位数和位域不同,浮点数格式不同,常用的浮点数格式有IEEE754标准定义的单精度格式和双精度格式TI公司定义的TMS320C3X浮点数格式7/20/2023
06:04:48-28-定点和浮点数格式浮点数的格式与运算浮点数的格式IEEE754浮点数格式1)IEEE754浮点数格式单精度格式扩展单精度格式双精度格式扩展双精度格式浮点DSP处理器中,32位单精度格式用的最多有些32位浮点DSP处理器具有额外的硬件,支持对扩展单精度、甚至双精度格式浮点数的处理7/20/2023
06:04:48-29-定点和浮点数格式浮点数的格式与运算浮点数的格式IEEE754浮点数格式最高位(第31位)为符号位s尾数f占用低23位指数e占用中间8位,取值范围为0~255表示的数值7/20/2023
06:04:48-30-定点和浮点数格式浮点数的格式与运算浮点数的格式IEEE754浮点数格式通常情况,即1≤e≤254时尾数做了归一化,为1.f格式的数,f是尾数的小数部分,最左边一位总是1,所以不需要存储该位,1是隐含的23位的尾数实际上存放的是24位的尾数为使尾数归一化,符合1.f格式,指数要适当增减,跟踪归一化所需的小数点左右移动的位数指数域有偏移,8位指数e偏移127后,指数值的范围为-126~+127四种特殊情况①当e=0、f≠0时,尾数是个非归一化的数②当e=0、f=0时,x=0③当e=255、f=0时,x为正(s=0)或负(s=1)的无穷大④当e=255、f≠0时,x为一个无效数(NaN—NotaNumber)最高位(第31位)为符号位s7/20/2023
06:04:48-31-定点和浮点数格式浮点数的格式与运算浮点数的格式IEEE754浮点数格式①32位单精度浮点数1100,0011,0101,0010,0000,0000,0000,0000b符号位s=1,表示是一个负数指数e=1000,0110b=134尾数f=101,0010,0000,0000,0000,0000b=0.640625浮点数=—1.640625×2(134-127)=-210.0②32位单精度浮点数0011,1101,0011,1110,0000,0000,0000,0000b符号位s=0,表示是一个正数指数e=0111,1010b=122尾数f=011,1110,0000,0000,0000,0000b=0.484375该浮点数=1.484375×2(122-127)=0.04638671875例7/20/2023
06:04:48-32-定点和浮点数格式浮点数的格式与运算浮点数的格式IEEE754浮点数格式许多32位浮点DSP处理器具有40位的运算单元,可以进行扩展单精度格式的浮点运算扩展单精度格式与单精度格式的区别是,扩展单精度格式的尾数增加了8位,达到31位7/20/2023
06:04:48-33-定点和浮点数格式浮点数的格式与运算浮点数的格式TMS320C3X浮点数格式2)TMS320C3X浮点数格式16位短浮点格式32位单精度格式40位扩展精度格式32位单精度浮点数格式用的最多7/20/2023
06:04:48-34-定点和浮点数格式浮点数的格式与运算浮点数的格式TMS320C3X浮点数格式高8位为指数e,指数域是二进制补码数,可以直接表示正负指数第23位为符号位s分数位f占用低23位符号位和分数位和起来成为尾数m,尾数是归一化的二进制补码数表示的数值7/20/2023
06:04:48-35-定点和浮点数格式浮点数的格式与运算浮点数的格式浮点数的数值范围、精度和动态范围3)浮点数的数值范围、精度和动态范围以IEEE754单精度浮点数为例数值范围不考虑s,当e=254,f为全1最大的数(1-2-23)2127=1.701412×1038,加上符号就对应为正的和负的最大数IEEE754单精度浮点数的数值范围为,-1.701412×1038~1.701412×10387/20/2023
06:04:48-36-定点和浮点数格式浮点数的格式与运算浮点数的格式浮点数的数值范围、精度和动态范围精度尾数f为23位,f变化的最小值为1/223与定点数不同,这个最小值并不是浮点数的精度,精度还与指数有关浮点数的精度是变化的,与数值的大小有关定点数的数值是等间隔的由于指数项的存在,浮点数的变化不是等间隔的,指数大、数值大、数值间隔也大;相反,指数小、数值小、数值间隔也小7/20/2023
06:04:48-37-定点和浮点数格式浮点数的格式与运算浮点数的格式浮点数的数值范围、精度和动态范围最大数(1-2-23)2127不考虑s,当e=1,f为全零时,得到最小数2-126动态范围动态范围若考虑e=0、f0
时的情况,动态范围还会更大浮点数的数值范围和动态范围都要比定点数大的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 流产病因介绍
- (高考英语作文炼句)第12篇老师译文笔记
- 2024年中考英语复习冲刺过关专题05 主谓一致(原卷版)
- 道路维修施工组织设计1
- 开放北二期 有限空间作业专项方案 22.5.16
- 开题报告:新医科背景下以医学生岗位胜任力为导向的基础医学课程评价体系研究
- 开题报告:新时代高校哲学社会科学教材高质量发展的评价指标体系研究
- 《偏瘫运动功能评定》课件
- 2024商业用地短期租赁合同模板
- 2024年个人分期付款合同书样本解析版
- 第四章分子的对称性
- 火电厂专用英汉对照
- 中药材生产管理质量管理文件目录
- 主斜井台阶施工安全技术措施
- (最新)专家服务基层工作培训会领导讲话(精)
- 专业英语四级听力模拟题
- 公立医院DSA设备的综合效益分析
- 人教版八年级上册生物实验教案报告单
- 乡镇殡葬整治工作开展情况汇报
- MSDS(T-09)快干水2x3
- 常用汉字繁简对照表-拼音顺序
评论
0/150
提交评论