KR20030056012A - 비동기식 덧셈 곱셈 부동 소수점 연산기 - Google Patents

비동기식 덧셈 곱셈 부동 소수점 연산기 Download PDF

Info

Publication number
KR20030056012A
KR20030056012A KR1020010086164A KR20010086164A KR20030056012A KR 20030056012 A KR20030056012 A KR 20030056012A KR 1020010086164 A KR1020010086164 A KR 1020010086164A KR 20010086164 A KR20010086164 A KR 20010086164A KR 20030056012 A KR20030056012 A KR 20030056012A
Authority
KR
South Korea
Prior art keywords
stage
multiplication
addition
asynchronous
normalization
Prior art date
Application number
KR1020010086164A
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 KR1020010086164A priority Critical patent/KR20030056012A/ko
Publication of KR20030056012A publication Critical patent/KR20030056012A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • 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/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • 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
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5318Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters
    • 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
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3871Asynchronous instruction pipeline, e.g. using handshake signals between stages

Abstract

본 발명은 비동기식 설계에 의해 덧셈기와 곱셈기가 결합된 형태를 갖도록 하여 클럭 스큐에 의한 문제 발생을 억제하고 모듈화 특성이 개선된 비동기식 덧셈 곱셈 부동 소수점 연산기에 관한 것으로, 데이터 A,B,C를 입력하는 데이터 레지스터;booth 알고리듬을 이용하여 24비트 곱셈 A*C를 수행하고 A*C의 부분곱인 PPs 지수의 차이를 비교하여 연산자 B의 가수를 캐리 선택 덧셈기(CSA)로 얼라인시키는 웰라스 트리부를 포함하는 곱셈 스테이지;상기 곱셈 스테이지의 출력단에 구성되에서 생성된 최종의 총합(sum),캐리(carry),정렬되는 B의 가수중에 A*C의 결과값보다 자리수가 높은 값을 각각 저장하는 sum 레지스터,carry 레지스터,얼라인 레지스터;상기 곱셈 스테이지의 출력단의 레지스터들에 저장된 데이터에 대해 가산 연산을 수행하고 정규화를 위해 가산 연산의 결과값에 대해 LZD를 수행하는 덧셈 스테이지;상기 덧셈 스테이지의 결과값을 정규화하고,하드웨어가 허용하는 출력값 이하의 자리수에 대하여 반올림을 수행한후 결과값을 출력하는 정규화 및 반올림 스테이지;상기 다발 데이터 코딩 방식 및 4 위상 시그널링 프로토콜을 사용하여 각 스테이지의 연산과정을 비동기식으로 제어하는 비동기 제어부를 포함한다.

Description

