首页 文章

当操作具有不同的吞吐量时,可视化ALU管道

提问于
浏览
1

当操作具有不同的吞吐量时,如何可视化ALU管道?

所有操作具有相同吞吐量的ALU管道可视为具有传送带组装线的工厂 . 管道的深度和延迟成为沿传送带的站点数量 .

但是ALU管道通常对不同类型的操作具有不同的吞吐量 . 例如,MUL可以具有ADD的一半吞吐量 . 因此,如果在当前时钟周期中将MUL添加到流水线,则可以在下一个周期中添加ADD,但不能添加新的MUL .

这有点像说,如果你有一个 生产环境 两种类型汽车的工厂,你可能无法让两辆A型汽车在传送带上相互跟随 . 虽然,A型车跟着B型车可能没问题 .

2 回答

  • 1

    这就像是让同一个团队在两个不同的连续工作站工作 . 如果您有两个连续的MUL,当第二个MUL到达时,团队仍然忙于第一个(在第二个工作站工作) .

  • 0

    想想一个收费公路付费站 . 你有多条车道,其中一些用于卡车,一些用于公共汽车,一些(我猜)最多用于私家车 . 每个人支付的时间可能大不相同,每种类型的进入车辆的数量也不同,所以问题是 - 每种类型的摊位数量是多少?

    该区域当然是有限的,让我们假设设计师计划减少平均等待时间 . 您仍然可能有多个相同类型的传入车辆,这最终会导致一些站点填满并且将形成队列 .

    类似地,在超标量CPU中,一些指令可以在不同的ALU上并行执行,但是在许多情况下,给定的ALU组可能过载,并且操作必须在某个队列中等待 .

    哦,为了完成这个比喻,让我们说无序执行可以被人们在鸣喇叭时传递给你 . 没有真正添加到我们的描述,但它非常适合:)

相关问题