• 超线程 多核 多处理器区别


    1 超线程技术

    每个单位时间内,CPU只能处理一个线程(Thread)。除非有两个核心处理单元,否则要想在单位时间内处理超过一个的线程是不可能的。

    超线程HT(Hyper-Threading)技术是在单个核心处理单元中集成两个逻辑处理单元,也就是一个实体内核(共享的运算单元),两个逻辑内核(有各自独立的处理器状态),在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4 的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。

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

    2 多处理器

    多处理器(Multiprocessor)系统由不同芯片上的多个处理器组成。多处理器系统因IT服务器的应用在上世纪九十年代得以普及。在当时,它们是可以插入机架服务器的处理器主板。现在,多处理器系统可以构建在同一块电路板上,处理器之间通过一个高速通信接口连接。

    wps_clip_image-29943

    图1 多处理器系统具有远程互联结构的独立高速缓存与MMU内存管理单元

    多处理器系统的复杂度低于多核系统,因为它们本质是互连在一起的单芯片CPU。多处理器系统的不足在于其高昂的价格,因为它们需要多个芯片,这比单芯片解决方案要昂贵得多。

    3 双核与多核处理器

    双核处理器是指单个芯片上有两个CPU,而多核处理器则是指在单个芯片上包含任意多个(如2、4或8)CPU的处理器。多核处理器的挑战在于软件开发部分。系统性能提升的多少直接与通过多线程编程源代码的并行程度有关。

    wps_clip_image-26898

    图2 多核处理器共享具有短程互联结构的高速缓存和MMU内存管理单元

    4 总结

    超线程由于处理器实际上只有一个核心,能够提升的效能约为5~15%左右,且万一发生资源互抢的情形时,整体效能反而会下降。双核共用cache,程序设计合理性能可能比双处理器性能更好,多处理器可能还需在两个cache间传输数据,多核和超线程的区别如图3。

    wps_clip_image-12153

    图 3 超线程和多核区别

  • 相关阅读:
    [转]关于WM_NCHITTEST消息
    微信小程序的年月日-年月日选择器基于picker的mode = multiSelector日期范围
    解决移动端浏览器 HTML 音频不能自动播放的三种方法
    小程序反编译
    CSS实现背景透明,文字不透明
    event.target 属性返回哪个 DOM 元素触发了事件。
    微信小程序去除button边框
    jQuery setInterval倒计时精确到毫秒
    获取openid [微信小程序]
    array_column() 函数[二维数组转为一维数组]
  • 原文地址:https://www.cnblogs.com/jacksu-tencent/p/3362483.html
Copyright © 2020-2023  润新知