“每位成本”是什么意思?


17

我正在阅读William Stallings的《操作系统:内部和设计原理》(第七版),而有关内存层次结构的文章使我感到困惑。作者提到“更大的每比特成本”是什么意思?

这是第24页的相关段落所说的内容:

可以预料,在存储器的三个关键特性之间需要权衡:容量,访问时间和成本。各种各样的技术用于实现内存系统,并且在这一系列技术中,以下关系成立:

  • 存取时间更快,每位成本更高
  • 容量更大,每位成本更低
  • 容量更大,访问速度较慢

我了解到,随着内存层次结构的降低,访问时间越慢。

像磁盘或SSD卡将具有比CPU寄存器或缓存或RAM慢的访问时间。

但是,“每比特成本更高”意味着什么?是否会减慢其他进程访问该内存的速度?由于访问时间应该更快,这似乎违反直觉?它们只是占用更多空间,因此占用的空间更少吗?


1
您能逐字引用相关的句子/段落/句子吗?
鲍勃(Bob)

37
作者将“成本”称为货币支出。
锯末

8
作者正试图避免在这种概括中使用特定的名称...推测该版本比“每字节美元”,“每千欧元欧元”,“半字节的哈皮尼”,“每只Tryt发光的岩石”或“ “每个Qutrit的鸡只”
AC

1
不用担心,这是硬件问题。
塞缪尔

1
如果您可以以8美元的价格获得1GB的存储空间,那么8美元的价格为8000000000位,因此每位价格为0.000000001美元。
user253751 '17

Answers:


26

每位成本是每单位内存的货币成本(即美元和美分),即全部,即一种说法“假设所需的内存量相同”。(您可以平均说出每GB内存的成本-但提及大小意味着一种使用情况。可以说,位是可以存储的最小数量)


7
我想知道您是否没有考虑太多。可以考虑以$(或美分)为单位的成本来存储内存量。冒着使您更加困惑的风险(我希望我不会)-如果我想存储1TB的数据,我可以将其存储在SSD或硬盘驱动器上-SSD速度很快,但售价约为500美元,而硬盘可能要花100美元。因此,更快的访问时间意味着每单位存储更多。同样,如果我要存储TB的数据,它将花费我大约160美元,而不是说1TB为60美元-因此5 TB的每TB成本为40美元,而不是1TB的60美元,因此每位成本更小...
davidgo

5
“每比特成本”等于硬盘驱动器的每兆字节成本:1989年,我为Atari购买了硬盘驱动器,每10 MB成本为250美元,现在可以60美元的价格获得1TB,因此每兆字节的成本下降了。 ..
Solar Mike

4
我想得太多了。因此,“成本”是指用货币购买的内存要花费多少。我很困惑,因为我认为它指的是对其他进程内存的某些损害。
达里恩·施普林格

2
我很高兴您似乎现在明白了。
davidgo

2
由于OP的混乱集中在“成本”一词(即,它表示金钱上的成本),因此我建议将其纳入答案。
乔恩·本特利

26

每比特成本就是你必须为此付出代价的内存具体金额的价格。

如果一定数量的品牌X存储器成本为$ 20,而相同数量的品牌Y存储器成本为$ 25,则品牌X的每位成本更好。比较不同类型的内存(SRAM,DRAM,闪存,SSD等)时,每位成本的差异更加明显。


3

除了这些其他答案之外,正确地提到每位成本是每位货币的金额:

如果您具有存储1024字节的内存,则为8192位。如果该内存的价格为$ 10,则它将为$ 10(cost)/ 8192位,或每位$ 0.001220703125。如果您的内存具有更快的访问时间,则可能会花费20美元,在这种情况下,您的费用为每位0.00244140625美元。

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

1

我认为缺少其他答案的是Stallings在谈论这三种情况之间的永久关系:

假设您有一些内存,任何内存,对于1GB的存储棒,其访问时间为10ns的价格为10美元,因此,每GB为10美元。

Stallings所说的是,如果您想要更快的存储,它将花费更多,例如,每1GB 15美元,访问时间为5ns = 15美元/ GB-与以前的内存相比,每位成本更高。

如果您想要更大的棍子,则2GB的价格为15美元,这一次降低了每位成本-每GB 7.50美元。但是,较大的棒将具有较慢的访问时间,例如12ns。

但是,您也许能够获得较大棒的高级版本,但仍具有10ns的访问时间,但这会花费更多,甚至是18美元(9美元/ GB)。

正如Stallings所说,“内存的三个关键特性之间存在一个权衡:即容量,访问时间和成本”。他正确地建议,就像当前的情况一样,以前的内存技术/世代都是这种情况,将来的内存技术/世代也是如此。

[1GB =(1024)(1024)(1024)(8)= 8589934592位。因此,我们的$ 10内存(上述)的每位实际成本为$ 0.0000000012 [每位]


尽管您的示例也可以使用,但通常不适用于同一技术。这是硬件设计中一个非常著名的陈述,通常意味着不同的技术具有不同的属性:例如,您可以拥有一个很小但非常快速且昂贵的L1缓存,或者在使用DDR RAM时几乎可以免费获得GB。如果再进一步,您可以通过使用一些硬盘来获得TB。等等。重要的是数量级。
Voo

@Voo虽然规模不同,但原理是相同的。但是,大小无关紧要-竞争因素之间需要权衡取舍。您可以廉价,快速或大型购买,但不能同时获得全部三个。可以通过增加实际尺寸来扩大论点,功耗/热量。在设计OS /应用程序/设备/设备时,必须平衡这些因素。
CJM

是的,原则很重要。我只是指出该语句通常使用的社区中的一般用法-硬件设计。您担心的是从高速缓存,内存或硬盘中读取内容,而不是内存速度是否快5%。
Voo

@Voo我在CJM工作,如果他还没有这样做的话,我打算发表一个类似的答案。这不仅用于硬件设计,还被系统架构师用来确定他们可以负担的最佳配置。
巴马尔(Barmar)'17年

-1

具体来说,CPU寄存器是最快,最昂贵的内存类型。他们占据了整个PC中最有价值的空间。高速缓存的各个级别与实际计算相距甚远,并且电信号传播时间开始成为考虑因素。您不能用寄存器构建整个内容。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.