비동기식 덧셈 곱셈 부동 소수점 연산기{Asynchronous multiply Add Fused Floating Point Unit}
본 발명은 부동 소수점 연산기에 관한 것으로, 구체적으로 비동기식 설계에의해 덧셈기와 곱셈기가 결합된 형태를 갖도록 하여 클럭 스큐에 의한 문제 발생을 억제하고 모듈화 특성이 개선된 비동기식 덧셈 곱셈 부동 소수점 연산기에 관한 것이다.
통상적으로 부동소수점 연산기(floating point unit)는 그래픽 가속기(graphic accelerator), 디지탈 신호 처리기(digital signal processor) 및 고성능을 요구하는 컴퓨터 등에 필수적으로 사용되고 있다.
최근들어 반도체 기술분야의 발전으로 칩의 집적도가 증가함에 따라 부동소수점 연산기를 중앙처리장치와 함께 한 칩에 내장할 수 있게 함으로써 부동소수점 연산기는 주 연산기의 중요한 요소로 등장하고 있다.
이하에서 종래 기술의 동기식 덧셈 곱셈 부동 소수점 연산기에 관하여 설명한다.
도 1은 종래 기술의 동기식 덧셈 곱셈 부동 소수점 연산기의 구성 블록도이다.
곱셈 및 누산 연산은 다른 값 A 및 B의 곱으로부터 하나의 값 C를 더하거나 뺌으로써 세개의 값 A, B 및 C을 결합한다.
곱셈기와 가산기를 구비하는 산술 회로(MAC)는 개별적인 단계로 이와 같은 곱셈 및 누산 연산을 수행할 수 있어, 곱셈기를 이용하여 값 A 및 B를 곱하고, 그 결과를 라운드한 다음, 상기 가산기를 이용하여 곱에 값 C를 더하거나 또는 상기 곱으로부터 값 C를 뺀다.
선택적으로, 휴즈된(fused) 곱셈 및 누산 장치는 곱셈과 누산을 병렬로 수행하고, 보통 MAC 연산의 처리 성능(지연과 정확도)을 향상시키기 위해 곱의 라운딩을 생략한다.
그리고 부동소수점 곱셈 연산에서 분수부의 처리는 곱셈 과정에서 생성된 캐리(carry)와 합(sum)의 덧셈(addition), 정규화(normalization), 반올림(rounding)의 순서로 이루어지는 것이 있고, 곱셈, 덧셈, 반올림, 정규화의 4과정으로 이루어지는 것이 있다.
도 1은 3단의 파이프 라인 구조(multiply, add, normalize/round 부)를 갖고 각단은 워스트 케이스 딜레이(worst case delay)를 만족하는 전역 클럭(global clock)에 의해 동작한다.
전체 구성은 크게 곱셈 스테이지(11)와 덧셈 스테이지(12) 그리고 정규화 및 반올림 스테이지(13)로 구성된다.
먼저, 데이터 A,B,C를 입력하는 데이터 레지스터(1a)(1b)(1c)가 구성되고, 곱셈 스테이지(11)는 booth 알고리듬을 이용하여 24비트 곱셈 A*C를 수행하는 부스 디코딩부(4)와, A*C의 부분곱인 PPs 지수의 차이를 비교하여 연산자 B의 가수를 캐리 선택 덧셈기(Carry Save Adder)(11)로 얼라인시키는 웰라스 트리부(5)와, 연산자 A,B,C를 받아 지수값 및 가수값을 정렬하는 정렬 제어부(2) 및 정렬 시프터(3)로 구성되고, 생성된 최종의 총합(sum)과 캐리(carry)를 각각 sum 레지스터(7e)와 carry 레지스터(7d)에 저장하고, 정렬되는 B의 가수중에 A*C의 결과값보다 자리수가 높은 값을 얼라인 B(Aligned B)레지스터(7c)에 저장한다.
여기서, Exp-a와 Exp-b의 레지스터(7a)(7b)는 지수값을 저장하는 레지스터이다.
그리고 덧셈 스테이지(12)는 곱셈 스테이지(11)의 출력단의 sum 레지스터(7e)와 carry 레지스터(7d)와 얼라인 B(Aligned B)레지스터(7c)에 저장된 데이터에 대해 가산 연산부(10)에서 가산 연산을 수행하고 정규화를 위해 가산 연산의 결과값에 대해 LZD부(9)에서 LZD(Leading Zero Detection)를 수행한다.
그리고 지수처리부(8)에서는 올바른 지수값과 가수값의 부호를 결정한다.
그리고 정규화 및 반올림 스테이지(13)에서는 덧셈 스테이지(12)에서의 결과값을 정규화 시프터(14)에서 정규화하고, 반올림 처리부(15)에서 하드웨어가 허용하는 출력값 이하의 자리수에 대하여 반올림을 수행한후, 태그 처리부(16)를 거쳐 결과값을 출력한다.
그러나 이와 같은 종래 기술의 동기식 덧셈 곱셈 부동 소수점 연산기는 다음과 같은 문제가 있다.
종래 기술의 동기식 시스템은 칩 규모의 증가와 클럭 주파수가 커짐에 따라 전역 클럭(global clock)에 의해 클럭 스큐(clock skew)라는 물리적 제약이 발생한다.
휴대 기기에 3차원 그래픽 영상처리 기술의 도입으로 인해 저전력 및 고성능의 덧셈과 곱셈 연산을 수행 가능한 설계가 요구되고 있으나, 이를 해결하는데 한계가 있다.
본 발명은 이와 같은 종래 기술의 동기식 덧셈 곱셈 부동 소수점 연산기의 문제를 해결하기 위한 것으로, 비동기식 설계에 의해 덧셈기와 곱셈기가 결합된 형태를 갖도록 하여 클럭 스큐에 의한 문제 발생을 억제하고 모듈화 특성이 개선된 비동기식 덧셈 곱셈 부동 소수점 연산기를 제공하는데 그 목적이 있다.
도 1은 종래 기술의 동기식 덧셈 곱셈 부동 소수점 연산기의 구성 블록도
도 2는 본 발명에 따른 비동기식 덧셈 곱셈 부동 소수점 연산기의 구성 블록도
도 3은 본 발명에 따른 비동기 제어부의 상세 구성도
-도면의 주요 부분에 대한 부호의 설명-
21. 곱셈 스테이지 22. 덧셈 스테이지
23. 정규화 및 반올림 스테이지 24a.24b.24c. 지수 처리부
25. 비동기 제어부
이와 같은 목적을 달성하기 위한 본 발명에 따른 비동기식 덧셈 곱셈 부동 소수점 연산기는 데이터 A,B,C를 입력하는 데이터 레지스터;booth 알고리듬을 이용하여 24비트 곱셈 A*C를 수행하고 A*C의 부분곱인 PPs 지수의 차이를 비교하여 연산자 B의 가수를 캐리 선택 덧셈기(CSA)로 얼라인시키는 웰라스 트리부를 포함하는 곱셈 스테이지;상기 곱셈 스테이지의 출력단에 구성되에서 생성된 최종의 총합(sum),캐리(carry),정렬되는 B의 가수중에 A*C의 결과값보다 자리수가 높은 값을 각각 저장하는 sum 레지스터,carry 레지스터,얼라인 레지스터;상기 곱셈 스테이지의 출력단의 레지스터들에 저장된 데이터에 대해 가산 연산을 수행하고 정규화를 위해 가산 연산의 결과값에 대해 LZD를 수행하는 덧셈 스테이지;상기 덧셈 스테이지의 결과값을 정규화하고,하드웨어가 허용하는 출력값 이하의 자리수에 대하여 반올림을 수행한후 결과값을 출력하는 정규화 및 반올림 스테이지;상기 다발 데이터 코딩 방식 및 4 위상 시그널링 프로토콜을 사용하여 각 스테이지의 연산과정을 비동기식으로 제어하는 비동기 제어부를 포함하는 것을 특징으로 한다.
이하에서 본 발명에 따른 비동기식 덧셈 곱셈 부동 소수점 연산기를 상세히 설명하면 다음과 같다.
도 2는 본 발명에 따른 비동기식 덧셈 곱셈 부동 소수점 연산기의 구성 블록도이고, 도 3은 본 발명에 따른 비동기 제어부의 상세 구성도이다.
본 발명은 전역 클럭(global clock)을 제거하여 클럭 스큐(clock skew)의 문제점을 없애고, 정적 CMOS 회로처럼 각 기능 블록의 연산이 요구될 때만 동작하도록 하여 전력 소모를 줄일 수 있도록한 것이다.
또한, 최악지연성능(worst case performance)이 아닌 평균지연성능(average case performance)을 갖도록 하여 성능 향상을 가져오며 모듈 설계가 용이하도록 한다.
본 발명에서는 고성능,저전력을 위해 비동기식 설계 방법을 이용하여 단일 명령어 곱셈, 덧셈 연산이 가능한 3단 비동기식 파이프라인 구조(micropipeline)의 AMAF(asynchronous multiply-add fused) FPU(floating-point unit) 구조를 제안한다.
또한, 본 발명의 AMAF FPU는 비동기 회로의 단점인 오버헤드를 감소시키기 위해 회로 규모가 곱셈부는 자체적으로 내부 클럭을 발생(self timed 방식)시켜 2사이클 연산을 수행한다.
본 발명은 연산부는 전형적인 MAF FPU의 3단 파이프라인 구조와 같으나, 전역 클럭(global clock)을 사용하지 않는 대신에 비동기 제어부(25)가 추가된다.
전체 구성은 크게 곱셈 스테이지(21)와 덧셈 스테이지(22) 그리고 정규화 및 반올림 스테이지(23) 및 지수 처리부(24a)(24b)(24c), 비동기 제어부(25)로 이루어진다.
먼저, 데이터 A,B,C를 입력하는 데이터 레지스터(26a)(26b)(26c)가 구성되고, 곱셈 스테이지(21)는 booth 알고리듬을 이용하여 24비트 곱셈 A*C를 수행하는 부스 셀렉터(29) 및 부스 엔코더와, A*C의 부분곱인 PPs 지수의 차이를 비교하여 연산자 B의 가수를 캐리 선택 덧셈기(Carry Save Adder;CSA)(31)로 얼라인시키는 웰라스 트리부(30)와, 연산자 A,B,C를 받아 지수값 및 가수값을 정렬하는 정렬 제어부(27) 및 정렬 시프터(28)로 구성되고, 생성된 최종의 총합(sum)과 캐리(carry)를 각각 sum 레지스터(33d)와 carry 레지스터(33c)에 저장하고, 정렬되는 B의 가수중에 A*C의 결과값보다 자리수가 높은 값을 얼라인 B(Aligned B)레지스터(33b)에 저장한다.
여기서, Exp의 레지스터(33a)는 지수값을 저장하는 레지스터이다.
그리고 덧셈 스테이지(22)는 곱셈 스테이지(21)의 출력단의 sum 레지스터(33d)와 carry 레지스터(33c)와 얼라인 B(Aligned B)레지스터(33b)에 저장된 데이터에 대해 가산 연산부(34)에서 가산 연산을 수행하고 정규화를 위해 가산 연산의 결과값에 대해 LZD부(32a)(32b)에서 LZD(Leading Zero Detection)를 수행한다.
LZD(leading zero detector)는 정규화된 입력 데이터를 처리하기 때문에 최상위 54비트 내에 "1"값이 존재하므로 정규화를 위해 54비트의 입력중 상위의 연속된 "0"의 개수를 검출한다. 이때, 속도향상을 위해 상위 비트부터 28비트씩 나누어(LZDH, LZDL) 검출한다.
그리고 부호 결정부(24b)에서는 올바른 지수값과 가수값의 부호를 결정한다.
그리고 정규화 및 반올림 스테이지(23)에서는 덧셈 스테이지(22)에서의 결과값을 시프트 제어부(36)의 제어에 의해 정규화 시프터(37)에서 정규화하고, 반올림 처리부(38)에서 하드웨어가 허용하는 출력값 이하의 자리수에 대하여 반올림을 수행한후 결과값을 출력한다.
또한 지수 처리부(24c)에서는 연산에 대한 상태신호(overflow, underflow 등)를 발생시킨다.
이와 같은 구조를 갖는 비동기식 덧셈 곱셈 부동 소수점 연산기는 모든 과정의 제어가 비동기 제어부(25)에 의해 결정된다.
비동기 제어부(25)의 구조는 도 3에서와 같이, 정규화 및 반올림 스테이지 제어부(41),덧셈 스테이지 제어부(42),곱셈 스테이지 제어부(43)로 크게 구성된다.
곱셈 스테이지(21)에 새로운 데이터(A, B, C)의 도착을 알리는 연산 요청 신호(Req(in))를 입력시키고, 이전의 연산 결과가 덧셈 스테이지(22)로 전송되었음을 알리는 신호(ack(1))가 발생되면, 곱셈 스테이지(21)단으로 데이터 로딩 신호(Lt(1), Ltn(1))발생시켜 데이터를 받아들이도록 하고, 연산이 완료되면 덧셈 스테이지(22)로 연산 결과의 전송을 알리는 신호(mld)를 발생시키는 곱셈 스테이지 제어부(43)와, mld 신호와 ack(2) 신호를 덧셈 스테이지(22)로 출력하여 곱셈 스테이지(21)로 부터 새로운 데이터를 받아들이도록 제어하고, 연산이 완료되면 연산완료 신호(req(3))를 정규화 및 반올림 스테이지(23)로 발생시키는 덧셈 스테이지 제어부(42)와, 정규화 및 반올림 스테이지(23)에서 새로운 데이터를 받아 처리되도록 새로운 데이터의 입력을 알리는 신호(req(3))와 ack(in) 신호를 발생시키고, 연산이 완료되면 완료 신호(req(out))를 발생시키는 정규화 및 반올림 스테이지 제어부(41)로 구성된다.
본 발명에 따른 AMAF FPU의 연산식은 다음과 같다.
T=(A ×C)+B 이고, 곱셈과 덧셈의 연산을 수행하기 위해 3개의 입력 연산자를 받아들이며, 곱셈 연산만을 수행 T=(A ×C)하는 경우에는 B 연산자의 값을 "0"으로, 덧셈연산( T=A+B)만을 수행하는 경우에는 C의 연산자의 값을 "1"로 준다.
데이터 전송은 C 게이트와 Q 소자를 사용하여 4상 신호 프로토콜을 이용한다.
그리고 다발 데이터 전송방식으로 지연소자는 인버터와 커패시터로 구성한다.
데이터 형식은 IEEE754 단정밀도 부동소수점 표준안의 32비트(1비트 부호, 8비트 지수, 32비트 가수)이다.
그리고 곱셈 스테이지는 자체 내부 클럭을 발생시켜 내부 클럭 2사이클 동안 연산을 수행하고, Radix-4 Booth 알고리즘을 사용하여 24비트 unsigned 곱셈연산을 수행한다.
그리고 속도 향상을 위해 Brent-Kung 가산기를 사용하고, Round to nearest even 반올림 모드를 사용하여 정확도를 높인다.
이와 같은 본 발명에 따른 비동기식 덧셈 곱셈 부동 소수점 연산기는 다음과 같은 효과가 있다.
첫째, 비동기식 설계에 의해 연산 처리 블록들이 제어되도록 하고 단일 명령어로 A+B, A ×C, 그리고 T=(A ×C)+B의 연산을 수행하므로 속도향상을 가져온다.
둘째, 비동기 시스템으로 전역클럭을 사용하지 않기 때문에 클럭 스큐의 발생을 억제한다.
셋째, 비동기 시스템으로 각 기능 블록은 연산이 요구될때만 동작하기 때문에 동기식 시스템에 비해 전력 소모를 줄일 수 있다.
넷째, 비동기 시스템으로 각 기능 블록들은 요구되는 연산시간만을 필요로 하기 때문에 동기식 시스템의 최악지연 성능이 아닌, 평균지연성능을 가진다.
다섯째, 비동기 모듈은 전역 클럭을 사용하지 않기 때문에 동기식 모듈과는 달리, 전체적인 타이밍 검증의 제약을 받지 않아 모듈화 설계가 용이하다.

Claims (5)

  1. 데이터 A,B,C를 입력하는 데이터 레지스터;
    booth 알고리듬을 이용하여 24비트 곱셈 A*C를 수행하고 A*C의 부분곱인 PPs 지수의 차이를 비교하여 연산자 B의 가수를 캐리 선택 덧셈기(CSA)로 얼라인시키는 웰라스 트리부를 포함하는 곱셈 스테이지;
    상기 곱셈 스테이지의 출력단에 구성되에서 생성된 최종의 총합(sum),캐리(carry),정렬되는 B의 가수중에 A*C의 결과값보다 자리수가 높은 값을 각각 저장하는 sum 레지스터,carry 레지스터,얼라인 레지스터;
    상기 곱셈 스테이지의 출력단의 레지스터들에 저장된 데이터에 대해 가산 연산을 수행하고 정규화를 위해 가산 연산의 결과값에 대해 LZD를 수행하는 덧셈 스테이지;
    상기 덧셈 스테이지의 결과값을 정규화하고,하드웨어가 허용하는 출력값 이하의 자리수에 대하여 반올림을 수행한후 결과값을 출력하는 정규화 및 반올림 스테이지;
    상기 다발 데이터 코딩 방식 및 4 위상 시그널링 프로토콜을 사용하여 각 스테이지의 연산과정을 비동기식으로 제어하는 비동기 제어부를 포함하는 것을 특징으로 하는 비동기식 덧셈 곱셈 부동 소수점 연산기.
  2. 제 1 항에 있어서, 덧셈 스테이지에서의 LZD(leading zero detector)는 최상위 54비트 내에 "1"값이 존재하는 것을 고려하여 정규화를 위해 54비트의 입력중 상위의 연속된 "0"의 개수를 검출하고, 속도향상을 위해 상위 비트부터 28비트씩 나누어(LZDH, LZDL) 검출하는 것을 특징으로 하는 비동기식 덧셈 곱셈 부동 소수점 연산기.
  3. 제 1 항에 있어서, 비동기 제어부는 곱셈 스테이지에 새로운 데이터(A, B, C)의 도착을 알리는 연산 요청 신호(Req(in)),이전의 연산 결과의 전송 완료 신호(ack(1))를 발생하면 데이터 로딩 신호(Lt(1), Ltn(1))발생시켜 데이터를 받아들이도록 하고, 연산이 완료되면 덧셈 스테이지로 연산 결과의 전송을 알리는 신호(mld)를 발생시키는 곱셈 스테이지 제어부와,
    곱셈 스테이지로 부터 새로운 데이터를 받아들이도록 제어하고, 연산이 완료되면 연산 완료 신호(req(3))를 정규화 및 반올림 스테이지로 발생시키는 덧셈 스테이지 제어부와,
    정규화 및 반올림 스테이지에서 새로운 데이터를 받아 처리되도록 새로운 데이터의 입력을 알리는 신호(req(3))와 ack(in) 신호를 발생시키고, 연산이 완료되면 완료 신호(req(out))를 발생시키는 정규화 및 반올림 스테이지 제어부로 구성되는 것을 특징으로 하는 비동기식 덧셈 곱셈 부동 소수점 연산기.
  4. 제 1 항에 있어서, T=(A ×C)+B 이고, 곱셈과 덧셈의 연산을 수행하기 위해 3개의 입력 연산자를 받아들이며, 곱셈 연산만을 수행 T=(A ×C)하는 경우에는 B연산자의 값을 "0"으로, 덧셈연산( T=A+B)만을 수행하는 경우에는 C의 연산자의 값을 "1"로 주는 것을 특징으로 하는 비동기식 덧셈 곱셈 부동 소수점 연산기.
  5. 제 1 항에 있어서, 곱셈 스테이지는 자체 내부 클럭을 발생시켜 내부 클럭 2사이클 동안 연산을 수행하고, Radix-4 Booth 알고리즘을 사용하여 24비트 unsigned 곱셈 연산을 수행하는 것을 특징으로 하는 비동기식 덧셈 곱셈 부동 소수점 연산기.
