1 |
1
입력 데이터를 제공하는 입력 제공부;가중치 입력을 제공받아 로그로 양자화된 가중치를 출력하는 가중치 제공부;상기 로그로 양자화된 가중치를 제공받고, 선형으로 변환된 가중치를 출력하는 로그 대 선형 변환기;상기 선형으로 변환된 가중치로부터 윈도우 너비를 출력하는 역 계수기;상기 입력 데이터에 상응하는 스토캐스틱 수에서 상기 윈도우 너비 내의 1의 값을 계수하는 1 계수기 및상기 1 계수기가 출력한 값을 누적하여 출력하는 누적기를 포함하는 곱셈 누적기(multiply-accumulator)
|
2 |
2
제1항에 있어서, 상기 곱셈 누적기는,상기 입력 데이터의 부호 비트와 상기 로그로 양자화된 가중치에서의 부호 비트로부터 상기 1 계수기가 출력한 값의 부호를 연산하는 배타적 논리 합(XOR, exclusive or) 게이트를 더 포함하는 곱셈 누적기
|
3 |
3
제1항에 있어서, 상기 곱셈 누적기는, 상기 입력 데이터를 스토캐스틱 수로 변환하는 스토캐스틱 수 제너레이터(stochastic number generator)를 더 포함하는 곱셈 누적기
|
4 |
4
제1항에 있어서, 상기 1 계수기는 상기 입력 데이터에 상응하는 스토캐스틱 수를 형성하는 곱셈 누적기
|
5 |
5
제1항에 있어서, 상기 1 계수기는, 상기 스토캐스틱 수가 미리 정해진 비트 수에 따라 분할되어 형성된 복수개의 블록 단위로 계수를 수행하는 곱셈 누적기
|
6 |
6
제5항에 있어서, 상기 윈도우의 너비가 상기 블록의 비트 너비보다 크거나 같을 때,상기 1 계수기는,수학식 을 연산하여 상기 블록 내의 1의 개수를 계수하는 곱셈 누적기
|
7 |
7
제5항에 있어서, 상기 윈도우의 너비가 상기 블록의 비트 너비보다 작을 때,상기 1 계수기는,수학식 를 연산하여 상기 윈도우 너비내 1의 개수를 계수하는 1 계수기를 포함하는 곱셈 누적기
|
8 |
8
제5항에 있어서, 상기 윈도우의 너비가 상기 블록의 비트 너비보다 작을 때,상기 1 계수기는,수학식 을 연산하여 상기 윈도우 너비내 1의 개수를 계수하는 1 계수기를 포함하는 곱셈 누적기
|
9 |
9
제5항에 있어서, 상기 윈도우의 너비가 상기 블록의 비트 너비보다 작을 때,상기 1 계수기는,를 연산하여 상기 윈도우 너비내 1의 개수를 계수하는 1 계수기를 포함하는 곱셈 누적기
|
10 |
10
제5항에 있어서, 상기 1 계수기는, 블록의 최초 비트에서 최후 이전 비트 비트를 입력받아 우측 시프트 연산을 수행하는 시프터;상기 블록의 최초 비트에서 최후 이전 비트 및 상기 블록의 최후 비트가 입력으로 제공되어 어느 하나를 선택하여 출력하는 다중화기; 상기 시프터와 상기 다중화기의 출력을 더하는 덧셈기; 및상기 시프터가 시프트 연산하는 비트수와 상기 다중화기의 입력을 선택하는 제어부를 포함하는 1 계수기를 포함하는 곱셈 누적기
|
11 |
11
복수의 입력 데이터 벡터들을 제공하는 입력 제공부;가중치 입력을 제공받아 로그로 양자화된 가중치를 출력하는 가중치 제공부;상기 로그로 양자화된 가중치를 제공받고, 선형으로 변환된 가중치를 출력하는 로그 대 선형 변환기;상기 선형으로 변환된 가중치로부터 윈도우 너비를 출력하는 역 계수기;상기 입력 데이터 벡터에 각각에 상응하는 스토캐스틱 수에서 상기 윈도우 너비 내의 1의 값을 계수하는 복수의 1 계수기들 및상기 1 계수기가 출력한 값을 누적하여 출력하는 상기 복수의 누적기들을 포함하는 매트릭스 벡터 곱셈기(matrix-vector multiplier)
|
12 |
12
제11항에 있어서, 상기 매트릭스 벡터 곱셈기(matrix-vector multiplier)는,상기 입력 데이터 벡터 각각의 부호 비트와 상기 로그로 양자화된 가중치에서의 부호 비트로부터 상기 1 계수기가 출력한 값의 부호들을 연산하는 상기 복수의 배타적 논리 합(XOR, exclusive or) 게이트들을 더 포함하는 매트릭스 벡터 곱셈기(matrix-vector multiplier)
|
13 |
13
제11항에 있어서, 상기 곱셈 누적기는, 상기 입력 데이터 벡터 각각을 상응하는 스토캐스틱 수로 변환하는 상기 복수의 스토캐스틱 수 제너레이터(stochastic number generator)들을 더 포함하는 매트릭스 벡터 곱셈기(matrix-vector multiplier)
|
14 |
14
제11항에 있어서, 상기 1 계수기는 상기 입력 데이터 벡터에 에 상응하는 스토캐스틱 수를 형성하는 매트릭스 벡터 곱셈기(matrix-vector multiplier)
|
15 |
15
제11항에 있어서, 상기 1 계수기는, 상기 스토캐스틱 수가 미리 정해진 비트 수에 따라 분할되어 형성된 복수개의 블록 단위로 계수를 수행하는 매트릭스 벡터 곱셈기(matrix-vector multiplier)
|
16 |
16
제15항에 있어서, 상기 윈도우의 너비가 상기 블록의 비트 너비보다 크거나 같을 때,상기 1 계수기는,수학식 을 연산하여 상기 블록 내의 1의 개수를 계수하는 매트릭스 벡터 곱셈기(matrix-vector multiplier)
|
17 |
17
제15항에 있어서, 상기 윈도우의 너비가 상기 블록의 비트 너비보다 작을 때,상기 1 계수기는,수학식 를 연산하여 상기 윈도우 너비내 1의 개수를 계수하는 1 계수기를 포함하는 매트릭스 벡터 곱셈기(matrix-vector multiplier)
|
18 |
18
제15항에 있어서, 상기 윈도우의 너비가 상기 블록의 비트 너비보다 작을 때,상기 1 계수기는,수학식 을 연산하여 상기 윈도우 너비내 1의 개수를 계수하는 1 계수기를 포함하는 매트릭스 벡터 곱셈기(matrix-vector multiplier)
|
19 |
19
제15항에 있어서, 상기 윈도우의 너비가 상기 블록의 비트 너비보다 작을 때,상기 1 계수기는,를 연산하여 상기 윈도우 너비내 1의 개수를 계수하는 1 계수기를 포함하는 매트릭스 벡터 곱셈기(matrix-vector multiplier)
|
20 |
20
제15항에 있어서, 상기 1 계수기는, 블록의 최초 비트에서 최후 이전 비트 비트를 입력받아 우측 시프트 연산을 수행하는 시프터;상기 블록의 최초 비트에서 최후 이전 비트 및 상기 블록의 최후 비트가 입력으로 제공되어 어느 하나를 선택하여 출력하는 다중화기; 상기 시프터와 상기 다중화기의 출력을 더하는 덧셈기; 및상기 시프터가 시프트 연산하는 비트수와 상기 다중화기의 입력을 선택하는 제어부를 포함하는 1 계수기를 포함하는 매트릭스 벡터 곱셈기(matrix-vector multiplier)
|