1.一種矩陣與向量乘運算單元,包括:移位單元、異或單元和通用寄存器,其中,
移位單元,用于將向量移位指定位數(shù),以得到移位結(jié)果;
異或單元,與所述移位單元和所述通用寄存器相連接,用于接收來自所述移位單元的所述移位結(jié)果,并將所述移位結(jié)果與所述通用寄存器中的存儲值相異或,以得到異或結(jié)果;
通用寄存器,用于保存來自所述異或單元的所述異或結(jié)果。
2.根據(jù)權(quán)利要求1所述的矩陣與向量乘運算單元,進一步包括:指令存儲器,用于存儲指令,所述指令包括第一指令,其中,所述第一指令指示所述移位單元將向量移位指定位數(shù)以得到移位結(jié)果和指示所述異或單元將所述移位結(jié)果與所述存儲值相異或。
3.根據(jù)權(quán)利要求2所述的矩陣與向量乘運算單元,其中,
所述移位單元,響應于執(zhí)行所述第一指令,對所述第一指令所指定的向量移位,并將移位結(jié)果提供給所述異或單元,其中移位的位數(shù)由所述第一指令指定;
所述異或單元,響應于執(zhí)行所述第一指令,將所述移位結(jié)果與所述通用寄存器的值進行異或操作,并輸出異或結(jié)果;
以及所述異或結(jié)果被存儲到通用寄存器中。
4.根據(jù)權(quán)利要求1-3之一所述的矩陣與向量乘運算單元,進一步包括:數(shù)據(jù)存儲器,與所述移位單元和所述通用寄存器相連接,用于存儲向量。
5.根據(jù)權(quán)利要求1-4所述的矩陣與向量乘運算單元,其中,所述指令包括第二指令,響應于執(zhí)行所述第二指令,將所述第二指令所指定的所述數(shù)據(jù)存儲器中的向量加載到所述通用寄存器。
6.根據(jù)權(quán)利要求1-5所述的矩陣與向量乘運算單元,其中,所述指令包括第三指令,響應于執(zhí)行所述指令存儲器中的所述第三指令,將所述第三指令所指定的通用寄存器的值存儲到所述數(shù)據(jù)存儲器中由所述第三指令所指定的位置。
7.根據(jù)權(quán)利要求4-6所述的矩陣與向量乘運算單元,進一步包括源寄存器,與所述數(shù)據(jù)存儲器和所述移位單元相連接,用于接收來自所述數(shù)據(jù)存儲器的向量并將向量提供給所述移位單元。
8.根據(jù)權(quán)利要求7所述的矩陣與向量乘運算單元,其中,響應于執(zhí)行所述指令存儲器中的第二指令,將所述第二指令所指定的向量加載到所述源寄存器。
9.一種矩陣與向量乘運算方法,包括以下步驟:
初始化通用寄存器;
通過連續(xù)執(zhí)行多條第一指令來重復執(zhí)行將向量移位指定位數(shù)并與通用寄存器的內(nèi)容相異或并將異或結(jié)果存儲在所述通用寄存器中的操作,其中所述第一指令的每一條指示所述指定位數(shù);
存儲通用寄存器中的值。
10.一種矩陣與向量乘運算設(shè)備,包括:
用于初始化通用寄存器的裝置;
用于通過連續(xù)執(zhí)行多條第一指令來重復執(zhí)行將向量移位指定位數(shù)并與通用寄存器的內(nèi)容相異或并將異或結(jié)果存儲在所述通用寄存器中的操作的裝置,其中所述第一指令的每一條指示所述指定位數(shù);
用于存儲通用寄存器中的值的裝置。