計算型存儲/存算一體

姓名:李沈軒????學號:20181214373????學院:廣研院

【原文鏈接】計算型存儲/存算一體如何實現? - 知乎 (zhihu.com)

【嵌牛導讀】本文介紹了什么是存算一體?

【嵌牛鼻子】存算一體

【嵌牛提問】什么是存算一體,如何實現?

【嵌牛正文】

1 引言

隨著處理器和存儲器的工藝提升差的變大,馮 諾依曼體系結構下存儲墻剪刀叉不斷增大,訪存功耗墻問題也日益突出,工業界和學術界開始從聚焦計算轉到聚焦存儲。與此同時,高訪存、高并行、低精度的人工智能和類腦計算等應用的快速也驅動了計算型存儲/存算一體/存內計算的發展。 隨著處理器和存儲器的工藝提升差的變大,馮 諾依曼體系結構下存儲墻剪刀叉不斷增大,訪存功耗墻問題也日益突出,工業界和學術界開始從聚焦計算轉到聚焦存儲。與此同時,高訪存、高并行、低精度的人工智能和類腦計算等應用的快速也驅動了計算型存儲/存算一體/存內計算的發展。?

1.1 馮諾依曼架構下的存儲墻

傳統的計算機采用馮諾依曼體系結構,在這種體系結構中計算和存儲功能是分離的,分別由中央處理器CPU和存儲器完成[30]。CPU和存儲器通過總線互連通信,CPU從存儲器讀出數據,完成計算,然后將結果寫回存儲器。馮諾依曼架構以CPU為核心,其他部件都是為CPU服務。

在馮 諾依曼體系結構中對處理器聚焦的牽引下,設計者和廠商對處理器性能的關注遠遠超過對存儲器性能的關注。隨著半導體產業的發展和需求的差異,處理器和存儲器二者之間走向了不同的工藝路線。面向用戶對處理器的高性能需求,半導體廠商通過提高內部晶體管的開關速度來制造更快的邏輯,使用更多的金屬布線層來降低互連線延遲,從而不斷提高處理器的性能。而對于存儲器,用戶追求的是大容量和保持時間。半導體廠商針對存儲器的工藝生成線則強調用更多的晶體管層來獲得更小的存儲單元面積,增大存儲容量。此外,處理器和存儲器不同的工藝芯片也意味著不同的封裝工藝。處理器要求昂貴的封裝來增加散熱,還需要上千的引腳來增加與外存的連接帶寬。但是對于存儲器封裝而言,由于其功耗不高,引腳較少,因此對封裝要求不高。

處理器和存儲器二者的需求不同,工藝不同,封裝不同,導致二者之間的性能差距越來越大。從1980年開始至今,處理器和存儲器的性能差距不斷拉大,存儲器數據訪問速度跟不上CPU的數據處理速度,導致了存儲墻問題越來越嚴重[31,32]。

造成“存儲墻”的根本原因是存儲與計算部件在物理空間上的分離。從圖2中可以看出,從 1980年到 2000年,兩者的速度失配以每年 50%的速率增加。為此,工業界和學術界開始尋找弱化或消除“存儲墻”問題的方法,開始考慮從聚焦計算的馮諾依曼體系結構轉向聚焦存儲的“計算型存儲/存算一體/存內計算”。

1.2 通信和訪存功耗開銷

處理器和存儲器由于工藝和封裝不同,二者之間的性能差距越來越大。存儲器的性能提升遠遠落后于CPU的性能,與此同時,數據移動的能耗比也隨之不斷增加,數據搬移需要的能量在整個計算中占非常的比重,而且數據搬運的效率不會因為摩爾定律的發展而提高。

根據研究顯示,數據搬運消耗的能耗是浮點計算的4到1000倍,如圖所示[1]。而且隨著半導體工藝的進步,雖然總體功耗下降,但是數據搬運的功耗占比越來越大。根據intel的研究顯示,工藝到了7nm時代,訪存功耗達到25pJ/bit(45.5%),通信功耗達到10pJ/bit(18.2%)數據傳輸和訪問功耗占比達到了63.7%。

訪存功耗的問題日益嚴重,研究者和廠商開始從工藝、體系結構等方面嘗試緩解這個問題。計算型存儲/存算一體/存內計算將計算和訪存融合,在存儲單元內實現計算,從體系結構上消除了訪存操作,從而避免了訪存延遲和訪存功耗,是一種極具前景的解決方式。

1.3 人工智能應用的驅動

應用發展至今,人工智能的出現驅動了計算型存儲/存算一體/存內計算的發展。人工智能算法的訪存密集(大數據需求)和計算密集(低精度規整運算)的特征和為計算型存儲/存算一體/存內計算的實現提供了有力的條件:

1)人工智能算法是一個很龐大和復雜的網絡,包含大量的圖像數據和權重參數,計算的過程中又會產生大量的數據。以VGG-16[33]網絡為例,其權重數量約為 1.4*108,處理一張大小為 224*224的3通道圖片需要進行約 1.5*1010次乘加操作,數據需要在計算單元和存儲單元之間進行頻繁的移動。訪存帶寬成為了卷積神經網絡的重要瓶頸之一。同時,將數據從 DRAM 存儲中移動到計算單元所需的能耗是計算本身耗能的200倍[34],嚴重影響了卷積神經網絡的計算能效。因此,對于卷積神經網絡,迫切需要合適的手段來減少數據移動及其帶來的性能和功耗開銷。

2)人工智能算法的訓練和推理過程存在大量的規整運算,例如乘加運算。為了完成大量的計算,一般芯片的設計思路是增加大量的并行計算單元,比如上千個卷積單元。但是隨著運算單元的增加,每個運算單元能夠使用的存儲器帶寬和容量都在逐漸減小,訪存成為了人工智能的性能瓶頸。人工智能算法在芯片實現時遇到的核心問題從原來的對算力的強大需求轉到了對訪存帶寬和功耗的約束上。例如可以提供眾多計算資源的GPU,在運行時,其實際計算能力與計算資源大為降低,計算效率受到了訪存的極大限制。同時,人工智能算法中的運算對精度要求不高。

因此,針對人功智能算法的訪存密集型特性,以及密集計算中的規則運算和低精度的需求為,眾多研究者開始關注計算型存儲/存算一體/存內計算。并且低精度的運算需求也為其實現提供了更多的可能性。

2 現有的解決存儲墻和降低訪存功耗方法

早在存儲墻和訪存功耗問題暴露之初(1990s),研究者就開始尋找解決或者弱化的方法,從最初的多級存儲架構,到近存儲計算,直到計算型存儲/存算一體/存內計算,研究者做了大量的工作。這些方法大體上可以分為三類:

1)高速帶寬數據通信:光互連、2.5D/3D堆疊。

2)緩解訪存延遲和功耗的近數據存儲:增加緩存級數、高密度片上存儲

3)緩解/消除訪存延遲和功耗的計算型存儲/存算一體:DRAM上的邏輯層和存儲層的堆疊(類似近數據存儲)、真正的存算一體(存儲器顆粒本身的算法嵌入)。

2.1 高速帶寬數據通信

高速帶寬數據通信主要包括光互連技術和2.5D/3D堆疊等技術,這些技術可用于緩解訪存墻問題。光互連技術可實現數據的高速傳輸,減少功耗。2.5D/3D堆疊技術見多個芯片堆疊在一起,提高存儲密度,擴大存儲容量,通過增大并行寬度或者利用串行傳輸提升存儲帶寬。這兩種技術通過降低訪存延遲的方式緩解訪存墻問題,同時,由于延遲的降低也使得訪存功耗降低。

2.1.1 光互連技術

計算機信號傳輸技術在不斷向高速高密度化發展,傳統的銅導線由于其電子傳輸的物理特性,傳輸作業時功耗巨大。這種傳統的電互連網絡,受限于集成電路發展限制,已經在帶寬、延時、功耗方面均遇到了瓶頸。

與傳統電氣布線方式相比,光互連技術可實現與距離無關的高速傳輸,采用光互連替代銅導線電子互連,可以解決信號傳輸的功耗問題,大幅度降低作業成本。全光網絡不但擁有10TB以上級的帶寬,也能通過減少頻繁光電轉換以改善延時和功耗,是大幅提升網絡綜合性能的理想解決方案。并且,光網絡技術已被廣泛用于數據中心和骨干網建設當中。與電互連相比,光互連具有高帶寬、長距離、低損耗、無串擾和電磁兼容等優勢,隨著傳輸速率的不斷提高,光傳輸具有明顯的應用優勢。

雖然目前市場已有基礎的光器件和光交換方案,但是光互連技術的發展還有一些問題亟需解決:

1)光互連的實現還以來于板間、板面、板內、芯片-板級、芯片-芯片級的光電轉換器、調制器、連接器等輔助器件的發展。其功能和性能距離應用需求還有一定的差距;

2)傳統光網絡技術無法解決光存儲問題,因此只能通過建立連接的方式來實現光交換,導致光交換需要高達10ms的建立連接開銷,無法適應于高性能計算等頻繁切換通信目標的應用場景;

3)其次,當前光交換商用產品出貨量太小,采購成本較高。而且,一些光交換技術目前只在國外公司的產品中實現就,國內并未有替代提供商。能否通過尋找國內替代提供商甚至聯合研發來保證網絡核心部分全國產化也是神州Ⅷ網絡方案的一大挑戰。

2.1.2? 2.5D/3D堆疊

在封裝領域,許多半導體廠商開始采用2.5D/3D堆疊技術。隨著硅通孔TSV等技術的發展,2.5D/3D堆疊技術可以在處理器周圍堆疊更多的存儲器件,逐漸成為人工智能應用和數據中心應用等性能需求的解決方案。

2.5D堆疊技術是將多塊芯片在硅interposer上使用互連線連接在一起。由于硅interposer的互連線密度可以遠遠高于傳統PCB上的互連線密度,因此可以實現高性能互連。2.5D堆疊技術仍然是一種二維平面的疊加。

3D堆疊技術是將多個芯片堆疊在一起,并使用TSV技術將不同的芯片之間互連。3D堆疊技術是一種三維的多層堆疊,通過TSV實現多個晶片在垂直方向的通信。

近年來業界誕生了2種基于TSV(Through Silicon Via)技術的堆疊DRAM架構新型存儲技術,分別為HMC(Hybrid Memory Cube混合存儲立方體)和HBM(High Bandwidth Memory高帶寬存儲器)。與傳統存儲技術不同,HBM與HMC利用2.5D/3D架構堆疊DRAMs提高存儲密度、擴大存儲容量,通過增大并行寬度或者利用串行傳輸提升存儲帶寬,不同程度簡化系統存儲控制設計難度,具有高集成度、高帶寬、高能效等性能優勢。HBM與HMC技術的推廣及應用很大程度上取決于TSV與3D封裝工藝的進展,同時也需要考慮冷卻散熱、生產制造、成本價格等因素。

具體就技術規范而言,HBM仍屬于并行存儲范疇,而HMC則屬于串行存儲產品。HMC采用基于SerDes的串行傳輸方式,傳輸速率可達15~30Gbps,可以獲得很高的存儲帶寬,如果使用15Gbps SerDes,則單顆4-Links HMC存儲帶寬可達160GB/s。HBM采用高位寬并行方式,單個stack可支持高達8個通道,每個通道128bit總計1024-bit位寬,帶寬可達128~256GB/s。從封裝形式來看,HBM必須采用2.5D/3D封裝結構,SOC必須采用SiP封裝設計技術,完成2.5D硅基板與封裝基板設計開發,系統設計難點主要集中在封裝級。HMC則區分裸芯片與封裝產品(封裝產品為主流應用),HMC產品主要在印制板安裝使用,并不是必須采用2.5D/3D封裝技術,系統設計難點主要集中在印制板級。

2015年6月,AMD推出了第一款使用3D堆疊的GPU,Fury X GPU,這款GPU在內部集成了4GB的3D堆疊HBM,大大減少了數據移動的功耗。此后,AMD又發布了Vega,NVIDIA也發布了Volta GPU,二者均集成了16GB的HMB2。Intel公司推出的Nervana也使用了3D HBM,Wave Computing使用了美光的HMC。

2.2 近存儲計算

近存儲計算的基本思想是將數據靠近計算單元,從而減小數據移動的延遲和功耗。近存儲計算的實現方式目前主要包括多級存儲架構和高密度片上存儲。

2.2.1 多級存儲架構

多級存儲架構是在CPU和主存之間插入一系列的高速緩沖存儲器Cache。Cache由容量小、價格昂貴的靜態存儲器SRAM構成,其速度高于普通的動態存儲DRAM。越靠近CPU的存儲容量越小,速度越快,價格越高。

在多級存儲架構下,程序員利用程序的時間局部性和空間局部性,將數據從主存搬運到最靠近CPU的Cache中,從而減小訪存延遲。多級存儲雖然在一定程度上緩解了存儲墻問題,但是也并未從根本上消除存儲墻。

2.2.2 高密度片上存儲

高密度片上存儲

2.3 計算型存儲/存算一體/存內計算

高速帶寬數據通信和近存儲計算仍然都是一種以馮諾依曼架構架構為核心的實現方式,本質上仍是一種以計算為中心的實現方式。一些研究人員提出了一種以存儲器為中心的體系結構,稱為“智能存儲”。其核心思想是將部分或全部的計算移到存儲中,計算單元和存儲單元集成在同一個芯片,在存儲單元內完成運算,讓存儲單元具有計算能力。這種極度近鄰的方式完全消除了數據移動的延遲和功耗,徹底解決了存儲墻問題。

目前研究領域或市場領域內的存內計算主要從兩個方面展開:

混合計算存儲:類似近數據存儲的方式,即基于堆疊技術將邏輯層和存儲層的堆疊在一起,邏輯層實現存儲層中數據的計算。

存算一體:真正的存儲和計算的融合,即在存儲器顆粒本身進行算法嵌入,在存儲顆粒內實現計算。

2.3.1 混合計算存儲

在訪存墻問題出現之初,研究者想嘗試將存儲和邏輯用同一工藝實現,從而構建芯片內的存儲計算。但是,存儲器制造工藝和邏輯制造工藝不同,而且二者不兼容。用存儲器工藝構建邏輯單元或者用邏輯工藝構建存儲器都比較困難。DRAM工藝中的晶體管面向面積和漏電流進行了優化,但是性能較差。而且,DRAM工藝通常只有3層金屬層,而邏輯工藝一般有12層金屬層,這就意味著DRAM工藝中的邏輯電路可能會產生高的互連開銷。根據研究顯示,DRAM工藝的邏輯電路會有22%的性能損失和80%的面積開銷[2]。反之,使用邏輯工藝構建DRAM將會產生10倍的面積開銷,4倍的功耗以及100倍的恢復時間[3,4]。

因此,借助于3D堆疊技術的發展,研究者開始考慮將不同工藝制造的邏輯層和存儲層堆疊在一起來構建混合計算存儲?;旌嫌嬎愦鎯δ壳爸饕贒RAM構件實現。混合計算存儲將給予處理器工藝的邏輯層和基于存儲器工藝的多個DRAM芯片層垂直堆疊在一起,各層之間通過硅通孔TSV連接。垂直對齊的多個內存分區對應一個控制器集成在邏輯層,負責對應的數據讀寫?;旌嫌嬎愦鎯τ捎趯⑦壿媽雍痛鎯臃庋b在一起,減小了數據訪問延遲和功耗。

但是混合計算存儲中真正的計算操作還是在邏輯層實現,數據仍然需要從存儲層搬運到邏輯層,完成計算后再返回到存儲層,雖然延遲會因為存儲層和邏輯層的距離減少和帶寬提高而較少,但是仍然存在數據搬運,并未完全消除訪存延遲和功耗,功耗的降低也不一定可觀,所以仍然不是一種真正意義上的存算一體。

而且,受限于目前集成電路的工藝水平,這種片上集成的方式無法在性能和容量之間取得一個很好的折衷。

2.3.2 計算型存儲/存算一體

隨著工藝的發展,訪存墻剪刀叉日益擴大,同時,人工智能應用對大數據訪存的需求,計算型存儲/存算一體被工業界和學術界一致認為是未來的發展趨勢。

計算型存儲/存算一體是一種數模混合的存儲,這種存儲在存儲器顆粒上嵌入算法,使得存儲單元具備計算功能。在這種方式下,數據不需要單獨的運算部件來完成計算,而是在存儲單元中完成存儲和計算,消除了數據訪存延遲和功耗,是一種真正意義上的存儲計算融合。同時,由于計算完全耦合于存儲,因此可以開發更細粒度的并行性,獲得更高的性能和能效。

計算型存儲/存算一體在存儲顆粒上實現計算,這種數字和模擬混合的方式會帶來一定的計算精度誤差。但是,人工智能算法對精度的誤差容忍度較高,因此計算型存儲/存算一體對于符合的應用會帶來較高的性能收益和能效收益,這種方式尤其適用于人工智能應用。

計算型存儲/存算一體目前主要的實現方式有兩種,一種是基于易失性、現有工藝較成熟的SRAM或DRAM構建,另一種是基于非易失性、新型存儲器件或新材料構建。

受限于存儲廠商對工藝和制程的限制,目前的計算型存儲/存算一體還屬于研究和試驗階段。但是,隨著技術的進步和應用的驅動,未來的計算型存儲/存算一體一定會成為主流。

3 計算型存儲/存算一體研究現狀

隨著3D堆疊技術的發展,以及新型非易失性存儲器器件的日益成熟,面向人工智能算法的大數據應用需求,計算型存儲/存算一體逐漸受到了工業界和學術界的關注。目前,已經有很多廠商和研究機構開始進入計算型存儲/存算一體領域,例如,INTEL、IMB和三星等廠商紛紛推出實驗型架構,一些研究機構也開始基于新器件新材料提前展開研究工作。

根據存儲器件的存儲易失性分類,計算型存儲/存算一體的實現主要聚焦在兩類存儲上:1)基于易失性的SRAM或DRAM構建;2)基于非易失性的相變存儲器PCM、阻變存儲器/憶阻器ReRAM、浮柵器件和閃存FLASH構建。

3.1 基于易失性存儲SRAM和DRAM的計算型存儲/存內計算

易失性存儲器SRAM和DRAM工藝成熟,是目前商業化的主要存儲器產品。因此,很多的廠商和研究機構開始基于SRAM和DRAM展開存內計算的研究。但是,目前這種計算型存儲/存內計算存在一定的問題:

1)由于目前的存內計算還處于實驗階段,存儲器廠商對工藝和制程的約束,大多數的研究都是在SRAM和DRAM的靈敏放大器端做工作,無法深入到存儲單元實現存儲和計算的完全耦合;

2)目前的計算型存儲/存內計算基本上智能支持邏輯操作和無進位的計算,對于存儲單元間的信息交互還額外需要計算邏輯和控制邏輯的支持。

基于SRAM的計算型存儲/存算一體

Intel聯合Michigan大學從2016年開始展開基于SRAM的計算型存儲/存算一體研究。2016年,基于SRAM實現了支持邏輯操作的可配置的存儲器[5],并在此基礎上實現了支持無進位乘法運算的計算型cache[6]。2018年在ISCA上發布了面向深度學習算法的神經Cache[7],在文獻[6]的邏輯操作基礎上實現算術計算可以實現加法、乘法和減法操作。

