Главная /
Ассемблер /
Для чайников /
Введение в Ассемблер /
Организация памяти
С точки зрения процессора память – это последовательность байтов, каждому из которых
присвоен уникальный адрес со значениями от 0 до (232 – 1), то есть до 4 ГБ.
Конечно, сейчас есть 64-разрядные процессоры. Но о них в этой книге мы говорить не будем.
Программы могут работать с памятью как с одним непрерывным массивом (модель
памяти flat – плоская) или как с несколькими массивами (сегментированные модели памяти).
Во втором случае для задания адреса любого байта требуется два числа – адрес начала массива
и адрес байта внутри этого массива.
Кроме основной памяти программы могут использовать
регистры процессора, о которых
говорилось выше.
Выбор метода обращения к памяти определяется режимом работы процессора. Процессоры Intel
могут работать в одном из трёх основных режимах:
- Реальный режим (режим реальной адресации – Real-address mode)
- Защищённый режим (Protected mode)
- Режим управления системой (System Management mode)
Более подробно о режимах процессора мы поговорим как-нибудь в другой раз.
А сейчас нас интересуют различия при работе с памятью в зависимости от режима.
В реальном режиме
процессор может обращаться только к первому мегабайту памяти, адреса которого находятся
в диапазоне 00000…FFFFF. При этом процессор работает в однопрограммном режиме,
то есть одновременно может выполняться только одна программа. Реальный режим работы
используется в операционной системе DOS, а также в системах Windows 95/98 при загрузке
в режиме эмуляции DOS.
В защищённом режиме
процессор может одновременно выполнять несколько программ. При этом каждой программе
может быть назначено до 4 ГБ оперативной памяти. Чтобы предотвратить влияние программ
друг на друга, им выделяются изолированные участки памяти. Поэтому режим и называется
защищённым. В защищённом режиме работают такие системы как Windows и Linux.
Об организации памяти в реальном и защищённом режимах мы поговорим в следующих разделах.
А пока рассуждения о памяти закончим. Тема эта большая и для кого-то может оказаться сложной.
К ней мы ещё будем возвращаться. Некоторую информацию о сегментированных моделях памяти
можно найти здесь:
Контрольная работа по информатике.