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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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