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

 

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

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

Евстифеев А.В. Микроконтроллеры семейства — Infineon, 2007. — 318 c.
Скачать (прямая ссылка): microkontrolleri2007.pdf
Предыдущая << 1 .. 2 3 4 < 5 > 6 7 8 9 10 11 .. 100 >> Следующая


ДЕКОДИРОВАНИЕ: в этой стадии вызванные перед этим команды декодируются и также вызываются необходимые операнды.

ИСПОЛНЕНИЕ: в этой стадии производятся операции над вызванными ранее операндами.

ОБРАТНАЯ ЗАПИСЬ: в этой стадии результаты операции записываются по заранее известному адресу.

Декодер команд

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

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

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

Высокофункциональное 8-ми - 16-ти разрядное АЛУ

Все стандартные арифметические и логические операции производятся в 16-ти разрядном АЛУ. Для операций с байтами, 6-ой и 7-ой бит результата операции влияет на корректную установку флагов состояний. Большая точность вычислений обеспечивается путем установки флага "CARRY-IN" в АЛУ, предыдущей вычисленной частью операции. Внутренние блоки АЛУ, выполняющие операции, оптимизированы для работы с 8-ми разрядными и 16-ти разрядными числами. После заполнения конвейера, одна инструкция будет выполняется в течении одного машинного цикла, за исключением инструкций умножения и деления. Передовой алгоритм Booth обеспечивает перемножение четырех битов и деление двух битов за один машинный такт. В этих операциях используются два спаренных 16-ти разрядных регистра - MDL и MDH, и таким образом эти операции нуждаются в 4 тактах для умножениях двух 16-ти разрядных чисел и 9 тактах для деления 32-х разрядного числа на 16-ти разрядное число, плюс дополнительно каждой операции необходим один такт для настройки и регулировки операндов и результатов.

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

Набор флагов автоматически обновляется в PSW после каждой арифметической, логической операции, операции с битами и операции перемещения данных. Наличие флагов позволяет совершать операции условного перехода по специальному условию. Поддержка как арифметики со знаком, так и беззнаковой арифметики обеспечивается с помощью определяемых пользователем условий перехода. Эти флаги также автоматически сохраняются при входе процессора в прерывание или обслуживание ловушки. Все адреса переходов также рассчитываются в АЛУ.

16-ти разрядный генератор сдвига обеспечивает необходимое количество сдвигов за один такт. Также поддерживаются операции сдвига и циклического сдвига.

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

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

Расширенная обработка битов и управление периферией

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

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

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

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

• Первое решение обеспечивает выполнение перехода за один цикл после первой проверки условия цикла. Таким образом теряется только один машинный цикл при цикловой обработке. При выходе из цикла не требуется дополнительных машинных циклов. Для цикловых обработок не требуется специальных инструкций и циклы определяются автоматически во время исполнения команд условных переходов.
Предыдущая << 1 .. 2 3 4 < 5 > 6 7 8 9 10 11 .. 100 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100