Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Алгоритмы согласования содержимого кэш-памяти и основной памяти

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

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

Для разрешения первой из рассмотренных ситуаций (когда процессор выпол-няет операцию записи) в системах с кэш-памятью предусмотрены методы обнов-ления основной памяти, которые можно разбить на две большие группы: метод сквозной записи (write through) и метод обратной записи (write back).

По методу сквозной записи прежде всего обновляется слово, хранящееся в ос- новной памяти. Если в кэш-памяти существует копия этого слова, то она также обновляется. Если же в кэш-памяти отсутствует нужная копия, то либо из основ-ной памяти в кэш-память пересылается блок, содержащий обновленное слово (сквозная запись с отображением); либо этого не делается (сквозная запись без отображения).

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

сутствует. Данный метод применен в микропроцессорах i486 фирмы Intel.

Определенный выигрыш дает егр модификация, известная как метод буферизированной сквозной запцси. Информация сначала записывается в кэш-память и в специальный буфер, работающий по схеме FIFO. Запись в основную память про- изводится уже из буфера, а процессор, не дожидаясь ее окончания, может сразу же продолжать свою работу. Конечно, соответствующая логика управления должна заботиться о том, чтобы своевременно ≪опустошать≫ заполненный буфер. При ис-пользовании буферизации процессор полностью освобождается от работы с ОП.

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

У рассматриваемого метода есть разновидность — метод флаговой обратной записи. Когда в какой-то строке кэша производится изменение, устанавливается связанный с этой строкой бит изменения (флажок). При замещении строка из кэш- памяти переписывается в ОП только тогда, когда ее флажок установлен в 1. Ясно, что эффективность флаговой обратной записи несколько выше. Такой метод ис-пользуется в микропроцессорах класса i486 и Pentium фирмы Cyrix.

В среднем обратная запись на 10% эффективнее сквозной записи, но для ее реа- лизации требуются и повышенные аппаратные затраты. С другой стороны, прак-тика показывает, что операции записи составляют небольшую долю от общего ко-личества обращений к памяти. Так, в [194] приводится число 16%. Другие авторы оценивают долю операций записи величинами в диапазоне от 5 до 34%. Таким обра-зом, различие по быстродействию между рассмотренными методами невелико.

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

кэш-памяти. Для второго подхода ≪прямой≫ доступ к основной памяти допускается только через кэш-память.

Смешанная и разделенная кэш-память

Когда в микропроцессорах впервые стали применять внутреннюю кэш-память, ее

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

нято называть смешанной, а соответствующую архитектуру — Принстонской (Princeton

architecture), по названию университета, где разрабатывались ВМ с единой

памятью для команд и данных, то есть соответствующие классической архитекту-

ре фон-Неймана. Сравнительно недавно стало обычным разделять кэш-память на

две — отдельно для команд и отдельно для данных. Подобная архитектура полу-

чила название Гарвардской (Harvard architecture), поскольку именно в Гарвард-

ском университете был создан компьютер ≪Марк-1≫ (1950 год), имевший раздель-

ные ЗУ для команд и данных.

Смешанная кэш-память обладает тем преимуществом, что при заданной емкости

ей свойственна более высокая вероятность попаданий по сравнению с разделен-

ной, поскольку в ней оптимальный баланс между командами и данными устанав-

ливается автоматически. Так, если в выполняемом фрагменте программы обраще-

ния к памяти связаны в основном с выборкой команд, а доля обращений к данным

относительно мала, кэш-память имеет тенденцию насыщаться командами, и на-

оборот.

С другой стороны, при раздельной кэш-памяти выборка команд и данных мо-

жет производиться одновременно, при этом исключаются возможные конфликты.

Последнее обстоятельство существенно в системах, использующих конвейериза-

цию команд, где процессор извлекает команды с опережением и заполняет ими

буфер или конвейер.

В табл. 5.7 приведены основные параметры внутренней кэш-памяти для наибо-

лее распространенных типов микропроцессоров.

<== предыдущая лекция | следующая лекция ==>
Наиболее эффективным является алгоритм замещения на основе наиболее дав- | Понятие виртуальной памяти
Поделиться с друзьями:


Дата добавления: 2014-01-14; Просмотров: 1362; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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