¿Qué significa "costo por bit"?

17

Estoy leyendo los sistemas operativos de William Stallings : principios internos y principios de diseño (séptima edición) , y un pasaje sobre la jerarquía de la memoria me confundió. ¿Qué quiere decir el autor cuando menciona un "mayor costo por bit"?

Esto es lo que dice el párrafo relevante en la página 24:

Como podría esperarse, existe una compensación entre las tres características clave de la memoria: a saber, capacidad, tiempo de acceso y costo. Se utilizan una variedad de tecnologías para implementar sistemas de memoria, y en este espectro de tecnologías, se mantienen las siguientes relaciones:

  • Tiempo de acceso más rápido, mayor costo por bit
  • Mayor capacidad, menor costo por bit
  • Mayor capacidad, menor velocidad de acceso.

Entiendo que cuanto más baja en la pirámide de la jerarquía de memoria, más lento es el tiempo de acceso.

Al igual, un disco magnético o una tarjeta SSD tendrá tiempos de acceso más lentos que los registros de la CPU o la memoria caché o la RAM.

Pero, ¿qué significa que haya un "mayor costo por bit"? ¿Ralentiza otros procesos para acceder a esta memoria? Eso parecería contrario a la intuición ya que se supone que los tiempos de acceso son más rápidos ¿Simplemente ocupan más espacio y, por lo tanto, hay menos?

Darien Springer
fuente
1
¿Podría citar textualmente la oración / párrafo / oración relevante?
Bob
37
El autor se refiere al "costo" como un gasto monetario.
aserrín
8
El autor está tratando de evitar denominaciones específicas en esta generalización ... esta versión es presumiblemente más de propósito general que "dólares por byte", "euros por yobibyte", "ha'pennies por mordisco", "rocas brillantes por tryte" o "pollos por qutrit"
AC
1
No te preocupes, es un problema de hardware.
Samuel
1
Si puede obtener 1GB por $ 8, entonces eso es 8000000000 bits por $ 8, entonces eso es $ 0.000000001 por cada bit.
user253751

Respuestas:

26

El costo por bit es el costo monetario (es decir, en dólares y centavos) por unidad de memoria, eso es todo, es decir, una forma de decir "suponiendo que la cantidad de memoria requerida sea la misma". (También podría decir el costo por concierto de memoria, pero mencionar el tamaño implica un caso de uso. Un bit es sin duda la cantidad más pequeña que se puede almacenar)

davidgo
fuente
77
Me pregunto si no estás pensando demasiado en esto. El costo puede pensarse en $ (o centavos) que cuesta almacenar la cantidad de memoria. A riesgo de confundirlo más (espero que no), si quiero almacenar 1TB de datos, puedo almacenarlo en un SSD o un disco duro, el SSD será rápido, pero costará alrededor de $ 500, mientras que el disco duro puede costar $ 100. Por lo tanto, un tiempo de acceso más rápido significa más por unidad de almacenamiento. Del mismo modo, si quiero almacenar TB de datos, me costará alrededor de $ 160, en lugar de decir $ 60 por 1 TB, por lo que el costo por TB para 5 TB es de $ 40 en comparación con $ 60 por 1 TB y, por lo tanto, un menor costo por bit ...
davidgo
55
"costo por bit" es equivalente al costo por megabyte para discos duros: compré un disco duro para mi Atari en 1989 y costaba $ 250 por 10 MB, ahora puede obtener 1TB por $ 60, por lo que el costo por megabyte se ha reducido. ..
Solar Mike
44
Lo estaba pensando demasiado. Entonces, el "costo" se refiere a cuánto costaría comprar la memoria con la moneda. Estaba confundido porque pensé que se refería a algún detrimento de otra memoria de proceso.
Darien Springer el
2
Me alegra que parezca que lo entiendes ahora.
davidgo
2
Dado que la confusión del OP se centra en la palabra "costo" (es decir, que significa costo en términos de dinero), sugeriría incorporar esto en la respuesta.
Jon Bentley el
26

El costo por bit es solo el precio que debe pagar por una cantidad específica de memoria.

Si alguna cantidad de memoria de la marca X cuesta $ 20 y la misma cantidad de memoria de la marca Y cuesta $ 25, entonces la marca X tiene un mejor costo por bit. Las diferencias de costo por bit son mucho más pronunciadas al comparar diferentes tipos de memoria (SRAM, DRAM, flash, SSD ...)

gronostaj
fuente
3

Además de estas otras respuestas que mencionan correctamente que el costo por bit es la cantidad de dinero por bit:

Si tiene memoria que almacena 1024 bytes, eso es 8192 bits. Si esa memoria le cuesta $ 10, entonces sería $ 10 (costo) / 8192 bits, o $ 0.001220703125 por bit. Si tuviera memoria con un tiempo de acceso más rápido, tal vez le costaría $ 20, en cuyo caso tendría $ 0.00244140625 por bit.

Faster access time: $0.00244140625  cost per bit 
Greater capacity:   $0.001220703125 cost per bit
Wayne Werner
fuente
1

Creo que lo que faltan otras respuestas es lo que Stallings dice sobre la relación perpetua entre los tres escenarios:

Digamos que tiene algo de memoria, cualquier memoria, que cuesta $ 10 por un dispositivo de 1GB con un tiempo de acceso de 10ns ... por lo tanto, $ 10 / GB.

Lo que Stallings dice es que si desea un almacenamiento más rápido, costará más, digamos $ 15 por 1 GB con un tiempo de acceso de 5ns = $ 15 / GB, un costo por bit más alto, en comparación con la memoria anterior.

Si desea unidades más grandes, puede costarle $ 15 por 2GB, esta vez reduciendo el costo por bit: $ 7.50 por GB. Sin embargo, este palo más grande tendrá un tiempo de acceso más lento, digamos 12ns.

Sin embargo, es posible que pueda obtener una versión premium del dispositivo más grande que todavía tiene un tiempo de acceso de 10ns, pero esto costaría aún más, tal vez $ 18 ($ 9 / GB).

Como dice Stallings, "existe una compensación entre las tres características clave de la memoria: capacidad, tiempo de acceso y costo". Y sugiere correctamente que, tal como es actualmente el caso, este fue el caso de las tecnologías / generaciones de memoria anteriores, y será el caso de las tecnologías / generaciones de memoria futuras.

[1 GB = (1024) (1024) (1024) (8) = 8589934592 bits. Por lo tanto, el costo literal por bit para nuestra memoria de $ 10 (arriba) sería $ 0.0000000012 por bit]

CJM
fuente
Si bien su ejemplo también funciona, esto generalmente no se aplica a la misma tecnología. Esta es una declaración muy conocida en el diseño de hardware y generalmente se entiende que diferentes tecnologías tienen diferentes propiedades: por ejemplo, puede tener un caché L1 pequeño pero muy rápido y costoso o puede obtener GB casi gratis cuando usa RAM DDR. Y si va un paso más allá, puede contraer TB utilizando un disco duro. Y así. Son los órdenes de magnitudes los que cuentan.
Voo
@Voo Si bien la escala es diferente, los principios son los mismos. Sin embargo, no es la magnitud lo que importa: es el principio de que existe una compensación entre los factores competidores. Puede ser barato, rápido o grande, pero no los tres. Uno podría ampliar el argumento agregando tamaño físico, consumo de energía / calor. Al diseñar su sistema operativo / aplicación / dispositivo / dispositivo, debe equilibrar estas cosas.
CJM
Sí, el principio es lo que importa. Solo estoy señalando el uso general en la comunidad donde generalmente se usa esa declaración: diseño de hardware. Le preocupa si leer algo de la memoria caché, la memoria o el disco duro, no si su memoria es un 5% más rápida o no.
Voo
@Voo Estoy con CJM, e iba a publicar una respuesta similar si aún no lo hubiera hecho. Esto no solo se usa en el diseño de hardware, también lo usan los arquitectos de sistemas para determinar la mejor configuración que pueden permitirse.
Barmar
-1

Específicamente, los registros de la CPU son el tipo de memoria más rápido y costoso. Ocupan los bienes inmuebles más valiosos de toda la PC. Los diversos niveles de cachés están más lejos del cálculo real, y el tiempo de propagación de la señal eléctrica comienza a ser una consideración. No se puede construir todo a partir de registros.

Christopher Hostage
fuente