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).
- ¿Debería estar estudiando ingeniería informática solo porque me encantan las computadoras?
- ¿Por qué William Chen eligió las estadísticas en lugar de la informática o la ingeniería informática?
- ¿Cómo funciona el sistema de clasificación en los IIT?
- Cuando abrimos un nuevo archivo .C esa vez, la instrucción #include #include int main () {getch (); return 0;} debería mostrarse en ese archivo. ¿Cómo hago esto?
- ¿Cuándo sabemos si una computadora no tiene defectos?
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