电子说
现代计算机系统与冯·诺依曼计算机差别不大,最大的区别冯·诺依曼计算机 是 以运算器为中心的,而现代计算机 以储存器为中心:
我们主要来看一下其中与储存相关的组件:
存储器是用来存放数据和程序。存储器 包含主存和辅存
机械硬盘、固态硬盘
等。断电后硬盘的数据是不会丢失,硬盘是持久化存储设备。辅存、输入设备、输出设备
统称为 IO设备 ;主机一般包含: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 Cache 、L2 Cache 和 L3 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 倍左右。当然机械硬盘也是有其优点的:容量大,价格便宜,恢复数据难度低,因此数据放在机械硬盘中比较保险。
全部0条评论
快来发表一下你的评论吧 !