KR101614215B1 - 저전력 곱셈기 및 그 동작 방법 - Google Patents

저전력 곱셈기 및 그 동작 방법 Download PDF

Info

Publication number
KR101614215B1
KR101614215B1 KR1020140152248A KR20140152248A KR101614215B1 KR 101614215 B1 KR101614215 B1 KR 101614215B1 KR 1020140152248 A KR1020140152248 A KR 1020140152248A KR 20140152248 A KR20140152248 A KR 20140152248A KR 101614215 B1 KR101614215 B1 KR 101614215B1
Authority
KR
South Korea
Prior art keywords
valid
bit
multiplicand
bits
multiplier
Prior art date
Application number
KR1020140152248A
Other languages
English (en)
Inventor
박현상
경종민
Original Assignee
재단법인 다차원 스마트 아이티 융합시스템 연구단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 재단법인 다차원 스마트 아이티 융합시스템 연구단 filed Critical 재단법인 다차원 스마트 아이티 융합시스템 연구단
Priority to KR1020140152248A priority Critical patent/KR101614215B1/ko
Application granted granted Critical
Publication of KR101614215B1 publication Critical patent/KR101614215B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/08Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

저전력 곱셈기의 동작 방법은 이진 정수로 표현되는 피승수(multiplicand)에서 미리 설정된 비트 단위로 유효 비트를 탐색하는 단계; 상기 탐색된 유효 비트에 기초하여 상기 피승수로부터 유효 부분을 추출하는 단계; 상기 피승수로부터 상기 추출된 유효 부분을 제외한 나머지 부분을 지수 부분으로 획득하는 단계; 상기 유효 부분 및 이진 정수로 표현되는 승수(multiplier) 사이의 곱셈 연산을 수행하는 단계; 및 상기 지수 부분에 기초하여 상기 곱셈 연산이 수행된 결과에 대해 시프트 연산을 처리하는 단계를 포함한다.

Description

