特别想知道为什么英特尔将其从 Ivy Bridge 到 Haswell 的移位指令延迟加倍,如文档所述这里,但其他案例也很有趣。
答案1
他们可能并没有打算增加它,而是由于其他架构的改进或变化而被迫增加它。
现代 CPU 是组合逻辑和顺序逻辑的庞大集合,在高时钟速度下,您会遇到这样的问题:走线长度实际上是限制您执行某项操作速度的因素。
将核心的一个操作部分移近另一个操作部分可能意味着将第三个部分推得稍微远一些,从而导致在触发该单元执行其工作之前确保数据“存在”并稳定下来所需的时间略有增加。
因此,提高某一领域的性能可能意味着损失另一领域的性能。添加指令或优化布线也可能导致其他部分的布线不理想。
不太可能有人会说“你知道吗,没人用这个。让我们把它增加到 4 个时钟吧。”很有可能是一次设计会议,会议中说“看,我们想添加x
& y
,移动z
,问题就出在这里。我们可以移动他,并稍微降低性能吗?这样做的好处是否大于损失?”
有时,电路的可靠性还意味着给它多一点的时间来完成其工作。