| 번호 | 청구항 |
|---|---|
| 13 | 제10항에 있어서,상기 제어기는,상기 논-제로 타일 내의 논-제로 값의 데이터를 제1 비트 폭(bit width)의 데이터로 나타내어 상기 제3 정보를 생성하는,컴프레서. |
| 1 | 컴프레서에 의해 수행되는 특징 맵(feature map)을 컴프레싱하는 방법에 있어서,입력 이미지로부터 컨볼루션 뉴럴 네트워크(convolution neural network, CNN) 모델에 포함된 하나 이상의 레이어에 기초하여 특징 맵(feature map)을 획득하는 단계;상기 획득된 특징 맵을 미리 결정된 크기의 단위 타일(unit tile)로 분할(divide)하고, 상기 분할된 단위 타일들을 순차적으로 레지스터에 입력시키는 단계;논-제로 타일이 상기 레지스터에 입력되기 전까지 상기 레지스터에 입력된 제로 타일의 개수를 지시하는 제1 정보를 생성하는 단계;상기 논-제로 타일 내의 데이터들을 제로 값 및 논-제로 값으로 분류한 제2 정보를 생성하는 단계;상기 논-제로 타일 내의 데이터들 중 논-제로 값만이 추출된 제3 정보를 생성하는 단계; 및상기 제1 정보, 상기 제2 정보, 및 상기 제3 정보를 버퍼(buffer)에 저장하는 단계를 포함하고,논-제로 타일은, 타일 내의 데이터들 중 적어도 하나가 논-제로 값인 타일을 나타내며,제로 타일은, 타일 내의 데이터들이 모두 제로 값인 타일을 나타내는,특징 맵 컴프레싱 방법. |
| 2 | 제1항에 있어서,상기 제1 정보를 생성하는 단계는,상기 레지스터에 입력된 단위 타일 내의 데이터들이 모두 제로 값인 경우, 카운트를 증가시키는 단계를 포함하는 특징 맵 컴프레싱 방법. |
| 3 | 제2항에 있어서,상기 제1 정보를 생성하는 단계는,상기 카운트가 임계값에 도달하는 경우, 상기 임계값으로 상기 제1 정보를 생성하는 단계를 포함하고,상기 제2 정보를 생성하는 단계는,상기 카운트가 임계값에 도달하는 경우, 제로 값으로 상기 제2 정보를 생성하는 단계를 포함하는 특징 맵 컴프레싱 방법. |
| 4 | 제1항에 있어서,상기 제3 정보를 생성하는 단계는,상기 논-제로 타일 내의 논-제로 값의 데이터를 제1 비트 폭(bit width)의 데이터로 나타내어 상기 제3 정보를 생성하는 단계를 포함하는 특징 맵 컴프레싱 방법. |
| 5 | 제1항에 있어서,상기 제2 정보를 생성하는 단계는,상기 논-제로 타일 내의 데이터를 아웃라이어, 논-아웃라이어, 및 제로 값 중 하나로 분류하는 단계를 포함하고,상기 제3 정보를 생성하는 단계는,아웃라이어로 분류된 데이터를 제1 비트 폭의 데이터로 나타내고, 논-아웃라이어로 분류된 데이터를 상기 제1 비트 폭 보다 작은 제2 비트 폭의 데이터로 나타냄으로써 상기 제3 정보를 생성하는 단계를 포함하며,아웃라이어는, N 비트 고정 소수점 시스템(fixed-point system)에서 N/2 비트를 사용하여 표현할 수 없는 데이터를 나타내고,논-아웃라이어는, 상기 N 비트 고정 소수점 시스템에서 N/2 비트를 사용하여 표현 가능한 데이터를 나타내는,특징 맵 컴프레싱 방법. |
| 6 | 제5항에 있어서,상기 분할된 단위 타일들을 레지스터에 입력시키는 단계는,단위 타일 내의 데이터들을 상위 비트 데이터 및 하위 비트 데이터로 나누어 상기 레지스터에 입력시키는 단계를 포함하고,상기 제2 정보를 생성하는 단계는,대상 데이터에 대응하는 상위 비트 데이터 및 하위 비트 데이터가 제로 값인지 여부를 판단하여, 상기 대상 데이터를 아웃라이어, 논-아웃라이어, 및 제로 값 중 하나로 분류하는 단계를 포함하는 특징 맵 컴프레싱 방법. |
| 7 | 제6항에 있어서,상기 분류하는 단계는,상위 비트 데이터 및 하위 비트 데이터가 모두 논-제로 값인 경우, 상기 대상 데이터를 아웃라이어로 분류하는 단계;상위 비트 데이터가 제로 값이고, 하위 비트 데이터가 논-제로 값인 경우 상기 대상 데이터를 논-아웃라이어로 분류하는 단계; 및상위 비트 데이터 및 하위 비트 데이터가 모두 제로 값인 경우, 상기 대상 데이터를 제로 값으로 분류하는 단계를 포함하는 특징 맵 컴프레싱 방법. |
| 8 | 제5항에 있어서,상기 제2 정보를 생성하는 단계는,상기 논-제로 타일 내에서 제로 값으로 분류된 데이터에 제1 값을 매핑하고, 논-아웃라이어로 분류된 데이터에 제2 값을 매핑하며, 아웃라이어로 분류된 데이터에 제3 값을 매핑하여 상기 제2 정보를 생성하는 단계를 포함하고,상기 제1 값, 상기 제2 값, 및 상기 제3 값은 서로 상이한 데이터인,특징 맵 컴프레싱 방법. |
| 9 | 제1항 내지 제8항 중 어느 한 항의 방법을 수행하기 위한 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 저장 매체. |
| 10 | 특징 맵을 컴프레싱하는 컴프레서에 있어서,입력 이미지로부터 컨볼루션 뉴럴 네트워크 모델에 포함된 하나 이상의 레이어에 기초하여 획득된 특징 맵(feature map)에 대하여, 상기 특징 맵이 미리 결정된 크기의 단위 타일들로 분할되고, 상기 분할된 단위 타일들이 순차적으로 입력되는 레지스터;레지스터에 저장된 데이터들을 비교하는 비교기;상기 비교의 결과에 기초하여 논-제로 타일이 상기 레지스터에 입력되기 전까지 상기 레지스터에 입력된 제로 타일의 개수를 지시하는 제1 정보를 생성하고, 상기 논-제로 타일 내의 데이터들을 제로 값 및 논-제로 값으로 분류한 제2 정보를 생성하며, 상기 논-제로 타일 내의 데이터들 중 논-제로 값만이 추출된 제3 정보를 생성하는 제어기; 및상기 제1 정보, 상기 제2 정보, 및 상기 제3 정보를 저장하고, 저장된 데이터를 동적 랜덤 액세스 메모리(DRAM)으로 출력하는 버퍼를 포함하고,논-제로 타일은, 타일 내의 데이터들 중 적어도 하나가 논-제로 값인 타일을 나타내며,제로 타일은, 타일 내의 데이터들이 모두 제로 값인 타일을 나타내는,컴프레서. |
| 11 | 제10항에 있어서,상기 제어기는,상기 레지스터에 입력된 단위 타일 내의 데이터들이 모두 제로 값인 경우, 카운트를 증가시키는,컴프레서. |
| 12 | 제11항에 있어서,상기 제어기는,상기 카운트가 임계값에 도달하는 경우, 상기 임계값으로 상기 제1 정보를 생성하고, 제로 값으로 상기 제2 정보를 생성하는,컴프레서. |
| 14 | 제10항에 있어서,상기 제어기는,상기 논-제로 타일 내의 데이터들 아웃라이어, 논-아웃라이어, 및 제로 값 중 하나로 분류하고,아웃라이어로 분류된 데이터를 제1 비트 폭의 데이터로 나타내며, 논-아웃라이어로 분류된 데이터를 상기 제1 비트 폭 보다 작은 제2 비트 폭의 데이터로 나타냄으로써 상기 제3 정보를 생성하고,아웃라이어는, N 비트 고정 소수점 시스템(fixed-point system)에서 N/2 비트를 사용하여 표현할 수 없는 데이터를 나타내며,논-아웃라이어는, 상기 N 비트 고정 소수점 시스템에서 N/2 비트를 사용하여 표현 가능한 데이터를 나타내는,컴프레서. |
| 15 | 제14항에 있어서,상기 레지스터는,단위 타일 내의 데이터들이 상위 비트 데이터 및 하위 비트 데이터로 나누어진 입력을 수신하고,상기 비교기는,대상 데이터에 대응하는 상위 비트 데이터 및 하위 비트 데이터가 제로 값인지 여부를 판단하고,상기 제어기는,상기 판단 결과에 기초하여 상기 대상 데이터를 아웃라이어, 논-아웃라이어, 및 제로 값 중 하나로 분류하는,컴프레서. |
| 16 | 제15항에 있어서,상기 제어기는,상기 판단 결과에 기초하여, 상위 비트 데이터 및 하위 비트 데이터가 모두 논-제로 값인 경우, 상기 대상 데이터를 아웃라이어로 분류하고, 상위 비트 데이터가 제로 값이고, 하위 비트 데이터가 논-제로 값인 경우 상기 대상 데이터를 논-아웃라이어로 분류하며, 상위 비트 데이터 및 하위 비트 데이터가 모두 제로 값인 경우, 상기 대상 데이터를 제로 값으로 분류하는,컴프레서. |
| 17 | 제14항에 있어서,상기 제어기는,상기 논-제로 타일 내에서 제로 값으로 분류된 데이터에 제1 값을 매핑하고, 논-아웃라이어로 분류된 데이터에 제2 값을 매핑하며, 아웃라이어로 분류된 데이터에 제3 값을 매핑하여 상기 제2 정보를 생성하고,상기 제1 값, 상기 제2 값, 및 상기 제3 값을 서로 상이한 데이터인,컴프레서. |
| 18 | 뉴럴 네트워크 가속기 장치에 있어서,컨볼루션 뉴럴 네트워크 연산을 수행하는 프로세싱 엘리먼트 어레이(PE array)를 이용하여 컨볼루션 뉴런 네트워크 모델에 포함된 하나 이상의 레이어에 기초하여 입력 이미지로부터 추출된 특징 맵을 획득하는 버퍼;상기 획득된 특징 맵을 미리 결정된 크기의 단위 타일들로 분할하고, 상기 분할된 단위 타일들을 순차적으로 컴프레서에 입력시키는 제어기(controller); 및논-제로 타일이 레지스터에 입력되기 전까지 상기 레지스터에 입력된 제로 타일의 개수를 지시하는 제1 정보를 생성하고, 상기 논-제로 타일 내의 데이터들을 제로 값 및 논-제로 값으로 분류한 제2 정보를 생성하며, 상기 논-제로 타일 내의 데이터들 중 논-제로 값만이 추출된 제3 정보를 생성하고, 상기 제1 정보, 상기 제2 정보, 및 상기 제3 정보를 저장하며, 저장된 데이터를 동적 랜덤 액세스 메모리(DRAM)으로 출력하는 컴프레서(compressor)를 포함하고,논-제로 타일은, 타일 내의 데이터들 중 적어도 하나가 논-제로 값인 타일을 나타내고,제로 타일은, 타일 내의 데이터들이 모두 제로 값인 타일을 나타내는,뉴럴 네트워크 가속기 장치. |
| 19 | 디컴프레서에 의해 수행되는 특징 맵을 디컴프레싱하는 방법에 있어서,컨볼루션 네트워크 모델의 레이어에 기초하여 획득된 특징 맵이 컴프레싱된 데이터를 레지스터에 입력시키는 단계; 및논-제로 타일이 상기 레지스터에 입력되기 전까지 상기 레지스터에 입력된 제로 타일의 개수를 지시하는 제1 정보에 대응하는 개수의 제로 타일을 생성하여 버퍼로 전송하고, 상기 논-제로 타일 내의 데이터들을 제로 값 및 논-제로 값으로 분류한 제2 정보 및 상기 논-제로 타일 내의 데이터들 중 논-제로 값만이 추출된 제3 정보에 기초하여 논-제로 타일을 생성하여 버퍼로 전송하는 단계를 포함하고,상기 제2 정보 및 상기 제3 정보에 기초하여 논-제로 타일을 생성하여 상기 버퍼로 전송하는 단계는,상기 제2 정보를 이용하여 상기 논-제로 타일 내에서 제로 값의 데이터와 논-제로 값의 데이터를 구분하고, 논-제로 값의 데이터를 상기 제3 정보와 순차적으로 대응시켜 상기 논-제로 타일을 생성하는 단계를 포함하고,논-제로 타일은, 타일 내의 데이터들 중 적어도 하나가 논-제로 값인 타일을 나타내며,제로 타일은, 타일 내의 데이터들이 모두 제로 값인 타일을 나타내는,특징 맵 디컴프레싱 방법. |
| 20 | 특징 맵을 디컴프레싱하는 디컴프레서에 있어서,컨볼루션 네트워크 모델의 레이어에 기초하여 획득된 특징 맵이 압축된 데이터가 입력되는 레지스터;논-제로 타일이 상기 레지스터에 입력되기 전까지 상기 레지스터에 입력된 제로 타일의 개수를 지시하는 제1 정보에 대응하는 개수의 제로 타일을 생성하여 버퍼로 전송하고, 상기 논-제로 타일 내의 데이터들을 제로 값 및 논-제로 값으롭 분류한 제2 정보 및 상기 논-제로 타일 내의 데이터들 중 논-제로 값만이 추출된 제3 정보에 기초하여 논-제로 타일을 생성하여 버퍼로 전송하는 제어기를 포함하고,상기 제어기는,상기 제2 정보를 이용하여 상기 논-제로 타일 내에서 제로 값의 데이터와 논-제로 값의 데이터를 구분하고, 논-제로 값의 데이터를 상기 제3 정보와 순차적으로 대응시켜 상기 논-제로 타일을 생성하고,논-제로 타일은, 타일 내의 데이터들 중 적어도 하나가 논-제로 값인 타일을 나타내며,제로 타일은, 타일 내의 데이터들이 모두 제로 값인 타일을 나타내는,디컴프레서. |