|
itany 发表于 2012-9-25 13:22
前端该进行的东西Arm比x86一样不少。
我之前也说了,很早以前CPU前端是很简单的,带宽也不大,这时候指令 ...
我认为正好相反。
首先你说的那些循环缓存,还有btb等,并不是x86才能实现的设计。包括ht的双份寄存器,btb,循环缓存,都是risc能够实现的。而且这些技术至今为止都没有利用在arm上边。未来假如有必要是完全可以加上的。
第二x86解码器一刻都不能闲置下来,特别是在带ht的处理器上。而且本身x86解码器必须应对复杂指令,arm的isa就没有这个需求。你把这个需求简单的归为带宽需求显然是混淆概念,纯玩嘴炮而不是想讨论什么。x86的复杂指令需要更多的解码周期,否则intel的3+1结构中的1是哪来干嘛的?而arm中就没有必要留个“1”这种东西。我们抛开其他的不说,一个“3+1”的解码工位效率肯定比一个“4”的低。这完全不是高带宽可以避免的。
我们可以举例,有4个简单指令,那么3+1的解码器需要两个周期。而4的只需要一个周期。再举例假如接连两个复杂指令,那么需要的是2 x 复杂解码器的工作周期。而4的没有这个情况。所以才有整体效率上要高一些的结论。
现在前端的带宽都不是问题的情况下,x86依然会有上述问题。何来带宽决定论?
|
|