- Урал-1
-
«Урал-1» — малая (по существовавшей на момент создания классификации) ламповая программно-управляемая вычислительная машина из семейства ЭВМ «Урал», ориентированная на решение инженерно-технических и экономических задач. Применялась на производствах, в вычислительных центрах НИИ, конструкторских бюро. Первая серийно производимая ЭВМ на территории СССР (ранее неё была модель ЭВМ «Стрела», произведённая в количестве 7 шт). В сравнении с БЭСМ была существенно дешевле.[1] По утверждению Энтони Саттона в его книге «The best enemy money can buy», ЭВМ серии «Урал» были единственными серийно производимыми компьютерами в СССР в 1960-х годах, что неверно, так как серийно выпускались ЭВМ серии БЭСМ, в том числе БЭСМ-6 (1968 г.) — одна из лучших в мире среди ЭВМ 2-го поколения, а также ЭВМ серий М-20 и «Минск».[3]
Содержание
История
ЭВМ была разработана в 1954-55 годах, первый образец был создан тогда же (в 1955 году) на Московском заводе счётно-аналитических машин. Наладка осуществлялась СКБ-245. Частично налаженная машина была отправлена в Пензенский филиал (будущий Пензенский НИИ математических машин). Там же, с 1957 по 1961 год, осуществлялось серийное производство. Всего было произведено 183 машины. Одна из машин использовалась на космодроме «Байконур» для расчёта полёта ракет[4].
Главный конструктор — Башир Искандарович Рамеев, разработчики: В. С. Антонов, А. Г. Калмыков, А. И. Лазарев, В. И. Мухин, А. Н. Невский, А. И. Павлов, Д. И. Юдицкий[4]
Описание
При занимаемой площади в 70-80 м² машина содержала 1000 ламп (преимущественно 6Н8) и диодно-резисторные вентили, потребляла 7-10 кВт мощности и была способна выполнять 100 операций с плавающей запятой в секунду (операций сложения, вычитания, перехода, умножения) Операция деления выполнялась в четыре раза, а нормализации в два раза медленнее. Пиковая производительность машины была порядка 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.[4]
Архитектура[1]
- Арифметическое устройство (АУ); регистры АУ, частного, входной и выходной регистр.
- Устройство управления (УУ); регистр счётчика команд, регистр команд, регистр счётчик циклов
- Оперативное запоминающее устройство
- Накопитель на магнитной ленте
- Устройства ввода и вывода
Арифметическое устройство и регистры
Арифметическое устройство (АУ) состоит из 37-разрядного двоичного сумматора (s), работающего в обратном модифицированном коде. АУ может генерировать два сигнала: сигнал переполнения φ и сигнал условного перехода ω.
Регистр АУ (r) состоит из 36 основных и 6 дополнительных разрядов, используется как вспомогающий при выполнении операций над кодами в АУ, применяется для приёма кода числа из входного регистра. Регистр частного состоит из 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 инструкций, которые «ничего не делают», аналог современного NOOP). Существенным отличием от современной архитектуры компьютеров является равноправие операций с регистрами, оперативной памятью и устройствами ввода/вывода.
Арифметические команды: запись в регистр, сложение, сложение, допускающее переполнение, вычитание, разница модулей, два вида умножения, деление, смена знака, сдвиг влево и право (одна команда, направление сдвига определяется флагом), поразрядное умножение (конъюнкция), поразрядное сложение (дизъюнкция), сравнение, нормализация представления
Управляющие команды: запись в память, запись в регистр, запись адреса в сумматор, условный переход, безусловный переход, операция выбора по ключу (близкий аналог case в Си), команды организации цикла, команда изменения кода программы, команда остановки
Команды ввода-вывода: обмен данными с перфоленты (или магнитной ленты) и оперативной памяти, команда чтения с перфоленты, записи на перфоленту, вывод содержимого сумматора на перфораторе, команда «прогона» перфоленты.
Применение
Машины Урал-1 использовались для инженерных и экономических расчётов. В частности, Урал-1 применялся для расчёта полёта ракет на Байконуре, для моделирования процесса обучения, связанном с процессом творчества.[5]
Дополнительная литература
Урал-1 на Викискладе? - Бондаренко В. Н., Плотников И. Т., Полозов П. П., Программирование задач для машины «Урал», Изд. Арт. инж. академии им. Дзержинского, 1957
- Китов А. И., Электронные цифровые машины, «Советское радио», 1956
- Китов А. И., Криницкий Н. А., Электронные цифровые машины и программирование, изд. второе, Физматгиз, 1961
- Смольников Н. Я., Основы программирования для цифровой машины «Урал», «Советское радио», 1961
- Бураков М. В. Опыт эксплуатации цифровой вычислительной машины «Урал». М., 1962;
Источники
- Н. А. Криницкий, Г. А. Миронов, Г. Д. Фролов, Программирование, под ред. М. Р. Шура-Бура, Государственное издательство физико-математической литературы, Москва, 1963 (Глава 9)
- Сергей Тархов «Урал» (рус.). Музей истории отечественных компьютеров. Архивировано из первоисточника 20 ноября 2012. Проверено 29 октября 2012.
- О ЭВМ «Урал-1»
- S. E. Khusid, I. A. Itskovich, I. S. Litvak and I. M. Lobov Application of the Ural-1 computer for designing constricting devices //Measurement Techniques, New York, 1972 (перевод из журнала «Измерительная техника», № 3, 1965
- Фрагменты книги Г. С. Смирнова «Семейство ЭВМ „Урал“. Страницы истории разработок.»
- Г. С. Смирнов. Ферритовая память ЭВМ «Урал»
Примечания
- ↑ 1 2 3 4 5 Согласно Н. А. Криницкий, Г. А. Миронов, Г. Д. Фролов — Программирование
- ↑ Согласно «О ЭВМ Урал-1»
- ↑ CHAPTER V: Computers — Deception by Control Data Corporation
- ↑ 1 2 3 Виртуальный музей ВГУ :: ЭВМ :: Урал
- ↑ http://mi.mathnet.ru/uzku230 М.~С.~Рытвинская «О моделировании схемы обучения, связанной с~процессом творчества» (в составе Вероятностные методы и кибернетика.~IV Учён. зап. Казан. гос. ун-та), 1965 том. 125 № 6, стр. 45-48, Изд-во Казанского ун-та, Казань
Категория:- Компьютеры СССР
Wikimedia Foundation. 2010.