Введение

Гарвардский Марк II, также известный как релейный вычислитель Айкена, был электромеханическим компьютером, созданным под руководством Говарда Айкена в Гарвардском университете и завершённым в 1947 году. Он финансировался Военно-морским флотом США и использовался для баллистических расчётов на военно-морском испытательном полигоне Дальгрен. Пионеры в области вычислительной техники Эдмунд Беркли и Грейс Хоппер работали вместе с Айкеном над созданием и программированием Марка II.

Обзор

Контракт на строительство Mark II был подписан с Гарвардом в феврале 1945 года, после успешной демонстрации Mark I в 1944 году. Он был завершен и отлажен в 1947 году и доставлен на испытательный полигон ВМС США в Дальгрене, штат Вирджиния, в марте 1948 года, став полностью работоспособным к концу того же года. Mark II был построен с использованием высокоскоростных электромагнитных реле вместо электромеханических счетчиков, применявшихся в Mark I, что делало его значительно быстрее своего предшественника. Он весил [укажите вес] и занимал более [укажите площадь] квадратных метров площади. Время сложения составляло 0,125 секунды (8 Гц), а время умножения – 0,750 секунды. Это было в 2,6 раза быстрее для сложения и в 8 раз быстрее для умножения по сравнению с Mark I. Это была вторая машина (после релейного компьютера Bell Labs), оснащенная аппаратной частью для операций с плавающей точкой. Уникальной особенностью Mark II являлось наличие встроенного аппаратного обеспечения для различных функций, таких как вычисление обратной величины, квадратного корня, логарифма, экспоненты и некоторых тригонометрических функций. Их выполнение занимало от пяти до двенадцати секунд. Кроме того, Mark II фактически состоял из двух подкомпьютеров, которые могли работать одновременно или независимо друг от друга для перекрестной проверки результатов и отладки неисправностей. Mark I и Mark II не были компьютерами с хранимой программой – они считывали инструкции программы по одной с перфоленты и выполняли их. Mark II использовал специфический метод программирования, разработанный для обеспечения доступности содержимого регистра в нужный момент. Перфолента, содержащая программу, могла содержать только восемь инструкций, поэтому значение конкретного кода инструкции зависело от момента его выполнения. Каждая секунда делилась на несколько периодов, и закодированная инструкция могла иметь разные значения в разные периоды. Операцию сложения можно было начать в любом из восьми периодов секунды, операцию умножения – в любом из четырех периодов секунды, а передачу данных – в любом из двенадцати периодов секунды. Хотя эта система работала, она усложняла программирование и несколько снижала эффективность машины. Mark II также известен тем, что в нем был зафиксирован первый случай, когда реальная ошибка (мотылек) вызвала сбой в его работе. Насекомое было извлечено из электроники машины и приклеено к журналу с пометкой "первый задокументированный случай обнаружения ошибки [в виде насекомого]", 9 сентября 1947 года.