KR20000008811U - 고속 동작을 위한 2의 보수 변환 장치 - Google Patents

고속 동작을 위한 2의 보수 변환 장치 Download PDF

Info

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
Application number
KR2019980020666U
Other languages
English (en)
Other versions
KR200232068Y1 (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 KR2019980020666U priority Critical patent/KR200232068Y1/ko
Publication of KR20000008811U publication Critical patent/KR20000008811U/ko
Application granted granted Critical
Publication of KR200232068Y1 publication Critical patent/KR200232068Y1/ko

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

본 고안은 2의 보수로 변환하고자하는 이진수를 소정의 비트 단위로 나누어 상기 단위별로 2의 보수 변환 동작을 수행함으로써 지연 경로를 줄인 고속 동작을 위한 2의 보수 변환 장치를 제공하기 위한 것으로, 이를 위해 본 고안은 N비트로 이루어진 이진수를 2의 보수로 변환하기 위한 2의 보수 변환 장치에 있어서, 상기 N비트의 이진수를 M비트로 각각 나누어 입력받아 소정의 논리 연산 동작을 수행하는 적어도 하나의 논리 연산 수단; 상기 M비트를 입력받아 논리합하는 적어도 하나의 논리합 수단; 및 상기 논리합 수단으로부터의 출력 신호에 응답하여 상기 논리 연산 수단으로부터의 출력 데이터 및 반전된 상기 M비트 데이터 중 하나를 선택하여 상기 이진수의 2의 보수로 출력하는 적어도 하나의 선택 수단을 포함한다.

Description

고속 동작을 위한 2의 보수 변환 장치
본 고안은 산술 장치(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)

  1. N비트로 이루어진 이진수를 2의 보수로 변환하기 위한 2의 보수 변환 장치에 있어서,
    상기 N비트의 이진수를 M비트로 각각 나누어 입력받아 소정의 논리 연산 동작을 수행하기 위한 적어도 하나의 논리 연산 수단;
    상기 M비트를 입력받아 논리합하기 위한 적어도 하나의 논리합 수단; 및
    상기 논리합 수단으로부터의 출력 신호에 응답하여 상기 논리 연산 수단으로부터의 출력 데이터 및 반전된 상기 M비트 데이터 중 하나를 선택하여 상기 이진수의 2의 보수로 출력하기 위한 적어도 하나의 선택 수단
    을 포함하여 이루어지는 고속 동작을 위한 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의 보수 변환 장치.
  3. 제 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의 보수 변환 장치.
  4. 제 2 항 또는 제 3 항에 있어서, 상기 제1 내지 제3 선택 수단은 각각,
    상기 제1 내지 제3 논리합 수단으로부터 출력되는 신호가 "0"인 경우 상기 제2 내지 제2 내지 제4 논리 연산 수단으로부터 출력되는 데이터를 각각 선택하여 출력하는 것을 특징으로 하는 고속 동작을 위한 2의 보수 변환 장치.
KR2019980020666U 1998-10-28 1998-10-28 고속 동작을 위한 2의 보수 변환 장치 KR200232068Y1 (ko)

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)

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
KR960042416A (ko) 최대값 선택회로
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
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) 디지탈 코릴레이션 값을 얻기 위한 회로
KR100188088B1 (ko) 2진 데이타의 수치연산장치
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
RU2149442C1 (ru) Устройство для умножения по модулю семь
KR100203742B1 (ko) 멀티플렉스를 이용한 가산기
US20030074385A1 (en) Providing a fast adder for processor based devices
SU424142A1 (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