Серийная ЭВМ “Стрела”

«Стрела» — советская ЭВМ первого поколения, которая являлась одной из первых отечественных вычислительных машин. Главным конструктором был Юрий Яковлевич Базилевский, а его заместителем — Башир Искандарович Рамаев. ЭВМ «Стрела» принадлежала к классу больших машин, обладающих высокоразвитой и логически законченной структурой. Это обеспечивало большую производительность при решении сложных и громоздких по объему вычислений задач. Кроме того «Стрела» была также первенцем среди машин, выпускаемых промышленностью серийно. Предшествующие ей модели изготавливались в единственных экземплярах.

1c36fc76eecc4a1ea78ee21dc3b131c7.jpg

В начале 50-х гг. Б.И. Рамеев начал разработку эскизного проекта цифровой электронной вычислительной машины. После рассмотрения техническим советом СКБ-245, проект ученого был утвержден. Примечательно, что это произошло в первый день выхода на работу будущего главного конструктора машины Ю.Я. Базилевского, назначенного руководителем отдела цифровых машин СКБ-245.

930aca61801d4044b457f544e1a05a61.jpg

Башир Искандарович Рамеев (1918 — 1994 гг.) — советский ученый-изобретатель, разработчик первых советских ЭВМ (Стрела, Урал-1). Доктор технических наук. Лауреат Сталинской премии.

d6dcda4ff85e42a3bdbcb770e0ac28d0.jpg

Юрий Яковлевич Базилевский (1912 — 1983 гг.) — советский ученый, главный конструктором ЭВМ «Стрела» и автоматизированного вычислительного комплекса для системы противовоздушной обороны «Даль-111». Был героем Социалистического труда, лауреатом Сталинской премии.

Команда разработчиков ЭВМ «Страла» состояла из специалистов: главного конструктора Ю.Я. Базилевского, зам. главного конструктора Б.И. Рамеева, конструкторов Г.М. Прокудаева, А.М. Литвинова, Д.А. Жучкова, А.В. Шилейко, основных исполнителей А.П. Цыганкина, Н.Б. Трубникова, Б.Ф. Мельникова, Г.Д. Монахова, И.Ф. Лыгина, Л.А. Ларионовой, А.М. Ларионова, Е.Т. Семеновой и других.

Структура СКБ-24


В конце 40-х — начале 50-х гг. на базе Московского завода счетно-аналитических машин (САМ) было создано СКБ-245. Данная аббревиатура расшифровывалась, как специальное конструкторское бюро разработки и обеспечения изготовления средств вычислительной техники и систем управления военного назначения. В организации функционировало 6 отделов, которые обозначались номерами (в связи с полной секретностью).

В 1-м отделе обеспечивали секретность разработок и осуществлял проверку все структуры. Ежедневно сотрудникам других отделов выдавались чемоданы с бумагами и прошитыми, пронумерованными, опечатанными тетрадями, которые по окончанию рабочего дня сдавались. Во 2-ом отделе проводились работы по аналоговым вычислительным средствам. Разработкой вычислительной машины «Стрела» занимался 3-й отдел, под руководством Ю.Я. Базилевского. 4-й отдел был математическим, находился под руководством И.А. Глузберга (а позже — Д.А. Жучкова). Он занимался разработкой стандартных программ для «Стрелы» и проводил оценки выполнения операций. Материальным обеспечением лежало на 5-м отделе. А 6-й — разрабатывал дифференциальный анализатор, им руководил А.А. Бедняков. Со временем были организованы и другие отделы.

Разработка «Стрелы»


Работа по созданию «Стрелы» велась с невероятным энтузиазмом. Интерес сотрудников подогревало своеобразное соперничество с ИТМиВТ АН СССР, где в это же время разрабатывалась БЭСМ.

Михаил Авксентьевич Лесечко — директор завода САМ и начальник СКБ-245, отдал работе весь свой неподражаемый талант организатора. За несколько ночей проводилось монтирование аппаратуры для охлаждения огромных помещений, в которых для отладки устанавливали собранные устройства «Стрелы».

В 6-м отделе, занимающимся непосредственно разработкой «Стрелы», было несколько лабораторий. Б.И. Рамеев руководил лабораторией, отвечающей за арифметическое устройство и блок оперативной памяти, а также устройство умножения-деления. Б. Зайцев разрабатывал блок сложения-вычитания. Еще была лаборатория Г.М. Прокудаева, которая разрабатывала внешние запоминающие устройства на электронных трубках. Внешними устройствами занималась лаборатория Трубникова.

802d9af92b0947bc8051197debe97e92.jpg

На фото основные создатели машины «Стрела»: Б.И. Рамеев, В.В. Александров, Ю.Я. Базилевский, Д.А. Жучков, А.П. Цыганкин, стоят Ю.Ф. Щербаков, Н.Б. Трубников, Г.М. Прокудаев, Б.Ф. Мельников, Г.Я. Марков и И.Ф. Лыгин.

Стоит также отметить, что разработка «Стрелы» проходила в рекордно короткие сроки. Проект стартовал в начале пятидесятого года. В конце 1951 г. документацию передали на завод САМ и уже в 1952 г. первый экземпляр машины был готов к отладке. Сотрудники СКБ-245 разрабатывали не только логику, но конструировали, рассчитывали все элементы.

В 1953 г. комиссии по Сталинским премиям была представлена работающая ЭВМ «Стрела». Ей удалось обойти БЭСМ Лебедева за счет большей подготовленности к промышленному выпуску. Кроме того разработка «Стрелы» требовала меньше средств. Поэтому премию дали СКБ-245.

Архитектура и принципы работы


В «Стреле» использовалось около 6000 электронных ламп и несколько десятков тысяч полупроводниковых выпрямителей (диодов).

d91f15dcd5b44c178b4dc434eb0454a3.jpg

В процессе работы

Машина «Стрела» была собрана на трех основных стойках, расположенных в виде буквы «П». Она делилась на стойку арифметического устройства (справа), стойку внешнего накопителя и некоторых вспомогательных устройств (слева) и стойку оперативного запоминающего устройства и управления (посередине). Пульт ручного управления, устройства ввода данных и вывода результатов размещался по центру. Он позволял оператору запускать и останавливать машину, следить за ходом выполнения команд программы, а также вводить в оперативное запоминающее устройство и выводить из него отдельные числа (данные и команды) во время остановки машины.

Устройство для подготовки перфокарт состояло из клавишного устройства и входного перфоратора. Это позволяло оператору с помощью клавиш набивать на перфокартах нужную информацию. После чего подготовленная колода вынималась из входного перфоратора и помещалась в устройство ввода данных (читающее) машины. Далее данные вводились в оперативное запоминающее устройство (емкостью до 2048 слов). Результаты решения задачи передавались в виде электрических сигналов в выходной перфоратор и там представлялись в виде системы отверстий на перфокартах.

595dc9b759c44b19987779639c518d35.jpg

Лента магнитная от ЭВМ «Стрела», ширина 125 ммПолитихнический музей

Производительность машины достигала 2000 трехадресных операций в секунду. Арифметическое устройство выполняло арифметические операции (сложение, вычитание, умножение) и ряд дополнительных операций (вычитание модулей чисел, сдвиг числа, выделение части числа и др.).

На внешнем накопителе имелось два блока с магнитной лентой шириной 125 мм и длиной до 100 м. Числа располагались на магнитной ленте группами по зонам. То есть на каждой ленте могли быть 253 зоны различного размера, при этом на каждой ленте размещалось до 100 000 чисел. Всего внешний накопитель мог вмещать до 200 000 чисел.

489e53dcf70a416dbc8e87fc5aec477c.jpg

Принцип взаимодействия узлов ЭВМ (Журнал «Знание-сила» №7, 1956 г.)

Особенностью «Стрелы» была гибкость системы команд. Можно было создавать библиотеки прикладных программ разнообразного тематического направления объемом до 100 миллионов команд. Осуществлялось это благодаря наличию нескольких типов групповых арифметических и логических операций, условных переходов, сменяемых стандартных программ, системы контрольных тестов и организующих программ. «Стрела» являлась образцом оригинальных решений в элементной базе. В этой ЭВМ впервые реализовалось матричное исполнение блока умножения на диодах. Также впервые использовалось оперативное ЗУ на 43 специализированных запоминающих электронно-лучевых трубках. Кроме того, в последней модификации появился накопитель на магнитном барабане емкостью 4096 слов, имеющий частоту вращения 6000 об./мин.

Характеристики ЭВМ «Стрела»

Быстродействие: до 2000 трехадресных оп/сек;
Основной такт: 500 мкс;
Адреса команд: 12-ти разрядные;
Операции с плавающей точкой (35 — мантисса, 6 — порядок; 1 знак);
Потребляемая мощность: 150 кВт (75 кВт — процессор);
ПЗУ: на полупроводниковых диодах емкостью 15 стандартных подпрограмм по 16 команд и 256 операндов;
Оперативная память: 20 мкс;
Занимаемая площадь: 300 м2 (из которых 150 м2 — процессор);
Среднее время полезной работы: 15–18 часов в сутки;
Внешнее ЗУ: 2 накопителя на магнитной ленте емкостью 1,5 миллиона слов;
Элементная база: 6200 ламп и 60 000 полупроводниковых диодов;
Программное обеспечение: библиотека подпрограмм, часть из которых зашита в постоянной памяти.

На ЭВМ «Стрела» отрабатывались первые отечественные приемы и методы программирования, в том числе и в операторной форме.

Память и структура информации


У памяти ЭВМ «Стрела» был объем 2048 ячеек по 43 разряда, нумеруемых слева направо от 0 до 42. В результате у старшего разряда номер 0, а у младшего 43. Доступ к ячейкам памяти осуществлялся с помощью 2-разрядные адреса. Когда старший разряд адреса равнялся нулю, выполнялся доступ к соответствующей ячейке. Единичное значение этого разряда использовалось при работе с внешними устройствами и для обращения к постоянной памяти.

В каждой ячейке памяти размещалось число или код команды. В «нулевых» ячейках содержалось нулевое значение, соответственно запись в эту ячейку игнорировалась.

2bdbc01ec3b2499db0ed18bbae2bacd7.png

Эскиз «Стрелы»

Чтобы упростить запись хранимой в памяти информации и адресов, использовали восьмеричную систему счисления.

Машина обрабатывала числа с плавающей запятой в двоичной и десятичной системах счисления. При записи в машинном формате двоичное число с плавающей запятой состояло из знака мантиссы (разряд 0), абсолютной величины мантиссы (разряды 1–35), знака порядка (разряд 36) и абсолютной величины порядка (разряды 37–42).

Десятичное число с плавающей запятой также состояло из знака мантиссы (разряд 0), абсолютной величины мантиссы (разряды 1–36), знака порядка (разряд 37) и абсолютной величины порядка (разряды 38–42). Каждая десятичная цифра мантиссы записывалась в двоично-десятичном коде, по 4 бита на одну цифру. Но порядок сохранялся в двоичном виде и по абсолютной величине не мог превышать 19.

Величина мантисса всегда была меньше 1 и в памяти хранилась только ее дробная часть. Целая же считалась равной нулю.

Внешнюю память составляли две бобины магнитной ленты, каждая из которых разбивалась на зоны, куда могло записываться от 1 до 2048 чисел. У зоны первой магнитной ленты были восьмеричные номера от 4001 до 4777, у второй ленты — от 5001 до 5777. С помощью специальных команд производилось чтение и запись информации.

298b9a31d79f4b1f9a6b118a5a902004.jpg

ЭВМ «Стрела»

Система команд


Команды выбирались из памяти и выполнялись последовательно. Естественный порядок выполнения мог изменяться с помощью команды перехода.

