5.2 Принцип реализации выполнения программы
В режиме выполнения основной программы процессор выбирает из памя-
ти очередную команду программы и выполняет соответствующую операцию.
Команда представляет собой многоразрядное двоичное число, которое состоит
из двух частей (полей) – кода операции (КОП) и кода адресации операндов
(КАД). Код операции КОП задает вид операции, выполняемой данной коман-
дой, а код адресации КАД определяет выбор операндов (способ адресации), над
которыми производится заданная операция.
Для хранения адреса очередной команды служит специальный регистр
процессора – программный счетчик PC (Program Counter), содержимое которо-
го автоматически увеличивается на 1 после выборки следующего байта коман-
ды. Таким образом обеспечивается последовательная выборка команд в процес-
се выполнения программы. При выборке очередной команды содержимое PC
поступает на шину адреса, обеспечивая считывание из ОЗУ следующей коман-
ды выполняемой программы. При реализации безусловных или условных пере-
ходов (ветвлений) или других изменений последовательности выполнения ко-
манд выполняется загрузка в PC нового содержимого, в результате чего произ-
водится переход к другой ветви программы или подпрограмме.
Принятая из ОЗУ команда поступает в регистр команд, входящий в состав
устройства управления (УУ) процессора. Затем производится дешифрация ко-
манды, в процессе которой определяется вид выполняемой операции (расшиф-
ровка КОП) и формируется адрес необходимых операндов (расшифровка КАД).
В соответствии с кодом поступившей команды УУ процессора генерирует по-
следовательность микрокоманд, обеспечивающих выполнение заданной опера-
ции. Каждая микрокоманда выполняется в течение одного машинного такта –
периода тактовых импульсов, задающих рабочую частоту всех внутренних уз-
лов и блоков микропроцессора.
56
· · · · · · · · · · · · · · · · · · · · · · · · ·
Выводы
· · · · · · · · · · · · · · · · · · · · · · · · ·
Таким образом, тактовая частота микропроцессора определяет время вы-
полнения отдельных микрокоманд, последовательность которых обеспечивает
получение необходимого результата операции (поступившей команды).
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
Для выполнения каждой поступившей команды требуется определенное
количество командных циклов и тактов. Командным циклом называется про-
межуток времени, требуемый для выполнения обращения к ОЗУ или внешнему
устройству с помощью системной шины. Обычно реализация такого цикла за-
нимает от 2 до 4 системных тактов (периодов синхросигналов шины), которые
требуются для установки требуемого адреса, выдачи сигналов, определяющих
вид цикла – чтение или запись, получения сигнала готовности к обмену (от па-
мяти или внешних устройств) и собственно передачи данных или команд.
При выполнении каждой команды в первых циклах производится ее вы-
борка из памяти по адресу, который задается содержимым программного счет-
чика PC. Последующая дешифрация выбранной команды определяет необхо-
димое число циклов для ее последующего выполнения. Если для выполнения
команды не требуется считывание операндов из памяти (внешних устройств)
или запись в память (вывод на внешние устройства) результатов операции, то
такая команда выполняется за один цикл.
При считывании операндов из памяти (внешних устройств) или записи
результата в память (вывод на внешние устройства) требуется выполнение до-
полнительных циклов чтения (ввода) или записи (вывода). В зависимости от
разрядности обрабатываемых операндов и разрядности используемой систем-
ной шины число циклов, необходимых для выполнения команд, может быть
различным: от 1 (выборка команды) до 4–5 (зависит от команды, разрядности
шин и операндов).
Машинным (процессорным) тактом в микропроцессорных системах явля-
ется длительность периода тактовых сигналов Tt, которая задается тактовой ча-
стотой микропроцессора Ft 1/ Tt
. При выполнении операций, не требующих
обращений к системной шине, эта частота определяет производительность
микропроцессора.
57
Do'stlaringiz bilan baham: |