[컴퓨터 구조] 파이프라인

MyungHwan Kim·2022년 11월 11일
2

컴퓨터구조

목록 보기
11/12
post-thumbnail

01. 파이프라인

  • 하나의 작업에 필요한 일을 세부적으로 나누어서 동시에 다른 세부작업을 실행하는 방법

  • CPU의 단계를 2가지로 나누어보자.

    • Fetch Stage(Instruction Fetch/Decode)
    • Execution Stage(Instruction Execution)
  • CPU의 단계를 4가지로 나누어보자.

    • 명령어 인출(IF: Instruction Fecch)
    • 명령어 해독(ID: Instruction Decode)
      • 인출된 명령어 해석
    • 오퍼랜드 인출(OF: Operand Fetch)
      • 메모리에서 데이터 인출
    • 명령어 실행(EX: Execute)
  • 최근 CPU는 파이프라인이 굉장히 길다. 16단계 정도이며, 단계를 계속 나누는 이유는?

    • 세부적으로 단계를 나누면 나눌수록 속도가 빨라진다.
  • CPU의 단계를 나눈 가지 수로 하나의 명령을 실행하는 데 몇 cycle이 걸리는지 알 수 있다.

  • 위 2가지 예시와 최근 CPU를 통해

    • 첫번째 그림은 하나의 명령을 실행하는데 2 cycle이 걸린다.
    • 두번째 그림은 하나의 명령을 실행하는데 4 cycle이 걸린다.
    • 최근 CPU는 16단계 정도로 나누어 처리하므로 16 cycle이 걸리는 것을 알 수 있다.
  • 추가적으로 1Hz = 1cycle/sec 이므로 예를 들어 CPU가 320,000 cycles/sec(=320KHz)라고 가정했을 때 이 2가지 예시와 최근 CPU의 단계를 가지고 초당 명령 실행 수를 알 수 있다.

    • 2가지 단계: 320,000 / 2 cycle = 초당 160,000 명령 실행
    • 4가지 단계: 320,000 / 4 cycle = 초당 80,000 명령 실행
    • 16가지 단계: 320,000 / 16 cycle = 초당 20,000 명령 실행
  • 점차적으로 cycle 의 수가 커질수록 더 오래 걸릴 것 같지만, 내부적으로는 단계별로 동시에 실행할 수 있는 명령들이 더 많아지기 때문에 기존보다 더 빠르게 동작한다.

  • 결론적으로 파이프라인은 CPU의 성능을 높이는 기법이다.

profile
Back-end 개발자가 되기 위한 개발 노트(Java)

0개의 댓글