IBM 5100: 두 판 사이의 차이

100번째 줄: 100번째 줄:
=== IBM 5100에 관한 정보들 ===
=== IBM 5100에 관한 정보들 ===
* IBM 5100은 베일에 쌓인 것이 많은 존재이다. 대표적으로 IBM 독자 사양의 프로그래밍 언어가 수록되어 있음에도 불구하고 일반 사용자에겐 해당 사양이 알려져 있지 않다. 또한 서비스 센터에 보급되는 [http://gigglehd.com/zbxe/11432391 메인터넌스 매뉴얼]에도 수록되지 않은 에러코드가 종종 있다.<ref>현재, IBM 5100 기준으로 수록되지 않은 에러 코드(사실, bring up diagnostic 도중의 체크포인트에 해당한다. 하지만 어디에 문제가 있는지에 대한 에러 코드 역할도 가능하다.)는 [https://youtu.be/5CJjxEMK7eY 여기]의 동영상과 [http://gigglehd.com/zbxe/11432391 여기]의 페이지에서 확인 가능하다. 하지만, 후일 이 에러 코드는 기존에 구글에서 검색되지 않았던 IBM 5110의 [ftp://ftp.informatik.uni-stuttgart.de/pub/cm/ibm/ibm5110/SY31-0550-1_IBM5110_MaintenanceInformationManual_Jun1978.pdf 메인터넌스 매뉴얼]에서 확인이 가능했고, 같은 내부 구조를 가진 IBM 5120의 bring up diagnostic이 찍혀 있는 [https://youtu.be/TkmYnm_yh8E 영상]에서도 나타나는 것으로 보아 IBM 5100 메인터넌스 매뉴얼에 수록되지 않은 에러라는 것은 존재하지 않고, 다만 의문의 증상을 발생시킨 5100이 내부만 5110으로 교체된 것이라는 잠정적 결론이 내려졌다.</ref>{{ㅊ|IBM이 미친 거 같아요!}}
* IBM 5100은 베일에 쌓인 것이 많은 존재이다. 대표적으로 IBM 독자 사양의 프로그래밍 언어가 수록되어 있음에도 불구하고 일반 사용자에겐 해당 사양이 알려져 있지 않다. 또한 서비스 센터에 보급되는 [http://gigglehd.com/zbxe/11432391 메인터넌스 매뉴얼]에도 수록되지 않은 에러코드가 종종 있다.<ref>현재, IBM 5100 기준으로 수록되지 않은 에러 코드(사실, bring up diagnostic 도중의 체크포인트에 해당한다. 하지만 어디에 문제가 있는지에 대한 에러 코드 역할도 가능하다.)는 [https://youtu.be/5CJjxEMK7eY 여기]의 동영상과 [http://gigglehd.com/zbxe/11432391 여기]의 페이지에서 확인 가능하다. 하지만, 후일 이 에러 코드는 기존에 구글에서 검색되지 않았던 IBM 5110의 [ftp://ftp.informatik.uni-stuttgart.de/pub/cm/ibm/ibm5110/SY31-0550-1_IBM5110_MaintenanceInformationManual_Jun1978.pdf 메인터넌스 매뉴얼]에서 확인이 가능했고, 같은 내부 구조를 가진 IBM 5120의 bring up diagnostic이 찍혀 있는 [https://youtu.be/TkmYnm_yh8E 영상]에서도 나타나는 것으로 보아 IBM 5100 메인터넌스 매뉴얼에 수록되지 않은 에러라는 것은 존재하지 않고, 다만 의문의 증상을 발생시킨 5100이 내부만 5110으로 교체된 것이라는 잠정적 결론이 내려졌다.</ref>{{ㅊ|IBM이 미친 거 같아요!}}
* 어렵게 구한 IBM 5100이 소제되어있지 않다면, 원래 모듈을 받치는 폼(foam)이였을듯한 열화된 검은색 스펀지와 맞딱드리게 될 것이다. 끈끈하며 검은색 물질을 오만군데 묻히고 다니고, 비누로도 씻기 힘드므로<ref>당시 인증한 사람이 분해했을 때 입고 있던 흰색 티셔츠에 폼이 묻었는데, 이것은 1년 넘게 지났는데도 묻어있다고 한다.</ref> 물티슈를 많이 들여 닦아낸 후 다른 스펀지로 교체하도록 하자. 이 작업은 [http://blog.naver.com/kiki1998/220109373966 여기]에서 확인 가능하다.
{{각주}}
{{각주}}

2016년 1월 2일 (토) 15:45 판

최초로 '시장에 출시된' 휴대용 컴퓨터.
파일:1280px-IBM 5100 - MfK Bern.jpg
독일향 제품으로 앰블렘이 없고 Portable Computer 프린팅이 탈락된, BASIC 모델의 모습이다. Communications Adapter가 달려 있다.

개요

IBM 51001975년 9월 IBM에서 세상에 내놓은 휴대용 컴퓨터이다. 역사상 최초로 '시장에 출시된' 휴대용 컴퓨터라는 타이틀을 갖고 있다. 현재 스미소니언 박물관에 전시되어 있는, 1973년에 IBM 팔로 알토 연구소에서 공개한 프로토타입인 SCAMP(Special Computer APL Machine Portable)의 발전 버전이다.[1]

출시 가격은 12개의 사양 중에서 선택 가능했으며, 은 16KB부터 64KB까지, 언어는 BASIC, APL 또는 양쪽 모두를 탑재할 수 있었다. APL+16KB는 $8,975, BASIC+16KB는 $9,975, 양쪽 모두+16KB는 $10,975였으며, 16KB 램 모듈 하나당 $3,000로 추가할 수 있었다. 옵션으로는 내부의 Expansion Feature 슬롯에 끼울 수 있는 Communications Adapter[2]와 Serial I/O Adapter[3]가 있었다.

프로세서는 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를 사용하여 화면에 표시되는 내용과 같은 정보를 이렇게 볼 수 있다.[4]저장소로는 QIC(Quarter-inch Cartridge)규격의 204KB까지 저장 가능한 DC300 자기 테이프 드라이브를 장착하였다.[5]

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

하지만, 내장 배터리가 없어서 아웃렛 없이는 쓸 수가 없었다. BASIC상에서 기본 어플리케이션은 16KB로도 실행이 가능했지만[6], 프로그램과 그것이 다루는 데이터를 모두 램에 올려놓고 사용하기 때문에 데이터가 많아지면 램이 부족해졌으며, 동봉된 APL 기본 어플리케이션은 심지어 최저 32KB부터 요구하기도 했다. 램을 업그레이드할 수 있었으나, 1975년 기준으로 $3000씩이나 주고 16KB를 추가할 수 있는 사람은 많지 않았기 때문에 시장에는 나왔지만 실패하고 말았다. (하지만 이 행보는 후속 기종인 5110과 5120, 그리고 IBM PC로 이어진다)

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

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

TV 방송에도 나왔다.그리고 그 사람은 답답한 나머지 이 문서를 만들고 있다

하드웨어 특성

로직 구성

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

돈을 아낌없이 들여 전해 캐패시터,[7]는 전원부와 AC 박스에만 있는 것으로 확인되며, 로직의 대부분은 마이카, 필름, 탄탈 캐패시터따위의 솔리드 캐패시터로 구성되어 있다. 이외에도 길쭉한 껌 모양의 부품들이 있으나 정확한 것은 불명. 트랜지스터는 게르마늄으로 추정되지만, 부품 전부가 IBM 내부 번호(in-house number)로 이루어져 있어 정확한 것은 애석하게도 알기 어렵다. 하지만 일부 부품 번호들은 이곳이곳에서 확인이 가능하다.

Languages

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

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

APL interpreter는 APLSV로부터 파생되었다.

PALM Processor

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비트 general-purpose register를 직접적으로 참조할 수 있었다. Register zero는 microinstruction pointer로서, program counter로 알려져 있다. 4-bank의 register가 있었고, 빠른 interrupt bank의 switching을 위하여 interrupt level당 bank 하나씩을 가졌다. 이 4-bank의 register는 RAM(Read/Write Storage)의 첫 128바이트를 addressing 할 수 있었다. (따라서 메모리의 첫 128바이트는 유저가 사용할 수 없었다)

Interrupt종류는 3개가 있었기 때문에, 0부터 3까지의 processor level이 있었고, 수준 0는 interrupt가 없을 때 실행되었다. 각각의 수준은 고유의 program counter을 갖추고 있어, interrupt vector의 개념은 존재하지 않았다. 프로세서는 주어진 수준이 활성화된 상태이고, 더 높은 수준이 활성화되지 않는 한 계속 그 수준으로 동작하였다.

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

프로세서는 16비트의 address bus를 가지고 있었고, 메모리는 최대 64KB의 용량을 direct-addressing하기 위해 byte-addressing이 가능했다. 메모리의 각각의 바이트는 parity bit를 가지고 있어, 메모리의 data bus는 18비트였다.

Read/Write Storage

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를 저장 가능했다.

789.jpg

Read Only Storage

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

Control ROS는 PALM프로세서의 일부로, microinstruction을 디코딩하기 위해 사용되었다.

Executable ROS[8]는 프로세서에 의해 직접 address가 가능했으며, 바로 실행시킬 수 있는 microinstruction을 포함하고 있었다. 16K*18개의 진단과 부팅 시 시스템 체크를 위한 마이크로코드, BASIC을 위한 가상 머신 인터프리터 등이 있다. 또 다른 16K*18개의 공간은 APL을 위한 가상 머신 인터프리터가 있었다.


Non-executable ROS[9]는 프로세서가 I/O 디바이스로 간주하고 액세스했으며, BASIC과 APL interpreter을 내장하고 있었다. 48Kb(Kbits)를 각각 저장 가능한 n-channel MOSFET을 사용하고, 액세스 시간은 2μs정도였다.

Non-executable ROS는 다시 종류가 3가지로 나뉘는데,

 - Common ROS, ROS 컨트롤 모듈에 있으며, 18KB.
 - BASIC ROS, ROS 모듈로 따로 장착되어 있으며, 32KB.
 - APL ROS, ROS 모듈 2개+반 개로 장착되어 있으며, 96KB.
456.jpg

Display

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

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

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

I5disp.jpg

Mass Storage

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

확장 장비 및 액세서리

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

핸들 추가 와 휴대용 케이스를 옵션으로 추가 가능하였다.

트리비아

존 티토와 IBM 5100

2000년 11월, 한 인터넷 게시판에 자신이 1998년 출생 미국 군인인 존 티토라고 밝힌 사람이 2036년의 미래에선 이미 로스트 테크놀로지가 된, 밝혀지지 않은 기능이 담긴 IBM 5100을 구하러 1975년으로 이동한 후, 1998년과 2000년에 차례로 들렀다고 주장한 바 있다.루리웹에 인증한 사람이 98년생이랬는데

IBM 5100에 관한 정보들

  • IBM 5100은 베일에 쌓인 것이 많은 존재이다. 대표적으로 IBM 독자 사양의 프로그래밍 언어가 수록되어 있음에도 불구하고 일반 사용자에겐 해당 사양이 알려져 있지 않다. 또한 서비스 센터에 보급되는 메인터넌스 매뉴얼에도 수록되지 않은 에러코드가 종종 있다.[11]IBM이 미친 거 같아요!
  • 어렵게 구한 IBM 5100이 소제되어있지 않다면, 원래 모듈을 받치는 폼(foam)이였을듯한 열화된 검은색 스펀지와 맞딱드리게 될 것이다. 끈끈하며 검은색 물질을 오만군데 묻히고 다니고, 비누로도 씻기 힘드므로[12] 물티슈를 많이 들여 닦아낸 후 다른 스펀지로 교체하도록 하자. 이 작업은 여기에서 확인 가능하다.

각주

  1. 이 SCAMP 개발자에 대한 인터뷰 내용은 여기의 26쪽인 PC World 1983년 10월호에서 찾아볼 수 있으며, SCAMP에 관한 다른 정보도 같이 실려 있다. 일부 번역된 서문은 여기서 볼 수 있다.
  2. 동년 9월에 발표되었다. EBCDIC과 EBCD프로토콜을 사용하며, IBM 2741과 같은 터미널을 사용하는 메인프레임 장비의 자원을 사용할 수 있었다. 이 기능은 테이프 드라이브에서 프로그램을 불러와 사용 가능하였다.
  3. 일반적인 RS-232 통신을 지원하는 듯 하나 실제 장착된 사진이나 관련 자료가 부족하다
  4. 다만 내장 모니터에서 가능했던 화면 반전은 되지 않는다. 주의.
  5. 그러나 DC6150 테이프에서도 데이터를 정상적으로 읽고 쓸 수 있는 것으로 보아 규격만 같으면 되는 듯 하다. 저장 용량은 동일한 듯.
  6. BASIC의 경우, 일단 부팅 후엔 램디스크처럼 램에 프로그램 파일을 복사하는데, 이것이 4KB를 차지한다. 따라서 램이 16KB일 경우 유저가 순수하게 쓸 수 있는 공간은 12KB(정확히 12001Byte)에 불과했다.
  7. 그것도 심지어 스프라그-말로리 제품을 사용하였다! 덕분에 40년이 지난 지금도 12V에서 12.1V라는 아주 정확한 전압이 나오는 경이적인 모습을 보여준다. 국산 MSX나 IBM호환 PC들의 파워 전압이 많이 어긋나 있는 것을 보면 대단한 수준.
  8. 사진은 BASIC만의 Executable ROS이다. APL은 왼쪽에 반 장이 추가된다.
  9. 사진은 BASIC만의 Non-executable ROS이다. APL은 오른쪽 반 장과 추가 한 장으로 구성되어 있다.
  10. 이 컨트롤러에는 리비전이 두 개 있다. 사진에 보이는 것 이외에, 하단 5개의 칩 중 오른쪽에서 두번째의 칩이 TTL칩 2개로 변경된 것이 있다.
  11. 현재, IBM 5100 기준으로 수록되지 않은 에러 코드(사실, bring up diagnostic 도중의 체크포인트에 해당한다. 하지만 어디에 문제가 있는지에 대한 에러 코드 역할도 가능하다.)는 여기의 동영상과 여기의 페이지에서 확인 가능하다. 하지만, 후일 이 에러 코드는 기존에 구글에서 검색되지 않았던 IBM 5110의 메인터넌스 매뉴얼에서 확인이 가능했고, 같은 내부 구조를 가진 IBM 5120의 bring up diagnostic이 찍혀 있는 영상에서도 나타나는 것으로 보아 IBM 5100 메인터넌스 매뉴얼에 수록되지 않은 에러라는 것은 존재하지 않고, 다만 의문의 증상을 발생시킨 5100이 내부만 5110으로 교체된 것이라는 잠정적 결론이 내려졌다.
  12. 당시 인증한 사람이 분해했을 때 입고 있던 흰색 티셔츠에 폼이 묻었는데, 이것은 1년 넘게 지났는데도 묻어있다고 한다.