Разработка устройства управления (УУ)
Устройство управления процессора является микропрограммным на базе памяти микропрограмм (ПМП), которая может быть организована как ПЗУ. Основной функцией устройства управления процессора является реализация алгоритмов выполнения всех команд процессора. В целом выполнение всех команд проектируемого процессора включает следующие этапы: · извлечение команды из памяти; · декодирование команды; · исполнение команды; · переход к выполнению следующей команды. Три из четырех перечисленных этапов (извлечение, декодирование и переход к следующей команде) являются в общем однотипными для всех реализуемых команд Необходимо отметить, что каждый из этапов реализуется одной (или несколькими) микрокомандами микропрограммы. Каждая микрокоманда управляет всеми необходимыми устройствами процессора, включая АЛУ, БР, шинный(е) мультиплексор(ы), схему формирования адреса следующей микрокоманды, регистр (триггер) флагов и, кроме того, формирует сигналы для шины управления процессора (в данном случае – это сигналы обращения к памяти MEMR, MEMW). В целом устройство управления можно охарактеризовать как управляющий автомат с программируемой логикой с естественной адресацией. Выполнение каждой команды начинается с нулевого адреса ПМП. Микрокоманда по этому адресу выполняет считывание из ОЗУ кода команды по адресу, указанному в PC. Для этого выполняется обращение к памяти, адрес выдается на шину адреса процессора из PC, старший (или единственный) байт команды считывается и поступает в IR (РК), запись в который также управляется этой микрокомандой. Адрес следующей микрокоманды – на единицу больше, чем текущей, то есть она располагается по адресу 00..0001 ПМП. Следующая микрокоманда находится по очередному адресу ПМП 00...0010. Это – микрокоманда декодирования команды процессора. По ней происходит выбор следующего адреса в ПМП как результата перекодировки кода команды в блоке формирования адреса микрокоманды CSAddr. При этом никакие другие действия в процессоре не происходят, и в следующем такте выполняется переход по адресу ПМП, по которому размещен дальнейший код – это либо одна, либо несколько микрокоманд, реализующих собственно этап выполнения текущей команды. Для одних команд процессора (ADD, NOR, SHRA) будет достаточно единственной микрокоманды, которая, выполнит соответствующую операцию в АЛУ и запишет результат в регистр РОН, как указано в команде. Для команды условного перехода происходит условная перезапись PC в зависимости от значения единственного флага процессора значением адреса из самой команды, а для команд обращения к памяти – обращение к памяти по адресу, указанному в следуюшем байте команды. Большинство команд (кроме JE) завершаются микрокомандой инкремента PC и перехода к обработке следующей команды (на микрокоманду по адресу ПМП 0). Эта заключительная микрокоманда может располагаться в последнем слове ПМП (по адресу 111...111). Рассмотрим формат микрокоманд для проектируемого процессора. Микрокоманда должна включать: указание на способ формирования следующего адреса микрокоманды, сигналы управления памятью, сигналы управления АЛУ, сигнал записи регистра флагов, а также – сигналы для управления мультиплексором шины C, номера регистров A, B, C для БР, ну и адрес перехода внутри ПМП. Вариантов получения следующего адреса микрокоманды в микропрограмме для нашего микропроцессора несколько: · адрес следующей микрокоманды = адресу текущей + 1 (Next) · адрес следующей микрокоманды получается в результате декодирования кода команды из РК (только в микрокоманде декодирования Decode). · передача управления по указанному адресу микропрограммы (JMP). Последний вариант включает в себя как условную, так и безусловную передачу управления (при JN и N или при JMP в микропрограмме). Эти три варианта соответствуют 3-м устройствам на входе мультиплексора выбора адреса: · счетчик адреса микрокоманды; · схема преобразования кода команды в адрес ПМП при декодировании; · поле адреса переходов в регистре микрокоманды. Для кода варианта формирования адреса следующей микрокоманды (ACode) в микрокоманде можно использовать 2 бита: 00 – адрес следующей микрокоманды = адресу текущей + 1 (Next) 01 – адрес следующей микрокоманды получается в результате декодирования кода команды из РК (только в микрокоманде декодирования Decode). 10 – условная передача управления – JE, 11 – безусловная передача управления – JMP. В данном случае уловная передача управления по сути необходима только при реализации одной команды – JE. Безусловная – выполняется при переходе к последней микрокоманде или к 0-му адресу в ПМП. Для кода операций АЛУ используется 2 бита, которые задают операцию АЛУ. Регистры процессора можно закодировать следующим образом – все РОН будут иметь внутренний номер, начинающийся с 0, а служебные регистры – номер, начинающийся с 1, при этом для кодировки служебных регистров, как и в кодах команд достаточно использовать 2 бита, например: 00 – temp0; 01 – temp1; 10 – PC; 11 – IR. Дополнительно для каждой шины A, B, C, будем указывать один бит, выбирающий источник номера регистров – 0 – из РК, 1 – из РМК. Рис. 8. Схема устройства управления Рис. 9. Схема устройства формирования адреса
Расшифровка полей микрокоманды: · A, B, C – номер регистра для осуществления чтения (А,В) или записи(С); · A MUX, B MUX, C MUX – бит, показывающий откуда брать номер регистра (0 – из РК (IR), 1 – из микрокоманды РМК (MIR)); · RD – чтение из ОЗУ. При этом адрес памяти берется с шины В, а результат подается на шину С; · WR – запись в ОЗУ. При этом адрес памяти берется с шины В, а данные с шины А; · ALU – код операции в АЛУ:
· COND – условие для определения адреса следующей выполняемой микрокоманды:
· JMP Address – адрес в памяти микропрограмм, куда осуществляется переход.
Микрокод
Кодировка микрокоманд
Примеры программ Пример №1: Begin LD R0,2 LD R1,7 ADD R2,R1,R0 XCH R0,R2 NOR R3,R1,R2 ADD R3,R2,R0 End
Пример № 2 Begin LD R0,1 LD R1,2 ADD R2,R1,R0 ADD R3,R2,R1 LD R0,R3 NOR R2,R0,R3 End
Популярное: Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Почему стероиды повышают давление?: Основных причин три... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (904)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |