[CE] Pipelining (파이프라인 기법)

2024. 5. 15. 10:43·Computer/CE
728x90
728x90

Pipelining (파이프라인 기법)

컴퓨터 과학에서 프로세서의 성능을 향상시키기 위해

Instructions를 분할된 단계로 나누고,
여러 Instructions의 각 단계를 동시에 수행하는 기법.

 

Pipelining을 통해 여러 명령어를 동시에 처리할 수 있어 전체 처리 속도가 증가됨:
Super Scalar 는 기본으로 Pipelining을 가정한 구조임.

Pipelining에서는 위 그림의 붉은색 박스가 동시에 처리된다.

 

 


기본개념

파이프라이닝의 기본 개념은 다음과 같음:

  1. 분할 단계:
    • 프로세서의 작업을 여러 단계로 나눕니다.
    • 일반적인 단계는 명령어 인출(Fetch), 명령어 디코딩(Decode), 명령어 실행(Execute), 메모리 접근(Memory Access), 결과 쓰기(Write Back)임.
      • 4단계로도 처리되는 이 경우 Memory access가 빠짐.
  2. 동시 처리:
    • 각 파이프라인 단계는 독립적으로 동작하여,
    • 한 명령어가 한 단계를 완료하면 다음 단계로 넘어가고,
    • 그 뒤를 이어 다른 명령어가 그 단계를 실행함.
    • 예를 들어, 첫 번째 명령어가 decoding 단계를 실행할 때 두 번째 명령어는 fetch 단계를 수행할 수 있음 (위 그림의 붉은색 박스 참조).
  3. 속도 향상:
    • 이러한 병렬 처리를 통해
    • 프로세서가 매 사이클마다 새로운 명령어를 처리할 수 있어
    • 전체 처리 속도가 증가함.
    • 이상적인 경우, 파이프라인의 각 단계가 동시에 완벽하게 수행된다면, 파이프라인의 깊이에 비례하여 성능이 향상됨.

비유적으로 설명하자면, 파이프라이닝은 공장에서 조립 라인을 통해 제품을 생산하는 방식과 유사함.

각 작업자가 특정 작업 단계에 집중하여 일을 빠르게 처리함으로써 전체 조립 라인의 생산성을 높이는 것과 같은 원리임.


Example

파이프라이닝의 효과는 다음과 같은 예로 볼 수 있습니다:

  • 단일 명령어가 5단계로 나눠져 있다면,
  • 첫 번째 명령어가 5단계를 모두 완료하는데 5 사이클이 걸리지만,
  • 이후 매 사이클마다 새로운 명령어가 완료되어, 이상적으로는 매 사이클마다 한 명령어가 처리.

1 Instructions Per Cycle 가 성립:

  • 0.2 IPC 가 1 IPC로 향상.
  • Super Scalar는 여러 pipeline을 수행하여 1 IPC 를 초과하는 성능 달성함

고려해야할 점

파이프라이닝은 CPU의 성능 향상을 위한 중요한 기법이지만,

동시에

  • 명령어 간의 의존성,
  • 분기 명령어 처리,
  • 파이프라인 단계의 불균형 등의 문제를 해결해야 함.

RICS vs. CISC

주로 RISC CPU에서 쉽게 적용되는 것으로 알려져 있고, CISC CPU에서는 적용이 상대적으로 어렵고 효율이 떨어지는 것으로 알려짐.

2022.12.18 - [Computer/CE] - [CE] Instruction Set Architecture: RISC vs. CISC

 

[CE] Instruction Set Architecture: RISC vs. CISC

Instruction Set Architecture: RISC vs. CISCReduced Instruction Set Computer (RISC)와 Complicated Instruction Set Compuer(CISC)는 Instruction Set의 구조(architecutre, 구성방식)으로 컴퓨터를 나눈 대표적 카테고리임.이들은 CPU(

dsaint31.tistory.com


같이보면 좋은 자료

https://ds31x.tistory.com/364

 

[CE] Hardware Threading, Scalar / Vector Processor

0. 스레딩(Threading)하나의 프로그램(=process)을 독립적인 실행 흐름(스레드, Thread)으로 분할하는 개념여러 스레드를 활용하면 시간적으로 겹쳐(concurrent) 실행하거나, 자원이 충분할 경우 실제 병렬(

ds31x.tistory.com

https://product.kyobobook.co.kr/detail/S000211776141: 5장 7절

 

컴퓨터 시스템 딥 다이브: C 언어부터 어셈블리, 아키텍처, OS까지 한 꺼풀씩 벗겨보는 컴퓨터 시

컴퓨터 시스템 딥 다이브: C 언어부터 어셈블리, 아키텍처, OS까지 한 꺼풀씩 벗겨보는 컴퓨터 시스템 | 코드 아래 숨겨진 아름답고 놀라운 컴퓨터 아키텍처 대탐험컴퓨터 시스템은 바다와 비슷

product.kyobobook.co.kr

 


 

728x90

'Computer > CE' 카테고리의 다른 글

[CE] Bipartite Graph (이분그래프)  (0) 2024.08.06
[CE] TTL : Transistor-Transistor Logic  (0) 2024.06.02
[CE] D Flip-Flop 7474  (0) 2024.04.10
[CE] From Transistor To Gate  (0) 2024.04.03
[CE] Round-off Error 예제  (1) 2024.02.17
'Computer/CE' 카테고리의 다른 글
  • [CE] Bipartite Graph (이분그래프)
  • [CE] TTL : Transistor-Transistor Logic
  • [CE] D Flip-Flop 7474
  • [CE] From Transistor To Gate
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (785)
      • Private Life (15)
      • Programming (55)
        • DIP (116)
        • ML (34)
      • Computer (119)
        • CE (53)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (368)
        • Signals and Systems (115)
        • Math (176)
        • Linear Algebra (33)
        • Physics (43)
        • 인성세미나 (1)
      • 정리필요. (61)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (7)
        • PET Study 2009 (1)
        • 방사선 장해방호 (5)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    numpy
    ML
    Probability
    cv2
    SIGNAL
    linear algebra
    인허가제도
    Term
    function
    Programming
    SS
    random
    signals_and_systems
    Python
    Optimization
    Vector
    signal_and_system
    math
    opencv
    fourier transform
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[CE] Pipelining (파이프라인 기법)
상단으로

티스토리툴바