Probablemente ya dijo varias formas en las otras respuestas. En general hoy, pero no necesariamente históricamente, un byte es de 8 bits. La mayoría de las veces tratamos con "memoria direccionable por byte", lo que significa que lo más PEQUEÑO al que podemos acceder con una sola dirección es un byte. Pero eso no significa que sea lo ÚNICO que podamos abordar. Dependiendo de la plataforma, se puede usar una sola dirección para acceder a un byte, una media palabra / palabra (16 bits), una palabra / palabra doble (32 bits) y así sucesivamente 64 bits. La instrucción básicamente determina cuál es el tamaño del acceso deseado (8,16,32,64, etc.) generalmente en las unidades 8, 16, 32, 64. Pero eso no es difícil y rápido, "depende".
Además, según el diseño del procesador y / o sistema, no hay razón para suponer que el tamaño del acceso es el tamaño de la memoria o el tamaño del acceso más pequeño. Con requisitos cada vez mayores, cada vez tiene menos sentido implementar el sistema de memoria usando el tamaño más pequeño, la computadora en la que está leyendo esto probablemente use un bus de datos de 32 bits de ancho o un bus de datos de 64 bits de ancho para todos los accesos, usted desea leer un byte, hace una lectura de 64 bits y arroja el resto de los bits, por qué no cuesta nada adicional, mantenga el bus tan ancho hasta cerca del núcleo del procesador y el procesador selecciona el carril de bytes correcto. cuesta más lógica y / o relojes para hacer que el bus sea más estrecho o mover los bytes en los carriles de bytes (a veces se hace). así que los carneros internos en un microcontrolador pueden tener 32 bits de ancho, por ejemplo, si eso tiene sentido para el sistema. podría ser 16. Sí, para las escrituras que quemas más ciclos, tienes que leer, modificar y escribir en algún lugar a lo largo de la línea. Desea escribir un solo byte en su PC, en algún lugar ocurre una lectura de 64 bits, y luego se modifica un byte de esos 64 bits, dependiendo de lo que haga después de eso, esos 64 bits pueden volver a salir con solo esos 8 bits diferente de lo que había antes, el almacenamiento en caché y su código hacen que esta no sea una regla genérica. Sin embargo, las escrituras se disparan y se olvidan, el controlador de memoria puede recopilar la dirección y los datos del procesador y permitir que el procesador siga ejecutándose mientras eventualmente realiza los relojes de guardado de escritura, tal vez más relojes que se queman en una lectura-modificación-escritura (si en caché ya),
Incluso hoy en día existen excepciones a casi todo esto, tal vez hay instrucciones o tipos de acceso en algunos sistemas que son poco direccionables, hay algunos sistemas donde la dirección está en unidades de algo distinto de un byte. Un byte no siempre era de 8 bits y tal vez todavía hay sistemas funcionando que es cierto (solíamos usar octal y un byte de 9 bits, una palabra de 18 o 36 bits tiene mucho sentido para los programadores humanos y diseñadores de chips que piensan que octal, un 8 bit tiene mucho sentido para los pensadores hexadecimales).
Ahora, la computadora en la que está leyendo esto, a pesar de que el bus de datos para ese controlador dram puede tener 32 o 64 bits de ancho, el módulo dram en sí está compuesto de múltiples partes de 8 bits de ancho, que puede ver fácilmente. Si tiene 8 o 9 chips en un lado, probablemente sea un bus ancho de 64 o 72 bits (64 bits más 8 bits de ECC) implementado con partes de 8 bits de ancho. Si tiene 4 o 5 chips en un lado del módulo pero todavía tiene toneladas de pines, entonces tiene 32 bits de ancho (poco probable en estos días) o 4 de los chips tienen 16 bits de ancho y si hay un quinto puede tiene 16 bits de ancho y solo se utilizan 8 o es una parte de 8 bits de ancho. También hay partes de 32 bits de ancho, pero 8 bits de ancho es lo más común. Una práctica muy común que se remonta.
Necesitaríamos saber qué microcontrolador. Como menciona 32 bits, es muy probable (sin información detallada, aunque no podemos decir) que la memoria dentro de esa parte tiene 32 bits de ancho, y todos los accesos a ella tienen 32 bits de ancho. las instrucciones probablemente determinarían lo que el programa quiere, que probablemente ofrece un tipo de acceso de 8 bits, 16 bits y 32 bits, las más pequeñas en las escrituras requerirían una lectura-modificación-escritura en alguna parte, lee simplemente ignorando los carriles de bytes. Lo mismo ocurre con el flash, aunque las escrituras flash son otro tema. Pero el flash interno es más probable que tenga 32 bits de ancho y todas las lecturas están en unidades de 32 bits. Sin embargo, un flash externo, esa es otra historia, lo más probable es que tengan un bit de ancho (spi o i2c), aunque las partes spi a veces pueden admitir 1, 2 o 4 bits, pero un pin de miso es más común. Internamente están organizados en unidades de bytes, podría tener 8 bits de ancho o 16 o 32, o quién sabe, sin embargo, se desplaza y se dirige a ellas en unidades de bytes. con spi puede cambiar entre un byte y toda la memoria en una sola transacción, depende del diseño de la parte flash.