KR19990017434A - 고속 곱셈장치 - Google Patents

고속 곱셈장치 Download PDF

Info

Publication number
KR19990017434A
KR19990017434A KR1019970040361A KR19970040361A KR19990017434A KR 19990017434 A KR19990017434 A KR 19990017434A KR 1019970040361 A KR1019970040361 A KR 1019970040361A KR 19970040361 A KR19970040361 A KR 19970040361A KR 19990017434 A KR19990017434 A KR 19990017434A
Authority
KR
South Korea
Prior art keywords
multiplier
bit
signed
sine
partial product
Prior art date
Application number
KR1019970040361A
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 KR1019970040361A priority Critical patent/KR19990017434A/ko
Publication of KR19990017434A publication Critical patent/KR19990017434A/ko

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

고속 곱셈장치는 입력되는 하나 또는 모두의 언사인드 넘버의 피승수 및 승수를 사인드 넘버로 변환하여 고속 곱셈 연산을 수행하도록 하기 위한 것으로서, 고속 곱셈 장치에 있어서, 입력되는 n비트의 사인드 또는 언사인드 넘버의 피승수 및 승수중 언사인드 넘버를 사인드 넘버로 변환하여 출력하는 사인 발생수단과, 상기 사인 발생수단에서 발생된 사인드 넘버에 대하여 부스(Booth) 알고리즘을 수행하여 파셜 프로덕트를 생성하는 부스 인코딩수단으로 구성됨에 그 요지가 있다.

Description

고속 곱셈장치
본 발명은 고속 곱셈장치에 관한 것으로, 특히 고속 곱셈장치에 관한 것이다.
그래픽이나 멀티미디어 프로세서 혹은 마이크로 프로세서내에서 수행되는 연산 중 가장 큰 비중을 차지하며, 프로세서의 성능에 큰 영향을 미치는 기능이 곱셈 연산이다.
상기 프로세서들이 가지는 곱셈은 단순한 n*n비트 곱셈뿐만 아니라 두 개의 복소수를 곱하는 기능인 컴플렉스 멀티피케이션(Complex multipication), 두 벡터의 도트(Dot), 크로스 프로덕트(Cross product)를 구하는 기능, 두 벡터의 내적을 구하는 곱셈 등 등의 다양한 기능을 나타내고 있다.
이런 곱셈 연산은 특성상 사인드, 언사인드 넘버(signed, unsigned number)로 이루어진 두 수치의 곱으로 이루어지는 것이 일반적이다.
이하, 종래 기술에 따른 고속 곱셈장치에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다.
도 1 은 종래 기술에 따른 곱셈장치의 블럭 구성도로서, 입력되는 n비트의 피승수 및 승수에 대하여 부스(Booth) 알고리즘을 수행하여 n/2비트의 파셜 프로덕트를 출력하는 부스 인코더(1)와, 상기 부스 인코더(1)의 n/2비트의 파셜 프로덕트에 대하여 압축 알고리즘을 수행하여 두 개의 2n비트 데이터로 압축하여 출력하는 파셜 프로덕트 로우 압축부(2)와, 상기 파셜 프로덕트 로우 압축부(2)의 2n비트 데이터를 가산하여 2n비트의 곱셈 연산 데이터를 출력하는 가산부(3)로 구성된다.
도 2 는 도 1 의 파셜 프로덕트 로우(partial product row)의 압축 방법(compression Method) 예시도이다.
이와 같이 구성된 종래 기술에 따른 고속 곱셈장치의 동작을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
먼저, 부스 인코더(1)는 입력되는 n비트의 피승수 및 승수에 대하여 부스 알고리즘을 수행하여 n/2비트의 파셜 프로덕트로 출력한다.
그러면 파셜 프로덕트 로우 압축부(2)는 부스 인코더(1)의 n/2비트의 파셜 프로덕트에 대하여 도 2 에 도시된 바와 같은 압축 알고리즘을 수행하여 두 개의 2n비트 데이터로 출력한다.
이에 따라 가산부(3)는 상기 파셜 프로덕트 로우 압축부(2)에서 출력된 두 개의 2n비트 데이터를 가산하여 2n비트의 곱셈 연산 데이터를 출력한다.
이에 따라 가산부(3)는 상기 6비트인 두 개의 데이터를 가산하여 곱셈 연산에 따른 6비트의 최종 곱셈 연산 데이터(C)를 출력한다.
그러나 종래 기술에 따른 곱셈장치에 있어서는 입력되는 피승수 및 승수가 사인드 넘버(signed number)이어야만 정확한 곱셈 연산이 이루어지지 피승수 및 승수중 하나 또는 모두 언사인드 넘버(unsigned number)라면 곱셈 연산시 오류가 발생하는 문제점이 있다.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 하나 또는 모두의 언사인드 넘버의 피승수 및 승수를 사인드 넘버로 변환하여 고속 곱셈 연산을 수행하도록 한 고속 곱셈장치를 제공하는데 그 목적이 있다.
도 1 - 종래 기술에 따른 곱셈장치의 블럭 구성도
도 2 - 본 발명에 따른 고속 곱셈장치의 일실시예 블럭 구성도
도 3 - 도 2 의 사인(sign) 발생부의 일부 블럭 구성도
도 4 - 도 2 의 일실시예에 따른 8*8비트 곱셈을 위한 사인 확장(sign extention) 방법 예시도
도 5 - 도 4 의 파셜 프로덕트 로우(partial product row)의 압축 방법(compression Method) 예시도
도면의 주요부분에 대한 부호의 설명
110 : 사인 발생부 120 : 부스 인코더
130 : 파셜 프로덕트 로우 압축부 140 : 가산부
상기와 같은 목적을 달성하기 위한 본 발명에 따른 고속 곱셈장치의 특징은, 입력되는 n비트의 사인드 또는 언사인드 넘버의 피승수 및 승수중 언사인드 넘버를 사인드 넘버로 변환하여 출력하는 사인 발생부를 포함하여 구성되는데 있다.
이하, 본 발명에 따른 고속 곱셈장치에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다.
도 3 은 본 발명에 따른 고속 곱셈장치의 일실시예 블럭 구성도로서, 입력되는 n비트의 사인드 또는 언사인드 넘버의 피승수 및 승수중 언사인드 넘버를 사인드 넘버로 변환하여 출력하는 사인 발생부(110)와, 상기 사인 발생부(110)에서 발생된 두 개의 사인드 넘버에 대하여 부스(Booth) 알고리즘을 수행하여 n/2비트의 파셜 프로덕트를 출력하는 부스 인코더(120)와, 상기 부스 인코더(120)의 n/2비트의 파셜 프로덕트에 대하여 압축 알고리즘을 수행하여 두 개의 2n비트 데이터를 출력하는 파셜 프로덕트 로우 압축부(130)와, 상기 파셜 프로덕트 로우 압축부(130)의 2n비트 데이터를 가산하여 2n비트의 곱셈 연산 데이터를 출력하는 가산부(140)로 구성된다.
그리고 도 3 은 도 2 의 사인(sign) 발생부의 일부 블럭 구성도로서, 상기 사인 발생부(110)는 외부에서 곱셈 연산을 위해 입력되는 지시 비트와 피승수(A)의 최상위 비트(MSB)를 논리곱하여 피승수(A)의 사인 비트를 출력하는 제 1 앤드 게이트(111)와, 상기 외부에서 곱셈 연산을 위해 입력되는 지시 비트와 승수(B)의 최상위 비트를 논리곱하여 승수(B)의 사인 비트를 출력하는 제 2 앤드 게이트(112)로 구성된다.
아울러 도 4 는 도 2 의 일실시예에 따른 8*8비트 곱셈을 위한 사인 확장(sign extention) 방법 예시도이고, 도 5 는 도 4 의 파셜 프로덕트 로우(partial product row)의 압축 방법(compression Method) 예시도이다.
이와 같이 구성된 본 발명에 따른 고속 곱셈장치의 동작을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
먼저, 사인 발생부(110)는 입력되는 n비트의 사인드 또는 언사인드 넘버의 피승수(A) 및 승수(B)중 언사인드 넘버를 사인드 넘버로 변환하여 출력한다.
아울러 사인 발생부(110)는 상기 입력되는 n비트의 사인드 또는 언사인드 넘버의 피승수(A) 및 승수(B)중 사인드 넘버를 사인드 넘버로 변환하여 출력한다.
즉 사인 발생부(110)는 상기 피승수(A)의 사인 비트의 값과 동일한 값으로 한 비트를 추가하여 n+1로 변환하고 승수(B)의 비트의 값과 동일한 값으로 두 비트를 추가하여 n+2로 변환한다.
여기서 사인 발생부(110)는 도 3 에 도시된 바와 같이 내부의 제 1 앤드 게이트(111)는 외부에서 곱셈 연산을 위해 입력되는 지시 비트와 피승수(A)의 최상위 비트(MSB;Most Significant Bit)를 논리곱하여 피승수(A)의 사인 비트(Sign Bit)를 출력한다.
그리고 제 2 앤드 게이트(112)는 상기 외부에서 곱셈 연산을 위해 입력되는 지시 비트와 승수(B)의 최상위 비트(MSB;Most Significant Bit)를 논리곱하여 두 개의 승수(B) 사인 비트(Sign Bit)를 출력한다.
여기서 지시 비트는 외부에서 곱셈 연산을 위해 입력되는 비트로 2비트로 구성되며 한 비트[1]는 상기 제 1 앤드 게이트(111)로, 다른 한 비트[0]는 상기 제 2 앤드 게이트(112)로 입력된다.
이후 사인 발생부(110)는 도 3 에 도시되지 않은 다른 블럭을 이용하여 상기 피승수(A)의 사인 비트(Sign Bit)는 n+1비트로, 두 개의 승수(B) 사인 비트(Sign Bit)는 각각 n+2비트로 출력한다.
그러면 부스 인코더(120)는 상기 사인 발생부(110)에서 출력된 서로 다른 비트의 피승수(A) 및 승수(B)에 대하여 부스(Booth) 알고리즘을 수행하여 n/2비트의 파셜 프로덕트를 생성한다.
이에 따라 파셜 프로덕트 로우 압축부(130)는 상기 부스 인코더(120)의 n/2비트의 파셜 프로덕트에 대하여 압축 알고리즘을 수행하여 두 개의 2n비트 파셜 프로덕트 로우를 출력한다.
그러면 가산부(140)는 상기 파셜 프로덕트 로우 압축부(130)에서 출력된 두 개의 2n비트 파셜 프로덕트 로우를 가산하여 2n비트의 곱셈 연산 데이터(C)를 출력한다.
상기의 곱셈 연산 과정을 예를 들어 상세히 설명하면 다음과 같다.
먼저, 사인 발생부(110)는 n비트의 사인드 또는 언사인드 넘버의 피승수(A) 및 승수(B)에 대하여 피승수(A)의 최상위 비트의 값과 동일한 값으로 한 비트를 더하여 n+1비트를 구하고 승수(B)의 최상의 비트의 값과 동일한 값으로 두 비트를 더하여 n+2비트를 구한다.
즉, 사인 발생부(110)내 제 1 앤드 게이트(111)는 외부로부터 곱셈 연산을 위해 입력되는 지시 비트와 피승수(A)의 최상위 비트를 논리곱하여 한 개의 피승수(A)의 사인 비트를 출력한다.
아울러 제 2 앤드 게이트(112)는 외부로부터 곱셈 연산을 위해 입력되는 지시 비트와 승수(B)의 최상위 비트를 논리곱하여 한 개의 승수(B)의 사인 비트를 출력한다.
그러면 부스 인코더(120)는 도 4 에 도시된 바와 같이 외부에서 가해진 피승수 및 승수(각각 8비트)와 부가되는 사인 비트(피승수 1비트, 승수 2비트)를 각가 합한 9비트의 피승수 및 10비트의 승수에 대하여 승산한다.
이후 부스 인코더(120)는 상기 발생된 각각의 파셜 프로덕트 로우와 외부에서 인가된 사인 확장 블럭 및 보수를 취하기 위한 변수(a0, ···, a3)에 대하여 부스 알고리즘을 수행하여 5(=10/2)개의 파셜 프로덕트 로우를 출력한다.
여기서 도 4 는 총 10개의 파셜 프로덕트 로우중 4개의 파셜 프로덕트 로우만 나타낸 것이다.
이에 따라 파셜 프로덕트 로우 압축부(130)는 상기 부스 인코더(120)의 5개의 파셜 프로덕트 로우에 한 개의 추가적인 파셜 프로덕트 로우를 가산한 후 내부의 전가산기(미도시)를 이용하여 압축한 후 압축기(미도시)에 의해 압축 알고리즘을 수행하여 2n비트의 파셜 프로덕트 로우를 출력한다.
여기서 압축기는 4 to 2 압축기이다.
예를 들면 도 5 에 도시된 바와 같이 파셜 프로덕트 압축부(2)내 전가산기는 상기 6개의 파셜 프로덕트 로우를 3개씩 가산하여 2개의 파셜 프로덕트 로우를 만든 후 총 4개의 파셜 프로덕트 로우를 출력한다.
그리고 4 to 2 압축기는 상기 전가산기에서 출력된 4개의 파셜 프로덕트 로우에 대하여 4 to 2 압축 알고리즘을 수행하여 두 개의 파셜 프로덕트 로우를 출력한다.
그러면 가산기(140)는 상기 두 개의 파셜 프로덕트 로우를 가산하여 2n비트의 곱셈 연산 데이터(C)를 출력한다.
이상에서 설명한 바와 같이 본 발명에 따른 고속 곱셈장치는 하나 또는 모두의 언사인드 넘버의 피승수 및 승수를 사인드 넘버로 변환하여 고속 곱셈 연산을 수행하도록 함으로써 고속 곱셈 연산시 발생하는 오류를 줄이도록 하여 데이터 처리 속도를 향상시킬 수 있는 효과가 있다.

Claims (3)

  1. 고속 곱셈 장치에 있어서, 입력되는 소정 비트의 사인드 또는 언사인드 넘버의 피승수 및 승수중 하나 또는 모두의 언사인드 넘버를 사인드 넘버로 변환하여 출력하는 사인 발생수단과; 상기 사인 발생수단에서 발생된 사인드 넘버에 대하여 부스(Booth) 알고리즘을 수행하여 파셜 프로덕트를 생성하는 부스 인코딩수단을 포함하여 구성된 것을 특징으로 하는 고속 곱셈장치.
  2. 제 1 항에 있어서, 상기 사인 발생수단은 입력되는 소정 비트의 사인드 또는 언사인드 넘버의 피승수 및 승수중 하나 또는 모두의 사인드 넘버를 사인드 넘버로 변환하여 출력하는 것을 더 포함함을 특징으로 하는 고속 곱셈장치.
  3. 제 1 항에 있어서, 상기 사인 발생수단은 상기 소정 비트의 피승수 및 승수 입력중 피승수는 상기 피승수의 사인 비트의 값과 동일한 값으로 1비트를, 승수는 상기 승수의 사인 비트의 값과 동일한 값으로 2비트를 부가하여 사인드 넘버로 변환함임을 특징으로 하는 고속 곱셈장치.
