이번시간에는 CPU 성능 측정 요소와 측정 방법에 대해 알아보도록 하겠습니다. 심심치 않게 보이는 개념이기 때문에 알아둘 필요가 있을듯 합니다.
그렇다면 이제 작업시간과 처리량(처리율)을 구해볼까요?
CPI(Clock cycles per instruction)는 명령어 당 평균 소요 사이클(사이클/개)
을 뜻합니다. 구하는 방법은 아래와 같습니다.
공식 의미 : IC(Instruction Counts)
는 전체 명령어 수를 의미합니다. ICi는 각 하나하나의 명령어를 뜻하며, 각 명령어마다 수행시간이 다르므로 CPIi와 ICi를 곱해준다음 다 더해서 IC로 나눠줌으로써 CPI를 구할 수 있습니다.
추가적으로 CPI의 역수값으로 사이클 당 명령어 처리 횟수(instructions per cycle, IPC
)가 있으며 이는 한 사이클 당 완료 가능한 명령어 개수를 뜻합니다.
Processor Time(작업시간)
을 구하기전에 먼저 Clock Cycles
를 구해야 합니다. 좀전에 위에서 구한 CPI(명령어 당 평균 소요 사이클)에다가 전체 명령어 수를 곱합니다. 그러면 결과는 프로그램이 실행하는 전체 클럭 사이클이 나오게 됩니다.
그리고 나서 Clock time(클럭 주기)
를 곱해줍니다. 그러면 총 Processor Time(작업시간)이 나오겠죠? 보통 Clock frequency(클럭 주파수)
로 많이 쓰는데 여기서 주파수와 주기는 역수관계인것만 알고 있다면 주기는 쉽게 구할 수 있습니다.
예를 들어 Clock frequency(클럭 주파수)가 2.4GHZ라는 말은 1초에 2.4*10^9
번 클럭이 반복된다는 소리이므로 Clock time을 구하면 1번 클럭이 반복하는데 1/(2.4*10^9번)
이 됩니다.
초당 명령 수(Instructions per second, IPS, 처리율)
는 컴퓨터의 프로세서 속도 측정 단위입니다.
TIPS, MIPS, GIPS와 같은 값으로 표현하는 것이 일반적인데 그중 MIPS가 유명합니다. MIPS(밉스, million instructions per second)는 초당 100만 개의 명령을 수행할 수 있는 능력을 말합니다. 컴퓨터의 수행 속도를 나타내는 단위로 사용됩니다.
만약 50 MIPS 성능을 갖는 프로세서가 있다면 초당 5천만개의 명령어를 처리할 수 있음을 의미합니다.
하지만 기종에 따라 같은 작업을 하는데 필요한 명령의 수가 다르기 때문에 컴퓨터의 성능을 완벽하게 반영한다고 보기는 어려우며, 서로 다른 아키텍처의 프로세서 간 성능을 비교할 경우는 보통 벤치마크 테스트를 통해 측정합니다.
그리고 요즘에는 CPU가 발전하고, 단순히 수행 명령 수보다는 실제 데이터 처리량이 중요해지면서 IPS보다는 FLOPS(초당 부동소수점 연산 수, FLoating point Operations per Second) 가 더 중요한 지표로 떠오르게 되었다는 군요.
다음시간에는 컴퓨터 동작에 대해 본격적으로 알아보겠습니다.