Chapter 7: Microarchitecture | 프로세서 내부를 설계하다

Chapter 7: Microarchitecture | 프로세서 내부를 설계하다
Harris & Harris · Digital Design & Computer Architecture

⚙️ Chapter 7: Microarchitecture

단일사이클, 다중사이클, 파이프라인 — 프로세서 내부를 설계하다

Chapter 6에서 ISA가 “무엇을 할 것인가”를 정의했다면, Chapter 7은 “어떻게 구현할 것인가”를 다룹니다. 같은 ISA(예: MIPS)를 구현하더라도, 내부 설계(마이크로아키텍처)에 따라 성능, 면적, 전력이 완전히 달라집니다. 이 포스트에서는 교과서가 비교하는 3가지 구현 방법론(단일사이클, 다중사이클, 파이프라인)의 핵심과 해저드 해결법을 정리하고, 2026년 현대 프로세서의 비순차 실행(Out-of-Order) 기술이 이 기초 위에서 어떻게 발전했는지 살펴봅니다.

📏 1. 성능의 기본 수식

프로세서 성능을 평가하는 근본 수식입니다. 마이크로아키텍처 설계의 모든 결정은 이 세 가지 요소의 트레이드오프로 귀결됩니다.

프로세서 실행 시간 (Iron Law) Execution Time = Instructions × CPI × Tc
요소정의영향 요인
Instructions프로그램의 총 명령어 수ISA, 컴파일러 최적화
CPI명령어당 평균 클럭 사이클 수마이크로아키텍처 (핵심!)
Tc클럭 주기 (= 1/주파수)마이크로아키텍처, 공정 기술

🏗️ 2. 세 가지 구현 방법론

1️⃣ 단일 사이클 (Single-Cycle) CPI = 1. 모든 명령어를 한 사이클에 완료. 하지만 Tc가 가장 느린 명령어(lw)에 맞춰 고정되어 비효율적. 교육용으로 이해하기 좋은 기본 구조.
2️⃣ 다중 사이클 (Multicycle) 명령어를 여러 짧은 단계로 분할. CPI 가변(lw:5, R-type:4, beq:3). Tc가 짧아지고 하드웨어 재사용 가능. FSM으로 제어.
3️⃣ 파이프라인 (Pipelined) 여러 명령어를 동시에 겹쳐 실행. 이상적 CPI ≈ 1이면서 Tc는 단일 사이클의 약 1/5. 현대 프로세서의 기본. 해저드 처리가 핵심.

⏱️ 단일 사이클 클럭 주기

가장 느린 명령어(lw)에 의해 결정 Tc = tpcq_PC + 2tmem + tRFread + tALU + tmux + tRFsetup

⏱️ 다중 사이클 평균 CPI

명령어별 비율 가중 평균 CPIavg = Σ (Fractioni × CPIi)
SystemVerilog — 단일 사이클 Main Decoder (핵심 발췌) module maindec( input logic [5:0] op, output logic memtoreg, memwrite, branch, alusrc, regdst, regwrite, jump, output logic [1:0] aluop ); always_comb case (op) 6'b000000: {regwrite,regdst,alusrc,branch, memwrite,memtoreg,jump,aluop} = 9'b110000010; // R-TYPE 6'b100011: ... = 9'b101001000; // LW 6'b101011: ... = 9'b001010000; // SW 6'b000100: ... = 9'b000100001; // BEQ default: ... = 9'bxxxxxxxxx; endcase endmodule

🚄 3. 파이프라인 프로세서

파이프라인은 Ch.3에서 배운 시간적 병렬성의 프로세서 적용입니다. MIPS 파이프라인은 5단계로 구성되며, 각 단계 사이에 파이프라인 레지스터를 두어 이전 단계의 결과를 다음 단계로 넘깁니다.

5단계 MIPS 파이프라인 실행 시각화
CC1 CC2 CC3 CC4 CC5 CC6 CC7 CC8 CC9
I1 IF ID EX MEM WB
I2 IF ID EX MEM WB
I3 IF ID EX MEM WB

CC5 시점: 3개 명령어가 동시에 실행 중. 이상적 처리량 = 매 사이클 1개 명령어 완료

⚠️ 4. 해저드와 해결법

파이프라인의 가장 큰 도전은 해저드(Hazard) — 명령어 간 충돌로 인해 파이프라인이 의도대로 작동하지 않는 상황 — 입니다. 이를 해결하지 못하면 잘못된 결과가 나오거나 성능이 급격히 저하됩니다.

💥 데이터 해저드 (Data Hazard) 뒤 명령어가 앞 명령어의 결과를 아직 쓰기 전에 읽으려 할 때 발생. 가장 흔한 해저드.
🔀 제어 해저드 (Control Hazard) 분기(beq) 결과가 확정되기 전에 다음 명령어를 이미 Fetch한 상황. 틀리면 파이프라인 Flush 필요.

🔧 데이터 해저드 해결: 전방 전달 (Forwarding)

ALU 결과가 레지스터에 기록되기를 기다리지 않고, 계산 즉시 다음 단계의 ALU 입력으로 바이패스하는 회로입니다. 대부분의 데이터 해저드를 0-사이클 페널티로 해결합니다.

Load-Use 해저드 — 유일한 예외

lw 명령어 직후에 그 데이터를 바로 사용하는 경우, 데이터가 MEM 단계 끝에야 나오므로 전방 전달로도 해결할 수 없습니다. 이때 1사이클 스톨(Stall, bubble)이 불가피합니다. 컴파일러는 이를 회피하기 위해 명령어 순서를 재배치(Schedule)합니다.

