Chi phí trên mỗi bit bit có nghĩa là gì?


17

Tôi đang đọc Hệ điều hành của William Stallings : Nguyên tắc thiết kế và nội bộ (Phiên bản thứ bảy) , và một đoạn về phân cấp bộ nhớ khiến tôi bối rối. Tác giả có ý nghĩa gì khi đề cập đến "chi phí mỗi bit lớn hơn"?

Đây là những gì đoạn liên quan trên trang 24 nói:

Như mong đợi, có một sự đánh đổi giữa ba đặc điểm chính của bộ nhớ: cụ thể là dung lượng, thời gian truy cập và chi phí. Một loạt các công nghệ được sử dụng để triển khai các hệ thống bộ nhớ và trên toàn bộ các công nghệ này, các mối quan hệ sau đây nắm giữ:

  • Thời gian truy cập nhanh hơn, chi phí mỗi bit lớn hơn
  • Dung lượng lớn hơn, chi phí mỗi bit nhỏ hơn
  • Dung lượng lớn hơn, tốc độ truy cập chậm hơn

Tôi hiểu rằng bạn càng đi xuống kim tự tháp của hệ thống phân cấp bộ nhớ thì thời gian truy cập càng chậm.

Giống như, một đĩa từ hoặc thẻ SSD sẽ có thời gian truy cập chậm hơn so với các thanh ghi CPU hoặc bộ đệm hoặc RAM.

Nhưng điều đó có nghĩa là gì khi có "chi phí lớn hơn trên mỗi bit"? Nó có làm chậm các quá trình khác để truy cập bộ nhớ này không? Điều đó có vẻ phản trực giác vì thời gian truy cập được cho là nhanh hơn? Có phải họ chỉ chiếm nhiều không gian hơn và do đó có ít hơn?


1
Bạn có thể trích dẫn nguyên văn câu / đoạn / câu liên quan?
Bob

37
Tác giả đang đề cập đến "chi phí" là một chi phí tiền tệ.
mùn cưa

8
Tác giả đang cố gắng tránh các mệnh giá cụ thể trong việc khái quát hóa này ... phiên bản này có lẽ có mục đích chung hơn là "đô la trên mỗi byte", "euro mỗi yobibyte", "ha'pennies mỗi nibble", "đá sáng bóng trên mỗi tryte", hoặc "gà trên mỗi qutrit"
AC

1
Đừng lo lắng, đó là một vấn đề phần cứng.
Samuel

1
Nếu bạn có thể nhận được 1GB với giá 8 đô la thì đó là 8000000000 bitcoin với giá 8 đô la, vì vậy đó là 0,000000001 đô la cho mỗi bit.
dùng253751

Câu trả lời:


26

Chi phí cho mỗi bit là chi phí tiền tệ (nghĩa là bằng đô la và xu) trên mỗi đơn vị bộ nhớ, đó là tất cả, tức là một cách nói "giả sử lượng bộ nhớ cần là như nhau". (Bạn cũng có thể nói chi phí cho mỗi gig bộ nhớ - nhưng đề cập đến kích thước ngụ ý trường hợp sử dụng. Một bit rất có thể được cho là số tiền nhỏ nhất có thể được lưu trữ)


7
Tôi tự hỏi nếu bạn không lật đổ điều này. Chi phí có thể được tính bằng $ (hoặc xu) chi phí để lưu trữ số lượng bộ nhớ. Có nguy cơ làm bạn bối rối hơn (tôi hy vọng tôi không) - nếu tôi muốn lưu trữ 1TB dữ liệu, tôi có thể lưu trữ trên SSD hoặc ổ cứng - SSD sẽ nhanh, nhưng sẽ tốn khoảng 500 đô la, trong khi ổ cứng có thể có giá 100 đô la. Do đó thời gian truy cập nhanh hơn có nghĩa là nhiều hơn trên mỗi đơn vị lưu trữ. Tương tự, nếu tôi muốn lưu trữ TB dữ liệu, tôi sẽ mất khoảng 160 đô la, trái ngược với 60 đô la cho 1TB - do đó, chi phí cho mỗi TB cho 5 TB là 40 đô la so với 60 đô la cho 1TB và do đó chi phí cho mỗi bit sẽ nhỏ hơn ...
davidgo

5
"chi phí cho mỗi bit" tương đương với chi phí cho mỗi megabyte cho các ổ đĩa cứng: Tôi đã mua một ổ đĩa cứng cho Atari vào năm 1989 và nó là 250 đô la cho 10 MB, bây giờ bạn có thể nhận được 1TB với giá 60 đô la vì vậy chi phí cho mỗi megabyte đã giảm. ..
Solar Mike

4
Tôi đã lật đổ nó. Vì vậy, "chi phí" đề cập đến việc bộ nhớ sẽ mua bao nhiêu tiền với tiền tệ. Tôi đã bối rối bởi vì tôi nghĩ rằng nó đề cập đến một số bất lợi của một số bộ nhớ quá trình khác.
Darien Springer

2
Tôi hài lòng bạn dường như có được nó bây giờ.
davidgo

2
Vì sự nhầm lẫn của OP tập trung vào từ "chi phí" (nghĩa là nó có nghĩa là chi phí về mặt tiền), tôi sẽ đề nghị kết hợp điều này vào câu trả lời.
Jon Bentley

26

Các chi phí cho mỗi bit chỉ là giá mà bạn phải trả tiền cho số tiền cụ thể của bộ nhớ.

Nếu một số lượng bộ nhớ thương hiệu X có giá 20 đô la và cùng một lượng bộ nhớ thương hiệu Y có giá 25 đô la, thì thương hiệu X có chi phí mỗi bit tốt hơn. Sự khác biệt về chi phí cho mỗi bit rõ rệt hơn nhiều khi so sánh các loại bộ nhớ khác nhau (SRAM, DRAM, flash, SSD ...)


3

Ngoài những câu trả lời khác có đề cập chính xác rằng chi phí cho mỗi bit là số tiền trên mỗi bit:

Nếu bạn có bộ nhớ lưu trữ 1024 byte, thì đó là 8192 bit. Nếu bộ nhớ đó tiêu tốn của bạn 10 đô la thì nó sẽ là 10 đô la (chi phí) / 8192 bitcoin, hoặc 0,001220703125 mỗi bit. Nếu bạn có bộ nhớ với thời gian truy cập nhanh hơn, có thể nó sẽ có giá 20 đô la thay vào đó, trong trường hợp đó bạn có 0,00244140625 mỗi bit.

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

1

Tôi nghĩ rằng một chút mà các câu trả lời khác bị thiếu là những gì Stallings đang nói về mối quan hệ vĩnh viễn giữa ba kịch bản:

Giả sử bạn có một số bộ nhớ, bất kỳ bộ nhớ nào, có giá 10 đô la cho thẻ 1 GB với thời gian truy cập 10ns ... do đó là 10 đô la / GB.

What Stallings đang nói rằng nếu bạn muốn lưu trữ nhanh hơn, sẽ tốn nhiều tiền hơn, giả sử 15 đô la cho mỗi 1GB với thời gian truy cập 5ns = 15 đô la / GB - chi phí mỗi bit cao hơn so với bộ nhớ trước đó.

Nếu bạn muốn gậy lớn hơn, có thể bạn phải trả 15 đô la cho 2 GB, lần này giảm chi phí cho mỗi bit - 7,50 đô la mỗi GB. Tuy nhiên, thanh lớn hơn này sẽ có thời gian truy cập chậm hơn, giả sử 12ns.

Tuy nhiên, bạn có thể có được phiên bản cao cấp của thanh lớn hơn vẫn có thời gian truy cập là 10ns, nhưng điều này sẽ có giá cao hơn - có thể là $ 18 ($ 9 / GB).

Như Stallings nói, "có một sự đánh đổi giữa ba đặc điểm chính của bộ nhớ: cụ thể là dung lượng, thời gian truy cập và chi phí". Và ông gợi ý chính xác rằng, giống như trường hợp hiện tại , đây là trường hợp của các công nghệ / thế hệ bộ nhớ trước đó và sẽ là trường hợp cho các thế hệ / công nghệ bộ nhớ trong tương lai.

[1GB = (1024) (1024) (1024) (8) = 8589934592 bit. Do đó, chi phí theo nghĩa đen cho mỗi bit cho bộ nhớ $ 10 của chúng tôi (ở trên) sẽ là $ 0,0000000012 mỗi bit]


Trong khi ví dụ của bạn cũng hoạt động, điều này thường không được áp dụng cho cùng một công nghệ. Đây là một tuyên bố rất nổi tiếng trong thiết kế phần cứng và thường được hiểu là các công nghệ khác nhau có các thuộc tính khác nhau: Ví dụ: bạn có thể có bộ đệm L1 nhỏ nhưng rất nhanh và đắt tiền hoặc bạn có thể nhận GB miễn phí khi sử dụng RAM DDR. Và nếu bạn tiến thêm một bước nữa, bạn có thể bị nhiễm lao bằng cách sử dụng một số đĩa cứng. Và như thế. Đó là mệnh lệnh của cường độ.
Voo

@Voo Trong khi quy mô là khác nhau, các nguyên tắc là như nhau. Tuy nhiên, đó không phải là vấn đề quan trọng - đó là nguyên tắc có sự đánh đổi giữa các yếu tố cạnh tranh. Bạn có thể nhận được giá rẻ, nhanh hoặc lớn, nhưng không phải cả ba. Một số có thể mở rộng đối số bằng cách thêm kích thước vật lý, tiêu thụ điện năng / nhiệt. Khi thiết kế HĐH / ứng dụng / thiết bị / thiết bị của bạn, bạn phải cân bằng những điều này.
CJM

Có nguyên tắc là những gì quan trọng. Tôi chỉ chỉ ra cách sử dụng chung trong cộng đồng nơi câu lệnh đó thường được sử dụng - thiết kế phần cứng. Bạn lo lắng về việc có nên đọc thứ gì đó từ bộ nhớ cache, bộ nhớ hay đĩa cứng hay không, liệu bộ nhớ của bạn có nhanh hơn 5% hay không.
Voo

@Voo Tôi với CJM, và tôi sẽ đăng một câu trả lời tương tự nếu anh ấy đã không làm như vậy. Điều này không chỉ được sử dụng trong thiết kế phần cứng, nó cũng được sử dụng bởi các kiến ​​trúc sư hệ thống, để xác định cấu hình tốt nhất họ có thể mua.
Barmar

-1

Cụ thể, các thanh ghi CPU là loại bộ nhớ nhanh nhất, đắt nhất. Họ chiếm bất động sản có giá trị nhất trong toàn bộ PC. Các mức lưu trữ khác nhau nằm cách xa tính toán thực tế và thời gian truyền tín hiệu điện bắt đầu được xem xét. Bạn không thể xây dựng toàn bộ điều ra khỏi sổ đăng ký.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.