简体   繁体   English

x86 / 64与ARM缓存未命中/分支错误预测损失

[英]x86/64 vs ARM cache miss/branch mispredict penalty

Is there any significant or fundamental difference between the penalty of cache misses and branch mispredictions for ARM and x86/64 processors? 对于ARM和x86 / 64处理器,高速缓存未命中的代价和分支错误预测之间是否有重大或根本的区别?

I understand that mileage may vary depending on concrete model and whole configuration of a machine. 我了解里程会根据具体型号和机器的整体配置而有所不同。 But still wondering if there's anything. 但是仍然想知道是否有任何东西。

Fundamentally a ~32MHz 3-stage Cortex-M0 pipeline works the same way as a ~3GHz 40-stage NetBurst P4 pipeline - if the next instruction/data isn't available yet, you're just going to have to wait until it is. 从根本上来说,〜32MHz的3级Cortex-M0管线的工作方式与〜3GHz的40级NetBurst P4管线相同-如果下一条指令/数据尚不可用,您将只需要等待直到下一条指令/数据。

Actual cycle counts, timing, and everything else will depend on many different microarchitecture/system/implementation details and vary hugely even within a single architecture (compare said NetBurst P4 to a 486DX-40, or said Cortex-M0 to an X-Gene 2, for example). 实际的周期数,时序以及其他所有内容都将取决于许多不同的微体系结构/系统/实现细节,并且即使在单个体系结构内,其变化也很大(将NetBurst P4与486DX-40进行比较,或者将Cortex-M0与X-Gene 2进行比较)。 , 例如)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM