맨위로가기

IBM 1620

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

IBM 1620은 1959년에 발표된 중소형 컴퓨터로, 과학 및 엔지니어링 분야에서 널리 사용되었다. 자기 코어 메모리를 사용하고 하드웨어 복잡성을 줄이기 위해 서브루틴을 활용하는 설계를 특징으로 한다. 모델 I과 모델 II가 있으며, 다양한 주변 장치를 통해 활용성을 높였다. IBM은 1620을 위한 어셈블리어와 FORTRAN, 모니터 운영체제 등의 소프트웨어를 제공했다. 이 컴퓨터는 영화 및 TV 프로그램에도 등장했으며, NASA의 제미니 계획 시뮬레이션, 인도 IIT 칸푸르의 소프트웨어 역량 강화 등 다양한 분야에서 활용되었다.

더 읽어볼만한 페이지

  • 10진법 컴퓨터 - IBM 1401
    IBM 1401은 1959년에 출시된 가변 단어 길이 십진법 컴퓨터로, IBM 1400 시리즈의 첫 제품으로서 소규모 기업과 대형 컴퓨터 주변 장치 컨트롤러로 사용되었으며 펀치 카드 장비와 진공관을 대체하며 성공하여 1만 대 이상 판매되었고 세계 여러 나라에 도입된 최초의 컴퓨터 중 하나로 현재 컴퓨터 역사 박물관에 두 대가 복원되어 작동 중이다.
  • 10진법 컴퓨터 - 에니악
    에니악(ENIAC)은 제2차 세계 대전 중 미국 육군의 탄도 계산을 위해 개발된 세계 최초의 범용 전자 디지털 컴퓨터로, 존 모클리와 J. 프레스퍼 에커트가 설계하고 18,000개의 진공관을 사용했으며, 1946년 공개 당시 "거대한 두뇌"라는 별칭으로 불리며 컴퓨터 개발에 큰 영향을 미쳤다.
  • 1950년대 컴퓨터 - 반자동식 방공조직
    반자동식 방공조직(SAGE)은 1950년대 미국에서 소련의 핵 공격 위협에 대응하기 위해 개발된 대규모 컴퓨터 기반 방공 시스템으로, 레이더, 통신망, 컴퓨터를 통합하여 실시간 정보 처리 및 요격 작전 수행을 목표로 미국과 캐나다의 영공 방어에 기여하고 현대 방공 시스템 발전에 영향을 미쳤다.
  • 1950년대 컴퓨터 - 파일럿 에이스
    파일럿 에이스는 앨런 튜링의 ACE 설계를 기반으로 제작된 영국의 초기 컴퓨터로, 부동 소수점 연산을 수행하며 빠른 클럭 속도를 보였고, 상업용 컴퓨터 DEUCE 개발에 영향을 미쳤다.
  • IBM 트랜지스터 컴퓨터 - IBM 1401
    IBM 1401은 1959년에 출시된 가변 단어 길이 십진법 컴퓨터로, IBM 1400 시리즈의 첫 제품으로서 소규모 기업과 대형 컴퓨터 주변 장치 컨트롤러로 사용되었으며 펀치 카드 장비와 진공관을 대체하며 성공하여 1만 대 이상 판매되었고 세계 여러 나라에 도입된 최초의 컴퓨터 중 하나로 현재 컴퓨터 역사 박물관에 두 대가 복원되어 작동 중이다.
  • IBM 트랜지스터 컴퓨터 - IBM 700/7000 시리즈
    IBM 700/7000 시리즈는 1950년대부터 1960년대에 IBM이 개발한 메인프레임 컴퓨터 시리즈로, 과학 기술 계산, 상업용, 10진법 연산, 슈퍼컴퓨터 등 다양한 목적에 맞춰 설계된 6가지 주요 아키텍처로 구성되었으며, 진공관 또는 트랜지스터를 사용하고 동일한 전자 기술과 주변 기기를 공유하며 IBM System/360 개발에 영향을 주었다.
IBM 1620
개요
이름IBM 1620
별칭IBM 1710
IBM 1720
IBM 로고
IBM 1620 모델 I, 레벨 H
유형과학용 미니컴퓨터
제조사IBM
선행 모델IBM 650
IBM 610
IBM 608
후속 모델IBM 1130
기술 사양
CPU트랜지스터 방식, SMS 카드로 제작, 가변 12-72비트 워드
CPU 속도50 kHz (20 us)
주기억 장치코어 메모리
메모리 용량20,000-60,000 워드
전력 소비2 kW
무게550 kg (1210 lbs)
역사
출시일1959년
단종일알 수 없음
판매 대수약 2천 대
기타
연결성알 수 없음
저장 장치알 수 없음
메모리 카드알 수 없음
디스플레이알 수 없음
그래픽알 수 없음
입력 장치알 수 없음
컨트롤러알 수 없음
플랫폼알 수 없음
서비스알 수 없음
호환성알 수 없음
개발자알 수 없음
제품군알 수 없음
미디어알 수 없음
세대알 수 없음
수명알 수 없음
가격알 수 없음
출하 대수알 수 없음
웹사이트알 수 없음

2. 역사

1959년 10월 21일 IBM 1620 발표 이후, IBM의 내부 조직 개편으로 인해, 이 컴퓨터는 제조를 위해 뉴욕주 포킵시(대형 메인프레임 컴퓨터만 취급)의 데이터 처리 부서에서 캘리포니아주 산호세(소형 컴퓨터 및 지원 제품만 취급)의 일반 제품 부서로 이관되었다.

CADET이라는 코드명은 '''C'''an't '''A'''dd, '''D'''oesn't '''E'''ven '''T'''ry"(덧셈 전용 회로 대신 메모리의 덧셈 표를 사용하는 것을 언급)를 의미한다는 농담이 CEs(현장 엔지니어) 사이에서 유행했고,[30][31][32] 이는 사용자 커뮤니티에도 널리 알려졌다.

2. 1. 개발 배경

1950년대 후반, IBM은 "소형 과학 시장"을 연구하기 위해 뉴욕주 포킵시 개발 연구소에 팀을 구성했다.[1] 초기 팀 구성원은 웨인 윙어(매니저), 로버트 C. 잭슨, 윌리엄 H. 로즈였다.[1]

당시 소형 과학 기술용 컴퓨터 시장의 경쟁 컴퓨터는 Librascope LGP-30과 Bendix G-15였으며, 둘 다 드럼 메모리 기기였다. 당시 IBM의 가장 작은 컴퓨터는 인기 있는 IBM 650으로, 고정 길이의 십진수 기기였으며 드럼 메모리를 사용했다. 이 세 기기 모두 진공관을 사용했다. IBM은 이 분야에서 실제로 새로운 것을 제공할 수 없다는 결론을 내렸다. 효과적으로 경쟁하려면 IBM이 더 큰 컴퓨터를 위해 개발한 기술을 사용해야 했지만, 기기는 가능한 가장 낮은 비용으로 생산해야 했다.

이러한 목표를 달성하기 위해 팀은 다음과 같은 요구 사항을 설정했다.

  • 코어 메모리
  • 제한된 명령어 집합
  • 나눗셈 또는 부동 소수점 명령 없음, "일반 프로그램 패키지"에서 서브루틴 사용
  • 가능한 모든 곳에서 하드웨어를 기존 논리 기기 기능으로 대체
  • 산술 회로 없음, 코어 메모리의 테이블 사용
  • 가장 저렴한 입출력
  • 펀치 카드 없음, 종이 테이프 사용
  • 프린터 없음, 운영자 콘솔 타자기 사용

2. 2. 요구 사항 및 설계

Librascope LGP-30과 Bendix G-15는 이 시장에서 경쟁하던 컴퓨터였으며, 둘 다 드럼 메모리를 사용했다. 당시 IBM의 가장 작은 컴퓨터는 IBM 650이었는데, 이 역시 드럼 메모리를 사용하는 고정 길이 십진수 기기였다. 이 세 기기 모두 진공관을 사용하고 있었다. IBM은 이 분야에서 새로운 것을 제공하기 어렵다고 판단했다. 효과적으로 경쟁하려면 더 큰 컴퓨터를 위해 개발한 기술을 사용하면서도, 최대한 낮은 비용으로 기기를 생산해야 했다.

이러한 목표를 달성하기 위해 개발팀은 다음과 같은 요구 사항을 설정했다.

  • 코어 메모리 사용
  • 제한된 명령어 집합
  • 나눗셈 또는 부동 소수점 명령은 제공하지 않고, "일반 프로그램 패키지"에서 서브루틴을 사용
  • 가능한 모든 곳에서 하드웨어를 기존 논리 기기 기능으로 대체
  • 산술 회로를 사용하지 않고, 코어 메모리의 테이블 사용
  • 가장 저렴한 입출력
  • 펀치 카드 대신 종이 테이프 사용
  • 프린터 대신 운영자 콘솔 타자기 사용


(코드명) CADET 프로토타입은 1959년 봄에 완성되었다.

한편, 캘리포니아주 산호세 시설에서도 자체적인 제안을 진행하고 있었다. IBM은 둘 중 하나만 만들 수 있었는데, 뉴욕주 포킵시의 제안이 채택되었다. 그 이유는 "산호세 버전은 최고급이지만 확장성이 없는 반면, 귀하의 제안은 모든 종류의 확장 기능을 갖추고 있기 때문입니다. 확장이 불가능한 기기는 절대 제안하지 마십시오."였다.

경영진은 코어 메모리가 소형 기기에서 작동할 수 있을지 확신하지 못하여, 제리 오타웨이(Gerry Ottaway)에게 백업용 드럼 메모리 설계를 맡겼다. 인수 테스트 과정에서 코어 메모리 오류가 반복되었으나, 이는 코어 스택에 뜨거운 공기를 불어넣는 머핀 팬의 오작동 때문으로 밝혀졌다. 팬 문제를 해결한 후 코어 메모리 문제는 해결되었고, 드럼 메모리 설계는 중단되었다.

이후, 코드명 '''CADET'''은 "'''C'''an't '''A'''dd, '''D'''oesn't '''E'''ven '''T'''ry"(덧셈 전용 회로 대신 메모리의 덧셈 표를 사용하는 것을 언급)의 약자라는 농담이 현장 엔지니어들 사이에서 유행했고,[30][31][32] 이는 사용자 커뮤니티에도 널리 알려졌다.

2. 3. 프로토타입 CADET

팀은 앤 덱먼(Anne Deckman), 켈리 B. 데이(Kelly B. Day), 윌리엄 플로락(William Florac), 제임스 브렌자(James Brenza)가 합류하면서 확장되었다. 1959년 봄에 (코드명) CADET 프로토타입을 완성했다.

한편, 캘리포니아주 산호세 시설에서도 자체적으로 제안을 진행하고 있었다. IBM은 둘 중 하나만 만들 수 있었고, 뉴욕주 포킵시의 제안이 채택되었다. 그 이유는 "산호세 버전은 최고급이지만 확장성이 없는 반면, 귀하의 제안은 모든 종류의 확장 기능을 갖추고 있기 때문입니다. 확장이 불가능한 기기는 절대 제안하지 마십시오."였다.

경영진은 코어 메모리가 소형 기기에서 작동할 수 있는지 완전히 확신하지 못했기에, 제리 오타웨이(Gerry Ottaway)를 팀에 파견하여 백업용 드럼 메모리를 설계하게 했다. 인수 테스트 과정에서 코어 메모리 오류가 반복적으로 발생하여 경영진의 예측이 현실화될 가능성이 높아 보였다. 그러나 마지막 순간, 코어 스택에 뜨거운 공기를 불어넣는 데 사용된 머핀 팬이 제대로 작동하지 않아 코어가 노이즈 펄스를 감지하고 올바르게 읽지 못한다는 사실이 밝혀졌다. 팬 문제를 해결한 후에는 코어 메모리에 더 이상 문제가 발생하지 않았고, 드럼 메모리 설계 작업은 불필요해져 중단되었다.

2. 4. 양산 및 모델 변경

IBM 1620 Model I은 1959년에 출시된 최초의 모델로, CADET이라는 코드명으로 개발되었다. 가격을 낮추기 위해 ALU 하드웨어 없이 메모리 테이블 조회를 통해 산술 연산을 수행했다. 덧셈과 뺄셈은 100자리 테이블, 곱셈은 200자리 테이블을 사용했다.[15] 기본적으로 나눗셈은 소프트웨어 서브루틴을 사용했지만, 선택적으로 하드웨어를 설치할 수 있었다. 부동 소수점 연산은 선택 사항이었다.

초기 20,000자리 자기 코어 메모리는 CPU 내부에 있었고, 40,000 또는 60,000자리로 확장하려면 IBM 1623 메모리 장치를 추가해야 했다. 메모리 사이클 시간은 20μs였다. 중앙 프로세서 클럭 속도는 1MHz였다. 명령어를 가져오는 데 8번의 메모리 사이클(160μs)이 걸렸고, 실행에는 가변적인 수의 메모리 사이클이 걸렸다. 간접 주소 지정[1]은 각 참조 레벨마다 4번의 메모리 사이클(80μs)을 추가했다.

1962년에 출시된 IBM 1620 Model II는 Model I에 비해 크게 개선되었다. 덧셈과 뺄셈을 위한 ALU 하드웨어를 갖추었지만, 곱셈은 여전히 메모리 테이블 조회를 사용했다. 00300..00399 주소의 메모리는 덧셈 테이블을 하드웨어로 대체하여 확보되었으며, 7개의 5자리 인덱스 레지스터로 구성된 두 개의 선택 가능한 "밴드"를 저장할 수 있게 되었다.

Model I에서 선택 사항이었던 나눗셈 하드웨어가 내장되었다. 부동 소수점 연산은 선택 사항이었다. 전체 코어 메모리는 IBM 1625 메모리 장치에 있었다. 메모리 사이클 시간은 Model I의 절반인 10μs였다.[6] 프로세서 클럭 속도 또한 2MHz로 두 배 증가했다. 명령어는 가져오는 데 1, 4 또는 6 메모리 사이클(10μs, 40μs 또는 60μs)이 걸렸고, 실행에는 가변적인 수의 메모리 사이클이 걸렸다. 간접 주소 지정[1]은 각 간접 참조 레벨마다 3개의 메모리 사이클(30μs)을 추가했다. 인덱스 주소 지정은 각 인덱싱 레벨마다 5개의 메모리 사이클(50μs)을 추가했다.

1959년 IBM 1620 발표 이후, IBM 내부 조직 개편으로 인해 제조 부서가 푸킵시에서 산호세로 이관되었다. 산호세로 이관된 후, CADET이 "'''C'''an't '''A'''dd, '''D'''oesn't '''E'''ven '''T'''ry"(덧셈을 할 수 없고, 시도조차 하지 않는다)를 의미한다는 농담이 유행했고, 사용자 커뮤니티에도 널리 알려졌다.[30][31][32]

Model I은 여러 레벨로 개선되었다.

레벨설명
A프로토타입. 수직 제어 패널을 사용한 유일한 레벨. 산호세로 이전 후 각도 있는 제어 패널로 재설계됨.
B최초 생산 버전. 샌딩 알루미늄 하부 제어판을 사용 (이후 레벨에서는 흰색으로 마감).
C1622 카드 리더/펀치 도입.
D1311 디스크 드라이브 도입 및 디스크 제어 로직이 포함된 선택적 "게이트 J" 추가.
E부동 소수점 연산 옵션 도입.
F(상세 내용 없음)
G인터럽트 옵션 도입 (IBM 1710에 필요). 인터럽트 코드에서 BT & BB 서브루틴을 지원하지 않음. "게이트 J"의 디스크 제어 로직이 "게이트 A" & "게이트 B"로 병합 (Model II용 카드를 사용하여 로직 압축 가능).
H인터럽트 코드에서 BT & BB 서브루틴을 지원하는 개선된 인터럽트 옵션. Model I의 최종 버전.



Model II에 대한 레벨 정보는 현재 없다. Model II는 덧셈 및 뺄셈을 위한 기본 ALU 하드웨어와 인덱스 레지스터를 도입했다.

Model III는 개발이 시작되었지만, IBM이 System/360 판매를 촉진하면서 프로젝트가 취소되었다.

3. 기술적 특징

IBM 1620은 저항-트랜지스터 논리 회로(RTL)를 기반으로 설계되었으며, 속도 향상을 위해 드리프트형 트랜지스터(1957년에 허버트 크레이머가 발명)를 사용했다. IBM은 이를 ''SDTRL''이라고 불렀다.[9]

회로는 2.5×4.5인치 (38×114mm) 크기의 종이 에폭시 인쇄 회로 기판에 단면 실장되었으며, 16핀 금도금 에지 커넥터가 부착되었다. IBM은 이 기판을 ''SMS''(표준 모듈러 시스템) 카드라고 불렀다. 카드 한 장은 74 시리즈 표준 로직 IC 수준의 회로를 포함했다.

이 기판들은 랙의 소켓에 삽입되었는데, IBM은 이를 "게이트"라고 칭했다. 기본 구성에는 다음과 같은 게이트들이 있었다.


  • 게이트 A: 전면에 경첩이 있어 열어서 보수할 수 있다. 게이트 B 뒤에 위치한다.
  • 게이트 B: 후면에 경첩이 있어 열어서 보수할 수 있다.
  • 게이트 C: 뒤로 빼내어 보수하는 형태. 콘솔 타입라이터 인터페이스를 담당하며, 주로 릴레이 회로로 구성되었다.
  • 게이트 D: 뒤로 빼내어 보수하는 형태. 표준 입출력 인터페이스를 담당한다.


1620은 두 종류의 자기 코어 메모리를 사용했다.

  • 주 메모리: 20,000, 40,000, 60,000자릿수 용량으로 제공되었다. 12비트 단위로 접근하며, 홀수 번호 자릿수와 짝수 번호 자릿수의 쌍을 저장했다. 12개의 비트 플레인으로 모듈을 구성했으며, 1개에서 3개의 모듈이 사용되었다. 각 플레인은 10,000개의 코어를 포함했다.
  • 메모리 주소 레지스터 스토리지(MARS) 메모리: 워드 단위 주소 지정을 사용했다. 최대 16워드까지 지원했으며(기본 구성에서는 8워드 사용), 1워드 읽기, 복수 워드 클리어/쓰기가 가능했다. 1워드는 24비트이며, 5자릿수를 저장했다. 1개의 플레인에 384개의 코어가 있었다.


하드웨어 구현에 따라 두 가지 모델이 존재했다.

  • IBM 1620 I: ALU가 없어 코어 메모리 상의 테이블을 참조하여 계산을 수행했다. 가감산에는 100자릿수, 곱셈에는 200자릿수 메모리를 사용했다. 기본적으로 나눗셈은 소프트웨어로 구현되었지만, 자동 감산 반복 하드웨어 옵션을 장착할 수 있었다. 나눗셈 옵션과 부동 소수점 옵션은 동시에 장착할 수 없었다. 클럭 속도는 1MHz였다.[15]
  • IBM 1620 II: ALU를 갖추어 가감산을 하드웨어로 구현했다. 곱셈은 여전히 메모리 테이블 참조 방식이었다. 가감산용 테이블 메모리는 인덱스 레지스터로 사용되었다. 클럭 속도는 2MHz였다.


모델 I은 덧셈/뺄셈에 메모리 내 조회 테이블을 사용했기 때문에, 제한된 기수(5~9)의 부호 없는 숫자 산술을 이러한 테이블의 내용을 변경하여 수행할 수 있었다.[14] 하지만 하드웨어에는 뺄셈(및 부호가 반대인 숫자 덧셈)을 위한 10의 보수기가 포함되어 있었다. 2에서 4까지의 기수에서 완전한 부호 있는 덧셈과 뺄셈을 수행하려면 보수기와 캐리 로직을 속이는 "접힌" 덧셈 테이블을 만들기 위해 하드웨어에 대한 자세한 이해가 필요했다. 또한, 프로그램에서 주소 계산이 필요할 때마다 일반적인 10진법 연산을 위해 덧셈 테이블을 다시 로드한 다음, 대체 기수를 위해 다시 로드해야 했다. 이로 인해 이 "트릭"은 실제 응용 프로그램에서는 그다지 유용하지 않았다.

모델 II는 덧셈과 뺄셈이 하드웨어에 완전히 구현되었으므로 메모리의 테이블을 변경하는 것은 산술 기수를 변경하는 "트릭"으로 사용할 수 없었다. 그러나 8진 입력/출력, 논리 연산, 10진법으로의 변환 및 10진법으로부터의 변환을 위한 선택적 특수 하드웨어 기능이 제공되었다. 8과 10 이외의 기수는 지원되지 않았지만, 이는 모델 II가 다른 컴퓨터(예: IBM 7090)에서 8진법으로 형식화된 데이터를 조작해야 하는 응용 프로그램에 매우 실용적이었다.
모델별 특징 비교 요약

특징IBM 1620 모델 IIBM 1620 모델 II
ALU없음 (메모리 테이블 조회 사용)덧셈/뺄셈용 ALU 존재, 곱셈은 여전히 메모리 테이블 조회
메모리 유닛자체 코어 메모리 (확장 시 IBM 1623 스토리지 유닛 사용)IBM 1625 코어 스토리지 메모리 유닛[5][6]
메모리 사이클 시간20 μs (50 kHz)10 μs (100 kHz)[6]
클럭 속도1 MHz2 MHz
나눗셈소프트웨어 구현 (선택적으로 자동 감산 반복 하드웨어 옵션 장착 가능)하드웨어 구현 (반복 뺄셈 알고리즘 사용)
부동 소수점 연산선택적 특수 기능 (나눗셈 옵션과 동시 장착 불가)선택적 특수 기능
인덱스 레지스터없음7개의 5자리 인덱스 레지스터 (두 개의 밴드)
기타8진수 입출력, 논리 연산, 10진수 변환 명령어 선택적 특수 기능 제공


3. 1. 아키텍처

IBM 1620은 가변 워드 길이의 십진(2진화 십진 표현) 컴퓨터로, 메모리는 20,000자리에서 60,000자리까지 20,000자리 단위로 확장 가능했다. 주소는 십진수 5자리로 표시되어 100,000자리까지 주소 지정이 가능했지만, 60,000자리 이상의 메모리를 탑재한 시스템은 제조되지 않았다.

2자리 분량의 메모리에 한 번에 접근했는데, 이는 홀수 번째와 짝수 번째 숫자의 쌍, 또는 1글자의 영숫자로 취급되었다. 각 숫자는 6비트로 표시되며, 홀수 패리티의 '''C'''heck 비트, 플래그 '''F'''lag 비트, BCD 비트 4비트로 구성되었다. 비트 배열은 다음과 같다.

: C F 8 4 2 1

'''F''' 비트는 다음과 같이 사용되었다.

  • 숫자의 최하위 자릿수에서 설정된 경우, 음수임을 나타내는 부호 비트가 되었다. (부호 있는 수 표현)
  • 숫자의 최상위 자릿수에서 설정되어, 워드의 시작을 나타냈다. (워드 마크)
  • 주소의 최하위 자릿수에서 설정된 경우, 간접 주소 지정을 나타냈다. (어드레싱 모드)
  • 주소의 중간 3자리의 ''F'' 비트로 7개의 인덱스 레지스터를 지정했다. (1620 II의 경우)


BCD 비트군은 일반 숫자 외에 3종류의 특수한 값을 나타냈는데, 이것들은 계산에 사용할 수 없었다.

: C F 8 4 2 1

: 1 0 1 0 - 레코드 마크 (레코드 오른쪽 끝)

: 1 1 0 0 - 숫자 공백 (Numeric Blank, 펀치 카드에서 아무것도 펀칭되지 않은 상태)

: 1 1 1 1 - 그룹 마크 (디스크 입출력용 레코드 군의 오른쪽 끝)

명령은 고정 길이(12자리)로, 다음과 같이 구성되었다.

  • 2자리의 명령 코드
  • 5자리의 "P 주소" (보통 결과 저장 위치)
  • 5자리의 "Q 주소" (보통 연산의 인수를 나타내며, 즉시 값이 되기도 함)


분기 명령 등에서는 P 주소만 사용했다.

고정 소수점 수 데이터 "워드"는 메모리가 허용하는 한 2자리에서 임의의 길이까지 사용할 수 있었다.

부동 소수점 수 데이터 "워드"는 하드웨어 옵션이 필요했지만, 4자리에서 102자리까지 가능했다. (가수가 2자리에서 100자리, 지수부가 2자리)

이 머신은 프로그램이 사용할 수 있는 레지스터를 가지고 있지 않았다. 모든 명령은 메모리에서 메모리로 조작되었다.

3. 2. 메모리

IBM 1620은 가변 워드 길이를 가진 십진수 (BCD) 컴퓨터로, 코어 메모리를 사용했다. 메모리는 20,000자리에서 60,000자리까지 20,000자리 단위로 확장 가능했다.[4][3][1] 5자리 십진수로 주소를 표시하여 100,000자리까지 주소 지정이 가능했지만, 60,000자리 이상의 메모리를 탑재한 시스템은 제조되지 않았다.[7]

한 번에 2자리씩 메모리에 접근했다(홀수 번째와 짝수 번째 숫자의 쌍, 또는 1글자의 영숫자로 취급). 각 숫자는 6비트로 표시되며, 홀수 패리티의 '''C'''heck 비트, 플래그 '''F'''lag 비트, BCD 비트 4비트로 구성되었다. 비트 배열 형식은 다음과 같다.

:'''C F 8 4 2 1'''

'''F''' 비트는 다음과 같이 사용되었다.[8]

  • 숫자의 최하위 자릿수에서 설정된 경우, 음수임을 나타내는 부호 비트가 되었다. (부호 있는 수 표현)
  • 숫자의 최상위 자릿수에서 설정되어, 워드의 시작을 나타냈다. (워드 마크)
  • 주소의 최하위 자릿수에서 설정된 경우, 간접 주소 지정을 나타냈다. (어드레싱 모드)
  • 주소의 중간 3자리의 '''F''' 비트로 7개의 인덱스 레지스터를 지정했다. (IBM 1620 모델 II의 경우)


BCD 비트군은 일반 숫자 외에 3종류의 특수한 값도 표현했다(계산에는 사용할 수 없었다).

:C F 8 4 2 1

:1 0 1 0 레코드 마크(레코드 오른쪽 끝)

:1 1 0 0 숫자 공백(Numeric Blank, 펀치 카드에서 아무것도 펀칭되지 않은 상태)

:1 1 1 1 그룹 마크(디스크 입출력용 레코드 군의 오른쪽 끝)

명령은 12자리의 고정 길이로, 2자리 명령 코드, 5자리 "P 주소"(결과 저장 위치), 5자리 "Q 주소"(연산 인수 또는 즉시 값)로 구성되었다. 분기 명령 등에서는 P 주소만 사용했다.

고정 소수점 수 데이터 "워드"는 메모리가 허용하는 한 2자리에서 임의의 길이까지 가능했다. 부동 소수점 수 데이터 "워드"는 하드웨어 옵션이 필요했지만, 4자리에서 102자리까지 가능했다(가수 2~100자리, 지수 2자리).

IBM 1620은 프로그래머가 접근 가능한 레지스터가 없었다. 모든 명령은 메모리 간 조작이었다( 1620 II의 인덱스 레지스터 포함).
모델별 메모리 시스템 비교

특징IBM 1620 모델 IIBM 1620 모델 II
메모리 유닛자체 코어 메모리 (확장 시 1623 스토리지 유닛 사용)IBM 1625 코어 스토리지 메모리 유닛[5][6]
메모리 사이클 시간20 μs (50 kHz)10 μs (100 kHz)[6]
ALU없음 (메모리 테이블 조회 사용)덧셈/뺄셈용 ALU 존재, 곱셈은 여전히 메모리 테이블 조회
인덱스 레지스터없음7개의 5자리 인덱스 레지스터 (두 개의 밴드)


3. 3. 명령어 집합

IBM 1620의 명령어는 12자리의 십진수로 구성된 고정 길이이며, 구조는 다음과 같다.

  • 연산 코드: 2자리의 십진수로, 명령어의 종류를 나타낸다.
  • P 주소: 5자리의 십진수로, 보통 연산 결과를 저장할 메모리 주소를 가리킨다.
  • Q 주소: 5자리의 십진수로, 보통 연산에 쓰일 값을 가져올 메모리 주소나 즉시 값을 나타낸다.


분기 명령어와 같이 일부 명령어는 P 주소만 사용하기도 한다.

데이터는 고정 소수점 수와 부동 소수점 수 형식을 모두 지원한다.

  • 고정 소수점 수 워드: 최소 2자리에서 메모리 용량이 허용하는 범위까지 길이를 조절할 수 있다.
  • 부동 소수점 수 워드: (하드웨어 부동 소수점 옵션 필요) 최소 4자리(가수 2자리, 지수 2자리)에서 최대 102자리(가수 100자리, 지수 2자리)까지 길이를 조절할 수 있다.


IBM 1620은 프로그래머가 직접 쓸 수 있는 레지스터가 없으며, 모든 연산은 메모리 간(memory-to-memory) 방식으로 처리된다. 1620 II에서는 인덱스 레지스터를 써서 메모리 주소를 간접 지정할 수 있다.

3. 4. 문자 및 연산 코드


3. 5. 유효하지 않은 문자

IBM 1620 모델 I은 타자기에서 키릴 문자 Ж (zh로 발음)를 일반적인 용도의 유효하지 않은 문자로 사용했으며, 패리티는 올바르게 처리되었다(유효하지 않은 패리티는 "–"로 덮어쓰기하여 표시). 1960년대 후반에 인기를 얻은 제임스 본드 소설에 사용된 것처럼 일부 1620 설치에서는 이를 SMERSH라고 불렀다. 모델 II는 새로운 문자 ❚ ( "필로우"라고 함)를 일반적인 용도의 유효하지 않은 문자로 사용했으며, 패리티는 올바르게 처리되었다.

BCD 비트군은 일반 숫자를 나타내는 것 외에 3종류의 특수한 값이 있다(이것들은 계산에 사용할 수 없다):

CF8421설명
1010레코드 마크(레코드 오른쪽 끝을 나타냄)
1100숫자 공백(Numeric Blank, 펀치 카드에서 아무것도 펀칭되지 않은 상태에 해당)
1111그룹 마크(디스크 입출력용 레코드 군의 오른쪽 끝을 나타내는 값)


3. 6. 아키텍처적 어려움

IBM 1620은 과학 및 공학 분야에서 널리 사용되었지만, 컴퓨터 과학자인 에츠허르 데이크스트라는 설계상의 몇 가지 문제점을 지적했다.[9]

데이크스트라가 지적한 문제점은 다음과 같다.

  • 분기 및 전송 명령과 분기 백 명령의 조합으로 인해 서브루틴 호출이 한 단계만 가능했다. 이 때문에 두 단계 이상의 중첩된 코드를 작성하는 프로그래머는 이 기능을 어디에 사용할지 신중하게 결정해야 했다.
  • 머신의 종이 테이프 읽기 지원이 레코드 표시(저장된 문자를 종료하는 데 사용됨)가 포함된 테이프를 제대로 읽을 수 없었다. 이 때문에 1620은 레코드 표시가 있는 테이프를 간단하게 복제할 수 없었다. 레코드 표시가 발견되면 펀치 명령이 EOL 문자를 대신 펀치하고 종료되기 때문이다.


하지만, 이러한 문제점들은 치명적인 문제는 아니었는데,[9] 그 이유는 다음과 같다.

  • 데이터를 메모리 끝으로 복사하여 WN 대신 DN 명령으로 그대로 펀치할 수 있었다.
  • 테이프는 일반적으로 오프라인에서 복제되었다.


대부분의 1620 설치에서는 종이 테이프보다 더 편리한 펀치 카드 입/출력을 사용했다.[10]

4. 소프트웨어

IBM은 1620을 위해 다음과 같은 소프트웨어를 제공했다.


  • 1620 심볼릭 프로그래밍 시스템(SPS) (어셈블리 언어)
  • FORTRAN
  • FORTRAN II - 40,000자리 이상의 메모리가 필요했다.
  • GOTRAN - "로드 앤 고(load and go)" 작업을 위한 FORTRAN의 단순화된 인터프리터 버전이다.[12]
  • 모니터 I 및 모니터 II - 디스크 운영체제. 모니터는 1620 SPS IId, FORTRAN IId 및 DUP(디스크 유틸리티 프로그램)의 디스크 기반 버전을 제공했다. 두 모니터 시스템 모두 20,000자리 이상의 메모리와 하나 이상의 1311 디스크 드라이브가 필요했다.


PDF 형식의 IBM 1620 관련 매뉴얼 모음은 bitsavers에 존재한다.[13]

5. 하드웨어 구현

IBM 1620은 두 가지 모델로 출시되었으며, 각 모델은 고유한 하드웨어 구현 방식을 가지고 있었다.

; IBM 1620 모델 I

: 1959년에 출시된 모델 I은 가격을 낮추기 위해 전통적인 ALU 하드웨어 없이 메모리 테이블 조회를 통해 산술 연산을 수행했다.

:* 덧셈과 뺄셈은 주소 00300..00399에 위치한 100자리 테이블을 사용했다.

:* 곱셈은 주소 00100..00299에 위치한 200자리 테이블을 사용했다.[15]

:* 나눗셈은 기본적으로 소프트웨어 서브루틴을 사용했지만, 선택적으로 반복적인 뺄셈 알고리즘을 사용하는 하드웨어를 설치할 수 있었다.

:* 부동 소수점 산술 명령은 선택 사항이었다 (단, 나눗셈 옵션이 설치된 경우에만 가능).

:* 초기 20,000자리의 자기 코어 메모리는 CPU 내부에 있었으며, 40,000 또는 60,000자리로 확장하려면 IBM 1623 메모리 장치를 추가해야 했다.

:* 메모리 사이클 시간은 20μs였다.

:* 중앙 프로세서 클럭 속도는 1MHz였다.

; IBM 1620 모델 II

: 1962년에 출시된 모델 II는 모델 I에 비해 크게 개선되었다.

:* 덧셈과 뺄셈을 위한 기본적인 ALU 하드웨어를 갖추었지만, 곱셈은 여전히 메모리 테이블 조회 방식으로 수행되었다.

:* 모델 I에서 선택 사항이었던 나눗셈 하드웨어가 내장되었다.

:* 부동 소수점 연산은 선택 사항이었다.

:* 전체 코어 메모리는 IBM 1625 메모리 장치에 있었다.

:* 메모리 사이클 시간은 모델 I의 절반인 10μs였다.[6]

:* 프로세서 클럭 속도는 2MHz로 두 배 증가했다.

1620의 논리 회로는 대부분 저항-트랜지스터 논리(RTL) 회로였으며, 고속화를 위해 드리프트형 트랜지스터(1957년허버트 크뢰머가 발명)를 사용했다. IBM은 이를 ''SDTRL''이라고 불렀다.

회로는 2.5×4.5인치 (64×114mm) 크기의 종이 에폭시 인쇄 회로 기판에 단면 실장되었다. 이 기판에는 16핀의 금도금 에지 커넥터가 있었으며, IBM은 이를 ''SMS''(표준 모듈러 시스템) 카드라고 불렀다. 카드 한 장의 회로는 74 시리즈 표준 로직 IC 정도였다.

기판은 랙의 소켓에 삽입되었으며, IBM은 이를 "게이트"라고 칭했다. 기본 구성은 다음과 같은 게이트를 갖추고 있었다.

게이트설명
게이트 A전면에 경첩이 있어 열어 보수하는 형태. 게이트 B 뒤에 위치.
게이트 B후면에 경첩이 있어 열어 보수하는 형태.
게이트 C뒤로 빼내어 보수하는 형태. 콘솔 타입라이터의 인터페이스. 주로 릴레이 회로.
게이트 D뒤로 빼내어 보수하는 형태. 표준 입출력 인터페이스.



1620에서는 두 종류의 자기 코어 메모리를 사용했다.

종류설명
주 메모리20,000, 40,000, 60,000자릿수. 12비트 단위로 접근하며 홀수 번호 자릿수와 짝수 번호 자릿수의 페어를 저장. 1비트 플레인을 12개로 모듈을 구성하며, 1개에서 3개 모듈. 플레인에는 10,000개의 코어가 있음.
메모리 주소 레지스터 스토리지(MARS) 메모리워드 단위 주소 지정. 16워드까지(기본 구성에서는 8워드까지 사용). 1워드 읽기, 복수 워드 클리어/쓰기. 1워드는 24비트이며, 5자릿수를 저장. 1플레인, 384개의 코어.


6. 주변 장치

''모델 I'' 콘솔 타자기는 릴레이 세트로 인터페이스된 수정된 모델 B1이었으며, 초당 10자만 타이핑할 수 있었다. ''모델 II''는 수정된 셀렉트릭 타자기를 사용했으며, 이는 15.5cps로 타이핑할 수 있어 55% 향상되었다.

IBM 1627 드럼 플로터


IBM 1620과 IBM 1621(배경의 종이 테이프 리더)를 들고 있는 사용자, 1961년 뉴욕 화이트 플레인스, IBM 본사


IBM 1311 디스크 드라이브 모델 2(슬레이브) & 모델 3(마스터), IBM 1620 II에 연결됨


사용 가능한 주변 장치는 다음과 같다.

  • IBM 1621 - 종이 테이프 판독기
  • IBM 1622 - 천공 카드 판독기/펀치
  • IBM 1624 - 종이 테이프 펀치 (1621 내부에 선반에 위치)
  • IBM 1626 - 플로터 컨트롤러
  • IBM 1627 - 플로터
  • IBM 1311 - 디스크 드라이브: 모델 3 마스터 드라이브는 최대 3개의 모델 2 슬레이브 드라이브를 제어한다.[20][21]
  • IBM 1443 - 프린터, 플라잉 타입 바
  • IBM 1405 - 디스크 드라이브는 RPQ (견적 요청)로 제공된다.


1963년 5월 6일, 더 빠른 출력 옵션인 IBM 1443 프린터가 도입되었으며,[22] 분당 150–600 라인 처리 능력은 1620의 두 모델 모두에서 사용할 수 있었다.[23][24]

IBM 1621 종이 테이프 리더는 초당 최대 150개의 문자를 읽을 수 있었으며, IBM 1624 종이 테이프 펀치는 초당 최대 15개의 문자를 출력할 수 있었다.[1]

IBM 1622 카드 리더/펀치는 분당 최대 250장의 카드를 읽고, 분당 최대 125장의 카드를 펀칭할 수 있다.[1]

7. 운영 절차

IBM 1620의 "운영 체제"는 인간 운영자가 담당했으며, 전면 패널과 타자기로 구성된 컴퓨터 콘솔의 제어 장치를 사용하여 펀치 카드 묶음이나 종이 테이프 롤과 같은 대용량 저장 매체에서 프로그램을 로드했다.[20][25] 이후 모델 1311 디스크 저장 장치를 사용하면서 카드 묶음이나 종이 테이프 롤을 다루는 작업이 줄었고, 디스크에서 로드할 프로그램을 선택하는 데 도움이 되는 간단한 "모니터" 운영 체제를 로드할 수 있었다.[20][25]

표준적인 예비 절차는 이전 사용자의 잔재를 컴퓨터 메모리에서 지우는 것이었다. 메모리는 자기 코어를 사용하여 전원이 꺼져도 마지막 상태를 유지했다. 콘솔 타자기에 기계 코드를 입력하고 실행하여 간단한 컴퓨터 프로그램을 로드함으로써 메모리를 0으로 채웠다. 0번지에 로드된 160001000000과 같은 하나의 명령만 필요했는데, 이는 00000 값을 갖는 즉시 상수 필드(16: 두 자리 연산 코드)를 주소 00010으로 "즉시 필드 전송"(5자리 피연산자 필드, 두 번째 필드는 주소 11에서 7)을 의미하며, "플래그"가 있는 숫자가 복사될 때까지 소스 및 대상 주소를 감소시켰다. 1620 II에서는 이 명령이 작동하지 않아(구현 시 특정 최적화 때문), 콘솔의 ''수정'' 버튼과 ''확인 재설정'' 버튼을 함께 눌러 10분의 1초 만에 메모리를 지우는 모드를 사용했다.

프로그램은 종이 테이프 리더, 카드 리더 또는 디스크 드라이브를 통해 로드할 수 있었다. 테이프나 디스크에서 로드하려면 먼저 콘솔 타자기에 "부트스트랩" 루틴을 입력해야 했다. 카드 리더에는 첫 번째 카드를 컴퓨터 메모리(00000번지부터 시작)로 읽어 실행하도록 지시하는 특수한 ''로드'' 버튼이 있어 작업이 더 쉬웠다.

프로그래머는 운영자에게 제출하는 대신 직접 프로그램을 실행할 수 있었고, 콘솔 타자기를 통해 대화식으로 데이터를 입력하고 출력을 얻을 수 있었다. 콘솔에는 실행 중인 프로그램의 상태를 테스트하여 사용자가 동작을 지시할 수 있는 4개의 프로그램 스위치가 있었다. 컴퓨터 운영자는 실행 중인 프로그램을 중지하고 메모리 내용을 조사하거나 수정할 수도 있었다.

FORTRAN II 컴파일러와 SPS 어셈블러는 현대 기준으로 사용하기 다소 불편했지만,[26][27] 반복을 통해 절차가 자동화되어 더 이상 세부 사항을 고려할 필요가 없었다.

FORTRAN II 컴파일 절차참고 사항
프로그램 스위치 설정 (Pass I)
오버플로우 검사 스위치는 프로그램, 다른 스위치는 정지로 설정
재설정 버튼 누름
빈 카드 -> 펀치 호퍼, 펀치 시작 버튼 누름
컴파일러 Pass I -> 읽기 호퍼, 로드 버튼 누름Pass I 로드 후 타자기에 "ENTER SOURCE PROGRAM, PRESS START" 출력
읽기 스태커에서 컴파일러 Pass I 제거
프로그램 소스 덱 -> 읽기 호퍼, 시작 버튼 누름Pass I 완료 후 타자기에 "TURN SW 1 ON FOR SYMBOL TABLE, PRESS START" 출력
프로그램 스위치 1 OFF, 시작 버튼 누름디버깅용 심볼 테이블 목록: 프로그램 스위치 1 ON.
Pass I 완료 후 타자기에 "END OF PASS 1" 출력
프로그램 스위치 설정 (Pass II)
오버플로우 검사 스위치는 프로그램, 다른 스위치는 정지로 설정
재설정 버튼 누름
빈 카드 -> 펀치 호퍼, 펀치 시작 버튼 누름
컴파일러 Pass II -> 읽기 호퍼, 로드 버튼 누름Pass II 로드 대기
읽기 스태커에서 컴파일러 Pass II 제거
Pass I 중간 출력 -> 읽기 호퍼, 리더 시작시작 버튼 누름Pass II 완료 후 타자기에 "SW 1 ON TO PUNCH SUBROUTINES, PRESS START" 출력
리더 스태커에서 중간 출력 제거
프로그램 스위치 1 ON, 서브루틴 덱 -> 읽기 호퍼, 리더 시작시작 버튼 누름Pass II 완료 후 타자기에 "END OF PASS II" 출력
리더 스태커에서 서브루틴 덱 제거, 펀치 스태커에서 오브젝트 덱 제거



GOTRAN은 메모리에서 직접 실행 파일을 생성하여 사용이 더 간단했지만, 완전한 FORTRAN 구현은 아니었다.

라이스 대학교의 프로그래머 밥 리차드슨(Bob Richardson)[28][29]이 개발한 FLAG(FORTRAN Load-and-Go) 컴파일러는 로드 후 바로 출력 덱을 얻을 수 있게 해주었다. FLAG는 메모리에 남아있어 다음 소스 덱을 바로 처리할 수 있었다.

디스크 저장 장치 도입으로 카드 덱 작업이 줄었다. 컴파일러와 로더는 디스크에 저장되어 간단한 디스크 기반 운영 체제의 제어 하에 로드되었다.

카드 리더-펀치의 펀치 부분은 카드 상단에 문자를 인쇄하지 않았기 때문에, 모든 출력 덱을 단위 기록 장비인 IBM 557 알파벳 인터프리터로 가져가서 각 카드를 읽고 내용을 상단에 인쇄해야 했다. 목록은 주로 목록 덱을 펀칭하고 IBM 407 회계기를 사용하여 덱을 인쇄하여 생성되었다.

7. 1. 콘솔

IBM 1620 콘솔은 램프와 스위치로 구성되었으며, 모델 1과 모델 2는 상단 콘솔 구성에서 약간의 차이를 보였다. 주요 기능은 다음과 같다.[18][19]

  • Insert (삽입): 프로그램 카운터를 0으로 재설정하고, 컴퓨터를 '자동' 및 '삽입' 모드로 전환한다. 주소 0에서 타자기를 통해 숫자를 읽는 명령을 실행하며, 100자리 숫자를 입력하면 'Release (해제)'가 자동으로 실행되어 산술 테이블이 덮어쓰이는 것을 방지한다.
  • Release (해제): 타자기로 읽기 작업을 하는 동안 이 키를 누르면 읽기가 종료되고 컴퓨터가 '수동' 모드로 전환되며, 타자기 키보드가 잠긴다.
  • Start (시작): '수동' 모드에서 이 키를 누르면 컴퓨터가 '자동' 모드로 전환되어 프로그램 카운터 주소에서 실행을 시작한다.
  • Stop-SIE (중지-SIE): '자동' 모드에서 이 키를 누르면 현재 실행 중인 명령이 완료된 후 컴퓨터가 '수동' 모드로 전환된다. '수동' 모드에서는 한 번의 명령에 대해 '자동' 모드로 전환된다.
  • Instant Stop-SCE (즉시 중지-SCE): '자동' 모드에서 이 키를 누르면 현재 메모리 사이클이 끝날 때 컴퓨터가 '자동/수동' 모드로 전환된다. '수동' 또는 '자동/수동' 모드에서는 한 번의 메모리 사이클을 실행한다.


프로그램 디버깅을 위한 'Save (저장)' 및 'Display MAR (MAR 표시)' 버튼도 있었다.

  • Save (저장): '수동' 모드에서 이 키를 누르면 프로그램 카운터가 MARS 코어 메모리의 다른 레지스터에 저장되고 '저장' 모드가 활성화된다. 이를 통해 운영자는 디버깅 명령 완료 후 프로그램을 재개할 수 있다.
  • Display MAR (MAR 표시): '수동' 모드에서 이 키를 누르면 선택된 MARS 레지스터와 해당 주소의 메모리 내용이 콘솔 램프에 표시된다.


다음은 콘솔을 이용한 "브레이크포인트" 설정 및 해제 절차이다.

"브레이크포인트" 절차참고
Stop-SIE 누름현재 명령이 끝날 때 컴퓨터를 중지
Save 누름실행을 재개할 주소 저장
Insert 누름타자기 키보드를 잠금 해제하고 숫자 모드로 전환
35xxxxx0010036xxxxx0010042 입력 (xxxxx는 브레이크포인트 설정 주소)
Release 누름타자기 키보드를 잠금
Start 누름실행 시작. 12자리 명령 출력
Release 누름숫자 덤프 중지
Start 누름실행 시작
48 입력"break(중단)"할 명령의 연산 코드를 Halt(정지) 연산 코드로 변경
Release 누름타자기 키보드 잠금
Start 누름실행 재개. 컴퓨터가 "브레이크포인트"에서 멈출 때까지 대기
Insert 누름타자기 키보드 잠금 해제 및 숫자 모드 전환
36xxxxx0010049xxxxx 입력 (xxxxx는 이전에 브레이크포인트를 설정했던 주소)
Release 누름타자기 키보드 잠금
Start 누름실행 시작
oo 입력 (oo는 이전에 출력된 원래 12자리 명령의 2자리 연산 코드)
Release 누름타자기 키보드 잠금
Stop-SIE 누름(이제 지워진) "브레이크포인트" 위치에서 실행 재개 준비 완료. 계속하기 전에 필요한 디버깅 작업 수행 가능



콘솔을 통해 모든 주 메모리를 지울 수도 있었다. 주소에서 주소 +1로의 전송 명령을 입력하고 실행하면, 모든 단어 마크를 덮어쓰고 메모리 끝에서 래핑되었다. 잠시 후 Stop(중지)를 누르면 전송 명령이 중지되고 메모리가 지워졌다.

7. 2. 입출력 장치

IBM 1620은 다양한 입출력 장치를 통해 데이터를 처리했다.

'''IBM 1621 종이 테이프 리더'''는 초당 최대 150개의 문자를 읽을 수 있었고, '''IBM 1624 종이 테이프 펀치'''는 초당 최대 15개의 문자를 출력할 수 있었다.[1]

두 장치는 다음 기능을 갖추고 있었다.

  • 8채널 종이 테이프 처리 가능
  • 정확성을 보장하기 위한 자체 점검 수행
  • 단일 문자 코딩으로 숫자 및 문자 정보를 모두 처리 가능


1621 테이프 리더와 1624 테이프 펀치는 다음 제어 기능을 포함했다.

  • 전원 스위치 - "on"으로 설정하면 CPU 전원이 켜질 때 리더 장치에 전원이 공급된다.
  • 릴-스트립 스위치 - 이 스위치는 릴 또는 종이 테이프 스트립 중 어떤 것을 사용할지 선택한다.
  • 릴 전원 키 - 공급 및 감기 릴에 전원을 공급하여 테이프를 읽기 위치로 이동시키고 리더를 준비 상태로 만든다.
  • 비처리 실행 종료 키 - 리더가 비어질 때까지 테이프를 공급하고 리더를 준비 상태에서 해제한다.


부트스트랩 절차비고
삽입 버튼 누르기타자기 키보드의 잠금을 해제하고 숫자 모드로 전환한다.
36xxxxx0030049yyyyy 입력xxxxx는 테이프를 로드할 주소이다.
yyyyy는 실행을 시작할 주소이다.
해제 버튼 누르기타자기 키보드를 잠근다.
시작 버튼 누르기실행을 시작한다.



'''IBM 1622 카드 리더/펀치'''는 다음을 수행할 수 있었다.


  • 분당 최대 250장의 카드를 읽을 수 있었다.
  • 분당 최대 125장의 카드를 펀칭할 수 있었다.[1]


1622의 제어 장치는 3개의 그룹으로 나뉜다. 3개의 펀치 제어 로커 스위치, 6개의 버튼 및 2개의 리더 제어 로커 스위치이다.

펀치 로커 스위치:

  • 펀치 끄기/펀치 켜기 – 이 로커는 펀치 메커니즘을 끄거나 켠다.
  • 정지 없음/정지 선택 – 이 로커는 잘못 펀칭된 카드(일반 펀치 스태커 대신 펀치 오류 선택 스태커에 배치됨)가 펀칭을 계속하도록 할지 또는 검사 정지를 유발할지 선택한다.
  • 비-프로세스 런아웃 – 펀치 호퍼가 비어 있는 이 로커는 펀치 메커니즘에서 나머지 카드를 "런아웃"한다.


버튼:

  • 펀치 시작 – 펀치가 유휴 상태이고 켜진 상태에서 이 키를 누르면 펀치가 시작된다. 이제 컴퓨터는 카드를 펀칭할 수 있다.
  • 펀치 중지 – 펀치가 활성화된 상태에서 이 키를 누르면 펀치가 중지된다.
  • 검사 재설정 – 이 키를 누르면 리더와 펀치의 모든 "오류 검사" 조건이 재설정된다.
  • 로드 – 리더가 유휴 상태이고 켜져 있으며 컴퓨터가 ''수동'' 모드일 때 이 키를 누르면 리더가 시작되고 프로그램 카운터(MARS 코어 메모리)가 0으로 재설정되고 하나의 카드가 리더의 버퍼로 읽혀지고 카드에 오류가 있는지 확인되며 주소 0에서 카드 리더에서 숫자 읽기 실행을 시뮬레이션한다(리더의 버퍼의 80개 문자를 메모리 주소 00000에서 00079로 읽기). 그런 다음 컴퓨터를 ''자동'' 모드로 전환한다(프로그램 카운터의 주소에서 실행 시작).
  • 리더 중지 – 리더가 활성화된 상태에서 이 키를 누르면 리더가 중지된다.
  • 리더 시작 – 리더가 유휴 상태이고 켜진 상태에서 이 키를 누르면 리더가 시작되고 하나의 카드가 리더의 버퍼로 읽혀지고 카드에 오류가 있는지 확인된다. 이제 컴퓨터는 카드를 읽을 수 있다.


리더 로커 스위치:

  • 비-프로세스 런아웃 – 읽기 호퍼가 비어 있는 이 로커는 리더 메커니즘에서 나머지 카드를 "런아웃"한다.
  • 리더 끄기/리더 켜기 – 이 로커는 리더 메커니즘을 끄거나 켠다.


부트스트랩 절차참고
로드 누르기



다음과 같은 주변 장치를 사용할 수 있었다.


  • IBM 1621 - 종이 테이프 판독 장치
  • IBM 1622 - 펀치 카드 리더/펀치
  • IBM 1624 - 종이 테이프 펀치 (1621 내부에 설치)
  • IBM 1626 - 플로터 제어 장치
  • IBM 1627 - 플로터
  • IBM 1311 - 자기 디스크 장치
  • IBM 1443 - 라인 프린터
  • IBM 1405 - 자기 디스크 장치 (RPQ, 즉 개별 대응으로 접속 가능)

7. 3. 디스크 드라이브

x
y1963611300102 입력x 모니터 제어 카드의 소스를 지정한다: 1=타자기, 3=종이 테이프, 5=카드
y 모니터가 상주하는 디스크 드라이브를 지정한다: 1, 3, 5, 7
02402는 모니터 프로그램의 진입점 주소이다.해제 누르기타자기 키보드를 잠근다.시작 누르기실행을 시작한다.



'''재시작 절차'''

절차참고
삽입 누르기타자기 키보드를 잠금 해제하고 숫자 모드로 전환한다.
490225FLG6 입력02256̅은 모니터 프로그램의 재시작 지점 주소를 포함하는 위치의 주소이다.
참고: 이 절차는 모니터가 이미 메모리에 로드되어 있다고 가정한다.
해제 누르기타자기 키보드를 잠근다.
시작 누르기실행을 시작한다.


7. 4. 일반적인 절차

IBM 1620의 "운영 체제"는 인간 운영자로 구성되었으며, 운영자는 전면 패널과 타자기로 구성된 컴퓨터 콘솔의 제어 장치를 사용하여 프로그램을 로드했다.[20][25] 이후 디스크 저장 장치를 사용하면서 카드 묶음을 다루는 작업이 줄었고, 간단한 "모니터" 운영 체제를 로드할 수 있게 되었다.[20][25]

표준 예비 절차는 이전 사용자의 잔류물을 컴퓨터 메모리에서 지우는 것이었다. 콘솔 타자기에 기계 코드를 입력하여 메모리를 0으로 채우는 간단한 프로그램을 로드했다. 1620 II에서는 콘솔의 ''수정'' 버튼을 사용하여 메모리를 빠르게 지울 수 있었다.

프로그램은 종이 테이프 리더, 카드 리더 또는 디스크 드라이브를 통해 로드할 수 있었다. 카드 리더의 ''로드'' 버튼은 첫 번째 카드를 메모리에 읽어 실행하는 부트스트랩 프로세스를 간소화했다.

프로그래머는 직접 프로그램을 실행할 수 있었고, 콘솔 타자기를 통해 대화식으로 데이터를 입력하고 출력을 얻을 수 있었다. 콘솔의 프로그램 스위치를 사용하여 실행 중인 프로그램의 동작을 제어할 수 있었다. 또한, 운영자는 실행 중인 프로그램을 중지하고 메모리 내용을 조사하거나 수정할 수도 있었다.

FORTRAN II 컴파일러와 SPS 어셈블러는 사용하기 다소 불편했지만,[26][27] 반복을 통해 절차가 자동화되었다.

FORTRAN II 컴파일 절차참고 사항
프로그램 스위치 설정 (Pass I)
오버플로우 검사 스위치는 프로그램, 다른 스위치는 정지로 설정
재설정 버튼 누름
빈 카드 -> 펀치 호퍼, 펀치 시작 버튼 누름
컴파일러 Pass I -> 읽기 호퍼, 로드 버튼 누름Pass I 로드 후 타자기에 "ENTER SOURCE PROGRAM, PRESS START" 출력
읽기 스태커에서 컴파일러 Pass I 제거
프로그램 소스 덱 -> 읽기 호퍼, 시작 버튼 누름Pass I 완료 후 타자기에 "TURN SW 1 ON FOR SYMBOL TABLE, PRESS START" 출력
프로그램 스위치 1 OFF, 시작 버튼 누름디버깅용 심볼 테이블 목록: 프로그램 스위치 1 ON.
Pass I 완료 후 타자기에 "END OF PASS 1" 출력
프로그램 스위치 설정 (Pass II)
오버플로우 검사 스위치는 프로그램, 다른 스위치는 정지로 설정
재설정 버튼 누름
빈 카드 -> 펀치 호퍼, 펀치 시작 버튼 누름
컴파일러 Pass II -> 읽기 호퍼, 로드 버튼 누름Pass II 로드 대기
읽기 스태커에서 컴파일러 Pass II 제거
Pass I 중간 출력 -> 읽기 호퍼, 리더 시작시작 버튼 누름Pass II 완료 후 타자기에 "SW 1 ON TO PUNCH SUBROUTINES, PRESS START" 출력
리더 스태커에서 중간 출력 제거
프로그램 스위치 1 ON, 서브루틴 덱 -> 읽기 호퍼, 리더 시작시작 버튼 누름Pass II 완료 후 타자기에 "END OF PASS II" 출력
리더 스태커에서 서브루틴 덱 제거, 펀치 스태커에서 오브젝트 덱 제거



GOTRAN은 메모리에서 직접 실행 파일을 생성하여 사용이 더 간단했지만, 완전한 FORTRAN 구현은 아니었다.

라이스 대학교의 밥 리차드슨(Bob Richardson)[28][29]이 개발한 FLAG(FORTRAN Load-and-Go) 컴파일러는 로드 후 바로 출력 덱을 얻을 수 있게 해주었다. FLAG는 메모리에 남아있어 다음 소스 덱을 바로 처리할 수 있었다.

디스크 저장 장치 도입으로 카드 덱 작업이 줄었다. 컴파일러와 로더는 디스크에 저장되어 간단한 디스크 기반 운영 체제의 제어 하에 로드되었다.

카드 리더-펀치의 펀치 측면에서 카드 상단에 문자를 인쇄하지 않았기 때문에, 출력 덱은 단위 기록 장비인 IBM 557 알파벳 인터프리터로 가져가서 내용을 상단에 인쇄해야 했다. 목록은 IBM 407 회계기를 사용하여 생성되었다.

8. 활용 사례

IBM 1620 모델 II는 미국 항공우주국(NASA) 본부(워싱턴 D.C.)에서 제미니 캡슐과 아제나 로켓 모듈을 테더로 연결했을 때의 3차원 시뮬레이션을 포트란으로 프로그래밍하는 데 사용되었다. 당시에는 탄성 끈으로 인한 충돌 가능성 때문에 두 물체를 우주에서 묶는 것이 안전한지 완전히 이해되지 않았다. 같은 컴퓨터로 제미니 비행의 궤도를 시뮬레이션하여 각 궤도의 프린터 아트 차트를 생성하기도 했다. 이러한 시뮬레이션은 밤새 실행되었고 다음 날 데이터를 검토했다.[33]

1963년, IBM 1620이 인도 IIT 칸푸르에 설치되어 인도의 소프트웨어 역량을 강화했다.[34]

1964년, 오스트레일리아 국립 대학교의 Martin Ward는 IBM 1620 모델 I을 사용하여 Janko group ''J1''의 순서를 계산했다.[35]

1966년, ITU는 IBM 1620과 Linofilm 사진 식자기를 사용하여 ''워싱턴 이브닝 스타''에서 1963년 컴퓨터 조판 시스템에 대한 설명 영화를 제작했다.[36]

1964년, IBM 1620이 아이슬란드 대학교에 설치되어 아이슬란드 최초의 컴퓨터가 되었다.[37]

9. 영화 및 TV 출연

DJ 리지 코르딕이 개발한 라디오 프로그램은 IBM의 존 버제슨과 그의 형제인 당시 미국 해군 소위였던 폴이 개발한 야구 게임 시뮬레이터를 기반으로 피츠버그의 KDKA 방송국에서 제작되었다. 이 프로그램은 1960년부터 1963년까지 컴퓨터가 시뮬레이션 훈련을 수행하는 능력의 예시로 수많은 시연 행사에 사용되었다.

영화 ''콜로서스: 포빈 프로젝트''(Colossus: The Forbin Project)에 등장하는 가공의 컴퓨터 콜로서스는 폐기된 1620 전면 패널 약 12개를 중고 시장에서 구입하여 다양한 방향으로 사용했다.[38] 유사한 구성이 ''007 유.엔.크라클 작전''(The Man from U.N.C.L.E.)의 TV 후반부 에피소드[39]와 영화[40]에서 '''''THRUSH''''' 슈퍼컴퓨터를 묘사하는 데 사용되었다. 영화 『지구 폭파 작전』에 등장하는 컴퓨터 "콜로서스"는 폐기된 1620의 전면 패널을 유용하여 만들어졌다.[54]

10. 에피소드

사용자들 사이에서 1620은 "'''CADET'''"(캐뎃)으로 불렸는데, 이는 농담조로 "'C'an't 'A'dd, 'D'oesn't 'E'ven 'T'ry" (더할 수 없고, 시도조차 안 함)를 의미한다. 이는 전용 덧셈 회로 대신 메모리에 저장된 덧셈 테이블을 사용했기 때문이다.[41]

기계의 코드명에 대한 세 가지 알려진 해석에 대해서는 개발 역사를 참조하면 된다.

내부 코드명 '''CADET'''은 해당 기계에 선택되었다. 개발자 중 한 명은 이것이 "'C'omputer with 'AD'vanced 'E'conomic 'T'echnology" (첨단 경제 기술을 갖춘 '''컴퓨터''')을 의미한다고 말했지만, 다른 사람들은 이것이 당시 개발 중이던 IBM 1401 기기의 내부 코드명인 '''SPACE'''의 절반인 '"SPACE - CADET"'을 의미한다고 회상한다.

11. 관련 특허

특허 번호특허명출원일등록일발명자도면텍스트청구항선행 기술
미국 특허 3,049,295호[49]곱셈 컴퓨터1960년 12월 20일1962년 8월 14일윌리엄 H. 로즈, 제임스 G. 브렌자, 웨인 D. 윙거, 로버트 C. 잭슨156장31장21개없음
미국 특허 3,328,767호[50]소형 데이터 검색 테이블1963년 12월 31일1967년 6월 27일제럴드 H. 오타웨이5장4장11개5개
미국 특허 3,199,085호[51]테이블 검색 산술 장치 기능을 갖춘 컴퓨터1960년 12월 20일1965년 8월 3일윌리엄 H. 로즈, 제임스 G. 브렌자, 웨인 D. 윙거156장31장21개5개
미국 특허 3,239,654호[52]나눗셈 컴퓨터1961년 2월 8일1966년 3월 8일로버트 C. 잭슨, 윌리엄 A. 플로락, 웨인 D. 윙거13장19장9개1개, 간행물 3개


참조

[1] 웹사이트 1620 Data Processing System https://web.archive.[...] 2003-01-23
[2] 웹사이트 Some Key Dates in IBM's Operations in Europe, the Middle East and Africa (EMEA) https://ghostarchive[...]
[3] 웹사이트 The IBM 1620: Just The Right Machine for Chula's Statistics Department https://web.archive.[...] 2017-12-20
[4] 문서
[5] 서적 History of Nordic Computing 2
[6] 서적 History of Nordic Computing 2: Second IFIP WG 9.7 Conference https://books.google[...] 2009
[7] 문서
[8] 웹사이트 The IBM 1620 Model 1 Physics @ SMU http://www.physics.s[...]
[9] 웹사이트 E.W. Dijkstra Archive: A review of the IBM 1620 Data Processing System (EWD 37) http://www.cs.utexas[...]
[10] 웹사이트 Basic Programming Concepts and The IBM 1620 Computer http://www.textfiles[...]
[11] 서적 Computer Organization and Assembly Language Programming https://books.google[...] 2014
[12] 웹사이트 Subject: GOTRAN ON THE IBM 1316 DISK STORAGE PACK (Serial No. K7402) https://web.archive.[...] 2006-03-03
[13] 웹사이트 Index of /pdf/ibm/1620 https://web.archive.[...] 2006-04-06
[14] 웹사이트 IBM 1620 https://web.archive.[...] 2017-12-19
[15] 서적 227-5630-1 IBM 1620 Floating Point Feature CE Manual http://bitsavers.tra[...] IBM Corporation
[16] 웹사이트 IBM 1620 http://www.ed-thelen[...] 1961-03
[17] 서적 History of Computer Graphics https://books.google[...] DLR Associates Series 2011
[18] 웹사이트 IBM 1620 Central Processing Unit, Model 1 https://web.archive.[...] 2017-12-18
[19] 웹사이트 IBM 1620 Central Processing Unit, Model 2 https://web.archive.[...] 2017-12-18
[20] 웹사이트 IBM 1311 https://web.archive.[...] 2003-01-23
[21] 문서
[22] 웹사이트 DPD chronology https://web.archive.[...] 2003-01-23
[23] 웹사이트 IBM 1443 PRINTER for 1620/1710 Systems http://bitsavers.tra[...]
[24] 문서
[25] 문서
[26] 서적 1620 FORTRAN (with FORMAT) http://www.bitsavers[...]
[27] 서적 IBM 1620 FORTRAN II Programming System Reference Manual http://www.bitsavers[...]
[28] 서적 History of Computer Graphics: Dlr Associates Series https://books.google[...] 2011
[29] 문서
[30] 서적 Milestones in Computer Science and Information Technology https://archive.org/[...] 2003
[31] 웹사이트 IBM 1620 http://paul.mcnabbs.[...]
[32] 문서
[33] 문서
[34] 문서
[35] 논문 A new finite simple group with abelian Sylow subgroups http://www.pnas.org/[...] Proc. Natl. Acad. Sci. USA 1965
[36] 웹사이트 I.T.U. - Story of Technology https://vimeo.com/12[...] International Typographical Union
[37] 웹사이트 Ský - Fyrstu tölvurnar https://www.sky.is/i[...] 2021-11-02
[38] 간행물 The IBM 1620 Restoration Project http://leitl.org/doc[...] 2005-07
[39] 웹사이트 The Man from U.N.C.L.E. - The Ultimate Computer Affair (TV Episode) https://www.imdb.com[...] 1965-10
[40] 웹사이트 The Man from U.N.C.L.E." movie's full of technological anachronisms https://www.linkedin[...]
[41] 서적 Computing in the Middle Ages: A View from the Trenches 1955-1983 1st Books
[42] 서적 Edward Roberts and the Story of the Personal Computer Mitchell Lane Publishers
[43] 서적 Computing in the Middle Ages: A View from the Trenches 1955-1983 1st Books
[44] 문서 Dijkstra archive at the University of Texas http://www.cs.utexas[...]
[45] 문서 IBM Systems Reference Library – 1620 FORTRAN (with FORMAT) http://www.bitsavers[...]
[46] 문서 IBM Systems Reference Library – IBM 1620 FORTRAN II Programming System Reference Manual http://www.bitsavers[...]
[47] 문서 http://hissa.nist.go[...]
[48] 문서 http://www.bitsavers[...]
[49] US특허
[50] US특허
[51] US특허
[52] US특허
[53] 문서 Personal recollections of Donald N. Huff, son of Vearl N. Huff
[54] 간행물 The IBM 1620 Restoration Project 2005-07
[55] 웹인용 1620 Data Processing System http://www-03.ibm.co[...]
[56] 웹인용 Some Key Dates in IBM's Operations in Europe, the Middle East and Africa (EMEA) https://www-03.ibm.c[...]
[57] 웹인용 The IBM 1620: Just The Right Machine for Chula's Statistics Department http://bundhit.acc.c[...] 2017-12-20



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com