“ ราคาต่อบิต” หมายถึงอะไร


17

ฉันกำลังอ่านระบบปฏิบัติการของ William Stallings : Internals และหลักการออกแบบ (รุ่นที่เจ็ด)และข้อความเกี่ยวกับลำดับชั้นหน่วยความจำทำให้ฉันสับสน ผู้เขียนหมายถึงอะไรเมื่อเขากล่าวถึง "ต้นทุนที่สูงขึ้นต่อบิต"

นี่คือสิ่งที่ย่อหน้าที่เกี่ยวข้องในหน้า 24 พูดว่า:

ตามที่คาดไว้อาจมีการแลกเปลี่ยนระหว่างคุณลักษณะสำคัญสามประการของหน่วยความจำ ได้แก่ ความจุเวลาในการเข้าถึงและค่าใช้จ่าย ความหลากหลายของเทคโนโลยีที่ใช้ในการใช้ระบบหน่วยความจำและในสเปกตรัมของเทคโนโลยีนี้มีความสัมพันธ์ต่อไปนี้:

  • เข้าถึงได้เร็วขึ้นราคาต่อบิตที่สูงขึ้น
  • ความจุที่มากขึ้นต้นทุนที่น้อยกว่าต่อบิต
  • ความจุที่มากขึ้นความเร็วในการเข้าถึงที่ช้าลง

ฉันเข้าใจว่ายิ่งคุณลดระดับพีระมิดของลำดับชั้นความจำลงเท่าใดเวลาในการเข้าถึงก็จะช้าลง

เช่นเดียวกับดิสก์แม่เหล็กหรือการ์ด SSD จะมีเวลาเข้าถึงช้ากว่าการลงทะเบียน CPU หรือแคชหรือ RAM

แต่มันหมายความว่าอย่างไรที่จะมี "ราคาต่อบิตที่มากกว่า" มันช้าลงกระบวนการอื่น ๆ ในการเข้าถึงหน่วยความจำนี้หรือไม่? ดูเหมือนว่าจะตอบโต้ได้ง่ายเนื่องจากเวลาในการเข้าถึงควรเร็วกว่านี้หรือไม่ พวกเขาใช้พื้นที่มากขึ้นและมีจำนวนน้อยลงหรือไม่


1
คุณสามารถพูดประโยคต่อคำ / ย่อหน้า / ประโยคที่เกี่ยวข้องได้หรือไม่?
บ๊อบ

37
ผู้เขียนอ้างถึง "ต้นทุน" เป็นค่าใช้จ่ายทางการเงิน
ขี้เลื่อย

8
ผู้เขียนพยายามหลีกเลี่ยงการระบุเฉพาะในการวางนัยนี้ ... รุ่นนี้น่าจะเป็นวัตถุประสงค์ทั่วไปมากกว่า "ดอลลาร์ต่อไบต์", "ยูโรต่อ yobibyte", "ha'pennies ต่อตอด" หรือ "เงาหินต่อ tryte" หรือ "ไก่ต่อ qutrit"
AC

1
ไม่ต้องกังวลนั่นเป็นปัญหาฮาร์ดแวร์
ซามูเอล

1
หากคุณสามารถรับ 1GB สำหรับ $ 8 นั่นคือ 8000000000 บิตสำหรับ $ 8 ดังนั้นนั่นคือ $ 0.000000001 สำหรับแต่ละบิต
user253751

คำตอบ:


26

ต้นทุนต่อบิตคือต้นทุนทางการเงิน (เช่นในหน่วยดอลลาร์และเซ็นต์) ต่อหน่วยความจำนั่นคือทั้งหมดคือวิธีการพูดว่า "สมมติว่าจำนวนหน่วยความจำที่ต้องการเหมือนกัน" (คุณสามารถบอกได้ว่าราคาต่อหน่วยความจำกิ๊กเท่ากัน - แต่การกล่าวถึงขนาดหมายถึงกรณีการใช้งานบิตเป็นเนื้อหาที่เล็กที่สุดที่สามารถเก็บไว้ได้)


7
ฉันสงสัยว่าคุณไม่คิดมากหรือไม่ ค่าใช้จ่ายสามารถคิดเป็น $ (หรือเซ็นต์) มีค่าใช้จ่ายในการจัดเก็บจำนวนหน่วยความจำ ความเสี่ยงที่จะทำให้คุณสับสนมากขึ้น (ฉันหวังว่าฉันจะไม่ทำ) - ถ้าฉันต้องการจัดเก็บข้อมูล 1TB ฉันสามารถจัดเก็บไว้ใน SSD หรือฮาร์ดไดรฟ์ - SSD จะเร็ว แต่จะมีราคาประมาณ $ 500 ในขณะที่ ฮาร์ดไดรฟ์อาจมีราคา $ 100 เวลาในการเข้าถึงที่เร็วขึ้นหมายถึงจำนวนหน่วยเก็บข้อมูลต่อหน่วย ในทำนองเดียวกันหากฉันต้องการเก็บข้อมูล TB จะมีค่าใช้จ่ายฉันประมาณ $ 160 ซึ่งต่างจากการพูด $ 60 ต่อ 1TB ดังนั้นค่าใช้จ่ายต่อ TB สำหรับ 5 TB เท่ากับ $ 40 เทียบกับ $ 60 ต่อ 1TB และมีค่าใช้จ่ายน้อยกว่าต่อบิต ...
davidgo

5
"ราคาต่อบิต" เทียบเท่ากับราคาต่อเมกะไบต์สำหรับฮาร์ดไดรฟ์: ฉันซื้อฮาร์ดไดรฟ์สำหรับ Atari ของฉันในปี 1989 และเป็น $ 250 สำหรับ 10 MB ตอนนี้คุณสามารถรับ 1TB สำหรับ $ 60 ดังนั้นค่าใช้จ่ายต่อเมกะไบต์ลง ..
Solar Mike

4
ฉันคิดว่ามัน ดังนั้น "ต้นทุน" หมายถึงจำนวนหน่วยความจำที่จะต้องซื้อด้วยสกุลเงิน ฉันสับสนเพราะฉันคิดว่ามันหมายถึงความเสียหายของหน่วยความจำกระบวนการบางอย่าง
Darien Springer

2
ฉันยินดีที่คุณดูเหมือนจะได้รับตอนนี้
davidgo

2
เนื่องจากความสับสนของ OP มุ่งเน้นไปที่คำว่า "ต้นทุน" (นั่นคือมันหมายถึงต้นทุนในแง่ของเงิน) ฉันจึงขอแนะนำให้รวมสิ่งนี้ไว้ในคำตอบ
Jon Bentley

26

ค่าใช้จ่ายต่อบิตเป็นเพียงราคาที่คุณต้องจ่ายสำหรับจำนวนเฉพาะของหน่วยความจำ

หากหน่วยความจำ brand X จำนวนหนึ่งมีค่าใช้จ่าย $ 20 และหน่วยความจำ brand Y จำนวนเท่ากันมีราคา $ 25 แสดงว่ายี่ห้อ X มีราคาต่อบิตที่ดีกว่า ความแตกต่างราคาต่อบิตนั้นเด่นชัดกว่ามากเมื่อเปรียบเทียบหน่วยความจำประเภทต่าง ๆ (SRAM, DRAM, แฟลช, SSD ... )


3

นอกจากคำตอบอื่น ๆ ที่กล่าวถึงอย่างถูกต้องแล้วว่าราคาต่อบิตคือจำนวนเงินต่อบิต:

หากคุณมีหน่วยความจำที่เก็บ 1024 ไบต์นั่นคือ 8192 บิต หากหน่วยความจำนั้นมีค่าใช้จ่ายคุณ $ 10 ก็จะเป็น $ 10 (ราคา) / 8192 บิตหรือ $ 0.001220703125 ต่อบิต หากคุณมีหน่วยความจำที่มีเวลาในการเข้าถึงที่เร็วขึ้นอาจจะมีค่าใช้จ่าย $ 20 แทนซึ่งในกรณีนี้คุณจะได้ $ 0.00244140625 ต่อบิต

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

1

ฉันคิดว่าคำตอบอื่น ๆ ที่ขาดหายไปคือสิ่งที่สตอลลิงส์พูดถึงความสัมพันธ์ที่ไม่สิ้นสุดระหว่างสามสถานการณ์:

สมมติว่าคุณมีหน่วยความจำบางส่วนหน่วยความจำใด ๆ ที่มีราคา $ 10 สำหรับแท่ง 1GB ที่มีเวลาเข้าถึง 10ns ... ดังนั้น $ 10 / GB

Stallings กำลังพูดว่าถ้าคุณต้องการพื้นที่เก็บข้อมูลที่เร็วขึ้นมันจะมีราคาสูงกว่าพูด $ 15 ต่อ 1GB ด้วยเวลาเข้าถึง 5ns = $ 15 / GB - ค่าใช้จ่ายต่อบิตสูงกว่าเมื่อเทียบกับหน่วยความจำก่อนหน้า

หากคุณต้องการแท่งที่มีขนาดใหญ่ขึ้นคุณอาจเสียค่าใช้จ่าย $ 15 สำหรับ 2GB ซึ่งคราวนี้ลดค่าใช้จ่ายต่อบิต - $ 7.50 ต่อ GB อย่างไรก็ตามแท่งที่ใหญ่กว่านี้จะใช้เวลาในการเข้าถึงที่ช้าลงพูดได้ 12ns

อย่างไรก็ตามคุณอาจได้รับแท่งขนาดใหญ่รุ่นพรีเมี่ยมที่ยังคงมีเวลาในการเข้าถึง 10ns แต่อาจมีราคาสูงกว่า - อาจเท่ากับ $ 18 ($ 9 / GB)

ดังที่ Stallings กล่าวว่า "มีการแลกเปลี่ยนระหว่างคุณลักษณะสำคัญสามประการของหน่วยความจำคือความจุเวลาในการเข้าถึงและค่าใช้จ่าย" และเขาแนะนำอย่างถูกต้องว่าเช่นเดียวกับในปัจจุบันกรณีนี้เป็นกรณีของเทคโนโลยีหน่วยความจำรุ่นก่อนหน้าและจะเป็นกรณีของเทคโนโลยีหน่วยความจำในอนาคต / รุ่นต่อ ๆ ไป

[1GB = (1024) (1024) (1024) (8) = 8589934592 บิต ดังนั้นราคาแท้จริงต่อบิตสำหรับหน่วยความจำ $ 10 ของเรา (ด้านบน) จะเท่ากับ $ 0.0000000012 ต่อบิต]


ในขณะที่ตัวอย่างของคุณใช้งานได้ปกติจะไม่ใช้กับเทคโนโลยีเดียวกัน นี่เป็นคำสั่งที่รู้จักกันดีในการออกแบบฮาร์ดแวร์และมักจะหมายถึงว่าเทคโนโลยีที่แตกต่างมีคุณสมบัติที่แตกต่าง: เช่นคุณสามารถมีแคช L1 ขนาดเล็ก แต่รวดเร็วและแพงมากหรือคุณสามารถรับ GBs ได้ฟรีเมื่อใช้ DDR RAM และถ้าคุณไปอีกขั้นหนึ่งคุณจะได้รับ TBs โดยใช้ฮาร์ดดิสก์บางตัว และอื่น ๆ มันเป็นคำสั่งของขนาดที่นับ
Voo

@Voo แม้ว่าขนาดจะแตกต่างกันหลักการก็เหมือนกัน อย่างไรก็ตามมันไม่ได้เป็นขนาดที่สำคัญ - มันเป็นหลักการที่มีการแลกเปลี่ยนระหว่างปัจจัยการแข่งขันคุณจะได้รับราคาถูกเร็วหรือใหญ่ แต่ไม่ใช่ทั้งสามคนหนึ่งอาจขยายการโต้แย้งโดยการเพิ่มขนาดทางกายภาพ การใช้พลังงาน / ความร้อน เมื่อออกแบบระบบปฏิบัติการ / แอพพลิเคชั่น / อุปกรณ์ / อุปกรณ์ของคุณคุณต้องสร้างสมดุลให้กับสิ่งเหล่านี้
CJM

ใช่หลักการคือสิ่งที่สำคัญ ฉันแค่ชี้ให้เห็นการใช้งานทั่วไปในชุมชนที่มักใช้คำสั่งนั้น - การออกแบบฮาร์ดแวร์ คุณกังวลว่าจะอ่านอะไรจากแคชหน่วยความจำหรือฮาร์ดดิสก์ไม่ใช่ว่าหน่วยความจำของคุณเร็วกว่าหรือ 5%
Voo

@ Voo ฉันกับ CJM และฉันจะโพสต์คำตอบที่คล้ายกันหากเขาไม่ได้ทำเช่นนั้น นี่ไม่ได้ใช้เพียงแค่การออกแบบฮาร์ดแวร์ แต่ยังใช้งานโดยสถาปนิกระบบเพื่อกำหนดค่าที่ดีที่สุดที่สามารถจ่ายได้
Barmar

-1

โดยเฉพาะ CPU register เป็นหน่วยความจำประเภทที่เร็วและแพงที่สุด พวกเขาใช้อสังหาริมทรัพย์ที่มีค่าที่สุดในพีซีทั้งหมด แคชในระดับต่าง ๆ อยู่ห่างจากการคำนวณจริงมากขึ้นและเวลาในการเผยแพร่สัญญาณไฟฟ้าจะเริ่มพิจารณา คุณไม่สามารถสร้างสิ่งทั้งหมดจากการลงทะเบียน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.