IBM 650

IBM 650
노르웨이 최초의 IBM 650 컴퓨터(1959년), "EMMA"로 알려짐. 650 콘솔 장치(우측, 외부 측면 패널이 열려 있음), 533 카드 읽기/펀치 장치(중앙, 입출력 장치). 655 전원 장치는 누락됨. 천공 카드 분류기(좌측, 650의 일부가 아님). 현재 오슬로의 노르웨이 과학 기술 박물관에 전시 중.
종류디지털 컴퓨터
이전 기종IBM CPC (604, 605)
후속 기종IBM 7070 (고성능 기종)
IBM 1620 (저성능 기종)
관련 기기IBM 701, IBM 702;
IBM 608
텍사스 A&M 대학교의 IBM 650. 우측에 IBM 533 카드 읽기/펀치 장치가 보인다.
2진-5진법(bi-quinary) 표시기가 보이는 IBM 650 콘솔 패널.: p. 47ff  우측 하단에 자주 사용된 스위치 주변의 마모 흔적을 볼 수 있다. 스페인 라코루냐 소재 국립 과학 기술 박물관(Museo Nacional de Ciencia y Tecnología) 소장.
2진-5진법 표시기 근접 촬영
IBM 650의 자기 드럼 메모리
IBM 650 콘솔 장치의 측면 모습. 스페인 최초의 컴퓨터(1959년)로 현재 라코루냐의 국립 과학 기술 박물관에 전시되어 있다.

IBM 650 자기 드럼 데이터 처리기(영어: IBM 650 Magnetic Drum Data-Processing Machine)는 1950년대 중반 IBM에서 생산한 초기 디지털 컴퓨터이다. 이 기기는 세계 최초의 대량 생산 컴퓨터였다. 약 2,000대의 시스템이 생산되었으며, 마지막 기기는 1962년에 생산되었다. 또한 의미 있는 수익을 창출한 최초의 컴퓨터이기도 하다. 첫 번째 모델은 1954년 말에 설치되었으며, IBM 650은 1950년대에 가장 인기 있는 컴퓨터였다.

650은 각각 과학 및 비즈니스 목적이었던 IBM 701과 IBM 702 컴퓨터보다 느리지만 저렴한 대안으로 비즈니스, 과학 및 공학 사용자들에게 제공되었다. 또한 IBM 604와 같은 계산 펀치에서 컴퓨터로 업그레이드하려는 천공 카드 기기 사용자들을 대상으로 마케팅되었다.: 5 

비교적 낮은 비용과 쉬운 프로그래밍 덕분에 650은 잠수함 승조원 성과 모델링부터 고등학생 및 대학생 대상의 컴퓨터 프로그래밍 교육에 이르기까지 다양한 분야를 개척하는 데 사용되었다. IBM 650은 대학에서 매우 인기가 많았으며, 한 세대의 학생들이 처음으로 프로그래밍을 배우는 계기가 되었다.

1953년에 발표되었으며, 1956년에는 최대 4개의 디스크 저장 장치를 추가할 수 있는 IBM 650 RAMAC으로 개선되었다. 읽기/펀치 장치나 전원 공급 장치를 제외한 모델 4 IBM 650 콘솔 단품의 1959년 구매 가격은 $150,000 (equivalent to about $1,700,000 in 2025)였다. 650 및 구성 장치에 대한 지원은 1969년에 종료되었다.

650은 2-주소, 2진-5진법 부호화 10진법 컴퓨터(데이터와 주소 모두 10진법)로, 메모리는 회전하는 자기 드럼을 사용했다. 문자 지원은 입출력 장치가 천공 카드의 영문자와 특수 문자 인코딩을 2자리 10진수 코드로 변환하는 방식으로 제공되었다.

