第四章__主存储器_第1页
第四章__主存储器_第2页
第四章__主存储器_第3页
第四章__主存储器_第4页
第四章__主存储器_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

计算机组成原理 第4章主存储器 1 存储器容量扩展位扩展字扩展字位扩展2 存储控制集中刷新分散刷新异步刷新3 存储校验线路 4 8半导体存储器的组成与控制 复习 一 RAM存储器芯片总结RAM存储器芯片有多种型号 每一RAM存储器芯片具有 地址线Ai 引脚数与存储芯片的单元数有关 数据线Di 引脚数与存储芯片的字长有关 电源线 地线 复习 二 例1 某RAM芯片 其存储容量为16K 8位 问 1 该芯片引出线的最小数目应为多少 2 存储器芯片的地址范围是什么 解 1 16K 214 所以地址线14根 字长8位 所以数据线8根 14 8 1 1 1 1 26 地址线数据线片选读 写电源线地线 2 存储器芯片的地址范围为0000H 3FFFH 存储器芯片的地址范围 地址线从全 0 到全 1 的所有编码 复习 三 SRAM芯片2114 1K 4位 外特性 地址端 A9 A0 入 数据端 D3 D0 入 出 控制端 片选CS 0选中芯片 1未选中芯片 写使能WE 0写 1读 电源 地 1 存储器容量扩展 位扩展 扩展每个存储单元的位数 扩展宽度 字扩展 扩展存储单元的个数 扩展长度 字位扩展 两者的综合 扩展宽度和长度 假设扩展同种芯片 则需要的芯片 总片数 总容量 容量 片 位扩展 字扩展 字位扩展 1 存储器容量扩展 位扩展 例2使用8K 1位RAM芯片组成8K 8位的存储器 画出逻辑框图 分析 芯片位数小于存储器所要求的位数 需进行位扩展 8个芯片的关系是平等的 同时工作 并联的 对应的地址一一相连 详细的连接见下图 I O I O I O I O I O I O 8K 1位RAM芯片组成8K 8位的存储器 I O 8K 1I O 位扩展总结 当构成内存的存储芯片的字长 内存单元的字长时 就要进行位扩展 使每个单元的字长满足要求 位扩展方法 将每片的地址线 片选CS 读写控制线并联 数据线分别引出 位扩展特点 存储器的单元数不变 位数增加 1 存储器容量扩展 字扩展 例3使用16K 8位的RAM芯片组成一个64K 8位的存储器 分析 芯片的字数不够 需进行字扩展 共需芯片数目是64K 16K 4 将4片RAM的地址线 数据线 读写线一一对应并联 出现地址线不够问题 如何解决 可以用高2位地址作为选片端 详细的连接见下图 16K 8位的RAM芯片组成一个64K 8位的存储器 地址端 地址端 地址端 地址端 10 字扩展总结 特点 地址空间的扩展 芯片每个单元中的字长满足 但单元数不满足 扩展原则 每个芯片的地址线 数据线 读写控制线并联 仅片选端分别引出 以实现每个芯片占据不同的地址范围 1 存储器容量扩展 字位扩展 实际存储器往往需要在字向 位向两个方向同时扩展 一个存储器的容量为M N位 若使用L K位的存储芯片 则该存储器共需的芯片个数为 需解决 芯片的选用 地址分配与片选逻辑 信号线的连接 要求 1 确定整个存储器所需的芯片数及芯片的分组情况 2 确定存储器及每组芯片的地址范围 3 说明地址线的分配方法 并画出存储器的结构图 2114 1K 4 SRAM芯片组成容量为4K 8的存储器 例4 用2114 1K 4 SRAM芯片组成容量为4K 8的存储器 2114 1K 4 SRAM芯片组成容量为4K 8的存储器 1 计算芯片数 先扩展位数 再扩展单元数 2片1K 4 1K 8 4组1K 8 4K 8 8片 分析 整个存储器所需要芯片数 4 8 1 4 8片 2114 1K 4 SRAM芯片组成容量为4K 8的存储器 存储器寻址逻辑 2 地址分配与片选逻辑 芯片内的寻址系统 二级译码 芯片外的地址分配与片选逻辑 为芯片分配哪几位地址 以便寻找片内的存储单元 由哪几位地址形成芯片选择逻辑 以便寻找芯片 存储空间分配 4KB存储器在16位地址空间 64KB 中占据任意连续区间 2114 1K 4 SRAM芯片组成容量为4K 8的存储器 A11A10A9 A0 000 0 001 1 011 1 101 1 010 0 100 0 110 0 111 1 片选 芯片地址 需12位地址寻址 4KB A11 A0 2114芯片为1K 4位 片内寻址需要10根地址线 为A0 A9 低位地址分配给芯片 高位地址形成片选逻辑 芯片芯片地址片选信号片选逻辑 1K 1K 1K 1K A9 A0 A9 A0 A9 A0 A9 A0 CS0 CS1 CS2 CS3 A11A10 A11A10 A11A10 A11A10 整个存储器的地址范围 000H FFFH 共分为4组 每组的地址范围为 第一组 000H 3FFH第二组 400H 7FFH第三组 800H BFFH第四组 C00H FFFH 2114 1K 4 SRAM芯片组成容量为4K 8的存储器 2114 1K 4 SRAM芯片组成容量为4K 8的存储器 3 连接方式 1 扩展位数 2 扩展单元数 3 连接控制线 4 形成片选逻辑电路 例5 某半导体存储器总容量4K 8位 其中固化区2K字节 选用EPROM芯片2716 2K 8位 工作区2K字节 选用SRAM芯片2114 1K 4 片 地址总线A15 A0 低 双向数据总线D7 D0 低 2K 81K 41K 41K 41K 4 0000 07FF 0800 0BFF 0C00 0FFF 确定芯片 1块2716 4块2114 如图组织逻辑地址位扩展就是并联多个芯片的地址线 可以视为多组8位芯片字扩展就是确定片选信号 根据地址线总宽度和地址分配情况 确定片选信号产生逻辑芯片1 A11芯片2 A11 A10芯片3 A11 A10 1K 8 1K 8 设计目标 4K 8的地址空间 片选信号的产生逻辑 寻找地址空间的特征值4K空间需12位地址 A15 A12不用芯片1 0000 07FF A10 A0全部占用为地址信号 A11始终为0 此空间外地址的A11必为1 故片选逻辑为 A11芯片2 0800 0BFF A9 A0全部占用为地址信号 A11始终为1 A10始终为0 故片选逻辑为A11 A10芯片3 0C00 0FFF A9 A0全部占用为地址信号 A11始终为1 A10始终为1 故片选逻辑为A11 A10 字扩展 片选逻辑具有排他性 确保同一时刻只有一个芯片在工作 设计结果芯片1使用11位地址A10 A0 A11用于片选芯片2 3都使用并联的10位地址A9 A0 并将A11 A10用于片选 0000 07FF 0800 0BFF 0C00 0FFF 2716 2114 2114 2114 2114 D7 4 D3 0 R W CS0 CS1 CS2 A11 A11 A10 A11 A10 A10 0 A9 0 A9 0 地址 芯片级存储器逻辑图应表示出 所用存储芯片 各芯片的地址线 片选逻辑 注意 芯片的片选信号一般是 CS 即低电平有效 设计往往先从逻辑命题真写出逻辑式数据线 数据总线是双向总线 数据通路宽度8位 ROM芯片数据为单向输出 RAM芯片为双向连接 2114每片4位 分别连到数据线D7 D4和D3 D0 两组拼接为8位 读 写控制R W 2716没有R W输入端 R W信号只送至RAM芯片2114 思考题 用8K 8位的ROM芯片和8K 4位的RAM芯片组成存储器 按字节编址 其中RAM的地址为2000H 7FFFH ROM的地址为C000H FFFFH 画出此存储器组成结构图及与CPU的连接图 解题提示 思考题 1 计算容量和芯片数 高位地址A15A14A13为001 011 RAM的容量为8K 3 24K 需要8K 4位的RAM芯片6片 RAM区 地址范围展开为0010000000000000 0111111111111111 RAM单个芯片的容量为8K 213 0111111111111111 0010000000000000 ROM区 末地址 首地址 FFFFH C000H 3FFFH所以ROM的容量为214 16K 需要8K 8位的ROM芯片2片 高位地址A15A14A13为110 111 ROM的地址范围展开为 1111111111111111 1100000000000000 CS7A15A14A13 0011 1 思考题 A15A14A13A12 A0 0010 0 1101 1 1100 0 低位地址分配给芯片 高位地址形成片选逻辑 选用3 8译码器 74LS138 40KB需16位地址寻址 RAM A15 A0 ROM 片选信号片选逻辑 存储系统的层次结构 CACHE 主存 内存 辅存 外存 根据各种存储器的存储容量 存取速度和价格比的不同 将它们按照一定的体系结构组织起来 使所放的程序和数据按照一定的层次分布在各种存储器中 主存和高速缓存之间的关系 Cache引入 为解决CPU和主存之间的速度差距 提高整机的运算速度 在CPU和主存之间插入的由高速电子器件组成的容量不大 但速度很快的存储器 Cache特点存取速度快 容量小 存储控制和管理由硬件实现Cache工作原理 程序访问的局部性在较短时间内由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内 数据分布不如指令明显 但对数组的访问及工作单元的选择可使存储地址相对集中 CPU与Cache之间的数据交换是以字为单位 而Cache与主存之间的数据交换是以块为单位 一个块是由若干字组成 是定长的 主存与辅存之间的关系 主存 半导体存储器组成 优 速度快缺 容量受限 单位成本高 断电丢失信息 辅存 光盘 磁盘 优 容量大 信息长久保存 单位成本低 缺 存取速度慢CPU正在运行的程序和数据存放在主存暂时不用的程序和数据存放在辅存 辅存只与主存进行数据交换 Cache是为弥补主存速度的不足 在CPU和主存之间设置的高速 小容量的缓冲存储器 组成 小容量的SRAM和高速缓存控制器组成 功能 将CPU当前快要用到的部分数据块由主存复制到容量小 速度快的SRAM中 由SRAM向CPU直接提供它所需要的数据 高速缓冲存储器 Cache 为了使CPU不至因为等待存储器读写操作的完成而无事可做 可以采取一些加速CPU和存储器之间有效传输的特殊措施 实现的途径有 主存储器采用更高速的技术来缩短存储器的读出时间 或加长存储器的字长 采用并行操作的双端口存储器 在CPU和主存储器之间插入一个高速缓冲存储器 cache 以缩短读出时间 在每个存储器周期中存取几个字 高速缓冲存储器 Cache Cache存储器的基本原理 1 cache的功能解决CPU和主存之间速度不匹配而采用的一项重要技术 从功能上看 它是主存的缓冲存储器 由高速的SRAM组成 当前随着半导体器件集成度的进一步提高 cache已放入到CPU中 其工作速度接近于CPU的速度 从而能组成两级以上的cache系统 中央处理器 cache CPU Cache 主存 外存 M1 M2 M3 CPU存储器系统的关系 cache的基本原理把Cache和主存都分成相同大小的块 每一块由若干个字或字节组成 在Cache中 每一块外加有一个标记 指明它是主存的哪一块的副本 所以该标记的内容相当于主存中块的编号 每当给出一主存地址进行访问时 必须通过地址映像变换机构将主存地址变换成Cache地址去访问Cache本体 若访问字所在的块不在Cache中 不命中 则产生Cache失效 需要从主存把包含该字的一块信息通过多字宽通路调入Cache 同时将被访问的字送往CPU 如Cache已装满 就需要按所选择的替换算法进行替换 并修改地址映像表中有关的地址映像关系和Cache各块使用状态标志等信息 cache的命中率设NC表示Cache完成存取的总次数 Nm表示主存完成存取的总次数 h定义为命中率 则有 h NC NC Nm 1 h则表示未命中率 若tc表示命中时的Cache访问时间 tm表示未命中时的主存访问时间 则Cache 主存系统的平均访问时间ta为 或 若平均访问时间ta为 ta h tc 1 h tm设r tm tc表示主存慢于Cache的倍率 e表示访问效率 则有 e tc ta tc h tc 1 h tm 1 h 1 h r 1 r 1 r h 为提高访问效率 命中率h越接近1越好 r值以5 10为宜 不宜太大 命中率h与程序的行为 cache的容量 组织方式 块的大小有关 例 CPU执行一段程序时 Cache完成存取的次数为1900次 主存完成存取的次数为100次 已知Cache存取周期为50ns 主存存取周期为250ns 求Cache 主存系统的效率和平均访问时间 解 h NC NC Nm 1900 1900 100 0 95r tm tc 250ns 50ns 5e 1 r 1 r h 1 5 1 5 0 95 83 3 ta tc e 50ns 0 833 60ns 或ta h tc 1 h tc tm 0 95 50 1 0 95 50 250 47 5 15 62 5ns Cache基本结构 主存2n个单元分成M块 每块B个字节 Cache也分成同样大小的块 Cache的每一个块有一个标记 指示它是主存哪一块的副本 n m b M 2m B 2b cache与主存的一致性问题如何保持一致性问题 有两种写入方式 第一种方式是暂时只向cache存储器写入 并用标志加以注明 直到经过修改的字块被从cache中替换出来时才一次写入主存 第二种方式是每次写入cache存储器时也同时写入主存 使cache和主存保持一致 第一种方式称为标志交换 flag swap 方式 只有写标志 置位 的字块才有必要最后从cache存储器一次写回主存 所以又称其为 写回法 特点 写操作速度快 但因在此以前 主存中的字块未经随时修改而可能失效 第二种方式称为通过式写 write through 又称写直达法 特点 实现简单 且能随时保持主存数据的正确性 但是 有可能要增加多次不必要的向主存的写入 向cache存储器某一单元写入多少次 也要向主存相应单元写入多少次 另有一种写操作方法是 当被修改的单元根本就不在cache存储器时 写操作直接对主存进行 而不写入cache存储器 为了说明标记是否有效 每个标记至少还应设置一个有效位 主存与cache的地址映射 为了把信息从主存复制到Cache 必须应用某种规则或方法把主存地址定位到Cache中 称作地址映像 在信息按照这种映像关系 采用硬件方法实现 装入Cache后 执行程序时应将主存地址变换成Cache地址 这个变换过程叫做地址变换 地址的映像和变换是密切相关的 基本地址映像方式有直接映像 全相联映像和组相联映像等 Cache的工作速度数倍于主存 全部功能由硬件实现 由于转换速度快 软件人员丝毫未感到Cache的存在 这种特性称为Cache的透明性 1 直接映像在直接映像方式中 主存和Cache中字块的对应关系 如图7 3所示 直接映像函数可定义为 j imod2c其中j是Cache的字块号 i是主存的字块号 主存中有2m个块 字块大小为2b字 Cache中有同样大小的2c个块 在这种映像方式中主存的第0块 第2c块 第2c 1块 只能映像到cache的第0块 而主存的第1块 第2c 1块第2c 1十1块 只能映像到Cache 的第1块 直接映像的优点是实现简单 只需利用主存地址按某些字段直接判断 即可确定所需字块是否已在Cache存储器中 直接映像方式的缺点是不够灵活 即主存的2t个字块只能对应唯一的Cache存储器字块 因此 即使Cache存储器别的许多地址空着也不能占用 这使得cache存储空间得不到充分利用 并降低了命中率 例如某机主存为1MB 划分2048块 每块512B 共分0 127组 每组16块 Cache为8KB 划分16块 每块512B 解 Cache容量为8KB 8KB 213 所以Cache地址为13位 块的大小为512B 所以块内地址为9位 块地址为4位 共16个块 主存容量为1MB 1MB 220 所以主存地址为20位 块的大小为512B 所以块内地址为9位 块地址为4位 块标记为7位 Cache的每一块在块表中有一项 Cache的块地址为4位 所以块表的单元数为24 块表中存放的是块标记 由于块标记为7位 所以块的字长为7位 故快表的容量为24字 7位 2 全相联映像全相联映像方式是最灵活但成本最高的一种方式 如图7 4所示 它允许主存中的每一个字块映像到cache存储器的任何一个字块位置上 也允许从确实已被占满的Cache存储器中替换出任何一个旧字块 这是一个理想的方案 实际上由于它的成本太高而不能采用 标记位数从t位增加到t c位 与直接映像相比 使Cache标记容量加大 主要问题是在访问Cache时 需要和Cache的全部标记进行 比较 才能判断出所访主存地址的内容是否已在Cache中 由于Cache速度要求高 所以全部 比较 操作都要用硬件实现 所需逻辑电路甚多 以致无法用于Cache中 例如某机主存为1MB 划分2048块 每块512B Cache为8KB 划分16块 每页512B 解 Cache容量为8KB 8KB 213 所以Cache地址为13位 块的大小为512B 所以块内地址为9位 块地址为4位 共16个块 主存容量为1MB 1MB 220 所以主存地址为20位 块的大小为512B 所以块内地址为9位 块地址为11位 共211 2048个块 Cache的每一块在块表中有一项 Cache的块地址为4位 所以块表的单元数为24 块表中存放的是块标记 由于块标记为11位 所以块的字长为11位 故快表的容量为24字 11位 3 组相联映像组相联映像方式是直接映像和全相联映像方式的一种折衷方案 组相联映像Cache组织如图7 5所示 组相联映像方式的性能与复杂性介于直接映像与全相联映像两种方式之间 当r 0时 它就成为直接映像方式 当r c时 就是全相联映像方式 Cache的命中率除了与地址映像的方式有关外 还与cache的容量有关 cache容量大 则命中率就高 但达到一定容量后 命中率的提高就不明显了 例如某机主存为1MB 划分2048块 每块512B 共分0 255组 每组8块 Cache为8KB 划分16块 每块512B 共为8组 每组2块 解 Cache容量为8KB 8KB 213 所以Cache地址为13位 共为8组 所以组号为3位 每组包含2个存储块 所以组内块号为1位 主存容量为1MB 1MB 220 所以主存地址为20位 主存组号为20 13 7位 例如某机主存为1MB 划分2048块 每块512B 共分0 255组 每组8块 Cache为8KB 划分16块 每块512B 共为8组 每组2块 访存时根据主存地址的中间4位 找到Cache页 并将其标记与主存页标记进行比较 判断是否是主存中的副本 即访问是否命中 图中由主存组号和组内块号组成标记 替换算法当新的主存字块需要调入cache存储器而它的可用位置又已被占满时 就产生替换算法问题 两种替换算法 先进先出 FIFO 算法近期最少使用 LRU 算法 先进先出 FIFO 算法 总是把一组中最先装入cache的块替换出去 它不需要随时记录各个字块的使用情况 所以实现容易开销小 但不能正确反映程序的局部性 近期最少使用 LRU 算法 是把一组中近期最少使用的字块替换出去 这种替换算法需随时记录cache中各个块的使用情况 以便确定哪个块是近期最少使用的字块 LRU替换算法的平均命中率比FIFO要高 并且当分组容量加大时 能提高LRU替换算法的命中率 LRU是最常使用的一种算法 其设计思想是把组中各块的使用情况记录在一张表上 另一种随机替换法 RAND 这种算法不考虑使用情况 在组内随机选择一块来替换 其性能比根据使用情况的替换算法要差些 多层次cache存储器 1 指令Cache和数据Cache开始实现Cache时 是将指令和数据存放在同一Cache中的 后来随着计算机技术的发展和处理速度的加快 存取数据的操作经常会与取指令的操作发生冲突 从而延迟了指令的读取 发展的趋势是将指令Cache和数据Cache分开而成为两个相互独立的Cache 2 多层次Cache结构当芯片集成度提高后 可以将更多的电路集成在一个微处理器芯片中 于是近年来新设计的快速微处理器芯片都将Cache集成在片内 片内cache的读取速度要比片外Cache快得多 Pentium微处理器的片内包含有8KB数据Cache和8KB指令Cache Cache行的长度为32B 采用两路组相联组织 片内Cache的容量受芯片集成度的限制 一般在几十KB以内 因此命中率比大容量cache低 于是推出了二级Cache方案 其中第一级Cache L1 在处理器芯片内部 第二级Cache L2 在片外 其容量可从几十KB到几百KB 采用SRAM存储器 两级cache之间一般有专用总线相连 Pentium微处理器支持片外的第二级Cache 其容量为256KB或512KB 也是采用两路组相连方案 3 cache的一致性问题 虚拟存储器 虚拟存储器的基本概念页式虚拟存储器段页式虚拟存储器虚拟存储器工作的全过程虚拟存储器举例 1 什么是虚拟存储器 虚拟存储器只是一个容量非常大的存储器的逻辑模型 不是任何实际的物理存储器 它借助于磁盘等辅助存储器来扩大主存容量 使之为更大或更多的程序所使用 虚拟存储器指的是主存 外存层次 它以透明的方式给用户提供了一个比实际主存空间大得多的程序地址空间 此时程序的逻辑地址称为虚拟地址 虚地址 程序的逻辑地址空间称为虚拟地址空间 从原理上看 主存 外存层次和cache 主存层次有很多相似之处 它们采用的地址变换及映射方法和替换策略 从原理上看是相同的 且都基于程序局部性原理 它们遵循的原则又是 把程序中最近常用的部分驻留在高速的存储器中 一旦这部分变得不常用了 把它们送回到低速的存储器中 这种换人换出是由硬件或操作系统完成的 对用户是透明的 力图使存储系统的性能接近高速存储器 价格接近低速存储器 2 主存 外存层次的基本信息传送单位 主存 外存层次的基本信息传送单位可采用几种不同的方案 段 页或段页 段是利用程序的模块化性质 按照程序的逻辑结构划分成的多个相对独立部分 段是利用程序的模块化性质 按照程序的逻辑结构划分成的多

温馨提示

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

评论

0/150

提交评论