CS/컴퓨터구조

[컴퓨터구조] 컴퓨터 성능 계산과 암달의 법칙

happy_life 2022. 9. 21. 08:26

컴퓨터구조에서 성능을 알기 위한 공식은 여러개로, 관련 개념으로 CPI, MIPS 등이 있습니다. 각각의 개념은 무엇이고 어떤 기준으로 컴퓨터의 성능을 평가하는지 알아보겠습니다.

1. 컴퓨터 성능의 기준

컴퓨터 성능의 기준은 무엇일까요? 예를 들어 한번에 커피 한잔을 5분 만에 뽑는 커피 머신 A와 한번에 커피 두잔을 7분만에 뽑아내는 커피 머신 B가 있다면 어느 것이 성능이 좋은 것인가요?

개인의 관점에선 A가 더 좋습니다. 하나만 필요하고 제일 빨리 커피를 주는 것이 더 좋으니까요. 이는 응답시간(Response)을 기준으로 판단하는 것입니다. 그러나 두명의 커피를 주문해야하는 팀의 관점에선 B가 좋습니다. 이는 처리율(Throughput)을 기준으로 판단하는 것입니다. 

 

응답 시간으로 컴퓨터의 성능을 정한다면?

어느정도는 납득이 가능합니다만, 응답시간과 처리율은 상호연계관계입니다. 응답 시간이 단축되면 처리량이 개선되기 때문입니다. 그렇다면 처리량이 개선되면 응답시간이 단축될까요? 정답은 No입니다. 커피 두잔을 7분만에 뽑던 커피 머신 B가 커피 세 잔을 7분만에 뽑아도 응답시간은 여전히 7분이기 때문입니다. 따라서 컴퓨터의 성능은 이렇게 정의할 수 없습니다.

우리는 앞으로 컴퓨터의 성능CPU 실행시간으로 정의해야 합니다. CPU의 실행시간이 짧다는 것은 컴퓨터의 성능이 좋다는 것을 의미합니다.

 

 

 

2. 컴퓨터 성능 분석

앞서 CPU의 성능은 CPU의 실행시간으로 정의된다고 했습니다. 그렇다면 CPU 실행시간은 어떻게 계산할까요? CPU 실행시간 공식은 다음과 같습니다.

CPU 실행시간 = 명령어 개수 X 평균 CPI X 사이클 시간 = (명령어 개수 X 평균 CPI) / 클록속도

 

 

따라서 CPU의 성능에 영향을 주는 요소는 아래와 같습니다.

1. 명령어 개수

2. 명령어 하나를 처리하는 데 필요한 클럭 사이클 수(CPI)

3. 클록속도

 

그런데 각각의 요소는 독립적으로 줄거나 늘지 않고, 각각 영향을 줍니다. 따라서 특정 요소 하나만을 줄이는 것은 거의 불가능합니다.

 

한편, 컴퓨터를 평가하기 위해 또다른 척도가 있습니다. 바로 MIPS와 MFLOPS입니다.

MIPS/MFLOPS

 

 

 

3. 컴퓨터 성능과 관련된 암달의 법칙

컴퓨터의 성능과 관련하여 암달의 법칙이라는 것이 있습니다. 암달의 법칙은 컴퓨터 프로그램은 병렬화해 최적화할 수 있는 부분과 그렇지 못한 부분으로 나뉘므로, 컴퓨터 성능 향상에 항상 한계가 존재한다는 법칙입니다.  n이 최대가 된다고 하더라도, 1-f(병렬화할 수 없는 부분)이 있기 때문입니다. 그 공식은 아래와 같습니다.

 

예를들어 병렬화할 수 있는 부분이 50%라고 한다면, 컴퓨터 성능 향상의 한계는 몇 배일까요? f = 0.5이고 f/n 은 0으로 수렴한다고 하면 정답은 2배입니다. 이를 참고해 암달의 법칙을 계산하고 이해해보면 좋을 것같습니다.