Входная тактовая частота, поступающая с вывода OSC1/CLKIN, делится внутри на четыре, и из нее формируются четыре циклические не перекрывающиеся тактовые последовательности Q1, Q2, Q3 и Q4. Счетчик команд увеличивается в такте Q1, команда считывается из памяти программы и защелкивается в регистре команд в такте Q4. Команда декодируется и выполняется в течение последующего цикла в тактах Q1...Q4. Схема тактирования и выполнения команды
Цикл выполнения команды состоит из четырех тактов: Q1...Q4. Выборка команды и ее выполнение совмещены по времени таким образом, что выборка команды занимает один цикл, а выполнение — следующий цикл. Эффективное время выполнения команды составляет один цикл.
Цикл выборки начинается с увеличения счетчика команд в такте Q1. В цикле выполнения команды выбранная команда защелкивается в регистр команд в такте Q1. В течение тактов Q2, Q3 и Q4 происходит декодирование и выполнение команды. В такте Q2 считывается память данных (чтение операнда), а запись происходит в такте Q4
Организация памяти программ и стека
Счетчик команд в МК Р1С16Р8Х имеет ширину 13 бит и способен адресовать 8Кх14бит объема программной памяти. Однако физически на кристаллах могут располагаться 512х 14 или 1Кх14 памяти (адреса 0000h- 01FF или 0000h – 03FFh). Обращение к адресам выше 1FFh (ЗFFh) фактически есть адресация в те же первые 512 адресов (первые 1К адресов).
Организация памяти программ и стека приведена на рис. ……..
В памяти программ есть выделенные адреса. Вектор сброса находится по адресу 0000h,
вектор прерывания – по адресу 0004h. Обычно по адресу 0004h располагается подпрограмма идентификации и обработки прерываний, а по адресу 0000h - команда перехода на метку, расположенную за подпрограммой обработки прерываний.