Видео: MC+RP2: 8-разрядное арифметио-логическое устройство/8-bit ALU
Как известно, процессор компьютера состоит из четырех базовых компонентов: арифметико-логического устройства, модуля ввода/вывода, а также блоков памяти и управления. Такую архитектуру определили еще в прошлом веке и, несмотря на то что прошло немало времени, классическая структура фон Неймана остается актуальной.
Что такое АЛУ?
Арифметико-логическое устройство – это один из компонентов процессора, который необходим для осуществления преобразований логического и арифметического типа, начиная элементарными и заканчивая сложными выражениями. Разрядность используемых операндов принято считать длиной слова, или размером.
Главная задача АЛУ заключается в переработке данных, хранящихся в оперативной памяти компьютера. Кроме того, арифметико-логическое устройство способно производить сигналы управления, которые направляют ЭВМ на выбор правильного пути для выполнения необходимого вычислительного процесса в зависимости от итоговых типов данных. Все операции задействуют электронные схемы, каждая из которых структурно делится на тысячи элементов. Такие платы обычно быстродейственные и отличаются высокой плотностью.
Видео: RedStone Guide - #8 - Сумматор и АЛУ (Часть 1)
В зависимости от сигналов, которые поступают на вход, АЛУ выполняют разные типы операций с двумя числами. Любое арифметико-логическое устройство компьютера предусматривает реализацию четырех базовых действий, сдвигов, а также логических преобразований. Набор операций АЛУ – это его главная характеристика.
Составные части арифметико-логического устройства – это четыре основные группы узлов, которые соответствуют процессам управления, передачи, хранения и преобразования поступающих данных.
Узлы хранения АЛУ
К этой категории относятся:
- триггеры, хранящие вспомогательные биты и разные признаки результатов;
- регистры, отвечающие за целостность операндов, промежуточных и конечных итогов.
Иногда регистры арифметико-логического устройства могут объединяться в специализированный блок памяти, а триггеры - формировать единый регистр состояния.
Узлы передачи АЛУ
К этой категории относятся:
- шины, соединяющие между собой блоки устройства;
- мультиплексоры и вентили, отвечающие за выбор правильного направления выполнения операций.
Узлы преобразования АЛУ
Сюда относятся:
- сумматоры, выполняющие микрооперации;
- схемы выполнения логических действий;
- сдвигатели;
- корректоры для десятичной арифметики;
- преобразователи кода, использующиеся для получения обратных или дополнительных данных;
- счетчики для подсчета количества выполненных циклов и для реализации вспомогательных преобразований.
Узлы управления АЛУ
К этой категории объектов относятся:
- контрольный блок;
- дешифратор сигналов;
- схемы преобразования логических признаков, необходимые для формирования ветвей для выполнения микропрограмм.
Действие устройства управления процессора
Этот блок отвечает за выработку последовательности функциональных сигналов, нужной для корректного выполнения заданной команды. Как правило, такие преобразования реализуются за несколько тактов.
Управляющее устройство обеспечивает автоматическое выполнение программы. При этом задействуются необходимые координированные ответвления работы прочих составляющих компонентов машины.
За действие устройства управления отвечает базовый принцип микропрограммирования, имеющий четкое число характеристик.
Классификация АЛУ
Арифметико-логические устройства по способу оперирования переменными делят на параллельные и последовательные. Главное отличие между этими АЛУ заключается в способе представления операндов и выполнения операций.
Видео: RedStone Guide - #9 - Сумматор и АЛУ (Часть 2)
По характеру использования арифметико-логические устройства делят на многофункциональные и блочные. В АЛУ первого типа для выполнения операций с различными формами преставления чисел используются одни и те же схемы, которые приспосабливаются к затребованному режиму работы с данными. В блочных устройствах все операции выполняются через распределение по видам данных. Для действий с десятичными числами, цифровыми и алфавитными полями, цифрами с плавающей или фиксированной точкой используются различные схемы. При этом арифметико-логическое устройство работает намного быстрее благодаря параллельному выполнению заданных задач. Но у них есть и недостаток – увеличенные затраты на поддержку оборудования.
Арифметико-логическое устройство по способу представления может использоваться для:
- десятичных чисел;
- чисел с плавающей точкой;
- чисел с фиксированной точкой.
Операции устройства
Структура АЛУ предполагает выполнение действий через логические функции, которые делятся на такие группы:
- десятичная арифметика;
- двоичная арифметика для цифр с четко обозначенной точкой;
- шестнадцатеричная арифметика для выражений с плавающим разделителем;
- модификация адресов команд;
- операции логического типа;
- преобразование алфавитно-цифровых полей;
- специальная арифметика.
Современные электронно-вычислительные машины способны реализовать все вышеупомянутые типы активности, а микроЭВМ не имеют такого базового функционала, поэтому наиболее сложные процедуры выполняют через подключение небольших подпрограмм.
Арифметические операции и логические процедуры
Все действия АЛУ можно условно разделить на несколько групп.
Арифметические операции включают в себя деление, умножение, вычитание модулей, обычное вычитание и сложение.
Видео: Схемотехника ЭВМ - проектирование АЛУ
К группе логических преобразований причисляют логическое «и» и «или», то есть конъюнкцию и дизъюнкцию, а также сравнение данных на равенство. Такие процедуры, как правило, проводят над двоичными словами, состоящими из множества разрядов.
К специальным арифметическим операциям относятся нормализация, логический и арифметический сдвиги. Между этими преобразованиями есть существенная разница. Если при арифметическом сдвиге в местоположении меняют лишь цифровые разряды, то при логическом знаковый разряд присоединяется к движению.
Каждую операцию, которая происходит посредством использования арифметико-логического устройства, можно назвать последовательностью функций логического типа, которые описываются многоразрядной логикой для электронно-вычислительных машин. К примеру, для двоичных ЭВМ используется двоичная логика и так далее, вплоть до десятеричной системы.
Абсолютно у всех арифметико-логических преобразований есть собственные операнды, а результаты на выходе трактуются как битовые строки с шестнадцатью разрядами. Исключением являются лишь примитивы знакового деления DIVS. А разнообразные флаги позволяют трактовать данные на выходе как цифры со знаком минус или плюс при переполнении. Логика преобразования битов строится на арифметике по модулю. Флаг ставится, если произошли непредсказуемые изменения со знаком. К примеру, складывая два положительных числа, вы должны получить результат со знаком "+". Но если происходит перенос в знаковый бит, устанавливающий единицу, а итог получается отрицательным, то устанавливается флаг переполнения.
Логика бита переноса базируется на беззнаковой арифметике. Этот флаг устанавливается системой, если сгенерированный перенос из старшего разряда не может быть записан как результат. Этот бит АЛУ очень эффективен при использовании преобразований с многословными представлениями.
Заключение
Арифметико-логическое устройство используется для выполнения логических и арифметических преобразований над необходимыми операндами, в роли которых часто выступают команды или коды чисел. После выполнения действия результат вновь поступает в запоминающее устройство для использования в следующих вычислениях.