1 |
1
표준 컨볼루션(standard convolution) 연산을 처리하여 출력 특징 맵(output feature map)을 생성하는 시스톨릭 어레이(Systolic array) 구조의 매트릭스 유닛(matrix unit); 및 상기 출력 특징 맵 중 상기 매트릭스 유닛의 레인들(lanes)에 해당하는 상기 출력 특징 맵의 요소(elements) 별로 뎁스와이즈 컨볼루션(depth wise convolution) 연산을 처리하는 가산기 트리(adder-tree) 구조의 가속기들을 포함하는, 뉴럴 프로세서
|
2 |
2
제1항에 있어서, 상기 표준 컨볼루션 연산에 의해 생성된 상기 출력 특징 맵은 상기 뎁스와이즈 컨볼루션 연산을 위해 파이프라인(pipeline) 방식으로 상기 가속기들에 입력으로 제공되는, 뉴럴 프로세서
|
3 |
3
제1항에 있어서, 상기 가속기들 각각은 상기 매트릭스 유닛의 컬럼들(columns)에 대응하는 상기 레인들 별로 출력되는 상기 출력 특징 맵의 요소들에 대해 병렬적으로 상기 뎁스와이즈 컨볼루션 연산을 수행하는, 뉴럴 프로세서
|
4 |
4
제1항에 있어서, 상기 가속기들은 동일한 작업들의 집합을 병렬로 동시에 처리하는 락스텝(lockstep) 방식으로 동작하는, 뉴럴 프로세서
|
5 |
5
제1항에 있어서, 상기 가속기들은 상기 매트릭스 유닛의 레인들에 일-대-일(1-to-1)로 대응되는, 뉴럴 프로세서
|
6 |
6
제1항에 있어서, 상기 가속기들 각각은 복수의 곱셈기;상기 뎁스와이즈 컨볼루션 연산을 위해 상기 출력 특징 맵을 저장하는 복수의 뎁스와이즈 입력 특징 맵 버퍼(depth-wise input feature map buffer); 및 상기 뎁스와이즈 컨볼루션 연산을 위한 가중치를 저장하는 하나의 뎁스와이즈 가중치 버퍼(depth-wise weight buffer)를 포함하는, 뉴럴 프로세서
|
7 |
7
제6항에 있어서,상기 복수의 곱셈기들은 상기 복수의 뎁스와이즈 입력 특징 맵 버퍼로부터 수신한 상기 출력 특징 맵 및 상기 뎁스와이즈 가중치 버퍼로부터 수신한 상기 가중치를 기초로 상기 뎁스와이즈 컨볼루션 연산을 위한 곱셈 연산을 수행하고, 상기 곱셈 연산 결과를 상기 가산기 트리 구조에 포함된 제1 뎃셈기들에게 전송하는, 뉴럴 프로세서
|
8 |
8
제6항에 있어서, 상기 가속기들 각각은 상기 복수의 곱셈기들의 곱셈 연산 결과를 수집하는 제2 가산기; 및 상기 제2 가산기에 수집된 값들을 저장하는 래치(latch)를 더 포함하는, 뉴럴 프로세서
|
9 |
9
제6항에 있어서, 상기 복수의 뎁스와이즈 입력 특징 맵 버퍼는 상기 복수의 곱셈기와 일-대-일(1-to-1)로 연결되는, 뉴럴 프로세서
|
10 |
10
제6항에 있어서, 상기 뎁스와이즈 가중치 버퍼는 메모리 인터페이스를 통해 메모리로부터 상기 가중치를 직접 읽어오며, 더블 버퍼링(double buffering) 방식에 의해 상기 가중치의 저장과 처리를 동시에 수행하는, 뉴럴 프로세서
|
11 |
11
제6항에 있어서,상기 뎁스와이즈 가중치 버퍼는 상기 가중치의 위치를 쉬프트(shift)시키는 배럴 쉬프터(barrel shifter)를 포함하고, 상기 배럴 쉬프터를 이용하여 상기 출력 특징 맵의 요소와 상기 가중치의 요소를 상기 복수의 곱셈기에 맵핑(mapping)시키는, 뉴럴 프로세서
|
12 |
12
제1항에 있어서, 상기 매트릭스 유닛이 생성한 상기 출력 특징 맵의 요소들을 저장하는 누산기(accumulator)를 더 포함하는, 뉴럴 프로세서
|
13 |
13
제1항에 있어서, 상기 매트릭스 유닛은 상기 출력 특징 맵의 요소들에 대한 활성화(Activation), 정규화(Normalization) 및 풀링(Pool) 중 적어도 하나의 후처리(post processing)를 수행하는 후처리 모듈을 더 포함하는, 뉴럴 프로세서
|