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?
źródło
Odpowiedzi:
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ć)
źródło
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 ...)
źródło
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.
źródło
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]
źródło
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.
źródło