提示:吾与春风皆过客,君携秋水揽星河
文章目录
- 前言
- 3.1 存储系统基本概念
- 3.2.1 主存储器的基本组成
- 3.2.2 SRAM DRAM\
- 3.2.3 只读存储器ROM
- 3.3.1 主存储器与CPU的连接
- 3.3.2 双端口RAM和多模块存储器
前言
提示:以下是本篇文章正文内容,下面案例可供参考
3.1 存储系统基本概念
存储器的层次结构
手机里面的辅存,也不是用磁盘来进行存储的,手机里面存储的软件什么的就是存储在辅存中的,但是cpu不能直接和辅存进行交互,当我们启动一个app,需要先将数据从辅存拿到主存中,这个时间是较长的,我们增加一个高速缓冲存储器是因为尽管我们的读写速度已经很快了,但是还是没有cpu 处理的速度快,所以计算机把那些有可能频繁访问的数据放在cache中,这样读取的速度也就更快
存储器的分类
存储不仅可以按照层次来进行分类
存储器也可以按照存储介质来进行分类以半导体器件存储信息,以磁性材料存储信息,以光介质存储信息,
还可以按照存取方式来进行分类,随机存取寄存器(RAM):读写任何一个存储单元所需时间都相同,与存储单元所在的物理位置无关,顺序存取寄存器(SAM)读写一个存储单元所需时间取决于存储单元的物理位置,直接存取存储器(DAM)既有随机存取特性,也有顺序存取特性,先直接选取信息所在区域,然后按顺序方式存取(磁头臂要前后移动,移动到要读写的那个区域,中间的马达带动磁盘进行转),后面这两种又称为串行访问存储器,读写某个存储单元所需要时间与存储单元的物理位置有关,这三种是根据地址来读写,还有一种是相联存储器:也可以按内容访问的存储器,可以按照内容检索到存储位置进行读写,“快表”就是一种相联存储器
按照信息的可保存性进行分类:断电后,存储信息消失的存储器,易失性存储器(主存,Cache,如手机关机后再开机很缓慢,这是因为本来信息丢失,重新将操作系统调入主存也是需要时间的,),断电后,存储信息依然保持的存储器——非易失性存储器(磁盘,光盘)
存储器的性能指标
1,存储容量:存储字数*存储字长(之前有提到过MDR位数反映存储字长,MAR又反映了存储字数是多少)
2,单位成本:每位价格=从成本/总容量
3,存储速度:数据传输率=数据的宽度/存储周期(数据的宽度即存储字长,存储周期,每个存储周期我们可以都或者写一个存储字这么多的数据)
知识回顾
主存——辅存:实现虚拟存储系统,解决了主存容量不够的问题
Cache——主存:解决了主存于cpu速度不匹配的问题
3.2.1 主存储器的基本组成
本节主要讲三个部分:半导体元件的原理,存储芯片的基本原理,如何实现不同的寻址方式,这里我们先学习半导体元器件存储0和1的原理,然后我们可以构成所谓的存储芯片,又因为存储芯片中存储了很多字的信息,所以存储芯片必须提供寻址的功能,最后我们来探讨不同的寻址方式如何实现
基本的半导体元件及原理
比如这里的MOS管,若是木有施加电压,或者施加的电压不足5V,那么这个MOS管就是绝缘体,就是不导电的,只有当上面接通的时候,这个电容才能存储电荷,如下图本来电容中已经存储了电荷,当我们施加一个五伏的电压的时候,此时这些0,或者1 就是顺着这条绿色的线导出,这样的一整行就是我们提到的存储单元,也就是一个存储字,所以一个存储子多少个bit具体要看存储体的具体结构是怎么样的,而多个存储单元也就构成了一个存储体,我们一次可以读出的就是一个存储字,就像下图的,这里的存储体只包含了两个存储单元
接下来我们要研究的就是如何根据地址来读或者要写那个存储字,这就涉及到译码器的使用,我们给出n位地址,就会对应2的n次方个存储单元,会根据地址将其转化成某一条字选线的高电平 然后根据这条绿色的线也就是数据线(位线),将其传送到MDR中,然后数据总线会从MDR中取走所有的数据,总容量=存储单元个数*存储字长
控制电路的作用,只用当MAR稳定之后,控制电路才会打开译码器的开关,同样的只有输出的信号稳定之后,控制电路才会认为此时的输出的正确无误的,另外存储芯片还需要向外提供一些线路 通常是片选线(作用是读指定芯片),通常是CS上一个扛 或者CE上一个杠,当然它是低电平的时候是有效的
寻址
现代计算机通常按字节编址(每个字节)即每个字节对应一个地址,按字节寻址,按字寻址,按半字寻址,按双字寻址
本节回顾
3.2.2 SRAM DRAM\
DRAM用于主存,SRAM用于Cache,所以本节我们首先来根据存储元件的不同来介绍为什么会出现不同的差异,还有就是DRAM的刷新,DRAM的地址线复用技术
存储元的不同
上面说过DRAM这种存储元所使用的栅极电容存储0或1的方式,但是当电容放电信息被破坏,是破坏性读出,读出后应有重写操作,也称“再生”,所以这种读出更慢,因为要重生,而且这个只需要一个MOS管,每个存储元制造成本更低,因此常被用来制造主存,集成度低,功耗高,并且电容里面的电荷也会逐渐流失,因此我们只有不断的刷新,并且由于集成度低,这里对应的行列地址的位数也比较少,所以我们同时把行列地址送过去便可
这里说一下双稳态触发器,A高B低是为1,A低B高是为0,这里我们可以根据左边或者右边那一条输出了一个低电平信号,就可以判断是0或者1,而这种双稳态则是非破坏性的读出,无需重写,这种读出快一点,所以常被用来制造高速缓存,这个需要6个MOS管,每个存储元制造成本更高,集成度低,功耗大,而DRAM 则需要分两次送(地址线复用技术)
DRAM的刷新
本节回顾
3.2.3 只读存储器ROM
RAM芯片–易失性,断电后数据消失
ROM芯片–非易失性。断电后数据不会丢失
许多的固态硬盘的存储单元是闪存,因为有多个存储单元,所以也需要控制单元
本节回顾
3.3.1 主存储器与CPU的连接
这小节我们主要讲单块存储芯片与CPU的连接,多块存储芯片与CPU的连接,分别是位扩展法,字扩展法,以及字位扩展法,本节的最后写了关于译码知识的补充
位扩展
将主存的存储字长扩展到了8bit
字扩展
CS若是同时工作,则两个存储单元的8bit的信息都会顺着数据总线传向CPU ,同时传就回导致一个数据总线的一个冲突,这里的一个方案是假如CPU有n条多余的地址线,也就只能有n个片选信号
强调
位扩展可以使得存储器的字长变得更长,从而发挥数据总线的数据传输能力,字扩展可以增加存储器的存储字数,可以更好的利用CPU的寻址能力
字位同时扩展
比如1号可以连接地址线的低四位,2号可以连接地址线的高四位,上面使用的是2-4 译码器
这也就导致使用的主存空间是连续的
本节回顾
3.3.2 双端口RAM和多模块存储器
之前说过DRAM是电容存取,并且会自动放电,所以每次存取都是需要恢复时间,并且现在手机都是多核的 当多个cpu访问的时候,怎么处理
双端口RAM
两个cpu就可以通过它的两个端口来访问RAM,这样就需要主板有两组完全独立的数据线,地址线,控制线,CPU,RAM 中也要有更复杂的控制电路
多体并行存储器
可以将其理解位四根内存条 体号表示的是选择的是M0 M1 还是什么,宏观上读写一个字的时间接近R,至于为什么讨论的是连续的空间,是因为许多的应用都是连续的存放于主存当中,且模块数=T/R的时候流水线的效率达到顶峰,同时存储体的数量最少,也就是成本最低,每个模块都有相同的容量和存取速度,各模块都有独立的读写控制电路,地址寄存器和数据寄存器,它们既能并行的工作,又能交叉工作,可以有选择的读取某个模块的某个字
单体多字存储器
当m=T/r的时候,两者的效率几乎差不多
本节回顾
实际用处
给自己的电脑插了两个内存条之后,给这两个内存条采用的是低位交叉编址的方案,这样几乎可以使得内存的吞吐量几乎翻倍,如果你买的是两个主频不一样的内存条 ,主频高的将进行降频处理,将会有所浪费,选择的如果不是相同容量的,低地址部分组成双通道的形式,高地址依然是单通道的形式,这样电脑的性能就不稳定