Элементы микропроцессора
Тема: Элементы микропроцессора.
Вопрос 1. Арифметико-логическое устройство.
Арифметико-логическое устройство (АЛУ) является основным функциональным узлом микропроцессора, предназначенным для обработки данных. АЛУ представляет собой комбинационную логическую схему, выполняющую логические и арифметические действия.
Для ввода, вывода и оперативного хранения информации, а также ее пошаговой загрузки по тактовому импульсу в АЛУ предназначен блок регистров: аккумулятор (А), буферные регистры (БР) или регистры общего назначения (РОН) (рис.11.1).
Совместная работа АЛУ и аккумулятора позволяет реализовать ряд арифметических и логических операций, в том числе сложение, вычитание, инверсию, сравнение, положительное или отрицательное приращение, сдвиг влево или вправо, логическое И, ИЛИ, исключающее ИЛИ и т.п. Из перечисленных элементарных операций набираются сложные задачи современной микропроцессорной техники.
Универсальная микросхема К155ИП3 (рис.11.2) представляет собой четырехразрядное АЛУ. Основу этой микросхемы составляют 30 простых логических элементов типа И-НЕ, И-ИЛИ-НЕ, исключающие ИЛИ и инверторов.
АЛУ может формировать 16 логических операций и выполнять 16 арифметических действий, включая суммирование и вычитание, увеличение и уменьшение, удвоение и инверсию. Все операции производятся над четырехразрядными числами в двоичных кодах, причем одно из чисел подается на входы А3...А0, второе - на входы В3...В0, а результат вычислений появляется на выходах F3...F0. Характер операций АЛУ зависит от уровня сигнала на входе режима М: при М=0 выполняются арифметические, а при М=1 - логические операции. Причем последние выполняются поразрядно. Вид выполняемых операций зависит от кода операции, подаваемого на управляющие входы S3...S0, в соответствии с табл.11.1.
Ряд арифметических операций можно использовать либо для загрузки операндов (например, F=А или F=В для А=0 при S=0000 или S=1001 соответственно), либо для сложения в прямом коде F=А+В, или вычитания в дополнительном коде F=А-В, либо для более сложных действий.
При выполнении арифметических операций учитывается признак переноса с предыдущего разряда, подаваемый на вход . При этом формируется признак переноса четвертого разряда . Для удобства наращивания разрядности АЛУ при объединении нескольких микросхем вход и выход признаков переноса выполнены инверсными. При выполнении логических операций (логическое И, ИЛИ, исключающее ИЛИ и т.п.) с использованием прямых или инверсных кодов состояние входа переноса не влияет на полученные результаты.
Рекомендуемые материалы
Для расширения функциональных возможностей АЛУ предусмотрены выходы образования переноса G и распространения переноса Р: первый переключается при достижении 11112=1510, а второй - при появлении переноса в любом из четырех разрядов.
Таблица 11.1
Код операции | Вид операции | ||||
S3 | S2 | S1 | S0 | Арифметические (М=0) | Логические (М=1) |
0 | 0 | 0 | 0 | F=A+C0 | __ F=A |
0 | 0 | 0 | 1 | F=AÚB+C0 | ______ F=AÚB |
0 | 0 | 1 | 0 | __ F= AÚB+C0 | __ F=A·B |
0 | 0 | 1 | 1 | F=-1+C0 | F=0 |
0 | 1 | 0 | 0 |
F=A+A· +C0 | ______ F=A·B |
0 | 1 | 0 | 1 |
F=A·+(AÚB)+C0 | __ F=B |
0 | 1 | 1 | 0 | F=A-B-1+C0 | F=AB |
0 | 1 | 1 | 1 | __ F=A·B-1+C0 | __ F= A·B |
1 | 0 | 0 | 0 | F=A+A·B+C0 | __ F=AÚB |
1 | 0 | 0 | 1 | F= A+B+C0 | _______ F= AB |
1 | 0 | 1 | 0 | __ F= A·B+(AÚB)+C0 | F=B |
1 | 0 | 1 | 1 | F=A·B-1+C0 | F= A·B |
1 | 1 | 0 | 0 | F= A+A+C0 | F=1 |
1 | 1 | 0 | 1 | F= A+(AÚB)+C0 | __ F= AÚB |
1 | 1 | 1 | 0 | __ F= A+(AÚB)+C0 | F= AÚB |
1 | 1 | 1 | 1 | F=A-1+C0 | F=A |
Обозначения: Ú - логическое сложение; ·- логическое умножение;
- сложение по модулю 2 (исключающее ИЛИ); + - арифметическое сложение; - - арифметическое вычитание; F=A+A - сдвиг влево на один разряд.
В схеме АЛУ предусмотрена также возможность сравнения операндов: если А=В, то на выходе К появляется уровень логической единицы.
Вопрос 2. Регистры.
Микросхема К155ИР11 (рис.11.3) представляет собой восьмиразрядный сдвигающий регистр, предназначенный для записи информации в параллельном или последовательном коде, ее хранения или сдвига влево и вправо. Основу этой микросхемы составляет 8 синхронизируемых триггеров в сочетании с логическими элементами И-НЕ, И-ИЛИ-НЕ и инверторами.
Схема имеет восемь входов D7...D0 параллельной записи, два входа последовательной записи DL - со сдвигом влево и DR - со сдвигом вправо, управляющие входы S0 и S1 для выбора режима работы, тактовый вход С и установочный вход , а также восемь выходов Q7...Q0.
В зависимости от состояний установочного входа и управляющих входов S0 и S1 схема может работать в различных режимах (см. табл.11.2).
Таблица 11.2
Режим работы | Состояние входов | |||||
уст. | код режима | посл. зап. | Такт C | |||
S1 | S0 | DL | DR | |||
Установка в “0” (сброс) | 0 | х | x | х | x | x |
Параллельная запись | 1 | 1 | 1 | 0 | 0 | _é |
Последовательная запись со сдвигом влево | 1 | 1 | 0 | 0/1 | 0 | _é |
Последовательная запись со сдвигом вправо | 1 | 0 | 1 | 0 | 0/1 | _é |
Хранение | 1 | 0 | 0 | 0 | 0 | _é |
Как видно из табл.11.2, параллельная запись информации осуществляется через входы D7...D0 при S0=S1=1, и ее появление на выходах Q7...Q0 обеспечивается синхронно по положительному фронту тактового импульса.
Примечание: при переключении регистра сдвига в режим «хранение» необходимо кнопку «такт» держать в нажатом состоянии.
Если сигнал подавать на вход DL, то при S1=1 и S0=0 каждый тактовый импульс будет осуществлять ее последовательную запись с одновременным сдвигом влево. Как известно, такая операция эквивалентна умножению двоичного числа на два. При S1=0 и S0=1 по входу осуществляется последовательная запись со сдвигом вправо, что эквивалентно делению двоичного числа на два.
Естественно, что при отсутствии тактового импульса записанная информация будет храниться в регистре до прихода нового импульса, точнее перепада 0/1. Вместе с тем, режим хранения обеспечивается и при установке S2=S1=0 как результат запрета на переключение триггеров.
Микросхема К155РП1 (рис.11.4), представляет собой четырехразрядный регистр памяти, предназначенный для записи и хранения информации емкостью 16 бит, и обычно используется в качестве оперативного запоминающего устройства (ОЗУ) или буферного регистра (БР). Основу схемы составляют 16 триггеров DV-типа, управляемых с помощью логических элементов И-НЕ, И-ИЛИ-НЕ. В структурном отношении регистровая память состоит из матрицы 4х4 элемента, коммутируемой с помощью входного дешифратора и 4 выходных мультиплексоров.
Схема имеет четыре информационных входа D3...D0, по два адресных входа записи WB, WA и считывания RB, RA соответственно, раздельные стробирующие входыи , а также четыре выхода Q3...Q0.
Если на вход подать стробирующий импульс =0, то, в зависимости от выбранного кода адреса 00...11 на входах WB и WA, производится одновременная запись информации со входов D3...D0 только в четыре "вертикальные" ячейки матрицы, соответственно от №№ 1,5,9,11 до №№ 4,8,12,16. При этом каждый триггер в своей ячейке может переключиться при условии V=1, которое выполняется только при определенной комбинации сигналов на адресных входах.
Считывание записанной информации из соответствующих "верти-кальных" ячеек производится при условии установки необходимого адреса и разрешается стробом =0. Поскольку выходные логические элементы этой микросхемы выполняются с открытым коллектором, то возможно наращивание емкости памяти при объединении выходов с помощью “Монтажного ИЛИ”.
При считывании информации из ячеек памяти не происходит ее разрушения, даже при многократном обращении к памяти.
Контрольные вопросы
1. Поясните смысл используемых в работе терминов: операнд, слово данных, аккумулятор, запись в память, код операции и т.д.
2.Объясните назначение и перечислите функциональные возможности каждой из исследуемых микросхем.
3. Какие основные задачи выполняют регистры и АЛУ в микропроцессорных системах?
4. Чем отличается дополнительный код от прямого и инверсного?
5. С какой целью в микропроцессорах предусматриваются операции инкремента и декремента?
6. Для каких целей в АЛУ предусматриваются выводы образования и распространения переноса? Какая информация появляется на выходе сравнения АЛУ?
Бесплатная лекция: "Лекция №3 Индивидуальное развитие организмов" также доступна.
7. Каким образом и с какой целью используется проверка содержимого АЛУ на нуль?
8. Предложите методику и способ вычисления задач типа F=2(A+B); F=A+B+1 (или других по заданию преподавателя).
9. Предложите схемную реализацию устройства для сравнения двух операндов, если А=const, а B=var.
10. Выделите на принципиальных электрических схемах АЛУ и регистров шины данных, адреса и управления. Дайте необходимые пояснения.
11. Почему аккумуляторы многих микропроцессоров выполняются двойной длины?
12. Какое минимальное число разрядов должен иметь аккумулятор у четырехразрядного микропроцессора?