성능이슈 해결하기①(CPU의 성능지표 cpi,ipc,ips...)

728x90

CPU의 성능 지표들

 

1) Clock Speed(Clock Rate)

:  1초에 실행할 수 있는 사이클의 갯수 

 

2) CPI(Cycles per instrction)

 : 한 instrction이 평균적으로 몇 사이클만에 완료되는지를 나타내는 지표, 예를들어 불러오는 load 명령, 저장하는 store명령, 더하는 add명령이 있는데 load명령은 5사이클, store 명력은 3사이클, add 명령은 4사이클이라고 하면 cpi는 이 명령들이 평균적으로 몇 사이클이 소요된느지 나타내는 지표라서 이 예시에서는 cpi가 4라고 할 수 있다.

 

3) IPC(Instructins per cyle)

 : 이 CPI를 뒤집으면 IPC가 된다. 4cpi 이면 1/4 ipc이다. cpi 나 ipc나 사실은 같은 개념이긴하다 .성능을 표현할 떄는 IPC를 더 많이 사용한다. CPI는 낮아야 더 좋은 것이고 IPC는 높아야 더 좋은것이다.

 

4) IPS(Instruction per second)

Clock Speed는 클럭이 얼마나 빨리 움직이는지를 알려주고 IPC는 그 하나의 클럭에 얼마나 많은 코드를 얼마나 많이 소화할 수 있는지를 알려준다. 이 둘을 합쳐서 한번에 보고 싶을 수 있는데 이 때 IPS를 사용한다. IPS는 1초에 실행할 수 있는 Instruction의 개수를 나타내는데, Clock Speed와 IPC를 곱하면된다.

 IPS = (Clock Speed) * (IPC)

 

5) 멀티코어(Multi-Core)

 : 컴퓨터 설명을 보다보면, 듀얼코어, 쿼드코어, 헥사 코어 ,옥타코어 이런 이야기가 많은데

cpu 하나 안에 몇 개의 cpu를 따로 동작하는지를 표현하는 것입니다. 듀얼코어는 2개, 쿼드코어는 4개...

 

이론상으로 듀얼코어는 2배 속도로 빨라져야겠지만 실제로는 50% 정도 향상된다. 프로그램이 실행될 때 동시에 실행 할 수 있는 것과 동시에 실행할 수 없는 작업들이 있을테니, 두 개의 쿼드 코어 중 하나만 일을 하고 하나는 쉬고 있을 시간이 생기게되기 때문이다.

 

요즘에는 거의 멀티 코어를 사용하기 때문에 무조건 클럭 스피드만 높다고 빠른 것은 아니다. 예릉들어 듀얼 코어 4.2GHz와 쿼드코어 3.5GHz를 비교하면, 쿼드코어가 훨씬빠르기 때문이다.

728x90