资源描述
第一章计算机体系结构基础概念
1. 计算机系统结构经典定义
程序员所看到计算机属性,即概念性结构和功效特征。
(计算机组成:指计算机系统结构逻辑实现。计算机实现:计算机组成物理实现)
2. 计算机系统多级层次结构:
1. 虚拟机:应用语言机器->高级语言机器->汇编语言机器->操作系统机器
2. 物理机:传统机器语言机器->微程序机器
3. 透明性:在计算机技术中,把这种原来存在事物或属性,但从某种角度看又仿佛不存在概念称为透明性。
4. 编译:先用转换程序把高一级机器上程序转换为低一级机器上等效程序
5. 解释:对于高一级机器上程序中每一条语句或指令,全部转去实施低一级机器上一段等效程序。
6. 常见计算机系统结构分类法有两种:Flynn分类法、冯氏分类法(按系统并行度Pm:计算机系统在单位时间内能处理最大二进制位数 )进行分类。
Flynn分类法把计算机系统结构分为4类:
单指令流单数据流(SISD)
单指令流多数据流(SIMD)
多指令流单数据流(MISD)
多指令流多数据流(MIMD)
IS指令流,DS数据流,CS(控制流),CU(控制部件),PU(处理部件),MM,SM(表示存放器)
7. 计算机设计定量原理:
1. 大约率事件优先原理(分配更多资源,达成更高性能)
2. Amdahl定理:加速比:Sn=T0(加速前)Tn(加速后)=11-Fe+Fe/Se(Fe为可改善百分比(可改善部分实施时间/总实施时间),Se为部件加速比(改善前/改善后)
3. 程序局部性原理:时间局部性:程序立即使用信息很可能是现在使用信息。空间局部性:立即用到信息可能和现在用到信息在空间上相邻或相近。
4. CPU性能公式:
1. 时钟周期时间
2. CPI:CPI = 实施程序所需时钟周期数/IC
3. IC(程序所实施指令条数)
8. 并行性:计算机系统在同一时刻或同一时间间隔内进行多个运算或操作。
同时性:两个或两个以上事件在同一时刻发生。
并发性:两个或两个以上事件在同一时间间隔内发生。
从处理数据角度来看,并行性等级从低到高可分为:
1.字串位串:每次只对一个字一位进行处理。
最基础串行处理方法,不存在并行性。
2.字串位并:同时对一个字全部位进行处理,不一样字之间是串行。
开始出现并行性。
3.字并位串:同时对很多字同一位(称为位片)进行处理。
含有较高并行性。
4.全并行:同时对很多字全部位或部分位进行处理。
最高一级并行。
从实施程序角度来看,并行性等级从低到高可分为:
1.指令内部并行:单条指令中各微操作之间并行。
2.指令级并行:并行实施两条或两条以上指令。
3.线程级并行:并行实施两个或两个以上线程。
通常是以一个进程内派生多个线程为调度单位。
4.任务级或过程级并行:并行实施两个或两个以上过程或任务(程序段)
以子程序或进程为调度单元。
5.作业或程序级并行:并行实施两个或两个以上作业或程序。
提升并行性技术路径:
1.时间重合
引入时间原因,让多个处理过程在时间上相互错开,轮番重合地使用同一套硬件设备各个部分,以加紧硬件周转而赢得速度。
2.资源反复
引入空间原因,以数量取胜。经过反复设置硬件资源,大幅度地提升计算机系统性能。
3.资源共享
这是一个软件方法,它使多个任务按一定时间次序轮番使用同一套硬件设备。
3.系列机
由同一厂家生产含有相同系统结构、但含有不一样组成和实现一系列不一样型号计算机。
7. 存放程序原理基础点:指令驱动
8. 冯·诺依曼结构关键特点
1.以运算器为中心。
2.在存放器中,指令和数据相同对待。
指令和数据一样能够进行运算,即由指令组成程序是能够修改。
3.存放器是按地址访问、按次序线性编址一维结构,每个单元位数是固定。
4.指令实施是次序
5.指令由操作码和地址码组成。
6.指令和数据均以二进制编码表示,采取二进制运算。
9.软件可移植性
一个软件能够不经修改或只需少许修改就能够由一台计算机移植到另一台计算机上正确地运行。差异只是实施时间不一样。我们称这两台计算机是软件兼容。
实现可移植性常见方法:采取系列机、模拟和仿真、统一高级语言 。
软件兼容:
向上(下)兼容:按某档机器编制程序,不加修改就能运行于比它高(低)档机器。
向前(后)兼容:按某个时期投入市场某种型号机器编制程序,不加修改地就能运行于在它之前(后)投入市场机器。
向后兼容是系列机根本特征。
兼容机:由不一样企业厂家生产含有相同系统结构计算机 。
第二章 计算机指令集结构
1. CPU中用来存放操作数存放单元关键类型:堆栈、累加器、通用寄存器组
2. 通用寄存器型指令集结构深入细分为3种类型
寄存器-寄存器型(RR型)
寄存器-存放器型(RM型)
存放器-存放器型(MM型)
3.指令集结构设计
关键考虑3个原因:速度、成本、灵活性
对指令集基础要求:完整性、规整性、高效率、兼容性
4.设计RISC机器遵照标准
1.指令条数少而简单。只选择使用频度很高指令,在此基础上补充部分最有用指令。
2.采取简单而又统一指令格式,并降低寻址方法;指令字长全部为32位或64位。
3.指令实施在单个机器周期内完成。(采取流水线机制)
4.只有load和store指令才能访问存放器,其它指令操作全部是在寄存器之间进行。
(即采取load-store结构)
5.大多数指令全部采取硬连逻辑来实现。
6.强调优化编译器作用,为高级语言程序生成优化代码。
7.充足利用流水技术来提升性能。
5.指令由两部分组成:操作码、地址码
指令集3种编码格式:变长编码格式、定长编码格式、混合型编码格式
第三章 流水线技术
1. 流水线技术:把一个反复过程分解为若干个子过程,每个子过程由专门功效部件来实现。把多个处理过程在时间上错开,依次经过各功效段,这么,每个子过程就能够和其它子过程并行进行。(流水线中每个子过程及其功效部件称为流水线级或段,段和段相互连接形成流水线。流水线段数称为流水线深度。)
2. CPU流水线:
1. IF(取指令):依据PC值从指令内存中读取一条指令,而且设置下一周期PC值。
2. ID(解码):依据操作码从指令中提取操作数。
3. EX(实施):实施指令
4. MEM(内存操作)
5. WB(回写):修改寄存器
3. 经过时间:第一个任务从进入流水线到流出结果所需时间。
排空时间:最终一个任务从进入流水线到流出结果所需时间。
4. 流水线分类:
1.单功效流水线和多功效流水线
单功效流水线:只能完成一个固定功效流水线。
多功效流水线:流水线各段能够进行不一样连接,以实现不一样功效。
2.静态流水线和动态流水线
静态流水线:在同一时间内,多功效流水线中各段只能按同一个功效连接方法工作。
动态流水线:在同一时间内,多功效流水线中各段能够根据不一样方法连接,同时实施多个功效。
3.线性流水线和非线性流水线
线性流水线:流水线各段串行连接,没有反馈回路。数据经过流水线中各段时,每一个段最多只流过一次。
非线性流水线:流水线中除了有串行连接外,还有反馈回路。
5. 表示方法:
1. 连接图:
Figure 1 多功效流水线,可实施乘和加
2. 时空图:
Figure 2 静态: 加法完成后再进行乘法。动态:不要求加法完成
6. 性能指标:
1. 吞吐率:在单位时间内流水线所完成任务数量或输出结果数量。
2. 加速比:完成一样一批任务,不使用流水线所用时间和使用流水线所用时间之比。
3. 效率:流水线中设备实际使用时间和整个运行时间比值,即流水线设备利用率。
n个任务实际占用时空区/k个段总时空区
4. 当流水线各段时间相等时,流水线效率和吞吐率成正比。
Tk=(k+n-1) △t E=TP△t
5. 流水线效率是流水线实际加速比S和它最大加速比k比值。
从时空图上看,效率就是n个任务占用时空面积和k个段总时空面
之比。
7. 流水线相关:
1. 数据相关:数据相关含有传输性,反应了数据流动关系假如两条指令使用相同名,不过它们之间并没有数据流动,则称这两条指令存在名相关。
2. 名相关:
反相关:假如指令j写名和指令i读名相同,则称指令i和j发生了反相关。
指令j写名=指令i读名
输出相关:假如指令j和指令i写相同名,则称指令i和j发生了输出相关。
指令j写名=指令i写名
3. 控制相关:控制相关是指由分支指令引发相关
8. 流水线冲突:
1. 结构冲突:因硬件资源满足不了指令重合实施要求而发生冲突。
2. 数据冲突:当指令在流水线中重合实施时,因需要用到前面指令实施结果而发生冲突。
3. 控制冲突:流水线碰到分支指令和其它会改变PC值指令所引发冲突。
9. 处理流水线冲突:
1. 数据冲突有:
写后读冲突(RAW)
在 i 写入之前,j 先去读。 j 读出内容是错误。对应于数据相关
写后写冲突(WAW)
在 i 写入之前,j 先写。最终写入结果是 i 。错误!对应于输出相关
读后写冲突(WAR)
在 i 读之前,j 先写。i 读出内容是错误!由反相关引发。
定向技术:在某条指令产生计算结果之前,其它指令并不真正立即需要该计算结果,假如能够将该计算结果从其产生地方直接送到其它指令需要它地方,那么就能够避免停顿。
流水线互锁机制,插入“暂停”。
作用:检测发觉数据冲突,并使流水线停顿,直至冲突消失。
依靠编译器处理数据冲突
让编译器重新组织指令次序来消除冲突,这种技术称为指令调度或流水线调度。
2.控制冲突有:
处理分支指令最简单方法:“冻结”或“排空”流水线 。
由分支指令引发延迟称为分支延迟。
降低分支延迟方法:
估计分支失败
许可分支指令后指令继续在流水线中流动,就好象什么全部没发生似。
若确定分支失败,将分支指令看作是一条一般指令,流水线正常流动。
若确定分支成功,流水线就把在分支指令以后取出全部指令转化为空操作,并按分支目地重新取指令实施。
要确保:分支结果出来之前不会改变处理机状态,方便一旦猜错时,处理机能够回退到原先状态。
估计分支成功
假设分支转移成功,并从分支目标地址处取指令实施。
起作用前题:先知道分支目标地址,后知道分支是否成功。
前述5段流水线中,这种方法没有任何好处。
延迟分支
关键思想:
从逻辑上“延长”分支指令实施时间。把延迟分支看成是由原来分支指令和若干个延迟槽组成,不管分支是否成功,全部要按次序实施延迟槽中指令。
分支延迟指令调度
任务:在延迟槽中放入有用指令。
由编译器完成。能否带来好处取决于编译器能否把有用
指令调度到延迟槽中。
三种调度方法: 以前调度、从目标处调度、从失败处调度
² MIPS
若检测到RAW冲突,流水线互锁机制必需在流水线中插入停顿,并使目前正处于IF段和ID段指令不再前进。
分支指令条件测试和分支目标地址计算在EX段完成,对PC修改在MEM段完成。
一条指令实施过程分为以下5个周期:
1.取指令周期(IF)
IR ← Mem[PC] 。
PC值加4。(假设每条指令占4个字节)
2.指令译码/读寄存器周期(ID)
译码。
用IR中寄存器编号去访问通用寄存器组,读出所需操作数。
3.实施/有效地址计算周期(EX)不一样指令所进行操作不一样:
存放器访问指令:ALU把所指定寄存器内容和偏移量相加,形成用于访存有效地址。
寄存器-寄存器ALU指令:ALU根据操作码指定操作对从通用寄存器组中读取数据进行运算。
寄存器-立即数ALU指令:ALU根据操作码指定操作对从通用寄存器组中读取第一操作数和立即数进行运算。
分支指令:ALU把偏移量和PC值相加,形成转移目标地址。同时,对在前一个周期读出操作数进行判定,确定分支是否成功。
4存放器访问/分支完成周期(MEM)
该周期处理指令只有load、store和分支指令。其它类型指令在此周期不做任何操作。
load和store指令
load指令:用上一个周期计算出有效地址从存放器中读出对应数据。
store指令:把指定数据写入这个有效地址所指出存放器单元。
分支指令
分支“成功”,就把转移目标地址送入PC。
分支指令实施完成。
5.写回周期(WB)
ALU运算指令和load指令在这个周期把结果数据写入通用寄存器组。
ALU运算指令:结果数据来自ALU。
load指令:结果数据来自存放器系统。
相关:两条指令之间存在某种依靠关系。
流水线冲突是指对于具体流水线来说,因为相关存在,使得指令流中下一条指令不能在指定时钟周期实施。
第四章:向量处理机
1. 在流水线处理机中,设置向量数据表示和对应向量指令,称为向量处理机。(不含有向量数据表示和对应向量指令流水线处理机,称为标量处理机。)
2. 处理方法:
1.横向(水平)处理方法
向量计算是按行方法从左到右横向地进行。
组成循环程序进行处理。i
数据相关:N次 功效切换:2N次
不适合于向量处理机并行处理。
2.纵向 (垂直)处理方法
向量计算是按列方法从上到下纵向地进行。
两条向量指令之间:数据相关:1次 功效切换:1次
对处理机结构要求:存放器-存放器结构
3.纵横 (分组)处理方法又称为分组处理方法。
把向量分成若干组,组内按纵向方法处理,依次处理各组。
对处理机结构要求:寄存器-寄存器结构
3. 提升向量处理机性能方法:
1. 设置多个功效部件,使它们并行工作。
2. 采取链接技术,加紧一串向量指令实施。
3. 采取循环开采技术,加紧循环处理。(分段开采:当向量长度大于向量寄存器长度,将向量分为长度相等段)
4. 采取多处理机系统,深入提升性能。
4. 链接特征:含有先写后读相关两条指令,在不出现功效部件冲突和源向量冲突情况下,能够把功效部件链接起来进行流水处理,以达成加紧实施目标。
链接特征实质:把流水线定向思想引入到向量实施过程结果。
5. 向量处理机性能关键参数:
1. 一行向量长度为n指令实施时间Tvp=Ts+Te+(n-1)Tc(Ts为向量处理部件建立时间,Te为流水线经过时间,Tc为流水线时钟周期时间。
2. 每秒多少个浮点运算结果(MFLOP或一个浮点运算时间)
3. 一组向量指令处理时间
4. 向量流水线最大性能R∞
5. 半性能向量长度n1/2
第5章 指令级并行
这种指令之间存在潜在并行性称为指令级并行。
指令级并行度ILP:指令中存在一个并行性,计算机能够并行实施两条及以上指令。开发ILP路径有两种:1.资源反复(关键基于硬件动态开发方法) 2.流水线技术。(基于软件静态开发方法)
1. 流水线处理机实际CPI
理想流水线CPI加上各类停顿时钟周期数:
CPI流水线 = CPI理想 + 停顿结构冲突 + 停顿数据冲突 + 停顿控制冲突
理想CPI是衡量流水线最高性能一个指标。
动态分支估计:在程序运行时,依据分支指令过去表现来估计其未来行为。
2. 分支历史表BHT(Branch History Table)或分支估计缓冲器(Branch Prediciton Buffer)
最简单动态分支估计方法。
用BHT来统计分支指令最近一次或几次实施情况(成功或不成功),并据此进行估计。
BTB
目标:将分支开销降为 0
方法:分支目标缓冲
将分支成功分支指令地址和它分支目标地址全部放到一个缓冲区中保留起来,缓冲区以分支指令地址作为标识。
这个缓冲区就是分支目标缓冲器(Branch-Target Buffer,简记为BTB,或Branch-Target Cache)。
3. 开发ILP两种方法:
1. 记分牌动态调度算法
目标:在没有结构冲突时,尽早实施没有数据冲突指令(指令实施时能够跨越,不过在输出段全部是按序流出),实现每个时钟周期实施一条指令。
记分牌硬件实现:1.记分牌中维护着三张表,分别统计指令实施状态、寄存器状态、功效部件状态、数据相关关系。 2.它把流水线译码段ID分为了两个段:流出和读操作数。
记分牌流水线处理步骤:
1) 流出(ID)
假如目前流出指令所需功效部件空闲(无结构冲突),而且其它实施指令目标寄存器和该指令不一样(无WAW冲突),记分牌就向功效部件流出该指令,并修改记分牌内部统计表。
2) 读操作数(ID)
监测源操作数可用性(前面已流出而且正在实施指令全部不对该寄存器进行写操作),假如数据可用,它就通知功效部件从寄存器中读出源操作数并开始实施
3) 实施(EX)
取到操作数则开始实施,产生出结果后,就通知记分牌它已经实施完成
4) 写结果(WB)
若WAR冲突已经消失,记分牌则通知功效部件把结果写入目标寄存器
记分牌三张表:
1) 指令状态表
2) 功效部件状态表,每个部件有一项,每一项由以下9个字段组成:
Busy:忙标志,指出功效部件是否忙。初值为“no”;
Op:该功效部件正在实施或将要实施操作;
Fi:目标寄存器编号;
Fj,Fk:源寄存器编号;
Qj,Qk:指出向源寄存器Fj、Fk写数据功效部件 ;
Rj,Rk:标志位,“yes”表示Fj,Fk中操作数就绪且还未被取走。不然就被置为“no”。
3) 结果寄存器状态表:指出哪个功效部件将结果写入寄存器
2. Tomasulo动态调度算法:
1. 基础思想:①统计和监测指令相关,操作数一旦就绪就立即实施,把发生RAW冲突可能性减小到最小。②经过寄存器换名来消除WAR冲突和WAW冲突
2. 基础结构:
(1) 保留站:保留已经流出并等候到本功效部件实施指令,在保留站经过流出逻辑来完成寄存器换名(次序流出,乱序实施 )
(2) 公共数据总线(CDB):全部功效部件计算结果全部送到CDB,由它把这些结果直接送到各个需要该结果地方(乱序完成)
(3) Load/store缓冲器:作用是①存放计算有效地址分量。②统计正在进行load访存,等候存放器响应/保留正在进行store访存目标地址,等候存放数据抵达。③保留完成了load结果(从存放器取来数据)/保留该store地址和数据
3. 指令实施步骤:
1) 流出
2) 实施
3) 写结果
2.基础程序块:一段除了入口和出口以外不包含其它分支线性代码段。
3.循环级并行:使一个循环中不一样循环体并行实施。
4.程序次序:由源程序确定在完全串行方法下指令实施次序。
保持异常行为是指:不管怎么改变指令实施次序,全部不能改变程序中异常发生情况。
数据流:指数据值从其产生者指令到其消费者指令实际流动。
静态调度
依靠编译器对代码进行静态调度,以降低相关和冲突。
它不是在程序实施过程中、而是在编译期间进行代码调度和优化。
经过把相关指令拉开距离来降低可能产生停顿。
动态调度
在程序实施过程中,依靠专门硬件对代码进行调度,降低数据相关造成停顿
不正确异常:当实施指令i造成发生异常时,处理机现场(状态)和严格按程序次序实施时指令i现场不一样。
正确异常:假如发生异常时,处理机现场跟严格按程序次序实施时指令i现场相同。
记分牌算法和Tomasulo算法是两种比较经典动态调度算法。
Tomasulo算法基础思想
1.关键思想
统计和检测指令相关,操作数一旦就绪就立即实施,把发生RAW(read and write)冲突可能性降低到最小;
经过寄存器换名来消除WAR冲突和WAW冲突。
更多地依靠于硬件
寄存器换名能够消除WAR冲突和WAW冲突。
寄存器换名是经过保留站和流出逻辑来共同完成。
Tomasulo算法含有以下两个特点:
冲突检测和指令实施控制是分布。
每个功效部件保留站中信息决定了什么时候
指令能够在该功效部件开始实施。
计算结果经过CDB直接从产生它保留站传送到全部需要它功效部件,而不用经过寄存器。
每个保留站有以下多个字段:
Op:要对源操作数进行操作。
Qj,Qk:将产生源操作数保留站号。
等于0表示操作数已经就绪且在Vj或Vk中,或不需要操作数。
Vj,Vk:源操作数值。
对于每一个操作数来说,V或Q字段只有一个有效。
对于load来说,Vk字段用于保留偏移量。
Busy:为“yes”表示本保留站或缓冲单元“忙”。
A:仅load和store缓冲器有该字段。开始是存放指令中立即数字段,地址计算后存放有效地址。
循环展开和指令调度
增加指令间并行性最简单和最常见方法
开发循环级并行性——循环不一样迭代之间存在并行性。
在把循环展开后,经过重命名和指令调度来开发更多并行性。
编译器完成这种指令调度能力受限于两个特征:
程序固有指令级并行性;
流水线功效部件实施延迟。
循环展开和指令调度时要注意以下多个方面:
确保正确性。
在循环展开和调度过程中尤其要注意两个地方正确性:循环控制,操作数偏移量修改。
注意有效性。
只有能够找到不一样循环体之间无关性,才能有效地使用循环展开。
使用不一样寄存器。
(不然可能造成新冲突)
删除多出测试指令和分支指令,并对循环结束代码和新循环体代码进行对应修正。
注意对存放器数据相关性分析
比如:对于load指令和store指令,假如它们在不一样循环迭代中访问存放器地址是不一样,它们就是相互独立,能够相互对调。
注意新相关性
因为原循环不一样次迭代在展开后全部到了同一次循环体中,所以可能带来新相关性。
第九章 动态互联网络
互联网络是一个开关元件根据一定拓扑结构和控制方法组成网络,用来实现计算机系统中节点之间相互连接
动态网络分类:总线网络、多级互联网络、交叉开关网络
互联网络三要素:互联结构、开关和控制方法
1. 基础互联函数:
1) 交换函数:二进制地址编码中第k位互反输入端和输出端之间连接。
2) 均匀洗牌网络。
3) PM2I函数:PM2+1X=X+2imodN
PM2-1X=X-2imodN
2. 互联网络结构参数:
1) 网络规模N:指互联网络中节点个数。它表示该网络所能连接部件数量。网络规模越大,这个互联网络连接能力越强
2) 节点度d:指互联网络中节点所连接边数,包含入度,出度。
3) 节点距离:从一个节点到另一个节点终止所需要跨越边数最小值
4) 网络直径D:指网络中任意两个节点之间距离最大值(网络直径越小越好)
5) 等分宽度b(关键反应网络最大流量):把由N个节点组成网络切成节点数相同(N/2)两半,在多种切法中,沿切口边数最小值称为该网络等分宽度。而线等分宽度位B=b×ω(通道宽度,单位是位数)
6) 对称性:从任意节点看,网络结构全部是相同
3. 静态互联网络:各节点之间有固定连接通路,且在运行中不能改变网络。
1) ILLIAC IV网:采取PM2±0和PM2±n/2组成其互连网络,实现各处理单元之间上下左右互连 。
2) 带环立方体CCC
带环3-立方体
一个带环n-立方体由N = 2n个结点环组成,每个结点环是一个有n个结点环,网络规模(结点总数)为n*2n个。直径通常为D=2n,结点度为3,等分宽度b=N/(2k),对称。
4. 动态互联网络:由交换开关组成,可按运行程序要求动态改变连接状态网络
1) Omega网络(相当于一个banyan网)
5. 路由选择和消息传输方法:
1) 线路交换:传输之前建立一条到目标节点物理通路然后交换
2) 包交换:
1) 存放转发:
2) 虚拟直通(接收寻径报头即可做出下一跳判定,输出链路空闲则不用存放直接转发)
3) 虫蚀方法:将信息切割成片(头片->寻径信息和包序列号,数据片)
6. 流量控制策略:
1. 包冲突处理:两个相邻节点之间传送一个片要满足三个条件:①源缓冲区已存有该片②通道已分配好③接收缓冲区准备接收该片
2. 确定性寻径
第10章 多处理机
MIMD(多指令流多数据流):一块芯片上多个处理器
MIMD计算机分类:集中式共享存放器结构。分布式存放器多处理机
多处理机分类
u 紧耦合系统 \ 松耦合系统
u 同构型 \ 异构型 多处理机系统。
u 按系统组成结构
并行向量处理机(PVP)
对称多处理机(SMP)
大规模并行处理机(MPP)
分布共享存放器多处理机(DSM)
工作站机群(COW)
1. Cache一致性问题:因为缓存存在于cpu和内存中间,所以任何外设对内存修改并不能确保cache中也得到一样更新,一样处理器对缓存中内容修改也不能确保内存中数据 得到更新。这种缓存中数据和内存中数据不一样时和不一致现象将可能造成使用DMA 传输数据时 或 处理器运行自修改代码时产生错误。
Cache一致性就是直Cache中数据,和对应内存中数据是一致。
2. Cache一致性协议:
1) 目录式协议:物理存放器中数据块共享状态被保留在一个称为目录地方。
2) 监听式协议:当物理存放器中数据块被调入Cache时,其共享状态信息和该数据块一起放在该Cache上。当某个Cache要访问存放器时,它会把请求放到总线上广播出去,其它Cache经过监听总线来判定是否要更新
展开阅读全文