MIPS Architecture
밉스 아키텍처
- MIPS Technology에서 개발한 RISC ISA이다.
MIPS(RISC) Design Principles (MIPS(RISC)의 설계 철학)
1. Simplicity favors regularity (규칙적인 Instruction 설계를 통한 단순한 구조)
2. Smaller is faster (작은 규모를 통한 빠른 동작 구현)
3. Make the common case fast (자주 일어나는 일은 빠르게 처리)
4. Good design demands good compromises (좋은 설계를 위한 적절한 타협)
- MIPS에서는 명령어의 종류를 크게 3 가지로 구분해놓았다.
MIPS Instruction (MIPS 명령어)
1. Data Processing Instruction
- 산술/논리연산을 수행하는 명령어이다.
2. Memory Access /instruction
- 메모리에 대한 Load/Store 연산을 수행하는 명령어이다.
3. Branch Instruction
- 분기를 수행하는 명령어이다. (Sequential한 Instruction Flow를 조작하는 연산)
Levels of Program Code (프로그램 코드 레벨)
- High-Level Language(고급 언어)는 Productivity(생산성)*와 Portability(이식성)**를 제공하여, 프로그램 설계 효율성을 제고한다.
- Compile : 고급 언어 -> 어셈블리어 (One to Many)
- Assemble : 어셈블리어 -> 기계어 (One to One)
* Productivity (생산성) : 하드웨어 레벨의 세부사항은 은닉시켜서 신경써야하는 부분을 최소화함으로써 생산성을 향상시킨다.
ex) 프로그래밍 언어에서는 굳이 레지스터에 어떤 데이터들이 들어있는지를 신경쓰지 않아도 된다.
** Portability (이식성) : 의도한 Task를 프로그래밍 언어의 문법에 맞게 코딩하면, 컴파일러가 해당 시스템에 맞게 Compile(Assemble)한다. 이 과정에서 프로그래머는 프로세서가 어떤 ISA를 사용하는지는 고려하지 않아도 된다.
이미지 출처: Computer Organization and Design 5th Edition (David A. Patterson)