《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 【解讀】HotChips上這款存算一體芯片為什么這么強(qiáng)?

【解讀】HotChips上這款存算一體芯片為什么這么強(qiáng)?

2019-09-11
關(guān)鍵詞: HotChips 芯片

640.webp.jpg

  UPMEM,一家成立于2015年的法國(guó)半導(dǎo)體設(shè)計(jì)公司,應(yīng)邀于2019年8月19日在HotChips會(huì)議上展示其顛覆性的存內(nèi)計(jì)算(PIM : Processing in Memory)解決方案。該解決方案能夠?qū)⒋髷?shù)據(jù)和AI應(yīng)用程序運(yùn)行速度提高20倍,將能耗降低10倍。

  作為半導(dǎo)體行業(yè)關(guān)于高性能微處理器的頂級(jí)會(huì)議之一,HotChips吸引了數(shù)千名微處理器架構(gòu)師、技術(shù)專家和IT專業(yè)人士。而作為一家成立僅僅4年的公司,UPMEM的產(chǎn)品究竟有什么樣的魅力使它能夠登上高手云集的HotChips的舞臺(tái)。

  中科院計(jì)算所智能計(jì)算機(jī)研究中心帶你解讀

  其中的奧秘......

  馮·諾依曼架構(gòu)之殤

  馮·諾伊曼架構(gòu)是計(jì)算機(jī)的經(jīng)典架構(gòu),同時(shí)也是目前計(jì)算機(jī)以及處理器芯片的主流架構(gòu)。在馮·諾伊曼架構(gòu)中,計(jì)算單元與內(nèi)存是兩個(gè)完全分離的組成部分:計(jì)算單元根據(jù)指令從內(nèi)存中讀取數(shù)據(jù),在計(jì)算單元中完成計(jì)算或處理,并存回內(nèi)存。

  然而,馮·諾伊曼架構(gòu)在構(gòu)建之初只是一個(gè)理論模型,在建立該模型時(shí)做了一個(gè)當(dāng)時(shí)看來(lái)合理的假設(shè),即處理器和內(nèi)存的速度很接近。但是計(jì)算機(jī)處理器的性能隨著摩爾定律高速發(fā)展,其處理速度隨著晶體管特征尺寸的縮小而直接提升,因此在過(guò)去數(shù)十年中其性能提升可謂是天翻地覆,現(xiàn)在一顆手機(jī)中處理器的性能已經(jīng)比30年前超級(jí)計(jì)算機(jī)中的處理器還要強(qiáng)。另一方面,計(jì)算機(jī)的主要內(nèi)存使用的是DRAM方案,DRAM讀寫(xiě)數(shù)據(jù)的速度隨著摩爾定律有一定提升,但是提升速度并不如處理器,另一方面DRAM與處理器之間的接口屬于混合信號(hào)電路,其帶寬提升速度主要是受到PCB板上走線的信號(hào)完整性所限制,因此從晶體管尺寸縮小所獲得的增益并不大。這也造成:在內(nèi)存容量指數(shù)級(jí)提升以后,CPU 和內(nèi)存之間的數(shù)據(jù)傳輸帶寬成為了瓶頸。目前DRAM的性能已經(jīng)成為了計(jì)算機(jī)整體性能提升的一個(gè)重要瓶頸,即所謂阻礙性能提升的“內(nèi)存墻”。

  存內(nèi)計(jì)算:通往大數(shù)據(jù)之門(mén)

  解決“內(nèi)存墻”問(wèn)題的一種方案是存內(nèi)計(jì)算(PIM),該種思想在近年來(lái)的學(xué)術(shù)屆和業(yè)界都受到了極大的關(guān)注。PIM最早發(fā)源于計(jì)算機(jī)微體系結(jié)構(gòu)的研究,它通過(guò)在內(nèi)存中集成部分計(jì)算資源,實(shí)現(xiàn)快速數(shù)據(jù)處理,主要用于解決訪存帶寬、訪存能耗等體系結(jié)構(gòu)設(shè)計(jì)的瓶頸問(wèn)題。從計(jì)算和存儲(chǔ)誰(shuí)接近誰(shuí)的角度來(lái)看,PIM剛好和Cache相反。這一技術(shù)在上世紀(jì)90年代隨著David Patterson教授研究的Intelligent RAM項(xiàng)目有了一個(gè)高潮,但由于當(dāng)時(shí)工藝不成熟、缺乏殺手級(jí)應(yīng)用等問(wèn)題,后來(lái)陷入了沉寂。最近由于三維堆疊、HBM、RRAM等新型工藝器件的出現(xiàn)以及神經(jīng)網(wǎng)絡(luò)加速、圖計(jì)算等關(guān)鍵應(yīng)用的推動(dòng),PIM重新成了研究熱點(diǎn)。2018年的國(guó)際固態(tài)半導(dǎo)體會(huì)議(ISSCC,全球最頂尖的芯片設(shè)計(jì)會(huì)議,發(fā)表最領(lǐng)先的芯片設(shè)計(jì)成果,稱為“芯片界的奧林匹克”)有專門(mén)一個(gè)議程,其中的論文全部討論存內(nèi)計(jì)算;到了2019年,也有5篇關(guān)于存內(nèi)計(jì)算的論文,不過(guò)分散在不同的議程中。存內(nèi)計(jì)算的主要改進(jìn)就是把計(jì)算嵌入到內(nèi)存里面去,這樣內(nèi)存就不僅僅是一個(gè)存儲(chǔ)器,還是一個(gè)計(jì)算器。這樣一來(lái),在存儲(chǔ)或讀取數(shù)據(jù)的時(shí)候就同時(shí)完成了運(yùn)算,因此大大減少了計(jì)算過(guò)程中數(shù)據(jù)搬運(yùn)所帶來(lái)的消耗。

  UPMEM所采用的是將計(jì)算單元嵌入DRAM存儲(chǔ)陣列中的方式來(lái)實(shí)現(xiàn)PIM。該方式具有較強(qiáng)通用性,在該種實(shí)現(xiàn)方式下,僅需要在DRAM中增加適當(dāng)?shù)挠?jì)算邏輯,同時(shí)與DRAM接口協(xié)議相兼容,便可適配現(xiàn)有的內(nèi)存系統(tǒng)。

  UPMEM:內(nèi)存市場(chǎng)的攪局者?

640.webp (5).jpg

  UPMEM此次對(duì)外發(fā)布的產(chǎn)品,最大的特點(diǎn)應(yīng)該就是其基于DDR4 R-DIMM 模型,取代了標(biāo)準(zhǔn)的DIMM。整個(gè)DDR4 R-DIMM條有著8GB容量,包含了16個(gè) 4Gb DRAM顆粒。每個(gè)顆粒中嵌入了8個(gè)存內(nèi)處理器核(DPU)。由于DPU能直接訪問(wèn)內(nèi)存單元,每個(gè)DRAM-DPU的帶寬能夠達(dá)到1GB/s。據(jù)悉,最終用于服務(wù)器上的產(chǎn)品容量將達(dá)到128GB,總共2048個(gè)DPU,最終的整體帶寬將達(dá)到2TB/s。

640.webp (4).jpg

  上圖展示的是一個(gè)DRAM顆粒中的結(jié)構(gòu)示意圖,UPMEM針對(duì)其進(jìn)行了專門(mén)的架構(gòu)設(shè)計(jì)。每個(gè)DRAM顆粒中有8個(gè)bank, 均連接到各自的DPU上。DRAM加上DPU則使得原來(lái)只具有存儲(chǔ)功能的DRAM CHIP變成了具備存儲(chǔ)和計(jì)算功能的PIM CHIP。

  根據(jù)UPMEM已發(fā)表的論文和專利可以發(fā)現(xiàn),其PIM方案早在4年前就已經(jīng)確立。而該公司也整整花了4年的時(shí)間才實(shí)現(xiàn)了其產(chǎn)品的落地。由于晶體管結(jié)構(gòu)和工作模式的差異,邏輯工藝和存儲(chǔ)器工藝是兩種不同的芯片工藝,要想在存儲(chǔ)器內(nèi)部引入邏輯部件,這對(duì)于UPMEM來(lái)說(shuō)是一個(gè)不小的挑戰(zhàn)。在此次會(huì)議的演講上,UPMEM用“highly constrained”來(lái)形容工藝條件對(duì)其PIM設(shè)計(jì)方案的阻礙。

640.webp (3).jpg

  其次,從演講的內(nèi)容來(lái)看,大致介紹了如下一些

  關(guān)鍵技術(shù)難題和部分解決方案。

  No.1

  在DRAM工藝上建立數(shù)字邏輯的流程,比如Logic cell library,SRAM IP和Logic Design & Validation flow,這些是處理器設(shè)計(jì)和實(shí)現(xiàn)的基礎(chǔ)。同時(shí),為了兼容DRAM工藝,DPU只能使用比較“慢”的晶體管設(shè)計(jì),但是卻需要達(dá)到“較快”的處理器速度。為達(dá)到這一設(shè)計(jì)需求,DPU采用了14級(jí)Interleaved pipeline來(lái)實(shí)現(xiàn)500MHz的頻率,該頻率相對(duì)于CPU的頻率差距較大,但與DRAM的頻率差不多。同時(shí)提供了24個(gè)硬件線程,保證了流水線的效率。

  No.2

  針對(duì)DRAM 工藝,在DPU中采用了優(yōu)化后的32位指令集,具有多線程,標(biāo)量,循序等特點(diǎn),值得注意的是UPMEM并沒(méi)有使用ARM或RISC-V等指令集。這種設(shè)計(jì)方案存在一個(gè)問(wèn)題,即DPU所使用的指令集如何與CPU所采用的指令集(X86/ARM/POWER 9)交互,這一部分內(nèi)容UPMEM并沒(méi)有在PPT中提到。

  No.3

  從存內(nèi)處理器架構(gòu)來(lái)看,UPMEM在DPU中放棄了Cache的使用,而是采用64KB的SRAM buffer替代Data Cache,采用24KB的 SRAM buffer替代Instruction Cache。在通常的體系結(jié)構(gòu)中,Cache的存在主要是出于兩方面的考慮: CPU與DRAM的頻率差異以及DRAM的訪存延遲。對(duì)于DPU而言,盡管其頻率與DRAM相近,但DRAM的訪問(wèn)遠(yuǎn)做不到1個(gè)cycle,仍然需要SRAM來(lái)緩存數(shù)據(jù)。UPMEM的解決方案是采用SRAM buffer結(jié)構(gòu)來(lái)做緩存,其作用與Cache類似,兩者的區(qū)別在于前者是硬件管理,后者是軟件管理。同時(shí)采用SRAM buffer替代Cache也有出于提高多線程效率的考慮。

  No.4

  DPU龐大的數(shù)量決定了: 不必讓兩個(gè)進(jìn)程共享一個(gè)DPU,也就不需要在存內(nèi)運(yùn)行操作系統(tǒng)(OS),所以沒(méi)有必要考慮兼容性問(wèn)題,但需要實(shí)現(xiàn)對(duì)LLVM/CLANG的支持。同時(shí)UPMEM還聲稱由于DPU之間不存在共享問(wèn)題,其產(chǎn)品安全性得到了大大提升。

  No.5

  當(dāng)在內(nèi)存中增加了這么多的計(jì)算單元后,如何進(jìn)行任務(wù)劃分很顯然將會(huì)成為一個(gè)重要問(wèn)題,哪些任務(wù)交給CPU處理,哪些任務(wù)交給DPU處理?在UPMEM的講演中也分析了這方面的內(nèi)容,將對(duì)算力要求高的部分應(yīng)用搬到DPU中進(jìn)行處理,絕大部分的常規(guī)應(yīng)用仍然交給CPU執(zhí)行。另一方面CPU也要負(fù)責(zé)從DPU中收集計(jì)算結(jié)果。

  對(duì)于DRAM的刷新控制,UPMEM此次并沒(méi)有在此次HotChips上提到,但很顯然這是一個(gè)很關(guān)鍵的問(wèn)題。我們知道DRAM每隔一段時(shí)間均需要刷新一次,在這一設(shè)定下很可能出現(xiàn)的情況是DRAM需要刷新時(shí),存內(nèi)處理單元正在使用存儲(chǔ)陣列區(qū)中的數(shù)據(jù)。從其已經(jīng)公布的專利來(lái)看,為保證刷新的正常進(jìn)行,需要在DRAM的每個(gè)bank中增加一個(gè)刷新計(jì)數(shù)功能部件,該部件能將DPU使用存儲(chǔ)陣列時(shí)所接收的從CPU傳來(lái)的刷新命令記錄下來(lái),待DPU處理完畢數(shù)據(jù),再由外部刷新控制電路繼續(xù)進(jìn)行刷新。

  盡管面對(duì)如此多的難題,這家雄心勃勃的初創(chuàng)公司仍然有信心在2020年實(shí)現(xiàn)DRAM-PIM產(chǎn)品的量產(chǎn)。從UPMEM提供的技術(shù)白皮書(shū)中可以看到,該公司的技術(shù)戰(zhàn)略路線基本是分三步走,分別DRAM級(jí),SSD級(jí)和物聯(lián)網(wǎng)可穿戴設(shè)備場(chǎng)景下的存內(nèi)計(jì)算。在產(chǎn)品戰(zhàn)略布局上,目前主要是服務(wù)器市場(chǎng),今后應(yīng)用的重心也會(huì)涉及到邊緣計(jì)算和智能汽車電子領(lǐng)域。

640.webp (2).jpg

  從短期來(lái)看,UPMEM所采用的將計(jì)算單元嵌入到DRAM中的存內(nèi)計(jì)算實(shí)現(xiàn)方式具有較高的通用性,更容易被市場(chǎng)接納。

  但如何從行業(yè)的攪局者成為一個(gè)內(nèi)存市場(chǎng)細(xì)分領(lǐng)域的引領(lǐng)者,UPMEM可能還有很長(zhǎng)的一段路要走。

  Our Achievement

  中科院計(jì)算所智能計(jì)算機(jī)研究中心一直致力于性能及能效領(lǐng)先的智能計(jì)算系統(tǒng)研究,是國(guó)內(nèi)最早開(kāi)展新型存內(nèi)計(jì)算技術(shù)研究的機(jī)構(gòu)之一。目前我中心已經(jīng)在存內(nèi)計(jì)算的一致性方法,預(yù)取策略,計(jì)算劃分方法,模擬器搭建等方面取得了卓有成效的成績(jī)。其中存內(nèi)計(jì)算模擬平臺(tái)PIMsim是首個(gè)把應(yīng)用、OS、CPU和PIM放在一起的全系統(tǒng)、實(shí)際執(zhí)行模擬器,已經(jīng)開(kāi)源發(fā)布在:https://github.com/vineodd/PIMSim

  同時(shí)值得注意的是我中心發(fā)表在IEEE COMPUTER ARCHITECTURE LETTER上,關(guān)于該模擬器介紹的論文:PIMSim: A Flexible and Detailed Processing-in-Memory Simulator,目前排在該期刊popular articles中的第一位。

640.webp (1).jpg

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