¿Por qué el tamaño de la memoria (RAM) siempre tiene una potencia de 2?

Lo primero aquí es que los circuitos digitales pueden entender y trabajar solo en 2 valores. O 0 o 1.

Entonces, toda la arquitectura está esencialmente diseñada en torno a esto.

Si tuviera solo 1 línea de dirección, ¿a cuántos bits de memoria podría acceder? 2! Dirección bit 0 y Dirección bit 1.

Ahora, para representar, digamos 3 bits de memoria, ¿cuántos bits de dirección necesitarías? 2 (00, 01, 10).

Pero al usar 2 bits de dirección, puede direccionar no solo 3 bits, sino 4 (00, 01, 10, 11). Entonces, ¿por qué limitarlo a 3 bits?

Si extrapola esto a cualquier número que no sea una potencia de 2, tendrá líneas de dirección que siempre podrán abordar la potencia más cercana de 2.

No solo la memoria, sino que todo lo que usa el procesador es una potencia de 2. Literalmente todo.

  • Los cachés son poderes de 2.
  • Las líneas de dirección y datos son potencias de 2 (16 bits, 32 bits, 64 bits, etc.)

Todo porque la CPU solo puede entender 2. 0 y 1.

Simplemente hablando, las computadoras funcionan en 1s y 0s. Eso es lo binario. La computadora usa este sistema para direccionar la memoria. En un sistema simple (léase “antiguo”), un cierto número de líneas de procesador o líneas de unidad de dirección de memoria se dedican a seleccionar la dirección de una ubicación particular en la memoria. Como esas líneas solo pueden llevar valores de “alto” o “bajo”, cada línea representa un dígito binario. Por lo tanto, la cantidad de ubicaciones que se pueden direccionar es dos a la potencia de la cantidad de líneas.

Existe una correspondencia entre esto y los registros de dirección en el procesador. Dos para el número de bits en el registro es el número de ubicaciones que se pueden direccionar.

A medida que aumentaron los tamaños de memoria y las computadoras se volvieron más potentes, se han empleado varios esquemas para ampliar esta capacidad y solucionar varias limitaciones.

Tenga en cuenta que este resumen es una mirada muy simplificada a un tema complejo.

Consulte también el artículo de Wikipedia sobre direccionamiento de memoria.

Hay muchas razones por las cuales el tamaño de la memoria (RAM) siempre está en potencia de 2. Algunas de las razones son las siguientes:

  • Las computadoras manejan valores binarios: 0 y 1. Entonces, si usa potencias de 2, su hardware usará el 100% de los registros.
  • ¿Cómo se decide el tamaño de la línea de dirección? 2 bits no serían suficientes y 3 bits tendrán 2 direcciones no utilizadas. Por lo tanto, para evitar cualquier desperdicio de dirección y ancho de banda, preferimos fabricar RAM con potencias de 2.

En su pregunta, las ranuras RAM tienen una potencia de 2. Pero, puede tener incluso 6 GB de RAM / 12 GB de RAM utilizando diferentes ranuras.

La computadora tiene que ver con el poder de 2.

Dos para la potencia de n, escrita como 2 n , es el número de formas en que los bits en una palabra binaria de longitud n pueden organizarse. Una palabra, interpretada como un entero sin signo, puede representar valores de 0 (000 … 0002) a 2 n – 1 (111 … 1112) inclusive. Los valores enteros con signo correspondientes pueden ser positivos, negativos y cero; ver representaciones de números firmados. De cualquier manera, uno menos que una potencia de dos es a menudo el límite superior de un número entero en computadoras binarias. Como consecuencia, los números de este formulario aparecen con frecuencia en el software de la computadora. Como ejemplo, un videojuego que se ejecuta en un sistema de 8 bits podría limitar la puntuación o el número de elementos que el jugador puede contener a 255, el resultado de usar un byte, que tiene 8 bits de largo, para almacenar el número, dando un valor máximo de 28 – 1 = 255. Por ejemplo, en la leyenda original de Zelda el personaje principal se limitaba a llevar 255 rupias (la moneda del juego) en cualquier momento, y el videojuego Pac-Man se apaga a las nivel 255.

