Лекция 6 АЛУ
Арифметико-логическое устройство (или АЛУ, ALU) предназначено для обработки информации в соответствии с полученной процессором командой. Примерами обработки могут служить логические операции (типа логического «И», «ИЛИ», «Исключающего ИЛИ» и т.д.) то есть побитные операции над операндами, а также арифметические операции (типа сложения, вычитания, умножения, деления и т.д.). Над какими кодами производится операция, куда помещается ее результат — определяется выполняемой командой. Если команда сводится всего лишь к пересылке данных без их обработки, то АЛУ не участвует в ее выполнении.
Быстродействие АЛУ во многом определяет производительность процессора. Причем важна не только частота тактового сигнала, которым тактируется АЛУ, но и количество тактов, необходимое для выполнения той или иной команды. Для повышения производительности разработчики стремятся довести время выполнения команды до одного такта, а также обеспечить работу АЛУ на возможно более высокой частоте. Один из путей решения этой задачи состоит в уменьшении количества выполняемых АЛУ команд, создание процессоров с уменьшенным набором команд (так называемые RISC-процессоры). Другой путь повышения производительности процессора — использование нескольких параллельно работающих АЛУ.
Что касается операций над числами с плавающей точкой и других специальных сложных операций, то в системах на базе первых процессоров их реализовали последовательностью более простых команд, специальными подпрограммами, однако затем были разработаны специальные вычислители — математические сопроцессоры, которые заменяли основной процессор на время выполнения таких команд. В современных микропроцессорах математические сопроцессоры входят в структуру как составная часть.
Рассмотрим для примера следующую схему АЛУ,
которое выполняется в виде самостоятельной БИС либо входит в состав других более сложных ИМС. АЛУ (рис. 1, а) позволяет производить арифметические и логические операции над n-разрядными входными кодами (n обычно 4, 8 или 16); входные коды обозначены А и В. Сигналы, подаваемые на управляющие входы М, S, определяют, какая именно операция может быть выполнена над входными величинами, а также при выполнении арифметических операций на АЛУ может быть подан сигнал переноса из внешней цепи Р0 , который добавляется в младший разряд АЛУ, на выходе АЛУ формируется сигнал Р4, переноса из старшего разряда (сигнал переполнения).
Сигнал переноса Р увеличивает результат (число F) на единицу. АЛУ представляет собой логическую схему, имеющую определенное количество входов и выходов, где F— результаты операций в каждом разряде, P4— сигнал переноса из старшего разряда.
Рис. 1. Арифметико-логическое устройство (а) и микропроцессор (б) — упрощенная структурная схема
Совокупность сигналов на всех входах однозначно определяет совокупность выходных сигналов.
При управляющем сигнале М=0 АЛУ выполняет арифметические операции над n-разрядными входными двоичными числами А и В:
- арифметическое сложение А и В,
- арифметическое сложение А и В с добавлением единицы в младший разряд из внешней цепи (сигнал Р0),
- арифметическое вычитание В из A,
- арифметическое вычитание B из A с учетом заема единицы из младшего разряда,
- увеличение или уменьшение числа А на единицу,
- пересылка чисел А и В с входа АЛУ на выход,
- сдвиг чисел на один разряд влево (это эквивалентно умножению на два)
- сдвиг чисел на один разряд вправо (эквивалентно делению на два) и др.
Комбинация сигналов S определяет, какая именно математическая операция производится АЛУ.
При М=1 АЛУ выполняет логические операции над функциями A и B (во всех разрядах выполняется одна и та же логическая операция). В табл. 4.16 перечислены 16 логических операций, выполняемых АЛУ в зависимости от управляющих сигналов S.
Логические операции, выполняемые арифметико-логическим устройством (АЛУ)
1.Инверсия входного сигнала А.
2. Инверсия логической суммы входных сигналов (стрелка Пирса).
3. Запрет по А .
4. Нуль на выходе при любых значениях входного сигнала (константа 0).
5. Логическая сумма инверсных значений входных сигналов
6. Инверсия входного сигнала В.
7. Сложение по модулю 2 (исключающее ИЛИ, нечет, неэквивалентность)
8. Запрет по В.
9. Импликация от А к В.
10. Эквивалентность (равнозначность, чет)
11. Передача на выход входного сигнала В.
12. Логическое умножение (конъюнкция, «И»)
13. Единица на выходе при любых значениях входного сигнала (константа 1)
14. Импликация от В к А
15. Логическое сложение (дизъюнкция, «ИЛИ») двух или более логических значений.
16. Передача на выход входного сигнала А
Вопросы к лекции 6 АЛУ.
1. Назначение АЛУ. (стр. 1)
2. Примерами операций выполняемых АЛУ. (стр. 1)
3. Что учитывается при определении быстродействия (производительности) АЛУ? (стр. 1)
4. Пути повышения производительности АЛУ. (стр. 1)
5. Как выполнялись сложные операции, например, над числами с плавающей запятой в первых процессорах. Для чего применялись сопроцессоры? Как решается эта проблема в настоящее время? (стр. 1)
6. Зарисовать предложенную схему АЛУ (стр. 2, рис 1а)
Пояснить назначение всех входных и выходных сигналов. (стр. 1-2).
Над скольки - разрядными числа производятся операции в данном АЛУ?
7. Какие арифметические операции выполняет данное АЛУ при М=0? (стр. 2)
Привести примеры:
А) арифметического сложения чисел А=516 и В=618 без учета входного переноса (Р0 =0)
Б) арифметического сложения чисел А=516 и В=616 с учетом входного переноса (Р0=1)
В) вычитания из В=610 числа А=516.
8. Какие логические операции выполняет данное АЛУ при М=1?
Привести примеры:
А) логического сложения чисел А=516 и В=616
Б) логического умножения чисел А=516 и В= 616
В) сложить по модулю 2 числа А=516 и В= 616
Лекция 6 АЛУ (Арифметико-логическое устройство)
Лекции по предмету «Информатика»