计算机组成与设计硬件软件接口学习1
计算机的算术运算
子字并行 (大致浏览)pdf 170页左右
浮点加法不满足结合律:
适用于整型数据类型的并行执行策略并不适用于浮点数据类型 ,原因如上↑
处理器
流水线
流水线是一种能使多条指令重叠执行的实现技术
流水线技术通过提高指令吞吐率来提高性能,而不是减少单个指令的执行时间
前递或旁路
指令间的并行性
流水线技术挖掘了指令间潜在的并行性,这种并行性被称为指令级并行
提高指令级并行度主要有两种方法:
增加流水线的级数
增加流水线内部的功能部件数量,这样可以每周期发出多条指令,这种技术被称为多发射
实现多发射处理器主要有两种方式:
指令发射与否的判断是在编译时完成的,称为静态多发射
如果指令发射与否的判断是在动态执行过程中由硬件完成的,称为动态多发射
寄存器重命名,寄存器重命名的目标是,除了数据相关,消除指令间存在的其他数据相关。例如,ld x30,0(x20) ,add x31, x31,x21, sd x31, 8(x20) ,这样的指令,除了都是用x31,这些指令实际上是相互独立的。这种情况称为反相关,或名字相关
反相关:也成为名字相关,由于名字复用被迫导致的顺序排列。这并不是一种指令间真是的数据相关
动态多发射处理器
动态多发射器也称为超标量处理器
动态调度流水线:由硬件选择后续执行的指令,并对指令进行重排来避免流水线的停顿。在这样的处理器中,流水线被分为三个主要部分:取指,发射单元,多功能部件,以及提交单元