Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект мпсу.doc
Скачиваний:
90
Добавлен:
22.09.2019
Размер:
6.71 Mб
Скачать

Урок №5

Тема 1.3 Регистровая модель микропроцессора

Вопросы темы:

1.3.1 Классификация внутренних регистров МП

1.3.2 Две архитектуры МП: аккумуляторная и регистровая

1.3.3 Служебные регистры МП

1.3.4* Внутренняя структура МП i8080 (изучается самостоятельно)

1.3.5* Регистровая модель МП i8080(изучается самостоятельно)

1.3.6 Выполнение операций в восьмиразрядном АЛУ

1.3.1 Классификация внутренних регистров мп

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

Совокупность программно доступных регистров МП составляют его регистровую модель.

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

1.3.2 Две архитектуры мп: аккумуляторная и регистровая

Ядром МП является арифметико-логическое устройство АЛУ - устройство, в котором выполняются все арифметические и логические операции. АЛУ выполняет операции над числами, заданными в двоичном коде. Формат чисел, как правило, соответствует разрядности МП. На схемах АЛУ изображают в виде устройства с двумя входами и одним выходом (рисунок 1)

Рисунок 1 – Восьмиразрядное АЛУ

Рассмотрим некоторые операции, выполняемые в восьмиразрядном МП.

Пример 1.

+

10010011

&

10110011

10110011

01101101

01111101

01111101

1 00000000

00110001

11111111

Z=1, S=0, C=1

Z=0, S=0, C=0

Z=0, S=1, C=0

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

Основными признаками результата являются признаки нуля (Z), отрицательного знака (S), переноса (С). Например, при выполнении операции сложения в примере 1 состояние признаков такое: Z=1, так 8 -разрядный результат равен 0, S=0, так как результат число положительное, C=1, так как произошел перенос 1 из старшего разряда.

АЛУ не имеет собственной памяти, поэтому результат операции необходимо сразу же сохранить. В первых микропроцессорах для этого использовался специальный регистр, подключенный к выходу АЛУ, называемый Аккумулятором. Аккумулятор участвует во всех операциях, выполняемых в арифметико-логическом устройстве в качестве одного из операндов и как место хранения результата операции.

Рисунок 2 – Аккумуляторная структура МП

Преимущества аккумуляторной структуры МП в том, что Аккумулятор используется по умолчанию и его не указывают в команде, например add b – сложить содержимое аккумулятора с содержимым регистра b и записать результат в аккумулятор: a← a+b . Командный код получается короче. Аккумуляторная структура используется до сих пор, например, в процессорах, работающих в ПК. Недостатком структуры МП с Аккумулятором является необходимость записать операнд в аккумулятор перед выполнением операции. После выполнения операции результат необходимо переписать из аккумулятора в другой регистр или ячейку памяти.

Альтернативой аккумуляторным МП являются регистровые МП. В регистровых микропроцессорах операнды и результаты операций могут храниться не в одном, а в нескольких рабочих регистрах r0, r1, r31 и т.д. (рисунок 4). Это расширяет возможности МП при выполнении арифметических и логических операций: любой регистр может использоваться как источник операнда и приемник результата, то есть выполнять функции Аккумулятора. Регистровая структура используется в специализированных МП - микроконтроллерах.

Рисунок 3 – Регистровая структура МП

1.3.3 Служебные регистры МП

Типичными служебными регистрами, которые входят в состав любого микропроцессора, являются счетчик команд (СК), указатель стека (УС), регистр состояния процессора (РСП).

Счетчик команд также называют программным счетчиком PC (Program Counter). В счетчике команд формируется адрес команды, которая будет выполняться следом за той, которая выполняется в данный момент. Счетчик команд принимает непосредственное участие в последовательном извлечении команд из памяти: он формирует и передает адрес команды в шину адреса. При включении питания МП, а также по сигналу Reset (Сброс), счетчик команд обнуляется, поэтому первой ячейкой памяти, к которой обращается МП, является ячейка с адресом 0. При извлечении очередной команды содержимое счетчика команд увеличивается, - так формируется следующий адрес. Исключением являются следующие случаи: 1) при выполнении команды перехода («прыжка») в счетчик команд записывается адрес перехода;

  1. при выполнении команды вызова подпрограммы в счетчик команд записывается адрес подпрограммы;

  2. в режиме прерывания программы в счетчик команд записывается адрес подпрограммы обработки прерывания.

Указатель стека, по-английски Stack Pointer (SP) хранит адрес последней заполненной ячейки стека.

Регистр состояния процессора PSW (Program Status Word) или регистр состояния RS (Register Status) содержит набор признаков выполнения текущей операции. Признаки называют также флагами или флажками операций. К типовым флажкам относятся:

С - признак переноса из старшего разряда АЛУ;

Z - признак нуля, устанавливается, если результат операции равен 0;

N - признак отрицательного результата, устанавливается, если старший (7-ой разряд) результата операции равен 1

Флаги используются программой для анализа результата предшествующей команды и принятия решения о дальнейшем ходе выполнения программы.

На рисунке 4 изображен формат регистра состояния МК семейства AVR.

Рисунок 4 - Формат регистра состояния МК семейства AVR

С – флаг переноса

Z – флаг нулевого результата

N – флаг отрицательного результата

V - флаг переполнения

S – флаг знака

H – флаг половинного результата

Т – флаг пользователя