1 |
1
16비트 하프 부동 소수점(half floating point)으로 표현된 입력 데이터를 수신하는 단계;상기 입력 데이터를 4비트(bit) 단위로 분리할 수 있도록, 상기 입력 데이터의 지수부(exponent) 및 가수부(mantissa)의 비트 수를 조정하는 단계; 및상기 지수부가 4의 배수로 될 수 있도록 상기 비트 수가 조정된 입력 데이터를 인코딩하는 단계를 포함하는 인코딩 방법
|
2 |
2
제1항에 있어서,상기 비트 수를 조정하는 단계는상기 지수부에 4비트를 할당하는 단계; 및상기 가수부에 11비트를 할당하는 단계를 포함하는, 인코딩 방법
|
3 |
3
제1항에 있어서,상기 인코딩하는 단계는상기 입력 데이터의 지수부에 4를 더한 값을 4로 나눈 몫과 나머지를 계산하는 단계;상기 몫에 기초하여, 상기 지수부를 인코딩하는 단계; 및상기 나머지에 기초하여, 상기 가수부를 인코딩하는 단계를 포함하는 인코딩 방법
|
4 |
4
제3항에 있어서,상기 지수부를 인코딩하는 단계는상기 몫 및 바이어스(bias)에 기초하여, 상기 지수부를 인코딩하는 단계를 포함하는, 인코딩 방법
|
5 |
5
제3항에 있어서,상기 가수부를 인코딩하는 단계는상기 나머지가 0인 경우, 상기 가수부의 제1 비트 값을 1로 결정하는 단계를 포함하는, 인코딩 방법
|
6 |
6
제3항에 있어서,상기 가수부를 인코딩하는 단계는상기 나머지가 1인 경우, 상기 가수부의 제1 비트 값을 0으로, 상기 가수부의 제2 비트 값을 1로 결정하는 단계를 포함하는, 인코딩 방법
|
7 |
7
제3항에 있어서,상기 가수부를 인코딩하는 단계는상기 나머지가 2인 경우, 상기 가수부의 제1 비트 값을 0으로, 상기 가수부의 제2 비트 값을 0으로, 상기 가수부의 제3 비트 값을 1로 결정하는 단계를 포함하는, 인코딩 방법
|
8 |
8
제3항에 있어서,상기 가수부를 인코딩하는 단계는상기 나머지가 3인 경우, 상기 가수부의 제1 비트 값을 0으로, 상기 가수부의 제2 비트 값을 0으로, 상기 가수부의 제3 비트 값을 0으로, 제4 비트 값을 1로 결정하는 단계를 포함하는, 인코딩 방법
|
9 |
9
4비트 고정 소수점(fixed point)으로 표현된 제1 오퍼랜드(operand) 데이터를 수신하는 단계;16비트 크기의 제2 오퍼랜드 데이터를 수신하는 단계;상기 제2 오퍼랜드 데이터의 데이터 타입을 판단하는 단계;상기 제2 오퍼랜드 데이터가 부동 소수점 타입인 경우, 상기 제2 오퍼랜드 데이터를 인코딩하는 단계;상기 인코딩된 제2 오퍼랜드 데이터를 4비트 단위의 4개의 브릭(brick)으로 분리하는 단계; 및상기 4개의 브릭으로 분리된 제2 오퍼랜드 데이터와 상기 제1 오퍼랜드 데이터 사이의 MAC 연산을 수행하는 단계를 포함하는, 연산 방법
|
10 |
10
제9항에 있어서,상기 인코딩하는 단계는상기 제2 오퍼랜드 데이터를 4비트(bit) 단위로 분리할 수 있도록, 상기 제2 오퍼랜드 데이터의 지수부 및 가수부의 비트 수를 조정하는 단계; 및상기 지수부가 4의 배수로 될 수 있도록 상기 비트 수가 조정된 제2 오퍼랜드 데이터를 인코딩하는 단계를 포함하는, 연산 방법
|
11 |
11
제9항에 있어서,상기 분리하는 단계는상기 인코딩된 제2 오퍼랜드 데이터를 하나의 지수부 브릭 데이터과 3개의 가수부 브릭 데이터로 분리하는 단계를 포함하는, 연산 방법
|
12 |
12
제11항에 있어서,상기 MAC 연산을 수행하는 단계는상기 3개의 가수부 브릭 데이터 각각과 상기 제1 오퍼랜드 데이터 사이의 곱셈 연산을 수행하는 단계;지수부 레지스터에 저장된 누산 지수부 데이터와 상기 지수부 브릭 데이터를 비교하는 단계; 및상기 비교 결과에 기초하여, 3개의 가수부 레지스터 각각에 저장된 누산 가수부 데이터에 상기 곱셈 연산 수행 결과를 누산하는 단계를 포함하는, 연산 방법
|
13 |
13
제12항에 있어서,상기 누산하는 단계는상기 비교 결과에 기초하여, 상기 3개의 가수부 레지스터 각각에 저장된 상기 누산 가수부 데이터와 상기 곱셈 연산 수행 결과의 누산 위치(position)를 정렬하는 단계를 포함하는, 연산 방법
|
14 |
14
제9항에 있어서,상기 제2 오퍼랜드 데이터가 고정 수수점 타입인 경우, 병렬 데이터 연산을 위해 상기 제2 오퍼랜드 데이터를 4비트 단위의 4개의 브릭으로 분리하는 단계를 더 포함하는, 연산 방법
|
15 |
15
제1항 내지 제14항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 저장매체
|
16 |
16
16비트 부동 소수점(floating point)으로 표현된 입력 데이터를 수신하고, 상기 입력 데이터를 4비트(bit) 단위로 분리할 수 있도록, 상기 입력 데이터의 지수부(exponent) 및 가수부(mantissa)의 비트 수를 조정하고, 상기 지수부가 4의 배수로 될 수 있도록 상기 비트 수가 조정된 입력 데이터를 인코딩하는 프로세서를 포함하는 인코딩 장치
|
17 |
17
제16항에 있어서,상기 프로세서는상기 지수부에 4비트를 할당하고, 상기 가수부에 11비트를 할당하는, 인코딩 장치
|
18 |
18
제16항에 있어서,상기 프로세서는상기 입력 데이터의 지수부에 4를 더한 값을 4로 나눈 몫과 나머지를 계산하고, 상기 몫에 기초하여 상기 지수부를 인코딩하고, 상기 나머지에 기초하여, 상기 가수부를 인코딩하는, 인코딩 장치
|
19 |
19
4비트 고정 소수점(fixed point)으로 표현된 제1 오퍼랜드(operand) 데이터를 수신하고, 16비트 크기의 제2 오퍼랜드 데이터를 수신하고, 상기 제2 오퍼랜드 데이터의 데이터 타입을 판단하고, 상기 제2 오퍼랜드 데이터가 부동 소수점 타입인 경우, 상기 제2 오퍼랜드 데이터를 인코딩하고, 상기 인코딩된 제2 오퍼랜드 데이터를 4비트 단위의 4개의 브릭(brick)으로 분리하고, 상기 4개의 브릭으로 분리된 제2 오퍼랜드 데이터와 상기 제1 오퍼랜드 데이터 사이의 MAC 연산을 수행하는 프로세서를 포함하는 연산 장치
|
20 |
20
제19항에 있어서,상기 프로세서는상기 제2 오퍼랜드 데이터를 4비트(bit) 단위로 분리할 수 있도록 상기 제2 오퍼랜드 데이터의 지수부 및 가수부의 비트 수를 조정하고, 상기 지수부가 4의 배수로 될 수 있도록 상기 비트 수가 조정된 제2 오퍼랜드 데이터를 인코딩하는, 인코딩 장치
|
21 |
21
제19항에 있어서,상기 프로세서는상기 인코딩된 제2 오퍼랜드 데이터를 하나의 지수부 브릭 데이터과 3개의 가수부 브릭 데이터로 분리하는, 인코딩 장치
|
22 |
22
제21항에 있어서,상기 프로세서는상기 3개의 가수부 브릭 데이터 각각과 상기 제1 오퍼랜드 데이터 사이의 곱셈 연산을 수행하고, 지수부 레지스터에 저장된 누산 지수부 데이터와 상기 지수부 브릭 데이터를 비교하고, 상기 비교 결과에 기초하여, 3개의 가수부 레지스터 각각에 저장된 누산 가수부 데이터에 상기 곱셈 연산 수행 결과를 누산하는, 인코딩 장치
|
23 |
23
제22항에 있어서,상기 프로세서는상기 비교 결과에 기초하여, 상기 3개의 가수부 레지스터 각각에 저장된 상기 누산 가수부 데이터와 상기 곱셈 연산 수행 결과의 누산 위치(position)를 정렬하는, 인코딩 장치
|
24 |
24
제19항에 있어서,상기 프로세서는상기 제2 오퍼랜드 데이터가 고정 수수점 타입인 경우, 병렬 데이터 연산을 위해 상기 제2 오퍼랜드 데이터를 4비트 단위의 4개의 브릭으로 분리하는, 인코딩 장치
|