본문 바로가기
728x90

CS59

[Chapter 3.4 컴퓨터 구조 및 설계] 부동소수점 표현 Normalized Denormalized Form 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. 우리가 지구의 나이 같은 엄청 큰 수를 표현하고 싶다거나, 소수점 아래의 작은 수까지 2진수로 표현하려면 어떻게 해야 할까? 아마도 32bit의 interget 표현의 이진수로는 어림도 없을 것이다. 이런 소수 실수 등을 컴퓨터가 알아들을 수 있게 2진수로 표현하기 위해 나온 것이 바로 부동 소수점 표현 방식이라고 부른다. 부동 소수점 표현 방식 우선 소수를 생각해보면, 0.001 x 2^-2와 1.0 x 2^-5은 자명하게 같은 수이다. 이런 소수를 똑같은 이진수로 나타내기 위해서 정규화된 표현이 필요한데, 위 사진과 같이 앞이 무조건 .. 2022. 7. 13.
[Chapter 3.3 컴퓨터 구조 및 설계] 2진수 나눗셈, 나눗셈 하드웨어 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. 2진수 나눗셈 2진수 곱셈이 어떻게 이루어지는지 보기에 앞서 십진수의 1001010 나누기 1000을 하는 과정을 살펴보자. Dividend를 보통 피제수(나눗셈을 당한다) Divisor를 보통 제수 Quotient를 몫 나머지를 Remainder라고 부른다. 보통 초등학교에서 배운 나눗셈 방법은 얼마나 큰 수를 뺄 수 있는지를 검사해서 몫의 자리 수를 하나하나 구한다. 위의 십진수 예는 0과 1 만을 사용하도록 선택하였으므로 제수가 피제수에 얼마나 많이 들어갈 수 있는지 쉽게 알 수 있다. 이진수에는 0과 1만 있으므로, 이진수 나눗셈은.. 2022. 7. 12.
[Chapter 3.2 컴퓨터 구조 및 설계] 2진수 곱셈, 곱셈 하드웨어 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. 2진수 곱셈 2진수 곱셈이 어떻게 이루어지는지 보기에 앞서 십진수의 1000 곱하기 1001을 하는 과정을 살펴보자. Multiplicand를 보통 피승수 (곱셈을 당한다) Multipler를 승수 최종결과를 곱(Product) 이라고 부른다. 즉, 우리는 0과 1만의 세계에선, 다음과 같은 단계만 거치면 된다. 승수의 자리 수가 1이면 피승수(1X피승수)를 해당 위치에 복사한다. 승수의 자리 수가 0이면 0(0X피승수)을 해당 위치에 복사한다. 초기의 곱셈 하드웨어 Multiplicand는 64bit로 초기엔 좌측의 32bit가 0으로 .. 2022. 7. 12.
[Chapter 3.1 컴퓨터 구조 및 설계] 2의 보수의 덧셈 뺄셈, overflow detecting 본 정리는 CS422-컴퓨터 구조 및 설계 : 하드웨어/소프트웨어 인터페이스. David A. Patterson, 존 헤네시 책을 바탕으로 하고 있음을 미리 알립니다. 32bit 2의 보수 표현 앞서 2의 보수 표현을 다룬 적이 있는데, 컴퓨터에선 32비트의 수를 연산을 할 것이기 때문에 32비트의 수도 2의 보수로 표현할 수 있어야한다. 32비트의 부호있는 수의 표현은 다음과 같다. 32비트에서도 마찬가지로, 모든 비트를 반대로 바꾸고, 1을 더하면 그 수의 2의 보수가 된다. MIPS ALU Unit MIPS에서는 산술 연산 혹은 논리 연산을 가진 명령어가 매우 많다. add, addi, addiu, addu sub, subu mult, multu, div, divu sqrt and, andi, no.. 2022. 7. 12.
728x90