Назначение и классификация арифметико-логических устройств
Арифметико-логическое устройство функционирует на основе микропрограммного управления. Каждая машинная операция разделяется на последовательность элементарных действий (передача слов, инверсия слов и др.), реализуемых в тактах. Элементарное функциональное вычисление, выполняемое в одном машинном такте, называется микрооперацией. Каждая микрооперация инициируется соответствующим управляющим сигналом. Совокупность микроопераций, выполняемых в одном такте, называется микрокомандой. В частности, микрокоманда может содержать одну микрооперацию или ни одной.
Для выбора порядка прохождения микроопераций анализируются логические условия, которые принимают значение единицы (да) или нуля (нет) в зависимости от значений операндов и результатов вычислений. Микроалгоритм операции, записанный в терминах микроопераций и логических условий, называется микропрограммой. Каждая машинная операция имеет свою микропрограмму.
Любой цифровой вычислитель, в том числе и АЛУ, может быть представлен композицией операционного и управляющего устройств. В операционном устройстве выполняются арифметикологические операции. Управляющее устройство обеспечивает выполнение операций с помощью последовательности управляющих сигналов, которую он вырабатывает в зависимости от микропрограммы. В математических моделях АЛУ первое устройство представлено операционным автоматом, а второе – управляющим автоматом (рисунок 7.2.1).
Рисунок 7.2.1. Структура математической модели АЛУ
Операционный автомат (ОА) принимает по входу А операнды, по входу Y – управляющие сигналы {уi}, передает на выход Z результаты операции и формирует множество значений логических условий { xi }.
Управляющий автомат (УА) принимает по входу X логические условия {xi } и в зависимости от их значений и кода операции по входу F формирует последовательность управляющих сигналов { уi }.
Арифметико-логические устройства классифицируют по следующим признакам:
–способу обработки данных – параллельные, последовательные, параллельно-последовательные;
–системе счисления – двоичные, восьмеричные, десятичные, шестнадцатеричные, а также устройства на основе специальных систем (остаточных классов, с искусственным порядком веса, чисел Фибоначчи) и др.;
– форме представления чисел – с плавающей запятой, с фиксированной запятой, целые двоичные и десятичные числа;
– времени выполнения операций – синхронные и асинхронные;
– способу выполнения микроопераций – с закрепленными микрооперациями, , с общими операциями;
– типу управляющего автомата — со схемной или программируемой логикой;
– методу построения – многофункциональные и блочные.
В синхронных АЛУ на выполнение различных операций отводится один и тот же интервал времени, а в асинхронных время выполнения зависит от типа операции.
В АЛУ с закрепленными микрооперациями каждый из регистров с помощью дополнительных комбинационных схем выполняет определенный набор микроопераций. При этом комбинационные схемы часто повторяются, что требует значительных аппаратных затрат.
В АЛУ с общими микрооперациями выделяют запоминающую часть – блок регистров, в которых выполняются однородные микрооперации (прием операндов, их хранение и выдачу), и комбинационную часть, в которой сосредоточены все схемы для выполнения микроопераций (формирование кодов, сдвиги, сложение и др.). Обе части соединяются между собой с помощью мультиплексоров и демультиплексоров. Арифметико-логические устройства с общими микрооперациями часто называют магистральными (к числовым магистралям по очереди подключаются регистры).
Многофункциональные (универсальные) АЛУ используются для выполнения всего списка операций, что достигается соответствующей настройкой и коммутацией узлов. Блочные АЛУ состоят из отдельных блоков, ориентированных на выполнение отдельных типов операций (например, блок умножения чисел с плавающей запятой). Такие структуры используются в высокопроизводительных компьютерах.
В АЛУ возможны два типа УА: со схемной (“жесткой”) логикой, с программируемой (хранимой в памяти) логикой.
Обобщенная структура АЛУ показана на рисунке 7.2.2.
АЛУ состоит из управляющего автомата (УА) и операционного автомата (ОА)
В УА поступает код операции (КОП) от центрального устройства управления. Применение в АЛУ устройств управления со схемной логикой ускоряет выполнение операций. Применение УА с программируемой логикой обеспечивает гибкость микропрограммирования, позволяет изменять состав микропрограмм при вводе новых команд. В современных АЛУ могут объединяться оба типа УА.
В состав ОА универсальных компьютеров входят:
– арифметико-логический блок (АЛБ);
– набор регистров общего назначения (РОН);
– блок контроля.
В АЛБ выделяют комбинационный сумматор SM, входные регистры А и В для приема операндов и выходной регистр С для записи результата. В АЛБ имеются логические схемы, вырабатывающие множества { xi } сигналов логических условий (признаков результата), например, нулевой или отрицательный результат и др.
Рисунок 7.2.2. Обобщенная структура АЛУ
Регистры общего назначения используют для приема и хранения операндов, промежуточных и конечных результатов. Блок контроля обеспечивает проверку правильности выполнения арифметико-логических операций одновременной реализацией той же команды дублирующей аппаратурой и сравнением результатов или путем выполнения действий над специальными кодами, полученными от операндов при сложении по модулю два, три и др.. При обнаружении ошибок и сбоев в работе ОА блок контроля посылает в УА код ошибок { кi }.