MIPS 아키텍처 (MIPS architecture)
MIPS란?
Microprocessor without Interlocked Pipeline Stages의 약자로 MIPS Technologies에서 개발하였고, ARM과 같은 RISC 기반의 명령어 집합 체계를 사용한다. 특징으로는 RISC 답게 단순하고 구조화된 명령어 구조를 가지며, 컴파일러의 성능에 의존하는 경향이 있다.
MIPS 명령어 체계
MIPS 명령어 체계는 3가지 종류의 명령어로 구성되어 있다. 들어가기에 앞서 opcode라는 개념에 대해서 알아야 할 필요가 있다. opcode는 해당 명령어가 실행할 연산의 종류를 정의한다.
- R type: c = a + b와 같은 연산을 할 때, 2개의 레지스터 값을 이용하여 연산을 한 다음, 다른 레지스터 하나에 연산한 값을 기록한다. 이 때 연산을 하는데 사용되는 레지스터는 각각 rs(register source의 약자), rt(register target의 약자)로 불리게 되며, 연산을 한 값을 rd(register direction의 약자)에 저장하게 된다.
- I type: R type과 비슷하게 두개의 값을 이용해 연산을 한 다음 다른 하나의 레지스터에 저장을 하지만, 연산할 값을 하나는 레지스터에서 가져오고 다른 하나는 레지스터가 아니라 지정된 임의의 값을 사용한다. I type 명령어에서 c = a + b와 같은 연산을 수행한다 하면, 이 때 b는 레지스터에 없는 임의의 값이 된다. R type 명령어에 있는 약자인 rs와 rt를 그대로 사용하며, 이때 사용되는 임의의 값은 immediate(줄여서 imm이라고도 하며, 즉시값이라고도 부른다.)로 부른다. 계산은 rt = rs + imm로 한다.
- J type: 무조건 분기 명령어로, 특정 메모리 주소로 바로 이동이 필요한 경우에 사용되는 명령어다. 이동할 메모리 주소를 연산에 사용한다.
MIPS에는 산술 연산을 수행하기 위해 32 개의 정수 레지스터가 존재한다. 레지스터 $ 0은 0을 보유하고 레지스터 $ 1은 일반적으로 어셈블러 용으로 예약되어 있다.
MIPS 명령어 체계를 확장한 명령어 체계 : MCU, SmartMIPS, MDMX, MIPS-3D, microMIPS, picoMIPS, MIPS16e 등
MIPS의 설계
- 간단하게 만들기 위해 규칙성이 중요함.
- 최소 is Best.
- 자주 발생하는 일은 신속하게 처리.
'System' 카테고리의 다른 글
MIPS와 ARM의 차이점 (0) | 2021.10.17 |
---|---|
ARM 아키텍처 (ARM architecture) (0) | 2021.10.17 |
System: [INTEL] 8060메모리 구조 (0) | 2021.03.24 |
댓글
이 글 공유하기
다른 글
-
MIPS와 ARM의 차이점
MIPS와 ARM의 차이점
2021.10.17 -
ARM 아키텍처 (ARM architecture)
ARM 아키텍처 (ARM architecture)
2021.10.17 -
System: [INTEL] 8060메모리 구조
System: [INTEL] 8060메모리 구조
2021.03.24