나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2024-10-06 19:58:31

IBM 5100

파일:IBM 5100.jpg
후기형 하우징, 엠블럼이 있고 마킹은 없는 APL 버전의 모습이다.
통신 어댑터(Communications Adapter)는 달려 있지 않다.

1. 개요2. 스펙3. 외형4. 하드웨어 특성
4.1. 로직 구성4.2. 프로그래밍 언어4.3. PALM 프로세서4.4. 기억장치4.5. Read Only Storage4.6. 디스플레이4.7. 대용량 저장 장치4.8. 확장 장비 및 액세서리
5. 기타 정보6. 이야깃거리
6.1. 한국에서의 소장 및 운영 6.2. 존 티토와의 관계6.3. IBN 5100

1. 개요

IBM 5100은 1975년 9월 IBM사가 출시한 휴대용 컴퓨터이다. 역사상 최초로 상용화된 휴대용 컴퓨터라는 타이틀을 갖고 있다. 현재 스미소니언 박물관에 전시되어 있는 1973년에 IBM 팔로 알토 연구소에서 공개한 프로토타입인 SCAMP(Special Computer APL Machine Portable)의 발전 버전이다. SCAMP 개발자에 대한 인터뷰 내용은 여기의 26쪽인 PC World 1983년 10월호에서 찾아볼 수 있으며, SCAMP에 관한 다른 정보도 같이 실려 있다. 일부 번역된 서문은 여기서 볼 수 있다.

이 '휴대용 컴퓨터'의 무게는 50파운드(약 22kg)에 달했다. 여기서 이견이 있는데, IBM의 공식 광고에서는 50파운드라 칭했지만, 기본 옵션(BASIC+16KB) 제품의 경우 18-19kg 정도가 실제 무게이다. 다만 풀옵션을 고려할 경우 카드 5개 반과 케이블+커넥터가 추가되므로 22kg 정도가 실제 무게라 할 수 있다. 내장 배터리가 없었기 때문에 휴대용이라는 말이 무색하게도 전기 안 들어오는 곳에선 못 쓴다는 단점이 있었다.

한번 완충하면 6시간 이상 가며 무게는 400~500g 단위에서 노는 태블릿 PC들이 시장에 출시된 2010년대 시점에서 '이게 무슨 휴대용 컴퓨터야?'라고 생각할 수도 있지만 당시의 기술력 수준을 고려하면 충분히 휴대용이었다. 즉 당대에는 엄청나게 가벼운 컴퓨터였다는 것이다.[1] 배터리 문제 역시 당시 기술력의 한계였다. 휴대폰이 나오기 전 카폰이 먼저 나왔다는 것을 생각해 보면 된다. 이동통신망에 연결하여 전화 통화를 하는 인프라도 구축돼 있었고 단말기도 크기가 커서 좀 불편하지만 일단 휴대할 수는 있었는데 전원(배터리) 문제가 해결이 안되어서 차량탑재용이 먼저 나온 것이다. 일단 혼자서 옮길 수 있고 설치가 간단하며 어디든 들고 가서 전원만 있다면 쓸 수 있다는 점에서는 당시 기준으로는 충분히 휴대용이다. 현대의 일체형 컴퓨터의 원조격인 물건이라 보면 된다.

2. 스펙