🔧 제어 해저드 해결: 분기 예측 (Branch Prediction)

분기 결과를 기다리지 않고 예측(Predict)하여 명령어를 계속 Fetch합니다. 예측이 맞으면 페널티 0, 틀리면 파이프라인을 Flush(잘못 들어온 명령어 무효화)합니다. 교과서에서는 분기 판별을 Decode 단계로 당겨 플러시 대상을 1개 명령어로 최소화합니다.

해저드 유형원인해결법페널티
RAW (Read After Write)이전 명령어 결과 미기록Forwarding0 cycle
Load-Uselw 직후 데이터 사용1-cycle Stall + Forward1 cycle
Control (분기)분기 결과 미확정Branch Prediction + Flush1 cycle (오예측 시)

📊 5. 세 가지 구현 성능 비교

항목단일 사이클다중 사이클파이프라인
CPI1 (고정)~4.12 (가변)~1.0 (이상적)
Tc가장 김 (lw 기준)짧음 (1단계)짧음 (1단계)
하드웨어 복잡도간단 (중복 HW)중간 (재사용)높음 (해저드 HW)
제어조합 논리FSM조합 + 해저드 검출
상대 성능1x (기준)~1.13x~3.6x

🚀 6. 2026년 산업 동향: 교과서 파이프라인에서 현대 비순차 실행까지

교과서의 5단계 순차(In-order) 파이프라인은 마이크로아키텍처의 기초입니다. 현대 프로세서는 이 개념을 비순차 실행(Out-of-Order Execution, OoO), 슈퍼스칼라(Superscalar), 투기적 실행(Speculative Execution) 등으로 극한까지 확장합니다.

2026 UPDATE
🧠 현대 프로세서 마이크로아키텍처 핵심 기술
비순차 실행 (OoO): 교과서의 데이터 해저드 스톨을 더 근본적으로 해결합니다. 명령어가 데이터 의존성 때문에 기다리는 동안, 뒤에 있는 독립적 명령어를 먼저 실행합니다. Reorder Buffer(ROB)와 Register Renaming을 사용하여 프로그램 순서를 유지하면서 실행 순서를 자유롭게 바꿉니다.
슈퍼스칼라: 클럭 사이클당 여러 명령어를 동시에 Fetch/Decode/Issue합니다. 2026년 ARM Cortex X925는 10-wide(사이클당 최대 10개 명령어 디스패치), AMD Zen 5는 6-wide 디코더를 사용합니다.
고급 분기 예측: 교과서의 정적 예측(항상 not-taken)에서 진화한 TAGE, Perceptron 기반 예측기. 최신 프로세서들은 99%+ 정확도를 달성하여 제어 해저드 페널티를 극소화합니다.
하이브리드 코어 (big.LITTLE/Hybrid): 고성능 코어(P-core)와 고효율 코어(E-core)를 결합. Intel은 Lion Cove(P) + Skymont(E), ARM은 Cortex X925(big) + A725(LITTLE) 구성을 사용합니다.

📊 교과서 → 현대 프로세서 진화 매핑

교과서 개념현대 프로세서 진화2026 예시
5단계 in-order 파이프라인14~20단계 OoO 파이프라인Intel Lion Cove ~20단계, ARM X925 ~12단계
Forwarding (데이터 해저드)Register Renaming + ROB + Reservation StationX925 ROB > AMD Zen 5
정적 분기 예측TAGE + Perceptron 동적 예측99%+ 예측 정확도
단일 이슈 (1 instr/cycle)슈퍼스칼라 N-wideARM X925: 10-wide, Zen 5: 6-wide
CPI ≈ 1 (이상적)IPC > 1 (사이클당 여러 명령어 완료)IPC 5~8+ (워크로드 의존)
ARM Cortex X925 — 교과서 원리의 극한 진화

2026년 ARM의 최고 성능 코어인 Cortex X925는 데스크톱급 성능에 도달했습니다. 10-wide 슈퍼스칼라 디스패치, AMD Zen 5보다 큰 리오더링 용량, 최대 3MB L2 캐시를 갖추고 있습니다. 교과서의 5단계 MIPS 파이프라인에서 시작한 개념이 수십 년간의 최적화를 거쳐 이 수준에 도달한 것입니다. 기초가 탄탄해야 이 복잡한 현대 마이크로아키텍처를 이해할 수 있습니다.

📋 핵심 요약

주제핵심 포인트수식 / 키워드
성능 수식실행시간 = 명령어 수 × CPI × TcIron Law of Performance
단일 사이클CPI=1, Tc 길다 (lw 기준)조합 논리 제어
다중 사이클CPI 가변, Tc 짧다. HW 재사용FSM 제어, CPIavg=Σ(F×CPI)
파이프라인CPI≈1, Tc 짧다. 최고 성능IF/ID/EX/MEM/WB 5단계
데이터 해저드Forwarding으로 해결. Load-Use는 1-stallBypassing, Stall
제어 해저드Branch Prediction + Flush오예측 시 1-cycle 페널티
2026 트렌드OoO, 슈퍼스칼라, TAGE 예측, 하이브리드 코어ARM X925, Zen 5/6, Lion Cove

댓글

이 블로그의 인기 게시물

📚 SDC 마스터 클래스 시리즈 | Chapter 1

📚 SDC 마스터 클래스 시리즈 | Chapter 2

📚 SDC 마스터 클래스 시리즈 | Chapter 3