Периферийные интегральные микросхемы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Периферийные интегральные микросхемы



В системах 8080 и 8085 наиболее общими периферийными интегральными микросхемами являются последовательный интерфейс 8251, программируемый таймер 8253 и параллельны интерфейс 8255. Все эти устройства могут выполнять множество функций, большинство из которых подобно функциям самого микропроцессор. Конечно, периферийные интегральные микросхемы выполняют меньше различных функций, чем процессор, и диапазон этих функций существенно уже. В этой части книги описывается устройство 8255.

НАПИСАНИЕ ПРОГРАММ, РАБОТАЮЩИХ ПО ПРЕРЫВАНИЯМ

В большинстве систем прерывания 8080 и 8085 используются команды RST и входные сигналы, которые передают управление по определенным адресам памяти. Все команды RST и входные сигналы сохраняют старое значение программного счетчика в вершине стека, но не сохраняют автоматически остальные регистры. Слово состояния процессора (PSW) содержит аккумулятор (старший байт) и флаги (младший байт). Прерывания должны быть разрешены явно с помощью команды EI непосредственно перед командой RET, заканчивающей обслуживающую программу. Команда EI задерживает действительное разрешение прерываний на один такт команды во избежания лишней записи адреса возврата в стек.

УВЕЛИЧЕНИЕ БЫСТРОДЕЙСТВИЯ ПРОГРАММ

Ускорить выполнение можно только определив, где теряется время. Для этого необходимо определить, какие циклы процессор выполняет наиболее часто. Основное влияние на снижение затрат времени часто выполняемого цикла оказывает счетчик числа циклов. Таким образом, важно определить, как часто выполняются команды, и работать далее с циклами в порядке частоты их выполнения.

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

 Исключение избыточных операций;

 Реорганизация цикла так, чтобы уменьшалось число команд перехода;

 Использование линейной способности команд вместо подпрограмм;

 Использование для временного хранения стек вместо определенных адресов памяти;

 Назначение регистров таким образом, чтобы получить максимальный выигрыш от специализированных команд, как LHLD,SHLD,XCHG,XTHL и PCHL;

 Везде, где возможно, для работы с 16-разрядными данными использование 16-разряднвх команд;

 Использование команд MVI M, INR M и DCR M для работы с данными памяти;

 Использование команд MOV, MVI, INR, DCR, INX, DCX, SHLD, LHLD, XCHG, XTHL, PUSH, POP, PCHL и SPHL для работы с данными в регистрах;

 Использование RST,PCHL или RET в качестве коротких команд перехода;

 Организация последовательности условных переходов таким образом, чтобы была минимизация среднего времени выполнения;

 Проверка на условия, при которых последовательность команд не выполняется, и обход этой последовательности для случая выполнения условий.

Обычный путь к снижению времени выполнения состоит в замене длинных последовательностей команд таблицами. Если не предусмотрены специальные выходы или не введены элементы логики программы, то с помощью отдельного просмотра таблицы могут выполняться те же операции, что и с помощью последовательности команд. Ценой этого является необходимость в расходах на дополнительную память, но при ее наличии это может быть оправдано. Если емкость памяти достаточна, то поиск в таблице может быть рациональным подходом, даже если многие записи ее одинаковы. Кроме того, что ускоряется работа, поиск в таблице обычно легче программировать и проще изменять.

УМЕНЬШЕНИЕ ДЛИНЫ ПРОГРАММЫ

Длину программы можно значительно уменьшить, выделив общие последовательности команд и заменив их подпрограммами. В результате получается одна копия этих команд вместо нескольких копий.

Поиск по таблице обычно требует большего объема памяти, но снижает время выполнения.



Поделиться:


Последнее изменение этой страницы: 2020-03-13; просмотров: 156; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.226.169 (0.004 с.)