第28课、内存一致性和高速缓存的相关性

上传人:小** 文档编号:57140722 上传时间:2018-10-19 格式:DOCX 页数:10 大小:596.20KB
返回 下载 相关 举报
第28课、内存一致性和高速缓存的相关性_第1页
第1页 / 共10页
第28课、内存一致性和高速缓存的相关性_第2页
第2页 / 共10页
第28课、内存一致性和高速缓存的相关性_第3页
第3页 / 共10页
第28课、内存一致性和高速缓存的相关性_第4页
第4页 / 共10页
第28课、内存一致性和高速缓存的相关性_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《第28课、内存一致性和高速缓存的相关性》由会员分享,可在线阅读,更多相关《第28课、内存一致性和高速缓存的相关性(10页珍藏版)》请在金锄头文库上搜索。

1、第 28 课、内存一致性和高速缓存的相关性 1、多处理器的内存排序一致性是从不同的处理器的所有内存操作的顺序(即对不同内存位置)相关性是从不同的处理器的操作的顺序,以相同的内存位置 1.1、单处理器的内存顺序 由冯诺依曼模型中指定 顺序硬件在由顺序程序指定的顺序执行加载和存储操作 乱序执行不改变语义硬件退出顺序程序指定的顺序(报告给软件的结果)的加载和存储操作 1.2、在一个数据流处理器内存排序 当它的操作数准备时内存操作执行 只有通过数据依赖关系排序指定 如果他们有没有相关性,两种操作可以在任何顺序执行和退出 优势:大量的并行性 高性能 缺点:订单可以在同一个程序的运行 非常难改变调试 1.

2、3、在 MIMD 处理器内存排序 每个处理器的存储器操作是按顺序相对于运行在该处理器“线程” (假设每个处理器服 从冯诺依曼模型) 多个处理器执行内存操作并发 1.4、保护共享数据 线程是不允许同时更新共享数据对于正确性的目的 访问共享数据在关键部分封装或通过同步结构保护(锁,信号量,条件变量) 仅一个线程可以在给定的时间执行一个重要部分互斥原则 多处理器应该提供正确的执行同步原语,使程序员可以保护共享数据 1.5、连续一致性 多处理器系统中是一致的顺序,如果:如果所有的处理器的操作均一些执行顺序,任何执行的结果是一样的每个单独的处理器的操作出现在这个序列中的顺序由它的程序指定 这是一个内存排

3、序模式,或内存模型由 ISA 指定 1.6、弱一致性内存 理念:程序员指定区域中的内存操作并不需要订购 “记忆栅栏”的说明划定这些地区一个篱笆之前的所有内存操作必须被执行之前,篱笆完成栅栏后的所有内存操作必须等待栅栏完成栅栏完成程序顺序 所有同步操作的行为就像一个屏障 2、内存相关性 2.1、问题:没有基于硬件的一致性保持高速缓存相干是软件的责任 +使 microarchitect 的生活更轻松 - 使一般的程序员的生活更难 -确保软件的一致性基础上(如网页保护和基于页面的软件一致性)再所有处理器之间所有缓存共享 +无需连贯性 - 共享缓存成为带宽瓶颈 - 很难设计出可扩展的系统,低延迟的高速

4、缓存访问这种方式 2.2、保持相关性 需要确保所有的处理器看到一个一致的值(即,一致的更新)为同一个内存位置 由 P0 写入位置 A 应该由 P1(最终)可以看出,所有写入 A 的应该以一些秩序出现 连贯性需要提供: 写传输:保证更新将传输 写串行化:所有的处理器提供看到一致的全部秩序 3、基于目录的高速缓存相关性 理念:一个中央逻辑目录跟踪每个高速缓存块所在。缓存查阅该目录,以确保连贯性。第 29 课、高速缓存相关性 1、探听 cache 相关性 思路:所有高速缓存“探听”的所有其它高速缓存的读/写请求,并保持高速缓存块相关性每个缓存块有“元数据的连贯性”与它在每个高速缓存的标签存储关联 如

5、果所有的高速缓存共享一个公用总线,容易实现每个高速缓存在总线上传输其读/写操作适合小规模的多处理机如果你想有一个 1000 多点多处理器? 1.1、一个简单的探听缓存一致性协议直写,不写分配缓存 缓存块的局部处理器的行动:PrRd,PrWr, 被传输的总线上的块操作:BusRd,BusWr 1.2、一个更复杂的协议:MSI 延长每块的元数据进行编码三种状态:M(odified):高速缓存行是唯一的缓存副本,脏S(hared):高速缓存行可能是几个缓存复制一个I(NVALID):高速缓存线不存在于该高速缓存 读未命中使总线上的读请求,转换至 S 写未命中使得 ReadEx 请求,转换到 M 态

6、当一个处理器探听 ReadEx 从其它写入,就必须作废自己的副本(如果有的话) S M 可以在不重新从存储器读取数据下升级(通过失效通知)问题:块是在没有高速缓存开始问题:在读时,块立即转到“共享”状态,尽管它可能是唯一的副本被缓存(即,没有 其他的处理器将缓存它) 1.3、解决方法:MESI 理念:添加另一种状态,表明这是唯一的缓存副本,它是干净的。 BusRd 期间,如果没有其它高速缓存有,它块放置到独占状态 无声过渡 Exclusive Modified 有可能在写状态问题:观察:共享状态需要的数据是干净的问题:需要编写块内存时 BusRd 发生在块处于修改状态 2、重温基于目录的 Ca

7、che 一致性 思想:在一个逻中央辑上目录跟踪每个缓存块的副本驻留。缓存咨询该目录,以确保连贯性。2.1、基于目录的协议 过去单一的总线的容量扩展,需要时 分布,但是:连贯性仍然需要单点的序列化(写序列化)序列化的位置可以为每块不同(跨节点条纹) 我们可以推理用于单块的协议:一个服务器(目录节点) ,许多客户(私人缓存) 目录接收读取和 ReadEx 请求,并发送 Invl 请求:失效是明确的(相对于 SNOOPY 总线)2.2、目录:基本操作 遵循探看基础的系统的语义 目录:接收读,ReadEx,来自升级节点的请求发送 Inval/降级消息共享者如果需要的话如果需要,将请求转发给内存答复请求

8、和更新共享状态 协议设计灵活确切的转发路径取决于执行 2.3、MESI 目录交易:读2.4、竞争解决(写)3、推进相关性 3.1、动机:三个期望的属性3.2、工作量趋势3.3、技术量趋势 高速点对点链路无(多点)总线 提高设计集成“无缝”多处理器提高成本和等待时间 愿望:低延迟互连避免“虚拟总线”顺序由目录启用的协议 技术走势 无序互联第 30 课 1、 DRAM 模块和芯片2、DRAM 设计的目标费用延迟带宽并行性功率能源可靠性 3、DRAM 单元 - 电容器为空状态 充满电状态为逻辑“0” 为逻辑“1” 小 - 不能驱动电路 读会破坏状态 4、传感放大器5、分摊消费DRAM 平铺6、DRAM Bank7、内存通道 - 瓶颈目标:减少内存带宽的需要8、大数据复制和初始化大数据复制 大数据初始化 9、DRAM 内的的复制10、快速并行模式 - 优势无带宽消耗 对 RAM 芯片有很少的改变 11、缺陷 位置约束源和目的地相同的子阵列 尺寸限制 整行被复制(无部分副本) 仍然可以加快许多现有的基元 另一种机制来复制整个 bank 数据12、结果总结13、DRAM 还以做什么 DRAM 内复制 DRAM 内按位操作 13.1、三重行激活13.2、DRAM 内按位操作 需要的操作:执行 A 和 B 两行的位与并将结果存储在 C 中

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号