Русская Википедия:SWAC
SWAC (сокр. от Шаблон:Lang-en, Западный автоматический компьютер Бюро стандартов) — второй электронный цифровой компьютер, созданный в 1950 году в Национальном бюро стандартов США (NBS) в Лос-Анджелесе (США). Спроектирован Гарри Хаски. Первым компьютером NBS был SEAC, установленный в Вашингтоне.
Предыстория
В 1945 году в NBS были создано подразделение "Национальные лаборатории прикладной математики", которое должно было предоставлять вычислительные услуги для других правительственных организаций, и руководящий совет NBS по прикладной математике. Первоначально Лаборатории планировали закупить компьютеры у какой-либо из частных фирм (с начала 1948 года велись переговоры с Echert-Mauchly Computer Corporation и Raytheon), однако, в связи с тем, что разработка электронных компьютеров этими компаниями затягивалась, в мае 1948 года руководящим советом по прикладной математике было принято решение о постройке собственного компьютера в Вашингтоне (будущего SEAC). Одновременно было решено приобрести у Echert-Mouchly Computer Corporation три компьютера UNIVAC (находившиеся на тот момент в стадии разработки), которые затем должны были быть установлены в бюро переписи населения (Census Bureau), в центре материально-технического снабжения ВВС (Air Materiel Command), и в Институте численного анализа (Institute of Numerical Analisys, INA), входившего в состав Лабораторий прикладной математики. Закупка компьютеров должна была оплачиваться из военного бюджета, однако, по ряду бюрократических причин это оказалось невозможным, поэтому в октябре 1948 года руководящий совет принял решение о постройке второго компьютера в институте численного анализа, который находился в кампусе Калифорнийского университета в Лос-Анджелесе (UCLA).
Команда проекта
Для руководства проектом привлекли Гарри Дугласа Хаски (Harry Douglas Huskey), который ранее участвовал в разработке компьютеров ENIAC, EDVAC и Pilot ACE. Работа была начата в январе 1949 года. Команда состояла из трёх проблемных групп, занимавшихся оперативной памятью (Б.Ф. Амброзио (B.F.Ambrosio), Гарри Ларсон (Harry Larson) и Билл Ганинг (Bill Gunning) из Rand Corporation), арифметическим устройством (под руководством Эдварда Лейси (Edward Lacey)) и устройством управления (под руководством Дэвида Рутленда (David Ruthland)).
Основные конструктивные решения
За основу сначала была взята конструкция, разработанная в проекте EDVAC с памятью на основе ртутных линий задержки, однако военные, финансировавшие проект, потребовали, чтобы NBS строил компьютеры, отличающиеся по конструкции от других проектов, финансировавшихся из государственного бюджета. Поэтому Хаски обратился к опыту профессора Ф.К. Вильямса из Манчестерского университета по использованию в качестве устройств памяти электронно-лучевых трубок (ЭЛТ), которые получили наименование трубок Вильямса. Этот опыт был тем более интересен, что он обещал более высокую скорость доступа к памяти и тем самым - более высокую производительность компьютера. Было решено, что компьютер должен иметь поразрядно-параллельное арифметическое устройство и параллельные шины данных, чтобы максимально реализовать преимущества памяти на ЭЛТ. При разработке проекта также уделялось очень большое внимание экономичности и надёжности создаваемого компьютера. С этой целью разработчики старались использовались только массово производимые, коммерчески доступные компоненты - лампы, электронно-лучевые трубки - что способствовало как снижению цены, так и облегчало эксплуатацию будущего компьютера. Для облегчения обслуживания компьютер старались строить из типовых блоков, которые при выходе их из строя можно было бы легко заменить на запасные. Компьютер почти на 80% состоял из таких блоков. Вместе с компьютером были разработаны диагностические стенды, которые позволяли проводить автономную диагностику и ремонт неисправных блоков, в то время как компьютер продолжал решать свои основные задачи. Компьютер был построен в соответствии с фон-Неймановской архитектурой с хранением программы в памяти. Разрядность числа составляла 36 бит с дополнительным битом для знака - всего 37 бит в машинном слове. Знаковые числа представлялись модулем и знаком, т.е. ноль мог иметь как положительный, так и отрицательный знак. Числа представлялись с фиксированной точкой, при этом использовалось популярное в то время представление с "левой" точкой, когда считалось, что все значения чисел являются дробными и лежат в диапазоне от -1+2−36 до 1-2−36. Оперативная память была выполнена на 37 электронно-лучевых трубках, каждая из которых отвечала за хранение "своего" бита слов. Каждая ЭЛТ обеспечивала ёмкость в 256 бит, таким образом, общий объём памяти составил 256 слов по 37 бит. Цикл обмена с памятью составлял 16 мкс. В связи с небольшим объёмом оперативной памяти компьютер был снабжён дополнительной памятью на магнитном барабане ёмкостью 4096 слов. Обмен с барабаном производился блоками по 8, 16 или 32 слова, время обмена составляло 17 мс. В компьютере была реализована 4-адресная система команд, в которой каждая команда (кроме команд ввода и вывода) содержала адреса двух аргументов, адрес результата и адрес следующей команды. В систему команд входили следующие команды: сложение, вычитание, округлённое умножение (с 37-битовым результатом), умножение с полным результатом (74 бит), сравнение, извлечение битов по маске, ввод и вывод. В составе арифметико-логического устройства (АЛУ) были реализованы три регистра - буфер чтения из памяти, аккумулятор и R-регистр - расширение аккумулятора для хранения сомножителя и расширенной части произведения. В качестве устройств ввода/вывода использовался телетайп (Flexowriter) и считыватель перфоленты. Позднее компьютер снабдили устройством считывания перфокарт (IBM 077) и устройством вывода перфокарт (IBM 513).
SWAC был смонтирован в 3 шкафах, изготовленных на заказ, и был для своего времени очень компактным. В нём насчитывалось 37 ЭЛТ, 2600 ламп и 3700 полупроводниковых диодов. При работе он потреблял 30 КВт электрической мощности.
Достигнутые результаты и эксплуатация компьютера
Сборка SWAC была закончена в июле 1950 года, а 17-19 августа состоялась его официальная приёмка, в ходе которой был проведён небольшой симпозиум по вычислительной технике и демонстрация компьютера. В момент приёмки SWAC оказался самым быстрым в мире компьютером. Он выполнял каждую команду, кроме умножения, деления и ввода-вывода, за 64 мкс (15’625 оп/сек). Умножение и деление выполнялись за 384 мкс, а команды ввода-вывода — в соответствии со скоростью соответствующих устройств. Этот рекорд держался достаточно долго — до появления компьютера Whirlwind, и до его оснащения ферритовой памятью, что произошло только в 1953 году. Компьютер использовался для решения различных задач численного анализа, в частности, для поиска простых чисел Мерсенна (числа вида 2p−1, где p — простое число). С использованием SWAC математику Рафаэлю Робинсону удалось найти 5 наибольших таких чисел, для последнего показатель p был равен 2297. На SWAC также изучались процессы циркуляции атмосферы Земли. В ходе решения этой задачи было обработано 750 000 входных значений и получено сопоставимое количество результатов. Время решения составило 325 часов. SWAC показал себя достаточно надёжным в эксплуатации. Среднее время продуктивной работы составляло 53 часа в неделю, или 70 % от общего времени функционирования компьютера.
Проблемы с памятью
Основной проблемой при эксплуатации компьютера была ненадёжность памяти на основе трубок Вильямса. Несмотря на то, что команда разработчиков снизила плотность записи по сравнению с первоначально планировавшейся, память давала сбои из-за двух проблем. Первая была связана с тем, что люминофор в дешёвых ЭЛТ был загрязнён хлопковыми волокнами, которые обугливались под действием электронных пучков, и становились проводниками. Из-за этого до 1-2% поверхности всех ЭЛТ были дефектными и не держали заряд. Для борьбы с этим явлением трубки отбирали, помечали на них дефектные места и старались настроить схемы управления таким образом, чтобы растр на трубке не пересекал дефектные зоны. Второй проблемой было растекание заряда между ячейками - при слишком частом обращении к одному адресу памяти образующееся при записи облако вторичных электронов оседало на соседних ячейках каждой из трубок, что приводило к стиранию данных в этих ячейках. Программисты при составлении программ должны были следить за тем, чтобы каждая ячейка памяти использовалась в программе не слишком часто.
История названия
В начале работ создатели SWAC дали ему рабочее название ZEPHYR — по названию ласкового западного ветерка. Под этим названием он достаточно долго появлялся в различных документах. Затем ему дали более прозаическое название «Компьютер института численного анализа». Ближе к завершению работ руководство NBS потребовало, чтобы в названиях обоих разрабатываемых компьютеров присутствовало бы NBS. Так появились названия National Bureau of Standards' Eastern/Western Automatic Computer и аббревиатуры SEAC и SWAC на их основе.
Дальнейшая судьба компьютера
С 1950 по 1954 годы SWAC эксплуатировался в Институте численного анализа. В 1954 году INA был выведен из состава NBS, а компьютер был передан Калифорнийскому университету (UCLA). Там он эксплуатировался до своего списания в декабре 1967 года. Отдельные сохранившиеся детали SWAC в настоящее время выставлены в Музее науки и промышленности (Museum of Science and Industry) в Лос-Анджелесе и в других музеях США.
Ссылки
- IEEE Transcript: SWAC—Standards Western Automatic Computer: The Pioneer Day Session at NCC July 1978
- A History of Computing in the Twentieth Century. Edited by N. Metropolis, J. Howlett, and Gian-Carlo Rota. ACADEMIC PRESS, INC.New York, 1980. pp. 419–431
- BRL Report № 1115 March 1961. A Third Survey of Domestic Electronic Digital Computing Systems. Aberdeen Proving Ground, Maryland. [1]
- A Survey Of Automatic Digital Computers 1953. Office of Naval Research. Department of the Navy. Washington D.C., 1953.[2]
- Margaret R. Fox Papers, 1935—1976, Институт Чарльза Бэббиджа, Университет Миннесоты. Коллекция документов содержит отчёты, включая оригинальные отчёты по ENIAC, UNIVAC и многим другим ранним работам, проводимым в NIST; описания и историю SEAC, SWAC и DYSEAC.