videos top subir problemas por musica los hashtags formato evitar elimina derechos copyright con como autor architecture hardware theory bit

architecture - top - ¿Por qué el número de bits siempre es(?) Una potencia de dos?



subir videos a instagram sin copyright (18)

Tenemos arquitecturas de hardware y sistemas operativos de 8 bits, 16 bits, 32 bits y 64 bits. Pero no, digamos, de 42 bits o de 69 bits.

¿Por qué? ¿Es algo fundamental lo que hace que 2 ^ n bits sean una mejor opción o solo se trata de compatibilidad con los sistemas existentes? (Obviamente, es conveniente que un registro de 64 bits pueda contener dos punteros de 32 bits, o que una unidad de datos de 32 bits pueda contener 4 bytes).


Byte está relacionado con la codificación de caracteres en su mayoría del mundo occidental, por lo tanto, 8 bits. Word no está relacionado con la codificación relacionada con el ancho de la dirección, por lo tanto, varía de 4 a 80, etc.


Como otros han señalado, en los primeros días, las cosas no eran tan claras: las palabras llegaban en todo tipo de tamaños extraños.

Pero el empuje para estandarizar en los bytes de 8 bits también fue impulsado por la tecnología de chips de memoria. En los primeros días, muchos chips de memoria se organizaban en 1 bit por dirección. La memoria para palabras de n bits se construyó usando chips de memoria en grupos de n (con las correspondientes líneas de direcciones unidas, y cada bit de datos únicos de chips contribuyendo a un bit de la palabra de n bits).

A medida que las densidades de los chips de memoria aumentaron, los fabricantes empacaron múltiples chips en un solo paquete. Debido a que los tamaños de palabra más populares en uso eran múltiplos de 8 bits, la memoria de 8 bits era particularmente popular: esto significaba que también era la más barata. A medida que más y más arquitecturas saltaron al carro de byte de 8 bits, la prima de precio para los chips de memoria que no usaban bytes de 8 bits se hizo cada vez más grande. Argumentos similares explican movimientos de 8-> 16, 16-> 32, 32-> 64.

Aún puede diseñar un sistema con memoria de 24 bits, pero esa memoria probablemente sea mucho más cara que un diseño similar con memoria de 32 bits. A menos que haya una buena razón para quedarse en 24 bits, la mayoría de los diseñadores optaría por 32 bits cuando es más barato y más capaz.


El venerable PDP-10 era de 36 bits.


En un momento dado, las longitudes de palabra de la computadora tendían a ser un múltiplo de 6 bits, porque las computadoras generalmente usaban conjuntos de caracteres de 6 bits, sin soporte para letras minúsculas.

IBM creó una computadora de alto rendimiento, el STRETCH, para Los Alamos, que tenía una palabra de 64 bits. Tenía la característica inusual de que los bits individuales en la memoria de la computadora podían abordarse directamente, lo que obligaba a la longitud de la palabra a ser una potencia de dos. También tenía un juego de caracteres más extendido, que permitía incluir símbolos matemáticos (además de minúsculas); se usaron en un lenguaje especial de alto nivel llamado COLASL.

Cuando IBM salió con el popular mainframe System / 360, aunque no tenía un direccionamiento de bits, mantuvo el byte de ocho bits, principalmente para permitir el almacenamiento eficiente de cantidades decimales empaquetadas en cuatro bits con respecto al dígito decimal. Debido a que esa máquina era tan popular, fue muy influyente, y la computadora PDP-11 de DEC se diseñó con una palabra de 16 bits y caracteres de 8 bits. El PDP-11 también fue la primera verdadera máquina little-endian, y también fue muy popular e influyente.

Pero no es solo por seguir la moda. Los caracteres de 8 bits permiten texto en minúsculas, y a medida que las computadoras se vuelven más baratas, se puede valorar el poder utilizarlas fácilmente para el procesamiento de textos. Y así como el STRETCH necesitaba tener una palabra que tuviera una potencia de dos tamaños para permitir que los bits se direccionaran fácilmente, las computadoras de hoy en día necesitaban tener una palabra que fuera un múltiplo de 8 de potencia (que resulta ser dos a la tercera potencia en sí) para permitir que los personajes sean fáciles de abordar.

Si aún utilizáramos caracteres de 6 bits, las computadoras tenderían a tener palabras de 24, 48 o 96 bits.


Eso es principalmente una cuestión de tradición. Ni siquiera es siempre verdad. Por ejemplo, las unidades de coma flotante en los procesadores (incluso las contemporáneas) tienen registros de 80 bits. Y no hay nada que nos obligue a tener bytes de 8 bits en lugar de bytes de 13 bits.

Algunas veces esto tiene razonamiento matemático. Por ejemplo, si decides tener un byte de N bits y quieres hacer una multiplicación de enteros, necesitas exactamente 2N bits para almacenar los resultados. Entonces también quiere agregar / sustraer / multiplicar esos enteros de 2N bits y ahora necesita registros de propósito general de 2N bits para almacenar los resultados de suma / resta y registros de 4N bits para almacenar los resultados de la multiplicación.


Los ICL 1900 eran todos de 24 bits (palabras). Apuesto a que no hay mucha gente que recuerde esto. Tú lo haces ??


Los procesadores 80286, 8086, 8088 y "Real Mode" en 80286 y posteriores utilizaron un sistema de direccionamiento de memoria segmentado de 20 bits. El 80286 tenía 24 líneas de direcciones nativas y luego el 386 y más tarde tenía 32 o 64.


Mi vieja y confiable calculadora HP 32S tenía 12 bits.


