CN1658153B - 复合式动态定点数表示法与运算法及其处理器结构 - Google Patents

复合式动态定点数表示法与运算法及其处理器结构 Download PDF

Info

Publication number
CN1658153B
CN1658153B CN 200410005422 CN200410005422A CN1658153B CN 1658153 B CN1658153 B CN 1658153B CN 200410005422 CN200410005422 CN 200410005422 CN 200410005422 A CN200410005422 A CN 200410005422A CN 1658153 B CN1658153 B CN 1658153B
Authority
CN
China
Prior art keywords
digital signal
value
representation
seniority
point number
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.)
Expired - Fee Related
Application number
CN 200410005422
Other languages
English (en)
Other versions
CN1658153A (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 CN 200410005422 priority Critical patent/CN1658153B/zh
Publication of CN1658153A publication Critical patent/CN1658153A/zh
Application granted granted Critical
Publication of CN1658153B publication Critical patent/CN1658153B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明提供一种新型定点数表示法,用来表示一经数值转换操作后的数字数据,该新型定点数表示法包含将该数字数据中预定数目个最低位设为一动态移位值,其中该动态移位值代表于该数值转换操作中所移位的位数;以及将该数字数据中除了该动态移位值之外的多个位对应到经该数值转换操作前的该数字数据的部份位,该部份位包含至少一含有数值信息的最高有效位。

Description

复合式动态定点数表示法与运算法及其处理器结构
技术领域
本发明提供一种新型定点数运算法及一相关的数字信号处理器,特别指一种可将数字数据在一定点数表示法及一复合式动态定点数表示法之间进行转换的复合式动态定点数运算法(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,成为(0000000000010100),但若以二补数表示负数时,就要将延伸出的八个位都填上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于效能上的限制。若欲利用增加数字信号处理器的位数、或改用浮点数式数字信号处理器以期改善量化误差,随之而来的是硬件成本的大幅增加。此外,利用修改定点数式数字信号处理器的程序代码以降低量化误差的方法,会增加程序复杂度并占用较多数字信号处理器的运算效能。
发明内容
因此本发明的主要目的在于一种新型定点数运算法及一新型定点数表示法,并提供一种应用该新型定点数运算法以处理数字数据的数字信号处理器,以解决上述问题。
在本发明中,我们将一新型定点数表示法及一新型定点数运算法,运用于一数字信号处理器及相关的数字数据运算过程中,确保于一解析度限制下所处理的数字数据能保存更多正确的最高有效位,提升信号处理的精确性。本发明的新型定点数表示法以常规的定点数表示法为基础,并参考浮点数表示法的部分基本概念后,所提出的一复合式动态定点数表示法(JointAdaptive Fixed-Point Representation),并在数字信号处理器中置相对应的硬件设备,使一高位数数字数据转换为一低位数数字数据时,可以用较少重复位的方式完成转换并存储到一存储器中,以保留最多的最高有效位;而在之后将低位数数字数据读取回原先的高位数数字数据时,又可较精准并有效率地完成还原的效果,降低量化误差。
在本发明的新型定点数表示法下,一低位数数字数据中预定数目个最低位设为一动态移位值,此占有预定数目个位数的动态移位值(在十进位表示法下)即代表于本发明的新型定点数运算法中所移位(Shift)的位数,取代原先的高位数数字数据中重复的位,如此一来,具有本发明的新型定点数表示法的一低位数数字数据能在极高的精确度下置换原先的高位数数字数据,具备极大的动态范围(Dynamic range),并具有较低的复杂度(Complexity),因而能以软件(Software)或相关固件实现本发明的新型定点数运算法,实现降低成本及节省电路资源的优势。
本发明的目的为提供一种新型定点数表示法,用来表示一经数值转换操作后的数字数据,该新型定点数表示法包含:将该数字数据中预定数目个最低位设为一动态移位值(Dynamic Shift Value),其中该动态移位值代表于该数值转换操作中所移位(Shift)的位数;以及将该数字数据中除了该动态移位值之外的多个位对应到经该数值转换操作前的该数字数据的部份位,该部份位包含至少一含有数值信息的最高有效位。
本发明的另一目的为提供一种用于一数字信号处理器(Digital SignalProcessor)中的方法,用来将具有一定点数表示法(Fixed PointRepresentation)的一高位数数字数据转换为具有一新型定点数表示法的一低位数数字数据,该方法包含:(a)依据该高位数数字数据的绝对值大小,将具有该定点数表示法的该高位数数字数据放大移位(Magnifying Shift)N位,其中N为大于或等于零的整数,且N的值随着该高位数数字数据的绝对值大小而变动;(b)于进行步骤(a)后,舍去该高位数数字数据中一预定数目的位数;以及(c)于进行步骤(b)后,设置一动态移位值(Dynamic Shift Value),以产生具有该新型定点数表示法的该低位数数字数据,其中该动态移位值对应于N的值。
本发明的又一目的为提供一种用于一数字信号处理器中的方法,用来将具有一新型定点数表示法的一低位数数字数据转换为具有一定点数表示法(Fixed Point Representation)的一高位数数字数据,该方法包含:由该低位数数字数据中取得一动态移位值(Dynamic Shift Value);以及依据该动态移位值,将该低位数数字数据缩小移位(Minifying Shift)N位,其中N为大于或等于零的整数。
本发明的再一目的为提供一种数字信号处理器,用来处理至少一组数字数据,该至少一组数字数据分别具有多个数值表示法,该多个数值表示法至少包含一定点数表示法(Fixed Point Representation)以及一新型定点数表示法,该数字信号处理器包含:至少一提取移位装置(Extracting/ShiftingDevice),来将具有该新型定点数表示法的一数字数据转换为具有该定点数表示法的一数字数据;多个表示法转换电路(Representation Converter),每一表示法转换电路利用一新型定点数运算法,将该至少一组数字数据中任一数字数据于该定点数表示法及该新型定点数表示法之间进行转换;以及至少一运算单元(Arithmetic Unit),用来运算该至少一组数字数据。
附图说明
图1为常规一定点数式数字信号处理器的一实施例的功能方块图。
图2为具有本发明复合式动态定点数表示法的一数字数据的示意图。
图3为图2的数字数据的一实施例的示意图。
图4为本发明一方法实施例的流程图。
图5为图4的一详细方法实施例的流程图。
图6为本发明一另一方法实施例的流程图。
图7为本发明一数字信号处理器的一实施例的功能方块图。
图8为图7数字信号处理器中部分原件的一实施例的功能方块图。
图9为图7数字信号处理器的一详细实施例的功能方块图。
附图符号说明
10、30、50、数字信号处理器  12、52    数据接收端
14          第一移位装置    16、36、56乘法电路
18          乘法移位装置    19、69    选择装置
20、60      选择运算模块    21、31、61运算单元
22、62      存储装置        24        第二移位装置
26、66      数据写入端      34        表示法转换电路
37、57      提取装置        38、58    提取移位装置
39、59      移位装置        53        第一表示法转换电
                                      路
55          第二表示法转换
            电路
具体实施方式
首先,本发明提出一种新型定点数表示法,称为复合式动态定点数表示法,并公开一新型定点数运算法,称作复合式动态定点数运算法,以于一具有(位数)解析度限制的数字信号处理器中,有效地完成相关数字数据的数值转换操作。本发明的复合式动态定点数表示法是介于常规定点数表示法以及浮点数表示法之间的一种新型的数值表示法,复合式动态定点数表示法基于定点数表示法中将一数字数据表示为整数或表示为-1.0到+1.0之间的小数形式,并引用浮点数表示法的概念,使用多个位来作为该数字数据的指数(Exponent),而此指数在本发明中称为动态移位值(Dynamic Shift Value),该名称也隐含了其为一立即可用的数值,而无须经额外的操作(如查表)才能得出对应的数值。数字数据中其余的位则为尾数(Mantissa)。复合式动态定点数表示法的基本概念为:于一具有复合式动态定点数表示法的数字数据中,动态移位值所占用的位数为固定的预设值,而动态移位值于十进位表示法下的值即代表在本发明新型定点数运算法中所移位(Shift)的位数,也就是说,当原数值较小时,过多重复的位会占据原数值的较高位处,此时所需要移位的位数较多,则将动态移位值设为应取代(移位)的位数的较大值,以大量取代原数字数据中过多重复的位,相反之,当转换前的原数值较大时,动态移位值则较小。请参阅图2,图2为具有本发明复合式动态定点数表示法的一数字数据DA的一实施例的示意图。此数字数据DA是由一标示位(Sign bit)、占最多位数的位数据、以及一动态移位值所构成。如前所述,动态移位值所占的位数为固定;标示位为此数字数据DA中的最高位,作为正负符号的判定,当标示位为0时,数字数据DA为正值,当标示位为1时,数字数据DA则为负值,而在原数值较小而需判定原数字数据中重复的位时,即是由此数字数据DA中次于标示位的下一位处起(位数据的最高位),将与标示位具有相同的位值(1或0)的位)的位视为重复的位。
请继续参阅图2,数字数据DA是由原先一具有定点数表示法的高位数数字数据,利用本发明的复合式动态定点数运算法转换后而得。请见图3,图3为图2复合式动态定点数表示法一详细实施例的示意图。图3实施例中所显示的数字数据的位数设为24,此24位的数字数据是由一具有定点数表示法的高位数数字数据转换而来,于本实施例中,此高位数数字数据的位数可设为48位或其他较24为高的位数,其中标示位占最高位处的一位(位23),动态移位值占数字数据DA最低的五个位(位0到位4),而位数据占了十八个位(位5到位22)。动态移位值所占的五个位(位0到位4)即代表了0到31的动态范围(Dynamic range),可最多取代原48位的数字数据中31个重复的位,使得具有五位的动态移位值的(复合式动态定点数表示法)数字数据能实际涵盖50位(1+18+31=50)的动态范围,此外,由于本实施例中的动态移位值位于占数字数据DA中最低位处,与常规浮点数表示法将指数置于标示位后的高位处的表示法相较,本发明的动态移位值极容易由数字数据中被判断并提取出,并利用动态移位值直接解读出此数字数据所移位的位数,使得应用本发明复合式动态定点数运算法具有较低的复杂度(Complexity),适合于软件中实施。
请继续参阅图3,若欲将一48位的数字数据(具有定点数表示法)转换为具有图3所示型式的一24位的数字数据时,首先,复合式动态定点数运算法会依据该48位的数字数据的绝对值大小,将此48位的数字数据放大移位(Magnifying Shift)N位,N的值随着此48位的数字数据的绝对值大小而变动,当此48位的数字数据的绝对值愈大,N的值愈小,而当绝对值愈小时,N的值则愈大。此标示位的值与原先48位的数字数据中的标示位相同,而在将48位的数字数据转换为具有复合式动态定点数表示法的24位的数字数据时,就是利用将该标示位与该48位的数字数据中的其他位加以比较,以选定所需移位的位数(N值)。选定N值之后,舍去该48位的数字数据中一预定数目的位数(相对而言,即保留该48位的数字数据中的部分位数),并设置对应于N值的动态移位值,以产生具有该新型定点数表示法的24位的数字数据。举例如下,并为求画面显示清晰,我们以一个十六进位表示的数(在十六进位表示法下的任一位代表了二进位表示法下的四位):0x004444ffffff为例,十六进位表示法下前三位数004代表了二进位表示法下的12位数000000000100,最左边的为标示位,标示位后有八个0,由于这八个0是与标示位重复的位,因此代表了在转换的过程中需放大移位8个位。接下来,为了将48位的数字数据转换为24位的数字数据,必须由较低位处舍弃24位,最后再加入对应于8(位)的五位动态移位值(即01000),并设置于24位的数字数据的最尾端(最低位处)。若回头以48位的数字数据0x004444ffffff为例,将其放大移位8个位,并由较低位处舍弃24位,成为0x4444ff,最后再将最低五个位置换为动态移位值(01000)后,即完成具有「复合式动态定点数表示法」的24位的数字数据:0x4444e8。
请注意,本发明中的动态移位值的位数并不限五个,而于图2及图3中所示的动态移位值仅为本发明中的一较佳实施例,也就是说,若将动态移位值改为占数字数据DA最低的四个位时,位数据可多占一位,共具有十九个位,数值转换中的精确度稍微提升,而动态移位值所占的四个位变为代表0到15的动态范围(Dynamic range),使得具有四位的动态移位值的(复合式动态定点数表示法)数字数据能实际涵盖的动态范围变为35位(1+19+15=35),这也说明了,本发明可视实际需要调整动态移位值所占的位数,实现实际应用时更高的弹性。再者,无论在转换过程中被省略的位(如本实施例中由较低位处舍弃24位)为何,将经复合式动态定点数运算法转换后,在将这些具有图2、图3表示法(复合式动态定点数表示法)的数字数据施以部分运算时,无须将动态移位值特意剔除,而可将动态移位值纳入视为一整体的数值。
综上所述,本发明的复合式动态定点数运算法用来将一具有定点数表示法的高位数数字数据转换为一具有复合式动态定点数表示法的低位数数字数据,承袭图3的实施例,归纳后的方法实施例可参阅图4,图4为本发明一方法实施例的流程图,将一具有定点数表示法的48位的数字数据转换为一具有复合式动态定点数表示法的24位的数字数据,并包含下列步骤:
步骤100:开始,并提供一具有定点数表示法的48位的数字数据,进入步骤102;
步骤102:依据此高位数(48位)数字数据的绝对值大小,选定一N值,并将具有定点数表示法的高位数(48位)数字数据放大移位N位,意即,将该具有定点数表示法的48位的数字数据放大2N倍,进行步骤104。选择N值的基本概念为:当原先高位数数字数据的绝对值愈大时,N的值愈小,当高位数数字数据的绝对值的绝对值愈小时,N的值则愈大,也就是说,N值由比较一标示位与此高位数数字数据中的其他位而得知重复位的位数;
步骤104:舍去此高位数(48位)数字数据中一预定数目的位数,保留包含至少一含有数值信息的最高有效位的部份位,使得此高位数(48位)数字数据在舍弃此预定数目的位数后,其所具有的位数与低位数数字数据的位数相同,进入步骤106。如在本实施例中,可舍去此48位的数字数据中最后的24位(或保留此48位的数字数据中前24位),成为一24位的数字数据;
步骤106:设置一(对应于所选定的N值的)动态移位值,以产生具有复合式动态定点数表示法的低位数(24位)数字数据;
步骤108:完成复合式动态定点数运算法的转换。
请注意,于上述实施例中,以位于数字数据DA中最低五位的动态移位值而言,最多只能取代原48位的数字数据中31个重复的位,于步骤102中,若需移位的位数超过31时,则需对移位量(N值)加以限制。也就是说,本发明的方法需预设一最大移位位数,该最大移位位数对应于该动态移位值所能表示的最大值,而当N的值小于最大移位位数,则维持N的值,若N的值大于或等于最大移位位数时,则将N的值设为最大移位位数,而非真的将原48位的数字数据中重复的位全都加以移位。举例来说,若一48位的数字数据为:0x000000000007,全部所需移位的位数为44(N=44),但在动态移位值预设于五位的情况下,最大移位位数为31,因此,只能将其放大移位31个位,成为0x000380000000,再由较低位处舍弃24位后,成为0x000380,最后加入(最大值)动态移位值(11111)后,即完成具有“复合式动态定点数表示法”的24位的数字数据:0x00039f。
由上可知,在步骤102选定N值之前,需先检测N值,并执行相关的判断操作,以决定正确的N值,相关步骤请参阅图5,图5为图4的一详细方法实施例的流程图,还包含下列步骤:
步骤101:在进行步骤102前,比较标示位与此高位数(48位)数字数据中的其他位而得知重复位的位数,即尚未选定最后值的N,并进行步骤103;
步骤103:判断N的值是否小于一最大移位位数,其中该最大移位位数对应于该动态移位值所能表示的一最大值,若N的值小于最大移位位数,进入步骤105,反之,则进入步骤107;
步骤105:当N的值小于最大移位位数,则维持N的值,并进行步骤102;
步骤107:当N的值大于或等于最大移位位数,则将N的值设为最大移位位数,并进行到步骤102。
于是,当N大于或等于最大移位位数(如:31)时,就会有如常规技术所言经基本的正负号延伸程序(Sign Extension)后所得的重复位(如前述例子0x00039f中的0)包含于具有复合式动态定点数表示法的数字数据中,也就是说,于具有复合式动态定点数表示法的数字数据中,只需包含至少一含有原数字数据的数值信息的最高有效位即可,最极端的例子即是当原具有定点数表示法的数字数据为零时,上述“至少一含有原数字数据的数值信息的最高有效位”即为标示位(0),而上述的数值信息则仅包含此标示位(0)。这也代表在本实施例中,当原具有定点数表示法的数字数据为零,意即48位的数字数据为0x000000000000时,对应的具有复合式动态定点数表示法的24位的数字数据为0x000000,而非0x00001f,避免在将此具有复合式动态定点数表示法的数字数据视为一整体的数值而加以运算时,造成误导。
在本发明的复合式动态定点数运算法将一具有定点数表示法的高位数数字数据转换为一具有复合式动态定点数表示法的低位数数字数据之后,也必须要能将具有复合式动态定点数表示法的此低位数数字数据转换回具有定点数表示法的高位数数字数据,才算完整的实现本发明将一数字数据于定点数表示法及复合式动态定点数表示法之间进行转换的技术特征。在实际实施时,在概念上,只需将上述的程序以相反(Reversed)的概念加以操作,也就是在转换时,判断出动态移位值,依据动态移位值,将低位数数字数据缩小移位(Minifying Shift)N位(N为大于或等于零的整数),并依据标示位,决定N位中每一位的值,同时将低位数数字数据补足位数到其所具有的位数与所欲的高位数数字数据的位数相同后,再将该低位数数字数据的该动态移位值所占的位处填上一特定值,或沿用原动态移位值,即可完成还原的目的。关于移位的操作上,若再更详细的讨论与区分,并仍以数字数据由24位转换回48位的情形为例,当数字数据为-1.0到+1.0之间的小数形式时,在进行移位操作前,可将原24位的数字数据置于48位中之前24位,于判断出N值后再向右移位N位。于此,我们继续以上述具有“复合式动态定点数表示法”的24位的数字数据:0x4444e8(十六进位表示法)为例,若欲将此24位的数字数据还原转换为(具有定点数表示法的)48位的数字数据,由于此24位的数字数据(二进位表示法下)的最后五个位值为(01000),亦代表当初转换时放大移位了8位。于是,将此数缩小移位8位(等同于除以28),并将总位数依据标示位(其值为0)增补到48位,最后,若将上述的(五位)特定值设为(10000),则可产生(具有定点数表示法的)48位的数字数据0x004444f00000,若沿用原动态移位值,则可产生48位的数字数据:0x004444e80000。
上述的特定值的数值并不限定,上述实施例设为(10000)的用意在于二进位表示法下任何数的最小值(00000...0)与最大值(11111...1)的平均值即为(10000...0),因此,这种型式的特定值(只有最高位值为1,其余为0)可代表在转换过程中被省略的位数的平均值,可使省略后的值与原先的值的差异减到最低。请注意,将动态移位值原先所在的位改为一特定值(如上述的平均值或0)或保留原动态移位值的作法,皆包含于本发明的技术特征中。在欲保留原动态移位值的情况下,虽然此动态移位值并非属于原数字数据的一部份,但因为其位于表示法的最低位处(最低有效位,LSB,Least Significant Bit),对原始数字数据影响不大,当用于数字音像信号处理上,反而具有润饰噪声(Dithering)的效果,让我们仿佛可以听到更流畅的乐音及更多音乐的细节,且于实际实行时复杂度较低,不需额外运算操作或硬件。然而,若无关数字音像信号处理而关乎其他单纯的数值运算,则不确定效果如何,此时,就可如上述实施例般以一特定值取代原动态移位值,并同时需设置额外的运算操作或硬件来适应。
如此一来,与0x4444e8的原数0x004444ffffff相比可知,经过本发明复合式动态定点数运算法转换后再还原的数值0x004444f00000仍与原数值有所差异,但若单纯使用常规定点数运算法,将48位的数字数据舍弃后24位的数据(成为0x004444)再还原而得的值(0x004444000000)相比,则可看出本发明复合式动态定点数运算法能有效的减少数值转换过程中的量化误差,而且,由于置于最低位处的动态移位值即代表于运算中所移位的位数,使其于硬件上实施时,可以在不增添太多额外软硬件资源的情况下,能以较小的空间存储及处理数字数据并提高精确度,更能以软件直接实施。
图6描述了上述本发明将一具有复合式动态定点数表示法的24位的数字数据转换为一具有定点数表示法的48位的数字数据的一详细方法实施例。请参阅图6,图6为本发明另一方法实施例的流程图,包含下列步骤:
步骤300:刚开始提供一具有复合式动态定点数表示法的24位的数字数据,接下来同时进行步骤302及步骤304;
步骤302:由该低位数数字数据中预设的多个(如:五个)最低位判断出一动态移位值,进行步骤306;
步骤304:将低位数数字数据补足其位数到所欲的高位数数字数据的位数,意即,此时原24位的数字数据置于48位中;当数字数据为-1.0到+1.0之间的小数形式时,在进行移位操作前,可将原24位的数字数据置于48位中之前24位,进行步骤306;
步骤306:依据动态移位值,将该低位数数字数据缩小移位N位,其中N为大于或等于零的整数,且N值即为动态移位值;
步骤308:将低位数数字数据的该动态移位值在高位数数据中所占的位处填上一特定值,或沿用原动态移位值,以产生一具有定点数表示法的48位的数字数据,成功将具有复合式动态定点数表示法的24位数字数据转换回具有定点数表示法的48位数字数据。
在公开本发明复合式动态定点数表示法及复合式动态定点数运算法后,本发明设置对应的硬件结构以应用复合式动态定点数运算法,完成具有本发明完整的技术特征的的数字信号处理器。请参阅图7,图7为本发明一数字信号处理器30的一实施例的功能方块图。如前所述,本发明的数字信号处理器30能处理具有定点数表示法与复合式动态定点数表示法的数字数据,而在本实施例中,数字数据依据位数的多少又可分为高位数数字数据(可对应到图1中2n位的数字数据)以及低位数数字数据(可对应到图1中n位的数字数据),而在实际实施时,数字数据所具有的位数并不限定,不仅只于上述高位数数字数据及低位数数字数据两种。数字信号处理器30包含一乘法电路(Multiplication Circuit)36、一提取移位装置(Extracting/ShiftingDevice)38、一表示法转换电路(Representation Converter)34、及一运算单元(Arithmetic Unit)31。乘法电路36可用来将二低位数数字数据相乘产生一高位数数字数据,而提取移位装置38电连接到乘法电路36,用来将具有复合式动态定点数表示法的一数字数据转换为具有定点数表示法的一高位数数字数据。表示法转换电路34可应用本发明的复合式动态定点数运算法,将其所接收的数字数据于定点数表示法及复合式动态定点数表示法之间进行转换。运算单元31与提取移位装置38及表示法转换电路34相互连接,可用来运算传送到其中的数字数据,且由运算单元31所处理的数字数据并不限定为不定点数表示法及复合式动态定点数表示法。
请注意,提取移位装置38及表示法转换电路34的数量并不限制,可将每一个表示法转换电路34的功能分别设计为“将具有定点数表示法的数字数据转换为具有复合式动态定点数表示法的数字数据”或者“将具有复合式动态定点数表示法的数字数据转换为具有定点数表示法的数字数据”,如此一来,即可将具有特定转换功能的表示法转换电路34,视实际情形安装设置于本发明数字信号处理器30中任何有此转换需要之处,接收并输出具有复合式动态定点数表示法或定点数表示法的数字数据。这也同时表明了,于上述本实施例的数字信号处理器30中,表示法转换电路34与其他元件间的连接组合方式并不固定,无需如图7中限定与运算单元31相连,可随数字数据的运算流程与其他硬件元件进行弹性的相互连接。举例而言,若使用者欲将经运算单元31处理并输出后的一具有该定点数表示法的高位数数字数据,转换为一低位数数字数据以写入一外接存储器中,则可把表示法转换电路34设计为具备「将此具有该定点数表示法的高位数数字数据转换为具有本发明复合式动态定点数表示法的低位数数字数据」的功能,并连接到此外接存储器,由于本发明的复合式动态定点数运算法具有低量化误差的技术特征,可使得写入外接存储器中的低位数数字数据与原先的高位数数字数据之间,因转换所造成的误差减到最低。
数字信号处理器30中直接牵涉到本发明的复合式动态定点数运算法为:提取移位装置38及表示法转换电路34。其中提取移位装置38依功能细分,又可区别为一提取装置37以及一移位装置39,请见图8,图8为图7数字信号处理器30部分原件的一实施例的功能方块图,包含提取装置37、移位装置39、与乘法电路36。本发明的乘法运算可处理各种型式的数字数据,包含具复合式动态定点数表示法及定点数表示法的数字数据,倘若输入乘法电路36中的二低位数(n位,而n于前述实施例中为24)数字数据皆具有复合式动态定点数表示法,在将两个(具有复合式动态定点数表示法的)位数据加以相乘前,可如图6中的步骤308所示,将(具有复合式动态定点数表示法)低位数数字数据的动态移位值所占的位处填上一特定值,或保留原动态移位值;在相乘的过程中,可将数字数据中的位数据、动态移位值分开视之,因此,乘法电路36可将二低位数(n位)数字数据各自的位数据直接相乘,而将动态移位值相加,而此时二低位数数字数据亦送进提取装置37中,提取出该二低位数数(n位)位数据中各自的动态移位值,判断出相关的N值,接着将此相关信息传送入移位装置39,依据判断出的N值,将经由乘法电路36处理后的数据作出对应的小数点移位,以得出正确的(具有定点数表示法的)一高位数(2n位)数字数据。
图7实施例中的电路结构并非固定,可因应不同需求而作调整,因此,我们接下来提出一较详细结构的数字信号处理器,充分公开本发明的复合式动态定点数运算法与硬件设备配合运用的情形。请参阅图9,图9为图7的一详细实施例的功能方块图。图9的数字信号处理器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输出处理后的一2n位的第七数字数据到存储装置62,存储装置62的功能即用来存储经选择运算模块60处理后的多组数字数据,而在实际实施时,存储装置62可以一累加器(Accumulator)完成。第二表示法转换电路55将具有定点数表示法的2n位的数字数据转换为具有复合式动态定点数表示法的一n位的数字数据,并由数据写入端66将此具有复合式动态定点数表示法的n位的数字数据写入前述的存储装置中。
与常规定点数表示法相比,本发明的复合式动态定点数表示法能于保存(转换前的高位数数字数据中)一定位数的含有数值信息的有效位的情况下,实现最大的动态范围,换句话说,也改善浮点数表示法过高的复杂度,因而便于以软件或相关固件实现本发明的复合式动态定点数运算法。而应用本发明复合式动态定点数运算法的数字信号处理器,能于将一高位数数字数据转换为一低位数数字数据时,以较少重复位的方式完成转换并存储到一存储器中,而在之后将低位数数字数据读取回原先的高位数数字数据时,又可较精准并有效率地完成转换(还原)的效果,并轻易完成多组数字数据的乘法运算等功能,如此一来便可在不耗费过多额外资源的情况下,降低量化误差。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所进行的等效变化与修改,皆应属本发明的涵盖范围。

Claims (26)

1.一种新型定点数字信号的表示方法,用来表示一具有定点数表示法的信号经数值转换操作后的数字信号,该新型定点数字信号的表示方法包含:
将该数字信号中预定数目的最低位设为由一动态移位值所占用,其中该动态移位值代表于该数值转换操作中所移位的位数;以及
将该数字信号中除了该动态移位值之外的多个位对应到经该数值转换操作前的该数字信号的部份位,该部份位包含至少一代表数值转换操作前的数字信号的数值信息的最高有效位。
2.如权利要求1的新型定点数字信号的表示方法,其特征在于,该动态移位值的大小是依据所述数值转换操作前的数字信号的绝对值大小而确定。
3.如权利要求1的新型定点数字信号的表示方法,其中该数值转换操作为一从高位数数字信号到低位数数字信号的转换。
4.一种用于一数字信号处理器中的方法,用来将具有一定点数表示法的一高位数数字信号转换为具有如权利要求1所述的新型定点数字信号表示法的一低位数数字信号,该方法包含:
(a)依据该高位数数字信号的绝对值大小,将具有该定点数表示法的该高位数数字信号放大移位N位,其中N为大于或等于零的整数,且N的值随着该高位数数字信号的绝对值大小而改变;
(b)舍去该高位数数字信号中高位数与低位数的差值数目的位数;以及
(c)将舍去步骤之后的数字信号中与该动态移位值的位数对应的该预定数目个最低位替换为该动态移位值,该新型定点数字信号表示法的该低位数数字信号中的动态移位值对应于N的值。
5.如权利要求4的方法,其中当该高位数数字信号的绝对值愈大,N的值愈小;当该高位数数字信号的绝对值愈小,N的值愈大。
6.如权利要求4的方法,其还包含:
(d)于步骤(a)中,判断N的值是否小于一最大移位位数,其中该最大移位位数对应于该预定数目的位所能表示的最大值;以及
(e)若N的值小于该最大移位位数,则维持N的值,否则,则将N的值设为该最大移位位数。
7.如权利要求4的方法,其中该高位数数字信号包含一标示位(Signbit),N的值的选定由比较该标示位与该高位数数字信号中的其他位而得。
8.如权利要求7的方法,其中该低位数数字信号包含该标示位,且具有该新型定点数字信号表示法的该低位数数字信号可依据该动态移位值以及该标示位,转换成为具有该定点数表示法的该高位数数字信号。
9.如权利要求4的方法,其还包含:
(f)于进行步骤(c)后,将具有该新型定点数字信号表示法的该低位数数字信号写入一存储装置中。
10.一种用于一数字信号处理器中的方法,用来将具有如权利要求1所述的新型定点数字信号表示法的一低位数数字信号转换为具有一定点数表示法的一高位数数字信号,该方法包含:
从该低位数数字信号中取得该动态移位值;以及
依据该动态移位值,将该低位数数字信号缩小移位N位,其中N为大于或等于零的整数,且N值即为该动态移位值;
将该低位数数字信号补足其位数到该高位数数字信号的位数,以获得该高位数数字信号;
将该动态移位值在该获得的高位数数字信号中所占的位处添上一特定值,或沿用该动态移位值。
11.如权利要求10的方法,其特征在于,该特定值的首位取值为1,其余各位取值为0。
12.如权利要求10的方法,其特征在于,该低位数数字信号包含一标示位,该缩小移位的N位中的值依据该标示位决定。
13.如权利要求10的方法,其特征在于,该低位数数字信号包含一标示位,在补足位数的步骤中,所补足的各位的值为该标示位的值。
14.一种数字信号处理器,用来处理至少一组数字信号,该至少一组数字信号分别具有多个数值表示法,该多个数值表示法至少包含一定点数表示法以及一如权利要求1所述的新型定点数字信号表示法,该数字信号处理器包含:
至少一提取移位装置,用来依据如权利要求10所述的方法将具有该新型定点数字信号表示法的一数字信号转换为具有该定点数表示法的一数字信号;
多个表示法转换电路,每一表示法转换电路依据如权利要求4或10所述的方法将该至少一组数字信号中任一数字信号于该定点数表示法及该新型定点数字信号表示法之间进行转换;以及
至少一运算单元,用来运算该至少一组数字信号。
15.如权利要求14的数字信号处理器,其中该至少一提取移位装置包含:
一提取装置,用来由具有该新型定点数字信号表示法的一数字信号中提取出动态移位值;以及
一移位装置,电连接到该提取装置,用来依据该动态移位值,将该具有该新型定点数字信号表示法的数字信号移位N位,其中N为大于或等于零的整数,以得到该具有定点数表示法的数字信号。
16.如权利要求15的数字信号处理器,其中该动态移位值的大小依据转换为该新型定点数字信号前的数字信号的绝对值大小而确定。
17.如权利要求15的数字信号处理器,其中每一数字信号包含一标示位,该移位装置依据该标示位,以决定该N位中每一位的值。
18.如权利要求14的数字信号处理器,其中该数字信号处理器用来将具有该定点数表示法的一高位数数字信号转换为具有该新型定点数字信号表示法的一低位数数字信号,或者将具有该新型定点数字信号表示法的该低位数数字信号转换为具有该定点数表示法的该高位数数字信号。
19.如权利要求18的数字信号处理器,其中该新型定点数字信号运算法依据该高位数数字信号的绝对值大小,将具有该定点数表示法的该高位数数字信号放大移位N位,并舍弃预定数目的位数,再设置一动态移位值,以产生具有该新型定点数字信号表示法的该低位数数字信号,其中N为大于或等于零的整数,该动态移位值对应于N的值,并占有预定数目的位数。
20.如权利要求19的数字信号处理器,其中N的值随着该高位数数字信号的绝对值大小而变动,当该高位数数字信号的绝对值愈大,N的值愈小;当该高位数数字信号的绝对值愈小,N的值愈大。
21.如权利要求20的数字信号处理器,其中当N的值小于一最大移位位数时,则维持N的值,若N的值大于或等于该最大移位位数,则将N的值设为该最大移位位数。
22.如权利要求21的数字信号处理器,其中该最大移位位数对应于该动态移位值的一最大值。
23.如权利要求20的数字信号处理器,其中该高位数数字信号包含一标示位,N的值的选定由比较该标示位与该高位数数字信号中的其他位而得。
24.如权利要求14的数字信号处理器,其还包含:
一存储装置,电连接到该运算单元,用来存储该至少一组数字信号。
25.如权利要求24的数字信号处理器,其中该提取移位装置电连接到该乘法电路,当输入该乘法电路的该二低位数数字信号皆具有该新型定点数字信号表示法时,该提取移位装置依据具有该新型定点数字信号表示法的该二低位数数字信号的动态移位值,将具有该新型定点数字信号表示法的该高位数数字信号转换为具有该定点数表示法的该高位数数字信号。
26.如权利要求14的数字信号处理器,其特征在于,该新型定点数字信号表示法为一复合式动态定点表示法。
CN 200410005422 2004-02-18 2004-02-18 复合式动态定点数表示法与运算法及其处理器结构 Expired - Fee Related CN1658153B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200410005422 CN1658153B (zh) 2004-02-18 2004-02-18 复合式动态定点数表示法与运算法及其处理器结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200410005422 CN1658153B (zh) 2004-02-18 2004-02-18 复合式动态定点数表示法与运算法及其处理器结构

Publications (2)

Publication Number Publication Date
CN1658153A CN1658153A (zh) 2005-08-24
CN1658153B true CN1658153B (zh) 2010-04-28

Family

ID=35007664

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200410005422 Expired - Fee Related CN1658153B (zh) 2004-02-18 2004-02-18 复合式动态定点数表示法与运算法及其处理器结构

Country Status (1)

Country Link
CN (1) CN1658153B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI601062B (zh) * 2015-10-08 2017-10-01 上海兆芯集成電路有限公司 利用使用者指定二維定點算術運算之裝置
US10140574B2 (en) 2016-12-31 2018-11-27 Via Alliance Semiconductor Co., Ltd Neural network unit with segmentable array width rotator and re-shapeable weight memory to match segment width to provide common weights to multiple rotator segments
US10228911B2 (en) 2015-10-08 2019-03-12 Via Alliance Semiconductor Co., Ltd. Apparatus employing user-specified binary point fixed point arithmetic
US10275394B2 (en) 2015-10-08 2019-04-30 Via Alliance Semiconductor Co., Ltd. Processor with architectural neural network execution unit
US10380481B2 (en) 2015-10-08 2019-08-13 Via Alliance Semiconductor Co., Ltd. Neural network unit that performs concurrent LSTM cell calculations
US10423876B2 (en) 2016-12-01 2019-09-24 Via Alliance Semiconductor Co., Ltd. Processor with memory array operable as either victim cache or neural network unit memory
US10430706B2 (en) 2016-12-01 2019-10-01 Via Alliance Semiconductor Co., Ltd. Processor with memory array operable as either last level cache slice or neural network unit memory
US10438115B2 (en) 2016-12-01 2019-10-08 Via Alliance Semiconductor Co., Ltd. Neural network unit with memory layout to perform efficient 3-dimensional convolutions
US10515302B2 (en) 2016-12-08 2019-12-24 Via Alliance Semiconductor Co., Ltd. Neural network unit with mixed data and weight size computation capability
US10565494B2 (en) 2016-12-31 2020-02-18 Via Alliance Semiconductor Co., Ltd. Neural network unit with segmentable array width rotator
US10565492B2 (en) 2016-12-31 2020-02-18 Via Alliance Semiconductor Co., Ltd. Neural network unit with segmentable array width rotator
US10586148B2 (en) 2016-12-31 2020-03-10 Via Alliance Semiconductor Co., Ltd. Neural network unit with re-shapeable memory
US10664751B2 (en) 2016-12-01 2020-05-26 Via Alliance Semiconductor Co., Ltd. Processor with memory array operable as either cache memory or neural network unit memory
US10725934B2 (en) 2015-10-08 2020-07-28 Shanghai Zhaoxin Semiconductor Co., Ltd. Processor with selective data storage (of accelerator) operable as either victim cache data storage or accelerator memory and having victim cache tags in lower level cache wherein evicted cache line is stored in said data storage when said data storage is in a first mode and said cache line is stored in system memory rather then said data store when said data storage is in a second mode
US10776690B2 (en) 2015-10-08 2020-09-15 Via Alliance Semiconductor Co., Ltd. Neural network unit with plurality of selectable output functions
US11029949B2 (en) 2015-10-08 2021-06-08 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit
US11216720B2 (en) 2015-10-08 2022-01-04 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit that manages power consumption based on memory accesses per period
US11221872B2 (en) 2015-10-08 2022-01-11 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit that interrupts processing core upon condition
US11226840B2 (en) 2015-10-08 2022-01-18 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit that interrupts processing core upon condition

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510149B (zh) * 2009-03-16 2011-05-04 炬力集成电路设计有限公司 一种数据处理方法和装置
CN105513587B (zh) * 2014-09-22 2020-07-24 联想(北京)有限公司 一种mfcc提取方法及装置
WO2019127480A1 (zh) * 2017-12-29 2019-07-04 深圳市大疆创新科技有限公司 用于处理数值数据的方法、设备和计算机可读存储介质
CN110163354B (zh) * 2018-02-13 2020-10-09 上海寒武纪信息科技有限公司 一种计算装置及方法
CN115328438B (zh) * 2022-10-13 2023-01-10 华控清交信息科技(北京)有限公司 一种数据处理方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1249081A (zh) * 1997-08-01 2000-03-29 塞瑞斯逻辑公司 具有混合的定点或浮点算符和块定标浮点算符的自适应滤波器
CN1355623A (zh) * 2000-11-13 2002-06-26 日本电气株式会社 用于产生定点数据的电路和方法
JP2002271207A (ja) * 2001-03-13 2002-09-20 Asahi Kasei Microsystems Kk データ変換装置およびデータ圧縮装置およびデータ伸長装置
CN1471077A (zh) * 2002-06-20 2004-01-28 ���µ�����ҵ��ʽ���� 浮点存储方法及浮点运算装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1249081A (zh) * 1997-08-01 2000-03-29 塞瑞斯逻辑公司 具有混合的定点或浮点算符和块定标浮点算符的自适应滤波器
CN1355623A (zh) * 2000-11-13 2002-06-26 日本电气株式会社 用于产生定点数据的电路和方法
JP2002271207A (ja) * 2001-03-13 2002-09-20 Asahi Kasei Microsystems Kk データ変換装置およびデータ圧縮装置およびデータ伸長装置
CN1471077A (zh) * 2002-06-20 2004-01-28 ���µ�����ҵ��ʽ���� 浮点存储方法及浮点运算装置

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10380064B2 (en) 2015-10-08 2019-08-13 Via Alliance Semiconductor Co., Ltd. Neural network unit employing user-supplied reciprocal for normalizing an accumulated value
US10776690B2 (en) 2015-10-08 2020-09-15 Via Alliance Semiconductor Co., Ltd. Neural network unit with plurality of selectable output functions
US11226840B2 (en) 2015-10-08 2022-01-18 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit that interrupts processing core upon condition
US10228911B2 (en) 2015-10-08 2019-03-12 Via Alliance Semiconductor Co., Ltd. Apparatus employing user-specified binary point fixed point arithmetic
US10275394B2 (en) 2015-10-08 2019-04-30 Via Alliance Semiconductor Co., Ltd. Processor with architectural neural network execution unit
US10275393B2 (en) 2015-10-08 2019-04-30 Via Alliance Semiconductor Co., Ltd. Tri-configuration neural network unit
US10282348B2 (en) 2015-10-08 2019-05-07 Via Alliance Semiconductor Co., Ltd. Neural network unit with output buffer feedback and masking capability
US10346350B2 (en) 2015-10-08 2019-07-09 Via Alliance Semiconductor Co., Ltd. Direct execution by an execution unit of a micro-operation loaded into an architectural register file by an architectural instruction of a processor
US10346351B2 (en) 2015-10-08 2019-07-09 Via Alliance Semiconductor Co., Ltd. Neural network unit with output buffer feedback and masking capability with processing unit groups that operate as recurrent neural network LSTM cells
US10353861B2 (en) 2015-10-08 2019-07-16 Via Alliance Semiconductor Co., Ltd. Mechanism for communication between architectural program running on processor and non-architectural program running on execution unit of the processor regarding shared resource
US10353862B2 (en) 2015-10-08 2019-07-16 Via Alliance Semiconductor Co., Ltd. Neural network unit that performs stochastic rounding
US10353860B2 (en) 2015-10-08 2019-07-16 Via Alliance Semiconductor Co., Ltd. Neural network unit with neural processing units dynamically configurable to process multiple data sizes
US10671564B2 (en) 2015-10-08 2020-06-02 Via Alliance Semiconductor Co., Ltd. Neural network unit that performs convolutions using collective shift register among array of neural processing units
TWI626587B (zh) * 2015-10-08 2018-06-11 上海兆芯集成電路有限公司 選擇性將啓動函數輸出或累加器値寫回神經記憶體之神經處理單元
TWI601062B (zh) * 2015-10-08 2017-10-01 上海兆芯集成電路有限公司 利用使用者指定二維定點算術運算之裝置
US10387366B2 (en) 2015-10-08 2019-08-20 Via Alliance Semiconductor Co., Ltd. Neural network unit with shared activation function units
US10409767B2 (en) 2015-10-08 2019-09-10 Via Alliance Semiconductors Co., Ltd. Neural network unit with neural memory and array of neural processing units and sequencer that collectively shift row of data received from neural memory
US11221872B2 (en) 2015-10-08 2022-01-11 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit that interrupts processing core upon condition
US10585848B2 (en) 2015-10-08 2020-03-10 Via Alliance Semiconductor Co., Ltd. Processor with hybrid coprocessor/execution unit neural network unit
US11216720B2 (en) 2015-10-08 2022-01-04 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit that manages power consumption based on memory accesses per period
US10474627B2 (en) 2015-10-08 2019-11-12 Via Alliance Semiconductor Co., Ltd. Neural network unit with neural memory and array of neural processing units that collectively shift row of data received from neural memory
US10474628B2 (en) 2015-10-08 2019-11-12 Via Alliance Semiconductor Co., Ltd. Processor with variable rate execution unit
US10509765B2 (en) 2015-10-08 2019-12-17 Via Alliance Semiconductor Co., Ltd. Neural processing unit that selectively writes back to neural memory either activation function output or accumulator value
US11029949B2 (en) 2015-10-08 2021-06-08 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit
US10552370B2 (en) 2015-10-08 2020-02-04 Via Alliance Semiconductor Co., Ltd. Neural network unit with output buffer feedback for performing recurrent neural network computations
US10380481B2 (en) 2015-10-08 2019-08-13 Via Alliance Semiconductor Co., Ltd. Neural network unit that performs concurrent LSTM cell calculations
US10725934B2 (en) 2015-10-08 2020-07-28 Shanghai Zhaoxin Semiconductor Co., Ltd. Processor with selective data storage (of accelerator) operable as either victim cache data storage or accelerator memory and having victim cache tags in lower level cache wherein evicted cache line is stored in said data storage when said data storage is in a first mode and said cache line is stored in system memory rather then said data store when said data storage is in a second mode
US10366050B2 (en) 2015-10-08 2019-07-30 Via Alliance Semiconductor Co., Ltd. Multi-operation neural network unit
US10430706B2 (en) 2016-12-01 2019-10-01 Via Alliance Semiconductor Co., Ltd. Processor with memory array operable as either last level cache slice or neural network unit memory
US10664751B2 (en) 2016-12-01 2020-05-26 Via Alliance Semiconductor Co., Ltd. Processor with memory array operable as either cache memory or neural network unit memory
US10438115B2 (en) 2016-12-01 2019-10-08 Via Alliance Semiconductor Co., Ltd. Neural network unit with memory layout to perform efficient 3-dimensional convolutions
US10423876B2 (en) 2016-12-01 2019-09-24 Via Alliance Semiconductor Co., Ltd. Processor with memory array operable as either victim cache or neural network unit memory
US10515302B2 (en) 2016-12-08 2019-12-24 Via Alliance Semiconductor Co., Ltd. Neural network unit with mixed data and weight size computation capability
US10586148B2 (en) 2016-12-31 2020-03-10 Via Alliance Semiconductor Co., Ltd. Neural network unit with re-shapeable memory
US10565492B2 (en) 2016-12-31 2020-02-18 Via Alliance Semiconductor Co., Ltd. Neural network unit with segmentable array width rotator
US10565494B2 (en) 2016-12-31 2020-02-18 Via Alliance Semiconductor Co., Ltd. Neural network unit with segmentable array width rotator
US10140574B2 (en) 2016-12-31 2018-11-27 Via Alliance Semiconductor Co., Ltd Neural network unit with segmentable array width rotator and re-shapeable weight memory to match segment width to provide common weights to multiple rotator segments

Also Published As

Publication number Publication date
CN1658153A (zh) 2005-08-24

Similar Documents

Publication Publication Date Title
CN1658153B (zh) 复合式动态定点数表示法与运算法及其处理器结构
US10089278B2 (en) Device and method for computing a function value of a function
CN112329910B (zh) 一种面向结构剪枝结合量化的深度卷积神经网络压缩方法
JPS60140463A (ja) 集積化データ処理装置
CN102043760B (zh) 数据处理方法及***
CN110442323A (zh) 进行浮点数或定点数乘加运算的架构和方法
CN101021777B (zh) 基于除数(2n-1)的有效求模操作运算
CN112651496A (zh) 一种处理激活函数的硬件电路及芯片
CN100410871C (zh) 应用跳跃式浮点数运算法的数字讯号处理器
CN113126954B (zh) 浮点数乘法计算的方法、装置和算术逻辑单元
CN111258633B (zh) 乘法器、数据处理方法、芯片及电子设备
CN101300544B (zh) 大数乘法方法和装置
CN111258544B (zh) 乘法器、数据处理方法、芯片及电子设备
CN101398784A (zh) 一种二维寻址方法及装置
US20050160122A1 (en) Joint adaptive fixed-point representation and related arithmetic and processor thereof
US20050010632A1 (en) Digital signal processor based on jumping floating-point arithmetic
CN115146769A (zh) 一种基于范围可寻址查找表计算tanh函数的数字电路模块
CN111313906B (zh) 一种浮点数的转换电路
CN210006029U (zh) 数据处理器
CN100375012C (zh) 用于在数据处理***内产生地址偏移量的装置和方法
KR100958965B1 (ko) 어드레스 가능 위치로부터의 인코딩된 데이터에 기반한승수 곱 생성
CN113504892A (zh) 一种设计乘法器查找表的方法、***、设备及介质
CN111258545A (zh) 乘法器、数据处理方法、芯片及电子设备
CN210006084U (zh) 乘法器
JP2006155102A (ja) 演算処理装置

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

Granted publication date: 20100428

Termination date: 20190218

CF01 Termination of patent right due to non-payment of annual fee