1.一種用于卷積神經(jīng)網(wǎng)絡計算的處理器,其基于N個輸入通道的輸入數(shù)據(jù)分別計算M個輸出通道的輸出數(shù)據(jù),其中N和M是大于或等于2的自然數(shù),該處理器包括:
m個計算單元,每個計算單元用于針對其所對應的對應輸出通道,基于所述N個輸入通道的輸入數(shù)據(jù)和分別分配給所述對應輸出通道的權重組,計算所述對應輸出通道的輸出數(shù)據(jù),其中m是大于或等于2的自然數(shù),
其中,所述m個計算單元同步地接收所述N個輸入通道的輸入數(shù)據(jù),并且同步地進行計算。
2.根據(jù)權利要求1所述的處理器,其中,每個計算單元包括:
n個卷積計算模塊,分別同步接收其所對應的輸入通道的輸入數(shù)據(jù),并對其進行卷積計算,其中n是大于或等于2的自然數(shù)。
3.根據(jù)權利要求2所述的處理器,其中,n和m的值是根據(jù)計算單元的計算資源和外部存儲的輸入輸出帶寬設定的,以使得數(shù)據(jù)輸入速度基本上等于數(shù)據(jù)被使用的速度,數(shù)據(jù)輸出速度基本上等于數(shù)據(jù)產(chǎn)生速度。
4.根據(jù)權利要求2所述的處理器,其中,每個所述卷積計算模塊包括:
輸入端,用于接收其所對應的輸入通道的輸入數(shù)據(jù);
輸入緩存,用于緩存所述輸入數(shù)據(jù);
卷積器,用于使用針對該計算單元所對應的對應輸出通道和該卷積計算模塊所對應的輸入通道的權重矩陣,對所述輸入數(shù)據(jù)進行循環(huán)卷積計算,
其中,在所述卷積器的一個計算周期內(nèi),所述卷積器從所述輸入緩存中讀取對應于所述權重矩陣的元素數(shù)的一批輸入數(shù)據(jù),并進行卷積計算,輸出計算結(jié)果。
5.根據(jù)權利要求2至4中任何一項所述的處理器,其中,每個計算單元還包括:
輸出端,用于輸出所述計算單元的最終計算結(jié)果;
加法模塊,設置在所述n個卷積計算模塊和所述輸出端之間,用于將所述n個卷積計算模塊針對所述N個輸入通道的輸入數(shù)據(jù)進行卷積計算的相應計算結(jié)果相加。
6.根據(jù)權利要求5所述的處理器,其中,所述加法模塊包括:
加法樹,用于將所述n個卷積計算模塊同步計算得到的相應計算結(jié)果相加。
7.根據(jù)權利要求6所述的處理器,其中,所述加法模塊還包括:
中間結(jié)果緩存,設置在所述加法樹和所述輸出端之間,用于在所述n個卷積計算模塊完成對所述N個輸入通道的所有卷積計算以前,緩存中間計算結(jié)果。
8.根據(jù)權利要求7所述的處理器,其中,在N>n的情況下,所述N個輸入通道被分為多組輸入通道,每組最多n個輸入通道,將所述多組輸入通道分批次輸入到每個所述計算單元,
所述n個卷積計算模塊在完成針對一組輸入通道的計算之后,開始輸入下一組輸入通道的輸入數(shù)據(jù),
所述加法模塊還包括:
第一加法單元,用于將所述加法樹的輸出結(jié)果與中間計算結(jié)果緩存中針對先前一組或多組輸入通道進行計算得到的相應中間計算結(jié)果相加,并且在完成針對所有輸入通道的輸入數(shù)據(jù)的計算以前,將相加的結(jié)果保存在所述中間結(jié)果緩存中,而在完成對所有輸入通道的輸入數(shù)據(jù)的計算之后,輸出相加的結(jié)果。
9.根據(jù)權利要求5所述的處理器,還包括:
第二加法單元,用于將所述加法模塊的輸出結(jié)果與偏置值相加,所述偏置值是針對該計算單元所對應的對應輸出通道設置的。
10.根據(jù)權利要求9所述的處理器,還包括:
第一移位器,用于對預設偏置值進行移位以得到所述偏置值,以使所述偏置值的小數(shù)點與所述加法模塊的輸出結(jié)果的小數(shù)點位置對齊,
其中,所述第二加法單元將所述加法模塊的輸出結(jié)果與移位得到的偏置值相加。
11.根據(jù)權利要求9所述的處理器,還包括:
多路選擇單元,用于從其多個輸入端口的輸入中選擇一個輸出,
其中,所述第二加法單元的輸出連接到所述多路選擇單元的一個輸入端口。
12.根據(jù)權利要求11所述的處理器,還包括:
非線性單元,用于對所述第二加法單元的輸出結(jié)果進行非線性運算,并且所述非線性單元的輸出連接到所述多路選擇單元的一個輸入端口。
13.根據(jù)權利要求12所述的處理器,還包括:
池化單元,用于對所述非線性單元的輸出結(jié)果進行池化操作,并且所述池化單元的輸出連接到所述多路選擇單元的一個輸入端口。
14.根據(jù)權利要求11所述的處理器,還包括:
第二移位器,設置在所述多路選擇單元和所述輸出端之間,用于對所述多路選擇單元的輸出結(jié)果進行移位,以便對所述多路選擇單元的輸出結(jié)果進行適當?shù)慕財?,從而確保所述輸出端的輸出結(jié)果的位寬和所述輸入通道的輸入數(shù)據(jù)一致。