650은 디지털 직렬 방식의 기계로 125 kHz 주파수로 클록되었으며 기본 디지털 시간은 8 μs였다. 650은 부호를 포함한 10자리 워드를 가졌고 워드 사이에 1 디지털 시간의 스위칭 간격이 있었기 때문에, IBM 650 타이밍의 기본 단위인 워드 시간은 12 디지털 시간 또는 96 μs였다. 드럼의 각 트랙에는 50개의 워드가 있었으며, 드럼은 50 워드 시간마다 한 번씩 회전했다(4.8 ms, 또는 12,500 rpm). 명령어 처리 시간은 드럼에서 명령어 데이터와 다음 명령어의 위치를 찾는 데 걸리는 시간과, 곱셈 및 나눗셈의 경우 승수와 몫의 자릿수에 따라 달라졌다. 덧셈 또는 뺄셈 명령어의 전체 시간은 7~106 워드 시간, 즉 약 0.7~10.2 ms였다. 곱셈은 23~253 워드 시간, 나눗셈은 63~293 워드 시간(각각 2.2~24.3 ms 및 6.0~28.1 ms)이 소요되었다.

도널드 커누스의 책 시리즈인 컴퓨터 프로그래밍의 예술은 650에 헌정된 것으로 유명하다.

역사

최초의 650은 1954년 12월 8일 보스턴의 존 핸콕 생명보험 컨트롤러 부서에 설치되었다.

1958년에 발표된 IBM 7070(부호가 있는 10자리 10진수 워드)은 "적어도 650과 IBM 705의 공통 후속 기종"이 될 것으로 예상되었다. 1959년에 도입된 IBM 1620(가변 길이 10진수)은 저가형 시장을 겨냥했다. 유니박 솔리드 스테이트(부호가 있는 10자리 10진수 워드를 사용하는 2-주소 컴퓨터)는 650에 대응하여 1958년 12월 스페리 랜드(Sperry Rand)에서 발표되었다. 이들 중 650과 명령어 집합이 호환되는 기기는 없었다.

하드웨어

기본 650 시스템은 세 개의 장치로 구성되었다.

무게: 5,400–6,263 파운드 (2.7–3.1 short ton; 2.4–2.8 t).

선택 장치:

주기억장치

회전하는 자기 드럼은 각각 0000~0999, 1999, 3999 주소에 1,000, 2,000, 4,000 워드의 메모리를 제공했다. 각 워드는 10개의 2진-5진법 부호화 10진법 자릿수를 가졌으며, 부호가 있는 10자리 숫자나 5개의 문자를 표현했다(2진-5진법 자릿수를 7비트로 계산하면 4000 워드는 35킬로바이트와 같음). 드럼의 워드는 드럼 주변의 밴드로 구성되었으며, 밴드당 50개의 워드, 각 모델에 따라 20, 40, 80개의 밴드가 있었다. 드럼 표면의 위치가 회전 중 읽기/쓰기 헤드 아래를 지날 때 워드에 접근할 수 있었다(12,500 rpm으로 회전, 최적화되지 않은 평균 접근 시간은 2.5 ms). 이러한 타이밍 특성 때문에 각 명령어의 두 번째 주소는 다음 명령어의 주소였다. 따라서 프로그램은 이전 명령어 실행 완료 후 즉시 접근 가능한 주소에 명령어를 배치하여 최적 프로그래밍을 수행할 수 있었다. IBM은 프로그래머가 명령어와 데이터 위치를 기록할 수 있도록 10개 열과 200개 행이 있는 양식을 제공했다. 이후 SOAP(Symbolic Optimal Assembly Program)라는 어셈블리어가 제공되어 대략적인 최적화를 수행했다.

LGP-30, 벤딕스 G-15, IBM 305 RAMAC 컴퓨터 또한 진공관과 드럼 메모리를 사용했지만 IBM 650과는 상당히 달랐다.

드럼에서 읽은 명령어는 프로그램 레지스터(현재 용어로는 명령 레지스터)로 전달되었다. 드럼에서 읽은 데이터는 10자리 분배기(distributor)를 거쳤다. 650은 20자리 누산기를 가졌으며, 공통 부호를 가진 하위 10자리와 상위 10자리 누산기로 나뉘었다. 산술 연산은 1자리 가산기에 의해 수행되었다. 콘솔(10자리 스위치, 부호 스위치 1개, 2진-5진법 표시등 10개), 분배기, 하위 및 상위 누산기는 모두 주소 지정이 가능했다(각각 8000, 8001, 8002, 8003).

IBM 653 저장 장치

1955년 5월 3일에 도입된 선택 사양인 IBM 653 저장 장치는 최종적으로 다음 5가지 기능을 제공했다.

  • 자기 테이프 컨트롤러(IBM 727 자기 테이프 장치용)(10개의 추가 작업 코드)
  • 디스크 저장 장치 컨트롤러(1956년 신규 IBM 355 디스크 저장 장치용 개선)(5개의 추가 작업 코드)
  • 9000~9059 주소에 60개의 10자리 자기 코어 메모리 워드. 이 작은 고속 메모리의 접근 시간은 96μs로, 회전 드럼 대비 26배의 성능 향상을 보였다. 이 기능은 5개의 작업 코드를 추가했으며 테이프 및 디스크 입출력 버퍼로 필요했다. 60개의 워드는 내부 루프와 테이블 조회를 가속화하기 위해 프로그램에서 사용할 수도 있었다.
  • 8005~8007 주소에 3개의 4자리 인덱스 레지스터. 드럼 주소는 2000, 4000, 6000을 더해 인덱싱되었고, 코어 주소는 0200, 0400, 0600을 더해 인덱싱되었다. 4000 워드 드럼 시스템의 경우 인덱싱은 인덱스 레지스터 A에 첫 번째 주소에 4000을 더하고, 인덱스 레지스터 B에 두 번째 주소에 4000을 더하며, 인덱스 레지스터 C에 두 주소 모두에 4000을 더하는 방식이었다(4000 워드 시스템의 인덱싱은 첫 번째 주소에만 적용). 4000 워드 시스템은 드럼 메모리를 위한 트랜지스터화된 읽기/쓰기 회로를 필요로 했으며 1963년 이전에 출시되었다.(18개의 추가 작업 코드)
  • 부동 소수점 – 산술 명령어는 8자리 가수와 2자리 지수(오프셋 지수)를 지원하여 MMMMMMMMCC 형식으로 ±0.00000001E-50에서 ±0.99999999E+49의 범위를 제공했다.(7개의 추가 작업 코드)

명령어 집합

650 명령어는 2자리 작업 코드, 4자리 데이터 주소, 그리고 다음 명령어의 4자리 주소로 구성되었다. 기본 기계에서는 부호가 무시되었지만 선택 기능이 있는 기계에서는 사용되었다. 기본 기계는 44개의 작업 코드를 가졌다. 부동 소수점, 코어 스토리지, 인덱스 레지스터 및 추가 입출력 장치와 같은 옵션에 대해 추가적인 작업 코드가 제공되었다. 모든 옵션을 설치하면 97개의 작업 코드를 사용할 수 있었다.

테이블 조회(TLU) 명령어는 참조된 10자리 워드와 동일한 드럼 밴드의 48개 연속 워드를 5ms 회전 내에 비교할 수 있었고 다음 48개 워드를 위해 제시간에 다음 밴드로 전환할 수 있었다. 이 기능은 1963년 당시 1,000배 더 빠른 이진 기계(IBM 7040의 1,500 마이크로초 대 650의 5,000 마이크로초) 성능의 약 1/3 수준이었다. 동일한 성능의 선택 사양인 '테이블 조회 일치(Table lookup Equal)' 명령어도 있었다.

읽기(RD) 명령어는 80열 카드의 숫자 데이터를 10개의 메모리 워드로 읽어들였다. 워드로의 자릿수 분배는 카드 리더의 플러그판 제어 패널 배선에 의해 결정되었다. 533 읽기/펀치 장치의 영문자 장치와 함께 사용하면 숫자열과 영숫자열(최대 30개의 영숫자열)을 조합하여 읽을 수 있었다. 확장 기능을 통해 영숫자열을 더 추가할 수 있었지만, 카드 읽기 작업 시 드럼에 10개의 워드(워드당 5문자)만 저장되었으므로 50열을 넘을 수는 없었다.

텍사스 A&M의 IBM 650, 전면 패널 후면, 진공관 모듈 및 저장 드럼을 보여주기 위해 개방한 모습
650에 사용된 유형의 진공관 회로 모듈
1960년 브롱크스 과학고등학교의 한 교실, 칠판 위에 IBM 650 명령어 차트가 붙어 있음(우측 상단)

기본 기계 작업 코드는 다음과 같다.

17 AABL 하위 누산기에 절대값 더하기
15 AL 하위 누산기에 더하기
10 AU 상위 누산기에 더하기
45 BRNZ 누산기가 0이 아닐 경우 분기
46 BRMIN 누산기가 마이너스일 경우 분기
44 BRNZU 상위 누산기가 0이 아닐 경우 분기
47 BROV 오버플로 발생 시 분기
90-99 BRD 분배기 위치 1-10이 8일 경우 분기
14 DIV 나눗셈
64 DIVRU 나눗셈 후 상위 누산기 리셋
69 LD 분배기에 로드
19 MULT 곱셈
00 NO-OP 작업 없음
71 PCH 카드 펀치
70 RD 카드 읽기
67 RAABL 누산기 리셋 후 하위 누산기에 절대값 더하기
65 RAL 누산기 리셋 후 하위 누산기에 더하기
60 RAU 누산기 리셋 후 상위 누산기에 더하기
68 RSABL 누산기 리셋 후 하위 누산기에서 절대값 빼기
66 RSL 누산기 리셋 후 하위 누산기에서 빼기
61 RSU 누산기 리셋 후 상위 누산기에서 빼기
35 SLT 누산기 왼쪽 시프트
36 SCT 누산기 왼쪽 시프트 및 카운트
30 SRT 누산기 오른쪽 시프트
31 SRD 누산기 오른쪽 시프트 및 반올림
01 STOP 콘솔 스위치가 정지로 설정되어 있으면 정지, 아니면 NO-OP으로 계속
24 STD 분배기를 메모리에 저장
22 STDA 하위 누산기 데이터 주소를 분배기에 저장.

그 후 분배기를 메모리에 저장

23 STIA 하위 누산기 명령어 주소를 분배기에 저장.

그 후 분배기를 메모리에 저장

20 STL 하위 누산기를 메모리에 저장
21 STU 상위 누산기를 메모리에 저장.
18 SABL 하위 누산기에서 절대값 빼기
16 SL 하위 누산기에서 빼기
11 SU 상위 누산기에서 빼기
84 TLU 테이블 조회
  1. ↑ 533 제어 패널이 CPU에 신호를 보낼 수 있도록 사용됨.
  2. ↑ 상위 누산기의 상위 0 개수를 셈.
  3. ↑ 나눗셈 연산 후를 제외하고 저장된 값은 누산기의 부호를 따름; 나눗셈 후에는 나머지의 부호가 저장됨.

참고: IBM 653 옵션은 추가적인 명령어 코드를 구현할 수 있었다.

예제 프로그램

IBM이 1956년에 발행한 650 프로그래밍 불레틴 5(22-6314-0)에서 발췌한 이 1카드 프로그램은 드럼 저장 장치의 대부분을 마이너스 0으로 설정한다. 이 프로그램은 콘솔 스위치와 누산기에서 실행되는 명령어 예제를 포함한다.

시작하기 위해, 로드 카드는 80개의 연속된 자릿수(아래 두 번째 열)로 펀치되어, 읽힐 때 드럼 위치 0001에서 0008까지의 내용이 표시된 대로 설정된다.

    0001 0000010000
    0002 0000000000-
    0003 1000018003
    0004 6100080007
    0005 2400008003
    0006 0100008000
    0007 6900060005
    0008 2019990003

콘솔 숫자 스위치(주소 8000)는 데이터 주소 0004를 가진 읽기 명령어로 수동 설정된다.

    loc-       op|data|next
    ation        |addr|instruction
                 |    |addr
    8000  RD   70 0004 xxxx  Read load card into first band read area

