由于引入SMT会导致核心设计更加复杂,静态功耗、漏电会更难控制,这对于移动设备是致命的。 这也是为什么SMT在PC和服务器上大行其道这么多年,手机上几乎看不到的原因。 圖形驅動程式及最新版本 GeForce驅動程式 Radeon驅動程式 圖形驅動程式及最新版本 GeForce驅動程式 Radeon驅動程式 為了更好的遊戲體驗,請確認各硬體的驅動程式是否最新版本。 那問題來了,假若AMD Zen3真的是SMT4好了,除了工作管理員的邏輯CPU數量更加嚇人外,對AMD有沒有任何好處? 如果追求极致性能且自己确切不需要那么多多线程性能,自然可以关掉。
- 因为现在的多核大战,无论是PC还是手机,多线程性能绝大部分时候都是多余的,除了跑分和极端应用,很少能用到多核性能,要指望它们做更多的虚拟核心,估计近些年是看不到的。
- 资源冲突:此外,在SMT核心中,因为多个逻辑核心会共享很多资源,如果两个线程的性质比较接近,总是在使用类似的资源,那么它们会遭遇资源冲突。
- Hotfix 1.05還解決所謂memory_pool_budgets.csv修復,無法確認有效,事實上沒問題,該修復程式對分配給遊戲的大量記憶體沒影響,所有關於提高效能的評測都是不正確的。
- SMT2只需要在前端有两组维护不同任务上下文的单元就可以增加物理核心,以及加入SMT都是提升多任务性能的方式。
- 去年AMD公佈產品時程圖,確認Zen3已完成開發,並將於2020年下半年採用台積電用上EUV光刻技術的7nm+製程生產,然後網路上就冒出了Zen3將支援「SMT4」的傳言,講的白話一點就是單核心四執行緒,是現有Zen的2倍。
- 线程隔离是一个非常复杂和繁琐的过程,如果隔离不彻底,那么会导致执行错误、以及隐私泄漏的问题。
- 比如Intel的Atom线最开始在非乱序核心中是有HT的,后面因为引入了乱序执行后,后端已经被填的很慢了,引入SMT的开销会大于其收益,自Silvermont后就没有SMT了。
單執行緒效率對於一般個人電腦更是重中之重,最起碼還有遊戲需求這個不得不關照的重點市場。 多线程维护开销:我们上面的例子中比较理想的展示了SMT的效果,但也没展现出SMT的一些代价。 一个物理核心如果引入多个线程,那么是要协调、隔离多个线程的,这会引入额外的开销。
amdsmt: 文章被以下专栏收录
这时候,为了将这些资源物尽其用,同步多线程SMT就应运而生了。 SMT的思路是这样的,既然一个任务填不满后端的资源,那么我们就找不只一个任务来填就好了,不同任务之间的相互依赖和冲突情况很低,放到一起来执行正合适去填满后端资源。 除了频率以外,要提升CPU的单核性能,第一个常见手段就是尽可能的缩短每个指令执行的周期,不过在我们假设的这个场景中和SMT关系不大,这里就不说了。 虽然说这个任务1理论上是得一个指令接着一个指令的执行,但实际上这些指令并一定只能这么顺序执行,只要两个指令之间没有相互依赖和冲突,那么就可以并发执行(一起执行),从而缩短总的执行时间。 例如在上面这个例子中,我将指令分组成A B C amdsmt D四组,组内必须顺序执行,组间的指令完全没有依赖(彼此不依赖对方执行后的数据)和冲突(不共享资源,不是一类操作),那么我们就可以并发执行这些指令。
換言之,包2顆Chiplet的16核心的Ryzen X就是64執行緒,包8顆Chiplet的64核心的EPYC 7742則是駭人聽聞的256執行緒。 但其实没有真假之别,一个核心的两个逻辑核心情况下,两个逻辑核心是完全对等的,没有真假之分。 无论你使用A逻辑核心还是B逻辑核心都一样,无论你绑定哪个逻辑核心,只要不同时用,那么哪个逻辑核心都约等于是完整占用的物理核心。 导致功耗增加:SMT整体的思路是略微牺牲单核性能/能耗比,换取大多数情况下的多线程时的单核性能和能耗比,那么对应的加入SMT后单核的能耗比会有些许倒退。
amdsmt: 文章被以下专栏收录
反正也用不到那么多线程,享受不到SMT的好处,还不如索性关了,杜绝一切可能的开销,也更容易超频了。 所以其实核心越多的,越适合关闭SMT,至于还在用4核心之类的就别关了。 线程安全问题:两个线程在同一个核心内执行,是需要严格隔离它们的上下文的,线程A不能访问修改其他线程的资源。
SMT2只需要在前端有两组维护不同任务上下文的单元就可以增加物理核心,以及加入SMT都是提升多任务性能的方式。 因为SMT提供的是虚拟核心,所有虚拟核心共享很大一部分的资源,通常加入SMT技术只需要在前端额外增加一部分资源(毕竟两个任务是两个上下文)就可以。 例如Intel曾经就披露过,奔腾4增加HT技术只需要多花费5%的核心面积,就可以增加15-30%的多线程性能,而如果增加物理核心,增加多少性能,就至少要增加多少比例的核心数量,性价比显然不如SMT。 那么这时候整个执行时间就变成了6N,比起之前的7N又提升16.7%的速度。 在我们这个例子中,两个任务并发后,只有PB端口空闲了1N个周期。 另外SMT技术虚拟出来的核心不一定是2,例如在IBM的Power,Oracle的SPARC,上就SMT8了,我们可以通过引入更多的SMT虚拟核心,来进一步压榨利用率,只不过随着SMT虚拟的核心增多,提升的比率是在下降的。
amdsmt: 文章被以下专栏收录
那么CPU的速度就只和CPU的频率相关了,显然这也不符合我们的认知,不同CPU在相同频率下的性能显然不一样。 Hotfix 1.05還解決所謂memory_pool_budgets.csv修復,無法確認有效,事實上沒問題,該修復程式對分配給遊戲的大量記憶體沒影響,所有關於提高效能的評測都是不正確的。 如果問筆者,「真正的K10」Zen微架構到底有哪個地方最讓人感慨萬千,大概就是AMD落後Intel整整「15年(2002年二月 vs. 2017年三月)」的同時多執行緒(SMT)了。 去年AMD公佈產品時程圖,確認Zen3已完成開發,並將於2020年下半年採用台積電用上EUV光刻技術的7nm+製程生產,然後網路上就冒出了Zen3將支援「SMT4」的傳言,講的白話一點就是單核心四執行緒,是現有Zen的2倍。
貿然倍增執行緒數量,恐怕未蒙其利反倒先受其害,光作業系統能否支援加倍的邏輯處理器,恐怕就是一個大問號了。 因为现在的多核大战,无论是PC还是手机,多线程性能绝大部分时候都是多余的,除了跑分和极端应用,很少能用到多核性能,要指望它们做更多的虚拟核心,估计近些年是看不到的。 此篇知識可能不適用於所有同類型/系列的產品,部分畫面選項或操作步驟可能會因為軟體版本的不同而有差異。 很多人经常问,在Windows的任务管理器里,到底哪个核心是真的,哪个是虚拟的? VT技術屬於Windows官方自帶合法開放加速技術,默認為關閉選項,透過手動打開達到模擬器加速運行。 如果你對於硬體世界充滿好奇,想多了解這些別的地方看不到的觀點,不妨追蹤我們的最新訊息,填上email看看免費文章不吃虧。
amdsmt: 文章被以下专栏收录
這個根本的原因其實不完全因為 Windows ,可以說 AMD 也有點關係。 Multi-Threading 是將執行緒同步處理(多核心或多CPU)後轉化為指令集同步處理(同一個CPU內),SMT是將單一實體處理器從多個硬體執行緒上同時分派指令的技術。 就現階段處理器來看,Intel 的 HT 技術與 SMT 技術非常近似,不過據國外媒體敘述,Windows 10 的調度程式雖然可以將 Intel HT 當作低於主要核心的執行緒,但 Ryzen 的 amdsmt SMT 卻無法如此處理。
由CDRP與AMD合作解決AMD amdsmt SMT改進,不需修改文件,某些4核和6核AMD Ryzen處理器有改善,但8、12和16核Ryzen處理器沒改善。 當然,我們也不能不排除AMD真的把頭洗下去,但具備調整的彈性,例如同樣核心的EPYC和Threadripper,前者因伺服器需求開SMT4但時脈較低,後者因桌上應用僅SMT2但時脈較高的狀況,這倒是蠻值得各位科科觀察一下的可能性。
所以最理想的情况下,如果一个核心有两个线程,那么两个线程的总执行时间会更快,但是如果细分到每一个线程的执行时间,会比分别执行来的慢一些。 Intel的SMT技术是我们认知最广泛的,早在2002年的Pentium 4上(应该是Pentium amdsmt 4的E)和Xeon上,Intel就把SMT技术包装成Hyper Threading,并推向市场了。 之后因为架构切换,在酷睿诞生初期暂停过一段时间,而自从Core i7 960这个划时代的酷睿后,就一直是Intel中高端CPU的标配了。 Intel的超线程一直都是SMT2,也就是一个物理核心虚拟出两个核心,也就是逻辑核心。 AMD最新的Zen系列CPU,也同样加入了SMT2的超线程,现在超线程技术可以说是PC和服务器CPU的标配了。 相信到这里,大家已经明白,SMT是有利有弊的,SMT不是绝对的好,也不是绝对的坏,只有最合适的SMT配置。
最初是對Xbox和Playstation主機修補,而PC的修補也可以。 Microsoft Hotfix amdsmt KB 更新後,請重新開機進到BIOS設定畫面並開啟SMT功能,SMT功能將能正常運作。 X86處理器微架構因開發時間漫長,所費不貲,難以針對不同市場開發全新的架構,導致Intel和AMD都必須根據市場需求和公司策略,設法在伺服器、桌機、筆電之間尋求平衡,也必須有所取捨。