Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_по_информатике_1_курс / лекции / Лекция 6 / 06-Информатика Лекция 6.docx
Скачиваний:
77
Добавлен:
22.06.2018
Размер:
337.48 Кб
Скачать

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

 

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

Процессор (как и все другие цифровые устройства) воспринимает управляющие сигналы и операнды в виде двоичных чисел. Результат также формируется в виде двоичных чисел. Однако программисты составляют управляющие программы чаще всего на языках программирования высокого уровня (Паскаль, Бейсик, Си…). В момент трансляции программы ее текст превращается в набор двоичных чисел (объектный код). Именно эти двоичные числа заставляют процессор (в том числе и АЛУ) выполнять операции, запланированные программистом.

Структурная схема простейшего АЛУ показана на рисунке выше.

Два многоразрядных операнда (числа, буквы, символы и т.д.), подлежащие обработке в АЛУ, подаются на входыА и В. Результат выполнения операции появляется на выходе F. Вид операции, выполняемой в АЛУ, определяется сигналами, которые подаются на входы S иM.

Таким образом при сложении чисел 2 и 3 одно из них подается на входА, а второе на - вход В. В этот момент времени на шины Sи М подается двоичное число, которое на обыденном языке означает команду (приказ) «Выполнить арифметическое сложение». Результат сложения – число 5 появляется на выходе F.  

У входов M и S одинаковое назначение – определять вид выполняемой в АЛУ операции. Эти входы разделены лишь с методической целью. Сигнал на входе М (Mode – режим) определяет, какую операцию будет выполнять АЛУ – логическую или арифметическую.

Например, простейший тип АЛУ (К155ИП3, американский аналог - 74181) имеет малую разрядность – лишь 4 бита. По этой причине разработчики АЛУ предусмотрели возможность увеличения (наращивания) разрядности устройства (в случае возникновения такой необходимости). Увеличить разрядность АЛУ можно за счет использования нескольких секций (микросхем) и двух специальных шин C0 и Cn+1.

Шина C0 при создании многоразрядных конструкций используется для приема переноса, формируемого в предыдущей (младшей) секции (микросхеме). Шина Cn+1 служит для передачи арифметического переноса из младшей секции в старшую. Другими словами: если у разработчика в наличии имеется n-разрядное АЛУ, то для получения разрядности 2n нужно взять еще одну аналогичную микросхему, объединить параллельно входы S и M, а выход Cn+1 младшей секции соединить со входом C0 старшей секции (микросхемы).

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

Проиллюстрируем сказанное двумя примерами: логической операцией ИСКЛЮЧАЮЩЕЕ ИЛИ и арифметическим сложением. Обе операции выполняются по одинаковым правилам, но в арифметическом сложении допускается перенос между разрядами.

Предположим, что имеется два десятичных числа A= 12D и B = 10D. В двоичной системе счисления эти числа имеют вид: A =1100Bи B =1010B.

В результате выполнения логической операции ИСКЛЮЧАЮЩЕЕ ИЛИ получается четырехразрядное число 0110B.  После выполнения арифметического сложения на выходе F появляется четырехразрядное число 0110B, а на шине Cn+1 присутствует логическая единица.  Этот сигнал свидетельствует о возникновении переноса в пятый разряд, то есть в следующую старшую секцию восьмиразрядного АЛУ.

Работу четырехразрядного АЛУ можно описать выражением:

В этой формуле индексами i отмечены номера разрядов операндов A и B и выходного сигнала F.

Если на управляющие входы такого АЛУ подать сигналы M = 1, S3 = 1, S2 = 0, S1 = 1, S0 = 1, то АЛУ будет выполнять операциюFi = AiBi, то есть операцию конъюнкции (логическое умножение). Этот результат получается при подстановке исходных данных в приведенную формулу.

Изменяя пять управляющих сигналов M, S3,…S0, можно «заставить» такое АЛУ выполнить 32 различные операции (16 логических и 16 арифметических).

Так присутствие на управляющих входах двоичного числа M = 0, S3 = 1, S2 = 0, S1 =0, S0 = 1 заставит АЛУ выполнить арифметическое сложение чисел, поступивших на шины A и B, и к полученному результату прибавить значение переноса из предыдущей секции, то есть Fi = Ai + Bi+ C0.

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

 Управляющие сигналы

Выполняемые операции

S3

S2

S1

S0

Логические М = 1

Арифметические М = 0

0

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

0000

0

1

0

0

0

1

0

1

0

1

1

0

0

1

1

1

1

0

0

0

1

0

0

1

1

0

1

0

1

0

1

1

1

1

0

0

1

1

0

1

1

1

1

0

1

1

1

1

Обозначение АЛУ на схемах

D0, D1 – n- разрядные двоичные коды операндов;

CL – вход переноса. При сдвиге влево – сдвиговый вход;

CR – сдвиговый вход для сдвига вправо;

PL – выход переноса для арифметических операций, сдвиговый выход при сдвиге влево;

PR – сдвиговый выход для сдвига вправо;

F – двоичный управляющий код, который настраивает АЛУ на выполнение заданной микрооперации.

Триггеры

Триггеры представляют собой импульсные устройства, которые характеризуются наличием двух устойчивых состояний. Простейший триггер имеет два входа и два выхода (рис. 4.1). Выходы обозначают Q и /Q. Выход Q называют прямым, a /Q - инверсным. Уровни напряжения на обоих выходах взаимно инверсны: если сигнал Q = 1, то /Q = 0, либо если Q = 0, то /Q = 1. Необходимо еще отметить, что состояние триггера, при котором Q = 1, a /Q = 0, называют единичным. При нулевом состоянии триггера Q = 0 и /Q = 1. С поступлением сигналов на входы триггера в зависимости от его состояния либо происходит переключение, либо исходное состояние сохраняется. В зависимости от функциональной связи между логическими сигналами на входах и выходах триггеры в интегральном исполнении имеют следующие наименования: /R/S, RS, D, Т, JK и некоторые другие. Теми же буквами обозначают и входы триггеров.

RS триггер

Триггер типа RS "запоминает", на какой из двух входов (R или S) поступил последний сигнал: если на вход R, триггер находится в нулевом состоянии (Q = 0 и /Q = 1), а если на вход S, то в единичном состоянии (Q = 1 и /Q = 0).

R (reset) – сбросить в 0

S(Set) – установить в 1

R&S=0 – хранить содержимое

Работа RS-триггера характеризуется следующей таблицей состояний:

Rn

Sn

Qn+1

/Qn+1

0

0

Qn

/Qn

0

1

1

0

1

0

0

1

1

1

Неопределенное состояние

Изменение входных сигналов от низкого уровня до высокого приводит к смене состояния триггера (моменты t1, t2, t2 и t5; в момент t4 изменения не происходит, так как триггер уже установлен в единичное состояние в предшествующий момент - t3).

T-триггер

Состояние T-триггера меняется с поступлением на вход очередного импульса

.

Таблица состояний T-триггера имеет следующий вид:

Tn

Qn+1

/Qn+1

0

Qn

/Qn

1

/Qn

Qn

D-Триггер

Триггер типа D - это устройство с двумя устойчивыми выходными состояниями. Сменой состояния управляют сигналы на информационном входе D (рис. 5.1), но переключение происходит не сразу, а с приходом тактового импульса на второй вход С. Важнейшее свойство D-триггеров в том, что, как только на вход С поступает импульс, на выходе Q устанавливается тот же уровень напряжения, который в этот момент действует на входе D, т. е. переброс триггера происходит с некоторым отставанием dt относительно смены сигнала на входе D. Поэтому D-триггеры еще называют триггерами задержки.

D-триггер имеет следующую таблицу состояний:

C

Dn

Qn+1

/Qn+1

1

1

1

0

1

0

0

1

Состояние выхода Q совпадает с состоянием входа D в момент поступления тактового импульса на вход С.

JK-Триггер

Триггер типа JK представляет собой устройство с двумя устойчивыми выходными состояниями, обладающее двумя информационными входами J и K (рис. 7.1). По принципу действия он сходен с RS-триггером, с той разницей, что в состояниях JK-триггера нет неопределенности при одновременном поступлении сигналов высокого уровня на оба входа.

Когда на входы J и К одновременно поступает напряжение высокого уровня, JK-триггер меняет свое состояние на противоположное. В этом и состоит различие между JK- и RS-триггерами.

На рис. 7.1В показана схема JK-триггера на ЛЭ И-НЕ. Она отличается от схемы RS-триггера только тем, что элементы DD3 и DD4 включены не как инверторы, а по входам A3 и A4 управляются сигналами с выходов триггера /Q и Q, соответственно.

Работа JK-триггера определяется следующей таблицей состояний:

J

K

Qn+1

/Qn+1

0

0

Qn

/Qn

1

0

1

0

0

1

0

1

1

1

/Qn

Qn

Соседние файлы в папке Лекция 6