¿De qué depende el registro y el tamaño del bus?

2

Así que aquí se muestra un multiplicador secuencial de hardware. El número A tiene un ancho de 51 bits, el número B tiene un ancho de 48 bits. Tengo que elegir el tamaño más eficiente de autobuses y registros (optimizar de acuerdo con el uso de la memoria).

Mi pregunta real es: ¿de qué dependen estos tamaños? ¿Cómo debo proceder en esta tarea? No estoy buscando una solución exacta, pero al menos una sugerencia, porque no tengo idea de dónde comenzar mi búsqueda de información.

    
pregunta petajamaja

2 respuestas

1

Parece que se supone que el diseño debe realizar una multiplicación de 48x51 bits en 48 pasos, con cada paso agregando el registro "A" al registro del producto o no. También parece cambiar el registro "A", que no es necesario. Si desea cargar el registro B, iniciar la máquina y luego tener un resultado listo para ser leído, el registro de su producto debe ser lo suficientemente grande como para contener todo el producto (la suma de las longitudes de los dos multipandos); el sumador tendrá que tener el mismo ancho si cambia "A" a medida que avanza. Si en lugar de desplazar el registro "A", tiene el producto ya sea Compute (Producto > > 1) o (Producto > > 1) + (A < < 47) a medida que los bits se desplazan de la "B "registrarse, entonces el sumador solo necesita agregar dos números de 51 bits para un resultado de 52 bits.

También tenga en cuenta que para un pequeño aumento en la complejidad, puede duplicar la velocidad de su multiplicador haciendo que la ALU elija entre cinco operaciones en cada paso: (Producto > > 2), (Producto > > 2) + (A < < 46), (Producto > > 2) + (A < < 47), (Producto > > 2) - (A < < 46), o (Producto & gt ; > 2) - (A < < 47). Busque "Algoritmo de Booth" para obtener más información.

    
respondido por el supercat
0

bueno, creo que estos son multiplicadores incorporados de propósito general en FPGA (bloques DSP) u otros dispositivos heterogéneos. En ese caso el tamaño de los registros es de propósito general. Depende de su aplicación, puede elegir el número requerido de bits. Puede tener un multiplicador de 32 bits de este multiplicador incorporado. Por lo tanto, dependiendo de sus requisitos, puede arreglar el bus de datos.

    
respondido por el harish

Lea otras preguntas en las etiquetas