KR20000001112A - 개선된 부호 생성 방식을 이용한 곱셈 방법 - Google Patents

개선된 부호 생성 방식을 이용한 곱셈 방법 Download PDF

Info

Publication number
KR20000001112A
KR20000001112A KR1019980021165A KR19980021165A KR20000001112A KR 20000001112 A KR20000001112 A KR 20000001112A KR 1019980021165 A KR1019980021165 A KR 1019980021165A KR 19980021165 A KR19980021165 A KR 19980021165A KR 20000001112 A KR20000001112 A KR 20000001112A
Authority
KR
South Korea
Prior art keywords
bit
multiplication
generation method
sign
addition
Prior art date
Application number
KR1019980021165A
Other languages
English (en)
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 KR1019980021165A priority Critical patent/KR20000001112A/ko
Publication of KR20000001112A publication Critical patent/KR20000001112A/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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49973Rounding towards negative infinity, e.g. truncation of two's complement numbers
    • 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/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • G06F7/5336Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm

Landscapes

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

Abstract

본 발명은 부호 생성 방식에서 확장된 부호 비트를 미리 계산하여 스테이지 수를 줄이고, 또한 딜레이를 감소시킴으로써 빠른 곱셈 수행 속도를 가지는 개선된 부호 생성 방식을 이용한 곱셈 방법을 제공하기 위한 것으로, 이를 위해 본 발명은 2의 보수로 표현된 수의 곱셈 연산을 수행하는 부호 생성 방식의 곱셈 방법에 있어서, 상기 부호 생성 방식에서 n비트로 이루어진 각 곱셈항의 n+1번째 비트 및 제1 곱셈항의 상기 n 비트와 동일한 웨이트를 가지는 비트에 생성되는 부호 확장 비트를 미리 계산함으로써 가산에 참여하는 비트수는 동일하되, 가산 스테이지를 줄인다.

Description

개선된 부호 생성 방식을 이용한 곱셈 방법
본 발명은 곱셈 연산에 관한 것으로서, 특히 2의 보수(2's complement)로 표현된 수의 곱셈 동작에 있어서 부호 생성 방식을 사용하는 곱셈 방법에 관한 것이다.
곱셈기(multiplier)는 프로세서(processor)의 처리 속도가 증가하고 멀티미디어(multimedia) 데이터 처리에 관한 사용자의 요구가 늘어남에 따라 디지털 신호 처리 프로세서(Digital Signal Processor), 고성능 마이크로프로세서(microprocessor) 및 마이크로컨트롤러(microcontroller) 등에 다양하게 사용되어지고 있다. 따라서, 처리하고자하는 데이터의 비트(bit) 수가 증가하고, 다양한 알고리듬(algorithm)의 처리에 있어 빠른 속도의 곱셈 동작은 시스템의 전체 성능에 중요한 지표가 되고 있다.
2의 보수로 표현된 수의 곱셈에서, 곱셈항(product term)의 개수를 줄이는 방식으로 변형된 부스 알고리듬(modified Booth algorithm)이 많이 사용되고 있는데, 이를 사용했을 경우 종전에 비해 곱셈항의 개수가 1/2로 감소하여 병렬 곱셈기로 구현하면 직렬 곱셈기로 구현한 것에 비해 약 절반의 시간에 곱셈 동작을 수행할 수 있는 이점이 있다. 이러한 방식으로 곱셈 연산된 결과의 부호를 정확히 표현하기 위하여 부호 전파 방식(sign propagation method)과 부호 생성 방식(sign generation method)을 사용하는데, 통상 부호 생성 방식이 하드웨어(hardware)의 부담이 적고, 계산량이 줄어 많이 사용되고 있다. 그러나, 부호 생성 방식을 사용할 경우 부호 비트를 확장시켜주기 위하여 추가 비트가 필요하게 되는데, 이 추가 비트로 인해 병렬 곱셈기의 가산 스테이지(stage)가 증가하게 되는 문제가 있다. 가산 스테이지의 증가는 증가된 만큼의 전가산기(full adder) 딜레이(delay)가 더 소모됨을 의미하며, 또한, 웰리스 트리(wallace tree) 형태의 병렬 곱셈기를 구현할 경우에도 마찬가지로 가산 스테이지가 증가하게 되어 딜레이를 발생한다.
도 1은 일반적인 부호 생성 방식을 개념적으로 도시한 도면으로서, 8 × 8 병렬 곱셈기를 일예로하여 부호 생성에 의한 부호 비트 확장 방식을 나타낸 것이다. 4개의 곱셈항이 있고, 부호 비트를 위해 제1 내지 제3 곱셈항의 최상위비트에서 왼쪽으로 '1'을 확장하고, 제1 곱셈항의 최상위비트와 같은 웨이트(weight)를 가지는 '1'을 두어 도 2의 병렬 곱셈기로 구현된다. 도면에 도시된 바와 같이 전가산기(FA)로 구성된 병렬 곱셈기는 확장된 부호 비트에 의해 3 스테이지의 가산 스테이지로 이루어진다. 도면 부호 1을 일예로 확대하여 도시한 도면이 도 3이다. 도 3은 제1 곱셈항의 부호를 위한 확장 비트 '1'과,을 입력으로하여을 출력하는 제1 전가산기,을 입력으로하여을 출력하는 제2 전가산기,을 입력으로하여을 출력하는 제3 전가산기,을 입력으로하여을 출력하는 제4 전가산기로 구성된다. 이러한 방식으로 도 1의 곱셈항이 도 2의 다수개의 전가산기로 이루어진 병렬 곱셈기로 구성된다.
전술한 바와 같이, 부호 생성을 위해 확장된 비트에 의해 가산 스테이지가 늘어나고, 그에 따라 전체 곱셈 동작의 딜레이가 생겨 속도가 저하되는 문제가 발생한다.
본 발명은 상기 문제점을 해결하기 위하여 안출된 것으로써, 부호 생성 방식에서 확장된 부호 비트를 미리 계산하여 스테이지 수를 줄이고, 또한 딜레이를 감소시킴으로써 빠른 곱셈 수행 속도를 가지는 개선된 부호 생성 방식을 이용한 곱셈 방법을 제공하는데 그 목적이 있다.
도 1은 종래의 부호 생성 방식을 개념적으로 도시한 도면.
도 2는 종래의 부호 생성 방식에 따른 병렬 곱셈기의 블록도.
도 3은 도 2의 부분 확대도.
도 4는 본 발명의 부호 생성 방식을 개념적으로 도시한 도면.
도 5는 본 발명의 부호 생성 방식에 따른 병렬 곱셈기의 블록도.
상기 목적을 달성하기 위한 본 발명은 2의 보수로 표현된 수의 곱셈 연산을 수행하는 부호 생성 방식의 곱셈 방법에 있어서, 상기 부호 생성 방식에서 n비트로 이루어진 각 곱셈항의 n+1번째 비트 및 제1 곱셈항의 상기 n 비트와 동일한 웨이트를 가지는 비트에 생성되는 부호 확장 비트를 미리 계산함으로써 가산에 참여하는 비트수는 동일하되, 가산 스테이지를 줄이는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 살펴본다.
본 발명은 확장된 부호 비트 "1"과 가산되는 부분을 먼저 계산하여 이를 다시 새로운 비트로 할당하여 가산 스테이지 수를 줄인다.
일반적으로 "1"과 임의의 한 비트가 가산될 경우, 아래 수학식 1과 같은 식이 성립한다.
1
+ P
P ~P
여기서, ~P는 P의 보수이다. 이진수를 가산할 경우 일측 입력단의 값이 정해져 있다면 가산값을 미리 계산할 수 있는데, 타측 입력단 P가 '1'인 경우의 가산 결과는 '10'이 되며, P가 '0'인 경우의 가산 결과는 '01'이 된다. 이렇게 하면, 가산되는 비트수에는 변화가 없고, 그 대신 병렬 곱셈기로 구현할 때 가산 스테이지 수를 하나 줄일 수 있다.
이러한 수학식 1을 도 1의 부호 생성 방식에 적용하면, 도 4에 도시된 것과 같은 개선된 부호 생성 방식이 된다. 여기서, 종래의 부호 생성 방식에 의해 발생되는 확장된 부호 비트 "1"이 모두 제거됨을 알 수 있다. 이를 병렬 곱셈기로 구현하면 도 5와 같으며, 종래의 병렬 곱셈기와 비교했을 때 스테이지가 하나 줄어듦을 알 수 있다.
본 발명의 또다른 일실시예는 웰리스 트리를 사용한 병렬 곱셈기에서도 같은 효과를 얻을 수 있다. 예를 들어 17 × 17 비트 곱셈을 수행하는 곱셈기의 경우 변형된 부스 알고리듬에 의해 발생하는 곱셈항은 9개가 된다. 일반적으로 16비트 데이터가 있을 경우 16 × 16 비트 곱셈기가 필요하지만 부호화된 수 뿐만 아니라 부호화되지 않은 수의 곱셈을 위하여 부호 비트인 1비트가 추가되어 17비트 데이터가 필요하다. 이를 웰리스 트리 형태로 구현하고자 하면 9 스테이지까지는 4개의 가산 스테이지로 구현할 수 있으나 일반적인 부호 생성 방식을 사용하면 부호 확장 비트에 의해 10스테이지가 되어 웰리스 트리를 사용하더라도 5단의 가산 스테이지가 필요하다. 개선된 방식의 부호 생성 방식을 사용하면 4단의 가산 스테이지로만 구현할 수 있다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
상기와 같이 이루어지는 본 발명은, 부호 생성 방식에서 확장된 부호 비트 '1'을 미리 계산하여 가산 스테이지를 하나 줄임으로써 종래에 비해 적은 수의 하드웨어로 보다 빠른 곱셈 동작을 가능하게 하는 효과가 있다. 또한, 곱셈기를 채용하는 시스템의 고성능화를 꾀할 수 있다.

Claims (2)

  1. 2의 보수로 표현된 수의 곱셈 연산을 수행하는 부호 생성 방식의 곱셈 방법에 있어서,
    상기 부호 생성 방식에서 n비트로 이루어진 각 곱셈항의 n+1번째 비트 및 제1 곱셈항의 상기 n 비트와 동일한 웨이트를 가지는 비트에 생성되는 부호 확장 비트를 미리 계산함으로써 가산에 참여하는 비트수는 동일하되, 가산 스테이지를 줄이는 개선된 부호 생성 방식을 이용한 곱셈 방법.
  2. 제 1 항에 있어서, 상기 곱셈항 각각은,
    상기 n+1번째 비트와 상기 n 번째 비트가 서로 상반된 값을 가지는 것을 특징으로 하는 개선된 부호 생성 방식을 이용한 곱셈 방법.
KR1019980021165A 1998-06-08 1998-06-08 개선된 부호 생성 방식을 이용한 곱셈 방법 KR20000001112A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980021165A KR20000001112A (ko) 1998-06-08 1998-06-08 개선된 부호 생성 방식을 이용한 곱셈 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980021165A KR20000001112A (ko) 1998-06-08 1998-06-08 개선된 부호 생성 방식을 이용한 곱셈 방법

Publications (1)

Publication Number Publication Date
KR20000001112A true KR20000001112A (ko) 2000-01-15

Family

ID=19538666

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980021165A KR20000001112A (ko) 1998-06-08 1998-06-08 개선된 부호 생성 방식을 이용한 곱셈 방법

Country Status (1)

Country Link
KR (1) KR20000001112A (ko)

Similar Documents

Publication Publication Date Title
CN110780845B (zh) 一种用于量化卷积神经网络的可配置近似乘法器及其实现方法
US5343417A (en) Fast multiplier
CN114546330B (zh) 函数实现方法、逼近区间分段方法、芯片、设备及介质
CN113010148A (zh) 一种适用于混合精度神经网络的定点乘加运算单元及方法
US5586071A (en) Enhanced fast multiplier
KR20000001112A (ko) 개선된 부호 생성 방식을 이용한 곱셈 방법
Baba et al. Design and implementation of advanced modified booth encoding multiplier
CN112685001A (zh) 一种Booth乘法器及其运算方法
JPH0793134A (ja) 乗算器
JPH0651950A (ja) 加算回路
Hu et al. Comparison of constant coefficient multipliers for CSD and booth recoding
US7240085B2 (en) Faster shift value calculation using modified carry-lookahead adder
CN113434115B (zh) 一种浮点数尾数域余数运算电路及方法
Sandeep et al. Design of area and power Potent Booth multiplier using multiplexer
JPH01251133A (ja) 乗算回路及び方法
JPH0635673A (ja) 乗算方法及び回路
EP1769335B1 (en) Arithmetic circuit with balanced logic levels for low-power operation
JP2705640B2 (ja) 積和演算器
Thabah et al. Improved Signed Binary Multiplier Through New Partial Product Generation Scheme
Wang et al. New low power adders based on new representations of carry signals
KR100477913B1 (ko) 부스알고리즘을이용한멀티플라이어
KR20040029789A (ko) 고속 연산기를 위한 래딕스-4 부스 연산기
KR950015180B1 (ko) 고속연산형 가산기
Palsodkar et al. Three operand fused floating point add-subtract unit using redundant adder
JP3130797B2 (ja) 積和演算処理方法およびその装置

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination