¿Por qué no tenemos CPU de 33 bits? [cerrado]

9

He visto que las CPU y los sistemas operativos se han movido hacia arriba en términos de bits de 8 bits a 16 bits, a 32 bits y actualmente a 64 bits. Entiendo que este cambio es aumentar la cantidad máxima de memoria que la CPU puede direccionar.

Lo que no entiendo es por qué siempre hay una duplicación del tamaño del autobús. ¿Es solo una decisión arbitraria / comercial duplicar el tamaño del autobús o hay alguna otra razón?

¿Por qué no podemos tener una CPU de 33 bits? ¿O si eso no fuera suficiente, una CPU de 34 bits? 64 bits parece un salto tan masivo e innecesario (¿costoso?) En el espacio de direcciones y presumiblemente en la complejidad del silicio subyacente.

localhost
fuente
3
@sawdust - Sin embargo, no hay nada tan sagrado en tener una ruta de datos que sea múltiplo de 8 bits, y menos aún, tener una potencia de dos múltiplos de 8 bits.
Daniel R Hicks
77
Esta pregunta en realidad no es tan mala, y no es tan simple como "¡oh, aprende derp binario!", Como señala Daniel (y mi respuesta). Voy a votar de nuevo a cero por esa razón.
Marshall Eubanks
1
Su pregunta contiene una premisa falsa. El aumento en el ancho de bits fue principalmente para aumentar el ancho de los registros de propósito general. El aumento en el ancho de los punteros fue históricamente secundario.
David Schwartz
1
@sawdust Tengo una muy buena idea de cómo funciona el binario, lo cual es bastante obvio en mi pregunta. No, gracias por su inútil y grosera respuesta.
localhost
1
@marshaul: ¿Esta pregunta en realidad fue rechazada por debajo de cero? ¿¿Por qué?? Es una buena pregunta! Creo que los que votaron hacia abajo probablemente entendieron aún menos los números binarios que el autor de la pregunta.
HelloGoodbye

Respuestas:

7

He visto CPU de 12, 14, 15, 17, 18, 20, 24 y 48 bits. Pero con la moderna tecnología VLSI (¿o es ULSI ahora?), Agregar más bits a la ruta de datos no es tan costoso. Los desarrolladores de chips introducen el mayor ancho posible en el chip, ya que eso aumenta el rendimiento con un costo adicional relativamente bajo y con solo una leve penalización de tiempo de ciclo.

Lograr más velocidad / rendimiento con una ruta de datos estrecha y un tiempo de ciclo más rápido es mucho más difícil.

Daniel R Hicks
fuente
(Se olvidó de mencionar CPU de 60 bits: la antigua serie CDC 6600).
Daniel R Hicks
Aunque esta es una respuesta interesante, todavía no explica por qué los poderes de dos parecen preferirse en las PC modernas, que creo que es a lo que realmente apunta la pregunta, aunque no se haya realizado completamente en el momento de su creación.
HelloGoodbye
@HelloGoodbye No es tanto potencia de dos como múltiplos de 8. Un bus de datos de 32 bits puede escribir exactamente 4 bytes en una instrucción.
jiggunjer
4

A diferencia de muchas circunstancias en una computadora, por ejemplo, el direccionamiento, donde aumentar la longitud de la dirección en un bit aumenta la cantidad de memoria direccionable en una potencia de 2 (y por qué las potencias de 2 son tan comunes en la memoria), la longitud de palabra real de la CPU Puede ser cualquier valor conveniente.

Las longitudes de palabra comunes para los procesadores (16, 32 y 64 bits) surgieron en realidad como múltiplos de 8 (en lugar de potencias de 2, aunque, por supuesto, estos múltiplos particulares de 8 también son potencias de 2), siendo 8 bits el tamaño mínimo para un único carácter , el tipo de datos primitivo más pequeño utilizado comúnmente.

Dado que 8 bits es demasiado impreciso para ser muy útil para valores numéricos (o incluso para juegos de caracteres extendidos como UTF-16), las palabras de más de 8 bits permiten una eficiencia mucho mayor cuando se trabaja con valores que utilizan más que esa cantidad de precisión. , y los múltiplos de 8 bits (el tipo de datos más pequeño utilizado comúnmente) siguen siendo la elección natural, lo que permite almacenar una cuantificación entera de (por ejemplo, 2, 4 u 8) caracteres en una palabra sin dejar bits desperdiciados y no utilizados.

El artículo de wikipedia sobre palabras tiene una sección Elección de tamaño de palabra con un poco más de detalle.

Marshall Eubanks
fuente
1
No todos los múltiplos de 8 son potencias de 2.
cpast
Excelente punto, realmente quise decir "estos poderes de 2". Haré la solución.
Marshall Eubanks
Ha habido computadoras construidas con "caracteres" de 6 y 10 bits.
Daniel R Hicks
Claro, y de nuevo, la longitud de la palabra puede ser cualquier número conveniente, que no necesita basarse en la longitud de los caracteres ni nada en particular. Por ejemplo, una ALU que rara vez operaba en "caracteres" probablemente tendría una longitud de palabra basada en el entero de menor precisión comúnmente utilizado. No quise sugerir nada prescriptivo, simplemente explicar la razón básica de las opciones más comunes (y las que preguntó).
Marshall Eubanks