原来机械硬盘比内存慢10万倍

文章详细比较了不同类型的存储器,如寄存器、高速缓存、内存、固态硬盘和机械硬盘,以及网络的访问速度。强调了存储器层次结构的平衡策略,解释了为何不能将所有存储器替换为高速缓存,涉及成本、容量和数据持久性等因素。
摘要由CSDN通过智能技术生成

我们都知道机械硬盘的速度很慢,内存的速度很快,那么不同存储器之间的差距到底有多大呢?

我们先来看一幅图:

在这里插入图片描述
CPU访问寄存器的时间是0.3纳秒,访问L1高速缓存的时间是1纳秒,访问L2高速缓存的时间是4纳秒…

秒、毫秒、微妙、纳秒的计算公式如下:

1s(秒) = 1000 ms(毫秒) = 1000 000 μs(微秒) = 1000 000 000 ns(纳秒)

我们单单这样看可能没什么感觉,我把上面的参数都摘录下来,为了更直观的比较,我把0.3纳秒放大成1秒,其他数据同比例放大,对比一下:

类型容量访问时间相对时间
寄存器1k0.3ns1秒
L1高速缓存32K1ns3秒
L2高速缓存256k4ns12秒
L3高速缓存8M40ns2分钟
内存16G100ns5分钟
固态硬盘1T100μs3.5天
机械硬盘1T10ms1年
网络(北京到上海)-30ms3年

在各种存储器操作的耗时被量化之后,我们就有了很直观的感觉。

下面我们切换到人类的视觉来比较一下:

CPU访问寄存器和高速缓存,基本都是几秒钟,最多两分钟就够了,如果访问内存的话需要5分钟,这都算比较快的速度了。

如果CPU要访问硬盘就很慢了,CUP访问固体硬盘(SSD)需要3.5天时间,如果访问机械硬盘,就需要1年的时间。

最慢的是网络,从北京到上海需要3年,如果距离再远点,那就更慢了…

这和我们的体感就对应上了,平时我们打开一个文件的时候感觉很慢,就是因为在读机械硬盘(固态硬盘就快多了),最慢的是打开网页,半天才刷出来。

你可能会问:既然高速缓存那么快,那我们把所有的存储器都换成高速缓存不就行了吗?

答案是不行,有以下几个原因:

  • 成本: 高速缓存是一种非常昂贵的存储器,其制造成本远高于其他存储器类型,所以将所有存储器都设计成高速缓存会显著增加整个系统的成本。
  • 容量: 高速缓存的容量通常较小,如果把所有的存储器都换成高速缓存,就存不下这么多数据了。
  • 特性: 也是最重要的一点,高速缓存是一种易失性存储器,存储的内容在断电时会丢失,如果要长期保存数据,还是要保存到硬盘中。

存储器的层次关系是这样的:
在这里插入图片描述
(图片来源:https://xiaolincoding.com/os/1_hardware/storage.html#cpu-cache)

存储器层次结构是为了在性能、容量和成本之间取得平衡,存储容量越大,速度就越慢,成本也就越低,价格就越便宜。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值