왜 ARM과 PowerVR이 헤테로지니어스 구조 컴퓨팅인가

 

ARM을 비롯해 모바일용 프로세서를 만드는 제조사는 왜 헤테로지니어스 구조 컴퓨팅으로 빠르게 돌아선 것일까요? ARM이나 Imagination Technologies(PowerVR), Texas Instruments 등의 회사는 AMD의 헤테로지니어스 구조 컴퓨팅 프레임워크 HSA(Heterogeneous System Architecture)을 도입한다고 지난달 발표했습니다. 이 회사들이 헤테로지니어스 구조 컴퓨팅으로 향하는 이유는 모바일 SoC(System on a Chip)에 다크 실리콘이라는 문제가 가로막고 있기 때문입니다.

 

01.jpg

 

02.png

 

AMD Fusion Developer Summit(AFDS)에 모인 ARM과 Imagination Technologies등의 HSA에 가입한 기업들

 

다크 실리콘은 소비 전력의 한계 때문에, 실리콘 칩에서 전력을 공급해 켤 수 없는 지역을 가리킵니다. 실질적으로는 CPU와 동시에 켤 수 없는 부분이며, 아무 것도 할 수 없어 쓸 수도 없는 지역을 의미합니다. 제조 공정의 미세화가 진행되면 다크 실리콘이 차지하는 면적이 커집니다.

 

그 이유는 칩 회로의 전력 소비량이 제조 공정의 미세화 만큼 줄어들지 않기 때문입니다. 미세화와 함께 CPU 코어가 작아져도 전력 사용량이 그 만큼 줄어들진 않습니다. 그 때문에 칩을 쓸 수 있는 CPU 코어 수가 조금씩 줄어듭니다. 이것이 다크 실리콘 문제로, 이 문제를 피하기 위해 헤테로지니어스 구조 컴퓨팅을 쓰지 않으면 안된다는 상황이라는 게 ARM의 설명입니다.

 

다크 실리콘이란 단어는 최근 반도체 업계의 유행어 중 하나입니다. 우주 물리학의 암흑물질이 연상되지만, 여기서 '다크'라는 건 전력 사용량 때문입니다. 최근 1년 동안은 프로세서나 반도체의 학회, 제조사의 컨퍼런스에서 꼭 나왔던 단어이기도 합니다. NVIDIA 설계 담당도 다크 실리콘이란 말을 자주 썼습니다. 하지만 유행하기 시작한 것은 비교적 최근의 일입니다.

 

ARM은 몇 년 전부터 다크 실리콘이라는 용어를 사용해 왔습니다. 2010년의 프로세서 컨퍼런스 hot Chips에서는 캘리포니아 산 디에고 대학에서 GreenDroid 칩을 발표하면서 이 용어를 사용했습니다. 널리 사용된 것은 2011년에 열린 컴퓨터 아키텍처 심포지엄인 International Symposium on Computer Architecture (ISCA”11)에 Dark Silicon and the End of Multicore Scaling이라 제목을 붙인 논문이 나오고 나서입니다. 올해의 ISCA12에선 이 문제를 다룬 워크샵 Dark Silicon Workshop 2012이 같이 열렸습니다. 워크샵의 시작 강연은 그린드로이드의 연구자가 맡았습니다.

 

ISCA의 논문 타이틀에서 알 수 있는 것은, 다크 실리콘이 멀티코어의 스케일링을 막는다는 것입니다. 즉 다크 실리콘 때문에 멀티코어에서 CPU 코어 수를 늘릴 수 없게 됩니다. 적어도 대칭형 멀티코어 시대가 끝났음을 의미합니다. 고성능 PC와 서버용 CPU는 코어 수를 점점 늘려 왔지만 그 시대가 끝나려 합니다. 그리고 모바일 SoC는 한발 먼저 그 문제를 맞이하게 됩니다.

 

 

CMOS 스케일링의 둔화가 낳은 다크 실리콘

 

다크 실리콘 문제의 핵심은 무어의 법칙과 CMOS 스케일링의 괴리에 있습니다. 무어의 법칙에서는 12~18개월 마다 같은 크기에 넣을 수 있는 반도체의 집적도가 2배로 늘어납니다. 실제로 지난 십 몇년 간 CMOS는 2년 마다 프로세서 노드가 리니어에서 0.7배로 크기가 줄어들어 집적도가 2배가 되는 주기를 지켜왔습니다. 그리고 무어의 법칙과 함께 CMOS 스케일링에 따라 디바이스 크기 뿐만 아니라 구동 전압이나 게이트 산화막 두께 같은 요소도 줄어들어 왔습니다. 아래 슬라이드는 2006년 Hot Chips에서 IBM의 키노트 스피치에 나온 것으로, 왼쪽이 전통적인 스케일링을 나타냅니다.

 

03.png

 

지금까지의 CMOS 스케일링

 

이 CMOS 스케일링은 DRAM의 발명자로 유명한 IBM의 Robert H. Dennard씨가 시작했기 때문에 Dennard 스케일링이라고도 부릅니다.

 

지금가지의 CMOS 스케일링에서는 트랜지스터 크기가 줄어들면서 게이트 길이가 원래의 70%로 짧아지면, 구동 전압(Vdd)도 70%로 떨어지고 정전 용량도 70%로 줄어들고, 게이트 산화막 두께(Oxide Thickness:Tox)도 마찬가지로 얇아집니다. 게이트 산화막이 얇아지면 트랜지스터의 스위칭이 빨라져 트랜지스터가 1.4배 빠르게 동작할 수 있게 됩니다.

 

전통적 CMOS 스케일링에서는 동작 클럭이 1.4배가 되면서 늘어난 전력은 정전 용량이 70%로 줄어든 것으로 상쇄할 수 있었습니다. 그리고 면적 당 트랜지스터 수가 2배 늘어나면서 따라 늘어난 전력은 전압을 70%로 줄이면서 상쇄할 수 있었습니다. 전력은 전압의 2승에 비례하기 때문입니다. 그 때문에 전력 사용량을 늘리지 않고 트랜지스터 수를 2배로, 클럭을 1.4배로 하는 것이 가능했습니다. Dark Silicon Workshop 2012의 Is Dark Silicon Useful?이란 슬라이드는 그 관계를 잘 보여주고 있습니다.

 

04.png

 

그러나 130나노미터 이후에는 실제 Vdd가 전통적 스케일링의 규칙에서 벗어낫고, Tox도 차이가 나기 시작합니다. 즉 게이트 산화막 두께는 얇아지지 않고, 전압은 떨어지지 않는 것입니다. 바꿔 말하면 트랜지스터의 고속화와 소비 전력의 절감 속도가 줄어들게 되었습니다. 그 결과 미세화를 통해 트랜지스터 밀도가 향상되면 면적 당 전력이 늘어나게 됩니다. IBM은 2004년부터 이 현상을 전통적 CMOS 스케일링의 종말이라 제기하고, 앞으로 칩 설계에서 큰 장애굼리 될 것이라 설명했습니다.

 

05.png

 

 

공정이 미세화하면서 늘어나는 다크 실리콘

 

전통적 CMOS 스케일링의 종말은 현재 프로세서의 가동율의 벽(Utilization Wall)이 됐습니다. 이게 바로 다크 실리콘 문제입니다. 아래는 UCSD의 Hot Chips 22에서 GreenDroid 프레젠테이션입니다.

 

 06.png

 

가동율의 벽

 

예를 들면, 전압이 줄어들지 않으면 이론적으로 어떤 일이 일어나게 될 까요? 아래 슬라이드가 그것을 설명합니다. 65나노에 4코어를 넣은 칩을 32나노로 미세화하면 이론적으로는 같은 아키텍처의 프로세서를 16코어 넣을 수 있습니다. 그런데 65나노에서 4코어와 같은 전력을 유지하기 위해선, 16 코어 중 4개 코어가 작동할 때 나머지 12코어는 쓰지 않아야 합니다. 가동율이 1/4입니다. 아니면 8코어를 낮은 클럭으로 작동시켜 전력을 억제한 상태로 만들어, 가동율을 1/2로 끌어올리는 방법 밖에 없습니다.

 

07.png 

 

이것과 거의 같은 것을 ARM도 작년 AMD 컨퍼런스 AMD Fusion Developer Summit(AFDS)의 키노트 스피치에서 설명했던 적이 있습니다. 아래는 그 때의 슬라이드로, 아래에 나온 칩에서 검은색 부분이 다크 실리콘입니다. 제조 공정이 미세화하는 것과 동시에 다크 실리콘이 차지하는 부분이 늘어납니다.

 

 08.png

 

AMD Fusion Developer Summit의 키노트

 

09.png 

 

전력 스케일링의 문제가 시스템에 주는 제약

 

작년 ISCA의 Dark Silicon and the End of Multicore Scaling은 이 문제를 로드맵 수치 등을 기초로 실제 프로세서의 성능 효율로부터 모델화해서 추측하고 있습니다. 여기에 따르면 22나노 공정에서도 21%가 다크 실리콘이 됩니다. 그렇게 나온 성능을 비교하면 5공정이 지난 8나노 공정에서도 45나노 공정과 비교해서 7.9배밖에 늘어나지 않는다는 예측입니다. ARM은 "사람에 따라 그 숫자는 다르지만, 다크 실리콘의 면적이 늘어나는 추세라는 게 반도체 업계의 공통 인식이다"라 설명합니다.

 

 

터보 모드도 다크 실리콘 문제에서 시작

 

CPU 코어를 최대한 가동하면 소비 전력이 TDP(Thermal Design Power)를 넘어버립니다. 전력을 공급하지 않는 다크 실리콘, 혹은 전력 소비가 적은 실리콘을 늘리지 않으면 프로세서를 만들 수 없습니다. 이 문제는 현재 프로세서에서 공통된 문제입니다.

 

인텔이나 AMD의 PC&서버용 CPU는 이 문제를 어떻게 대처하고 있을까요? 그 방법 중 하나는 터보 모드입니다. 클럭을 제조 공정이 발전할 때마다 끌어 올릴 수는 없고, TDP에 여유가 있을 때만 CPU 코어의 클럭을 따로 향상시킵니다. 원래대로라면 모든 코어를 4Ghz로 동작시켜야 했을 제조 공정 세대에서, 기본 클럭을 3.4GHz로 두고 터보 모드에서만 4GHz로 높입니다ㅏ. 트랜지스터 딜레이를 단축해 원래 계획한 동작 클럭보다 기본 클럭을 낮춰서 TDP를 맞춘 것입니다. PC에 부하가 높을 경우엔 모든 코어가 풀 가동하는 일이 그리 많지 않기 때문에 이것만으로도 충분합니다.

 

이 방법을 쓰면 실질적으로 동작 클럭을 평평하게 유지해 전력 사용량을 줄일 수 있습니다. 하지만 제조사는 그 반대로 '터보 모드를 써서 클럭을 높였다'고 선전해 적극적인 이미지를 어필하고 있습니다. 마케팅의 마법이라 할 수도 있습니다. 물론 이것만 가지고선 근본 해결이 되지 않으니까 인텔과 AMD 모두 헤테로지니어스 구조 컴퓨팅으로 나가고 있습니다.

 

 

다크 실리콘을 어떻게 채울 것인가

 

제조 공정 미세화에 따라 다크 실리콘이 늘어납니다. 이 문제를 해결하기 위해 우선 다크 실리콘을 쓰지 않고 칩을 작게 만드는 방법이 있습니다. 그러나 I/O 패드 구역은 크기를 줄이기 어렵고 전력 밀도가 높아진다는 문제도 있습니다. 실제로 모바일 SoC(System on a Chip)에서는 전력 밀도가 큰 문제가 되기 때문에 이 방법은 절대로 쓸 수 없습니다.

 

다른 방법으로는 칩의 동작 클럭을 낮추는 것도 있습니다. NVIDIA 케플러가 고른 것은 이 방법입니다. 그러나 CPU 제조사가 가장 주력하는 것은 헤테로지니어스 멀티코어화입니다. 시리얼 태스크에 최적화한 대형 CPU 코어와 패러럴 태스크에 최적화한 GPU/소형 고출력 코어를 조합하는 것입니다.

 

ISCA” 11의 논문 Dark Silicon and the End of Multicore Scaling에선 이 방법을 Dynamic Multicore라 부르고 있습니다. 이것은 CPU 코어와 GPU 코어가 각각 동시에 최대 부하를 받는 경우가 별로 없다는 전제 조건을 내세우고 있습니다. CPU 코어가 최대 한도로 동작할 때는 GPU 코어를 쓰고, 반대로 GPU 코어의 부하가 높을 때는 CPU 코어를 끕니다. 실제로는 동적으로 클럭과 전압을 제어해 유연한 부하 분산도 가능해집니다.

 

이것은 보기에 따라서 다크 실리콘 부분을 GPU 코어에서 메꾸는 것이라 할 수 있습니다. 실제로 현재의 다크 실리콘에 대한 논의는 다크 실리콘 부분을 어떻게 능숙하게 사용할 것이냐는 포인트로 옮겨가고 있습니다. 문제 제기는 끝나고, 다크 실리콘을 살리는 방법에 진행중입니다. 전력 밀도의 문제로 칩 크기를 작게 할 수 없으니, 다크 실리콘을 쓰는 방법 밖에 없기 때문입니다.

 

덧붙이자면 GPU 코어 끝에는 특정 용도에 적합한 회로로 나아간다는 길이 있습니다. 특정 용도나 특정 로직에 적합한 회로를 hard-wired화 하면 전력 효율이 더욱 높아집니다. 특정 가속기로 다크 실리콘을 채워, 보다 효율을 높이는 것, 그린 드로이드가 제안한 아키텍처입니다.

 

10.png 

 

다크 실리콘의 대책

 

11.png 

 

특정 용도 회로를 구현

 

GPU 아키텍처러라면, 닌텐도 3DS에 사용한 DMP의 쉐이더 액셀레이터를 쉐이더 프로세서와 조합하면 딱 이런 방식이 됩니다. 최단 거리에 있는 것이 DMP일지도 모릅니다.

 

 

헤테로지니어스 구조 컴퓨팅에 서두를 필요가 있는 ARM

 

다크 실리콘 문제와 헤테로지니어스 멀티코어의 관계를 간단히 도식화한 것이 아래 그림입니다. 포인트는 다크 실리콘 부분을 어떻게 채우냐는 것입니다. 현재 해결책은 헤테로지니어스 구조 구성에 있다고 생각하는 사람이 많으며, 많은 제조사가 그 방향으로 가고 있습니다.

 

12.png 

 

다크 실리콘 문제와 헤테로지니어스 멀티코어

 

ARM은 다크 실리콘 부분을 지금까지와 다른 사용방법을 쓰지 않으면 안되며, 그 답은 헤테로지니어스 구조 컴퓨팅이라 명확하게 결론을 내렸습니다. 모바일 SoC는 PC용 프로세서와 비교해서 TDP(Thermal Design Power)의 한계가 낮으며, 전력 밀도도 큰 문제가 됩니다. AMD와 제휴해서 HSA(Heterogeneous System Architecture)의 소프트웨어 스택에 대응하려는 것은 헤테로지니어스 구조 컴퓨팅을 빠르게 시작할 필요가 있기 때문입니다.

 

13.png  

 

ARM이 생각하는 대책

 

14.png

 

GPU가 그 해답

 

15.png

 

GPU의 과제

 

NVIDIA가 테그라의 GPU 코어를 범용 CUDA 코어로 하려는 것도 같은 이유에서입니다. 테그라 3에서는 쿼드코어(물리적으로는 4코어) 구성을 취했지만 앞으로는 CUDA 코어를 넣고 이것을 늘리는 방향으로 나갑니다. 이것도 다크 실리콘 문제가 있기 때문이라 보입니다. CPU나 GPU는 지금 다크 실리콘 문제를 중심으로 움직이고 있습니다.

기글하드웨어(http://gigglehd.com/zbxe)에 올라온 모든 뉴스와 정보 글은 다른 곳으로 퍼가실 때 작성자의 허락을 받아야 합니다. 번역한 뉴스와 정보 글을 작성자 동의 없이 무단 전재와 무단 수정하는 행위를 금지합니다.