DRAM управляется контроллером 82С302. Контроллер поддерживает режим конвейеризации адресов, используя внутренние защелки, сохраняющие адрес и состояние для текущей выборки.
Специальные сигналы /IO2XCL и XAO разрешают доступ к регистрам конфигурации контроллера для хранения конфигурации DRAM. Это регистры:
1) областей теневой памяти (Shadow RAM);
2) используемой памяти на SB и картах расширения;
3) количества банков памяти, доступных из системы;
4) области расширенной (Extended) памяти - выше 640 Кбайт;
5) области дополнительной (Expanded) памяти - выше 1Мбайта.
6) числа тактов ожидания при доступе к базовой (Conventional) и расширенной памяти и к ROM BIOS;
7) доступности дополнительной памяти;
8) манипуляции с паритетным контролем (назначить/отменить);
9) разрешения страничного режима организации памяти в РРМ с чередованием банков.
Принцип страничной организации памяти с чередованием банков.
Обычная схема чтения информации из ОЗУ следующая:
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
Часто возникает путаница между расширенной памятью (от 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.
Конструктивное исполнение DRAM.
Если DRAM выполнена на ИМС в DIP-корпусах, они могут иметь следующие обозначения:
164 - 64К х 1 бит,
264 - 64К х 2 бита,
464 - 64К х 4 бита,
1128 - 128К х 1 бит
4128 - 128К х 4 бита,
1256 - 256К х 1 бит
и т. п.
Оперативная память конструктивно расположена на SB PC. В системах 286 SB имеются четырехрядные розетки (Chip-Socket) для установки ИМС DRAM (Chip-Socket-Comby) в DIP-корпусах
с 16-ю и 18-ю выводами (рисунок 1.6.), позволяющие, при выходе из строя ИМС DRAM, заменять только один неисправный чип. Такая конструкция DRAM недостаточно надежна: - наблюдается эффект "сползания" ИМС из розетки, вследствие температурных изменений, и недостаточно надежно контактирование ИМС с розеткой, так как их выводы только залужены припоем ПОС и со временем окисляются.
Позже стали использоваться модули памяти на SIP (Single-In-Line-Package) с однорядным расположением контактов разъема штыревого типа (рисунок 1.7).
Печатная плата модуля содержит одну, чаще - несколько ИМС, распаянных на плату, сам же модуль имеет разъем с аксиальными штырьками и устанавливается в гнездовую розетку. Контакт достаточно надежен, "сползания" нет, но разъем не технологичен и модуль в разъеме специально не фиксируется. Сейчас такие модули больше не выпускаются.
Рисунок 1.6. Сhip-Socket-Comby для установки 16- и 18- выводных ИМС DRAM.
Рис. 1.7. Модуль SIP.
Для устранения указанных недостатков, модули памяти SIP были заменены на модули другой конструкции - SIMM (Single-In-Package-Memory-Module). Эти модули тоже содержит несколько ИМС, но имеют краевой разъем, выполненный печатным способом вместе с рисунком печатной платы и имеющий гальваническое покрытие контактов разъема (золото, или серебро-палладий), обеспечивающее вполне надежный контакт ( рисунок 1.8.).
Рис. 1.8. Модуль SIMM.
Такие модули устанавливаются в розетки ножевого типа с фиксацией рабочего положения специальными защелками.
Модуль компактен, надежен в контактах, но при выходе из строя всего одной ИМС приходится заменять весь модуль, так как отпаять и припаять новую ИМС сложно и требуется точно такая же ИМС того же изготовителя и даже времени ее выпуска.
Модуль устанавливается в разъем сначала под углом, а затем поворачивается до вертикального положения до защелкивания замков. Нужно только следить за тем, чтобы шипы гнездового разъема вошли в отверстия модуля (на рисунке 1.8 они обозначены как "о").
Для снятия модуля сначала отжимаются защелки замка, затем модуль отклоняется назад и выводится из разъема. Модули легко ставятся и снимаются, а если модуль не входит или не выходит из разъема без особых усилий, значит, что-то делается неправильно.
SIMM выпуска 1990-91 г. предназначены для РС286, а выпуска 1992-93 г. - для РС 386/486. По характеристикам и электрическим параметрам они несовместимы как между собой, так и с более поздними моделями. Однокристальные SIMM имеют малую емкость, многокристальные SIMM могут иметь разных производителей и/или разные даты выпуска, что также несовместимо в одной системе DRAM. Мало того, SIMM могут иметь разную организацию, так что SIMM для РС 386, 486 и Pentium практически несовместимы.
Новой разновидностью модулей памяти являются модули DIMM (Dual-In-Line-Memory-Module - двухрядное расположение контактов), имеющие не 32, а 72 контакта на краевом разъеме, что позволяет значительно увеличить емкость каждого модуля.
В последнее время типы памяти приобрели ярко выраженную аббревиатуру, позволяющую их идентификацию:
- DRAM - Dynamic RAM - динамическая память с произвольной выборкой;
- FPM DRAM - Fast Page Mode - динамическая память со страничной организацией;
- VRAM - Video RAM - видеопамять динамическая, двухпортовая. Наличие второго порта позволяет осуществить произвольный доступ к памяти в то время, когда уже идет вывод данных на видеомонитор;
- CDRAM - Cached DRAM - динамическая память фирмы Mitsubishi, содержащая дополнительно
16 Кбайт быстрой памяти на каждые 4 или 16 Мбайт;
- EDRAM - Enhanced DRAM - динамическая память фирмы Ramtron, содержащая 8 Кбайт быстрой
кэш-памяти на каждые 8 Мбайт;
- EDO DRAM - Extended Data Output DRAM - динамическая память со страничной организацией.
Благодаря дополнительным регистрам, данные на выходе сохраняются в течение большого интервала времени, от одного сигнала выборки CAS# до следующего.
Существуют и другие типы модулей памяти, со своими обозначениями.
Все вышеприведенные типы памяти между собой несовместимы, как несовместимы и с контроллерами памяти другого типа. Так что, если системная плата, в соответствии с инструкцией по ее эксплуатации, рассчитана, например, на память типа EDO, значит и контроллер памяти (расположенный в чип-сете) рассчитан только на EDO DRAM, и с любым другим типом модулей памяти работать не будет.
Емкость современных модулей SIMM достигает сотен Мбайт и более. Тем не менее, если все разъемы DRAM заняты, емкость ОЗУ все же можно увеличить, установив в специальный слот плату расширения памяти (например, карту MBI 386RW-BUS), с установленными на нее дополнительными модулями SIMM. Конечно, в этом случае следует выставить и соответствующую конфигурацию ВС.
Уместно напомнить, что установка дополнительной памяти требует дополнительных программных и аппаратных средств - контроллеров типа 82С631, 82С241, для преобразования расширенной памяти в дополнительную (при использования ее в системе MS DOS).
Спецификация ЕМS разработана фирмами Lotus Development, Intel и Microsoft и называется так же спецификацией LIM. Версия EMS 3.2 позволяет сверх базовой памяти в 640 Кбайт использовать до 8 Мбайт ОЗУ, а EMS 4.0 - до 32 Мбайт. Для операций с EMS используется прерывание DOS 67h. Программная поддержка верхней памяти под MS DOS - менеджеры HIMEM (для доступа к расширенной памяти), плюс QEMEM, 386MAX, EMM386 и др. - для доступа к дополнительной памяти.
Контрольные вопросы.
1. Для чего организуется работа DRAM с чередованием банков?
2. Как организуется регенерация DRAM?
3. Какой объем памяти отводится MS DOS под базовую?
4. Где располагается область таблицы векторов прерываний?
5. Какими средствами становится доступной область Upper Memory под MS DOS?
6. В чем достоинства и недостатки модулей SIMM?
7. Как конструктивно может быть выполнена DRAM PC?