1 개요
공정 미세화로 인해 CPU의 트랜지스터 집적도가 늘어나면서 트랜지스터 숫자당 방열면적은 줄어드는 데 비해 각 트랜지스터당 전력소모는 크기에 비례하여 줄어들지 않으면서 원활한 열방출이 어렵게 되고 그에 따라 발열 문제를 해소하지 못하면서 CPU의 클럭증가가 4GHz 정도에서 멈출 것이라는 이론.
관련 이슈는 학계에서 꾸준히 제기되어 왔으나 본격적으로 대중들에게 이슈화가 된 것은 실제로 x86 계통의 빅보스인 인텔이 펜티엄 4 프레스캇에서 3.8GHz을 찍고 나서, 발열 문제를 견디다 못해 결국 보다 저클럭의 코어 시리즈로 갈아탔기 때문이다. 이후 "4GHz의 벽"이란 말로 자주 기사화되면서 용어도 대중화되었다.
사실 x86이 아니라면 미친듯이 클럭을 높이는 것이 가능하긴 하다. 그 증거로 비 x86 계통에서는 4GHz를 넘는 소자도 꽤 있다. 그러나 동작 속도를 올리는 것보다는 트랜지스터를 많이 박아서 처리 능력을 올리는 게 더 낫기 때문에 잘 그렇게 하지 않을 뿐. IBM의 경우에는 양 쪽 모두를 따르고 있다.
결국 근본적인 원인은 전압을 더 이상 낮추는 데 실패한 것이기 때문에, 학계에서는 이를 공식적으로 전력 장벽(power wall)이라는 용어로 부르고 있으며 딱히 4GHz를 벽으로 지칭하지는 않고 있다. 이에 따라 이 문서도 전력 장벽, 파워 월 리다이렉트를 통해 들어올 수 있다. 좀 더 확장된 최신 용어로 다크 실리콘이라고 하기도 한다.[1]
2 원인
"전력 장벽" 현상의 근본적인 원인은 2가지에서 기인한다.
- 첫째, 개인용 CPU의 전력 소비가 100W를 넘어서면서 더 이상 전력 소비를 늘리면 냉각시키기 곤란한 수준이 되었기 때문이다.
- 둘째, 지금까지는 CPU에 공급되는 전압을 낮춰서 동일한 전력으로 더 높은 성능을 뽑을 수 있었는데, 더 이상 전압을 낮추기 곤란해지면서 이 방법으로 성능을 끌어올리기 곤란해졌기 때문이다. [math]P_{dynamic} = \alpha C V_{DD}^2 f A[/math]인데, 여기서 좌변인 [math]P_{dynamic}[/math]은 CPU에 공급되는 전력의 총량이다. 우변의 C와 A는 트랜지스터들의 집적도에 비례하는 값이며, [math]V_{DD}[/math] 는 공급 전력의 전압, 그리고 [math]f[/math]는 클럭 진동수이다.[2] 즉, 전압이 떨어지면 트랜지스터를 많이 심거나 클럭을 크게 올릴 수 있다는 말이고, 이에 따라 실제로 지금까지 CPU의 필요 전압은 점점 낮아져 왔다. 하지만 어느 순간 더 이상 전압을 낮추면 전류가 새어버릴 수 있는 지경까지 도달했고, 결국 전압을 더 낮출 수 없게 되면서 이런 꼼수(?)로 성능을 더 확보하는 것이 곤란해진 것이다.
무슨소린지 모르겠다(간단하게 전압의 제곱을 쓰는게 핵심이다. 전압을 절반(1/2)으로 낮추면 전력 소모는 1/2의 제곱인 1/4이 되버리기 때문에, 미세공정으로 전압을 낮추면 우왕 굿! 이 수백nm 단위까진 통하던 이 동네의 상식이었다. 물론 이제는 생각없이 이런 짓하다간 '누설전류 지옥'을 맛보게 된다.)
이 두 가지 원인이 합쳐지면서, 더 이상 개인용 싱글코어 x86 시스템에서 클럭 수를 높여서 성능을 높이는 것이 곤란해진 것이다.
3 전개
2004년에 4GHz벽이 공론화 된 이후 10년이 지난 2014년 시점에서는 오버클럭이든 정규클럭이든 터보클럭이든 4GHz를 넘나드는 CPU는 개발, 출시된 상태이다.
예를 들어 오버클럭을 통해 4GHz를 넘기는 경우는 현재로서는 흔한 편. 하지만 인텔 넷버스트 마이크로아키텍처 시절에는 4GHz를 넘기려면 사제 쿨러등의 노력이 꽤 필요했다. 여기서 더해 오버클럭 덕후의 최종 진화형인 액체질소(...)를 통해 거의 8Ghz까지 끌어올리는 변태들도 존재한다. 대표적인 사례로 펜티엄D 940 프레슬러를 액체질소를 이용해 7.5Ghz까지 끌어올린 사례.
그 후 인텔 코어2 시리즈로 넘어가면서 오버클럭을 하여 4GHz를 넘기는것은 적당한 사제쿨러와 적당한 뽑기운만 있으면 예전보다는 비교적 쉽게 가능해졌다. 4GHz를 비교적 쉽게 넘기던 모델은 E5200, E8400등의 울프데일 듀얼코어 모델들.
네할렘 아키텍쳐를 사용한 최초의 데스크탑용 32nm 프로세서 인텔 코어 i 시리즈(1세대) i3 클락데일이 4GHz정도는 기존 울프데일에 비하여 쉽게 넘어서게 되었지만 보급형 모델에다가 클락데일이 출시 타이밍이 어정쩡했기때문에 오버클럭으로 유명한 모델이 되지는 않았다.
그리고 샌디브릿지가 출시되면서 오버클럭을 이용한 4GHz 돌파는 매우 쉬워졌다. 배수락이 해제된 K모델의경우 기본쿨러로도 4.2GHz정도는 가벼웠고 사제쿨러만 받쳐준다면 4.5GHz가 국민오버에다가 뽑기운만 좋다면 5GHz도 충분히 가능하다.
이렇게 인텔 CPU의 경우 세대가 거듭될수록 공정미세화로 인하여 오버클럭이 쉬워짐에따라 4GHz는 껌이 되어가는 듯 했으나.. 아이비브릿지, 하스웰로 넘어가면서 오버클럭능력이 점점 저하되는 추세이다. 이유는 코어와 IHS사이의 처리를 숄더링이 아닌 서멀구리스 접합방식으로 바꾸면서 생긴 간격 때문. 뚜따를 하면된다뚜따를 해서 리퀴드프로를 바르더라도 솔더링을 따라갈순 없다.그래도 4GHz정도는 껌으로 찍힌다.
AMD의 경우에는 조스마, 잠베지, 비쉐라[3] 등의 제품군으로 넘어오면서 기본 클럭이 높아짐에 따라 4GHz 오버클럭 또한 가볍게 가능해지면서 옛말이 되어버렸다.
오버클럭이 아닌 기본클럭을 보자면 2011년 3월달에 기본클럭이 4.4GHz(!)인 제온 X5698의 등장으로 4GHz의 벽을 부수는 듯 했지만 6코어중 2코어만 살린데다가[4], 이 제품은 실제 출시까지는 이어지지 않고 엔지니어링 샘플만 소수 발견되어서 잘 알려지지 않았다.
그 후 AMD에서 기본클럭이 4GHz에 옥타 코어인 FX 8350 비쉐라를 출시함으로서 일반적인 컴퓨터 환경에서의 4GHz의 벽은 무너졌다. 근데 하스웰 코어 i5 3.4Ghz한테 밀리잖아? 안될꺼야 아마. 이후 AMD A 시리즈에서도 기본클럭이 4GHz인 제품을 내놓으면서 확인사살.
AMD에서 5GHz를 찍는 FX-9590을 출시했다. #
그래봤자 벤치에서 코어 i7제품군에게 털리는건 기본. 넷버스트 아키텍처냐 4GHz 이상의 클럭은 펜티엄 4마냥 코어당 성능을 올리려고하는 짓이다. 9590같은 경우엔 전성비나 가격 모두 못잡아서 찾기 힘들어진 것을 생각하자.발열도 가격에 걸맞게 높다(...)
인텔도 기본 클럭 4GHz에 부스트 클럭 4.4GHz인 하스웰 리프레시[5] 코어 i7 4790K가 출시되었다.브레인박스 기사
그러나 기본클럭에서도 발열이 안 잡히는 불량딱지가 눈에 띈다는게 문제.###### 인텔曰:교환되어도 온도는 높을것이다 아니 이게 무슨 소리야. 풀로드 못버티는게 비정상인데 풀로드 건다고 비정상적 행위라니 (물론 LinX처럼 CPU 내부유닛 단위까지 100% 쥐어짜는 프로그램은 일반적인 PC 사용 범주가 아닌건 맞다. 일반적인 프로그램으로 단순히 CPU 점유율 100% 건다고 LinX 수준의 온도가 결코 안 나온다. 다만 설명을 저 따위로 해놓으면 아는 사람 입장에서 빡치는 것도 맞다. 사제 프로그램인 LinX는 설정 편하게 도와주는 껍데기일 뿐이고, 실제로 돌아가는건 엄연히 수치연산의 표준이자 슈퍼컴퓨터 성능측정 벤치마크의 대표주자인 Linpack을 인텔에서 최적화한[6] 인텔 공식 라이브러리인데? 개발자용 라이브러리만 있는게 아니라 실행 가능한 상태로 배포되기 때문에 LinX없이 직접 돌려볼 수도 있다. [7] 고갱센터 직원의 한계 그리고 AVX 2를 쓰는 연산 위주의 프로그램들은 대부분 LinX에 근접한 부하(=온도)를 보인다.)
후속작인 i7 6700k에서는 기본클럭 4GHz에 부스트 클럭 4.2GHz로 기본클럭은 그대로지만 부스트클럭은 하향됐다. 발열을 잡기 어렵긴 했는 듯.
물론 클럭은 낮아졌어도 인텔 스카이레이크 마이크로아키텍처의 클럭당 성능 상승으로 인해 성능은 향상되었다.
3.1 실제 성능
클럭이 아닌 성능으로 보면 양상이 다르지만, 그래도 클럭 기준으로 보는 이유는 대중화된 이름이 '4GHz의 벽'인 점도 있지만 아래 실체 항목에서 설명하듯이 클럭상승이 주된 트렌드에서 탈락한 결정적인 계기가 되었기 때문이다.
4GHz의 벽에 정통으로 걸린 장본인인 펜티엄4의 기반 설계인 인텔 넷버스트 마이크로아키텍처에 대한 얘기 중 하나가 청사진상 10GHz까지의 로드맵이 있었다는 점인데, 이정도 성능은 이미 능가했다고 할 수 있다. 우선 같은 클럭 싱글코어만 써도 펜티엄4보다 AMD 애슬론 64 시리즈가 평균 20%이상 빠르고, 애슬론64보다도 인텔 코어2 시리즈가 20%이상 빠르다. 그 이후에도 세대가 바뀔 때마다 클럭이 같아도 최소 5%이상의 성능향상이 이루어지고 있으며, 요즘 쿼드코어는 멀티코어를 잘 못 쓰는 프로그램에서도 싱글코어 대비 1.5배 향상은 있다고 볼 수 있기 때문에(암달의 법칙의 그래프 기준) 대중 계산해 봐도 4GHz 하스웰 리프레시는 4GHz 펜티엄4에 비해 4 [8] * 1.2 * 1.2 [9] * 1.27 [10] * 1.5 = 약 10.97GHz급이라는 얘기가 되며, 각각의 성능향상 항목을 모두 최소치로 대충 계산한 거라[11] 실제 성능은 훨씬 더 나온다고 봐야한다. 실제 스레드당 벤치마크 결과는 큰 향상을 보이고 있다.
거기다 AMD의 cpu중 하나인 fx9590의 경우 8코어에다가 기본클럭 4.7ghz, 터보 코어 작동시 무려 5ghz까지 올라간다.
4 실체
실제로 시중에 4GHz급 CPU가 출시되었음에도 불구하고 해당 단어가 아직도 언급되고 있는 이유는 다른 데 있는 것이 아니다. 그것이 단일코어의 열설계 한계를 지적한 것일 뿐만 아니라 실제로 그것이 이슈화된 2004년도 이후로는 80년대 중반 이후로 18개월마다 두 배씩 증가했던 미칠듯한 CPU 성능 향상의 기세가 완전히 꺾이면서 그동안 관련업계와 소비자가 누렸던 공짜점심[12]이 끝장났고 그에 따라 IT업계의 개발 트랜드도 영원히 바뀌었기 때문이다. 약간 과장해서 말하면 IT업계의 K-T 멸종에 해당하는 사건이 벌어진 것이나 마찬가지였다.
실제로 2004년 4GHz의 벽 이전과 이후의 CPU의 개발 트랜드는 다음과 같이 바뀌었다.
- 그 이후로 다시는 31단계 파이프라인과 같은 깊은 파이프라인 설계가 도입되지 않았으며 후속 프로세서의 파이프라인 단수는 불과 14단으로 1/2 수준으로 줄어들고 말았다.
- CPU 업계의 트랜드가 클럭상승+IPC상승에서 IPC상승+멀티코어로 방향이 바뀌게 된다. 일반 사용자용 프로세서를 멀티코어로 만드는 것은 멀티코어를 제대로 다룰 수 있는 병렬프로그래밍 기법이 굉장히 어려운 탓에 업계에서 가급적 피하고자 했던 방향이었다.
- CPU 다이 안에 CPU 본래의 기능과는 직접적인 연관이 없는 기능들이 통합되기 시작했다. 메모리컨트롤러나 GPU등은 성능상의 잇점으로 인한 동기도 있지만 다이 면적을 늘리는 목적을 위해서도 통합하는 것이 유리해졌다.
- 심지어 10년이 지난 2014년 시점에도 시중에 판매되는 CPU들의 정식 클럭이 4GHz가 넘어가는 경우는 드문데 1994년에서 2004년까지의 CPU클럭은 펜티엄클래식[13]의 66MHz에서 3.8GHz로 무려 60배(!!!) 증가했다는 사실[14][15]을 고려하면 이 문제가 얼마나 심각한지를 깨달을 수 있을 것이다. 그러한 클럭 정체 현상은 2004년의 쿨링 솔루션과 2014년 기준 쿨링 솔루션의 발전 정도와 쿼드코어화에 의한 발열면적 확대, 90->65->45->32->22로의 5번의 풀노드 공정전환이 있었음에도 극복할 수 없었던 현상이다.
- 공짜점심이었던 클럭향상과 달리 이후의 성능향상 방식은 프로그램이 써먹지 못하면 소용없는 방식(암달의 법칙과 이를 더 잘 써먹기 위한 인텔 TSX [16], SSE4.2 / AVX등의 신종 명령어를 통한 IPC향상,OpenMP를 사용한 멀티스레드 프로그래밍, GPGPU 및 CPU에 통합된 내장 GPU를 더 잘 써먹기 위한 AMD HSA, 인텔 퀵싱크 / NVIDIA NVENC / AMD 트루 오디오등 각종 기능 전용 하드웨어 등(모두 프로그래머가 해당 기능을 쓰기 위한 코드를 짜넣어야 하는 것들이다.)의 비중이 극적으로 늘어나고 있다. 프로그래머의 비명소리가 들릴 지경(...) 또한 이 때문에 사용자들 입장에서도 머리아파졌는데 주로 사용하는 프로그램(어플리케이션)에 따라 동일한 예산에서 작은 코어수 높은 클럭과 많은 코어수 낮은 클럭 중 어떤 것을 선택해야 하는 어려움이 생겨났다.[17][18]
따라서 4GHz벽은 이미 깨진 떡밥같은 것이 아닌, 여전히 PC산업의 성장을 제약하는 가장 큰 걸림돌로 작용하고 있는 것이 엄연한 현실.
안테나와 전자파를 다루는 쪽의 연구회, 교수님들은 초고주파의 마이크로스트립설계단위로, 그리고 단순히 전자회로를 가르치는 교수를 무시하는 이야기는 아니지만, CPU만 고주파로 쏘는식으로 하면 장벽을 넘는다고 쉽게 말하는 일부 의견이야 있다.. 그냥 액체질소넣자
멀티코어도 힘겹지만 물리적인 멀티프로세서도 코딩이 쉽진않을것이다. 게다가 멀티코어의 구조적 완성인 코어2듀오를 보자.
전의 제품은 캐시가 독립되어서 전혀 효율적인 구성이 아닌데, 합체해서 공유하고 용량도 다소 증설하여 진정한 통합작업이 되어 성능이 향상되었다.
그런데.. 서버에서나 연산 병렬작업하려고 만든 물리적 멀티프로세서를 하면 일부 작업을 빼면 성능향상이 있을까 싶다. 그러니까 액체질소
5 여담
컴퓨터 중앙처리장치의 속도는 1985년 1MHz이던 것이 매 3년마다 약 4배의 비율로 빨라지고 있다. 한 연구에 의하면, 현재 기술로 이와 같은 발전을 지속할 수 있는 중앙처리장치의 속도 한계가 약 4000MHz(4GHz)라고 한다. 이 연구에서 현재 기술이 한계에 도달할 것으로 예상되는 해는? (단, log2=0.3으로 계산한다.)
- 정답은
FX8350 출시한 년도요2003년이다. log_4 4000 = log 4000 / log 4 인데, log4000=3.6, log 4는 0.6이니까 나누면 6이 나오고 (실제는 그보다 조금 작은 5.983 정도다) 이게 3년 단위이므로 18년 뒤이기 때문.
- 분야는 다르지만 4시간의 벽 문서가 존재한다.
- 비슷한 것으로 4GB의 벽이 있다. 하지만 이쪽은 그냥 주소할당 문제라서 처리단위를 64비트로 업그레이드 하는 것으로 해소되었다.
- ↑ 사실 조금 다른 개념이긴 하다. 4GHz의 벽'이 싱글코어의 전력 한계를 말하는 거라면 '다크 실리콘'은 공정 개선에 따른 전력 소모량 감소가, 공정 개선 시 넣을 수 있는 코어의 수보다 훨씬 적어 한정된 전력 소모량 내에서 넣을 수 있는 최대의 성능(싱글 코어 성능을 높히고 코어 수를 줄이든지 아니면 그 반대든지)을 내는 방법에 대한 내용이다. 거기서 비활성화된 부분을 '다크 실리콘'이라 지칭한다. 삼성, TSMC가 14nm에서 백엔드를 20nm로 유지하는 이유도 이것.
- ↑ 여기에서 인용했다.
- ↑ 기본 오버드라이브가 4Ghz인 모델도 있다.
그리고 공식적으로 8Ghz 까지 오버 가능하다. - ↑ 다만 이건 어쩔 수가 없는 게 만약 6코어나 4코어제품군이였다면 4.4Ghz라는 고클럭을 달성할만한 수율이 제대로 나올지도 의문이고 6코어인 걸프타운만 보더라도 발열과 전력소모가 안드로메다로 가는 걸 보면 어쩔수 없는 타협인듯.
- ↑ K버전에 한하여 '데빌스 캐니언' 이라는 이름으로 불린다
- ↑ 당연히 인텔에서 홍보도 한다. 물론 슈퍼컴퓨터 용으로만
- ↑ 단, 저 글은 잠시 LinX 업데이트가 뜸한 타이밍에 나온 글이라 최신 Linpack과 호환이 안 된다느니 하는 얘기는 현재는 맞지 않다.
- ↑ 4GHz 기본클럭
- ↑ 위 20% 이상 빠르다는 두 항목 계산
- ↑ 1.05^5를 소수점 셋째자리에서 버림, 코어2 1세대->2세대->코어i시리즈 1세대->2세대->3세대->4세대의 5차례 성능향상
- ↑ 특히 멀티코어를 제대로 활용할 수 있는 상황이라면 더더욱 차이가 날 수 밖에...
- ↑ 하드웨어가 빨라지면서 이전에 만들었던 소프트웨어를 전혀 손 대지 않아도 자동으로 빨라지는 현상. 즉 소프트웨어 개발자의 입장에서는 그냥 하드웨어 성능향상만 기다리면서 아무 것도 하지 않아도 되는 것.
- ↑ 공식 CPU 명칭은 그냥 펜티엄이다. 이후 코어 아키텍쳐 이후 펜티엄이라는 이름을 보급형으로 낮춰 계속 사용하는 관계로 하드웨어 동호회 등에서 통상 초창기 펜티엄을 최근의 펜티엄과 구분하는 차원에서 펜티엄 클래식으로 부른다. 당연히 인텔 등 제조사의 공식적인 명칭은 아니다.
- ↑ 물론 그에 상응하는 아키텍쳐의 발전 또한 있었으므로 실제 동작속도의 발전은 60배보다 훨씬 컸다. 2004년 펜티엄 4와 2014년 최신 PC를 비교해도 그정도의 속도 향상은 없다. 위 벤치마크 결과를 봐도 1994~2004 10년동안 100배 가까운 속도향상을 보이는데 비해 2004~2014 10년동안은 고작 8~10배 정도의 속도향상을 보여준다.
무엇보다 2014년에 2004년 제조 펜티엄 4에 XP나 7을 깔아서 써도 조금 느릴 뿐 웹서핑 및 개인 업무용으로 전혀 손색이 없다. 그러나 2004년에 1994년 제조 펜티엄 66이나 486DX3 같은 기종에 2000이나 XP를 깔고 할 수 있는 일은 거의 없다. 1994년에는 1984년 제조 8비트 PC는 재활용품 수거장에서나 볼 수 있는 정도였다. - ↑ 더 예전으로 돌아가 1984년과 1994년을 비교해도 8088 4.77MHz과 펜티엄 66MHz로 15배 증가했다. 특히 8/16비트와 32/64비트의 아키텍쳐 차이를 고려한다면 100배 가까이 빨라졌다고 말해도 과언이 아니다.
- ↑ TSX자체는 프로그래머가 직접 멀티코어를 제어하는 것보단 쉽고 편하라고 추가된 명령어지만, 프로그래머가 TSX를 써서 코딩하지 않으면 소용이 없는데다가 TSX를 지원하지 못하거나버그때문에 써먹지 못하는 CPU들에서는 TSX를 쓰지 않고 동작하게끔 신경써야 된다.
- ↑ 뭐 많은 코어수 높은 클럭을 선택하면 좋겠지만 비싸다. 게다가 일정수준 이상에선 오버클럭을 제외하면 가능하지도 않다. 일례로 15년 현재도 기본클럭이 4GHz인 인텔 4C8T(쿼드코어 + HT)는 살 수 있어도, 기본클럭이 4GHz인 인텔 8C16T(옥타코어 + HT는 팔지 않는다! '기본클럭이 4GHz인
인텔옥타코어'로만 조건을 한정하면 AMD FX 시리즈가 있지만 이건 IPC가 딸려서 클럭값을 못하니... - ↑ 가장 현실적인 예시로 무려 13년전에 발매된 심시티4의 경우엔 최신기술이 집약된 멀티코어 프로세서로 실행시 버벅거리고 프로그램 자체가 뻗어버리는 현상이 있다. 프로그램 자체가 멀티코어를 아예 지원하지 않기 때문. 반대로 멀티코어 관련 지원이 매우 잘 되어있다고 칭송받는 배틀필드 시리즈의 경우, 총체적인 설계미스로 인텔보다 구리다는 AMD의 프로세서가 물리적인 코어가 많다는 이유로 오히려 더 좋은 프레임을 뽑아준다. 프로그램의 지원여부에 따라서 CPU코어 개수는 약이 되기도, 독이 되기도 한다. 이는 최근 모바일 프로세서 분야에서도 듀얼코어를 고집하는 애플과 다수의 코어를 사용하는 안드로이드 진영으로 양분되어 현재진행형이다.
- ↑ 다만 이 문제는 수학의 정석 오리지널 문제는 아니다. 2000학년도 수능 인문계 24번에서 처음 등장한 문제를 수학의 정석에서 인용한 것이다. 물론 '쎈'이나 기타 다른 참고서에서도 같은 문제를 볼 수 있다. 재미있는 것은 이 문제가 4GHz의 벽 뿐만 아니라 한국 PC현실을 너무나도 잘 보여준 다는 것.
출제자가 80년대 컴덕후?실제 문제는 1985년 1MHz인...으로 시작하는데 1985년 당시 한국에서 가장 유행한 PC는 애플 II+였고 이 기종은 1MHz 클럭을 사용한다.컴덕후가 아닌 애플덕후다. 1985년에 MSX나 SPC-1000 같은 Z80A 머신은 3.59MHz 클럭이다.