Я знаю, что кэш - это рабочая память, которая быстрее оперативной, но в моей системе ее всего 3 МБ, и большинству программ потребуется больше рабочей памяти, чем 3 МБ.

Так что это заставляет меня задуматься, для чего используется кеш в моей системе.

1 ответ1

3

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

В большинстве современных настольных и серверных ЦП имеется по крайней мере три независимых кэша: кэш команд для ускорения выборки исполняемых команд, кэш данных для ускорения выборки и хранения данных и буфер преобразования просмотра (TLB), используемый для ускорения виртуального обмена данными. преобразование физического адреса для исполняемых инструкций и данных. Кэш данных обычно организован в виде иерархии с большим количеством уровней кэша (L1, L2 и т.д.).

Рабочая память - это фактические данные, используемые вашим приложением (а также копия самого исполняемого файла; который в старые времена вы могли свободно изменять во время выполнения, кстати). Это единственное, что вам действительно нужно беспокоиться, как пользователь компьютера. Он хранится в основной памяти, которая (почти всегда) представляет собой другой физический объект на вашем компьютере.

Все кеши, о которых я здесь говорил, находятся на вашем ЦП (поэтому они быстрее обращаются к ЦП, чем к вашим модулям ОЗУ; именно здесь нужно искать, не может ли он найти то, что ему нужно в кеше), Помните, однако, что кеш слов - это очень общий термин. В вычислениях у нас есть кэши повсюду, поэтому вам нужно быть конкретным, когда вы говорите о кэшах.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .