오래 못 할 짓 하지 않기
[ 컴퓨터 구조 ] 5. MIPS 에 관하여 (2) - Control branch 본문
728x90
Control Instruction 에서는 3가지 종류가 있다
- Beq / Bne $t0 , $t1 , 16bit Offset
--> 두 개가 같냐 or 다르냐에 따라 Offset * 4 한 값을 PC 값에 더한다.
' PC = PC + Offset*4 '
(*4인 이유 = 1word = 4byte)
[ PC 주소의 증가값을 16비트로 표시한다. (상대적으로) 가까운 주소로 간다. ]
- J / Jal 26-bit address
점프 or 점프 label(lable?) 인데, J 'Hello 라고 하면, Hello라는 label로 PC값을 옮긴다'고 생각하면 된다.
BEQ같은 경우에는 같으면 label 로 가는데, 이건 그냥 시키면 간다.
[ PC 주소값은 26 bit까지 표시 가능 ]
- JR
JR $r1 같이 Register를 Operand로 가져오고
그 안에 Register에 있는 32bits를 이용하여 주소를 나타낸다.
[ Register가 나타낼 수 있는 bits 수 = PC값으로 옮길 수 있는 주소의 bits 수 = 32bits ]
[ 문제 1 ]
BEQ $s0, $s1, L
이 명령을 실행시키면 L , 즉 주소가 나타낼 수 있는 값은 - 2^15 ~ 2^15-1 밖에 되지 않는다.
그렇다면 L이 범위 이상의 수라면 어떻게 해야할까?
J Instrcution을 이용하여 더 멀리 간다.
(더 필요하면 JR Instruction을 이용하여 32비트 짜리 주소로 이동.)
[ 문제 2 ]
만약 PC주소가 2^28 짜리 주소를 가리킨다면?
--> JR Instruction을 이용하여 32비트 짜리 주소로 이동.
[ 문제 3 ]
Logical &&와
Bit-wise &의 차이
--> Logical : A&&B << 둘 다 true인지 확인
Bitwise : A& B << A: 0011 , B: 1010 으로 둘 다 1인 경우에 1인 곳만 1로 표시
[ 문제 4 ]
BEQ / BNE 면 주소는 16비트를 다룰 수 있다.
현재 PC 가 0020000이므로, 20000 을 기준으로
( - 2^15 ~ 2^15 -1 )word만큼 범위를 나타낼 수 있다.
--> ( 20000 - 2^15 ) ~ ( 20000+ 2^15 -1 )
출처 : 한동대학교 용환기 교수님 - 컴퓨터 구조
'2학년 2학기 > 컴퓨터 구조' 카테고리의 다른 글
[ 컴퓨터 구조 ] 7. MIPS Addressing Mode (0) | 2023.09.30 |
---|---|
[ 컴퓨터 구조 ] 6. MIPS Instructions (0) | 2023.09.24 |
[ 컴퓨터 구조 ] # Qtspim (0) | 2023.09.21 |
컴구 quiz 대비 (0) | 2023.09.21 |
[ 컴퓨터 구조 ] 4. MIPS 에 관하여 (0) | 2023.09.17 |