컴퓨터구조 4

[5-2] Division

용어 정리 - quotient : 몫 - dividend : 나눠지는 수 - divisor : 나누는 수 - remainder : 나머지 ** 0으로 나누는 것에 유의 ** Division RULE - Divide는 절댓값으로 진행한다. - dividend와 remainder의 부호는 같다. Ex) -5/2 - Q : -2 - R : -1 (Q와 R이 모두 같은 부호여야 함) Restoring division example - divisor, quotient, dividend 사용 - divisor는 한 번 연산할 때마다 shift right 실행 - dividend에서 divisor를 빼고, 그 값이 양수인지 음수인지 확인한다. - 양수라면 그 값으로 dividend의 값을 갱신하고, quotient의..

[5-1] Overflow / Multiplication

주어진 범위를 넘어가는 것이 overflow * addition의 경우 - 양수와 음수 덧셈 : no overflow (범위가 벗어나지 않음. 0으로 가까워짐) - 양수와 양수 덧셈 : Overflow if result sign is 1 (부호가 -가 될 가능성 있음) - 음수와 음수 덧셈 : Overflow if result sign is 0 (부호가 +가 될 가능성 있음) subtraction의 경우 - 양수 양수, 음수 음수 뺄셈 : no overflow - 양수-음수 뺄셈 : Overflow if result sign is 0 (부호가 +가 될 가능성 있음) - 음수-양수 뺄셈 : Overflow if result sign is 1 (부호가 -가 될 가능성 있음) * Dealing With Ove..

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

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 ..

[3-2] Arithmetic Operations in MIPS

** 공부한 내용을 까먹을까봐 한글로 작성하는 글입니다. ** 강의 내용을 잘못 이해했을 수 있습니다. (지적 환영) Add and subtract, three operands - 두 개의 변수와 두 변수를 더한 값을 저장하는 destination이 존재한다. - Regularity가 구현을 간단하게 만든다. - Simplicity enables higher performance at lower cost (번역하는 것보다 이 문장이 나은 듯) Ex) add a, b, c // a = b + c Ex) a = b + c + d; --> add a, b, c // a = b + c add a, a, d // a + d ▶ C code = f = (g + h) - (i + h); --> compiled MIP..