Кэш команд хранит набор инструкций, которые необходимы для процессора вычислений; в то время как кэш данных сохраняет значения, которые необходимы для текущего исполнения. Кэш L2 несет ответственность за загрузку данных из основной памяти. Опять же, возвращаясь к нашей библиотеке, например, рассмотреть ящик библиотекаря как кэш L1. На любой напряженного дня, когда спрос на книги высока и библиотекарь уже хранится много книг в ящике, есть вероятность, что он может получить полный довольно быстро. Это где кэш L2 приходит в картине. Рассмотрим шкаф возле стола библиотекаря как кэш-памяти L2.
Когда ящик заполняется, библиотекарь начинает хранения книг в книжном шкафу. Теперь, когда есть спрос на какой-то популярной книги, библиотекарь сначала смотрит в ящике; если книга не найден, она ищет его в шкафу. Аналогичным образом, когда L1 кэш заполнен, данные хранятся в кэше L2. Процессор сначала ищет данные в кэше L1, и если он не найден, то только L2 ищется. Если данные не найдены в L2, а также поездка в основной памяти inevitable.
Is реализации более кэш хорошая идея? И да и нет Реализация больше кэш-памяти позволит вам получить данные быстро, только в случаях, когда данные доступны в любом L1 или L2. Возвращаясь к нашей библиотеке, например. Если человек просит популярную книгу, которая хранится не в ящике библиотекаря или книжный шкаф; она сначала ищет его в ящик, а затем в книжный шкаф. Таким образом, много времени тратится, прежде чем она, наконец, получает его с полки.
Аналогичным образом, процессор сначала проверяет в L1, а затем, в L2, и когда элемент не найден в любом кэше, то только посылает запрос к оперативной памяти. Как вы, должно быть, понял,, много процессорного времени тратится впустую, в поисках пункта в двух воспоминаний кэша. Когда процессор находит нужный пункт данных в любой из воспоминаний кэша, "кэше", как говорят, произошло; в других случаях, которых происходи