IBM 305 RAMAC 시스템: IBM 305 메인 시스템 (처리 장치, 자기 드럼, 자기 코어 레지스터, 전자 논리 및 산술 회로)
IBM 370 프린터 (왼쪽), IBM 380 콘솔 (오른쪽) | |
| 개발사 | IBM |
| 제조사 | IBM |
| 단종일 | 1961 |
| 출시 가격 | US$3,200 (equivalent to $36,700 in 2025) (매월) |
| 저장 공간 | 5 메가바이트 |
| 후속 기종 | IBM 1401 |
| 웹사이트 | www |
IBM 305 RAMAC는 보조 기억 장치로 이동 헤드 하드 디스크 드라이브(자기 디스크 스토리지)를 사용한 최초의 상업용 컴퓨터이다. 이 시스템은 1956년 9월 14일에 공개적으로 발표되었으며, 미국 해군과 민간 기업에 시험용 장치가 이미 설치된 상태였다. RAMAC은 "Random Access Method of Accounting and Control"의 약자로, 비즈니스에서의 실시간 회계 처리에 대한 필요성 때문에 설계되었다.
RAMAC은 캘리포니아주 산호세에 위치한 IBM 연구 시설에서 개발 및 제조되었다. 1959년, IBM의 CEO 토머스 J. 왓슨 주니어는 모스크바에서 RAMAC을 전시했다. 이는 소련의 지도자 니키타 흐루쇼프가 IBM의 산호세 시설을 방문하는 계기가 되었다.
미국 자동차 산업에서 최초로 사용된 RAMAC은 1957년 크라이슬러의 MOPAR 부서에 설치되었다. 이는 MOPAR의 부품 재고 관리 및 주문 처리 시스템의 일부였던 거대한 텁 파일을 대체했다.
1960년 동계 올림픽 기간 동안 스쿼 밸리 (미국)에서 IBM은 올림픽 사상 최초의 전자 데이터 처리 시스템을 제공했다. 이 시스템은 IBM RAMAC 305 컴퓨터, 천공 카드 데이터 수집기, 중앙 인쇄 시설로 구성되었다.
1,000대 이상의 시스템이 제작되었다. 생산은 1961년에 종료되었으며, 1962년 IBM 1401용 IBM 1405 디스크 스토리지 장치가 도입되면서 RAMAC 컴퓨터는 주도권을 잃었고, 1969년에 단종되었다.
최초의 하드 디스크 장치는 1956년 9월 13일에 출고되었다. 컴퓨터의 추가 구성 요소로는 천공 카드 판독기, 중앙 처리 장치, 전원 공급 장치, 운영자 콘솔/카드 판독기 장치, 그리고 프린터가 있었다. 또한 저장된 기록에 직접 접근할 수 있는 수동 조회 스테이션도 있었다. IBM은 이 시스템이 64,000장의 천공 카드와 맞먹는 데이터를 저장할 수 있다고 홍보했다.
305는 IBM이 제작한 마지막 진공관 컴퓨터 중 하나였다. 무게는 1톤이 넘었다.
IBM 350 디스크 시스템은 500만 개의 영숫자 문자를 저장할 수 있었으며, 각 문자는 6개의 데이터 비트, 1개의 패리티 비트, 1개의 공백 비트로 구성된 8비트 형식으로 기록되었다. 이 장치에는 50개의 24-인치-diameter (610 mm) 디스크가 포함되어 있었다. 두 개의 독립적인 접근 암이 위아래로 움직여 디스크를 선택하고, 안팎으로 움직여 기록 트랙을 선택했으며, 모두 서보 기구 제어 하에 작동했다. 단일 기록을 찾는 데 걸리는 평균 시간은 600밀리초였다. 1950년대에 여러 개선된 모델이 추가되었다. 350 디스크 스토리지를 갖춘 IBM RAMAC 305 시스템은 매월 미화 3,200달러(36,700 in 2025)에 임대되었다.

