CN101361278B - 奇偶校验位生成电路、计数电路以及计数方法 - Google Patents

奇偶校验位生成电路、计数电路以及计数方法 Download PDF

Info

Publication number
CN101361278B
CN101361278B CN2006800514174A CN200680051417A CN101361278B CN 101361278 B CN101361278 B CN 101361278B CN 2006800514174 A CN2006800514174 A CN 2006800514174A CN 200680051417 A CN200680051417 A CN 200680051417A CN 101361278 B CN101361278 B CN 101361278B
Authority
CN
China
Prior art keywords
data
parity check
check bit
circuit
bit
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
CN2006800514174A
Other languages
English (en)
Other versions
CN101361278A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN101361278A publication Critical patent/CN101361278A/zh
Application granted granted Critical
Publication of CN101361278B publication Critical patent/CN101361278B/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
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/607Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6575Implementations based on combinatorial logic, e.g. Boolean circuits

Abstract

本发明提供一种奇偶校验生成电路、计数电路以及计数方法。当针对8位输入数据(X<7:0>)可取的从0至255的256组值,判断输入数据的奇偶校验(X<P>)、POP(Z<3:0>)和POP的奇偶校验(Z<P>)取哪组的值时,可知在POP为“0”、“1”、“6”、“7”之中的任意一个的情况下,X<P>与Z<P>一致,在POP为“2”、“3”、“4”、“5”、“8”之中的任意一个的情况下,X<P>与Z<P>反转。利用这种规律性来实现奇偶校验的预测。

Description

