Эволюция разума
вернуться

Курцвейл Рэймонд

Шрифт:

Именно на этой основе Джон фон Нейман создал компьютер современной архитектуры, отражающей третью из четырех важнейших идей теории информации. На протяжении прошедших с тех пор почти семидесяти лет основное ядро этой машины, названной «машиной фон Неймана», практически не изменилось — как в микроконтроллере в вашей стиральной машине, так и в самом крупном суперкомпьютере. В статье, опубликованной 30 июня 1945 г. и озаглавленной «Первый проект отчета о EDVAC», фон Нейман изложил основные идеи, которые с тех пор направляли развитие информатики [124] . В машине фон Неймана присутствует центральный процессор, где выполняются арифметические и логические операции, модуль памяти, в котором хранятся программы и данные, массовая память, программный счетчик и входные/выходные каналы. Хотя статья предназначалась для внутреннего пользования в рамках выполнения проекта, для создателей компьютеров она стала Библией. Вот так иногда обычный рутинный отчет может изменить мир.

124

Von Neumann, John. First Draft of a Report on the EDVAC. Moore School of Electrical Engineering, University of Pennsylvania, 1945. Von Neumann, John. A Mathematical Theory of Communication by John Von Neumann in the Bell System Technical Journal, 1948.

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

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

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

Концепция фон Неймана об архитектуре компьютера отразилась в проекте EDVAC, над которым он работал совместно с Преспером Дж. Эккертом и Джоном Моучли. Компьютер EDVAC начал функционировать только в 1951 г., когда уже существовали другие компьютеры с хранимой программой, такие как Манчестерская малая экспериментальная машина, ENIAC, EDSAC и BINAC, причем все они были созданы под влиянием статьи фон Неймана и при участии Эккерта и Моучли. Фон Нейман также был причастен к появлению некоторых из этих машин, включая последнюю версию ENIAC, где использовался принцип хранимой программы.

У компьютера с архитектурой фон Неймана имелось несколько предшественников, но ни один из них — за одним неожиданным исключением — нельзя назвать истинной машиной фон Неймана. В 1944 г. Говард Эйкен выпустил Mark I, который можно было в какой-то степени перепрограммировать, но он не использовал хранимой программы. Машина считывала инструкции с перфокарты и немедленно их выполняла. В машине также не было предусмотрено условных переходов.

В 1941 г. немецкий ученый Конрад Цузе (1910–1995) создал компьютер Z-3. Он тоже считывал программу с ленты (в данном случае закодированную на пленке) и тоже не выполнял условных переходов. Интересно, что Цузе получил финансовую поддержку от Немецкого института самолетостроения, который использовал этот компьютер для изучения флаттера крыла самолета. Однако предложение Цузе о финансировании замены реле радиолампами не было поддержано нацистским правительством, которое считало развитие компьютерной технологии «не имеющим военного значения». Это, как мне кажется, в определенной степени повлияло на исход войны.

На самом деле у фон Неймана был один гениальный предшественник, причем жил он на сто лет раньше! Английский математик и изобретатель Чарльз Бэббидж (1791–1871) в 1837 г. описал свою аналитическую машину, основанную на тех же принципах [125] , что и компьютер фон Неймана, и использовавшую хранимую программу, нанесенную на перфокарты жаккардовых ткацких машин. Память машины с произвольным доступом содержала 1000 слов по 50 десятичных знаков в каждом (что эквивалентно примерно 21 килобайту). Каждая инструкция содержала код операции и номер операнда — точно так же, как в современных компьютерных языках. Система не использовала условных переходов и циклов, так что это была настоящая машина фон Неймана. Полностью механическая, она, по-видимому, превзошла и дизайнерские, и организаторские возможности самого Бэббиджа. Он создал части машины, но так и не запустил ее.

125

Jeremy Bernstein, The Analytical Engine: Computers — Past, Present, and Future, William Morrow & Co; Revised edition, 1981.

Точно не известно, знали ли пионеры компьютеростроения XX в., включая фон Неймана, о работах Бэббиджа [126] .

Однако создание машины Бэббиджа положило начало развитию программирования. Английская писательница Ада Байрон (1815–1852), графиня Лавлейс, единственный законный ребенок поэта лорда Байрона, стала первым в мире программистом. Она писала программы для аналитической машины Бэббиджа и отлаживала их в уме (поскольку компьютер так никогда и не заработал). Теперь программисты называют эту практику table checking. Она перевела статью итальянского математика Луиджи Менабреа об аналитической машине, добавив от себя существенные замечания и заметив, что «аналитическая машина плетет алгебраические рисунки, как ткацкий жаккардовый станок плетет цветы и листья». Возможно, она первой упомянула о возможности создания искусственного интеллекта, но сделала вывод, что аналитическая машина «сама не способна что-либо придумать».

126

Судя по всему, идеи Бэббиджа легли в основу созданного Эйкеном компьютера Mark I.

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

  • Читать дальше
  • 1
  • ...
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • ...

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

Полезные ссылки

  • Моя полка

Контакты

  • help@private-bookers.win