Significa que en 8086, las direcciones utilizadas en los programas (la dirección lógica o virtual como la llama) son de 16 bits, pero la dirección real que 8086 envía a la RAM es de 20 bits.
¿Por qué? Porque 16 bits = 64 KB de espacio de direcciones donde 20 bits de dirección = 1 MB de memoria. Por lo tanto, puede direccionar más memoria de la que es posible con un direccionamiento simple de 16 bits (16 veces más memoria en este caso).
¿Cómo? Recordemos el esquema de direccionamiento segmentado en modo real. En 8086, la dirección enviada a RAM = registro de segmento * 16 + desplazamiento (reemplace el registro de segmento y desplazamiento con cs: ip, ds: si, es: di, etc.)
Por lo tanto, aunque los registros de segmento y las compensaciones son de 16 bits, podríamos tener una dirección física de 20 bits de longitud.
(Si observa que multiplicar por 16 es lo mismo que desplazarse a la izquierda por 4. Una dirección de 16 bits desplazada a la izquierda por 4 se convierte en una dirección de 20 bits (el desplazamiento aún no se ha agregado))
- Soy estudiante de primer año de ingeniería y me han interesado los microchips y el ensamblaje de computadoras, etc. Iba a hacer ingeniería electrónica, pero recientemente supe que era un asco en la programación (C ++). ¿Debo elegir la ingeniería eléctrica como mi especialidad?
- Echo de menos Breaking Bad, ¿hay algo para mantener mi obsesión con Walter White?
- ¿Soy el único que piensa que el juego de FIFA 16 es peor que Fifa 14?
- No quiero estar vivo, ¿cómo puedo mejorar?
- Me ha contactado el Departamento de Enfermería Psiquiátrica para desarrollar un tutorial de alfabetización informacional en línea. ¿Cómo procedería un nuevo bibliotecario?