一、概述
1.存储器分类
按 存储介质 分:
- 半导体器件:分双极型(TTL)和 MOS 管两种
- 磁表面存储器:非易失性
- 磁芯存储器:非易失性,已淘汰
- 光盘:非易失性
按 存储方式 分:
- RAM 随机存储器 Random Access Memory 随机访问 访问时间与物理地址无关
- ROM 只读存储器 Read Only Memory 随机访问 访问时间与物理地址无关
- 顺序存取存储器 串行访问 访问时间与物理地址有关
- 直接存取存储器 串行访问 访问时间与物理地址有关
按 在计算机中作用 分:
2.存储器结构层次
缓存-主存 :解决 速度 需求
主存-辅存 :解决 容量 需求
对存储器分层次,很好解决了性能与价格、容量的矛盾
二、主存储器
1.概述
(1)组成结构
(2)与 CPU 联系
(3)存储单元地址分配
- 高位字节地址为字地址
- 低位字节地址为字地址
(4)技术指标
- 存储容量:存储二进制代码总位数 存储容量 = 存储单元个数 *存储字长 存储容量(字节表示) = 存储单元个数 *存储字长 / 8
- 存储速度:用存取时间、存取周期表示
- 带宽:每秒从存储器进出信息的最大数量,单位 字/s 或 字节/s 或 位/s
提高带宽的方法:
- 缩短存取周期
- 增加存储字长,使每个周期可以访问更多数据
- 增加存储体
2.半导体存储芯片
(1)基本结构
(2)译码驱动方式
- 线选法
- 重合法
3.随机存取存储器(RAM)
- 静态 RAM (Static RAM 或 SRAM)
- 动态 RAM (Dynamic RAM 或 DRAM)
DRAM | SRAM | |
存储原理 | 电容 | 触发器 |
集成度 | 高 | 低 |
芯片引脚 | 少 | 多 |
价格 | 低 | 高 |
功耗 | 小 | 大 |
速度 | 慢 | 快 |
刷新 | 有 | 无 |
- 只读存储器 (ROM)
- 掩膜 ROM(MROM):厂家写入,只读,不可擦除
- PROM :一次性编程,熔丝烧断为 0
- 可擦洗可编程只读存储器 (EPROM) :擦除方法 紫外线照射或电气方法
- 闪速存储器(Flash Memory):较一般 EPROM 重写、擦除速度快,具备 RAM 功能。
4.存储器与 CPU 连接
(1)存储容量扩展
- 位扩展:增加存储字长,如 1K*4 位(10 根地址线 4 根数据线)扩展位 1K*8 位 (10 根地址线 8 根数据线)
- 字扩展:增加存储器字的数量,如 1K*4 位(10 根地址线 4 根数据线)扩展位 2K*8 位 (11 根地址线 8 根数据线)
- 字、位扩展:既增加存储字长又增加存储器字的数量
(2)与 CPU 连接(做两道题就明白了)
参考题目:https://blog.csdn.net/qq_41913072/article/details/85137196
或者 计算机组成原理 P93 (唐朔飞)
5.存储器校验
(1)编码最小距离
- L 编码最小距离
- D 检查错误位数
- C 纠错位数
若 L = 3,则这种编码最多检错 2 位 或 检错 1 位、纠错 1 位。
因此,对于 n 位二进制代码,要能检错并对错误定位,需要增加 k 位检测位,k 应满足:
(2)汉明码(Hanming)
具有 1 位纠错能力的编码,L = 3,采用奇偶校验、分组校验。
对于 k 位 检测位的位置:
分组 如下:
检测位 取值(看几道题就会了):
纠错方式:
6.提高访存速度
- 用高速元件
- 层次结构
- 调整主存结构
(1)单体多字系统
按地址在一个存取周期可以读出 4 *W 位指令或数据,增加了存储器带宽。
条件:指令和数据在内存中必须连续存放
(2)多体并行系统
由多模块组成,各模块容量相同,存储速度相同,既能并行工作也可交叉工作。
- 高位交叉编址:高位地址表示模块号(体号),低位表示体内地址,各模块并行工作
- 低位交叉编址:低位地址表示表示模块号(体号),高位表示体内地址,各模块轮流工作,在不改变存取周期前提下,增加了存储器带宽。
(3)高性能存储芯片
三、高速缓存存储器(Cache)
1.概述
- 时间局部性:被引用过一次的存储器位置在未来会被多次引用
- 空间局部性:如果一个存储器的位置被引用,那么它附近的位置也会被引用。
(1)Cache 工作原理
- 主存和 Cache 均按块存储,块大小相同(B个字)
- ,因此每个缓冲块有一个标记,做主存块的标号,表示存的是哪个主存块
(2)命中率
用命中率来衡量 Cache 效率,Cache 容量越大,命中率越高
定义:CPU 要访问的信息在 Cache 中的比率,若访问 Cache n次,主存 m 次,则命中率为
命中率与 Cache 的 容量 和 块长 有关,增大容量或块长,命中率提高,但块长过长,会使缓存中块数减少,命中率下降,块长最好取一个存取周期从主存中取出的信息长度。
(3)Cache -主存系统效率()
2.Cache 基本结构
3.Cache 读写
读操作如上图,写操作有两种: 写直达法 和 写回法
- 写直达法:Cache 数据与主存始终一致,每次向 Cache 写入,都向主存写入,写操作时间就是访问主存时间
- 写回法:只把 数据写入 Cache,直到 Cache 块中数据被替换时才写入主存,速度快,但数据可能失效,写操作时间就是访问 Cache 时间
4. Cache-主存地址映像
- 直接映象(固定)
- 全相联映象(灵活)
- 组相联映象(上两种折衷)
- 段相联映象
(1)直接映象
每个主存块固定对应某一个缓存块,一个缓存块可以对应多个主存块,缓存空间利用不充分。
(2)全相联映象
允许主存中每一个字块映象到 Cache 的任意块,成本太高。
(3) 组相联映象
将 Cache 分为 N 组,每组 L 块,每个主存块可以映象到固定的某一组的任一块。
(4) 段相联映象
将主存和 Cache 都分为若干段,每段块数相同,段间采用全相联映象,段内直接映象
5.替换算法
- 先进先出(FIFO):容易实现,开锁小,但违反局部性原理
- 近期最少使用算法(LRU)
这里书上写的开锁小,但我没弄清楚什么意思,向各位大神请教一下,万分感谢!
四、辅助存储器
即外部存储器,不直接与 CPU 交换信息。
1.磁表面存储器主要技术指标
- 记录密度:磁盘沿半径方向单位长度磁道数
- 位密度(线密度):单位长度磁道能记录的二进制信息位数
- 存储容量:盘面数 * 每盘面磁道数 * 每条磁道记录二进制代码数
- 数据传输率
- 误码率
2.软盘硬盘比较
硬盘 | 软盘 | |
速度 | 高 | 低 |
磁头 | 固定、活动 | 活动 |
盘片 | 固定 | 可换 |
价格 | 高 | 低 |
环境 | 苛刻 | 苛刻 |
本文中图片均为刘宏伟教授在中国大学MOOC上的课件截图