KR1020010086164A 2001-12-27 2001-12-27 비동기식 덧셈 곱셈 부동 소수점 연산기 KR20030056012A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010086164A KR20030056012A (ko) 2001-12-27 2001-12-27 비동기식 덧셈 곱셈 부동 소수점 연산기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010086164A KR20030056012A (ko) 2001-12-27 2001-12-27 비동기식 덧셈 곱셈 부동 소수점 연산기

Publications (1)

Publication Number Publication Date
KR20030056012A true KR20030056012A (ko) 2003-07-04

Family

ID=32214235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010086164A KR20030056012A (ko) 2001-12-27 2001-12-27 비동기식 덧셈 곱셈 부동 소수점 연산기

Country Status (1)

Country Link
KR (1) KR20030056012A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100929423B1 (ko) * 2002-10-11 2009-12-03 매그나칩 반도체 유한회사 부동소수점의 복합 연산 장치
CN102929575A (zh) * 2012-10-29 2013-02-13 电子科技大学 一种模乘法器
CN102955682A (zh) * 2012-11-14 2013-03-06 电子科技大学 模乘法器
KR101454802B1 (ko) * 2010-10-22 2014-11-03 한국전자통신연구원 비동기식 파이프라인 시스템, 스테이지 및 데이터 전송 방법
CN117891430A (zh) * 2024-03-18 2024-04-16 中科亿海微电子科技(苏州)有限公司 一种应用于fpga嵌入式dsp的浮点乘加结构
CN117891430B (zh) * 2024-03-18 2024-05-14 中科亿海微电子科技(苏州)有限公司 一种应用于fpga嵌入式dsp的浮点乘加结构

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100929423B1 (ko) * 2002-10-11 2009-12-03 매그나칩 반도체 유한회사 부동소수점의 복합 연산 장치
KR101454802B1 (ko) * 2010-10-22 2014-11-03 한국전자통신연구원 비동기식 파이프라인 시스템, 스테이지 및 데이터 전송 방법
US9317295B2 (en) 2010-10-22 2016-04-19 Electronics And Telecommunications Research Institute Asynchronous pipeline system, stage, and data transfer mechanism
CN102929575A (zh) * 2012-10-29 2013-02-13 电子科技大学 一种模乘法器
CN102929575B (zh) * 2012-10-29 2015-04-15 电子科技大学 一种模(2n+3)乘法器
CN102955682A (zh) * 2012-11-14 2013-03-06 电子科技大学 模乘法器
CN102955682B (zh) * 2012-11-14 2015-06-10 电子科技大学 一种模(23n-2n)乘法器
CN117891430A (zh) * 2024-03-18 2024-04-16 中科亿海微电子科技(苏州)有限公司 一种应用于fpga嵌入式dsp的浮点乘加结构
CN117891430B (zh) * 2024-03-18 2024-05-14 中科亿海微电子科技(苏州)有限公司 一种应用于fpga嵌入式dsp的浮点乘加结构

