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


Микропрограммирование - часть 2


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

Поля микрокоманды БОС
N Описание константа источник A источник B команда приёмник
1) PCH -> RAH 1111 1111 1111 1010 0011 0 0 1100
2) PCL -> RAL 1111 1111 1111 1011 0011 0 0 1101

Затем сформируем сигнал считывания. Для этого в регистр управления запишем константу 1111 1101.

Поля микрокоманды БОС
N Описание константа источник A источник B команда приёмник
3) const -> CR 1111 1101 1111 1111 0011 0 0 1110

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

Поля микрокоманды БОС
N Описание константа источник A источник B команда приёмник
4) data -> RI 1111 1111 1100 1111 1100 0 0 1001
5) const -> CR 1111 1111 1111 1111 0011 0 0 1110

Прежде, чем перейти к дальнейшему выполнению микропрограммы, увеличим содержимое счетчика команд на 1.

Поля микрокоманды БОС
N Описание константа источник A источник B команда приёмник
6) PCL+1 -> PCL 1111 1111 1011 1111 1100 1 0 1011
7) PCH+C -> PCH 1111 1111 1010 1111 1100 1 0 1010

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


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



Книжный магазин