본문 바로가기
전자공학

마이크로 프로세서의 파이프라인

by 무에서 2018. 2. 13.
반응형

마이크로 프로세서에서 명령어를 실행할 때 일반적으로 Fetch, Decode, Execute, Memory Access의 4단계를 실행한다. 


Fetch는 메모리에서 명령어를 마이크로 프로세서에서 읽는 단계이고 Decode는 Fetch 된 명령어를 해석하는 단계이고 Execute은 해석된 명령어를 실행하는 단계이며 Memory Access는 결과 값을 메모리에 저장하는 단계이다.  


만약 각 단계를 실행하는데 1 클럭의 시간이 필요하다면 마이크로 프로세서의 실제 동작 속도는 클럭 주파수의 1/4배가 된다. 즉, 1MHz의 마이크로 프로세서에서 1us 마다 한 명령어를 실행하는 것이 아니라 4us 마다 한 명령어를 실행하게 된다. (실제로는 명령어에 따라 각 단계의 실행 클럭이 1개 이상이 될 수도 있다.)


파이프라인(Pipeline)은 위와 같은 Fetch, Decode, Execute, Memory Access의 단계를 병렬로 실행하는 기술이다. 파이프라인는 다음 그림과 같이 동작하며, 파이프라인을 사용하면 매 클럭 마다 Execute을 실행하여 마이크로 프로세서의 한 클럭마다 한 명령어를 실행할 수 있다.



파이프라인을 실행할 때 Branch 명령이 있으면 미리 Fetch하거나 Decode한 데이터를 버려야 하기 때문에 파이프라인의 효과가 떨어진다.


반응형

'전자공학' 카테고리의 다른 글

RC 모형에 사용되는 서보모터 제어  (0) 2018.02.19
패러데이 법칙  (0) 2018.02.18
Even & Odd 패리티  (0) 2018.02.13
DFT 정의와 특성  (0) 2018.02.11
정수형 IIR 필터 사용시 주의해야 할 점  (0) 2018.02.07

댓글