School Lecture Study/Computer Architecture

[3-3] Immediate Operands & Integer Wrapping & 보수

vㅔ로 2021. 10. 1. 05:14
728x90

Immediate Operands

 

이 부분은 아직 잘 이해를 못 했다. 즉시 계산인가? -> 상수를 레지스터에 따로 넣지 않고 바로 계산하는 것을 Immediate Operands 라고 한다. 

Constant data specified in an instruction

addi 키워드 사용 (빼기는 없음)

 

Ex) addi $s3, $s3, 4   // s3 = s3 + 4

 

- MIPS $0은 상수 0을 값으로 갖는다. 너무 자주 쓰여서 정의해놓음. $0에는 값을 덮어쓸 수 없다.

Ex) add $t2, $s1, $zero    // t2 = s1  값 이동을 addi로 구현 가능하다. (근데 여기 addi 아닌가 싶다)

 

Unsigned Binary Integers

 

Range는 0부터 2^n -1

8bits -> 0 ~ 255

16bits -> 0 ~ 65535

32bits -> 0 ~ 4294967295

(8, 16bits는 외우라고 하심)

 

그래프는 필기 참조

 

How to represent negative numbers?

 

1. sign & magnitude : 

8bit 기준으로 했을 때 앞의 1bit를 부호 표시 부분으로 남기고 7bits만 사용하는 방법

앞 부분이 1이면 음수, 0이면 양수

범위는 -127 ~ 127

* 안 쓰는 이유

- 0은 00000000인데, 10000000은 -0이다. 그러나 -0이라는 것은 수학에 존재하지 않는다.

- -5와 5를 더했을 때 -10이 나온다. (계산이 잘 안 됨)

 

2. 1's complement

양수의 모든 bit를 거꾸로 뒤집는다.

* 안 쓰는 이유

- 1번과 같은 이유 (0 관련)

- -5와 5를 더했을 때 -0이 나옴

 

3. 2's complement : 모든 컴퓨터가 사용

양수의 모든 bit를 거꾸로 뒤집고 1을 더한다.

문제 없음!

 

728x90

'School Lecture Study > Computer Architecture' 카테고리의 다른 글

Simple DataPath  (0) 2021.12.16
MIPS Instructions  (0) 2021.12.10
[5-2] Division  (0) 2021.10.21
[5-1] Overflow / Multiplication  (0) 2021.10.18
[3-2] Arithmetic Operations in MIPS  (0) 2021.10.01