Бройдо В.Л. Вычислительные системы, сети и телекоммуникации (2002) (1186248), страница 34
Текст из файла (страница 34)
А„,„должен быть 20-разрядным, но если принять условие, что А„,„должен быть обязательно кратным параграфу (в последних четырех разрядах должен содержать нули), то однозначно определять этот адрес можно 16-разрядным кодом, увеличенным в 16 раз, что равносильно дополнению его справа четгярьмя нулями и превращению его, таким образом, в 20-разрядный код. То есть условно можно записать: А.г; = 16 х А,.„„+ А аа Программисты иногла используют еще две составляющие адреса смешения: адрес базы и адрес инлекса. Следует отметить, что процессор ПК может обращаться к основной памяти, используя только абсолютный адрес, в то время как программист может использовать все составляющие адреса, рассмотренные выше. В современных ПК существует режим виртуальной адресации (%ггца1 — кажущийся, воображаемый).
Виртуальная адресация используется для увеличения алресного пространства ПК при наличии ОП большой емкости (простая виртуальная алресация) или прп организации виртуальной памяти, в которую наряду с ОП включается и часть внешней (обычно дисковой) памяти. При виртуальной адресации вместо начального адреса сегмента А„,. в формировании абсолютного адреса Ак принимает участие многоразрядный адресный код, считываемый из специальных таблиц, Принцип простой виртуальной адресации можно пояснить следующим образом.
В регистре сегмента (обычно регистр ПБ) содержится не А„,„, а некий селектор, имеющий структуру: ИНДЕКС Е СЛ Здесь СЛ вЂ” вспомогательная служебная информация; Š— идентификатор, определяющий тип дескрипторной таблицы для формирования А,.„, (дескрипторные таблицы создаются в ОП при виртуальной адресации автоматически): гз если Р = 0, то используется глобальная дескрипторная таблица (ОПТ), общая для всех задач, решаемых в ПК при многопрограммном режиме; щ если Р = 1, то используется локальная дескрппторная таблица (ЕОТ), создаваемая для каждой задачи отдельно; а ИНДЕКС вЂ” адрес строки в дескрипторной таблице.
В соответствии с индексом и илентпфикатором из О1Т или ЕОТ считывается 64- битовая строка, содержащая, в частности;и адрес сегмента. Разрядность этого адреса зависит от размера адресного пространства микропроцсссора, точнее равна разрядности его адресной шины.
Подобная виртуальная адресация используется при защищенном режиме работы микропроцессора. Для большей плотности раз- Основная память 153 мещения информации в оперативной памяти (уменьшения сегментированности, характерной для многопрограммного режима) часто используется сегвентно-страпичяг4я адресация, при которой поля памяти выделяются программам внутри сегментов страницами, размером от 2 ло 4 Кбайт.
Формирование сегментно-страничной структуры адресов выполняется автоматически операционной системой. Виртуальная память создается при недостаточном объеме оперативной памяти, не позволяющем разместить в ней сразу всю необходимую информацию для выполняемого задания. При загрузке очередной задачи в оперативную память необходимо выполнить распределение машинных ресурсов, в частности оперативной памяти между компонентами одновременно решаемых задач (в принципе, оперативной памяти может не хватить и для решения олной сложной задачи). При подготовке программ используются условные адреса, которые должны быть затем привязаны к конкретному месту в памяти.
Распределение памяти может выполняться или в статическом режиме до загрузки программы в ОП, или в динамическом режиме автоматически в момент загрузки программы. Статическое распределение памяти весьма трудоемко, поэтому применяется редко. Если очевидно, что реальная память меньше требуемого программой алресного пространства, программист может вручную разбить программу иа части, вызываемые в ОП по мере необходимости, — создать оверлейную структуру программы. Обычно же используется режим динамического распределения памяти.
При динал1ическом распределении памяти в случае недостаточной емкости ОП полезно воспользоваться агртуальной памягпью. В режиме виртуальной памяти пол ьзователь имеет дело не с физической ОП, действительно имеюц ~ейск в ПК, а с виртуальной <калалджся) одноуроонеоой памятью, емкость которой равна всему адресному пространству микропроцессора. На всех этапах подготовки программы, включая ее загрузку в оперативную память, в программе используются виртуальные адреса и лишь при непосредственном исполнении машинной команлы выполняется преобразование виртуальных адресов в реальные физические адреса ОП. При этом реально программа может размещаться частично в ОП, частично во внешней памяти.
Технология организации виртуальной памяти следуюшая. Физические оперативная и дисковая (привлеченная к задаче) память и виртуальная память разбиваются на страницгя одинакового размера по 4 Кбайта. Страницам виртуальной и физической памяти присваиваются номера, которые сохраняются одними и теми же на весь период решения задачи. Операционная система формирует две таблицы: О страниц виртуальной памяти; О физического размешения страниц, и устанавливает логические связи между ними (рис.
6.2). На рисунке видно, что физические страницы могут находиться в текуший момент времени как в оперативной, так и во внешней памяти. Из внешней памяти виртуальные страницы автоматически перемешаются в оперативную только тогда, когда к ним происходит обращение. При этом они замещают уже отработавшие страницы. Страничные таблицы для каждой программы формируются операционной системой в процессе распределения памяти и изменяются каждый раз, когда физические страницы перемещаются из ВЗУ в ОП. Виртуальная память может иметь Глава б.
Запоминающие устройства ПК и сегмент но-страничную организацию. В атом случае виртуальная память делится сначала па сегменты, а внутри них на страницы. Принцип организации такой памяти аналогичен рассмотренному выше. Рис. 8.2. Табпица страниц Для ПК характерно стандартное распределение непосредственно адресуемой памяти, то есть 1-мегабайтной области ОП между ОЗУ и ПЗУ и между функционально ориентированной информацией (рис. 6.3). Рис. 6.3.
Непосредственно адресуемая память Основная память в соответствии с методами обращения и адресации делится на отдельные, иногда частично нли полностью перекрывающие друг друга области, имеющие общепринятые названия. В частности, обобщенно логическая структура основной памяти ПК общей емкостью 61 Мбайт представлена на рис. 6А. 155 Основная память Рис. 6.4. Логическая структура основной памяти Прежде всего, основная память компьютера делится на две логические области: непосредственно адресуемую память, занимающую первые 1024К ячеек с адресами от 0 до 1024 К вЂ” 1, н расширенную память, доступ к ячейкам которой возможен нри использовании специальных программ-драйверов или в защищенном режиме работы микропроцессора.
Драйвер — специальная программа, управляюшая работой памяти или внешними устройствами компьютера и организующая обмен информацией между МП, ОП и внешними устройствами компьютера. Стандартной памятью (СМА — Сопуепг«опа! Мепюгу Агеа) называется непосредственно адресуемая память в диапазоне от 0 до 640 Кбайт. ! !е«юсрелственно адресуемая память в диапазоне адресов от 640 до 1024 Кбайт на.«ывается верхней памятью (ПМА — баррет Мешогу Агеа). Верхняя память заре.к рвнроваца для памяти дисплея (вндеопамяти) и постоянного запоминая«щего устройства. Однако обычно в верхней памяти остаются свободйь«е участки-«окна», которые могут быть использованы при помощи программ управления памятью (драйверов) в качестве оперативной памяти обшего назначения.
Расширенная память — это память с адресами 1024 Кбайт н выше. Имеется два основных способа доступа к атон памяти: «л по спецификации ХМБ (эту память называют тогда ХМА — еХгепг!е«! Мешогу Агеа); гз по спецификации ЕМЯ (память называют ЕМ вЂ” Ехрап«!е«! Мепюгу). Доступ к расширенной памяти согласно спецификации ХМЯ (Ех«епдеаг Метопу орег«««саГ«оп) организуется прн использовании специальных лрайверов (например, ХММ вЂ” Ехгепг!ег! Мепюгу Мапайег) путем пересылки по мере необходимости отдельных полей ХМА в своболпые области верхней памяти (УМА). Эту память иногда называют дополнительной. Спецификация ЕМ$ (Ехрапс(еа«Метопу прес«««саг«оп) является более ранней.
Согласно этой спецификации доступ реализуется це путем пересылки, а лишь путем отображения по мере необходимости отдельных полей Ехра««г)ег! Мепюгу в свободные области верхней памяти. Отображение организуется путем динамического замещения адресов полей ЕМА в свободных «окнах» ПМА; в окне УМА при этом хранится не обрабатываемая информация, а лишь адреса, обеспечивающие доступ к этой информации. Память, организуемая по спецификации ЕМЯ, носит ««азва««««е отображаемой, поэтому и сочетание слов Ехрап«!е«! Мепюгу (ЕМ) часто переводят как отображаемая память (хотя термин Ехрапг!е«! почти идентичен термину Ехгеп«!ес! и более точно переволнтся как расширенный, увеличенный).
Чля организации отображаемой памяти необходимо воспользоваться драйвером 156 Глава б. Запоминающие устройства ПК ЕММ.ЕХЕ (Ехрапоег! Мегпогу Мапайег). Отображаемая память медленная и поэтому она постепенно уступает место Ехгепг1ео Мешогу. Расширенная память может быть использована главным образом для хранения данных и некоторых программ ОС. Часто расширенную память используют для организации виртуальных (электронных) дисков. Исключение составляет небольшая 64-килобаптная область памяти с адресами от 1024 до ! 088 Кбайт (так называемая высокая память, иногла ее называют старшая: НМА — Н!811 Метогу Агеа), ко|орая может адресоваться и непосредственно прп использовании драйвера Н! МЕМЕХЕ (Н18Ь Меногу Мапайег), например.
НМА может использоваться для хранения любой информации, в том числе и программ пользователя. Возможность непосредственной адресации высокой памяти обусловлена особенностью сегментной адресации ячеек ОП, ибо в этой концепции максимально возможный адрес ячейки памяти с непосредственной адресацией формируется из максимально возможногб адйвса,сегмента ЕГЕРЕ, то есть 1024' — 1 — верхняя граница непосредственно адресуемой верхней памяти, плюс максимально возможный адрес смешения в этом сегменте ГГГà — получаем верхнюю границу непосредственно адресуемой высокой памяти. Внешние запоминающие устройства Ус гройсгва внешней памяти, нли, иначе, внешние залачинающпе устройства (ВЗУ), весьма ранообразны.
Их можно классифицировать по целому ряду признаков: по виду носителя, по типу конструкции, по принципу записи и считывания ин- формации, по методу доступа и т. д. При этом под носителем понимается матери- альный объект, способный хранить информацию, Одни нз возможных вариантов классификации ВЗУ приведен на рпс. 6.5. Рис. 5.5. Классификация ВЗУ В зависимости от типа носителя все ВЗУ можно подразделить на накопители ца магнитной ленте и дисковые накопители. Накопители на магнитной лепте, в свою очередь, бывают двух видов: накопители на бобинной ленте и накопители на кассетной ленте (стримсры).
В ПК используются только стримеры. Накопители на дисках более разнообразны (табл. 6.2): 157 Внешние запоминающие устройства С1 накопители на гибких магнитных дисках (НГМД), иначе называемые накопителями на флоп пи-дисках или на дискетах; Г3 накрпители на жестких магнитных дисках (НЖМД) типа «винчестерГН Ы накопители на сменных жестких магнитных дисках, использующие аффект Бернулли; сз накопители на флоптических дисках, иначе Йорйса)-накопители; С1 накопители сверх высокой плотности записи, иначе, ЧНО-накопители; 01 накопители на оптических компакт-дисках С13-КОМ (Сошрасг ь11Й КОМ); накопители на оптических дискахтипа СС ~ЧОКМ (Сопй пиона Сошроз11е»Чпте Опсе кеа11 мапу, однократная запись — многократное чтение); Г3 накопители на магнитооптических дисках (НМОД); с3 накопители на цифровых видеодисках Г)ЧГ) (1)1К11а! Чегват11е 015к) и т.