KR960032231A - 승산기 및 곱합 연산 장치 - Google Patents
승산기 및 곱합 연산 장치 Download PDFInfo
- Publication number
- KR960032231A KR960032231A KR1019960003559A KR19960003559A KR960032231A KR 960032231 A KR960032231 A KR 960032231A KR 1019960003559 A KR1019960003559 A KR 1019960003559A KR 19960003559 A KR19960003559 A KR 19960003559A KR 960032231 A KR960032231 A KR 960032231A
- Authority
- KR
- South Korea
- Prior art keywords
- circuit
- output
- stage
- holding
- selector
- 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.)
- Granted
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/52—Multiplying; Dividing
-
- 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
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5324—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
-
- 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
- G06F7/5443—Sum of products
-
- 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
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction 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/5336—Reduction 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
- G06F7/5338—Reduction 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 each bitgroup having two new bits, e.g. 2nd order MBA
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 (6)
- 피승수 데이타를 유지하는 피승수 유지회로(1)와, 승수 데이타의 상위로부터 소정 비트를 유지하는 승수유지회로(2)와, 클록의 전반 또는 후반에 의해 상기 승수 데이타의 하위로부터 소정 비트와 상기 승수 유지회로의 출력을 전환시키는 제1선택기(4)와, 중간합 데이타를 유지하는 중간합 유지회로(3)와, 상기 클록의 전반 또는 후반에 의해 초기치와 상기 중간합 유지회로의 출력을 전환시키는 제2선택기(5)와, 상기 제1선택기의 출력과 상기 피승수 유지회로의 출력에 기초하여 부분곱을 생성하는 복수단의 부분곱 생성회로(6a)와, 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기각 단의 부분곱 생성회로의 출력에 기초하여 누적가산을 행하여 승산의 중간결과인 상기 중간합 데이타를 생성하는 복수단의 누적 가산회로(6b)와, 상기 누적 가산회로의 소정단의 출력과 상기 각 단의 누적 가산회로의 출력의 일부를 유지하는 누적 가산결과 유지회로(9)와, 상기 각 단의 누적 가산회로의 출력의 1부를 격납하는 출력 유지회로(7,8)를 갖는 승산기에 있어서, 상기 클록의 전반 또는 후반의 제1타이밍시에는, 상기 제1선택기에 의해 상기 승수 데이타의 하위로부터 소정 비트를 선택하고, 상기 제2선택기에 의해 상기 초기치를 선택하며, 상기 각단의 부분곱 생성회로는 상기 제1선택기의 출력 1비트와 상기 피승수 유지회로의 각 비트의 출력으로부터 부분곱을 생성하는 동시에, 상기 각 단의 누적 가산회로는 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 부분곱 생성회로의 출력과의 가산을 행하고, 그 소정단의 누적 가산회로의 출력을 상기 중간합 데이타로서 중간합 유지회로에 기록하고, 상기 각 단의 누적 가산회로의 출력의 소정 비트수를 상기 출력 유지회로의 소정의 비트 위치에 기록하며, 상기 클록이 전환된 클록 후반 또는 전반의 제2타이밍시에는, 상기 제1선택기에 의해 상기 승수 유지회로의 출력을 선택하고, 상기 제2선택기에 의해 상기 중간합 유지회로의 출력을 선택하며, 상기 각 단의 부분곱 생성회로는 상기 제1선택기의 출력 1비트와 상기 피승수 유지회로의 각 비트의 출력으로부터 부분곱을 생성하는 동시에, 상기 각 단의 누적 가산회로는 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 부분곱 생성회로의 출력의 가산을 행하고, 그 소정단의 누적 가산회로의 출력과 상기 각 단의 누적 가산회로의 출력의 소정 비트수를 상기 누적 가산결과 유지회로에 기록하는 것을 특징으로 하는 승산기.
- 피승수 데이타를 유지한 피승수 유지회로(21)와, 승수 데이타의 상위로부터 소정 비트를 유지하는 승수 유지회로(22)와, 클록의 전반 또는 후반에 의해 상기 승수 데이타의 하위로부터 소정 비트와 상기 승수 유지회로의 출력을 전환시키는 제1선택기(24)와, 상기 제1선택기의 출력을 부호화하는 부호화 회로(26), 중간합 데이타를 유지하는 중간합 유지회로(23)와, 상기 클록의 전반 또는 후반에 의해 초기치와 상기 중간합 유지회로의 출력을 전환시키는 제2선택기(25)와, 상기 부호화 회로의 출력과 상기 피승수 유지회로의 출력에 기초하여 부분곱을 생성하는 복수단의 부분곱 생성회로(28a)와, 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 각 단의 부분곱 생성회로의 출력에 기초하여 누적 가산을 행하여 승산의 중간 결과인 상기 중간합 데이타를 생성하는 복수단의 누적 가산회로(27b)와, 상기 누적 가산회로의 소정단의 출력과 상기 각 단의 누적 가산회로의 출력의 일부를 유지하는 누적 가산결과 유지회로(31)와, 상기 각 단의 누적 가산회로의 출력의 1부를 격납하는 출력 유지회로(29,30)를 갖는 승산기에 있어서, 상기 클록의 전반 또는 후반의 제1타이밍시에는, 상기 제1선택기에 의해 상기 승수 데이타의 하위로부터 소정 비트를 선택하고, 상기 제2선택기에 의해 상기 초기치를 선택하며, 상기 각 단의 부분곱 생성회로는 상기 부호화 회로의 부호화 결과와 상기 피승수 유지회로의 출력으로부터 부분곱을 생성하는 동시에, 상기 각 단의 누적 가산회로는 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 부분곱 생성회로의 출력과의 가산을 행하며, 그 소정단의 누적 가산회로의 출력을 상기 중간합 데이타로서 중간합 유지회로에 기록하고, 상기 각 단의 누적 가산회로의 출력의 소정 비트수를 상기 출력 유지회로의 소정의 비트위치에 기록하며; 상기 클록이 전환된 클록 후반 또는 전반의 제2타이밍시에는, 상기 제1선택기에 의해 상기 승수 유지회로의 출력을 선택하고, 상기 제2선택기에 의해 상기 중간합 유지회로의 출력을 선택하며, 상기 각 단의 부분곱 생성회로는 상기 부호화 회로의 출력과 상기 피승수 유지회로의 출력으로부터 부분곱을 생성하는 동시에, 상기 각 단의 누적 가산회로는 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 부분곱 생성회로의 출력과의 가산을 행하며, 그 소정단의 누적 가산회로의 출력과 상기 각 단의 누적 가산회로의 출력의 소정 비트수를 상기 누적 가산결과 유지회로에 기록하는 것을 특징으로 하는 승산기.
- 피승수 데이타를 유지하는 피승수 유지회로(21)와, 승수 데이타의 상위로부터 소정 비트를 유지하는 승수 유지회로(22)와, 클록의 전반 또는 후반에 의해 상기 승수 데이타의 하위로부터 소정 비트와 상기 승수 유지회로의 출력을 전환시키는 제1선택기(24)와, 상기 제1선택기의 출력을 부호화하는 부호화 회로(26)와, 상기 부호화 회로의 부호화 결과를 상기 클록의 논리치가 변화할 때에 유지하여 출력하는 부호화 결과 유지회로(41)와, 중간합 데이타를 유지하는 중간합 유지회로(23a)와, 상기 클록의 후반 또는 전반에 의해 초기치와 상기 중간합 유지회로의 출력을 전환시키는 제2선택기(25a)와, 상기 부호화 결과 유지회로의 출력과 상기 피승수 유지회로의 출력에 기초하여 부분곱을 생성하는 복수단의 부분곱 생성회로(27a)와, 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 각 단의 부분곱 생성회로의 출력에 기초하여 누적 가산을 행하여 승산의 중간결과인 상기 중간합 데이타를 생성하는 복수단의 누적 가산회로(27b)와, 상기 누적 가산회로의 소정단의 출력과 상기 각 단의 누적 가산회로의 출력의 일부를 유지하는 누적 가산결과 유지회로(31a)와, 상기 각 단의 누적 가산회로의 출력의 1부를 격납하는 출력 유지회로(29a, 39a)를 갖는 승산기에 있어서, 상기 클록의 전반 또는 후반의 제1타이밍시에는 , 상기 제1선택기에 의해 상기 승수 데이타의 하위로부터 소정 비트를 선택하고, 상기 부호화 회로는 상기 제1선택기의 출력의 부호화를 행하여 그 부호화 결과를 상기 부호화 결과 유지회로에 기록하며; 상기 클록이 전환된 클록 후반 또는 전반의 제2타이밍시에는, 상기 제2선택기에 의해 상기 초기치를 선택하고, 상기 각 단의 부분곱 생성회로는 상기 부호화 결과 유지회로의 출력과 상기 피승수 유지회로의 출력으로부터 부분곱을 생성하는 동시에, 상기 각 단의 누적 가산회로는 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 부분곱 생성회로의 출력과의 가산을 행하며, 그 소정단의 누적 가산회로의 출력을 상기 중간합 데이타로서 중간합 유지회로에 기록하고, 상기 각 단의 누적 가산회로의 출력의 소정 비트수를 상기 출력 유지회로의 소정의 비트 위치에 기록하며, 상기 제1선택기에 의해 상기 승수 유지회로의 출력을 선택하고, 상기 부호화 회로는 상기 제1선택기의 출력의 부호화를 행하여 그 부호화 결과를 상기 부호화 결과 유지회로에 기록하며; 상기 클록이 전환된 클록 전반 또는 후반의 제3타이밍시에는, 상기 제2선택기에 의해 상기 중간합 유지회로의 출력을 선택하고, 상기 각 단의 부분곱 생성회로는 상기 부호화 결과 유지회로의 출력과 상기 피승수 유지회로의 출력으로부터 부분솝을 생성하는 동시에, 상기 각 단의 누적 가산회로는 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 부분곱 생성회로의 출력과의 가산을 행아며, 그 소정단의 누적 가산회로의 출력과 상기 각 단의 누적 가산회로의 소정 비트수를 상기 누적 가산결과 유지회로에 기록하는 것을 특징으로 하는 승산기.
- 제1항에 따른 승산기의 상기 누적 가산결과 유지회로의 출력측에, 자리올림 보존 가산기(51)를 통하여 자리올림 전파 가산기(32a)를 설치한 곱합 연산장치에 있어서, 상기 제2타이밍후에 상기 클록이 전환된 클록 전반 또는 후반의 제3타이밍시에, 상기 자리올림 보존 가산기에 의해서 상기 누적 가산결과 유지회로의 출력과 곱합 연산 데이타와의 가산을 행하고, 그 가산 결과를 다시 상기 자리올림 전파 가산기에 의해서 가산하여 곱합 연산 결과를 출력하는 것을 특징으로 하는 곱합 연산 장치.
- 제2항에 따른 승산기의 상기 누적 가산 결과 유지회로 및 상기 출력 유지회로의 출력측에 자리올림 보존 가산기(51)를 통하여 자리올림 전파 가산기(32a)를 설치한 곱합 연산 장치에 있어서, 상기 제2타이밍후에 상기 클록이 전환된 클록 전반 또는 후반의 제3타이밍시에, 상기 자리올림 보존 가산기에 의하여 상기 누적 가산 결과 유지회로의 출력 및 상기 출력 유지회로의 출력과 곱합 연산 데이타와의 가산을 행하고, 그 가산 결과를 다시 상기 자리올림 전파 가산기에 의하여 가산하여 곱합 연산 결과를 출력하는 것을 특징으로 하는 곱합 연산 장치.
- 제3항에 따른 승산기의 상기 누적 가산 결과 유지회로 및 상기 출력 유지회로의 출력측에 자리올림 보존 가산기(51)를 통하여 자리올림 전파 가산기(32a)를 설치한 곱합 연산 장치에 있어서, 상기 제3타이밍후에 상기 클록이 전환된 클록 후반 또는 전반의 제4타이밍시에, 상기 자리올림 보존 가산기에 의하여 상기 누적 가산 결과 유지회로의 출력 및 상기 출력 유지회로의 출력과 곱합 연산 데이타와의 가산을 행하며, 그 가산 결과를 다시 상기 자리올림 전파 가산기에 의하여 가산하여 곱합 연산 결과를 출력하는 것을 특징으로 하는 곱합 연산 장치.※참고사항 : 최초출원 내용에 의하여 공개하는 것임.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP95-025039 | 1995-02-14 | ||
JP02503995A JP3277089B2 (ja) | 1995-02-14 | 1995-02-14 | 乗算器及び積和演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960032231A true KR960032231A (ko) | 1996-09-17 |
KR100218825B1 KR100218825B1 (ko) | 1999-09-01 |
Family
ID=12154777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960003559A Expired - Fee Related KR100218825B1 (ko) | 1995-02-14 | 1996-02-14 | 승산기 및 곱합 연산 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5675527A (ko) |
JP (1) | JP3277089B2 (ko) |
KR (1) | KR100218825B1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3451579B2 (ja) * | 1997-03-03 | 2003-09-29 | 日本電信電話株式会社 | 自己同期型パイプラインデータパス回路 |
KR100265355B1 (ko) * | 1997-05-22 | 2000-09-15 | 김영환 | 마이크로프로세서에서 2사이클 파이프라인방식으로 부동소수점 데이터를 곱셈 연산하는 장치 |
JP3529622B2 (ja) | 1998-05-08 | 2004-05-24 | 株式会社東芝 | 演算回路 |
US6182104B1 (en) * | 1998-07-22 | 2001-01-30 | Motorola, Inc. | Circuit and method of modulo multiplication |
CA2294554A1 (en) * | 1999-12-30 | 2001-06-30 | Mosaid Technologies Incorporated | Method and circuit for multiplication using booth encoding and iterative addition techniques |
KR100478974B1 (ko) * | 2002-12-03 | 2005-03-25 | 한국전자통신연구원 | 직렬 유한체 승산기 |
US7028068B1 (en) * | 2003-02-04 | 2006-04-11 | Advanced Micro Devices, Inc. | Alternate phase dual compression-tree multiplier |
US7269616B2 (en) * | 2003-03-21 | 2007-09-11 | Stretch, Inc. | Transitive processing unit for performing complex operations |
US8019805B1 (en) * | 2003-12-09 | 2011-09-13 | Globalfoundries Inc. | Apparatus and method for multiple pass extended precision floating point multiplication |
US9710228B2 (en) * | 2014-12-29 | 2017-07-18 | Imagination Technologies Limited | Unified multiply unit |
CN112988111B (zh) * | 2021-03-05 | 2022-02-11 | 唐山恒鼎科技有限公司 | 一种单比特乘法器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6284335A (ja) * | 1985-10-09 | 1987-04-17 | Hitachi Ltd | 乗算回路 |
-
1995
- 1995-02-14 JP JP02503995A patent/JP3277089B2/ja not_active Expired - Fee Related
-
1996
- 1996-02-14 US US08/599,966 patent/US5675527A/en not_active Expired - Lifetime
- 1996-02-14 KR KR1019960003559A patent/KR100218825B1/ko not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR100218825B1 (ko) | 1999-09-01 |
JP3277089B2 (ja) | 2002-04-22 |
JPH08221256A (ja) | 1996-08-30 |
US5675527A (en) | 1997-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5448639A (en) | Digital signature device | |
JP4955182B2 (ja) | 整数の計算フィールド範囲の拡張 | |
US4754421A (en) | Multiple precision multiplication device | |
EA002183B1 (ru) | Арифметическое устройство для работы с целыми числами с многократно увеличенной точностью | |
KR960032231A (ko) | 승산기 및 곱합 연산 장치 | |
JPH0727458B2 (ja) | 乗算器 | |
KR970007613A (ko) | 클럭 사이클당 복수의 몫 디지트를 발생하는 srt 하드웨어 및 제곱근 유닛 | |
US7849125B2 (en) | Efficient computation of the modulo operation based on divisor (2n-1) | |
KR20040060445A (ko) | 4-2 컴프레서를 이용한 몽고메리 모듈러 승산기 및 그승산 방법 | |
US7296049B2 (en) | Fast multiplication circuits | |
KR100431576B1 (ko) | 갈로아필드다항식승산/제산회로및그것을통합하는디지탈신호프로세서 | |
KR960018874A (ko) | 승산기 및 디지탈필터 | |
KR930006539A (ko) | 가산기 | |
KR950012271A (ko) | 이산코사인변환장치 | |
Lim et al. | A modular approach to the computation of convolution sum using distributed arithmetic principles | |
JPH0832416A (ja) | 疑似ランダムパターン発生回路 | |
US7058787B2 (en) | Method and circuit for generating memory addresses for a memory buffer | |
KR100480997B1 (ko) | GF(p)와 GF(2^m)의 유한체 곱셈 연산 장치 | |
JP3913921B2 (ja) | 有限フィールドでの任意要素の逆数具現回路 | |
US7471789B2 (en) | Encryption circuit achieving higher operation speed | |
US6275837B1 (en) | Method for the implementation of an elementary modular operation according to the Montgomery method | |
KR960002013A (ko) | 비트단위의 파이프라인을 이용한 웨이브렛 변환 프로세서 | |
JP2778478B2 (ja) | 相関演算プロセッサ | |
KR20000009759A (ko) | 모듈러 곱셈기 | |
KR930006540A (ko) | 승산 회로의 부분 승수 선택 회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 19960214 |
|
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 19960214 Comment text: Request for Examination of Application |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 19990312 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 19990611 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 19990612 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20020529 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20030530 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20030530 Start annual number: 5 End annual number: 5 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20050311 |