저전력 곱셈기 및 그 동작 방법{LOW-POWER APPROXIMATE MULTIPLIER AND OPERTATION MEHOTD OF THEREOF}
본 발명은 저전력 곱셈기 및 그 동작 방법으로서, 보다 구체적으로, 피승수(multiplicand)에서 미리 설정된 비트 단위로 탐색된 유효 비트에 기초하여 유효 부분을 추출함으로써, 유효 부분 및 승수(multiplier) 사이의 곱셈 연산을 수행하는 저전력 곱셈기 및 그 동작 방법에 대한 기술이다.
2차원 영상 신호처리에서의 필터링은 수학식 1과 같이 표현된다. 여기서, x(i, j)는 공간상의 위치 (i, j)에서의 신호 크기를 의미하고, 필터의 크기가 (2M+1)*(2N+1)일 때, a(m, n)은 필터 계수를 의미한다(여기서, m은 -M≤m≤M을 만족시키며, n은 -N≤n≤N을 만족시킴).
Figure 112014106238795-pat00001
수학식 1의 연산이 (2M+1)*(2N+1) 사이클 동안 순차 처리되는 경우, 하나의 곱셈기가 요구된다. 그러나, 필터링 결과를 얻기 위해서는 (2M+1)*(2N+1) 사이클이 소요되므로, 단위 시간당 많은 출력이 생성되는 경우에는 순차 처리 대신에 병렬 처리가 수행된다. 따라서, 수학식 1에 따른 필터링을 수행하는 필터가 매 사이클마다 연산 결과를 획득하기 위해서는 (2M+1)*(2N+1) 개의 곱셈기가 요구된다.
이와 같이, 2차원 영상 처리에서 이용되는 기존의 곱셈기는 곱셈 연산을 순차 처리하는 경우, 처리 시간이 증가하여 에너지 소모가 심한 문제점이 있으며, 곱셈 연산을 병렬 처리하는 경우, (2M+1)*(2N+1) 개의 곱셈기가 요구되기 때문에, 하드웨어 비용이 직접적으로 증가되는 단점이 있다.
따라서, 본 명세서에서는 곱셈기의 회로 크기를 줄여 저전력으로 작동하도록 함으로써, 곱셈 연산을 병렬 처리하는 경우, 비용 증가를 억제하고, 순차 처리하는 경우, 처리 시간을 감소시켜 에너지 소모를 감소시키는 기술을 제안한다.
본 발명의 실시예들은 회로 크기를 줄임으로써, 저전력으로 작동하는 곱셈기 및 그 동작 방법을 제공한다.
특히, 본 발명의 실시예들은 피승수에서 유효 부분을 추출하는 과정을 간단화함으로써, 회로 크기를 줄인 곱셈기 및 그 동작 방법을 제공한다.
구체적으로, 본 발명의 실시예들은 피승수에서 미리 설정된 비트 단위로 탐색된 유효 비트에 기초하여 유효 부분을 추출함으로써, 피승수에서 유효 부분을 추출하는 과정을 간단화하는 곱셈기 및 그 동작 방법을 제공한다.
본 발명의 일실시예에 따른 저전력 곱셈기의 동작 방법은 이진 정수로 표현되는 피승수(multiplicand)에서 미리 설정된 비트 단위로 유효 비트를 탐색하는 단계; 상기 탐색된 유효 비트에 기초하여 상기 피승수로부터 유효 부분을 추출하는 단계; 상기 피승수로부터 상기 추출된 유효 부분을 제외한 나머지 부분을 지수 부분으로 획득하는 단계; 상기 유효 부분 및 이진 정수로 표현되는 승수(multiplier) 사이의 곱셈 연산을 수행하는 단계; 및 상기 지수 부분에 기초하여 상기 곱셈 연산이 수행된 결과에 대해 시프트 연산을 처리하는 단계를 포함한다.
상기 유효 비트를 탐색하는 단계는 상기 피승수에 포함되는 복수의 비트들을 상기 미리 설정된 비트 단위에 따라 그룹화하는 단계; 및 상기 그룹화된 복수의 비트들 중 상기 유효 비트가 가장 먼저 포함되는 어느 하나의 그룹을 선택하는 단계를 포함할 수 있다.
상기 유효 부분을 추출하는 단계는 상기 피승수에 포함되는 복수의 비트들에서 상기 선택된 어느 하나의 그룹에 포함되는 첫 비트로부터 미리 설정된 개수까지의 비트들을 유효 부분으로 추출하는 단계를 포함할 수 있다.
상기 미리 설정된 개수는 곱셈 연산에 대한 허용 오차 범위에 따라 적응적으로 조절될 수 있다.
상기 미리 설정된 비트 단위는 두 개 비트 이상의 비트 단위로 적응적으로 조절될 수 있다.
본 발명의 일실시예에 따른 저전력 곱셈기는 이진 정수로 표현되는 피승수(multiplicand)에서 미리 설정된 비트 단위로 유효 비트를 탐색하는 유효 비트 탐색부; 상기 탐색된 유효 비트에 기초하여 상기 피승수로부터 유효 부분을 추출하는 유효 부분 추출부; 상기 피승수로부터 상기 추출된 유효 부분을 제외한 나머지 부분을 지수 부분으로 획득하는 지수 부분 획득부; 상기 유효 부분 및 이진 정수로 표현되는 승수(multiplier) 사이의 곱셈 연산을 수행하는 곱셈 연산 수행부; 및 상기 지수 부분에 기초하여 상기 곱셈 연산이 수행된 결과에 대해 시프트 연산을 처리하는 시프트 연산 처리부를 포함한다.
상기 유효 비트 탐색부는 상기 피승수에 포함되는 복수의 비트들을 상기 미리 설정된 비트 단위에 따라 그룹화고, 상기 그룹화된 복수의 비트들 중 상기 유효 비트가 가장 먼저 포함되는 어느 하나의 그룹을 선택할 수 있다.
상기 유효 부분 추출부는 상기 피승수에 포함되는 복수의 비트들에서 상기 선택된 어느 하나의 그룹에 포함되는 첫 비트로부터 미리 설정된 개수까지의 비트들을 유효 부분으로 추출할 수 있다.
상기 미리 설정된 개수는 곱셈 연산에 대한 허용 오차 범위에 따라 적응적으로 조절될 수 있다.
상기 미리 설정된 비트 단위는 두 개 비트 이상의 비트 단위로 적응적으로 조절될 수 있다.
본 발명의 실시예들은 회로 크기를 줄임으로써, 저전력으로 작동하는 곱셈기 및 그 동작 방법을 제공할 수 있다.
특히, 본 발명의 실시예들은 피승수에서 유효 부분을 추출하는 과정을 간단화함으로써, 회로 크기를 줄인 곱셈기 및 그 동작 방법을 제공할 수 있다.
구체적으로, 본 발명의 실시예들은 피승수에서 미리 설정된 비트 단위로 탐색된 유효 비트에 기초하여 유효 부분을 추출함으로써, 피승수에서 유효 부분을 추출하는 과정을 간단화하는 곱셈기 및 그 동작 방법을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 저전력 곱셈기를 나타낸 구조도이다.
도 2는 본 발명의 일실시예에 따른 유효 부분을 추출하는 과정을 설명하기 위한 개념도이다.
도 3은 본 발명의 일실시예에 따른 지수 부분을 획득하는 함수를 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 저전력 곱셈기의 동작 방법을 나타낸 플로우 차트이다.
도 5는 본 발명의 일실시예에 따른 저전력 곱셈기를 나타낸 블록도이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 저전력 곱셈기를 나타낸 구조도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 저전력 곱셈기는 제1 구성부(110), 곱셈 연산 수행부(120) 및 시프트 연산 처리부(130)를 포함한다.
여기서, 제1 구성부(110)는 유효 비트를 탐색하여, 이진 정수로 표현되는 피승수 A로부터 탐색된 유효 비트에 기초하여 유효 부분을 추출하고 지수 부분을 획득한다. 이하, 피승수 A는 N 비트 데이터이고, 승수 B는 M 비트의 데이터이며, N>M인 경우로 가정한다.
구체적으로, 제1 구성부(110)는 피승수 A에 포함되는 복수의 비트들을 미리 설정된 비트 단위에 따라 그룹화한 후, 그룹화된 복수의 비트들 중 유효 비트가 가장 먼저 포함되는 어느 하나의 그룹을 선택함으로써, 유효 비트를 탐색할 수 있다. 이와 같이 유효 비트가 탐색되어, 유효 비트가 포함되는 어느 하나의 그룹이 선택되면, 제1 구성부(110)는 피승수 A에 포함되는 복수의 비트들에서 선택된 어느 하나의 그룹에 포함되는 첫 비트로부터 미리 설정된 개수(예컨대, k 개의 비트)까지의 비트들을 유효 부분으로 추출할 수 있다.
이 때, 미리 설정된 비트 단위는 두 개 비트 이상의 비트 단위로 적응적으로 조절될 수 있다. 또한, 미리 설정된 개수는 곱셈 연산에 대한 허용 오차 범위에 따라 적응적으로 조절될 수 있다. 이에 대한 상세한 설명은 도 2를 참조하여 기재하기로 한다.
또한, 제1 구성부(110)는 피승수 A로부터 추출된 유효 부분을 제외한 나머지 부분을 지수 부분으로 획득한다. 예를 들어, 제1 구성부(110)는 피승수 A에 포함되는 복수의 비트들 중 미리 설정된 개수의 유효 부분을 제외한 나머지 E 비트의 데이터를 지수 부분으로 획득할 수 있다. 이에 대한 상세한 설명은 도 3을 참조하여 기재하기로 한다.
이와 같이, 제1 구성부(110)는 유효 비트가 포함되는 어느 하나의 그룹에 포함되는 첫 비트로부터 미리 설정된 개수까지의 비트들을 유효 부분으로 추출하기 때문에, 최상위 비트부터 특정 비트까지의 비트들을 유효 부분으로 추출하는 기존의 기술에 비해서, 곱셈 연산에 대한 오차를 감소시킬 수 있다.
또한, 제1 구성부(110)가 유효 비트를 탐색하는 과정에서 미리 설정된 비트 단위에 따라 탐색하기 때문에, 기존의 비트 탐색 기술에 비해서, 탐색 과정 자체가 간단화됨으로써, 탐색 과정을 수행하는 멀티 플렉서(multiplexer)로 구성되는 회로의 크기가 감소될 수 있다. 따라서, 제1 구성부(110)는 멀티 플렉서로 구성되는 회로의 크기가 감소하므로, 저전력으로 동작할 수 있으며, 유효 비트의 탐색 소요 시간 자체를 감소시킬 수 있다.
도면에는 피승수 A에서 유효 비트를 탐색하는 과정, 피승수 A로부터 유효 부분을 추출하는 과정 및 지수 부분을 획득하는 과정이 단일 구성부인 제1 구성부(110)에서 수행되는 것으로 도시하였으나, 이에 제한되거나 한정되지 않고, 서로 다른 구성부인 유효 비트 탐색부, 유효 부분 추출부 및 지수 부분 획득부에서 각각 수행될 수도 있다.
곱셈 연산 수행부(120)는 제1 구성부(110)의 동작에 응답하여, 유효 부분 및 이진 정수로 표현되는 승수 B 사이의 곱셈 연산을 수행한다.
시프트 연산 처리부(130)는 곱셈 연산 수행부(120)의 동작에 응답하여, 지수 부분을 기초로 곱셈 연산이 수행된 결과에 대해 시프트 연산을 수행한다. 구체적으로, 시프트 연산 처리부(130)는 곱셈 연산이 수행된 결과에 대해 시프트 레프트 연산을 수행할 수 있다.
이와 같이, 본 발명의 일실시예에 따른 저전력 곱셈기는 제1 구성부(110), 곱셈 연산 수행부(120) 및 시프트 연산 처리부(130)의 동작에 따라, 피승수 A 및 승수 B 사이의 곱셈 연산을 수행할 수 있다.
도 2는 본 발명의 일실시예에 따른 유효 부분을 추출하는 과정을 설명하기 위한 개념도이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 저전력 곱셈기는 이진 정수로 표현되는 피승수(210)에서 미리 설정된 비트 단위로 유효 비트를 탐색한다. 이하, 미리 설정된 비트 단위는 두 개의 비트 단위로 설명되지만, 이에 제한되거나 한정되지 않고, 두 개 비트 이상의 비트 단위로 적응적으로 조절될 수 있다. 여기서, 유효 비트는 이진 정수 중 제1 논리값인 '1' 및 제2 논리값인 '0' 중 제1 논리값인 '1'을 의미할 수 있다.
구체적으로, 저전력 곱셈기는 피승수(210)에 포함되는 복수의 비트들을 두 개의 비트 단위에 따라 그룹화한 후, 그룹화된 복수의 비트들 중 유효 비트가 가장 먼저 포함되는 어느 하나의 그룹을 선택함으로써, 유효 비트를 탐색할 수 있다. 예를 들어, 저전력 곱셈기는 좌측의 비트부터 우측 방향으로 유효 비트를 탐색할 수 있다. 더 구체적인 예를 들면, 그룹화된 복수의 비트들 중 유효 비트가 두 번째 그룹(220)에 가장 먼저 포함되는 경우, 저전력 곱셈기는 유효 비트를 포함하는 두 번째 그룹(220)을 선택함으로써, 유효 비트를 탐색할 수 있다.
이와 같이, 저전력 곱셈기는 피승수(210)에 포함되는 복수의 비트들을 두 개의 비트 단위에 따라 탐색하기 때문에, 기존의 하나의 비트 단위로 유효 비트를 탐색하는 기술에서의 멀티 플렉서로 구성되는 회로의 크기보다 절반 크기의 회로를 가질 수 있다. 따라서, 본 발명의 일실시예에 따른 곱셈기는 기존의 곱셈기에 비해서, 저전력으로 동작될 수 있다. 또한, 유효 비트의 탐색 과정 자체가 간단화되기 때문에, 유효 비트의 탐색 소요 시간 자체가 감소될 수 있다.
그 다음, 저전력 곱셈기는 선택된 어느 하나의 그룹에 포함되는 첫 비트로부터 미리 설정된 개수까지의 비트들을 유효 부분으로 추출할 수 있다. 이하, 미리 설정된 개수는 8 비트로 설명되지만, 이에 제한되거나 한정되지 않고, 곱셈 연산에 대한 허용 오차 범위에 따라 적응적으로 조절될 수 있다. 예를 들어, 저전력 곱셈기는 선택된 두 번째 그룹(220)의 첫 비트로부터 8비트까지의 비트들을 유효 부분(230)으로 추출할 수 있다.
이와 같이, 저전력 곱셈기는 유효 비트가 포함되는 어느 하나의 그룹에 포함되는 첫 비트(예컨대, 두 번째 그룹(220)의 첫 비트)로부터 미리 설정된 개수(예컨대, 8비트)까지의 비트들을 유효 부분(230)으로 추출하기 때문에, 최상위 비트부터 특정 비트까지의 비트들을 유효 부분으로 추출하는 기존의 기술에 비해서, 곱셈 연산에 대한 오차를 감소시킬 수 있다.
도 3은 본 발명의 일실시예에 따른 지수 부분을 획득하는 함수를 나타낸 도면이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 저전력 곱셈기는 피승수로부터 추출된 유효 부분을 제외한 나머지 부분을 floor 함수에 따라, 지수 부분으로 획득할 수 있다.
예를 들어, 저전력 곱셈기는 피승수에 포함되는 복수의 비트들 중 미리 설정된 개수의 유효 부분을 제외한 나머지 E 비트의 데이터를 수학식 2와 같이 floor 함수에 따라, 지수 부분으로 획득할 수 있다.
Figure 112014106238795-pat00002
여기서, N은 피승수의 데이터 비트 개수를 의미하고, k는 유효 부분의 비트 개수로서, 위에서 상술한 미리 설정된 개수를 의미한다.
도 4는 본 발명의 일실시예에 따른 저전력 곱셈기의 동작 방법을 나타낸 플로우 차트이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 저전력 곱셈기는 이진 정수로 표현되는 피승수(multiplicand)에서 미리 설정된 비트 단위로 유효 비트를 탐색한다(410). 여기서, 미리 설정된 비트 단위는 두 개 비트 이상의 비트 단위로 적응적으로 조절될 수 있다.
이 때, 저전력 곱셈기는 피승수에 포함되는 복수의 비트들을 미리 설정된 비트 단위에 따라 그룹화한 후, 그룹화된 복수의 비트들 중 유효 비트가 가장 먼저 포함되는 어느 하나의 그룹을 선택함으로써, 유효 비트를 탐색할 수 있다.
이어서, 저전력 곱셈기는 탐색된 유효 비트에 기초하여 피승수로부터 유효 부분을 추출한다(420).
이 때, 저전력 곱셈기는 피승수에 포함되는 복수의 비트들에서 선택된 어느 하나의 그룹에 포함되는 첫 비트로부터 미리 설정된 개수까지의 비트들을 유효 부분으로 추출할 수 있다. 여기서, 미리 설정된 개수는 곱셈 연산에 대한 허용 오차 범위에 따라 적응적으로 조절될 수 있다.
그 다음, 저전력 곱셈기는 피승수로부터 추출된 유효 부분을 제외한 나머지 부분을 지수 부분으로 획득한다(430).
그 다음, 저전력 곱셈기는 유효 부분 및 이진 정수로 표현되는 승수(multiplier) 사이의 곱셈 연산을 수행한다(440).
그 후, 저전력 곱셈기는 지수 부분에 기초하여 곱셈 연산이 수행된 결과에 대해 시프트 연산을 처리한다(450).
도 5는 본 발명의 일실시예에 따른 저전력 곱셈기를 나타낸 블록도이다.
도 5를 참조하면, 본 발명의 일실시예에 따른 저전력 곱셈기에 포함되는, 이진 정수로 표현되는 피승수(multiplicand)에서 미리 설정된 비트 단위로 유효 비트를 탐색하는 유효 비트 탐색부, 탐색된 유효 비트에 기초하여 피승수로부터 유효 부분을 추출하는 유효 부분 추출부 및 피승수로부터 추출된 유효 부분을 제외한 나머지 부분을 지수 부분으로 획득하는 지수 부분 획득부는 단일 구성부인 제1 구성부(510)로서, 복수의 논리합 소자들 및 복수의 멀티 플렉서들로 형성될 수 있다. 그러나, 이에 제한되거나 한정되지 않고, 유효 비트 탐색부, 유효 부분 추출부 및 지수 부분 획득부는 각각 서로 다른 구성부로 형성되어, 전기적으로 서로 연결될 수도 있다.
이와 같은 제1 구성부(510)는 피승수에 포함되는 복수의 비트들을 두 개의 비트 단위에 따라 탐색하기 때문에, 기존의 하나의 비트 단위로 유효 비트를 탐색하는 기술에서의 멀티 플렉서로 구성되는 회로의 크기보다 절반 크기의 회로를 가질 수 있다.
곱셈 연산 수행부(520)는 유효 부분 및 이진 정수로 표현되는 승수(multiplier) 사이의 곱셈 연산을 수행한다.
시프트 연산 처리부(530)는 지수 부분에 기초하여 곱셈 연산이 수행된 결과에 대해 시프트 연산을 처리한다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (11)

  1. 이진 정수로 표현되는 피승수(multiplicand)에서 미리 설정된 비트 단위로 유효 비트를 탐색하는 단계;
    상기 탐색된 유효 비트에 기초하여 상기 피승수로부터 유효 부분을 추출하는 단계;
    상기 피승수로부터 상기 추출된 유효 부분을 제외한 나머지 부분을 지수 부분으로 획득하는 단계;
    상기 유효 부분 및 이진 정수로 표현되는 승수(multiplier) 사이의 곱셈 연산을 수행하는 단계; 및
    상기 지수 부분에 기초하여 상기 곱셈 연산이 수행된 결과에 대해 시프트 연산을 처리하는 단계
    를 포함하는 저전력 곱셈기의 동작 방법.
  2. 제1항에 있어서,
    상기 유효 비트를 탐색하는 단계는
    상기 피승수에 포함되는 복수의 비트들을 상기 미리 설정된 비트 단위에 따라 그룹화하는 단계; 및
    상기 그룹화된 복수의 비트들로부터 상기 유효 비트가 포함되는 그룹을 순차적으로 탐색하는 도중, 가장 먼저 탐색되는 어느 하나의 그룹을 선택하는 단계
    를 포함하는 저전력 곱셈기의 동작 방법.
  3. 제2항에 있어서,
    상기 유효 부분을 추출하는 단계는
    상기 피승수에 포함되는 복수의 비트들에서 상기 선택된 어느 하나의 그룹에 포함되는 첫 비트로부터 미리 설정된 개수까지의 비트들을 유효 부분으로 추출하는 단계
    를 포함하는 저전력 곱셈기의 동작 방법.
  4. 제3항에 있어서,
    상기 미리 설정된 개수는
    곱셈 연산에 대한 허용 오차 범위에 따라 적응적으로 조절되는 저전력 곱셈기의 동작 방법.
  5. 제1항에 있어서,
    상기 미리 설정된 비트 단위는
    두 개 비트 이상의 비트 단위로 적응적으로 조절되는 저전력 곱셈기의 동작 방법.
  6. 제1항 내지 제5항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  7. 이진 정수로 표현되는 피승수(multiplicand)에서 미리 설정된 비트 단위로 유효 비트를 탐색하는 유효 비트 탐색부;
    상기 탐색된 유효 비트에 기초하여 상기 피승수로부터 유효 부분을 추출하는 유효 부분 추출부;
    상기 피승수로부터 상기 추출된 유효 부분을 제외한 나머지 부분을 지수 부분으로 획득하는 지수 부분 획득부;
    상기 유효 부분 및 이진 정수로 표현되는 승수(multiplier) 사이의 곱셈 연산을 수행하는 곱셈 연산 수행부; 및
    상기 지수 부분에 기초하여 상기 곱셈 연산이 수행된 결과에 대해 시프트 연산을 처리하는 시프트 연산 처리부
    를 포함하는 저전력 곱셈기.
  8. 제7항에 있어서,
    상기 유효 비트 탐색부는
    상기 피승수에 포함되는 복수의 비트들을 상기 미리 설정된 비트 단위에 따라 그룹화고, 상기 그룹화된 복수의 비트들로부터 상기 유효 비트가 포함되는 그룹을 순차적으로 탐색하는 도중, 가장 먼저 탐색되는 어느 하나의 그룹을 선택하는 저전력 곱셈기.
  9. 제8항에 있어서,
    상기 유효 부분 추출부는
    상기 피승수에 포함되는 복수의 비트들에서 상기 선택된 어느 하나의 그룹에 포함되는 첫 비트로부터 미리 설정된 개수까지의 비트들을 유효 부분으로 추출하는 저전력 곱셈기.
  10. 제9항에 있어서,
    상기 미리 설정된 개수는
    곱셈 연산에 대한 허용 오차 범위에 따라 적응적으로 조절되는 저전력 곱셈기.
  11. 제7항에 있어서,
    상기 미리 설정된 비트 단위는
    두 개 비트 이상의 비트 단위로 적응적으로 조절되는 저전력 곱셈기.
KR1020140152248A 2014-11-04 2014-11-04 저전력 곱셈기 및 그 동작 방법 KR101614215B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140152248A KR101614215B1 (ko) 2014-11-04 2014-11-04 저전력 곱셈기 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140152248A KR101614215B1 (ko) 2014-11-04 2014-11-04 저전력 곱셈기 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR101614215B1 true KR101614215B1 (ko) 2016-04-21

Family

ID=55918055

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140152248A KR101614215B1 (ko) 2014-11-04 2014-11-04 저전력 곱셈기 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR101614215B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100768088B1 (ko) 2005-12-09 2007-10-18 한국전자통신연구원 고속 저전력 고정계수 곱셈기 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100768088B1 (ko) 2005-12-09 2007-10-18 한국전자통신연구원 고속 저전력 고정계수 곱셈기 및 그 방법

Similar Documents

Publication Publication Date Title
US20110314254A1 (en) Method for vector processing
JP2015502597A (ja) Firフィルタリングのためのベクトル畳み込み関数を含む命令セットを有するベクトル・プロセッサ
KR102581403B1 (ko) 공유 하드웨어 로직 유닛 및 그것의 다이 면적을 줄이는 방법
EP2584460A1 (en) Vector processing system comprising a replicating subsystem and method
KR102560778B1 (ko) 데이터를 추출하는 장치 및 방법
US9250890B2 (en) Optimizing performance of a computer system in response to a software change
CN110050259B (zh) 矢量处理器及其控制方法
KR101614215B1 (ko) 저전력 곱셈기 및 그 동작 방법
US20150127924A1 (en) Method and apparatus for processing shuffle instruction
CN114746840A (zh) 用于乘法和累加操作的处理器单元
KR101834279B1 (ko) 지연 특징 추출을 이용하여 얼굴을 검출하기 위한 이미지 처리 방법 및 시스템
US20150063424A1 (en) Method and apparatus for generating orthogonal codes with wide range of spreading factor
KR20190070627A (ko) 처리 스케줄러를 이용한 워크플로우 장치 및 워크플로우 장치의 동작 방법
JP2016045721A (ja) データ格納方法、三値内積演算回路、それを備えた半導体装置、及び、三値内積演算処理プログラム
Che et al. The fractional differential enhancement of image texture features and its parallel processing optimization
WO2012006285A1 (en) Method for quantifying and analyzing intrinsic parallelism of an algorithm
KR102503878B1 (ko) 데이터 압축 장치 및 방법, 데이터 복원 장치 및 방법
KR101673151B1 (ko) 프로그램 소스 및 db 스키마의 연관 관계 변화 분석 방법 및 장치
KR101511553B1 (ko) 다중 단계 오디오 분리 방법 및 이를 적용한 오디오 시스템
US9811607B2 (en) System and method to extract unique elements from sorted list
KR102132935B1 (ko) 유한체 곱셈 방법 및 장치
KR101974779B1 (ko) 16비트 이하 양의 정수용 파이프라인형 제곱기
KR102241411B1 (ko) 광범위 확산 계수의 직교 코드를 생성하는 장치 및 방법
CN116149600B (zh) 多常数乘法器的逻辑电路设置方法、装置、设备及介质
KR101980448B1 (ko) Rsa 알고리즘 용 몽고메리 알고리즘 파라미터 계산 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190208

Year of fee payment: 4