본문 바로가기
컴퓨터

마이크로 프로세서 파이프라인 원리

by Begi 2020. 12. 15.
반응형

마이크로 프로세서는 명령어를 실행할 때 기본적으로 Fetch, Decode, Execute, Memory Access의 4단계를 실행한다. 보통 각 단계의 실행에는 한 클럭이 필요하다. 그래서, 10MHz 클럭으로 동작하는 마이크로 프로세서는 1초에 약 2.5M 개의 명령어를 수행한다.

 

마이크로 프로세서에 사용되는 기술 중 파이프라인 (Pipeline)은 한 클럭에 한 명령어을 실행할 수 있는 기술이다.

 

 

위 그림과 같이 명령어 실행 프로세서를 4개를 동시에 실행시켜 한 클럭에 한 명령어를 실행하도록 한다. 명령어 실행 중 Branch 명령을 만나면 미리 로드된 명령어들을 버리고 다시 명령어를 읽어야 한다. 이 때는 파이프라인의 효율이 떨어진다.

 

다음과 같은 명령어가 실행될 때 파이프라인이 동작하면 첫번째 명령어의 결과가 A에 저장되기 전에 두번째 명령어가 실행되는 문제가 있다. 그렇게 되면 A에 0x03이 아니라 0x02가 저장되게 된다.

 

A |= 0x01

A |= 0x02

 

이러한 파이프라인 문제를 방지하는 것을 Pipeline Protection이라고 한다. 마이크로 프로세서는 위와 같은 문제가 발생하는 명령어들에서는 자동으로 명령어 실행을 지연시켜 문제를 방지한다.

 

반응형

'컴퓨터' 카테고리의 다른 글

Read-modify-write 명령어  (0) 2020.12.24
Race condition 이란?  (0) 2020.12.19
역대 가장 인기 있는 운영체제  (0) 2020.12.15
자동차 ECU의 OS  (0) 2020.12.15
유닉스 철학  (0) 2020.12.15

댓글