超线程技术和多核是一回事?
超线程技术和多核不是一回事。
超线程HT(Hyper-Threading)技术是在单个核心处理单元中集成两个逻辑处理单元,也就是一个实体内核(共享的运算单元),两个逻辑内核(有各自独立的处理器状态),在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,使用超线程技术的处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代使用超线程技术的P4 的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。
从实质上说,超线程是一种可以将CPU内部暂时闲置处理资源充分"调动"起来的技术。虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每各CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。
多内核(multicore)是指在一枚处理器(processor)中集成两个或多个完整的计算引擎(内核)。多核技术能够使服务器并行处理任务,此前,这可能需要使用多个处理器,多核系统更易于扩充,并且能够在更纤巧的外形中融入更强大的处理性能,这种外形所用的功耗更低、计算功耗产生的热量更少。多核技术是处理器发展的必然。
从中可以看出,把两个技术分开看,还真有相似的地方,都是一个变成了多个;但是超线程技术是从逻辑上把一个内核模拟成两个(或者多个,虽然现在只实现了两个),性能是达不到两个物理内核的性能的;而多核心技术直接集成多个物理核心,性能是实打实的多核心性能。不过现在的处理器中,常常都是超线程技术和多核技术同时使用在一个处理器上,或者为了区别产品线,只使用核心技术,但没有只使用超线程技术的处理器了。像Intel的9代处理i3到i7的低端型号都是多核心处理,只有部分i7高端型号、i9和最低端的G系列才集成了超线程技术。
超线程由于处理器实际上只有一个核心,能够提升的效能约为5~15%左右,且万一发生资源互抢的情形时,整体效能反而会下降。双核共用cache,程序设计合理性能可能比双处理器性能更好,多处理器可能还需在两个cache间传输数据。超线程技术和多核的区别如下图所示。
谢谢阅读,我是被生活给了当头一棒的人,我专注于科技领域,对这方面感兴趣的可以关注我。如果这篇文章对你有用,请随手点个赞。如有不同见解,欢迎回复讨论和转发。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有