Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лекция 10




Стек

Система команд микропроцессора

Система команд микропроцессора приведена в табл.. Команды разбиты на семь групп. Группа может содержать несколько видов операций. Каждый вид операций харакизуется некоторой структурой кодовых комбинаций команд, где вместо А, должен быть подставлен адрес регистра и вместо К — 3-разрядная кодовая комбинация, определяющая конкретный тип команды.

В таблице указано число байтов, содержащихся в команде, число циклов и тактов, в которые выполняется команда (в знаменателе указано число циклов и тактов в случаях, когда в качестве адреса регистра указана комбинация 110 и требуется дополнительное обращение в оперативную память для выборки операнда, адресом которого служит содер­жимое пары регистров HL).

Для каждого типа команды показано, как формируются признаки в пяти триггерах регистра признаков. Принята следующая система обозначений: + означает, что признак в данном триггере формируется;

- означает, что соответствующий признак при выполнении данной команды не фор­мируется и в триггере сохраняется значение признака, сформированное при выполнении предыдущих команд;

0 - означает установку триггера в состояние 0;

1 - значает установку триггера в состояние 1.

Отметим следующие особенности формирования признаков: команды пересылки и переходов не изменяют состояния триггеров признаков; команды увеличения или уменьшения содержимого одиночного регистра используют все признаки, за исключением признака переноса С;

команды увеличения или уменьшения содержимого пар регистров не изменяют состо­яния триггеров признаков;

команды арифметических операций используют все признаки;

при выполнении логических операций триггеры переносов Тс н Tv сбрасываются в состояние 0;

команды сложения содержимого пар регистров используют только признак переноса С.

Стек — память с определенной (упрощенной) формой адресации. В микропроцессорной системе на МПК КР580 стек организуется следую­щим образом. В ОЗУ команды размещаются в ячейках с младшими, последовательно нарастающими адресами. Стек использует ячейки со старшими адресами, и по мере заполнения стека занимаются ячейки с адресами, последовательно убывающими (рис.). Особенность ор­ганизации стека состоит в следующем. Указатель стека SP содержит так называемый адрес входа в стек\ при чтении из стека производится выборка содержимого ячейки по адресу входа в стек (адресу, храняще­муся в SP); при записи в стек вводимое в стек число помещается в ячейку с адресом, на единицу меньшим содержимого SP; одновременно с запи­сью и чтением изменяется содержимое SP: при записи уменьшается, а при чтении увеличивается на единицу.

Обмен со стеком производится двухбайтовыми словами, занимаю­щими две ячейки памяти. Пусть указатель стека хранит адрес А. При вводе нового слова его байты должны быть помещены в пару соседних со входом в стек ячеек, имеющих адреса А - 1 и А - 2. Таким образом, ввод в стек сводится к следующей последовательности действий: содер­жимое SP уменьшается на единицу и по образующемуся адресу помеща­ется старший байт вводимого двухбайтового слова; затем содержимое SP вновь уменьшается на единицу и по образующемуся адресу помеща­ется младший байт вводимого слова (рис. 5.6.6). Мы видим, что SP каждый раз указывает адрес ячейки, являющейся входом в стек.

Вывод данных из стека производится также двухбайтовыми словами. При этом каждый раз доступна для чтения лишь ячейка, адрес которой содержится в SP. Если указатель стека хранит адрес А, то байты выво­димого из стека слова выбираются из ячеек памяти, имеющих адреса А и А + 1. Таким образом, выбор слова из стека сводится к такой после­довательности действий: чтение младшего байта выводимого слова из ячейки, адресом которой служит содержимое SP, и увеличение содер­жимого SP на единицу; затем чтение старшего байта выводимого слова по адресу, хранящемуся в SP, и увеличение содержимого SP на единицу (рис.).

О таком принципе функционирования, когда читается последняя помещенная в память информация, говорят как о принципе "последним вошел — первым вышел". Как видим, при записи и чтении производится обращение в ячейку, адрес которой связан с содержимым SP. Это упро­щает адресацию памяти, но исключает возможность обращения в про­извольную ячейку памяти.

Рассмотрим некоторые команды операций со стеком. Запуск микропроцессора осуществляется следующим образом. После подачи на соответствующие входы микропроцессора питаю­щих напряжений и тактовых импульсов последовательностей Фх и Ф2 подается сигнал уровня лог.1 на вход Сброс. Этим сигналом сбрасыва­ются в состояние лог.О счетчик команд PC, регистр команд, размещен­ные в управляющем устройстве триггеры разрешения прерывания, подтверждения захвата и ожидания. После окончания действия сигна­ла Сброс (при переходе сигнала от уровня лог.1 к уровню лог.О) микро­процессор начинает работать с такта Тх цикла Мх и выдает на шину адреса нулевое значение адреса. Содержимое регистров блока РОН, аккумулятора, регистра признаков меняется только в процессе выпол­нения команд.

