KR0138859B1 - 다중 명령어 다중 데이타형 신경망 전용 디지탈 어레이 프로세서 및 이를 이용해 구성된 시스템 - Google Patents
다중 명령어 다중 데이타형 신경망 전용 디지탈 어레이 프로세서 및 이를 이용해 구성된 시스템Info
- Publication number
- KR0138859B1 KR0138859B1 KR1019940032940A KR19940032940A KR0138859B1 KR 0138859 B1 KR0138859 B1 KR 0138859B1 KR 1019940032940 A KR1019940032940 A KR 1019940032940A KR 19940032940 A KR19940032940 A KR 19940032940A KR 0138859 B1 KR0138859 B1 KR 0138859B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- neural network
- data
- processor
- block
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 19
- 230000015654 memory Effects 0.000 claims abstract description 56
- 238000004891 communication Methods 0.000 claims abstract description 18
- 238000003062 neural network model Methods 0.000 claims abstract description 18
- 238000005516 engineering process Methods 0.000 claims abstract description 8
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000002457 bidirectional effect Effects 0.000 claims description 2
- 230000003252 repetitive effect Effects 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 7
- 230000010354 integration Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 238000000034 method Methods 0.000 description 12
- 239000000872 buffer Substances 0.000 description 6
- 238000011160 research Methods 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000005094 computer simulation Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
Classifications
-
- 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
-
- 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/50—Adding; Subtracting
-
- 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
-
- 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/045—Combinations of 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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Optimization (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Neurology (AREA)
- Multi Processors (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Abstract
VISI(Very Large Scale Integration)기술을 이용한 디지탈 프로세서 설계에서, 신경망 전용 프로세서의 구현 또는 신경망 전용 병렬 프로세서의 구현에 관한 것이다.
본 발명은 연산의 파이프라인 동작을 위해서 분리된 메모리 구성(WM,XM)을 갖는 메모리 및 범용 레지스터 블럭(10), 프로그램 메모리 및 제어 블럭(11), 각종 연산을 수행하는 연산기 블럭(12) 및 프로세서 간 통신을 위한 통신 블럭(13)의 4개의 블럭; 그리고 프로그램용 버스(14)와 데이타용 버스(15)로 분리된 형태의 버스(BUS)로 구성되는 것을 특징으로 하여, 현재의 디지탈 방식의 VLSI 기술을 이용하여 신경망 모델을 시뮬레이션 하기 위한 하드웨어(칩)를 안정성있게 제작할 수 있는 효과가 있다.
Description
제1도는 어레이 프로세서의 구조도
제2도는 어레이 프로세서 연산기의 구조도
제3도는 어레이 프로세서 메모리의 구조도.
제4도는 어레이 프로세서 통신의 구조도.
제5도는 어레이 프로세서를 이용한 시스템 설계의 예시도.
제6도는 하드웨어 설계에 중요하게 사용된 신경망 모델의 구조도.
*도면의 주요부분에 대한 부호의 설명
10:범용 레지스터와 메모리 블락
11:프로그램과 제어를 위한 블럭
12:연산기 블락13:통신 블락
20:2단계 파이프라인 병렬-병렬 곱셈기
21:병렬 덧셈/뺄셈기22:논리기
23:누산기24:상태 플래그 레지스터
25:데이타 저장용 레지스터26:먹스(MUX)
32,33,37:레지스터38:주소버스(BUS)
40:입력 포트 블락41:출력 포트 블락
42:데이타 입력을 위한 레지스터 버퍼
43:데이타 출력을 위한 레지스터 버퍼
44:먹스(MUX)45:디먹스(DEMUX)
46:레지스터50:어레이 프로세서
51:데이타 다운/업 로딩 회로53:컴퓨터 또는 시스템
55,56:버스
VISI(Very Large Scale Integration)기술을 이용한 디지탈 프로세서 설계에서, MIMD(M,ultiple Instruction stream, Multiple Data stream) 형의 신경망 전용 프로세서 또는 신경망 전용 병렬 프로세서의 구현에 관한 것이다.
신경망 연구에서 추구하는 것은 생물체의 인식 방법과 유사한 모델을 찾는 것이다.
이를 위해서 생물학적인 연구 외에, 생물학적 분석을 이용한 수학적 모델링과 이의 시뮬레이션을 통한 연구가 실시되고 있다.
그러나 시뮬레이션을 수행하기 위해서는 고속의 컴퓨터가 필요하다.
기존의 컴퓨터를 이용한 시뮬레이션은 많은 시간이 소비되어서 원하는 결과를 찾기 위해서는 많은 인내력이 필요하다.
그래서 신경망 모델을 전문적으로 시뮬레이션할 수 있는 하드웨어 연구가 진행되고 있다.
이는 실험실 단계에서 수행되고 있을 뿐 아니라, 실제 상용되는 시스템도 있다.
우리는 이러한 구현 방법 중에서 현 단계에서 적용이 가능한 디지탈 VLSI기술을 이용하여 하드웨어를 구현한다.
제6도는 현재 많이 사용되는 신경모델중 오류역전파 모델의 구조도이다.
이 모델은 순방향 경로(forward path) 연산과 역방향 경로(backward path)연산으로 이루어져 있다.
순방향 경로의 기본 동작은 하나의 뉴런이라고 부르는 2층의 M1에서, 1층에서 오는 입력값(NK)들과 가중치(WK1)들이 곱해지고, 그 결과들의 합이 뉴우런 M1에 들어오면 비선형 함수를 거쳐서 다시 3층의 입력값으로 나간다.
3층에서도 똑같은 동작을 하고서 출력으로 결과가 나온다.
역방향 경로의 동작도 앞의 것과 유사하다.
관련책으로 parallel Distributed Processing, vol1, David E Rumel-hart, et al, A Bradford Book 회사가 있다.
이 모델의 특징을 보면 병렬 연산 모델이라는 것과, 처리하여야 할 데이타(입력값과 가중치의 곱셈 및 이들의 합의 연산)가 많다는 것이다.
그래서 병렬 연산을 할 수 있는 시스템을 가지면 효과적으로 신경 망 모델들을 시뮬레이션 할 수 있다.
신경망 시스템을 구현하는 방법중 전자적 방법을 이용한 구현 방법에는 디지탈 방법과 아날로그 방법이 있다.
그러나 현재의 기술을 이용해서 아날로그 방법으로 구현하면 집적도는 좋으나 시스템이 안정화되어 있지 않으면, 학습시키는 것이 어렵다.
디지탈 방법을 이용한 구현은 집적도는 떨어지나 그 외의 문제점들이 많이 해결된다.
그래서 현재의 기술로는 디지탈 방법을 이용한 구현이 실제 문제에서 적용하기가 쉽다.
이를 위하여 많은 방법이 제안되고 있으나 나름대로의 문제점이 있다.
따라서 본 발명은 많은 데이타 처리를 필요로 하는 신경망 모델들을 효과적으로 빠르게 시뮬레이션 할 수 있는 구조를 가지는 VLSI 칩상의 MIMID형 신경망 전용 디지탈 어레이 프로세서를 제공하는데 그 목적이 있다.
또한, 상기 프로세서로 구성되며, 최적 구조를 갖는 시스템을 제공하는데 그 목적이 있다.
본 발명은 종래 기술의 특정 부분의 성능을 향상시킨 것이 아니고, 독자적인 구조를 가지는 VLSI 칩을 설계한 것이다.
프로세서는 범용의 마이크로 프로세서의 구조를 벗어나 신경망 모델을 수행하는 것을 목적으로 설계되어 있다.
프로세서 내부에는 메모리가 있으며, 메모리 구조는 신경망 모델의 시뮬레이션을 쉽게 할 수 있도록 되어있다.
연산기의 구조와 내부 데이타 경로(data path) 역시 시뮬레이션을 쉽게 할 수 있도록 하였다.
병렬프로세서의 프로세서간의 통신은 기존의 핸드쉐이킹(Hand Shaking)방법을 개선하여 신경망 모델을 시뮬레이션 하기 쉽도록 하였다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
제1도는 본 발명에 따른 어레이 프로세서의 전체 구조도로서, 본 발명은 메모리 및 범용 레지스터 블록(10), 프로그램 메모리 및 제어블록(11), 연산기 블록(12) 및 통신 블록(13)의 4개의 블록으로 구성되어 있다.
그리고, 버스(BUS)는 프로그램용(14)과 데이터용(15)으로 분리되어 있다.
상기 메모리 및 범용 레지스터 블록(10)은 입력 콘트롤 데이터를 저장하는 입출력 콘트롤 레지스터(ICR), 입출력 포트 선택 데이터를 저장하는 입출력 포트 레지스터( IOPR), 입/출력 상태 플래그 레지스터(IRS/ORS)등이 구비되어 데이터 통신을 위한 각종 콘트롤 데이터를 저장하여 두는 범용 레지스터부(16)와, 입력 데이터를 저장하는 입력 메모리(XM) 및 가중치 데이터를 저장하는 가중치 메모리(WM)를 구비한 메모리부로 구성된다.
상기와 같은 구성을 갖는 프로세서는 프로그램 메모리에 올라와 있는 명령어대로 수행되는데, 이 때, 상기 명령어는 신경망 모델 실행에 필요한 계산을 빠르게 할 수 있도록 구현되었다. 즉, 범용 컴퓨터에 사용되는 명령어의 경우 범용성을 가지므로, 종래의 범용 컴퓨터를 가지고 신경망 모델을 구현하기 위해서는 복잡한 프로그램을 작성하여야 하나, 본 발명에서 제공하는 상기 프로세서를 사용하면 간단한 명령어의 조합으로 신경망 모델을 구현할 수 있다.
제2도는 본 발명에 의한 어레이 프로세서를 구성하는 연산기의 구조도이다.
제2도를 참조하면, 본 발명의 프로세서를 구성하는 연산기 블록(12)은 곱셈 연산을 하는 2 단계 파이프라인 병렬-병렬 곱셈기(20)와, 덧셈과 뺄셈 연산을 하는 병렬 덧셈/뺄셈기(21)와, 논리 연산 및 이것과 관련되는 연산을 하는 논리기(22)와, 연산 결과를 다시 저장하는 누산기(23)와, 캐리 플래그(AC) 오버플로우 플래그(AV) 및 누산기의 값이 음수/영/양수를 나타내는 플래그(AN/AZ/AP)를 저장하기 위한 플래그 레지스터(24)와, 데이타를 임시로 저장하기 위한 레지스터(25)와 데이타 선택용 먹스(MUX)(26)로 구성된다.
이 때, WM은 가중치 메모리에서 오는 데이타, XM은 입력 메모리에서 오는 데이타, ACC는 누산기의 출력, rfo는 범용 레지스터의 출력, 그리고 IO는 네방향의 통신 포트에서 오는 데이타중의 하나를 의미하며, AC, AV는 각각 캐리와 오버플로우 플래그이며, AN/AZ/AP는 누산기의 값이 음수/영/양수를 나타내는 플래그를 나타낸다.
상기 연산기 블록(12)의 특징은 파이프라인 동작을 하는 것이며, 이를 위해서 두가지 면을 고려하였는데, 먼저, 상기 하드웨어 구조측면에서, 상기 곱셈기(20)는 2단계 파이프라인 동작을 하며, 상기 덧셈/뺄셈기(21)와 직렬로 연결되어 3단계 파이프라인 동작을 하도록 구성되었고, 파이프 라인 동작을 위한 데이터의 공급 측면에서 연속적인 데이타 공급을 위해서 두개의 분리된 메모리를 사용하도록 하였다.
즉, 가중치는 신경망 모델의 연산이 일어나는 학습과 인식단계 모두에서 프로세서가 가지고 있으면 유리하지만, 입력값은 인식 과정에서 외부에서 계속적으로 들어와야 하므로 프로세서가 가지고 있을 필요가 없으나 학습을 할 때에는 프로세서가 가지고 있는 것이 유리하므로, 신경망 모델에 중요한 가중치를 가지고 있는 메모리(WM)(30)와 입력값을 가지고 있을 메모리(XM)(31)를 분리한다.
한편, 데이타 경로는 동작 속도를 고려하여 가능한 최단의 경로를 선택하고, 프로세서 안에서 흘러가는 데이타의 경로를 균등하게 하였는데, 이를 위해서 논리기(22)를 누산기(23) 밖에 두고 외부에서 오는 IO 값은 가능한 짧은 경로만을 흘러가도록 하였다.
즉, 상기 레지스터(25)를 통해서 곱셈기(20)에 들어오는 입력값을 선택하는 먹스(26)를 각각 하나만 두고, 상기 먹스(26)의 입력값이 모두 레지스터(25)로부터 들어오도록하여 입력 데이터값이 들어오는 지연을 균등하게 함으로써, 계산에 사용되는 입력 데이터가 들어오는 경로가 최단 거리를 가지도록 한다. 따라서, 특정 입력만이 늦게 들어와서 동작 속도가 늦어지는 것을 방지할 수 있다.
또한, 보통의 연산기 구조에서는 논리기(22)가 곱셈기(20), 덧셈/뺄셈기(21), 누산기(23)의 데이터 경로의 중간에 있으나, 본 발명에서는 상기 논리기(22)를 외부에 두어서, 필요한 데이터만 논리기(22)를 통과하도록하였다. 따라서, 논리기(22) 때문에 생기는 동작 지연이 없도록 하였다. 그리고, 데이터가 입력되는 속도를 고려하여 IO 입력값을 논리기(22)와 덧셈/뺄셈기(21) 두곳에서 입력으로 넣었다. 이러한 구조 선택은 명령의 설계와 연관되어서 선택된 것이다.
제3도는 어레이 프로세서 메모리의 구조도로서, 제3도를 참조하면, 상기 메모리 및 범용 레지스터 블록(10)의 두 개의 독립된 메모리는 가중치 메모리(WM)부와, 입력치 메모리(XM)부로 구성된다.
상기 가중치 메모리(WM)부는 가중치 데이터를 저장하는 메모리(sRAM)(30)와, 입력 콘트롤 레지스터(ICR)의 데이터에의거하여 상기 가중치 메모리 (sRAM)(30)의 어드레스를 증가시키기 위한 10bit 덧셈기(34)와, 그 덧셈기(34)의 출력신호에 의거하여 어드레스를 증가시키는 증가기(37)와, 그 증가기(37)의 출력신호와 호스트의 제어신호에 의거하여 상기 가중치 메모리(30)의 어드레스를 출력하는 포인터(32)로 구성된다.
그리고, 상기 입력치 메모리(XM)부는 입력데이터를 저장하는 메모리(sRAM)(31)와, 그 입력 메모리(31)의 어드레스를 증가시키 위한 7bit덧셈기(35)와, 그 덧셈기(35)의 출력 신호에 의거하여 어드레스를 증가시키는 증가기(37) 및 그 증가기(37)의 출력신호와 호스트의 제어신호에 의거하여 상기 입력 메모리(31)의 어드레스를 출력하는 포인터(33)로 구성된다.
어레이 프로세서의 외부에서 데이타를 업/다운 로딩(Up/Down Loading)하기 위한 주소 버그(38)로 구성된다.
한편, 범용 레지스터(16)는 신경망 시뮬레이션을 하는데 매우 중요한 부분으로서, 신경망이 단순한 연산 모델을 사용하지만 실제로 프로그램을 작성하면 특정 변수의 반복적인 사용이 필요한데, 이러한 변수의 반복적인 사용을 위해서 범용 레지스터(16)를 사용하면 프로세서의 성능을 향상 시킬 수 있다.
상기 가중치 메모리 (WM)(30)에는 8 개의 메모리 포인터 레지스터(32)가 있는데, 신경망 모델을 시뮬레이션 하면 메모리를 연속적으로 사용하기보다는, 몇개의 연속된 메모리 번지들이 그룹을 이루고 이러한 그룹들을 반복하여 사용하기 때문에, 상기 가중치 메모리(30)내의 여러개의 포인터 레지스터(32)는 반드시 필요하며, 주소를 계산하기 위한 연산기(34)도 필요하다.
또한, 상기 입력값을 가지고 있는 메모리(31)는 가중치보다 적은 갯수의 어드레스 포인터(33)가 있으면 되나, 역시 여러개의 어드레스 포인터가 필요하다.
그리고 주소를 계산하기 위한 증가기(35)만 있으면 효과적으로 메모리를 사용할 수 있다.
이와 같은 메모리의 분리된 구성(WM, XM)은 연산의 파이프라인 동작을 위해 필요하며, 병렬 프로세서의 성능을 결정하는 통신의 병목 현상을 해결하기 위해서는 가능하면 큰 용량의 내부 메모리가 효과적이다.
한편, 주소 버스(38)는 어레이 프로세서의 외부에서 데이타를 업/다운 로딩(up/down loading)하기 위해 사용된다.
제4도는 본 발명에 따른 통신 블럭(13)의 구조도로서, 제4도를 참조하면 본 발명의 통신 블록(13)은 입력 포트 블록(40), 출력 포트 블록(41) 및 데이터를 입출력하기 위한 포트를 미리 지정하여 가지고 있는 레지스터(46)로 구성되어 있다.
상기 입력 포트 블록(40)은 입력을 위하여 상태를 표시하는 플래그(IRS)(47), 데이타 저장을 위한 버퍼(42) 및 데이타 입력시 네개의 데이타 중 하나에서 데이타를 선택하여 받아들이는 먹스(MUX)(44)로 구성되어 있다.
상기 출력 포트 블락(41)은 출력을 위하여 상태를 표시하는 플래스(ORS)(48), 데이타 저장을 위한 버퍼(43) 및 데이타 출력시 네개의 데이타 버퍼중 하나의 버퍼에 데이타를 보내기 위해 선택하는 디먹스(DEMUX)(45)로 구성되어 있다.
한편, 본 발명에서는 핸드쉐이킹 방법을 이용하여 통신을 하며, 프로세서는 네방향으로 통신을 하는데, 네 방향중 한번에 하나의 방향으로 통신이 일어난다.
본 발명에서는 이러한 통신 방향을 미리 레지스터(46)에 정하여 사용하므로 빠른 통신이 일어날 수 있도록 하였다.
제5도는 어레이 프로세서를 이용한 시스템 설계의 예시도로서, 제5도를 참조하면, 본 발명의 시스템은 2-차원(Dimension) 형태로 배열된 상기 프로세서(50)와, 호스트 컴퓨터(53)를 연결하기 위한 접속회로(51)와, 외부의 메모리(54)를 접속하기 위한 접속 회로(52)와, 양방향 데이타 교환이 가능한 데이타 버스(55) 및 호스트 컴퓨터(53)에서 단 방향으로 주소를 보내기 위한 주소 버스(56)로 구성된다.
이것은 프로세서가 네방향 통신을 하므로 최적의 구조인 2-차원 형태로 시스템을 구성하였다. 그러나, 다른 형태의 병렬 시스템 구조도 가질 수 있다.
상기와 같이 구성되어 동작하는 본 발명에 의해, 현재의 디지탈 방식의 VLSI 기술을 적용하여 신경망 모델을 시뮬레이션 하기 위한 하드웨어(칩)을 제작하면, 좀 더 안정성있는 하드웨어(칩)을 제작할 수 있다는 효과가 있으며, 프로그램이 가능한 디지탈 방식을 이용하여 다양한 신경망 모델을 시뮬레이션 할 수 있다.
또한, 설계된 칩은 병렬 시스템에 프로세싱 엘리먼트로 채택할 수 있어서 수개 내지 수백개의 칩을 연결한 대규모 병렬 시스템으로의 구현이 가능하며, 또한 수개의 칩을 연결하여 특정 목적의 전용 시스템에도 사용할 수 있다.
상기 칩은 신경망 모델에 적합한 독창적인 연사기, 메모리, 통신 포트 및 프로그램 메모리의 구조를 가지고 있으므로 효과적으로 신경망 모델을 시뮬레이션 할 수 있다.
Claims (7)
- VLSI기술을 이용한 신경망 전용 디지탈 프로세서에서, 연산의 파이프라인 동작을 위해서 분리된 메모리 구성(WM,XM)을 갖는 메모리 및 범용 레지스터 블럭(10), 프로그램 메모리 및 제어 블럭(11), 2단계 파이프라인 병렬-병렬 곱셈기(20) 병렬 덧셈/뺄셈기(21) 논리기(22) 및 누산기(23)으로 구성되어 필요한 각종 연산을 수행하는 연산기 블럭(12), 및 프로세서간 통신을 위한 통신 블럭(13)의 4개의 블럭; 그리고 프로그램을 업/다운 로딩(Up/Down Loading)하기 위한 프로그램용 버스(14)와 데이타를 전달하기 위한 데이타용 버스(15)로 분리된 형태의 버스(BUS)로 구성되는 것을 특징으로 하는 MIND형 신경망 전용 디지탈 어레이 프로세서.
- 제1항에 있어서, 상기 연산 블럭(12)은 곱셈 연산을 하는 2단계 파이프라인 병렬-병렬 곱셈기(20), 덧셈과 뺄셈 연산을 하는 병렬 덧셈/뺄셈기(21), 논리 연산 및 논리 연산과 관련되는 연산을 하는 논리기(22), 연산 결과를 다시 저장하는 누산기(23), 캐리 플래스(AC) 오버플로우 플래스(AV) 및 누산기의 값이 음수/영/양수를 나타내는 플래그(AN/AZ/AP)를 저장하기 위한 플래그 레지스터(24), 데이타를 임시로 저장하기 위한 레지스터(25)와 데이타 선택용 먹스(MUX)(26)로 구성되는 것을 특징으로 하는 MIND형 신경망 전용 디지탈 어레이 프로세서.
- 제1항에 있어서, 상기 연산 블럭(12)은 그 곱셈기(20)가 2단계 파이프라인 동작을 하며, 덧셈/뺄셈기(21)와 직렬로 연결되어 3단계 파이프라인 동작을 하는 것을 특징으로 하는 MIND형 신경망 전용 디지탈 어레이 프로세서.
- 제1항에 있어서, 상기 연산 블럭(12)은 연속적인 데이타 공급을 위해서, 신경망 모델에 중요한 가중치를 가지고 있는 메모리와 입력값을 가지고 있을 메모리를 위해서 분리된 구조의 메모리를 갖는 것을 특징으로 하는 MIND형 신경망 전용 디지탈 어레이 프로세서.
- 제1항 또는 제2항에 있어서, 상기 연산기(12)은 가능한 최단의 경로를 선택하고 프로세서 안에서 흘러가는 데이타의 경로를 균등하게 하기 위해서, 논리기(22)를 누산기(23) 밖에 두고 외부에서 오는 IO값은 가능한 짧은 경로만을 흘러가도록 구성되는 것을 특징으로 하는 MIND형 신경망 전용 디지탈 어레이 프로세서.
- 제1항에 있어서, 상기 메모리 및 범용 레지스터 블럭(10)은 변수의 반복적인 사용을 위해서 사용되어 프로세서의 성능을 향상시키는 범용 레지스터; 가중치를 저장하기 위한 sRAM(30), 신경망 모델 계산을 편리하게 하기위한 연속된 메모리 번지들의 그룹을 지정하는 포인터 레지스터(32), 주소를 계산하기 위한 덧셈기(34), 및 주소를 임시로 저장하기 위한 레지스터(37)로 구성되는 가중치 메모리(WM); 입력값을 저장하기 위한 sRAM(31), 연속된 메모리 번지들의 그룹을 지정하기 위한 여러개의 포인터 레지스터(33), 주소를 계산하기 위한 증가기(35), 및 주소를 임시로 저장하기 위한 레지스터(37)로 구성되는 입력치 메모리(XM); 및 어레이 프로세서의 외부에서 데이타를 업/다운 로딩(Up/Down Load-ing)하기 위한 주소 버스(38)로 구성되는 것을 특징으로 하는 MIND형 신경망 전용 디지탈 어레이 프로세서.
- 신경망 전용 디지탈 어레이 프로세서로 이루어진 시스템에서, 2-차원(Dimension)형태로 배열된 상기 프로세서(50), 호스트 컴퓨터(53)를 연결하기 위해서 접속회로(51), 외부의 메모리(54)를 접속하기 위한 접속 회로(52), 양방향 데이타 교환이 가능한 데이타 버스(55) 및 호스트 컴퓨터(53)에서 단방향으로 주소를 보내기 위한 주소 버스(56)로 구성되는 것을 특징으로 하는 MIND형 신경망 전용 디지탈 어레이 프로세서를 이용한 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940032940A KR0138859B1 (ko) | 1994-12-06 | 1994-12-06 | 다중 명령어 다중 데이타형 신경망 전용 디지탈 어레이 프로세서 및 이를 이용해 구성된 시스템 |
JP7247447A JPH08161282A (ja) | 1994-12-06 | 1995-09-26 | 多重命令語の多重データ型の神経網専用のディジタルアレイプロセッサーおよびこれを利用して構成されたシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940032940A KR0138859B1 (ko) | 1994-12-06 | 1994-12-06 | 다중 명령어 다중 데이타형 신경망 전용 디지탈 어레이 프로세서 및 이를 이용해 구성된 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960024997A KR960024997A (ko) | 1996-07-20 |
KR0138859B1 true KR0138859B1 (ko) | 1998-06-15 |
Family
ID=19400443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940032940A KR0138859B1 (ko) | 1994-12-06 | 1994-12-06 | 다중 명령어 다중 데이타형 신경망 전용 디지탈 어레이 프로세서 및 이를 이용해 구성된 시스템 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPH08161282A (ko) |
KR (1) | KR0138859B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100441036B1 (ko) * | 2000-12-19 | 2004-07-21 | 인터내셔널 비지네스 머신즈 코포레이션 | 연산 회로 및 연산 방법 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7937557B2 (en) * | 2004-03-16 | 2011-05-03 | Vns Portfolio Llc | System and method for intercommunication between computers in an array |
US11551028B2 (en) | 2017-04-04 | 2023-01-10 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network |
US11544545B2 (en) | 2017-04-04 | 2023-01-03 | Hailo Technologies Ltd. | Structured activation based sparsity in an artificial neural network |
US10387298B2 (en) | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
US11238334B2 (en) | 2017-04-04 | 2022-02-01 | Hailo Technologies Ltd. | System and method of input alignment for efficient vector operations in an artificial neural network |
US11615297B2 (en) | 2017-04-04 | 2023-03-28 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network compiler |
US11501140B2 (en) * | 2018-06-19 | 2022-11-15 | International Business Machines Corporation | Runtime reconfigurable neural network processor core |
US11263077B1 (en) | 2020-09-29 | 2022-03-01 | Hailo Technologies Ltd. | Neural network intermediate results safety mechanism in an artificial neural network processor |
US11811421B2 (en) | 2020-09-29 | 2023-11-07 | Hailo Technologies Ltd. | Weights safety mechanism in an artificial neural network processor |
US11237894B1 (en) | 2020-09-29 | 2022-02-01 | Hailo Technologies Ltd. | Layer control unit instruction addressing safety mechanism in an artificial neural network processor |
US11221929B1 (en) | 2020-09-29 | 2022-01-11 | Hailo Technologies Ltd. | Data stream fault detection mechanism in an artificial neural network processor |
-
1994
- 1994-12-06 KR KR1019940032940A patent/KR0138859B1/ko not_active IP Right Cessation
-
1995
- 1995-09-26 JP JP7247447A patent/JPH08161282A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100441036B1 (ko) * | 2000-12-19 | 2004-07-21 | 인터내셔널 비지네스 머신즈 코포레이션 | 연산 회로 및 연산 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR960024997A (ko) | 1996-07-20 |
JPH08161282A (ja) | 1996-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543832B (zh) | 一种计算装置及板卡 | |
CN111310904B (zh) | 一种用于执行卷积神经网络训练的装置和方法 | |
CN109522052B (zh) | 一种计算装置及板卡 | |
CN107797962B (zh) | 基于神经网络的计算阵列 | |
KR102252137B1 (ko) | 계산 장치 및 방법 | |
EP3451242A1 (en) | Device and method for performing reversetraining of fully connected layers of neural network | |
KR0138859B1 (ko) | 다중 명령어 다중 데이타형 신경망 전용 디지탈 어레이 프로세서 및 이를 이용해 구성된 시스템 | |
JPH06195322A (ja) | 汎用型ニューロコンピュータとして用いられる情報処理装置 | |
KR880011681A (ko) | 메모리연결형 파면어레이 프로세서 | |
CN111045728B (zh) | 一种计算装置及相关产品 | |
CN110059797B (zh) | 一种计算装置及相关产品 | |
CN111368967B (zh) | 一种神经网络计算装置和方法 | |
CN109740730B (zh) | 运算方法、装置及相关产品 | |
CN111178492A (zh) | 计算装置及相关产品、执行人工神经网络模型的计算方法 | |
WO2022001497A1 (zh) | 计算装置、集成电路芯片、板卡、电子设备和计算方法 | |
CN111368987B (zh) | 一种神经网络计算装置和方法 | |
CN111368990B (zh) | 一种神经网络计算装置和方法 | |
CN103677735B (zh) | 一种数据处理装置及数字信号处理器 | |
CN115081600A (zh) | 执行Winograd卷积的变换单元、集成电路装置及板卡 | |
CN112801276A (zh) | 数据处理方法、处理器及电子设备 | |
Kim et al. | An Asynchronous Inter-Processor Communication Based, Input Recycling Parallel Architecture for Large Scale Neural Network Simulation | |
JPH05324694A (ja) | 再構成可能並列プロセッサ | |
CN111368986A (zh) | 一种神经网络计算装置和方法 | |
CN111367567A (zh) | 一种神经网络计算装置和方法 | |
CN113746471B (zh) | 运算电路、芯片和板卡 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20080214 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |