本帖最后由 yumeyao 于 2012-7-19 18:24 编辑
大学里能学到什么层次,我也是了解的。
你有没有在大学学的东西之外,自己找例如intel官方的文档,或是网上一些对windows内核逆向/猜解的书之类的看过呢?
那请问HT的原理是什么(现在Intel处理器的寄存器有多少个?逻辑寄存器有多少个?在HT模式下寄存器是怎么命名,或者说分配的)?现代操作系统在进程切换的时候用到哪些东西?
推荐你找文档来看一下,就明白了。关键字:寄存器重命名技术。
这个象棋只是为了给cpu加压随手找的一个软件,线程/进程切换间的差距在这里不是重点。当然,如果你愿意,也可以开8个象棋每个都用1线程跑来模拟8个进程。。。。。。不过那就蛋疼了。
分数你可以自己回家跑一下。
ps,我机器是win7 sp1 64位。核心关对关错我觉得我没有造假的必要。
我想说的结论就是:
HT的优势是在于多出4个逻辑核心,即使ALU/FLU的数量完全被其中一方占满(当然现实中这几乎不可能),另一方也可以依靠寄存器的优势使得它至少在一种“待命”可以随时准备跑的状态,而不是被操作系统关到笼子里。这样在多任务且CPU占用率较高时是十分有用的。
另外针对象棋软件,我有个疑问就是这玩意8核,或者说8线程状态下真的能从算法上达到8倍效率么?我认为i5 8线程时数据急剧下降和这个可能也有关系。
由于按摩店的推土机也是伪8核(象棋应该是整数,但是推土机不仅阉割了FLU,解码前端也被阉割了,所以整数效率也不能是完整意义的8核),所以测象棋也不能代表完整意义。如果有牛人有双路CPU的可以验证一下。不过双路CPU的时候tmd内存又是个问题。。。。 |