奇偶校验位生成电路、计数电路以及计数方法
技术领域
本发明涉及一种对二进制数据中所包含的“1”的数目进行计数的奇偶校验位生成电路、计数电路以及计数方法,尤其涉及可不给总体计数的运算处理带来影响地高速求出总体计数运算结果的奇偶校验位的奇偶校验位生成电路、计数电路以及计数方法。
背景技术
把对二进制数据中所包含的“1”的数目进行计数的运算称为总体计数(Population Count),一部分CPU(Central Processing Unit:中央处理器)具有作为用于运行该运算的指令的POPC(POPulation Count:总体计数)指令。
以前,由于POPC指令的使用频度较低,所以存在未作为指令集安装而通过基于软件完成的仿真来实现的情况,然而,近年来,在汉明距离(两个位串中不同的位数)等的计算中利用POPC指令的情况增多、并且为了指令处理的高速化,而转换为利用硬件来实现的情况增多。例如,可通过利用专利文献1所公开的技术来实现用于运行POPC指令的电路。
专利文献1:日本特开2005-165793号公报
存在一种为了提高可靠性而把奇偶校验位附加到运算处理的输入输出数据中、并使用该奇偶校验位来保证数据的合法性的CPU。在这种CPU利用硬件来实现POPC指令的情况下,出现如何求出POPC指令运算结果的奇偶校验位的问题。
例如,当利用专利文献1所公开的技术来进行总体计数的运算、然后使用其它电路来算出运算结果的奇偶校验位时,指令的处理时间延长进行奇偶校验位运算处理的时间。在这种方式中,为了指令处理的高速化而利用硬件来安装POPC指令的意义减弱。因此,为了不给运算处理的循环时间带来影响,需要利用与运算处理等同或者在其以下的循环时间来进行奇偶校验位的运算处理,由此,需要根据输入数据来预测针对POPC指令处理结果的奇偶校验位。
为了不增加POPC指令的处理时间地求出运算结果的奇偶校验位,需要与总体计数的计数处理并行进行,并在其它电路中进行奇偶校验位的预测。该奇偶校验位的预测必需根据POPC指令的输入数据和其奇偶校验位来预测运算结果的奇偶校验位。
发明内容
本发明是鉴于上述问题所作出的,其目的在于提供一种能不给总体计数的运算处理带来影响地高速求出总体计数的运算结果的奇偶校验位的奇偶校验位生成电路、计数电路以及计数方法。
为了解决上述课题并实现目的,本发明为一种奇偶校验位生成电路,其将数据与所述数据的奇偶校验位作为输入,输出利用n进制数(n为2以上的自然数)来表示所述数据时的1的计数信息的奇偶校验位,该奇偶校验位生成电路的特征是具有:判定单元,其对利用n进制数来表示所述数据时的所述1的数目进行计数,判定利用n进制数表示8位数据时的所述1的数目是否为0、1、6、7中的任意一个,从而决定是否使所述数据的奇偶校验位反转;以及反转单元,其根据所述判定单元的判定结果,将所述数据的奇偶校验位值或者使所述奇偶校验位反转后的值中的任意一个作为所述计数信息的奇偶校验位输出。
另外,本发明的特征是,所述判定单元根据利用n进制数表示数据的前四位时的所述1的数目与利用n进制数表示该数据的后四位时的所述1的数目的组合,来判定利用n进制数表示所述8位数据时的所述1的数目是否是0、1、6、7中的任意一个。
另外,本发明为一种计数电路,将数据与所述数据的奇偶校验位作为输入,输出利用n进制数表示所述数据时的1的计数信息以及所述计数信息的奇偶校验位,其中n为2以上的自然数,其特征在于,所述计数电路具备奇偶校验位生成电路,该奇偶校验位生成电路具有:判定单元,其对利用n进制数来表示所述数据时的所述1的数目进行计数,判定利用n进制数表示8位数据时的所述1的数目是否为0、1、6、7中的任意一个,从而决定是否使所述数据的奇偶校验位反转;以及反转单元,其根据所述判定单元的判定结果,将所述数据的奇偶校验位值或者使所述奇偶校验位反转后的值中的任意一个作为所述计数信息的奇偶校验位输出。
另外,本发明的特征是,所述判定单元对利用n进制数表示8位数据时的所述1的数目为0、1、6、7中的任意一个的情况进行解码。
另外,本发明的特征是,所述判定单元根据利用n进制数表示数据的前四位时的所述1的数目与利用n进制数表示该数据的后四位时的所述1的数目的组合,来判定利用n进制数表示所述8位数据时的所述1的数目是否是0、1、6、7中的任意一个。
另外,本发明为一种计数方法,将数据与所述数据的奇偶校验位作为输入,输出利用n进制数表示所述数据时的1的计数信息以及所述计数信息的奇偶校验位,其中n为2以上的自然数,其特征在于,该计数方法具有如下的步骤:判定步骤,其对利用n进制数来表示所述数据时的所述1的数目进行计数,判定利用n进制数表示8位数据时的所述1的数目是否为0、1、6、7中的任意一个,从而决定是否使所述数据的奇偶校验位反转;以及反转步骤,其根据所述判定步骤取得的判定结果,将所述数据的奇偶校验位的值或者使所述奇偶校验位反转后的值中的任意一个作为所述计数信息的奇偶校验位输出。
另外,本发明的特征是,所述判定步骤对利用n进制数表示8位数据时的所述1的数目为0、1、6、7中的任意一个的情况进行解码。
另外,本发明的特征是,所述判定步骤根据利用n进制数表示数据的前四位时的所述1的数目与利用n进制数表示该数据的后四位时的所述1的数目的组合,来判定利用n进制数表示所述8位数据时的所述1的数目是否是0、1、6、7中的任意一个。
另外,本发明为一种计数方法,一种计数方法,将N位的数据与所述数据的奇偶校验位作为输入,输出利用n进制数表示所述数据时的1的计数信息以及所述计数信息的奇偶校验位,其中N为N≥2的自然数,n为2以上的自然数,其特征在于,具有如下的步骤:分割步骤,将所述N位数据按每n位数据进行分割,其中n为N>n≥1的自然数;判定步骤,对利用n进制数来表示所述数据时的所述1的数目进行计数,判定利用n进制数表示8位数据时的所述1的数目是否为0、1、6、7中的任意一个,从而决定是否使所述数据的奇偶校验位反转;反转步骤,根据所述判定步骤取得的判定结果,将所述n位数据的奇偶校验位的值或者使所述n位数据的奇偶校验位反转后的值中的任意一个作为所述计数信息的奇偶校验位输出;计数信息加法运算步骤,其对所述分割后的每一个n位数据的所述计数信息分别进行加法运算;以及奇偶校验位加法运算步骤,对所述分割后的每一个n位数据的所述计数信息的奇偶校验位分别进行加法运算。
根据本发明,通过判定输入数据是否为特定的位模式来预测总体计数运算结果的奇偶校验位,因此,能够不给总体计数的运算处理带来影响地高速预测总体计数运算结果的奇偶校验位。
而且,本发明的特征是在上述发明中所述判定单元根据利用2进制数表示该数据的前四位时的1的数目与利用2进制数表示该数据的后四位时的1的数目的组合,来判定利用2进制数表示8位数据时的1的数目是否是0、1、6、7中的任意一个。
根据本发明,把输入数据分割成4位来判定位模式,因此,与不分割整个位地进行位模式的判定的情况相比,可减小电路的规模。
另外,本发明的特征是在上述发明中总体计数电路把N位的数据与其奇偶校验位作为输入,输出用二进制数表示该数据时的1的数目与其奇偶校验位,本发明具有多个在第1发明中记载的总体计数电路,通过对这些在第一发明中记载的总体计数电路的输出结果进行加法计算,来求输出的数据。
根据本发明,可通过组合8位的总体计数电路来进行N位的总体计数的运算,因此,还能够实现可应对任意位宽的数据的总体计数电路。
根据本发明,通过判定输入数据为特定的位模式来预测总体计数运算结果的奇偶校验位,所以取得可不给总体计算的运算处理带来影响地高速预测总体计数运算结果的奇偶校验位的效果。
另外,根据本发明,把输入数据分割成4位来判定位模式,因此,与不对全部位进行分割地进行位模式的判定的情况相比,取得可减小电路规模的效果。
另外,根据本发明,可通过组合8位的总体计数电路来进行N位的总体计数的运算,因此,取得还能够实现可应对任意位宽的数据的总体计数电路的效果。
附图说明
图1-1为显示8位输入数据与POP的对应的图。
图1-2为显示8位输入数据与POP的对应的图。
图1-3为显示8位输入数据与POP的对应的图。
图2为显示输入数据的奇偶校验位与POP的奇偶校验位一致的数据的图。
图3-1是显示8位输入数据的POP为“0”、“1”、“6”、“7”中的任意一个时的前四位POP与后四位POP的组合的图。
图3-2是显示8位输入数据的POP为“2”、“3”、“4”、“5”、“8”中的任意一个时的前四位POP与后四位POP的组合的图。
图4为表示与8位输入数据相对应的总体计数电路结构的框图。
图5-1为表示奇偶校验位预测部结构的框图。
图5-2为表示奇偶校验位预测部结构的框图。
图5-3为表示奇偶校验位预测部结构的框图。
图6为表示与64位输入数据相对应的总体计数电路结构的框图。
图7为表示与N位输入数据相对应的总体计数电路结构的框图。
符号说明
10、20     总体计数电路
100        总体计数电路
101a~101h 总体计数电路
102a~102h 总体计数电路
201a~201g 加法运算电路
202a~202x 加法运算电路
1000       总体计数运算部
2000       奇偶校验位预测部
2111~2114 NOT电路
2121       AND电路
2131~2134 AND电路
2135       OR电路
2141~2146 AND电路
2147       OR电路
2151~2154 AND电路
2155       OR电路
2161       AND电路
2211~2214 NOT电路
2221       AND电路
2231~2234 AND电路
2235       OR电路
2241~2246 AND电路
2247       OR电路
2251~2254 AND电路
2255       OR电路
2261       AND电路
2311       AND电路
2321、2322 AND电路
2323       OR电路
2331~2333 AND电路
2334       OR电路
2341、2342 AND电路
2343       OR电路
2351       NOR电路
3000       奇偶校验位反转电路
具体实施方式
以下,根据附图对本发明的奇偶校验位生成电路、计数电路以及计数方法的实施例进行详细的说明。此外需要加以说明的是,本发明并不局限于该实施例。
实施例
首先,说明本实施例的奇偶校验位预测方式的原理。图1-1~1-3为示出8位输入数据、与利用二进制数来表示该数据时的“1”的数目(以下称之为“POP”)的对应的图。
该图还表示如下内容,即,相对于8位输入数据(X<7:0>)可获取的从“00000000”至“11111111”的256组的值,输入数据的奇偶校验位(X<P>)、POP(Z<3:0>)以及POP的奇偶校验位(Z<P>)取什么值。
输入数据为8位,因此POP可获取的值为从“0000(十进制数表示为0)”至“1000(十进制表示为8)”。另外,在该图中采用了奇数奇偶校验位,对于“00000000”这样的8位输入数据,设定“1”为奇偶校验位。并且,对于作为该输入数据的POP的“0000”,设定“1”为奇偶校验位。
图2表示标出了图1-1~1-3所示的数据中的输入数据的奇偶校验位与POP的奇偶校验位一致的数据(行的开头标有“*”的数据)。由本图可知:当输入数据的奇偶校验位与POP的奇偶校验位一致时,POP为“0000(十进制数表示为0)”、“0001(十进制数表示为1)”、“0110(十进制数表示为6)”以及“0111(十进制数表示为7)”中的任意一个数值。
另一方面,当观察图1-1~1-3所示数据中的输入数据的奇偶校验位与POP的奇偶校验位不一致的数据(行的开头未标有“*”的数据)时,POP为“0010(十进制数表示为2)”、“0011(十进制数表示为3)”、“0100(十进制数表示为4)”、“0101(十进制数表示为5)”以及“1000(十进制数表示为8)”中的任意一个数值。
通过运用此规律性,可按下述内容预测POP的奇偶校验位。即,在针对8位输入数据来求POP时,如果POP为“0”、“1”、“6”、“7”中的任意一个,则可预测出与输入数据的奇偶校验位相等的数值为POP的奇偶校验位。并且,如果POP为其它数值,则可预测出使输入数据的奇偶校验位反转后的数值为POP的奇偶校验位。
在求具有8位以上位宽的输入数据的POP时,可通过每8位的方式分解处理输入数据来预测奇偶校验位。具体而言,按照上述规律性来预测分解成8位的各个数据的POP的奇偶校验位,从而能够通过对该预测结果进行加法运算来预测输入数据的POP的奇偶校验位。
不过如上所述,关于本实施例的奇偶校验位预测方式,假设了在CPU的POPC指令中与POP的计数处理并行地执行,以不使POPC指令的执行时间增加为课题。因此,利用本实施例的奇偶校验位预测方式进行的奇偶校验位预测处理的循环时间需要在POP的计数处理的循环时间以下。如果奇偶校验位预测处理的循环时间在POP的计数处理的循环时间以下,则通过POP的计数处理来屏蔽该奇偶校验位预测处理,从而不会给POP指令的运行时间带来影响。
在本实施例的奇偶校验位预测方式中,需要判定输入数据的POP,该判定只要能够获知POP为十进制数表示的“0”、“1”、“6”、“7”中的任意一个、或者为十进制数表示的“2”、“3”、“4”、“5”、“8”中的任意一个就足够了。因此,不需要如专利文献1所示通过加法器的组合来运算POP,作为使用解码器的判定电路就可实现,由此能够使运行速度高速化。
但是,当通过解码器来执行具有8位位宽的输入数据的POP的判定时,会产生电路规模增大的问题。因此,采用将8位输入数据分成各四位的前四位、后四位进行处理的方式。
图3-1示出了在8位输入数据的POP为十进制数表示的“0”、“1”、“6”、“7”中的任意一个时、前四位(<7:4>)的POP与后四位(<3:0>)的POP可获取的数值的全部组合。如该图所示,此时的组合存在8组。
另一方面,图3-2示出了8位输入数据的POP为十进制数表示的“2”、“3”、“4”、“5”、“8”中的任意一个时、前四位的POP与后四位的POP可获取的数值的全部组合。如该图所示,此时的组合存在15组。
由此可知,在分成前四位和后四位进行处理时,判定8位输入数据的POP是否是十进制数表示的包括“0”、“1”、“6”、“7”的8组组合中的任意一个的方法比起判定其是否是十进制数表示的包括“2”、“3”、“4”、“5”、“8”的15组组合中的任意一个的方法,能够减少用于实现奇偶校验位预测的电路量。
在以下安装例的说明中,对分成前四位和后四位来判定8位输入数据的POP是否为十进制数表示的“0”、“1”、“6”、“7”中的任意一个的情况进行说明。此外,在电路规模不构成问题的情况下,可以分成前四位与后四位来判定8位输入数据的POP是否为十进制数表示的“2”、“3”、“4”、“5”、“8”中的任意一个,另外也能够不将8位的输入数据分成前四位、后四位地来判定。
接着,对本实施例的安装了奇偶校验位预测方式的总体计数电路进行说明。图4为表示与8位输入数据相对应的总体计数电路结构的框图。如该图所示,总体计数电路100为将8位的输入数据(X<7:0>)与其奇偶校验位(X<P>)作为输入、并输出总体计数的运算结果(Z<3:0>)与其奇偶校验位(Z<P>)的电路。
总体计数电路100包括:总体计数运算部1000、奇偶校验位预测部2000以及奇偶校验位反转电路3000。
总体计数运算部1000为将8位的输入数据(X<7:0>)作为输入、执行该数据POP的运算处理并输出运算结果(Z<3:0>)的处理部,其由作为进位存储加法器的CSA(Carry Save Adder:进位存储加法器)与作为半加法器的HA(HalfAdder:半加法器)的组合等而构成。此外,总体计数运算部1000的结构未必如图4所示的结构,例如,也可以是专利文献1中所示的结构。
奇偶校验位预测部2000与奇偶校验位反转电路3000为使用本实施例的奇偶校验位预测方式来预测运算结果的奇偶校验位的处理部。奇偶校验位预测部2000将8位的输入数据(X<7:0>)作为输入来进行解码,由此在该数据的POP为十进制数表示的“0”、“1”、“6”、“7”中的任意一个时,输出0作为INV_P信号,否则,输出1。
并且,奇偶校验位反转电路3000在INV_P信号为0时,把输入数据的奇偶校验位(X<P>)直接作为运算结果的奇偶校验位(Z<P>)输出,在INV_P信号为1时,把将输入数据的奇偶校验位(X<P>)反转后的值作为运算结果的奇偶校验位(Z<P>)输出。
图5-1~5-3为表示奇偶校验位预测部2000结构的框图。图5-1示出了用于通过对输入数据的前四位(X<7:4>)的POP进行解码来判定的电路结构。
NOT电路2111~2114分别为将输入位X<7>~X<4>反转的电路。
AND电路2121、2131~2134、2141~2146、2151~2154以及2161作为解码电路构成为:将通过NOT电路2111~2114而将输入位X<7>~X<4>或者其一部分或全部反转后的信号作为输入进行解码,由此根据输入位X<7>~X<4>的位模式仅有一个电路输出1,其它电路输出0。
AND电路2121在前四位的POP为0时、即全部位为0时输出1。该输出成为POPC_74_0信号。
AND电路2131~2134在前四位的POP为1时、即存在一个具有“1”数值的位时,AND电路2131~2134的任意一个输出1。这些输出通过OR电路2135进行逻辑和运算,并成为POPC_74_1信号。
AND电路2141~2146在前四位的POP为2时、即存在二个具有“1”数值的位时,其中的任意一个电路输出1。这些输出通过OR电路2147进行逻辑和运算,并成为POPC_74_2信号。
AND电路2151~2154在前四位的POP为3时、即存在三个具有“1”数值的位时,其中的任意一个电路输出1。这些输出通过OR电路2155进行逻辑和运算,并成为POPC_74_3信号。
AND电路2161在前四位的POP为4时、即全部位为1时输出1。该输出成为POPC_74_4信号。
图5-2示出了用于判别输入数据的后四位(X<3:0>)的POP的电路结构。因为电路结构与图5-1所示的结构相同,所以这里仅对输出的信号进行说明。
POPC_30_0信号在后四位的POP是0时变为1,POPC_30_1信号在后四位的POP是1时变为1。POPC_30_2信号在后四位的POP是2时变为1,POPC_30_3信号在后四位的POP是3时变为1。并且,POPC_30_4信号在后四位的POP是十进制数表示的“4”时变为1。
图5-3示出了用于判定8位输入数据(X<7:0>)的POP是否为十进制数表示的“0”、“1”、“6”、“7”中的任意一个的电路结构。
AND电路2311、2321~2322、2331~2333以及2341~2342根据前四位(X<7:4>)的POP的判定结果和后四位(X<3:0>)的POP的判定结果的组合,来判定8位输入数据(X<7:0>)的POP的数值。
AND电路2311在前四位的POP为0、后四位的POP为0时、即POPC_74_0信号为1、POPC_30_0信号为1时,输出1。该输出成为POPC_70_0信号。
AND电路2321在前四位的POP为0、后四位的POP为十进制数表示的“1”时、即POPC_74_0信号为1、POPC_30_1信号为1时,输出1。
AND电路2322在前四位的POP为1、后四位的POP为十进制数表示的“0”时、即POPC_74_1信号为1、POPC_30_0信号为1时,输出1。AND电路2321以及AND电路2322的输出通过OR电路2323进行逻辑和运算,并成为POPC_70_1信号。
AND电路2331在前四位的POP为4、后四位的POP为十进制数表示的“2”时、即POPC_74_4信号为1、POPC_30_2信号为1时,输出1。
AND电路2332在前四位的POP为3、后四位的POP为十进制数表示的“3”时、即POPC_74_3信号为1、POPC_30_3信号为1时,输出1。
AND电路2333在前四位的POP为2、后四位的POP为十进制数表示的“4”时、即POPC_74_2信号为1、POPC_30_4信号为1时,输出1。AND电路2331、AND电路2332以及AND电路2333的输出通过OR电路2334进行逻辑和运算,并成为POPC_70_6信号。
AND电路2341在前四位的POP为十进制数表示的“4”、后四位的POP为十进制数表示的“3”时、即POPC_74_4信号为1、POPC_30_3信号为1时,输出1。
AND电路2342在前四位的POP为十进制数表示的“3”、后四位的POP为十进制数表示的“4”时、即POPC_74_3信号为1、POPC_30_4信号为1时,输出1。AND电路2341以及AND电路2342的输出通过OR电路2343进行逻辑和运算,并成为POPC_70_7信号。
NOR电路2351对POPC_70_0信号、POPC_70_1信号、POPC_70_6信号以及POPC_70_7信号进行逻辑和运算,并把将其结果反转后的值作为INV_P信号输出。
借助图5-1~5-3所示的结构,作为奇偶校验位预测部2000的输出的INV_P信号在8位输入数据(X<7:0>)的POP为十进制数表示的“0”、“1”、“6”、“7”中的任意一个时输出0,在为其它数值时输出1。
接着,对将实施例的奇偶校验位预测方式应用于与64位的输入数据相对应的总体计数电路的例子进行说明。图6为表示与64位输入数据相对应的总体计数电路结构的框图。如该图所示,总体计数电路10是将64位的输入数据(X<63:00>)与其每8位的奇偶校验位(X<P7:P0>)作为输入、并输出总体计数的运算结果(Z<6:0>)与其奇偶校验位(Z<P>)的电路。
总体计数电路10具有:总体计数电路101a~101h和加法运算电路201a~201g。
总体计数电路101a~101h为与总体计数电路100相同的电路,该总体计数电路101a~101h将8位的输入数据与其奇偶校验位作为输入,输出POP与其奇偶校验位。
总体计数电路101a将输入数据的最后八位(X<07:00>)与其奇偶校验位(X<P0>)作为输入。总体计数电路101b将其前八位(X<15:08>)与其奇偶校验位(X<P1>)作为输入。总体计数电路101c将其前八位(X<23:16>)与其奇偶校验位(X<P2>)作为输入。总体计数电路101d将其前八位(X<31:24>)与其奇偶校验位(X<P3>)作为输入。
总体计数电路101e将其前八位(X<39:32>)与其奇偶校验位(X<P4>)作为输入。总体计数电路101f将其前八位(X<47:40>)与其奇偶校验位(X<P5>)作为输入。总体计数电路101g将其前八位(X<55:48>)与其奇偶校验位(X<P6>)作为输入。并且,总体计数电路101h将输入数据的前八位(X<63:56>)与其奇偶校验位(X<P7>)作为输入。
加法运算电路201a~201g为进行POP与奇偶校验位的加法运算的电路,输出POP的加法运算结果与奇偶校验位的加法运算结果。
加法运算电路201a分别对总体计数电路101a的加法运算结果以及奇偶校验位结果、和总体计数电路101b的加法运算结果以及奇偶校验位结果进行加法运算,加法运算电路201b分别对总体计数电路101c的加法运算结果以及奇偶校验位结果、和总体计数电路101d的加法运算结果以及奇偶校验位结果进行加法运算。加法运算电路201c分别对总体计数电路101e的加法运算结果以及奇偶校验位结果、和总体计数电路101f的加法运算结果以及奇偶校验位结果进行加法运算,加法运算电路201d分别对总体计数电路101g的加法运算结果以及奇偶校验位结果、和总体计数电路101h的加法运算结果以及奇偶校验位结果进行加法运算。
并且,加法运算电路201e分别对加法运算电路201a的加法运算结果以及奇偶校验位结果、和加法运算电路201b的加法运算结果以及奇偶校验位结果进行加法运算,加法运算电路201f分别对加法运算电路201c的加法运算结果以及奇偶校验位结果、和加法运算电路201d的加法运算结果以及奇偶校验位结果进行加法运算,加法运算电路201g分别对加法运算电路201e的加法运算结果以及奇偶校验位结果、和加法运算电路201f的加法运算结果以及奇偶校验位结果进行加法运算。这样获得的加法运算电路201g的输出结果成为总体计数的运算结果(Z<6:0>)与其奇偶校验位(Z<P>)。
这样,针对大于8位的位宽的输入数据,可通过并联连接与8位的输入数据相对应的总体计数电路、并配置对其输出结果进行加法运算的加法运算电路,来进行POP的运算与其奇偶校验位的预测。利用此方法,如图7所示还能够实现与大于64位的位宽相对应的总体计数电路。
工业上的可利用性
如上所述,本发明的奇偶校验位生成电路、计数电路以及计数方法可用于对二进制数中所包含的“1”的数目的计数,尤其适用于需要不给运算处理的循环时间带来影响地高速求出总体计数的运算结果的奇偶校验位的情况。

Claims (7)

1.一种奇偶校验位生成电路,将数据与所述数据的奇偶校验位作为输入,输出利用n进制数来表示所述数据时的1的计数信息的奇偶校验位,其中n为2以上的自然数,其特征在于,所述奇偶校验位生成电路具有:
判定单元,其对利用n进制数来表示所述数据时的所述1的数目进行计数,判定利用n进制数表示8位数据时的所述1的数目是否为0、1、6、7中的任意一个,从而决定是否使所述数据的奇偶校验位反转;以及
反转单元,其根据所述判定单元的判定结果,将所述数据的奇偶校验位值或者使所述奇偶校验位反转后的值中的任意一个作为所述计数信息的奇偶校验位输出。
2.根据权利要求1所述的奇偶校验位生成电路,其特征在于,
所述判定单元根据利用n进制数表示数据的前四位时的所述1的数目与利用n进制数表示该数据的后四位时的所述1的数目的组合,来判定利用n进制数表示所述8位数据时的所述1的数目是否是0、1、6、7中的任意一个。
3.一种计数电路,将数据与所述数据的奇偶校验位作为输入,输出利用n进制数表示所述数据时的1的计数信息以及所述计数信息的奇偶校验位,其中n为2以上的自然数,其特征在于,所述计数电路具备奇偶校验位生成电路,
该奇偶校验位生成电路具有:
判定单元,其对利用n进制数来表示所述数据时的所述1的数目进行计数,判定利用n进制数表示8位数据时的所述1的数目是否为0、1、6、7中的任意一个,从而决定是否使所述数据的奇偶校验位反转;以及
反转单元,其根据所述判定单元的判定结果,将所述数据的奇偶校验位值或者使所述奇偶校验位反转后的值中的任意一个作为所述计数信息的奇偶校验位输出。
4.根据权利要求3所述的计数电路,其特征在于,
所述判定单元根据利用n进制数表示数据的前四位时的所述1的数目与利用n进制数表示该数据的后四位时的所述1的数目的组合,来判定利用n进制数表示所述8位数据时的所述1的数目是否是0、1、6、7中的任意一个。
5.一种计数方法,将数据与所述数据的奇偶校验位作为输入,输出利用n进制数表示所述数据时的1的计数信息以及所述计数信息的奇偶校验位,其中n为2以上的自然数,其特征在于,该计数方法具有如下的步骤:
判定步骤,其对利用n进制数来表示所述数据时的所述1的数目进行计数,判定利用n进制数表示8位数据时的所述1的数目是否为0、1、6、7中的任意一个,从而决定是否使所述数据的奇偶校验位反转;以及
反转步骤,其根据所述判定步骤取得的判定结果,将所述数据的奇偶校验位的值或者使所述奇偶校验位反转后的值中的任意一个作为所述计数信息的奇偶校验位输出。
6.根据权利要求5所述的计数方法,其特征在于,
所述判定步骤根据利用n进制数表示数据的前四位时的所述1的数目与利用n进制数表示该数据的后四位时的所述1的数目的组合,来判定利用n进制数表示所述8位数据时的所述1的数目是否是0、1、6、7中的任意一个。
7.一种计数方法,将N位的数据与所述数据的奇偶校验位作为输入,输出利用n进制数表示所述数据时的1的计数信息以及所述计数信息的奇偶校验位,其中N为N≥2的自然数,n为2以上的自然数,其特征在于,具有如下的步骤:
分割步骤,将所述N位数据按每n位数据进行分割,其中n为N>n≥1的自然数;
判定步骤,对利用n进制数来表示所述数据时的所述1的数目进行计数,判定利用n进制数表示8位数据时的所述1的数目是否为0、1、6、7中的任意一个,从而决定是否使所述数据的奇偶校验位反转;
反转步骤,根据所述判定步骤取得的判定结果,将所述n位数据的奇偶校验位的值或者使所述n位数据的奇偶校验位反转后的值中的任意一个作为所述计数信息的奇偶校验位输出;
计数信息加法运算步骤,其对所述分割后的每一个n位数据的所述计数信息分别进行加法运算;以及
奇偶校验位加法运算步骤,对所述分割后的每一个n位数据的所述计数信息的奇偶校验位分别进行加法运算。
CN2006800514174A 2006-01-19 2006-01-19 奇偶校验位生成电路、计数电路以及计数方法 Expired - Fee Related CN101361278B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/300749 WO2007083377A1 (ja) 2006-01-19 2006-01-19 パリティ生成回路、計数回路および計数方法

