Ye0ngJae

[하드웨어] 파이프라이닝(Pipelining)과 비순차적 실행 본문

컴퓨터 시스템

[하드웨어] 파이프라이닝(Pipelining)과 비순차적 실행

Ye0ngJae 2022. 6. 13. 01:27
728x90

파이프라이닝과 비순차적 실행

파이프라인(Pipeline)

<파이프 라인 명령어 실행 과정>

파이프 라인은 명령어를 병렬로 처리하는 방식입니다. 기존에 단일 사이클 방식의 경우에는 한 사이클이 끝나야 다음 명령어를 처리할 수 있었습니다.

 

하지만 파이프라인의 경우에는 여러행동을 중첩해서 사용이 가능하여 단일 사이클 방식에 비하여 매우 빠른 속도로 명령어를 처리할 수 있게 해줍니다.

 

이러한 파이프라인을 가장 효율적으로 진행하기 위해서는 한 사이클 안에 각 단계별 처리 시간이 일정하고 처리 단계가 균일해야 가장 효율적인 파이프라인을 구성할 수 있습니다.

비순차적 실행

일반적인 파이프라인은 순차적으로 명령어를 실행합니다. 그런데 이러한 순차적 파이프라인에서는 중간에 지연이 발생하면 값이 도착할 때까지 명령어 처리를 일시적으로 중단하게 되고 이 때문에 명령어 처리의 효율성이 떨어지게 됩니다. 이 문제를 해결하기 위하여 도입한 방식이 비순차적 실행 방식입니다.

 

비순차적 실행 방식에서는 명령어 해석 단계를 발행(Issue)과 피연산자 읽기(Read Operand)라는 두 단계로 나눕니다. 발행단계까지는 순차적으로 실행되지만, 피연산자 읽기 단계에서 지연이 발생하여 일시적인 중단이 발생하면, 뒤 쪽에 대기중인 명령어들의 순서를 바꾸어 실행합니다.

728x90