CN1570847A - 应用跳跃式浮点数运算法的数字讯号处理器 - Google Patents

应用跳跃式浮点数运算法的数字讯号处理器 Download PDF

Info

Publication number
CN1570847A
CN1570847A CN 03133040 CN03133040A CN1570847A CN 1570847 A CN1570847 A CN 1570847A CN 03133040 CN03133040 CN 03133040 CN 03133040 A CN03133040 A CN 03133040A CN 1570847 A CN1570847 A CN 1570847A
Authority
CN
China
Prior art keywords
representation
number representation
jump
data
great
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 03133040
Other languages
English (en)
Other versions
CN100410871C (zh
Inventor
雷永群
陈玉铢
张佑齐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Priority to CNB031330401A priority Critical patent/CN100410871C/zh
Publication of CN1570847A publication Critical patent/CN1570847A/zh
Application granted granted Critical
Publication of CN100410871C publication Critical patent/CN100410871C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

本发明提供一种数字讯号处理器,用来处理具有一定点数表示法或一跳跃式浮点数表示法的多笔数字数据。该数字讯号处理器包含有一乘法电路、一萃取位移装置、多个表示法转换电路以及一运算单元。乘法电路用来将二低位数数字数据相乘产生一高位数数字数据;萃取位移装置电连于该乘法电路,用来将具有该跳跃式浮点数表示法的一高位数数字数据转换为具有该定点数表示法的一高位数数字数据;每一表示法转换电路将一数字数据在该定点数表示法及该跳跃式浮点数表示法之间作转换;运算单元用来运算该多笔数字数据。

Description

应用跳跃式浮点数运算法的 数字讯号处理器
技术领域
本发明涉及一种可处理多笔数字数据的数字讯号处理器及相关方法,特别涉及一种利用一跳跃式浮点数运算法(Jumping Floating Point Arithmetic),将多笔数字数据在一定点数表示法及一跳跃式浮点数表示法之间作转换及运算的数字讯号处理器及相关方法。
背景技术
近十年以来,随着超大规模集成电路技术与计算器技术的快速发展,实时数字信号处埋的迫切要求,电子信息业界相继推出了各种功能型式的数字讯号处理器(Digital Signal Processor,DSP)。这些数字讯号处理器普遍具有灵活性佳、精确度高、功能强大等优点。数字讯号处理器的应用领域很广,然而实际上,并没有一个处理器即能完全满足所有的或绝大多数应用需求,设计工程师在选择数字讯号处理器时皆需根据性能、成本、整合度、开发的难易程度、以及功率消耗等因素进行综合考虑。
概略而言,数字讯号处理器皆是用来处理数字数据,但不同的数字讯号处理器具有不同的特点,适用于不同的应用。一般数字讯号处理器可以分为定点数式(Fixed Point DSP)与浮点数式数字讯号处理器(Floating Point DSP),这样的区分是依据数字讯号处理器所处理的数字数据的型式及对应的运算法。定点数式数字讯号处理器使用定点数运算法,所处理的数字数据采用定点数表示法(Fixed Point Representation),「定点数」是指在数字数据中的小数点的位置固定,而具有定点数表示法的数字数据即分别视其中的小数点的位置,可表示为整数或-1.0到+1.0之间的小数形式。浮点数式数字讯号处理器则使用浮点数运算法,所处理的数字数据采用浮点数表示法(Floating PointRepresentation),数值表示成一尾数(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位的数字数据写入前述的存储装置或其它装置中。
上述关于定点数式数字讯号处理器10的已知技术的基本概念及架构已在许多已知专利中有相关的描述。Kiuchi等人在US Patent 5,884,092,“Systemfor maintaining fixed-point data alignment within a combination CPU and DSPsystem”中,在类似上述定点数式数字讯号处理器10的架构下,特别针对整数型式的数字数据提出一简易校正法(Correction Process),利用一指令(Instruction)提示所处理的数字数据于位时的相关信息,可避免多余累赘的位移操作(Shift Operation)并增加运作的速度。而关于定点数运算法的已知专利也有许多,如Takano等人在US Patent 5,524,089,“Logarithm computing circuitfor fixed point numbers”中将浮点数表示法中尾数与指数的概念应用于定点数运算法中,并着眼于二进制与十进制数值表示的转换运作上,以期缩减相关电路的面积与复杂度。
由上述已知技术可知,定点数式数字讯号处理器在普遍为业界所接受并使用的同时,仍存在着一些极需改善的问题。现今许多定点数式数字讯号处理器的主要目标市场是嵌入式应用系统,在这项应用中的存储器的容量需较一般为小,而图1的定点数式数字讯号处理器10在与此种容量较小的存储器配合应用的情况下,进行相关的定点数运算时,就经常会有量化误差(Quantization Error)发生。请再参阅图1,图1中两个n位的数字数据经乘法电路16相乘后,乘积为2n位的数字数据,再经一连串之处理后,若第二位移装置24要将具有定点数表示法的2n位的数字数据转换为n位的数字数据,以储存于n位的存储器中时,在此2n位的数字数据为小数型式的情形下,则必须取此2n位的数字数据中较高的n位,而舍去较低n位,而在此番舍弃位数的过程中,容易使转换后的n位的数字数据与原先2n位的数字数据之间产生误差。例如一(二进制法表示法的)48位在十六进制表示法下为:0x004444ffffff,若利用舍去较低的24位以转换为24位的数字数据后,成为0x004444,再经已知定点数运算法还原后的数值0x004444000000明显与原数值存有巨大的差异,即造成上述的量化误差。这种量化误差可能会造成在数字信号大小上的不连续、变形、与其它不良的效应,成为已知定点数式数字讯号处理器10在效能上的限制。若欲利用增加数字讯号处理器的位数、或改用浮点数式数字讯号处理器以期改善量化误差,随之而来的是硬件成本的大幅增加。此外,利用修改定点数式数字讯号处理器的程序代码以降低量化误差的方法,会增加程序复杂度并消耗较多数字讯号处理器的运算效能。
发明内容
因此本发明的主要目的是提供一种利用一跳跃式浮点数运算法的数字讯号处理器,并提供一种新型的跳跃式浮点数表示法以处理及运算多笔数字数据,以解决上述问题。
在本发明中,我们以已知的定点数表示法为基础,并参考浮点数表示法的部分基本概念后,提出一种一新型的跳跃式浮点数表示法(Jumping FloatingPoint representation,JFP),并在数字讯号处理器的架构中引入跳跃式浮点数表示法的概念,设置相对应的硬设备,使一高位数数字数据转换为一低位数数字数据时,可以用较少重复位的方式完成转换并储存至一存储器中,而在之后将低位数数字数据读取回原先的高位数数字数据时,又可较精准并有效率地完成还原的效果,如此一来便可在不耗费过多额外资源的情况下,降低量化误差。
本发明的目的为提供一种数字讯号处理器(Digital Signal Processor),用来处理多笔数字数据,该多笔数字数据分别具有多个数值表示法,该多个数值表示法至少包含有一定点数表示法(Fixed Point Representation)以及一跳跃式浮点数表示法(Jumping Floating Point representation),该数字讯号处理器包含有一乘法电路(Multiplication Circuit),用来将至少二低位数数字数据相乘产生一高位数数字数据;一萃取位移装置(Extracting/Shifting Device),电连于该乘法电路,用来将具有该跳跃式浮点数表示法的一高位数数字数据转换为具有该定点数表示法的一高位数数字数据;多个表示法转换电路(RepresentationConverter),每一表示法转换电路利用一跳跃式浮点数运算法(Jumping FloatingPoint Arithmetic),将一数字数据于该定点数表示法及该跳跃式浮点数表示法之间作转换;以及一运算单元(Arithmetic Unit),用来运算该多笔数字数据。
本发明的另一目的为提供一种用于一数字讯号处理器中的方法,用来将具有一定点数表示法的一高位数数字数据转换为具有一跳跃式浮点数表示法的一低位数数字数据。该方法包含有(a)依据该高位数数字数据的绝对值大小,将具有该定点数表示法的该高位数数字数据放大位移(Magnifying Shift)N位,其中N为大于或等于零的整数,且N的值随着该高位数数字数据的绝对值大小而变动;(b)在进行步骤(a)后,舍去该高位数数字数据中一预定数目的位数;以及(c)在进行步骤(b)后,设置一尾端识别码(Tail Mark),以产生具有该跳跃式浮点数表示法的该低位数数字数据,其中该尾端识别码对应于N的值。
本发明的另一目的为提供一种用来处理多笔数字数据的数字讯号处理器,该多笔数字数据分别具有多个数值表示法,该多个数值表示法至少包含有一定点数表示法以及一跳跃式浮点数表示法,该数字讯号处理器包含有一数据接收端,用来接收多数笔低位数数字数据;一乘法电路,电连于该数据接收端,用来将具有该定点数表示法的二低位数数字数据相乘,产生一具有该定点数表示法的一高位数数字数据,或者将具有该跳跃式浮点数表示法的二低位数数字数据相乘,产生一具有该跳跃式浮点数表示法的一高位数数字数据;一萃取位移装置,电连于该乘法电路,用来将具有该跳跃式浮点数表示法的该高位数数字数据转换为具有该定点数表示法的一高位数数字数据;一第一表示法转换电路(Representation Converter),电连于该数据接收端,用来将具有该跳跃式浮点数表示法的一低位数数字数据转换为具有该定点数表示法的一高位数数字数据,或者将具有该定点数表示法的一低位数数字数据转换为具有该定点数表示法的一高位数数字数据;一选择运算模块(Multiplexing Arithmetic Module),电连于该第一表示法转换电路以及萃取位移装置,用来执行选择及运算的功能;一储存装置,电连于该选择运算模块,用来储存经该选择运算模块处理后的多笔数字数据;一第二表示法转换电路,电连于该储存装置,用来将具有该定点数表示法的一高位数数字数据转换为具有该跳跃式浮点数表示法的一低位数数字数据;以及一数据写入端,用来将具有该跳跃式浮点数表示法的该低位数数字数据写入一存储装置(Memory Device)。
附图说明
图1为已知一定点数式数字讯号处理器的一实施例的功能方块图;
图2为本发明一数字讯号处理器的一实施例的功能方块图;
图3为具有本发明跳跃式浮点数表示法的一数字数据的示意图;
图4为图3跳跃式浮点数表示法一详细实施例的示意图;
图5为图3跳跃式浮点数表示法的另一详细实施例的示意图;
图6为本发明一方法实施例的流程图;
图7为图6的一详细方法实施例的流程图;
图8为本发明另一方法实施例的流程图;
图9为图2数字讯号处理器中部分原件的一实施例的功能方块图;
图10为图2数字讯号处理器的一详细实施例的功能方块图;和
图11为图2数字讯号处理器的另一详细实施例的功能方块图。
附图符号说明
10、30、50、70数字讯号处理器  12、52、72       数据接收端
14            第一位移装置    16、36、56、76   乘法电路
18            乘法位移装置    19、69、89       选择装置
20、60、80    选择运算模块    21、31、61、81   运算单元
22、62、82    储存装置        24               第二位移装置
26、66、86    数据写入端      33               第一表示法转换电路
34            表示法转换电路  35               第二表示法转换电路
37、57、77    萃取装置        38、58、78       萃取位移装置
39、59、79    位移装置        53               第三表示法转换电路
55            第四表示法转换  73               第五表示法转换电路
              电路
75            第六表示法转换
              电路
具体实施方式
本发明的技术特征基于一跳跃式浮点数运算法(Jumping Floating PointArithmetic),能将一数字数据在已知的定点数表示法与本发明的一跳跃式浮点数表示法(Jumping Floating Point representation,JFP)之间作转换,降低数值转换时可能发生的量化误差。而具备本发明技术特征的数字讯号处理器(Digital Signal Processor,DSP),则因此能同时处理及运算具有定点数表示法与跳跃式浮点数表示法的数字数据。请参阅图2,图2为本发明一数字讯号处理器30的一实施例的功能方块图。如前所述,本发明的数字讯号处理器30能处理具有定点数表示法与跳跃式浮点数表示法的数字数据,而在本实施例中,数字数据依据位数的多寡又可分为高位数数字数据(可对应至图1中2n位的数字数据)以及低位数数字数据(可对应至图1中n位的数字数据),而在实际实施时,数字数据所具有的位数并不限定,不仅上述高位数数字数据及低位数数字数据两种。数字讯号处理器30包含有一乘法电路(MultiplicationCircuit)36、一萃取位移装置(Extracting/Shifting Device)38、表示法转换电路(Representation Converter)34、一运算单元(Arithmetic Unit)31。乘法电路36可用来将二低位数数字数据相乘产生一高位数数字数据,而萃取位移装置38电连于乘法电路36,用来将具有跳跃式浮点数表示法的一高位数数字数据转换为具有定点数表示法的一高位数数字数据。表示法转换电路34包含一第一表示法转换电路33及一第二表示法转换电路35,第一及第二表示法转换电路33、35皆可应用本发明的跳跃式浮点数运算法,分别将其所接收的数字数据在定点数表示法及跳跃式浮点数表示法之间作转换。运算单元31与萃取位移装置38、第一表示法转换电路33、及第二表示法转换电路35相互连接,可用来运算传送至其中的数字数据,且由运算单元31所处理的数字数据并不限定为不定点数表示法及跳跃式浮点数表示法。
请注意,表示法转换电路34的数量并不限制(可不只包含第一及第二表示法转换电路33、35),亦可将每一个表示法转换电路34的功能分别设计为「将具有定点数表示法的数字数据转换为具有跳跃式浮点数表示法的数字数据」或者「将具有跳跃式浮点数表示法的数字数据转换为具有定点数表示法的数字数据」,如此一来,即可将具有特定转换功能的表示法转换电路34,视实际情形安装设置于本发明数字讯号处理器30中任何有此转换需要之处,接收并输出具有跳跃式浮点数表示法或定点数表示法的数字数据。这也同时昭示了,在上述本实施例的数字讯号处理器30中,第一及第二表示法转换电路33、35与其它组件间的连接组合方式并不固定,无需如图2中限定与运算单元31相连,可随数字数据的运算流程与其它硬件组件作弹性的相互连接。举例而言,若使用者欲将经运算单元31处理并输出后的一具有该定点数表示法的高位数数字数据,转换为一低位数数字数据以写入一外接存储器中,则可把第二表示法转换电路35设计为具备「将此具有该定点数表示法的高位数数字数据转换为具有本发明跳跃式浮点数表示法的低位数数字数据」的功能,并由于本发明的跳跃式浮点数运算法具有低量化误差的技术特征,可使得写入外接存储器中的低位数数字数据与原先的高位数数字数据之间,因转换所造成的误差减至最低。
在大致了解本发明的数字讯号处理器基本的架构之后,为了确实的了解本发明数字讯号处理器的运作方式的技术特征,就必须先详细披露本发明所提出的跳跃式浮点数表示法及跳跃式浮点数运算法,并介绍在本发明中如何设置对应的硬件架构以应用跳跃式浮点数运算法,完成具有本发明完整的技术特征的数字讯号处理器。本发明的跳跃式浮点数表示法是介于已知定点数表示法以及浮点数表示法之间的一种新型的数值表示法,跳跃式浮点数表示法基于定点数表示法中将一数字数据表示为-1.0到+1.0之间的小数形式,并引用浮点数表示法的概念,使用一至数个位来作为该数字数据的指数(Exponent),而此指数在本发明中称为尾端识别码(Tail Mark)。数字数据中其余的位则为尾数(Mantissa)。跳跃式浮点数表示法的基本概念为:具有跳跃式浮点数表示法的数字数据中的尾端识别码所占用的位数,会随转换前的数字数据的原数值大小而调整,当转换前的原数值较大时,尾端识别码占有较少位,而当原数值较小时,过多重复的位会占据原数值的较高位数处,此时则让尾端识别码占有较多位,以大量取代原数字数据中过多重复的位。请参阅图3,图3为具有本发明跳跃式浮点数表示法的一数字数据DA的一实施例的示意图。此数字数据DA是由一标识位(Sign bit)、占最多位数的位数据、以及一尾端识别码所构成。如前所述,尾端识别码所占的位数并不固定;标识位为此数字数据DA中的最高位,作为正负符号的判定,当标识位为0时,数字数据DA为正值,当标识位为1时,数字数据DA则为负值,而在原数值较小而需判定原数字数据中重复的位时,即是由此数字数据DA中次于标识位之下一位处起(位数据的最高位),将与标识位具有相同的位值(1或0)的位)的位视为重复的位。
请回头对照图2,具有图3所示表示法的数字数据可对应至图2实施例所称的一具有本发明跳跃式浮点数表示法的低位数数字数据,而由图2的描述可知,图3的数字数据DA即是由原先一具有定点数表示法的高位数数字数据,利用本发明的跳跃式浮点数运算法转换后而得。请见图4,图4为图3跳跃式浮点数表示法一详细实施例的示意图。图4实施例中所显示的数字数据的位数设为24,且此24位的数字数据所具有的表示法称为一「定阶数跳跃式浮点数表示法(Regular JFP)」,其为本发明跳跃式浮点数表示法中的一种,详细情形描述如下。本实施例中此24位的数字数据是由一具有定点数表示法的高位数数字数据转换而来,此高位数数字数据的位数可设为48位或其它较24为高的位数。举例而言,若欲将一48位的数字数据(具有定点数表示法)转换为具有图4所示型式的一24位的数字数据时,跳跃式浮点数运算法会依据该48位的数字数据的绝对值大小,将此48位的数字数据放大位移(Magnifying Shift)N位,N的值随着此48位的数字数据的绝对值大小而变动,当此48位的数字数据的绝对值愈大,N的值愈小,而当绝对值愈小时,N的值则愈大。上述的「定阶数跳跃式浮点数表示法」包含多阶位移模式,且固定每阶位移模式所要放大位移的位数,在图4实施例中,我们固定每隔一阶位移模式多位移4位,在将位移模式设为四阶(第零阶S0至第三阶S3)的情况下,四阶位移模式S0-S4分别放大位移的位数为0、4、8、12。此种将每阶位移模式所欲放大位移的位数设为固定值的表示法,即为本实施例「定阶数跳跃式浮点数表示法」的基本技术特征。
请继续参阅图4,并同时对照图3可知,每一阶位移模式下的数字数据都包含一标识位,此标识位的值与原先48位的数字数据中的标识位相同,而在将48位的数字数据转换为具有「定阶数跳跃式浮点数表示法」的24位的数字数据时,就是利用将该标识位与该48位的数字数据中的其它位加以比较,以选定一特定的位移模式及与其对应的N值。为求画面显示清晰,我们以一个十六进制表示的数(在十六进制表示法下的一位代表了二进制表示法下的四位):0x004444ffffff为例,十六进制表示法的前三位数004代表了二进制表示法下的12位数000000000010,最左边的为标识位,标识位后有九个0,由于这九个0是与标识位重复的位,因此对照图4后的结果,位移模式则可设为第二阶位移模式S2,代表了在转换的过程中放大位移了8个位。接下来,为了将48位的数字数据转换为24位的数字数据,必须由较低位处舍弃24位,最后再加入对应于第二阶位移模式S2的尾端识别码。请注意,如图4所示,尾端识别码是设置于24位的数字数据的最尾端(最低位处),其所占的位数并不固定,且每一阶位移模式分别对应至不同的尾端识别码。本实施例将位移模式分为四阶,因此最多利用3个位(位0、位1、及位2)去作为尾端识别码,当原(48位的数字数据的)数值很大时,跳跃式浮点数运算法不对原数值作任何放大位移的操作,只在其最后一个位(位0)标上1作为标记,视为第零阶位移模式S0;而在第一阶位移模式S1,原数值较第零阶位移模式S0为小,因此需将原先的48位的数字数据放大位移4位(等同于乘以24)后,取较高位处的22个位置于24位的数字数据的位23至位2之处,再将位1与位0标记为“10”,完成符合「定阶数跳跃式浮点数表示法」的数字数据,同理可类推至上述第二阶位移模式S2中,而第三阶位移模式S3特别将尾端识别码设为“000”,其特殊的用意将于后面详述。若回头再以48位的数字数据0x004444ffffff为例,将其放大位移8个位,并由较低位处舍弃24位,最后再加入尾端识别码(100)后,即完成具有「定阶数跳跃式浮点数表示法」的24位的数字数据:0x4444fc。
请注意,本发明中的尾端识别码并不限形式,不限位数,亦不限其设置的位置,在图4中所示的尾端识别码仅为本发明中的一较佳实施例。然而,本实施例的尾端识别码的设计具有许多优点,首先,在由尾端识别码判断此数的位移模式为何阶时,可由该数的最后一位(位0)加以检查,由位值为1的位置即可轻易地解读出此数的位移模式。例如,若发现位0、位1的值皆为0,而位2的值为1,则可知此数字数据为第二阶位移模式S2,而其的原数在转换的过程中被放大位移了8个位;又倘若位0至位2的值皆为0,则可知此数字数据为第三阶位移模式S3,而其原数在转换的过程中被省略了重复的12个位。再者,无论在转换过程中被省略的位(如本实施例中由较低位处舍弃24位)为何,由于二进制表示法中任何数的最小值(00000…0)与最大值(11111…1)的平均值即为(10000…0),因此,此种尾端识别码的型式(只有最高位值为1,其余为0)可代表在转换过程中被省略的位数的平均值,可使省略后的值与原先的值的差异减至最低,如此一来,在将这些具有图4表示法的数字数据施以部分运算时,无须将尾端识别码特意剔除,而将尾端识别码纳入视为一整体的数值。可推想而知,本实施例中将对应于第三阶位移模式S3的尾端识别码设为“000”的用意,即是避免原(48位的数字数据的)数值为0时,任何含有位值1的尾端识别码所可能造成在运算上的错误,勿使原本为0的数值在经转换后产生不为0的数字数据。
本发明跳跃式浮点数表示法还包含一「不定阶数跳跃式浮点数表示法(Non-Regular JFP)」,略不同于图4所示的「定阶数跳跃式浮点数表示法」,此种表示法并不固定每阶位移模式所增加的放大位移的位数,请参阅图5。图5为图3跳跃式浮点数表示法的另一详细实施例的示意图。图5所示的「不定阶数跳跃式浮点数表示法」的基本概念仍与图4实施例相同,仍是将此一高位数(如48位)的数字数据依据其绝对值放大位移N位,而当原数的绝对值愈大,N的值愈小,当原数的绝对值愈小时,N的值则愈大,以省略过多重复的位,同时可保留更多有效的位。请见图5,本实施例的「定阶数跳跃式浮点数表示法」亦包四阶位移模式(N0-N3),而第零阶位移模式N0至第三阶位移模式N3分别放大位移的位数为0、3、7、12,不再是如前一实施例的(等差级数)设计0、4、8、12。除了每一阶位移模式所定义的放大位移的位数并非固定增加4位之外,本实施例的技术特征大致上皆与图4实施例相同,标识位与尾端识别码的功能亦可对应至图4实施例中的描述。
事实上,无论是图4或图5的实施例,位移模式的阶数并不限定为四阶,例如,在图4实施例中可加入第四阶位移模式、第五阶位移模式、…等等。承袭「定阶数跳跃式浮点数表示法」的基本概念,可假设每一阶位移模式固定为正整数P的倍数,而一共设置L阶,L为一大于或等于0的整数,如此一来,第零阶位移模式放大位移0位,第一阶位移模式放大位移P位,而直到第L阶位移模式则可放大位移(L-1)*P位,只要(L-1)*P的值小于原数的总位数即可。当然,若位移模式的阶数增加,意味着尾端识别码所占的位数也必须随之增加,才能充分取代原数字数据中多量的重复的位。此外,无论是从图4或图5的实施例,皆可看出在原数值越大时,占有越少位数的尾端识别码代表着保留了越多原数值中有效的位,相对的,原数值越小时,与原数值较大的情况相比之下,转换后占有越多位数的尾端识别码似乎保留了较少有效的位,事实上,在原数值较小时,尾端识别码能利用取代大量重复的位,更加有效地保留了更多原数值中有效的位。如此一来,本发明的跳跃式浮点数运算法在将一(具有定点数表示法)高位数数字数据(如上述48位的数字数据)转换为一(具有跳跃式浮点数表示法)低位数数字数据(如24位的数字数据)时,能保有转换前的高位数数字数据中更多的有效位。亦即,在转换前后的数字数据皆具有相同的总位数的情况下,与已知定点数表示法相比,跳跃式浮点数表示法可使相关的数字讯号处理器的运算获得更高的精确度,也无需浮点数表示法过高的复杂度。
综上所述,本发明的跳跃式浮点数运算法应用于如图2的一数字讯号处理器中,用来将一具有定点数表示法的高位数数字数据转换为一具有跳跃式浮点数表示法(包含「定阶数跳跃式浮点数表示法」及「不定阶数跳跃式浮点数表示法」)的低位数数字数据,归纳后的方法实施例可参阅图6,图6为本发明一方法实施例的流程图,包含有下列步骤:
步骤100:开始;
步骤102:设定多阶位移模式,每一阶位移模式分别对应至不同的N值(N为大于或等于零的整数);
步骤104:依据此高位数数字数据的绝对值大小,选定一位移模式,并将具有定点数表示法的高位数数字数据放大位移(对应于该阶位移模式的)N位,选择位移模式及N值的基本原则为:当原先高位数数字数据的绝对值愈大时,N的值愈小,当高位数数字数据的绝对值的绝对值愈小时,N的值则愈大,同时,N值及位移模式的选定是由比较一标识位与此高位数数字数据中的其它位而得;
步骤106:舍去此高位数数字数据中一预定数目的位数,使得此高位数数字数据在舍弃此预定数目的位数后,其所具有的位数与低位数数字数据的位数相同;
步骤108:设置一(对应于所选定的位移模式及N值的)尾端识别码,以产生具有跳跃式浮点数表示法的低位数数字数据;
步骤110:完成跳跃式浮点数运算法的转换。
基于上述图4的实施例,并以图6中所述的操作流程为依据,图7显示了本发明将一具有定点数表示法的48位的数字数据转换为一具有跳跃式浮点数表示法的24位的数字数据的一详细方法实施例。请参阅图7,图7为图6的一详细方法实施例的流程图,包含下列步骤:
步骤200:刚开始提供一具有定点数表示法的48位的数字数据;
步骤202:判断该48位的数字数据的绝对值是否小于2-(4*1),若是,则进行步骤204,若否,则进行至步骤208,选定一m值为0,将位移模式设定为第零阶位移模式N0;
步骤204:继续判断该48位的数字数据的绝对值是否小于2-(4*2),若是,则进行步骤206,若否,则进行至步骤208,选定m值为1,将位移模式设定为第一阶位移模式N1;
步骤206:继续判断该48位的数字数据的绝对值是否小于2-(4*3),若是,则进行步骤208,选定m值为3,设定为第三阶位移模式N3,若否,则亦进行至步骤208,但选定m值为2,设定为第二阶位移模式N2;
步骤208:依据此48位的数字数据的绝对值大小,配合步骤202至步骤206的运作,选定m值,并于m值选定之后,进行步骤210;
步骤210:将该具有定点数表示法的48位的数字数据放大2(4*m)倍,也就是将此48位的数字数据放大位移(4*m)位;
步骤212:舍去此48位的数字数据中最后的24位,成为一24位的数字数据;
步骤214:加上一对应m值的尾端识别码,当m值为0,位0的值为1;当m值为1,位0的值为0,而位1的值为1;当m值为2,位0及位1的值为0,位2的值设为1;当m值为3,位0、位1、及位2的值皆设为0;
步骤216:产生一具有跳跃式浮点数表示法的24位的数字数据,完成跳跃式浮点数运算法的转换。
本发明的跳跃式浮点数运算法在将一具有定点数表示法的高位数数字数据转换为一具有跳跃式浮点数表示法的低位数数字数据的同时,也必须要能将具有跳跃式浮点数表示法的此低位数数字数据还原回具有定点数表示法的高位数数字数据,才算完整的实现本发明将一数字数据于定点数表示法及跳跃式浮点数表示法之间作转换的技术特征。在实际实施时,只要将上述的程序以相反(Reversed)的概念加以操作,在转换时,依据尾端识别码,将低位数数字数据缩小位移(Minifying Shift)N位(N为大于或等于零的整数),并依据标识位,决定N位中每一位的值,同时增补一预定数目的位数于低位数数字数据中,使得此低位数数字数据在增补此预定数目的位数后,其所具有的位数与所欲的高位数数字数据的位数相同,当然,所增补的位数中每一位的值,必需与标识位的值相同,如此一来,即可完成还原的目的。在此,我们继续以上述具有「定阶数跳跃式浮点数表示法」的24位的数字数据:0x4444fc(十六进制表示法)为例,若欲将此24位的数字数据还原转换为(具有定点数表示法的)48位的数字数据,由于此24位的数字数据于十六进制表示法中的最后一位值c对应于二进制表示法下的4的位值(1100),也就是对应于图4中的位0、位1的值皆为0,而位2的值为1,等同于尾端识别码为(100),在回头参照图4实施例后,则可判定此数字数据属于第二阶位移模式S2,亦代表当初转换时放大位移了8位。于是,将此数缩小位移8位(等同于除以28),并将总位数依据标识位(其值为0)增补至48位,即可产生(具有定点数表示法的)48位的数字数据0x004444fc0000。
与0x4444fc的原数0x004444ffffff相比可知,经过本发明跳跃式浮点数运算法转换后再还原的数值0x004444fc0000仍与原数值有所差异,但若单纯使用已知定点数运算法,将48位的数字数据舍弃后24位的数据(成为0x004444)再还原而得的值(0x004444000000)相比,则可看出本发明跳跃式浮点数运算法能有效的减少数值转换过程中的量化误差,使其在硬件上实施时,可以在不增添太多额外软硬件资源的情况下,能以较小的空间储存及处理数字数据并提高精确度。
图8描述了上述本发明将一具有跳跃式浮点数表示法的24位的数字数据转换为一具有定点数表示法的48位的数字数据的一详细方法实施例。请参阅图8,图8为本发明另一方法实施例的流程图,包含下列步骤:
步骤300:刚开始提供一具有跳跃式浮点数表示法的24位的数字数据,接下来同时进行步骤302及步骤310;
步骤302:判断位0的值,若位0的值为0,则进行步骤304;若位0的值为1,则进行至步骤308,将一m值设为0,亦即将位移模式判断为第零阶位移模式N0;
步骤304:继续判断位1的值,若位1的值为0,则进行步骤306;若位1的值为1,则进行至步骤308,将m值设为1,亦即将位移模式判断为第一阶位移模式N1;
步骤306:继续判断位2的值,若位2的值为0,则进行步骤308,将m值设为3,亦即将位移模式判定为第三阶位移模式N3;若位2的值为1,亦进行至步骤308,将一m值设为2,将位移模式判断为第二阶位移模式N2;
步骤308:依据此24位的数字数据中的尾端识别码,配合步骤302至步骤306的检查步骤,得到m值,并于m值选定之后,进行步骤312;
步骤310:在此24位的数字数据之后增补24位的0值,成为一48位的数字数据;
步骤312:将步骤310中所得的48位的数字数据,依据经步骤308后所得的m值,缩小2(4*m)倍,也就是将此48位的数字数据缩小位移(4*m)位;
步骤314:产生一具有定点数表示法的48位的数字数据,成功将具有跳跃式浮点数表示法的24位数字数据还原回具有定点数表示法的48位数字数据。
将上述所有本发明的方法应用于硬件上实施时,相关的实施例可回头参阅图2。由于本发明图2的数字讯号处理器30可以在其中进行具有定点数表示法与跳跃式浮点数表示法的数值处理与运算(运算包含加减乘除等数学运算),并可进行定点数表示法与跳跃式浮点数表示法形式之间的转换,意即,本发明的数字讯号处理器30能在极低的量化误差下处理较低位数数字数据,因此无须增加数字讯号处理器的位数、无须改用浮点数式数字讯号处理器、亦无需修改数字讯号处理器30程序代码的情况下,就能大幅增加运算结果与正确结果之间的一致性,且能以一较小容量的外接存储器储存具有跳跃式浮点数表示法的低位数数字数据,降低硬件成本。
请再参阅图2实施例,在数字讯号处理器30中有三个组件直接牵涉到本发明的跳跃式浮点数运算法:萃取位移装置38、第一表示法转换电路33、及第二表示法转换电路33、35。其中第一及第二表示法转换电路33、35能执行定点数表示法与跳跃式浮点数表示法之间的转换功能,其运作的方式可完全参照上述图4至图8实施例,而萃取位移装置38依功能细分,又可区别为一萃取装置37以及一位移装置39,请见图9,图9为图2数字讯号处理器30部分原件的一实施例的功能方块图,包含有萃取装置37、位移装置39、与乘法电路36。倘若输入乘法电路36中的二低位数(n位)数字数据皆具有跳跃式浮点数表示法,在相乘的过程中,如图3所示的位数据、与尾端识别码可分开视之,因此,乘法电路36可将二低位数(n位)数字数据各自的位数据直接相乘。而此时二低位数数字数据亦送进萃取装置37中,萃取出该二低位数数(n位)位数据中各自的尾端识别码,判断出相关的信息(如个别的位移模式及N值),接着将此相关信息传送入位移装置39,依据判断出的位移模式及N值,将经由乘法电路36处理后的数据作出对应的小数点位移,以得出正确的(具有定点数表示法的)一高位数(2n位)数字数据。
图2实施例中的电路结构并非固定,可根据不同需求而作调整,因此,我们接下来提出一特定结构的数字讯号处理器,充分披露本发明的跳跃式浮点数运算法与硬设备配合运用的情形。请参阅图10,图10为图2的一详细实施例的功能方块图。图10的数字讯号处理器50包含有一数据接收端52、一乘法电路56、一萃取装置57、一位移装置59、一第三表示法转换电路53、一选择运算模块60、一储存装置62、一第四表示法转换电路55、以及一数据写入端66。数据接收端52可接收多笔具有跳跃式浮点数表示法的n位的数字数据,乘法电路56电连于数据接收端52,用来接收二笔具有跳跃式浮点数表示法的n位的数字数据,乘法电路56亦会将此二n位的数字数据相乘,产生具有跳跃式浮点数表示法的2n位的数字数据,再经由萃取装置57及位移装置59(萃取装置57与位移装置59可合并视为一萃取位移装置58)处理后,得出具有定点数表示法的2n位的第五数字数据。在此同时,电连于数据接收端52的第三表示法转换电路53亦接收一具有跳跃式浮点数表示法的n位的数字数据,依据该n位的数字数据的尾端识别码及标识位,用来将此n位的数字数据转换为具有定点数表示法的一2n位的第六数字数据。选择运算模块60包含一选择装置69及一运算单元61,选择装置69电连于第三表示法转换电路53以及位移装置59,用来由2n位的第五、及第六数字数据中选择其一输出,因此选择装置69可使用一多任务器(Multiplexer)完成。运算单元61电连于选择装置69,用来接收选择出的(2n位的)第五数字数据或第六数字数据,而运算单元61包含另一输入端,用来接收由储存装置62传送的2n位的第七数字数据,如此一来,运算单元61可对这些具有定点数表示法的(2n位的)数字数据(第七、第一、或第二数字数据)执行各种运算的功能。请注意,本实施例强调了运算单元61所处理的数字数据具有定点数表示,其理由在于:具有跳跃式浮点数表示法的数字数据在转换时已经一放大位移的过程,因此其小数点的位置已有所变动,使得加、减法运算的复杂度过高,因此本实施例中将所有数字数据皆先转换为具有定点数表示法的型态,再送入运算单元61中加以运算。至于乘法的部分,则较容易处理具有跳跃式浮点数表示法的数字数据,如前述相同,可分别将数字数据中的位数据、尾端识别码分开视之,在相乘时,将二数字数据中各自的位数据直接相乘,最后再利用尾端识别码补偿(Compensate)调整小数点的位置即可。
接下来,运算单元61输出处理后的一2n位的第八数字数据至储存装置62,储存装置62的功能即用来储存经选择运算模块60处理后的多笔数字数据,而在实际实施时,储存装置62可以一累积器(Accumulator)完成。第四表示法转换电路55将具有定点数表示法的2n位的数字数据转换为具有跳跃式浮点数表示法的一n位的数字数据,并由数据写入端66将此具有跳跃式浮点数表示法的n位的数字数据写入前述的存储装置中。
为将图1实施例的功能纳入本发明的实施例中,使本发明的数字讯号处理器能同时处理具有定点数表示法(包含整数表示法(IntegerRepresentation))、及跳跃式浮点数表示法的数据,在接下来的实施例中加入一启动控制讯号(Enabling Control Signal),以切换图10中部份与本发明技术特征相关的组件的功能。请参阅图11,图11为图2的另一详细实施例的功能方块图,近似于图10实施例,其数字讯号处理器70亦包含有一数据接收端72、一乘法电路76、一萃取装置77、一位移装置79、一第五表示法转换电路73、一选择运算模块80、一储存装置82、一第六表示法转换电路75、以及一数据写入端86。第五及第六表示法转换电路73、75可对应至图10中第三及第四表示法转换电路53、55。本实施例中最重要的技术特征为萃取装置77、位移装置79、第五表示法转换电路73、以及第六表示法转换电路75皆会连接至至少一启动控制讯号ES,此启动控制讯号ES可用来判断是否启动与其相连的萃取装置77、位移装置79、第五及第六表示法转换电路73、75。当乘法电路76接收的二笔n位的数字数据具有跳跃式浮点数表示法时,启动控制讯号ES就会启动萃取装置77及位移装置79,进行图10实施例中所述的运作,而当乘法电路76所接收的二笔n位的数字数据具有定点数表示法时,启动控制讯号ES就不启动萃取装置77及位移装置79,乘法电路76则单纯地将此二n位的数字数据相乘后,产生一具有定点数表示法的2n位的数字数据,此时萃取装置77及位移装置79可视为图1已知实施例中的乘法位移装置18。同理,当启动控制讯号ES启动第五表示法转换电路73时,第五表示法转换电路73执行如图10中第三表示法转换电路53的运作,将具有跳跃式浮点数表示法的n位的数字数据转换为具有定点数表示法的2n位的数字数据,但当启动控制讯号ES不启动第五表示法转换电路73时,第五表示法转换电路73经由一已知基本的正负号延伸程序(Sign Extension),将具有定点数表示法的n位的数字数据转换为具有定点数表示法的2n位的数字数据,此时第五表示法转换电路73的功能等同于图1已知实施例中的第一位移装置14。同理,当启动控制讯号ES启动第六表示法转换电路75时,第六表示法转换电路75执行如图10中第四表示法转换电路55的运作,将具有定点数表示法的2n位的数字数据转换为具有跳跃式浮点数表示法的n位的数字数据;当启动控制讯号ES不启动第六表示法转换电路75时,第六表示法转换电路75将具有定点数表示法的2n位的数字数据直接舍弃其中n位,转换成为具有定点数表示法的n位的数字数据,此时第六表示法转换电路76的功能等同于图1已知实施例中的第二位移装置24。
本发明所披露的一新型的跳跃式浮点数运算法及跳跃式浮点数表示法可在根本上改善数值位转换时产生的误差,使一高位数数字数据转换为一低位数数字数据时,可以用较少重复位的方式完成转换,保留更多有效的位数值,不牺牲精准度。而在数字讯号处理器的架构中引入本发明跳跃式浮点数表示法的概念,并设置相对应的硬设备后,可将数字数据以较低位数的型态处理并储存至一存储器中,而在之后将低位数数字数据读取回原先的高位数数字数据时,又可较精准并有效率地完成还原的效果,如此一来便可在不耗费过多额外资源的情况下,显著地降低量化误差。
上所述仅为本发明的较佳实施例,凡依本发明的权利要求所做的均等变化与修饰,皆应属本发明专利的涵盖范围。

Claims (33)

1.一种数字讯号处理器,用来处理至少一笔数字数据,该至少一笔数字数据分别具有多个数值表示法,该多个数值表示法至少包含有一定点数表示法以及一跳跃式浮点数表示法,该数字讯号处理器包含有:
一乘法电路,用来将至少二低位数数字数据相乘产生一高位数数字数据;
一萃取位移装置,电连于该乘法电路,用来将具有该跳跃式浮点数表示法的一高位数数字数据转换为具有该定点数表示法的一高位数数字数据;
多个表示法转换电路,每一表示法转换电路利用一跳跃式浮点数运算法,将该至少一笔数字数据中任一数字数据于该定点数表示法及该跳跃式浮点数表示法之间作转换;以及
一运算单元,用来运算该至少一笔数字数据。
2.如权利要求1所述的数字讯号处理器,其还包含一储存装置,电连于该运算单元,用来储存该至少一笔数字数据。
3.如权利要求1所述的数字讯号处理器,其中该跳跃式浮点数运算法用来将具有该定点数表示法的一高位数数字数据转换为具有该跳跃式浮点数表示法的一低位数数字数据,或者将具有该跳跃式浮点数表示法的该低位数数字数据转换为具有该定点数表示法的该高位数数字数据。
4.如权利要求3所述的数字讯号处理器,其中该跳跃式浮点数运算法依据该高位数数字数据的绝对值大小,将具有该定点数表示法的该高位数数字数据放大位移N位,并舍弃预定数目的位数,再设置一尾端识别码,以产生具有该跳跃式浮点数表示法的该低位数数字数据,其中N为大于或等于零的整数。
5.如权利要求4所述的数字讯号处理器,其中N的值随着该高位数数字数据的绝对值大小而变动,当该高位数数字数据的绝对值愈大,N的值愈小;当该高位数数字数据的绝对值愈小,N的值愈大。
6.如权利要求4所述的数字讯号处理器,其中该跳跃式浮点数运算法包含有多个位移模式,每一位移模式分别对应至不同的N值。
7.如权利要求6所述的数字讯号处理器,其中每一数字数据包含一标识位,位移模式的选定及对应的N值由比较该标识位与该高位数数字数据中的其它位而得。
8.如权利要求7所述的数字讯号处理器,其中该跳跃式浮点数运算法依据该尾端识别码以及该标识位,将具有该跳跃式浮点数表示法的该低位数数字数据转换为具有该定点数表示法的该高位数数字数据。
9.如权利要求4所述的数字讯号处理器,其中在该萃取位移装置中,当输入该乘法电路的该二低位数数字数据皆具有该跳跃式浮点数表示法时,该萃取位移装置依据具有该跳跃式浮点数表示法的该二低位数数字数据的尾端识别码,将具有该跳跃式浮点数表示法的该高位数数字数据转换为具有该定点数表示法的该高位数数字数据。
10.如权利要求1所述的数字讯号处理器,其中该萃取位移装置以及该多个表示法转换电路连接于至少一启动控制讯号,用来分别判断是否启动该萃取位移装置以及该多个表示法转换电路。
11.如权利要求1所述的数字讯号处理器,其中该运算单元用来运算具有该定点数表示法的该至少一笔数字数据。
12.如权利要求1所述的数字讯号处理器,其还包含有:
一数据接收端,用来接收至少一笔数字数据;以及
一数据写入端,用来将具有该跳跃式浮点数表示法的至少一低位数数字数据写入一存储装置。
13.一种用于一数字讯号处理器中的方法,用来将具有一定点数表示法的一高位数数字数据转换为具有一跳跃式浮点数表示法的一低位数数字数据,该方法包含有:
(a)依据该高位数数字数据的绝对值大小,将具有该定点数表示法的该高位数数字数据放大位移N位,其中N为大于或等于零的整数,且N的值随着该高位数数字数据的绝对值大小而变动;
(b)在进行步骤(a)后,舍去该高位数数字数据中一预定数目的位数;以及
(c)在进行步骤(b)后,设置一尾端识别码,以产生具有该跳跃式浮点数表示法的该低位数数字数据,其中该尾端识别码对应于N的值。
14.如权利要求13所述的方法,其中当该高位数数字数据的绝对值愈大,N的值愈小;当该高位数数字数据的绝对值愈小,N的值愈大。
15.如权利要求13所述的方法,其还包含:
(d)在步骤(a)中,设置多个位移模式,每一位移模式分别对应至不同的N值;
(e)在进行步骤(d)后,依据该高位数数字数据的绝对值大小,选定一位移模式及对应的N值,将具有该定点数表示法的该高位数数字数据放大位移该对应的N位;以及
(f)在步骤(c)中且在进行步骤(e)后,设置一对应于该位移模式的尾端识别码。
16.如权利要求15所述的方法,其中该高位数数字数据包含一标识位,N的值及该位移模式的选定是由比较该标识位与该高位数数字数据中的其它位而得。
17.如权利要求16所述的方法,其中该低位数数字数据包含该标识位,且具有该跳跃式浮点数表示法的该低位数数字数据可依据该尾端识别码以及该标识位,还原成为具有该定点数表示法的该高位数数字数据。
18.如权利要求13所述的方法,其还包含:(g)在进行步骤(c)后,将具有该跳跃式浮点数表示法的该低位数数字数据写入一存储装置中。
19.一种用于一数字讯号处理器中的方法,用来将具有一跳跃式浮点数表示法的一低位数数字数据转换为具有一定点数表示法的一高位数数字数据,其中具有该跳跃式浮点数表示法的该低位数数字数据包含一尾端识别码,该方法包含有:
依据该尾端识别码,将该低位数数字数据缩小位移N位,其中N为大于或等于零的整数;以及
增补一预定数目的位数于该低位数数字数据中。
20.如权利要求19所述的方法,其中该高位数数字数据包含一标识位,该方法还包含:
依据该标识位,决定该N位中每一位的值;以及
依据该标识位,决定所增补的该预定数目的位数中每一位的值。
21.如权利要求19所述的方法,其中该尾端识别码包含有多个位移模式,每一位移模式分别对应至不同的N值,该方法还包含:依据该尾端识别码,选定一位移模式及对应的N值。
22.一种用来处理至少一笔数字数据的数字讯号处理器,该至少一笔数字数据分别具有多个数值表示法,该多个数值表示法至少包含有一定点数表示法以及一跳跃式浮点数表示法,该数字讯号处理器包含有:
一数据接收端,用来接收至少一笔低位数数字数据;
一乘法电路,电连于该数据接收端,用来将具有该定点数表示法的二低位数数字数据相乘,产生一具有该定点数表示法的一高位数数字数据,或者将具有该跳跃式浮点数表示法的二低位数数字数据相乘,产生一具有该跳跃式浮点数表示法的一高位数数字数据;
一萃取位移装置,电连于该乘法电路,用来将具有该跳跃式浮点数表示法的该高位数数字数据转换为具有该定点数表示法的一高位数数字数据;
一第一表示法转换电路,电连于该数据接收端,用来将具有该跳跃式浮点数表示法的一低位数数字数据转换为具有该定点数表示法的一高位数数字数据,或者将具有该定点数表示法的一低位数数字数据转换为具有该定点数表示法的一高位数数字数据;
一选择运算模块,电连于该第一表示法转换电路以及萃取位移装置,用来执行选择及运算的功能;
一储存装置,电连于该选择运算模块,用来储存经该选择运算模块处理后的至少一笔数字数据;
一第二表示法转换电路,电连于该储存装置,用来将具有该定点数表示法的一高位数数字数据转换为具有该跳跃式浮点数表示法的一低位数数字数据;以及
一数据写入端,用来将具有该跳跃式浮点数表示法的该低位数数字数据写入一存储装置。
23.如权利要求22所述的数字讯号处理器,其中每一数字数据包含一标识位。
24.如权利要求23所述的数字讯号处理器,其中每一具有该跳跃式浮点数表示法的低位数数字数据还包含一尾端识别码。
25.如权利要求24所述的数字讯号处理器,其中该第一表示法转换电路依据具有该跳跃式浮点数表示法的该低位数数字数据的该尾端识别码及该标识位,将具有该跳跃式浮点数表示法的该低位数数字数据转换为具有该定点数表示法的该高位数数字数据。
26.如权利要求24所述的数字讯号处理器,其中该萃取位移装置依据该乘法电路中具有该跳跃式浮点数表示法的该二低位数数字数据的尾端识别码,将具有该跳跃式浮点数表示法的该高位数数字数据转换为具有该定点数表示法的该高位数数字数据。
27.如权利要求22所述的数字讯号处理器,其中该第二表示法转换电路依据该高位数数字数据的绝对值大小,将具有该定点数表示法的该高位数数字数据放大位移N位,并舍弃预定数目的位数,再设置一尾端识别码,以产生具有该跳跃式浮点数表示法的该低位数数字数据,其中N为大于或等于零的整数。
28.如权利要求27所述的数字讯号处理器,其中N的值随着该高位数数字数据的绝对值大小而变动,当该高位数数字数据的绝对值愈大,N的值愈小;当该高位数数字数据的绝对值愈小,N的值愈大。
29.如权利要求22所述的数字讯号处理器,其中该萃取位移装置、该第一表示法转换电路、以及该第二表示法转换电路连接于至少一启动控制讯号,用来分别判断是否启动该萃取位移装置、该第一表示法转换电路、以及该第二表示法转换电路。
30.如权利要求29所述的数字讯号处理器,其中当该启动控制讯号启动该第一表示法转换电路时,该第一表示法转换电路将具有该跳跃式浮点数表示法的该低位数数字数据转换为具有该定点数表示法的该高位数数字数据;当该启动控制讯号不启动该第一表示法转换电路时,该第一表示法转换电路将具有该定点数表示法的该低位数数字数据转换为具有该定点数表示法的该高位数数字数据。
31.如权利要求29所述的数字讯号处理器,其中当该启动控制讯号启动该第二表示法转换电路时,该第二表示法转换电路将具有该定点数表示法的该高位数数字数据转换为具有该跳跃式浮点数表示法的该低位数数字数据;当该启动控制讯号不启动该第二表示法转换电路时,该第二表示法转换电路将具有该定点数表示法的该高位数数字数据转换为具有该定点数表示法的该低位数数字数据。
32.如权利要求22所述的数字讯号处理器,其中该选择运算模块用来选择及运算至少一笔具有该定点数表示法的高位数数字数据。
33.如权利要求22所述的数字讯号处理器,其中该多个数值表示法还包含有一整数表示法。
CNB031330401A 2003-07-23 2003-07-23 应用跳跃式浮点数运算法的数字讯号处理器 Expired - Fee Related CN100410871C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031330401A CN100410871C (zh) 2003-07-23 2003-07-23 应用跳跃式浮点数运算法的数字讯号处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031330401A CN100410871C (zh) 2003-07-23 2003-07-23 应用跳跃式浮点数运算法的数字讯号处理器

Publications (2)

Publication Number Publication Date
CN1570847A true CN1570847A (zh) 2005-01-26
CN100410871C CN100410871C (zh) 2008-08-13

Family

ID=34470004

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031330401A Expired - Fee Related CN100410871C (zh) 2003-07-23 2003-07-23 应用跳跃式浮点数运算法的数字讯号处理器

Country Status (1)

Country Link
CN (1) CN100410871C (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510149B (zh) * 2009-03-16 2011-05-04 炬力集成电路设计有限公司 一种数据处理方法和装置
CN103314379A (zh) * 2010-10-18 2013-09-18 艾尔葛托奇普股份有限公司 定制集成电路所用的架构引导式最佳系统精度定义算法
CN110163355A (zh) * 2018-02-13 2019-08-23 上海寒武纪信息科技有限公司 一种计算装置及方法
CN111160543A (zh) * 2017-12-14 2020-05-15 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303174A (en) * 1991-10-07 1994-04-12 Nec Corporation Floating pointing arithmetic operation system
JP2861687B2 (ja) * 1992-12-04 1999-02-24 日本電気株式会社 対数演算回路
US6144977A (en) * 1995-07-10 2000-11-07 Motorola, Inc. Circuit and method of converting a floating point number to a programmable fixed point number
JP4086459B2 (ja) * 2000-11-13 2008-05-14 Necエレクトロニクス株式会社 固定小数点データ生成方法及び固定小数点データ生成回路

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510149B (zh) * 2009-03-16 2011-05-04 炬力集成电路设计有限公司 一种数据处理方法和装置
CN103314379A (zh) * 2010-10-18 2013-09-18 艾尔葛托奇普股份有限公司 定制集成电路所用的架构引导式最佳系统精度定义算法
CN111160543A (zh) * 2017-12-14 2020-05-15 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
CN111160543B (zh) * 2017-12-14 2023-08-29 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
CN110163355A (zh) * 2018-02-13 2019-08-23 上海寒武纪信息科技有限公司 一种计算装置及方法
CN110163354A (zh) * 2018-02-13 2019-08-23 上海寒武纪信息科技有限公司 一种计算装置及方法
CN110163355B (zh) * 2018-02-13 2020-10-09 上海寒武纪信息科技有限公司 一种计算装置及方法
CN110163354B (zh) * 2018-02-13 2020-10-09 上海寒武纪信息科技有限公司 一种计算装置及方法

Also Published As

Publication number Publication date
CN100410871C (zh) 2008-08-13

Similar Documents

Publication Publication Date Title
CN1658153A (zh) 复合式动态定点数表示法与运算法及其处理器结构
CN115934030B (zh) 算数逻辑单元、浮点数乘法计算的方法及设备
US20210349692A1 (en) Multiplier and multiplication method
CN117273096A (zh) 在硬件中执行矩阵乘法
CN111796870B (zh) 数据格式转换装置、处理器、电子设备及模型运行方法
CN102279724A (zh) 用于布斯乘法方法和系统的功率有效符号扩展
JPH0934693A (ja) 指数対数変換回路
CN111008003A (zh) 数据处理器、方法、芯片及电子设备
CN110515587B (zh) 乘法器、数据处理方法、芯片及电子设备
CN110554854A (zh) 数据处理器、方法、芯片及电子设备
JP2021515936A (ja) 16ビット浮動小数点乗算器を用いた行列と行列の乗算による複数精度整数乗算器
CN1570847A (zh) 应用跳跃式浮点数运算法的数字讯号处理器
CN111258544B (zh) 乘法器、数据处理方法、芯片及电子设备
CN111258541B (zh) 乘法器、数据处理方法、芯片及电子设备
GB2376773A (en) Display and/or precision operations of numerical values in binary systems
CN113126954A (zh) 浮点数乘法计算的方法、装置和算术逻辑单元
CN1176699A (zh) 基于对数系统的电脑处理器及其使用方法
CN210006029U (zh) 数据处理器
US20050010632A1 (en) Digital signal processor based on jumping floating-point arithmetic
CN210109789U (zh) 数据处理器
CN209895329U (zh) 乘法器
CN210006030U (zh) 数据处理器
US20050160122A1 (en) Joint adaptive fixed-point representation and related arithmetic and processor thereof
CN1178588A (zh) 使用移位装置的求幂电路及其使用方法
CN110688087A (zh) 数据处理器、方法、芯片及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080813

Termination date: 20160723