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