娇色导航

????

??? ??

benj_edwards
By benj_edwards

40?? ??? ?? 8086 ????????? ? ???

??
2018.06.126?

40? ? ??? 8086 ????? ???? ??? ????? ????? ?? PC? ??? ?? x86 ????? ????.

1978년 인텔의 8086 마이크로프로세서 발표는 개인용 컴퓨팅에 있어서 역사적인 사건이었다. 바로 이 칩의 DNA는 윈도우부터 맥, 리눅스까지 모든 컴퓨터의 중심에 자리 잡고 있으며, 또한 인텔이 수많은 칩 업체 중 하나에서 세계 최대의 칩 업체로 변신하는 데 일조했다.

하지만 8086의 엄청난 성공에 관해 가장 놀라운 것은 처음 나왔을 때 사람들이 얼마나 기대감이 없었냐는 것이다. 이 혁명적인 프로세서의 역사는 소규모의 영리한 엔지니어팀이 혁신적인 방법으로 자신들의 일을 할 수 있는 자유가 주어졌을 때 얼마나 큰 일을 해낼 수 있는지를 보여주는 고전적인 이야기이다.

1976년 5월 8086 개발이 시작됐을 때, 인텔 경영진은 이런 엄청난 파급효과는 상상도 하지 못했다. 사소한 미봉책 프로젝트 정도로 봤다. 경영진은 인텔의 운명을 8800이라는 완전히 다르고 매우 정교한 프로세서에 걸고 있었다. 후에 이 프로세서는 iAPX 432이란 이름으로 출시됐다. 대부분 칩이 8비트 데이터 경로를 사용하던 시절, 8800은 이를 32비트로 뛰어넘어려 했다. 첨단 멀티태스킹 기능과 메모리 관리 회로를 CPU에 직접 구축해 운영체제가 훨씬 적은 프로그램 코드를 실행할 수 있도록 했다.

하지만 8800 프로젝트는 순조롭지 못했다. 인텔 엔지니어들은 당시의 칩 기술로는 이처럼 복잡한 설계를 구현하기 어렵다는 것을 알게 되면서 수없이 지연됐다. 그리고 인텔의 문제는 여기서 그치지 않았다. 전직 인텔 엔지니어들이 세운 자일로그(Zilog)란 회사로부터 측면 공격을 받고 있었다. 자일로그는 Z80 CPU로 중급 마이크로프로세서 시장을 빠르게 잠식했다. 1976년 7월 출시된 Z80은 인텔의 성공적인 CPU인 8080을 개선한 복제품이었다. 8080은 실질적으로 PC 혁명을 시작한 프로세서였지만, 인텔은 Z80에 대한 대응책을 마련해야만 했다.

아키텍트의 등장

인텔 경영진은 8800에 대한 믿음을 버리지는 않았지만, 자일로그의 위협에 어떻게든 대응해야만 한다는 것을 알았다. 경영진은 36살의 전기 엔지니어인 스테판 모스에게 부탁했다. 모스는 8800의 설계 결함에 대한 결정적인 시험으로 주목을 받고 있었다. 인텔 고위 경영진은 모스를 8086의 단독 설계자로 찜했다. 모스는 “만약 인텔 경영진이 이 아키텍처가 수많은 세대를 거쳐 오늘날까지 살아남을 것이라고 어렴풋하게라도 생각했다면, 절대로 이런 임무를 한 사람에게 맡기지 않았을 것이다”라고 회상했다.

모스를 선택한 것은 또 다른 면에서도 의외였다. 모스는 소프트웨어 엔지니어였기 때문이다. 기존에 인텔에서 CPU 설계는 하드웨어 엔지니어의 영역이었다. 모스는 “처음으로 우리는 프로세서 기능을 소프트웨어 관점에서 보기 시작했다”라며, “질문은 남는 공간에 어떤 기능을 넣어야 하는가에서 소프트웨어를 좀 더 효율적으로 만들려면 어떤 기능이 필요한가로 바뀌었다”라고 말했다. 이런 소프트웨어 중심 접근법이 혁명의 시작이었다.

8086은 모스의 작은 프로젝트였지만, 혼자서만 한 것은 아니었다. 모스의 팀에는 다른 인텔 직원들이 참여했는데, 빌 폴먼, 짐 맥케빗, 브루스 라베넬 등은 모두 1978년 여름 8086이 시장에 나오는데 필수불가결한 핵심적인 역할을 했다.

기본적인 요구사항, 즉 8086은 인기 있는 8080 칩용으로 작성된 소프트웨어와 호환되어야 한다는 것과 128KB의 메모리를 관리할 수 있어야 한다는 것 외에 인텔 경영진은 모스의 방식에 간섭하지 않았다. 모스는 “아무도 이 설계가 오래 갈 것이라고 생각하지 않았기 때문에 내 방식에 방해가 되는 것은 없었다. 그리고 나는 내가 원하는 것을 자유롭게 했다”라고 말했다.

맥없는 제품 출시
모스의 작품은 출시와 함께 컴퓨팅 세계에 폭풍을 몰고 오기는 어려웠다. 중급 PC 시장은 Z80 기반의 진부한 업무용 시스템이 잠식했고, 1970년 말에나 유행했던 운영체제인 CP/M을 구동했다. 8086은 처음에 몇몇 눈에 띄지 않는 PC와 터미널에 탑재됐다. 휴대형 컴퓨터 시장에서 C8086의 형태로 약간의 거점을 마련했다. 결국에는 마이크로컨트롤러와 임베디드 애플리케이션 시장에서 채택하기 시작했는데, 대표적인 예가 NASA 우주왕복선 프로그램이다. NASA는 오늘날까지도 8086 칩을 고체 로켓 엔진의 진단 테스트를 제어하는 데 사용한다. NASA는 더 이상 생산되지 않는 8086 칩을 얻기 위해 구형 의료기기를 이베이에서 사들이기도 했다.

1979년 3월 모스는 인텔을 떠났다. 이후 평범한 일련의 사건들이 모여 8086을 산업표준으로 만들었다.



모스가 떠나고 몇 주 후 인텔은 8088을 출시했다. 모스는 8088을 “8086의 거세된 버전”이라고 불렀는데, 8086의 16비트 기능의 불량 버전을 사용했기 때문이다. 많은 시스템이 여전히 8비트였기 때문에 8088은 16비트 데이터를 2개의 8비트 사이클로 내보내 8비트 시스템과 호환되도록 했다.

2년후 IBM은 모델 5150 개발 작업에 착수한다. IBM의 첫 PC로 저렴한 기성품 부품으로만 구성하고자 했다. IBM으로서는 획기적인 개념이었는데, 기존에 IBM은 자사의 독점 기술을 강조하며 다른 업체를 배제했기 때문이다.

분명한 것은 기성품 시스템은 기성품 마이크로프로세서가 필요하다는 것. 그렇다면 어떤 것을 선택해야 하는가? IBM은 초기에 자사의 새 머신에 16비트 프로세서가 필요하다고 결정했으며, 후보는 3개로 좁혀졌다. 모토로라 6800(첫 매킨토시에 사용된 강력한 16비트 프로세서), 인텔 8086, 그리고 거세 버전인 인텔 8088이었다.

IBM 개발팀의 초기 구성원이었던 데이빗 브래들리에 따르면, IBM은 모토로라 칩을 고려대상에서 제외했는데, IBM이 인텔 프로세서에 좀 더 익숙했기 때문이다. 여기에 마이크로소프트가 8086용으로 사용할 수 있는 BASIC 인터프리터를 준비하고 있었다는 것도 선택에 영향을 미쳤다. 그리고 마이크로소프트는 이를 같은 기반 코드를 사용하는 8088에도 공유했다.

이제 IBM은 8086과 8088 중에 선택해야 한다. 결국 결론은 칩 수를 줄이는 단순한 경제학으로 귀결됐다. IBM은 8088을 선택했는데, 더 적은 ROM 모듈과 RAM을 사용할 수 있어서 더 저렴한 시스템을 만들 수 있기 때문이었다.

하지만 어떤 의미에서는 IBM이 둘 중 어느 것을 선택했든 결과는 마찬가지였다. 두 칩은 모두 스테판 모스가 작성한 동일한 8086 코드를 기반으로 만들기 때문이다.

하나의 칩에서 표준으로
그렇다면 8086 코드는 어떻게 산업 표준이 되었는가? 대답은 IBM 5150 자체의 역할 속에 있다. 5150은 컴퓨터월드 선정 역대 최고의 PC 25대 중 하나이기도 하다. 1980년대 초 PC 산업은 소비에트 연방 붕괴 후의 동유럽과 같은 상황이었다. 수많은 공화국이 모두 다른 방향을 향하고 있었다. 10여 가지의 서로 다른 컴퓨터 플랫폼이 그만큼 많은 PC 제조업체로부터 나왔다. 컴퓨터 시스템 간의 비호환성은 사용자를 계속 실망시켰는데, 사용자는 한 시스템에서 사용하던 소프트웨어와 하드웨어, 주변기기를 다른 컴퓨터에서도 사용하기를 바랬다.

하지만 시간이 지나면서 이렇게 서로 분리된 PC 세계가 5150을 중심으로 하는 궤도로 떨어졌다. 5150이 성공한 이유 중 하나는 IBM이라는 이름이 찍혀 있었기 때문이다. 이 상표는 기업 구매자에게는 라디오 섁(Radio Shack)이나 애플 같은 경쟁업체와는 다른 품질을 보장하는 도장과 같은 것이었다. 브래들리는 당시에는 “International Business Machines가 만든 컴퓨터를 살 것인가 아니면 과일 이름을 딴 업체가 만든 것을 살 것인가?”라는 것이 문제였다고 말했다.

그리고 IBM은 기성 부품을 사용했기 때문에 다른 업체도 복제품을 생산할 수 있었고, 실제로 그렇게 했다.

IBM PC가 빠르게 지배적인 플랫폼으로 자리 잡자 인텔은 매년 8086의 개선된 버전을 개발하는 것으로 이런 흐름에 힘을 보탰다. 80186을 시작으로 80286, 80386, 80486, 펜티엄으로 발전했고, 진화는 계속 됐다. 이들 CPU 설계가 같은 끝자리 숫자를 이름으로 사용한 덕분에 x86이란 이름이 자리를 잡게 됐고, 심지어 인텔이 펜티엄, 셀러론 등 좀 더 쉽게 알아볼 수 있는 이름으로 바꾼 후에도 이들 CPU를 대표하는 이름으로 사용되고 있다. 다른 CPU 업체도 인텔이라는 시류에 금방 합류했는데, AMD, 사이릭스, NEC, 심지어 IBM도 자체 x86 호환 프로세서를 출시하며 x86을 PC 표준으로 더욱 공고히 했다.

적절한 시기 적절한 장소가 만든 기회
모스와 브래들리의 말에 따르면, 현재 x86이 표준으로 자리 잡은 데는 좋은 기회가 차지하는 비중이 크다. 모스는 “나는 매우 운이 좋아 좋은 시기에 좋은 곳에 있었다”라며, “똑똑한 엔지니어라면 누구라도 8086 프로세서를 설계할 수 있었다. 그 프로세서는 내가 작성한 것과는 완전히 다른 명령어 세트를 가질 수 있었겠지만, 그래도 모든 PC는 그 아키텍처를 기반으로 할 것이다”라고 말했다. 같은 맥락에서 브래들리는 “만약 IBM이 일부에서 원했던 것처럼 IBM PC용으로 모토로라 68000을 선택했다면, 윈텔(Wintel)이 아니라 윈올라(WinOla)가 지배하는 세상이 되었을 것이다”라고 농담을 했다.

x86의 진정한 힘은 CPU를 구동하게 만드는 특정 운영코드에 있는 것이 아니라 공통된 컴퓨터 표준이라는 추동력에 있다. 8086이 컴퓨터의 속도, 용량, 가격과 성능이 획기적으로 진화할 수 있는 기반을 마련했다면, 수많은 관련 업체 간의 치열한 경쟁이 실질적인 발전을 주도했다.

모스가 거칠게 만든 8086 명령어 세트는 거의 모든 최신 CPU에 중심에 그대로 남아 있다. 이렇게 생각하면 된다. 1978년에 인텔 8086 마이크로프로세서용으로 작성한 어떤 어셈블리 프로그램이라도 인텔의 코어 2 CPU에서 실행될 것이다. 물론 18만 배 빠르게.  editor@itworld.co.kr

benj_edwards
By benj_edwards

Benj is editor-in-chief of Vintage Computing and Gaming. He's written for the PCWorld, Macworld, Atlantic, PCMag and Fast Company.

? ??? ?? ???