CS59 [Chapter 3.8 컴퓨터 구조 및 설계] 연산에 있어서 겪을 수 있는 오류 및 함정 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. 오류와 함정 (여기서 부르는 함정은 흔히들 하는 실수이고, 오류는 많은 사람들이 공통적으로 잘못 알고 있는 부분이다.) 오류 : 한 비트 왼쪽 자리이동 명령어가 2를 곱해준 것과 같은 결과를 보이듯이 오른쪽 자리이동 명령어는 2로 나누어 준 것과 같은 결과를 나타낸다. 해당 오류는 부호 없는 정수에서는 찾을 수 없다. 문제는 부호있는 정수를 사용하는 경우이다. 예를 들어, -5를 4로 나눈다고 생각하자. 1111 1111 1111 1111 1111 1111 1111 1011 (-5의 2의 보수 표현법) 이러한 오류에 따르면 2비트 오른쪽으.. 2022. 7. 16. [Chapter 3.7 컴퓨터 구조 및 설계] 부동 소수점 곱셈 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. 부동 소수점 곱셈 이번엔 부동 소수점 곱셈에 대하여 한번 알아보자. F1과 F2의 hidden bit을 복구 시킨다. ex) F1이 011000....000이었다면 앞에 1이 숨겨져 1.011일 것이다. 지수 간의 곱을 먼저 진행해준다. 즉, E1과 E2를 더해준다. 그리고 msb가 같은지 확인해 부호를 미리 정해준다. F1과 F2를 곱해 F3를 double precison 형태로 표현해준다. F3를 정규화해준다. ( 1.xxxx * 2^yyyy ) F3를 G R S bit를 이용해 Round to nearest even반올림 해준다. 이.. 2022. 7. 15. [Chapter 3.6 컴퓨터 구조 및 설계] 부동 소수점 덧셈 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. 부동 소수점 덧셈 부동 소수점끼리 간의 덧셈을 한번 알아보자. F1과 F2의 hidden bit을 복구 시킨다. ex) F1이 011000....000이었다면 앞에 1이 숨겨져 1.011일 것이다. 이제 자릿 수를 맞춰준다. 자릿 수를 맞추는 방법 : E1과 E2 중에 큰 것을 고른다.(E1이라고 가정하자.) E1 - E2 만큼 F2를 right shift(나누기 2) 해준다. 표현할 수 없는 bit로 넘어가면 G R S bit를 사용해 Round nearest even(chapter 3.5 참고) 해준다. 여기서 F2를 즉, E가 더 작.. 2022. 7. 15. [Chapter 3.5 컴퓨터 구조 및 설계] IEEE 754 부동 소수점 반올림과 근사 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. IEEE 754 FP는 다음과 같은 반올림 모드를 갖고 있다. Always round up (toward +∞) Always round down (toward -∞) Truncate Round to nearest even 이러한 반올림 모드가 필요한 이유는 다음과 같이 F field가 23bit로 제한되어있기 때문에 해당 bit보다 더 소수 자리 수가 큰 수를 표현하기 위함이다. 현재의 부동소수점 표현 방식에선 거의 Round to nearest even를 사용한다. Always round up 항상 올림을 뜻한다. 1.0011111001.. 2022. 7. 13. 이전 1 ··· 8 9 10 11 12 13 14 15 다음