하드웨어 > 리뷰

AMD 불도저, CPU 하나에 8코어 넣은 비밀

/ 1
제목 없음


이 황당한 CPU 아키텍처에 대한 구체적인 이야기를 처음 들은 것은 지난해 대만에서 AMD의 기술 책임자 Chekib Akrout 부사장을 통해서였다. 그 즈음 AMD가 막 벽에 부딪친 클럭당 처리 효율에 대한 질문을 던지자 불도저 프로젝트의 수장인 그는 직접 종이와 펜을 쥐고 그림을 그리기 시작했다.

‘이것이 우리의 답’이라며 내민 종이 속에는 정수 연산 유닛 두 개에 부동 소수점 연산 유닛 하나가 짝을 이루는, 그래서 같은 크기의 다이 안에 8코어 프로세서를 집어넣은, 바로 불도저 프로세서의 핵심 아키텍처였다. 그 불도저 아키텍처가 ‘AMD FX 프로세서’라는 이름으로 우리 앞에 놓여 있다.

 시작부터 새로 그려낸 아키텍처

K10 이후 이렇다 할 아키텍처의 변화를 내놓지 못한 AMD는 불도저 아키텍처를 바닥부터 새로 만들었다고 자신하고 있다. 엄밀히 따지면 시작부터 모든 것을 만들었다기 보다 CPU의 구조를 생각해서 처음부터 새로 구성했다고 볼 수 있다.

AMD는 이용자들이, 운영체제가, 소프트웨어가 프로세서를 어떻게 활용하는지부터 연구했다. 불도저는 이런 패턴을 분석한 결과다. 바로 ‘대부분의 작업에서 정수 연산이 많다’는 점과 ‘CPU의 성능이 확연히 구분되는 것은 부동소수점 연산 능력’이라는 답을 얻었다.

FXCPU_Die.jpg

우리가 CPU라고 부르는 프로세서 안에는 세대를 거치며 메모리 콘트롤러, 노스브릿지, GPU 등 많은 장치들이 들어가 있지만 전통적으로 중앙 처리 장치라는 이름의 본질은 정수 연산을 하는 IP와 부동 소수점 연산을 하는 FP로 정의할 수 있다. 386부터 이른바 코 프로세서라 부르는 FP가 부가적으로 들어가며 더 정밀한 연산을 빠르고 정확하게 해치울 수 있게 되었지만 원래 초기 CPU에는 IP만 들어 있었다. 그래서 정수 연산 유닛을 IP(integer processor)라고도 부르지만 CPU라고 부르기도 한다. 마찬가지로 부동 소수점 유닛 역시 FP(floating processor) 외에 FPU라는 이름도 갖고 있다.

윈도우를 비롯해 웹 브라우징, 워드 프로세서 작업이 주 역할인 PC는 대체로 많은 개수의 코어가 개별적으로 빠르게 작동하는 환경에서 빠르고 매끄럽다고 느끼게 된다.

반면 게임이나 3D 그래픽 작업 등을 돌릴 때는 코어의 개수보다 부동 소수점 연산 능력에 큰 영향을 받는다. 과거 애슬론 시리즈에 들어간 K7, K8 아키텍처가 당시 경쟁하던 펜티엄 4보다 낮은 작동 속도에도 더 빠른 게임 성능을 보였던 이유 중 하나가 FPU의 성능이 더 높았던 부분도 있다.

그렇다면 IP는 작동 속도와 개수를 늘리고 FP는 더 빠른 처리 속도를 보여주면 빠른 프로세서가 만들어진다는 결론을 얻게 됐다. 불도저의 시작은 이랬다.

 

모듈 단위 작동으로 싱글/멀티 상호 보완

그 결과물은 어떨까? 이런 아키텍처에 관한 그림은 보기만 해도 골치가 아프다고 해도 불도저는 한번 볼만 하다. 이런 방식의 프로세서는 처음이고 상당히 흥미롭기 때문이다.

이 그림은 4개 모듈, 8개 코어로 작동하는 FX 프로세서의 다이어그램이다. 불도저는 코어 대신 모듈이라는 단위가 기본이 되는데 하나의 모듈 안에는 IP 두 개가 하나의 FP를 공유한다. 언뜻 보면 좋은 건지 나쁜 건지 판단하기 어렵다. AMD는 FP 하나로 두 개의 IP를 커버할 수 있다고 설명한다. 불도저의 8코어 프로세서는 사실 8개의 IP와 4개의 FP로 이루어져 있는 셈이다.

아래 그림처럼 FX 프로세서의 FP 하나는 두 개의 IP가 자원을 적절히 나눠서 쓰게 된다. 성능이 부족하지 않겠냐는 우려가 있겠지만 AMD는 다른 방향으로 풀어버렸다. FP의 크기를 확 키운 것이다. FP는 물리적으로 한 개지만 기존 아키텍처에 비해 크기를 키운 덕분에 둘이 나누어 써도 무리가 없다고 한다. 두 개의 FP를 하나로 합쳤다고 봐도 될 것 같다.

그렇다면 FP 하나에 IP 두 개를 붙이는 복잡한 구조를 왜 설계했을까? 앞서 이야기한 이점들이 서로를 상호 보완하고 있기 때문이다. 첫째는 멀티태스킹 성능의 향상이다. 이런 구조라면 같은 크기의 다이 안에 더 많은 IP를 넣을 수 있기 때문에 AMD가 추구하는 매니 코어(many core) 방향성과도 잘 맞는다. 윈도우, 오피스 등 일반 작업에서 여러 개의 IP가 많은 작업을 매끄럽게 처리하면 체감적으로 빠르다고 느끼게 마련이다. 물론 불도저는 주어진 공간 안에 8개의 IP를 넣어야 하기 때문에 개별 IP 크기는 다소 손해를 본 구조다. 정확히는 파이프 라인이 가늘어졌다. 이를 커버하기 위해 AMD는 FX 프로세서에 높은 클럭을 준다. 3GHz를 넘나들던 것에서 4GHz가 기준이 되는 수준으로 높아진 만큼 각 IP는 기존 페넘에 들어간 K10 아키텍처에 비해 더 높은 성능을 보여준다.

두 번째는 게임을 비롯해 FP의 비중이 높은 싱글 태스킹 작업에서의 효율성이다. 각 코어의 FP 크기를 키워 처리량을 늘렸고 그만큼 성능 향상을 노려볼 수 있다. 종전 36개의 엔트리 스케줄러를 60개로 두 배 가까이 늘렸고 부동 소수점 연산을 돕는 과학, 재무, 멀티미디어용 명령어셋 AVX와 암호화 애플리케이션에서 성능 저하를 막는 AES 명령어셋을 넣어 부동 FP의 효율을 높이는 데에도 신경 썼다.

요즘 2개에서 4개까지 멀티 코어를 쓰는 게임들이 나오고 있는데 이럴 때는 각 모듈 안에서 하나의 FP에 하나의 IP만 쓴다면 상대적으로 FP가 넉넉하기 때문에 성능이 잘 나온다. 여기에 스스로 작동 속도를 높이는 터보 코어를 더하면 싱글 코어부터 듀얼, 쿼드 코어 정도의 게임들에서는 톡톡히 효과를 볼 수 있다. 4개 이상의 코어를 쓰는 게임에서는 4개까지만큼의 향상은 아니겠지만 8개의 스레드를 처리해 낸다. 우스갯소리로 AMD판 하이퍼 쓰레딩이라고 부르기도 하는데 논리적 확장 코어인 하이퍼 쓰레딩과는 비교하기 어렵다. 여기에 터보 코어 기술도 개선해 모든 코어를 고르게 높이는 All 모드와 일부 모듈의 성능에 집중해 최고 성능으로 끌어올리는 Max 모드를 두는 등 멀티 코어와 단일 코어 작업에 모두 신경을 쓰고 있다.

 

불도저 잠재력 끌어낼 소프트웨어 최적화 시급

이렇게 불도저는 두 개의 IP와 한 개의 FP가 한 조를 이루어 하나의 ‘모듈’로 움직인다. 이 모듈에는 전체 프로세서단에 포함되던 페치(fetch) 등이 포함되고 2MB의 L2 캐시가 들어간다. 이런 불도저 모듈이 두 개면 4코어, 세 개면 6코어, 네 개면 8코어 프로세서가 되는 것이고 각각의 모듈은 노스브릿지와 하이퍼 트랜스포트를 통해 L3캐시, 메모리 등과 연결되는 구조다. 메모리 콘트롤러는 듀얼 채널이다. AMD는 공식적으로 AM3+ 소켓을 지닌 900 시리즈 메인보드 칩셋과 함께 써야 한다고 말하지만 노스브릿지가 메인보드에서 CPU로 옮겨 간 AMD의 특성상 소켓만 맞으면 700, 800 시리즈 메인보드에서도 FX 프로세서를 쓸 수 있다. 그리고 이미 많은 메인보드 제조사들이 초반에 낮은 가격으로 판매할 목적으로 700, 800 시리즈 메인보드를 준비 중이다.

불도저의 첫 제품은 기대하던 그림에 비해 완벽하진 않다. 하지만 주어진 도화지(다이 크기)의 한계 안에서 32nm의 얇은 펜(공정)으로 새로운 생각(아키텍처)을 더해 그려낸 작품이라는 점이 재미있다. 시작에서 얘기했던 펜으로 그린 아키텍처의 그림이 오버랩 되는 것도 무리가 아니다.

처음 듀얼 코어 프로세서가 나왔을 때처럼 이 코어들이 최고의 성능을 내도록 하드웨어와 소프트웨어의 최적화를 거쳐야 할 테지만 AMD는 오랜만의 새 아키텍처로 성능 향상은 물론이고 한정된 자원 내에서 멀티 태스킹이 강조되는 PC와 소프트웨어 시장이 나갈 방향에 대해서도 다시금 생각하게 하는 CPU다. AMD FX 프로세서를 통해 다소 지루한 정체기에 접어든 느낌의 프로세서 시장에 재미있는 긴장감을 기대해 본다.

미디어잇 최호섭 기자 notebook@it.co.kr
상품전문 뉴스 채널 <미디어잇(www.it.co.kr)>



이 기사가 마음에 드셨다면 공유해 주세요
게임잡지
2005년 3월호
2005년 2월호
2004년 12월호
2004년 11월호
2004년 10월호
게임일정
2025
07