第3章多层次的存储器.ppt_第1页
第3章多层次的存储器.ppt_第2页
第3章多层次的存储器.ppt_第3页
第3章多层次的存储器.ppt_第4页
第3章多层次的存储器.ppt_第5页
已阅读5页,还剩148页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章多层次的存储器 2020年3月22日星期日 2 目录 3 1存储器概述 理解 3 2SRAM存储器 理解 3 3DRAM存储器 掌握 3 4只读存储器和FLASH存储器 了解 3 5并行存储器 理解 3 6Cache存储器 掌握 3 7虚拟存储器 理解 2020年3月22日星期日 3 3 1存储器概述 3 1 1存储器分类3 1 2存储器的分级结构3 1 3存储器的技术指标 2020年3月22日星期日 4 3 1 1存储器分类 1 3 按存储介质分半导体存储器 用半导体器件 MOS管 组成的存储器 磁表面存储器 用磁性材料 磁化作用 做成的存储器 光盘存储器 用光介质 光学性质 构成的存储器 按存取方式分随机存储器 存取时间和存储单元的物理位置无关 顺序存储器 存取时间和存储单元的物理位置有关 半顺序存储器 存取时间部分地依赖于存储单元的物理位置 系统主存 Cache 软盘硬盘磁带 光盘 半导体存储器 磁带 磁盘存储器 2020年3月22日星期日 5 3 1 1存储器分类 2 3 按存储内容可变性分只读存储器 ROM 只能读出而不能写入的半导体存储器 随机读写存储器 RAM 既能读出又能写入的半导体存储器 按信息易失性分易失性存储器断电后信息即消失的存储器 非易失性存储器断电后仍能保存信息的存储器 半导体存储器 半导体存储器 磁盘光盘 2020年3月22日星期日 6 3 1 1存储器分类 3 3 按在计算机系统中的作用分主存储器能够被CPU直接访问 速度较快 用于保存系统当前运行所需的所有程序和数据 辅助存储器不能被CPU直接访问 速度较慢 用于保存系统中所有的程序和数据 高速缓冲存储器 Cache 能够被CPU直接访问 速度快 用于保存系统当前运行中频繁使用的程序和数据 控制存储器CPU内部的存储器 半导体存储器 磁盘 光盘存储器 半导体存储器 半导体存储器 2020年3月22日星期日 7 3 1 2存储器的分级结构 动画演示 存储器的分级结构 swf 2020年3月22日星期日 8 CPU 缓存 主存 辅存 缓存 主存层次 主存 辅存层次 3 1 2存储器的分级结构 系统对存储器的要求 大容量 高速度 低成本三级存储系统结构 主板上的存储系统结构 在CPU看来 容量相当于辅存容量 速度相当于Cache速度 缓存 主存层次提高了存储系统的速度 该层次降低了存储系统的成本 扩大了存储系统的容量 2020年3月22日星期日 9 3 1 3主存储器的技术指标 存储容量 存储容量 指存储器能存放二进制代码的总数 存储容量 存储单元个数 存储字长用a b表示存储容量 存储单元个数 存储字长 8单位为B 字节 要求 已知存储容量 能计算出该存储器的地址线和数据线的根数 例如某机存储容量为2K 16 则该系统所需的地址线为根 数据线位数为根 11 16 2020年3月22日星期日 10 3 1 3主存储器的技术指标 存储速度 存取时间 访问时间 从启动一次访问操作到完成该操作为止所经历的时间 以ns为单位 存取时间又分读出时间 写入时间两种 存取周期存储器连续启动两次独立的访问操作所需的最小间隔时间 以ns为单位 存取周期 存取时间 复原时间 存储器带宽每秒从存储器进出信息的最大数量 单位为位 秒或者字节 秒 2020年3月22日星期日 11 求存储器带宽的例子 设某存储系统的存取周期为500ns 每个存取周期可访问16位 则该存储器的带宽是多少 存储带宽 每周期的信息量 周期时长 16位 500 10 9 秒 3 2 107位 秒 32 106位 秒 32M位 秒 2020年3月22日星期日 12 3 2SRAM存储器 3 2 0主存储器的构成3 2 1基本的静态存储元阵列3 2 2基本的SRAM逻辑结构3 2 3读 写周期波形图 2020年3月22日星期日 13 3 2 0主存储器的构成 静态RAM SRAM 由MOS电路构成的双稳触发器保存二进制信息 优点 访问速度快 只要不掉电可以永久保存信息 缺点 集成度低 功耗大 价格高 动态RAM DRAM 由MOS电路中的栅极电容保存二进制信息 优点 集成度高 功耗约为SRAM的1 6 价格低 缺点 访问速度慢 电容的放电作用会使信息丢失 要长期保存数据必须定期刷新存储单元 主要种类有 SDRAM DDRSDRAM 主要用于构成Cache 主要用于构成系统主存 2020年3月22日星期日 14 主存和CPU的联系 2020年3月22日星期日 15 基本存储元6个MOS管形成一位存储元 64 4位的SRAM结构图存储体排列成存储元阵列 不一定以存储单元形式组织 芯片封装后 3种外部信号线地址线 2n个单元 对应有n根地址线 地址信号经过译码电路 产生每个单元的字线选通信号 数据线 每个单元m位 对应有m根数据线 控制线 读写控制信号 1 读 0 写 片选控制信号 1 未选通 0 选通 3 2 1基本的静态存储元阵列 2020年3月22日星期日 16 六管SRAM存储元电路 位线 D 位线D 动画演示 SRAM存储元 swf 1 0 0 1 0 0 2020年3月22日星期日 17 2020年3月22日星期日 18 3 2 2基本SRAM存储器逻辑结构 2020年3月22日星期日 19 SRAM存储器的组成 存储体存储单元的集合 按位将各存储元组织成一个存储矩阵 不同的存储器采用不同的译码方式来选择存储单元 地址译码器将CPU发出的地址信息转换成存储元选通信号的电路 译码驱动器用于增强译码输出选择线的驱动能力 I O控制电路一般包括读写电路和放大电路 2020年3月22日星期日 20 RAM的译码驱动方式 方法1 单译码被选单元由字线直接选定 适用容量较小的存储芯片 方法2 双译码被选单元由X Y两个方向的地址决定 动画演示 双地址译码器 swf 2020年3月22日星期日 21 32K 8位的SRAM逻辑结构图 动画演示 3 3 swf X方向 8根地址线输出选中256行 Y方向 7根地址线输出选中128列 读写 选通控制 三维存储阵列结构 2020年3月22日星期日 22 Intel2114静态RAM芯片是1K 4的存储器外部结构地址总线10根 A0 A9 数据总线4根 D0 D3 片选信号 CS 写允许信号 WE0 写 1 读内部存储矩阵结构64 64方阵 共有4096个六管存储元电路 采用双译码方式A3 A8 6根 用于行译码 64行选择线 A0 A2 A9用于列译码 16条列选择线 每条列选择线同时接4个存储元 共16 4 64列 静态RAM芯片举例 Intel2114 2020年3月22日星期日 23 2114逻辑结构图 2020年3月22日星期日 24 3 2 3读 写周期波形图 存储器读 写的原则读 写信号要在地址和片选均起作用 并经过一段时间后有效 读写信号有效期间不允许地址 数据发生变化 地址 数据要维持整个周期内有效 读周期时间 tRC 写周期时间 tWC 存储器进行两次连续的读 写操作所必须的间隔时间 大于实际的读出 写入时间 2020年3月22日星期日 25 SRAM存储器的读周期 读周期操作过程CPU发出有效的地址信号 译码电路延迟产生有效的片选信号 在读信号控制下 从存储单元中读出数据 各控制信号撤销 地址信号稍晚 数据维持一段时间读出时间 tAQ 从地址有效到外部数据总线上的数据信息稳定所经历的时间片选有效时间 tEQ 读控制有效时间 tGQ 片选信号 读控制信号所需要维持的最短时间 二者相等 从地址译码后 到数据稳定的时间间隔 存储器的读周期时序 2020年3月22日星期日 26 2020年3月22日星期日 27 SRAM存储器的写周期 写周期操作过程CPU发出有效的地址信号 并提供所要写入的数据 译码电路延迟产生有效的片选信号 在写信号控制下 将数据写入存储单元中 各控制信号撤销 地址信号稍晚 数据维持一段时间写入时间 tWD 地址控制信号稳定后 到数据写入存储器所经历的时间 维持时间 thD 读控制信号失效后的数据维持时间 存储器的写周期时序 2020年3月22日星期日 28 2020年3月22日星期日 29 课本P70 例1 下图是SRAM的写入时序图 R W是读 写命令控制线 当R W线为低电平时 存储器按给定地址把数据线上的数据写入存储器 请指出下图写入时序中的错误 并画出正确的写入时序图 R W 信号必须在地址和数据稳定时有效 一个写周期中地址不允许改变 一个写操作中数据不允许改变 2020年3月22日星期日 30 3 3DRAM存储器 动态RAM DRAM 因为该存储器必须定时刷新 才能维持其中的信息不变 DRAM的存储元由MOS晶体管和电容组成的记忆电路 电容上的电量来表现存储的信息 充电 1 放电 0 结构形式四管存储元单管存储元 2020年3月22日星期日 31 四管存储元 单管存储元 3 3 1DRAM存储元的记忆原理 读操作字线选中存储元 若存储元中保存数据 0 即Cs上无电荷 则位线上无电流 读出0 若存储元中保存数据 1 即Cs上无电荷 则位线上有电流 读出1 写操作 是通过位线上的电流对Cs的充电 写1 放电 写0 的过程 2020年3月22日星期日 32 T 无电流 有电流 动画演示 DRAM存储元操作 swf 2020年3月22日星期日 33 3 3 2DRAM芯片的逻辑结构 外部地址引脚比SRAM减少一半 存储芯片集成度高 体积小 送地址信息时 分行地址和列地址分别传送 内部结构 比SRAM复杂刷新电路用于存储元上的信息刷新 以行为单位 刷新计数器的位数与行译码器的输出位数相同 行 列地址锁存器用于保存完整的地址信息 使用行选通信号和列选通信号锁存地址 DRAM芯片的内部结构图 2020年3月22日星期日 34 2020年3月22日星期日 35 DRAM控制电路的构成 地址多路开关刷新时需要提供刷新地址 非刷新时需提供读写地址 刷新定时器间隔固定的时间提供一次刷新请求 刷新地址计数器刷新按行进行 用于提供对所要刷新的行进行计数 仲裁电路对同时产生的来自CPU的访问存储器的请求和来自刷新定时器的刷新请求的优先权进行裁定 定时发生器提供行地址选通 RAS 列地址选通 CAS和写信号 WE 动画演示 DRAM逻辑结构 swf 2020年3月22日星期日 36 3 3 3读 写周期 DRAM的读写周期与SRAM相似 差别在于 行 列地址分开传送 在同一个读写周期内地址会发生变化 列选通信号要滞后于行选通信号一段时间 DRAM读周期和写周期步骤行选通信号有效 锁存行地址 写入数据有效 列选通信号有效 锁存列地址 读写控制信号有效 读出数据有效 读 写周期二选一 动画演示 DRAM读写周期 swf 2020年3月22日星期日 37 4116 16K 1位 芯片读过程 63 0 2020年3月22日星期日 38 4116 16K 1位 芯片写过程 63 0 2020年3月22日星期日 39 3 3 3刷新周期 刷新的原因DRAM的基本存储元 电容 会随着时间和温度而减少 必须定期地对所有存储元刷新 以保持原来的信息 刷新 再生 在固定时间内对所有存储单元 通过 读出 不输出 写入 的方式恢复信息的操作过程 刷新方式以存储矩阵的行为单位刷新 刷新周期从上一次对整个M刷新结束到下一次对整个M全部刷新一遍为止的时间 刷新过程中存储器不能进行正常的读写访问 2020年3月22日星期日 40 DRAM的刷新方式 集中式刷新在一个刷新周期内 利用一段固定时间 依次对存储矩阵的所有行逐一刷新 在此期间停止对存储器的读 写操作 存在死区时间 会影响CPU的访存操作 分散式刷新也称异步式刷新 在一个刷新周期内 分散地刷新存储器的所有行 既不会产生明显的读写停顿 也不会延长系统的存取周期 2020年3月22日星期日 41 例 设某存储器的存储矩阵为128 128 存取周期为0 5 s RAM刷新周期为2ms 若采用集中式刷新方式 试分析其刷新过程 死时间率 为128 4000 100 3 2 死区 时间为0 5 s 128 64 s 2020年3月22日星期日 42 例 设某存储器的存储矩阵为128 128 存取周期为0 5 s RAM刷新周期为2ms 若采用分散式刷新方式 试分析其刷新过程 若每隔2ms 128 15 6 s刷新一行每隔15 6 s产生一个刷新请求信号 每31 2 31 个工作周期中做刷新一行存储器的操作 2020年3月22日星期日 43 存储原理 集成度 芯片引脚 功耗 价格 速度 刷新 动态RAM和静态RAM的比较 2020年3月22日星期日 44 3 3 4存储器容量的扩充 单个存储芯片的容量有限 实际存储器由多个芯片扩展而成 存储器 存储芯片 与CPU的连接数据 地址 控制三总线连接 多个存储芯片CPU不是一一对应连接关注存储芯片与CPU的外部引脚存储器容量扩充方式位扩展 字扩展 字位扩展 SRAM DRAM ROM均可进行容量扩展 2020年3月22日星期日 45 存储芯片与CPU的引脚 存储芯片的外部引脚数据总线 位数与存储单元字长相同 用于传送数据信息 地址总线 位数与存储单元个数为2n关系 用于选择存储单元 读写信号 WE 决定当前对芯片的访问类型 片选信号 CS 决定当前芯片是否正在被访问 CPU与存储器连接的外部引脚数据总线 位数与机器字长相同 用于传送数据信息 地址总线 位数与系统中可访问单元个数为2n的关系 读写信号 WE 决定当前CPU的访问类型 访存允许信号 MREQ 决定是否允许CPU访问存储器 2020年3月22日星期日 46 存储器容量的位扩展 存储单元数不变 每个单元的位数 字长 增加 例如 由1K 4的存储芯片构成1K 8的存储器存储芯片与CPU的引脚连接方法 地址线 各芯片的地址线直接与CPU地址线连接 数据线 各芯片的数据线分别与CPU数据线的不同位连接 片选及读写线 各芯片的片选及读写信号直接与CPU的访存及读写信号连接 CPU对该存储器的访问是对各位扩展芯片相同地址单元的同时访问 2020年3月22日星期日 47 D7 D0 A9 A0 1K 4 1K 4 10 由1K 4的存储芯片构成1K 8的存储器 2020年3月22日星期日 48 由8K 1位的芯片构成8K 8位的存储器 2020年3月22日星期日 49 存储器容量的字扩展 字扩展 每个单元位数不变 总的单元个数增加 例如 用1K 8的存储芯片构成2K 8的存储器存储芯片与CPU的引脚连接方法 地址线 各芯片的地址线与CPU的低位地址线直接连接 数据线 各芯片的数据线直接与CPU数据线连接 读写线 各芯片的读写信号直接与CPU的读写信号连接 片选信号 各芯片的片选信号由CPU的高位地址和访存信号产生 CPU对该存储器的访问是对某一字扩展芯片的一个单元访问 2020年3月22日星期日 50 1K 8 1K 8 1 D7 D0 A0 A9 10 8 A10 低位的地址线与各芯片的地址线并联 多余的高位地址线用来产生相应的片选信号 由1K 8的存储芯片构成2K 8的存储器 2020年3月22日星期日 51 16K 8的存储芯片 地址线14根 数据线8根 CS WECPU的引脚 地址线16根 数据线8根 MERQ WECPU的最高2位地址和 MREQ信号产生4个芯片的片选信号 4个存储芯片构成存储器的地址分配 第1片00000000000000000011111111111111即0000H 3FFFH第2片01000000000000000111111111111111即4000H 7FFFH第3片10000000000000001011111111111111即8000H BFFFH第4片11000000000000001111111111111111即C000H FFFFH 用16K 8的芯片构成64K 8的存储器 0000H 3FFFH 4000H 7FFFH 8000H 0BFFFH 0FFFFH 0C000H 2020年3月22日星期日 52 译码器 MREQA14A15 存储芯片的字扩展连接图 作为译码器的使能信号 作为译码器的地址输入信号 2020年3月22日星期日 53 字位扩展 每个单元位数和总的单元个数都增加 例如 用1K 4的存储芯片构成2K 8的存储器扩展方法先进行位扩展 形成满足位要求的存储芯片组 再使用存储芯片组进行字扩展 要求 能够计算出字位扩展所需的存储芯片的数目 例如 用L K的芯片构成M N的存储系统 所需芯片总数为M L N K片 存储芯片的字位扩展 2020年3月22日星期日 54 共需要几块芯片 进行如何扩展 8片2M 8的SRAM芯片进行字扩展 各芯片的数据线怎么连 各芯片的数据线均直接与8位系统数据总线连接 各芯片的地址线怎么连 各芯片的地址线均直接与最低21位的系统地址线连接 各芯片的读写 片选信号线怎么连 各芯片的读写信号直接与系统的读写控制线连接 各芯片的片选信号由剩余的高3位系统地址线和访存允许信号 MREQ译码产生 保证CPU发出不同地址 访问不同芯片 练习 用2M 8的SRAM芯片构成一个16M 8的存储器 请回答以下问题 2020年3月22日星期日 55 存储器与CPU的连接补充例子 做题思路 审题确定所需扩展的类型 选择合适的存储芯片 原则 尽量作简单的扩展 位扩展 字扩展 字位扩展 分析存储芯片和CPU的引脚特性 地址范围 地址线数目 容量要求等 确定引脚的连接 尤其是在进行字扩展时 特别注意片选信号的产生 3 8译码器74LS138 双2 4译码器74LS139画出逻辑连接图 作必要的分析说明 2020年3月22日星期日 56 74LS138译码器 用于地址译码的3 8译码器 输入3位地址信号 译码产生8个不同的选通输出 外部的结构图引脚作用 输入信号A B C引入所要译码的三位地址信号输出信号 Y0 Y7对应每一个存储单元 低电平有效使能信号G1 G2A G2B 当且仅当G1 1 G2A 0 G2B 0时 译码器正常工作 使能控制端 地址输入端 选通输出端 2020年3月22日星期日 57 74LS138译码器逻辑功能表 2020年3月22日星期日 58 74LS138译码器内部结构图 2020年3月22日星期日 59 74LS139译码器 用于地址译码的2 4译码器 输入2位地址信号 译码产生4个不同的选通输出 外部的结构图引脚作用 输入信号A B引入所要译码的两位地址信号 输出信号 Y0 Y3对应每一个存储单元 低电平有效 使能信号 G 当且仅当 G 0时 译码器正常工作 使能控制端 地址输入端 选通输出端 2020年3月22日星期日 60 74LS139译码器的逻辑功能表 2020年3月22日星期日 61 存储器地址段分析 A15 A11A10A9 A00110000000000000011001111111111101101000000000000110101111111111存储芯片选择系统程序区 1片2K 8ROM用户程序区 2片1K 4RAM 做位扩展 例1 设CPU有16根地址线 8根数据线 用 MREQ作访存控制现有下列芯片 1K 4RAM 4K 8RAM 8K 8RAM 2K 8ROM 4K 8ROM 8K 8ROM及74LS138等电路要求 构成地址为6000 67FFH的系统程序区 地址为6800 6BFFH的用户程序区 选择芯片并画出逻辑连接图 系统程序区2K 8位 用户程序区1K 8位 再做字扩展 6000H 67FFH 6800H 6BFFH 2020年3月22日星期日 62 芯片及引脚分析 2K 8ROM地址线 A0 A10数据线 D0 D7控制线 CS1K 4RAM地址线 A0 A9数据线 D0 D3控制线 CS WECPU地址线 A0 A15数据线 D0 D7控制线 WE MREQ A15 A1101100 A15 A10011010 A15 A120110 应使用A15 A11作为地址译码信号 产生各存储芯片的 CS 2020年3月22日星期日 63 逻辑连接图 1 0 0 1 0 01100 0 0 01101 2020年3月22日星期日 64 译码设计方案2 A15 A14 A13 A12 A11 1 1 选通ROM区 A10 选通RAM区 2020年3月22日星期日 65 可选存储芯片 1K 4RAM 4K 8RAM 8K 8RAM 2K 8ROM 4K 8ROM 8K 8ROM 存储器地址分析 最小8K系统程序区0000000000000000 0001111111111111接下来的16K用户程序区0010000000000000 00111111111111110100000000000000 0101111111111111最大4K系统程序工作区1111000000000000 1111111111111111 例2 CPU及芯片同上题 要求主存地址空间满足 最小8K为系统程序区 与其相邻的16K地址为用户程序区 最大4K地址空间为系统程序工作区 划出逻辑图及指出芯片种类及片数 1片8K 8ROM 高3位地址为000 2片8K 8RAM 高3位地址为001 010 1片4K 8RAM 高4位地址为1111 2020年3月22日星期日 66 逻辑连接图 000 001 010 111 2020年3月22日星期日 67 存储器设计的连接要点 地址线的连接用CPU的低位地址线与芯片地址线直接连接 数据线的连接用CPU的对应位数据线与芯片的数据线直接连接 读 写控制信号线的连接用CPU的读 写控制信号线直接与存储芯片直接连接 片选线的连接一般使用CPU的高位地址线的和CPU的访存允许控制信号线 MREQ 经译码器译码后产生各芯片的片选信号 关键点 保证从每个芯片的角度来看 都完全使用了CPU引脚 直接或间接连接 2020年3月22日星期日 68 某存储器系统连接图如下 分析各存储芯片的容量和地址范围 练习1 2K 8ROM 2K 8ROM 2K 8RAM 2K 8RAM 地址范围0000 00001 1 0 7FFH 地址范围0010 00011 1 800H FFFH 地址范围1000 01001 1 2000H 27FFH 地址范围1010 01011 1 2800H 2FFFH 2020年3月22日星期日 69 设某存储器中 最低的8K字的存储区为ROM区 相邻的2K字的为RAM区 主存字长为16位 按字寻址方式读写 拟采用8K 8的芯片构成其ROM区 采用2K 8的芯片构成RAM区 请问 各需要多少片上述芯片 试分析各块芯片的地址范围 并画出CPU与存储系统的连接图 练习2 2020年3月22日星期日 70 练习3 已知某机地址线16根 数据线8根 若使用4K 4位的RAM芯片组成该机所允许的最大主存空间 并选用模块板结构形式 每个模块板的容量为16K 8位 共需要几块这样的模块板 每个模块板内共有多少片这样的RAM芯片 主存共需多少片这样的RAM芯片 CPU如何选择各模块板 无需画图 说明即可 2020年3月22日星期日 71 某一存储器系统的部分接线如下图所示 请回答 RAM和ROM的存储容量各是多少 RAM和ROM存储器地址分配范围各是多少 练习4 2020年3月22日星期日 72 2009年考研统考第15题 15 某计算机主存容量为64KB 其中ROM区为4KB 其余为RAM区 按字节编址 现要用2K 8位的ROM芯片和4K 4位的RAM芯片来设计该存储器 则需要上述规格的ROM芯片数和RAM芯片数分别是 A 1 15B 2 15C 1 30D 2 30 D 2020年3月22日星期日 73 2010年考研统考第15 16题 15 假定用若干个2K 4位芯片组成一个8K 8位的存储器 则地址0B1FH所在芯片的最小地址是 A 0000HB 0600HC 0700HD 0800H16 下列有关RAM和ROM的叙述中 正确的是 I RAM是易失性存储器 ROM是非易失性存储器II RAM和ROM都是采用随机存取的方式进行信息访问III RAM和ROM都可用作CacheIV RAM和ROM都需要进行刷新A 仅I和IIB 仅II和IIIC 仅I II IIID 仅II III IV D A 2014年考研统考第15题 15 某容量为256MB的存储器由若干4M 8位的DRAM芯片构成 该DRAM芯片的地址引脚和数据引脚总数是 A 19B 22C 30D 36 解答 4M 8位的存储芯片 需要地址引脚22根 数据引脚8根 DRAM地址引脚减半 故总引脚数为11 8 19根 若是SRAM芯片 则总引脚数目为30根 2020年3月22日星期日 74 A 2020年3月22日星期日 75 3 3 5高级的DRAM结构 1 2 FPM DRAM 快速页模式动态存储器 根据程序局部性原理实现的 快速页模式允许在选定的行中对每一个列地址进行连续快速的读写操作 CDRAM 带高速缓存动态存储器 在DRAM芯片上集成一定数量的SRAM 高速缓存 5 3 3 3的突发模式周期 2020年3月22日星期日 76 3 3 5高级的DRAM结构 2 2 SDRAM 同步动态存储器 需要与系统时钟相同步的外部时钟 非同步DRAM CPU需先与主存进行时钟同步 再读写数据 同步DRAM 主存在系统时钟控制下工作 无需同步等待时间 采用多存储体结构 多个存储体紧密配合 高速读写数据 SDRAM连续读写时 最高可达到一个CLK一个数据 DDRDRAM 双数据传输率同步动态存储器 在SDRAM基础上 采用延时锁相环技术提供数据选通信号 对数据进行精确定位 每个时钟的上升 下降沿两次传输数据 数据传输率提高1倍 DDR2拥有两倍于DDR的预读取能力 4bit数据读预取 DDR3在DDR2基础上 具有更高工作频率 更好的通用性 5 1 1 1的突发模式周期 3 3 6DRAM读 写正确性校验 校验方法 写入 读出 F为数据校验部件 不同校验方式 设计有所区别 存储器实验中 靠指令读写验证扩展的存储区域的正确性 2020年3月22日星期日 77 2020年3月22日星期日 78 3 4只读存储器和FLASH存储器 3 4 1只读存储器ROM3 4 2FLASH存储器 2020年3月22日星期日 79 3 4 1只读存储器 掩模式ROM定义 数据在芯片制造过程中写入 不能更改 优点 可靠性 集成度高 价格便宜 缺点 通用性差 不能改写内容 一次编程ROM PROM 定义 用户第一次使用时写入确定内容 优点 用户可根据需要对ROM编程 缺点 只能写入一次 不能更改 多次编程ROM定义 可用紫外光照射 EPROM 或电擦除 E2PROM 多次改写其中内容 优点 通用性较好 可反复使用 2020年3月22日星期日 80 3 4 2Flash存储器 Flash存储器一种高密度 非易失性的读 写半导体存储器 以E2PROM为基础 电擦除方式修改其内容的 注意课本上的错误 不是EPROM E2PROM以字节为单位更新数据 而闪存则以块为单位 目前数码产品中用的都是闪存卡 U盘 CF卡 SM卡 SD MMC卡 记忆棒 TF卡 虽然外观 规格不同 但是技术原理都是相同的 闪速存储器的可擦写次数一般在1万次以上 也有人说有的U盘可多达100万次左右 无法核实 3 5并行存储器 3 5 1双端口存储器3 5 2多模块交叉存储器 2020年3月22日星期日 82 3 5 1双端口存储器 双端口存储器采用空间并行技术 同一个存储体使用两组相互独立的读写控制线路 可并行操作 读写特点无冲突读写访问的存储单元不同 可并行读写存储体 有冲突读写访问同一存储单元 可使用 BUSY信号控制读写优先顺序 显卡上的存储器一般都是双端口存储器 逻辑框图 2020年3月22日星期日 83 双端口存储器的逻辑框图 2020年3月22日星期日 84 3 5 2多模块交叉存储器 多模块交叉存储器采用时间并行技术 存储器的模块化组织方式顺序方式优点 通过直接增添模块来扩充存储器容量比较方便 缺点 各模块串行工作 存储器的带宽受到了限制 交叉方式优点 块数据传送时 可大大提高存储器的带宽 缺点 模块间的依赖性强 且不易进行存储器的容量扩充 CPU对多模块的同时访问 多模块交叉存储器在CPU所访问连续存储空间时 主存的访问速度将会大幅度提高 动画演示 3 26 swf 动画演示 3 27 swf 流水线存取示意图P903 28 2020年3月22日星期日 85 多模块交叉存储器 顺序方式 每个模块中的单元地址是连续的 某个模块进行存取时 其他模块不工作 某一模块出现故障时 其他模块可以照常工作 存储单元地址高位 模块号 低位 模块内的字号 2020年3月22日星期日 86 多模块交叉存储器 交叉方式 每个模块的单元地址是不连续的 连续地址分布在相邻的不同模块内 对于数据的成块传送 各模块可以实现多模块流水式并行存取 存储单元地址低位 模块号 高位 模块内的字号 2020年3月22日星期日 87 课本P91 例5 设存储器容量为32字 字长64位 模块数m 4 分别用顺序方式和交叉方式进行组织 存储周期T 200ns 数据总线宽度为64位 总线传送周期 50ns 问顺序存储器和交叉存储器的带宽各是多少 顺序存储器和交叉存储器连续读出m 4个字的数据信息量为q 4 64 256位顺序存储器所需要的时间为t1 m T 4 200ns 800ns 8 10 7s故顺序存储器的带宽为W1 q t1 256 8 10 7 32 107 bit s 交叉存储器所需要的时间为t2 T m 1 200ns 4 1 50ns 350ns 3 5 10 7s故交叉存储器的带宽为W1 q t1 256 3 5 10 7 73 107 bit s 2020年3月22日星期日 88 3 6Cache存储器 3 6 1Cache基本原理3 6 3替换策略3 6 4Cache的写操作策略3 6 2主存与Cache的地址映射 2020年3月22日星期日 89 3 6 1Cache基本原理 使用Cache的原因CPU速度越来越快 主存储器与CPU的速度差距越来越大 影响CPU的工作效率 Cache的作用在CPU和主存之间加一块高速的SRAM Cache 主存中将要被访问的数据提前送到Cache中 CPU访存时 先访问Cache 若没有再进行数据调度 使用Cache的依据在一段时间内 CPU所执行的程序和访问的数据大部分都在某一段地址范围内 而该段范围外的地址访问很少 动画演示 Cache的功能 swf 程序访问的局部性原理 2020年3月22日星期日 90 结构模块化CPU访问Cache或主存时 以字为单位 Cache和主存交换信息时 以块为单位 一次读入一块或多块内容 每块由若干个字组成 Cache的每行都设置有标记 CPU访问程序或数据时 先访问标记 此结构全部由硬件实现 Cache对程序员是透明的 即程序员不必知道是否存在Cache 1 Cache的基本原理 Cache的一块 也称为一行 动画演示 Cache原理 swf 2020年3月22日星期日 91 2 Cache的基本构成 存储体基本单位为字 若干个字构成一个数据块 地址映射变换机构用于将主存地址变换为Cache地址 以利用CPU发送的主存地址访问Cache 替换机构若要更新Cache中数据时使用的机制 相联存储器Cache的块表 快速指示所要访问的信息是否在Cache中 读写控制 2020年3月22日星期日 92 相联存储器 动画演示 相联存储器的结构 swf 2020年3月22日星期日 93 命中率是指CPU要访问的信息在Cache中的比率 失效率 1 命中率影响命中率的主要因素Cache容量 过小时 局部信息装不完 命中率低 过大时 对提高效率不明显 且成本高 Cache中块的大小 一般用一个主存周期所能调出的单元数 字或字节 作为一个块大小 3 Cache的命中率 一般 95 2020年3月22日星期日 94 主存系统的平均访问时间 Cache 主存系统的平均访问时间ta为设主存与Cache的速度倍率r tm tc 则系统的访问效率e为 e ta htc 1 h tm tc 命中时的Cache访问时间 tm 未命中时的主存访问时间 h 命中率 2020年3月22日星期日 95 命中率h Nc Nc Nm 1900 1900 100 0 95主存与Cache的速度倍率r tm tc 250ns 50ns 5访问效率e 83 3 平均访问时间ta tc e 50ns 0 833 60ns 课本P94 例6 CPU执行一段程序时 Cache完成存取的次数为1900次 主存完成存取的次数为100次 已知Cache存取周期为50ns 主存存取周期为250ns 求Cache 主存系统的效率和平均访问时间 2020年3月22日星期日 96 CPU发出有效的主存地址 查找相联存储器 判断所要访问的信息是否在Cache中 若命中 经地址变换机构 变换为相应的Cache地址 CPU直接读取Cache获取数据 若未命中 则CPU访问主存 并判断Cache是否已满 若Cache未满 将该数据所在块从主存中调入Cache 若Cache已满 使用某种替换机制 使用当前数据块替换掉Cache中的某些块 4 Cache的读操作 2020年3月22日星期日 97 CPU发出有效的主存地址 查找相联存储器 判断所要访问的信息是否在Cache中 若命中 经地址变换机构 变换为相应的Cache地址 使用某种写策略将数据写入Cache或主存 若未命中 则使CPU直接写主存数据 同时根据写策略 决定是否将该块内容调入Cache 5 Cache的写操作 2020年3月22日星期日 98 3 6 3Cache的替换策略 最不经常使用 LFU 算法 替换原则将一段时间内被访问次数最少的那行数据替换出去 使用方法每行设置一个计数器 从0开始计数 每访问一次 被访行的计数器增1 当需要替换时 将计数值最小的行换出 同时将这些行的计数器都清零 特点这种算法将计数周期限定在对这些特定行两次替换之间的间隔时间内 不能严格反映近期访问情况 2020年3月22日星期日 99 3 6 3Cache的替换策略 近期最少使用 LRU 算法 替换原则将近期内长久未被访问过的行替换出去 使用方法每行也设置一个计数器 每访问一次 被访行的计数器清零 其它各行计数值加1 当需要替换时 将计数值最大的行换出 特点这种算法保护了刚调入到Cache中的新数据行 使Cache的使用率较高 2020年3月22日星期日 100 3 6 3Cache的替换策略 随机替换算法 替换原则从特定的行位置中随机地选取一行换出 特点在硬件上容易实现 且速度也比前两种策略快 但降低了命中率和Cache工作效率 2020年3月22日星期日 101 3 6 4Cache的写策略 写回式 写入策略只修改Cache的内容 而不立即写入主存 只有当此行被换出时才写回主存 优点减少了访问主存的次数 缺点存在Cache与主存不一致性的隐患 实现该方法时 Cache行必须配置一个修改位 以反映此行是否被CPU修改过 2020年3月22日星期日 102 3 6 4Cache的写策略 全写式 这种策略又称写透式写入策略Cache与主存同时发生写修改 因而较好地维护了Cache与主存的内容的一致性 Cache中无需设置修改位以及相应的判断逻辑 缺点是降低了Cache的功效 每次同时写入主存和Cache 使写入速度变低 2020年3月22日星期日 103 3 6 4Cache的写策略 写一次法 写入策略基于写回法 并结合全写法的写策略 写命中与写未命中的处理方法与写回法基本相同 只是第一次写命中时要同时写入主存 该写入策略适用于包含多个Cache的系统中 第一次Cache写命中时 将数据写入主存和一个Cache中 使系统中的其它Cache可以及时更新或废止该块内容 从而维护系统中该块数据的一致性 2020年3月22日星期日 104 3 6 2主存与Cache的地址映射 信息从主存 Cache中 如何定位 Cache的容量小于主存 需要采用某种算法确定主存和Cache中块的对应关系 地址映射主存中数据块调入Cache中时 主存数据块与Cache行之间的映射关系 地址变换CPU访存时 将主存地址按映射函数关系变换成Cache地址的过程 地址映射的方式全相联映射 直接映射 组相联映射 2020年3月22日星期日 105 映射关系主存中的任意字块可调进Cache的任一行中 地址映射主存中数据块调入Cache时 可以调入Cache的任一空行 调入的同时 将主存标记和Cache的行号同时写入块表 课本上的说法 将主存标记保存于调入Cache行的对应标记位地址变换CPU访存时 发出主存地址 将主存标记作为关键字 送入块表中检索每一个单元 命中时 读出对应单元中的Cache行号 使用Cache行号和主存地址中的块内地址访问Cache 1 全相联映射 AssociativeMapping 2020年3月22日星期日 106 全相联映射示意图 2020年3月22日星期日 107 全相联地址变换示意 2020年3月22日星期日 108 全相联映射的主存地址格式 设主存共分成2m个块 每块单元数为2b个主存地址格式 主存块号 也称为主存标记Cache地址格式 块表的基本结构单元数目与Cache的行数一致 每个单元保存 主存块号和Cache行号 m位 b位 b位 c位 块表的大小应为2c m c 位 2020年3月22日星期日 109 全相联映射的组织 动画演示 全相联映射 swf 2020年3月22日星期日 110 全相联映射Cache的特点 优点灵活性好 最理想 Cache中只要有空行 就可以调入所需要的主存数据块 缺点成本高块表单元字长为m c位 需要较大容量的Cache块表 速度太慢访问Cache时 需将所有标记比较一遍 才能最后判出所需主存中的字块是否在Cache中 一般较少使用 2020年3月22日星期日 111 例1 设主存容量1MB Cache容量16KB 块的大小为512B 采用全相联映射方式 写出Cache的地址格式 写出主存的地址格式 块表的容量多大 画出地址映射及变换示意图 主存地址为CDE8FH的单元 在Cache中的什么位置 2020年3月22日星期日 112 例1 设主存容量1MB Cache容量16KB 块的大小为512B 采用全相联映射方式 写出Cache的地址格式Cache地址格式Cache的容量16KB块 行 的大小为512B行地址为14 9 5位写出主存的地址格式主存的地址格式为主存容量1MB块的大小为512B块地址为20 9 11位 Cache地址为14位 行内地址为9位 Cache共32行 139 主存地址为20位 块内地址为9位 主存共2048块 199 80 80 2020年3月22日星期日 113 例1 设主存容量1MB Cache容量16KB 块的大小为512B 采用全相联映射方式 块表的容量多大 块表的大小应为2c m c 位 即25 16位 画出地址映射及变换示意图 见下页图 主存地址为CDE8FH的单元 在Cache中的什么位置 主存地址为CDE8FH的单元可映射到Cache中的任何一个字块位置 CDE8FH 11001101111010001111B其块 行内地址为 010001111 2020年3月22日星期日 114 全相联映射方式的地址映射及变换示意图 2020年3月22日星期日 115 2 直接映射 DirectMapping 映射关系主存中的每一块数据只能调入Cache的特定行中 直接映射函数为 i jmod2c地址映射主存中数据块调入Cache时 只能调入Cache的特定行 同时 将主存标记写入块表中与Cache行地址相同的单元 地址变换CPU访存时 发出主存地址 从主存地址中截取出Cache行号 访问块表的对应单元 若该单元中数据与主存标记相同 则命中 否则未命中 命中时 使用Cache行号和块内地址 即主存地址中除主存标记位之外的其余位 访问Cache c是Cache行地址的位数 主存块号为j Cache行号为i 2020年3月22日星期日 116 直接相联映射示意图 2020年3月22日星期日 117 直接映射地址变换示意 2020年3月22日星期日 118 直接映射方式下的主存地址格式 假定主存共2m块 Cache共2c行 每块 行单元数为2b个主存地址为m b位 Cache地址为c b位 直接映射中主存块与Cache行的关系 Cache地址格式为 主存的地址格式为 块表的基本结构单元数目与Cache的行数一致 每个单元保存 主存块号 m位 b位 t位 主存中有2t块对应于同一Cache行 c位 不需要使用相联存储器 b位 c位 块表的大小应为2c m c 位 2020年3月22日星期日 119 直接映射Cache的组织 动画演示 直接映射 swf 2020年3月22日星期日 120 特点一个主存块只能调入Cache的一个特定行中 优点该映射函数实现简单 查找速度快 主存地址的中间c位即为Cache的行地址 在块表对应单元中 使用高t位地址 主存标记 进行比较 决定是否命中 缺点灵活性差 主存的2t个字块只能对应唯一的Cache字块 即使Cache中别的字块空着也不能占用 直接映射Cache的特点 2020年3月22日星期日 121 设主存共512个单元 字节 Cache共32个单元 块大小为8个字节 试用直接映射方式组织Cache Cache共32个单元 每行8字节Cache地址需5位 共32 8 4行Cache地址为 Cache行号c 2 行内地址b 3主存512个单元 每块8字节 主存地址需9位 29 512 共512 8 64块主存地址包括 主存块号m 6 块内地址b 3 直接映射举例 1 3 2020年3月22日星期日 122 直接映射举例 2 3 0000 0000 CPU发送地址 000001001 命中 2020年3月22日星期日 123 直接映射举例 3 3 若CPU发出的主存地址为000001001 先取高4位地址 主存标记0000 送往比较器的一端 再用中间的2位地址 Cache行号01 在块表中取出该单元中保存的主存标记送往比较器的另一端 若二者相等 则为命中 直接访问Cache的第01行中地址为001的单元 读取数据 若二者不相等 则为未命中 直接使用000001001地址访问主存单元 同时 将主存地址000001000 000001111的8个字节内容送到Cache的11000 11111单元中 2020年3月22日星期日 124 例2 设主存容量1MB Cache容量16KB 块的大小为512B 采用直接映射方式 块表的容量多大 画出地址映射及变换示意图 主存地址为CDE8FH的单元在Cache中的什么位置 13980 Cache地址格式 主存的地址格式 191413980 2020年3月22日星

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论