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

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

  • рубрика
  • родственные статьи
  • image description

    Электронная версия

    2015 год

  • image description

    Скопировать библиографическую ссылку:


    Электронная версия:



Авторы: А. И. Грушин, А. В. Ермолович (актуализация 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.

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