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

news/2024/5/18 22:05:49 标签: 内存, 速度, 固态硬盘, 机械硬盘

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

我们先来看一幅图:

在这里插入图片描述
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)

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


http://www.niftyadmin.cn/n/5192425.html

相关文章

深入解析 binding:“required“ 与 validate:“required“ 的区别

介绍 在 Go 语言的 Web 开发中,我们经常会遇到参数验证的需求。其中,binding:"required" 和 validate:"required" 是两个常见的标签,但它们具有不同的上下文和用途。本文将深入解析这两个标签,帮助开发者更好…

Vue3 插槽 v-slot

插槽 视频链接:尚硅谷vue-插槽章节 不使用插槽的情况下 结果: 1 默认插槽 结果: 2 具名插槽 #b是v-slot:b 的缩写 顾名思义就是指着名字去插入 结果: 3 作用域插槽 可以传递数据的插槽,子组件可以将数据回…

力扣面试经典150题详细解析

刷题的初心 众所周知,算法题对于面试大厂是必不可缺的一环,而且对于提高逻辑思维能力有着不小的提升。所以,对于程序员来讲,无论刚入行,还是从业多年,保持一个清醒的头脑,具备一个良好的设计思…

CCF CSP认证 历年题目自练Day47

题目 试题编号: 201712-3 试题名称: Crontab 时间限制: 10.0s 内存限制: 256.0MB 样例输入 3 201711170032 201711222352 0 7 * * 1,3-5 get_up 30 23 * * Sat,Sun go_to_bed 15 12,18 * * * have_dinner 样例输出 201711170…

拒绝服务攻击工具的编写

预计更新网络扫描工具的编写漏洞扫描工具的编写Web渗透测试工具的编写密码破解工具的编写漏洞利用工具的编写拒绝服务攻击工具的编写密码保护工具的编写情报收集工具的编写 拒绝服务攻击是一种恶意攻击,旨在使目标系统无法正常工作。这种攻击通常通过发送大量流量或…

欧拉筛法优化(判断素数)

原因: 6的倍数以外的数是什么? 6的倍数就是6k,6k附近的数, 6k-3, 6k-2, 6k-1, 6k, 6k1, 6k2, 6k3, 那么不在6k左右的几个数是 6k-3,6k-2,6k2,6k3, 第一个和最后一个数是可以整除3&…

AI机器学习 | 基于librosa库和使用scikit-learn库中的分类器进行语音识别

专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https:/…

【龙芯固件】ACPI表中I2C资源

一、I2C控制器 Device (I2C0){Name (_HID, "LOON0004" /* AT Real-Time Clock */) // _HID: Hardware IDName (_UID, 0x0) // _UID: Unique IDName (_CRS, ResourceTemplate () // _CRS: Current Resource Settings{QWordMemory (ResourceConsumer, PosDecode, Mi…