1 |
1
양자화 신경망을 위한 정밀도 변환 가능 메모리 내부 연산 장치로서, n 비트의 입력 벡터를 저장하며 최상위 비트에서 최하위 비트까지 개별 비트 위치에서 획득된 n개의 제1 이진 벡터를 순차적으로 출력하는 입력 버퍼; 가중치 행렬(weight matrix)을 저장하는 복수의 서브 어레이를 포함하는 메모리 어레이-상기 복수의 서브 어레이 각각은 복수의 메모리 셀을 포함하고, 상기 복수의 서브 어레이의 적어도 일부는 상기 가중치 행렬의 최상위 비트에서 최하위 비트까지 개별 비트 위치에서 획득된 n개의 제2 이진 벡터를 저장하고, 상기 복수의 서브 어레이 각각의 상기 복수의 메모리 셀 내부에서는 상기 n개의 제1 이진 벡터 중 하나와 상기 n개의 제2 이진 벡터의 이진 행렬 벡터 곱 연산을 순차적으로 수행함-;상기 메모리 어레이로부터 상기 이진 행렬 벡터 곱 연산의 결과를 입력 받아 누산하는 누산기; 상기 누산기로부터 상기 n개의 제1 이진 벡터 각각에 대해 n번 반복 수행된 이진 행렬 벡터 곱 연산의 결과를 수합하여 출력하는 출력 버퍼; 및상기 입력 버퍼, 메모리 어레이, 누산기 및 출력 버퍼를 제어하는 제어 유닛을 포함하는 메모리 내부 연산 장치
|
2 |
2
제1항에 있어서, 상기 메모리 셀 각각은 SRAM 또는 MRAM 셀에 포함된 2개의 트랜지스터 각각 일측에 연결되는 제1 트랜지스터 및 제2 트랜지스터와, 상기 제1 및 제2 트랜지스터의 일측에 연결되는 제3 트랜지스터를 포함하는 메모리 내부 연산 장치
|
3 |
3
제2항에 있어서, 상기 복수의 서브 어레이 각각은 미리 설정된 개수의 메모리 셀과 연결되는 팝카운트 연산기를 포함하고, 상기 복수의 메모리 셀 내부에서의 AND 연산과 상기 팝카운트 연산기의 팝카운트 연산을 통해 상기 이진 행렬 벡터 곱 연산이 수행되는 메모리 내부 연산 장치
|
4 |
4
제1항에 있어서, 상기 복수의 서브 어레이가 n보다 큰 경우, 상기 복수의 서브 어레이 각각에는 복수의 가중치 행렬의 최상위 비트에서 최하위 비트까지 개별 비트 위치에서 획득된 복수의 제2 이진 벡터가 저장되는 메모리 내부 연산 장치
|
5 |
5
제4항에 있어서, 상기 복수의 서브 어레이의 개수가 n이고, 비트 정밀도가 n/k로 설정되는 경우, 상기 복수의 서브 어레이 각각에는 k개의 가중치 행렬의 최상위 비트에서 최하위 비트까지 개별 비트 위치에서 획득된 복수의 제2 이진 벡터가 저장되는 메모리 내부 연산 장치
|
6 |
6
제1항에 있어서, 상기 메모리 어레이와 상기 누산기 사이에는 상기 이진 행렬 벡터 곱 연산의 결과를 임시 저장하는 레지스터 및 상기 이진 행렬 벡터 곱 연산의 결과를 비트 정밀도에 상응하게 시프트 연산하여 이동시키는 시프터가 배치되는 메모리 내부 연산 장치
|
7 |
7
제1항에 있어서, 상기 출력 버퍼는 글로벌 누산기를 포함하며, 상기 글로벌 누산기는 상기 n번 반복 수행된 이진 행렬 벡터 곱 연산의 결과를 수합하는 메모리 내부 연산 장치
|
8 |
8
양자화 신경망을 위한 정밀도 변환 가능 메모리 내부 연산 방법으로서, 입력 버퍼가, n 비트의 입력 벡터를 저장하며 최상위 비트에서 최하위 비트까지 개별 비트 위치에서 획득된 n개의 제1 이진 벡터를 순차적으로 출력하는 단계; 가중치 행렬(weight matrix)을 저장하는 복수의 서브 어레이를 포함하는 메모리 어레이가 이진 행렬 벡터 곱 연산을 순차적으로 수행하는 단계-상기 복수의 서브 어레이 각각은 복수의 메모리 셀을 포함하고, 상기 복수의 서브 어레이의 적어도 일부는 상기 가중치 행렬의 최상위 비트에서 최하위 비트까지 개별 비트 위치에서 획득된 n개의 제2 이진 벡터를 저장하고, 상기 복수의 서브 어레이 각각의 상기 복수의 메모리 셀 내부에서는 상기 n개의 제1 이진 벡터 중 하나와 상기 n개의 제2 이진 벡터의 이진 행렬 벡터 곱 연산을 순차적으로 수행함-;누산기가 상기 메모리 어레이로부터 상기 이진 행렬 벡터 곱 연산의 결과를 입력 받아 누산하는 단계; 출력 버퍼가 상기 누산기로부터 상기 n개의 제1 이진 벡터 각각에 대해 n번 반복 수행된 이진 행렬 벡터 곱 연산의 결과를 수합하여 출력하는 단계를 포함하는 메모리 내부 연산 방법
|
9 |
9
양자화 신경망을 위해 제어 유닛에 의해 수행되는 정밀도 변환 가능 메모리 내부 연산 방법으로서, 입력 버퍼를 제어하여 n 비트의 입력 벡터를 저장하며 최상위 비트에서 최하위 비트까지 개별 비트 위치에서 획득된 n개의 제1 이진 벡터를 순차적으로 출력하는 단계; 가중치 행렬(weight matrix)을 저장하는 복수의 서브 어레이를 포함하는 메모리 어레이를 제어하여 이진 행렬 벡터 곱 연산을 순차적으로 수행하는 단계-상기 복수의 서브 어레이 각각은 복수의 메모리 셀을 포함하고, 상기 복수의 서브 어레이의 적어도 일부는 상기 가중치 행렬의 최상위 비트에서 최하위 비트까지 개별 비트 위치에서 획득된 n개의 제2 이진 벡터를 저장하고, 상기 복수의 서브 어레이 각각의 상기 복수의 메모리 셀 내부에서는 상기 n개의 제1 이진 벡터 중 하나와 상기 n개의 제2 이진 벡터의 이진 행렬 벡터 곱 연산을 순차적으로 수행함-;누산기를 제어하여 상기 메모리 어레이로부터 상기 이진 행렬 벡터 곱 연산의 결과를 입력 받아 누산하는 단계; 출력 버퍼를 제어하여 상기 누산기로부터 상기 n개의 제1 이진 벡터 각각에 대해 n번 반복 수행된 이진 행렬 벡터 곱 연산의 결과를 수합하여 출력하는 단계를 포함하는 메모리 내부 연산 방법
|
10 |
10
제9항에 있어서, 상기 메모리 셀 각각은 SRAM 또는 MRAM 셀에 포함된 2개의 트랜지스터 각각 일측에 연결되는 제1 트랜지스터 및 제2 트랜지스터와, 상기 제1 및 제2 트랜지스터의 일측에 연결되는 제3 트랜지스터를 포함하는 메모리 내부 연산 방법
|