IBM PC 제품 역사 | ||||
PC | XT | jr | AT | PS/2 |
IBM PC (model 5150) 사진 출처.
1 개요
정식명칭은 'IBM Personal Computer 5150'. IBM이 만든 최초의 16비트 PC이자, IBM PC 호환기종의 시초가 된 역사적인 개인용 컴퓨터. 컴퓨터 역사상 레전드로 남게 될 x86 아키텍처와 마이크로소프트의 전설은 여기서 시작되었다. 말하자면 오늘날 우리가 사용하고 있는 PC의 직접적인 시조되시겠다. 여담으로 '퍼스널 컴퓨터'라는 단어 자체는 IBM PC 이전에도 있었던 용어지만 IBM PC가 워낙에 히트를 쳐버리는 바람에 'PC'라고 하면 IBM PC 및 호환기종을 지칭하는 것으로 굳어져버렸을 정도.
1981년 8월 12일에 출시되었다. 모델넘버는 1975년에 발표된 IBM 5100에서 물려받은 것이지만 아키텍처상의 공통점은 없다. 81년 당시에는 이미 애플 II+가 미국 PC 시장을 점령하고 있었다고 해도 과언이 아닌 시점이었다. IBM은 모델 5100 등의 소형 컴퓨터를 만든 경험은 있었지만 개인용/가정용을 타겟으로 컴퓨터를 만들어본 경험은 없었다. 따라서 IBM은 실패를 대비하고 선발주자를 따라잡기 위해 처음부터 모든 아키텍처를 자사가 직접 설계하여 구축해나갔던 기존의 방법론을 버리고 CPU, 메모리 등의 구성 하드웨어와 OS를 모두 시장에 존재하는 기성품을 사용하고 타사에서 주변기기나 호환기종을 만들 수 있도록 아키텍처를 개방하는 정책을 결정하였다. 심지어는 BIOS의 소스코드까지 공개했을 정도. 훗날 IBM은 PS/2를 내면서 폐쇄 아키텍처로 돌아가지만 이 때의 아키텍처 개방 정책의 결과는 오늘날의 PC에까지 영향을 미치고 있다고 보아도 무방하다. IBM 입장에선 별로 돈이 되지 않았지만 업계 생태계 전체로 보았을 때는 그야말로 신의 한 수.
IBM PC는 처음에는 사무용으로 많이 팔려나갔다. 이 당시 개인용 컴퓨터의 주 용도는 사무실에서 업무용으로 쓰는 용도가 많았고, IBM PC의 컨셉 자체도 사무용이었기 때문이다. 가정용으로서는 비싼 가격이었지만 업무용이라는 용도로 생각하면 그다지 비싸지 않았고 적어도 '처리속도'라는 측면 하나만큼은 기존의 애플 II 등의 8비트 머신들이 상대가 되지 않을 정도로 뛰어났기 때문이었다. 그 반면에 고자와도 같은 그래픽과 사운드 능력은 8비트 가정용 기종에도 밀리는 수준이었고, 이 때문에 가정용 컴퓨터 시장에서는 밀리는 경향을 보였다.
가격은 일반적인 사양으로 램 64KB에 CGA 그래픽 카드와 모니터, 플로피 디스크 드라이브 1개짜리 구성을 선택할 경우 3,005달러였다. 싸다고 할 수는 없지만 스펙을 생각하면 지나치게 비싸지도 않은 가격이었다. 사양을 최대한 낮추어 모니터와 플로피 디스크 드라이브를 빼고 램을 16KB로 세팅하는 경우에는 반값인 1,565달러에도 구입 가능했다. 당시의 경쟁기종이었던 애플 II+가 본체만 1195달러였다는 점을 생각하면 경쟁력이 없는 가격은 아니었다.
사족으로, 컴팩(현재는 휴렛팩커드에 흡수됨)에서 리버스 엔지니어링으로 세계 최초의 IBM PC 호환기종이자 세계 최초의 휴대 가능한 IBM PC 호환기종인 '컴팩 포터블'이 시장에서 성공한 이후, IBM에서 역으로 벤치마킹하여 1984년 IBM 포터블 PC(IBM Portable Personal Computer 5155 model 68)라는 녀석을 만들어내기도 했다. 다만 5155는 XT 기반.
2 하드웨어
- 인텔 8088 프로세서. 클럭은 4.77MHz. 후속 기종인 PC/XT에도 이 프로세서를 사용하였다. 이 CPU는 x86의 시조인 8086의 너프 버전으로, 의외로 최초의 x86 아키텍처는 최초의 x86 CPU인 8086을 사용하지 않았다는 아이러니가 있다. 8088은 8086과 다른 성능은 동일하지만 외부 버스가 8비트로 동작하는 특징이 있었다. 8086은 내부/외부 모두 16비트. 이러한 설계를 한 이유는 8088은 8비트 외부버스를 통해 외부적으로 8비트 CPU처럼 다룰 수가 있는 점을 이용하여 당시까지 나와있었던 주변기기와의 접속을 용이하게 하기 위해서였다고 한다. 실제로 IBM PC와 PC/XT의 확장 슬롯은 데이터 버스가 8비트였다. 어쨌거나 16비트 CPU 답게 당대의 주류를 이루고 있던 6502나 Z80 같은 8비트 CPU를 압도하는 연산성능을 가지고 있었다.
- 보조 프로세서
- 부동소수점 연산을 위해 인텔 8087 코프로세서를 옵션으로 장착할 수 있었다. 당시 인텔 x86 CPU는 부동소수점 연산 기능이 없었고 필요할 경우 이를 보조해주는 보조 프로세서를 장착하도록 되어있었기 때문이었다.[1] 물론 이게 없다고 하더라도 웬만해서는 소프트웨어적으로 처리할 수 있었으므로 소수 연산이 안되는 것은 아니었지만 속도도 느리고 정확도도 떨어졌다.
- 기본적으로 64KB를 실장하고 최대 256KB까지 확장이 가능했다. 특이한 것은 16KB까지 다운그레이드도 가능했다는 점(...). 당시에는 RAM은 꽤 비싼 부품이었기 때문에 다른 사양은 거의 그대로 두고 메모리 사양을 조절해서 가격을 조정하는 정책은 대부분의 개인용 컴퓨터 제조사가 실시하던 정책이라 별다르게 IBM PC가 특이한 것만은 아니기는 했다. 애플 II가 장착할 수 있는 최대 메모리가 64KB였다는 점을 생각하면 256KB는 대단히 큰 메모리였고 이는 빠른 CPU 처리속도와 맞물려 사무용으로 각광받는 원인이 되었다.
- 당시의 컴퓨터들은 거의 전부가 고정된 그래픽 처리 회로를 메인보드에 내장하고 있었으나 IBM PC는 특이하게 이를 옵션부품화하였다. 돌이켜서 생각해보면 이 역시 신의 한 수. 5150은 기본으로 CGA를 내장하였고, 텍스트 처리가 중요한 환경(=업무용)을 위해 MDA를 선택할 수 있었다. 이에 맞춰 모니터도 두 종류가 있었다. CGA를 지원하는 RGB 컬러 모니터인 5153과, MDA를 지원하는 흑백 모니터인 5151이 그것이었다. 화면 크기는 둘 다 12인치. CGA는 NTSC 신호를 출력할 수 있었으므로 RCA 단자로 컬러 TV에도 연결할 수 있는 기능을 제공했다. 요즘 기준으로 생각하면 이상한 기능이지만 당시에는 모니터가 비쌌으므로 대부분의 개인용 컴퓨터는 모니터 대용으로 컬러 TV와 연결할 수 있는 기능을 제공하고 있었다.
- 사운드
- PC 스피커를 내장. 5V 전압을 인가해서 소리를 내는 단순한 구조의 스피커. 여담으로 애플 II에도 유사한 물건이 내장되어 있었다.
- 보조기억장치
- 카세트 테이프와 5¼인치 2D 플로피 디스크(360KB)를 사용할 수 있었다. 1대, 혹은 2대의 플로피 디스크 드라이브를 달 수 있었지만 제외하여 가격을 낮출 수 있었고, 옵션으로 전용 카세트 테이프 레코더를 달 수도 있었다. IBM PC와 카세트 테이프라니 뭔가 좀 안어울리는 이미지지만 그 시절엔 그랬다. 결국 후속기인 PC/XT에서는 카세트 테이프 레코더 단자를 삭제해버렸다.
3 소프트웨어
- PC-DOS 1.0. 마이크로소프트의 MS-DOS를 OEM 납품받은 것이다. 처음에는 당시의 8비트 운영체제의 사실상 표준이었던 CP/M 운영체제를 포팅해서 쓰려고 제작자인 게리 킬달과 접촉했다가 실패하고 당시로서는 이름이 크게 알려지지 않았던 벤처기업인 마이크로소프트에게 의뢰하여 PC-DOS를 채택하게 된 것이다. 상세한 과정은 MS-DOS 항목 참조.
- IBM BASIC. DOS와 마찬가지로 마이크로소프트가 기존에 개발한 Microsoft BASIC-80을 포팅하여 납품한 것이다. 애플 II 등의 당시의 경쟁기종과 마찬가지로 내부 ROM에 BASIC 인터프리터를 내장하고 있어서 플로피 디스크 드라이브를 통해 PC-DOS를 부팅하지 않으면 BASIC 화면이 뜬다. 카세트 테이프와 사이좋게 후대의 PC 호환기에서는 없어졌기 때문에 좀 의아하게 느껴질지도 모르는 부분. 소싯적에 IBM PC 호환기종을 DOS 없이 부팅했더니 NO ROM BASIC. SYSTEM HALTED 라는 메시지가 뜨는 것을 보고 '웬놈의 베이직...'이라고 생각한
뇐네위키러도 있을텐데 이 롬 베이직이 호환기종에는 들어있지 않았기 때문에 생기는 현상이었다. - 플로피 디스크를 사용하는 경우에는 PC-DOS 안에 들어있는 디스크 베이직(BASIC.COM)이나 어드밴스드 베이직(BASICA.COM)을 이용할 수 있었다. 어드밴스드 베이직을 바탕으로 롬 베이직이 내장되지 않은 호환기종을 위해 소프트웨어만으로 베이직을 사용할 수 있도록 만들었던 것이 GW-BASIC이므로[2] GW-BASIC의 아버지뻘 쯤 되는 물건이라고 하겠다.