먼저 MIPS의 명령어에 대해 간단히 알아보자.
- 명령어는 32-bit이다.
- register들의 주소는 아래와 같다.
- $t0 - $t7 -> 8 - 15
- $s0 - $s7 -> 16 - 23
- $t8 - $t9 -> 24 - 25
I-format instruction은 상수가 포함되어있거나 주소를 표현해야 하는 명령어의 구조이다.
32bit의 register에서 구성은 아래와 같다.
op ( 6bits ) |
rs ( 5bits ) |
rt ( 5bits ) |
constant or offset ( 16bits ) |
명령어 fields
op : operation code (opcode) -> 명령어의 종류를 구분한다.
rs : register operand로 사용되는 첫번째 source
rt : 두번째 source 혹은 연산 결과를 저장하는 destination
constant or offset : 상수를 표현하거나 주소를 표현
- 상수는 -2^15 부터 +2^15-1 까지 표현 가능하다. (16bits이기 때문)
- 주소는 현재의 pc에서부터 얼만큼 떨어졌는지로 나타낸다.
-> pc로부터 2만큼 떨어져있으면 2를 넣는다.
bit 배정의 이유
op는 MIPS가 실행할 수 있는 명령어들의 개수를 고려하여 6bit로 만들었다.
rs, rt는 register의 주소를 표현하는 것이므로 5bit가 필요하다.
constant or offset은 남은 자리를 최대한 많이 사용하여 더 많은 상수를 표현할 수 있도록 한다.
'전공과목 정리 > 컴퓨터구조론' 카테고리의 다른 글
MIPS의 명령어 구조(format) : R-format (0) | 2021.04.19 |
---|---|
컴퓨터 명령어의 구조, ISA: 명령어 집합구조 (0) | 2021.04.19 |
CPU 성능 계산하기 (0) | 2021.03.29 |