[컴퓨터 구조][MIPS] J-타입(Jump-type) 명령어

2020. 6. 12. 16:25컴퓨터 구조

I-타입(Immediate-type) 명령어

 

op Address
6 bit 26 bit

 

op(opcode)

명령어의 종류를 알 수 있게 해 준다.

 

Address

점프할 주소 값

 

jump


지정된 주소값으로 이동한다.

j L1

주소 값 L1으로 이동한다.

PC = L1

 

뭔가 이상하지 않은가?

이전 부터 우리는 명령어의 길이가 32bit라고 알아왔었다.

그러나 L1의 값이 26bit이므로 PC값에 들어가기엔 부적절하다.

그렇다면 어떻게 26bit를 32bit에 저장할 수 있는 것일까?

 

 

addressing


명령어의 크기는 4byte이다.

명령어의 시작 주소가 0이라면,

다음 주소는 4가 된다.

 

그렇다는 것은

명령어의 LSB 0번째와 1번쨰 bit는

언제나 0이라는 것을 알 수 있다.

 

즉 명령어는

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx00

과 같은 구조로 이루어져 있다.

 

즉, 우리는 x의 부분만 안다면

전체 명령어를 만들어낼 수 있다.

 

이로써 우리는 26bit 뒤에 00 붙이면서

28bit의 주소값을 얻게 되었다.

 

나머지 4bit는 어디서 가져와야 할까?

 

바로 PC의 MSB 4bit(31, ... 28 bit)

 

28bit 주소값 앞에 붙혀 32비트를 만든다.