자유롭게 게시물을 올릴수있는 게시판입니다.
  • 유년추억
  • 학교생활
  • 입시준비
  • 대학생활
  • 군생활
  • 알바생활
  • 취업준비
  • 직장생활
  • 원룸생활
  • 연애중
  • 결혼준비
  • 집안살림
  • 자녀교육
  • 창업준비
  • 이민유학
  • 노후생활
  • 전체보기


개인용 PC 분야의 새로운 시대를 연다. AMD 애슬론64. Part 1.

 


개인용 PC 분야의 새로운 시대를 연다. AMD 애슬론64. Part 1.







     2003.09.16







오는 9월 25일은 오랫동안 컴퓨터 역사의 한 페이지를 장식할 듯 싶다. 바로 AMD에서 개인용 PC의 CPU로는 처음으로 64비트 CPU를 선보일 예정이기 때문이다. 1985년 인텔이 i80386이 처음 선보인 이래로 가장 큰 변화라 할 수 있는 획기적인 사건에 많은 이들의 관심을 모으고 있는 실정이다. AMD에서 선보이는 64비트 CPU인 이름에서부터 심상치 않은 변화를 읽을 수 있다. 과연 애슬론64의 진보된 모습은 무엇인지 하나 둘 씩 살펴보도록 하자.





왜 64비트인가?


애슬론64의 진보된 모습을 살펴보는 것에 앞서 과연 64비트 컴퓨팅이 무엇이기에 이토록 큰 관심을 모으는지에 대해 먼저 알아보는 것이 순서일 것이다. 애슬론64의 진정한 의미를 이해하기 위해서는, 64비트 컴퓨팅에 대해 사전 지식이 반드시 필요하다.















4비트

8비트

16비트

32비트

64비트

인텔 4004

인텔 8008

인텔 8086

인텔 80386

( ?? )


위의 박스는 CPU의 역사에 있어서 처리 용량에 따른 CPU의 첫 스타트 라인을 밟은 자랑스러운 CPU의 모델명이다. 물론 서버를 제외한 PC, 즉 개인용 컴퓨터에 한정지어 설명하는 것임을 참고 바란다. 아직 공식적인 최초의 64비트 CPU의 자리는 공석으로 비어있다. 누가 보더라도 CPU의 주도권은 인텔(Intel)이 가지고 있었으며 지금까지 그런 공식을 지켜왔다.

하지만 2003년 9월 25일이 되면 위의 도표에서 비어있는 64비트 최초의 CPU 자리에는 AMD의 애슬론64가 차지하게 된다. 물론 AMD는 서버와 워크스테이션용 64비트 프로세서를 출시한 적이 있지만 이것은 PC용이 아니다. 또한 경쟁상대가 인텔의 64비트 프로세서 아이테니엄 시리즈이기 때문에 PC용 CPU라 할 수는 없다. 그동안 CPU에서 인텔보다 앞선 기술을 도입하고 꾸준히 기술을 축적해온 AMD는 인텔보다 한발 앞서 x86 기반의 64비트 프로세서를 준비해왔다. 그 결실이 바로 애슬론64인 것이다.

물론 AMD가 인텔보다 빨리 64비트시대를 본격적으로 열었다고 하더라도, 그것이 반드시 인텔보다 뛰어난 성능의 프로세서를 출시했다는 말은 아니다. 아직까지 기술과 성능은 정비례하지 않는다는 것이다. 그 이유는 바로 지금까지 x86의 모든 기술은 인텔이 가지고 있었기 때문에 후발주자들이 따라잡기 매우 힘들었다고 할 수 있다.

하지만 AMD는 독자적인 x86 기반의 64비트 프로세서를 출시함으로써 CPU 역사에 있어서 분명히 인텔보다 앞서 도장을 찍은 것임에는 누구도 부인할 수 없는 사실이 된 것이다. 따라서 앞에서도 언급했듯이 위의 박스의 정답은 인텔의 프로세서가 아닌 AMD 애슬론64라는 것을 알 수 있을 것이다. 이것이 애슬론64의 가장 기본적이고 진정한 의미라 할 수 있다.

64비트라 하면 수학적으로는 32비트의 두 배다. 앞의 박스에서 CPU의 처리용량(비트수)에 따라 구분했다. 왼쪽에서 오른쪽으로 갈수록 처리 용량이 두 배가 빨라진 것이다. 처리 용량이 두 배가 늘어났다는 것은 하나의 클럭에 처리할 수 있는 비트수가 두 배로 늘어났다는 말이다. 즉 8비트 CPU라고 하면 하나의 클럭에 8비트의 데이터를 처리 할 수 있다는 말이다.








» 인텔과 AMD의 다음 무기는 90나노미터 공정의 프레스콧과 해머코어의 애슬론64로 크게 달라진다.

여기서 몇 가지 의문을 가질 수 있다. 요즘은 듀얼 CPU(SMP)를 지원하는 PC를 어렵지 않게 볼 수 있다. 32비트 CPU 두개를 동시에 사용하면 하나의 클럭에 32비트 데이터를 두개 처리 할 수 있으니 64비트 CPU 하나와 동일한 성능을 보일 것으로 생각할 수도 있다. 수치적으로 본다면 정답이라 할 수 있다. 하지만 실체 CPU 구조와 아키텍처를 생각한다면 크나큰 오답이다.

보통 32비트 운영체제에 32비트로 프로그래밍 된 프로그램은 대부분 단일 프로세서에 맞추어져 있다. 윈도우즈 NT 계열의 운영체제는 다중 프로세서를 지원하지만 단지 운영체제의 지원뿐이다. 듀얼 CPU 시스템은 윈도우즈 NT 계열의 운영체제와 SMP를 지원하는 프로그램에서만 제대로 된 성능을 맛볼 수 있다. 즉 항상 듀얼 CPU의 이점을 살릴 수 있다는 것은 아니다. 그렇다면 64비트 CPU와 64비트 운영체제, 64비트 프로그램 이 셋이 조화를 이룬다면 항상 64비트의 빠른 처리 속도를 맛볼 수 있다. 32비트 듀얼 CPU와 64비트 CPU의 차이점은 분명히 다르다는 것이다.

왜 AMD는 64비트를 택했을까? CPU 업계의 리더인 인텔은 아직까지 PC용 프로세서에 있어서 64비트 프로세서 출시 계획은 아직까지 공식적으로 발표된 자료가 없다. 아이테니엄을 생각한다면 x86과 호환되는 프로세서를 출시하지 않을 수도 있으며, 아직까지는 유일한 경쟁상대라 할 수 있는 AMD를 생각한다면 x86과의 호환성을 무시 할 수도 없는 입장이다. AMD는 과연 무엇을 생각하고 있을까?








» 지금의 애슬론XP나 펜티엄4와는 사뭇 다른 구조를 가지고 있지만 32비트 호환성을 갖추었다는 점이 큰 장점이다.

1985년 최초의 32비트 프로세서인 인텔 80386이 등장한 이후 가장 최신 프로세서라 할 수 있는 펜티엄4도 x86 기반이다. 약 20년 가까이 32비트 CPU의 시대가 이어져 온 것이다. 32비트 프로세서를 꾸준히 계량해 온 탓에 혁명이라 할 수 있는 혁신적인 진보는 볼 수 없었다. 이 말은 미래의 CPU를 어느 정도 예측할 수 있다는 말이다. 하지만 클럭이 높아져가고 입출력 버스를 개선한다고 해도 그 성능의 향상은 눈에 띌 정도로 크지 않았다. 어쩌면 성능 그래프가 너무도 정확히 잘 맞는다고 할 수 있다. AMD의 꾸준한 프로세서의 성능향상 노력의 결과 32비트로는 더 이상 진보하는 것이 어렵다고 판단, 64비트 컴퓨팅의 도입으로 한 단계가 아닌 한 차원 진보를 갈망한 결과가 바로 애슬론64인 것이다.

64비트로 가려는 이유는 무엇일까? 왜 64비트인가? 모범답안은 간단하다. 보다 뛰어난 성능을 위해서. 그렇다면 지금 우리가 사용하는 32비트 프로세서는 느리다는 것인가? 그렇지 않다. 최고의 클럭을 자랑하는 펜티엄4 3.2GHz의 성능을 제대로 지원하는 운영체제와 프로그램이 없을 정도다. 그렇다면 앞뒤가 맞지 않다는 생각이 들 것이다. 앞에서 말한 보다 뛰어난 성능을 위해서는 바로 지금과는 다른 컴퓨팅을 위한 것이다.
















