Компьютеры

Ремонт и upgrade компьютеров своими руками

КОНСТРУКЦИЯ И ЭФФЕКТИВНОСТЬ КЭШ-ПАМЯТИ

 

Если у вас появятся вопросы, не освещенные на нашем сайте, вы можете задать вопрос непосредственно нашим специалистам по электронной почте: upgradecomputer@yandex.ru

 

  

 

Коэффициент совпадения кэш-памяти как первого, так и второго уровней составляет 90%. Таким образом, рассматривая систему в целом, можно сказать, что 90%> времени она работает с полной тактовой частотой (в нашем примере 233 МГц), получая данные из кэшпамяти первого уровня. Десять процентов времени данные извлекаются из кэш-памяти второго уровня. Процессор работает с кэш-памятью второго уровня только 90%> этого времени, а оставшиеся 10%> вследствие промахов кэша — с более медленной основной памятью. Таким образом, объединяя кэш-память первого и второго уровней, получаем, что обычная система работает с частотой процессора 90%> времени (в нашем случае 233 МГц), с частотой системной платы 9% времени (т. е. 90%> от 10%> при частоте 66 МГц) и с тактовой частотой основной памяти примерно 1%> времени (10%> от 10%> при частоте 16 МГц). Это ясно демонстрирует важность кэш-памяти первого и второго уровней; при отсутствии кэш-памяти система часто обращается к ОЗУ, скорость того значительно ниже, чем скорость процессора.

Это наводит на интересные мысли. Представьте, что вы собираетесь повысить эффективность оперативной памяти или кэш-памяти второго уровня вдвое. На что же именно потратить деньги? Принимая во внимание, что оперативная память непосредственно используется примерно 1%о времени, двойное увеличение ее производительности приведет к повышению быстродействия инфраструктуры только в 1% времени! Нельзя сказать, что это звучит достаточно убедительно. С другой стороны, если вдвое повысить эффективность кэш-памяти второго уровня, получится двойное увеличение эффективности инфраструктуры в 9% времени, что является более значимым улучшением.

Системотехники и специалисты по разработке процессоров компаний Intel и AMD зря времени не теряли и разработали методы повышения эффективности кэш-памяти второго уровня. В системах класса Pentium (Р5) кэш-память второго уровня обычно устанавлива—

ется на системной плате и работает соответственно с ее тактовой частотой. Intel значительно повысила производительность процессоров, переместив кэш-память с системной платы непосредственно в процессор, что повлекло за собой увеличение ее рабочей частоты до частоты процессора. Сначала микросхемы кэша устанавливались в одном корпусе вместе с основным процессором. Но такая конструкция оказалась слишком дорогой, поэтому, начиная с процессоров семейства Pentium II, компания Intel стала приобретать микросхемы кэш-памяти у сторонних производителей (Sony, Toshiba, NEC, Samsung и т. д.). Микросхемы поставлялись уже в готовом виде, в корпусном исполнении, поэтому Intel начала их устанавливать на монтажной плате рядом с процессором. Именно поэтому процессор Pentium II был изначально разработан в виде картриджа.

Одна из существенных проблем заключалась в быстродействии микросхем кэш-памяти сторонних производителей. Скорость наиболее быстрых микросхем достигала 3 не и выше, что было эквивалентно тактовой частоте 333 МГц. Но процессоры уже работали на более высоких скоростях, поэтому в Pentium II и первых моделях Pentium III кэш-память второго уровня работает на половинной частоте процессора. В некоторых моделях процессора Athlon скорость кэш-памяти второго уровня уменьшена до двух пятых или даже одной трети тактовой частоты ядра.

Качественный скачок в технологии произошел с появлением процессоров Celeron 300А и выше. В этих процессорах внешние микросхемы кэш-памяти второго уровня не используются. Вместо этого кэш-память как первого, так и второго уровней была интегрирована непосредственно в ядро процессора. Таким образом, кэш-память обоих уровней работает с полной тактовой частотой процессора, что позволяет повышать ее быстродействие при возможном увеличении скорости процессора. В последних моделях Pentium III, а также во всех процессорах Хеоп и Celeron кэш-память второго уровня по-прежнему работает с тактовой частотой ядра процессора, а значит, при неудачном обращении в кэш-память первого уровня ожидания или замедления операций не происходит. В современных моделях процессоров Athlon и Duron также используется встроенная кэш-память, работающая с частотой ядра. Как вы знаете, при неудачном обращении к внешней кэш-памяти происходит снижение скорости кэша до половинной частоты ядра или, что еще хуже, до частоты более медленной системной платы. Использование встроенного кэша позволяет значительно повысить эффективность процессора, так как 9% времени в системе будет использоваться кэш-память второго уровня, работающая с полной частотой ядра. К числу преимуществ встроенной кэш-памяти относится также уменьшение ее стоимости, так как она содержит меньшее число компонентов.

Вернемся к рассмотренной ранее аналогии, используя в качестве примера современный процессор Pentium 4 с тактовой частотой 2 ГГц. Теперь ваша скорость поглощения пищи равна одному байту в секунду (тактовой частоте 2 ГГц соответствует длительность цикла 0,5 не). Кэш-память первого уровня работает на этой же частоте, т. е. скорость поглощения блюд, находящихся на вашем столе, равна скорости процессора (а столик соответствует кэш-памяти первого уровня). Ощутимое повышение быстродействия происходит в том случае, когда вы заказываете блюдо, того нет на столе (промах кэша первого уровня), и официанту приходится обращаться к столику с дежурными блюдами. В девяти случаях из десяти он находит там нужное блюдо, то приносит через полсекунды (частота кэш-памяти второго уровня равна 2 ГГц, что соответствует скорости 0,5 не). Итак, современные инфраструктуры работают 99% времени (суммарный коэффициент совпадения кэш-памяти первого и второго уровней) с частотой 2 ГГц и, как и прежде, в одном случае из ста понижают скорость до частоты оперативной памяти (приготовление

блюда на кухне). При увеличении скорости памяти до 400 МГц (2,5 не) время ожидания заказанного блюда из кухни достигнет 2,5 с. Эх, если бы скорость обслуживания в ресторане повышалась так же, как быстродействие процессора!


Организация Работы Кэш-Памяти

Организация кэш-памяти в процессорах 486 и семействе Pentium называется четы-рехстраничным набором ассоциативного кэша (four-way set associative cache), что подразумевает сайтение кэш-памяти на четыре блока. Каждый блок, в свою очередь, организуется в виде 128 или 256 строк по 16 байт в каждой.

Чтобы понять, как работает четырехстраничный кэш, рассмотрим следующий пример. В простейшем случае кэш состоит из одного блока, в который можно загрузить содержимое соответствующего блока основной памяти. Это похоже на закладку, используемую для того, чтобы отметить нужную страницу в статье. Если основная память — это вся статьа, то по закладке можно определить, какая страница находится в кэше. Но этого бывает достаточно только в том случае, если все важные данные находятся на странице, отмеченной закладкой. Если же вам нужно вернуться к одной из уже прочитанных страниц, то закладка будет бесполезной.

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

Если ограничиться четырьмя отметками-выписками, то можно получить четырехстраничный кэш. Вся кэш-память разбивается на четыре блока, в каждом из которых хранятся копии различных фрагментов основной памяти. Хорошим примером работы процессора сразу с несколькими областями памяти является использование многозадачной операционной инфраструктуры Windows. Здесь четырехстраничный кэш значительно повышает производительность процессора.

Содержимое кэша всегда должно соответствовать содержимому основной памяти, чтобы процессор работал с самыми свежими данными. Поэтому в семействе процессоров 486 используется кэш со сквозной записью {write-through), при той данные, записанные в кэш, автоматически записываются и в основную память.

В процессорах Pentium используется двунаправленный кэш {write-back), который работает при выполнении как операций считывания, так и операций записи. Это позволяет еще больше повысить производительность процессора. Хотя встроенный кэш в процессоре 486 используется только при чтении, внешний кэш в системе может быть двунаправленным. Кроме того, в процессорах 486 предусмотрен дополнительный 4-байтовый буфер, в котором можно хранить данные вплоть до передачи в память. Это необходимо в том случае, если шина памяти занята.

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

Кэш-контроллер, встроенный в процессор, также используется для наблюдения за состоянием системной шины при передаче управления шиной альтернативным процес—

сорам, которые называются хозяевами шины (bus masters). Процесс наблюдения, в свою очередь, называется отслеживанием шины (bus snooping). Если устройство, управляющее передачей данных по шине (т. е. хозяин шины), записывает какие-либо данные в область памяти, копия той хранится в кэше процессора, то содержимое кэша перестает соответствовать содержимому основной памяти. В этом случае кэш-контроллер отмечает эти данные как ошибочные и при следующем обращении к памяти обновляет содержимое кэша, поддерживая тем самым целостность всей инфраструктуры.

При увеличении тактовой частоты время цикла уменьшается. В новых системах не используется кэш на системной плате, поскольку быстрые модули DDR-SDRAM или RDRAM, применяемые в современных системах Pentium II/Celeron/Ш, могут работать на тактовой частоте системной платы. В табл. 3.9 приведены важный объем кэша, а также функции, выполняемые встроенным (первого уровня) и внешним (второго уровня) кэшем в современных системах.

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


.

           

 

 

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

Сайт создан в системе uCoz