Понимание местоположения кэша данных в коде mips - PullRequest
0 голосов
/ 26 мая 2019

Я просматривал stackoverflow, но не смог найти пример, относящийся к этому.Я понимаю концепцию временной и пространственной локальности для кэша данных :

локальность Temporarl: адрес повторно

пространственная локальность: каждый раз доступ к памяти x разхит

Но как это выглядит в коде mips?Кто-нибудь может привести конкретные примеры и показать, как это работает?

1 Ответ

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

Пространственные и временные местоположения не связаны с конкретной архитектурой, мипами или другой.Это скорее свойство программ и того, как они обрабатываются на компьютере.

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

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

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

Это свойство связано с тем, что многие конструкцииязыков программирования соответствуют данным, хранящимся в последовательных ячейках памяти.Сюда входят:

  • элементы массива

  • поля структуры

  • локальных переменных, которыенаходятся в последовательных адресах в стеке

  • параметр функции, которые также находятся в стеке

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

...