Кэш-память (компьютеры и интернет)

Кэш-память, кэш (cache memory, cache):
  1. в широком смысле, любая память с быстрым доступом, где хранится часть данных с другого носителя с более медленным доступом;
  2. в узком смысле — «сверхоперативный» вид памяти, используемый для повышения скорости доступа микропроцессора к оперативной памяти.

Кэш-память процессора
Если кэш-память располагается между микропроцессором и оперативной памятью, при обращении процессора к памяти сначала производится поиск необходимых данных в кэш-памяти, выполняющей функции буфера между процессором и оперативной памятью. Так как в большинстве случаев эти данные из оперативной памяти предварительно перекачиваются в кэш-память, а время доступа в нее существенно ниже, чем непосредственно в оперативную память, общее время доступа к памяти сокращается. Изготовляется такая кэш-память как правило на базе микросхем типа SRAM. Кэш-памятью комплектуется большинство современных центральных процессоров, начиная с Intel 80386 (первоначально кэш-память располагалась не на самом процессоре как сейчас, а на материнской или на процессорной плате).
Различают следующие виды кэш-памяти процессора:
  • Cache L1 — «кэш-память первого уровня»: промежуточная сверхоперативная память, как правило находящаяся на самом кристалле процессора, в которой размещаются наиболее часто используемые данные. Работает на частоте процессора. Время доступа к этой памяти существенно меньше, чем к данным в основной оперативной памяти. Этим достигается ускорение работы процессора. Из-за ограничений в размерах кристалла процессора и высокого быстродействия этой памяти она имеет небольшую емкость — всего несколько десятков килобайт.
  • Cache L2 — «кэш-память второго уровня»: промежуточная сверхоперативная память, имеющая быстродействие ниже памяти первого уровня, но выше основной оперативной памяти. Ее размер обычно составляет от нескольких сотен килобайт до нескольких мегабайт. Она может выполняться как на том же кристалле, что и процессор, так и в виде отдельных микросхем. В RISC-процессорах зачастую используется L3-кэш и кэш более высоких порядков.
  • Cache L3 — «кэш-память третьего уровня»: промежуточная сверхоперативная память, имеющая быстродействие ниже памяти второго уровня, но выше основной оперативной памяти. Ее размер обычно составляет от одного до нескольких мегабайт. Используется, главным образом, в серверных процессорах (см. Intel Xeon MP). Встречается кэш-память и более высоких уровней (при этом быстродействие памяти каждого последующего уровня меньше каждого предыдущего уровня).
  • D-Cache — сверхоперативная память, используемая для хранения инструкций процессора.

Кэширование жесткого диска
Большинство жестких дисков оснащены собственной кэш-памятью размером от нескольких кмлобайт до нескольких мегабайт (в современных жестких дисках — 2, 4, 8, 16 или 32 Мб). Дисковая кэш-память (disk cache), или кэш-память жестского диска — принцип построения кэш-памяти на основе динамического ОЗУ (см. DRAM), хранящем наиболее часто используемые команды и данные, доступ к которым производится из внешней памяти. Принцип кэширования жесткого диска во многом похож на принцип кэширования, используемый для оперативной динамической памяти, хотя способы доступа к диску и памяти сильно различаются. Если время доступа к любой из ячеек оперативной памяти имеет примерно одинаковое для данного компьютера значение, то время доступа к различным блокам информации на винчестере в общем случае будет различным. Во-первых, нужно затратить некоторое время, чтобы магнитная головка записи-чтения подошла к искомой дорожке. Во-вторых, поскольку при движении головка вибрирует, то необходимо время, чтобы она успокоилась. В-третьих, требуется время, чтобы головка нашла искомый сектор.
При обращении к оперативной памяти могут читаться или записываться только несколько отдельных байтов, в то время как доступ к диску всегда происходит секторами. Если размер сектора в случае использования любой версии DOS составляет 512 байт, то наименьший размер кэш-памяти также должен быть 512 байт. Методы кэширования, используемые для оперативной памяти, применяются и для кэширования информации, хранимой на жестких дисках. Поскольку винчестер является блочно-ориентированным устройством ввода-вывода, то данные передаются блоками определенной длины. Кэш-память диска заполняется не только требуемым сектором, но и секторами, непосредственно следующими за ним, так как известно, что в большинстве случаев взаимосвязанные данные хранятся в соседних секторах. Этот метод известен также как метод опережающего чтения (Read Ahead). При работе с многозадачными системами выгодно иметь винчестер с мультисегментной кэш-памятью, которая для каждой из задач отводит свою часть кэша (сегмент). В адаптивной мультисегментной кэш-памяти для повышения производительности число и размеры сегментов могут изменяться.

Другие виды кэш-памяти
Значительная часть устройств внешней памяти (внешние жесткие диски, приводы CD и DVD), а также периферийные устройства (принтер, сканер) обладают небольшим объемом кэш-памяти (в основном 2, 4, 8 либо 16 Мб), что позволяет увеличить скорость доступа к данным.
Кроме того, кэширование широко распространено в сетевых технологиях, см. Кэш (в сети).
Статья находится в рубриках
Яндекс.Метрика