¿Por qué la longitud de palabra de una computadora tiene el poder de 2?

Los poderes de dos a menudo son convenientes para los diseñadores de arquitectura. En particular, cuando está produciendo una nueva generación de un sistema que ya tiene una longitud de palabra que es una potencia de 2, a menudo es conveniente duplicar la longitud de la palabra. ¿Por qué es esto?

Bueno, digamos que tienes una computadora con registros de 8 bits. Pueden simbolizar 256 posibles estados diferentes. Ahora, dado que 256 no es un gran número, a menudo estarás haciendo matemáticas usando dos registros. Eso le da un número de 16 bits como su máximo posible.

Por lo tanto, cuando tiene la capacidad de expandir el tamaño de la palabra, tiene sentido expandirlo a 16 bits. Esto permite que su nuevo procesador mantenga la compatibilidad con versiones anteriores con el anterior … y ahora, algunas operaciones que solía hacer al usar dos registros juntos, puede hacerlo en un solo registro en el nuevo modo.

Esto es parte de por qué la arquitectura Intel x86 se ha movido de 16 bits a 32 a 64.

No tiene que ser un poder de dos. Ha habido muchas arquitecturas informáticas con otras longitudes de palabra.

Pero se ha encontrado que el modelo de bytes, que se puede emparejar repetidamente con palabras, largos y largos largos, es muy conveniente. Hay una serie de ventajas menores para el poder de dos longitudes, y no hay ventajas que conozco para otras longitudes. Entonces el poder de dos se ha convertido en costumbre. No es esencial, pero nadie tiene el más mínimo motivo para ninguna otra longitud.

Facilita el cumplimiento de los requisitos de alineación cuando las palabras se almacenan en la memoria. Una sola palabra alineada siempre puede caber en una sola línea DRAM, o una sola línea de caché, estando disponible en una sola solicitud.

Como todo lo que una computadora entiende es Binario, y Binario tiene solo dos estados 0 o 1. Eso hace 2 estados posibles.

Si su computadora / procesador es de 2 bits. Entonces solo puede entender 4 cosas: 00, 01, 10, 11 => 2 ^ 2 = 4

Para computadora de 3 bits: 000, 001, 010, 011, 100, 101, 111, 110 => 2 ^ 3 = 8

La longitud de la palabra no tiene que ser una potencia de dos, pero es conveniente. Puede encontrar útil esta respuesta: la respuesta de Tim Cole a ¿Por qué las computadoras se basan en un byte de 8 bits?