O que significa "custo por bit"?

17

Estou lendo Sistemas operacionais de William Stallings : princípios internos e de design (sétima edição) , e uma passagem sobre hierarquia de memória me deixou confusa. O que o autor quer dizer quando menciona um "maior custo por bit"?

Aqui está o que diz o parágrafo relevante na página 24:

Como era de se esperar, existe uma troca entre as três principais características da memória: capacidade, tempo de acesso e custo. Uma variedade de tecnologias é usada para implementar sistemas de memória e, nesse espectro de tecnologias, os seguintes relacionamentos são mantidos:

  • Tempo de acesso mais rápido, maior custo por bit
  • Maior capacidade, menor custo por bit
  • Maior capacidade, velocidade de acesso mais lenta

Entendo que quanto mais baixo você descer a pirâmide da hierarquia de memória, mais lento será o tempo de acesso.

Assim, um disco magnético ou cartão SSD terá tempos de acesso mais lentos que os registradores da CPU, cache ou RAM.

Mas o que significa haver um "maior custo por bit"? Isso diminui a velocidade de outros processos para acessar essa memória? Isso pareceria contra-intuitivo, pois os tempos de acesso são mais rápidos? Eles apenas ocupam mais espaço e, portanto, há menos?

Darien Springer
fonte
1
Você poderia citar a sentença / parágrafo / sentença relevante literalmente?
Bob
37
O autor está se referindo ao "custo" como uma despesa monetária.
sawdust
8
O autor está tentando evitar denominações específicas nessa generalização ... essa versão é presumivelmente mais de uso geral do que "dólares por byte", "euros por yobibyte", "hanpennies por mordidela", "rochas brilhantes por tryte" ou "galinhas por qutrit"
AC
1
Não se preocupe, isso é um problema de hardware.
Samuel
1
Se você pode obter 1 GB por US $ 8, isso significa 8000000000 bits por US $ 8, portanto, é US $ 0,000000001 para cada bit.
precisa saber é o seguinte

Respostas:

26

O custo por bit é o custo monetário (ou seja, em dólares e centavos) por unidade de memória, isso é tudo, ou seja, uma maneira de dizer "assumindo que a quantidade de memória necessária é a mesma". (Você também pode dizer o custo por gig de memória - mas mencionar o tamanho implica em um caso de uso. Um pouco é, sem dúvida, a menor quantidade que pode ser armazenada)

davidgo
fonte
7
Eu me pergunto se você não está pensando demais nisso. O custo pode ser pensado em $ (ou centavos) que custa armazenar a quantidade de memória. Correndo o risco de confundi-lo mais (espero não o fazer) - se eu quiser armazenar 1 TB de dados, posso armazená-lo em um SSD ou disco rígido - o SSD será rápido, mas custará cerca de US $ 500, enquanto o disco rígido pode custar US $ 100. Assim, o tempo de acesso mais rápido significa mais por unidade de armazenamento. Da mesma forma, se eu quiser armazenar TB de dados, isso me custará cerca de US $ 160, em vez de US $ 60 por 1 TB - portanto, o custo por TB para 5 TB é de US $ 40 em comparação com US $ 60 por 1 TB e, portanto, menor custo por bit ...
Davidgo 3/17
5
"custo por bit" é equivalente ao custo por megabyte de discos rígidos: comprei um disco rígido para o meu Atari em 1989 e custava US $ 250 por 10 MB, agora você pode obter 1 TB por US $ 60, para que o custo por megabyte diminua. ..
Solar Mike
4
Eu estava pensando demais. Portanto, o "custo" refere-se a quanto a memória custaria para comprar com a moeda. Fiquei confuso porque pensei que se referia a algum prejuízo de alguma outra memória de processo.
Darien Springer
2
Estou satisfeito que você pareça entender agora.
Davidgo 03/10
2
Como a confusão do OP se concentra na palavra "custo" (ou seja, que significa custo em termos de dinheiro), eu sugeriria incorporá-lo à resposta.
Jon Bentley
26

O custo por bit é apenas o preço que você deve pagar por uma quantidade específica de memória.

Se uma certa quantidade de memória da marca X custa US $ 20 e a mesma quantidade da memória da marca Y custa US $ 25, a marca X tem um custo por bit melhor. As diferenças de custo por bit são muito mais pronunciadas ao comparar diferentes tipos de memória (SRAM, DRAM, flash, SSD ...)

gronostaj
fonte
3

Além dessas outras respostas que mencionam corretamente que o custo por bit é a quantidade de dinheiro por bit:

Se você tem memória que armazena 1024 bytes, são 8192 bits. Se essa memória custasse US $ 10, seria US $ 10 (custo) / 8192 bits ou US $ 0,001220703125 por bit. Se você tivesse memória com um tempo de acesso mais rápido, talvez custasse US $ 20, nesse caso, você teria US $ 0,00244140625 por bit.

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

Eu acho que o pouco que faltam outras respostas é o que Stallings está dizendo sobre o relacionamento perpétuo entre os três cenários:

Digamos que você tenha alguma memória, qualquer memória, que custa US $ 10 por um cartão de 1 GB com um tempo de acesso de 10ns ... portanto, US $ 10 / GB.

O que Stallings está dizendo é que, se você quiser um armazenamento mais rápido, custará mais, digamos, US $ 15 por 1 GB com um tempo de acesso de 5ns = US $ 15 / GB - um custo por bit mais alto em comparação com a memória anterior.

Se você quiser varas maiores, poderá custar US $ 15 por 2 GB, desta vez reduzindo o custo por bit - US $ 7,50 por GB. No entanto, este bastão maior terá um tempo de acesso mais lento, digamos 12ns.

No entanto, você poderá obter uma versão premium do stick maior que ainda possui um tempo de acesso de 10ns, mas isso custaria ainda mais - talvez US $ 18 (US $ 9 / GB).

Como diz Stallings, "existe uma troca entre as três características principais da memória: capacidade, tempo de acesso e custo". E ele sugere corretamente que, assim como atualmente é o caso, foi o caso das tecnologias / gerações anteriores de memória e será o caso das futuras tecnologias / gerações da memória.

[1 GB = (1024) (1024) (1024) (8) = 8589934592 bits. Portanto, o custo literal por bit para nossa memória de US $ 10 (acima) seria US $ 0,0000000012 por bit]

CJM
fonte
Embora seu exemplo também funcione, isso geralmente não é aplicado à mesma tecnologia. Esta é uma afirmação muito conhecida no design de hardware e, geralmente, entende-se que tecnologias diferentes têm propriedades diferentes: por exemplo, você pode ter um cache L1 pequeno, mas muito rápido e caro, ou pode obter GBs quase gratuitamente ao usar a RAM DDR. E se você der um passo adiante, poderá obter TBs usando algum disco rígido. E assim por diante. São as ordens de magnitudes que contam.
Voo
@Voo Embora a escala seja diferente, os princípios são os mesmos. No entanto, não é a magnitude que importa - é o princípio de que há uma troca entre os fatores concorrentes.Você pode ficar barato, rápido ou grande, mas não todos os três.Pode-se expandir o argumento adicionando tamanho físico, consumo de energia / calor. Ao projetar seu sistema operacional / aplicativo / dispositivo / dispositivo, você precisa equilibrar essas coisas.
CJM
Sim, o princípio é o que importa. Estou apenas apontando o uso geral na comunidade em que essa declaração geralmente é usada - design de hardware. Você se preocupa em ler algo do cache, memória ou disco rígido, e não se a sua memória é 5% mais rápida ou não.
Voo
@Voo Estou com o CJM e postaria uma resposta semelhante se ele ainda não o tivesse feito. Isso não é usado apenas no design de hardware, mas também pelos arquitetos de sistemas, para determinar a melhor configuração que eles podem pagar.
Barmar
-1

Especificamente, os registros da CPU são o tipo de memória mais rápido e mais caro. Eles ocupam o espaço mais valioso de todo o PC. Os vários níveis de caches estão mais distantes da computação real e o tempo de propagação do sinal elétrico começa a ser considerado. Você não pode criar tudo com registros.

Christopher Hostage
fonte