Лекция 12. Арифметико-логические узлы. Микропроцессоры.

Узел сравнения (цифровой компаратор) предназначен для срав­нения двух многоразрядных двоичных чисел А и В. Такая задача часто возникает в автоматических устройствах. Например, требу­ется установить, когда переменная величина А, увеличивающаяся (или уменьшающаяся) в каждом такте на 1, станет равной наперед заданному числу В.

Таким образом, цифровой компаратор (рис. 4.17, а), состоящий из п элементов, выполняющих операцию сложения по модулю 2, и одного n-входового элемента И (по инверсным сигналам), будет иметь выходной уровень Q =1 при А = В и Q = 0 при А ¹ В. Число п должно равняться максимально возможной разрядности чисел А и В.

В интегральном исполнении имеются операционные узлы, позво­ляющие помимо операции А=В выполнять и другие операции сравнения А < В и А > В. Такой микросхемой является, например, К561ИП2, производящая сравнение двух четырех­разрядных чисел. Для увеличения разрядности сравниваемых чисел можно включать две и более ИМС, соединяя выходы А < В, А = В, А > В микросхемы младших разрядов с соответствующими входами микросхемы старших разрядов.

 

Арифметическо-логический узел. Любое устройство обработки цифровой информации содержит операционный блок, состоящий из последовательностной и комбинационной частей. Комбинационная часть выполняет арифметические и логические операции над двумя многоразрядными словами и поэтому состоит из сумматора, узла сравнения и других схем, производящих различные логические опе­рации. Однако на практике целесообразнее использовать специаль­ный арифметическо-логический узел, который мог бы осуществлять все необходимые операции и был бы выполнен в виде одной микро­схемы. Такие стандартные узлы арифметическо-логических устройств (АЛУ), входящие в состав различных серий (например, К155ИПЗ, К561ИПЗ), имеют условно-графическое обозначение, показанное на рисунке.

Эти ИМС предназначены для действий с двумя четырехразряд­ными двоичными словами А и В. Результат выполнения логических преобразований и арифметических действий поступает в виде четы­рехразрядного слова на выходы F. Кроме того, имеются вход Р0 и выход Р сигналов переноса, отдельный выход признака равен­ства данных А=В и выходы переменных G0 и G1, используемые для наращивания разрядности АЛУ при объединении нескольких микросхем. Для облегчения наращивания разрядности оба сигнала переноса (Р0 и Р) инверсны по отношению к входным сигналам A и В, т.е., когда А и В задаются в положительной логике, сигналу переноса отвечает низкий уровень напряжения.

В зависимости от набора управляющих сигналов S микросхема выполняет одну из 16 логических (при S4 = l) при арифметическо-логических операций (при S4 = 0). При этом логические операции выполняются поразрядно над каждой парой одноименных разрядов входных слов (входы и выходы переноса отключаются), а арифмети­ческие — над четырехразрядными словами с учетом сигнала пе­реноса.

При S4 = 0 АЛУ настраивается на выполнение логическо-ариф­метических операций. Порядок действий при этом такой, что сна­чала производятся необходимые логические преобразования над входными словами (при этом переносы не учитываются), а затем — арифметические действия сложения и вычитания с учетом перено­са .

Операция сложения выполняется АЛУ, настроенным управ­ляющими сигналами S4, ... S0, на работу в качестве сумматора. Для того чтобы не усложнять конструкцию АЛУ, операцию вычита­ния (для которой был бы нужен специальный вычитатель) заме­няют сложением (выполняемым сумматором) уменьшаемого с вычи­таемым, представленным в специальном коде. Рассмотрим это действие подробнее.

Вычитание двоичных чисел, записанных в прямом коде, подобно вычитанию в десятичной системе:

Для замены операции вычитания операцией сложения приходится представлять вычитаемое В в дополнительном коде. Дополнитель­ный код образуется из обратного (инверсного) кода добавлением к нему единицы.

Таким образом, в АЛУ при выполнении операции вычитания входной операнд В преобразуется в дополнительный код, а вычи­тание числа 10000 производится без помощи специальных схем, только с использованием сигнала переноса в старший (пятый) разряд. Правда, при этом результат арифметических действий на выходе АЛУ будет также представлен в обратном коде.