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