Я понимаю, что означает доступ к памяти так, что она выровнена, но я не понимаю, почему это необходимо. Например, почему я могу получить доступ к одному байту с адреса 0x…1
, но я не могу получить доступ к полуслову (два байта) с того же адреса.
Опять же, я понимаю, что если у вас есть адрес A
и объект размера s
, то доступ выравнивается, если A mod s = 0
. Но я просто не понимаю, почему это важно на аппаратном уровне.