复合式动态定点数表示法与运算法及其处理器结构制造技术

技术编号:2860442 阅读:243 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种新型定点数表示法,用来表示一经数值转换操作后的数字数据,该新型定点数表示法包含将该数字数据中预定数目个最低位设为一动态移位值,其中该动态移位值代表于该数值转换操作中所移位的位数;以及将该数字数据中除了该动态移位值之外的多个位对应到经该数值转换操作前的该数字数据的部分位,该部分位包含至少一含有数值信息的最重要位。

【技术实现步骤摘要】

本专利技术提供一种新型定点数运算法及一相关的数字信号处理器,特别指一种可将数字数据在一定点数表示法及一复合式动态定点数表示法之间进行转换的复合式动态定点数运算法(Joint Adaptive Fixed-Point Arithmetic)及相关数字信号处理器。
技术介绍
近十年以来,随着超大型集成电路技术与计算机技术的快速发展,实时数字信号处理的迫切要求,电子信息界相继推出了各种功能型式的数字信号处理器(Digital Signal Processor,DSP)。这些数字信号处理器普遍具有灵活性佳、精确度高、功能强大等优点。数字信号处理器的应用领域很广,然而实际上,并没有一个处理器能完全满足所有的或绝大多数应用需求,设计工程师在选择数字信号处理器时皆需根据性能、成本、集成度、开发的难易程度、以及功率消耗等因素进行综合考虑。概略而言,数字信号处理器皆用来处理数字数据,但不同的数字信号处理器具有不同的特点,适用于不同的应用。一般数字信号处理器可以分为定点数式(Fixed Point DSP)与浮点数式数字信号处理器(Floating Point DSP),这样的区分是依据数字信号处理器所处理的数字数据的型式及对应的运算法。定点数式数字信号处理器使用定点数运算法,所处理的数字数据采用定点数表示法(Fixed Point Representation),“定点数”是指于数字数据中的小数点的位置固定,而具有定点数表示法的数字数据即分别视其中的小数点的位置,可表示为整数或-1.0到+1.0之间的小数形式。浮点数式数字信号处理器则使用浮点数运算法,所处理的数字数据采用浮点数表示法(FloatingPoint Representation),数值表示成一尾数(Mantissa)并同一指数(Exponent)的形式尾数×2指数。浮点数运算法是一种较复杂的运算法则,利用浮点数表示法可以实现将数字数据扩展到相当大的数据动态范围,因此宽广的数值范围与高精确度的性质,显示了浮点数式数字信号处理器所蕴含的巨大的市场潜力,但考虑成本和功率消耗等原因,定点数式数字信号处理器在一般消费性电子产品上的应用,仍将保有稳固的优势。请参阅图1,图1为一常规定点数式数字信号处理器10一实施例的功能方块图。此(定点数式)数字信号处理器10可用来处理多组具有定点数表示法的数字数据,亦即这些数字数据包含了整数(Integer)及小数两种表示型式,此外,于本实施例中,这些数字数据依据其本身所占位数的多少,分成n位的数字数据以及2n位的数字数据,n为大于零的整数。数字信号处理器10包含一数据接收端12、一乘法电路(Multiplication Circuit)16、一乘法移位装置(Multiplication Shifter)18、一第一移位装置14、一第二移位装置24、一选择运算模块(Multiplexing Arithmetic Module)20、一存储装置(Storage Instrument)22、以及一数据写入端26。数据接收端12用来由一存储器或其他外部电路接收多数组n位的数字数据,数据接收端12并将两组n位的数字数据送进乘法电路16中,乘法电路16可将具有定点数表示法的二n位的数字数据相乘,产生一具有定点数表示法的2n位的数字数据,而后电连接到乘法电路16的乘法移位装置18,会依据此数字数据为整数或小数的型式,适当调整相乘之后2n位的数字数据的小数点的位置,产生一2n位的第一数字数据。同时,数据接收端12将一n位的数字数据传送到第一移位装置14中,第一移位装置14将具有定点数表示法的此n位的数字数据,经一基本的正负号延伸程序(Sign Extension),产生一具有定点数表示法的2n位的第二数字数据。以将一8位的二进位正数(n=8)(00010100)转换为一16位的二进位正数(n=16)为例,只要将高位组填满零便可,亦即,将高位的八个位部份补上0,成为(00000000 00010100),但若以二补数表示负数时,就要将延伸出的八个位都填上1,例如一8位的二进位负数(11101100)可利用将延伸的八个位都补上1以得到(11111111 11101100)。选择运算模块20包含一选择装置19及一运算单元(Arithmetic Unit)21,选择装置19电连接到第一移位装置14及乘法移位装置18,用来于2n位的第一数字数据及第二数字数据之间选择其一输出,在实际实施时,选择装置19可使用一多工器(Multiplexer)完成。运算单元21电连接到选择装置19,用来接收选择出的(2n位的)第一数字数据或第二数字数据,而运算单元21包含另一输入端,用来接收由存储装置22传送的2n位的第三数字数据,如此一来,运算单元21可对此些2n位的数字数据(第三数字数据与第一或第二数字数据)执行各种运算的功能,接下来,运算单元21输出处理后的一2n位的第四数字数据到存储装置22,存储装置22的功能即用来存储经选择运算模块20处理后的多组数字数据,而在实际实施时,存储装置22可以一累加器(Accumulator)完成。最后,第二移位装置24将具有定点数表示法的2n位的数字数据转换为仍具有定点数表示法的一n位的数字数据,并由数据写入端26将此具有定点数表示法的n位的数字数据写入前述的存储装置或其他装置中。由上述常规技术可知,定点数式数字信号处理器在普遍为本领域所接受并使用的同时,仍存在着一些极需改善的问题。现今许多定点数式数字信号处理器的主要目标市场是嵌入式应用系统,在这一应用中的存储器的容量需较一般为小,而图1的定点数式数字信号处理器10在与这种容量较小的存储器配合应用的情况下,进行相关的定点数运算时,则被迫具有(位数)解析度上的限制(Resolution limitation),而经常会有量化误差(QuantizationError)发生。请继续参阅图1,图1中两个n位的数字数据经乘法电路16相乘后,乘积为2n位的数字数据,再经一连串的处理后,若第二移位装置24要将具有定点数表示法的2n位的数字数据转换为n位的数字数据,以存储于n位的存储器中时,于此2n位的数字数据为小数型式的情形下,则必须取此2n位的数字数据中较高的n位,而舍去较低n位,而在此番舍弃位数的过程中,容易使转换后的n位的数字数据与原先2n位的数字数据之间产生误差。例如一(二进位法表示法的)48位在十六进位表示法下为0x004444ffffff,若利用舍去较低的24位以转换为24位的数字数据后,成为0x004444,再经常规定点数运算法还原后的数值0x004444000000明显与原数值存有巨大的差异,即造成上述的量化误差。这种量化误差可能会造成在数字信号大小上的不连续、变形、与其他不良的效应,成为常规定点数式数字信号处理器10于效能上的限制。若欲利用增加数字信号处理器的位数、或改用浮点数式数字信号处理器以期改善量化误差,随之而来的是硬件成本的大幅增加。此外,利用修改定点数式数字信号处理器的程序代码以降低量化误差的方法,会增加程序复杂度并占用较多数字信号处理器的运算效能。
技术实现思路
因此本专利技术的主要目的在于一种新型定点数运算法及一新型定点数表示法,并提供一种应用该新型定点数运算本文档来自技高网
...

