存储器
目录
内存:在计算机中,存储正在运行的(部分)程序和数据的部件。
通过地址总线、数据总线、控制总线与CPU等其他部件相连
内存功能:存放程序和数据部件,并满足在计算机执行的过程中,能够随机访问这些程序和数据
①存(存放)
②取(访问)
存储器基本结构:
存储体
地址寄存器
地址译码器
数据缓冲寄存器
读写控制线路
先送地址后读写数据
- 存储器的分类
一个触发器能存储一位二进制代码。
一个触发器电路称为一个存储元(存储位),是存储器中的最小单位。
随机读写存储器(RAM):在程序执行过程中可读可写。
静态的和动态的ram
SRAM 静态 作为cache
DRAM 动态 做内存 (因为需要刷新)
只读存储器(ROM):在程序执行过程中只读。
- 存储器的层次结构(三级存储系统)
定义: 由高速缓冲存储器(Cache)、主存储器(内存)、辅助存储器(外存)组成三级结构的存储器,由系统统一调度、统一管理。
围绕主存储器(内存)来组织和运行的。
三个要点: 速度 容量 费用
离CPU越近的速度越快,越远容量越大
多级存储系统可以实现的前提: 程序运行时的局部性。
CPU不能直接访问辅助存储器(外存),程序与数据从辅助存储器调入内存后,
再从内存调入CACHE, CPU访问CACHE,读写程序和数据。
- 主存储器(内存 Main memory)
SRAM存储器: 存取速度快、集成度低、位平均功耗高,小容量主存。
DRAM存储器: 存取速度慢、集成度高、位平均功耗低,大容量主存。(定时通电刷新)
主存储器的性能指标:存储容量、存取时间、存储周期、存储器带宽。
3.2.2、存储单元(地址译码)
通过地址译码寻找存储单元,需要有译码器
地址译码器:把地址信号翻译成,对应存储单元的选择信号。
分为单译码器。双译码器。
双译码比单译码使用的选择线少,可以可以减少芯片的引脚
3.2.3、存储器(芯片封装)
要会画芯片的封装,
包括: 地址线,数据线(i/o),读写信号线(WE),片选信号线(CS)
3.3、主存储器扩展
内存条是由多个存储芯片扩展而成。
扩展后需要选芯片
扩展方法选择标准: 片选信号越少越好
3.3.1、位扩展(数据线扩充)
3.3.2、字扩展(地址线扩充)
3.3.3、位字扩展(先位后字)
3.4、主存储器与CPU的连接!!!
38译码器的输出端和片选信号怎么连
3.4.2、主存读写周期与CPU的配合
在读过程中,地址信号不能变
在写过程中,地址信号、数据信号都不能变
3.5、主存储器的刷新
DRAM 所有存储单元都被刷新一次的时间是刷新周期
整个主存中,各芯片可同时刷新,芯片内逐行刷新,每次刷新一行
几种刷新方式: 集中 分散 异步
DRAM 所有存储单元都被刷新一次的时间是刷新周期(一般为2ms)
2ms指的是刷新周期
1)集中式刷新
在2ms内按存储容量集中安排刷新时间(刷新期间停止读/写操作)
2)分散式刷新
把存取周期分成两部分。一半读写一半刷新,一个周期刷一行。
(如果CPU存取周期是主存存取周期的二倍,使用此方法好)
3)异步式刷新
在2ms内,分散式地对128行逐行刷新一遍,每一行平均刷新的时间
间隔为 2ms / 128 = 15.625us,即每隔15.6us提出一次刷新请求。
这样,每行之间的刷新间隔仍为2ms。
相对于分散式刷新,它减少了刷新次数;
相对于集中式刷新,它的主机“死区”缩短了很多
3.6、主存储器的性能提高
-
高速缓冲存储器(Cache)
为了弥补主存速度的不足
系统效率 = (Cache存取时间 / 平均存取时间)
Cache 的全部功能都是由硬件完成的,(硬件完成功能:内存地址 转 Cache地址)
先有内存的地址,然后再有cache的地址
4.1、地址映象
Cache与主存中存储单元地址映象关系
映象:其物理意义就是位置的对应关系,将主存地址变成Cache地址。
1)直接映象
直接映象方式是多对一映射。
主存中的一块只能映象到Cache某一个固定的块中。
特点:Cache的利用率不高
2)全相联映象
主存中任一块都可以映象到Cache中任一块上。
必须采用相联存储器
内存地址如何换成cache地址 4-04
4.2、替换算法
当未命中而将新的主存块调入Cache中,而它的位置已被占满,就会产生替换问题。
替换算法目的:获得最高命中率
- 先进先出算法 FIFO
- 最近最少使用算法 LRU
平均命中率 2)》1)
LRU替换算法反映了程序的局部性特点