[Computer Performance]

myeonghyun·2022년 9월 17일
0

공부

목록 보기
5/5

컴퓨터의 성능을 논할 때, 우리는 주로 응답시간에 초점을 맞출 것이다.
성능을 극대화시키기 위해서는 어떤 작업의 응답시간 또는 실행시간을 최소화 시킬 필요가 있다.
따라서 어떤 컴퓨터 x의 성능과 실행 시간의 관계는 다음과 같다.

Performace(x) = 1 / Execution Time(x)

이는 실행 시간과 성능은 반비례임을 암시한다.

Performace  x>Performance  yPerformace\;x > Performance\;y
Execution  Time  x<Execution  Time  yExecution\;Time\;x< Execution\;Time\;y

컴퓨터 설계에 있어서 두 컴퓨터의 성능을 정량적으로 비교하기 위해서는 “x가 y보다 n배 빠르다” 고 표현한다.

Performance  xPerformance  y=n{Performance\;x \over Performance\;y} = n

이는 x가 y보다 n배 빠르다면 y에서의 실행시간은 n배 길어질 것임을 암시한다.

Performance  xPerformance  y=Execution  Time  yExecution  Time  x=n{Performance\;x \over Performance\;y} = {Execution\;Time\;y \over Execution\;Time\;x} = n

특정 프로그램의 경과 시간을 최소화하는 것보다는 처리량을 최적화하는 것이 유리하다. 따라서 경과 시간과 구분해서 프로세서가 순수하게 특정 프로그램을 실행하기 위해 소비한 시간을 계산할 필요가 있다.
이 시간을 우리는 CPU 실행 시간(Cpu Execution Time) 혹은 CPU 시간(CPU time) 이라 부른다.

대부분의 컴퓨터는 하드웨어 이벤트가 발생하는 시점을 결정하는 클럭을 이용하여 만들어지는데, 이 클럭의 시간적 간격을 클럭 사이클이라 부르며,
클럭 주기는 한 클럭 사이클에 걸리는 시간(250 picoseconds) 이나 클럭 속도(4 GHZ)로 표시한다.

가장 기본적인 척도인 클럭 사이클 수와 클럭 사이클 시간으로 CPU 시간을 나타내면 다음과 같다.

CPU  Time=CPU  Clock  CyclesClock  RatesCPU\;Time = {CPU\;Clock\;Cycles \over Clock\;Rates}

위의 수식에는 프로그램 수행에 필요한 명령어의 수에 관한 사항이 포함되어 있지 않다.
그러나 컴파일러가 실행할 명령어를 생성하고 컴퓨터는 이 명령어를 실행해야 하므로, 실행시간은 프로그램 명령어 수와 밀접한 관계가 있다.
이 관점에서 ‘실행 명령어의 수 X 명령어의 평균 실행시간’ 을 하면 실행시간을 계산할 수 있다.

이는 다음과 같은 수식을 도출 시킨다.

CPU  Clock  Cycles=Instruction  CountCPI{CPU\;Clock\;Cycles} = {Instruction\;Count} * CPI


위의 표는 컴퓨터의 성능을 결정하는 기본 구성 요소와 각각의 측정에서 얻어지는 값들을 나타낸다. 이 인자들로 하여금 프로그램의 execution time을 구할 수 있다.

Time=SecondsClock  Cycles×InstructionsPrograms×ClockCyclesInstructionsTime = {Seconds\over Clock\;Cycles} × {Instructions\over Programs} × {Clock Cycles\over Instructions}
profile
while(1)

0개의 댓글