双核CPU与超线程的原理与区别

来源:百度知道 编辑:UC知道 时间:2024/06/02 13:08:05

Intel双核与超线程的区别与联系

  〔导读〕:在现有的计算机里,程序由多个执行线程组成的,这些线程是一系列相关指令。在个人电脑时代早期,大多数程序仅含有单个线程。

  多线程、超线程,多内核

  在现有的计算机里,程序由多个执行线程组成的,这些线程是一系列相关指令。在个人电脑时代早期,大多数程序仅含有单个线程。当时的操作系统在某一时间仅能运行一个此类程序。由于系统不能同时处理两项任务,下一个任务必须等到上一个任务处理结束时才能处理,后来的操作系统创新引入了多任务处理,从而能够挂起一个程序,以运行另一个程序。通过使用这种方式来迅速地切换程序,系统能够“看上去”同时运行多个程序。然而,事实上处理器一直运行的仅仅是单个线程。

  2003 年,Intel在自家的至强上应用了新的技术:超线程技术,

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

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

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

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

  图1. 超线程技术支持在单个处理器内核上同时执行两个线程

  然而,超线程技术的性能提升受到了两个执行线程共享资源可用性的限制。结果,由于这些