KR20060044102A - 복수 개의 동일한 부분곱 계산 모듈을 포함하는 다중곱셈기 및 다중 곱셈 방법 - Google Patents
복수 개의 동일한 부분곱 계산 모듈을 포함하는 다중곱셈기 및 다중 곱셈 방법 Download PDFInfo
- Publication number
- KR20060044102A KR20060044102A KR1020040091907A KR20040091907A KR20060044102A KR 20060044102 A KR20060044102 A KR 20060044102A KR 1020040091907 A KR1020040091907 A KR 1020040091907A KR 20040091907 A KR20040091907 A KR 20040091907A KR 20060044102 A KR20060044102 A KR 20060044102A
- Authority
- KR
- South Korea
- Prior art keywords
- partial
- multiplication
- multiplier
- product calculation
- partial product
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
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/52—Multiplying; Dividing
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
Description
Claims (8)
- m(m은 양의 정수) 개의 비트를 가지는 피승수 및 n(n은 양의 정수) 개의 비트를 가지는 승수를 수신하고, 실행 코드에 의하여 지시되는 곱셈 연산을 수행하여 결과를 출력하는 다중 곱셈기에 있어서,상기 피승수를 k(k는 양의 우수) 개의 부분 피승수들로 분할하고, 상기 승수를 l 개의 부분 승수들로 분할하며, 상기 부분 피승수들 각각 및 상기 부분 승수들의 각각을 조합하여 k 개의 부분 입력쌍을 생성하기 위한 승수 및 피승수 추출부;k 개의 상기 부분 입력쌍 각각을 수신하여 부분 캐리 및 부분곱을 출력하기 위한 k 개의 동일한 부분곱 계산 모듈들을 포함하는 곱셈 연산부;k 개의 상기 부분 캐리 및 k 개의 상기 부분곱들을 조합하여 상기 실행 코드 에 의하여 요구되는 곱셈 연산의 결과를 출력하기 위한 결과 형성부를 포함하며, 상기 실행 코드가 단순 곱셈 연산 명령일 경우,상기 부분곱 계산 모듈들 각각은, 수신된 부분 입력쌍에 상응하는 승산 영역(multiplication coverage)을 가지며, 상기 상응하는 승산 영역에 인접한 상위 승산 영역을 가지는 부분곱 계산 모듈로부터 부분합을 하향 전달(passing down)받아 부분 캐리 및 부분곱을 연산하고, 상기 부분 캐리 중 상기 상응하는 승산 영역을 초과하는 부분 캐리를 상기 상위 승산 영역을 가지는 부분곱 계산 모듈로 상향 전달(passing up)하며,상기 결과 형성부는, 상기 부분곱 계산 모듈들 각각으로부터 수신된 부분곱들을 상기 부분곱 계산 모듈들에 상응하는 승산 영역에 따라 조합하여 단순 곱셈 연산의 결과를 출력하는 것을 특징으로 하는 복수 개의 동일한 부분곱 계산 모듈을 포함하는 수행하기 위한 다중 곱셈기.
- 제1항에 있어서, 상기 실행 코드가 단순 곱셈 연산 명령일 경우, 상기 부분곱 계산 모듈들 각각은,상기 부분 입력쌍에 포함된 상기 부분 피승수에 상기 부분 승수의 각 비트를 승산한 n 개의 내부곱 벡터(inner product vector)들을 가산하기 위한 가산기를 포함하고, 상기 가산기는 각 가산 단계에서,가산되는 내부곱 벡터들의 최상위 비트(highest bit number)가 일치되도록, 상기 상위 승산 영역을 가지는 부분곱 계산 모듈로부터 하향 전달받은 부분합 중 상응하는 비트들을 최상위 비트보다 낮은 비트수를 가지는 내부곱 벡터에 패딩(padding)하여 가산을 수행하는 것을 특징으로 하는 복수 개의 동일한 부분곱 계산 모듈을 포함하는 수행하기 위한 다중 곱셈기.
- 제2항에 있어서, 상기 실행 코드가 단순 곱셈 연산 명령일 경우,상기 승산 영역은 가장 낮은 승산 영역은 [0, n+m/k-1]이며, 나머지 승산 영역들은 인접하는 하위 승산 영역의 최상위 비트의 상위 비트로부터 각각 m/k 개의 비트들을 가지도록 설정되는 것을 특징으로 하는 복수 개의 동일한 부분곱 계산 모듈을 포함하는 수행하기 위한 다중 곱셈기.
- 제2항에 있어서, 상기 승수 및 피승수 추출부는, 상기 실행 코드가 단순 곱셈 연산 명령일 경우,상기 피승수를 최상위 비트(MSB, most significant bit)부터 m/k 개의 비트를 가지는 k 개의 부분 피승수들(MCD(1), MCD(2), ..., MCD(k))로 분할하고,상기 p(p<=k 인 양의 정수) 번째 부분 피승수에 상기 승수를 조합하여 부분 입력쌍을 생성하되, p가 k 값이 될 때까지 1씩 증가시키는 방식으로 조합하는 것을 특징으로 하는 복수 개의 동일한 부분곱 계산 모듈을 포함하는 다중 곱셈기.
- m(m은 양의 정수) 개의 비트를 가지는 피승수 및 n(n은 양의 정수) 개의 비트를 가지는 승수를 수신하고, 실행 코드에 의하여 지시되는 곱셈 연산을 수행하여 결과를 출력하기 위한 다중 곱셈 방법에 있어서,상기 피승수를 k(k는 양의 우수) 개의 부분 피승수들로 분할하고, 상기 승수를 l 개의 부분 승수들로 분할하며, 상기 부분 피승수들 각각 및 상기 부분 승수들의 각각을 조합하여 k 개의 부분 입력쌍을 생성하기 위한 승수 및 피승수 추출 단계;k 개의 상기 부분 입력쌍 각각을 수신하여 부분 캐리 및 부분곱들을 계산하는 동일한 부분곱 계산 단계를 k번 수행하는 곱셈 연산 단계; 및k 개의 상기 부분 캐리 및 k 개의 상기 부분곱을 조합하여 상기 실행 코드에 의하여 요구되는 곱셈 연산의 결과를 출력하기 위한 결과 형성 단계를 포함하며, 상기 실행 코드가 단순 곱셈 연산 명령일 경우,상기 부분곱 계산 단계 각각은, 수신된 부분 입력쌍에 상응하는 승산 영역(multiplication coverage)을 가지며, 상기 상응하는 승산 영역에 인접한 상위 승산 영역에 상응하는 부분곱 계산 단계로부터 부분합을 하향 전달(passing down)받아 부분 캐리 및 부분곱을 연산하고, 상기 부분 캐리 중 상기 상응하는 승산 영역을 초과하는 부분 캐리를 상기 상위 승산 영역에 상응하는 부분곱 계산 단계로 상향 전달(passing up)하며,상기 결과 형성 단계는, 수신된 부분곱들을 상응하는 승산 영역에 따라 조합하여 단순 곱셈 연산의 결과를 출력하는 것을 특징으로 하는 동일한 부분곱 계산 단계를 반복하는 다중 곱셈 방법.
- 제5항에 있어서, 상기 실행 코드가 단순 곱셈 연산 명령일 경우, 상기 부분곱 계산 단계 각각은,상기 부분 입력쌍에 포함된 상기 부분 피승수에 상기 부분 승수의 각 비트를 승산한 n 개의 내부곱 벡터(inner product vector)들을 가산하기 위한 가산 단계를 포함하고, 각 가산 단계에서,가산되는 내부곱 벡터들의 최상위 비트(highest bit number)가 일치되도록, 상기 상위 승산 영역에 상응하는 부분곱 계산 단계로부터 하향 전달받은 부분합 중 상응하는 비트들을 최상위 비트보다 낮은 비트수를 가지는 내부곱 벡터에 패딩(padding)하여 가산을 수행하는 것을 특징으로 하는 동일한 부분곱 계산 단계를 반복하는 다중 곱셈 방법.
- 제6항에 있어서, 상기 실행 코드가 단순 곱셈 연산 명령일 경우,상기 승산 영역은 가장 낮은 승산 영역은 [0, n+m/k-1]이며, 나머지 승산 영역들은 인접하는 하위 승산 영역의 최상위 비트의 상위 비트로부터 각각 m/k 개의 비트들을 가지도록 설정되는 것을 특징으로 하는 동일한 부분곱 계산 단계를 반복하는 다중 곱셈 방법.
- 제6항에 있어서, 상기 승수 및 피승수 추출 단계는, 상기 실행 코드가 단순 곱셈 연산 명령일 경우,상기 피승수를 최상위 비트(MSB, most significant bit)부터 m/k 개의 비트 를 가지는 k 개의 부분 피승수들(MCD(1), MCD(2), ..., MCD(k))로 분할하는 피승수 분할 단계 및상기 p(p<=k 인 양의 정수) 번째 부분 피승수에 상기 승수를 조합하여 부분 입력쌍을 생성하되, p가 k 값이 될 때까지 1씩 증가시키는 방식으로 조합하는 부분 입력쌍 생성 단계를 포함하는 것을 특징으로 하는 동일한 부분곱 계산 단계를 반복하는 다중 곱셈 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040091907A KR20060044102A (ko) | 2004-11-11 | 2004-11-11 | 복수 개의 동일한 부분곱 계산 모듈을 포함하는 다중곱셈기 및 다중 곱셈 방법 |
US11/037,547 US7769797B2 (en) | 2004-01-20 | 2005-01-19 | Apparatus and method of multiplication using a plurality of identical partial multiplication modules |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040091907A KR20060044102A (ko) | 2004-11-11 | 2004-11-11 | 복수 개의 동일한 부분곱 계산 모듈을 포함하는 다중곱셈기 및 다중 곱셈 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060044102A true KR20060044102A (ko) | 2006-05-16 |
Family
ID=37148950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040091907A Ceased KR20060044102A (ko) | 2004-01-20 | 2004-11-11 | 복수 개의 동일한 부분곱 계산 모듈을 포함하는 다중곱셈기 및 다중 곱셈 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20060044102A (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100768088B1 (ko) * | 2005-12-09 | 2007-10-18 | 한국전자통신연구원 | 고속 저전력 고정계수 곱셈기 및 그 방법 |
WO2008036859A1 (en) * | 2006-09-20 | 2008-03-27 | Intel Corporation | Instruction and logic for performing a dot-product operation |
US7912891B2 (en) | 2005-12-09 | 2011-03-22 | Electronics And Telecommunications Research Institute | High speed low power fixed-point multiplier and method thereof |
KR101243041B1 (ko) * | 2011-04-08 | 2013-03-20 | 한국과학기술원 | 혼성 인코딩을 이용한 곱셈기 및 곱셈 연산 방법 |
KR20200143608A (ko) * | 2019-06-14 | 2020-12-24 | 포항공과대학교 산학협력단 | 뉴럴 네트워크 가속기 |
-
2004
- 2004-11-11 KR KR1020040091907A patent/KR20060044102A/ko not_active Ceased
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100768088B1 (ko) * | 2005-12-09 | 2007-10-18 | 한국전자통신연구원 | 고속 저전력 고정계수 곱셈기 및 그 방법 |
US7912891B2 (en) | 2005-12-09 | 2011-03-22 | Electronics And Telecommunications Research Institute | High speed low power fixed-point multiplier and method thereof |
WO2008036859A1 (en) * | 2006-09-20 | 2008-03-27 | Intel Corporation | Instruction and logic for performing a dot-product operation |
KR101105527B1 (ko) * | 2006-09-20 | 2012-01-13 | 인텔 코오퍼레이션 | 내적 연산을 수행하기 위한 명령 및 논리 |
KR101243041B1 (ko) * | 2011-04-08 | 2013-03-20 | 한국과학기술원 | 혼성 인코딩을 이용한 곱셈기 및 곱셈 연산 방법 |
KR20200143608A (ko) * | 2019-06-14 | 2020-12-24 | 포항공과대학교 산학협력단 | 뉴럴 네트워크 가속기 |
US11562218B2 (en) | 2019-06-14 | 2023-01-24 | Samsung Electronics Co., Ltd. | Neural network accelerator |
US11954582B2 (en) | 2019-06-14 | 2024-04-09 | Samsung Electronics Co., Ltd. | Neural network accelerator |
US12307358B2 (en) | 2019-06-14 | 2025-05-20 | Samsung Electronics Co., Ltd. | Neural network accelerator |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7769797B2 (en) | Apparatus and method of multiplication using a plurality of identical partial multiplication modules | |
US10949168B2 (en) | Compressing like-magnitude partial products in multiply accumulation | |
US6601077B1 (en) | DSP unit for multi-level global accumulation | |
CN104246690B (zh) | 数字信号处理器中用于信号处理的系统和方法 | |
US6065033A (en) | Wallace-tree multipliers using half and full adders | |
KR20060044102A (ko) | 복수 개의 동일한 부분곱 계산 모듈을 포함하는 다중곱셈기 및 다중 곱셈 방법 | |
US8275822B2 (en) | Multi-format multiplier unit | |
AU630617B2 (en) | Improved floating point unit computation techniques | |
KR100580255B1 (ko) | 복수 개의 동일한 부분곱 계산 모듈을 포함하는 다중곱셈기 및 다중 곱셈 방법 | |
US7607165B2 (en) | Method and apparatus for multiplication and/or modular reduction processing | |
US6151617A (en) | Multiplier circuit for multiplication operation between binary and twos complement numbers | |
Laxman et al. | FPGA implementation of different multiplier architectures | |
JP2007500388A (ja) | 長整数乗算器 | |
US7149768B2 (en) | 3-input arithmetic logic unit | |
US7194498B2 (en) | Higher radix multiplier with simplified partial product generator | |
CN100461152C (zh) | 数字信号处理器、数据处理方法、数字信号处理系统 | |
US5883825A (en) | Reduction of partial product arrays using pre-propagate set-up | |
KR100768088B1 (ko) | 고속 저전력 고정계수 곱셈기 및 그 방법 | |
US20140046996A1 (en) | Unified computation systems and methods for iterative multiplication and division, efficient overflow detection systems and methods for integer division, and tree-based addition systems and methods for single-cycle multiplication | |
US20030093454A1 (en) | Adder tree structure DSP system and method | |
JPH0793134A (ja) | 乗算器 | |
US6742011B1 (en) | Apparatus and method for increasing performance of multipliers utilizing regular summation circuitry | |
US6004022A (en) | Product sum operation apparatus | |
Patronik et al. | Design of residue generators with CLA/compressor trees and multi-bit EAC | |
JP2556300B2 (ja) | 乗算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20041111 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20060612 Patent event code: PE09021S01D |
|
E601 | Decision to refuse application | ||
PE0601 | Decision on rejection of patent |
Patent event date: 20070111 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20060612 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |