计算机组成与体系结构:存储器层次结构

第三章 存储器层次结构

存储器是计算机系统中用于存储程序和数据的重要部件。根据不同的分类标准,存储器可以分为多种类型:

按存储介质分类

1. 半导体存储器:使用半导体器件存储信息

  1. 双极型(TTL):速度快、功耗大、集成度低
  2. MOS型:集成度高、功耗低、成本低,目前广泛使用

2. 磁表面存储器:使用磁性材料存储信息

  1. 磁盘:硬盘、软盘
  2. 磁带:用于数据备份

3. 光存储器:使用光学原理存储信息

  1. CD、DVD、蓝光光盘等

4. 新型存储器

  1. 闪存(Flash):U盘、SSD
  2. 铁电存储器(FeRAM)
  3. 磁阻存储器(MRAM)
  4. 相变存储器(PCM)

按存取方式分类

1. 随机存取存储器(RAM):可以按地址随机访问任意单元,存取时间与位置无关

  1. 静态RAM(SRAM):速度快、不需要刷新、成本高
  2. 动态RAM(DRAM):需要定期刷新、集成度高、成本低

2. 只读存储器(ROM):内容只能读出不能写入(或写入困难)

  1. 掩膜ROM:出厂时写入,不可更改
  2. PROM:可编程一次
  3. EPROM:可擦写(紫外线)
  4. EEPROM:电可擦写
  5. Flash Memory:闪存,块擦除

3. 顺序存取存储器:必须按顺序访问,如磁带 4. 直接存取存储器:先直接定位到区域,再顺序访问,如磁盘

按在计算机中的作用分类

1. 主存储器:直接与CPU交换信息,速度快、容量有限 2. 辅助存储器:用于长期存储,容量大、速度慢 3. 高速缓冲存储器(Cache):介于CPU和主存之间,提高访问速度 4. 控制存储器:存放微程序

评价存储器性能的主要指标包括:

存储容量:存储器能够存储的信息总量,通常用字节(B)、千字节(KB)、兆字节(MB)、吉字节(GB)、太字节(TB)表示。

存取时间(访问时间):从启动一次存储器操作到完成该操作所经历的时间。对于随机存取存储器,存取时间约等于存储周期。

存储周期:连续两次独立的存储器操作所需的最小时间间隔。通常存储周期略大于存取时间。

存储器带宽:单位时间内存储器能传输的信息量,通常用字节/秒或位/秒表示。

可靠性:用平均故障间隔时间(MTBF)来衡量,MTBF越长,可靠性越高。

功耗:存储器工作时消耗的电能,对于便携式设备尤为重要。

价格:单位容量的价格,是评价存储器经济性的指标。

为了解决存储器大容量、高速度、低成本的矛盾,现代计算机采用层次化的存储系统结构。

存储层次结构的设计思想

根据程序的局部性原理,将最近常用的小部分数据和指令放在高速小容量的存储器中,而将不常用的大部分信息放在低速大容量的存储器中,从而在整体上获得接近高速存储器的速度和大容量存储器的成本。

程序的局部性原理

1. 时间局部性:最近被访问的信息很可能再次被访问(如循环中的指令) 2. 空间局部性:与最近被访问信息相邻的信息很可能被访问(如顺序执行的指令、数组元素)

存储系统的层次结构

图3-1:存储系统层次结构示意图 存储器层次结构|500

层次 存储器 特点
————–——
第0层 寄存器 速度最快、容量最小、成本最高
第1层 Cache 速度快、容量较小、成本高
第2层 主存 速度较快、容量中等
第3层 外存 速度慢、容量大、成本低

各层之间的关系: - 第n层是第n+1层的缓存 - 数据只在相邻两层之间复制 - 上层未命中时才访问下层

静态随机存取存储器(SRAM)使用双稳态触发器存储信息,不需要刷新,速度快但集成度低。

SRAM的基本单元

SRAM单元由6个MOS管组成(6T结构): - T1、T2:工作管,构成双稳态触发器 - T3、T4:负载管 - T5、T6:门控管,控制读写

两个稳定状态分别表示“0”和“1”。只要电源不断,信息就能保持。

SRAM的读写操作

读操作: 1. 选中存储单元(字线加高电平) 2. 位线预充电到高电平 3. 单元状态使一条位线放电,另一条保持 4. 灵敏放大器检测位线电压差,输出数据

写操作: 1. 选中存储单元 2. 位线加写入数据(一位为高,一位为低) 3. 字线加高电平,强制触发器翻转或保持

SRAM的特点: - 速度快(存取时间可达纳秒级) - 不需要刷新,控制简单 - 功耗相对较高(静态功耗) - 集成度低(6个管存储1位) - 价格高 - 常用作Cache

动态随机存取存储器(DRAM)使用电容存储电荷来表示信息,由于漏电需要定期刷新。

DRAM的基本单元

单管DRAM单元只用一个晶体管和一个电容: - 晶体管作为开关 - 电容存储电荷(有电荷为“1”,无电荷为“0”)

DRAM的读写操作

读操作: 1. 选中单元(字线加高电平,晶体管导通) 2. 电容电荷转移到位线上 3. 灵敏放大器检测微弱电压变化 4. 读出数据(破坏性读出,需要回写)

写操作: 1. 选中单元 2. 位线加写入电平 3. 对电容充电(写1)或放电(写0)

DRAM的刷新

由于电容漏电,存储的信息会逐渐丢失,需要定期刷新(通常每2-64ms刷新一次)。

刷新方式: 1. 集中刷新:在规定刷新周期内集中进行全部刷新,存在死时间 2. 分散刷新:将刷新分散到每个存储周期,无死时间但存取周期延长 3. 异步刷新:结合集中刷新和分散刷新的优点,减少死时间

DRAM的特点: - 需要定期刷新,控制复杂 - 速度较SRAM慢 - 集成度高(1个管+1个电容存储1位) - 功耗较低 - 价格低 - 常用作主存

DRAM的改进类型

1. FPM DRAM(快速页模式):同一行内访问多个数据时只需提供一次行地址 2. EDO DRAM(扩展数据输出):允许在当前数据输出时开始下一次存取 3. SDRAM(同步DRAM):与系统时钟同步,支持突发传输 4. DDR SDRAM:在时钟上升沿和下降沿都传输数据,带宽翻倍

  1. DDR2、DDR3、DDR4、DDR5:不断提高数据传输率

只读存储器用于存储固定不变的程序和数据,断电后信息不丢失。

掩膜ROM: 由制造商根据用户提供的掩膜版在生产时写入内容,出厂后不可更改。适合大批量生产。

PROM(可编程ROM): 用户可以用专用编程器一次性写入内容,写入后不可更改。

EPROM(可擦除可编程ROM): 可以用紫外线照射擦除全部内容,然后重新编程。擦除次数有限(约100次)。

EEPROM(电可擦除可编程ROM): 可以用电信号擦除和重写,可以按字节擦写,擦写次数更多(约10万次)。

Flash Memory(闪存): 属于EEPROM的改进型,采用块擦除方式,擦除速度更快,容量更大。分为: - NOR Flash:可以随机读取,适合存储程序代码 - NAND Flash:容量大、成本低,适合存储数据,如SSD、U盘

当单个存储芯片的容量不能满足要求时,需要进行容量扩展。

位扩展(字长扩展)

当存储芯片的数据位数小于系统数据总线宽度时,需要进行位扩展。

方法:将多个芯片的地址线、片选线、读写控制线并联,数据线分别引出。

例如:用8片8K×1位的芯片组成8K×8位的存储器 - 每片提供1位数据 - 8片并联提供8位数据 - 地址线、片选线、读写线并联

字扩展(容量扩展)

当存储芯片的存储单元数不足时,需要进行字扩展。

方法:将多个芯片的数据线、地址线、读写控制线并联,用译码器控制各芯片的片选线。

例如:用4片16K×8位的芯片组成64K×8位的存储器 - 每片提供16K个单元 - 需要2位地址进行片选(2-4译码器) - 低位地址连接各芯片地址线 - 高位地址经译码后连接各芯片片选线

字位同时扩展

同时进行字扩展和位扩展,以满足系统对存储容量和数据宽度的要求。

连接信号

1. 地址线:CPU发出的地址信号,选择存储单元 2. 数据线:双向传输数据 3. 控制线

  1. MREQ(存储器请求):指示当前访问存储器
  2. R/W(读写控制):指示读操作或写操作
  3. 其他控制信号

地址译码

CPU发出的地址需要经过译码产生片选信号。译码方式有:

1. 线选法:用高位地址线直接作为片选信号,简单但地址空间不连续 2. 全译码法:所有高位地址都参与译码,地址连续,无重叠 3. 部分译码法:部分高位地址参与译码,存在地址重叠

存储器接口设计示例

假设CPU有16根地址线(A15-A0),8根数据线(D7-D0),需要用2K×8的ROM和4K×8的RAM组成存储系统。

设计步骤: 1. 确定存储空间分配(如ROM:0000H-07FFH,RAM:0800H-17FFH) 2. 计算所需芯片数量 3. 设计地址译码电路 4. 连接数据线和控制线

双端口存储器有两个独立的端口,每个端口都有独立的地址线、数据线和控制线,允许两个处理器或控制器同时访问存储器。

特点: - 提高存储器访问效率 - 适合多处理器系统 - 需要处理访问冲突(同时访问同一单元)

冲突处理: - 设置忙标志(BUSY) - 仲裁逻辑决定优先权 - 一方等待或中断

多体交叉存储器由多个独立的存储体组成,每个存储体可以独立进行读写操作。

高位交叉编址: 连续地址位于同一存储体内,适合扩大容量,但不能提高访问速度。

低位交叉编址: 连续地址分布在不同存储体内,可以实现并行访问,提高访问速度。

例如:4体低位交叉存储器 - 地址低2位选择存储体 - 地址高位选择体内单元 - 连续4个地址分别位于4个体中

优点: - 提高存储器带宽 - 支持流水访问 - 适合顺序访问模式

读周期时序

1. 地址有效:CPU发出地址信号 2. 片选有效:使能存储芯片 3. 读命令有效:指示读操作 4. 数据有效:存储器输出数据 5. 数据采样:CPU读取数据 6. 撤销信号:结束读周期

时序参数: - 读周期时间(tRC):连续两次读操作的最小间隔 - 存取时间(tA):地址有效到数据有效的时间 - 片选到数据有效时间(tCO) - 读命令到数据有效时间(tOE)

写周期时序

1. 地址有效 2. 数据有效:CPU提供写入数据 3. 片选有效 4. 写命令有效:指示写操作 5. 数据写入:存储器锁存数据 6. 撤销信号:结束写周期

时序参数: - 写周期时间(tWC):连续两次写操作的最小间隔 - 地址建立时间(tAS):地址稳定到写命令有效的时间 - 数据建立时间(tDS):数据稳定到写命令撤销的时间 - 数据保持时间(tDH):写命令撤销后数据保持的时间

刷新周期

DRAM刷新按行进行,每次刷新一行,刷新地址由刷新计数器提供。

刷新时序: 1. 停止正常读写操作 2. 提供刷新地址 3. 发出刷新命令 4. 存储器内部对指定行进行刷新 5. 恢复或继续下一次刷新

刷新对性能的影响

- 集中刷新:存在死时间,影响实时性 - 分散刷新:无死时间但存取周期延长 - 异步刷新:平衡性能,最常用

磁盘存储器是目前使用最广泛的外部存储器,包括硬盘和软盘(已基本淘汰)。

磁记录原理

利用磁性材料的磁滞回线特性,通过磁头在磁介质表面产生磁场,改变磁介质的磁化方向来记录信息。

磁盘的结构

1. 盘片:圆形磁性介质,上下两面都可记录 2. 磁道:盘片上的同心圆轨道 3. 扇区:磁道上的等分弧段,最小存储单位 4. 柱面:各盘片上半径相同的磁道组成的圆柱面

硬盘的技术指标

1. 容量:磁盘能存储的数据总量 2. 记录密度

  1. 道密度:单位长度内的磁道数
  2. 位密度:单位长度内存储的位数

