浅析计算机硬件的读写速度差异(上)

现代计算机系统

现代计算机系统与冯·诺依曼计算机差别不大,最大的区别冯·诺依曼计算机 是 以运算器为中心的,而现代计算机 以储存器为中心:运算器

我们主要来看一下其中与储存相关的组件:

存储器

存储器是用来存放数据和程序。存储器 包含主存和辅存

  • 主存:直接与CPU交换信息,就是我们熟悉的内存。断电后内存的数据是会丢失的
  • 辅存:辅存可作为主存的后备存储器,不直接与CPU交换信息,容量比主存大,但速度比主存慢。比如机械硬盘、固态硬盘等。断电后硬盘的数据是不会丢失,硬盘是持久化存储设备。
  • 辅存、输入设备、输出设备 统称为 IO设备主机一般包含:CPU、主存

我们先来看看存储器的层次结构,来初步对各个储存器部件有所认识 !运算器

我们可以发现存储器速度越快的话,相应的价格也会越发昂贵!

寄存器

CPU中 还有一个常见的组件: 寄存器 ,是CPU内部用来存放数据的一些小型的存储区域,用来暂时存放参与运算的数据以及运算结果。寄存器由电子线路组成,存取速度非常快,寄存器的成本较高,因而数量较少。

CPU时钟周期

CPU时钟周期 :通常为节拍脉冲或T周期,即主频的倒数,它是CPU中基本时间单位。平时我们打游戏常说的超频,超的就是这个CPU主频。

举个例子,主频为3.0GHZ的CPU,一个时钟周期大约是0.3纳秒,内存访问大约需要120纳秒,固态硬盘访问大约需要50-150微秒,机械硬盘访问大约需要1-10毫秒,最后网络访问最慢,得几十毫秒左右。

这个大家可能对时间不怎么敏感,那如果我们把 一个时钟周期如果按1秒算的话,内存访问大约就是6分钟 ,固态硬盘大约是2-6天 ,传统硬盘大约是1-12个月,网络访问就得几年了 !我们可以发现CPU的速度和内存等存储器的速度,完全不是一个量级上的。

高速缓存

为了弥补 CPU 与内存两者之间的性能差异,就在 CPU 内部引入了 CPU Cache,也称高速缓存CPU Cache用的是 SRAM (Static Random-Access Memory)的芯片,也叫 静态随机存储器。 其只要有电,数据就可以保持存在,而一旦断电,数据就会丢失。

CPU Cache 通常分为大小不等的 三级缓存 ,分别是 L1 CacheL2 CacheL3 Cache

部件 CPU访问所需时间 备注
L1 高速缓存 2~4 个时钟周期 每个 CPU 核心都有一块属于自己的 L1 高速缓存,L1 高速缓存通常分成指令缓存数据缓存
L2 高速缓存 10~20 个时钟周期 L2 高速缓存同样是每个 CPU 核心都有的
L3 高速缓存 20~60个时钟周期 L3 高速缓存是多个 CPU 核心共用

我们可以发现越靠近 CPU 核心的缓存其访问速度越快。

程序执行时,会先将内存中的数据加载到共享的 L3 Cache 中,再加载到每个核心独有的 L2 Cache,最后 进入到最快的 L1 Cache,之后才会被 CPU 读取。层级关系如下图:运算器

主存

主存 ,直接与CPU交换信息,就是我们熟悉的 内存 。它使用的是一种叫作 DRAM ( Dynamic Random Access Memory )的芯片,也叫 动态随机存取存储器 。断电后内存的数据是会丢失。DRAM 芯片的密度更高,功耗更低,有更大的容量,造价比 SRAM 芯片便宜很多,但速度比SRAM 芯片慢的多。

内存速度大概在 200~300 个 时钟周期之间

固态硬盘

固体硬盘(Solid-state Disk, SSD),数据直接存在闪存颗粒中,并且由主控单元记录数据存储位置和数据操作,每一个闪存颗粒的存储容量是有限的;

但是它相比内存的优点是 断电后数据还是存在的 ,SSD固体硬盘的读写速度虽然比内存的大概慢10~1000 倍,但比机械硬盘快多了,当然价格也昂贵很多。不过随着时代的发展,固态硬盘的价格慢慢趋向接近机械硬盘。

机械硬盘

机械硬盘( Hard Disk Drive, HDD ),它是通过物理读写的方式来访问数据的,机械硬盘在盘面上写数据、磁盘转动,机械臂移动,比较原始的数据读写方式,就像近现代的留声机发声原理一样。

由于受限于转盘转速与指针寻址的时间限制,因此它访问速度是非常慢的,它的速度比内存慢 10W 倍左右。当然机械硬盘也是有其优点的:容量大,价格便宜,恢复数据难度低,因此数据放在机械硬盘中比较保险。

原文链接:https://m.elecfans.com/article/1993666.html

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享