Текст книги "Размышления о думающих машинах. Тьюринг. Компьютерное исчисление"
Автор книги: авторов Коллектив
Жанры:
Математика
,сообщить о нарушении
Текущая страница: 4 (всего у книги 7 страниц)
Машина Lorenz SZ42.
Метод, используемый машиной Лоренца для шифровки сообщения, состоял в генерировании случайной пятибитной последовательности с помощью серии из 12 зубчатых колесиков (по-английски pinwheels), каждое из которых имело определенное количество контактов. Эти контакты могли быть в положении on(1) или off(0). Таким образом, при вращении получалась последовательность нулей и единиц, или бит. Если контакт был в активном состоянии, on, значение бита, соответствующего кодируемой букве, менялось: с 0 на 1, с 1 на 0. Когда контакт был в неактивном состоянии, off, значение сохранялось. Далее применялся булев оператор XOR («исключающее или») между каждым из битов знака и измененного знака. Таблица данного оператора может быть представлена в следующем виде.
А
в
A XOR B
0
0
0
0
1
1
1
0
1
1
1
0
Эта процедура повторялась несколько раз последовательно до трансформации исходного знака в другой в кодировке Бодо. Например, если мы хотим зашифровать фамилию TURING, сначала мы должны записать ее в виде кода Бодо. Получим последовательность 10000-00111-01010– -00110-01100-11010. Представим, что мы уже зашифровали последовательность знаков TURIN, а сейчас должны приступить к шифрованию последней буквы фамилии. Следующим шагом, если оператор машины настроил конфигурацию контактов диска, который мы назовем R1, как on-on-off-off-on, последовательность 11010, представляющая букву G, трансформируется в 00011, но такая последовательность соответствует букве А. Повторим эти шаги еще раз. Представим, что оператор машины настроил второй диск, который мы назовем R2, расположив контакты как on-off-on-off-on. В этом случае последний диск трансформирует последовательность 00011 и превратит ее в 10110, которая, согласно коду Бодо, соответствует Р. Таким образом, с помощью машины Лоренца мы зашифровали букву G как Р.
COLOSSUS: РОЖДЕНИЕ КОМПЬЮТЕРА
Часто оказывается так, что достижения науки и техники относятся к позитивным результатам военных конфликтов. Именно так произошло и с Colossus. В Блетчли-парке была создана первая электронная программируемая машина, которая с некоторыми ограничениями может называться компьютером. Если Bombe была ответом на «Энигму», Colossus стал ответом на Lorenz SZ 40/42. Машина Лоренца шифровала сообщения, используя последовательность случайных чисел. Эти числа получались с помощью электромеханического метода, в котором использовались шестеренки (pinwheels). К счастью, полученные таким способом числа имели псевдослучайный характер по сравнению с числами, которые вытаскивают из лотерейного барабана, поскольку существовали правила получения их последовательности. Этот факт обеспечил успешную расшифровку перехваченных сообщений.
Начинка Colossus была позаимствована у машин Робинсона, которые представляли собой семейство аппаратов, разработанных для расшифровки сообщений, кодированных машиной Лоренца. В машине Робинсона использовались две ленты: одна с зашифрованным сообщением, другая с последовательностью случайных чисел, полученных на дисковой системе, подобной машине Лоренца. Усовершенствование Colossus состояло в замене второй ленты – последовательности случайных чисел – электронными ламповыми комбинациями. Серьезным недостатком машин Робинсона было то, что вторая лента довольно часто и неожиданно рвалась, так как для чтения случайных чисел требовалась высокая скорость. Colossus не имел такого недостатка и мог считывать до пяти тысяч знаков в секунду, что было важным достижением той эпохи. Хотя лично Алан Тьюринг не участвовал в разработке Colossus, этой машиной занимались его учителя, среди которых Макс Ньюман, и коллеги из Блетчли-парка.
Первый вариант этого «компьютера» был создан Томми Флауэрсом (1905-1998), инженером Исследовательской станции Центрального почтамта. Он предложил новую идею, состоящую в использовании электронных ламп, тех же, что и в схемах первых радиоприемников. Так появился первый в истории электронный компьютер. Схема Colossus состояла из невероятного количества в 1500 ламп – именно они использовались в компьютерах, созданных до 1959 года.
ПОСЛЕДОВАТЕЛЬНОСТИ СЛУЧАЙНЫХ ЧИСЕЛ
Компьютер – это универсальная машина Тьюринга. При определенном его состоянии и передаче на вход определенных данных будут выполнены некоторые операции, что приведет к полностью предсказуемому результату. Например, если на листке для расчета бюджета мы запишем определенные числовые данные, input, то результат, output, будет всегда один и тот же. Одной из самых интересных задач науки со времен Джона фон Неймана, который одним из первых поднял этот вопрос, стало получение алгоритмов, генерирующих последовательность чисел случайно, как если бы мы доставали номера из лотерейного барабана. Если числа, получаемые путем доставания из барабана, называются случайными, то числа, выдаваемые компьютером, называются псевдослучайными. Компьютерная программа, с помощью которой мы можем получить такие числа, называется генератором случайных чисел. Псевдослучайные числа находятся в интервале [0,1]. Например, последовательность двенадцати чисел 0,092833; 0,472751; 0,542341; 0,022788; 0,069853; 0,317325; 0,808213; 0,225401; 0,633599; 0,133044; 0,530186,0,477541 получена в следующей программе на BASIC-256:
п=0
do
u=rand
print u
n=n+l
until n=12
Приведем другой пример: как можно с помощью данной программы сделать симуляцию игрального кубика? Мы просто заменим u=rand на и= =int (rand*6) + 1. Числа, получаемые с помощью программы, имеют определенные характеристики. В частности, они должны находиться в интервале между 0 и 1, должны быть независимы друг от друга, то есть если мы получаем число 0,808213, оно не должно влиять на следующее число последовательности, 0,225401. Также обязательным для таких чисел является условие равной возможности их получения. Любопытно, что эти числа по отдельности не являются случайными, их случайный характер проявляется только в последовательности, частью которой они являются и статистические характеристики которой подобны последовательности чисел, полученных с помощью механической системы лотерей. Сегодня существует возможность получить в интернете настоящие случайные числа, взятые из физических явлений, что заменяет алгоритм, подобный которому использовался в функции rand BASIC-256.
ЭЛЕКТРОННЫЕ ЛАМПЫ И ЛОГИЧЕСКИЕ ВЕНТИЛИ
Электронная лампа представляет собой вакуумную трубку, в которой имеются нить накаливания, испускающая электроны, – катод (отрицательный заряд), и металлическая пластинка, принимающая электроны, – анод (положительный заряд). В результате мы получаем ток электронов от катода при его накаливании к аноду. Так как ток проходит только в одном направлении, такая лампа реализует функцию важнейшего электронного компонента – диода. Впоследствии в диод добавили дополнительную нить – сетку между катодом, испускающим электроны, и анодом, получающим их. При приложении тока к сетке можно контролировать ток электронов от катода к аноду, увеличивая напряжение. Эта дополнительная нить лежала в основе нового изобретения – триода, электронного компонента, выполнявшего функцию современного транзистора. С помощью этих электронных компонентов можно создавать схемы, выполняющие арифметические операции, например суммирование, или логические операции, например сравнение чисел.
Два вида ламп: диод (слева) и триод (справа).
Нули и единицы
В компьютерах, в том числе в Colossus, арифметические и логические операции осуществляются на основании булевой алгебры, оперирующей битами, то есть числами 0 и 1, с применением к ним операторов, называемых на языке электроники вентилями. Предположим, ток в 0 В представляет число 0, а ток 3 В представляет 1. Следовательно, факт, проходит или не проходит электрический ток, определяет величина 0 или 1, а это один бит, то есть наименьшее количество информации, которую может обработать компьютер. Вентиль – электронная схема с диодами или транзисторами, в которой О или 1 на входе трансформируются на выходе также в 0 и 1 в результате применения одного из операторов булевой алгебры. Из всех возможных операторов самыми используемыми в цифровой электронике являются И и ИЛИ. Вентиль И, эквивалентный на логическом уровне союзу «и», на выходе дает 1, если на всех входах одновременно получено 1. С другой стороны, на выходе будет 0, если на одном или двух входах получен 0. Ниже приводится таблица и символ для этого вентиля.
А
B
А И В
0
0
0
0
1
0
1
0
0
1
1
1
Вентиль ИЛИ эквивалентен союзу «или», в этом случае на выходе будет 1, если на одном из двух либо на обоих входах было получено 1. Ниже приводится таблица и символ для этого вентиля.
А
B
А ИЛИ В
0
0
0
0
1
1
1
0
1
1
1
1
Ламповыми были первая версия Colossus, Mark 1, и следующая усовершенствованная версия, Mark 2, запущенная в 1944 году. Можно сказать, что если Алан Тьюринг занимался логическим обоснованием компьютеров, то Томми Флауэрс разработал hardware и, соответственно, электронные схемы, воплощающие в жизнь эти логические построения.
Одна из наиболее интересных цепей Colossus включала два класса электронных ламп: тиратроны и фотоэлектронные умножители, с помощью которых машина могла считывать знаки с бумажной ленты. Используя тиратрон, можно было записать 1 бит; соединив между собой несколько ламп, инженеры Блетчли-парка создали компьютерную память. Фотоэлектронный умножитель представлял собой лампу, работа которой была подобна фотоэлементу: сигнал в цепи анода значительно увеличивался под действием пучка света. Мощность Colossus благодаря использованию этих электронных компонентов во время Второй мировой войны была эквивалентна компьютеру с микропроцессором Pentium 2004 года выпуска. Удивительно, что Colossus в своих схемах использовал только два булевых оператора – И и ИЛИ.
Несмотря на то что Colossus, несомненно, являлся передовым инженерным достижением своей эпохи, его программирование было весьма примитивным по сравнению с современными компьютерами, так как для написания программы нужно было настроить множество клавиш и переключателей. При этом, хотя Colossus был программируемой машиной в строгом понимании этого слова, он не был компьютером, так как не был универсальной машиной Тьюринга. Colossus мог быть запрограммирован только для того, чтобы разрушать шифр, записанный на машине Lorenz SZ 40/42, то есть это не была машина для общих целей. В отличие от него, сейчас компьютер – это универсальная машина Тьюринга, для которой можно программировать на разных языках (С, Java, Virtual Basic и др.). Мы можем сделать вывод, что Colossus был частично программируемым квазикомпьютером, так как он выполнял только цели, для которых был разработан, а значит, не был универсальным. То, что в одном месте и в одно время оказались Алан Тьюринг и Colossus, подтолкнуло британскую науку к изучению электроники для оценки возможности создания настоящего компьютера. Именно в Блетчли-парке родилась мечта о создании универсальной машины Тьюринга. Со временем, когда был разработан и построен компьютер Pilot АСЕ, эта мечта нашла воплощение.
После окончания мировой войны из соображений безопасности Уинстон Черчилль отдал приказ уничтожить все машины Colossus, а также сжечь все описания их чертежей и схем. Эту неблагодарную работу выполнил Томми Флауэрс, помиловавший, однако, две машины, использовавшиеся во времена холодной войны и окончательно уничтоженные в 1960-е годы. Успех, достигнутый в Блетчли-парке с созданием Colossus, не был известен до 1976 года, когда специальным законом об официальной секретности были сняты ограничения на распространение данной информации. В течение долгих лет ENIAC, созданный в 1946 году в США, считался первым электронным компьютером в истории. Сегодня, после пересмотра исторических событий, это почетное место занимает Colossus, созданный в 1944 году. В Национальном музее вычислительной техники в Блетчли-парке публике представлены две реплики Colossus, построенные в 1996 и 2004 годах под руководством Тони Сейла (1931-2011), инженера-электронщика и историка информатики. Благодаря сообщениям, расшифрованным Colossus, стало известно, что Гитлер был введен в заблуждение относительно планируемых военных операций. Он думал, будто высадка союзников произойдет в Па-де-Кале, и отправил туда танковые дивизии. Военный кошмар закончился весной 1945 года самоубийством Гитлера. Однако летом того же года с нанесением ядерных ударов по Хиросиме и Нагасаки была открыта новая страшная страница в истории человечества. Затем началась новая эра – холодная война, и мир разделился на два больших лагеря: западный капиталистический и восточный коммунистический, которые находились в противостоянии с 1945 до 1989 года, когда пала Берлинская стена.
Глава 3
Первые компьютеры: британские или американские?
Во время работы в Блетчли-парке Тьюринг стал свидетелем появления Colossus. Этот факт, несомненно, стал сильным стимулом, который привел ученого к разработке своего первого компьютера Pilot АСЕ согласно собственным идеям и спецификациям.
В середине 1940-х – начале 1950-х годов создание разных моделей компьютеров по обе стороны Атлантики привело к полемике, которая до сих пор не дала ответа на вопрос, какая из стран стала первой в разработке и создании компьютеров.
После окончания Второй мировой войны Алан Тьюринг оставил Блетчли-парк и, как и остальные его товарищи, вернулся к гражданской жизни. К счастью, он получил приглашение от Национальной физической лаборатории (сокращенно по– английски NPL) в Лондоне, занимавшейся разработкой стандартов для науки и технологий. В то время во главе лаборатории стоял Чарльз Галтон Дарвин (1887-1962), внук Чарльза Дарвина (1809-1882), он и предложил Тьюрингу поучаствовать в разработке и создании компьютера. В 1946 году Тьюринг направил в NPL доклад с идеями, касавшимися практической реализации компьютера – машины, которую коллега Тьюринга Джон Уомерсли (1907-1958), начальник отдела математики лаборатории, назвал автоматической вычислительной машиной – Automatic Computing Engine (АСЕ). Слово engine (что в английском языке означает «двигатель») было принято в память о Чарльзе Бэббидже (1791-1871), создателе аналитической и дифференциальной машин, которые считаются предшественниками современных компьютеров. В своем докладе Тьюринг опередил время: он привел информацию о hardware, то есть об электронных схемах, а также о software, установив правила написания программ для компьютера АСЕ. Наконец ученому представился шанс совершить великий переход от теории к инженерному решению и провести в жизнь свою концепцию универсальных машин Тьюринга. Мечта становилась реальностью, воплощаясь в компьютер Pilot АСЕ.
ВОПЛОЩЕНИЕ МЕЧТЫ: PILOT АСЕ
В компьютерах, созданных в начале 1950-х годов, было два вида запоминающих устройств: лучевая катодная и ртутные трубки – с их помощью была разработана память с линией задержки. Инженеры той эпохи разработали вид памяти для хранения данных, который в качестве базового принципа использовал время, требующееся для распространения сигнала в физической среде, например ртути. Тьюринг для Pilot АСЕ выбрал ртутные линии задержки, так как они имели более высокую скорость восстановления данных и были более надежными. На концах ртутной линии располагались пьезоэлектрические элементы, как у микрофонов и громкоговорителей, выполняющие роль преобразователей, превращающих электрические импульсы в ультразвуковую волну (с частотой звука примерно 20000 Гц). После того как волна проходила через ртуть к другому концу трубки, она снова превращалась в электрические импульсы, направляемые на экран. В других компьютерах – EDSAC, CSIRAC и UNIVACI – также использовались ртутные трубки. Например, UNIVAC I, один из первых коммерческих компьютеров 1950-х годов, обладал семью резервуарами памяти, в каждом из которых находились 18 ртутных трубок. Скорость доступа к данным составляла 222 микросекунды – настоящее чудо для той эпохи. Каждая трубка могла хранить в памяти десять слов, например команды программы, длиной 12 бит.
Позже ртутные трубки заменили более передовым устройством, барабанами памяти. Это устройство памяти представляло собой металлический цилиндр с поверхностью, покрытой ферромагнитным слоем, сверху располагалась серия головок для чтения и записи. Магнитные барабаны были в ходу вплоть до начала 1960-х годов. В этом запоминающем устройстве для контроля его применения использовался метод чередования: расположение информации на барабане оптимизировалось для последовательного доступа, этот прием применяется на некоторых жестких дисках, при спутниковой или ADSL-передаче данных. С таким запоминающим устройством Pilot АСЕ мог хранить до 4096 последовательностей единиц и нулей. С тех пор в память об этом виде запоминающего устройства некоторые версии операционной системы Unix используют для управления виртуальной памятью директорию /dev/drum (drum – по-английски «барабан»). Благодаря всем этим характеристикам компьютер Тьюринга был одним из самых передовых в ту эпоху: объем его памяти приближался к объему памяти первых компьютеров Macintosh Apple.
Тьюрингу необычайно нравилось исследовать какую-либо тему, отходя от установленных принципов. Обычно он начинал предварительную работу над определенным вопросом без каких-либо консультаций. Несомненно, эта привычка придавала его трудам такое характерное свойство, как оригинальность.
Морис В. Уилкс об Алане Тьюринге. «Компьютеры, вчера и сегодня»
Управление памятью – это еще один вклад Алана Тьюринга в развитие информатики. Запись данных происходила с помощью так называемого метода двух направлений. Память компьютера логически организована как состоящая из ячеек. Положение каждой ячейки идентифицируется числом – адресом памяти. Команды, входящие в программу, например на языке BASIC-256 – print, dim или input, – составляют текст или ключевой код, то, что пишет программист и хранится в памяти компьютера после перевода в машинный код, представляющий собой последовательность единиц и нулей.
В компьютере, разработанном Тьюрингом, каждая команда ассоциировалась с адресом ячейки, где она хранилась, и с адресом следующей для выполнения инструкции. Английский ученый подчеркивал, что компьютер должен соответствовать двум требованиям: быстро выполнять программы и располагать достаточным объемом памяти. С тех пор все компьютеры стремились к максимальному удовлетворению этих критериев. Конструкционно компьютер был основан на электронных лампах в количестве около 800 штук – это было не очень много и повышало надежность, так как снижался риск того, что при работе одна или несколько ламп расплавятся и выполнение программы прервется. Частота в 1 мегагерц делала этот компьютер одним из самых быстрых в Соединенном Королевстве. При выполнении арифметических операций использовалась плавающая точка, то есть можно было, как и на современном компьютере, представить число с множеством десятичных знаков следующим образом: 6,127456 х 10~2 представляло число 0,06127456. Еще одним инновационным решением Тьюринга стала замена части hardware на software. Первые компьютеры использовали для выполнения операций умножения или деления электронные схемы. Так, в американских компьютерах часть задач, например арифметические операции, выполнялась электронными схемами, специально разработанными для этой цели. Тьюринг же заменил схемы программами, хранящимися в памяти, и эта идея была по-настоящему новой и более экономичной. Если мы перенесем данную идею на современный компьютер, то он благодаря частям software, называемым модулями, подпрограммами или приложениями, предложит нам игры и развлечения, поможет совершить подсчеты или воспроизвести видеоклип. Эта особенность в современных машинах унаследована именно от британских компьютеров. В 1947 году Тьюринг изобрел язык программирования, который назвал Abbreviated Code Instructions. Естественно, так как компьютер является универсальной машиной Тьюринга, ему требовался язык программирования для записи программ по каждой задаче.
РЕТРОКОМПЬЮТИНГ: ИСПОЛЬЗОВАНИЕ КОМПЬЮТЕРОВ ИЗ ПРОШЛОГО
Для настоящего любителя компьютеров нет ничего более увлекательного, чем попробовать поработать на старых, известных в истории отрасли компьютерах. Ретрокомпьютинг – это сборка старых компьютеров, включая software и периферийные устройства. Многие такие машины представлены в музеях, например Pilot АСЕ; другие, существовавшие в коммерческой версии, входят в частные коллекции, например Macintosh Classic или ZX Spectrum, или хранятся в собраниях исследовательских институтов, например PDP-11 в Digital Equipment Corporation. Попробовать, как работает старый компьютер, можно также с помощью эмуляторов. Чаще всего с этой целью используется SIMH – кроссплатформенный эмулятор, с помощью которого можно увидеть в работе компьютеры разных моделей PDP или Vax от Digital Equipment Corporation, модели Hewlett-Packard, Honeywell, IBM (1130 7090/7094) и другие. Сегодня очень много людей в мире увлекаются ретрокомпьютингом, что способствует лучшему пониманию истории и эволюции этих устройств.
Эмулятор компьютера Pilot АСЕ, разработанный Аланом Тьюрингом.
Несмотря на то что оригинальная версия компьютера была разработана Аланом Тьюрингом, его создание происходило очень медленно, и в 1948 году ученый оставил этот проект, а вместе с проектом – Лондон и NPL. Его сменил Джим Уилкинсон (1919-1986), специалист по математическому анализу, и 10 мая 1950 года Pilot АСЕ выполнил первую программу. В конце года компьютер был представлен публике и хорошо принят, так что ежедневная газета The London Times посвятила ему статью, в которой сравнивались время и ресурсы, требующиеся для выполнения подсчетов человеку и компьютеру. Весной 1951 года компьютер был введен в эксплуатацию, а использовался он до весны 1955-го. Сейчас он выставлен в Музее науки Лондона.
У Pilot АСЕ было несколько модификаций, которые продавались населению. Компьютеры DEUCE или Bendix G15, признанные первым персональным компьютером (ПК) в мире, продавались до 1970-х годов. Другим компьютером, унаследовавшим от Pilot АСЕ многие решения, был MOSAIC, использовавшийся Соединенным Королевством во время холодной войны. Любопытно, что требования Тьюринга к компьютерам стали стандартом для производителей. Так, Packard-Bell РВ250 был разработан на основе спецификаций ученого.
КТО ПРИДУМАЛ КОМПЬЮТЕР
После Второй мировой войны Соединенное Королевство было самой развитой страной в сфере создания компьютеров. Британия обладала такими моделями, как уже упомянутый Pilot АСЕ, а также Baby, Ferranti Mark I, созданные в Манчестерском университете.
Однако, несмотря на это технологическое превосходство, британцы быстро сдавали позиции как в развитии компьютерной индустрии, так и в разработке и продаже периферийных и программных продуктов. Почему же Соединенное Королевство уступило лидерство США? Эндрю Ходжес, биограф, который сегодня лучше всех знаком с жизнью и работами Алана Тьюринга, высказывает гипотезу о том, что британское правительство любой ценой хотело получить атомную бомбу. Это может показаться странным, однако две атомные бомбы, сброшенные США в 1945 году на японские города Хиросима и Нагасаки, стали не только одним из последних аккордов войны, но и положили конец британской гегемонии в мире, закат которой начался в викторианскую эпоху. Возникли две новые сверхдержавы: Советский Союз и Соединенные Штаты Америки. После окончания войны единственной страной, которая смогла сконструировать атомный реактор и атомное оружие, стали США. В 1946 году Штаты внесли в ООН предложение о контроле деятельности, связанной с ядерной энергией, и в него были включены пункты о геологоразведке урана и радиоактивных материалов. Это предложение было отвергнуто Советским Союзом, началась холодная война. Ответ американской стороны не заставил себя ждать: был принят закон Макмагона, предусматривавший смертную казнь для американских граждан, нарушивших секретность по ядерной программе. Этот закон также прекращал традиционное сотрудничество с Соединенным Королевством и другими союзниками в рамках ядерной программы. Британцы, со своей стороны, приступили к созданию собственной ядерной бомбы. По сути, Соединенное Королевство обладало достаточными компьютерными мощностями для проведения расчетов, необходимых для создания ядерного оружия.
Расхождения между двумя странами привели к тому, что в 1949 году британцы построили EDSAC (Electronic Delay Storage Automatic Computer). Этот компьютер был разработан специалистом по информатике Манчестерского университета Морисом Уилксом (1913-2010) и имел невероятное сходство с американским соперником – EDVAC, новой версией ENIAC, разработанной в Пенсильванском университете. EDSAC использовал электронные схемы и примерно три тысячи электронных ламп, мог выполнять суммирование за 1,4 миллисекунды. Его можно было программировать с помощью подпрограмм, то есть порций кода, представленных алгоритмами.
Например, с его помощью можно было решать интегралы и дифференциальные уравнения – два важнейших инструмента расчетов и моделирования в прикладной математике.
К этому времени по обе стороны Атлантики уже имелся довольно большой список компьютеров: Colossus, ENIAC, EDVAC, EDSAC, но все же какая из стран изобрела первый?
ENIAC: АМЕРИКАНСКИЙ МАСТОДОНТ
ENIAC (Electronic Numerical Integrator and Computer) имел циклопические размеры. Он работал на 18 тысячах электронных ламп, что вызывало частые сбои, весил 27 тонн, занимал площадь 167 м2. Его разработчиками были Джон Преспер Эккерт (1919-1995) и Джон Уильям Мокли (1907– 1980) из Пенсильванского университета. Компьютер запустили в эксплуатацию в феврале 1946 года. Он представлял собой программируемое устройство, предназначенное для военных целей, и использовался в лаборатории баллистических исследований. Если память компьютера Тьюринга, Pilot АСЕ, была примерно такой.же, как у Macintosh Apple, то расчетная мощность ENIAC была аналогична интегральным схемам 2004 года. При этом у ENIAC вообще не было основной памяти. Также он использовал десятичные числа, то есть знаки 0,1, 2,... 9 и их комбинации (например, 645), а не двоичный код (только 0 и 1), как современные компьютеры. Арифметические операции, например суммирование, выполнялись с помощью электронных эмуляторов колес и зубчатых передач старых вычислительных машин.
Тысячи компонентов
Как и британский Colossus, этот компьютер использовал вентили И и ИЛИ, созданные на основе цепи электронных ламп. Для программирования необходимо было соединить около шести тысяч переключателей и несколько сотен проводов. Имелась также система аккумуляторов, напоминающая ячейки Excel, с помощью которых можно было параллельно суммировать и вычитать величины, сохраняя результаты. Также можно было умножать, делить и извлекать квадратный корень, для этого аккумуляторы управлялись специальными модулями для умножения, деления и извлечения квадратного корня соответственно, к названным модулям добавлялись еще девять модулей. При соединении модулей друг с другом проводами получалась программа управления компьютером. Несмотря на эту чрезвычайную сложность, вызванную примитивностью конструкции, ENIAC мог выполнять пять тысяч простых сложений или вычитаний в секунду, 385 операций умножения, 40 операций деления и извлечение трех квадратных корней. При некоторой изобретательности, а также терпении можно было программировать повторяющиеся задачи или операторы цикла, похожие на оператор цикла for-to и условные операторы if-then. В 1948 году Джон фон Нейман изобрел устройство, аналогичное современной памяти ROM (ПЗУ, постоянное запоминающее устройство), или память только для чтения, которая была успешно применена на ENIAC. В1950 году в результате использования ENIAC в Соединенных Штатах появилась компания UNIVAC, с которой родилась современная компьютерная индустрия. Осенью 1955 года ENIAC был отключен. Так этот мастодонт, затмивший успехи британцев (Colossus, Pilot АСЕ, Baby, Ferranti Mark I), сыграл свою роль. Спустя годы UNIVAC передал пальму первенства IBM, а США с тех пор доминируют на мировом рынке компьютеров.
Компьютер ENIAC в Пенсильванском университете, США.
Согласно американским архивным документам, один из авторов ENIAC, Джон Уильям Мокли (1907-1980), вдохновился созданием другого компьютера под названием ABC (Atanasoff-Berry Computer), который был сконструирован инженером-электронщиком Джоном Винсентом Атанасовым (1903-1995) в Айовском университете с использованием нескольких сотен электронных ламп. Однако есть и те, кто защищает другую версию: первым компьютером был Mark I Говарда Эйкена (1900– 1973), построенный между 1939 и 1940 годами. Этот компьютер был создан в сотрудничестве с IBM, в нем использовались зубчатые механизмы, колеса и реле согласно идеям британского ученого Бэббиджа. С другой стороны, в Европе также появился первый компьютер – Colossus, при этом он не был универсальной машиной Тьюринга. Есть еще одна версия: первый компьютер создал в 1930-е годы немецкий студент инженерного факультета Конрад Цузе (1910-1995). Машина Цузе могла выполнять операции в двоичной системе исчисления с использованием реле, которые действовали как переключатели: они могли быть включены – состояние 1, или выключены – состояние 0. Первую машину Цузе собрал в спальне своих родителей, затем эта модель была улучшена, однако Вторая мировая война разрушила мечты конструктора. Подводя итог, мы можем сказать, что компьютер был британо-американским изобретением, задуманным для решения военных задач и реализованным в ходе Второй мировой войны и сразу после нее.
АРХИТЕКТУРА ДЖОНА ФОН НЕЙМАНА
Американский математик венгерского происхождения Джон фон Нейман (1903-1957), еще один гениальный исследователь, наравне с Аланом Тьюрингом внес огромный вклад в развитие информатики. Тьюринг и фон Нейман были старыми знакомыми еще со времен первой встречи в Принстонском университете в Нью-Джерси. Фон Нейману были прекрасно известны работы Тьюринга по вычислительной теории и его знаменитые машины, особенно его заинтересовала универсальная машина Тьюринга, изучением которой фон Нейман занимался на протяжении нескольких лет.
Алан Тьюринг (стоит) работает с двумя коллегами за компьютером Ferranti Mark I в Манчестерском университете в 1951 году.
1952 год, оператор управляет предварительной версией Pilot АСЕ – компьютера, разработанного Тьюрингом для общего применения.