Fetch 인출 즉 프로세서가 메모리러부터 명령어를 가져온다
Decode 메모리에서 가져온 명령어를 해석한다
Execute 해석된 명령어가 원하는걸 수행한다.
그리고 나서 다시 인출 단계로 돌아간다.
명령어 집합 ISA 프로세서가 인식해서 기능을 이해하고 실행 할 수 있는 기계어, 명령어 레퍼토리이다.
소프트웨어에서 하드웨어로 넘어가는 단계에서 중재자역할을 해준다.
컴퓨터 아키텍쳐, 컴퓨터 구조는 복잡한 Tradeoff를 수반한다.
두 가지 바람직하지만 호환되지 않는 기능 간의 균형
즉, 하나를 얻으면 다른 하나를 포기해야한다.
프로세서의 성능 향상을 위해
1. 파이프라이닝 Pipeling
순차적 세탁 vs 병행적 세탁
한 번에 하나의 명령어만 실행하는 것이 아니라 하나의 명령어가 실행되는 도중에 다른 명령어를 실행을 시작하는 식으로 동시에 여러 개의 명령어를 실행하는 기법이다.
이렇게 동시에 여러 개의 명령어를 처리하므로써 처리량을 올리는 것이 파이프라이닝의 핵심이다.
모든 단계는 원래의 동작 속도대로 일을 하면서 처리량을 늘리는 것이지 원래의 동작 속도를 단축시키는 것은 아니다.
병렬 컴퓨팅
두 개의 연산이 서로 의존성이 없다면 한 개 연산이 완료될 때까지 나머지 연산이 기다리지 않고 동시에 수행하는 것이 바로 병렬컴퓨팅의 기본 개념이다.
여기서 동시에 수행할 수 있는 대상을 찾는 것이 병렬처리의 가장 시작점이라고 할 수 있으며, 이러한 일련의 과정을 병렬화라고 한다.