Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 2007.doc
Скачиваний:
117
Добавлен:
20.05.2014
Размер:
3.24 Mб
Скачать

Вопросы и задания

            1. Как соотносятся между собой объем памяти и ее быстродействие и почему?

            2. Что хранится в ПЗУ компьютера?

            3. Что такое BIOSи каковы его функции?

            4. Перечислите достоинства и недостатки статических и динамических МС.

            5. Что такое кэш-память и как она работает?

            6. Можно ли считать из памяти отдельно взятый бит?

            7. Оцените, какая доля адресного пространства памяти вашего компьютера реально занята.

Лекция 8. Логическая организация памяти

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

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

Виртуальная память

Эти проблемы решались и решаются до сих пор. Есть несколько способов, позволяющих согласовать разные объемы памяти, разные способы ее организации в представлении программистов и реально аппаратно существующей.

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

Развитие методов организации вычислительного процесса в этом направлении привело к появлению метода, известного под названием – виртуальная память, о чем мы будем говорить более подробно ниже.

Таким образом, виртуальная память - это совокупность программно-аппаратных средств, позволяющих пользователям писать программы, размер которых превосходит имеющуюся оперативную память; для этого виртуальная память решает следующие задачи:

  • размещает данные в запоминающих устройствах разного типа, например, часть программы в оперативной памяти, а часть на диске;

  • перемещает по мере необходимости данные между запоминающими устройствами разного типа, например, подгружает нужную часть программы с диска в оперативную память;

  • преобразует виртуальные адреса в физические.

CPU

Виртуальный адрес

MMU

Данные

(или команды)

Кэш

Физический адрес

Физический адрес