计算机系统006 - 硬件组件之RAM

计算机五大组件,已经介绍完了输入输出设备。从前面几篇中咱们了解到,计算任务实际上就是控制单元控制执行单元根据输入和存储器中内容计算获得输出结果,控制单元和执行单元比较复杂,运算时也须要使用到存储器,因此本篇先展开存储器相关知识。 缓存

1. RAM原理

若是你还能记得,第一篇电学知识中咱们提到过S-R触发器(Flip Flop,简称FF)。
安全

总的来说,触发器的工做状态依赖于两个开关S和R,闭合一个断开另外一个,总会获得两个相反的输出Q和Q',而若是两个开关都断开,那么就保持住Q和Q’最后处于什么状态。完整触发器真值表以下:
网络

经过使用S-R触发器或其相似实现版本,能够实现1个bit的存储。而经过组合使用S-R触发器,就能够达到多个bit的存储,也就是RAM的由来,而其组成部分中的每一个触发器则被称为存储单元)。 post

内存单元的主要职责是保存存储在其中的数据直到下一次设置或重置操做的出现,现今普遍使用的RAM主要有静态RAM(Static RAM)和动态RAM(Dynamic RAM)两种。 性能

1.1 SRAM

SRAM直接使用6个晶体管内存单元的状态来存储1 bit数据,造价相比DRAM更贵,但同时带来的好处是比DRAM拥有更快的存取速度和更低的能耗。一般用于CPU内部的Cache中。
操作系统

1.2 DRAM

与SRAM的全晶体管内存单元不一样的是,DRAM搭配一个晶体管和一个电容器来保存1 bit数据。其中电容器负责存储,晶体管负责控制存取操做。
3d

一样的,第一篇中捎带提到电容器原理,从中咱们知道电容器因为会对空气放电的因素,内部电势差会逐渐衰减。也就是说,存储其中的1 bit值,若是听任无论,不知道哪次去读取时,就会从1变成0了,这就没法实现存储的功能。为了随时都可以争取获取其中保存的值,就必须常常对电容就行充电,也称刷新cdn

根据能量守恒定律,充电须要额外供电,所以DRAM功耗确定是要比SRAM大的。同时,因为须要常常刷新DRAM,存取速率也天然比不上SRAM。那还造DRAM干吗?由于DRAM电路简单许多,能够拥有很是高的密度,单位体积的容量较高所以成本较低。总的来讲就是由于便宜且速率可接受。这没什么很差,权衡利弊,够用就行。 对象

2. RAM在哪里

前面讲的都是原理,具体到计算机组件应用以前,先放一张CPU使用到的存储器层级图,稍后将依次展开。
blog

从图中咱们能够看出,RAM属于临时存储区,它和CPU之间至少还间隔着几层Cache,RAM下方是永久性存储区域。永久性存储区域以前提到过如光盘、硬盘等,但这个Cache又是什么?

2.1 Cache

前面提到过Cache使用的是高大上的SRAM,拥有速度快、功耗低的特色。快天然是件好事,咱们也知道囊中羞涩,没法给CPU配上几个GB的SRAM做为RAM使用,只能退而求其次,换上速度通常但容量客观的DRAM。不过有句话说得好,好钢用在刀刃上,假如说配个小容量如KB、MB级别的SRAM可以提升系统性能,仍是值得尝试的。

随着硬件的发展,CPU频率早已达到GHz级别,而同期的DRAM还在以MHz做为单位,先不去追究为何DRAM没法提高至GHz级别,就说使用时,这种量级的频率差别确实拖慢了整个计算机的性能。

以前略微提到,CPU工做时是有指令周期的,指令只是操做方法,要想操做有意义,毕竟仍是要有操做对象才行的。操做对象来自哪里?不管是输入设备也好,光盘、硬盘也罢,终究是要加载到RAM中,排好了地址,才能加载。若是由于从内存中加载拖慢了CPU的运行,那么这么肆意地浪费CPU资源就太过奢侈了,毕竟CPU也不便宜啊。

但办法终归仍是有的,因而乎在CPU和DRAM之间,插入了小存储的SRAM,毕竟CPU每一个指令周期操做的对象也有限,无需特别大的空间。这样一来,CPU对接SRAM,速率获得了大大提高。不过如今还没完,快是快了,但我想更快,又不舍得花太多的钱,只好分配下预算,买一些顶级SRAM,再买一些稍慢一点的,再买一些慢的DRAM。反正CPU不和低一级的SRAM直接对接,也不会影响太大。

因而就有了多个Level的Cache,费劲心机,无非就是想在预算有限的条件下达到更快

2.2 内存(RAM)

内存也称为主存,使用的是DRAM内存单元。因为前面介绍了SRAM和DRAM的主要区别等相关知识,这里就再也不赘述。只要有一个概念,就是到RAM为止,都是掉电就丢失数据的。也就是说,RAM只在计算机运行过程当中保存数据,运行完毕断电后,不负责保存任何信息

然而为了实现计算机自动化执行任务,就必须先将任务存储在计算机内部而不是每次都须要输入设备输入,所以对于永久性存储设备的需求十分强烈。

2.3 永久性存储器

如前面CPU存储器层级图所示,永久性存储器主要分为以下几种。

2.3.1 ROM

首先讲ROM,ROM全称Read Only Memory,显而易见是一种只读存储器,其内容在出厂前就已经固化进去,后续只能读取而不能再次写入。虽而后面出现别的可擦写ROM如(EPROM),但终归写入的条件如紫外线要求较高。

ROM存储在一个非易失性芯片上,即便掉电后其中内容依旧能够保存。比较普遍的使用场景是计算机BIOS,关于BIOS的部分在后续讲解操做系统时会详细讲述。

2.3.2 Network Storage

所谓网络存储,就是经过网络接口进行存取。好比一般网吧会使用无盘计算机以节约成本,这时候启动系统的任务就交给了网线而不是磁盘。再好比,不考虑缓存文件的状况下,在线查看邮箱,并不会由于本机掉电而使得邮箱内邮件丢失。

虽然从本机看起来,不须要依赖存储磁盘,但终归网络另外一端提供服务的计算机仍然须要磁盘来获取源数据,所以无论鸡生蛋仍是蛋生鸡,至少能肯定,必须有鸡才行,而在这里,鸡就是磁盘存储。

2.3.3 Hard Drive

终于到了永久性存储中的重头戏,硬盘存储。硬盘也称为磁盘,仍是要来那么一句,若是你看了第一章的电学知识的话,那么你应该能理解为何要经过磁来实现存储。

硬盘之因此成为磁盘是由于它经过改变盘片上磁性的分布来实现存储,读取时再根据盘片磁性分布转换成电信号,并进一步成为二进制值。这其中的原理无非是电磁感应,电生磁、磁生电。

讲到硬盘,总有关于柱面、扇区、磁头的内容,本篇也不能免俗。

如图所示,磁道是两个同心圆间区域,该区域等分红扇区,每一个扇区字节数为512B。全部盘片上的同一磁道构成柱面,因为磁头为机械装置,如频繁寻址则开销较大,所以写入数据时,就以柱面为单位,尽可能减小机械装置的移动频率。

到这一步,彷佛全部正儿八经点的资料都能给出,但有一点,因为盘片是一张圆盘,也就是说,越往外的磁道在盘片转动单位时间内走过的路程越多,也就是说相对靠内的磁道,其寻址速度更快。所以一般将操做系统安装在靠外柱面能够适量提高其响应速度,对应到Windows也就是C盘位置一般最靠外,其余盘符依次往内。

因为磁头是机械装置,既下降了存取速度,又下降了稳定性,若是存取过程当中因为震动盘片被磁头划伤,那数据就可能出现错误。假如出现错误的数据正好是操做系统,那么就只有自认倒霉了。

2.3.4 固态硬盘SSD

正是由于磁盘存在速度、稳定性等因素,和Cache同样,咱们又制造出一种新的硬盘,成为固态硬盘。

对比下就能够发现,SSD使用的是集成电路而非机械装置来存取,因此能够达到更高的存取频率,也不用再为可能出现的震动操心。比较显著的缺点就是目前成本仍然较高、同时存在写入次数有限的问题。为了保证数据的安全性,一般SSD内部会使用多个内存单元来存储一个bit,即以冗余来换稳定。

3. 总结

写到这里,关于计算机五大组件之一的内存部分就基本介绍完毕。仍是那句话,内存的存在是实现了计算机自动执行任务的关键。下一篇中,将去啃啃包含了控制单元和执行单元的真正的硬骨头CPU。

相关文章
相关标签/搜索