El Ingenioso 'Barrel Shifter' del Intel 80386 Revelado

Fuentes: 80386 Barrel Shifter

Este artículo detalla el análisis de un desarrollador sobre el funcionamiento interno del 'Desplazador de Barril' (Barrel Shifter) del procesador Intel 80386. El Desplazador de Barril es un circuito que permite realizar desplazamientos y rotaciones de bits en un solo ciclo de reloj. El desarrollador, a través de la reconstrucción del núcleo del 80386 en SystemVerilog y el análisis del microcódigo original, ha descubierto cómo el hardware utiliza una configuración ingeniosa para manejar diversas operaciones de desplazamiento y rotación, incluyendo las instrucciones 'rotate-through-carry'. La clave reside en que todas las operaciones se reducen a desplazamientos a la derecha, manipulando la configuración de los bits de entrada para simular diferentes comportamientos. El artículo también explora el microcódigo utilizado para controlar el Desplazador de Barril, revelando su eficiencia y complejidad.