CPU Cache управляется каким программным компонентом?

9

Кэши ЦП используются путем использования временной и пространственной локальности. Мой вопрос: кто отвечает за управление этими кешами? Является ли эта операционная система идентифицирующей конкретный шаблон доступа и затем управляющей (т.е. хранящей данные в) кэш-памяти, используя низкоуровневые вызовы функций ОС?

gpuguy
источник
Если бы кеши управлялись программным обеспечением, ЦП не делали бы что-либо с точки зрения времени; Кроме того, не будет ли это подвох 22?
Рафаэль

Ответы:

8

В кэш процессора ручки каждый и каждый доступ к памяти, то есть слишком быстро , чтобы быть под контролем программного обеспечения. Он полностью встроен в аппаратное обеспечение, либо на самом чипе процессора, либо на материнской плате.

vonbrand
источник
12

Кэши ЦП работают с того самого момента, когда процессор включен. Ни BIOS, ни ОС строго не являются «необходимыми» для управления кэшем. BIOS и ОС могут изменять настройки конфигурации кэша в ЦП, но они не управляют нормальной работой, все это встроено в сам ЦП.

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

Это полностью зависит от вашей аппаратной платформы (например, Nios® II предоставляет некоторые инструкции по управлению кэшем). Вы должны прочитать инструкцию и язык ассемблера . Некоторые процессоры предоставляют вам некоторые инструкции для управления кешем на определенном уровне. например, WBINVD обеспечивает обратную запись и очистку внутренних кэшей; инициировать обратную запись и сброс внешних кэшей (или INVD ).

Реза
источник