Что процессор * действительно * делает во время инструкций памяти?

391
Guru Prasad

Недавно я тестировал модуль linux cpufreq и заметил, что независимо от того, выполнял ли я тест с интенсивным использованием процессора или тест с интенсивным использованием памяти, модуль cpufreq всегда выбирал максимальную частоту.

Я понимаю, что регулятор играет важную роль в определении настроек частоты. Таким образом, я протестировал его как с регулятором ondemand, так и с консервативными регуляторами, и обнаружил, что результаты практически одинаковы (консервативный метод незначительно поднимается до максимальной частоты, тогда как ondemand сразу же выбирает максимальную частоту).

Это подняло вопрос относительно того, что процессор фактически делает во время загрузки / хранения. Все мы знаем, что память работает значительно медленнее, чем ЦП, и инструкции загрузки / сохранения обычно занимают несколько циклов ЦП.

редактировать : я понимаю, что многие такие инструкции загрузки / хранения, вероятно, попадут в кэш. А как насчет тех, которые этого не делают?

Что на самом деле делает процессор во время этих циклов? Это занято или ждет?

0

1 ответ на вопрос

2
tay10r

Термины CPU, процессор и процессорное ядро ​​являются ключевыми в вашем вопросе. Вы, вероятно, хотите спросить, что на самом деле делает ядро процессора, пока оно ожидает память.

В большинстве современных процессоров Intel он начинает выполнять другую ветвь инструкций. Это называется гиперпоточностью .

В большинстве других процессоров он по существу проводит время в состоянии ожидания.

Просто чтобы добавить к гиперпоточности: если один из протекторов должен ждать память, а другой - нет, тогда он действительно выполняет другой протектор. Если оба делают вещи, не связанные с памятью, нужно подождать (в конце концов, есть только одно ядро, несмотря на то, что оно показывает два шага). Если оба должны получить доступ к не кешированной памяти, оба ждут. Hennes 11 лет назад 0
Я проводил симуляцию при очень строгих параметрах, которые включали одно ядро ​​в конвейере заказа. У меня нет гиперпоточности на моем процессоре. Учитывая эти условия, что процессор будет наиболее вероятно делать во время загрузки / хранения? Guru Prasad 11 лет назад 0
@ user1761555 * он по существу проводит время в состоянии ожидания. * tay10r 11 лет назад 0

Похожие вопросы