"2011년에는 10 GHz CPU가 나올 것이다" by 김민장

라스 베가스에서 있었던 1996년 COMDEX (CES가 뜨기 이전의 대표적인 박람회), 인텔의 그 당시 CEO였던 앤디 그로브는 키노트 연설에서 2011년에 등장할 프로세서에 대해 다음과 같은 이야기를 하였다 (기사 원문).

2011년에는 현재(1996년)의 프로세서보다 200배나 강력해진 인텔 프로세서가 나올 것이다. 10억 개의 트랜지스터10 GHz의 속도를 가질 것이다. 현재의 프로세서는 400만 개의 트랜지스터에서 200 MHz로 작동한다.

By 2011, he projected, there will be a 200-fold increase in processing power on Intel processors, chips that will by then integrate 1 billion transistors and run at dizzying speeds of 10 GHz and 100,000 mips (millions of instructions per second). This compares with today's 4-million transistor processors running at 200 MHz and approximately 200 mips.

그러나 2011년의 현실은? 1996년의 예측 중 절반은 맞고 절반은 틀렸다.

 

먼저, 무어의 법칙은 여전히 현재 진행형이다. http://en.wikipedia.org/wiki/Transistor_count

2008년, AMD와 Nvidia의 각각 10억 개의 트랜지스터가 집적된 GPU 칩을 출시하였고, CPU에서는 6-코어 Core i7이 2010년 10억 개의 벽을 허물었다. 8-코어가 있는 Nehalem-EX 칩은 23억 개나 된다. 이번에 새롭게 출시한 인텔의 Sandy Bridge는 20만원 대에 구입이 가능한 쿼드코어+GPU 모델이 무려 9억 9천만 개로 10억 개에 거의 근접한다. 그러니 1996년의 예측 중 10억 개 트랜지스터는 기가 막히게 적중했다. 값 비싼 고성능 컴퓨터도 아니고 일반 데스크탑에서도 10억 개 트랜지스터가 2011년에 구현된 것이다.

2011년 ISSCC에서 선보일 “A 32nm 3.1 Billion Transistor 12-Wide-Issue Itanium Processor for Mission Critical Servers” 라는 논문에서 보듯, 무려 31억 개의 트랜지스터를 모은 칩도 나온다.

Sandy Bridge 다이 그림: 면적은 216mm^2, 대략 가로 2cm x 세로 1cm, 손가락 두 마디 정도.

 

그러나 클럭 속도는???? 오버 클럭을 하시는 분에게는 4 GHz도 꽤 익숙한 속도지만, 현재 주로 팔리는 AMD나 인텔의 CPU는 보통 2 GHz 후반이다. 10 GHz에 비하면 턱없이 낮으므로 이 예측은 크게 빗나갔다.

CPU trends graph

위 그래프에서 보듯 트랜지스터 개수는 기하급수적으로 늘지만 클럭, 전력 소비, 클럭 당 성능은 2005년부터 거의 정체되어 있다. 이렇게 된 이유는 다들 잘 아시겠지만, 높은 클럭에서 전력 소비와 발열을 도저히 감당 못하기 때문이다. 과거에는 늘어난 소비 전력 만큼 성능을 얻을 수 있었지만, 이제는 한계에 부딪힌 것이다.

1989년에 처음으로 컴퓨터를 샀는데, 그 컴퓨터는 본체 가격만 49만 9천원이었던 (부가세 포함이었나 제외였나 기억이 가물) 금성 PC 파트너. 512 KB 메모리, 8086/8088 CPU가 있었던 컴퓨터. 그러나 본체를 열어보니 인텔이 아니고 어디 듣보잡 AMD가 적힌 CPU가 있어서 금성과 같은 대기업도 사기 치나라고 슬퍼했었는데, 암튼 이 8086 CPU의 속도는 8 MHz. 그 때 한창 납땜하면서 아카데미표 4석/6석 라디오 만들던 시절이라 라디오 주파수에서나 보던 단위가 왜 CPU에 있나 갸우뚱 했던 시절. 그리고 1991년에 무려 20 MB 하드가 장착된 AT 286 컴퓨터를 사는데, 클럭 속도는 곱절로 뛰어 16 MHz !!

(잠시 중고등학교 시절에는 공부 하느라 컴퓨터 업그레이드는 없다가)

대학교 들어가면서 이제 업그레이드를 밥 먹듯이 했는데

  • 1997년 펜티엄, 166 MHz
  • 1998년 펜티엄 II, 266 MHz
  • 1999년 펜티엄 III, 450 MHz
  • 2000년 펜티엄 III, 933 MHz
  • 2001년 셀러론 투알라틴 1.3 GHz (최초로 오버 클럭를 했던 CPU)
  • 2003년 펜티엄 4, 2.4 GHz

정말로 클럭 속도가 두 배씩 뛰었다. (물론 펜티엄 4의 구라 클럭에 대해서는 자세히 논하지 않음)

그런데 여기에는 댓가가 따르는 법. 1989년의 컴퓨터는 무소음 무발열 그 자체. 컴퓨터 뚜껑을 열어봐도 어떠한 히트싱크 혹은 팬이 없었다. 286 컴퓨터도 사실 파워 팬만 조용히 돌아갔었고 발열은 거의 없었다. 그러나 요즘에 내 컴퓨터에는 이런 쿨러가 달려있다.

  

잘 아시다시피 펜티엄 4의 그 미친듯한 발열은 그 당시 쓰던 수랭 쿨러의 물 온도를 45도로 유지할 만큼 엄청 났었다. 이 거대한 삽질로 AMD에게 떡실신 당한다. 업계와 학계는 이제 고클럭은 그냥 캐삽질이구나라고 깨닫고 멀티코어로 달리기 시작했다. 또한, 클럭 속도 경쟁은 끝내고 이제는 에너지 효율성으로 싸우기 시작했다. 과거처럼 두 배씩 뛰던 클럭 속도는 더 이상 보기가 어렵게 되었다.

과거에는 무어의 법칙으로 늘어난 트랜지스터로 싱글코어 성능을 두 배씩 높일 수 있었는데, 이제는 그게 힘들어서 코어 수를 늘리고 있다. 그런데 데스크탑 컴퓨터에서 6코어 8코어는 솔직히 삽질이다. 샌디 브릿지의 10억 개 트랜지스터라면 6코어도 너끈히 만들고도 남는다. 그런데 그렇게 많은 코어가 필요한 일이 극히 없다. 스타크래프트 2도 듀얼코어까지만 제대로 활용된다. 그래서 인텔의 샌디 브릿지나 AMD의 퓨전에서 보듯, 일반 데스크탑 컴퓨팅에서는 쿼드코어 정도로 유지하고, 남는 트랜지스터를 GPU나 기타 기능을 넣기에 이르렀다.

 

그렇다면 클럭 속도는 더 이상 희망이 없는 것일까?

그렇지는 않다. 기하 급수적은 아니더라도 선형적으로는 꾸준히 증가하고 있다. 2006년부터 산 CPU를 정리하면:

  • 2006년 8월, Core 2 Duo E6400, 2.13 GHz
  • 2008년 12월, Core i7 920, 2.66 GHz
  • 그리고 다음주부터 팔리기 시작할 Sandy Bridge i7-2600은 3.4 GHz

보다시피 클럭 속도는 그래도 선형적으로나마 증가한다. 그 이유는 꾸준히 공정이 미세화되고 (65nm → 45nm → 32nm) 전력 효율을 개선해서 클럭을 높일 수 있는 여지를 더 만들 수 있었기 때문이다. 특히 32nm 공정의 클락데일부터 속도가 상당히 개선되었다. 아래는 이제 출시될 32nm 공정의 샌디 브릿지의  클럭 속도 이다.

이제는 가장 저렴한 100불짜리 CPU가 3 GHz에 이르렀다. 4년 전에는 열심히 오버 클럭을 하거나 아니면 1천불 짜리 익스트림 최상위 CPU에서나 가능했던 그 속도가 대중화가 된 것이다. 특히 인텔은 1세대 Core i7(Nehalem)부터 자동 오버클럭 기술인 터보 부스터를 넣어서 싱글 스레드 작업 속도를 더 빠르게 하고 있다. 아마 가장 많이 팔릴 i5-2500은 기본 클럭 3.3 GHz에 최대 3.7 GHz까지를 CPU가 보장한다.

컴퓨터의 속도, 엄밀히 말해 주어진 작업이 완료되는데 걸리는 시간은, 메모리 대역폭 같은 문제를 제외하면, 클럭 속도에 거의 비례한다. 그래서 과거에는 클럭 속도 경쟁이 가장 중요했고. 지금도 많은 사람들이 오버 클럭에 열을 올린다.데스크탑 컴퓨터는 민첩성이 더 중요하므로 싱글 코어의 클럭 속도가 굉장히 중요하다.

일견 클럭 속도 경쟁이 끝난 것처럼 보이지만, 반대로 쿼드코어보다 많은 수의 코어를 일반 데스크탑 CPU에 넣는 것이 큰 삽질임을 볼 때, 과거 만큼은 아니더라도 AMD와 인텔의 클럭 속도 경쟁은 계속 될 수밖에 없다. 특히 데스크탑 컴퓨터는 모바일 CPU처럼 소비 전력을 계속적으로 낮춰야 하는 부담감이 덜하다. 60-90와트 수준은 사실 충분히 허용되므로 각 회사는 에너지 효율을 개선하고 그 공간에 다시 클럭 속도를 높여 싱글 코어 성능을 높이는데 더욱 경쟁할 것이다.

 

결론: 아. 이제 AMD는 정말로 어떡하나요.....


핑백

덧글

  • 희야♡ 2011/01/07 16:24 # 답글

    AMD는.. 웁니다. a(TI IT)a
  • elixir 2011/01/07 16:28 # 삭제 답글

    결론에서 빵 터졌습니다.

    늘어나는 코어를 잘 활용해야할 저희 소프트웨어 엔지니어의 어깨만 자꾸 무거워지고 있습니다. 그 무게가 이미 10G급 파워는 되는 듯 합니다. ㅎㅎ
  • 잉여 2011/01/07 19:55 #

    에이 그건 MS급이나 구글 본사급 엔지니어들이 고민할 일이죠

    고민안하셔도 돼요 ㅋㅋ
  • Niveus 2011/01/07 16:55 # 답글

    으헝헝헝 AMD 어쩌죠 ㅠ.ㅠ
  • 구멍난위장 2011/01/07 18:05 # 답글

    1989년도에 산 금성컴퓨터가 아직까지 있다면!!! 키보드는 사수하십시요.
    그당시 금성은 일본 ALPS에서 라이센스로 기계식 키보드를 제작해서 번들키보드로
    제공했는데 이것은 지금까지도 명기로 불릴정도로 초초초초초 명품입니다.
  • ㅇㅅㅇ 2011/01/07 18:36 # 삭제 답글

    인텔이 슈퍼맨이라면 AMD는 렉스 루터같은 느낌
    아아, ㅠㅠ
  • Darkttd 2011/01/07 19:11 # 답글

    결론.. ㅠㅠ.. AMD가 역전의 칼날을 갈아야 소비자들도 즐거워질텐데요.
  • windily 2011/01/07 19:40 # 답글

    결론이 정말.. AMD도 큰 거 하나 터트려 주었으면 좋겠어요. ㅠ_ㅠ
  • 다물 2011/01/07 21:23 # 답글

    인텔이 p4 시절에 3.8ghz까지 갔다가 포기하고 듀얼코어로 방향을 바꿨죠. 그런데 3.4×4=13.6ghz이니 어찌보면 맞다고 할 수 있겠네요.
  • 김민장 2011/01/08 00:25 #

    3.4 x 4 = 13.6 이런 셈법은 말이 되지 않습니다.
  • 계란소년 2011/01/08 13:23 #

    당시엔 멀티코어에 대해 생각하지 못 했다고 생각하면 틀린 말은 아닌데요...
  • 김민장 2011/01/08 13:58 #

    멀티코어가 새로운 것도 아니고 30년전부터 멀티프로세서는 있었고 이제는 이게 칩 하나로 들어온 것이죠. 기본 개념은 태초부터 있어왔어요. 그리고 3 GHz CPU 두 개 있으니 6 GHz가 된다는 셈법은 예전 유행했던 컴퓨터 업체의 광고인데 말이 안 되는 것입니다. 100 km/h 달리는 자동차 두 대 있어도 200 km/h로는 못 달리는 이유와 동일합니다.
  • 계란소년 2011/01/08 14:21 #

    멀티 프로세서와 멀티코어는 사용자 입장에는 같을지 몰라도 생산자 입장에서는 엄청난 차이가 있습니다. 저 10Ghz란 말이 생산/제조 관점에서 나온 거란 걸 생각하면 이때 멀티코어와 멀티 프로세서는 다른 것이죠. 앤디 그로브는 한 코어에 트렌지스터를 무한정 때려박으면 클럭도 무한정 오르리라 생각했기에 싱글 10Ghz를 생각했지만 여기에 한계가 있었고 이 문제를 우회하면서 성능 향상을 도모할 방법으로 멀티코어를 모색한 거죠.
  • 김민장 2011/01/08 14:27 #

    (뭔가 의미 전달이 잘 안 된 것 같은데 긁적...) 멀티 프로세서와 멀티 코어(정확히 말해 칩 멀티프로세서)의 컴퓨터 공학적 의미로는 shared cache를 제외하고는 거의 같고요, 말씀대로 팹 수준에서는 엄청난 난관이죠. 왜냐면 반도체 수율도 좋아야하고 집적도도 높아야 하니깐요. 그러니까 반도체 여유가 생기기 시작한 2000년대 중반부터 나오기 시작한 것이에요. 과거에는 반도체가 남아돌면 캐시 늘리고 파이프라인 깊게 파고 그랬는데 그게 에너지 효율이 극히 낮으니 이제는 코어 여러 개, 이제는 GPU, 시스템 칩까지 올리기에 이르렀죠.

    제가 하고자 한 말은 3 GHz * 4 = 12 GHz 이게 말이 안 된다는 것임..;
  • 계란소년 2011/01/08 14:32 #

    이론과 실제의 문제네요. 이상적인 멀티 스레드 코드를 돌리는 3Ghz 쿼드코어와 싱글 스레드 12Ghz는 같다고 볼 수 있죠. 물론 이상입니다만, 어차피 10Ghz 가설 자체도 이론이고 이상이니깐...
  • 김민장 2011/01/08 14:36 #

    아닙니다. 지금 계란소년님은 스루풋을 기준으로 생각하시고 있어서 그런 착각을 하시는 겁니다.

    3 GHz CPU가 4개 있어도 일반적으로 12 GHz랑 같다고 볼 수 없습니다. 말씀대로 완벽히 병렬화된 코드가 있다고 합시다. 3 GHz 하나에서 단위 시간 당 100개가 처리된다고 하면, 4개가 있으면 단위 시간 당 400개가 처리 되고, 이건 12 GHz에서 400개가 처리되는 것과 같습니다. 이건 단위 시간 당 처리율, 스루풋에 관한 것이고, 클럭 속도는 레이턴시에 의미가 있습니다. "작업 하나를 마치는데 걸리는 시간"은 3 GHz CPU가 아무리 많이 있어도 빠르게 못하죠. 클럭 스피드/싱글 스레드 성능의 의미는 여기에 있는 것입니다.
  • 계란소년 2011/01/08 14:52 #

    헐헐 갈수록 복잡하게 들어가는군요. 전 인텔이 말한 10Ghz가 클럭을 의미하는 게 아니라 성능의 대표지수라고 생각합니다만...성능에서 실제로 중요한 건 '시간 당 얼마나 하는가' 이지 '하나를 얼마나 빨리 끝내느냐'는 아니라고 생각합니다. 이 세상에 일이 1개 뿐인 것도 아니고. 덧붙여 말하자면 비유하신 자동차에서 저는 중요한 건 차의 속도가 아니라 차가 싣고 가는 짐의 양이라 생각합니다. 그게 소위 말하는 컴퓨팅 파워란 것이죠.

    여하튼 제 요점은 싱글코어와 멀티코어가 기술적으로 같을 수는 없다. 그러나 연산능력 이란 측면에서는 같다고 봐도 무방하다-입니다.
  • 김민장 2011/01/08 15:04 #

    스루풋 컴퓨팅도 있고 레이턴시가 중요한 컴퓨팅도 있습니다. 과거에는 말 그대로 속도를 중요시 했다가 이게 잘 안 되니까 동시에 옮길 일거리를 만들어 낮은 속도지만 여러 대를 보내자라고 바뀐 것이죠. 컴퓨팅 파워는 레이턴시/스루풋 두 개로 나눠 생각해야 합니다.
  • 담요 2011/01/08 22:50 # 삭제

    쓰루풋에만 집중하시는 분들을 위한 예제로 간단하게는 CBC encryption의 경우를 들면 되겠군요. 코어가 아무리 늘어도 CBC encryption이 빨라지지는 않고, 생각보다 많은 일들이 이런 부류에 가깝겠죠.
  • 김민장 2011/01/09 00:25 #

    레이턴시가 중요한 부분은.... 바로 게임이나 일반적인 데스크탑 컴퓨팅이죠. 괜히 인텔이 터보 부스트를 도입해 조금이나마 클럭 높이려고 하는 것이 아니죠. 왜냐면 이런 프로그램들은 병렬화 하기 어려워서 클럭을 올리는 것이 가장 손쉬운 성능 향상 법입니다. 반면 서버는 스루풋이 더 중요하니까 Xeon 프로세서의 클럭이 그렇게 낮고 대신 안정성이 높은 것입니다.
  • 하늘의별 2011/01/07 21:26 # 답글

    더해서 10GHz가 되네요 ㅋ
  • 역성혁명 2011/01/07 21:57 # 답글

    점점 꿈과 희망이 사라지고 있어요.
  • 레제미스트 2011/01/07 23:51 # 답글

    암드는 그저 울뿐. 불도저의 공개된 자료만 봐서는 네할렘만 잡아도 감지덕지일 듯? 그저 희망은 슈퍼뽕짝라데온브가파워를 받은 통합 CPU일텐데 이번 2600k를 보면 그 희망마저도 슬슬 걱정됩니다.
    암드의 희망은 그저 인텔그래픽감속기뿐.
  • 김민장 2011/01/08 14:22 #

    윈체스터까지는 굉장히 좋았고 애슬론 X2 시절에만해도 고가 정책을 펴는 여유까지 부렸지만 콘로부터 당하더니 영 헤어나오지를 못하네요. 말씀대로 불도저가 Nehalem만 따라잡아도 성공할 듯 합니다. AMD가 지금 인텔에 비해 공정 미세화가 6개월 이상 뒤쳐지니 따라 잡기 힘듭니다.
  • 샤유 2011/01/08 03:00 # 답글

    미세화 공정도 한계가 있지 않나요. 터널링...
  • 김민장 2011/01/08 05:54 #

    그렇죠. 일단 32 -> 22 -> 15까지는 되는 것 같고 그 이후에는 저도 잘 모르겠습니다.
  • ...... 2011/01/08 11:35 # 삭제 답글

    ...... 저... 적절한 결론이다........
  • 2011/01/08 13:01 # 삭제 답글 비공개

    비공개 덧글입니다.
  • 익명 2011/01/08 14:09 # 삭제 답글

    '인텔의 샌디 브릿지나 AMD의 퓨전에서 보듯, 일반 데스크탑 컴퓨팅에서는 쿼드코어 정도로 유지하고, 남는 트랜지스터를 GPU나 기타 기능을 넣기에 이르렀다.'라고 하셨지만 불도저 아키텍처는 코어의 폭장을 위해 구조의 효율화를 택했지요. 옥타코어가 데스크탑 라인업에 있기도 하고요, K10을 사용한 퓨전 APU인 라노의 라인업도 2세대 불도저 아키텍처로 대체된다고 하죠. 적어도 AMD에게 있어서는 틀린 얘기겠죠.
    인텔이 클럭이라면 AMD는 코어를 택하고 있기는 한데, 이게 암울하다고 보기는 힘들지 않나요? 게임을 제외하면 여기저기서 멀티코어 지원이 늘어나기도 하고요.
  • 김민장 2011/01/08 14:15 #

    말씀대로 데스크탑/서버에 (얘들은 그냥 구조 똑같습니다. 클럭/안정성 차이만 있을 뿐) 이미 6, 8코어 있고 10, 12코어도 나올겁니다. 제가 말씀드린 것은 대중들이 쓰는 메인스트림 멀티코어 CPU에 대한 것입니다. 그리고 현재 게임 중 듀얼 코어라도 제대로 지원하는 것이 얼마 없으며, 거의 대부분의 데스크탑 컴퓨팅 워크로드는 4코어 8코어면 현재로서는 그리고 10년 내에서도 충분합니다. 일부 미디어 인코딩 빼고는 제대로 멀티코어 지원되는 것도 찾아보기 힘들 정도입니다.
  • 김민장 2011/01/08 14:20 #

    참고자료로 http://www.microarch.org/micro43/pages/files/ARM-state-of-the-future-MICRO-2010.pdf

    여기 18,19 페이지 그래프를 한번 보시기 바랍니다. 뭐냐면 2000년, 2010년의 주요 데스크탑 응용의 스레드 활용도를 측정한 것인데요. 보면 큰 변화가 별로 없죠. 대부분의 프로그램이 코어 3개 정도면 충분하다는 이야기입니다. 예외로는 단연코 미디어 인코딩이 있고요(얘는 병렬화하기 용이함).

    불도저 아키텍처는 일단 실제 나와서 성능을 봐야 알 것 같은데요. 특이한 구조로 하이퍼스레딩과 듀얼 코어 사이 정도의 매우 애매모호한 코어와 모듈을 정의한 것이죠 ㅎㅎ 나오게 되면 이제 코어의 개수를 가지고 논쟁이 일 것 같네요.
  • SeHwa 2011/01/08 20:07 # 삭제 답글

    어떤 분(?) 이 쓰신 책 제목 말마따나 앞으로 개발될 모든 개인 사용자가 쓸
    고성능을 요구하는 상용 소프트웨어에서 과연 멀티코어를 최대한 활용해서
    프로그래밍할지가 의문입니다..
    모든 프로그램이 작업을 독립적인 n개로 나눌 수 있는 것도 아니고.. 음..

    술술 흘러가는 것만 보고 있어도 참 재미있네요 =ㅅ=
    갈수록 안타까운 암드.
  • SY Kim 2011/01/21 10:23 #

    가까운 미래(한 10여년?)에는 멀티코어를 활용하지 못하는 SW는 서서히 퇴출될거라고 봅니다.

    그래서인지 요새 업데이트되는 상용 라이브러리들을 보면 서서히 멀티코어를 지원하는 방향으로 가고 있고 멀티코어를 지원 못하는 라이브러리는 점점 퇴출되더군요.

    결국 개인 데스크탑에서도 성능에서 뒤지는 프로그램들은 어쩔 수 없이 멀티코어로 가게되도록 압박받을 수 밖에 없을겁니다.
  • 고인의 명복을... 2011/01/09 17:43 # 삭제 답글

    에휴 amd이제 어떠하나 ㅋㅋ
  • 완소파니 2011/01/09 21:26 # 삭제 답글

    아시아 모델 소녀시대 됬으니 AMD의 아시권 판매는 ㅈㅈ 쳐야됩니다.
  • 2011/01/12 14:37 # 답글 비공개

    비공개 덧글입니다.
  • 구열쓰정 2011/01/13 18:45 # 답글

    저는 78년생인데 컴퓨터 업그레이드 이력이 저하고 거의 똑같네요.
    80286 AT 삼성 알라딘 컴퓨터로 시작해서 중,고등학교때는 공부 하느라 업그레이드가 없다가,
    대학교 입학 하면서 업그레이드 시작.... 옛날 기억이 새록새록 나에요.
  • 멀티코어수업 2013/03/07 17:47 # 삭제 답글

    1등!!ㅎㅎ
  • 멀티코어 수업 2013/04/19 16:42 # 삭제 답글

    1등같은 소리하네
    -_- ㅋ
  • 지각방문객 2015/11/06 00:43 # 삭제 답글

    10GHz CPU 가능합니다. 아니 기가보다 1000배 빠른 테라헤르츠도 가능합니다. 단 현재의 전자공학으로는 불가능합니다. 제가 나중에 제 블로그에 어떻게 가능한지를 올려드리겟습니다.
    http://blog.naver.com/roh_mp3
댓글 입력 영역