Si un 32 -bit puede manejar aproximadamente 4 GiB de RAM (es decir. \$2^{32} = 4 294 967 296\$ ) bytes, ¿por qué mi Arduino Mega 2560 tiene 8 KiB de SRAM, si siendo un 8 -le permite manejar sólo 256 bytes ( \$2^8\$ )? ¿O estoy leyendo mal la siguiente página?
Respuestas
¿Demasiados anuncios?Wikipedia lo explica bastante bien:
Las CPU de ocho bits utilizan un bus de datos de 8 bits y, por tanto, pueden acceder a 8 bits de datos en una única instrucción de máquina. El bus de direcciones suele ser doble octeto de ancho (es decir, 16 bits), por razones prácticas y económicas. consideraciones prácticas y económicas. Esto implica un espacio de direcciones directas de sólo 64 KB en en la mayoría de los procesadores de 8 bits.
La noción de que la "anchura de bits" de un procesador establece la cantidad máxima de RAM que el procesador puede direccionar es uno de los mitos más extendidos en informática. De hecho, la historia de la industria está plagada de CPU en las que no se cumple esta relación.
HP 21MX, HP 1000: CPU de 16 bits, memoria de hasta 16 MB
PDP-11: CPU de 16 bits, memoria de hasta 4 MB
VAX-11/780: CPU de 32 bits, memoria de hasta 512 MB
etc., etc.
- Ver respuestas anteriores
- Ver más respuestas