KR20000008811U - 고속 동작을 위한 2의 보수 변환 장치 - Google Patents
고속 동작을 위한 2의 보수 변환 장치 Download PDFInfo
- Publication number
- KR20000008811U KR20000008811U KR2019980020666U KR19980020666U KR20000008811U KR 20000008811 U KR20000008811 U KR 20000008811U KR 2019980020666 U KR2019980020666 U KR 2019980020666U KR 19980020666 U KR19980020666 U KR 19980020666U KR 20000008811 U KR20000008811 U KR 20000008811U
- Authority
- KR
- South Korea
- Prior art keywords
- bit data
- complement
- receiving
- logical
- output
- Prior art date
Links
Landscapes
- Complex Calculations (AREA)
Abstract
본 고안은 2의 보수로 변환하고자하는 이진수를 소정의 비트 단위로 나누어 상기 단위별로 2의 보수 변환 동작을 수행함으로써 지연 경로를 줄인 고속 동작을 위한 2의 보수 변환 장치를 제공하기 위한 것으로, 이를 위해 본 고안은 N비트로 이루어진 이진수를 2의 보수로 변환하기 위한 2의 보수 변환 장치에 있어서, 상기 N비트의 이진수를 M비트로 각각 나누어 입력받아 소정의 논리 연산 동작을 수행하는 적어도 하나의 논리 연산 수단; 상기 M비트를 입력받아 논리합하는 적어도 하나의 논리합 수단; 및 상기 논리합 수단으로부터의 출력 신호에 응답하여 상기 논리 연산 수단으로부터의 출력 데이터 및 반전된 상기 M비트 데이터 중 하나를 선택하여 상기 이진수의 2의 보수로 출력하는 적어도 하나의 선택 수단을 포함한다.
Description
본 고안은 산술 장치(arithmetic unit)에 관한 것으로, 특히 이진수(binary number)를 2의 보수로 변환시키는 2의 보수 변환 장치에 관한 것이다.
일반적으로, 임의의 이진수를 2의 보수로 변환시키는 방법에는 두 가지가 있다. 첫 번째 방법은 이진수의 최하위 비트(Least Significant Bit, 이하 LSB라 함)로부터 비트 스캔하여 최초로 "1"이 나올때까지 이진수의 비트값 그대로를 출력하고, 최초의 "1" 그 다음 비트부터는 이진수의 비트값을 반전시켜 출력하는 방법이다. 예를 들어, 8비트 이진수 "1010 0000"을 2의 보수로 변환시킬 때 LSB로부터 연속되는 "0"의 값을 가지는 제1 내지 제5 비트와 최초의 "1"의 값을 가지는 제6 비트는 그대로 출력하고(즉 "10 0000"), 나머지 비트의 값은 반전시켜 "1"로 출력하여 최종적으로 이진수 "1010 0000"의 2의 보수 "0110 0000"을 출력한다. 도 1은 상기의 첫 번째 변환 방법을 회로로 구현한 2의 보수 변환 회로이다.
다음으로, 두 번째 방법은 변환하고자하는 이진수의 모든 비트를 먼저 반전시킨 후 "1"을 가산하여 2의 보수로 변환하는 방법이다. 예를 들어, 8비트 이진수 "1010 0000"을 2의 보수로 변환시키는 경우 이진수의 모든 비트를 반전하고(즉, "0101 1111") 그 다음 "1"을 가산하여 최종적으로 2의 보수화된 "0110 0000"을 출력한다. 도 2는 상기의 두 번째 변환 방법을 회로로 구현한 2의 보수 변환 회로이다.
상기와 같은 종래의 이러한 2의 보수 변환 회로들은 변환하고자 입력되는 이진수로부터 변환되어 출력되는 2의 보수를 출력하기까지, 이진수의 모든 비트를 스캔하거나 "1"의 가산 동작을 수행함으로 인해 지연 경로(delay path)가 길어져 고속의 동작을 요구하는 연산 장치 및 시스템에 사용하기 어려운 문제가 있었다.
본 고안은 상기 문제점을 해결하기 위하여 안출된 것으로써, 2의 보수로 변환하고자하는 이진수를 소정의 비트 단위로 나누어 상기 단위별로 2의 보수 변환 동작을 수행함으로써 지연 경로를 줄인 고속 동작을 위한 2의 보수 변환 장치를 제공하는데 그 목적이 있다.
도 1은 종래의 2의 보수 변환 회로도.
도 2는 종래의 또다른 2의 보수 변환 회로도.
도 3은 본 고안에 따른 2의 보수 변환 회로의 일실시 회로도.
도 4는 본 고안에 따른 상기 도 3 내부의 연산 블록의 일실시 회로도.
* 도면의 주요 부분에 대한 설명
BL0 내지 BL3 : 연산 블록
30, 32, 34, 54, 58 : 논리합 게이트
38, 42, 46 : 멀티플렉서
36, 40, 44 : 인버터
52, 56, 60 : 배타적 논리합 게이트
상기 목적을 달성하기 위한 본 고안은 N비트로 이루어진 이진수를 2의 보수로 변환하기 위한 2의 보수 변환 장치에 있어서, 상기 N비트의 이진수를 M비트로 각각 나누어 입력받아 소정의 논리 연산 동작을 수행하기 위한 적어도 하나의 논리 연산 수단; 상기 M비트를 입력받아 논리합하기 위한 적어도 하나의 논리합 수단; 및 상기 논리합 수단으로부터의 출력 신호에 응답하여 상기 논리 연산 수단으로부터의 출력 데이터 및 반전된 상기 M비트 데이터 중 하나를 선택하여 상기 이진수의 2의 보수로 출력하기 위한 적어도 하나의 선택 수단을 포함하여 이루어진다.
또한, 본 고안은 16비트로 이루어진 이진수를 2의 보수로 변환하기 위한 2의 보수 변환 장치에 있어서, 상기 이진수의 최하위 제1 내지 제4 비트 데이터를 입력받아 소정의 논리 연산 동작을 수행하여 상기 2의 보수의 최하위 제1 내지 제4 비트 데이터를 출력하기 위한 제1 논리 연산 수단; 상기 제1 내지 제4 비트 데이터를 입력받아 논리합하기 위한 제1 논리합 수단; 상기 제4 비트 데이터의 그 다음 상위 비트 데이터인 제5 비트 내지 제8 비트 데이터를 입력받아 소정의 논리 연산 동작을 수행하기 위한 제2 논리 연산 수단; 상기 제1 논리합 수단으로부터의 출력 신호에 응답하여 상기 제2 논리 연산 수단으로부터 출력되는 데이터 및 반전된 상기 제5 비트 내지 제8 비트 데이터 중 하나를 선택하여 상기 2의 보수의 제5 비트 내지 제8 비트 데이터로 출력하기 위한 제1 선택 수단; 상기 제8 비트 데이터의 그 다음 상위 비트 데이터인 제9 비트 내지 제12 비트 데이터 및 상기 제1 논리합 수단으로부터의 출력 신호를 입력받아 논리합하기 위한 제2 논리합 수단; 상기 제9 비트 내지 제12 비트 데이터를 입력받아 소정의 논리 연산 동작을 수행하기 위한 제3 논리 연산 수단; 상기 제2 논리합 수단으로부터의 출력 신호에 응답하여 상기 제3 논리 연산 수단으로부터 출력되는 데이터 및 반전된 상기 제9 비트 내지 제12 비트 데이터 중 하나를 선택하여 상기 2의 보수의 제9 비트 내지 제12 비트 데이터로 출력하기 위한 제2 선택 수단; 상기 제12 비트 데이터의 그 다음 상위 비트 데이터인 제13 비트 내지 제16 비트 데이터 및 상기 제2 논리합 수단으로부터의 출력 신호를 입력받아 논리합하기 위한 제3 논리합 수단; 상기 제13 비트 내지 제16 비트 데이터를 입력받아 소정의 논리 연산 동작을 수행하기 위한 제4 논리 연산 수단; 및 상기 제3 논리합 수단으로부터의 출력 신호에 응답하여 상기 제4 논리 연산 수단으로부터 출력되는 데이터 및 반전된 상기 제13 비트 내지 제16 비트 데이터 중 하나를 선택하여 상기 2의 보수의 제13 비트 내지 제16 비트 데이터로 출력하기 위한 제3 선택 수단을 포함하여 이루어진다.
이하, 도면을 참조하여 본 고안의 일실시예를 상세히 설명한다.
도 3은 본 고안에 따른 2의 보수 변환 회로의 일실시 회로도로서, 16비트의 이진수(b[15:0])를 4비트씩 나누어 4개의 연산 블록(BL0 내지 BL3)을 통해 2의 보수 변환을 수행한다.
도 3을 참조하면, 2의 보수 변환 회로는 이진수의 최하위 4비트(b[3:0])를 입력받아 소정의 논리 연산 동작을 통해 2의 보수로 변환된 최하위 4비트 데이터(out[3:0])를 출력하는 연산 블록(BL0)과, 이진수의 최하위 4비트(b[3:0])를 입력받아 논리합하는 논리합 게이트(30)와, 이진수의 그 다음 4비트(b[7:4])를 입력받아 소정의 논리 연산 동작을 수행하는 연산 블록(BL1)과, 이진수의 그 다음 4비트(b[7:4])를 입력받아 반전하는 인버터(36)와, 상기 논리합 게이트(30)로부터의 출력 신호에 응답하여 상기 연산 블록(BL1)으로부터 출력되는 데이터 및 상기 인버터(36)로부터 출력되는 반전된 데이터 중 하나를 선택하여 2의 보수로 변환된 그 다음 4비트 데이터(out[7:4])로 출력하는 멀티플렉서(38)와, 이진수의 그 다음 4비트(b[7:4]) 및 상기 논리합 게이트(30)로부터의 출력 신호를 입력받아 논리합하는 논리합 게이트(32)와, 이진수의 그 다음 4비트 데이터(b[11:8])를 입력받아 소정의 논리 연산 동작을 수행하는 연산 블록(BL2)과, 이진수의 그 다음 4비트 데이터(b[11:8])를 입력받아 반전하는 인버터(40)와, 상기 논리합 게이트(32)로부터의 출력 신호에 응답하여 상기 연산 블록(BL2)으로부터 출력되는 데이터 및 상기 인버터(40)로부터 출력되는 반전된 데이터 중 하나를 선택하여 2의 보수로 변환된 그 다음 4비트 데이터(out[11:8])로 출력하는 멀티플렉서(42)와, 이진수의 그 다음 4비트(b[11:8]) 및 상기 논리합 게이트(32)로부터의 출력 신호를 입력받아 논리합하는 논리합 게이트(34)와, 이진수의 그 다음 4비트 데이터(b[15:12])를 입력받아 소정의 논리 연산 동작을 수행하는 연산 블록(BL3)과, 이진수의 그 다음 4비트 데이터(b[15:12])를 입력받아 반전하는 인버터(44)와, 상기 논리합 게이트(34)로부터의 출력 신호에 응답하여 상기 연산 블록(BL3)으로부터 출력되는 데이터 및 상기 인버터(44)로부터 출력되는 반전된 데이터 중 하나를 선택하여 2의 보수로 변환된 그 다음 4비트 데이터(out[15:12])로 출력하는 멀티플렉서(46)로 이루어진다.
이때, 각 멀티플렉서(38, 42 및 46)는 각각의 선택 신호(즉, 논리합 게이트(30, 32 및 34)로부터 출력되는 신호)가 "0"인 경우 각각의 연산 블록(BL1 내지 BL3)으로부터 출력되는 데이터를 선택하여 출력하고, "1"인 경우 각각의 인버터(36, 40 및 44)로부터 출력되는 반전된 데이터를 선택하여 출력한다.
도 4는 상기 도 3의 연산 블록(BL0 내지 BL3)의 내부 회로도이다.
도 4를 참조하면, 각각의 연산 블록(BL0 내지 BL3)은 각각, 이진수의 4비트 데이터(bi 내지 bi+1) 중 bi를 입력받아 출력 데이터(outi)로 내보내는 버퍼(50)와, bi 및 bi+1을 입력받아 배타적 논리합하여 출력 데이터(outi+1)로 내보내는 배타적 논리합게이트(52)와, bi 및 bi+1을 입력받아 논리합하는 논리합게이트(54)와, 상기 논리합게이트(54)로부터의 출력 및 bi+2를 입력받아 배타적 논리합하여 출력 데이터(outi+2)로 내보내는 배타적 논리합게이트(56)와, bi 내지 bi+2를 각각 입력받아 논리합하는 논리합게이트(58)와, 상기 논리합게이트(58)로부터의 출력 및 bi+3을 입력받아 배타적 논리합하여 출력 데이터(outi+3)로 내보내는 배타적 논리합게이트(60)로 이루어진다.
다음으로, 도 3 및 도 4를 참조하여 이진수의 2의 보수로의 변환 동작을 상세히 설명한다.
먼저, 2의 보수로 변환시키기 위한 16비트 이진수를 "1001 1010 1011 0000"으로 입력한다. 연산 블록(BL0)은 16비트 이진수 중 제1 내지 제4 비트 데이터 "0"을 입력받아 2의 보수로 변환된 데이터의 제1 내지 제4 비트 데이터(out[3:0])로 "0"을 출력한다. 그리고, 연산 블록(BL1)은 제5 비트 내지 제8 비트 데이터 "1011"을 입력받아 "101"을 출력하고, 멀티플렉서(38)는 논리합 게이트(30)로부터 출력되는 "0" 신호에 의해 연산 블록(BL1)으로부터 출력되는 "101"을 선택하여 2의 보수로 변환된 데이터의 제5 내지 제8 비트 데이터(out[7:4])로 출력한다.
다음으로, 논리합 게이트(32)로부터 출력되는 "1" 신호에 따라 멀티플렉서(42)는 인버터(40)로부터 출력되는 반전된 "101"을 선택하여 2의 보수로 변환된 데이터의 제9 내지 제12 비트 데이터(out[11:8])로 출력한다.
마지막으로, 논리합 게이트(34)로부터 출력되는 "1" 신호에 따라 멀티플렉서(46)는 인버터(44)로부터 출력되는 반전된 "110"을 선택하여 2의 보수로 변환된 데이터의 제13 내지 제16 비트 데이터(out[15:12])로 출력한다.
따라서, 16비트 이진수 "1001 1010 1011 0000"을 2의 보수화한 출력 데이터(out[15:0]) "0110 0101 0101 0000"으로 변환하게 된다.
본 고안의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 고안의 기술 분야의 통상의 전문가라면 본 고안의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
상기와 같이 이루어지는 본 고안은, 다비트로 이루어진 이진수를 소정 비트의 단위 블록으로 나누어 2의 보수로 변환시킴으로써 지연 경로를 줄여 동작 속도를 개선시킬 수 있는 탁월한 효과가 있다. 또한, 본 고안의 2의 보수 변환 회로는 빠른 동작 속도를 필요로하는 곱셈기 및 연산기능을 필요로 하는 시스템에 적용되어 곱셈기 및 시스템의 성능 향상을 시키는 효과가 있다.
Claims (4)
- N비트로 이루어진 이진수를 2의 보수로 변환하기 위한 2의 보수 변환 장치에 있어서,상기 N비트의 이진수를 M비트로 각각 나누어 입력받아 소정의 논리 연산 동작을 수행하기 위한 적어도 하나의 논리 연산 수단;상기 M비트를 입력받아 논리합하기 위한 적어도 하나의 논리합 수단; 및상기 논리합 수단으로부터의 출력 신호에 응답하여 상기 논리 연산 수단으로부터의 출력 데이터 및 반전된 상기 M비트 데이터 중 하나를 선택하여 상기 이진수의 2의 보수로 출력하기 위한 적어도 하나의 선택 수단을 포함하여 이루어지는 고속 동작을 위한 2의 보수 변환 장치.
- 16비트로 이루어진 이진수를 2의 보수로 변환하기 위한 2의 보수 변환 장치에 있어서,상기 이진수의 최하위 제1 내지 제4 비트 데이터를 입력받아 소정의 논리 연산 동작을 수행하여 상기 2의 보수의 최하위 제1 내지 제4 비트 데이터를 출력하기 위한 제1 논리 연산 수단;상기 제1 내지 제4 비트 데이터를 입력받아 논리합하기 위한 제1 논리합 수단;상기 제4 비트 데이터의 그 다음 상위 비트 데이터인 제5 비트 내지 제8 비트 데이터를 입력받아 소정의 논리 연산 동작을 수행하기 위한 제2 논리 연산 수단;상기 제1 논리합 수단으로부터의 출력 신호에 응답하여 상기 제2 논리 연산 수단으로부터 출력되는 데이터 및 반전된 상기 제5 비트 내지 제8 비트 데이터 중 하나를 선택하여 상기 2의 보수의 제5 비트 내지 제8 비트 데이터로 출력하기 위한 제1 선택 수단;상기 제8 비트 데이터의 그 다음 상위 비트 데이터인 제9 비트 내지 제12 비트 데이터 및 상기 제1 논리합 수단으로부터의 출력 신호를 입력받아 논리합하기 위한 제2 논리합 수단;상기 제9 비트 내지 제12 비트 데이터를 입력받아 소정의 논리 연산 동작을 수행하기 위한 제3 논리 연산 수단;상기 제2 논리합 수단으로부터의 출력 신호에 응답하여 상기 제3 논리 연산 수단으0로부터 출력되는 데이터 및 반전된 상기 제9 비트 내지 제12 비트 데이터 중 하나를 선택하여 상기 2의 보수의 제9 비트 내지 제12 비트 데이터로 출력하기 위한 제2 선택 수단;상기 제12 비트 데이터의 그 다음 상위 비트 데이터인 제13 비트 내지 제16 비트 데이터 및 상기 제2 논리합 수단으로부터의 출력 신호를 입력받아 논리합하기 위한 제3 논리합 수단;상기 제13 비트 내지 제16 비트 데이터를 입력받아 소정의 논리 연산 동작을 수행하기 위한 제4 논리 연산 수단; 및상기 제3 논리합 수단으로부터의 출력 신호에 응답하여 상기 제4 논리 연산 수단으로부터 출력되는 데이터 및 반전된 상기 제13 비트 내지 제16 비트 데이터 중 하나를 선택하여 상기 2의 보수의 제13 비트 내지 제16 비트 데이터로 출력하기 위한 제3 선택 수단을 포함하여 이루어지는 고속 동작을 위한 2의 보수 변환 장치.
- 제 2 항에 있어서, 상기 제1 내지 제4 논리 연산 수단은 각각,입력되는 4비트 데이터 중 최하위 제17 비트 데이터를 입력받아 버퍼링하여 출력하기 위한 버퍼링 수단;상기 최하위 제17 비트 데이터 및 상기 최하위 제17 비트의 그 다음 상위 비트 데이터인 제18 비트 데이터를 입력받아 배타적 논리합하기 위한 제1 배타적 논리합 수단;상기 최하위 제17 비트 데이터 및 상기 제18 비트 데이터를 입력받아 논리합하기 위한 제4 논리합 수단;상기 제4 논리합 수단으로부터의 출력 신호 및 상기 제18 비트 데이터의 그 다음 상위 비트 데이터인 제19 비트 데이터를 입력받아 배타적 논리합하기 위한 제2 배타적 논리합 수단;상기 최하위 제17 비트 데이터, 상기 제18 비트 데이터 및 상기 제19 비트 데이터를 입력받아 논리합하기 위한 제5 논리합 수단; 및상기 제5 논리합 수단으로부터의 출력 신호 및 상기 제19 비트 데이터의 그 다음 상위 비트 데이터인 제20 비트 데이터를 입력받아 배타적 논리합하기 위한 제3 배타적 논리합 수단을 포함하여 이루어지는 고속 동작을 위한 2의 보수 변환 장치.
- 제 2 항 또는 제 3 항에 있어서, 상기 제1 내지 제3 선택 수단은 각각,상기 제1 내지 제3 논리합 수단으로부터 출력되는 신호가 "0"인 경우 상기 제2 내지 제2 내지 제4 논리 연산 수단으로부터 출력되는 데이터를 각각 선택하여 출력하는 것을 특징으로 하는 고속 동작을 위한 2의 보수 변환 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR2019980020666U KR200232068Y1 (ko) | 1998-10-28 | 1998-10-28 | 고속 동작을 위한 2의 보수 변환 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR2019980020666U KR200232068Y1 (ko) | 1998-10-28 | 1998-10-28 | 고속 동작을 위한 2의 보수 변환 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000008811U true KR20000008811U (ko) | 2000-05-25 |
KR200232068Y1 KR200232068Y1 (ko) | 2001-08-07 |
Family
ID=69521928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR2019980020666U KR200232068Y1 (ko) | 1998-10-28 | 1998-10-28 | 고속 동작을 위한 2의 보수 변환 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR200232068Y1 (ko) |
-
1998
- 1998-10-28 KR KR2019980020666U patent/KR200232068Y1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR200232068Y1 (ko) | 2001-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3636334A (en) | Parallel adder with distributed control to add a plurality of binary numbers | |
US5299145A (en) | Adder for reducing carry processing | |
US3938087A (en) | High speed binary comparator | |
US5129066A (en) | Bit mask generator circuit using multiple logic units for generating a bit mask sequence | |
KR200232068Y1 (ko) | 고속 동작을 위한 2의 보수 변환 장치 | |
CN115102553B (zh) | 二进制码转温度计码的装置和电子设备 | |
US4954978A (en) | Priority order decomposing apparatus | |
EP0661820B1 (en) | Parallel-to-serial data conversion circuit | |
US5777906A (en) | Left shift overflow detection | |
US5379038A (en) | Parallel-serial data converter | |
KR100663679B1 (ko) | 고속 가산기 | |
US6522690B1 (en) | Zero determination signal generating circuit | |
US6343303B1 (en) | Method of determining a scaling factor | |
KR970005599B1 (ko) | 디지탈 코릴레이션 값을 얻기 위한 회로 | |
CN114895868B (zh) | 基于两位商计算的除法运算单元及除法器 | |
KR100188088B1 (ko) | 2진 데이타의 수치연산장치 | |
KR970005175A (ko) | 파이프라인 구조에 근거한 곱셈/나눗셈 공유 처리기 구조 | |
KR950010571B1 (ko) | 라운딩 회로 | |
US5216424A (en) | Binary data converter | |
KR100196520B1 (ko) | 면적 개선을 위한 2의보수 변환 장치 | |
US7349937B2 (en) | Fast incrementer using zero detection and increment method thereof | |
KR20070069288A (ko) | 그레이 코드 변환 장치 | |
US4933894A (en) | Circuit and method for adding binary numbers with a difference of one or less | |
KR0182169B1 (ko) | 로그값 계산회로 | |
SU401994A1 (ru) | УСТРОЙСТВО дл ОПРЕДЕЛЕНИЯ МИНОРАНТ ДВОИЧНЫХ КОДОВ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
REGI | Registration of establishment | ||
FPAY | Annual fee payment |
Payment date: 20060502 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |