KR102153980B1 - 뉴럴 네트워크 칩 - Google Patents

뉴럴 네트워크 칩 Download PDF

Info

Publication number
KR102153980B1
KR102153980B1 KR1020180000429A KR20180000429A KR102153980B1 KR 102153980 B1 KR102153980 B1 KR 102153980B1 KR 1020180000429 A KR1020180000429 A KR 1020180000429A KR 20180000429 A KR20180000429 A KR 20180000429A KR 102153980 B1 KR102153980 B1 KR 102153980B1
Authority
KR
South Korea
Prior art keywords
nodes
coil
controller
operation result
result value
Prior art date
Application number
KR1020180000429A
Other languages
English (en)
Other versions
KR20190082611A (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 KR1020180000429A priority Critical patent/KR102153980B1/ko
Publication of KR20190082611A publication Critical patent/KR20190082611A/ko
Application granted granted Critical
Publication of KR102153980B1 publication Critical patent/KR102153980B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal 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)
  • Image Analysis (AREA)

Abstract

본 발명의 기술적 사상에 의한 일 양태에 따른 뉴럴 네트워크 칩은, 제1 레이어에 포함된 복수의 제1 노드들; 미리 설정된 순서에 따라서 제1 노드들 각각의 연산 결과 값을 수신하여 출력하는 서브 컨트롤러; 서브 컨트롤러로부터 제1 노드들 각각의 연산 결과 값을 수신하고, 코일을 제어하여 제1 노드들 각각의 연산 결과 값에 대응하는 자기장을 발생시키는 코일 컨트롤러; 및 제2 레이어에 포함되고, 각각이 자기장을 센싱하여 제1 노드들 각각의 연산 결과 값을 수신하는 복수의 제2 노드들을 포함할 수 있다.

Description

뉴럴 네트워크 칩{NEURAL NETWORK CHIP}
본 발명의 기술적 사상은 프로세서(processor) 또는 칩(chip)에 관한 것으로서, 보다 상세하게는 뉴럴 네트워크를 모방한 칩에 관한 것이다.
머신 러닝의 일종인 뉴럴 네트워크 알고리즘은 도 1에 도시된 바와 같이, 다수의 레이어로 이루어져 있으며, 하위 레이어에 속한 노드들은 자신의 연산 결과 값을 상위 레이어에 속한 노드들로 전달한다. 즉, 레이어 1의 노드들 각각은 연산 결과 값을 레이어 2의 노드들로 전달하는데, 이 때 레이어 1에 속한 노드들의 연산 결과 값은 미리 학습된 가중치가 가해져 레이어 2의 노드들로 전달된다.
뉴럴 네트워크를 모방한 단일 칩을 구현하기 위해서는 칩 내에 수 많은 노드들이 존재하여야 하며, 각 노드 간의 통신을 위한 인터커넥션 수단을 구비하여야 한다. 각 노드 간의 통신을 위해 유선 통신 방법을 사용하는 경우, 라우팅 등에 필요한 면적이 크게 증가할 수 있으므로, 칩의 크기 및 제조 단가 측면에서 문제점이 존재한다.
따라서, 수천, 수만개의 노드가 필요한 뉴럴 네트워크 칩을 작은 크기 및 적은 비용으로 제조할 수 있는 방안이 요구된다.
본 발명의 기술적 사상이 이루고자 하는 기술적 과제는, 자기장 통신 방법을 채용하여 작은 크기 및 저비용의 뉴럴 네트워크 칩을 제공하는데 있다.
본 발명의 기술적 사상에 따른 뉴럴 네트워크 칩이 이루고자 하는 기술적 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 기술적 사상에 의한 일 양태에 따른 뉴럴 네트워크 칩은, 제1 레이어에 포함된 복수의 제1 노드들; 미리 설정된 순서에 따라서 상기 제1 노드들 각각의 연산 결과 값을 수신하여 출력하는 서브 컨트롤러; 상기 서브 컨트롤러로부터 상기 제1 노드들 각각의 연산 결과 값을 수신하고, 코일을 제어하여 상기 제1 노드들 각각의 연산 결과 값에 대응하는 자기장을 발생시키는 코일 컨트롤러; 및 제2 레이어에 포함되고, 각각이 상기 자기장을 센싱하여 상기 제1 노드들 각각의 연산 결과 값을 수신하는 복수의 제2 노드들을 포함할 수 있다.
예시적인 실시예에 따르면, 상기 서브 컨트롤러는, 상기 순서에 따라서 미리 설정된 송신 시간 간격으로 상기 제1 노드들 각각의 연산 결과 값을 출력하고, 상기 코일 컨트롤러는, 상기 송신 시간 간격으로 상기 코일을 제어하여 상기 제1 노드들 각각의 연산 결과 값에 대응하는 자기장을 발생시킬 수 있다.
예시적인 실시예에 따르면, 상기 송신 시간 간격은, 상기 제1 노드들 각각에 대해 동일할 수 있다.
예시적인 실시예에 따르면, 상기 코일 컨트롤러는, 상기 제1 노드들 각각의 연산 결과 값에 대응하도록 상기 코일로 흐르는 전류를 제어하여 상기 자기장을 발생시킬 수 있다.
예시적인 실시예에 따르면, 상기 코일은, 상기 제1 레이어 및 상기 제2 레이어 중 어느 하나에 대응하며, 상기 제1 노드들, 상기 서브 컨트롤러, 상기 코일, 상기 코일 컨트롤러 및, 상기 제2 노드들은 베이스 칩에 포함될 수 있다.
예시적인 실시예에 따르면, 상기 제1 노드들, 상기 서브 컨트롤러, 및 상기 제2 노드들은 베이스 칩에 포함되며, 상기 코일 및 상기 코일 컨트롤러는 상기 베이스 칩의 외부에 위치할 수 있다.
예시적인 실시예에 따르면, 상기 제2 노드들 각각은 상기 제1 노드들 각각의 연산 결과 값에 대응하여 발생되는 자기장을 센싱하는 홀 센서를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 제2 노드들 각각은 상기 홀 센서로부터 출력되는 센싱 전압을 누적하여 누적 전압 값을 출력하는 적분기를 포함하고, 상기 적분기는, 미리 설정된 수신 시간 간격 동안 상기 센싱 전압을 누적할 수 있다.
예시적인 실시예에 따르면, 상기 수신 시간 간격은, 상기 제1 노드들 별로 상이할 수 있다.
예시적인 실시예에 따르면, 상기 수신 시간 간격은, 상기 서브 컨트롤러가 상기 제1 노드들 각각의 연산 결과 값을 출력하는 송신 시간 간격과 동일하거나 상기 송신 시간 간격보다 작을 수 있다.
예시적인 실시예에 따르면, 상기 제2 노드들 각각은 상기 제1 노드들 각각에 대한 누적 전압 값들을 미리 설정된 기준 값과 비교하는 비교기를 더 포함할 수 있다.
본 발명의 기술적 사상에 의한 다른 양태에 따른 뉴럴 네트워크 칩은, 각각이 입력된 데이터를 연산하는 복수의 노드들; 미리 설정된 순서에 따라서 상기 노드들 각각의 연산 결과 값을 수신하여 출력하는 서브 컨트롤러; 및 상기 서브 컨트롤러로부터 상기 노드들 각각의 연산 결과 값을 수신하고, 코일을 제어하여 상기 노드들 각각의 연산 결과 값에 대응하는 자기장을 발생시키는 코일 컨트롤러를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 서브 컨트롤러는, 상기 순서에 따라서 미리 설정된 송신 시간 간격으로 상기 노드들 각각의 연산 결과 값을 출력하고, 상기 코일 컨트롤러는, 상기 송신 시간 간격으로 상기 코일을 제어하여 상기 노드들 각각의 연산 결과 값에 대응하는 자기장을 발생시킬 수 있다.
예시적인 실시예에 따르면, 상기 송신 시간 간격은, 상기 노드들 각각에 대해 동일할 수 있다.
본 발명의 기술적 사상에 의한 또 다른 양태에 따른 뉴럴 네트워크 칩은, 하위 레이어에 연속하는 상위 레이어에 포함되고, 각각이 상기 하위 레이어에 포함된 복수의 하위 노드들 각각의 연산 결과 값에 대응하는 자기장을 센싱하여 상기 하위 노드들 각각의 연산 결과 값을 수신하는 복수의 상위 노드들; 및 상기 상위 노드들 각각이 미리 설정된 수신 시간 간격 동안 상기 자기장을 센싱하도록 상기 상위 노드들을 제어하는 서브 컨트롤러를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 상위 노드들 각각은 상기 하위 노드들 각각의 연산 결과 값에 대응하여 발생되는 자기장을 센싱하는 홀 센서를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 상위 노드들 각각은 상기 홀 센서로부터 출력되는 센싱 전압을 누적하여 누적 전압 값을 출력하는 적분기를 포함하고, 상기 적분기는, 미리 설정된 수신 시간 간격 동안 상기 센싱 전압을 누적할 수 있다.
예시적인 실시예에 따르면, 상기 수신 시간 간격은, 상기 하위 노드들 별로 상이할 수 있다.
예시적인 실시예에 따르면, 상기 상위 노드들 각각은 상기 하위 노드들 각각에 대한 누적 전압 값들을 미리 설정된 기준 값과 비교하는 비교기를 더 포함할 수 있다.
본 발명의 기술적 사상에 의한 실시예들에 따른 뉴럴 네트워크 칩은, 자기장 통신 방법을 채용하여 작은 크기 및 저비용의 뉴럴 네트워크 칩을 제공할 수 있다.
또한, 본 발명의 기술적 사상에 의한 실시예들에 따른 뉴럴 네트워크 칩은, 서로 다른 레이어의 노드들 간에 설정된 가중치를 적분기의 시간 제어를 통해 간단하게 달성할 수 있다.
본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 일반적인 뉴럴 네트워크 알고리즘을 나타내는 도면이다.
도 2는 본 발명의 기술적 사상에 의한 일 실시예에 따른 뉴럴 네트워크 칩의 구성을 도시하는 도면이다.
도 3은 뉴럴 네트워크 칩에 포함된 노드들의 브로드캐스팅을 위한 타임 슬롯을 나타내는 예시적인 도면이다.
도 4a 및 도 4b는 레이어 1의 노드들과 레이어 2의 노드들 사이의 통신 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 기술적 사상에 의한 일 실시예에 따른 뉴럴 네트워크 칩에 포함된 노드의 구성을 도시하는 도면이다.
도 6은 도 5에 도시된 노드의 구성을 보다 상세하게 도시하는 도면이다.
도 7은 본 발명의 기술적 사상에 의한 다른 실시예에 따른 뉴럴 네트워크 칩의 구성을 도시하는 도면이다.
본 발명의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 기술적 사상의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
이하, 본 발명의 기술적 사상에 의한 실시예들을 차례로 상세히 설명한다.
도 2는 본 발명의 기술적 사상에 의한 일 실시예에 따른 뉴럴 네트워크 칩(100)의 구성을 도시하는 도면이다.
도 2에 도시된 뉴럴 네트워크 칩(100)은 뉴럴 네트워크를 모방한 단일 칩으로서, 도 2에 도시된 바와 같이, 단일 칩은 다수의 레이어로 구성되며, 각 레이어에는 복수의 노드(110)들이 포함된다. 레이어 1에 속한 노드(110)들 각각의 연산 결과 값은 레이어 2의 노드(110)들로 브로드캐스팅되고, 레이어 2의 노드(110)들 각각의 연산 결과 값은 레이어 3의 노드(110)들로 브로드캐스팅된다. 즉, 하위 레이어의 노드(110)들 각각의 연산 결과 값은 상위 레이어의 노드(110)들로 브로드캐스팅된다.
단일 칩은 각 레이어에 대응하여 서브 컨트롤러(130) 및 코일(170)을 포함하며, 코일 컨트롤러(150)는 각각의 서브 컨트롤러(130) 및 각각의 코일(170)과 연결된다. 도 2에 도시된 바와 같이, 각 레이어에 속한 노드들(110), 서브 컨트롤러들(130), 코일들(170) 및 코일 컨트롤러(150)는 하나의 베이스 칩에 포함되어 뉴럴 네트워크 칩(100)을 구성할 수 있다.
본 발명의 기술적 사상에 따르면, 서로 다른 레이어에 속한 노드(110)들 간의 통신은 코일(170)에서 발생하는 자기장을 통해 수행되므로, 앞서 설명한 유선 통신에 따른 라우터 등을 구비할 필요가 없다.
각 레이어에 대응하는 서브 컨트롤러(130)는 자신과 연결된 각각의 노드(110)로부터 연산 결과 값을 수신하고, 이를 미리 설정된 순서에 따라 코일 컨트롤러(150)로 출력한다.
코일 컨트롤러(150)는 서브 컨트롤러(130)로부터 수신된 연산 결과 값에 대응하는 자기장이 코일(170)에서 발생할 수 있도록 코일(170)에 흐르는 전류를 제어할 수 있다. 더 상세하게는, 코일 컨트롤러(150)는 자기장의 크기 및 방향 중 적어도 하나가, 각 노드(110)들의 연산 결과 값들에 대응하도록 상기 코일(170)로 흐르는 전류를 제어할 수 있다.
자기장 발생을 위한 일 예로서, 레이어 1에 속한 서브 컨트롤러(130)는 레이어 1의 노드(110)들의 연산 결과 값을 코일 컨트롤러(150)로 전송하고, 코일 컨트롤러(150)는 레이어 1에 속한 코일(170)(즉, 동일 레이어에 대응하는 코일)에서 발생되는 자기장을 제어하여, 발생된 자기장이 레이어 2에 속한 노드(110)들에 의해 감지될 수 있게 한다.
다른 예로서, 레이어 1에 속한 서브 컨트롤러(130)는 레이어 1의 노드(110)들의 연산 결과 값을 코일 컨트롤러(150)로 전송하고, 코일 컨트롤러(150)는 레이어 2에 속한 코일(170)(즉, 상위 레이어에 대응하는 코일)에서 발생되는 자기장을 제어하여, 발생된 자기장이 레이어 2에 속한 노드(110)들에 의해 감지될 수 있게 할 수도 있다.
본 발명의 기술적 사상에 따르면, 하위 레이어에 대응하여 발생된 자기장이 하위 레이어의 어느 노드(110)의 연산 결과 값에 대응하는지를 상위 레이어의 노드(110)들이 알 수 있도록, 하위 레이어에 속한 서브 컨트롤러(130)는 하위 레이어의 노드(110)들의 연산 결과 값을 미리 설정된 순서에 따라 순차적으로 코일 컨트롤러(150)로 전송한다.
이에 대해서는 도 3을 참조하여 설명한다. 도 3은 뉴럴 네트워크 칩(100)에 포함된 노드(110)들의 브로드캐스팅을 위한 타임 슬롯을 나타내는 예시적인 도면이다.
서브 컨트롤러(130)들은 미리 각 레이어의 노드(110)들의 브로드캐스팅을 위한 타임 슬롯 정보를 저장할 수 있다. 예를 들어, 도 3에 도시된 바와 같이, 레이어 1의 경우 노드 1, 노드 2, ..., 노드 n의 순서로 각 노드(110)의 연산 결과 값이 브로드캐스팅되어야 하고, 레이어 2의 경우도 노드 1, 노드 2, ..., 노드 m의 순서로 각 노드(110)의 연산 결과 값이 브로드캐스팅되어야 하는 것으로 설정될 수 있다.
서브 컨트롤러(130)는 각 노드(110)의 타임 슬롯에 해당하는 송신 시간 간격 동안 각 노드(110)의 연산 결과 값을 출력하는데, 예를 들어, 서브 컨트롤러(130)는 도 3에 도시된 레이어 1의 노드 1의 연산 결과 값을 노드 1에 대응하는 타임 슬롯(310) 동안 코일 컨트롤러(150)로 출력하고, 레이어 1의 노드 2의 연산 결과 값을 노드 2에 대응하는 타임 슬롯(320) 동안 코일 컨트롤러(150)로 출력한다. 어느 하나의 레이어에 속한 노드들(110) 각각의 송신 시간 간격은 서로 동일할 수 있다.
도 2를 참조하여 구체적으로 설명하면, 연산 결과 값의 브로드캐스팅 순서를 미리 저장하고 있는 레이어 1의 서브 컨트롤러(130)는 먼저 노드 1의 연산 결과 값을 노드 1의 타임 슬롯 동안 코일 컨트롤러(150)로 출력하고, 코일 컨트롤러(150)는 수신된 연산 결과 값에 따라 코일(170)을 제어하여 연산 결과 값에 대응하는 자기장이 타임 슬롯에 해당하는 송신 시간 간격 동안 발생되도록 한다. 도 4a에 도시된 바와 같이, 노드 1의 연산 결과 값에 대응하여 발생한 자기장은 레이어 2에 속한 모든 노드(110)들로 전송된다.
다음으로, 레이어 1의 서브 컨트롤러(130)는 노드 2의 연산 결과 값을 노드 2의 타임 슬롯 동안 코일 컨트롤러(150)로 출력하고, 코일 컨트롤러(150)는 수신된 연산 결과 값에 따라 코일(170)을 제어하여 연산 결과 값에 대응하는 자기장이 타임 슬롯에 해당하는 송신 시간 간격 동안 발생되도록 한다. 도 4b에 도시된 바와 같이, 노드 2의 연산 결과 값에 대응하여 발생한 자기장은 레이어 2에 속한 모든 노드(110)들로 전송된다.
이와 같이, 각 레이어에 속한 노드(110)들의 연산 결과 값을 미리 설정된 순서에 따라 브로드캐스팅되게 함으로써, 연산 결과 값을 수신하는 상위 레이어의 노드(110)들은 하위 레이어의 노드(110)들 중 어느 노드(110)에 대응하여 브로드캐스팅된 값인지를 쉽게 알 수 있게 된다.
도 5는 본 발명의 기술적 사상에 의한 일 실시예에 따른 뉴럴 네트워크 칩(100)에 포함된 노드(110)의 구성을 도시하는 도면이고, 도 6은 도 5에 도시된 노드(110)의 구성을 보다 상세하게 도시하는 도면이다.
도 5를 참조하면, 노드(110)는 홀 센서(112), 적분기(114) 및 비교기(116)를 포함한다. 홀 센서(112)는 하위 레이어에 대응하여 발생된 자기장을 감지하여 그에 대응하는 센싱 전압을 출력한다. 도 6에 도시된 바와 같이, 홀 센서(112)는 홀 소자, 전압 조절기 등으로 이루어져 있다. 홀 센서(112)는 당업계에서 일반적으로 사용되고 있는 소자인 바, 상세한 설명은 생략한다.
적분기(114)는 홀 센서(112)가 출력한 센싱 전압을 누적한다. 본 발명의 일 실시예에 따르면, 적분기(114)는 미리 설정된 수신 시간 간격 동안 센싱 전압을 누적하는데, 상기 수신 시간 간격은 하위 레이어의 노드별로 미리 설정되어 있을 수 있다.
예를 들어, 하위 레이어의 노드 1에 대해 수신 시간 간격으로서 ti1이 설정되고, 하위 레이어의 노드 2에 대해 수신 시간 간격으로서 ti2가 설정된 경우, 노드(110)의 적분기(114)는 서브 컨트롤러(130)의 제어에 따라, 하위 레이어의 노드 1의 브로드캐스팅 시간 동안 발생된 자기장의 센싱 전압을 ti1 동안 누적하고, 하위 레이어의 노드 2의 브로드캐스팅 시간 동안 발생된 자기장의 센싱 전압을 ti2 동안 누적할 수 있다. 상기 하위 레이어의 각 노드별로 설정된 수신 시간 간격은 하위 레이어의 각 노드별 타임 슬롯에 대응하는 송신 시간 간격과 동일하거나 이보다 작을 수 있다. 또한, 상기 하위 레이어의 각 노드별로 설정된 수신 시간 간격은 상기 하위 레이어의 각 노드들 별로 서로 상이하게 설정될 수 있다.
하위 레이어에 속한 노드별로 미리 설정된 수신 시간 간격은 하위 레이어의 각 노드와 상위 레이어의 각 노드 사이의 가중치에 대응할 수 있다. 즉, 하위 레이어의 노드 1과 상위 레이어의 노드 1 사이의 가중치가 작게 설정되면, 하위 레이어의 노드 1의 브로드캐스팅 시간 동안 상위 레이어의 노드 1은 짧은 시간 동안 센싱 전압을 누적하고, 반대로 하위 레이어의 노드 1과 상위 레이어의 노드 1 사이의 가중치가 크게 설정되면, 하위 레이어의 노드 1의 브로드캐스팅 시간 동안 상위 레이어의 노드 1은 긴 시간 동안 센싱 전압을 누적한다.
비교기(116)는 하위 레이어에 속한 모든 노드들의 연산 결과 값에 대응하여 발생된 자기장의 센싱 전압에 대해 최종적으로 누적된 전압을 비교 전압과 비교하여 비교 결과로서 연산 결과 값을 출력한다.
비교기(116)에 의해 출력된 연산 결과 값은 서브 컨트롤러(130)로 전달되고, 서브 컨트롤러(130)는 연산 결과 값을 코일 컨트롤러(150)로 출력하여 연산 결과 값에 대응하는 자기장이 다음 순위의 상위 레이어로 전달되도록 한다.
한편, 도 2를 다시 참조하면, 레이어 1은 입력 레이어에 해당할 수 있는데, 이 경우, 레이어 1의 각 노드(110)들은 외부의 소자로부터 입력된 입력 데이터를 그대로 또는 연산하여 연산 결과 값으로서 브로드캐스팅할 수 있다. 외부의 소자 역시 자기장 통신을 통해 레이어 1의 각 노드(110)들로 입력 데이터를 전달할 수 있다.
또한, 레이어 N은 출력 레이어에 해당할 수 있는데, 이 경우, 레이어 N의 각 노드(110)들은 레이어 N-1로부터 브로드캐스팅된 값에 대응하여 출력된 연산 결과 값을 그대로 또는 연산하여 출력 데이터로서 외부의 소자로 전송할 수 있다. 출력 데이터 역시 자기장 통신을 통해 외부의 소자로 전달될 수 있음은 물론이다.
도 7은 본 발명의 기술적 사상에 의한 다른 실시예에 따른 뉴럴 네트워크 칩(700)의 구성을 도시하는 도면이다.
도 7을 참조하면, 본 발명의 기술적 사상에 의한 다른 실시예에 따른 뉴럴 네트워크 칩(700)은 베이스 칩(710), 코일 컨트롤러(150) 및 코일(170)을 포함할 수 있다.
도 7에 도시된 뉴럴 네트워크 칩(700)과 도 2에 도시된 뉴럴 네트워크 칩(100)을 비교하면, 도 2에서는 노드들(100), 서브 컨트롤러들(130), 복수의 코일(170)들 및 코일 컨트롤러(150)가 하나의 베이스 칩(즉, 뉴럴 네트워크 칩)에 포함되어 있었지만, 도 7에서는 하나의 코일(170) 및 코일 컨트롤러(150)가 베이스 칩(710) 외부에 위치하는 것을 알 수 있다. 예를 들어, 도 7에 도시된 뉴럴 네트워크 칩(700)은 코일(170) 및 코일 컨트롤러(150)와 물리적으로 분리되어 패키징되거나 임의의 보드 상에 실장될 수 있다.
도 7에 도시된 뉴럴 네트워크 칩(700)의 동작은 하나의 코일(170)이 베이스 칩(710) 외부에 위치하는 것을 제외하고는 도 2에 도시된 뉴럴 네트워크 칩(100)의 동작과 동일하다.
베이스 칩(710)은 복수의 레이어로 구성되며, 각 레이어에 대응하여 복수의 노드(110) 및 서브 컨트롤러(130)를 포함한다. 각 레이어의 서브 컨트롤러(130)는 자신과 연결된 노드(110)들의 연산 결과 값을 미리 설정된 순서에 따라 코일 컨트롤러(150)로 출력하고, 코일 컨트롤러(150)는 연산 결과 값에 대응하는 자기장이 발생하도록 코일(170)을 제어하여, 발생된 자기장이 상위 레이어의 노드(110)들로 전달되도록 한다.
상위 레이어의 각 노드(110)는 도 5에 도시된 바와 같이, 홀 센서(112), 적분기(114) 및 비교기(116)를 포함하며, 홀 센서(112)에 의해 감지된 자기장에 대응하는 센싱 전압을 적분기(114)가 하위 레이어의 각 노드(110)별로 미리 설정된 시간 동안 누적하고, 비교기(116)는 최종적으로 누적된 전압과 기준 전압을 비교하여 연산 결과 값을 출력한다.
이상, 본 발명의 기술적 사상을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명의 기술적 사상은 상기 실시예들에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형 및 변경이 가능하다.
100, 700: 뉴럴 네트워크 칩
110: 노드
112: 홀 센서
114: 적분기
116: 비교기
130: 서브 컨트롤러
150: 코일 컨트롤러
170: 코일
710: 베이스 칩

