计算机组织与系统结构第七章习题答案
完整版计算机体系结构课后习题原版答案张晨曦著

第1章计算机系统结构得基本概念 (1)第2章指令集结构得分类 (4)第3章流水线技术 (6)第4章指令级并行 (16)第5章存储层次 (25)第6章输入输出系统 (31)第7章互连网络 (41)第8章多处理机 (45)第9章机群 (45)第1章计算机系统结构得基本概念1、1 解释下列术语层次机构:按照计算机语言从低级到高级得次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同得语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现得机器。
翻译:先用转换程序把高一级机器上得程序转换为低一级机器上等效得程序,然后再在这低一级机器上运行,实现程序得功能。
解释:对于高一级机器上得程序中得每一条语句或指令,都就是转去执行低一级机器上得一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所瞧到得计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在得事物或属性,但从某种角度瞧又好像不存在得概念称为透明性。
计算机组成:计算机系统结构得逻辑实现,包含物理机器级中得数据流与控制流得组成以及逻辑设计等。
计算机实现:计算机组成得物理实现,包括处理机、主存等部件得物理结构,器件得集成度与速度,模块、插件、底板得划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高得倍数。
Amdahl定律:当对一个系统中得某个部件进行改进后,所能获得得整个系统性能得提高,受限于该部件得执行时间占总执行时间得百分比。
程序得局部性原理:程序执行时所访问得存储器地址不就是随机分布得,而就是相对地簇聚。
包括时间局部性与空间局部性。
CPI:每条指令执行得平均时钟周期数。
测试程序套件:由各种不同得真实应用程序构成得一组测试程序,用来测试计算机在各个方面得处理性能。
计算机系统结构 第七章自考练习题答案

第七章多处理机历年真题精选1. 在多处理机上,两个程序段既能顺序串行、交换串行,又能并行,则这两个程序段之间必须是( B )。
A. 只有数据相关B. 只有源数据相关C. 只有数据反相关D. 只有数据输出相关2. 在多处理机上,有效计算的执行时间E与处理机机间的通讯辅助开销时间C的比值较小时,任务宜采用(粗)粒度。
3.多处理机互连形式一般有总线形式,环形互连形式,(交叉开关)形式,多端口存储器形式和(开关枢纽结构)形式等几种。
4. 多处理机实现的是(作业)和(任务)间的并行。
5. 用霍纳法则给定的表达式如下:E=a(b+c(d+e(f+gh)))利用减少树高的办法加速运算,要求:(1)画出树形流程图;(2)确定运算级数TP,处理机机数P、加速比SP和效率EP等的值。
(TP=7,P=3,SP=7/4,EP=7/12)6. 简述使用多处理机的目的和多处理机具备的特点。
(P182-183)同步强化练习一.单项选择题。
1. 多处理机主要实现的是( A )。
A.任务级并行B.指令级并行C.操作级并行D.操作步骤的并行2. 多处理机上两个程序段之间若有先写后读的数据相关,则( B )。
A.可以并行执行B.不可能并行C.必须并行执行D.任何情况均可交换串行3. 若两个程序段之间没有任何相关,则两个程序段(B )。
A.不可并行B.可并行C.不可顺序串行D.不可交换串行4. 多处理机的各自独立型操作系统( D )。
A. 适合于紧耦合多处理机B.要求管理程序不必是可再入的C.工作负荷较平衡D.有较高的可靠性5. 多端口存储器适合于连接(A )。
A.紧耦合多处理机B.松耦合多处理机C.机数很多的的处理机D.机数可变的多处理机6. 主从型管理程序只在(C )运行。
A.多台处理机上B.一台随意的主处理机上C.一台指定的主处理机上D.处理机之间7. 能实现作业、任务级并行的异构型多处理机属(C )。
A.SISDB.MISDC.MIMDD.SIMD8. 属于MIMD系统的结构是( D )。
计算机组成与系统结构课后答案版全(清华大学袁春风主编)

(4)(4E.C)16= (78.75)10= (0100 1110.11)2
4.假定机器数为8位(1位符号,7位数值),写出下列各二进制数的原码和补码表示。
+0.1001,–0.1001,+1.0,–1.0,+0.010100,–0.010100,+0,–0
参考答案:
原码补码
+0.1001:0.10010000.1001000
–0.1001:1.10010001.0111000
+1.0:溢出溢出
–1.0:溢出1.0000000
+0.010100:0.01010000.0101000
(1)无符号数加法指令
(2)带符号整数乘法指令
(3)单精度浮点数减法指令
参考答案:
R1=0000108BH= 0000 0000 0000 0000 0001 0000 1000 1011b
R2=8080108BH= 1000 0000 1000 0000 0001 0000 1000 1011b
(1)对于无符号数加法指令,R1和R2中是操作数的无符号数表示,因此,其真值分别为R1:108BH, R2:8080108BH。
(3)[x]补=0.1010010x = +0.101001B
(4)[x]补=11010011x =–101101B =–45
7.假定一台32位字长的机器中带符号整数用补码表示,浮点数用IEEE 754标准表示,寄存器R1和R2的内容分别为R1:0000108BH,R2:8080108BH。不同指令对寄存器进行不同的操作,因而,不同指令执行时寄存器内容对应的真值不同。假定执行下列运算指令时,操作数为寄存器R1和R2的内容,则R1和R2中操作数的真值分别为多少?
《计算机组成和系统结构》习题解答习题解答PPT共189页

《计算机组成和系统结构》习题解答习 题解答
1、合法而稳定的权力在使用得当时很 少遇到 抵抗。 ——塞 ·约翰 逊 2、权力会使人渐渐失去温厚善良的美 德。— —伯克
3、最大限度地行使权力总是令人反感 ;权力 不易确 定之处 始终存 在着危 险。— —塞·约翰逊 4、权力会奴化一切。——塔西佗
5、虽然权力是一头固执的熊,可是金 子可以 拉着它 的鼻子 走。— —莎士 比
6、最大的骄傲于最大的自卑都表示心灵的最软弱无力。——斯宾诺莎 7、自知之明是最难得的知识。——西班牙 8、勇气通往天堂,怯懦通往地狱。——塞内加 9、有时候读书是一种巧妙地避开思考的方法。——赫尔普斯 10、阅读一切好书如同和过去最杰出的人谈话。——笛卡儿
以下习题来自《计算机系统结构》第七章 存储体系。

以下习题来自《计算机系统结构》第七章存储体系。
7.1解释下列术语直接映像:每个主存地址映像到Cache中的一个指定地质的方式称为直接映像。
全相联映像:任何主存地址可映像到任何Cache地址的方式称为全相联映像。
组相联映像:组相联映像指的是将存储空间的页面分成若干组,各组之间是直接映像,而组内各块之间是全相联映像。
全写法:全写法也称直达法,即写操作将数据同时写入Cache和缓存。
写回法:写Cache时不写主存,仅当被写Cache数据块要被替换出去时才写回主存。
虚拟存储器:虚拟存储器是主存的扩展,当主存的容量不能满足要求时,数据可存放在外存中,在程序中仍然按地址访问外存空间。
大小取决于计算机的访存能力。
段式管理:把主存按段分配的存储管理方式称为段式管理。
页式管理:把虚拟存储空间和实际存储空间等分成固定大小的页,各虚拟页可装入主存中不同的实际页面位置。
段页式管理:段页式管理式段式管理和页式管理的结合,他将存储空间按逻辑模块分成段,每段又分成若干个页,访存通过一个段表和若干个页表进行。
段的长度必须是页的长度的整数倍,段的起点必须是某一页的起点。
快表:为了提高页表中常用项的访问速度,采用快速硬件构成的比全表小的多的部分表格。
慢表:存放在主存中的整个页表。
高速缓存:高速缓冲存储器是位于CPU和主存之间的高层存储子系统。
时间局部性:如果一个存储项被访问,则可能该项会很快再次被访问。
空间局部性:如果一个存储项被访问,则该项及其邻近的相也可能很快被访问。
段表:在对虚拟内存进行管理时,系统中用于指明各段在主存中的位置的表,表中包括段名或段号、段起点、装入位和段长等。
页表:在对虚拟内存进行管理时,系统中用于指明各页在主存中的位置的表,表中包括页号、每页在主存中的起始位置、表示该页是否已装入主存的装入位等。
块表:存储系统中的一个用于解决块和页的定位、标志、和寻址问题的表。
7.2 有人认为,随着存储器芯片集成度的提高,主存的容量将越来越大,虚拟存贮器将被淘汰,未来的计算机中将不采用虚拟存储器。
计算机系统结构(课后习题答案)分解

