ТЕХНИКА ОПТИМИЗАЦИИ ПРОГРАММ

       

Выход из кэша второго уровня (настоящий)


Изменение скоростного показателя при выходе за границы кэша второго уровня описывается теми же самыми формулами, что и выход за границы кэша первого уровня, т.е. на участке от L2.CACHE.SIZE до L2.CACHE.SIZE+ L2.CACHE.SIZE*WAY кривая чтения "взлетает" с коэффициентом пропорциональности , где F.L2.CACHE – частота работы кэша, F.MEM – частота работы памяти, N.CACHE.BUS – разрядность шины кэша второго уровня, а N.MEM.BUS разрядности шины памяти.

Из этой формулы следует, что процессоры, не имеющие собственного кэша второго уровня, практически никак не реагируют на его переполнение. Действительно, кэш, расположенный на материнской плате, работает на частоте системной шины по формуле 2?1?1?1, что вполне сопоставимо со скоростью синхронной динамической памяти, работающей на тех же частотах по формуле 3?1?1?1 или даже 2?1?1?1!

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

Кривая записи ведет себя иначе. Если не предпринять



Содержание раздела