PIC-микроконтроллеры. Все, что вам необходимо знать | страница 41
……Цикл 2
• Инкрементируется счетчик команд, чтобы указать на 2-ю команду.
• Одновременно код 1-й команды перемещается по конвейеру (из регистра IR1 в регистр IR2).
• Содержимое счетчика команд (h’001’) выставляется на шину адреса памяти программ.
• После этого на шине данных памяти программ появляется код 2-й команды, который загружается в регистр IR1.
Исполнение (Рис. 3.4)…..Цикл 2
• Адрес операнда h’25’ (т. е. NUM_1) заносится в регистр адреса FAR и выставляется на шину адреса памяти данных.
• Искомое значение, находящееся по адресу NUM_1, выставляется на шину данных памяти данных, после чего загружается в регистр FDR.
• АЛУ переключается в режим пропуска, в котором аргумент с входа АЛУ без изменений копируется в рабочий регистр.
* * *
Выборка….. Цикл 3
• Инкрементируется счетчик команд, чтобы указать на 3-ю команду.
• Одновременно код 2-й команды перемещается по конвейеру (из регистра IR1 в регистр IR2).
• Содержимое счетчика команд (h’002’) выставляется на шину адреса памяти программ.
• После этого на шине данных памяти программ появляется код 3-й команды, который загружается в регистр IR1.
Исполнение ….. Цикл 3
• АЛУ переключается в режим сложения, в котором константа, содержащаяся в коде 2-й команды, прибавляется к содержимому рабочего регистра.
• Результат операции NUM_1 + 4 с выхода АЛУ помещается обратно в рабочий регистр.
* * *
Выборка ….. Цикл 4
• Инкрементируется счетчик команд, чтобы указать на 4-ю команду.
• Одновременно код 3-й команды перемешается по конвейеру (из регистра IR1 в регистр IR2).
• Содержимое счетчика команд (h’003’) выставляется на шину адреса памяти программ.
• После этого на шине данных памяти программ появляется код 4-й команды, который загружается в регистр IR1.
Исполнение ….. Цикл 4
• Адрес операнда h’26’ (т. е. NUM_2) заносится в регистр адреса FAR и выставляется на шину адреса памяти данных.
• АЛУ переключается в режим пропуска, в котором содержимое рабочего регистра без изменений копируется в регистр FDR и выставляется на шину данных памяти данных.
• Содержимое регистра FDR заносится в память данных по адресу, выставленному на шину адреса, т. е. в регистр NUM_2.
* * *
Обратите внимание на автоматическое изменение счетчика команд на этапе выборки каждого цикла. Такой последовательный характер изменения его содержимого будет сохраняться до тех пор, пока не встретится команда, напрямую модифицирующая этот счетчик, например команда goto h’200’. При выполнении этой команды адрес h’200’ помещается в счетчик команд, нарушая обычный процесс инкрементирования, в результате чего ЦПУ перейдет к команде, расположенной по адресу h’200’. Далее изменение счетчика команд снова примет линейный характер.