그알것 — 그럼에도 알아야 할 것들
홈질문커뮤니티
로그인
그알것 — 그럼에도 알아야 할 것들

Service

  • 홈
  • 소개
  • 질문
  • 커뮤니티

My

  • 내 워크스페이스
  • 저장한 질문
  • 작성한 답변

Policy

  • 이용약관
  • 개인정보처리방침
  • 문의

© 2026 그알것 · What Still Matters

질문 목록OperatingSystem
OperatingSystem

명령어 파이프라이닝과 파이프라인 위험은 무엇인가요?

실무2/5
설계3/5
인간4/5
기초4/5

면접관의 질문 의도

파이프라이닝을 "단계를 겹친다" 수준에서 멈추는지, hazard 세 종류를 원인·완화 기법까지 분리해서 설명하는지를 가른다. 분기 예측 실패나 stall이 실제 코드 성능에 어떻게 번지는지 연결 짓는지도 본다.

큐레이션 답변

학습 자료

명령어 파이프라이닝은 fetch·decode·execute·memory·writeback 같은 단계를 겹쳐 한 사이클에 한 명령씩 끝나는 것처럼 보이게 만드는 CPU 기법이다. 처리량은 단계 수에 비례해 늘어나는 것 같지만, 명령어 간 의존성이 있으면 데이터 hazard, 분기 결과가 늦게 확정되면 제어 hazard, 같은 자원을 동시에 요구하면 구조적 hazard가 터져 stall이나 flush로 빈 사이클이 생긴다. forwarding, interlock, branch prediction, 자원 분리로 hazard 비용을 깎는다. 결국 파이프라인 성능은 단계 수가 아니라 hazard를 얼마나 줄이느냐로 갈린다.

좋은 답변 구조

  1. 01파이프라이닝의 정의와 처리량이 늘어나는 원리를 단계 분해로 설명한다
  2. 02데이터·제어·구조적 hazard 세 종류를 원인 기준으로 구분한다
  3. 03forwarding, branch prediction, 자원 분리 같은 완화 기법을 hazard 유형과 짝지어 설명한다
  4. 04단계 수가 아니라 hazard 비용이 성능을 결정한다는 결론으로 닫는다

자주 실수하는 포인트

파이프라이닝을 "단계가 많을수록 빠르다"로 단정하고 stall 비용을 빼먹는다
데이터 hazard와 제어 hazard를 "의존성 문제"로 뭉뚱그려 원인과 완화 기법을 짝짓지 못한다
branch prediction을 분기 hazard 자체의 해결책처럼 말하고 예측 실패 시 flush 비용을 빠뜨린다
forwarding을 "빠르게 전달하는 것"으로만 설명하고 어느 단계 사이에서 값을 당겨오는지 못 짚는다

실무 맥락

  • 분기가 많고 패턴이 불규칙한 핫 루프에서 동일 알고리즘인데 입력 정렬 여부에 따라 처리 시간이 달라지는 상황
  • 프로파일러에서 IPC가 낮고 branch-miss·front-end stall 비율이 높게 잡혀 알고리즘이 아니라 분기 구조를 의심해야 하는 상황
  • SIMD·언롤링·분기 제거 같은 컴파일러 최적화 옵션을 켰을 때 성능이 비대칭적으로 바뀌어 원인을 설명해야 하는 상황

본인 경험에 녹이는 힌트

정렬된 입력과 비정렬 입력에서 같은 코드가 다르게 동작하는 걸 본 적이 있다면 분기 예측 실패와 연결할 수 있다

perf·VTune 같은 도구로 IPC나 branch-miss를 떠본 경험이 있다면 stall 종류를 가르는 사례로 풀 수 있다

분기를 테이블 룩업이나 비트 연산으로 바꿔 성능을 회복한 경험이 있다면 제어 hazard 회피 패턴으로 일반화할 수 있다

JIT나 컴파일러가 만든 어셈블리를 들여다본 경험이 있다면 forwarding이 깔린 흐름을 단계 그림으로 설명할 수 있다

커뮤니티 인기 답변

전체 0개

아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.

관련 꼬리 질문

Q1분기 예측이 실패했을 때 파이프라인에서 정확히 어떤 일이 벌어지나요
Q2데이터 hazard에서 forwarding으로도 못 푸는 경우는 언제이고 그때 stall은 몇 사이클인가요
Q3파이프라인 깊이를 늘리면 클럭은 올라가지만 어떤 비용이 같이 커지나요
Q4아웃오브오더 실행은 hazard를 어떤 방식으로 우회하나요
아직 답을 쓰지 않았어요.
큐레이션 답변과 다른 사람 답변을 보고, 자기 언어로 답을 정리해보면 학습 효과가 가장 큽니다.
목차
  • 01면접관의 질문 의도
  • 02큐레이션 답변
  • 03좋은 답변 구조
  • 04자주 실수하는 포인트
  • 05실무 맥락
  • 06본인 경험에 녹이는 힌트
  • 07커뮤니티 인기 답변준비중
  • 08관련 꼬리 질문