벤치리뷰·뉴스·정보/아키텍처·정보분석

[정보분석] 인텔의 2013년 CPU 하스웰로 이어지는 네할렘 개발 이야기

tware 2010. 5. 20. 21:30

 

Pentium 4를 기반으로 하는 계획도 있었던 Nehalem

Intel은 Nehalem (네할렘) 마이크로 아키텍쳐의 개발을 2003 년부터 시작하여 2004 년 중반까지 대부분의 마이크로 아키텍쳐를 결정했다. 2005 ~ 2007 년은 엔지니어링에 썼다. 전체적으로는 제품 출시까지 5년이 걸렸다.

Nehalem 개발 당시에는, 많은 선택 사항을 검토했다. 그 중에는 "Northwood (노스우드 : 130nm판 Pentium4)"를 기반으로 하는 계획과 프롬스크래치(제로부터)에서 마이크로 아키텍쳐를 신개발 하는 계획도 있었다. 하지만, 개발 인력을 절감과 소프트웨어 최적화의 일관성 유지를 위해, Core 2와 같은 "Pentium Pro (P6)" 파이프 라인의 확장을 선택했다.

 또한, Nehalem에 256-bit의 SIMD (Single Instruction, Multiple Data) 연산 "VSSE" 통합 계획이나, Hyper-Threading을 구현하는 계획도 검토됐다. 그와 함께 256-bit 명령을 통합하는 대신 동일한 정도의 die size(반도체 본체의 면적)에 CPU 코어 수를 줄이는 것도 검토 되었다. (256bit 연산을 지원하면 그만큼 코어 크기가 커지니 코어수가 줄어들거나, 다이 면적이 커져서 수율이나, 생산량 가격이 문제가 될 수도... 이런 문제가 아니라면, 전력,온도 문제로 인한 것.)

 Nehalem이 타겟으로 하는 시장으로는, 서버와 모바일(노트북 PC)에 초점을 맞췄다. 의외인 것으로, 데스크탑 PC의 우선도는 내렸다. Nehalem이 현재의 설계로 자리잡은 것은, 서버와 모바일에 유리하다고 판단했기 때문이었다. 데스크톱 & 서버와 모바일 각각 다른 2 종류의 CPU 마이크로 아키텍처를 제공하는 것을 멈춘 것은, 코드의 최적화를 심플하게 하기 위해서 였다.

Nehalem을 개발한 팀은, 현재 2013년의 차기 마이크로 아키텍쳐의 개발을 진행하고 있다 ("Haswell"). Intel은 이러한 Nehalem 개발에 얽힌 비화를 공개했다.

 

 

네할렘 계열 CPU 비교

 

 

5년 걸렸던 CPU 개발을 2년 주기로 단축

올해(2010 년)2월에 미 스탠포드 대학의 공개 강의 EE380에서, Intel의 아키텍트 Glenn J. Hinton (글렌 힌튼) 씨(Intel Fellow, Intel Architecture Group, Director, IA-32 Microarchitecture Development, Intel)는 "Key Nehalem Choices" 라는 제목으로 강연을 했다. Webcast 된 이강의에서, Intel의 CPU 개발의 뒷 무대가 엿보인다.


 Intel은 몇년 전부터 2년 사이클로 신 마이크로 아키텍쳐 CPU를 투입하는 "틱 톡 (Tick Tock)" 모델을 주창하고 있다. 2년 마다 반도체 공정 기술을 혁신 (Tick), 그 중간의 2년을 두고 CPU 마이크로 아키텍쳐를 쇄신(Tock)하는 개발 모델이다. 지난 4년간, 이 모델은 지켜져 왔다. 2006년에 새로운 마이크로 아키텍처인 "Merom (메롬 : Core Microarchitecture)"을 투입 (톡), 2007 년에는 Merom의 45nm 공정판인 "Penryn (펜린)"을 출시(틱), 2008 년에는 신 마이크로 아키텍쳐의 Nehalem을 (톡), 2010 연초에는 Nehalem의 32nm 공정판 "Westmere (웨스트미어)"를 투입(틱)했다.

 Intel은 또한 2011 년에 새로운 마이크로 아키텍처 "Sandy Bridge (샌디 브릿지)"를 (톡),2012 년 경에는  Sandy Bridge의 22nm 공정판 (틱)을 투입하는 것을 밝혔다. 지금에 와서 Hinton 씨에 의해 2013년에는 차차기 마이크로 아키텍처의 CPU가 도입 (톡)되는 것도 명확히 했다.


 틱톡 (똑딱똑딱, 째깍째깍) 모델이 이전 개발 모델과 다른 점은 아키텍처 개발의 스피드다. PC 용 CPU의 개발에는 4~5 년이라는 긴 시간이 걸린다. 예를 들면, "95년의 Pentium Pro (P6)출시에서 다음의 2000년의 NetBurst(Pentium 4)출시까지 5년이 비어있다. 데스크탑에서의 다음 마이크로 아키텍쳐 Merom은 2007년이므로, 7년이 걸렸다. 그것이 틱톡이 모델에서는 2 년 사이클로 단축되었다.

 

 

