讓記憶體幹CPU的活兒 這項技術將晶片運作速度提升百倍

實習記者 于紫月

近日,美國普林斯頓大學研究人員推出了一款新型電腦晶片,其運作速度是傳統晶片的百倍。有媒體稱其採用了“記憶體計算”技術,使計算效率得到大幅提升。

這一神奇的技術到底是什麼?它為何能顯著提高晶片性能?科技日報記者就此採訪了相關專家。

高度整合,把計算與存儲功能合二為一

對於我們常用的電腦來説,記憶體可分為內部記憶體和外部記憶體。內部記憶體,即“記憶體”,是電腦的主記憶體。它的存取速度快,但只能儲存臨時或少量的數據和程式。

外部記憶體,通常被稱為“外存”,它包括硬碟、軟碟、光碟、隨身碟等,通常可永久存儲大量數據,如作業系統、應用程式等。當運作某一程式時,處理器(CPU)會先從記憶體中讀取數據,而後將一部分結果寫入記憶體,並選擇性地將另一部分結果寫入外存進行永久保存。

也就是説,通常情況下,記憶體只能存儲少量數據,電腦中大部分數據都“住”在外存。當CPU運作程式時就需要調取數據,若調取“住”在記憶體的數據,則用時較少;若調取“住”在外存的數據,則可能要費些週折。

因此科學家就想,能否把數據都存在記憶體裏呢?於是,記憶體計算技術出現了。

“記憶體計算技術是伴隨著大數據處理技術的興起而興盛起來的。在處理大數據過程中,由於數據量極大,處理數據時頻繁訪問硬碟這些外存會降低運算速度。隨著大容量記憶體技術的興起,專家開始提出在初始階段就把數據全部載入到記憶體中,而後可直接把數據從記憶體中調取出來,再由處理器進行計算。這樣可以省去外存與記憶體之間的數據調入/調出過程,從而大大提升計算速度。”北京航空航太大學電腦學院教授、中德聯合軟體研究所所長劉軼告訴科技日報記者。

“但普林斯頓大學研發團隊採用的‘記憶體計算’技術與上述概念中所指的記憶體計算並不完全相同。”劉軼説,普林斯頓大學所採用的技術其實是PIM(Process in-memory),通常被翻譯為“存內計算”“存算一體”或“計算存儲一體化”。

“PIM技術是指直接在記憶體中處理數據,而不是把數據從記憶體讀取到處理器中進行處理。”劉軼指出,PIM的技術概念在1990年就已被提出,雖然相關研究論文早已發表出來,但相關技術始終難以落地。

劉軼認為“難落地”的主要原因在於,PIM技術尚難以達到傳統電腦馮·諾依曼結構的靈活性和通用性水準。“目前,學界所提出的PIM技術,只能做某些類別的應用,難以實現靈活編程。”他説。

可解決“存儲墻”問題,大幅提升性能

在劉軼看來,PIM技術的重要價值在於,其能解決傳統電腦結構存在的“存儲墻”問題。傳統電腦採用的馮·諾依曼結構,需要CPU從記憶體中取出指令並且執行,某些指令又需要從記憶體讀取數據進行處理,再將結果寫回記憶體。由於處理器所執行的程式和待處理的數據都被存在記憶體中,這樣處理器在運作過程中需要頻繁訪問記憶體。隨著微電子技術的發展,處理器性能的進步速度逐漸快於記憶體性能。

近30年來,處理器性能每年提升55%,而記憶體訪問速度每年僅提升7%。這使得處理器的處理速度遠遠快於記憶體的讀取速度,直接導致了“存儲墻”的出現,嚴重拖慢了程式執行速度。

“這好比一個人消化能力很強,飯桌上也有很多食物,但這個人的嗓子眼兒很細,咽不下去。這就使得強大的消化能力‘無用武之地’,也限制了這個人吃東西的速度。”劉軼説。

“近年來深度學習等新型演算法的興起,對推倒‘存儲墻’提出了更迫切的需求。”劉軼指出,新型演算法訪問記憶體的模式跟傳統模式不太相同,刷臉、圖片識別、機器翻譯等新型演算法往往以類似於人腦的方式實現對複雜數據的處理。由於這類演算法涉及的神經元數量多、訓練樣本量大,這導致在通用電腦上進行深度學習計算的效率比較低。

為了提高效率,科研人員開發了各種加速部件和專用的深度學習處理器,前者的典型代表是圖形處理器(GPU),後者的典型代表有谷歌公司的張量處理器(TPU)、國內的寒武紀處理器等。

“CPU、GPU等處理器通過總線與記憶體相連,總線的傳輸速度決定了計算的效率。”中國自動化學會混合智慧專業委員會副主任、復旦大學電腦學院教授張軍平告訴科技日報記者,人們正在嘗試通過改進,減少數據在總線上的傳輸次數,提高計算效率。例如,科研人員讓CPU具備部分的GPU功能,或使GPU具備一些CPU的功能等。

劉軼表示,上述改進措施仍然屬於馮·諾依曼結構,不能從根本上解決“存儲墻”問題。相比之下,PIM技術在解決“存儲墻”問題上更具優勢。首先,它的計算模式更適合深度學習等新型計算模式;其次,PIM技術避免了馮·諾依曼結構處理器頻繁訪問記憶體這一問題,減少了數據傳輸次數,降低了功耗。

具有發展潛力,但尚難取代通用處理器

記者通過查閱資料發現,PIM技術應用最大的難點在於製造工藝。

PIM技術需要利用先進的半導體工藝將處理器和記憶體整合在同一晶片內,使之通過片上網路相互連接。但由於目前處理器與記憶體的製造工藝不同,若要在處理器上實現記憶體的功能,則可能會降低記憶體的存儲密度;若要在記憶體上實現處理器的功能,則可能會影響處理器的運作速度。

張軍平指出,現階段記憶體本身不具備計算功能,因此若想實現記憶體計算或PIM技術都需要對記憶體進行重新設計。

“普林斯頓大學不是專業的晶片公司,其推出的新型晶片可能只是一種技術上的探索,離真正的産業化應用還有相當長的距離。”張軍平認為,隨著固態硬碟等技術的發展,如果硬碟讀寫速度足以媲美記憶體,記憶體與外存可能被整合為新型大容量高速記憶體。未來最理想的情況是,CPU、GPU等多種處理器與大容量高速記憶體實現一體化高度整合。

劉軼強調,普林斯頓大學設計的這種處理器是一種專用處理器,它只針對深度學習應用,無法取代傳統的通用處理器。

“正如華為、蘋果等公司推出的高端手機上大多配置了深度學習處理器,但只作為附屬部件,核心的計算和處理仍然由通用處理器來完成,只是把特定的任務和計算模組交由深度學習處理器來進行計算,而且是在通用處理器的控制之下完成的。”劉軼説。

“短期來看,PIM技術只能被用於特定類別的應用場景,難以取代通用處理器。”劉軼認為,從長遠來看,如果半導體材料和器件技術無法取得突破,積體電路的摩爾定律將在不久的未來失效,即積體電路晶片內的電晶體數量將停止增長。這會對傳統的電腦系統結構乃至電腦硬體和軟體産業造成巨大的影響,由此也很可能引發重大的技術變革。當新的計算結構出現時,高度整合化的系統可能會對PIM技術有更多需求,但該技術能否成為主流仍有待觀察。