Similar Documents

Publication Publication Date Title
US5027308A (en) Circuit for adding/subtracting two floating point operands
JP6001276B2 (ja) 浮動小数点加算を実行するための装置および方法
US5844830A (en) Executing computer instrucrions by circuits having different latencies
EP1857925B1 (en) Method and apparatus for decimal number multiplication using hardware for binary number operations
US5272660A (en) Method and apparatus for performing integer and floating point division using a single SRT divider in a data processor
US5010508A (en) Prenormalization for a floating-point adder
Bruguera et al. Floating-point fused multiply-add: reduced latency for floating-point addition
KR20080055985A (ko) 선택가능 준정밀도를 가진 부동―소수점 프로세서
EP2891056A1 (en) Microarchitecture for floating point fused multiply-add with exponent scaling
JPH06236257A (ja) データ・プロセッサにおいて浮動小数点実行ユニット内で後正規化を実行する方法および装置
US5111421A (en) System for performing addition and subtraction of signed magnitude floating point binary numbers
KR19980041799A (ko) 결합된 선두 1 및 선두 제로 예상기
US5548545A (en) Floating point exception prediction for compound operations and variable precision using an intermediate exponent bus
US9317478B2 (en) Dual-path fused floating-point add-subtract
Srinivasan et al. Split-path fused floating point multiply accumulate (FPMAC)
US7814138B2 (en) Method and apparatus for decimal number addition using hardware for binary number operations
US7552165B2 (en) Method and system to implement an improved floating point adder with integrated adding and rounding
US4590584A (en) Method and system for processing exponents in floating-point multiplication
US6061707A (en) Method and apparatus for generating an end-around carry in a floating-point pipeline within a computer system
Tsen et al. A combined decimal and binary floating-point multiplier
KR20030056012A (ko) 비동기식 덧셈 곱셈 부동 소수점 연산기
US7051062B2 (en) Apparatus and method for adding multiple-bit binary-strings
Li et al. Design of a fully pipelined single-precision multiply-add-fused unit
He et al. Design and implementation of a quadruple floating-point fused multiply-add unit
He et al. Multiply-add fused float point unit with on-fly denormalized number processing

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination