《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 存內(nèi)計算正式進入主流

存內(nèi)計算正式進入主流

2021-04-13
來源: 半導(dǎo)體行業(yè)觀察

  存內(nèi)計算是一個由來已久的概念,,其主要目的是為了解決內(nèi)存墻問題,。這里首先談?wù)勈裁词莾?nèi)存墻。今天最常見的計算機架構(gòu)師馮諾依曼架構(gòu),,而在馮諾伊曼架構(gòu)中,,計算/處理單元與內(nèi)存是兩個完全分離的單元:計算/處理單元根據(jù)指令從內(nèi)存中讀取數(shù)據(jù),,在計算/處理單元中完成計算/處理,,并存回內(nèi)存。

  3.png

  馮諾伊曼架構(gòu)雖然經(jīng)典,,但是也有內(nèi)存墻的問題,。在過去幾十年中,處理器的運行速度隨著摩爾定律高速提升,,然而計算機中的主存儲器DRAM是基于電容充放電實現(xiàn)的高密度存儲方案,,其性能(速度)取決于電容充放電速度以及DRAM與處理器之間的接口帶寬,總體來看其性能提升速度遠遠慢于處理器速度,,目前DRAM的性能已經(jīng)成為了整體計算機性能的一個重要瓶頸,,即所謂阻礙性能提升的“內(nèi)存墻”。

 4.png

  除了性能之外,,內(nèi)存對于能效比的限制也成了傳統(tǒng)馮諾伊曼體系計算機的一個瓶頸,,尤其是對于人工智能(神經(jīng)網(wǎng)絡(luò)模型)應(yīng)用來說。神經(jīng)網(wǎng)絡(luò)的特點就是計算量大,,而且計算過程中涉及到的數(shù)據(jù)量也很大,,使用傳統(tǒng)馮諾伊曼架構(gòu)會頻繁讀寫內(nèi)存。目前的DRAM一次讀寫32bit數(shù)據(jù)消耗的能量比起32bit數(shù)據(jù)計算消耗的能量要大兩到三個數(shù)量級,,因此成為了總體計算設(shè)備中的能效比瓶頸,。

  存內(nèi)計算就是為了解決內(nèi)存墻問題而提出的方案。如前所述,,馮諾依曼架構(gòu)的計算機系統(tǒng)把存儲器和處理器分割成了兩個部分,,而處理器頻繁訪問存儲器的開銷就形成了內(nèi)存墻。存內(nèi)計算的基本思路就是把計算和存儲合二為一,,從而實現(xiàn)減少處理器訪問存儲器的頻率(因為計算已經(jīng)在存儲器內(nèi)完成了大部分),。嚴格來說,存內(nèi)計算還可以分為兩種思路,。第一種思路主要偏向于電路革新,,其方法是通過電路革新讓存儲器本身就具有計算能力,例如在存儲器數(shù)據(jù)讀出的decoder等地方做改動來實現(xiàn)計算等,。這樣的改動通常會針對SRAM或者MRAM等存儲器,,可以做到非常好的能效比提升,但是其計算精度往往較為受限(例如1-2bit),,因此能夠支持的神經(jīng)網(wǎng)絡(luò)類型也比較有限,。另一種思路是在存儲器內(nèi)部集成額外的計算單元,這種思路主要針對的是DRAM這樣主處理器訪問開銷很大的存儲器,,它可以支持較為高精度的計算(例如浮點計算),,但是限制在于DRAM工藝往往對于計算邏輯電路不是很友好,如何確保計算單元能集成到DRAM工藝里而且對存儲密度影響可控就是一個挑戰(zhàn),。

  三星的存內(nèi)計算技術(shù)

  今年早些時候,,三星正式公布了其存內(nèi)處理(Processing In Memory,,PIM)技術(shù),可謂是正式標志著存內(nèi)計算技術(shù)進入了主流,。

  三星目前PIM的第一個存儲器場景是HBM,。根據(jù)三星的官網(wǎng)的內(nèi)容,該技術(shù)主要針對高性能計算人工智能相關(guān)場景,,并且可以將整體計算的性能提升兩倍,,而能量則可以節(jié)省70%。

 5.png

  官網(wǎng)上公布的數(shù)據(jù)背后的技術(shù)又是什么樣的呢,?今年的ISSCC上,,三星也發(fā)表了一篇針對HBM-PIM的論文《A 20nm 6GB Function-In-Memory DRAM, Based on HBM2 with a 1.2TFLOPS Programmable Computing Unit Using Bank-Level Parallelism, for Machine Learning Applications》,我們可以從中一探該技術(shù)的究竟,。

  根據(jù)該論文,,HBM-PIM的存儲器設(shè)計與傳統(tǒng)HBM存儲器設(shè)計的主要區(qū)別在于HBM-PIM中集成了額外的可編程計算單元(如下圖),也即我們之前討論的第二種存內(nèi)計算的設(shè)計思路,,把處理器集成到存儲器中從而將部分計算負載在存儲器中完成,,這樣就能減少處理器需要訪問存儲器的頻率,。

  6.png

  對于其具體的可編程計算單元,,三星在論文中顯示它是一個以計算為主,且包含一些控制單元的迷你處理器,。具體來說,,在可編程計算單元中,包含了浮點數(shù)計算陣列,,流水線解碼控制單元以及一個本地寄存器文件單元,。其運行方式為,主處理器為可編程計算單元提供一系列需要執(zhí)行的指令,,而可編程計算單元則直接從鄰近的DRAM中直接讀取相關(guān)數(shù)據(jù),,在浮點數(shù)計算陣列中完成計算,并且根據(jù)指令進一步把結(jié)果存儲到寄存器文件中,,同時主控制器也可以根據(jù)需要把結(jié)果從寄存器文件中通過HBM接口讀出,。在ISSCC的論文中,三星使用20nm DRAM工藝實現(xiàn)了該HBM-PIM存儲器,,并且實現(xiàn)了1.2TOPS的浮點數(shù)算力,。

 7.png

  HBM-PIM是三星引入PIM的第一步,三星官方資料暗示在HBM之外,,三星還準備將PIM技術(shù)應(yīng)用到桌面/移動端(LPDDR)和顯卡(GDDR)存儲器上,,可見三星對于PIM技術(shù)的前景是非常看好,。

 8.png

 

本站內(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)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。