Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Пользователю -> Евстифеев А.В. -> "Микроконтроллеры семейства" -> 18

Микроконтроллеры семейства - Евстифеев А.В.

Евстифеев А.В. Микроконтроллеры семейства — Infineon, 2007. — 318 c.
Скачать (прямая ссылка): microkontrolleri2007.pdf
Предыдущая << 1 .. 12 13 14 15 16 17 < 18 > 19 20 21 22 23 24 .. 100 >> Следующая


In :MOV SP, #OFA4Oh ;выбор новой вершины стека In+1 :.... ;команда, не использующая

• Последовательность действий при доступе к внешней памяти

Команды, находящиеся на различных стадиях конвейера, могут одновременно выдавать запросы на контроллер внешней шины (EBC). Последовательность команд, выполняемых ЦПУ, может отличаться от последовательности доступа к внешней памяти, совершаемого EBC. Различные операции доступа к внешней памяти имеют различные приоритеты:

;с помощью DPPO ;команда, не использующая DPPO ; перемещение содержимого R1 ;по адресу OTOOOOh (в странице 4) ;сегментация включена

In+2 :POP RO

;возврат операндов из системного стека ;возврат значения слова из вершины ;нового стека в RO

2-7 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Организация памяти/С167

1. Чтение данных

2. Выборка кода

3. Запись данных

• Управление прерываниями

Программные изменения PSW (как прямые, так и неявно выраженные) производятся в стадии выполнения соответствующих команд. При внесении изменений в уровни приоритетов, новые уровни приоритетов будут использоваться только после окончания следующей команды. Иными словами, после команды, отключающей прерывания с помощью IEN или ILVL, в течении следующего такта может быть получен ответ на запрос на прерывание. Таким образом, критичную ко времени исполнения последовательность команд не следует начинать после команды отключающей прерывания, как показано на следующем примере: INT_OFF: BCLR IEN ;полное запрещение прерываний

IN-1 ;не критичная команда ко времени

CRIT_1ST: IN ;начало непрерываемой, критичной

; ко времени исполнения , зависимости

CRIT_LAST IN+X ;конец зависимости

INT_ON BSET IEN ; общее разрешение прерываний

Примечание: Описываемая задержка в один такт, также имеет место в случае разрешения прерываний, т.е. не признается запрос на прерывание до выполнения следующей команды.

• Инициализация выводов портов

Изменение направления выводов портов (ввод или вывод) вступает в силу, только после команды, следующей за командой изменения направления. Так как битовые команды (BSET, BCLR) используют зависимость чтение-изменение-запись, доступную для всего порта, то команда, следующая за командой изменения направления порта, не должна иметь доступа к этому порту. Не правильно:

BSET DP3.13 BSET P3.5

Правильно :BSET DP3.13 NOP

BSET P3.5

;Определение P3.13 на вывод ;P3.13 все еще определен на вход ;Механизм чтение-изменение-запись ;читает P3.13

;Определение P3.13 на вывод ;Любая команда не использующая Port3 ;P3.13 уже определен на вход ;Механизм чтение-изменение-запись ;читает значение P3.13

4-8 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Организация памяти/С167

• Изменение конфигурации системы

Команда, следующая за командой, изменяющей конфигурацию системы путем перезаписи содержимого регистра SYSCON (т.е. расположение внутренней ROM, сегментация, размер стека), не может использовать новую конфигурацию. В этом случае необходимо вставить команду, не имеющую доступа к новым ресурсам. Доступ к программному коду в новой области ROM будет возможен только после команды безусловного перехода к этой области.

Примечание: Как правило, команды, изменяющие расположение ROM, должны исполняться из внутренней RAM или внешней памяти.

• BUSCON/ADDRSEL

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

Примечание: Как правило команды, выполняющие изменение свойств внешней шины, не располагаются в изменяемой области внешней памяти.

• Временные зависимости

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

Следующий раздел посвящен описанию некоторых способов оптимизации частей программ критичных ко времени исполнения для конвейерной обработки.

4-9 МЭИ, Центр Промышленной Электроники Фирмы Infineon

Организация памяти/С167

4.2 Битовое управление и битовая защита

С167 имеет несколько механизмов для битового управления. Эти механизмы либо манипулируют с битами регистров управления, управляя внутренней периферией, либо управляют функциями ввода-вывода с помощью выводов портов.

Команды BSET, BCLR, BAND, BOR, BXOR, BMOV, BMOVN устанавливают или очищают значения необходимых битов. Команды BFLDL и BFLDH позволяют одновременно изменять до 8 битов байта. Команды JBC и JNB (а также команды условного перехода) оценивают значения битов, для определения возможности совершения перехода.
Предыдущая << 1 .. 12 13 14 15 16 17 < 18 > 19 20 21 22 23 24 .. 100 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100