Claims (19)

  1. 제1 레이어에 포함된 복수의 제1 노드들;
    미리 설정된 순서에 따라서 상기 제1 노드들 각각의 연산 결과 값을 수신하여 동일한 송신 시간 간격으로 출력하는 서브 컨트롤러;
    상기 서브 컨트롤러로부터 상기 제1 노드들 각각의 연산 결과 값을 수신하고, 상기 송신 시간 간격으로 코일을 제어하여 상기 제1 노드들 각각의 연산 결과 값에 대응하는 자기장을 발생시키는 코일 컨트롤러; 및
    제2 레이어에 포함되고, 각각이 홀 센서를 통해 상기 제1 노드들과의 사이의 가중치에 대응하는 미리 설정된 수신 시간 간격 동안 상기 자기장을 센싱하여 상기 제1 노드들 각각의 연산 결과 값을 수신하는 복수의 제2 노드들;
    을 포함하는, 뉴럴 네트워크 칩.
  2. 삭제
  3. 삭제
  4. 제1 항에 있어서,
    상기 코일 컨트롤러는, 상기 제1 노드들 각각의 연산 결과 값에 대응하도록 상기 코일로 흐르는 전류를 제어하여 상기 자기장을 발생시키는, 뉴럴 네트워크 칩.
  5. 제1 항에 있어서,
    상기 코일은, 상기 제1 레이어 및 상기 제2 레이어 중 어느 하나에 대응하며,
    상기 제1 노드들, 상기 서브 컨트롤러, 상기 코일, 상기 코일 컨트롤러 및, 상기 제2 노드들은 베이스 칩에 포함되는, 뉴럴 네트워크 칩.
  6. 제1 항에 있어서,
    상기 제1 노드들, 상기 서브 컨트롤러, 및 상기 제2 노드들은 베이스 칩에 포함되며,
    상기 코일 및 상기 코일 컨트롤러는 상기 베이스 칩의 외부에 위치하는, 뉴럴 네트워크 칩.
  7. 삭제
  8. 제1 항에 있어서,
    상기 제2 노드들 각각은 상기 홀 센서로부터 출력되는 센싱 전압을 상기 수신 시간 간격 동안 누적하여 누적 전압 값을 출력하는 적분기를 포함하고,
    상기 적분기는, 미리 설정된 수신 시간 간격 동안 상기 센싱 전압을 누적하는, 뉴럴 네트워크 칩.
  9. 제8 항에 있어서,
    상기 수신 시간 간격은, 상기 제1 노드들 별로 상이한, 뉴럴 네트워크 칩.
  10. 제8 항에 있어서,
    상기 수신 시간 간격은, 상기 서브 컨트롤러가 상기 제1 노드들 각각의 연산 결과 값을 출력하는 송신 시간 간격과 동일하거나 상기 송신 시간 간격보다 작은, 뉴럴 네트워크 칩.
  11. 제1 항에 있어서,
    상기 제2 노드들 각각은 상기 제1 노드들 각각에 대한 누적 전압 값들을 미리 설정된 기준 값과 비교하는 비교기를 더 포함하는, 뉴럴 네트워크 칩.
  12. 각각이 입력된 데이터를 연산하는 복수의 노드들;
    미리 설정된 순서에 따라서 상기 노드들 각각의 연산 결과 값을 수신하여 동일한 송신 시간 간격으로 출력하는 서브 컨트롤러; 및
    상기 서브 컨트롤러로부터 상기 노드들 각각의 연산 결과 값을 수신하고, 상기 동일한 송신 시간 간격으로 코일을 제어하여 상기 노드들 각각의 연산 결과 값에 대응하는 자기장을 발생시키는 코일 컨트롤러;
    를 포함하는, 뉴럴 네트워크 칩.
  13. 삭제
  14. 삭제
  15. 하위 레이어에 연속하는 상위 레이어에 포함되고, 각각이 상기 하위 레이어에 포함된 복수의 하위 노드들 각각의 연산 결과 값에 대응하는 자기장을 센싱하여 상기 하위 노드들 각각의 연산 결과 값을 수신하는 복수의 상위 노드들; 및
    상기 상위 노드들 각각이 홀 센서를 통해 상기 하위 노드들과의 사이의 가중치에 대응하는 미리 설정된 수신 시간 간격 동안 상기 자기장을 센싱하도록 상기 상위 노드들을 제어하는 서브 컨트롤러;
    를 포함하는, 뉴럴 네트워크 칩.
  16. 삭제
  17. 제15 항에 있어서,
    상기 상위 노드들 각각은 상기 홀 센서로부터 출력되는 센싱 전압을 누적하여 누적 전압 값을 출력하는 적분기를 포함하고,
    상기 적분기는, 상기 수신 시간 간격 동안 상기 센싱 전압을 누적하는, 뉴럴 네트워크 칩.
  18. 제17 항에 있어서,
    상기 수신 시간 간격은, 상기 하위 노드들 별로 상이한, 뉴럴 네트워크 칩.
  19. 제17 항에 있어서,
    상기 상위 노드들 각각은 상기 하위 노드들 각각에 대한 누적 전압 값들을 미리 설정된 기준 값과 비교하는 비교기를 더 포함하는, 뉴럴 네트워크 칩.
