컴퓨터(Computer Science)/컴퓨터구조(Computer Arichitecture)

컴퓨터의 성능을 가로막는 전력, Power Wall [컴퓨터구조]

게임이 더 좋아 2020. 5. 17. 19:40
반응형
728x170

 

클럭속도를 높이면 성능이 올라가는데...?

왜 요즘 클럭속도는 높아봐야 4-5GHz 밖에 안되느냐???? 라고 할 수 있다.

 

 

이 그림은 Intel이 보여주는 Clock rate 와 Power의 관계를 나타낸 것이다.

 

 

저기 보면 같이 전력도 클럭 속도도 올라간다. (2004년을 기점으로 정체) -> Power Wall

클럭속도는 정체되어있지만 분명 소비전력이 줄어드는 발전이 있다.

소비 전력을 줄이는 발전도 물론 발전이다.

그런데 사람들은 전력을 더 쓰더라도 속도를 원한다.

하지만 그럴 수 없는 이유가 있다.

 

 

예를 들어보자

 

 

 

분명 새로운 CPU가 더 소비전력이 낮아졌다.

즉, 발전을 하긴 했는데...? 클럭 속도는 예전 것이 더 빠르다.

 

 

그냥 소비전력 상관없이 클럭속도 올려!!!라고 할 수 있겠지만

소비 전력이 올라가면 당연히 열을 받는다.  근데 열 받으면 성능이 하락한다.

 

 

**이것이 바로 Power Wall이다.

전력을 높이면 열이 받아 성능이 떨어지고.. 낮추면 클럭속도가 느려지고. trade off 관계이다.

 

 

전력만 올라간다고 성능이 증가하는 것이 아니라 전력에 따른 냉각도 고려해야 한다는 것이다.

그래서 소비 전력을 줄이려는 노력도 고성능을 안정되게 공급하려는 좋은 발전이다

 

 


 

 

프로세서 하나로는 한계가 있구나..를 깨달은 사람들은

 멀티 코어, Multi core의 시대를 가져왔다.

**멀티 코어란 칩 위에 여러 개의 프로세서들이 있는 것을 의미한다.

 

즉, 생각하는 뇌가 많아졌으니 계산할 부분을 나눠서 계산하자!! 가 된 것이다.

이것이 Parallel Programming 의 필요성을 가져왔고

 

프로그래머들에게 병렬적으로 실행될 것을 고려하고 프로그램을 짜라는 계기가 되었다.

(우리가 좋아하는 게임에서 또한 그렇다.  컴퓨터가 아무리 좋아도 프로그래머가 8코어 PC임에도 쿼드 코어만 쓰게 구성했다? 그러면 8코어 전체의 포텐셜을 끌어내지 못한다는 것이다.)

 

물론 병렬 실행이라는 것은 Instruction 수준에서의 것으로 하드웨어가 실행하기 때문에

프로그래머에게는 보이지 않는다.

 

 

 

하지만 역시나 병렬 프로그래밍이 뜻대로 되지 않는다.

 

 

왜냐면.. 어렵다.

 

 

프로그래밍 하기가 어렵다.

우리는 sequential 프로그래밍에 익숙해져 있지만 parallel 프로그래밍은 여러 것이 동시에 실행된다는 점에 있어서 어렵다.

또한 모든 코어에 대해 Load가 동등하게 걸리느냐의 문제도 있다.

마지막으로 코어 간 통신과 동기화를 최적화하기 어렵다는데 있다.

 

여기까지만 알고 다음으로 넘어가자

 


 

 

그러면 얼마나 에너지를 쓰길래 지금 클럭속도가 정체가 된거야??

라고 생각할 수 있다.

 

우선 우리는 무어의 법칙에서 집적도가 18개월-24개월마다 2배로 늘어난다고 했다.

 

집적회로의 주 기술인 CMOS(Complementary Metal Oxide Semiconductor)가

에너지를 잡아먹는 것이 2배로 증가한다고 보면 된다. 

 

**주로 트랜지스터가 0에서 1 그리고 1에서 0으로 바뀌는 스위칭(ex 0->1->0)에서

동적 에너지(dynamic energy)가 많이 쓰인다.

 

Dynamic Energy

 

 

*1/2 의 의미는 0->1, 1->0 만 생각해서 그렇다.

 

 

 

Frequency switched는 클럭 속도와 관련되어 있다. 

Capacitance load는 출력 단자에 연결된 트랜지스터의 개수와 관련되어 있다.

 

 

위에 있는 그림의 1982년과 2004년의 소비 전력과 클럭속도를 보면

 

1982: 12.5MHz, 3.3W

2004: 3600MHz, 103W

 

전력이 30배 증가했고 속도는 거의 1000배 이상 증가했다.

 

**물론 공정기술이 나올 때 마다 전압이 낮아졌고 전압이 낮아져서 소비 전력이 낮아질 수 있었다.

공정기술의 덕분이긴 하다.

 


 

공정기술만 높이면 그럼 계속 발전할 수 있는건가..?

 

하지만 요즘에는 전력을 낮출 수 있는 기술이 있어도

전력을 더이상 낮추지 못한다.

 

더 낮추면 누전이 일어나는데 이는 트랜지스터에서 발생한다.

 

지금도 이미 전력이 누설되고 있는 와중에 더 전력을 낮춰버리면 공정 전체를 통제하기 어렵다고 한다.

 

그래서 지금은 냉각을 어떻게 잘 잡느냐? 에 집중하고 있다.

 

** 동적에너지(Dynamic energy)와 다르게 트랜지스터가 꺼져 있어도

흐르는 누설 전류 때문에 정적 에너지(static energy)가 소모된다. 

그래서 트랜지스터가 꺼져있어도 전력 소모가 일어나게 되고

트랜지스터의 수가 늘어나면 늘어날수록 이러한 문제를 해결해야 할 필요성 역시 커지고 있다.

 

 

728x90
반응형
그리드형