Курс лекций - Микропроцессоры


Микропрограммирование


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

При изучении принципов работы и приводились временные диаграммы, которые необходимо сформировать, для того, чтобы записать или прочитать необходимую информацию. Выберем одну из этих диаграмм:

DiagRAM.gif (4664 bytes)

Рисунок 1. Временные диграммы считывания

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

Работа любого цифрового устройства начинается с заранее заданных начальных условий. Эти начальные условия формируются специальным сигналом RESET (сброс), который формируется после подачи питания на схему. Договоримся, что сигнал сброса микропроцессора будет записывать в регистр программного счетчика PC нулевое значение. (Это условие справедливо не для всех процессоров. Например, IBM совместимые процессоры при сбросе микросхемы записывают в программный счётчик значение F0000h.)

Выполнение любой начинается с её считывания из системной памяти (ОЗУ или ПЗУ). Необходимые для этого микрокоманды подаются на входы управления БОС из блока микропрограммного управления БМУ, как только снимается сигнал сброса со счётчика микрокоманд БМУ. При считывании однобайтной команды достаточно считать из системной памяти только код операции и выполнить эту операцию. Временная диаграмма этого процесса приведена на рисунке 2. Последовательность операций, которые необходимо выполнить микропрограмме, показана стрелочками. Для считывания следующей команды микропрограмма запускается заново.

RdIns.gif (3761 bytes)

Рисунок 2. Временные диаграммы сигналов считывания команд из системной памяти.

Для того, чтобы считать код операции из системной памяти, необходимо выставить на шине адреса адрес этой команды.


- Начало -  - Назад -  - Вперед -