计算机组成原理第三章存储系统[四].ppt_第1页
计算机组成原理第三章存储系统[四].ppt_第2页
计算机组成原理第三章存储系统[四].ppt_第3页
计算机组成原理第三章存储系统[四].ppt_第4页
计算机组成原理第三章存储系统[四].ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

第三章存储系统 存储器概述 主存储器的基本构造和操作 主存储器组织 高速缓冲存储器Cache高速存储器 半导体存储器芯片 虚拟存储器 原因 待处理信息量越来越大 对存储器的工作速度和容量要求越来越高 CPU功能不断增强 I O设备的数量不断增多 致使主存存取速度成为计算机系统瓶颈 提高存储器性能的方法 提高主存工作速度 1 提高主存读写速度 从最早使用的DRAM到后来的FPMDRAM EDODRAM SDRAM DDRSDRAM和若RDRAM等 2 在DRAM芯片中采用高速存取方式 如相联存储器 双端口存储器等 3 采用并行主存技术 改善系统结构 采用多级存储体系结构 3 6高速存储器 3 6 1相联存储器 CAM ContentAccessMemory 一 相联 联想 存储器的实质 工作原理 与常规存储器按地址访问不同 CAM是既可按地址寻址 又可按内容 通常是某些字段 寻址 CAM的每个字由若干字段组成 待检索的某字段作为关键字 用它与存储体中所有单元进行比较 找出关键字相同的所有数据字 用于信息检索 Cache和虚拟存储器 二 相联存储器的结构与功能结构框图如下 检索寄存器 n位 屏蔽寄存器 n位 数据寄存器 n位 存储体 包括比较电路 m个单元 每单元n位 译码电路 地址寄存器 1 2 m 匹配寄存器 图3 32相联存储器的结构框图 用来存放待检索内容 屏蔽关键字段以外的值 即进行检索时 将MR中要比较的位置置为1 不需要比较的位置置为0 存储体中各单元相应字段同时与关键字比较 相同者 匹配寄存器相应位置为1 若同时有i个字满足要求 则相应有i位为1 译码电路找到对应的存储单元 也具备按地址访问的功能 CR MR CAM在Cache中的具体应用 数据寄存器存放读出或写入的数据 字选择寄存器用来确定哪些字参与检索 字选择寄存器 559 0 0 0 0 0 0 0 0 11 1 第一次检索寄存器内容 屏蔽寄存器内容 1 赵XX 男 17 582 2 钱XX 男 18 611 3 孙XX 女 17 584 4 李XX 男 19 604 N 丁XX 女 18 520 序号 姓名 性别 年龄 分数 图3 33相联存储器检索举例 例如 某高校学生入学总成绩已经存入相联存储器如图3 33 要求列出 总分 在560 600分范围内学生名单 可用二次查找完成 第一次找出 总分 大于559的考生 第二次再找出 总分 小于601的考生 匹配寄存器 字选择寄存器 559 0 0 0 0 0 0 0 0 11 1 第一次检索寄存器内容 屏蔽寄存器内容 1 赵XX 男 17 582 2 钱XX 男 18 611 3 孙XX 女 17 584 4 李XX 男 19 604 N 丁XX 女 18 520 序号 姓名 性别 年龄 分数 图3 33相联存储器检索举例 分别将559和601作为关键字段内容置于比较寄存器中 屏蔽寄存器只在 总分 字段上设置11 1 而在其他字段设置00 0 第一次查找结果送入匹配寄存器 为了进行第二次查找 先将匹配寄存器内容送入字选择寄存器 并将比较寄存器中的559更换为601 注意只有字选择寄存器内容为1对应的字才进行第二轮检索 将第二次查找结果送入匹配寄存器 匹配寄存器为1位所对应的考生 即为查找结果 匹配寄存器 字选择寄存器 1 1 1 1 0 1 0 1 0 0 检索寄存器 n位 屏蔽寄存器 n位 数据寄存器 n位 存储体 包括比较电路 m个单元 每单元n位 译码电路 地址寄存器 1 2 m 匹配寄存器 图3 32相联存储器的结构框图 CR MR 从按地址访问的存储器中检索某一个单元 平均约W 2次操作 W为存储单元数 而在相联存储器中仅需要进行一次检索操作 故大大提高了处理速度 3 6 2双端口存储器 端口 指读 写控制电路 常规存储器为单端口存储器 即每次只能接收一个地址 访问一个存储单元 在高速系统中 主存是信息交换的中心 CPU 外设需要频繁访问主存 而单端口存储器每次只能接受一个访存者 影响工作速度 双端口存储器 具有两个彼此独立的读 写口 每个读 写口有独立的地址寄存器和译码电路 可以并行地独立工作 地址寄存器 地址寄存器 译码器 译码器 存储体 应用实例 FPMDRAM 双口技术用于视频卡 VRAM 地址 地址 MDR MDR 数据 数据 读写电路 读写电路 WE WE MAR MAR 工作方式 两个读 写口可以按各自接收的地址 同时并行访问主存 与两个独立存储器不同的是 两套读 写口的访存空间相同 可以访问同一区间 同一存储单元 在发生访存冲突时由存储器仲裁逻辑解决 图3 34双端口存储器示意图 3 6 3多模块交叉 多体交叉 存储器 一 并行主存系统用W w片字长w的芯片可以扩展成W位字长的存储器 一般把这种扩展叫存储芯片的并联组织 位扩展 各个芯片同时工作 在一个Tm内读出一个W位的字 获得Bm W Tm的频宽 同理可进一步把n个W位字长的同容量存储器并成一个更大的存储器以获得Bm nXW Tm的频宽 这样组织的主存系统叫并行主存系统 作用 加快从主存读出信息到CPU的速度 以解决主存和CPU之间速度不匹配的问题 二 并行主存系统的两种组成方式 单体多字方式与多体并行方式多个存储体共用一套地址寄存器和控制逻辑还是各个模块有各自独立的控制部件 即各块是否可以独立工作 单体多字和多体并行即因此而有别 1 单体多字并行主存系统如下图所示 多个并行工作的存储器共用一套地址寄存器 按同一地址码并行地访问各自的对应单元 假定送入的地址码为A 则n个存储器同时访问各自的A号单元 可将这n个存储器视作一个大的主存储器 每个编址对应于n字 w位 故称为单体多字方式 适用于向量运算 即一个向量型的操作数是n个标量型操作数的集合 可按同一地址分别存放于n个并行主存中 地址寄存器 地址 M0 M1 Mn 1 W位 W位 W位 n w 图3 35单体多字并行主存系统 地址译码器 2 多体并行主存系统 1 多体交叉存储器组成 n个容量相同的存储器 或称为n个存储体 它们具有自己的地址寄存器 数据线 读写时序 形成可以同时工作又独立编址且容量相同的n个分存储体 故称为多体系统 总线控制 CPU 地址寄存器 地址寄存器 地址寄存器 地址寄存器 存控部件 0 4 M0 1 5 2 6 3 7 M1 M2 M3 数据 存控部件 接收系统中各部件或设备的访存请求 按预定的优先顺序进行排队 响应其访存请求 分时接收各请求源发来的访存地址 转送至相应存储体等等 2 多体交叉编址分为高位交叉 顺序方式 和低位交叉编址 交叉方式 高位交叉编址 程序按体内地址连续存放 一个存储体内地址连续 一个存储体存满后再存入下一个存储体 存储器地址寄存器的高位表示体号 低位表示体内地址 MDR M0 地址译码 MAR MDR M1 地址译码 MAR MDR Mn 1 地址译码 MAR 体号 体内地址 图3 36 a 高位交叉编址的多体存储器 00000 M0 M1 M2 M3 43210 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111 模块 分体 号 块内字地址 数据寄存器MDR 16位 DB 16位 图3 36 b 高位交叉编址的多体存储器 例 16位 16位 16位 16位 高位交叉即模块地址在高位 低位交叉编址 同一存储体中的地址是不连续的 程序连续存放在相邻体中 存储器地址寄存器的低位部分选择不同的存储体 而高位部分则指向存储体内的存储字 MDR M0 地址译码 MAR MDR M1 地址译码 MAR MDR Mn 1 地址译码 MAR 体号 体内地址 图3 37 a 低位交叉编址的多体存储器 00000 数据总线DB 16位 43210 00001 00010 00011 00100 00101 00110 00111 01000 01001 01010 01011 01100 01101 01110 01111 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 11010 11011 11100 11101 11110 11111 模块 分体 号 块内字地址 译码器 寻找模块 图3 37 b 低位交叉编址的多体存储器 例 MDR0 MDR3 MDR2 MDR1 MAR0 MAR3 MAR2 MAR1 16位 16位 16位 16位 高位交叉编址特点 地址高位选择模块 地址低位选择字 某模块进行存取时 其它模块不工作 某模块出现故障时 不影响其它模块 扩容方便 各模块串行工作 存储器带宽受限 低位交叉编址特点 地址低位选择模块 地址高位选择字 连续地址分布在不同模块中 模块可同时并行工作 提高了带宽 但一个模块出错 则程序出错 例 一个四体并行交叉存储器 每个模块的容量是16K 32位 存取周期为200ns 在下述说法中 是正确的 在200ns内 该存储器能向CPU提供256位二进制信息B 在200ns内 该存储器能向CPU提供128位二进制信息C 在50ns内 每个存储模块能向CPU提供32位二进制信息D 在50ns内 该存储器能向CPU提供128位二进制信息 3 多体交叉存储体分时工作原理无论多体存储器中有几个分体 CPU与主存之间数据通路仍是一个W位 同时读出的n个字在总线上需要分时传送 n个W位如何在一个存储周期Tm中读出 分时启动多个分体 使得每个Tm周期内得到多个单体字宽的数据 设主存有n个分体 模块 各自的存取周期都是Tm 则第一个分体启动后 每隔1 n个Tm再启动下一个分体 例 设有4体交叉的存储器 分时即每隔1 4Tm启动一个分体 要点 存储器读出虽用一个Tm 一旦读出后在主存 CPU的总线上传递的速度以及处理的速度要比读内存快得多 M3M2M1M01 42 43 412t Tm 图3 38模4交叉存取分时工作示意图 单体访存周期 单体访存周期 T 时间 字 模块 W0M0 W1M1 W2M2 W3M3 W0M0 图3 29流水方式存取示意图 设每个体的存储字长和数据总线的宽度一致 低位交叉编址的存储器模块数为n 存取周期为T 总线传输周期为 当采用流水线方式时 应满足T n n T 称为交叉存取度 要求模块数 n 以保证启动某模块后经n 时间再启动该模块时 它的上一次存取操作已经完成 T 时间 字 模块 W0M0 W1M1 W2M2 W3M3 W0M0 图3 29流水方式存取示意图 对于低位交叉存储器 连续读取n个字所需时间t1为 t1 T n 1 对于高位交叉存储器 连续读取n个字所需时间t2为 t2 nT 例 设存储器容量为32字 字长64位 模块数m 4 分别用顺序方式和交叉方式进行组织 存储周期T 200ns 数据总线宽度为64位 总线传送周期 50ns 问顺序存储器和交叉存储器的带宽各是多少 解 二者读出4个字的信息量均为64 4 256位 所需时间不同 分别为 T1 T m 1 350nsT2 mT 800ns带宽分别为 W1 256 350 73 107位 sW2 256 800 32 107位 s 例 某机器采用4体交叉存储器 今执行一小段循环程序 此程序放在存储器的连续地址单元中 假设每条指令的执行时间相等 而且不需要到存储器存取数据 请问在下面两种情况中 执行的指令数相等 程序的运行时间是否相等 1 循环程序由6条指令组成 重复执行80次 2 循环程序由8条指令组成 重复执行60次 指令1 指令5 指令2 指令6 指令3 指令4 指令7 指令8 M0 M3 M2 M1 解 1 6条指令 重复80次 2 8条指令重复60次 T 时间 字 模块 W1M0 W2M1 W3M2 W4M3 W5M0 W6M1 指令1 指令2 指令3 指令4 指令5 指令6 指令1 指令2 1 T1 T 7 8 79 T 639 指令1 指令5 指令2 指令6 指令3 指令4 指令7 指令8 M0 M3 M2 M1 解 1 6条指令 重复80次 2 8条指令重复60次 T 时间 字 模块 W1M0 W2M1 W3M2 W4M3 W5M0 W6M1 指令1 指令2 指令3 指令4 指令5 指令6 指令1 指令2 指令7 指令8 2 T2 T 7 8 59 T 479 例 设某计算机采用直接映像Cache 已知主存容量为4MB Cache容量为4096B 字块长度为8个字 32位 字 1 画出反映主存与Cache映像关系的主存地址各字段分配框图 并说明各字段的名称及位数 2 设cache初始状态为空 若CPU依次从主存第0 1 99号单元读出100个字 主存一次读出一个字 并重复按此次序读10次 问命中率为多少 3 若Cache的存取时间为50ns 主存的存取时间为500ns 根据 2 求出的命中率 计算平均存取时间 4 计算Cache 主存系统的效率 解 1 回顾 计算机系统既可按照字节寻址 也可按照字寻址 若某机主存容量为16K 32位 如果采用字编址 地址码14位 如果采用字节编址 则地址码为16位 见下图 字地址 字节地址 0 1 2 3 4 5 6 7 8 9 A B FFFCH FFFDH FFFEH FFFFH 0000000000000000 0000000000000100 0000000000001000 1111111111111100 字地址 0 31 00000000000000 00000000000001 00000000000010 11111111111111 按字节编址与按字编址的区别 解 本题目中 主存容量为4MB Cache容量为4KB 字长为32位 4B 字块大小为8个字 32B 则地址分配见下图所示 主存 字地址 字节地址 0 1 2 3 4 5 6 8 9 A B 3FFFFC 3FFFFD 3FFFFE 3FFFFF 0000000000000000000000 0000000000000000000100 0000000000000000001000 1111111111111111111100 7 主存容量4MB 其地址22位 字块8个字 共32B 故块内地址5位 主存分4MB 4KB 210组 故组数10位 Cache分4KB 23 22 B 27块 故组内块数7位 组数 10位 组内块数 7位 块

温馨提示

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

评论

0/150

提交评论