KR19990003845A - 디지털 시스템의 절대값 계산방법 및 장치 - Google Patents
디지털 시스템의 절대값 계산방법 및 장치 Download PDFInfo
- Publication number
- KR19990003845A KR19990003845A KR1019970027808A KR19970027808A KR19990003845A KR 19990003845 A KR19990003845 A KR 19990003845A KR 1019970027808 A KR1019970027808 A KR 1019970027808A KR 19970027808 A KR19970027808 A KR 19970027808A KR 19990003845 A KR19990003845 A KR 19990003845A
- Authority
- KR
- South Korea
- Prior art keywords
- bits
- bit
- output
- absolute value
- mux
- 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
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/506—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
- G06F7/507—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using selection between two conditionally calculated carry or sum values
-
- 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
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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 for evaluating functions by calculation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/544—Indexing scheme relating to group G06F7/544
- G06F2207/5442—Absolute difference
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
본 발명은 디지털 시스템에서 절대값을 계산하는 절대값 계산 방법 및 장치에 관한 것으로서, 본 발명은 n 디지트 수 ()의 최상위 비트(dn-1)를 조사하여 양수(dn-1=0)이면 모든 비트를 그대로 출력하여 절대값을 구한다. 음수(dn-1=1)이면 마지막 비트(d0)부터 그 다음 상위 비트를 차례로 조사하여 첫번째로 1인 비트(dk)를 찾고, 첫번째로 1인 비트를 포함한 모든 하위 비트는 그대로 출력하고, 그외 모든 상위 비트는 반전시켜 절대값(
Description
본 발명은 디지털 시스템에서 절대값을 계산하는 절대값 계산 방법 및 장치에 관한 것이다.
디지털 시스템은 '0'과 '1'로 모든 수를 표현하여 처리하는 이진 처리 시스템으로서, 수를 표현하는 데 있어 부호-크기 체계(signed magnitude system)와, 보수 체계(complement system)가 있으며, 보수 체계에는 1의 보수(1's complement)와 2의 보수(2's complement)가 있다.
부호-크기 체계는 수의 크기와 그 크기가 양(+)인지 음(-)인지를 나타내는 부호로 구분된다. 통상 최대유효비트(MSB:most significant bit)는 부호비트(0=플러스, 1=마이너스)로 사용되며 하위 비트들은 크기를 포함한다. 부호-크기 수를 연산하는 디지털 논리 회로는 부호 및 크기를 비교 조사한 후 연산을 수행해야 하므로 복잡한 구성을 갖는다. 반면, 보수 체계는 보수를 취해서 수를 부정시킨다. 즉, 2의 보수는 수의 각 디지트마다 보수를 취하고 최소유효비트(LSB:lest significant bit)에 1을 덧셈하여 얻어진다. 이진수에 대해 MSB 를 부호 비트로 취급하고, MSB 가 1일 경우 음수, 0일 경우 양수가 된다[0(zero)은 부호비트가 0이므로 양수로 취급]. 1의 보수는 수의 각 디지트의 보수를 취하여 얻어지며, MSB 를 부호 비트로 취급하고, MSB가 1일 경우 음수, 0일 경우 양수가 된다. 이때 0(zero)은 양의 0(00…0), 음의 0(111…1)두가지 표현이 되고, 양수의 경우는 1의 보수와 2의 보수가 똑같이 표현된다. 1의 보수 시스템은 대칭성과 보수화가 쉽다는 장점이 있으나, 1의 보수 시스템에서는 영-검출회로로 영(zero)의 두가지 표현을 조사해야 하고, 2의 보수 시스템에 비해 연산 회로가 다소 복잡하다.
2의 보수 시스템은 양수 음수의 구별없이 직접 연산할수 있어 연산 회로가 간단하고, 최종결과가 오버플로우(overflow)가 아니면 올바른 결과를 얻을 수 있다. 따라서, 대부분의 산술 연산 시스템에 있어 2의 보수 체계가 사용되고 있다.
도 1은 종래의 절대값 계산 회로로서, 2의 보수 시스템의 절대값 계산 회로는 n 비트 레지스터(10)와, 반전부(11), 가산기(12) 및, 멀티플렉서(13)로 구성되어 있다. n비트 레지스터의 MSB가 상기 멀티플렉서(13)의 선택신호(SEL)로 제공된다. 만약, 양수(MSB=0)이면 그대로 통과 시키고, 음수(MSB=1)이면 상기 반전부(11)를 통해 각 비트를 반전시킨 후, 가산기(12)를 거쳐 1을 가산하여 절대값을 구한다. 종래의 절대값 계산 회로에서 면적 및 처리 시간등을 고려해 볼 때, 가산기에 의해 상당한 면적 및 시간이 소요되는 문제점이 있었다.
이에, 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 절대값 계산에 있어 가산과정 없이 절대값을 구하는 방법 및 장치를 제공하는 데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 방법은, 2의 보수 n디지트 수 ()의 최대유효비트(dn-1)를 조사하여 양수(dn-1=0)이면 모든 비트를 그대로 출력하여 절대값을 구하는 단계와, 음수(dn-1=1)이면 최소유효비트(d0)부터 시작하여 상위 비트를 차례로 조사하여 첫번째로 1인 비트(dk)를 찾는 단계, 첫번째로 1인 비트를 포함한 모든 하위 비트는 그대로 출력하고, 그외 나머지 상위 비트를 반전시켜 절대값()을 구하는 단계를 포함하여 구성되는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명의 장치는 n 비트 레지스터와, 상기 n 비트 레지스터로부터 병렬출력된 n비트를 입력 받아, 최소유효비트(LSB, d0)는 그대로 출력하여 변환 비트의 최소유효비트(LSB, D0)로 하고, 나머지 비트들은 현 비트(dk) 이전까지 변환된 비트(Dk-1,…,D0)들의 논리 조합 결과에 따라 반전 여부를 결정하여 현 비트(dk)를 반전시키거나 혹은 그대로 출력하여, 변환된 n 비트(Dn-1,…,D0)를 병렬출력하는 변환부, 상기 n비트 레지스터의 최대유효비트(MSB,dn-1)에 따라 상기 n 비트 레지스터의 출력 데이터 n비트 혹은 상기 변환부의 출력 데이터 n비트를 선택적으로 출력하는 2입력-1출력 멀티플렉서를 포함하여 구성되는 것을 특징으로 한다.
도 1은 종래의 절대값 계산 회로도,
도 2는 본 발명에 따른 절대값 계산 방법을 설명하기 위한 흐름도,
도 3은 본 발명에 따른 절대값 계산 회로도,
도 4는 도 3의 변환부에 대한 상세 회로도이다.
* 도면의 주요부분에 대한 부호의 설명
30 : n 비트 레지스터 31 : 변환부 32 : 멀티플렉서
N1∼Nn-1: NOT 게이트 MUX1∼MUXn-1: 멀티플렉서OR1∼ORn-2: OR 게이트
이하, 첨부된 도면을 참조하여 본 발명을 자세히 설명하기로 한다.
우선, 본 발명의 이해를 돕기 위해 2의 보수 체계의 9비트 음수에 대해 절대값을 계산해 보면 다음 표 1과 같다.
음수decimal | 절대값 변환D=d8d7d6d5d4d3d2d1d0―|D|=D8D7D6D5D4D3D2D1D0 |
-1 | 111111111 ― 000000001 (+1) |
-2 | 111111110 ― 000000010 (+2) |
-3 | 111111101 ― 000000011 (+3) |
-4 | 111111100 ― 000000100 (+4) |
: | : |
-255 | 100000001 ― 011111111 (+255) |
상기 표 1에서 보는 바와 같이, 음수 D 와 그 절대값 |D|의 동일한 자리 비트를 각각 비교해보면, 일정한 규칙을 발견할 수 있다. 절대값 |D|의 최소유효비트 D0는 입력 비트의 치소유효비트(d0)와 동일하다. 그리고, 최소유효비트(D0)가 '0'이면 그 다음 상위 비트(D1)도 입력 비트(d1)와 동일하고, 최소유효비트(D0)가 '1'이면 그 다음 상위 비트(D1)는 반전된 입력 비트()이다. 일단, 절대값에서 '1'이 한번 나오게 되면 그 다음 상위 비트는 모두 반전된 입력 비트를 갖는다.
이를 다시 말하면, 절대값|D|은 음수 D 의 최소유효비트(LSB)부터 조사하여 최초로 1인 비트를 포함한 하위 비트는 그대로 사용되고, 그외 나머지 상위 비트는 반전된다는 것이다.
이어서, 이와 같은 규칙을 적용한 본 발명의 알고리즘을 제시한 후, 알고리즘을 적용한 논리 회로를 구현하겠다.
도 2는 본 발명에 따른 절대값 계산 방법을 설명하기 위한 흐름도이다. 2의 보수(2's complement) 체계에서 n비트 수는와 같이 표현된다. 여기서, 최대유효비트(MSB) dn-1는 수의 부호(Sign)비트로서, dn-1=0 은 양수이고, dn-1=1 은 음수이다. 그리고, dk는 웨이트 2k임을 나타낸다(S1).
2의 보수 n디지트 수 ()의 최대유효비트(dn-1)를 조사하여 양수인지 음수인지를 결정한다(S2). 양수(dn-1=0)이면 모든 입력 비트를 그대로 출력하여 절대값()을 구한다(S3). 음수(dn-1=1)이면 입력비트의 최소유효비트(d0)부터 그 다음 상위 비트를 차례로 조사하여 첫번째로 1인 비트(dk)를 찾는다(S4,S5). 첫번째로 1인 비트(dk)를 포함한 모든 하위 비트는 그대로 출력하고, 나머지 상위 비트는 모두 반전시켜 절대값()을 구한다(S6).
도 3은 본 발명에 따른 절대값 계산 회로도로서, 본 발명은 n비트 레지스터(30)와, 변환부(31) 및, 멀티플렉서(32)로 구성되어 있다.
상기 변환부(31)는 상기 n 비트 레지스터(30)로부터 병렬 출력된 비트들(dn-1…d1d0)을 입력 받아, 최소유효비트(d0)는 그대로 출력하고, 나머지 변환 비트들은 현 비트(dk) 이전까지 변환된 비트(Dk-1,…D0)들의 논리 조합에 따라 현 비트(dk)의 반전여부를 결정하여 반전 혹은 그대로 출력한다.
상기 멀티플렉서(32)는 n 비트의 MSB 비트(dn-1)를 선택신호(SEL)로 제공받아, 상기 n비트 레지스터(30)의 출력 데이터 혹은 상기 변환부(31)의 출력 데이터를 선택적으로 출력한다.
도 4는 도 3의 변환부에 대한 상세 회로도로서, 입력 비트중 최소유효비트(LSB)는 바뀌지 않고, 항상 원래대로 값을 유지하며, 나머지 비트들은 이전까지 변환된 비트들의 영향에 따라 반전 여부가 결정된다.
변환부(31)는 상기 n비트 레지스터(30)로부터 제공된 n비트중에서 최소유효비트(LSB, d0)를 제외한 모든 입력 비트를 각각 반전 시키는 NOT게이트들(N1∼Nn-1)와, 최소유효비트(LSB, d0)를 제외한 모든 입력 비트 및 입력 비트에 상응하는 상기 NOT 게이트(N1∼Nn-1)의 출력 비트를 입력받아 선택적으로 출력하는 멀티플렉서들(MUX1∼MUXn-1) 및, 상기 멀티플렉서(MUX2∼MUXn-1)의 선택신호(SEL2∼SELn-1)를 제공하는 OR 게이트들(OR1∼ORn-2)로 구성되어 있다.
여기서, 웨이트 21의 변환 비트(D1)를 출력하는 멀티플렉서(MUX1)는 최하위 비트(d0=D0)를 선택신호(SEL1)로 제공받고, 웨이트 2k의 변환 비트(Dk:2≤k≤n-1)를 위한 멀티플렉서(MUXk)는 상기 OR 게이트(ORk-1)로부터 출력된 비트를 선택신호(SELk)로 제공받는다. 즉, 상기 OR 게이트(ORk-1)는 변환된 하위 비트값(DK-1)과 발생된 하위 선택신호(SELk-1)를 입력받아 논리합 연산하여 선택신호(SELk)를 상기 멀티플렉서(MUXk)로 제공한다.
상기 도 4의 변환부의 작용을 설명하기 위해 변환되는 과정을 간단히 표 2와 같이 나타내었다.
상기 표 2에서 di는 입력된 비트이고, Di는 상기 변환부(31)를 통해 출력된 변환비트이다. 변환비트의 최소유효비트는 입력된 비트와 동일하고, 그 다음 상위 변환비트들은 하위 변환비트들의 논리 조합(논리합 연산) 결과(SELi)에 따라 반전 여부가 결정된다. 그 결과가 '0'이면 변환 비트는 입력 비트와 동일하고, 결과가 '1'이면 출력 비트는 반전된 입력 비트이다. 예를 들어, 음수 111111111(-1)은 000000001(+1)으로 변환되고, 음수 111111110(-2)는 000000010(+2) 로 변환되는 등 정확한 절대값을 얻을 수 있다.
이상에서 살펴본 바와 같이, 본 발명은 종래의 가산기 대신에, 멀티플렉서와 OR게이트만을 사용하여 음수에 대한 절대값을 계산해내므로써, 전체 회로 면적 및 처리 시간을 절약하는 효과가 있다.
Claims (5)
- 2의 보수 n 디지트 수 ()의 최대유효비트(dn-1)를 조사하여 양수인지 음수인지를 판단하는 단계(S1,S2)와; 양수(dn-1=0)이면 모든 비트를 그대로 출력하여 절대값()을 구하는 단계(S3); 음수(dn-1=1)이면 최소유효비트(d0)부터 시작하여 그 다음 상위 비트를 차례로 조사하여 첫번째로 1인 비트(dk)를 찾아내는 단계(S4,S5); 첫번째로 1인 비트를 포함하여 모든 하위 비트는 그대로 출력하고, 그외 나머지 상위 모든 비트를 반전시켜 절대값()을 구하는 단계(S6)를 포함하여 구성되는 디지털 시스템의 절대값 계산 방법.
- n 비트 레지스터(30)와; 상기 n 비트 레지스터(30)로부터 병렬출력된 n비트를 입력 받아, 최소유효비트(LSB, d0)는 그대로 출력하여 변환 비트의 최소유효비트(LSB, D0)로 하고, 나머지 비트들은 현 입력비트(dk) 이전까지 변환된 비트(Dk-1,…,D0)들의 논리 조합 결과에 따라 반전 여부를 결정하여 현 입력비트(dk)를 반전시키거나 혹은 그대로 출력하여, 변환된 n 비트(Dn-1,…,D0)를 병렬출력하는 변환부(31); 상기 n비트 레지스터(30)의 최대유효비트(MSB,dn-1)에 따라 상기 n 비트 레지스터(30)의 출력 데이터 n비트 혹은 상기 변환부(31)의 출력 데이터 n비트를 선택적으로 출력하는 2입력-1출력 멀티플렉서(32)를 포함하여 구성되는 디지털 시스템의 절대값 계산 장치.
- 제 2 항에 있어서, 상기 변환부(31)는 n 비트 레지스터(30)로부터 병렬출력된 n비트를 입력받아, 최소유효비트()를 제외한, 나머지 입력 비트를 각각 반전 시키는 NOT 게이트들(N1∼Nn-1)과; 상기 최소유효비트()를 제외한 나머지 입력 비트 및 이에 대응하는 상기 NOT 게이트(N1∼Nn-1)들의 출력 비트를 각각 입력받아, 입력 비트 혹은 반전된 비트를 선택적으로 출력하는 2입력-1출력 멀티플렉서들(MUX1∼MUXn-1) 및; 상기 멀티플렉서들(MUX2∼MUXn-1)들의 선택신호(SEL2∼SELn-1)를 제공하는 OR 게이트들(OR1∼ORn-2)을 포함하여 구성되어 있는 것을 특징으로 하는 디지털 시스템의 절대값 계산 장치.
- 제 3 항에 있어서, 웨이트 21의 변환 비트(D1)를 출력하는 멀티플렉서(MUX1)는 변환된 최소유효비트(D0)를 선택신호(SEL1)로 제공받는 것을 특징으로 하는 디지털 시스템의 절대값 계산 장치.
- 제 3 항에 있어서, 웨이트 2k의 변환 비트(Dk:2≤k≤n-1)를 위한 멀티플렉서(MUXk)는 상기 OR 게이트(ORk-1)로부터 출력된 비트를 선택신호(SELk)로 제공받는데 있어서, 상기 OR 게이트(ORk-1)는 변환된 하위 비트값(DK-1)과 발생된 하위 선택신호(SELk-1)를 입력받아 논리합 연산하여 선택신호(SELk)를 발생시키는 것을 특징으로 하는 디지털 시스템의 절대값 계산 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970027808A KR19990003845A (ko) | 1997-06-26 | 1997-06-26 | 디지털 시스템의 절대값 계산방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970027808A KR19990003845A (ko) | 1997-06-26 | 1997-06-26 | 디지털 시스템의 절대값 계산방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19990003845A true KR19990003845A (ko) | 1999-01-15 |
Family
ID=65987110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970027808A KR19990003845A (ko) | 1997-06-26 | 1997-06-26 | 디지털 시스템의 절대값 계산방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR19990003845A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597770A (zh) * | 2020-05-19 | 2020-08-28 | 中国科学院微电子研究所 | 快速查找数据最高有效比特位的电路装置及查找方法 |
-
1997
- 1997-06-26 KR KR1019970027808A patent/KR19990003845A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597770A (zh) * | 2020-05-19 | 2020-08-28 | 中国科学院微电子研究所 | 快速查找数据最高有效比特位的电路装置及查找方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0127988B1 (en) | A normalizing circuit | |
US6510446B1 (en) | Floating point calculation method and unit efficiently representing floating point data as integer and semiconductor integrated circuit device provided with the same | |
KR19980702882A (ko) | 시프트 수단을 이용한 지수 회로 및 사용 방법 | |
US4941119A (en) | Method and apparatus for predicting an overflow in an integer multiply | |
US5181184A (en) | Apparatus for multiplying real-time 2's complement code in a digital signal processing system and a method for the same | |
JP2757671B2 (ja) | プライオリティエンコーダおよび浮動小数点加減算装置 | |
US4728927A (en) | Apparatus and method for performing comparison of two signals | |
KR19990003845A (ko) | 디지털 시스템의 절대값 계산방법 및 장치 | |
Kornerup | Correcting the normalization shift of redundant binary representations | |
JPH09244874A (ja) | 最上位有効ビット位置予測方法 | |
JPH09222991A (ja) | 加算方法および加算器 | |
US6343303B1 (en) | Method of determining a scaling factor | |
JPH08147142A (ja) | プライオリティ検出用カウンタ装置 | |
CN115833845B (zh) | 位置输出装置和位置输出方法 | |
EP0442220B1 (en) | Decoder | |
US6516333B1 (en) | Sticky bit value predicting circuit | |
CN114895868B (zh) | 基于两位商计算的除法运算单元及除法器 | |
KR950006354B1 (ko) | 비교회로 | |
JP3531402B2 (ja) | 2乗回路 | |
US20040167949A1 (en) | Data saturation manager and corresponding method | |
KR100196520B1 (ko) | 면적 개선을 위한 2의보수 변환 장치 | |
KR100270814B1 (ko) | 자리이동-가산기를 이용한 필터링계수구현방법 및 장치 | |
KR0147433B1 (ko) | 병렬식 리딩-원 검출장치 | |
KR100226757B1 (ko) | 병렬제산 연산장치 | |
KR0175357B1 (ko) | 고속화를 위한 연산기의 오버플로우 검출회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |