KR100202673B1 - 부분 몫 생성기 및 생성방법 - Google Patents

부분 몫 생성기 및 생성방법 Download PDF

Info

Publication number
KR100202673B1
KR100202673B1 KR1019960040332A KR19960040332A KR100202673B1 KR 100202673 B1 KR100202673 B1 KR 100202673B1 KR 1019960040332 A KR1019960040332 A KR 1019960040332A KR 19960040332 A KR19960040332 A KR 19960040332A KR 100202673 B1 KR100202673 B1 KR 100202673B1
Authority
KR
South Korea
Prior art keywords
quotient
value
partial
output
partial quotient
Prior art date
Application number
KR1019960040332A
Other languages
English (en)
Other versions
KR19980021471A (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 KR1019960040332A priority Critical patent/KR100202673B1/ko
Publication of KR19980021471A publication Critical patent/KR19980021471A/ko
Application granted granted Critical
Publication of KR100202673B1 publication Critical patent/KR100202673B1/ko

Links

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
    • G06F7/535Dividing only

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 부분 몫 생성기 및 생성 방법에 관한 것으로, 종래에는 몫을 양(+)과 음(-)의 형태로 생성시킴으로 인해, 나눗셈 연산등에서 최종 몫을 얻기위하여 양(+)의 형태로 저장된 몫에서 음(-)의 형태로 저장된 몫을 빼야하는 추가의 클럭 사이클이 요구되는 문제점이 있었다. 따라서 본 발명은 부호가 로우0인 경우에는 부분 몫 입력값(q[1:0])이 부분 몫 출력값(part q[1:0])으로 그대로 출력되도록 하고, 부호가 하이레벨인 경우에는 부분 몫 출력값(part q[1])으로 부분 몫 입력값(q[1])의 반전된 값이 그리고 부분 몫-1 출력값(part q[0])이 부분 몫 입력값(q[0])이 그대로 출력되도록 하며, 부호에 상관없이 부분 몫-1 출력값(part q-1[1:0])은 부분 몫 출력값(part q[1:0]) -1의 값이 출력되도록 하여 이 출력값을 나눗셈 및 제곱근 연산을 할 경우 최종 몫의 수정작업 없이 그대로 사용하므로써 추가의 클럭 사이클이 요구되지 않으며, 나눗셈 연산과 제곱근 연산의 하드웨어 공유시 문제가 되는 몫의 저장방식이 해결되도록 한다.

Description

부분 몫 생성기 및 생성방법
본 발명은 부호화된 숫자(signed digit) 형태로 얻어진 몫의 비트쌍을 부호에 다른 2의 보수(2's complement) 형태로 바꾸어주는 회로에 관한 것으로, 특히 SRT 알고리즘을 사용하여 나눗셈 및 제곱근 연산을 처리하는 하드웨어에 적합하도록 한 부분 몫 생성기 및 생성방법에 관한 것이다.
종래의 부호화된 숫자형태로 얻어진 몫의 비트쌍을 처리하는 회로는, 제1도에 도시된 바와같이, 2비트의0과 부호화된 숫자형태로 얻어진 몫에서 부호를 무시한 몫의 비트상(q[1],q[0])을 각각 입력받아 양(+)의 형태인 몫의 비트쌍(pos-q[1:0])을 선택하여 출력하도록 하는 제1멀티플렉서(M1)와; 2비트의0과 부호화된 숫자형태로 얻어진 몫에서 부호를 무시한 몫의 비트쌍(q[1],q[0])을 각각 입력받아 음(-)의 형태인 몫의 비트쌍(neg-q[1:0])을 출력하도록 하는 제2멀티플렉서(M2)로 구성된다. 그리고 제1멀티플렉서(M1) 또는 제2멀티플렉서(M2)중 어느 하나를 선택하는 것은 선택신호(sign)에 의해서이다.
이와같이 구성된 종래의 기술에 대하여 살펴보면 다음과 같다.
제1멀티플렉서(M1)는 2비트의0과 부호화된 숫자형태로 얻어진 몫에서 부호를 무시한 몫의 비트상(q[1],q[0])을 입력받고, 제2멀티플렉서(M2)는 2비트의0과 부호화된 숫자형태로 얻어진 몫에서 부호를 무시한 몫의 비트쌍(q[1],q[0])을 입력받는다.
이렇게 각 비트로 입력받은 상태에서 상기 제1멀티플렉서(M1)와 제2멀티플렉서(M2)로 로우레벨 0의 선택신호(sign)가 입력되면, 제1멀티플렉서(M1)는 부호화된 숫자형태로 얻어진 몫에서 부호를 무시한 몫의 비트상(q[1],q[0])을 선택하여 출력인(pos-q[1:0])에 연결시키고, 제2멀티플렉서(M2)는 2비트의0을 선택하여 출력인(neg-q[1:0])에 연결하므로 두 비트는 모두0신호가 된다.
그리고, 하이레벨 1의 선택신호가 입력되면, 제1멀티플렉서(M1)는 2비트의0을 선택하므로 그의 출력(pos-q[1:0])에는 두 비트 모두 논리0신호가 되며, 제2멀티플렉서(M2)는 부호화된 숫자형태로 얻어진 몫에서 부호를 무시한 몫의 비트쌍(q[1],1[0])을 선택하여 출력(neg-q[1:0])에 전달된다.
상기에서와 같은 종래기술 문헌으로는Kai Hwang, computer Arithmetic : Principles, Architecture Design, John Wiley Sons, Inc 1979 pp229~238 Proceedings of 7th IEEE Symposium on Computer Arithmetic, pp64~71, May 1985 Intel Corp Floating Point Flaw in the Pentium Processor, 1994에 나와있다.
그러나, 상기와 같은 종래의 기술은 몫을 양(+)과 음(-)의 형태로 생성시킴으로 인해, 나눗셈 연산등에서 최종 몫을 얻기위하여 양(+)의 형태로 저장된 몫에서 음(-)의 형태로 저장된 몫을 빼야하는 추가의 클럭 사이클이 요구되는 문제점이 있었다.
따라서, 상기에서와 같은 문제점을 해결하기 위한 본 발명의 목적은 나눗셈 및 제곱근 연산을 할 경우나 최종 몫의 수정 작업없이 그대로 사용하더라도 추가의 클럭 사이클이 요구되지 않으며, 나눗셈 연산과 제곱근 연산의 하드웨어 공유시 문제가 되는 몫의 저장방식을 해결하기 위한 부분 몫 생성기 및 생성방법을 제공함에 있다.
제1도는 종래의 부호화된 숫자형태로 얻어진 몫의 비트쌍을 처리하는 회로도.
제2도는 본 발명은 부분 몫 생성기 회로도.
제3도는 제2도의 부분 몫 생성기의 출력을 이용하여 나눗셈 연산등에서 최종 몫을 생성시키는 과정도.
제4도는 제2도에서, 선택신호의 레벨값에 따른 출력 연산값 도표.
* 도면의 주요부분에 대한 부호의 설명
M1,M2 : 멀티플렉서 I1,I2 : 인버터
OR1,OR2 : 오아게이트 AD1,AD2 : 앤드게이트
상기 목적을 달성하기 위한 본 발명의 부분 몫 생성 방법은, 부호가 로우0인 경우에는 부분 몫 입력값(q[1:0])이 부분 몫 출력값(part q[1:0])으로 그대로 출력되도록 하는 제1단계와; 부호가 하이레벨인 경우에는 부분 몫 출력값(part q[1])으로 부분 몫 입력값(q[1])의 반전된 값이 그리고 부분 몫-1 출력값(part q[0])이 부분 몫 입력값(q[0])이 그대로 출력되도록 하는 제2단계와; 부호에 상관없이 부분 몫-1 출력값(part q-1[1:0])은 부분 몫 출력값(part q[1:0]) - 1의 값이 출력되도록 하는 제3단계로 동작하여 부호화된 숫자형태로 얻어진 몫의 비트쌍(q[1:0])을 부호에 따른 2의 보수 형태로 바꾸어주도록 한다.
상기 각 단계로 이루어진 방법을 수행하기 위한 본 발명 부분 몫 생성기 회로는, 제2도에 도시한 바와같이, 부호(sign)값과 부분 몫 입력값(q[1])을 입력받아 오아링하여 부분 몫 출력값(part q[1])을 얻도록 하는 제1오아게이트(OR1)와; 인버터(I2)를 통해 반전된 부분 몫 값(q[1])과 부호 값을 앤드조합하는 제1앤드게이트(AD1)의 출력과 인버터(I1)(I2)를 통해 반전된 부분 몫 값(q[0:1])을 앤드조합하는 제2앤드게이트(AD2)의 출력을 오아링하여 부분 몫-1 출력값(part q-1[1])을 얻도록 하는 제2오아게이트(OR2)와; 상기 부분 몫 값(q[0])과 이 값을 인버터(I2)를 통해 반전된 값을 각각 부분 몫 출력값(part q[0])(part q-1[0])으로 하도록 구성한다.
이와같이 구성된 본 발명의 동작 및 작용효과에 대하여 상세히 설명하면 다음과 같다.
부호(sign)값이 로우0인 경우, 이 로우신호가 제1오아게이트(OR1)의 일측으로 입력됨에 따라 그의 타측으로 입력되는 부분 몫 입력값(q[1])이 그대로 부분 몫 출력(part q[1])값으로 전달되고, 상기 부호(sign)값이 그대로 부분 몫 출력(part q[0])값으로 전달된다.
결국, 부호(sign)값이 로우인 경우 부분 몫 출력(part q[1:0])값에는 부분 몫 입력값(q[1:0])이 그대로 출력된다.
이때 부분 몫-1 출력(part q-1[1:0])값으로 나타나는 값에 대하여 살펴보면, 제1앤드게이트(AD1)는 일측으로 로우상태의 부호값을 받으므로 그의 타측의 입력과 관계없이 로우신호를 제2오아게이트(OR2)의 일측으로 출력한다.
따라서, 상기 제2오아게이트(OR2)는 그의 타측으로 입력되는 제2앤드게이트(AD2)의 출력을 부분 몫-1 출력(part q-1[1])값으로 하고, 부분 몫 입력값(q[0])이 인버터(I1)를 통해 반전된 값을 부분 몫-1 출력(part q-1[0])값으로 한다.
상기에서 제2오아게이트(OR2)의 출력값으로 출력되는 제2앤드게이트(AD2)의 값은 인버터(I1)(I2)를 통해 반전된 부분 몫 입력값(q[1:0])을 받아 논리곱한 연산값이 된다.
그리고, 부호(sign)값이 하이인 경우, 이 하이상태의 부호값이 제1오아게이트(OR1)가 일측으로 입력됨에 따라 타측입력에 관계없이 부분 몫 출력(part q[1])값으로 하이신호가 출력되고, 부분 몫 출력(part q[0])값으로는 부분 몫 입력값(q[0])이 그대로 출력된다.
하이상태의 부호(sign)값을 일측으로 입력받는 제1앤드게이트(AD1)는 타측입력인 인버터(I2)를 거쳐 반전된 부분 몫 입력값(q[1])이 제2오아게이트(OR2)의 일측으로 전달된다.
이때 상기 제2오아게이트(OR2)는 그의 타측으로 인버터(I1)(I2)를 통해 반전된 부분 몫 입력값(q[1:0])을 논리곱한 연산값을 입력받는다.
따라서, 제2오아게이트(OR2)는 제2앤드게이트(AD2)의 출력값과 부분 몫 입력값((q[1])의 반전된 값이 논리합된 연산값을 출력하고, 이 연산값은 부분 몫-1 출력값(part q-1[1])이 되어 출력된다.
그리고 부분 몫-1 출력값(part q-1[0])으로는 부분 몫 입력값(q[0])의 반전된 값이 출력된다.
이상에서와 같이 부호(sign)값과 부분 몫 입력값(q[1:0])을 인버터와 앤드게이트 및 오아게이트를 통해 생성된 부분 몫 출력값(part q[1:0])과 부분 몫-1 출력값(part q-1[1:0])은 제4도에 도시한 도표에 나타나 있으며, 이 도표에서 X는 발생되지 않는 경우를 나타낸 것이다.
지금까지 설명한 부분 몫 생성기를 통해 얻어진 출력값들을 사용하여 나눗셈 연산등에서 최종 몫을 생성하는 과정 제3도에 나타낸다.
즉, 제3a도 서는 최종 몫(Q)을 래치하는 경우를 나타낸 것으로, 부호값(sign)이 하이상태이면 최종 몫(Q)에서 1을 뺀 값(Q-1)을 래치값에, 부분 몫 출력값(part q)을 하위비트로 합친 값을 저장하게 되며 부호값이 로우이면 이전 최종 몫(Q)을 래치값에, 부분 몫 출력값(part q)을 하위비트로 합친 값을 저장하게 된다.
최종 몫-1(Q-1) 래치는, 제3b도에서와 같이, 보호값(sign)과 부분 몫 입력값(q[1](q[0])으로 만든 선택신호(sel)에 의해 래치될 값이 결정되는데, 상기 선택신호(sel)가 하이이면 이전 최종 몫-1(Q-1) 래치값에, 부분 몫 출력값(part q-1)을 하위비트로 합친값이 저장되고, 선택신호(sel)가 로우이면 이전 최종 몫(Q) 래치값에 부분 몫 출력값(part q-1)을 하위비트로 합친값이 저장된다.
상기에서, 선택신호(sel)는, 제3c도에서와 같이, 부분 몫 입력값(q[1])(q[0])을 반전단자를 통해 앤드게이트(AD3)가 입력받아 논리곱을 행한 출력값과 부호값(sign)을 오아게이트(OR3)에서 입력받아 논리합 연산을 행하여 얻은 신호를 선택신호로 사용한다.
상술한 바와 같이, 본 발명은 논리게이트를 이용하여 부분 몫 생성기를 만들고, 이렇게 만들어진 부분 몫 생성기를 이용하여 나눗셈 및 제곱근 연산을 할 경우 최종 몫의 수정작업 없이 그대로 사용하므로써 추가의 클럭 사이클이 요구되지 않으며, 나눗셈 연산과 제곱근 연산의 하드웨어 공유시 문제가 되는 몫의 저장방식이 해결되는 효과가 있다.

Claims (2)

  1. 부호(sign)값과 부분 몫 입력값(q[1])을 입력받아 오아링하여 부분 몫 출력값(part q[1])을 얻도록 하는 제1오아게이트(OR1)와; 인버터(I2)를 통해 반전된 부분 몫 값(q[1])과 부호 값을 앤드조합하는 제1앤드게이트(AD1)의 출력과 인버터(I1)(I2)를 통해 반전된 부분 몫 값(q[0:1])을 앤드조합하는 제2앤드게이트(AD2)의 출력을 오아링하여 부분 몫-1 출력값(part q-1[1])을 얻도록 하는 제2오아게이트(OR2)와; 상기 부분 몫 값(q[0])과 이 값을 인버터(I2)를 통해 반전된 값을 각각 부분 몫 출력값(part q[0])(part q-1[0])으로 하도록 구성한 것을 특징으로 하는 부분 몫 생성기.
  2. 부호가 로우0인 경우에는 부분 몫 입력값(q[1:0])이 부분 몫 출력값(part q[1:0])으로 그대로 출력되도록 하는 제1단계와; 부호가 하이레벨인 경우에는 부분 몫 출력값(part q[1])으로 부분 몫 입력값(q[1])의 반전된 값이 그리고 부분 몫-1 출력값(part q[0])이 부분 몫 입력값(q[0])이 그대로 출력되도록 하는 제2단계와; 부호에 상관없이 부분 몫-1 출력값(part q-1[1:0])은 부분 몫 출력값(part q[1:0]) - 1의 값이 출력되도록 하는 제3단계로 동작하여 부호화된 숫자형태로 얻어진 몫의 비트쌍(q[1:0])을 부호에 따른 2의 보수 형태로 바꾸어주도록 한 것을 특징으로 하는 부분 몫 생성 방법.
KR1019960040332A 1996-09-17 1996-09-17 부분 몫 생성기 및 생성방법 KR100202673B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960040332A KR100202673B1 (ko) 1996-09-17 1996-09-17 부분 몫 생성기 및 생성방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960040332A KR100202673B1 (ko) 1996-09-17 1996-09-17 부분 몫 생성기 및 생성방법

Publications (2)

Publication Number Publication Date
KR19980021471A KR19980021471A (ko) 1998-06-25
KR100202673B1 true KR100202673B1 (ko) 1999-06-15

Family

ID=19474020

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960040332A KR100202673B1 (ko) 1996-09-17 1996-09-17 부분 몫 생성기 및 생성방법

Country Status (1)

Country Link
KR (1) KR100202673B1 (ko)

Also Published As

Publication number Publication date
KR19980021471A (ko) 1998-06-25

Similar Documents

Publication Publication Date Title
US5905665A (en) Modulo address generating circuit and method with reduced area and delay using low speed adders
Sousa Efficient method for magnitude comparison in RNS based on two pairs of conjugate moduli
US5177703A (en) Division circuit using higher radices
Molahosseini et al. A new five-moduli set for efficient hardware implementation of the reverse converter
KR100202673B1 (ko) 부분 몫 생성기 및 생성방법
JPH09114641A (ja) 最上位デジットを決定するための装置と方法
Armand et al. Low power design of binary signed digit residue number system adder
CN112350716A (zh) 一种补码运算方法及装置、补码运算装置的运算方法
Mousavi et al. Pipelined Residue Logarithmic Numbers System for general modules set {2 n-1, 2 n, 2 n+ 1}
US6052768A (en) Circuit and method for modulo address generation with reduced circuit area
US5084835A (en) Method and apparatus for absolute value summation and subtraction
EP0353041A2 (en) Signal processing apparatus and method using modified signed digit arithmetic
Elleithy et al. theta (logN) architectures for RNS arithmetic decoding
KR100203742B1 (ko) 멀티플렉스를 이용한 가산기
KR100196520B1 (ko) 면적 개선을 위한 2의보수 변환 장치
KR0154773B1 (ko) 두 수의 차로써 표현되는 숫자를 위한 곱셈기
KR100226757B1 (ko) 병렬제산 연산장치
US20040167949A1 (en) Data saturation manager and corresponding method
KR100194678B1 (ko) 시프터를 이용한 승산기
JP2890412B2 (ja) 符号変換回路
KR950006770B1 (ko) 고선명티브이의 라운딩 회로
JP3567510B2 (ja) 割込優先判定回路
JPH0764767A (ja) 加算装置
JP2699358B2 (ja) デコーダ回路
JP3482102B2 (ja) 絶対値距離演算回路

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: 20050221

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee