Tesla_WARRIOR
Apr 18 2012, 18:28
Уважаемые участники форума!Всем доброго времени суток!
Очень надеюсь на Вашу помощь в решении следующей проблемы:
Никак не могу разобраться в организации взаимодействия между уровнями кэша процессора.
В интернете есть довольно много разрозненной информации об общей организации кэша в сериях процессоров Intel486, Intel Pentium, Core 2 Duo и других, но практически нет информации о межуровневом взаимодействии (L1,L2 и L3) и организации не эксклюзивной политики записи. Как на пример происходит обновление информации при двойном промахе (и в L1 и в L2 ) - зависит ли алгоритм замещения в L2 от того, какой блок вытесняется из кэша первого уровня? Как происходит запись информации в кэш (последовательность), а также что происходит при промахе по записи?
В целях образования, очень бы хотелось узнать, как на самом деле это происходит.
Может у кого-нибудь есть информация по этому поводу?( например по конкретным сериям Intel 486, Intel Core 2 Duo)?
Заранее спасибо!
follow_me
Apr 18 2012, 22:17
Не знаю, насколько вам это подойдет , но вроде то что вы ищите
software techniques for shared cache multi core systemsвозможно стоит ещё глянуть в
wiki, там меньше , но всё же есть немного
Обе статьи на английском
Tesla_WARRIOR
Apr 21 2012, 08:40
Уважаемый, follow_me!Большое спасибо за ответ!=)
Предложенная Вами информация,конечно,пригодилась, но, как я сейчас понимаю - это всё-таки не совсем то, что мне нужно.
Вообще, моя цель - смоделировать работу процессора Intel, например Core 2 Duo( так как Intel - одна из пионеров в области компьютеростроения) и его взаммодействие с памятью, а именно с кэш всех уровней. Так как данный процессор состоит из нескольких ядер, то, как я понял, основными проблемами, связанными с кэш, являются поддержка его когерентности и общая для одно- и многопроцессорных систем проблема организаии неэксклюзивной политики записи. В связи с этим, очень хочется узнать:
- как организуется протокол поддержки когерентности MESI для нескольких уровней кэш
-а также не очень понятна общая логика работы процессора с несколькими уровнями кэш. (запросы на запись/чтение, а также зависят ли алгоритмы замещения кэш первого и второго уровня между собой?)
Буду очень признателен за любую информацию по этому поводу!=)
Я не уверен, но по-моему в интеловских процессорах, начиная с P-4, многоуровневый кэш имеет эксклюзивную архитектуру. Зачем тогда вы интересуетесь про не эксклюзивную?