Когда процессору необходимо выполнить чтение или запись в какое-либо место в основной памяти, он сначала проверяет, находится ли копия этих данных в кэше. Если это так, процессор сразу читает или записывает в кеш, что намного быстрее, чем чтение или запись в основную память.
В большинстве современных настольных и серверных ЦП имеется по крайней мере три независимых кэша: кэш команд для ускорения выборки исполняемых команд, кэш данных для ускорения выборки и хранения данных и буфер преобразования просмотра (TLB), используемый для ускорения виртуального обмена данными. преобразование физического адреса для исполняемых инструкций и данных. Кэш данных обычно организован в виде иерархии с большим количеством уровней кэша (L1, L2 и т.д.).
Рабочая память - это фактические данные, используемые вашим приложением (а также копия самого исполняемого файла; который в старые времена вы могли свободно изменять во время выполнения, кстати). Это единственное, что вам действительно нужно беспокоиться, как пользователь компьютера. Он хранится в основной памяти, которая (почти всегда) представляет собой другой физический объект на вашем компьютере.
Все кеши, о которых я здесь говорил, находятся на вашем ЦП (поэтому они быстрее обращаются к ЦП, чем к вашим модулям ОЗУ; именно здесь нужно искать, не может ли он найти то, что ему нужно в кеше), Помните, однако, что кеш слов - это очень общий термин. В вычислениях у нас есть кэши повсюду, поэтому вам нужно быть конкретным, когда вы говорите о кэшах.