В чем разница между пространством подкачки и кэшем процессора? - PullRequest
0 голосов
/ 05 мая 2019

Когда я гуглил TLB и CPU кэш, я нашел этот график.enter image description here

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

Ссылка: Какая разница между процессором-кэшем-и-tlb

1 Ответ

2 голосов
/ 05 мая 2019

все в кэше ЦП отличается / отличается от пространства подкачки.Аппаратное управление по сравнению с управляемым ПО, в реальном времени и даже «дальше», чем DRAM.

Если вы рассматриваете старый способ работы с виртуальной памятью (в те времена, когда рекомендовалось иметь пространство подкачки = 2xDRAM), и у вас есть ОС, которая действительно выделяет пространство подкачки в качестве резервной копии для всех выделений виртуальной памяти:

Я полагаю, вы можете рассматривать основную память как резервное хранилище для кэша ЦП, аналогично тому, как пространство подкачкиявляется резервным хранилищем для анонимных страниц памяти.(т. е. это не связано с памятью файла на диске.)

Ручная программно-управляемая и программно-видимая природа сбоев страниц означает, что между ними есть существенные различия.

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

...