KR1020180000429A 2018-01-02 2018-01-02 뉴럴 네트워크 칩 KR102153980B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180000429A KR102153980B1 (ko) 2018-01-02 2018-01-02 뉴럴 네트워크 칩

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180000429A KR102153980B1 (ko) 2018-01-02 2018-01-02 뉴럴 네트워크 칩

Publications (2)

Publication Number Publication Date
KR20190082611A KR20190082611A (ko) 2019-07-10
KR102153980B1 true KR102153980B1 (ko) 2020-09-09

Family

ID=67254723

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180000429A KR102153980B1 (ko) 2018-01-02 2018-01-02 뉴럴 네트워크 칩

Country Status (1)

Country Link
KR (1) KR102153980B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017037883A1 (ja) * 2015-09-02 2017-03-09 株式会社PEZY Computing 半導体装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10317252B2 (en) * 2015-04-20 2019-06-11 Infineon Technologies Ag System and method for a capacitive sensor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017037883A1 (ja) * 2015-09-02 2017-03-09 株式会社PEZY Computing 半導体装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Akio Nomura 외 3명. 3D Shared Bus Architecture Using Inductive Coupling Interconnect. 2015년
정원재 외 6명. 자기센서 감도 향상을 위한 CMOS 홀소자 구조 연구. 2016년

Also Published As

Publication number Publication date
KR20190082611A (ko) 2019-07-10

Similar Documents

Publication Publication Date Title
CN104012063B (zh) 用于软件定义网络中的灵活和可扩展流处理的控制器
CA2872831C (en) Flexible radix switch
US5390303A (en) Communications system reconfigurable with reduced network configuration data
WO2017078426A1 (ko) 식별 키 생성 장치 및 방법
CN104506435B (zh) Sdn控制器和sdn中的最短路径确定方法
US20100118736A1 (en) Routing method and wireless network system
US10050863B2 (en) Network communication system, software-defined network controller and routing method thereof
CN110138630A (zh) 内置测试业务生成器
RU2573762C1 (ru) Система удаленного контроля и управления электронными устройствами "умный дом"
CN108029155A (zh) 网格网络节点
US7259687B2 (en) System and method for distributing module phase information
KR102153980B1 (ko) 뉴럴 네트워크 칩
CN104158794A (zh) 可加载的灵活协议简档
US5801562A (en) Variable delay circuit
EP1096751A3 (en) Method and apparatus for reaching agreement between nodes in a distributed system
CN109858257A (zh) 访问控制方法及装置
CN108092914A (zh) 网络流量负载均衡调度方法和装置
Cheng et al. Event‐triggered leader‐follower tracking control for interconnected systems
Zhang et al. Space‐memory‐memory Clos‐network switches with in‐sequence service
US9262372B1 (en) Achieving balanced interconnectivity in a computer network
KR20190108045A (ko) 센서 디바이스
CN105376168B (zh) 一种负载均衡的方法与装置
CN111224872A (zh) 封包转送方法与装置
US10965540B2 (en) Balancing distances between nodes on a token ring
He et al. Optimal periodic scheduling for remote state estimation under sensor energy constraint

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