3. 平均存取时间

 平均存取时间 = 寻道时间 + 旋转延迟 + 传输时间

4. 数据传输率:单位时间内传输的数据量

磁盘阵列(RAID)

RAID(独立磁盘冗余阵列)将多个物理磁盘组织成一个逻辑磁盘,提高性能和可靠性。

- RAID 0:条带化,提高性能,无冗余 - RAID 1:镜像,提高可靠性 - RAID 3:位交叉奇偶校验 - RAID 5:块交叉分布式奇偶校验,常用

固态硬盘使用闪存作为存储介质,没有机械部件。

优点: - 读写速度快(尤其是随机访问) - 无噪音 - 抗震性好 - 功耗低 - 体积小

缺点: - 价格较高 - 擦写次数有限 - 存在写入放大问题 - 长时间不通电可能丢数据

闪存管理

- wear leveling(磨损均衡):均匀分布擦写操作 - 垃圾回收:整理无效页,回收空间 - 坏块管理:标记和管理坏块 - 纠错码(ECC):检测和纠正错误

例题1:某计算机字长为16位,存储器按字编址,地址线为16位。现用若干8K×8位的SRAM芯片构成64K×16位的存储器,需要多少片?如何连接?

解: 存储器总容量:64K×16位 = 1024K位 每片容量:8K×8位 = 64K位 所需片数:1024K / 64K = 16片

连接方式: - 先进行位扩展:2片8K×8位组成8K×16位(共需8组) - 再进行字扩展:8组组成64K×16位 - 使用3-8译码器,用地址线A13-A15译码产生8个片选信号 - A0-A12连接到所有芯片的地址线

例题2:某DRAM芯片存储容量为1M×4位,问: (1)芯片地址线有多少条? (2)若刷新周期为8ms,采用异步刷新,刷新信号的周期是多少?

解: (1)1M = 2^20,需要20条地址线 (2)1M×4位DRAM按行刷新,共512行(假设行列对称) 刷新间隔:8ms / 512 = 15.625μs

例题3:某磁盘组有6片盘片,每片2个记录面,最上最下不用。存储区域内径22cm,外径33cm,道密度40道/cm,内层位密度400位/cm。问: (1)共有多少柱面? (2)盘组总容量是多少?

解: (1)有效存储半径 = (33-22)/2 = 5.5cm 柱面数 = 道密度 × 有效半径 = 40 × 5.5 = 220道

(2)每道容量 = 2π × 内径/2 × 位密度 = 2π × 11 × 400 = 8800π位 = 1100π字节 总容量 = 10面 × 220道 × 1100π字节 ≈ 7.6MB

核心概念: - 存储器的层次结构和局部性原理 - SRAM和DRAM的工作原理和区别 - 存储器容量扩展方法 - 磁盘和SSD的存储原理

关键知识点: 1. 存储器分类:按介质、存取方式、作用分类 2. 性能指标:容量、速度、带宽、可靠性 3. SRAM:6管结构、速度快、不需要刷新、用作Cache 4. DRAM:单管结构、需要刷新、集成度高、用作主存 5. 刷新方式:集中刷新、分散刷新、异步刷新 6. 扩展方法:位扩展、字扩展、字位同时扩展 7. 多体交叉:高位交叉和低位交叉

重要公式: - 存储容量计算 - 平均存取时间 = 寻道时间 + 旋转延迟 + 传输时间

学习要点: - 理解存储层次结构的设计思想 - 掌握SRAM和DRAM的工作原理差异 - 熟练掌握存储器扩展的设计方法 - 了解磁盘和SSD的特点

思考题: 1. 为什么DRAM需要刷新而SRAM不需要? 2. 低位交叉存储器为什么能提高访问速度? 3. 存储器刷新对系统性能有什么影响? 4. 固态硬盘相比传统硬盘有哪些优缺点?

该主题尚不存在

您访问的页面并不存在。如果允许,您可以使用创建该页面按钮来创建它。

  • 计算机组成与体系结构/存储器层次结构.txt
  • 最后更改: 2026/03/01 16:20
  • 张叶安