Полная версия

Главная arrow Информатика arrow Архитектура ЭВМ и систем

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

3.2. Адресные пространства

Основные области памяти

Под адресным пространством памяти будем понимать совокупность адресных кодов, которая обеспечивается процессором при обращении к ячейкам памяти. Доступное адресное пространство определяется максимальным количеством N разрядов адресного кода (или линий шины адреса) как 2N. При организации обращения к памяти полагают, что в ячейке памяти хранится один байт информации. Поэтому доступное адресное пространство оценивают в байтах, килобайтах, мегабайтах, гигабайтах.

В первых персональных компьютерах использовались процессоры 8086/88 с 16-разрядными внутренними регистрами и 20-разрядной шиной адреса, обеспечивающей доступное адресное пространство 220 байт = 1 Майт (от OOOOOh до FFFFFh). Доступное пространство памяти назвали памятью с произвольным доступом (Random Access

Memory – RAM) или оперативной памятью. Формирование 20-разрядного адреса осуществлялось с помощью двух 16-разрядных регистров на основании следующей формулы:

(1) Addr = 16 х Seg + Offset,

где Seg – номера сегментов от lOOOh до FOOOh, хранящиеся в регистре сегментов; Offset – содержимое регистра смещения (от OOOOh до FFFFh), при этом символ "h" (hex) означает, что адрес указывается в шестнадцатеричной системе счисления.

Принцип формирования 20-разрядного адреса проиллюстрирован на рис. 3.2,а. На рис. 3.2,5 показана его схемная реализация. В регистре сегментов хранится номер сегмента XOOOh, а в регистре смещения – смещение YYYYh текущего адреса, вычисляемого по формуле (1):

Addr = 16 х XOOOh + YYYYh = XYYYYh.

Отметим, что для записи адреса часто используется такая конструкция X000h:YYYYh, которая соответствует записи XYYYYh в шестнадцатеричной системе счисления.

Доступное пространство памяти в 1 Мбайт было разделено на д в е области (вначале по 512 Кбайт):

  • нижнюю область размером 640 Кбайт, ко торая предназначалась для пользовательских программ. Ее назвали основной памятью (Conventional Memory);
  • верхнюю область размером 384 Кбайт, которая была зарезервирована для системной памяти ROM BIOS, графических плат и других адаптеров. Ее назвали верхней памятью (Upper Memory Area –

Принцип формирования 20-разрядного адреса (а) и его схемная реализация (б)

Рис. 3.2. Принцип формирования 20-разрядного адреса (а) и его схемная реализация (б)

UMA). В незанятые участки этой области можно загрузить 16-разрядные драйверы (например, ansi.sys) или резидентные программы (например, mouse.com), что позволяет освободить часть основной памяти для других нужд. Объем свободного пространства верхней памяти зависит от того, какие платы адаптеров установлены в компьютере.

Разрядность шины адреса последующих поколений процессоров увеличивалась сначала до 24 бит (процессоры 80286), затем – до 32 бит (386DX, 486 и выше) и у процессоров шестого поколения – до 36 бит. В соответствии с этим расширялось доступное адресное пространство до 16 Мбайт, 4 Гбайт и 64 Гбайт. Область памяти выше первого мегабайта (с адресом >1000001)) обычно называют расширенной (дополнительной) памятью (Extended Memory).

В реальном режиме современного процессора, используемом для DOS-приложений, применяется та же сегментная модель памяти и по-прежнему формально доступен лишь 1 Мбайт памяти. Для операционных систем защищенного режима (Windows 9x/XP/NT, OS/2) доступно все адресное пространство, определяемое разрядностью шины адреса.

Таким образом, память современных компьютеров имеет три разновидности: основная, верхняя и расширенная память. Каждая из этих разновидностей памяти является неоднородной в аппаратном (используются микросхемы оперативной и постоянной памяти) и логическом отношении и, в свою очередь, разделяется на несколько отдельных областей (см. § 7.3).

 
<<   СОДЕРЖАНИЕ   >>