각 드럼 밴드에는 읽기 영역이 있으며, 이 영역은 위치 0001-0010, 0051-0060, 0101-0110 등에 위치한다. 밴드의 어떤 주소라도 읽기 명령어에 대한 해당 밴드를 식별하는 데 사용될 수 있으며, 주소 0004는 첫 번째 밴드를 식별한다. 실행은 콘솔에서 시작되어 로드 카드의 8개 워드가 첫 번째 메모리 밴드의 위치 0001-0008로 읽힌다. 로드 카드를 읽는 경우, "다음 명령어 주소"는 "다음 명령어 주소 필드"가 아니라 "데이터 주소 필드"에서 가져온다(위에서 xxxx로 표시). 따라서 실행은 0004에서 계속된다.

    0004  RSU  61 0008 0007  Reset entire accumulator, subtract into upper (8003) the value 2019990003
    0007  LD   69 0006 0005  Load distributor with 0100008000
    0005  STD  24 0000 8003  Store distributor in location 0000, next instruction is in 8003 (the upper accumulator)
                             Note: the moving of data or instructions from one drum location to another
                               requires two instructions: LD, STD.

이제 2-명령어 루프가 실행된다.

    8003  STL  20 1999 0003  Store lower accumulator (that accumulator was reset to 0- by the RSU instruction above)
                             The "1999" data address is decremented, below, on each iteration.
                             This instruction was placed in the upper accumulator by the RSU instruction above.
                             Note: this instruction, now in the upper accumulator, will be decremented and then
                               executed again while still in the accumulator.
    0003  AU   10 0001 8003  Decrement data address of the instruction in the accumulator by 1
                             (by adding 10000 to a negative number)

STL의 데이터 주소는 결국 0003으로 감소하고, 0003에 있는 AU ... 명령어는 0으로 덮어쓰여진다. 그 시점이 되면(STL의 다음 명령어 주소는 0003으로 유지) 실행은 다음과 같이 계속된다.

    0003  NOOP 00 0000 0000  No-operation instruction, next instruction address is 0000
    0000  HALT 01 0000 8000  Halt, next instruction address is the console
                             (this Halt instruction was stored in 0000 by the STD instruction above)

소프트웨어

1961년 IBM 650 기계어로 작성된 학생 프로그램, Andree의 책에 나오는 연습문제 기반

650 명령어 집합은 간단하여 기계어로 소규모 프로그램을 작성할 수 있었으며 이는 학생 연습문제로 흔했다. 기계에 직접 로드하여 실행할 수 있는 카드당 단일 명령어 형식이 있었다.

기계어는 대규모 프로그램에는 불편했고, 시간이 흐르면서 IBM 650을 위한 다양한 프로그래밍 언어와 도구가 작성되었다. 여기에는 다음이 포함된다:

어셈블러
인터프리터 시스템
대수 언어 / 컴파일러

같이 보기

각주

  1. 1 2 3 《IBM 650 Magnetic Drum Data-Processing Machine: Manual of Operation》 (PDF). IBM. 1955. 22-6060-1.
  2. ↑ “IBM Archives: IBM 650 installation with IBM 727 Magnetic Tape Unit and IBM 355 Disk Storage”. 《IBM》. US. 2023년 4월 9일에 원본 문서에서 보존된 문서. 2019년 9월 5일에 확인함.
  3. ↑ “IBM Archives: IBM 650 Assembly at Endicott plant”. 《IBM》. US. 2023년 10월 23일에 원본 문서에서 보존된 문서. 2019년 9월 5일에 확인함.
  4. ↑ “History Of Computers 1937-2011”. 《Old Dominion University》. 2021년 6월 22일에 확인함.
  5. ↑ “IBM in the Computer Era”. 《The Minnesota Computing History Project》. 2018년 6월 28일. 2021년 6월 21일에 확인함.
  6. ↑ Pugh, Emerson W. (1995). 《Building IBM: Shaping an Industry and Its Technology》. MIT Press. 182쪽. ISBN 978-0-262-16147-3.
  7. 1 2 3 “The IBM 650 Magnetic Drum Calculator”. 《Columbia.edu》.
  8. ↑ Davis, Gordon B. (1971). 《Introduction to Electronic Computers》 Seco판. New York: McGraw-Hill. 10쪽. ISBN 978-0-070-15821-4.
  9. ↑ “IBM Archives: 650 Customers”. 《IBM》. 2023년 7월 25일에 원본 문서에서 보존된 문서.
  10. ↑ Gray, Wayne D. (2007). 《Integrated Models of Cognition Systems》. New York: Oxford University Press. 36쪽. ISBN 978-0-19-518919-3.
  11. ↑ “IBM 650 magnetic drum calculator introduced”. 《Computerhistory》.
  12. ↑ “IBM Archives: 650 RAMAC announcement press release”. 《IBM》. 2023년 6월 9일에 원본 문서에서 보존된 문서.
  13. ↑ “IBM Archives: IBM 650 Model 4 announcement press release” (미국 영어). 《IBM》. 2003년 1월 23일. 2023년 10월 23일에 원본 문서에서 보존된 문서. 2023년 7월 25일에 확인함.
  14. ↑ Royse, David (1957). 〈The IBM 650 RAMAC system disk storage operation〉 (영어). 《Papers presented at the February 26-28, 1957, western joint computer conference: Techniques for reliability on - IRE-AIEE-ACM '57 (Western)》. ACM Press. 43–49쪽. doi:10.1145/1455567.1455576.
  15. ↑ "Glossary of 650 Timing Designations", pp. II-30 ff., IBM Customer Engineering Manual of Instruction, 650 Data-Processing System, Form 22-6284-1, 1957. Accessed July 8, 2026.
  16. ↑ "Optimum Programming", pp. 79 ff., 650 Magnetic Drum Data-Processing Machine, Manual of Operation, IBM, June 1955, Form 22-6060-1. Accessed July 8, 2026.
  17. ↑ “Knuth Biographic Notes”. 《softpanorama.org》. 2023년 7월 25일에 확인함.
  18. ↑ “IBM Archives: 650 Chronology”. 《IBM》. 2023년 4월 17일에 원본 문서에서 보존된 문서.
  19. ↑ Bashe, Charles J.; Johnson, Lyle R; Palmer, John H.; Pugh, Emerson W. (1986). 《IBM's Early Computers》. MIT. 473쪽. ISBN 0-262-02225-7.
  20. 1 2 3 4 “IBM Archives: 650 Components”. 《IBM》. 2023년 7월 25일에 원본 문서에서 보존된 문서.
  21. ↑ “IBM Archives: IBM 650 Console Unit”. 《IBM》. 2023년 10월 23일에 원본 문서에서 보존된 문서.
  22. ↑ “IBM Archives: IBM 655 Power Unit”. 《IBM》. 2023년 4월 8일에 원본 문서에서 보존된 문서.
  23. ↑ 533을 지칭하는 다른 IBM 명칭으로는 입출력 장치와 읽기-펀치 장치가 있다.
  24. ↑ “IBM Archives: IBM 533 Card Read Punch”. 《IBM》. 2023년 4월 8일에 원본 문서에서 보존된 문서.
  25. ↑ “IBM Archives: IBM 537 Card Read Punch”. 《IBM》. 2023년 4월 9일에 원본 문서에서 보존된 문서.
  26. ↑ 《Physical Planning Installation Manual 650 System》 (PDF). IBM. 1957년 10월 1일. 32쪽. 2018년 5월 31일에 확인함 – Bitsavers 경유.
  27. ↑ 《Customer Engineering Manual of Instruction》 (PDF). IBM. 1956. I-17쪽. 2018년 5월 31일에 확인함 – Bitsavers 경유.
  28. ↑ “IBM Archives: IBM 355 Disk Storage”. 《IBM》. 2023년 4월 9일에 원본 문서에서 보존된 문서.
  29. ↑ “IBM Archives: IBM 407 accounting machine”. 《IBM》. 2023년 7월 3일에 원본 문서에서 보존된 문서.
  30. ↑ “IBM Archives: IBM 652 Control Unit”. 《IBM》. 2023년 4월 8일에 원본 문서에서 보존된 문서.
  31. ↑ “IBM Archives: IBM 653 Auxiliary Unit”. 《IBM》. 2023년 4월 9일에 원본 문서에서 보존된 문서.
  32. ↑ “IBM Archives: IBM 838 Inquiry Station”. 《IBM》. 2023년 4월 8일에 원본 문서에서 보존된 문서.
  33. ↑ “IBM Archives: IBM 650 Magnetic Drum”. 《IBM》. 2023년 2월 7일에 원본 문서에서 보존된 문서.
  34. ↑ “IBM Archives: IBM 650 Model 4 announcement”. 《IBM》. 2023년 10월 23일에 원본 문서에서 보존된 문서.
  35. ↑ Kugel, Herb (2001년 10월 22일). “The IBM 650”. Dr. Dobb's.
  36. 1 2 IBM (1957). 《SOAP II for the IBM 650》 (PDF). C24-4000-0.
  37. 1 2 3 IBM 650 CPU Extensions
  38. ↑ 《IBM 650 System Bulletin, Basic Operation Codes, Program Optimizing, Program Loading》 (PDF). IBM. 1958.
  39. ↑ 12 펀치를 사용하여 카드를 로드 카드로 식별할 수 있다. 로드 카드는 지정된 저장 밴드의 1-8 워드로 직접 읽힌다.
  40. 1 2 Andree, Richard V. (1958). 《Programming the IBM 650 Magnetic Drum Computer and Data-Processing Machine》 (PDF).
  41. ↑ Knuth, Donald E. (January–March 1986). “The IBM 650: An Appreciation from the Field”. 《IEEE Annals of the History of Computing》 8 (1): 50–55. doi:10.1109/MAHC.1986.10010. S2CID 34595049.
  42. ↑ 《IBM Reference Manual: Floating-Decimal Interpretive System for the IBM 650》 (PDF). IBM. 1959. 63, xxi쪽. 28-4024. This is a reprint of IBM 650 Technical Newsletter No. 11, March 1956, form 31-6822 . 이 참조 매뉴얼에는 다음 보고서가 포함되어 있으며, 외부적 특성 면에서 이 보고서에 설명된 인터프리터 시스템은 701을 위한 IBM Speedcoding System에 많은 빚을 지고 있다고 언급한다. Wolontis, V.M. 《Complete Floating Decimal Interpretive System for the IBM 650 Magnetic Drum Calculator》. Bell Laboratories, Inc, Murray Hill, New Jersey.
  43. ↑ Holbrook, Bernard D.; Brown, W. Stanley. “Computing Science Technical Report No. 99 – A History of Computing Research at Bell Laboratories (1937–1975)”. 벨 연구소. 2020년 8월 27일에 확인함.
  44. ↑ Wolontis, V. M. “A Complete Floating-Decimal Interpretive System For The IBM 650 Magnetic Drum Calculator” (PDF). US: IBM – bitsavers 경유.
  45. ↑ 《650 Programming Bulletin 2》. IBM. 1956. 40쪽. 22-6294-0. 여기에 설명된 인터프리터 루틴은 수학적, 논리적 및 입출력 작업을 제공하는 고정 소수점 3-주소 시스템이다. 이 시스템의 로직은 뉴저지주 머레이 힐의 벨 연구소에서 개발한 650용 완전 부동 소수점 인터프리터 시스템에서 얻었다.
  46. ↑ Perlis, A.J.; Smith, J.W.; VanZoeren, H.R. (1958년 4월 18일). 《Internal Translator; IT, A Compiler for the 650》 (PDF). 650 Library Program 2.1.001.
  47. ↑ 도널드 커누스가 1959년에 컴파일러의 순서도를 게시함;Knuth, D. E. (1959). “RUNCIBLE—algebraic translation on a limited computer”. 《커뮤니케이션스 오브 더 ACM》 2 (11): 18–21. doi:10.1145/368481.368507. S2CID 8224014.; 이는 그의 첫 학술 논문이었다.
  48. ↑ IBM (1959). 《FOR TRANSIT Automatic Coding System for the IBM 650》 (PDF). 28-4028.
  49. ↑ IBM (1960). 《FORTRAN Automatic Coding System for the IBM 650》 (PDF). 29-4047.
  50. ↑ Gray, George. “The UNIVAC Solid State Computer”. 《Unisys History Newsletter, Volume 1.2 December 1992 (revised 1999)》. 2016년 3월 4일에 원본 문서에서 보존된 문서.

더 보기

외부 링크