출시 가격은 12개의 사양 중에서 선택 가능했으며, 램은 16KB부터 64KB까지, 언어는 BASIC, APL 또는 양쪽 모두를 탑재할 수 있었다. APL+16KB는 $8,975, BASIC+16KB는 $9,975, 양쪽 모두+16KB는 $10,975였으며, 16KB 램 모듈 하나당 $3,000로 추가할 수 있었다. 옵션으로는 내부의 확장 슬롯에 끼울 수 있는 통신 어댑터와 RS-232C 지원 직렬 I/O 어댑터가 있었다. 통신 어댑터는 동년 9월에 발표. EBCDIC과 EBCD 프로토콜을 사용하며, IBM 2741과 같은 터미널을 사용하는 메인프레임 장비의 자원을 사용할 수 있었다. 테이프 드라이브에서 프로그램을 불러와 사용했다고. 여담이지만 이때 가격을 기준으로 16GB의 RAM을 장착하면 30억 달러, 즉 3조 원이라는 금액이 나온다. 다만 16KB 모듈 하나에 3,000달러라는저 가격은 당시의 램 가격에 비교해도 좀 심하게 비싸다. 당시 신생 기업이었던 인텔이 1970년 10월 세계 최초의 DRAM인 1Kb짜리 Intel 1103을 출시했을 때 소매가격이 개당 10달러였다. 이 1970년 가격으로 계산해도 16KB라면 1280달러에 불과하다. 더구나 75년쯤 되면 이미 DRAM을 만드는 회사가 여럿 있었고 시장의 주력은 모스텍의 4Kb 램이었지만 이미 16Kb 램도 개발이 끝나고 출시 된 상태였다. 당연히 비트당 가격은 1970년에 비해 많이 떨어진 상태였다. 같은 1975년 알테어 8800의 4KB 보드가 264달러였으니출처 알테어보다 대략 3배 정도 더 받아먹은 거다. 더구나 IBM은 대기업이라 알테어 같은 소기업에 비해 훨씬 싼 값에 납품 받을 수 있다는 걸 생각해보면 당시 IBM의 고질병이던 이름값으로 비싸게 받아먹기가 여기서도 그대로 작용하고 있었던 걸 증명해주고 있다.

프로세서는 IBM PALM(Put All Logic in Microcode)이며, 클럭은 1.9MHz. 램은 16KB부터 단계적으로 16KB씩 최대 64KB까지 확장이 가능하였다. 롬은 PALM 18KB, APL 96KB, BASIC 32KB이였다. 디스플레이에는 NEC를 비롯한 여러 회사의 5인치 CRT 모니터가 사용되었다. 디스플레이 카드가 컨트롤하며, 가로 64문자*세로 16줄의 문자를 출력할 수 있었고, 명암 조절과 화면 반전 기능을 제공했다. 외부 출력은 BNC 케이블을 통하여 NTSC로 송신되며, TV를 사용하여 화면에 표시되는 내용과 같은 정보를 이렇게 볼 수 있다. 다만 내장 모니터에서 가능했던 화면 반전은 되지 않는다. 주의. 저장소로는 QIC(Quarter-inch Cartridge)규격의 204KB까지 저장 가능한 DC300 자기테이프 드라이브를 장착하였다. 그러나 DC6150 테이프에서도 데이터를 정상적으로 읽고 쓸 수 있는 것으로 보아 규격만 같으면 되는 듯 하다. 저장 용량은 동일한 듯.

당대에는 여러모로 혁신적인 컴퓨터였다. 프로그램을 배우지 않아도 사용 가능하도록 Problem-Solver Libraries라고 일컬어지는 것이 동봉되었는데, BASIC에는 Statistics, Business, Mathematics의 3개로 분류된 애플리케이션들이 포함되어 있었고, APL 또한 비슷한 것이 기본적으로 포함되어 있었다. 이것들은 대화형 루틴으로, 프로그램과의 문답을 통해 초보자도 쉽게 컴퓨터를 다룰 수 있는 이점을 가지고 있었다.

또한 하드웨어적 관점에서 보면 60년대 비슷한 사양의 컴퓨터였던 IBM제 컴퓨터는 500kg 가까운 무게를 갖고 있었으며, 이후 비슷한 사양으로 코모도어에서 코모도어 PET 2002를 출시하기까지 2년이 걸렸다는 걸 감안하면 대단한 것이다. 비슷한 크기의 데스크탑 컴퓨터로 HP 9830이란 기종이 있었지만 CRT나 큰 용량의 롬이나 램을 탑재하는 것은 불가능했다.

BASIC 상에서 기본 애플리케이션은 16KB로도 실행이 가능했지만, 프로그램과 그것이 다루는 데이터를 모두 램에 올려놓고 사용하기 때문에 데이터가 많아지면 램이 부족해졌으며, 동봉된 APL 기본 애플리케이션은 심지어 최저 32KB부터 요구하기도 했다. BASIC으로 부팅하면 램디스크처럼 램에 프로그램 파일을 복사하는데, 이것이 4KB를 차지한다. 따라서 램이 16KB일 경우 유저가 순수하게 쓸 수 있는 공간은 12KB(정확히 12001바이트)에 불과했다. 램 업그레이드를 선택할 수 있었지만, 그럴 경우 가격 차이가 많이 나(맨 위 가격 참조) 결국 대중적으로 쓰이진 못했다.

APL쪽은 APL\360을 탑재했으며, 현대 APL의 꽃인 Tacit programming은 지원하지 않는다.

여기서 (광고이긴 하지만) IBM 5100이 실제로 어떻게 쓰였는지에 대해 볼 수 있다.

3. 외형

IBM 5100의 하우징은 굉장히 다양하다.

4. 하드웨어 특성

4.1. 로직 구성

IBM 5100의 로직 대부분은 'Dutchess'라고 불리는 TTL 호환의 '134-gate bipolar gate array'를 사용한다. 각각의 칩은 입력이 3개 있는 NAND 게이트 60개와, 40개의 4-input NAND 게이트, 그리고 2-input의 NOR off-chip 드라이버 34개가 있다. Propogation delay는 10ns이고, IBM 커스텀의 정사각형 금속 외피로 덮여 있다.

돈을 아낌없이 들였기 때문에 전해 캐패시터는 전원부와 AC 박스에만 있는 것으로 확인된다. 그것도 심지어 스프라그-말로리 제품을 사용하였다! 덕분에 40년이 지난 지금도 12V에서 12.1V라는 아주 정확한 전압이 나오는 경이적인 모습을 보여준다. 국산 MSX나 IBM 호환 PC들의 파워 전압이 많이 어긋나 있는 것을 보면 대단한 수준. 로직의 대부분은 마이카, 필름, 탄탈 캐패시터 따위의 솔리드 캐패시터로 구성되어 있다. 이외에도 길쭉한 껌 모양의 부품들이 있으나 정확한 것은 불명. 트랜지스터는 게르마늄으로 추정되지만, 부품 전부가 IBM 내부 번호(In-house number)로 이루어져 있어 정확한 것은 애석하게도 알기 어렵다. 하지만 일부 부품 번호들은 이곳이곳에서 확인이 가능하다.

4.2. 프로그래밍 언어

C 옵션을 가진 5100에 한하여, 프론트 패널에 달린 스위치로 ROS의 접근 영역을 달리하여 BASIC과 APL을 둘 다 사용할 수 있었다. 이 때 언어 스위치를 조작 후 재부팅이 필수적이다.

5100의 PALM 프로세서는 기존의 CPU와는 조금 달라, 프로세서에 자체 명령어를 내장시키는 대신 정교한 '가상 머신'을 위한 언어 인터프리터가 내장되어 있었다. 이 조치는 자체 명령어를 내장시키기 위한 ROS 공간 절약과 속도를 올리기 위해서였다. APL 마이크로코드는 System/360을 에뮬레이트하는 한편, BASIC 마이크로코드는 System/3을 에뮬레이트한다.

APL 인터프리터는 APLSV로부터 파생되었다.

4.3. PALM 프로세서

IBM 5100은 마이크로코드를 에뮬레이트하는 board-level microprocessor인 PALM을 사용하며, IBM의 문서에서는 'controller'라고 표현되었다. 이 보드는 13개의 정사각형 metal-can 칩, 5개의 DIP 칩과 한 개의 둥근 metal-can 칩을 포함한다. PALM은 16비트 vertical microinstruction을 사용하며, 각 microinstruction의 실행 속도는 평균 약 1.75μs 였다.

