벤치리뷰·뉴스·정보/고전 스페셜 정보

[고전 2004.11.05] 폴락의 법칙을 깨뜨리기 위한 멀티 코어

tware 2005. 12. 11. 02:00

 

너무 늦은 Intel과 CPU 업계의 턴

 

2001년 ISSCC에서의 Gelsinger 씨의 presentation에서 듀얼 코어의 설명


 "Intel도 업계도 모두 더 빨리 턴 했어야 했다." "그것에 대해 실망하고 있다"

 이렇게 말한 것은 Intel의 Patrick P. Gelsinger (팻 P 겔싱어) CTO 겸 수석 부사장 (CTO & Senior Vice President). 그는 3년반 전의 ISSCC의 키노트 스피치에서 가까운 장래에 CPU의 소비 전력이 급증해 공정 기술, 회로 설계 기술, CPU 아키텍처 등 다양한 수준에서의 노력이 필요할 것으로 예측했다. "더 빨리 턴 했어야 했다" 라고 하는 것은,이 문제에 대한 Intel과 업계의 대응에 대한 코멘트다.

 Intel CPU에 대해 말하면,이 "턴"이 가장 늦어지고 있는 것은 CPU 아키텍처의 개발이다. Intel과 AMD 등 CPU 업체의 대부분은 중기적으로 CPU 코어 아키텍처를 변혁 할 필요가있다. 그것은 CPU 진화의 방향성이 전력 효율을 높이기 위해 멀티 코어 (듀얼 코어 포함) 화를 향했기 때문이다.

 Intel과 AMD가 각각 원래 진행하던 차세대 CPU 코어의 개발을 취소한 것은 우연이 아니다. Intel은 2005 ~ 6년에 투입 할 예정이었던 "Nehalem (네할렘)"을 취소, AMD도 같은 시기에 예정되어 있던 "K9" 프로젝트를 그만두고 있다. 참고로, AMD는 "K9 (영어로는 견종 canine과 같은 발음)이라는 이름이 나빴다"(Jonathan Seckler 씨, Senior Product Manager, Microprocessor ​​Business Unit, Computation Products Group)라고 농담하고 있지만, 근본적 이유는 CPU 개발의 방향성이 멀티 코어로 바뀐 것에 있다고 한다.

 일정한 열 테두리 (Thermal Envelop)에 복수의 CPU 코어를 거두기 위해서는 각 CPU 코어의 TDP (Thermal Design Power : 열 설계 소비 전력)를 줄여 성능 / 전력이나 성능 / 클럭을 높일 필요가 있다. 즉, 파워 효율적인 CPU 코어 개발이 열쇠가 된다. CPU 메이커는 그 방향으로 진행되고 있으며, 여기에 와서 파워 효율적인 차세대 CPU 아키텍처의 일부가 보이기 시작했다.

 예를 들어, Intel은 "PARROT (Power AwaReness thRough selective dynamically Optimized Traces)"이라는 매우 높은 효율의 새로운 CPU 아키텍처의 연구 발표를 학회나 Intel Developer Forum (IDF)에서 행하고 있다. PARROT은 CPU의 성능을 향상시키면서 소비 전력을 낮추는 것을 가능하게 하는 아키텍처로 이러한 접근이 Intel의 향후 CPU에 넣어져 갈 것으로 보인다. 또한 AMD도 마찬가지로 효율을 높이는 데 초점을 둔 CPU 아키텍처 (K10?)를 개발하고 있다고 추측된다.

 


전통적인 스케일링의 죽음

 

 

Processor ​​Forum 2004에서 IBM의 presentation


 현재 CPU가 앞이 막혀있는 원인은 공정의 미세화에 의한 스케일링 효과가 어렵게 되고 있기 때문이다. IBM의 Bernard Meyerson 씨 (VP and Chief Technologist, System and Technology Group)는 올해 10월 Processor ​​Forum에서 "The end of classical scaling (전통적인 스케일링의 죽음)" 이라는 말로 이 문제를 지적했다.

 즉, 지금까지는 무어의 법칙에 따라 공정이 미세화 되면 (1) 트랜지스터가 고속이 되고 (2) 트랜지스터가 소형화 되어 비용이 싸지며 (3) 소비 전력이 낮아지고, (4) 더 많은 기능을 칩에 탑재 할 수 있게 되었다. 그런데 트랜지스터가 작아진 결과 구성 요소가 원자 수준까지 미세화 됐다. 즉, 더 이상 작아질 수 없는 한계에 가까워진 것이다.

 예를 들어, 게이트 절연막이 지금처럼 6원자분 정도의 두께까지 얇아지면 원자 1개분의 차이 (두께의 증감)는 33%의 격차가 되어 버린다. 또한 리크 (누설) 전류 급증한다. 그에 따라 절연막 두께나 전원 전압을 스케일 다운하는 것이 어려워 지고있다.

 무엇보다, Meyerson 씨는 이러한 위기는 과거에도 발생한 적이 있다고 지적했다. 그것은 바이폴라 공정으로 제조하고 있던 메인 프레임 프로세서로 "80년대에 같은 모양의 전력의 폭발적인 증가의 위기를 맞이했다. 그러나 이때는 더 소비 전력이 적은 CMOS 공정으로 이행함으로써 문제를 해결할 수 있었다. 이번 문제가 더 해결 곤란한 것은, 그 때의 근본적인 대체 기술이 보이지 않기 때문이다. 그에 따라 트랜지스터 구조의 개량이나 재료의 개량, CPU 아키텍처의 개선 등 다양한 측면에서의 혁신이 필요하다.


폴락의 법칙으로 비효율인 CPU 성능을 향상

 

 

2001년 ISSCC에서의 Gelsinger 씨의 presentation에서 폴락의 법칙 설명


 CPU 아키텍처의 개혁이 필요한 것은 지금까지의 슈퍼 스칼라 CPU가 매우 낮은 효율로만 성능을 향상시켜 왔기 때문이다. 기존의 CPU 아키텍처 방법의 경우 CPU의 트랜지스터 수를 늘려도 선형으로 성능이 향상되지 않는다.

 Intel에 따르면, CPU의 다이 또는 트랜지스터 수를 두배로 늘려도 성능은 약 1.4배 정도 밖에 증가하지 않는 경험법칙이 있다고 한다. 즉, "CPU의 성능 향상은 다이 크기 (트랜지스터) 증가의 제곱근 정도 밖에 안된다"는 의미다. 이 경험법칙을 발견한 것은, Intel의 Microprocessor ​​Research Labs (MRL)의 이사를 맡고 있던 프레드 폴락 (Fred Pollack) 씨, 따라서 Gelsinger 씨는 "폴락의 법칙" 이라고 명명했다.

 폴락의 법칙은 CPU 아키텍처를 일신하고 트랜지스터 수를 두배로 늘려도 성능은 2의 제곱근인 약 1.4 배 밖에 증가하지 않는다. 그러나 다이 = 트랜지스터 수가 2배가 되면 동일한 공정 기술이라면 소비 전력도 2배가 된다. 즉, 지금까지의 CPU는 성능을 1.4배 늘리는데 전력을 2배로 끌어 온 것이다. 매우 비효율적인 방식으로 성능을 늘려온 것이다.

 그래도 이 비 효율성이 지금까지 문제가 되지 않았던 것은 공정의 스케일링에 도움을 받았기 때문이다. 반도체 업계는 0.35μm 이후 공정방식1세대마다 트랜지스터의 게이트 길이 등을 "0.7 배 (0.7X)"나 그 이하로 축소 했다. 트랜지스터 면적은 "0.7X"의 제곱이기 때문에, 0.7 × 0.7 ≒ 0.5X가 된다. 즉, 트랜지스터를 배로 늘려도 같은 다이 사이즈 (반도체 본체의 면적)로 가격이 되는 의미다.

 액티브 소비 전력도 전에는 똑같이 0.7X의 법칙이 효과가 있었다. 소비 전력은 정전용량 × 전압의 제곱 × 동작 주파수에 비례한다. 전에는 정전용량도 전압도 0.7X 씩 낮아졌기 때문에 동일한 주파수라면 소비 전력은 (동일한 주파수에서 동일한 트랜지스터 카운트라면) 0.33X로 떨어졌다. 동작 주파수는 게이트 지연이 0.7X 또는 그 이하가 되므로 1.4 ~ 1.5X 향상되지만, 여전히 소비 전력은 0.5X로 된다. 그래서 트랜지스터 수를 2X로 늘려도 문제가 없었던 것이다.

 

동일한 아키텍처로 1세대 공정 축소
트렌지스터 수
1X
다이 크기
0.5X (공정 축소로 0.5배)
주파수
1.5X
전압
0.7X
소비 전력
0.5X
성능
1.5X (주파수에 의한 성능 증가)
전력 밀도
1X
성능 / 전력
2.8X

 

공정 축소와 함께 새로운 아키텍처를 도입
트랜지스터 수
2X (폴락의 법칙에 의해 1.4배 성능 증가)
다이 크기
1X (트랜지스터수 2배로 크기 2배 x 공정축소 0.5배)
주파수
1.5X
전압
0.7X
소비 전력
1X
성능
2.2X (폴락의 법칙에 의한 경우)
(주파수에 의한 1.5배 x 트랜지스터 2배에 의한 1.4배 성능)
전력 밀도
1X
성능 / 전력
2X (폴락의 법칙에 의한 경우)

 

 

0.13μm 이후 세대에서 전력 효율이 한번에 악화

 

IDF에서의 Intel의 설명 New Paradigms and Metrics for Scalability


 그러나 이미 언급한 바와 같이 현재 CMOS 공정 미세화의 한계에 접근해 공정 축소의 톱니 바퀴가 고장나기 시작했다. 우선 현재는 공정 세대마다 전압은 0.9X 밖에 떨어지지 않게 되었다. 그위에 지연 시간의 축소도 0.7X에서 0.75X로 둔화되고 있다. 그 결과, 새로운 아키텍처를 취한 경우에는 다이 사이즈는 동일하게 막을 수 있지만 소비 전력은 1.5배로 오른다. 그리고 성능 / 전력은 1.2X까지 스케일 업이 떨어진다.

 즉, 지금까지의 방법으로 CPU의 성능을 늘리려 하면 성능 / 전력의 증가가 극도로 낮아지는 것이다. 성능 / 전력 1.2X 것은 동일한 전력 범위 안에서 1.2 배 밖에 성능을 향상시킬 수 없는 것을 의미한다. 그러면 새로운 아키텍처를 투입하는 의미가 적어진다.

 이런 상황에 있기 때문에 일정한 전력 범위 안에서 성능을 근본적으로 늘리려 하면 폴락의 법칙을 깰 필요가 생긴다. 그 비장의 카드가 멀티 코어라는 것이다.

 

동일한 아키텍처로 1세대 공정 축소
트렌지스터 수
1X
다이 크기
0.5X (공정 축소로 0.5배)
주파수
1.35X
전압
0.9X
소비 전력
0.75X
성능
1.5X
전력 밀도
1X
성능 / 전력
1.75X

 

공정 축소와 함께 새로운 아키텍처를 도입
트랜지스터 수
2X
다이 크기
1X (트랜지스터수 2배로 크기 2배 x 공정축소 0.5배)
주파수
1.35X
전압
0.9X
소비 전력
1.5X
성능
1.9X   (원문은 2.2X로 나와 있는데,오타로 보임)
전력 밀도
1X
성능 / 전력
1.2X

 


멀티 코어가 폴락의 법칙을 깬다

 지금까지의 CPU 성능 향상의 효율이 나쁜 최대의 이유는 병렬 실행에 벽이 있었기 때문이다. 현재의 수법으로 CPU 내부에서 실시간으로 명령 스케줄링을 해도 병렬성은 좀처럼 높아지지 않는다. 지금의 슈퍼 스칼라 CPU는 IPC (instruction per cycle)를 높이기 위해 엄청난 명령 스케줄링 기구를 탑재하고 있다. 실행 유닛 이외의 회로 때문에 점점 비대화 된 것이다.

 그렇지만 듀얼 코어라면 폴​​락의 법칙의 벽을 깰 수 있다. 2개의 CPU 코어가 의존성이 없는 2개의 스레드를 병렬로 실행한다면, 이론적으로 최대 2배의 병렬도를 실현할 수 있다. 즉, 다이 크기를 2 배로 해도 이론적인 성능은 2배 가까이 된다. 그러면 이론적 매개 변수는 아래와 같다.

 

공정 축소와 함께 듀얼 코어를 도입
트랜지스터 수
2X (코어가 2개가 되서 트랜지스터수가 2배)
다이 크기
1X (코어2개 x 공정축소 0.5배)
주파수
1.35X
전압
0.9X
소비 전력
1.5X
성능
2.7X

(코어2개 x 클럭 1.35배)
전력 밀도
1X
성능 / 전력
1.2X

 즉, 이론상은 듀얼 / 멀티 코어로 하면, 폴락의 법칙의 속박을 벗어나 현재의 공정 미세화의 막다른 시기에도 효율적으로 CPU의 성능을 향상시킬 수 있게된다. 동일한 전력 범위에 넣는 경우에는 1.75X로 성능을 늘리는 것도 가능하다. 이것을 보면, Intel이 싱글 코어의 성능을 강화하는 노선을 버린 이유는 충분히 알 수 있다.

 하지만 듀얼 코어로 향해도 문제는 아직 남아있다. 우선 Intel의 경우는 이미 싱글 코어 CPU로, 일반적인 PC 시스템의 TDP의 테두리에 빠듯하게 가까운 수준에 도달했다. 그 때문에 듀얼 코어로 하는 경우에는 주파수를 억제해야 한다. 즉, 향후 2 ~ 3세대의 CPU에서는 동작 주파수를 끌어 올리려면 CPU 코어의 전력 효율을 현재의 NetBurst보다 크게 향상시킬 필요가 있다.

 또한 소프트웨어 측의 병렬화 (멀티 스레드)의 한계가 있기 때문에, PC는 당분간 듀얼 코어에 머무를 것으로 보인다. 즉, 공정 세대마다 CPU 코어를 배로하는 것은 어렵다. 따라서 각 CPU 코어 내부의 병렬성 강화도 당분간 필요하다. 그것도 공정 미세화로 소비 전력 저감을 기대할 수 없는 가운데, 소비 전력을 올리지 않고 성능 향상을 실현할 필요가 있다.

 이렇게 보면 Intel은 향후 CPU 코어 아키텍처로 소비 전력을 낮추면서 성능도 높이는 언뜻 보기에 상반되는 요구를 채워 갈 필요가 있는지 알 수 있다. 그리고 Intel의 CPU 개발진은 그 목표를 향해 싸우고 있다. 아마도 그 대답 중 하나가 PARROT이다. 다음 기사에서 PARROT의 내용에 대해 설명하고 싶다.

 

2004년 11월 5일 기사 입니다.

 

등록시 첫번째 작성한 표와 다른 표가 같기 때문에 작성한 표를  아래에 붙여넣기 하고 내용을 수정해서 올린 것인데, 일부 수정이 제대로 안된 상태로 올라간 것이 있었습니다. 이후 수정.

 

[분석정보] 듀얼코어 CPU Smithfield 내년 3분기에 등장

 

 

[고전 2001.02.07] 인텔 폴락의 법칙이 등장 Intel 겔싱어 CTO의 ISSCC 강연

 

 

[고전 2001.02.06] 2010년 CPU 전력은 600W?

 

 

[분석정보] Many-Core CPU로 향하는 Intel. CTO Gelsinger 인터뷰 1/2부

 

 

[아키텍처] 전력 효율성에 초점을 둔 인텔 연구개발 (PARROT)

 

 

[분석정보] K8 이후 크게 바뀐 AMD의 CPU 개발주기

 

 

[아키텍처] 폴락의 법칙에 찢어지고 취소된 테자스(Tejas)

 

 

[분석정보] 모바일 SoC에서 다크 실리콘의 속박