KR101007259B1 - 패리티 생성 회로, 계수 회로 및 계수 방법 - Google Patents

패리티 생성 회로, 계수 회로 및 계수 방법 Download PDF

Info

Publication number
KR101007259B1
KR101007259B1 KR1020087017169A KR20087017169A KR101007259B1 KR 101007259 B1 KR101007259 B1 KR 101007259B1 KR 1020087017169 A KR1020087017169 A KR 1020087017169A KR 20087017169 A KR20087017169 A KR 20087017169A KR 101007259 B1 KR101007259 B1 KR 101007259B1
Authority
KR
South Korea
Prior art keywords
data
parity
bits
circuit
binary
Prior art date
Application number
KR1020087017169A
Other languages
English (en)
Other versions
KR20080083321A (ko
Inventor
히데오 야마시타
Original Assignee
후지쯔 가부시끼가이샤
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 후지쯔 가부시끼가이샤 filed Critical 후지쯔 가부시끼가이샤
Publication of KR20080083321A publication Critical patent/KR20080083321A/ko
Application granted granted Critical
Publication of KR101007259B1 publication Critical patent/KR101007259B1/ko

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

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

패리티 생성 회로, 계수 회로 및 계수 방법{PARITY GENERATION CIRCUIT, COUNTER AND COUNTING METHOD}
본 발명은 2진수 데이터에 포함되는 「1」의 수를 계수하는 패리티 생성 회로, 계수 회로 및 계수 방법에 관한 것이며, 특히 파퓰레이션 카운트의 연산 처리에 영향을 주지 않고, 파퓰레이션 카운트의 연산 결과의 패리티를 고속으로 구할 수 있는 패리티 생성 회로, 계수 회로 및 계수 방법에 관한 것이다.
2진수 데이터에 포함되는 「1」의 수를 계수하는 연산을 파퓰레이션 카운트(Population Count)라고 하고, 일부의 CPU(Central Processing Unit)는 이 연산을 실행하기 위한 명령인 POPC(POPulation Count) 명령을 구비한다.
POPC 명령은 예전에는 사용 빈도가 낮았기 때문에, 명령 세트로서 실장되지 않고 소프트웨어에 의한 에뮬레이션에 의해 실현되는 경우도 있었지만, 최근 해밍 거리(2개의 비트열에 있어서 서로 다른 비트 수) 등의 계산에 이용되는 경우가 많아지고, 명령 처리의 고속화를 위해 하드웨어에 의한 실현으로 전환되는 경우가 많아지고 있다. POPC 명령을 실행하기 위한 회로는, 예컨대 특허문헌 1에 개시되어 있는 기술을 이용함으로써 실현할 수 있다.
특허문헌 1: 일본 특허 공개 제2005-165793호 공보
그런데, 신뢰성을 향상시키기 위해 연산 처리의 입출력 데이터에 패리티를 부가하고, 이 패리티를 이용하여 데이터의 정당성을 보장하는 CPU가 존재한다. 이러한 CPU에서 POPC 명령을 하드웨어로 실현하는 경우, POPC 명령의 연산 결과의 패리티를 어떻게 구할지가 문제가 된다.
예컨대, 특허문헌 1에 개시되어 있는 기술을 이용하여 파퓰레이션 카운트를 연산하고, 그 후에 다른 회로를 이용하여 연산 결과의 패리티를 연산하는 것으로 하면, 패리티를 연산하는 처리분만큼 명령의 처리 시간이 길어진다. 이러한 방식에서는 명령 처리의 고속화를 위해 POPC 명령을 하드웨어로써 실장하는 의의가 약해진다. 따라서 연산 처리에 따른 사이클 타임에 영향을 주지 않도록 하기 위해 연산 처리와 동등하거나 그 이하의 사이클 타임으로 패리티의 연산 처리를 해야 하고, 이를 위해서는 입력 데이터로부터 POPC 명령 처리의 결과에 대한 패리티를 예측해야 한다.
POPC 명령의 처리 시간을 증대시키지 않고 연산 결과의 패리티를 구하기 위해서는, 파퓰레이션 카운트의 계수 처리와 평행하여, 다른 회로에서 패리티를 예측해야 한다. 이 패리티의 예측은 POPC 명령의 입력 데이터와 그 패리티로부터 연산 결과의 패리티를 예측하는 것이어야 한다.
본 발명은, 상기에 감안하여 이루어진 것으로서, 파퓰레이션 카운트의 연산 처리에 영향을 주지 않고, 파퓰레이션 카운트의 연산 결과의 패리티를 고속으로 구할 수 있는 패리티 생성 회로, 계수 회로 및 계수 방법을 제공하는 것을 목적으로 한다.
전술한 과제를 해결하고, 목적을 달성하기 위해 본 발명은, 데이터와 상기 데이터의 패리티를 입력으로 하고, 상기 데이터를 n진수(n은 2 이상의 자연수)로 표현한 경우에서의 특정 정보의 계수 정보의 패리티를 출력하는 패리티 생성 회로로서, 상기 데이터를 n진수로 표현한 경우에서의 상기 특정 정보의 수가 특정 수인 것을 판정하는 판정 수단과, 상기 판정 수단에 의한 판정 결과에 따라서, 상기 데이터의 패리티의 값 또는 상기 패리티를 반전시킨 값 중 어느 하나를 상기 계수 정보의 패리티로서 출력하는 반전 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 상기 판정 수단은 8 비트의 데이터를 n진수로 표현한 경우에서의 상기 특정 정보의 수가 0, 1, 6, 7 중 어느 하나인 것을 디코드하는 것을 특징으로 한다.
또한, 본 발명의 상기 판정 수단은 8 비트의 데이터를 n진수로 표현한 경우에서의 상기 특정 정보의 수가 0, 1, 6, 7 중 어느 것인지를, 상기 데이터의 상위 4 비트를 n진수로 표현한 경우에서의 상기 특정 정보의 수와, 이 데이터의 하위 4 비트를 n진수로 표현한 경우에서의 상기 특정 정보의 수와의 조합에 기초하여 판정하는 것을 특징으로 한다.
또한, 본 발명은 데이터와 상기 데이터의 패리티를 입력으로 하고, 상기 데이터를 n진수(n은 2 이상의 자연수)로 표현한 경우에서의 1의 계수 정보와 함께 상기 계수 정보의 패리티를 출력하는 계수 회로로서, 상기 데이터를 n진수로 표현한 경우에서의 특정 정보의 수가 특정 수인 것을 판정하는 판정 수단과, 상기 판정 수단에 의한 판정 결과에 따라서, 상기 데이터의 패리티의 값 또는 상기 패리티를 반전시킨 값 중 어느 하나를 상기 계수 정보의 패리티로서 출력하는 반전 수단을 포함하는 패리티 생성 회로를 포함하는 것을 특징으로 한다.
또한, 본 발명의 상기 판정 수단은 8 비트의 데이터를 n진수로 표현한 경우에서의 상기 특정 정보의 수가 0, 1, 6, 7 중 어느 하나인 것을 디코드하는 것을 특징으로 한다.
또한, 본 발명의 상기 판정 수단은 8 비트의 데이터를 n진수로 표현한 경우에서의 상기 특정 정보의 수가 0, 1, 6, 7 중 어느 것인지를, 상기 데이터의 상위 4 비트를 n진수로 표현한 경우에서의 상기 특정 정보의 수와, 이 데이터의 하위 4 비트를 n진수로 표현한 경우에서의 상기 특정 정보의 수와의 조합에 기초하여 판정하는 것을 특징으로 한다.
또한, 본 발명은 데이터와 상기 데이터의 패리티를 입력으로 하고, 상기 데이터를 n진수(n은 2 이상의 자연수)로 표현한 경우에서의 1의 계수 정보와 함께 상기 계수 정보의 패리티를 출력하는 계수 방법으로서, 상기 데이터를 n진수로 표현한 경우에서의 특정 정보의 수가 특정 수인 것을 판정하는 판정 단계와, 상기 판정 단계에 의한 판정 결과에 따라서, 상기 데이터의 패리티의 값 또는 상기 패리티를 반전시킨 값 중 어느 하나를 상기 계수 정보의 패리티로서 출력하는 반전 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 상기 판정 단계는 8 비트의 데이터를 n진수로 표현한 경우에서의 상기 특정 정보의 수가 0, 1, 6, 7 중 어느 하나인 것을 디코드하는 것을 특징으로 한다.
또한, 본 발명의 상기 판정 단계는 8 비트의 데이터를 n진수로 표현한 경우에서의 상기 특정 정보의 수가 0, 1, 6, 7 중 어느 것인지를, 상기 데이터의 상위 4 비트를 n진수로 표현한 경우에서의 상기 특정 정보의 수와, 이 데이터의 하위 4 비트를 n진수로 표현한 경우에서의 상기 특정 정보의 수와의 조합에 기초하여 판정하는 것을 특징으로 한다.
또한, 본 발명은 N(N≥2인 자연수) 비트의 데이터와 상기 데이터의 패리티를 입력으로 하고, 상기 데이터를 n진수(n은 2 이상의 자연수)로 표현한 경우에서의 1의 계수 정보와 함께 상기 계수 정보의 패리티를 출력하는 계수 방법으로서, 상기 N 비트의 데이터를 n(N>n≥1인 자연수) 비트 데이터마다 분할하는 분할 단계와, 상기 n 비트 데이터를 n진수로 표현한 경우에서의 특정 정보의 수가 특정 수인 것을 판정하는 판정 단계와, 상기 판정 단계에 의한 판정 결과에 따라서, 상기 n 비트 데이터의 패리티의 값 또는 상기 n 비트 데이터의 패리티를 반전시킨 값 중 어느 하나를 상기 계수 정보의 패리티로서 출력하는 반전 단계와, 상기 분할된 n 비트 데이터마다의 상기 계수 정보를 각각 가산하는 계수 정보 가산 단계와, 상기 분할된 n 비트 데이터마다의 상기 계수 정보의 패리티를 각각 가산하는 패리티 가산 단계를 포함하는 것을 특징으로 한다.
본 발명에 의하면, 입력 데이터가 특정 비트 패턴인 것을 판정함으로써, 파퓰레이션 카운트의 연산 결과의 패리티를 예측하도록 구성하였기 때문에, 파퓰레이션 카운트의 연산 처리에 영향을 주지 않고, 파퓰레이션 카운트의 연산 결과의 패리티를 고속으로 예측할 수 있다.
또한, 본 발명의 상기 판정 수단은 상기 8 비트의 데이터를 2진수로 표현한 경우에서의 1의 수가 0, 1, 6, 7 중 어느 것인지를, 이 데이터의 상위 4 비트를 2진수로 표현한 경우에서의 1의 수와, 이 데이터의 하위 4 비트를 2진수로 표현한 경우에서의 1의 수와의 조합에 기초하여 판정하는 것을 특징으로 한다.
본 발명에 의하면, 입력 데이터를 4 비트로 분할하여 비트 패턴을 판정하도록 구성하였기 때문에, 전체 비트를 분할하지 않고 비트 패턴을 판정하는 경우와 비교하여, 회로 규모를 작게 할 수 있다.
또한, 본 발명은 상기한 발명에 있어서, N 비트의 데이터와 그 패리티를 입력으로 하고, 이 데이터를 2진수로 표현한 경우에서의 1의 수와 그 패리티를 출력하는 파퓰레이션 카운트 회로로서, 청구항 1에 기재한 파퓰레이션 카운트 회로를 복수 구비하며, 상기 청구항 1에 기재한 파퓰레이션 카운트 회로의 출력 결과를 가산함으로써 출력하는 데이터를 구하는 것을 특징으로 한다.
본 발명에 의하면, 8 비트의 파퓰레이션 카운트 회로를 조합하는 것에 의해 N 비트의 파퓰레이션 카운트를 연산할 수 있도록 구성하였기 때문에, 어떠한 비트 폭의 데이터에도 대응한 파퓰레이션 카운트 회로도 실현할 수 있다.
[발명의 효과]
본 발명에 의하면, 입력 데이터가 특정 비트 패턴인 것을 판정함으로써, 파퓰레이션 카운트의 연산 결과의 패리티를 예측하도록 구성하였기 때문에, 파퓰레이션 카운트의 연산 처리에 영향을 주지 않고, 파퓰레이션 카운트의 연산 결과의 패리티를 고속으로 예측할 수 있다고 하는 효과를 나타낸다.
또한, 본 발명에 의하면, 입력 데이터를 4 비트로 분할하여 비트 패턴을 판정하도록 구성하였기 때문에, 전체 비트를 분할하지 않고 비트 패턴을 판정하는 경우와 비교하여, 회로 규모를 작게 할 수 있다고 하는 효과를 나타낸다.
또한, 본 발명에 의하면 8 비트의 파퓰레이션 카운트 회로를 조합하는 것에 의해 N 비트의 파퓰레이션 카운트를 연산할 수 있도록 구성하였기 때문에, 어떠한 비트 폭의 데이터에도 대응한 파퓰레이션 카운트 회로도 실현할 수 있다고 하는 효과를 나타낸다.
도 1a는 8 비트의 입력 데이터와 POP와의 대응을 나타내는 도면이다.
도 1b는 8 비트의 입력 데이터와 POP와의 대응을 나타내는 도면이다.
도 1c는 8 비트의 입력 데이터와 POP와의 대응을 나타내는 도면이다.
도 2는 입력 데이터의 패리티와 POP의 패리티가 일치하는 데이터를 나타내는 도면이다.
도 3a는 8 비트의 입력 데이터의 POP가 「0」, 「1」, 「6」, 「7」 중 어느 하나가 되는 경우에서의 상위 4 비트의 POP와 하위 4 비트의 POP의 조합을 나타내는 도면이다.
도 3b는 8 비트의 입력 데이터의 POP가 「2」, 「3」, 「4」, 「5」, 「8」 중 어느 하나가 되는 경우에서의 상위 4 비트의 POP와 하위 4 비트의 POP의 조합을 나타내는 도면이다.
도 4는 8 비트의 입력 데이터에 대응하는 파퓰레이션 카운트 회로의 구성을 도시하는 블록도이다.
도 5a는 패리티 예측부의 구성을 도시하는 블록도이다.
도 5b는 패리티 예측부의 구성을 도시하는 블록도이다.
도 5c는 패리티 예측부의 구성을 도시하는 블록도이다.
도 6은 64 비트의 입력 데이터에 대응하는 파퓰레이션 카운트 회로의 구성을 도시하는 블록도이다.
도 7은 N 비트의 입력 데이터에 대응하는 파퓰레이션 카운트 회로의 구성을 도시하는 블록도이다.
[부호의 설명]
10, 20: 파퓰레이션 카운트 회로 100: 파퓰레이션 카운트 회로
101a∼101h: 파퓰레이션 카운트 회로 102a∼102n 파퓰레이션 카운트 회로
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: 패리티 반전 회로
이하에, 본 발명에 따른 패리티 생성 회로, 계수 회로 및 계수 방법의 실시예를 도면에 기초하여 상세히 설명한다. 또한, 이 실시예에 의해 본 발명이 한정되는 것이 아니다.
[실시예]
우선, 본 실시예에 따른 패리티 예측 방식의 원리에 대해서 설명한다. 도 1a∼도 1c는 8 비트의 입력 데이터와, 그 데이터를 2진수로 표현한 경우에서의 「1」의 수(이하, 「POP」라고 함)와의 대응을 나타내는 도면이다.
이들 도면은 8 비트의 입력 데이터(X<7:0>)가 취할 수 있는 「00000000」부터 「11111111」까지의 256가지 값에 대하여, 입력 데이터의 패리티(X<P>)와, POP(Z<3:0>)와, POP의 패리티(Z<P>)가 어떠한 값을 취할지를 나타내고 있다.
입력 데이터가 8 비트이기 때문에, POP가 취할 수 있는 값은, 「0000(10진수 표현으로는 0)」부터 「1000(10진수 표현으로는 8)」까지이다. 또한, 이들 도면에서는 홀수 패리티가 채용되어 있고, 「00000000」이라고 하는 8 비트의 입력 데이터에 대해서는 「1」이 패리티로서 설정되어 있다. 그리고, 이 입력 데이터의 POP인 「0000」에 대해서는 「1」이 패리티로서 설정되어 있다.
도 1a∼도 1c에 나타낸 데이터 중, 입력 데이터의 패리티와 POP의 패리티가 일치하는 데이터(행의 선두에 「*」를 부여한 데이터)를 발췌한 것을 도 2에 나타낸다. 이들 도면을 보면 알 수 있는 바와 같이, 입력 데이터의 패리티와 POP의 패리티가 일치하는 경우, POP는 「0000(10진수 표현으로는 0)」, 「0001(10진수 표현으로는 1)」, 「0110(10진수 표현으로는 6)」,「0111(10진수 표현으로는 7)」 중 어느 하나의 값으로 되어 있다.
한편, 도 1a∼도 1c에 나타낸 데이터 중, 입력 데이터의 패리티와 POP의 패리티가 일치하지 않는 데이터(행의 선두에 「*」를 부여하지 않는 데이터)를 보면, POP는 「0010(10진수 표현으로는 2)」, 「0011(10진수 표현으로는 3)」, 「0100(10진수 표현으로는 4)」, 「0101(10진수 표현으로는 5)」, 「1000(10진수 표현으로는 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가 10진수 표현으로 「0」, 「1」, 「6」, 「7」 중 어느 것인지, 또는 10진수 표현으로 「2, 「3」, 「4」, 「5」, 「8」 중 어느 것인지를 알 수 있으면 충분하다. 따라서 특허문헌 1에서 개시되어 있는 바와 같이 가산기의 조합으로써 POP를 연산할 필요는 없고, 디코더를 이용한 판정 회로로서 실현함으로써, 실행 속도를 고속화할 수 있다.
그러나 8 비트의 폭을 가진 입력 데이터의 POP의 판정을 디코더로써 실장하면, 회로 규모가 커져 버린다고 하는 문제가 있다. 그래서 8 비트의 입력 데이터를 4 비트씩의 상위 비트, 하위 비트로 나눠 처리하는 방식을 취한다.
8 비트의 입력 데이터의 POP가 10진수 표현으로 「0」, 「1」, 「6」, 「7」 중 어느 하나가 되는 경우에, 상위 4 비트(<7:4>)의 POP와 하위 4 비트(<3:0>)의 POP가 취할 수 있는 값의 전체 조합을 도 3a에 나타낸다. 이 도면에 도시하는 바와 같이, 이 경우의 조합은 8가지 존재한다.
한편, 8 비트의 입력 데이터의 POP가 10진수 표현으로 「2」, 「3」, 「4」, 「5」, 「8」 중 어느 하나가 되는 경우에, 상위 4 비트의 POP와 하위 4 비트의 POP가 취할 수 있는 값의 전체 조합을 도 3b에 나타낸다. 이 도면에 도시하는 바와 같이, 이 경우의 조합은 15가지 존재한다.
이것으로부터, 상위 비트와 하위 비트로 나눠 처리하는 경우, 8 비트의 입력 데이터의 POP가 10진수 표현으로 「2」,「3」, 「4」, 「5」, 「8」을 포함하는 15가지 조합 중 어느 하나가 될 지를 판정하는 것보다 10진수 표현으로부터 「0」, 「1」, 「6」, 「7」을 포함하는 8가지 조합 중 어느 하나가 될지의 여부를 판정하는 편이 패리티 예측을 실현하기 위한 회로량을 작게 할 수 있는 것을 알 수 있다.
이하의 실장예의 설명에서는 8 비트의 입력 데이터의 POP가 10진수 표현으로 「0」, 「1」, 「6」, 「7」 중 어느 하나가 될지의 여부를 상위 비트와 하위 비트로 나눠 판정하는 경우에 대해서 설명한다. 또한, 회로 규모가 문제가 되지 않는 경우는 8 비트의 입력 데이터의 POP가 10진수 표현으로 「2」, 「3」, 「4」, 「5」, 「8」 중 어느 하나가 될지의 여부를 상위 비트와 하위 비트로 나눠 판정하는 것으로 하여도 좋고, 또한 8 비트의 입력 데이터를 4 비트씩 상위 비트, 하위 비트 로 나누지 않고 판정하여도 좋다.
다음에, 본 실시예에 따른 패리티 예측 방식을 실장한 파퓰레이션 카운트 회로에 대해서 설명한다. 도 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가 10진수 표현으로 「0」, 「1」, 「6」, 「7」 중 어느 하나인 경우는 INV_P 신호로서 0을 출력하고, 그렇지 않으면 1을 출력한다.
그리고, 패리티 반전 회로(3000)는 INV_P 신호가 0인 경우는 입력 데이터의 패리티(X<P>)를 그대로 연산 결과의 패리티(Z<P>)로서 출력하고, INV_P 신호가 1인 경우는 입력 데이터의 패리티(X<P>)를 반전시킨 것을 연산 결과의 패리티(Z<P>)로서 출력한다.
도 5a∼도 5c는 패리티 예측부(2000)의 구성을 도시하는 블록도이다. 도 5a 는 입력 데이터의 상위 4 비트(X<7:4>)의 POP를 디코드함으로써 판정하기 위한 회로 구성을 도시하고 있다.
NOT 회로(2111∼2114)는 각각, 입력 비트(X<7>∼X<4>)를 반전시키는 회로이다.
AND 회로(2121, 2131∼2134, 2141∼2146, 2151∼2154 및 2161)는 입력 비트(X<7>∼X<4>), 또는 이 일부 내지 전부가 NOT 회로(2111∼2114)에 의해서 반전된 신호를 입력으로 하여 디코드함으로써, 입력 비트(X<7>∼X<4>)의 비트의 패턴에 따라서 하나의 회로만이 1을 출력하고, 다른 회로는 0을 출력하도록 디코드 회로로서 구성되어 있다.
AND 회로(2121)는 상위 4 비트의 POP가 0인 경우, 즉 모든 비트가 0인 경우에 1을 출력한다. 이 출력은 POPC_74_0 신호가 된다.
AND 회로(2131∼2134)는 상위 4 비트의 POP가 1인 경우, 즉 1의 값을 갖는 비트가 하나 존재하는 경우에 어느 하나가 1을 출력한다. 이들의 출력은 OR 회로(2135)에 의해서 논리합 연산되어 POPC_74_1 신호가 된다.
AND 회로(2141∼2146)는 상위 4 비트의 POP가 2인 경우, 즉 1의 값을 갖는 비트가 2개 존재하는 경우에 어느 하나가 1을 출력한다. 이들의 출력은 OR 회로(2147)에 의해서 논리합 연산되어 POPC_74_2 신호가 된다.
AND 회로(2151∼2154)는 상위 4 비트의 POP가 3인 경우, 즉 1의 값을 갖는 비트가 3개 존재하는 경우에 어느 하나가 1을 출력한다. 이들의 출력은 OR 회로(2155)에 의해서 논리합 연산되어 POPC_74_3 신호가 된다.
AND 회로(2161)는 상위 4 비트의 POP가 4인 경우, 즉 모든 비트가 1인 경우에 1을 출력한다. 이 출력은 POPC_74_4 신호가 된다.
도 5b는 입력 데이터의 하위 4 비트(X<3:0>)의 POP를 판별하기 위한 회로 구성을 도시하고 있다. 회로의 구성은 도 5a에 도시한 구성과 마찬가지이기 때문에, 여기서는 출력하는 신호에 대해서만 설명한다.
POPC_30_0 신호는 하위 4 비트의 POP가 0인 경우에 1이 되고, POPC_30_1 신호는 하위 4 비트의 POP가 1인 경우에 1이 된다. POPC_30_2 신호는 하위 4 비트의 POP가 2인 경우에 1이 되고, POPC_30_3 신호는 하위 4 비트의 POP가 3인 경우에 1이 된다. 그리고, POPC_30_4 신호는 하위 4 비트의 POP가 10진수 표현으로 「4」인 경우에 1이 된다.
도 5c는 8 비트의 입력 데이터(X<7:0>)의 POP가 10진수 표현으로 「0」, 「1」, 「6」, 「7」 중 어느 하나가 될 지의 여부를 판정하기 위한 회로 구성을 도시하고 있다.
AND 회로(2311, 2321∼2322, 2331∼2333 및 2341∼2342)는 상위 4 비트(X<7:4>)의 POP의 판정 결과와 하위 4 비트(X<3:0>)의 POP의 판정 결과의 조합에 기초하여, 8 비트의 입력 데이터(X<7:0>)의 POP의 값을 판정한다.
AND 회로(2311)는, 상위 4 비트의 POP가 0이고 하위 4 비트의 POP가 0인 경우, 즉 POPC_74_0 신호가 1이며 POPC_30_0 신호가 1인 경우에 1을 출력한다. 이 출력은 POPC_70_0 신호가 된다.
AND 회로(2321)는, 상위 4 비트의 POP가 0이고 하위 4 비트의 POP가 10진수 표현으로 「1」인 경우, 즉 POPC_74_0 신호가 1이며 POPC_30_1 신호가 1인 경우에 1을 출력한다.
AND 회로(2322)는, 상위 4 비트의 POP가 1이고 하위 4 비트의 POP가 10진수 표현으로 「0」인 경우, 즉 POPC_74_1 신호가 1이며 POPC_30_0 신호가 1인 경우에 1을 출력한다. AND 회로(2321) 및 AND 회로(2322)의 출력은 OR 회로(2323)에 의해 논리합 연산되어 POPC_70_1 신호가 된다.
AND 회로(2331)는, 상위 4 비트의 POP가 4이고 하위 4 비트의 POP가 10진수 표현으로 「2」인 경우, 즉 POPC_74_4 신호가 1이며 POPC_30_2 신호가 1인 경우에 1을 출력한다.
AND 회로(2332)는, 상위 4 비트의 POP가 3이고 하위 4 비트의 POP가 10진수 표현으로 「3」인 경우, 즉 POPC_74_3 신호가 1이며 POPC_30_3 신호가 1인 경우에 1을 출력한다.
AND 회로(2333)는, 상위 4 비트의 POP가 2이고 하위 4 비트의 POP가 10진수 표현으로 「4」인 경우, 즉 POPC_74_2 신호가 1이며 POPC_30_4 신호가 1인 경우에 1을 출력한다. AND 회로(2331), AND 회로(2332) 및 AND 회로(2333)의 출력은 OR 회 로(2334)에 의해서 논리합 연산되어 POPC_70_6 신호가 된다.
AND 회로(2341)는, 상위 4 비트의 POP가 10진수 표현으로 「4」이고 하위 4 비트의 POP가 10진수 표현으로 「3」인 경우, 즉 POPC_74_4 신호가 1이며 POPC_30_3 신호가 1인 경우에 1을 출력한다.
AND 회로(2342)는, 상위 4 비트의 POP가 10진수 표현으로 「3」이고 하위 4 비트의 POP가 10진수 표현으로 「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 신호로서 출력한다.
도 5a∼도 5c에 도시한 구성에 의해, 패리티 예측부(2000)의 출력인 INV_P 신호는 8 비트의 입력 데이터(X<7:0>)의 POP가 10진수 표현으로 「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)와 같은 회로이고, 8 비트의 입력 데이터와 그 패리티를 입력으로 하며, POP와 그 패리티를 출력한다.
파퓰레이션 카운트 회로(101a)는 입력 데이터의 최하위 8 비트(X<07:00>)와 그 패리티(X<P0>)를 입력으로 한다. 파퓰레이션 카운트 회로(101b)는 그 상위 8 비트(X<15:08>)와 그 패리티(X<P1>)를 입력으로 한다. 파퓰레이션 카운트 회로(101c)는 그 상위 8 비트(X<23:16>)와 그 패리티(X<P2>)를 입력으로 한다. 파퓰레이션 카운트 회로(101d)는 그 상위 8 비트(X<31:24>)와 그 패리티(X<P3>)를 입력으로 한다.
파퓰레이션 카운트 회로(101e)는 그 상위 8 비트(X<39:32>)와 그 패리티(X<P4>)를 입력으로 한다. 파퓰레이션 카운트 회로(101f)는 그 상위 8 비트(X<47:40>)와 그 패리티(X<P5>)를 입력으로 한다. 파퓰레이션 카운트 회로(101g)는 그 상위 8 비트(X<55:48>)와 그 패리티(X<P6>)를 입력으로 한다. 그리고 파퓰레이션 카운트 회로(101)는 입력 데이터의 최상위 8 비트(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 비트보다 큰 비트 폭에 대응한 파퓰레이션 카운트 회로를 실현할 수도 있다.
이상과 같이, 본 발명에 따른 패리티 생성 회로, 계수 회로 및 계수 방법은 2진수 데이터에 포함되는 「1」의 수를 계수하는 데에 유용하고, 특히 연산 처리의 사이클 타임에 영향을 주지 않으며, 파퓰레이션 카운트의 연산 결과의 패리티를 고속으로 구하는 것이 요구되는 경우에 적합하다.

Claims (10)

  1. 데이터와 상기 데이터의 패리티를 입력으로 하고, 상기 데이터를 2진수로 표현한 경우에서의 데이터에 대한 1의 계수 정보의 패리티를 출력하는 패리티 생성 회로로서,
    상기 데이터를 2진수로 표현한 경우에서의 1의 수가 특정 수인 것을 판정하는 판정 수단과,
    상기 판정 수단에 의한 판정 결과에 따라서, 상기 데이터의 패리티의 값 또는 상기 패리티를 반전시킨 값 중 어느 하나를 상기 계수 정보의 패리티로서 출력하는 반전 수단
    을 포함하는 것을 특징으로 하는 패리티 생성 회로.
  2. 제1항에 있어서, 상기 판정 수단은 8 비트의 2진수로 표현된 n진수 데이터(n은 2 이상의 자연수)에서의 상기 1의 수가 0, 1, 6, 7 중 어느 하나인 것을 디코드하는 것을 특징으로 하는 패리티 생성 회로.
  3. 제1항에 있어서, 상기 판정 수단은 8 비트의 2진수로 표현된 n진수 데이터(n은 2 이상의 자연수)에서의 상기 1의 수가 0, 1, 6, 7 중 어느 것인지를, 상기 n진수 데이터의 상위 4 비트의 2진수에서의 상기 1의 수와, 상기 n진수 데이터의 하위 4 비트의 2진수에서의 상기 1의 수와의 조합에 기초하여 판정하는 것을 특징으로 하는 패리티 생성 회로.
  4. 데이터와 상기 데이터의 패리티를 입력으로 하고, 상기 데이터를 2진수로 표현한 경우에서의 1의 계수 정보와 함께 상기 계수 정보의 패리티를 출력하는 계수 회로로서,
    상기 데이터를 2진수로 표현한 경우에서의 데이터에 대한 1의 수가 특정 수인 것을 판정하는 판정 수단과,
    상기 판정 수단에 의한 판정 결과에 따라서, 상기 데이터의 패리티의 값 또는 상기 패리티를 반전시킨 값 중 어느 하나를 상기 계수 정보의 패리티로서 출력하는 반전 수단
    을 포함하는 패리티 생성 회로를 포함하는 것을 특징으로 하는 계수 회로.
  5. 제4항에 있어서, 상기 판정 수단은 8 비트의 2진수로 표현된 n진수 데이터(n은 2이상의 자연수)에서의 상기 1의 수가 0, 1, 6, 7 중 어느 하나인 것을 디코드하는 것을 특징으로 하는 계수 회로.
  6. 제4항에 있어서, 상기 판정 수단은 8 비트의 2진수로 표현된 n진수 데이터(n은 2이상의 자연수)에서의 상기 1의 수가 0, 1, 6, 7 중 어느 것인지를, 상기 n진수 데이터의 상위 4 비트의 2진수에서의 상기 1의 수와, 상기 n진수 데이터의 하위 4 비트의 2진수에서의 상기 1의 수와의 조합에 기초하여 판정하는 것을 특징으로 하는 계수 회로.
  7. 데이터와 상기 데이터의 패리티를 입력으로 하고, 상기 데이터를 2진수로 표현한 경우에서의 1의 계수 정보와 함께 상기 계수 정보의 패리티를 출력하는 계수 방법으로서,
    상기 데이터를 2진수로 표현한 경우에서의 데이터에 대한 1의 수가 특정 수인 것을 판정하는 판정 단계와,
    상기 판정 단계에 의한 판정 결과에 따라서, 상기 데이터의 패리티의 값 또는 상기 패리티를 반전시킨 값 중 어느 하나를 상기 계수 정보의 패리티로서 출력하는 반전 단계
    를 포함하는 것을 특징으로 하는 계수 방법.
  8. 제7항에 있어서, 상기 판정 단계는 8 비트의 2진수로 표현된 n진수 데이터(n은 2이상의 자연수)에서의 상기 1의 수가 0, 1, 6, 7 중 어느 하나인 것을 디코드하는 것을 특징으로 하는 계수 방법.
  9. 제7항에 있어서, 상기 판정 단계는 8 비트의 2진수로 표현된 n진수 데이터(n은 2이상의 자연수)에서의 상기 1의 수가 0, 1, 6, 7 중 어느 것인지를, 상기 n진수 데이터의 상위 4 비트의 2진수에서의 상기 1의 수와, 상기 n진수 데이터의 하위 4 비트의 2진수에서의 상기 1의 수와의 조합에 기초하여 판정하는 것을 특징으로 하는 계수 방법.
  10. N(N≥2인 자연수) 비트의 n진수 데이터(n은 2이상의 자연수)와 상기 데이터의 패리티를 입력으로 하고, 상기 데이터를 2진수로 표현한 경우에서의 1의 계수 정보와 함께 상기 계수 정보의 패리티를 출력하는 계수 방법으로서,
    상기 N 비트의 데이터를 8(N>n≥1인 자연수) 비트 데이터마다 분할하는 분할 단계와,
    상기 8 비트 데이터를 2진수로 표현한 경우에서의 데이터에 대한 1의 수가 특정 수인 것을 판정하는 판정 단계와,
    상기 판정 단계에 의한 판정 결과에 따라서, 상기 8 비트 데이터의 패리티의 값 또는 상기 8 비트 데이터의 패리티를 반전시킨 값 중 어느 하나를 상기 계수 정보의 패리티로서 출력하는 반전 단계와,
    상기 분할된 8 비트 데이터마다의 상기 계수 정보를 각각 가산하는 계수 정보 가산 단계와,
    상기 분할된 8 비트 데이터마다의 상기 계수 정보의 패리티를 각각 가산하는 패리티 가산 단계
    를 포함하는 것을 특징으로 하는 계수 방법.
KR1020087017169A 2006-01-19 2006-01-19 패리티 생성 회로, 계수 회로 및 계수 방법 KR101007259B1 (ko)

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
KR20080083321A KR20080083321A (ko) 2008-09-17
KR101007259B1 true KR101007259B1 (ko) 2011-01-13

Family

ID=38287339

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087017169A KR101007259B1 (ko) 2006-01-19 2006-01-19 패리티 생성 회로, 계수 회로 및 계수 방법

Country Status (6)

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

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4372822B2 (ja) * 2005-03-31 2009-11-25 富士通株式会社 パリティ予測回路及びこれを使用した論理演算回路
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10333991A (ja) 1997-06-02 1998-12-18 Matsushita Electric Ind Co Ltd データ書込及び読出の誤り検出方法並びに半導体装置の自己検査方法
JPH1117556A (ja) 1997-06-27 1999-01-22 Sony Corp ディジタル信号処理装置および方法
KR20040043582A (ko) * 2002-11-19 2004-05-24 엘지전자 주식회사 병렬 순환 중복 검사 코드 발생 시스템 및 방법

Family Cites Families (13)

* 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 富士通株式会社 パリティ反転試験方式
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
US5936972A (en) * 1997-06-18 1999-08-10 Motorola, Inc. Syndrome-based channel quality or message structure determiner
CN1119884C (zh) * 2000-02-23 2003-08-27 华为技术有限公司 高速数据传输中的差错检测方法
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 富士通株式会社 ポピュレーションカウント回路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10333991A (ja) 1997-06-02 1998-12-18 Matsushita Electric Ind Co Ltd データ書込及び読出の誤り検出方法並びに半導体装置の自己検査方法
JPH1117556A (ja) 1997-06-27 1999-01-22 Sony Corp ディジタル信号処理装置および方法
KR20040043582A (ko) * 2002-11-19 2004-05-24 엘지전자 주식회사 병렬 순환 중복 검사 코드 발생 시스템 및 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3609512B2 (ja) 演算器
JPH07210369A (ja) 並列加算および平均演算を行うための回路およびその方法
JPH05216624A (ja) 演算装置
US3986015A (en) Arithmetic unit for use in a digital data processor and having an improved system for parity check bit generation and error detection
US5957996A (en) Digital data comparator and microprocessor
JPH0823811B2 (ja) 3オペランド演算論理機構におけるオーバーフローを決定する方法及び算術上のオーバーフローを検出する機構
KR101007259B1 (ko) 패리티 생성 회로, 계수 회로 및 계수 방법
CN111936965A (zh) 随机舍入逻辑
EP0436905B1 (en) High performance adder using carry predictions
JP2011118633A (ja) 浮動小数点除算器、及びそれを用いた情報処理装置
US9448767B2 (en) Three-term predictive adder and/or subtracter
US5867413A (en) Fast method of floating-point multiplication and accumulation
Kaivani et al. Improving the speed of decimal division
EP0643352A1 (en) Self-checking complementary adder unit
US20140059106A1 (en) Arithmetic circuit for performing division based on restoring division
US8219604B2 (en) System and method for providing a double adder for decimal floating point operations
JPH09222991A (ja) 加算方法および加算器
JP5549743B2 (ja) 10進絶対値加算器
JP3482102B2 (ja) 絶対値距離演算回路
JP2752564B2 (ja) 先行1予測装置及び浮動小数点加減算装置
US20130262549A1 (en) Arithmetic circuit and arithmetic method
JPH0887399A (ja) 冗長なシフト数予測とシフト誤り補正を用いた正規化装置
JPH1040078A (ja) 先行0、1数予測回路、浮動小数点演算装置、マイクロプロセッサおよび情報処理装置
KR20050102276A (ko) 저전력 설계 덧셈기
JPH07244577A (ja) 演算方法および演算装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20131218

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee