只读存储器
分类
- 掩模ROM(MROM)[出厂厂家写好信息,不能修改]
- PROM(一次性编程)[编完程不能修改]
- EPROM(多次性编程)[价格便宜、集成度高]
- EEPROM(多次性编程)[电可擦写、局部擦写]
- FlashMemory(闪存型存储器)[比EEPROM快、具备RAM功能]
存储器与CPU连接
存储器容量扩展
位扩展
字扩展
同时扩展
位扩展(增加存储器字长)
用2片1K*4位的存储器芯片组成1K*8位的存储器
10根地址线、8根数据线
注意:两个芯片同时工作
字扩展(增加存储字的数量)
用2片1K*8位存储芯片组成2K*8位的存储器
11根地址线,8根数据线
注意:两个芯片不能同时工作(数据线会乱),根据地址线第11位数字,当作片选信号,如果为0,选择第一个芯片,如果为1,选择第二个芯片。
字位扩展
用8片1K*4位存储器芯片组成4K*8位的存储器
12根地址线、8根数据线
前两位是片选信号:00,01,10,11
第一组地址:00 00 0000 0000 - 00 11 1111 1111
第二组地址:01 00 0000 0000 - 01 11 1111 1111
第三组地址:10 00 0000 0000 - 10 11 1111 1111
第四组地址:11 00 0000 0000 - 11 11 1111 1111
存储器与cpu连接
- 地址线连接
- 数据线连接
- 读写命令线连接
- 片选线连接
- 只读存储器rom[系统程序、配置信息]、读写存储器ram[用户程序]的合理选择。
- 时序、负载等
CPU与存储器连接图
cpu寻址空间是16位,64k。一片2K*8的ROM,和2片1K*4的RAM。
读写线连到RAM,138译码器(片选线的连接)。ROM输入端接地,因为不能写入。
tip:若存储容量32K*16位,则地址线15根,数据线16根。
用1K*4位的存储器芯片组成容量为16K*8位的存储芯片,共需要32片。(4 * 32 = 128)
CPU存储器连接图步骤
- 写出对应的二进制地址码
- 确定芯片种类类型[rom ram]
- 分配地址线[哪些作为地址线,哪些作为片选线]
- 确定片选信号
- 确定片选逻辑
存储器校验
why
存储器电容或者触发器发生充电放电,存储器中的信息就有可能出错,所以需要校验。否则代码错误,引发程序失效。
- 为了校验信息是否正确,如何进行编码
- 纠错检查错误能力与什么有关
- 出错后如何纠错
- 除了校验码还有哪些容错编码,原理
纠错能力与代码之间二进制位的最小差异数有关,差异越大,纠错检查错误能力越强。
编码最小距离L
合法代码之间二进制代码最小差异
L-1 = D+C(D>=C)
D:监测错误的位数
C:纠正错误的位数
出错后如何纠错
汉明码的组成
奇偶校验
分组校验
汉明码的分组是一种非划分方式
组成三要素
各检测位所承担的检测小组
纠错是1位,编码距离(汉明距离)至少是3
提高访存速度措施
-
高速器件
-
采用层次cache-主存
-
调整主存结构
- 单体多字系统
- 多体并行(高位交叉[顺序编址、存储器容量提高]、低位交叉[各个体轮流编址、存储器带宽、访问速度提高])
- 高性能存储芯片(1.SDRAM 2.RDRAM 3.带cache的DRAM)