Скотт Мюлле- Модернизация и ремонт ПК стр.179

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

Организация работы кэш-памяти

Как известно, кэш хранит копии данных из различных адресных областей основной памяти. Поскольку в кэше невозможно одновременно хранить копии данных из всех адресных областей, необходим метод определения адресов, данные которых скопированы в кэш, так чтобы необходимые данные считывались непосредственно из кэша, а не из основной оперативной памяти. Для этого применяется ОЗУ тегов — дополнительная область памяти кэша, в которой содержится индекс адресов, скопированных в кэш. Каждая строка памяти кэша имеет соответствующий адресный тег, который хранит адрес данных основной памяти, скопированных в текущий момент времени в отдельную строку кэша. Для получения данных с конкретного адреса основной памяти кэш-контроллер просматривает содержимое ОЗУ тегов, чтобы определить наличие адреса, содержащегося в кэше (совпадение), или его отсутствие (промах). Обнаруженные данные могут быть эффективно считаны из кэша; в противном случае процессор считывает данные из гораздо более медленной оперативной памяти.

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

Метод полностью ассоциативного отображения заключается в следующем: когда запрашиваются данные с определенного адреса основной памяти, этот адрес сравнивается со всеми записями адресных тегов в кэше ОЗУ тегов. Если запрашиваемый адрес найден в теге (совпадение), возвращается соответствующий адрес данных в кэше. В том случае, когда адрес

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

При прямом отображении конкретные адреса основной памяти назначаются определенным адресам строк в кэше, где будут храниться в дальнейшем данные из основной памяти. Таким образом, для работы ОЗУ тегов понадобится меньшее число бит, так как, когда известен адрес основной памяти, необходимо проверить только один адресный тег. Каждый тег будет содержать только возможный адрес, хранимый в избранной строке ОЗУ тегов. Данный метод также отличается высокой эффективностью, поскольку для получения адреса основной памяти необходимо проверить лишь один адресный тег.


⇐ Предыдущая страница| |Следующая страница ⇒