本申請(qǐng)是有關(guān)于一種一種用于浮點(diǎn)數(shù)數(shù)據(jù)存儲(chǔ)器內(nèi)運(yùn)算的存內(nèi)運(yùn)算裝置及其指數(shù)存儲(chǔ)運(yùn)算模塊與尾數(shù)存儲(chǔ)運(yùn)算模塊。
背景技術(shù):
1、存儲(chǔ)器內(nèi)運(yùn)算技術(shù)(computing-in-memory,cim)被視為解決存儲(chǔ)器墻(memorywall)的有效技術(shù)之一,其利用在存儲(chǔ)器內(nèi)的運(yùn)算來(lái)減少數(shù)據(jù)搬移的次數(shù),可以大幅提升運(yùn)算速度至傳統(tǒng)架構(gòu)的幾百甚至幾千倍以上?,F(xiàn)今大型ai網(wǎng)絡(luò)(例如dnn)有很大一部分的能量被消耗在數(shù)據(jù)的搬移中。透過(guò)存儲(chǔ)器內(nèi)運(yùn)算技術(shù)(cim)可以大幅降低因此而虛耗掉的能量,可說(shuō)是兼具增加運(yùn)算能力及降低功耗的未來(lái)ai潛力技術(shù)。
2、存儲(chǔ)器內(nèi)運(yùn)算技術(shù)(cim)的潛力使得許多廠商及研究單位均投入并發(fā)表許多新穎的技術(shù),但只能進(jìn)行整數(shù)運(yùn)算,且采用的類比感測(cè)可能會(huì)造成噪聲或制程變異等問(wèn)題。目前所提出的存儲(chǔ)器內(nèi)運(yùn)算(cim)并無(wú)法支援浮點(diǎn)數(shù)運(yùn)算。因此研究人員正致力于開(kāi)發(fā)支援浮點(diǎn)數(shù)的存儲(chǔ)器內(nèi)運(yùn)算架構(gòu)。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)有關(guān)于一種用于浮點(diǎn)數(shù)數(shù)據(jù)存儲(chǔ)器內(nèi)運(yùn)算的存內(nèi)運(yùn)算裝置及其指數(shù)存儲(chǔ)運(yùn)算模塊與尾數(shù)存儲(chǔ)運(yùn)算模塊,其將浮點(diǎn)運(yùn)算電路集成到存儲(chǔ)器內(nèi)部,避免了數(shù)據(jù)的輸入和輸出,因此具有快速運(yùn)算的優(yōu)勢(shì),并可減少功耗消耗,提高了能源效率。
2、根據(jù)本申請(qǐng)的一方面,提出一種用于浮點(diǎn)數(shù)數(shù)據(jù)存儲(chǔ)器內(nèi)運(yùn)算的存內(nèi)運(yùn)算裝置。該存內(nèi)運(yùn)算裝置包括指數(shù)存儲(chǔ)運(yùn)算模塊及尾數(shù)存儲(chǔ)運(yùn)算模塊。指數(shù)存儲(chǔ)運(yùn)算模塊包括多個(gè)權(quán)重指數(shù)存儲(chǔ)電路、多個(gè)指數(shù)運(yùn)算電路及比較電路。這些權(quán)重指數(shù)存儲(chǔ)電路用以存儲(chǔ)多個(gè)權(quán)重?cái)?shù)據(jù)的指數(shù)部分。這些指數(shù)運(yùn)算電路用以對(duì)多個(gè)輸入數(shù)據(jù)的指數(shù)部分與這些權(quán)重?cái)?shù)據(jù)的指數(shù)部分進(jìn)行加法運(yùn)算,以獲得多個(gè)指數(shù)乘積數(shù)據(jù)。比較電路用以比較這些指數(shù)乘積數(shù)據(jù),以獲得最大指數(shù)乘積數(shù)據(jù)。尾數(shù)存儲(chǔ)運(yùn)算模塊包括位數(shù)位移電路、多個(gè)權(quán)重尾數(shù)存儲(chǔ)電路、多個(gè)尾數(shù)運(yùn)算電路、位移與加法電路、多個(gè)權(quán)重正負(fù)號(hào)存儲(chǔ)電路、多個(gè)正負(fù)號(hào)運(yùn)算電路及加總電路。位數(shù)位移電路用以依據(jù)最大指數(shù)乘積數(shù)據(jù),位移這些輸入數(shù)據(jù)的尾數(shù)部分。這些權(quán)重尾數(shù)存儲(chǔ)電路用以存儲(chǔ)這些權(quán)重?cái)?shù)據(jù)的尾數(shù)部分。這些尾數(shù)運(yùn)算電路用以對(duì)這些輸入數(shù)據(jù)的尾數(shù)部分與這些權(quán)重?cái)?shù)據(jù)的尾數(shù)部分進(jìn)行乘法運(yùn)算,以獲得多個(gè)尾數(shù)乘積中間數(shù)據(jù)。位移與加法電路用以對(duì)這些尾數(shù)乘積中間數(shù)據(jù)進(jìn)行位移后再進(jìn)行加總,以獲得多個(gè)尾數(shù)乘積數(shù)據(jù)。多個(gè)權(quán)重正負(fù)號(hào)存儲(chǔ)電路用以存儲(chǔ)這些權(quán)重?cái)?shù)據(jù)的正負(fù)號(hào)部分。多個(gè)正負(fù)號(hào)運(yùn)算電路用以對(duì)這些輸入數(shù)據(jù)的正負(fù)號(hào)部分與這些權(quán)重?cái)?shù)據(jù)的正負(fù)號(hào)部分進(jìn)行互斥或運(yùn)算,以獲得多個(gè)正負(fù)號(hào)乘積數(shù)據(jù)。加總電路用以整合這些正負(fù)號(hào)乘積數(shù)據(jù)、這些最大指數(shù)乘積數(shù)據(jù)及這些尾數(shù)乘積數(shù)據(jù),以獲得輸入與權(quán)重乘積和數(shù)據(jù)。
3、根據(jù)本申請(qǐng)的另一方面,提出一種指數(shù)存儲(chǔ)運(yùn)算模塊。指數(shù)存儲(chǔ)運(yùn)算模塊包括多個(gè)權(quán)重指數(shù)存儲(chǔ)電路、多個(gè)指數(shù)運(yùn)算電路及比較電路。這些權(quán)重指數(shù)存儲(chǔ)電路用以存儲(chǔ)多個(gè)權(quán)重?cái)?shù)據(jù)的指數(shù)部分。這些指數(shù)運(yùn)算電路用以對(duì)多個(gè)輸入數(shù)據(jù)的指數(shù)部分與這些權(quán)重?cái)?shù)據(jù)的指數(shù)部分進(jìn)行加法運(yùn)算,以獲得多個(gè)指數(shù)乘積數(shù)據(jù)。比較電路用以比較這些指數(shù)乘積數(shù)據(jù),以獲得最大指數(shù)乘積數(shù)據(jù)。
4、根據(jù)本申請(qǐng)的再一方面,提出一種尾數(shù)存儲(chǔ)運(yùn)算模塊。尾數(shù)存儲(chǔ)運(yùn)算模塊包括多個(gè)權(quán)重尾數(shù)存儲(chǔ)電路、多個(gè)尾數(shù)運(yùn)算電路及位移與加法電路。這些權(quán)重尾數(shù)存儲(chǔ)電路用以存儲(chǔ)多個(gè)權(quán)重?cái)?shù)據(jù)的尾數(shù)部分。這些尾數(shù)運(yùn)算電路用以對(duì)多個(gè)輸入數(shù)據(jù)的尾數(shù)部分與這些權(quán)重?cái)?shù)據(jù)的尾數(shù)部分進(jìn)行乘法運(yùn)算,以獲得多個(gè)尾數(shù)乘積中間數(shù)據(jù)。位移與加法電路用以對(duì)這些尾數(shù)乘積中間數(shù)據(jù)進(jìn)行位移后再進(jìn)行加總,以獲得多個(gè)尾數(shù)乘積數(shù)據(jù)。
5、為了對(duì)本發(fā)明的上述及其他方面有更佳的了解,下文特舉實(shí)施例,并配合所附圖式詳細(xì)說(shuō)明如下。
1.一種存內(nèi)運(yùn)算裝置,用于浮點(diǎn)數(shù)數(shù)據(jù)的存儲(chǔ)器內(nèi)運(yùn)算,其特征在于,包括:
2.如權(quán)利要求1所述的存內(nèi)運(yùn)算裝置,其特征在于,各該權(quán)重指數(shù)存儲(chǔ)電路包括多個(gè)靜態(tài)隨機(jī)存取存儲(chǔ)器。
3.如權(quán)利要求2所述的存內(nèi)運(yùn)算裝置,其特征在于,各該靜態(tài)存隨機(jī)取存儲(chǔ)器包括六個(gè)晶體管。
4.如權(quán)利要求1所述的存內(nèi)運(yùn)算裝置,其特征在于,各該指數(shù)運(yùn)算電路包括:
5.如權(quán)利要求1所述的存內(nèi)運(yùn)算裝置,其特征在于,該比較
6.如權(quán)利要求5所述的存內(nèi)運(yùn)算裝置,其特征在于,各該比較器包括:
7.如權(quán)利要求1所述的存內(nèi)運(yùn)算裝置,其特征在于,該位數(shù)位移電路包括:
8.如權(quán)利要求1所述的存內(nèi)運(yùn)算裝置,其特征在于,各該權(quán)重尾數(shù)存儲(chǔ)電路包括多個(gè)靜態(tài)隨機(jī)存取存儲(chǔ)器。
9.如權(quán)利要求1所述的存內(nèi)運(yùn)算裝置,其特征在于,各該尾數(shù)運(yùn)算電路包括:
10.如權(quán)利要求1所述的存內(nèi)運(yùn)算裝置,其特征在于,各該權(quán)重正負(fù)號(hào)存儲(chǔ)電路包括多個(gè)靜態(tài)隨機(jī)存取存儲(chǔ)器。
11.如權(quán)利要求10所述的存內(nèi)運(yùn)算裝置,其特征在于,各該靜態(tài)隨機(jī)存取存儲(chǔ)器包括六個(gè)晶體管。
12.如權(quán)利要求1所述的存內(nèi)運(yùn)算裝置,其特征在于,各該正負(fù)號(hào)運(yùn)算電路包括:
13.一種指數(shù)存儲(chǔ)運(yùn)算模塊,其特征在于,包括:
14.如權(quán)利要求13所述的指數(shù)存儲(chǔ)運(yùn)算模塊,其特征在于,各該權(quán)重指數(shù)存儲(chǔ)電路包括多個(gè)靜態(tài)隨機(jī)存取存儲(chǔ)器。
15.如權(quán)利要求13所述的指數(shù)存儲(chǔ)運(yùn)算模塊,其特征在于,各該指數(shù)運(yùn)算電路包括:
16.如權(quán)利要求13所述的指數(shù)存儲(chǔ)運(yùn)算模塊,其特征在于,該比較電路連接于該多個(gè)指數(shù)運(yùn)算電路,該比較電路包括:
17.如權(quán)利要求16所述的指數(shù)存儲(chǔ)運(yùn)算模塊,其特征在于,各該比較器包括:
18.一種尾數(shù)存儲(chǔ)運(yùn)算模塊,其特征在于,包括:
19.如權(quán)利要求18所述的尾數(shù)存儲(chǔ)運(yùn)算模塊,其特征在于,各該權(quán)重尾數(shù)存儲(chǔ)電路包括多個(gè)靜態(tài)隨機(jī)存取存儲(chǔ)器。
20.如權(quán)利要求19所述的尾數(shù)存儲(chǔ)運(yùn)算模塊,其特征在于,各該尾數(shù)運(yùn)算電路包括: