Performance

EEEFFEE·2023년 9월 4일
0

Computer Architecture

목록 보기
1/6

23.09.04 최초 작성

1. 성능 지표

  1. Response Time / Latency (\propto1Throughput\frac{1}{Throughput}) : 작업을 완료하는 데 걸리는 시간

  2. Throughput (\propto1Latency\frac{1}{Latency}) : 단위시간 당 완료한 작업 갯수

  3. Bandwidth : 일정 시간동안 처리하는 작업의 양

  4. Execution Time : 프로그램을 처리하는 데 걸린 시간

  5. Performance = 1ExecutionTime\frac{1}{Execution Time}

2. 성능 측정

  • Elapsed Time : 한 작업을 완료할 때 걸리는 시간 (Total Response Time)

  • CPU Time : 주어진 한 작업(입출력, 다른 프로그램 제외)을 처리하는 데 걸리는 시간. User CPU Time(사용자 프로그램 처리에 사용된 시간)과 System CPU Time(운영체제가 프로그램을 처리하는 데 소요된 시간)

2.1 Clock

컴퓨터의 하드웨어 이벤트 발생 시점을 정하는 기능

  1. Clock Cycle : Clock의 시간 간격

  2. Clock Period : 한 Clock Cycle에 걸리는 시간 (sec)

  3. Clock Frequency(Rate) : 단위시간당 Clock Cycle의 갯수 (1ClockPeriod\frac{1}{Clock Period})

CPU  Time=ClockCycleClockFrequencyCPU \;Time = \frac{Clock Cycle}{Clock Frequency}

2.2 명령어 성능

  • CPI (Clock cycle Per Instruction) : 명령어당 클럭 사이클 수. 프로그램이 실행한 모든 명령어에 대해 평균값을 사용한다.

  • Clock  Cycle  갯수=명령어  갯수×CPIClock\;Cycle\;갯수 =명령어\;갯수 \times CPI

  • Clock  Cycle=i=1nCPIi×명령어  갯수Clock\;Cycle=\displaystyle\sum_{i=1}^{n} CPI_i \times 명령어\;갯수

  • Weighted  Average  CPI=i=1nCPIi×명령어  i명령어  갯수Weighted\;Average\;CPI=\displaystyle\sum_{i=1}^{n} CPI_i \times \frac{명령어\;갯수_i}{명령어\;갯수}

  • CPU  Time=InstructionsProgram×Clock  CycleInstruction×SecondsClock  Cycle=Number  of  Instructions×CPI×Clock  Cycle  Period=Number  of  Instructions×CPIClock  FrequencyCPU\;Time = \frac{Instructions}{Program} \times \frac{Clock\;Cycle}{Instruction} \times\frac{Seconds}{Clock\;Cycle}=Number\;of\;Instructions \times CPI \times Clock\;Cycle\; Period=\frac{Number\;of\;Instructions \times CPI}{Clock\;Frequency}

성능에 영향을 미치는 요소들명령어 갯수CPIClock Period
알고리즘OX
프로그래밍 언어OOX
컴파일러OOX
ISAOOO

Cycle Time : 250ps, CPI = 2.0
CPU  Time=명령어  갯수×Cycle  Time×CPICPU \; Time = 명령어\;갯수 \times Cycle\;Time \times CPI
=I×250ps×2.0=I×500ps= I \times 250ps \times 2.0 = I \times 500ps

    

0개의 댓글