Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учеб Пособ_Гончаровский.doc
Скачиваний:
1316
Добавлен:
29.03.2015
Размер:
3.65 Mб
Скачать

1.6. Иерархия памяти

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

Обычно относительно небольшого объема SRAM на кристалле процессора используется вместе с памятью DRAM большого объема вне кристалла процессора. Эта память в дальнейшем может быть объединена с памятью третьего уровня, такой как дисковое запоминающее устройство имеющего очень большую емкость, но без произвольного доступа, что увеличивает время записи и чтения. Прикладной программист может и не знать, что память так фрагментирована. Использование рассмотренной выше схемы виртуальной памяти делает эти разнообразные технологии памяти такими, что на взгляд программиста он имеет дело с непрерывным адресным пространством.

Операционная система и/или аппаратные средства обеспечивают механизм трансляции адресов, который преобразует логический адрес в физический адрес доступной технологии памяти. Эта трансляция часто выполняется специализированной частью аппаратуры под названием TLB (translation look-aside buffer или буфер быстрого преобразования), ускоряющей преобразование адресов. Для разработчиков встроенных систем эта техника может создать серьезные проблемы, т.к. трудно предсказать или понять как будет выполняться доступ к большой памяти. Разработчикам встроенных систем обычно необходимо более глубоко понимать системы памяти. чем программистам, создающих программы общего назначения.

1.6.1. Распределение или карта памяти

Карта памяти процессора определяет, как адреса отображаются на аппаратуру. Общий размер адресного пространства ограничивается разрядностью адреса процессора. 32-разрядный процессор, например, может адресовать 2^32 ячеек или 4 Гбайт, полагая, что каждый адрес относится к одному байту. Разрядность адреса обычно совпадает с разрядностью слова (данных) за исключением 8-разрядных процессоров, у которых разрядность адреса обычно выше (16 бит). На рис.19 в качестве примера приведена карта памяти процессора с архитектурой ARM CortexTM - M3.

Рис.19. Карта памяти процессора с архитектурой ARM CortexTM - M3

Эта архитектура Гарвардского типа, поэтому область А может быть доступна по своей магистрали, а области В и Dпо своей. Это удваивает полосу пропускания.

Некоторые реализации в кристалле этой архитектуры ограничивают ее карту памяти. Например, микроконтроллер Luminary Micro LM3S8962 имеет 256 KB flash памяти вместо допустимой flash памяти 0.5 GB. Эта память отображается на пространство 0x00000000 - 0x0003FFFF. Оставшееся пространство 0x00040000 - 0x1FFFFFFF осталось резервным. Это означает, что целевой компилятор не будет его использовать.

LM3S8962 имеет 64 KB SRAM, отображенные на 0x20000000 -0x2000FFFF, маленькую область в B. Он также содержит периферию (устройства), доступную через область C (0x40000000 - 0x5FFFFFFF). К этим устройствам относятся таймеры, ADC, GPIO, UART и другие устройства ввода-вывода. Каждое из устройств занимает небольшое число адресов памяти для реализации регистров, отображаемых на память. Процессор микроконтроллера может записывать данные в некоторые из них для конфигурирования устройств или выдачи данных на их выходы. Некоторые из регистров могут быть прочитаны для ввода данных из периферии. Небольшое количество адресов из области магистраль частной перифериииспользуется для доступа к контроллеру прерываний

К LM3S8962 можно подключить дополнительно внешние память DRAM (в область Е) и устройства, такие как LCD дисплей, слот MicroSD и USB интерфейс. При этом остается много неиспользуемого адресного пространства. В архитектуре АРМ введен механизм под названием bit banding (привязка бит), который позволяет через неиспользуемые адреса осуществлять доступ к индивидуальным битам в памяти и периферии.