원래 305 RAMAC 컴퓨터 시스템은 약 9m x 15m 크기의 방에 설치할 수 있었으며, 350 디스크 스토리지 장치는 약 1.5 제곱미터 (16 sq ft)의 면적을 차지했다. 히타치 글로벌 스토리지 테크놀로지스 (IBM의 하드 디스크 드라이브 사업부를 인수한 기업)의 연구 부사장 커리 먼스는 월스트리트 저널 인터뷰에서 RAMAC 장치의 무게가 1톤이 넘어 지게차로 운반해야 했으며, 대형 화물 비행기를 통해 배송되었다고 밝혔다. 먼스에 따르면 드라이브의 저장 용량은 5메가바이트 이상으로 늘릴 수 있었으나, 당시 IBM 마케팅 부서는 더 큰 용량의 제품을 어떻게 판매해야 할지 몰랐기 때문에 이를 반대했다.

305를 프로그래밍하려면 자기 드럼에 저장될 기계어 명령어를 작성해야 했을 뿐만 아니라, 시스템의 거의 모든 장치(컴퓨터 자체 포함)를 플러그판 제어 패널에 와이어 점퍼를 꽂아 프로그래밍할 수 있었다.
시스템 아키텍처는 305 RAMAC 운영 매뉴얼에 문서화되어 있다. 305는 6000 RPM으로 회전하며 3200개의 영숫자 문자를 담을 수 있는 자기 드럼을 갖춘, 문자 중심의 가변 "단어" 길이 십진법(이진화 십진법) 컴퓨터였다. 데이터 전송 중 임시 저장을 위해 100자 용량의 코어 메모리 버퍼가 사용되었다.
각 문자는 6비트와 1개의 패리티 비트("R")로 구성되며, 다음과 같은 형식의 값을 가진다.
X O 8 4 2 1 R
명령어는 자기 드럼의 20개 트랙에만 저장할 수 있었으며 고정 길이(10자)였다. 형식은 다음과 같다.
| 필드 위치 | 기능 |
|---|---|
| T1 A1 B1 | 소스 피연산자 주소 – 트랙, 하위 AB 문자 |
| T2 A2 B2 | 대상 피연산자 주소 – 트랙, 하위 AB 문자 |
| M N | 피연산자 길이 (각 피연산자는 지정된 트랙에 완전히 포함되어야 함) |
| P | 프로그램 종료 코드; 테스트 조건 선택, 점프 수행, 입출력 시작에 사용. 305의 제어 패널 프로그래밍이 수행되는 동작을 결정함. |
| Q | 제어 코드; 연산을 수정함(연산 코드와 유사), 기본 연산은 소스에서 대상으로 복사하는 것임. 기타 연산: "1" 비교, "2" 필드 비교, "3" 비교 및 필드 비교, "5" 누산기 재설정, "6" 공백 전송 테스트, "7" 압축 및 확장, "8" 확장, "9" 압축 |
고정 소수점 데이터 "단어"는 1자리 십진수에서 100자리 십진수까지 어떤 크기든 될 수 있으며, 가장 낮은 자릿수의 X 비트가 부호(부호화된 숫자 표현)를 저장한다.
데이터 기록은 1자에서 100자까지 어떤 크기든 될 수 있었다.
자기 드럼은 각각 100자로 구성된 32개의 트랙으로 구성되었다.
이 표의 색상 코드는 다음과 같다.
| 트랙 지정자 | 소스 기능 | 대상 기능 |
|---|---|---|
| W X Y Z | 일반 저장 | |
| 0 1 2 3 4 5 6 7 8 9 & A B C D E F G H I |
명령어 저장, 일반 저장 | |
| L | 누산기 읽기 | 누산기에 더하기 |
| M | 누산기 읽기 및 지우기 | 누산기에서 빼기 |
| V | 피승수 (1~9자) 또는 제수 (1~9자) | |
| N | 빈칸 | 곱하기 (1~11자) 2~20자 결과값을 누산기 0 & 1에 저장 |
| P | 빈칸 | 나누기 (옵션) |
| K | 380 천공 카드 입력 | 빈칸 |
| S T | 빈칸 | 323 천공 카드 출력, 370 프린터 출력, 407 프린터 출력 |
| Q | 380 조회 입출력 | |
| J | 빈칸 | 350 파일 주소 |
| R | 350 파일 데이터 입출력 | |
| - | 코어 버퍼 | 문자 선택기 |
| $ | 382 종이 테이프 입출력 (옵션) | |
L과 M은 동일한 트랙을 선택하며, 여기에는 10개의 10자 "누산기"가 포함되어 있다. 대상으로서 L은 덧셈을, M은 뺄셈을 지정한다. (이 누산기의 숫자는 10의 보수 형식으로 저장되며, 가장 높은 자릿수의 X 비트가 부호를 저장한다. 각 누산기의 부호는 전자계전기에도 유지되었다. 그러나 305는 특수 프로그래밍 없이 표준 부호화된 크기 형식과 이 형식 간에 자동으로 변환을 수행했다.)
J, R, -는 드럼의 트랙을 선택하지 않으며, 다른 소스와 대상을 지정한다.
305의 명령어 집합에는 점프가 포함되어 있지 않으며, 대신 제어 패널에서 프로그래밍된다.
-로 설정하고 제어 패널의 적절한 문자 선택기 허브에 와이어를 연결하여 점프할 명령어를 지정하는 프로그램 진입 허브나 순차적으로 계속하기 위한 프로그램 진행 허브에 연결한다.305의 모든 타이밍 신호는 드럼에 공장 출하 시 기록된 클록 트랙에서 파생되었다. 클록 트랙에는 동기화를 위한 208μs 간격과 함께 12μs 간격으로 816개의 펄스가 포함되어 있다.
문자를 읽거나 쓰는 데 96μs가 소요되었다.
305의 일반적인 명령어는 3번의 드럼 회전(30ms)이 소요되었다: 1번(I 단계)은 명령어를 가져오고, 1번(R 단계)은 소스 피연산자를 읽어 코어 버퍼로 복사하며, 1번(W 단계)은 코어 버퍼에서 대상 피연산자를 쓴다. P 필드(프로그램 종료 코드)가 공백이 아니면, 전자계전기가 작동할 시간을 주기 위해 2번의 추가 드럼 회전(D 단계 및 P 단계, 20ms)이 실행 시간에 추가되었다. 명령어의 3단계(IRW)가 다음 회전을 기다리지 않고 즉시 이어지게 하는 '개선된 처리 속도' 옵션을 설치할 수 있었으며, 이 옵션을 사용하고 코드 및 피연산자 배치를 잘 최적화하면 일반적인 명령어가 최소 1번의 드럼 회전(10ms) 내에 실행될 수 있었다.
특정 명령어는 일반적인 30ms~50ms보다 훨씬 오래 걸렸다. 예를 들어 곱셈은 6~19번의 드럼 회전(60ms~190ms)이 필요했고, 나눗셈(옵션)은 10~37번의 드럼 회전(100ms~370ms)이 필요했다. 입출력 명령어는 하드웨어에 필요한 만큼의 드럼 회전 동안 프로세서를 인터록할 수 있었다.
305의 논리 회로는 1개 및 2개의 진공관이 들어가는 플러그형 유닛과 전자계전기로 구성되었다.


기본 시스템은 다음 유닛으로 구성되었다.
캘리포니아주 산호세의 산타 테레사 지역에 있는 RAMAC 공원은 IBM 305 RAMAC의 이름을 따서 명명되었다. RAMAC은 산호세 다운타운의 노터데임 거리 99번지에 있는 산호세 연구소에서 설계되었다. 그 후 IBM은 산호세 캠퍼스를 노터데임 거리 99번지에서 현재의 RAMAC 공원 부지에 있던 새로운 IBM 코틀 로드 캠퍼스로 이전했다. 2026년 기준으로, 이전 직원 휴게실과 구내식당은 버려지고 방치된 상태이지만 공원 옆에 여전히 남아 있다.