Карта памяти программ (ПП)

Внешняя память МК

Внешняя память – память вне кристалла (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 бит –> не выйти за пределы внутренней памяти на кристалле.