Dos unidades de precisión simple versus una unidad de precisión doble

0

Suponga que está diseñando una unidad de punto flotante, y se desea que sea capaz de una operación de precisión simple y de doble precisión, en el primer caso, no simplemente expandiendo los operandos de precisión simple a registros de doble precisión, sino realizando dos veces tantas operaciones por ciclo de reloj.

Es decir, para ser específico, digamos que desea tener dos opciones, si A y B son registros de 64 bits, realice la operación C=A*B , o alternativamente C0=A0*B0, C1=A1*B1 donde A0, A1 son el nivel bajo y alto Palabras de 32 bits del registro A.

¿Qué tan eficiente es esto? ¿Qué tan práctico o eficiente es dividir una unidad de doble precisión en un par de unidades de precisión simples como esta? Quiero decir, ¿qué porcentaje de los transistores pueden tener un doble propósito, pero estoy seguro de que no es tan simple como eso?

Para ser específicos, ¿cómo se compara la practicidad / eficiencia de esto con el mismo doble propósito de una unidad multiplicadora de punto fijo?

    
pregunta rwallace

2 respuestas

1

Lo único que realmente necesita ser duplicado son los sumadores en el manejo del exponente. La lógica de la mantisa se puede dividir fácilmente para las operaciones básicas, a un costo adicional mínimo.

Para el punto fijo, no tiene sumadores para comparar y ajustar los exponentes, y omite los cambios de dirección de la mantisa (que también se dividen fácilmente, por lo que los ahorros son mínimos).

La vida se complica para funciones trigonométricas y denormales sin embargo. Si no los implementa, el costo adicional para las FPU de modo dual debería ser mínimo.

    
respondido por el Simon Richter
0

Es probable que multiplicar tome más de 4 veces la cantidad de relojes, no el doble.

Tienes 4 productos parciales y tienes que agregarlos.

Por la misma razón, probablemente costará más hacer una FPU de doble precisión de alto rendimiento que duplicar la de una precisión simple.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas