[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20000065394A - 실수 연산기 - Google Patents

실수 연산기 Download PDF

Info

Publication number
KR20000065394A
KR20000065394A KR1019990011618A KR19990011618A KR20000065394A KR 20000065394 A KR20000065394 A KR 20000065394A KR 1019990011618 A KR1019990011618 A KR 1019990011618A KR 19990011618 A KR19990011618 A KR 19990011618A KR 20000065394 A KR20000065394 A KR 20000065394A
Authority
KR
South Korea
Prior art keywords
output
gate
bit
value
counter
Prior art date
Application number
KR1019990011618A
Other languages
English (en)
Other versions
KR100331846B1 (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 KR1019990011618A priority Critical patent/KR100331846B1/ko
Priority to US09/541,679 priority patent/US6571264B1/en
Priority to JP2000101140A priority patent/JP2000311079A/ja
Publication of KR20000065394A publication Critical patent/KR20000065394A/ko
Application granted granted Critical
Publication of KR100331846B1 publication Critical patent/KR100331846B1/ko

Links

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
    • 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/74Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
    • 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/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/012Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising in floating-point computations
    • 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
    • G06F7/485Adding; Subtracting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 연산 속도를 증가시키기 위한 실수 연산기에 관한 것으로, 두 입력 값의 사인(Sign) 값을 비교하여 그에 따른 제어신호를 출력하는 콘트롤부와, 상기 두 입력 값의 지수 값의 차를 구하고 지수 값이 큰 유효숫자는 그대로 출력하고 지수 값이 작은 유효 숫자를 지수 자 만큼 쉬프팅하여 출력하는 유효숫자 출력부와, 상기 콘트롤부의 제어에 의해 두 입력 값의 지수 값 중 큰 값을 선택하여 출력하는 제 1 멀티플렉서와, 감산 연산시 상기 콘트롤부의 제어신호에 따라 상기 유효숫자 출력부의 지수 값이 큰 유효숫자를 반전시키는 제 1 비트 인버터와, 쉬프팅된 지수 값이 작은 유효 숫자와 제 1 비트 인버터에서 출력되는 유효숫자를 가산하는 가산기와, 상기 유효숫자 출력부의 지수 값이 큰 유효숫자와 쉬프팅된 유효숫자로 부터 제로(zero, "0")의 연속성을 예측하는 리딩 제로 예측부와, 상기 리딩 제로 예측부의 출력으로 부터 제로 값을 카운팅하는 리딩 제로 카운터와, 상기 가산기에서 출력되는 값을 특정 비트 수로 저장하기 위해 나머지 자릿수를 판단하여 올림수를 출력하는 라운딩 콘트롤부와, 상기 가산기에서 출력되는 값을 상기 리딩 제로 카운터에서 출력되는 자릿수 만큼 왼쪽으로 자리 옮김을 수행하는 레프트 쉬프터와, 상기 가산기에서 가산된 값이 음수이면 상기 레프트 쉬프터에서 출력되는 값을 2의 보수로 처리하는 제 2 비트 인버터와, 상기 라운딩 콘트롤부의 신호에 따라 상기 제 2 비트 인버터에서 출력되는 값에 1 증가시켜 최종적으로 유효숫자 값을 연산하는 인크리먼터와, 상기 인크리먼터에서 출력되는 유효숫자 값이 최대값일 때 자릿수를 보상하기 위해 쉬프팅하는 보상 쉬프터와, 상기 제 1 멀티플렉서에서 출력되는 값과 상기 리딩 제로 카운터에서 출력되는 값을 감산하는 지수 감산기와, 상기 지수 감산기의 출력신호에서 1 비트를 감소하여 지수 값을 최종 출력하는 디크리먼터를 포함하여 구성된 것이다.

Description

실수 연산기{floating addition}
본 발명은 실수 연산기에 관한 것으로, 특히 연산 속도를 증가시키기 위해 리딩 예측 회로를 이용한 실수 연산기에 관한 것이다.
일반적으로(background art) 실수 연산기에서 연산을 위해 입력되는 각 입력 값은 가감("+" 또는 "-")을 나타내는 사인블럭(Sign)과, 값의 크기를 나타내기 위한 지수 값을 나타내는 지수블럭(Exponent)과, 실제 값을 나타내는 유효숫자 블록(significant)으로 구성된다. 예를 들어, 입력 값이 0.11 × 28라고 가정하면, 지수는 "8"이고, 유효숫자는 "11"가 된다.
따라서, 플로우팅 에디션(floating addition)인 경우에는 두 개의 지수 값을 비교하여 작은 지수값을 갖는 유효숫자를 라이트 쉬프팅한다음, 상기 두 개의 유효숫자를 더하고 그 결과 값에서 상위 제로(zero)의 연속된 수를 계산한다. 이는 실수의 표현시 하드웨어를 효율적으로 사용하기 위해서 유효숫자의 상위값은 항상 1로 가정했기 때문이다. 이를 표준화(normalization)라 한다.
이와 같이 표준화가 된 후의 유효숫자 값의 영역은 0.5 이상 1.0 미만 내에서 표현된다.
이와 같은 종래의 실수 연산기를 첨부된 도면을 참조하여 설명하면 다음과 같다.
도 1은 종래의 TFT-LCD 실수 연산기의 회로 구성도이고, 도 2는 종래의 리딩 제로 예측부의 상세 구성도이다.
입력 정렬기(Input aligner)(2)를 통해 입력되는 두 입력 값의 지수 값을 비교하여 그에 따른 제어신호를 출력하는 콘트롤부(1)와, 상기 콘트롤부(1)의 제어에 따라 상기 두 입력 값의 지수 값중 큰 지수 값을 출력하는 제 1 멀티플렉서(3)와, 상기 콘트롤부(1)의 제어신호에 의해 두 입력 값의 지수 값이 작은 수의 유효숫자가 제 3 멀티플렉서에서 선택되도록 상기 두 입력 값의 유효숫자를 각각 입력하여 하나를 출력하는 제 2, 제 3 멀티플렉서(4, 5)와, 상기 두 입력 값의 지수 값의 차를 계산하여 출력하는 지수 연산부(exponent difference)(6)와, 자릿수를 맞추기 위하여 상기 제 3 멀티플렉서(5)에서 출력되는 유효숫자를 상기 지수 연산부(6)의 출력 신호에 의해 상기 지수 차이 만큼 오른쪽으로 쉬프팅하는 라이트 쉬프터(7)와, 상기 제 2, 제 3 멀티플렉서(4)(5)에서 출력되는 두 입력 값의 유효숫자를 비교하여 출력하는 유효숫자 비교기(8)와, 감산 연산을 위해 하기의 가산기의 입력단에 "2"의 보수를 만들기 위해 상기 유효숫자 비교기(8)의 신호에 따라 상기 라이트 쉬프터(7) 및 제 2 멀티플렉서(4)의 출력을 반전시키는 제 1, 제 2 비트 인버터(bit inverter)(9)(10)와, 상기 제 1, 제 2 비트 인버터(9)(10)의 출력신호를 가산하는 가산기(11)와, 상기 제 1 비트 인버터(9)의 출력 또는 제 2 비트 인버터(10)의 출력으로부터 제로(zero, "0")의 연속성을 예측하는 리딩 제로 예측부(12)와, 상기 리딩 제로 예측부(12)의 출력을 카운팅하는 리딩 제로 카운터(13)와, 상기 가산기(11)에서 출력되는 값을 특정 비트 수로 저장하기 위해 나머지 자릿수를 판단하여 올림수를 출력하는 라운딩 콘트롤부(rounding control)(14)와, 상기 라운딩 콘트롤부(13)의 제어신호에 의해 저장되는 최하위 비트에 "1"를 가산하는 인크리먼터(incrementer)(17)와, 상기 가산기(11)에서 출력되는 값을 상기 리딩 제로 카운터(13)에서 출력되는 자릿수 만큼 왼쪽으로 자리 옮김을 수행하는 레프트 쉬프터(15)와, 상기 라운딩 콘트롤러(13)의 제어에의해 상기 라이트 쉬프터(7) 및 제 2 비트 인버터(10)가 동작되었는지 되지 않았는지에 따라 상기 레프트 쉬프터(15)의 출력 또는 인크리먼터(17)의 출력을 선택적으로 출력하는 선택기(18)와, 상기 선택기(18)에서 출력되는 유효숫자 값이 최대값일 때 자릿수를 보상하기 위해 쉬프팅하는 보상 쉬프터(19)와, 상기 제 1 멀티플렉서(3)에서 출력되는 값에서 상기 리딩 제로 카운터(13)에서 출력되는 값을 감산하는 지수 감산기(16)와, 입력되는 2개의 값의 사인 값에 따라 최종 출력 값의 사인 값을 지정하는 사인 콘트롤러(20)와, 상기 사인 콘트롤러(20), 지수 감산기(16) 및 보상 쉬프터(19)에서 출력되는 각 사인 값, 지수 값 및 유효숫자 값을 정렬하여 최종 출력하는 출력 정렬기(21)를 포함하여 구성된다.
여기서, 상기 리딩 제로 예측부(12)의 구성은 도 2와 같다.
즉, 2개의 입력 값을 각각 m비트로 구성된 (Am, Am-1, … Ai, Ai-1, … A1, A0), (Bm, Bm-1, … Bi, Bi-1, … B1, B0)라고 가정하면, 2 입력 값의 각각의 자릿수를 연산하도록 구성되어 있다. 따라서, 임의의 자릿수를 연산하는 구성은 동일 자릿 수의 2 입력 값(Ai, Bi)를 연산하는 낸드(NAND) 게이트(31)와, 동일 자릿 수의 2 입력 값(Ai, Bi)를 연산하는 노아(NOR) 게이트(32)와, 상기 노아 게이트(32)의 출력을 반전하는 인버터(33)와, 상기 낸드 게이트(31)의 출력과 인버터(33)의 출력을 각각 반전하여 논리 곱 연산하는 오아(OR) 게이트(34)와, 다음 자릿 수(Ai-1, Bi-1)가 노아(NOR) 연산된 신호를 반전하고 상기 오아 게이트(34)의 출력을 논리 곱 연산하여 출력하는 앤드 게이트(35)로 구성된다.
이와 같이 구성된 종래의 실수 연산기의 동작은 다음과 같다.
가감("+" 또는 "-")을 나타내는 사인블럭(Sign)과, 값의 크기를 나타내기 위한 지수 값을 나타내는 지수블럭(Exponent)과, 실제 값을 나타내는 블록 (significant)으로 구성되는 2개의 입력 값이 각각 외부의 데이터 버스를 통해 입력된다고 가정하여 설명하면 다음과 같다.
상기 콘트롤부(1)는 입력 정렬기(2)를 통해 입력되는 두 입력 값의 지수 값을 비교하여 지수 값이 큰 것과 작은 것을 구분하여 지수 값이 작은 입력 값의 유효숫자 값이 제 2, 제 3 멀티플렉서 중 제 3 멀티플렉서(5)에서 출력되도록 하고, 제 1 멀티플렉서(3)에서는 큰 지수 값이 출력되도록 제어신호를 출력한다.
따라서, 상기 콘트롤부(1)의 제어신호에 의해 제 1 멀티플렉서(3)는 큰 지수 값을 출력하고, 지수 값이 작은 수의 유효숫자를 제 2 멀티플렉서(4)에서 출력하고, 지수 값이 큰 수의 유효숫자를 제 3 멀티플렉서(5)에서 출력한다.
그리고, 상기 지수 연산부(6)는 두 입력 값의 지수 값의 차를 계산하여 출력하고, 상기 라이트 쉬프터(7)는 자릿수를 맞추기 위하여 상기 제 3 멀티플렉서(5)에서 출력되는 유효숫자를 상기 지수 연산부(6)의 출력 신호에 의해 상기 지수 차이 만큼 오른쪽으로 쉬프팅한다.
상기 유효숫자 비교기(8)는 상기 제 2, 제 3 멀티플렉서(4)(5)에서 출력되는 두 입력 값의 유효숫자를 비교하여 출력한다.
감산 연산일 경우 가산기의 입력단에 "2"의 보수를 만들기 위해, 상기 제 1 비트 인버터(9)는 상기 유효숫자 비교기(8)의 신호에 따라 상기 제 2 멀티플렉서(4)의 출력을 반전시키고, 제 2 비트 인버터(10)은 상기 유효숫자 비교기(8)의 신호에 따라 라이트 쉬프터(7)의 출력을 반전시킨다. 여기서, 감산 연산이 아닐 경우는 제 1, 제 2 비트 인버터(9, 10)는 각각의 입력 값을 반전하지 않고 그대로 패스(pass)시킨다.
상기 가산기(11)는 상기 제 1, 제 2 비트 인버터(9)(10)의 출력신호를 가산한다. 이 때, 가산기(11)는 가산 연산일 경우는 2 입력 값에 관계없이 가산 연산을 하지만 감산 연산일 경우, 항상 큰 값에서 작은 값을 감산하게 된다. 그러므로 가산기(11)의 결과는 항상 양의 수를 출력하게 된다.
즉, 유효숫자 비교기(8)는 다음 수학식 1과 같이 연산한다.
만약, A ≥ B 이면, A' = A, B' = /B
A 〈 B 이면, A' = /A, B' = B
그리고, 가산기(11)는 "A - B" 일 경우, "A + /B", "B - A"일 경우, "B + /A"로 연산한다.
상기 리딩 제로 예측부(12)는 상기 제 1 비트 인버터(9)의 출력 또는 제 2 비트 인버터(10)의 출력으로부터 제로(zero, "0")의 연속성을 예측하며, 상기 리딩 제로 카운터(13)은 상기 리딩 제로 예측부(12)의 출력을 카운팅한다.
즉, 리딩 제로 예측부(12)는 각각의 자릿 수를 다음 수학식 2와 같이 연산한다
Ei= Ai' U Bi' · (Ai-1' + Bi-1')
= (Ai' · Bi' + /(Ai' + Bi')) · (Ai-1' + Bi-1')
이와 같이 리딩 제로 예측부(12) 에서 출력된 값(Em, Em-1, … Ei, Ei-1, … E1, E0)을 리딩 제로 카운터(13)가 카운팅하여 제로가 연속되는 것을 카운트한다. 즉, 상기 리딩 제로 예측부(12)에서 출력된 값이 (000001011)일 경우 리딩 제로 카운터(13)는 "5"를 카운트한다.
그리고 레프트 쉬프터(15)는 상기 가산기(11)에서 연산된 값의 출력이 최상위비트가 "0"일 경우가 있으므로 최상위 비트를 "1"로 만들기 위하여 상기 리딩 제로 카운터(13)에서 출력되는 값만큼 상기 가산기(11)에서 출력되는 값을 레프트 방향으로 쉬프팅한다.
또한 상기 가산기(11)에서 출력되는 값을 특정 비트 수로 저장하기 위해 상기 라운딩 콘트롤부(14)는 나머지 자릿수를 판단하여 올림수를 출력하고 상기 인크리먼터(17)는 상기 라운딩 콘트롤부(14)의 제어에 따라 마지막 자릿 수에 1을 증가시켜 출력하며, 상기 선택기(18)은 라운딩 콘트롤부(14)의 제어에 의해 상기 레프트 쉬프터(15) 또는 인크리먼터(17)에서 출력되는 신호 중 하나를 선택하여 출력하므로 유효숫자 연산이 완료된다.
그리고, 지수 감산기(16)에서는 상기 제 1 멀티플렉서(3)에서 출력되는 지수 값에서 상기 리딩 제로 카운터(13)의 출력 값을 감산하여 최종적으로 연산된 지수 값을 출력한다.
상기에서 설명한 바와 같은 종래의 실수 연산기에 있어서는 다음과 같은 문제점이 있었다.
종래의 실수 연산기는 항상 큰수에서 작은 수를 빼도록 구성되어 있으므로 유효숫자 비교기와 두 개의 비트 인버터가 필요하게되고 이로 인하여 회로가 복잡하고 연산 속도가 늦어지게 되는 문제점이 있었다.
본 발명은 이와 같은 문제점을 해결하기 위하여 안출한 것으로, 연산하고자 하는 수의 크기에 관계없이 연산할 수 있도록 리딩 제로 예측 회로를 구현하여 연산 속도를 향상시킨 실수 연산기를 제공하는데 그 목적이 있다.
도 1은 종래의 실수 연산기의 회로 구성도
도 2는 종래의 실수 연산기의 리딩 제로 예측부의 회로 구성도
도 3는 본 발명의 실수 연산기의 회로 구성도
도 4은 본 발명의 실수 연산기의 리딩 제로 예측회로 구성도
도 5는 본 발명의 실수 연산기의 리딩 예측 카운터 회로 구성도
도면의 주요 부분에 대한 부호의 설명
31 : 콘트롤부 32 : 지수 연산부
33 : 제 1 멀티플렉서 34 : 제 2 멀티플렉서
35 : 제 3 멀티플렉서 36 : 라이트 쉬프터
37 : 제 1 비트 인버터 38 : 가산기
39 : 리딩 제로 예측부 40 : 리딩 제로 카운터
41 : 라운딩 콘트롤부 42 : 레프트 쉬프터
43 : 제 2 비트 인버터 44 : 인크리먼터
45 : 보상 쉬프터 46 : 감산기
47 : 디크리먼터
51, 52, 55, 56, 59, 60, 63, 64, 65, 66, 68, 69, 71, 72, 73 : 앤드 게이트
53, 57, 61, 67, 74 : 오아 게이트 54, 58, 62 : 인버터
70a, 70b : 제 1 카운터부 75 : 제 2 카운터부
상기와 같은 목적을 달성하기 위한 본 발명의 실수 연산기는 두 입력 값의 사인(Sign) 값을 비교하여 그에 따른 제어신호를 출력하는 콘트롤부와, 상기 두 입력 값의 지수 값의 차를 구하고 지수 값이 큰 유효숫자는 그대로 출력하고 지수 값이 작은 유효 숫자를 지수 자 만큼 쉬프팅하여 출력하는 유효숫자 출력부와, 상기 콘트롤부의 제어에 의해 두 입력 값의 지수 값 중 큰 값을 선택하여 출력하는 제 1 멀티플렉서와, 감산 연산시 상기 콘트롤부의 제어신호에 따라 상기 유효숫자 출력부의 지수 값이 큰 유효숫자를 반전시키는 제 1 비트 인버터와, 쉬프팅된 지수 값이 작은 유효 숫자와 제 1 비트 인버터에서 출력되는 유효숫자를 가산하는 가산기와, 상기 유효숫자 출력부의 지수 값이 큰 유효숫자와 쉬프팅된 유효숫자로 부터 제로(zero, "0")의 연속성을 예측하는 리딩 제로 예측부와, 상기 리딩 제로 예측부의 출력으로 부터 제로 값을 카운팅하는 리딩 제로 카운터와, 상기 가산기에서 출력되는 값을 특정 비트 수로 저장하기 위해 나머지 자릿수를 판단하여 올림수를 출력하는 라운딩 콘트롤부와, 상기 가산기에서 출력되는 값을 상기 리딩 제로 카운터에서 출력되는 자릿수 만큼 왼쪽으로 자리 옮김을 수행하는 레프트 쉬프터와, 상기 가산기에서 가산된 값이 음수이면 상기 레프트 쉬프터에서 출력되는 값을 2의 보수로 처리하는 제 2 비트 인버터와, 상기 라운딩 콘트롤부의 신호에 따라 상기 제 2 비트 인버터에서 출력되는 값에 1 증가시켜 최종적으로 유효숫자 값을 연산하는 인크리먼터와, 상기 인크리먼터에서 출력되는 유효숫자 값이 최대값일 때 자릿수를 보상하기 위해 쉬프팅하는 보상 쉬프터와, 상기 제 1 멀티플렉서에서 출력되는 값과 상기 리딩 제로 카운터에서 출력되는 값을 감산하는 지수 감산기와, 상기 지수 감산기의 출력신호에서 1 비트를 감소하여 지수 값을 최종 출력하는 디크리먼터를 포함하여 구성됨에 그 특징이 있다.
이와 같은 본 발명의 실수 연산기를 첨부된 도면을 참조하여 보다 상세히 설명하면 다음과 같다.
도 3은 본 발명의 실수 연산기의 회로 구성도이고, 도 4는 본 발명의 실수 연산기에 따른 링딩 제로 예측부의 상세 회로 구성도이며, 도 5는 본 발명의 실수 연산기에 따른 리딩 제로 예측 카운터의 상세 회로 구성도이다.
본 발명의 실수 연산기는 도 3과 같이, 두 입력 값의 사인(Sign) 값을 비교하여 그에 따른 제어신호를 출력하는 콘트롤부(31)와, 상기 두 입력 값의 지수 값의 차를 계산하여 두 입력 expnent 값중 어느신호가 큰 값인가와 그 차이 신호를 출력하는 지수 연산부(exponent difference)(32)와, 상기 두 입력 값의 지수 값 중 큰 값을 선택하여 출력하는 제 1 멀티플렉서(33)와, 상기 지수 연산부(32)의 제어신호에 따라 두 입력 값중 지수 값이 큰 수의 유효숫자를 선택하여 출력하는 제 2 멀티플렉서(34)와, 상기 지수 연산부(32)의 제어 신호에 따라 두 입력 값 중 지수 값이 작은 수의 유효숫자를 선택하여 출력하는 제 3 멀티플렉서(35)와, 상기 지수 연산부(32)에서 출력되는 두 입력 신호의 지수 차이만큼 상기 제 3 멀티플렉서(35)에서 출력되는 유효숫자 신호를 라이트 방향으로 쉬프팅하는 라이트 쉬프터(36)와, 감산 연산을 위한 가산기의 입력단에 "2"의 보수를 만들기 위해 상기 콘트롤부(31)의 제어신호에 따라 제 2 멀티플렉서(34)의 출력을 반전시키는 제 1 비트 인버터(bit inverter)(37)와, 상기 제 2 멀티플렉서(34) 또는 제 1 비트 인버터(37)의 출력 신호와 상기 라이트 쉬프터(36)의 출력을 가산하는 가산기(38)와, 상기 제 2 멀티플렉서(34) 및 라이트 쉬프터(36)의 출력으로부터 제로(zero, "0")의 연속성을 예측하는 리딩 제로 예측부(39)와, 상기 콘트롤부(31)의 제어에 따라 상기 리딩 제로 예측부(39)의 출력을 카운팅하는 리딩 제로 카운터(40)와, 상기 가산기(38)에서 출력되는 값을 특정 비트 수로 저장하기 위해 나머지 자릿수를 판단하여 올림수를 출력하는 라운딩 콘트롤부(rounding control)(41)와, 상기 가산기(38)에서 출력되는 값을 상기 리딩 제로 카운터(40)에서 출력되는 자릿수 만큼 왼쪽으로 자리 옮김을 수행하는 레프트 쉬프터(42)와, 상기 가산기(38)에서 가산된 값이 음수이면 상기 레프트 쉬프터(42)에서 출력되는 값을 2의 보수로 처리하는 제 2 비트 인버터(43)와, 상기 라운딩 콘트롤부(41)의 신호에 따라 상기 제 2 비트 인버터(43)에서 출력되는 값에 1 증가시켜 최종적으로 유효숫자 값을 연산하는 인크리먼터(44)와, 상기 인크리먼터(44)에서 출력되는 유효숫자 값이 최대값일 때 자릿수를 보상하기 위해 쉬프팅하는 보상 쉬프터(45)와, 상기 제 1 멀티플렉서(33)에서 출력되는 값과 상기 리딩 제로 카운터(40)에서 출력되는 값을 감산하는 지수 감산기(46)와, 상기 감산기(46)의 출력신호에서 1 비트를 감소하여 지수 값을 최종 출력하는 디크리먼터(47)로 구성된다.
이와 같이 구성된 본 발명의 실수 연산기에서 본 발명의 리딩 제로 예측부의 구성은 도 4과 같다.
두 입력 값의 유효숫자를 각각 (…Ai+1, Ai, Ai-1…), (…Bi+1, Bi, Bi-1…)이라고 가정하면, Ai+1는 Ai,의 상위 비트이고 Ai-1는 Ai,의 하위 비트이며, Bi+1는 Bi,의 상위 비트이고 Bi-1는 Bi의 하위 비트라 하고 리딩 제로 예측값 중 하나의 비트의 리딩 제로 예측부를 나타낸 것이다.
Ai+1의 반전된 값과 Bi+1의 값을 논리 연산하는 제 1 앤드 게이트(AND gate)(51)와, Bi+1의 반전된 값과 Ai+1의 값을 논리 연산하는 제 2 앤드 게이트(AND gate)(52)와, 상기 제 1, 제 2 앤드 게이트(51)(52)의 출력을 논리 연산하는 제 1 오아 게이트(OR gate)(53)와, 상기 제 1 오아 게이트(53)의 출력을 반전하는 제 1 인버터(54)와, Ai-1의 반전된 값과 Bi-1의 값을 논리 연산하는 제 3 앤드 게이트(AND gate)(55)와, Bi-1의 반전된 값과 Ai-1의 값을 논리 연산하는 제 4 앤드 게이트(AND gate)(56)와, 상기 제 3, 제 4 앤드 게이트(55)(56)의 출력을 논리 연산하는 제 2 오아 게이트(OR gate)(57)와, 상기 제 2 오아 게이트(57)의 출력을 반전하는 제 2 인버터(58)와, Ai의 반전된 값과 Bi의 값을 논리 연산하는 제 5 앤드 게이트(AND gate)(59)와, Bi의 반전된 값과 Ai의 값을 논리 연산하는 제 6 앤드 게이트(AND gate)(60)와, 상기 제 5, 제 6 앤드 게이트(59)(60)의 출력을 논리 연산하는 제 3 오아 게이트(OR gate)(61)와, 상기 제 3 오아 게이트(61)의 출력을 반전하는 제 3 인버터(62)와, 상기 제 1 인버터(54), 제 5 앤드 게이트(59) 및 제 4 앤드 게이트(56)의 출력을 논리 연산하는 제 7 앤드 게이트(63)와, 상기 제 1 인버터(54), 제 6 앤드 게이트(60) 및 제 3 앤드 게이트(56)의 출력을 논리 연산하는 제 8 앤드 게이트(64)와, 상기 제 1 오아 게이트(53), 제 6 앤드 게이트(60) 및 제 4 앤드 게이트(56)의 출력을 논리 연산하는 제 9 앤드 게이트(65)와, 상기 제 1 오아 게이트(53), 제 5 앤드 게이트(59) 및 제 3 앤드 게이트(55)의 출력을 논리 연산하는 제 10 앤드 게이트(66)와, 상기 제 7, 제 8, 제 9, 제 10 앤드 게이트(63, 64, 65, 66)의 출력을 논리 연산하여 해당 비트의 리딩 제로 예측(Ei) 신호를 출력하는 제 4 오아 게이트(67)로 구성된다.
여기서 최상위(MSB) 비트에 해당되는 리딩 제로 예측부에서는 AMSB+1또는 BMSB+1을 각각 "0"으로 간주하며, A0, B0비트에 해당되는 리딩 제로 예측부에서 A-1또는 B-1을 각각 "0"으로 간주한다.
한편, 본 발명의 리딩 제로 카운터 회로는 리딩 제로 예측부의 출력값에서 상위 1 비트의 연속된 값의 수를 계산하는 회로로써, 그 구성은 도 5와 같다.
리딩 제로 예측부의 출력을 ( … Ei+1, Ei, Ei-1, Ei-2… ) 이라고 가정하여 설명하면 다음과 같다.
리딩 제로 예측부(39)에서 출력되는 제로 예측 값의 연속되는 2 비트를 논리 곱 연산하여 연속되는 두 개의 값이 "11"인지를 판단하는 제 11 앤드 게이트(68)와, 연속되는 2 비트 중 하위 1 비트의 반전된 값과 상위 비트를 논리 연산하여 연속된 두 개의 값이 "10"인지를 판단하는 제 12 앤드 게이트(69) 등으로 이루어져 연속되는 2비트의 리딩 제로 예측부(39)의 출력값에 따라 2 비트의 데이터를 출력하는 복수개의 제 1 카운터부(70a, 70b, …)와, 제 13, 제 14, 제 15 앤드 게이트(71, 72, 73), 제 5 오아 게이트(74) 등으로 이루어져 상기 복수개의 제 1 카운터부(70a, 70b, …) 중 입접하는 2개의 제 1 카운터부(70a, 70b)의 출력 데이터에 따라 3 비트의 데이터를 출력하는 복수개의 제 2 카운터부(75)로 구성된다.
즉, 제 2 카운터부(75)는 상기 제 1 카운터부(70a, 70b)에서 출력되는 2비트의 데이터 중 인접한 두 개의 제 1 카운터부(70a, 70b)에서 출력된 상위 비트(A, C)를 논리 연산하여 1 비트 데이터(E)를 출력하는 제 13 앤드 게이트(71)와,
상기 두 개의 제 1 카운터부(70a, 70b) 중 상위 제 1 카운터(70a)에서 출력되는 상위 1비트(A)와 하위 제 1 카운터부(70b)에서 출력되는 상위 1비트(C)의 반전된 값을 논리 연산하여 1비트의 데이터(F)를 출력하는 제 14 앤드 게이트(72)와,
상기 하위 제 1 카운터부(70b)에서 출력되는 하위 1비트(D)와 상기 제 14 앤드 게이트(72)의 출력을 논리 연산하는 제 15 앤드 게이트(73)와, 상기 상위 제 1 카운터부(70a)에서 출력되는 하위 1비트(B)와 상기 제 15 앤드 게이트(73)의 출력 값을 논리 연산하여 나머지 1 비트 데이터(G)를 출력하는 제 5 오아 게이트(74)를 구비하여 구성된다.
여기서, 각 제 1 카운터부(70a, 70b, …)는 리딩 제로 예측부(39)의 연속되는 두 비트((Ei+1, Ei) 또는 (Ei-1, Ei-2))가 "11"이면 "10"를 출력하고 상위 비트만 "1"이면 "01"를 출력하고, 하위 비트에 관계없이 상위 비트가 "0"이면 "00"을 출력한다.
각 제 2 카운터부(75)는 상기 인접한 2개의 카운터부(70a, 70b)에서 각각 출력되는 2 비트(AB 또는 CD)중 각각 상위 비트(A,C)가 "1"일 경우에만 3 비트(EFG) 중 최상위 비트(E)에 "1"을 출력하고, 인접한 2개의 제 1 카운터부(70a, 70b) 중에 상위 제 1 카운터부(70a)의 상위 비트(A)가 "1"이고 하위 제 1 카운터부(70b)의 상위 비트(C)가 "0"일 경우만 3 비트(EFG) 중 중간 상위 비트(F)로 "1"을 출력하고, 상기 중간 상위 비트(F)와 상기 하위 제 1 카운터부(70b)의 하위(D) 비트가 "1"이거나 상위 제 1 카운터부(70a)의 하위 비트(B)가 "1"일 경우 최하위 비트(G)로 "1"을 출력하게 된다. 이러한 방식을 2진 튜리(tree) 형식으로 계속하면 최종 결과를 얻을 수 있다.
이와 같이 구성된 본 발명의 실수 연산기의 동작은 다음과 같다.
두 입력 값의 각 지수 값이 지수 연산기(32)에 입력되면, 지수 연산기(32)는 두 지수값의 차이와 크기를 출력한다.
이와 같은 지수 연산기(32)의 출력신호에 따라 제 2 멀티플렉서(34)에서는 지수 값이 작은 입력 신호의 유효숫자를 선택하여 출력하고, 제 3 멀티플렉서(35)에서는 지수 값이 큰 입력 신호의 유효숫자를 선택하여 출력한다.
그리고 상기 라이트 쉬프터(36)은 상기 지수 연산기(32)에서 출력되는 두 지수 값의 차이 만큼 상기 제 3 멀티플렉서(35)에서 출력되는 유효숫자를 라이트 방향으로 쉬프팅한다.
리딩 제로 예측부(39)는 상기 제 2 멀티플렉서(34)에서 출력되는 유효숫자와 라이트 쉬프터(36)에서 출력되는 유효숫자를 가지고 연속되는 제로(Zero) 값을 예측한다.
즉, 리딩 제로 예측부(39)는 다음과 같은 [수학식 3]과 같이 연산한다.
Ei = (Ai = = Bi) or
((Ai+1 = = Bi+1) and (/AiBiAi-1/Bi-1)) or
((Ai+1= = Bi+1) and (Ai/Bi/Ai-1Bi-1)) or
((Ai+1≠ Bi+1) and (Ai/BiAi-1/Bi-1)) or
((Ai+1≠ Bi+1) and (/AiBi/Ai-1Bi-1))
이를 예를 들어 설명하면 다음과 같다.
제 1 실시예
두수의 연산 조건이 101011100 - 10110001 이다고 가정하면, 리딩 제로 예측부(39)에서 출력되는 데이터는 11111100이다. 여기서, 리딩 제로 예측부(39)에서 출력되는 데이터가 "1"일 때 제로 값이 예측되고, 출력되는 데이터가 "0"일 때 1의 값이 예측되도록 설계되어 있다. 그리고 실제적으로 상기의 연산 조건을 계산하면 00000011이 된다.
제 2 실시예
두수의 연산 조건이 10110000 - 10101110 이다고 가정하면, 리딩 제로 예측부(39)에서 출력되는 데이터는 11111101이다. 그리고 실제적으로 상기 연산 조건을 계산하면 00000010이 된다.
이와 같이 제 1, 제 2 실시예에서 알 수 있는 바와 같이, 실제 계산 값과 리딩 제로 예측부(39)에서 출력되는 예측 값이 일치하게 됨을 알 수 있다.
그러나, 예측이 일치하지 않은 경우도 있다.
제 3 실시예
A-B를 가정하면, A=10100001에서 B=10001001를 감산하는 연산을 보자.
상기 수 B는 제 1 비트 인버터(37)에서 01110110 값으로 인버팅된다. 그리고 라이트 쉬프터(36)의 출력은 상기 두 수 A, B의 지수 값이 같기 때문에 B와 같은 10001001이 된다.
따라서, 리딩 제로 예측부(39)에서는 11010111의 값을 출력하고 그 출력은 리딩 제로 카운터(40)에 전달되고, 상기 리딩 제로 카운터(40)는 상기 11010111의 값을 받아서 "2"의 값을 계산하게 된다.
그리고, 상기 제 1 비트 인버터(37)와 라이트 쉬프터(36)의 출력을 가산기(38)가 가산한다. 이 때, 콘트롤부(31)에서 "1"을 출력하여 가산기(38)의 캐리 인(carry in)신호를 출력한다. 따라서, 상기 가산기(38)는 00011000의 데이터를 출력하고, 상기 리딩 제로 카운터(40)에서 "2"를 카운트 하였으므로 레프트 쉬프터(42)는 상기 가산기(38)의 출력 값을 왼쪽으로 2만큼 쉬피팅하므로 레프트 쉬프터(42)는 01100000을 출력한다.
제 2 비트 인버터(43)는 상기 레트프 쉬프터(42)의 출력이 음수가 아니므로 상기 레프트 쉬프터(42)의 출력을 그대로 통과하고, 라운팅 콘트롤부(41)에서는 "0"의 값이 출력되므로 인크리먼터(44)는 01100000을 출력하게 된다.
그리고, 보상 쉬프터(45)는 인크리먼터(44)에서 출력된 값의 최상위 비트가 "0"이므로 1비트 레프트 쉬프팅하여 출력한다.
이상에서 설명한 바와 같은 본 발명의 실수 연산기에 있어서는 다음과 같은 효과가 있다.
첫째, 종래에는 항상 큰 수에서 작은 수를 감산하도록 하였으나, 본 발명은 수의 크기에 관계없이 연산을 하므로 연산 속도를 향상시킬 수 있다.
둘째, 두 수 연산시 각각 인버터를 사용하였으나 본 발명에서는 인버터를 하나만 사용하므로 단가를 줄일 수 있다.

Claims (6)

  1. 두 입력 값의 사인(Sign) 값을 비교하여 그에 따른 제어신호를 출력하는 콘트롤부와,
    상기 두 입력 값의 지수 값의 차 신호를 출력하는 지수 연산부와,
    상기 두 입력 값의 지수 값 중 큰 값을 선택하여 출력하는 제 1 멀티플렉서와,
    상기 지수 연산부의 제어신호에 따라 두 입력 값중 지수 값이 큰 수의 유효숫자를 선택하여 출력하는 제 2 멀티플렉서와,
    상기 지수 연산부의 제어 신호에 따라 두 입력 값 중 지수 값이 작은 수의 유효숫자를 선택하여 출력하는 제 3 멀티플렉서와,
    상기 지수 연산부에서 출력되는 두 입력 신호의 지수 차이만큼 상기 제 3 멀티플렉서에서 출력되는 유효숫자 신호를 라이트 방향으로 쉬프팅하는 라이트 쉬프터와,
    감산 연산을 위한 가산기의 입력단에 "2"의 보수를 만들기 위해 상기 콘트롤부의 제어신호에 따라 제 2 멀티플렉서의 출력을 반전시키는 제 1 비트 인버터와,
    상기 제 2 멀티플렉서 또는 제 1 비트 인버터의 출력 신호와 상기 라이트 쉬프터의 출력을 가산하는 가산기와,
    상기 제 2 멀티플렉서 및 라이트 쉬프터의 출력으로부터 제로(zero, "0")의 연속성을 예측하는 리딩 제로 예측부와,
    상기 콘트롤부의 제어에 따라 상기 리딩 제로 예측부의 출력을 카운팅하는 리딩 제로 카운터와,
    상기 가산기에서 출력되는 값을 특정 비트 수로 저장하기 위해 나머지 자릿수를 판단하여 올림수를 출력하는 라운딩 콘트롤부와,
    상기 가산기에서 출력되는 값을 상기 리딩 제로 카운터에서 출력되는 자릿수 만큼 왼쪽으로 자리 옮김을 수행하는 레프트 쉬프터와,
    상기 가산기에서 가산된 값이 음수이면 상기 레프트 쉬프터에서 출력되는 값을 2의 보수로 처리하는 제 2 비트 인버터와,
    상기 라운딩 콘트롤부의 신호에 따라 상기 제 2 비트 인버터에서 출력되는 값에 1 증가시켜 최종적으로 유효숫자 값을 연산하는 인크리먼터와,
    상기 인크리먼터에서 출력되는 유효숫자 값이 최대값일 때 자릿수를 보상하기 위해 쉬프팅하는 보상 쉬프터와,
    상기 제 1 멀티플렉서에서 출력되는 값과 상기 리딩 제로 카운터에서 출력되는 값을 감산하는 지수 감산기와,
    상기 지수 감산기의 출력신호에서 1 비트를 감소하여 지수 값을 최종 출력하는 디크리먼터를 포함하여 구성됨을 특징으로 하는 실수 연산기.
  2. 제 1 항에 있어서,
    상기 두 입력 값의 유효숫자를 각각 (…Ai+1, Ai, Ai-1…), (…Bi+1, Bi, Bi-1…)이라고 가정하여, 일 비트의 상기 리딩 제로 예측부는 Ai+1의 반전된 값과 Bi+1의 값을 논리 연산하는 제 1 앤드 게이트와,
    Bi+1의 반전된 값과 Ai+1의 값을 논리 연산하는 제 2 앤드 게이트와,
    상기 제 1, 제 2 앤드 게이트의 출력을 논리 연산하는 제 1 오아 게이트와,
    상기 제 1 오아 게이트의 출력을 반전하는 제 1 인버터와,
    Ai-1의 반전된 값과 Bi-1의 값을 논리 연산하는 제 3 앤드 게이트와,
    Bi-1의 반전된 값과 Ai-1의 값을 논리 연산하는 제 4 앤드 게이트와,
    상기 제 3, 제 4 앤드 게이트의 출력을 논리 연산하는 제 2 오아 게이트와,
    상기 제 2 오아 게이트의 출력을 반전하는 제 2 인버터와,
    Ai의 반전된 값과 Bi의 값을 논리 연산하는 제 5 앤드 게이트와,
    Bi의 반전된 값과 Ai의 값을 논리 연산하는 제 6 앤드 게이트와,
    상기 제 5, 제 6 앤드 게이트의 출력을 논리 연산하는 제 3 오아 게이트와,
    상기 제 3 오아 게이트의 출력을 반전하는 제 3 인버터와,
    상기 제 1 인버터, 제 5 앤드 게이트 및 제 4 앤드 게이트의 출력을 논리 연산하는 제 7 앤드 게이트와,
    상기 제 1 인버터, 제 6 앤드 게이트 및 제 3 앤드 게이트의 출력을 논리 연산하는 제 8 앤드 게이트와,
    상기 제 1 오아 게이트, 제 6 앤드 게이트 및 제 4 앤드 게이트의 출력을 논리 연산하는 제 9 앤드 게이트와,
    상기 제 1 오아 게이트, 제 5 앤드 게이트 및 제 3 앤드 게이트의 출력을 논리 연산하는 제 10 앤드 게이트와,
    상기 제 7, 제 8, 제 9, 제 10 앤드 게이트의 출력을 논리 연산하여 해당 비트의 리딩 제로 예측(Ei) 신호를 출력하는 제 4 오아 게이트를 포함하여 구성됨을 특징으로 하는 실수 연산기.
  3. 제 2 항에 있어서,
    상기 리딩 제로 예측부가 최상위(MSB) 비트에 해당되는 경우는 AMSB+1또는 BMSB+1을 각각 "0"으로 간주하며, 상기 리딩 제로 예측부가 최하위 비트에 해당되는 경우는 A-1또는 B-1을 각각 "0"으로 간주함을 특징으로 하는 실수 연산기.
  4. 제 1 항에 있어서,
    상기 리딩 제로 카운터는 상기 리딩 제로 예측부의 연속되는 두 비트가 "11"이면 "10"를 출력하고, 상위 비트만 "1"이면 "01"를 출력하고, 하위 비트에 관계없이 상위 비트가 "0"이면 "00"을 출력하는 복수개의 제 1 카운터부와.
    상기 인접한 2개의 제 1 카운터부에서 각각 출력되는 2 비트 중 각각 상위 비트가 "1"일 경우에만 3 비트 중 최상위 비트에 "1"을 출력하고, 인접한 2개의 제 1 카운터부 중에 상위 제 1 카운터부의 상위 비트가 "1"이고 하위 제 1 카운터부의 상위 비트가 "0"일 경우만 3 비트 중 중간 비트로 "1"을 출력하고, 상기 중간 비트와 상기 하위 제 1 카운터부의 하위 비트가 "1"이거나 상위 제 1 카운터부의 하위 비트가 "1"일 경우 최하위 비트로 "1"을 출력하는 복숙애의 제 2 카운터부를 포함하여 구성됨을 특징으로 하는 실수 연산기.
  5. 제 4 항에 있어서,
    상기 각 제 1 카운터부는 상기 리딩 제로 예측부에서 출력되는 제로 예측 값의 연속되는 2 비트를 논리 곱 연산하여 연속되는 두 개의 값이 "11"인지를 판단하는 제 11 앤드 게이트와,
    상기 리딩 제로 예측부의 연속되는 2 비트 중 하위 1 비트의 반전된 값과 상위 비트를 논리 연산하여 연속된 두 개의 값이 "10"인지를 판단하는 제 12 앤드 게이트를 포함하여 구성됨을 특징으로 하는 실수 연산기.
  6. 제 4 항에 있어서,
    상기 각 제 2 카운터부는 상기 제 1 카운터부에서 출력되는 2비트의 데이터 중 인접한 두 개의 제 1 카운터부에서 출력된 상위 비트를 논리 연산하여 1 비트 데이터를 출력하는 제 13 앤드 게이트와,
    상기 두 개의 제 1 카운터부 중 상위 비트의 제 1 카운터에서 출력되는 상위 1비트와 하위 비트의 제 1 카운터부에서 출력되는 상위 1비트의 반전된 값을 논리 연산하여 1비트의 데이터를 출력하는 제 14 앤드 게이트와,
    상기 하위 비트의 제 1 카운터부에서 출력되는 하위 1비트와 상기 제 14 앤드 게이트의 출력을 논리 연산하는 제 15 앤드 게이트와,
    상기 상위 비트의 제 1 카운터부에서 출력되는 하위 1비트와 상기 제 15 앤드 게이트의 출력 값을 논리 연산하여 나머지 1 비트 데이터를 출력하는 제 5 오아 게이트를 구비하여 구성됨을 특징으로 하는 실수 연산기.
KR1019990011618A 1999-04-02 1999-04-02 실수 연산기 KR100331846B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1019990011618A KR100331846B1 (ko) 1999-04-02 1999-04-02 실수 연산기
US09/541,679 US6571264B1 (en) 1999-04-02 2000-03-31 Floating-point arithmetic device
JP2000101140A JP2000311079A (ja) 1999-04-02 2000-04-03 実数演算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990011618A KR100331846B1 (ko) 1999-04-02 1999-04-02 실수 연산기

Publications (2)

Publication Number Publication Date
KR20000065394A true KR20000065394A (ko) 2000-11-15
KR100331846B1 KR100331846B1 (ko) 2002-04-09

Family

ID=19578657

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990011618A KR100331846B1 (ko) 1999-04-02 1999-04-02 실수 연산기

Country Status (3)

Country Link
US (1) US6571264B1 (ko)
JP (1) JP2000311079A (ko)
KR (1) KR100331846B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2412986B (en) * 2001-03-14 2005-11-30 Micron Technology Inc Arithmetic pipeline
US7069288B2 (en) 2001-05-25 2006-06-27 Sun Microsystems, Inc. Floating point system with improved support of interval arithmetic
US7290023B2 (en) * 2003-11-20 2007-10-30 International Business Machines Corporation High performance implementation of exponent adjustment in a floating point design
US7936359B2 (en) * 2006-03-13 2011-05-03 Intel Corporation Reconfigurable floating point filter
CN101459854B (zh) * 2007-12-13 2011-11-16 鸿富锦精密工业(深圳)有限公司 图像压缩编码/解码装置及图像压缩编码/解码方法
TWI398827B (zh) * 2007-12-31 2013-06-11 Hon Hai Prec Ind Co Ltd 圖像壓縮編碼/解碼裝置及圖像壓縮編碼/解碼方法
RU2503991C1 (ru) * 2012-10-11 2014-01-10 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Вятский государственный университет (ФГБОУ ВПО "ВятГУ") УСТРОЙСТВО ДЛЯ ВЫРАВНИВАНИЯ ПОРЯДКОВ m ДВОИЧНЫХ ЧИСЕЛ

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926369A (en) 1988-10-07 1990-05-15 International Business Machines Corporation Leading 0/1 anticipator (LZA)
US4994996A (en) * 1989-02-03 1991-02-19 Digital Equipment Corporation Pipelined floating point adder for digital computer
US5027308A (en) * 1989-02-14 1991-06-25 Intel Corporation Circuit for adding/subtracting two floating point operands
US5136536A (en) * 1990-05-04 1992-08-04 Weitek Corporation Floating-point ALU with parallel paths
JP2508912B2 (ja) * 1990-10-31 1996-06-19 日本電気株式会社 浮動小数点加算装置
US5373461A (en) * 1993-01-04 1994-12-13 Motorola, Inc. Data processor a method and apparatus for performing postnormalization in a floating-point execution unit
US5684729A (en) * 1994-09-19 1997-11-04 Hitachi, Ltd. Floating-point addition/substraction processing apparatus and method thereof
US5751621A (en) * 1994-11-17 1998-05-12 Hitachi, Ltd. Multiply-add unit and data processing apparatus using it
US5757682A (en) * 1995-03-31 1998-05-26 International Business Machines Corporation Parallel calculation of exponent and sticky bit during normalization
US5928316A (en) * 1996-11-18 1999-07-27 Samsung Electronics Co., Ltd. Fused floating-point multiply-and-accumulate unit with carry correction
US6405232B1 (en) * 1999-08-19 2002-06-11 National Semiconductor Corporation Leading bit prediction with in-parallel correction

Also Published As

Publication number Publication date
KR100331846B1 (ko) 2002-04-09
JP2000311079A (ja) 2000-11-07
US6571264B1 (en) 2003-05-27

Similar Documents

Publication Publication Date Title
JP2662196B2 (ja) 演算結果正規化方法及び装置
US6820107B1 (en) Square root extraction circuit and floating-point square root extraction device
US8549054B2 (en) Arithmetic processing apparatus and arithmetic processing method
JP4388543B2 (ja) 3項入力の浮動小数点加減算器
JP3609512B2 (ja) 演算器
US5343413A (en) Leading one anticipator and floating point addition/subtraction apparatus
US20170293471A1 (en) Arithmetic units and related converters
US5303175A (en) Floating point arithmetic unit
US5471414A (en) Fast static CMOS adder
KR100331846B1 (ko) 실수 연산기
KR100241072B1 (ko) 부동소수점 감산시 대량소거의 병렬예측 및 연산방법과 장치
JPH05224883A (ja) 浮動小数点n−ビット符号付大きさの2進数を固定小数点m−ビット2の補数表示の2進数に変換するためのシステム
US4941119A (en) Method and apparatus for predicting an overflow in an integer multiply
US5408426A (en) Arithmetic unit capable of performing concurrent operations for high speed operation
US6947962B2 (en) Overflow prediction algorithm and logic for high speed arithmetic units
JPH10289096A (ja) 論理回路及び浮動小数点演算装置
CN116974512A (zh) 浮点运算装置、矢量处理装置、处理器及电子设备
US5831884A (en) Apparatus for performing arithmetic operation of floating point numbers capable of improving speed of operation by performing canceling prediction operation in parallel
US5867413A (en) Fast method of floating-point multiplication and accumulation
US20070050434A1 (en) Data processing apparatus and method for normalizing a data value
JPH0346024A (ja) 浮動小数点演算器
US5657260A (en) Priority detecting counter device
US6148318A (en) Square root extraction circuit and floating-point square root extraction device
JPH0553765A (ja) 先行1検出回路および浮動小数点加減算装置
JP2752564B2 (ja) 先行1予測装置及び浮動小数点加減算装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050221

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee