1 . Computer Performance
컴퓨터의 성능, 즉 Performance를 측정하기위해서는 어떠한 지표가 필요할까. 크게 아래의 둘로 나뉜다.
- Response time : 특정 작업을 수행하는데 걸리는 시간, Execution time or Latency
- Throughput : 단위시간당 수행하는 작업의 양, Bandwidth
성능(performance) = 1/실행 시간(execution time)
(성능x / 성능y) = (실행시간y / 실행시간x) = n
따라서 computer X 가 computer Y보다 performance가 높다는 것은
Performance X > Performance Y 또는 (1 / Execution time X) < (1 / Execution time Y)
여기서 Execution time 이란 어떠한 결과를 내놓는데 걸리는 총 시간으로 다음 시간들의 합이 된다.
- processing
- I/O
- OS overhead
- idle time
위에서는 response time (execution time) 을 기준으로 performance 를 측정하였으나, 이러한 execution time 에는
Elapsed time, CPU execution time(CPU time) 등이 존재한다.
- Elapsed time (wall-clock time) : 작업을 수행하는 전체 시간
- CPU execution time (CPU time) : 작업을 수행하기 위해 CPU가 소모한 시간, I/O accesses 나 다른 program들이 소모한 시간은 포함되지 않는다. System CPU time 과 User CPU time 으로 구분된다.
CPU performance를 측정한다는 것은, User CPU time 에 의한performance를 측정하는것을 의미한다.
따라서 User CPU time을 중심으로 performance를 측정한다.
2. Computer Performance and Clock
- Clock? 일정한 주기의 square wave signal. 컴퓨터는 Clock을 기준으로 동작을 수행한다.
Clock cycle의 개념을 CPU time 에 도입하면 위와같이 표현되는데, CPU 실행시간은 결국 프로그램당 Clock이 몇번 동작했는가에 클럭 cycle time 을 곱하면 된다.
여기서 다시 Clock Cycle이 몇번 필요한지는 명령어의 개수와 명령어당 Cycle이 몇개 필요한지 계산하면 도출해낼 수 있다. 여기서 instruction 1개당 필요한 cycle수가 CPI 이다.
종합하면 아래와 같다.
'Computer Architecture' 카테고리의 다른 글
[컴퓨터 구조] Processor: Single-Cycle Implementation(3) (0) | 2020.12.06 |
---|---|
[컴퓨터 구조] Processor: Single-Cycle Implementation(2) (0) | 2020.12.06 |
[컴퓨터 구조] Processor: Single-Cycle Implementation (0) | 2020.12.05 |
[컴퓨터 구조]Instruction Set - MIPS,ARM 을 중심으로 (0) | 2020.11.11 |