Наверное, уже говорили разные способы в других ответах. В целом сегодня, но не обязательно исторически, байт равен 8 битам. Большую часть времени мы имеем дело с «байтовой адресуемой памятью», то есть САМЫЙ МАЛЕНЬКИЙ предмет, к которому мы можем получить доступ с одного адреса, это байт. Но это не значит, что это ЕДИНСТВЕННАЯ вещь, к которой мы можем обратиться. В зависимости от платформы для доступа к байту, полуслову / слову (16 битов), слову / двойному слову (32 бита) и т. Д. По 64 битам можно использовать один адрес. Инструкция в основном определяет размер желаемого доступа (8, 16, 32, 64 и т. Д.) Обычно в этих блоках 8, 16, 32, 64. Но это не сложно и быстро, «это зависит».
Также в зависимости от конструкции процессора и / или системы нет оснований предполагать, что размер доступа равен размеру памяти или размеру наименьшего доступа. При больших и больших требованиях становится все меньше смысла со временем внедрять систему памяти, используя наименьший размер, компьютер, на котором вы читаете это, вероятно, использует шину данных 32-битной ширины или шину данных 64-битной ширины для всех обращений. Если вы хотите прочитать один байт, он выполняет 64-битное чтение и отбрасывает остальные биты, поэтому он не стоит ничего лишнего, оставляя шину настолько широкой вплоть до ядра процессора, и процессор выбирает правильную полосу байтов. стоит больше логики и / или тактов, чтобы сделать шину более узкой или переместить байты в байтовых дорожках (иногда это делается). таким образом, внутренняя память в микроконтроллере может иметь ширину 32 бита, например, если это имеет смысл для системы. может быть 16. Да, для записи вы записываете больше циклов, вы должны прочитать-изменить-записать где-нибудь вдоль строки. Хотите записать один байт на вашем компьютере, где-то происходит 64-битное чтение, а затем где-то один байт из этих 64 битов изменяется, в зависимости от того, что вы делаете после этого, эти 64 бита могут возвращаться для воспроизведения только с этими 8 битами в отличие от того, что было раньше, кэширование и ваш код делают это не общим правилом. Операции записи запускаются и забывают, однако, контроллер памяти может собирать адрес и данные от процессора и позволить процессору продолжать работу, пока он в конечном итоге выполняет часы, сохраняющие запись, возможно, большее количество часов, которые записываются при чтении-изменении-записи (если уже в кеше),
Даже сегодня есть исключения из всего этого, возможно, есть инструкции или типы доступа в некоторых системах, которые являются адресно-битными, есть некоторые системы, где адрес находится в единицах чего-то, отличного от байта. Байт не всегда был 8-битным, и, может быть, все еще работают системы, и это правда (мы привыкли использовать восьмеричное и 9-битное 18-битное или 36-битное слово, что имеет большой смысл для программистов и разработчиков микросхем, которые думают, что восьмеричное, 8 бит имеет большой смысл для шестнадцатеричных мыслителей).
Теперь компьютер, на котором вы читаете это, даже если шина данных для этого контроллера драмы может иметь ширину 32 или 64 бита, сам фактический модуль драм, вероятно, состоит из нескольких частей шириной 8 бит, которые вы можете легко увидеть. Если он имеет 8 или 9 микросхем на одной стороне, то, вероятно, это шина шириной 64 или 72 бита (64 бита плюс 8 бит ECC), реализованная с частями шириной 8 бит. Если у вас есть 4 или 5 микросхем на одной стороне модуля, но при этом все еще имеется тонна выводов, то это либо 32-битная ширина (маловероятно в наши дни), либо 4 из 16-битных, а если есть 5-я, это может быть 16 бит в ширину и только 8 используются или это 8-битная часть. Также есть 32-битные детали, но 8-битная - самая распространенная. Очень распространенная практика, уходящая далеко назад.
Нам нужно знать, что такое микроконтроллер. Поскольку вы упоминаете 32-битную версию, вполне вероятно (без подробной информации, хотя мы не можем сказать), что память внутри этой части имеет ширину 32 бита, и все обращения к ней имеют ширину 32 бита. инструкции, скорее всего, определят, чего хочет программа, которая, вероятно, предлагает 8-битный, 16-битный и 32-битный тип доступа, меньшие при записи потребуют где-то чтение-изменение-запись, читает, вы просто игнорируете байтовые дорожки. То же самое относится и к флэш-памяти, хотя флэш-записи являются другой темой. Но внутренняя флэш-память, скорее всего, имеет ширину 32 бита, и все операции чтения выполняются в единицах по 32 бита. Хотя внешняя вспышка - это другая история, скорее всего, они имеют ширину в один бит (spi или i2c), хотя части spi могут иногда поддерживать 1, 2 или 4 бита, но один вывод мисо является наиболее распространенным. Внутренне они организованы в единицах байтов, может быть шириной 8 бит или 16 или 32, или кто знает, вы все же смещаете и адресуете их в единицах байтов. с помощью spi вы можете перемещаться в любом месте между одним байтом и всей памятью за одну транзакцию, в зависимости от конструкции части флэш-памяти.