» 이미 마이크로소프트 등 운영체제의 64비트 지원도 시작되었다.

지금 가장 많이 사용하는 펜티엄4의 경우라도 3D 그래픽의 처리는 GPU내지 VPU라고 불리는 그래픽 칩셋에 그 영역을 많이 빼앗겼다. 3D 그래픽의 보다 빠른 처리를 위해 그 기능을 분담하는 것은 당연하다. 하지만 CPU의 고유 기능을 많이 빼앗긴 것은 사실이다. 만일 CPU만 64비트로 바꾼다면 무엇이 달라질까? 지금 대부분의 3D 그래픽 카드는 32비트 컬러를 지원한다. CPU의 변경만으로 64비트 컬러의 지원도 할 수 있으며, HDTV가 지원하는 초고해상도에서 보다 빠른 3D 그래픽을 실시간 즐길 수 있다. 영화에서 보는 것처럼 애니메이션도 동영상 압축 파일이 아닌 렌더링 프로젝트 파일로 받아 3D로 실시간 감상 할 수 있는 시대가 열릴 수 있다. 물론 파일의 용량은 엄청나게 줄일 수 있다는 이점도 같이. 이처럼 64비트로 가려는 것은 지금의 단순한 변화가 아닌 한 차원 진보를 하기 위해서다.

지금 단순히 64비트의 성능을 판단한다면 그것은 최초의 32비트인 인텔 80386이 등장했을 때와 동일한 오류를 범할 수 있다. 사실 80386은 최초의 32비트 CPU는 맞지만 제대로 사용할 수 있는 운영체제와 프로그램이 없어 그 성능을 전부 이끌어 낼 수 없었다. 하지만 그 뒤를 잇는 인텔 80486, 펜티엄이 등장하고 이 CPU를 지원해 줄 수 있는 윈도우즈 운영체제들이 등장하면서 비로소 32비트 시대가 열렸다고 할 수 있다. 단순히 CPU만 64비트 시대가 시작된다고 하여 모든 것이 64비트로 처리되어 엄청난 변화를 가져올 것이라는 것 생각은 다소 잘못된 생각이라 할 수 있다. 이제 시작이라는 생각을 가졌으면 한다.

애슬론64는 x86 기반의 첫 64비트 프로세서라는데 큰 의미가 있다고 앞에 설명했다. 애슬론64를 지지하는 가장 큰 기반은 바로 64비트로 처리가 가능하다는 것에 있다. 그리고 또 한 가지. 바로 하이퍼 트랜스포트 버스 아키텍처다. CPU만 64비트로 처리된다고 해서 그 성능을 충분히 이끌어 낼 수 있는 것은 아니다. 바로 이 처리된 데이터를 효율적으로 전달할 수 있는 버스 아키텍처가 필요한데 이 역할을 담당하게 될 것이 하이퍼 트랜스포트다. 중세시대를 지지하는 양대 기둥이 크리스트교와 봉건제도라면, 애슬론64를 지지하는 양대 기둥은 바로 AMD64 ISA (Instruction Set Architecture)와 하이퍼트랜스포트라 할 수 있다. 이제부터 애슬론64의 양대 기둥과 애슬론64에 적용된 진보된 다른 기술에 대해 알아보자.


AMD64 ISA (Instruction Set Architecture)


그동안 x86-64라 알려진 AMD의 64비트 기술의 공식적인 명칭이 AMD64 ISA(Instruction Set Architecture)이다. AMD64 ISA는 32비트 기반의 x86 명령어를 확장해 64비트 명령어를 처리 할 수 있는 방식이다. 이 기술의 장점은 기존의 32비트 명령어 셋과 완벽하게 호환되며, 64비트 명령어를 처리 할 수 있다는 점을 들 수 있다. 즉 32비트로도 64비트로도 완벽히 동작한다는 것이다. 이것은 아주 중요한 의미를 가진다.

과거에 최초의 32비트 CPU인 i80386이 가상 8086 모드를 지원해 16비트 명령어를 처리 할 수 있어 16비트에서 32비트로 자연스럽게 넘어 올 수 있었다. 사람들은 대부분 이것을 물의 자연스러운 흐름에 비유할 정도였다. 시간이 흘러 32비트에서 64비트로 진보해야 될 시점에서 64비트의 새로운 시작이냐, 32비트와의 호환성을 갖춘 64비트의 연속성이냐의 문제를 깊이 생각해봐야 한다.








» 메모리 컨트롤러를 칩셋이 아닌 CPU에서 제어하고, 64비트로 데이터를 처리하며, 하이퍼트랜스포트를 쓴다는 것이 애슬론64의 핵심이다.

PC에서 64비트는 생소하지만 대형 워크스테이션이나 서버에서는 오래 전부터 64비트 기술을 활용하고 있다. 이 64비트 기술은 x86 기반이 아닌 제조사 고유의 64비트 기술이며, PC와는 별도로 계속해서 발전하고 있다. 하지만 PC 시장에서는 지금까지의 32비트 기술을 포기하고 하루아침에 64비트 기술로 이전해 갈만한 조건이 마련되어있지 않다. 과거를 보더라도 서서히 자연스럽게 옮겨가는 것이 정석이라 할 수 있다. AMD의 AMD64 ISA는 32비트를 지원함으로써 32비트와 64비트 사이의 징검다리 역할을 한다고 할 수 있다.

애슬론64는 분명히 64비트 CPU다. 32비트를 지원하긴 하지만 32비트에서 절대 빠르다는 말이 아니다. 64비트로 프로그래밍된 운영체제나 어플리케이션에서 최상의 성능을 낸다는 것이다. 인텔의 펜티엄프로가 처음 나왔을 때 윈도우즈 95에서는 성능이 펜티엄에 비해 떨어진다는 말이 많았다. 윈도우즈 95가 16비트 운영체제며, 32비트 CPU인 펜티엄프로는 제대로 된 성능을 낼 수 없었다. 하지만 윈도우즈 NT에서는 펜티엄과 펜티엄프로는 성능에서 상대가 되지 않았다. 바로 윈도우즈 NT는 32비트 운영체제이기 때문이다. 그렇다고 펜티엄프로가 펜티엄보다 빠르다 느리다 말할 수 있는 것은 아니다. 결국 CPU와 운영체제가 완벽히 보조를 맞추었을 때 최상의 성능을 낸다고 말할 수 있다. 하지만 지금과 같이 32비트 운영체제의 전성기에서는 당연히 펜티엄프로가 펜티엄보다 빠르다고 단정지어 말할 수 있다.

지금 애슬론64의 성능이 빠르다 느리다고 말하는 것은 펜티엄과 펜티엄프로의 오류를 범하는 것과 같은 것이라 할 수 있다. 앞으로 애슬론64를 지원하는 제대로 된 운영체제와 어플리케이션이 나온 다음 비교를 한다면 아마도 지금의 벤치마크 결과와는 다른 결과를 나올 것이다. 물론 지금의 시점에서 빠른 성능을 쓸 수 없다면 무용지물과도 같다. 하지만 미래를 대비한다는 점에서 그 메리트가 있지 않을까?

AMD64 ISA는 x86명령어를 기반으로 한다는 점에서 32비트로 프로그래밍 하는 것과 64비트 프로그래밍 하는 것이 크게 다르지 않다. 처음부터 새로이 64비트로 프로그래밍 하는 것보다 기존의 32비트로 프로그래밍된 것을 64비트로 바꾸는데 소요되는 시간이 적게 든다. 이것은 큰 장점이라 할 수 있다. 또한 x86명령어 기반이기 때문에 프로그래밍을 배우는데 큰 차이가 없기 때문에 프로그램 개발자의 입장에서 환영받을 만한 일이다.

애슬론64는 x86명령어와 호환성을 유지한다는 점에서 다른 64비트 CPU에 비해 많은 장점을 가질 수 있다. 앞에서 말한 것을 정리하면 AMD는 지금 당장 64비트로 가자는 말이 아니라 시간과 여유를 두고 64비트로 넘어가겠다고 할 수 있다. 과거를 보더라도 무엇보다 위험성이 적고 보다 자연스러운 흐름이라는 것이 AMD의 판단일 것이다.


병목현상을 해결을 위한 하이퍼 트랜스포트


처음 32비트 CPU인 i80386이 선보였을 때, 단순히 CPU의 입출력 버스만 32비트였을 뿐 확장 버스는 8비트와 16비트에 머물러 있었다. i80486에 이르러 32비트를 지원하는 VETS 로컬 버스와 PAI 버스를 지원하게 되며, 이로서 확장 버스도 완벽한 32비트를 지원하게 된다. 시간이 흘러 펜티엄4에 이르러서 가장 빠른 버스는 AMP로 대변되며, 이 AMP도 역시 32비트 PAI의 확장된 규격일 뿐이다. 일부에서 64비트 PCI-X 브리지를 통한 64비트 버스를 사용하고 있지만 그 기술 자체가 고가이기 때문에 사용하는 장비도 흔치 않다. 이런 상황에서 CPU만 64비트로 간다면 큰 의미가 있을까? 대부분의 입출력 버스도 32비트에 머물러 있는 상황에서는 오히려 그 의미가 퇴색되기 쉽다.








» 하이퍼트랜스포트는 64비트만큼이나 탐나는 기술 가운데 하나이다.

그렇다면 AMD는 과연 어떤 대안이 있을까? 바로 하이퍼 트랜스포트 기술이 있다. 최대 12.8GB/sec의 대역폭을 지원하며, 필요에 따라서 다양한 허브와 터널로 연결되며, 기존의 어떤 버스 아키텍처보다도 병목현상을 줄일 수 있다. 하이퍼 트랜스포트는 AMD64 ISA와 더불어 애슬론64를 지지하는 양대 기둥이라 할 수 있다. 만일 애슬론64에 기존의 브리지 아키텍처를 그대로 사용한다면, 머리만 진보되고 몸은 그대로인 로봇과 같이 64비트를 사용한다는 의미마저 잃어버릴 수 있을 정도다.

이런 이야기를 하는 것은 단순히 CPU만 64비트로 넘어가는 것은 큰 의미를 가질 수 없다는 것이다. 애슬론64는 64비트를 지원하는 최초의 개인용 CPU라는 의미도 있지만 하이퍼 트랜스포트에 의한 외부 버스도 완벽히 64비트를 충족시킨다는 점에서 큰 의미를 가질 수 있다.
실제로 CPU와 가장 먼저 연결되는 하이퍼 트랜스포트 AGP 그래픽 터널은 최대 6.4GB/sec의 대역폭으로 연결된다. 다른 하이퍼 트랜스포트 I/O 허브와는 최대 800MB/sec의 대역폭으로 연결되며, 어려 개의 I/O 허브를 달 수 있기 때문에 대역폭에도 문제가 없다.








» P2P방식에 넉넉한 대역폭을 갖추고 있다는 것이 무엇보다 매력이다.

지금까지 가장 많이 사용하고 있는 버스는 PCI다. PCI 버스는 GHz가 넘는 CPU의 대역폭을 충족시키기에는 무리가 있다는 지적이 계속되어 왔다. 즉 PCI 카드들의 고속화로 인해 PC 전체 병목현상의 주범으로 지적받아왔다. 특히 IEEE 1394, USB2.0 Gigabit Ethernet과 같은 높은 대역폭을 요구하는 장치들의 대역폭을 동시에 감당하기 힘들었다. 애슬론64에서 지원하는 최대 대역폭은 6.4GB/sec로 고속의 PCI 주변기기를 장착하더라도 대역폭에 대해서는 걱정을 하지 않아도 된다.








» 엔비디아와 비아 등에서 이미 AMD64를 위한 칩셋을 개발 완료한 상태이다.

하이퍼 트랜스포트의 장점 가운데 하나는 하이퍼 트랜스포트를 지원하는 칩셋들 사이에는 프로토콜(데이터 전송에 사용되는 언어)의 변환과정이 없기 때문에 성능의 저하가 없다는 것이다. 하이퍼 트랜스포트로 연결되는 방식에는 하이퍼 트랜스포트 터널, 하이퍼 트랜스포트 I/O허브, 하이퍼 트랜스포트 스위치, 하이퍼 트랜스포트 브리지가 있다. 이 사이에는 속도의 차이만 있을 뿐 기존의 버스와는 달리 프로토콜 변환에 의한 성능저하가 없기 때문에 적용된 시스템의 전체적인 성능향상은 당연하다. 또한 하드웨어를 설계하는 엔지니어의 입장에서도 하이퍼 트랜스포트를 지원하는 원하는 칩만 선정해 사용하면 호환성이나 성능에 따른 문제점은 걱정하지 않아도 되기 때문에 큰 장점으로 받아들여질 수 있다.

하이퍼 트랜스포트를 사용한다고 해서 확장 버스는 크게 다르지 않다. AGP, PCI, PCI-X, IEEE-1394, USB 2.0, Gigabit Ethernet 터널과 허브로 호환성을 그대로 유지해 기존의 모든 장치들을 그대로 사용할 수 있다. 그리고 최신 버스 규격인 AGP 8배속과 차세대 버스 규격인 Infiniband, PCI-X 2.0, PCI Express, SPI-5, 10Gigabit Ethernet과 완벽하게 호환성을 유지할 수 있기 때문에 문제없이 사용할 수 있다. 성능은 물론 호환성에서 완벽하기 때문에 애슬론64에 꼭 필요한 기술이라 할 수 있다.


대용량의 L2 캐시 내장과 CPU에서 메모리를 직접 제어


어쩌면 당연한 일이겠지만 64비트의 방대한 데이터를 처리하기 위해서는 많은 메모리가 필요한 것이 사실이다. 물론 메모리에도 여러 종류가 있지만 CPU의 성능에 가장 밀접한 영향을 주는 L2 캐시의 고용량화는 필수라고 할 수 있다. 애슬론64에는 1MB의 대용량 L2 캐시를 내장했다. 요즘은 펜티엄M을 비롯해서 개인용 PC에서 1MB의 대용량 L2 캐시를 내장하는 것을 어렵지 않게 볼 수 있기 때문에 큰 변화라 보이지는 않지만, 분명히 64비트로 넘어오면서 L2 캐시의 용량이 늘어난 것은 당연한 결과라 할 수 있다.








» 64비트로 명령어를 처리한다는 것은 완전한 패러다임의 변화라고 할 수 있다.

AMD64 ISA와 하이퍼 트랜스포트와 함께 애슬론64에서 선보인 진보된 기술 가운데 하나가 메모리 컨트롤러를 CPU에 직접 내장했다는 것이다. PC에서 병목 현상이 심한 부분 가운데 하나가 CPU와 메모리다. 이것은 CPU와 메모리 사이에 메모리를 제어 할 수 있는 칩셋이 있어 칩셋이 이 둘 사이를 이어주는 역할을 한다. 일단 이 부분에서 메모리의 대역폭의 어느 정도 손실을 감수해야 한다.

하지만 애슬론64에는 메모리 컨트롤러를 직접 내장해 손실을 최대한 줄였다. 즉 메모리가 같은 클럭으로 동작하더라도 CPU에 내장된 메모리 컨트롤러는 보다 빨리 메모리를 제어 할 수 있다. 마치 CPU에 L3 캐시를 내장한 것과 유사할 정도다. 사실 이 기술은 옵테론에서 다중 CPU를 구성했을 때 메모리의 공유와 대역폭을 확보하기 위한 기술이지만 단일 CPU에서 사용하더라도 충분한 성능 향상이 있기 때문에 애슬론64에 그대로 적용된 것이다.

메모리 컨트롤러를 CPU에 내장함으로써 기존의 노스브리지 칩셋은 단순히 AGP를 제어하는 AGP 그래픽 터널로 대체되게 된다. 노스브리지가 하던 메모리 컨트롤러의 역할을 CPU가 가져가 칩셋의 구조가 변경되는 것도 큰 변화라 할 수 있다. 앞으로 애슬론64에서는 기존의 애슬론에서 사용하던 노스브리지와 사우스브리지를 볼 수 없다는 말과 같다.

지금까지는 애슬론64의 의미와 변화된 기술을 살펴보았다. 다음 장에서는 애슬론64의 현재 성능과 운영체제, 어플리케이션에 관해 살펴볼 것이다.



2004-01-07 13:58:59
725 번 읽음
☞ 로그인 후 의견을 남기실 수 있습니다
 캐시선물





365ch.com 128bit Valid HTML 4.01 Transitional and Valid CSS!
태그