МПС
Внутренняя
структура микропроцессора (Лекция) ПЛАН ЛЕКЦИИ 1. Арифметико-логический блок 2. Основные характеристики микропроцессора 3. Структура типового микропроцессора 4. Выполнение элементарных операций 1. Арифметико-логический блок Арифметико-логический блок выполняет
арифметические и логические операции под воздействием устройства управления
МП БИС. Он включает в себя 8-разрядное АЛУ, схему десятичной коррекции
ДК, построенной на базе ПЗУ, 5-ти разрядный регистр признаков, аккумулятор А,
буфер аккумулятора БФА и буферный
регистр БФРг. Арифметико-логический блок позволяет
осуществить арифметические операции сложения,
вычитания, а также основные логические операции (И, ИЛИ, исключающее ИЛИ) и сдвиг.
При проведении операции одно число всегда берется из буфера
аккумулятора, а другое - из буферного регистра. По результату выполнения
арифметико-логических операций АЛБ
устанавливает в регистре признаков
пять знаков. Признак
переноса (Carry - C) устанавливается в единицу, если
при выполнении команд появляется
единица переноса из старшего разряда. Дополнительный
признак переноса (Auxiliary carry
- АС) устанавливается в единицу, если
при выполнении команд возникает единица переноса из третьего разряда
числа. Состояние разряда может быть
проанализировано лишь командой десятичной коррекции числа. Признак знака (Sign - S) в машинном слове можно представить числом от
-128 до 127. В этом случае седьмой (старший) разряд числа
- его знак. Единица в седьмом разряде
при такой записи будет указывать на отрицательное число, а ноль- на положительное. В разряд
нулевого признака (Zero -Z) записывается
единица, если при выполнении команды результат равен нулю. В разряд
признака четности (Parity - P) записывается
единица, если при выполнении команды количество
единиц в разрядах результата будет четным. 8-битное АЛУ может выполнять
арифметические операции сложения, вычитания, умножения и деления; логические
операции И, ИЛИ, исключающее ИЛИ, а также операции
циклического сдвига, сброса, инвертирования и т.п. В АЛУ имеются программно
недоступные регистры T1 и T2, предназначенные для временного хранения
операндов, схема десятичной коррекции и схема формирования признаков. Простейшая операция сложения используется
в АЛУ для инкрементирования содержимого регистров, продвижения
регистра-указателя данных и автоматического вычисления следующего адреса РПП.
Простейшая операция вычитания используется в АЛУ для декрементирования
регистров и сравнения переменных. Простейшие операции автоматически образуют
"тандемы" для выполнения в АЛУ таких операций, как, например,
инкрементирование 16-битных регистровых пар. В АЛУ реализуется механизм
каскадного выполнения простейших операций для реализации сложных команд. Так,
например, при выполнении одной из команд условной передачи правления по результату
сравнения в АЛУ трижды инкрементируется СК, дважды производится чтение из РПД,
выполняется арифметическое сравнение двух переменных, формируется 16-битный адрес
перехода и принимается решение о том, делать или не делать переход по
программе. Все перечисленные операции выполняются в АЛУ всего лишь за 2 мкс. Важной особенностью АЛУ является его
способность оперировать не только байтами, но и битами. Отдельные
программно-доступные биты могут быть установлены, сброшены, инвертированы, переданы,
проверены и использованы в логических операциях. Эта способность АЛУ,
оперировать битами, столь важна, что во многих описаниях Intel87C51FB говорится о наличии в нем "булевского процессора".
Для управления объектами часто применяются алгоритмы, содержащие операции над
входными и выходными булевскими переменными (истина/ложь), реализация которых
средствами обычных микропроцессоров сопряжена с определенными трудностями. Таким образом, АЛУ может
оперировать четырьмя типами информационных объектов: булевскими (1 бит),
цифровыми (4 бита), байтными (8 бит) и адресными (16 бит). В АЛУ
выполняется 51 различная операция пересылки или преобразования этих данных. Так
как используется 11 режимов адресации (7 для данных и 4 для адресов), то путем
комбинирования "операция/ режим адресации" базовое число команд 111
расширяется до 255 из 256 возможных при однобайтном коде операции. 2. Основные характеристики микропроцессора
Микропроцессор характеризуется: 1) тактовой частотой, определяющей максимальное время выполнения переключения элементов в ЭВМ; 2) разрядностью, т.е. максимальным числом одновременно обрабатываемых двоичных разрядов. Разрядностть
МП обозначается m/n/k/ и включает: m - разрядность
внутренних регистров, определяет принадлежность к тому или иному классу
процессоров; 3) архитектурой.
Понятие архитектуры микропроцессора включает в себя систему команд и способы
адресации, возможность совмещения выполнения команд во времени, наличие
дополнительных устройств в составе микропроцессора, принципы и режимы его
работы. Выделяют понятия микроархитектуры и макроархитектуры. Микроархитектура
микропроцессора - это аппаратная организация и логическая структура микропроцессора,
регистры, управляющие схемы, арифметико-логические устройства, запоминающие
устройства и связывающие их информационные магистрали. Макроархитектура
- это система команд, типы обрабатываемых данных, режимы адресации и принципы
работы микропроцессора. В общем случае под
архитектурой ЭВМ понимается абстрактное представление машины в терминах основных функциональных модулей, языка ЭВМ, структуры
данных. 3. Структура
типового микропроцессора Архитектура типичной
небольшой вычислительной системы на основе микроЭВМ показана на рис. 1. Такая
микроЭВМ содержит все 5 основных блоков цифровой машины: устройство ввода
информации, управляющее устройство (УУ), арифметико-логическое устройство (АЛУ)
(входящие в состав микропроцессора), запоминающие устройства (ЗУ) и устройство
вывода информации. Рис. 1. Архитектура
типового микропроцессора Микропроцессор
координирует работу всех устройств цифровой системы с помощью шины управления
(ШУ). Помимо ШУ имеется 16-разрядная адресная шина (ША), которая служит для
выбора определенной ячейки памяти, порта ввода или порта вывода. По 8-разрядной
информационной шине или шине данных (ШД) осуществляется двунаправленная
пересылка данных к микропроцессору и от микропроцессора. Важно отметить, что МП
может посылать информацию в память микроЭВМ или к одному из портов вывода, а
также получать информацию из памяти или от одного из портов ввода. Постоянное запоминающее
устройство (ПЗУ) в микроЭВМ содержит некоторую программу (на практике программу
инициализации ЭВМ). Программы могут быть загружены в запоминающее устройство с
произвольной выборкой (ЗУПВ) и из внешнего запоминающего устройства (ВЗУ). Это
программы пользователя. 4. Выполнение
элементарных операций В качестве примера, иллюстрирующего работу микроЭВМ, рассмотрим процедуру, для реализации которой нужно выполнить следующую последовательность элементарных операций: 1. Нажать клавишу с буквой "А" на клавиатуре. 2. Поместить букву "А" в память микроЭВМ. 3. Вывести букву "А" на экран дисплея.
На рис. 2 приведена
подробная диаграмма выполнения процедуры ввода запоминания-вывода Рис. 2. Диаграмма выполнения процедуры ввода-запоминания-вывода В данной программе
всего три команды, хотя по рис. 2 может показаться, что в памяти программ записано
шесть команд. Это связано с тем, что команда обычно разбивается на части.
Первая часть команды 1 в приведенной выше программе - команда ввода данных. Во
второй части команды 1 указывается, откуда нужно ввести данные (из порта 1). Первая
часть команды, предписывающая конкретное действие, называется кодом операции
(КОП), а вторая часть - операндом. Код операции и операнд размещаются в
отдельных ячейках памяти программ. На рис. 2 КОП хранится в ячейке 100, а код
операнда - в ячейке 101 (порт 1); последний указывает, откуда нужно взять
информацию. В МП на рис. 2 выделены
еще два новых блока - регистры: аккумулятор и регистр команд. Рассмотрим прохождение
команд и данных внутри микроЭВМ с помощью занумерованных кружков на диаграмме.
Напомним, что микропроцессор - это центральный узел, управляющий перемещением
всех данных и выполнением операций. Итак, при выполнении типичной процедуры ввода-запоминания-вывода в микроЭВМ происходит следующая последовательность действий: 1. МП выдает адрес 100 на шину адреса. По
шине управления поступает сигнал, устанавливающий память программ (конкретную
микросхему) в режим считывания. 5. МП, используя ША и ШУ, связывающие его с устройством ввода, открывает порт 1. Цифровой
код буквы "А" передается в аккумулятор внутри МП и запоминается.
Важно отметить, что при обработке каждой программной команды МП действует согласно
микропроцедуре выборки-декодирования-исполнения. 7. Код команды "Запомнить данные" подается на ШД и пересылается в МП, где помещается в регистр команд. 8. МП дешифрирует эту команду и
определяет, что для нее нужен операнд. МП обращается к ячейке памяти 103 и
приводит в активное состояние вход считывания микросхем памяти программ. 12. МП обращается к ячейке памяти 104 для выбора очередной команды и переводит память программ в режим считывания. 13. Код команды вывода данных пересылается по ШД к МП, который помещает ее в регистр команд, дешифрирует и определяет, что нужен операнд. 14. МП выдает адрес 105 на ША и
устанавливает память программ в режим считывания. 16. МП дешифрирует полную команду
"Вывести данные в порт 10". С помощью ША и ШУ,
связывающих его с устройством вывода, МП открывает порт 10, пересылает код
буквы "А" (все еще находящийся в аккумуляторе) по ШД. Буква
"А" выводится через порт 10 на экран дисплея. |
||