Кто сформулировал принципы, положенные в основу создания современных компьютеров

Обновлено: 21.11.2024

Ко второму десятилетию XIX века в воздухе витало несколько идей, необходимых для изобретения компьютера. Во-первых, потенциальные выгоды для науки и промышленности от возможности автоматизировать рутинные вычисления были оценены так, как не были оценены столетием ранее. Были изобретены специальные методы, позволяющие сделать автоматические вычисления более практичными, такие как умножение путем сложения логарифмов или путем повторного сложения, и опыт работы как с аналоговыми, так и с цифровыми устройствами показал некоторые преимущества каждого подхода. Ткацкий станок Жаккарда (как описано в предыдущем разделе «Предшественники компьютеров») продемонстрировал преимущества управления многоцелевым устройством с помощью закодированных инструкций и продемонстрировал, как можно использовать перфокарты для быстрой и гибкой модификации этих инструкций. Именно математический гений в Англии начал складывать все эти кусочки воедино.

Машина различий

Чарльз Бэббидж был английским математиком и изобретателем: он изобрел скотовоза, реформировал британскую почтовую систему и был пионером в области исследования операций и актуарной науки. Именно Бэббидж первым предположил, что погоду прошлых лет можно узнать по годичным кольцам деревьев. Он также всю жизнь увлекался ключами, шифрами и механическими куклами.

Завершенная часть разностной машины Чарльза Бэббиджа, 1832 г. Этот усовершенствованный калькулятор предназначался для создания таблиц логарифмов, используемых в навигации. Значение чисел было представлено положениями зубчатых колес, отмеченными десятичными числами.

Как один из основателей Королевского астрономического общества, Бэббидж видел явную потребность в разработке и создании механического устройства, которое могло бы автоматизировать длительные и утомительные астрономические вычисления. Он начал с письма в 1822 году сэру Хамфри Дэви, президенту Королевского общества, о возможности автоматизации построения математических таблиц, в частности, таблиц логарифмов для использования в навигации. Затем он написал статью «О теоретических принципах машин для вычисления таблиц», которую он прочитал обществу позже в том же году. (Он получил первую золотую медаль Королевского общества в 1823 году.) Используемые в то время таблицы часто содержали ошибки, которые могли быть вопросом жизни и смерти для моряков в море, и Бэббидж утверждал, что, автоматизировав производство таблиц, он могли убедиться в их точности. Заручившись поддержкой в ​​обществе своей «Разностной машины», как он ее назвал, Бэббидж затем обратился к британскому правительству с просьбой о финансировании разработки, получив один из первых в мире государственных грантов на исследования и технологические разработки.

Бэббидж очень серьезно подошел к проекту: он нанял мастера-механика, устроил пожаробезопасную мастерскую и соорудил пыленепроницаемую среду для тестирования устройства. До этого расчеты редко проводились более чем с 6 цифрами; Бэббидж планировал регулярно получать 20- или 30-значные результаты. Разностная машина была цифровым устройством: она работала с дискретными цифрами, а не с гладкими величинами, а цифры были десятичными (0–9), представленными позициями на зубчатых колесах, а не двоичными цифрами, которые предпочитал (но не использовал) Лейбниц. . Когда одно из зубчатых колес поворачивалось от 9 до 0, это заставляло следующее колесо продвигаться на одну позицию, перенося цифру точно так же, как работал калькулятор Лейбница Step Reckoner.

Однако разностная машина представляла собой нечто большее, чем простой калькулятор. Он механизировал не просто один расчет, а целую серию расчетов с рядом переменных для решения сложной задачи. Он вышел далеко за рамки калькуляторов и в других отношениях. Как и современные компьютеры, разностная машина имела хранилище, то есть место, где данные могли временно храниться для последующей обработки, и была разработана для штамповки выходных данных в мягкий металл, который впоследствии можно было использовать для изготовления печатной формы.

Тем не менее, разностная машина выполнила только одну операцию. Оператор настраивал все свои регистры данных с исходными данными, а затем одна операция многократно применялась ко всем регистрам, что в конечном итоге приводило к решению. Тем не менее, по сложности и дерзости конструкции он затмил любое существовавшее тогда вычислительное устройство.

Полный движок размером с комнату никогда не создавался, по крайней мере, Бэббиджем. Хотя время от времени он получал несколько правительственных грантов — правительства менялись, финансирование часто заканчивалось, и ему приходилось лично нести часть финансовых расходов, — он работал в пределах допусков современных методов строительства и столкнулся с многочисленными трудностями при строительстве. трудности.Все проектирование и строительство прекратились в 1833 году, когда Джозеф Клемент, механик, ответственный за фактическое создание машины, отказался продолжать работу, если ему не внесли предоплату. (Завершенная часть разностной машины находится в постоянной экспозиции Музея науки в Лондоне.)

Аналитическая машина

Работая над разностной машиной, Бэббидж начал придумывать способы ее улучшения. В основном он думал об обобщении его работы, чтобы он мог выполнять другие виды вычислений. К тому времени, когда в 1833 году финансирование закончилось, он задумал нечто гораздо более революционное: вычислительную машину общего назначения под названием «Аналитическая машина».

Часть (завершена в 1910 г.) аналитической машины Чарльза Бэббиджа. Лишь частично построенная на момент его смерти в 1871 году, эта часть содержит «мельницу» (функционально аналогичную центральному процессору современного компьютера) и печатающий механизм.

