Computer Science/CS 컴퓨터구조
[컴퓨터구조]Compuer Architecture - Performance
LKBaekjoon
2024. 6. 22. 14:56
반응형
Performance
CPU의 성능 향상을 극대화하기 위해서는, Execution time(실행 시간)을 최소화 해야 한다.
- performance(X) = 1 / execution_time(X) 로 정의된다.
- 만약 컴퓨터 X가 Y보다 n배 빠르다면,
- performance(X) / performance(Y) = execution_time(Y) / execution_time(X) = n 으로 정의된다.
- 역수 관계 !
예제를 생각해보자.
Q : 만약 컴퓨터 A가 한 프로그램을 10초에, 컴퓨터 B가 15초에 돌린다면, A가 B보다 얼마나 빠른가?
-> performance(A) / performance(B) = 15 / 10 = 1.5배 빠르다.
CPU Clocking
- 1초마다 도는 사이클을 Clock frequency(rate) 라고 한다.
- 이 때 Clock cycle의 duration을 Clock period(clock cycle time) 라고 한다.
- Clock rate는 Clock period의 역수로 정의된다.
- 10 nsec clock cycle => 100 MHz clock rate
- 1 nsec (10^-9) clock cycle => 1 GHz (10^9) clock rate
한 프로그램을 돌리는 데 필요한 CPU의 실행 시간은 다음과 같이 정의된다.
- 한 프로그램에 필요한 CPU clock cycle * clock cycle time
이 때 다시 한 프로그램에 필요한 CPU clock cycle은 다음으로 정의된다.
- 한 프로그램에 필요한 명령어 수 * 명령어 하나 당 평균 Clock cycle 수 (CPI)
따라서 CPU time은 다음과 같이 정의된다.
- CPU time = Instruction count * CPI * Clock period (1 / Clock rate)
- CPI는 instruction type과 ISA에 따라 다르다.
반응형