Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_Вычислительные машины_new.doc
Скачиваний:
100
Добавлен:
12.09.2019
Размер:
5 Мб
Скачать
☆

4. Характеристики обмена и типы оперативной памяти

Оперативная память постоянно используется МП в процессе решения задач, предоставляя ему коды команд, данные и адреса операндов и устройств. Основными характеристиками ОЗУ является быстродействие и емкость памяти. Чем быстрее протекает обмен между ОЗУ и МП, тем скорее ЭВМ вычисляет. Этот обмен может происходить в цикле записи или цикле чтения данных. Цикл записи состоит из следующих микроопераций:

- передача адреса ячейки из МП по ША в регистр адреса ОЗУ (время выполнения микрооперации равно tA);

- передача операнда из МП по ШД в информационный регистр ОЗУ (tИ);

- дешифрация адреса в ОЗУ, возбуждение и стирание содержимого ячейки памяти (tД);

- запись из информационного регистра в ячейку памяти (tЗ).

ИС памяти обычно имеют меньшее число выводов, как показано в табл. 3.1, чем разрядность ШД или ША. Поэтому часто одни и те же адресные входы в них используются для передачи адресов строк в старшие разряды регистра адреса под управлением сигнала RAS (время tAR) и для передачи адресов столбцов элементов памяти в младшие разряды регистра адреса под управлением сигнала CAS (время tAC). В таких ИС n-разрядный физический адрес ФА (1, n) разбивается на адрес строки (страницы) АR (1, nR) и адрес столбца (ячейки внутри страницы) АС (1, nC) таким образом, чтобы выполнялось условие

ФА (1, n) = <<AR (1, nR)>, <AC (1, nC)>>.

Тогда передача двоичных кодов <АR (1, nR)> и <АС (1, nC)> осуществляется последовательно, т. е. путем мультиплексирования адресов строки и столбца.

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

tЦЗ = tAR + tAC + tД + tИ + tЗ.

и составлять длительность, с учетом ожидания выполнения более длительных из них, до 5 и более периодов (тактов) работы генератора, синхронизирующего обмен по ШД. Обычно коды <АR (1, nR)> и <АС (1, nC)> передаются по одной и той же шине, тогда tAR = tAC = tA. Сумма tД + tИ + tЗ уменьшается несколькими способами:

- передача данных и адреса выполняется параллельно по разным шинам (tИ = 0);

- используется режим чередования памяти, когда передача осуществляется поочередно в две ячейки памяти, находящиеся в разных ИС, что приводит к параллельному выполнению в двух ячейках микроопераций стирания и записи, тогда tД = 0 или tÇ = 0;

- осуществляется запись в несколько ближайших ячеек, т. е. используется способ разбивки памяти на страницы и режим пакетной или страничной передачи (tAC = 0 или tAR = 0);

- улучшается технология, с применением которой уменьшается время стирания и записи в динамических ОЗУ.

В идеальном случае при использовании всех способов параллельного выполнения микроопераций время, необходимое на запись в 4 ячейки памяти, может занимать 5 тактов работы генератора, что соответствует схеме: 2 – 1 – 1 – 1.

В первых двух тактах передается адрес строки, а затем адрес столбца и операнд. В следующих трех происходит передача на запись еще трех кодов пакета без изменения адреса строки.

Цикл чтения включает микрооперации:

- передача из МП адреса ячейки памяти в регистр адреса ОЗУ;

- дешифрация адреса, возбуждение и чтение содержимого ячейки памяти в информационный регистр ОЗУ (tД1);

- передача данных по ШД в МП (tИ1);

- регенерация данных, т. е. восстановление искаженного в результате чтения содержимого ячейки путем записи в нее данных из информационного регистра (tЗ).

Время, затрачиваемое на цикл чтения, можно вычислить по формуле:

tЦЧ = tAR + tAC + tД1 + tИ1 + tЗ.

Обычно tД = tД1, а tИ = tИ1, и время, затрачиваемое на циклы чтения и записи при обмене одним операндом, в DRAM почти одинаковое. В SRAM отсутствует режим регенерации информации в цикле чтения (tЗ = 0) и стирание информации в цикле записи данных в ячейку (tД = 0). Наибольшее время, затрачиваемое на циклы чтения и записи информации, определяет быстродействие ИС ОЗУ, которое накладывает ограничение на частоту синхронизации системных шин ISA и PCI.

Емкость ОЗУ определяется типом ИС и их параметрами. ИС изготавливаются обычно в пластмассовых корпусах с выводами по обоим сторонам (DIP корпус) с небольшим числом выводов. Типы ИС могут отличаться друг от друга емкостью, разрядностью и другими показателями [18], приведенными в табл. 3.1.

Таблица 3.1

Типы ИС ОЗУ

Емкость V (бит)

Число ячеек (N)

Разрядность

(R)

Число

выводов

Обозначение

256 К

256 К

1

20

Х 1256, Х 0256

1 М

256 К

4

20

Х 4256, Х 1014

1 М

1 М

1

18

Х 1000, Х 1001,

Х 1010, Х 1024

4 М

1 М

4

20

ХХ 4400, ХХ 4401

4 М

4 М

1

18

ХХ 4100, ХХ 4101,

ХХ 4102

Общая емкость ИС ОЗУ определяется числом ячеек N, их разрядностью R и числом обособленных внутри массивов b элементов по формуле:

V = NRb (бит).

Каждый массив b стробируется (регенерируется) в ИС своим сигналом, используя один и тот же информационный регистр для обмена с ШД.

Для увеличения разрядности ячеек ОЗУ, равной разрядности ШД, ИС объединяют в блоки (банки), собирая их на отдельных миниплатах с ножевым разъемом (SIMM или DIMM) или штырьковым (SIP). Эти платы затем устанавливаются в слоты на системной плате ЭВМ. На рис. 3.6, а показана схема банка ОЗУ, имеющего 8- разрядную ШД и один разряд для контроля информации на четность. Банк собран на 30 - контактном SIMM - модуле по байтной структуре на 9 ИС ОЗУ емкостью N  8 бит. Емкость банка соответствует ИС, блок-схема которой показана на рис. 3.6, б. Если nR = nC = 10, то

V = NRb = 2020  8  1 бит = 1 Mб.

Для обращения к банку адрес ячейки подается по ША дважды: сначала в первом такте передается <AR (1, 10)> и по сигналу RAS = 0 он запоминается старшими разрядами регистра адреса:

RGA (11, 19) = ША (1,10)  RAS.

Затем во втором такте передается адрес столбца, который стробируется импульсом CAS:

RGA (1, 10) = ША (1, 10) CAS.

При отсутствии сигнала записи W = 1 в следующих тактах содержимое 8 бит с информационных выходов D0  D7 передается по ШД в МП. Девятый информационный выход ИС D8 используется для контроля данных на четность и в некоторых банках отсутствует при высокой надежности ИС.

ОЗУ Nx1

A1

.

.

.

А10

W

CAS

RAS

D0

ОЗУ Nx1

A1

.

.

.

А10

W

CAS

RAS

D8

ОЗУ Nx1

A1

.

.

.

А10

W

CAS

RAS

D0

.

.

.

D7

D8

а б

Рис. 3.6. Схема наращивания разрядности ОЗУ: а – схема объединения 1- разрядных ИС в 8-разрядную шину данных, б – схема 8-разрядного ЗУ

С увеличением разрядности ШД 30 - контактные однобайтные блоки SIMM занимают много места для установки в слоты системной платы и с появлением Pentium заменены на 72 - контактные 36-битовые модули (D0  D31) с байтной организацией и с контролем каждого байта на четность или на сдвоенные модули DIMM с 64 разрядной ШД. Модули SIMM обозначаются как 256 К  36, 512 К  36, 1 М  36, 2 М  36, 4 М  36, 8 М  36, 16 М  36, что соответствует емкости 1, 2, 4, 8, 16, 32 и 64 Мб.

Каждая ИС ОЗУ маркируется. Обычно, в соответствии с табл. 3.1, в ее обозначение включают наименование, разрядность, емкость и быстродействие в десятках нс. Например, маркировка ИС МК44256Р-8 означает: МК4 – память ОЗУ, 4 – четырехразрядная с N = 256 К, Р – корпус пластмассовый, 8 – быстродействие ИС, равное 80 нс.

В зависимости от технологии изготовления, структуры и способов увеличения быстродействия DRAM ИС ОЗУ в компьютерах в качестве системной памяти используются PM, FRM, EDO, BEDO, SDRAM [7,14]:

PM DRAM – динамическое ОЗУ со страничной выборкой (также регенерацией) содержимого ячеек в информационный статический регистр ИС при последовательной подаче адреса строки AR и сигнала RAS; адреса АС и сигнала CAS. PM позволяет после первого обмена осуществлять дополнительные передачи данных только с изменением младших адресов АС и повторением сигнала стробирования CAS.

FRM DRAM – быстрая PM, позволяет осуществлять, в отличие от PM DRAM, последующие передачи без повторения сигнала стробирования CAS: на ША выставляются лишь адреса столбцов.

EDO DRAM – динамическое ОЗУ со страничной выборкой и встроенным конвейером вывода – усовершенствованная технология PM DRAM. Данные в конвейере (буферном регистре вывода) запоминаются и поэтому процесс вывода не критичен к длительности и времени подачи сигнала CAS, выборка может быть сокращена на 1-2 такта за счет сокращения тактов ожидания и перекрываться во времени. Однако EDO не допускает чередования адресов AR, порождающих конфликты на ШД, общей для всех банков памяти обычных SIMM-модулей.

BEDO DRAM – пакетная EDO с длинной пакета при передаче в четыре двойных / счетверенных слова (Pentium). При доступе к ОЗУ формируется только стартовый адрес <AR>/<АС> в первом обращении. Дальнейшие <АС> - адреса генерирует встроенный в ИС счетчик. Преимуществом BEDO является возможность сцепления пакетов в конвейере в одной и той же странице и инкремента ФА следующего пакета. Внутренний конвейер BEDO при чтении отсрочивает вывод данных на один CAS-цикл в целом удлиняя первую передачу на два такта. Это позволяет осуществлять обмен пакетной передачи по схеме Х – 1 – 1 – 1 системных тактов (400 Мб/с на 64-разрядной ШД). Эффективность использования BEDO увеличивается с увеличением разрядности пакета.

SDRAM – синхронная динамическая память, которая работает по принципу, что и BEDO, но рассчитана на передачу от одного двойного слова до полной страницы. В основе SDRAM лежит трехступенчатая конвейерная архитектура с доступом к 2 блокам ИС с чередованием адресов. В конвейере используется быстродействующий буфер I/O, что позволяет увеличить частоту синхронизации до 200 МГц и обеспечить скорость обмена данными до 640 Мб/с по 64-разрядной ШД.

Системная память собирается из набора ИС на миниплатах, которые затем вставляются в разъемы ОЗУ и объединяются в банки. Обычно под банком понимаются миниплаты (СБИС) емкостью 2, 4, 8, 16 Мб с набором ИС и разрядностью, соответствующей ШД МП, имеющей свой один RAS-сигнал и несколько CAS-сигналов.

Различают S – SIMM и S – DIMM миниплаты с 1 общим сигналом RAS и D – SIMM и D – DIMM миниплаты с 2 независимыми сигналами RAS. Все S - и D - миниплаты имеют одинаковое число CAS сигналов. Если разрядность одной (нескольких) миниплаты соответствует разрядности ШД системной шины МП, то S – миниплаты будут образовывать один банк данных, а D – два банка.

С увеличением емкости памяти в одной ИС, для своевременной регенерации строки (время регенерации 15.6 мкс), разработчики разбивают память на отдельные массивы b с 1, 2, 4, 8 Кб регенерацией. Каждая такая ИС имеет по одному регистру адреса и информационному буферному регистру и не допускает одновременного обращения к нескольким массивам.

ЭВМ с процессорами Pentium, как правило, оснащаются EDO и SDRAM ОЗУ, устанавливаемыми в DIMM миниплатах. Для определения конфигурации и характеристик ОЗУ в миниплату впаивается ППЗУ EEPROM емкостью 256 байт. Информация с ППЗУ считывается BIOS для автоматической настройки режима обмена ОЗУ с системной шиной. Обмен осуществляется с коррекцией ошибок по способу ECC, для чего разрядность шины данных ОЗУ доведена до 80 бит. С увеличением частоты системной шины с 66 до 75 МГц и более все виды памяти DRAM достигают своего предела, кроме SDRAM с длительностью такта около 8 нс. SDRAM, хотя и имеет 5 тактов начальной стартовой передачи операнда, в последующих пакетных передачах 64-битные данные передаются за 1 такт. Для адресации пакетов в SDRAM используется счетчик с автоинкрементом адреса и специальный буферный регистр режимов. Пакет содержит данные из разных массивов длиной 2, 4, 8 слов или целую страницу. Режим обмена СБИС SDRAM, имеющий средства саморегенерации, можно перепрограммировать.

Маркировка СБИС ОЗУ SDRAM изготовителей ведущих фирм емкостью 64 Мбит с внутренней организацией V = NRb = 2 М  8  4 бит, соотношением разрядности строки / столбца равным nR / nC = 11 / 10, поддерживаемых чипсетами 430 TX, 430VX и 440 LX, приведена в табл. 3.2.

Таблица 3.2

Маркировка ОЗУ фирм изготовителей SDRAM

Fujitsu

Micron

NEC

Samsung

Siemens

Texas I

MB81

164842A

MT48

LC4M16A1

P D45

64841

KM4

8S8030(1)AT

HYB39S

64800

TMS6

64814

В режиме пакетной передачи четырех двоичных слов быстродействие обмена для различных типов ОЗУ может характеризоваться на частоте 66 МГц следующим образом: SRAM (линейный кэш-2) – 3 - 2 - 2 - 2; динамическая память FPM – 5 - 3 - 3 - 3; EDO – 5 - 2 - 2 - 2, BEDO и SDRAM – 5 - 1 - 1 - 1. Эти соотношения показывают, что для быстрой обработки данных с применением BEDO и SDRAM становятся эффективным в составе ЭВМ только тыльный кэш-2.

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

Под кэш-памятью (кэш) понимается буферное оперативное, более высокого быстродействия, чем основное ОЗУ, запоминающее устройство, имеющее в своем составе схему быстрого поиска информации. Различают кэш первого уровня (L1), или внутренний, и второго уровня (L2), или внешний, подключаемый к шине процессора. Внутренний кэш работает с быстродействием МП, внешний – синхронно с устройствами шины процессора. Внутренний кэш является буфером между регистрами МП и ОЗУ. Если имеется внешний кэш, то он является буфером между внутренним кэш и ОЗУ. Кэш-2 может быть линейным, подключаемым к одной системной шине МП, или тыльным, выполняющим обмен по двум шинам, одна из которых осуществляет связь с МП на более высокой частоте, чем другая процессорная с ОЗУ. Иногда ЭВМ имеет в составе и кэш-3, которая является буфером между кэш-2 и ОЗУ. Емкость памяти внутреннего кэш определяется типом МП (8, 16 Кб и более), а память внешнего кэш может наращиваться при использовании Windows 95 до 512 Кб или до 2 Мб с 32 разрядными ОС, как OS/2, Windows NT и UNIX. Кэш строится на элементах SRAM с временем доступа 4.5 – 12 нс и схемах сравнения, и поэтому ощутимо дороже динамических ОЗУ.

Для обмена информацией между кэш и ОЗУ используют 3 способа:

- со сквозной записью;

- со сквозной буферной записью;

- с обратной записью.

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

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

Для повышения быстродействия поиска информации в кэш используется ассоциативная [10] или адресно-ассоциативная [7] адресация. При ассоциативной адресации в качестве признака поиска (ключа, тэга) используется весь физический адрес. При адресно-ассоциативной адресации старшие разряды физического разряда используются для тэга, а младшие являются адресом ячейки внутри множества адресуемых ячеек. На рис. 3.7 приведена структура ассоциативной памяти. Физический адрес (ФА) с ША в виде, например, кода 01110 подается как тэг на схемы сравнения D1  DN+1. Наличие идентичности тэга с содержимым ячейки блока тэга (БТ) (например, с номером 0) включает соответствующую схему сравнения, выходной сигнал которой становится равен 1. Выходной сигнал 1 схемы сравнения (1 с D1) коммутирует соответствующую строку массива (0) на шину данных (ШД). Недостатками схемы являются значительные затраты памяти, требуемые для построения блока тэгов, и многочисленные поразрядные схемы сравнения.

Число схем сравнения обычно равно числу строк. Преимущество – высокое быстродействие поиска из-за отсутствия дешифратора адреса.

Снизить аппаратные затраты можно при помощи способа адресно-ассоциативной адресации (кэш прямого отображения), показанной на рис. 3.8. Кэш содержит массив данных из 0, 1 ..., N множеств. Каждое множество состоит из 0, 1, ..., ( -1) строк (ячеек).

В такой структуре кэш младшие разряды (смещение в команде или странице) используются для определения номера множества БТ с помощью DCA и номера строки с помощью дешифратора строк (DCC). Сигнал с одного из выходов DCA, равный 1, подключает тэг, обслуживающий множество, к схеме сравнения D1, на другие входы которой подаются старшие k разрядов ключа физического адреса с ША.

Рис. 3.7. Ассоциативный кэш

При срабатывании D1 происходит коммутация содержимого возбужденной строки соответствующего множества массива на ШД. На схеме 3.8 строка -1 множества 1 передается на шину данных, т.к. в подключенном DCA множестве 1 тэг равен старшим разрядам ФА и выход DCC -1 равен 1. Недостатком такого кэша является невозможность одновременного размещения информации из ячеек, имеющих разные тэги и одинаковое смещение в разрядах k+1, , n ФА. Чтобы исключить этот недостаток, на практике используют несколько множеств (направлений) и соответствующее им число блоков тэгов и схем сравнения.

На рис. 3.9 приведена структура кэш i486 [21], выполненная по схеме четырех направлений 0, 1, 2, 3. Каждое направление содержит множество из 128 строк размерностью по 16 байт. Запись в кэш осуществляется через буферные регистры интерфейса процессора. Для этого из МП в ОЗУ по ША передается адрес младшей ячейки в строке и осуществляется ее чтение в буфер интерфейса через шину (ШД) процессора, затем трижды выполняется инкремент адреса A(31,2) + 1 и трижды – чтение выше адресуемых ячеек. По окончании такой пакетной передачи содержимое буферного регистра записывается в строку множества, объявляемую недостоверной. Номер строки множества определяет адрес А(10,4), направление вычисляется в блоке LRU. По адресу А(10,4) и направлению, указанному блоком LRU, в блок тэгов записывается А(31,11) – старшие 21 бит физического адреса данных. Так как информация читается 32-битными ячейками по адресам, где А(1,0) = 00, то МП поддерживает при чтении только выровненные данные. Для повышения быстродействия чтения пакетный обмен производится по 16 байт.

Рис. 3.8. Кэш прямого отображения

Чтение из кэш осуществляется по физическому адресу ФА(31,0), поступающему из устройства сегментации или страничного преобразования по ША. Он позволяет извлекать информацию с точностью до байта, используя дешифратор строки DCC, на вход которого подаются младшие четыре бита адреса ФА(3,0). При попадании, когда выход DCA подключает строки БТ к схемам сравнения D1  D4, под действием одного из сигналов а, б, в, г строка одного из направлений массива передается в буферный регистр, из которого, с использованием DCC, требуемый байт (слово, двойное слово) передается на внутреннюю ШД процессора. Часто строка из буферного регистра передаётся как 16-байтный код в устройство предвыборки команд, минуя ВШД. При промахе, если не срабатываети одна из схем сравнения D1  D4, МП включает режим чтения внешнего кэш или ОЗУ по данному ФА.

Рис. 3.9. Внутренний кэш i486

Блок LRU содержит память также из 128 строк, по 7 бит в строке. Три бита каждой строки LRU B0, B1, B2 служат для определения правила замены Lij j-й строки i-го направления при записи в кэш. Эти биты изменяются в одной из соответствующих строк при каждой записи или попадании в кэш следующим образом:

- если при чтении было обращение к строке L0j или L1j, то B0j = 0;

- если данные извлекались из L0j, L1j и оказались в L0j, то B1j = 1, а если из L1j, то B1j = 0;

- если данные извлекались (записывались) из L2j, L3j и оказались в L2j, то B2j = 1, а если из L3j, B2j = 0.

Состояния <B0, B1, B2> используются в алгоритме псевдо-LRU для определения номера направления и замены данных при промахе или опережающей выборке: <B0, B1, B2> = <0, 0, Х> заменяется строка L0; <0, 1, Х> – L1; <1, Х, 0> – L2, <1, Х, 1> – L3, где Х  {0, 1}.

Четыре оставшиеся бита памяти строки LRU используются для определения достоверности данных, хранимых в кэш. При очистке кэш или сбросе МП все биты достоверности устанавливаются в 0. При промахе и новой записи бит, соответствующий направлению и строке, устанавливается в 1. При вычислениях МП может объявить часть строк недостоверными и соответствующие биты B3-B6 LRU установить в 0. Эти недостоверные строки впоследствии используются в первую очередь для записи новых данных в кэш. Если все биты B3-B6 = 1, то замена данных в кэш определяется в соответствии с состоянием <B0, B1, B2>. Если данные в кэш становятся частично достоверными, то соответствующие биты достоверности не устанавливаются в 1.

Лекция 13: Логическая организация памяти

Компьютеры PC и XT могут работать с памятью до 1 Мб (с адресами от 0 до 1 М - 1), а AT с МП 286 – до 16 Мб; более поздние модели – до 4 Гб, а ЭВМ с Pentium Pro и Pentium II/III/4 – до 64 Гб. Диапазон адресов определяется размерностью адресной шины МП. Более интенсивно во всех моделях используется память с младшими адресами, которая отводится для размещения ядра DOS, связи с внешними устройствами, стандартных программ тестирования и организации I/O. Чтобы исключить ошибочное использование начальной памяти, она распределяется по назначению на основании стандартов IBM и Intel. Карта логической организации памяти, представляющая собой ее распределение без учета физической сущности, представлена на рис. 3.10. Она распределена на области: стандартную CM, верхнюю UMA, расширенную EM и дополнительную EpM.

Область стандартной памяти [15] СМ во всех компьютерах отводится под DOS и рабочие программы TSR с данными, которые обрабатываются МП. В последних моделях эта область наиболее динамичная. При многозадачном V-режиме она постоянно обновляется, и поэтому для повышения быстродействия такая память построена на элементах с малым временем чтения (DRAM и SRAM).

Область в верхних адресах UMA емкостью 384 Кб зарезервирована для системного использования самой ЭВМ. Первая часть UMA (128 Кб) отводится под видеопамять (VM), которая предназначена для вывода оперативной информации на дисплей. В зависимости от типа монитора и видеоадаптера она используется не полностью для EGA, MDA, CGA с фиксированными адресами соответственно 640K, 704K, 736K или же используется в полном объеме для VGA и SVGA. Область видеопамяти обычно реализуется на ОЗУ типа VRAM с высоким быстродействием, которая работает с памятью видеоплаты емкостью до 2 Мб и более.

Средняя область UMA зарезервирована в ЭВМ под стандартные программы-драйверы I/O и обмена между контроллерами или адаптерами с использованием системной шины. Так как драйверы MDA и CGA вшиты в схему системной платы, то они не требуют адресного пространства. Другие адаптеры, такие как EGA, VGA и SVGA, используют адресуемую память емкостью 16, 32, 64 Кб соответственно, начиная с адреса C0000 или C4000. Эта память отводится под ПЗУ (ROM), в которой размещается BIOS дисплеев.

Рис. 3.10. Карта распределения памяти

Под ROM BIOS контроллеров жестких дисков отведена область НЖМД с начальным адресом C8000. Контроллеры НЖМД 10 и 20 Мб XT использовали адресное пространство C8000-C9FFF, но контроллеры IDE ATA эту область не используют, т.к. их драйверы являются частью системной BIOS. Контроллеры EIDI и SCSI используют память емкостью 16 Кб в диапазоне адресов C8000-CBFFF.

Память в диапазоне адресов CA000-CFFFF в средней области UMA может быть свободной. Во всех компьютерах свободным является адресное пространство D0000-DFFFF (окно EMS). Окно емкостью в 4 страницы по 16 Кб, расширяемое в сторону младших адресов, может быть использовано для работы в стандарте LIM/EMS с дополнительной памятью EpM емкостью до 32 Мб при инсталлированном драйвере, таком как EMM386.EXE. В эту свободную область могут последовательно перегружаться до 2 048 логических страниц при наличии соответствующей дополнительной памяти. Адресами средней области могут пользоваться также сетевые адаптеры в области сегментов C000 и D000, для чего используют ОЗУ на системной плате емкостью до 16 Кб.

Последняя (третья) часть UMA выделена под системную BIOS. Программы системной BIOS обслуживают команды МП и играют роль драйверов различных устройств компьютера. Так как эти программы используются с момента включения питания, то они закодированы в ИС ПЗУ на системной плате. В их составе:

- POST – программа тестирования исправности НЖМД, ОЗУ, клавиатуры и системной платы;

- системный загрузчик – программа передачи файлов DOS с НЖМД или НГМД в начальные адреса ОЗУ и передачи управления;

- стандартные программы-драйверы обмена с любыми блоками, подключаемыми к системной шине.

Под системную BIOS отводится память 128 Кб в диапазоне E0000-FFFFF, которая почти полностью используется в последних моделях ЭВМ. Для повышения быстродействия при выполнении команд часть программ BIOS в процессе работы может перегружаться из медленного ПЗУ в ОЗУ с более высоким быстродействием. Существует еще одна область верхней памяти (HMA), которая может быть использована в реальном режиме процессорами 286 и выше при инсталлированном драйвере HIMEM.SYS. Эта область имеет размер 64 Кб (без 16 байт) и размещается в диапазоне адресов FFFF:0010-FFFF:FFFF. Известно, что МП 88/86 при вычислении адреса ячейки памяти выше 1 М осуществляют заворачивание адреса (сложение по mod220). Для процессора 286 этого не произойдет, т.к. он может включить адресную шину A0  A20 вместо A0  A19, как у МП 88/86. Управление включением A20 выполняется через бит порта 64h контроллера клавиатуры 8042. Область HMA является частью расширенной памяти (ЕМ), доступной в R-режиме.

Расширенная область памяти ЕМ может быть использована только в P- или V-режимах в соответствии с правилами спецификации XMS. Размер этой памяти определяется автоматически программами системной BIOS. Эта память наращивается от 1 Мб в сторону больших адресов. В настоящее время в Pentium II/III/4 линейное адресное пространство ограничено 64 Г = 236, где для обращения к любому байту из этой области требуется 36-битный двоичный код.