Влияние суффиксов в памяти на операции кеширования - PullRequest
1 голос
/ 14 марта 2010

В x86 GNU Assembler существуют различные суффиксы для операций, связанных с памятью. E.g.:

movb, movs, movw, movl, movq, movt(?)

Теперь мой вопрос следующий:

Имеет ли суффикс ЛЮБОЕ влияние на то, как процессор извлекает данные из основной памяти, или всегда будет один или несколько 32-битных (x86) фрагментов, загружаемых в кэш?

Каковы эффекты доступа к памяти?

Ответы [ 2 ]

3 голосов
/ 14 марта 2010

Это не влияет на то, как осуществляется доступ к памяти; единственное, что может повлиять на это, это ширина шины данных процессора. Все это влияет на гранулярность операций над данными.

2 голосов
/ 14 марта 2010

Это не "суффиксы". Вы смотрите на шесть различных машинных инструкций. Каждый из них перемещает различное количество данных. Например, movb только перемещает байт.


Хорошо, теперь я вижу, что вы спрашивали о кеше. Всегда будет так, что в кеш перемещаются только полные строки кэша. Например, если кэш имеет ширину 16 байт, то 16 или 32 байта - это то, что будет перемещено из основной памяти (одна или две строки кэша).

Однако то, что перемещается из кэша в регистры, зависит от инструкции.

...