2016-07-03 2 views
0

Может кто-нибудь, пожалуйста, помогите мне объяснить концепцию банковских регистров выбора в отношении микроконтроллеров? Я использую PIC18F и читаю и изучаю движение данных в классе. Концепция банковского регистра выбора и банка доступа по-прежнему нова и запутанна для меня. (Особенно доступ к банку, когда я делаю поиск Google все, что я вижу вещи о регулярных денежных банках = [)Может кто-нибудь помочь мне объяснить концепцию выбора банка?

примеров вещей, которые я прочитал, который сбивает с толку:

Инструкция: CLRF F, в ==== ======> Очистить регистр данных F до нуля. F находится в банке доступа, если a = 0 и F находятся в банке, указанном BSR, если a = 1

Инструкция MOVWF F, a =========> Переместить данные из WREG в регистр данных F. F находится в банке доступа, если a = 0 и в банке, указанном BSR, если a = 1.

^Я понимаю первые части о WREG и т. Д. ..., но не очень понимает банки доступа и BSR , Очень ценится, если кто-нибудь знал какие-либо ресурсы или что-то, что могло бы помочь :)

+1

Что конкретно ** ** в техническом паспорте/справочном руководстве вы не понимаете? Документация ПОС вполне понятна. – Olaf

+1

Концепция? Вообще: предположим, что микро может адресовать 64k байт, но вы хотите, чтобы он имел 128k байт ОЗУ. Это невозможно сделать напрямую, но его можно решить, имея 8 банков по 16 тыс. Байт каждый, и регистр поискового вызова, чтобы выбрать, какой из 8 банков оценивается. Который выбранный банк памяти выбран в том же месте на карте памяти, и только одна страница может быть прочитана/записана за раз. –

ответ

2

Необходимость в банках связана с способностью ПОС адресовать 12-разрядное адресное пространство, а однобайтовый адрес соответствует только восьми бит. Следовательно, вам нужно установить верхние четыре бита в регистр выбора банка (BSR).

Эта схема адресации быстро становится обузой, поскольку инструкции по переключению между банками начинают засорять текст программы сборки, что не так просто читать, и потому что эти инструкции занимают ценное пространство. Чтобы облегчить эту проблему, архитектура PIC представила так называемый банк доступа.

Банк доступа содержит часть специального адресного пространства 0,128 специальных байтов, распределенных по БАНКу 0, а также несколько регистров из последнего банка. PIC дает вам доступ к этим местам без переключения банков, просто устанавливая a на ноль. Тщательное планирование использования памяти позволяет сэкономить значительную часть памяти программ, разместив обычно доступные данные в регистрах доступа и используя режим адреса быстрого доступа.

Для получения дополнительной информации по теме см. Q&A.

+1

Обратите внимание, что часто PIC18F выполняется в расширенном режиме, который заменяет фиксированную RAM в доступе для памяти, индексированной с FSR2, что позволяет эффективный доступ к переменным в локальном стеке кадров для облегчения генерации кода C. Однако ячейки ввода-вывода все еще существуют. – doynax

Смежные вопросы