Системное программирование. Конспект лекций


Модель оперативной памяти


Объем адресного пространства памяти, к которому теоретически могут выполняться обращения к программе определяется разрядностью представления адреса. Однако, реально в целевой ВС может быть значительно меньший объем памяти. Во встроенных ВС адресное пространство может покрываться реальной памятью несмежными фрагментами, причем фрагменты реальной памяти могут быть как ОЗУ, так и ПЗУ.

Интерпретатор должен "знать" конфигурацию реальной памяти в целевой ВС. Возможные варианты задания такой конфигурации:

  1. Потребовать, чтобы любая ячейка памяти, к которой обращается программа, была описана в программе (директивой DD или BSS).
  2. Описать конфигурацию памяти в отдельном файле, являющимся входным для Интерпретатора.

Представляется, что второй подход более универсальный, так как:

  • обращение в программе по неописанному в ней адресу памяти возможно (особенно это касается программ для встроенных ВС с абсолютными программами и жестки распределением памяти);
  • определение памяти в программе также является объектом проверки/отладки может содержать ошибки;
  • в Ассемблере нет средств описания ОЗУ/ПЗУ.

Внешнее описание памяти считывается Интерпретатором в начале работы и превращается в таблицу фрагментов вида:

Оперативная память целевой ВС представляется памятью (не обязательно оперативной) исходной ВС. Однако, в модели памяти на исходной ВС мы имеем возможность помимо собственно данных, хранящихся в целевой памяти, представлять также и описание этих данных. Каждый байт целевой памяти представляется двумя байтами исходной памяти. В первом байте представления хранятся собственно данные, а во втором - ряд признаков, характеризующих ячейку целевой памяти. Среди этих признаков могут быть такие:

a

признак 1-го байта команды (управление можно передавать только на 1-й байт команды);

b

признак команды/данных

c

признак инициализированных/неинициализированных данных

d

признак изменяемых/неизменяемых данных

e

признак останова при передаче управления

f

признак останова при передаче записи

g

признак останова при передаче чтении

h

и т.д.

<


- Начало -  - Назад -  - Вперед -