Altifigence Academy

1 / 24 · Concepto

Convierte una ecuación en un contrato de ruta de datos

Especifica las anchuras, los eventos de aceptación y los resultados válidos junto con la operación aritmética.

Especifica lo que promete el circuito

Una ruta de datos almacena, selecciona y calcula valores. Su controlador decide qué valores se desplazan y cuándo. Son responsabilidades de diseño distintas, pero no son tareas de software que se ejecuten de forma independiente. En un flanco de reloj, las señales de control determinan las actualizaciones de los registros; los valores de esos registros se convierten en entradas de la lógica combinacional durante el ciclo siguiente. Una ecuación sin este contrato temporal puede producir el número correcto para la transacción equivocada.

Nuestra pequeña calculadora acepta operandos a y b de ocho bits sin signo y una operación de dos bits. La operación 0 suma, la 1 resta, la 2 calcula AND y la 3 calcula XOR. La aritmética devuelve los ocho bits menos significativos, junto con un acarreo de suma o un préstamo de resta por separado. Los proyectos posteriores también transportan una etiqueta. La etiqueta no cambia el cálculo, pero identifica la entrada que produjo un resultado, por lo que debe viajar con ese resultado.

Elemento del contratoElección en este curso
Significado de los operandosEnteros sin signo de 0 a 255
Reducción de anchuraOcho bits menos significativos, módulo 256
Información de límitesAcarreo de ADD y préstamo de SUB
AceptaciónFlanco ascendente con valid y ready activados simultáneamente
OrdenLos resultados siguen el orden de las entradas aceptadas
ReinicioDescartar el trabajo pendiente y borrar el estado de validez

Para a=250, b=10 y ADD, la suma matemática es 260. La salida es 4 con carry=1. Una interpretación con signo o la saturación darían un contrato diferente. No dejes que una conversión accidental del lenguaje elija la política. La aritmética modular puede resultar adecuada para contadores de direcciones, mientras que un cálculo de brillo puede requerir saturación.

Recorrido de la transacción
  1. Aceptar: Capturar operandos, operación y etiqueta
  2. Calcular: Aplicar el contrato numérico especificado
  3. Entregar: Transferir el resultado y su etiqueta correspondiente

Una salida no válida de la ALU puede seguir cambiando eléctricamente; no representa una transacción. Un resultado válido con una etiqueta antigua también es incorrecto. Examina juntos los datos, la etiqueta y valid. Para cada salida, responde tanto qué significan los bits como cuándo puede confiar en ellos un consumidor. Los modelos de ciclos de este curso comprueban la funcionalidad y el orden, no los retardos físicos de las puertas. Traduce el contrato a un modelo de referencia antes de elegir los límites entre registros para un objetivo de latencia o rendimiento.

Inténtalo tú

Anota el resultado de ADD de ocho bits y el acarreo para a=250 y b=10. Explica el valor 4 y por qué debe almacenarse la etiqueta junto con el resultado.

Leer la explicación

260=1×256+4, así que data=4 y carry=1. El contrato de los ocho bits menos significativos reduce la suma módulo 256. Almacena la etiqueta con las mismas condiciones de aceptación, detención y entrega que los datos para que el resultado siga asociado a su entrada.

Tu elección se aplica a este navegador. Puedes cambiarla en el pie de página.