История отечественной вычислительной техники

Арифметико-логическое устройство ЭВМ М-10

Описаны структура, список операций, организация аппаратного контроля и другие особенности высокопроизводительного многоформатного многопроцессорного арифметико-логического устройства.

Электронно-вычислительная машина М-10 содержит два одинаковых арифметико-логических устройства (АУ). Каждое такое устройство помещается в одном стандартном двойном шкафу. При создании АУ М-10 основной задачей являлось достижение высокой производительности, хороших точностных свойств и высокой надежности при приемлемых значениях габаритов и стоимости.

    Для достижения этих целей:
  • был выбран обширный список операций;
  • широко использованы мощные структурные методы ускорения арифметических операций;
  • реализована возможность увеличения длины операндов до 128 разрядов;
  • реализована возможность увеличения потока данных благодаря одновременной обработке нескольких (до 8) пар операндов;
  • создана развитая система аппаратного контроля АУ. 

Был выбран синхронный принцип построения АУ с одинаковым временем выполнения любой операции (в многопроцессорных ЭВМ с одним потоком команд асинхронные методы неэффективны). Среди использованных структурных методов ускорения операций следует отметить применение сверхпараллельных сумматоров, матричных множительных устройств, одновременную расшифровку двух разрядов множителя при формировании каждого частичного произведения и др. 

В зависимости от формата операндов структура АУ перестраивается: если при формате 128 разрядов обрабатывается лишь одна пара операндов, то при уменьшении формата до 64 разрядов возможна одновременная обработка по одному коду операции двух пар операндов, а при уменьшении формата до 32 или 16 разрядов количество пар операндов увеличивается соответственно до 4 и 8.

Числа могут быть представлены как в форме с плавающей, так и с фиксированной занятыми (дробные или целые). Число с плавающей запятой содержит знак, 8-разрядный двоичный порядок и 23- или 55-разрядную мантиссу. Число с фиксированной запятой содержит 120, 60, 30 или 15 значащих разрядов и знак, который повторяется перед каждыми 15 значащими разрядами.

Полный список операций АУ приведен в табл. 1. Обозначения RN , RF , J указывают на форму представления чисел ( RN — плавающая запятая; RF — дробные числа, J — целые). В каждой клетке таблицы указаны формат операндов и результаты (0,5 означает 16 разрядов, 1 — 32 разряда, 2 — 64, 4 — 128), причем цифры 0,5 — 1; 1 — 2; 2 — 4 соответствуют операциям с двойной разрядностью результата; далее указано количество пар операндов (8, 4, 2 или 1) и, наконец, перечислены вырабатываемые признаки, кроме основного результата:
ω — признак переполнения;
e — признак равенства операндов;
m — признак того, что второй операнд больше первого;
z — признак равенства результата нулю;
s — признак отрицательного результата.

Наряду с традиционными арифметико-логическими операциями рассматриваемое АУ выполняет такие, как преобразования RN —> RF , RF —> RN из формы представления с плавающей запятой в форму с фиксированной запятой и обратно; операции с удвоенной разрядностью результата, сравнение с выделением максимального или минимального операнда. К числу необычных относятся операции вычисления суммы нескольких чисел и суммы парных произведений (последние 6 операций представлены в табл. 1).

Таблица 1.

Деление в АУ производится фактически по подпрограмме путем поочередного выполнения операций С:А(1), С:А(2), … При форматах 0,5; 1; 2 эта цепочка состоит соответственно из 3, 5, 7 операций, причем перед делением RF выполняется еще операция нормализации. Таким образом, подпрограмма деления содержит от 4 до 8 операций. Подробнее выполнение некоторых операций описано в [1]. Точность выполнения операций сложения — вычитания с плавающей запятой (в АУ использован новый способ округления) исследован в [2].

Упрощенная блок-схема устройства АУ приведена на рис. 1. Операнды принимаются во входные 128-разрядные регистры А, С через коммутаторы KA , KC либо с внешних шин, либо из 512 разрядной строки, составленной выходными регистрами В, Д обоих АУ. 

Блок-схема АУ

рис. 1 Блок-схема АУ 

Вспомогательный регистр L со входным коммутатором KL используется при операциях с накоплением. В регистр PK принимается код операции. Узел АУП служит для обработки порядков чисел с плавающей занятой. Коммутаторы операндов КФА, КФС приводят числа разных форм представления к стандартной форме, удобной для дальнейшей обработки. Сдвигатели вправо СдП/1, 2 и нормализаторы Нор/1, 2 используются при выравнивании порядков, сдвигах, логических операциях и нормализации результата. Через коммутаторы КВ, КД результат операции принимается в выходные регистры В, Д. Признаки ω, e , m , z , s формируются в узле УФПр и поступают на узел обработки УОПр. Результаты обработки запоминаются в регистрах РПр/1-3. В узел УОПр может также поступать информация из этих регистров и из ЗУ. 

Список поразрядных Логических операций

Рис. 2. Список поразрядных Логических операций

На рис. 2 представлены поразрядные логические операции, результат которых может приниматься в любой из трех регистров РПр/ ( =1,2,3); считается, что i ≠ j , j ≠ k , k ≠ i. Участие любого из операндов (ω, e , m , z , s , РПр/1, РПр/2, РПр/3) в операции над признаками может быть прямым или инверсным; может быть замаскировано. Кроме традиционного использования признаков для формирования условия передачи управления, они могут служить масками в АУ. Маски бывают двух типов: запрещают либо изменение информации замаскированных местах в регистрах В, Д, либо участие замаскированных операндов в операциях типа Е(А+ С), (АХС).

Таким образом, АУ является однотактным устройством: любая операция начинается с приема операндов и кода операции в регистры А, С, РК в заканчивается приемом результатов в регистры В, Д, РПр. Никаких других приемов информации в какие-либо триггеры (не считая триггеров системы аппаратного контроля) за время операции не производится.

Для повышения надежности устройства контроль должен как можно полнее охватывать узлы устройства при небольшом по возможности объеме контрольного оборудования. Успешному решению этой задачи в значительной мере способствует учет специфики конкретной структуры устройства и методов контроля. Так, например, большой объем аппаратуры узла умножения определил выбор метода контроля операций, использующих этот узел, — контроль по модулю 3. Другой пример: поскольку в АУ могут выполняться операции с удвоением разрядности результата, то при операциях с одинарной длиной результата часть оборудования можно использовать для дублирования и обнаруживать ошибки путем сравнения выходных сигналов коммутаторов КВ, КД. Описанию системы контроля АУ посвящена работа [З].

Большое внимание при проектировании было уделено вопросам, связанным с наладкой и проверкой АУ в автономном режиме, при котором (как и в централизованном режиме) имитация кодов операций и операндов может осуществляться при помощи встроенного генератора чисел. Для выбора его структуры было выполнено моделирование основных узлов АУ [4]. В режиме работы с генератором чисел формат операндов выбирается не максимальным, что позволяет осуществлять контроль путем сравнения сигналов на выходах коммутаторов КВ, КД. Еще более широкая проверка аппаратуры (в частности и проверка регистров А, С, В, Д) достигается путем сравнения регистров В, Д двух АУ в режиме, при котором кодовые датчики (генераторы тактовых импульсов) обоих АУ запускаются синхронно; оба генератора чисел начинают работу с одинаковых исходных состояний; результаты операций принимаются в регистры В, Д и затем передаются в регистры А, С. 

Опыт эксплуатации АУ показал, что удачная организация световой индикации состояния аппаратуры позволяет быстро производить ремонт (при устойчивых неисправностях) АУ. Манипулируя тумблерами управления индикации и поочередно выводя на лампочки местной панели АУ состояния различных узлов, можно во многих случаях устанавливать место неисправности, не пользуясь ни вольтметром, ни осциллографом. Несмотря на то, что АУ содержит 150 съемных блоков, в которых расположено в общей сложности примерно 100 000 микросхем серии 217, среднее время локализации устойчивой неисправности с точностью до микросхемы составляет приблизительно 20 мин, а локализация неисправности с точностью до блока и замена его во многих случаях производятся за 2-З мин.

Литература

  1. Брик В. А., Гаврилин  В. А., Златников  В. М. и др. Многопроцессорное арифметическое устройство. Сборник “Вопросы радиоэлектроники”, серия “Электронная вычислительная техника”, выпуск 5, 1972 г.
  2. Брик В. А.  Точность выполнения операций сложения — вычитания с плавающей занятой. — Сборник “Вопросы радиоэлектроники”, серия “Электронная вычислительная техника”, выпуск 5, 1972 г., с. 74-81.
  3. Кислинский В. А.  Система контроля многопроцессорного многоформатного арифметического устройства.  — Сборник “Вопросы радиоэлектроники”, серия “Электронная вычислительная техника”, выпуск 5, 1972 г., с. 68-73
  4. Кислинский В. А., Коновалов  А. Г.  Контрольные тесты для матричных множительных устройств. — Сборник “Вопросы радиоэлектроники”, серия “Электронная вычислительная техника”, выпуск 9, 1971 г.

Статьи об ЭВМ М-10 
Сборник “Вопросы радиоэлектроники”, серия “Электронная вычислительная техника”, выпуск 9, 1980 г.
Перепечатывается с разрешения авторов.
Статья помещена в музей 09.03.2007 г.