在文獻[5]中,基于6T的SRAM構建了一個可配置(TCAM/BCAM/SRAM可動態切換)的存儲器。為了支持邏輯操作,作者在SRAM的存儲單元上將字線拆分為左字線和右字線,同時,將傳統的差分靈敏放大器變為兩個單端的交叉耦合靈敏放大器,這兩個單端靈敏放大器分別對應存儲的bit-line和bit-line-bar。通過對兩個字線和兩個靈敏放大器的控制,在靈敏放大器出增加邏輯門,從而可以實現數據的邏輯與、或、非操作。同時,為了支持寫操作,在位線方向增加一個列解碼器用來選取要寫入的列,在兩個時鐘周期內完成整個寫操作?;谶@個工作,文獻[6]和[7]在靈敏放大器增加邏輯門,從而實現對運算操作的支持。

基于DRAM的計算型存儲/存算一體

2017年,三星存儲研究部門聯合圣芭芭拉大學一起合作,基于成熟的DRAM存儲器件在MICRO 大會上推出了DRISA架構[8],DRISA架構基于DRAM工藝實現了卷積神經網絡的計算功能,提供大規模片上存儲的同時也提供較高的計算性能。作者采用高密度的DRAM工藝,通過對DRAM存儲陣列中存儲位線的重新設計來實現簡單的布爾邏輯和移位電路,并串行迭代使用這些電路來支持加法和乘法等復雜運算。其基本思想有兩種實現方式。一種是將字線WL拆分為讀字線rWL和寫字線Wwl,位線BL拆分為讀位線rBL和寫位線wBL,分別支持讀操作和寫操作。增加了一個晶體管將電容從讀位線rBL中解耦合出來,這個晶體管是NOR的形式,從而可以天然的實現NOR邏輯操作。另一種實現方式是保持DRAM的cell單元不變,在靈敏放大器端增加額外的邏輯門和latch來實現AND和OR操作。通過實驗表明,在這種設計下,針對整數運算,與GPU相比,DRISA可以獲得7.7倍的性能提升和15倍的能效提升。

3.2 基于非易失性存儲器的新型計算型存儲/存算一體

非易失性存儲器在最近十幾年得到了飛速的發展[9],包括自旋矩磁存儲器STTRAM[10],相變存儲器PCM[11]、阻變存儲器RRAM等[12]。工業界和商業界已經發布了眾多容量達到Gb量級的產品,Micon在2010年發布了45nm工藝的1Gb的PCM[13],三星2012年推出了20nm工藝的8Gb PCM[14],隨后在2015年Micron聯合三星一起推出了27nm的16Gb conductive bridge (CBRAM, 一種特殊的RRAM)[15]。 同年, Micron和Intel共同發布了128Gb 3D XPoint 技術[16]。2013年,Toshiba聯合Sandisk發布了24nm工藝的32Gb RRAM[17]。

隨著非易失性存儲器產品的不斷成熟,容量不斷增大,研究者開始考慮基于非易失性存儲器構建存儲系統的可能性。同時,由于非易失性存儲器對計算和存儲的天然融合性,很多的研究和產品開始朝著基于非異失性存儲器的計算型存儲/存算一體發展。

相變存儲器

相變存儲(PCM)是基于硫屬化物玻璃材料,能在施加合適電流時將介質從晶態變為非晶態并再變回晶態,基于材料所表現出來的導電性差異來存儲數據。

2016年6月,IBM蘇黎世研究院在《Nature》發文,宣稱創造出了世界上首個人工納米級的隨機相變神經元,可用于創造人工神經元,該人工神經元的膜電位可由該納米相變器件的相結構表示。

2018年6月8日IBM 在Nature 期刊發表的論文提出了全新芯片設計的方案,通過PCM存儲技術實現在數據存儲的位置執行計算來加速全連接神經網絡的訓練,且該芯片可以達到 GPU 280 倍的能源效率,并在同樣面積上實現 100 倍的算力。這篇文章基于2016年研究出的相變器件構建了“突觸單元”。每個單元由一對相變存儲器 ( PCM ) 單元和三個晶體管和一個電容器的組合構成,相變存儲器單元將重量數據存儲在其電阻中,電容器將重量數據存儲為電荷。PCM 是一種「非易失性存儲器」,意味著即使沒有外部電源,它也保留存儲的信息,而電容器是「易失性的」,因此只能保持其電荷幾毫秒。但電容器沒有 PCM 器件的可變性,因此可以快速準確地編程。當神經網絡經過圖片訓練后可以進行分類任務時,只有電容器權重被更新了。在觀察了數千張圖片之后,權重會被傳輸到 PCM 單元以長期存儲。

基于阻變存儲器ReRAM/憶阻器的計算型存儲/存算一體

憶阻器最早由美國柏克萊大學的蔡少棠于1971年提出[18]。2008 年,美國惠普實驗室在《Nature》上發文[16],首次將材料研究中發現的電致阻變現象和憶阻器理論聯系起來,使“憶阻器”有了真實的器件原型。憶阻器是一種有記憶功能的非線性電阻,其電阻會隨著流過的電路而改變。在斷電之后,即使電流停止了,電阻值仍然會保持下去,直到反向電流通過,它才會返回原狀。所以,通過控制電流變化可以改變其阻值,例如將高阻值定義為1,低阻值定義為0,從而實現數據存儲功能。

2010年惠普實驗室再次宣布憶阻器具有布爾邏輯運算功能,這意味著計算和存儲兩大功能可以再憶阻器上合為一體,可能從根本上顛覆傳統馮諾依曼架構奠定了器件基礎。首個使用憶阻器實現邏輯存儲融合的實例是由2010年Borghetti等在《nature》上報道的“材料蘊含邏輯(IMP 邏輯)”[19]。這是一個具有里程碑意義的工作,因為它展示的“狀態邏輯”概念突破了傳統 CMOS 電路中的邏輯映射方法[20,21]:在CMOS 邏輯中, 輸入和輸出信號由電路中的節點電壓(電平信號) 代表, 通過MOS管的互連結構的使得節點電壓之間滿足某種邏輯函數關系;而在“IMP 邏輯”中,邏輯的輸入輸出由憶阻器的電阻狀態表示,通過外加操作電壓而有“條件地”完成置位(SET)功能,從而在輸出(操作后的電阻)和輸入(操作前的電阻)之間建立邏輯函數關系。

自從 Borghetti 等報道“IMP 邏輯”的實驗結果后[19],這種新的邏輯存儲融合技術引起了多個研究領域的關注,展開了一場基于憶阻器實現新型計算模式的研究熱潮。2010 年至今,基于憶阻器邏輯計算展開了眾多研究工作:

第一類為“憶阻器類CMOS 邏輯”,例如“憶阻器比邏輯”[22]、“憶阻器閾值邏輯”[23,24]等。這類邏輯實現技術是利用憶阻器的分壓特性和閾值轉變特性影響電路中某一節點電壓,使節點電壓之間滿足某種邏輯函數關系。 其邏輯映射方式與CMOS 邏輯電路極其類似。憶阻器的相互連接決定了邏輯功能。在完成邏輯功能的過程中,并沒有非易失性的物理量參與邏輯信息的保存和傳遞,因此,它不屬于邏輯存儲融合的范疇,在構建存儲計算融合計算系統上并無優勢。

第二類為“邏輯存儲融合技術”[25,26]。與 CMOS 邏輯不同,邏輯存儲融合電路中不以電壓信號作為邏輯輸出的載體,而是非易失性的電阻狀態。邏輯操作跨越器件狀態的一個前后變化過程,電阻狀態的邏輯輸出自發的存儲于器件中,實現邏輯和存儲功能的融合,為構建存儲計算融合的硬件體系結構提供了細粒度的支持。

第三類為“運算存儲融合技術”,例如“乘加運算存儲融合”[27]、“憶阻器多值邏輯”[28]等。這類電路策略也可用于實現存儲計算融合計算系統,但其與“邏輯存儲融合技術”略有區別:它的基本單元功能為一個復雜運算 (邏輯) 功能表達式,而不是某個具體的邏輯操作。

