YZ ZONE

[ 컴퓨터구조 ] 3.7 부동소수점 산술 연산 본문

IT/컴퓨터구조

[ 컴퓨터구조 ] 3.7 부동소수점 산술 연산

러블리YZ 2023. 2. 6. 22:56

부동소수점 수의 산술 연산

▣ 덧셈과 뺄셈

 지수들이 일치되도록 조정 (alignment) : (더 큰 수 기준) 

 가수들 간의 연산(더하기 혹은 빼기) 수행
 결과를 정규화 (normalization)

[참고] 10진 부동소수점 산술의 예

 

▣ 덧셈과 뺄셈

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

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

▣ 단계 수만큼의 속도 향상

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

[] 수 배열(number array)들 간의 덧셈

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

부동소수점 곱셈 / 나눗셈

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

1 .가수들을 곱한다

2. 지수들을 더한다

3. 결과값을 정규화

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

1 가수들을 나눈다

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

3 결과값을 정규화

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

▣ 지수 오버플로우(exponent overflow)

 양의 지수값이 최대 지수값을 초과 

수가너무커서표현될수없는상태이므로, +∞또는-∞로세트

 

▣ 지수 언더플로우(exponent underflow)

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

▣ 가수 언더플로우(mantissa underflow)

가수의 소수점 위치 조정 과정에서 비트들이 가수의 우측 편으로 넘치 는 상태

반올림(rounding) 적용

 

▣ 가수 오버플로우(mantissa overflow)

같은 부호를 가진 두 가수들을 덧셈하였을 때 올림수가 발생 

재조정(realignment) 과정을 통하여 정규화