KR100188088B1 - 2진 데이타의 수치연산장치 - Google Patents
2진 데이타의 수치연산장치 Download PDFInfo
- Publication number
- KR100188088B1 KR100188088B1 KR1019910005663A KR910005663A KR100188088B1 KR 100188088 B1 KR100188088 B1 KR 100188088B1 KR 1019910005663 A KR1019910005663 A KR 1019910005663A KR 910005663 A KR910005663 A KR 910005663A KR 100188088 B1 KR100188088 B1 KR 100188088B1
- Authority
- KR
- South Korea
- Prior art keywords
- bit
- value
- input
- bits
- inversion
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
Abstract
본 발명은 부호비트를 갖는 2진 데이타의 수치연산 장치에 있어, 입력되는 2의 보수값에 대해 반전 및 보전비트를 구분하는 비트선택부와, 이 선택부 출력과 그리고 부호비트를 입력으로하여 양의 수에 대해 전체를 보전하기 위한 양의 수 처리부와, 이 처리부 출력과 상기 입력비트의 반전 및 보전으로 구분된 비트를 입력비트에 대해 반전 및 보전을 행하여 출력하는 절대값 출력부로 구성되어 2의 보수값으로 부터 절대값을 생성해내도록 된 것을 특징으로 하는 2진 데이타의 수치연산 장치에 관한 것이다.
Description
제1도는 종래의 예를 나타낸 도면.
제2도는 본 발명에 따른 구성예이다.
제3도 및 제4도는 본 발명의 변형예를 나타낸 구성도이다.
본 발명은 수치연산용 장치 구현에 관한 것으로, 특히 2진 데이타로 표시된 수치의 절대값을 가산기 없이 간단한 로직만으로 구현하여 칩사용 면적의 감소와 설계의 용이성 및 고속처리가 가능하도록 한 수치연산을 위한 장치에 관한 것이다.
응용에 따라서는 얻어진 데이타 또는 임의의 수치의 절대값을 필요로하는 경우가 있다. 컴퓨터 또는 포터블 타입의 계산기, 신호처리 장치 또는 제어장비등에 있어 수치연산은 반드시 요구되고 막대한 양의 계산처리를 위해서 소프트웨어만에 의존하는 것은 비현실적이기 때문에 수치연산을 위한 별도의 하드웨어가 요구된다.
수치연산중, 2진 데이타로 표시된 수치의 절대값을 요하는 경우에 대해서 하드웨어로 실행되는 종래의 예를보면 제1도에 도시한 바와같이 다수의 가산기와 비트선택수단으로 연결 구성되는데 이를 형성케하는 기본 알고리즘은 양의 수치에 대해서는 변동없이 그대로 출력하고 음의 수치에 대해서는 부호비트를 갖도록 데이타 포맷된 값에 대해 부호비트를 제외한 전체 비트를 반전시킨 후 이 값에 2진수 '1'값을 더하므로서, 즉 2의 보수값으로 부터 절대값을 취하도록 하고 있다.
일예로서, 양의 십진수'+10'의 값의 경우에 대해 종래의 회로는 2진 수로 표기할 때 '0 000 1010'으로 표기되므로 부호비트는 먼저 2입력중 어느 하나만을 선택하여 출력하는 멀티플렉서의 재어단자에 입력되어 '0'일 경우 'I1'을 선택하도록 연결하면, 상기의 2진 데이타는 출력으로 변동없이 그대로 출력된다. 한편, 음의 십진수 '-10'값의 경우에 대해, 부호비트를 포함하여 2의 보수값으로 이를 표기할 때 이는 '1 111 0110'이 되므로 부호비트는 멀티플렉서로 하여금 입력(I2)를 선택하도록 하고, 멀티플렉서의 각 'I2'입력단자에 연결되는 값은 반전된 입력비트와 접지된 또 다른 입력과의 가산을 행하는 전가산기로부터 얻어진다. 따라서 출력은 '000 1001'이 되나 최하위비트(LSB)에 대해서 캐리입력(CI)에 고정된 '1'값을 항시 넣어주므로 '000 1010'이 되어 '-10'에 대한 절대값 '10'이 얻어진다.
상기와 같이 2의 보수 개념에서 나온 하드웨어 구성은 반드시 비트마다 전가산기 및 부호비트에 따른 멀티플렉서등이 구비되어야 하기 때문에 칩 면적의 증대뿐만 아니라 고속연산측면에서 신호지연에 따른 연산속도의 제한이 수반되어 보다 효율적인 알고리즘 내지는 하드웨어 구성이 요구된다. 더우기 제안되는 알고리즘은 소프트웨어상으로도 처리가능하지만 하드웨어 구성에서 이에 따른 고속의 연산을 수행할 것이 또한 요구된다.
본 발명은 이러한 배경하에서 이루어진 것으로, 본 발명에 따른 알리고즘은 입력비트중 반전비트와 보전비트 두 부분으로 경우에 따라 구분하여 2의 보수값으로 부터 절대값을 얻도록 하는 것이며 이 알고리즘에 의해 논리게이트만의 간단한 조합만으로 실현되어 연산수행속도 및 칩 면적 할용의 효율화를 갖도록 한 수치연산용 장치 및 상기한 알고리즘 제공을 목적으로 한다.
본 발명에 따라 실시된 구체적인 일예가 제2도에 도시되었으나, 이를 설명하기에 앞서 본 발명에 따른 알고리즘을 기술한다.
2의 보수값에서 절대값을 얻는 종래의 과정을 다시 고찰해 보면, 양의 수인 경우에는 전체가 '보전'되고, 음의 수인 경우에는 전체비트를 반전시킨 후 1을 더하는 형식을 취하는 것인데, 이 때 전체비트를 반전시킨 후 '1' 값을 더하는 과정은 입력된 2의 보수값을 반전시킨 값에 대하여 최하위 비트(LSB)에 더해진다. LSB의 값이 '1'인 경우에는 캐리가 발생하여 2번째 LSB에 '1'이 더해지게 된다. 이와같은 과정은 '0'비트가 나타날 때까지 반복하게 된다. 이때 '1'이 더해진 후의 LSB는 '보전'되는 값이다. '보전'의 개념은 앞에서 제시되었는데 그것은 입력비트값이 변화없이 출력됨을 의미한다. 그리고 2번째 LSB의 경우에 있어서도 LSB에서 캐리가 발생하여 '1'이 더해지는 경우 반전의 반전이 되므로 원래의 입력값이 '보전'된다.
이와 같은 과정은 LSB로 부터 반전된 값을 기준으로 하여 첫째 '0'의 비트가 나타날 때까지 반복된다.
이 과정은 입력과 출력과의 관계에서 입력된 2의 보수값이 음의 수일 경우에 입력된 보수값 중 LSB로 부터 MSB쪽으로 첫번째 '1'의 값이 나타나는 비트까지는 '보전'됨을 의미하고, 그이상의 상위비트는 '반전'됨을 의미하는 것이다.
동적으로 보전비트 부분과 반전비트 부분이 구분되어 본 발명의 알고리즘이 2의 보수값으로 부터 절대값을 얻도록 하고 있다.
예를들어 십진수 '-10'에 대한 2진수 표현은 2의 보수값 표현으로 '1 111 0110'인데, 이것의 절대값은 '000 1010'이다.
따라서, 비트(B0,B1)은 '보전'비트이고, 나머지는 '반전'비트임을 알 수 있고 이러한 논리는 상기 설명으로 부터 뒷받침된다.
제2도는 본 발명 알고리즘을 하드웨어적으로 실현시키는 구성예를 나타낸 것이다.
본 발명의 2진 데이타의 수치연산장치에 있어 그 구성은 제2도와 같이 부호비트를 포함하는 2의 보수값의 LSB와 MSB비트를 제외한 각 비트에 연결되는 OR논리 게이트를 갖고 상위비트의 OR게이트는 하위비트의 OR논리된 값을 받도록 연결하여 된 반전 및 보전비트 선택부(1)와, 이 선택부 출력과 그리고 부호비트를 입력으로 하는 AND게이트로 구성되어 양의 수에 대해 전체를 보전하기 위한 양의 수 처리부(2)와, 이 처리부 출력과 상기 입력비트를 배타논리(XOR)하여 반전 및 보전으로 구분된 비트를 입력비트에 대해 반전 및 보전을 행하여 출력하는 절대값 출력부(3)로 구성되어 2의 보수값으로 부터 절대값을 생성해 내도록 된 것을 특징으로 한다.
구체적인 수치를 예로하여 상기한 하드웨어 동작에 관해 설명한다.
예를들어, 십진수 '108'의 값에 대한 양, 음수의 2진 데이타 표시는 다음과 같다.
먼저, 양의 수는 그대로 출력되어야 한다. 제2도 회로에서 입력된 비트 (B1~B5)는 OR게이트에 의해 반전부분과 보전부분으로 구분된다. 그러나 양의 수는 모두 '보전'되어야 하므로 부호입력값이 '0'으로 AND에 입력되는 AND게이트들에 의해서 그 출력은 모두 '0'만을 출력한다. 그러나 연이은 절대값 출력부의 XOR는 AND게이트로 부터 0값을 받아 버퍼로 작용하므로 이에 입력되는 입력 비트값들이 변경없이 그대로 출력된다.
음의 수에 대해서, 먼저 OR게이트들로 구성된 보전 및 반전부분 구분이 이루어짐은 상기한 바와같다. 이 때 AND게이트에는 부호 비트가 '1'로 공급되므로 이 게이트는 단순히 버퍼로만 작용되어 그 출력이 그대로 절대값 출력부인 XOR게이트로 공급된다. XOR은 '1'값이 입력되고 있을 때 다른 입력에 대해서 인버터로 동작되므로 현재의 경우에 출력비트(B3~B5)는 입력을 반전시키고 출력비트(B0~BZ)는 보전되어 나타난다.
그러나 경우에 따라서는 입력되는 수치의 특성으로 오버플로(overflow)가 발생될 수 있고 또한 전혀 다른 수치의 데이타가 얻어질 수도 있다.
제3도 및 제4도는 상기한 각각의 경우에 대해 이를 고려하여 취해진 회로 구성도이나 그 어느 것이라도 본 발명의 알고리즘하에서 이루어 진 것이다.
제3도는 입력 수치값이 '-128'일 경우 발생되는 오버플로의 방지를 위한 회로를 도시한 것이며, 이 때의 출력값은 '127'값으로 보정하는 절대값 출력회로의 수정예를 나타낸 것이다.
그리고 제4도는 절대값을 2의 보수로 만드는 회로의 구성예로서 입력이 0일때의 출력이 '-128'이 되는 것을 보정하는 절대값 회로의 수정예를 나타낸 것이며 그 작용은 회로로 부터 명백하다.
본 발명은 2의 보수값으로 부터 절대값 생성은 보전비트와 반전비트가 있음을 이용하는 것으로 이는 본 발명에 의한 것이다.
더우기 본 발명은 가산기를 사용하지 않으므로 매우 간단하게 구성되어 신호지연이 거의 없어 고속 수행이 가능하다.
Claims (2)
- 부호 비트를 갖는 양의 수 비트와, 2의 보수값으로 변환된 음의 수 비트에 대한 2진 데이터의 수치연산 장치에 있어서, 상기 부호 비트와 LSB와 MSB 비트를 제외한 각 비트에 연결되는 다수의 OR논리 게이트로 이루어져, 출력값이 '0' 또는 '1'인지에 따라 반전 및 보전 비트를 구분하는 반전 및 보전 구분 선택부와; 상기 부호비트와 상기 반전 및 보전 구분 선택부의 출력을 입력으로 하는 AND논리 게이트로 이루어져 양의 수에 대한 비트값을 그대로 보전하여 출력하는 양의수 처리부와; 상기 양의 수 또는 음의 수에 대한 2진비트값와 상기 양의수 처리부의 출력을 입력으로하는 XOR논리 게이트로 이루어져, 입력 비트가 절대값으로 출력되도록 하는 절대값 출력부로 구성되어, 2의 보수값으로부터 절대값을 생성해내도록 된 것을 특징으로 하는 2진 데이타의 수치 연산 장치.
- 제1항에 있어서, 상기한 반전 및 보전 구분 선택부는 상위 비트의 OR논리 게이트가 하위 비트의 OR논리 게이트의 출력값을 입력으로 하도록 연결되며, 상기 양의수 처리부는 상기 반전 및 보전 구분 선택부의 OR논리 게이트의 수보다 하나 많은 AND논리 게이트로 구성되고, 상기 절대값 출력부는 상기 양의수 처리부를 구성하는 AND논리 게이트의 수와 동일한 수의 XOR논리 게이트로 구성되는 것을 특징으로 하는 2진 데이타의 수치연산 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019910005663A KR100188088B1 (ko) | 1991-04-09 | 1991-04-09 | 2진 데이타의 수치연산장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019910005663A KR100188088B1 (ko) | 1991-04-09 | 1991-04-09 | 2진 데이타의 수치연산장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR920020311A KR920020311A (ko) | 1992-11-21 |
KR100188088B1 true KR100188088B1 (ko) | 1999-06-01 |
Family
ID=19313062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019910005663A KR100188088B1 (ko) | 1991-04-09 | 1991-04-09 | 2진 데이타의 수치연산장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100188088B1 (ko) |
-
1991
- 1991-04-09 KR KR1019910005663A patent/KR100188088B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR920020311A (ko) | 1992-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3993891A (en) | High speed parallel digital adder employing conditional and look-ahead approaches | |
US4953115A (en) | Absolute value calculating circuit having a single adder | |
US4785421A (en) | Normalizing circuit | |
US4463342A (en) | Method and means for carry-over control in the high order to low order pairwise combining of digits of a decodable set of relatively shifted finite number strings | |
US3576984A (en) | Multifunction logic network | |
US4122527A (en) | Emitter coupled multiplier array | |
US4110831A (en) | Method and means for tracking digit significance in arithmetic operations executed on decimal computers | |
US4709345A (en) | Apparatus for executing Chinese remainder theorem for residue decoding through quotient-remainder conversion | |
KR100188088B1 (ko) | 2진 데이타의 수치연산장치 | |
US5270962A (en) | Multiply and divide circuit | |
US5341322A (en) | Bit level pipeline divide circuit and method therefor | |
US4866657A (en) | Adder circuitry utilizing redundant signed digit operands | |
EP0670061A1 (en) | IMPROVED FAST MULTIPLIER. | |
JPH05204602A (ja) | 制御信号の方法と装置 | |
US5357235A (en) | Parallelized magnitude comparator | |
US6065034A (en) | Circuit and method employing an adder for sign extending operands | |
KR20050040355A (ko) | 감소된 면적을 갖는 캐리 예측 가산기 | |
KR100223752B1 (ko) | 병렬 곱셈기 | |
US7240085B2 (en) | Faster shift value calculation using modified carry-lookahead adder | |
Lutz et al. | Comparison of two's complement numbers | |
KR100203742B1 (ko) | 멀티플렉스를 이용한 가산기 | |
KR100196520B1 (ko) | 면적 개선을 위한 2의보수 변환 장치 | |
KR200232068Y1 (ko) | 고속 동작을 위한 2의 보수 변환 장치 | |
KR100431354B1 (ko) | 곱셈기 회로 | |
JP2907276B2 (ja) | 演算処理装置 |
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 | ||
FPAY | Annual fee payment |
Payment date: 20080102 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |