UNIVAC LARC , сокращение от Ливерморского компьютера передовых исследований , представляет собой мэйнфрейм , разработанный в соответствии с требованиями, опубликованными Эдвардом Теллером, для выполнения гидродинамического моделирования при проектировании ядерного оружия . Это был один из первых суперкомпьютеров . [1]
LARC поддерживал многопроцессорную обработку с двумя процессорами (называемыми компьютерами ) и процессором ввода/вывода (I/O) (называемым процессором ). Были построены две машины LARC, первая доставлена в Ливермор в июне 1960 года, а вторая - в модельный бассейн Дэвида Тейлора ВМФ . В обоих примерах был только один компьютер , поэтому многопроцессорные LARC так и не были построены. [2]
Процессоры LARC могли выполнять сложение примерно за 4 микросекунды, что соответствует скорости около 250 тысяч пикселей в секунду. Это делало его самым быстрым компьютером в мире до 1962 года, когда титул завоевал IBM 7030 . Модель 7030 изначально представляла собой заявку IBM на конкурс LARC, но Теллер предпочел более простую модель Univac более рискованной конструкции IBM.
LARC представлял собой десятичный мейнфрейм с 60 битами на слово . Он использовал десятичную арифметику с двоичным кодом с пятью битами на цифру (см. Ниже), что позволяло создавать 11-значные числа со знаком . Инструкции имели длину 60 бит, по одной на слово. Базовая конфигурация имела 26 регистров общего назначения , которые можно было расширить до 99. Регистры общего назначения имели время доступа в одну микросекунду.
LARC весил около 115 000 фунтов (58 коротких тонн; 52 т). [3]
Базовая конфигурация включала один компьютер , а LARC можно было расширить до мультипроцессора с помощью второго компьютера .
Процессор представляет собой независимый ЦП (с набором команд, отличным от компьютера ) и обеспечивает управление от 12 до 24 накопителей на магнитных барабанах , от четырех до сорока ленточных накопителей UNISERVO II, двух электронных устройств записи страниц (35-мм пленочная камера, обращенная к катоду). лучевая трубка), один или два высокоскоростных принтера и высокоскоростное устройство считывания перфокарт.
LARC использовал основные банки памяти по 2500 слов каждый, в каждом кабинете памяти размещалось по четыре банка. Базовая конфигурация имела восемь банков ядра (два кабинета), 20 000 слов. Память может быть расширена максимум до 39 банков ядра (десять шкафов с одним пустым банком), 97 500 слов. Основная память имела один бит четности на каждую цифру для проверки ошибок, в результате чего на слово памяти приходилось 60 бит. Основная память имела время доступа 8 микросекунд и время цикла 4 микросекунды. Каждый банк работал независимо и мог начать новый доступ в любой 4-микросекундный цикл, когда он еще не был занят. При правильном чередовании доступов к различным банкам память может поддерживать эффективное время доступа 4 микросекунды при каждом доступе (например, доступ к данным одного банка в другом).
Шина передачи данных, соединяющая два компьютера и процессор с основной памятью, была мультиплексирована для максимизации пропускной способности; каждый 4- микросекундный цикл шины был разделен на восемь временных интервалов по 500 наносекунд:
Основная система памяти применяет систему блокировок и приоритетов, чтобы избежать одновременного доступа к одному и тому же банку памяти несколькими частями системы (компьютером , процессором и синхронизатором DMA ввода-вывода ) без конфликтов или взаимоблокировок . Банк памяти недоступен в течение одного 4-микросекундного цикла после обращения к нему со стороны любого раздела системы. Если в течение этого времени другая секция попытается обратиться к тому же банку памяти, она будет заблокирована и ей придется подождать, а затем повторить попытку в следующем 4-микросекундном цикле. Чтобы предотвратить взаимоблокировки и таймауты в системе ввода-вывода, применяются следующие приоритеты:
Если секция с более высоким приоритетом блокируется в течение одного 4-микросекундного цикла, при повторной попытке в следующем 4-микросекундном цикле всем секциям с более низким приоритетом не разрешается начинать новый цикл в этом банке памяти до тех пор, пока секция с более высоким приоритетом не сможет начать новый цикл в этом банке памяти. завершил доступ.
Компьютеры LARC записывали списки сводных заказов в память, чтобы процессор мог их читать и интерпретировать программой управления процессором (написанной и поставляемой UNIVAC с каждой системой), чтобы запросить необходимый ввод-вывод. [4]
LARC был построен с использованием транзисторов с поверхностным барьером , которые уже устарели к моменту поставки первой системы. LARC был очень быстрым компьютером для своего времени. Время его сложения составило 4 микросекунды, время умножения — 8 микросекунд, а время деления — 28 микросекунд. Это был самый быстрый компьютер в 1960–61 годах, пока титул не завоевал IBM 7030 .
В базовом пятибитном двоичном коде UNIVAC-LARC разрешено 15 комбинаций, любая из которых может быть сохранена в любой позиции в памяти. [5]