상세 컨텐츠

본문 제목

03. 컴퓨터 산술과 논리 연산 (4) [부동소수점 수의 표현/연산]

Computer Science/Computer Architecture

by RACC8N 2020. 4. 17. 11:18

본문

3.6 부동소수점 표현 (Floating - point representation) :

소수점의 위치를 이동시킬 수 있는 수 표현 방법 -> 수 표현 범위 확대

 

부동소수점 수 (floating - point number)의 일반적인 형태

10진 부동소수점 수(decimal floating - point number)

2진 부동소수점 수 (binary floating - point number)

- 단일-정밀도(single-precision) 부동소수점 수 : 32비트

- 복수-정밀도(double-precision) 부동소수점 수 : 64비트

같은 수에 대한 부동소수점 표현이 여러 가지 존재

정규화된 표현(Normalized representation) : 

수에 대한 표현을 한 가지로 통일하기 위한 방법 

※ 소수점 아래 첫 번째 비트는 항상 1이므로, 반드시 저장할 필요는 없음

-> 가수 23비트를 활용하여 소수점 아래 24자리 수 까지 표현 가능

 

바이어스된 지수 (biased exponent) :

지수를 바이어스된 수 (biased number)로 표현 (일정 수를 더함)

 

사용 목적 

- 0(혹은 0에 매우 가까운 값)에 대한 표현에서 모든 비트들이 0이 되도록 함으로써, 0-검사가 용이하게 하기 위함

-> 0-검사가 정수 경우와 같은 방법으로 가능해짐

부동소수점 수의 표현 범위

IEEE 754 표준 부동소수점 수의 형식

부동소수점 수의 표현 방식의 통일을 위하여 미국전기전자공학회(IEEE)에서 정의한 표준

 

32-비트 단일-정밀도 부동소수점 수의 표현

- 가수 : 부호화-크기 표현 사용

- 지수 필드 : 바이어스 127 사용

- 소수점 아래의 M 부분만 가수 필드에 저장 (소수점 왼쪽의 저장되지 않는 1을 hidden bit라고 함)

 

64-비트 복수-정밀도 부동소수점 수의 표현

- 지수필드 : 바이어스1023 사용

 

예외 경우를 포함한 정의 (32비트 형식) - 참고

예외 경우를 포함한 정의 (64비트 형식)

 

4배수-정밀도(quadruple-precision : 128 비트) 부동소수점 수의 표현

- 가수 : 부호화-크기 표현 사용

- 지수 필드 : 바이서스 16383 사용 (범위 : -16382 ~ +16383)

3.7 부동소수점 산술 연산

3.7.1 덧셈과 뺄셈

- 지수들이 일치되도록 조정 (alignment)

- 가수들 간의 연산(더하기 혹은 빼기) 수행

- 결과를 정규화 (normalization)

부동소수점 산술의 파이프라이닝

- 연산 과정을 독립적 단계들로 분리 가능

- 단계 수 만큼의 속도 향상

- 대규모의 부동소수점 계산을 처리하는 거의 모든 슈퍼컴퓨터들에서 채택

C(I) = A(I) + B(I)

3.7.2 부동소수점 곱셈/나눗셈

2진수 부동소수점 곱셈 과정

- 가수들을 곱한다

- 지수들을 더한다

- 결과값을 정규화

2진수 부동소수점 나눗셈 과정

- 가수들을 나눈다

- 피제수의 지수에서 제수의 지수를 뺀다

- 결과값을 정규화

 

부동소수점 연산 과정에서 발생 가능한 문제점 

1. 지수 오버플로우 (exponent overflow)

 - 양의 지수값이 최대 지수값을 초과 (수가 너무 커서 표현될 수 없는 상태이므로, +∞또는 -∞로 세트)

 

2. 지수 언더플로우 (exponent underflow)

 - 음의 지수값이 최대 지수값을 초과 (수가 너무 작아서 표현될 수 없는 상태이므로, 0으로 세트)

 

3. 가수 언더플로우 (mantissa underflow)

 - 가수의 소수점 위치 조정 과정에서 비트들이 가수의 우측 편으로 넘치는 상태 (반올림 적용)

 

4. 가수 오버플로우 (mantissa overflow)

 - 같은 부호를 가진 두 가수들을 덧셈하였을 때 올림수가 발생 (재조정 과정을 통하여 정규화)

 

관련글 더보기

댓글 영역