«Стрела» была трехадресной вычислительной машиной (в каждом коде команды задавалось три адреса операндов). Структура кода команды:
— первый адрес (разряды 0–11);
— второй адрес (разряды 12–23);
— третий адрес (разряды 24–35);
— контрольный знак (разряд 36);
— код операции (разряды 37–42).

Игнорировался контрольный знак, равный 0. Когда он равнялся 1, то при включении соответствующего тумблера на пульте управления машина останавливалась после каждого выполнения команды, содержащей его.

Использовалась восьмеричная система счисления при записи команд. Команда писалась в подобном виде:

0065 0231 1101 0 01

Проверка каких-либо условий в машине происходила по специальному признаку, обычно обозначаемому буквой w. Данный признак формировался при выполнении определенных команд (сложения, сравнения и т.п.), а затем использовался в команде условного перехода. Если признак не формировался командой, то после выполнения обнулялся. Поэтому команда условного перехода должна была выполняться сразу после формирования анализируемого признака.

Набор команд


В таблице ниже a обозначает ячейку, которая определяется адресом в разрядах 0–11 кода команды, b — ячейку, что определяется адресом в разрядах 12–23 кода команды, c — определяемую адресом в разрядах 24–35 кода команды.

Таблица с обозначением команд

Код операции Наименование команды Условие установки признака w Действия, выполняемые машиной по этой команде
01 Сложение с < 0 Происходит алгебраическое сложение чисел a и b, сумма нормализуется и помещается в ячейку c
03 Вычитание c < 0 От a отнимается b
05 Умножение |c| >= 1 Числа a и b умножаются
04 Вычитание модулей c < 0 От абсолютной величины a отнимается абсолютная величина b
06 Сложение порядков P© >= 1 В ячейку c записывается число с мантиссой a и порядок, равный сумме порядков чисел a и b
07 Вычитание порядков P© >= 1 В ячейку c записывается число с мантиссой числа a и порядок, равный разности порядков чисел a и b
10 Перенос числа с присвоением знака другого числа P© >= 1 1 В ячейку c записывается число, имеющее абсолютную величину a и знак числа b
12 Сложение чисел без округления c = 0 Числа a и b алгебраически складываются
11 Выделение части с = 0 Производится операция «Логическое И» между ячейками a и b
13 Формирование c = 0 Производится операция «Логическое ИЛИ» между ячейками a и b
16 Сравнение c!= 0 Производится операция «Исключающее ИЛИ» между ячейками a и b
14 Сдвиг по порядку c = 0 Содержимое всех разрядов ячейки a сдвигается на P (b) разрядов
17 Контрольное суммирование Числа a и b складываются по всем разрядам с циклическим переносом из старшего разряда в младший
02 Специальное сложение Производится сложение адресных полей ячеек a и b
15 Специальное вычитание Производится вычитание адресных полей ячейки b из ячейки a
62 Вычитание обратной величины Вычисляется n+1 величин, обратных числам в ячейке a и следующих за ней
63 Извлечение квадратного корня c = 0 Вычисляется n+1 квадратных корней из содержимого ячейки a и следующих за ней
64 Вычисление показательной функции Вычисляется n+1 показательных функций для ячеек a и следующих за ней
66 Вычисление логарифма Вычисляются n+1 натуральных логарифмов чисел, содержащихся в ячейках a и следующих
67 Вычисление синуса Вычисляются n+1 синусов чисел, содержащихся в ячейках a и следующих
73 Вычисление арктангенса Вычисляются n+1 арктангенсов чисел, содержащихся в ячейках a и следующих
74 Вычисление арксинуса Вычисляются n+1 арксинусов чисел, содержащихся в ячейках a и следующих
72 Перевод чисел в двоичную систему N+1 чисел из ячеек a и следующих переводятся из двоично-десятичной системы в двоичную и записываются в ячейки c
70 Перевод чисел в десятичную систему N+1 чисел из ячеек a и следующих переводятся из двоичной системы в двоично-десятичную и записываются в ячейки c
43 Перенос чисел с ленты в память Перенос n+1 чисел из зоны a магнитной ленты в память, начиная с адреса c
46 Перенос чисел из памяти на ленту Перенос n+1 чисел с перфокарт в память, начиная с адреса c
44 Перенос чисел из памяти на перфокарты Перенос n+1 чисел из памяти, начиная с адреса c, на перфокарты
45 Перенос чисел из памяти в память Перенос n+1 чисел из памяти, начиная с адреса a, в память, начиная с адреса c
20 Условный переход первого типа Если после выполнения предыдущей операции w=0, то управление передается команде с адресом a. Если же w=1, управление получит команда с адресом b
27 Условный переход второго типа Если после выполнения предыдущей команды w=0, то управление передается на адрес a. Если же w=1, управление получит команда с адресом b. Одновременно в ячейку c автоматически записывается команда возврата с кодом
25 Подвод ленты Подводится под считывающую головку зона a магнитной ленты. Поля b и c кода команды равны нулю. Эта команда выполняется одновременно со следующими за ней командами, не относящимися к магнитной ленте
40 Останов Машина останавливается и выдает на пульт управления числа a и b. Поле c кода команды равно нулю
26 Сравнение и останов при несовпадении Команда отличается от команды с кодом операции 16 тем, что при w=1 происходит останов с выдачей на пульт управления чисел a и b


Роль «Стрелы» в оборонной сфере СССР


В период 1953–1957 гг. ЭВМ «Стрела» была установлена в семи ключевых организациях Советского Союза. А именно: Отделение прикладной математики Математического института имени Стеклова (ОПМ МИАН СССР), Вычислительный центр №1 Министерства обороны СССР (ВЦ №1 МО СССР — в/ч 01168), Научно-исследовательский институт «Алмаз» (НИИ «Алмаз»), Вычислительный центр АН СССР (ВЦ АН СССР), Научно-исследовательский вычислительный центр Московского государственного университета имени М.В. Ломоносова (НИВЦ МГУ), Ядерный центр «Арзамас-16» и Ядерный центр «Челябинск-70». Машины использовали для ядерно-космических расчётов и решения определенных военных задач государственной важности.

Первый экземпляр ЭВМ «Стрела» был установлен в ОПМ МИАН СССР (1953 г.) — базовом советском институте проведения ядерно-космических расчетов. В середине 50-х советский ученый в области прикладной математики и механики Мстислав Всеволодович Келдыш, возглавляющий институт, совместно с отделом программирования занимался расчетами траекторий искусственных спутников Земли. Программы должны были обеспечивать круглосуточный режим обработки измерений траекторий ИСЗ. Они использовались также при расчетах полета Юрия Алексеевича Гагарина. Также на ЭВМ «Стрела» проводились аэродинамические расчеты советского пассажирского реактивного самолета Ту-104.

9fc9e64b507b4e63b2ca0008940aff6d.jpg

У пульта управления ЭВМ Стрела

Одним из наиболее важных мест установки ЭВМ «Стрелы» был вычислительный центр №1 Министерства обороны СССР поскольку там решались задачи государственной важности. В 1950 гг. на машине рассчитывались орбиты первых искусственных спутников Земли и межпланетных космических станций. Силами программистов и математиков решались разнообразные информационно-поисковые задачи для основных управлений и подразделений МО СССР (Главное артиллерийское управление, Генеральный штаб, Главное разведывательное управление, Управление тыла, Управление сухопутных войск и т.д.).

Седьмой экземпляр ЭВМ «Стрела поступил в Ядерный центр «Челябинск-70» — второй центр СССР по разработке ядерного оружия. В центре работал сильный коллектив физиков-теоретиков, специалистов по ЭВМ и учёных в области математического моделирования.

Создатели ЭВМ «Стрела» в 1954 г. получили Государственные премии I, II и III степеней. Ю.Я. Базилевскому было присвоено звание Героя Социалистического труда.

© Geektimes