본문 바로가기

[하드웨어 뜯어보기] CPU #9 - 파이프라인(Pipeline), 생각의 흐름을 분할하다

📑 목차

    한 번에 하나씩이 아니라, 동시에 여러 생각을 흐르게 하는 CPU의 두뇌 공정

    핵심요약
    파이프라인(Pipeline) 은 CPU가 명령을 ‘연속적이면서도 동시에’ 실행하는 기술입니다.
    명령어를 여러 단계로 쪼개어, 각 단계가 동시에 일하도록 만들어
    CPU가 “한 번에 여러 생각을 이어서 하는 두뇌” 처럼 작동하게 합니다.

     

    Pipeline
    Pipeline


    1. 파이프라인이란 무엇인가?

    CPU가 한 번에 한 명령만 처리한다면,
    다음 명령은 그전 명령이 끝날 때까지 기다려야 합니다.
    이건 마치 사람이 한 문장을 다 쓰기 전엔 다음 문장을 생각하지 못하는 것과 같습니다.

     

    파이프라인은 이 문제를 해결하기 위한 방법입니다.
    명령어를 Fetch → Decode → Execute → Memory → Write Back
    여러 단계로 나누고, 각 단계가 동시에 진행되게 만들어
    CPU가 쉬지 않고 다음 작업을 준비하게 합니다.

    핵심 문장 : 파이프라인은 CPU가 ‘다음 생각’을 미리 준비해 효율을 극대화하는 구조입니다.


    2. 파이프라인의 기본 구조

    CPU 명령 하나가 처리되는 과정을 다섯 단계로 나눠보면 다음과 같습니다.

    단계 이름 역할 비유
    1단계 Fetch 명령어 가져오기 책에서 문장 읽기
    2단계 Decode 명령 해석하기 의미 파악
    3단계 Execute 연산 수행 실제 행동
    4단계 Memory 데이터 접근 자료 참고
    5단계 Write Back 결과 저장 노트에 기록

    이 다섯 단계를 연속으로 이어붙이면 마치 공장 라인처럼 각 파트가 동시에 일하면서 전체 처리량이 올라갑니다.

    한 번의 클럭에 한 명령이 완성되는 대신, 여러 명령이 동시에 다른 단계에 걸쳐 흘러가는 구조가 됩니다.

    핵심 문장 : 파이프라인은 CPU 속의 ‘생각 생산 라인’입니다.


    3. 작동 원리 - 생각의 흐름을 겹쳐서 흘려보내기

    예를 들어, 다음 세 개의 명령어가 있을때,

    1. A = B + C
    2. D = A * 2
    3. E = D + 1
    • 1번 명령이 실행(Execute) 단계에 있을 때,
    • 2번 명령은 해석(Decode) 중이고,
    • 3번 명령은 가져오기(Fetch) 중입니다.

    즉, 세 명령이 동시에 서로 다른 단계에서 처리되고 있는 것이죠.
    이렇게 하면 CPU는 한 클럭마다 새로운 명령을 실행할 수 있습니다.

    파이프라인이 깊을수록 더 많은 명령을 동시에 흘려보낼 수 있지만,

    그만큼 단계 간의 간섭과 지연(Hazard) 관리가 더 중요해집니다.

    핵심 문장 : 파이프라인은 CPU가 명령을 겹쳐 실행하게 해 ‘한 번의 박자에 여러 생각’을 가능하게 합니다.


    4. 비유하자면

    CPU의 파이프라인은 마치 한 팀의 생각 과정과 같습니다.

    • 한 사람은 아이디어를 떠올리고,
    • 다른 사람은 그걸 정리하고,
    • 또 다른 사람은 발표를 준비하는 식으로 동시에 한 프로젝트의 여러 단계를 병렬로 수행합니다.

    한 명이 “한 생각”을 끝낼 때까지 기다리는 게 아니라, 여러 명이 각자 다른 생각 단계에서 협업하는 구조죠.

    현대 CPU는 이런 병렬 사고를 통해 “생각의 끊김 없는 흐름”을 구현하고 있습니다.

    핵심 문장 : 파이프라인은 인간의 ‘동시 사고(Parallel Thinking)’와 닮은 협업형 두뇌 구조입니다.


    5. 파이프라인의 발전 역사

    1) 1950~60년대 - 명령어 분할의 시작

    IBM Stretch(1961)는 최초로 명령어 단계를 나눠 실행하는 ‘스트리밍 파이프라인’ 구조를 시도했습니다.

    2) 1980~90년대 - 5단계 파이프라인의 표준화

    RISC 아키텍처(예: MIPS, ARM)는

    Fetch → Decode → Execute → Memory → Write Back
    5단계 구조를 채택하면서 오늘날의 기반이 되었습니다.

     

    특히 RISC는 단순하고 일정한 명령 길이 덕분에 파이프라인 효율이 높았고,
    CISC(x86)는 복잡한 명령어를 여러 미세단계로 나눠 내부에서 재구성하는 방식을 채택했습니다.

    3) 현대 - 슈퍼스칼라(Superscalar)와 하이퍼파이프

    현대 CPU는 단순히 직렬 파이프라인이 아니라 여러 파이프라인을 병렬로 실행해, 한 클럭에 여러 명령을 처리합니다.
    이것이 바로 슈퍼스칼라(Superscalar) 구조입니다.

     

    또한 명령 실행 순서를 유연하게 바꾸는 Out-of-Order Execution 기술이 더해져,
    CPU는 ‘논리적으로 병렬, 물리적으로 동시’라는 두뇌의 복합 사고를 구현합니다.

    핵심 문장 : 파이프라인은 ‘단계의 분할’에서 시작해 ‘다중 병렬 라인’으로 진화했습니다.


    6. 파이프라인의 문제 - 생각이 겹칠 때의 혼란

    효율적이지만, 모든 것이 완벽하진 않습니다.
    대표적인 문제는 파이프라인 해저드(Hazard) 입니다.

    • 데이터 해저드(Data Hazard) : 앞선 명령의 결과가 아직 나오지 않았는데 다음 명령이 그 값을 참조
    • 제어 해저드(Control Hazard) : 분기(Branch) 명령으로 흐름이 바뀌어 버림
    • 구조 해저드(Structural Hazard) : 두 명령이 같은 자원을 동시에 사용하려 할 때 충돌

    이런 문제는 단순히 속도를 늦추는 게 아니라, CPU의 ‘사고 리듬’을 깨트립니다.

    현대 CPU는 이를 해결하기 위해 분기 예측(Branch Prediction), 명령 재정렬(Out-of-Order Execution) 같은 고급 기술을 사용합니다.

    핵심 문장 : 파이프라인의 병렬성은 효율을 높이지만, 충돌을 관리해야 하는 뇌의 복잡성을 가져옵니다.


    7. 오늘날의 파이프라인 - AI·GPU로 확장

    • CPU: 명령 파이프라인 (5~20단계 이상)
    • GPU: 연산 파이프라인 (그래픽/AI 병렬화용)
    • 신경망 프로세서(NPU): 데이터 파이프라인 (딥러닝 가속)

    스마트폰부터 슈퍼컴퓨터까지, 모든 프로세서는 파이프라인을 기반으로 “동시에 생각하는 방식”을 구현하고 있습니다.

    AI 칩의 행렬 연산도, 그래픽 렌더링도, 모두 이 개념의 확장선 위에 있습니다.

    핵심 문장 : 파이프라인은 CPU뿐 아니라, 현대 연산의 보편적 사고 구조가 되었습니다.


    8. 요약 정리

    개념 설명 비유 효과
    파이프라인 명령을 단계별로 분할해 동시에 처리 생각의 생산라인 처리 효율 증가
    해저드 단계 간 충돌 생각의 충돌 분기 예측으로 해결
    슈퍼스칼라 여러 파이프라인 병렬 실행 여러 팀의 협업 초병렬 처리 가능
    한 문장 요약 : 파이프라인은 CPU가 생각을 나누어 동시에 흘려보내는, 효율의 예술입니다.

    9. 다음 편 예고

    다음 글 에서는 파이프라인의 병목을 해결하기 위한 ‘예측의 두뇌’ - CPU가 “다음에 일어날 일” 을 미리 추론하는 기술을 다룹니다.

     

    다음 글 : [컴퓨터 과학] - [하드웨어 뜯어보기] CPU #10 - 분기 예측(Branch Prediction), 미래를 내다보는 두뇌

     

    [하드웨어 뜯어보기] CPU #10 - 분기 예측(Branch Prediction), 미래를 내다보는 두뇌

    CPU는 어떻게 미래를 예측하고 멈춤 없는 사고 흐름을 유지할까?핵심요약CPU의 분기 예측(Branch Prediction)은 프로그램이 다음에 실행할 명령을 ‘미리 짐작’하는 기술입니다.이 덕분에 CPU는 “생

    snappytory.com