Логическая структура основной памяти
Структурно основная память состоит из миллионов отдельных однобайтовых ячеек памяти. Общая емкость основной памяти современных ПК обычно лежит в пределах от 512 Мбайт до 4096 Мбайт. Каждая ячейка памяти имеет свой уникальный адрес. Для ОЗУ и ПЗУ отводится единое адресное пространство.
Адресное пространство определяет максимально возможное количество непосредственно адресуемых ячеек основной памяти. Адресное пространство зависит от разрядности адресных шин, поскольку максимальное количество адресов определяется разнообразием двоичных чисел, которые можно отобразить в n разрядах, то есть адресное пространство равно 2n, где n — разрядность адреса. За основу в ПК взят 16-разрядный адресный код, равный по длине размеру машинного слова. При помощи 16-разрядного представления адреса можно непосредственно адресовать всего 216 = 65 536 = 64 Kбайт ячеек памяти. Это 64-килобайтовое поле памяти, так называемый сегмент, также является базовым в логической структуре ОП. Следует заметить, что в защищенном режиме размер сегмента может быть иным и значительно превышать 64 Кбайта.
Современные ПК (кроме простейших бытовых компьютеров) имеют основную память, емкостью существенно больше 1 Мбайт. Но память до 1 Мбайта является еще одним важным структурным компонентом ОП — назовем ее непосредственно адресуемой памятью (справедливо полностью только для реального режима). Для адресации 1 Мбайт = 220 = 1 048 576 ячеек непосредственно адресуемой памяти необходим 20-разрядный код, получаемый в ПК при помощи специальной структуризации адресов ячеек ОП.
Абсолютный (полный, физический) адрес (Аабс) формируется в виде суммы нескольких составляющих, чаще всего используемыми из которых являются: адрес сегмента и адрес смещения.
Адрес сегмента (Асегм) — это начальный адрес 64-килобайтового поля, внутри которого находится адресуемая ячейка.
Адрес смещения (Асм) — это относительный 16-разрядный адрес ячейки внутри сегмента.
Асегм должен быть 20-разрядным, но, если принять условие, что Асегм должен быть обязательно кратным параграфу (в последних четырех разрядах должен содержать нули), то однозначно определять этот адрес можно 16-разрядным кодом, «увеличенным» в 16 раз, что равносильно дополнению исходного кода справа 4 нулями и превращению его, таким образом, в 20-разрядный код. То есть условно можно записать:
Аабс = 16×Асегм+Асм
Для удобства программирования и оптимизации ряда операций микропроцессоры ПК поддерживают еще две составляющие смещения: адрес базы и адрес индекса. Следует отметить, что процессор ПК может обращаться к основной памяти, используя только абсолютный адрес, в то время как программист может использовать все составляющие адреса, рассмотренные выше.
В современных ПК существует режим виртуальной адресации (virtual — мнимый, кажущийся, воображаемый). Виртуальная адресация применяется для увеличения адресного пространства ПК при наличии ОП большой емкости (простая виртуальная адресация) или при организации виртуальной памяти, в которую наряду с ОП включается и часть внешней (обычно дисковой) памяти.
При виртуальной адресации вместо начального адреса сегмента Асегм в формировании абсолютного адреса Аабс принимает участие многоразрядный адресный код, считываемый из специальных таблиц. Принцип простой виртуальной адресации можно пояснить следующим образом. В регистре сегмента содержится не Асегм, а некий селектор, имеющий структуру:
ИНДЕКС | F | СЛ |
где СЛ — вспомогательная служебная информация; F — идентификатор, определяющий тип таблицы дескрипторов для формирования Асегм (таблицы дескрипторов создаются в ОП при виртуальной адресации автоматически):
если F = 0, то используется глобальная таблица дескрипторов (GDT), общая для всех задач, решаемых в ПК в многозадачном режиме;
если F = 1, то используется локальная таблица дескрипторов (LDT), создаваемая для каждой задачи отдельно.
В соответствии с индексом и идентификатором из GLT или LDT извлекается 64-битовая строка, содержащая, в частности, и адрес сегмента. Разрядность этого адреса зависит от размера адресного пространства микропроцессора, точнее равна разрядности его адресной шины. Подобная виртуальная адресация используется в защищенном режиме работы микропроцессора. Для большей плотности размещения информации в оперативной памяти (уменьшения сегментированности, характерной для многозадачного режима) часто практикуется сегментно-страничная адресация, при которой поля памяти выделяются программам внутри сегментов страницами, размером от 2 до 4 Кбайт. Формирование сегментно-страничной структуры адресов выполняется автоматически операционной системой.
Виртуальная память создается при недостаточном объеме оперативной памяти, не позволяющем разместить в ней сразу всю необходимую информацию для выполняемого задания. При загрузке очередной задачи в оперативную память необходимо выполнить распределение машинных ресурсов, в частности, оперативной памяти между компонентами одновременно решаемых задач (в принципе, оперативной памяти может не хватить и для решения одной сложной задачи). При подготовке программ в их код заносятся условные адреса, которые должны быть затем привязаны к конкретному месту в памяти. Распределение памяти может выполняться или в статическом режиме до загрузки программы в ОП, или в динамическом режиме автоматически в момент загрузки программы или в процессе ее выполнения. Статическое распределение памяти весьма трудоемко, поэтому применяется редко. Если очевидно, что реальная память меньше требуемого программой адресного пространства, программист может вручную разбить программу на части, вызываемые в ОП по мере необходимости — создать оверлейную структуру программы. Режим динамического распределения памяти используется чаще.
При динамическом распределении памяти в случае недостаточной емкости ОП полезно воспользоваться виртуальной памятью. В режиме виртуальной памяти пользователь имеет дело не с физической ОП, действительно имеющейся в ПК, а с виртуальной одноуровневой памятью, емкость которой равна всему адресному пространству микропроцессора. На всех этапах подготовки программы, включая ее загрузку в оперативную память, в программе используются виртуальные адреса, и лишь при непосредственном исполнении машинной команды выполняется преобразование виртуальных адресов в реальные физические адреса ОП. При этом реально программа может размещаться частично в ОП, частично во внешней памяти на жестком диске.
Технология организации виртуальной памяти следующая. Физические оперативная и дисковая (привлеченная к задаче) память и виртуальная память разбиваются на страницы одинакового размера по 4 Кбайт. Страницам виртуальной и физической памяти присваиваются номера, которые сохраняются одними и теми же на весь период решения задачи. Операционная система формирует две таблицы:
страниц виртуальной памяти;
физического размещения страниц.
и устанавливает логические связи между ними (рис. 11.2).
Рис. 11.2. Таблица страниц
На рис. 11.2 видно, что физические страницы могут находиться в текущий момент времени как в оперативной, так и во внешней памяти. Из внешней памяти виртуальные страницы автоматически перемещаются в оперативную только тогда, когда к ним происходит обращение. При этом они замещают уже отработавшие страницы. Страничные таблицы для каждой программы формируются операционной системой в процессе распределения памяти и изменяются каждый раз, когда физические страницы перемещаются из ВЗУ в ОП. Виртуальная память может иметь и сегментно-страничную организацию. В этом случае виртуальная память делится сначала на сегменты, а внутри них на страницы. Принцип организации такой памяти аналогичен рассмотренному выше.
Для ПК характерно стандартное распределение непосредственно адресуемой памяти между ОЗУ и ПЗУ (см. рис. 11.3).
Рис. 11.3. Непосредственно адресуемая память
Основная память в соответствии с методами обращения и адресации делится на отдельные, иногда частично или полностью перекрывающие друг друга области, имеющие общепринятые названия. В частности, обобщенно логическая структура основной памяти ПК общей емкостью 64Мбайт представлена на рис. 11.4.
Рис. 11.4. Логическая структура основной памяти
Прежде всего, основная память компьютера делится на две логические области: непосредственно адресуемую память, занимающую первые 1024 К ячеек с адресами от 0 до 1024 К – 1, и расширенную память, доступ к ячейкам которой возможен при использовании специальных программ-драйверов или в защищенном режиме работы микропроцессора. Драйвер — специальная программа, управляющая работой памяти или внешними устройствами компьютера и организующая обмен информацией между МП, ОП и внешними устройствами компьютера. Стандартной памятью (CMA — Conventional Memory Area) называется непосредственно адресуемая память в диапазоне от 0 до 640 Кбайт. Непосредственно адресуемая память в диапазоне адресов от 640 К до 1024 К называется верхней памятью (UMA — Upper Memory Area или UMB — Upper Memory Blocks). Верхняя память зарезервирована для служебной памяти (ранее называлась видеопамятью дисплея) и постоянного запоминающего устройства. В служебной памяти формируются участки-«окна», используемые при помощи драйверов в качестве оперативной памяти общего назначения. Расширенная память — память с адресами 1024 К и выше. В реальном режиме имеются два основных способа доступа к этой памяти:
по спецификации XMS (память XMA — eXtended Memory Area);
по спецификации EMS (память EMA — Expanded Memory Area).
Доступ к расширенной памяти согласно спецификации XMS (eXtended Memory Specification) организуется при помощи специального драйвера (например, XMM —eXtended Memory Manager) путем пересылки по мере необходимости отдельных полей XMA в свободные области верхней памяти (UMA). Эту память иногда называют дополнительной.
Спецификация EMS (Expanded Memory Specification) является более ранней. Согласно этой спецификации доступ реализуется не путем пересылки, а лишь путем отображения по мере необходимости адресов отдельных полей Expanded Memory в свободные области верхней памяти. Отображение организуется путем динамического замещения адресов полей EMA в «окнах» UMA размером 64 Кбайт, разбитых на 16-килобайтовые страницы. В окне UMA хранится не обрабатываемая информация, а лишь адреса, обеспечивающие доступ к этой информации. Память, организуемая по спецификации EMS, носит название отображаемой. Поэтому сочетание слов Expanded Memory (EM) иногда переводят как отображаемая память (хотя термин Expanded почти идентичен термину Extended и более точно переводится как расширенный, увеличенный). Для организации отображаемой памяти при работе в реальном режиме процессора необходим драйвер EMM.EXE (Expanded Memory Manager). Отображаемая память медленная и поэтому она уступает место Extended Memory.
В реальном режиме расширенная память может быть использована главным образом для хранения данных и некоторых программ OC. Часто расширенную память используют для организации виртуальных (электронных) дисков. Исключение составляет HMA, которая может адресоваться и непосредственно при использовании драйвера HIMEM.SYS (High Memory Manager). Область HMA может использоваться для хранения любой информации, в том числе и программ пользователя. Возможность непосредственной адресации высокой памяти обусловлена особенностью сегментной адресации ячеек ОП, поскольку в этой концепции максимально возможный адрес ячейки памяти с непосредственной адресацией формируется из максимально возможного адреса сегмента FFFFF, то есть 10242–1— верхняя граница непосредственно адресуемой верхней памяти, плюс максимально возможный адрес смещения в этом сегменте FFFF — получаем верхнюю границу непосредственно адресуемой высокой памяти.
- Введение
- Раздел «Создание и эволюция эвм» Глава 1. Научные предпосылки создания эвм
- Управление и информация
- Информация и ее свойства
- Экономическая информация
- Три формы адекватности информации
- Меры информации
- Синтаксические меры информации
- Семантическая мера информации
- Прагматическая мера информации
- Показатели качества информации
- Репрезентативность
- Содержательность
- Достаточность
- Доступность
- Актуальность
- Своевременность
- Точность
- Достоверность
- Устойчивость
- Защищенность
- Полезность
- Информатика
- Наука информатика
- Информационные технологии
- Индустрия информатики
- Вопросы для самопроверки
- Глава 2. История создания вычислительной техники
- Механические счетные машины
- Электромеханические счетные машины
- Электронные вычислительные машины
- Вопросы для самопроверки
- Глава 3. Эволюция эвм
- Вопросы для самопроверки
- Глава 4. Основные классы вычислительных машин
- Большие компьютеры
- Серверы и рабочие станции
- Рабочие станции
- Серверы
- Малые компьютеры
- Микрокомпьютеры
- Персональные компьютеры
- Наколенные компьютеры
- Компьютеры-блокноты (ноутбуки)
- Нетбуки
- Планшетные компьютеры
- Райтеры
- Электронные книги Ридеры
- Карманные компьютеры
- Периферийные устройства кпк
- Коммуникаторы (смартфоны)
- Электронные секретари
- Электронные записные книжки
- Вычислительные системы
- Многомашинные и многопроцессорные вс
- Высокопараллельные многопроцессорные вычислительные системы
- Ассоциативные и потоковые вс
- Ассоциативные вычислительные системы
- Потоковые вычислительные системы
- Суперкомпьютеры
- Кластерные суперкомпьютеры
- Вопросы для самопроверки
- Раздел 2. «Информационно-логические основы построения эвм» Глава 5. Представление информации в эвм
- Представление чисел с фиксированной и плавающей запятой
- Алгебраическое представление двоичных чисел
- Прочие системы счисления
- Двоично-десятичная система счисления
- Шестнадцатеричная система счисления
- Выполнение арифметических операций в компьютере
- Особенности выполнения операций над числами с плавающей запятой
- Выполнение арифметических операций над числами, представленными в дополнительных кодах
- Особенности выполнения операций в обратных кодах
- Выполнение арифметических операций в шестнадцатеричной системе счисления
- Особенности представления информации в пк
- Вопросы для самопроверки
- Глава 6. Логические основы построения эвм
- Основы алгебры логики
- Логический синтез вычислительных схем
- Электронные технологии и элементы
- Полевые транзисторы
- Планарные микросхемы
- Электронные и логические схемы
- Триггер
- Регистр
- Дешифратор
- Логические операции, выполняемые в компьютере
- Or (или) — логическое сложение
- Xor (исключающее или)
- Not (не) — операция отрицания
- Вопросы для самопроверки
- Раздел 3 Архитектура персонального компьютера Глава 7. Основные блоки эвм и их назначение
- Структурная схема эвм
- Микропроцессор
- Системная шина
- Основная память
- Внешняя память
- Источник питания
- Внешние устройства
- Дополнительные интегральные микросхемы
- Элементы конструкции пк
- Функциональные характеристики эвм
- Производительность, быстродействие, тактовая частота
- Разрядность микропроцессора и кодовых шин интерфейса
- Типы системного и локальных и внешних интерфейсов
- Емкость оперативной памяти
- Виды накопителей на жестких магнитных дисках
- Тип и емкость накопителей на гибких магнитных дисках
- Наличие, виды и емкость кэш-памяти
- Аппаратная и программная совместимость с другими типами компьютеров
- Возможность работы в многозадачном режиме
- Надежность
- Глава 8. Микропроцессоры
- Микропроцессоры типа cisc
- Микропроцессоры Over Drive
- Микропроцессоры Pentium
- Микропроцессоры Pentium Pro
- Микропроцессоры Pentium mmx и Pentium II
- Микропроцессоры Pentium III
- Микропроцессоры Pentium 4
- Эффективные технологии в мп Intel
- Архитектура Intel Net Burst
- Многоядерные микропроцессоры
- Микропроцессоры линейки core
- Процессоры Core Penryn
- Микропроцессоры типа risc
- Микропроцессоры типа vliw
- Физическая и функциональная структура микропроцессора
- Устройство управления
- Арифметико-логическое устройство
- Микропроцессорная память
- Универсальные регистры
- Сегментные регистры
- Регистры смещений
- Регистр флагов
- Статусные флаги
- Управляющие флаги
- Интерфейсная часть мп
- Вопросы для самопроверки
- Глава 9. Системные платы и чипсеты
- Разновидности системных плат
- Чипсеты системных плат
- Чипсет i965 (Broadwater)
- Глава 10. Интерфейсная система пк
- Шины расширений
- Локальные шины
- Интерфейсы pci
- Интерфейс agp
- Периферийные шины
- Интерфейсы ide/ata
- Интерфейс scsi
- Интерфейс rs 232
- Интерфейс ieee 1284
- Универсальные последовательные интерфейсы
- Последовательная шина usb
- Стандарт ieee 1394
- Последовательный интерфейс sata
- Последовательный интерфейс sas
- Семейство последовательных интерфейсов pci Express
- Прикладные программные интерфейсы
- Беспроводные интерфейсы
- Интерфейсы IrDa
- Интерфейс Bluetooth
- Интерфейс wusb
- Семейство интерфейсов WiFi
- Семейство интерфейсов WiMax
- Интерфейс WiBro
- Прочие интерфейсы
- Вопросы для самопроверки
- Глава 11. Основная память пк
- Статическая и динамическая оперативная память
- Основная память
- Физическая структура основной памяти
- Оперативные запоминающие устройства
- Виды модулей оперативной памяти
- Типы оперативной памяти
- Постоянные запоминающие устройства
- Логическая структура основной памяти
- Вопросы для самопроверки
- Глава12. Внешние запоминающие устройства
- Размещение информации на дисках
- Адресация информации на диске
- Накопители на жестких магнитных дисках
- 0,85" Винчестеры Toshiba
- Дисковые массивы raid
- Накопители на гибких магнитных дисках
- Накопители на оптических дисках
- Неперезаписываемые оптические диски cd-rom
- Оптические диски с однократной записью
- Оптические диски с многократной записью
- Оптические универсальные диски dvd
- Маркировка скоростных характеристик cd и dvd
- Эффективные технологии хранения информации на cd и dvd
- Многослойный cd
- Millipede-диск
- Флуоресцентные оптические диски
- Особенности организации флуоресцентных дисков
- Прочие технологии
- Накопители на магнитооптических дисках
- Накопители на магнитной ленте
- Устройства флэш-памяти
- Твердотельные накопители на базе флэш-памяти
- Вопросы для самопроверки
- Глава 13. Видеотерминальные устройства
- Видеомониторы на элт
- Монохромные мониторы
- Цветные мониторы
- Виды развертки изображения на мониторе
- Цифровые и аналоговые мониторы
- Размер экрана монитора
- Вертикальная (кадровая) развертка
- Строчная развертка
- Разрешающая способность мониторов
- Частотная полоса пропускания
- Эргономичность электронно-лучевых мониторов
- Видеомониторы на плоских панелях
- Мониторы на жидкокристаллических индикаторах
- Tmos – мониторы
- Плазменные мониторы
- Электролюминесцентные мониторы
- Светоизлучающие мониторы
- Мониторы на основе «электронной бумаги»
- Стереомониторы
- Видеоконтроллеры
- Вопросы для самопроверки
- Глава 14. Внешние устройства пк
- Клавиатура
- Графический манипулятор мышь
- Принтеры
- Матричные принтеры
- Струйные принтеры
- Лазерные принтеры
- Термопринтеры
- Твердочернильные принтеры
- Сервисные устройства
- Сетевые принтеры
- С канеры
- Типы сканеров
- Форматы представления графической информации в пк
- Форматы растровой графики
- Д игитайзеры
- Основные характеристики дигитайзеров
- Плоттеры
- Типы плоттеров
- Вопросы для самопроверки
- Глава 15. Средства мультимедиа
- Системы речевого ввода и вывода информации
- Системы распознавания речи
- Системы, ориентированные на распознавание отдельных слов, команд и вопросов
- Системы распознавания предложений и связной речи
- Системы идентификации по образцу речи
- Механизм распознавания речи
- Системы синтеза речи
- Компьютерные средства обеспечения звуковых технологий
- Звуковые платы (карты)
- Компьютерные средства обеспечения видеотехнологий
- Вопросы для самопроверки
- Раздел 4. Компьютерные сети Глава 16. Основы построения компьютерных сетей
- Классификация и архитектура компьютерных сетей
- Виды компьютерных сетей
- Модель взаимодействия открытых систем
- Локальные вычислительные сети
- Виды локальных вычислительных сетей
- Одноранговые локальные сети
- Серверные локальные сети
- Корпоративные компьютерные сети
- Глобальная информационная сеть Интернет
- Протоколы, используемые в сети
- Программное обеспечение компьютерных сетей
- Информационное обеспечение сетей
- Вопросы для самопроверки
- Глава 17.Техническое обеспечение компьютерных сетей
- Серверы и рабочие станции
- Рабочие станции
- Серверы
- Маршрутизаторы и коммутирующие устройства
- Методы коммутации
- Коммутация сообщений
- Коммутация пакетов
- Методы маршрутизации
- Варианты адресации компьютеров в сети
- Методы маршрутизации, используемые в сетях
- Модемы и сетевые карты
- Модемы для аналоговых каналов связи
- Протоколы передачи данных
- Модемы для цифровых каналов связи
- Сетевые карты
- Линии и каналы связи
- Цифровые каналы связи
- Раздел 5. Программное управление Глава 18. Программное управление — основа автоматизации вычислительного процесса После изучения главы вы должны знать:
- Алгоритмы и языки программирования
- Состав машинных команд
- Пример программы на яск
- Программное обеспечение компьютера
- Системное программное обеспечение
- Операционные системы компьютеров
- Прикладное программное обеспечение
- Прикладные программы для офиса
- Корпоративные прикладные программы
- Режимы работы компьютеров
- Однопрограммный режим
- Многопрограммный режим
- Система прерываний программ в пк
- Адресация регистров и ячеек памяти в пк
- Относительная адресация
- Стековая адресация
- Вопросы для самопроверки
- Глава 19.Элементы программирования на языке Ассемблер
- Основные компоненты языка ассемблер Алфавит языка
- Константы (числа и строки) Только целые числа
- Строки (литералы)
- Команды (операторы)
- Директивы (псевдооператоры)
- Модификаторы
- Адресация регистров и ячеек памяти в Ассемблере
- Непосредственная адресация
- Прямая адресация регистров мпп
- Адресация ячеек оп
- Основные команды языка ассемблер
- Команды пересылки данных
- Арифметические команды
- Команды сложения, вычитания и сравнения
- Команды приращения
- Команды умножения
- Команды деления
- Логические команды
- Команды безусловной передачи управления
- Команды перехода к подпрограмме и выхода из подпрограммы
- Команда перехода к подпрограмме: call opr
- Команда выхода из подпрограммы
- Команды условной передачи управления
- Команды условной передачи управления для беззнаковых данных
- Команды условной передачи управления для знаковых данных
- Команды условной передачи управления для прочих проверок
- Команды управления циклами
- Команды прерывания
- Основные директивы ассемблера
- Директивы определения идентификаторов
- Директивы определения данных
- Директивы определения сегментов и процедур
- Директивы управления трансляцией
- Программирование процедур работы с устройствами ввода-вывода
- Программирование работы с дисплеем
- Видеооперации с прерыванием 21h dos
- Программирование работы с клавиатурой
- Некоторые аспекты создания исполняемых программ
- Процедуры формирования программы
- Структура программы на языке ассемблера для создания файла exe
- Программа вычисления квадратного корня
- Основные сведения о листинге программы
- Последовательность работы пк при выполнении программы
- Краткие сведения об отладчике программ debug
- Основные команды отладчика debug
- Вопросы для самопроверки
- Заключение. Перспективы развития информационных систем
- Литература