Основні особливості архітектури мікроконтролерів PlCmicro. Організація пам'яті програм. Непряма адресація, регістри INDF й FSR, страница 5

Пам'ять даних розділена на банки, що містять регістри загального й спеціального призначення Регістри загального призначення розміщаються в різних банках пам'яті даних для того, щоб була можливість організувати більше 96 байт ОЗП. Регістри спеціального призначення призначені для керування периферійними модулями й функціями мікроконтролера. Керування банками пам'яті виконується бітами в регістрі STATUS <7:5>. Організація пам'яті даних залежить від типу мікроконтролера.

Щоб передати дані з одного регістра в інший, необхідно використати додатковий регістр W. Ця операція виконується двома командами за два машинних цикли мікроконтролера.

Звертання до всіх регістрів пам'яті даних може бути виконано прямою або непрямою адресацією:

•  Пряма адресація для вказівки банку пам'яті даних необхідно використати біти RP1:RPO регістра STATUS.

•      Непряма адресації    адреса регістра зберігається в FSR, а в біті IRP регістра STATUS вказується до якої пари банків пам'яті даних виконується обіг (Банк0/Банк1 або Банк2/Банк3).

Регістри загального призначення (GRP)

Регістри загального призначення розміщаються в різних банках пам'яті даних. Ці регістри не ініціалізуються при скиданні по включенню живлення й мають невідоме значення, а при всіх інших скиданнях мікроконтролера не змінюють свого значення.

Звертання до регістрів загального призначення може бути виконано прямою або непрямою адресацією (через регістри FSR й INDF) У деяких мікроконтролерах існують регістри загального призначення, адресуєми до однієї й тому ж осередку ОЗП, незалежно від поточного банку пам'яті даних

Регістри спеціального призначення (SFR)

Регістри спеціального призначення використаються для керування ядром і периферійними модулями мікроконтролера. Ці регістри реалізовані як статичне ОЗП. Регістри спеціального призначення розміщені в різних банках пам'яті даних, а деякі з регістрів відображаються у всіх банках.

Перемикання робочого банку пам'яті виконується настроюванням бітів RP1:RPO регістра STATUS. При скиданні по включенню живлення й інших видів скидання мікроконтролера в деякі регістри спеціального призначення записується певне значення. Існують регістри SFR які містять невідоме значення при скиданні по включенню живлення, а при інших видах скидання не змінюються.

 Звертання до регістрів спеціального призначення може бути виконано прямою або непрямою адресацією

Банки пам'яті даних

Пам'ять даних розділена на 4 банки. Кожен банк містить регістри спеціального призначення (на початку адресного простору банку) і регістри загального призначення. Перемикання між банками здійснюється за допомогою бітів

•      RPI:RPQ у регістрі STATUS при прямої адресації.

•      IRP у регістрі STATUS при непрямій адресації.

Вся пам'ять даних виконана за технологією статичного ОЗП з максимальним розміром банку пам'яті 7Fh (128 байт). На початку банку розташовуються регістри спеціального призначення, за ними регістри загального призначення. Деякі, часто використовувані регістри спеціального призначення банку 0 відображаються в інших банках пам'яті для спрощення програми мікроконтролера й одержання швидкого доступу до них.

У процесі розробки нових мікроконтролерів, адреси розміщення регістрів спеціального призначення в пам'яті даних перетерпіли деякі зміни. Організація пам'яті даних, показана на малюнку, є стандартом для всіх нових мікро контролерів. Останні 16 байт всіх банків пам'яті даних показаних на карті, відображаються на банк 0, що повинне спростити програму, що працює з банками пам'яті даних. Регістри, імена яких виділені напівжирним текстом, присутні у всіх мікро контролерах.


Механізм прямої адресації пам'яті даних


Примітки

1      Регістри    назви   яких   виділені   напівжирними   будуть   присутні   в   кожному мікроконтролері.

2     У деякі мікроконтролерах частина банку пам'яті даних може бути не реалізована.  Читання за адресою неіснуючого ОЗП буде давати результат 00h.

3     Ця частина ОЗП може бути не реалізована. Читання за адресою неіснуючого ОЗП буде давати непередбачений результат