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에 따라 다르다.

 

반응형