首先,他们都属于存储器,存储器分为两类:
易失性(volatile)存储器:包括内存,SRAM,DRAM等,特点是读写速度很快,掉电了数据会丢失,价格贵,并且存储容量较小 。非易失性(nonvolatile)存储器:包括磁盘,Flash,光盘,机械硬盘,SSD等,与易失性存储器相比,它们读写速度很慢,但是掉电不丢失数据,存储容量比较大,价格也便宜 。RAM(Random-Access Memory):随机访问存储器 。易失性存储器 。也可以访问两类:SRAM(静态的)和DRAM(动态的),并且SRAM的读写速度比DRAM更快,价格也更贵 。在上图中也可以看到, SRAM做L1-L3级缓存,而DRAM做L4级的主存 。ROM(read-only memory):只读存储器,非易失性存储器 。这个名字容易让人产生误解,它既可以读,也可以写,称之为read-only只是历史原因 。ROM相比于RAM,容量更大,价格便宜,读写速度则比较慢 。
闪存(Flash memory):非易失性存储器 。SSD,SD卡都属于Flash技术,如果从概念上来讲,他们都属于ROM,这类存储器经常用在手机,相机等设备上 。而机械硬盘常用在个人计算机,服务器上 。其实我觉的把 Flash,ROM等都叫做磁盘,也没什么错 。毕竟它们的作用和概念都是相似的,区别只是他们各自使用的半导体技术不同 。Flash芯片等基于集成芯片的存储器读写速度比机械硬盘快,不过(相同容量下)价格也比后者贵 。而它们相比于SRAM,DRAM则非常慢了,所以后者理解为内存即可 。
"图4:一个存储器层次结构的示例",越往上,读写速度越快,价格更贵,存储容量也越小 。( *** 上搜搜8G的内存条,256G的SSD,1T的机械硬盘都是什么价格就明白了) 。像L0 寄存器,每个寄存器只能存储一个字长的内容,但是CPU读写取寄存器耗费的时钟周期为0个 。这是最快的速度 。
另外,我们在电脑主板上可以看到内存条(L4主存) 。硬盘(L5),但是却没看到L3-L0 。原因很简单,他们都是集成在CPU芯片内部的 。
我们知道了存储器的层级结构,下面还有一个问题,就是怎么把硬盘,内存条之类的连接起来进行通信呢,这就是 总线(Bus)了 。
文章插图
图6:一个典型系统的硬件组成
上图存在三条总线,IO总线,存储器总线(通常称为内存总线),系统总线 。在主板上,就是那一排排的32/64根并行的导线 。这些导线用来连接CPU,内存,硬盘,以其他外围设备 。CPU与存储器,输入输出设备等通信,都是通过总线 。不同总线的速度也有差异 。
CPU要通过I/O桥(就是主板的北桥/南桥芯片组)与外围设备连接,因为CPU的主频太高了,它的时钟周期一秒钟震荡几亿次,外围设备的时钟周期都较慢,所以他们不能直接通信 。
本文是讨论软件的,所以硬件部分就一笔带过,读者知道有这回事就ok了 。总线上携带地址,数据和控制信号,如何区分不同信号,分辨它与哪个外围设备通信,这就是另外一个问题了 。
不管中间怎么加缓存,数据从硬盘到内存的速度就是那么慢,那么这些缓存意义何在?
有些读者脑子转的比较快,可能想到了这样一个问题 。
不管你中间怎么加缓存,也不管中间的什么SRAM,DRAM的读写速度有多快,但是磁盘的读写速度就是那么慢,所以磁盘与主存之间的交互速度很慢 。CPU归根到底需要向磁盘读写数据 。整个环节速度瓶颈就是在磁盘那里,这个根本快不了,那么加那么多级缓存,意义有何在呢?
这是一个好问题啊 。下面让我们继续讨论 。
我们来看看,CPU如何读取磁盘中的一个数据 。
文章插图
文章插图
图7:读一个磁盘扇区
网上找的图片不是很清楚,注意每张图中的黑线 。步骤分三部:
CPU 将相关的命令和地址,通过系统总线和IO总线传递给磁盘,发起一个磁盘读 。磁盘控制器将相关的地址解析,并通过IO总线与内存总线将数据传给内存 。第2步完成之后,磁盘控制器向CPU发送一个中断信号 。(学电子的同学应该很清楚中断是什么) 。这时CPU就知道了,数据已经发送到内存了 。第二步磁盘操作很慢,但是在之一步CPU发出信号后 。但是第二步和第三部时,CPU根本不参与 。第二步很耗时,所以CPU在之一步发出信号后,就去在干其他事情啊 。(切换到另一个线程) 。所以此时的CPU依旧没有闲着 。而待第三步时,通过中断,硬盘主动发信号给CPU,你需要的数据已经发送到内存了,然后此时它可以将线程再切换回来,接着执行这个该线程的任务 。
推荐阅读
- 华为手机应用怎么移到sd卡 华为手机应用移到sd卡的方法是什么
- 9月3日是什么日子 9月3日是哪个节日
- 荣耀9x是什么屏幕荣耀9x什么屏幕
- 三红蜜柚是哪里产的 三红蜜柚是什么地方的
- 12星座女和渣男谈恋爱是什么体验?
- 最大数字是什么单位 数字办公室是什么单位
- 桂林山水甲天下的下一句是什么谚语 桂林山水甲天下的下一句是什么?
- 福特是什么旗下的
- 怎样清洗泡菜坛子 清洗坛子的步骤是什么
- 奔驰abs和防滑灯亮是什么原因?