Содержимое защелок МАМ автоматически сбрасывается в начале любой операции программирования или стирания Flash-памяти. Таким образом, исключается возможность ошибочного помещения в защелки устаревших (недостоверных) данных. Любое последующее обращение по адресу Flash-памяти инициирует новую выборку, которая будет осуществлена после завершения операции программирования или стирания Flash-памяти.
5.6. Режимы работы модуля акселератора памяти
Модуль МАМ имеет три режима работы, различающиеся степенью использования модуля и уровнем «предсказуемости» при обращениях процессорного ядра ARM к Flash-памяти:
Режим 0. Модуль МАМ не используется. Все запросы к памяти приводят к операции чтения Flash-памяти (см. сноску 2 к Табл. 5.1). Выборка команд с упреждением отсутствует.
Таблица 5.1. Функционирование модуля МАМ
|
Режим МАМ |
|||
|
1И11 JStlipili.a К 11ЯМЯТИ Программ |
0 |
1 |
2 |
|
При различных типах доступа к командам программы |
|||
|
Последовательный доступ, данные в защелках МАМ |
Производится выборка из Flash-памяти2' |
Использование защелки данных1' |
Использование защелки данных1' |
|
Последовательный доступ, данные не в защелках МАМ |
Производится выборка из Flash-памяти |
Производится выборка из Flash-памяти1' |
Производится выборка из Flash-памяти1' |
|
Непоследовательный доступ, данные в защелках МАМ |
Производится выборка из Flash-памяти2' |
Производится выборка из Flash-памяти1''2' |
Использование защелки данных1' |
|
Непоследовательный доступ, данные не в защелках МАМ |
Производится выборка из Flash-памяти |
Производится выборка из Flash-памяти1' |
Производится выборка из Flash-памяти1' |
|
При различных типах доступа к данным и прямого доступа к памяти (DMA) |
|||
|
Последовательный доступ, данные в защелках МАМ |
Производится выборка из Flash-памяти2' |
Производится выборка из Flash-памяти2' |
Использование защелки данных |
|
Последовательный доступ, данные не в защелках МАМ |
Производится выборка из Flash-памяти |
Производится выборка из Flash-памяти |
Производится выборка из Flash-памяти |
|
Непоследовательный доступ, данные в защелках МАМ |
Производится выборка из Flash-памяти2' |
Производится выборка из Flash-памяти2' |
Использование защелки данных |
|
Непоследовательный доступ, данные не в защелках МАМ |
Производится выборка из Flash-памяти |
Производится выборка из Fbsh-памяти |
Производится выборка из Flash-памяти |
|
" Выборка команд с упреждением производится в режимах 1 и 2. 2) Если требуемые данные уже находятся в защелках, модуль МАМ использует их, но доступ к данным через защелки производится за такое же время, как и чтение этих данных непосредственно из Flash-памяти. Выгода такого подхода заключается только в экономии мощности. Модуль МАМ может быть отключен путем записи в биты 2:0 регистра MAMTIM значения 001, задающего длительность цикла обращения модуля МАМ к Flash-памяти равной одному периоду импульсов тактовой частоты cclk. |
|||
Режим 1. Модуль МАМ частично задействован. Производится выборка команд с упреждением. То есть последовательный доступ к командам выполняется через наборы защелок, если эти команды в них имеются. В противном случае (попытка вызова команд, не следующих последовательно друг за другом) инициируется операция чтения Flash-памяти (см. сноску 2 к Табл. 5.1). Это означает, что все ветвления программы вызывают выборки непосредственно из Flash-памяти. Все операции с данными вызывают чтение Flash-памяти.
| НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |