奔腾4相当于酷睿几 奔腾4处理器

奔腾4处理器(奔腾4相当于核心)
2021年应该没人问我为什么买了个四核i3-10100,但是我在任务管理器里能看到八帧的问题 。随着牙膏厂在原来的Core I系列中重新加入超线程技术,超线程已经在消费级市场上不自觉的存在了十几年,并且已经成为一个普遍的特征 。众所周知,八帧比四帧性能高(FX系列除外) 。(首先牙膏厂的HT(超线程)其实应该叫SMT(同步多线程) 。至少AMD也是这么叫的,但是大家都习惯了HT,包括我 。)
超线程技术在2002年被牙膏厂植入奔腾4 HT 。据我所知,这是第一款面向消费级桌面平台的超线程处理器 。但由于当时的超线程技术还不成熟,缺乏软件和操作系统优化支持,这款奔腾4的超线程大多是负面的,于是英特尔将这一技术隐藏起来,直到2008年全新的酷睿I系列推出,超线程技术才重返消费市场,并一直沿用至今 。今天,从i3到i5,第10代和第11代酷睿都支持超线程 。2017年奔腾G4560的推出也标志着奔腾系列正式支持超线程 。今天好像只有赛扬还不支持超线程(笑) 。隔壁AMD第一代锐龙翻身后开始支持超线程,ZEN3实现全线超线程支持 。
超线程最明显的特点就是可以让任务管理器看到两倍核数的帧(当然IBM甚至可以把一个核当八个核用,这里就不提了) 。比如四核的i3-10100在任务管理器里可以看到八核 。或者系统软件会认为i3-10100处理器是八核,会按照最多八核的“事实”来调度应用的运行 。
超线程技术的基本原理这里不得不提两个概念:进程和线程 。我就不带大家回顾操作系统了,不然从一张图看不清楚 。简单来说,你可以把进程看成一个正在运行的程序,线程是这个程序执行的最小单位 。一个程序有很多函数,所以这些函数可以被多线程执行,所以一个进程可以包含一个或多个线程 。
讲一个常见的例子:高速公路收费站,车道+收费站+收费站工作人员 。一辆车(指令队列)排队进入收费站(前端发送单元) 。收费站需要核对车信息并收费(指令解码),指定车去哪个车道(执行单元:ALU运算器、FPU运算器、Cache……)
CPU最小的执行粒度是线程 。一般来说,一个物理内核一次只能执行一个线程 。也就是说,这条高速公路只能同时对一辆车进行检查和收费,一次指定一条车道 。第二辆车进来,要等第一辆车跑出这个车道,才放行第二辆车 。这时我们可以注意到,一辆车只会占用一条车道,而其他车道都是空,这意味着车道资源被极大浪费 。
这时,领导拍了拍大腿:现在只有一个收费站,那我们就在旁边再建一个吧!于是收费站变成了两个 。当第一个收费站放行车辆1到车道1时,第二个收费站发现车辆2需要进入车道3,这样车辆1和车辆2可以同时在车道内行驶,互不干扰 。而这大致就是超线程技术的实现方法 。
好了,你已经了解了超线程技术的基本原理 。现在让我们设计一个SIMD五级流水线RISC处理器!
通过超线程技术,处理器可以利用其他指令的空闲执行单元,将它们扔给其他指令,从而充分利用一个物理核的所有部分 。CPU在执行一个线程时原本不用的单元是空闲的,通过超线程技术可以尽可能的榨干CPU的每一寸晶体管 。Intel曾经说过,超线程技术只需要增加5%左右的核心面积,就可以提升20%左右的多线程性能 。根据操作系统的调度和应用程序的优化,这种性能的提升幅度并不都是一样的,但是像早些年奔腾4HT那样的超线程的负面提升再也不会发生了 。而且随着超线程技术和应用多线程优化水平的进步,无论是在游戏还是生产力上,超线程都有了明显的提升 。
企业5600X以农奇5600X为例 。这是一个6核12线程处理器 。我们分别在BIOS中关闭和开启SMT模式,运行chess运行和cpu-z运行 。结果如下:
关闭超线程
打开超线程 。
可以看出超线程带来的性能提升在30%左右,这已经可以看作是额外的空两个物理核(10600K VS 9700K)
牙膏厂10100F至于牙膏厂,我试用了10100F的cpu-z 。
多线程推广好像比AMD少一点

当然,如果把一个核“虚拟”成两个核,对多核的调度水平会有更高的要求 。同一个物理核中的两个虚拟核和两个不同的物理核之间存在巨大的性能差距 。上面的跑分已经证明了多线程会带来30%左右的提升,并不是一个核就能完全当两个核用 。下面是通过任务管理器限制程序处理器在一个核的两个线程两个核上运行得到的运行分数 。可以看出,限制在同一个物理核的情况下,性能只有真正双核运行的70% 。

通过限制程序在3C6T和6C6T上运行时,也会得到类似的数据 。牙膏厂U和农企U我都试过,在任务管理器中,同一个物理核的两个逻辑线程是相邻的 。例如,CPU0和CPU1是第一个物理核的两个逻辑线程,CPU2和CPU3是第二个物理核的两个逻辑线程,以此类推 。我的结论可以通过在任务管理器细节的进程右键菜单中设置相关性,限制进程和测试的核心分配来重现 。
当然,以上测试只是一时兴起,没有严格控制变量 。后台还有一个QQ,任务管理器的图表显示也会占用一部分处理器资源,大家玩得开心就好 。
简单回答一些可能的问题 。Q1:为什么这么棒的技术没有完全普及?
A1:超线程技术相对更适合一些流水线长而复杂,执行单元多的架构,用于提高晶体管利用率 。即使在一些更简单的架构中加入超线程技术,也是没有用的 。还不如存空多做一个核心 。
Q2:为什么手机处理器没有超线程技术?
A2:其实手机处理器有Atom Z2580 2C4T处理器(不过反应好像一般),之前和它有关联 。顺带一提,ARM也有cortex-A65AE,支持超线程,但不是手机用的 。我怀疑是因为八核比四核八线程好听,所以没做 。另外,相比超线程,为了闲置续航和功耗,移动端用大 。小核解决多任务并行,多余的任务直接扔到后台让小核运行,比一个大核两个超线程省电 。
问题3:超线程会损失单核性能吗?
A3:理论上,会的 。物理核的一个线程运行时,如果另一个线程需要执行新的任务,一旦发生资源占用冲突,必然会影响速度 。这种现象在高负荷下尤为明显 。我试过5600X单核棋4300分,单核双线棋6000分,相当于单线程降低到3000分的性能 。当然,以上只是极端情况 。对比我之前的CPU-Z测试截图,低负载下超线程的开启和关闭对单核性能的影响有限 。5600X完全可以算是测试误差,10100F影响更大,大概在5%左右 。
【奔腾4相当于酷睿几 奔腾4处理器】

    推荐阅读