【计组】4.存储器

♡♡♡ 说明
本笔记为笔者学习中国大学MOOC计算机组成原理课程时结合课程PPT和自己总结所做,为个人笔记,如果对你有所帮助的话,我很荣幸。
课件PPT及笔记(word版、pdf版)及深入理解计算机系统pdf可在我的微信公众号 “分享猿” 回复关键词 N02获取。

计算机组成原理系列课程笔记入口:计算机组成原理[哈工大]

一、概述

1.1 存储器的分类
  1. 按存储介质分类
    (1) 半导体存储器  TTL 、 MOS               易失
    (2) 磁表面存储器  磁头、载磁体            \
    (3) 磁芯存储器    硬磁材料、环状元件      非易失
    (4) 光盘存储器    激光、磁光材料         /
  2. 按存取方式分类
    (1) 存取时间与物理地址无关(随机访问)
    • 随机存储器 在程序的执行过程中
    • 只读存储器 在程序的执行过程中
    (2) 存取时间与物理地址有关(串行访问)
    • 顺序存取存储器   磁带
    • 直接存取存储器   磁盘
  3. 按在计算机中的作用分类
    存 储 器 { 主 存 储 器 { R A M { 静 态 R A M 动 态 R A M R O M { M R O N P R O M E P R O M E E P R O M F l a s h M e m o r y 高 速 缓 冲 存 储 器 ( C a c h e ) 辅 助 存 储 器 − 磁 盘 、 磁 带 、 光 盘 存储器\left\{ \begin{aligned} 主存储器 \begin{cases} RAM \begin{cases} 静态RAM\\ 动态RAM \end{cases} \\ ROM \begin{cases} MRON\\ PROM\\ EPROM\\ EEPROM \end{cases} \end{cases}\\ Flash Memory\\ 高速缓冲存储器(Cache) & \\ 辅助存储器 -磁盘、磁带、光盘 \end{aligned} \right. RAM{RAMRAMROMMRONPROMEPROMEEPROMFlashMemory(Cache)
1.2 存储器的层次结构
  1. 存储器三个主要特性的关系
    在这里插入图片描述
  2. 缓存-主存层次和主存-辅存层次
    在这里插入图片描述

二、主存储器

2.1 概述
  1. 主存的基本组成
    在这里插入图片描述
  2. 主存和 CPU 的联系
    在这里插入图片描述
    备注:MDR、MAR在CPU中
  3. 主存中存储单元地址的分配
    在这里插入图片描述
  4. 主存的技术指标
    (1) 存储容量  主存 存放二进制代码的总位数,即存储单元个数* 存储字长
    (2) 存储速度
    • 存取时间  存储器的 访问时间(读出时间、写入时间)
    • 存取周期  连续两次独立的存储器操作(读或写)所需的最小间隔时间
    通常,存取周期>存取时间
    (3) 存储器的带宽   位/秒
2.2 半导体存储芯片简介
  1. 半导体存储芯片的基本结构
    在这里插入图片描述
    存储芯片片选线的作用
    在这里插入图片描述

  2. 半导体存储芯片的译码驱动方式
    (1) 线选法 (16*1字节:1片)
    在这里插入图片描述
    (2) 重合法 (1K *1位:8片芯片)
    在这里插入图片描述

2.3 随机存取存储器 ( RAM )
  1. 静态 RAM (SRAM)
    (1) 静态 RAM 基本电路
    在这里插入图片描述
    ① 静态 RAM 基本电路的 操作
    在这里插入图片描述
    在这里插入图片描述
    (2) 静态 RAM 芯片举例
    ① Intel 2114 外特性
    在这里插入图片描述
    ② Intel 2114 RAM 矩阵 (64 × 64)
    在这里插入图片描述
    ③ Intel 2114 RAM 矩阵 (64 × 64)
    在这里插入图片描述
  2. 动态 RAM ( DRAM )
    (1) 动态 RAM 基本单元电路
    在这里插入图片描述
    (2) 动态 RAM 芯片举例
    ① 三管动态 RAM 芯片 (Intel 1103)
    在这里插入图片描述② 三管动态 RAM 芯片 (Intel 1103)
    在这里插入图片描述
    ③ 单管动态 RAM 4116 (16K × 1位) 外特性
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    (4) 动态 RAM 刷新 刷新与行地址有关
    ① 集中刷新 (存取周期为0.5 s )
    以128 × 128 矩阵为例
    在这里插入图片描述
    “死区” 为 0.5 s× 128 = 64 s
    “死时间率” 为 128/4 000 × 100% = 3.2%
    ② 分散刷新(存取周期为1s)
    以 128 × 128 矩阵为例
    在这里插入图片描述
    在这里插入图片描述
    ③ 分散刷新与集中刷新相结合(异步刷新)
    对于 128 × 128 的存储芯片(存取周期为 0.5 us)
    若每隔 15.6 us 刷新一行
    在这里插入图片描述
    每行每隔2 ms 刷新一次 “死区” 为 0.5 us
    将刷新安排在指令译码阶段,不会出现 “死区”
  3. 动态 RAM 和静态 RAM 的比较
    在这里插入图片描述
2.4 只读存储器(ROM)

早期的只读存储器——在厂家就写好了内容

  • 改进1——用户可以自己写——一次性
  • 改进2——可以多次写——要能对信息进行擦除
  • 改进3——电可擦写——特定设备
  • 改进4——电可擦写——直接连接到计算机上
  1. 掩模 ROM ( MROM ) (厂家写好)
    行列选择线交叉处有 MOS 管为“1”
    行列选择线交叉处无 MOS 管为“0”

  2. PROM (一次性编程)
    在这里插入图片描述

  3. EPROM (多次性编程 )
    在这里插入图片描述

  4. EEPROM (多次性编程 )
    电可擦写
    局部擦写
    全部擦写

  5. Flash Memory (闪速型存储器)
    EPROM      价格便宜 集成度高
    EEPROM     电可擦洗重写
    比EEPROM快,具备 RAM 功能

2.5 存储器与 CPU 的连接
  1. 存储器容量的扩展
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 存储器与 CPU 的连接
    (1) 地址线的连接
    (2) 数据线的连接
    (3) 读/写命令线的连接
    (4) 片选线的连接
    (5) 合理选择存储芯片
    (6) 其他 时序、负载

例4.1 设CPU有16根地址线,8根数据线,并用 (MREQ) ̅ 作为访存控制信号(低电平有效),用用 (WR) ̅ 作为读/写控制信号(高电平为读,低电平为写)。现有下列存储芯片:1K*4位RAM,4K*8位RAM,8K*8位RAM,2K*8位ROM,4K*8ROM,8 K*8位ROM及74138译码器和各种门电路,如图所示。画出CPU与存储器的连接图,要求如下:
①主存地址空间分配:
6000H~67FFH为系统程序区。
6800H~6BFFH为用户程序区。
②合理选用上述存储芯片,说明各选几片。
③详细画出存储芯片的片选逻辑图。
在这里插入图片描述
在这里插入图片描述
(3) 分配地址线
在这里插入图片描述
(4) 确定片选信号
在这里插入图片描述
备注:MREQ存储器请求,确定本次访问时存储器(低电平)还是I/O(高电平)。(WR) ̅ 代表低电平为写,高电平为读。

2.6 存储器的校验
  • 为什么要对存储器的信息进行校验?
  • 为了能够校验出信息是否正确,如何进行编码?
  • 纠错或检错能力与什么因素有关?
  • 校验出信息出错后是如何进行纠错?
  • 除了我们教材上讲的校验码,你还知道哪些容错编码?,原理是什么?
  • 合法代码集合
    在这里插入图片描述
  1. 编码的最小距离
    任意两组合法代码之间二进制位数的最少差异
    编码的纠错、检错能力与编码的最小距离有关
    L − 1 = D + C ( D ≥ C ) L - 1 = D + C ( D≥C ) L1=D+C(DC)
    L L L —— 编码的最小距离 L = 3 L = 3 L=3
    D D D —— 检测错误的位数
    C C C —— 纠正错误的位数
    汉明码是具有一位纠错能力的编码

  2. 汉明码的组成
    在这里插入图片描述
    组成汉明码的三要素
    汉明码的组成需增添 ? k k k位检测位 2 k ≥ n + k + 1 , n 2^k ≥ n + k + 1,n 2kn+k+1,n为代码长度
    检测位的位置 ? 2 i 2^i 2i ( i = 0 , 1 , 2 , 3 , … i = 0, 1, 2 , 3 , … i=0123 )
    检测位的取值 ?与该位所在的检测“小组” 中承担的奇偶校验任务有关

    各检测位 C i C_i Ci 所承担的检测小组为
    在这里插入图片描述

  3. 汉明码的纠错过程
    形成新的检测位 P i P_i Pi ,其位数与增添的检测位有关,如增添3位( k = 3 k = 3 k=3),新的检测位为 P 4 P 2 P 1 P_4 P_2 P_1 P4P2P1
    k = 3 k = 3 k=3 为例, Pi的取值为
    P 1 = 1 ⊕ 3 ⊕ 5 ⊕ 7 P 2 = 2 ⊕ 3 ⊕ 6 ⊕ 7 P 4 = 4 ⊕ 5 ⊕ 6 ⊕ 7 P_1 = 1⊕3⊕5⊕7\\ P_2 = 2⊕3⊕6⊕7\\ P_4 = 4⊕5⊕6⊕7 P1=1357P2=2367P4=4567
    对于按 “偶校验” 配置的汉明码,不出错时 P 1 = 0 , P 2 = 0 , P 4 = 0 P_1=0,P_2=0,P_4=0 P1=0P2=0P4=0

2.7 提高访存速度的措施
  • 采用高速器件
  • 采用层次结构 Cache –主存
  • 调整主存结构
  1. 单体多字系统
    在这里插入图片描述

  2. 多体并行系统
    (1) 高位交叉 顺序编址 各个体并行工作
    在这里插入图片描述
    在这里插入图片描述
    (2) 低位交叉 各个体轮流编址
    在这里插入图片描述
    在这里插入图片描述
    低位交叉的特点
    在不改变存取周期的前提下,增加存储器的带宽
    在这里插入图片描述
    设四体低位交叉存储器,存取周期为T,总线传输周期为τ,为实现流水线方式存取,应满足 T = 4τ。
    在这里插入图片描述
    连续读取 4 个字所需的时间为 T + ( 4 - 1 ) τ T+(4 -1)τ T(41)τ

  3. 高性能存储芯片
    (1) SDRAM (同步 DRAM)
    在系统时钟的控制下进行读出和写入
    CPU 无须等待
    (2) RDRAM
    由 Rambus开发,主要解决存储器带宽问题
    (3) 带 Cache 的 DRAM
    在DRAM的芯片内集成了一个由 SRAM 组成的Cache,有利于猝发式读取

三、高速缓冲存储器

3.1 概述
  1. 问题的提出
    避免 CPU “空等” 现象

    CPU 和主存(DRAM) 的速度差异
    在这里插入图片描述
  2. Cache的工作原理
    (1) 主存和缓存的编址
    在这里插入图片描述
    主存和缓存按块存储块的大小相同B为块长

    (2) 命中与未命中
    缓存共有C 块,主存共有M 块 M >> C
    命中:主存块调入缓存,主存块与缓存块建立了对应关系
    用标记记录与某缓存块建立了对应关系的主存块号
    未命中:主存块未调入缓存
    主存块与缓存块未建立对应关系

    (3) Cache 的命中率
    CPU 欲访问的信息在Cache 中的比率
    命中率与Cache 的容量与块长有关
    一般每块可取 4 ~ 8 个字
    块长取一个存取周期内从主存调出的信息长度
    CRAY_1:16体交叉,块长取 16 个存储字
    IBM 370/168:4体交叉,块长取 4 个存储字(64位× 4 = 256位)

    (4) Cache–主存系统的效率
    效率 e 与 命中率 有关
    在这里插入图片描述
    设 Cache 命中率 为 h, 访问 Cache 的时间为 tc,访问 主存 的时间为 tm,则
    在这里插入图片描述
  3. Cache 的基本结构
    在这里插入图片描述
  4. Cache的读写操作 -读
    在这里插入图片描述
    写 - Cache 和主存的一致性
    写直达法(Write–through)
    写操作时数据既写入Cache又写入主存
    写操作时间就是访问主存的时间, Cache块退出时,不需要对主存执行写操作,更新策略比较容易实现
    写回法(Write–back)
    写操作时只把数据写入 Cache 而不写入主存
    当 Cache 数据被替换出去时(原数据)才写回主存
    写操作时间就是访问 Cache 的时间,
    Cache块退出时,被替换的块需写回主存,增加了Cache的复杂性
  5. Cache 的改进
    (1) 增加 Cache 的级数
    • 片载(片内)Cache 单一缓存
    • 片外Cache 两级缓存
    (2) 统一缓存和分立缓存
    • 指令Cache 数据Cache
    • 与指令执行的控制方式有关 是否流水
    Pentium:8K指令Cache,8K数据Cache
    PowerPC620:32K指令Cache,32K数据Cache
3.2 Cache–主存的地址映射
  1. 直接映射
    在这里插入图片描述
    每个缓存块 i i i 可以和若干个主存块对应
    每个主存块 j j j 只能和一个缓存块对应

  2. 全相联映射
    在这里插入图片描述
    主存中的任一块可以映射到缓存中的任一块

  3. 组相联映射
    在这里插入图片描述
    直接:某一主存块只能固定映射到某一缓存块
    全相联:某一主存块能映射到任一缓存块
    组相联:某一主存块只能映射到某一缓存组中的任一块

3.3 替换算法
  1. 先进先出 ( FIFO ) 算法
  2. 近期最少使用( LRU) 算法

四、辅助存储器

4.1 概述
  1. 特点 不直接与 CPU 交换信息
  2. 磁表面存储器的技术指标
    (1) 记录密度 道密度 Dt 位密度 Db
    (2) 存储容量 C = n × k × s
    (3) 平均寻址时间 寻道时间 + 等待时间
    辅存的速度 寻址时间&磁头读写时间
    (4) 数据传输率 Dr = Db × V
    (5) 误码率 出错信息位数与读出信息的总位数之比
4.2磁记录原理和记录方式
  1. 磁记录原理 (读和写)
    在这里插入图片描述
    在这里插入图片描述
4.3 硬磁盘存储器
  1. 硬磁盘存储器的类型
    (1) 固定磁头和移动磁头
    (2) 可换盘和固定盘
  2. 硬磁盘存储器结构
    在这里插入图片描述
    (1) 磁盘驱动器
    在这里插入图片描述
    (2) 磁盘控制器
    • 接收主机发来的命令,转换成磁盘驱动器的控制命
    • 实现主机和驱动器之间的数据格式转换
    • 控制磁盘驱动器读写
    磁盘控制器 是主机与磁盘驱动器之间的 接口

    (3) 盘片 由硬质铝合金材料制成
4.4 软磁盘存储器
  1. 概述
    2.
  2. 软盘片——由聚酯薄膜制成
    在这里插入图片描述
4.5 光盘存储器
  1. 概述
    采用光存储技术——利用激光写入和读出
    第一代光存储技术——采用非磁性介质 不可擦写
    第二代光存储技术——采用磁性介质 可擦写

  2. 光盘的存储原理
    只读型和只写一次型——热作用(物理或化学变化)
    可擦写光盘——热磁效应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值