Las potencias de dos a menudo se usan para medir la memoria de la computadora. Un byte ahora se considera ocho bits (un octeto, lo que da como resultado la posibilidad de 256 valores. El término byte una vez significó (y en algunos casos, todavía significa) una colección de bits, típicamente de 5 a 32 bits, en lugar de solo un 8 -bit unit.) El prefijo kilo, junto con el byte, puede ser, y se ha usado tradicionalmente, que significa 1.024.

Sin embargo, en general, el término kilo se ha utilizado en el Sistema Internacional de Unidades para significar 1,000.

Los prefijos binarios se han estandarizado, como kibi (Ki) que significa 1,024. Casi todos los registros del procesador tienen tamaños que son potencias de dos, siendo 32 o 64 los más comunes.

Fuentes wikipedia

Gracias.

Un bit es 0 o 1- off o on-high o low

Los chips de memoria tal como los conocemos hoy están formados por miles de transistores cuyo estado de activación / desactivación determina si los datos se almacenan o no. Estas ubicaciones de memoria se direccionan en binario y se organizan en filas y columnas. Agregar un bit puede duplicar el rango de direcciones En pocas palabras, el rango de direcciones de la ubicación de almacenamiento físico es, por lo tanto, generalmente una potencia de dos.

Nota: Los módulos de memoria con tamaños que no sean múltiplos de dos también están disponibles pero no son comunes.

Usted está familiarizado con el sistema numérico de base diez donde usamos 10 tipos diferentes de dígitos (0–9) para representar todos nuestros números. En la base 10, si tenemos un espacio para 2 dígitos, eso significa que tenemos 10 * 10 = 100 formas diferentes de llenar ese espacio. Esto tiene sentido porque el número más grande de 2 dígitos es 99 e incluye 0 que hace cien números diferentes. Entonces, para cualquier número de n dígitos en la base 10, podemos tener 10 ^ n números diferentes o 10 * 10 * 10 * … * 10 n veces.

Las computadoras usan un sistema base 2. Para base-2, usamos 2 ^ n para encontrar las combinaciones de números. Entonces, 3 dígitos equivalen a 2 ^ 3 = 8 números diferentes (de manera similar, 2 ^ 4 = 16, 2 ^ 5 = 32, etc.) Entonces, tiene sentido que la memoria esté en potencias de 2.

Aquí hay información adicional: 1 byte = 2 ^ 3 = 8 bits

1 KB = 2 ^ (10) bytes = 1024 B

1 MB = 2 ^ (10) KB = 1024 KB

Debido a que la computadora solo entiende el lenguaje de nivel de máquina y solo hay dos dígitos en el lenguaje de nivel de máquina 1,0, es por eso que el tamaño de la memoria en cada cosa en las computadoras tiene una potencia de dos

En la paginación, el tamaño de página tiene una potencia de 2, lo que simplifica la tarea de traducción de direcciones de dirección lógica a dirección física.

así que para aprovechar el espacio para la página necesitamos potencia de 2 cuadros de tamaño en RAM.

Ahora, si el tamaño de la RAM no tiene una potencia de 2, entonces existe la posibilidad de que alguna área del ram no se use durante el cálculo. en segundo lugar, la RAM es costosa, por lo que debemos utilizar la memoria de la manera más eficiente posible.

es conveniente usar potencia de 2

La memoria siempre está relacionada con el tamaño del bus, lo que facilitará el acceso a las ubicaciones de la memoria. Por ejemplo: – en una máquina de 32 bits puede acceder a todas las ubicaciones de memoria con 4 GB.

La memoria está estrechamente vinculada a la CPU, por lo que hacer que su tamaño sea una potencia de dos significa que se pueden empaquetar múltiples módulos que requieren un mínimo de lógica para cambiar entre ellos; solo es necesario verificar unos pocos bits desde el final (ya que la representación binaria del tamaño es 10000000 independientemente de su tamaño) en lugar de muchos más bits si no fuera una potencia de dos.

todo en computadoras esta en binario y el sistema binario incluye solo 1’s y 0’s, eso hace un total de 2 dígitos .. !!

Porque acceder a esta memoria por el procesador también tiene una potencia de 2.

Es decir,

Acceso a 8 bits (byte).

Acceso de 16 bits (palabra,).

Acceso de 32 bits (int)

Etc.