圣芭芭拉大學的謝源的研究團隊在2018年的ISCA會議和2017年的VLSI Symposium上發表了PRIME架構。PRIME基于憶阻器實現神經網絡計算。2019年謝源和新竹清華大學張孟凡團隊以及北京清華大學的劉勇攀教授團隊、汪玉教授團隊合作,將PRIME架構在150nm工藝下流片,在ReRAM中實現了神經網絡計算,功耗可以降低20倍,速度提高50倍。計算的功耗和性能大大的提高。

憶阻器與生物大腦的神經網絡相似,可以同時處理許多任務。最重要的是,它無需移動數據,可以并行地處理大量信號,特別適合于機器學習系統。編程實踐大概10-1000ns,可編程次數10^6-10^12次。

基于浮柵器件/Flash的計算型存儲/存算一體

浮柵器件工藝成熟,編程時間10-1000ns,可編程次數10^5,存儲陣列大,實現量產運算精度高,密度大,效率高,成本低。適合深度學習和人工智能應用。

目前基于閃存的計算型存儲/存算一體的是一家存算一體芯片設計公司,知存科技。閃存的存儲單元為三端器件,知存科技利用這一特點,基于NOR Flash構建了存算一體芯片。把乘數直接存入存儲單元內,再把數值輸入到閃存的陣列之中。每個單元都進行乘法,最后通過一條路徑求和,就可以達到存算一體的效果。乘法計算的方式是通過類似模擬電路的電流鏡方式。輸入電流轉換成電壓耦合到Flash晶體管的控制柵上,Flash晶體管的輸出電流等于輸入電流和存儲的權重相乘。加法的計算方式類似于并聯電路電流求和。具體的實現細節并未被披露出來,目前還未知其內部的設計。根據宣稱,2016 和 2017年知存科技的 CTO 曾做出了多個樣品,最高峰值運算效率為40TOPS/W,平均值為 10TOPS/W。

4? 挑戰

面對日益嚴重的存儲墻問題、訪存功耗問題以及人工智能應用帶來的驅動,計算型存儲/存內計算/存算一體提供了一種有前途的方法。從目前的實現方式看,計算型存儲/存內計算/存算一體分成了兩個路線:基于成熟的易失性存儲和不成熟的非易失性存儲。無論是哪種路線,都存在一定的挑戰:

1)基于成熟的易失性存儲:這種方式下的計算型存儲/存內計算/存算一體需要融合處理器工藝和存儲器工藝。但由于目前處理器與存儲器的制造工藝不同,若要在處理器上實現存儲器的功能,則可能會降低存儲器的存儲密度;若要在存儲器上實現處理器的功能,則可能會影響處理器的運行速度。很難在性能和容量上有一個很好的折衷。

2)基于不成熟的非易失性存儲:非易失性存儲對存儲和計算的天然融合特定是構建計算型存儲/存內計算/存算一體的最佳器件。但是,由于目前廠商和工藝均未成熟。經濟上,除了對用于生產這些新技術的現有存儲器制造設施的更多投資之外,只要他們仍然可以使用DRAM或Flash就很難讓用戶轉到新技術上。

然而,我們仍然堅信新興的NVM將成為計算型存儲/存內計算/存算一體的支持技術。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,818評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,185評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,656評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,647評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,446評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,951評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,041評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,189評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,718評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,602評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,800評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,316評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,045評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,419評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,671評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,420評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,755評論 2 371

推薦閱讀更多精彩內容

  • 存儲器層次結構 一、存儲器概述 1.存儲器的分類 1.按存儲元件分類 半導體存儲器 磁表面存儲器 光盤存儲器 2....
    我可能是個假開發閱讀 5,958評論 1 4
  • 首先說一個概念:DMA(Direct Memory Access,直接存儲器訪問) 是所有現代電腦的重要特色,它允...
    風骨散人Chiam閱讀 558評論 0 0
  • 表情是什么,我認為表情就是表現出來的情緒。表情可以傳達很多信息。高興了當然就笑了,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 125,537評論 2 7
  • 16宿命:用概率思維提高你的勝算 以前的我是風險厭惡者,不喜歡去冒險,但是人生放棄了冒險,也就放棄了無數的可能。 ...
    yichen大刀閱讀 6,075評論 0 4