ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.10.2023
Просмотров: 18
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА
Л16. Арифметико-логическое устройство (АЛУ)
Кафтан Ю. М.
2021
2
Арифметико-логическое устройство (АЛУ) – типовое устройство
ВТ предназначенное для выполнения арифметических и логических преобразований над словами.
АЛУ входит в состав любого микропроцессора.
АЛУ выполняют операции: сложения, вычитания, умножения и деления двух чисел, операции поразрядного логического сложения и логического умножения двух слов, преобразования кодов, операции сравнения, и некоторые другие операции.
Основой АЛУ служит сумматор, схема которого дополнена логикой,
расширяющей функциональные возможности
АЛУ
и обеспечивающей его перестройку с одной операции на другую.
Функциональное назначение АЛУ
3
- по способу обработки данных - параллельное, последовательное,
параллельно-последовательное;
- по системе счисления - двоичные, восьмеричные, десятичные,
шестнадцатеричные, а также устройства на основе специальных систем;
- по форме представления чисел - с плавающей запятой, с фиксированной запятой, двоично-десятичные, целые двоичные и десятичные числа;
- по времени выполнения операций - синхронные и асинхронные;
- по
способу
выполнения
микроопераций
- с
закреплёнными микрооперациями, с общими операциями;
Классификация АЛУ
- по структуре - c непосредственными связями и с магистральной структурой;
- по характеру использованных элементов и узлов - модульные и многофункциональные;
- по
организации
действий
над
операндами
- блочные и
многофункциональные;
- по типу управляющего автомата - со схемной или программируемой логикой;
4
5
Классификация АЛУ
В АЛУ параллельно-последовательного действия коды чисел разбиваются на группы из определённого количества разрядов. Операция над кодами чисел осуществляется параллельно над разрядами данной группы. Сами же группы разрядов обрабатываются последовательно.
В синхронных АЛУ на выполнение различных операций отводится один и тот же интервал времени, а в асинхронных время выполнения зависит от типа операции.
В АЛУ с закреплёнными микрооперациями каждый из регистров с помощью дополнительных комбинационных схем выполняет определённый набор микроопераций. При этом комбинационные схемы часто повторяются,
что требует значительных аппаратных затрат.
В АЛУ с общими микрооперациями выделяют запоминающую часть - блок регистров, в которых выполняются однородные микрооперации и комбинационную часть, в которой сосредоточены все схемы для выполнения микроопераций. Обе части соединяются между собой с помощью мультиплексоров и демультиплексоров. Арифметико- логические устройства с общими микрооперациями часто называют,
магистральными.
Многофункциональные АЛУ используются для выполнения всего списка операций, достигается соответствующей настройкой и коммутацией узлов.
Блочные АЛУ состоят из отдельных блоков, ориентированных на выполнение отдельных типов операций.
Такие структуры используются в высокопроизводительных компьютерах.
6
7
Условное графическое обозначение и цоколёвка
микросхемы К155ИП3 для высоких активных уровней
Входы операндов A и B; входы выбора операций S; вход переноса Cn и вход M
(Mode), сигнал которого задаёт тип выполняемых операций: логические (M
= 1) или арифметико-логические (M =
0).
Результат операции вырабатывается на выходах F. Выходы G и P выдают функции генерации и распространения переноса соответственно, используемые при наращивании разрядности АЛУ.
Сигнал Cn+4 – выходной перенос, а выход A = B – выход сравнения на равенство операндов A и B.
8
Любой цифровой вычислитель, в том числе и АЛУ, может быть представлен композицией операционного и управляющего устройства.
В операционном устройстве выполняются арифметико-логические операции.
Управляющее устройство, обеспечивает выполнение операций с помощью последовательности управляющих сигналов,
которую он производит в зависимости от прошивки.
В математических моделях АЛУ первое устройство представлено операционным автоматом, а второе - управляющим автоматом.
Операционный автомат (ОА) принимает по входу А операнды, по входу Y - управляющие сигналы {yi}, передаёт на выход Z результаты операции и формирует множество значений логических условий {xi}.
Управляющий автомат (УА) принимает по входу X логические условия {xi} и в зависимости от их значений и кода операции по входу F
формирует последовательность управляющих сигналов {yi}.
9
УА
Структура математической модели АЛУ
10
В АЛУ возможны два типа УА:
- со схемной («жёсткой») логикой, которая состоит из элементов памяти
(триггеров)
и комбинационных схем.
Они генерируют соответствующие управляющие сигналы в машинные такты в зависимости от кода операции;
- с программной (хранимой в памяти) логикой: для каждой операции в
специальной памяти
(обычно
ПЗУ)
записывается микропрограмма в виде последовательностей управляющих слов –
микрокоманд. Они содержат информацию о микрооперациях, которые должны выполняться в данном такте, и адрес следующей команды.
В состав ОА универсальных компьютеров входят:
- арифметико-логический блок (АЛБ);
- набор регистров общего назначения (РОН);
- блок контроля.
В АЛБ выделяют комбинационный сумматор SM, входные регистры A и B для приёма операндов и выходной регистр C для записи результата. В АЛБ имеются логические схемы, вырабатывающие множества сигналов логических условий (признаков результата) называемых флагами.
11
Обобщённая структура АЛУ
12
13
Принцип микропрограммного управления
Арифметико-логическое устройство работает на базе
микропрограммного управления.
Каждая машинная операция разделяется на последовательность элементарных действий (передача слов, инверсия слов и др.), реализуемых в тактах.
Элементарное функциональное вычисление, выполняющееся в одном машинном такте, называется микрооперация.
Каждая микрооперация инициируется соответствующим управляющим сигналом.
Совокупность микроопераций, выполняемых в одном такте,
называется микрокоманда.
В
частности,
микрокоманда может содержать одну микрооперацию или не одной.
Для выбора порядка прохождения микроопераций анализируются логические условия, которые принимают значения единицы (да) или нуля (нет) в зависимости от значений операндов и результатов вычислений.
Микроалгоритм операции,
записанный в
терминах микроопераций и логических условий, называется микропрограммой.
Каждая машинная операция имеет свою микропрограмму.
14
Регистр команд УУ
Код операции
Код адреса
Формирователь адреса микрокоманды
Микропрограмма сложения
Микропрограмма умножения
Микропрограмма деления
Микропрограмма вычитания
ПЗУ
Регистр микрокоманд
Код операции микрокоманды
Код адреса микрокоманды
Дешифратор кода операции микрокоманды
Из основной памяти
команда передаётся в
регистр команд УУ
Управляющие сигналы
поступают в АЛУ
16
Операции АЛУ
Шестнадцать логических операций позволяют воспроизводить все функции двух переменных.
В логико-арифметических операциях встречаются и логические и арифметические операции одновременно.
Запись типа А\/!В + АВ следует понимать так: вначале поразрядно выполняются операции инвертирования (В), логического сложения (А\/!В) и умножения
(АВ),
а затем полученные указанным образом два четырехразрядных числа складываются арифметически
ALU - Arithmetic Logic Unit
17
В зависимости от значений, поступающих на входы S и M, выполняется одна из 32 возможных операций. Разные операции требуют различного количества времени на своё выполнение.
УГО четырёхразрядного АЛУ
18
По своим функциям АЛУ является операционным модулем,
выполняющим микрооперации, обеспечивающие приём из других устройств операндов, их преобразование и выдачу результатов преобразования в другие устройства.
Выполнение всех операций в АЛУ может производиться одним узлом
–
сумматором.
В
этом случае
АЛУ
называют
многофункциональными.
Структура многофункционального АЛУ
Из ОЗУ
Из ОЗУ
Регистр первого
операнда
Регистр второго
операнда
Регистр А
Регистр В
Регистр С
Регистр D
Буферный
регистр
сумматор
Схема однобитовых
логических операций
Регистр суммы
Регистр 1-го
операнда
Регистр 2-го
операнда
Сумматор введения
избытка 6
Сумматор
операндов
Схема коррекции
результата
Регистр
результата
Первый операнд из ОЗУ
+ 0110
+1010
в ОЗУ
Второй операнд из ОЗУ
Например: модуль для выполнения только операции сложения над числами, представленными в двоично-десятичном коде (по методу
«введения избытка 6 в одно из слагаемых») должен иметь следующую структуру, где:
- регистры 1-го и 2-го операндов служат для приёма и хранения чисел на время выполнения операции;
- сумматор введения избытка 6 прибавляет избыток 6 в каждую тетраду первого операнда;
- сумматор операндов производит сложение операндов по правилам сложения двоичной арифметики и формирует промежуточную сумму;
21
- схема коррекции результата производит коррекцию каждой тетрады, если полученная в тетраде сумма больше 9, либо осуществлялся перенос в данную тетраду.
Коррекция производится вычитанием в ДК избытка 6 из данной тетрады. Если полученная сумма в тетраде меньше 9, то схема коррекции прибавляет 0 к данной тетраде.
Коррекция каждой тетрады составляющей предварительную сумму производится одновременно во всех тетрадах.
Отсутствие ступенчатой коррекции увеличивает быстродействие выполнения операции сложения.
22
23
Обобщённая структура АЛУ модульного типа
МФТ
МПТ
МДЧ
МПФ
УУ
Входная магистраль
Выходная магистраль
Из ОП
В ОП
В
настоящее время в
большинстве
ЭВМ
используется не многофункциональное
АЛУ,
которое служит для выполнения всех арифметических и логических операций, а модульное АЛУ, где каждую операцию выполняет определённый модуль.
24
АЛУ модульного типа имеет структуру, где ОП – оперативная память,
УУ – устройство управления, МФТ – модуль выполнения операций над числами с фиксированной запятой (ФЗ), МПТ – модуль выполнения операций над числами с плавающей запятой (ПЗ), МДЧ – модуль выполнения операций над десятичными числами, МПФ – модуль выполнения операций над числами переменного формата.
Само устройство, как таковое, предназначено для выполнения следующих групп операций:
- операции двоичной арифметики над числами с ФЗ и ПЗ;
- операции индексной арифметики;
- операции специальной арифметики;
- операции над логическими кодами;
- операции над алфавитно-цифровыми полями.
25
Модуль вычисления над числами с плавающей запятой
Узлы, входящие в состав АЛУ:
- регистр входной 1, регистр входной 2, входные регистры применяются для хранения числа;
- регистр мантисс 1, регистр мантисс 2, регистры используются для передачи мантиссы числа в сумматор;
- регистр суммы, выходной регистр используется при передаче мантисс в процедурах выравнивания порядков;
- регистр порядка 1, регистр порядка 2 – предназначены для принятия смещённых порядков слагаемых и передачи их в вычитатель;
- регистр вычитателя - выполняет функцию преобразователя кода;
- сумматор мантисс – предназначен для суммирования мантиссы числа;
- вычитатель порядка - производит вычитание порядка, в результате чего получается порядок разности
- счётчик порядка – необходим при анализе знаков (при переполнении).
26
Модуль МПТ производит действия над числами с плавающей точкой только лишь в том случае, если у чисел одинаковые порядки.
Алгоритм выполнения действия сложения чисел состоит из следующих этапов:
1 Выравнивание порядков.
2 Суммирование мантисс.
3 Определение порядков результата.
4 Нормализация результата.
5 Округление результата.
27
28
Выравнивание порядков осуществляется путём сдвига вправо (на количество разрядов равного разности порядков) числа с меньшим порядком.
Узлом, реализующим микроалгоритм выравнивания, является узел выравнивания порядков, который должен состоять из регистров,
предназначенных для хранения порядков суммирующихся чисел,
сумматора порядков, определяющего число с наименьшим порядком и счётчика сдвигов.
29
Суммирование мантисс производится по правилам сложения чисел с ФТ сумматором мантисс.
Определение порядка результата и
необходимость его нормализации производит узел выравнивания порядков.
Результат считается нормализованным, если в старшем разряде мантиссы не 0. В случае получения не нормализованного результата производится нормализация результата сдвигом мантиссы результата влево до появления
1 в старшем разряде. Количество сдвигов подсчитывает счётчик, а затем производится уменьшение порядка результата на число равное количеству сдвигов.
Округление результата производится по правилам округления чисел, представленных с ПТ