Урал-1

«Урал-1»
Вид спереди
Вид спереди
Модель «Урал-1»
Класс малая
Производительность 100 оп./с
Система счисления двоичная
Представление чисел с фиксированной запятой
Разрядность 36 разрядов (35 и знак) или 18 разрядов (17 и знак).
Диапазон(ы)
Порядок выполнения команд заданный (естественный)
ОЗУ на магнитном барабане (2048 18-разрядных или 1024 36-разрядных двоичных кодов), время обращения 8 мс
ПЗУ накопитель на магнитной ленте; ёмкость до 40 000 36-разрядных двоичных кодов; скорость последовательной выборки 75 кодов в секунду
Устройства ввода
  • Ввод с перфорированной фотоплёнки со скоростью 75 кодов/с
  • Вывод на печатающее устройство со скоростью до 100 кодов/мин
  • Вывод на перфорированную фотоплёнку со скоростью до 150 кодов/мин
Количество ламп 1000
Потребляемая мощность

7,5 кВт [1]

(10 КВт[2])
Занимаемая площадь 70—80 м2
Режим эксплуатации произвольный
Начало производства 1957
Окончание производства 1961
Произведено экземпляров 183
Логотип Викисклада Медиафайлы на Викискладе

«Урал-1» — малая (по существовавшей на момент создания классификации) ламповая программно-управляемая вычислительная машина из семейства ЭВМ «Урал», предназначенная для решения инженерных задач в научно-исследовательских институтах, конструкторских бюро, в высших учебных заведениях и полигонах[3]. Первая серийно производимая ЭВМ на территории СССР (ранее неё была модель ЭВМ «Стрела», произведённая в количестве 7 шт). В сравнении с БЭСМ была существенно дешевле[1]. По утверждению Энтони Саттона в его книге «The best enemy money can buy», ЭВМ серии «Урал» были единственными серийно производимыми компьютерами в СССР в 1960-х годах, что неверно, так как серийно выпускались ЭВМ серии БЭСМ, в том числе БЭСМ-6 (1968 г.) — одна из лучших в мире среди ЭВМ 2-го поколения, а также ЭВМ серий М-20 и «Минск»[4].

История

ЭВМ была разработана в 19541955 годах, первый образец был создан тогда же (в 1955 году) на Московском заводе счётно-аналитических машин. Наладка осуществлялась СКБ-245. Частично налаженная машина была отправлена в Пензенский филиал (будущий Пензенский НИИ математических машин). Там же с 1957 по 1961 год осуществлялось серийное производство. Всего было произведено 183 машины. Одна из машин использовалась на космодроме «Байконур» для расчёта полёта ракет[5].

Главный конструктор — Б.И.Рамеев, разработчики: В. С. Антонов, Б.П. Бурдаков, А. Г. Калмыков, А. И. Лазарев, В. И. Мухин, А. Н. Невский, А. И. Павлов, Д. И. Юдицкий[5][6].

Описание

Лампы в панели
Унифицированные блоки ЭВМ УРАЛ-1

При занимаемой площади в 70—80 м2 машина содержала 1000 ламп (преимущественно 6Н8) и диодно-резисторные вентили, потребляла 7—10 кВт мощности.[7] Лампы выходили из строя примерно после 50 часов работы.[7]

Большинство инструкций выполнялось за два такта, однако в машине был реализован механизм совмещения по времени выполнения двух инструкций[8], являвшийся по сути двухступенчатым конвейером, поэтому фактическое быстродействие приближалось к 100 операциям с фиксированной запятой в секунду (операция деления выполнялась в четыре раза, а нормализации в два раза медленнее).

Ёмкость оперативной памяти составляла 1024 полных машинных слова (которые в 1960-е годы назывались «коды»), или примерно 4,5 кБ. Оперативная память реализовывалась на магнитных барабанах (100 оборотов в секунду). При этом размер ячейки памяти (36 или 18 бит) определялся адресом — одно и то же место на магнитном барабане могло быть прочитано как 36-битное число, так и как любое из двух 18-битных. Время доступа к машинному слову в памяти занимало 1 такт (в некоторых «неудачных» случаях — 2). Скорость последовательного чтения составляла 75 кодов в секунду.[1].

Для ввода-вывода использовался перфоратор. В качестве перфоленты использовалась зачернённая фотоплёнка. Скорость ввода составляла 3600 бод (100 слов в секунду) вывод — 5600 бод (150 слов в минуту). Пульт управления состоял из индикаторов, показывающих в двоичном коде значение регистров блоков управления и АЛУ (процессора, как отдельного устройства, машина не имела), позволял оператору выставлять значения этих регистров и осуществлять отладку с помощью нескольких клавиш и тумблеров. Данные в памяти сохранялись при выключении машины; записав на бумагу или распечатав значения регистров и введя их после включения, можно было продолжить расчёты с места прерывания. Машина также могла осуществлять цифровой вывод на печатающее устройство (100 машинных слов в минуту). «Урал-1» также имел накопитель на магнитной ленте со скоростью чтения 75 слов в секунду (2700 бод), скоростью записи 150 слов в минуту. Данные на плёнке хранились в форме зон (две зоны параллельно друг другу), которые отделялись друг от друга перфорацией (по магнитной плёнке). При том, что плёнка была медленнее перфоленты, она обеспечивала бо́льшую ёмкость (40 000 слов, то есть 180 кБ)[1].

При конструировании последующих моделей (Урал-2, Урал-3, Урал-4) была сохранена частичная программная и аппаратная совместимость с моделью «Урал-1»[5].

Архитектура[1]

  • Арифметическое устройство (АУ); регистры АУ, частного, входной и выходной регистр.
  • Устройство управления (УУ); регистр счётчика команд, регистр команд, регистр счётчик циклов
  • Оперативное запоминающее устройство
  • Накопитель на магнитной ленте
  • Устройства ввода и вывода

Арифметическое устройство и регистры

Функциональная схема АУ

В состав Арифметического устройства (АУ) входят следующие основные блоки:

  • СМ 37-разрядный двоичный сумматор (обозначение в формулах операций — s), работающий в обратном модифицированном коде;
  • ДСМ дополнительный 6-разрядный сумматор;
  • РГАУ 36-разрядный регистр АУ (обозначение в формулах операций — r), использующийся как вспомогательный при выполнении операций над кодами в АУ, для приёма кода числа из входного регистра, работающий в прямом коде;
  • ДРГ дополнительный 6-разрядный регистр;
  • РГМ 9-разрядный регистр множителя;
  • РГЧ 36-разрядный регистр частного, использующийся для деления.
  • Входной и выходной регистры имеют по 9 разрядов и используются для обмена кодами между АУ и другими устройствами (ОЗУ, накопители на магнитных лентах);
  • Пр преобразователи кода;
  • Блоки выработки управляющих сигналов ω и φ.

Оперативное запоминающее устройство

Магнитный барабан ОЗУ

Оперативное запоминающее устройство (ОЗУ) выполнено на магнитном барабане (называющееся «накопителем на магнитном барабане» НМБ) состоит из 2048 неполных ячеек, ёмкостью 18 разрядов. Ячейки нумеруются с 00008 до 37778 (восьмеричная система счисления). Две соседние неполные ячейки могут объединяться для создания одной полной 36-разрядной ячейки. Полные ячейки нумеруются (восьмеричные числа): 40008+n (где n — номер первой неполной ячейки, использующейся для хранения полной ячейки). Полные ячейки имеют адреса с 40008 до 77768 (с шагом в 2, то есть 40008, 40028, 40048…).

Устройство управления

Устройство управления (УУ) содержит:

  • Регистр-счётчик номера команды (C, «счётчик команд»), 11 разрядов. Используется для указания номера ячейки ОЗУ, из которой осуществляется выборка команды на регистр-сумматор команд.
  • Регистр-сумматор команд («регистр команд»), 18 разрядов. Представляет собой сумматор с циклическим переносом (из старшего в младший). Используется для выборки из ОЗУ, изменения и хранения очередной команды (выполняемой специальной операцией или по счётчику переадресации)
  • Регистр-счётчик переадресации (F, «счётчик циклов»), 11 разрядов. Используется для автоматического изменения адреса исполняемой команды (изменением управляет триггер f, являющийся частью УУ).

Пульт управления

Пульт управления и блок индикаторов

Пульт управления состоит из сигнальной и командной частей. Сигнальная представляет собой ряд индикаторов (неоновых лампочек), отображающих содержимое регистра-сумматора АУ, контрольного регистра, регистра команд, регистра-счётчика команд, сигналов φ и ω и др.

Управляющая часть содержит:

Панель управления крупным планом
  • Тумблеры, позволяющие указать значение ячейки памяти, которые выводятся в окне контрольного регистра (и обновляющиеся каждый такт)
  • Два тумблера: Блокировка φ и Остановка по φ, позволяющие отлаживать выполняемую программу. При включённом тумблере «Блокировка φ», очередная команда выполняется вне зависимости от значения φ и положения тумблера «Остановка по φ». Для φ=1 и выключенных тумблерах «Блокировка φ» и «Остановка по φ», следующая команда пропускается (в ранних экземплярах происходила передача управления на ячейку 00018). Если тумблер блокировки выключен, а тумблер остановки включен, то после выполнения очередной команды происходит останов.
  • Семь тумблеров для управления командами перехода по ключу (θ=23)
  • Две кнопки «Стирание», при одновременном нажатии которых происходит обнуление всех 1024 ячеек памяти в ОЗУ.
  • Кнопка «начальный пуск», при нажатии которой в ячейки 00028−00108 считывается содержимое зоны 00028 на перфоленте и передаётся управление команде в ячейке 00028. Зона 00028 на перфоленте называется Зона начального ввода.
  • Кнопка «Пуск»
  • Кнопка «Останов»
  • Кнопка «Однотактный режим», каждое нажатие которой приводит к выполнению одной (очередной) инструкции и останову
  • Тумблеры для указания адреса остановки (машина останавливается перед выполнением инструкции перед указанным адресом)
  • Два тумблера «печать программы» для вывода (во время вывода машина продолжает работать, с поправкой на задержку устройств ввода-вывода):
    • I режим: печать введённой в ОЗУ программы
    • II режим: печать адреса команды, вида исполняющейся команды и содержимого регистра сумматора.
  • Тумблеры остановки машины при обращении к НМЛ, перфоленте.
  • Клавиатура (числовая) для занесения чисел в сумматор и команды в регистр команд (для последующего его выполнения). Ввод осуществляется в восьмеричной системе счисления.

Устройства ввода-вывода

Блок чтения перфоленты

Запись на накопитель на магнитной ленте (НМЛ) блочная (зонная). Зоны нумеруются от 0000 до 01778 и от 10008 до 11778 (всего 256 зон). Размер зоны произвольный, может достигать размеров ОЗУ (1024 36-разрядных коды).

Физически на ленте зоны диапазона 0000-01778 и диапазона 10008−17778 располагаются попарно (первая зона слева, вторая справа по ширине ленты). Разметка ленты осуществляется перфорацией. Лента двигается в одну сторону, максимальная длина ленты 300 м. Время поиска зоны — до 5 минут.

Перфорированная лента (зачернённая киноплёнка) используется для ввода, максимальная длина 300 метров. Для чтения используется фотоэлетрический считыватель (скорость до 75 кодов в секунду). Считывание производится блоками (зонами), номера зон от 0000 до 01778. Максимальная ёмкость зоны — 1024 36-разрядных кодов или 2048 18-разрядных кодов. Обратное движение перфоленты не предусмотрено. Время поиска до 2 минут.

Вывод осуществляется на печатающее устройство или на перфоратор. Используется буферный регистр для кеширования. Вывод происходит без замедления работы машины при интервалах между выводом: 0,64 с при печати, 0,46 с при перфорировании.

Схема работы УУ

Тактовая частота (длительность рабочего цикла) определяется по времени оборота магнитного барабана. Такт делится на две части: первая часть (0.8 оборота барабана) — считывание (или запись — в зависимости от значения регистра команд) из/в ОЗУ числа, с которым производится операция. Одновременно производится считывание команды для следующего такта (согласно регистру-счётчику команд); вторая часть (0.2 оборота барабана) — выполнение арифметической (или другой) операции согласно коду операции, находившемуся перед выполнением такта в регистре команд. (В это время текущая команда сохраняется на специальном пятиразрядном регистре). Во время второй половины такта также производится инкремент счётчика команд и переадресация на содержимое регистра переадресации, если считанная команда содержит признак переадресации.

Выполнение операций нормализации и деления занимает 4 и 2 такта (оборота магнитного диска). Во время этих тактов выборка команд не производится.

Если исполнительный адрес команды ã находится в интервале от C до С+64 (C — регистр-счётчик команд), то время выполнения инструкции может увеличиться на 1 такт.

Команды

Урал-1 поддерживает 29 различных инструкций (35, включая 6 инструкций, которые «ничего не делают», аналог современного NOP). Существенным отличием от современной архитектуры компьютеров является равноправие операций с регистрами, оперативной памятью и устройствами ввода-вывода.

Арифметические команды: запись в регистр, сложение, сложение, допускающее переполнение, вычитание, разница модулей, два вида умножения, деление, смена знака, сдвиг влево и право (одна команда, направление сдвига определяется флагом), поразрядное умножение (конъюнкция), поразрядное сложение (дизъюнкция), сравнение, нормализация представления

Управляющие команды: запись в память, запись в регистр, запись адреса в сумматор, условный переход, безусловный переход, операция выбора по ключу (близкий аналог case в Си), команды организации цикла, команда изменения кода программы, команда остановки

Команды ввода-вывода: обмен данными с перфоленты (или магнитной ленты) и оперативной памяти, команда чтения с перфоленты, записи на перфоленту, вывод содержимого сумматора на перфораторе, команда «прогона» перфоленты.

Применение

Машины Урал-1 использовались для инженерных и экономических расчётов. В частности, Урал-1 применялся для расчёта полёта ракет на Байконуре, для моделирования процесса обучения, связанном с процессом творчества[9].

ЭВМ Урал-1 использовались и в школах. Например, в середине 1960-х гг. такая машина была передана в 30-ю математическую школу Ленинграда[10]. ЭВМ Урал-1 также использовалась как учебная в 239-й физико-математической школе Ленинграда до переезда в новое здание в 1975 году, где была заменена на ЭВМ Минск-22 и, к сожалению, не сохранилась. В 1965 г. машина Саратовского государственного университета (серийный номер в пределах первого десятка) после списания была передана в среднюю школу №13[11] (ныне Физико-технический лицей № 1) и использовалась для обучения школьников программированию. Впоследствии была расширена до Урал-3, а затем заменена ЭВМ 2-го поколения (БЭСМ). К сожалению, "Урал" не был принят на хранение местным краеведческим музеем и потому разобран.

Дополнительная литература

  • Бондаренко В. Н., Плотников И. Т., Полозов П. П., Программирование задач для машины «Урал», Изд. Арт. инж. академии им. Дзержинского, 1957
  • Китов А. И. Электронные цифровые машины. М.: Советское радио, 1956.
  • Китов А. И., Криницкий Н. А., Электронные цифровые машины и программирование, изд. второе, Физматгиз, 1961
  • Жданюк Б. Ф. Краткое руководство по работе за пультом управления вычислительной машины «Урал». М., 1961
  • Бураков М. В. Опыт эксплуатации цифровой вычислительной машины «Урал». М., 1962;
  • «УРАЛ-1» — первая советская серийная ЭВМ

Источники

Примечания

  1. 1 2 3 4 5 Н. А. Криницкий, Г. А. Миронов, Г. Д. Фролов. Программирование, под ред. М. Р. Шура-Бура. — Государственное издательство физико-математической литературы, Москва, 1963.
  2. Согласно «О ЭВМ Урал-1».
  3. Б. И. Рамеев. Универсальная автоматическая цифровая машина типа «Урал» Архивная копия от 22 декабря 2015 на Wayback Machine, материалы конференции «Пути развития советского машиностроения и приборостроения», Москва 1956, с. 38.
  4. CHAPTER V: Computers — Deception by Control Data Corporation. Дата обращения: 7 августа 2009. Архивировано из оригинала 2 мая 2009 года.
  5. 1 2 3 Виртуальный музей ВГУ :: ЭВМ :: Урал Архивная копия от 26 января 2021 на Wayback Machine.
  6. Крупносерийная малая ЭВМ «Урал-1» Архивная копия от 12 мая 2021 на Wayback Machine.
  7. 1 2 Горбунов Ю.И., Козырь И.Я. Полупроводниковые приборы и интегральные микросхемы. — Москва: Высшая школа, 1989.
  8. Смольников Н. Я. Основы программирования для цифровой машины «Урал». — Советское радио, 1961. — С. 83.
  9. http://mi.mathnet.ru/uzku230 М.~С.~Рытвинская «О моделировании схемы обучения, связанной с~процессом творчества» (в составе Вероятностные методы и кибернетика.~IV Учён. зап. Казан. гос. ун-та), 1965 том. 125 № 6, стр. 45-48, Изд-во Казанского ун-та, Казань
  10. https://www.youtube.com/watch?v=WpCA1LylZu4 Отрывок документального фильма об установке ЭВМ в 30-й школе
  11. https://www.nvsaratov.ru/nvrubr/?ELEMENT_ID=11534 Архивная копия от 13 апреля 2016 на Wayback Machine Воспоминания директора школы № 13

Ссылки

emural - разрабатываемый эмулятор ЭЦВМ семейства Урал