最近的ISSCC上,臺積電的研究人員提出了一種基于數字改良的SRAM設計存內計算方案,能支持更大的神經網絡. 上圖顯示了臺積電用于其測試的擴展SRAM陣列配置——陣列的一部分被圈出。每個切片具有256個數據輸入,它們連接到“ X”邏輯(稍后將對此邏輯進行更多介紹)。數據輸入向量的連續位在連續的時鐘周期中提供給“ X”門。每個切片存儲256個4位權重段,每個數據輸入一個權重半字節。這些權重位使用常規的SRAM單元,因為它們可能會經常更新。存儲在每個權重位中的值連接到“ X”邏輯的另一個輸入。 下圖說明了如何將此邏輯集成到SRAM中 其中“ X”是2輸入或非門,具有數據輸入和權重位作為輸入。(兩個“一位”值的乘積由“與”門實現;通過使用反相信號值和DeMorgan定理,2輸入“或非”門在面積和功率方面都具有效率。)在每個限幅之間,有一個加法器樹和一個加法器樹。集成了部分和累加器邏輯,如下圖所示。 上圖中的加權位存儲使用常規的SRAM拓撲-對于6T的位單元,加權位字線和位線照常連接。每個單元上的存儲值都扇出到或非門的一個輸入。 每個切片的輸出表示每個權重向量的半字節的部分乘積和。擴展數組之外的其他邏輯提供了移位和相加計算,以實現更寬的權重值表示。例如(有符號或無符號整數)16位權重將合并來自四個條帶的累加器結果。 |