System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現(xiàn)步驟摘要】
本申請實施例涉及芯片,具體涉及一種存算一體電路、芯片系統(tǒng)及電子設備。
技術介紹
1、在傳統(tǒng)的馮諾依曼計算架構中,數(shù)據(jù)需要在相互分離的存儲單元和計算單元間進行頻繁且大量的傳輸,這成為提升計算效率的瓶頸。
2、存算一體架構通過在存儲單元中實現(xiàn)計算功能避免了數(shù)據(jù)在總線上的頻繁搬移,存算一體在能耗效率和面積開銷上的優(yōu)勢能夠在神經(jīng)網(wǎng)絡加速等計算密集和訪問密集場景中得到很好的應用。其中,部分并行數(shù)字存算一體方案將存儲單元和乘加計算單元集成在一起,無需進行數(shù)字與模擬信號間的轉(zhuǎn)換,可以實現(xiàn)高精度的計算。
3、但是在部分并行數(shù)字存算方案中,需要經(jīng)過位線預充電、字線開啟和位線放電等預讀取操作才能將數(shù)據(jù)傳遞至計算單元中完成計算,具有較大的計算時延。
技術實現(xiàn)思路
1、本申請實施例提供一種存算一體電路,用于降低計算時延。本申請實施例還提供了相應的芯片系統(tǒng)及電子設備。
2、本申請第一方面提供一種存算一體電路,該存算一體電路包括第一存儲陣列、第二存儲陣列、計算單元和選擇器;選擇器用于交替將第一數(shù)據(jù)和第二數(shù)據(jù)傳輸至計算單元,第一數(shù)據(jù)為第一存儲陣列完成預讀取操作后輸出的數(shù)據(jù),第二數(shù)據(jù)為第二存儲陣列完成預讀取操作后輸出的數(shù)據(jù);計算單元用于在第一時間周期接收外部輸入信號,并計算外部輸入信號與第一數(shù)據(jù)的第一計算結果,或在第二時間周期接收外部輸入信號,并計算外部輸入信號與第二數(shù)據(jù)的第二計算結果;第一存儲陣列用于在第二時間周期內(nèi)完成預讀取操作,第二存儲陣列用于在第一時間周期內(nèi)完成預讀取操
3、本申請中,第一存儲陣列和第二存儲陣列內(nèi)都包括多個存儲器,該存儲器為靜態(tài)隨機存取存儲器(static?random?access?memory,sram)。sram內(nèi)的數(shù)據(jù)為權重數(shù)據(jù),經(jīng)過預讀取操作后分別作為第一數(shù)據(jù)和第二數(shù)據(jù)輸出給選擇器。
4、本申請中,選擇器交替將第一數(shù)據(jù)和第二數(shù)據(jù)傳輸至計算單元,同樣的,第一存儲陣列和第二存儲陣列也交替進行預讀取操作。
5、本申請中,從外部輸入信號(該外部輸入信號用于與第一數(shù)據(jù)計算)開始輸入給計算單元起,到計算單元完成外部輸入信號與第一數(shù)據(jù)的計算,得到第一計算結果止,這段時間周期為第一時間周期,而第二數(shù)據(jù)在第一時間周期內(nèi)完成預讀取操作,同樣的,第一數(shù)據(jù)在第二時間周期內(nèi)完成預讀取操作,第一數(shù)據(jù)和第二數(shù)據(jù)預讀取操作的時間被第一時間周期和第二時間周期覆蓋,從而隱藏了第一數(shù)據(jù)和第二數(shù)據(jù)預讀取的時間。
6、該第一方面,選擇器用于交替將第一數(shù)據(jù)和第二數(shù)據(jù)傳輸至計算單元,其中第一數(shù)據(jù)為第一存儲陣列完成預讀取操作后輸出的數(shù)據(jù),第二數(shù)據(jù)為第二存儲陣列完成預讀取操作后輸出的數(shù)據(jù),計算單元在第一時間周期接收外部輸入信號,并計算外部輸入信號與第一數(shù)據(jù)的第一計算結果,或在第二時間周期接收外部輸入信號,并計算外部輸入信號與第二數(shù)據(jù)的第二計算結果,其中,第一存儲陣列用于在第二時間周期內(nèi)完成預讀取操作,第二存儲陣列用于在第一時間周期內(nèi)完成預讀取操作,通過交替流水線式的操作在不同存儲陣列間切換讀取,從而隱藏了數(shù)據(jù)預讀取的時間,降低了計算時延。
7、在第一方面的一種可能的實現(xiàn)方式中,預讀取操作包括第一存儲陣列或第二存儲陣列的位線預充電操作、字線開啟操作和位線放電操作。
8、該種可能的實現(xiàn)方式中,第一存儲陣列或第二存儲陣列進行位線預充電操作、字線開啟操作和位線放電操作,來完成與預讀取操作,將第一數(shù)據(jù)或第二數(shù)據(jù)傳輸至選擇器,提升了方案的可實現(xiàn)性。
9、在第一方面的一種可能的實現(xiàn)方式中,第一存儲陣列中的第一存儲器和第二存儲陣列中的第二存儲器為六管靜態(tài)隨機存取存儲器。
10、該種可能的實現(xiàn)方式中,第一存儲器和第二存儲陣列采用高密度的六管sram單元,從而提高權重存儲密度,降低芯片面積開銷。
11、在第一方面的一種可能的實現(xiàn)方式中,第一存儲陣列中的第一存儲器和第二存儲陣列中的第二存儲器分別使用一條字線和兩條位線完成預讀取操作。
12、該種可能的實現(xiàn)方式中,通過分塊讀取的方式實現(xiàn)交替流水線式的操作而不互相干擾,提升了方案的可實現(xiàn)性。
13、在第一方面的一種可能的實現(xiàn)方式中,第一存儲陣列包括第一字線、第一位線和第二位線,第二存儲陣列包括第二字線、第三位線和第四位線;第一字線分別與第一位線和第二位線連接,第二字線分別與第三位線和第四位線連接;第一存儲陣列基于第一字線,以及第一位線或第二位線完成預讀取操作;第二存儲陣列基于第二字線,以及第三位線或第四位線完成預讀取操作。
14、該種可能的實現(xiàn)方式中,第一存儲陣列和第二存儲陣列基于第一運算單元上下分離,每個存儲陣列中的存儲器只需要使用一條字線即可完成預讀取操作,進一步提升了方案的可實現(xiàn)性。
15、在第一方面的一種可能的實現(xiàn)方式中,第一存儲陣列中的第一存儲器和第二存儲陣列中的第二存儲器分別使用兩條字線中的一條,且共用兩條位線完成預讀取操作。
16、該種可能的實現(xiàn)方式中,通過分裂字線的方式實現(xiàn)交替流水線式的操作而不互相干擾,提升了方案的可實現(xiàn)性。
17、在第一方面的一種可能的實現(xiàn)方式中,第一存儲陣列包括第一字線、第二字線、第一位線和第二位線,第二存儲陣列包括第三字線、第四字線、第一位線和第二位線;第一位線分別與第一字線和第三字線連接,第二位線分別與第二字線和第四字線連接;當?shù)谝淮鎯﹃嚵谢诘谝晃痪€完成預讀取操作時,在下一個第一時間周期,第二存儲陣列基于第二位線完成預讀取操作;當?shù)谝淮鎯﹃嚵谢诘诙痪€完成預讀取操作時,在下一個第一時間周期,第二存儲陣列基于第一位線完成預讀取操作。
18、該種可能的實現(xiàn)方式中,第一存儲陣列和第二存儲陣列基于奇偶行進行分離,兩個存儲陣列共用兩條位線即可完成預讀取操作,進一步提升了方案的可實現(xiàn)性。
19、在第一方面的一種可能的實現(xiàn)方式中,第一數(shù)據(jù)的數(shù)量為m,第二數(shù)據(jù)的數(shù)量為n,m和n為大于1的整數(shù),計算單元包括第一運算單元和第二運算單元;第一運算單元用于計算外部輸入信號與m個第一數(shù)據(jù),得到m個第三計算結果,或計算外部輸入信號與n個第二數(shù)據(jù),得到n個第四計算結果;第二運算單元用于計算m個第三計算結果,得到第一計算結果,或計算n個第四計算結果,得到第二計算結果。
20、該種可能的實現(xiàn)方式中,計算單元進行乘加運算和加法樹運算,且可以擴展并行度,實現(xiàn)多個存儲陣列同時進行乘加運算,最后由加法樹將多個乘加運算的結果進行進一步運算,提升了方案的可實現(xiàn)性。
21、在第一方面的一種可能的實現(xiàn)方式中,第一運算單元為靈敏放大器,或第一運算單元為反相器和邏輯門電路的組合。
22、在第一方面的一種可能的實現(xiàn)方式中,第二運算單元為加法樹。
23、在第一方面的一種可能的實現(xiàn)方式中,選擇器為晶體管或傳輸門。
24、在第一方面的一種可能的實現(xiàn)方式中,第一時間周期和第二時間周期連續(xù)。
25、該種可能的實現(xiàn)方式中,在加法樹計算得到第一存本文檔來自技高網(wǎng)...
【技術保護點】
1.一種存算一體電路,其特征在于,包括第一存儲陣列、第二存儲陣列、計算單元和選擇器;
2.根據(jù)權利要求1所述的電路,其特征在于,所述預讀取操作包括所述第一存儲陣列或所述第二存儲陣列的位線預充電操作、字線開啟操作和位線放電操作。
3.根據(jù)權利要求2所述的電路,其特征在于,所述第一存儲陣列中的第一存儲器和所述第二存儲陣列中的第二存儲器為六管靜態(tài)隨機存取存儲器。
4.根據(jù)權利要求3所述的電路,其特征在于,所述第一存儲陣列中的第一存儲器和所述第二存儲陣列中的第二存儲器分別使用一條字線和兩條位線完成所述預讀取操作。
5.根據(jù)權利要求4所述的電路,其特征在于,所述第一存儲陣列包括第一字線、第一位線和第二位線,所述第二存儲陣列包括第二字線、第三位線和第四位線;
6.根據(jù)權利要求3所述的電路,其特征在于,所述第一存儲陣列中的第一存儲器和所述第二存儲陣列中的第二存儲器分別使用兩條字線中的一條,且共用兩條位線完成所述預讀取操作。
7.根據(jù)權利要求6所述的電路,其特征在于,所述第一存儲陣列包括第一字線、第二字線、第一位線和第二位線
8.根據(jù)權利要求1-7中任一項所述的電路,其特征在于,所述第一數(shù)據(jù)的數(shù)量為m,所述第二數(shù)據(jù)的數(shù)量為n,m和n為大于1的整數(shù),所述計算單元包括第一運算單元和第二運算單元;
9.根據(jù)權利要求8所述的電路,其特征在于,所述第一運算單元為靈敏放大器,或所述第一運算單元為反相器和邏輯門電路的組合。
10.根據(jù)權利要求8所述的電路,其特征在于,所述第二運算單元為加法樹。
11.根據(jù)權利要求1-10中任一項所述的電路,其特征在于,所述選擇器為晶體管或傳輸門。
12.根據(jù)權利要求1-11中任一項所述的電路,其特征在于,所述第一時間周期和所述第二時間周期連續(xù)。
13.一種芯片系統(tǒng),其特征在于,包括如權利要求1-12中任一項所述的存算一體電路。
14.一種電子設備,其特征在于,包括如權利要求1-12中任一項所述的存算一體電路。
...【技術特征摘要】
1.一種存算一體電路,其特征在于,包括第一存儲陣列、第二存儲陣列、計算單元和選擇器;
2.根據(jù)權利要求1所述的電路,其特征在于,所述預讀取操作包括所述第一存儲陣列或所述第二存儲陣列的位線預充電操作、字線開啟操作和位線放電操作。
3.根據(jù)權利要求2所述的電路,其特征在于,所述第一存儲陣列中的第一存儲器和所述第二存儲陣列中的第二存儲器為六管靜態(tài)隨機存取存儲器。
4.根據(jù)權利要求3所述的電路,其特征在于,所述第一存儲陣列中的第一存儲器和所述第二存儲陣列中的第二存儲器分別使用一條字線和兩條位線完成所述預讀取操作。
5.根據(jù)權利要求4所述的電路,其特征在于,所述第一存儲陣列包括第一字線、第一位線和第二位線,所述第二存儲陣列包括第二字線、第三位線和第四位線;
6.根據(jù)權利要求3所述的電路,其特征在于,所述第一存儲陣列中的第一存儲器和所述第二存儲陣列中的第二存儲器分別使用兩條字線中的一條,且共用兩條位線完成所述預讀取操作。
7.根據(jù)權利要求6所述的電路,其特征在于...
【專利技術屬性】
技術研發(fā)人員:張曉東,吳威,倪磊濱,王晨宇,
申請(專利權)人:華為技術有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。