- 1、本文档共118页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内部存储器原理及设计
实现Cache一致性的基本方案 软件方法:由编译程序和操作系统在编译时分析代码,避免共享变量进入Cache 硬件方法:程序运行时动态处理,对程序员和编译员透明,称为Cache一致性协议(Cache coherence protocol) 目录(directory):物理主存中共享数据的状态及相关信息保存在目录中,通常由中央控制器集中维护 监听(snoopy):各个Cache除保存数据拷贝外,也保存数据的共享状态信息,通过监听总线操作判断 MESI协议 商业化多处理器系统中,Cache块常利用标签中额外的2位记录其数据共享的4种状态:修改(modified)、唯一(exclusive)、共享(shared)和无效(invalid);所以也称为MESI协议 修改M:该Cache块已经被修改(与主存不同),而且只在这个Cache中可用 唯一E:该Cache块与对应主存块相同,而且不存在于其它Cache中 共享S:该Cache块与对应主存块相同,但可能存在于其它Cache中 无效I:该Cache块包含的数据无效 Pentium的L1和L2级Cache数据一致性 Pentium采用MESI协议,配合第一次直写(write through),以后回写(write back),实现L1和L2 Cache的数据一致,也称为一次写(write once) 操作 L1状态 L1数据 L2数据 ? 复位或清洗后 ? 读入数据 ? 第1次直写 ? 再次回写 ? 发生替换后 无效I 共享S 唯一E 修改M 共享S 无效 有效 有效 有效 有效 无效 有效 有效 无效 有效 第三章 习题-1 第三章 习题-2 第三章 习题-3 第三章 小结 对存储器的要求是容量大、速度快、成本低。为了解决了这三方面的矛盾,计算机采用多级存储体系结构,即cache、主存和外存。CPU能直接方问内存(cache、主存),但不能直接访问外存。存储器的技术指标有存储容量、存取时间、存储周期、存储器带宽。 广泛使用的SRAM和DRAM都是半导体随机读写存储器,前者速度比后者快,但集成度不如后者高。二者的优点是体积小,可靠性高,价格低廉,缺点是断电后不能保存信息。 * School of Information Science and Technology 多体交叉存储器 数据总线 模块i 模块2 n-1 模块0 模块号 块内地址 MAR m 位 n 位 并行多模块存储器结构框图 ...... ...... 多体交叉存储器 方案二:交叉方式 (a) 主存地址被分成高n位和低m位,低位(m位)表示模块号,高位(n)表示块内地址; (b) 各模块间采用多模块交叉编址; (c) 对连续单元存取,则多个模块并行工作 (d) 特点: 多模块并行工作,速度快 不易扩展 故障全局性。 多体交叉存储器 模块i 模块2 n-1 模块0 块内行地址 模块号 MAR n 位 m 位 多模块交叉存取存储器结构框图 ...... ...... 数据总线 3.6?Cache存储器 在相对容量较大而速度较慢的主存与高速处理器之间设置的少量但快速的存储器 主要目的:提高存储器速度 为追求高速,包括管理在内的全部功能由硬件实现 理论基础:程序局部性 3.6.1 Cache基本原理 CPU与cache之间的数据交换以字(字节)为单位 Cache与主存间的数据传送以数据块为单位 一个块(Block)由若干字组成 Cache结构原理图 Cache的读操作 高速命中(Hit):处理器读取主存的内容已包含在Cache中,可以直接读取Cache,不用访问主存 从CPU接收地址RA Y(命中hit) N(失效miss) 开始 Cache中含RA? 从Cache读RA的字送CPU 从主存读含RA的块 向CPU传送RA的字 向Cache传送含RA的主存块 结束 高速失效(Miss)、缺失、未命中:处理器读取主存的内容不在Cache中,需要访问主存读取一个数据块 Cache的工作原理 1. Cache以块为单位进行操作 2. 当CPU发出访内操作请求后,首先由Cache控制器判断当前请求的字是否在Cache中,若在,则命中,否则,不命中 3. 若命中: 若是“读”请求,则直接对Cache读,与主存无关 若是“写”请求: Cache单元与主存单元同时写(Write through写) 只更新Cache单元并加标记,移出时修改主存(写回Copy back) 只写入主存,并在Cache中加标记
文档评论(0)