티스토리 뷰

ARCHITECTURE

CPU Time

짜비 2020. 4. 7. 23:52

 

서로 다른 아키텍처끼리의 성능을 비교하려면 적절한 비교 기준(metrics)가 있어야 한다.

대표적으로 쓰이는 기준이 바로 CPU Time이다.

 

 

performance = 1 / execution time

performance(성능)은 어떤 작업을 처리하는데 걸리는 시간(execution time)의 역수로 정의한다.

 

 

한편, 두 개의 cpu 간 성능을 상대적으로 비교할 때 다음과 같이 표현한다.

"A가 B보다 n배 빠르다"

이를 수식으로  표현하면,

performance(A) / performance(B) = n

이는,

execution time(B) / execution time(B) = n 과 동치이다.

보통 상대적으로 비교할 때 execution time(=CPU time)으로 표현할 때가 많으니 분자와 분모가 바뀌지 않도록 주의하자.

 

 

 

elapsed time : total execution time

CPU time : elapsed time – ( I/O time + idle  time) 

I/O time은 input / output 과의 연결 과정에서 걸리는 시간이고, idle time은 cpu가 아무것도 하지 않고 다른 구성요소가 준비될 때 까지 대기하는 시간이다. 따라서 cpu의 성능과 무관하므로 cpu 작업 시간에서 제외한다.

 

 

 

Clock period (= Clock cycle time) : 한 클락 사이클이 도는 데 걸리는 시간.

Clock frequency(= Clock rate) : 1초당 클락 사이클의 횟수.

clock cycle time = 1 / clock rate

ex) 1 ns = 1 / 1 GHz  ( 1 ns = 1 * 10^-9 s)

 

 

 

CPU time = clock cycle * clock cycle time

            = clock cycle * ( 1 / clock rate)

 

 

 

clock cycles = Instruction Count * Cycles Per Instruction

이 때, Instruction Count : 총 명령어의 개수

        Cycles Per Instruction : 한 명령어 당 필요한 사이클의 개수.

 

ex) application A 에는 명령어가 100개, application B 에는 명령어가 200개가 필요하다. (Instruction Count)

     ADD라는 명령어는 실행을 위해 2 cycles 가 필요하고, BEQ는 3 cycles가 필요하다. (Cycles Per Instruction)

 

 

 

위 식을 이용하면 CPU time을 다음과 같이도 계산할 수 있다.

CPU time = Instruction Count * Cycles Per Instruction * clock cycle time

             = Instruction Count * Cycles Per Instruction * (1 / clock rate)

 

 

 

참고) computer organization and design 5/e by Patterson & Hennessy

       이혁준 교수님 컴퓨터구조와논리 2020 봄학기 수업

'ARCHITECTURE' 카테고리의 다른 글

Instruction type (MIPS)  (0) 2020.04.11
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함