• 컴퓨터에서 성능을 평가하는 방식
여러가지가 존재하지만 대부분의 성능 평가 기준은 시간과 관련이 있다.(실행시간이 얼마나 빠른지)
• 시간 측정 방법
• Clock Frequency
시스템 내의 Clock 신호가 발생하는 속도를 나타낸다.
아래는 단위를 정리한 표이다.
Giga | 10⁹ |
Mega | 10⁶ |
Kilo | 10³ |
Milli | 10⁻³ |
Micro | 10⁻⁶ |
Nano | 10⁻⁹ |
• Clock Cycle Time
Clock 신호가 0 -> 1 -> 0 또는 1 -> 0 -> 1로 변하는데 걸리는 시간
Clock Cycle Time은 Positive 또는 Negative edge 사이의 시간이라고 할 수 있다.
• Clock Rate
Clock Cycle Time의 역수
1초 동안 Clock 신호가 몇 번 바뀌는지 알 수 있다.
그렇다면 Clock Cycle Time은 어떻게 정해질까?
모든 회로가 다 동작할 수 있을 만큼 Clock이 느려야만 정상적으로 동작한다.
그렇지 않으면 정보가 소실되어서 CPU로서의 역할이 불가능하다.
즉, Clock Cycle Time은 Storage element 자체의 영향 + 중간 회로의 복잡도의 영향을 동시에 받아서 결정된다!
• Critical Path Delay
= Logest Propagation Delay(가장 긴 전파시간)
• 실행 시간
Execution time(실행시간) = Clock cycles for program * Clock cycle time
= Clock cycles for program / Clock rate
(Clock Cycle Time은 Clock Rate의 역수이기 때문)
그러나 프로세서가 어떻게 설계되어 있느냐에 따라서 CPU Clock Cycle이 다를 수 있기 때문에 CPI가 자주 사용된다.
• CPI
Cycles Per Instruction (하나의 명령어를 실행하는 데 필요한 클럭 사이클 수)
IPC(Intruction Per Cycle) : CPI의 역수
따라서 다음과 같이 쓸 수 있다.
Execution time = Instructions * CPI * Clock Cycle Time
성능 향상을 위해서는 Clock Rate의 증가(= Clock Cycle Time 감소), 낮은 CPI 또는 명령어 수를 줄여서 달성할 수 있다.
주의할 점이 있는데, 실제로 공식에 숫자를 대입해보면 CPI가 언제나 정확한 성능 지표가 되지 않는다는 사실을 알 수 있다!
• 다른 측정 기준
MIPS : 프로세서가 1초 동안 실행할 수 있는 명령어의 수를 나타낸 지표
명령어 Set을 고려하지 않아서 지금은 거의 쓰이지 않는 지표이다.
MFLOPS : 1초 동안 시스템이 수행할 수 있는 부동소수점 연산의 수를 나타낸 지표
• 벤치마크
사용자는 종종 성능에 대한 지표를 원하기 때문에 다양한 워크로드의 특성을 포함하는 벤치마크를 사용한다.
Relevant : 타겟 시스템에서 실제로 수행될법한 워크로드
Understandable : 결과를 쉽게 이해할 수 있어야 함
Scalable : 시스템 또는 어플리케이션이 달라져도 사용할 수 있어야 함
Acceptance : 판매자와 사용자가 모두 인정해야 함
• Amdal's Law(암달의 법칙)
전체 성능을 제대로 평가하기 위해 얼마나 향상되었는지, 어느 부분에서 향상되었는지를 알아보는 방법
결국 성능에 가장 큰 영향을 미치는 부분을 향상시키기 위해 노력해야 한다!
'CS > 컴퓨터구조' 카테고리의 다른 글
[컴퓨터구조] #6 ISA(2) (0) | 2024.04.23 |
---|---|
[컴퓨터구조] #5 ISA(1) (0) | 2024.04.22 |
[컴퓨터구조] #4 부동소수점 (0) | 2024.04.19 |
[컴퓨터구조] #3 정수표현법 (0) | 2024.04.15 |
[컴퓨터구조] #1 컴퓨터구조 (0) | 2024.04.04 |