塞車了!縮短資料運算與儲存間「通勤」距離,紓緩交通壅塞
台大電機系 吳奕萱
《電腦與人腦》作者,著名數學家暨電腦學家范紐曼(John von Neumann)於1945年提出「儲存程式邏輯」的概念,為電子電腦的邏輯結構奠定基礎。范紐曼型架構(von Neumann architecture)由中央處理單元(central processing unit, CPU)、記憶單元、以及輸入輸出裝置組成,其中CPU 中又包含控制單元(Control unit)、算術邏輯單元(arithmetic logic unit, ALU)、暫存器(Register),分別扮演工頭、工人、與倉儲的角色。
然而如此將CPU與記憶體分開的設計,在現實應用上卻形成了「范紐曼瓶頸」:當CPU需要從巨大資料上執行簡單指令時,資料在記憶體讀寫程序上耗費大量時間,使得CPU經常處於閒置狀態,嚴重限制了整體效率。舉例來說,執行簡單運算功能時,將資料從裝置傳輸到雲端所需的能量,甚至是運算本身所需能量的十到百倍。聽起來有些荒謬,但這確實是目前許多在 von Neumann 架構上執行運算時,所面臨的問題。因此,是時候重新檢視處理器與記憶體的空間配置,解決資料傳輸「交通壅塞」的問題了。
創新一:奈米碳管「電腦」
電腦由處理器組成,處理器晶片中有各式各樣的電晶體。過去數十年來,研發人員持續縮小傳統金屬氧化物半導體場效電晶體(MOSFET)的大小,驅動了運算速度的提升。然而物體尺寸上的革新有其極限,因此有人嘗試從材料著手,製作奈米碳管場效電晶體(CNFET),利用奈米碳管高長徑比的特性(徑向尺度奈米量級,軸向尺度微米量級),突破矽材料體積限制。
在2017年一篇Nature研究報告中[1],Mitra團隊提出3D積體電路系統,整合電阻式隨機存取記憶體(Resistive RAM, RRAM)、CNFET運算單元、記憶體電路、以及感應器,在架構與材料上進行創新。這些元件在垂直方向上層層交疊,相較於2D單層的電晶體配置,它縮短了不同功能元件間的物理距離。積體電路的製程上,運算層與資料儲存層之間以緻密的金屬導線via相連,如圖一所示。相較於傳統堆疊不同晶片成為單一封裝的多晶片模組(Multi-Chip Module, MCM),此設計讓運算層、資料儲存層、與輸出輸入層之間有較大的資料傳輸頻寬,紓緩交通壅塞的瓶頸。以辨識周圍氣體種類為例,圖一的五個次系統分別扮演以下角色:(1) 運算次系統(Computation,位於第二層)為SVM(Support Vector Machine)分類器,由CNFET構成,從氣體感測器收集的原始資料中,產生初步判斷結果(例如:判別蒸氣種類)。(2) 資料儲存次系統(Memory,位於第一、三層)的每個元件由一個電晶體與一個RRAM組成,第三層的RRAM位於第一層電晶體的垂直正上方。(3) 資料存取(Memory access)由CNFET做成的解碼器,讀取與設定行列中的RRAM。(4) 輸入與輸出層(第四層)為偵測化學蒸氣的感測器,由超過一百萬個CNFET反向器組成。每個感測器在資料儲存層有對應的記憶體,排列在其正上方,並分別以via連接。這樣一來,不同感測器的資料傳輸可同步進行,不會受到路徑壅塞的影響而使速率大打折扣。(5) 介面(Interface,第一層)則是諸如放大器的元件,將資料從記憶體引導至CNFET計算層。
這樣的「奈米碳管電腦」可用於環境監測,分辨周圍的水汽究竟來自檸檬汁、醋、酒精,亦或是伏特加或紅酒。
創新二:類比電路「運算衛星」
相較於前述在材料與結構上創新的積體電路,Shanbhag團隊著重於優化控制電路與記憶體排列方式(In-memory architecture)[3]。他們將類比控制電路環繞於記憶體陣列周圍,可就近在這些電路執行簡單的人工智慧演算法。之所以選擇讓電路環繞在記憶體周圍,而沒有穿插在其中,則是為了維持記憶體的儲存密度。通常較高的儲存密度會伴隨較好的傳輸速率。在儲存於靜態RAM的影像上,此類比電路「運算衛星」成功以SVM進行人臉偵測,並輔以最近鄰居法(k-nearest neighbors algorighm, k-NN)執行人臉辨識。
物聯網時代:「AI電路」進行記憶體內運算
記憶體內運算(In-memory Computing, IMC)節省了資料在伺服器與儲存設備間交換所需的時間,在物聯網時代需大量收集並分析資料的環境中,為深度學習的發展提供契機。總體而言,記憶體內運算設計的概念包括:減少資料移動所需之時間與能源、在記憶體端先進行運算再傳出結果,減少移動的資料量、改變資料儲存的位置與形式…等。目前有許多新創公司投入相關的創新設計,很多人看好他們成為「AI電路」的推動者,將人工智慧帶出雲端,走入一般消費性電子產品。
編譯來源:To Speed AI, Mix Memory and Processing
Katherine Bourzac, IEEE Spectrum, April 2018
參考文獻:
- [1] M. Shulaker, G. Hills, R. Park, R.T. Howe, K. Saraswat, H.-S.P. Wong and S. Mitra, “Three-dimensional Integration of Nanotechnologies for Computing and Data Storage on a Single Chip,” Nature, 2017
https://www.nature.com/articles/nature22994 - [2] Max Shulaker, H.-S. Philip Wong and Subhasish Mitra, “How We’ll Put a Carbon Nanotube Computer in Your Hand”, IEEE Spectrum, 2016
https://spectrum.ieee.org/semiconductors/devices/how-well-put-a-carbon-nanotube-computer-in-your-hand - [3] S. K. Gonugondla, M. Kang, Y. Kim, M. Helm, S. Eilert, and N. R. Shanbhag, “Energy-efficient deep in-memory architecture for NAND flash memories”, IEEE International Symposium on Circuits and Systems (ISCAS), May 2018
https://ieeexplore.ieee.org/abstract/document/8351458/ - [4] Computer Science GCSE GURU, “Von Neumann Architecture”,
https://www.computerscience.gcse.guru/theory/von-neumann-architecture