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

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

Info

Publication number
KR100475012B1
KR100475012B1 KR1019970051662A KR19970051662A KR100475012B1 KR 100475012 B1 KR100475012 B1 KR 100475012B1 KR 1019970051662 A KR1019970051662 A KR 1019970051662A KR 19970051662 A KR19970051662 A KR 19970051662A KR 100475012 B1 KR100475012 B1 KR 100475012B1
Authority
KR
South Korea
Prior art keywords
bit
carry
data
group
arithmetic operator
Prior art date
Application number
KR1019970051662A
Other languages
English (en)
Other versions
KR19990031097A (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

Images

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비트 산술연산기{64bits Arithmetic operator for processing arithmetic operation on group data}
본 발명은 반도체 장치에 관한 것으로서, 특히 다중 정수형 데이터 및 그룹 데이터에 대한 산술연산을 수행하는 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비트 산술연산기를 제공하는데 있다.
상기 기술적 과제를 이루기 위하여 본 발명의 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]에 대해서 다음과 같이 가정하자.
Figure pat00001
Figure pat00002
(
Figure pat00003
는 배타적 오아 연산을 표시한다)
그러면, 캐리는 아래식에 의해 결정된다.
Figure pat00004
Figure pat00005
Figure pat00006
...
Figure pat00007
만약 아래와 같이 P*, G*를 두면,
Figure pat00008
Figure pat00009
i번째 캐리는 다음과 같이 나타낼 수 있다.
Figure pat00010
그룹 캐리는 이 식에 따라 만들 수 있으며, 고속 그룹 캐리는 위 식의 형태로 보아 캐리 선택 애더와 유사한 방법으로 구성가능하다.
본 발명이 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 기술적 사상내에서 당 분야의 통상적 지식을 가진 자에 의하여 가능함은 명백하다.
상술한 바와 같이 본 발명에 따르면, 64비트 산술연산기에서 데이터를 8비트씩 그룹을 지어 처리함으로써, 입력 데이터가 32비트, 16비트, 8비트일 때, 데이터를 병렬처리를 할 수 있는 64비트 산술연산기를 제공할 수 있다.
도 1은 종래의 64비트 산술연산기의 블록도이다.
도 2는 본 발명에 따른 그룹 데이터에 대한 산술 연산을 수행하는 64비트 산술연산기의 블록도이다.
도 3a 내지 도 3d들은 본 발명에 따른 64비트 산술연산기에서 입력데이터의 형태 개념도이다.
도 4a 내지는 도 4d들은 각각의 제어신호(도 2 의 200)에 따른 64비트 산술연산기의 동작원리 개념도이다.
도 5는 본 발명에 따른 64비트 산술연산기의 내부 구조의 회로도이다.
도 6은 본 발명에 따른 64비트 산술연산기에서의 그룹 캐리 발생기 개념도이다.

Claims (7)

1개의 8비트 산술연산기;
캐리가 '0'과 '1'인 각각의 경우에 대해 연산하는 7개의 8비트 캐리 선택 애더; 및
상기 7개의 캐리 선택 애더의 결과를 선택하는 그룹 결과 선택신호를 만드는 그룹 캐리 발생기를 구비하고,
상기 1개의 8비트 산술연산기는 입력 캐리가 '0'으로 연산하여 그 결과를 출력하고, 상기 7개의 8비트 캐리 선택 애더는 캐리가 '0'과 '1'인 두가지 경우에 대하여 연산한 후 상기 그룹 결과 선택신호에 의해서 그 결과를 출력하는 것을 특징으로 하는 그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기.
제1항에 있어서, 상기 산술 연산기는 연산종류와 입력데이터의 형태를 결정하는 제어신호와, 상기 제어신호에 따라 연산을 할 한쌍의 정수형 64비트 입력데이터를 입력 받아 연산결과와 캐리값을 출력하는 것을 특징으로 하는 그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기.
제1항에 있어서, 상기 그룹 결과 선택신호는 상기 그룹 캐리 발생기에서 출력되는 그룹 캐리를 이용하여 만들어지는 것을 특징으로 하는 그룹 데이터에 대한 산술연산을 수행하는 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 KR19990031097A (ko) 1999-05-06
KR100475012B1 true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030061672A (ko) 2002-01-15 2003-07-22 삼성전자주식회사 냉장고
US7980644B2 (en) * 2005-09-23 2011-07-19 Lg Electronics Inc. Damper and home-bar door apparatus for refrigerator using the same
KR101357339B1 (ko) * 2007-06-20 2014-02-03 엘지전자 주식회사 냉장고용 홈바

Citations (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 高速加減算器
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
US5434810A (en) * 1988-04-20 1995-07-18 Fujitsu Limited Binary operator using block select look ahead system which serves as parallel adder/subtracter able to greatly reduce the number of elements of circuit with out sacrifice to high speed of computation

Patent Citations (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 高速加減算器
US5434810A (en) * 1988-04-20 1995-07-18 Fujitsu Limited Binary operator using block select look ahead system which serves as parallel adder/subtracter able to greatly reduce the number of elements of circuit with out sacrifice to high speed of computation
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

Also Published As

Publication number Publication date
KR19990031097A (ko) 1999-05-06

Similar Documents

Publication Publication Date Title
KR940008613B1 (ko) 캐리선견가산기와 캐리전송방법
JPH0479013B2 (ko)
KR940006038A (ko) 퍼지 논리 연산 수행 방법과 데이타 처리 시스템, 및 산술 연산 수행용 데이터 처리 시스템
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
JP3315042B2 (ja) 乗算装置
KR100241071B1 (ko) 합과 합+1을 병렬로 생성하는 가산기
KR950015180B1 (ko) 고속연산형 가산기
JP3567510B2 (ja) 割込優先判定回路
JP4658821B2 (ja) ベジェ曲線生成回路
KR100256103B1 (ko) Cout 신호 발생용 방법 및 장치
JP3540136B2 (ja) データ分割並列シフタ
JPS62154029A (ja) 乗算回路
JP2001344102A (ja) データ語の中の複数データ値の並列処理
JP2901463B2 (ja) 加算装置
US6041341A (en) Method and circuit for adding operands of multiple size
KR930002850B1 (ko) 가변비트필드 메이크 처리회로
JPH06168101A (ja) 加算装置及び加算方法
KR20000044576A (ko) 모듈러 연산 장치
JP2953405B2 (ja) 論理シミュレーションの高速化方法及び論理シミュレーション装置
JPH04246722A (ja) 加減算器
JPH1021054A (ja) 演算処理装置
JPH1115641A (ja) 冗長2進加算器を用いた乗算装置

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