西安电子科技大学计算机学院Sunday,January26,202510:59:33PM计算机组成与体系结构第7章流水线技术与指令级并行27.5指令流水线的性能提高结构相关数据相关控制相关7.6指令级并行概念7.7提高指令级并行的技术乱序执行、寄存器重命名推测执行7.8多发射处理器超标量处理器超长指令字处理器7.9指令级并行的限制西安电子科技大学计算机学院Sunday,January26,202510:59:33PM计算机组成与体系结构第7章流水线技术与指令级并行7.5指令流水线的性能提高47.5.1流水线的基本性能问题限制指令流水线性能提高的因素:流水线的深度受限于流水线的延迟、流水线段的时间不均衡和流水线的额外开销。指令执行时可能存在的相关(dependence)或“冒险(hazard)”问题。相关:相邻或相近的两条指令因存在某种关联,后一条指令不能在原指定的时钟周期开始执行。相关或冒险有3类:结构(structural)相关:资源冲突数据(data)相关:一条指令需要用到前面某条指令的结果控制(control)相关:分支等转移类指令/其他能够改变PC值的指令全局性相关局部性相关57.5.1流水线的基本性能问题有停顿的流水线的CPI为:CPI=理想流水线CPI+(结构相关停顿+数据相关停顿+控制相关停顿)/指令数有停顿的流水线的加速比为:消除相关、减少停顿是提高已有流水线性能最重要的手段。周期每条指令的流水线停顿流水线深度加速比167.5.2结构相关有两种情形会导致结构相关:部分功能单元没有充分流水。解决办法:将流水线设计的更合理。资源冲突(resourceconflicts):当两个以上流水线段需要同时使用同一个硬件资源时,发生冲突。解决方法:增加资源副本:存储器冲突:哈佛结构两个ALU:取指令-地址加法器改变资源以便它们能并发的使用。不相关的数据尽量使用不同的寄存器寄存器重命名通过延迟(或暂停)流水线的冲突段或在冲突段插入流水线气泡(气泡在流水线中只占资源不做实际操作),使各段“轮流”使用资源。77.5.3数据相关指令在流水线中的重叠执行有可能改变指令读/写操作数的顺序。当一条指令的结果还未有效生成,该结果就被作为后续指令的操作数时,数据相关出现。87.5.3数据相关相关类型:先写后读(ReadAfterWrite)先读后写(WriteAfterRead)写-写(WriteAfterWrite)【例】4级指令流水线,各级分别为取指IF、读数RD、执行EX和写结果WB。简单指令(第1、2、4、6条指令)在EX1段执行,需1个时钟周期;复...