公 ·并行性有粗粒度并行性和细粒度并行性之分。所 谓粗粒度并行性是在多个处理器上分别运行多个 进程,由多个处理器合作完成一个程序 ·所谓细粒度并行性是指在一个进程中实现操作· 级或指令一级的并行处理 这两种粒度的并行性在一个计算机系统中可以同 时存在,而在单处理器上则采用细粒度(指令级) 并行性。高性能处理器在指令处理方面采用了 系列关键技术,大多是围绕指令级并行处理这个 核心问题发挥作用的
• 并行性有粗粒度并行性和细粒度并行性之分。所 谓粗粒度并行性是在多个处理器上分别运行多个 进程,由多个处理器合作完成一个程序。 • 所谓细粒度并行性是指在一个进程中实现操作一 级或指令一级的并行处理。 • 这两种粒度的并行性在一个计算机系统中可以同 时存在,而在单处理器上则采用细粒度(指令级) 并行性。高性能处理器在指令处理方面采用了一 系列关键技术,大多是围绕指令级并行处理这个 核心问题发挥作用的
公 与指令级并行性有关的一个指标是每条指令的时钟 周期数CPI( Clock Per Instruction),它是在流水线中执 行一条指令所需的时钟周期数 ·通常可以用平均CPI来说明一个处理器的速度性能 平均CPI是把各种类型的指令所需的时钟周期数按 定的混合比(出现的频度)加权后计算得到
• 与指令级并行性有关的一个指标是每条指令的时钟 周期数CPI(Clock Per Instruction),它是在流水线中执 行一条指令所需的时钟周期数。 • 通常可以用平均CPI来说明一个处理器的速度性能。 • 平均CPI是把各种类型的指令所需的时钟周期数按 一定的混合比(出现的频度)加权后计算得到
公 在单处理器中挖掘指令级并行性,实现指令级并 行处理,提高系统总体运算速度,是通过处理器 和编译程序的结合来实现的,对于用户是完全透 明的。 ·用户不必考虑如何使自己编写的程序去适应指令 级并行处理的需要,即处理器中实现指令级并行 处理是由编译程序和处理器硬件电路负责实现的
• 在单处理器中挖掘指令级并行性,实现指令级并 行处理,提高系统总体运算速度,是通过处理器 和编译程序的结合来实现的,对于用户是完全透 明的。 • 用户不必考虑如何使自己编写的程序去适应指令 级并行处理的需要,即处理器中实现指令级并行 处理是由编译程序和处理器硬件电路负责实现的
公 253超标量技术 在采用超标量结构的处理器中有多条流水线,即 在处理器中配有多套取指、译码及执行等功能部 件,在寄存器组中设有多个端口,总线也安排了 多套,使在同一个机器周期中可以向几条流水线 同时送出多条指令,并且能够并行地存取多个操 作数和操作结果,执行多个操作 ·采用超标量技术,不仅要考虑单条流水线中的重 叠执行,还要考虑在流水线之间的并行执行,其 相关”问题比单流水线的处理器要复杂得多。这 需要通过专门的技术来解决
25.3 超标量技术 • 在采用超标量结构的处理器中有多条流水线,即 在处理器中配有多套取指、译码及执行等功能部 件,在寄存器组中设有多个端口,总线也安排了 多套,使在同一个机器周期中可以向几条流水线 同时送出多条指令,并且能够并行地存取多个操 作数和操作结果,执行多个操作。 • 采用超标量技术,不仅要考虑单条流水线中的重 叠执行,还要考虑在流水线之间的并行执行,其 “相关”问题比单流水线的处理器要复杂得多。这 需要通过专门的技术来解决
公 为使多个功能部件能并行工作,指令的操作数之 间必须没有相关性。 ·可以通过编译程序对程序代码顺序进行重新组 织,从而在某种程度上保证指令之间的数据独立 性。这种技术称为指令序列的静态调度 ·对于有些指令之间的数据独立性在编译时判断不 出来的情况,为了充分利用硬件资源的可并行能 力,超标量处理器一般可在控制部件中设置一个 对指令动态调度的机构,在程序执行期间由硬件 来完成对程序代码顺序的调整工作
• 为使多个功能部件能并行工作,指令的操作数之 间必须没有相关性。 • 可以通过编译程序对程序代码顺序进行重新组 织,从而在某种程度上保证指令之间的数据独立 性。这种技术称为指令序列的静态调度。 • 对于有些指令之间的数据独立性在编译时判断不 出来的情况,为了充分利用硬件资源的可并行能 力,超标量处理器一般可在控制部件中设置一个 对指令动态调度的机构,在程序执行期间由硬件 来完成对程序代码顺序的调整工作