
Como se prometió la última vez, estamos comenzando un análisis detallado de la Unidad Aritmética y Lógica (ALU).
El contenido general del ciclo “UDB. ¿Qué es esto?
Parte 1. Introducción. Pld.Parte 2. Ruta de datos.Parte 3. Datapath FIFO.Parte 4. Datapath ALU. (Artículo actual)
Parte 5. Ruta de datos. Pequeñas cosas útiles.Parte 6. Módulo de gestión y estado.Parte 7. Módulo de control de temporización y reinicioParte 8. Abordar UDB21.3.2.4 Datapath ALU
El núcleo ALU consta de tres funciones programables independientes de 8 bits: un bloque aritmético / lógico, un bloque de registro de desplazamiento y un bloque de superposición de máscara.
Operaciones aritméticas y lógicas.
Las funciones de ALU seleccionadas dinámicamente usando la RAM de configuración se muestran en la tabla a continuación.
Cuadro 21-8. Funciones de ALU
Llevar en
Llevar en se utiliza en operaciones aritméticas. Como se muestra en la tabla 21-9, existen valores de arrastre predeterminados para ciertas funciones.
Cuadro 21-9. Funciones llevar.
Además de estas aplicaciones aritméticas regulares, hay tres opciones más para usar la separación silábica. Los bits CI SELA y CI SELB establecen las reglas para usar la entrada de entrada para cada medida. Configuración dinámica RAM selecciona la configuración A o B en cada ciclo. Los parámetros se muestran en la tabla 21-10.
Tabla 21-10. Características adicionales llevar.
Si se usa el arrastre, se usa en varias funciones, como se muestra en la tabla 21-11. Tenga en cuenta que para las funciones de disminución y sustracción de unidades, el nivel de transferencia activo es bajo (inverso).
Cuadro 21-11. Trazado Llevar En Características.
Llevar a cabo
Ejecutar: salida opcional de Datapath, formada en base a un bit alto especificado estáticamente. El valor se puede pasar por la cadena a la entrada de transferencia a un bloque anterior. Tenga en cuenta que en el caso de las funciones de disminución y sustracción, la ejecución se invierte.
Cuadro 21-12. Características llevar a cabo.
Estructura de transferencia
Los parámetros
carry y para elegir el bit más significativo, para generar
carry se muestran en la Figura 21-15. Los valores de
ejecución bloqueados se pueden usar como
transferencia para operaciones aritméticas posteriores. Esta característica se puede utilizar para implementar funciones de mayor capacidad utilizando ciclos.
Figura 21-15. Operación de transferencia.Operación de cambio
La operación de cambio ocurre independientemente de la operación de la ALU, de acuerdo con la tabla 21-13.
Cuadro 21-13. Funciones de la operación de turno.
El valor de salida de la operación de cambio se emite con Datapath. Las salidas para desplazarse hacia la derecha (
sor ) y hacia la izquierda (
sol_msb ) están
configuradas con los mismos bits. El bit de configuración estática (SHIFT SEL en el registro CFG15) determina qué salida de cambio se usa como salida de Datapath. En ausencia de un cambio, las señales
sor y
sol_msb se definen como LSB y MSB de la función ALU, respectivamente.
Los bits de configuración SI SELA y SI SELB determinan el desplazamiento de datos para la operación especificada. Configuración dinámica RAM selecciona la configuración A o B para cada ciclo de reloj. Los datos introducidos se usan solo cuando se desplazan hacia la izquierda y hacia la derecha, esta entrada no se usa al omitir y reorganizar los nibbles. Los valores seleccionados y los casos de uso se refieren tanto a un desplazamiento a la derecha como a un desplazamiento a la izquierda, y se muestran en la Tabla 21-14.
Tabla 21-14. Cambio en funciones
La salida cuando se desplaza hacia la izquierda se toma del bit especificado como alto. Cuando se desplaza hacia la derecha, los datos de entrada se envían desde la posición senior seleccionada (MSB). La salida, incluso cuando se desplaza hacia la izquierda, incluso cuando se desplaza hacia la derecha, se enclava y se puede utilizar en la siguiente medida. Esta característica se puede utilizar para implementar un cambio de mayor capacidad en múltiples ciclos.
Figura 21-16. Operación por turnos.Vale la pena señalar que los bits aislados al elegir MSB todavía se desplazan. En el ejemplo que se muestra, el bit 7 todavía se desplaza a sil cuando se desplaza hacia la derecha, y el bit 5 se desplaza al bit 4 cuando se desplaza hacia la izquierda. El bit de salida (derecha o izquierda) de un grupo aislado se perderá.
Operación de superposición de máscara ALU
El registro de máscara de 8 bits en el espacio estático de los registros de configuración UDB define la operación de enmascaramiento. En esta operación, una máscara (operación AND) con el valor de este registro se superpone en la salida ALU. Un uso típico de la operación de enmascaramiento de ALU es la implementación de temporizadores y contadores autónomos con una resolución que es un múltiplo de una potencia de dos.
21.3.2.5. Entradas de ruta de datos y multiplexación
Como se muestra en la Tabla 21-15, cada Datapath tiene 9 entradas, incluidas 6 entradas del rastreo de canales. Estos incluyen las direcciones de configuración de RAM, FIFO, señales de control para cargar registros de datos, así como cambiar y transferir entradas de datos.
Tabla 24-15. Entradas de ruta de datos
Como se muestra en la Figura 21-17, cada entrada tiene un multiplexor 6 en 1, por lo tanto, todas las entradas son intercambiables. Las entradas se procesan de dos maneras: por nivel o por diferencial. La dirección en la RAM de la configuración dinámica, así como los valores de desplazamiento y datos son sensibles al nivel. Las señales de datos FIFO y de registro de carga son sensibles a las diferencias.
Figura 21-17. Señales de entrada de ruta de datos.En el próximo artículo, pasaremos a una revisión de pequeñas cosas útiles.