Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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

Лабораторная работа № 16

 

  1. Цель работы

Освоить порядок моделирования арифметико-логического устройства с помощью программы Multisim 11.0.2.

 

  1. Общие сведения

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

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

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

 

 

 

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

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

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

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

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

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

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

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

В результате выполнения логической операции Исключающее ИЛИ получается четырёхразрядное число 0110B.

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

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

А = a3а2а1а0 и B = b3b2b1b0.

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

F = A * B = (a3 * b3)…(a0 * b0),

здесь символ "*" - означает некоторую логическую операцию (дизъюнкцию, конъюнкцию и т.д.).

Вид выполняемой операции определяется четырёхразрядным управляющим сигналом S и сигналом установки режима M (Mode).

Операция, выполняемая АЛУ, аналитически определяется следующим выражением:

где Fi - выходной сигнал АЛУ в i - том разряде; Ai и Bi - значения входных операндов в i - том разряде; Si - четырёхразрядные управляющие сигналы; М - сигнал, определяющий тип выполняемой операции (логическая или арифметическая); С0 - перенос из предыдущего (младшего) разряда.

Если на управляющие входы данного АЛУ подать сигналы 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.


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...