(La mayoría de las imágenes son de la búsqueda de Google. Perdón si agregué una con derechos de autor)
Esa es una historia realmente interesante que tienes allí. Estoy emocionado de ver su implementación de un sumador completo. ¿Me puede mostrar un esquema de cómo implementaron esa parte?
Sin embargo, no creo que ninguna computadora ternaria pueda superar a cualquier computadora binaria. Sí, afirman que las computadoras ternarias son más rápidas que las computadoras binarias, pero por lo que puedo ver, es en el mismo sentido que Bubblesort supera a QuickSort cuando la matriz está casi ordenada para empezar.
- Si tengo un número (ej .: n = 28), ¿existe una fórmula cerrada para saber cuántos son los pares ordenados de números enteros (a, b) de manera que [matemáticas] a \ cdot b = n [/ matemáticas]?
- ¿Qué es un buen algoritmo para convertir un número decimal de coma flotante con muchos, muchos decimales en el equivalente binario?
- Dadas N monedas, colocadas en una fila, indexadas 1 a N de izquierda a derecha. Inicialmente todas las monedas muestran cabeza. En cada turno, dos enteros, no necesariamente distintos, A y B entre 1 y N (inclusive) se eligen de manera uniforme al azar. Todas las monedas con un índice de A a B (inclusive) se voltean. ¿Cuál es el número esperado de monedas que muestran la cabeza después de que M gira?
- Dados n objetos y p posiciones divididas equitativamente alrededor de una tabla, n <= p, ¿cuántas combinaciones de ubicación existen?
- ¿Qué papel juega la habilidad matemática en la ingeniería informática o la codificación?
Ahora, no me malinterpreten: el cálculo ternario ya se usa en casos en los que es realmente útil, por ejemplo, en la transmisión de datos. En estos casos, los tres bits ternarios no se escriben como 0, 1 o 2; están escritos como -1, 0, 1. Esto tiene la ventaja de que simplemente necesita medir la dirección de la corriente en lugar de la fuerza, y que usan un poco menos de potencia.
Sin embargo, en la mayoría de los casos, preferimos binario sobre ternario. Supongo que esto no tiene nada que ver con la facilidad de leer o escribir, o con cualquier algoritmo que funcione más rápido en binario. Según mi experiencia, simplemente tiene que ver con un componente básico:
El transistor
Los transistores son los elementos más básicos de una computadora, en el sentido de que realmente no puede profundizar más que esto, o terminará en la física en lugar de la informática.
De todos modos, los transistores se inventaron al final de la segunda guerra mundial, alrededor de 1947, como una forma ligera de amplificar una señal.
Sí, lo leíste correctamente. Los transistores no fueron inventados para ser utilizados en computadoras. Se utilizaron para amplificar señales, como ondas de radio. Antes de 1947, se usaban tubos de vacío para ese propósito, que eran pesados y consumían mucha energía, dos propiedades que no son muy útiles si uno quiere llevar uno a un avión. La invención del transistor permitió a los británicos llevar tecnología de radio y radar a bordo de un avión, lo que habría sido una gran ventaja para ellos si la guerra no hubiera terminado.
Ahora, ¿cómo funciona un transistor? Fácil. Cada transistor tiene tres entradas: un colector (arriba), un emisor (abajo) y una base (izquierda).
En los transistores de efecto de campo, las tres entradas son respectivamente la fuente, el drenaje y la compuerta.
En esencia, el transistor se comporta exactamente como una resistencia: tiene una cierta resistencia R, y la corriente que va del colector al emisor se comporta exactamente como se espera de una resistencia:
[matemáticas] V_ {CE} = R \ cdot I_ {CE} [/ matemáticas]
La diferencia entre un transistor y una resistencia normal es la tercera entrada: la base. La resistencia de un transistor depende del voltaje aplicado a la base. Existen dos tipos diferentes de transistores (en este caso, efecto de campo):
- Los transistores de tipo P tienen una baja resistencia cuando la puerta tiene bajo voltaje y una alta resistencia cuando la puerta tiene alto voltaje. En esencia, se bloquean cuando la puerta está alta, y se dibujan con un pequeño círculo en la puerta.
- Los transistores de tipo N se comportan exactamente de la manera opuesta: tienen baja resistencia cuando la puerta es alta y se bloquean cuando la puerta es baja. Se dibujan solo como una línea, sin el círculo.
Esos dos componentes se pueden usar para formar, por ejemplo, una puerta no:
Típico sin puerta. El transistor de tipo p está en la parte superior, y el transistor de tipo n está en la parte inferior de la imagen.
Si X está en baja tensión, el transistor superior conducirá y el transistor inferior se bloqueará. La corriente fluirá desde la batería a la salida y Z estará en alto voltaje: una entrada baja produce una salida alta. Por el contrario, si X es alto, Z será bajo.
Por supuesto, X puede ser cualquier cosa entre el voltaje fuente y el voltaje de drenaje, y también podemos graficar la salida Z en función de X:
(Gracias, Wolfram Alpha)
Ahora podemos darnos cuenta de algo: si aplicamos un voltaje de 2V a X (digamos que este es un voltaje medio, o 0.5), ¡obtenemos 2V como salida a través de Z! Puede pensar que acabamos de hacer un puerto negado extendido para un bit ternario.
Resulta que no lo hicimos.
Sí, aplicar 2V a X produce 2V a Z. ¿Pero quién dice que aplicamos exactamente 2V? Podríamos haber estado aplicando 2.0001V, y luego Z sería aproximadamente 1.999 8 V.
Y aquí es donde comienza el problema. La salida está más lejos de 2V que la entrada: el ruido se fortalece. Además, la salida Z no es una salida libre, se utilizará como entrada para otra puerta. En la próxima puerta no, y, o cualquier otra puerta, la salida será de 2.0004 V, y las diferencias seguirán creciendo hasta que la siguiente puerta ya no reconozca la señal, y lea un 0 o 1 en lugar de un 0.5 . La señal se pierde debido al ruido.
¿Recuerdas que los transistores se usaron para amplificar señales? Así es exactamente como se hizo: aplique alto voltaje sobre el transistor y aplique la señal débil a las puertas. Si la señal está centrada alrededor del punto de flexión (2V), la señal de salida es una versión reforzada de la señal de entrada. Muy útil en tecnología de radio, un desastre cuando se quiere construir una computadora ternaria.
Existen soluciones alternativas. No te preocupes Se puede construir una puerta de inversión que toma un bit ternario y devuelve su inverso:
Sin embargo … Necesita al menos 4 transistores para tal puerta, simplemente porque el gráfico anterior es la suma de 4 funciones exponenciales básicas.
Esto no solo se aplica a las no compuertas, también se aplica a las compuertas and, las compuertas or e incluso a todos los componentes diferentes en la ALU: para cada operación de compuerta, se necesitan al menos 4 transistores para procesar lg (3) = 1.58 bits de información
Recapitulemos:
- Necesita 4 transistores para procesar información ternaria de 1.58 bits
- Puede usar los mismos 4 transistores para procesar información binaria de 2 bits
Entonces, si bien el cálculo ternario puede ahorrar espacio en la RAM, cuesta 26% más transistores para mantenerlo en funcionamiento. Y tenga en cuenta que la RAM también funciona con transistores, por lo que podría terminar con datos ternarios que consumen un 26% de espacio adicional en comparación con la variante binaria.
Las computadoras ternarias suenan muy bien, pero no son realmente eficientes dada la tecnología actual de transistores.