KR100223997B1 - 부동소수점연산장치의 정규화회로장치 - Google Patents

부동소수점연산장치의 정규화회로장치 Download PDF

Info

Publication number
KR100223997B1
KR100223997B1 KR1019960021042A KR19960021042A KR100223997B1 KR 100223997 B1 KR100223997 B1 KR 100223997B1 KR 1019960021042 A KR1019960021042 A KR 1019960021042A KR 19960021042 A KR19960021042 A KR 19960021042A KR 100223997 B1 KR100223997 B1 KR 100223997B1
Authority
KR
South Korea
Prior art keywords
signal
output signal
bit
circuit
mantissa
Prior art date
Application number
KR1019960021042A
Other languages
English (en)
Other versions
KR970022803A (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 다니구찌 이찌로오, 기타오카 다카시
Publication of KR970022803A publication Critical patent/KR970022803A/ko
Application granted granted Critical
Publication of KR100223997B1 publication Critical patent/KR100223997B1/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
    • 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
    • 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
    • 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

Landscapes

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

Abstract

부동소수점 연산장치에 있어서, 정규화, 비정규화 및 0기능연산을 고속으로 행하는 정규화 회로장치를 실현하는 것이 목적이다.
회로(3)는 지수부입력신호(A)의 10진수값에 1을 가한 수만 최상위비트로 부터 1을 출력한다.
신호(A)와 가수부입력신호(B)와의 AND연산 및 값(G)의 모든 비트의 OR연산에 으해 제어신호(G')를 얻는다.
회로(2)는 신호(B)의 최상위비트로 부터 최초로 1로 되는 위치로 부터 1을 뺀 수를 2진수 수값(B')으로 나타낸다.
회로(6)는 값(B')를 신호(A)로 부터 감산하고, 회로(7b)는 신호(H)와 0값을 신호(G')에 응해서 선택하여 정규화후의 지수부출력신호(C)를 얻는다.
회로(5)는 신호(B)의 각 비트상태를 최상위비트로 부터 검색하여, 처음으로 1인 존재하는 위치의 비트상태만을 1로 한다.
회로(7a)는 신호(B)와 디코드신호(A')를 신호(G')에 응해서 선택하여, 이동량(D)를 얻는다.
시프터(8)는 신호(D)에 의해 신호(B)를 시프트해서 정규화후의 가수부 출력 신호(E)를 얻는다.

Description

부동소수점연산장치의 정규화회로장치
제1도는 부동소수점연산장치의 블럭구성도.
제2도는 본 발명의 실시의 형태의 회로도.
제3도는 디코더회로의 진리치표를 나타내는 도면.
제4도는 디코더회로의 진리치표를 나타내는 도면.
제5도는 디코더회로의 일예의 회로도.
제6도는 리딩1 디텍터회로의 진리치표를 나타낸 도면.
제7도는 리딩1 디텍터회로의 진리치표를 나타낸 도면.
제8도는 리딩1 디텍터회로의 진리치표를 나타낸 도면.
제9도는 리딩1 디텍터회로의 일예의 회로도.
제10도는 프라이어러티인코더회로의 진리치표를 나타내는 도면.
제11도는 프라이어러티인코더회로의 진리치표를 나타내는 도면.
제12도는 레퍼런스신호생성회로의 진리치표를 나타내는 도면.
제13도는 레퍼런스신호생성회로의 진리치표를 나타낸 도면.
제14도는 레퍼런스신호생성회로의 일예의 회로도.
제15도는 시프터회로의 진리치표를 나타내는 도면.
제16도는 시프터회로의 진리치표를 나타내는 도면.
제17도는 시프터회로의 진리치표를 나타내는 도면.
제18도는 시프터회로의 일예의 회로도.
제19도는 시프터회로의 일예의 회로도.
제20도는 레퍼런스신호생성회로의 진리치표를 나타내는 도면.
제21도는 레퍼런스신호생성회로의 진리치표를 나타내는 도면.
제22도는 레퍼런스신호생성회로의 별도의 일예의 회로도.
제23도는 본 발명의 다른 실시의 형태의 회로도.
제24도는 본 발명의 다른 실시의 형태의 회로도.
제25도는 본 발명의 다른 실시의 형태의 회로도.
제26도는 인코더회로의 진리치표를 나타내는 도면.
제27도는 인코더회로의 진리치표를 나타내는 도면.
제28도는 인코더회로의 일예의 회로도.
제29도는 본 발명의 다른 실시의 형태의 회로도.
제30도는 본 발명의 다른 실시의 형태의 회로도.
제31도는 본 발명의 다른 실시의 형태의 회로도.
제32도는 레퍼런스신호생성회로의 진리치표를 나타내는 도면.
제33도는 레퍼런스신호생성회로의 진리치표를 나타내는 도면.
제34도는 레퍼런스신호생성회로의 일예의 회로도.
제35도는 레퍼런스신호생성회로의 진리치표를 나타내는 도면.
제36도는 레퍼런스신호생성회로의 진리치표를 나타내는 도면.
제37도는 레퍼런스신호생성회로의 별도의 일예의 회로도.
제38도는 본 발명의 다른 실시의 형태의 회로도.
제39도는 본 발명의 다른 실시의 형태의 회로도.
제40도는 본 발명의 다른 실시의 형태의 회로도.
제41도는 본 발명의 다른 실시의 형태의 회로도.
제42도는 본 발명의 다른 실시의 형태의 회로도.
제43도는 종래의 문제점을 해결하기 위해서 제안된 정규화회로장치의 하나의 회로도.
제44도는 제43도의 프라이어러티인코더회로의 진리치표를 나타내는 도면.
제45도는 제43도의 프라이어러티인코더회로의 진리치표를 나타내는 도면.
제46도는 제43도의 디코더회로의 진리치표를 나타내는 도면.
제47도는 제43도의 디코더회로의 진리치표를 나타내는 도면.
제48도는 제43도의 디코더회로의 진리치표를 나타내는 도면.
제49도는 제43도의 디코더회로의 진리치표를 나타내는 도면.
제50도는 제43도의 디코더회로의 진리치표를 나타내는 도면.
제51도는 제43도의 시프터회로의 진리치표를 나타내는 도면.
제52도는 제43도의 시프터회로의 진리치표를 나타내는 도면.
제53도는 제43도의 시프터회로의 진리치표를 나타내는 도면.
제54도는 제43도의 시프터회로의 진리치표를 나타내는 도면.
제55도는 제43도의 시프터회로의 진리치표를 나타내는 도면.
제56도는 실시의 형태1의 정규화회로장치에 변환회로를 합친 회로구성을 나타내는 블럭도.
제57a 및 제57b도는 제56도의 변환회로의 시프터회로의 진리치표를 나타내는 도면.
제58도는 본 발명의 실시의 형태9의 부동소수점연산장치의 블럭도.
제59도는 실시의 형태9에 있어서의 정규화회로장치의 회로블럭도.
제60도는 제59도에 나타낸 시프터회로의 진리치표를 나타내는 도면.
제61도는 제59도에 나타낸 시프터회로의 진리치표를 나타내는 도면.
제62도는 제59도에 나타낸 시프터회로의 진리치표를 나타내는 도면.
제63도는 제59도에 나타낸 시프터회로의 회로도.
제64도는 제59도에 나타낸 시프터회로의 회로도.
제65도는 본 발명의 실시의 형태9의 변형예를 나타내는 회로도.
제66도는 본 발명의 실시의 형태9의 변형예를 나타내는 회로도.
제67도는 본 발명의 실시의 형태9의 변형예를 나타내는 회로도.
제68도는 본 발명의 실시의 형태9의 변형예를 나타내는 회로도.
제69도는 본 발명의 실시의 형태9의 변형예를 나타내는 회로도.
제70도는 본 발명의 실시의 형태9의 변형예를 나타내는 회로도.
제71도는 본 발명의 실시의 형태9의 변형예를 나타내는 회로도.
제72도는 본 발명의 실시의 형태9의 변형예를 나타내는 회로도.
제73도는 본 발명의 실시의 형태9의 변형예를 나타내는 회로도.
제74도는 본 발명의 실시의 형태9의 변형예를 나타내는 회로도.
제75도는 본 발명의 실시의 형태9의 변형예를 나타내는 회로도.
* 도면의 주요부분에 대한 부호의 설명
101 : 프라이어러티인코더회로 3,19 : 레퍼런스신호생성회로
4,104 : 디코더회로 5 : 리딩1디텍터회로
6,102 : 감산기회로 7,103 : MUX회로
8 : AND게이트회로 9 : OR게이트회로
10,105 : 시프터회로 17 : 인코더회로
106 : 가수부의 0검출회로(OR 게이트회로)
107 : 지수부의 강제영회로(AND 게이트회로)
A : 지수부의 입력신호 B : 가수부의 입력신호
C : 지수부의 출력신호
D : 가수부의 입력B를 정규화하기 위한 이동량(시프트량)
E : 가수부의 출력신호 22 : 시프터회로
23a,23b : 시프트기능부
[발명의 분야]
본 발명은 부동소수점연산장치의 정규화회로장치에 관한 것이다.
[종래의 기술]
부동소수점연산장치의 정규화회로의 종래 기술로서는, 미국특허 5,103,418호에 개시된 것이 있다.
이 문헌에 기재된 정규화회로는, 동일회로에 있어서, 정규화연산과 비정규화 연산의 쌍방을 고속으로 실행할 수 있는 것을 목적하고, 그 때문에 다음같은 구성을 채용한다.
즉, 전단인 연산회로에서의 연산결과중의 지수부(바이너리값)를 디코더로 디코드하여, 그 출력과 상기 연산결과중의 가수부와의 모든 비트스테이트에 대하여 OR 연산을 하여 양자의 결합치를 구하고, 이 결합치의 선두의 1의 비트위치를 리딩 1 디텍터에 의해 검출하여, 검출한 비트위치의 값분만, 상기 연산결과중의 가수부를 상위에 시프트한다.
상술과 같이, 종래 기술은 정규화연산에 덧붙여 비정규화연산에 관해서도 고속으로 처리할 수가 있는 이점을 갖고 있다.
그렇지만, 부동소수점연산, 특히 감산을 포함하는 경우에는, 연산결과로서 얻어지는 가수부의 값이 모두 0으로 되어도 좋다.
이러한 경우에는, 지수부의 값도 0으로 하지 않으면 안된다.
이것을 여기서는 「0기능」이라고 칭하면, 상기 종래 기술은 「0기능」을 갖고 있지 않는 문제점을 갖고 있다.
상술하였던, 종래의 부동소수점연산장치용정규화회로장치가 갖는 문제점을 해결하는 방법의 하나로서는, 제43도에 나타내는 것 같은 회로가 생각된다.
제43도에 있어서, 각 참조부호는 각각 다음 것을 의미한다.
즉, 101은 파라이어러티 인코더회로, 102는 감산기회로, 103a, 103b는 멀티플렉서회로(MUX 회로), 104는 디코더회로, 105는 시프터회로, 106는 OR 게이트회로로 이루어지는 가수부의 0를 검출하는 0검출회로, 107는 AND 게이트회로를 포함하고 지수부를 강제적으로 영으로 하여 얻는 강제영회로이다. 또한, 제43 도에 있어서, 기호(A)는 지수부의 입력값을 주는 입력신호를, 기호(B)는 가수부의 입력값을 주는 입력신호를, 기호(C)는 지수부의 출력값을 주는 신호를 나타낸다.
또한, 기호(D)는 가수부의 입력신호(B)를 정규화하기 위한 이동량(시프트량)을 나타내는 값을 주는 제어신호이다.
더욱, 기호(E)는 가수부의 출력값을 주는 신호를 나타낸다.
다음에, 지수부(A,C)를 8비트, 가수부(B,E)를 24비트, 이동량(D)을 32비트로 한 때의 상기 회로 각부의 기능과 회로전체의 동작에 관해서 설명한다.
프라이어러티 인코더회로(101)는 입력신호(B)의 최상위비트로부터 순차 검색하여, 청음으로 1이 존재하는 위치를 상기 최상위비트위치로부터 센 번수(adress number)값으로부터 1을 뺀 수를 바이너리값(B')로 나타내는 회로이다.
즉, 출력신호(B')의 비트폭은 입력신호(B)가 n비트의 경우에는, {int(log2(n-1))+1}비트가 된다.
따라서, 프라이어러티 인코더회로(101)의 입력신호(B)가 24비트의 경우에는, 출력신호(B')의 비트폭은 5비트로 된다.
제44도, 제45도에, 입력이 24비트의 경우의 프라이어러티 인코더회로(101)의 진리치표를 나타낸다.
단지, 프라이러너티 인코더회로(101)에 있어서, 입력신호(B)의 값이 모두 0의 경우에는, 출력신호(B')의 값은 0으로 한다.
감산기회로(102)는 입력신호(A) 및 출력신호(B')를 각각 입력신호(S, R)로 하여, 이것들의 입력신호(S, R)에 대하여 감산을 한다.
그 감산결과는 출력신호(S-R) 및 캐리출력신호(Fco)(S≥R의 때 Fco가 1로 되는)로서 출력된다.
MUX회로(103a, 103b)는 캐리어출력신호(Fco)인 제어신호(S)의 값에 따라 입력신호(P, Q)를 선택하는 회로이다.
즉, 제어신호(S)가 0의 때는 출력신호(G, D')로서는 입력신호(P)가 선택되고, 제어신호(S)가 1의 때는, 출력신호(G, D')로서는 입력신호(Q)가 선택된다.
디코더회로(104)는 바이너리값으로 표현된 입력신호(D')를 디코드하는 회로이다.
입력이 5bit의 경우의 그 진리치표를 제46도~제50도에 나타낸다.
시프터회로(105)는 제어신호(D)에 응해서, 입력신호(B)를 시프트하는 회로이다.
그 진리치표를 제어신호가 32bit의 경우에 관해서, 제51도~제55도에 나타낸다.
가수부의 0검출회로(106)는 가수부가 0인 것을 검출하는 회로이다.
즉, 가수부가 모두 0인 경우에 그 출력신호(H)는 0이고, 가수부가 0이 아닌 때에는 출력신호(H)는 1이다.
지수부의 강제영회로(107)는 출력신호(H)가 0의 때에, 즉, 가수부가 모두 0의 때에, 지수부의 출력신호(C)를 강제적으로 0로 하는 회로이다.
다음에, 회로동작에 관해서 설명한다.
지금, 지수부의 입력신호(A), 가수부의 입력신호(B)를, 각각, A=127, B=0000 0001 0001 0001 0001 0001로 한다.
(1) 프라이어러티 인코더회로(101)의 출력신호(B')는 B'=7로 된다.
(2) 감산기회로(102)의 출력신호(F), 캐리출력신호(Fco)는 아래와 같이 얻어진다.
F=A-B'→127-7→120.
Fco=A≥B'→127≥7→1.
(3) MUX 회로(103a)의 출력신호(G)는 아래와 같이 얻어진다.
G=Fco ? F : 0→1 ? 120 : 0→120.
(4) 가수부의 0검출회로(106)의 출력신호(H)는 H=|B→1로 된다.
(5) 지수부의 강제영회로(107)의 출력신호(C)는 아래와 같이 얻어진다.
C=G H→120 1→120.
(6) MUX 회로(103b)의 출력신호(D')는 아래와 같이 얻어진다.
D'=Fco ? B' : A→1 ? 7=127→7.
(7) 디코더회로(104)의 출력신호(D)는 아래와 같이 얻어진다.
D=0000 0000 0000 0000 0000 0000 1000 0000.
(8) 시프터회로(105)의 출력신호(E)는 아래와 같이 얻어진다.
E=1000 1000 1000 1000 1000 0000.
이상과 같이, 정규화연산이 정확하게 실행되어 있다.
다음에, A=5, B=0000 0001 0001 0001 0001 0001로 한다.
(1) 프라이어러티 인코더회로(101)의 출력신호(B')의 값은 7로 된다.
(2) 감산회로(102)의 출력신호(F), 캐리출력신호(Fco)의 각 값은 아래와 같이 얻어진다.
F=A-B'→5-7→2.
Fco=A≥B'→5≥7→0.
(3) MUX 회로(103a)의 출력신호(G)의 값은 아래와 같이 얻어진다.
G=Fco ? F : 0→0 ? -2 : 0→0.
(4) 가수부의 0검출회로(106)의 출력신호(H)의 값은 H=|B→1로 된다.
(5) 지수부의 강제영회로(107)의 출력신호(C)는 C=G H→0 1→0로 된다.
(6) MUX 회로(103b)의 출력신호(D')의 값은 아래와 같이 얻어진다.
D'=Fco ? B' : A→0 ? 7=5→5.
(7) 디코더회로(104)의 출력신호(D)의 값은 아래와 같이 얻어진다.
D=0000 0000 0000 0000 0000 0000 0010 0000.
(8) 시프터회로(105)의 출력신호(E)는 아래와 같이 얻어진다.
E=0010 0010 0010 0010 0010 0000.
이상과 같이, 비정규화연산이 정확하게 행해지고 있다.
더우기, A=7, B=0000 0001 0001 0001 0001 0001로 한다.
(1) 프라이어러티 인코더회로(101)의 출력신호(B')는 B'=7로 된다.
(2) 감산회로(102)의 출력신호(F), 캐리출력신호(Fco)는 아래와 같이 얻어진다.
F=A-B'→7-7→0.
Fco=A≥B'→7≥7→1.
(3) MUX 회로(103a)의 출력신호(G)는 아래와 같이 얻어진다.
G=Fco ? F : 0→1 ? 0=0→0.
(4) 가수부의 0검출회로(106)의 출력신호(H)는 H=|B→1로 된다.
(5) 지수부의 강제영회로(107)의 출력신호(C)는 아래와 같이 얻어진다.
C=G H→0 1→0.
(6) MUX 회로(103b)의 출력신호(D')는 아래와 같이 얻어진다.
D'=Fco ? B'=A→1 ? 7=7→7.
(7) 디코더회로(104)의 출력신호(D)는 아래와 같이 얻어진다.
D=0000 0000 0000 0000 0000 0000 0010 0000.
(8) 시프터회로(105)의 출력신호(E)는 아래와 같이 얻어진다.
E=1000 1000 1000 1000 1000 0000.
이상과 같이, 정규화연산처리가 정확하게 실행되어 있다.
또한, A=127, B=0000 0000 0000 0000 0000 0000로 한다.
(1) 프라이어러티 인코더회로(101)의 출력신호(B')는 B'=0로 된다.
(2) 감산기회로(102)의 출력신호(F), 캐리출력신호(Fco)는 아래와 같이 얻어진다.
F=A-B'→127-0→127.
Fco=A≥B'→127≥0→1.
(3) MUX 회로(103a)의 출력신호(G)는 아래와 같이 얻어진다.
G=Fco ? F=0→1 ? 127 = 0→127.
(4) 가수부의 0검출회로(106)의 출력신호(H)는 H=|B→0로 된다.
(5) 지수부의 강제영회로(107)의 출력신호(C)는, 아래와 같이 얻어진다.
C=G H→127 0→0.
(6) MUX 회로(103b)의 출력신호(D')의 값은 아래와 같이 얻어진다.
D'=Fco ? B'=A→1 ? 0=127→0.
(7) 디코더회로(104)의 출력신호(D)는, 아래와 같이 얻어진다.
D=0000 0000 0000 0000 0000 0000 0000 0001.
(8) 시프터회로(105)의 출력신호(E)는 아래와 같이 얻어진다.
E=0000 0000 0000 0000 0000 0000.
이와 같이, 「0기능」이 확실히 실행되어 있다.
이상, 예시하였던것 같이, 제43도에 있어서 제안한 정규화회로는, 정규화연산과 비정규화연산에 덧붙여, 「0기능」을 실현할 수 있어, 종래 기술의 문제점을 극복할 수 있다.
그렇지만, 제43도에 나타낸 회로에서는, 가수부가 0의 때에 지수부를 0로 하기 위해서는, 가수부가 0인 것을 검출하기위한 OR 회로(106)를 특별히 설치할 필요가 있다.
이러한 가수부의 입력신호(B)의 모든 입력신호선에 관해서 OR 연산처리를 하는 방식은, 입력신호(B)의 비트폭을 크게하기 때문에, 회로규모의 증대를 초래하여, 회로 설계상, 바람직하다고는 말하기 어렵다.
더우기, 제43도의 정규화회로는 상기 OR회로(106)를 실현하려고한 결과, 해당 정규화회로로의 전달전에 입력신호(A)보다도 많은 시간을 요하는 입력신호(B)측의 경로에서의 연산이 중심으로 되는 구성을 채용하고 있다.
이것 때문에, 최지연경로, 즉, 크리티컬패스(크리티컬 path)는 가수부의 입력신호(B)에서 프라이어러티 인코더회로(101)→감산기회로(102)(Fco 출력)→MUX 회로(103b)→디코더회로(104)→제어신호(D)→시프터회로(105)→가수부출력신호(E)에 이르는 경로로되어, 그것은 종래 기술에 있어서의 크리티컬패스보다도 긴 경로로 되어 있다.
이상과 같이, 제43도로 제안한 정규화회로는 「0기능」이라고 말하는 종래 기술에는 없는 기능을 실현할 수 있는 반면, 종래 기술이 갖고 있는 고속연산성이라는 우수한 특성도 겸비할 수 없다고 하는 문제점을 갖고 있다.
[발명의 요약]
본 발명의 제1관점은 소정의 부동소수점연산처리를 이루어지고 전달되는 이진수값으로서 표현된 가수부입력신호와 지수부입력신호에 대하여 정규화를 하는 부동소수점연산장치의 정규화회로장치에 주의를 돌린다.
본 발명에 따른 부동소수점연산장치의 정규화회로는 상기 가수부입력신호와 상기 지수부입력신호를 받아, 상기 지수부입력신호가 주는 10진수값이 상기 가수부입력신호의 최상위비트로부터 본 비트상태가 최초로 1로 되는 비트위치로서의 선두 1비트위치의 번수값이상 일 때에는 제1레벨의 제어신호를 생성하는 한편, 상기 지수부입력신호의 상기 10진수치가 상기 선두 1비트위치의 상기 번수값 미만일 때 또는 상기 가수부입력신호가 0값을 줄 때에는 제2레벨의 상기 제어신호를 생성하는 제어신호생성수단과 ; 상기 가수부입력신호에 근거하여, 상기 선두 1비트위치의 상기 번수값을 이진수로 표시한 신호를 출력하는 인코드수단과 ; 상기 지수부입력신호와 상기 인코드수단의 출력신호와 상기 제어신호를 받아, 상기 제어신호가 상기 제1레벨에 있을 때에는 상기 지수부입력신호와 상기 인코드수단의 상기 출력신호와의 감산결과를 지수부출력신호로서 출력하고, 상기 제어신호가 상기 제2레벨에 있을 때에는 0값을 지수부출력신호로서 0값을 출력하는 지수부출력신호결정수단을 구비하고 있고, 상기 선두 1비트위치의 상기 번수값은 상기 최상위비트자체를 포함하지 않는 상기 최상위비트의 위치로부터 각 비트위치를 계산함으로써 얻어진 값에 해당한다.
본 발명의 제2관점에 따른, 제1관점에 따른 부동소수점연산장치의 정규화회로장치에 있어서, 상기 제어신호생성수단은 상기 지수부입력신호를 받아 레퍼런스신호를 출력하는 레퍼런스신호생성수단과, 상기 레퍼런스신호와 상기 가수부 입력신호와의 AND처리를 하여, 더 상기 AND처리의 결과의 OR처리를 실행하여 상기 OR처리의 결과를 상기 제어신호로서 출력하는 논리연산수단을 구비하고 있고, 상기 레퍼런스신호에 있어서, 그 최상위비트위치로부터 상기 지수부입력신호에 따라서 정해지는 소정의 비트위치까지의 각 비트상태는 모두 1로 설정되고 또한 그 밖의 비트위치의 비트상태는 모두 0으로 설정되어 있다.
본 발명의 제3관점에 있어서의 제2관점의 부동소수점연산장치의 정규화회로장치에 있어서, 레퍼런스신호는 상기 지수부입력신호의 상기 10진수치에 1를 가한 값에 해당하는 위치수만 그 최상위비트위치로부터의 각 비트위치의 비트상태가 모두 1로 설정되고 또한 다른 비트위치의 비트상태가 모두 0으로 설정되어 있다.
본 발명의 제4관점에 있어서의 제2관점의 부동소수점연산장치의 정규화회로장치에 있어서, 상기 레퍼런스신호는 상기 지수부입력신호의 상기 10진수치에 해당하는 위치수만 그 최상위비트위치로부터의 각 비트위치의 비트상태가 모두 1로 설정되고 또한 다른 비트위치의 비트상태가 모두 0으로 설정되어 있다.
본 발명의 제5관점에 있어서의 제2관점의 부동소수점연산장치의 정규화회로장치에 있어서, 상기 레퍼런스신호생성수단은 상기 지수부입력신호를 디코드하는 디코더수단과, 상기 디코더수단의 출력신호를 받아, 상기 레퍼런스신호를 생성하는 주된 레퍼런스신호생성수단을 구비하고 있다.
본 발명의 제6관점에 있어서의 제5관점의 부동소수점연산장치의 정규화회로장치는 상기 가수부입력신호를 받아, 상기 가수부입력신호의 상기 선두 1비트위치를 검출하는 선두 1검출수단과, 그 최상위비트를 제외한 상기 선두 1검출수단의 출력신호와 상기 디코더수단의 상기출력신호와 상기 제어신호를 받아, 상기 제어신호가 상기 제1레벨에 있을 때에는 상기 선두1검출수단의 출력신호를 선택하고, 상기 제어신호가 상기 제2레벨에 있을 때에는 상기 디코더수단의 상기 출력신호를 선택하는 선택수단과, 상기 선택수단의 출력신호와 상기 선두1검출수단의 상기 출력신호내에서 상기 최상위비트를 제공하는 부분에 근거하여 상기 가수부입력신호를 시프트하고 가수부출력신호를 생성하는 시프터수단을 더 구비하고 있다.
이 관점에 있어서는, 가수부입력신호가 0인 것을 검출하기 위한 회로를 설치할 필요가 없다.
더우기, 통상, 부동소수점가산기든지 부동소수점승산기 등의 부동소수점연산장치에 있어서 정규화회로까지의 신호전달에 필요한 시간은 지수부입력신호보다도 가수부입력신호쪽이 시간을 더 요한다.
이것은, 일반적으로 지수부보다도 가수부쪽이 비트폭이 넓어, 계산이 복잡하게 되기 때문이다.
따라서, 일반적인 부동소수점연산장치전체의 최지연경로(요컨대, 크리티컬패스)내에 정규화회로장치가 포함되는 경우에는, 가수부입력신호로부터 가수부출력신호까지의 경로가 크리티컬패스로 되는 경우가 대단히 많다고 생각된다.
본 발명의 이 관점에 있어서, 최지연경로(크리티컬패스)는 가수부입력신호로부터 선두1검출수단→선택수단→시프터수단→가수부출력신호까지 이르는 경로로 되어, 고속인 정규화회로장치를 실현할 수 있다.
본 발명의 제7관점에 있어서의 제2관점의 부동소수점연산장치의 정규화회로장치에 있어서, 실제로 입력된 상기 가수부입력신호의 비트폭및 규격에 의해 미리 정해진 가수부출력신호의 비트폭을 각각 x 비트및 y 비트인 것으로 하면, 상기 정규화회로장치는 상기 지수부입력신호를 디코드하는 디코더 수단과 ; 상기 가수부입력신호를 받아, 상기 가수부입력신호의 상기 선두1비트위치를 검출하는 선두1검출수단과 ; 그 최상위비트를 제외한 상기 선두1검출수단의 출력신호를 받아, 해당 출력신호의 각 비트상태를 그 최하위비트측으로 1비트분씩 시프트하고, 또한 상기 최하위비트의 비트상태를 입력한 상기 출력신호의 최상위비트의 비트상태로 설정하는 제1시프트수단과 ; 상기 제1시프트수단의 출력신호와 상기 디코더수단의 상기 출력신호와 상기 제어신호를 받아, 상기 제어신호가 상기 제1레벨에 있을 때에는 상기 시프트수단의 상기 출력신호를 선택하고, 상기 제어신호가 상기 제2레벨에 있을 때에는 상기 디코더수단의 상기 출력신호를 선택하는 선택수단과 ; 상기 선택수단의 상기출력신호와 상기 최상위비트를 제공하는 상기 선두1검출수단의 상기 출력신호의 일부에 따라, 상기 x 비트의 상기 가수부입력신호를 상기 y비트의 신호로 시프트하여, 시프트후의 상기 y비트의 신호를 상기 가수부출력신호로서 출력하는 제2시프트수단을 더 구비하고, 상기 제2시프트수단은 상기 선택수단이 상기 제1시프트수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 최상위비트를 삭제하고, 또한 그 최하위비트를 포함해서 (x-y-1)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부입력신호를 시프트하고, 상기 선택수단이 상기 디코더수단의 상기출력신호를 출력할 때에는, 상기 가수부입력신호의 상기 최하위비트를 포함해서 (x-y)로 주어진 수만 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부입력신호를 시프트한다.
본 발명의 제8관점에 있어서의 제7관점의 부동소수점연산장치의 정규화회로장치에 있어서, 상기 제1시프트수단은 상기 최상위비트를 제외한 상기 선두1검출수단의 상기 출력신호의 출력포트와 상기 선택수단의 한쪽의 입력포트를 접속하는 배선충만에 의해서 실현되어 있고, 상기 선택수단의 다른쪽의 입력포트에는 상기 디코더수단의 상기 출력신호가 입력한다.
본 발명의 제9관점에 있어서의 제2관점의 부동소수점연산장치의 정규화회로장치에 있어서, 실제로 입력하는 상기 가수부입력신호의 비트폭 및 규격에 의해 미리 정해지는 가수부출력신호의 비트폭을 각각 x 비트 및 y비트인 것으로하면, 상기 인코드수단은 가수부입력신호를 받아, 가수부입력신호의 선두1비트위치를 검출하는 선두1비트검출수단과, 선두1검출수단의 검출결과를 인코드하고, 선두1비트위치의 번수값을 바이너리값으로 표시하는 상기 신호를 출력하는 인코드회로를 구비하고, 상기 정규화회로장치는 지수부입력신호를 디코드하는 디코드수단과 ; 그 최상위비트를 제외한 상기 선두1검출수단의 출력신호를 받아, 해당 출력신호의 각 비트상태를 그 최하위비트측으로 1비트분씩 시프트하고, 또한 상기 최하위비트의 비트상태를 입력한 상기 출력신호의 최상위비트의 비트상태로 설정하는 제1시프트수단과 ; 상기 제1시프트수단의 출력신호와 상기 디코더수단의 상기 출력신호와 상기 제어신호를 받아, 상기 제어신호가 상기 제1레벨에 있을 때에는 상기 시프트수단의 상기 출력신호를 선택하고, 상기 제어신호가 상기 제2레벨에 있을 때에는 상기 디코더수단의 상기 출력신호를 선택하는 선택수단과 ; 상기 선택수단의 상기출력신호와 상기 선두1검출수단의 상기 출력신호내에서 상기 최상위비트를 제공하는 부분에 응해서, 상기 x비트의 상기 가수부입력신호를 상기 y비트의 신호에 시프트하여, 시프트후의 상기 y비트의 신호를 상기 가수부출력신호로서 출력하는 제2시프트수단을 더 구비하고, 상기 제2시프트수단은 상기 선택수단이 상기 제1시프트수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 최상위비트를 삭제하고, 또한 그 최하위비트를 포함해서 (x-y-1)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부입력신호를 시프트하고, 상기 선택수단이 상기 디코더 수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 상기 최하위비트를 포함해서 (x-y)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부입력신호를 시프트한다.
본 발명의 제10관점에 있어서의 제9관점의 부동소수점연산장치의 정규화회로장치에 있어서, 상기 제1시프트수단은 상기 최상위비트를 제외한 상기 선두1검출수단의 상기 출력신호의 출력포트와 상기 선택수단의 한쪽의 입력포트를 접속하는 배선층에 의해서만 실현되어 있고, 상기 선택수단의 다른쪽의 입력포트에는 상기 디코더수단의 상기 출력신호가 입력한다.
본 발명의 제11관점에 있어서의 제5관점의 부동소수점연산장치의 정규화회로장치에 있어서, 실제로 입력하는 상기 가수부입력신호의 비트폭 및 규격에 의해 미리 정해지는 가수부출력신호의 비트폭을 각각 x 비트 및 y비트인 것으로 하면, 상기 정규화회로는 상기 가수부입력신호를 받아, 상기 가수부입력신호의 선두1비트위치를 검출하는 선두1검출수단과 ; 그 최상위비트를 제외한 상기 선두1검출수단의 출력신호를 받아, 해당 출력신호의 각 비트상태를 그 최하위비트측으로 1비트분씩 시프트하고, 또한 상기 최하위비트의 비트상태를 입력한 상기 출력신호의 최상위비트의 비트상태로 설정하는 제1시프트수단과 ; 상기 제1시프트수단의 출력신호와 상기 디코더수단의 상기출력신호와 상기 제어신호를 받아, 상기 제어신호가 상기 제1레벨에 있을 때에는, 상기 시프트수단의 상기 출력신호를 선택하고, 상기 제어신호가 상기 제2레벨에 있을 때에는, 상기 디코더수단의 상기 출력신호를 선택하는 선택수단과 ; 상기 선택수단의 상기출력신호와 상기 선두1검출수단의 상기 출력 신호내에서 상기 최상위비트를 제공하는 부분에 응해서, 상기 x비트의 상기 가수부입력신호를 상기 y비트의 신호에 시프트하고, 시프트후의 상기 y비트의 신호를 상기 가수부출력신호로서 출력하는 제2시프트수단을 더 구비하고, 상기 제2시프트수단은 상기 선택수단이 상기 제1시프트수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 최상위비트를 삭제하고, 또한 그 최하위비트를 포함해서 (x-y-1)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부입력신호를 시프트하고, 상기 선택수단이 상기 디코더수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 상기 최하위비트를 포함해서 (x-y)로 주어진 수만의 상기 최하위 비트측의 각 비트를 삭제하도록 상기 가수부입력신호를 시프트한다.
본 발명의 제12관점에 있어서의 제11관점의 부동소수점연산장치의 정규화회로장치에 있어서, 상기 제1시프트수단은 상기 최상위비트를 제외한 상기 선두1검출수단의 상기 출력신호의 출력포트와 상기 선택수단의 한쪽의 입력포트를 접속하는 배선층에 의해서만 실현되어 있고, 상기 선택수단의 다른쪽의 입력포트에는 상기 디코더수단의 상기 출력신호가 입력한다.
본 발명의 제13관점에 있어서의 제5관점의 부동소수점연산장치의 정규화회로장치에 있어서, 실제로 입력하는 상기 가수부입력신호의 비트폭 및 규격에 의해 미리 정해지는 가수부출력신호의 비트폭을 각각 x 비트 및 y비트인 것으로 하면, 상기 인코드수단은 가수부입력신호를 받아, 가수부입력신호의 선두1비트위치를 검출하는 선두1검출수단과, 선두1검출수단의 검출결과를 인코드하고, 선두1비트위치의 번수값을 바이너리값으로 표시하는 상기 신호를 출력하는 인코드회로를 구비하고 상기 정규화회로장치는 그 최상위비트를 제외한 상기 선두1검출수단의 출력신호를 받아, 해당 출력신호의 각 비트상태를 그 최하위비트측으로 1비트분씩 시프트하고, 또한 상기 최하위비트의 비트상태를 입력한 상기 출력신호의 최상위비트의 비트상태로 설정하는 제1시프트수단과 ; 상기 제1시프트수단의 출력신호와 상기 디코더수단의 상기 출력신호와 상기 제어신호를 받아, 상기 제어신호가 상기 제1레벨에 있을 때에는 상기 시프트수단의 상기 출력신호를 선택하고, 상기 제어신호가 상기 제2레벨에 있을 때에는 상기 디코더수단의 상기 출력신호를 선택하는 선택수단과 ; 상기 선택수단의 상기 출력신호와 상기 선두1검출수단의 상기 출력신호내에서 상기 최상위비트를 제공하는 부분에 응해서, 상기 x비트의 상기 가수부입력신호를 상기 y비트의 신호에 시프트하여, 시프트후의 상기 y비트의 신호를 상기 가수부출력신호로서 출력하는 제2시프트수단을 더 구비하고, 상기 제2시프트수단은 상기 선택수단이 상기 제1시프트수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 최상위비트를 삭제하고, 또한 그 최하위비트를 포함해서 (x-y-1)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부입력신호를 시프트하고, 상기 선택수단이 상기 디코더수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 상기 최하위비트를 포함해서 (x-y)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부입력신호를 시프트한다.
본 발명의 제8, 제10, 제12및 제14관점에 있어서의 제7, 제9, 제11및 제13관점의 어느 한항의 부동소수점연산장치의 정규화회로장치에 있어서, 상기 제1시프트수단은 상기 최상위비트를 제외한 상기 선두1검출수단의 상기 출력신호의 출력포트와 상기 선택수단의 한쪽의 입력포트를 접속하는 배선층에 의해서만 실현되고, 상기 선택수단의 다른쪽의 입력포트에는 상기 디코더수단의 상기 출력신호가 입력한다.
본 발명의 제15관점에 있어서의 소정의 부동소수점연산처리를 이루어지고 전달되는 이진수값으로서 표현된 가수부입력신호와 지수부입력신호에 대하여 정규화를 하는 부동소수점연산장치의 정규화회로장치는 상기 가수부입력신호와 상기 지수부입력신호를 받아, 상기 지수부입력신호를 디코드하고, 상기 가수부입력신호와 상기 지수부입력신호에 근거하여 상기 정규화회로장치의 출력결과가 정규화수인지, 비정규화수인지, 그렇지않으면 상기 가수부입력신호가 0값을 제공하는 0기능상태인지를 판단하여, 상기 정규화수로 되는 경우에는 제1레벨의 제어신호를 생성하고, 상기 비정규화수로 되는 경우 및 상기 0기능상태로 되는 경우에는 제2레벨의 상기 제어신호를 생성하는 제어신호생성수단과 ; 상기 가수부입력신호를 받아, 상기 가수부입력신호의 상기 선두1비트위치를 검출하는 선두1검출수단과 ; 그 최상위비트를 제외한 상기 선두1검출수단의 출력신호를 받아, 해당 출력신호의 각 비트상태를 그 최하위 비트측으로 1비트분씩 시프트하고, 또한 상기 최하위비트의 비트상태를 입력한 상기 출력신호의 최상위비트의 비트상태로 설정하는 제1시프트수단과 ; 상기 제1시프트수단의 출력신호와 상기 디코더수단의 상기 출력신호와 상기 제어신호를 받아, 상기 제어신호가 상기 제1레벨에 있을 때에는 상기 제1시프트수단의 상기 출력신호를 선택하고, 상기 제어신호가 상기 제2레벨에 있을 때에는 상기 디코더수단의 상기 출력신호를 선택하는 선택수단과 ; 상기 선택수단의 상기 출력신호와 상기 선두1검출수단의 상기 출력신호내에서 상기 최상위비트를 제공하는 부분과 응해서, x비트의 상기 가수부입력신호를 y비트의 신호에 시프트하고, 시프트후의 상기 y비트의 신호를 상기 가수부출력신호로서 출력하는 제2시프트수단을 구비하고, 상기 x비트 및 상기 y비트는 각각 실제로 입력하는 상기 가수부입력신호의 비트폭및 규격에 의해 미리 정해지는 가수부출력신호의 비트폭이고, 상기 제2시프트수단은 상기 선택수단이 상기 제1시프트수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 최상위비트를 삭제하고, 또한 그 최하위비트를 포함해서 (x-y-1)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부입력신호를 시프트하고, 상기 선택수단이 상기 디코더수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 상기 최하위비트를 포함해서 (x-y)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부입력신호를 시프트한다.
본 발명의 제16관점에 있어서의 제15관점의 부동소수점연산장치의 정규화회로장치에 있어서, 상기 제1시프트수단은 상기 최상위비트를 제외한 상기 선두1검출수단의 상기 출력신호의 출력포트와 상기 선택수단의 한쪽의 입력포트를 접속하는 배선층에 의해서만 실현되어 있고, 상기 선택수단의 다른쪽의 입력포트에는 상기 디코더수단의 상기 출력신호가 입력한다.
본 발명의 제17관점에 있어서의 제16관점의 부동산소수점연산장치의 정규화회로장치에 있어서, 상기 제어신호생성수단은 입력한 상기 지수부입력신호에 대하여 우선 디코드하고, 디코드된 상기 지수부입력신호와 상기 가수부입력신호에 근거하여 상기 판단을 실행한다.
본 발명의 목적은 부동소수점연산장치에 있어서, 정규화, 비정규화, 0기능의 모두를 실현할 수 있는 고속인 정규화회로장치를 회로규모의 증대화를 초래하지 않고, 간단한 회로구성으로 실현되는 것이다.
본 발명의 다른 목적, 특징, 관점 및 이점은 첨부도면에 의거하여 이하 본 발명의 상세할 설명으로 부터 더 분명해진다.
[발명의 실시의 형태]
제1도는 부동소수점연산장치의 개략구성을 나타내는 블럭도이다.
부동소수점연산에 있어서, 제1도의 연산회로(50)에 의해서 행하여진 연산결과의 출력(바이너리값)에 대하여, 통상 정규화를 하고, 가수부가 1≤가수부2의 범위내(1. △△△△의 형식 : △은 1 또는 0을 의미하는)에 있도록 한다.
단지, 지수부가 0의 경우에는, 비정규화수로서, 그 가수부를 1보다 작은 수(0. △△△의 형식)으로 나타낸다.
이것들의 연산은, 잘 알려진바와 같이, IEEE 754 규격에 준한다.
더우기, 가수부가 0의 경우에는, 지수부도 0로 한다(이것을, 0기능이라고 부른다.).
이하에 말하는 각 실시의 형태는, 이러한 연산(정규화연산, 비정규화연산, 0기능연산)을 하는 정규화회로장치(1)(제 1 도)에 관한 것이다.
[실시의 형태 1]
부동소수점연산장치에 있어서의 정규화회로장치(1)의 일례를 제 2 도에 나타낸다.
제2도에 있어서, 각 참조부호는 각각 다음 것을 나타낸다.
즉, 2는 프라이어러티 인코더회로, 3는 레퍼런스신호생성회로, 4는 디코더회로, 5는 리딩1디텍터회로, 6는 감산기회로, 7a,7b는 멀티플렉서회로, 즉 MUX회로, 8은 AND 게이트회로, 9는 OR 게이트회로, 10는 시프터회로이다.
각부 3,8,9는, 중핵부분인 「제어신호생성부(20)」를 형성한다.
이 제어신호생성부(20)는, 후의 설명으로부터 분명한 종류로서, 가수부입력신호와 지수부입력신호를 받아, 지수부입력신호가 주는 10진수값이 가수부입력신호의 최상위비트로부터 본 비트상태가 최초로 1로 되는 비트위치로서의 선두1비트위치의 번수값 이상일 때에는 제1레벨의 제어신호를 생성하고, 지수부입력신호의 상기 10진수값이 선두1비트위치의 번수값미만일 때 또는 가수부입력신호가 0값을 줄 때에는 제2레벨의 제어신호를 생성한다.
또, 출력신호(B)의 최상위비트(B24)의 출력라인은 라인(5A)이다.
또한, 제2도에 있어서, 기호(A)는 지수부의 입력값을 주는 지수부입력신호를, 기호(B)는 가수부의 입력값을 주는 가수부입력신호를, 신호(C)는 지수부의 출력값을 주는 지수부출력신호를, 각각 나타낸다.
또한, 기호(D)는 가수부입력신호(B)를 정규화하기위한 이동량(시프트량)을 나타내는 값을 주는 시프터제어신호이다.
더욱, 기호(E)는 가수부의 출력값을 주는 가수부출력신호를 나타낸다.
한편, 신호(A,B)를 단지 입력신호로서 칭해도 좋고, 신호(C,E)를 단지 출력신호로서 칭해도 좋다.
다음에, 지수부(A,C)를 8비트, 가수부(B,E)를 24비트, 이동량(D)을 25비트로 한 경우에 있어서의, 이 회로(1)의 각 부의 기능에 관해서 설명한다.
디코더회로(4)는 바이너리값으로 표현된 입력신호(A)를 디코드하는 회로이다.
그 진리치표를 제3도, 제4도에 나타낸다.
또한, 입력이 8비트의 경우의 디코더회로(4)의 구체적 구성의 일예를 제5도에 나타낸다. 제5도에 있어서, 참조부호(11)는 인버터(NOT 게이트회로), 참조부호(12)는 AND 게이트회로이다.
리딩1디텍터회로(5)는 입력신호(B)의 최상위비트로부터 최하위비트측으로 향하여 순차 검색하여, 처음으로 1이 존재하는 비트위치의 비트상태만을 1이라고 하고, 그 밖의 비트위치의 비트상태를 모두 0이라고 하는 회로이다.
제6도~제8도에, 입력이 24bit의 경우의 리딩1디텍터회로(5)의 진리치표를 나타낸다.
또한, 입력이 24bit의 경우의 리딩1디텍터회로(5)의 구체적 구성의 일예를 제9도에 나타낸다.
제9도에 있어서, 참조부호(11)는 인버터(NOT 게이트회로), 참조부호(12)는 AND 게이트회로이다.
단지, 제6도~제8도의 진리치표를 나타낸바와 같이, 입력신호(B)가 0의 때는, 출력신호(B)의 최상위비트(B24)가 1이고, 그 밖의 비트(B23~B0)는 모두 0으로 한다.
이 예외적 처리는 「0기능」의 실현을 고려한 것이다.
프라이어러티인코더회로(2)는 입력신호(B)의 최상위비트(B23)로 부터 최하위비트(B0)로 향하여 순차 검색하여, 처음으로 1이 존재하는 비트위치의 최상위비트(B23)로부터 센 번수값으로부터 1을 뺀 수를 바이너리값으로 나타낸 회로이다.
즉, 출력신호(B')의 비트폭은 입력신호(B)가 n비트의 경우에는, int((log2(n-1))+1)비트가 된다.
따라서, 프라이어러티인코더회로(2)의 입력신호(B)가 24비트의 경우에는, 출력신호(B')의 비트폭은 5비트가 된다.
제10도 및 제11도에, 입력이 24bit의 경우에 있어서의 프라이어러티 인코더회로(2)의 진리치표를 나타낸다.
단지, 프라이어러티인코더회로(2)에 있어서, 입력신호(B)의 값이 모두 0의 경우에는, 출력신호(B')의 값은 0으로 설정된다.
이 예외적 처리는 특별한 의미를 갖지 않는다.
또, 이 회로(2)는 가수부입력신호에 근거하여, 선두1비트위치의 번수값을 이진수표시한 신호를 출력하는 인코드부에 해당한다.
레퍼런스신호생성회로(3)는 바이너리값으로 표현된 입력신호(A)의 10진수값에 1를 가한 값의 수만, 그 출력신호(A)의 최상위비트위치로부터 각 비트위치의 비트상태를 1로 설정하는 회로이다.
제12도 및 제13도에, 레퍼런스신호생성회로(3)의 진리치표를 나타낸다.
또한, 레퍼런스신호생성회로(3)의 구체적 구성의 일예를 제14도에 나타낸다.
제14도에 있어서, 참조부호(12)는 AND 게이트회로, 참조부호(13)는 AND-OR 게이트회로, 참조부호(14)는 OR 게이트회로이다.
단지, 레퍼런스신호생성회로(3)에 있어서, 입력신호(A)의 값이 23이상의 경우에는, 출력신호(A)의 각 비트값은 모두 1로 설정된다.
AND 게이트회로(8)는 신호(A 및 B)의 각 비트마다 AND 연산을 하여, 신호(G)를 출력한다.
즉, G0=A0B0, G1=A1B1, …,G22=A22B22, G23=A23B23가 된다.
OR 게이트회로(9)는 출력신호(G)의 전비트의 OR 연산을 하여, 출력신호(G')를 출력한다.
즉, G'=G0OR G1OR G2OR…OR G22OR G23의 관계식이 성립한다.
한편, 2개의 게이트회로(8 및 9)는 레퍼런스신호와 가수부입력신호와의 AND처리를 하고, 또한 논리적처리의 결과의 논리합처리를 실행하여, 논리합처리의 결과를 제어신호로서 출력하는 논리연산부를 형성한다.
감산회로(6)와 MUX 회로(7b)(선택부에 해당)는 지수부입력신호(A)와 인코드수단(22)의 출력신호(B')와 제어신호(G')를 받아, 제어신호(G')가 제1레벨에 있을 때에는 지수부입력신호(A)와 인코드수단(2)의 출력신호(B')와의 감산결과를 지수부출력신호(C)로서 출력하고, 제어신호(G')가 제2레벨에 있을 때에는 0값을 지수부출력신호(C)로서 출력하는 지수부출력신호결정부를 구성한다.
감산기회로(6)는 입력신호(A), 출력신호(B')를 각각 입력신호(S, R)로 하고, 이 입력신호(S, R)에 대하여 감산처리를 하여, 그 감산결과를 출력신호단자(S-R)로부터 출력신호(H)로서 출력한다.
MUX 회로(7)(7a, 7b)는 제어신호(G')를 제어신호(S)로서 수신하여, 이 제어신호(S)의 레벨에 따라, 입력신호(P(회로(7b)에서는 접지), Q(회로(7b)에서는 출력신호(H)와 같은))를 선택하는 회로이다.
즉, 제어신호(S)가 0의 경우에는, 출력신호(C)로서 입력신호(P)가 선택되고, 제어신호(S)가 1의 때에는, 출력신호(C)로서 입력신호(Q)가 선택된다.
제어신호(S 또는 G')의 한쪽의 레벨값 1을 「제1레벨」이라고 부르면, 다른쪽의 레벨값 0은 「제2레벨」이라고 부른다.
시프터회로(10)는 제어신호(D(T))의 값에 응해서, 입력신호(B)를 시프트하는 회로이다.
제어신호(D)가 25bit의 경우로 할 때의 그 진리치표를 제15도~제17도에 나타낸다.
또한, 시프터회로(10)의 구체적 구성의 일예를 제18도 및 제19도에 나타낸다.
제18도, 제19도에 있어서, 참조부호(15)는 N채널 MOS형 FET이다.
다음에, 회로동작에 관해서 설명한다.
우선, 지수부의 입력신호(A), 가수부의 입력신호(B)를 각각 A=127, B=0000 0001 0001 0001 0001 0001로 한 경우에 관해서, 그 회로동작을 생각한다.
(1) 레퍼런스신호생성회로(3)의 출력신호(A)의 값은 아래와 같이 얻어진다.
A=1111 1111 1111 1111 1111 1111.
(2) AND 게이트회로(8)의 출력신호(G)의 값은 아래와 같이 얻어진다.
G=0000 0001 0001 0001 0001 0001.
(3) OR 게이트회로(9)의 출력신호, 또는 제어신호(G')의 값은 아래와 같이 얻어진다.
G'=|G→1.
(4) 프라이어러티인코더회로(2)의 출력신호(B')의 값은 B'=7로 된다.
(5) 감산기회로(6)의 출력신호(H)의 값은 아래와 같이 얻어진다.
H=A-B'→127-7→120.
(6) MUX 회로(7b)의 출력신호(C)의 값은, 아래와 같이 얻어진다.
C=G' ? H=0→1 ? 120 : 0→120.
(7) 디코더회로(4)의 출력신호(A')의 값은 아래와 같이 얻어진다.
A'=0000 0000 0000 0000 0000 0000.
(8) 리딩1디텍터회로(5)의 출력신호(B)의 값은 아래와 같이 얻어진다.
B=0000 0000 10000 0000 0000 0000.
(9) MUX 회로(7a)의 출력신호(D)의 값은, 아래와 같이 얻어진다.
D=0 0000 0001 0000 0000 0000 0000.
(10) 시프터회로(10)의 출력신호(E)의 값은, 아래와 같이 얻어진다.
E=1000 1000 1000 1000 1000 0000.
상기 상태와 같이, 이 정규회로(1)는 정확하게 정규화연산을 실행한다.
다음에, A=5, B=0000 0001 0001 0001 0001 0001의 경우에 관해서 검토한다.
(1) 레퍼런스신호생성회로(3)의 출력신호(A)의 값은 아래와 같이 얻어진다.
A=1111 1100 0000 0000 0000 0000.
(2) AND 게이트회로(8)의 출력신호(G)의 값은 아래와 같이 얻어진다.
G=0000 0000 0000 0000 0000 0000.
(3) OR 게이트회로(9)의 출력신호(G')의 값은 G'=|G→0로 된다.
(4) 프라이어러티인코더회로(2)의 출력신호(B')의 값은 B'=7로 된다.
(5) 감산기회로(6)의 출력신호(H)의 값은, 아래와 같이 얻어진다.
H=A-B'→5-7→-2.
(6) MUX 회로(7b)의 출력신호(C)의 값은, 아래와 같이 얻어진다.
C=G' ? H : 0→0 ? -2=0→0.
(7) 디코더회로(4)의 출력신호(A')의 값은 아래와 같이 얻어진다.
A'=0000 0100 0000 0000 0000 0000.
(8) 리딩1디텍터회로(5)의 출력신호(B)의 값은, 아래와 같이 얻어진다.
B=0 0000 0001 0000 0000 0000 0000.
(9) MUX 회로(7a)의 출력신호(D)의 값은, 아래와 같이 얻어진다.
D=0 0000 0100 0000 0000 0000 0000.
(10) 시프터회로(10)의 출력신호(E)의 값은, 아래와 같이 얻어진다.
E=0010 0010 0010 0010 0010 0000.
상기 상태와 같이, 이 회로(1)는 비정규화연산을 정확하게 실행하고 있다.
또한, A=7, B=0000 0001 0001 0001 0001 0001의 경우에 관해서 검토한다.
(1) 레퍼런스신호생성회로(3)의 출력신호(A)의 값은, 아래와 같이 얻어진다.
A=1111 1111 0000 0000 0000 0000.
(2) AND 게이트회로(8)의 출력신호(G)의 값은, 아래와 같이 얻어진다.
G=0000 0000 0000 0000 0000 0000.
(3) OR 게이트회로(9)의 출력신호(G')의 값은, G'=|G→0로 된다.
(4) 프라이어러티인코더회로(2)의 출력신호(B')의 값은 B'=0로 된다.
(5) 감산기회로(6)의 출력신호(H)의 값은 아래와 같이 얻어진다.
H=A-B'→127-0→127.
(6) MUX 회로(7b)의 출력신호(C)의 값은, 아래와 같이 얻어진다.
C=G' ? H=0→0 ? 120 : 0→0.
(7) 디코더회로(4)의 출력신호(A')의 값은 아래와 같이 얻어진다.
A'=0000 0001 0000 0000 0000 0000.
(8) 리딩1디텍터회로(5)의 출력신호(B)의 값은, 아래와 같이 얻어진다.
B=0 0000 0001 0000 0000 0000 0000.
(9) MUX 회로(7a)의 출력신호(D)의 값은, 아래와 같이 얻어진다.
D=0 0000 0001 0000 0000 0000 0000.
(10) 시프터회로(10)의 출력신호(E)의 값은, 아래와 같이 얻어진다.
E=1000 1000 1000 1000 1000 0000.
또한, A=127, B=0000 0000 0000 0000 0000 0000의 경우에 관해서 검토한다.
(1) 레퍼런스신호생성회로(3)의 출력신호(A)의 값은, 아래와 같이 얻어진다.
A=1111 1111 0000 0000 0000 0000.
(2) AND 게이트회로(8)의 출력신호(G)의 값은, 아래와 같이 얻어진다.
G=0000 0000 0000 0000 0000 0000.
(3) OR 게이트회로(9)의 출력신호(G')의 값은, G'=|G→0로 된다.
(4) 프라이어러티인코더회로(2)의 출력신호(B')의 값은 B'=0로 된다.
(5) 감산기회로(6)의 출력신호(H)의 값은 아래와 같이 얻어진다.
H=A-B'→127→0→127.
(6) MUX 회로(7b)의 출력신호(C)의 값은, 아래와 같이 얻어진다.
C=G' ? H=0→1 0 ? : 127=0→0.
(7) 디코더회로(4)의 출력신호(A')의 값은, 아래와 같이 얻어진다.
A'=0000 0000 0000 0000 0000 0000.
(8) 리딩1디텍터회로(5)의 출력신호(B)의 값은, 아래와 같이 얻어진다.
B=1 0000 0000 0000 0000 0000 0000.
(9) MUX 회로(7a)의 출력신호(D)의 값은, 아래와 같이 얻어진다.
D=1 0000 0000 0000 0000 0000 0000.
(10) 시프터회로(10)의 출력신호(E)의 값은, 아래와 같이 얻어진다.
E=0000 0000 0000 0000 0000 0000.
이상과 같이, 이 정규화회로(1)에 있어서는, 가수부 및 지수부를 직접 입력으로서, 가수부측 및 지수부측의 각각 MUX 회로(7a, 7b)를 제어하는 제어신호(G')를 생성하는 제어신호생성부(20)를, 지수부측의 처리경로내에 설치하는 것에 의해, (1) 정규화연산처리, (2) 비정규화연산처리, (3) 「0기능」연산처리의 각각을 고속 실행할 수 있다.
더구나, 상기 (3)을 실현하기 위해서는, 제43도로 나타내었던 것 같은 특별한 회로(106)를 별도 설치할 필요성도 없어졌다.
이러한 구성은, 이하 점을 기초로 하고 있다.
즉, 통상, 부동소수점가산기든지 부동소수점승산기등의 부동소수점연산장치에 있어서, 정규화회로까지의 신호전달에 필요한 시간은 지수부입력신호(A) 보다도 가수부입력신호(B)쪽이 시간을 더 요한다.
이것은, 일반적으로 지수부보다도 가수보족이 비트폭이 넓어, 계산이 복잡하게되기 때문이다.
따라서, 부동소수점연산장치 전체의 최지연경로는 정규화회로가 포함되는 경우에, 정규화회로에서의 가수부입력신호(B)에서의 가수부출력신호(E)까지의 경로에 의해 좌우된다.
이와 같이, 정규화회로내의 가수부측의 경로중에 부하를 많이 설치하지 않는 것이 바람직하다.
그래서, 본 발명에 있어서는, 제2도에 나타내는 것 같은 구성을 채용하고 있다.
이것에 의해, 최지연경로(크리티컬패스)는 가수부입력신호(B)에서 리딩1디텍터회로(5)→MUX 회로(7a)→시프터회로(10)→가수부출력신호(E)까지 이르는 경로로 되어, 고속인 정규화회로장치를 실현하는 것이 가능하게 된다.
이 경우, 가수부입력신호(B)가 입력되기전에, 레퍼런스신호생성회로(3) 및 디코더(4)의 연산은 종료해 있고, 출력신호(A, A')는 이미 생성되어 있다.
이것 때문에, AND, OR 게이트회로(8, 9)는 입력신호(B)의 입력에 응해서 즉시 제어신호(G')를 생성한다.
[실시의 형태1의 변형예 1]
또, 제2도의 회로에서, 레퍼런스신호생성회로(3)를 바이너리값으로 표현된 입력신호(A)의 10진수 값만, 출력신호(A)의 최상위로부터의 각 비트위치의 비트상태를 모두 1이라고 하는 회로로 바꿔도 좋다.
왜냐하면, 제2도에 있어서 A=B'의 경우, 즉, A'=B(23~0)의 경우에는, 입력신호(P, Q)중의 어느 하나를 MUX 회로(7a)에서 선택해도 좋다.
또한, A=B'로 부터, 감산회로(6)의 출력신호(H)는 H=A-B'=0로 되고, MUX 회로(7b)도 입력신호(P, Q)중의 어느 하나를 선택할 수 있기 때문에, 이 변형예 1에 있어서는, 양MUX 회로도 P를 선택한다.
제20도 및 제21도에, 이러한 기능으로 치환된 레퍼런스신호생성회로(3')의 진리치표를 나타낸다.
또한, 이 레퍼런스신호생성회로(3')의 구체적 구성의 일예를 제22도에 나타낸다.
제22도에 있어서, 참조부호(12)는 AND 게이트회로, 참조부호(13)는 AND-OR 게이트회로, 참조부호(14)는 OR 게이트회로이다.
단지, 레퍼런스신호생성회로(3')에 있어서, 입력신호(A)의 값이 24이상의 경우에는, 출력신호(A)의 값을 모두 1로 한다.
이러한 레퍼런스신호생성회로(3')를 사용할 때의 정규화회로(1)의 동작에 관해서 설명한다.
우선, 지수부의 입력신호(A)=127, 가수부의 입력신호(B)=0000 0001 0001 0001 0001 0001의 경우를 검토한다.
(1) 레퍼런스신호생성회로(3')의 출력신호(A)의 값은, 아래와 같이 얻어진다.
A=1111 1111 1111 1111 1111 1111.
(2) AND 게이트회로(8)의 출력신호(G)의 값은, 아래와 같이 얻어진다.
G=0000 0001 0001 0001 0001 0001.
(3) OR 게이트회로(9)의 출력신호(G')의 값은, G'=|G→1로 된다.
(4) 프라이어러티인코더회로(2)의 출력신호(B')의 값은 B'=7로 된다.
(5) 감산기회로(6)의 출력신호(H)의 값은 아래와 같이 얻어진다.
H=A-B'→127-7→120.
(6) MUX 회로(7b)의 출력신호(C)의 값은, 아래와 같이 얻어진다.
C=G' ? H:0→1 ? 120=0→120.
(7) 디코더회로(4)의 출력신호(A')의 값은 아래와 같이 얻어진다.
A'=0000 0000 0000 0000 0000 0000.
(8) 리딩1디텍터회로(5)의 출력신호(B)의 값은, 아래와 같이 얻어진다.
B=0 0000 0001 0000 0000 0000 0000.
(9) MUX 회로(7a)의 출력신호(D)의 값은, 아래와 같이 얻어진다.
D=0 0000 0001 0000 0000 0000 0000.
(10) 시프터회로(10)의 출력신호(E)의 값은, 아래와 같이 얻어진다.
E=1000 1000 1000 1000 1000 0000.
이상과 같이, 변형예1도 정확하게 정규화연산을 실행한다.
다음에, A=5, B=0000 0001 0001 0001 0001 0001를 생각한다.
(1) 레퍼런스신호생성회로(3')의 출력신호(A)의 값은, 아래와 같이 얻어진다.
A=1111 1000 0000 0000 0000 0000.
(2) AND 게이트회로(8)의 출력신호(G)의 값은, 아래와 같이 얻어진다.
G=0000 0000 0000 0000 0000 0000.
(3) OR 게이트회로(9)의 출력신호(G')의 값은, G'=|G→0로 된다.
(4) 프라이어러티인코더회로(2)의 출력신호(B')의 값은 B'=7로 된다.
(5) 감산기회로(6)의 출력신호(H)의 값은, 아래와 같이 얻어진다.
H=A-B'→5-7→-2.
(6) MUX 회로(7b)의 출력신호(C)의 값은, 아래와 같이 얻어진다.
C=G' ? H=0→0 ? -2 : 0→0.
(7) 디코더회로(4)의 출력신호(A')의 값은 아래와 같이 얻어진다.
A'=0000 0100 0000 0000 0000 0000.
(8) 리딩1디텍터회로(5)의 출력신호(B)의 값은, 아래와 같이 얻어진다.
B=0 0000 0001 0000 0000 0000 0000.
(9) MUX 회로(7a)의 출력신호(D)의 값은, 아래와 같이 얻어진다.
D=0 0000 0100 0000 0000 0000 0000.
(10) 시프터회로(10)의 출력신호(E)의 값은, 아래와 같이 얻어진다.
E=0010 0010 0010 0010 0010 0000.
이상과 같이, 변형예1은 확실히 비정규화연산을 실행하고 있다.
다음에, A=7, B=0000 0001 0001 0001 0001 0001의 경우는, 아래와 같이 된다.
(1) 레퍼런스신호생성회로(3')의 출력신호(A)의 값은, 아래와 같이 얻어진다.
A=1111 1100 0000 0000 0000 0000.
(2) AND 게이트회로(8)의 출력신호(G)의 값은, 아래와 같이 얻어진다.
G=0000 0000 0000 0000 0000 0000.
(3) OR 게이트회로(9)의 출력신호(G')의 값은, G'=|G→0로 된다.
(4) 프라이어러티인코더회로(2)의 출력신호(B')의 값은 B'=7로 된다.
(5) 감산기회로(6)의 출력신호(H)의 값은 아래와 같이 얻어진다.
H=A-B'→7-7→0.
(6) MUX 회로(7b)의 출력신호(C)의 값은, 아래와 같이 얻어진다.
C=G' ? H=0→0 ? 0 : 0→0.
(7) 디코더회로(4)의 출력신호(A')의 값은 아래와 같이 얻어진다.
A'=0000 0001 0000 0000 0000 0000.
(8) 리딩1디텍터회로(5)의 출력신호(B)의 값은, 아래와 같이 얻어진다.
B=0 0000 0001 0000 0000 0000 0000.
(9) MUX 회로(7a)의 출력신호(D)의 값은, 아래와 같이 얻어진다.
D=0 0000 0001 0000 0000 0000 0000.
(10) 시프터회로(10)의 출력신호(E)의 값은, 아래와 같이 얻어진다.
E=1000 1000 1000 1000 1000 0000.
이상과 같이, 변형예1도 정확하게 정규화연산을 실행하고 있다.
또한, A=127, B=0000 0000 0000 0000 0000 0000에 관해서, 검토한다.
(1) 레퍼런스신호생성회로(3')의 출력신호(A)의 값은, 아래와 같이 얻어진다.
A=1111 1111 1111 1111 1111 1111.
(2) AND 게이트회로(8)의 출력신호(G)의 값은, 아래와 같이 얻어진다.
G=0000 0000 0000 0000 0000 0000.
(3) OR 게이트회로(9)의 출력신호(G')의 값은, G'=|G→0로 된다.
(4) 프라이어러티인코더회로(2)의 출력신호(B')의 값은 B'=0로 된다.
(5) 감산기회로(6)의 출력신호(H)의 값은 아래와 같이 얻어진다.
H=A-B'→127-0→127.
(6) MUX 회로(7b)의 출력신호(C)의 값은, 아래와 같이 얻어진다.
C=G' ? H=0→0 ? 127 : 0→0.
(7) 디코더회로(4)의 출력신호(A')의 값은 아래와 같이 얻어진다.
A'=0000 0000 0000 0000 0000 0000.
(8) 리딩1디텍터회로(5)의 출력신호(B)의 값은, 아래와 같이 얻어진다.
B=1000000000000000000000000.
(9) MUX 회로(7a)의 출력신호(D)의 값은 아래와 같이 얻어진다.
D=1 0000 0000 0000 0000 0000 0000.
(10) 시프터회로(10)의 출력신호(E)의 값은 아래와 같이 얻어진다.
E=0000 0000 0000 0000 0000 0000.
이와 같이, 변형예 1도 「0기능」을 실현한다.
변형예1는, 본질적으로 제2도의 경우와 동일하기 때문에, 제 2 도의 정규화회로의 동일의 작용효과를 나타낸다.
[실시의 형태1의 변형예 2]
또, 제2도의 회로에서, 제23도에 나타낸 것같이, MUX 회로(7b)를 AND 게이트회로(16)로 바꿔 놓을 수 있다.
이 경우에는, 제어신호(G')가 0의 경우에, 지수부의 출력신호(C)가 0로 된다.
또한, 제어신호(G')가 1의 경우, 지수부의 출력신호(C)는 감산기회로(6)의 출력신호(H)와 같다.
[실시의 형태1의 변형예3]
더우기 제2도의 정규화회로에 대하여, 제23도의 나타낸것 같이 MUX회로(7b)를 AND 게이트회로(16)로 바꿔 놓고, 레퍼런스신호생성회로(3)를 제22도에 나타낸 레퍼런스생성회로(3')로 바꿔 놓아도 좋다.
[실시의 형태2]
부동소수점연산장치에 있어서의 정규화회로장치의 별도의 실시의 형태를 제 24 도에 나타낸다.
이 정규화회로(1A)의 특징점은, 제2도의 정규화회로(1)에 있어서의, 감산기회로(6)와 MUX 회로(7b)로 이루어지는 지수부출력신호결정부의 구성을 변형한 점이다.
제24도에 있어서, 참조부호(2)는 프라이어러티인코더회로, 3는 레퍼런스생성회로, 4는 디코더회로, 5는 리딩1디텍터회로, 6A는 감산기회로, 7a,7c는 MUX 회로(선택부), 8는 AND 게이트회로, 9는 OR 게이트회로, 10은 시프터회로이다.
MUX 회로(7c), 감산기회로(6A)를 제외하는 이들 부분은 제2도중의 대응하는 각 부분과 동일하다.
또한, 제24도에 있어서, 각 신호(A~E)는 제2도에 있어서의 대응하는 기호와 동일의 부분을 나타낸다.
MUX 회로(7c)는 제어신호(G')가 1의 때, 입력신호(Q(=B'))를 출력하고, 제어신호(G')가 0의 때, 입력신호(P(=A))를 출력한다.
다음에, 지수부(A, C)를 8비트, 가수부(B, E)를 24비트, 이동량(D)을 25비트로 한 경우의, 회로동작에 관해서 설명한다.
우선, 지수부의 입력신호(A), 가수부의 입력신호(B)를 각각, A=127, B=0000 0001 0001 0001 0001 0001로 한다.
(1) 레퍼런스신호생성회로(3)의 출력신호(A)의 값은, 아래와 같이 얻어진다.
A=1111 1111 1111 1111 1111 1111.
(2) AND 게이트회로(8)의 출력신호(G)의 값은, 아래와 같이 얻어진다.
G=0000 0001 0001 0001 0001 0001.
(3) OR 게이트회로(9)의 출력신호(G')의 값은, G'=|G→1로 된다.
(4) 프라이어러티인코더회로(2)의 출력신호(B')의 값은 B'=7로 된다.
(5) MUX 회로(7c)의 출력신호(H)의 값은, 아래와 같이 얻어진다.
H=G' ? B'=A→1 ? 7 : 127→7.
(6) 감산기회로(6A)의 출력신호(C)의 값은 아래와 같이 얻어진다.
H=A-H→127-7→120.
(7) 디코더회로(4)의 출력신호(A')의 값은 아래와 같이 얻어진다.
A'=0000 0000 0000 0000 0000 0000.
(8) 리딩1디텍터회로(5)의 출력신호(B)의 값은, 아래와 같이 얻어진다.
B=0 0000 0001 0000 0000 0000 0000.
(9) MUX 회로(7a)의 출력신호(D)의 값은, 아래와 같이 얻어진다.
D=0 0000 0001 0000 0000 0000 0000.
(10) 시프터회로(10)의 출력신호(E)의 값은, 아래와 같이 얻어진다.
E=1000 1000 1000 1000 1000 0000.
다음에, A=5, B=0000 0001 0001 0001 0001 0001로 한다.
(1) 레퍼런스신호생성회로(3)의 출력신호(A)의 값은, 아래와 같이 얻어진다.
A=1111 1100 0000 0000 0000 0000.
(2) AND 게이트회로(8)의 출력신호(G)의 값은, 아래와 같이 얻어진다.
G=0000 0000 0000 0000 0000 0000.
(3) OR 게이트회로(9)의 출력신호(G')의 값은, G'=|G→0로 된다.
(4) 프라이어러티인코더회로(2)의 출력신호(B')의 값은 B'=7로 된다.
(5) MUX 회로(7c)의 출력신호(H)의 값은, 아래와 같이 얻어진다.
H=G' ? B'=A→0 ? 7 : 5→5.
(6) 감산기회로(6A)의 출력신호(C)의 값은, 아래와 같이 얻어진다.
C=A-H→5-5→0.
(7) 디코더회로(4)의 출력신호(A')의 값은 아래와 같이 얻어진다.
A'=0000 0100 0000 0000 0000 0000.
(8) 리딩1디텍터회로(5)의 출력신호(B)의 값은, 아래와 같이 얻어진다.
B=0 0000 0001 0000 0000 0000 0000.
(9) MUX 회로(7a)의 출력신호(D)의 값은, 아래와 같이 얻어진다.
D=0 0000 0100 0000 0000 0000 0000.
(10) 시프터회로(10)의 출력신호(E)의 값은, 아래와 같이 얻어진다.
E=0010 0010 0010 0010 0010 0000.
더우기, A=7, B=0000 0001 0001 0001 0001 0001로 한다.
(1) 레퍼런스신호생성회로(3)의 출력신호(A)의 값은, 아래와 같이 얻어진다.
A=1111 1111 0000 0000 0000 0000.
(2) AND 게이트회로(8)의 출력신호(G)의 값은, 아래와 같이 얻어진다.
G=0000 0001 0000 0000 0000 0000.
(3) OR 게이트회로(9)의 출력신호(G')의 값은, G'=|G→1로 된다.
(4) 프라이어러티인코더회로(2)의 출력신호(B')의 값은 B'=7로 된다.
(5) MUX 회로(7c)의 출력신호(H)의 값은, 아래와 같이 얻어진다.
H=G' ? B'=A→1 ? 7 : 7→7.
(6) 감산기회로(6A)의 출력신호(C)의 값은 아래와 같이 얻어진다.
C=A-H→7-7→0.
(7) 디코더회로(4)의 출력신호(A')의 값은 아래와 같이 얻어진다.
A'=0000 0001 0000 0000 0000 0000.
(8) 리딩1디텍터회로(5)의 출력신호(B)의 값은, 아래와 같이 얻어진다.
B=0 0000 0001 0000 0000 0000 0000.
(9) MUX 회로(7a)의 출력신호(D)의 값은, 아래와 같이 얻어진다.
D=0 0000 0001 0000 0000 0000 0000.
(10) 시프터회로(10)의 출력신호(E)의 값은, 아래와 같이 얻어진다.
E=1000 1000 1000 1000 1000 0000.
또한, A=127, B=0000 0000 0000 0000 0000 0000로 한다.
(1) 레퍼런스신호생성회로(3)의 출력신호(A)의 값은, 아래와 같이 얻어진다.
A=1111 1111 1111 1111 1111 1111.
(2) AND 게이트회로(8)의 출력신호(G)의 값은, 아래와 같이 얻어진다.
G=0000 0000 0000 0000 0000 0000.
(3) OR 게이트회로(9)의 출력신호(G')의 값은, G'=|G→0로 된다.
(4) 프라이어러티인코더회로(2)의 출력신호(B')의 값은 B'=0로 된다.
(5) MUX 회로(7c)의 출력신호(H)의 값은, 아래와 같이 얻어진다.
H=G' ? B'=A→1 ? 0 : 127→127.
(6) 감산기회로(6A)의 출력신호(C)의 값은 아래와 같이 얻어진다.
C=A-H→127-127→0.
(7) 디코더회로(4)의 출력신호(A')의 값은 아래와 같이 얻어진다.
A'=0000 0000 0000 0000 0000 0000.
(8) 리딩1디텍터회로(5)의 출력신호(B)의 값은, 아래와 같이 얻어진다.
B=1 0000 0001 0000 0000 0000 0000.
(9) MUX 회로(7a)의 출력신호(D)의 값은, 아래와 같이 얻어진다.
D=1 0000 0000 0000 0000 0000 0000.
(10) 시프터회로(10)의 출력신호(E)의 값은, 아래와 같이 얻어진다.
E=0000 0000 0000 0000 0000 0000.
이상과 같이, 실시예 형태2에 있어서도 실시의 형태1와 동일의 효과를 얻는다.
또, 제24도의 회로에서, 레퍼런스신호생성회로(3)를 제22도에 나타낸 레퍼런스신호생성회로(3')로 바꿔 놓아도 좋다.
[실시의 형태3]
부동소수점연산장치에 있어서의 정규화회로장치의 별도의 실시의 형태를, 제25도에 나타낸다.
제25도의 정규화회로(1B)는 제2도의 정규화회로(1)의 인코드부의 개량에 관련된 것이고, 프라이어러티인코더(2) 대신에, 리딩1디텍터회로(5)의 출력을 인코드하는 인코더(17)를 구비한 점에 특징을 갖는다.
따라서, 여기서는, 양회로(5,17)가 상기 인코드부를 형성한다.
이것은, 제2도와 같이, 입력신호(B)를 직접 인코드화하는 경우에, 프라이어러티 인코더회로(2)의 논리회로구성이 복잡화하여, 정규화회로(1)중에 차지하는 그 면적이 증대하여, 대규모인 회로가 되는 문제점을 극복하는데 목적이 있다.
따라서, 제25도에 있어서, 인코더회로(17)를 제외하고, 다른 각 요소는 제2도중의 대응하는 부분과 동일하다.
또한, 제25도에 있어서, 각 기호(A~E)도, 제2도의 경우와 동일하다.
다음에, 지수부(A, C)를 8비트, 가수부(B, E)를 24비트, 이동량(D)을 25비트로 한 경우에 관해서, 설명한다.
인코더회로(17)는 리딩1디텍터(5)의 출력신호(B')를 그 입력신호로 하여, 해당 입력신호(B)의 최상위비트로부터 검색하고, 1이 존재하는 비트위치의 변수값으로부터 1를 뺀 수를 바이너리값으로 나타내는 회로이다.
즉, 출력신호(B')의 비트폭은 입력신호(B)가 n비트의 경우에는 {int(log2(n-1))+1}비트가 된다.
따라서, 인코더회로(17)의 입력신호(B)가 25비트의 경우에는, 출력신호(B')의 비트폭은 5비트가 된다.
제26도 및 제27도에, 입력된 25bit의 경우의 인코더회로(17)의 진리치표를 나타낸다.
또, 제28도에, 인코더회로(17)의 구체적 구성의 일례를 나타낸다.
제28도의 회로구성으로 부터 분명한 것같이, 논리회로의 구성이 용이화되기 때문에, 정규화회로내에서의 인코더회로(17)의 점유면적을 소규모인것으로 할 수 있다.
[실시의 형태3의 변형예1]
또, 제25도의 정규화회로(1B)에서, 레퍼런스신호생성회로(3)를 제22도에 나타낸 레퍼런스신호생성회로(3')로 바꿔 놓아도 좋다.
단지, 레퍼런스신호생성회로(3')에 있어서, 입력신호(A)의 값이 24이상의 경우에는, 출력신호(A)의 값을 모두 1로 한다.
[실시의 형태3의 변형예 2]
또한, 제25도의 정규화회로(1B)에서, MUX 회로(7b)를 AND 게이트회로(16)로 바꿔 놓을수 있다.
이 경우의 정규화회로의 구성을 제29도에 나타낸다.
[실시의 형태3의 변형예 3]
더욱이, 제29도에 나타낸 것같이, MUX 회로(7b)를 AND 게이트회로(16)로 바꿔 놓고, 또한 레퍼런스신호생성회로(3)를 제22도에 나타낸 레퍼런스신호생성회로(3')로 바꿔 놓더라도 좋다.
[실시의 형태4]
부동소수점연산장치에 있어서의 정규화회로장치의 별도의 실시의 형태를 제30도에 나타낸다.
이 정규화회로(1C)는 제25도의 정규화회로(1B)에 제24도의 정규화회로(1A)에서의 특징점을 적용한 것이다.
즉, 제25도의 회로(6,7b)의 조합으로 이루어지는 지수부출력신호결정부를 제30도의 회로(7C, 6)의 조합으로 치환하고 있다.
또, 제30도의 회로에서, 레퍼런스신호생성회로(3)를 제22도에 나타낸 레퍼런스신호생성회로(3')로 바꿔 놓아도 좋다.
[실시의 형태5]
부동소수점연산장치에 있어서의 정규화회로장치의 별도의 실시의 형태를 제 31 도에 나타낸다.
이 정규화회로(1D)는 제2도의 레퍼런스신호생성회로(3)와 같이 입력신호(A)를 직접입력으로 하는 것은 아니고, 디코더회로(4)의 출력신호(A')를 입력으로 하는 레퍼런스신호생성회로(19)(주된 레퍼런스신호생성회로라고도 칭하는)를 구비한 점에 특징을 갖고 있고, 그 밖의 점에서는, 제2도의 정규화회로(1)와 동일구성을 갖는다.
이것은, 후에 나타낸 것같이, 디코더회로(4)의 출력으로부터 레퍼런스신호(A)를 생성한 쪽이 회로구성에 대해서 보다 유리하기 때문이다.
이상과 같이, 양회로(4,19)는 레퍼런스신호생성부를 형성하고, 게이트회로(8,9)를 포함하는 논리연산부와 함께 상기 설명된 제어신호생성부(20)에 대응하는 제어신호생성부(20)를 형성한다.
다음에, 지수부(A, C)를 8비트, 가수부(B, E)를 24비트, 이동량(D)을 25비트로 한 때의, 회로 각부에 관해서 설명한다.
디코더회로(4), 리딩1디텍터회로(5), 프라이어러티 인코더회로(2), 감산기회로(6), MUX 회로(7a, 7b), 및 시프터회로(10)는 각각 실시의 형태1로 나타낸 것과 같은 방법으로 가능하다.
디코더출력으로부터 레퍼런스신호(A)를 생성하는 레퍼런스신호생성회로(19)는 바이너리값으로 표현된 입력신호(A)가 디코더회로(4)에 의해서 디코드된 신호(A')를 바탕으로, 레퍼런스신호(A)를 생성하는 회로이다.
레퍼런스신호(A)는 최상위비트로부터 신호(A')가 1인 비트까지 모두 1로 설정되고, 다른 비트는 모두 0으로 설정된 신호이다.
제32및 제33도에, 레퍼런스신호생성회로(19)의 진리치표를 나타낸다.
이 진리치표는 제12도, 제13도에 나타낸 진리치표에 실질적으로 대응한다.
또한, 레퍼런스신호생성회로(19)의 구체적 구성의 일예를 제34도에 나타낸다.
제34도에 있어서, 참조부호(14)는 OR 게이트회로이다.
단지, 레퍼런스신호생성회로(19)에 있어서, 그 입력(A')이 모두 0의 경우에는, 그 출력(A)의 값은 모두 1로 설정된다.
제34도의 회로구성을 제14도의 그것과 비교해서 분명한 것같이, 제34도의 레퍼런스신호생성회로(19)를 OR 게이트회로(14)를 주로 사용하여 설계하는 것이 가능해지고, 이것 때문에, 해당 회로(19)가 소규모화를 실현할 수 있다.
[실시의 형태5의 변형예1]
또, 제31도의 회로에서, 레퍼런스신호생성회로(19)를 디코더회로(2)에 의해서 디코드된 신호(A')의, 최상위비트로부터 최초 1로 되는 비트보다 1비트상위의 비트까지를 모두 1로 설정하는 레퍼런스신호(A)를 출력하는 레퍼런스신호생성회로(19')로 바꿔 놓을 수 있다.
제35도, 제36도 및 제37도에, 그와 같은 레퍼런스신호생성회로(19')의 진리치표 및 구체적구성의 일례를 각각 나타낸다.
이 진리치표는 제20도, 제21도에 나타낸 진리치표와 실질적으로 대응한다.
단지, 레퍼런스신호생성회로(19')에 있어서, 입력신호(A)의 값이 24이상의 경우에는, 출력(A)의 값을 모두 1로 한다.
[실시의 형태5의 변형예2]
또한, 제31도의 회로에 대하여, 제38도에 나타낸것 같이, MUX 회로(7b)를 AND 게이트회로(16)로 바꿔 놓을 수 있다.
이 경우, 제어신호(G')가 0의 경우에 지수부의 출력신호(C)가 0가 되어, 제어신호(G')가 1의 경우에 지수부의 출력신호(C)는 출력신호(H)와 같이 된다.
[실시의 형태5의 변형예3]
또, 제31도의 나타낸것 같이 MUX 회로(7b)를 AND 게이트회로916)로 바꿔 놓고, 또한, 제31도의 레퍼런스신호생성회로(19)를 제37도에 나타낸 레퍼런스신호생성회로(19')로 바꿔 놓아도 좋다.
[실시의 형태6]
부동소수점연산장치에 있어서의 정규화회로장치의 별도의 실시의 형태를 제39도에 나타낸다.
이 정규화회로(1E)는 제31도의 정규화회로(1D)에서의 회로요소(6,7b)의 조합을 NUX 회로(7c), 감산회로(6)의 조합으로 실현한 것이고, 그 밖의 점에서는 상기 정규화회로(1D)와 동일하다.
또, 제39도의 회로에서, 레퍼런스신호생성회로(19)를 제37도에 나타낸 레퍼런스신호생성회로(19')로 바꿔 놓을 수 있다.
[실시의 형태7]
부동소수점연산장치에 있어서의 정규화회로장치의 별도의 실시의 형태를 제40도에 나타낸다.
이 정규화회로(1F)는 양 실시의 형태3와 5의 각각의 특징점을 겸비하고, 전술한 인코더(17) 및 레퍼런스신호생성회로(19)를 갖는다.
그 밖의 점에서, 상기 회로(1F)는 실시의 형태1에서 설명한 점과 동일하다.
이것에 의해, 실시의 형태1의 효과에 덧붙여, 회로구성을 간단하게 하는 실시의 형태3 및 5의 효과도 발휘하여, 더 회로규모의 저감을 꾀할 수 있다.
[실시의 형태7의 변형예1]
또, 제40도의 회로에서, 레퍼런스신호생성회로(19)를 제37도로 나타낸 레퍼런스신호생성회로(19')로 바꿔 놓을 수 있다.
[실시의 형태7의 변형예2]
또한, 제40도의 회로에서, 제41도에 나타낸것 같이, MUX 회로(7b)를 AND 게이트회로(16)로 바꿔 놓을 수 있다.
[실시의 형태7의 변형예3]
또, 제40도에 나타낸것 같이, MUX 회로(7b)를 AND 게이트회로(16)로 바꿔 놓고, 또한 레퍼런스신호생성회로(19)를 제37도에 나타낸 레퍼런스신호생성회로(19')로 바꿔 놓아도 좋다.
[실시의 형태8]
부동소수점연산장치에 있어서의 정규화회로장치의 별도의 실시의 형태를 제42도에 나타낸다.
정규화회로(1G)는 제40도의 각부(6, 7b)를 MUX 회로(7c), 감산기회로(6)로 치환한 것이고, 그 밖의 점에서는 제40도의 정규화회로(1F)와 다른 곳은 없다.
또, 제42도의 회로에서, 레퍼런스신호생성회로(19)를 제37도로 나타낸 레퍼런스신호생성회로(19')로 바꿔 놓을 수 있다.
[실시의 형태9]
기술한것 같이, IEEE 754 규격은 부동소수점의 표현방법으로서, 정규화수와 비정규화수를 정한다.
예컨데, IEEE 754 규격에 있어서의 32비트단일 정밀도에 의한 표면에 있어서, 지수부의 값이 0보다도 크고 255보다 작은 수인 경우, 정규화수에 해당하고, 이 경우에는 1≤가수부2로 되고, 가수부의 최상위비트 MSB의 비트상태는 반드시 1로 되기 때문에, MSB를 생략하고, 가수부는 MSB보다 하나의 비트로만 나타낸다.
따라서, 정규화수는 (-1)S×(1+F×2-23)×2(E-27)로 나타내여진다.
한편, 지수부가 0가 되는 경우인 비정규화수는 (-1)S×(F×2-23)×2(-126)으로 나타내여진다.
이와같이, IEEE 754 규격에 있어서의 32비트단일 정밀도표현에 의하면, 부동소수점은 32비트로 표현되고, 그것은 1비트의 부호비트(S), 8비트의 지수부(E) 및 23비트의 가수부(F)로 구성되어 있다.
그래서, IEEE 754 규격에 근거하는 부동소수점연산장치에 있어서는, 그 정규화회로장치의 구성으로서, 실시의 형태1 내지 8의 각각으로 기술한 것을 사용한 경우에 있어서도, 정규화회로장치의 출력결과(제1도로서는, C 및 E)을 IEEE 754 규격이 정하는 표현형식의 수로 최종적으로 변환할 필요가 있다.
그와 같은 변환회로는 제1도에 나타낸 변환회로(51)에 해당한다.
상기 기능을 갖는 변환회로의 구성예에서는 예컨데, 미국특허 5,187,678호에 개시된 것을 포함하고, 거기에 개시된 것과 동등의 회로구성을 구비한 변환회로(51)를 실시의 형태1로 기술한 정규화회로장치(1)에 부가한 부동소수점연산장치의 블럭회로도를 제56도에 나타낸다.
상기 도면에 있어서, OR 게이트회로(108)는 지수부출력신호(C)의 전비트상태가 0값으로 되는 것을 검출하는 회로이고, 모든 0값을 검출할 경우에는 레벨 0의 제어신호를 출력한다.
또, 1비트시프터회로(109)는 제어신호(J)에 응해서, 입력하는 가수부출력신호(E)(24비트신호)(입력신호라고 칭하는)를 1비트분만 시프트하여, 23비트의 비트폭의 가수부출력신호(F)를 출력한다.
즉, 상기 회로(109)의 진리치표로서 제57도에 나타낸것 같이, 제어신호(J)가 0값인 경우에는, 상기 회로(109)는 입력신호(E)의 전비트를 오른쪽 방향, 즉, 최하위비트(E0)측으로 1비트분만 시프트한다.
그 결과, 최하위비트(E0)는 삭제되고, 가수부출력신호(F)(F22~F0)는 비트(E23~E1)로 주어진다.
한편, 제어신호(J)가 0값이 아닐 때에는(정규화의 경우), 상기 회로(109)는 입력신호(E)의 전비트를 시프트하지 않고서 그대로 출력한다.
따라서, 가수부출력신호(F)(F22~F0)는 비트(E22~E0)로 주어진다.
제56도에 나타낸 구성으로, IEEE 754 규격에 대응한 표현형식을 갖는 출력신호를 최종적으로 출력할 수 있다.
그렇지만, 제56도의 구성을 채용하면, 1비트시프터(109)를 설치한 쪽만 크리티컬패스가 증대고, 실시의 형태1~8의 각 정규화회로장치의 구성을 채용하여 고속연산을 꾀하더라도, 이 1비트시프터(109)의 존재에 의해, 상기 고속연산이라는 효과를 충분히 이용할 수 없는 문제점이 생긴다.
더구나, 실시의 형태1~8의 각 정규화회로장치에 있어서는, 가수부출력신호의 출력단계에서 시프터(예컨데, 제2도의 시프터(10))를 설치하고 있기 때문에, 제56도의 구성을 채용하면, 2개의 시프터를 직렬로 배열한 결과가 되고, 0값 검출용의 OR 회로(108)도 설치할 필요가 있는 것과 중첩하여, 회로규모가 증대하는 문제점도 생기고 해서, 이 점에서도 제56도의 변환회로(51)의 채용은 바람직하지 않다.
그래서, 이 실시의 형태9에 있어서는, 정규화회로장치내의 시프터회로자신이 상기 변환기능도 실현할 수 있는 것으로서, 변환회로를 정규화회로장치의 출력외부측에 설치하는 것을 불필요로 하기 때문에, 부동소수점연산장치의 회로규모의 저감및 한층더 연산속도의 고속화를 꾀하고 있다.
현재, 상기 기술적 사상에서, 실시의 형태1에 있어서의 정규화회로장치(1)를 개량하여 얻어지는 정규화회로장치(1M)(제58도 참조)의 구체적 구성에 관해서 설명한다.
제59도는 실시의 형태9의 부동소수점연산장치에 있어서의 정규화회로장치(1M)의 구성예를 나타내는 블럭도이다.
상기 도면중에서, 제2도의 각부와 기능적으로 다른 것은, 점선으로 둘러싸인 시프트기능부(21)와 시프터회로(22)이다.
그 밖의 부분은 제2도중의 동일부호의 부분과 동일기능을 갖는다.
출력신호(E)는 지수부출력신호를 나타내고, 출력신호(F)는 IEEE 754 규격에 있어서의 32비트단일 정밀도표현에 의해 정해진 비트의 비트폭을 갖는 가수 부출력신호를 나타낸다.
시프트기능부(21)는 비트폭24비트의 출력신호(B23~B0), 즉, 그 최상위비트(B24)를 제외한 리딩1디텍터회로(5)의 출력신호(B)(25비트)를 받아, 해당 출력신호(B23~B0)의 각 비트상태를 그 최하위비트(B0)측으로 1비트분만 시프트한다.
그러나, 최하위비트(B0)에 관하여, 상기 부(21)는 그것을, 그 비트상태로서, 입력한 출력신호(B23~B0)의 최상위비트(B23)의 위치로 시프트한다.
이 시프트기능부(21)는 시프터회로(22)와 구별하기 위해 제1시프트부라고 불려지고, 이때 시프터회로(22)는 제2시프트부라고 불려진다.
여기서, 시프트기능부(21)는 트랜지스터를 일체 사용한 것없이, 최상위비트(B24)를 제외한 리딩1디텍터회로(5)의 출력신호(B23~B0)의 출력포트와, 셀렉터기능부로서의 MUX 회로(7a)의 Q 입력포트(한쪽의 입력포트라고 칭하는)를 접속하는 배선층(23a, 23b)에 의해서만 실현된다.
즉, 최하위비트로부터 센, 제1번째의 비트(B1)로부터 제23번째의 비트(B23)까지의 각 비트를 출력하는 리딩1디텍터회로(5)의 각 출력포트 또는 각 출력선을, 각각 MUX 회로(7a)의 한쪽의 입력포트(Q)중, 최하위비트(C0)로부터, 최하위비트(C0)를 포함해서 셀 경우에 제23번째의 비트(C22)까지의 각 비트를 각 입력선 또는 각 입력포트에, 배선층(23a)를 사용하여 접속하고, 출력신호(B)의 최하위비트(B0)를 출력하는 리딩1디텍터회로(5)의 출력포트 또는 출력선을, 한쪽의 입력포트(Q)중의 최상위비트(C23)를 입력하는 입력포트 또는 입력선에, 배선층(23b)를 사용하여 접속함으로써, 상기 부(21)가 구성된다.
여기서, 신호(C)는 비트폭이 24비트인 한쪽의 입력신호이다.
이와같이, 배선의 재접속에 의해서만 상기 부(21)를 구성하고 있기 때문에, 지연시간을 생기게 하는 것없이, 1비트분의 시프트기능을 실현할 수 있다.
즉, 상기 부(21)는 크리티컬패스형성의 요인이 안된다.
MUX 회로(7a)는 그 한쪽의 입력포트(Q)에서 입력신호(C)를 받아, 그 다른쪽의 입력포트(P)에서 디코더회로(4)의 출력신호(A')를 받고, 그 제어포트(S)에서 제어신호(G')를 받는다.
시프터회로(22)의 진리치표를 제60도~제62도에 나타낸다.
상기 회로(22)의 구체적 구성예를 제63도와 제64도에 나타낸다.
그런데, 가수부입력신호(B)의 비트폭은 이 예에서 24비트로 되어 있지만, 통상은 27비트정도로 설정되어 있다.
이 경우에, 시프터회로(22)는 정규화처리(G'=1)에 있어서, 가수부입력신호(B)의 최상위비트와, 그 최하위비트를 포함시킨 최하위측의 3비트분을 삭제하도록 상기 신호(B)를 시프트하고, 또 비정규화처리 또는 0기능시(G'=0)에는, 가수부입력신호(B)의 최하위비트를 포함시킨 최하위비트측의 4비트분을 삭제하도록, 상기 신호(B)를 시프트한다.
보다 일반적으로 시프터회로(22)의 기능을 기재하면, 다음과 같다고 말 할 수 있다.
즉, IEEE 규격으로 정해지는 비트폭을 y로 하면, 상기 회로(22)는 정규화 처리시에, 비트폭(x)(x는 x≥y의 정수)의 가수부입력신호에 대하여, 그 최상위비트와, 그 최하위비트를 포함해서 (x-y)-1로 주어진 수만큼의 최하위비트측의 비트를 삭제하거나 잘라 버리도록 시프트한다.(그러나, x=y 또는 x=y+1의 경우는, 최하위비트를 잘라 버린다.)
정규화처리이외의 경우에는, 입력한 가수부입력신호에 대하여, 그 최하위비트를 포함해서 (x-y)로 주어진 수만큼의 최하위측의 비트를 삭제하거나 잘라버리도록 시프트한다. (그러나, x=y의 경우는 최하위비트를 잘라 버린다.)
제어신호생성부(20)와 디코더회로(4)는 가수부입력신호와 지수부입력신호를 받아, 지수부입력신호를 디코드하고, 가수부입력신호와 지수부입력신호에 근거하여 정규화회로장치의 출력결과가 정규화수로 되는지, 비정규화수로 되는지, 그렇지 않으면 가수부입력신호가 0값을 제공하는 0기능상태인지를 판단하여, 정규화수로 되는 경우에는 제1레벨의 제어신호를 생성하고, 비정규화수로 되는 경우및 0기능상태로 되는 경우에는 제2레벨의 제어신호를 생성하는 상위개념으로서 제어신호생성부를 형성한다고 간주할 수 있다.
다음에, 제59도의 회로동작의 구체예에 관해서 설명한다.
현재, 지수부입력신호(A), 가수부입력신호(B)를 각각 A=127, B=0000 0001 0001 0001 0001 0001로 한다.
(1) 레퍼런스신호생성회로(3)의 출력신호(A)의 값은, 아래와 같이 얻어진다.
A=1111 1111 1111 1111 1111 1111.
(2) AND 게이트회로(8)의 출력신호(G)는, 아래와 같이 얻어진다.
G=0000 0001 0001 0001 0001 0001.
(3) OR 게이트회로(9)의 출력신호(G')의 값은, G'=|G→1로 된다.
(4) 프라이어러티 인코더회로(2)의 출력신호(B')의 값은 7로 된다.
(5) 감산기회로(6)의 출력신호(H)는 H=A-B'→127-7→120로 된다.
(6) MUX 회로(7b)의 출력신호(E)는 E=G' ? H=0→1 ? 120 : 0→120로 된다.
(7) 디코더회로(4)의 출력신호(A')는 아래와 같이 얻어진다.
A'=0000 0000 0000 0000 0000 0000.
(8) 리딩1디텍터회로(5)의 출력신호(B)는 아래와 같이 얻어진다.
B=0 000 0001 0000 0000 0000 0000.
(9) 입력신호(C)는, 아래와 같이 얻어진다.
C=0000 0000 1000 0000 0000 0000.
(10) MUX 회로(7a)의 출력신호(D)는, 아래와 같이 얻어진다.
D=0 0000 0000 1000 0000 0000 0000.
(11) 시프터회로(10)의 출력신호(F)의 값은, 아래와 같이 얻어진다.
F=000 1000 1000 1000 1000 0000.
다음에, A=5, B=0000 0001 0001 0001 0001 0001의 경우를 생각한다.
(1) 레퍼런스신호생성회로(3)의 출력신호(A)의 값은, 아래와 같이 얻어진다.
A=1111 1000 0000 0000 0000 0000.
(2) AND 게이트회로(8)의 출력신호(G)는, 아래와 같이 얻어진다.
G=0000 0000 0000 0000 0000 0000.
(3) OR 게이트회로(9)의 출력신호(G')는, G'=|G→0로 된다.
(4) 프라이어러티인코더회로(2)의 출력신호(B')는 7로 된다.
(5) 감산기회로(6)의 출력신호(H)는 H=A-B'→5-7→-2로 된다.
(6) MUX 회로(7b)의 출력신호(E)는 E=G' ? H=0→0 ? -2 : 0→0로 된다.
(7) 디코더회로(4)의 출력신호(A')는 아래와 같이 얻어진다.
A'=0000 0100 0000 0000 0000 0000.
(8) 리딩1디텍터회로(5)의 출력신호(B)는 아래와 같이 얻어진다.
B=0 0000 0000 0000 0000 0000 0000.
(9) 입력신호(C)는, 아래와 같이 얻어진다.
C=0000 0000 1000 0000 0000 0000.
(10) MUX 회로(7a)의 출력신호(D)는, 아래와 같이 얻어진다.
D=0 0000 0100 0000 0000 0000 0000.
(11) 시프터회로(10)의 출력신호(F)는, 아래와 같이 얻어진다.
F=001 0001 0001 0001 0001 0000.
다음에, A=127, B=0000 0000 0000 0000 0000 0000의 경우를 생각한다.
(1) 레퍼런스신호생성회로(3)의 출력신호(A)는 아래와 같이 얻어진다.
A=1111 1111 1111 1111 1111 1111.
(2) AND 게이트회로(8)의 출력신호(G)는, 아래와 같이 얻어진다.
G=0000 0000 0000 0000 0000 0000.
(3) OR 게이트회로(9)의 출력값(G')은 G'=|G→0로 된다.
(4) 프라이어러티 인코더회로(2)의 출력값(B')은 0로 된다.
(5) 감산기회로(6)의 출력신호(H)는 H=A-B'→127-0→127로 된다.
(6) MUX 회로(7b)의 출력신호(E)는 E=G' ? H : 0→0 ? 127 : 0→0로 된다.
(7) 디코더회로(4)의 출력신호(A')는 아래와 같이 얻어진다.
A'=0000 0000 0000 0000 0000 0000.
(8) 리딩1디텍터회로(5)의 출력신호(B)는 아래와 같이 얻어진다.
B=1 000 0001 0000 0000 0000 0000.
(9) 입력신호(C)는 아래와 같이 얻어진다.
C=0000 0000 0000 0000 0000 0000.
(10) MUX 회로(7a)의 출력신호(D)는 아래와 같이 얻어진다.
D=1 0000 0000 0000 0000 0000 0000.
(11) 시프터회로(10)의 출력신호(F)의 값은, 아래와 같이 얻어진다.
F=000 0000 0000 0000 0000 0000.
이 실시의 형태9에 있어서, 제59도에 나타낸것 같이, 최지연경로(크리티컬패스)는, 가수부입력신호(B)에서 리딩1디텍터회로(5)→MUX 회로(7a)→시프터회로(22)→가수부출력신호(F)까지의 경로로 되어, 제56도의 경우와 비교하여, 보다 고속인 정규화회로장치를 실현하는 것이 가능하게 된다.
이상과 같이, 이 실시의 형태9는 실시의 형태1에 있어서의 정규화회로장치(1)에 대하여, 리딩1디텍터회로(5)의 출력포트와 MUX 회로(7a)의 한쪽의 입력포트(Q)와의 배선부분을 배선층만으로 이루어지는 시프트기능부(21)(23a,23b)로 치환하고, 또한 시프터회로(10)를 시프터회로(22)로 치환하는 수정을 하고 있다.
이것에 의해, 본 실시의 형태9는 시프트기능부(21)(23a,23b)에 있어서 연산의 지연을 일으키는 것없이, 실시의 형태1에 있어서 필요한 외부의 변환회로(51)의 기능을 정규화회로장치(1M)의 내부에서 실현할 수 있고 그 결과, 크리티컬패스의 삭감에 의한 연산속도의 고속성의 증대화 및 회로규모의 삭감화를 꾀할 수 있다.
시프트기능부(21)(23a,23b)를 본 실시의 형태와 같이 구성하면, 해당 시프트기능부가 새로운 크리티컬패스형성의 요인으로 되는 것을 방지하는 본질적인 효과를 얻을 수 있지만, 이 시프트기능부는 트랜지스터로 이루어진 소위 시프터회로로 실현되어도 좋다.
이 경우에는, 연산속도의 고속화라는 이점을 얻는 것은 불가능하지만, 제56도의 변환회로(51)에 필요한 0값 검지용의 OR 회로(108)를 설치할 필요가 없기 때문에, 여전히 상기 회로규모의 삭감화를 꾀할 수 있는 장점을 가진다.
지금, 시프트기능부(21)(23a,23b)와 시프터회로(22)를 사용하는 상기 설명된 구성을 실시의 형태1의 각 변형예 및 다른 실시의 형태 2~8와 각각의 각 변형예에 적용한 경우를 각각 실시의 형태9의 변형예로서 간결하게 기재한다.
물론, 그것들의 변형예에 있어서도, 실시의 형태9와 동일의 작용,효과가 얻어지는 것은 말할 필요도 없다.
[실시의 형태9의 변형예1]
제59도의 정규화회로장치에 있어서, 제65도에 나타낸것 같이, MUX 회로(7b)를 AND 게이트회로(16)로 바꿔 놓을 수 있다.
이 경우는, 실시의 형태1의 변형예2에, 실시의 형태9의 시프트기능부(21) 및 시프터회로(22)를 적용한 것이다.
[실시의 형태9의 변형예2]
제66도는 실시의 형태2(제24도)에, 상기 시프트기능부(21) 및 시프터회로(22)를 적용한 것이다.
[실시의 형태9의 변형예3]
제67도는 제25도에 나타낸 실시의 형태3에 상기 시프트기능부(21) 및 시프터회로(22)를 적용한 것이다.
[실시의 형태9의 변형예4]
제68도는 제29도의 실시의 형태3의 변형예2에 상기 시프트기능부(21) 및 시프터회로(22)를 적용한 것이다.
[실시의 형태9의 변형예5]
제69도는 제30도에 나타낸 실시의 형태4에 상기 시프트기능부(21) 및 시프터회로(22)를 적용한 것이다.
[실시의 형태9의 변형예6]
제70도는 제31도에 나타낸 실시의 형태5에 상기 시프트기능부(21) 및 시프터회로(22)를 적용한 것이다.
[실시의 형태9의 변형예7]
제71도는 제38도에 나타낸 실시의 형태5의 변형예2에 상기 시프트기능부(21) 및 시프터회로(22)를 적용한 것이다.
[실시의 형태9의 변형예8]
제72도는 제39도에 나타낸 실시의 형태6에 상기 시프트기능부(21) 및 시프터회로(22)를 적용한 것이다.
[실시의 형태9의 변형예9]
제73도는 제40도에 나타낸 실시의 형태7에 상기 시프트기능부(21) 및 시프터회로(22)를 적용한 것이다.
[실시의 형태9의 변형예10]
제74도는 제41도에 나타낸 실시의 형태7의 변형예2에 상기 시프트기능부(21) 및 시프터회로(22)를 적용한 것이다.
[실시의 형태9의 변형예11]
제75도는 제42도에 나타낸 실시의 형태8에 상기 시프트기능부(21) 및 시프터회로(22)를 적용한 것이다.
[추가 설명]
기술한 실시의 형태1~9는 IEEE 754 규격의 단일 정밀도에 관한 것이지만, IEEE 754 규격의 배(double)정밀도로서는, 부동소수점을 64비트로 표현하고, 그것은 부호비트(S)(1비트), 지수부(E)(11비트), 가수부(F)(52비트)로 구성된다.
IEEE 754 규격의 정밀도에 있어서도, 정규화수와 비정규화수가 정해지고, 지수부의 값이 0보다 크고 2048보다 작은 수의 경우를 정규화수라고 부르고, 정규화수에 있어서는, 1≤가수부2이고, 가수부의 MSB(최상위비트)는 반드시 1로 되기 때문에, MSB를 생략하고, MSB보다 하위의 비트는 가수부를 나타낸다.
따라서, 정규화수는 (-1)S×(1+F×2-52)×2(E-1023)로서 나타난다.
지수부가 0가 되는 경우를 비정규화수라고 부르고, 비정규화수=(-1)S×(F×2-52)×2(-1022)가 된다.
따라서, IEEE 754 규격의 배정밀도에 근거하는 부동소수점연산장치에 관해서도, IEEE 754 규격의 단정밀도에 관해서 말한 각 실시의 형태1~9의 기술적 사상을 그대로 적용할 수가 있다.
이 경우에, IEEE 754 규격의 배정밀도에 근거하는 수를 입력으로 하여, 출력결과를 IEEE 754 규격의 배정밀도에 근거하는 수로 변환한다.
[요약]
이상과같이, 부동소수점연산장치의 정규화회로장치는 소정의 부동소수점연산처리를 시행된 가수부입력신호와 지수부입력신호를 받아, 가수부입력신호와 지수부입력신호에 근거하여, 정규화회로장치의 출력결과가 정규화수로 되는지, 비정규화수로 되는지, 그렇지않으면 가수부입력신호가 0값을 제공하는 0기능상태인지를 판단하고, 그 판단결과에 응해서 가수부입력신호와 지수부입력신호에 대한 정규화처리(일반적으로 정규화, 비정규화, 0기능처리를 의미함)을 하고 있다.
즉, (1) 가수부의 입력신호(B)와, 지수부의 입력신호(A)의 10진수값에 1를 가한 수만 최상위비트위치로부터의 각 비트위치의 비트상태를 1로서 출력하는 레퍼런스신호생성회로에 의해서 생성된 신호(A)와의 AND 연산을 하여, 그 값(G)의 전비트의 OR 연산을 한 결과(G')를 각 선택부를 제어하는 제어신호로 하고, (2) 입력신호(B)를 최상위비트위치로부터 검색하여, 최초로 1이 존재하는 비트위치의 변수값으로부터 1를 뺀 수를 바이너리값(B')으로서 나타내는 프라이어러티 인코더회로에서 가수부입력신호(A)에 대한 연산을 하고, 그 결과(B')를 입력신호(A)에서 뺄셈하며, 그 결과(H)와 0값을 상기 제어신호(G')에 응답해서, 선택하여, 정규화후의 지수부의 출력신호(C)를 얻는다.
이것에 의해서, 가수부가 0인 것을 검출하기 위한 회로를 설치할 필요가 없는 정규화회로장치를 얻을 수 있다.
더우기, 입력신호(B)를 최상위비트위치로부터 검색하여, 처음 1이 존재하는 비트위치만을 1로 하는 리딩1디텍터회로에서 구한 값(B)과, 지수부의 입력신호(A)를 입력신호(B)와 같은 비트폭으로 디코드해서 구한 신호(A')를 상기 제어신호(G')로 선택함으로써, 가수부의 입력신호(B)를 정규화하기 위한 이동량(시프트량)(D)을 얻고, 이 신호(D)에 의해서, 가수부의 입력신호(B)를 시프트하여 정규화후의 가수부의 출력신호(E)를 구한 구성이라고 한다.
이것에 의해서, 지수부의 입력신호(A)보다 가수부의 입력신호(B)가 후에 정규화회로장치에 도달하는 경우, 고속의 정규화회로장치를 실현할 수 있고, 특히 MOS형 FET로 형성된 집적회로를 사용하여 고속인 부동소수점연산장치를 실현할 수 있다고 하는 이점이 있다.
또, 본 발명의 실시의 형태9에 의하면, 제어신호(G')가 1인 경우에는, 정규화회로장치의 출력과는 정규화수로 되기 때문에, 가수부입력신호(B)를 그 최상위비트로부터 검색하여, 처음으로 비트상태가 1로 되는 비트위치의 비트상태만을 1로 하는 리딩1디텍터회로에 의해서 구한 출력값(B)를 그 최상위측에 1비트분만 배선층의 접속 변화에 의해서 시프트하여 얻은 값(C)을, 가수부입력신호(B)를 정규화하기 위한 이동량(시프트량)D으로 설정하고, 또한 제어신호(G')가 0인 경우에는, 출력결과가 비정규화수로 되기 때문에, 지수부입력신호(A)를 가수부입력신호(B)와 같은 비트폭으로 디코드해서 얻은 출력신호(A')를, 가수부입력신호(B)를 정규화하기위한 이동량(시프트량)(D)으로 설정하고, 이 이동량(D)에 의해서 가수부입력신호(B)를 시프트하여, 가수부입력신호(B)보다 1비트분만 적은 비트폭을 갖는 가수부출력신호(F)를 구하도록 구성한다.
이것에 의해서, 정규화회로장치의 출력단의 시프트회로에 더 1비트시프터회로를 설치할 필요가 없어, 보다 회로규모가 작은 정규화회로장치를 얻을 수 있다.
특히, 지수부입력신호(A)보다 가수부입력신호(B)가 후에 정규화회로장치의 입력포트에 도달하는 경우에는, 보다 고속인 정규화회로장치를 실현할 수 있고, 이 점에서 MOS형 FET로 형성된 집적회로를 사용하여 고속인 부동소수점연산장치를 실현시킬 때에, 실시의 형태9에서 설명한 기술이 유리하여 진다.
본 발명은 상세히 설명되었지만, 상기 설명은 모든 관점에 예시적인 것이지, 제한적인 것이 아니다.
다양한 다른 변형 및 변화는 본 발명의 범위를 벗어나지 않고 고안될 수 있다는 것을 알게 된다.

Claims (17)

  1. 소정의 부동소수점연산처리로 이루어지고 전달되는 이진수값으로서 표현된 가수부입력신호와 지수부입력신호에 대하여 정규화를 하는 부동소수점연산장치의 정규화회로장치에 있어서, 상기 가수부입력신호와 상기 지수부입력신호를 받아, 상기 지수부입력신호가 주는 10진수값이, 상기 가수부입력신호의 최상위비트로부터 본 비트상태가 최초로 1로 되는 비트위치로서의 선두1비트위치의 번수값 이상인 경우에는 제1레벨의 제어신호를 생성하고, 상기 지수부입력신호의 상기 10진수치가, 상기 선두1비트위치의 상기 번수값미만인 경우 또는 상기 가수부입력신호가 0값을 제공하는 경우에는 제2레벨의 상기 제어신호를 생성하는 제어신호생성수단과 ; 상기 가수부입력신호에 근거하여, 상기 선두1비트위치의 상기 번수값을 이진수표시하는 신호를 출력하는 인코드수단과 ; 상기 지수부입력신호, 상기 인코드수단의 출력신호 및 상기 제어신호를 받아, 상기 제어신호가 상기 제1레벨에 있을 때에는 상기 지수부입력신호와 상기 인코드수단의 상기 출력신호와의 감산결과를 지수부출력신호로서 출력하고, 상기 제어신호가 상기 제2레벨에 있을 때에는 0값을 상기 지수부출력신호로서 출력하는 지수부출력신호결정수단을 구비하고, 상기 선두1비트위치의 상기 번수값은 상기 최상위비트자체를 포함하지 않는 상기 최상위비트의 위치로부터 각 비트위치를 셀 경우의 값에 해당하는 부동소수점연산장치의 정규화회로장치.
  2. 제1항에 있어서, 상기 제어신호생성수단은 상기 지수부입력신호를 받아 레퍼런스신호를 출력하는 레퍼런스신호생성수단과, 상기 레퍼런스신호와 상기 가수부입력신호와의 AND처리를 하고, 또한 상기 AND처리의 결과의 OR처리를 실행하여 상기 OR처리의 결과를 상기 제어신호로서 출력하는 논리연산수단을 구비하고, 상기 레퍼런스신호는 그 최상위비트위치로부터 상기 지수부입력신호에 따라 정해지는 소정의 비트위치까지의 각 비트상태가 모두 1로 설정되고, 또한 그 밖의 비트위치의 비트상태가 모두 0으로 설정되는 부동소수점연산장치의 정규화회로장치.
  3. 제2항에 있어서, 상기 레퍼런스신호는 상기 지수부입력신호의 상기 10진수치에 1를 가한 값에 해당하는 위치수만 그 최상위비트위치로부터의 각 비트위치의 비트상태가 모두 1로 설정되고, 또한 다른 비트위치의 비트상태가 모두 0로 설정되는 부동소수점연산장치의 정규화회로장치.
  4. 제2항에 있어서, 상기 레퍼런스신호는 상기 지수부입력신호의 상기 10진수치에 해당하는 위치수만 그 최상위비트위치로 부터의 각 비트위치의 비트상태가 모두 0으로 설정되는 부동소수점연산장치의 정규화회로장치.
  5. 제2항에 있어서, 상기 레퍼런스신호생성수단은 상기 지수부입력신호를 디코드하는 디코더수단과, 상기 디코더수단의 출력신호를 받아, 상기 레퍼런스신호를 생성하는 주된 레퍼런스생성수단을 구비한 부동소수점연산장치의 정규화회로.
  6. 제5항에 있어서, 상기 가수부입력신호를 받아, 상기 가수부입력신호의 상기 선두1비트 위치를 검출하는 선두1검출수단과, 그 최상위비트를 제외한 상기 선두1검출수단의 출력신호, 상기 디코더 수단의 상기 출력신호 및 상기 제어신호를 받아, 상기 제어신호가 상기 제1레벨에 있을 때에는 상기 선두1검출수단의 출력신호를 선택하고, 상기 제어신호가 상기 제2레벨에 있을 때에는 상기 디코더수단의 상기 출력신호를 선택하는 선택수단과, 상기 선택수단의 출력신호와 상기 선두1검출수단의 상기 출력신호내에서 상기 최상위비트를 제공하는 부분에 근거하여 상기 가수부입력신호를 시프트하여 가수부출력신호를 생성하는 시프터수단을 더 구비한 부동소수점연산장치의 정규화회로장치.
  7. 제2항에 있어서, 실제로 입력하는 상기 가수부입력신호의 비트폭 및 규격에 의해 미리 정해지는 가수부출력신호의 비트폭을 각각 x 비트 및 y비트인 것으로 하면, 상기 정규화회로는 상기 지수부입력신호를 디코드하는 디코더수단과 ; 상기 가수부입력신호를 받아, 상기 가수부입력신호의 상기 선두1비트위치를 검출하는 선두1검출수단과 ; 그 최상위비트를 제외한 상기 선두1검출수단의 출력신호를 받아, 상기 출력신호의 각 비트상태를 그 최하위비트측으로 1비트분씩 시프트하고, 또한 상기 최하위비트의 비트상태를 입력한 상기 출력신호의 최상위비트의 비트상태로 설정한 제1시프트수단과 ; 상기 제1시프트수단의 출력신호, 상기 디코더수단의 상기 출력신호 및 상기 제어신호를 받아, 상기 제어신호가 상기 제1레벨에 있을 때에는 상기 시프트수단의 상기 출력신호를 선택하고, 상기 제어신호가 상기 제2레벨에 있을 때에는 상기 디코더수단의 상기 출력신호를 선택한 선택수단과 ; 상기 선택수단의 상기 출력신호와 상기 최상위비트를 제공하는 상기 선두1검출수단의 상기 출력신호의 부분에 응해서, 상기 x비트의 상기 가수부입력신호를 상기 y비트의 신호에 시프트하여, 시프트후의 상기 y비트의 신호를 상기 가수부출력신호로서 출력하는 제2시프트수단을 더 구비하고, 상기 제2시프트수단은 상기 선택수단이 상기 제1시프트수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 최상위비트를 삭제하고, 또한 그 최하위비트를 포함해서(x-y-1)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부입력신호를 시프트하고, 상기 선택수단이 상기 디코더수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 상기 최하위비트를 포함해서 (x-y)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부 입력신호를 시프트한 부동소수점연산장치의 정규화회로장치.
  8. 제7항에 있어서, 상기 제1시프트수단은 상기 최상위비트를 제외한 상기 선두1검출수단의 상기 출력신호의 출력포트와 상기 선택수단의 한쪽의 입력포트를 접속하는 배선층에 의해서만 실현되고, 상기 선택수단의 다른쪽의 입력포트에는 상기 디코더수단의 상기 출력신호가 입력한 부동소수점연산장치의 정규화회로장치.
  9. 제2항에 있어서, 실제로 입력하는 상기 가수부입력신호의 비트폭 및 규격에 의해 미리 정해지는 가수부출력신호의 비트폭을 각각 x비트 및 y비트인 것으로 하면, 상기 인코드수단은 상기 가수부입력신호를 받아, 상기 가수부입력신호의 상기 선두1비트위치를 검출하는 선두1검출수단과, 상기 선두1검출수단의 검출결과를 인코드하여 상기 선두1비트위치의 상기 변수값을 이진수로 표시하는 상기 신호를 출력하는 인코더회로를 구비하고, 상기 정규화회로장치는 상기 지수부입력신호를 디코드하는 디코드수단과 ; 그 최상위비트를 제외한 상기 선두1검출수단의 출력신호를 받아, 상기 출력신호의 각 비트상태를 그 최하위비트측으로 1비트분씩 시프트하고, 또한 상기 최하위비트의 비트상태를 입력한 상기 출력신호의 최상위비트의 비트상태로 설정한 제1시프트수단과 ; 상기 제1시프트수단의 출력신호, 상기 디코더수단의 상기 출력신호 및 상기 제어신호를 받고, 상기 제어신호가 상기 제1레벨에 있을 때에는 상기 시프트수단의 상기 출력신호를 선택하고, 상기 제어신호가 상기 제2레벨에 있을 때에는 상기 디코더수단의 상기 출력신호를 선택하는 선택수단과 ; 상기 선택수단의 상기 출력신호와 상기 선두1검출수단의 상기 출력신호내에서 상기 최상위비트를 제공하는 부분에 응해서, 상기 x비트의 상기 가수부입력신호를 상기 y비트의 신호에 시프트하여, 시프트후의 상기 y비트의 신호를 상기 가수부출력신호로서 출력하는 제2시프트수단을 더 구비하고, 상기 제2시프트수단은 상기 선택수단이 상기 제1시프트수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 최상위비트를 삭제하고, 또한 상기 최하위비트를 포함해서 (x-y-1)로 주어진 수만의 그 최하위비트측의 각 비트를 삭제하도록 상기 가수부입력신호를 시프트하고, 상기 선택수단이 상기 디코더수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 상기 최하위비트를 포함해서 (x-y)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부 입력신호를 시프트한 부동소수점연산장치의 정규화회로장치.
  10. 제9항에 있어서, 상기 제1시프트수단은 상기 최상위비트를 제외한 상기 선두1검출수단의 상기 출력신호의 출력포트와 상기 선택수단의 한쪽의 입력포트를 접속하는 배선층에 의해서만 실현되고, 상기 선택수단의 다른쪽의 입력포트에는 상기 디코더수단의 상기 출력신호가 입력한 부동소수점연산장치의 정규화회로장치.
  11. 제5항에 있어서, 실제로 입력하는 상기 가수부입력신호의 비트폭및 규격에 의해 미리 정해지는 가수부출력신호의 비트폭을 각각 x비트 및 y비트인 것으로 하면, 상기 정규화회로장치는 그 최상위비트를 제외한 상기 선두1검출수단의 출력신호를 받아, 상기 출력신호의 각 비트상태를 그 최하위비트측으로 1비트분씩 시프트하고, 또한 상기 최하위비트의 비트상태를 입력한 상기 출력신호의 최상위비트의 비트상태로 설정한 제1시프트수단과 ; 상기 제1시프트수단의 출력신호, 상기 디코더수단의 상기 출력신호 및 상기 제어신호르 받아, 상기 제어신호가 상기 제1레벨에 있을 때에는 상기 시프트수단의 상기 출력신호를 선택하고, 상기 제어신호가 상기 제2레벨에 있을 때에는 상기 디코더수단의 상기 출력신호를 선택하는 선택수단과 ; 상기 선택수단의 상기 출력신호와 상기 선두1검출수단의 상기 출력신호내에서 상기 최상위비트를 주는 부분에 응해서, 상기 x비트의 상기 가수부입력신호를 상기 y비트의 신호에 시프트하여, 시프트후의 상기 y비트의 신호를 상기 가수부출력신호로서 출력하는 제2시프트수단을 더 구비하고, 상기 제2시프트수단은 상기 선택수단이 상기 제1시프트수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 최상위비트를 삭제하고, 또한 그 최하위비트를 포함해서 (x-y-1)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부입력신호를 시프트하고, 상기 선택수단이 상기 디코더수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 상기 최하위비트를 포함해서 (x-y)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부 입력신호를 시프트한 부동소수점연산장치의 정규화회로장치.
  12. 제11항에 있어서, 상기 제1시프트수단은 상기 최상위비트를 제외한 상기 선두1검출수단의 상기 출력신호의 출력포트와 상기 선택수단의 한쪽의 입력포트를 접속하는 배선층에 의해서만 실현되고, 상기 선택수단의 다른쪽의 입력포트에는 상기 디코더수단의 상기 출력신호가 입력한 부동소수점연산장치의 정규화회로장치.
  13. 제5항에 있어서, 실제로 입력하는 상기 가수부입력신호의 비트폭 및 규격에 의해 미리 정해지는 가수부출력신호의 비트폭을 각각 x비트 및 y비트인 것으로 하면, 상기 인코드수단은 상기 가수부입력신호를 받아, 상기 가수부입력신호의 상기 선두1비트위치를 검출하는 선두1검출수단과, 상기 선두1검출수단의 검출결과를 인코드하여 상기 선두1비트위치의 상기 변수값을 이진수로 표시한 상기 신호를 출력하는 인코더회로를 구비하고, 상기 정규화회로장치는 그 최상위비트를 제외한 상기 선두1검출수단의 출력신호를 받고, 상기 출력신호의 각 비트상태를 그 최하위비트측으로 1비트분씩 시프트하고, 또한 상기 최하위비트의 비트상태를 입력한 상기 출력신호의 최상위비트의 비트상태로 설정한 제1시프트수단과 ; 상기 제1시프트수단의 출력신호, 상기 디코더수단의 상기 출력신호 및 상기 제어신호를 받아, 상기 제어신호가 상기 제1레벨에 있을 때에는 상기 시프트수단의 상기 출력신호를 선택하고, 상기 제어신호가 상기 제2레벨에 있을 때에는 상기 디코더수단의 상기 출력신호를 선택한 선택수단과 ; 상기 선택수단의 상기 출력신호와 상기 선두1검출수단의 상기 출력신호내에서 상기 최상위비트를 제공하는 부분에 응해서, 상기 x비트의 상기 가수부입력신호를 상기 y비트의 신호에 시프트하여, 시프트후의 상기 y비트의 신호를 상기 가수부출력신호로서 출력하는 제2시프트수단을 더 구비하고, 상기 제2시프트수단은 상기 선택수단이 상기 제1시프트수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 최상위비트를 삭제하고, 또한 그 최하위비트를 포함해서 (x-y-1)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부입력신호를 시프트하고, 상기 선택수단이 상기 디코더수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호와 상기 최하위비트를 포함해서 (x-y)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부 입력신호를 시프트한 부동소수점연산장치의 정규화회로장치.
  14. 제13항에 있어서, 상기 제1시프트수단은 상기 최상위비트를 제외한 상기 선두1검출수단의 상기 출력신호의 출력포트와 상기 선택수단의 한쪽의 입력포트를 접속하는 배선층에 의해서만 실현되고, 상기 선택수단의 다른쪽의 입력포트에는 상기 디코더수단의 상기 출력신호가 입력한 부동소수점연산장치의 정규화회로장치.
  15. 소정의 소수점연산처리로 이루어지고 전달되는 이진수값으로서 표현된 가수부입력신호와 지수부입력신호에 대하여 정규화를 하는 부동소수점연산장치의 정규화회로장치에 있어서, 상기 가수부입력신호와 상기 지수부입력신호를 받아, 상기 지수부입력신호를 디코드하고, 상기 가수부입력신호와 상기 지수부입력신호에 근거하여 상기 정규화회로장치의 출력결과가 정규화수로 되는지, 비정규화수로 되는지, 그렇지않으면 상기 가수부입력신호가 0값을 제공하는 0기능상태인지를 판단하여, 상기 정규화수로 되는 경우에는 제1레벨의 제어신호를 생성하고, 상기 비정규화수로 되는 경우 및 상기 0기능상태로 되는 경우에는 제2레벨의 상기 제어신호를 생성하는 제어신호생성수단과 ; 상기 가수부입력신호를 받아, 상기 가수부입력신호의 상기 선두1비트 위치를 검출하는 선두1검출수단과 ; 그 최상위비트를 제외한 상기 선두1검출수단의 출력신호를 받아, 상기 출력신호의 각 비트상태를 그 최하위비트측으로 1비트분씩 시프트하고, 또한 상기 최하위비트의 비트상태를 입력하는 상기 출력신호의 최상위비트의 비트상태로 설정하는 제1시프트수단과 ; 상기 제1시프트수단의 출력신호, 상기 디코더수단의 상기 출력신호 및 상기 제어신호를 받아, 상기 제어신호가 상기 제1레벨에 있을 때에는 상기 시프트수단의 상기 출력신호를 선택하고, 상기 제어신호가 상기 제2레벨에 있을 때에는 상기 디코더수단의 상기 출력신호를 선택하는 선택수단과 ; 상기 선택수단의 상기 출력신호와 상기 선두1검출수단의 상기 출력신호내에서 상기 최상위비트를 제공하는 부분에 응해서, 상기 x비트의 상기 가수부입력신호를 상기 y비트의 신호에 시프트하여, 시프트후의 상기 y비트의 신호를 상기 가수부출력신호로서 출력하는 제2시프트수단을 구비하고, 상기 x비트 및 상기 y비트는 각각 실제로 입력하는 상기 가수부입력신호의 비트폭 및 규격에 의해 미리 정해지는 가수부출력신호의 비트폭이고, 상기 제2시프트수단은 상기 선택수단이 상기 제1시프트수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 최상위비트를 삭제하고, 또한 그 최하위비트를 포함해서 (x-y-1)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부입력신호를 시프트하고, 상기 선택수단이 상기 디코더수단의 상기 출력신호를 출력할 때에는, 상기 가수부입력신호의 상기 최하위비트를 포함해서 (x-y)로 주어진 수만의 상기 최하위비트측의 각 비트를 삭제하도록 상기 가수부 입력신호를 시프트한 부동소수점연산장치의 정규화회로장치.
  16. 제15항에 있어서, 상기 제1시프트수단은 상기 최상위비트를 제외한 상기 선두1검출수단의 상기 출력신호의 출력포트와 상기 선택수단의 한쪽의 입력포트를 접속하는 배선층에 의해서만 실현되고, 상기 선택수단의 다른쪽의 입력포트에는 상기 디코더수단의 상기 출력신호가 입력산 부동소수점연산장치의 정규화회로장치.
  17. 제16항에 있어서, 상기 제어신호생성수단은 입력한 상기 지수부입력신호에 대하여 우선 디코드하고, 그 후 디코드된 상기 지수부입력신호와 상기 가수부입력신호에 근거하여 상기 판단을 실행한 부동소수점연산장치의 정규화회로장치.
KR1019960021042A 1995-10-16 1996-06-12 부동소수점연산장치의 정규화회로장치 KR100223997B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP26722895 1995-10-16
JP95-267228 1995-10-16
JP95-322101 1995-12-11
JP32210195A JP3429927B2 (ja) 1995-10-16 1995-12-11 浮動小数点演算装置の正規化回路装置

Publications (2)

Publication Number Publication Date
KR970022803A KR970022803A (ko) 1997-05-30
KR100223997B1 true KR100223997B1 (ko) 1999-10-15

Family

ID=26547768

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960021042A KR100223997B1 (ko) 1995-10-16 1996-06-12 부동소수점연산장치의 정규화회로장치

Country Status (4)

Country Link
US (1) US5699285A (ko)
JP (1) JP3429927B2 (ko)
KR (1) KR100223997B1 (ko)
DE (1) DE19623465C2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8805904B2 (en) 2011-02-08 2014-08-12 Samsung Electronics Co., Ltd. Method and apparatus for calculating the number of leading zero bits of a binary operation

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1139138A (ja) * 1997-07-14 1999-02-12 Mitsubishi Electric Corp 正規化回路装置
US6329838B1 (en) 1999-03-09 2001-12-11 Kabushiki Kaisha Toshiba Logic circuits and carry-lookahead circuits
KR100385233B1 (ko) * 2000-03-14 2003-05-23 삼성전자주식회사 데이터 프로세싱 시스템의 익스포넌트 유닛
JP5910172B2 (ja) * 2012-03-01 2016-04-27 株式会社Gsユアサ スイッチ故障診断装置、電池パックおよびスイッチ故障診断プログラム、スイッチ故障診断方法
CN114461540B (zh) * 2022-04-12 2022-07-12 湖南三湘银行股份有限公司 一种地址归一化的处理系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1015065A (en) * 1974-01-21 1977-08-02 Richard T. Mcandrew Floating point apparatus and techniques
JPH0644225B2 (ja) * 1986-03-27 1994-06-08 日本電気株式会社 浮動小数点丸め正規化回路
US4841467A (en) * 1987-10-05 1989-06-20 General Electric Company Architecture to implement floating point multiply/accumulate operations
JPH0283728A (ja) * 1988-09-21 1990-03-23 Hitachi Ltd 浮動小数点乗算装置
US4994996A (en) * 1989-02-03 1991-02-19 Digital Equipment Corporation Pipelined floating point adder for digital computer
JP2831729B2 (ja) * 1989-09-30 1998-12-02 株式会社東芝 プライオリティエンコーダおよび浮動小数点正規化装置
US5103418A (en) * 1989-11-20 1992-04-07 Motorola, Inc. Dangerous range detector for floating point adder
JP2757671B2 (ja) * 1992-04-13 1998-05-25 日本電気株式会社 プライオリティエンコーダおよび浮動小数点加減算装置
JPH0612224A (ja) * 1992-04-23 1994-01-21 Matsushita Electric Ind Co Ltd 浮動小数点2進数のための演算処理方法およびその装置
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8805904B2 (en) 2011-02-08 2014-08-12 Samsung Electronics Co., Ltd. Method and apparatus for calculating the number of leading zero bits of a binary operation

Also Published As

Publication number Publication date
JPH09171455A (ja) 1997-06-30
JP3429927B2 (ja) 2003-07-28
US5699285A (en) 1997-12-16
KR970022803A (ko) 1997-05-30
DE19623465C2 (de) 1998-05-20
DE19623465A1 (de) 1997-04-24

Similar Documents

Publication Publication Date Title
US6282554B1 (en) Method and apparatus for floating point operations and format conversion operations
US5027308A (en) Circuit for adding/subtracting two floating point operands
US5508950A (en) Circuit and method for detecting if a sum of two multibit numbers equals a third multibit constant number prior to availability of the sum
US6529928B1 (en) Floating-point adder performing floating-point and integer operations
US5010508A (en) Prenormalization for a floating-point adder
US6366943B1 (en) Adder circuit with the ability to detect zero when rounding
US6785701B2 (en) Apparatus and method of performing addition and rounding operation in parallel for floating-point arithmetic logical unit
US20070050434A1 (en) Data processing apparatus and method for normalizing a data value
Quach et al. Design and implementation of the SNAP floating-point adder
JPS62196767A (ja) パイプライン構成の浮動小数点数アキユムレ−タ回路
US5303175A (en) Floating point arithmetic unit
US8620983B2 (en) Leading sign digit predictor for floating point near subtractor
KR100223997B1 (ko) 부동소수점연산장치의 정규화회로장치
Quach et al. An improved algorithm for high-speed floating-point addition
Matsubara et al. A low power zero-overhead self-timed division and square root unit combining a single-rail static circuit with a dual-rail dynamic circuit
US4110831A (en) Method and means for tracking digit significance in arithmetic operations executed on decimal computers
US6542915B1 (en) Floating point pipeline with a leading zeros anticipator circuit
US5251164A (en) Low-power area-efficient absolute value arithmetic unit
EP0332215B1 (en) Operation circuit based on floating-point representation
US5777906A (en) Left shift overflow detection
US6615228B1 (en) Selection based rounding system and method for floating point operations
US5408427A (en) Detection of exponent underflow and overflow in a floating point adder
He et al. Multiply-add fused float point unit with on-fly denormalized number processing
Kwak et al. High-speed CORDIC based on an overlapped architecture and a novel σ-prediction method
KR100252766B1 (ko) 고속으로 동작하는 스티키 신호 생성기

Legal Events

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

Payment date: 20070710

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee