Организация памяти в компьютерах типа ibm pc, страница 3


Рис 1. Распределение памяти в IBM PC

Стандартная память

 По причинам исторического характера программы, являющиеся совместимыми с операционной системой MS-DOS и ее клонами, могут использовать в своей работе только первый мегабайт из всей памяти, установленной на компьютере, если не применяются специальные средства поддержки. Для объяснения этого обстоятельства следует обратить внимание на особенности архитектуры процессора Intel 8086 – базового процессора семейства 80x86. В процессоре 8086 16 ножек (pins) посылают сигналы,  соответствующие 16 битам текущих данных, которыми процессор обменивается  с  системным ОЗУ.  Однако данные не имеют никакого смысла сами по себе,  если нет возможности следить за тем, что они собой представляют. Системная шина должна знать, куда направляются конкретные данные или откуда они поступили.  Для выполнения этой задачи  процессор  использует  еще 20 из своих ножек для создания уникальных адресов памяти.  Это дает возможность процессору семейства 8086/8088 адресовать 2 в степени 20 уникальных байтов, что и соответствует 1 мегабайту памяти.     В оригинальной архитектуре персонального компьютера 640 Кб из этого  1  Мб было зарезервировано под DOS и прикладные программы, работающие под ее управлением, а область с 640 Кб до 1 Мб  была зарезервирована  для  системного пользования. Большая часть 640 килобайт обычной памяти используется почти постоянно, но в области служебных адресов существуют участки,  которые система не использует и которые могут быть доступны для других  целей. Участки системной памяти, расположенные между 640 килобайт и 1 мегабайт интенсивно используются программами-расширителями памяти, такими, как Microsoft EMM386, Quarterdeck QEMM и Qualitas 386MAX.

Предварительно следует дать необходимые понятия о разделении адресного пространства в пределах 1 Мб на регионы. Общепринято делить 1 Мб памяти на 16 последовательных участков по 64 Кб каждый. Эти участки, помечаются шестнадцатеричными целыми числами от 0 до F, т.е., 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Из этих регионов DOS получает в свое распоряжение области с номерами 0 - 9 (10 первых участков  по  64  Кб,  итого  640 Кб), а остальные 6 участков памяти, расположенные между 640 Кб и 1 Мб (участки с номерами A, B, C, D, E, F), относятся к области служебных адресов и поступают в распоряжение системы. Удобство подобного разделения заключается в том, что номеру какого-либо 64Кб-региона может быть легко поставлен в соответствие адрес этого региона в адресном пространстве 1 Мб путем добавления 3 цифр справа к номеру региона.