DLX
ElDLXes unmicroprocesadorRISCdiseñado porJohn HennessyyDavid A. Patterson,los diseñadores principales de la arquitecturaMIPSy deBerkeley RISC(respectivamente), los dos ejemplos de la arquitectura RISC. El DLX es básicamente unMIPSrevisado y simplificado con una arquitectura simple de carga/almacenamiento de 32 bits. Pensado principalmente para propósitos educativos, se utiliza ampliamente en cursos de nivel universitario sobrearquitectura de computadores.
Las instrucciones DLX se pueden separar entipo R,tipo Iytipo J.Las instrucciones de tipo R son instrucciones deregistropuras, con un operando y tres registros contenidos en la palabra de 32 bits. Las de tipo I son similares, pero solo incluyen un registro, y usan los otros 16bits empleados en las de tipo R para indicar los otros dos registros para almacenar valores inmediatos. Por último, las de tipo J sonsaltos,conteniendo un operando y una dirección de 26 bits.
Losopcodestienen una longitud de 6 bits, lo que hacen un total de 64 posibles instrucciones básicas. Hacen falta 5 bits para seleccionar uno de los 32 registros. En el caso de las instrucciones de tipo J solo 18 de los 32 bits de la palabra son usados, lo que implica que los 6 bits más bajos se puedan emplear para indicar "instrucciones extendidas". Esto permite al DLX más de 64 instrucciones, siempre y cuando solo trabajen con registros. Es útil para, por ejemplo, el soporte deUnidad de coma flotante.
El DLX, como el MIPS, basa su rendimiento en el uso de lasegmentación de cauceo pipeline. En el diseño DLX es un ejemplo sencillo, un concepto clásico del RISC. La segmentación de cauce tiene cinco etapas:
- IF - Unidad de obtención de instrucción. Típicamente referida como la "unidad de carga" en terminología moderna.
- ID - Unidad de decodificación de instrucción. Esta unidad toma la instrucción del IF, y extrae el opcode y los operandos. También obtiene los valores en registros si es necesario.
- EX - Unidad de ejecución. Ejecuta la instrucción, normalmente referido comoALUen terminología moderna.
- MEM - Unidad de acceso a memoria. Obtiene datos de la memoria, Controlada desde el ID y el EX.
- WB - WriteBack unit. Llamada a la unidad de almacenamiento en terminología moderna.
En el diseño MIPS original uno de los métodos para ganar rendimiento era forzar la finalización de cada instrucción en un ciclo, forzando al compilador a insertar instrucciones NOP en los casos en los que la instrucción fuera a tardar más, como por ejemplo, en accesos a memoria.
En el DLX se usó una aproximación más moderna a instrucciones largas, utilizando un sistema de reenvío de información (data-forwarding) e instrucciones de reordenación. Así las instrucciones que tardan más en ejecutarse son "retenidas" en sus unidades y reinsertadas en la cadena de ejecución cuando se completan. Externamente parece que la ejecución se realizara de forma lineal.
Véase también
[editar]Enlaces externos
[editar]- The DLX Processor(en inglés)
- DLX explained(en inglés)
- DLX instructions(en inglés)