Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 216

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 210 211 212 213 214 215 < 216 > 217 218 219 220 221 222 .. 528 >> Следующая

особое место. Для обращения именно к этой странице предназначены
двухадресные команды, которые имеют короткий формат и малое время
выполнения. Сравните:
MCS-51 НС08
MOV @ri,ad MOV adr,x+
MOV add,ads MOV adr1,adr2
• MCS-51 использует 6 методов адресации, с учетом различных указателей
при косвенной адресации и двухадресных команд общее число режимов
адресации составляет 11. CPU08 использует 11 методов адресации, общее
число режимов адресации с учетом двухадресных команд равно 16. Среди
последних нет регистровой адресации, которая характерна для MCS-51, но
присутствуют различные варианты индексной адресации, в том числе по
указателю стека с автоинкрементированием, что позволяет создать
экономичные по длине кода компиляторы с языка Си. Именно поэтому ядро
НС08 характеризуют как оптимизированное под использование языков высокого
уровня.
385
8-РАЗРЯДНЫЕ МИКРОКОНТРОЛЛЕРЫ
• MCS-51 имеет значительно большее число команд для обмена с ячейками
памяти нулевой страницы, в то время как число команд обращения к памяти
программ и расширенной памяти данных сведено до минимума. Напротив, в
НС08 число дополнительных команд обмена с нулевой страницей памяти равно
четырем, но сразу 8 режимов адресации используется в каждой команде
группы пересылки для адресации ячеек памяти полного адресного
пространства.
• Набор арифметических и логических действий АЛУ того и другого ядра
практически одинаковы. Но в НС08 набор методов адресации второго операнда
(первый располагается в АСС) значительно шире. Причем диапазон адресов
ячеек памяти второго операнда в MCS-51 составляет 00h - OFFh, в то время
как в НС08 при выполнении арифметических и логических действий доступно
все адресное пространство в 64 К.
• Процессорное ядро НС08 значительно превосходит MCS-51 по числу команд
условных переходов: 40 инструкций НС08 против 22 у MCS-51. Несомненным
достоинством CPU08 является присутствие в перечне его команд инструкций
ветвления по условиям >, >, <, < по результатам сравнения операторов в
формате как со знаком, так и без него.
• Прямо противоположна идеология подсистем прерывания. В MCS-51 при
переходе на процедуру обслуживания прерывания в стеке сохраняется лишь
адрес возврата в основную программу. Остальные регистры должны
сохраняться программно. А в НС08 в процессе перехода к подпрограмме
прерывания автоматически дополнительно сохраняются аккумулятор, регистр
признаков и регистр X. Такое решение увеличивает время перехода к
подпрограмме прерывания, но исключает ошибки при программировании. С
другой стороны, ядро MCS-51 имеет фиксированные векторы прерывания, что
требует занесения по адресам этих векторов дополнительных команд
безусловного перехода. В то время как в НС08 векторы прерывания
произвольно определяются пользователем, поэтому дополнительных команд
безусловного перехода не требуется.
Какое ядро предпочтительней? Однозначного ответа на этот вопрос не может
дать
никто. Ведь то, что требуется от процессорного ядра, это удовлетворять по
быстродействию и объему адресуемой памяти для решаемой задачи и быть
удобным в программировании. При этом следует учитывать, что в процессе
выбора элементной базы МК для проекта будут оцениваться множество
факторов, прямо не связанных с архитектурой процессорного ядра. Это набор
и технические характеристики периферийных модулей, напряжение питания,
мощность потребления, тип корпуса, возможности программирования и
отладки, стоимостные показатели, и, наконец, доступность образцов
кристаллов МК. Именно поэтому тесты на производительность МК проводятся,
но по ним никогда не делается абсолютного заключения. Остается простор
для творчества.
4.3.5. ИСТОЧНИКИ И МЕХАНИЗМ ОБРАБОТКИ ПРЕРЫВАНИЙ
Прерывания изменяют текущую последовательность выполнения команд с целью
обслуживания внешнего или внутреннего события, вызывавшего прерывание.
Прерывание в отличие от сброса не останавливает выполнение текущей
инструкции. При поступлении запроса на прерывание МК завершает выполнение
текущей команды, а затем реализует механизм перехода к подпрограмме
прерывания:
• регистры центрального процессора автоматически сохраняются в стеке в
следующем порядке: регистр признаков CCR, аккумулятор АСС, младший байт
индексного регистра X, старший байт счетчика адреса РСН, младший байт
счетчика адреса PCL; по завершении прерывания инструкция возврата из
прерывания RTI восстанавливает в обратном порядке все регистры
центрального процессора для возобновления выполнения фоновой программы;
386
СЕМЕЙСТВО МК НС08 ФИРМЫ "MOTOROLA"
• бит глобальной маски прерывания I в регистре признаков CCR
устанавливается в "1", запрещая обслуживание любых других запросов на
прерывание до тех пор, пока не будет завершена текущая подпрограмма
прерывания;
• счетчик адреса PC загружается адресом начала подпрограммы прерывания,
который называют вектором прерывания.
В МК семейства НС08 реализован традиционный для всех МК фирмы "Motorola"
Предыдущая << 1 .. 210 211 212 213 214 215 < 216 > 217 218 219 220 221 222 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed