Este artículo profundiza en el innovador diseño de la memoria del procesador Intel 80386, un componente crucial para su capacidad de ejecutar DOS, aplicaciones como Norton Commander e incluso juegos como Doom. El 80386 introdujo el modo protegido de 32 bits, una característica definitoria, y este análisis se centra en la microarquitectura del 'memory pipeline' que permitía un rendimiento sorprendentemente rápido. A pesar de que la gestión de memoria virtual en papel parece costosa (requiriendo cálculos de direcciones, reubicación de segmentos, verificación de límites, búsqueda en la TLB, y potencialmente múltiples accesos a la tabla de páginas), el 80386 lograba completar el acceso a la memoria en tan solo 1.5 ciclos de reloj.
La clave de esta eficiencia reside en una cuidadosa superposición de la memoria en una 'pipeline', utilizando pre-cálculos, paralelismo y una arquitectura que evita una cadena serial de verificaciones. El microcódigo, que controla el proceso, utiliza instrucciones como 'RD' (lectura de memoria) y 'WR' (escritura de memoria) con retrasos ('DLY') para permitir que la memoria se sincronice. El hardware minimiza el impacto de estas operaciones mediante un camino de direcciones dedicado que añade solo un ciclo adicional.
Un aspecto fundamental es el 'caching' del estado de los segmentos. Cuando un selector se carga en un registro de segmento, la información relevante (base, límite, atributos) se guarda en cachés internos, evitando búsquedas repetidas en las tablas GDT/LDT. Esta optimización es vital tanto en modo protegido como en modo real, donde la segmentación es obligatoria. El artículo explica cómo el microcódigo gestiona la carga de descriptores de segmento, diferenciando entre modo protegido y modo real, y cómo la ausencia de una actualización del límite en modo real permite trucos como el 'unreal mode', que extiende el espacio de direcciones disponible. Finalmente, se destaca la importancia de la verificación paralela de la reubicación y los límites para mantener la eficiencia del sistema.
