파이프 라인
하나의 작업에 필요한 일을 세부적으로 나누어서 동시에 다른 세부작업을 실행하는 방법
CPU의 단계를 2가지로 나누기
- Fetch Stage (Instruction Fetch / Decode)
- Execution Stage (Instrction Exection)
CPU의 단계를 4가지로 나누기
- 명령어 인출(IF : Instruction Fetch)
- 명령어 해독(ID : Instruction Decode) : 인출된 명령어 해석
- 오퍼랜드 인출(OF : Operand Fetch) : 메모리에서 데이터 인출
- 명령어 실행(EX : Execute)
CPU는 파이프라인은 굉장히 길다. 16단계 정도이며, 단계를 계속 나누는 이유는?
- 세부적으로 단계를 나누면 나눌수록 속도가 빨라진다.
EX
- 하나의 명령을 싱행하는데 5 cycle이 걸린다.
- 상기해보기 : cycle - 1개의 세부작업을 하는 단위
- 1HZ = 1 cycle / sec
- 최초 인텔 CPU 4004 : 108,000 cycles / sec (108 kilohertz, KHz)
- 108,000 / 5 cycle (한 명령어 실행 시간) : 초당 21,600 명령 실행