Оперативная память и адресные пространства процессора
Оперативная память – это основная память, на работу с которой ориентирован процессор, точнее программа, выполняемая процессором. Это адресная память.
В большинстве ЭВМ оперативная память энергозависимая. Это означает, что при выключении питания информация в оперативной памяти не сохраняется. Для сохранения информации при выключении питания содержимое оперативной памяти переписывают в энергонезависимую память, например на основе записи на магнитную поверхность. Это вторичная (внешняя) память на магнитных дисках (память прямого доступа) или на магнитных лентах (архивная память).
Множество адресов, которые могут использоваться в командах процессора, составляют его адресное пространство.
Здесь применяются различные термины – адресное пространство процессора, адресное пространство математической памяти, адресное пространство программы.
Адресное пространство процессора определяется разрядностью ЭВМ по заданию адреса. Процессоры, использующие 32-разрядные адреса, имеют адресное пространство равное 232 (4 Гб).
Но это не значит, что адресное пространство оперативной памяти должно соответствовать адресному пространству процессора.
Современные ЭВМ ориентированы на работу с "наращиваемым" объемом физической памяти. Это означает, что:
· адресное пространство процессора и физической памяти могут не совпадать,
· размещение программы и данных в физической памяти может не совпадать с их размещением по адресам в адресном пространстве процессора,
· прикладные программы вместо прямой адресации физической памя-
ти используют обращение к некоторой модели (отображению) памяти,
· обращение к физической памяти производится при помощи диспетчера памяти, согласующего модель математической памяти с динамикой распределения программ и данных в физической памяти.
Диспетчер памяти может быть реализован программно или схемно-программно. В последнем случае говорят о реализации виртуальной памяти.
Размер адресного пространство процессора определяется разрядностью адресных шин, которая ограничена разрядностью процессора. Это случай плоской модели математической памяти.
Для снятия этого ограничения некоторые процессоры, например МП Intel, допускают использование множества адресных пространств. В этих случаях говорят о структурированной (сегментированной) математической памяти.
Использование сегментированной памяти увеличивает адресное пространство процессора, но усложняет адресацию. В сегментированной памяти адреса операндов и команд задаются вектором: указанием используемого сегмента (например, через базовый адрес сегмента в линейной памяти) и адреса в сегменте. Но, так как оперативная память остается не сегментированной (линейной), требуется пересчет сегментированного адреса в линейный адрес. Эта процедура называется трансляциейсегментов.
МП Intel в реальном (16-разрядном) режиме поддерживает 24 сегментов, и при 64 Кбайт в сегменте адресное пространство процессора составляет
220 = 1 Мбайт, а в защищенном (32-разрядном) режиме – 214 сегментов по
4 Гбайт (гигабайт) в сегменте, что обеспечивает 64 Тбайт (терабайт) адресного пространства.
Многие процессоры могут оперировать с несколькими плоскими или сегментированными пространствами адресов: пространством адресов оперативной памяти и пространством адресов регистров устройств ввода/вывода (портов).
Физически это различные системы памяти, но во многих архитектурах для доступа к ним используется единая система адресации ячеек памяти. В этих структурах обращение к портам по записи и чтению производится обычными командами обращения к памяти. При этом портам обычно приписываются адреса в старшем диапазоне.
В архитектуре МП Intel используются два независимых адресных пространства: портов и ячеек памяти.
Если ввод/вывод отображен на адреса портов, то в состав команд процессора вводят команды ввода IN и вывода OUT. Для ЭВМ IBM PC эти команды имеют вид:
IN al, dx
OUT dx, al
где: al - аккумулятор, используется в качестве буфера для передаваемых данных, dx - РОН, используется для задания номера порта.
Если номер порта не превышает 255, то возможно использование команд ввода/вывода в формате:
IN al, RD
OUT RD, al
где: al - аккумулятор, используется в качестве буфера для передаваемых данных, RD - номер порта.
Вопросы для самопроверки:
1. Параметр процессора, определяющий максимальный размер адресного пространства.
2. Сегментированная память.
3. Положительные и отрицательные моменты использования сегментированной памяти.
4. Максимальный размер сегмента в МП IA-16.
5. Размер максимального адресного пространства линейной памяти в МП IA-16.
6. Размер адресного пространства устройств ввода/вывода (портов).
7. Команды обращения к портам в МП IA-16.
Дата добавления: 2021-01-26; просмотров: 528;