СообЧа > База Знаний > Железо > CPU

Вопрос

Что такое КЕШ у процессора? Вроде, есть два уровня этого кеша, зачем они и что это такое?

Ответ

Процессорный кэш — статическая быстродействующая память. Из-за того, что сейчас большой разрыв в частоте между CPU и оперативной памятью (считай 5 — 10 раз), для ускорения работы с памятью используют кэши. Процессор содержит два кэша — L1 внутренний и L2 внешний. На общую производительность влияет размер L2. Чем больше L2, тем дороже процессор, т.к. память для кэша еще очень дорога. Поэтому эффективнее увеличивать частоту кэша, а для этого он должен находиться как можно ближе к ядру процессора. Соответственно существует три способа подключения L2 кэша:

по шине памяти — L2 находиться на матери и подключается по шине памяти (которая тоже находиться на матери) также как и оперативная память — самый старый и медленный способ, характерный для первых пеньков и АMD К6-2;
по отдельной шине — для L2 выделяется отдельная шина — BSB (Back Side Bus) или шина заднего плана более скоростная, чем шина памяти и работает на половине частоты ядра процессора, шина памяти стала называться FSB (Front Side Bus) или шина переднего плана. Шина кэша и памяти действуют независимо друг от друга. Производительность возросла в 2 раза. Используется процессорами Р-II и P-III, у которых BSB работает на половине внутренней частоты ядра, и AMD K7 (может работать и на 1/3 частоты — для высоких частот). Кэш L2 располагается в непосредственной близости от процессора — для уменьшения времени доступа к кэшу.
Кэш L2 интегрирован в ядро процессора — шина BSB встроена в ядро процессора, что дает возможность работы кэша на внутренней частоте ядра процессора — дало дополнительный прирост производительности и в связи с чем стало возможным для уменьшения стоимости процессора уменьшить размер L2 до 128 Kb — впервые применила фирма Intel в процессорах Celeron и AMD в K6-III (256 Kb).

Axel

В процессоре P4 кэш L1 разделен на 3 части:

Самая удаленная от ядра. Выполняет функции предварительного декодирования с целью маркирования границ команд.
Кроме основных функций декодирует команды с целью выявления среди них тех, для выполнения которых необходимы данные из памяти. Эти данные «заказываются» заранее и хранятся в кэше данных.
Кэш трассировки. Он хранит обработанные части команды (на каждом этапе конвейера) и в этом случае некоторые команды вообще не нужно выполнять.
Таким образом в этом проце получается кэши L2, L1, L0, L-1 и L-2 ;)

Nemo



Copyright © 2000-2004 Сообщество Чайников
Контактная информация