Chapter 6: Architecture | ISA - 소프트웨어와 하드웨어의 인터페이스
🏛️ Chapter 6: Architecture
ISA — 소프트웨어와 하드웨어의 계약서
프로세서를 설계하기 전에 먼저 정의해야 할 것이 있습니다. “이 프로세서가 어떤 명령어를 이해할 것인가?” 이 질문에 대한 답이 바로 ISA(Instruction Set Architecture)입니다. ISA는 소프트웨어(컴파일러, OS)와 하드웨어(프로세서) 사이의 계약서이며, Chapter 6은 MIPS RISC 아키텍처를 통해 이 핵심 인터페이스를 배웁니다. 2026년 최신 트렌드로는 MIPS의 설계 철학을 계승하면서 오픈소스로 진화한 RISC-V의 폭발적 성장을 함께 다룹니다.
📋 1. 명령어 집합 아키텍처 (ISA)
ISA는 프로세서가 이해하고 실행할 수 있는 명령어 집합이자 규칙의 총체입니다. 프로그래머(또는 컴파일러)가 하드웨어를 제어하기 위해 알아야 하는 모든 것 — 명령어 종류, 레지스터 수, 메모리 모델, 데이터 타입 — 을 정의합니다.
교과서는 RISC의 대표적 예인 MIPS 아키텍처를 사용합니다. MIPS는 1980년대 스탠포드 대학교에서 John Hennessy가 설계한 RISC 프로세서로, 명확하고 깔끔한 설계 덕분에 수십 년간 컴퓨터 아키텍처 교육의 표준이 되었습니다.
📦 2. 레지스터와 메모리
프로세서는 데이터를 레지스터(프로세서 내부, 초고속)와 메모리(외부, 상대적 저속)에 저장합니다. MIPS의 설계 원칙 중 하나인 “Smaller is faster”에 따라, 레지스터 수를 32개로 제한하여 접근 속도를 극대화했습니다.
| 이름 | 번호 | 용도 |
|---|---|---|
| $zero | $0 | 항상 0을 반환 (하드와이어드) |
| $s0-$s7 | $16-$23 | 저장 변수 (Saved, 호출 규약에 의해 보존) |
| $t0-$t9 | $8-$15,$24-$25 | 임시 변수 (Temporary, 보존 불필요) |
| $a0-$a3 | $4-$7 | 함수 인수 전달 |
| $v0-$v1 | $2-$3 | 함수 반환값 |
| $ra | $31 | 복귀 주소 (Return Address) |
| $sp | $29 | 스택 포인터 |
MIPS 메모리는 바이트 주소 지정(Byte-addressable)이며, 하나의 워드(32비트 = 4바이트)에 접근하려면 주소가 4의 배수(Word-aligned)여야 합니다. 배열 A[i]의 주소는 A의 기저 주소 + i × 4로 계산됩니다.
🔧 3. 기계어 명령어 형식
MIPS는 하드웨어 설계의 단순성을 위해 딱 3가지 명령어 형식만 사용합니다. 모든 명령어가 고정 32비트 길이라는 것이 RISC의 핵심 특징입니다.
📐 R-Type (Register)
레지스터 간 산술/논리 연산. add, sub, and, or, slt 등.
6b
5b
5b
5b
5b
6b
📐 I-Type (Immediate)
상수 연산, 메모리 Load/Store, 조건 분기. addi, lw, sw, beq, bne 등.
6b
5b
5b
16 bits
📐 J-Type (Jump)
무조건 점프. j, jal 등.
6b
26 bits
💻 4. MIPS 어셈블리 프로그래밍
➕ 산술 연산
💾 메모리 접근 (배열)
🔀 조건 분기 (if/else)
📞 5. 함수 호출 (Function Calls)
함수 호출과 복귀는 특정 호출 규약(Calling Convention)을 따라야 합니다. 이 규약이 없으면 레지스터 값이 함수 호출 도중 덮어써져 프로그램이 올바르게 동작하지 않습니다.
🚀 6. 2026년 산업 동향: RISC-V 혁명
교과서의 MIPS 아키텍처가 보여주는 RISC 설계 철학은 2026년 현재 RISC-V라는 오픈소스 ISA로 진화하여 전 세계 반도체 산업을 뒤흔들고 있습니다. UC Berkeley에서 시작된 학술 프로젝트가 x86, ARM과 함께 컴퓨팅의 “세 번째 기둥”이 되었습니다.
RISC-V는 MIPS와 같은 RISC 철학(고정 길이 명령어, Load/Store 구조, 간결한 명령어 세트)을 계승하면서, 로열티 프리 오픈소스 ISA로 설계되어 누구나 자유롭게 커스텀 프로세서를 만들 수 있습니다.
📊 MIPS vs RISC-V: 교과서와 현실 비교
| 특성 | MIPS (교과서) | RISC-V (2026 현실) |
|---|---|---|
| 설계 철학 | RISC, 고정 32비트 명령어 | RISC, 기본 32비트 + 16비트 압축(C 확장) |
| 레지스터 | 32개 × 32비트 | 32개 × 32/64/128비트 (RV32/64/128) |
| 명령어 형식 | R, I, J (3종) | R, I, S, B, U, J (6종, 더 체계적) |
| 라이선스 | 상업 라이선스 (MIPS Tech) | 오픈소스, 로열티 프리 |
| 확장성 | 고정 ISA | 모듈러 확장 (M, A, F, D, V, Crypto...) |
| 2026 현황 | 교육용으로 존속. 상업적 영향력 미미 | IoT/자동차/데이터센터에서 급성장. 시장 $1.9B |
IoT 신규 설계 기준 RISC-V 55%+. 전체 프로세서 시장 기준 약 15~25% (출처별 상이).
전 세계 대학의 컴퓨터 아키텍처 커리큘럼이 MIPS에서 RISC-V 중심으로 전환되고 있습니다. Harris & Harris 교과서의 최신판도 RISC-V를 채택했습니다. MIPS에서 배운 RISC 원리(고정 길이 명령어, Load/Store, 3종 명령어 형식, 호출 규약)는 RISC-V를 배울 때 거의 그대로 적용되므로, 이 교과서에서 배운 지식은 RISC-V 시대에도 완전히 유효합니다.
📋 핵심 요약
| 주제 | 핵심 포인트 | 키워드 / 명령어 |
|---|---|---|
| ISA | SW-HW 인터페이스. RISC vs CISC | MIPS, ARM, RISC-V, x86 |
| 레지스터 | 32개 × 32비트. $s, $t, $a, $v, $ra, $sp | Smaller is faster |
| 명령어 형식 | R(레지스터), I(상수/메모리), J(점프). 고정 32비트 | op, rs, rt, rd, funct, imm |
| 어셈블리 | C→MIPS 번역. 산술, 메모리(lw/sw), 분기(beq/bne/j) | add, sub, lw, sw, beq, j |
| 함수 호출 | jal(호출) + jr $ra(복귀). 스택으로 레지스터 보존 | $a0-$a3, $v0, $ra, $sp |
| 2026 트렌드 | RISC-V 오픈소스 ISA 폭발 성장. MIPS 철학 계승 | 시장 $1.9B, CAGR 41% |
댓글
댓글 쓰기