SWEV
x86 이야기 - 어제, 오늘, 그리고 본문
산소같은 당신, x86
△ 누나가 없다고 숨이 콱 막히거나 그러진 않아요.
'x86'이란 단어를 들어본 사람이 얼마나 될까. 공기 안의 산소 덕분에 숨을 쉴 수 있지만 모두가 산소에 대해 잘 알고 있지 않듯이, 모두가 x86을 쓰고 있지만 x86이란 단어의 뜻과 유래를 잘 알고 있는 사람은 또 잘 없다. 누구나 x86 컴퓨터 한 대 쯤은 쓰고 있기 마련이고, 당신이 지금 보는 이 글도 x86 서버 안에 저장되어 있다. 거짓말 보태지 않고서도 x86 없이 세상은 돌아가지 않는다는 사실은 충분히 사람들에게 설명할 수 있을 것 같다.
이렇게도 중요한 x86이 이런 저런 이유들이 겹쳐서 그 영향력에 비해 너무나도 잘 알려지지 않은 단어가 되어버렸다. 그래서 간만에 정리를 한 번 해보고자 한다. 언젠가는 글의 제목처럼 x86의 어제와 오늘, 그리고 미래를 이야기 해보고 싶었기 때문이다.
들어가기에 앞서
지금부터 하려는 이야기를 이해하기 위해 '마이크로 아키텍쳐'와 '명령어 세트'에 대한 개념을 알고 있어야 한다. 마이크로 아키텍쳐는 CPU의 내부적인 처리 구조를 설명하는 단어이다. 조금 더 풀어서 설명하자면, 컴퓨터에 깔려있는 소프트웨어가 명령을 보내올 때, CPU 안에서는 그 명령을 받아들이고 일을 한 뒤 결과물을 내놓는 방법이 있을 것이다. 그 방법과 절차에 대한 구조를 설명해 둔 것이 바로 마이크로 아키텍쳐라는 의미.
명령어 세트는 사람의 '언어'에 해당한다. 한국 사람에게는 한국말로 이야기 해줘야 알아 들을 수 있듯이, CPU를 올바르게 작동시키기 위해서는 CPU가 지원하는 명령어 세트에 맞추어 프로그램을 만들어야만 한다.
명령어 세트과 마이크로 아키텍쳐, 시스템 디자인 이 세 가지가 묶여 '컴퓨터 아키텍쳐'가 된다. 컴퓨터 아키텍쳐란 컴퓨터의 하드웨어와 관련된 하나의 규격과 약속을 모두 아울러 가리키는 말이다. 'x86'은 처음엔 인텔이 만들어낸 CPU의 명령어 세트 이름에 불과했다. 허나 시간이 흘러 인텔 CPU와 그 위에서 돌아가는 운영체제가 뭉쳐 하나의 차별적이고 독립적인 생태계를 구축하게 되었고, 그 결과 이젠 컴퓨터 아키텍쳐의 한 갈래가 되어버릴 만큼 그 의미가 넓게 확장되었다. 컴퓨터 아키텍쳐는 동식물 분류법 중 '종' 정도가 비유상 맞을 것 같다. 같은 종 끼리는 번식이 가능하듯 같은 x86 컴퓨터들 끼리는 서로 어느 정도의 부품 호환이 가능하다.
전설의 시작 - IBM Model 5150
지금이야 개인이 쓰는 컴퓨터의 컴퓨터 아키텍쳐는 x86 한 가지로 통일 되어있다고 봐도 될 정도지만, 컴퓨터란 물건이 처음 나왔을 땐 전혀 그렇지 않았다. 여러 회사에서 여러 종류의 컴퓨터를 만들었고 각 회사 제품들 끼리는 소프트웨어적으로나, 하드웨어적으로나 호환성이 눈꼽만치도 없었다.
지금은 핸드폰 만드는 회사라고들 생각하는 모토롤라도 원래는 68K 시리즈처럼 CPU 아키텍쳐를 만들어낸 회사로서 잘 나갔고 DEC의 알파처럼 한 때 화려하게 등장했다가 지금은 흔적도 없이 사라진 컴퓨터 아키텍쳐들도 많다. 모두가 새로운 시장에 뛰어들었기에 표준이랄 것도 없이 각자 자신이 잘 하는 부분을 뽐내기에 바빴던 시대이다.
△ 전설의 시작, IBM Model 5150
수십년간 숱하게 많은 컴퓨터 아키텍쳐들이 우리네 삶을 스쳐 지나갔지만 오늘날 우리가 보는 흔한 윈도나 맥OS 깔린 컴퓨터의 원조는 International Business Machine, 즉 IBM에서 만들었다. 요즘이야 살면서 IBM 제품을 보기 힘들고 가끔 계산대에서 쓰는 POS장비에서나 그 로고를 보곤 하는데 원래 IBM은 개인 소비자가 사다 쓸만한 제품도 많이 만들었다. 씽크패드가 그러했고, 'PC'가 그러했다.
PC는 'Personal Computer'의 줄임말인데, 지금은 그냥 키보드 마우스 모니터 달린 평범한 컴퓨터를 이야기 하는 단어가 되어버렸지만 원래는 IBM의 등록상표였다. 포스트잇이 접착식 메모지를 뜻하는 단어가 되고, 포크레인이 굴착기의 대명사가 되어버렸듯이 PC란 브랜드도 결국 소비자들에게 너무 익숙해지다 못해 이제는 컴퓨터 = PC라고 봐도 크게 틀리지 않는다. 에니악을 생각해 보면 IBM이 'Personal Computer'라는 브랜드를 얼마나 고민끝에 만들었을지 짐작이 간다. 예전의 컴퓨터들이 국가의 연구기관이나 거대한 기업 같은 곳에서나 하나쯤 고민 끝에 들여놓을까 말까 생각하는 크고 무겁고 비싼 장비였으니까. 그래서 지금도 나는 PC라는 단어를 들을 때 마다 '자가용 비행기'나 '개인 수영장' 같이 사치스러운 느낌이 들곤 한다.
IBM에서 만든 Model 5150은 IBM에서 PC라는 브랜드와 함께 내놓은 첫 제품이다. M5150엔 인텔의 8088 CPU와 64KB 메모리가 달려 있었고 운영체제는 MS-DOS를 사다가 PC-DOS로 이름을 바꾸어 깔아두었다. IBM의 이름에 걸맞게 PC는 업무용으로 쓰기 좋은 컴퓨터였고 결국 기업체에서 컴퓨터로 일을 하기 위해서는 IBM의 PC를 사는 것이 당연한 일이 되었다. 그 이후 기업용 컴퓨터 시장이 커지면서 다른 컴퓨터 아키텍쳐로 컴퓨터를 만들던 회사들을 거의 다 망하게 만든 원흉이 된다.
XT -> AT -> ???
첫 번째 'PC'인 Model 5150은 꽤 잘 팔렸고 그 뒤를 이어 Model 5160이 나왔다. Model 5160은 XT라는 이름으로 더 익숙한데, 5150에서 소비자가 필요에 따라 부품을 더 꽂아서 성능을 확장할 수 있다는 정도만 달라진 물건이다. XT라는 이름부터가 eXtended Technology의 약자.
XT도 별 일 없이 시장에서 잘 팔렸고 XT의 후속 기종인 AT가 출시되었는데, 이게 또 컴퓨터의 역사에서 무지 중요한 물건이다. 이 때 개발해둔 케이스와 파워 서플라이, 그리고 메인보드 규격이 펜티엄 시절까지 고스란히 쓰였기 때문이다.
그런데 AT가 잘 팔리다가 갑자기 문제가 생긴다. IBM은 개발비를 아끼기 위해 BIOS를 제외하고는 소프트웨어/하드웨어 모두 다른 회사의 물건을 사다 썼다. 결국 컴퓨터를 만드는데 필요한 여러 기술중에서 IBM만이 가지고 있던 독자기술은 BIOS 하나 였는데 이걸 컴팩이 베껴버린 것이다. 그것도 합법적으로. 바이오스 개발 엔지니어가 IBM의 바이오스를 뜯어본 뒤 바이오스 설계 가이드를 만들었고, IBM 바이오스를 본 적이 없는 개발 엔지니어를 고용해서 그 바이오스 설계 가이드를 우연히 보게 만들었다. 결국 절차상으로는 남의 것을 직접 보고 베낀게 아니기 때문에 불법이 아니게 된 셈. 이런식으로 x86 아키텍쳐와 아키텍쳐의 바닥 부분에서 하드웨어들을 컨트롤 하던 BIOS가 시장에 공개되다시피 퍼지면서 IBM PC의 복제품을 여기 저기서 만들어 낸다. 저 일이 없었다면 AT 이후로도 IBM은 PC 브랜드를 유지해가며 시장에서 잘나갔겠지만 엉뚱하게도 지금은 HP에 인수합병된 컴팩이 인텔의 80386 CPU를 사용한 컴퓨터를 먼저 내놓았다. 이 지경이 되다보니 상대적으로 비쌌던 IBM의 PC를 굳이 사야만 할 이유도 없었고 AT의 후속기종이라고 할 만한 PS/2 마저도 비싸고 딱히 좋은 점도 없다는 이유가 겹쳐 시장에서 외면을 당한다. 1
△ Windows XP의 설치 CD엔 80386의 흔적이 남아있다.
그 뒤로 소프트웨어고 하드웨어고 가릴 것 없이 AT와 호환되거나 그 후속 기종에 해당 할 법한 물건들이 퍼져나가며 시장에서 두 가지 단어가 등장한다. 하나는 'IBM PC 호환기종'이라는 단어이고 또 하나는 이 글의 제목에 들어간 'x86'이다. IBM의 PC의 복제품들이 잘 팔리면서 IBM PC와 같은 하드웨어/소프트웨어를 쓰는 물건들이 시장에 쫙 깔렸기에 IBM PC 호환기종이란 단어가 생겨났고, 그 IBM PC 호환기종엔 80286이나 80386같이 인텔의 86으로 끝나는 CPU들이 들어가면서 x86이란 명칭이 생겨나게 된 셈. 당연한 이야기지만 286이니 386이니 하는 단어들은 인텔의 80286과 80386을 짧게 줄여 부른 이름이다. x86 계열의 CPU에서 돌아가는 프로그램들이 많이 개발되어 x86은 하나의 명령어 세트로 명확하게 자리를 잡았고, 80386 CPU에서 32비트 명령어 세트를 정의하며 IA-32라는 이름을 붙이게 된다. IA-32라는 이름 말고도 80386 CPU의 또 다른 이름인 i386는 지금까지도 여기저기에 흔적이 남아있는데, i386 CPU의 명령어 세트를 지원하는 소프트웨어라는 것을 표기하기 위해 쓰는 경우가 많았다.
호랑이는 죽어서 가죽을 남기지만....
IBM은 개인용 컴퓨터 시장에서 결과적으로 별 재미를 못 봤지만 최초에 규격을 잡고 널리 퍼뜨렸기에 지금도 그 흔적이 여기 저기에 남아있다. 일단 AT가 그렇다. 처음엔 매직스테이션처럼 제품의 이름이었는데 다른 회사에서 AT를 베껴만든 호환 기종이 이리저리 팔리면서 AT와 호환되는 케이스/파워/메인보드 세 가지를 아우르는 하나의 규격이 되어 버렸다. 이 규격을 보통 '폼팩터'라고 하며 후속 폼팩터인 ATX가 시장에 선을 보일 때까지 AT는 PC업계의 표준으로 굳어졌다. 지금 쓰이는 폼팩터인 ATX의 이름도 AT-eXtended의 줄임말이니 AT라는 이름이 얼마나 명줄이 긴 것인지 느낌이 올 것이다. 2
△ 요즘도 PS/2 포트는 쓰임이 많다.
키보드/마우스를 꽂을 때 쓰는 PS/2 포트는 본디 IBM에서 만든 PS/2 '컴퓨터'의 키보드/마우스용 단자였다. 그런데 정작 저 포트가 달려나온 원조 PS/2 컴퓨터는 시장에서 개운하게 망했고, 포트만 남아 아직까지도 쓰이는 상황이니 이것도 IBM 입장에서 생각해보면 속이 쓰릴 것 같다. USB 타입의 키보드/마우스가 더 많이 팔리다보니 지금은 별로 중요하게 느껴지지 않지만 USB 키보드로는 6개 이상의 키를 동시에 입력할 수가 없어 격렬하게 키를 입력해야 하는 게임을 하거나(리듬액션, 슈팅 게임 등등) 빠르게 타자를 칠 때 키 입력이 제대로 먹히지 않는 일이 많았다. USB 방식으로도 무한키 동시 입력이 가능해진 것은 비교적 요즘에 와서야 가능해진 일이니 PS/2가 얼마나 위대한 규격이었는지 실감이 난다. 흔히 아날로그 모니터 단자라고 부르는 15핀 D-SUB 단자도 원래는 PS/2 컴퓨터에서 쓰이던 단자였다. 3
△ 한 세트의 키보드/마우스/모니터로 여러 대의 컴퓨터를 번갈아가며 쓸 수 있는 KVM 스위치 4
서버실처럼 컴퓨터 여러대가 쌓여있고 제어해야 할 키보드 마우스를 놓기엔 자리가 모자랄 때, KVM 스위치라는 물건을 쓴다. 애초에 서버는 직접 컴퓨터가 있는 자리에 가서 조작하기 보단 네트워크를 통해 원격제어 조작을 하는 일이 더 많은데 그렇다 하더라도 모든 작업을 서버실에 가지 않고 처리할 수는 없기에 비상시를 대비해서 꽂아 두어야 한다. 그리고 KVM 스위치는 거의 대부분 15핀 D-SUB 단자로 모니터를 연결하고 PS/2 키보드 마우스를 연결한다. 요즘엔 DVI와 USB 타입의 KVM도 종종 나오지만 가격도 비싸고 구형 KVM도 가끔씩 서버 관리하는 용도로 쓰기엔 딱히 불편이 없다보니 영 안팔리는 눈치이다.
호랑이는 죽어서 가죽을, 사람은 죽어서 이름을 남기지만 IBM의 컴퓨터들은 죽어서 규격을 남겼다. 그리고 나는 가게에서 물건을 결제할 때마다 IBM이 생각나서 웃픈 감정을 느끼곤 한다. IBM은 요즘도 POS 장비를 만드는데 그 POS 장비에 연결된 바코드 리더기가 보통 PS/2 포트에 꽂혀 있기 때문이다. 열심히 제품을 만들어서 남 좋은 일만 시켜놓고도 그 규격을 버리지 못해 쓰고 있다니...
또 다른 전설 - 펜티엄
486 CPU가 잘 팔리고 인텔도 큰 돈을 벌었지만 다른 회사에서 486 카피 제품들을 만들면서 인텔은 슬슬 빈정이 상하기 시작한다. AMD는 인텔의 i486을 Am486이란 이름으로 카피해서 팔았고, 지금은 공학용 계산기나 공대생 시계 정도로 유명한 Texas Instrument도 당시엔 486의 카피 제품을 만들어 내다 팔 정도였으니까. 요즘에 와서는 인텔과 AMD CPU가 같은 메인보드에서 작동할 수 있는 것이 상상도 못할 일이지만 그땐 당연한 일이었다.
결국 자신이 만들어낸 물건을 값싼 카피품들이 시장에서 조금씩 밀어내는 일이 생기자 인텔은 486의 이름까지 베껴다 쓰던 회사들을 고소했지만 단순한 숫자의 조합으로 이루어진 단어를 상표로 인정할 수 없다는 재판 결과가 나오자 새 CPU인 586의 브랜드를 정하기 위해 구내식당에 직원들을 모아놓고 이름을 정하기로 한다. 여러 의견을 모아본 결과 5라는 뜻을 가진 'Penta'를 변형시켜 Pentium이란 이름이 되었고, 이름이 정해지자 광고를 만들었는데 사람들에게 펜티엄 브랜드를 더 잘 각인시키기 위해 2초짜리 짧은 음악을 만들기도 했다.
△ 아마도 전세계에서 가장 비싼 음악일 것이다
TV 광고를 내보내기 하루 전날 급하게 작곡가를 섭외해서 짧은 음악을 광고의 끄트머리에 넣었는데 이게 대박이 터졌다. 그 작곡가는 작곡료 100만달러에 이런저런 스튜디오 장비까지 해서 수백만 달러를 받았다는데, 고작 2초짜리 음악을 작곡해서 한국 돈으로 몇십억원을 번 셈이니 아마도 전세계에서 가장 비싼 음악이 아닐까 싶다.
펜티엄이라는 브랜드를 더 많이 알리고 싶었던 인텔은 저 로고와 음악을 넣어서 광고하는 컴퓨터 업체에게 광고비를 지원해줬는데 이러다보니 한국에서도 저 경쾌한 멜로디를 기억하는 사람들이 많다. 그 뒤로도 펜티엄 브랜드는 계속 잘 나가다가 펜티엄 4의 실패 뒤로 인텔의 주력 제품이 'Core' 브랜드로 바뀌며 저가형 라인업으로 역할이 바뀌었다. 얼마전에는 펜티엄 브랜드 20주년을 기념하여 G3258이라는 보급형 듀얼코어 CPU가 출시되기도 했는데, 이래저래 AT처럼 정말로 명줄이 긴 브랜드이다. 특히나 컴퓨터 업계처럼 빠르게 변하는 시장에서 20년동안 유지 되었다는 건 정말 대단하지 않은가.
영광의 순간들, 그러나 - 펜티엄 프로/II/III
인텔은 펜티엄 CPU에 MMX라는 기능을 추가하는 등 성공적으로 자리잡은 펜티엄 브랜드를 잘 가꿔나간다. 펜티엄과 별도로 펜티엄 프로라는 CPU도 만들었는데, 이게 참 재밌는 물건이다. 펜티엄 프로는 전문가용 CPU를 목표로 잡고 여러가지 혁신적인 기능들을 마구 채워넣었는데 이러다보니 무지하게 비싼 CPU가 되었다. 비싼만큼 CPU 자체의 성능은 좋았는데 당시에 비전문가용 프로그램들은 펜티엄 프로와 궁합이 영 별로였다는게 문제다. 펜티엄 프로는 전문가용 프로그램들이 32비트로 나오는 것에 맞추어 32비트 성능에 목숨을 걸고 개발되었다. 그 결과 16비트 프로그램들은 내부적으로 에뮬레이터를 써서 돌렸는데 이 에뮬레이터 성능이 별로라 당시 널리 쓰이던 윈도 95등의 16비트 운영체제를 돌리면 제 성능을 뽑아내지 못했다. 한 마디로 잘 만든 물건이긴 한데 시대를 너무 앞서 나가버린 셈. 5
허나 이때 개발된 펜티엄 프로의 P6 마이크로 아키텍쳐는 펜티엄 II나 펜티엄 II에도 쓰였고 시간이 조금 더 흐른 뒤에도 코어 듀오나 코어 2 시리즈의 마이크로 아키텍쳐로 재활용 되면서 AMD에게 40%까지 빼앗겼던 시장 점유율을 다시 찾아오는 일등 공신이 된다. 펜티엄 프로는 인텔 내부에서 6세대 아키텍쳐로 분류했기에 사람들에게 686이라고 불리기도 했다. 펜티엄 프로가 출시되었을 당시 세진 컴퓨터 랜드 같은 곳에서 686 컴퓨터라며 팔았던 것을 기억하는 사람들이 많을 것이다.
펜티엄의 정식 후속 기종이었던 펜티엄 II와 펜티엄 III도 잘 만들어진 CPU였고 당시에 인터넷이 보급화 되면서 집집마다 컴퓨터 한 대 쯤은 있어야 한다는 생각이 퍼지면서 그야말로 인텔은 떼돈을 번다. 그러나 펜티엄 III 시절에 인텔의 자존심이 무너지는 일이 생겼는데, 애슬론이라는 CPU를 만들며 인텔과 속도경쟁을 하던 AMD가 1Ghz CPU를 인텔보다 먼저 내놓은 것이다. 애슬론은 꽤 좋은 CPU였고 펜티엄 III보다도 전체적으로 빨랐기에 펜티엄 III보다도 애슬론을 더 높게 쳐주던 사람들도 있었다. 허나 인텔의 마케팅이 너무나도 성공적이었던 탓에 AMD라는 회사 자체는 별로 알려져 있지 않았던 상황에서 AMD가 1Ghz 애슬론을 먼저 선보이며 컴퓨터에 별 관심이 없던 사람들에게까지 AMD의 이름을 제대로 알리게 된 큰 사건이다.
△ 1Ghz CPU를 인텔보다 AMD가 먼저 내놓으며 인텔은 자존심을 구겼다.
그리고 이 때 즈음부터 AMD는 인텔CPU를 살 돈이 없을 때나 고르는 저가형 카피품 CPU의 제조사라는 인식을 조금씩 벗어나게 된다. AMD가 인텔을 제대로 물먹인 최초의 사건이지만, AMD CPU가 아무리 잘 팔려도 인텔의 점유율을 심각하게 빼앗아 올 정도는 아니었기에 인텔 입장에서도 그럭저럭 참을만 했다. 적어도 이 때 까지는 말이다. 그러나 AMD는 실력을 갈고 닦아 결국 인텔을 상대로 크게 한 방을 날리게 되는데 그것은 조금 더 훗날의 이야기.
인텔의 삽질 - 펜티엄 4
△ 이 때 처음으로 로마 숫자 대신 아라비아 숫자로 세대가 표기되었다.
펜티엄 III까지는 큰 탈 없이 참 좋았는데, 펜티엄 4가 나오면서 정말 많은 것이 바뀌었다. 일단 예전까지는 펜티엄 II나 펜티엄 III처럼 로마 숫자로 세대를 표시했는데 4세대 펜티엄은 펜티엄 IV 대신 펜티엄 4라는 아라비아 숫자 표기법을 썼다. 4세대가 나오면서 사람들에게 더 이상 신선하지 않았던 펜티엄 브랜드를 다시 알릴 방법 중 하나였던 셈. 허나 저 마케팅을 제외하면 펜티엄 4는 인텔 역사상 가장 많이 욕을 먹은 CPU였다. 사실, 다른 부분에서 하도 욕을 많이 먹은 탓에 브랜드 디자인이 바뀐 것 따위는 품평할 가치도 못느낀 사람들이 더 많았을 것 같기도 하다.
최초의 펜티엄 4가 펜티엄 III보다 뚜렷하게 빠르지 않았다는 것이 첫 번째 이유가 됐다. 그 때 당시 인텔 CPU 주력 제품은 개발 코드명 '코퍼마인' 코어의 펜티엄 III 제품들이었다. 그리고 최초의 펜티엄 4인 개발코드명 '윌라멧'은 1.4Ghz 모델부터 출시됐는데, 이게 코퍼마인 1Ghz와 비슷한 성능이 나와버린 것이다. 애초에 펜티엄 4는 작동 클럭을 올리기 쉬운 구조로 설계를 한 뒤, 떨어지는 클럭당 성능을 높은 클럭으로 만회하려 했다. 그 결과로 같은 클럭에서 비교할 때 펜티엄 III는 펜티엄 4보다 50% 정도 빨랐는데 새로 나왔다는 CPU가 이 모양이니 사람들이 좋아해줄 리가 없다. 그것도 모자라 인텔은 펜티엄 III의 최종형인 투알라틴 코어를 내놓는 자충수까지 둔다. 출시 초기의 윌라멧 코어 펜티엄 4는 1.4Ghz와 1.5Ghz 두 모델 밖에 없었는데 투알라틴 코어는 최고 클럭이 1.4Ghz씩이나 되었다. 그리고 투알라틴 코어는 코퍼마인 코어보다 L2캐쉬가 두 배 더 많기도 했다. 클럭이 한참 더 높아도 코퍼마인에게 이기지 못했던 윌라멧은 같은 클럭에 캐쉬까지 곱절인 투알라틴에게 벤치마크에서 처참하게 박살난다.
두 번째로 너무 비쌌다. 펜티엄 III에서 잠깐 썼다가 값은 비싸고 성능은 별 볼일 없었던 Rambus D램이란 물건이 있었다. 펜티엄 III에서는 CPU와 메모리가 데이터를 주고 받는 속도 자체가 애초에 느렸기에 Rambus D램을 써도 빨라질 이유가 없었지만 펜티엄 4는 구조상 Rambus D램을 써야 제 속도가 나오는 설계였다. 문제는 이 Rambus D램이 심하게 비쌌다는 점이다. 인텔은 Rambus D램을 보급하기 위해서 CPU와 램을 묶어서 같이 판매했는데 CPU + RAM 패키지가 140만원 정도 했다. 펜티엄 III 1Ghz가 나오면서 인텔의 개인용 플래그쉽 CPU는 1,000개 구매 기준 항상 999 달러였기에 사실 그때 당시 환율을 감안하면 램 포함 140만원이란 그럭저럭 괜찮았다고 생각 할 수도 있다. 허나 펜티엄 III는 3~40만원 정도 하는 하위 모델도 같이 팔렸는데 펜티엄 4는 그런 보급형 모델이 없었고 새로운 CPU를 써보기 위해서는 무조건 비싼 CPU와 메모리를 사야만 했으니 잘 팔릴리가 있겠는가. 비싼 메인보드 가격과 펜티엄 4를 지원하는 새로운 파워 서플라이를 구매해야 한다는 것도 소비자들 입장에서는 마음에 들리가 없다.
세 번째로, 온도와 소모전력이 너무 높았다. 후기형 펜티엄 4의 개발 코드명은 프레스캇이었는데, 이 때쯤 가니 클럭이 3Ghz를 넘나들며 펜티엄 III 시절보다 확실히 빨라지긴 했다. 그러나 고작해야 30~40W 정도의 전력만 소모하던 펜티엄 III에 비해 프레스캇은 100W를 넘나드는 전력을 요구했고 이 뜨거운 CPU를 식혀주기 위해 4000RPM이 넘는 쿨러를 번들로 넣어주었다. 이 쿨러의 또 소음이 어마어마해서 사람들한테 욕을 바가지로 먹게 되었는데, 이 때 즈음부터 CPU를 식혀줄 고성능 쿨러와 내부에 열이 쌓이지 않는 고성능 케이스들이 시장에 널리 퍼지기 시작한다. 파워 서플라이도 용량이 큰 것이 필요해졌는데, 300W 이상의 출력이 나오는 대용량 파워들이 시장에 보급되는 계기가 된 것이 이 시기 즈음이다. 결국 잘못 만들어진 CPU 하나 때문에 쿨러/케이스/파워 서플라이 시장 모두가 크게 변하는 웃기지도 않는 일이 일어난 것이다.
별 관계 없는 이야기지만, 펜티엄 4는 인텔 내부 분류상 7세대 아키텍쳐로 잡혀 있기에 786이라고 불릴법도 했으나, 펜티엄 시리즈라는 브랜드가 너무나도 성공적으로 자리를 잡기도 했고, AMD의 애슬론이 이미 K7이라는 개발 코드명과 함께 7세대 마이크로 아키텍쳐로서 마케팅을 시도했기에 펜티엄 4를 아무도 786이라고 부른 적이 없다. 사실 AMD의 K7은 펜티엄 III 대비 마이크로 아키텍쳐 상으로 특별히 잘난 구석이 없었고 그냥 메모리 성능이 동급의 펜티엄 III보다 조금 낫다 정도였는데 그러다 보니 사람들도 7세대, 786 같은 단어에 별 느낌을 받지 못한 탓이 크다.
AMD의 역습 - 애슬론 64의 등장
△ 최초의 '개인용' 64비트 CPU인 AMD 애슬론 64
인텔이 열심히 삽질을 하는 동안 AMD는 애슬론을 크게 발전시켜 애슬론 64라는 CPU를 내놓는다. 애슬론 64는 최초의 개인용 64비트 CPU라며 열심히 마케팅을 했는데, 그동안의 AMD 제품들과 달리 실제 성능이 대단했다. 성능이 뛰었던 이유에는 여러가지가 있겠지만, 그 전까지의 CPU들과는 다르게 RAM을 CPU에서 직접 컨트롤 했다는 것이 가장 컸다. 기존의 CPU들은 마더보드에서 메모리를 컨트롤 하는 구조였기에 같은 RAM을 꽂더라도 마더보드에 따라 성능이 제멋대로 갈리는 일이 많았는데, AMD는 하이퍼 트랜스포트라는 새로운 메모리 버스 구조를 설계하여 CPU와 메모리 사이를 직접 이어두었다. 인텔보다 두 세대는 앞서간 독특한 구조 덕분에 애슬론 64는 당시 여러모로 죽을 쑤고 있던 펜티엄 4보다 꽤나 빠른 CPU였고, 인텔 CPU가 AMD CPU보다 더 나은 메모리 성능을 가지게 된건 애슬론 64의 참신함이 빛을 잃을 무렵이었던 3년 즈음 후의 일이다.
애슬론 64엔 당시의 인텔 CPU들과는 다른 또 하나의 장점이 있었다. 애슬론 64는 64비트 CPU이면서도 32비트 프로그램들과의 호환성을 완벽하게 보장했기에 사서 일단은 32비트로 쓰다가 나중가서 64비트 운영체제와 프로그램이 대중화 되면 아무런 하드웨어 변경 없이도 쓸 수 있었다는 점이다. 같은 프로그램도 64비트 운영체제에서 돌리면 32비트 대비 작게나마 성능 향상이 있었으니 사람들 눈엔 애슬론 64가 꿈의 CPU처럼 보였고, 실제로 꿈의 CPU라 불려도 될만큼 충분히 좋은 물건이었다. 이쯤 되니 인텔은 오래전 애슬론 1Ghz의 악몽을 다시 떠올린다. 64비트라는 단어의 달콤함으로 소비자들을 유혹해대며 성능까지 대단했던 AMD를 도저히 이겨낼 수가 없었던 것이다. 결국 애슬론 64와 애슬론 64의 서버용 버전인 옵테론은 AMD의 시장 점유율을 40%까지 높이며 인텔을 가장 크게 괴롭힌 희대의 걸작 CPU가 되고 만다.
이때 애슬론 64는 인텔의 x86 32비트 명령어 세트를 바탕으로 해서 64비트 CPU를 만들었는데, 기존의 프로그램들과 호환성을 가지는 64비트 프로세서임을 강조하기 위해 x86-64라는 명령어 세트 이름을 붙여줬다. x86-64 자체가 x86에 64비트 지원만을 추가적으로 얹어놓은 수준이기에 저 이름은 나름대로 합리적이었으나, 이게 나중 가서 AMD64 라는 이름을 얻게 되는 과정에서 이 망할 이름이 사람들을 많이 헷갈리게 만들었다.
아이태니엄
AMD가 64비트 CPU를 준비하는 동안, 인텔은 완전히 새로운 설계의 64비트 CPU를 만들면서 Itanium이라고 이름을 붙여 주었는데 이 물건은 기존의 x86 명령어 세트와 호환성이 전혀 없었다. 보통은 이렇게까지 판을 갈아엎어가며 새로 시작하지는 않는데 아이태니엄만 유별났던 이유가 두 가지 정도 있다. 일단은 기존의 x86 명령어 세트가 인텔 눈에는 너무 낡아 보였기 때문이다. 이래저래 기존 제품들과의 하위 호환성을 유지하는 과정에서 군더더기도 많았고, 최초에 개발 되었을 당시에 미래를 내다보며 신경쓰지 않았던 부분들이 슬슬 발목을 잡기 시작했으니까. 그리고 두 번째로, 인텔은 64비트 CPU의 대중화 시점을 완전히 잘못 예측하고 있었다. 인텔의 계산대로라면 몇 년 쯤 뒤에나 슬슬 시작해볼까 싶었던 일이 애슬론 64가 등장하면서 순식간에 끝나버린 것이다.
원래대로라면 인텔은 아이태니엄을 서버/기업 시장에 먼저 자리잡게 한 뒤에 시간을 두고 개인 소비자용 CPU를 천천히 64비트로 이전 시키려 했다. 그런데 애슬론 64가 등장하고 64비트용 운영체제와 프로그램이 빠른 시간에 퍼져 나가면서 인텔의 아이태니엄은 이도 저도 아닌 물건이 되어 버렸다. 완전히 새로운 명령어 세트로 만들어졌다보니 운영체제나 프로그램 모두 호환성이 꽝이었고, 64비트를 지원한다는 장점도 AMD의 서버용 64비트 CPU인 옵테론이 있었기에 빛을 잃어버렸다. 설상가상으로 아이태니엄은 아이태니엄 전용으로 개발된 64비트 윈도나 리눅스를 써야만 했고 거기서 x86 프로그램을 돌리려면 에뮬레이터를 거쳐야 해서 참담하게 느렸다. 허나 옵테론은 기존의 x86용 윈도를 쓸 수 있었고, x86용을 살짝 바꾸어 x86-64용으로 내놓은 운영체제를 설치한 뒤 예전에 쓰던 x86용 프로그램들을 돌릴 수도 있었다. 한 마디로 신뢰성과 일부 프로그램에서의 성능 향상을 제외하고는 옵테론보다 나은 것이 없었던 것이다. 심지어 기업 전용으로 개발된 제품인 탓에 가격도 무지막지하게 비쌌다.
2015년 현재 아이태니엄은 일부 초고성능 컴퓨터나 금융권 서버에 아주 적은 양만이 쓰이고 있고 그나마도 개발 당시부터 참여했던 HP를 제외하고는 사다 쓰는 제조사가 하나도 없다. 그리고 아이태니엄은 명령어 세트는 IA-64라는 이름을 가지고 있었는데, AMD의 x86-64 명령어 세트가 훨씬 더 큰 성공을 거두면서 저 이름마저도 완전히 잉여가 되어버렸다. 그 뒤로 IA-64는 쓸데없이 이름만 남아 여러 사람을 헷갈리게 만든 인텔 최악의 흑역사로 남는다.
엇갈리는 이름들
x86-64라는 명령어 셋 이름이 너무 길다보니 사람들은 x64로 줄여서 부르기 시작했고, 시장은 혼란에 빠졌다. 더 큰 숫자가 더 높은 성능이라는 공식에 익숙해져들 있었는데 86이 64보다 숫자가 크다보니 사람들은 x86과 x64중 x86쪽이 더 무언가 높은 위치에 있는 물건이라는 느낌을 받아버린 것이다. 상황이 이렇다 보니 일부에서는 32비트 프로그램에 x86 대신 x32라는 붙여서 32비트 프로그램임을 알리는 일까지 생겼는데, 여기까지만 해도 인텔이 크게 잘못했다기 보다는 우연이 겹쳐서 발생한 작은 해프닝 정도에 불과했다.
그러나 인텔이 x86-64의 특허를 AMD로부터 사온 뒤, 자기네들 CPU에 넣어 64비트 펜티엄 4를 만들면서 명령어 셋 이름을 IA-32e로 붙여버리면서 더 큰 혼란이 생긴다. IA-32e는 나름대로의 이유가 있었다. 당시에 쓰이던 명령어 세트를 다들 x86이라고 불렀지만 인텔 내부적으로는 Intel Architecture 32를 줄여 IA-32라고 부르고 있었는데 x86-64가 기본적으로는 IA-32를 살짝 발전시킨 물건이기에 PC업계에서 기존 제품의 발전형에 흔히 붙이는 enhanced를 뒤에 붙여 IA-32e라고 이름 붙였던 것이다. 문제는 IA-32e라는 이름만 봐서는 64비트 지원 CPU라는 사실을 떠올리기 어려웠다. 애초에 숫자가 32라고 붙어있는데 누가 64비트를 떠올리겠는가.
그래서 새로운 이름을 붙인 것이 EM64T였다. Extended Memory 64 Technology의 약자인데 인텔 나름대로는 IA-64, 즉 아이태니엄만이 자기네들이 제대로 만들어낸 64비트 아키텍쳐라고 말하고 싶었기에 저런 이름을 골랐을 것이다. 그러나 이름을 놓고 보았을 때 이건 '새로운 64비트용 명령어 세트'의 이름이라기 보다는 '64비트 메모리를 지원하는 CPU의 고유 기능' 정도로 느껴졌다. 결국 EM64T도 시장에서 실패한 브랜드가 됐다.
인텔이 아이태니엄의 가치를 지키기 위해(사실 지킬만한 가치 따위 애초에 없었지만-_-) 64비트 명령어 세트의 이름을 가지고 이런저런 삽질을 하는 동안 AMD는 x86-64의 이름을 AMD64로 바꾸며 뭔가 새롭고 강력한 CPU라는 이미지를 주는데 성공한다. 그리고 여세를 몰아 최초의 x86 기반 듀얼코어 CPU를 개발해서 또 한 번 인텔의 심기를 뒤집어 놓고 인텔은 AMD가 저러는 동안 EM64T라는 이름을 'Intel64'로 바꾸며 코어 2 듀오가 나올 때 까지 오만가지 욕을 다 먹게 된다. 물론 그 뒤로는 모두들 알듯이 AMD가 인텔에 와장창 박살나게 되었고, 그 뒤로 AMD는 단 한 번도 인텔보다 빠른 CPU를 만들어내지 못한다.
△ 이런 식으로 32비트용은 x86, 64비트용은 x64라고 표기하는 일이 요즘엔 많아졌다.
요약하자면, x86-64 = x64 = IA-32e = EM64T = AMD64 = Intel64 라는 것이다. 그리고 저 이름들 중 제일 널리 쓰이는 이름은 가장 짧고 간단한 x64이다. 윈도나 프로그램을 설치할 때, x86이나 x64라는 단어를 볼 수 있는데 이건 해당 프로그램이 x86 혹은 x64 명령어 세트를 지원한다는 의미이다. x86이라 써있으면 32비트용 프로그램이고 x64라고 써져 있으면 64비트 프로그램이라는 뜻이기도 하다.
x86 - 어제, 오늘 그리고
한 3년 즈음 전 스마트폰과 컴퓨터, 정확히는 ARM 컴퓨터 아키텍쳐와 x86 컴퓨터 아키텍쳐의 대결에서 ARM의 승리를 점치는 사람들이 많았다. 그들은 심지어 ARM이 x86의 시장마저도 잡아먹을 것이라며 'x86은 이제 끝장이다' 라며 말을 하곤 했는데, 당시엔 분위기가 그럴 것 같아 뵈기도 했지만 나는 오히려 'ARM이 고성능화 되는 것보다 x86이 저전력화 되는 속도가 빠를 것이다' 라고 이야기 했고 2015년 현재 내 예상은 틀리지 않았다.
스냅드래곤 810이 최대 20W를 먹어댄다는 테스트 결과가 나오는가 하면 인텔의 Atom이나 Core M CPU들의 믿을 수 없는 전력대비 성능에 충격을 받는 사람들도 나온다. 특히 요즘 나오는 아톰들은 누가 봐도 흠칫 할 정도인데, 고작 5W도 안먹는 물건이 예전에 60W씩 먹어대던 코어 2 듀오와 비슷하거나 더 나은 성능이 나와버린다. ARM이 고성능화에 목숨을 걸다가 뜨겁고 전기를 많이 먹어대는 바람에 시장에서 처참하게 박살난 걸 생각하면 x86의 저전력화가 얼마나 성공적이고 대단한 일인지 알 수 있다.
△ ARM진영이 발열과 전력소모로 고생하는 동안 인텔은 저렇게 작은 x86 컴퓨터를 만들어버렸다.
이 마당에 인텔은 ARM 프로세서들 보다도 한참 전기를 덜 먹는 x86 프로세서를 개발해 버렸다. 그 CPU의 이름은 쿼크인데, 여지껏 인텔의 막내 CPU 역할이었던 Atom보다도 더 작은 CPU라는 의미를 제대로 담고 있는 이름이다. 우리는 원자를 '더 이상 쪼갤 수 없는 물질의 최소 단위' 정도로 배워왔다. 헌데 과학이 발전하며 원자도 더 작은 단위로 쪼갤 수 있다는 것을 알게 되었고, 그 원자의 구성 요소중 하나로 밝혀진 입자의 이름이 바로 '쿼크'이다. 아톰보다도 더 작은 CPU를 만들면서 이름을 쿼크라고 붙여놓다니, 인텔의 개그센스가 눈부시다.
x86의 미래를 논하면서 소모전력과 ARM과의 싸움만을 이야기 해봤자 뭐하냐고 되물을 수도 있다. 그런데 이 논리는 3~4년 즈음 전 ARM의 밝은 미래를 내다 보았던 사람들의 논리와 같다. 친환경이니 저전력이니 하는게 요즘 유행이라 전기를 덜 먹는 ARM CPU 옹호론자들이 많았다. 그리고 뭔가 대단한게 쏟아져 나올 것처럼 기대들을 했는데 3년 정도 지난 지금, 딱 잘라 말해서 뭐 변한게 있기는 하냐고 그들에게 되묻고 싶다.
혁신적인 기계가 나왔다 한들 사람이 변하질 않으니 삶이 크게 달라질 리가 없다. 하드웨어 혼자 잘나봤자 의미가 없는 시대이고 관련된 소프트웨어와 생태계가 얼만큼 잘 살아남느냐의 문제인데, x86은 그런 부분에서 여지껏 쌓아온 것이 워낙 많기에 당연히 앞으로도 유리하다. 당장 윈도와 오피스는 둘째 치고 제대로 된 그래픽 툴이나 동영상 편집 툴 중 윈도/인텔을 벗어나서 쓸 수 있는 선택지가 몇 개나 되는지 뒤져보면 답이 나와있지 않은가.
뭔가 완전히 다른 개념의 컴퓨터가 등장하리라 믿고 싶은 사람들이 많겠지만 나는 우리가 그런 걸 지금처럼 평범하게 쓰려면 아무리 짧아도 20년 정도는 걸릴거라고 생각 하고 있다. 괜히 새로운 거 나왔다는 말에 휩쓸려서 멀쩡히 잘 쓰던 x86 컴퓨터를 구닥다리 취급 할 이유가 없다는 이야기다. 적당히 2~3년 쓰다가 고장나면 버리고 새로 사고 반복하면서 천천히 바뀌어 가길 기다리면 그만이다. 그러니까 쓸데없이 기업들의 마케팅에 놀아날 필요도 없고 엄청난 걸 기대할 필요도 없다. 그냥 대충 쓰다가 바꿔라. 이게 요즘 시대의 가장 현명한 소비 방법이다. 그리고 컴퓨터 시장에서 x86을 능가할 새로운 아키텍쳐는 당분간 튀어나올 일이 없을 것이다. x86의 역사가 그것을 증명한다.
글을 마치며 - IBM PC를 만들지 않는 IBM
PowerPC라는 CPU가 있다. 여기서의 PC는 Personal Computer가 아니라 Performance Computing의 약자이다. x86과는 전혀 호환성이 없는 아키텍쳐이며......IBM이 만든다. PowerPC는 본래 메인프레임 같이 커다란 컴퓨터 시장에서 쓰이던 POWER 프로세서를 작게 줄여놓은 물건이다. IBM이 제조를 맡았지만 애플과 모토롤라도 개발에 참여했고, 그 결과 애플의 매킨토시에는 한동안 PowerPC를 적당히 손 본 CPU가 들어갔다가 2006년도 즈음이 되어서야 애플이 인텔 CPU를 사용하게 되면서 아키텍쳐가 완전히 바뀌게 된다. 그리고 꽤나 의외의 사실이 하나 더 있는데, 닌텐도 Wii나 소니의 플레이스테이션 3같은 게임기에도 PowerPC 기반의 CPU가 들어갔다. 슈퍼컴퓨터에나 들어갈 법한 CPU를 작게 줄여서 게임기에 썼다니 참으로 신기할 일이다.
△ IBM의 P 시리즈 시스템. POWER 프로세서가 장착되어 있다.
PowerPC의 원형인 POWER Processor쪽도 여전히 잘 팔린다. IBM은 하드웨어의 제조 유통을 하는 것에 그치지 않고 기업 컨설팅을 차세대 성장 동력으로 잡아 몇 년 전부터 꾸준하게 해오고 있는데, 이게 상당히 장사가 잘 됐다. 그 과정에서 x86 컴퓨터들보다 많이 비싸지만, 신뢰도와 성능이 더 좋은 POWER CPU가 장착된 P 시리즈 장비들은 IBM의 컨설팅 사업과 맞물려서 일정 수준 이상 팔려나가고 있다. 여러 대의 x86 시스템을 묶어서 사용하는것도 괜찮지만, 관리에 들어가는 비용과 인건비 등을 전부 계산해 보면 x86보다 더 싸게 먹히는 경우가 종종 있다는 모양.
POWER 이야기가 나왔는데 결론적으로 IBM은 IBM PC 호환기종 때문에 자기네들이 공들여 꾸려놓은 텃밭에서 농사를 못 짓고 있다는 뜻이다. 여전히 IBM은 컴퓨터 시장에서 어마어마한 영향력이 있지만, 여태까지 이런저런 고생을 해온 걸 보고 있으면 참 눈물이 앞을 가린다. 그러나 이러니 저러니 해도, IBM만큼 컴퓨터 시장에 발자국을 크고 깊게 남긴 회사는 여태까진 없고, 앞으로도 아마 없을 것 같다. 그러니까 I Bought Mac 같은 말로 IBM 놀리지 말고 다들 IBM을 사랑하자는 것이 오늘 나의 결론.
- 말과 글을 배우지 않아도 심장이 뛰고 피가 흐르듯이, 컴퓨터에는 BIOS가 있어 기본적인 기능들이 돌아가게 만들어준다. 즉 BIOS는 '심장이 뛰는 법'이나 '숨을 쉬는 법' 같은 것이 미리 적혀져 있는 컴퓨터의 프로그램이다. [본문으로]
- 아키텍쳐는 소프트웨어/하드웨어 모두를 아우르는 규격이지만 폼팩터는 각 부품들간의 물리적/전기적 호환성만을 가리키는 규격이다. 즉 부품들끼리 서로 맞는 구멍이 있는가, 그리고 꽂으면 전기가 제대로 통해서 작동할 수 있는가 정도만 정해준다. [본문으로]
- 지금은 단순히 단자의 이름에 불과하지만 본디 '맥북'같은 컴퓨터의 브랜드이자 모델 이름이었다는 의미다. [본문으로]
- Keyboard, Video, Mouse를 합쳐 KVM. 알고 보면 별 거 없는 약자라 웃음이 나온다. [본문으로]
- MultiMedia eXtension의 약자인데, 한 마디로 이 기능이 들어간 CPU들은 동영상이나 3D 게임을 더 빠르게 돌릴 수 있었다. 그리고 재밌는 것은, 인텔은 MMX가 MultiMedia eXtension의 약자라는 사실을 공식적으로는 부인했다는 점이다. 486처럼 단순한 숫자나 글자를 늘어놓는 것 만으로는 상표등록이 안되는 사례가 있다보니 발생한 일. [본문으로]