컴퓨터구조론 (파이프라인)

컴퓨터구조 14차시

파이프라인 : 한 명령어가 완전히 끝나기 전에 다음 명령어를 실행. 동시에 여러개의 명령어 실행

5단계.

  1. fetch instruction
  2. opcode decoding 하면서 레지스터 prefetch하고
  3. 실행하던지 주소계산 하던지 하고
  4. memory reference instruction의 경우 데이터 메모리 access하고
  5. register에 결과값을 써넣는다.

파이프라인 클락 사이클 타임. 이 중에서 가장 긴 거에 맞춰야 한다.

Pipeline을 채우는데 걸리는 시간, 어떤 output도 없다. fillup time이 지난 다음에는 한 클락에 명령어 하나씩 실행이 끝난다. 엔개의 명령이 실행될 때 엔곱하기 티초 실행이 끝난다. image

이론적으로 파이프라인 stage의 갯수만큼의 성능향상을 얻을 수 있다. 실제로는 그렇지 않다 조금 떨어짐.

Pipeline Hazards

그렇지 못하는 상황. 다음 명령어를 못 가져온다. 이런 상황을 통틀어서 hazards라고 한다.

크게 세가지

  1. structual hazards 파이프라인 구조가 잘못
  2. data hazards 앞의 명령어의 계산결과를 뒤에 명령어가 사용해야 할 때
  3. control hazards

5 stages of instruction pipeline

  • IF : Instruction fetch
  • ID : Instruction decode and register file read
  • EX : Execution and address calculation
  • MEM : Data memory access
  • WB : Write back

2 exceptions to the left-to-right flow of instructions

image

image

image

image

image

컴퓨터 구조론 14차시 강의


참고자료

컴퓨터 구조 및 설계 지음 DAVID A.PATTERSON, JOHN L>HENNESSY

숭실대학교 컴퓨터구조론 강의

0%