Подпишитесь на наши новости
Вернуться к началу с статьи up
 

АРИФМЕТИ́ЧЕСКОЕ УСТРО́ЙСТВО

Авторы: А. И. Грушин, А. В. Ермолович (актуализация 2015)

АРИФМЕТИ́ЧЕСКОЕ УСТРО́ЙСТВО (АУ), одно из осн. устройств ЭВМ, входящее в состав процессора, в котором выполняются арифметич. и логич. операции, т. е. происходит собственно преобразование информации. Различают АУ универсальные и специализированные. Универсальное АУ выполняет такие операции, как сложение, вычитание, сравнение, преобразование, умножение, деление, вычисление квадратного корня, сдвиг и др., предусмотренные системой команд ЭВМ. Простейший вид универсального АУ – арифметико-логическое устройство (АЛУ). Оно обрабатывает числа с фиксированной запятой (целые числа), выполняет операции сложения, вычитания, сдвига и логич. операции. Специализир. АУ выполняет группу близких по алгоритму операций. Так, устройство сложения реализует операции сложения, вычитания, сравнения и преобразования типов и форматов данных; устройство деления – деление и вычисление квадратного корня. Универсальное АУ имеет меньший объём оборудования, чем неск. специализированных, совместно выполняющих такие же функции. Преимуществом специализир. АУ является меньшее время выполнения операции. В состав АУ входят регистры, сумматоры, коммутаторы, сдвигатели, кодировщики приоритетов, дешифраторы и др. узлы. Регистры предназначены для врем. хранения информации, а сумматоры, сдвигатели и др.  для преобразования информации. Скорость работы этих узлов, особенно сумматора, в значит. степени определяет быстродействие АУ. Для работы АУ необходимо получить код операции и операнды (числа, над которыми выполняется операция). В вычислит. машинах существуют две формы представления чисел: с фиксированной запятой (преим. для целых чисел) и с плавающей запятой. Для представления целых чисел в ЭВМ обычно применяют 8-, 16-, 32- и 64-разрядные форматы, а для вещественных – 32-, 64-, 80- и 128-разрядные.

Осн. характеристики АУ: тип обрабатываемых операндов и их формат, время выполнения операций, пропускная способность. Время выполнения операций сложения, вычитания и сравнения целых чисел, логич. операций и операций сдвига обычно соответствует 1 такту (в самых быстрых совр. ЭВМ составляет 2∙10–9–2∙10–10 с). Для чисел с плавающей запятой 64-разрядного формата сложение занимает 2–4 такта, умножение 2–5 тактов, а деление от 9 до 60 тактов. Пропускная способность определяется тем, через сколько тактов после начала операции устройство может начать выполнение следующей операции. АУ, которое организовано по принципу конвейера (см. Процессор), способно каждый такт запускать новую операцию, что обеспечивает большую производительность ЭВМ. Для повышения скорости работы АУ используют более быстродействующую элементную базу, разрабатывают новые алгоритмы работы устройства, расширяют систему команд. Использование в ЭВМ неск. специализир. АУ позволяет выполнять одновременно неск. арифметич. операций, что существенно увеличивает производительность ЭВМ.

Начиная с 1990-х гг. получило распространение АУ, совмещающее умножение чисел с плавающей запятой со сложением (А·В+С). В таких АУ время выполнения сложной операции меньше суммы времён умножения и сложения. При этом экономится оборудование и уменьшается ошибка округления, т. к. округление производится только один раз. Эти устройства позволяют делить и извлекать квадратный корень по методу Ньютона – Рафсона и вычислять некоторые трансцендентные функции в ЭВМ, в которой отсутствует устройство деления. В это же время получили широкое распространение векторные и мультимедийные АУ (доступные посредством расширений систем команд Intel MMX, AMD 3DNow! , ARM Neon, Motorola AltiVec, и др.), позволяющие выполнять одну и ту же операцию одновременно над неск. парами операндов (напр., независимое сложение 16 пар чисел с плавающей запятой одинарной точности, доступное в расширении системы команд Intel AVX-512). Помимо работы с графической и аудиоинформацией, где приходится обрабатывать большие объёмы данных небольшой разрядности, они также активно применяются при ручном программировании критических по производительности участков кода (напр., подсчёт контрольных сумм в программной реализации некоторых уровней RAID (англ. Redundant Array of Independent Disks, избыточный массив независимых дисков) либо автоматической векторизации циклов современными оптимизирующими трансляторами. Особые требования к АУ предъявляются в специализир. ЭВМ, предназначенных для цифровой обработки сигналов (ЦОС), напр. радиолокационных. Они, как правило, обрабатывают числа с фиксированной запятой 16- и 32-разрядных форматов в режиме реального времени и очень часто используют АУ, выполняющие умножение с накоплением за один такт (перемножаются два целых операнда и прибавляется результат, полученный в предыдущей команде), т. к. эта операция часто используется в алгоритмах ЦОС. Прогресс в электронных технологиях позволяет разработчикам реализовывать в АУ всё более сложные и быстрые алгоритмы.

Лит.: Карцев М. А., Брик В. А. Вычислительные системы и синхронная арифметика. М., 1981; Parhami B. Computer arithmetic: algorithms and hardware designs. N. Y., 2000.

Вернуться к началу