奔腾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运行 。结果如下:

关闭超线程
【奔腾4相当于酷睿几 奔腾4处理器】
打开超线程 。
可以看出超线程带来的性能提升在30%左右,这已经可以看作是额外的空两个物理核(10600K VS 9700K)
牙膏厂10100F至于牙膏厂,我试用了10100F的cpu-z 。
多线程推广好像比AMD少一点


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


推荐阅读