Microinstruction은 16비트 일반 목적 레지스터를 직접적으로 참조할 수 있었다. Register zero는 microinstruction pointer로서, program counter로 알려져 있다. 4-bank의 레지스터가 있었고, 빠른 interrupt bank의 switching을 위하여 interrupt level당 bank 하나씩을 가졌다. 이 4-bank의 레지스터는 RAM(Read/Write Storage)의 첫 128바이트까지 주소로 지정할 수 있었다. (따라서 메모리의 첫 128바이트는 유저가 사용할 수 없었다)
인터럽트 종류는 3개가 있었기 때문에, 0부터 3까지의 processor level이 있었고, 수준 0은 인터럽트가 없을 때 실행되었다. 각각의 수준은 고유의 program counter를 갖추고 있어, interrupt vector의 개념은 존재하지 않았다. 프로세서는 주어진 수준이 활성화된 상태이고, 더 높은 수준이 활성화되지 않는 한 계속 그 수준으로 동작하였다.

레지스터 폭이 16비트이고, PALM이 약간의 16비트 산술과 논리 동작을 지원했음에도 불구하고, ALU는 8비트의 대역폭을 가지고 있었다.

프로세서는 16비트의 주소 버스를 가지고 있었고, 메모리는 최대 64KB의 용량을 직접 주소로 지정하기 위해 바이트 단위로 주소 지정이 가능했다. 메모리의 각각의 바이트는 패리티 비트를 가지고 있으며 메모리의 데이터 버스는 18비트였다.

4.4. 기억장치

RAM은 1쌍에서 4쌍까지의 보드를 장착할 수 있었으며, NMOS RAM과 separate bipolar driver와 sense amplifier를 사용하여 보드 하나당 8KB를 저장 가능했다. The Roberson의 기사에서는 메모리가 1Kb MOSFET RAM 칩을 사용했다고 보고했으나, 사실 2Kb칩을 사용한 것으로 보여진다. 각각의 보드는 4개의 칩을 포함하는 9개의 램 모듈로 이루어져 있었다. Access time은 대략 300ns정도였고, cycle time은 450ns 정도였다.

8KB카드는 'Snoopy', 16KB카드는 'Barton'이라 불렀고, 후속 기종인 IBM 5110은 다른 모듈들을 위해 한 보드 당 16KB를 저장 가능했다.

4.5. Read Only Storage

5100에는 세 가지 종류의 ROS가 있었다.

Non-executable ROS는 다시 종류가 3가지로 나뉜다.

4.6. 디스플레이

IBM 5100은 가로 64 문자 16줄을 출력 가능한 5인치 CRT 디스플레이를 갖추고 있었다. 문자가 상당히 작았고 모여 있으면 빽빽했기 때문에 IBM은 화면의 반을 기준으로 왼쪽 32글자, 오른쪽 32글자, 그리고 모든 64글자를 선택할 수 있는 스위치를 두어 'L32-64-R32'라는 마킹을 해 놓았다. 32글자를 출력하면 글자 크기는 커지지 않으며, 1칸씩 총 32칸만큼의 공백이 32글자 사이사이에 생긴다.

일반적으로 표시되는 정보는 메인 메모리의 0x0200부터 0x05ff까지의 주소를 이용한다. 그리고 메모리의 첫 512바이트인 0x0000부터 0x01ff를 16진수로 출력할 수 있는 스위치가 프론트 패널에 있었으며, 이것은 주로 진단이나(메모리 크기 등) 프로세서 레지스터를 확인하는 목적으로 쓰였다.

디스플레이 컨트롤러는 직접적 메모리 접근(DMA, Direct Memory Access)을 사용하는 5100에서의 유일한 장비였다. IBM은 이것을 'Cycle-stealing'이라고 불렀다. 디스플레이에 표시되는 정보는 그대로 메모리에 있어서 마이크로코드는 연산 중에 좀 더 많은 메모리 대역을 얻기 위하여 디스플레이를 끌 수 있었다.

4.7. 대용량 저장 장치

대용량 저장 장치는 QIC(Quarter-Inch Cartridge)규격을 사용한 DC300 데이터 테이프를 사용하였고, 최대 204KB를 저장할 수 있었다. BASIC 프로그램, APL 워크스페이스, 그리고 데이터를 저장할 수 있었다.

4.8. 확장 장비 및 액세서리

확장 장비에는 132컬럼, 초당 80문자를 인쇄 가능한 IBM 5103 Dot matrix Printer와 IBM 5106 Auxiliary Tape Unit이 있었다. 또 추가금을 내고 내부 A1보드의 Expansion Feature 슬롯에 Communications Adapter와 Serial I/O Adapter를 장착 가능하였다.

손잡이 및 휴대용 케이스를 옵션으로 추가 가능하였다.

5. 기타 정보

6. 이야깃거리

6.1. 한국에서의 소장 및 운영

2014년 8월 5일, 국내에 실제로 샀다고 인증한 사람이 나타났다. 그리고 사용 가능한 상태로 고쳤다고 한다.
TV 방송에도 나왔다.

하이마트 PC대전 오래된 컴퓨터 인증 이벤트에도 상기인이 보유한 IBM 5100이 출현했다. 댓글에 매킨토시도 있는데 상대도 안되고 그나마 4년 차이 나는 텔레비디오 902c 정도만 선방하고 있다. 심지어 텔레비디오 902c는 컴퓨팅 기능이 없는 단순 터미널이다. 현재 2차 댓글 투표 후보로 IBM 5100, 금성 패미콤 FC-30, 삼성 SPC-1000, 삼성 매직스테이션 M2700이 올라와 있었는데 M2700의 표가 조작되었다는 의혹이 일어난 후 결국 경품은 IBM 5100을 인증한 네티즌에게 돌아갔다. 국내에는 해당 IBM-5100 이외에도 몇 대가 더 있는 것으로 보인다.

6.2. 존 티토와의 관계

21세기 예언가 존 티토는 IBM 5100을 찾으러 1975년으로 시간 여행을 했다고 주장했다. 이유는 2038년 미래의 인터넷 망을 복구하는 데에 필요하다나 뭐라나... 한 이유다. 정확히는 2038년에는 컴퓨터에 '유닉스 버그'가 발생하는데, 이 버그를 막기는 위해서 IBM 5100의 특정한 내장함수가 필요하다는 것이다. 근데 2038년 기준으로 제대로 된 IBM 5100이 없었기 때문에 찾아오려고 한 것. 해당 항목에서도 알 수 있지만 이미 개인용 컴퓨터나 스마트폰의 CPU까지 64비트로 바뀌고 있는 2024년 현재 이미 해결된 거나 다름없다.

물론 당시 사람들은 이게 무슨 헛소리냐고 넘겼는데, 과거 IBM 5100의 개발에 참여했던 한 기술자[2]가 존 티토 활동 종료 후 몇 년 뒤에 "사실이다. IBM 5100에는 매뉴얼에 없는 숨겨진 기능이 있다."라고 발표해서 화제가 되기도 했다. 현재 숨겨진 기능은 조사 중에 있다. IBM 독자 사양의 프로그램 언어라고는 하지만, PALM 프로세서의 Common ROS에만 담아진 채 쓸데가 없었기 때문에 IBM에서 별 다른 언급이 없었던 것으로 추정된다. 메인프레임 언어로 추측되며, APL에 관련된 기능일 수도 있다. 그 하나는 이 기종으로 APL이나 BASIC 이전의 IBM 독자 사양의 특수한 컴퓨터 언어를 디버그할 수 있다. 물론 디버그 문서에서도 볼 수 있지만, 해당 언어에 대한 지식, 해당 프로세서의 기계어에 대한 지식, 혹은 어셈블리어 전반에 대한 지식 가운데 하나만 있어도 인간이 수행할 수 있는 작업이긴 하다. 실제로 대괴수 존 폰 노이만암산으로 자체 디버깅까지 한(또는 디버깅이 필요가 없는 완벽한) 코드를 기계어로 짰다. 다만 일반인에겐 시간/노동/비용의 비효율이 클 뿐.

