KR102577937B1 - 이벤트 교착 상태 없는 멀티 코어 뉴로모픽 시스템을 위한 이벤트 중재기 및 이벤트 중재 방법 - Google Patents
이벤트 교착 상태 없는 멀티 코어 뉴로모픽 시스템을 위한 이벤트 중재기 및 이벤트 중재 방법 Download PDFInfo
- Publication number
- KR102577937B1 KR102577937B1 KR1020210073973A KR20210073973A KR102577937B1 KR 102577937 B1 KR102577937 B1 KR 102577937B1 KR 1020210073973 A KR1020210073973 A KR 1020210073973A KR 20210073973 A KR20210073973 A KR 20210073973A KR 102577937 B1 KR102577937 B1 KR 102577937B1
- Authority
- KR
- South Korea
- Prior art keywords
- event
- neuron
- spike
- register
- registers
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 19
- 210000002569 neuron Anatomy 0.000 claims abstract description 109
- 210000000225 synapse Anatomy 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000000946 synaptic effect Effects 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 4
- 230000001242 postsynaptic effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 210000004556 brain Anatomy 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 239000004065 semiconductor Substances 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
- 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
이벤트 교착 상태 없는 멀티 코어 뉴로모픽 시스템이 개시되는 데, 상기 뉴로모픽 시스템은 복수 개의 뉴런을 포함하는 뉴런 코어와, 상기 뉴런 코어에서 생성된 뉴런 스파이크 이벤트를 수신하고, 상기 뉴런 스파이크 이벤트 및 시냅스 이벤트 흐름을 제어하는 이벤트 라우터를 포함하고, 상기 뉴런 코어는 상기 뉴런 스파이크 이벤트가 발현되는 경우, 상기 이벤트 라우터로 출력되기 이전에 상기 뉴런 스파이크 이벤트를 등록하는 이벤트 중재기를 포함한다.
Description
본 발명은 멀티 코어 뉴로모픽 시스템에 관한 것으로서, 특히 뉴런 코어 내부에서 다중 스파이크 발현으로 발생할 수 있는 이벤트 교착 상태를 해결하기 위한 이벤트 중재기 및 이벤트 중재 방법에 관한 것이다.
최근 딥 러닝(Deep Learning) 기술은 다양한 분야의 작업에서 놀라운 성능을 보여주며 엄청난 관심을 모으고 있다. 이 기술은 심층 신경망 (deep neutral network) 기술을 이용하는 데, 이는 CPU 및 GPU와 같은 범용 하드웨어 상에서 많이 구현된다. 그러나, 성공적인 작업 수행 및 높은 성능에도 불구하고, 작업의 높은 복잡성으로 요구되는 기계적 성능의 천문학적 예상치로 인하여 이들 기술에 대한 회의적인 견해가 나타나고 있다.
한편, 인간의 두뇌는 약 20W의 소비전력만을 사용하여 복잡도가 높은 작업 효율적으로 수행할 수 있다. 이에, 뉴로모픽 공학은 인간의 두뇌와 같이 에너지 효율적인 방식으로 작업을 수행하기 위하여, 생물학적 동작 방식과 유사한 스파이크 신경망 (Spike Neutral Network)을 채용하여, 이를 전기적 하드웨어로 구현하는 것을 목표로 하고 있다. 뉴로모픽 시스템은 시냅스를 통하여 상호 연결되는 뉴런을 사용하여 구현될 수 있다. 뉴런과 시냅스의 구현은 다양한 방식으로 이루어질 수 있는 데, 표준 CMOS 공정 기술에 기반한 반도체 집적 회로(IC)가 일반적이다.
본 발명이 해결하고자 하는 과제는 멀티 뉴런 코어로 이루어진 뉴로모픽 시스템에서 뉴런 코어로부터 발현되는 다중 뉴런 스파이크로 인하여 발생할 수 있는 이벤트 교착 상태를 해결하기 위한 이벤트 중재기 및 그 중재 방법을 제안하는 것이다.
또한, 본 발명이 해결하고자 하는 다른 과제는 멀티 코어 뉴로모픽 시스템 구현시 이벤트 라우터에서 발생할 수 있는 스파이크 이벤트 교착 상태를 해결하기 위한 이벤트 중재기 및 그 중재 방법을 제안하는 것이다.
본 발명의 일 실시예에 따르면, 뉴로모픽 시스템이 개시되는 데, 상기 뉴로모픽 시스템은 복수 개의 뉴런을 포함하는 뉴런 코어와, 상기 뉴런 코어에서 생성된 뉴런 스파이크 이벤트를 수신하고 상기 뉴런 스파이크 이벤트 및 시냅스 이벤트 흐름을 제어하는 이벤트 라우터를 포함하고, 상기 뉴런 코어는 상기 뉴런 스파이크 이벤트가 발현되는 경우, 상기 이벤트 라우터로 출력되기 이전에 상기 뉴런 스파이크 이벤트를 등록하는 이벤트 중재기를 포함한다.
여기서, 상기 이벤트 중재기는 복수 개의 뉴런 스파이크 이벤트가 동시에 발생하는 경우, 소정의 우선 순위에 따라 하나를 선택하여 상기 이벤트 라우터로 전송한다.
여기서, 상기 우선 순위는 선택의 바이어스없이 랜덤하게 결정된다.
여기서, 상기 이벤트 중재기는 복수 개의 뉴런에서 발생하는 뉴런 스파이크 이벤트를 등록하는 이벤트 등록부와, 각 뉴런에서의 스파이크 발현 여부를 저장하는 복수 개의 레지스터와, 뉴런 스파이크 이벤트의 우선 순위를 정하는 순위 결정부와, 상기 순위 결정부로부터 입력되는 값에 기초하여 상기 복수 개의 레지스터에 저장된 뉴런 스파이크 이벤트 중 하나를 선택하여 출력하는 이벤트 출력부를 포함한다.
여기서, 상기 이벤트 출력부는 복수 개의 레지스터로부터 뉴런 스파이크 이벤트 출력 요청이 있는 경우, 상기 순위 결정부로부터 입력되는 값에 기초하여 하나의 레지스터를 선택한다.
여기서, 상기 이벤트 출력부는 상기 선택된 레지스터에 복수 개의 뉴런 스파이크 이벤트 출력 요청이 있는 경우, 상기 순위 결정부로부터 입력되는 값에 기초하여 하나의 스파이크 이벤트를 선택하여 출력한다.
여기서, 상기 이벤트 중재기는 N개의 레지스터를 포함하고, 각 레지스터는 M개의 비트를 포함하며, 상기 순위 결정부는 비트를 상기 이벤트 출력부로 출력한다.
여기서, 상기 비트는 복수개의 레지스터 중 하나의 레지스터 선택하기 위한 정보이고, 상기 비트는 하나의 레지스터에 저장된 복수 개의 뉴런 스파이크 이벤트 요청 중 하나를 선택하기 위한 정보이다.
여기서, 상기 순위 결정부는 LFSR(Linear feedback shift register)이다.
여기서, 상기 이벤트 중재기는 상기 선택된 뉴런 스파이크 이벤트에 해당하는 뉴런의 주소 값을 부호화하는 부호화부를 더 포함한다.
본 발명의 다른 실시예에 따르면, 뉴로모픽 시스템에서 스파이크 이벤트 중재 방법이 개시되는 데, 상기 방법은 복수 개의 뉴런으로부터 입력되는 스파이크 이벤트 요청을 등록하는 단계와, 각 뉴런에서의 스파이크 발현 여부를 저장하는 단계와, 복수 개의 뉴런으로부터 스파이크 이벤트 요청이 동시에 발생하는 경우, 하나의 스파이크 이벤트 요청을 선택하는 단계와, 상기 선택된 스파이크 이벤트를 출력하는 단계를 포함한다.
여기서, 상기 저장 단계는 각 뉴런의 스파이크 발현 여부를 복수(N) 개의 레지스터에 저장하고, 상기 선택 단계는 우선 순위에 기초하여 하나의 스파이크 이벤트를 선택한다.
여기서, 상기 우선 순위는 선택의 바이어스없이 랜덤하게 결정된다.
여기서, 상기 각 레지스터는 M개의 비트를 포함하고, 상기 우선 순위는 비트 값에 의하여 결정된다.
여기서, 상기 비트는 N개의 레지스터 중 하나의 레지스터 선택하기 위한 정보이고, 상기 비트는 하나의 레지스터에 저장된 M개의 뉴런 스파이크 이벤트 요청 중 하나를 선택하기 위한 정보이다.
여기서, 상기 선택된 뉴런 스파이크 이벤트에 해당하는 뉴런의 주소 값을 부호화하는 단계를 더 포함한다.
본 발명에 따르면, 멀티 뉴런 코어를 포함하는 뉴로모픽 시스템에서 다중 뉴런 스파이크 발현으로 인해 발생할 수 있는 이벤트 교착 상태를 용이하게 해결하여, 뉴로모픽 시스템의 성능을 개선할 수 있다.
도 1은 본 발명의 일 실시예에 따른 뉴로모픽 시스템의 블록도이다.
도 2는 본 발명의 일 실시예에 따른 이벤트 중재기를 포함하는 뉴런 코어 그룹의 블록 다이어그램이다.
도 3은 본 발명의 일 실시예에 따른 이벤트 중재기의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 이벤트 중재기에서 이벤트 출력 및 부호화 동작을 나타낸 흐름도이다.
도 5는 본 발명의 일 실시예에 따라 다중 스파이크 출력 요청이 있는 행 레지스터의 우선 순위를 결정하는 방식을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 이벤트 중재기를 포함하는 뉴런 코어 그룹의 블록 다이어그램이다.
도 3은 본 발명의 일 실시예에 따른 이벤트 중재기의 블록도이다.
도 4는 본 발명의 일 실시예에 따른 이벤트 중재기에서 이벤트 출력 및 부호화 동작을 나타낸 흐름도이다.
도 5는 본 발명의 일 실시예에 따라 다중 스파이크 출력 요청이 있는 행 레지스터의 우선 순위를 결정하는 방식을 설명하기 위한 도면이다.
이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예로 한정되지 않는다. 그리고, 도면에서는 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 발명의 일 실시예에 따른 뉴로모픽 시스템(100)의 블록도이다. 도 1을 참고하면, 뉴로모픽 시스템(100)은 시냅스 연결 테이블(110), 이벤트 라우터(120), 및 복수 개의 뉴런 코어(130)로 구성되는 코어 그룹(140)을 포함한다. 뉴로모픽 시스템(100)은 이벤트 기반 센서(300)와, 사용자 상호 작용 스파이크 이벤트를 전송하는 호스트 PC(200)로부터 입력되는 뉴런 스파이크 이벤트를 처리하도록 설계되어 있다. 시냅스 연결 테이블(110)은 시냅스 가중치 및 유형 등의 시냅스 정보와, 목적지 뉴런 코어의 포스트-시냅스(postsynaptic) 뉴런 어드레스를 나타내는 어드레스 이벤트에 인코딩된 포스트-시냅스 이벤트를 저장한다. 어드레스 이벤트 인코딩 체계는 이벤트 라우팅 아키텍처에 따라 다를 수 있다. 시냅스 연결 테이블(110)은 내부 및 외부 메모리에서 구현될 수도 있다. 뉴런 코어(130)는 뉴런 어레이로써, 구현된 뉴런 모델에 기반하여 입력되는 시냅스 이벤트를 처리하고 출력 뉴런 스파이크를 생성한다. 이벤트 라우터(120)는 이벤트 기반 센서(300), 호스트 PC(200), 뉴런 코어(130) 및 시냅스 연결 테이블(110) 간의 뉴런 이벤트 및 시냅스 이벤트의 흐름을 제어한다. 뉴런 코어(130)가 뉴런 스파이크를 생성하면, 이벤트 라우터(120)는 스파이크를 수신하고 시냅스 연결 테이블(110)로부터 포스트-시냅스 이벤트를 판독한다. 이어서, 이벤트 라우터(120)는 포스트-시냅스 이벤트를 뉴런 코어(130) 내 뉴런에게 배포한다. 이벤트 라우팅 아키텍처 설계는 뉴로모픽 시스템 설계에서 중요 사항이다.
도 2는 본 발명의 일 실시예에 따른 이벤트 중재기를 포함하는 뉴런 코어 그룹의 블록 다이어그램이다. 도 2를 참고하면, 뉴런 코어 그룹(140)은 8개의 뉴런 코어(130), 프리스케일러(141), 이벤트 라우터(143) 및 4개의 코어가 각각 공유하는 2개의 부동 소수점 유닛(FPU, Floating Point Units) (145 및 147)으로 구성된다. 프리스케일러(141)는 시간 분해능이 100ns이며 코어에 있는 어레이 타이머(133)를 카운팅하는 데 사용된다. 이벤트 라우터(143)는 어드레스 이벤트에 인코딩된 뉴런 및 시냅스 이벤트를 제어한다. 도 2의 이벤트 라우터(143)은 도 1의 이벤트 라우터(120)와 유사한 기능을 수행한다. 즉, 이벤트에 대한 일종의 교통 정리를 통하여 필요한 목적지로 적절하게 배분하는 역할을 수행한다. 다만, 시스템의 설계 계층에 따라, 도 2의 이벤트 라우터(143)은 뉴런 코어 그룹 계층에 필요한 이벤트 라우터이고, 도 1의 이벤트 라우터(120)은 시스템 계층에 필요한 이벤트 라우터이다. 본 실시예에서는 두 이벤트 라우터가 물리적으로 상이하게 구성되도록 설명하고 있으나, 반드시 이에 한정될 필요는 없으며, 물리적으로 동일한 하나의 이벤트 라우터로 구성하는 것도 가능하다. 이러한 이벤트 라우터(143)는, 입력 시냅스 이벤트를 코어의 목적지 뉴런에 배포하고, 코어의 뉴런이 뉴런 스파이크를 생성할 때 뉴런 스파이크를 시냅스 연결 테이블(도 1의 110)에 출력한다. 뉴런 코어(130)는 구성 레지스터(131), 아이들 타이머(132), 어레이 타이머(133), FIFO(134), 비교기(135), 스파이크 이벤트 중재기(136), 이득 제어기(137), 이벤트 컨트롤러(138) 및 SRAM(139)을 포함한다. 이하, 종래 범용으로 사용되는 구성요소에 대한 설명은 생략하고, 본 발명의 주요 특징과 관련 부분에 대해 집중적으로 설명한다. 설명이 생략된 구성 요소는 이 분야의 당업자라면 용이하게 알 수 있다.
도 2에서, 스파이크 이벤트 중재기(136)는 이벤트 중재기로 약칭될 수 있으며, 뉴런 코어(130)를 구성하는 하나의 구성 요소가 될 수 있다. 각 뉴런 코어(130)는 특정 개수의 뉴런을 집적하여 구현될 수 있다. 예컨대, M x N 개의 뉴런을 집적하여 구현할 수 있다. 뉴런 코어(130)에서 뉴런 스파이크가 발현되면, 이벤트 라우터(143)로 출력되기 전에 이벤트 중재기(136)에 등록된다. 이벤트 중재기(136)는 이벤트 라우터(143)의 준비 상황에 따라 스파이크 이벤트를 이벤트 라우터(143)로 출력한다. 뉴런 코어(130) 내부에 있는 이벤트 컨트롤러(138)은 뉴런 스파이크가 발현되면 이벤트 중재기(136)에 스파이크 이벤트를 바로 등록할 수 있기 때문에, 이벤트 라우터(143) 출력단의 교착 상태와는 독립적으로 이벤트를 수신하여 처리할 수 있다. 이러한 이벤트 중재기(136)로 인하여 뉴로모픽 시스템(100)에서 이벤트 교착 상태 없이 이벤트 입출력이 가능하게 된다.
도 3은 본 발명의 일 실시예에 따른 이벤트 중재기(136)의 블록도이다. 도 3을 참고하면, 이벤트 중재기(136)는 뉴런에서 발현되는 뉴런 스파이크 이벤트를 등록하는 이벤트 등록부(310), 뉴런 스파이크의 발현 여부를 저장하는 N개의 행 (Row) 레지스터(320-1,.., 320-N), 뉴런 스파이크 이벤트를 출력하는 이벤트 출력부(330), 이벤트 출력부(330)에서의 스파이크 이벤트 출력 우선 순위를 정하는 LFSR(Linear feedback shift register)(340), 및 출력되는 스파이크 이벤트를 부호화하는 이벤트 부호화 모듈(350)로 구성된다. 여기서, LFSR은 스파이크 이벤트 출력의 우선 순위를 결정하는 순위 결정부의 기능을 수행하는 것으로서, LFSR와 동등한 다른 기술로 구현 가능하다. 스파이크 이벤트가 뉴런으로부터 입력되면, 이벤트 등록부(310)는 스파이크 이벤트가 표현하는 뉴런 주소에 따라 N개의 행 레지스터 중 한 개의 행 레지스터의 특정 비트를 스파이크의 발현을 나타내는 비트로 변환한다. 예컨대, 값 0에서 값 1로 변환될 수 있다. 본 실시예에서 각 행 레지스터(320-1,.., 320-N)는 M개의 뉴런 스파이크 발현 여부를 저장할 수 있도록 설계되어 있다. 도 2에서, 행 레지스터는 N개로 구성되어, 총 M x N개 뉴런의 스파이크 발현 여부를 임시로 저장할 수 있다. 이벤트 출력부(330)에서는 행 레지스터들(320-1,.., 320-N)에 저장되어 있는 하나 또는 복수 개의 스파이크 중에서 출력될 스파이크 하나를 선택한다.
도 4는 본 발명의 일 실시예에 따른 이벤트 중재기(136)에서 이벤트 출력 및 부호화 동작을 나타낸 흐름도이다. 각 행 레지스터(320-1,.., 320-N)는 M 비트 중 어느 한 개의 비트라도 스파이크 발현을 나타내는 경우, 스파이크 출력을 이벤트 출력부(330)에 요청한다(S401). 복수 개의 행 레지스터가 동시에 스파이크 출력을 이벤트 출력부(330)에 요청할 수도 있다. 이 경우, 하나의 행 레지스터를 선택하여야 한다(S403). 이때, 선택의 바이어스가 없이 랜덤하게 선택하기 위하여 LFSR(340)의 출력값을 이용하여 우선 순위에 따라 하나의 행 레지스터를 선택할 수 있다. 또한, 선택된 행 레지스터에 복수 개의 비트가 스파이크 출력을 요청할 수 있다(S405). 이 때, 하나의 비트를 선택하여 하나의 뉴런 스파이크 이벤트를 선택한다(S407). 이 경우에도 선택의 바이어스가 없이 랜덤하게 선택하기 위하여 LFSR(340) 출력값을 이용하여 우선 순위에 따라 선택할 수 있다. 이를 위하여 LFSR은 비트의 출력을 내보내도록 구성된다. 여기서, 비트는 N개의 행 레지스터 중 하나를 선택하기 위한 정보이고, 비트는 선택된 행 레지스터 내의 M 비트 중 하나를 선택하기 위한 정보이다. 그 다음, 선택된 비트에 해당하는 뉴런의 주소 값이 부호화된다(S409). 부호화된 값은 이벤트 라우터(143)로 출력된다.
도 5는 본 발명의 일 실시예에 따라 다중 스파이크 출력 요청이 있는 행 레지스터의 우선 순위를 결정하는 방식을 설명하기 위한 도면이다. 도 5에서 행 레지스터가 8개, 즉 N=8 인 경우를 예시하고 있지만, 보다 많은 개수의 행 레지시스터가 있는 경우로 확장되어 적용될 수 있음을 이 분야의 당업자라면 쉽게 이해할 수 있을 것이다. 도 5에서, 행 레지스터(320-1,.., 320-8) 중 복수 개가 동시에 스파이크 이벤트 출력을 이벤트 출력부(330)로 요청할 수 있다. 이벤트 출력부(330)는 복수 개의 선택기를 포함한다. 보다 상세하게는, 행 레지스터(320-1,.., 320-8)로부터 스파이크 출력 요청이 직접 입력되는 4개의 1 단계 선택기(331 내지 334)와, 1 단계 선택기들의 출력이 입력되는 2 단계 선택기(335 및 336)와, 그리고 2단계 선택기의 출력이 입력되는 3단계 선택기(337)를 포함한다.
먼저, 각 1 단계 선택기(331 내지 334)는 2개의 경로, 즉 2 개의 행 레지스터로부터 스파이크 출력 요청을 수신할 수 있다. 만일, 2개의 경로 중에서 1개로부터만 스파이크 출력 요청을 수신하는 경우, 스파이크 출력을 요청하는 경로, 즉 해당 행 레지스터를 선택하여 2 단계의 선택기(335 또는 336)로 출력을 요청한다. 만일, 2개의 경로 모두로부터 스파이크 출력 요청을 받는 경우, LFSR(340)로부터 입력되는 특정 비트가 지시하는 경로를 선택하고, 이를 2 단계의 선택기(335 또는 336)로 출력 요청을 전달한다. N개의 행 레지스터의 우선 순위를 선택하기 위하여 필요한 단계는 개이며 비트의 LFSR 비트가 필요하다. 또한, 최종 선택된 행 레지스터에서 최종 1개의 뉴런 스파이크 출력 요청을 선택하는 과정도 위 유사한 방식으로 구현될 수 있다. 이에 대해 본 실시예에서 상술하지는 않지만, 이 분야의 당업자라면 위에서 설명된 내용에 기초하여 용이하게 구현할 수 있다. 최종 선택된 1 개의 뉴런 스파이크 주소는 이벤트 부호화 모듈(350)을 통하여 뉴런의 행 및 열에 해당하는 주소로 부호화하여 외부의 이벤트 라우터(143)로 전달된다. 또한, 선택된 뉴런의 스파이크를 나타내는 비트는 값 1에서 값0으로 리셋된다.
이상에서 본 발명의 다양한 실시예에 대해 설명하였지만, 이들 다양한 실시예는 반드시 단독으로 구현될 필요는 없고, 둘 이상의 실시예가 결합될 수도 있다. 또한, 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다.
Claims (16)
- 뉴로모픽 시스템에 있어서,
복수 개의 뉴런을 포함하는 뉴런 코어와,
상기 뉴런 코어에서 생성된 뉴런 스파이크 이벤트를 수신하고, 상기 뉴런 스파이크 이벤트의 흐름을 제어하는 이벤트 라우터를 포함하고,
상기 뉴런 코어는 상기 뉴런 스파이크 이벤트가 발현되는 경우, 상기 이벤트 라우터로 출력되기 이전에 상기 뉴런 스파이크 이벤트를 등록하는 이벤트 중재기를 포함하되,
상기 이벤트 중재기는,
복수 개의 뉴런에서 발생하는 뉴런 스파이크 이벤트를 등록하는 이벤트 등록부와,
각 뉴런에서의 스파이크 발현 여부를 저장하는 M개의 비트를 각각 포함하는 N개의 레지스터와,
뉴런 스파이크 이벤트의 우선 순위를 정하는 순위 결정부와,
상기 순위 결정부로부터 출력된 입력되는 값에 기초하여 상기 복수 개의 레지스터에 저장된 뉴런 스파이크 이벤트 중 하나를 선택하여 출력하는 이벤트 출력부를 포함하고,
상기 순위 결정부는 비트를 상기 이벤트 출력부로 출력하는 뉴로모픽 시스템. - 제1항에 있어서, 상기 이벤트 중재기는 복수 개의 뉴런 스파이크 이벤트가 동시에 발생하는 경우, 소정의 우선 순위에 따라 하나를 선택하여 상기 이벤트 라우터로 전송하는, 뉴로모픽 시스템.
- 제2항에 있어서, 상기 우선 순위는 선택의 바이어스없이 랜덤하게 결정되는, 뉴로모픽 시스템.
- 삭제
- 제1항에 있어서, 상기 이벤트 출력부는 복수 개의 레지스터로부터 뉴런 스파이크 이벤트 출력 요청이 있는 경우, 상기 순위 결정부로부터 입력되는 값에 기초하여 하나의 레지스터를 선택하는, 뉴로모픽 시스템.
- 제5항에 있어서, 상기 이벤트 출력부는 상기 선택된 레지스터에 복수 개의 뉴런 스파이크 이벤트 출력 요청이 있는 경우, 상기 순위 결정부로부터 입력되는 값에 기초하여 하나의 스파이크 이벤트를 선택하여 출력하는, 뉴로모픽 시스템.
- 삭제
- 제1항에 있어서, 상기 비트는 복수 개의 레지스터 중 하나의 레지스터 선택하기 위한 정보이고, 상기 비트는 하나의 레지스터에 저장된 복수 개의 뉴런 스파이크 이벤트 요청 중 하나를 선택하기 위한 정보인 것인, 뉴로모픽 시스템.
- 제1항에 있어서, 상기 순위 결정부는 LFSR(Linear feedback shift register)인 것인, 뉴로모픽 시스템.
- 제1항에 있어서, 상기 이벤트 중재기는 상기 선택된 뉴런 스파이크 이벤트에 해당하는 뉴런의 주소 값을 부호화하는 부호화부를 더 포함하는, 뉴로모픽 시스템.
- 뉴로모픽 시스템에서 스파이크 이벤트 중재 방법으로서,
복수 개의 뉴런으로부터 입력되는 스파이크 이벤트 요청을 등록하는 단계와,
각 뉴런에서의 스파이크 발현 여부를 M개의 비트를 각각 포함하는 복수(N) 개의 레지스터에 저장하는 단계와,
복수 개의 뉴런으로부터 스파이크 이벤트 요청이 동시에 발생하는 경우, 우선 순위에 기초하여 하나의 스파이크 이벤트 요청을 선택하는 단계와,
상기 선택된 스파이크 이벤트를 출력하는 단계를 포함하되,
상기 우선 순위는 비트 값에 의하여 결정되는 스파이크 이벤트 중재 방법. - 삭제
- 제11항에 있어서,
상기 우선 순위는 선택의 바이어스없이 랜덤하게 결정되는, 스파이크 이벤트 중재 방법. - 삭제
- 제11항에 있어서, 상기 비트는 N개의 레지스터 중 하나의 레지스터 선택하기 위한 정보이고, 상기 비트는 하나의 레지스터에 저장된 M개의 뉴런 스파이크 이벤트 요청 중 하나를 선택하기 위한 정보인 것인, 스파이크 이벤트 중재 방법.
- 제11항에 있어서, 상기 선택된 뉴런 스파이크 이벤트에 해당하는 뉴런의 주소 값을 부호화하는 단계를 더 포함하는, 스파이크 이벤트 중재 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210073973A KR102577937B1 (ko) | 2021-06-08 | 2021-06-08 | 이벤트 교착 상태 없는 멀티 코어 뉴로모픽 시스템을 위한 이벤트 중재기 및 이벤트 중재 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210073973A KR102577937B1 (ko) | 2021-06-08 | 2021-06-08 | 이벤트 교착 상태 없는 멀티 코어 뉴로모픽 시스템을 위한 이벤트 중재기 및 이벤트 중재 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220165398A KR20220165398A (ko) | 2022-12-15 |
KR102577937B1 true KR102577937B1 (ko) | 2023-09-14 |
Family
ID=84439543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210073973A KR102577937B1 (ko) | 2021-06-08 | 2021-06-08 | 이벤트 교착 상태 없는 멀티 코어 뉴로모픽 시스템을 위한 이벤트 중재기 및 이벤트 중재 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102577937B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021013048A (ja) * | 2019-07-03 | 2021-02-04 | 公立大学法人会津大学 | 3次元ネットワークオンチップによるスパイキングニューラルネットワーク |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117556888A (zh) * | 2016-08-19 | 2024-02-13 | 莫维迪乌斯有限公司 | 用于深度学习模型的分布式训练的系统和方法 |
KR20190133547A (ko) * | 2018-05-23 | 2019-12-03 | 한국전자통신연구원 | 인공 신경망 장치 및 그 동작 방법 |
-
2021
- 2021-06-08 KR KR1020210073973A patent/KR102577937B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021013048A (ja) * | 2019-07-03 | 2021-02-04 | 公立大学法人会津大学 | 3次元ネットワークオンチップによるスパイキングニューラルネットワーク |
Also Published As
Publication number | Publication date |
---|---|
KR20220165398A (ko) | 2022-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Neu-NoC: A high-efficient interconnection network for accelerated neuromorphic systems | |
US20200034687A1 (en) | Multi-compartment neurons with neural cores | |
US10785745B2 (en) | Scaling multi-core neurosynaptic networks across chip boundaries | |
US9245222B2 (en) | Synaptic, dendritic, somatic, and axonal plasticity in a network of neural cores using a plastic multi-stage crossbar switching | |
EP0197103B1 (en) | Load balancing for packet switching nodes | |
JP7053775B2 (ja) | ネットワークオンチップによるデータ処理方法及び装置 | |
WO1989003566A2 (en) | Layered network | |
EP1665065B1 (en) | Integrated data processing circuit with a plurality of programmable processors | |
CN111630505B (zh) | 深度学习加速器系统及其方法 | |
Muppala et al. | Composite performance and availability analysis using a hierarchy of stochastic reward nets | |
KR102539571B1 (ko) | 네트워크 온칩 데이터 처리 방법 및 장치 | |
AU6373999A (en) | Digital processing device | |
Ding et al. | A hybrid-mode on-chip router for the large-scale FPGA-based neuromorphic platform | |
KR102577937B1 (ko) | 이벤트 교착 상태 없는 멀티 코어 뉴로모픽 시스템을 위한 이벤트 중재기 및 이벤트 중재 방법 | |
US20130318270A1 (en) | Arbitration circuity and method for arbitrating between a plurality of requests for access to a shared resource | |
CN112242963A (zh) | 一种快速的高并发神经脉冲数据包分发传送方法 | |
KR102402255B1 (ko) | 멀티코어 뉴로모픽 장치 및 그 장치에서 수행되는 글로벌 라우팅 방법 | |
Li | Minimum deadlock-free message routing restrictions in binary hypercubes | |
Sakai et al. | Design and implementation of a circular omega network in the EM-4 | |
CN109376117B (zh) | 计算芯片及其操作方法 | |
Ben Abdallah et al. | Reconfigurable Neuromorphic Computing System | |
JP2024523538A (ja) | ニューラルネットワークアクセラレータ | |
Quadri et al. | Modeling of topologies of interconnection networks based on multidimensional multiplicity | |
WO2020049637A1 (ja) | 学習装置 | |
Chu et al. | Design a Novel Memory Network for Processor-in-Memory Architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20210608 |
|
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: 20230126 Patent event code: PE09021S01D |
|
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: 20230728 |
|
PG1601 | Publication of registration |