Состояние захвата

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

Переход в состояние захвата происходит следующим образом. От внешнего устройства поступает сигнал уровня лог.1 на вход Запрос захвата. Этот сигнал при отрицательном фронте импульса Ф2 такта Т2 принимается в триггер захвата управляющего устройства. Управляю­щее устройство заканчивает выполнение текущего цикла, переходит в состояние захвата и подтверждает это выдачей сигнала на выходе Под­тверждение захвата. Сигнал на выходе Подтверждение захвата выда­ется при положительном фронте импульса Ф, в такте Г3, если текущий цикл не является циклом записи; в противном случае этот сигнал выда­ется при положительном фронте импульса Ф, такта, следующего за тактом Тъ.

После окончания действия сигнала Захват (при переходе от уровня лог. 1 к уровню лог.О) микропроцессор начинает выполнение следующего цикла с места, где было приостановлено исполнение программы.

Состояние прерывания

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

Если на некотором участке программы допускается ее прерывание, то при составлении программы в начале этого участка предусматрива­ется команда EI, по которой триггер разрешения прерывания в управ­ляющем устройстве микропроцессора устанавливается в состояние лог. У, а в конце участка — команда DI, при выполнении которой триггер сбрасывается в состояние лог.О. Состояние триггера выдается на выход Разрешение прерывания.

Процесс прерывания связан со следующими действиями. От внешне­го устройства поступает сигнал уровня лог. 1 на вход Запрос прерывания. Если прерывание разрешено (т.е. на выходе Разрешение прерывания имеется уровень лаг. У), то после окончания выполнения текущей коман­ды триггер разрешения прерывания сбрасывается в состояние лог.О, а в информации о состоянии микропроцессора, выдаваемом на шину дан­ных, появляются сигналы Подтверждение прерывания (в разряде Z)0), Ввод (в разряде Z),) и сигнал о том, что в данном цикле производится прием первого байта команды (в разряде Dj). Сигнал Подтверждение прерывания используется в качестве строба для выдачи внешним устрой­ством на шину данных команды RST (команды рестарт) При выполнении команды RST содержимое счетчика команд PC запоминается в стеке, а в PC записывается адрес первой команды пре­рывающей программы. Этот адрес задается следующим образом. Ко­манда RST имеет структуру 11 AAA 111, и в счетчик команд заносится значение 00 ООО ООО 00 AAA ООО, которое и служит адресом первой команды прерывающей программы. Задавая определенную трехразряд­ную комбинацию AAA, внешнее устройство может задать адрес первой команды одной из восьми прерывающих программ.

После окончания выполнения прерывающей программы возврат в основную программу происходит следующим образом. Прерывающая программа заканчивается командой RET (возврат из подпрограммы). В процессе выполнения этой команды адрес команды основной програм­мы, перед которой произошло прерывание, выбирается из стека и пере­дается в регистр адреса, а увеличенное на единицу значение заносится в счетчик команд.

Состояние останова

В системе команд микропроцессора имеется команда HLT (останов), которая вызывает прекращение выполнения программы и переход в состояние останова. Это состояние характеризуется тем, что буферы шины адреса и шины данных переходят в третье состояние, микропро­цессор отключается от внешних шин и на выходе Ожидание устанавли­вается уровень лог.1.

Состояние останова может быть прервано сигналами запуска микро­процессора либо перевода его в состояние прерывания

Ранее было показано, что в процессоре, в котором используется специализированное операционное устройство и управляющее устрой­ство, построенное на принципе схемной логики, требовалось два такта для однократного прохождения цикла алгоритма. Следовательно, реа­лизация рассматриваемой операции умножения в микропроцессоре по­требовала в 49/2 = 24,5 раза большего числа тактов.'Такой проигрыш в быстродействии при использовании микропроцессора КР580ВМ80А может оказаться еще большим, если учесть, что в случае применения в микропроцессорной системе оперативной памяти с низким быстродей­ствием в цикле работы микропроцессора появятся "пустые'* такты Тг, связанные с ожиданием появления сигнала на входе Готовность.


 




Поделиться с друзьями:


Дата добавления: 2014-12-10; Просмотров: 1207; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.