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

 

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

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

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


Есть два типа реакции на прерывания:

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

• Работа с прерываниями при помощи РЕС-контроллера

отнимает только один машинный такт от работы ЦПУ над текущей программой для совершения передачи данных с помощью PEC-контроллера.

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

В противоположность другим периферийным устройствам между сторожевым таймером и ЦПУ имеет место закрытое соединение. Если включить сторожевой таймер в рабочий режим, то он будет ожидать сигналы от ЦПУ через программируемые промежутки времени, иначе сторожевой таймер подаст сигнал на "сброс". Таким образом сторожевой таймер может оберегать ЦПУ от работы в ошибочном режиме при выполнении кода программы с ошибками. После "сброса" системы сторожевой таймер начинает отсчет времени автоматически, но его, при необходимости, можно программно отключить.

По сравнению с нормальным режимом работы можно выделить следующие режимы:

• Режим "сброс": к нему можно причислить любой из перезапусков (аппаратный, программный либо с использованием сторожевого таймера). Любой перезапуск принуждает ЦПУ вернуться в предустановленный активный режим.

• Режим покоя: Тактовый сигнал ЦПУ отключен, в то время как тактовые сигналы для периферии продолжают подаваться.

• Режим отключения питания: Все тактовые сигналы выключены.

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

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

Для функционирования ядра ЦПУ предназначен набор регистров

специальных функций:

• Основная конфигурация системы

• Индикация и управление состоянием ЦПУ

• Управление доступа к данным

• Управление страницами данных

• Управление доступа к GPR-регистрам

• Управление доступа к системному стеку

• Поддержка умножения и деления

• Поддержка констант ЦПУ

SYSCON (RP0H)

PSW

IP, CSP

DPP0-DPP3

CP

SP, STKUN, STKOV MDL, MDH, MDC ZEROS, ONES

4.1 Конвейерная обработка команд

Конвейер команд С167 разделяет выполнение команд на 4 ступени, каждая из которых имеет индивидуальное название:

1-ая -> Выборка:

На этой стадии команды, выбранные с помощью Указателя команд (IP) и указателя сегмента кода (CSP), вызываются либо из внутренней ROM, либо внутренней RAM, либо из внешней памяти.

2-ая -> Декодирование

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

3-я -> Выполнение:

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

4-ая -> обратная запись:

На этой стадии все внешние операнды и оставшиеся операнды во внутренней RAM записываются обратно.

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

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

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

стадии в режиме похожем на стандартный. Инжектированные команды также применяются для программных прерываний.

Последовательное выполнение команд

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

Конвейерная обработка команд увеличивает среднюю пропускную способность конвейера.

^ Machin^ Cycle
FETCH 'і I2 I3 І4 I5 I6
DECODE І1 I2 "З U I5
EXECUTE И I2 I3 U
WRITEBACK I2 I3

1ime -^

Рисунок 4-2

Последовательная конвейерная обработка команд

Стандартное выполнение команд перехода

Командный конвейер помогает ускорить выполнение программы. В случае совершения перехода, команда, заранее вызванная в конвейер, зачастую не является командой, которая должна быть декодирована следующей. Таким образом, в нормальном режиме необходим как минимум один дополнительный машинный такт для вызова команды, являющейся целью перехода. Дополнительный машинный такт создается с помощью инжекции команды (на рисунке ниже).
Предыдущая << 1 .. 10 11 12 13 14 15 < 16 > 17 18 19 20 21 22 .. 100 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100