CN102378960A - 半导体集成电路和指数计算方法 - Google Patents

半导体集成电路和指数计算方法 Download PDF

Info

Publication number
CN102378960A
CN102378960A CN2011800016771A CN201180001677A CN102378960A CN 102378960 A CN102378960 A CN 102378960A CN 2011800016771 A CN2011800016771 A CN 2011800016771A CN 201180001677 A CN201180001677 A CN 201180001677A CN 102378960 A CN102378960 A CN 102378960A
Authority
CN
China
Prior art keywords
bit
data
string
value
index
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
CN2011800016771A
Other languages
English (en)
Other versions
CN102378960B (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of CN102378960A publication Critical patent/CN102378960A/zh
Application granted granted Critical
Publication of CN102378960B publication Critical patent/CN102378960B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • G06F7/49915Mantissa overflow or underflow in handling floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Manipulation Of Pulses (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

提供了一种半导体集成电路和一种指数技术方法,当用公共指数归一化多个数据时,加速指数计算并且减小电路规模和功耗。当用公共指数归一化多个数据时,半导体集成电路50计算多个数据的指数。半导体集成电路50包括:比特串产生器51,产生第二比特串,所述第二比特串包含具有过渡值或非过渡值的比特,过渡值指示对于构成数据的第一比特串的每对相邻比特而言相邻比特的值是不同的,非过渡值指示对于构成数据的第一比特串的每对相邻比特而言相邻比特的值是相同的;以及指数计算器,基于多个第二比特串的过渡值的比特位置,来计算多个数据的指数,所述第二比特串是相应地从构成多个数据的多个第一比特串产生的。

Description

半导体集成电路和指数计算方法
技术领域
本发明涉及一种半导体集成电路和一种指数计算方法,具体涉及数字信号处理中的运算技术。
背景技术
在数字信号处理中,浮点运算的优点在于,即使在要处理的信号数据的值范围较大的情况下也能够进行高精度的运算,但是问题在于需要复杂的电路并因此电路规模和功耗较大。此外,定点运算的优点在于,电路简单并且电路规模和功耗较小,但是问题在于运算的精度较低。
另一方面,作为具有浮点优点和定点优点的运算方法,存在块浮点运算。在块浮点运算中,将多个信号数据分组到一个块中,并且针对整个块执行归一化,以在每个块中具有公共指数。
具体地,在块浮点处理中,在以下步骤中执行块浮点的归一化。
(1)计算块中所有数据的最大指数。
(2)根据计算出的最大指数,对整个块进行位移(归一化)。
最大指数是不会引起块中所有数据溢出的最大指数。最大指数等于块中的所有数据之中具有最大绝对值的数据的指数值。
作为高效计算最大指数的方法,以下方法是已知的(例如,参见专利文献1)。
(1)计算块中数据的绝对值。
(2)计算数据的绝对值的逻辑或(OR).
(3)检测计算出的逻辑或的MSB(最高有效位)侧上的比特位置,并且确定最大指数。
以下对使用上述计算最大指数的方法的块浮点的归一化的特定示例进行描述。
首先,考虑由8个数据(输入数据1至输入数据8)组成的块作为要归一化的块,输入数据1至输入数据8是以下示出的8比特输入数据。在下文中,每个数据的值由2的补码来表示。注意,在以下所示的数据比特串中,最左边的比特是MSB,最右边的比特是LSB。该MSB是符号比特。
输入数据1:00010111
输入数据2:00110001
输入数据3:00000110
输入数据4:11110011
输入数据5:11111000
输入数据6:00000110
输入数据7:00001011
输入数据8:00011011
接着,计算块中数据(输入数据1至8)的绝对值。输入数据1至8的绝对值在下文中被称作绝对值1至8。具体地,输入数据k的绝对值被称作绝对值k(k是1至8中任一个中的正整数)。
绝对值1:00010111
绝对值2:00110001
绝对值3:00000110
绝对值4:00001101
绝对值5:00001000
绝对值6:00000110
绝对值7:00001011
绝对值8:00011011
然后,对计算的绝对值的逻辑或进行计算。以下示出了绝对值1至8的逻辑或。
逻辑或:00111111
然后,检测到第5比特是当从计算的逻辑或的MSB(最高有效位)侧考虑时比特的值首先变为1的比特位置。假定MSB是第7比特,LSB(最低有效位)是第0比特。在将输入数据1至8向左比特位移相同位移量以便用公共指数归一化输入数据1至8的情况下,如果位移量是一比特,则在保持输入数据1至8的任何符号不变的情况下精确表示归一化值。因此,最大指数为-1。
最后,基于计算的最大指数对组中的所有数据(输入数据1至8)进行归一化,并且确定归一化的数据(归一化的数据1至8)。具体地,当最大指数为-1时,将数据向左位移一个比特。输入数据1至8归一化之后的数据在下文中被称作归一化的数据1至8。因此,输入数据k归一化之后的数据被称作归一化的数据k(k是1至8中任一个中的正整数)。由于最大指数是-1,因此归一化的数据1至8的实际值是将每个数据乘以2的-1次幂而获得的值。
归一化的数据1:00101110
归一化的数据2:01100010
归一化的数据3:00001100
归一化的数据4:11100110
归一化的数据5:11110000
归一化的数据6:00001100
归一化的数据7:00010110
归一化的数据8:00110110
在上述归一化过程中,需要在计算最大指数的步骤中计算块中数据的绝对值。为了在绝对值计算中将负的数据转换成正的数据,需要执行诸如比特取反、加1、以及加1时的进位之类的处理。因此,存在的问题在于计算绝对值的过程是耗时的。此外,由于需要用于执行这种处理的电路,因此存在的问题在于电路规模和功耗较大。
此外,在块浮点处理中,需要多次重复计算绝对值,计算的次数对应于构成块的数据的数目。因此,在上述归一化过程中,重复耗时的绝对值计算的处理时间急剧增加。
如上所述,上述归一化过程的问题是,不能高速地进行最大指数的计算,并且电路规模和功耗较大。
此外,上述归一化过程的问题是,需要以异常方式来处理负数侧的最大值或者不使用负数侧的最大值。这是因为在X-比特数据的情况下,当数据的负数侧的最大值为-1x(2的(X-1)次幂)时,作为相同数据的绝对值的+1x(2的(X-1)次幂)不能由X(X是正整数)个比特表示。注意,其中x是乘法符号。
具体地,在8-比特数据的情况下,当数据的负数侧的最大值是-1x(2的7次幂)=-128时,作为相同数据的绝对值的+1x(2的7次幂)=+128不能由8个比特来表示,并且需要9个比特。因此,存在的问题在于,当数据的值是-128时,需要以异常方式来处理-128,例如使绝对值+128饱和(saturate)至+127,或者不使用-128。
注意专利文献2公开了1-位置检测方法,使用掩码数据顺序地计算每个比特的值,以提取用于确定对输入数据中比特是1的位置加以指示的数据的每比特值的数据。专利文献2公开了,根据1-位置检测方法,能够缩短用以检测比特是1的位置的处理时间,因为仅需要执行一次掩码处理和比较,以便确定比特是1的位置中的数据的每比特值。
此外,专利文献3公开了归一化数据产生电路,该电路检测逻辑状态不同于输入数据的前导(leading)比特的比特首次出现的比特位置,并且基于对从输入数据的十进制小数点位置到检测到的比特位置的距离加以表示的信息来位移输入数据。专利文献3公开了,根据归一化的数据产生电路,可以缩短用以产生归一化数据的时间,这是因为位移运算可以在硬件中执行。
然而专利文献2和3都没有公开本发明中的产生比特串的技术,比特串包含:针对来自构成要归一化的数据的比特串的每一对相邻比特,指示相邻比特的值是否不同的比特。
引用列表
专利文献
专利文献1:日本待审专利申请公开No.H09-128213
专利文献2:日本待审专利申请公开No.H06-75746
专利文献3:日本待审专利申请公开No.H08-212052
发明内容
技术问题
如背景技术所述,存在的问题在于,当用公共指数归一化多个数据时,该指数的计算不能高速地进行,并且电路规模和功耗较大。
已经实现了解决上述问题的本发明,因此本发明的目的是提供一种半导体集成电路以及一种指数计算方法,当用公共指数归一化多个数据时,能够加速指数计算并且减小电路规模和功耗。
问题的解决方案
根据本发明第一示例方面的半导体集成电路是当用公共指数归一化多个数据时计算多个数据的指数的半导体集成电路,该半导体集成电路包括:比特串产生器,产生第二比特串,第二比特串包含具有过渡值或非过渡值的比特,过渡值指示对于构成数据的第一比特串的每对相邻比特而言相邻比特的值是不同的,非过渡值指示对于构成数据的第一比特串的每对相邻比特而言相邻比特的值是相同的;以及指数计算器,基于多个第二比特串的过渡值的比特位置,来计算多个数据的指数,该多个第二比特串是由比特串产生器相应地从构成多个数据的多个第一比特串产生的。
根据本发明第二示例方面的指数计算方法是当用公共指数归一化多个数据时计算多个数据的指数的指数计算方法,该方法包括:产生第二比特串,第二比特串包含具有过渡值或非过渡值的比特,过渡值指示对于构成数据的第一比特串的每对相邻比特而言相邻比特的值是不同的,非过渡值指示对于构成数据的第一比特串的每对相邻比特而言相邻比特的值是相同的;以及基于多个第二比特串的过渡值的比特位置,来计算多个数据的指数,第二比特串是相应地从构成多个数据的多个第一比特串产生的。
本发明的有利效果
根据上述本发明的示例方面,能够提供一种半导体集成电路和指数计算方法,当用公共指数归一化多个数据时,能够加速指数计算并且减小电路规模和功耗。
附图说明
图1是示出了根据本发明第一示例实施例的半导体集成电路的配置的框图;
图2是示出了根据本发明第一示例实施例的最大指数计算器的配置的框图;
图3是示出了根据本发明第一示例实施例的边缘检测器的配置的框图;
图4是示出了根据本发明第一示例实施例的最大指数计算器的运算的时序图;
图5是示出了根据本发明第二示例实施例的归一化电路的配置的框图;
图6是示出了根据本发明第二示例实施例的归一化电路的运算的时序图;
图7是示出了根据本发明第三示例实施例的最大指数计算器的配置的框图;
图8是示出了根据本发明第三示例实施例的最大指数计算器的运算的时序图;
图9是示出了根据本发明第三示例实施例的最大指数计算器的另一配置示例的框图;
图10是示出了根据本发明第四示例实施例的归一化电路的配置的框图;
图11是示出了根据本发明第四示例实施例的归一化电路的运算的时序图;
图12是示出了根据本发明第四示例实施例的归一化电路的另一配置示例的框图。
具体实施方式
在下文中参照附图描述本发明的示例实施例。
[第一示例实施例]
首先,参照图1描述最大指数电路50,最大指数电路50是根据本发明第一示例实施例的最大指数计算器的概要表示。图1是示出了根据本发明第一示例实施例的半导体集成电路的配置的框图。
半导体集成电路50包括比特串产生器51和指数计算器52。当用公共指数来归一化多个数据时,半导体集成电路50计算多个数据的指数。
比特串产生器51产生第二比特串,第二比特串包含具有过渡值或非过渡值的比特,过渡值指示对于构成数据的第一比特串的每对相邻比特而言相邻比特的值是不同的,非过渡值指示对于构成数据的第一比特串的每对相邻比特而言相邻比特的值是相同的。
指数计算器52基于多个第二比特串的过渡值的比特位置,来计算多个数据的指数,多个第二比特串是比特串产生器51相应地从构成多个数据的多个第一比特串产生的。
将要通过公共指数归一化的多个数据输入至比特串产生器51。比特串产生器51产生第二比特串,第二比特串包含具有过渡值或非过渡值的比特,过渡值指示对于构成数据的第一比特串的每对相邻比特而言相邻比特的值是不同的,非过渡值指示对于构成数据的第一比特串的每对相邻比特而言相邻比特的值是相同的。比特串产生器51将相应地从构成多个数据的多个第一比特串产生的多个第二比特串输出至指数计算器52。
指数计算器52基于从比特串产生器51输出的多个第二比特串的过渡值的比特位置,来计算多个数据的指数。指数计算器52输出计算的指数。
如上所述,根据本发明第一示例实施例的半导体集成电路50产生第二比特串,第二比特串包含对于构成要归一化的数据的第一比特串的每对相邻比特而言相邻比特的值是否不同加以指示的比特。利用第二比特串,可以确定对于第一比特串的每对相邻比特而言相邻比特的值是否不同。从而能够规定位移量,通过该位移量可以在数据的任何符号保持不变的情况下来精确表示归一化的值。因此,可以计算出最大指数。
由于根据本发明第一示例实施例的半导体集成电路50简单地执行关于相邻比特的值是否不同的逻辑运算,因此能够加速指数计算,并且减小电路规模和功耗。
在下文中参照附图详细描述本发明的第一示例实施例。图2示出了根据本发明第一示例实施例的最大指数计算器100的配置的框图。最大指数计算器100是计算块中所有数据的最大指数的电路,所述块由多个输入数据组成。
具体地,基于输入时钟信号将块中所有数据顺序地输入至最大指数计算器100中,并且最大指数计算器100计算块中所有数据的最大指数。最大指数计算器100输出计算出的每个块的最大指数。此时,最大指数计算器100通过参考输入块结束信号来识别块的结束。例如,将输入数据从外部电路(未示出)输入至最大指数计算器100。此外,外部电路在将块中的最后一个输入数据输出至最大指数计算器100的那个周期中,将断言的块结束信号输出至最大指数计算器100。
最大指数计算器100包括作为主电路的边缘检测器101、或(OR)电路102、寄存器103、以及MSB侧比特位置检测器104。
边缘检测器101是对构成输入数据的比特串的值的过渡(边缘)进行检测的电路。边缘检测器101对构成输入数据的比特串的过渡(边缘)进行检测。边缘检测器101将作为边缘检测结果105的检测结果输出至或电路102。
具体地,边缘检测器101计算对来自构成输入数据的比特串的从MSB算起的第n比特和第(n+1)比特是否不同加以指示的值(n是0或大于0的整数)。边缘检测器101将计算的值设置在从MSB算起的第n比特处。边缘检测器101产生其中以这种方式设置计算的值的比特串作为检测结果。注意,从MSB算起的第0比特是MSB。在第一示例实施例中,通过示意来描述下述情况,当比特值不同时,对比特值是否不同加以指示的值是1(过渡值),以及当比特值相同时,所述值是0(非过渡值)。换言之,在第一示例实施例中,通过示意描述当比特值相等时对比特值是否不同加以指示的值是0的情况。边缘检测器101起到比特串产生器51的作用。
或电路102计算从边缘检测器101输出的边缘检测结果105与从寄存器103输出的寄存器值107的逻辑或。或电路102向寄存器103输出计算的逻辑或作为或值106。
寄存器103是基于输入时钟信号存储在每一运算周期中从或电路12输出的或值106的电路。寄存器103在每个运算周期内向或电路102和MSB侧比特位置检测器104输出存储的或值作为寄存器值107。此外,寄存器103参考块结束信号识别最后一个运算周期,在最后一个运算周期中从或电路102中输入基于块的最后一个输入数据的最后或值106。在每个块的最后一个运算周期之后的那个周期中,寄存器103将针对每个块而存储的或值重置到初始值0。寄存器103在将最后或值106输出到MSB侧比特位置检测器104之后,将存储的或值进行重置。
MSB侧比特位置检测器104检测构成从寄存器103输出的寄存器值107的比特串的MSB侧上的过渡值的比特位置。MSB侧比特位置检测器104是根据检测到的比特位置计算最大指数并且输出该最大指数的电路。具体地,当从寄存器103输出的寄存器值107中比特值是1的位置是MSB侧的第M(M是0或大于0的整数)比特时,MSB侧比特位置检测器104输出-1xM作为最大指数。
例如,在寄存器值107中比特值为1的位置是MSB侧的第一比特的情况下,在所有输入数据中MSB侧的第0比特和第一比特的值是相同的。另一方面,在这种情况下,在任何输入数据中MSB侧的第一比特和第二比特的值是不同的。因此,根据上述表达式(-1xM),可以获得-1x1=-1,作为对应于位移量的最大指数,通过该位移量可以在输入数据的任何符号保持不变的情况下,精确表示归一化的值,
当寄存器103在每个运算周期内输出寄存器值107时,MSB侧比特位置检测器104基于指示块的最后或值的寄存器值107来计算最大指数。MSB侧比特位置检测器104参考块结束信号来识别从寄存器103中输出指示块的最后或值的寄存器值107的那个周期。MSB侧比特位置检测器104检测构成指示最后或值的寄存器值107的比特串的MSB侧上的比特位置。MSB侧比特位置检测器104根据检测到的比特位置来计算最大指数。MSB侧比特位置检测器104输出计算出的最大指数。
或电路102、寄存器103和MSB侧比特位置检测器104起到指数寄存器52的作用。
在下文中参照图3描述边缘检测器101的配置。边缘检测器101包括多个异或(XOR)电路110。边缘检测器101计算并输出构成输入数据的比特串的每个相邻比特的异或。具体地,当输入数据由Y个比特的比特串组成时,边缘检测器101由(Y-1)个异或电路110组成(Y是正整数)。
图3示出了输入数据由8个比特的比特串(b7至b0)组成时,边缘检测器101的配置示例。边缘检测器101计算构成输入数据的比特串的每个相邻比特的异或。边缘检测器101向或电路102输出计算的异或,作为边缘检测结果e7至e1。输入数据的比特b7和边缘检测结果的比特e7是MSB。
[第一示例实施例的运算]
在下文中参照图4描述根据本发明第一示例实施例的最大指数计算器的运算。图4是示出了根据本发明第一示例实施例的最大指数计算器100的运算的时序图。最大指数计算器100基于输入时钟信号执行运算。
考虑由8个数据(输入数据1至输入数据8)组成的块,在下文示出为要归一化的块的示例。每个输入数据是8个比特。在下文中,每个数据的值由2的补码表示。注意,在以下所示的数据的比特串中,最左边的比特是MSB,最右边的比特是LSB。MSB是符号比特。
输入数据1:00010111
输入数据2:00110001
输入数据3:00000110
输入数据4:11110011
输入数据5:11111000
输入数据6:00000110
输入数据7:00001011
输入数据8:00011011
(周期1)
首先,在运算周期的第一周期(周期1)中,将输入数据1输入至最大指数计算器100。边缘检测器101对构成输入数据1的比特串的值的过渡(边缘)进行检测。边缘检测器101向或电路102输出检测结果作为边缘检测结果1。更具体地,边缘检测器101计算并输出构成输入数据1的比特串的每个相邻比特的异或。
边缘检测结果1:0011100
接着,或电路102计算从边缘检测器101输出的边缘检测结果1与从寄存器103输出的寄存器值1的逻辑或。或电路102向寄存器103输出计算的逻辑或作为或值1。周期1中寄存器值1的值是初始值0。
或值1:0011100
寄存器103在周期1中存储从或电路102输出的或值1。寄存器103然后在周期2中输出存储的或值1作为寄存器值2,周期2是下个运算周期。
(周期2)
接着,在运算周期的第二周期(周期2)中,将输入数据2输入至最大指数计算器100。边缘检测器101对构成输入数据2的比特串的值的过渡(边缘)进行检测。边缘检测器101向或电路102输出检测结果作为边缘检测结果2。更具体地,边缘检测器101计算并输出构成输入数据2的比特串的每个相邻比特的异或。
边缘检测结果2:0101001
接着,或电路102计算从边缘检测器101输出的边缘检测结果2与从寄存器103输出的寄存器值2的逻辑或。或电路102向寄存器103输出计算的逻辑或作为或值2。周期2中作为寄存器103的输出的寄存器值2的值是在周期1中存储的或值1。
或值2:0111101
寄存器103在周期2中存储从或电路102输出的或值2。寄存器103然后在周期3中输出存储的或值2作为寄存器值3,周期3是下个运算周期。
(周期3至8)
在周期3至8中,在每个运算周期中以相同方式将输入数据3至8输入至最大指数计算器100。边缘检测器101对构成输入数据3至8的比特串的值的过渡(边缘)进行检测。边缘检测器101输出每个检测结果作为边缘检测结果3至8。
边缘检测结果3:0000101
边缘检测结果4:0001010
边缘检测结果5:0000100
边缘检测结果6:0000101
边缘检测结果7:0001110
边缘检测结果8:0010110
在每个周期中,或电路102计算从边缘检测器101输出的边缘检测结果3至8与从寄存器103输出的每个寄存器值的逻辑或。或电路102向寄存器103输出每个计算的逻辑或作为或值3至8。周期3至8中作为寄存器103的输出的寄存器值3至8的值是分别在周期2至7中存储的或值2至7。
或值3:0111101
或值4:0111111
或值5:0111111
或值6:0111111
或值7:0111111
或值8:0111111
在周期9(周期9是块的最后一个运算周期之后的那个周期)中,MSB侧比特位置检测器104检测构成作为块的最后或值8的或值8的比特串的MSB侧上的过渡值的比特位置。MSB侧比特位置检测器104根据检测到的比特位置来计算最大指数。MSB侧比特位置检测器104输出计算的最大指数。具体地,由于或值8中比特值为1的比特位置是从MSB算起的第一比特,因此根据上述表达式(-1xM)最大指数是-1x1=-1。因此,MSB侧比特位置检测器104输出-1作为最大指数。
此外,在周期9(块的最后一个运算周期之后的周期)中,寄存器103将针对块存储的的或值重置到初始值0。因此,寄存器103在下个周期中输出初始值0。
MSB侧比特位置检测器104和寄存器103将输入块结束信号的值变为1的周期识别为每个块的最后一个运算周期。在图4中,因为块结束信号的值在周期8中变为1,因此周期8是块的最后一个运算周期。
以下描述在输入数据中包含负数侧的最大值的情况。在8-比特输入数据的情况下,数据的负数侧最大值是-1x(2的7次幂)=-128,并且当由2的补码来表示时该最大值是10000000。输入数据的边缘检测结果是1000000。因此,块的最后或值的MSB是1,计算出其中在输入数据中包含负数侧最大值的块的最大指数是0。因此,根据第一示例实施例,即使在输入数据中包含负数侧的最大值时也可以计算精确的最大指数。
[第一示例实施例的有利效果]
第一示例实施例具有以下特征:块浮点的归一化过程使用边缘检测器101计算最大指数。因为边缘检测器101简单地计算构成输入数据的比特串的每个相邻比特的异或,因此边缘检测器101可以通过具有由多个异或电路组成的单个逻辑级的简单配置电路来实现。
因此,与如背景技术中所描述的计算输入数据的绝对值的归一化过程相比,根据第一示例实施例的最大指数计算器可以高速地计算最大指数并且允许减小电路规模和功耗。
此外,根据第一示例实施例的最大指数计算器即使在输入数据中包含负数侧的最大值时也可以精确处理数据。因此,根据第一示例实施例的最大指数计算器具有以下特征:即使当数据的值是负数侧的最大值时,也不必以异常方式来处理数据或者不使用负数侧的最大值。
[第二示例实施例]
在下文中参照图5描述根据本发明第二示例实施例的块浮点归一化电路。在本发明的第二示例实施例中,对使用根据第一示例实施例的最大指数计算器的块浮点归一化电路的特定示例进行描述。
图5是示出了根据本发明第二示例实施例的块浮点归一化电路(下文中被称作归一化电路)的配置的框图。
在图5中,根据第二示例实施例的归一化电路针对构成块的每个输入数据执行块浮点归一化。归一化电路输出通过对输入数据进行归一化而获得的数据作为归一化的数据。
参照图5,根据第二示例实施例的归一化电路包括存储器120、根据第一示例实施例的最大指数计算器100、以及位移电路130。
根据第一示例实施例的最大指数计算器100计算输入数据的最大指数。最大指数计算器100向位移电路130输出计算的最大指数作为最大指数108。
存储器120存储输入数据,同时最大指数计算器100计算输入数据的最大指数。例如,从外部设备(未示出)将输入数据顺序地输入至存储器120和最大指数计算器100。存储器120顺序地存储从外部设备输入的输入数据。此外,存储器120在最大指数计算器100完成最大指数计算之后,向位移电路130顺序地输出存储的输入数据作为输入数据121。
位移电路130基于最大指数计算器100计算的最大指数108,对从存储器120输出的输入数据进行位移,从而执行归一化。
[第二示例实施例的运算]
在下文中参照图6描述根据本发明第二示例实施例的归一化电路的运算。图6是示出了根据本发明第二示例实施例的归一化电路的运算的时序图。根据本发明第二示例实施例的归一化电路基于输入时钟信号执行运算。
考虑由8个数据(输入数据1至输入数据8)组成的块,如在第一示例实施例中,以下示出了要归一化的块的示例。每个输入数据是8个比特。在下文中,每个数据的值由2的补码表示。
输入数据1:00010111
输入数据2:00110001
输入数据3:00000110
输入数据4:11110011
输入数据5:11111000
输入数据6:00000110
输入数据7:00001011
输入数据8:00011011
图6示出了最大指数计算器100在图4中所示的周期1至周期8中计算输入数据的最大指数之后,在周期1’至周期8’中的运算。因为与图4所示相同,省略了对周期1至7的运算的示意。此外,周期9和周期1’是相同的运算周期。
存储器120存储输入数据,同时最大指数计算器100在周期1至8中计算输入数据的最大指数。在最大指数计算器100完成最大指数计算之后,存储器120在周期1’至8’中向位移电路130顺序地输出存储的输入数据。存储器120参考块结束信号识别最大指数计算器100完成最大指数计算时的定时。具体地,存储器120从周期9开始输出存储的输入数据1至8,周期9是块结束信号的值变为1的周期8之后的那个周期。
此外,存储器120参考块结束信号识别结束输入数据的输出的定时。具体地,存储器120在块结束信号的值再次变为1的周期8’中结束输入数据的输出。例如,外部设备在对应于输入数据1至8的周期已经过去的周期8’中输出值1的块结束信号。
最大指数计算器100在周期1至8中计算输入数据的最大指数。接着,最大指数计算器100在周期9中向位移电路130输出-1作为计算的最大指数。最大指数计算器100继续输出最大指数-1,直到存储器120完成对存储的输入数据的输出的周期8’为止。
最大指数计算器100参考块结束信号识别用以结束最大指数的输出的定时。具体地,最大指数计算器100在块结束信号的值再次变为1的的周期8’中结束最大指数的输出。
在周期1’至8’中,位移电路130基于最大指数电路100计算并输出的最大指数-1,通过顺序地对从存储器120输出的输入数据1至8进行位移,来执行归一化。然后,位移电路130输出通过归一化输入数据1至8而获得的数据作为归一化的数据1至8。当从最大指数计算器100输出的最大指数是-m时,位移电路120将输入数据1至8向左位移m个比特,从而归一化输入数据1至8(m是0或大于的整数)。
因此,从位移电路130输出的归一化数据1至8如下,并且归一化恰当结束。输入数据k归一化之后的数据被称作归一化的数据k(k是1至8中的任一个正整数)。
归一化的数据1:00101110
归一化的数据2:01100010
归一化的数据3:00001100
归一化的数据4:11100110
归一化的数据5:11110000
归一化的数据6:00001100
归一化的数据7:00010110
归一化的数据8:00110110
[第二示例实施例的有利效果]
根据第二示例实施例,由于根据第一示例实施例的最大指数计算器100用于在块浮点归一化中需要较大处理量的最大指数的计算,因此能够减小计算最大指数所需的电路规模和功耗此外,根据第二示例实施例的归一化电路包括可以高速地计算最大指数并且允许减小电路规模和功耗的最大指数计算器100。然后,归一化电路基于最大指数计算器100计算的最大指数来执行块浮点的归一化。因此,根据第二示例实施例,能够高速地执行块浮点的归一化并且减小电路规模和功耗。
[第三示例实施例]
在下文中参照附图描述本发明的第三示例实施例。
图7是示出了根据本发明第三示例实施例的最大指数计算器150的配置的框图。最大指数计算器150是对由多个输入数据组成的块中所有数据的最大指数进行计算的电路。最大指数计算器150具有以下特征:最大指数计算器150并行地执行边缘检测,从而高速地计算最大指数。在图7中,与根据本发明第一示例实施例的最大指数计算器100的元件相同的元件用相同附图标记表示。
具体地,基于输入时钟信号,以每次4个数据向最大指数计算器150顺序地输入块中的所有数据,并且最大指数计算器150计算块中所有数据的最大指数。最大指数计算器150输出针对每个块计算的最大指数。同时,最大指数计算器150参考输入块结束信号识别块的结束。
最大指数计算器150包括作为主电路的4个边缘检测器101、或电路152、寄存器103、以及MSB侧比特位置检测器104。
边缘检测器101是对构成输入数据的比特串的值的过渡(边缘)进行检测的电路。将数据a至d分别输入至4个边缘检测器101。4个边缘检测器101对构成每个输入数据的比特串的值的过渡(边缘)进行检测。4个边缘检测器101向或电路152输出检测结作为边缘检测结果155a至155d。
或电路152是5-输入电路,并且将从4个边缘检测器101输出的边缘检测结果155a至155d和从寄存器103输出的寄存器值107输入至或电路152。或电路152计算输入边缘检测器结果155a至155d与寄存器值107的逻辑或。或电路152向寄存器103输出计算的逻辑或作为或值156。
寄存器103是基于输入时钟信号在每个运算周期内存储从或电路152输出的或值156的电路。寄存器103在每个运算周期内向或电路152和MSB侧比特位置检测器104输出存储的或值作为寄存器值107。此外,寄存器103参考块结束信号来识别最后一个运算周期。在块的最后一个运算周期之后的周期中,寄存器103将针对块而存储的或值重置为初始值0。
MSB侧比特位置检测器104检测构成从寄存器103输出的寄存器值107的比特串的MSB侧上过渡值的比特位置。MSB侧比特位置检测器104是根据检测到的比特位置计算最大指数并且输出该最大指数的电路。具体地,当从寄存器103输出的寄存器值107中比特值为1的位置是MSB侧的第M(M是0或大于0的整数)比特时,MSB侧比特位置检测器104输出-1xM作为最大指数。
当寄存器103在每个运算周期内输出寄存器值107的同时,MSB侧比特位置检测器104基于块的最后寄存器值107来计算最大指数。MSB侧比特位置检测器104参考块结束信号来识别从寄存器103输出对作为块的最后或值加以指示的寄存器值107的那个周期。MSB侧比特位置检测器104对构成寄存器值107(寄存器值107指示最后的或值)的比特串的MSB侧上的过渡值的比特位置进行检测,从而计算最大指数。MSB侧比特位置检测器104输出最大指数。
[第三示例实施例的运算]
在下文中参照图8描述根据本发明第三示例实施例的最大指数计算器的运算。图8是示出了根据本发明第三示例实施例的最大指数计算器150的运算的时序图。最大指数计算器150基于输入时钟信号来执行运算。
考虑由8个数据(输入数据1至输入数据8)组成的块,以下示出了要归一化的块的示例。每个输入数据是8个比特。在下文中,每个数据的值由2的补码表示。
输入数据1:00010111
输入数据2:00110001
输入数据3:00000110
输入数据4:11110011
输入数据5:11111000
输入数据6:00000110
输入数据7:00001011
输入数据8:00011011
(周期1)
首先,在运算周期的第一周期(周期1)中,将输入数据1至4输入至最大指数计算器150。4个边缘检测器101中的每一个对构成输入数据1至4的比特串的值的过渡(边缘)进行检测。4个边缘检测器101向或电路152输出检测结果作为边缘检测结果1a至1d。更具体地,每个边缘检测器101计算并输出构成输入数据1a至1d的比特串的每个相邻比特的异或。输入数据1的检测结果是边缘检测结果1a,输入数据2的检测结果是边缘检测结果1b,输入数据3的检测结果是边缘检测结果1c,以及输入数据4的检测结果是边缘检测结果1d。
边缘检测结果1a:0011100
边缘检测结果1b:0101001
边缘检测结果1c:0000101
边缘检测结果1d:0001010
接着,或电路152计算分别从4个边缘检测器101输出的边缘检测结果1a至1d与从寄存器103输出的寄存器值1的逻辑或。或电路152向寄存器103输出计算的逻辑或作为或值1。周期1中寄存器值1的值是初始值0。
或值1:0111111
寄存器103在周期1中存储从或电路152输出的或值1。寄存器103然后在周期2中输出存储的或值1作为寄存器值2,周期2是下个运算周期。
(周期2)
接着,在运算周期的第二周期(周期2)中,将输入数据5至8输入至最大指数计算器150。4个边缘检测器101中的每一个对构成输入数据5至8的比特串的值的过渡(边缘)进行检测。边缘检测器101向或电路152输出检测结果作为边缘检测结果2a至2d。更具体地,每个边缘检测器101计算并输出构成输入数据2a至2d的比特串的每个相邻比特的异或。输入数据5的检测结果是边缘检测结果2a,输入数据6的检测结果是边缘检测结果2b,输入数据7的检测结果是边缘检测结果2c,以及输入数据8的检测结果是边缘检测结果2d。
边缘检测结果2a:0000100
边缘检测结果2b:0000101
边缘检测结果2c:0001110
边缘检测结果2d:0010110
接着,或电路152计算分别从4个边缘检测器101输出的边缘检测结果2a至2d与从寄存器103输出的寄存器值2的逻辑或。或电路152向寄存器103输出计算的逻辑或作为或值2。周期2中作为寄存器103的输出的寄存器值2的值是在周期1中存储的或值1。
或值2:0111111
由于周期3是块的最后一个运算周期之后的那个周期,MSB侧比特位置检测器104对构成作为块的最后或值2的或值的比特串的MSB侧上的过渡值的比特位置进行检测。MSB侧比特位置检测器根据检测到的比特位置来计算最大指数。MSB侧比特位置检测器104输出计算的最大指数。具体地,由于或值2中比特值为1的比特位置是MSB的第二比特,MSB侧比特位置检测器104输出-1作为最大指数。
此外,由于周期3是块的最后一个运算周期之后的那个周期,因此寄存器103将针对块而存储的或值重置为初始值0。因此,寄存器103在下个周期中输出初始值0。
MSB侧比特位置检测器104识别输入块结束信号的值变为1的那个周期作为每个块的最后一个运算周期。在图8中,由于输入块结束信号的值在周期2中变为1,因此周期2是块的最后一个运算周期。
以下描述在输入数据中包含负数侧的最大值的情况。在8-比特输入数据的情况下,数据的负数侧最大值是-1x(2的7次幂)=-128,并且当由2的补码来表示时该最大值是10000000。输入数据的边缘检测结果是1000000。因此,块的最后或值的MSB是1,计算在输入数据中包含负数侧最大值的块的最大指数是0。因此,在第三示例实施例中,即使在输入数据中包含负数侧的最大值时同样也可以计算精确的最大指数。
[第三示例实施例的有利效果]
第三示例实施例具有以下特征:块浮点的归一化中,使用边缘检测器101计算最大指数。因为边缘检测器101简单地计算构成输入数据的比特串的每个相邻比特的异或,因此边缘检测器101可以通过具有由多个异或电路组成的单个逻辑级的简单配置电路来实现。
因此,与如背景技术中所描述的需要对输入数据的绝对值进行计算的绝对值电路的归一化过程相比,根据第三示例实施例的最大指数计算器可以高速地计算最大指数并且运算减小电路规模和功耗。
此外,根据第三示例实施例的最大指数计算器即使在输入数据中包含负数侧的最大值时也可以精确处理数据。因此,根据第三示例实施例的最大指数计算器具有以下特征:即使当数据的值是负数侧的最大值时,也不必以异常方式来处理数据或者不使用负数侧的最大值。
此外,根据第三示例实施例的最大指数计算器具有以下特征:该最大指数计算器具有4个边缘检测器101且并行执行边缘检测,该最大指数计算器从而可以高速地计算最大指数。
尽管在第三示例实施例中描述包括4个边缘检测器101以及4个并行地执行边缘检测的情况,但是边缘检测器101的数目可以是任意的。例如,图9示出了包括N(N是2或大于2的整数)个边缘检测器101并且N个并行地执行边缘检测的最大指数计算器160的配置示例。
在图9中,包括在最大指数计算器160中的(N+1)输入或电路162计算从N个边缘检测器101输出的N个边缘检测结果与从寄存器103输出的寄存器值107的逻辑或。
[第四示例实施例]
在下文中参照图10描述根据本发明第四示例实施例的块浮点归一化电路。在本发明的第四示例实施例中,对使用根据第三示例实施例的最大指数计算器的块浮点归一化电路的特定示例进行描述。
图10是示出了根据本发明第四示例实施例的块浮点归一化电路(下文中被称作归一化电路)的配置的框图。
在图10中,根据第四示例实施例的归一化电路针对构成块的每个输入数据执行块浮点归一化。归一化电路输出通过归一化输入数据作为归一化的数据而获得的数据。将4个输入数据同时输入至根据第四示例实施例的归一化电路,并且归一化电路同时输出通过归一化同时输入的4个输入数据而获得的4个归一化的数据。
参照图11,根据第四示例实施例的归一化电路包括:4个存储器120、根据第三示例实施例的最大指数计算器150、以及4个位移电路130。
根据第三示例实施例的最大指数计算器150计算输入数据a至d的最大指数。最大指数计算器150向4个位移电路130输出计算的最大指数作为最大指数158。
4个存储器120分别存储输入数据a至d,同时最大指数计算器100计算输入数据的最大指数。例如,从外部设备(未示出)将输入数据以每组4个、顺序地输入至每个存储器120和最大指数计算器100。存储器120顺序地存储从外部设备输入的输入数据。此外,4个存储器120在最大指数计算器150完成最大指数计算之后,向位移电路130顺序地输出存储的输入数据a至d作为输入数据121a至d。
4个位移电路130基于最大指数计算器150针对输入数据而计算的最大指数158,相应地对从4个存储器120输出的输入数据121a至d进行位移,从而执行归一化。
[第四示例实施例的运算]
在下文中参照图11描述根据本发明第四示例实施例的归一化电路的运算。图11是示出了根据本发明第四示例实施例的归一化电路的运算的时序图。根据本发明第四示例实施例的归一化电路基于输入时钟信号执行运算。
考虑由8个数据(输入数据1至输入数据8)组成的块,以下示出了如在示例实施例中要归一化的块的示例。每个输入数据是8个比特。在下文中,每个数据的至右2的补码来表示。
输入数据1:00010111
输入数据2:00110001
输入数据3:00000110
输入数据4:11110011
输入数据5:11111000
输入数据6:00000110
输入数据7:00001011
输入数据8:00011011
图11示出了最大指数计算器150在图8中所示的周期1至周期2中计算输入数据的最大指数之后周期1’至周期2’中的运算。因为与图8所示相同,所以省略了对周期1的运算的示意。此外,周期3和周期1’是相同的运算周期。
4个存储器120中的每一个存储输入数据,同时最大指数计算器150在周期1至2中计算输入数据的最大指数。在最大指数计算器150完成最大指数计算之后,4个存储器120中的每一个在周期1’至2’中向位移电路130顺序地输出存储的输入数据。存储器120参考块结束信号识别最大指数计算器150完成最大指数计算时的定时。
最大指数计算器150计算输入数据的最大指数,所述输入数据在周期1至2中以每周期4个输入数据为一组进行输入。接着,最大指数计算器150在周期3中向位移电路130输出-1作为计算的最大指数。最大指数计算器150继续输出最大指数-1,直到其中存储器120完成对存储的输入数据的输出的周期2’为止。
在周期1’至3’中,4个位移电路130基于最大指数电路150计算并输出的最大指数-1,通过以每周期4个输入数据为一组顺序地对从存储器120输出的输入数据1至8进行位移,来执行归一化。然后,位移电路130输出通过归一化输入数据1至8而获得的数据作为归一化的数据1至8。
因此,从位移电路130输出的归一化数据1至8如下,并且归一化恰当结束。输入数据k归一化之后的数据被称作归一化的数据k(k是1至8中任一个中的正整数)。
归一化的数据1:00101110
归一化的数据2:01100010
归一化的数据3:00001100
归一化的数据4:11100110
归一化的数据5:11110000
归一化的数据6:00001100
归一化的数据7:00010110
归一化的数据8:00110110
[第四示例实施例的有利效果]
根据第四示例实施例,由于根据第三示例实施例的最大指数计算器150用于在块浮点归一化中需要较大处理量的最大指数计算,因此能够减小计算最大指数所需的电路规模和功耗。此外,根据第四示例实施例的归一化电路包括可以高速地计算最大指数并且允许减小电路规模和功耗的最大指数计算器150。然后,归一化电路基于最大指数计算器150计算的最大指数来执行块浮点的归一化。因此,根据第四示例实施例,能够高速地执行块浮点的归一化并且减小电路规模和功耗。
此外,由于根据第四示例实施例的块浮点归一化电路包括4个存储器120和4个位移电路130,并且还包括4个并行地计算最大指数的最大指数计算器150,因此能够4个并行地执行最大指数计算和块浮点的归一化。因此,存在以下特征:根据第四示例实施例的块浮点归一化电路可以高速地执行块浮点的归一化。
尽管在第四示例实施例中描述了4个并行地执行归一化的情况,但是并行的数目可以是任意的。例如,图12示出了一种块浮点归一化电路的配置的示例,该块浮点归一化电路包括:N个存储器120和4个位移电路130,并且还包括N(N是2或大于2的整数)个并行地计算最大指数从而N个并行地执行归一化的最大指数计算器160。
注意,本发明不限于上述示例实施例,并且在不背离本发明的范围前提下可以进行各种改变。
尽管在示例实施例中,边缘检测器产生比特串,在该比特串中,对于构成输入数据的比特串指示相邻比特的值是不同的值(过渡值)为1,对于构成输入数据的比特串指示相邻比特的值是相同的值(非过渡值)为0,但不限于此。边缘检测器可以产生下述比特串,在该比特串中,指示相邻比特串是不同的值为0以及指示相邻比特的值是相同的值为1。换言之,例如边缘检测器可以包括异或非(XNOR)电路,而不是异或电路。在这种情况下,例如,包括对从边缘检测器输出的数据的逻辑与(AND)进行计算的与电路,而不是或电路。然后MSB侧比特位置检测器基于从与电路输出的与值中比特值为0的比特位置,来计算最大指数。
尽管在示例实施例中,将构成输入数据的比特串的从MSB算起的第n比特和第(n+1)比特构成的比特对的异或结果设置为边缘检测器和或电路所产生的比特串中的从MSB算起的第n(n是0或大于0的整数)比特,但不限于此。例如,当输入数据的比特串是8个比特时,边缘检测器和或电路可以将来自构成输入数据的比特串的从MSB算起的第n比特和第(n+1)比特构成的比特对的异或结果设置为从MSB算起的第(7-n)比特。换言之,边缘检测器和或电路可以将来自构成输入数据的比特串的从MSB算起的第n比特和第(n+1)比特构成的比特对的异或结果设置为从LSB算起的第n比特。在这种情况下,例如,包括在从寄存器输出的或值中比特值为1的位置是从LSB算起的第L比特时计算-1xL作为从LSB侧算起的最大指数的比特位置检测器,而不是包括MSB侧比特位置检测器。注意,从LSB算起的第0比特是LSB。
尽管在示例实施例中,计算边缘检测器所产生的比特串的逻辑或并且基于计算的逻辑或来计算最大指数,但不限于此。例如,可以顺序地将边缘检测器所产生的比特串直接输出至MSB侧比特位置检测器,而不包括或电路和寄存器。在这种情况下,MSB侧比特位置检测器计算从边缘检测器顺序输出的每个比特串的指数。然后MSB侧比特位置检测器可以将块中所有数据之中具有最大值的指数确定为最大指数。从而与计算针对每个计算的绝对值的指数以及并且将块中所有数据之中具有最大值的指数确定为最大指数的情况相比,能够高速地计算最大指数。
本申请基于并要求于2010年6月22日提交的日本专利申请No.2010-141765的优先权权益,其全部内容通过引用合并于此。
附图标记列表
50半导体集成电路
51比特串产生器
52指数计算器
100最大指数计算器
101边缘检测器
102或电路
103寄存器
104MSB侧比特位置检测器
105边缘检测结果
106或值
107寄存器值
110异或电路
120存储器
130位移电路
150最大指数计算器
152或电路
160最大指数计算器
162或电路

Claims (10)

1.一种半导体集成电路,当用公共指数归一化多个数据时,计算多个数据的指数,所述半导体集成电路包括:
比特串产生器,产生第二比特串,所述第二比特串包含具有过渡值或非过渡值的比特,所述过渡值指示对于构成数据的第一比特串的每对相邻比特而言相邻比特的值是不同的,所述非过渡值指示对于构成数据的第一比特串的每对相邻比特而言相邻比特的值是相同的;以及
指数计算器,基于多个第二比特串的过渡值的比特位置来计算多个数据的指数,所述第二比特串是由比特串产生器相应地从构成多个数据的多个第一比特串产生的。
2.根据权利要求1所述的半导体集成电路,其中,指数计算器包括:
比特串构成器,基于多个第二比特串产生第三比特串,在第三比特串中,当所述多个第二比特串中的至少一个第二比特串的相同位置的比特是过渡值时,与所述位置相对应的比特具有第一值,以及当所述多个第二比特串中的所有第二比特串的相同位置的比特都是非过渡值时,与所述位置相对应的比特具有第二值,以及
比特位置检测器,基于比特串构成器所产生的第三比特串中的第一值的比特位置,来计算指数。
3.根据权利要求2所述的半导体集成电路,其中
在第二比特串中,将与来自第一比特串的从最高有效位算起的第n(n是等于或大于0的整数)比特和第(n+1)比特构成的比特对相对应的比特设置为从最高有效位算起的第n比特,
在第三比特串中,将与来自第二比特串的从最高有效位算起的第n比特相对应的比特设置为从最高有效位算起的第n比特,以及
比特位置检测器,基于第三比特串中从最高有效位算起的第一值的比特位置,来计算指数。
4.根据权利要求2或3所述的半导体集成电路,其中,比特串构成器产生第三比特串,所述第三比特串是所述多个第二比特串的逻辑或。
5.根据权利要求4所述的半导体集成电路,其中,比特串产生器产生第二比特串,所述第二比特串包含对在构成数据的第一比特串中包含的相邻比特的异或加以指示的比特。
6.根据权利要求2至5中任一项所述的半导体集成电路,还包括:
比特串存储装置,存储第三比特串,其中
所述半导体集成电路包括多个比特串产生器,
所述多个比特串产生器根据所述多个数据产生与所述多个比特串产生器的数目相对应数目的第二比特串,以及
每次多个比特串产生器产生多个第二比特串时,比特串构成器基于多个第二比特串和存储在比特串存储装置中的第三比特串来产生第三比特串,且对存储在比特串存储装置中的第三比特串进行更新,以及比特串构成器产生第三比特串,在第三比特串中,当多个第二比特串和第三比特串中的至少一个比特串的相同位置的比特是过渡值时,与所述位置相对应的比特具有第一值,以及当多个第二比特串和第三比特串中的所有比特串的相同位置的比特是非过渡值时,与所述位置相对应的比特具有第二值。
7.根据权利要求1至6中任一项所述的半导体集成电路,还包括:
位移电路,通过基于指数计算器计算的指数,对第一比特串进行位移来归一化数据。
8.根据权利要求7所述的半导体集成电路,其中
所述半导体集成电路包括多个位移电路,以及
所述多个位移电路每次以所述多个位移电路的数目为一组来归一化多个数据。
9.根据权利要求1至8中任一项所述的半导体集成电路,其中,
所述多个数据是包含在块浮点的相同块中的数据,以及
指数计算器计算块中的最大指数。
10.一种指数计算方法,当用公共指数归一化多个数据时,计算多个数据的指数,所述方法包括:
产生第二比特串,所述第二比特串包含具有过渡值或非过渡值的比特,所述过渡值指示对于构成数据的第一比特串的每对相邻比特而言相邻比特的值是不同的,所述非过渡值指示对于构成数据的第一比特串的每对相邻比特而言相邻比特的值是相同的;以及
基于多个第二比特串的过渡值的比特位置来计算多个数据的指数,第二比特串是相应地从构成多个数据的多个第一比特串产生的。
CN201180001677.1A 2010-06-22 2011-04-12 半导体集成电路和指数计算方法 Expired - Fee Related CN102378960B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010-141765 2010-06-22
JP2010141765 2010-06-22
PCT/JP2011/002148 WO2011161859A1 (ja) 2010-06-22 2011-04-12 半導体集積回路及び指数算出方法

Publications (2)

Publication Number Publication Date
CN102378960A true CN102378960A (zh) 2012-03-14
CN102378960B CN102378960B (zh) 2014-07-30

Family

ID=45371067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180001677.1A Expired - Fee Related CN102378960B (zh) 2010-06-22 2011-04-12 半导体集成电路和指数计算方法

Country Status (5)

Country Link
US (1) US8862647B2 (zh)
EP (1) EP2431865B1 (zh)
JP (1) JP4883251B1 (zh)
CN (1) CN102378960B (zh)
WO (1) WO2011161859A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110050256A (zh) * 2016-12-07 2019-07-23 微软技术许可有限责任公司 用于神经网络实现的块浮点

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102378960B (zh) * 2010-06-22 2014-07-30 日本电气株式会社 半导体集成电路和指数计算方法
JP6216123B2 (ja) * 2013-01-30 2017-10-18 ブラザー工業株式会社 画像形成装置
US9577672B2 (en) * 2014-07-18 2017-02-21 Storart Technology Co., Ltd. Low density parity-check code decoder and decoding method thereof
DE102020104594B4 (de) * 2020-02-21 2024-01-25 Infineon Technologies Ag Verarbeitung von Radarsignalen

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040073A (ja) * 1996-07-24 1998-02-13 Matsushita Electric Ind Co Ltd ディジタル信号処理装置
JP2002318792A (ja) * 2001-04-24 2002-10-31 Asahi Kasei Corp データ演算処理装置及びデータ演算処理プログラム
CN101042638A (zh) * 2006-03-23 2007-09-26 富士通株式会社 浮点数求和的处理方法及计算机系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0675746A (ja) 1992-08-27 1994-03-18 Matsushita Electric Ind Co Ltd 1位置検出方法及び演算器
JP3127600B2 (ja) * 1992-09-11 2001-01-29 ソニー株式会社 ディジタル信号復号化装置及び方法
JPH08212052A (ja) 1995-02-03 1996-08-20 Fujitsu Ltd 正規化データ生成回路
JPH09128213A (ja) 1995-10-31 1997-05-16 Hitachi Ltd ブロックフローティング処理システムおよび方法
JP3313560B2 (ja) * 1996-01-31 2002-08-12 株式会社日立製作所 浮動小数点演算処理装置
JP3642053B2 (ja) * 2002-02-25 2005-04-27 日本電気株式会社 シンボルデータ変換回路
US7917567B1 (en) * 2007-06-07 2011-03-29 Xilinx, Inc. Floating-point processing unit for successive floating-point operations
US8631056B2 (en) * 2008-01-09 2014-01-14 Qualcomm Incorporated Processor and method of determining a normalization count
CN102378960B (zh) * 2010-06-22 2014-07-30 日本电气株式会社 半导体集成电路和指数计算方法
US9519457B2 (en) * 2011-05-16 2016-12-13 Nec Corporation Arithmetic processing apparatus and an arithmetic processing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040073A (ja) * 1996-07-24 1998-02-13 Matsushita Electric Ind Co Ltd ディジタル信号処理装置
JP2002318792A (ja) * 2001-04-24 2002-10-31 Asahi Kasei Corp データ演算処理装置及びデータ演算処理プログラム
CN101042638A (zh) * 2006-03-23 2007-09-26 富士通株式会社 浮点数求和的处理方法及计算机系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110050256A (zh) * 2016-12-07 2019-07-23 微软技术许可有限责任公司 用于神经网络实现的块浮点
US11822899B2 (en) 2016-12-07 2023-11-21 Microsoft Technology Licensing, Llc Block floating point for neural network implementations

Also Published As

Publication number Publication date
JPWO2011161859A1 (ja) 2013-08-19
CN102378960B (zh) 2014-07-30
US8862647B2 (en) 2014-10-14
EP2431865A1 (en) 2012-03-21
US20120117337A1 (en) 2012-05-10
EP2431865A4 (en) 2017-04-19
WO2011161859A1 (ja) 2011-12-29
JP4883251B1 (ja) 2012-02-22
EP2431865B1 (en) 2018-05-23

Similar Documents

Publication Publication Date Title
US7653855B2 (en) Random number test circuit, random number generation circuit, semiconductor integrated circuit, IC card and information terminal device
CN102378960B (zh) 半导体集成电路和指数计算方法
CN109104190B (zh) 一种基于多次采样的时间数字转换电路
US9519457B2 (en) Arithmetic processing apparatus and an arithmetic processing method
RU2439667C1 (ru) Процессор повышенной достоверности функционирования
CN201654762U (zh) 一种伪随机码序列发生器
CN102201882A (zh) 一种线性分组码编码参数的盲识别方法
CN105912834A (zh) 用于检查随机数序列的熵的装置和方法
US10735149B2 (en) Eye diagram measurement device and eye diagram measurement method
CN117331530A (zh) 长伪随机序列快速跳转方法、装置、电子设备及存储介质
US11775259B2 (en) Random number generator
CN107016292A (zh) 防止通过功率分析进行窃听的电子电路及防止窃听的方法
CN105786444B (zh) 一种浮点数尾数前导零检测方法及装置
RU2008111851A (ru) Способ унифицированной семантической обработки информации, обеспечивающий в рамках одной формальной модели представление, контроль семантической правильности, поиск и идентификацию описаний объектов
CN110069237A (zh) 一种基于查找表的基-8除法器信号处理方法
CN104199635B (zh) 集成crc校验电路的伪随机数发生器
US10977003B2 (en) Linear feedback shift register with near-maximal length sequences
RU75072U1 (ru) Устройство для вычисления тригонометрических функций
US7627624B2 (en) Digital signal averaging using parallel computation structures
CN106126192B (zh) 一种基于hmm的含错lfsr序列生成多项式估计方法
Tebelmann Side-Channel Analysis and Countermeasures for Physical Unclonable Functions
CN103810145B (zh) 维特比蝶形运算
CN217847107U (zh) 基于雪崩效应的量子随机数生成器及包含其的集成电路
CN1230987C (zh) 码生成电路
Ahmed MIXED SIGNAL TESTING SYSTEM TECHNIQUE WITH ALGEBRAIC SIGNATURE ANALYZER WITHOUT CARRY PROPAGATION

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: 20140730

Termination date: 20160412