【组成原理】存储系统

mac2022-06-30  28

总结

 

存储器分类

分类

层次: 主存储器,辅存储器,Cache。 存取方式: 随机存储器RAM(允许随机存储),只读存储器ROM(只能读,存放固定的程序) ,串行访问存储器(光盘,磁带)。  

性能指标

目标: 大容量,低成本,高速度 存储容量: 存储字数(地址空间大小) * 存储字长(存取一次的数据量);1Byte = 8bit 单位成本: 总成本 / 总容量 存储速度: 数据传输率(主存带宽) = 数据宽度 / 存储周期(又称存取周期 = 存取时间+恢复时间,两次读写之间的最小值)    

CPU/存储器连接

1.主存容量扩展

时刻牢记: 存储容量 = 存储字数(地址空间大小) * 存储字长(存取一次的数据量) 位扩展: 扩展MDR位的存储字长。 字扩展: 扩展MAR位的字长,将地址的最高位作为片选信号,利用译码器来转换出片选信号。2位地址可以控制4块芯片。 字位扩展: 同时扩展,扩展的时候是分开计算。  

2.片选&分配

线选法: 一对一,每次只能有一个地址码有效。 译码法: 利用译码器转换信号,将4位二进制的地址转换成十进制的片的编号。  

3.连接方式

选择芯片: RAM(用户),ROM(系统程序,子程序,常数) 地址连接: 地位地址连接,高位地址片选。 数据连接: CPU和存储芯片的数据位要一致,否则需要扩展。 读/写: 高读低写。 片选开关: 片选不要接错了,否则选不到;访存控制信号MREQ(低电平有效,可进行读写;若访问I/O,则MREQ为高电平)。    

提速方案

1.双端口RAM

同时有两个CPU共用一个双端口RAM,只要两个CPU不同时访问一个RAM存储单元即可,用BUSY信号来执行“原子操作”。  

2.多模块存储器

单体多字模拟器

单体(设置一个存储单元)多字(一个单元里存放m个字,一个字存放一条指令)存储器可以在一个周期中直接读出单体里面的所有字,然后依次执行。  

多体并行存储器

多个存储器可以并行工作,也可以交叉工作。 高位交叉编址(顺序方式): 高位体号,地位体内地址。 低位交叉编址(交叉方式): 低位体号,高位体内地址,流水线,每个里面各拿一个。 低位两公式: T = m / r;t = T + (m - 1)/r

存储体系

1.存储体

ROM

只能读出,掉电不丢失。 MROM: 厂家生产写入不能改。 PROM: 用户写入不能改。 EPROM: 可读可写可擦除,但是不能替代RAM。(紫外线,电擦除) Flash Memory: 可擦除重写。 SSD: Flash芯片组成。  

RAM
特点SRAMDRAM存储信息触发器电容破坏性读入非是刷新不需要需要详细的列地址同时发送两次传送运行速度快慢集成度低高功耗大小成本高低用途Cache内存

刷新问题: 刷新不依赖外部结构,且按行刷新,整个存储器同时都在刷新,不需要分片;集中刷新(统一刷一下,死区),分散刷新(平摊在每个存取周期内),异步刷新(一行刷一次)。 读周期: 读周期包含读出时间,读周期是两次读操作时间之差,时间知识一少部分。 写周期: Twc = Taw(滞后时间) + Tw(写入时间) + Twr(写恢复时间)。  

2.Cache

原理:

1.局部性,CPU与Cache以字为单位,Cache与主存以块为单位。 2.命中率:命中/(没有命中的 + 命中的) 3.平均访问时间:命中访问时间 x 命中概率 + 未命中访问时间 x 未命中概率。  

映射方式

直接映射: 主存0,2,4,8装第0块;1,3,4,9装第二块。

主存字块标记Cache字块地址字块内地址

全相连映射: 主存随便装。

主存字块标记字块内地址

组相连映射: Cache分等块,组间直接,组内全相连。

主存字块标记组地址字块内地址

 

3.替换算法

RAND: 随机替换。 FIFO: 最早进来的先替换掉。 LRU: 最近时间内没有访问过的替换。(堆栈)命中清0,其他+1,最高替换。 LFU: 最近时间内访问次数最少的替换。命中+1,其他不变,最小替换。  

4.写策略

写命中

CPU往Cache里面写,找到了这个。 write-through: 同时写Cache和主存内的东西,往主存中写的时候可以加入一个写缓冲。 write-back: 当Cache需要换出来的时候再写回内存。  

写不命中

往里面写的时候发现不在Cache中。 write-allocate: 每次修改的时候,先调到Cache中,在Cache中修改,然后再调回去。 not-write-allocate: 直接再主存中改,不调入Cache。

 

5.虚拟存储器

逻辑地址,CPU直接和主存访问,有就用,没有就调入再用,满了就换;硬件软件同时实现。   页式虚拟存储: 物理划分,从页表基质寄存器中读取起始地址拼接虚页号地址,在页表中找出实业号,在和页内地址拼接得到地址。(访问一次主存,页内碎片) 段式虚拟存储: 逻辑结构划分,从页表基质寄存器中读取起始地址拼接段号,在段表查询真实地址,拼接段内地址。(一次主存,段间碎片) 段页式虚拟存储: 结合以上两者,根据段表找到页表的起始地址,然后再在对应的页表中找到对应页号,拼接页内地址形成真正地址。(两次访存,短间碎片) TLB: 将常用的页表项放在高速缓冲存储器的TLB中,提高效率,只是慢表的一个副本。 整体逻辑:

快捷方式 找地址 找地址 快捷方式 访问内容 访问内容 CPU TLB Page Cache 主存
最新回复(0)