틱톡 개발 모델

 

 

Intel, AMD의 아이텍처

 

 

 

어둠속으로 사라진 초대 계획 Nehalem

 5 ~ 7년 걸리던 새로운 마이크로 아키텍처의 투입을 2 년으로 단축 할 수 있었던 이유 중 하나는 잘 알려진 대로, 2개의 개발팀이 겹쳐서 CPU를 개발하는 태세일 것이다. Merom과 Sandy Bridge는 이스라엘 북부의 하이파(Haifa) 개발 센터에서 개발, Nehalem과 Haswell은 미국 오리건주 힐스보로(Hillsboro)의 개발 센터에서 개발하고 있다. Hinton 씨는 힐즈보로 측의 리더다.

 2년 사이클이라고 해도, 2 팀이 겹쳐 개발하고 있기 때문에, 실제로 각 CPU 마이크로 아키텍쳐의 개발에는 각각 5년을 쓰고 있다. Merom(메롬)은 2001년에 개발이 시작되고 제품이 출시 된 것은 2006 년. Nehalem은 2003년에 시작해서 제품이 출시된 것은 2008 년말. Sandy Bridge는 2005 년에 시작하여 2011년 초 예정이다. 거의 5년의 레이턴시다.


 참고로 Intel은 2001년부터 Nehalem이라고 말한 코드네임의 CPU 개발을 시작했지만, 이 초대 Nehalem은 2003 년경에 일단 처음부터 다시 검토되었다. Intel의 아키텍트 Doug Carmean 씨가, Intel의 사내 인터뷰 기사에서 2002년에 "2001년은 Nehalem 아키텍처 정의에 썼다"고 말했다. 그러나 Intel이 CPU 개발의 방향을 멀티 코어화로 크게 전환하는 가운데, 이 초대 Nehalem의 계획은 취소됐다.

 

 따라서 현재의 Nehalem의 개발이 시작된 것은 어디까지나 2003 년이다. Hinton 씨는 이전(후기) Nehalem에서는 2003년에 개발이 시작되기 전에도 리서치가 진행됐다고 언급했다. 참고로 Carmean 씨는 현재는 매니코어 CPU "Larrabee (라라비)"의 수석 아키텍트다.

 

 

인텔 CPU 아키텍처 개발 계획의 변화

 

 

2013 년의 CPU는 오리건에서 개발 중

 5년의 개발 주기를 보다 자세히 보면, 아키텍처 정의에 1년 정도, 개발에 3년, 검증 등에 1년에 총 5년 걸리는 것을 알 수 있다. Nehalem에 대해서 말하면, 대부분의 마이크로 아키텍쳐의 결정은 2004년 중반까지 진행됐다. 그러나 실제 엔지니어링은 2005부터 2007년의 3년간을 쓸 필요가 있었다. 2007 년에 테이프 아웃하고 (설계 회로를 공장으로 보냄,이후 셈플 찍음) 이후 1년은 검증 작업이 중심이 된다 (소프트웨어로 치면 베타테스트. 초기는 내부에서 하고, 여러 샘플들을 또 MS와 여러 소프트 개발사에 셈플로 보내죠. 후기에는 각종 언론 매체에도 보내구요. 후기버전 샘플은 소매품이랑 같다고 보면 됩니다. 검증 단계에서 버그가 발견되면 수정. 또 일부 조정. 물런 이럼에도 불구하고 당연히 모든 CPU는 크고 작은 버그가 있습니다. 버그 없는 CPU는 없습니다. 다만 사소한 버그가 (문제) 보통 있는 거죠. 큰 버그는 논란이 되는 거구요. 소프트웨어도 크고 작은 버그가 있는 것과 마찬가지.). 이 단계에서는 아키텍트진은 손이 비기 때문에, 다음의 마이크로 아키텍쳐에 착수하는 것이 가능하다. 그래서 아키텍트는에게는 4 년주기로, 그것이 2 팀 이니까 2 년 주기의 스루풋인 셈이다.

 

인텔 CPU 아키텍처 개발 사이클

 

[고전 2003.02.27] Prescott,Tejas는 5GHz대, 65nm Nehalem은 10GHz이상

 

 

 Hinton 씨에 의하면, 이 태세는 2011년 이후에도 계속된다. "Sandy Bridge가 2011 년으로, 새로운 것이 2013년에 나온다"(Hinton 씨). 2013 년의 CPU는 Hinton 씨의 팀이 담당하고 있다고 한다. 이것이 코드네임 "Haswell(하스웰)" 이라고 추정된다. 코드 네임 자체는 변경되는 가능성이 있기 때문에 불분명 하지만, 2013년에 새로운 마이크로 아키텍처가 있는 것은 확실하다.

 또한 Hinton 씨는 "신 마이크로 아키텍쳐"의 정의도 이전과는 다르다고 설명했다. 현재 Intel은 새로운 마이크로 아키텍처는 반드시 "프롬 스크래치"를 의미하지 않는다. 똑딱이 모델 목록에 줄선 신 마이크로 아키텍쳐는 모두 기본적으로는 P6 (Pentium Pro / II / III) 파이프 라인의 확장판이라고 한다. 기반 파이프 라인은, 과거의 아키텍쳐를 답습, 그것을 확장하는 것으로 개발 시간과 노력을 절감한다. 이 수법도 복잡해진 x86 계 CPU의 개발 시간 단축에 도움이 된다.

 

 

네할렘 블록 다이어그램

 

 

 

소프트웨어 최적화를 위해 마이크로 아키텍처를 일원화

 Intel은, 한때 데스크탑&서버전용 CPU와 모바일 CPU의 아키텍쳐를 다르게 했었다. 데스크탑Pentium 4와 모바일의 Pentium M가 병렬인 때다. 원래 이스라엘의 개발 팀은 모바일 CPU의 개발팀 이었다. 하지만 틱톡 모델을 취하게 되고 부터는, CPU의 마이크로 아키텍쳐를 일원화. 하나의 아키텍처로 데스크톱 & 서버와 모바일 모두를 커버하게 되었다.

 Hinton 씨는 그 이유에 대해서, 소프트웨어 (개발자) 측의 최적화를 심플하게 하기 위함 이라고 설명했다. Pentium 4과 Pentium M이 병렬이었던 때는, 이것이 큰 문제가 되었다고 한다. 데스크톱 & 서버와 모바일에서, 다른 컴파일이 요구되는 것은 어려웠다고 한다.

 현재는 마이크로 아키텍쳐를 일원화에 의해서, 서버에서 모바일까지 같은 베이스 코어를 사용하고 있다. 따라서 소프트웨어의 최적화라는 면에서는 단순하게 되었다. 공통 아키텍처에 의해서 (회로에)낭비가 생겨도, 소프트웨어 측에게, 그런 쪽이 최종적으로 이익이 된다고 보고 있는 것 같다.

 하지만 그 때문에, Intel은 CPU 개발에 대해서 서버부터 모바일까지 다른 시장 요구를 채울 필요를 느끼고 있다. 문제는 각각의 요구가 크게 달라, 서로 상충 관계가 있는 점이다.

 모바일 시장에서는 전력이 가장 중요하며, 특히 평균 소비 전력을 낮출 필요가 있다. 성능은 단일 스레드를 중시하며, 또 비용도 중요하다.

 데스크탑 시장에서는 미디어 프로세싱의 성능이 중요하며, 이쪽도 싱글 스레드 성능을 중시한다. 또 저가부터 고성능까지 확장이 필요하다. (데스크탑 부터 이하로 갈수록 멀티스레드 된 소프트가 적기 때문에 적당한 성능 다 코어보다, 성능 좋고 큰코어 소수가 더 필요한 상태. 최근 신 소프트는 게임도 6스레드 지원하는 경우가 많기도 하지만, 2009년 10년 이정도 까지도 2코어 약간 고클럭이 4코어 약간 저클럭보다 성능이 좋았죠. 인코딩류나 렌더링 같은거 빼고 게임을 포함한 보통 프로그램에서요.)

서버 시장에서는 멀티스레드 성능이 중요해지기 때문에, Hyper-Threading 처럼 SMT

(Simultaneous Multithreading) 기술이 유용하다. 멀티스레드 성능을 올리기 위해, CPU 코어수를 늘리려면 CPU 코어당 전력을 낮출 필요가 있다. 따라서 노트북 PC와 마찬가지로 동적 전력관리가 중요하다. 또 보다 넓은 메모리 주소 공간이나, 신뢰성과 대용량 캐시, 가상화, 큰메모리 용량 대응 등, PC와는 다른 특징이(사양이) 중요해진다.

 

 

 

 

 

 

모바일,데스크탑, 서버 각각의 장단점

 

 

서버와 모바일에 초점을 맞춘 Nehalem

 Intel이 2003년에 Nehalem 마이크로 아키텍처를 정의힐 당시에, 먼저 직면한 문제는 서버에서 모바일까지의 범위에서, 초점을 어디에 둘 것인가 하는 점이었다고 한다.

 결론부터 말하면, Nehalem은 서버와 모바일을 우선했다. 그 이유는 명료하다. Nehalem의 개발이 시작된 2003 ~ 2004년은, Intel이 AMD의 Opteron에 의해 서버 시장에서 도전을 받기 시작한 무렵이다. Intel이 경쟁에 직면했기에, Nehalem에는, 우선 서버에서 경쟁하는 것이 요구되었다. 또, 이 무렵부터 PC 시장은 노트북 PC로의 호황이 진행되기 시작했다." 따라서 서버와 노트북에 높은 우선 순위가 놓였다"(Hinton 씨) 라고 한다. (같은 수의 회로를 어디에 중점을 두고 쓰느냐?, 같은 크기의 회로를 어떻게 활용하느냐?)

 이 결정의 결과, 몇가지 아키텍처 요구가 생겼다. 노트북 PC에 적합하도록, 싱글 스레드에서 높은 성능으로, 또한 듀얼코어에 저비용과 함께 저소비 전력. 한편으로 서버에 적합한 만큼의 CPU코어수의 확장성을 갖는다. 또 서버용의 멀티코어에서는, 낮은 코어 당 전력과 비용으로, 높은 스루풋을 실현한다. 게다가 개발에드는 엔지니어링 비용은 최소로 억제하지 않으면 안된다.

 

 

인텔 다이사이즈 변화

 

pc watch

 

 

네할렘 코어 i7

https://youtu.be/tAWITAq4F2c

블로그 기사를 꾸준히 봤다면 기사에서 이름이나 얼굴을 본 사람들이 나오죠.

당장 이 기사에 나온 사람도 나오구요. 아가씨 귀엽네...-_-;;


[정보분석] 같은 무렵에 시작된 Nehalem과 Larrabee와 Atom


 

[정보분석] 2개의 CPU 개발팀이 경쟁하는 Intel의 사내 전략

 

 

[분석정보] Intel 4번째 x86 CPU 개발 센터 방갈로르

 

 

[정보분석] Intel 힐스보로가 개발하는 CPU 아키텍처의 방향성

 

 

[분석정보] 5W 이하의 저전력 프로세서의 개발로 향하는 Intel

 

 

[고전 1998.11.4] DEC의 Alpha 개발 팀이 대 Intel 진영에

 

 

[정보분석] Merom(메롬) 이후인 Nehalem(네할렘) 과 Gilo(길로)

 

 

[정보분석] 2년 주기로 아키텍처를 쇄신하는 Intel

 

 

[고전 2000.2.25] 인텔 사내경합이 낳은 Willamette 1.4GHz

 

 

[분석정보] Intel의 개발 책임자에게 듣는, Skylake 개발 비화

 

 

[벤치리뷰] 인텔 코어 i5-760 CPU 리뷰