Арифметико-логическое устройство
Необходимые материалы для лекции Logisim-06.zip и Verilog-06.zip.
Арифметико-логическое устройство (АЛУ) - это один из ключевых компонентов процессора, отвечающий за выполнение арифметических и логических операций. Оно играет важную роль в обработке данных и выполнении команд, которые задаются программами.
Упрощенно в АЛУ можно определить следующие основные функции:
- Арифметические операции. АЛУ выполняет основные арифметические операции, такие как сложение, вычитание, умножение и деление. Эти операции могут выполняться над целыми числами и числами с плавающей запятой.
- Логические операции. АЛУ также выполняет логические операции, такие как AND, OR, NOT и XOR. Эти операции применяются для работы с двоичными числами и используются в таких задачах, как сравнение значений.
- Сравнения. Устройство может сравнивать два значения для определения, какое из них больше, меньше или равно. Это важно для принятия решений в программах.
- Сдвиги и вращения. АЛУ может выполнять операции сдвига и вращения битов в двоичных числах, что используется в различных алгоритмах и для оптимизации работы с данными.
АЛУ можно классифицировать по ряду признаков, приведенных ниже:
-
Классификация по способу представления данных:
- с фиксированной запятой;
- с плавающей запятой.
-
Классификация по способу действия над операндами:
- последовательные АЛУ, где каждая операция выполняется последовательно над каждым разрядом;
- параллельные АЛУ, операция выполняется над всеми разрядами данных одновременно;
-
Классификация по использованию систем счисления:
- двоичная;
- двоично-десятичная;
- восьмеричная;
- шестнадцатеричная;
-
Классификация по характеру использования элементов и узлов:
- блочные - для выполнения отдельных арифметических операций. В структуру АЛУ вводят специальные блоки, что позволяет вести процесс обработки данных параллельно;
- конвейерные. В конвейерных АЛУ операция разбивается на последовательность микроопераций, выполняемых за одинаковые промежутки времени (такты) на разных ступенях конвейера, что позволяет выполнять операцию над потоком операндов каждый такт;
- многофункциональные - это универсальные АЛУ, выполняющие множество операций в одном устройстве. В таких АЛУ требуется настройка на выполнение данной операции при помощи кода операции.
На рисунке 6.1 приведена блок схема АЛУ, отражающая основные узлы и операции, выполняемые в данном устройстве. Помимо операндов на АЛУ подаются управляющие сигналы, осуществляющие переключения внутри блоков и их коммутацию, тем самым определяя заданную операцию в определенный момент времени.
Логический блок, как было отмечено выше, реализует побитно логические операции над поступающими на его входы операнды. Для двух четырехразрядных слов выполнение операции AND (логическое "И") осуществляется на четырех двухвходовых конъюнктурах (рисунок 6.2). Подобным образом реализуются другие логические функции, заложенные в конкретное АЛУ.
Основной элементарной операцией, выполняемой над кодами чисел в цифровых устройствах, является арифметическое сложение. Сложение выполняется в цифровом устройстве - сумматоре.
Сумматор - комбинационная схема, выполняющая арифметическое сложение кодов двух чисел. Этот узел лежит в основе арифметико-логического устройства.
Полусумматор (half adder) - простейшее цифровое устройство, являющееся звеном сумматора. Это устройство реализует сложение двух одноразрядных двоичных чисел А и В. В результате получается двухразрядное двоичное число. Его младшую цифру обозначают S (лат. summa), а старшую, которая будет перенесена в старший разряд, - Co (англ. carry out - выходной перенос). В таблице 6.1 приведена таблица истинности полусумматора. На рисунке 6.3 приведена схема моделирования полусумматора.
Полусумматор имеет два входа (слагаемые) и два выхода - сумму в данном разряде и перенос в следующий разряд. Из схемы и таблицы видно, что перенос формируется логической функции AND (И): .