Computer architectures
[MIPS] Register Model - 2
YEJI ⍢
2022. 9. 24. 22:40
728x90
간단하게 register에 대해서 설명해 드리겠습니다.
Mip에서의 resister model입니다.
(간단하게 그려놓은 모습입니다.)
0 | $ zero constant 0 |
1 | $ at reserved for assembler |
2 | $v0 return values |
3 | $v1 |
4 | $a0 arguments |
5 | $a1 |
6 | $a2 |
7 | $a3 |
8 | $t0 temporary |
... |
15 | $t7 |
16 | $s0 permanent |
... | |
23 | $s7 |
24 | $t8 |
25 | $t9 |
26 | $k0 |
27 | $k1 |
28 | $gp global pointer |
29 | $sp stack pointer |
30 | $fp frame pointer |
31 | $ra return address |
0~1은 compiler에서 신경쓰는 부분이기 때문에 우리는 신경쓰지 않아도 됩니다.
2~7은 function을 call하는 부분입니다.
8~25은 user가 assembly language을 사용할 때 필요합니다.
26~27은 OS,
28은 global varia ble
...
etc.
로 사용됩니다.
Note) $s-는 saved value를 의미해서 영구적으로 value를 저장하고,
$t-는 temporary value를 의미해서 잠시동안 destination의 역할을 합니다.
현재 Mips에서는 byte address를 사용하고,
byte address란 byte마다 주소를 가지는 것을 말합니다.
즉, Memory에서 주소 하나당 1byte를 가지고,
4bytes당 한 word가 할당되는 것을 알 수 있습니다.
Note1 ) MIPS는 삼항연산자(three address)를 갖기 때문에 AC가 필요 없습니다..
Note2 ) MIPS는 기본적으로 byte address 구조입니다.
◡̈