2.13k likes | 2.26k Views
第 4 章 存 储 器. 4.1 概述. 4.2 主存储器. 4.3 高速缓冲存储器. 4.4 辅助存储器. 存储器的角色. 在现代计算机中,主存储器处于全机中心地位 当前计算机正在执行的程序和数据均存放在存储器中。 CPU 直接从存储器取指令或存取数据。 计算机系统中输入输出设备数量增多,数据传送速度加快,因此采用了直接存储器存取 (DMA) 技术和输入输出通道技术,在存储器与输入输出系统之间直接传送数据。 共享存储器的多处理机的出现,利用存储器存放共享数据,并实现处理机之间的通信,更加强了存储器作为全机中心的作用。. 存储器的挑战.
E N D
第4章 存 储 器 4.1 概述 4.2 主存储器 4.3 高速缓冲存储器 4.4 辅助存储器
存储器的角色 • 在现代计算机中,主存储器处于全机中心地位 • 当前计算机正在执行的程序和数据均存放在存储器中。CPU直接从存储器取指令或存取数据。 • 计算机系统中输入输出设备数量增多,数据传送速度加快,因此采用了直接存储器存取(DMA)技术和输入输出通道技术,在存储器与输入输出系统之间直接传送数据。 • 共享存储器的多处理机的出现,利用存储器存放共享数据,并实现处理机之间的通信,更加强了存储器作为全机中心的作用。
存储器的挑战 • Memory Wall
存储系统——系统的解决方案 • 存储系统与存储器 • 存储器:提供存储能力的物理实体 • 存储系统:各类物理存储器组成的层次化体系( Memory Hierarchy) • 高速缓存Cache • 主存 • 外存
非 易 失 4.1 概 述 一、存储器分类 1. 按存储介质分类 易失 (1) 半导体存储器 TTL 、MOS (2) 磁表面存储器 磁头、载磁体 (3) 磁芯存储器 硬磁材料、环状元件 (4) 光盘存储器 激光、磁光材料
4.1 2. 按存取方式分类 (1) 存取时间与物理地址无关(随机访问) • 随机存储器 在程序的执行过程中可 读可 写 • 只读存储器 在程序的执行过程中只 读 (2) 存取时间与物理地址有关(串行访问) • 顺序存取存储器 磁带 • 直接存取存储器 磁盘
静态 RAM RAM 动态 RAM 主存储器 MROM PROM ROM EPROM EEPROM 辅助存储器 4.1 3. 按在计算机中的作用分类 存 储 器 Flash Memory 高速缓冲存储器(Cache) 磁盘、磁带、光盘
/ 速度 容量 价格 位 CPU CPU 主机 寄存器 缓存 主存 磁盘 辅存 光盘 光盘 磁带 磁带 慢 大 低 4.1 二、存储器的层次结构 1. 存储器三个主要特性的关系 快 小 高
2. 缓存 主存层次和主存 辅存层次 10 ns 20 ns 200 ns ms CPU 缓存 主存 辅存 缓存 主存 主存 辅存 4.1 (速度) (容量) 主存储器 虚拟存储器 虚地址 实地址 物理地址 逻辑地址
读 写 电 路 数据总线 存储体 … … MDR … 驱动器 … 控制电路 译码器 … 读 写 MAR 地址总线 4.2 主存储器 一、概述 1. 主存的基本组成
数据总线 MDR 读 主 存 CPU 写 地址总线 MAR 4.2 2. 主存和 CPU 的联系
字节地址 字节地址 字地址 字地址 0 0 0 1 2 3 1 0 4 2 4 5 6 7 3 2 8 4 8 9 10 11 5 4 4.2 3. 主存中存储单元地址的分配 高位字节地址为字地址 低位字节地址为字地址 设地址线 24根 按 字节寻址 224 = 16 M 若字长为 16位 按 字 寻址 8 M 若字长为 32位 按 字 寻址 4 M
存取时间 • 存取周期 连续两次独立的存储器操作 (读或写)所需的 最小间隔时间 4.2 4. 主存的技术指标 (1) 存储容量 主存 存放二进制代码的总位数 (2) 存储速度 存储器的 访问时间 读出时间 写入时间 读周期 写周期 (3) 存储器的带宽 位/秒
存储器的主要技术指标 • 存储器价格 • 硬盘:600~700元/TB • 内存:200元/GB • SRAM:400元/256KB
读 写 电 路 地 址 线 存 储 矩 阵 译 码 驱 动 数 据 线 … … 片选线 读/写控制线 地址线 (单向) 数据线 (双向) 4.2 二、半导体存储芯片简介 1. 半导体存储芯片的基本结构 芯片容量 10 4 1K×4位 14 1 16K×1位 13 8 8K×8位
二、半导体存储芯片简介 1. 半导体存储芯片的基本结构 CS 读 写 电 路 地 址 线 存 储 矩 阵 译 码 驱 动 数 据 线 … … 片选线 读/写控制线 CE WE WE OE 4.2 片选线 读/写控制线 (低电平写 高电平读) (允许读) (允许写)
8片 16K × 1位 8片 16K × 1位 8片 16K × 1位 8片 16K × 1位 当地址为 65 535 时,此 8 片的片选有效 4.2 存储芯片片选线的作用 用 16K × 1位 的存储芯片组成 64K × 8位 的存储器 32片
… 0,0 0,0 … 0,7 0,7 0 A 字线 3 地 址 译 码 器 0 0 0 A 16×8矩阵 2 … … … 0 A … 1 15,0 15,7 15 0 A 0 … … 0 0 7 7 位线 读/写控制电路 读 / 写选通 读 / 写选通 读/写控制电路 … … D D D D 7 7 0 0 4.2 2. 半导体存储芯片的译码驱动方式 (1) 线选法
0 0,0 0,0 0,31 0,31 … … 0 X 0 X 地 址 译 码 器 A A 4 3 32×32 矩阵 0 … … … A 2 0 … 31,0 31,31 31,0 A X 1 0 31 A D D 0 I/O I/O Y Y Y 地址译码器 0 31 读 读/写 A A A A A 0 0 0 0 0 6 9 8 7 5 4.2 (2) 重合法 0,0
T T ~ 触发器 1 4 T T T T T T 7 7 5 8 8 6 ´ 位线A A´ A 位线A 行开关 、 T1 ~ T4 列开关 、 T5 T6 一列共用 、 行地址选择 T T 7 8 列地址选择 读放 DOUT 写放大器 写放大器 写选择 读选择 DIN 4.2 三、随机存取存储器 ( RAM ) 1. 静态 RAM (SRAM) (1) 静态 RAM 基本电路 T1 ~ T4 A 触发器原端 A´ 触发器非端
位线A A´ A T1 ~ T4 T5 T6 行选 T5、T6 开 行地址选择 ´ 位线A 列选 T7、T8 开 VA T6 T8 T7 T8 读放 DOUT 列地址选择 读放 DOUT DOUT 写放大器 写放大器 写选择 DIN 读选择 4.2 ① 静态 RAM 基本电路的 读操作 读选择有效
A´ 位线A ´ 位线A A T1 ~ T4 T1 ~ T4 T5 T6 行选 T5、T6 开 行地址选择 列选 T7、T8 开 T7 T8 DIN 两个写放 列地址选择 读放 写放 写放 DOUT 写选择 读选择 (左) A´ 反相 DIN T7 T5 DIN (右) T8 T6 A DIN ② 静态 RAM 基本电路的 写操作 写选择有效
WE CS A I/O 9 1 A I/O 8 2 I/O 3 … Intel 2114 I/O 4 A 0 VCC GND (2) 静态 RAM 芯片举例 ① Intel 2114 外特性 存储容量 1K×4位
第一组 第二组 第三组 第四组 A8 0 … … … … A7 0 15 16 31 32 47 48 63 行 A6 地 1 A5 址 … … … … … … … … … A4 译 63 A3 码 0 15 16 31 32 47 48 63 A9 列 0 … 地 A2 址 A1 15 译 A0 I/O1 I/O2 I/O3 I/O4 读写电路 读写电路 读写电路 读写电路 码 WE CS ② Intel 2114 RAM 矩阵 (64 × 64) 读
第一组 第二组 第三组 第四组 0 0 … … … … 0 0 15 16 31 32 47 48 63 行 0 地 1 0 址 … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O2 I/O3 I/O4 读写电路 读写电路 读写电路 读写电路 码 WE CS ② Intel 2114 RAM 矩阵 (64 × 64) 读
第一组 第二组 第三组 第四组 0 0 … … … … … … … … 0 0 15 16 31 32 47 48 63 行 0 15 16 31 32 47 48 63 0 地 1 0 址 … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O2 I/O3 I/O4 读写电路 读写电路 读写电路 读写电路 码 WE CS ② Intel 2114 RAM 矩阵 (64 × 64) 读
第一组 第二组 第三组 第四组 0 0 … … … … … … … … 0 0 15 16 31 32 47 48 63 行 0 15 16 31 32 47 48 63 0 地 1 0 址 … … … … … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 0 16 32 48 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O2 I/O3 I/O4 读写电路 读写电路 读写电路 读写电路 码 WE CS ② Intel 2114 RAM 矩阵 (64 × 64) 读
第一组 第二组 第三组 第四组 0 0 … … … … … … … … 0 0 16 32 48 0 15 16 31 32 47 48 63 行 0 15 16 31 32 47 48 63 0 地 1 0 址 … … … … … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 0 16 32 48 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O2 I/O3 I/O4 读写电路 读写电路 读写电路 读写电路 码 WE WE CS CS ② Intel 2114 RAM 矩阵 (64 × 64) 读
第一组 第二组 第三组 第四组 0 0 … … … … … … … … 0 0 16 32 48 0 15 16 31 32 47 48 63 行 0 15 16 31 32 47 48 63 0 地 1 0 址 … … … … … … … … … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 0 16 32 48 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O2 I/O3 I/O4 读写电路 读写电路 读写电路 读写电路 码 WE CS ② Intel 2114 RAM 矩阵 (64 × 64) 读
第一组 第二组 第三组 第四组 … … … … 0 15 16 31 32 47 48 63 … … … … … … … … 0 16 32 48 ② Intel 2114 RAM 矩阵 (64 × 64) 读 0 0 … … … … 0 0 16 32 48 0 15 16 31 32 47 48 63 行 0 地 1 0 址 … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O2 I/O3 I/O4 读写电路 读写电路 读写电路 读写电路 码 WE CS
第一组 第二组 第三组 第四组 0 0 … … … … … … … … 0 0 15 16 31 32 47 48 63 行 0 15 16 31 32 47 48 63 0 地 1 0 址 … … … … … … … … … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 0 16 32 48 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O2 I/O3 I/O4 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 码 WE CS ② Intel 2114 RAM 矩阵 (64 × 64) 读 0 16 32 48
第一组 第二组 第三组 第四组 0 0 … … … … … … … … 0 0 15 16 31 32 47 48 63 行 0 15 16 31 32 47 48 63 0 地 1 0 址 … … … … … … … … … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 0 16 32 48 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O1 I/O2 I/O2 I/O3 I/O3 I/O4 I/O4 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 码 WE CS ② Intel 2114 RAM 矩阵 (64 × 64) 读 0 16 32 48
第一组 第二组 第三组 第四组 A8 0 … … … … A7 0 15 16 31 32 47 48 63 行 A6 地 1 A5 址 … … … … … … … … … A4 译 63 A3 码 0 15 16 31 32 47 48 63 A9 列 0 … 地 A2 址 A1 15 译 A0 I/O1 I/O2 I/O3 I/O4 读写电路 读写电路 读写电路 读写电路 码 WE CS ③ Intel 2114 RAM 矩阵 (64 × 64) 写
第一组 第二组 第三组 第四组 0 0 … … … … 0 0 15 16 31 32 47 48 63 行 0 地 1 0 址 … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O2 I/O3 I/O4 读写电路 读写电路 读写电路 读写电路 码 WE CS ③ Intel 2114 RAM 矩阵 (64 × 64) 写
第一组 第二组 第三组 第四组 0 0 … … … … … … … … 0 0 15 16 31 32 47 48 63 行 0 15 16 31 32 47 48 63 0 地 1 0 址 … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O2 I/O3 I/O4 读写电路 读写电路 读写电路 读写电路 码 WE CS ③ Intel 2114 RAM 矩阵 (64 × 64) 写
第一组 第二组 第三组 第四组 0 0 … … … … … … … … 0 0 15 16 31 32 47 48 63 行 0 15 16 31 32 47 48 63 0 地 1 0 址 … … … … … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 0 16 32 48 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O2 I/O3 I/O4 读写电路 读写电路 读写电路 读写电路 码 WE WE CS CS ③ Intel 2114 RAM 矩阵 (64 × 64) 写
第一组 第二组 第三组 第四组 0 0 … … … … … … … … 0 0 15 16 31 32 47 48 63 行 0 15 16 31 32 47 48 63 0 地 1 0 址 … … … … … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 0 16 32 48 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O1 I/O2 I/O2 I/O3 I/O3 I/O4 I/O4 读写电路 读写电路 读写电路 读写电路 码 WE CS ③ Intel 2114 RAM 矩阵 (64 × 64) 写
第一组 第二组 第三组 第四组 0 0 … … … … … … … … 0 0 15 16 31 32 47 48 63 行 0 15 16 31 32 47 48 63 0 地 1 0 址 … … … … … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 0 16 32 48 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O1 I/O2 I/O2 I/O3 I/O3 I/O4 I/O4 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 码 WE CS ③ Intel 2114 RAM 矩阵 (64 × 64) 写
第一组 第二组 第三组 第四组 0 0 … … … … … … … … 0 0 15 16 31 32 47 48 63 行 0 15 16 31 32 47 48 63 0 地 1 0 址 … … … … … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 0 16 32 48 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O1 I/O2 I/O2 I/O3 I/O3 I/O4 I/O4 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 码 WE CS ③ Intel 2114 RAM 矩阵 (64 × 64) 写
第一组 第二组 第三组 第四组 0 0 … … … … … … … … 0 0 15 16 31 32 47 48 63 行 0 15 16 31 32 47 48 63 0 地 1 0 址 … … … … … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 0 16 32 48 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O1 I/O2 I/O2 I/O3 I/O3 I/O4 I/O4 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 码 WE CS ③ Intel 2114 RAM 矩阵 (64 × 64) 写
第一组 第二组 第三组 第四组 0 0 … … … … … … … … 0 0 16 32 48 0 15 16 31 32 47 48 63 行 0 15 16 31 32 47 48 63 0 地 1 0 址 … … … … … … … … … … … … … 0 译 63 0 码 0 15 16 31 32 47 48 63 0 16 32 48 列 0 0 … 地 0 址 15 0 译 0 I/O1 I/O1 I/O2 I/O2 I/O3 I/O3 I/O4 I/O4 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 读写电路 码 WE CS ③ Intel 2114 RAM 矩阵 (64 × 64) 写
t t t t t 地址有效 地址失效 RC OTD OHA CO A A 片选失效 片选有效 CS D OUT 高阻 数据有效 数据稳定 读周期tRC地址有效 下一次地址有效 读时间tA地址有效 tOTD片选失效 tOHA地址失效后的 tCO片选有效 输出高阻 数据稳定 数据维持时间 数据稳定 (3) 静态 RAM 读时序
t t t t t WR DH WC W AW A CS WE D OUT t DW D IN 写周期tWC地址有效 tAW地址有效 片选有效的滞后时间 下一次地址有效 tDHWE 失效后的数据维持时间 tWR片选失效 tDW 数据稳定 下一次地址有效 WE 失效 写时间tW写命令 WE的有效时间 (4) 静态 RAM (2114) 写时序
SRAM存储器的组成 • 存储体——存储体是存储单元的集合 • 各个字的同一位组织在一个芯片中,如 4096×1位就是说4096个字的同一位 • 把16个4096×1位的芯片组织为矩阵的形式,从而组成4096×16的存储器。 访问机制:由选择线确定目标单元。 地址到选择信号的映射,即:地址译码
SRAM存储器的组成 • 译码
SRAM存储器的组成 • 地址译码器——将二进制代码表示的地址转换为存储单元的选择信号,确定目标存储单元,驱动相应的读写电路。 • 输入:CPU地址寄存器产生的存储单元地址编码 • 输出:目标存储单元选择信号 可以分为单译码和双译码两类
SRAM存储器的组成 • 地址译码器—单译码 • 仅含一个地址译码器 • 译码器的输出叫字选线 • 字选线选择某个字的所有位(一组存储单元) • n位地址线,经过一维译码后,有2n根选择线。 • 例如: • 地址输入线n=4 经地址译码器译码,可译出24=16个状态,分别对应16个字地址。
SRAM存储器的组成 • 地址译码器—单译码 • 问题:移码所需资源(译码器和选择线)增长迅速 • 如图:3-8译码到4-16译码,译码设备增加一倍 • 仅适用于小容量存储器 思考:8+8=16,8X8呢?矩阵形式是否更有效?
SRAM存储器的组成 • 地址译码器—双译码 • 包含两个地址译码器(X/Y) • n位地址线,经过二维译码后,有2×2n/2根选择线 • 可选择2n/2×2n/2=2n个存储字 • 例如: • n=12,双译码输出状态为212=4096个,而译码线仅只有2×26=128根。 多个存储矩阵可以按照同一地址实现存取,形成宽度为n的字存取机制
SRAM存储器的组成 片选与读/写控制电路—用作多个存储器芯片的使能信号,以及读或写操作的选择信号。 I/O电路—在数据总线和被选用的单元之间,用以控制被选中的单元读出或写入,并具有放大信息的作用。 驱动器—驱动挂在各条X方向选择线上的所有存储元电路。 输出驱动电路—为了扩展存储器的容量,将几个芯片的数据 线并联使用;另外存储器的读出数据或写入数据都放在双向的数据总线上。这就用到三态输出缓冲器。