Аналитическая машина должна была представлять собой полностью программно-управляемый автоматический механический цифровой компьютер общего назначения. Он сможет выполнять любые вычисления, установленные перед ним. До Бэббиджа не было никаких свидетельств того, что кто-либо когда-либо задумывал такое устройство, не говоря уже о попытках его построить. Машина была спроектирована так, чтобы состоять из четырех компонентов: мельницы, магазина, считывателя и принтера. Эти компоненты сегодня являются основными компонентами каждого компьютера. Мельница была вычислительной единицей, аналогичной центральному процессору (ЦП) в современном компьютере; хранилище было местом, где данные хранились перед обработкой, в точности аналогично памяти и памяти в современных компьютерах; а устройство чтения и принтер были устройствами ввода и вывода.

Как и в случае с Difference Engine, этот проект был намного сложнее, чем все, что было создано ранее. Магазин должен был быть достаточно большим, чтобы вместить 1000 50-значных номеров; это было больше, чем емкость любого компьютера, построенного до 1960 года. Машина должна была приводиться в движение паром и управляться одним помощником. Возможности печати также были амбициозными, как и для разностной машины: Бэббидж хотел максимально автоматизировать процесс, вплоть до печати таблиц чисел.

Еще одной новой функцией Analytical Engine стал модуль чтения. Данные (числа) должны были быть введены на перфокартах с использованием технологии чтения карт жаккардового ткацкого станка. Инструкции также должны были быть введены на карточках - еще одна идея, взятая непосредственно у Жаккара. Использование карточек с инструкциями сделало бы его программируемым устройством и гораздо более гибким, чем любая машина, существовавшая в то время. Еще одним элементом программируемости должна была быть его способность выполнять инструкции не в последовательном порядке. Он должен был иметь своего рода способность принимать решения при условной передаче управления, также известной как условное ветвление, благодаря чему он мог бы перейти к другой инструкции в зависимости от значения некоторых данных. Эта чрезвычайно мощная функция отсутствовала во многих первых компьютерах 20 века.

По большинству определений аналитическая машина была настоящим компьютером в том виде, в каком она понимается сегодня, или могла бы быть, если бы Бэббидж снова не столкнулся с проблемами реализации. На самом деле создание его амбициозного проекта было сочтено неосуществимым, учитывая современные технологии, и неспособность Бэббиджа сгенерировать обещанные математические таблицы с помощью своей разностной машины ослабила энтузиазм по поводу дальнейшего государственного финансирования. Действительно, британскому правительству было очевидно, что Бэббидж больше интересовался инновациями, чем составлением таблиц.

Тем не менее, аналитическая машина Бэббиджа была чем-то новым на свете. Его самой революционной особенностью была возможность изменить его работу, изменив инструкции на перфокартах. До этого прорыва все механические вспомогательные средства для вычислений были просто калькуляторами или, как разностная машина, прославленными калькуляторами. Аналитическая машина, хотя и не завершенная, была первой машиной, заслужившей право называться компьютером.

Леди Лавлейс, первый программист

Различие между калькулятором и компьютером, хотя и ясное для Бэббиджа, не было очевидным для большинства людей в начале 19 века, даже для интеллектуально предприимчивых посетителей вечеров Бэббиджа, за исключением молодой девушки необычного происхождения и образования.

Ни энциклопедия, ни Google не могут ответить на такие простые вопросы, как этот: кто изобрел первый компьютер? Если мы начнем копать глубже, то вскоре найдем много разных ответов, и большинство из них правильные. Поиск ответа приглашает нас вернуться к истории вычислительной техники, встретиться с ее пионерами и обнаружить, что до сих пор не совсем ясно, что такое компьютер.

Чарльз Бэббидж и механический компьютер

До Бэббиджа компьютеры были людьми. Так называли людей, специализирующихся на численных вычислениях, — тех, кто проводил долгие часы, выполняя арифметические операции, повторяя процессы снова и снова и оставляя результаты своих вычислений в виде таблиц, которые были собраны в ценных книгах. Эти таблицы значительно облегчили жизнь другим специалистам, чья работа заключалась в том, чтобы использовать эти результаты для решения всевозможных задач: от артиллерийских офицеров, решивших, как наводить пушки, до сборщиков налогов, рассчитывавших налоги, до ученых, предсказывающих приливы или движение звезд на небе.

Таким образом, в конце XVII века Наполеон поручил Гаспару де Прони (22 июля 1755 – 29 июля 1839 года) революционную задачу по созданию самых точных логарифмических и тригонометрических таблиц (с числом знаков после запятой от 14 до 29). сделано, чтобы уточнить и облегчить астрономические расчеты Парижской обсерватории и иметь возможность унифицировать все измерения, сделанные французской администрацией. Для этой колоссальной задачи де Прони пришла в голову блестящая идея разделить самые сложные вычисления на более простые математические операции, которые могли бы выполняться менее квалифицированными человеческими компьютерами. Этот способ ускорить работу и избежать ошибок был одной из вещей, которые вдохновили английского эрудита Чарльза Бэббиджа (26 декабря 1791 - 18 октября 1871) сделать следующий шаг: заменить человеческие компьютеры машинами.

Многие считают Бэббиджа отцом вычислительной техники из-за этого видения, которое так и не сбылось благодаря его усилиям. Его первой попыткой была разностная машина, которую он начал строить в 1822 году, основываясь на принципе конечных разностей, для выполнения сложных математических вычислений посредством простой серии сложений и вычитаний, избегая умножения и деления. Он даже создал небольшой калькулятор, который доказал, что его метод работает, но он не смог построить дифференциальную машину, чтобы заполнить эти желанные логарифмические и тригонометрические таблицы точными данными. Леди Байрон, мать Ады Лавлейс, утверждала, что видела действующий прототип в 1833 году, хотя и ограниченный как по сложности, так и по точности, но к тому времени Бэббидж уже исчерпал финансирование, предоставленное британским правительством.

Реплика, созданная Лондонским музеем науки на основе чертежей разностной машины № 2 Чарльза Бэббиджа. Фото: Музей науки

Далеко не обескураженный этой неудачей, математик, философ, инженер и изобретатель Чарльз Бэббидж удвоил усилия. Он сосредоточил всю свою энергию на разработке аналитической машины, которая была гораздо более амбициозной, поскольку могла выполнять еще более сложные вычисления путем вычисления операций умножения и деления. И снова Бэббидж так и не прошел стадию проектирования, но именно те разработки, которые он начал в 1837 году, сделали его, возможно, не отцом вычислительной техники, но определенно пророком того, что должно было произойти.

Тысячи страниц аннотаций и набросков Бэббиджа об аналитической машине содержали компоненты и процессы, которые являются общими для любого современного компьютера: логическое устройство для выполнения арифметических вычислений (эквивалент процессора или центрального процессора), управляющая структура с инструкциями, циклы и условное ветвление (как язык программирования), а также хранение данных на перфокартах (ранняя версия памяти), идея, которую он позаимствовал из машины Жаккарда. Бэббидж даже думал записывать результаты вычислений на бумагу, используя устройство вывода, которое было предшественником современных принтеров.

Братья Томсон и аналоговые компьютеры

В 1872 году, через год после смерти Чарльза Бэббиджа, великий физик Уильям Томсон (лорд Кельвин) изобрел машину, способную выполнять сложные вычисления и предсказывать приливы и отливы в заданном месте. Он считается первым аналоговым компьютером, разделив почести с дифференциальным анализатором, созданным в 1876 году его братом Джеймсом Томсоном. Последнее устройство было более продвинутой и полной версией, позволявшей решать дифференциальные уравнения путем интегрирования с использованием колесных и дисковых механизмов.

Деталь гармонического анализатора лорда Кельвина, используемого для математического предсказания приливов и отливов. Предоставлено: Музей науки

Однако прошло еще несколько десятилетий, прежде чем в XX веке Х. Л.Хейзен и Ванневар Буш усовершенствовали идею механического аналогового компьютера в Массачусетском технологическом институте. Между 1928 и 1931 годами они построили дифференциальный анализатор, который был действительно практичным, поскольку его можно было использовать для решения различных задач, и поэтому, следуя этому критерию, его можно было считать первым компьютером.

Тьюринг и универсальная вычислительная машина

К этому моменту эти аналоговые машины уже могли заменить человеческие компьютеры в некоторых задачах и считать все быстрее и быстрее, особенно когда их механизмы начали заменяться электронными компонентами. Но у них все же был один серьезный недостаток. Они были разработаны для выполнения одного типа расчетов, и если они должны были использоваться для другого, их шестерни или цепи должны были быть заменены.

Так было до 1936 года, когда молодой английский студент Алан Тьюринг придумал компьютер, способный решать любую задачу, которую можно было бы перевести в математические термины и затем свести к цепочке логических операций с двоичными числами, в которых можно было принять только два решения: истинно или ложно. Идея заключалась в том, чтобы свести все (цифры, буквы, картинки, звуки) к цепочкам единиц и нулей и использовать рецепт (программу) для решения проблем очень простыми шагами. Цифровой компьютер родился, но пока это была только воображаемая машина.

Вакуумные трубки и разъемы от компьютера Pilot ACE, разработанного Аланом Тьюрингом. Предоставлено: Музей науки

Аналитическая машина Бэббиджа, вероятно, соответствовала бы (почти столетием раньше) условиям универсальной машины Тьюринга… если бы она когда-либо была построена. В конце Второй мировой войны, во время которой он помог расшифровать код Enigma нацистских закодированных сообщений, Тьюринг создал один из первых компьютеров, подобных современным, Автоматическую вычислительную машину, которая в помимо того, что он был цифровым, его можно было программировать; другими словами, его можно использовать для многих целей, просто изменив программу.

Цузе и цифровой компьютер

Хотя Тьюринг установил, как должен выглядеть компьютер в теории, он не был первым, кто применил это на практике. Эта честь достается инженеру, который не сразу получил признание, отчасти потому, что его работа финансировалась нацистским режимом в разгар мировой войны. 12 мая 1941 года Конрад Цузе закончил Z3 в Берлине, который был первым полностью функциональным (программируемым и автоматическим) цифровым компьютером. Как позже сделали бы пионеры Силиконовой долины, Цузе успешно построил Z3 в своей домашней мастерской, сумев сделать это без электронных компонентов, но с использованием телефонных реле. Таким образом, первый цифровой компьютер был электромеханическим, и он не был преобразован в электронную версию, потому что правительство Германии исключило его финансирование, так как он не считался «стратегически важным» в военное время.

На другой стороне войны союзные державы придавали большое значение созданию электронных компьютеров с использованием тысяч электронных ламп. Первым был ABC (Компьютер Атанасова-Берри), созданный в 1942 году в Соединенных Штатах Джоном Винсентом Атанасоффом и Клиффордом Э. Берри, который, однако, не был ни программируемым, ни «полным по Тьюрингу». Тем временем в Великобритании двое коллег Алана Тьюринга — Томми Флауэрс и Макс Ньюман, которые также работали в Блетчли-парке над расшифровкой нацистских кодов, — создали «Колосс», первый электронный, цифровой и программируемый компьютер. Но в «Колоссе», как и в ABC, отсутствовала последняя деталь: он не был «полным по Тьюрингу».

Рабочая копия Z3 Цузе, первого полностью программируемого и автоматического компьютера. Предоставлено: Немецкий музей

Первым компьютером, который был завершен по Тьюрингу и обладал четырьмя основными характеристиками наших нынешних компьютеров, был ENIAC (электронный числовой интегратор и компьютер), тайно разработанный армией США и впервые запущенный в работу в Пенсильванском университете. 10 декабря 1945 г. с целью изучения возможности создания водородной бомбы. Для выполнения других расчетов пришлось изменить его «программу», то есть вручную переставить множество кабелей и переключателей. ENIAC, разработанный Джоном Мочли и Дж. Преспером Эккертом, занимал площадь 167 м2, весил 30 тонн, потреблял 150 киловатт электроэнергии и содержал около 20 000 электронных ламп.

ENIAC вскоре превзошел другие компьютеры, которые хранили свои программы в электронной памяти. Вакуумные лампы были заменены сначала транзисторами, а затем и микрочипами, с которых началась гонка миниатюризации компьютеров.Но эта гигантская машина, построенная великим победителем Второй мировой войны, положила начало нашему цифровому веку. В наши дни его единодушно считали бы первым настоящим компьютером в истории, если бы не Конрад Цузе (1910–1995), решивший в 1961 году реконструировать свой Z3, разрушенный бомбежкой в ​​1943 году. Немецкий музей в Мюнхене, где он находится сегодня. Прошло несколько десятилетий, пока в 1998 году мексиканский ученый-компьютерщик Рауль Рохас не предпринял попытку подробно изучить Z3 и сумел доказать, что он может быть «полным по Тьюрингу», что даже его тогдашний покойный создатель не рассматривал. .

Сосредоточившись на том, чтобы все заработало, Цузе так и не узнал, что в его руках находится первая универсальная вычислительная машина. На самом деле, он никогда не заставлял свое изобретение работать таким образом… Итак, Чарльз Бэббидж, Конрад Цузе или Алан Тьюринг изобретатель компьютера? Был ли Z3, Colossus или ENIAC первым современным компьютером? Это зависит. Вопрос остается сегодня таким же открытым, как и этот: что делает машину компьютером?

В конце этого месяца (28 декабря) исполняется 100 лет со дня рождения Джона фон Неймана, американского математика венгерского происхождения, который, среди своих многочисленных достижений, был автором основного принципа проектирования компьютеров, известного как "фон Нейманн". архитектура." Компьютеры фон Неймана — предки современных настольных ПК и ноутбуков.

Основная особенность компьютера фон Неймана заключается в том, что программа и любые данные хранятся вместе, обычно на медленно доступном носителе данных, таком как жесткий диск, и передаются по мере необходимости на более быстрый и более изменчивый носитель. носитель данных (ОЗУ) для выполнения или обработки центральным процессором (ЦП). Поскольку так работают практически все современные компьютеры, термин «архитектура фон Неймана» сейчас редко используется, но он был в обиходе в компьютерной профессии до начала 1970-х годов. Когда фон Нейман предложил эту архитектуру в 1945 году, это была радикальная идея. До этого программы рассматривались как часть машины и, следовательно, отличались от данных, с которыми машина работала. Обычный подход заключался в том, чтобы ввести программу с помощью каких-либо физических средств, таких как подключение коммутационной панели, а затем ввести данные для обработки программой.

В 1945 году в первом черновике отчета о EDVAC [планируемом преемнике ENIAC, одном из первых американских компьютеров] фон Нейман предложил концепцию хранимой программы. Идея выросла из обсуждений, которые он провел с несколькими другими пионерами компьютерных технологий, среди которых Дж. Преспер Эккерт, Джон Мочли, Артур Беркс и Герман Голдстайн, которые работали над планами EDVAC. То, что должно было стать известно как архитектура фон Неймана, впоследствии было более полно изложено в статье 1946 года, написанной фон Нейманом, Берксом и Голдстайном, под названием «Предварительное обсуждение логической конструкции электронного вычислительного инструмента».

[Справедливости ради следует отметить, что другие упомянутые выше компьютерные пионеры — и еще несколько, которых я не перечислил, — принимали активное участие в разработке архитектуры, которая должна была носить имя фон Неймана. Фон Нейман в какой-то степени получил главную заслугу, потому что он был тем, кто документировал идеи, разрабатывал концепции и взял на себя ответственность рассказать остальному миру о своей работе. Но в основном он получил славу, потому что уже был известен и по своей природе притягивал внимание публики, о чем я еще расскажу чуть позже.]

Строго говоря, в компьютере фон Неймана есть нечто большее, чем просто тот факт, что инструкции и данные хранятся на одном носителе. Согласно оригинальным документам, предлагающим новую архитектуру, компьютер фон Неймана состоит из пяти частей: арифметико-логического блока, блока управления, памяти, некоторой формы ввода-вывода и шины, обеспечивающей путь данных между этими частями. Такой компьютер работает, выполняя следующую последовательность шагов:

<Цитата>1. Выбрать следующую инструкцию из памяти по адресу счетчика команд. <р>2. Добавьте длину инструкции к программному счетчику. <р>3. Расшифруйте инструкцию с помощью блока управления. Блок управления дает команду остальной части компьютера выполнить некоторую операцию. Инструкция может изменить адрес в программном счетчике, разрешая повторяющиеся операции. Команда также может изменить программный счетчик только в том случае, если какое-либо арифметическое условие истинно, дающее эффект решения, которое может быть вычислено с любой степенью сложности с помощью предшествующей арифметики и логики. <р>4. Вернитесь к шагу 1.

Даже на заре вычислительной техники очень немногие компьютеры имели чистую фон-неймановскую архитектуру, а сегодня, насколько мне известно, таких нет. Например, инженеры обычно добавляют еще один шаг для проверки прерываний, что позволяет компьютеру заниматься другими делами, пока он ожидает завершения событий.

У компьютеров фон Неймана есть некоторые недостатки.В частности, они выполняют инструкции одну за другой, в единой линейной последовательности, и тратят много времени на перемещение данных в память и из памяти. Это замедляет работу компьютера — проблема, называемая узким местом фон Неймана. Один из способов обойти узкое место фон Неймана — построить компьютер таким образом, чтобы он выполнял операции параллельно (так называемая параллельная обработка). Другой распространенный прием состоит в том, чтобы разделить шину на две или более шин, одну для инструкций, другую для данных. Но такие модификации на самом деле представляют собой не более чем вариации исходной архитектуры. Во всех отношениях компьютер на вашем столе сегодня — это машина фон Неймана.

Компьютер EDVAC, когда он был окончательно построен в 1952 году, следовал проекту фон Неймана, но первым компьютером фон Неймана, который был сконструирован и работал, был Manchester Mark I, разработанный и построенный в Манчестерском университете в Англии, на котором работал его первый компьютер. программа в 1948 году. Она имела память на 96 слов и выполняла инструкцию за 1,2 миллисекунды. Хотя в то время такая производительность считалась феноменальной, в сегодняшней терминологии «MIPS» — миллионы операций в секунду — Mark I оценивался бы как мучительно медленный 0,00083 MIPS. Напротив, чип IBM G5, на котором работают новейшие компьютеры Macintosh, работает со скоростью 1000 MIPS, что более чем в миллион раз быстрее.

****************************** Джон фон Нейман, урожденный Янош Ньюманн, родился в Будапеште, Венгрия, 28 декабря 1903 г., был старшим из три брата. Его отец, Макс Нойманн, был банкиром, мать, Маргит, происходила из богатой еврейской семьи Канн. В детстве в Венгрии Яноша звали уменьшительной формой его имени Янчи. Позже, когда он стал взрослым, живущим в США, друзья стали называть его Джонни.

Семья не была особо религиозной, и когда во втором десятилетии двадцатого века по всей Европе начал расти антисемитизм, они стали номинально католиками. В 1913 году его отец также приобрел титул, дав семье имя «Нойман фон Маргитта», которое взрослый Джон позже сократил до «фон Нейман».

Джон был не по годам развит интеллектуально и обладал фотографической памятью. В детстве он научился говорить на немецком, французском и классическом греческом языках и накопил энциклопедические знания об исторических событиях. Его любимым трюком на вечеринках было запоминание страницы телефонной книги. Он просил посетителя дома Нойманов выбрать страницу книги, которую затем прочитывал несколько раз. Затем он возвращал книгу посетителю и просил его опросить его на странице, скажем, дав ему имя и попросив номер телефона или заставив его назвать последовательность имен, адресов и номеров по порядку. Он редко ошибался.

Когда Джон в возрасте 8 лет поступил в местную школу в 1911 году, учитель математики сразу признал его гениальность и договорился о специальном обучении у Габора Сего, известного математика из Будапештского университета. Этому, несомненно, облегчал тот факт, что в той же школе, всего на год раньше Джона, учился еще один будущий математический гигант, Юджин Вигнер. К тому времени, когда Джон закончил среднюю школу в 1921 году, его способности в математике были очевидны всем, и он был принят изучать математику в Будапештский университет.

К сожалению, любовь Джона к математике не встретила одобрения его отца, когда он решил, что изучать в университете. Макс Нойманн хотел, чтобы его сын подготовился к карьере в бизнесе. Когда Джон ясно дал понять, что изучение бизнеса ему не по душе, отец и сын остановились на химии как на компромиссном предмете. Итак, Джон поступил в Берлинский университет, чтобы специализироваться на химии, чтобы угодить своему отцу, и в то же время поступил в Будапештский университет, чтобы изучать математику, договорившись о дистанционном обучении у молодого ассистента. Отсутствие возможности посещать лекции по математике в Будапеште явно не мешало прогрессу Джона; в следующем году он вместе со своим наставником написал свою первую работу по математике. В 1926 году он получил диплом инженера-химика Цюрихского университета, куда он перевелся из Берлина в 1923 году, и степень доктора математики в Будапеште. Темой его дипломной работы по математике была теория множеств, фундаментальный предмет которой в то время все еще находился в зачаточном состоянии.

К двадцати пяти годам фон Нейман (теперь явно математик, а не химик) стал знаменитостью в области математики, известной всему международному математическому сообществу. После получения докторской степени. он провел год с великим Давидом Гильбертом в Геттингене и читал лекции в Берлине и Гамбурге. В дополнение к своей работе по теории множеств он проделал новаторскую работу по теории меры, теории действительных переменных и теории игр.Не удовлетворившись этим, он также обратил свое внимание на квантовую теорию, где за два года, с 1927 по 1929 год, более или менее в одиночку разработал всю математическую основу предмета, новаторскую работу, которая привела к приглашению в Принстон. . Его исследовательская работа в начале европейской части его профессиональной карьеры составляла около одной статьи в месяц. (Комитеты по постоянству в современных университетах обычно рассматривают одну или две статьи в год как показатель хорошего математического исследователя!)

Фон Нейман отправился в Принстон в 1930 году, через год после того, как женился на своей невесте Мариетте Ковеси, блестящем студенте-экономисте Будапештского университета и ведущей фигуре в общественной ночной жизни венгерской столицы. В Принстоне он стал одним из шести профессоров-основателей математики (вместе с Альбертом Эйнштейном) недавно созданного Института перспективных исследований. Хотя возвышение Адольфа Гитлера в Германии в конечном итоге сделало невозможным его возвращение в Европу, даже для коротких визитов, как он делал каждое лето в начале 1930-х годов, причина, по которой он сделал Принстон своим постоянным домом, что он и сделал, была полностью академической; он не был беженцем.

У фон Неймана и Мариэтты в 1936 году родилась дочь Марина, но в следующем году их брак распался. Через год он женился на Кларе Дан, дважды разведенной венгерке, с которой познакомился во время одного из своих летних визитов в Европу. Позже в Соединенных Штатах Клара стала одним из первых в мире программистов, написав код для решения математических задач на компьютерах.

Всегда гурман и жизнерадостный человек, фон Нейман был стильным, хотя и консервативным дизайнером, которого легко можно было принять за богатого управляющего банком. Он проявлял большой интерес к людям, был неизлечимым сплетником и прекрасным рассказчиком. Он также имел репутацию человека с явно приземленным чувством юмора. Фон Нейманы привнесли в Принстон немного колорита ночной жизни в стиле Карбаре, которую Джон нашел такой соблазнительной в Берлине в 1920-х годах. Долгие шумные вечеринки, которые он и Клара регулярно устраивали в их доме в Принстоне, вскоре стали известными.

С ростом вероятности войны в конце 1930-х годов фон Нейман начал больше концентрироваться на прикладных областях математики, будучи уверенным, что математика сыграет важную роль в, казалось бы, неизбежном грядущем конфликте, что на самом деле и произошло. Он проводил исследования нелинейных дифференциальных уравнений в частных производных, которые возникают в гидродинамике и теории ударных волн, работа, которая привела к его участию в Манхэттенском проекте по разработке первой атомной бомбы. Его исследования в этой области привели к убеждению, что ключ лежит в разработке численных методов решения уравнений (в отличие от использования классических методов исчисления, которые обычно не подходят для задач, возникающих в реальной жизни). Использование методов численного решения потребовало создания вычислительных устройств для выполнения численных расчетов, что привело к еще одному интересу, который он начал преследовать с удвоенной силой. Вскоре он стал делить большую часть своего времени между двумя областями: проектированием компьютеров и теорией игр. Этот последний предмет, по сути созданный публикацией в 1944 году классической книги фон Неймана с Оскаром Могернштерном «Теория игр и экономическое поведение», должен был стать основой как экономики, так и политического/военного планирования.

В результате его работы в военное время, в начале периода холодной войны, фон Нейман пользовался большим спросом в качестве консультанта вооруженных сил, и ему явно нравилось ходить по коридорам или власти - и общественной жизни, которая может пойти с такими мероприятиями для тех, у кого есть вкус к светской жизни. Среди многих должностей, которые он занимал в 1040-х и 50-х годах, он был членом Научного консультативного комитета в Лабораториях баллистических исследований на Абердинском испытательном полигоне в Мэриленде, членом Управления артиллерийского вооружения ВМФ, консультантом Лос-Аламосской научной лаборатории. Лаборатория, участник Проекта специального оружия Вооруженных сил и член Комиссии по атомной энергии. В то же время он получил множество наград от математического сообщества, включая избрание в Национальную академию наук и должность президента Американского математического общества с 1951 по 1953 год. Он был награжден медалью США за заслуги в 1947 году и медалью США. за свободу в 1956 году.

Джон фон Нейман умер от рака 8 февраля 1957 года в возрасте всего 54 лет. Это трагически ранний возраст для того, чтобы мир потерял одного из настоящих гигантов науки ХХ века.

Угол Девлина обновляется в начале каждого месяца. Математик Кит Девлин ( [email protected] ) является исполнительным директором Центра изучения языка и информации в Стэнфордском университете и «Парнем-математиком» в выпуске выходного дня NPR. Его последняя книга «Проблемы тысячелетия: семь величайших нерешенных математических головоломок нашего времени» только что опубликована в мягкой обложке издательством Basic Books, а прошлой осенью впервые вышла в твердом переплете.

Компьютер с обманчивой простотой можно описать как «устройство, автоматически выполняющее рутинные вычисления». Такое определение обязано своей обманчивостью наивному и узкому взгляду на расчет как на строго математический процесс. На самом деле вычисления лежат в основе многих действий, которые обычно не считаются математическими. Ходьба по комнате, например, требует многих сложных, хотя и подсознательных вычислений. Компьютеры также доказали свою способность решать широкий спектр задач, от балансировки чековой книжки до даже — в виде систем управления для роботов — передвижения по комнате.

Поэтому, прежде чем можно было реализовать истинную мощь вычислений, необходимо было преодолеть наивный взгляд на вычисления. Изобретатели, трудившиеся над созданием компьютера, должны были понять, что вещь, которую они изобретали, была не просто машиной для обработки чисел, не просто калькулятором. Например, они должны были узнать, что нет необходимости изобретать новый компьютер для каждого нового расчета и что компьютер может быть разработан для решения множества задач, даже таких, которые еще не представлялись, когда компьютер был построен. Они также должны были научиться сообщать такому универсальному компьютеру, решающему задачи, какую задачу решать. Другими словами, им пришлось изобрести программирование.

Они должны были решить все головокружительные проблемы разработки такого устройства, реализации дизайна и фактического создания устройства. История решения этих задач есть история ЭВМ. Эта история описана в этом разделе, и даны ссылки на записи о многих упомянутых лицах и компаниях. Кроме того, см. статьи о компьютерных науках и суперкомпьютерах.

Ранняя история

Предшественники компьютеров

Счеты

