새소식

반응형
CS 지식/컴퓨터구조

[컴퓨터구조] 13. Multi-cycle Performance

2023.10.10
  • -
반응형

Multicycle Processor Performance

  • 명령어들은 다 다른 cycle의 수를 가진다. 
    • 3 cycles: beq, j
    • 4 cycles: R-Type, sw, addi
    • 5 cycles: lw
  • CPI is weighted average
  • SPECINT2000 benchmark:
    • 25% loads
    • 10% stores
    • 11% branches
    • 2% jumps
    • 52% R-type

Average CPI = (0.11 + 0.02)(3) + (0.52 + 0.10)(4) + (0.25)(5) = 4.12

 

Multicycle critical path: Tc = tpcq_ALUout + tmux + max(tALU + tmux, tmem) + tsetup

  • write은 read보다 조금 걸리고
  • register file은 memory보다 조금 걸린다.(빠르다)

 

Multicycle Performance Example

Tc = tpcq_ALUout + tmux + max(tALU + tmux, tmem) + tsetup

= Tc = tpcq_ALUout + tmux + tmem + tsetup

= [30 + 25 + 250 + 20] ps

= 325 ps

 

중요한 의제

multi-cycle MIPS processor에서 동작하는 1억개의 명령어를 가진 프로그램을 가정

  • CPI = 4.12
  • Tc = 325 ps
    • single에서는 925ps 였는데 clock cycle을 단순 1/5 한 것 치고는 너무 길다.
    • 그 이유는?

Execution Time

= (# instructions) × CPI × Tc

= (100 × 109 )(4.12)(325 × 10-12)

= 133.9 seconds

 

  1. 제일 많이 걸리는 게 clock cycle을 정하는데 clock을 정확히 균등하게 나누지 않았다.
    • Not even balenced
    • Not all steps same length
  2. 자르다보면 다음 cycle에 계산하기 위해 저장하기 위한 register(f/f)가 중간중간에 들어가는데 register에서는 tpcq, tsetup 이라는 overhead로 인해 clock이 정확하게 5배 빨라지지 못하는 것이다.
    • Sequencing overhead for each stop(tpcq+ tsetup = 50 ps)
    • 그래서 CPI에서 손해본 것을 clock cylce에서 감당할 수 없었던 것이다.

Q) 어떻게 균등하게 쪼개는가

A) mips는 data memory 때문에 unbalance가 발생

 

Review: Single-Cycle Processor

 

Review: Multicycle Processor

 

  • 장점
    • resource sharing(memory, ALU)
    • faster clock
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.