计算机组成原理笔记
# 存储器
现代计算机以存储器为中心,它是计算机中存放指令和数据的主要部件
# 分类
# 存储器性能指标
- 存储容量:可以存储的二进制信息的总量
存储容量 存储字长 存储单元数量
- 存取速度,分为三个部分
- 存取时间
- 存取周期
- 存储器带宽
# 存储系统层次结构
# 主存储器
读入信息的过程,假设要读取 110 位置的信息
- 首先 CPU 通过地址总线把 110 给 MAR
- MAR 把 110 传给译码器,译码器选中第 6 个位置
- 存储器复制第 6 个位置的字节到 MDR 中
- MDR 通过地址总线把数据传给 CPU
写入信息的过程,假设要写入 11110000 到 111 位置
- 首先数据总线把 11110000 传给 MDR
- 地址总线把 111 传给 MAR
- MAR 把 111 传给译码器选中第 7 个位置
- 修改第 7 个位置为 11110000
随着技术的发展,内存都被制成大规模电路芯片,MAR 和 MDR 都被集成到了 CPU 内部
# 地址译码结构
单译码结构
双译码结构
相对比之下,双译码结构的译码输出线减少很多
单译码结构只适用于容量很小的芯片,在大容量存储器中普遍采用双译码结构
# 主存中数据的存放
- 存储字长:CPU 一次能处理的二进制数据的位数
- 存储字长:主存中的一个存储单元所能存储的二进制位数
字节地址右移一位得到半字地址,半字地址右移一位得到字
# 数据的边界对齐
# 主存与 CPU 的链接
- 位拓展
- 字扩展
可以理解为,CPU 数据总线的高三位用来判断要存储到哪一个 存储器,后面的位用来表示具体存到存储器的那个位置

- 字位同时扩展
# 主存系统的优化
随着计算机技术的发展,主存的存取速度已经成为提升计算机系统性能的瓶颈
提升主存储器的存取速度的方法有:
- 使用高速原件来提高主存的访问速度
- 通过存储器的并行工作来提高主存的访问速度
- 双端口存储器
- 单体多字存储器
- 多体交叉存储器
# 双端口存储器
双端口存储器有两套控制和地址总线
CPU 的两个核心访问不同的地址时,可以并行读写
当访问相同的地址时,就会产生读写冲突
使用一个忙标志判断是否有效
由于冲突时不可避免的,因此双端口存储器的访问速度不可能提高一倍
# 单体多字存储器
# 多体交叉存储器
根据多个存储器编制方式的不同,分为:高位多体交叉存储器,和低位多体交叉存储器
- 高位多体交叉
其实高位多体交叉存储器和字拓展完全相同
- 低位多体交叉
将高位多体交叉存储器的 模块地址 和 块内地址交换,即可得到低位多体交叉存储器
注意:可以从任意地址(某个模块,某个存储单元)开始顺序存取,不一定从 开始