CN101361278A - 奇偶校验位生成电路、计数电路以及计数方法 - Google Patents
奇偶校验位生成电路、计数电路以及计数方法 Download PDFInfo
- Publication number
- CN101361278A CN101361278A CNA2006800514174A CN200680051417A CN101361278A CN 101361278 A CN101361278 A CN 101361278A CN A2006800514174 A CNA2006800514174 A CN A2006800514174A CN 200680051417 A CN200680051417 A CN 200680051417A CN 101361278 A CN101361278 A CN 101361278A
- Authority
- CN
- China
- Prior art keywords
- parity check
- data
- check bit
- bit
- circuit
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/607—Methods 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6575—Implementations based on combinatorial logic, e.g. Boolean circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Quality & Reliability (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
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以上的自然数)来表示所述数据时的特定信息的计数信息的奇偶校验位,该奇偶校验位生成电路的特征是具有:判定单元,其判定利用n进制数来表示所述数据时的所述特定信息的数目是否为特定的数目;以及反转单元,其根据所述判定单元的判定结果,将所述数据的奇偶校验位值或者使所述奇偶校验位反转后的值中的任意一个作为所述计数信息的奇偶校验位输出。
另外,本发明的特征是,所述判定单元对利用n进制数表示8位数据时的所述特定信息的数目为0、1、6、7中的任意一个的情况进行解码。
另外,本发明的特征是,所述判定单元根据利用n进制数表示数据的前四位时的所述特定信息的数目与利用n进制数表示该数据的后四位时的所述特定信息的数目的组合,来判定利用n进制数表示所述8位数据时的所述特定信息的数目是否是0、1、6、7中的任意一个。
另外,本发明为一种计数电路,将数据与所述数据的奇偶校验位作为输入,输出利用n进制数表示所述数据时的1的计数信息以及所述计数信息的奇偶校验位,其中n为2以上的自然数,其特征在于,所述计数电路具备奇偶校验位生成电路,该奇偶校验位生成电路具有:判定单元,其判定利用n进制数表示所述数据时的特定信息的数目是否为特定的数目;以及反转单元,其根据所述判定单元的判定结果,将所述数据的奇偶校验位值或者使所述奇偶校验位反转后的值中的任意一个作为所述计数信息的奇偶校验位输出。
另外,本发明的特征是,所述判定单元对利用n进制数表示8位数据时的所述特定信息的数目为0、1、6、7中的任意一个的情况进行解码。
另外,本发明的特征是,所述判定单元根据利用n进制数表示数据的前四位时的所述特定信息的数目与利用n进制数表示该数据的后四位时的所述特定信息的数目的组合,来判定利用n进制数表示所述8位数据时的所述特定信息的数目是否是0、1、6、7中的任意一个。
另外,本发明为一种计数方法,将数据与所述数据的奇偶校验位作为输入,输出利用n进制数表示所述数据时的1的计数信息以及所述计数信息的奇偶校验位,其中n为2以上的自然数,其特征在于,该计数方法具有如下的步骤:判定步骤,其判定利用n进制数表示所述数据时的特定信息的数目是否为特定的数目;以及反转步骤,其根据所述判定单元取得的判定结果,将所述数据的奇偶校验位的值或者使所述奇偶校验位反转后的值中的任意一个作为所述计数信息的奇偶校验位输出。
另外,本发明的特征是,所述判定步骤对利用n进制数表示8位数据时的所述特定信息的数目为0、1、6、7中的任意一个的情况进行解码。
另外,本发明的特征是,所述判定步骤根据利用n进制数表示数据的前四位时的所述特定信息的数目与利用n进制数表示该数据的后四位时的所述特定信息的数目的组合,来判定利用n进制数表示所述8位数据时的所述特定信息的数目是否是0、1、6、7中的任意一个。
另外,本发明为一种计数方法,一种计数方法,将N位的数据与所述数据的奇偶校验位作为输入,输出利用n进制数表示所述数据时的1的计数信息以及所述计数信息的奇偶校验位,其中N为N≥2的自然数,n为2以上的自然数,其特征在于,具有如下的步骤:分割步骤,将所述N位数据按每n位数据进行分割,其中n为N>n≥1的自然数;判定步骤,判定利用n进制数表示所述n位数据时的特定信息的数目是否为特定的数目;反转步骤,根据所述判定单元取得的判定结果,将所述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~2114NOT电路
2121 AND电路
2131~2134AND电路
2135 OR电路
2141~2146AND电路
2147 OR电路
2151~2154AND电路
2155 OR电路
2161 AND电路
2211~2214NOT电路
2221 AND电路
2231~2234AND电路
2235 OR电路
2241~2246AND电路
2247 OR电路
2251~2254AND电路
2255 OR电路
2261 AND电路
2311 AND电路
2321、2322AND电路
2323 OR电路
2331~2333AND电路
2334 OR电路
2341、2342AND电路
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”的16组组合中的任意一个的方法,能够减少用于实现奇偶校验位预测的电路量。
在以下安装例的说明中,对分成前四位和后四位来判定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(Half Adder:半加法器)的组合等而构成。此外,总体计数运算部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~200g。
总体计数电路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 (10)
1.一种奇偶校验位生成电路,将数据与所述数据的奇偶校验位作为输入,输出利用n进制数来表示所述数据时的特定信息的计数信息的奇偶校验位,其中n为2以上的自然数,其特征在于,所述奇偶校验位生成电路具有:
判定单元,其判定利用n进制数来表示所述数据时的所述特定信息的数目是否为特定的数目;以及
反转单元,其根据所述判定单元的判定结果,将所述数据的奇偶校验位值或者使所述奇偶校验位反转后的值中的任意一个作为所述计数信息的奇偶校验位输出。
2.根据权利要求1所述的奇偶校验位生成电路,其特征在于,
所述判定单元对利用n进制数表示8位数据时的所述特定信息的数目为0、1、6、7中的任意一个的情况进行解码。
3.根据权利要求1所述的奇偶校验位生成电路,其特征在于,
所述判定单元根据利用n进制数表示数据的前四位时的所述特定信息的数目与利用n进制数表示该数据的后四位时的所述特定信息的数目的组合,来判定利用n进制数表示所述8位数据时的所述特定信息的数目是否是0、1、6、7中的任意一个。
4.一种计数电路,将数据与所述数据的奇偶校验位作为输入,输出利用n进制数表示所述数据时的1的计数信息以及所述计数信息的奇偶校验位,其中n为2以上的自然数,其特征在于,所述计数电路具备奇偶校验位生成电路,
该奇偶校验位生成电路具有:
判定单元,其判定利用n进制数表示所述数据时的特定信息的数目是否为特定的数目;以及
反转单元,其根据所述判定单元的判定结果,将所述数据的奇偶校验位值或者使所述奇偶校验位反转后的值中的任意一个作为所述计数信息的奇偶校验位输出。
5.根据权利要求4所述的计数电路,其特征在于,
所述判定单元对利用n进制数表示8位数据时的所述特定信息的数目为0、1、6、7中的任意一个的情况进行解码。
6.根据权利要求4所述的计数电路,其特征在于,
所述判定单元根据利用n进制数表示数据的前四位时的所述特定信息的数目与利用n进制数表示该数据的后四位时的所述特定信息的数目的组合,来判定利用n进制数表示所述8位数据时的所述特定信息的数目是否是0、1、6、7中的任意一个。
7.一种计数方法,将数据与所述数据的奇偶校验位作为输入,输出利用n进制数表示所述数据时的1的计数信息以及所述计数信息的奇偶校验位,其中n为2以上的自然数,其特征在于,该计数方法具有如下的步骤:
判定步骤,其判定利用n进制数表示所述数据时的特定信息的数目是否为特定的数目;以及
反转步骤,其根据所述判定单元取得的判定结果,将所述数据的奇偶校验位的值或者使所述奇偶校验位反转后的值中的任意一个作为所述计数信息的奇偶校验位输出。
8.根据权利要求7所述的计数方法,其特征在于,
所述判定步骤对利用n进制数表示8位数据时的所述特定信息的数目为0、1、6、7中的任意一个的情况进行解码。
9.根据权利要求7所述的计数方法,其特征在于,
所述判定步骤根据利用n进制数表示数据的前四位时的所述特定信息的数目与利用n进制数表示该数据的后四位时的所述特定信息的数目的组合,来判定利用n进制数表示所述8位数据时的所述特定信息的数目是否是0、1、6、7中的任意一个。
10.一种计数方法,将N位的数据与所述数据的奇偶校验位作为输入,输出利用n进制数表示所述数据时的1的计数信息以及所述计数信息的奇偶校验位,其中N为N≥2的自然数,n为2以上的自然数,其特征在于,具有如下的步骤:
分割步骤,将所述N位数据按每n位数据进行分割,其中n为N>n≥1的自然数;
判定步骤,判定利用n进制数表示所述n位数据时的特定信息的数目是否为特定的数目;
反转步骤,根据所述判定单元取得的判定结果,将所述n位数据的奇偶校验位的值或者使所述n位数据的奇偶校验位反转后的值中的任意一个作为所述计数信息的奇偶校验位输出;
计数信息加法运算步骤,其对所述分割后的每一个n位数据的所述计数信息分别进行加法运算;以及
奇偶校验位加法运算步骤,对所述分割后的每一个n位数据的所述计数信息的奇偶校验位分别进行加法运算。
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 true CN101361278A (zh) | 2009-02-04 |
CN101361278B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111240584A (zh) * | 2018-11-28 | 2020-06-05 | 华邦电子股份有限公司 | 存储器的控制方法及非暂态电脑可读媒体 |
CN116974514A (zh) * | 2023-07-21 | 2023-10-31 | 北京市合芯数字科技有限公司 | 位值计数电路装置、处理器芯片及位值计数方法 |
Families Citing this family (2)
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 |
Family Cites Families (16)
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 | 富士通株式会社 | パリティ反転試験方式 |
JP3105670B2 (ja) * | 1992-11-26 | 2000-11-06 | 富士通株式会社 | 荷電粒子ビーム露光装置及びその制御方法 |
US5717616A (en) * | 1993-02-19 | 1998-02-10 | Hewlett-Packard Company | Computer hardware instruction and method for computing population counts |
US5522032A (en) * | 1994-05-05 | 1996-05-28 | International Business Machines Corporation | Raid level 5 with free blocks parity cache |
JPH10333991A (ja) | 1997-06-02 | 1998-12-18 | Matsushita Electric Ind Co Ltd | データ書込及び読出の誤り検出方法並びに半導体装置の自己検査方法 |
US5936972A (en) * | 1997-06-18 | 1999-08-10 | Motorola, Inc. | Syndrome-based channel quality or message structure determiner |
JPH1117556A (ja) | 1997-06-27 | 1999-01-22 | Sony Corp | ディジタル信号処理装置および方法 |
CN1119884C (zh) * | 2000-02-23 | 2003-08-27 | 华为技术有限公司 | 高速数据传输中的差错检测方法 |
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 |
JP4319533B2 (ja) * | 2003-12-04 | 2009-08-26 | 富士通株式会社 | ポピュレーションカウント回路 |
-
2006
- 2006-01-19 CN CN2006800514174A patent/CN101361278B/zh not_active Expired - Fee Related
- 2006-01-19 JP JP2007554774A patent/JP4567753B2/ja not_active Expired - Fee Related
- 2006-01-19 WO PCT/JP2006/300749 patent/WO2007083377A1/ja active Application Filing
- 2006-01-19 KR KR1020087017169A patent/KR101007259B1/ko not_active IP Right Cessation
- 2006-01-19 EP EP06711995A patent/EP1978643A4/en not_active Withdrawn
-
2008
- 2008-07-18 US US12/219,313 patent/US8296641B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111240584A (zh) * | 2018-11-28 | 2020-06-05 | 华邦电子股份有限公司 | 存储器的控制方法及非暂态电脑可读媒体 |
CN111240584B (zh) * | 2018-11-28 | 2023-03-28 | 华邦电子股份有限公司 | 存储器的控制方法及非暂态电脑可读媒体 |
CN116974514A (zh) * | 2023-07-21 | 2023-10-31 | 北京市合芯数字科技有限公司 | 位值计数电路装置、处理器芯片及位值计数方法 |
CN116974514B (zh) * | 2023-07-21 | 2024-02-02 | 北京市合芯数字科技有限公司 | 位值计数电路装置、处理器芯片及位值计数方法 |
Also Published As
Publication number | Publication date |
---|---|
US20080282136A1 (en) | 2008-11-13 |
EP1978643A1 (en) | 2008-10-08 |
WO2007083377A1 (ja) | 2007-07-26 |
CN101361278B (zh) | 2012-02-01 |
JP4567753B2 (ja) | 2010-10-20 |
EP1978643A4 (en) | 2010-06-09 |
KR101007259B1 (ko) | 2011-01-13 |
JPWO2007083377A1 (ja) | 2009-06-11 |
US8296641B2 (en) | 2012-10-23 |
KR20080083321A (ko) | 2008-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102884511A (zh) | 数据译码的存储器存取方法 | |
US6715064B1 (en) | Method and apparatus for performing sequential executions of elements in cooperation with a transform | |
CN101361278B (zh) | 奇偶校验位生成电路、计数电路以及计数方法 | |
CN106548049A (zh) | 一种代码处理方法和装置 | |
US6725450B1 (en) | Program conversion apparatus, processor, and record medium | |
CN115357216A (zh) | 数据处理方法、介质、电子设备和程序产品 | |
JPS5890251A (ja) | パリテイ検査装置 | |
CN116610362A (zh) | 一种处理器指令集译码方法、系统、设备和存储介质 | |
US6240540B1 (en) | Cyclic redundancy check in a computer system | |
US20050154773A1 (en) | Data processing apparatus and method for performing data processing operations on floating point data elements | |
US10289808B2 (en) | Method and system for secure data processing | |
US7475104B2 (en) | System and method for providing a double adder for decimal floating point operations | |
US20060101240A1 (en) | Digital signal processing circuit and digital signal processing method | |
EP0339296A2 (en) | High speed parity prediction for binary adders | |
RU102407U1 (ru) | Процессор эвм | |
GB2533391A (en) | Wall encoding and decoding | |
US9348593B2 (en) | Instruction address encoding and decoding based on program construct groups | |
US20040073593A1 (en) | Hybrid carry look ahead/carry select adder including carry logic generating complementary hot carry signals, and method for producing the carry logic | |
US8805904B2 (en) | Method and apparatus for calculating the number of leading zero bits of a binary operation | |
US11211945B1 (en) | Parallelized decoding of variable-length prefix codes | |
CN114218937B (zh) | 数据纠错方法、装置及电子设备 | |
CN112162725A (zh) | 一种量子除法运算方法、装置、电子装置及存储介质 | |
JP3253906B2 (ja) | データ処理装置及びデータ処理方法 | |
KR20010019289A (ko) | 전송에러 검출기의 부분적 가산기 | |
KR100602833B1 (ko) | 암7 마이크로 프로세서의 나눗셈 실행장치 |
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 |