Я вполне понимаю, что означает 32- или 64-битная система. так что в основном все регистры или длина слова 32 или 64 бита.
Для простоты возьмем 32-битную систему и скажем, что я пишу программу на C. Если я объявлю тип int, скажем, "int a = 5;" тогда ячейка памяти длиной в одно слово резервируется для var a. поэтому, когда я хочу получить к нему доступ, я могу сделать это, используя адрес слова для этой ячейки памяти.
Но скажем, у меня есть 4 символа " char a,b,c,d;" поскольку это один байт, каждый из них помещается в одно слово, так что мне делать, если я хочу получить доступ только к char b? (говоря, что память адресуется по байтам), теперь скажем, что b - это третий байт в слове... .тогда как он попадает в автобус? разве 3-й байт жестко не подключен к 17-й и 24-й линиям шины? так что же происходит с остальными 24 строками, когда осуществляется доступ только к b?