KR102072543B1 - 복수 데이터 형식을 지원하는 가산기 및 그 가산기를 이용한 복수 데이터 형식의 가감 연산 지원 방법 - Google Patents

복수 데이터 형식을 지원하는 가산기 및 그 가산기를 이용한 복수 데이터 형식의 가감 연산 지원 방법 Download PDF

Info

Publication number
KR102072543B1
KR102072543B1 KR1020130009328A KR20130009328A KR102072543B1 KR 102072543 B1 KR102072543 B1 KR 102072543B1 KR 1020130009328 A KR1020130009328 A KR 1020130009328A KR 20130009328 A KR20130009328 A KR 20130009328A KR 102072543 B1 KR102072543 B1 KR 102072543B1
Authority
KR
South Korea
Prior art keywords
addition
data
input
type
addition region
Prior art date
Application number
KR1020130009328A
Other languages
English (en)
Other versions
KR20140096588A (ko
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 KR1020130009328A priority Critical patent/KR102072543B1/ko
Priority to EP14152909.9A priority patent/EP2759926A1/en
Priority to US14/166,076 priority patent/US9842085B2/en
Priority to JP2014013824A priority patent/JP6302682B2/ja
Priority to CN201410041976.3A priority patent/CN103970503B/zh
Publication of KR20140096588A publication Critical patent/KR20140096588A/ko
Application granted granted Critical
Publication of KR102072543B1 publication Critical patent/KR102072543B1/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/40Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
    • G06F7/42Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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/50Adding; Subtracting
    • G06F7/501Half or full adders, i.e. basic adder cells for one denomination
    • G06F7/503Half or full adders, i.e. basic adder cells for one denomination using carry switching, i.e. the incoming carry being connected directly, or only via an inverter, to the carry output under control of a carry propagate signal
    • 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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/506Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
    • G06F7/507Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using selection between two conditionally calculated carry or sum values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/382Reconfigurable for different fixed word lengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3828Multigauge devices, i.e. capable of handling packed numbers without unpacking them

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Electromagnetism (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Advance Control (AREA)

Abstract

캐리 전달 제어를 통한 복수 데이터 형식을 지원하는 가산기에 관한 것으로, 일 실시예에 따른 가산기는 최대 n 비트 데이터 타입의 가감 연산을 지원하고, 소정 비트 단위로 형성되어 피연산 데이터가 입력되는 복수의 제1 가산 영역과, 복수의 제1 가산 영역의 사이에 형성되어 피연산 데이터의 타입 및 연산의 종류에 기초한 제어 데이터가 입력되는 하나 이상의 제2 가산 영역을 포함할 수 있다.

Description

복수 데이터 형식을 지원하는 가산기 및 그 가산기를 이용한 복수 데이터 형식의 가감 연산 지원 방법{MULTIPLE DATA TYPE SUPPORTING ADDER AND METHOD FOR SUPPORTING ADDING OPERATION OF MULTIPLE DATA TYPE USING THE ADDER}
캐리 전달 제어를 통한 복수 데이터 형식을 지원하는 가산기 및 그 가산기를 이용한 복수 데이터 형식의 가감 연산 지원 방법에 관한 것이다.
프로세서에 벡터 연산 능력을 제공하는 것은 멀티 미디어 응용 분야에서 중요한 성능 향상을 가져온다. 일반적인 벡터 연산기는 한번에 여러 데이터를 동시에 처리할 수 있는 능력을 제공하지만 이를 위해 상응하는 여러 연산기를 구비해야 하기 때문에 매우 커지게 된다. 이를 극복하기 위한 방안으로 최소 데이터 길이를 갖는 산술 연산기를 동시에 처리할 개수만큼 구비하고 이들을 필요에 따라 연결하여 공유함으로써 다양한 데이터의 타입을 지원하는 구조를 사용한다. 이때, 가산 또는 감산 연산을 위해 캐리 전달을 고려하는 캐리 선택 가산기(carry-select adder)가 사용되는데, 일반적인 캐리 선택 가산기는 데이터 타입별로 연산을 공유하기 위해 복잡한 제어 신호와 다수의 멀티 플렉서를 이용하게 되어 면적의 효율성 및 처리 성능이 감소하게 된다.
캐리 선택을 위한 병렬의 가산기를 구비할 필요없이 최대 데이터 타입을 지원할 수 있는 단일한 가산기를 이용하여 복수의 데이터 타입의 가감 연산을 지원하는 가산기 및 방법이 제시된다.
일 양상에 따르면, 최대 n 비트 데이터 타입의 가감 연산을 지원하는 가산기는 소정 비트 단위로 형성되어 피연산 데이터가 입력되는 복수의 제1 가산 영역 및 복수의 제1 가산 영역의 사이에 형성되어 피연산 데이터의 타입 및 연산의 종류에 기초한 제어 데이터가 입력되는 하나 이상의 제2 가산 영역을 포함할 수 있다.
이때, 소정 비트 단위는 상기 가산기에서 연산을 처리할 수 있는 상기 최대 n 비트보다 작은 최소 비트 단위일 수 있다.
피연산 데이터는 그 데이터의 타입에 따라 하나 이상의 제1 가산 영역에 소정 비트 단위로 입력될 수 있다.
가산기는 피연산 데이터 중 나중에 입력되는 데이터를 연산의 종류를 기초로 반전 또는 비반전 선택 입력하는 복수의 제1 멀티플렉서를 더 포함할 수 있다.
제어 데이터는 하위 제1 가산 영역의 캐리 신호를 상위 제1 가산 영역으로 전달 또는 차단하도록 제어하거나, 연산의 종류가 감산 연산인 경우 2의 보수를 취하기 위한 '1' 값을 가산하도록 제어할 수 있다.
이때, 하위 제1 가산 영역과 상위 제1 가산 영역에 하나의 피연산 데이터가 분리되어 입력된 경우 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 입력되는 제어 데이터는 캐리 신호를 전달하는 비트인 [0,1] 또는 [1,0]일 수 있다.
또한, 연산의 종류가 가산 연산이고 하위 제1 가산 영역과 상위 제1 가산 영역에 서로 다른 두 개의 피연산 데이터가 동시에 입력된 경우 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 입력되는 제어 데이터는 캐리 신호를 차단하는 비트인 [0,0]일 수 있다.
또한, 연산의 종류가 감산 연산이고 하위 제1 가산 영역과 상위 제1 가산 영역에 서로 다른 두 개의 피연산 데이터가 동시에 입력된 경우 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 입력되는 제어 데이터는 2의 보수를 취하기 위한 '1' 값을 가산하도록 제어하는 비트인 [1,1]일 수 있다.
추가적인 양상에 따르면 가산기는 하위 제1 가산 영역과 상위 제1 가산 영역에 입력된 피연산 데이터 및 연산의 종류를 기초로 상기 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 캐리 전달 제어 비트를 선택 입력하는 하나 이상의 제2 멀티플렉서를 더 포함할 수 있다.
일 양상에 따르면, 최대 n 비트 데이터 타입의 가감 연산을 지원하는 가산기를 이용하여 복수의 데이터 타입의 가감 연산을 지원하는 방법은 가산기에 소정 비트 단위로 형성된 복수의 제1 가산 영역에 피연산 데이터를 입력하는 단계 및 복수의 제1 가산 영역의 사이에 형성된 제2 가산 영역에 피연산 데이터의 타입 및 연산의 종류에 기초한 제어 데이터를 입력하는 단계를 포함할 수 있다.
이때, 소정 비트 단위는 가산기에서 연산을 처리할 수 있는 최대 n 비트보다 작은 최소 비트 단위일 수 있다.
또한, 피연산 데이터는 그 데이터의 타입에 따라 하나 이상의 제1 가산 영역에 소정 비트 단위로 입력될 수 있다.
피연산 데이터 입력 단계는 멀티플렉서를 통해 피연산 데이터 중 나중에 입력되는 데이터를 연산의 종류를 기초로 반전 또는 비반전 선택 입력하는 단계를 포함할 수 있다.
제어 데이터는 하위 제1 가산 영역의 캐리 신호를 제1 가산 영역으로 전달 또는 차단하도록 제어하거나, 연산의 종류가 감산 연산인 경우 2의 보수를 취하기 위한 '1' 값을 가산하도록 제어할 수 있다.
이때, 하위 제1 가산 영역과 상위 제1 가산 영역에 하나의 피연산 데이터가 분리되어 입력된 경우 그 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 입력되는 제어 데이터는 캐리 신호를 전달하는 비트인 [0,1] 또는 [1,0]일 수 있다.
또한, 연산의 종류가 가산 연산이고 하위 제1 가산 영역과 제1 가산 영역에 서로 다른 두 개의 피연산 데이터가 동시에 입력된 경우 그 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 입력되는 제어 데이터는 캐리 신호를 차단하는 비트인 [0,0]일 수 있다.
또한, 연산의 종류가 감산 연산이고 하위 제1 가산 영역과 상위 제1 가산 영역에 서로 다른 두 개의 피연산 데이터가 동시에 입력된 경우 그 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 입력되는 제어 데이터는 2의 보수를 취하기 위한 '1' 값을 가산하도록 제어하는 비트인 [1,1]일 수 있다.
하위 제1 가산 영역과 상위 제1 가산 영역에 입력된 피연산 데이터 및 연산의 종류를 기초로 멀티 플렉서를 통해 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 제어 데이터를 선택 입력할 수 있다.
캐리 선택을 위한 병렬의 가산기를 구비할 필요없이 최대 데이터 타입을 지원할 수 있는 단일한 가산기를 이용하여 면적의 효율성을 증대시키고, 또한, 복잡한 다중화기의 지연시간을 제거하여 처리 속도를 향상시키며 복수의 데이터 타입의 가감 연산을 동시에 지원할 수 있다.
도 1a 및 도 1b는 일반적인 캐리 선택 가산기의 예이다.
도 2는 일 실시예에 따른 가산기를 나타낸 도면이다.
도 3은 일 실시예에 따른 가산기의 제2 가산 영역에 입력되는 제어 데이터의 예이다.
도 4a 내지 도 4d는 일 실시예에 따른 가산기의 가감 연산의 일 예이다.
도 5는 일 실시예에 따른 복수 데이터 타입의 가감 연산 지원 방법의 흐름도이다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다. 기재된 기술의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 복수 데이터 형식을 지원하는 가산기 및 그 가산기를 이용한 복수 데이터 형식의 가감 연산 지원 방법의 실시예들을 도면들을 참고하여 자세히 설명하도록 한다.
도 1a 및 도 1b는 일반적인 캐리 선택 가산기의 예이다.
도 1a는 최대 32 비트(bit)의 데이터 타입을 지원하는 일반적인 캐리 선택 가산기의 일 예로서, 4개의 가산기(111,112,113,114)를 병렬로 연결하여 복수의 데이터 타입(예: 8, 16 및 32 비트)의 가산 연산을 지원한다. 이때, 각 가산기(111,112,113,114)는 도 1b에 예시된 어느 하나의 가산기(114)와 같이 감산 연산시 비반전 입력에 대한 '1'값 가산을 위한 캐리-인(carry-in)을 미리 고려하기 위해 내부에 이중의 9비트 영역의 가산기(114_a, 114_b)를 구비하고 있다.
또한, 각 가산기(111,112,113,114)에 입력되는 두 번째 데이터를 연산의 종류에 따라 반전 또는 비반전 선택 입력하는 멀티플렉서(121,122,123,124)와, 각 가산기(111,112,113,114)에서 출력된 두 개의 결과(캐리-인 미포함, 캐리-인 포함) 중에서 어느 하나를 선택하는 캐리 선택 멀티플렉서(131,132,133,134) 및, 하위 가산기(111,112,113)에서 상위 가산기(112,113,114)로 캐리를 전달하는 캐리 전달 멀티플렉서(141,142,143)를 포함할 수 있다.
예를 들어, 16 비트 데이터에 대한 가산 연산을 수행하는 경우, 첫 번째 가산기(111)에 데이터(i0_3, i1_3)가 입력되고, 두 번째 가산기(112)에 데이터(i0_2, i1_2)가 입력된다. 첫 번째 가산기(111)는 내부의 이중의 가산기를 통해 캐리-인이 포함되지 않은 경우와 캐리-인이 포함된 경우를 고려하여 데이터(o0_3,01_3)를 출력하고, 두 번째 가산기(112)는 마찬가지로 데이터(o0_2,01_2)를 출력한다.
첫 번째 캐리 선택 멀티플렉서(131)는 첫 번째 가산기(111)로부터 출력된 결과 중에서 캐리-인이 포함되지 않은 데이터(o0_3)를 선택하여, 그 가산기(111)의 가산 결과(z3)로 출력한다. 첫 번째 캐리 전달 멀티플렉서(141)는 첫 번째 가산기(111)의 가산 결과(z3) 의 최상위 비트값과 '0' 중에서 선택하여 두 번째 가산기(112)로 캐리 전달 여부를 결정한다.
두 번째 캐리 선택 멀티플렉서(132)는 두 번째 가산기(112)로부터 출력된 결과 중에서 첫 번째 캐리 전달 멀티플렉서(141)에서 입력된 값에 따라 캐리-인이 포함되지 않은 데이터(o0_2)와 캐리-인이 포함된 데이터(o0_2) 중에서 어느 하나를 선택하여, 그 가산기(112)의 가산 결과(z2)로 출력한다.
이와 같이, 일반적인 캐리 선택 가산기는 다양한 데이터 타입의 연산을 지원하기 위해 복수의 가산기(111,112,113,114)를 구비하고, 각 가산기(111,112,113,114)에는 캐리-인을 미리 고려하기 위해 병렬의 가산기를 구비하고 있어, 많은 면적을 차지하게 된다. 또한, 캐리 전달을 고려하여 다수의 멀티플렉서를 거쳐야 하므로 제어가 복잡해지고 연산 지연이 발생한다.
도 2는 일 실시예에 따른 가산기를 나타낸 도면이다.
도 2를 참조하면, 일 실시예에 따른 가산기(200)는 단일의 가산부(210)로 이루어지며, 그 가산부(210)는 최대 데이터 길이 내에서 다양한 데이터 타입의 연산을 지원할 수 있도록 소정 비트 단위로 이루어진 복수의 제1 가산 영역(211,212,213,214)과, 각 제1 가산 영역(211,212,213,214) 사이에 연산의 종류 및 피연산 데이터의 타입에 기초한 제어 데이터가 입력되는 하나 이상의 제2 가산 영역(221,222,223)을 포함할 수 있다.
도 2는 4개의 제1 가산 영역(211,212,213,214)과 각 제1 가산 영역(211,212,213,214) 사이에 제2 가산 영역(221,222,223)을 예시하고 있으나, 제1 가산 영역의 수는 최대 지원 가능한 데이터 타입, 연산의 최소 데이터 처리 단위 등에 따라 증감될 수 있다.
예를 들어, 제1 가산 영역(211,212,213,214)은 연산의 최소 데이터 처리 단위 비트로 이루어질 수 있으며, 최소 데이터 처리 단위 비트가 8 비트라면 4개의 제1 가산 영역(211,212,213,214)을 통해 최대 32 비트의 데이터 타입의 연산이 가능하다. 이때, 입력되는 피연산 데이터의 타입에 따라 8비트, 16비트, 24비트 및 32비트의 데이터 타입의 연산을 처리할 수 있다.
피연산 데이터는 그 데이터의 타입에 따라 제1 가산 영역(211,212,213,214) 중의 하나 이상에 소정 비트(m 비트) 단위로 입력되어 제1 가산 영역 단위로 가산 연산이 수행된다. 이때, 피연산 데이터의 타입에 따라 두 쌍 이상의 피연산 데이터가 동시에 제1 가산 영역(211,212,213,214)에 입력되는 것이 가능하다.
예를 들어, 소정 비트(m 비트)가 8 비트이고 피연산 데이터의 타입이 16비트라면 그 피연산 데이터는 8 비트 단위로 분리되어 두 개의 제1 가산 영역(211, 212)에 입력될 수 있다. 이러한 경우 한 쌍의 16비트 길이의 피연산 데이터를 8 비트 단위로 분리하여 두 개의 제1 가산 영역(213,214)에 추가로 입력하여 동시에 두 쌍 이상의 데이터의 가산 연산을 처리하도록 할 수 있다.
한편, 일 실시예에 따른 가산기(200)는 감산 연산을 지원할 수 있다. 감산 연산은 두 번째 입력된 피연산 데이터를 반전 입력하여 가산 연산을 수행하고 2의 보수를 취하기 위한 '1'값을 가산하는 방식을 사용한다. 가산기(200)는 이러한 방식의 감산 연산을 지원하기 위해 각 제1 가산 영역(211,212,213,214)에 대응되는 제1 멀티 플렉서(231,232,233,234)를 더 포함할 수 있다. 제1 멀티 플렉서(231,232,233,234)는 수행될 연산의 종류에 따라 피연산 데이터 중 나중에 입력될 피연산 데이터를 반전 또는 비반전 선택하여 입력하며, 즉, 연산의 종류가 감산 연산인 경우 나중의 피연산 데이터를 반전 입력을 선택하여 대응되는 각 제1 가산 영역(211,212,213,214)에 입력할 수 있다.
제2 가산 영역(221,222,223)은 제1 가산 영역(211,212,213,214) 사이마다 1 비트로 형성될 수 있으며, 하위 제1 가산 영역에서 발생된 캐리 신호를 상위 제1 가산 영역으로 전달 또는 차단하도록 제어하거나, 감산 연산시 '2'의 보수값을 취하기 위한 '1'값을 가산하도록 제어하는 제어 데이터가 입력될 수 있다.
도 3은 일 실시예에 따른 가산기(200)의 제2 가산 영역(221,222,223)에 입력되는 제어 데이터의 일 예로서, 도 3을 참조하면, 제2 가산 영역(221,222,223)에 입력되는 제어 데이터는 [0,1], [1,0], [0,0] 및 [1,1] 중의 어느 하나일 수 있다.
예를 들어, 하위 제1 가산 영역과 상위 제1 가산 영역에 하나의 피연산 데이터가 분리되어 입력된 경우, 예컨대, 도 2의 제1 가산 영역(211,212,213,214)이 8 비트로 이루어지고, 16 비트의 피연산 데이터가 하위 제1 가산 영역(211)와 상위 제1 가산 영역(212)에 분리 입력된 경우, 그 사이의 제2 가산 영역(221)은 하위 제1 가산 영역(211)의 가산 연산에서 발생한 캐리 신호를 전달하기 위해 [0,1] 또는 [1,0]의 값이 입력될 수 있다.
한편, 하위 제1 가산 영역과 상위 제1 가산 영역에 서로 다른 피연산 데이터가 동시에 입력된 경우에는 연산의 종류가 가산 연산이면 그 사이의 제2 가산 영역에는 캐리 신호의 전달을 차단하기 위해 [0,0]이 입력되며, 연산의 종류가 감산 연산이면 2의 보수를 취하기 위한 '1'값을 가산하기 위해 [1,1]이 입력될 수 있다.
예컨대, 16 비트의 제1 피연산 데이터가 8 비트로 이루어진 두 개의 제1 가산 영역(211,212)에 분리 입력되고, 16 비트의 제2 피연산 데이터가 나머지 두 개의 제1 가산 영역(213,214)에 분리 입력된 경우, 연산의 종류가 가산 연산이면 제1 피연산 데이터가 입력된 제1 가산 영역(212)과 제2 피연산 데이터가 입력된 제1 가산 영역(213) 사이의 제2 가산 영역(222)에는 캐리 신호 전달을 차단하기 위해 [0,0]의 값이 입력될 수 있다. 만약, 연산의 종류가 감산 연산이면, 그 제2 가산 영역(222)에는 '1'값 가산을 위해 [1,1]이 입력될 수 있다.
가산기(200)는 도 2에 도시된 바와 같이 각 제2 가산 영역(221,222,223)에 대응되어 피연산 데이터의 타입 및 연산의 종류에 기초한 제어 데이터를 선택 입력하는 제2 멀티 플렉서(241,242,243)를 더 포함할 수 있다. 예를 들어, 어느 하나의 제2 멀티 플렉서(241)는 연산의 종류 즉, 가산 연산인지 또는 감산 연산인지와 인접하는 제1 가산 영역(211,212)에 입력된 피연산 데이터의 타입, 즉 하나의 데이터가 분리 입력된 경우인지 두 개의 서로 다른 데이터가 입력된 경우인지에 따라 0과 1의 비트값을 선택적으로 입력한다.
도 4a 내지 도 4d는 도 2의 실시예에 따른 가산기(200)의 가감 연산의 일 예로서, 설명의 편의를 위해 가산기(200)는 2 비트로 이루어진 4개의 제1 가산 영역(211,212,213,214) 과, 1 비트로 이루어진 3개의 제2 가산 영역(221,222,223)을 포함하는 것으로 가정한다.
도 4a는 2 비트 데이터 타입을 가진 제1 피연산 데이터(a1,b1)와, 제2 피연산 데이터(a2,b2)의 가산 연산을 동시에 수행하는 것을 예시한 것이다.
입력되는 각 피연산 데이터의 타입이 2 비트 길이를 가지므로, 상위 제1 가산 영역(212)에는 제1 피연산 데이터(a1,b1)가 순차적으로 입력된다. 이때, 연산의 종류는 가산 연산이므로 제1 멀티플렉서(232)는 제1 피연산 데이터(a1,b1) 중에 나중에 입력되는 제2 데이터(b1)를 그대로 비반전 입력한다. 마찬가지로, 하위 제1 가산 영역(211)에는 제2 피연산 데이터(a2,b2)가 입력되고, 제1 멀티플렉서(231)는 가산 연산이므로 제2 데이터(b2)를 비반전 입력한다.
또한, 그 사이의 제2 가산 영역(221)에는 하위 제1 가산 영역(211)에서 발생하는 캐리 신호의 전달을 차단하기 위한 [0,0]의 제어 데이터가 입력된다. 그 제2 가산 영역(221)에 대응되는 제2 멀티 플렉서(241)는 인접하는 하위 제1 가산 영역(211)과 상위 제1 가산 영역(212)에 입력된 데이터가 서로 다른 두 개의 데이터이고, 연산의 종류가 가산 연산이므로 0과 0을 순차적으로 선택 입력한다.
하위 제1 가산 영역(211)은 입력된 제1 피연산 데이터를 가산하여 그 결과로서 '00'을 출력하고, '1'의 캐리 신호를 발생시킨다. 캐리 신호는 제2 가산 영역(221)에 전달되고 제2 가산 영역(221)은 캐리 신호를 고려하여 입력된 제어 데이터를 가산하여 '1'의 결과를 출력하고, 캐리 신호를 발생하지 않는다. 상위 제1 가산 영역(212)은 제2 가산 영역(221)에서 전달된 캐리 신호가 없기 때문에 그 가산 결과로서 '11'을 출력한다. 최종적으로, 제2 가산 영역의 결과는 버리고 하위 제1 가산 영역(211)과 상위 제1 가산 영역(212)의 결과만을 최종 결과로서 취하여 제1 피연산 데이터의 가산 결과 '11'과 제2 피연산 데이터의 가산 결과 '00'을 얻을 수 있다.
도 4b는 4 비트 데이터 타입을 가진 피연산 데이터(a,b)의 가산 연산을 수행하는 것을 예시한 것이다.
입력되는 피연산 데이터의 타입이 4 비트 길이를 가지므로, 하위 제1 가산 영역(211)과 상위 제1 가산 영역(212)에 2 비트씩 분리되어 입력된다. 이때, 연산의 종류는 가산 연산이므로 대응되는 제1 멀티플렉서(231,232)는 제1 피연산 데이터(a,b) 중에 나중에 입력되는 제2 데이터(b)를 그대로 비반전 입력한다.
그 사이의 제2 가산 영역(221)에는 하위 제1 가산 영역(211)에서 발생하는 캐리 신호를 전달하기 위한 [1,0]의 제어 데이터가 입력된다. 제2 가산 영역(221)에 대응되는 제2 멀티 플렉서(241)는 인접하는 하위 제1 가산 영역(211)과 상위 제1 가산 영역(212)에 입력된 데이터가 하나의 데이터이고, 연산의 종류가 가산 연산이므로 1과 0을 순차적으로 선택 입력한다.
하위 제1 가산 영역(211)은 입력된 피연산 데이터를 가산하여 그 결과로서 '00'을 출력하고, '1'의 캐리 신호를 발생시킨다. 캐리 신호는 제2 가산 영역(221)에 전달되고 제2 가산 영역(221)은 캐리 신호를 고려하여 입력된 제어 데이터를 가산하여 '0'의 결과를 출력하고, '1'의 캐리 신호를 발생한다. 상위 제1 가산 영역(212)은 제2 가산 영역(221)에서 전달된 캐리 신호를 기초로 입력된 데이터를 가산하여 그 가산 결과로서 '00'을 출력한다. 최종적으로, 제2 가산 영역(221)의 결과는 버리고 하위 제1 가산 영역(211)과 상위 제1 가산 영역(212)의 결과만을 취하여 피연산 데이터의 가산 결과 '0000'을 얻을 수 있다.
도 4c는 2 비트 데이터 타입을 가진 제1 피연산 데이터(a1,b1)와, 제2 피연산 데이터(a2,b2)의 감산 연산을 동시에 수행하는 것을 예시한 것이다.
도 4a와 마찬가지로 각 피연산 데이터의 타입이 2 비트 길이를 가지므로, 상위 제1 가산 영역(212)과 하위 제1 가산 영역(211)에는 각각 제1 피연산 데이터(a1,b1)와 제2 피연산 데이터(a2,b2)가 입력된다. 이때, 연산의 종류가 감산 연산이므로 제1 멀티플렉서(231,232)는 나중에 입력되는 제2 데이터(b1,b2)에 대한 반전 입력을 선택하여 대응하는 하위 제1 가산 영역(211)과 상위 제1 가산 영역(212)에 입력한다.
제2 멀티 플렉서(241)는 인접하는 하위 제1 가산 영역(211)과 상위 제1 가산 영역(212)에 입력된 데이터가 서로 다른 두 개의 데이터이고, 연산의 종류가 감산 연산이므로 대응되는 제2 가산 영역(221)에 상위 제1 가산 영역(212)의 결과에 '1' 값을 가산하기 위한 제어 데이터 [1,1]을 입력한다. 이때, 하위 제1 가산 영역도 감산 연산이 수행되므로 연산 결과에 가산될 '1'값을 입력해주는 것을 전제로 한다.
하위 제1 가산 영역(211)은 입력된 '1' 값을 고려하여 제1 피연산 데이터를 가산하여 그 결과로서 '10'을 출력하고, '1'의 캐리 신호를 발생시킨다. 캐리 신호는 제2 가산 영역(221)에 전달되고 제2 가산 영역(221)은 입력된 제어 데이터 1,1과 전달된 캐리 신호를 고려하여 '1'의 결과를 출력하고, '1'의 캐리 신호를 발생한다. 상위 제1 가산 영역(212)은 제2 가산 영역(221)에서 전달된 캐리 신호를 고려하여 그 가산 결과로서 '11'을 출력한다. 최종적으로, 제2 가산 영역(221)의 결과는 버리고 하위 제1 가산 영역(211)과 상위 제1 가산 영역(212)의 결과만을 최종 결과로서 취하여 제1 피연산 데이터의 감산 결과 '11'과 제2 피연산 데이터의 감산 결과 '10'을 얻을 수 있다.
도 4d는 4 비트 데이터 타입을 가진 피연산 데이터(a,b)의 감산 연산을 수행하는 것을 예시한 것이다.
피연산 데이터의 타입이 4 비트 길이를 가지므로, 하위 제1 가산 영역(211)과 상위 제1 가산 영역(212)에 2 비트씩 분리되어 입력된다. 이때, 연산의 종류는 감산 연산이므로 대응되는 제1 멀티플렉서(231,232)는 제1 피연산 데이터(a,b) 중에 나중에 입력되는 제2 데이터(b)를 반전 입력한다.
제2 멀티 플렉서(241)는 인접하는 하위 제1 가산 영역(211)과 상위 제1 가산 영역(212)에 입력된 데이터가 하나의 데이터이므로 그 사이의 제2 가산 영역(212)에는 제어 데이터로 [1,0]을 입력한다. 이때, 하위 제1 가산 영역(211)에는 2의 보수를 취하기 위한 '1' 값 가산을 위하여 '1'을 추가로 입력해 주는 것을 전제로 한다.
하위 제1 가산 영역(211)은 피연산 데이터와 추가로 입력된 '1'값을 가산하여 그 결과로서 '10'을 출력하고, '1'의 캐리 신호를 발생시킨다. 캐리 신호는 제2 가산 영역(221)에 전달되고 제2 가산 영역(221)은 캐리 신호를 고려하여 입력된 제어 데이터(1,0)를 가산하여 '0'의 결과를 출력하고, '1'의 캐리 신호를 발생한다. 상위 제1 가산 영역(212)은 제2 가산 영역(221)에서 전달된 캐리 신호와 입력된 데이터를 가산하여 그 가산 결과로서 '11'을 출력한다. 최종적으로, 제2 가산 영역(221)의 결과는 버리고 하위 제1 가산 영역(211)과 상위 제1 가산 영역(212)의 결과만을 취하여 피연산 데이터의 가산 결과 '1110'을 얻을 수 있다.
개시된 실시예에 따르면, 가산기(200)는 캐리 선택을 위한 다수의 멀티플렉서를 필요로 하지 않으며, 다양한 데이터 타입을 지원하기 위해 복수의 가산기를 병렬로 연결할 필요가 없이 단일의 가산기를 통해 복수의 데이터 타입을 지원할 수 있으므로 처리 성능 및 면적의 효율성을 증가시킬 수 있다.
도 5는 일 실시예에 따른 복수 데이터 타입의 가감 연산 지원 방법의 흐름도이다. 도 5를 참조하여, 도 2의 실시예에 따른 가산기(200)를 이용한 복수 데이터 타입의 가감 연산 지원 방법의 일 실시예를 설명한다.
먼저, 가산기(200)는 피연산 데이터 중의 제1 데이터가 하나 이상의 제1 가산 영역(211,212,213,214)에 소정 비트 단위로 입력한다(단계 511). 피연산 데이터는 데이터의 타입에 따라 하나의 제1 가산 영역에 입력되거나, 둘 이상의 제1 가산 영역에 분리되어 입력될 수 있다.
그 다음, 가산기(200)의 제1 멀티플렉서(231,232,233,234)는 연산의 종류를 판단하고(단계 512), 연산의 종류가 감산 연산이 아니면 피연산 데이터 중의 제2 데이터를 비반전하여 그대로 입력하고(단계 513), 감산 연산이면 반전 입력한다(단계 514).
그 다음, 가산기(200)의 제2 멀티플렉서(241,242,243)는 각각 대응하는 제2 가산 영역(221,222,223)에 인접하는 제1 가산 영역(211,212,213,214)에 입력된 피연산 데이터를 확인하고(단계 515), 피연산 데이터의 타입이 소정 비트보다 커서 인접하는 제1 가산 영역(211,212,213,214)에 분리되어 입력되었는지를 판단한다(단계 516).
판단 결과(단계 516) 하나의 데이터가 분리되어 입력된 경우 그 사이의 제2 가산 영역에는 하위 제1 가산 영역에서 발생된 캐리 신호를 상위 제1 가산 영역으로 전달하기 위한 제어 비트인 [1,0] 또는 [0,1]을 입력할 수 있다(단계 517).
판단 결과(단계 516) 두 개의 서로 다른 데이터가 입력된 경우 연산의 종류를 판단하고(단계 518), 감산 연산이면 그 사이의 제2 가산 영역에는 상위 제1 가산 영역의 가산 결과에 '1'값 가산을 위한 제어 데이터 [1,1]을 입력한다(단계 519). 판단 결과(단계 518) 가산 연산인 경우 하위 제1 가산 영역의 캐리 신호가 상위 제1 가산 영역으로 전달되는 것을 차단하기 위한 제어 데이터인 [0,0]을 입력할 수 있다(단계 520).
가산기(200)는 제1 가산 영역과 제2 가산 영역에 입력된 데이터를 이용하여 가산 연산을 수행한 후, 제2 가산 영역의 출력 결과는 버리고 제1 가산 영역의 결과만을 취하면 최종적으로 가산 또는 감산 연산의 결과를 얻을 수 있다.
한편, 본 실시 예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
200: 가산기(200) 210: 가산부
211,212,213,214: 제1 가산 영역 221,222,223: 제2 가산 영역
231,232,233,234: 제1 멀티플렉서 241,242,243: 제2 멀티플렉서

Claims (18)

  1. 최대 n 비트 데이터 타입의 가감 연산을 지원하는 가산기에 있어서,
    상기 n 비트 데이터 중 소정 비트 단위의 피연산 데이터가 입력되는 복수의 제1 가산 영역; 및
    상기 피연산 데이터의 타입 및 연산의 종류에 기초한 제어 데이터가 입력되는 복수의 제2 가산 영역; 및
    상기 복수의 제2 가산 영역에 각각 연결되는 복수의 제2 멀티플렉서를 포함하고,
    상기 제2 가산 영역 각각은 상기 복수의 제1 가산 영역 중 인접하는 2개의 제1 가산 영역의 사이에 배치되고,
    상기 각각의 제2 멀티플렉서는, 인접하는 2개의 제1 가산 영역에 입력된 피연산 데이터의 타입 및 연산의 종류를 기초로, 상기 인접한 제1 가산 영역 사이에 배치된 제2 가산 영역에 제어 데이터를 선택 입력하는 가산기.
  2. 제1항에 있어서,
    상기 소정 비트 단위는 상기 가산기에서 연산을 처리할 수 있는 상기 최대 n 비트보다 작은 최소 비트 단위인 가산기.
  3. 제1항에 있어서,
    상기 피연산 데이터는 그 데이터의 타입에 따라 하나 이상의 제1 가산 영역에 소정 비트 단위로 입력되는 가산기.
  4. 제1항에 있어서,
    상기 피연산 데이터 중 나중에 입력되는 데이터를 연산의 종류를 기초로 반전 또는 비반전 선택 입력하는 복수의 제1 멀티플렉서;를 더 포함하는 가산기.
  5. 제1항에 있어서, 상기 제어 데이터는
    하위 제1 가산 영역의 캐리 신호를 상위 제1 가산 영역으로 전달 또는 차단하도록 제어하거나, 연산의 종류가 감산 연산인 경우 2의 보수를 취하기 위한 '1' 값을 가산하도록 제어하는 가산기.
  6. 제5항에 있어서,
    하위 제1 가산 영역과 상위 제1 가산 영역에 하나의 피연산 데이터가 분리되어 입력된 경우 그 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 입력되는 제어 데이터는 캐리 신호를 전달하는 비트인 [0,1] 또는 [1,0]인 가산기.
  7. 제5항에 있어서,
    연산의 종류가 가산 연산이고 하위 제1 가산 영역과 상위 제1 가산 영역에 서로 다른 두 개의 피연산 데이터가 동시에 입력된 경우 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 입력되는 제어 데이터는 캐리 신호를 차단하는 비트인 [0,0]인 가산기.
  8. 제5항에 있어서,
    연산의 종류가 감산 연산이고 하위 제1 가산 영역과 상위 제1 가산 영역에 서로 다른 두 개의 피연산 데이터가 동시에 입력된 경우 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 입력되는 제어 데이터는 2의 보수를 취하기 위한 '1' 값을 가산하도록 제어하는 비트인 [1,1]인 가산기.
  9. 제1항에 있어서,
    하위 제1 가산 영역과 상위 제1 가산 영역에 입력된 피연산 데이터 및 연산의 종류를 기초로 상기 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 제어 데이터를 선택 입력하는 하나 이상의 제2 멀티플렉서;를 더 포함하는 가산기.
  10. 최대 n 비트 데이터 타입의 가감 연산을 지원하는 가산기를 이용하여 복수의 데이터 타입의 가감 연산을 지원하는 방법에 있어서,
    상기 가산기에 소정 비트 단위로 형성된 복수의 제1 가산 영역에 피연산 데이터를 입력하는 단계; 및
    상기 복수의 제1 가산 영역의 사이에 형성된 제2 가산 영역에 피연산 데이터의 타입 및 연산의 종류에 기초한 제어 데이터를 입력하는 단계;를 포함하되
    상기 제어 데이터를 입력하는 단계는
    복수의 멀티플렉서를 통하여 상기 제어 데이터를 입력하고,
    상기 제2 가산 영역 각각은 상기 복수의 제1 가산 영역 중 인접하는 2개의 제1 가산 영역의 사이에 배치되고,
    상기 각각의 멀티플렉서는, 인접하는 2개의 제1 가산 영역에 입력된 피연산 데이터의 타입 및 연산의 종류를 기초로, 상기 인접한 제1 가산 영역 사이에 배치된 제2 가산 영역에 제어 데이터를 선택 입력하는 가감 연산 지원 방법.
  11. 제10항에 있어서,
    상기 소정 비트 단위는 상기 가산기에서 연산을 처리할 수 있는 상기 최대 n 비트보다 작은 최소 비트 단위인 가감 연산 지원 방법.
  12. 제10항에 있어서,
    상기 피연산 데이터는 그 데이터의 타입에 따라 하나 이상의 제1 가산 영역에 소정 비트 단위로 입력되는 가감 연산 지원 방법.
  13. 제10항에 있어서, 상기 피연산 데이터 입력 단계는
    상기 멀티플렉서를 통해 상기 피연산 데이터 중 나중에 입력되는 데이터를 연산의 종류를 기초로 반전 또는 비반전 선택 입력하는 단계;를 포함하는 가감 연산 지원 방법.
  14. 제10항에 있어서, 상기 제어 데이터는
    하위 제1 가산 영역의 캐리 신호를 상위 제1 가산 영역으로 전달 또는 차단하도록 제어하거나, 연산의 종류가 감산 연산인 경우 2의 보수를 취하기 위한 '1' 값을 가산하도록 제어하는 데이터인 가감 연산 지원 방법.
  15. 제14항에 있어서,
    하위 제1 가산 영역과 상위 제1 가산 영역에 하나의 피연산 데이터가 분리되어 입력된 경우 그 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 입력되는 제어 데이터는 캐리 신호를 전달하는 비트인 [0,1] 또는 [1,0]인 가감 연산 지원 방법.
  16. 제14항에 있어서,
    연산의 종류가 가산 연산이고 하위 제1 가산 영역과 상위 제1 가산 영역에 서로 다른 두 개의 피연산 데이터가 동시에 입력된 경우 그 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 입력되는 제어 데이터는 캐리 신호를 차단하는 비트인 [0,0]인 가감 연산 지원 방법.
  17. 제14항에 있어서,
    연산의 종류가 감산 연산이고 하위 제1 가산 영역과 상위 제1 가산 영역에 서로 다른 두 개의 피연산 데이터가 동시에 입력된 경우 그 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 입력되는 제어 데이터는 2의 보수를 취하기 위한 '1' 값을 가산하도록 제어하는 비트인 [1,1]인 가감 연산 지원 방법.
  18. 제14항에 있어서,
    하위 제1 가산 영역과 상위 제1 가산 영역에 입력된 피연산 데이터 및 연산의 종류를 기초로 멀티 플렉서를 통해 상기 하위 제1 가산 영역과 상위 제1 가산 영역 사이의 제2 가산 영역에 제어 비트를 선택 입력하는 가감 연산 지원 방법.







KR1020130009328A 2013-01-28 2013-01-28 복수 데이터 형식을 지원하는 가산기 및 그 가산기를 이용한 복수 데이터 형식의 가감 연산 지원 방법 KR102072543B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020130009328A KR102072543B1 (ko) 2013-01-28 2013-01-28 복수 데이터 형식을 지원하는 가산기 및 그 가산기를 이용한 복수 데이터 형식의 가감 연산 지원 방법
EP14152909.9A EP2759926A1 (en) 2013-01-28 2014-01-28 Adder capable of supporting addition and subtraction
US14/166,076 US9842085B2 (en) 2013-01-28 2014-01-28 Adder capable of supporting addition and subtraction of up to n-bit data and method of supporting addition and subtraction of a plurality of data type using the adder
JP2014013824A JP6302682B2 (ja) 2013-01-28 2014-01-28 複数データ形式を支援する加算器、及びその加算器を利用した複数データ形式の加減演算支援方法
CN201410041976.3A CN103970503B (zh) 2013-01-28 2014-01-28 能够支持加法和减法的加法器和支持加法和减法的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130009328A KR102072543B1 (ko) 2013-01-28 2013-01-28 복수 데이터 형식을 지원하는 가산기 및 그 가산기를 이용한 복수 데이터 형식의 가감 연산 지원 방법

Publications (2)

Publication Number Publication Date
KR20140096588A KR20140096588A (ko) 2014-08-06
KR102072543B1 true KR102072543B1 (ko) 2020-02-03

Family

ID=50064415

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130009328A KR102072543B1 (ko) 2013-01-28 2013-01-28 복수 데이터 형식을 지원하는 가산기 및 그 가산기를 이용한 복수 데이터 형식의 가감 연산 지원 방법

Country Status (5)

Country Link
US (1) US9842085B2 (ko)
EP (1) EP2759926A1 (ko)
JP (1) JP6302682B2 (ko)
KR (1) KR102072543B1 (ko)
CN (1) CN103970503B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512724B (zh) 2015-12-01 2017-05-10 中国科学院计算技术研究所 加法器装置、数据累加方法及数据处理装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0602888B1 (en) 1992-12-18 1999-09-08 Xerox Corporation Performing arithmetic operations on data
JP2010009592A (ja) * 2008-06-27 2010-01-14 Panasonic Corp 複合加算回路アレイ及びand/or面

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1067427A (en) * 1964-08-19 1967-05-03 Soemmerda Bueromaschwerk Circuit arrangement for the parallel addition and subtraction of decimal digits
US4707800A (en) * 1985-03-04 1987-11-17 Raytheon Company Adder/substractor for variable length numbers
US5883824A (en) * 1993-11-29 1999-03-16 Hewlett-Packard Company Parallel adding and averaging circuit and method
US5943251A (en) 1996-11-18 1999-08-24 Samsung Electronics Co., Ltd. Adder which handles multiple data with different data types
KR19980041753U (ko) 1996-12-24 1998-09-25 김영귀 자동차용 전면판재의 구조
US6408320B1 (en) * 1998-01-27 2002-06-18 Texas Instruments Incorporated Instruction set architecture with versatile adder carry control
US6140839A (en) * 1998-05-13 2000-10-31 Kaviani; Alireza S. Computational field programmable architecture
KR20000044663A (ko) 1998-12-30 2000-07-15 김영환 면적 개선을 위한 가산기
US6449629B1 (en) * 1999-05-12 2002-09-10 Agere Systems Guardian Corp. Three input split-adder
US7441105B1 (en) * 2004-01-02 2008-10-21 Altera Corporation Reducing multiplexer circuitry for operand select logic associated with a processor
TWI259398B (en) * 2004-02-04 2006-08-01 Sunplus Technology Co Ltd Device and method using operation mode in processor to switch register
US20060004902A1 (en) * 2004-06-30 2006-01-05 Siva Simanapalli Reconfigurable circuit with programmable split adder
US7516173B2 (en) 2004-08-04 2009-04-07 Intel Corporation Carry-skip adder having merged carry-skip cells with sum cells
EP1927046A2 (en) * 2005-09-05 2008-06-04 Nxp B.V. Full-adder modules and multiplier devices using the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0602888B1 (en) 1992-12-18 1999-09-08 Xerox Corporation Performing arithmetic operations on data
JP2010009592A (ja) * 2008-06-27 2010-01-14 Panasonic Corp 複合加算回路アレイ及びand/or面

Also Published As

Publication number Publication date
US20140214913A1 (en) 2014-07-31
KR20140096588A (ko) 2014-08-06
US9842085B2 (en) 2017-12-12
JP6302682B2 (ja) 2018-03-28
EP2759926A1 (en) 2014-07-30
CN103970503A (zh) 2014-08-06
JP2014146336A (ja) 2014-08-14
CN103970503B (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
US20170322813A1 (en) Pipelined cascaded digital signal processing structures and methods
CN101739381B (zh) 屏障同步设备、屏障同步***以及屏障同步方法
JP7042276B2 (ja) 3つの128ビット拡張オペランドに対して融合積和演算を実行するように構成される浮動小数点ユニット、その方法、プログラム、およびシステム
US5880983A (en) Floating point split multiply/add system which has infinite precision
TWI763079B (zh) 用於浮點運算的乘法器、方法、積體電路晶片和計算裝置
JPH07210368A (ja) 算術演算の結果として生じる正および負のオーバーフローのハードウェアによる効率的な取り扱い方法
US10657442B2 (en) Deep learning accelerator architecture with chunking GEMM
US11288220B2 (en) Cascade communications between FPGA tiles
EP3283945B1 (en) Mixed-radix carry-lookahead adder architecture
CN111475392A (zh) 生成预测信息的方法、装置、电子设备和计算机可读介质
KR102072543B1 (ko) 복수 데이터 형식을 지원하는 가산기 및 그 가산기를 이용한 복수 데이터 형식의 가감 연산 지원 방법
KR20230041818A (ko) 하이브리드 형식들에 대한 부동 소수점 계산
JPH08161149A (ja) シフト装置
US9164728B1 (en) Ternary DSP block
JP4255475B2 (ja) データ駆動型情報処理装置
Xiao et al. A High‐Speed Elliptic Curve Cryptography Processor for Teleoperated Systems Security
US9787290B2 (en) Resource-saving circuit structures for deeply pipelined systolic finite impulse response filters
Kodali et al. FPGA implementation of IEEE-754 floating point Karatsuba multiplier
CN116450086B (zh) 包括乘累加器的芯片、终端和控制方法
US20150039665A1 (en) Data processing apparatus and method for performing a narrowing-and-rounding arithmetic operation
JP6979076B2 (ja) 回路、システム、および組合せ結果を演算するように再設定可能な複数の再設定可能ユニットを備えたプロセッサにより実装される方法
US20080071852A1 (en) Method to perform a subtraction of two operands in a binary arithmetic unit plus arithmetic unit to perform such a method
US11455142B2 (en) Ultra-low precision floating-point fused multiply-accumulate unit
JP2007079696A (ja) 浮動小数点数のベクトル演算方法
US20210026600A1 (en) Apparatus and method for performing an index operation

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant