KR920006321B1 - 신경회로망을 이용한 부동소수점방식 곱셈기회로 - Google Patents

신경회로망을 이용한 부동소수점방식 곱셈기회로 Download PDF

Info

Publication number
KR920006321B1
KR920006321B1 KR1019900005491A KR900005491A KR920006321B1 KR 920006321 B1 KR920006321 B1 KR 920006321B1 KR 1019900005491 A KR1019900005491 A KR 1019900005491A KR 900005491 A KR900005491 A KR 900005491A KR 920006321 B1 KR920006321 B1 KR 920006321B1
Authority
KR
South Korea
Prior art keywords
power supply
supply voltage
output
input
bit
Prior art date
Application number
KR1019900005491A
Other languages
English (en)
Other versions
KR910018897A (ko
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 KR1019900005491A priority Critical patent/KR920006321B1/ko
Priority to US07/617,029 priority patent/US5144575A/en
Publication of KR910018897A publication Critical patent/KR910018897A/ko
Application granted granted Critical
Publication of KR920006321B1 publication Critical patent/KR920006321B1/ko

Links

Images

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
    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4876Multiplying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Abstract

내용 없음.

Description

신경회로망을 이용한 부동소수점방식 곱셈기회로
제1도는 일반적인 부동소수점방식 곱셈기회로의 블럭 다이아그램.
제2도는 본 발명에 의한 3비트 가산기의 일 실시회로도.
제3도는 본 발명에 의한 24비트 곱셈기의 회로도.
제4도는 제3도의 26 대 15 1진 카운터의 블럭 다이아그램.
제5도는 제4도의 13 대 4 1진 카운터의 일 실시회로도.
제6도는 제1도의 첫번째 1의 위치 탐색수단의 일 실시회로도.
* 도면의 주요부분에 대한 부호의 설명
10 : 제어수단 11 : 지수부분 연산수단
11A : 제 1연산수단 11B : 제 2 연산수단
12 : 가수부분 연산수단 13 : 지수 및 가수부분 분리수단
13A : 첫번째 1의 위치 탐색수단 13B : 가수출력 선택수단
13C : 지수값 발생수단
본 발명은 곱셈기회로에 관한 것으로, 특히 수행 속도의 향샹을 위해 신경회로망을 이용한 부동소수점방식 곱셈기회로에 관한 것이다.
컴퓨터 내부에서의 수치적 자료표현은 적은 메모리 공간의 사용과 빠른 처리속도가 필수적이며, 표현된 자료는 높은 정밀도를 가져야한다. 이와같은 목적을 만족시키기 위해 지수와 가수부분으로 자료를 분리하여 표현하는 부동소수점방식을 사용한다. 컴퓨터에서 상기 부동소수점 표현방식에 의한 자료의 계산은 1960년대초 소프트웨어라이브러리 함수를 개발하여 처리하였으나 속도가 느리고 많은 메모리를 차지하는 문제점이 있었다. 이 문제점은 VLSI 기술의 발달에 따른 하드웨어화로 어느정도 개선되었으나 기존의 논리게이트들이 가지는 병렬처리 기능의 결여로 처리속도의 개선에는 많은 제약이 따른다. 따라서, 이러한 부동소수점 표현방식을 이용하는 곱셈기회로에 있어서 그 수행속도를 개선하는데는 많은 제약이 따르게 된다. 따라서 본 발명의 목적은 수행속도가 개선된 부동소수점방식 곱셈기회로를 제공하는데 있다.
상기 목적을 달성하기 위하여 본 발명은 M비트 지수부분과 N비트 가수부분으로 이루어진 K(M+N)비트의 두 2진수를 곱하는 부동소수점방식 곱셈기회로에 있어서, 상기 M비트의 제 1지수값, M비트의 제 2 지수값 및 1비트의 캐리입력에 따른 각 비트의 가중치의 연결세기로 제1전원전압을 (M+1)개의 라인에 각각 결합하기 위한 입력시냅스군과; 상기 제1전원전압 인가시, 합 출력 및 캐리출력 비트의 각 가중치의 연결세기로 제2전원전압을 상기 각 라인에 결합하기 위한 제1바이어스 시냅스군과; 상기 제2전원전압 인가시, 기준 가중치의 연결세기로 제1전원전압을 상기 각 라인에 결합하기 위한 제2바이어스 시냅스군과; 상위 출력비트의 가중치의 연결세기로 각 하위 출력비트의 상기 라인에 상기 제2전원전압을 결합하기 위한 피드백 시냅스군과; 상기 라인에 각각 결합되는 제1전원전압의 연결세기와 제 2 전원전압의 연결세기의 차를 비교하여 자극 또는 억제되는 뉴런군과; 상기 각 뉴런의 출력을 반전시키기 위한 인버터들로 이루어져 상기 두 2진수의 지수부분을 가산하는 가산기; 상기 가산기와; 상기 M비트의 어떤 지수값 및 캐리입력을 반전시키기 위한 인버터들로 이루어져 상기 두 2진수의 지수부분을 감산하는 감산기; 피승수를 승수의 각 디지트로 곱한 부분곱을 구하고 이들 부분곱 결과치를 곱셈기의 각 디지트에 대응하여 배치하기 위한 복수의 부분곱 수단들과; 상기 곱셈기의 최하위 디지트를 제외한 각 디지트에 대응한 상기 부분곱 결과치와 하위디지트에서 전파된 캐리를 병렬입력으로 받아들여, 이 입력들중 1의 갯수를 계수하고 이 계수치의 최하위비트를 그 디지트의 최종 곱셈결과치로 제공하며, 나머지 비트들을 상위 디지트의 캐리로 전파시키기 위한 복수의 1진 카운터들을 구비하여 상기 두 2진수의 가수부분을 곱하는 곱셈기; 그리고 상기 곱셈기의 A비트의 출력에 연결되는 입력측 뉴련군과; 상기 각 입력측 뉴런의 반전출력에 따라 기준 가중치의 연결세기로(A+1)개의 라인중 최하위비트라인을 제외한 A개의 라인에 제1전원전압을 각각 결합하기 위한 제1입력 시냅스군과; 상기 각 입력측 뉴런의 비반전출력에 따라 기준 가중치의 연결세기로 상기 (A+1)개의 라인중 최상위비트라인을 제외한 A개의 라인에 제2전원전압을 각각 결합하기 위한 제2입력 시냅스군과; 상기 제1전원전압 인가시, 기준 가중치의 연결세기로 제2전원전압을 상기 (A+1)개의 라인에 각각 결합하기 위한 제1바이어스 시냅스군과; 상기 제2전원전압 인가시, 기준 가중치의 연결세기로 제1전원전압을 상기 최하위 비트라인에 결합하기 위한 제2바이어스 시냅스와; 상기 라인에 결합되는 제1전원전압의 연결세기와 제2전원전압의 연결세기와의 차에 따라 자극 또는 억제되는 출력측 뉴런군으로 이루어져 상기 곱셈기의 출력중에서 처음으로 1이 나오는 출력비트의 위치를 찾는 탐색수단을 구비함을 특징으로 한다. 이하, 첨부된 도면을 참조하여 본 발명을 설명하기로 한다.
제1도는 일반적인 부동소수점방식 곱셈기회로의 블럭 다이아그램으로서, 32비트에 대한 일 실시예를 나타낸다. 입력 데이타의 형태는 부호부분 2비트(가수부호 1비트, 지수부호 1비트)와, 지수부분 6비트 그리고 가수부분 24비트로 이루어져 있고, 지수와 가수의 표현방법은 부호와 절대치 방식이며, 초기 소수점(initial decimal point)은 가수의 첫번째 비트 바로 앞으로 정한다. 부동소수점방식 곱셈기회로의 구성은 지수부분과 가수부분으로 분리하여 생각할 수 있는데, 먼저 지수부분에 대해서는 부호에 따라 더하거나 빼기 연산을, 가수부분에 대해서는 곱하기 연산을 행한다. 이러한 회로의 개략적인 구성은 제1도에 도시된 바와같이, 지수 및 가수의 부호를 결정하고, 지수부분의 연산을 제어하는 제어수단(10)과, 이 제어수단(10)의 콘트롤신호에 따라 지수부분을 연산하는 지수부분 연산수단(11)과, 가수부분을 연산하는 가수부분 연산수단(12)과, 이 가수부분 연산수단(12)의 출력을 가장 유효한 가수부분과 지수부분으로 분리하는 지수 및 가수부분 분리수단(13)으로 구성된다. 여기서, 입력은 SIGN1과 SIGN2로 표시된 2비트씩의 지수 및 가수부호 데이타, EXP1과, EXP2로 표시된 6비트씩의 지수부분 데이타, 그리고 MAN1과 MAN2로 표시된 24비트씩의 가수부분 데이타로 구성되며, 출력은 EXPS와 MANS로 표시된 출력단에서 나오는 1비트씩의 지수 및 가수부호 데이타, EOUT로 표시된 출력단에서 나오는 6비트의 지수부분 데이타, CO로 표시된 출력단에서 나오는 오버플로워(overflow)를 표시하기 위한 1비트 데이타, 그리고 MOUT로 표시된 출력단에서 나오는 24비트의 가수부분 데이타로 구성된다.
상술한 바와같이 구성된 32비트 부동소수점방식 곱셈기회로의 동작을 살펴보기로 한다. 먼저 가수부분의 동작을 살펴보면, MAN1과 MAN2의 24비트씩의 가수부분 데이타를 상기 가수부분 연산수단(12)에 입력하여 곱하기 연산을 행한다. 이 연산결과 출력된 48비트의 데이타를 가장 유효한 가수부분과 지수부분으로 분리하기 위하여 상기 지수 및 가수부분 분리수단(l3)에 상기 48비트의 출력을 입력한다. 즉, 첫번째 1의 위치 탐색수단(13A)에 상기 가수부분 연산수단(12)의 출력중 상위 24비트를 입력하면, 이 상위 24비트 데이타중 첫번째 1이 나오는 위치에 해당되는 자리에만 1을 내보내고, 상기 상위 24비트 데이타가 모두 0의 값일때는 25번째 출력이 1이 된다. 그리고, 상기 첫번째 1의 위치 탐색수단(13A)의 출력을 콘트롤신호로 사용하여 가수부분의 최종출력을 내보내는 가수출력 선택수단(13B)은 상기 가수부분 연산수단(12)의 출력중에서 상기 첫번째 1의 위치 탐색수단(13A)이 출력하는 자리, 즉 처음으로 1이 나오는 자리부터 순차적으로 24비트의 데이타를 출력으로 내보낸다. 이 데이타는 24비트로 나타낼 수 있는 가장 유효한 값으로서, MOUT 단자를 통해 나오는 가수부분의 최종출력값이다. 한편, 지수값 발생수단(13C)은 상기 첫번째 1의 위치 탐색수단(13A)의 상위 24비트 출력을 받아서 5비트의 지수값을 출력하고, 이 5비트 지수값을 상기 지수부분 연산수단중 제2연산수단에 넘겨준다.
지수부분의 동작을 살펴보면, 먼저 EXP1과 EXP2의 6비트씩의 지수부분 데이타를 제1연산수단(11A)에 입력하여, 상기 제어수단(10)의 제1콘트롤신호(C1)에 따라 가산이나 감산을 행한다. 이 가산이나 감산을 행한 후 나온 7비트의 출력데이타는 가수부분 계산시 넘어온 5비트의 데이타와 제2연산수단(11B)에서 상기 제어수단(10)의 제2콘트롤신호(c2)에 따라 가산이나 감산을 행한다. 이 가산이나 감산을 행한후 나온 상기 제2연산수단(11B)의 출력 EOUT가 지수부분의 최종출력값이 되고, CO 출력단에서 나온 데이타는 오버플로워 표시를 위한 출력데이타가 된다.
여기서, 상기 제1콘트롤신호(C1)는 상기 제어수단(10)에 입력되는 지수부호 데이타(SIGN1)와 지수부분 데이타(EXP1, EXP2)를 입력으로 하여 비교처리한 결과로서, 상기 두 지수의 부호가 같으면 제1연산수단(11A)인 제1가산수단을 선택하고, 상기 두 지수의 부호가 다르면 제1연산수단(11A)인 제1감산수단을 선택한다. 또한, 상기 제2콘트롤신호(C2)는 상기 제어수단(10)에 입력되는 상기 제1연산수단(11A)의 6비트 출력데이타(A)와 상기 지수값 발생수단(13C)의 5비트 지수값(B), 그리고 이들의 각 부호 데이타를 입력으로 하여 비교처리한 결과로서, 상기 6비트 출력데이타의 부호가 상기 5비트 지수값의 부호와 같으면 제2연산수단(11B)인 제2가산수단을, 다르면 제2연산수단(11B)인 제2감산수단을 각각 선택한다.
한편, 상기 제어수단(10)의 출력을 통해 지수부호 데이타(EXPS)와 가수부호 데이타(MANS)가 출력된다. 제2도 내지 제6도는 상술한 제1도의 블럭 다이아그램 가운데서 가산수단과 가수부분 연산수단, 그리고 첫번째 1의 위치 탐색수단을 신경회로망 개념을 사용하여 설계한 일 실시회로도들을 나타낸다.
제2도는 본 발명에 의한 3비트 가산기의 일 실시회로도이다. 제2도에서 가산기회로는 3입력(피가수,가수,캐리) 2출력(합,캐리) 회로로서, 입력을 받아 들이는 부분과 출력을 내보내는 부분, 그리고 전단으로 출력을 되먹임시키는 피드백부분으로 구성된다. 출력을 내보내는 부분은 두 3비트 입력(A2∼A0)(B2∼B0)과 1비트 캐리입력(Cx-1)과의 가산처리결과의 합 출력을 내보내기 위해 각 출력비트(S2)(S1)(S0)에 대응하는 갯수만큼 2개의 CMOS 인버터를 직렬로 연결한 버퍼증폭기들(B2∼B0)과, 상기 가산처리결과 발생된 캐리를 내보내기 위해 2개의 CMOS 인버터를 직렬로 연결한 버퍼증폭기(B3)와, 상기 각 버퍼증폭기의 출력을 반전시키기 위한 CMOS 인버터들(INT3∼INT0)로 이루어져 있다.
입력을 받아들이는 부분 가운데 피가수 A는 소오스 전극에 제1전원전압(V10)이 가해지고, 드레인전극이 상기 각 버퍼증폭기(B3)(B2)(B1)(B0)의 입력라인(L3)(L2)(L1)(L0)에 각각 연결된 PMOS 트랜지스터의 게이트 전극에 공통으로 가해진다. 가수 B는 소오스전극에 제1전원전압(V10)이 가해지고, 드레인전극이 상기 각 버퍼증폭기(B3)(B2)(B1)(B0)의 입력라인(L3)(L2)(L1)(L0)에 각각 연결된 PMOS 트랜지스터의 게이트전극에 공통으로 가해진다. 1비트 캐리입력 CX-1은 소오스전극에 제1전원전압(V10)이 가해지고, 드레인전극이 상기 각 버퍼증폭기(B3)(B2)(B1)(B0)의 입력라인(L3)(L2)(L1)(L0)에 각각 연결된 PMOS 트랜지스터의 게이트전극에 공통으로 가해진다. 또한, 상기 버퍼증폭단의 입력측에 바이어스를 잡아주기 위해서 소오스전극에 제2전원전압(그라운드 전위:GND)이 가해지고, 드레인전극이 상기 각 버퍼증폭기(B3)(B2)(B1)(B0)의 입력라인(L3)(L2)(L1)(L0)에 각각 연결된 NMOS 트랜지스터의 게이트전극에는 제1전원전압(V10)이 가해지며, 소오스전극에 제1전원전압(V10)이 가해지고, 드레인전극에 상기 각 버퍼증폭기(B3)(B2)(B1)(B0)의 입력라인(L3)(L2)(L1)(L0)에 각각 연결된 PMOS 트랜지스터의 게이트전극에는 상기 제2전원전압(그라운드 전위)이 가해진다. 상기에서, 피가수 A, 가수 B, 캐리 CX-1가 가해지는 PMOS 트랜지스터는 입력용 시냅스로 작용하며, 이들 입력용 시냅스의 연결세기는 PM0S 트랜지스터의 기하학적 형상비(W/L)를 조정하여 캐리입력의 컨덕턴스값은 1로, 피가수 및 가수입력의 컨덕턴스값은 각 입력비트의 가중치에 대응되어 4,2,1로 설정된다. 또한, 제2전원전압(그라운드 전위)이 가해지는 PMOS 트랜지스터는 제 2 바이어스용 시냅스로 작용하며, 상술한 캐리입력의 시냅스와 동일한 연결세기를 갖는다.
제1전원전압(Vl0)이 가해지는 NMOS 트랜지스터는 제1바이어스용 시냅스로 작용하며, 이들 제1바이어스용 시냅스의 연결세기는 NMOS 트랜지스터의 기하학적 형상비(W/L)를 조정하여 상기 입력라인(L0)에는 그 컨덕턴스값이 1인 것으로, 상기 입력라인(L1)에는 그 컨덕턴스값이 2인 것으로, 상기 입력라인(L2)에는 그 컨덕턴스값이 4인 것으로, 상기 입력라인(L3)에는 그 컨덕턴스값이 8인 것으로 NMOS 트랜지스터를 설정함으로써 각 입력라인(L3)(L2)(L1)(L0)의 가중치를 부여한다.
전단으로 출력을 되먹임시키는 피드백부분의 구성을 살펴보면 다음과 같다. 상기 캐리발생용 버퍼증폭기(B3)의 출력은 소오스전극에 제2전원전압(그라운드 전위)이 가해지고, 드레인전극이 상기 합 출력용 버퍼증폭기들(B2∼B0)의 입력라인(L2∼L0)에 각각 연결된 NMOS 트랜지스터의 게이트전극에 가해진다. 이와같은 방식으로 상기 합 출력용 버퍼증폭기들 가운데 상위 비트 버퍼증폭기들(B2)(B1)의 출력은 소오스전극에 제2전원전압(그라운드 전위)이 가해지고, 드레인전극이 하위 비트 버퍼증폭기들(B1)(B0)의 입력라인(L1)(L0)에 각각 연결된 NMOS 트랜지스터의 게이트전극에 가해진다. 상기에서 캐리 발생용 버퍼증폭기(B3)의 츨력과 합 출력용 버퍼증폭기들중 상위 비트 버퍼증폭기들(B2)(B1)의 출력이 가해지는 NMOS 트랜지스터는 피드백용 시냅스로 작용하며, 이들 피드백용 시냅스의 연결세기는 피드백 상위 비트의 가중치에 대응되어 8,4,2의 값을 가진다.
상술한 바와 같이 구성된 3비트 가산기회로를 사용하여 상기 제1도의 지수부분 연산수단을 설계할 경우, 먼저 제1가산수단(제2가산수단)은 6비트씩의 입력을 가지고 있으므로 상기 3비트 가산기회로의 캐리출력을 다음 3비트 가산기회로의 캐리입력으로 하는 형태로 연결하여 설계하고, 제1감산수단(제2삼산수단)은 상기 6비트 가산기회로와, 이 가산기회로의 가수입력 및 캐리입력에 인버터를 구비함으로써 설계한다. 이때상기 6비트 가산수단(혹은 감산수단)은 2개의 가산기회로를 사용하여 나타내었는데, 이는 인버터를 사용한 버퍼증폭단의 감도(sensitivity)가 3비트 이상의 가산기회로에서는 떨어지기 때문이다.
제3도는 본 발명에 따른 24비트 곱셈기의 회로도이다. 먼저, 일반적인 곱셈기는 기본 셀(ceL1)로써 AND 게이트와 전가산기, 반가산기를 이용하고 있고, 회로구성면에서 볼때 곱셈의 비트가 하나 늘어날때마다 회로는 2차원적으로 늘어나서 회로의 대규모가 예상된다. 또한, 가산기회로는 디지탈로 처리되고 있기 때문에 실효속도가 늦어지고, 캐리 전파에 의한 자리 올림으로 연산속도가 늦게된다. 이러한 문제를 해결하기 위하여 제3도에 도시된 바와같이 1진 카운터를 이용해 곱셈기를 설계하면, 셀의 수가 매우 적어서 회로면적도 작고 빠른 회로를 실현할 수 있다.
일반적인 곱셈 알고리즘은 곱하려고 하는 두수를 순서대로 나열해 놓은 후 각각의 자리수에 해당되는 모든 곱항들, 즉 부분곱들을 더하고 이때 발생하는 여러개의 출력 캐리를 모두 다음단에 더해주게 된다. 이와같은 알고리즘을 회로로 구성한 제3도를 참조하면, A23∼A0는 승수, B23∼B0는 피승수이고, P47∼P0는 곱셈기의 출력이다. 곱셈과정에서, 상기 피승수 및 승수의 각각의 자리수에 해당되는 부분곱들, 예컨대 출력 P0에는 A0×B0과 출력 P1에는 A0×B1과 A1×B0, 출력 P2에는 A2×B0와, A1×B1, 그리고 A0×B2……을 얻게되는데, 각각의 부분곱은 AND 게이트로 구성된다. 따라서 출력 P0는 A0×B0로서 AND 게이트를 통해서 출력값이 나온다. 출력 P1은 AO×B1과 A1×B0를 더한값이므로 각 부분곱의 AND 게이트의 두 출력값을 반가산기에 입력시켜 P1을 얻고, 이때 생긴 캐리를 다음단 1진 카운터에 넘겨준다. 출력 P2는 A2×B0와 A1×B1, 그리고 A0×B2의 부분곱들과 전단의 캐리 출력을 더한값이므로 각 부분곱의 AND 게이트의 세출력값과 전단의 캐리출력을 4대3 1진 카운터에 입력시켜 P2를 얻는다. 이러한 방법으로 전단으로 부터의 캐리 출력을 1진 카운터의 입력으로 하여 각각의 출력을 얻는다.
이때, 각 경우에 있어서의 캐리발생을 모두 고려하기 위해 모든 입력이 1인 경우를 고려해보면, 가장 많은 갯수의 입력이 더해지는 비트가 P23단으로써 총 26개의 값(1,1,1,1,1,1,……1,0,0)이 더해진다. 따라서 24×24 곱셈회로에서는 최대로 26개의 입력의"1"의 수를 세는 26대5 1진 카운터가 필요함을 알 수 있다. 각각의 출력단에 부분곱의"1"의 갯수와 전단에서 넘어오는 캐리를 고려하면 각 단에서 필요한 최소의 1진 카운터를 계산할 수 있다. 각 단에는 필요한 최소의 카운터를 설계하여 회로를 구성하면 회로의 간략함과 수행속도의 증가를 가져올 수 있다.
제4도는 제3도의 26대5 1진카운터를 2개의 13대4 1진 카운터와 4비트 가산기를 사용하여 구성한 것을 나타낸다. 제5도는 제4도의 13대4 1진 카운터의 일 실시회로도이다. 제4도에서 1진 카운터는 13개의 입력중"1"의 갯수를 카운트하여 4비트 2진수로 출력한다. 이 1진 카운터는 출력을 버퍼링하기 위한 4개의 CMOS 버퍼증폭기, 즉 뉴런군(NG)과, 각 뉴런의 출력을 반전시키기 위한 인버터군(INTG)과, 입력라인들과 출력라인들의 각 교차부에서 기준 연결세기로 제1전원전압(V10)을 출력라인에 결합하기 위한 입력시냅스군(ISG), 즉 PMOS 트랜지스터들과, 제1전원전압(Vl0) 인가시 각 출력비트의 가중치의 연결세기로 제2전원전압(그라운드 전위)을 출력라인에 결합하기 위한 제1바이어스 시냅스군(BG1), 즉 NMOS 트랜지스터들과, 제2전원전압(그라운드 전위) 인가시 3의 연결세기로 제1전원전압(V10)을 출력라인에 결합하기 위한 제2바이어스 시냅스군(BG2), 즉 PMOS 트랜지스터들과, 상위비트 출력의 가중치에 따른 연결세기로 제2전원전압(그라운드 전위)을 하위비트의 출력라인에 결합하기 위한 피드백시냅스군(FSG), 즉 NMOS 트랜지스터들을 구비한다.
따라서, 상술한 바와같이 구성된 1진 카운터는 모든 입력(IN1∼IN13)이"1"이면 출력 S4 S3 S2 S1=1111로 되고, 모든 입력(IN1∼IN13)이"0"이면 출력 S4 S3 S2 S1=0000로 된다. 같은 방식으로 다른 입력에 대해서도 출력값이 결정된다. 여기서, 각 시냅스군의 연결세기는 M0S 트랜지스터의 기하학적 형상비(W/L)를 조정하여 설정하였고, PMOS 트랜지스터와 NMOS 트랜지스터의 연결세기가 동일할때에는 NMOS 트랜지스터가 우세하도록 설계하였다.
제6도는 제1도의 첫번째 1의 위치 탐색수단(이하, 탐색수단이라 약함)의 일 실시회로도이다. 제1도에서 탐색수단(13A)은 가수부분 연산수단(12)의 상위 24비트 출력을 입력으로 받아들여, 이 입력중 첫번째 1이 나오는 위치에 해당되는 자리에만"1"을 출력하고, 모든 입력이 0일 경우에는 25번째 출력비트에"0"을 출력하기 위한 것이다. 이 탐색수단의 입력을 5비트로한 일 실시예를 제6도를 참조하여 설명한다. 탐색수단은 입력을 버퍼링하기 위한 5개의 CMOS 버퍼증폭기, 즉 입력측 뉴런군(ING)과, 각 입력측 뉴런의 반전출력에 따라 기준 가중치의 연결세기로 6개의 라인중 최하위비트라인을 제외한 5개의 라인에 제1전원전압(V10)을 각각 결합하기 위한 제1입력 시냅스군(ISG1), 즉 PMOS 트랜지스터들과, 상기 각 입력측 뉴런의 비반전출력에 따라 기준 가중치의 연결세기로 6개의 라인중 최상위비트라인을 제외한 5개의 라인에 제2전원전압(그라운드 전위)을 각각 결합하기 위한 제2입력 시냅스군(ISG2), 즉 NMOS 트랜지스터들과, 제1전원전압(V10) 인가시, 기준 가중치의 연결세기로 제2전원전압(그라운드 전위)을 상기 6개의 라인에 각각 결합하기 위한 제1바이어스 시냅스군(BG1), 즉 NMOS 트랜지스터들과, 제2전원전압(그라운드 전위) 인가시, 기준 가중치의 연결세기로 제1전원전압(V10)을 상기 촤하위비트라인에 결합하기 위한 제2바이어스 시냅스(B2), 즉 PMOS 트랜지스터와, 상기 라인에 결합되는 제1전원전압(V10)의 연결세기와 제2전원전압(그라운드 전위)의 연결세기와의 차에 따라 자극 또는 억제되는 6개의 CMOS 버퍼증폭기, 즉 출력측 뉴런군(ONG)을 구비한다. 따라서 입력(IN1∼IN5) 이 00111이면 출력(OUT1∼OUT6)은 001000로 되고, 모든 입력(IN1∼IN5)이 0이면 출력(OUT1∼OUT6)은 000001로 된다. 같은 방식으로 다른 입력에 대해서도 출력값이 결정된다.
여기서, 시냅스군의 NMOS 및 PMOS 트랜지스터의 설계는 상술한 1진 카운터와 마찬가지로 MOS 트랜지스터의 기하학적 형상비(W/L)를 조정하여 설정하였고, PMOS 트랜지스터와 NMOS 트랜지스터의 연결세기가 동일할때에는 PM0S 트랜지스터가 우세하도록 설계하였다.
이상과 같이 본 발명에 의한 부동소수점방식 곱셈기회로는 지수 및 가수부분의 연산수단을 신경회로망 개념을 이용한 PMOS와 NMOS 트랜지스터의 병렬적 배치로 설계하였기 때문에 입력과 출력이 병렬로 전송되어 빠른 연산결과를 얻을 수 있다. 또한, 종래 논리게이트들의 구조보다 단순한 구조를 얻을 수 있다.
본 발명의 실시예에서는 임의의 비트값에 따라 각 부분회로를 기술하였으나 청구범위내에서는 확장 가능함을 유의하여야 한다.

Claims (5)

  1. M비트 지수부분과 N비트 가수부분으로 이루어진 K(M+N)비트의 두 2진수를 곱하는 부동소수점방식 곱셈기회로에 있어서, 상기 M비트의 제1지수값, M비트의 제2지수값 및 1비트의 캐리입력에 따른 각 비트의 가중치의 연결세기로 제1전원전압을(M+1)개의 라인에 각각 결합하기 위한 입력 시냅스군과; 상기 제l전원전압 인가시, 합 출력 및 캐리출력 비트의 각 가중치의 연결세기로 제2전원전압을 상기 각 라인에 결합하기 위한 제1바이어스 시냅스군과; 상기 제 2 전원전압 인가시, 기준 가중치의 연결세기로 제1전원전압을 상기 각 라인에 결합하기 위한 제2바이어스 시냅스군과; 상위 출력비트의 가중치의 연결세기로 각 하위 출력비트의 상기 라인에 상기 제2전원전압을 결합하기 위한 피드백 시냅스군과; 상기 라인에 각각 결합되는 제1전원전압의 연결세기와 제2전원전압의 연결세기의 차를 비교하여 자극 또는 억제되는 뉴런군과; 상기 각 뉴런의 출력을 반전시키기 위한 인버터들로 이루어져 상기 두 2진수의 지수부분을 가산하는 가산기; 상기 가산기와; 상기 M비트의 어떤 지수값 및 캐리입력을 반전시키기 위한 인버터들로 이루어져 상기 두 2진수의 지수부분을 감산하는 감산기; 피승수를 승수의 각 디지트로 곱한 부분곱을 구하고 이들 부분곱 결과치를 곱셈기의 각 디지트에 대응하여 배치하기 위한 복수의 부분곱 수단들과; 상기 곱셈기의 최하위 디지트를 제외한 각 디지트에 대응한 상기 부분곱결과치와 하위디지트에서 전파된 캐리를 병렬입력으로 받아들여, 이 입력들중 1의 갯수를 계수하고 이 계수치의 최하위비트를 그 디지트의 최종 곱셈결과치로 제공하며, 나머지 비트들을 상위 디지트의 캐리로 전파시키기 위한 복수의 1진 카운터들을 구비하여 상기 두 2진수의 가수부분을 곱하는 곱셈기; 그리고 상기 곱셈기의 A비트의 출력에 연결되는 입력측 뉴런군과; 상기 각 입력측 뉴런의 반전출력에 따라 기준 가중치의 연결세기로(A+1)개의 라인중 최하위비트라인을 제외한 A개의 라인에 제 1전원전압을 각각 결합하기 위한 제1입력 시냅스군과; 상기 각 입력측 뉴런의 비반전출력에 따라 기준 가중치의 연결세기로 상기(A+1)개의 라인중 최상위비트라인을 제외한 A개의 라인에 제2전원전압을 각각 결합하기 위한 제2입력 시냅스군과; 상기 제1전원전압 인가시, 기준 가중치의 연결세기로 제2전원전압을 상기(A+1)개의 라인에 각각 결합하기 위한 제1바이어스 시냅스군과; 상기 제2전원전압 인가시, 기준 가중치의 연결세기로 제1전원전압을 상기 최하위비트라인에 결합하기 위한 제2바이어스 시냅스와; 상기 라인에 결합되는 제1전원전압의 연결세기와 제2전원전압의 연결세기외의 차에 따라 자극 또는 억제되는 출력측 뉴런군으로 이루어져 상기 곱셈기의 출력중에서 처음으로 1이 나오는 출력비트의 위치를 찾는 탐색수단을 구비함을 특징으로 하는 신경회로망을 이용한 부동소수점방식 곱셈기회로.
  2. 제1항에 있어서, 상기 뉴런은 직렬로 연결된 2개의 CMOS 인버터로 한 것을 특징으로 하는 신경회로망을 이용한 부동소수점방식 곱셈기회로.
  3. 제2항에 있어서, 상기 가산기의 입력시냅스 및 제2바이어스 시냅스는 PMOS 트랜지스터로 하고, 피드백 시냅스 및 제1바이어스 시냅스는 NMOS 트랜지스터로 하는 것을 특징으로 하는 신경회로망을 이용한 부동소수점방식 곱셈기회로.
  4. 제3항에 있어서, 상기 1진 카운터는 복수의 병렬 입력에 따라 복수의 증폭기의 각 입력라인에 일정연결세기로 제1전원전압을 결합하기 위한 PM0S 트랜지스터들; 상기 복수의 증폭기 가운데 상위비트 증폭기의 출력에 따라 그 출력비트의 가중치에 따른 연결세기로 제2전원전압을 하위비트 증폭기의 입력라인에 결합하기 위한 NMOS 트랜지스터; 제1전원전압 인가시 각 출력비트의 가중치의 연결세기로 제2전원전압을 상기 복수의 증폭기의 각 입력라인에 결합하기 위한 NMOS 트랜지스터들과, 제2전원전압 인가시 일정 연결세기로 제1전원전압을 상기 복수의 증폭기의 각 입력라인에 결합하기 위한 PMOS 트랜지스터들을 구비한 것을 특징으로 하는 부동소수점방식 곱셈기회로.
  5. 제4항에 있어서, 상기 탐색수단의 제1입력시냅스 및 제2바이어스 시냅스는 PMOS 트랜지스터로 하고, 제2입력시냅스 및 제1바이어스 시냅스는 NMOS 트랜지스터로 하는
KR1019900005491A 1990-04-19 1990-04-19 신경회로망을 이용한 부동소수점방식 곱셈기회로 KR920006321B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019900005491A KR920006321B1 (ko) 1990-04-19 1990-04-19 신경회로망을 이용한 부동소수점방식 곱셈기회로
US07/617,029 US5144575A (en) 1990-04-19 1990-11-21 High speed floating point type multiplier circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019900005491A KR920006321B1 (ko) 1990-04-19 1990-04-19 신경회로망을 이용한 부동소수점방식 곱셈기회로

Publications (2)

Publication Number Publication Date
KR910018897A KR910018897A (ko) 1991-11-30
KR920006321B1 true KR920006321B1 (ko) 1992-08-03

Family

ID=19298152

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900005491A KR920006321B1 (ko) 1990-04-19 1990-04-19 신경회로망을 이용한 부동소수점방식 곱셈기회로

Country Status (2)

Country Link
US (1) US5144575A (ko)
KR (1) KR920006321B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100197354B1 (ko) * 1995-06-28 1999-06-15 김영환 클럭 위상을 이용한 캐리증가 가산기
US6633896B1 (en) * 2000-03-30 2003-10-14 Intel Corporation Method and system for multiplying large numbers
US20120191955A1 (en) * 2011-01-20 2012-07-26 Jonsson Ragnar H Method and system for floating point acceleration on fixed point digital signal processors
CN116931873B (zh) * 2023-09-11 2023-11-28 安徽大学 两字节乘法电路及其任意位宽为2次幂的乘法电路与芯片

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4941122A (en) * 1989-01-12 1990-07-10 Recognition Equipment Incorp. Neural network image processing system

Also Published As

Publication number Publication date
KR910018897A (ko) 1991-11-30
US5144575A (en) 1992-09-01

Similar Documents

Publication Publication Date Title
US5095457A (en) Digital multiplier employing CMOS transistors
Takagi et al. High-speed VLSI multiplication algorithm with a redundant binary addition tree
Kameyama et al. A multiplier chip with multiple-valued bidirectional current-mode logic circuits
US4594678A (en) Digital parallel computing circuit for computing p=xy+z in a shortened time
Phatak et al. Hybrid signed-digit number systems: A unified framework for redundant number representations with bounded carry propagation chains
JPS61502288A (ja) X×yビット・アレ−掛け算器/アキュムレ−タ回路
US6240438B1 (en) Multiplier circuit for reducing the number of necessary elements without sacrificing high speed capability
JPH0479013B2 (ko)
JPS6220028A (ja) 補数化装置
US5086405A (en) Floating point adder circuit using neural network
KR920006321B1 (ko) 신경회로망을 이용한 부동소수점방식 곱셈기회로
US4709346A (en) CMOS subtractor
US5500813A (en) Circuit for adding multiple-bit binary numbers
JP3225043B2 (ja) 絶対値算術演算ユニット及び差動マルチプレクサ
Zheng et al. Low power and high speed multiplication design through mixed number representations
US4866655A (en) Arithmetic processor and divider using redundant signed digit
US4873660A (en) Arithmetic processor using redundant signed digit arithmetic
JPH08161152A (ja) 浮動小数点演算装置
Sarma et al. UCM: A novel approach for delay optimization
US5206825A (en) Arithmetic processor using signed-digit representation of external operands
US3462589A (en) Parallel digital arithmetic unit utilizing a signed-digit format
EP0613574B1 (en) Digital adder having a high-speed low-capacitance carry bypass signal path
US4041296A (en) High-speed digital multiply-by-device
Balsara et al. Understanding VLSI bit serial multipliers
US5130944A (en) Divider circuit adopting a neural network architecture to increase division processing speed and reduce hardware components

Legal Events

Date Code Title Description
A201 Request for examination
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: 20080729

Year of fee payment: 17

LAPS Lapse due to unpaid annual fee