КАТЕГОРИИ: Архитектура-(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; Просмотров: 1368; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |