MIPS-32 ISA 명령어 type

2023. 1. 14. 22:40컴퓨터구조

MIPS의 instruction에서는

load/store

add,sub,,.. 

Jump and Branch

과 같은 여러 명령어들이 있는데 공통적인 것들끼리 type을 나눠서 분류하고 관리하고 처리한다.

MIPS에서는 모든 데이터 저장은 32bit 단위로 저장하지만 어떤걸 저장하는지는 타입마다 다르다.

레지스터 구조

PC는 program counter로 다음에 실행될 명령어들의 위치를 저장해놓은 레지스터이다. 한 사이클이 완료되면 PC값들을 다음 주소로 옮겨줘야한다.

HI, LO는 special register로 곱셈, 나눗셈 결과를 저장해놓는 레지스터이다. 

R-type

R-Type

op는 현재 명령어가 어떤 타입인지를 나타내는 것이다. R, I, J 타입이 있다.

MIPS_Green_Sheet.pdf
0.15MB
green-sheet

rs rt rd는 $s1 $t1 $t2 를 봤을 때

rs는 t1

rt는 t2

rd는 s1으로 표현되는 것이다.

 

shamt는 shift amount를 나타내는 것으로 얼만큼 shift를 할 것인지를 나타낸다. add나 sub 같은 명령어말고 shift를 하는 명령어에서 쓰인다. 안쓴다면 0으로 냅둔다.

 

funct는 해당 타입에서 어떤 명령어인지 찾는다 16진수로 나타내서 add인지 sub인지를 찾아간다.

 

I-type

I-type

op는 위와 같고 rs는 위와 같고 rt는 위와 같거나, rd역할을 하게 되기도 한다. Immediate 명령어나 if문 같은 명령어를 사용할 때 I-type을 이용한다. 그래서 op rs rt 뒤에 상수나 주소가 오는 것이다.

 

J-type 

j type은 op코드와 그 외에는 Jump target이라고 해서 점프할 곳의 주소를 넣는 타입이다.

goto문 같은 타입이다.

 

'컴퓨터구조' 카테고리의 다른 글

MIPS processor  (0) 2023.02.07
MIPS representing instruction  (0) 2023.01.15
MIPS 어셈블리어2  (0) 2023.01.14
빅엔디안, 리틀엔디안  (0) 2023.01.14
MIPS 어셈블리어  (0) 2023.01.02