KR920007505B1 - 신경회로망을 이용한 곱셈기 - Google Patents
신경회로망을 이용한 곱셈기 Download PDFInfo
- Publication number
- KR920007505B1 KR920007505B1 KR1019890001368A KR890001368A KR920007505B1 KR 920007505 B1 KR920007505 B1 KR 920007505B1 KR 1019890001368 A KR1019890001368 A KR 1019890001368A KR 890001368 A KR890001368 A KR 890001368A KR 920007505 B1 KR920007505 B1 KR 920007505B1
- Authority
- KR
- South Korea
- Prior art keywords
- multiplier
- power supply
- supply voltage
- digit
- amplifier
- Prior art date
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/40—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
- G06F7/44—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/5318—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters
-
- 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/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/607—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Abstract
내용 없음.
Description
본 발명은 디지탈 곱셈기에 관한 것으로, 특히 회로구성의 간략화 및 수행속도의 향상을 위해 신경회로망을 이용한 디지탈 곱셈기에 관한 것이다.
최근, 폰 노이만 아키텍쳐를 갖는 현재의 디지탈 콤퓨터로는 그 처리속도의 비약적인 발전에도 불구하고 종합적인 판단이나 기능이 요구되는 작업에는 매우 부적절하다는 사실들이 점차 인식되고 있다. 인간의 두뇌는 데이터를 연상기억(associative memory)과 병렬방식으로 처리하는 것으로 알려져 있으며 부분적으로 정보로부터 인식과 기억이 가능하다. 이러한 사람 두뇌의 병렬처리방식과 연상기억을 모방하여 콤퓨터를 동작시키려고 하는 소위 뉴럴 콤퓨터(neural computer)의 구현을 위한 광범위한 연구가 전세계적으로 진행되고 있다.
1982년 J.J. Hopfield는 인간두뇌의 연상기억처리방식을 본따서 신경회로모델(neural network model)을 제안하고 신경망을 아날로그회로로 대체하고 VLSI기술을 사용하여 하드웨어화할 수 있는 가능성을 제시하였다(J.J. Hopfield, Proc. Natl. Acad. Scir. U.S.A., Vol. 79, pp2544~2558, April 1982).
또한, 1986년 J.J. Hopfield는 최적화 문제를 풀기 위한 모델을 제사하면서 A/D 변화기를 예로들어 설명하였다(D.W. Tank and J.J. Hopfield. IEEE Transactions on circnits and Systems, Vol. CAS-33, No. 5, May 1986). 그러나, 상기 A/D변환회로는 국부최소값(Local Minima)이 두개가 생겨 회로가 불안정하게 되는 문제점을 가지고 있는 것이 지적되었으며 따라서 회로를 안정화시키기 위해서는 별도의 보정회로를 추가로 설계하지 않으면 안되었다.
한편, 디지탈 곱셈기(Digital Multiplier)는 2진 피승수(multiplicnad)를 2진 승수(multiplier)의 각 디지트로 반복 승산하고 이 승산결과의 부분곱 결과치들을 곱셈기의 각 디지트에 대응하여 가산처리함으로써 최종 승산결과치를 얻는 알고리즘을 수행한다. 여기서 2진 N비트의 피승수(multiplicnad)를 2진 N비트의 승수로 곱한 승산결과치는 2N비트를 가지게 된다. 상술한 곱셈 알고리즘을 폰 노이만 방식, 즉, 논리로 직회로방식으로 구현하기 위해서 승수의 각 디지트에 따라 피승수로 쉬프트레지스터내에서 쉬프팅시켜가면서 단계적으로 부분곱을 구하고 이를 가산기를 통하여 누산레지스터에 저장하고 상기 누산레지스터에 저장된 전단계의 부분곱을 다음단계의 부분곱 가산기에서 누산시켜 감으로써 최종 승산결과를 얻는 시리얼곱셈기와, 각 단계별 부분곱을 병렬처리하여 동시에 가산함으로써 최종승산결과를 얻는 병렬곱셈기의 구성이 소개되어 있다.
상기 시리얼곱셈기는 승산처리속도가 느리고 병렬곱셈기는 시리얼 곱셈기에 비해 승산처리속도는 빠르나 회로구성이 복잡하여 집적회로 구현시 많은 면적을 차지하게 되는 결점을 가지고 있다.
본 발명의 목적은 회로구성이 간략하고 수행속도가 매우 빠른 디지탈 곱셈기를 제공하는데 있다.
본 발명의 다른 목적은 새로운 단방향 궤환형 신경회로망을 이용한 디지탈곱셈기를 제공하는데 있다.
상기 목적을 달성하기 위하여 본 발명은 2진 N비트 피승수를 2진 N비트 승수로 곱하는 디지탈곱셈기에 있어서, 상기 피승수를 승수의 각 디지트로 곱한 부분곱을 구하고 구한 부분곱 결과치를 상기 곱셈기의 각 디지트에 대응하여 배치하기 위한 복수의 부분곱수단들과, 상기 곱셈기의 최하위 디지트를 제외한 각 디지트에 대응한 상기 부분곱 결과치와 하위디지트에서 전파된 캐리를 병렬입력하여 이들 중 "1"의 갯수를 계수하고 계수치의 최하위비트를 그 디지트의 최종 곱셈결과치로 제공하고 나머지 비트들을 상위 디지트의 캐리로 전파시키기 위한 복수의 1's 카운터들을 구비하여서 된 것을 특징으로 한다.
상기 1's 카운터는 다음 입출력 전달함수
로 정의되는 단방향 궤환형 신경회망으로 구성한 것을 특징으로 한다. 여기서 Vj는 입력전압, Vk는 출력전압, Tij는 j번째 입력과 i번째 뉴런과의 상호연결세기이며 가중치 "1"로 일정하고, Tik는 k번째 출력의 i번째 뉴런에 피드백되는 상호연결세기이며 그 값은 k-1
으로 결정된다. 상기 전달함수의 식에서 1-2k-1은 i번째 뉴런의 바이어싱 연결세기를 나타낸다.
본 발명의 바람직한 실시예에서 상술한 연결세기는 MOS트랜지스터의 콘덕턴스의 크기로 설정하고 Tij 및 1은 PMOS로, Tik 및 21-1은 NMOS로 구성한다.
첨부한 도면을 참조하여 본 발명을 보다 상세히 설명하면 다음과 같다.
일반적으로 종이와 연필을 이용한 계산에 있어서는 곱하려고 하는 두수의 곱항을 순서대로 나열해 놓은 후 각각의 자리수에 해당하는 모든 곱항을 한번 더하고 이때 발생하는 여러개의 출력캐리를 모두 다음단에 더해준다. 즉 원하는 갯수의 입력과 그에 따른 한 자리수 이상의 캐리출력을 얻을 수 있는 가산기만 구성할 수 있다면 각 자리에 있어서 곱항을 더하는 것과 캐리넘김을 일괄적으로 처리하여 보다 빠른 수행속도를 기대할 수 있는 것이다. 예컨대 5×5 디지탈 곱셈기의 이진수곱셈에 대해 종이와 연필을 이용한 계산방식을 적용하여 승산할 경우 다음과 같이 곱셈과정을 나타낼 수 있다.
단, 각 경우에 있어서의 캐리발생을 모두 고려하기 위해 모든 입력이 1인 경우를 고려하였다.
상기 곱셈과정에서 나타난 바와 같이 각각의 곱항과 전번 두단에서 올라온 캐리와의 합에 의해 발생한 2-bit의 2진수 캐리가 다음단에 더해지고 캐리발생후 남은 값이 최종 출력이 된다. 가장 많은 갯수의 입력이 더해지는 비트는 최종 곱셈결과의 LSD로부터 5번째 디지트인 P4단으로서 총 7개의 값(1, 1, 1, 1, 1, 1, 0)이 더해진다. P4단을 고려함으로 7개의 입력의 "1"의 수를 세는 1's가 카운터회로가 필요함을 알수 있다. 나머지단은 각단에서 더해지는 입력이 캐리를 계산하여 각 경우에 해당하는 1's 카운터회로를 구성하여 회로면적을 최소화시킬 수 있음을 유의하여야 한다.
제1도는 상술한 5×5디지탈곱셈기에 사용하기 위해 단방향 궤환형 신경회로망에 의한 7 to 3 1's 카운터의 일 실시회로도이다. 제1도에서 1's 카운터의 입력단자들(IN1~IN7)은 증폭기(또는 neuron)(U1~U3)의 입력라인(L1~L3) PMOS 트랜지스터들의 게이트전극에 각각 연결되고 이 PMOS 트랜지스터들의 각 소오스전극에는 제1전원전압(Vno)이 가해지면 각 드레인전극은 하위비트의 입력라인에는 상위비트의 가중치가 피드백용 NMOS 트랜지스터의 콘덕턴스값으로 피드백되어진다. 이에 비하여 모든 MOS 트랜지스터의 기하학적 형상비, 즉 채널폭대 채널길이(W/L)의 비는 MOS 트랜지스터의 콘덕턴스를 특정화시킬 수 있다.
고정된 채널길이(L)에 대해 콘덕턴스는 채널폭(W)에 비례하게 된다. 콘덕턴스값 1은 PMOS의 채널길이(L) 2㎛에 채널폭(W) 5㎛의 경우를 나타낸다. NMOS에서는 W/L=2㎛/2㎛의 경우를 나타낸다. 따라서 PMOS 및 NMOP의 콘덕턴스값이 동수일 때에는 NMOS의 콘덕턴스가 우세로 된다.
제1도의 도면에 도시한 NMOS 트랜지스터의 각 수치 1,2,4는 트랜지스터의 형상비 W/L 값이 각각 2/2, 4/2, 8/2인 경우의 콘덕턴스값을 나타낸다. 따라서 각 입력라인(L1~L3)의 총 콘덕턴스는 PMOS의 콘덕턴스와 NMOS의 콘덕턴스의 차로 결정되고 그 차가 양수이면 증폭기의 출력은 "1"상태로 되고 음수이면 "0"상태로 된다. 각 증폭기의 출력은 인버터를 통하여 반전되어 1's 카운터의 출력단자(OUT1~OUT3)에 각각 가해지게 된다. 따라서 1's 카운터의 입출력 전달함수는
의 단방향 궤환형 신경회로모델에 따르게 된다.
여기서 Vj는 입력전압, Vk는 출력전압, Tij는 j번째 입력과 i번째 증폭기의 입력라인과의 상호연결세기로 본 실시예에서는 Tij는 1의 일정값을 가진다. Tik는 k번째 증폭기의 출력이 i번째 증폭기의 입력라인에 피드백되는 상호연결세기로, 본 실시예에서는
의 값을 가진다. 상기식에서 1-21-1은 j번째 증폭기의 입력라인의 바이어싱 연결세기를 나타낸다. 따라서 제1도의 7 to 3 1's 카운터의 상기식에 의해 입력라인(IN1~IN7)에 가해지는 1의 수에 따른 출력상태를 살펴보면, 먼저 모든 입력단자에 "0"가 일벽될 때 모든 PMOS는 턴온되므로 증폭기의 입력라인의 총 콘덕턴스는 양의 값을 갖게 되므로 증폭기(U1~U3)의 출력은 "1"상태로 되고 출력라인(OUT1~OUT3)의 값은 모두 "0"상태로 되게 된다. 한편 모든 입력단자에 "1"이 입력되면 모든 PMOS는 턴오프되어 있으므로 증폭기의 입력라인의 총 콘덕턴스는 음의 값을 갖게 되므로 증폭기(U1~U3)의 출력은 "0"상태로 되고 출력단자(OUT1~OUT3)의 값은 모두 "1"상태로 되게 된다.
제2도 및 제3도는 상술한 7 to 3 1's 카운터의 입력파형도 및 출력파형도를 나타낸다.
제4도는 본 발명에 의한 바람직한 일 실시예인 5×5 디지탈곱셈기의 회로도이다. 제4도에서는 전술한 곱셈과정에서 부분곱항들은 각각 AND게이트(G1~G25)로 구성하고 각 캐리항은 7 to 3 1's 카운터(CT1~CT8)로 구성한 것이다.
곱셈기의 최하위디지트(LSD)(P0)는 단순히 피승수의 최하위 비트인 A0와 승수의 최하위 비트인 B0의 곱을 수행하는 AND 게이트(G1)으로 산출된다. 곱셈기의 P1단은 A0×B1, A1×B0을 각각 수행하는 AND 게이트(G2, G3)의 각 출력을 병렬 입력하는 1's 카운터(CT1)의 LSB로 산출된다. 곱셈기의 P2단은 A0×B2, A1×B1, A2×B0를 각각 수행하는 AND 게이트(G4~G6)의 각 출력과 상기 1's 카운터(CT1)의 두번째 비트를 병렬 입력하는 1's 카운터(CT2)의 LSB로 산출된다. 곱셈기의 P3단은 A0×B3, A1×B2, A2×B1, A2×B0를 각각 수행하는 AND 게이트(G7~G10)의 각 출력과 상기 1's 카운터(CT2)의 두번째 비트를 병렬 입력하는 1's 카운터(CT3)의 LSB로 산출된다.
곱셈기의 P4단은 A0×B4, A1×B3, A2×B2, A3×B1, A4×B0를 각각 수행하는 AND 게이트(G11~G15)의 각 출력과, 상기 1's 카운터(CT2)의 MSB와, 상기 1's 카운터(CT3)의 두번째 비트를 병렬 입력하는 1's 카운터(CT4)의 LSB로 산출된다. 곱셈기의 P5단은 A1×B4, A2×B3, A3×B2, A4×B1을 각각 수행하는 AND 게이트(G16~G1)의 각 출력과, 상기 1's 카운터(CT3)의 MSB와, 상기 1's 카운터(CT4)의 두번째 비트를 병렬 입력하는 1's 카운터(CT5)의 LSB로 산출된다. 곱셈기의 P6단은 A1×B4, A3×B3, A4×B2를 각각 수행하는 AND 게이트(G20~G22)의 각 출력과, 상기 1's 카운터(CT4)의 MSB와, 상기 1's 카운터(CT5)의 두번째 비트를 병렬 입력하는 1's 카운터(CT6)의 LSB로 산출된다. 곱셈기의 P7은 A3×B4, A4×B3을 각각 수행하는 AND 게이트(G23, G24)의 각 출력과, 상기 1's 카운터(CT5)의 MSB와 상기 1's 카운터(CT6)의 두번째 비트를 병렬 입력하는 1's 카운터(CT7)의 LSB로 산출된다.
곱셈기의 P8단 및 P9단은 A4×B4를 수행하는 AND 게이트(G25)의 출력과, 상기 1's 카운터(CT6)의 MSB, 상기 1's 카운터(CT7)의 두번째 비트 및 MSB를 병렬 입력하는 1's 카운터(CT8)의 LSB 및 두번째 비트로 각각 산출된다.
이상과 같이 본 발명에서는 AND 게이트와 단방향 궤환형 신경회로망을 이용한 1's 카운터만으로 디지탈 곱셈기를 구성함으로써 보다 회로구성을 간략화할 수 있고 보다 빠른 수행속도를 기대할 수 있다.
상술한 실시예에서는 1's 카운터의 회로설계에 각 증폭기의 입력라인에 있어서 PMOS와 NMOS의 총 콘덕턴스의 차가 동수일 때 NMOS가 우세하도록 트랜지스터의 형상비 W/L를 5/2 : 2/2로 하였으나, 바이어스용 PMOS를 제거하고 트랜지스터의 형상비를 6/2 : 2/2로 하여 PMOS와 NMOS의 총 콘덕턴스의 차가 동수일 때 PMOS가 우세하도록 설계하여도 마찬가지 결과를 얻을 수 있음을 유의하여야 한다.
또한, 본 명세서에서 5×5 디지탈곱셈기를 예를들어 설명하였으나 본 발명은 N×N디지탈곱셈기의 확장도 가능하다. 예컨대, 12×12 디지탈곱셈기에서는 144개의 AND 개이트와, 10개의 15 to 4 1's 카운터로 구성할 수 있음을 유의하여야 한다.
Claims (12)
- 2진 N비트 피승수를 2진 N비트 승수로 곱하는 디지탈 곱셈기에 있어서, 상기 피승수를 승수의 각 디지트로 곱한 부분곱을 이들 부분곱결과치를 상기 곱셈기의 각 디지탈에 대응하여 배치하기 위한 복수의 부분곱수단들과; 그리고 상기 곱셈기의 LSD를 제외한 각 디지트에 대응한 상기 부분곱결과치에 하위 디지트에서 전파된 캐리를 병렬 입력하여 이들 중 "1"의 갯수를 계수하고 이 계수치의 LSB를 그 디지트의 최종 곱셈결과치로 제공하고 나머지 비트들을 상위 디지트의 캐리로 전파시키기 위한 복수의 1's 카운터를 구비한 것을 특징으로 하는 디지탈곱셈기.
- 제2항에 있어서, 상기 1's 카운터는 복수의 병렬 입력에 따라 복수의 증폭기의 각 입력라인에 일정 연결세기로 제1전원전압을 결합하기 위한 PMOS트랜지스터들; 상기 복수의 증폭기의 각 입력라인에 상위 출력비트의 증폭기의 출력에 따라 그 출력의 2진 가중치의 연결세기로 제2전원전압을 결합하기 위한 NMOS트랜지스터들; 상기 복수의 증폭기의 각 입력라인에 제1전원전압에 의해 그 증폭기의 2진 가중치의 연결세기로 제2전원전압을 결합하기 위한 NMOS트랜지스터 및 제2전원전압에 의해 일정연결세기로 제1전원전압을 결합하기 위한 PMOS트랜지스터를 구비한 것을 특징으로 하는 디지탈 곱셈기.
- 제3항에 있어서, 상기 제1전원전압은 MOS트랜지스터의 VDD구동전압이고, 상기 제2전원전압은 그라운드 레벨의 OV인 것을 특징으로 하는 디지탈곱셈기.
- 제4항에 있어서, 상기 증폭기의 입력라인에 대한 PMOS트랜지스터의 콘덕턴스의 총합과 NMOS트랜지스터의 총합이 동수일때에는 NMOS트랜지스터의 콘덕턴스가 큰 것을 특징으로 하는 디지탈곱셈기.
- 제5항에 있어서, 상기 PMOS트랜지스터의 기하학적 형상비는 5㎛/2㎛이고 기본 NMOS트랜지스터의 기하학적 형상비는 2㎛/2㎛인 것을 특징으로 하는 디지탈곱셈기.
- 제3항에 있어서, 상기 증폭기는 직렬로 접속된 두개의 CMOS인버터로 구성한 것을 특징으로 하는 디지탈곱셈기.
- 제7항에 있어서, 상기 증폭기의 출력은 CMOS인버터를 통하여 출력단자에 가해지는 것을 특징으로 하는 디지탈곱셈기.
- 제9항에 있어서, 상기 1's 카운터는 복수의 병렬입력에 따라 복수의 증폭기의 각 입력라인에 일정연결세기로 제1전원전압을 결합하기 위한 PMOS트랜지스터들; 상기 복수의 증폭기의 각 입력라인에 상위 출력비트의 증폭기의 출력에 따라 그 출력의 2진 가중치의 연결세기로 제2전원전압을 결합하기 위한 NMOS트랜지스터들; 그리고 상기 복수의 증폭기의 각 입력라인에 제1전원전압에 의해 그 증폭기의 2진 가중치의 연결세기로 제2전원전압을 결합하기 위한 NMOS트랜지스터를 구비한 것을 특징으로하는 디지탈곱셈기.
- 제10항에 있어서, 상기 제1전원전압은 MOS트랜지스터의 VDD구동전압이고, 상기 제2전원전압은 그라운드레벨의 OV인 것을 특징으로 하는 디지탈곱셈기.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019890001368A KR920007505B1 (ko) | 1989-02-02 | 1989-02-02 | 신경회로망을 이용한 곱셈기 |
US07/473,633 US5095457A (en) | 1989-02-02 | 1990-02-01 | Digital multiplier employing CMOS transistors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019890001368A KR920007505B1 (ko) | 1989-02-02 | 1989-02-02 | 신경회로망을 이용한 곱셈기 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR900013388A KR900013388A (ko) | 1990-09-05 |
KR920007505B1 true KR920007505B1 (ko) | 1992-09-04 |
Family
ID=19283644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019890001368A KR920007505B1 (ko) | 1989-02-02 | 1989-02-02 | 신경회로망을 이용한 곱셈기 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5095457A (ko) |
KR (1) | KR920007505B1 (ko) |
Families Citing this family (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR930009066B1 (ko) * | 1990-08-18 | 1993-09-22 | 정호선 | 다층신경회로망 및 그 회로설계방법 |
US5187679A (en) * | 1991-06-05 | 1993-02-16 | International Business Machines Corporation | Generalized 7/3 counters |
US5479574A (en) * | 1993-04-01 | 1995-12-26 | Nestor, Inc. | Method and apparatus for adaptive classification |
US5541865A (en) * | 1993-12-30 | 1996-07-30 | Intel Corporation | Method and apparatus for performing a population count operation |
GB2290156A (en) * | 1994-06-01 | 1995-12-13 | Augustine Kamugisha Tibazarwa | Bit-focused multiplier |
US5642306A (en) * | 1994-07-27 | 1997-06-24 | Intel Corporation | Method and apparatus for a single instruction multiple data early-out zero-skip multiplier |
US6738793B2 (en) * | 1994-12-01 | 2004-05-18 | Intel Corporation | Processor capable of executing packed shift operations |
EP1302848B1 (en) * | 1994-12-01 | 2006-11-02 | Intel Corporation | A microprocessor having a multiply operation |
ZA9510127B (en) * | 1994-12-01 | 1996-06-06 | Intel Corp | Novel processor having shift operations |
US6275834B1 (en) * | 1994-12-01 | 2001-08-14 | Intel Corporation | Apparatus for performing packed shift operations |
EP0795153A4 (en) | 1994-12-02 | 2001-11-14 | Intel Corp | MICROPROCESSOR WITH COMPASS OPERATION OF COMPOSITE OPERANDS |
US5819101A (en) * | 1994-12-02 | 1998-10-06 | Intel Corporation | Method for packing a plurality of packed data elements in response to a pack instruction |
US5978827A (en) * | 1995-04-11 | 1999-11-02 | Canon Kabushiki Kaisha | Arithmetic processing |
US5752001A (en) * | 1995-06-01 | 1998-05-12 | Intel Corporation | Method and apparatus employing Viterbi scoring using SIMD instructions for data recognition |
US5721697A (en) * | 1995-06-16 | 1998-02-24 | Hewlett-Packard Company | Performing tree additions via multiplication |
US7395298B2 (en) * | 1995-08-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed data |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
US5721892A (en) * | 1995-08-31 | 1998-02-24 | Intel Corporation | Method and apparatus for performing multiply-subtract operations on packed data |
US6470370B2 (en) | 1995-09-05 | 2002-10-22 | Intel Corporation | Method and apparatus for multiplying and accumulating complex numbers in a digital filter |
US6058408A (en) * | 1995-09-05 | 2000-05-02 | Intel Corporation | Method and apparatus for multiplying and accumulating complex numbers in a digital filter |
US5983253A (en) * | 1995-09-05 | 1999-11-09 | Intel Corporation | Computer system for performing complex digital filters |
US5936872A (en) * | 1995-09-05 | 1999-08-10 | Intel Corporation | Method and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations |
US6237016B1 (en) | 1995-09-05 | 2001-05-22 | Intel Corporation | Method and apparatus for multiplying and accumulating data samples and complex coefficients |
US5822459A (en) * | 1995-09-28 | 1998-10-13 | Intel Corporation | Method for processing wavelet bands |
US5935240A (en) * | 1995-12-15 | 1999-08-10 | Intel Corporation | Computer implemented method for transferring packed data between register files and memory |
US5984515A (en) * | 1995-12-15 | 1999-11-16 | Intel Corporation | Computer implemented method for providing a two dimensional rotation of packed data |
US5757432A (en) * | 1995-12-18 | 1998-05-26 | Intel Corporation | Manipulating video and audio signals using a processor which supports SIMD instructions |
US5815421A (en) * | 1995-12-18 | 1998-09-29 | Intel Corporation | Method for transposing a two-dimensional array |
US5701508A (en) | 1995-12-19 | 1997-12-23 | Intel Corporation | Executing different instructions that cause different data type operations to be performed on single logical register file |
US5940859A (en) * | 1995-12-19 | 1999-08-17 | Intel Corporation | Emptying packed data state during execution of packed data instructions |
WO1997024681A1 (en) * | 1995-12-19 | 1997-07-10 | Intel Corporation | A computer system performing a two-dimensional rotation of packed data representing multimedia information |
US5857096A (en) * | 1995-12-19 | 1999-01-05 | Intel Corporation | Microarchitecture for implementing an instruction to clear the tags of a stack reference register file |
US6792523B1 (en) | 1995-12-19 | 2004-09-14 | Intel Corporation | Processor with instructions that operate on different data types stored in the same single logical register file |
US5852726A (en) * | 1995-12-19 | 1998-12-22 | Intel Corporation | Method and apparatus for executing two types of instructions that specify registers of a shared logical register file in a stack and a non-stack referenced manner |
US5835748A (en) * | 1995-12-19 | 1998-11-10 | Intel Corporation | Method for executing different sets of instructions that cause a processor to perform different data type operations on different physical registers files that logically appear to software as a single aliased register file |
US5787026A (en) * | 1995-12-20 | 1998-07-28 | Intel Corporation | Method and apparatus for providing memory access in a processor pipeline |
US6036350A (en) * | 1995-12-20 | 2000-03-14 | Intel Corporation | Method of sorting signed numbers and solving absolute differences using packed instructions |
US5907842A (en) * | 1995-12-20 | 1999-05-25 | Intel Corporation | Method of sorting numbers to obtain maxima/minima values with ordering |
US5880979A (en) * | 1995-12-21 | 1999-03-09 | Intel Corporation | System for providing the absolute difference of unsigned values |
US5742529A (en) * | 1995-12-21 | 1998-04-21 | Intel Corporation | Method and an apparatus for providing the absolute difference of unsigned values |
US5793661A (en) * | 1995-12-26 | 1998-08-11 | Intel Corporation | Method and apparatus for performing multiply and accumulate operations on packed data |
US5983257A (en) * | 1995-12-26 | 1999-11-09 | Intel Corporation | System for signal processing using multiply-add operations |
US5740392A (en) * | 1995-12-27 | 1998-04-14 | Intel Corporation | Method and apparatus for fast decoding of 00H and OFH mapped instructions |
US5835392A (en) * | 1995-12-28 | 1998-11-10 | Intel Corporation | Method for performing complex fast fourier transforms (FFT's) |
US5764943A (en) * | 1995-12-28 | 1998-06-09 | Intel Corporation | Data path circuitry for processor having multiple instruction pipelines |
US6092184A (en) * | 1995-12-28 | 2000-07-18 | Intel Corporation | Parallel processing of pipelined instructions having register dependencies |
US5862067A (en) * | 1995-12-29 | 1999-01-19 | Intel Corporation | Method and apparatus for providing high numerical accuracy with packed multiply-add or multiply-subtract operations |
US5621674A (en) * | 1996-02-15 | 1997-04-15 | Intel Corporation | Computer implemented method for compressing 24 bit pixels to 16 bit pixels |
US6009191A (en) * | 1996-02-15 | 1999-12-28 | Intel Corporation | Computer implemented method for compressing 48-bit pixels to 16-bit pixels |
US5959636A (en) * | 1996-02-23 | 1999-09-28 | Intel Corporation | Method and apparatus for performing saturation instructions using saturation limit values |
US5822232A (en) * | 1996-03-01 | 1998-10-13 | Intel Corporation | Method for performing box filter |
US5831885A (en) * | 1996-03-04 | 1998-11-03 | Intel Corporation | Computer implemented method for performing division emulation |
US5835782A (en) * | 1996-03-04 | 1998-11-10 | Intel Corporation | Packed/add and packed subtract operations |
US6070237A (en) * | 1996-03-04 | 2000-05-30 | Intel Corporation | Method for performing population counts on packed data types |
US5881279A (en) * | 1996-11-25 | 1999-03-09 | Intel Corporation | Method and apparatus for handling invalid opcode faults via execution of an event-signaling micro-operation |
US6014684A (en) * | 1997-03-24 | 2000-01-11 | Intel Corporation | Method and apparatus for performing N bit by 2*N-1 bit signed multiplication |
US5883825A (en) * | 1997-09-03 | 1999-03-16 | Lucent Technologies Inc. | Reduction of partial product arrays using pre-propagate set-up |
US6081824A (en) * | 1998-03-05 | 2000-06-27 | Intel Corporation | Method and apparatus for fast unsigned integral division |
US7395302B2 (en) | 1998-03-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing horizontal addition and subtraction |
US6041404A (en) | 1998-03-31 | 2000-03-21 | Intel Corporation | Dual function system and method for shuffling packed data elements |
US7392275B2 (en) * | 1998-03-31 | 2008-06-24 | Intel Corporation | Method and apparatus for performing efficient transformations with horizontal addition and subtraction |
US6418529B1 (en) * | 1998-03-31 | 2002-07-09 | Intel Corporation | Apparatus and method for performing intra-add operation |
US6167421A (en) * | 1998-04-09 | 2000-12-26 | Teranex, Inc. | Methods and apparatus for performing fast multiplication operations in bit-serial processors |
US6438572B1 (en) | 1998-09-21 | 2002-08-20 | Rn2R, L.L.C. | Adder having reduced number of internal layers and method of operation thereof |
US6205458B1 (en) | 1998-09-21 | 2001-03-20 | Rn2R, L.L.C. | Adder and multiplier circuits employing logic gates having discrete, weighted inputs and methods of performing combinatorial operations therewith |
US6430585B1 (en) | 1998-09-21 | 2002-08-06 | Rn2R, L.L.C. | Noise tolerant conductance-based logic gate and methods of operation and manufacturing thereof |
US6259275B1 (en) | 2000-05-01 | 2001-07-10 | Rn2R, L.L.C. | Logic gate having reduced power dissipation and method of operation thereof |
GB2365636B (en) * | 2000-08-04 | 2005-01-05 | Automatic Parallel Designs Ltd | A parallel counter and a multiplication logic circuit |
US6883011B2 (en) | 2000-08-04 | 2005-04-19 | Arithmatica Limited | Parallel counter and a multiplication logic circuit |
US20050021585A1 (en) * | 2000-08-04 | 2005-01-27 | Dmitriy Rumynin | Parallel counter and a logic circuit for performing multiplication |
US7136888B2 (en) * | 2000-08-04 | 2006-11-14 | Arithmatica Limited | Parallel counter and a logic circuit for performing multiplication |
US7155601B2 (en) * | 2001-02-14 | 2006-12-26 | Intel Corporation | Multi-element operand sub-portion shuffle instruction execution |
GB2373602B (en) | 2001-03-22 | 2004-11-17 | Automatic Parallel Designs Ltd | A multiplication logic circuit |
US7685212B2 (en) * | 2001-10-29 | 2010-03-23 | Intel Corporation | Fast full search motion estimation with SIMD merge instruction |
US7725521B2 (en) * | 2001-10-29 | 2010-05-25 | Intel Corporation | Method and apparatus for computing matrix transformations |
US7631025B2 (en) * | 2001-10-29 | 2009-12-08 | Intel Corporation | Method and apparatus for rearranging data between multiple registers |
US7430578B2 (en) * | 2001-10-29 | 2008-09-30 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed byte data |
US7818356B2 (en) | 2001-10-29 | 2010-10-19 | Intel Corporation | Bitstream buffer manipulation with a SIMD merge instruction |
US7624138B2 (en) | 2001-10-29 | 2009-11-24 | Intel Corporation | Method and apparatus for efficient integer transform |
US7739319B2 (en) * | 2001-10-29 | 2010-06-15 | Intel Corporation | Method and apparatus for parallel table lookup using SIMD instructions |
US20040054877A1 (en) | 2001-10-29 | 2004-03-18 | Macy William W. | Method and apparatus for shuffling data |
US7047383B2 (en) * | 2002-07-11 | 2006-05-16 | Intel Corporation | Byte swap operation for a 64 bit operand |
US7260595B2 (en) * | 2002-12-23 | 2007-08-21 | Arithmatica Limited | Logic circuit and method for carry and sum generation and method of designing such a logic circuit |
GB2398944B (en) * | 2003-01-14 | 2005-07-20 | Arithmatica Ltd | A logic circuit |
US7042246B2 (en) * | 2003-02-11 | 2006-05-09 | Arithmatica Limited | Logic circuits for performing threshold functions |
US7308471B2 (en) | 2003-03-28 | 2007-12-11 | Arithmatica Limited | Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding |
US7170317B2 (en) * | 2003-05-23 | 2007-01-30 | Arithmatica Limited | Sum bit generation circuit |
US8078836B2 (en) | 2007-12-30 | 2011-12-13 | Intel Corporation | Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a common set of per-lane control bits |
FR2990781A1 (fr) * | 2012-05-15 | 2013-11-22 | St Microelectronics Grenoble 2 | Multiplieur serie numerique |
US9355066B1 (en) * | 2012-12-17 | 2016-05-31 | Marvell International Ltd. | Accelerated calculation of array statistics |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1076186A (en) * | 1962-11-01 | 1967-07-19 | Gen Precision Inc | Improvements in or relating to digital computing circuits |
US3603776A (en) * | 1969-01-15 | 1971-09-07 | Ibm | Binary batch adder utilizing threshold counters |
US3675001A (en) * | 1970-12-10 | 1972-07-04 | Ibm | Fast adder for multi-number additions |
US3723715A (en) * | 1971-08-25 | 1973-03-27 | Ibm | Fast modulo threshold operator binary adder for multi-number additions |
US3795880A (en) * | 1972-06-19 | 1974-03-05 | Ibm | Partial product array multiplier |
US4607176A (en) * | 1984-08-22 | 1986-08-19 | The United States Of America As Represented By The Secretary Of The Air Force | Tally cell circuit |
US4891782A (en) * | 1987-12-17 | 1990-01-02 | United States Of America As Represented By The Secretary Of The Army | Parallel neural network for a full binary adder |
KR920007504B1 (ko) * | 1989-02-02 | 1992-09-04 | 정호선 | 신경회로망을 이용한 이진 가산기 |
-
1989
- 1989-02-02 KR KR1019890001368A patent/KR920007505B1/ko not_active IP Right Cessation
-
1990
- 1990-02-01 US US07/473,633 patent/US5095457A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR900013388A (ko) | 1990-09-05 |
US5095457A (en) | 1992-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR920007505B1 (ko) | 신경회로망을 이용한 곱셈기 | |
EP1676197B1 (en) | Operation circuit and operation control method thereof | |
EP0629969A1 (en) | Artificial neuron and method of using same | |
JP2992893B2 (ja) | プログラマブルアナログ神経回路 | |
KR20060083429A (ko) | 적화 연산 회로 및 방법 | |
Cotofana et al. | Addition related arithmetic operations via controlled transport of charge | |
GB2039393A (en) | Digital multipliers | |
CN112989273A (zh) | 一种利用补码编码进行存内运算的方法 | |
KR920007504B1 (ko) | 신경회로망을 이용한 이진 가산기 | |
US5347613A (en) | MOS multi-layer neural network including a plurality of hidden layers interposed between synapse groups for performing pattern recognition | |
CN110245750B (zh) | 一种基于fpga的神经网络数值模拟方法 | |
CN113672196B (zh) | 一种基于单数字信号处理单元的双乘法计算装置和方法 | |
JPH0289130A (ja) | 2進計算回路 | |
CN111988031B (zh) | 一种忆阻存内矢量矩阵运算器及运算方法 | |
JPH07210534A (ja) | ニューラルネットワーク | |
Arnold et al. | On the cost effectiveness of logarithmic arithmetic for backpropagation training on SIMD processors | |
CN114168107A (zh) | 一种存内精度可调的矢量矩阵乘法运算方法及运算器 | |
Wike et al. | The VLSI implementation of STONN | |
Rasanjani et al. | Fundamental Digital Module Realization Using RTL Design for Quantum Mechanics | |
KR920006321B1 (ko) | 신경회로망을 이용한 부동소수점방식 곱셈기회로 | |
US11476866B2 (en) | Successive approximation register using switched unit elements | |
Chhabra et al. | A Design Approach for Mac Unit Using Vedic Multiplier | |
Fang | Small area, low power, mixed-mode circuits for hybrid neural network applications | |
TW202331552A (zh) | 迭代混合矩陣乘法器 | |
CN116579393A (zh) | 一种使用与或门电路的神经网络计算方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20050802 Year of fee payment: 14 |
|
LAPS | Lapse due to unpaid annual fee |