1 |
1
n × n (n은 적어도 4 이상의 정수임) 매트릭스 형태로 배치된 n × n 개의 처리 소자들을 포함하고,상기 n × n 개의 처리 소자들이 n × n 제1 입력 매트릭스의 행 벡터들의 제1 입력 데이터와 n × n 제1 가중치 매트릭스의 열 벡터들의 제1 가중치 데이터에 대한 제1 합성곱 연산을 수행하여 n개의 제1 출력 데이터를 발생하거나, 상기 n × n 개의 처리 소자들을 분할하여 구성되는 적어도 k (k는 적어도 4 이상의 정수임)개의 부분 시스톨릭 어레이들 각각이 m × m (m은 상기 n 보다 작고 적어도 2 이상의 정수임) 매트릭스 형태로 배치된 m × m 처리 소자들을 포함하고, 상기 적어도 k개의 부분 시스톨릭 어레이들 각각이 적어도 k개의 m × m 제2 입력 매트릭스들 각각의 행 벡터들의 제2 입력 데이터와 적어도 k개의 m × m 제2 가중치 매트릭스들 각각의 열 벡터들의 제2 가중치 데이터에 대한 제2 합성곱 연산을 수행하여 m개의 제2 출력 데이터를 발생하는 시스톨릭 어레이
|
2 |
2
제1 항에 있어서, 상기 제1 합성곱 연산 시에,상기 n × n 처리 소자들 중 첫번째 열에 배치된 n개의 처리 소자들 각각은 상기 제1 입력 매트릭스의 n개의 행 벡터들의 제1 입력 데이터 각각을 수신하고,상기 n × n 처리 소자들 중 첫번째 행에 배치된 n개의 처리 소자들 각각은 상기 제1 가중치 매트릭스의 n개의 열 벡터들의 제1 가중치 데이터 각각을 수신하고,상기 n × n 처리 소자들 중 상기 첫번째 열에 배치된 n개의 처리 소자들을 제외한 나머지 처리 소자들은 왼쪽에 배치된 전단의 처리 소자를 통하여 인가되는 제1 입력 데이터를 수신하고, 상기 n × n 처리 소자들 중 상기 첫번째 행에 배치된 n개의 처리 소자들을 제외한 나머지 처리 소자들은 위쪽에 배치된 전단의 처리 소자를 통하여 인가되는 제1 가중치 데이터를 수신하고,상기 n × n 처리 소자들 각각은 상기 수신되는 제1 입력 데이터와 상기 수신되는 제1 가중치 데이터에 대한 곱셈을 수행하여 제1 곱셈 결과들을 구하고, 상기 제1 곱셈 결과들을 누산하여 제1 부분 누산 결과를 구하고, 상기 제1 부분 누산 결과와 위쪽에 배치된 전단의 처리 소자로부터 전송되는 제2 부분 누산 결과를 가산하여 제3 부분 누산 결과를 구하고, 상기 제3 부분 누산 결과를 아래쪽에 배치된 후단의 처리 소자로 전송하는 시스톨릭 어레이
|
3 |
3
제2 항에 있어서, 상기 제1 입력 매트릭스의 상기 n개의 행 벡터들 각각이 n개의 제1 입력 데이터를 포함하고, 상기 n개의 행 벡터들의 상기 n개의 제1 입력 데이터가 1 사이클 만큼씩 지연되어 순차적으로 인가되고, 상기 제1 가중치 매트릭스의 상기 n개의 열 벡터들 각각이 n개의 제1 가중치 데이터를 포함하고, 상기 n개의 열 벡터들의 상기 n개의 제2 입력 데이터가 1 사이클 만큼씩 지연되어 순차적으로 인가되는 시스톨릭 어레이
|
4 |
4
제2 항에 있어서, 상기 제2 합성곱 연산 시에,상기 적어도 k개의 부분 시스톨릭 어레이들 중 상기 n × n 처리 소자들의 상기 첫번째 열에 배치된 상기 n개의 처리 소자들을 포함하지 않는 상기 부분 시스톨릭 어레이들 각각의 상기 m × m 처리 소자들의 첫번째 열에 배치된 m개의 처리 소자들 각각은 상기 왼쪽에 배치된 전단의 처리 소자들을 통하여 전송되는 제2 입력 데이터를 수신하지 않고 상기 적어도 k개의 m × m 입력 매트릭스들 중 해당 입력 매트릭스의 행 벡터들의 제2 입력 데이터 각각을 수신하고,상기 적어도 k개의 부분 시스톨릭 어레이들 중 상기 n × n 처리 소자들 중 상기 첫번째 행에 배치된 n개의 처리 소자들을 포함하지 않는 상기 부분 시스톨릭 어레이들 각각의 상기 m× m 처리 소자들의 첫번째 행에 배치된 m개의 처리 소자들 각각은 상기 위쪽에 배치된 전단의 처리 소자들을 통하여 전송되는 제2 가중치 데이터를 수신하지 않고 상기 적어도 k개의 m × m 가중치 매트릭스들 중 해당 가중치 매트릭스의 열 벡터들의 제2 가중치 데이터 각각을 수신하고,상기 적어도 k개의 부분 시스톨릭 어레이들 각각의 상기 m × m 처리 소자들 중 첫번째 열에 배치된 m개의 처리 소자들을 제외한 나머지 처리 소자들은 왼쪽에 배치된 전단의 처리 소자를 통하여 인가되는 제2 입력 데이터를 수신하고, 상기 적어도 k개의 부분 시스톨릭 어레이들 각각의 상기 m × m 처리 소자들 중 첫번째 행에 배치된 m개의 처리 소자들을 제외한 나머지 처리 소자들은 위쪽에 배치된 전단의 처리 소자를 통하여 인가되는 제2 가중치 데이터를 수신하고,상기 적어도 k개의 부분 시스톨릭 어레이들 각각의 상기 m× m 처리 소자들 각각은 수신되는 상기 제2 입력 데이터와 수신되는 상기 제2 가중치 데이터에 대한 곱셈을 수행하여 제2 곱셈 결과들을 구하고, 상기 제2 곱셈 결과들을 누산하여 제4 부분 누산 결과를 구하고, 상기 제4 부분 누산 결과와 위쪽에 배치된 전단의 처리 소자로부터 전송되는 제5 부분 누산 결과를 가산하여 제6 부분 누산 결과를 구하고, 상기 제6 부분 누산 결과를 아래쪽에 배치된 후단의 처리 소자로 전송하거나 외부로 전송하는 시스톨릭 어레이
|
5 |
5
제2 항에 있어서, 상기 제2 합성곱 연산 시에,상기 적어도 k개의 부분 시스톨릭 어레이들 각각의 상기 m × m 처리 소자들에 상기 적어도 k개의 제2 가중치 매트릭스들 중 해당 제2 가중치 매트릭스의 제2 가중치 데이터가 미리 저장되고, 상기 적어도 k개의 부분 시스톨릭 어레이들 중 상기 n × n 처리 소자들의 상기 첫번째 열에 배치된 상기 n개의 처리 소자들을 포함하는 상기 부분 시스톨릭 어레이들 각각의 상기 m × m 처리 소자들의 첫번째 열에 배치된 m개의 처리 소자들 각각은 상기 적어도 k개의 m × m 입력 매트릭스들 중 해당 입력 매트릭스의 행 벡터들의 제2 입력 데이터 각각을 수신하고,상기 적어도 k개의 부분 시스톨릭 어레이들 중 상기 n × n 처리 소자들의 상기 첫번째 열에 배치된 상기 n개의 처리 소자들을 포함하지 않는 상기 부분 시스톨릭 어레이들 각각의 상기 m × m 처리 소자들의 첫번째 열에 배치된 m개의 처리 소자들 각각은 상기 왼쪽에 배치된 전단의 처리 소자들을 통하여 전송되는 제2 입력 데이터를 수신하지 않고 상기 적어도 k개의 m × m 입력 매트릭스들 중 해당 입력 매트릭스의 행 벡터들의 제2 입력 데이터 각각을 수신하고,상기 적어도 k개의 부분 시스톨릭 어레이들 각각의 상기 m × m 처리 소자들 중 첫번째 열에 배치된 m개의 처리 소자들을 제외한 나머지 처리 소자들은 왼쪽에 배치된 전단의 처리 소자를 통하여 인가되는 제2 입력 데이터를 수신하고, 상기 적어도 k개의 부분 시스톨릭 어레이들 각각의 상기 m× m 처리 소자들 각각은 상기 수신되는 상기 제2 입력 데이터와 상기 저장된 상기 제2 가중치 데이터에 대한 곱셈을 수행하여 제2 곱셈 결과들을 구하고, 상기 제2 곱셈 결과들을 누산하여 제4 부분 누산 결과를 구하고, 상기 제4 부분 누산 결과와 위쪽에 배치된 전단의 처리 소자로부터 전송되는 제5 부분 누산 결과를 가산하여 제6 부분 누산 결과를 구하고, 상기 제6 부분 누산 결과를 아래쪽에 배치된 후단의 처리 소자로 전송하거나 외부로 전송하는 시스톨릭 어레이
|
6 |
6
제4 항에 있어서, 상기 제2 입력 매트릭스들 각각의 상기 m개의 행 벡터들 각각이 m개의 제2 입력 데이터를 포함하고, 상기 제2 입력 매트릭스들 각각의 상기 m개의 행 벡터들의 상기 m개의 제2 입력 데이터가 1 사이클 만큼씩 지연되어 순차적으로 인가되고, 상기 제2 가중치 매트릭스들 각각의 상기 m개의 열 벡터들 각각이 m개의 제2 가중치 데이터를 포함하고, 상기 제2 가중치 매트릭스들 각각의 상기 m개의 열 벡터들의 상기 m개의 제2 가중치 데이터가 1 사이클 만큼씩 지연되어 순차적으로 인가되는 시스톨릭 어레이
|
7 |
7
제1 항에 있어서, 상기 n × n 처리 소자들 각각은상기 제1 입력 데이터와 상기 제1 가중치 데이터에 대한 상기 곱셈을 수행하여 상기 제1 곱셈 결과들을 발생하거나, 제2 입력 데이터와 상기 제2 가중치 데이터에 대한 상기 곱셈을 수행하여 상기 제2 곱셈 결과들을 발생하는 곱셈기; 및상기 제1 곱셈 결과들을 누산하여 상기 제1 부분 누산 결과를 발생하고, 상기 제1 부분 누산 결과와 상기 제2 부분 누산 결과를 가산하여 상기 제3 부분 누산 결과를 발생하거나, 상기 제2 곱셈 결과들을 누산하여 상기 제4 부분 누산 결과를 발생하고, 상기 제4 부분 누산 결과와 상기 제5 부분 누산 결과를 가산하여 상기 제6 부분 누산 결과를 발생하는 부분 누산기를 포함하는 시스톨릭 어레이
|
8 |
8
제7 항에 있어서, 상기 적어도 k개의 부분 시스톨릭 어레이들 중 상기 n × n 처리 소자들의 상기 첫번째 열에 배치된 상기 n개의 처리 소자들을 포함하지 않는 상기 부분 시스톨릭 어레이들 각각의 상기 m × m 처리 소자들의 상기 첫번째 열에 배치된 m개의 처리 소자들 각각은 상기 제1 합성곱 연산 시에 상기 왼쪽에 배치된 전단의 처리 소자들을 통하여 전송되는 상기 제1 입력 데이터를 수신하고, 상기 제2 합성곱 연산 시에 상기 적어도 k개의 m × m 제2 입력 매트릭스들 중 해당 제2 입력 매트릭스의 해당 행 벡터의 상기 제2 입력 데이터를 수신하는 제1 선택기를 추가적으로 포함하는 시스톨릭 어레이
|
9 |
9
제8 항에 있어서, 상기 적어도 k개의 부분 시스톨릭 어레이들 각각의 상기 m × m 처리 소자들의 m번째 행에 배치된 m개의 처리 소자들 각각은 상기 제1 합성곱 연산 시에 상기 제3 부분 누산 결과를 상기 아래쪽에 배치된 후단의 처리 소자로 전송하고, 상기 제2 합성곱 연산 시에 상기 제6 부분 누산 결과를 상기 아래쪽에 배치된 후단의 처리 소자로 전송하지 않고 외부로 전송하는 제2 선택기를 추가적으로 포함하는 시스톨릭 어레이
|
10 |
10
제9 항에 있어서, 상기 적어도 k개의 부분 시스톨릭 어레이들 중 상기 n × n 처리 소자들의 상기 첫번째 행에 배치된 상기 n개의 처리 소자들을 포함하지 않는 상기 부분 시스톨릭 어레이들 각각의 상기 m × m 처리 소자들의 상기 첫번째 행에 배치된 m개의 처리 소자들 각각은 상기 제1 합성곱 연산 시에 상기 위쪽에 배치된 전단의 처리 소자들을 통하여 전송되는 상기 제1 가중치 데이터를 수신하고, 상기 제2 합성곱 연산 시에 상기 적어도 k개의 m × m 제2 가중치 매트릭스들 중 해당 제2 가중치 매트릭스의 해당 열 벡터의 상기 제2 가중치 데이터를 수신하는 제3 선택기를 추가적으로 포함하는 시스톨릭 어레이
|