русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Страничная организация памяти


Дата добавления: 2013-12-23; просмотров: 1266; Нарушение авторских прав


ОРГАНИЗАЦИЯ ВИРТУАЛЬНОЙ ПАМЯТИ

 

Термин Виртуальная память предполагает возможность адресовать пространство памяти конкретной вычислительной машины.

Существует два общепринятых способа организации виртуальной памяти: страничная и сегментная организации памяти. Существует также их комбинация.

Суть концепции виртуальной памяти заключается в том, что адреса, к которым обращается выполняющий процесс, отделяются от адресов, реально существующих в первичной памяти. Первые называются виртуальными адресами, а вторые – реальными. Механизмы динамического преобразования адресов обеспечивают преобразование виртуальных адресов в реальные во время выполнения процесса. Все подобные системы обладают общим свойством: смежные адреса виртуального адресного пространства процесса необязательно будут смежными в реальной памяти, это свойство называют “искусственной смежностью”.

Механизм динамического преобразования адресов должен вести таблицы, показывающие, какие ячейки виртуальной памяти в текущий момент времени находятся в реальной памяти и где именно они размещаются. Если бы такое отображение осуществлялось пословно или побайтно, то для её хранения потребовалось бы слишком много реальной памяти. Поэтому для отображения информации группируем её в блоки, и система следит за тем, в каких местах реальной памяти размещаются эти блоки. Увеличение размера блоков приводит к уменьшению дополнительных затрат памяти для механизма отображения. При реализации виртуальной памяти возникает вопрос о том, следует ли все блоки делать одинаково или разных размеров.

Если блоки имеют одинаковый размер, то они называются страницами, а организация памяти – страничной, если блоки могут быть различных размеров, то они называются сегментами, а организация памяти – сегментной. В некоторых системах оба эти подхода комбинируются, т.е. сегменты переменных размеров формируются из страниц фиксированного размера. Виртуальный адрес в системе поблочного отображения указывается при помощи упорядоченной пары (b,d), где b – номер блока, а d – смещение относительно начального адреса этого блока.



 

Виртуальный адрес в страничной системе – упорядоченная пара (p,d), где p – номер страницы в виртуальной памяти, а d – смещение в рамках страницы p, где размещается адресуемый элемент. Страницы переписываются из внешней памяти в первичную и размещаются в ней в блоках, называемых страничными кодами таких же размеров. Выполняющийся процесс обращается по адресу виртуальной памяти V=(p,d), ищет номер страницы p в таблице отображения страниц и определяет, что эта страница находится в страничном коде p¢. Адрес реальной памяти формируется затем путём конкатенации p¢ и d. Представим типичную строку таблицы отображения страниц следущим образом:

r s

где r – бит-признак присутствия страницы в первичной памяти. r=1, если присутствует, иначе r=0. Если страницы нет, то s – её адрес во внешней памяти, если есть, то p¢ - номер страничного кода.

Преобразование адресов страниц прямым отображением

Недостаток: таблица прямого отображения страниц может быть достаточно большой и находиться в первичной памяти, а так как время цикла выборки из первичной памяти составляет наибольшую долю выполнения команды, то преобразование адресов может может вызвать снижение скорости работы почти вдвое. Однако способ прямого отображения может быть приемлимым в случае размещения всей таблицы целиком в сверхвысокоскоростной кэш-памяти.

 


 

 

 


p d
b p

       
   
 
 

 


b+p p

       
   
 
 
 
   

 

 


 

таблица страниц

Преобразование адресов страниц ассоциативным отображением

Смысл заключается в том, чтобы всю таблицу преобразования страниц разместить в ассоциативной памяти. Все строки таблицы, хранящейся в ассоциативной памяти, одновременно сравниваются с адресом страницы p. Именно из-за этого ассоциативная память является столь дорогостоящей. Применение кэш-памяти для реализации ассоциативной памяти обходится слишком дорого. Необходима некая компромисная схема.

 

 
 

 


  p p

 


 

 


Преобразование адресов страниц комбинированным ассоциативно-прямым отображением

 
 

 

 


Операция Å выполняется только в случае, если поиск по ассоциативной таблице окажется неудачным. Сдесь ассоциативная память хранит небольшую часть полной таблицы. В строках этой таблицы отображаются только те страницы, к которым были последние ссылки, и вероятно будут новые обращения. Чтобы обеспечить хорошие скоростные показатели частичная ассоциативная таблица должна быть небольшой.



<== предыдущая лекция | следующая лекция ==>
Стратегии размещения информации в памяти | Сегментная организация памяти


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.