에니악
에니악(ENIAC, Electronic Numerical Integrator and Computer, 전자식 숫자 적분 및 계산기)은 1945년에 완성된 최초의 프로그래밍 가능한 전자식 범용 디지털 컴퓨터이다. 다른 컴퓨터들도 일부 기능을 갖추고 있었지만, 에니악은 이 모든 기능을 최초로 모두 갖춘 컴퓨터였다. 튜링 완전성을 지녔으며, 재프로그래밍을 통해 "다양한 수치 문제"를 해결할 수 있었다.
에니악은 미국 육군 탄도연구소(이후 육군연구소로 통합)의 포병 사격표 계산을 위해 존 모클리와 J. 프레스퍼 에커트가 설계했다. 그러나 최초로 실행된 프로그램은 열핵무기의 실현 가능성에 대한 연구였다.
에니악은 1945년에 완성되어 같은 해 12월 10일 실용적인 목적으로 처음 가동되었다.
에니악은 1946년 2월 15일 펜실베이니아 대학교에서 공식적으로 헌정되었으며, 비용은 487,000달러(2023년 기준 약 6,900,000달러 상당)였고, 언론에서는 "거대한 두뇌(Giant Brain)"라고 불렸다. 속도는 전기기계식 기계보다 약 천 배나 빨랐다.
에니악은 1946년 7월 미 육군 병기군에 공식적으로 인수되었고, 1947년 메릴랜드주 애버딘의 애버딘 시험장으로 이전되어 1955년까지 계속 운용되었다.
1948년의 맨체스터 베이비는 현대 전자식 디지털 컴퓨터에 필수적인 모든 요소를 갖춘 최초의 기계로, 에니악처럼 스위치를 설정하는 대신 전자적으로 재프로그래밍하여 저장된 프로그램을 운용할 수 있었다.
목차
[숨기기]개요[편집]
- 폭 : 1m
- 높이 : 2.5m
- 길이 : 25m
- 총 중량 : 약 30여t
- 진공관 개수 : 약 18,000여개
- 릴레이 : 1,500여개
- 작동 전력 : 150kw
- 개발비 총액 : 49만 달러 (당시 미국 달러 기준)
현재와 같은 프로그램 기억식이 아니라, 프로그램을 배선판에 일일이 배선하는 외부 프로그램 방식이었다. 마크-원에서는 계산기를 제어하는 데 종이테이프가 쓰이는 데 비해 선판의 연결에 의해 계산을 수행했으므로 작업에 따라 배선판을 교체해야만 하였다(그러나 어느 것이나 계산순서를 지령하는 일련의 명령은 그 대상인 데이터와는 별도로 주어졌다). 또한, 릴레이 중 하나가 고장이 나면 작동이 아예 불가능하였다. 20개의 변수와 300개의 정수를 기억하는 메모리가 장착되었고, 플로피 디스크 같은 외부 기억장치는 가지고 있지 않았다.
현재의 컴퓨터는 2진수로 계산을 하는 것이 대부분이지만 에니악의 내부구조에는 10진수를 채용했다. 부호 첨부 10자리수의 연산이 가능해 매초 5000회 덧셈에 14회 곱셈을 실행할 수 있었으며, 이는 십진수 10자리의 곱셈을 0.0028(28,000분의 1초)초, 나눗셈을 0.006초(6,000분의 1초) 이내에 처리할 수 있는, 당시에는 획기적인 컴퓨터였다.
에니악 개발은 프레스퍼 에커트하고 존 모클리가 주도했으며, 개발 목적은 대포의 정확한 탄도 계산이었다. 대포의 탄도 계산이라는 소기의 목적은 달성했으나, 기억 용량이 적고 내장 프로그램이 아니라 외부 프로그래밍 방식이어서 사용에 제약이 많았다. 전쟁이 끝난 후에는 난수 연구, 우주선 연구, 풍동 설계, 일기 예보 등에도 이용되었다.
하지만 가동되었을 때, 펜실베이니아 시내에 있던 가로등이 모두 희미해지고, 거리의 신호등이 꺼지는 등의 오작동을 일으킬 정도로 어마무시한 전력을 소모하였다(시간당 150kw).
게다가 한 번 가동을 시키면 작동에 많은 시간이 걸리는데다, 엄청난 열이 발생하였으며, 진동에도 취약한데다, 고장도 많았다.
18,000개가 넘는 진공관 때문에 한 번 가동시킬 때마다 찜질방으로 변해버릴 정도로 엄청난 열이 발생하여 에어컨하고 선풍기를 자주 켜야 했으며, 진공관이 자주 터져버리는 바람에 가동하는 시간보다 진공관을 교체하는 시간이 더 오래 걸렸을 정도였으니, 성능은 그 당시 컴퓨터 치고는 크기에 비해 아주 형편없었다.
전자공학 기술의 발달로 1955년까지 사용되다가 다른 컴퓨터로 대체되어 구시대의 유물로 전락하였다.
개발 및 설계[편집]
에니악의 설계와 제작은 미국 육군 병기국 연구개발사령부(Ordnance Corps, Research and Development Command)에서 Gladeon M. Barnes 소장의 지휘 아래 자금을 지원받아 이루어졌다. 총 비용은 약 487,000달러로, 2023년 기준 약 6,900,000달러에 해당한다. 에니악의 구상은 1941년 6월, 미국 육군 병기국이 Friden 계산기와 미분 해석기를 사용해 포병용 사격표를 계산하던 시점에 시작되었다. 이 작업은 John Mauchly의 감독 하에 대학원생들이 수행했다. Mauchly는 전자공학을 수학 계산에 적용하면 더 빠른 계산이 가능하지 않을까 고민하기 시작했다. 그는 전자공학 전문가가 아니었기 때문에 연구 동료 J. Presper Eckert와 협력하여 빠른 속도로 작동할 수 있는 전자식 컴퓨터의 설계를 구상했다. 이후 1942년 8월, Mauchly는 미국 육군이 복잡한 탄도표를 계산하는 데 도움이 될 수 있는 완전 전자식 계산기를 제안했다. 미국 육군 병기국은 이들의 계획을 받아들여 펜실베이니아 대학교에 61,700달러 규모의 6개월 연구 계약을 체결했다. 컴퓨터 제작 계약은 1943년 6월 5일에 체결되었고, 다음 달부터 펜실베이니아 대학교 무어 전기공학부에서 "Project PX"라는 암호명으로 비밀리에 작업이 시작되었으며, John Grist Brainerd가 책임 연구원으로 참여했다. Herman H. Goldstine은 육군을 설득해 프로젝트 자금을 확보했고, 그 결과 프로젝트 감독을 맡게 되었다. 컴퓨터 조립은 1944년 6월에 시작되었다. 그해 9월, Eckert와 Mauchly는 컴퓨터에 대한 구상을 완성했다. 컴퓨터의 제작은 1945년 5월에 완료되었고, 무어 스쿨에서 시험이 시작되었다. 그해 11월, 두 사람은 John Brainerd, Herman Goldstine과 함께 컴퓨터의 작동 방식과 프로그래밍 방법을 다룬 최초의 비공개 보고서를 발표했다.
에니악은 Ursinus College의 물리학 교수 John Mauchly와 펜실베이니아 대학교의 J. Presper Eckert가 설계했다. 개발을 지원한 설계 엔지니어 팀에는 Robert F. Shaw(함수표), Jeffrey Chuan Chu(나눗셈/제곱근), Thomas Kite Sharpless(마스터 프로그래머), Frank Mural(마스터 프로그래머), Arthur Burks(곱셈기), Harry Huskey(리더/프린터), Jack Davis(누산기)가 포함되어 있었다. ENIAC 프로그래밍의 대부분을 담당한 여성 수학자들의 역할도 컸는데, Jean Jennings, Marlyn Wescoff, Ruth Lichterman, Betty Snyder, Frances Bilas, Kay McNulty가 그 주인공이다. 1946년, 연구진은 펜실베이니아 대학교를 떠나 Eckert–Mauchly Computer Corporation을 설립했다.
에니악은 다양한 기능을 수행하는 개별 패널로 구성된 대형 모듈식 컴퓨터였다. 이 중 20개의 모듈은 누산기로, 덧셈과 뺄셈뿐만 아니라 10자리 십진수를 메모리에 저장할 수 있었다. 숫자는 여러 범용 버스(또는 트레이)를 통해 이들 유닛 사이에서 전달되었다. 높은 속도를 달성하기 위해 패널들은 숫자를 송수신하고, 계산하고, 결과를 저장하며, 다음 연산을 트리거하는 모든 과정을 움직이는 부품 없이 처리해야 했다. ENIAC의 유연성의 핵심은 분기 기능에 있었는데, 계산 결과의 부호에 따라 서로 다른 연산을 실행할 수 있었다.
구성 요소[편집]
1956년 운영 종료 시점에 ENIAC에는 18,000개의 진공관, 7,200개의 크리스털 다이오드, 1,500개의 릴레이, 70,000개의 저항기, 10,000개의 커패시터, 약 5,000,000개의 수작업 납땜 접합부가 포함되어 있었다. 무게는 30쇼트톤(27톤) 이상이었고, 대략 높이 8피트(2m), 깊이 3피트(1m), 길이 100피트(30m)였으며, 300평방피트(28m²)를 차지했고 150kW의 전력을 소비했다. 입력은 IBM 카드 리더로 가능했고, 출력은 IBM 카드 펀치로 이루어졌다. 이 카드들은 IBM 405와 같은 IBM 회계 기기를 사용해 오프라인으로 인쇄 출력물을 생성하는 데 사용할 수 있었다. ENIAC은 처음에는 메모리를 저장하는 시스템이 없었으나, 이러한 펀치 카드를 외부 메모리 저장 용도로 사용할 수 있었다. 1953년에는 Burroughs Corporation이 제작한 100단어 용량의 자기코어 메모리가 ENIAC에 추가되었다.
ENIAC은 숫자를 저장하기 위해 10단계 링 카운터를 사용했으며, 각 숫자마다 36개의 진공관이 필요했다. 이 중 10개는 링 카운터의 플립플롭을 구성하는 듀얼 트라이오드였다. 산술 연산은 링 카운터로 펄스를 “카운트”하고, 카운터가 “랩 어라운드”될 경우 캐리 펄스를 생성하는 방식으로 이루어졌으며, 이는 기계식 계산기의 숫자 휠 동작을 전자적으로 모방한 것이다.
ENIAC에는 20개의 10자리 부호 있는 누산기가 있었으며, 10의 보수 표현을 사용했고, 이들 각각과 소스(예: 다른 누산기나 상수 송신기) 간에 초당 5,000회의 단순 덧셈 또는 뺄셈 연산을 수행할 수 있었다. 여러 누산기를 동시에 연결해 병렬로 동작시킬 수 있었기 때문에, 최대 동작 속도는 이론적으로 훨씬 더 높았다.
한 누산기의 캐리를 다른 누산기에 연결해 두 배의 정밀도로 산술 연산을 수행할 수 있었으나, 누산기 캐리 회로의 타이밍 때문에 세 개 이상을 연결해 더 높은 정밀도를 얻는 것은 불가능했다. ENIAC은 네 개의 누산기(특수 곱셈기 유닛이 제어)를 사용해 초당 최대 385회의 곱셈 연산을 수행할 수 있었고, 다섯 개의 누산기는 특수 나눗셈/제곱근 유닛이 제어해 초당 최대 40회의 나눗셈 연산 또는 초당 3회의 제곱근 연산을 수행할 수 있었다.
ENIAC의 나머지 아홉 개 유닛은 개시 유닛(기계를 시작 및 정지), 사이클링 유닛(다른 유닛의 동기화), 마스터 프로그래머(루프 시퀀스 제어), 리더(IBM 펀치 카드 리더 제어), 프린터(IBM 카드 펀치 제어), 상수 송신기, 그리고 세 개의 기능 테이블이었다.
동작 시간[편집]
Rojas와 Hashagen(또는 Wilkes)의 참고 문헌에는 위에서 언급된 내용과 다소 차이가 있는 연산 시간에 대한 더 자세한 정보가 나와 있다.
기본 기계 사이클은 200마이크로초(사이클링 유닛의 100kHz 클럭 20회 사이클), 즉 10자리 숫자 연산 시 초당 5,000사이클이었다. 이 사이클 하나에서 ENIAC은 레지스터에 숫자를 기록하거나, 레지스터에서 숫자를 읽거나, 두 숫자를 더하거나 뺄 수 있었다.
10자리 숫자와 d자리 숫자(d는 최대 10) 곱셈은 d+4 사이클이 소요되므로, 10자리 숫자와 10자리 숫자의 곱셈은 14사이클, 즉 2,800마이크로초(초당 357회)였다. 만약 숫자 중 하나가 10자리보다 적으면 연산 속도는 더 빨랐다.
나눗셈과 제곱근 연산은 결과(몫 또는 제곱근)의 자릿수 d에 따라 13(d+1) 사이클이 소요되었다. 따라서 나눗셈이나 제곱근 연산은 최대 143사이클, 즉 28,600마이크로초(초당 35회)였다. (Wilkes 1956:20[21]에 따르면, 10자리 몫의 나눗셈은 6밀리초가 소요되었다.) 결과가 10자리보다 적으면 더 빠르게 계산되었다.
ENIAC은 약 500 FLOPS의 연산 성능을 가졌으며, 이는 현대 슈퍼컴퓨터의 페타스케일 및 엑사스케일 연산 능력과 비교된다.
신뢰성[편집]
에니악은 당시 일반적으로 사용되던 8진법 라디오 진공관을 사용했으며, 10진 누산기는 6SN7 플립플롭으로 구성되었고, 논리 기능에는 6L7, 6SJ7, 6SA7, 6AC7 진공관이 사용되었다. 수많은 6L6과 6V6 진공관은 랙 어셈블리 간 케이블을 통해 펄스를 전달하는 라인 드라이버 역할을 했다.
거의 매일 여러 개의 진공관이 고장나 ENIAC은 절반 정도의 시간 동안만 정상적으로 작동했다. 신뢰성이 높은 특수 진공관은 1948년이 되어서야 등장했다. 하지만 대부분의 고장은 진공관 히터와 캐소드가 가장 큰 열 스트레스를 받는 예열 및 냉각 과정에서 발생했다. 엔지니어들은 에니악의 진공관 고장률을 이틀에 한 번 정도로 줄였다. 1989년 에커트와의 인터뷰에 따르면 "진공관이 이틀에 한 번쯤 고장났고, 우리는 15분 안에 문제를 찾아낼 수 있었습니다." 1954년에는 고장 없이 연속으로 작동한 최장 시간이 116시간, 즉 거의 5일에 달했다.
프로그래밍[편집]
에니악은 반복문, 분기, 서브루틴 등 복잡한 연산 순서를 수행하도록 프로그래밍할 수 있었다. 그러나 오늘날의 저장 프로그램 방식 컴퓨터와 달리, ENIAC은 단순히 대규모 산술 장치들의 집합이었으며, 원래는 플러그보드 배선과 세 개의 휴대용 함수 테이블(각각 1,200개의 10방향 스위치 포함)을 조합하여 프로그램을 기계에 설정했다. 문제를 기계에 맞게 변환하는 작업은 매우 복잡했고, 보통 몇 주가 걸렸다. 프로그램을 기계에 맞게 매핑하는 과정이 복잡했기 때문에, 기존 프로그램에 대해 수많은 테스트를 거친 후에야 프로그램이 변경되었다. 종이에 프로그램을 설계한 후, ENIAC의 스위치와 케이블을 조작해 프로그램을 입력하는 과정만 해도 며칠이 걸릴 수 있었다. 그 후에는 프로그램을 한 단계씩 실행해가며 검증과 디버깅을 진행했다. ENIAC 시뮬레이터를 이용한 모듈로 함수 프로그래밍 튜토리얼은 ENIAC에서의 프로그램이 어떤 모습이었는지 보여준다.
에니악의 여섯 명의 주요 프로그래머인 Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas, Ruth Lichterman은 ENIAC 프로그램 입력 방법을 고안했을 뿐만 아니라 ENIAC의 내부 작동 원리도 이해했다. 이 프로그래머들은 종종 버그의 원인을 고장난 특정 진공관까지 좁혀내어, 기술자가 교체할 수 있도록 지목할 수 있었다.
프로그래머[편집]
제2차 세계대전 중, 미 육군이 탄도 궤적 계산이 필요했을 때, 이 업무를 위해 많은 여성들이 면접을 보았다. 최소 200명의 여성이 무어 공학 학교에 "컴퓨터"로 고용되었고, 그 중 6명이 ENIAC의 프로그래머로 선발되었다. 베티 홀버튼, 케이 맥널티, 말린 웨스코프, 루스 리히터만, 베티 진 제닝스, 프랜 빌라스는 육군 탄도 연구소를 위해 ENIAC을 이용해 탄도 궤적 계산을 전자적으로 수행하도록 프로그래밍했다. 같은 교육과 경력을 가진 남성들은 "전문가"로 분류된 반면, 이 여성들은 "준전문가"로 분류되었으나, 이들 모두 수학 분야의 전문 학위를 가진 고도로 훈련된 수학자들이었다.
이 여성들은 당시 컴퓨터 과학 전공 학부생이었던 캐서린 클레이만이 자신의 연구를 통해 밝혀낸 것처럼, 언론 사진을 위해 기계 앞에 포즈를 취하는 모델인 "냉장고 레이디"가 아니었다. 그러나 일부 여성들은 평생 ENIAC 작업에 대한 인정을 받지 못했다. 전쟁이 끝난 후에도 이 여성들은 ENIAC에서 계속 일했다. 이들의 전문성은 복귀한 군인들로 대체하기 어려운 위치였다. 1990년대에 클레이만은 대부분의 ENIAC 프로그래머들이 ENIAC 50주년 행사에 초대받지 못했다는 사실을 알게 되었다. 그래서 그녀는 이들을 찾아내어 구술 역사를 기록하는 것을 자신의 사명으로 삼았다. "그들은 자신들이 발견된 것에 충격을 받았어요." 클레이만은 말한다. "인정받은 것에 매우 기뻐했지만, 오랫동안 무시당한 것에 대해 복잡한 감정을 가졌죠." 클레이만은 2022년에 여섯 명의 여성 ENIAC 프로그래머에 관한 책을 출간했다.
이 초기 프로그래머들은 펜실베이니아 대학교 무어 전기공학 학교에서 컴퓨터로 고용된 약 200명의 여성 중에서 선발되었다. 컴퓨터의 업무는 과학 연구나 공학 프로젝트에 필요한 수학 공식의 수치 결과를 산출하는 것이었다. 이들은 보통 기계식 계산기를 사용했다. 여성들은 컴퓨팅의 수학뿐만 아니라 기계 자체를 이해하기 위해 기계의 논리, 물리적 구조, 작동 방식, 회로 등을 연구했다. 이는 당시 여성들에게 허용된 몇 안 되는 기술직 중 하나였다. 베티 홀버튼(구 스나이더)은 이후 최초의 생성형 프로그래밍 시스템(SORT/MERGE) 개발과 최초의 상업용 전자식 컴퓨터인 UNIVAC과 BINAC 설계에 진 제닝스와 함께 참여했다. 맥널티는 ENIAC의 계산 능력을 높이기 위해 서브루틴 사용을 개발했다.
허먼 골드스타인은 프로그래머들을 선발했는데, 그는 이들을 오퍼레이터(operator)라고 불렀다. 이들은 ENIAC 개발 전과 개발 중에 기계식 책상 계산기와 미분 해석기를 사용해 탄도표를 계산하던 컴퓨터(계산원)들이었다. 허먼과 아델 골드스타인의 지휘 아래, 이 컴퓨터들은 ENIAC의 설계도와 물리적 구조를 연구하여, 프로그래밍 언어가 아직 존재하지 않았기 때문에 스위치와 케이블을 어떻게 조작할지 결정했다. 동시대 사람들은 프로그래밍을 사무직 업무로 간주했고, ENIAC의 성공적인 작동과 발표에 프로그래머들이 미친 영향을 공개적으로 인정하지 않았다. 그러나 맥널티, 제닝스, 스나이더, 웨스코프, 빌라스, 리히터만은 이후 컴퓨팅 분야에 대한 공헌을 인정받았다. 현재(2020년) 미 육군의 슈퍼컴퓨터 중 세 대인 진(Jean), 케이(Kay), 베티(Betty)는 각각 진 바틱(베티 제닝스), 케이 맥널티, 베티 스나이더의 이름을 따서 명명되었다.
'프로그래머'와 '오퍼레이터'라는 직함은 원래 여성에게 적합한 직업으로 여겨지지 않았다. 제2차 세계대전으로 인한 인력 부족이 여성들이 이 분야에 진출할 수 있도록 도왔다. 그러나 이 분야는 권위 있는 직업으로 인식되지 않았고, 여성을 투입하는 것은 남성들이 더 숙련된 노동에 집중할 수 있도록 하기 위한 방편으로 여겨졌다. 본질적으로 여성들은 일시적인 위기 상황에서 필요를 충족시키는 존재로 간주되었다. 예를 들어, 1942년 미국 항공자문위원회는 "엔지니어들이 계산 세부 작업에서 해방됨으로써 컴퓨터(계산원) 급여에 드는 추가 비용을 상쇄하고도 남는 충분한 이익이 있다고 생각된다. 엔지니어들 스스로도 여성 컴퓨터들이 자신들보다 더 빠르고 정확하게 작업을 수행한다고 인정한다. 이는 상당 부분, 엔지니어들이 대학과 산업 현장에서 쌓은 경험이 단순 반복 계산에 낭비되고 좌절된다고 느끼기 때문이다."라고 밝혔다.
최초의 여섯 명 프로그래머 이후, ENIAC 작업을 계속하기 위해 100명의 과학자로 구성된 확장 팀이 모집되었다. 이들 중에는 글로리아 루스 고든 등 여러 여성도 포함되어 있었다. 아델 골드스타인은 ENIAC의 원래 기술 설명서를 작성했다.
프로그래밍 언어[편집]
ENIAC을 위한 프로그램을 기술하기 위해 여러 언어 시스템이 개발되었다. 주요 내용은 다음과 같다:
연도 이름 주요 개발자 1943–46 ENIAC 코딩 시스템 John von Neumann, John Mauchly, J. Presper Eckert, Herman Goldstine (Alan Turing 이후) 1946 ENIAC 쇼트 코드 Richard Clippinger, John von Neumann (Alan Turing 이후) 1946 Von Neumann 및 Goldstine 그래프 시스템(표기법) John von Neumann, Herman Goldstine 1947 ARC 어셈블리 Kathleen Booth 1948 Curry 표기 시스템 Haskell Curry
수소폭탄 개발에서의 역할[편집]
ENIAC의 후원 기관은 Ballistic Research Laboratory였으나, 이 3년 프로젝트가 시작된 지 1년 만에 수소폭탄 개발에 참여하던 수학자 John von Neumann이 Los Alamos National Laboratory에서 ENIAC을 알게 되었다. 1945년 12월, ENIAC은 방정식을 이용해 열핵 반응을 계산하는 데 사용되었으며, 이 데이터는 수소폭탄 개발 연구를 지원하는 데 활용되었다.
몬테카를로 방법 개발에서의 역할[편집]
에니악이 수소폭탄 개발에 기여한 것과 관련하여, 몬테카를로 방법이 널리 사용되게 된 데에도 ENIAC이 중요한 역할을 했다. 원자폭탄 개발에 참여한 과학자들은 중성자가 다양한 물질을 통과할 때 이동하는 거리를 조사하기 위해 대규모 인력을 동원해 엄청난 양의 계산을 수행했다(당시 용어로는 이들을 "컴퓨터"라고 불렀다). John von Neumann과 Stanislaw Ulam은 ENIAC의 속도를 이용하면 이러한 계산을 훨씬 빠르게 수행할 수 있음을 깨달았다. 이 프로젝트의 성공은 과학 분야에서 몬테카를로 방법의 가치를 입증했다.
이후 발전[편집]
1946년 2월 1일에 기자회견이 열렸고, 2월 14일 저녁에 완성된 기계가 대중에게 공개되며 그 기능 시연이 이루어졌다. Elizabeth Snyder와 Betty Jean Jennings가 시연용 궤적 프로그램 개발을 담당했으나, Herman과 Adele Goldstine이 그 공로를 차지했다. 다음 날 펜실베이니아 대학교에서 공식 헌정식이 열렸다. 기계의 프로그래밍이나 시연 제작에 참여한 여성들은 공식 헌정식이나 이후 열린 축하 만찬에 초대받지 못했다.
원래 계약 금액은 61,700달러였으나, 최종 비용은 거의 500,000달러(2024년 기준 약 9,000,000달러에 해당)에 달했다. 1946년 7월 미 육군 병기군에 공식 인수되었다. ENIAC은 1946년 11월 9일에 보수 및 메모리 업그레이드를 위해 가동이 중단되었고, 1947년 메릴랜드주 애버딘 시험장으로 이전되었다. 그곳에서 1947년 7월 29일에 다시 가동되어, 1955년 10월 2일 오후 11시 45분까지 계속 운용되다가, 더 효율적인 EDVAC 및 ORDVAC 컴퓨터로 대체되며 퇴역했다.
EDVAC 개발에서의 역할[편집]
1946년 여름 ENIAC이 공개된 지 몇 달 후, "이 분야의 연구를 신속히 촉진하기 위한 비상한 노력"의 일환으로, 미 국방부는 미국과 영국의 전자공학 및 수학 분야 최고 인재들을 펜실베이니아주 필라델피아에서 열린 48회에 걸친 강연 시리즈에 초대했다. 이 강연들은 모두 합쳐 ‘디지털 컴퓨터 설계를 위한 이론과 기법’(The Theory and Techniques for Design of Digital Computers)으로 불렸으며, 흔히 '무어 스쿨 강의'(Moore School Lectures)로 더 잘 알려져 있다. 이 강연 중 절반은 ENIAC의 발명자들이 진행했다.
ENIAC은 단 한 번만 설계된 독특한 기계였으며, 동일한 설계가 다시 만들어진 적은 없었다. 1943년 설계가 동결되면서 곧 발전하게 될 몇몇 혁신, 특히 프로그램을 저장하는 기능이 결여되어 있었다. 에커트와 모클리는 더 단순하면서도 강력한 새로운 설계, 즉 이후 EDVAC으로 불리게 될 컴퓨터의 개발을 시작했다. 특히 1944년 에커트는 데이터와 프로그램을 모두 저장할 수 있는 메모리 장치(수은 지연선)에 대한 설명을 작성했다. 존 폰 노이만은 EDVAC 개발과 관련해 무어 스쿨에 자문을 하며, 저장 프로그램 개념이 구체화되는 무어 스쿨 회의에 참석했다. 폰 노이만은 이 회의에서 발전된 아이디어를 설명하고, 구체화하며, 형식 논리 언어로 정리한 불완전한 노트(EDVAC에 관한 보고서 초안, First Draft of a Report on the EDVAC)를 작성했다. 이 초안은 내부 메모로 사용될 예정이었다. ENIAC의 관리자이자 보안 책임자인 허먼 골드스타인은 이 초안의 사본을 여러 정부 및 교육 기관에 배포했고, 이로 인해 새로운 세대의 전자식 컴퓨팅 기계, 예를 들어 영국 케임브리지 대학교의 EDSAC(Electronic Delay Storage Automatic Calculator)와 미국 표준국의 SEAC 등에 대한 폭넓은 관심을 불러일으켰다.
개선 사항[편집]
1947년 이후 ENIAC에는 여러 가지 개선이 이루어졌는데, 그 중에는 함수 테이블을 프로그램 ROM으로 사용하는 원시적인 읽기 전용 저장 프로그램 방식이 도입되어, 이후에는 스위치를 설정하여 프로그래밍을 하게 되었다. 이 아이디어는 한편으로는 Richard Clippinger와 그의 그룹, 다른 한편으로는 Goldstine 부부에 의해 여러 변형으로 구체화되었으며, ENIAC 특허에도 포함되었다. Clippinger는 어떤 명령어 집합을 구현할지에 대해 von Neumann과 상의했다. Clippinger는 세 주소 구조를 생각했으나, von Neumann은 구현이 더 간단하다는 이유로 단일 주소 구조를 제안했다. 하나의 누산기(#6)의 세 자릿수는 프로그램 카운터로, 또 다른 누산기(#15)는 메인 누산기로, 세 번째 누산기(#8)는 함수 테이블에서 데이터를 읽기 위한 주소 포인터로 사용되었으며, 나머지 대부분의 누산기(1–5, 7, 9–14, 17–19)는 데이터 메모리로 사용되었다.
1948년 3월에는 변환기 유닛이 설치되어 표준 IBM 카드의 리더를 통한 프로그래밍이 가능해졌다. 새로운 코딩 기법의 "첫 생산 실행"은 4월에 몬테카를로 문제에서 이루어졌다. ENIAC가 애버딘으로 이전한 후에는 메모리용 레지스터 패널도 제작되었으나, 제대로 작동하지 않았다. 또한 기계를 켜고 끄는 소형 마스터 제어 유닛도 추가되었다.
ENIAC의 저장 프로그램 프로그래밍은 Betty Jennings, Clippinger, Adele Goldstine 등 여러 사람이 담당했다. 1948년 4월, Adele Goldstine이 John von Neumann을 위해 작성한 프로그램을 실행하며 저장 프로그램 컴퓨터로서 처음 시연되었다. 이 개조로 인해 ENIAC의 속도는 6분의 1로 감소하고 병렬 연산 기능이 사라졌으나, 재프로그래밍 시간이 며칠에서 몇 시간으로 단축되어 성능 저하에도 불구하고 충분히 가치 있는 변화로 여겨졌다. 또한 분석 결과, 전자적 연산 속도와 전기기계적 입출력 속도의 차이로 인해 실제 문제의 경우 원래의 병렬성 기능을 사용하지 않아도 거의 모든 연산이 입출력에 의해 제한된다는 사실이 드러났다. 이 개조로 인한 속도 저하 이후에도 대부분의 연산은 여전히 입출력에 의해 제한되었다.
1952년 초에는 고속 시프터가 추가되어 시프트 속도가 5배 향상되었다. 1953년 7월에는 100워드 확장 코어 메모리가 시스템에 추가되었으며, 이 메모리는 2진화 10진수와 초과-3(Excess-3) 수 체계를 사용했다. 이 확장 메모리를 지원하기 위해 ENIAC에는 새로운 함수 테이블 선택기, 메모리 주소 선택기, 펄스 성형 회로가 추가되었고, 프로그래밍 메커니즘에 세 가지 새로운 명령이 더해졌다.
다른 초기 컴퓨터와의 비교[편집]
기계식 계산기는 아르키메데스 시대(안티키테라 기계 참조)부터 존재해왔지만, 1930~1940년대가 현대 컴퓨터 시대의 시작으로 여겨진다.
ENIAC은 IBM 하버드 마크 I, 독일의 Z3와 마찬가지로 임의의 수학 연산 순서를 실행할 수 있었으나, 테이프에서 이를 읽지는 않았다. 영국의 콜로서스처럼 플러그보드와 스위치를 이용해 프로그래밍되었다. ENIAC은 완전한 튜링 완전 프로그래밍 가능성과 전자식 속도를 결합했다. 아타나소프–베리 컴퓨터(ABC), ENIAC, 콜로서스 모두 열전자관(진공관)을 사용했다. ENIAC의 레지스터는 Z3, ABC, 콜로서스와 달리 10진법 산술을 수행했다.
콜로서스와 마찬가지로 ENIAC도 1948년 4월까지는 재프로그래밍을 위해 배선을 다시 해야 했다. 1948년 6월, 맨체스터 베이비가 첫 프로그램을 실행하며 최초의 전자식 저장 프로그램 컴퓨터라는 명예를 얻었다. 프로그램과 데이터를 위한 통합 메모리를 갖춘 저장 프로그램 컴퓨터라는 개념은 ENIAC 개발 중에 고안되었으나, 제2차 세계대전의 우선순위로 인해 기계를 신속히 완성해야 했고, ENIAC의 20개 저장 공간은 데이터와 프로그램을 모두 저장하기에는 너무 작았기 때문에 처음에는 구현되지 않았다.
공개 지식[편집]
Z3와 콜로서스는 서로 독립적으로, 그리고 ABC와 ENIAC과도 별개로 제2차 세계대전 중에 개발되었다. 아이오와 주립대학교에서 진행되던 ABC 개발은 1942년 존 아타나소프가 미 해군을 위한 물리학 연구를 위해 워싱턴 D.C.로 소집되면서 중단되었고, 이후 해체되었다. Z3는 1943년 베를린에 대한 연합군의 폭격으로 파괴되었다. 콜로서스 10대는 영국의 전쟁 노력의 일환으로 사용되었기 때문에 1970년대 후반까지 그 존재가 비밀에 부쳐졌으나, 그 능력에 대한 지식은 영국 내 직원들과 초청된 미국인들 사이에 남아 있었다. 반면 ENIAC은 1946년 언론을 대상으로 시연되었고, "전 세계의 상상력을 사로잡았다." 따라서 초기 컴퓨터 역사를 다룬 자료들은 이 시기의 내용을 포괄적으로 다루지 못할 수 있다. 콜로서스 기계 중 두 대를 제외한 모든 기계는 1945년에 해체되었으며, 남은 두 대는 1960년대까지 GCHQ에서 소련의 메시지 해독에 사용되었다. ENIAC의 공개 시연은 스나이더와 제닝스가 개발했으며, 이들은 미사일 궤적을 15초 만에 계산하는 데모를 만들었는데, 이는 인간 계산자가 몇 주가 걸릴 작업이었다.
특허[편집]
여러 가지 이유—그 중에는 1941년 6월 마우클리가 1939년 존 아타나소프와 클리포드 베리가 시제품을 만든 아타나소프–베리 컴퓨터(ABC)를 조사한 것도 포함된다—로 인해, 1947년에 출원되어 1964년에 승인된 ENIAC의 미국 특허 3,120,606은 1973년 연방 법원의 획기적인 판결인 Honeywell, Inc. v. Sperry Rand Corp. 사건에 의해 무효화되었다. 이 판결에는 ENIAC 발명자들이 전자식 디지털 컴퓨터의 주제를 아타나소프로부터 도출했다는 점, 아타나소프를 최초의 전자식 디지털 컴퓨터 발명자로 법적으로 인정한다는 점, 그리고 전자식 디지털 컴퓨터의 발명을 퍼블릭 도메인으로 둔다는 내용이 포함되어 있다.
주요 부품[편집]
주요 부품은 40개의 패널과 세 개의 휴대용 함수 테이블(A, B, C로 명명됨)로 구성되어 있었다. 패널의 배치는 (왼쪽 벽에서 시작하여 시계 방향으로):
- 왼쪽 벽
- 개시 유닛
- 순환 유닛
- 마스터 프로그래머 – 패널 1, 2
- 함수 테이블 1 – 패널 1, 2
- 누산기 1
- 누산기 2
- 나눗셈기 및 제곱근기
- 누산기 3
- 누산기 4
- 누산기 5
- 누산기 6
- 누산기 7
- 누산기 8
- 누산기 9
- 뒷벽
- 누산기 10
- 고속 곱셈기 – 패널 1, 2, 3
- 누산기 11
- 누산기 12
- 누산기 13
- 누산기 14
- 오른쪽 벽
- 누산기 15
- 누산기 16
- 누산기 17
- 누산기 18
- 함수 테이블 2 – 패널 1, 2
- 함수 테이블 3 – 패널 1, 2
- 누산기 19
- 누산기 20
- 상수 송신기 – 패널 1, 2, 3
- 프린터 – 패널 1, 2, 3
IBM 카드 리더기는 상수 송신기 패널 3에, IBM 카드 펀치는 프린터 패널 2에 연결되어 있었다. 휴대용 함수 테이블은 함수 테이블 1, 2, 3에 연결할 수 있었다.
전시 부품[편집]
ENIAC의 일부는 다음 기관에서 소장하고 있다:
- 펜실베이니아 대학교 공학 및 응용과학부는 ENIAC의 원래 40개 패널 중 4개(누산기 #18, 상수 송신기 패널 2, 마스터 프로그래머 패널 2, 사이클링 유닛)와 3개 기능 테이블 중 하나인 기능 테이블 B(스미스소니언에서 대여)를 보유하고 있다.
- 스미스소니언은 워싱턴 D.C.의 미국역사국립박물관에 5개의 패널(누산기 2, 19, 20; 상수 송신기 패널 1, 3; 나눗셈 및 제곱근 유닛; 기능 테이블 2 패널 1; 기능 테이블 3 패널 2; 고속 곱셈기 패널 1, 2; 프린터 패널 1; 이니시에이팅 유닛)을 소장하고 있다(현재 전시 중은 아님).
- 런던의 과학박물관에는 수신 유닛이 전시되어 있다.
- 캘리포니아 마운틴뷰의 컴퓨터역사박물관에는 3개의 패널(누산기 #12, 기능 테이블 2 패널 2, 프린터 패널 3)과 휴대용 기능 테이블 C가 전시되어 있다(스미스소니언에서 대여).
- 미시간 대학교 앤아버 캠퍼스에는 아서 버크스가 보존한 4개의 패널(누산기 2개, 고속 곱셈기 패널 3, 마스터 프로그래머 패널 2)이 있다.
- 메릴랜드주 애버딘 시험장에서 ENIAC이 사용되었던 미국 육군 병기박물관에는 휴대용 기능 테이블 A가 있다.
- 오클라호마주 포트실의 미 육군 야전포병박물관은 2014년 10월 기준으로, 텍사스주 플라노의 페로 그룹이 소장하던 ENIAC의 7개 패널을 인수했다. 여기에는 누산기 #7, #8, #11, #17, 기능 테이블 #1에 연결된 패널 #1, #2, 그리고 진공관이 보이는 패널 뒷면이 포함됩니다. 진공관 모듈도 전시되어 있다.
- 뉴욕 웨스트포인트의 미국 육군사관학교에는 ENIAC의 데이터 입력 단말기 중 하나가 있다.
- 독일 파더보른의 하인츠 닉스도르프 박물관에는 3개의 패널(프린터 패널 2, 고속 기능 테이블)이 전시되어 있습니다(스미스소니언에서 대여). 2014년 박물관은 누산기 패널 중 하나를 재구성하기로 결정했으며, 재구성된 부분은 원래 기계의 단순화된 형태와 유사한 외관과 느낌을 가지고 있다.
인정[편집]
에니악은 1987년에 IEEE 마일스톤으로 지정되었다.
1996년, ENIAC 50주년을 기념하여 펜실베이니아 대학교는 "ENIAC-on-a-Chip"이라는 프로젝트를 후원했다. 이 프로젝트에서는 ENIAC과 동일한 기능을 가진 7.44mm x 5.29mm 크기의 매우 작은 실리콘 컴퓨터 칩이 제작되었다. 이 20MHz 칩은 ENIAC보다 훨씬 빠르긴 했지만, 1990년대 후반의 동시대 마이크로프로세서에 비하면 속도가 매우 느린 편이었다.
1997년에는 ENIAC의 대부분의 프로그래밍을 담당했던 여섯 명의 여성이 테크놀로지 인터내셔널 명예의 전당에 헌액되었다. ENIAC 프로그래머들의 역할은 2010년 리앤 에릭슨이 제작한 다큐멘터리 영화 <탑 시크릿 로지스: 제2차 세계대전의 여성 '컴퓨터들'>에서 다루어졌다. 2014년 케이트 맥마흔이 제작한 단편 다큐멘터리 <더 컴퓨터스>는 여섯 명의 프로그래머 이야기를 전한다. 이 작품은 ENIAC 프로그래머 프로젝트의 일환으로 캐서린 클레이만과 그녀의 팀이 20년에 걸쳐 연구한 결과물이다. 2022년 Grand Central Publishing은 캐시 클레이만이 쓴 하드커버 전기 <Proving Ground>를 출간했다. 이 책은 여섯 명의 ENIAC 프로그래머와 그들이 ENIAC(당시 건설 중이던)의 블록 다이어그램과 전자 회로도를 프로그램으로 변환하여, ENIAC이 사용 가능해졌을 때 이를 탑재하고 실행할 수 있도록 했던 노력을 다루고 있다.
2011년, ENIAC 공개 65주년을 기념하여 필라델피아 시는 2월 15일을 ENIAC의 날로 지정했다.
ENIAC는 2016년 2월 15일에 70주년을 맞이했다.
최초의 컴퓨터에 대한 논쟁[편집]
후에 아타나소프사가 자신들이 개발한 아타나소프-베리 컴퓨터(ABC)가 최초의 컴퓨터라며 이의를 제기 했고, 1973년 10월 19일 미국 법원에서 "인류 최초의 계산기는 ABC다"라고 판결하였고 아타나소프사가 승소했다. 하지만 대영제국이 발명하고, 발명 사실을 비밀로 한 콜로서스라는 컴퓨터가 최초라고 하는 사람들도 많다. 그러나 아직 대중 사이에서는 에니악이 최초의 컴퓨터라고 알려져 있다.
참고자료[편집]
- "ENIAC", Wikipedia
같이 보기[편집]