핵심 인사이트 (3줄 요약)
- 본질: MIPS(Microprocessor without Interlocked Pipelined Stages)는 1980년대 스탠퍼드 대학의 존 헤네시(John Hennessy) 주도로 개발된, 순수 RISC 아키텍처의 이론적 원형이자 학술적 교과서다.
- 가치: 파이프라인의 하드웨어적 잠금(Interlock) 장치를 제거하고 그 부담을 컴파일러에게 완전히 전가하는 극단적 단순화를 통해, 인류에게 '명령어 파이프라이닝(Pipelining)'의 정석을 가장 명확하게 가르쳐 주었다.
- 융합: 소니 플레이스테이션 1, 닌텐도 64 등 90년대 게임기와 공유기 등 임베디드 시장을 지배했으나, 지나치게 학술적인 철학을 고집하다 상업적 융합에 실패하여 현재는 오픈소스로 전환된 뒤 역사 속으로 퇴장하고 있다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: MIPS(Microprocessor without Interlocked Pipelined Stages)는 파이프라인의 하드웨어적 제어 복잡도를 최소화하고 그 부담을 컴파일러에게 위임하는 철학을 가진 순수 RISC 기반의 명령어 집합 구조(ISA)다. 32비트 고정 길이 명령어와 정형화된 3가지 포맷(R, I, J)을 정석으로 삼는다.
-
필요성: MIPS는 컴퓨터 아키텍처 교육과 파이프라인 성능의 '이론적 표준 모델'을 확립하기 위해 반드시 필요하다. 하드웨어가 스스로 멈추는 인터락(Interlock) 장치를 제거하고 지연 슬롯(Delay Slot)을 도입함으로써, 명령어가 파이프라인 5단계를 단 한 순간의 정체 없이 통과하는 극한의 논리적 단순성을 구현했기 때문이다. 이는 복잡한 x86 대신 아키텍처의 민낯을 가장 투명하게 보여주는 교보재로서 전 세계 전산학 교육의 근간이 되었으며, 90년대 3D 게임 콘솔(PS1, N64)과 고성능 네트워킹 장비의 심장으로서 저비용 고속 연산 시스템의 물리적 실체화를 이끈 역사적 표준으로서의 가치를 지닌다.
-
💡 비유: MIPS는 '안전장치를 떼버린 수동변속 레이싱카'와 같다. 컴퓨터(하드웨어)가 "오르막길에선 클러치를 밟아줄게(Interlock)" 같은 친절을 베풀지 않는다. 오직 드라이버(컴파일러)가 완벽한 타이밍에 기어를 변속해야만 최고 속도를 낼 수 있도록 설계된, 철저히 효율만을 위해 벼려진 순수 기계다. 요령 있게 힘을 쓰는 것이 아니라 정석대로 밀어붙이는 돌직구 스타일이다.
-
등장 배경: 1980년대 초, CISC(x86, VAX)의 복잡성에 반기를 들고 RISC 혁명이 일어났다. UC 버클리에 데이비드 패터슨의 'RISC-I' 프로젝트가 있었다면, 스탠퍼드에는 존 헤네시의 'MIPS' 프로젝트가 있었다. 헤네시 교수는 파이프라인이 멈추는 가장 큰 이유가 '명령어 간의 데이터 의존성을 하드웨어가 스스로 해결(Interlock)하려 하기 때문'이라고 봤다. 그래서 하드웨어의 이 안전장치를 아예 뽑아버리고, 그 빈 공간에 연산기를 꽉꽉 채워 넣는 파격적인 설계로 MIPS를 탄생시켰다.
이름(Microprocessor without Interlocked Pipelined Stages)에 담긴 무시무시한 철학을 시각화하면 다음과 같다.
┌─────────────────────────────────────────────────────────────────────────────┐
│ MIPS의 본질: 지연 분기(Delayed Branch)의 탄생 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ [ 일반적인 CPU (하드웨어 인터락 적용) ] │
│ 1. JUMP 500 ──▶ (어디로 뛸지 계산 중...) │
│ 2. (버려짐) ──▶ (하드웨어가 파이프라인을 강제로 멈춤: 거품 발생) │
│ 3. ADD R1, R2──▶ (500번지 도착 후 실행) │
│ │
│ [ MIPS의 철학 (소프트웨어 책임) ] │
│ 1. JUMP 500 ──▶ (어디로 뛸지 계산 중...) │
│ 2. SUB R3, R4──▶ [Delay Slot] 멈추지 않는다! 무조건 실행해라! │
│ 3. ADD R1, R2──▶ (500번지 도착 후 실행) │
│ │
│ * 마법: MIPS 하드웨어는 파이프라인을 절대 멈추지 않는다. 멈추면 지는 거다! │
└─────────────────────────────────────────────────────────────────────────────┘
[다이어그램 해설] MIPS의 가장 충격적인 설계는 **지연 분기(Delayed Branch)**다. 점프 명령어 바로 다음 줄에 있는 명령어 1개(Delay Slot)는 점프 여부와 상관없이 '무조건' 실행된다. 하드웨어가 파이프라인을 비우고 멈추는 회로(Interlock)를 만들기가 너무 아까워서 그냥 빼버렸기 때문이다. 따라서 MIPS 컴파일러는 점프 명령어 바로 뒤에다가 프로그램 흐름에 영향을 주지 않는 유용한 명령어(예: 루프 변수 증가)를 귀신같이 찾아서 끼워 넣어야(Instruction Scheduling) 한다. 만약 넣을 게 없으면 아무 일도 안 하는 NOP(No Operation)라도 강제로 박아 넣어야 프로그램이 고장 나지 않는다.
- 📢 섹션 요약 비유: 지연 분기는 '이사 가기 전날 버리는 쓰레기'와 같습니다. 내일 당장 이사(JUMP)를 가야 하지만, 오늘 밤(지연 슬롯) 하루는 아직 이 집에 남아있습니다. 이 아까운 시간에 그냥 멍때리는(NOP) 게 아니라, 어차피 해야 할 분리수거(유용한 명령어)를 무조건 하나 해치우고 이사를 떠나는 아주 지독한 효율주의입니다.
Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)
구성 요소 (가장 투명한 3대 명령어 포맷)
MIPS의 위대함은 32비트 고정 길이 명령어를 단 3가지 포맷(R, I, J)으로 완벽하게 규격화한 데 있다.
| 포맷 종류 | 비트 분할 구조 (32bit) | 아키텍처적 가치 | 비유 |
|---|---|---|---|
| R-Format (Register) | Op(6)+Rs(5)+Rt(5)+Rd(5)+Shamt(5)+Funct(6) | 레지스터 3개를 쓰는 순수 연산 전용 (ADD, SUB) | 수학 공식 |
| I-Format (Immediate) | Op(6)+Rs(5)+Rt(5)+Immediate(16) | 주소 2개와 16비트 상수를 포함. Load/Store, 분기용 | 변수 대입식 |
| J-Format (Jump) | Op(6)+Target Address(26) | 26비트의 긴 주소 공간을 확보. 무조건 장거리 점프용 | 순간이동 좌표 |
심층 동작 원리: "지연 로드(Load Delay)의 강제성"
분기(Branch)뿐만 아니라 데이터를 가져올 때(Load)도 파이프라인의 민낯을 그대로 드러냈다.
┌─────────────────────────────────────────────────────────────────────────────┐
│ 하드웨어의 무책임함: 로드 지연(Load Delay) 융합 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ [ 문제의 코드 ] │
│ 1. LOAD R1, [1000] ──▶ (메모리에서 R1에 10을 가져와라) │
│ 2. ADD R2, R1, R1 ──▶ (가져온 10을 바로 더해라) │
│ │
│ [ 일반 CPU의 대응 ] : "어? 아직 10이 안 왔네? 파이프라인 잠깐 정지!" │
│ │
│ [ 초기 MIPS의 대응 ] : "난 정지(Interlock) 회로 없는데? 그냥 옛날 R1 │
│ 쓰레기 값으로 더할게!" (버그 폭발) │
│ │
│ * 해결책: 컴파일러가 무조건 LOAD와 ADD 사이에 다른 명령어나 NOP를 넣어야 함!│
└─────────────────────────────────────────────────────────────────────────────┘
[다이어그램 해설] MIPS가 "인터락 없는(without Interlocked)" 프로세서라고 불리는 이유다. 메모리에서 데이터를 가져오는 LOAD 명령어는 파이프라인의 후반부(MEM)에서야 값을 가져온다. 그런데 바로 다음 명령어가 그 값을 요구하면? 일반적인 CPU는 친절하게 포워딩(Forwarding)을 해주거나 파이프라인을 1 Cycle 멈춰준다. 하지만 초기 MIPS는 이런 친절함(회로)을 다 뜯어내고 컴파일러에게 책임을 전가했다. "내가 값을 가져오기 전까지는 절대 그 레지스터를 건드리는 명령어를 짜지 마라!" 이 철학은 컴파일러 기술을 극한으로 발전시키는 촉매제가 되었다.
- 📢 섹션 요약 비유: 지연 로드는 '식당의 선불 진동벨'과 같습니다. 주방(메모리)에 요리(Load)를 시켜놓고 진동벨이 울리기도 전에 테이블에서 숟가락을 들고 설치면(ADD) 빈 그릇만 긁게 됩니다. 주방장이 요리를 완성할 때까지는 물을 떠 오거나 단무지를 먹는 등(다른 명령어 실행) 스스로 알아서 다른 일을 하며 기다려야 합니다.
Ⅲ. 융합 비교 및 다각도 분석
심층 기술 비교: MIPS vs ARM
비슷한 시기에 태어난 RISC 형제지만, 학계(MIPS)와 상업계(ARM)의 운명은 완전히 엇갈렸다.
| 비교 항목 | MIPS (Stanford) | ARM (Acorn / ARM Holdings) | 아키텍처 판단 포인트 |
|---|---|---|---|
| 개발 주도 | 학계 중심 (이론적 완벽성 추구) | 상업 회사 중심 (현실적 타협) | 디자인 철학의 기조 |
| 파이프라인 보호 | 컴파일러가 알아서 지켜라 (No Interlock) | 하드웨어가 막아준다 (Hardware Interlock) | 프로그래머/컴파일러 편의성 |
| 명령어 압축 | 32비트 고집 (나중에 MIPS16 추가했으나 실패) | Thumb (16비트)의 대성공 | 코드 밀도(용량)에 대한 집착 |
| 조건부 실행 | 오직 Branch 명령어만 존재 | 모든 명령어에 조건(Predication) 융합 | 제어 해저드의 방어 방식 |
| 현재의 위치 | 교과서 속 전설, 상업적 멸종 | 모바일 천하통일, 서버 진격 | 이데아(Idea) vs 프래그머티즘(Pragmatism) |
과목 융합 관점
- 컴퓨터 구조 교과서 (Patterson & Hennessy): 전 세계 컴퓨터 공학과 학생들의 바이블인 《컴퓨터 구조 및 설계(Computer Organization and Design)》의 저자가 바로 RISC의 창시자 데이비드 패터슨(RISC-I)과 존 헤네시(MIPS)다. 당연히 이 책은 처음부터 끝까지 MIPS 아키텍처를 기준으로 파이프라인과 캐시를 설명한다. MIPS는 너무나 직관적이고 군더더기가 없어서, 하드웨어가 어떻게 동작하는지 가르치기 위한 교육용 도구로서 인류 역사상 최고의 아키텍처다.
- 임베디드 게임 콘솔 (Nintendo 64, PS1/PS2): 1990년대 중반, 3D 그래픽의 시대가 열리며 닌텐도 64와 소니 플레이스테이션 1, 2는 복잡한 x86 대신 순수한 연산 능력이 압도적인 MIPS(R4000 등)를 메인 프로세서로 융합했다. 당시 MIPS는 부동소수점 연산과 파이프라인 속도에서 동시대 인텔 칩을 가볍게 씹어 먹는 깡패 같은 성능을 보여주며 콘솔 게임 황금기를 이끌었다.
┌─────────────────────────────────────────────────────────────────────────────┐
│ 아키텍처의 비극: 분기 지연 슬롯(Delay Slot)의 저주 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ [ 5단계 파이프라인 (클럭 속도 100MHz 시절) ] │
│ - JUMP의 목적지를 EX 단계에서 앎. │
│ - 지연 슬롯(Delay Slot)은 딱 1개면 충분했다. 컴파일러가 채우기 쉬움. │
│ │
│ [ 10단계 파이프라인 (클럭 속도 1GHz 시절) ] │
│ - 파이프라인이 길어지면서 목적지를 아는 시점이 뒤로 확 밀림. │
│ - 지연 슬롯이 3~4개씩 필요해짐! │
│ - 컴파일러가 4개짜리 유용한 명령어를 도저히 찾을 수가 없음. (NOP 도배) │
│ │
│ * 멸망: "하드웨어를 심플하게 하려던 철학이 슈퍼스칼라 시대를 맞아 독이 됐다"│
└─────────────────────────────────────────────────────────────────────────────┘
[다이어그램 해설] MIPS가 몰락한 결정적 이유다. MIPS의 정체성인 '분기 지연 슬롯'은 파이프라인이 짧았던 1980년대에는 최고의 발명이었다. 하지만 2000년대 들어 클럭을 높이기 위해 파이프라인을 10단계, 20단계로 깊게 파버리자(Superpipelining) 대재앙이 일어났다. 점프 명령어가 목적지를 계산하는 동안 컨베이어 벨트에 올라타버린 유령 명령어(거품)가 3~4개로 늘어난 것이다. 컴파일러는 이 슬롯을 유용한 코드로 채우는 걸 포기하고 전부 NOP로 도배해 버렸고, MIPS의 코드 용량과 성능은 밑 빠진 독처럼 새어나갔다.
- 📢 섹션 요약 비유: 지연 슬롯의 저주는 '기차의 제동 거리'와 같습니다. 옛날 무궁화호(짧은 파이프라인)는 정지 버튼(JUMP)을 누르고 100m(슬롯 1개)만 더 가면 섰습니다. 하지만 KTX(깊은 파이프라인)는 정지 버튼을 누르고도 1km(슬롯 여러 개)를 더 미끄러져 가야 섭니다. 이 미끄러지는 엄청난 시간 동안 승객(CPU)은 아무 일도 못 하고 멍때려야 하니 효율이 바닥을 칩니다.
Ⅳ. 실무 적용 및 기술사적 판단
실무 시나리오
-
시나리오 — 가정용 유무선 공유기(Router)의 펌웨어 역공학: 상황: 아이피타임(iptime) 같은 저가형 인터넷 공유기에 해킹 취약점이 발견되어 보안 전문가가 펌웨어를 뜯어봄. 판단: "레거시 MIPS(Big-Endian) 아키텍처의 융합"이다. 2000년대 초중반 엄청나게 싸게 풀린 MIPS 기반 SoC(미디어텍, 브로드컴 칩)들이 20년이 지난 지금도 수많은 공유기와 셋톱박스의 심장으로 뛰고 있다. 보안 엔지니어는 MIPS 특유의 분기 지연 슬롯(Delay Slot) 때문에 IDA(디스어셈블러)에서 보이는 어셈블리 코드의 실행 순서가 눈에 보이는 것과 다르다는 점을 정확히 인지하고 취약점을 분석해야 한다.
-
시나리오 — 대학 학부생의 CPU Verilog 설계 과제: 상황: 컴퓨터 구조 중간고사 과제로 "32비트 프로세서를 설계하여 FPGA에 올리시오"가 출제됨. 판단: "가장 투명한 뼈대, MIPS32 아키텍처의 채택"이다. x86을 하드웨어로 짜는 것은 미친 짓이고, ARM은 너무 복잡하다. 학생은 정확히 5단계(IF-ID-EX-MEM-WB)로 떨어지는 **MIPS 데이터패스(Datapath)**를 Verilog로 융합 설계한다. 이 과정에서 포워딩(Forwarding)과 해저드 감지 유닛(Hazard Detection Unit)을 스스로 구현해 보며, 파이프라인의 본질을 뼈저리게 깨닫게 된다.
┌──────────────────────────────────────────────────────────────────────────┐
│ 마이크로아키텍처 합성: Endianness(엔디안)의 이중 융합 │
├──────────────────────────────────────────────────────────────────────────┤
│ │
│ [ 인텔 x86 ] : 무조건 Little-Endian (작은 바이트부터 저장) │
│ [ 모토로라 68k ] : 무조건 Big-Endian (큰 바이트부터 저장) │
│ │
│ [ MIPS의 철학: Bi-Endian (바이-엔디안) ] │
│ - 칩 부팅 시 하드웨어 핀(Pin) 세팅으로 리틀/빅 엔디안을 자유롭게 바꿈!│
│ - 윈도우 NT(리틀)를 돌리거나, 유닉스 네트워크(빅) 장비에 붙거나, │
│ 어디서든 다 팔아먹기 위한 극강의 호환성 융합. │
│ │
│ 최종 조치: 네트워크 장비(Big-Endian) 시장을 지배하는 데 결정적 공헌! │
└──────────────────────────────────────────────────────────────────────────┘
[다이어그램 해설] MIPS가 네트워킹 장비(시스코 라우터 등) 시장을 싹쓸이했던 비결이다. 인터넷의 표준 프로토콜(TCP/IP)은 네트워크로 데이터를 보낼 때 숫자의 가장 큰 부분(MSB)부터 순서대로 보내는 '빅 엔디안'을 강제한다. 인텔 칩(리틀 엔디안)은 이걸 매번 순서를 뒤집어주느라 CPU 자원을 낭비했다. 하지만 MIPS는 스위치 하나만 켜면 칩 전체가 완벽한 빅 엔디안 머신으로 융합 변신했다. 데이터가 네트워크 선에서 들어와 메모리에 꽂히는 순간까지 단 한 번의 뒤집기(Swapping) 오버헤드도 없는 가장 깔끔한 데이터패스였다.
도입 체크리스트
- Exception Handling (Coprocessor 0): MIPS는 운영체제 제어나 인터럽트 처리를 메인 연산기가 아니라 **CP0 (System Control Coprocessor)**라는 별도의 융합 코프로세서로 완전히 몰아넣어 추상화했는가?
- Delay Slot Compiler Flag: 현대 컴파일러(GCC)로 구형 MIPS를 타겟팅할 때, 파이프라인 최적화에 실패해서 지연 슬롯을 채우지 못할 경우 어셈블러가 자동으로
NOP를 끼워 넣어 시스템 충돌을 막는-fno-delayed-branch방어 로직이 켜져 있는가?
안티패턴
-
인터락(Interlock) 없는 칩에서 NOP 빼먹기: 어셈블리어를 직접 짤 때
LOAD R1, [M]직후에ADD R2, R1을 연달아 썼는데 중간에 아무 명령어도 안 넣은 경우. x86이나 ARM처럼 하드웨어가 멈춰줄 거라 생각했다간, R1에 아직 메모리 값이 도착하지 않아 쓰레기 값이 더해지는 치명적 연산 오류를 맛보게 되는 MIPS 최악의 안티패턴이다. -
📢 섹션 요약 비유: NOP를 빼먹는 것은 '수류탄 던지고 안 엎드리기'와 같습니다. 다른 게임(하드웨어 보호)에서는 수류탄을 던지면 방패가 자동으로 막아주지만, 리얼리티 게임(MIPS)에서는 수류탄(Load)을 던지고 내가 스스로 바닥에 엎드리지 않으면(NOP 추가) 폭발에 휘말려 내가 죽습니다. 철저한 자기 책임의 세계입니다.
Ⅴ. 기대효과 및 결론
정량/정성 기대효과
| 구분 | MIPS 이전 (CISC) | MIPS 아키텍처 융합 효과 | 개선 효과 |
|---|---|---|---|
| 정량 | 명령어 수행에 불규칙한 사이클 소모 | 모든 명령어가 5단계 파이프라인 고정 | CPI를 1.0에 가장 근접하게 낮춤 |
| 정량 | 하드웨어가 파이프라인 버블 방어 | 컴파일러가 지연 슬롯에 유효 명령어 삽입 | 하드웨어 면적 및 클럭 딜레이 20% 감소 |
| 정성 | 복잡하고 지저분한 레거시 족보 | 수학적으로 가장 깔끔한 3-주소 포맷 | 인류의 컴퓨터 구조 교육의 표준 확립 |
미래 전망
- MIPS Open (오픈소스화)와 소멸: ARM과 RISC-V에 시장을 완전히 빼앗긴 MIPS의 모회사는, 결국 MIPS 명령어 셋 전체를 오픈소스로 풀겠다고 선언했다가 회사가 팔리며 흐지부지되었다. 현재 MIPS를 주도하던 회사는 "앞으로는 MIPS 코어 대신 RISC-V 코어를 만들겠다"고 선언하며 스스로의 역사에 종지부를 찍었다.
- Loongson (중국의 독자 노선): MIPS의 아키텍처 라이선스를 샀던 중국은, 미국의 제재를 피하고자 MIPS를 뼈대로 삼아 'LoongArch'라는 독자적인 지적재산권(IP)의 칩을 융합해 내며 국가망 컴퓨터를 채워나가고 있다. MIPS의 유전자는 변형된 채 대륙에 살아남았다.
참고 표준
- MIPS32 / MIPS64 ISA: 1985년 MIPS I을 시작으로 세상을 호령했던 오리지널 명령어 집합 명세서. R, I, J 포맷의 절대 법칙.
- SPIM / MARS Simulator: 전 세계 컴공과 학생들이 MIPS 어셈블리어를 돌려보고 디버깅할 때 쓰는 가장 유명한 MIPS 가상 융합 에뮬레이터 표준.
가장 위대하고 완벽한 수학적 아름다움을 가졌으나, "하드웨어가 소프트웨어(컴파일러)를 너무 믿어버린 탓에" 상업적 경쟁에서 패배한 'MIPS'의 진화 로드맵은 다음과 같다.
┌───────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ 교과서의 몰락: MIPS 아키텍처 진화 로드맵 │
├───────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ │
│ [1단계: RISC의 완벽한 이데아] [2단계: SGI 워크스테이션과 닌텐도] [3단계: 슈퍼스칼라의 저주와 퇴장] │
│ │
│ 인터락을 없애 클럭을 올려라! ──▶ 90년대 3D 그래픽을 씹어먹다 ──▶ 깊어진 파이프라인과 버블 폭발 │
│ (스탠퍼드 천재들의 걸작) (소니 PS1과 N64의 심장) (ARM과 RISC-V에게 왕좌를 내줌) │
│ "가장 투명하고 빠른 파이프라인" "인텔보다 우리가 3D는 낫지" "지연 슬롯 채우기 너무 빡세다" │
└───────────────────────────────────────────────────────────────────────────────────────────────────────┘
[다이어그램 해설] MIPS는 너무 순수해서 망한 천재다. 1단계: 파이프라인의 속도를 저해하는 하드웨어 안전장치(Interlock)를 모조리 제거하고 컴파일러에게 짐을 떠넘기는 천재성을 보였다. 2단계: 그 압도적인 가벼움과 속도 덕분에 실리콘그래픽스(SGI)의 워크스테이션과 수많은 게임 콘솔의 메인 CPU로 채택되며 시대를 풍미했다. 3단계: 하지만 파이프라인이 10단계를 넘어가기 시작하면서 MIPS의 철학(지연 슬롯)은 발목을 잡았다. 프로그래머와 컴파일러는 더 이상 파이프라인의 빈 공간을 유용한 코드로 채울 수 없었고 칩에는 쓰레기(NOP)만 가득 찼다. 결국 적당히 하드웨어가 막아주며 진화한 ARM과, 아예 상태 레지스터를 없애버린 궁극의 후배 RISC-V에게 자리를 내어주고 쓸쓸히 박물관으로 향하고 있다.
- 📢 섹션 요약 비유: MIPS의 역사는 '초경량 수동변속 스포츠카'와 같습니다. 차체를 가볍게 하려고 에어컨, 파워핸들, 자동변속기(안전장치)를 다 떼어내서 초반 트랙(90년대)에서는 제일 빨랐습니다. 하지만 도로(파이프라인)가 점점 복잡해지자, 운전자(컴파일러)가 매번 수동으로 기어를 변속(지연 슬롯 계산)하느라 지쳐 쓰러져 버렸고, 결국 똑똑한 자동변속기를 단 차(ARM)에게 완전히 시장을 빼앗긴 비운의 명차입니다.
📌 관련 개념 맵 (Knowledge Graph)
| 개념 명칭 | 관계 및 시너지 설명 |
|---|---|
| Pipelining (파이프라인) | MIPS가 가장 사랑한 개념. 5단계(IF-ID-EX-MEM-WB)로 공정을 완벽히 쪼개서 명령어를 겹쳐 실행한다. |
| Hardware Interlock | MIPS가 가장 혐오한 개념. 데이터가 안 왔다고 하드웨어가 스스로 멈춰 서는 안전장치(이걸 없앤 게 MIPS다). |
| Delay Slot (지연 슬롯) | MIPS의 상징이자 독. JUMP 뒤에 무조건 실행되는 한 칸의 공간. 컴파일러가 이곳에 유용한 명령어를 끼워 넣어야(Scheduling) 산다. |
| NOP (No Operation) | 아무것도 하지 말고 1클럭 쉬라는 명령어. MIPS 컴파일러가 지연 슬롯을 채우지 못했을 때 최후의 수단으로 융합하는 땜질용 쓰레기. |
| Endianness (엔디안) | 데이터(바이트)를 메모리에 저장하는 순서. MIPS는 스위치 하나로 빅 엔디안과 리틀 엔디안을 자유롭게 오갈 수 있다. |
👶 어린이를 위한 3줄 비유 설명
- MIPS는 컴퓨터 구조를 배울 때 누구나 제일 처음 만나는 **'가장 완벽하고 투명한 뼈대 모형'**이에요!
- 속도를 최고로 높이려고 무거운 안전벨트(인터락)를 다 떼어버려서, 운전수(컴파일러)가 아주 정확한 타이밍에 운전을 해야만 사고가 안 나요.
- 옛날엔 이 방법으로 플레이스테이션 1 같은 멋진 게임기를 돌렸지만, 요즘엔 운전수가 너무 힘들어해서 더 똑똑한 다른 컴퓨터(ARM)에게 자리를 넘겨주었답니다!