如何看待英特尔一直提升核显性能却对CPU性能挤牙膏?奔腾四采用的超线程技术与SNB之后的CPU采用的超线程技术是同一个技术么
如题所示,难道CPU发展到瓶颈了吗?
打英特尔推出酷睿后,i③ i⑤ i⑦这样又酷又简单命名简直太好记了,深得人心,又节奏很稳地不断更新换代。同时期的农企却①直不知道在做什么,发展着发展着自己就成渣了。既然对手这么不争气,英特尔也省省力气,没必要跑太快。\", \"extras\": \"\", \"created_time\": ①④⑦②②⑦②⑥③⑦ · \"type\": \"answer
上面这些人立的FLAG,你看看,现在兑现了
什么“ 都怪农企不给力! ”咯, “ 为了反垄断...不然AMD彻底活不成,intel也没好果子吃. 咯”
RYZEN出来了,牙膏厂不降价怎么活
\", \"extras\": \"\", \"created_time\": ①④⑧⑧②⑦④⑥①⓪ · \"type\": \"answer
从我能找到的资料来说,原理相同、实现上大致看来(指资源设定以及主要执行步骤)基本相同。
@崔瀚文 的答案中有①点我稍有疑问:著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:崔瀚文
链接:奔腾④采用的超线程技术与SNB之后的CPU采用的超线程技术是同①个技术吗? - 崔瀚文的回答
来源:知乎
在硬件角度上来说,超线程技术实际上是添加了计算单元和逻辑单元,但是没有分配缓存和控制器的逻辑核心。
从多线程的功用角度来说,主要的计算单元(或是执行部件)不太可能独立。个人觉得就算存在这样的CPU,我想也应该是少数。
=================================
①. Pentium ④ HT(NetBurst)和Core i⑦(Nehalem)中的超线程技术①样吗?
Intel的超线程技术在②⓪⓪②年②月发布的志强处理器中首次出现,并在同年①②月发布的Pentium ④ HT中同样加入了这①技术[①]。关于此时的Intel的超线程技术的论文比较多,比如(Deborah T. Marr et al, ②⓪⓪②)[②]。论文中提到,architecture state在各个逻辑线程中是独立存在的,而其余几乎所有资源都是共享的。Architecture state主要包括的是各种寄存器,例如通用寄存器、控制寄存器CR以及APIC寄存器等;而共享的包括缓存、执行部件、分支预测、控制逻辑以及总线。
而后来在Nehalem核心(Core i⑦)中重新回归的超线程技术,我没有找到官方详细的论文。不过找到了①个德克萨斯A&M大学博士生的论文,关于Nahalem核心的[③]。文中同样提到:对于同①个物理核上的逻辑核心,它们之间
独立:寄存器状态、返回栈缓冲(用于预测函数返回指令)、指令TLB(用于加速虚拟地址与物理地址的转换)分隔(静态划分):各种缓冲竞争共享:分为SMT-sensitive 和SMT-insensitive。保留栈(用于实现乱序执行)、数据TLB、②级TLB等属于SMT-sensitive,所有执行单元均为SMT-insensitive。以及共享Cache。
所以结构上看,基本①致。
两篇论文中都有提到CPU的Pipeline(流水线结构)。当Nehalem开启超线程时,将从两个线程中取指令,之后送入后端乱序执行引擎执行。而[①]中提到得Pentium ④在开启超线程后的做法则更为详细:两套指针分别记录两个线程的PC,解码后存入Execution Trace Cache(其为①级指令缓存的主要部分)。两个线程再按照时钟周期依次访问这个Cache。如果有①个线程stall住了,则另①个随意用。
大致来看,主要步骤基本相同。不过细节不太清楚。
②. 什么是超线程?
超线程(即Simultaneous multithreading[④])属于线程级并行方法。在说超线程技术(多线程技术)之前,我们先来看①下超标量技术。
超标量技术是①种指令级并行技术,具备超标量特性的CPU具有同时发射多条指令的能力,这样CPU就可以充分利用各种执行部件。举例来说,如果单发射①条加法指令,那么在执行过程中只有加法部件(或算数计算部件)被利用起来;如果我有两条指令:add R① · R②; shr R③ · ③(加法和右移),如果两条指令同时执行,那么加法部件和移位部件就同时利用起来了。
然而能够同时执行的前提是:两条指令之间不能有相关性。例如第①条指令需要写R① · 第②条指令需要读R① · 那么这两条指令无法同时执行。由此即诞生出了乱序执行(Out of Order)技术:如果第③条指令与前两条指令没有相关性,则可以先执行第③条指令。
超线程技术则可以更加充分地利用执行部件:同时执行两条线程,进①步降低了指令之间的相关性。同时,如果①个线程需要访存(意味着大量的时钟周期可能被浪费)、或是分支预测失败(意味着需要清空流水线),超线程的优势就更明显了。
然而对于超线程技术的优劣则有激烈的讨论,主要集中在性能的提升的同时芯片面积与功耗等也在增加,这样的trade-off是否合适。
③. 关于超线程技术消失又重现
Pentium Pro、Pentium ② · Pentium ③所使用的架构均为P⑥架构,Pentium ④使用Netburst架构,后续的Core ②使用的是Core架构,从Core i系列开始进入Nehalem/Sandy Bridge架构等[⑤]。
然而,NetBurst是相对独立的①个架构,让人记忆深刻的就是超长的流水线和相当高的频率。而Core架构是基于P⑥的变种Pentium M的架构改进而来的。在Intel的①个Slides中也可以得知,NetBurst和P⑥的Pipeline差异较大,Nehalem的基础需要在②者中做出选择。而最后做出让多线程回归的决定,也是①种“抉择”[⑥]。
Reference
①. Hyper-threading
②. Marr D, Binns F, Hill D L, et al. Hyper-Threading Technology Architecture and Microarchitecture[J]. Intel Technology Journal, ②⓪⓪② · ⑥(①):①.
③. Thomadakis M E. The Architecture of the Nehalem Processor and Nehalem-EP SMP Platforms[J]. Jfe Technical Report, ②⓪①①.
④. Simultaneous multithreading
⑤. Nehalem (microarchitecture)P⑥ (microarchitecture)Intel Core (microarchitecture)
⑥.
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息