《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電子元件 > 業(yè)界動態(tài) > 漫談hotchip 2020 CPU: ARM服務(wù)器

漫談hotchip 2020 CPU: ARM服務(wù)器

2020-09-03
來源:EETOP
關(guān)鍵詞: Marvell ARM ThunderX3 芯片

  今年的hotchip上marvell展示了其基于ARM架構(gòu)的Thunder X3服務(wù)器芯片,。Marvell在fabless廠商中應(yīng)該算是鼎鼎大名,,從硬盤控制芯片起家至今,已經(jīng)發(fā)展成為包含豐富產(chǎn)品線的綜合性公司,。其中ARM處理器產(chǎn)品線,除了這次展示的服務(wù)器芯片Thunder系列外,還包括面向無線通信基站的基帶及智能射頻的Octeon系列,,以及低功耗的應(yīng)用級Armada系列。不過Thunder并非Marvell自家研發(fā),,而是在2017年花費60億美元收購了Cavium獲得,。并不為大多數(shù)人所知的是,這并不是Marvell第一次嘗試ARM服務(wù)器的設(shè)計,。

  早在2006年,,Marvell通過收購intel的通信及應(yīng)用處理器業(yè)務(wù)Xscale獲得了ARM指令集的授權(quán),資料源碼和設(shè)計團隊,。在2010年左右Marvell開始著手設(shè)計基于ARM v8的服務(wù)器芯片,,當(dāng)時的設(shè)計主要來自原Xscale的美國團隊,上海部門也有部分人員參與,。

  彼時是ARM服務(wù)器的第一波熱潮,,都對ARM能夠替換X86報有很大的期待,,研發(fā)也持續(xù)了幾年時間。不過最后的結(jié)果并不如人意,,由于種種原因這款芯片沒有走到tape-out就夭折了,,加之當(dāng)時Marvell深陷和卡耐基梅隆的專利官司,股價一跌再跌,,同時其他參與ARM服務(wù)器研究的公司也紛紛退出,,最終這項充滿不確定和挑戰(zhàn)的項目遺憾的被砍掉,國外的設(shè)計團隊也整體轉(zhuǎn)給了ARM,,之后ARM cortex A系列的幾款處理器就出自這個設(shè)計團隊,。

微信圖片_20200903162326.png

  不過Marvell也一直不死心,隨著thunder系列處理器收歸囊中,,從thunder X2開始,,ARM服務(wù)器似乎開始走運了。從新聞上發(fā)布的消息來看,,這款處理器銷量不錯,,比如美國能源部旗下桑迪亞國家實驗室的超級計算機“Stra”,就使用了145152個ThunderX2核心,;洛斯阿莫斯國家實驗室和法國原子能機構(gòu)CEA的超算系統(tǒng)也是基于Thunder X2打造,。

  在商用領(lǐng)域,微軟內(nèi)部也正為Azure部署基于ThunderX2 的量產(chǎn)級服務(wù)器集群,,主要針對Project Olympus平臺,,據(jù)說有數(shù)十萬顆至多。如果都落實下來的話,,這樣的規(guī)模對于初出茅廬的Thunder X2來說是非常好的成果了,,也可以證明ARM服務(wù)器的在超算和商用的可行性。

  雖然包括Amazon在內(nèi)的幾家公司也在推出相應(yīng)的ARM服務(wù)器芯片,,不過其核心仍然是由ARM提供,,大多是Neoverse N1內(nèi)核,而Thunder的ARM核心是Marvell自研的,,對于其他的競爭者來說還是有很大的差異性,。下面就來看看新一代Thunder x3有哪些改進。

微信圖片_20200903162348.png

  首先回顧下Thunder X2,,這是2016年的產(chǎn)品,,基于TSMC 16nm。32核心,,單核4線程,,頻率2.5GHz,可以boost到3.0GHz,。每核心32KB數(shù)據(jù)和指令緩存,、256KB二級緩存,,共享32MB三級緩存。其他的如虛擬化,,TrustZone的也基本都支持,。

微信圖片_20200903162351.jpg

  到Thunder X3,可以看到核心從32增加到了60個,,同時還提供了一個dual die的增強版,,可以增加到96個核心。每個核心仍然是4個線程,,工藝升級到TSMC 7nm??梢钥吹絋hunder X3相比X2在同頻下單線程有30%的性能提升,,這個一個是比較高的數(shù)字。其中dual die的設(shè)計還是很有特點,,并不是single die數(shù)目乘2,,應(yīng)該是考慮到單芯片的功耗。不過為什么不在單個die上直接堆疊96個核心呢,,這樣還能避免2個die一起的互聯(lián)問題,,這個暫時沒有答案。

微信圖片_20200903162415.jpg

  Anandtech網(wǎng)站給了一個很好的數(shù)據(jù)對比,,可以看到對比amazon和ampere的產(chǎn)品,,Thunder X3在核心線程數(shù)和L3 cache容量上遙遙領(lǐng)先,其他的數(shù)據(jù)也都持平,,不過PCIe的帶寬上小氣了一些,。另外一個典型的區(qū)別是Thunder系列仍然采用了Ring的結(jié)構(gòu),和同類A型產(chǎn)品包括X86在內(nèi)幾乎都是使用mesh總線的,。由于核心數(shù)量較多時,,Ring總線訪問的不對稱時延會比較明顯,同時拓撲結(jié)構(gòu)不如mesh能提供更靈活的連接性和更高的帶寬,,對于這個選擇還是持保留態(tài)度,,雖然Thunder X3采用了一個增強版的swithed 3x Ring。這也許就是96個核心沒有選擇放在一個die上而是dual die的原因,。

微信圖片_20200903162434.jpg

  ThunderX3面向服務(wù)器級別,,肯定是和intel,AMD一樣選擇全亂序多發(fā)射的架構(gòu),。其中有幾個設(shè)計的特點值得討論,。

  第一,ThunderX3給出的decode寬度高達8個,,這個數(shù)字遠遠超過其他競爭對手,,而issue寬度卻只有4,,前寬后窄的比例達到了2:1。這個是很奇怪的比例,,取值譯碼的高帶寬會在相當(dāng)程度上被issue的瓶頸所堵住,,因此浪費了一定的硬件面積。不清楚ThunderX3這樣的設(shè)計是否有其他原因,。

  第二,,經(jīng)過dispatch,指令會統(tǒng)一發(fā)送到一個多大70個entry的unified Scheduer,,也就是通常說的Issue Queue,。之前曾經(jīng)分析過ARM和ZEN的issue Queue設(shè)計,都是采用分離式的queue,,這樣可以比較好的解決timing問題,,同時能夠保證ALU的single cycle forwarding。ThunderX3這么大的unified Queue,,一個cycle要發(fā)射8條指令到不同的執(zhí)行單元,,雖然調(diào)度策略上更優(yōu)一些,但復(fù)雜程度可想而知,。

  另外應(yīng)該是舍棄了single cycle forwarding的支持,,通常來說這個對性能的影響是比較大的。希望Marvell之后能夠提供更詳細的性能對比,。

微信圖片_20200903162504.jpg

  這個是我從網(wǎng)站信息上總結(jié)的Thunder X3和Neoverse N1的參數(shù)對比總結(jié),。可以看到除了上邊的2個主要區(qū)別,,其他的參數(shù)差距并不大,,也都選擇了比較強的load-store單元,較大的L1和L2 cache size,。當(dāng)然這個對比不是很公平,,畢竟N1是2年前的產(chǎn)品,其下一代應(yīng)該也會有比較大的提升,。之后的幾頁 slides是Thunder X3在各級流水線上的一些設(shè)計參數(shù)和細節(jié),,就不仔細分析,有興趣可以在文末的anandtech網(wǎng)站上查看細節(jié),。

  這里介紹了thunderX3的單核4線程的仲裁方式,,主要是在fetch,dispatch,,scheduler和retire階段根據(jù)各線程指令的多少和新舊程度進行資源的平衡,。

  這里就是thunderX3所說的switch ring的具體結(jié)構(gòu)了??梢钥闯銎浠窘Y(jié)構(gòu)是一個雙向雙工的環(huán)路,,shared L3 cache被分成若干個tile和core綁定在一起,。有幾個地方值得注意。

  第一,,這不是一個典型的ring,,可以看到環(huán)的中間還有個上下貫通的通路,這個應(yīng)該是在核心比較多的情況下給在ring上本來比較遠的節(jié)點提供一個更快的旁路通路,。不過既然已經(jīng)搞的這么復(fù)雜了,,為什么不一步到位直接用更合適的mesh?

  第二,,在60個核心的規(guī)模上,,還在使用snoop協(xié)議,而不是通常效率更高的directory協(xié)議,,多核snoop造成的總線擁堵和核內(nèi)干擾應(yīng)該會很大程度制約其性能發(fā)揮,,這個選擇很值得商榷。

  第三,,使用exclusive L3,這樣當(dāng)然會剩一些存儲面積,,但卻增加了不必要的L2-L3數(shù)據(jù)訪問,,在以性能至上的服務(wù)器芯片,這似乎不是一個合適的選擇,。

  總體來看,,ThunderX3在眾多采用arm公版設(shè)計的廠商中,還是努力走出了自己定制化的特點,。這個和華為鯤鵬的策略應(yīng)該是殊途同歸,。然而在核心設(shè)計和互聯(lián)上的一些疑問,可能會對其真實性能發(fā)揮造成阻礙,。這個希望能在后續(xù)詳細的性能評測中得到解釋,。

  另外服務(wù)器領(lǐng)域的具體應(yīng)用非常龐雜,benchmark并不能提供較真實的數(shù)據(jù),,還是要靠大規(guī)模應(yīng)用后得到實際的反饋,。這一點arm服務(wù)器相比已經(jīng)深耕十幾年的X86來說還有很長的路要走。不管怎樣,,從amazon到marvell,,arm服務(wù)器的定制化設(shè)計總算開了個頭,期待后邊能出現(xiàn)和x86更精彩的對決,。

  


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。