1) Что такое кеш?
Кэш память процессора выполняет примерно ту же функцию, что и оперативная память. Только кэш - это память встроенная в процессор. Кэш-память используется процессором для хранения информации. В ней буферизируются самые часто используемые данные, за счет чего, время очередного обращения к ним значительно сокращается. Если емкость оперативной памяти на новых компьютерах от 1 Гб, то кэш у них около 2-8 Мб. Как видите, разница в объеме памяти ощутимая. Но даже этого объема вполне хватает, чтобы обеспечить нормальное быстродействие всей системы. Сейчас распространены процессоры с двумя уровнями кэш-памяти: L1 (первый уровень) и L2 (второй).
http://www.notebook-center.ru/image/upload/news/1192715255.jpg

Кэш первого уровня намного меньше кэша второго уровня, он обычно около 128 Кб. Используется он для хранения инструкций. А вот второй уровень используется для хранения данных, поэтому он больше.

2) Как работает кеш процессора
Без кэш-памяти процессор бы каждый раз запрашивал данные из основной памяти, которые бы затем посылались обратно на обработку процессору. Такой процесс считался бы сравнительно долгим. Суть кэш памяти заключается в том, что это очень быстрая память, которая сохраняет часто используемые данные. Она предназначена для того, чтобы максимально сократить время отклика процессора. Действие для выбора сохраняемых элементов основано на процентном соотношении их использования. Если определённые данные вызывались из памяти пять или более раз, весьма вероятно, что эти данные потребуются снова. Поэтому часто используемые данные сохраняются в кэш памяти.
http://www.xard.ru/post/16932/image.jpg

Давайте проведём параллель между работой кэш-памяти и библиотекой. Представьте себе громадную библиотеку, на которую приходится всего один библиотекарь (подобие процессора компьютера). Читатель приходит в библиотеку и просит дать ему «Властелина колец». Библиотекарь встаёт, направляется к соответствующим полкам (подобие пути, который проходят данные), берет с полки книгу и даёт её читателю. Когда читатель прочтёт книгу, он вернёт её. Без кэш-памяти книга была бы возвращена на полку. Когда придёт другой читатель и попросит ту же книгу, весь процесс повторится и займёт столько же времени.
http://www.centrius.ru/states/th4/article43_clip_image004.jpg

Если бы в библиотеке было своё подобие кэш-памяти, тогда при возвращении книги, её бы положили на полку рядом с библиотекарем. Таким образом, если бы пришёл следующий читатель и попросил «Властелина колец», библиотекарю бы не пришлось никуда ходить, а просто взять книгу со своего стола и дать её читателю. Такая система могла бы заметно сократить время на получение книги читателем. В случае с компьютером кэш-память позволяет намного быстрее получить необходимую информацию для обработки. Компьютер использует свою «логику», чтобы определить, к каким данным доступ происходит чаще всего и помещает их в кэш-память (держит часто читаемую книгу на полке рядом с библиотекарем). Это одноуровневая кэш-память, используемая в большинстве жёстких дисков и других устройствах. Однако процессоры используют двухуровневую систему кэш-памяти. Принципы при этом совершенно одинаковы. Кэш-память первого уровня является самой быстрой и небольшой памятью, а кэш-память второго уровня больше по объёму, но работает медленнее. Хотя в сравнении с основной памятью кэш-память второго уровня быстрее, но меньше. Возвращаясь к аналогии с библиотекой – если теперь читатель вернёт «Властелина колец», книгу поместят на полку рядом с библиотекарем. Но что, если и другие книги становятся популярными, и после каждого возвращения помещаются на ближнюю полку библиотекаря при этом популярность «Властелина колец» стала немного меньше? Тогда «Властелин колец» уберут с полки библиотекаря в шкафчик, расположенный немного дальше от библиотекаря, чем его полка. Теперь, если придёт читатель и попросит «Властелина колец», библиотекарь сначала поищет эту книгу на полке и убедится, что её там нет. Затем он будет искать книгу в шкафчике неподалеку. То же самое свойственно работе процессора. При запросе данных сначала проверяется кэш-память первого уровня, а затем кэш-память второго уровня.