国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英特爾和AMD能否效仿蘋果M1芯片?

我快閉嘴 ? 來源:神譯局 ? 作者:神譯局 ? 2020-12-14 15:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

蘋果今年最大的亮點也許不是手機,而是一塊小小的芯片。M1發布會雖然已經過去了一陣子,但圍繞著它的討論依然不見平息。不過,對它的討論很多都不在點子上,在技術方面解釋得既不夠深入也不夠易懂。在這方面,Erik Engheim在Medium上發表的這篇文章也許是最詳細最易懂的技術指南了。閱讀本文,你將了解以下幾點:1)為什么M1會這么快?2)蘋果是不是用了什么獨門絕招才做到這一點?3)英特爾AMD能不能效仿?原文標題是:Why Is Apple’s M1 Chip So Fast?篇幅關系,我們分兩部分刊出,此為第二部分。

劃重點:

CPU提高性能的兩種策略:要么跑快點,要么跑多點,但跑快點這條路已經走到盡頭

跑多點也有兩種策略:增加內核,或者亂序執行(OoO),蘋果走的是后面這條路

AMD和Intel的亂序執行要比M1遜色

因為體系架構問題,英特爾和AMD沒機會趕上蘋果的CPU了

任何CPU想要快速運行都要面臨的根本挑戰

所以說,異構計算是部分原因,而不是唯一的原因。M1上面所謂的快速通用CPU內核Firestorm確實很快。跟過去與英特爾和AMD的內核相比較弱的ARM CPU內核相比,這是一個重大差異。

在對標中,Firestorm擊敗了大多數的英特爾內核,幾乎擊敗了最快的AMD Ryzen內核。按照傳統觀點的話,這是不可能的。

在討論是什么導致Firestorm跑得這么快之前,我們先要了解讓CPU跑得快的核心思想是什么。

原則上,你可以結合以下兩種策略來實現:

串行更快地執行更多的指令。

并行執行大量指令。

上世紀80年代的時候,做到這一點很容易。只需要增加時鐘頻率,指令就能加快完成。時鐘周期是CPU工作的最小時間單位,是計算機執行某項操作的時候。不過這想操作可以是很微小的操作。所以,一條指令可能由多個較小的任務組成,因此可能需要多個時鐘周期才能完成。

但是,現在再想提高時鐘頻率已經幾乎不可能了大家嘴里反復絮叨的“摩爾定律的終結”真的來了。

所以,現在其實就剩下并行執行盡可能多的指令這條路了。

多核還是亂序處理器

這條路也有兩種走法。一種是增加更多的CPU內核。從軟件開發者的角度來看,這就好比增加線程。每個CPU內核就像一個硬件的線程。如果你還不知道什么是線程,可以把它看作是執行任務的過程。一個CPU有兩個內核的話,就可以同時執行兩項單獨的任務:兩個線程。這些任務可以描述為兩個獨立的程序存儲在內存當中,或者實際上也可以是同一程序執行兩次。每個線程都需要做一些記錄,比方說本線程目前在一系列程序指令當中的位置。每個線程都可以存儲臨時結果,而且應該是獨立存放的。

原則上,只有一個內核的處理器也能跑多個線程。不過,在這種情況下,它只是把一個線程暫停并保存當前進程,再切換到另一線程運行。稍后再切換回來。這種做法并不能帶來太多的性能增強,只是在線程可能經常要停下來等待用戶輸入,或者網絡連接速度慢要等數據的時候使用。這些可以稱之為為軟件線程。硬件線程意味著擁有真正的額外物理硬件,比方說額外的內核,可以加快處理速度。

問題在于,開發者得會寫代碼來利用這種優勢。其中的部分任務(比方說服務器軟件)是很容易寫的。你可以想象分別處理每一位連接用戶。這些任務互相之間獨立性太強了,以至于擁有大量內核是服務器(尤其是基于云的服務)的絕佳選擇。

這就是為什么你會看到類似Ampere之類的ARM CPU制造商會制造像Altra Max這樣的CPU的原因,這款處理器有著瘋狂的128核!這種芯片是專門為云計算準備的。你不需要瘋狂的單核性能,因為在云端,關鍵是在盡可能節能的情況下讓盡可能多的線程來處理盡可能多的并發用戶。

相比之下,蘋果則處在另一端。蘋果制造的是單用戶設備。多線程并不是優勢。他們的設備主要用來玩游戲,視頻編輯,做開發等。他們希望臺式機有漂亮的響應性好的圖形和動畫。

桌面軟件一般不會用很多的內核。比方說,8核也許能讓計算機游戲受益,但是像128核之類的東西完全就是浪費。相反,你需要更少但更強大的內核。

亂序執行的機制

有趣的來了,亂序執行。亂序執行可以并行執行更多指令但又不用做成多線程的方式。開發者不必專門寫軟件就能利用這種能力。從開發者的角度來看,似乎每個內核都跑得更快了。

要想了解其工作原理,你需要先了解一些有關內存的知識。請求訪問內存特定位置的數據是很慢的。但是,獲取1字節數據的時延跟獲取128字節的數據的時延卻沒有分別。數據要通過我們所謂的數據總線來發送。你可以把數據總線看作是內存與數據通過的CPU不同部分之間的一條通道或管道,數據就是通過這條管道來傳輸的。實際上,當然那只是一些導電的銅線。如果數據總線足夠寬的話,就可以同時存取多個字節。

所以,CPU一次會執行一大塊的指令。但是是按照次序一條接一條地執行的。現代的微處理器則會做所謂的亂序操作(OoO )。

這意味著他們能夠對指令緩沖區進行快速分析,弄清楚哪些指令依賴于哪個指令。不妨看看下面這個簡單的例子:

01: mul r1, r2, r3 // r1 ← r2 × r3

02: add r4, r1, 5 // r4 ← r1 + 5

03: add r6, r2, 1 // r6 ← r2 + 1

乘法往往一般都很慢。可以這么說,乘法需要多個時鐘周期來執行。第二條指令只能等,因為它的計算要取決于知道了放進r1寄存器的結果才行。

但是,第3行的第3條指令就不需要依賴于之前的指令的計算。所以,亂序處理器可以并行計算這條指令。

不過在現實當中我們談論的是數百條指令。CPU能夠找出這些指令之間的所有依賴關系。

它會通過查看每條指令的輸入來對其進行分析。指令的輸入是否取決于一或多條其他指令的輸出?所謂的輸入和輸出,是指包含有之前計算結果的寄存器。

比方說,add r4,r1、5這條指令要依賴mul r1,r2,r3所輸出的r1。我們可以把這些關系鏈接在一起,形成CPU可以處理的詳細圖譜。其中節點是指令,而邊則是連接它們的寄存器。

CPU可以對這樣的節點圖譜進行分析,然后確定可以并行執行哪些指令,以及哪些指令中繼續執行之前需要在什么地方等待多個相關計算的結果。

很多指令會早早就執行完畢,但我們沒法對結果進行官宣。我們不能保證結果;否則的話,我們會以錯誤的順序提供結果。在外界看來,它得看起來就像是按照發出的指令順序執行的。

就像堆棧一樣,CPU會從頂部彈出已完成的指令,直到找到未完成的指令。

這個解釋還不夠完善,但應該能提供一些線索了。基本上就是,你既可以實現程序員必須知道的那種并行性,也可以實現那種CPU假裝是一切都是單線程執行的樣子。不過,你知道,在幕后,它正在執行亂序的黑魔法。

正是出眾的亂序執行能力使得M1的Firestorm內核可以狠狠地踢前作的屁股,揚名立萬。實際上,它比英特爾或AMD的任何產品都要強大。可能比主流市場上的任何產品都要強大。

為什么AMD和Intel的亂序執行要比M1遜色?

在對亂序執行(OoO )的解釋當中,我跳過了一些重要的細節,這里需要談一下。否則的話,就沒法理解為什么蘋果能夠在這場游戲當中領先,為什么英特爾和AMD可能沒法趕上。

我所說的“scratchpad”實際上就是所謂的“重排序緩沖器(ROB)”,里面并不包含常規的機器代碼指令。不是那種CPU從內存獲取要執行的東西。這些是CPU指令集體系結構(ISA)里面的指令。就是那種我們稱之為x86、ARM、PowerPC等的指令。

但是,在內部,CPU會用程序員看不到的完全不同的指令集。我們稱之為微指令(micro-ops或μops )。ROB里面都是這些微指令。

對于CPU施展魔法來讓東西并行運行來說,這個地方可以做的事情要實際得多。原因是微指令的范圍很廣(包含有很多的位),并且可以包含各種元信息。你沒法把那種信息添加到ARM或x86的指令里面,而很多的元信息只有在當前執行的上下文之中才有意義。

我們可以這么看,就把它看作是你在寫程序的時候。你有一個公共API,這個API需要保持穩定并且所有人都能用。ARM、x86、PowerPC、MIPS就是這樣的指令集。而微指令基本上是用來實現公共API的專用API。

此外,對于CPU來說,微指令往往更易用。為什么?因為每一個微指令都只完成一項簡單的有限任務。常規的ISA指令可能更復雜,導致會發生很多事情發生,最終會變成成多個微指令。

對于CISC CPU來說,往往別無選擇只能用微指令,否則大型復雜的CISC指令會導致流水線和OoO幾乎沒法實現。

RISC CPU就有得選。比方說,小一點的ARM CPU根本不用微指令。但這也意味著做不了類似OoO之類的事情。

但是這又有什么關系呢?為什么這個細節對于理解為什么蘋果能夠壓倒AMD和英特爾非常重要呢?

那是因為CPU能跑多快要取決于往ROB裝填微指令的速度以及數量。填充得越快,能選擇出可以并行執行的指令的機會就越大,而并行執行則意味著性能的提高。

機器代碼指令被所謂的指令解碼器分解成微指令。如果能夠有更多的解碼器,我們就可以并行分解更多的指令,填充ROB的速度就可以更快。

在這一點上,蘋果的M1跟其他的CPU有很大的差別。英特爾和AMD最大微處理器內核有四個解碼器,也就意味著可以并行解碼四條指令分解出微指令。

但是蘋果卻有著瘋狂的8個解碼器。不僅如此,它的ROB大概比別人大3倍。基本上相當于可容納三倍規模的指令。其他主流芯片制造商的CPU沒有一個有這么多解碼器的。

為什么英特爾和AMD沒法多加點指令解碼器?

這就是RISC復仇的機會。而M1 Firestorm內核采用的是ARM RISC架構,這一事實開始變得重要起來。

你看,對于x86來說,一條指令的長度在1到15個字節之間。而在RISC芯片上,指令的長度是固定的。這種情況下固定長度為什么很重要呢?

因為如果每一條指令的長度都一樣的話,把一連串字節分解成指令,并行輸入給8個不同的解碼器這件事就變得微不足道了。

但是,如果是x86 CPU的話,解碼器都不知道下一條指令從哪里開始。它得分析每一條指令才能知道指令的長度。

英特爾和AMD采取的是暴力破解法,也就是在每個可能的起點對指令進行解碼。這意味著會有很多猜錯的時候,要把錯誤丟棄掉。這會造成解碼器階段十分復雜,繞來繞去,以至于很難再添加更多的解碼器。但是對于蘋果來說,相比之下增加更多的解碼器根本不算事兒。

實際上,添加更多解碼器會導致很多的其他問題,以至于對AMD來說,4個解碼器基本上就是上限了。

其結果是,在相同的時鐘頻率下,M1 Firestorm內核能處理的指令數量實際上是AMD和Intel CPU的兩倍。

有人則認為,因為CISC指令可轉化為更多的微指令,所以密度更大,這樣一來,解碼一條x86指令就類似于解碼兩條ARM指令。

只是在現實世界里面,情況并非如此。高度優化的x86代碼很少會用復雜的CISC指令。才能夠某種程度來說,它已經有點RISC風格了。

但這對英特爾或AMD毫無幫助,因為就算15字節長的指令很少見,造出來的解碼器也得處理。而這會導致復雜性,從而阻礙AMD和Intel添加更多的解碼器。

可是AMD的Zen3內核還是更快啊,不是嗎?

據我所知,最新的AMD CPU內核,也就是所謂的Zen3內核在性能基準測試是要比Firestorm內核快一些。但問題是,這僅僅是因為Zen3內核的時鐘頻率為5 GHz。而Firestorm內核的時鐘頻率為3.2 GHz。雖然時鐘頻率提高了近60%,但Zen3也只是勉強比Firestorm快一點。

那蘋果為什么不相應提高時鐘頻率呢?因為更高的時鐘頻率會導致芯片發熱。但那卻是蘋果的主要賣點之一。跟英特爾和AMD的產品不同,他們的計算機幾乎不需要制冷。

從本質上講,可以說Firestorm內核確實優于Zen3內核。Zen3只能靠加大電流并變得更熱來讓自己保持領先。而蘋果只是選擇不這么做而已。

如果蘋果想要提高性能的話,他們只只需要多加些內核就可以了。這樣一來,他們既可以降低功耗,又能提供更高性能。

未來

似乎AMD和Intel在兩個方面都陷入了困境:

他們沒有一個可以輕松從事異構計算和SoC設計的商業模式。

他們傳統的x86 CISC指令集反過來又給他們造成困擾,導致難以提高OoO性能。

當然,這并不意味著游戲結束了。他們是可以提高時鐘頻率,強化散熱能力,增加更多內核,擴充CPU緩存等。但這些方面他們也都處于劣勢。英特爾的情況最糟,一方面內核似乎已經被Firestorm擊敗,而且能跟SoC解決方案集成的GPU也很弱。

引入更多內核的問題在于,對于典型的桌面工作負荷來說,內核太多會導致收益遞減。當然,大量內核非常適合服務器。

但是在這個領域,像Amazon和Ampere之類的公司正在用128核的怪獸CPU發動攻擊。這就像是東線和西線同時開戰。

不過對于AMD和Intel來說,幸運的是,蘋果并沒有直接賣自己的芯片。所以,PC用戶只能接受他們提供的任何產品。PC用戶可能會投奔曹營,但這會是一個緩慢的過程。用戶不會馬上離開自己自己投入了大量資金的平臺。

但是,那些還沒有在任何平臺上面燒太多錢的年輕專業人,他們未來可能會慢慢地轉向蘋果陣營,擴大了后者在高端市場的份額,并因此進一步擴大其在PC市場所占的利潤份額。
責任編輯:tzh

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    463

    文章

    54010

    瀏覽量

    466057
  • 手機
    +關注

    關注

    36

    文章

    6996

    瀏覽量

    161010
  • 蘋果
    +關注

    關注

    61

    文章

    24600

    瀏覽量

    208365
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    被指存散熱硬傷,英特爾代工iPhone芯片幾無可能?

    電子發燒友網報道(文/吳子鵬)近日,一則關于蘋果芯片代工格局變動的消息引發半導體行業廣泛關注:有證券機構披露,蘋果計劃讓英特爾代工部分M系列
    的頭像 發表于 02-03 09:00 ?2645次閱讀

    英特爾炮轟,AMD回擊!掌機市場芯片之爭

    電子發燒友網報道(文/李彎彎)近日在CES展會期間,英特爾AMD在掌機芯片領域展開激烈交鋒。英特爾高管Nish Neelalojanan火力全開,抨擊
    的頭像 發表于 01-12 09:09 ?1798次閱讀

    超越臺積電?英特爾首個18A工藝芯片邁向大規模量產

    電子發燒友網報道(文/李彎彎)10月9日,英特爾公布了代號Panther Lake的新一代客戶端處理器英特爾?酷睿?Ultra(第三代)的架構細節,這款產品預計于今年晚些時候出貨。Panther
    的頭像 發表于 10-11 08:14 ?9103次閱讀
    超越臺積電?<b class='flag-5'>英特爾</b>首個18A工藝<b class='flag-5'>芯片</b>邁向大規模量產

    英特爾再次偉大,新CEO推動18A提前量產,14A已在路上

    知道目前英特爾有哪些地方面需要改進。 ? 要知道在全球半導體代工版圖中,英特爾曾長期占據統治地位。然而隨著臺積電、三星的崛起,這家芯片巨頭逐漸淪為“牙膏廠”的代名詞。此次陳立武臨危受命,能否
    的頭像 發表于 05-01 01:03 ?3687次閱讀
    讓<b class='flag-5'>英特爾</b>再次偉大,新CEO推動18A提前量產,14A已在路上

    英特爾AMD、TI等芯片巨頭遭訴訟;OpenAI 發布GPT-5.2

    英特爾AMD、TI等芯片巨頭遭訴訟,涉嫌“無視”其芯片流入俄羅斯 ? 一系列訴訟指控微芯片制造商英特爾
    發表于 12-12 10:37 ?2767次閱讀

    五家大廠盯上,英特爾EMIB成了?

    電子發燒友網綜合報道 最近,英特爾EMIB封裝火了,在蘋果、高通、博通的招聘信息中,都指出正在招募熟悉EMIB封裝的工程師。近期還有消息稱,由于臺積電CoWoS 先進封裝產能持續緊張,Marvell
    的頭像 發表于 12-06 03:48 ?7325次閱讀

    英特爾連通愛爾蘭Fab34與Fab10晶圓廠,加速先進制程芯片生產進程

    在全球半導體產業競爭日益白熱化的當下,芯片制造巨頭英特爾的一舉一動都備受行業內外關注。近期,英特爾一項關于其愛爾蘭晶圓廠的布局調整計劃,正悄然為其在先進制程芯片生產領域的發力埋下重要伏
    的頭像 發表于 08-25 15:05 ?880次閱讀

    美國商務部推進收購英特爾10%股份 估值約達105億美元

    據外媒報道;美國商務部正在積極推進收購英特爾10%股份。特朗普政府此前已經明確表示政府考慮將英特爾獲批的聯邦補貼轉換為英特爾股權;聯邦補貼就是此前的《芯片法案》撥款;估計為
    的頭像 發表于 08-20 12:25 ?746次閱讀

    美國政府將入股英特爾

    據彭博社報道稱,特朗普政府正在與芯片制造商英特爾進行談判,希望美國政府入股這家陷入困境的公司,隨后該公司股價周四上漲 7% 。 英特爾是唯一一家有能力在美國本土生產最快芯片的美國公司,
    的頭像 發表于 08-17 09:52 ?1105次閱讀

    看點:AMD服務器CPU市場份額追上英特爾 華為Mate80主動散熱專利曝光

    給大家帶來一些業界資訊: AMD服務器CPU市場份額追上英特爾 根據市場研究機構PassMark的統計分析數據顯示,AMD 公司在服務器CPU 市場取得重大進展,市占率首次達到50%,與競爭對手
    的頭像 發表于 07-25 14:41 ?1141次閱讀
    看點:<b class='flag-5'>AMD</b>服務器CPU市場份額追上<b class='flag-5'>英特爾</b> 華為Mate80主動散熱專利曝光

    使用英特爾? NPU 插件C++運行應用程序時出現錯誤:“std::Runtime_error at memory location”怎么解決?

    使用OpenVINO?工具套件版本 2024.4.0 構建C++應用程序 使用英特爾? NPU 插件運行了 C++ 應用程序 遇到的錯誤: Microsoft C++ exception: std::runtime_error at memory location
    發表于 06-25 08:01

    英特爾先進封裝,新突破

    在半導體行業的激烈競爭中,先進封裝技術已成為各大廠商角逐的關鍵領域。英特爾作為行業的重要參與者,近日在電子元件技術大會(ECTC)上披露了多項芯片封裝技術突破,再次吸引了業界的目光。這些創新不僅展現
    的頭像 發表于 06-04 17:29 ?1163次閱讀

    英特爾發布全新GPU,AI和工作站迎來新選擇

    英特爾推出面向準專業用戶和AI開發者的英特爾銳炫Pro GPU系列,發布英特爾? Gaudi 3 AI加速器機架級和PCIe部署方案 ? 2025 年 5 月 19 日,北京 ——今日,在
    發表于 05-20 11:03 ?1844次閱讀

    英特爾宣布裁員20% 或2萬人失業

    據外媒彭博社的報道,在當地時間4月24日,英特爾宣布裁員計劃,比例超20%。按照截至2024年底英特爾在全球擁有108900名員工來計算的話,預計此次裁員將波及大約2.2萬名員工。旨在精簡管理,并重
    的頭像 發表于 04-25 17:34 ?620次閱讀

    今日看點丨估值87.5億美元!英特爾出售旗下一芯片業務51%股份;AMD新款EPYC處理器完成流片

    1. 估值87.5 億美元!英特爾出售旗下一芯片業務51% 股份 ? 4月14日,英特爾宣布已與私募股權公司銀湖(Silver Lake)達成最終協議,將向其出售旗下可編程
    發表于 04-15 11:40 ?753次閱讀