Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Верхняя память (UMA)



Верхняя память (UMA) - начинается с адреса А0000 и до FFFFF. Занимает она 384 Кбайт. Сюда грузится информация, связанная с аппаратной частью компьютера. UMA можно разделить на 3 части по 128 Кбайт. Первая часть (от А0000 до BFFFF) предназначена для видеопамяти. В следующую часть (от C0000 до DFFFF) грузятся программы BIOS адаптеров. Последняя часть (от E0000 до FFFFF) зарезервирована для системной BIOS. Тут есть одна особенность. Дело в том, что последние 128 Кбайт не полностью используются. В большинстве случаев под BIOS задействованы только последние 64 Кбайт. Свободная же часть UMB управляется драйвером EMM386.EXE и используется для нужд операционной системы.

Во времена первых персональных компьютеров, процессоры могли выполнять только лишь 16 разрядные команды, а адресовать не более 1 Мбайта памяти, так как использовали 20 разрядную адресную шину (где-то я уже говорил это). Операционная система DOS и все прикладные программы были на это рассчитаны. При этом, выполняться могла только одна программа – это так называемый однозадачный режим. Никакой защиты от перезаписи ячеек памяти одной программы другой не было. Такой режим назвали реальный. Затем на свет появился первый 32 разрядный процессор 80386, который мог уже работать с 32 разрядными приложениями. Но так же и возможность работать со старыми программами была оставлена. В новом процессоре адресная шина была либо 24 разрядной (386SX, 386SL) или 32 разрядной (386DX). Понятно, что адресовать он мог уже большее пространство. При этом была решена задача защиты данных в ячейках памяти от перезаписи. Такой вот режим назвали защищенным.

XMS

Основная и верхняя память занимают 1 Мбайт памяти в общей сложности. Что бы работать с областью свыше 1 Мбайта, процессор должен работать в защищенном режиме. Эта область называется дополнительная память (XMS). Что бы работать в XMS используя DOS, для процессоров был разработан еще один режим – виртуальный. DOS не может перейти барьер в 640 Кбайт. Виртуальный режим позволяет разбить дополнительную память на части по 1 Мбайту. В каждую часть грузится по программе DOS и там они варятся в реальном режиме, но уже не мешая друг другу выполнятся одновременно. Для 32 разрядных приложений барьера в 640 Кбайт не существует и для них деление XMS ни к чему. Отвечает за перевод режимов процессора драйвер EMM386.EXE, а за организацию самой области – HIMEM.SYS. Посмотреть, что творится у Вас в XMS можно с помощью SysInfo из набора Norton Utilities.

HMA

В дополнительной области, в самом начале ее первого мегабайта выделена зона, объем которой равен 64 Кбайт минус 16 байт. Называется она областью верхних адресов (HMA). История появления этой области лежит корнями глубоко и тянется аж к 80286 процессору, а точнее к ошибке в его схеме. Процессоры 8086 и 8087 имели 20 разрядную адресную шину, работали в реальном режиме и могли максимально обратится по адресу FFFFF (FFFF:000F). А вот 80286 процессор имел уже 24 разрядную шину адреса, работал в реальном и защищенном режимах и мог адресовать до 16 Мбайт памяти.

Теперь рассмотрим пример: возьмем сегментный адрес FFFF:FFFF и переведем его в линейный, получим 10FFEF. Такой адрес 8086 процессор адресовать не мог, так как это уже во втором мегабайте памяти. В подобных случаях делалось просто – откидывался старший разряд. Получится 0FFEF, а это уже обращение на 16 байт от конца первого сегмента в 64 Кбайт первого мегабайта памяти. И 80286 процессор, работая в реальном режиме, должен был поступать также. Но проблема заключалась в том, что в этом режиме 21 линия шины адреса (А20) не отключалась и оставалась в работе. А значит, получалось в данном случае обращение на 16 байт от конца первого сегмента в 64 Кбайт второго мегабайта памяти. Не все программы могли тогда работать таким образом и инженеры нашли способ включать и отключать линию А20. Для этих целей использовался специальный контроллер. Для управления HMA используется HIMEM.SYS.

EMS

Еще одна область – расширенная память (EMS). Данная область на сегодняшний день мало кому нужна и мало кем используется. Находится эта область в верхней памяти и занимает порядка 64 Кбайт. Использовалась она лишь в старых компьютерах с оперативной памятью до 1 Мбайта. В силу своей спецификации это достаточно медленная область. Дело в том, что расширенная память – это один из многих коммутируемых сегментов. После того, как сегмент заполнится, происходит смена использованного сегмента новым. Но работать можно только с одним сегментом, не совсем хорошо, удобно и быстро. Как правило, первый сегмент EMS находится по адресу D000.

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





Дата публикования: 2014-11-19; Прочитано: 1015 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...