Muchas (¿la mayoría?) Primeras CPU pre-microprocesador tienen una cierta cantidad de bits por palabra que no tienen una potencia de dos.

En particular, Seymour Cray y su equipo construyeron muchas máquinas altamente influyentes con tamaños de palabra y tamaños de dirección que no son de potencia de dos: 12 bits, 48 ​​bits, 60 bits, etc.

Una cantidad sorprendentemente grande de computadoras antiguas tenían palabras de 36 bits, enteramente debido al hecho de que los humanos tienen 10 dedos. El artículo de Wikipedia de "36 bits" contiene más detalles sobre la relación entre 10 dedos y 36 bits, y enlaces a artículos sobre muchos otros tamaños de bits históricamente importantes pero que ya no son populares, la mayoría de ellos sin poder de dos.

Yo especulo que

(a) La memoria direccionable de 8 bits se hizo popular porque era un poco más conveniente para almacenar ASCII de 7 bits y BCD de 4 bits, sin embalajes incómodos o desperdiciando múltiples bits por carácter; y ningún otro ancho de memoria tenía ninguna gran ventaja.

(b) Como señala Stephen C. Steel, esa ligera ventaja se multiplica por las economías de escala y las fuerzas del mercado: se utilizan más recuerdos de 8 bits de ancho, por lo que las economías de escala los hacen un poco más baratos, lo que lleva a 8 se usan memorias de bits de ancho en nuevos diseños, etc.

(c) Anchos de bus más amplios en teoría hacían que una CPU fuera más rápida, pero poner toda la CPU en un solo chip la hacía mucho más barata y tal vez un poco más rápida que cualquier sistema de CPU de varias partes anterior de cualquier ancho de bus. Al principio, apenas había suficientes transistores para una CPU de 4 bits, luego una CPU de 8 bits. Más tarde, apenas hubo suficientes transistores para una CPU de 16 bits, una gran fanfarria y una campaña de marketing de "16 bits". Justo en el momento en que uno esperaría una CPU de 24 bits ...

(d) la revolución RISC golpeó. Los primeros dos chips RISC eran de 32 bits, por la razón que sea, y las personas habían sido condicionadas para pensar que "más bits son mejores", por lo que cada fabricante se subió al tren de 32 bits. Además, IEEE 754-1985 se estandarizó con números de coma flotante de 32 bits y 64 bits. Hubo algunos CPU de 24 bits, pero la mayoría de la gente nunca ha oído hablar de ellos.

(e) Por razones de compatibilidad de software, los fabricantes mantuvieron la ilusión de un bus de datos de 32 bits incluso en procesadores con un bus frontal de 64 bits (como Intel Pentium y AMD K5, etc.) o en placas base con un ancho de 4 bits autobús (autobús LPC).


Otro ejemplo de contador: los microcontroladores de la serie PIC16C8X tienen un conjunto de instrucciones de 14 bits de ancho.


Parcialmente, es una cuestión de abordar. Tener N bits de dirección le permite abordar 2 ^ N bits de memoria como máximo, y los diseñadores de hardware prefieren utilizar la mayor parte de esta capacidad. Por lo tanto, puede usar 3 bits para abordar el bus de 8 bits, etc.


Porque el espacio reservado para la dirección siempre es un número fijo de bits. Una vez que haya definido el tamaño de la dirección fija (o puntero), entonces desea aprovecharlo al máximo, por lo que debe usar todos sus valores hasta el número más alto que pueda almacenar. El número más alto que puede obtener de un múltiplo de un bit (0 o bien 1) es siempre una potencia de dos



Relacionado, pero posiblemente no por el motivo, escuché que la convención de en.wikipedia.org/wiki/Byte se debe a que es la forma en que IBM arregló la arquitectura IBM System / 360.


Su sistema de memoria quiere ser un byte múltiple, lo que hace que su caché quiera ser un byte múltiple, lo que hace que todo su sistema quiera ser un byte múltiple.

Hablando como un diseñador de HW, generalmente quieres diseñar CPU para byte límites de algún tipo, es decir, múltiplos de 8. De lo contrario, o bien tiene que agregar un montón de circuitos incómodos a un sistema de 49 bits para que utilice los bits mod-8 , o termina ignorando los bits adicionales, en cuyo caso era un desperdicio, a menos que necesitara el bit adicional para las instrucciones, que nunca es el caso en los sistemas de 16 bits o más.


Tenemos, simplemente mire los microcontroladores PIC.


Una razón común es que puedes numerar tus bits en binario. Esto resulta útil en bastantes situaciones. Por ejemplo, en operaciones de desplazamiento de bits o rotación. Puede rotar un valor de 16 bits en 0 a 15 bits. Un intento de rotar más de 16 bits también es trivial: eso es equivalente a una rotación de más de 0 bits. Y una rotación de más de 1027 bits equivale a una rotación de 3 bits. En general, una rotación de un registro de ancho W sobre N bits es igual a una rotación sobre N módulo W, y la operación "módulo W" es trivial cuando W es una potencia de 2.


http://en.wikipedia.org/wiki/Word_%28computer_architecture%29#Word_size_choice

Se usan diferentes cantidades de memoria para almacenar valores de datos con diferentes grados de precisión. Los tamaños comúnmente utilizados suelen tener una potencia de 2 múltiplos de la unidad de resolución de dirección (byte o palabra). La conversión del índice de un elemento en una matriz en la dirección del elemento requiere entonces solo una operación de cambio en lugar de una multiplicación. En algunos casos, esta relación también puede evitar el uso de operaciones de división. Como resultado, la mayoría de los diseños de computadora modernos tienen tamaños de palabra (y otros tamaños de operandos) que tienen una potencia de 2 veces el tamaño de un byte.