У меня вопрос, как процессор записывает данные в оперативную память?
Насколько я понимаю, современные процессоры используют разные уровни кеша для ускорения доступа к оперативной памяти. ОЗУ получает команду для получения информации, а затем отправляет пакет данных в ЦП, который сохраняет требуемые данные (и набор дополнительных данных, которые были близки к адресу, который требуется ЦП) в кэш-память высшего уровня, после чего ЦП постепенно запрашивает различные кеши для отправки меньших и меньших порций данных по уровням кешей, пока они не попадут в кеш уровня 1, который затем будет считан непосредственно в регистр ЦП.
Как этот процесс работает, когда процессор записывает в память? Идет ли компьютер назад вниз по уровням кэша (в обратном порядке по сравнению с чтением)? Если да, то как насчет синхронизации информации в разных кешах с основной памятью? Кроме того, как скорость операции записи по сравнению со скоростью чтения? Что произойдет, если я постоянно пишу в ОЗУ, например, в случае сортировки по сегментам?
Заранее спасибо,
-Faken
Изменить: я до сих пор не получил ответ, который я могу полностью принять. Я хочу знать особенно о части синхронизации записи в ОЗУ. Я знаю, что мы записываем данные в кэш L1 непосредственно из ЦП, и данные сбрасываются на уровни кеша, когда мы синхронизируем различные уровни кеша, и в конечном итоге основная ОЗУ синхронизируется с кешем самого высокого уровня. Однако я хотел бы знать, КОГДА кэши синхронизируются и синхронизируются с основной оперативной памятью, и какова их скорость по отношению к командам чтения.
источник