Parece como si estuviera imaginando que los resultados intermedios de una operación deben almacenarse (registrarse) antes de que comience la siguiente etapa de la operación. De hecho, una función puede ser implementada por un circuito puramente combinatorio si sus entradas y salidas son continuas. Esto último significa que (a) todos los datos de entrada están contenidos simultáneamente en sus entradas, (b) las entradas permanecen sin cambios hasta que la función produce una salida y (c) todos los datos de salida se presentan y se toman simultáneamente en sus salidas.
La multiplicación de números binarios es solo una serie de sumadores multibit. Este circuito está bien documentado en internet. Por ejemplo, para hacer F [7: 0] = A [3: 0] x B [3: 0], cada sumador agrega una forma desplazada de A al total si un bit en B es 1, de lo contrario ese sumador agrega cero. Esencialmente, hace lo siguiente:
Add A to F if B[0] is 1 otherwise add zero
Add 2 x A to F if B[1] is 1 otherwise add zero
Add 4 x A to F if B[2] is 1 otherwise add zero
Add 8 x A to F if B[3] is 1 otherwise add zero
Todas estas adiciones se pueden hacer en paralelo, por lo que se utiliza un circuito puramente combinatorio. La 'F comienza con 0' no declarada no es una operación separada, es producida por el circuito sumador. Las formas 'N x A' se producen por cableado, enrutando los bits de A en el lugar correcto en un número binario con ceros alrededor.
Hay un inconveniente en todas las operaciones combinatorias como esta. Cuanto más profundas estén las puertas del circuito lógico combinatorio, mayor será el tiempo de propagación de las señales que pasan. Esto reduce su propia frecuencia de reloj máxima y, por lo tanto, el máximo. Frecuencia de reloj de los circuitos de los que forma parte, como la CPU. La adición de registros intermedios puede producir segmentos de circuito, cada uno con un tiempo de propagación más bajo que el circuito general sin ellos. Los resultados luego toman más ciclos de reloj para producir a partir de las entradas, pero esto permite que el flujo de datos sea canalizado. Por lo tanto, la implementación elegida es una compensación, que depende de lo que intenta hacer y de cuáles objetivos son más importantes que otros.