¿Es posible que una computadora Memristor sume, reste, multiplique y divida con solo 1 paso?

Si limita su multiplicación a un tamaño de bit fijo, entonces, por supuesto, es posible diseñar un circuito monolítico para calcular cada producto. Hay un número determinista de productos que requieren algún número N de transistores. Absolutamente es posible. Si lo desea, puede escribir un sistema de ecuaciones, usar un mapa k y reducirlo a una expresión NAND mínima.

La razón por la cual los multiplicadores no se construyen de esta manera es porque:

1) En realidad es más rápido usar un circuito combinacional. A medida que un circuito se hace más y más grande, se acumula sobrecarga tanto en latencia (los cables se alargan) como también en su lógica (necesita usar más y más compuertas, a menudo de forma redundante).

2) El multiplicador sería simplemente dos grandes. Hay una cantidad finita de espacio en un chip, y ese chip debe adaptarse a muchos módulos.

3) Desea reducir la complejidad de los módulos para poder aumentar su ciclo de reloj. En la práctica, la multiplicación a menudo se realiza en un solo ciclo, pero teóricamente, si no fuera así, desearía poder dividir el cálculo en varios pasos, para que puedan continuar a través de múltiples ciclos de reloj.

Si está interesado en cómo se construyen los multiplicadores en procesadores reales, le recomendaría leer algunos de los siguientes materiales:

Árbol de Wallace
Multiplicador Dadda
Operación multiplicar-acumular

Algunos buenos consejos para verliog:

multiplicación combinatoria de hardware en verilog