Возможно, самым ранним известным счетным устройством являются счеты. Он восходит как минимум к 1100 г. до н.э. и используется до сих пор, особенно в Азии. Сейчас, как и тогда, он обычно представляет собой прямоугольную рамку с тонкими параллельными стержнями, нанизанными на бусины. Задолго до того, как для записи чисел была принята какая-либо систематическая позиционная запись, счеты присваивали каждому стержню разные единицы измерения или веса. Эта схема позволяла представлять широкий диапазон чисел всего несколькими бусинами и, вместе с изобретением нуля в Индии, возможно, вдохновила на изобретение индийско-арабской системы счисления. В любом случае с помощью счетов можно легко манипулировать для выполнения обычных арифметических операций — сложения, вычитания, умножения и деления, — которые полезны в коммерческих операциях и в бухгалтерии.

Счеты — это цифровое устройство; то есть он представляет значения дискретно. Бусинка находится либо в одном предопределенном положении, либо в другом, однозначно представляя, скажем, единицу или ноль.

Аналоговые калькуляторы: от логарифмов Непера к логарифмической линейке

Вычислительные устройства приняли другой оборот, когда Джон Нейпир, шотландский математик, опубликовал свое открытие логарифмов в 1614 году. Любой человек может подтвердить, что сложение двух десятизначных чисел намного проще, чем их умножение, а преобразование задача умножения в задачу сложения — это именно то, что позволяют логарифмы. Это упрощение возможно благодаря следующему логарифмическому свойству: логарифм произведения двух чисел равен сумме логарифмов чисел. К 1624 году были доступны таблицы с 14 значащими цифрами для логарифмов чисел от 1 до 20 000, и ученые быстро освоили новый инструмент, позволяющий экономить труд и выполнять утомительные астрономические расчеты.

Что наиболее важно для развития вычислительной техники, преобразование умножения в сложение значительно упростило возможности механизации. Вскоре появились аналоговые вычислительные устройства, основанные на логарифмах Непера, представляющих цифровые значения с аналогичными физическими длинами. В 1620 году Эдмунд Гюнтер, английский математик, придумавший термины косинус и котангенс, построил прибор для выполнения навигационных вычислений: шкалу Гюнтера, или, как ее называли мореплаватели, гантер. Около 1632 года английский священник и математик по имени Уильям Отред построил первую логарифмическую линейку, опираясь на идеи Непера. Эта первая логарифмическая линейка была круглой, но Отред также построил первую прямоугольную линейку в 1633 году. Аналоговые устройства Гюнтера и Отреда имели различные преимущества и недостатки по сравнению с цифровыми устройствами, такими как счеты. Важно то, что последствия этих дизайнерских решений проверялись в реальном мире.

Цифровые калькуляторы: от часов-счетчиков до арифмометра

В 1623 году немецкий астроном и математик Вильгельм Шикард построил первый калькулятор. Он описал это в письме своему другу, астроному Иоганну Кеплеру, а в 1624 году он снова написал, чтобы объяснить, что машина, которую он заказал для Кеплера, была, по-видимому, вместе с прототипом, уничтожена в огне.Он назвал это Счетными часами, что современные инженеры смогли воспроизвести по деталям в его письмах. Даже общее представление о часах было временно утрачено, когда Шикард и вся его семья погибли во время Тридцатилетней войны.

Репродукция счетных часов Вильгельма Шикарда. Устройство могло складывать и вычитать шестизначные числа (с звонком для семизначных переполнений) с помощью шести взаимосвязанных шестерен, каждая из которых поворачивалась на одну десятую оборота за каждый полный оборот шестерни вправо. Таким образом, 10 оборотов любой шестерни вызовут «перенос» одной цифры на следующей передаче и изменят соответствующий дисплей.

Но, возможно, Шикард не был истинным изобретателем калькулятора. Столетием ранее Леонардо да Винчи набросал планы калькулятора, которые были достаточно полными и правильными, чтобы современные инженеры могли построить на их основе калькулятор.

Первым калькулятором или арифмометром, произведенным в любом количестве и фактически использовавшимся, была Паскалина, или арифметическая машина, разработанная и построенная французским математиком и философом Блезом Паскалем между 1642 и 1644 годами. Она могла только складывать и вычитать, с числами, вводящимися, манипулируя его циферблатами. Паскаль изобрел машину для своего отца, сборщика налогов, так что это была и первая бизнес-машина (если не считать счеты). Он построил 50 из них в течение следующих 10 лет.

Арифметическая машина, или Паскалин, французский денежный (недесятичный) калькулятор, разработанный Блезом Паскалем c. 1642. Числа можно было складывать, поворачивая колеса (расположенные вдоль нижней части машины) по часовой стрелке, и вычитать, поворачивая колеса против часовой стрелки. Каждая цифра в ответе отображалась в отдельном окошке, видимом вверху фотографии.

В 1671 году немецкий математик и философ Готфрид Вильгельм фон Лейбниц сконструировал вычислительную машину, названную счетчиком шагов. (Впервые он был построен в 1673 году.) Счетчик шагов расширил идеи Паскаля и выполнял умножение путем многократного сложения и сдвига.

Репродукция картины Готфрида Вильгельма фон Лейбница «Счетчик шагов» с оригинала, хранящегося в музее Тринкса Брунсвига в Ганновере, Германия. Поворот рукоятки (слева) приводил во вращение несколько барабанов, каждый из которых вращал шестерню, соединенную с цифровым счетчиком.

Лейбниц был активным сторонником двоичной системы счисления. Двоичные числа идеально подходят для машин, поскольку для них требуется всего две цифры, которые можно легко представить включенным и выключенным состояниями переключателя. Когда компьютеры стали электронными, двоичная система стала особенно подходящей, потому что электрическая цепь либо включена, либо выключена. Это означало, что on может означать true, off — false, а поток current — напрямую представлять поток логики.

Лейбниц предвидел целесообразность использования двоичной системы в вычислительных машинах, но его машина не использовала ее. Вместо этого счетчик шагов представлял числа в десятичной форме в виде позиций на 10-позиционных циферблатах. Даже десятичное представление не было данностью: в 1668 году Сэмюэл Морланд изобрел арифмометр, предназначенный для британских денег, — явно недесятичная система.

Устройства Паскаля, Лейбница и Морланда были редкостью, но с промышленной революцией 18 века возникла широко распространенная потребность в эффективном выполнении повторяющихся операций. Если другие виды деятельности механизированы, то почему не расчет? В 1820 году Шарль Ксавье Тома де Кольмар из Франции успешно справился с этой задачей, когда построил свой арифмометр, первое коммерческое вычислительное устройство массового производства. Он мог выполнять сложение, вычитание, умножение и, при более сложном участии пользователя, деление. Основанный на технологии Лейбница, он был чрезвычайно популярен и продавался в течение 90 лет. В отличие от современного калькулятора размером с кредитную карту, арифмометр был достаточно большим, чтобы покрыть рабочий стол.

Жаккардовый станок

Калькуляторы, такие как арифмометр, оставались популярными и после 1820 года, и их потенциал для коммерческого использования был хорошо изучен. Многие другие механические устройства, построенные в 19 веке, также выполняли повторяющиеся функции более или менее автоматически, но лишь немногие из них имели какое-либо применение в вычислительной технике.Было одно важное исключение: жаккардовый ткацкий станок, изобретенный в 1804–1805 годах французским ткачом Жозефом-Мари Жаккаром.

Жаккардовый ткацкий станок был чудом промышленной революции. Текстильный ткацкий станок, его также можно назвать первым практическим устройством обработки информации. Ткацкий станок работал, вытягивая разноцветные нити в узоры с помощью набора стержней. Вставив перфорированную карту, оператор мог управлять движением стержней и тем самым изменять рисунок плетения. Кроме того, ткацкий станок был оборудован устройством для считывания карт, которое вставляло новую карту из предварительно перфорированной колоды на место каждый раз, когда бросали челнок, что позволяло автоматизировать сложные узоры ткачества.

Жаккардовый ткацкий станок, гравюра, 1874 г. В верхней части станка находится стопка перфокарт, которые будут подаваться в ткацкий станок для контроля рисунка ткачества. Этот метод автоматического выдачи машинных инструкций использовался компьютерами еще в 20 веке.

Необычным в этом устройстве было то, что оно перенесло процесс проектирования с этапа трудоемкого ткачества на этап штамповки карт. После того, как карты были перфорированы и собраны, дизайн был готов, и ткацкий станок автоматически реализовал дизайн. Таким образом, можно сказать, что жаккардовый ткацкий станок запрограммирован на различные узоры с помощью этих колод перфокарт.

Тем, кто хочет механизировать вычисления, ткацкий станок Жаккарда дал важные уроки: последовательность операций, выполняемых машиной, можно контролировать, чтобы заставить машину делать что-то совершенно другое; перфокарта могла использоваться как средство управления машиной; и, что наиболее важно, устройство можно было направить на выполнение различных задач, передав ему инструкции на своего рода языке, т. е. сделав машину программируемой.

Не будет большим преувеличением сказать, что на жаккардовом станке программирование было изобретено раньше, чем компьютер. Тесная связь между устройством и программой стала очевидной спустя 20 лет, когда Чарльз Бэббидж изобрел первый компьютер.

Шимон Шокен и еще 1 преподаватель

Доступна финансовая помощь

Создание современного компьютера с нуля: от Nand до Tetris (проектный курс)

Об этом известно

Чего вы добьетесь:

В этом проектно-ориентированном курсе* вы создадите современную компьютерную систему с нуля. Мы разделим это увлекательное путешествие на шесть практических проектов, которые проведут вас от создания элементарных логических элементов до создания полностью функционирующего компьютера общего назначения. В процессе вы самым прямым и конструктивным образом узнаете, как работают компьютеры и как они устроены. Что вам понадобится: Это автономный курс: все знания, необходимые для успешного прохождения курса и создания компьютерной системы, будут даны как часть учебного процесса. Поэтому мы не предполагаем никаких предыдущих знаний в области информатики или инженерии, и все учащиеся приветствуются на борту. Вам не понадобятся физические материалы, так как вы будете собирать компьютер на своем собственном ПК, используя программный аппаратный симулятор, точно так же, как настоящие компьютеры разрабатываются компьютерными инженерами в полевых условиях. Аппаратный симулятор, а также другие программные инструменты будут предоставлены бесплатно после того, как вы зарегистрируетесь на курс. Формат курса: Курс состоит из шести модулей, каждый из которых состоит из серии видеолекций и проекта. Вам понадобится около 2-3 часов, чтобы посмотреть лекции каждого модуля, и около 5-10 часов, чтобы выполнить каждый из шести проектов. Курс можно пройти за шесть недель, но вы можете проходить его в своем собственном темпе. Вы можете посмотреть доклад TED об этом курсе, набрав в Google «nand2tetris TED talk». *О курсах, ориентированных на проекты: Курсы, ориентированные на проекты, предназначены для того, чтобы помочь вам выполнить личный значимый проект из реальной жизни, а ваш инструктор и сообщество учащихся со схожими целями будут давать советы и предложения на этом пути. Активно применяя новые концепции по мере обучения, вы более эффективно освоите содержание курса; вы также получите преимущество в использовании полученных навыков, чтобы внести позитивные изменения в свою жизнь и карьеру. Когда вы закончите курс, у вас будет законченный проект, который вы будете гордиться тем, что будете использовать его и делиться им.

Субтитры: Арабский, Французский, Португальский (Европа), Итальянский, Вьетнамский, Немецкий, Русский, Английский, Иврит, Испанский

Читайте также: