歷經(jīng)30年,從初級IC設(shè)計(jì)師到AMD首席架構(gòu)師之路(Zen之父采訪實(shí)錄)
2021-11-01 12:52:30 EETOP這些年來,Zen究竟是如何實(shí)現(xiàn)的,成果一直被隱藏在人們的視線之外,一些關(guān)鍵人物不時(shí)出現(xiàn):吉姆·凱勒(Jim Keller)、邁克·克拉克(Mike Clark)和蘇珊娜·普盧默(Suzanne Plummer)比大多數(shù)人更頻繁地登上頭條新聞。但是當(dāng) AMD 開始披露有關(guān)設(shè)計(jì)的細(xì)節(jié)時(shí),站在幻燈片前面的卻是邁克·克拉克(Mike Clark)。為此作為5 years of Zen的一部分,我對邁克·克拉克做了詳細(xì)的正式采訪。
邁克·克拉克是 AMD 的一名企業(yè)研究員,他于 1993 年從伊利諾伊州厄巴納香檳分校畢業(yè)后加入該公司。他的角色已經(jīng)從處理器設(shè)計(jì)的基礎(chǔ)工程師發(fā)展到 AMD 幾個(gè)關(guān)鍵處理器設(shè)計(jì)的首席架構(gòu)師,再到 Zen 的首席架構(gòu)師。在這期間,Mike究竟做了什么,這多少有些神秘,所以這里我也可以對他探究一下。目前,Mike 負(fù)責(zé) Zen 及其路線圖,無論是針對當(dāng)今市場上的產(chǎn)品還是幾代之后的產(chǎn)品。不幸的是,Mike 暫時(shí)不會(huì)透露 Zen 7 中的內(nèi)容,但值得一問。
Ian Cutress:你從1993年大學(xué)畢業(yè)后就一直在AMD工作,差不多30年了。試圖為你在AMD的工作時(shí)間找到一些有記錄的工作歷史是很有趣的--除了你在Zen中的表現(xiàn),幾乎沒有什么可以參考的!您能否向我們概述一下您參與過的一些項(xiàng)目,以及您在走向 Zen 的過程中做了哪些工作?
Mike Clark:我剛從伊利諾伊大學(xué)畢業(yè),就開始了 K5 的工作。那是我們在 x86 上的第一個(gè)基礎(chǔ)設(shè)計(jì),非常棒。當(dāng)我大學(xué)畢業(yè)時(shí),我收到了幾個(gè)offer,但我選擇了AMD,因?yàn)樗俏ㄒ灰粋€(gè)真正讓我能從事CPU設(shè)計(jì)的公司,當(dāng)時(shí)這太瘋狂了!這里不僅可以做RTL設(shè)計(jì),還可以設(shè)計(jì)和驗(yàn)證自己的功能模塊。也就是可以真正去做物理設(shè)計(jì),你有一個(gè)與你合作的物理設(shè)計(jì)師,但你自己運(yùn)行綜合工具。
所以,這就是我的切入點(diǎn),我還負(fù)責(zé)TLB,當(dāng)時(shí)沒有人知道X86 TLB是如何工作的。由于我們當(dāng)時(shí)只是客戶在英特爾的備選采購,我不得不去了解并逆向工程x86 TLB是如何工作的--那是一個(gè)巨大的樂趣!我學(xué)到了很多。
接著,我們最終購買了NexGen,得到了K6,我?guī)椭阉线M(jìn)去。然后我們做了K7,我是K7的主要微碼設(shè)計(jì)人員。K7的每個(gè)區(qū)塊負(fù)責(zé)人都非常棒。我從這些人身上學(xué)到了很多東西,在那里我真正學(xué)會(huì)了如何建立一個(gè)偉大的微架構(gòu)。
之后,我做了 Greyhound (K9) 核心,我是K9的首席架構(gòu)師,它是 K8 的衍生物。然后我們正在做整個(gè)Bulldoze的事情,我是Steamroller 版本的首席架構(gòu)師,但我以不同的角色參與了所有這些工作。然后我成為了 Zen 的首席架構(gòu)師。
我現(xiàn)在負(fù)責(zé)整個(gè) Zen 路線圖,但在 AMD,首席架構(gòu)師從高級設(shè)計(jì)一直到芯片,然后通過與客戶互動(dòng)來發(fā)布芯片。你真的知道你的哪些決定是好的,哪些是壞的。當(dāng)你聽到有人把工作放在軟件上時(shí),你會(huì)感到痛苦,所以你下次要做得更好。你真的和設(shè)計(jì)在一起很長時(shí)間了,我真的相信這樣一個(gè)事實(shí):你不只是在硅的前端工作,甚至是在執(zhí)行階段,然后就繼續(xù)前進(jìn)--你必須感受到你設(shè)計(jì)中的一切痛苦,這樣你才能成為一個(gè)更好的架構(gòu)師。
所以現(xiàn)在我負(fù)責(zé)路線圖,然后我們有一個(gè)很棒的團(tuán)隊(duì),他們現(xiàn)在是所有 Zen 架構(gòu)的首席架構(gòu)師。
IC:那你的正式頭銜是什么?
MC:我想說的我應(yīng)該是核心架構(gòu)的領(lǐng)導(dǎo)者,或者核心路線圖的領(lǐng)導(dǎo)者。
IC:本季度對AMD來說都是關(guān)于Zen和Ryzen的5年,自從2016年8月在Hot Chips的那些新聞活動(dòng)和首次披露的微架構(gòu)以來。實(shí)際上,你們的Zen之旅是什么時(shí)候開始的--誰是“大人物”,你是一開始就擔(dān)任首席架構(gòu)師嗎?
MC:嗯,對我來說是從 2012 年開始的。我們意識(shí)到我們需要做一些不同于推土機(jī)(Bulldozer)系列的事情。Jim 進(jìn)來幫助重新組織了團(tuán)隊(duì),我是首席架構(gòu)師。所以對我來說已經(jīng)快10年了。
人員方面,從2012年開始,人特別多,團(tuán)隊(duì)也很棒。我很感激我能代表這么多優(yōu)秀工程師的工作。Suzanne Plummer 是 Zen 團(tuán)隊(duì)的負(fù)責(zé)人,管理團(tuán)隊(duì),只是讓團(tuán)隊(duì)團(tuán)結(jié)在一起,她很棒。然后還有Mike Tuuk、Tim Wilkins、Jay Fleischman、Leslie Barnes -來自公司各個(gè)部門的各種人為 Zen 的成功做出了貢獻(xiàn)。
所以說起來有點(diǎn)好笑,我從2012年開始就一直在做它——如果我回去,我仍然有我們?yōu)閆en做的HLD設(shè)計(jì)。你不會(huì)相信,花了5年時(shí)間才生產(chǎn)出來的東西,現(xiàn)在看起來是多么不同。我的意思是骨頭還在那里,你看到了,但沿途發(fā)生了很多變化。這是這個(gè)行業(yè)的關(guān)鍵之一——能夠充滿活力,讓事情發(fā)生變化,因?yàn)闀r(shí)間太長了。但仍然能夠提供一個(gè)有競爭力的設(shè)計(jì),這是相當(dāng)驚人的。有時(shí)候,當(dāng)我們剛起步的時(shí)候,當(dāng)團(tuán)隊(duì)擔(dān)心或者對他們的HLD感到奇怪的時(shí)候,我就會(huì)轉(zhuǎn)身說‘這就是Zen,HLD出來時(shí)一切都不會(huì)完美。
IC:在競爭對手剛剛發(fā)布的產(chǎn)品的基礎(chǔ)上進(jìn)行設(shè)計(jì)是否可行?還是說你仍然兩年的領(lǐng)先優(yōu)勢?
MC:這很重要——我們可以。你會(huì)驚訝于我們反應(yīng)的速度。這感覺仍然很長時(shí)間,但我們不斷評估競爭,并將自己與他們進(jìn)行比較,試圖確保我們保持在正軌上。其中一個(gè)原因是,我們也必須設(shè)定自己的目標(biāo)。我們不能等他們,那是當(dāng)我們看到歷史上在這個(gè)行業(yè)發(fā)生了什么——我們?yōu)樽约涸O(shè)定了那些激進(jìn)的目標(biāo),只是試圖實(shí)現(xiàn)它們獨(dú)立于競爭對手也在做什么。現(xiàn)在我們當(dāng)然會(huì)密切關(guān)注他們。
IC:銳龍(Ryzen)傳奇中的一個(gè)很酷的故事是,在 AMD 陷入財(cái)務(wù)困境的時(shí)候,CPU 開發(fā)資金被凍結(jié)并與其他業(yè)務(wù)隔離開來。這對你有什么好處,或者從你的角度來看,在實(shí)際或情感上有什么限制嗎?
MC:由于時(shí)間長,這肯定需要大量投資。交貨時(shí)間這么長,這對企業(yè)來說很艱難——市場每年都需要一款產(chǎn)品,而你一直在努力更新,等待新的大事到來。所以這絕對是必要的,這樣我們就可以做我們需要做的事情來完成工作。
那是一段艱難的時(shí)期。我的意思是,我們遇到的最困難的問題之一是讓團(tuán)隊(duì)團(tuán)結(jié)在一起。確實(shí)有很多人離開了,這是一個(gè)非常激進(jìn)的計(jì)劃。從我們所處的位置來看,我們花了很多時(shí)間試圖說服人們我們會(huì)成功。即使取得了成功,我們?nèi)匀恢廊绻偁幚^續(xù)按照他們的軌道進(jìn)行,當(dāng)?shù)谝粋€(gè)出現(xiàn)時(shí),他們可能仍然領(lǐng)先于我們。這就是我們需要做的事情才能在那里打下堅(jiān)實(shí)的基礎(chǔ),然后推出 Zen 2 和 Zen 3,真正讓我們走上一條可以成為行業(yè)領(lǐng)導(dǎo)者的軌道。
IC:在我最近對Jim Keller(吉姆-凱勒)的采訪中,Jim提到了上午8點(diǎn)關(guān)于芯片設(shè)計(jì)的大型會(huì)議--有很多不同意見,但他提到你是其中一個(gè)有堅(jiān)定信念的人,相信你能成功。被召集到那次會(huì)議上,討論這些想法,并回顧 Zen 的成功是什么感覺?
MC:對我來說,這太棒了!這種工程交流就是我們所說的“概念”,我們?yōu)槊總€(gè)大項(xiàng)目都這樣做。當(dāng)時(shí),對于如此大的轉(zhuǎn)變,我想說可能比平時(shí)有更多的爭論
我的意思是,我們之前沒有做過 SMT,我們之前也沒有做過微操作緩存,很多人認(rèn)為在同一個(gè)內(nèi)核中同時(shí)做這兩個(gè)事情會(huì)是一場災(zāi)難。我不得不說服他們。使用Bulldozer 線程模型,我們學(xué)到了很多,Bulldozer 中有很多類似SMT 的東西,所以我們已經(jīng)學(xué)會(huì)了做SMT 的方法,即使我們沒有在執(zhí)行單元或數(shù)據(jù)緩存中做過。所以這對我們來說并沒有像以前沒有做過任何事情的人那樣邁出那么大的一步。
使用微操作緩存,我們在一個(gè)被取消的項(xiàng)目上做了類似的事情,實(shí)際上我們應(yīng)該在推土機(jī) 2 中做。對于 Zen,我們需要這樣做以達(dá)到我們達(dá)到 40% IPC 提升的積極目標(biāo). 我認(rèn)為從這樣的討論中,看到它可能的人留下了,而一些認(rèn)為不可能的人決定走自己的路。
但那是工程,對吧?我的意思是,這很難。我們知道工程師很擅長辨別廢話,所以你必須非常小心,不要給他們設(shè)定完全不可能的目標(biāo)——他們會(huì)看到這是不可能的,他們不會(huì)讓自己設(shè)置失敗。你也不能只是設(shè)定簡單的目標(biāo),所以你必須在不是不可能的目標(biāo)和非常困難的目標(biāo)之間找到很好的平衡,然后告訴他們?nèi)绻覀儧]有達(dá)到目標(biāo),它仍然會(huì)好起來。但是我們必須設(shè)定這些激進(jìn)的目標(biāo),如果讓工程師加入,您會(huì)驚訝于他們?yōu)橥瓿伤冻龅呐Α?/p>
IC:我問吉姆他是否是Zen之父,他說他是“瘋狂的叔叔”之一。那么你是Zen之父嗎?
MC:我絕對同意 Jim 的意見,即制作 Zen 需要很多人。但是,是的,我認(rèn)為我是Zen之父——我的意思是,在我給它命名的意義上。2012 年的第一天我就在那里,我一直都在那里。我知道這一切的好與壞,就像父母了解自己的孩子一樣——你知道他們擅長什么,不擅長什么,我已經(jīng)感受到我們所有不好的部分的痛苦,而且我已經(jīng)看到了我們所有善良的喜悅。但就像你認(rèn)識(shí)的孩子一樣,你擁有它,就像你擁有芯片一樣,你最后不得不讓它在這個(gè)世界上出現(xiàn)。你再也無法控制它了。我已經(jīng)堅(jiān)持了這么久,從第一次披露到現(xiàn)在已經(jīng)五年了,我投入了感情。正因?yàn)槿绱耍阒溃渌丝梢詠韥砣トィ^續(xù)前進(jìn),但我從頭到尾都與Zen在一起。所以在這方面我確實(shí)認(rèn)為自己是一個(gè)父親。但是,就像我說的,它需要一個(gè)了不起的團(tuán)隊(duì)來實(shí)現(xiàn)它--我沒有自己一個(gè)人實(shí)現(xiàn)它,就像撫養(yǎng)孩子也不是一個(gè)人,它需要更多的人。
IC:最近AMD CMO John Taylor提到,Zen和Ryzen命名的背后有一個(gè)有趣的故事。這個(gè)故事是什么?
MC:所以對于 Bulldozer 架構(gòu),我想這些年來我已經(jīng)了解到構(gòu)建 x86 內(nèi)核就是在架構(gòu)中找到頻率、IPC、功率和面積之間的正確平衡。我們沒有使用 Bulldozer,所以我覺得我們的新項(xiàng)目需要一個(gè)名稱來說明我們的真正目標(biāo)是什么,即擁有一個(gè)平衡的架構(gòu)。Zen “禪”這個(gè)名字對我來說對我們正在做的事情很有意義。
我認(rèn)為從Ryzen 的角度來看,當(dāng)他們第一次向我展示它時(shí),他們有點(diǎn)緊張,擔(dān)心我可能不喜歡它。但是當(dāng)我看到它,當(dāng)我看到Enzo,當(dāng)我看到它是一個(gè)開放的Enzo,帶著不完美的美(我們知道Zen并不完美,所有的核心都有它們的問題),它完美地代表了我的想法當(dāng)我在 2012 年命名它時(shí)。就好像它就是這種完美的協(xié)同作用。在他們給我看之前,沒有人真正和我談過這個(gè)問題,我想他們很緊張。當(dāng)他們給我看的時(shí)候,我就覺得,這真是太棒了。這正是我所想的,甚至沒有告訴他們。
IC:與 Zen 一起,我們了解了 Project Skybridge,能夠?qū)?x86 SoC 和 Arm SoC 放在同一個(gè)插槽上。您知道在 AMD 為 Ryzen 全力以赴之前,Skybridge 的 Arm 版本(我們稱為 K12)已經(jīng)開發(fā)了多遠(yuǎn)?
MC:我想,最初Zen和K12是姊妹項(xiàng)目。他們有相同的目標(biāo),只是實(shí)際連接了不同的 ISA。核心是這樣的,L2/L3的層次結(jié)構(gòu)可以是任何一種。當(dāng)然,在Skybridge中,數(shù)據(jù)結(jié)構(gòu)可以是其中之一。有一個(gè)完整的團(tuán)隊(duì)在做K12,我們分享了很多東西,你知道,為了效率,我們有很多關(guān)于架構(gòu)的很好的辯論。雖然我在x86上工作了28年,但它只是一個(gè)ISA,你可以在任何ISA上構(gòu)建低功耗或高性能的設(shè)計(jì)。我的意思是,ISA確實(shí)很重要,但它不是主要組件——如果你需要一些特殊的指令來做事情,你可以改變ISA,但實(shí)際上微體系結(jié)構(gòu)在很多方面是獨(dú)立于ISA的。在不同的ISA中有一些有趣的怪癖,但歸根結(jié)底,這是關(guān)于微架構(gòu)的。但我真正關(guān)注的是Zen的一面。
IC:當(dāng)我們談?wù)搩?nèi)核和產(chǎn)品時(shí),總是與上市時(shí)間和滿足最后期限有關(guān)。實(shí)際上,在設(shè)計(jì)完整后多久,你開始考慮如何將事情設(shè)計(jì)得更好,以及容易實(shí)現(xiàn)的目標(biāo)在哪里?
MC:甚至在第一次出帶前一年,你就會(huì)意識(shí)到關(guān)于微架構(gòu)的有趣的事情是,某些決定推動(dòng)了某些決定,而這些決定又推動(dòng)了某些決定,所以如果第一個(gè)決定是壞的,就會(huì)有很多返工來回到正確的軌道。我們試圖盡可能地做出這些最初的決定,但當(dāng)其中一些決定需要重做時(shí),已經(jīng)太晚了。希望任何問題都是在更遠(yuǎn)的道路上的決定。但這就是微架構(gòu)的現(xiàn)實(shí)。
但這就是我們可能看到的戰(zhàn)略所在。我們知道,當(dāng)我們對內(nèi)核進(jìn)行徹底的重新設(shè)計(jì)時(shí),將會(huì)有很多機(jī)會(huì)來改進(jìn)我們之前所做的 [使用更新的衍生產(chǎn)品]。所以我們希望我們的衍生芯片成為一個(gè)大的衍生產(chǎn)品,讓它值得花費(fèi) 12 到 18 個(gè)月的時(shí)間來完成。我們知道做第二個(gè)衍生產(chǎn)品通常不值得努力--從性能/功率的角度來看,你能從中獲得的東西不多。你總是可以添加更多的東西,你總是可以增加更多,但你有更多的力量,你把東西更多地放在一邊,而不是真正進(jìn)入并重做機(jī)器的內(nèi)臟。
因此,我們的策略實(shí)際上是進(jìn)行基礎(chǔ)設(shè)計(jì),進(jìn)行衍生,然后再回來進(jìn)行另一個(gè)完全基礎(chǔ)的設(shè)計(jì),在該設(shè)計(jì)中我們通過流水線(pipeline)重新考慮所有內(nèi)容。我們?nèi)匀豢梢灾赜靡恍〇|西,比如我們?nèi)匀挥幸粋€(gè)OP緩存,但我們并沒有擺脫OP緩存,但我們最終可能會(huì)以一種非常不同的方式來做,比如它與指令緩存的接口,或者它提供給機(jī)器變化的方式。也許我們需要重新思考它是如何工作的,以擴(kuò)大它的范圍,我們必須真正地重新思考概念,而不僅僅是使分派或執(zhí)行范圍更廣。整個(gè)機(jī)器都要理解這一點(diǎn),所以我們基本上要把所有的東西都撕掉然后把它用方塊圖寫在一張干凈的紙上。這意味著,當(dāng)我們的人開始編碼時(shí),這是一個(gè)發(fā)現(xiàn)哪些部分沒有改變的情況,重用代碼,或構(gòu)建新的。我們?nèi)匀皇褂门f設(shè)計(jì)的部分,如果這次沒有真正改變的部分,我們可能會(huì)認(rèn)為它對這個(gè)設(shè)計(jì)來說已經(jīng)足夠好了。
所以每三年,我們幾乎都會(huì)重新設(shè)計(jì)它。我們必須管理能耗,以便我們可以將這些小部件放在一個(gè)全新的pipeline中,并真正控制它們的能耗,這樣它們就不會(huì)消耗與 IPC 等效的所有額外能耗。
IC:你是那種在第一批硅片從工廠運(yùn)回來的時(shí)候會(huì)在守在實(shí)驗(yàn)室看到正常上電的架構(gòu)師么?如果是的話,那是什么樣子的?房間里的氣氛是怎樣的?
MC:我很想這么做,但很多時(shí)候他們甚至不讓我進(jìn)去!讓我晚點(diǎn)進(jìn)去。當(dāng)它第一次回來時(shí),有很多關(guān)于 BIOS 和固件的啟動(dòng)流程,實(shí)際上甚至不涉及核心。所以當(dāng)時(shí)對我自己或那一代的首席架構(gòu)師沒有太多需求。但是很快,隨著團(tuán)隊(duì)讓它運(yùn)行和啟動(dòng)時(shí),就是重要的時(shí)候了。
關(guān)于最初的Zen,我有一個(gè)非常有趣的故事,第一個(gè)A0芯片,肯定有一些問題。我們不得不在非常冷的情況下才能運(yùn)行它。我們在等固定的A1回來,甚至是A0+,來解決問題,所以我們不需要冷運(yùn)行。其中一個(gè)工程師問‘你試過那個(gè)補(bǔ)丁了嗎?-我說“不,我坐在這里等它晾干了。當(dāng)我們把它保持在如此低的溫度,以至于冷凝水積聚時(shí),每隔一段時(shí)間,我們就必須停下來,讓它干透。然后一旦它干了,我就會(huì)讓你知道你的補(bǔ)丁是否有效。這很瘋狂,但我喜歡工作中的實(shí)驗(yàn)室--我絕對是一個(gè)喜歡弄臟手的架構(gòu)師。不幸的是,我不能像以前那樣弄臟它們,而且當(dāng)你遇到真正困難的問題時(shí),我通常會(huì)更晚參與。
IC:所以你提到那個(gè)故事很有趣,因?yàn)槲覍λ悬c(diǎn)興趣。當(dāng)你拿回 A0 硅片時(shí),它在常溫下不能正常工作,是什么告訴你必須把它放在冷的地方?誰會(huì)這么想?人們怎么會(huì)想到這是為了正常運(yùn)行而需要做的事情?然后你如何去尋找 A0 的修復(fù)?另外,這是設(shè)計(jì)修復(fù)嗎?或者它是制造修復(fù)?你如何找到兩者的區(qū)別?
MC:現(xiàn)在在這種情況下,我們有很多方法來測試硅,你知道。我們有 DFT(測試設(shè)計(jì))團(tuán)隊(duì)來意識(shí)到低級電路無法正常工作。我們有強(qiáng)大的電路團(tuán)隊(duì)來調(diào)試這樣的問題,他們意識(shí)到這是溫度問題,但隨后建議如果讓它很冷,你仍然可以解決它。他們還說明了電路有什么問題,以便可以修復(fù)它并構(gòu)建一個(gè) A0+,以獲得可以在正常溫度下運(yùn)行的東西。再說一遍,在AMD從事任何特定產(chǎn)品的偉大工程師的數(shù)量是驚人的,我喜歡認(rèn)為自己是全面的,但有的人在很多事情上比我強(qiáng)得多!
IC:當(dāng)前x86內(nèi)核的現(xiàn)代設(shè)計(jì)選擇之一是可變指令集的解碼寬度--英特爾和AMD的最高性能內(nèi)核,從Ryzen開始一直到現(xiàn)在,都是4-wide(4寬)。然而,我們看到雙3-wide設(shè)計(jì)或6-wide設(shè)計(jì),依靠運(yùn)算緩存來節(jié)省能耗。顯然,在Zen 1中,4-wide對AMD來說是很好的,我們在Zen 3中仍然是4-wide:路線圖從這里開始,從整體的角度來看,x86的解碼寬度大小是如何改變基本的IPC模型的?
MC:我認(rèn)為這又回到了平衡方面,從某種意義上說,我認(rèn)為晶體管的數(shù)量和我們在分支預(yù)測器中擁有的智能以及饋送它的能力工作得很好。但我們會(huì)走得更遠(yuǎn),你會(huì)看到我們走得更遠(yuǎn),為了提高效率,我們將在機(jī)器前端安裝晶體管,使其成為正確的架構(gòu)決策。因此,我們獲得的晶體管數(shù)量確實(shí)在不斷增加,這使我們能夠加強(qiáng)整個(gè)設(shè)計(jì),以繼續(xù)從中獲得越來越多的 IPC。
IC:在基本布局規(guī)劃設(shè)計(jì)方面,你對你的競爭分析和工作負(fù)載預(yù)測團(tuán)隊(duì)的依賴程度如何?如果你回到2012年,試圖預(yù)測20 16年的工作負(fù)載,這是否有點(diǎn)飛躍?
MC:我們那里有很棒的團(tuán)隊(duì),從某種意義上說,你說的問題有點(diǎn)獨(dú)立于團(tuán)隊(duì)。要么你試圖在今天的軟件上構(gòu)建一個(gè)處理器,要么是五年后的軟件。這就是其中很多歸結(jié)為架構(gòu)師的經(jīng)驗(yàn),理解看到你在性能跟蹤中看到的東西,但也超越并意識(shí)到更廣泛的影響。例如,對于四寬解碼,很多編譯器都會(huì)進(jìn)行優(yōu)化,因?yàn)槟幸慌_(tái)四寬機(jī)器。但是當(dāng)我們給它們提供更廣泛的東西時(shí),它們將被更新以了解如何編譯代碼以使其更好。所以我們會(huì)看到,當(dāng)我們發(fā)布這些舊代碼時(shí),我們只能設(shè)法獲得 10% 到 15% 的 IPC但隨著編譯器的發(fā)展,他們將能夠從我們未來的設(shè)計(jì)中提取越來越多的東西,基于他們從我們目前的設(shè)計(jì)中得到的東西。
IC:關(guān)于高速緩存的概念——AMD的3D高速緩存將會(huì)在明年推出很多產(chǎn)品。我不會(huì)問你具體的產(chǎn)品,但問題更多是關(guān)于多少緩存是正確的數(shù)量?這是一個(gè)愚蠢的開放式問題,但這就是它的意圖!
MC:這是一個(gè)很好的問題!這不僅僅是關(guān)于多少是正確的數(shù)量,而是在什么級別,什么延遲,什么是共享緩存等等。如您所知,這些都是我們必須決定如何做出的權(quán)衡,并了解這對軟件意味著什么。
我們已經(jīng)選擇了我們的核心綜合體將不得不拆分L3(在VCache中)。如果我們有一個(gè)巨大的L3在所有線程間共享,那么您在線程間共享的巨大L3越多,給定線程的延遲就會(huì)越長。所以你要在共享或者獲得更大的容量和更低的線程數(shù)與獲得它所需的延遲之間做出權(quán)衡。所以我們平衡了嘗試達(dá)到較低的延遲,在L3層提供了巨大的容量這是我們選擇的優(yōu)化點(diǎn),隨著我們繼續(xù)前進(jìn),獲得更多內(nèi)核,并在共享 L3 環(huán)境中獲得更多內(nèi)核,我們?nèi)詫L試管理該延遲,當(dāng)系統(tǒng)中有較低的線程數(shù)量,您仍然可以從 L3 中獲得良好的延遲。然后L2,如果你的L2比較大你也可以在L3上減少一些。
所以這是一個(gè)引人入勝的領(lǐng)域——緩存權(quán)衡研究一直在進(jìn)行,他們將永遠(yuǎn)繼續(xù)研究如何平衡核心的緩存層次結(jié)構(gòu)。
IC:你提到 L2 很有趣,因?yàn)槲也淮_定你是否看到 IBM 最近發(fā)布的關(guān)于他們的 z16/Telum 芯片的公告。他們有非常大的 L2 緩存,但他們也將它們用作虛擬 L3。你有沒有研究過,這看起來很誘人嗎?
MC:是的,我們肯定已經(jīng)調(diào)查過了。Will Walker是我們緩存團(tuán)隊(duì)的負(fù)責(zé)人,他是一位了不起的架構(gòu)師。就像我說的,每一個(gè) HLD(高層次設(shè)計(jì))我們都會(huì)經(jīng)歷同樣的問題,同樣的設(shè)計(jì),著眼于不同的設(shè)計(jì)點(diǎn),然后不得不選擇其中一個(gè)。即使有時(shí)在 HLD 之后,事情也會(huì)發(fā)生變化,如果我們決定切換到不同的設(shè)計(jì)點(diǎn),我們可以做到這一點(diǎn)。所以是的,這是一個(gè)不斷發(fā)展的架構(gòu)。
IC:TSMC 已經(jīng)展示了使用 TSV 堆疊 12 個(gè)芯片的能力,類似于 V-Cache 概念。實(shí)際上,在基片散熱等問題成為問題之前,可以支持多少層?
MC:在基礎(chǔ)架構(gòu)之外構(gòu)建這些級別有很多,例如處理溫度,而且成本也很高。這可能無法回答您的問題,但不同的工作負(fù)載顯然對緩存量具有不同的敏感性,因此對其進(jìn)行靈活處理,能夠具有堆棧式和非堆棧式設(shè)計(jì),這一點(diǎn)至關(guān)重要,因?yàn)槟承┕ぷ髫?fù)載。[總是使用堆棧式緩存] 對于某些用例帶來的性能提升來說太昂貴了。我真的無法評論我們可以或?qū)⒁M(jìn)行多少層堆疊,但這是一項(xiàng)令人興奮的技術(shù),而且還在不斷發(fā)展。
IC:AMD 在何種程度上將機(jī)器學(xué)習(xí)納入其 EDA 工具?無論是在這一點(diǎn)上,還是在未來到什么程度?
MC:我認(rèn)為我不能肯定地說,但我認(rèn)為,您可能會(huì)假設(shè)每個(gè)人都在通過數(shù)據(jù)使用某種形式的機(jī)器學(xué)習(xí)來改進(jìn)我們所有業(yè)務(wù)流程中的一切。
IC:所以這是一個(gè)非常謹(jǐn)慎的回答!
IC:最初 Zen 以 4 核 CCX 開始,現(xiàn)在 Zen 3 的基礎(chǔ)是 8 核復(fù)合體。復(fù)合體在當(dāng)前形式下的規(guī)模是否有限制,例如環(huán)形總線,以及隨著復(fù)合體的增長,哪些事情必須改變?
MC:我們?yōu)樗胁煌氖袌鰳?gòu)建了一個(gè)非常模塊化的核心緩存層次結(jié)構(gòu),從高端服務(wù)器一直到低端筆記本電腦。因此,這些環(huán)境需要更多或更少的內(nèi)核,并嘗試以盡可能少的設(shè)計(jì)有效地滿足它們也是另一個(gè)有趣的架構(gòu)目標(biāo)。您可能會(huì)認(rèn)為一次只能專注于一個(gè)設(shè)計(jì),這樣我們就有了 X 或 Y 的核心路線圖,并且可以有多個(gè),但事實(shí)并非如此。我們必須弄清楚如何在所有這些市場中利用這些設(shè)計(jì)。一些市場(如高端服務(wù)器)對更多內(nèi)核的需求變得瘋狂,而其他市場并沒有以相同的速度增加內(nèi)核消耗。我們確實(shí)看到核心數(shù)量在增長,我們將繼續(xù)增加核心復(fù)合體中在 L3 下共享的核心數(shù)量。正如你所指出的,通過它進(jìn)行通信既有延遲問題,也有一致性問題,但盡管這就是架構(gòu),這就是我們所簽署的。這就是我們活著的目的——解決這些問題。所以我只想說,團(tuán)隊(duì)已經(jīng)在研究如何發(fā)展到遠(yuǎn)遠(yuǎn)超出我們今天的復(fù)雜程度,以及如何在未來實(shí)現(xiàn)這一目標(biāo)。
IC:你認(rèn)為對Xilinx的收購會(huì)成為銳龍未來的一部分嗎?
MC:哦,當(dāng)然。我真的無法評論任何特別的事情。我們銷售 SoC,但顯然我們將大量 IP 集成到其中。如果您查看他們的 IP 和我們的 IP,您可能會(huì)在那里看到一些您將來可能會(huì)看到的自然協(xié)同作用。我期待著讓這些人加入并與他們一起前進(jìn)。這是一支很棒的球隊(duì)。
IC:IPC 一直是高性能處理器設(shè)計(jì)的黃金目標(biāo),更小的工藝節(jié)點(diǎn)的好處之一是更多的晶體管、更大的緩沖區(qū)、更多的執(zhí)行端口。您如何處理如何使內(nèi)核“更智能”,而不僅僅是“更大”,現(xiàn)代 x86 設(shè)計(jì)中的哪些關(guān)鍵元素是限制因素?
MC:我認(rèn)為IPC獲得了所有的榮耀!它到底是什么——我稱它為“性能之輪”,因?yàn)橛兴膫€(gè)主要原則——性能、頻率、面積和功率。從某種意義上說,它們確實(shí)是平等的,您必須將它們?nèi)科胶庖垣@得良好的設(shè)計(jì)。因此,如果您想要一個(gè)非常高的頻率,但又不喜歡 IPC,您最終可能會(huì)得到一個(gè)非常糟糕的設(shè)計(jì),并增加了面積。如果您在 IPC 上非常努力并且增加了很多面積和很多功能,那么您可能會(huì)是頻率降低。所以這確實(shí)是我們所說的關(guān)鍵部分,我們正在嘗試獲得 IPC,但我們必須以優(yōu)化晶體管使用的方式來優(yōu)化面積和功率以及頻率。我們希望能夠放入一堆內(nèi)核,只添加 IPC 和擴(kuò)大面積,我們沒有取得真正的進(jìn)展。
我明白了,這是我的工作,而我的首席架構(gòu)師的工作就是試圖找到正確的平衡點(diǎn)。
對于最初的 Zen,我們不得不去創(chuàng)建那些新工具,這對團(tuán)隊(duì)來說確實(shí)是一個(gè)壓力點(diǎn)。因?yàn)樗鼈兪切碌模芏嘀皇且驗(yàn)樗谠O(shè)計(jì)的早期階段,它們并不完美,我們的性能或頻率工具都不是完美的,但人們使用它們足夠信任它們。我們必須真正認(rèn)識(shí)到這些工具并不完美,但是如果您正確地使用了向量,并且我們正在做出決定,那么它們已經(jīng)足夠好,我們設(shè)法克服了這個(gè)障礙并真正正確地使用他們。
反饋就像設(shè)計(jì)的任何其他部分一樣。能夠使用 Zen 以更高效的設(shè)計(jì)驅(qū)動(dòng) 40% 的 IPC——這是我們談到的第一個(gè)癥結(jié)之一,但如果您要增加 40% 的 IPC 但增加 40% 的功耗,它它不會(huì)有任何進(jìn)展。
IC:在最近 AMD 慶祝 Zen 5 年的視頻中,有人討論過,與混合設(shè)計(jì)相比,擁有更具可擴(kuò)展性的內(nèi)核是未來的首選方法。構(gòu)建如此大規(guī)模的內(nèi)核(從每核毫瓦到數(shù)十瓦)的難點(diǎn)在哪里——具體是在邏輯設(shè)計(jì)、電源設(shè)計(jì)還是制造方面?
MC: 我的意思是它是所有這些! 作為一個(gè)架構(gòu)師,我們必須考慮我們想要關(guān)注的所有市場。如果我想在這個(gè)頻率和這個(gè)功率下達(dá)到這個(gè)IPC,我們不能把核心想成一件事和一套目標(biāo)--它必須是許多套目標(biāo),并且從一開始就這樣計(jì)劃。如何擴(kuò)大和縮小這些市場的規(guī)模是Ryzen和Zen成功的另一個(gè)部分,因?yàn)槲覀儾⒉恢皇窃噲D使用技術(shù)來適應(yīng)不同的市場。我們考慮了如何擴(kuò)展到所有這些市場,并將其設(shè)計(jì)為有能力在前期做到這一點(diǎn)。這樣一來,后端就很容易為這些不同的市場改變產(chǎn)品并執(zhí)行。
IC:長期研發(fā)路線圖通常以 3/5/7 年的時(shí)間尺度引用。隨著AMD的發(fā)展,特別是最近,這在AMD內(nèi)部有什么變化?
MC:并非如此。我的意思是,即使是在2012年,我們的想法也遠(yuǎn)遠(yuǎn)超出了 Zen,尤其是你的客戶需要它,對嗎?如果你沒有一個(gè)長期的路線圖,他們就不會(huì)轉(zhuǎn)而使用你。我們的客戶在想和我們做生意的時(shí)候就要求這樣,當(dāng)然我們自己的團(tuán)隊(duì)也要求這樣--我們的團(tuán)隊(duì)希望看到一個(gè)路線圖!"。有很多人,甚至在內(nèi)部,都擔(dān)心我們將無法維持這種進(jìn)展速度。這是一個(gè)非常冒險(xiǎn)的策略,每三年把整個(gè)核心拆掉是有風(fēng)險(xiǎn)的。但對我來說,我已經(jīng)成功地說服了所有人,這也是市場的要求。如果我們不這樣做,別人就會(huì)這樣做。
IC:您在 2018 年 4 月的 AMD 宣傳視頻中提到您正在開發(fā) Zen 5。我們已經(jīng)三年了 - 這是否意味著您現(xiàn)在正在開發(fā) Zen 8?
MC:你數(shù)學(xué)做得很好,我要說的是! 順便說一下,我這樣說(在2018年)受到了一些批評,但我想你知道這個(gè)行業(yè)有多難。就像我剛才說的,你必須有活力,愿意有一個(gè)過程,你可以隨著周圍市場的變化而改變。如果你在第一天就完全按照你設(shè)定的目標(biāo)來建造,你只會(huì)推出一些無人問津的東西。
IC:最后,AMD 用戶應(yīng)該期待什么?
MC:一定會(huì)很棒的!我希望我能告訴你將要發(fā)生的一切。我有一個(gè)年度架構(gòu)會(huì)議,我們討論了正在進(jìn)行的所有事情,在其中一次會(huì)議上,我和團(tuán)隊(duì)一起討論了Zen 5。我學(xué)到了很多,因?yàn)楝F(xiàn)在運(yùn)行路線圖時(shí),我不能像我希望的那樣接近設(shè)計(jì)。會(huì)議結(jié)束后,我只想閉上眼睛,睡一覺,然后醒來,買這個(gè)東西。我想在未來,這是很棒的,它將是如此棒-我等不及了。這項(xiàng)業(yè)務(wù)的難點(diǎn)在于知道將您的構(gòu)想達(dá)到可以將其構(gòu)建到生產(chǎn)的程度需要多長時(shí)間。
EETOP 官方微信
創(chuàng)芯大講堂 在線教育
半導(dǎo)體創(chuàng)芯網(wǎng) 快訊
相關(guān)文章