Время на прочтение
4 мин
Количество просмотров 5.5K
Electronic Numerical Integrator and Computer (ENIAC) был одним из первых в мире компьютеров общего назначения. В этом году ENIAC исполняется 75 лет. Его создания считается одной из важнейшей вех развития компьютерной техники, в частности, потому, что этот компьютер был Тьюринг-полным.
В ходе создания ENIAC ученые и инженеры предложили множество новых идей, которые в дальнейшем стали базой для построения электронно-вычислительных машин уже гораздо более совершенных, чем ENIAC.
Кому и зачем понадобился такой компьютер
Вопрос довольно простой, с ответом, который лежит на поверхности — конечно же, военным. Он потребовался, в частности, для расчета траекторий полета баллистических ракет и других снарядов. Просчитать вручную все это было можно, но процесс занимал крайне много времени. В некоторых случаях военным требовалась информация по нескольким тысячам траекторий полета снаряда, причем на расчет каждой из них требовалось по 1000 и более операций. Соответственно, у одного человека на выполнение всего этого комплекса вычислительных задач уходило около 2 недель, а иногда — и месяцев.
После проведения расчетов военные составляли специальные таблицы, которые помогали метко стрелять по вражеским целям.
ENIAC создали для ускорения всей этой работы. Разработка системы началась в 1942 году, а в 1945 компьютер уже приступил к работе, избавляя сотрудников от необходимости выполнять рутинную работу на протяжении нескольких недель.
Готовый аппаратный комплекс занимал помещение площадью в 140 м2. Масса устройства составляла 30 тонн, в состав его входило около 18 000 электронных ламп и 1500 реле, плюс сотни тысяч других элементов, включая сотни тысяч резисторов, конденсаторов и катушек индуктивности.
Сначала у ENIAC не было внутренней памяти, все данные хранились на перфокартах. Но в 1953 году инженеры смогли добавить к системе память на 100 слов.
А что насчет мощности?
Несмотря на то, что сейчас характеристики ENIAC выглядят не особо впечатляюще, для своего времени система была просто феноменально быстрой. Компьютер был в состоянии выполнять 357 операций умножения в секунду или 5000 операций сложения за то же время. Кроме того, компьютер позволял решать дифференциальные уравнения второго порядка.
Не обошлось и без проблем. Поскольку в ENIAC содержалось почти 18 000 радиоламп, они регулярно выходили из строя, из-за чего работы приостанавливались примерно раз в день. Лампы приходилось заменять, на что требовалось время. В самом начале на поиск неисправной лампы требовалось несколько часов, но через некоторое время команда компьютера смогла ускорить процесс — на него стало уходить не более 15 минут. Инженеры ввели «предиктивное обслуживание» и тщательно мониторили состояние разных модулей.
Компьютер потреблял около 160 кВт энергии, а во время его работы температура в машзале поднималась вплоть до 50 градусов Цельсия. При всем при этом система была крайне сложной. Даже у опытного программиста на ввод новой задачи уходило много времени. Чаше всего несколько дней — ведь сначала нужно было согласовать планирование, а потом уже внедрять.
В 1948 году команда ENIAC приняла решение ввести в память таблицы функций, что ускорило процесс «программирования». Кстати, система была сделана масштабируемой и изменяемой — как раз то, что было нужно.
ENIAC — весьма интересная тема, но у нас есть и другие статьи, оцените — мы рассказываем о:
→ Экспериментируем с шаблонами литералов в TypeScript: как покрыть типами DSL
→ Оценка RISC-ов: когда ожидать серверы на ARM в дата-центрах
→ Selectel File Storage (Beta): места много не бывает
Траектории просчитывать не пришлось
К тому времени, когда ENIAC заработал, подошла к концу Вторая мировая война. Поэтому команде проекта пришлось срочно адаптировать свое детище для решения новых задач, включая сельское хозяйство.
В итоге ENIAC выполнял вот такие задачи:
• Расчет конструкции водородной бомбы.
• Прогнозы погоды.
• Исследования космических лучей.
• Изучение случайных чисел.
• Проектирование аэродинамических труб.
Прогнозы погоды, выдаваемые системой, были довольно точными, но приоритет отдавался, конечно, созданию водородной бомбы.
К слову, использовался компьютер не так и долго вплоть до 1955 года, когда в мире появились более мощные системы. Тем не менее, за все время существования инженеры внедрили немало новейших и эффективных для того времени решений. ENIAC очень сильно изменился по сравнению с тем, что он собой представлял в начале существования.
Потеря ENIAC и восстановление системы
Когда компьютер перестал быть актуальным, его просто разобрали. Элементы системы разбирали и складывали не самым аккуратным образом. Часть элементов увезли, другие — оставили.
С течением времени элементы ENIAC расходились все дальше друг от друга — их могли просто перескладировать, увезя за десятки километров от предыдущей дислокации. Причина — размеры элементов компьютера.
При этом документация по перевозу системы велась не самым тщательным образом. Когда ученые решили восстановить ENIAC, оказалось, что мало знает где находятся критически важные элементы. Просто потому, что руководство организаций, где складировался ENIAC, было не в курсе, что происходит в подвале. Например, в Форта Силл оказалась четверть компьютера.
Но в итоге проблему решили, блоки смогли свезти в одно место и началась дополнительная работа — восстановление. На эту задачу потратили несколько месяцев, после чего систему решили переместить полностью в Форт Сиил (правда, случилось это уже в 2000-х.
К сожалению, реставрационные работы носили чисто косметический характер, восстановить функции компьютера реставраторы не смогли — слишком много времени и ресурсов потребовалось бы потратить.
Pennsylvania Historical Marker |
|
Four ENIAC panels and one of its three function tables, on display at the School of Engineering and Applied Science at the University of Pennsylvania |
|
Location | University of Pennsylvania Department of Computer and Information Science, 3330 Walnut Street, Philadelphia, Pennsylvania, U.S. |
---|---|
Coordinates | 39°57′08″N 75°11′26″W / 39.9523°N 75.1906°W |
Built/founded | 1945 |
PHMC dedicated | Thursday, June 15, 2000 |
Glenn A. Beck (background) and Betty Snyder (foreground) program ENIAC in BRL building 328. (U.S. Army photo, c. 1947–1955)
ENIAC (; Electronic Numerical Integrator and Computer)[1][2] was the first programmable, electronic, general-purpose digital computer, completed in 1945.[3][4] There were other computers that had combinations of these features, but the ENIAC had all of them in one package. It was Turing-complete and able to solve «a large class of numerical problems» through reprogramming.[5][6]
Although ENIAC was designed and primarily used to calculate artillery firing tables for the United States Army’s Ballistic Research Laboratory (which later became a part of the Army Research Laboratory),[7][8] its first program was a study of the feasibility of the thermonuclear weapon.[9][10]
ENIAC was completed in 1945 and first put to work for practical purposes on December 10, 1945.[11]
ENIAC was formally dedicated at the University of Pennsylvania on February 15, 1946, having cost $487,000 (equivalent to $6,190,000 in 2021), and called a «Giant Brain» by the press.[citation needed] It had a speed on the order of one thousand times faster than that of electro-mechanical machines; this computational power, coupled with general-purpose programmability, excited scientists and industrialists alike. The combination of speed and programmability allowed for thousands more calculations for problems.[12]
ENIAC was formally accepted by the U.S. Army Ordnance Corps in July 1946. It was transferred to Aberdeen Proving Ground, Maryland in 1947, where it was in continuous operation until 1955.
Development and design[edit]
ENIAC’s design and construction was financed by the United States Army, Ordnance Corps, Research and Development Command, led by Major General Gladeon M. Barnes. The total cost was about $487,000, equivalent to $6,190,000 in 2021.[13] The construction contract was signed on June 5, 1943; work on the computer began in secret at the University of Pennsylvania’s Moore School of Electrical Engineering[14] the following month, under the code name «Project PX», with John Grist Brainerd as principal investigator. Herman H. Goldstine persuaded the Army to fund the project, which put him in charge to oversee it for them.[15]
ENIAC was designed by Ursinus College physics professor John Mauchly and J. Presper Eckert of the University of Pennsylvania, U.S.[16] The team of design engineers assisting the development included Robert F. Shaw (function tables), Jeffrey Chuan Chu (divider/square-rooter), Thomas Kite Sharpless (master programmer), Frank Mural (master programmer), Arthur Burks (multiplier), Harry Huskey (reader/printer) and Jack Davis (accumulators).[17] Significant development work was undertaken by the female mathematicians who handled the bulk of the ENIAC programming: Jean Jennings, Marlyn Wescoff, Ruth Lichterman, Betty Snyder, Frances Bilas, and Kay McNulty.[18] In 1946, the researchers resigned from the University of Pennsylvania and formed the Eckert–Mauchly Computer Corporation.
ENIAC was a large, modular computer, composed of individual panels to perform different functions. Twenty of these modules were accumulators that could not only add and subtract, but hold a ten-digit decimal number in memory. Numbers were passed between these units across several general-purpose buses (or trays, as they were called). In order to achieve its high speed, the panels had to send and receive numbers, compute, save the answer and trigger the next operation, all without any moving parts. Key to its versatility was the ability to branch; it could trigger different operations, depending on the sign of a computed result.
Components[edit]
By the end of its operation in 1956, ENIAC contained 18,000 vacuum tubes, 7,200 crystal diodes, 1,500 relays, 70,000 resistors, 10,000 capacitors, and approximately 5,000,000 hand-soldered joints. It weighed more than 30 short tons (27 t), was roughly 8 ft × 3 ft × 100 ft (2 m × 1 m × 30 m) in size, occupied 1,800 sq ft (170 m2) and consumed 150 kW of electricity.[19][20] This power requirement led to the rumor that whenever the computer was switched on, lights in Philadelphia dimmed.[21] Input was possible from an IBM card reader and an IBM card punch was used for output. These cards could be used to produce printed output offline using an IBM accounting machine, such as the IBM 405. While ENIAC had no system to store memory in its inception, these punch cards could be used for external memory storage.[22] In 1953, a 100-word magnetic-core memory built by the Burroughs Corporation was added to ENIAC.[23]
ENIAC used ten-position ring counters to store digits; each digit required 36 vacuum tubes, 10 of which were the dual triodes making up the flip-flops of the ring counter. Arithmetic was performed by «counting» pulses with the ring counters and generating carry pulses if the counter «wrapped around», the idea being to electronically emulate the operation of the digit wheels of a mechanical adding machine.[24]
ENIAC had 20 ten-digit signed accumulators, which used ten’s complement representation and could perform 5,000 simple addition or subtraction operations between any of them and a source (e.g., another accumulator or a constant transmitter) per second. It was possible to connect several accumulators to run simultaneously, so the peak speed of operation was potentially much higher, due to parallel operation.[25][26]
Cpl. Irwin Goldstein (foreground) sets the switches on one of ENIAC’s function tables at the Moore School of Electrical Engineering. (U.S. Army photo)[27]
It was possible to wire the carry of one accumulator into another accumulator to perform arithmetic with double the precision, but the accumulator carry circuit timing prevented the wiring of three or more for even higher precision. ENIAC used four of the accumulators (controlled by a special multiplier unit) to perform up to 385 multiplication operations per second; five of the accumulators were controlled by a special divider/square-rooter unit to perform up to 40 division operations per second or three square root operations per second.
The other nine units in ENIAC were the initiating unit (started and stopped the machine), the cycling unit (used for synchronizing the other units), the master programmer (controlled loop sequencing), the reader (controlled an IBM punch-card reader), the printer (controlled an IBM card punch), the constant transmitter, and three function tables.[28][29]
Operation times[edit]
The references by Rojas and Hashagen (or Wilkes)[16] give more details about the times for operations, which differ somewhat from those stated above.
The basic machine cycle was 200 microseconds (20 cycles of the 100 kHz clock in the cycling unit), or 5,000 cycles per second for operations on the 10-digit numbers. In one of these cycles, ENIAC could write a number to a register, read a number from a register, or add/subtract two numbers.
A multiplication of a 10-digit number by a d-digit number (for d up to 10) took d+4 cycles, so a 10- by 10-digit multiplication took 14 cycles, or 2,800 microseconds—a rate of 357 per second. If one of the numbers had fewer than 10 digits, the operation was faster.
Division and square roots took 13(d+1) cycles, where d is the number of digits in the result (quotient or square root). So a division or square root took up to 143 cycles, or 28,600 microseconds—a rate of 35 per second. (Wilkes 1956:20[16] states that a division with a 10 digit quotient required 6 milliseconds.) If the result had fewer than ten digits, it was obtained faster.
ENIAC is able to process about 500 FLOPS,[30] compared to modern supercomputers’ petascale and exascale computing power.
Reliability[edit]
ENIAC used common octal-base radio tubes of the day; the decimal accumulators were made of 6SN7 flip-flops, while 6L7s, 6SJ7s, 6SA7s and 6AC7s were used in logic functions.[31] Numerous 6L6s and 6V6s served as line drivers to drive pulses through cables between rack assemblies.
Several tubes burned out almost every day, leaving ENIAC nonfunctional about half the time. Special high-reliability tubes were not available until 1948. Most of these failures, however, occurred during the warm-up and cool-down periods, when the tube heaters and cathodes were under the most thermal stress. Engineers reduced ENIAC’s tube failures to the more acceptable rate of one tube every two days. According to an interview in 1989 with Eckert, «We had a tube fail about every two days and we could locate the problem within 15 minutes.»[32]
In 1954, the longest continuous period of operation without a failure was 116 hours—close to five days.
Programming[edit]
ENIAC could be programmed to perform complex sequences of operations, including loops, branches, and subroutines. However, instead of the stored-program computers that exist today, ENIAC was just a large collection of arithmetic machines, which originally had programs set up into the machine[33] by a combination of plugboard wiring and three portable function tables (containing 1,200 ten-way switches each).[34] The task of taking a problem and mapping it onto the machine was complex, and usually took weeks. Due to the complexity of mapping programs onto the machine, programs were only changed after huge numbers of tests of the current program.[35] After the program was figured out on paper, the process of getting the program into ENIAC by manipulating its switches and cables could take days. This was followed by a period of verification and debugging, aided by the ability to execute the program step by step. A programming tutorial for the modulo function using an ENIAC simulator gives an impression of what a program on the ENIAC looked like.[36][37]
ENIAC’s six primary programmers, Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas and Ruth Lichterman, not only determined how to input ENIAC programs, but also developed an understanding of ENIAC’s inner workings.[38][39] The programmers were often able to narrow bugs down to an individual failed tube which could be pointed to for replacement by a technician.[40]
Programmers[edit]
Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Meltzer, Fran Bilas, and Ruth Lichterman were the first programmers of the ENIAC. They were not, as computer scientist and historian Kathryn Kleiman was once told, «refrigerator ladies», i.e., models posing in front of the machine for press photography.[41] Nevertheless, some of the women did not receive recognition for their work on the ENIAC in their lifetimes.[18] After the war ended, the women continued to work on the ENIAC. Their expertise made their positions difficult to replace with returning soldiers.[42]
These early programmers were drawn from a group of about two hundred women employed as computers at the Moore School of Electrical Engineering at the University of Pennsylvania. The job of computers was to produce the numeric result of mathematical formulas needed for a scientific study, or an engineering project. They usually did so with a mechanical calculator. The women studied the machine’s logic, physical structure, operation, and circuitry in order to not only understand the mathematics of computing, but also the machine itself.[18] This was one of the few technical job categories available to women at that time.[43] Betty Holberton (née Snyder) continued on to help write the first generative programming system (SORT/MERGE) and help design the first commercial electronic computers, the UNIVAC and the BINAC, alongside Jean Jennings.[44] McNulty developed the use of subroutines in order to help increase ENIAC’s computational capability.[45]
Herman Goldstine selected the programmers, whom he called operators, from the computers who had been calculating ballistics tables with mechanical desk calculators, and a differential analyzer prior to and during the development of ENIAC.[18] Under Herman and Adele Goldstine’s direction, the computers studied ENIAC’s blueprints and physical structure to determine how to manipulate its switches and cables, as programming languages did not yet exist. Though contemporaries considered programming a clerical task and did not publicly recognize the programmers’ effect on the successful operation and announcement of ENIAC,[18] McNulty, Jennings, Snyder, Wescoff, Bilas, and Lichterman have since been recognized for their contributions to computing.[46][47][48] Three of the current (2020) Army supercomputers Jean, Kay, and Betty are named for Jean Bartik (Betty Jennings), Kay McNulty, and Betty Snyder respectively.[49]
The «programmer» and «operator» job titles were not originally considered professions suitable for women. The labor shortage created by World War II helped enable the entry of women into the field.[18] However, the field was not viewed as prestigious, and bringing in women was viewed as a way to free men up for more skilled labor. Essentially, women were seen as meeting a need in a temporary crisis.[18] For example, the National Advisory Committee for Aeronautics said in 1942, «It is felt that enough greater return is obtained by freeing the engineers from calculating detail to overcome any increased expenses in the computers’ salaries. The engineers admit themselves that the girl computers do the work more rapidly and accurately than they would. This is due in large measure to the feeling among the engineers that their college and industrial experience is being wasted and thwarted by mere repetitive calculation».[18]
Following the initial six programmers, an expanded team of a hundred scientists was recruited to continue work on the ENIAC. Among these were several women, including Gloria Ruth Gordon.[50] Adele Goldstine wrote the original technical description of the ENIAC.[51]
Programming languages[edit]
Several language systems were developed to describe programs for the ENIAC, including:
Year | Name | Chief developers |
---|---|---|
1943–46 | ENIAC coding system | John von Neumann, John Mauchly, J. Presper Eckert, Herman Goldstine after Alan Turing. |
1946 | ENIAC Short Code | Richard Clippinger, John von Neumann after Alan Turing |
1946 | Von Neumann and Goldstine graphing system (Notation) | John von Neumann and Herman Goldstine |
1947 | ARC Assembly | Kathleen Booth[52][53] |
1948 | Curry notation system | Haskell Curry |
Role in the hydrogen bomb[edit]
Although the Ballistic Research Laboratory was the sponsor of ENIAC, one year into this three-year project John von Neumann, a mathematician working on the hydrogen bomb at Los Alamos National Laboratory, became aware of this computer.[54] Los Alamos subsequently became so involved with ENIAC that the first test problem run consisted of computations for the hydrogen bomb, not artillery tables.[8] The input/output for this test was one million cards.[55]
Role in development of the Monte Carlo methods[edit]
Related to ENIAC’s role in the hydrogen bomb was its role in the Monte Carlo method becoming popular. Scientists involved in the original nuclear bomb development used massive groups of people doing huge numbers of calculations («computers» in the terminology of the time) to investigate the distance that neutrons would likely travel through various materials. John von Neumann and Stanislaw Ulam realized the speed of ENIAC would allow these calculations to be done much more quickly.[56] The success of this project showed the value of Monte Carlo methods in science.[57]
Later developments[edit]
A press conference was held on February 1, 1946,[18] and the completed machine was announced to the public the evening of February 14, 1946,[58] featuring demonstrations of its capabilities. Elizabeth Snyder and Betty Jean Jennings were responsible for developing the demonstration trajectory program, although Herman and Adele Goldstine took credit for it.[18] The machine was formally dedicated the next day[59] at the University of Pennsylvania. None of the women involved in programming the machine or creating the demonstration were invited to the formal dedication nor to the celebratory dinner held afterwards.[60]
The original contract amount was $61,700; the final cost was almost $500,000 (approximately equivalent to $8,000,000 in 2021). It was formally accepted by the U.S. Army Ordnance Corps in July 1946. ENIAC was shut down on November 9, 1946, for a refurbishment and a memory upgrade, and was transferred to Aberdeen Proving Ground, Maryland in 1947. There, on July 29, 1947, it was turned on and was in continuous operation until 11:45 p.m. on October 2, 1955.[2]
Role in the development of the EDVAC[edit]
A few months after ENIAC’s unveiling in the summer of 1946, as part of «an extraordinary effort to jump-start research in the field»,[61] the Pentagon invited «the top people in electronics and mathematics from the United States and Great Britain»[61] to a series of forty-eight lectures given in Philadelphia, Pennsylvania; all together called The Theory and Techniques for Design of Digital Computers—more often named the Moore School Lectures.[61] Half of these lectures were given by the inventors of ENIAC.[62]
ENIAC was a one-of-a-kind design and was never repeated. The freeze on design in 1943 meant that it lacked some innovations that soon became well-developed, notably the ability to store a program. Eckert and Mauchly started work on a new design, to be later called the EDVAC, which would be both simpler and more powerful. In particular, in 1944 Eckert wrote his description of a memory unit (the mercury delay line) which would hold both the data and the program. John von Neumann, who was consulting for the Moore School on the EDVAC, sat in on the Moore School meetings at which the stored program concept was elaborated. Von Neumann wrote up an incomplete set of notes (First Draft of a Report on the EDVAC) which were intended to be used as an internal memorandum—describing, elaborating, and couching in formal logical language the ideas developed in the meetings. ENIAC administrator and security officer Herman Goldstine distributed copies of this First Draft to a number of government and educational institutions, spurring widespread interest in the construction of a new generation of electronic computing machines, including Electronic Delay Storage Automatic Calculator (EDSAC) at Cambridge University, England and SEAC at the U.S. Bureau of Standards.[63]
Improvements[edit]
A number of improvements were made to ENIAC after 1947, including a primitive read-only stored programming mechanism using the function tables as program ROM,[63][64][65] after which programming was done by setting the switches.[66] The idea has been worked out in several variants by Richard Clippinger and his group, on the one hand, and the Goldstines, on the other,[67] and it was included in the ENIAC patent.[68] Clippinger consulted with von Neumann on what instruction set to implement.[63][69][70] Clippinger had thought of a three-address architecture while von Neumann proposed a one-address architecture because it was simpler to implement. Three digits of one accumulator (#6) were used as the program counter, another accumulator (#15) was used as the main accumulator, a third accumulator (#8) was used as the address pointer for reading data from the function tables, and most of the other accumulators (1–5, 7, 9–14, 17–19) were used for data memory.
In March 1948 the converter unit was installed,[71] which made possible programming through the reader from standard IBM cards.[72][73] The «first production run» of the new coding techniques on the Monte Carlo problem followed in April.[71][74] After ENIAC’s move to Aberdeen, a register panel for memory was also constructed, but it did not work. A small master control unit to turn the machine on and off was also added.[75]
The programming of the stored program for ENIAC was done by Betty Jennings, Clippinger, Adele Goldstine and others.[76][64][63] It was first demonstrated as a stored-program computer in April 1948,[77] running a program by Adele Goldstine for John von Neumann. This modification reduced the speed of ENIAC by a factor of 6 and eliminated the ability of parallel computation, but as it also reduced the reprogramming time[70][63] to hours instead of days, it was considered well worth the loss of performance. Also analysis had shown that due to differences between the electronic speed of computation and the electromechanical speed of input/output, almost any real-world problem was completely I/O bound, even without making use of the original machine’s parallelism. Most computations would still be I/O bound, even after the speed reduction imposed by this modification.
Early in 1952, a high-speed shifter was added, which improved the speed for shifting by a factor of five. In July 1953, a 100-word expansion core memory was added to the system, using binary-coded decimal, excess-3 number representation. To support this expansion memory, ENIAC was equipped with a new Function Table selector, a memory address selector, pulse-shaping circuits, and three new orders were added to the programming mechanism.[63]
Comparison with other early computers[edit]
Mechanical computing machines have been around since Archimedes’ time (see: Antikythera mechanism), but the 1930s and 1940s are considered the beginning of the modern computer era.
ENIAC was, like the IBM Harvard Mark I and the German Z3, able to run an arbitrary sequence of mathematical operations, but did not read them from a tape. Like the British Colossus, it was programmed by plugboard and switches. ENIAC combined full, Turing-complete programmability with electronic speed. The Atanasoff–Berry Computer (ABC), ENIAC, and Colossus all used thermionic valves (vacuum tubes). ENIAC’s registers performed decimal arithmetic, rather than binary arithmetic like the Z3, the ABC and Colossus.
Like the Colossus, ENIAC required rewiring to reprogram until April 1948.[78] In June 1948, the Manchester Baby ran its first program and earned the distinction of first electronic stored-program computer.[79][80][81] Though the idea of a stored-program computer with combined memory for program and data was conceived during the development of ENIAC, it was not initially implemented in ENIAC because World War II priorities required the machine to be completed quickly, and ENIAC’s 20 storage locations would be too small to hold data and programs.
Public knowledge[edit]
The Z3 and Colossus were developed independently of each other, and of the ABC and ENIAC during World War II. Work on the ABC at Iowa State University was stopped in 1942 after John Atanasoff was called to Washington, D.C., to do physics research for the U.S. Navy, and it was subsequently dismantled.[82] The Z3 was destroyed by the Allied bombing raids of Berlin in 1943. As the ten Colossus machines were part of the UK’s war effort their existence remained secret until the late 1970s, although knowledge of their capabilities remained among their UK staff and invited Americans. ENIAC, by contrast, was put through its paces for the press in 1946, «and captured the world’s imagination». Older histories of computing may therefore not be comprehensive in their coverage and analysis of this period. All but two of the Colossus machines were dismantled in 1945; the remaining two were used to decrypt Soviet messages by GCHQ until the 1960s.[83][84] The public demonstration for ENIAC was developed by Snyder and Jennings who created a demo that would calculate the trajectory of a missile in 15 seconds, a task that would have taken several weeks for a human computer.[45]
Patent[edit]
For a variety of reasons – including Mauchly’s June 1941 examination of the Atanasoff–Berry computer (ABC), prototyped in 1939 by John Atanasoff and Clifford Berry – U.S. Patent 3,120,606 for ENIAC, applied for in 1947 and granted in 1964, was voided by the 1973[85] decision of the landmark federal court case Honeywell, Inc. v. Sperry Rand Corp.. The decision included: that the ENIAC inventors had derived the subject matter of the electronic digital computer from Atanasoff; gave legal recognition to Atanasoff as the inventor of the first electronic digital computer; and put the invention of the electronic digital computer in the public domain.
Main parts[edit]
The bottoms of three accumulators at Fort Sill, Oklahoma, US
A function table from ENIAC on display at Aberdeen Proving Ground museum.
The main parts were 40 panels and three portable function tables (named A, B, and C). The layout of the panels was (clockwise, starting with the left wall):
- Left wall
- Initiating Unit
- Cycling Unit
- Master Programmer – panel 1 and 2
- Function Table 1 – panel 1 and 2
- Accumulator 1
- Accumulator 2
- Divider and Square Rooter
- Accumulator 3
- Accumulator 4
- Accumulator 5
- Accumulator 6
- Accumulator 7
- Accumulator 8
- Accumulator 9
- Back wall
- Accumulator 10
- High-speed Multiplier – panel 1, 2, and 3
- Accumulator 11
- Accumulator 12
- Accumulator 13
- Accumulator 14
- Right wall
- Accumulator 15
- Accumulator 16
- Accumulator 17
- Accumulator 18
- Function Table 2 – panel 1 and 2
- Function Table 3 – panel 1 and 2
- Accumulator 19
- Accumulator 20
- Constant Transmitter – panel 1, 2, and 3
- Printer – panel 1, 2, and 3
An IBM card reader was attached to Constant Transmitter panel 3 and an IBM card punch was attached to Printer Panel 2. The Portable Function Tables could be connected to Function Table 1, 2, and 3.[86]
Parts on display[edit]
Detail of the back of a section of ENIAC, showing vacuum tubes
Pieces of ENIAC are held by the following institutions:
- The School of Engineering and Applied Science at the University of Pennsylvania has four of the original forty panels (Accumulator #18, Constant Transmitter Panel 2, Master Programmer Panel 2, and the Cycling Unit) and one of the three function tables (Function Table B) of ENIAC (on loan from the Smithsonian).[86]
- The Smithsonian has five panels (Accumulators 2, 19, and 20; Constant Transmitter panels 1 and 3; Divider and Square Rooter; Function Table 2 panel 1; Function Table 3 panel 2; High-speed Multiplier panels 1 and 2; Printer panel 1; Initiating Unit)[86] in the National Museum of American History in Washington, D.C.[18] (but apparently not currently on display).
- The Science Museum in London has a receiver unit on display.
- The Computer History Museum in Mountain View, California has three panels (Accumulator #12, Function Table 2 panel 2, and Printer Panel 3) and portable function table C on display (on loan from the Smithsonian Institution).[86]
- The University of Michigan in Ann Arbor has four panels (two accumulators, High-speed Multiplier panel 3, and Master Programmer panel 2),[86] salvaged by Arthur Burks.
- The United States Army Ordnance Museum at Aberdeen Proving Ground, Maryland, where ENIAC was used, has Portable Function Table A.
- The U.S. Army Field Artillery Museum in Fort Sill, as of October 2014, obtained seven panels of ENIAC that were previously housed by The Perot Group in Plano, Texas.[87] There are accumulators #7, #8, #11, and #17;[88] panel #1 and #2 that connected to function table #1,[86] and the back of a panel showing its tubes. A module of tubes is also on display.
- The United States Military Academy at West Point, New York, has one of the data entry terminals from the ENIAC.
- The Heinz Nixdorf Museum in Paderborn, Germany, has three panels (Printer panel 2 and High-speed Function Table)[86] (on loan from the Smithsonian Institution). In 2014 the museum decided to rebuild one of the accumulator panels – reconstructed part has the look and feel of a simplified counterpart from the original machine.[89][90]
Recognition[edit]
ENIAC was named an IEEE Milestone in 1987.[91]
ENIAC on a Chip, University of Pennsylvania (1995) — Computer History Museum
In 1996, in honor of the ENIAC’s 50th anniversary, The University of Pennsylvania sponsored a project named, «ENIAC-on-a-Chip«, where a very small silicon computer chip measuring 7.44 mm by 5.29 mm was built with the same functionality as ENIAC. Although this 20 MHz chip was many times faster than ENIAC, it had but a fraction of the speed of its contemporary microprocessors in the late 1990s.[92][93][94]
In 1997, the six women who did most of the programming of ENIAC were inducted into the Technology International Hall of Fame.[46][95] The role of the ENIAC programmers is treated in a 2010 documentary film titled Top Secret Rosies: The Female «Computers» of WWII by LeAnn Erickson.[47] A 2014 documentary short, The Computers by Kate McMahon, tells of the story of the six programmers; this was the result of 20 years’ research by Kathryn Kleiman and her team as part of the ENIAC Programmers Project.[48][96] In 2022 Grand Central Publishing released Proving Ground by Kathy Kleiman, a hardcover biography about the six ENIAC programmers and their efforts to translate block diagrams and electronic schematics of the ENIAC, then under construction, into programs that would be loaded into and run on ENIAC once it was available for use.[97]
In 2011, in honor of the 65th anniversary of the ENIAC’s unveiling, the city of Philadelphia declared February 15 as ENIAC Day.[98]
The ENIAC celebrated its 70th anniversary on February 15, 2016.[99]
See also[edit]
- History of computing
- History of computing hardware
- Women in computing
- List of vacuum-tube computers
- Military computers
- Unisys
- Arthur Burks
- Betty Holberton
- Frances Bilas Spence
- John Mauchly
- J. Presper Eckert
- Jean Jennings Bartik
- Kathleen Antonelli (Kay McNulty)
- Marlyn Meltzer
- Ruth Lichterman Teitelbaum
Notes[edit]
- ^ Eckert Jr., John Presper and Mauchly, John W.; Electronic Numerical Integrator and Computer, United States Patent Office, US Patent 3,120,606, filed 1947-06-26, issued 1964-02-04; invalidated 1973-10-19 after court ruling in Honeywell v. Sperry Rand.
- ^ a b Weik, Martin H. «The ENIAC Story». Ordnance. Washington, DC: American Ordnance Association (January–February 1961). Archived from the original on August 14, 2011. Retrieved March 29, 2015.
- ^ «3.2 First Generation Electronic Computers (1937-1953)». www.phy.ornl.gov.
- ^ «ENIAC on Trial – 1. Public Use». www.ushistory.org. Search for 1945. Retrieved May 16, 2018.
The ENIAC machine […] was reduced to practice no later than the date of commencement of the use of the machine for the Los Alamos calculations, December 10, 1945.
- ^ Goldstine & Goldstine 1946, p. 97
- ^ Shurkin, Joel (1996). Engines of the mind: the evolution of the computer from mainframes to microprocessors. New York: Norton. ISBN 978-0-393-31471-7.
- ^ Moye, William T. (January 1996). «ENIAC: The Army-Sponsored Revolution». US Army Research Laboratory. Archived from the original on May 21, 2017. Retrieved March 29, 2015.
- ^ a b Goldstine 1972, p. 214.
- ^ Richard Rhodes (1995). «chapter 13». Dark Sun: The Making of the Hydrogen Bomb. p. 251.
The first problem assigned to the first working electronic digital computer in the world was the hydrogen bomb. […] The ENIAC ran a first rough version of the thermonuclear calculations for six weeks in December 1945 and January 1946.
- ^ McCartney 1999, p. 103: «ENIAC correctly showed that Teller’s scheme would not work, but the results led Teller and Ulam to come up with another design together.»
- ^ *«ENIAC on Trial – 1. Public Use». www.ushistory.org. Search for 1945. Retrieved May 16, 2018.
The ENIAC machine […] was reduced to practice no later than the date of commencement of the use of the machine for the Los Alamos calculations, December 10, 1945.
- ^ «ENIAC USA 1946». The History of Computing Project. History of Computing Foundation. March 13, 2013. Archived from the original on January 4, 2021.
- ^ Dalakov, Georgi. «ENIAC». History of Computers. Georgi Dalakov. Retrieved May 23, 2016.
- ^ Goldstine & Goldstine 1946
- ^ Gayle Ronan Sims (June 22, 2004). «Herman Heine Goldstine». Philadelphia Inquirer. Archived from the original on November 30, 2015. Retrieved April 15, 2017 – via www.princeton.edu.
- ^ a b c Wilkes, M. V. (1956). Automatic Digital Computers. New York: John Wiley & Sons. QA76.W5 1956.
- ^ «ENIAC on Trial». USHistory.org. Independence Hall Association. Archived from the original on August 12, 2019. Retrieved November 9, 2020.
- ^ a b c d e f g h i j k Light 1999.
- ^ «ENIAC». The Free Dictionary. Retrieved March 29, 2015.
- ^ Weik, Martin H. (December 1955). Ballistic Research Laboratories Report No. 971: A Survey of Domestic Electronic Digital Computing Systems. Aberdeen Proving Ground, MD: United States Department of Commerce Office of Technical Services. p. 41. Retrieved March 29, 2015.
- ^ Farrington, Gregory (March 1996). ENIAC: Birth of the Information Age. Popular Science. Retrieved March 29, 2015.
- ^ «ENIAC in Action: What it Was and How it Worked». ENIAC: Celebrating Penn Engineering History. University of Pennsylvania. Retrieved May 17, 2016.
- ^ Martin, Jason (December 17, 1998). «Past and Future Developments in Memory Design». Past and Future Developments in Memory Design. University of Maryland. Retrieved May 17, 2016.
- ^ Peddie, Jon (June 13, 2013). The History of Visual Magic in Computers: How Beautiful Images are Made in CAD, 3D, VR and AR. Springer Science & Business Media. ISBN 978-1-4471-4932-3.
- ^ Goldstine & Goldstine 1946.
- ^ Igarashi, Yoshihide; Altman, Tom; Funada, Mariko; Kamiyama, Barbara (May 27, 2014). Computing: A Historical and Technical Perspective. CRC Press. ISBN 978-1-4822-2741-3.
- ^ The original photo can be seen in the article: Rose, Allen (April 1946). «Lightning Strikes Mathematics». Popular Science: 83–86. Retrieved March 29, 2015.
- ^ Clippinger 1948, Section I: General Description of the ENIAC – The Function Tables.
- ^ Goldstine 1946.
- ^ «The incredible evolution of supercomputers’ powers, from 1946 to today». Popular Science. March 18, 2019. Retrieved February 8, 2022.
- ^ Burks 1947, pp. 756–767
- ^ Randall 5th, Alexander (February 14, 2006). «A lost interview with ENIAC co-inventor J. Presper Eckert». Computer World. Retrieved March 29, 2015.
- ^ Grier, David (July–September 2004). «From the Editor’s Desk». IEEE Annals of the History of Computing. 26 (3): 2–3. doi:10.1109/MAHC.2004.9. S2CID 7822223.
- ^ Cruz, Frank (November 9, 2013). «Programming the ENIAC». Programming the ENIAC. Columbia University. Retrieved May 16, 2016.
- ^ Alt, Franz (July 1972). «Archaeology of computers: reminiscences, 1945-1947». Communications of the ACM. 15 (7): 693–694. doi:10.1145/361454.361528. S2CID 28565286.
- ^ Schapranow, Matthieu-P. (June 1, 2006). «ENIAC tutorial — the modulo function». Archived from the original on January 7, 2014. Retrieved March 4, 2017.
- ^ Description of Lehmer’s program computing the exponent of modulo 2 prime
- De Mol & Bullynck 2008
- ^ «ENIAC Programmers Project». eniacprogrammers.org. Retrieved March 29, 2015.
- ^ Donaldson James, Susan (December 4, 2007). «First Computer Programmers Inspire Documentary». ABC News. Retrieved March 29, 2015.
- ^ Fritz, W. Barkley (1996). «The Women of ENIAC» (PDF). IEEE Annals of the History of Computing. 18 (3): 13–28. doi:10.1109/85.511940. Archived from the original (PDF) on March 4, 2016. Retrieved April 12, 2015.
- ^ «Meet the ‘Refrigerator Ladies’ Who Programmed the ENIAC». Mental Floss. October 13, 2013. Retrieved June 16, 2016.
- ^ «ENIAC Programmers: A History of Women in Computing». Atomic Spin. July 31, 2016.
- ^ Grier, David (2007). When Computers Were Human. Princeton University Press. ISBN 9781400849369. Retrieved November 24, 2016.
- ^ Beyer, Kurt (2012). Grace Hopper and the Invention of the Information Age. London, Cambridge: MIT Press. p. 198. ISBN 9780262517263.
- ^ a b Isaacson, Walter (September 18, 2014). «Walter Isaacson on the Women of ENIAC». Fortune. Archived from the original on December 12, 2018. Retrieved December 14, 2018.
- ^ a b «Invisible Computers: The Untold Story of the ENIAC Programmers». Witi.com. Retrieved March 10, 2015.
- ^ a b Gumbrecht, Jamie (February 2011). «Rediscovering WWII’s female ‘computers’«. CNN. Retrieved February 15, 2011.
- ^ a b «Festival 2014: The Computers». SIFF. Archived from the original on August 10, 2014. Retrieved March 12, 2015.
- ^ «Army researchers acquire two new supercomputers». U.S. Army DEVCOM Army Research Laboratory Public Affairs. December 28, 2020. Retrieved March 1, 2021.
- ^ Sullivan, Patricia (July 26, 2009). «Gloria Gordon Bolotsky, 87; Programmer Worked on Historic ENIAC Computer». The Washington Post. Retrieved August 19, 2015.
- ^ «ARL Computing History | U.S. Army Research Laboratory». Arl.army.mil. Retrieved June 29, 2019.
- ^ Booth, Kathleen. «Machine Language for Automatic Relay Computer». Birkbeck College Computation Laboratory. University of London.
- ^ Campbell-Kelly, Martin «The Development of Computer Programming in Britain (1945 to 1955)», The Birkbeck College Machines, in (1982) Annals of the History of Computing 4(2) April 1982 IEEE
- ^ Goldstine 1972, p. 182
- ^ Goldstine 1972, p. 226
- ^ Mazhdrakov, Metodi; Benov, Dobriyan; Valkanov, Nikolai (2018). The Monte Carlo Method. Engineering Applications. ACMO Academic Press. p. 250. ISBN 978-619-90684-3-4.
- ^ Kean, Sam (2010). The Disappearing Spoon. New York: Little, Brown and Company. pp. 109–111. ISBN 978-0-316-05163-7.
- ^ Kennedy, T. R. Jr. (February 15, 1946). «Electronic Computer Flashes Answers». New York Times. Archived from the original on July 10, 2015. Retrieved March 29, 2015.
- ^ Honeywell, Inc. v. Sperry Rand Corp., 180 U.S.P.Q. (BNA) 673, p. 20, finding 1.1.3 (U.S. District Court for the District of Minnesota, Fourth Division 1973) («The ENIAC machine which embodied ‘the invention’ claimed by the ENIAC patent was in public use and non-experimental use for the following purposes, and at times prior to the critical date: … Formal dedication use February 15, 1946 …»).
- ^ Evans, Claire L. (March 6, 2018). Broad Band: The Untold Story of the Women Who Made the Internet. Penguin. p. 51. ISBN 9780735211766.
- ^ a b c McCartney 1999, p. 140
- ^ McCartney 1999, p. 140: «Eckert gave eleven lectures, Mauchly gave six, Goldstine gave six. von Neumann, who was to give one lecture, didn’t show up; the other 24 were spread among various invited academics and military officials.»
- ^ a b c d e f «Eniac». Epic Technology for Great Justice. Retrieved January 28, 2017.
- ^ a b Goldstine 1947.
- ^
- Goldstine 1972, pp. 233–234, 270, search string: «eniac Adele 1947»
- By July 1947 von Neumann was writing: «I am much obliged to Adele for her letters. Nick and I are working with her new code, and it seems excellent.»
- Clippinger 1948, Section IV: Summary of Orders
- Haigh, Priestley & Rope 2014b, pp. 44–48
- ^ Pugh, Emerson W. (1995). «Notes to Pages 132-135». Building IBM: Shaping an Industry and Its Technology. MIT Press. p. 353. ISBN 9780262161473.
- ^ Haigh, Priestley & Rope 2014b, pp. 44–45.
- ^ Haigh, Priestley & Rope 2014b, p. 44.
- ^ Clippinger 1948, INTRODUCTION.
- ^ a b Goldstine 1972, 233-234, 270; search string: eniac Adele 1947.
- ^ a b Haigh, Priestley & Rope 2014b, pp. 47–48.
- ^ Clippinger 1948, Section VIII: Modified ENIAC.
- ^ Fritz, W. Barkley (1949). «Description and Use of the ENIAC Converter Code». Technical Note (141). Section 1. – Introduction, p. 1.
At present it is controlled by a code which incorporates a unit called the Converter as a basic part of its operation, hence the name ENIAC Converter Code. These code digits are brought into the machine either through the Reader from standard IBM cards*or from the Function Tables (…). (…) *The card control method of operation is used primarily for testing and the running of short highly iterative problems and is not discussed in this report.
- ^ Haigh, Thomas; Priestley, Mark; Rope, Crispin (July–September 2014c). «Los Alamos Bets On ENIAC: Nuclear Monte Carlo Simulations 1947-48». IEEE Annals of the History of Computing. 36 (3): 42–63. doi:10.1109/MAHC.2014.40. S2CID 17470931. Retrieved November 13, 2018.
- ^ Haigh, Priestley & Rope 2016, pp. 113–114.
- ^ Clippinger 1948, INTRODUCTION
- Full names: Haigh, Priestley & Rope 2014b, p. 44
- ^ Haigh, Priestley & Rope 2016, p. 153.
- ^ See #Improvements
- ^ «Programming the ENIAC: an example of why computer history is hard | @CHM Blog». Computer History Museum. May 18, 2016.
- ^ Haigh, Thomas; Priestley, Mark; Rope, Crispin (January–March 2014a). «Reconsidering the Stored Program Concept». IEEE Annals of the History of Computing. 36 (1): 9–10. doi:10.1109/mahc.2013.56. S2CID 18827916.
- ^ Haigh, Priestley & Rope 2014b, pp. 48–54.
- ^ Copeland 2006, p. 106.
- ^ Copeland 2006, p. 2.
- ^ Ward, Mark (May 5, 2014), «How GCHQ built on a colossal secret», BBC News
- ^ «Atanasoff-Berry Computer Court Case». Retrieved September 1, 2022.
- ^ a b c d e f g Haigh, Priestley & Rope 2016, pp. 46, 264.
- ^ Meador, Mitch (October 29, 2014). «ENIAC: First Generation Of Computation Should Be A Big Attraction At Sill». The Lawton Constitution. Retrieved April 8, 2015.
- ^ Haigh. et al. list accumulators 7, 8, 13, and 17, but 2018 photos show 7, 8, 11, and 17.[full citation needed]
- ^ «Meet the iPhone’s 30-ton ancestor: Inside the project to rebuild one of the first computers». TechRepublic. November 23, 2016. Bringing the Eniac back to life.
- ^ «ENIAC – Life-size model of the first vacuum-tube computer». Germany: Heinz Nixdorf Museum. Retrieved March 1, 2021.
- ^ «Milestones:Electronic Numerical Integrator and Computer, 1946». IEEE Global History Network. IEEE. Retrieved August 3, 2011.
- ^ «Looking Back At ENIAC: Commemorating A Half-Century Of Computers In The Reviewing System». The Scientist Magazine.
- ^ Van Der Spiegel, Jan (1996). «ENIAC-on-a-Chip». PENN PRINTOUT. Vol. 12, no. 4. The University of Pennsylvania. Archived from the original on October 11, 2012. Retrieved October 17, 2016.
- ^ Van Der Spiegel, Jan (May 9, 1995). «ENIAC-on-a-Chip». University of Pennsylvania. Retrieved September 4, 2009.
- ^ Brown, Janelle (May 8, 1997). «Wired: Women Proto-Programmers Get Their Just Reward». Retrieved March 10, 2015.
- ^ «ENIAC Programmers Project». ENIAC Programmers Project. Retrieved November 25, 2021.
- ^ Kleiman, Kathy (July 2022). Proving Ground: The Untold Story of the Six Women Who Programmed the World’s First Modern Computer. Grand Central Publishing. ISBN 978-1-5387-1828-5.
- ^ «Resolution No. 110062: Declaring February 15 as «Electronic Numerical Integrator And Computer (ENIAC) Day» in Philadelphia and honoring the University of Pennsylvania School of Engineering and Applied Sciences» (PDF). February 10, 2011. Retrieved August 13, 2014.
- ^ Kim, Meeri (February 11, 2016). «70 years ago, six Philly women became the world’s first digital computer programmers». Retrieved October 17, 2016 – via www.phillyvoice.com.
References[edit]
- Burks, Arthur (1947). «Electronic Computing Circuits of the ENIAC». Proceedings of the I.R.E. 35 (8): 756–767. doi:10.1109/jrproc.1947.234265.
- Burks, Arthur; Burks, Alice R. (1981). «The ENIAC: The First General-Purpose Electronic Computer». Annals of the History of Computing. 3 (4): 310–389. doi:10.1109/mahc.1981.10043. S2CID 14205498.
- Clippinger, R. F. (September 29, 1948). Source. «A Logical Coding System Applied to the ENIAC». Ballistic Research Laboratories Report (673). Archived from the original on January 3, 2010. Retrieved January 27, 2010.
- Copeland, B. Jack, ed. (2006), Colossus: The Secrets of Bletchley Park’s Codebreaking Computers, Oxford: Oxford University Press, ISBN 978-0-19-284055-4
- De Mol, Liesbeth; Bullynck, Maarten (2008). «A Week-End Off: The First Extensive Number-Theoretical Computation on ENIAC». In Beckmann, Arnold; Dimitracopoulos, Costas; Löwe, Benedikt (eds.). Logic and Theory of Algorithms: 4th Conference on Computability in Europe, CiE 2008 Athens, Greece, June 15-20, 2008, Proceedings. Springer Science & Business Media. pp. 158–167. ISBN 9783540694052.
- Eckert, J. Presper, The ENIAC (in Nicholas Metropolis, J. Howlett, Gian-Carlo Rota, (editors), A History of Computing in the Twentieth Century, Academic Press, New York, 1980, pp. 525–540)
- Eckert, J. Presper and John Mauchly, 1946, Outline of plans for development of electronic computers, 6 pages. (The founding document in the electronic computer industry.)
- Fritz, W. Barkley, The Women of ENIAC (in IEEE Annals of the History of Computing, Vol. 18, 1996, pp. 13–28)
- Goldstine, Adele (1946). Source. «A Report on the ENIAC». FTP.arl.mil. 1 (1). Chapter 1 — Introduction: 1.1.2. The Units of the ENIAC.
- Goldstine, H. H.; Goldstine, Adele (1946). «The electronic numerical integrator and computer (ENIAC)». Mathematics of Computation. 2 (15): 97–110. doi:10.1090/S0025-5718-1946-0018977-0. ISSN 0025-5718. (also reprinted in The Origins of Digital Computers: Selected Papers, Springer-Verlag, New York, 1982, pp. 359–373)
- Goldstine, Adele K. (July 10, 1947). Central Control for ENIAC. p. 1.
Unlike the later 60- and 100-order codes this one [51 order code] required no additions to ENIAC’s original hardware. It would have worked more slowly and offered a more restricted range of instructions but the basic structure of accumulators and instructions changed only slightly.
- Goldstine, Herman H. (1972). The Computer: from Pascal to von Neumann. Princeton, NJ: Princeton University Press. ISBN 978-0-691-02367-0.
- Haigh, Thomas; Priestley, Mark; Rope, Crispin (April–June 2014b). «Engineering ‘The Miracle of the ENIAC’: Implementing the Modern Code Paradigm». IEEE Annals of the History of Computing. 36 (2): 41–59. doi:10.1109/MAHC.2014.15. S2CID 24359462. Retrieved November 13, 2018.
- Haigh, Thomas; Priestley, Mark; Rope, Crispin (2016). ENIAC in Action: Making and Remaking the Modern Computer. MIT Press. ISBN 978-0-262-53517-5.
- Light, Jennifer S. (1999). «When Computers Were Women» (PDF). Technology and Culture. 40 (3): 455–483. doi:10.1353/tech.1999.0128. ISSN 0040-165X. JSTOR 25147356. S2CID 108407884. Retrieved March 9, 2015.
- Mauchly, John, The ENIAC (in Metropolis, Nicholas, Howlett, Jack; Rota, Gian-Carlo. 1980, A History of Computing in the Twentieth Century, Academic Press, New York, ISBN 0-12-491650-3, pp. 541–550, «Original versions of these papers were presented at the International Research Conference on the History of Computing, held at the Los Alamos Scientific Laboratory, 10–15 June 1976.»)
- McCartney, Scott (1999). ENIAC: The Triumphs and Tragedies of the World’s First Computer. Walker & Co. ISBN 978-0-8027-1348-3.
- Rojas, Raúl; Hashagen, Ulf, editors. The First Computers: History and Architectures, 2000, MIT Press, ISBN 0-262-18197-5
- Stuart, Brian L. (2018). «Simulating the ENIAC [Scanning Our Past]». Proceedings of the IEEE. 106 (4): 761–772. doi:10.1109/JPROC.2018.2813678.
- Stuart, Brian L. (2018). «Programming the ENIAC [Scanning Our Past]». Proceedings of the IEEE. 106 (9): 1760–1770. doi:10.1109/JPROC.2018.2843998.
- Stuart, Brian L. (2018). «Debugging the ENIAC [Scanning Our Past]». Proceedings of the IEEE. 106 (12): 2331–2345. doi:10.1109/JPROC.2018.2878986.
Further reading[edit]
- Berkeley, Edmund. GIANT BRAINS or machines that think. John Wiley & Sons, inc., 1949. Chapter 7 Speed – 5000 Additions a Second: Moore School’s ENIAC (Electronic Numerical Integrator And Computer)
- Dyson, George (2012). Turing’s Cathedral: The Origins of the Digital Universe. New York: Pantheon Books. ISBN 978-0-375-42277-5.
- Gumbrecht, Jamie (February 8, 2011). «Rediscovering WWII’s ‘computers’«. CNN.com. Retrieved February 9, 2011.
- Hally, Mike. Electronic Brains: Stories from the Dawn of the Computer Age, Joseph Henry Press, 2005. ISBN 0-309-09630-8
- Lukoff, Herman (1979). From Dits to Bits: A personal history of the electronic computer. Portland, OR: Robotics Press. ISBN 978-0-89661-002-6. LCCN 79-90567.
- Tompkins, C. B.; Wakelin, J. H.; High-Speed Computing Devices, McGraw-Hill, 1950.
- Stern, Nancy (1981). From ENIAC to UNIVAC: An Appraisal of the Eckert–Mauchly Computers. Digital Press. ISBN 978-0-932376-14-5.
- «ENIAC Operating Manual» (PDF). www.bitsavers.org.
External links[edit]
Wikimedia Commons has media related to ENIAC.
- ENIAC simulation
- Another ENIAC simulation
- Pulse-level ENIAC simulator
- 3D printable model of the ENIAC
- Q&A: A lost interview with ENIAC co-inventor J. Presper Eckert
- Interview with Eckert Transcript of a video interview with Eckert by David Allison for the National Museum of American History, Smithsonian Institution on February 2, 1988. An in-depth, technical discussion on ENIAC, including the thought process behind the design.
- Oral history interview with J. Presper Eckert, Charles Babbage Institute, University of Minnesota. Eckert, a co-inventor of ENIAC, discusses its development at the University of Pennsylvania’s Moore School of Electrical Engineering; describes difficulties in securing patent rights for ENIAC and the problems posed by the circulation of John von Neumann’s 1945 First Draft of the Report on EDVAC, which placed the ENIAC inventions in the public domain. Interview by Nancy Stern, 28 October 1977.
- Oral history interview with Carl Chambers, Charles Babbage Institute, University of Minnesota. Chambers discusses the initiation and progress of the ENIAC project at the University of Pennsylvania Moore School of Electrical Engineering (1941–46). Oral history interview by Nancy B. Stern, 30 November 1977.
- Oral history interview with Irven A. Travis, Charles Babbage Institute, University of Minnesota. Travis describes the ENIAC project at the University of Pennsylvania (1941–46), the technical and leadership abilities of chief engineer Eckert, the working relations between John Mauchly and Eckert, the disputes over patent rights, and their resignation from the university. Oral history interview by Nancy B. Stern, 21 October 1977.
- Oral history interview with S. Reid Warren, Charles Babbage Institute, University of Minnesota. Warren served as supervisor of the EDVAC project; central to his discussion are J. Presper Eckert and John Mauchly and their disagreements with administrators over patent rights; discusses John von Neumann’s 1945 draft report on the EDVAC, and its lack of proper acknowledgment of all the EDVAC contributors.
- ENIAC Programmers Project
- The women of ENIAC
- Programming ENIAC
- How ENIAC took a Square Root
- Mike Muuss: Collected ENIAC documents
- ENIAC chapter in Karl Kempf, Electronic Computers Within The Ordnance Corps, November 1961
- The ENIAC Story, Martin H. Weik, Ordnance Ballistic Research Laboratories, 1961
- ENIAC museum at the University of Pennsylvania
- ENIAC specifications from Ballistic Research Laboratories Report No. 971 December 1955, (A Survey of Domestic Electronic Digital Computing Systems)
- A Computer Is Born, Michael Kanellos, 60th anniversary news story, CNet, February 13, 2006
- 1946 film restored, Computer History Archives Project
15 февраля 1946 года в Пенсильванском университете состоялось торжественное открытие ЭНИАКа — первого в истории компьютера. Его создатели Джон Преспер Эккерт и Джон Уильям Мокли считаются отцами современного компьютера. А вот девушки, которые программировали ЭНИАК, оказались почти забыты. В День ЭНИАКа восстанавливаем справедливость и рассказываем о шести девушках, создавших программирование.
Живые «компьютеры»
Оксфордский словарь английского языка датирует первое упоминание слова computer 1613 годом. Конечно, речь идет не о вычислительной машине, а о человеке, производящем расчеты (в русском языке таких людей называли счетчиками и вычислителями). До середины 20 века компьютерами были люди. Вооруженные бумагой и карандашом, они рассчитывали пути небесных тел и статистику переписей населения, навигационные и логарифмические таблицы.
К концу 19 века расчетов, которые нужно было производить, стало слишком много. Одновременно с этим женщины начали получать научное образование, в том числе в области математики. Из-за предубеждений они почти не могли работать по специальности. А вот на работу вычислителей их нанимали с радостью. Например, к 1880 году в обсерватории Гарвардского университета все расчеты вели женщины. Созданная астрономом Эдуардом Пикерингом команда «гарвардских вычислителей» (Harvard Computers) классифицировала звезды, издавала звездные каталоги и участвовала в открытии Плутона.
Во время Второй мировой войны у американской армии резко увеличилась потребность в расчетах. Чтобы выпущенный из орудия снаряд попал в цель, орудие необходимо на нее навести. Однако на точность наводки и траекторию снаряда влияет очень много факторов: расстояние до цели и ее скорость, высота над уровнем моря, температура и влажность воздуха, ветер.
Каждый фактор вносит искажение, которое необходимо учесть при наводке. К счастью, необходимую корректировку для разных факторов можно заранее вычислить. Но работа по расчету таблиц была невероятно сложна. Даже в самых простых случаях нужно было рассчитать от двух до четырех тысяч траекторий. При этом расчет одной траектории занимал порядка трех рабочих дней.
Расчетами баллистических таблиц занимались и в Электротехнической школе Мура Пенсильванского университета. Работой были заняты десятки вычислителей, по большей части девушек, вооруженных механическими счетными машинами. Труд девушек использовался по двум причинам: мужчины были нужны на фронте, и девушкам можно было меньше платить.
ЭНИАК
К тому времени идея автоматической вычислительной машины не была новой. Еще в первой половине 19 века Чарльз Бэббидж попытался построить полностью механически компьютер — «аналитическую машину». В 1940-х годах вычислительные машины, более или менее напоминающие современный компьютер, строили Джон Атанасов и Клиффорд Берри, Конрад Цузе, Говард Айкен.
8 апреля 1943 года ученые из Электротехнической школы Мура Пенсильванского университета Джон Преспер Эккерт и Джон Уильям Мокли предложили Лаборатории баллистических исследований Армии США создать вычислительную машину, которая могла вычислять баллистические таблицы.
У проекта Эккерта и Мокли были два ключевых отличия от других проектов вычислительных машин: их машина была электронной, а не электромеханической; и ее можно было программировать, то есть программа не была заложена в аппаратное обеспечение машины.
Не то, чтобы идея электронной вычислительной машины не появлялась раньше: в 1938 году Конрад Цузе и Гельмут Шреер предложили создать компьютер из двух тысяч радиоламп. Коллеги подняли их на смех: радиолампы потребляют много энергии, часто перегорают и не отличаются прочностью. Но Эккерт и Мокли понимали, что электронная машина будет намного быстрее, чем электромеханическая.
Армия США выделила финансирование, и 31 мая 1943 года был заложен электронный числовой интегратор и вычислитель — ЭНИАК (Electronic Numerical Integrator and Computer). В группу конструкторов кроме Эккерта и Мокли вошли Томас Шарплесс, Роберт Шоу, Джеффри Чу, Джек Дэвис, Гарри Хаски и Артур Беркс. Проект консультировал великий математик Джон фон Нейман, в честь которого названа компьютерная архитектура фон Неймана.
Работа шла медленно. Постройка ЭНИАКа была закончена только к весне 1945 года. Но собрать «железо» было мало, требовалось еще и научить машину считать.
Шестерка ЭНИАКа
Пока инженеры строили ЭНИАК, девушки продолжали вычислять баллистические таблицы. Эккерт и Мокли поняли, эти девушки, хорошо знающие математику и умеющие работать с механическими счетными машинами, смогут помочь и наладить работу электронного компьютера.
Они обратились к Адели и Герману Голдстейнам, супружеской паре математиков, которые курировали работу девушек-вычислителей. С их помощью нашли шесть самых способных девушек, которых и пригласили работать с ЭНИАКом. Одна из них отказалась, но ей быстро нашли замену. Так сложилась «Шестерка ЭНИАКа» (ENIAC Six):
- Джин Дженнингс
- Кэтлин Макналти
- Бетти Холбертон
- Рут Тейтельбаум
- Мэрлин Мельцер
- Франсис Спенс
(нижний ряд) Франсис Спенс, Мэрлин Мельцер, Рут Тейтельбаум (источник)
В это время ЭНИАК был засекреченным военным проектом. Девушек даже не пускали в помещение, где стоял компьютер. Их работа началась с изучения чертежей и диаграмм. Так как ЭНИАК был первым компьютером, который можно было запрограммировать, никаких учебников по работе с ним не было. Девушкам пришлось с нуля изобрести программирование.
Создавая программирование
К завершению постройки в мае 1945 года ЭНИАК представлял собой нечто невероятное. Компьютер занимал площадь в 167 м2 и весил больше 27 тонн. Он состоял из 17 500 электронных ламп, 7000 полупроводниковых диодов, 1500 реле, 70 000 сопротивлений и 10 000 конденсаторов.
ЭНИАК состоял из отдельных блоков, которые отвечали за память, вычисления, ввод и вывод результатов. Эти блоки были соединены двумя видами связей — для инструкций и для чисел. Фактически ЭНИАК представлял собой набор отдельных устройств, связанных между собой. Для каждой новой задачи приходилось изменять последовательность их соединения, как бы создавая новый компьютер.
Чтобы «запрограммировать» ЭНИАК, нужно было с помощью физических проводов и переключателей соединить разные части компьютера в нужном порядке. Расчеты, которые у людей-вычислителей занимали часы, ЭНИАК выполнял за секунды — но на программирование могли требоваться дни.
Историк Кэти Клейман пишет: «Им (программистам) нужно было найти каждую величину, направить ее в соответствующий блок, например, умножитель или “извлекатель квадратного корня”, а затем перенести результат — с помощью физического провода — в другой блок для хранения».
Но девушки-программисты справлялись со сложными задачами. Бетти Холбертон особенно хорошо умела решать такие задачи… во сне! Ее коллега Джин Дженнигс (в замужеств Бартик) вспоминала:
«У Бетти был замечательно логический склад ума, она решала больше задач во сне, чем многие люди — бодрствуя».
Еще одной особенностью ЭНИАКа была его ненадежность. Как предсказывали немецкие ученые, отвергшие проект Конрада Цузе, электронные лампы перегревались и перегорали. Поначалу это случалось почти каждый день, так что половину рабочего времени занимал ремонт. С этим девушки тоже научились бороться — иногда приходилось забираться внутрь машины, чтобы заменить испорченную лампу. «Так как мы знали и задачу, и машину, мы научились находить неисправности не хуже инженеров, а может и лучше», — вспоминала Джин Бартик. Благодаря усилиям девушек и новым, более надежным лампам, в 1954 году был поставлен рекорд — ЭНИАК проработал без поломок 116 часов.
Работа, работа, работа
Испытания ЭНИАКа начались в мае 1945 года. С окончанием войны нужда в баллистических таблицах отпала, зато возникла другая задача — компьютер начал моделировать взрыв термоядерной бомбы. Тогда же руководитель математического отдела Бюро научных исследований и развития Уоррен Уивер попросил Джона Брайндера, руководителя проекта по созданию ЭНИАКа, написать отчет об ЭНИАКе и другом компьютере, ЭДВАКе. Этот секретный отчет был закончен 30 ноября 1945 года. Он содержал первое описание ЭНИАКа и принципов его программирования.
О важной роли Уоррена Уивера в создании машинного перевода можно прочесть в другой нашей статье
Испытания закончились 10 декабря 1945 года, когда ЭНИАК начали использовать для прикладных расчетов. Физик Дуглас Хартри решал на ЭНИАКе проблему обтекания воздухом крыла сверхзвукового самолета, Джон фон Нейман вычислял числа π и e и, вместе с командой метеорологов, сделал первый в истории численный прогноз погоды (вычисления прогноза на следующие 24 часа заняли… 24 часа).
После окончания войны американская армия приняла решение рассекретить ЭНИАК. 1 февраля 1946 года состоялась пресс-конференция, а 14 февраля работа компьютера была впервые показана журналистам. Старший инженер Артур Беркс продемонстрировал, что компьютер способен сложить пять тысяч числе за одну секунду, а вычисление траектории снаряда занимает меньше времени, чем полет снаряда до цели.
15 февраля состоялось торжественное открытие ЭНИАКа и парадный обед. Девушки, создавшие программирование, ни на церемонию, ни на обед приглашены не были.
Конец и начало
В июле 1946 года Армия США завершила приемку ЭНИАКа. Через год компьютер отправили на Абердинский испытательный полигон. За ним последовали Кэтлин Макналти, Рут Тейтельбаум и Франсис Спенс. После нескольких обновлений ЭНИАК успешно работал, пока не был в последний раз остановлен в 23:45 2 октября 1955 года.
Тогда же Джон Преспер Эккерт и Джон Уильям Мокли ушли из Пенсильванского университета и основали свою компанию. В 1951 году они выпустили UNIVAC — первый в США компьютер, который можно было купить.
К тому времени Кэтлин Макналти вышла замуж за Мокли. Она принимала участие в работе над программным обеспечением компьютеров BINAC и UNIVAC. Вместе с ней трудилась и Джин Бартик (она вышла замуж за инженера Уильяма Бартика). А Рут Тейтельбаум стала одним из первых преподавателей программирования — она обучала новичков работе с ЭНИАКом.
Бетти Холбертон оказалась еще теснее связана с развитием компьютеров. Помимо работы над UNIVAC, она вместе со знаменитой Грейс Хоппер создавала языки программирования Кобол и Фортран. В 1997 году она единственной из всех «шестерки ЭНИАКа» получила Приз Августы Ады Лавлейс, названный в честь соратницы Чарльза Бэббиджа и первого в истории программиста.
Признание и слава все же пришли к девушкам ЭНИАКа. В 1997 году все шестеро были включены в международный Зал славы женщин в технике. Сегодня три суперкомпьютера Армии США называются Джин, Кей и Бетти — в честь Джин Бартик, Кэтлин Макналти и Бетти Холбертон. В 2010 году вышел фильм Top Secret Rosies: The Female «Computers» of WWII, который рассказывал о работе девушек от вычисления баллистических таблиц до программирования ЭНИАКа.
#статьи
- 16 ноя 2021
-
0
Как американцы собрали ЭВМ, чтобы «отдокторстрэнджить» все возможные сценарии ядерной войны с СССР.
Фото: Jerry Cooke / Getty Images
Программист, консультант, специалист по документированию. Легко и доступно рассказывает о сложных вещах в программировании и дизайне.
История компьютера ENIAC началась в 1930-х, когда американский профессор Джон Мокли захотел предсказывать погоду не на недели, а на годы вперёд. Он считал, что для этого нужно разгадать закономерности вспышек и пятен на Солнце.
У профессора были данные наблюдений метеорологов за много лет. Чтобы проанализировать их, он купил у банков списанные калькуляторы и усадил за работу студентов. Но вычисления шли медленно — информации было много, а студенты часто ошибались.
Мокли понял: чтобы ускорить работу, нужно мощное вычислительное устройство. Тогда он начал разрабатывать машину на радиолампах, которая выдавала бы результат сразу после ввода информации. Но собрать её изобретатель не мог — у него не хватало денег.
В 1941 году Мокли начал преподавать в инженерной школе при университете. Там он познакомился с изобретателем Джоном Эккертом, которого тоже увлекла идея создать электронный компьютер.
Вскоре у Мокли появилась возможность реализовать идею. В 1942 году союзники высадились в Северной Африке и артиллеристам понадобились баллистические таблицы под местный климат.
Школа, где работал Мокли, сотрудничала с баллистической лабораторией. В ней такие таблицы составляла сотня сотрудников — в основном девушки с высшим математическим образованием.
Девушек в лаборатории называли просто — «компьютеры» (от англ. computer — вычислитель). В Америке тогда царило гендерное неравенство и к инженерным задачам женщин не допускали, а вот кропотливую, трудоёмкую и низкооплачиваемую работу им доверяли. Впрочем, девушки были довольны — это была хорошая альтернатива карьере провинциальной учительницы.
Таблицы составляли для всех снарядов и орудий. Причём для каждого вида нужно было рассчитать около трёх тысяч траекторий полёта и учесть множество факторов: угол возвышения ствола, скорость снаряда, температуру воздуха, атмосферное давление, скорость и направление ветра.
Люди решали сложные дифференциальные уравнения, а потом рассчитывали значения полученных функций на логарифмических линейках и арифмометрах. Часть вычислений выполняли на дифференциальном анализаторе, но он работал неточно и результаты приходилось перепроверять. Расчёт каждой траектории состоял из 1000 операций, а на вычисление всей таблицы у сотни людей уходило четыре года.
Объём работ был огромным, и люди с ним не справлялись. Тогда Мокли с Эккертом обратились к начальству своего института с предложением создать электронную вычислительную машину, которая сможет ускорить расчёты во много раз. Но их идею не оценили.
В апреле 1943 года Мокли по совету знакомых подал заявку на выделение средств напрямую в баллистическую лабораторию. Он обещал, что построенный компьютер будет вычислять одну траекторию за пять минут.
В описании проекта Мокли схитрил — назвал своё изобретение электронным дифференциальным анализатором, чтобы не вызвать недоверие у военных. Они не любили финансировать всё новое и непроверенное, но анализаторы были вещью знакомой.
У проекта тут же появилось немало противников. Они ворчали, что радиолампы быстро выйдут из строя, а одна перегоревшая деталь остановит всю машину. Даже знаменитый физик Энрико Ферми сказал, что лампы в таком количестве проработают не больше пяти минут. Тем не менее деньги учёным дали.
В 1944 году все чертежи были готовы и группа инженеров под руководством Мокли и Эккерта начала строить компьютер. Начальником проекта стал Мокли, а главным конструктором — Эккерт. Позже в качестве научного консультанта к ним присоединился Джон фон Нейман.
Осенью 1945 года компьютер построили. Его назвали ENIAC — электронным числовым интегратором и вычислителем. Машина получилась весом в 30 тонн и длиной в 30 метров, в ней было 17 000 радиоламп, 10 000 конденсаторов, 7000 резисторов, 15 000 реле и 6000 переключателей.
Архитектура ENIAC была несовершенной, поэтому на него ушло так много деталей. У компьютера были модули для сложения, умножения, деления и извлечения квадратного корня. Промежуточные результаты передавались от модуля к модулю.
В современных компьютерах числа хранятся в регистрах, обрабатываются в отдельных арифметических модулях, а результаты опять помещаются в регистры, но в ENIAC каждый модуль хранения чисел был одновременно модулем обработки, который мог выполнять арифметические операции.
ENIAC работал не с двоичным кодом, а с десятичными числами. На каждую цифру приходилось 10 ламп: если горела лампа №1 — это был ноль, №2 — единица, №3 — двойка и так далее. Это приводило к огромному расходу электронных элементов. Например, чтобы представить число 1000 в двоичном виде (1111101000), нужно 10 ламп — по одной на каждую цифру в двоичной системе счисления. А в схеме ENIAC для этого требовалось 40 ламп — по 10 на одну цифру.
ENIAC мог совершать 357 операций умножения или 5000 операций сложения в секунду. В его памяти помещалось 20 десятизначных чисел. Компьютер не хранил программы в памяти.
Ни операционных систем, ни языков программирования тогда не было, поэтому всё делали вручную — устанавливали переключатели и присоединяли провода. Данные на перфокартах вводили через кард-ридер IBM, а для вывода результатов использовался перфоратор IBM.
Хотя ENIAC не был таким надёжным, как электромеханический компьютер Mark I Говарда Эйкена, по скорости он превосходил его в тысячу раз. А на траекторию, которую механический дифференциальный анализатор рассчитывал в течение 15 минут, ENIAC тратил всего 20 секунд. Работал он с той же точностью, что и человек с механическим калькулятором.
14 февраля 1946 года ENIAC показали публике (этот день теперь считается Днём программиста). Сначала компьютер за одну секунду посчитал сумму 5000 чисел, а затем — вычислил траекторию полёта снаряда быстрее, чем тот долетает от орудия до цели.
Присутствовавшие удивились. Они видели: чтобы машина ожила и начала вычислять, достаточно было нажать одну кнопку. Восхищённые репортёры называли ENIAC «электронным мозгом», «искусственным мозгом» и «волшебником».
Когда ENIAC был готов, война уже закончилась и артиллерийские расчёты стали не такими актуальными. Для него подобрали новую задачу — проверить один из вариантов устройства водородной бомбы.
Задача требовала огромного объёма вычислений, для которых пришлось бы решать дифференциальные уравнения. Программисты разбивали её на несколько этапов — сначала решения находили вручную, а потом переводили этот алгоритм на язык переключателей и проводов, чтобы всё автоматизировать.
Промежуточные результаты выводили на перфокарты и после перенастройки снова вводили в компьютер. С чем-то похожим тогда не могло справиться ни одно из электромеханических устройств.
ENIAC умел выполнять сложные операции, в том числе циклы, переходы и подпрограммы, но предварительно все уравнения нужно было решить вручную огромное количество раз.
На расчёты для создания водородной бомбы ушёл миллион перфокарт. Компьютер с задачей справился, и водородную бомбу создали. Большую часть расчётов не рассекретили до сих пор.
На ENIAC прогнозировали погоду в Советском Союзе, чтобы узнать, где выпадут радиоактивные осадки в случае ядерной войны. Ещё проводили инженерные расчёты, составляли баллистические таблицы, в том числе для атомных боеприпасов. Британский физик Дуглас Хартри рассчитал на ENIAC аэродинамику сверхзвукового самолёта.
Фон Нейман вычислял на ENIAC числа π и е (число Эйлера) с точностью в 2000 знаков после запятой. Он хотел выяснить, как цифры в этих числах распределены статистически, чтобы узнать, могут ли компьютеры генерировать случайные числа. Оказалось, что могут. Позже с группой метеорологов фон Нейман сделал первый численный прогноз погоды.
На презентации ENIAC никто не узнал про работу девушек, которые запрограммировали компьютер для демонстрации. Они были на мероприятии, но изображали хозяек — рассаживали гостей, раздавали им перфокарты и бумаги с результатами вычислений.
О команде программистов первой ЭВМ совершенно случайно узнали только в конце восьмидесятых. В 1946 году выпускница Гарварда Кети Клейман нашла фотографии с демонстрации ENIAC, на которых были подписаны только мужчины. Она спросила о женщинах у компьютерного историка, но он ответил, что это refrigerator ladies — так называли моделей, которые позировали для рекламы холодильников и стиральных машин.
Кети не устроил этот ответ, и она нашла сведения о девушках-программистах, которые рассчитывали процесс ядерного синтеза, траектории полётов баллистических ракет и форму крыльев сверхзвукового самолёта. Она даже их разыскала, записала и опубликовала интервью.
Оказалось, что для работы на ENIAC выбрали лучших вычислителей из Лаборатории баллистических исследований: Кей Антонелли, Фрэнсис Билас, Джин Дженнингс, Рут Лихтерман, Бетти Холбертон и Марлин Вескоф. Эти девушки стали первыми в мире программистами ЭВМ.
Их команда программировала и поддерживала ENIAC. Чтобы ввести новую программу, им каждый раз приходилось его перекоммутировать — установить тысячи тумблеров в новое положение и протянуть много проводов. Электронные лампы и конденсаторы перегорали почти каждый день, и для их замены операторы часами искали неисправные элементы. Одна настройка занимала несколько дней, на отладку уходили недели.
При работе с ENIAC нашли решения, которые легли в основу современного программирования. Бетти Холбертон изобрела точку останова, а Кей Антонелли — подпрограмму.
Позже Бетти Холбертон и Джин Дженнингс разработали процедуру сортировки, помогали переделать ENIAC в машину с хранимой программой и создать компьютер UNIVAC. Именно Бетти Холбертон предложила заменить цвет панелей ENIAC с чёрного на серо-бежевый, который стал стандартом для компьютеров.
Работа девушек не получила особого признания — её называли второстепенной, «женской». Ведущие физики и инженеры проектировали и создавали вычислительное оборудование, это дело считали гораздо более важным.
ENIAC работал до 1955 года. Несмотря на то что компьютер много раз модернизировали, к этому времени он окончательно устарел. Его демонтировали, когда появились более совершенные и мощные ЭВМ.
Машин с похожей архитектурой больше никогда не строили — вскоре в Пенсильванском университете разработали фоннеймановскую архитектуру, которая используется в современных компьютерах.
Значимость ENIAC в том, что это был первый полностью электронный универсальный компьютер, который теоретически мог справиться с любой задачей. Он доказал, что вычислительную машину можно создать на основе электронных элементов и она окупится.
Научитесь: Профессия DevOps-инженер
Узнать больше
ENIAC
ЭНИАК (англ. ENIAC, сокр. от Electronic Numerical Integrator and Computer — Электронный числовой интегратор и вычислитель) — первый электронный цифровой компьютер общего назначения, который можно было перепрограммировать для решения широкого спектра задач.
Содержание
- 1 История создания
- 2 Использование
- 3 Характеристики, архитектура и программирование
- 4 Влияние
- 5 Память о компьютере
- 6 См. также
- 7 Литература
- 8 Примечания
История создания
Архитектуру компьютера начали разрабатывать в 1943 году Джон Преспер Экерт (англ.) и Джон Уильям Мокли, учёные из Пенсильванского университета (Институт Мура (англ.)) по заказу Лаборатории баллистических исследований (англ.) Армии США для расчётов таблиц стрельбы. В отличие от созданного в 1941 году немецким инженером Конрадом Цузе комплекса Z3, использовавшего механические реле, в ЭНИАКе в качестве основы компонентной базы применялись вакуумные лампы.
Расчеты таблиц стрельбы в то время проводились вручную на настольных арифмометрах. Эту работу в Лаборатории выполняли особые клерки — «компьютеры» — в основном женщины. Таблицы стрельбы рассчитывались для каждого отдельного типа снаряда и орудия перед отправкой на фронт, и при различных комбинациях множества параметров (температура воздуха, скорость ветра, плотность почвы под орудием, возвышение ствола, скорость снаряда, температура ствола орудия) требовался кропотливый расчет около 3000 траекторий полета снаряда. Расчет каждой траектории требовал примерно 750 операций. Один вычислитель был способен выполнить это расчет за 12 дней, а на вычисление всей таблицы потребовалось бы 4 года. Без этих таблиц артиллеристам просто невозможно было точно попасть в цель. В условиях Второй Мировой войны на фронт в Европу отправлялось все больше и больше орудий и снарядов к ним, в 1943 году союзные войска высадились в Африке, где условия стрельбы были совершенно новыми и требовали новых таблиц, а Лаборатория не справлялась со своевременным их расчетом.
В Институте Мура имелся один из немногих «дифференциальных анализаторов (англ.)» — механический вычислитель, к помощи которого прибегала Лаборатория для выполнения хотя бы части расчетов. В этом институте Мокли работал преподавателем, а Экерт — был простым студентом с незаурядными способностями инженера. В августе 1942 года Мокли написал 7-страничный документ «The Use of High-Speed Vacuum Tube Devices for Calculation», в котором предлагал Институту построить электронную вычислительную машину основанную на вакуумных лампах. Руководство Института работу не оценило и сдало документ в архив, где он вообще был утерян.
Сотрудничество Института Мура с Баллистической Лабораторией по вычислению таблиц стрельбы осуществлялось через капитана Германа Голдстайна, который до поступления на службу в армию работал профессором математики в Университете штата Мичиган. Лишь в начале 1943 года один из работников Института в случайной беседе сообщил Голдстайну об идее электронного вычислителя, с которой носился Мокли. Использование электронной вычислительной машины позволило бы Лаборатории сократить время расчета с нескольких месяцев до нескольких часов. Голдстайн встретился с Мокли и предложил ему обратиться с заявкой в Лабораторию на выделение средств для постройки задуманной машины. Мокли по памяти восстановил утерянный 7-страничный документ с описанием проекта.
9 апреля 1943 года проект был представлен Баллистической Лаборатории на заседании Комиссии по науке. В проекте машина называлась «электронный дифф. анализатор» (electronic diff. analyzer). Это была уловка, чтобы новизна проекта не вызвала отторжение у военных. Все они были уже знакомы с дифференциальным анализатором, и проект в их представлении просто предлагал сделать его не механическим, а электрическим. Проект обещал, что построенный компьютер будет вычислять одну траекторию за 5 минут.
После короткой презентации научный консультант комиссии Освальд Веблен (англ.) одобрил идею, и деньги (61.700 долларов США на первые 6 месяцев исследовательских работ) были выделены. В контракте под номером W-670-ORD-4926, заключенном 5 июня 1943 года, машина называлась «Electronic Numerical Integrator» («Электронный числовой интегратор»), позднее к названию было добавлено «and Computer» («и компьютер»), в результате чего получилась знаменитая аббревиатура ENIAC. Куратором проекта «Project PX» со стороны Армии США выступил опять-таки Герман Голдстайн.
К февралю 1944 года были готовы все диаграммы и чертежи будущего компьютера, и группа инженеров под руководством Экерта и Мокли приступила к воплощению замысла в «железо». В группу вошли также:
- Роберт Шоу (Robert F. Shaw} (функциональные таблицы)
- Джеффри Чуан Чу (Jeffrey Chuan Chu) (модуль деления/извлечения квадратного корня)
- Томас Кайт Шарплес (Thomas Kite Sharpless) (главный программист)
- Артур Бёркс (Arthur Burks) (модуль умножения)
- Гарри Хаски (Harry Huskey) (модуль чтения вывод данных)
- Джек Дэви (Jack Davis) (аккумуляторы)
В середине июля 1944 года Мокли и Эккерт собрали два первых «аккумулятора» — модули, которые использовались для сложения чисел. Соединив их вместе, они перемножили два числа 5 и 1000 и получили верный результат. Этот результат был продемонстрирован руководству Института и Баллистической Лаборатории и доказал всем скептикам, что электронный компьютер действительно может быть построен.
Компьютер был полностью готов лишь осенью 1945 года. Так как война к тому времени уже была закончена, и острой необходимости в быстром расчете таблиц стрельбы уже не было, военное ведомство США решило использовать ENIAC в расчетах по разработке термоядерного оружия.
Будучи сверхсекретным проектом Армии США, компьютер был представлен публике и прессе лишь много месяцев спустя после окончания войны — 14 февраля 1946 года. Через несколько месяцев — в ноябре 1946 года — ENIAC был разобран и перевезен из Университета Пенсильвании в г. Абердин в Лабораторию баллистических исследований Армии США, где с августа 1947 года он успешно проработал ещё много лет и был окончательно выключен 2 октября 1955 года.
В Баллистической Лаборатории на ENIAC выполнялись расчеты по проблеме термоядерного оружия, прогнозам погоды в СССР для предсказания направления выпадения ядерных осадков на случай ядерной войны, инженерные расчеты, и конечно же таблиц стрельбы, включая таблицы стрельбы ядерными боеприпасами.
Использование
В качестве испытания ЭНИАКу первой была поставлена задача по математическому моделированию термоядерного взрыва супер-бомбы по гипотезе Улама-Теллера. фон Нейман, который одновременно работал консультантом и в Лос-Аламосской лаборатории и в Институте Мура, предложил группе Теллера использовать ЭНИАК для расчетов ещё в начале 1945 года. Решение проблемы термоядерного оружия требовало такого огромного объёма вычислений, что справиться с ним не могли никакие электромеханические калькуляторы, имевшиеся в распоряжении Лаборатории. В августе 1945 физики Лос-Аламосской лаборатории Николас Метрополис и Стенли Френкель (англ.) посетили институт Мура, и Герман Голдстайн вместе со своей женой Адель, которая работала в команде программистом и была автором первого руководства по работе с ЭНИАКом[1], познакомили их с техникой программирования ЭНИАКа. После этого они вернулись в Лос-Аламос, где стали работать над программой под названием «The Los Alamos Problem».
Производительность ЭНИАКа был слишком мала для полноценной симуляции, поэтому Метрополис и Френкель сильно упростили уравнение, игнорируя многие физические эффекты и стараясь хотя бы приблизительно рассчитать лишь первую фазу взрыва дейтерий-тритиевой смеси в одномерном пространстве. Детали и результаты выполненных в ноябре-декабре 1945 года расчетов до сих пор засекречены. Перед ЭНИАКом была поставлена задача решить сложнейшее дифференциальное уравнение, для ввода исходных данных к которому понадобилось около миллиона перфокарт. Вводная задача была разбита на несколько частей, чтобы данные могли поместиться в память компьютера. Промежуточные результаты выводились на перфокарты и после перекоммутации снова заводились в машину. В апреле 1946 года группа Теллера обсудила результаты и расчетов и сделала вывод, что они достаточно обнадеживающе хотя и очень приблизительно доказывают возможность создания водородной бомбы.
На обсуждении результатов расчета присутствовал Станислав Улам. Пораженный скоростью работы ЭНИАКа он предложил сделать расчеты по термоядерному взрыву методом Монте-Карло. В 1947 году на ЭНИАКе было выполнено 9 расчетов этим методом с различными исходными параметрами. После этого метод Монте-Карло стал использоваться во всех вычислениях, связанных с разработкой термоядерного оружия.
Британский физик Дуглас Хартри в апреле и июле 1946 года решал на ЭНИАКе проблему обтекания воздухом крыла самолета, движущегося быстрее скорости звука. ЭНИАК выдал ему результаты расчетов с точностью до седьмого знака. Об этом опыте работы Хартри написал в статье в сентябрьском выпуске журнала Nature за 1946 год[2].
В 1949 году фон Нейман использовал ЭНИАК для расчета числа пи и е с точностью до 2000 знаков после запятой. фон Неймана интересовало статистическое распределение цифр в этих числах. Предполагалось, что цифры в этих числах появляются с равной вероятностью, а значит компьютеры могут генерировать действительно случайные числа, которые можно использовать как вводные параметры для вычислений методом Монте-Карло. Вычисления для числа е были выполнены в июле 1949 года, а для числа пи — за один день в начале сентября. Результаты показали, что «цифры в числе пи идут в случайном порядке, а вот с числом е все обстояло значительно хуже»[3].
Первый успешный численный прогноз погоды был произведен в 1950 году командой американских метеорологов — Жюлем Чарни (англ.), Филипом Томсоном, Ларри Гейтсом, норвежцем Рагнаром Фьюртофтом (англ.) и математиком Джоном фон Нейманом с использованием ENIAC. Они использовали упрощенные модели атмосферных потоков на основе баротропного уравнения вихря скорости. Это упрощение понизило вычислительную сложность задачи и позволило произвести расчеты с использованием доступных в то время вычислительных мощностей[4]. Описание расчетов и анализ результатов были представлены в работе «Numerical Integration of Barotropic Vorticity Equation»[5], опубликованной 1 ноября 1950 года в журнале Tellus. В статье упоминается, что прогноз погоды на следующие 24 часа на ЭНИАКе был выполнен за 24 часа, то есть прогноз едва успевал за реальностью. Большая часть времени уходила на распечатку перфокарт и их сортировку. При должной оптимизации работы ЭНИАКа, говорилось в работе, расчет можно было бы выполнить за 12 часов, а при использовании более совершенных машин — за 30 минут. Для прогноза использовались карты погоды над территорией США и Канады за 5, 30, 31 января и 13 февраля 1949 года. После расчетов прогнозные карты сравнивались с реальными для оценки качества прогноза.
Характеристики, архитектура и программирование
На создание ENIAC ушло 200.000 человеко-часов и 486.804,22 доллара США. Всего комплекс включал 17468 ламп 16 различных типов, 7200 кремниевых диодов, 1500 реле, 70000 резисторов и 10000 конденсаторов.
- Вес — 27 тонн
- Объём памяти: 20 число-слов
- Потребляемая мощность — 174 кВт
- Вычислительная мощность — 357 операций умножения или 5000 операций сложения в секунду
- Тактовая частота — 100 kHz, то есть один импульс каждые 10 микросекунд. Основной вычислительный такт состоял из 20 импульсов и занимал 200 микросекунд. Сложение выполнялось за 1 такт, умножение — за 14 тактов. Умножение заменялось многократным сложением, так что 1 умножение равнялось 14 операциям сложения и выполнялось соответственно за 2.800 микросекунд
- Устройство ввода-вывода данных: табулятор перфокарт компании IBM — 125 карт/минуту на ввод, 100 карт/минуту на вывод[6]
Вычисления производились в десятичной системе, после тщательного анализа ей было отдано предпочтение перед двоичной системой в связи с тем, что для реализации устройств оперирующих с двоичными числами требовалось значительно меньшее количество ламп. Компьютер оперировал числами максимальной длинной в 20 разрядов [7].
Многие специалисты Института скептически предсказывали, что при таком количестве ламп в системе компьютер просто не сможет работать сколь-нибудь продолжительное время, чтобы выдать стоящий результат — слишком много точек отказа. Выход из строя одной лампы, одного конденсатора, или резистора, значил останов работы всей машины, и по теории вероятности существовало 1.8 миллиардов вероятностей отказа в каждую секунду[8]. Для того, чтобы вакуумные лампы реже перегорали, Экерт придумал подавать на них минимальное напряжение, а после произведения вычислений ЭНИАК продолжал работать, поддерживая лампы в «теплом» состоянии, чтобы перепад температуры при охлаждении и накаливании не приводил к их перегоранию. Так инженеры добились того, чтобы ЭНИАК работал минимум 20 часов между поломками. Не так много по нынешним меркам, но за каждые 20 часов работы ЭНИАК выполнял месячный объём работы механических вычислителей.
До 1948 года для перепрограммирования ENIAC нужно было перекоммутировать его заново, в то время как Z3 умел считывать программы с перфорированной ленты. Программирование задачи на ЭНИАКе могло занимать до двух дней, а на её решение — несколько минут. При перекоммутировании ЭНИАК превращался как бы в новый специализированный компьютер для решения специфической задачи. Ещё на этапе конструирования ЭНИАКа Экерт и Мокли понимали недостатки своего детища, но на этапе проектирования они не считались критическими, поскольку компьютер изначально предназначался для выполнения однотипных баллистических расчетов[9].
В январе 1944 года, Экерт сделал первый набросок второго компьютера с более совершенным дизайном, в котором программа хранилась в памяти компьютера, а не формировалась с помощью коммутаторов и перестановки блоков, как в ЭНИАКе. Летом 1944 года военный куратор проекта Герман Голдстайн случайно познакомился со знаменитым математиком фон Нейманом и привлек его к работе над машиной. Фон Нейман внес свой вклад в проект с точки зрения строгой теории. Так был создан теоретический и инженерный фундамент для следующей модели компьютера под названием EDVAC с хранимой в памяти программой. Контракт с Армией США на создание этой машины был подписан в апреле 1946 года.
Научная работа фон Неймана «Первый проект отчёта о EDVAC (англ.)», обнародованная 30 июня 1945 года, послужила толчком к созданию вычислительных машин в США (EDVAC, BINAC, UNIVAC I) и в Англии (EDSAC). Из-за огромного научного авторитета идея о компьютере с программой, хранимой в памяти, приписывается фон Нейману («архитектура фон Неймана»), хотя приоритет на самом деле принадлежит Экерту, предложившему использовать память на ртутных акустических линиях задержки. Фон Нейман подключился к проекту позднее и просто придал инженерным решениям Мокли и Экерта академический научный смысл.
В июле 1953 года к ЭНИАКу подключен был модуль памяти на магнитных сердечниках, увеличивший объём оперативной памяти компьютера с 20 до 120 число-слов.
Влияние
ЭНИАК нельзя было назвать совершенным компьютером. Машина создавалась в военное время в большой спешке с нуля при отсутствии какого-либо предыдущего опыта создания подобных устройств. ЭНИАК был построен в единственном экземпляре, и инженерные решения, реализованные в ЭНИАКЕ, не использовались в последующих конструкциях компьютеров. ЭНИАК скорей компьютер не первого, а «нулевого» поколения. Значение ЭНИАКа заключается просто в его существовании, которое доказало возможность построения полностью электронного компьютера, способного работать достаточно продолжительное время, чтобы оправдать затраты на его постройку и принести ощутимые результаты.
В марте 1946 года Экерт и Мокли из-за споров с Пенсильванским университетом о патентах на ЭНИАК и на EDVAC, над которым они в то время работали, решили покинуть институт Мура и начать частный бизнес в области построения компьютеров. В качестве «прощального подарка» и по просьбе Армии США они прочитали в институте серию лекций о конструировании компьютеров под общим названием «Теория и методы разработки электронных цифровых компьютеров», опираясь на свой опыт построения ENIAC и проектирования EDVAC. Эти лекции вошли в историю как «Лекции Института Мура (англ.)». Лекции — по сути первые в истории человечества компьютерные курсы — читались летом 1946 года с 8 июля по 31 августа только для узкого круга специалистов США и Великобритании, работавших над той же проблемой в разных правительственных ведомствах и научных институтах, всего 28 человек. Лекции послужили отправной точкой к созданию в 40-х и 50-х года успешных вычислительных систем CALDIC, SEAC, SWAC, ILLIAC, машина Института перспективных исследований (англ.) и компьютер Whirlwind (англ.), использовавшийся ВВС США в первой в мире компьютерной системе ПВО SAGE.
Память о компьютере
- Некоторые детали компьютера ENIAC выставлены в Национальном Музее Американской истории (англ.) в Вашингтоне.
- В честь компьютера назван астероид (229777) ENIAC[10].
- В 1995 году был создан миниатюрный кремниевый чип ENIAC-on-A-Chip рамерами 7.44 мм х 5.29 мм, на котором с помощью 250 000 (в других источниках 174 569[9]) транзисторов была реализована логика, аналогичная 30-тонному ЭНИАКу. Чип работал на частоте 20Мгц, то есть значительно быстрее, чем ЭНИАК.[11]
См. также
- EDSAC — британский компьютер, первый реализовавший «архитектуру фон Неймна» (1948)
- EDVAC — следующий компьютер Института Мура, созданный для Армии США на принципах «архитектуры фон Неймана» (1949)
Литература
- Herman H. Goldstine. The Computer from Pascal to von Neumann. — Princeton University Press, 1980. — 365 p. — ISBN 9780691023670 (англ.)
- Scott McCartney. ENIAC: The Triumphs and Tragedies of the World’s First Computer. — Berkley Books, 2001. — 262 p. — ISBN 9780425176443 (англ.)
- Raúl Rojas, Ulf Hashagen. The First Computers: History and Architectures. — MIT Press, 2002. — 471 p. — ISBN 9780262681377 (англ.)
Примечания
ЭНИАК на Викискладе? |
- ↑ A REPORT ON THE ENIAC (Electronic Numerical Integrator and Computer) June 1, 1946
- ↑ The Eniac, an Electronic Computing Machine // Nature (12 October 1946) vol. 158. — p.500—506 [1]
- ↑ Nicholas Metropolis, George Reitwiesner, and John von Neumann, Statistical treatment of values of first 2000 decimal digits of e and of pi calculated on the ENIAC, Mathematical tables and other aids to Computations 4 (1950), no. 30, 109—112
- ↑ American Institute of Physics. Atmospheric General Circulation Modeling. 2008-01-13.
- ↑ Репринт работы Numerical Integration of Barotropic Vorticity Equation на сайте Университета Дублина
- ↑ ELECTRONIC COMPUTERS WITHIN THE ORDNANCE CORPS by Karl Kempf November 1961 Техническая спецификация ЭНИАКа
- ↑ Rojas, 2002, p. 130
- ↑ A Short History of the Second American Revolution
- ↑ 1 2 Rojas, 2002, p. 177
- ↑ База данных JPL НАСА по малым телам Солнечной системы (229777) (англ.)
- ↑ Jan Van Der Spiegel (1996-03). «ENIAC-on-a-Chip»
Ранние компьютеры |
---|
Z3 (1941) • Компьютер Атанасова—Берри (1942) • Colossus Mark 1 (1944) • Гарвардский Марк I (1944) • ЭНИАК (1946) • Манчестерская малая экспериментальная машина (1948) • EDSAC (1948) • EDVAC (1949) • Манчестерский Марк I (1949) • CSIRAC (1949) |