Раздельное кэширование программного кода и данных.
Лучшие летние шины asshina.com.ua -
летние шины недорого. Ждем вас.
Раздельное кэширование программного кода и данных. Другое важнейшее революционное усовершенствование, реали-
зованное в Pentium процессоре, это введение раздельного кэши-
рования. Кэширование увеличивает производительность посредст-
вом активизации места временного хранения для часто используе-
мого программного кода и данных, получаемых из быстрой памяти,
заменяя по возможности обращение ко внешней системной памяти
для некоторых команд. Процессор Intel486, например, содержит
один 8-KB блок встроенной кэш-памяти, используемой одновремен-
но для кэширования программного кода и данных.
Проектировщики фирмы INTEL обошли это ограничение исполь-
зованием дополнительного контура, выполненного на 3.1 миллио-
нах транзисторов Pentium процессора ( для сравнения, Intel486
содержит 1.2 миллиона транзисторов ) создающих раздельное
внутреннее кэширование программного кода и данных. Это улучша-
ет производительность посредством исключения конфликтов на ши-
не и делает двойное кэширование доступным чаще, чем это было
возможно ранее. Например, во время фазы предварительной подго-
товки, используется код команды, полученный из кэша команд. В
случае наличия одного блока кэш-памяти, возможен конфликт меж-
ду процессом предварительной подготовки команды и доступом к
данным. Выполнение раздельного кэширования для команд и данных
исключает такие конфликты, давая возможность обеим командам
выполняться одновременно. Кэш-память программного кода и дан-
ных Pentium процессора содержит по 8 KB информации каждая, и
каждая организована как набор двухканального ассоциативного
кэша - предназначенная для записи только предварительно
просмотренного специфицированного 32-байтного сегмента, причем
быстрее, чем внешний кэш. Все эти особенности расширения про-
изводительности потребовали использования 64-битовой внутрен-
ней шины данных, которая обеспечивает возможность двойного кэ-
ширования и суперскалярной конвеерной обработки одновременно с
загрузкой следующих данных. Кэш данных имеет два интерфейса,
по одному для каждого из конвееров, что позволяет ему обеспе-
чивать данными две одельные инструкции в течение одного машин-
ного цикла. После того, как данные достаются из кэша, они за-
писываются в главную память в режиме обратной записи. Такая
техника кэширования дает лучшую производительность, чем
простое кэширование с непосредственной записью, при котором
процессор записывает данные одновременно в кэш и основную па-
мять. Тем не менне, Pentium процессор способен динамически
конфигурироваться для поддержки кэширования с непосредственной
записью.
Таким образом, кэширование данных использует два различ-
ных великолепных решения: кэш с обратной записью и алгоритм,
названный MESI ( модификация, исключение, распределение, осво-
бождение) протокол. Кэш с обратной записью позволяет записы-
вать в кэш без обращения к основной памяти в отличие от
используемого до этого непосредственного простого кэширования.
Эти решения увеличивают производитльность посредством исполь-
зования преобразованной шины и предупредительного исключения
самого узкого места в системе. В свою очередь MESI-протокол
позволяет данным в кэш-памяти и внешней памяти совпадать - ве-
ликолепное решение в усовершенствованных мультипроцессорных
системах, где различные процессоры могут использовать для ра-
боты одни и те же данные.
Рекомендуемый объем общей кэш-памяти для настольных
систем, основанных на Pentium процессоре, равен 128-256 K, а
для серверов - 256 K и выше.20.05.2012