美文网首页
8核16线程?代表了什么?

8核16线程?代表了什么?

作者: 炎族族长炎天帝 | 来源:发表于2020-03-16 08:03 被阅读0次

    写在前面

    最近心血来潮装了一台主机,配置如下:


    配置图

    单主机的配件价格加起来8K出头,显示器是AOC的4k屏,主商务办公,刷新率只有60HZ,当时狗东价在1800左右。之所以没有等618降价促销的时候再买是因为实在忍不住了,想体验一把装机的快感,毕竟想着以后干不动程序猿了,回家开个电脑店也行,哈哈。

    另外这些配件基本都是我在淘宝淘的,再加上我自己做的公众号返还了一部分,其实价格比起618也高不了多少。


    image.png

    进入主题

    CPU我选的是AMD的3700X,比起Inter的i9 9900K 逊色了一些,但价格着实便宜了不少,性价比高。


    CPU天梯图

    在参数中可以看到,核心/线程为8核心16线程,这个代表什么意思呢?

    3700X参数

    超线程技术

    超线程技术(Hyper-threading )是英特尔发明的,在2002年首次应用在Xeon处理器和Pentium 4处理器上,在没有这项技术前,一个单核的CPU在同一时间内只能同时运行一个线程。

    image.png

    比如我们打开一个APP,首先显示正在加载中的Loading图,加载完成之后数据展示出来,这其实是两个线程,一个用于显示Loading图,一个用于加载数据,在单核单线程的CPU,运行如下图:

    single core

    可以看到,其实Loading和拉取数据的两个线程是交替执行的,之所以我们感知不到卡顿是因为CPU切换任务特别快,肉眼很难识别,而实际上,总的运行时间被拉长了。

    假设这两个线程的运行没有使用相同的CPU资源,运用了超线程技术就是下图的展示

    HT

    这样,操作系统认为存在了两个核心,会同时给它们分配任务执行,加快了任务的执行效率。

    而这实际上并没有增加CPU的核心数,但是在操作系统的视角上,一个物理核心,会被当做两个逻辑核心来处理,分配任务的时候,也是按照逻辑核心来分配的。

    当然效率并不是倍数的增加,毕竟CPU物理核心数依然为一个,虽然在逻辑上被当成两个来处理。

    总的来说,超线程技术更加适用于多线程处理的应用程序。

    image.png

    参考资料:
    https://en.wikipedia.org/wiki/Hyper-threading
    https://www.bilibili.com/video/av94339597/
    https://en.wikipedia.org/wiki/Multithreading_%28computer_architecture%29
    https://www.zhihu.com/question/20277695

    相关文章

      网友评论

          本文标题:8核16线程?代表了什么?

          本文链接:https://www.haomeiwen.com/subject/nrdwehtx.html