KR19990031097A - 그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기 - Google Patents

그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기 Download PDF

Info

Publication number
KR19990031097A
KR19990031097A KR1019970051662A KR19970051662A KR19990031097A KR 19990031097 A KR19990031097 A KR 19990031097A KR 1019970051662 A KR1019970051662 A KR 1019970051662A KR 19970051662 A KR19970051662 A KR 19970051662A KR 19990031097 A KR19990031097 A KR 19990031097A
Authority
KR
South Korea
Prior art keywords
bit
carry
data
group
arithmetic
Prior art date
Application number
KR1019970051662A
Other languages
English (en)
Other versions
KR100475012B1 (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 윤종용
Priority to KR1019970051662A priority Critical patent/KR100475012B1/ko
Publication of KR19990031097A publication Critical patent/KR19990031097A/ko
Application granted granted Critical
Publication of KR100475012B1 publication Critical patent/KR100475012B1/ko

Links

Classifications

    • 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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/5052Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination using carry completion detection, either over all stages or at sample stages only

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기를 개시한다.
본 발명의 64비트 산술연산기는, 1개의 8비트 산술연산기, 캐리가 '0'과 '1'인 각각의 경우에 대해 연산하는 7개의 8비트 캐리 선택 애더, 및 상기 7개의 캐리 선택 애더의 결과를 선택하는 그룹 결과 선택신호를 만드는 그룹 캐리 발생기를 구비한다.
상기 산술 연산기는 연산종류와 입력데이터의 형태를 결정하는 제어신호와, 상기 제어신호에 따라 연산을 할 한쌍의 정수형 64비트 입력데이터를 입력 받아 연산결과와 캐리값을 출력하여 그룹 데이터에 대한 산술연산을 수행한다.
따라서 본 발명에 의하면, 64비트 산술연산기에서 데이터를 8비트씩 그룹을 지어 처리함으로써, 데이터를 병렬처리를 할 수 있는 64비트 산술연산기를 제공할 수 있다.

Description

그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기
본 발명은 반도체 장치에 관한 것으로서, 특히 다중 정수형 데이터 및 그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기에 관한 것이다.
일반적으로 64비트 산술연산기(ALU : Arithmetic Logic Unit)는 입력되는 제어신호에 의해 64비트의 두 입력신호를 연산하여 64비트의 출력값과 출력캐리를 출력한다.
도 1은 종래의 64비트 산술연산기의 블록도이다. 도면을 참조하면 종래의 64비트 산술연산기는 제어신호(100)와 입력데이터 A[63:0](110)와 B[63:0](120)를 입력받아 출력결과인 Sum[63:0](130)과 Carry_Out(140)을 출력한다. 그런데, 종래의 64비트 산술연산기는 만약 입력 데이터 A, B가 64비트가 아닌 32비트, 16비트, 8비트인 경우에도 64비트 산술연산기로 1번의 연산밖에 수행할 수가 없다. 이렇게 되면, 64비트 산술연산기를 효율적으로 사용할 수가 없다.
본 발명이 이루고자 하는 기술적 과제는, 64비트 산술연산기에서 데이터를 8비트씩 그룹을 지어 처리함으로써, 데이터를 병렬처리를 할 수 있는 64비트 산술연산기를 제공하는데 있다.
도 1은 종래의 64비트 산술연산기의 블록도이다.
도 2는 본 발명에 따른 그룹 데이터에 대한 산술 연산을 수행하는 64비트 산술연산기의 블록도이다.
도 3a 내지 도 3d들은 본 발명에 따른 64비트 산술연산기에서 입력데이터의 형태 개념도이다.
도 4a 내지는 도 4d들은 각각의 제어신호(도 2 의 200)에 따른 64비트 산술연산기의 동작원리 개념도이다.
도 5는 본 발명에 따른 64비트 산술연산기의 내부 구조의 회로도이다.
도 6은 본 발명에 따른 64비트 산술연산기에서의 그룹 캐리 발생기 개념도이다.
상기 기술적 과제를 이루기 위하여 본 발명의 64비트 산술연산기는, 1개의 8비트 산술연산기, 캐리가 '0'과 '1'인 각각의 경우에 대해 연산하는 7개의 8비트 캐리 선택 애더, 및 상기 7개의 캐리 선택 애더의 결과를 선택하는 그룹 결과 선택신호를 만드는 그룹 캐리 발생기를 구비한다.
상기 산술 연산기는 연산종류와 입력데이터의 형태를 결정하는 제어신호와, 상기 제어신호에 따라 연산을 할 한쌍의 정수형 64비트 입력데이터를 입력 받아 연산결과와 캐리값을 출력하여 그룹 데이터에 대한 산술연산을 수행한다.
따라서, 본 발명에 의하면, 64비트 산술연산기에서 데이터를 8비트씩 그룹을 지어 처리함으로써, 입력 데이터가 32비트, 16비트, 8비트일 때, 데이터를 병렬처리를 할 수 있다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예를 설명하기로 한다.
도 2는 본 발명에 따른 그룹 데이터에 대한 산술 연산을 수행하는 64비트 산술연산기의 블록도이다. 도 2를 참조하면, 본 발명에 따른 64비트 산술연산기는 제어신호 64op, 32op, 16op, 8op(200)와 입력데이터 A[63:0](210)와 B[63:0](220)를 입력받아 출력결과인 Sum[63:0](230)과 Carry_Out(240)을 출력한다. 특히 입력 데이터가 32비트, 16비트, 8비트일 경우 각각 2개의 32비트, 4개의 16비트, 8개의 8비트 정수 데이터를 동시에 처리할 수 있다. 특히 8비트 또는 16비트 데이터는 멀티미디어 관련 응용에서 사용되는 데이터 형태로서 고속 처리 기능을 요구하는데, 본 발명에서 제안된 64비트 ALU는 8 비트 팩트(packed) 데이터에 대해서는 동시에 8개의 8 비트 데이터 처리가 가능함으로 멀티미디어 응용 프로그램의 고속수행을 가능하게 한다. 입력데이터 A, B의 데이터 형태는 제어입력 64op, 32op, 16op, 8op신호에 의해 결정된다. 각 제어입력에 대한 A, B 각각의 데이터 형태는 도 3a 내지 도 3d에 나타내었다.
도 3a 내지 도 3d들은 본 발명에 따른 64비트 산술연산기에서 입력데이터의 형태 개념도이다. 입력데이터 A, B의 데이터 형태는 제어신호(도 2의 200)에 의해 결정된다. 도 3a는 입력 데이터가 64비트인 경우, 도 3b는 입력 데이터가 32비트인 경우, 도 3c는 입력데이터가 16비트인 경우, 도 3d는 입력데이터가 8비트인 경우를 각각 나타낸다.
입력신호 A, B는 제어신호(도 2 의 200)가 64op인 경우에는 64비트 데이터, 제어신호가 32op인 경우에는 32비트 팩트(Packed) 데이터, 제어신호가 16op인 경우에는 16비트 팩트 데이터, 제어신호가 8op인 경우에는 8비트 팩트 데이터가 된다.
도 4a 내지는 도 4d들은 각각의 제어신호(도 2 의 200)에 따른 64비트 산술연산기의 동작원리 개념도이다. 도 4a는 제어신호가 64op인 경우, 도 4b는 제어신호가 32op인 경우, 도 4c는 제어신호가 16op인 경우, 도 4d는 제어신호가 8op인 경우를 나타낸다. 이와 같이 본 발명에 따른 64비트 산술연산기는 입력되는 제어신호(도 2 의 200)에 따라 연산을하여 결과를 출력한다.
도 5는 본 발명에 따른 64비트 산술연산기의 내부 구조이다. 도 5를 참조하면, 본 발명에 따른 64비트 산술연산기는 8개의 8비트 그룹 산술연산기인 제 0 산술연산기 G0(500)에서부터 제 7 산술연산기 G7(570)으로 구성된다. 각 8비트 그룹 산술연산기는 캐리 선택 애더(Carry Select Adder)로 구성된다. 제 0 산술연산기 G0는 A[7:0]와 B[7:0]의 연산이므로 일반적인 8비트 산술연산기로 구성되고, 제 0 산술연산기 G0의 출력 S[7:0]가 산술연산기의 출력 S[7:0](509)가 된다.
제 1 산술연산기 G1(510)은 8비트 캐리 선택 애더(512)로 구성된다. 캐리 선택 애더(512)에서 상위에 있는 8비트 애더(514)는 캐리(Carry)가 '1'로 입력될 것으로 가정하고, 하위에 있는 8비트 애더(515)는 캐리가 '0'으로 입력될 것을 가정하고 A[15:8], B[15:8] 입력에 대한 연산결과를 출력한다. 두 연산결과는 G1_S0(516), G1_S1(517) 신호에 의하여 그룹 결과 선택부(518)에서 한 개의 결과가 선택되어 최종 산술연산기의 출력 S[15:8](519)을 결정하게 된다. G1_S0(516), G1_S1(517) 신호는 그룹 캐리 발생기(도 6)에 의해서 결정된다.
그룹 캐리 발생기에서 나오는 각각의 그룹 캐리 G0_Carry, G1_Carry, ... , G7_Carry로 그룹 결과 선택(Group_Sum Selection) 신호(G1_S0, G1_S1, G2_S0, G2_S1,..., G7_S0, G7_S1)를 발생시키는데, 그 방법은 다음과 같다.( ! : not, | : or, & : and연산이다.)
G1_S1 = (64op | 32op | 16op) & G0_Carry
G1_S0 = 8op | {(64op | 32op | 16op) & !G0_Carry}
G2_S1 = (64op | 32op | 16op) & G1_Carry
G2_S0 = 8op | {(64op | 32op | 16op) & !G1_Carry}
G3_S1 = (64op | 32op | 16op) & G2_Carry
G3_S0 = 8op | {(64op | 32op | 16op) & !G2_Carry}
G4_S1 = (64op | 32op | 16op) & G3_Carry
G4_S0 = 8op | {(64op | 32op | 16op) & !G3_Carry}
G5_S1 = (64op | 32op | 16op) & G4_Carry
G5_S0 = 8op | {(64op | 32op | 16op) & !G4_Carry}
G6_S1 = (64op | 32op | 16op) & G5_Carry
G6_S0 = 8op | {(64op | 32op | 16op) & !G5_Carry}
G7_S1 = (64op | 32op | 16op) & G6_Carry
G7_S0 = 8op | {(64op | 32op | 16op) & !G6_Carry}
제 2 산술연산기 G2(520) 내지 제 7 산술연산기 G7(570)의 각 캐리 선택 애더는 제 1 산술연산기 G1(510)의 동작과 같다.
그룹1 - 그룹7의 출력신호를 결정하는 G1_S0(516), G1_S1(517), G2_S0(526), G2_S1(527), ... , G7_S0(576), G7_S1(577)는 그룹 캐리 발생기와 제어신호(도 2의 200)에 의해서 결정된다. 만약 제어신호(도 2 의 200)가 8op 일 때, 도 5의 각 그룹 출력 선택 신호는 캐리 선택 애더에서 캐리를 '0'으로 가정한 출력이 최종 산술연산기의 출력으로 되도록 결정되어 진다.
만약 제어신호(도 2 의 200)가 64op인 경우 도 5 의 각 그룹 출력 선택 신호는 도 6의 그룹 캐리 발생기에서 출력된 신호에 따라 결정되어 진다.
만약 제어신호(도 2의 200)가 16op일 경우, G2_S0(526), G4_S0(546), G6_S0(566)는 무조건 온(On)이 되고, 각 그룹 애더 G1(510), G3(530), G5(550), G7(570)의 출력 선택 신호는 도 6의 그룹 캐리 발생기의 출력에 따라 결정된다.
도 6은 본 발명에 따른 64비트 산술연산기에서의 그룹 캐리 발생기이다. 도 6의 그룹 캐리 발생기는 일반적으로 고속 애더에서 사용되는 방식과 같다. 64비트 애더에서 8비트 그룹 각각에 대한 그룹 캐리 발생 방법은 아래와 같다.
64비트 두 입력 A[63:0], B[63:0]에 대해서 다음과 같이 가정하자.
Gi=A[i]·B[i]
( 는 배타적 오아 연산을 표시한다)
그러면, 캐리는 아래식에 의해 결정된다.
C0=G0+C-1P0(C-1=0)
C1=G1+C0P1=G1+G0P1+C-1P1P0
C2=G2+C1P2=G2+G1P2+G0P1P2+C-1P0P1P2
...
C7=G7+C6P6=G7+G6P7+G5P6P7+G4P5P6P7+...+C-1P0P1P2P3P4P5P6P7
만약 아래와 같이 P*, G*를 두면,
P*=P0P1P2P3P4P5P6P7
G*=G7+G6P7+G5P6P7+...+G0P1P2P3P4P5P6P7
i번째 캐리는 다음과 같이 나타낼 수 있다.
Gi_Carry=G*+P*Gi-1_Carry
그룹 캐리는 이 식에 따라 만들 수 있으며, 고속 그룹 캐리는 위 식의 형태로 보아 캐리 선택 애더와 유사한 방법으로 구성가능하다.
본 발명이 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 기술적 사상내에서 당 분야의 통상적 지식을 가진 자에 의하여 가능함은 명백하다.
상술한 바와 같이 본 발명에 따르면, 64비트 산술연산기에서 데이터를 8비트씩 그룹을 지어 처리함으로써, 입력 데이터가 32비트, 16비트, 8비트일 때, 데이터를 병렬처리를 할 수 있는 64비트 산술연산기를 제공할 수 있다.

Claims (8)

1개의 8비트 산술연산기,
캐리가 '0'과 '1'인 각각의 경우에 대해 연산하는 7개의 8비트 캐리 선택 애더, 및
상기 7개의 캐리 선택 애더의 결과를 선택하는 그룹 결과 선택신호를 만드는 그룹 캐리 발생기를 구비하는 것을 특징으로 하는 그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기.
제1항에 있어서, 상기 산술 연산기는 연산종류와 입력데이터의 형태를 결정하는 제어신호와, 상기 제어신호에 따라 연산을 할 한쌍의 정수형 64비트 입력데이터를 입력 받아 연산결과와 캐리값을 출력하는 것을 특징으로 하는 그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기.
제1항에 있어서, 상기 1개의 8비트 산술연산기는 입력 캐리가 '0'으로 연산하여 그 결과를 출력하고, 상기 7개의 8비트 캐리 선택 애더는 캐리가 '0'과 '1'인 두가지 경우에 대하여 연산한 후 그룹 결과 선택신호에 의해서 그 결과를 출력하는 것을 특징으로 하는 그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기.
제3항에 있어서, 상기 그룹 결과 선택신호는 상기 그룹 캐리 발생기에서 출력되는 그룹 캐리를 이용하여 만들어지는 것을 특징으로 하는 그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기.
제1항에 있어서, 상기 7개의 캐리 선택 애더는 복수개의 8비트 산술연산기를 이용하여 만들어지는 것을 특징으로 하는 그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기.
제2항에 있어서, 상기 64비트 산술연산기는 데이터를 8비트씩 그룹을 지어 처리함으로써, 데이터를 병렬처리를 하는 것을 특징으로 하는 그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기.
제2항에 있어서, 상기 64비트 산술연산기는 데이터를 8비트씩 그룹을 지어 처리함으로써, 입력 데이터가 32비트, 16비트, 8비트일 경우 각각 2개의 32비트, 4개의 16비트, 8개의 8비트 정수 데이터를 동시에 처리하는 것을 특징으로 하는 그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기.
제2항에 있어서, 상기 64비트 산술연산기는 8비트 팩트 데이터에 대해서는 동시에 8개의 8비트 데이터 처리가 가능함으로써, 멀티미디어 응용 프로그램의 고속수행을 가능하게 하는 것을 특징으로 하는 그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기.
KR1019970051662A 1997-10-08 1997-10-08 그룹데이터에대한산술연산을수행하는64비트산술연산기 KR100475012B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970051662A KR100475012B1 (ko) 1997-10-08 1997-10-08 그룹데이터에대한산술연산을수행하는64비트산술연산기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970051662A KR100475012B1 (ko) 1997-10-08 1997-10-08 그룹데이터에대한산술연산을수행하는64비트산술연산기

Publications (2)

Publication Number Publication Date
KR19990031097A true KR19990031097A (ko) 1999-05-06
KR100475012B1 KR100475012B1 (ko) 2005-04-14

Family

ID=37302157

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970051662A KR100475012B1 (ko) 1997-10-08 1997-10-08 그룹데이터에대한산술연산을수행하는64비트산술연산기

Country Status (1)

Country Link
KR (1) KR100475012B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007035049A1 (en) * 2005-09-23 2007-03-29 Lg Electronics Inc. Damper and home-bar door apparatus for refrigerator using the same
US7318633B2 (en) 2002-01-15 2008-01-15 Samsung Electronics Co., Ltd. Refrigerator home bar unit door
US7976113B2 (en) * 2007-06-20 2011-07-12 Lg Electronics Inc. Home bar for refrigerator

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3987291A (en) * 1975-05-01 1976-10-19 International Business Machines Corporation Parallel digital arithmetic device having a variable number of independent arithmetic zones of variable width and location
JPS6375931A (ja) * 1986-09-19 1988-04-06 Fujitsu Ltd 高速加減算器
DE68927488T2 (de) * 1988-04-20 1997-03-20 Fujitsu Ltd Binäre Übertragvorgriffsschaltung
US5136539A (en) * 1988-12-16 1992-08-04 Intel Corporation Adder with intermediate carry circuit
US5396445A (en) * 1993-04-26 1995-03-07 Industrial Technology Research Institute Binary carry-select adder

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7318633B2 (en) 2002-01-15 2008-01-15 Samsung Electronics Co., Ltd. Refrigerator home bar unit door
WO2007035049A1 (en) * 2005-09-23 2007-03-29 Lg Electronics Inc. Damper and home-bar door apparatus for refrigerator using the same
US7976113B2 (en) * 2007-06-20 2011-07-12 Lg Electronics Inc. Home bar for refrigerator

Also Published As

Publication number Publication date
KR100475012B1 (ko) 2005-04-14

Similar Documents

Publication Publication Date Title
KR940008613B1 (ko) 캐리선견가산기와 캐리전송방법
JPH0479013B2 (ko)
JPH07210369A (ja) 並列加算および平均演算を行うための回路およびその方法
US5367477A (en) Method and apparatus for performing parallel zero detection in a data processing system
EP0227427B1 (en) Method of and circuit for generating bit-order modified binary signals
US4954947A (en) Instruction processor for processing branch instruction at high speed
KR100475012B1 (ko) 그룹데이터에대한산술연산을수행하는64비트산술연산기
US5764550A (en) Arithmetic logic unit with improved critical path performance
US5875125A (en) X+2X adder with multi-bit generate/propagate circuit
US4879675A (en) Parity generator circuit and method
JPH0464091B2 (ko)
KR950015180B1 (ko) 고속연산형 가산기
JPH07118654B2 (ja) 算術演算装置
Awasthi et al. Hybrid signed digit arithmetic in efficient computing: A comparative approach to performance assay
KR100241071B1 (ko) 합과 합+1을 병렬로 생성하는 가산기
KR100256103B1 (ko) Cout 신호 발생용 방법 및 장치
JPS62154029A (ja) 乗算回路
JP3567510B2 (ja) 割込優先判定回路
JP4658821B2 (ja) ベジェ曲線生成回路
JP3540136B2 (ja) データ分割並列シフタ
KR0157337B1 (ko) 디지탈신호 처리기의 멀티비트 가산기
JPH06168101A (ja) 加算装置及び加算方法
KR20000044576A (ko) 모듈러 연산 장치
JPH10149277A (ja) 乗算装置
US6041341A (en) Method and circuit for adding operands of multiple size

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee