9 AMDK10아키텍쳐 아제나AAAAA

971da831be4065a7d249f6eec65a54b7.jpg

아제나의 기술적 진보


K10 '바르셀로나'라는 이름, 그리고 섬세한 내부 구조가 처음 발표 된 것은 개최된 반도체 산업 국제회의 기억하고있다. K10아키텍쳐의 서버용은 '부다페스트', 데스크탑용은 '아제나'다.

이 시점에서 아제나의 주요 특징은 기존의 'K8'코어(애슬론64X2)를 기반으로 같은 65nm공정를 사용하면서 아래에 나열한것이 주요한 개선사항이었다.

◎ 네이티브 쿼드 코어 화
◎ IPC를 개선
◎ 128bit SSE 동작을 지원
◎ 메모리 대역폭을 확장
◎ L3 캐시를 탑재
◎ 가상화 지원 기능 탑재
◎ 전원 관리 기능을 확충

IPC에 대한 최대 개선점은 명령어 인출을 최대 32Byte/사이클로 개선한 것이다. 새롭게 '사이드밴드 스택 옵티마이져'를 탑재한것을 제외한 내부의 파이프라인 구조 자체는 기존의 K8와 거의 같고, 그런 의미에서는 작은 변화였다.

사이드 스택 옵티마이져는 인텔이 '데디케이티드 스택 매니져'라는 이름으로 펜티엄M에서 탑재한 것과 거의 동일한 기능으로 PUSH/POP라고하는 레지스터의 대피/복귀 명령을 ALU를 사용하지 않고 처리하는 기능이다. IPC에 대한 다른 개선 사항은 대체로 기존 회로의 개량이라고만 했는데, 개별 요소가 크게 IPC를 높이는 것은 아니지만, 전체를 조합하여 IPC의 개선이 어느 정도 보장된다는 얘기였다.

다음 포인트는 128bit SSE동작이다. 원래 SSE자신은 128bit연산 명령으로 이것에 맞추어 SSE레지스터도 128bit 폭으로되어있다. 하지만 지금까지 64bit연산기를 2개로 조합 처리하고 있었다. 이 128bit폭으로 확장하여 SSE명령어의 성능을 개선한다는 것이었다. SSE주위 회로는 대개 2배 규모이다. 무엇보다, FPU와 달리 SSE에서는 그다지 복잡한 부동 소수점 연산을 행하는 것이 아니기 때문에 이로 인해 다이 사이즈가 크게 커지는 것은 아니다.

DRAM에 대해서는 '그리폰'코어의 '튜리온X2'에서 도입된 '인디펜던트 DRAM 컨트롤러 모드'를 탑재하고있다. 이외에도 메모리 컨트롤러 주위를 재설계하고, 버스트 전송 동작의 고속화, 하드웨어 프리패치의 증설 등을 행하고있다.

이 시점에서의 프리패치는 직전에 사용되는 주소를 바탕으로 프리패치 대상 주소를 추정하는 주소 기반 기술이다. 명령을 해석하고 프리패치치 대상을 추정하는 'IP 기반 프리패치'가 탑재되는 것은 오늘날의 '라노'도 똑같다.

L3캐시의 탑재는 처음부터 예상되고 있었다. 하지만 AMD의 경우 다이 크기에서 차지하는 코어의 비율이 높고, 제품 경쟁력으로 인텔만큼 저렴한 가격을받을 수 없기 때문에 다이 크기를 늘릴 수 없었다. 따라서 인텔이 투입한 '콘로'(초기 코어2듀오)는 4MB, '펜린'(2세대 코어2듀오)는 6MB의 공유 L2 캐시를 탑재한 반면, 아제나의 공유 L3캐시 용량은 2MB에 불과하다.

마지막 가상화에서는 '네스티드 페이징'이라는 기법이다. 가상화 환경에서 여러 가상 OS가 움직이고있는 경우에는 페이지 액세스시에 두 번의 주소 변환이 필요하게된다.

'실제 시스템에서 가상 주소→실제 시스템의 실제 주소'변환은 CPU내부의 MMU(메모리 관리 유닛)이라는 하드웨어가 처리한다. 이 때 MMU에 대한 캐시로 일하는 것이 'TLB'(변환 색인 버퍼)이다. TLB가 정상 작동한다면 아주 빠르게 변환된다. 문제는 '가상 OS의 가상 주소→실제 시스템의 가상 주소'의 변환이다. 처음에는 이것을 모두 소프트웨어로 처리하고 있었기 때문에 매우 늦었다.

이것을 개선하는 것이 네스티드 페이징이다. '가상 OS의 가상 주소→실제 시스템의 가상 주소'의 변환도 MMU에서 함께 취급할 수있게되고, 이것에 맞추어 TLB의 구조도 확장되고있다. 이 네스티드 페이징이라는 기술 자체는 '퍼시피카'(AMD-V의 개발 코드명)발표 때 이미 존재하고 있었지만, 구현은 아제나에서 겨우 실현된것이다.



엄청난 문제점과 희대의망작에 등극한 아제나

위에 기술적 측면만 살펴보면 매우 성능이 좋을 것 같은 아제나였지만, 막상 뚜껑을 열어 보니 이상한 물건이었다. 확실히 코어 수의 증가나 L3캐쉬의 증가로 K8세대의 '애슬론64X2'와 비교하면 크게 성능을 높히고 있었다. 하지만 당시 경쟁 제품이었던 콘로기반의 '코어2쿼드'와 비교하면 '동일 클럭에서의 성능은 비슷하지만 아직은 미치지 않는다'는 미묘한 위치였다. 성능 면에서 총평은 아마 좀 더 L3캐시가 많았다면 비슷해지지 않았을까라는 느낌이었다.

가장큰 문제는 소비전력이었다. 듀얼코어 애슬론64X2보다 당연히 증가했지만 그 증가폭이 예사롭지 않았다. 2.6GHz클럭으로 등장 예정이었던 '페넘9900'는 최대 소비전력으로 140W를 예정하고 있었을 뿐만 아니라, 이미 평균 소비전력으로 140W를 다 채워버릴 정도로 높은 전력을 소모했다.

결국 우선 '쿼드코어 옵테론'이 발표되지만, 이때의 동작 주파수는 1.8GHz~2GHz정도였고, 데스크탑용 '페넘'이 발표되지만, 이쪽도 2.2GHz의 '페넘9500'와 2.3GHz의 '페넘9600'의 2제품 뿐이었다.


발매가 취소되어버린 B2스테핑 페넘9900

클럭이 낮은 제품 밖에 등장하지 않았던 이유는 기존의 소켓F(옵테론)와 소켓AM2+(페넘)마더보드는 140W에 달하는 높은 전력소모의 프로세서를 사용하는데있어 전력공급이 불안정했기 때문에 더 높은 전력을 공급할수있는 메인보드를 기다릴 필요가있다는 무시무시한 상황 때문이었다. 당연하지만 여기까지 소비전력이 올라가면 동작 주파수를 올려 성능을 올리는 것은 대단히 어렵다. 결과적으로, '동일한 클럭이면 코어2와 상당히 좋은 승부를 할수있다'라고 말하면서, 정작 클럭을 올릴수가 없어서 패배하고 만것이다.

이 외에도, 아제나의 TLB동작에 버그가있는 것이 말에 밝혀지면서 더 나락으로 떨어졌다. 이문제는 2차 TLB에 기록하고, L2/L3 캐시 사이의 '수정 복사'가 동시에 행해진 경우, TLB쓰기가 일부 손상될 수있다는 것이다.(반드시 손상되지는 않는다.) 버그의 크기는 매우 작은 것이지만, TLB의 데이터가 손상될시, 중요한 문제들을 야기하는 위험한 일이었다. 즉시, 2차 TLB를 사용하지 않는 BIOS업데이트가 메인보드 제조사들에게 제공되었다.

하지만 아무리 그래도 이것은 성능면에 미치는 영향이 적지 않았다. 결국 AMD는 즉시 버그가있는 'B2스테핑'대신 버그만을 수정한(전력소모는 그대로) 'B3스테핑'의 제조 및 제공을 개시한다. 하지만 반대로 말하면, 이것은 성능 개선을위한 공정 최적화 기회를 놓쳤다고 할 수 있다.

결국 2.6GHz클럭의 '페넘X4 9950 BE'이 발매되지만, TDP는 140W로 그대로였다. '블랙 에디션'이라고하는 이상 배수해제 덕분에 오버클럭은 수월한데, 수냉이라도 사용하지 않으면 정격 동작도 겨우 가능한 상황이었다. 이 무렵에 인텔에서는 45nm공정으로 소비 전력이 더 낮아진 낮아졌다 펜린기반 코어2듀오가 널리 투입되고 있었고, 45nm판 코어2쿼드-요크필드도 다음 해인 투입 되었기 때문에 AMD에게 승산은 없었다.

무엇보다, AMD도 대책으로서 45nm공정을 사용한 '페넘II'에서 다시 경쟁력을 높이는 데 성공한다. 반대로 말하면 B3스테핑 상태에서 끝나는 등 1세대 페넘은 이른시기에 AMD에서도 포기하고 있었다고 말할 수있다. 페넘II가 출시되면서 페넘시리즈의 일부 저가 제품을 제외한 라인업이 순식간에 사라졌기 때문이다.

TLB버그는 일시적인 것에 지나지 않았으므로, 아제나의 가장큰 문제는 발열이었다. 왜 이렇게 발열이 많은가에 대해서 AMD의 65nm공정의 문제를 지적하는 사람이 많지만, 그것은 틀리다. 왜냐하면 동일한 65nm 공정을 사용한 애슬론64X2와 모바일의 '튜리온64X2'에서는 이러한 문제가 전혀 일어나지 않았기 때문이다.

아마도 AMD는 65nm공정이 초기에 좋았으므로 어떻게든 될 것이라고 판단한듯 하다. 두번째는 AMD의 65nm공정이 이미 말기였고, 개발의 주체가 45nm공정으로 옮겨져 있었으므로, 65nm공정에서는 더이상 개선할 사항이 존재하지 않았다는게 두번째 이유일것이다. 그리고 마지막 크리티컬이 TLB버그였다. 즉, 이 세 가지 요인이 아제나가 망해버린 궁극적인 이유일것이다.


1세대 페넘시리즈의 최후 '페넘9950'

출처: amd, ascii
원문: http://ascii.jp/elem/000/000/646/646906/


[OGTITLE]9 AMDK10아키텍쳐 아제나AAAAA[/OGTITLE]

이 글을 공유하기

댓글(0)

Designed by 테크윈