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
op는 현재 명령어가 어떤 타입인지를 나타내는 것이다. R, I, J 타입이 있다.
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
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 |