Карта памяти программ (ПП)
Внешняя память МК
Внешняя память – память вне кристалла (XRAM).
Для работы с внешней памятью используются команды с другой мнемоникой(пример: movx A, @R0)
Появляется возможность работать с банками внешней памяти размером 64 К.
Схема 8. Сравнение объемов памяти на кристалле и внешней памяти
I 8051 – базовый МК (память программ на кристалле – 2 К)
I 8031 – не имел памяти программ
Схема 9. Пример объединения внешней и внутренней памяти МК
Если имеется память на кристалле, то общее пространство ПП равно 64, т.е. память на кристалле дополняется.
Используя линию , можно регулировать обращение по младшим адресам в ПП.
Сигнал (external access) = 0 (работаем только с внешней памятью)
= 1 (работаем вначале с внутренней, потом внешней памятью)
SP (stack pointer) указывает на вершину стека. В данном МК используется аппаратный стек, растущий вверх, адрес вершины которого находится в регистре SP(stack pointer). Стек, расположенный в памяти данных является внутренним. После RESET SP:=7, там же расположен R7 банка 0. Стек с прединкрементом, т.е. указывается инкремент перед записью. Таким образом, значение пойдет в R0 банка 1. Глубина стека определяется объемом внутренней памяти на кристалле.
Sp = 8 бит –> не выйти за пределы внутренней памяти на кристалле.