숨겨진 기능은 PALM 프로세서 내부의 ROS나 언어 ROS에 기능을 넣고 막아놓았을 가능성이 있는데, 현재 IBM 5110 https://norbertkehrer.github.io/ibm_5110/emu5110.html에뮬레이터만 구현되어 있으며, PALM 프로세서에 있는 Common ROS와 디스어셈블러까지 공개되어 있기 때문에 숨겨진 기능을 분석하는 것은 어렵지 않을 듯 하다. IBM 5110은 IBM 5100과 똑같은 프로세서에 프로그램과 외부 통신 기능이 강화된 버전이기 때문에 개량판이라고 봐도 되며, IBM 5100의 ROS가 덤프되면 이미 공개된 구성 요소들을 활용하여 IBM 5100 에뮬레이터도 제작할 수 있을 듯.

존 티토의 내용을 매우 옹호적으로 유추해 보면, 그가 묘사한 미래에서 핵전쟁 이후로 환경 문제가 심각하므로 구식 기계까지 동원해야 대륙간 인터넷 통합연결을 할 수 있으며, 구식 컴퓨터들을 디버깅하기 위하는 특수 기능이 필요했던 것으로 생각해볼 수 있다. 아니면 구식 해킹 기술이 사라져서 보안성을 생각했을 수도 있다. 시간 여행이 사실이라 치면 디지털 암흑시대의 예로 볼 수 있을지도.

게임 리버스: 1999의 캐릭터 존 티토의 애장품 중 하나로 IDM 5100으로 나온다.

6.3. IBN 5100

파일:external/313a59736d87af104e1396b54e3c2398960155dc6dcbac4ed7ab6189b39a44b9.jpg
사진은 팬시 상품으로 발매된 IBN5100 모양의 알람 시계.

콘솔, PC, 모바일로 발매된 슈타인즈 게이트Steins;Gate 타임루프 장르 시리즈(해당 작품은 애니메이션으로 제작되어 인기를 끌었다.)에서는 모니터와 스위치 등의 레이아웃이 바뀐 채 IBN 5100이 작품 전개의 주요 요소가 되기도 한다. 위쪽에 나오는 존 티토의 발언이 진실이었다는 가정 하에 이야기가 전개된다. 패미코레 ADV 슈타인즈 게이트에서 텐노지가 언급하길 IBN5100을 회수하는 이유가 SERN이 사용하는 애셜론을 접속가능하게 하는 단말기여서 밖에 돌아다니면 곤란하다는 이유로 보이는 족족 회수하고 있다.

이후 제작된 총명예지의 코그니티브 컴퓨팅 에서는 IBM과 라이선스를 맺었는지 IBM 5100이 정상적으로 나온다. 여기서는 IBM 5100을 정식으로 소개하고 있는데, 이곳에 시쿠라 치요마루와 일본 IBM 이사 모리모토 노리시게와의 대담이 실려 있다. 다른 페이지인 여기의 IBM 5100은 일본의 한 사람이 개인적으로 구입한 것이다. 이 사람은 미국에서 구한 것 같으며, 여기저기 관련 행사에 전시하고 있지만 정작 전원은 한 번도 안 켜본 듯 하다. 그리고 앰블렘이 떨어진 듯 하다. IBM 5100자체는 미국 내수용으로, 후기형 하우징의 메탈 엠블렘이 있고, 마킹이 없는 BASIC 버전이다. 기타 옵션은 안 달린 듯 하다.


[1] 당장 컴퓨터/역사 문서를 들어가보면 1956년 기준 5MB 하드디스크를 4명이 낑낑거리면서 옮기는 모습의 사진을 볼 수 있다.[2] 영문위키 표기로는 Bob Dubke