ENIAC(전자 수치 통합기 및 컴퓨터)는 1945년에 완공된 최초의 프로그래머블 전자 범용 디지털 컴퓨터이다. 다른 컴퓨터들도 일부 기능을 가지고 있었지만, ENIAC은 모든 기능을 갖춘 첫 번째 컴퓨터였다. 이는 튜링 완전하며 재프로그래밍을 통해 "광범위한 수치 문제"를 해결할 수 있다.
ENIAC은 존 모클리와 제프리 에커트에 의해 설계되어 미국 육군의 탄도 연구소에서 포격 통계 계산을 위해 개발되었다. 그러나 첫 번째 프로그램은 열핵 무기의 실행 가능성 연구였다.
ENIAC은 1945년에 완공되었으며, 1945년 12월 10일에 실제 작업에 처음 사용되었다. ENIAC은 1946년 2월 15일 펜실베이니아 대학교에서 공식적으로 헌정되었으며, 비용은 487,000 달러(2023년 기준 약 6,900,000 달러)에 달했으며 언론에서 "거대한 두뇌"라고 불렸다. 이는 전자기계 기계보다 약 천 배 빠른 속도를 자랑했다.
ENIAC은 1946년 7월에 미국 육군 군수단에 공식적으로 인수되었고, 1947년에 메릴랜드주 애버딘 시험장에서 이전되었으며, 1955년까지 지속적으로 운영되었다.
ENIAC의 설계와 건설은 글레이돈 M. 반스 소장이 이끄는 미국 육군 군수단 연구개발 명령에 의해 자금 지원되었다. 총 비용은 약 487,000달러로, 2023년 기준으로 약 6,900,000달러에 해당한다. 건설 계약은 1943년 6월 5일에 체결되었으며, 그 다음 달 펜실베이니아 대학교의 무어 전기 공학 학교에서 "프로젝트 PX"라는 코드명으로 비밀리에 작업이 시작되었다. 존 그리스트 브레이너드가 주요 연구자로 참여하였고, 허먼 H. 골드스타인은 육군에 이 프로젝트의 자금을 지원하도록 설득하여 감독 역할을 맡았다.
ENIAC은 펜실베이니아 대학교의 존 모클리와 우르시너스 대학의 제프리 에커트에 의해 설계되었다. 개발을 지원한 설계 엔지니어 팀에는 로버트 F. 쇼(함수 표), 제프리 취안 추(나누기/제곱근 계산기), 토마스 카이트 샤플리스(주 프로그래머), 프랭크 뮤랄(주 프로그래머), 아서 버크스(곱셈기), 해리 허스키(읽기/프린터), 잭 데이비스(누산기)가 포함되었다. ENIAC 프로그래밍의 대부분을 담당한 여성 수학자들인 진 제닝스, 말린 웨스코프, 루스 리흐터만, 베티 스나이더, 프랜시스 빌라스, 케이 맥널티 등이 중요한 개발 작업을 수행하였다. 1946년, 이 연구자들은 펜실베이니아 대학교에서 사임하고 에커트-모클리 컴퓨터 회사를 설립하였다.
ENIAC은 다양한 기능을 수행하기 위해 개별 패널로 구성된 대형 모듈형 컴퓨터였다. 이 중 20개의 모듈은 누산기로, 더하기와 빼기를 할 수 있을 뿐만 아니라 10자리 십진수를 기억할 수 있었다. 숫자는 여러 일반 목적의 버스(트레이라고 불리기도 함)를 통해 이들 장치 간에 전달되었다. 높은 속도를 달성하기 위해 패널은 이동 부품 없이 숫자를 전송하고 수신하며 계산하고 결과를 저장하고 다음 작업을 트리거해야 했다. ENIAC의 다재다능함의 핵심은 분기 능력이었으며, 이는 계산된 결과의 부호에 따라 다양한 작업을 트리거할 수 있었다.
1956년 ENIAC의 운영이 종료될 때까지 ENIAC은 18,000개의 진공관, 7,200개의 크리스탈 다이오드, 1,500개의 릴레이, 70,000개의 저항기, 10,000개의 커패시터 및 약 5,000,000개의 수작업 솔더링 접합부를 포함하고 있었다. ENIAC은 30톤 이상(27톤) 무게가 나갔으며, 대략 8피트(2미터) 높이, 3피트(1미터) 깊이, 100피트(30미터) 길이로 300평방피트(28㎡)를 차지하고 150kW의 전기를 소비하였다. 입력은 IBM 카드 리더를 통해 가능했으며, 출력에는 IBM 카드 펀치를 사용하였다. 이 카드는 IBM 405와 같은 IBM 회계 기계를 사용하여 오프라인으로 인쇄된 출력을 생성하는 데 사용될 수 있었다. ENIAC은 처음에는 메모리를 저장하는 시스템이 없었지만, 이 펀치 카드는 외부 메모리 저장소로 사용될 수 있었다. 1953년에는 부로우즈 사에서 제작한 100단어의 자기 코어 메모리가 ENIAC에 추가되었다.
ENIAC은 10자리 링 카운터를 사용하여 숫자를 저장하였으며, 각 숫자는 36개의 진공관을 필요로 하였다. 여기서 10개는 링 카운터의 플립플롭을 구성하는 이중 삼극관이었다. 산술 연산은 링 카운터로 펄스를 "세는" 방식으로 수행되었으며, 카운터가 "랩 어라운드"될 경우 캐리 펄스를 생성하여 기계식 덧셈기의 숫자 휠 작동을 전자적으로 모방하였다.
ENIAC은 20개의 10자리 부호 있는 누산기를 갖추고 있었으며, 이는 10의 보수를 사용하여 서로 또는 상수 송신기와 같은 소스 간에 초당 5,000개의 간단한 덧셈 또는 뺄셈 작업을 수행할 수 있었다. 여러 누산기를 연결하여 동시에 운영할 수 있었기 때문에 병렬 운영으로 인해 최대 속도가 훨씬 더 높아질 수 있었다.
하나의 누산기의 캐리를 다른 누산기에 연결하여 두 배의 정밀도로 산술 연산을 수행할 수 있었지만, 누산기 캐리 회로의 타이밍 때문에 세 개 이상의 누산기를 연결하여 더 높은 정밀도를 얻는 것은 불가능했다. ENIAC은 네 개의 누산기를 사용하여(특별한 곱셈기 유닛으로 제어) 초당 최대 385회의 곱셈 연산을 수행하였으며, 다섯 개의 누산기는 특별한 나누기/제곱근 계산기 유닛으로 제어되어 초당 최대 40회의 나눗셈 연산 또는 초당 세 회의 제곱근 연산을 수행할 수 있었다.
ENIAC의 나머지 아홉 개 유닛은 시작 및 정지 장치(기계를 시작하고 멈추는 역할), 사이클링 유닛(다른 유닛을 동기화하는 역할), 마스터 프로그래머(루프 시퀀싱을 제어), 리더(IBM 펀치 카드 리더를 제어), 프린터(IBM 카드 펀치를 제어), 상수 송신기, 그리고 세 개의 함수 테이블로 구성되어 있었다.
로하스와 하샤겐(또는 윌크스)의 참고 문헌은 위에서 언급된 것과 다소 다른 작업 시간에 대한 더 많은 세부 정보를 제공한다.
기본 기계 사이클은 200 마이크로초(사이클링 유닛에서 100 kHz 클록의 20 사이클), 즉 10자리 숫자에 대한 작업 시 초당 5,000 사이클이었다. 이 사이클 중 하나에서 ENIAC은 레지스터에 숫자를 기록하거나 레지스터에서 숫자를 읽거나 두 숫자를 더하거나 뺄 수 있었다.
10자리 숫자와 d자리 숫자(최대 10자리)의 곱셈은 d+4 사이클이 소요되었으며, 따라서 10자리 숫자와 10자리 숫자의 곱셈은 14 사이클, 즉 2,800 마이크로초가 소요되어 초당 357회의 속도를 기록하였다. 숫자 중 하나가 10자리보다 적으면 연산 속도가 더 빨라졌다.
나눗셈과 제곱근 계산은 13(d+1) 사이클이 소요되었으며, 여기서 d는 결과의 자릿수(몫 또는 제곱근)를 의미한다. 따라서 나눗셈 또는 제곱근 계산은 최대 143 사이클, 즉 28,600 마이크로초가 소요되어 초당 35회의 속도로 처리되었다. (윌크스 1956:20은 10자리 몫을 가진 나눗셈이 6 밀리초가 필요하다고 언급한다.) 결과가 10자리보다 적으면 더 빠르게 얻을 수 있었다.
ENIAC은 약 500 FLOPS를 처리할 수 있었으며, 이는 현대 슈퍼컴퓨터의 페타스케일 및 엑사스케일 컴퓨팅 성능과 비교된다.
신뢰성 측면에서 ENIAC은 당시 일반적인 팔진수 진공관을 사용하였다. 10진수 누산기는 6SN7 플립플롭으로 구성되었으며, 6L7, 6SJ7, 6SA7, 6AC7 등이 논리 기능에 사용되었다. 여러 6L6 및 6V6가 랙 조립 간의 케이블을 통해 펄스를 전송하는 라인 드라이버 역할을 하였다.
매일 여러 개의 진공관이 고장 나 ENIAC이 반쯤 비활성 상태가 되었다. 1948년까지는 특별히 고신뢰성의 진공관이 제공되지 않았다. 그러나 대부분의 고장은 가장 열적 스트레스를 받는 따뜻해지는 기간과 식는 기간 동안 발생하였다. 엔지니어들은 ENIAC의 진공관 고장률을 더 수용 가능한 수준인 2일에 1개로 줄였다. 1989년 에커트와의 인터뷰에 따르면, "우리는 약 2일마다 진공관이 고장 났고, 15분 이내에 문제를 찾아낼 수 있었다." 1954년에는 고장이 없는 가장 긴 연속 작동 기간이 116시간으로, 거의 5일에 가까웠다.
'IT equipment > 1940' 카테고리의 다른 글
에드삭 [EDSAC | 6 May 1949] (0) | 2025.02.03 |
---|---|
사이랙 [CSIRAC | November 1949] (0) | 2025.01.25 |
콜러서스 컴퓨터 [Colossus computer | December 1943] (0) | 2025.01.23 |