Publications (2)

Publication Number Publication Date
CN101361278A CN101361278A (zh) 2009-02-04
CN101361278B true CN101361278B (zh) 2012-02-01

Family

ID=38287339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800514174A Expired - Fee Related CN101361278B (zh) 2006-01-19 2006-01-19 奇偶校验位生成电路、计数电路以及计数方法

Country Status (6)

Country Link
US (1) US8296641B2 (zh)
EP (1) EP1978643A4 (zh)
JP (1) JP4567753B2 (zh)
KR (1) KR101007259B1 (zh)
CN (1) CN101361278B (zh)
WO (1) WO2007083377A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006106576A1 (ja) * 2005-03-31 2006-10-12 Fujitsu Limited パリティ予測回路及びこれを使用した論理演算回路
US10146537B2 (en) 2015-03-13 2018-12-04 Micron Technology, Inc. Vector population count determination in memory
TWI671750B (zh) * 2018-11-28 2019-09-11 華邦電子股份有限公司 記憶體的控制方法及非暫態電腦可讀媒體
CN116974514B (zh) * 2023-07-21 2024-02-02 北京市合芯数字科技有限公司 位值计数电路装置、处理器芯片及位值计数方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0681238A1 (en) * 1994-05-05 1995-11-08 International Business Machines Corporation Raid level 5 with free blocks parity cache
CN1208998A (zh) * 1997-06-18 1999-02-24 摩托罗拉公司 基于校正子的信道质量或消息结构判定器和判定方法
JP3105670B2 (ja) * 1992-11-26 2000-11-06 富士通株式会社 荷電粒子ビーム露光装置及びその制御方法
CN1310531A (zh) * 2000-02-23 2001-08-29 华为技术有限公司 高速数据传输中的差错检测方法
JP2005165793A (ja) * 2003-12-04 2005-06-23 Fujitsu Ltd ポピュレーションカウント回路

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5967729A (ja) 1982-10-12 1984-04-17 Nec Corp デクリメント・カウンタ論理回路
US4710934A (en) * 1985-11-08 1987-12-01 Texas Instruments Incorporated Random access memory with error correction capability
JPS647830A (en) * 1987-06-30 1989-01-11 Nec Corp Transmission line code error monitoring system
JP2595277B2 (ja) * 1988-01-12 1997-04-02 株式会社日立製作所 メモリ管理装置
JPH03105670A (ja) * 1989-09-20 1991-05-02 Fujitsu Ltd ポピュレーション・カウント機能をもつ乗加算装置
JP3158215B2 (ja) * 1991-10-04 2001-04-23 富士通株式会社 パリティ反転試験方式
US5717616A (en) * 1993-02-19 1998-02-10 Hewlett-Packard Company Computer hardware instruction and method for computing population counts
JPH10333991A (ja) 1997-06-02 1998-12-18 Matsushita Electric Ind Co Ltd データ書込及び読出の誤り検出方法並びに半導体装置の自己検査方法
JPH1117556A (ja) 1997-06-27 1999-01-22 Sony Corp ディジタル信号処理装置および方法
KR100913467B1 (ko) * 2002-11-19 2009-08-25 엘지전자 주식회사 병렬 순환 중복 검사 코드 발생 시스템 및 방법
US7475301B2 (en) * 2003-05-09 2009-01-06 Hewlett-Packard Development Company, L.P. Increment/decrement circuit for performance counter

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3105670B2 (ja) * 1992-11-26 2000-11-06 富士通株式会社 荷電粒子ビーム露光装置及びその制御方法
EP0681238A1 (en) * 1994-05-05 1995-11-08 International Business Machines Corporation Raid level 5 with free blocks parity cache
CN1208998A (zh) * 1997-06-18 1999-02-24 摩托罗拉公司 基于校正子的信道质量或消息结构判定器和判定方法
CN1310531A (zh) * 2000-02-23 2001-08-29 华为技术有限公司 高速数据传输中的差错检测方法
JP2005165793A (ja) * 2003-12-04 2005-06-23 Fujitsu Ltd ポピュレーションカウント回路

