Considere el siguiente cableado de un microcontrolador a un chip sram:
uC SRAM
A0 --> A3
A1 --> A0
A2 --> A1
A3 --> A2
A4 --> A4
.. --> ..
A15 --> A15
Como puedes ver, algunos de los bits de dirección están intercambiados.
Entonces, cuando se trata de leer / escribir la memoria, ¿no habrá errores? Por ejemplo:
Address Microcontroller Address Chip Contents
0000 0000 H
0001 1000 e
0010 0001 l
0011 1001 l
0100 0010 o
0101 1010
0110 0011 !
0111 1011 \0
Así que... desde el lado del microcontrolador las direcciones son todas ascendentes, pero como puedes ver en realidad, el uC se dirige a varios lugares de la memoria en el sram.
¿Es esto un problema? Creo que con UN microcontrolador que utilice la memoria: no, ya que el microcontrolador puede, no obstante, obtener los datos en el orden adecuado (aunque no lo haga desde la observación exterior). Pero creo que con dos o más microcontroladores esto podría convertirse en un problema SI los bits de dirección no están conectados de la misma manera.
Conclusión:
Mientras cada dirección sea distinta de otra, no habrá problemas de lectura/escritura. (¡Teniendo en cuenta que hay un solo microcontrolador utilizando la memoria!)
Y: Mientras cada bit de datos sea distinto de los otros bits de datos, no habrá problemas de lectura/escritura. (¡Considerando UN microcontrolador usando la memoria!).
Así que mi pregunta final es: ¿es correcta mi comprensión de este problema o me estoy perdiendo algo? No he podido encontrar nada en Internet sobre este problema.
0 votos
Creo que algunos sistemas de cartuchos utilizaban un ordenamiento no estándar como una forma de protección de ingeniería de copia/reversión.
2 votos
@pjc50: No creo que la ordenación no estándar sea especialmente efectiva en ese sentido. Es posible que algunos sistemas lo usen con ese fin, pero creo que una razón más probable para usar un ordenamiento no estándar sería facilitar la disposición.
1 votos
La SRAM suele estar bien. Algunos esquemas de refresco de la DRAM dependen del acceso a las ubicaciones de dirección seleccionadas dentro de ciertos períodos. Si no se hace así, se pierden datos. || He visto sistemas con direcciones o bits de datos reordenados por diversas razones.