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

2020-03-16  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读