一种服务器CPU超线程技术的检测方法与流程

文档序号:12363235阅读:667来源:国知局

本发明涉及计算机软件开发领域,尤其涉及一种服务器CPU超线程技术的检测方法。



背景技术:

尽管提高CPU的时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。另外就是目前大多数执行线程缺乏ILP(Instruction-Level Parallelism,多种指令同时执行)支持。这些都造成了目前CPU的性能没有得到全部的发挥。因此,Intel则采用另一个思路去提高CPU的性能,让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓"超线程(Hyper-Threading,简称"HT")"技术。超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行速度。

采用超线程即是可在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程。

当前在服务器工厂段,必须检查服务器所安装的CPU是否符合要求,而由于 BIOS可以决定是否其用超线程,而超线程有对于CPU原始线程数目起到一定的决定作用,但是目前的CPU指令只能抓去在超线程启用或者停用的情况下的实际线程总数,并不能反映CPU真正的原始线程数目,从而使同款的有超线程的CPU在BIOS将超线程关闭的情况下误认为无超线程的CPU。



技术实现要素:

为了解决以上问题,本发明提出了一种服务器CPU超线程技术的检测方法,可以减少人力,物力及流程管理的成本。

本方法是针对工程功能测试时无法鉴别真正的超线程CPU所做的发明。

本发明的技术方案是:

一种服务器CPU超线程技术的检测方法,包括

①利用x2APIC(Intel可编程的最新一代中断处理器)对最大数目的中断数的计数,来确定是否相应的CPU支持超线程技术,无论BIOS是否将其启动或者关闭。

②如果x2APIC ID的数目是计数是奇数,即EDX的最后一位二进制数是1,就表示这款CPU是支持超线程技术的,如果是偶数,就表示这款CPU不支持超线程技术。

③传到源码服务器。

④如果决定上传到源码服务器, 这些提交的源码就会补丁包的形式添加到源码服务器的工作目录中。

本方法通过编写C++程序进行实现。

本发明的有益效果是

①通过这个方法的导入,使工厂的功能测试中可以避免将同款的超线程和非超线程的CPU装错,进而流到客户手中,导致客诉。

②通过此方法的导入,也减少了CPU物料管控的成本。

具体实施方式

下面对本发明的内容进行更加详细的阐述:

a)利用CPUID指令读取x2APIC的各个寄存器,EDX保存。

b)检测此计数是偶数还是奇数。

c)根据上一步的结果进行判断。

通过编写C++程序进行实现,工厂拿到程序后只需执行即可。

此方法可用在Nehalem架构以后的Intel CPU。

此方法可避免错误的CPU出货给客户。能较少工程及工厂的物料管控成本。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1