명령어 병렬 처리 기법

EHminShoov2J·2023년 10월 14일
0

Computer Science

목록 보기
11/12
post-thumbnail

명령어 파이프라인


명령어가 처리되는 시간 간격으로 나누는 경우 위와 같이 표현 가능하다. 이때 같은 단계가 겹치지만 않는다면, CPU는 각 단계를 아래와 같이 동시에 실행할 수 있다.

파이프 라인 위험


  1. 데이터 위험 : 명령어 간의 의존성에 의해 발생
    -모든 명령어를 동시에 처리할 수 없기 때문이다. 이전 명령어가 끝나야지만 제대로 수행할 수 있는 명령어 들이 존재

  2. 제어 위험 : 프로그램 카운터의 갑작스러운 변화

  3. 구조 위험 : 서로 다른 명령어가 같은 CPU 부품(ALU, 레지스터)를 사용하려 하는 경우

슈퍼 스칼라


CPU 내부에 여러 개의 명령어 파이프라인을 포함한 구조 == 오늘날의 멀티스레드 프로세서

이론적으로는 파이프라인 개수에 비례하여 처리 속도가 증가하지만, 동시에 파이프라인 위험도도 증가한다.

비순차적 명령어 처리


명령어를 순차적으로 처리한다면 파이프라인의 처리 효율을 최대한 끌어 올릴수가 없다.

의존성이 없는 명령어의 순서를 보다 효율적으로 작동하도록 변화시켜서 더 빠르게 파이프라인을 동작하게끔 구현하였음.

0개의 댓글