공부하자/알면 유용한정보

파이프라인(Pipeline)

YoBot 2016. 11. 23. 01:34

파이프라인(Pipeline)

프로세서에서 명령어를 실행하기 위해서는 크게 3단계의 과정을 거친다.

1단계: 페치(fetch)단계에서는 명령어를 읽어 옵니다.

2단계: 디코드(decode) 단계에서는 읽어 온 명령어를 분석합니다.

3단계: 실행(execute) 단계에서는 분석한 명령어를 실행합니다.

하나의 명령어를 실행하기 위해서는 이러한 3단계, 혹은 3 클럭이 필요합니다만, 아래의 그림처럼 파이프라인 형태로 3가지 작업이 병행되어 실행이 되면 결국 1개의 명령어가 1클럭에 실행이 되는 것과 같은 효과가 있다. 실행속도를 향상시키는 한 가지 방법이다.



ARM7의 명령어 중 LDR/STR와 같은 명령어는 데이터를 읽거나 쓰는 과정이 있으므로, 3단 파이프라인이 동작이 지연될 수 있다.


RISC에서는 한 명령어를 실행하는데 일정한 길이(단계)를 가지기 때문에 위의 파이프라인의 구현이 쉽고, 파이프라인이 동작이 잘 깨어지지 않는다. CISC의 경우에는 파이프라인의 구현은 가능지만, 구현이 복잡할 뿐 아니라 실행되는 명령어의 순서에 따라 파이프라인의 동작이 잘 깨어질 수 있다.


ARM9의 경우에는 파이프라인의 단계를 더욱 세분화하여 5단계로 구성되어 있습니다.

Fetch=>Decode=>Execute=>Memory=>Register Write-back







'공부하자 > 알면 유용한정보' 카테고리의 다른 글

안드로이드 스튜디오 디버그 단축키  (0) 2016.12.11
재화란?  (0) 2016.12.04
CISC vs RISC  (0) 2016.11.23
ARM 프로세서의 장점  (0) 2016.11.23
System On a Chip  (0) 2016.11.23