Адресные пространства оперативной памяти. Часть 1.

Основная особенность и мини-, и микроЭВМ — малый размер слова — 16 бит. Такой же размер имеет полный адрес, который используется программой. Так как минимально адресуемой единицей памяти в системе является байт, размер адресного пространства, непосредственно доступного программе, 64 Кбайт (или 32К слов). В дальнейшем это адресное пространство будем называть виртуальным.

Большинство программ реального времени, связанных с автоматизацией процессов, обладают повышенной активностью, характеризуемой отношением времени выполнения программы к объему программы. В связи с этим размер физического адресного пространства в 64 Кбайт для большинства применений оказывается достаточным, чтобы разместить в нем программу полностью. Допустимый размер программ совпадает с размерами физического и виртуального адресных пространств. При переходе к расчетным задачам и, особенно к задачам взаимодействия с человеком, связанным с повышением логического уровня систем (использованием языковых процессоров, систем программирования и т. д.), активность программ снижается и размер виртуального адресного пространства становится недостаточным. Традиционное решение проблемы расширения пространства — введение последовательного наложения участков программ на один и тот же участок (участки) виртуального адресного пространства (оперативной памяти). Такая структура называется оверлейной.

Размер программылогическое адресное пространство — может намного превышать размер виртуального адресного пространства программы и размер реальной оперативной памяти (физического адресного пространства). Моменты перекрытия, т. е. моменты смены участков программы (сегментов), должны быть спланированы заранее, оформлены в программе в виде требований к системе управления информацией загрузить необходимый сегмент из файла программы в определенное место оперативной памяти. После загрузки программа работает с вновь загруженным сегментом, не выходя за рамки виртуального адресного пространства. Таким образом, работа программы во всем объеме логического адресного пространства заменяется работой внутри ограниченного виртуального пространства с периодической сменой его содержимого. Такая структура программы является эффективным приемом расширения логического адресного пространства за рамки виртуального или ограниченной разрядности адреса и широко применяется в мини- и микроЭВМ.

Следует отметить, что в ЭВМ других семейств, предназначенных главным образом для вычислений, длина адреса значительно больше, оверлейная структура является вспомогательным средством и применяется в основном для экономии оперативной памяти, для обеспечения достаточного уровня мультипрограммирования. В этом случае виртуальное пространство много больше физического.

В ЭВМ рассматриваемого семейства оверлейная структура — основное средство управления памятью, при этом физическое и виртуальное пространства совпадают. Отображения адресных пространств программы при оверлейной структуре (рис. 1.6,а) реализуются операционной системой (ОС) с помощью двух функций отображения, заданных таблицами. Таблица наложений связывает виртуальное (и совпадающее с ним физическое) пространство с логическим, отыскать во внешней памяти файл, соответствующий логическому пространству программы, помогает справочник файла, а извлечь из файла требуемый сегмент — карта файла.

При переходе от младших моделей семейства к старшим повышается быстродействие центрального процессора. При этом оверлейная структура в чистом виде является тормозом для повышения быстродействия системы: процессор быстро «пробегает» сегмент программы, размещенный в виртуальном (физическом) пространстве в данный момент, выдает требование наложения и ждет окончания операции ввода-вывода. Даже при использовании внешней памяти прямого доступа с малым временем поиска большую часть процессорного времени занимает ожидание.

Адресные пространства при оверлейной структуре программ