Арифметико-логические устройства 
";


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Арифметико-логические устройства



Ранее были рассмотрены схемы, осуществляющие суммирование многоразрядных кодов. Однако часто требуется осуществлять не только суммирование, но и вычитание двоичных кодов. Двоичные коды, при помощи которых можно записывать отрицательные числа уже рассматривались в предыдущих разделах. Там же было показано, что при использовании дополнительных кодов операцию вычитания двух положительных чисел можно заменить операцией суммирования положительного и отрицательного числа, при этом получение двоичного отрицательного числа из положительного является элементарной операцией. Для получения кода отрицательного числа необходимо проинвертировать его и прибавить к полученному результату число 1.

Принципиальная схема вычитателя числа A из числа B приведена на рис. 18.19, а схема вычитателя числа B из числа A — на рис. 18.20. В этих схемах прибавление единицы к проинвертированному числу осуществляется подачей уровня логической единицы на вход переноса PI схемы сумматора. Основным элементом этих двух схем является арифметический сумматор. Различаются они лишь местом включения инверторов.

Рис. 18.19. Принципиальная схема вычитателя числа A из числа B

Рис. 18.20. Принципиальная схема вычитателя числа B из числа A

Если же в процессе вычислений потребуется изменять арифметическую операцию, то в схему следует ввести коммутатор, который будет изменять ее внутреннюю структуру в зависимости от выполняемой арифметической операции. Такое устройство получило название арифметического устройства.

Структурная схема арифметического устройства, способного суммировать, вычитать, превращать положительное число в отрицательное или просто передавать на выход число с одного или другого входа приведена на рис. 18.21. По приведенной на этом рисунке структурной схеме можно легко получить полную принципиальную схему, поэтому, для упрощения анализа, все дальнейшие рассуждения будем производить именно по ней.

Рис. 18.21. Структурная схема арифметического устройства

В приведенной на рис. 18.21 схеме используются четырехвходовые мультиплексоры, для управления каждым из которых достаточно двух битов. Это означает, что для управления всей схемой в целом достаточно четырех сигналов управления. Попытаемся построить таблицу операций, которые будет выполнять эта схема.

Для определенности, пусть двоичный код 00 подключает к входу сумматора вход 0 мультиплексора MUX, код 01 подключает к входу сумматора вход 1, код 10 подключает к его входу вход 2, а код 11 подключает вход 3. На результат операции будет влиять входной сигнал переноса сумматора PI, поэтому его тоже включим в состав кода, управляющего схемой. В результате в таблице должно содержаться 25 = 32 строки. Операции, которые будут выполняться данным арифметическим устройством в зависимости от кода, поданного на его управляющие входы, приведены в табл. 18.2.

Проанализируем эту таблицу. Если на все управляющие входы подать низкий потенциал, то к входу сумматора будут подключены коды A и B без инверсии. В этом случае будет производиться операция суммирования. Эта ситуация отображена первыми двумя строками (с номерами 0 и 1) таблицы выполняемых операций. В зависимости от состояния входа переноса PI к этой сумме буде или не будет добавляться дополнительная единица.

Операция вычитания осуществляется строками 2, 3, 8 и 9. В этом случае один из операндов поступает на вход сумматора через блок инверторов. Единица, требуемая для получения дополнительного кода по одному из входов, подается на вход переноса сумматора PI.

Таблица 18.2. Список команд арифметического устройства

Номер строки Управляющий код Выполняемая операция
K0 K1 K2 K3 PI
            S = A + B
            S = A + B + 1
            S = B – A – 1
            S = B –A
            S = B – 1
            S = B
            S = B
            S = B + 1
            S = A – B – 1
            S = A – B
            S = – A – B – 2
            S = – B – A – 1
            S = – B – 2
            S = – B – 1
            S = – B – 1
            S = – B
            S = A – 1
            S = A
            S = – A – 2
            S = – A – 1
            S = – 2
            S = – 1
            S = – 1
            S = 0
            S = A
            S = A + 1
            S = – A – 1
            S = – A
            S = – 1
            S = 0
            S = 0
            S = +1

Часто используемой в микропроцессорах операцией является увеличение числа на единицу (инкрементирование) или уменьшение числа на единицу (декрементирование). Эти операции позволяют легко организовывать циклы в программе и переходить от предыдущего операнда к следующему. Они могут быть выполнены при помощи кодов, записанных в строках 4, 7, 16 и 25. И в этом случае единица, необходимая для увеличения значения числа подается на вход переноса PI.

Код ­–1 приходится формировать в виде константы. Мы уже знаем, что отрицательное число можно получить из положительного числа проинвертировав его и добавив к полученному значению 1. В результате выполнения этих действий можно убедиться что число –1 = 1111. Именно поэтому все входы "2" многоразрядных мультиплексоров MUX соединены с источником питания.

Кроме перечисленных действий, схема арифметического устройства может просто передавать на выход любой из входных кодов без изменения, что позволяет осуществлять копирование данных (суммирование с константой ноль) через арифметическое устройство без применения дополнительных схем коммутации.

При небольшом изменении принципиальной схемы полученное нами универсальное устройство сможет осуществлять не только арифметические, но и логические операции. Для этого нужно ввести дополнительный коммутатор, который будет разрывать цепи переноса между разрядами двоичного сумматора å. Эта управляющая цепь обычно называется M. В результате будет получена возможность осуществлять операцию суммирования по модулю два.

Подчеркнем основную особенность арифметико-логического устройства: выбор вида выполняемой операции производится при помощи кода, подаваемого на специальные выводы этого устройства. Это дает возможность использовать одно и то же устройство для выполнения различных функций. Разработка такого устройства позволила обменивать большую скорость выполнения отдельных операций на сложность реализуемого алгоритма, что, в конце концов, привело к разработке микропроцессорных систем. Развитие этих систем изменило окружающий нас мир.



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 264; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.98.108 (0.006 с.)