多Cache一致性——监听协议目录协议
计算机系统结构课后习题答案

第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
计算机系统结构复习试题及答案(非计算)

计算机系统结构复习试题及答案(⾮计算)⼀.名词解释计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种⾓度看⼜好像不存在的概念称为透明性。
系列机:由同⼀⼚家⽣产的具有相同系统结构、但具有不同组成和实现的⼀系列不同型号的计算机。
同构型多处理机系统:由多个同类型或⾄少担负同等功能的处理机组成,它们同时处理同⼀作业中能并⾏执⾏的多个任务。
堆栈型机器:CPU 中存储操作数的单元是堆栈的机器。
累加器型机器:CPU 中存储操作数的单元是累加器的机器。
通⽤寄存器型机器:CPU 中存储操作数的单元是通⽤寄存器的机器。
数据相关:考虑两条指令i 和j,i 在j 的前⾯,如果下述条件之⼀成⽴,则称指令j 与指令 i 数据相关:(1)指令j 使⽤指令i 产⽣的结果;(2)指令j 与指令k 数据相关,⽽指令k ⼜与指令i 数据相关。
定向:⽤来解决写后读冲突的。
在发⽣写后读相关的情况下,在计算结果尚未出来之前,后⾯等待使⽤该结果的指令并不见得是马上就要⽤该结果。
如果能够将该计算结果从其产⽣的地⽅直接送到其它指令需要它的地⽅,那么就可以避免停顿。
向量处理机:指令级并⾏:简称ILP。
是指指令之间存在的⼀种并⾏性,利⽤它,计算机可以并⾏执⾏两条或两条以上的指令。
指令的动态调度:是指在保持数据流和异常⾏为的情况下,通过硬件对指令执⾏顺序进⾏重新安排,以提⾼流⽔线的利⽤率且减少停顿现象。
是由硬件在程序实际运⾏时实施的。
指令的静态调度:是指依靠编译器对代码进⾏静态调度,以减少相关和冲突。
它不是在程序执⾏的过程中、⽽是在编译期间进⾏代码调度和优化的。
失效率:CPU 访存时,在⼀级存储器中找不到所需信息的概率。
失效开销:CPU 向⼆级存储器发出访问请求到把这个数据调⼊⼀级存储器所需的时间。
强制性失效:当第⼀次访问⼀个块时,该块不在Cache 中,需要从下⼀级存储器中调⼊Cache,这就是强制性失效。
cache一致性协议实现的基本方法

面已经谈到,随着处理机数目N 的增大、存储器容量的增加,所 需要目录的容量以N2 的数量级增加。在目录本身就很庞大的情 况下,还需要增加一位C/D 位,以指示该复本是否允许写。所以 这种目录结构所需要的空间较为庞大。针对这个问题,提出了 有限目录的方法。 2)有限目录 有限目录的基本思想是要解决全映射目录空间过大的问题。 其采用的手段就是对任意一个数据块在高速缓存中同时存在的 复本的数目加以一定的限制,这是基于处理机使用的局部性, 即多机系统解决问题时,短时间内可能只集中使用其中几台机 器,所以某一个数据块的复本只有部分处理机需要,因此只需 要记录这几台机器,而不需要记录所有处理机,目录所需空间 大大减少:记录处理机号码的所需空间呈Log2N 增长,总的空间 需求为O(N XLog2N)。 3)链式目录 链式目录是采用目录指针链来跟踪共享可写数据的复本;链 表既可以采用单链表,又可以采用双链表。对于共享数据块的 复本数没有限制。所占用的空间和可扩展性与有限目录近似。
(3)Write- inv:远程高速缓存在写命中时在总线上广播一个无 效命令 (4)Read-inv:远程高速缓存在写缺失时在总线上广播一个无 效命令 (5)Read-blk:从另外一个高速缓存中读出一份有效复本。 这两条属于一致性命令 3)写操作可能遇到的几种情况 (1)如果C1 为VALID,写C1 时,则写命中(Write hit) a. 如果内存单元所在的块在高速缓存中,则可以写高速缓存 命中。 b. 如果内存单元所在的块不在高速缓存中,则写缺失,将内 存单元所在块读入高速缓存,再进行写操作发P-Write 修改C1 内 容,修改内存,发Write-Inv 给所有高速缓存,使它们的状态变 为无效。同时使本地的高速缓存中数据块的状态变Reserved。 (2)如果C1 为Reserved,对C1 进行写操作时,则写命中。发PWrite 命令修改C1内容,不修改内存中的复本,C1 状态变为 Dirty (3)如果C1 为Dirty,写C1 时则写命中。发出P-Write 命令修
适用于多核环境的混合Cache一致性协议

需要在高速缓冲 中为处理器 内核 中的 C c e ah 数据 副本创建较
多的 目录项 ,占用了大量 的存储空间 ,因此在 目录较大时 , 查询时延也较大 。
个处理器 内核 的私有 Cce a ,内核时刻监听总线 是否有请 求 h 送达 ,所有处理器 内核 发出的请求 以广播方式发送到其他 处 理器 内核节点 ,共享总线保证所有处理器 内核 的数据请求串 行执行 。典型 的监听协议有 ME I J S 协议和 M SF E I 协议 。
3 小容量 目录 D C ce - ah
本文协议为克服监听协议无差别发送广播的缺 点,在系 统结构 中引入 了一个 目录 cce a ——DC ce —ah 通过 h —ah ,DC ce 互联结构 和处理器 内核的私 有 L1 ah 互联。带有 D C c e ce C — ah
监听协议的优点是结构比较简单, 但因为总线是独占性 资源,当总线上互联的处理器内核节点较多时, 协议的效率 会急剧下降 。处理器内核的一致性数据请求事务都要无差 别地在总线上广播,并且所有监听到请求的 C ce ah 控制器都 要查找 C ce ah 中是否包含了请求数据 的副本 ,即使不包含远 程请求数据副本的 C ce ah 也需要执行 查找操作 ,无谓地消耗
如是 ,进行下一步处理 。
() 有请求 数据 的 目的 内核 将数据 副本 以点对 点方 式 2含 发送给源请求 内核 ,并进行数据副本状态维护 。
() 3 目的内核向 D C ce发送确认 ,D— ah 维护 目录。 — ah Cce
状态 ;C r—u e 为数据块 副本所在 内核编号 。 oen mb r
cache一致性问题和解决方法

cache一致性问题和解决方法作者辽宁工程技术大学摘要高速缓冲存储器一致性问题是指高速缓冲存储器中的数据必须与内存中的数据保持同步(一致) 。
多核处理器将一个以上的计算内核集成在一个处理器中,通过多个核心的并行计算技术,增强处理器计算性能。
单片多处理器结构(CMP—ChipMultiprocessor)又是该领域中备受关注的问题。
本文简要论述了CMP的多级Cache存储结构,多级结构引起了Cache一致性问题,一致性协议的选取对CMP系统的性能有重要影响。
使用何种Cache一致性模型以及它的设计方案是本文重点研究的内容。
关键词:CMP;Cache一致性;存储器;协议;替换策略Cache consistency problem and solving methodAbstract Cache consistency refers to the data in the cache memory must be synchronized with the data in memory (the same).Multi·core processor was the integration of multiple computing cores on a single processoL which improved processor computing ability through the parallelcomputing Technology of multi-coreprocessors.Single chip multi-processorarchitecture(CMP-ChipMulfiprocessor)was hot spots in this area.The CMPmulti-level Cache storage structure was briefly discussed in this paper,which led to Cache coherence problem,the selection of consistency protocol had a major impact on the performance of the CMP system.The selection of model of theCache Coherence and methods of its design will have a significant impact ofoverall design and development of CMPKey words:CMP Cache; consistency; memory; protocol; replacement strategy1引言在过去的二十年中,计算机处理器设计工艺和处理器体系结构发展迅速,计算机也能够完成所赋予它的大部分任务。
多核Cache一致性

x’
core1
x’
core2
……
x’
core3
I表示无效
4.写无效的问题 主要开销在两个方面: (1)作废各Cache副本的开销; (2)由作废引起缺失造成的开销,即处理 机需要访问已经作废的数据时将引起Cache的 缺失。
后果: 如果一个Core经常对某个块连续写,且Core 间对共享块的竞争较小,这时写无效策略维护 一致性的开销是很小的。如发生严重竞争,即 Core之间对某个地址的共享数据竞争,将产生 较多的作废,引起更多的作废缺失。结果是共 享数据在各Cache间倒来倒去,产生颠簸现象, 当缓存块比较大时,这种颠簸现象更为严重。
5. Write-Once一致性协议状态转移表
current command state P-Read P-Write 有效 有效 next state status action
P-Write
保留
必是局部进行, 有效 Read-hit 不影响有效状态 第一次写命中,用 保留 Write-hit 写通过法。同时修 改本地和主存副本 并广播Write-inv 使所有副本失效 第二次写命中,用 重写 Write-hit 写回法。但不修改 主存的副本
5. 写更新的问题 由于更新时,所有的副本均需要更新,开 销很大。
1.1 Cache Coherence问题 1.2 监听总线协议
1.2.1 写一次协议
1.3 基于目录的Cache一致性协议 1.4 三种Cache一致性策略
1.2 监听总线协议(Snoopy protocol)
通过总线监听机制实现Cache和共享存储 器之间的一致性。 适用性分析: 适用于具有广播能力的总线结构多Core系 统,允许每个Core监听其它Core的存储器访 问情况。 只适用于小规模的多Core系统。
计算机体系结构习题答案

一、(5分)计算机系统设计中经常使用的4个定量原理是什么?请简要说明它们的含义。
答:(1)以经常性事件为重点。
在计算机系统的设计中,对经常发生的情况,赋予它优先的处理权和资源使用权,以得到更多的总体上的改进。
(2)Amdahl 定律。
加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。
(3)CPU 性能公式。
执行一个程序所需的CPU 时间 = IC ×CPI ×T 。
(4)程序的局部性原理。
程序在执行时所访问地址的分布不是随机的,而是相对地簇聚。
二、(15分)假设某应用程序中有4类操作,通过改进各类操作的功能部件,可(2)各类操作单独改进后,程序获得的加速比分别是多少? (3)4类操作均改进后,整个程序的加速比是多少? 答:根据Amdahl 定律aff S n +-=)1(1,其中f 是可改进部分在总运行时间中所占比例,a 是可改进部分的加速比,可得4类操作均改进后,整个程序的加速比:11.77(1)n ii iS FF S =≈-+∑∑三、(5分)请简述指令之间数据冲突的类型。
答:指令之间的数据冲突有3种类型:真相关、反相关、输出相关。
真相关(数据依赖,有时候也称为数据相关):考虑两条指令i 和j ,i 在j 的前面,指令k 在指令i 和指令j 之间。
如果下述条件之一成立,则称指令j 与指令i 真相关:(1)指令j 使用指令i 产生的结果(写后读);(2)指令j 与指令k 真相关,而指令k 又与指令i 真相关。
(真相关的传递性) 反相关:考虑两条指令i 和j ,i 在j 的前面,如果指令j 所写的名与指令i 所读的寄存器名或存储地址相同,则称指令i 和j 发生了反相关。
(读后写)输出相关:考虑两条指令i 和j ,i 在j 的前面,如果指令j 和指令i 所写的寄存器名或存储地址相同,则称指令i 和j 发生了输出相关。
(写后写) 其中反相关和输出相关又合称名相关。
多Cache一致性目录协议监听协议

多Cache一致性目录协议监听协议协议名称:多Cache一致性目录协议监听协议一、引言多Cache一致性目录协议监听协议(以下简称“监听协议”)是为了实现多Cache一致性目录协议的有效监控和管理而制定的。
该协议旨在确保多Cache系统中各个Cache之间的一致性,并提供数据一致性的可靠性和高效性。
二、定义1. 多Cache一致性目录协议(以下简称“一致性协议”):用于维护多Cache系统中各个Cache之间数据的一致性的协议。
2. 监听协议:用于监听和管理多Cache系统中一致性协议的协议。
三、目标监听协议的目标是:1. 监听和记录一致性协议的执行过程,确保一致性协议的正确性和有效性。
2. 监控和管理一致性协议的执行结果,及时发现和解决一致性协议中的问题。
3. 提供一致性协议的性能评估和优化建议,提高多Cache系统的性能和可靠性。
四、工作原理1. 监听器部署:在多Cache系统中的每个Cache节点上部署监听器,用于监听一致性协议的执行过程。
2. 监听器功能:a) 监听一致性协议的消息传递过程,包括请求、响应和通知等。
b) 记录一致性协议的执行日志,包括时间戳、操作类型、源节点和目标节点等信息。
c) 检测一致性协议中的错误和异常情况,并及时报警或通知相关人员。
d) 收集一致性协议的执行结果和性能数据,用于分析和优化。
3. 监听器管理:a) 监听器的启停由管理员控制,确保监听器的正常运行和及时维护。
b) 监听器的配置和参数调整由管理员负责,根据需要进行调整和优化。
五、协议执行1. 监听器启动:a) 管理员通过指定命令或界面启动监听器。
b) 监听器启动后,开始监听一致性协议的执行过程。
2. 监听器数据收集:a) 监听器接收一致性协议的消息,并记录到执行日志中。
b) 监听器根据执行日志,统计一致性协议的执行结果和性能数据。
3. 监听器错误检测:a) 监听器检测一致性协议中的错误和异常情况,如消息丢失、超时等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七多Cache一致性——监听协议
7.1 实验目的
1.加深对多Cache一致性的理解;
2.进一步掌握解决多Cache一致性的监听协议的基本思想;
3.掌握在各种情况下,监听协议是如何工作的。
能给出要进行什么样的操作以及状态的变
化情况。
7.2 实验平台
多Cache一致性监听协议模拟器,
《计算机系统结构实验教程》附书光盘中提供,清华大学出版社。
设计:张晨曦教授(*******************),版权所有。
开发:程志强。
7.3 实验内容及步骤
首先要掌握该模拟器的使用方法。
(见7.4节)
1. 对于以下访问序列,写出监听协议所进行的操作:
4.根据上述结果,画出相关的状态转换图。
C写5号单元
D读5号单元
7.4 监听协议模拟器使用方法
该模拟器模拟4个CPU(A、B、C、D)访存的工作过程。
每个CPU中都有一个Cache,该Cache包含4个块,其块地址为0~3。
集中共享存储器中有32个块,其块地址为0~31。
每个块的状态用色块来表示,其中灰色表示“无效”状态,淡青色表示“共享”,橘红色表示“独占”。
对于每个CPU,可以指定所要进行的访问是读还是写(从列表中选),并在输入框中输入所要访问的主存块号,然后用鼠标点击在其右边的标有↓的按钮,模拟器就将开始演示该访问的工作过程。
该模拟器的主菜单有4个:配置,控制,统计,帮助。
1.配置
该菜单用于进行配置参数的显示与设置。
你可以修改动画播放速度:把游标往右边拖拽可提高播放速度,往左边拖拽可降低播放速度。
你还可以选择是否进行优化传块。
优化传块是指当要访问的块在某个Cache中,且处于独占状态时,可以不用等该块写回主存后再从主存调块,而是可以直接将该块传送给发出访问请求的结点。
本模拟器采用直接映象方法和写回法。
2.控制
可以通过该菜单中的选项来控制模拟器的执行。
该菜单下有以下3个选项:单步执行、连续执行、复位。
(1)单步执行
选用该方式后,点击鼠标或点击左上角的“步进”按钮,都会使模拟器前进一步。
(2)连续执行
选用该方式后,用鼠标点击标有↓的按钮,模拟器会连续演示一次访存的整个过程,直至该访问结束。
(3)复位
使模拟器复位,回到初始状态。
也可以通过点击窗口内左上角的选项和按钮来控制模拟器的执行,其功能与上述菜单选项相同。
3.统计
该菜单用于显示模拟器的统计结果,包括各处理机的访问次数、命中次数、不命中次数以及命中率。
4.帮助
该菜单下有“关于”和“使用说明”两个选项。
实验八多Cache一致性——目录协议
8.1 实验目的
1.加深对多Cache一致性的理解;
2.进一步掌握解决多Cache一致性的目录协议的基本思想;
3.掌握在各种情况下,目录协议是如何工作的。
能给出要进行什么样的操作以及状态的变
化情况。
8.2 实验平台
多Cache一致性目录协议模拟器,
《计算机系统结构实验教程》附书光盘中提供,清华大学出版社。
设计:张晨曦教授(*******************),版权所有。
开发:程志强。
8.3 实验内容及步骤
首先要掌握该模拟器的使用方法。
(见8.4节)
2. 自己编写一个访问序列,写出目录协议所进行的操作:
2.根据上述结果,画出相关的状态转换(仅画出与上表相关的部分)。
图
8.4 目录协议模拟器使用方法
该模拟器模拟4个CPU(A、B、C、D)访存的工作过程。
每个CPU中都有一个Cache,该Cache包含4个块,其块地址为0~3。
分布式存储器中有32个块,其块地址为0~31。
Cache中每个块的状态用色块来表示,其中灰色表示“无效”状态,淡青色表示“共享”,橘红色表示“独占”。
主存中块的状态由其右边的目录项的颜色来表示,未缓冲状态由黄色来表示,其他两种状态同Cache块。
对于每个CPU,可以指定所要进行的访问是读还是写(从列表中选),并在输入框中输入所要访问的主存块号,然后用鼠标点击在其右边的标有↓的按钮,模拟器就将开始演示该访问的工作过程。
该模拟器的主菜单有4个:配置,操作,统计,帮助。
1.配置
该菜单用于进行配置参数的显示与设置。
你可以修改动画播放速度:把游标往右边拖拽可提高播放速度,往左边拖拽可降低播放速度。
你还可以选择是否进行优化传块。
优化传块是指当要访问的块在某个Cache中,且处于独占状态时,可以不用等该块写回主存后再从主存调块,而是可以直接将该块传送给发出访问请求的结点。
本模拟器采用直接映象方法和写回法。
2.操作
可以通过该菜单中的选项来控制模拟器的执行。
该菜单下有以下3个选项:单步执行、连续执行、复位。
(1)单步执行
选用该方式后,敲任意键、点击鼠标或点击左上角的“步进”按钮,都会使模拟器前进一步。
(2)连续执行
选用该方式后,用鼠标点击标有↓的按钮,模拟器会连续演示一次访存的整个过程,直至该访问结束。
(3)复位
使模拟器复位,回到初始状态。
3.统计
该菜单用于显示模拟器的统计结果,包括各处理机的访问次数、命中次数、不命中次数以及命中率。
4.帮助
该菜单下有“关于”和“使用说明”两个选项。