如果數(shù)據(jù)不能足夠快地到達(dá)處理器,則將處理器放到數(shù)據(jù)中。
這就是GSI Technology的第一個處理器Gemini-1的背后想法 ——它部分是存儲芯片,部分是處理器芯片,而且都是奇怪的。但是它也很擅長于其本身的功能,與“普通”處理器(例如x86或GPU)相比,可將其特定的數(shù)學(xué)函數(shù)能力提高100倍。
GSI可能是處理器業(yè)務(wù)的新手,但該公司成立已有25年以上,擁有170多名員工。在過去的日子里,他們花了大部分的時間來制作SRAM,包括一些用于軍事和航空應(yīng)用的SRAM。據(jù)該公司銷售與投資者關(guān)系副總裁迪Didier Lasserre稱,即使在今天,SRAM仍占其收入的100%,處理器對他們來說,依然是新的業(yè)務(wù)。
這也許可以解釋為什么他們對Gemini-1采取了這種……非常規(guī)的方法。它不是另一臺CISC,RISC甚至是VLIW機(jī)器。它更像是一個智能RAM,在存儲單元之間散布著數(shù)百萬個處理單元。只要使用正確的軟件,數(shù)據(jù)集和 tailwinds,Gemini-1就能每秒產(chǎn)生超過100萬億次操作。即使與英特爾,谷歌,Nvidia或GraphCore最雄心勃勃的芯片相比,這也是個出色成績。
但是它也高度專業(yè)化,并不適合大多數(shù)工作負(fù)載。可以玩飛行模擬器嗎?運行Linux?啟動RTOS?不,不,不。它基本上是按位比較加速器,GSI將其描述為APU:關(guān)聯(lián)處理單元(associative processing unit. )。
Gemini-1最初是大型SRAM,考慮到公司的歷史,這不足為奇。與大多數(shù)SRAM一樣,存儲單元排列成整潔的整齊的行和列,并且–這是重要的部分–這些行和列共享讀/寫位線。GSI在每條位線的末尾放置一個處理器,在這里它可以吸收來自該列中一個或多個SRAM單元的數(shù)據(jù)。將其乘以設(shè)備中的列數(shù),Gemini-1總共擁有約200萬個處理元素。
但是Gemini的許多處理器都很簡單-確實很簡單。他們可以進(jìn)行按位AND,OR,XOR和取反,但這僅此而已。從理論上講,這足以創(chuàng)建“ Turing complete”計算機(jī),該計算機(jī)可以運行世界上的任何代碼,但這并不是Gemini的真正目的。相反,它旨在解決大規(guī)模并行算術(shù)/邏輯問題,就像您在搜索或加密算法的內(nèi)部循環(huán)中看到的那樣。
具體而言,Gemini擅長計算 Hamming distance, Tanimoto similarity, k-nearest neighbors (KNN)或者SHA hashing。這樣可以很好地搜索照片或生化“指紋”的大型數(shù)據(jù)庫。
Gemini-1的die照片看起來和其他任何SRAM都一樣,因為它主要是SRAM。邏輯部分幾乎看不到。但是,它不能像SRAM一樣工作。它有96 Mbit的L1高速緩存,2 Mbit的L2高速緩存和48 Mbit的區(qū)域,GSI將該區(qū)域稱為MMB(主內(nèi)存塊)。GSI的商用SRAM使用6T SRAM單元制造,而Gemini使用很多10T單元。該部分是采用臺積電的28nm工藝制造的。
對Gemini-1進(jìn)行編程與其硬件體系結(jié)構(gòu)一樣獨特,GSI正在努力解決這一問題。整個芯片(共200萬個處理單元)通常將執(zhí)行相同的操作,從而使Gemini-1成為大型SIMD機(jī)器。但是,從邏輯上講,您可以將設(shè)備一分為二,并使這兩個部分做不同的事情。您也可以將其劃分為四種方式,但這是極限。
GSI已經(jīng)提供了一些軟件庫,并且還在不斷增加中,以使對芯片的編程更加容易訪問。就目前而言,編碼人員需要GSI的一些培訓(xùn),以及對芯片設(shè)計和他們自己的數(shù)據(jù)的深入了解。要以最快的速度通過Gemini-1選流數(shù)據(jù),需要仔細(xì)研究數(shù)據(jù)如何分區(qū)以及如何進(jìn)出設(shè)備。位置決定一切。
內(nèi)存比微處理器慢很多是我們這個時代的悖論之一。這就是為什么我們通過緩存來彌補(bǔ)差異,并在緩存之上建立緩存,這似乎是無限的。在CPU和RAM之間來回移動數(shù)據(jù)非常浪費時間和精力。這就是為什么GSI將處理器放在數(shù)據(jù)所在的位置。
盡管如此,GSI還是發(fā)現(xiàn),如果您對性能基準(zhǔn)的選擇非常嚴(yán)格,那么Gemini的性能可以比其他處理器高出100倍。它不是系統(tǒng)中的主處理器,但是如果有合適的選擇,它可以成為出色的加速器。