IBM 709

IBM 709는 IBM이 1957년 1월에 발표하여 1958년 8월에 처음 설치된 컴퓨터 시스템이다. 709는 이전 모델인 IBM 704의 개선된 버전으로, IBM 700/7000 시리즈 과학용 컴퓨터 중 세 번째 모델이었다. 개선 사항으로는 중첩된 입출력, 간접 주소 지정, 그리고 십진법 연산, 선행 0 억제 및 기타 여러 작업을 지원하는 세 가지 "변환" 명령어가 포함되었다. 709는 32,768 워드의 36비트 자기코어 메모리를 가지고 있었고, 초당 42,000개의 덧셈 또는 뺄셈 명령을 실행할 수 있었다. 두 개의 36비트 정수를 초당 5000개의 비율로 곱할 수 있었다.IBM 709 at Columbia University history page

선택적 하드웨어 에뮬레이터는 IBM 709에서 기존 IBM 704 프로그램을 실행했다. 이것은 상업적으로 이용 가능한 최초의 에뮬레이터였다. 레지스터와 대부분의 704 명령어는 709 하드웨어에서 에뮬레이션되었다. 부동 소수점 트랩 및 입출력 루틴과 같은 복잡한 704 명령어는 709 소프트웨어에서 에뮬레이션되었다.

포트란 어셈블리 프로그램은 709를 위해 도입되었다.

이것은 큰 시스템이었다. 고객 설치에는 작동에 100~250kW의 전력이 필요했고, 냉각에도 거의 같은 양의 전력이 소모되었다. (주변 장비를 제외하고) 약 의 무게가 나갔다.IBM 709 Data Processing System BRL report, (details of each installation) with photos
709는 진공관을 사용하여 제작되었다.

IBM은 709가 발표된 지 불과 1년 후인 1958년에 IBM 7090이라는 트랜지스터화된 709 버전을 발표하여 709의 제품 수명을 단축시켰다.

레지스터
+ IBM 709 레지스터 37 36 35 ... 31 ... 23 ... 15 14 ... 07 ... 00 (비트 위치) 데이터 레지스터 AC 어큐뮬레이터   MQ 곱셈기/몫   SI 감지 지시기 인덱스 레지스터   XR1 인덱스 1   XR2 인덱스 2   XR3 인덱스 3 프로그램 카운터   PC 프로그램 카운터

IBM 709는 38비트 누산기, 36비트 곱셈기/몫 레지스터, 그리고 내용이 베이스 주소에 더해지는 대신 빼지는 세 개의 15비트 색인 레지스터를 가지고 있다. 세 개의 색인 레지스터 모두 명령어에 참여할 수 있다. 명령어의 3비트 태그 필드는 어떤 레지스터가 연산에 참여하는지를 지정하는 비트 맵이지만, 둘 이상의 색인 레지스터가 지정되면 그 내용은 덧셈이 아닌 논리합 연산으로 결합된다.IBM 709 Reference Manual, Form A22-6501-0, 1958p. 12

명령어 및 데이터 형식
A, B, C, D, E의 다섯 가지 명령어 형식이 있다. 대부분의 명령어는 B형이다.

A형 명령어는 순서대로 3비트 접두사(명령어 코드), 15비트 감분 필드, 3비트 태그 필드, 15비트 주소 필드로 구성된다. 이들은 태그 필드에 지정된 감분 레지스터의 값에 기반한 조건부 점프 연산이다. 일부는 감분 필드를 색인 레지스터의 내용에서 빼기도 한다. 구현상 명령어 코드의 두 번째와 세 번째 비트가 0이 아니어야 하며, 총 여섯 가지 가능한 A형 명령어가 있다. 그 중 하나(STR, 명령어 코드 이진수 101)는 IBM 709까지 구현되지 않았다.

B형 명령어는 순서대로 12비트 명령어 코드(A형 명령어와 구별하기 위해 두 번째와 세 번째 비트는 0으로 설정), 2비트 플래그 필드, 네 개의 사용되지 않는 비트, 3비트 태그 필드, 15비트 주소 필드로 구성된다.

C, D, E형은 특수 명령어에 사용된다.

 고정 소수점 숫자는 이진 부호/크기 형식으로 저장된다.
 단정밀도 부동소수점 숫자는 부호, 8비트 초과-128 지수 및 27비트 가수( "숨겨진 비트"는 없음)를 갖는다.
 영숫자 문자는 6비트 이진화 십진법이며, 한 워드에 여섯 개씩 묶여 있다.

명령어 세트는 데이터 형식을 A형 명령어와 동일한 필드(접두사, 감분, 태그 및 주소)로 암묵적으로 세분화한다. 데이터 워드의 나머지 부분을 변경하지 않고 이 필드 각각을 수정하는 명령어가 존재한다.

I/O 채널
이전 704에 비해 709의 주요 개선점은 더 많은 자기코어 메모리와 독립적인 I/O 채널의 첫 사용이었다. 704의 I/O가 중앙 처리 장치의 프로그래밍된 기능, 즉 "복사" 명령어를 사용하여 I/O 레지스터로 또는 I/O 레지스터에서 한 번에 하나의 데이터 워드가 전송되는 반면, 709는 IBM-766 데이터 동기화 장치를 사용하며, 이는 두 개의 독립적으로 "프로그래밍된" I/O 채널을 제공한다. 최대 세 개의 데이터 동기화 장치를 709에 연결할 수 있으며, 각 장치는 최대 20개의 IBM 729 테이프 드라이브와 IBM 716 영숫자 라인 프린터, IBM 711 카드 리더 및 721 카드 펀치를 제어할 수 있다. 이는 709에서 I/O 장치의 수를 6배로 늘리고, 프로그램 실행이 병렬로 계속되는 동안 여러 장치에서 I/O가 진행될 수 있도록 한다. 각각 8,192 워드의 메모리를 가진 최대 두 개의 IBM 733 자기 드럼 장치를 데이터 동기화 장치와 독립적으로 연결할 수 있었다. 709는 처음에 카드, 테이프 또는 드럼에서 프로그램을 로드(부팅)할 수 있었다.

709에 사용된 IBM 738 자기 코어 저장 장치 또한 하이브리드 기술의 이정표였다. 코어 어레이 드라이버는 모두 진공관을 사용했지만, 읽기 감지 증폭기는 컴퓨팅에서 트랜지스터를 매우 초기에 사용한 사례였다.

 같이 보기 
 진공관 컴퓨터 목록
 IBM 740 CRT 레코더
 SHARE 운영 체제 (SOS)
 SQUOZE

 각주 

 더 읽어보기 


 외부 링크 
 709 데이터 처리 시스템 – IBM 역사
 IBM 709 데이터 처리 시스템 – BRL 보고서 (각 설치 세부 정보) 및 사진
 컬럼비아 대학교 IBM 709 페이지 – 사진 포함

분류:IBM 진공관 컴퓨터
분류:36비트 컴퓨터