Временная локализация в отношении доступа к данным и временная локализация в отношении выборки данных - PullRequest
1 голос
/ 17 октября 2011

Я застрял с вопросом, который сформулирован ниже,

Опишите общие характеристики и поведение программы, которая будет демонстрировать:
(а) Низкая временная локализация в отношении доступа к данным
(b) Низкая временная локализация по отношению к выборкам команд

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

Ответы [ 2 ]

1 голос
/ 17 октября 2011

Они говорят об оптимизации кэшей для доступа к данным и инструкциям в процессоре. По сути, низкая временная локальность означает, что что-то, что часто используется повторно, но не в одном большом фрагменте (то есть распространяется во времени).

Пример низкой временной локализации:

read file
process data
output result
....
read file
process data
output result
....
read file
process data
output result

Чтобы улучшить это, вы можете изменить порядок так, чтобы все операции чтения выполнялись вместе, вся обработка выполнялась вместе, а все выходные данные выполнялись вместе.

В контексте процессора вы можете сказать, что если вам нужно часто читать память, просто прочитайте ее один раз и кэшируйте, затем сделайте с ней столько, сколько сможете, прежде чем выбросить ее. Для инструкций это означает хранение таких вещей, как зацикленные инструкции, в очень быстром кеше (обычно L1). Для данных это означает кэширование того, что вы используете чаще всего.

См. Эти ссылки для правильного объяснения:
http://www.dotnetperls.com/temporal-locality
http://en.wikipedia.org/wiki/Locality_of_reference#Use_of_spatial_and_temporal_locality:_hierarchical_memory

0 голосов
/ 29 июня 2013
  • Низкая временная локальность для кода означает отсутствие циклов и повторное использование инструкций.
  • Высокая временная локальность для кода означает плотные циклы с большим количеством повторного использования.
  • Низкая пространственная локальность для кодаозначает много переходов в отдаленные места.
  • Высокая пространственная локальность для кода означает отсутствие ветвей / переходов вообще.

СПРАВКА: Организация и дизайн компьютеров: аппаратный / программный интерфейс

...