Многоуровневые кэши
Одной из проблем является фундаментальная проблема баланса между задержками кэша и интенсивностью попаданий. Большие кэши имеют более высокий процент попаданий но, вместе с тем, и большую задержку. Чтобы ослабить противоречие между этими двумя параметрами, большинство компьютеров использует несколько уровней кэша, когда после маленьких и быстрых кэшей находятся более медленные большие кэши (в настоящий момент — суммарно до 3 уровней в иерархии кэшей) .
В единичных случаях реализуют 4 уровня кеш-памяти. [4][5]
Многоуровневые кэши обычно работают в последовательности от меньших кэшей к большим. Сначала происходит проверка наименьшего и наибыстрейшего кэша первого уровня (L1), в случае попадания процессор продолжает работу на высокой скорости. Если меньший кэш дал промах, проверяется следующий, чуть больший и более медленный кэш второго уровня (L2), и так далее, пока не будет запроса к основному ОЗУ.
По мере того, как разница задержек между ОЗУ и быстрейшим кэшем увеличивается, в некоторых процессорах увеличивают количество уровней кэша (в некоторых — до 3х уровней на кристалле) . К примеру, Alpha 21164 в 1995 году имела накристалльный кэш 3го уровня в 96 КБ; IBM POWER4 в 2001 году имел до четырех кэшей L3 по 32 МБ [6] на отдельных кристаллах, используемых совместно несколькими ядрами; Itanium 2 в 2003 году имел 6 МБ кэш L3 на кристалле; Xeon MP под кодом «Tulsa» в 2006 году — 16 МБ кэша L3 на кристалле, общий на 2 ядра; Phenom II в 2008 году — до 6 МБ универсального L3 кэша; Intel Core i7 в 2008 году — 8 МБ накристалльного кэша L3, являющимся инклюзивным и разделяемым между всеми ядрами. Польза от кэша L3 зависит от характера обращений программы в память.
Наконец, с другой стороны иерархии памяти находится регистровый файл самого микропроцессора, который можно рассматривать как небольшой и самый быстрый кэш в системе со специальными свойствами (например, статическое планирование компилятором при распределении регистров, когда он располагает данные из ОЗУ на регистр) . Подробнее см loop nest optimization. Регистровый файлы также могут иметь иерархию: Cray-1 (в 1976 году) имел 8 адресных «A»-регистров и 8 скалярных «S»-регистров общего назначения. Также машина содержала набор из 64 адресных «B» и 64 скалярных «T» регистров, обращение к которым было дольше, но все же значительно быстрее основной ОЗУ. Эти регистры были введены по причине отсутствия в машине кэша данных (хотя кэш команд в машине имелся)
Вики в помощь да ?
Компьютерное железо
зачем нужен кеш первого и второго уровня?
кэш данных для ускорения чтения и записи данных
http://ru.wikipedia.org/wiki/Кэш_процессора
http://ru.wikipedia.org/wiki/Кэш_процессора
Вы тут так выражАааЕетеесь:):):)
нечего хорошего+)
Похожие вопросы
- Зачем нужен кеш l3?Почему всё не поместить только в кеш l2,как это было например в процессоре xeon e5450?l3 не больше!
- Для чего нужен кеш L3 в процессорах?
- для чего нужен кеш на винчестере лудше когда больше или меньше?
- В чем важность второго уровня кэш-памятив процессоре
- Скажите, какой системник самый мощный из данных для игр. первое место ...второе место...
- какой провод нужен для соедин внутр второго ЖД с системой?
- Зачем у новых процессоров cofee lake,comet lake,roket lake(1151v2,1200) кеш на ядро урезали до 2mb,в чём тут прикол?
- что дает процессору кеш 3 уровня и если его нету? это плохо? что дает
- Влияет ли на производительность кеш жёсткого диска? Вот например wd 250 кеш 8 МБ и wd 1000 gb 64 мб?
- Сильно ли кеш браузера расходует ресурс ssd? И ещё парочка вопросов