PersCom — Компьютерная Энциклопедия Компьютерная Энциклопедия

Сталинградскии камень керамические блоки.

Процессоры

Подсистема кэш-памяти

Задача подсистемы памяти сравнительно проста: как можно быстрее доставить затребованные данные и как можно быстрее снять полученный результат. Поскольку скорость работы памяти SDRAM не идет ни в какое сравнение со скоростью работы процессоров (разрыв более чем на порядок в пользу процессоров), то активно используется кэширование данных в высокоскоростной памяти сравнительно небольшого объема. Процессор Pentium 4 имеет два, а модификация Extreme Edition даже три уровня кэш-памяти. Основная роль в ускорении работы отведена кэшу второго уровня. Фактически, именно кэш второго уровня становится основным хранилищем данных в микроархитектуре Pentium 4.

В процессе работы самые необходимые данные размещаются в кэше первого уровня. В отличие от кэша процессоров Pentium II размер кэша данных невелик: всего 8 Кбайт в ядре Willamette/Northwood и 16 Кбайт в ядре Prescott. Зато скорость кэша Ы заметно выросла: задержка доступа составляет всего 2 такта, в отличие от 3 тактов в Pentium III. На частотах 2 ГГц и выше это различие становится решающим.

Поскольку объем данных в кэше первого уровня невелик, есть высокая вероятность, что необходимых процессору данных там не окажется. В случае отсутствия необходимых данных инициируется обращение в кэш второго уровня. Если нужные данные там есть, они копируются в кэш первого уровня по шине шириной 256 бит. Эта технология получила название Advanced Transfer Cache. Очевидно, что механизм кэширования является инклюзивным. То есть данные, содержащиеся в кэш-памяти первого уровня, отображаются в кэш-памяти второго уровня. Процессоры AMD имеют эксклюзивный кэш: данные не повторяются.

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

Размер кэша второго уровня для ядра Willamette составляет 256 Кбайт, для ядра Northwood — 512 Кбайт, для ядра Prescott — 1024 Кбайт. Модификация процессора Pentium 4 ЕЕ содержит кэш третьего уровня объемом 2048 Кбайт. Этот кэш подключен к ядру 64-битной шиной, задержки обращения к нему выше, нежели к кэш-памяти второго уровня. Тем не менее, во многих случаях его наличие заметно повышает производительность, поскольку кэш третьего уровня все равно превосходит по скорости оперативную память.