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

tangyong_delphi 2006-06-19 09:49:29
http://searchsmallbizit.techtarget.com.cn/tips/46/2291546.shtml
Intel双核与超线程的区别与联系
  在现有的计算机里,程序由多个执行线程组成的,这些线程是一系列相关指令。在个人电脑时代早期,大多数程序仅含有单个线程。当时的操作系统在某一时间仅能运行一个此类程序。由于系统不能同时处理两项任务,下一个任务必须等到上一个任务处理结束时才能处理,后来的操作系统创新引入了多任务处理,从而能够挂起一个程序,以运行另一个程序。通过使用这种方式来迅速地切换程序,系统能够“看上去”同时运行多个程序。然而,事实上处理器一直运行的仅仅是单个线程。
  2003 年,Intel在自家的至强上应用了新的技术:超线程技术,
  超线程技术是在一颗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同时可以处理一个整数运算和一个浮点运算。这样大大的改善了之前的资源浪费情况。提高了运行效率。这就是超线程技术
 当然,新的问题也同时诞生了,如果同时只进行整数运算或者只进行浮点运算呢?这样的话,CPU就无法享受HT技术了,在只进行整数运算或只进行浮点运算时,HT技术是不起作用的。
 那么,怎么改善这种情况呢?OK,双内核技术解决了这个问题.
双内核处理器因为具有两个完整的内核,所以同时可以进行两个整数或者两个浮点运算,这样极大的提高了系统的利用效率,从而推动了系统性能的提升。
  又是但是,现在又回到单核心处理器遇到的问题,另外一个单元在双内核处理器里不是还是闲置么?有人说过双内核CPU不可以支持HT技术么?
  支持超线程技术的双核心处理器
 这种设计带来的好处是前所未有且显而易见,但是唯一的坏处就是较高的制造成本,所以现在拥有超线程技术的双内核处理器只有在高端的Pentium EE和一部分Xeon上才拥有。我们知道,在支持超线程的处理器的机器上,支持多CPU的WINDOWS会认出两个CPU。而在支持双内核处理的机器上,WINDOWS也会认出两个CPU,在支持超线程双内核的处理器上,WINDOWS会认出四个CPU!哦,这就开始牵扯到一个软件授权的问题了。
软件支持
  我们知道,以往的软件,凡是为多路CPU做过优化的软件一般都需要付出额外的资金来获得对多路CPU的支持。比如最典型的Windows,在服务器操作系统上,如果需要支持更多处理器的Windows,就需要支付更高的价钱。但是这个问题不会发生在装备双核心处理器的电脑上,微软和多家软件公司以及承诺最后的收费标准是按照物理CPU数量来决定而不是CPU核心的数量来决定。那么大家关心的兼容性问题呢,是不是会造成软件不兼容的情况呢?答案是否定的,双核心系统在运行没有对其进行优化的软件时和单核心系统不会有什么差异。因此不会造成早先的软件在新处理器上出现兼容性问题。
...全文
3277 42 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
DNSYXW 2006-10-29
  • 打赏
  • 举报
回复
受启发
wangxiaoyun_1 2006-10-29
  • 打赏
  • 举报
回复
学到了不少,不过有些问题还是不明白。
Radioboy 2006-10-29
  • 打赏
  • 举报
回复
受教了
不算特明白
佛萍 2006-10-23
  • 打赏
  • 举报
回复
学习
sjfkey001 2006-10-20
  • 打赏
  • 举报
回复
学习
zhangkunming 2006-10-17
  • 打赏
  • 举报
回复
枪手。。。建议把操作系统知识仔细学习``
guinh3 2006-10-04
  • 打赏
  • 举报
回复
学习
  • 打赏
  • 举报
回复
楼主转的文章有一些问题。
比如这段:
============================================================
 因为在CPU中多集成了一个逻辑处理单元,这个多集成的逻辑处理单元可以使用另外一个逻辑处理单元不使用的资源。这样,在同一时间里,CPU同时可以处理一个整数运算和一个浮点运算。这样大大的改善了之前的资源浪费情况。提高了运行效率。这就是超线程技术
 当然,新的问题也同时诞生了,如果同时只进行整数运算或者只进行浮点运算呢?这样的话,CPU就无法享受HT技术了,在只进行整数运算或只进行浮点运算时,HT技术是不起作用的。
============================================================

这种说法似是而非。从Pentium开始,x86就采用了超标量技术,有两个整数和一个浮点运算单元。整数单元之间(有一定限制,至少对早期Intel处理器是如此),整数和浮点单元之间,是可以并行执行指令的。也就是说在同一时间,最多可以有三条指令并行。
这种技术80年代就出现了,叫做超标量,不是什么“超线程技术”。

HT的实现,实际上是把整数单元模拟成一个简单一些的CPU(不支持超标量),在一段时间内固定执行一个线程的指令,而浮点单元是共享的。所以一个单元执行浮点指令的时候,另一个单元是不能执行浮点指令的。但是通常两个整数运算是可以并行的。
jintian01 2006-09-04
  • 打赏
  • 举报
回复
20 14 是流水线
xdk 2006-09-04
  • 打赏
  • 举报
回复
我的P4 2.8E开HT后,经常死机,上网搜索一下,才知道HT与IE有冲突,,,哎.
T_back 2006-08-05
  • 打赏
  • 举报
回复
通过阅读楼主的文章,我对超线程和双核的理解是:
超线程就好比是公路上架一个天桥,人车可以同时通过
双核技术就好比立交桥,可以同时通行几辆车
不知对不对!
cxxylce0 2006-08-05
  • 打赏
  • 举报
回复
AMD 的 X2 也是超线程的,能看到 2 个逻辑 CPU
ztony007 2006-08-03
  • 打赏
  • 举报
回复
学习了
  • 打赏
  • 举报
回复
学习了!
tongshushan 2006-08-03
  • 打赏
  • 举报
回复
接分!
cxxylce0 2006-07-28
  • 打赏
  • 举报
回复
P4 有 20 级 HT,AMD 只有 14 个 HT
Tirecoed 2006-07-22
  • 打赏
  • 举报
回复
刚才打错了。
受教!CPU越来越强,就怕软件越来越大,到头来计算机的直观反应速度并没有明显的提高。
Tirecoed 2006-07-22
  • 打赏
  • 举报
回复
受教!CPU越来越强,就怕软件越来越大,到头来计算机的直观反应速度并没有明显不提高。
cxxylce0 2006-07-20
  • 打赏
  • 举报
回复
Inter 的赛扬比 AMD 的好多了,不但集成 256MB 内存,还有双核,而且都 3GHz 了。AMD 3000+ 才 1.8GHz,卖的那么贵,虽然有 HT 技术,但是不像 Inter 那样是双 CPU。
wys_sans 2006-07-18
  • 打赏
  • 举报
回复
还是值得一学的,毕竟双核时代已经来临,如果再上超线程的话,那真是太爽了,这样运行大型后台就不会跟现在这样,慢悠悠了。
加载更多回复(22)

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