【技术保护点】
一种新型定点数表示法,用来表示一经数值转换操作后的数字数据,该新型定点数表示法包含: 将该数字数据中预定数目个最低位设为一动态移位值,其中该动态移位值代表于该数值转换操作中所移位的位数;以及将该数字数据中除了该动态移位值之外的多个位对应到经该数值转换操作前的该数字数据的部份位,该部份位包含至少一含有数值信息的最重要位。

【技术特征摘要】
1.一种新型定点数表示法,用来表示一经数值转换操作后的数字数据,该新型定点数表示法包含将该数字数据中预定数目个最低位设为一动态移位值,其中该动态移位值代表于该数值转换操作中所移位的位数;以及将该数字数据中除了该动态移位值之外的多个位对应到经该数值转换操作前的该数字数据的部份位,该部份位包含至少一含有数值信息的最重要位。2.如权利要求1的新型定点数表示法,其用于一数字信号处理器中。3.如权利要求1的新型定点数表示法,其中该数值转换操作为一复合式动态定点数运算法,用来将该数字数据在一定点数表示法及一复合式动态定点数表示法之间转换。4.一种用于一数字信号处理器中的方法,用来将具有一定点数表示法的一高位数数字数据转换为具有一新型定点数表示法的一低位数数字数据,该方法包含(a)依据该高位数数字数据的绝对值大小,将具有该定点数表示法的该高位数数字数据放大移位N位,其中N为大于或等于零的整数,且N的值随着该高位数数字数据的绝对值大小而变动;(b)于进行步骤(a)后,舍去该高位数数字数据中一预定数目的位数;以及(c)于进行步骤(a)后,设置一动态移位值,以产生具有该新型定点数表示法的该低位数数字数据,其中该动态移位值对应于N的值。5.如权利要求4的方法,其中当该高位数数字数据的绝对值愈大,N的值愈小;当该高位数数字数据的绝对值愈小,N的值愈大。6.如权利要求4的方法,其还包含(d)于步骤(a)中,判断N的值是否小于一最大移位位数,其中该最大移位位数对应于该动态移位值所能表示的一最大值;以及(e)于步骤(a)中且进行步骤(d)后,若N的值小于该最大移位位数,则维持N的值,若N的值大于或等于该最大移位位数,则将N的值设为该最大移位位数。7.如权利要求6的方法,其中该高位数数字数据包含一标示位(Signbit),N的值的选定由比较该标示位与该高位数数字数据中的其他位而得。8.如权利要求7的方法,其中该低位数数字数据包含该标示位,且具有该新型定点数表示法的该低位数数字数据可依据该动态移位值以及该标示位,转换成为具有该定点数表示法的该高位数数字数据。9.如权利要求4的方法,其还包含(f)于进行步骤(c)后,将具有该新型定点数表示法的该低位数数字数据写入一存储装置中。10.一种用于一数字信号处理器中的方法,用来将具有一新型定点数表示法的一低位数数字数据转换为具有一定点数表示法的一高位数数字数据,该方法包含由该低位数数字数据中取得一动态移位值;以及依据该动态移位值,将该低位数数字数据缩小移位N位,其中N为大于或等于零的整数。11.如权利要求10的方法,其还包含将该低位数数字数据的该动态移位值所占的位处填上一特定值。12.如权利要求10的方法,其中该高位数数字数据包含一标示位(Signbit),该方法还包含依据该标示位,决定该N位中每一位的值。13.如权利要求10的方法,其中该动态移位值位于该低位数数字数据中的预定数目个最低位。14.一种数字信号处理器,用来处理至少一组数字数据,该至少一组数字数据分别具有多个数值表示法,该多个数值表示法至少包含一定点数表示法以及一新型定点数表示法,该数字信号处理器包含至少一提取移位装置...

【专利技术属性】
技术研发人员:徐建华
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1