Co oznacza „koszt za bit”?


17

Czytam „ Systemy operacyjne Williama Stallingsa : elementy wewnętrzne i zasady projektowania” (wydanie siódme) , a fragment o hierarchii pamięci wprawił mnie w zakłopotanie. Co autor ma na myśli, gdy wspomina o „większym koszcie na bit”?

Oto, co mówi odpowiedni akapit na stronie 24:

Jak można się spodziewać, istnieje kompromis pomiędzy trzema kluczowymi cechami pamięci: mianowicie pojemnością, czasem dostępu i kosztem. Do implementacji systemów pamięci wykorzystywane są różnorodne technologie. W tym spektrum technologii zachodzą następujące zależności:

  • Szybszy czas dostępu, większy koszt za bit
  • Większa pojemność, mniejszy koszt na bit
  • Większa pojemność, mniejsza prędkość dostępu

Rozumiem, że im niżej schodzisz w dół piramidy hierarchii pamięci, tym wolniejszy jest czas dostępu.

Podobnie, dysk magnetyczny lub karta SSD będzie miała wolniejszy czas dostępu niż rejestry procesora, pamięć podręczna lub pamięć RAM.

Ale co to znaczy, że istnieje „większy koszt za bit”? Czy spowalnia inne procesy dostępu do tej pamięci? Wydawałoby się to sprzeczne z intuicją, ponieważ czasy dostępu powinny być szybsze? Czy po prostu zajmują więcej miejsca i dlatego jest go mniej?


1
Czy możesz podać dosłownie odpowiednie zdanie / akapit / zdanie?
Bob

37
Autor określa „koszt” jako koszt pieniężny.
trociny

8
Autor stara się unikać określonych nominałów w tej uogólnieniu ... ta wersja jest przypuszczalnie bardziej ogólnego przeznaczenia niż „dolary za bajt”, „euro za yobibajt”, „ha'pennies na skubanie”, „błyszczące skały na tryte” lub „Kurczaki na qutrit”
AC

1
Nie martw się, to problem sprzętowy.
Samuel

1
Jeśli możesz dostać 1 GB za 8 USD, to 8000000000 bitów za 8 USD, czyli 0,000000001 USD za każdy bit.
user253751

Odpowiedzi:


26

Koszt na bit to koszt pieniężny (tj. W dolarach i centach) na jednostkę pamięci, to wszystko, tj. Sposób na powiedzenie „zakładając, że wymagana ilość pamięci jest taka sama”. (Można również powiedzieć, że koszt jednego gigabajta pamięci - ale wzmianka o rozmiarze sugeruje przypadek użycia. Trochę to prawdopodobnie najmniejsza ilość, którą można zapisać)


7
Zastanawiam się, czy nie przesadzasz z tym. Koszt można wyobrazić w dolarach (lub centach) za przechowywanie ilości pamięci. Ryzykując, że bardziej Cię pomylę (mam nadzieję, że nie) - jeśli chcę przechowywać 1 TB danych, mogę zapisać je na dysku SSD lub dysku twardym - dysk SSD będzie szybki, ale będzie kosztował około 500 USD, podczas gdy dysk twardy może kosztować 100 USD. W ten sposób krótszy czas dostępu oznacza więcej na jednostkę pamięci. Podobnie, jeśli chcę przechowywać TB danych, będzie mnie to kosztować około 160 USD, w przeciwieństwie do powiedzenia 60 USD za 1 TB - w ten sposób koszt za TB dla 5 TB wynosi 40 USD, a nie 60 USD za 1 TB, a zatem mniejszy koszt za bit ...
davidgo

5
„koszt za bit” jest równoważny kosztowi za megabajt dla dysków twardych: Kupiłem dysk twardy dla mojego Atari w 1989 roku i było to 250 USD za 10 MB, teraz możesz dostać 1 TB za 60 USD, więc koszt za megabajt spadł. ..
Solar Mike

4
Przemyślałem to. Tak więc „koszt” odnosi się do tego, ile kosztowałaby pamięć kupna za walutę. Byłem zdezorientowany, ponieważ myślałem, że odnosi się to do jakiejś innej pamięci procesowej.
Darien Springer

2
Cieszę się, że teraz to rozumiesz.
davidgo

2
Ponieważ zamieszanie PO koncentruje się na słowie „koszt” (tj. Oznacza to koszt w kategoriach pieniężnych), sugerowałbym włączenie tego do odpowiedzi.
Jon Bentley,

26

Koszt na bit jest tylko cena, jaką trzeba zapłacić za określoną ilość pamięci.

Jeśli pewna ilość pamięci marki X kosztuje 20 USD, a ta sama ilość pamięci marki Y kosztuje 25 USD, to marka X ma lepszy koszt na bit. Różnice w kosztach bitów są znacznie wyraźniejsze przy porównywaniu różnych rodzajów pamięci (SRAM, DRAM, flash, SSD ...)


3

Oprócz tych innych odpowiedzi, które słusznie wspominają, że koszt za bit to kwota pieniędzy za bit:

Jeśli masz pamięć, która przechowuje 1024 bajty, to 8192 bitów. Jeśli ta pamięć kosztuje 10 USD, będzie to 10 USD (koszt) / 8192 bitów lub 0,001220703125 USD za bit. Jeśli masz pamięć z szybszym czasem dostępu, być może kosztowałoby to 20 USD, w takim przypadku miałbyś 0,00244140625 USD za bit.

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

1

Myślę, że nieco brakuje innych odpowiedzi, co Stallings mówi o ciągłym związku między trzema scenariuszami:

Powiedzmy, że masz trochę pamięci, jakąkolwiek pamięć, która kosztuje 10 USD za 1 GB pamięci z czasem dostępu 10ns ... a zatem 10 USD / GB.

Stallings mówi, że jeśli chcesz szybszej pamięci, będzie to kosztować więcej, powiedzmy 15 USD za 1 GB przy czasie dostępu 5ns = 15 USD / GB - wyższy koszt za bit w porównaniu do poprzedniej pamięci.

Jeśli chcesz mieć większe karty, może kosztować 15 USD za 2 GB, tym razem obniżając koszt za bit - 7,50 USD za GB. Jednak ten większy drążek będzie miał wolniejszy czas dostępu, powiedzmy 12ns.

Możesz jednak uzyskać wersję premium większego pendrive'a, który nadal ma czas dostępu 10ns, ale kosztowałoby to jeszcze więcej - być może 18 USD (9 USD / GB).

Jak mówi Stallings, „istnieje kompromis pomiędzy trzema kluczowymi cechami pamięci: mianowicie pojemnością, czasem dostępu i kosztami”. I słusznie sugeruje, że tak jak obecnie , tak było w przypadku poprzednich technologii / generacji pamięci i tak będzie w przypadku przyszłych technologii / generacji pamięci.

[1 GB = (1024) (1024) (1024) (8) = 8589934592 bitów. Dlatego dosłowny koszt za bit dla naszej pamięci o wartości 10 USD (powyżej) wyniósłby 0,0000000012 USD za bit]


Chociaż twój przykład również działa, zwykle nie dotyczy to tej samej technologii. Jest to bardzo dobrze znane stwierdzenie w projektowaniu sprzętu i zwykle przyjmuje się, że różne technologie mają różne właściwości: np. Możesz mieć małą, ale bardzo szybką i kosztowną pamięć podręczną L1 lub możesz uzyskać GB prawie za darmo, korzystając z pamięci DDR RAM. A jeśli pójdziesz o krok dalej, możesz uzyskać TB, używając jakiegoś dysku twardego. I tak dalej. Liczą się rzędy wielkości.
Voo,

@Voo Chociaż skala jest inna, zasady są takie same. Jednak nie wielkość ma znaczenie - jest to zasada, że ​​istnieje kompromis między konkurującymi czynnikami. Możesz uzyskać tanie, szybkie lub duże, ale nie wszystkie trzy. Można rozszerzyć argument, dodając rozmiar fizyczny, pobór mocy / ciepło. Projektując system operacyjny / aplikację / urządzenie / urządzenie, musisz zrównoważyć te rzeczy.
CJM

Tak, najważniejsza jest zasada. Zwracam tylko uwagę na ogólne użycie w społeczności, w której zwykle używane jest to stwierdzenie - projektowanie sprzętu. Martwisz się, czy czytać coś z pamięci podręcznej, pamięci lub dysku twardego, a nie czy pamięć jest szybsza o 5%, czy nie.
Voo,

@Voo Jestem z CJM i zamierzałbym opublikować podobną odpowiedź, jeśli jeszcze tego nie zrobił. Nie jest to wykorzystywane tylko w projektowaniu sprzętu, ale jest także wykorzystywane przez architektów systemu, aby określić najlepszą konfigurację, na jaką mogą sobie pozwolić.
Barmar

-1

W szczególności rejestry procesora są najszybszym, najdroższym rodzajem pamięci. Zajmują najcenniejsze nieruchomości na całym komputerze. Różne poziomy pamięci podręcznych są bardziej oddalone od rzeczywistych obliczeń, a czas propagacji sygnału elektrycznego zaczyna być brany pod uwagę. Nie można zbudować całości z rejestrów.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.