繁体   English   中英

MIPS整数Sandy Bridge

[英]MIPS integer Sandy Bridge

我在汇编中写了一个算术整数库。 我想估计与我的处理器(Intel Sandy Bridge)的峰值性能相比的性能。

由于Sandy Bridge的3个ALU执行整数运算,“3 *(核数)*频率”是否足以得到估计值? 99%的程序集是addq, adcq, mulq指令)。

没有。

有许多因素会影响任何代码的速度。 诸如导致停顿的指令之间的依赖关系,缓存访问和缓存速度,缓存未命中和RAM速度等。

特别是对于Sandy Bridge,还有超线程(这些ALU由2个逻辑CPU共享)以及turbo-boost和电源管理。 然后是分页(TLB查找和TLB未命中)。

最重要的是有操作系统开销; 包括内核如何快速解决页面错误(用于各种“写入时复制”和“写入时分配”目的),如何在CPU之间调度所有工作,发生多少任务切换以及速度有多快,互斥/如何futexes被处理等

如果我们谈论的是1980年代的处理器,如8086或68000,那么这将是有效的,每条指令都将在固定的时间内运行。

现代处理器变得非常难以手动进行基准测试,因为他们采用了许多技巧来使指令运行得更快,大型缓存,流水线,无序指令执行等。最好的方法是为代码计时。 在进行基准测试时,您还应该考虑在其他核心中运行的代码的影响。 根据处理器的总体负载,您的进程可以以不同的速度运行,例如最新的i7芯片。

暂无
暂无

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

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