到底是超线程的处理器好还是双核的处理器好?

来源:百度知道 编辑:UC知道 时间:2024/05/07 10:26:11

超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上能像两颗CPU一样在同一时间执行两个线程,这样,处理器需要多加入一个逻辑处理单元,而其余部分如整数运算单元(ALU)、浮点运算单元(FPU)、二级缓存(L2 Cache)则保持不变,这些部分是被分享的。

虽然采用超线程技术能同时执行两个线程,但它并不像两个真正的CPU那样,每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。

根据英特尔性能指标评测,通过在含有超线程技术的处理器上运行,采用多个线程编写的应用程序可获得高达 30% 的性能提升。更重要的是,两个程序能够同时在一枚处理器上运行,而无需来回切换(参见图1)。

我们能体会到的好处就是,当在运行一个巨大的游戏的时候,而CPU的占用率还没到100%,所以系统还能迅速的在DOC文档的攻略,浏览器搜索引擎里的秘籍以及播放自己喜欢音乐的Winamp中自由的切换。

然而,超线程技术的性能提升受到了两个执行线程共享资源可用性的限制。结果,由于这些共享资源之间的争用,超线程技术不能实现两枚独立处理器的处理吞吐率。如果想在单个芯片上实现更出色的性能提升,处理器就需要两个单独的内核,这样每个线程就能拥有其专属的整套执行资源。

这是一块单核心不支持HT技术的处理器

我们可以看到,当CPU在整数单元工作时,浮点单元是闲置的,而反过来浮点单元工作时,整数单元就闲置,当然这样就造成了CPU资源浪费,为了解决这个问题。HT超线程技术出现了。

支持超线程的单核心CPU HT(Hyper-Threading Technology)超线程技术:

因为在CPU中多集成了一个逻辑处理单元,这个多集成的逻辑处理单元可以使用另外一个逻辑处理单元不使用的资源。这样,在同一时间里,CPU同时可以处理一个整数运算和一个浮点运算。这样大大的改善了之前的资源浪费情况。提高了运行效率。这就是超线程技术

当然,新的问题也同时诞生了,如果同时只进行整数运算或者只进行