개발자는 ARM Core의 관계가 깨지지 않도록 해주어야 한다.
ARM Core는 메모리에 있는 코드를 읽어오고, 해석하고, 실행한다.
(Fetch - Decode - Execute)
<위의 (Fetch - Decode - Execute) 3단계가 필요한 이유>
(Fetch)
(Decode)
(Excute)
앞의 3단계가 각 단계별로 CPU clock을 한 cycle 소모한다고 가정.
이제 3개의 어셈블리 명령어가 수행한다고 하면 총 9번 cycle 필요.
여기서 각 단계별로 사용되는 자원이 다르니 중첩해서 사용해보자고 생각한 것이 파이프 라인(pipe line)이다.
파이프라인을 구성하여 동작시키면 3개의 명령어를 처리하는데 5cycle로 동일한 결과를 얻는다. (성능이 좋아진다.