Арифметическое устройство
Арифметическое устройство(АУ), одно из основных устройств электронной цифровой вычислительной машины (ЦВМ), в котором непосредственно выполняются арифметические и логические операции над числами. Выполнение любой арифметической или логической операции в АУ сводится по существу к последовательному выполнению ряда элементарных операций или микроопераций: установка в "нуль" любых разрядов блоков АУ, приём кода числа или отдельного разряда, выдача кода, получение инверсной (обратной) величины кода числа, сложение кодов, сдвиг кода в сторону младших или старших разрядов числа и т.д.
К арифметическим операциям относятся сложение, вычитание, умножение, деление и извлечение корня. Последние два действия, а также возведение в степень, определение логарифмов, тригонометрических функций и т.п. часто выполняются по стандартным подпрограммам. Основная операция ЦВМ - сложение, к которому сводятся все арифметические операции. Например, вычитание числа В из числа А заменяется сложением с помощью соотношения А - В = А + (-В), в котором оба числа могут быть представлены прямым, обратным или дополнительным кодом (см. Код в вычислительной технике); умножение сводится к многократному суммированию множимого; деление - к последовательному нахождению цифр частного с помощью сложения и вычитания.
АУ в составе ЦВМ связано с запоминающим устройством (ЗУ) и центральным устройством управления (см. Управляющее устройство). Из ЗУ поступают исходные числа, по команде центрального устройства управления ("сложить", "вычесть", "умножить" и т.д.) АУ производит соответствующие операции, результаты операций передаются снова в ЗУ, а сигналы окончания операции, признаки переполнения разрядной сетки и др., при необходимости,-в центр. устройство управления.
Основные характеристики и состав АУ зависят от принятой системы счисления, разрядности чисел, требуемого быстродействия, алгоритмов выполнения операций и их ускорения, формы представления чисел и типа применяемых схем и связей между ними (потенциальные, импульсные или импульсно-потенциальные).
АУ обычно состоит из нескольких регистров для кратковременного хранения чисел, сумматоров, логических цепей для выполнения элементарных операций над числами и местного устройства управления, воспринимающего команду на выполнение операции от центр. устройства управления машины и отрабатывающего необходимую последовательность частных команд.
В зависимости от применяемого способа суммирования чисел различают АУ последовательного, параллельного и последовательно-параллельного действия. В АУ последовательного действия суммирование двух чисел выполняется одноразрядным сумматором, через который последовательно, начиная от младших, проходят все разряды слагаемых. В АУ параллельного действия все разряды каждого из слагаемых передаются в сумматор одновременно, количество разрядов сумматора соответствует количеству разрядов в слагаемых. АУ последовательно-параллельного действия - промежуточная форма. Регистры параллельного АУ строятся из триггеров или аналогичных элементов и обеспечивают одновременный доступ ко всем разрядам числа. В АУ последовательного действия в качестве регистров используются также линии задержки, которые, если необходимо, замыкаются в кольцо через усилители и логические цепи рециркуляции. В элементах и схемах АУ используются электронные лампы (в ранних образцах), транзисторы, полупроводниковые диоды, ферриттранзисторные ячейки и ферритдиодные ячейки. В АУ с микропрограммным управлением в составе местного устройства управления применяют также ферритовые матрицы для хранения микропрограмм операций.
Общие требования к элементам схем АУ - высокая надёжность, взаимозаменяемость однотипных элементов, технологичность, повторяемость основных характеристик в производстве. В зависимости от способа кодирования чисел АУ строятся для операций в двоичной или десятичной, реже - в троичной или какой-либо другой системе счисления, с различным количеством разрядов, с числами, представленными с фиксированной или с плавающей запятой, или с теми и с другими.
Методы ускорения выполнения операций применяются либо к элементарным операциям (частям полных), либо к полным операциям АУ. Особенно эффективно ускорение элементарной операции суммирования, поскольку она входит существенной частью в алгебраическое сложение-вычитание, умножение, деление и др. В последовательных АУ ускорение суммирования достигается переходом к последовательно-параллельным схемам; в параллельных - применением схем, использующих статистический характер переносов, схем "с мгновенным переносом" и т.д. Наиболее разработаны методы ускорения умножения. В последовательных устройствах они основаны большей частью на введении дополнит. сумматоров, позволяющих одновременно суммировать несколько частичных произведений; в пределе наличие n сумматоров последовательного типа (или n/2 сумматоров и логических схем) даёт возможность выполнить умножение за 2n тактов. В параллельных АУ применяются методы ускорения умножения логические и аппаратные 1-го и 2-го порядка. Логические методы основываются на преобразовании множителя; увеличение аппаратуры при их использовании касается только местного устройства управления и не зависит от количества разрядов в перемножаемых числах; теоретический и практический предел возможностей логических методов - уменьшение среднего количества суммирований при выполнении одного умножения до 1/3 на каждый двоичный разряд множителя. Аппаратные методы 1-го порядка основываются на введении дополнительных сумматоров, дополнительных цепей запоминания переносов или замене цепей сдвига цепями умножения и деления на особые множители; количество дополнительного оборудования пропорционально количеству разрядов; количество тактов суммирования в процессе умножения теоретически может быть уменьшено до одного (независимо от количества разрядов множителя), но практически этот предел не достигается. Аппаратные методы 2-го порядка основываются на построении пирамид сумматоров; количество оборудования пропорционально квадрату количества разрядов, время умножения - 2-3 такта суммирования. Аналогичные методы разрабатываются для ускорения операции деления.
Основные тенденции в развитии АУ связаны с применением микроэлектроники. Поэтому используются матричные схемы для прямого суммирования и умножения десятичных цифр, сверхпараллельные и параллельно-параллельные сумматоры, аппаратные методы 2-го порядка для ускорения умножения и деления, т. е. построения с большим количеством повторяющихся элементов и систематическими связями между ними. Разрабатываются также новые способы кодирования чисел, упрощающие выполнение операций, новые методы ускорения операций, аппаратного контроля и исправления ошибок. При этом ставятся задачи повышения быстродействия, уменьшения габаритов, стоимости, потребляемой мощности, увеличения надёжности.
Лит: Ричардс Р. К., Арифметические операции на цифровых вычислительных машинах, пер. с англ., М., 1957; Хетагуров Я. А., Арифметические устройства вычислительных машин дискретного действия, М., 1961; Карцев М. А., Арифметика цифровых машин, М., 1969.
М. А. Карцев.