1 |
1
입력 데이터를 저장하는 메모리;상기 메모리로부터 순차적으로 수신되는 입력 데이터를 사이클마다 시프트하고, 내부 엘리먼트들에 입력 데이터가 모두 저장되면 저장된 입력 데이터를 PE 어레이로 출력하는 복수의 시프트 버퍼들;상기 메모리로부터 순차적으로 수신되는 입력 데이터를 저장하고, 상기 복수의 시프트 버퍼들 중 어느 하나로 저장된 입력 데이터를 전달하는 복수의 백업 버퍼들; 및상기 복수의 시프트 버퍼들 중 하나 이상으로부터 수신된 입력 데이터와 대응하는 커널에 연산을 수행하는 PE 어레이(Processing Element array)를 포함하는가속기
|
2 |
2
제1항에 있어서,상기 복수의 시프트 버퍼들 각각의 사이즈는 상기 입력 데이터에 적용되는 커널의 사이즈에 대응하는,가속기
|
3 |
3
제1항에 있어서,상기 입력 데이터에서 첫 번째 행에 포함된 데이터는 순차적으로 상기 복수의 시프트 버퍼들 중 첫 번째 시프트 버퍼에 저장되고,상기 입력 데이터에서 두 번째 행에 포함된 데이터는 순차적으로 상기 복수의 시프트 버퍼들 중 두 번째 시프트 버퍼 및 상기 복수의 백업 버퍼들 중 첫 번째 백업 버퍼에 저장되는,가속기
|
4 |
4
제1항에 있어서,상기 복수의 시프트 버퍼들 중 첫 번째 시프트 버퍼를 통해 상기 입력 데이터에서 첫 번째 행에 포함된 데이터가 모두 상기 PE 어레이로 출력되어 행 변경(row change)이 발생하면, 상기 복수의 백업 버퍼들 중 첫 번째 백업 버퍼에 저장된 데이터가 상기 첫 번째 시프트 버퍼로 전달되는,가속기
|
5 |
5
제4항에 있어서,상기 첫 번째 시프트 버퍼에서 상기 행 변경이 발생하면, 상기 첫 번째 시프트 버퍼에 저장된 데이터가 모두 삭제되고, 상기 첫 번째 시프트 버퍼의 사이즈만큼의 데이터가 상기 첫 번째 백업 버퍼에서 상기 첫 번째 시프트 버퍼로 전달되는,가속기
|
6 |
6
제4항에 있어서,상기 첫 번째 백업 버퍼에서 상기 첫 번째 시프트 버퍼로 전달된 데이터는 상기 첫 번째 백업 버퍼에서 삭제되는,가속기
|
7 |
7
제4항에 있어서,상기 행 변경이 발생된 후, 상기 첫 번째 백업 버퍼에 저장된 데이터가 순차적으로 상기 첫 번째 시프트 버퍼로 전달되고, 전달된 데이터는 상기 첫 번째 백업 버퍼에서 삭제되는,가속기
|
8 |
8
제1항에 있어서,상기 입력 데이터에서 첫 번째 행에 포함된 데이터가 모두 첫 번째 시프트 버퍼를 통해 상기 PE 어레이로 전달되었으나, 상기 입력 데이터에서 두 번째 행에 포함된 데이터가 두 번째 시프트 버퍼를 통해 상기 PE 어레이로 모두 전달되지 않은 경우, 상기 입력 데이터에서 세 번째 행에 포함된 데이터는 두 번째 백업 버퍼에 순차적으로 저장되는,가속기
|
9 |
9
제1항에 있어서,상기 복수의 시프트 버퍼들의 전체 사이즈는상기 커널의 너비 및 높이에 기초하여 결정되는,가속기
|
10 |
10
제1항에 있어서,상기 복수의 백업 버퍼들의 전체 사이즈는상기 입력 데이터의 너비, 상기 커널의 너비 및 높이에 기초하여 결정되는,가속기
|
11 |
11
제1항에 있어서,상기 복수의 시프트 버퍼들 각각은매 사이클마다 상기 커널에 적용되는 스트라이드(stride)만큼 시프트 동작을 수행하는,가속기
|
12 |
12
제1항에 있어서,상기 복수의 백업 버퍼들 중 첫 번째 백업 버퍼의 하위인 두 번째 백업 버퍼에서 상기 복수의 시프트 버퍼들 중 어느 하나로 전달되는 데이터는 상기 첫 번째 백업 버퍼에도 전달되는,가속기
|
13 |
13
제1항에 있어서,상기 PE 어레이는상기 커널의 사이즈에 대응하고, 상기 커널의 행 단위에 대응하는 연산 결과들을 누적하는 복수의 멀티-포트 애더들(multi-port adders)을 포함하는가속기
|
14 |
14
제13항에 있어서,상기 복수의 멀티-포트 애더들은상기 커널의 너비와 동일한 사이즈의 포트를 가지는 제1 애더; 및상기 커널의 너비보다 하나 큰 사이즈의 포트를 가지는 하나 이상의 제2 애더들을 포함하는가속기
|
15 |
15
제1항에 있어서,상기 PE 어레이는상기 입력 데이터와 상기 커널 간 컨볼루션 연산을 수행하는 시스톨릭 어레이 구조의 PE들을 포함하는,가속기
|
16 |
16
제1항에 있어서,상기 PE 어레이는상기 커널에 포함된 가중치들을 PE들에 프리-로딩하고, 상기 복수의 시프트 버퍼들 중 하나 이상으로부터 순차적으로 전달되는 입력 데이터와 대응하는 가중치들에 컨볼루션 연산을 수행하는,가속기
|
17 |
17
제1항에 있어서,상기 메모리에 액세스하는 패턴은상기 입력 데이터에 대한 행 스트리밍(row streaming)에서 정의된 순서(order)와 동일한 형태를 가지는,가속기
|
18 |
18
모델을 가속기에서 실행하기 위한 요청에 응답하여 상기 가속기에 의해 실행 가능한 명령어 집합을 생성하는 호스트 프로세서; 및상기 명령어 집합이 실행되면, 상기 모델에 따른 연산들을 수행하는 가속기를 포함하고,상기 가속기는입력 데이터를 저장하는 메모리;상기 메모리로부터 순차적으로 수신되는 입력 데이터를 사이클마다 시프트하고, 내부 엘리먼트들에 입력 데이터가 모두 저장되면 저장된 입력 데이터를 PE 어레이로 출력하는 복수의 시프트 버퍼들;상기 메모리로부터 순차적으로 수신되는 입력 데이터를 저장하고, 상기 복수의 시프트 버퍼들 중 어느 하나로 저장된 입력 데이터를 전달하는 복수의 백업 버퍼들; 및상기 복수의 시프트 버퍼들 중 하나 이상으로부터 수신된 입력 데이터와 대응하는 커널에 연산을 수행하는 PE 어레이(Processing Element array)를 포함하는,전자 장치
|