Also Published As

Publication number Publication date
JPWO2007083377A1 (ja) 2009-06-11
CN101361278A (zh) 2009-02-04
US8296641B2 (en) 2012-10-23
WO2007083377A1 (ja) 2007-07-26
EP1978643A4 (en) 2010-06-09
EP1978643A1 (en) 2008-10-08
JP4567753B2 (ja) 2010-10-20
KR101007259B1 (ko) 2011-01-13
KR20080083321A (ko) 2008-09-17
US20080282136A1 (en) 2008-11-13

Similar Documents

Publication Publication Date Title
CN101361278B (zh) 奇偶校验位生成电路、计数电路以及计数方法
CN111936965A (zh) 随机舍入逻辑
US10024911B2 (en) Debug circuit, semiconductor device, and debug method
US4224680A (en) Parity prediction circuit for adder/counter
US9753084B2 (en) Debug circuit, semiconductor device, and debug method
JP6458626B2 (ja) デバッグ回路、半導体装置及びデバッグ方法
US10929213B2 (en) Residue prediction of packed data
US3287546A (en) Parity prediction apparatus for use with a binary adder
JPH09244874A (ja) 最上位有効ビット位置予測方法
US6240540B1 (en) Cyclic redundancy check in a computer system
CN112667241B (zh) 机器学习指令的转换方法及装置、板卡、主板、电子设备
CN1321367C (zh) 二进制加法器电路及生产其中使用的进位逻辑电路的方法
US8805904B2 (en) Method and apparatus for calculating the number of leading zero bits of a binary operation
RU102407U1 (ru) Процессор эвм
CN112994707B (zh) Sas的扰码编码电路
CN114218937B (zh) 数据纠错方法、装置及电子设备
CN116610289B (zh) 伪随机二进制序列生成装置、方法、检测装置和存储介质
US6631393B1 (en) Method and apparatus for speculative addition using a limited carry
RU2115231C1 (ru) Устройство кодирования-декодирования информации
CN107562442B (zh) 一种读取数据的方法和装置
US6820109B2 (en) System and method for predictive comparator following addition
CN116382634A (zh) 伪随机码生成电路、方法
SU1591032A1 (ru) Cиctema лoгичeckoгo moдeлиpobahия цифpobыx oб&#39;ektob
KR20010019289A (ko) 전송에러 검출기의 부분적 가산기
JP3471577B2 (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: 20120201

Termination date: 20160119

EXPY Termination of patent right or utility model