Зарегистрируйтесь, чтобы зарегистрировать сравнения

Я изучил, что составляет ЦП и как структурирована память с произвольным доступом, но я не понимаю регистр для регистрации операций сравнения.

"Почему регистр для регистрации операций сравнения обычно быстрее, чем эквивалентная операция для двух записей данных в ОЗУ?"

1 ответ

Доступ к ОЗУ, когда он находится вне кэша, очень медленный. Доступ к данным на вашем модуле DDR3 в несколько сотен раз медленнее, чем доступ к регистрам (или даже кэш-памяти L1). Современные настольные (или серверные, или портативные) процессоры теряют большую часть своего времени для доступа к данным вне своего кэша (L1), например, в модулях памяти DDR3.

Чтобы представить цифры в перспективе: доступ к регистру или кешированным данным L1 занимает максимум несколько циклов (так, на машине с частотой 3 ГГц это обычно означает одну наносекунду). Обработка данных на ваших модулях памяти DDR3 занимает около 200 или 300 наносекунд. За все это время ваш процессор мог выполнить более сотни машинных инструкций.

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

Детали сложны: очень трудно предсказать наихудшее время выполнения небольшой подпрограммы на современных процессорах.

Другие вопросы по тегам