23.09.04 최초 작성
1. 성능 지표
-
Response Time / Latency (∝Throughput1) : 작업을 완료하는 데 걸리는 시간
-
Throughput (∝Latency1) : 단위시간 당 완료한 작업 갯수
-
Bandwidth : 일정 시간동안 처리하는 작업의 양
-
Execution Time : 프로그램을 처리하는 데 걸린 시간
-
Performance = ExecutionTime1
2. 성능 측정
-
Elapsed Time : 한 작업을 완료할 때 걸리는 시간 (Total Response Time)
-
CPU Time : 주어진 한 작업(입출력, 다른 프로그램 제외)을 처리하는 데 걸리는 시간. User CPU Time(사용자 프로그램 처리에 사용된 시간)과 System CPU Time(운영체제가 프로그램을 처리하는 데 소요된 시간)
2.1 Clock
컴퓨터의 하드웨어 이벤트 발생 시점을 정하는 기능
-
Clock Cycle : Clock의 시간 간격
-
Clock Period : 한 Clock Cycle에 걸리는 시간 (sec)
-
Clock Frequency(Rate) : 단위시간당 Clock Cycle의 갯수 (ClockPeriod1)
CPUTime=ClockFrequencyClockCycle
2.2 명령어 성능
-
CPI (Clock cycle Per Instruction) : 명령어당 클럭 사이클 수. 프로그램이 실행한 모든 명령어에 대해 평균값을 사용한다.
-
ClockCycle갯수=명령어갯수×CPI
-
ClockCycle=i=1∑nCPIi×명령어갯수
-
WeightedAverageCPI=i=1∑nCPIi×명령어갯수명령어갯수i
-
CPUTime=ProgramInstructions×InstructionClockCycle×ClockCycleSeconds=NumberofInstructions×CPI×ClockCyclePeriod=ClockFrequencyNumberofInstructions×CPI
성능에 영향을 미치는 요소들 | 명령어 갯수 | CPI | Clock Period |
---|
알고리즘 | O | △ | X |
프로그래밍 언어 | O | O | X |
컴파일러 | O | O | X |
ISA | O | O | O |
Cycle Time : 250ps, CPI = 2.0
CPUTime=명령어갯수×CycleTime×CPI
=I×250ps×2.0=I×500ps