Кэширование

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

Кэш-память – очень быстрое запоминающее устройство (время выборки из ОЗУ 60-70 нс, из кэша - 10-20нс, т.е. в 3-4 раза быстрее)

Идея

• Команды из ОП выбираются и пересылаются в процессор, а их копии помещаются в кэш.

• Данные из основной памяти также пересылаются в процессор, а их копии помещаются в кэш.

• Если команда или данные понадобятся еще раз, они будут прочитаны не из памяти, а из кэша (например, циклы).

• Внутренняя скорость выполнения команд, прочитанных из такого кэша (на одном кристалле с процессором) выше, чем скорость выборки команд и данных из ОП.

Обычно в компьютере имеется два уровня кэш-памяти.

• Первичный кэш располагается на микросхеме процесcора, называется кэшем первого уровня (L1)

• Вторичный кэш располагается между первичным кэшем и остальной памятью, имеет больший объем и называется кэшем второго уровня (L2).

1. Быстрее всего осуществляется доступ к данным, хранящимся в регистрах процессора (самый маленький объем)

2. Кэш процессора (L1) – небольшой объем

3. Вторичный кэш (L2) – объем больше

4. Основная память (ОП) – значительно больше и намного медленнее кэша (в типичном компьютере время доступа к ОП в 10 раз дольше времени доступа к кэшу L1).

5. Дисковая память – огромный объем недорогой памяти. Очень медленные операции.

Управление иерархией памяти:

· «Идея управления иерархической системой памяти состоит в том, чтобы переместить команды и данные, которые будут использоваться в ближайшее время, как можно ближе к процессору.»

· Каждый элемент, к которому обращается процессор помещается в кэш и остается там (локализация по времени).

· Копируется не только сам элемент программы или данных, но несколько близлежащих (локализация в пространстве).

· «Когда кэш полон и обращение происходит к отсутствующему слову памяти, принимается решение какой из блоков удалить из кэша, чтобы добавить новый блок, содержащий требуемое слово.»

3Для 486 процессора используется общая кэш память для данных и программы (неразделенная кэш память). Размер кэш памяти 8 килобайт. Процессор выполняет команды и работает с данными из кэша. Если данное (команда) не находятся в кэш памяти, оно загружается, при этом требуется дополнительное время. Ввиду ограниченного размера кэш памяти, штрафы (промахи кэша), связанные с отсутствием данных (команд), достаточно часто возникают. Для PENTIUM используется разделенная кэш память, т.е. отдельный кэш для команд и данных. Для PENTIUM размер внутреннего кэша 16 килобайт. Для PENTIUM PRO внешний кеш расположен на одной системной плате с процессором. Размер кэша для PENTIUM PRO может достигать 512 килобайт. Для доступа к памяти используется 64 битная шина для PENTIUM и 128 битная для PENTIUM PRO.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: