Que signifie «coût par bit»?


17

Je lis les systèmes d'exploitation de William Stallings : internes et principes de conception (septième édition) , et un passage sur la hiérarchie de la mémoire m'a embrouillé. Que veut dire l'auteur lorsqu'il mentionne un "coût par bit plus élevé"?

Voici ce que dit le paragraphe pertinent de la page 24:

Comme on pouvait s'y attendre, il existe un compromis entre les trois caractéristiques clés de la mémoire: la capacité, le temps d'accès et le coût. Une variété de technologies sont utilisées pour implémenter des systèmes de mémoire, et à travers ce spectre de technologies, les relations suivantes s'appliquent:

  • Temps d'accès plus rapide, coût par bit plus élevé
  • Plus grande capacité, moindre coût par bit
  • Plus grande capacité, vitesse d'accès plus lente

Je comprends que plus vous descendez dans la pyramide de la hiérarchie de la mémoire, plus le temps d'accès est lent.

Par exemple, un disque magnétique ou une carte SSD aura des temps d'accès plus lents que les registres CPU ou le cache ou la RAM.

Mais qu'est-ce que cela signifie pour qu'il y ait un "coût par bit plus élevé"? Est-ce que cela ralentit les autres processus pour accéder à cette mémoire? Cela semblerait contre-intuitif car les temps d'accès sont censés être plus rapides? Prennent-ils simplement plus de place et donc il y en a moins?


1
Pourriez-vous citer mot à mot la phrase / le paragraphe / la phrase pertinents?
Bob

37
L'auteur fait référence au «coût» comme une dépense monétaire.
sciure de bois

8
L'auteur essaie d'éviter les dénominations spécifiques dans cette généralisation ... cette version est vraisemblablement plus polyvalente que "dollars par octet", "euros par yobibyte", "ha'pennies par nibble", "shiny rocks per tryte", ou "poulets par qutrit"
AC

1
Ne vous inquiétez pas, c'est un problème matériel.
Samuel

1
Si vous pouvez obtenir 1 Go pour 8 $, alors c'est 8000000000 bits pour 8 $, donc c'est 0,000000001 $ pour chaque bit.
user253751

Réponses:


26

Le coût par bit est le coût monétaire (c'est-à-dire en dollars et en cents) par unité de mémoire, c'est tout, c'est-à-dire une façon de dire "en supposant que la quantité de mémoire requise est la même". (Vous pourriez également dire le coût par gig de mémoire - mais mentionner la taille implique un cas d'utilisation. Un peu est sans doute la plus petite quantité qui peut être stockée)


7
Je me demande si vous n'y pensez pas trop. Le coût peut être pensé en $ (ou cents) qu'il en coûte pour stocker la quantité de mémoire. Au risque de vous embrouiller davantage (j'espère que non) - si je veux stocker 1 To de données, je peux le stocker sur un SSD ou un disque dur - le SSD sera rapide, mais coûtera environ 500 $, tandis que le disque dur peut coûter 100 $. Ainsi, un temps d'accès plus rapide signifie plus par unité de stockage. De même, si je veux stocker des To de données, cela me coûtera environ 160 $, contre 60 $ pour 1 To - donc le coût par To pour 5 To est de 40 $ contre 60 $ pour 1 To et donc un moindre coût par bit ...
davidgo

5
"coût par bit" équivaut au coût par mégaoctet pour les disques durs: j'ai acheté un disque dur pour mon Atari en 1989 et c'était 250 $ pour 10 Mo, maintenant vous pouvez obtenir 1 To pour 60 $, donc le coût par mégaoctet a baissé. ..
Solar Mike

4
J'y pensais trop. Le "coût" fait donc référence au coût de la mémoire à acheter avec de la monnaie. J'étais confus parce que je pensais que cela faisait référence à un détriment d'une autre mémoire de processus.
Darien Springer

2
Je suis content que vous sembliez l'obtenir maintenant.
davidgo

2
Étant donné que la confusion du PO se concentre sur le mot «coût» (c'est-à-dire qu'il signifie coût en termes d'argent), je suggérerais de l'incorporer dans la réponse.
Jon Bentley

26

Le coût par bit est simplement le prix à payer pour une quantité de mémoire spécifique.

Si une certaine quantité de mémoire de marque X coûte 20 $ et la même quantité de mémoire de marque Y coûte 25 $, alors la marque X a un meilleur coût par bit. Les différences de coût par bit sont beaucoup plus prononcées lors de la comparaison de différents types de mémoire (SRAM, DRAM, flash, SSD ...)


3

En plus de ces autres réponses qui mentionnent à juste titre que le coût par bit est le montant d'argent par bit:

Si vous avez une mémoire qui stocke 1024 octets, cela fait 8192 bits. Si cette mémoire vous coûte 10 $, ce serait 10 $ (coût) / 8192 bits, ou 0,001220703125 $ par bit. Si vous aviez de la mémoire avec un temps d'accès plus rapide, cela coûterait peut-être 20 $ à la place, auquel cas vous auriez 0,00244140625 $ par bit.

Faster access time: $0.00244140625  cost per bit 
Greater capacity:   $0.001220703125 cost per bit

1

Je pense que le peu que d'autres réponses manquent est ce que Stallings dit à propos de la relation perpétuelle entre les trois scénarios:

Disons que vous avez de la mémoire, n'importe quelle mémoire, qui coûte 10 $ pour un bâton de 1 Go avec un temps d'accès de 10 ns ... donc 10 $ / Go.

Ce que Stallings dit, c'est que si vous voulez un stockage plus rapide, cela coûtera plus cher, disons 15 $ par 1 Go avec un temps d'accès de 5 ns = 15 $ / Go - un coût par bit plus élevé par rapport à la mémoire précédente.

Si vous vouliez des bâtons plus grands, cela pourrait vous coûter 15 $ pour 2 Go, cette fois en réduisant le coût par bit - 7,50 $ par Go. Cependant, ce bâton plus gros aura un temps d'accès plus lent, disons 12 ns.

Cependant, vous pouvez peut-être obtenir une version premium de la plus grande clé qui a toujours un temps d'accès de 10ns, mais cela coûterait encore plus - peut-être 18 $ (9 $ / Go).

Comme le dit Stallings, "il existe un compromis entre les trois caractéristiques clés de la mémoire: la capacité, le temps d'accès et le coût". Et il suggère à juste titre que, tout comme c'est actuellement le cas, ce fut le cas pour les technologies / générations de mémoire précédentes, et ce sera le cas pour les technologies / générations de mémoire futures.

[1 Go = (1024) (1024) (1024) (8) = 8589934592 bits. Par conséquent, le coût littéral par bit pour notre mémoire de 10 $ (ci-dessus) serait de 0,0000000012 $ par bit]


Bien que votre exemple fonctionne également, cela n'est généralement pas appliqué à la même technologie. Ceci est une déclaration très connue dans la conception matérielle et signifie généralement que différentes technologies ont des propriétés différentes: par exemple, vous pouvez avoir un cache L1 petit mais très rapide et coûteux ou vous pouvez obtenir des Go presque gratuitement lorsque vous utilisez la RAM DDR. Et si vous allez plus loin, vous pouvez obtenir des TB en utilisant un disque dur. Etc. Ce sont les ordres de grandeur qui comptent.
Voo

@Voo Bien que l'échelle soit différente, les principes sont les mêmes. Cependant, ce n'est pas l'ampleur qui importe - c'est le principe qu'il y a un compromis entre les facteurs concurrents.Vous pouvez obtenir bon marché, rapide ou grand, mais pas les trois.On pourrait étendre l'argument en ajoutant la taille physique, consommation d'énergie / chaleur. Lors de la conception de votre système d'exploitation / application / appareil / appareil, vous devez équilibrer ces éléments.
CJM

Oui, c'est le principe qui compte. Je souligne simplement l'utilisation générale dans la communauté où cette déclaration est généralement utilisée - la conception matérielle. Vous vous demandez s'il faut lire quelque chose dans le cache, la mémoire ou le disque dur, pas si votre mémoire est 5% plus rapide ou non.
Voo

@Voo, je suis avec CJM, et j'allais poster une réponse similaire s'il ne l'avait pas déjà fait. Ce n'est pas seulement utilisé dans la conception matérielle, il est également utilisé par les architectes système pour déterminer la meilleure configuration qu'ils peuvent se permettre.
Barmar

-1

Plus précisément, les registres CPU sont le type de mémoire le plus rapide et le plus cher. Ils occupent l'immobilier le plus précieux de tout le PC. Les différents niveaux de caches sont plus éloignés du calcul réel et le temps de propagation du signal électrique commence à être pris en compte. Vous ne pouvez pas construire le tout à partir de registres.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.