第一章计算机系统结构的基本概念1.有一个计算机系统可按功能分成4级,每级的指令互不相同,每一级的指令都比其下一级的指令在效能上强M倍,即第i级的一条指令能完成第i-1级的M条指令的计算量。
现若需第i级的N 条指令解释第i+1级的一条指令,而有一段第1级的程序需要运行Ks,问在第2、3和4级上一段等效程序各需要运行多长时间?答:第2级上等效程序需运行:(N/M)*Ks。
第3级上等效程序需运行:(N/M)*(N/M)*Ks。
第4级上等效程序需运行:(N/M)*(N/M)*(N/M)*Ks。
note: 由题意可知:第i级的一条指令能完成第i-1级的M条指令的计算量。
而现在第i 级有N条指令解释第i+1级的一条指令,那么,我们就可以用N/M来表示N/M 表示第i+1级需(N/M)条指令来完成第i级的计算量。
所以,当有一段第1级的程序需要运行Ks时,在第2级就需要(N/M)Ks,以此类推2.硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。
答:软件和硬件在逻辑功能上是等效的,原理上,软件的功能可用硬件或固件完成,硬件的功能也可用软件模拟完成。
但是实现的性能价格比,实现的难易程序不同。
在DOS操作系统时代,汉字系统是一个重要问题,早期的汉字系统的字库和处理程序都固化在汉卡(硬件)上,而随着CPU、硬盘、内存技术的不断发展,UCDOS把汉字系统的所有组成部份做成一个软件。
3.试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与影响。
答:计算机系统结构、计算机组成、计算机实现互不相同,但又相互影响。
(1)计算机的系统结构相同,但可采用不同的组成。
如IBM370系列有115、125、135、158、168等由低档到高档的多种型号机器。
从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理机/主存,通道、设备控制器,外设4级构成。
其中,中央处理机都有相同的机器指令和汇编指令系统,只是指令的分析、执行在低档机上采用顺序进行,在高档机上采用重叠、流水或其它并行处理方式。
计算机系统结构课后答案uint7

第七章课后题1.多处理机在结构、程序并行性、算法、进程同步、资源分配和调试上与并行处理机有什么差别?答:多处理机与并行处理机的主要差别是并行性的等级不同。
(1)结构灵活性。
多处理机制结构灵活性高于并行处理机。
(2)程序并行性。
多处理是指令、任务、作业并行,并行性的识别较难;并行处理机是操作级并行,并行性的识别较易。
(3)并行任务派生。
并行处理机工作能否并行工作由指令决定,多处理机必须有专门指令指明程序能否并行执行,派生的任务数是动态变化的。
(4)进程同步。
并行处理机的进程同步是自然的,而多处理机必须采取同步措施。
(5)资源分配和任务调度。
多处理机的资源分配和任务调度比并行处理机复杂得多。
2.多处理机有哪些基本特点?发展这种系统的主要目的可能有哪些?多处理着重解决哪些技术问题?答:○多处理机的基本特点:多处理机具有两台以上的处理机,在操作系统控制下通过共享的主存或输入/输出子系统或高速通讯网络进行通讯.结构上多个处理机用多个指令部件分别控制,通过机间互连网络通讯;算法上不只限于处理向量数组,还要实现更多通用算法中的并行;系统管理上要更多地依靠软件手段,有效解决资源分配和管理,特别是任务分配,处理机调度,进程的同步和通讯等问题.○使用多处理机的目的:一是用多台处理进行多任务处理协同求解一个大而复杂的问题来提高速度,二是依靠冗余的处理机及其重组来提高系统的可靠性,适应性和可用性.○多处理着重要解决的技术问题:(1)硬件结构上,如何解决好处理机、存储器模块及I/O子系统间的互连。
(2)如何最大限度开发系统的并行性,以实现多处理要各级的全面并行。
(3)如何选择任务和子任务的大小,即任务的粒度,使并行度高,辅助开销小。
(4)如何协调好多处理机中各并行执行任务和进程间的同步问题。
(5)如何将任务分配到多处理机上,解决好处理机调度、任务调度、任务调度和资源分配,防止死锁。
(6)一旦某个处理发生故障,如何对系统进行重新组织,而不使其瘫痪。
计算机组成与设计第三版第七章课后答案

13在所用主存储器芯片已确定的情况下,还要进行大幅度提高主存储器系统的读写 速度的办法是什么?
答:在所用主存储器芯片已确定的情况下,还要进行大幅度提高主存储器系统的读 写速度的办法是采用成组传送数据的方式,该方式是指用于提高在数据总线上的数 据输入/输出能力的一种技术。即通过地址总线传送一次地址后,能连续在数据总 线上传送多个(一组)数据,而不像正常总线工作方式那样,每传送一次数据,总 要用两段时间,即先送一次地址(地址时间),后送一次数据传送(数据时间)。 在成组传送方式,为传送N个数据,就可以用N+1个总线时钟周期,而不再是用 2N个总线时钟周期,使总线上的数据入/出尖峰提高一倍。
01
12存储器读写操作时,地址信号、片选信 号、读写命令、读出的数据或写入的数据, 在时间配合上要满足些什么关系?
02
答:存储器读写操作时,地址信号、片选信 号、读写命令、读出的数据或写入的数据, 它们之间在时序配合要满足以下这些条件: 有了稳定的地址与片选信号才可以读;有了 稳定的地址和写入的数据,再有了片选信号 才能再给出写命令,以便保证无误的写操作。 此外,这些信号应有一定的持续时间,以保 证读写操作得以正常完成。
202X
计算机组成原 理第七章习题
单击此处添加文本具体内容,简明扼要地 阐述你的观点
7.1.在计算机中,为什么要采用多级结构的存储器系统?它们的应用是建 立在程序的什么特性之上的?
答:在现代的计算机系统中,通常总是采用由三种运行原理不同,性能差异 很大的存储介质分别构建高速缓冲存储器、主存储器和虚拟存储器,再将它 们组成三级结构的统一管理、高度的一体化存储器系统。由高速缓冲存储器 缓解主存储器读写速度慢,不能满足CPU运行速度需要的矛盾;用虚拟存储 器更大的存储空间,解决主存储器容量小,存不下更大程序与更多数据的难 题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题1.给出以下概念的解释说明。
指令流水线(Instruction pipelining)流水线深度(Pipeline Depth)指令吞吐量(Instruction throughput)流水线冒险(Hazard)结构冒险(Structural hazard)控制冒险(Control hazard)数据冒险(Data hazard)流水线阻塞(Pipeline stall)气泡(Bubble)空操作(nop)分支条件满足(Branch taken)分支预测(Branch predict)静态分支预测(Static predict)动态分支预测(Dynamic predict)延迟分支(Delayed branch)分支延迟槽(Delayed branch slot)转发(Forwarding)旁路(Bypassing)流水段寄存器(Pipeline register)IPC(Instructions Per Cycle)静态多发射(Static multiple issue)动态多发射(Dynamic multiple issue)超流水线(Superpipelining)超长指令字VLIW超标量流水线(Superscalar)动态流水线(Dynamic pipelining)指令预取(Instruction prefetch)指令分发(Instruction dispatch)按序发射(in-order issue)无序发射(out-of-order issue)存储站(Reservation station)重排序缓冲(Reorder buffer)指令提交单元(Instruction commit unit)乱序执行(out-of-order execution)按序完成(in-order completion)无序完成(out-of-order completion)2. 简单回答下列问题。
(1)流水线方式下,一条指令的执行时间缩短了还是加长了?程序的执行时间缩短了还是加长了?为什么?(2)具有什么特征的指令集易于实现指令流水线?(3)流水线处理器中时钟周期如何确定?单条流水线处理器的CPI为多少?每个时钟周期一定有一条指令完成吗?为什么?(4)流水线处理器的控制器实现方式更类似于单周期控制器还是多周期控制器?(5)为什么要在各流水段之间加寄存器?各流水段寄存器的宽度是否都一样?为什么?(6)你能列出哪几种流水线被阻塞的情况?你知道硬件和软件是如何处理它们的吗?(7)超流水线和多发射流水线的主要区别是什么?(8)静态多发射流水线和动态多发射流水线的主要区别是什么?(9)为什么说Pentium 4是“CISC壳、RISC核”的体系结构?• 156 •3.假定在一个五级流水线(如图7.5所示)处理器中,各主要功能单元的操作时间为:存储单元:200ps;ALU和加法器:150ps;寄存器堆读口或写口:50ps。
请问:(1)若执行阶段EX所用的ALU操作时间缩短20%,则能否加快流水线执行速度?如果能的话,能加快多少?如果不能的话,为什么?(2)若ALU操作时间增加20%,对流水线的性能有何影响?(3)若ALU操作时间增加40%,对流水线的性能有何影响?参考答案:a. ALU操作时间缩短20%不能加快流水线指令速度。
因为存储单元的时间为200ps,所以流水线的时钟周期不会因为ALU操作时间的缩短而变短。
b. ALU操作时间延长20%时,变为180ps,比200ps小,对流水线性能没有影响;c. ALU操作时间延长40%时,变为210ps,比200ps大,所以,流水线的时钟周期将变为210,其效率降低了(210-200)/200=5%。
4. 假定某计算机工程师想设计一个新CPU,一个典型程序的核心模块有一百万条指令,每条指令执行时间为100ps。
请问:(1)在非流水线处理器上执行该程序需要花多长时间?(2)若新CPU是一个20级流水线处理器,执行上述同样的程序,理想情况下,它比非流水线处理器快多少?(3)实际流水线并不是理想的,流水段间数据传送会有额外开销。
这些开销是否会影响指令执行时间(Instruction latency)和指令吞吐率(Instruction throughput)?参考答案:(1)非流水线处理器上执行该程序的时间为:100ps x 106=100µs.(2)若在一个20级流水线的处理器上执行,理想情况下,每个时钟周期为:100/20=5ps,所以,程序执行时间约为5 x 106=5µs. 快100/5=20倍。
(3)流水线段之间数据的传递产生的额外开销,使得一条指令的执行时间被延长,即影响Instruction latency;同时也拉长了每个流水段的执行时间,即影响Instructionthroughput。
还有什么不理想的因素?——时钟周期不会是5us——可能发生阻塞等• 157 •5. 假定最复杂的一条指令所用的组合逻辑分成6块,依次为A~F,其延迟分别为80ps、30ps、60ps、50ps、70ps、10ps。
在这些组合逻辑块之间插入必要的流水段寄存器就可实现相应的指令流水线,寄存器延迟为20ps。
理想情况下,以下各种方式所得到的时钟周期、指令吞吐率和指令执行时间各是多少?应该在哪里插入流水线寄存器?(1)插入一个流水段寄存器,得到一个两级流水线(2)插入两个流水段寄存器,得到一个三级流水线(3)插入三个流水段寄存器,得到一个四级流水线(4)吞吐量最大的流水线参考答案:(1)两级流水线的平衡点在C和D之间,其前面一个流水段的组合逻辑延时为80+30+60=170ps,后面一个流水段的组合逻辑延时为50+70+10=130ps。
这样每个流水段都以最长延时调整为170+20=190ps,故时钟周期为190ps,指令吞吐率为1/190ps=5.26GOPS,每条指令的执行时间为2x190=380ps。
(2)两个流水段寄存器分别插在B和C、D和E之间,这样第一个流水段的组合逻辑延时为80+30=110ps,中间第二段的时延为60+50=110ps,最后一个段延时为70+10=80ps。
这样每个流水段都以最长延时调整为110+20=130ps,故时钟周期为130ps,指令吞吐率为1/130ps=7.69GOPS,每条指令的执行时间为3x130=390ps。
(3)三个流水段寄存器分别插在A和B、C和D、D和E之间,这样第一个流水段的组合逻辑延时为80ps,第二段时延为30+60=90ps,第三段时延为50ps,最后一段延时为70+10=80ps。
这样每个流水段都以最长延时调整为90+20=110ps,故时钟周期为110ps,指令吞吐率为1/110ps=9.09GOPS,每条指令的执行时间为4x110=440ps。
(4)因为所有组合逻辑块中最长延时为80ps,所以,达到最大可能吞吐率的划分应该是以一个流水段延时为80ps+20ps来进行,因此,至少按五段来划分,分别把流水段寄存器插在A和B、B和C、C和D、D和E之间,这样第一段的组合逻辑延时为80ps,第二段为30ps,第三段为60ps,第四段为50ps,最后一段为70+10=80ps。
这样每个流水段都以最长延时调整为80+20=100ps,故时钟周期为100ps,指令吞吐率为1/100ps=10GOPS,每条指令的执行时间为5x100=500ps。
——吞吐率的提高,单条指令执行时间的延长• 158 •6. 以下指令序列中,哪些指令对发生数据相关?假定采用“取指、译码/取数、执行、访存、写回”五段流水线方式,那么不用“转发”技术的话,需要在发生数据相关的指令前加入几条nop指令才能使这段程序避免数据冒险?如果采用“转发”是否可以完全解决数据冒险?不行的话,需要在发生数据相关的指令前加入几条nop指令才能使这段程序不发生数据冒险?add $s3, $s1, $s0sub $t2, $s0, $s3lw $t1, 0($t2)add $t1, $t1, $t2参考答案:发生数据相关的有:第1和2间关于$s3、第2和3间关于$t2、第2和4间关于$t2、第3和4间关于$t1。
不进行“转发”处理的话,需要分别在第2、3、4条指令前加三条nop指令才能避免数据冒险。
而通过“转发”可以避免1和2、2和3、2和4间的数据相关;但第3和4间是load-use 数据相关,所以无法用“转发”消除冒险,因此,需在第4条指令前加入一条nop指令。
寄存器写口和寄存器读口分别安排在一个时钟周期的前、后半个周期内独立工作呢?——2、3、4条之前分别插入2条nop就可以• 159 •7. 假定以下MIPS指令序列在图7.18所示的流水线数据通路中执行:addu $s3, $s1, $s0subu $t2, $s0, $s3lw $t1, 0($t2)add $t3, $t1, $t2add $t1, $s4, $s5请问:(1)上述指令序列中,哪些指令的哪个寄存器需要转发,转发到何处?(2)上述指令序列中,是否存在load-use数据冒险?(3)第5周期结束时,各指令执行状态是什么?哪些寄存器的数据正被读出?哪些寄存器将被写入?参考答案:(1)发生数据相关的有:第1和2间关于$s3、第2和3间关于$t2、第2和4间关于$t2、第3和4间关于$t1。
通过“转发”可以避免1和2、2和3、2和4间的数据相关;(2)第3和4间是load-use数据相关,所以无法用“转发”消除冒险。
(3)第五个时钟内各条指令的执行情况如下:指令1在“WB”阶段,控制信息等在MEM/WB.Reg中,$s3正在被写,结束时写完指令2在“MEM”阶段,控制信息等在EX/MEM.Reg中。
sub指令在该阶段进行的是空操作;在转发检测单元中,因为流水段寄存器Ex/Mem中的目的寄存器RegRd为$t2,流水段寄存器ID/Ex中的源寄存器Rs也为$t2,同时,流水段寄存器Ex/Mem中的RegWr控制信号为1,所以检测到转发条件满足,因而,此时,sub指令在上一个时钟周期中的执行结果(在流水段寄存器Ex/Mem中的ALU输出结果)正被回送到ALU的输入端;结束时转发完成指令3在“EXE”阶段,ALU正在执行“add”操作,进行地址运算,ALU输出结果将被写入流水段寄存器Ex/Mem中;结束时运算完成。
控制信息等在ID/EX.Reg中,正在检测是否loaduse冒险指令4在“ID/REG”阶段,指令在IF/ID.Reg中,$t1和$t2正在被读出。
在load-use冒险检测单元中,因为流水段寄存器IF/ID中源操作数寄存器Rs为$t1,流水段寄存器ID/Ex中目的操作数寄存器Rt也为$t1,同时,因为上条指令是lw,故流水段寄存器ID/Ex中的MemRead控制信号为1,所以在该阶段检测到load-use冒险条件满足,此时,需要进行load-use 冒险处理,在流水线中插入一个“气泡”,将指令的执行阻塞一个时钟周期。