KR100239631B1 - 디지틀 승산기 - Google Patents

디지틀 승산기 Download PDF

Info

Publication number
KR100239631B1
KR100239631B1 KR1019970031267A KR19970031267A KR100239631B1 KR 100239631 B1 KR100239631 B1 KR 100239631B1 KR 1019970031267 A KR1019970031267 A KR 1019970031267A KR 19970031267 A KR19970031267 A KR 19970031267A KR 100239631 B1 KR100239631 B1 KR 100239631B1
Authority
KR
South Korea
Prior art keywords
eleventh
complement
data
value
multiplier
Prior art date
Application number
KR1019970031267A
Other languages
English (en)
Other versions
KR19990009012A (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 KR1019970031267A priority Critical patent/KR100239631B1/ko
Publication of KR19990009012A publication Critical patent/KR19990009012A/ko
Application granted granted Critical
Publication of KR100239631B1 publication Critical patent/KR100239631B1/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/52Multiplying; Dividing
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49973Rounding towards negative infinity, e.g. truncation of two's complement numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/544Indexing scheme relating to group G06F7/544
    • G06F2207/5442Absolute difference

Abstract

본 발명은 디지틀 승산기에 관한 것으로, 일반적으로 컴퓨터 내부의 정보처리 단위로 쓰이는 2진 코드에 있어서, 임의의 n 비트에 대한 2의 보수 코드의 절대치를 구할 때 승수와 피승수 양쪽의 최소값을 생략함으로써 그 결과 값이 2비트 줄어들 수 있도록 하여 곱셈기의 비트 수를 n-1 개로 줄여 회로가 간단해지도록 한 것이다.

Description

디지틀 승산기
본 발명은 디지틀 승산기에 관한 것으로, 특히 임의의 비트로 이루어진 2의 보수 코드를 연산하는 디지틀 승산기에 있어서 임의의 비트로 표현되는 값들 중에 최소값을 생략시키므로써 승산기의 내부에서 곱셈을 수행할 때 임의의 비트 수 보다 한 비트 작은 크기의 승산기로도 곱셈을 할 수 있도록 한 디지틀 승산기에 관한 것이다.
일반적으로 컴퓨터 내부의 정보처리 단위로 쓰이는 2진 코드에 있어서, 4비트에 대한 순차 코드와 순차 코드에 대한 2의 보수 코드는 다음의 표 1 과 같이 나타낼 수 있다.
여기서 2의 보수 코드는 연산을 쉽게 하기 위한 수단으로 컴퓨터 내부의 정보를 처리할때 많이 쓰이는 코드로써 표 1 에서 2의 보수 코드와 순차 코드를 비교하여 나타난 것과 같이 순차 코드 3의 자리인 최상위 비트(MSB)를 반전 시킴으로써 쉽게 생성할 수 있다.
4비트 순차 코드3 2 1 0 (←자리수를 나타냄) 2의 보수 코드3 2 1 0(←자리수를 나타냄)
0 0 0 0 0 1 0 0 0 -8
0 0 0 1 1 1 0 0 1 -7
0 0 1 0 2 1 0 1 0 -6
0 0 1 1 3 1 0 1 1 -5
0 1 0 0 4 1 1 0 0 -4
0 1 0 1 5 1 1 0 1 -3
0 1 1 0 6 1 1 1 0 -2
0 1 1 1 7 1 1 1 1 -1
1 0 0 0 8 0 0 0 0 0
1 0 0 1 9 0 0 0 1 1
1 0 1 0 10 0 0 1 0 2
1 0 1 1 11 0 0 1 1 3
1 1 0 0 12 0 1 0 0 4
1 1 0 1 13 0 1 0 1 5
1 1 1 0 14 0 1 1 0 6
1 1 1 1 15 0 1 1 1 7
순차코드와 2의 보수코드의 비교
도 1a는 2의 보수 데이타를 곱하기 위한 종래의 4비트 디지틀 승산기의 구성을 나타낸 것으로서,
4 비트로 구성된 두 개의 2의 보수 데이타 a[3 .. 0], b[3 .. 0]의 곱셈을 위해 각각의 데이타에 대해 절대치를 구하는 제 1 및 제 2 변환기(abs10)(abs11)와,
상기 제 1 및 제 2 변환기(abs10)(abs11)의 출력 신호인 절대치를 곱하는 제 1 곱셈기(M10)와,
상기 두 2의 보수 데이타 a[3 .. 0], b[3 .. 0]의 부호 비트인 최상위 비트a[3], b[3]를 비교하여 부호를 판별하는 제 1 배타적 논리합 게이트(EXOR10)와,
상기 제 1 배타적 논리합 게이트(EXOR10)의 출력 신호인 부호 비트 신호(S10)에 의해 제 1 곱셈기(M10)의 출력 신호를 2의 보수로 변환 시키는 제 3 변환기(abs12)들로 구성하였다.
한편, 도 1(b)는 2의 보수의 절대치 변환기인 상기의 제 1 내지 제 3 변환기의 상세한 구성을 나타낸 회로도로서,
2의 보수 데이타 a[3 ..0], b[3 .. 0] 및 절대치 c'[7 .. 0]들을 입력받아 반전시키는 제 2 배타적 논리합 게이트(EXOR11)와,
상기 제 2 배타적 논리합 게이트(EXOR11)의 출력과 부호 비트 신호 a[3], b[3] 및 S10를 입력받아 더하는 제 1 가산기(add10)들로 구성하였다.
그러므로 상기의 도 1(a)에 의한 디지틀 승산기와 도 1(b)에 의한 변환기의 동작은, 2의 보수 데이타 a[3 .. 0]와 b[3 .. 0]가 4 비트 승산기로 입력되면 제 1 변환기(abs10)에서 2의 보수 데이타 a[3 .. 0]의 부호 비트인 최상위 비트 a[3]가 '1'이면 상기 2의 보수 데이타 a[3 .. 0]의 4개 비트 모두를 반전 시킨 후 1을 더하면서 최상위 비트 a[3]가 '0'이면 상기 2의 보수 데이타 a[3 .. 0]를 그대로 출력시켜 이 출력값이 상기에서 입력된 2의 보수 코드에 대한 절대치 a'[3 .. 0]가 되도록 한다.
또한 제 2 변환기(abs11)에서도 2의 보수 데이타 b[3 .. 0]의 부호 비트인 최상위 비트 b[3]가 '1'이면 데이타 b[3 .. 0]의 4 개의 비트 모두를 반전 시킨 후 '1'을 더하면서 최상위 비트 b[3]가 '0'이면 상기 데이타 b[3 .. 0]를 그대로 출력시켜 이 출력값이 상기에서 입력된 2의 보수 코드에 대한 절대치 b'[3 .. 0]가 되도록 한다.
상기의 2의 보수 코드에 대한 절대치 a'[3 .. 0]와 b'[3 .. 0]는 제 1 곱셈기(M10)로 입력된 후 곱해져서 8비트의 자리를 가진 2의 보수 절대치 값인 데이타 c'[7 .. 0]로 출력된다.
상기 4비트 승산기의 입력 데이타인 2의 보수 코드에 대한 절대치 a'[3 .. 0]와 b'[3 .. 0]의 부호 비트인 최상위 비트 a[3]과 b[3]를 제 1 배타적 논리합 게이트(EXOR10)에서 비교하여 출력되는 부호 비트 신호(S10)는 두 최상위 비트 a[3]와 b[3]가 서로 동일하지 않으면 '1'로 출력되면서 동일하면 '0'으로 출력된다.
상기의 부호 비트 신호(S10)는 2의 보수 절대치 값인 데이타 c'[7 .. 0]와 함께 제 3 변환기(abs12)로 입력되어 진다.
이때 제 3 변환기(abs12)에서는 부호 비트 신호(S10)가 '1' 이 되면 2의 보수 절대치 값인 데이타 c'[7 .. 0]의 8개의 비트 모두를 반전 시킨 후 1을 더해 2의 보수 코드 c[7 .. 0]로 출력하는 한편, 부호 비트 신호(S10)가 '0' 이 되면 2의 보수 절대치 값인 데이타 c'[7 .. 0]의 8개의 비트를 그대로 2의 보수 코드 c[7 .. 0]로 출력시킨다.
상기의 과정을 4 비트의 데이타가 입력되는 경우를 예를 들어 설명하면 다음과 같다.
우선 입력 데이타의 최상위 비트가 같은 경우 즉, 상기 표 1 에서 2의 보수 코드 값중에서 2의 보수 데이타 a[3 .. 0] = 1001(-7), b[3 .. 0] = 1010(-6)가 제 1 변환기(abs10)와 제 2 변환기(abs11)로 각각 입력되면, 제 1 변환기(abs10)에서 최상위 비트 a[3]가 '1'이므로 각각의 자리의 비트값을 반전시켜 이 반전된 값(0110)에 가산기(add10)에서 1을 더하여 2의 보수 코드의 절대치 a'[3 .. 0] = 0111를 출력하고,
제 2 변환기(abs11)에서 최상위 비트 b[3]이 '1'이므로 각각의 자리의 비트값을 반전시켜 이 반전된 값(0101)에 가산기(add10)에서 1을 더하여 2의 보수 코드의 절대치 b'[3 .. 0] = 0110를 출력하고,
상기의 최상위 비트 a[3]와 b[3]가 배타적 논리합 게이트(EXOR10)을 거치면서 같은 값을 갖고 있으므로 출력인 부호 비트 신호 S10의 값은 '0'이 된다.
상기 곱셈기(M10)는 두 2의 보수 코드의 절대치 a'[3 .. 0] = 0111 와 b'[3 .. 0] = 0110를 입력받아 곱한 후 2의 보수 절대치 값인 데이타 c'[7 .. 0] = 00101010을 출력한다.
제 3 변환기(abs12)는 2의 보수 절대치 값인 데이타 c'[7 .. 0] = 00101010을 입력 받아 부호 비트 신호(S10)의 값이 '0'이기 때문에 반전없이 그대로 출력하여 2의 보수 c[7 .. 0] = 00101010의 결과 값을 얻는다.
또한 입력 데이타의 최상위 비트가 다른경우 경우 즉, 상기 표 1 에서 2의 보수 코드 값중에서 2의 보수 데이타 a[3 .. 0] = 1011(-5)과 b[3 .. 0] = 0010(2)가 제 1 변환기(abs10)와 제 2 변환기(abs11)로 각각 입력되면,
제 1 변환기(abs10)에서 최상위 비트 a[3]가 '1'이므로 각각의 자리의 비트값을 반전시켜 이 값(0100)에 가산기(add10)에서 1을 더한 2의 보수 코드의 절대치 a'[3 .. 0] = 0101를 출력하고,
제 2 변환기(abs11)에서 최상위 비트 b[3]가 '0'이므로 각각의 자리의 비트의 반전없이 그대로 2의 보수 코드의 절대치 b'[3 .. 0] = 0010를 출력하고, 두 최상위 비트 a[3]와 b[3]를 배타적 논리합 게이트(EXOR10)에서 비교하여 같은 다른 값을 갖고 있기 때문에 그 출력인 부호 비트 신호(S10)의 값은 '1'이 된다.
그리고, 곱셈기(M1)는 두 2의 보수 코드의 절대치 a'[3 .. 0] = 0101와 b'[3 .. 0] = 0010를 입력받아 곱한 후 2의 보수의 절대치 값인 데이타 c'[7 .. 0] = 00001010을 출력한다.
제 3 변환기는 2의 보수 절대치 값인 데이타 c'[7 .. 0] = 00001010를 입력받고 부호 비트 신호(S10)의 값이 '1'이기 때문에 상기 2의 보수 절대치 값인 데이타 c'[7 .. 0] = 00001010를 반전시킨 후 가산기(add10)에서 1을 더하여 2의 보수 코드 c[7 .. 0] = 11110110의 결과값을 얻도록 하였다.
그러나 상기와 같은 종래의 디지틀 승산기에 의하여서는, 4비트에 대한 2의 보수 코드는 1000(-8) ∼ 0111(7)의 값이 있는데 따라서 상기의 코드에 대한 절대치의 최대값은 8이 되며, 8을 표현하고 계산하기 위해서는 4비트의 곱셈기를 필요로 한다.
컴퓨터 내부에서 영상신호 및 음성신호 등의 데이타를 처리할 때, 데이타의 크기는 임의의 값이 될 수 있지만 상기 임의의 값이 커짐에 따라 2진 표현을 위한 비트의 수가 증가하게 되면 데이타의 최소값은 중요하지 않게 된다.
예를 들어 영상 신호 데이타를 8비트의 2의 보수로 나타내면 -128 ∼ 127의 값이 되지만 -128을 -127로 대체하여도 화질에 주는 영향은 무시할 수 있고 또한 -128의 값을 갖는 경우도 거의 없다.
따라서 본 발명은 임의의 비트를 갖는 2의 보수 코드의 최소값을 버림으로써 n-1비트의 곱셈기로 데이타를 처리할 수 있도록 하는 승산기를 제공함으로써 승산기의 회로를 간단히 하는 데 그 목적이 있다.
또한 본 발명의 또 다른 목적은 영상 신호와 음성 신호 데이타를 처리하는데 적합한 승산기를 제공하는 것에 목적이 있다.
따라서 상기와 같은 목적을 달성하기 위하여 본 발명의 디지틀 승산기는 2의 보수 코드의 절대치를 구할때 입력 데이타의 부호 비트인 최상위 비트가 '1'일 때 부호 비트를 제외한 나머지 비트를 반전 시킨 후 가산기에서 1을 더하고,
상기 가산기의 올림수는 항상 입력 신호가 최소값일 때에만 발생되게 되므로 가산기의 올림 신호는 최소값을 검출하는 신호로 선택하도록 하여 상기의 올림 신호가 발생할 때 가산기의 출력값을 반전시켜 주어 디지틀 승산기로 입력되는 데이타 -8이 -7로 대체 되는 것과 같은 결과를 갖도록 함으로써 승수와 피승수 양쪽의 최소값을 생략 하여 곱셈기에서 곱셈을 수행할 때 결과 값이 2비트 줄어들 수 있도록 한 것으로, 4비트 뿐만 아니라 임의의 비트에서도 처리가 가능하도록 한 것이다.
도 1a와 도 1b은 일반적인 디지틀 승산기의 구성을 나타낸 회로도.
도 2a 내지 도 2c는 본 발명의 디지틀 승산기의 구성을 나타낸 회로도.
< 도면의 주요부분에 대한 부호의 설명 >
abs20, abs21, abs22 : 제 11 내지 제 13 변환기
EXOR20, EXOR21, EXOR22 : 제 11 내지 제 13 배타적 논리합 게이트
OR20 : 오아 게이트
add20, add21 : 제 11 내지 제 12 가산기
이하 본 발명을 첨부도면에 의하여 상세히 기술하면 다음과 같다.
디지틀 승산기는 도 2(a)에 도시된것과 같이 2의 보수 데이타 x[n .. 0]을 입력받아 이에 대해 절대치 x'[n-1 .. 0]를 구하는 제 11 변환기(abs20)와,
2의 보수 데이타 y[n .. 0]을 입력받아 이에 대해 절대치 y'[n-1 .. 0]를 구하는 제 12 변환기(abs21)와,
상기 제 11 변환기(abs20)과 제 12 변환기(abs21)의 출력인 절대치 x'[n-1 .. 0], y'[n-1 .. 0]를 입력받아 곱하는 제 11 곱셈기(M20)와,
상기의 두 2의 보수 데이타의 부호 비트인 최상위 비트 x[n]과 y[n]를 비교하여 부호를 판별하는 제 11 배타적 논리합 게이트(EXOR20)와,
상기 제 11 배타적 논리합 게이트(EXOR20)의 출력 신호인 부호 비트 신호(S20)의 출력에 따라서 제 11 곱셈기(M20)의 출력인 2의 보수의 절대치 값인 데이타 z'[2n-1 .. 0]를 변환시켜 2의 보수 z[2n+1 .. 0]로 출력시키는 제 13 변환기(abs22)들로 구성한 것이다.
도 2b는 상기의 2의 보수의 절대치 변환기인 상기의 제 11 변환기 및 12 변환기의 구성을 도시한 것으로서,
2의 보수 데이타 x[n .. 0], y[n .. 0]를 각각 입력받으면서 최상위 비트 x[n], y[n]가 '1' 인 경우에만 반전시키는 제 12 배타적 논리합 게이트(EXOR21)와,
상기 제 12 배타적 논리합 게이트(EXOR21)의 출력과 최상위 비트인 부호 비트 x[n], y[n]를 각각 입력받아 더하는 제 11 가산기(add20)와,
상기 제 11 가산기(add20)에서 올림수가 발생하였을때 출력되는 올림 신호(ca) 및 상기 제 11 가산기(add20)의 출력을 각각 입력받아 반전시켜 절대치 x'[n-1 .. 0], y'[n-1 .. 0]를 출력하는 오아 게이트(OR20)들로 구성한 것이다.
상기의 오아 게이트는 배타적 논리합 게이트를 사용하는 것이 바람직하지만 본 실시예의 경우에는 올림수가 '1'자리이므로 오아 게이트를 사용하여도 무방하다.
도 2c는 제 3 변환기의 내부 구성을 도시한 것으로,
제 11 및 제 12 변환기(abs20),(abs21)로 부터의 출력인 절대치 x'[n-1 .. 0], y'[n-1 .. 0]를 제 11 곱셈기(M20)에 곱한 결과이며 2의 보수의 절대치 값인 데이타 z'[2n-1 .. 0]를 입력받아 부호 비트 신호(S20)가 '1'일 때 반전시켜 출력하는 제 13 반전기(EXOR22)와,
상기 제 13 반전기(EXOR22)에서 반전된 값에 '1'을 더하여 2의 보수 z[2n+1 .. 0]를 출력하는 제 12 가산기(add21)들로 구성한 것이다.
이와 같이 구성한 본 발명의 작용을 상세히 기술하면 다음과 같다.
2의 보수 데이타 x[n .. 0] 및 y[n .. 0]가 본 발명의 디지틀 승산기로 입력되면, 제 11 변환기(abs20)에서 2의 보수 데이타 x[n .. 0] 의 부호 비트인 최상위 비트 x[n]가 '1'일 때, 최상위 비트 x[n]를 제외한 2의 보수 데이타 x[n-1 .. 0]인 3개의 비트가 제 12 배타적 논리합 게이트(EXOR21)를 거치면서 반전되고, 제 11 가산기(add20)에서는 상기의 반전된 결과값에 '1'을 더한다.
제 12 변환기(abs21)에서 2의 보수 데이타 y[n .. 0]의 부호 비트인 최상위 비트 y[n]가 '1'일때, 최상위 비트 y[n]를 제외한 2의 보수 데이타 y[n-1 .. 0]인 3개의 비트가 제 12 배타적 논리합 게이트(EXOR21)를 거치면서 반전되고, 제 11 가산기(add20)에서는 상기의 반전된 결과값에 '1'을 더한다.
이때 제 11 가산기(add20)에서 올림수가 발생하게 되면(1000 = -8이 입력된 경우), 이 올림 비트 신호(ca)로 인하여 오아 게이트(OR20)의해 다시 반전되어 제 1 변환기(abs20)의 결과값으로 2의 보수의 절대치 x'[n-1 .. 0]를 얻고, 제 12 변환기(abs21)의 결과값으로 2의 보수의 절대치 y'[n-1 .. 0]를 얻는다.
또한 올림 비트 신호(ca)가 없으면 오아 게이트(OR20)는 제 11 가산기(add20)의 결과값을 반전없이 통과시켜 제 1 변환기(abs20)의 결과값으로 2의 보수의 절대치 x'[n-1 .. 0]를 얻고, 제 2 변환기(abs21)의 결과값으로 2의 보수의 절대치 y'[n-1 .. 0] 을 얻는다.
그리고, 부호 비트 x[n] 및 y[n]가 '0'이면 최상위 비트 x[n] 및 y[n]를 제외한 2의 보수 데이타 x[n-1 .. 0] 및 y[n-1 .. 0]가 그대로 제 11 반전기(EXOR21)과 오아 게이트(OR20)를 통과하여 변함없이 출력되며, 이 출력 값은 상기에서 입력된 제 1 변환기(abs20)의 결과값으로 2의 보수의 절대치 x'[n-1 .. 0]가 되고 , 제 2 변환기(abs21)의 결과값으로 2의 보수의 절대치 y'[n-1 .. 0]가 된다.
상기의 2의 보수의 절대치 x'[n-1 .. 0]와 y'[n-1 .. 0]는 제 11 곱셈기(M20)로 입력되어 곱해져 6비트의 자리를 가진 2의 보수 절대치 값인 데이타 z'[2n-1 .. 0]로 출력되고,
상기 입력 데이타의 부호 비트인 최상위 비트 x[n]과 y[n]을 제 11 비교기(EXOR20)에서 비교하여 출력된 부호 비트 신호(S20는 2의 보수 데이타 x[n]와 y[n]가 서로 같지 않으면 '1'로 되며, 같으면 '0'이 된다.) 2의 보수 절대치 값인 데이타 z'[2n-1 .. 0]와 함께 제 13 변환기(abs22)로 입력되어 진다.
이때 제 13 변환기(abs22)에서는 부호 비트 신호(S20)가 '1' 이 되면 2의 보수 절대치 값인 데이타 z'[2n-1 .. 0]의 모든 비트를 제 13 배타적 논리합 게이트(EXOR22)에서 반전 시켜 제 12 가산기(add21)에서 1을 더해 2의 보수 코드 z[2n+1 .. 0]을 출력하고, 부호 비트S20가 '0' 이 되면 2의 보수 절대치 값인 데이타 z'[2n-1 .. 0]를 제 13 반전기(EXOR22)와 제 12 가산기(add21)를 변함없이 통과 시켜 2의 보수 코드 z[2n+1 .. 0]값으로 출력시킨다.
상기의 작용을 4비트의 크기를 가진 데이타의 예를 들어 설명하면 우선 입력 데이타의 최상위 비트가 같은경우 즉, 상기 표 1 에서 2의 보수 코드 값중에서 x[3 .. 0] = 1 0 0 1 ( -7)값과 y[3 .. 0] = 1 0 1 0 (-6)값이 제 11 변환기(abs20)및 제 12 변환기(abs21)로 각각 입력되면,
제 11 변환기(abs20)에서 부호 비트인 최상위 비트 x[3]가 '1'이므로 최상위 비트 x[3]를 제외한 3자리의 비트값을 제 11 배타적 논리합 게이트(EXOR21)에서 반전시켜, 이 값(1 1 0)에 제 11 가산기(add20)에서 1을 더하고, 이때에는 가산기의 올림 신호(ca)가 발생하지 않은 상태이므로 오아 게이트(OR20)에서 그냥 통과 시켜 2의 보수 코드 절대치 x'[2 .. 0] = 1 1 1 를 출력하며,
제 12 변환기(abs21)에서 부호 비트인 최상위 비트 y[3]가 '1'이므로 최상위 비트 y[3]를 제외한 3자리의 비트값을 제 11 반전기(EXOR21)에서 반전시켜 이 값(1 0 1)에 제 11 가산기(add20)에서 1을 더하고, 이때 제 11 가산기(add20)의 올림 신호(ca)가 발생하지 않으므로 오아 게이트(OR20)를 그냥 통과 시켜 2의 보수 코드 절대치 값 y'[2 .. 0] = 1 1 0 을 출력한다.
그리고, 2의 보수 데이타 x[3], y[3]를 제 11 배타적 논리합 게이트(EXOR20)에서 비교하여 같은 값을 갖고 있으므로 부호 비트 신호(S20)의 값은 '0'이 되며, 제 11 곱셈기(M10)는 2의 보수 코드 절대치 x'[2 .. 0] = 1 1 1, y'[2 .. 0] = 1 1 0 를 입력받아 곱한후 절대치 값의 데이타 z'[5 .. 0] = 1 0 1 0 1 0를 출력한다.
제 13 변환기(abs22)는 절대값의 데이타 z'[5 .. 0] = 1 0 1 0 1 0를 입력 받아 부호 비트 신호(S20)의 값이 '0'이기 때문에 반전없이 그대로 출력하여 2의 보수 z[7 .. 0] = 0 0 1 0 1 0 1 0 의 결과 값을 얻는다.
또한 입력 데이타의 최상위 비트가 다른 예로서 즉, 상기 표 1 에서 2의 보수 코드 값중에서 2의 보수 데이타 x[3 .. 0] = 1 0 1 1(-5), y[3 .. 0] = 0 0 1 0(2)가 제 11 변환기(abs20)와 제 12 변환기(abs21)로 각각 입력되면,
제 11 변환기(abs20)에서 최상위 비트 x[3]가 '1'이므로 최상위 비트 x[3]를 제외한 3자리의 비트값을 제 12 배타적 논리합 게이트(EXOR21)에서 반전시켜(1 0 0) 이 값에 제 11 가산기(add20)에서 1을 더하고, 이때 가산기의 올림 신호(ca)가 발생하지 않았기 때문에 오아 게이트(OR20)에서 그냥 통과 시켜 2의 보수 코드 절대치 x'[2 .. 0] = 1 0 1 을 출력하며,
제 12 변환기(abs21)에서 최상위 비트 y[3]가 '0'이므로 최상위 비트 y[3]를 제외한 3자리의 비트는 제 11 배타적 논리합 게이트(EXOR21)와 오아 게이트(OR20)를 그냥 통과 시켜 반전없이 그대로 2의 보수 코드 절대치 데이타 y'[2 .. 0] = 0 1 0 을 출력한다.
그리고, 두 최상위 비트 x[3], y[3]를 제 11 배타적 논리합 게이트(EXOR20)에서 비교하여 같은 다른 값을 갖고 있기 때문에 부호 비트 신호(S20)의 값은 '1'이 되며, 제 11 곱셈기(M20)는 두 절대치 x'[2 .. 0] = 1 0 1, y'[2 .. 0] = 0 1 0 를 입력받아 곱한후 2의 보수의 절대치 값의 데이타 z'[5 .. 0] = 0 0 1 0 1 0을 출력한다.
제 13 변환기(abs22)는 2의 보수의 절대치 값의 데이타 z'[5 .. 0] = 0 0 1 0 1 0를 입력 받아 부호 비트 신호(S20)의 값이 '1'이기 때문에 2의 보수의 절대치 값의 데이타 z'[5 .. 0] = 0 0 1 0 1 0 를 제 13 배타적 논리합 게이트(EXOR22)에서 반전시켜 제 12 가산기(add21)에서 1을 더하여 8비트인 2의 보수 z[7 .. 0] = 1 1 1 1 0 1 1 0 의 결과 값을 얻는다.
본발명의 또 다른 실시 예로써 입력 데이타가 최소값( -8)인 경우로서 즉, 상기 표 1 에서 2의 보수 코드 값중에서 2의 보수 데이타 x[3 .. 0] = 1 0 0 0 ( -8), y[3 .. 0] = 1 0 1 0 ( -6)가 제 11 변환기(abs20)와 제 12 변환기(abs21)로 각각 입력되면,
제 11 변환기(abs20)에서 부호 비트인 최상위 비트 x[3]가 '1'이므로 최상위 비트 x[3]를 제외한 3자리의 비트값을 제 11 배타적 논리합 게이트(EXOR21)에서 반전시켜 이 값(1 1 1)에 제 11 가산기(add20)에서 1을 더하고, 이때 가산기의 올림신호(ca)가 발생하였기 때문에 오아 게이트(OR20)에서 다시 반전시켜 2의 보수 코드 절대치 x'[2 .. 0] = 1 1 1 을 얻게 되며, 이 값은 1 0 0 1 (-7)을 입력 했을때 와 같은 결과를 같게 된다.
제 12 변환기(abs21)에서 부호 비트인 최상의 비트 y[3]가 '1'이므로 최상위 비트 y[3]를 제외한 3자리의 비트값을 제 12 배타적 논리합 게이트(EXOR21)에서 반전시켜 이 값(1 0 1)에 제 11 가산기(add20)에서 1을 더하고, 이때 제 11 가산기(add20)의 올림 신호(ca)가 발생하지 않으므로 오아 게이트(OR20)를 그냥 통과하여 2의 보수 코드 절대치 값인 데이타 y'[2 .. 0] = 1 1 0 을 출력한다.
그리고, 두 최상위 비트 x[3], y[3]를 제 11 배타적 논리합 게이트(EXOR20)에서 비교하여 같은 값을 갖고 있으므로 부호 비트 신호(S20)의 값은 '0'이 되고, 제 11 곱셈기(M10)는 2의 보수의 절대치 x'[2 .. 0] = 1 1 1, y'[2 .. 0] = 1 1 0를 입력받아 곱한후 2의 보수의 절대치 값인 데이타 z'[5 .. 0] = 1 0 1 0 1 0를 출력한다.
제 13 변환기(abs22)는 2의 보수의 절대치 값인 데이타 z'[5 .. 0] = 1 0 1 0 1 0를 입력 받아 부호 비트 신호(S20)의 값이 '0'이기 때문에 반전없이 그대로 출력하여 2의 보수 z[7 .. 0] = 0 0 1 0 1 0 1 0 의 결과 값을 얻는다.
본 발명의 효과는 임의의 2의 보수코드 n비트를 곱셈할때 승수와 피승수 양쪽의 2의 보수 코드의 최소값을 버림으로써 한 비트가 줄어든 n-1비트의 곱셈기로 데이타의 처리를 할 수 있도록 하는 승산기를 제공함으로써 승산기의 회로를 간단히 하는 효과와, 영상신호와 음성 신호 데이타를 처리하는데 적합한 승산기를 제공하는 효과를 가진다.

Claims (3)

  1. 컴퓨터 내부의 정보처리단위로 쓰이는 2진 코드에 의 임의의 비트 승산기에 있어서,
    두개의 2의 보수 데이타의 곱셈을 위해 각각의 데이타에 대해 절대치를 구하는 제 11 및 제 12 변환기(abs20)(abs21)와,
    상기 제 11 및 제 12 변환기(abs20)(abs21)의 한개의 비트가 줄어든 출력 신호를 입력받아 곱하는 제 11 곱셈기(M20)와,
    두 입력 데이타의 부호 비트인 최상위 비트를 비교하여 부호판별 하는 제 11 배타적 논리합 게이트(EXOR20)와,
    상기 제 11 배타적 논리합 게이트(EXOR20)의 출력 신호인 부호 비트 신호(S20)의 출력에 따라서 제 11 곱셈기(M20)의 출력 신호를 2의 보수로 변환 시켜 출력시키는 제 13 변환기(abs22)로 구성됨을 특징으로 하는 디지틀 승산기.
  2. 제 1항에 있어서, 상기 제 11 및 12 변환기는 2의 보수 데이타를 입력받아 반전 시키는 제 12 배타적 논리합 게이트(EXOR21)와,
    제 21 배타적 논리합 게이트(EXOR21)의 출력과 상기의 2의 보수 데이타의 부호 비트를 입력받아 더하는 제 11 가산기(add20)와,
    제 11 가산기(add20)에서 올림수에 의한 올림 신호(ca)가 발생하면 입력값을 반전시키는 오아 게이트(OR20)로 구성하여 입력된 2의 보수 데이타의 비트보다 한개의 비트가 줄어든 2의 보수의 절대치값을 출력함을 특징으로 하는 디지틀 승산기.
  3. 제 1 항에 있어서, 제 13 변환기(abs22)는 상기의 제 11 곱셈기(M20)로 부터 2의 보수의 절대값의 데이타를 두 비트 줄어든값으로 입력받으면서 부호 비트 신호(S20)가 '1'일 때 반전 시키는 제 13 배타적 논리합 게이트(EXOR22)와,
    상기의 반전된 값에 부호 비트 신호(S20)을 더하여 최종의 2의 보수를 출력하는 제 12 가산기(add21)로 구성됨을 특징으로 하는 디지틀 승산기.
KR1019970031267A 1997-07-07 1997-07-07 디지틀 승산기 KR100239631B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970031267A KR100239631B1 (ko) 1997-07-07 1997-07-07 디지틀 승산기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970031267A KR100239631B1 (ko) 1997-07-07 1997-07-07 디지틀 승산기

Publications (2)

Publication Number Publication Date
KR19990009012A KR19990009012A (ko) 1999-02-05
KR100239631B1 true KR100239631B1 (ko) 2000-01-15

Family

ID=19513542

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970031267A KR100239631B1 (ko) 1997-07-07 1997-07-07 디지틀 승산기

Country Status (1)

Country Link
KR (1) KR100239631B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1291205C (zh) 2002-08-24 2006-12-20 三星电子株式会社 冷柜

Also Published As

Publication number Publication date
KR19990009012A (ko) 1999-02-05

Similar Documents

Publication Publication Date Title
US4953115A (en) Absolute value calculating circuit having a single adder
US5506799A (en) Booth array multiplying circuit having carry correction
US4916531A (en) Color video processing circuitry
US5272654A (en) System for converting a floating point signed magnitude binary number to a two&#39;s complement binary number
US5216628A (en) Absolute value arithmetic circuit
JPH10161850A (ja) 絶対値比較回路
US4660165A (en) Pyramid carry adder circuit
EP0238300A2 (en) Serial digital signal processing circuitry
KR100239631B1 (ko) 디지틀 승산기
KR19980082906A (ko) 부동 소수점 숫자의 정수형으로의 변환 방법
JPH1091397A (ja) 演算回路
EP0470793B1 (en) Digital signal orthogonal transformer apparatus
US3975624A (en) Two&#39;s complement subtracting system
JP2991788B2 (ja) 復号器
KR0182169B1 (ko) 로그값 계산회로
JP2513021B2 (ja) 符号付きディジット数正負判定回路
KR100196520B1 (ko) 면적 개선을 위한 2의보수 변환 장치
JP2907276B2 (ja) 演算処理装置
KR100223752B1 (ko) 병렬 곱셈기
SU1441395A1 (ru) Сумматор-умножитель по модулю три
JPH07120964B2 (ja) 伸張回路
SU1559344A1 (ru) Устройство дл вычислени модул вектора
KR200232068Y1 (ko) 고속 동작을 위한 2의 보수 변환 장치
KR100206119B1 (ko) 가산기
KR0185437B1 (ko) 더블 에지 클럭구조를 가지는 곱셈기 및 그를 이용한 디지털 칼라 스페이스 변환 장치

Legal Events

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

Payment date: 20070928

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee