Логическая структура основной памяти




Запоминающие устройства ПК

Персональные компьютеры имеют четыре уровня памяти:

● микропроцессорная память (МПП);

● регистровая кэш-память;

● основная память (ОП);

● внешняя память (ВЗУ).

Две важнейших характеристики (емкость памяти и ее быстродействие) указанных типов памяти приведены в табл. 6.1.

Быстродействие первых трех типов запоминающих устройств измеряется временем обращения к ним, а быстродействие внешних запоминающих устройств- двумя параметрами: временем доступа и скоростью считывания:

tобр, — сумма времени поиска, считывания и записи информации (в литературе это время часто называют временем доступа, что не совсем строго);

● tдост — время поиска информации на носителе;

● Vсчит — скорость последовательного считывания смежных байтов информации. Напомним общепринятые сокращения: с — секунда, мс — миллисекунда, мкс- микросекунда, нс — наносекунда; 1c = 106 мс = 106 мкс = 109 нс.

Постоянные запоминающие устройства

Постоянное запоминающее устройство (ПЗУ или ROM — Read Only Memory, память только для чтения) также строится на основе установленных на материнской плате модулей (кассет) и используется для хранения неизменяемой информации: загрузочных программ операционной системы, программ тестирования устройств компьютера и некоторых драйверов базовой системы ввода-вывода (BIOS) и т. д.

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

●микросхемы, программируемые только при изготовлении — классические или масочные ПЗУ или ROM;

● микросхемы, программируемые однократно в лабораторных условиях — программируемые ПЗУ (ППЗУ) или programmable ROM (PROM);

● микросхемы, программируемые многократно — перепрограммируемые ПЗУ или Erasable РВОМ (EPROM). Среди них следует отметить электрически перепрограммируемые микросхемы EEPROM (Electrical Erasable PROM), в том числе флэш-память.

Устанавливаемые на системной плате ПК модули и кассеты ПЗУ имеют емкость, как правило, не превышающую 128 Кбайт. Быстродействие у постоянной памяти меньшее, чем у оперативной, поэтому для повышения производительности содержимое ПЗУ копируется в ОЗУ, и при работе непосредственно используется только эта копия, называемая также теневой памятью ПЗУ (Shadow ROM).

В настоящее время в ПК используются «полупостоянные», перепрограммируемые запоминающие устройства — флэш-память. Модули, или карты, флэш-памяти могут устанавливаться прямо в разъемы материнской платы и имеют следующие параметры: емкость до 512 Мбайт (в ПЗУ BIOS используются до 128 Кбайт), время обращения по считыванию 0,035 — 0,2 мкс, время записи одного байта 2 — 10 мкс. Флэш-память — энергонезависимое запоминающее устройство. Приме- ром такой памяти может служить память NVRAM — Non Volatile RAM со скоростью записи 500 Кбайт/с. Обычно для перезаписи информации необходимо подать на специальный вход флэш-памяти напряжение программирования (12 В), что исключает возможность случайного стирания информации. Перепрограммирование флэш-памяти может выполняться непосредственно с гибкого диска или с клавиатуры ПК при наличии специального контроллера, либо с внешнего программатора, подключаемого к ПК. Флэш-память бывает весьма полезной как для создания весьма быстродействующих, компактных, альтернативных НМД запоминающих устройств — «твердотельных дисков», так и для замены ПЗУ, хранящего программы BIOS, позволяя прямо с «дискеты» обновлять и заменять эти, программы на более новые версии при модернизации ПК.

Логическая структура основной памяти

Структурно основная память состоит из миллионов отдельных однобайтовых

ячеек памяти. Общая емкость основной памяти современных ПК обычно лежит

в пределах от 16 Мбайт до 512 Мбайт. Емкость ОЗУ на один-два порядка превышает емкость ПЗУ: ПЗУ занимает 128 Кбайт, остальной объем — это ОЗУ. Каждая ячейка памяти имеет свой уникальный адрес. Для ОЗУ и ПЗУ отводится, единое адресное пространство.

Адресное пространство определяет максимально возможное количество непосредственно адресуемых ячеек основной памяти. Адресное пространство зависит от разрядности адресных шин, поскольку максимальное количество адресов определяется разнообразием двоичных чисел, которые можно отобразить в и разрядах, то есть адресное пространство равно 2", где и — разрядность адреса. За основу в ПК взят 16-разрядный адресный код, равный по длине размеру машинного слова. При помощи 16-разрядного представления адреса можно непосредственно адресовать всего 2'e = 65 536 = 64 Кбайт ячеек памяти. Это 64-килобайтовое поле памяти, так называемый сегмент, также является базовым в логической структуре ОП. Следует заметить, что в защищенном режиме размер сегмента может быть иным и значительно превышать 64 Кбайт.

Современные ПК (кроме простейших бытовых компьютеров) имеют основную память, емкостью существенно больше 1 Мбайт. Но память до 1 Мбайт является еще одним важным структурным компонентом ОП — назовем ее непосредственно адресуемой памятью (справедливо полностью только для реального режима). Для адресации 1 Мбайт = 2" = 1 048 576 ячеек непосредственно адресуемой памяти необходим 20-разрядный код, получаемый в ПК при помощи специальной структуризации адресов ячеек ОП.

Абсолютный (полный, физический) адрес формируется в виде суммы нескольких составляющих, чаще всего используемыми из которых являются: адрес сегмента и адрес смещения.

Адрес сегментасегм) — это начальный адрес 64-килобайтового поля, внутри которого находится адресуемая ячейка.

Адрес смещениясм) — это относительный 16-разрядный адрес ячейки внутри сегмента.

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

Аабс,— — 16 х Асегмсм.

Для удобства программирования и оптимизации ряда операций микропроцессоры ПК поддерживают еще две составляющие смещения: адрес базы и адрес индекса. Следует отметить, что процессор ПК может обращаться к основной памяти, используя только абсолютный адрес, в то время как программист может использовать все составляющие адреса, рассмотренные выше.

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

______________________________________________________________

ИНДЕКС F СЛ

______________________________________________________________

где СЛ — вспомогательная служебная информация; F — идентификатор, определяющий тип таблицы дескрипторов для формирования А (таблицы дескрипторов создаются в ОП при виртуальной адресации автоматически):

● если F О, то используется глобальная таблица дескрипторов (GDT), общая для всех задач, решаемых в ПК в многозадачном режиме;

● если F 1, то используется локальная таблица дескрипторов (LDT), создаваемая для каждой задачи отдельно.

В соответствии с индексом и идентификатором из GLT или LDT извлекается - 64-битовая строка, содержащая, в частности, и адрес сегмента. Разрядность этого адреса зависит от размера адресного пространства микропроцессора, точнее равна разрядности его адресной шины. Подобная виртуальная адресация используется в защищенном режиме работы микропроцессора. Для большей плотности размещения информации в оперативной памяти (уменьшения сегментированности, характерной для многозадачного режима) часто практикуется сегментно-страничная адресация, при которой поля памяти выделяются программам внутри сегментов страницами размером от 2 до 4 Кбайт. Формирование сегментно-страничной, структуры адресов выполняется автоматически операционной системой. Виртуальная память создается при недостаточном объеме оперативной памяти, не позволяющем разместить в ней сразу всю необходимую информацию для выполняемого задания. При загрузке очередной задачи в оперативную память необходимо выполнить распределение машинных ресурсов, в частности оперативной памяти, между компонентами одновременно решаемых задач (в принципе, ' оперативной памяти может не хватить и для решения одной сложной задачи). При подготовке программ в их код заносятся условные адреса, которые должны быть затем привязаны к конкретному месту в памяти. Распределение памяти может выполняться или в статическом режиме до загрузки программы в ОП, или в динамическом режиме автоматически в момент загрузки программы или в процессе ее выполнения. Статическое распределение памяти весьма трудоемко, поэтому применяется редко. Если очевидно, что реальная память меньше требуемого программой адресного пространства, программист может вручную разбить программу на части, вызываемые в ОП по мере необходимости — создать оверлейную структуру программы. Обычно же используется режим динамического распределения памяти.

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

При этом реально программа может размещаться частично в ОП, частично во внешней памяти на жестком диске.

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

● страниц виртуальной памяти,

● физического размещения страниц,

и устанавливает логические связи между ними (рис. 6.2).

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

Для ПК характерно стандартное распределение непосредственно адресуемой памяти между ОЗУ и ПЗУ (рис. 6.3).

Основная память в соответствии с методами обращения и адресации делится на отдельные, иногда частично или полностью перекрывающие друг друга области, имеющие общепринятые названия. В частности, обобщенно логическая структура основной памяти ПК общей емкостью 64 Мбайт представлена на рис. 6.4.

Прежде всего, основная память компьютера делится на две логические области: непосредственно адресуемую память, занимающую первые 1024 Кбайт ячеек садресами от 0 до 1024 Кбайт — 1, и расширенную память, доступ к ячейкам которой возможен при использовании специальных программ-драйверов или в защищенном режиме работы микропроцессора.

Драйвер — специальная программа, управляющая работой памяти или внешними устройствами компьютера и организующая обмен информацией между МП, ОП и внешними устройствами компьютера.

Стандартной памятью (СМА — Conventional Memory Area) называется непосредственно адресуемая память в диапазоне от 0 до 640 Кбайт.

Непосредственно адресуемая память в диапазоне адресов от 640 Кбайт до 1024 Кбайт называется верхней памятью (UMA — Upper Memory Area или UMB — Upper Memory Blocks). Верхняя память зарезервирована для служебной памяти (ранее называлась видеопамятью дисплея) и постоянного запоминающего устройства.

В служебной памяти формируются участки-4окна», используемые при помощи драйверов в качестве оперативной памяти общего назначения.

Расширенная память — память с адресами 1024 Кбайт и выше. В реальном режиме имеются два основных способа доступа к этой памяти:

●по спецификации XMS (память ХМА — Extended Memory Аrеа);

●по спецификации EMS (память ЕМА — Expanded Memory Area).

Доступ к расширенной памяти согласно спецификации XMS (Extended Meтоrу Specification) организуется при помощи специального драйвера (например, XMM — eXtended Memory Manager) путем пересылки по мере необходимости отдельных полей ХМА в свободные области верхней памяти (UMA). Эту память иногда называют дополнительной.

Спецификация EMS (Expanded Методу Specification) является более ранней. Согласно этой спецификации доступ реализуется не путем пересылки, а лишь путем отображения по мере необходимости отдельных полей Expanded Memory в свободные области верхней памяти. Отображение организуется путем динамического замещения адресов полей ЕМА в «окнах» UMA размером 64 Кбайт, разбитых на 16-килобайтовые страницы. В окне UMA хранится не обрабатываемая информация, а лишь адреса, обеспечивающие доступ к этой информации. Память, организуемая по спецификации EMS, носит название отображаемой. Поэтому сочетание слов Expanded Memory (ЕМ) иногда переводят как отображаемая память (хотя термин Expanded почти идентичен термину Extended и более точно переводится как расширенный, увеличенный). Для организации отображаемой памяти при работе в реальном режиме процессора необходим драйвер ЕММ.ЕХЕ (Expanded Memory Manager). Отображаемая память медленная и поэтому она постепенно уступает место Extended Memory.

В реальном режиме расширенная память может быть использована главным образом для хранения данных и некоторых программ ОС. Часто расширенную память используют для организации виртуальных (электронных) дисков. Исключение составляет НМА,которая может адресоваться и непосредственно при использовании драйвера HIMEM.SYS (High Memory Manager). Область НМА может использоваться для хранения любой информации, в том числе и программ пользователя. Возможность непосредственной адресации высокой памяти обусловлена особенностью сегментной адресации ячеек ОП, поскольку в этой концепции максимально возможный адрес ячейки памяти с непосредственной адресацией формируется из максимально возможного адреса сегмента FFFFF, то есть 10242 — 1 — верхняя граница непосредственно адресуемой верхней памяти, плюс максимально возможный адрес смещения в этом сегменте РРРР — получаем верхнюю границу непосредственно адресуемой высокой памяти.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: