Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / docx31 / Меньшиков (2).docx
Скачиваний:
25
Добавлен:
01.08.2013
Размер:
488 Кб
Скачать
☆

4.4. Кэш команд и данных. Преобразователь виртуальных адресов.

В предыдущем пункте было принято решение о построении ОЗУ на микросхемах SRAM, которые позволяют снизить вероятность появления ошибок. Также было решено не использовать быстрых и дорогих микросхем, а ограничиться более медленными и дешевыми образцами. Это решение было принято исходя из возможности построения двухуровневой системы памяти, когда между процессором и ОП устанавливается небольшая по объему, но быстродействующая буферная память, в которую копируются участки ОП, к которым производится обращение со стороны процессора. Такая память называется кэш-памятью.

Принцип работы кэш-памяти следующий: в случае, если ЦП хочет прочесть слово из основной памяти, сначала осуществляется поиск копии этого слова в КЭШе. Если это слово уже в нем (попадание в КЭШ), то обращение к ОП не происходит, а в ЦП передается слово из КЭШа. В случае если такого слова в КЭШе не обнаружено (промах), то слово передается в процессор из ОП с одновременной записью его в КЭШ (а вместе с ним и еще несколько близлежащих слов – оперирует блоками). Постепенно КЭШ заполняется и при очередной вставке необходимо определить, в соответствии с действующим алгоритмом замещения, вероятность обращения к какому блоку меньше всего и следовательно удаление которого в меньшей степени скажется на дальнейший процент попадания.

Функции заполнения КЭШа, замещения блоков данных и поиска данных осуществляет контроллер кэш памяти.

Принято решение об организации объединенного КЭШа команд и данных. В таком КЭШе данные и команды хранятся вместе. Преимущество такой организации в том, что при заданной емкости КЭШа ему свойственна более высокая вероятность попаданий по сравнению с раздельным типом, т.к. оптимальный баланс между командами и данными устанавливается автоматически. Например, если в выполняемом фрагменте программы обращение к памяти связано в основном с выборкой команд, а не данных, кэш-память будет иметь тенденцию насыщаться командами, и наоборот. А так как команды и данные передаются по одной шине и хранятся в одной ОП, то одновременная их выборка все равно физически невозможна.

Способ отображения кэш-памяти выбран множественно-ассоциативный, т.к. является компромиссным между прямым отображением («+» - простая реализация, «-» - относительно низкий уровень попаданий), и полностью ассоциативным («+» - гибкая выборка при выборе строки для обновления, «-» - высокая стоимость).

Алгоритм замещения – LRU (Last Recently Used), который предполагает подсчет обращений к тому или иному блоку (выполняется контроллером).

По заданию организация ОП страничная. Страничная организация памяти используется для реализации механизма виртуальной памяти, позволяющей реализовать механизм динамического распределения памяти и адресовать более 4Гб ОП. Страничный механизм это один из способов преобразования виртуального адреса (ВА) в физический адрес (ФА). Страницы имеют фиксированный размер. Двенадцать младших разрядов начального адреса любой обычной (размером 4К) страницы всегда равны нулю. Поэтому любой объект в памяти, имеющий подобный начальный адрес, называется выровненным по границе страницы. Схема страничного преобразования приведена на рис. 5.

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

Рис.5- Схема преобразования ВА в ФА при страничной организации памяти

Каждое слово в виртуальной памяти пользователя определяется виртуальным адресом, состоящим из двух частей:

  • старшие 20 разрядов адреса (PAGE) рассматриваются как номер страницы, представляющей собой смещение относительно базового регистра (БР) страничной таблицы программы;

  • младшие 12 являются номером слова (OFFSET) (или байта) внутри страницы.

Преобразование ВА в ФА происходит следующим образом: по номеру страницы из ВА относительно БР считывается ее дескриптор из страничной таблицы, из которого берется физический адрес страницы. К физическому адресу (20 бит) дескриптора добавляется номер слова из ВА (OFFSET – 12 бит). Полученный адрес является ФА.

Так как страничная таблица хранится в ОП, то страничный механизм требует одного дополнительного обращения к ОП, для преобразования адреса.

Так как страничный механизм требует дополнительного обращения к памяти при преобразовании адресов, то вводится адресный КЭШ (буфер TLB), хранящий 32 физических адреса интенсивно использующихся ЦП страниц.

Таким образом, можно привести следующую структурную схему рис.6.

Рис.6 – Структурная схема сопряжения КЭШ, ПВА, ЦП

Соседние файлы в папке docx31