
Арифметическое устройство (АУ) является ключевым компонентом цифровой вычислительной машины, ответственным за выполнение всех арифметических и логических операций над числовыми данными. По сути, это вычислительный центр, где происходят основные математические преобразования.
Принцип работы и базовые операции
Любая сложная операция в АУ раскладывается на последовательность элементарных микроопераций. К ним относятся: обнуление разрядов, приём кода числа, сдвиг разрядов, получение обратного (инверсного) кода, сложение и выдача результата. Эти микрооперации выполняются над числами, хранящимися в специальных блоках устройства.
К основным арифметическим операциям относятся сложение, вычитание, умножение и деление. Операции вроде извлечения корня, возведения в степень или вычисления тригонометрических функций часто реализуются через стандартные подпрограммы, основанные на более простых действиях. Фундаментальной операцией для всей вычислительной машины является сложение, так как к нему, в конечном счёте, сводятся все остальные. Например, умножение — это многократное сложение, а деление — последовательность операций вычитания и сложения для нахождения цифр частного.
Взаимодействие с другими компонентами системы
Арифметическое устройство работает в тесной связке с центральным устройством управления (ЦУУ). Получив из запоминающего устройства исходные числа и команду от ЦУУ (например, «сложить» или «умножить»), АУ выполняет требуемую операцию. Результат затем отправляется обратно в запоминающее устройство, а служебные сигналы (окончание операции, переполнение разрядной сетки) передаются в ЦУУ для координации дальнейшей работы.
Архитектура и классификация
Конструкция и характеристики АУ определяются многими факторами: требуемым быстродействием, разрядностью чисел, системой счисления, алгоритмами выполнения операций, типом элементной базы и способом представления чисел (с фиксированной или плавающей запятой).
Типичное арифметическое устройство включает в себя несколько компонентов:
- Регистры — для кратковременного хранения чисел в процессе вычислений.
- Сумматоры — схемы, непосредственно выполняющие сложение.
- Логические цепи — для реализации элементарных операций (сдвиг, инверсия).
- Местное устройство управления — декодирует команды от ЦУУ и управляет последовательностью микроопераций внутри АУ.
По способу обработки чисел АУ делятся на три основных типа:
- Последовательного действия: числа обрабатываются по одному разряду за такт, начиная с младшего, с помощью одноразрядного сумматора.
- Параллельного действия: все разряды чисел обрабатываются одновременно, что требует многоканального сумматора, но значительно повышает скорость.
- Последовательно-параллельного действия: комбинированный подход, являющийся промежуточным вариантом.
Элементная база и методы ускорения вычислений
Исторически элементная база АУ эволюционировала от электронных ламп к полупроводниковым диодам, транзисторам и ферритовым ячейкам. К схемам предъявляются высокие требования по надёжности, технологичности и стабильности характеристик.
Особое внимание уделяется методам ускорения операций, особенно суммирования и умножения, как наиболее частых. В последовательных АУ ускорение достигается переходом к параллельным схемам. В параллельных АУ используются сложные методы, такие как схемы «с мгновенным переносом» или статистические методы, учитывающие характер переносов между разрядами.
Для ускорения умножения применяются:
- Логические методы (модификация множителя), почти не увеличивающие аппаратные затраты.
- Аппаратные методы 1-го порядка (дополнительные сумматоры), где объём оборудования растёт линейно с разрядностью.
- Аппаратные методы 2-го порядка (пирамиды сумматоров), обеспечивающие максимальное быстродействие, но требующие оборудования, пропорционального квадрату разрядности.
Современные тенденции и будущее развитие
Развитие арифметических устройств сегодня неразрывно связано с прогрессом микроэлектроники. Это открывает путь к созданию сверхпараллельных структур, матричных схем для прямых вычислений и широкому внедрению аппаратных методов ускорения. Активно ведутся поиски новых систем кодирования чисел, которые могли бы упростить выполнение операций. Ключевые цели разработчиков — дальнейший рост быстродействия, повышение надёжности, снижение энергопотребления, стоимости и габаритов вычислительных систем.