Будет обрабатывать загрузку в память с правилом выравнивания 4 или 8 - PullRequest
0 голосов
/ 20 октября 2019

Я только что узнал о 4 или 8 выравнивании памяти и пришел к этому вопросу.

Произойдет ли выравнивание памяти в виртуальной памяти или в абсолютных адресах?

Полагаю, ответ - виртуальная память, И ОС загрузит процесс в положение, в котором абсолютный адрес оканчивается на «0X00» или «0X0».

Если нет, пожалуйста, покажите мне, почему. Большое спасибо. XD

1 Ответ

0 голосов
/ 20 октября 2019

Виртуальные и фактические адреса будут выровнены по слову к собственному размеру слова ЦПУ, где это уместно (*). (Причиной этого является то, что виртуальное сопоставление с физическим выполняется на каждой странице, а размер страницы памяти всегда кратен собственному размеру слова ЦП).

(*) исключение будет для элементов, которые меньше чем слово, и упакованы последовательно для экономии памяти;например, многие из отдельных элементов в массивах char и uint_8 не обязательно будут выровнены по словам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...