1 存储器
(为什么采用分级存储体格式) 为了解决容量价格间矛盾
计数指标-容量问题
字节单位 占了多少
字双字间关系
1.1存储器分类
1. 按存储介质分类
(1) 半导体存储器(TTL、MOS)
依靠电容上的电荷暂存信息,主存 易失
(2) 磁表面存储器(磁头、载磁体)
利用磁层上不同方向的磁化区域表示信息,容量大,非破坏性读出,长期保存信息,速度慢,外存 非易失
(3) 光盘存储器(激光、磁光材料)
利用光斑的有无/晶相等变化表示信息,容量很大,非破坏性读出,长期保存信息,速度慢,外存 非易失
2. 按存取方式分类
(1) 存取时间与物理地址无关(随机访问)
随机访问:按地址访问存储器中的任一单元,访问时间与存储单元的地址无关。
随机访问存储器RAM:在程序的执行过程中 可 读 可 写 ,如主存
只读存储器:ROM 在程序的执行过程中 只 读
(2) 存取时间与物理地址有关(串行访问)
顺序存取存储器 磁带
直接存取存储器 磁盘
3 按在计算机中的作用分类
1.2 存储器的层次结构
存储器三个主要特性的关系
1.3 主存储器的计数指标
1.字存储单元:
存放一个机器字(即机器字长)的存储单元,相应的单元地址叫字地址**。**
2.字节存储单元:
存放一个字节的单元,相应的地址称为字节地址。
3.存储容量:
指一个存储器中可以容纳的存储单元总数。存储容量越大,能存储的信息就越多。
4.存取时间:
指从存储器收到读取(或写入)命令,到存储器读出(写入)信息所需要的时间,TA
5.存取周期:
存储器做连续访问操作过程中一次完整的存取操作所需的全部时间,TM (通常TM > TA)
6.存储器带宽:
指单位时间里存储器所存取的信息量,也称为数据传输率,通常用R来表示,以位/秒(bps)或字节/秒(Bps)做度量单位。
【例】某双通道DDR-4内存传输频率为3200MHz,
位宽64比特,则其有效带宽为:
1.4 主存的基本组成
主存和 CPU 的联系
2 SRAM DRAM
基本单位
触发器
主存(内部存储器)是半导体存储器,根据信息存储的机理不同可以分为两类:
静态读写存储器(SRAM):存取速度快;
主要包括:双极型、静态MOS型。
依靠双稳态电路内部交叉反馈的机制存储信息
功耗较大, 速度快, 常用作Cache。
动态读写存储器(DRAM):存储容量大。
主要包括:动态MOS型。
依靠电容存储电荷的原理存储信息
功耗较小,容量大,速度较快,常用作主存。
半导体相关术语:
TTL(Transistor-Transistor Logic):晶体管-晶体管逻辑
ECL(Emitter Couple Logic):射极耦合逻辑
MOS(Metal-Oxide Semiconductor):金属氧化物半导 体,即场效应管
CMOS(Complementary Metal-Oxide Semiconductor), 即互补对称金属氧化物半导体
半导体芯片的总体情况
2.1 动态 RAM 和静态 RAM 的比较
3 存储器与 CPU 的连接
字,位,字位同时扩展
给容量计算地址线,计数线及总合位多少根
3.1 存储器容量的扩展
1.位扩展(增加存储字长)
2.字扩展(增加存储字的数量)
3.字、位扩展
3.2 存储器和CPU的连接
(1) 地址线的连接
CPU的地址线数量往往比存储芯片的地址线数量要多。通常将CPU地址线的低位与存储芯片的地址线相连接,CPU地址线的高位用作对芯片的控制或其他用途。
(2) 数据线的连接
同样,CPU的数据线数量也比存储芯片的数据线的数量要多。此时,必须对存储芯片进行位扩展,使CPU与存储器的数据线的数量相等。
(3) 读/写命令线的连接
CPU的读/写命令线一般是直接与存储芯片的读/写控制端相连。通常高电平为读,低电平为写
(4) 片选线的连接
由于存储器是由许多存储芯片叠加组成的,哪一片芯片被选中完全取决于该芯片的片选控制端是否能够接收到来自CPU的片选有效信号。
通常,CPU给出的存储单元地址线的条数往往大于单个芯片的地址线条数,因此,那么没有与存储芯片相连的高位地址线(即CPU的高位地址线),往往会通过译码器的作用,用来产生存储器的片选信号。
(5) 合理选择存储芯片
选择原则:芯片的数量尽可能的少、片选逻辑要尽可能的简单。
(6) 其他 时序、负载
1.地址空间分配:
6000H~67FFH为系统程序区;
6800H~6BFFH为用户程序区。
2.合理选用上述存储芯片,说明RAM和ROM各选几片?
3.详细画出存储芯片的片选逻辑图。
3.3 课堂作业
假设同前,要求最小 4K为系统
程序区,相邻 8K为用户程序区。
(1) 写出对应的二进制地址码
(2) 确定芯片的数量及类型
1片 4K × 8位 ROM 2片 4K × 8位 RAM
或 1片 8K × 8位 RAM
(3) 分配地址线
A11~ A0 接 ROM 和 RAM 的地址线
(4) 确定片选信号
4 高速缓冲存储器
4.1 概述
1.问题的提出
CPU 跟内存需要进行数据交换
避免 CPU "空等" 现象
CPU 和主存(DRAM)的速度差异
2.Cache的工作原理
命中与未命中
缓存共有 C 块
主存共有 M 块 M >> C
命中
主存块 调入 缓存
主存块与缓存块 建立 了对应关系
用 标记记录 与某缓存块建立了对应关系的 主存块号
未命中
主存块 未调入 缓存
主存块与缓存块 未建立 对应关系
Cache 的命中率
CPU 欲访问的信息在 Cache 中的 比率
命中率 与 Cache 的 容量 与 块长 有关
一般每块可取 4 ~ 8 个字
块长取一个存取周期内从主存调出的信息长度
Cache --主存系统的效率与平均访问时间
假设CPU执行某段程序时,其命中率为0.97,cache的存取周期为50ns,主存的存取周期为200ns,则cache-主存系统的平均访问时间为 54.5ns
4.2 Cache-主存的地址映射
1.直接映射
指主存当中任意一个给定的块,只能被装载到 某一个指定的Cache块中。
优点: 结构简单、查找速度快
缺点: Cache的利用率较低
每个缓存块 i 可以和 若干 个 主存块 对应
每个主存块 j 只能和 一 个 缓存块 对应
2. 全相联映射
主存 中的 任一块 可以映射到 缓存 中的 任一块
优点: Cache的利用率较高。
缺点: Cache-内存的寻址比较复杂,电路实现比较繁琐
3. 组相联映射
某一主存块 j 按模 Q映射到 缓存 的第 i 组中的 任一块
4.3 替换算法
1. 先进先出 ( FIFO )算法
2. LFU(最不经常使用 ):
被访问的行计数器增加1,换值小的行,不能反映近期cache的访问情况.
3. LRU(近期最少使用) :
被访问的行计数器置0,其他的计数器增加1,换值大的行,符合cache的工作原理.
例子:设cache有1、2、3、4共4个块,a、b、c、d等为主存中的块,访问顺序一次如下:a、b、c、d、b、b、c、c、d、d、a ,下次若要再访问e块。 问,采用LFU和LRU算法替换结果是不是相同?