1.存储器的基本概念
1.1.存储器的分类
1.1.1.按作用分类1.辅存中的数据只有调入主存后才能被CPU访问
2.cache——主存:解决主存和CPU速度不匹配的问题
主存——辅存:实现虚拟存储,解决主存容量不够的问题
3.cache和主存的数据交换:由硬件完成
主存和辅存的数据交换:由硬件+操作系统完成
1.1.2.按存取方式分类
1.随机存取存储器(Random Access Memory):读写任意一个存储单元所需时间相同
2.顺序存取存储器(Sequential Access Memory):读写时间取决于存储单元所在位置
3.直接存取存储器(Direct Access Memory):选取信息所在区域(随机存取特性),然后顺序存取(顺序存取特性)
4.相联存储器(Associative Memory):按照内容检索存储位置(按照内容访问,例:块表)
1.1.3.按信息的可更改性
1.读写存储器(Read/whrite Memory):可读可写(内存、Cache)
2.只读存储器(Read Only Memory):只能读不能写(BIOS)
1.1.4.按信息的可保存性
1.破坏性读出:信息读出后,原存储信息被破坏(DRAM)
2.非破坏性读出:信息读出后,原存储信息不被破坏(SRAM)
1.2.存储器的性能指标
1.存储容量:存储字数 * 字长(MDR位数)(如1M * 8位)
2.存储速度(数据传输率):数据宽度(存储字长,MDR位数) / 存储周期
2.主存储器
2.1.主存储器的基本组成
2.1.1.基本半导体元件及原理
1.MOS管:半导体,通过向其输入电压控制其开关
电容:存储电压,低电压时为0,高电压时为1
当MOS管接通时,电容内的电压通过该电路传出的电压表示二进制的0/1
2.多个存储元连接后,可以一次读写多个二进制数据
红线连接MOS管,当给红线电压时,该线所连接的MOS管都会被导通,则电容就会从绿线导出,通过检测绿线就可以知道整行存储元存储的二进制信息
存储单元:由一整行存储元构成
存储体:由多个存储单元构成
存储字:一次能够读出的二进制
存储字长:一次能够读出的二进制的位数
2.1.2.存储芯片的基本原理
1.MAR的位数决定存储单元的个数,译码器根据CPU通过地址总线给MAR送来的地址(一个地址对应一条输出线),控制相应地址(存储单元)的字选线(红线)高电平,然后通过数据线(绿线)读出该地址的数据,送入MDR中,最后通过数据总线将数据输出
2.控制电路的作用是只有当前操作的电流稳定时,才进行下一步操作
3.片选线:控制是否对该存储单元进行操作(引脚一根)
读控制线/写控制线:该操作是读数据还是写数据(当读写合并时,引脚1根;分开时,引脚2根)
4.总容量 = 存储单元个数 * 存储字长
8K * 8位:存储单元个数为8K个,存储字长为8bit,即 2 ^ 13 * 8 bit
64K * 16位:存储单元个数为64K个,存储字长为16bit,即 2 ^ 16 * 16 bit
2.1.3.寻址
1.一行为一个存储字,字长为4B,总容量为1KB,则共有256个字,即256行
2.按字节寻址:一个字节对应一个地址,分为1K个单元,每个单元1B(需要10根地址线)
3.按字寻址:一个字对应一个地址,分为256个单元,每个单元4B
4.按半字寻址:半个字对应一个地址,分为512个单元,每个单元2B
4.按双字寻址:两个字对应一个地址,分为128个单元,每个单元8B
2.2.SRAM和DRAM
1.DRAM:Dynamic,动态RAM,用于主存
SRAM:Static,静态RAM,用于CACHE
2.DRAM栅极电容,SRAM双稳态触发器
DRAM:破坏性读出,读出后应重写(读写速度慢),集成度高(简单)
SRAM:非破坏性读出,无需重写(读写速度快),集成度底(复杂)
4.DRAM需要刷新,而SRAM不需要(刷新不需要CPU参与)
DRAM电容中的电荷会流失(只能维持2MS,因此2MS内必须刷新一次),SRAM只要不断电,触发器的状态就不会改变
①刷新周期2MS
②以行为单位,每次刷新一行存储单元
采用行列地址,可以将选通线的数量减少一半
③通过硬件刷新,读出一整行的数据然后重新写入,因此占用一个读/写周期
④异步刷新:2MS内刷新每行刷新一次即可,刷新的时间无法访问存储器
3.DRAM和SRAM都是易失性存储器,断电后信息消失(区别于破坏性)
4.SRAM同时送行列地址(集成度低,位数少),DRAM行列地址分开送(集成度高,位数多)
DRAM采用地址复用技术,即行/列地址分开送,通过行/列地址缓存器实现,设原来需要n位的地址线,通过分开送,使得地址线的位数减少为n/2位,引脚也相应减少为n/2
2.3.ROM
1.ROM为非易失性存储,断电后不会消失(RAM为易失性)
2.MROM:任何人不可以改写
PROM:写一次后不可更改
EPROM:支持擦除数据,可进行多次重写
FLASH:闪存。可进行多次快速擦除重写,写比读慢(写之前需要擦除)(U盘)
SSD:固态硬盘。可进行多次快速擦除重写
3.逻辑上RAM和ROM统一编址
2.4.双端口RAM
支持两个CPU同时访问RAM
2.5.多模块存储器
1.单体多字存储器
使用同一套电路控制(类似位扩展)
2.多体并行存储器
每个模块可以相互独立工作
①高位交叉编址:高2位用来区分访问哪个存储体。连续的地址存放在同一存储块中,访问连续地址时,总是在同一个存储块内访问,当这个存储块的最后一个地址被访问完后,才开始对下一个存储块进行访问
当存取时间远小于存取周期时,将会严重影响存取效率(对同一存储体进行存取的时,需要等待上一次对当前存储体存取周期结束)
设访问存取周期为T,存取时间为r,则存取n个存储字的时间为nT(每次都需要等待T才能进行下一次存取)
②低位交叉编址:低2位用来区分访问哪个存储体。连续的地址存放在相邻的存储块中,这样在访问连续地址时,通过可以交替访问不同的存储块提高存储效率(不需要或者降低等待存取周期的时间)
设访问存取周期为T,存取时间为r,则存取n个存储字的时间为(n - 1)r + Tr(n - 1次存取,每次存取时间r,加上最后一次存取需要一个完整的存取周期T)
③模块的数量m:m ≥ T / r(T为存取周期,r为总线传输周期/存取时间)