KR1019970040361A 1997-08-23 1997-08-23 고속 곱셈장치 KR19990017434A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970040361A KR19990017434A (ko) 1997-08-23 1997-08-23 고속 곱셈장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970040361A KR19990017434A (ko) 1997-08-23 1997-08-23 고속 곱셈장치

Publications (1)

Publication Number Publication Date
KR19990017434A true KR19990017434A (ko) 1999-03-15

Family

ID=66047066

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970040361A KR19990017434A (ko) 1997-08-23 1997-08-23 고속 곱셈장치

Country Status (1)

Country Link
KR (1) KR19990017434A (ko)

Similar Documents

Publication Publication Date Title
US6233597B1 (en) Computing apparatus for double-precision multiplication
US10949168B2 (en) Compressing like-magnitude partial products in multiply accumulation
Kodali et al. FPGA implementation of vedic floating point multiplier
US5343417A (en) Fast multiplier
Reddy et al. Design of approximate booth squarer for error-tolerant computing
Sousa Efficient method for magnitude comparison in RNS based on two pairs of conjugate moduli
Dhanabalan et al. Realization of Resource Efficient Block RAM Based Eight Bit Adder in FPGA
CN110879697B (zh) 一种近似计算tanh函数的装置
JP2006172035A (ja) 除算・開平演算器
US6173304B1 (en) Joint optimization of modified-booth encoder and partial product generator
CN115658008A (zh) 一种资源复用型超越函数运算实现方法
CN110825346A (zh) 一种低逻辑复杂度的无符号近似乘法器
US5999962A (en) Divider which iteratively multiplies divisor and dividend by multipliers generated from the divisors to compute the intermediate divisors and quotients
CN113157247B (zh) 一种可重构整型-浮点型乘法器
US7840628B2 (en) Combining circuitry
Kumar et al. Complex multiplier: implementation using efficient algorithms for signal processing application
KR19990017434A (ko) 고속 곱셈장치
US7739323B2 (en) Systems, methods and computer program products for providing a combined moduli-9 and 3 residue generator
KR100295646B1 (ko) 왈리스 트리를 이용한 곱셈방법
Patel et al. Efficient Tree Multiplier Design by using Modulo 2 n+ 1 Adder
CN116126283B (zh) 一种fpga卷积加速器的资源占用率优化方法
Li et al. An Area-Power-Efficient Multiplier-less Processing Element Design for CNN Accelerators
CN115617307A (zh) 一种资源复用型超越函数运算实现装置
Aoki et al. High-radix CORDIC algorithms for VLSI signal processing
KR100580255B1 (ko) 복수 개의 동일한 부분곱 계산 모듈을 포함하는 다중곱셈기 및 다중 곱셈 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application