Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТСИ _ Курс лекций _ УМК.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.58 Mб
Скачать

1.4.7. Логическое распределение оперативной памяти

Логическое распределение оперативной памяти определя­ется, среди прочих, и особенностями аппаратной реализации персональных компьютеров. Производительность вычислитель­ной системы можно зачастую повысить внутрисистемными средствами.

Можно выделить следующие важнейшие логические области оперативной памяти:

  • стандартная оперативная память (Conventional Memory);

  • UMA (Upper Memory Area);

  • EMS (Expanded Memory Specification);

  • HMA (High Memory Area);

  • XMS (Extended Memory Specification).

Стандартная оперативная память является наиважней­шей, в ней размещены прикладные программы и данные.

В то время, как внутри персонального компьютера все дан­ные и программы представлены в двоичном коде, для адреса­ции памяти применяется шестнадцатеричная система счисления, ха­рактеризующаяся наличием символа «h» после значения. К 10 цифрам (от 0 до 9) добавляются еще буквы от A до F. Значение 16-ричного числа F соответствует десятичному числу 15. Перед чис­лом F ставят 0, т.е. 15 в 16-ричной системе записывают как 0Fh. Адреса ячеек памяти обозначают разделенными двоеточием двумя 16-ричными конструк­циями: сегментом (номер шестна­дца­тибайтного блока памяти) и смещением (относительно начала сегмента). Например, адрес 1000h:0112h означает адрес 10112h.

Стандартная память начинается с адреса 0000:0000 и про­дол­жается до адреса A000:0000. Верхний предел был установлен процессорами 8088 и 8086. Они имели 20-разрядную адресную шину и поэтому могли адресовать только 1 Мб ячеек памяти (220 = 1 048 576 байт). В пределах этой памяти выше уровня 640 Кб были зарезервированы 384 Кб для выполнения внутренних функ­ций.

В стандартной оперативной памяти расположены:

Таблица векторов прерываний – адреса сервисных про­грамм, входящих в состав операционной системы и BIOS. Речь идет о таких базовых функциях, как отображение символа на экране монитора, организация доступа к дисководам и т.п. Од­нако, поскольку существуют различные операционные системы и версии BIOS, такие программы обработки прерываний могут быть расположены в различных местах стандартной оперативной памяти. В таблице векторов прерываний указано их реальное расположение. Таблица состоит из 256 элементов по 4 байта, т.е. занимает 1024 байта (1 Кб), и начинается с адреса 0000h:0000h.

Область данных BIOS – объемом 768 байт. Здесь размещены: счетчик таймера, буфер клавиатуры и др. внутренняя информация.

Область для операционной системы – область для загрузки части операционной системы, например, ядра ОС «DOS» или «Windows». Часть ядра – процессор команд COMMAND.COM. Ядро ОС не имеет постоянного адреса памяти, его местоположе­ние зависит от версии операционной системы.

Основная область стандартной оперативной памяти – до адреса A000h:0000h все принадлежит только программам и дан­ным.

UMA. После первых 640 Кб оперативная память становится «аппаратной» – здесь находится информация, необходимая для сопряжения прикладных программ с различными картами рас­ширений, а поскольку карты расширений очень часто называют адаптерами, то эту область памяти называют сегментом адап­тера или верхней памятью (т.к. речь идет об области с более высокими адресами). Диапазон размещения верхней памяти A0000h – FFFFFh (от 640 Кб до 1 Мб, т.е. ее размер 384 Кб).

Рассматриваемая область памяти неоднородна. Здесь размещены видеопамять и ROM BIOS, а также могут находиться модули постоянной и оперативной памяти, конструктивно распо­ложенные на картах расширения. Поэтому среди этих блоков некоторые зарезервированы, а другие – свободны (последние называют UMBUpper Memory Block).

Область памяти графической карты занимает 128 Кб (от A000h:0000h до C000h:0000h). Конструктивно она расположена на видеокарте, а логически помещена в адресное пространство памяти. С видеопамятью работают два компонента компьютера: процессор и монитор. Процессор помещает в нее данные и обращается к ней только при необходимости изменить выводимые данные. Монитор считывает непрерывно данные для отображения их на экране.

Современные видеокарты поставляют с объемом памяти 2 – 8 Мб. Здесь хранится изображение. Соответствующая программа обращается к изображению через «окно» размером 64 Кб. При этом программа управляет значением в специальном индексном регистре, показывающим, какие 64 Кб видеопамяти отображаются в «окне».

В области VGA BIOS размером 32 Кб (от C000h:0000h до C800h:0000h) записаны основные функции для представления изображений. Доступ в эту область намного быстрее, чем в ROM BIOS.

Выше адреса C800h:0000h расположены несколько свободных блоков, используемых обычно для ускорения доступа и размещения информации. Кроме того, 64 Кб резервируется для страниц дополнительной памяти (EMS), если она будет использоваться.

Наконец, последние 64 Кб сегмента адаптера выше адреса F000h:0000h заняты ROM BIOS. Здесь находится, к примеру, информация, внесенная в CMOS Setup при конфигурировании персонального компьютера.

EMS. Метод Expanded Memory Specification (EMS) позволяет использовать свободную память, самостоятельно не идентифицируемую системой и расположенную в верхней памяти. Этот метод появился потому, что программы, использующие большой объем памяти, не могут разместиться в оперативной памяти объемом 640 Кб.

Фирмами Lotus, Intel и Microsoft (LIM) создан стандарт, основанный на переключении банков (Bank Switching) или страниц памяти.

В области UMB между видеобуфером и системной ROM BIOS выделяется незанятое окно (Page frame) размером 64 Кб, разделенное на 4 логические страницы по 16 Кб каждая. С помощью специального драйвера строятся «отображения» физических страниц в логические из дополнительной (Expanded) памяти, расположенной на специальной карте расширения. Поэтому эту память называют отображаемой.

Когда процессор обращается к области памяти, входящей в окно, аппаратно происходит обращение к соответствующим стра­ницам дополнительной памяти на плате расширения. Таким образом, посредством адресации с помощью драйвера EMS можно обращаться к 8 Мб (стандарт LIM 3.2) или к 32 Мб (стандарт LIM 4.0) дополнительной памяти, конструктивно расположенной на отдельной плате расширения. Для персональных компьютеров с процессором 80386 и выше такая плата не нужна, т.к. EMS здесь может эмулироваться с помощью специального драйвера.

Для использования EMS-памяти необходимо выполнение следующих условий:

  • прикладные программы должны уметь обращаться к драйверу EMS-памяти;

  • необходим специальный менеджер (Expanded Memory ManagerEMM), который организует страницы памяти и управляет ими.

HMA. Первый блок оперативной памяти величиной 64 Кб выше 1 Мб обозначают High Memory AreaHMA. Своим существованием эта область обязана следующему.

Вся стандартная память, помимо пред­ставленной в виде 16 непересекающихся блоков размером по 64 Кб каждая, может быть представлена также и в виде перекрываемых областей по 64 Кб – в виде сегментов, которые могут начинаться через каждые 16 байт.

Максимальный полный адрес в виде «сегмент: смещение», по которому может обратиться процессор 8088, – это FFFF:000Fh (20 адресных линий). Если увеличить это значение хотя бы на единицу, то произойдет циклический перенос (Wrap around), и значение адреса станет 0000:0000.

Однако этого не произойдет для компьютеров с процессорами 80286 и выше, т.к. адресная шина таких процессоров имеет больше 20 разрядов. Но адрес памяти при этом превысит границу 1 Мб. Чтобы исправить такую ошибку фирма IBM предусмотрела на материнских платах специальные средства, заставляющие процессоры в таких случаях выполнять переход на низшие адреса. Однако такой переход может быть отменен программным путем.

Таким образом, персональные компьютеры с процессорами не ниже 80286 в реальном режиме может дополнительно адресовать целый сегмент размером 64 Кб минус 16 байт. Необходимую программную поддержку здесь выполняет специальный драйвер HYMEM.SYS.

XMS (eXtended Memory Specification)расширенная память – обозначает всю оперативную память выше границы 1 Мб, включая также и HMA. Однако следует отметить, что спецификация XMS дает возможность одновременного доступа к HMA только одной программе DOS, например, для загрузки ее резидентной части.

Информацию о XMS-памяти можно получить с помощью утилиты SysInfo, входящей в пакет Norton Utilities.

Чтобы иметь доступ к расширенной памяти, необходим специальный драйвер, с помощью которого данные пересылаются из стандартной памяти в расширенную и обратно – выполнение программ, размещенных в расширенной памяти, не предусмотрено. Таким драйвером является уже знакомый нам HYMEM.SYS. Он переводит процессор в защищенный режим, в котором можно адресовать всю память.

Контрольные вопросы к разделу

  1. Чем отличается персональный компьютер (ПК) от других ЭВМ?

  2. Какие исполнения персональных компьютеров Вы знаете?

  3. Назовите основные блоки персонального компьютера.

  4. Какие устройства находятся в системном блоке?

  5. Каково назначение основных устройств ПК: процессора, памяти, клавиатуры?

  6. Процессор. Назовите основные характеристики процессора.

  7. CISC- и RISC- процессоры.

  8. Режимы работы процессора.

  9. Параметры процессора. Тактовая частота.

  10. Память. Внутренняя память. ОЗУ и ПЗУ.

  11. Быстродействие и производительность.

  12. Динамические ячейки памяти.

  13. Статические ячейки памяти.

  14. Кэш-память.

  15. Микросхемы асинхронной памяти.

  16. Микросхемы синхронной памяти.

  17. Модули памяти.