1 |
1
제1 프로세싱 소자들을 포함하는 제1 프로세싱 소자 어레이;제2 프로세싱 소자들을 포함하는 제2 프로세싱 소자 어레이;제1 명령, 제1 주소 및 제2 주소를 포함하는 제1 세트 및 제2 명령, 제3 주소 및 제4 주소를 포함하는 제2 세트 중 적어도 하나를 생성하는 제어기;상기 제1 주소에 응답하여 상기 제1 프로세싱 소자 어레이에 제1 데이터를 전달하고, 그리고 상기 제3 주소에 응답하여 상기 제2 프로세싱 소자 어레이에 제3 데이터를 전달하는 행 메모리 그룹;상기 제2 주소에 응답하여 상기 제1 프로세싱 소자 어레이에 제2 데이터를 전달하는 제1 열 메모리 그룹; 그리고상기 제4 주소에 응답하여 상기 제2 프로세싱 소자 어레이에 제4 데이터를 전달하는 제2 열 메모리 그룹을 포함하는 병렬 프로세서
|
2 |
2
제1항에 있어서,상기 제1 프로세싱 소자 어레이는 상기 제1 명령에 응답하여 상기 제1 데이터 및 상기 제2 데이터에 대해 제1 타입의 연산을 수행하고, 그리고상기 제2 프로세싱 소자 어레이는 상기 제2 명령에 응답하여 상기 제3 데이터 및 상기 제4 데이터에 대해 제2 타입의 연산을 수행하는 병렬 프로세서
|
3 |
3
제2항에 있어서,상기 제1 타입의 연산 및 상기 제2 타입의 연산은 병렬로 수행되는 병렬 프로세서
|
4 |
4
제2항에 있어서,상기 제1 타입의 연산은 2차원 콘볼루션 연산이고, 그리고상기 제2 타입의 연산은 1차원 연산을 포함하는 병렬 프로세서
|
5 |
5
제2항에 있어서,상기 제2 타입의 콘볼루션 연산은 뎁스-와이즈 콘볼루션 연산 또는 엘리먼트-와이즈 연산을 포함하는 병렬 프로세서
|
6 |
6
제1항에 있어서,상기 제1 프로세싱 소자 어레이의 상기 제1 프로세싱 소자들은 행들 및 열들로 배열되는 병렬 프로세서
|
7 |
7
제6항에 있어서,상기 행 메모리 그룹은 상기 제1 프로세싱 소자들의 행들에 각각 대응하는 행 메모리들을 포함하고, 그리고상기 제1 주소에 응답하여, 상기 행 메모리들의 각각은 상기 제1 주소에 대응하는 상기 제1 데이터 중 대응하는 행 데이터를 상기 제1 프로세싱 소자 어레이에 전달하는 병렬 프로세서
|
8 |
8
제6항에 있어서,상기 제1 열 메모리 그룹은 상기 제1 프로세싱 소자들의 열들에 각각 대응하는 제1 열 메모리들을 포함하고, 그리고상기 제2 주소에 응답하여, 상기 제1 열 메모리들의 각각은 상기 제2 주소에 대응하는 상기 제2 데이터 중 대응하는 열 데이터를 상기 제1 프로세싱 소자 어레이에 전달하는 병렬 프로세서
|
9 |
9
제1항에 있어서,상기 제2 프로세싱 소자 어레이의 상기 제2 프로세싱 소자들은 행들 및 하나의 열로 배열되는 병렬 프로세서
|
10 |
10
제9항에 있어서,상기 행 메모리 그룹은 상기 제2 프로세싱 소자들의 행들에 각각 대응하는 행 메모리들을 포함하고, 그리고상기 제3 주소에 응답하여, 상기 행 메모리들의 각각은 상기 제3 주소에 대응하는 상기 제3 데이터 중 대응하는 행 데이터를 상기 제3 프로세싱 소자 어레이에 전달하는 병렬 프로세서
|
11 |
11
제9항에 있어서,상기 제2 열 메모리 그룹은 상기 제1 프로세싱 소자들의 하나의 열에 대응하는 제2 열 메모리를 포함하고, 그리고상기 제4 주소에 응답하여, 상기 제2 열 메모리는 상기 제4 주소에 대응하는 상기 제4 데이터를 상기 제2 프로세싱 소자 어레이에 전달하는 병렬 프로세서
|
12 |
12
제1항에 있어서,상기 행 메모리 그룹, 상기 제1 열 메모리 그룹, 그리고 상기 제2 열 메모리 그룹은 하나의 물리적 메모리에 포함되며, 논리적으로 구별되는 저장 공간들인 병렬 프로세서
|
13 |
13
제1항에 있어서,상기 제1 프로세싱 소자 어레이 및 상기 제2 프로세싱 소자 어레이는 시스톨릭 어레이(systolic array)에 기반하는 병렬 프로세서
|
14 |
14
제1 프로세싱 소자 어레이 및 제2 프로세싱 소자 어레이를 포함하는 병렬 프로세서의 동작 방법에 있어서:신경망 연산 요청을 수신하는 단계;상기 신경망 연산 요청이 2차원 연산 요청인 것에 응답하여, 상기 제1 프로세싱 소자 어레이를 이용하여 제1 연산을 수행하는 단계; 그리고상기 신경망 연산 요청이 1차원 연산 요청인 것에 응답하여, 상기 제2 프로세싱 소자 어레이를 이용하여 제2 연산을 수행하는 단계를 포함하는 동작 방법
|
15 |
15
제14항에 있어서,상기 1차원 연산 요청은 뎁스-와이즈 콘볼루션 연산 요청 또는 엘리먼트-와이즈 연산 요청을 포함하는 동작 방법
|
16 |
16
제14항에 있어서,상기 제1 프로세싱 소자 어레이는 복수의 행들 및 복수의 열들로 배열되는 제1 프로세싱 소자들을 포함하고, 그리고상기 제2 프로세싱 소자 어레이는 복수의 행들 및 하나의 열로 배열되는 제2 프로세싱 소자들을 포함하는 동작 방법
|
17 |
17
제14항에 있어서,상기 연산 요청에 응답하여 상기 제1 연산 및 상기 제2 연산 중 하나의 연산을 수행하는 단계; 그리고상기 하나의 연산을 수행하는 동안 후속 연산 요청이 수신되는 것에 응답하여, 상기 제1 연산 및 상기 제2 연산 중 다른 하나의 연산을 상기 하나의 연산과 병렬로 수행하는 단계를 더 포함하는 동작 방법
|
18 |
18
운영체제를 실행하도록 구성되는 메인 프로세서; 그리고상기 메인 프로세서의 요청에 따라 신경망 연산을 수행하도록 구성되는 병렬 프로세서를 포함하고,상기 병렬 프로세서는:제1 프로세싱 소자들을 포함하는 제1 프로세싱 소자 어레이;제2 프로세싱 소자들을 포함하는 제2 프로세싱 소자 어레이;제1 명령, 제1 주소 및 제2 주소를 포함하는 제1 세트 및 제2 명령, 제3 주소 및 제4 주소를 포함하는 제2 세트 중 적어도 하나를 생성하는 제어기;상기 제1 주소에 응답하여 상기 제1 프로세싱 소자 어레이에 제1 데이터를 전달하고, 그리고 상기 제3 주소에 응답하여 상기 제2 프로세싱 소자 어레이에 제3 데이터를 전달하는 행 메모리 그룹;상기 제2 주소에 응답하여 상기 제1 프로세싱 소자 어레이에 제2 데이터를 전달하는 제1 열 메모리 그룹; 그리고상기 제4 주소에 응답하여 상기 제2 프로세싱 소자 어레이에 제4 데이터를 전달하는 제2 열 메모리 그룹을 포함하는 전자 장치
|
19 |
19
제18항에 있어서,상기 메인 프로세서는 제1 타입의 연산 요청을 상기 병렬 프로세서로 전달하고, 그리고 상기 병렬 프로세서에 의해 상기 제1 타입의 연산 요청이 처리되는 동안 제2 타입의 연산 요청을 상기 병렬 프로세서로 전달하는 전자 장치
|
20 |
20
제19항에 있어서,상기 병렬 프로세서는 상기 제1 타입의 연산 요청 및 상기 제2 타입의 연산 요청을 병렬로 처리하는 전자 장치
|