링버스를 이용해 CPU의 다이를 파생

 

인텔은 IDF에서 발표한 18코어 대형 CPU인 제온 E5-2600 v3(하스웰-EP) 패밀리에 링버스를 채용했습니다. 인텔이 링버스를 고집하는 이유는 링버스가 1개의 기본 설계로 여러 다이를 파생시키기가 쉽기 때문입니다. 이는 인텔의 버스 선택에서 중요한 요소로서, 인텔이 링버스 외에도 즐겨 사용하는 메시 네트워크 역시 다양한 다이를 파생시키기 쉽습니다.

 

하스웰-E 계열의 최대 구성인 18코어는 4개의 링을 채용합니다. 마주보는 링이 2개가 있으며 그 사이를 버퍼 스위치로 연결하는 구성입니다.  CU 코어와 LL 캐시 슬라이스의 조합으로 마주보는 링 페어에 링 스톱이 있습니다. 또 PCI-E 등의 I/O 링 스톱과 2 링크 QPI의 링 스톱은 왼쪽의 링, 3번째 QPI의 링 스톱은 오른쪽의 링에 있어 이번에 발표된 E5 계열에서는 이 3번째 QPI가 무효화돼 있습니다. 홈 에이전트는 2유닛이며 좌우 링으로 분산되었습니다.

 

1.jpg

 

18코어의 하스웰-E 링 버스 구성

 

2.jpg

 

18코어 구성의 하스웰-E의 다이

 

서버&워크 스테이션용 하스웰 계열은 1개의 기본 아키텍처로 3종류의 다이와 I/O가 차별화된 제품 계열을 만듭니다. 인텔은 네할렘까지 듀얼 프로세서용-EP 계열과 멀티 프로세서용-EX 계열을 따로 설계했습니다. 그 당시엔 코드 네임의 끝에 붙는 EP와 EX가 다이 자체의 차이를 의미하는 것이었습니다.

 

그러나 아이비브릿지 아키텍처의 아이비타운에선 1개의 기본 아키텍처로 서로 다른 다이를 파생시키는 방식으로 전환했습니다. 개별 설계를 하자면 필요한 설계 자원이 방대하기 때문입니다. 그 결과 EP 계열과 EX 계열은 하나의 다이에서 QPI 링크 수나 메모리 버퍼의 유무 등의 차이만 존재하게 됐습니다. 즉 반도체로 따져보면 더 이상 코드네임의 끝에 붙는 EP와 EX는 의미가 없는 말이 됐습니다.

 

구체적으로는 아이비타운에서 서버 CPU도 하드 매크로 레벨의 아키텍트로 설계했습니다. 멀티 소켓용 E7(EX) 계열의 다이를 설계하고 거기서 QPI 링크 등을 줄여 E5(EP) 계열 등을 파생시킨 것입니다. 또 부분적으로 코어와 기능을 줄여 구성이 다른 다이도 파생시키고 있습니다. 아이비타운에선 아래 그림대로 최대 15코어 다이에서 10코어 다이와 6코어의 다이를 파생시켰습니다. 그래서 칩 설계를 따져보면 EP와 EX 뿐만 아니라 싱글 소켓의 E와 EN도 구별하는 의미가 없어졌습니다. 아이비브릿지 세대는 이 다이를 묶어 아이비타운이라 불렀습니다. 여기선 다이가 아닌 아키텍처 자체를 말하기에 8~18코어의 하스웰 다이 패밀리도 하스웰-E 계열이라 부르겠습니다.

 

3.jpg

 

지난 세대 아이비타운의 다이 파생 방식

 

4.jpg

 

인텔은 비슷한 방법으로 PC용 CPU도 1개의 기본 설계로 다수의 파생 다이를 설계했습니다. 아래가 하스웰의 PC용 다이 목록입니다. SoC(System on a Chip) 개발사가 로직 합성으로 파생 다이를 만드는 데 비해, 인텔은 물리 설계와 하드 매크로 유닛을 줄여 파생 다이를 만들어낸다는 점이 차이점입니다.

 

5.jpg

 

PC용 하스웰 패밀리의 다이 목록

 

 

하스웰-E 패밀리

 

인텔은 이 방법을 서버용 하스웰-E 패밀리에도 적용합니다. 데스크탑용 8코어의 하스웰-E 계열 다이와 서버용 18코어 EP 버전의 다이를 비교하면 이것이 잘 나타납니다. 아래 그림대로 8코어 버전 하스웰-E 계열의 다이는 18코어 버전 하스웰-E 계열 다이의 왼쪽 절반을 꺼낸것 같은 레이아웃입니다. 그래서 8코어 버전에서는 다이에 거대한 데드 에어리어가 생겼습니다.

 

6.jpg

 

왼쪽이 데스크탑용 8코어 버전 하스웰-E의 다이. 오른쪽이 서버용 18코어의 다이

 

데스크탑 버전 하스웰-E에서는 CPU 코어 중 오른쪽의 링인 10코어가 없고, 또 오른쪽 위의 3번째 QPI 링크, 오른쪽 아래의 2번째 홈 에이전트가 없습니다. 그러나 DRAM 인터페이스는 2개나 남아 있습니다. 그리고 오른쪽의 중앙 부분에 큰 데드 에어리어가 있습니다.

 

이 하스웰-E 계열 다이의 패밀리를 링버스 토폴로지로 보면 아래 그림처럼 됩니다. 3번째 QPI가 무효화된 EP 구성의 경우 12코어 버전에서는 오른쪽의 6코어에 해당하는 부분이 없어지고 오른쪽의 링버스는 중간에 1링크가 있습니다. 8코어 구성에선 오른쪽의 링이 모두 사라지고 링은 왼쪽만 남습니다. 홈 에이전트도 1유닛으로 DRAM 컨트롤러는 4유닛 모두 1개의 홈 에이전트에 연결됩니다. 메모리 대역은 변하지 않았지만 홈 에이전트는 1개입니다. 다만 홈 에이전트가 받는 메모리 액세스 리퀘스트도 8코어 분량이 됩니다.

 

7.jpg

 

하스웰-E 패밀리의 다이별 링 구성

 

8.jpg

 

 

18코어 버전의 다이 크기는 인텔 IA-32 사상 두번째 

 

여기에 따라 다이 크기와 트랜지스터 수도 크게 다릅니다. 하스웰-E 계열에서 최대 18코어 구성의 다이는 662제곱mm로 아이비타운 15코어의 541제곱mm와 비교하면 22% 정도로 커졌습니다. 하스웰-E 계열과 아이비타운의 다이를 비교하면 아래와 같습니다. 두 CPU의 기본적인 골격은 매우 비슷하며 하스웰이 CPU 코어가 크기에 단순하게 비교할 수 없지만 레이아웃은 달라도 큰 틀에서 유닛 배치가 비슷한 점이 많습니다.

 

9.jpg

 

왼쪽이 15코어 아이비타운의 링, 오른쪽이 18코어 하스웰-E의 링

 

10.jpg

 

왼쪽이 15코어 아이비타운의 다이, 오른쪽이 18코어 하스웰-E의 다이

 

인텔은 멀티 코어 시대에 들어서면서 하나의 CPU 마이크로 아키텍처로 다양한 수의 코어를 지닌 다이를 여럿 만들었습니다. 하스웰 계열은 그 설계 방식을 도입한 제품입니다. 기본이 되는 설계는 PC 계열과 서버 계열의 2가지이며 그것으로 2코어부터 18코어까지 변화를 만들어냅니다. 하스웰에서 파생된 다이는 모두 11종류(양산되지 않은 설계도 있습니다)에 이릅니다. 다이 크기는 2코어에서 100제곱mm 정도의 최소 구성부터 18코어 662제곱mm까지 있습니다.

 

11.jpg

 

인텔 CPU의 다이 크기 목록

 

662제곱mm에 달하는 하스웰-E 계열 18코어의 다이 크기는 IA-32 계열 사상 최대였던 네할렘-EX의 684제곱mm에 가깝습니다. 거대하게 보이는 NVIDIA의 지포스 GTX 타이탄(GK110)도 561제곱mm니 하스웰-E 계열 18코어가 20% 정도 큽니다. IBM의 서버 CPU급 크기지요. 트랜지스터 수도 56억 9천만개로 역대 최고이나, GPU와 비교하면 파운드리 프로세스가 더욱 조밀한 NVIDIA의 GK110이 71억개로 더 많습니다.

 

 

CPU 트랜지스터 수의 증가 속도가 바뀜

 

인텔 CPU의 트랜지스터 수 변화를 돌이켜 보면 재미있는 점을 알 수 있습니다. 인텔은 초기 8086 이후 일정 주기로 CPU의 트랜지스터 수를 늘려 왔습니다. 아래 그림에서 흰색 화살표로 그려진 것이 2년 동안 2배 가까운 속도로 트랜지스터 수가 향상된 경우를 나타냅니다. 그리고 이것이 무어의 법칙이지요. 이걸 보면 최근까지 인텔은 2년마다 약 2배에 달하는 속도로 CPU의 트랜지스터 수를 늘려 왔습니다. 왜 '약 2배'라는 애매한 표현을 쓰느냐 하면 인텔이 주장하는 로직 구역 스케일링이 50%대이기 때문입니다. 2년마다 2배라 치기에는 조금 낮습니다. 즉 이 흰색 라인은 인텔이 주장하는 로직 구역 스케일링에 따른 트랜지스터의 증가 곡선입니다.

 

이때 지표가 되는 트랜지스터 수는 퍼포먼스 PC급 CPU를 가리킵니다. 즉 하이엔드 PC용 CPU는 이전 공정을 쓰는 세대와 비교하면 2배 이상의 트랜지스터 수가 됩니다. 서버 CPU는 일반적인 트랜지스터 수 향상 곡선보다 훨씬 많기에 특별한 경우에 속합니다.

 

12.jpg

 

인텔 CPU의 트랜지스터 수 변화

 

그런데 현재 인텔 CPU 트랜지스터 수를 보면 8086 이후 트랜지스터 수가 늘어오던 그 비율을 지키지 못하고 있습니다. 클라이언트 PC용 CPU의 트랜지스터 수는 지난 2년 동안 2배에 미치지 못했으니 무어의 법칙에 미치지 못하는 양이 됩니다. 오히려 아이비티아운이나 하스웰-E 계열의 하이엔드 서버 CPU가 본래의 트랜지스터 수의 라인에 가까워지고 있습니다.

 

즉 인텔 퍼포먼스 PC용 제품의 트랜지스터 수는 네할렘 세대까지 순조롭게 발전했으나 ~브릿지 세대부터는 성장이 느러져 2년마다 2배라는 속도를 벗어나고 있습니다.

 

 

여러 이유가 얽힌 인텔 CPU의 트랜지스터 수 증가 둔화

 

이유는 여러가지가 있습니다. 우선 인텔의 PC용 CPU군이 다이 크기가 작아진다는 것입니다. 그래서 여기에 들어가는 트랜지스터 수가 CPU세대가 바뀌어도 그리 늘어나지 않게 됐습니다. PC 시장이 부진하니 가격이 떨어지면서 시스템의 비용을 낮춰야 하는 상황입니다. 인텔이 메인스트림 CPU의 다이를 크게 유지하면서 기능을 강화해 비싼 가격으로 판매하기가 어려워진 것입니다. 그 결과 CPU의 다이 크기는 상대적으로 작아지기 시작하면서 트랜지스터 수의 성장도 느려지고 있습니다.

 

13.jpg

 

최근 인텔 CPU의 트랜지스터 수 변화

 

또 원래 비중대로 트랜지스터를 넣으면 기존보다 칩의 다이 크기가 커진다는 이야기도 됩니다. 바꿔 말하면 이 정도의 다이 크기에 넣을 수 있는 트랜지스터 수가 줄어들기 시작했다는 이야기입니다. 이것은 제조 공정 기술 때문이 아니라 CPU설계에서 트랜지스터 밀도가 높아지지 않는다는 이야기이기도 합니다.

 

다만 여기에는 분명한 이유가 있다. 원래대로 로직 회로와 I/O 부분이라면 칩의 트랜지스터 수는 2년마다 2배 가까이 집적도를 높일 수 없습니다. 크기를 줄이기 어려운 I/O 부분이 있기 때문입니다. 그러나 트랜지스터 밀도가 높은 SRAM 캐시가 차지하는 부분이 늘어나면서 트랜지스터 수가 늘어나게 됐습니다. 사실 과거에도 펜티엄 II/III때 트랜지스터 수가 2년마다 2배의 트렌드를 벗어난 적이 있었습니다. 그러나 SRAM L2 캐시를 넣으면서 무어의 법칙에 복귀할 수 있었지요.

 

하지만 현재 인텔의 PC용 CPU는 캐시 용량은 일정한 수준을 지키고 GPU 코어의 면적을 늘리는 방향으로 가고 있습니다. 과거에는 각 세대마다 캐시가 배로 늘어났으나 최근에는 그렇지 않습니다. 캐시를 늘리는 효과는 일정 수준에서 더 이상 뚜렷하게 커지지 않는데 이미 인텔의 PC용 CPU는 그 수준에 도달한 것입니다. 다이 크기가 작아지기 시작한 것과 SRAM의 성장이 멈추는 시기가 맞물려 퍼포먼스 PC용 CPU의 트랜지스터 수 성장이 느려지고 있다 봅니다.

 

어쨌든 트랜지스터 수 증가의 둔화는 인텔 CPU의 방향성 변화를 나타냅니다. 다음 스카이레이크 세대에서 어떻게 될 지 기다려 봅시다.

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