Принцип страничной организации памяти с чередованием банков.
Обычная схема чтения информации из ОЗУ следующая:
1) на МА[9/0] через мультиплексор адреса выставляются два кода: один – для доступа к строке матрицы памяти, (со стробом /RAS n), а за ним, – для доступа к столбцу, (со стробом /CAS m). Между стробами фиксируется временная задержка в соответствии с требованиями конкретных ИМС памяти;
2) элементарная ячейка DRAM при чтении стирается и, для ее восстановления, считанная информация вновь записывается в эту же ячейку через усилители регенерации, расположенные внутри чипа памяти, для чего требуется время, в течение которого доступ к ОЗУ невозможен.
В оптимальном варианте, память организована с четным числом банков, разбитым каждый на страницы, например, по 4 Кбайт. Тогда, при последовательном доступе к четырем банкам, стробы /RAS0 – /RAS3 формируются только в начале выборки очередной страницы, оставаясь затем в активном L-уровне, поэтому стробы /CAS0 – /CAS3 не имеют задержек при каждом очередном запросе банка. Кроме того, каждая последующая выборка относится к следующему банку, а информация в предыдущем банке за это время успевает восстановиться. В контроллере 82С302 организовано программное управление временем задержки между /RAS и /CAS, в зависимости от организации памяти. При невозможности своевременного доступа к информационной ячейке (еще не завершен цикл регенерации информации), контроллер 82С302, установкой сигнала /IOCHRDY = L к контроллеру 82С301, вводит цикл ожидания.
Регенерация DRAMвосполняет каждые 3 мсек потерю энергии в накопительных емкостях памяти, происходящую из-за естественных утечек. Для этого каждые 15 мксек (шаг регенерации) на локальные адресные линии от счетчика регенерации, расположенного в буфере старшей части адреса ABF (82А303), устанавливается очередной код строки. Затем принудительно задается команда чтения памяти, разрешая доступ к строкам /RAS[3/0] =L и запрещая - к столбцам (CAS[3/0] =H). Это препятствует поступлению информации DRAM в шину данных. При этом все модули DRAM читаются по адресу данной строки одновременно, восстанавливаясь через усилители регенерации. Так, через каждые 15 мксек в течение
3-х мсек восстанавливается вся RAM.
Процесс регенерации – самый приоритетный, подчиняющийся сигналу управления REFRESH = L.
Цикл "обмена", отводимый под регенерацию, переводит систему в холостое состояние, что является существенным недостатком DRAM, но высокая информационная емкость, низкая стоимость и малое энергопотребление, характерное для динамической памяти, дают решающее преимущество DRAM перед SRAM для использования ее в качестве оперативной.
Оперативная память под MS DOS подразделяется на базовую, расширенную и дополнительную. Стандартное распределение информации в оперативной памяти приведено в таблице 1.4.
В карте адресного пространства ОЗУ, в пределах 1Мбайта есть лишь две области, принадлежащие к DRAM в DOS: 640 Кбайт базовой и 64 Кбайт – зона EMS, страницы которых доступны узлам контроллера и программе. Область адресов VIDEO-памяти находится в той же памяти, но конфликтов при обращении к видеопамяти не возникает, т. к. доступ к ней осуществляется по стандартной схеме управления и адресации, а конфликт устраняется аппаратно, узлом адресных линий A[25/17] контроллера с переносом видео-RAM в область расширенной памяти.
При рассмотрении таблицы распределения памяти следует обратить внимание на то, что область высшей памяти, объемом в 64 Кбайт с адресами от 100000h до 10FFFFh расположена в области расширенной памяти, но доступна и под DOS.
Таблица 1.4. Карта стандартного распределения памяти под MS DOS
────────────┬─────────────────────┬───────────┬─────────────────
ширина │ назначение │ область │ размещение
адресного │ области │ адресов │ и наименование
пространства│ адресов │ │ области
────────────┼─────────────────────┼───────────┼─────────────────
Стандартная или базовая память
1К │ Interrupt Area │ 000000 │
│ векторы прерываний │ 0003FFh │
│ │ │
256 байт │ BIOS Data Area │ 000400 │
│ область данных BIOS │ 0004FFh │
│ │ │
512 байт │ System Data Area │ 000500 │ расположена
│ область данных DOS │ 0006FFh │ в DRAM
│ │ │
около 70 К │ Ядро системы DOS: │ 000700 │ Conventional
│ V 3.2 - 70 K │ │ Memory,
│ V 3.3 - 67 K │ │ стандартная
│ V 5.0 - 118 K (60 K │ │ или базовая
│ в Conv.Mem.,осталь- │ │ память дос-
│ ное - в HMA) │ 01163Fh │ тупная MSDOS
│ │ │
около 570К │ Область стековой │ │
│ памяти, транзитный │ │
│ модуль СОМ.COM и │ │
│ пользовательская │ 011460 │
│ область │ 09FFFFh │
┤ │ │
итого 640Кбайт │ │
─────────────┼─────────────────────┴───────────┴─────────────────
Верхняя память (Uрper Memory Area):
128 К │ Video RAM 0A0000 экранная
│ (Shadow RAM) │ 0BFFFFh │ память, рас-
│ │ │ положена в
│ │ │ видео подсистеме
│ │ │
64 К │ Пространство "лову- │ 0С0000 │
│ шек" BIOS для │ │ расположена
│ УВВ (Shadow RAM) │ 0СFFFFh │ в ПЗУ УВВ
│ │ │
64 К │ Организация специ- │ 0D0000 │
│ фикаций LIM EMS │ │
│ 3.2/4.0 │ │
│ - 4 cегмента │ │
│ (frame) по 16 К │ │ расположена
│ (Shadow RAM) │ 0DFFFFh │ в подсистеме DRAM
│ │ │
128 K │ Область, выделенная │ 0Е0000 │ расположена
│ под BIOS (Shadow │ │ в ПЗУ подсистеме
│ RAM)-копия ROM BIOS │ │ ROM BIOS
│ для RМ │ 0FFFFF │ (две послед-
│ │ │ние секции
итого 384Кбайт │ │ROM)
────────────┼─────────────────────┼───────────┼─────────────────
всего 1 Мбайт │ │
────────────┼─────────────────────┴───────────┴─────────────────
Дополнительная (Exрanded) память:
64 К │ High Memory Area 100000 часть расши-
│ (HMA) - высшая па- │ 10FFFFh │ ренной (Exten-
│ мять, в DOS 5.0 - │ │ ded) памяти,
│ хранит часть ядра │ │ доступна для
│ системы │ │ DOS 5.0 и выше
│ │ │
15168 K │ Expanded Memory │ 110000 │ RAM - память,
│ (дополнительная │ │ доступная для
│ память), с помо- │ │ системных
│ щью программ- │ │ программ в РМ.
│ администраторов │ │
│ (менеджеров) │ │
│ используется в RM │ │
│ как Extended │ FDFFFFh │
│ Memory │ │
│ │ │
│ │ │
итого 15232 Кбайт │ │
│ │ │
│ │ │
│ │ │
│ │ │ Область копи-
128 К │ BIOS │ FE0000 │ рования BIOS
│ │ FFFFFFh │ в PM (две пос-
│ │ │ ледние секции
│ │ │ ROM BIOS)
_________________________________________________________________
всего 16 Мбайт
_________________________________________________________________
Часто возникает путаница между расширенной памятью (от 640 Кбайт до 1 Мбайт) и отображаемой памятью. К расширенной памяти, от 640 Кбайт и до 16 Мбайт, можно обращаться по 24-м адресным линиям при инсталлированном драйвере (менеджере) расширенной памяти спецификации XMS (например, HIMEM). К отображаемой (дополнительной) памяти (от 1 до 32 Мбайт) можно обращаться в RM только отображая ее через окна (frame) по 64 Кбайт (из 4-х сегментов по 16 Кбайт) в расширенной памяти. Эти окна создаются менеджером XMS и располагаются выше видео-памяти в пределах 1 Мбайт. К ним можно обращаться по 20 адресным линиям, только при инсталлированном драйвере (менеджере) верхней памяти спецификации EMS. Таким образом, область памяти от 1 Мбайт до 16 Мбайт может быть доступна и как расширенная (под управлением администратора XMS) и как дополнительная (под управлением администратора EMS). Так что отображаемая память – это память, доступная под управлением EMS, вне зависимости от ее расположения, т. е. память выше 16 Мбайт – только отображаемая, а от 1 до 16 Мбайт может быть одновременно и расширенной (под управлением XMS), и отображаемой, (если доступ к ней организован администратором EMS).
Управление окном выполняют обе программы-менеджеры: XMS (до 1 Мбайт) и EMS (до 32 Мбайт). Когда frame заполнен, EMS переносит его в дополнительную память, а из дополнительной – такой же, но свежий frame, переносит в те же физические адреса XMS. Такой механизм управления памятью позволяет работать с памятью до 640 Кбайт прямо под DOS, от 640 Кбайт до 16 Мбайт – с инсталлированным менеджером XMS и от 1 Мбайт до 32 Мбайт – с инсталлированными сразу двумя менеджерами XMS и EMS. Но администратор EMS должен инсталлироваться после инсталляции XMS, т.е. нужно следить, чтобы в файле config.sys первым был инсталлирован соответствующий драйвер XMS (например, HIMEM), а уж затем – драйвер EMS (например, EMM386).
В программных продуктах для CPU i386 обычно отображаемая память не используется, за исключением программ, написанных для CPU i286, т.к. i80386 имеет уже 32 адресные линии и может, в последних версиях DOS, непосредственно обращаться к памяти до 4 Гбайт.
В карте памяти для i386 первый мегабайт памяти – это копия карты памяти IBM PC для RM, обеспечивающая совместимость с i8086, а остальная часть, до 16 Мбайт, используется как расширенная, при инсталлированном менеджере XMS, или до 32 Мбайт как дополнительная, при инсталлированных менеджерах XMS и EMS.
Дата добавления: 2015-07-18; просмотров: 961;