본문 바로가기
정리 { CS: 컴퓨터 과학 }/컴퓨터구조

(컴퓨터구조)❰05. CPU 성능향상 기법❱ _[05-2. 명령어 병렬 처리 기법]

by 해피퀄리아 2023. 4. 23.

[ 05-2. 명령어 병렬 처리 기법 ]

[ 0 ] 명령어 병렬처리 기법

빠른 처리를 하는 방법?

  • 좋은 장치 → CPU 자체가 좋다.
  • 효율적 사용 → CPU자원을 쉬지 않고 계속 사용시켜준다.

명령어 병렬처리 기법

  • 명령어를 동시에 처리하여 → CPU를 쉬지 않고 작동시키는 기법
  • 대표적 명령어 처리기법
    • 명령어 파이프 라이닝
    • 슈퍼스칼라
    • 비순차적 명령어 처리

[ 1 ] 명령어 파이프라인

  • 원리
      1. 각 명령어는 명령어 처리과정을 밟는다.
      2. 단계가 중복되지만 않는다면, 각각의 단계는 1개씩 동시에 실행할 수 있다.
  • 비유
    : 마치 공장 생산 라인에서, 각 단계를 담당하는 인원들이 있다면, 동시에 인원들은 각 단계를 처리할 수 있다.

    만약 단계가 4개라면, 각 단계에서 처리 중인 4개의 상품을 동시에 처리할 수 있다. 마찬가지로, 각 단계에 있는 명령어를 동시에 처리할 수 있다.

 

  • 위험 (간단 요약)
    • 데이터 위험 : 명령어 간 데이터 의존성에 의해 발생.
    • 제어 위험 : 프로그램 카운터의 갑작스러운 변화
    • 구조적 위험 : 명령어들이 동시에 CPU부품을 사용하려고 할 때 발생

[ 2 ] 슈퍼스칼라

여러개의 파이프라인을 사용하는 경우

→  슈퍼스칼라라고 부름 마치 공장 생산 라인을 여러개 두는 것과 비슷

 

단점

 파이프라인이 가지는 위험을 당연히 가지고 있고, 파이프라인이 많으면 많을 수록 위험 관리를 제대로 해야한다.


[ 3 ] 비순차적 명령어 처리

  • (OoOE : Out-of-order execution)
  • 원리
    • (파이프라인의 중단을 방지하기 위해) → 명령어를 순차적으로 실행하지 않는 기법
    • 명령어 간 순서를 바꿔 실행해도 무방한 명령어를 먼저 실행해보기
    • 명령어 하나가 완료되기까지 기다릴 필요가 없이, 다른 명령어를 동시에 실행할 수 있다.
  • 요즘 대부분의 CPU가 차용하는 기법

댓글