Модель выполнения программы микропроцессором

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

Работа микропроцессорной системыиллюстрируется рис.При запуске, в регистре адреса команд МП (см. Рис.) записан адрес первой команды программы. Этот адрес ядро МК посылает в память. По этому адресу из ячейки памяти извлекается команда и записывается в регистр команд ядра. Затем содержимое регистра адреса команд увеличивается на число, равное числу полей в формате данной команды. Т.е. устанавливается адрес следующей команды. Эта часть цикла называется выборкой. Затем команда расшифровывается устройством управления и исполняется. Эта часть цикла называется выполнением.

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

Модель процесса выполнения программы микропроцессором можно представить следующим образом.

Модель микропроцессорной системы представляется совокупностью программно- доступных (РОН, программный счетчик, указатель стека, регистр статуса и др.), программно- недоступных устройств (устройство декодирования команд, АЛУ, адресный регистр, регистр команд), устройствами памяти: (область памяти для хранения программ, область памяти для хранения данных, стек).

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

Пусть разрядность МП – 8 бит, разрядность ША – 16 бит. Предположим, что рассматриваемая инструкция занимает три ячейки памяти. Первая ячейка содержит код операции (независимо от количества полей команды это всегда первая ячейка из занимаемых командой). Две других, например, содержат адрес (два байта) ячейки памяти, над содержимым которой производятся манипуляции. Данная команда выполняется в три этапа (рис). Сначала МП выдает содержимое регистра адреса команды на адресную шину. При этом в памяти запрашивается содержимое первой ячейки памяти, в которой хранится код операции. Устройство декодирования инструкций микропроцессора производит расшифровку кода операции и изменение режима устройства управления МП. операционный код содержит также информацию о числе полей (длине) команды, т.е. сведения о том, сколько ячеек памяти занимает данная команда. В данном примере МП определяет, что из памяти для чтения всей команды нужно прочесть еще 2 байта адреса. Затем МП увеличивает содержимое программного счетчика на 1 и готовится к загрузке адресного регистра. Первый байт адреса (адрес ячейки памяти, где он хранится, определяется новым содержимым программного счетчика) загружается в первые 8 битов адресного регистра. Содержимое программного счетчика снова увеличивается; в адресный регистр вводится второй байт адреса. Программный счетчик увеличивает содержимое на единицу и программный счетчик МП теперь содержит адрес ячейки памяти первого байта (КОП) следующей команды. Только теперь МП (после описанных трех шагов) начинает выполнение команды, посылая адреса данных и данные в АЛУ или просто считывая их в блок РОН.

Описанная процедура характерна для большинства типов универсальных МП. Индивидуальные отличия МП реализуются различиями в структуре блока РОН, способностями регистров выполнять существующие для данного МП инструкции. Отметим, все команды МП реализуются в АЛУ. Это также означает, что результат любой операции отражается в содержимом статусного регистра.

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

Рис. – Схема алгоритма выполнения команды простейших микроконтроллеров


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: