December 15 2017 04:38:20
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
Относительная адресация
МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА НС08

Относительная адресация применяется только в командах условных переходов, которые используются для организации ветвления программ. Команды условных переходов имеют 2-байтовый формат. Первый байт содержит код операции, а второй - смещение адреса следующей команды относительно адреса текущей команды в целочисленном формате со знаком. Диапазон возможных кодов смещения: от-128 до+127.

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

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

Примеры:

JZ lable1       ;Перейти по метке lable1, если результат операции

;равен нулю.

3.2.3. ВРЕМЕННЫЕ ДИАГРАММЫ ВЫБОРКИ И ВЫПОЛНЕНИЯ КОМАНД

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

Центральный процессор CPU08 тактируется четырехфазной последовательностью, которую вырабатывает модуль системной интеграции SIM08. Для упрощения представления четыре сигнала стробирования объединены в один (CPUCLOCK) с выделением фазТ1, Т2, ТЗ и Т4 (Рис. 3.4). Период сигнала CPUCLOCK равен длительности сигнала стробирования внутренних магистралей адреса и данных. Частота стробирования внутренних межмодульных магистралей fBUS является одним из основных параметров МК семейства НС08, т.к. определяет не только быстродействие центрального процессора CPU08, но и разрешающую способность времязадающих цепей основных периферийных модулей. Период сигнала CPUCLOCK составляет длительность одного цикла выполнения команды CPU08. Следовательно, длительность цикла центрального процессора CPU08 равна

tCYC=1/fBUS

и при максимально допустимом значении fBUS = 8.0 МГц составляет tCYC=125 нс.

img001

Регистр команд в составе блока управления CPU08 выполнен двухтактным, что позволяет организовать считывание кода следующей команды в процессе выполнения текущей команды. Счетчик адреса PC центрального процессора автоматически увеличивает код на 1 в фазе ТЗ каждого цикла выполнения команды (Рис. 3.5). Считывание очередного кода программной последовательности, соответствующего новому значению счетчика адреса, начинается в фазе Т1 следующего цикла. Блок управления оптимизирует последовательность выбора кодов команд из памяти. Вследствие этого, во избежание нежелательных пропусков циклов код следующей команды может быть считан в промежутке между состояниями магистрали адреса, необходимыми для выполнения текущей команды. Именно такой случай иллюстрируют временные диаграммы выполнения последовательности из трех команд, представленные на Рис. 3.5.

img002

3.2.4. РАБОТА В РЕЖИМАХ ПОНИЖЕННОГО ЭНЕРГОПОТРЕБЛЕНИЯ

Команды WAIT и STOP переводят МК в режим ожидания (Wait mode) или в режим останова (Stop mode) соответственно. Алгоритм функционирования центрального процессора CPU08 в этих режимах одинаков:

  1. Модуль системной интеграции прекращает тактирование ЦПУ.

  2. Бит глобальной маски прерывания I в регистре признаков CCR устанавливается в 0, разрешая тем самым прерывания.

  3. После выхода из режима ожидания или останова по запросу на прерывание от какого-либо устройства бит I остается в 0.

  4. Если выход из режима ожидания или останова произошел в результате сброса МК, то бит I устанавливается в 1, запрещая прерывания.

Переход в режим ожидания или останова не изменяет состояния аккумулятора АСС, индексного регистра Н:Х, указателя стека SP и счетчика адреса PC. Если выход из режимов произошел по прерыванию, то содержимое АСС, Н:Х, CCR и PC будет сохранено в стеке. Если же выход из режимов произошел в результате сброса, то регистры изменят состояние в соответствии с алгоритмом работы CPU08 в состоянии сброса (см. п. 3.2.1).

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.02 секунд 2,297,620 уникальных посетителей