Usando la lógica de los tres estados para acelerar la multiplicación del punto flotante

0

Esta pregunta está inactiva, pero ...

Dada "doble precisión" es de 53 bits, por lo que toma 53 ^ 2 (o 2809) operaciones secuenciales ordenadas en gran parte para realizar la multiplicación. Mientras que el equivalente ternario es 33 "trits" y toma solo 33 ^ 1.58 (o 255) operaciones de multiplicación de ternario (véase algoritmo de Karatsuba ) ... y considerando ...

  • El binario se puede acelerar (en parte) con una "tabla de consulta" de mordisco.

  • Pero todas las operaciones Ternarias se pueden realizar en silicio paralelo.

Encuentro (incluso ignorando el potencial de paralelismo ternario del balance) que la multiplicación ternaria es 11 veces más rápida que la multiplicación binaria de doble precisión.

Entonces, dado que la mayoría de los chips utilizan realmente " lógica de los tres estados " me lleva a esta pregunta ...

Pregunta: ¿Hay algún CPU / chip por ahí que haga un ternario (o una conversión binaria astuta a ternario) para cosechar esta mejora de velocidad 10 veces superior?

(Por cierto: supongo que la adición ternaria es solo un 30% más rápida, si los números son del mismo signo, y un 50% más rápida si de diferentes signos)

    
pregunta NevilleDNZ

3 respuestas

4

Confunde la señalización tri-estatal con la lógica ternaria.

No hay una manera eficiente de implementar la lógica ternaria en un microchip CMOS moderno. Las señales de tres estados ("flotantes") no pueden usarse como un tercer estado; una señal flotante que no se extrae ni alta ni baja se comportará de manera impredecible. (En la mayoría de las situaciones, la capacidad de la compuerta dentro del chip hará que permanezca en el estado en el que se encontraba).

    
respondido por el duskwuff
1

El algoritmo de Karatsuba también funciona bien en números binarios. De hecho, debería funcionar bien sin importar la base que utilice su sistema numérico.

El algoritmo de multiplicación y suma seguirá teniendo el mismo orden, independientemente de la base que utilice su sistema numérico. realmente no puedes acelerarlos usando un sistema numérico con una base más alta.

El motivo es que el cálculo de cada una de las operaciones básicas de suma y multiplicación en cada dígito requerirá circuitos cada vez más complejos cuanto mayor sea la base del sistema numérico. Por ejemplo, un medio sumador ternario llevará muchos más transistores que uno binario, y esos transistores adicionales se traducirán en un mayor retardo de propagación y velocidades de reloj más lentas.

    
respondido por el user4574
1

Vea las otras respuestas y comentarios, tri-state no es un atajo a la representación ternaria.

Si consulta la literatura sobre sumadores rápidos, encontrará que se utiliza la operación en bases superiores , para acortar la cadena de acarreo. Por ejemplo, la base 4 es bastante común, utilizando 2 bits binarios muy convencionales por tetrigit (una fuente sugiere 'miga' para un dígito cuaternario, por la extensión del byte hacia abajo a través de nybble). La base más alta es una rutina en FFT, usando la base 4, la base 8 y, a veces, una mezcla de 4 y 2. Notará que todas las bases son poderes simples de 2, ya que es una pita real para operar en hardware en cualquier otra representación. Esto no quiere decir que las bases no binarias no puedan usarse en hardware cuando necesiten para ser utilizadas, solo que se necesita una motivación abrumadora para hacerlo.

    
respondido por el Neil_UK

Lea otras preguntas en las etiquetas