Whirlwind I — компьютер 1-го поколения, разработанный и построенный в лаборатории сервомеханизмов Массачусетского технологического института (Massachusetts Institute of Technology). +ПараметрыС электростатической памятью (по состоянию на март 1951 г.)С ферритовой памятью (по состоянию на октябрь 1953 г.)Разрядность данных16 разрядовРазрядность команд16 разрядовПредставление чиселдвоичное знаковое с фиксированной точкойОсновная памятьРазмер256 слов2048 словВремя доступа25 мкс9 мксМагнитные барабаныЕмкостьОдин барабан на 24576 словДва барабана по 24576 словВремя доступа16 мсВремя выполнения командБезусловный переход30 мкс16 мксСложение/ вычитание49 мкс24 мксУмножение61 мкс40 мксДеление100 мкс83 мксУстройства ввода-выводаНакопители на магнитной ленте4 устройства по 75000 слов5 устройств по 125000 словГрафический дисплейРазмер экрана 16 дюймов Разрешение 2048х2048 точек
Скорость вывода 6250 точек/сек, 550 цифр/секПечатьТелетайп Flexowriter (8 симв/сек)3 телетайпа Flexowriter (1 напрямую, 2 — с магнитной ленты), (8 симв/сек)Ввод с перфолентыУстройство чтения ERA, 140 строк/сФотоэлектрическое устройство чтения Ferranti, 200 строк/сВывод на перфолентуПерфоратор Flexowriter (10 строк/сек)Занимаемая площадь307 кв. метров (3300 кв. футов)Потребление электроэнергии60 кВтКоличество компонентов6800 электронных ламп 22000 полупроводниковых диодов8616 электронных ламп 17823 полупроводниковых диодов
Предыстория В 1944 году Центр специальных устройств ВМС США (US Navy Special Devices Center, SDC) занимался разработкой универсального лётного тренажёра, который не был бы конструктивно привязан к характеристикам определённого типа самолётов, а позволял бы настраиваться под любую известную модель самолёта перед обучением. В рамках этого проекта SDC заказал Лаборатории сервомеханизмов МТИ разработку устройства управления и анализа стабильности самолёта (Airplane Stability Control Analyzer, ASCA), которое отвечало бы за симуляцию поведения самолёта в ответ на действия обучаемого в кабине тренажёра. Руководитель лаборатории сервомеханизмов профессор Гордон Браун (Gordon Brown) поручил эту работу группе под руководством Джея Р. Форрестера (Jay Wright Forrester), одного из своих ассистентов. Форрестер в свою очередь привлёк в качестве технического руководителя проекта Роберта Эверетта (Robert Everett).
Развитие проекта на ранних стадиях Первоначально Дж. Форрестер предполагал решить задачу с помощью электромеханического аналогового устройства, которое вычисляло бы траекторию движения самолёта в реальном времени в ответ на действия пилота. Однако примерно через год после начала проекта Форрестер осознал, что аналоговое устройство оказывается слишком сложным и негибким для решаемой задачи. Во многом под влиянием набиравшего тогда обороты бума цифровой вычислительной техники он принял в конце 1945 года решение, что создаваемое устройство должно быть основано на цифровом компьютере, после чего его группа приступила сначала к изучению основ цифровой техники, а затем к проектированию будущего компьютера. Так как задача требовала обработки большого количества входных параметров и большого объёма вычислений в реальном масштабе времени, Форрестер с самого начала очень высоко поднял планку требований к будущему компьютеру, как с точки зрения производительности, так и его надёжности. Так как на момент начала проектирования единственным действующим электронным компьютером был только что введённый в действие ЭНИАК, то команде разработчиков пришлось все решения разрабатывать с нуля. Форрестер и Эверетт с самого начала решили, что создание компьютера будет производиться в две очереди — сначала будет создан компьютер меньшего масштаба (который был назван Wilrlwind I), а затем, после апробирования всех решений, будет построен более мощный компьютер. Разработка велась очень основательно, и к сентябрю 1947 года был подготовлен детальный проект компьютера (практически до уровня принципиальных схем). Для опробования схемных решений арифметического устройства в 1947 году был построен 5-разрядный двоичный умножитель, который затем прошёл длительное циклическое тестирование с целью проверки его надёжности. В начале 1948 года был заключён субконтракт между МТИ и компанией Sylvania, которой было поручено изготовление электронных блоков. Форрестер в 1947 году запланировал следующий порядок построения компьютера: сначала реализуется и тестируется арифметическое устройство, затем устройство управления, затем тестовая память (ПЗУ на основе переключателей), базовые устройства ввода-вывода (телетайп, устройство чтения с перфоленты и устройство вывода на перфоленту), и только в самом конце предполагалось установить оперативную память. Завершение работ по данному плану было намечено на начало 1949 года.
Основные конструктивные решения Было принято решение сделать операции компьютера побитово-параллельными, что обеспечивало максимальное быстродействие ценой большей сложности. Для оптимизации сложности было решено сделать компьютер двоичным с минимально возможной разрядностью. Было выбрано 16 разрядов, исходя из минимального размера команды: 5 разрядов выделялось для кода операции, что позволяло реализовать 32 команды, а 11 разрядов — для адреса операнда. Таким образом адресуемая область памяти составляла 2048 слов. То, что точность 16-разрядных чисел была небольшой, не смущало разработчиков, они исходили из того, что при необходимости достижения более высокой точности она может быть обеспечена программно несколькими последовательными операциями. Система команд была одноадресной, при выполнении команд операции производились между регистром-аккумулятором и ячейкой памяти, результат операции также помещался в аккумулятор. Операции должны были выполняться с фиксированной точкой, при этом компьютер обеспечивал полный набор из 4 арифметических действий, а также операцию логического «И» (она называлась «извлечение» — extraction). В качестве элементной базы компьютера, исходя из задачи обеспечения максимального быстродействия, были выбраны электронные лампы. Разработчики очень серьёзно отнеслись к проблеме обеспечения надёжности компьютера, исходя из очень большого количества установленных в нём радиоламп, которые имеют конечный срок службы. С целью обеспечения максимальной надёжности они разработали специальную систему проверки границ работоспособности. С этой целью они ввели в компьютере систему т. н. граничной проверки, основанной на поблочном регулировании рабочих точек ламп. Эта система позволяла путём вывода рабочих точек ламп за пределы номинальных значений, но не доводя их до уровня отказа блоков, выявлять лампы, которые находились на грани выхода из строя. При этом они обнаруживались в тот момент, когда у них был ещё некоторый запас ресурса работы, что позволяло после проведения данной процедуры рассчитывать на несколько часов безотказной работы компьютера. Как и многие другие компьютеры первого поколения, все блоки компьютера Whirlwind работали в жёстко синхронном режиме, получая синхроимпульсы от центрального тактового генератора. При этом АЛУ использовало частоту 2 МГц, а остальные устройства тактировались импульсами половинной частоты в 1 МГц.
Проблемы с финансированием проекта и смена заказчика Так как Форрестер поставил высокие требования к будущему компьютеру и привлёк к реализации проекта значительные людские ресурсы, проект по созданию Whirlwind оказался очень дорогим. Расходы на его реализацию составляли примерно 150 тыс. долларов в месяц или 1,8 млн долларов в год. В то же время в связи с окончанием войны правительство США резко сократило финансирование военных программ. К тому же резко сократились потребность в обучении военных лётчиков, что привело к сворачиванию проекта универсального лётного тренажёра. Финансирование проекта в 1948 году взяла на себя дирекция исследований ВМС (Office of Naval Research, ONR), которая поддерживала в целом проект создания компьютера, но настаивала на его существенном упрощении и удешевлении. ONR настаивала на использовании компьютера для научных расчётов, и с этой точки зрения требования к производительности и надёжности можно было понизить. В качестве образца для сравнения приводился проект EDVAC, который разрабатывался в Школе Мура ВМС США, также финансировавшийся за счёт бюджета ONR, но который был значительно менее затратным. В связи с эти Форрестер совместно с руководством МТИ занялся активным поиском других возможных заказчиков, и нашёл их в лице ВВС США, которые были озабочены проблемой построения единой системы противовоздушной обороны США. Компьютер Whirlwind в рамках решения этой проблемы должен был сводить данные, получаемые от многих радаров и формировать единую тактическую картину в границах покрываемого системой региона. Эта задача сначала решалась в рамках проекта Charles, а затем получила кодовое обозначение проект Claude. В итоге к 1950 году проблема финансирования была практически решена. Основная часть денег поступала от ВВС, однако ONR также участвовала в финансировании и рассчитывала получить некоторое количество машинного времени для решения научных задач.
Ход реализации проекта В конце 1947 года был собран и испытан 5-разрядный умножитель, на котором были успешно протестированы схемные решения будущего полноразмерного арифметического устройства и проверена система граничного тестирования. На тестах удалось добиться непрерывной безотказной работы умножителя в течение 45 суток, что разработчики считали очень высоким достижением. Весной 1948 года компания Sylvania начала поставлять блоки для будущего компьютера, а команда Whirlwind начала собирать компьютер. К концу года были установлены все шкафы, смонтированы блоки питания, установлены блоки АЛУ. Весной 1949 года было смонтировано устройство управления. Летом 1949 года были проведены тесты АЛУ, которые показали его полное соответствие проектным показателям, включая временные интервалы и надёжность. Осенью к компьютеру были подключены периферийные устройства. До полной готовности компьютеру не хватало только запоминающего устройства, разработка которого существенно задерживалось. Поэтому для испытаний использовалась тестовая память, состоявшая из 32 «регистров», значения в которых задавались переключателями (фактически — ПЗУ), а также из 5 запоминающих регистров, выполненных на триггерах. С помощью переключателей была возможность заменять любой из регистров ПЗУ динамическим регистром на триггерах. С использованием этой памяти на машине в конце 1949 года были решены первые тестовые задачи. Позднее, после установки штатной оперативной памяти, тестовая память использовалась для начальной загрузки компьютера с внешних носителей.
Проблемы с устройствами памяти