본문 바로가기
Computer Architecture/Processor

파이프라인 실제 예시

by FastBench 2024. 12. 13.
반응형

- 프로세서 시리즈 모아보기 -

https://microelectronics.tistory.com/112

 

기본적인 ISA 동작 방식을 모르면 이해하기 어렵습니다.

 

 

실제 예시를 통한 파이프라인 이해

현대 프로세서에서 파이프라인 단계의 수와 성능 사이에는 절충이 필요하다. ARM과 AMD의 파이프라인 설계를 통해 이러한 절충과 차이를 살펴본다.

1. ARM의 빅/리틀 파이프라인 설계

  • 빅 파이프라인: 24단계로 구성되며, 더 높은 클럭 주파수를 위해 설계되었다. 각 단계가 더 작은 작업 단위로 나뉘어 있어 빠르게 클럭을 돌릴 수 있지만, 많은 파이프라인 레지스터가 필요하고 레지스터 오버헤드(latency)가 높아진다.
  • 리틀 파이프라인: 10단계로 구성되며, 주파수는 낮지만 파이프라인 레지스터가 적고 오버헤드가 줄어든다.

빅 파이프라인은 더 높은 클럭 속도에서 작동하지만, 레지스터 오버헤드가 크다는 단점이 있으며, 반면 리틀 파이프라인은 오버헤드가 낮고 각 단계의 길이가 길다.

2. AMD의 파이프라인 구조

AMD의 파이프라인은 인스트럭션 페치, 디코드, 실행, 메모리 접근, 레지스터 쓰기 단계를 포함하며, 일부 특화된 기능을 위해 여러 사이클을 사용한다.

  • AMD 파이프라인에서는 인스트럭션 페치에 6 사이클, 인스트럭션 디코드에 5 사이클을 할당하여 명령어를 해독하고, 레지스터를 읽는 데 시간을 투자한다.
  • 실행 단계는 한 사이클만 소요되며, 메모리 접근은 3 사이클이 걸린다.

이와 같은 다단계 파이프라인은 높은 주파수에서 작동하도록 설계되었으며, 복잡한 명령어 집합인 x86의 특성에 맞춰져 있다.

3. 파이프라인의 장점과 한계

파이프라인은 클럭 주파수를 높이고 명령어 병렬 처리를 통해 성능을 향상시킨다. 다만, 다음과 같은 한계가 있다.

  1. stage 간 불균형 문제: 각 stage의 길이가 균일하지 않으면 전체 파이프라인 속도가 느려진다.
  2. 레지스터 오버헤드: 파이프라인 레지스터가 많아지면 레지스터 자체의 오버헤드로 인해 성능이 저하될 수 있다.
  3. 파이프라인의 공백: 파이프라인이 가득 차지 않으면 자원 활용도가 떨어지고, 이는 성능 저하로 이어진다.
  4. 적절한 단계 수 결정: 현대 프로세서에서 파이프라인 단계 수는 10~20단계가 가장 적절하다. 이는 클럭 속도와 레지스터 오버헤드를 절충하여 최적의 성능을 제공한다.

결론

파이프라인은 클럭 주파수를 높이고 병렬 처리를 통해 성능을 향상시키는 핵심 기술이다. ARM의 빅코어의 파이프라인 설계는 높은 주파수를 목표로 더 많은 단계로 나누어 레지스터 오버헤드가 있지만 빠르게 작동하며, 리틀코어의 파이프라인은 레지스터 오버헤드가 적은 대신 낮은 주파수에서 효율적이다. AMD와 같은 복잡한 명령어 집합에서는 다단계 파이프라인을 통해 성능을 극대화하며, 현대 프로세서는 약 10~20단계의 파이프라인이 가장 이상적인 절충점을 제공한다.

 

 

 

 

 

https://www.youtube.com/watch?v=tdGBNGh6WOk&list=PL9b_pbvWZfKjzceHxm8aceOvNR_6icJI-&index=59

 

 

 

반응형

댓글