本實(shí)用新型涉及集成電路領(lǐng)域,尤其涉及一種處理器內(nèi)核結(jié)構(gòu)。
背景技術(shù):
在現(xiàn)有的處理器內(nèi)核結(jié)構(gòu)中,累加器通常為專用寄存器,處理器內(nèi)核結(jié)構(gòu)通常包括專用的累加器和通用寄存器組。
但是,隨著技術(shù)的發(fā)展,對(duì)于大數(shù)據(jù)長(zhǎng)度處理和執(zhí)行的效率提高需求也來(lái)越大,現(xiàn)有的處理器內(nèi)核結(jié)構(gòu)的效率有待提升。
技術(shù)實(shí)現(xiàn)要素:
本實(shí)用新型解決的技術(shù)問(wèn)題是提升處理器內(nèi)核結(jié)構(gòu)的效率。
為解決上述技術(shù)問(wèn)題,本實(shí)用新型實(shí)施例提供一種處理器內(nèi)核結(jié)構(gòu),包括:一種處理器內(nèi)核結(jié)構(gòu),其特征在于,包括:數(shù)據(jù)總線組、至少一個(gè)累加器、以及邏輯運(yùn)算單元;每個(gè)所述累加器均包括至少兩個(gè)第一通用寄存器,每一所述第一通用寄存器的位數(shù)相同;所述累加器經(jīng)由所述數(shù)據(jù)總線組連接至所述邏輯運(yùn)算單元的輸入端;其中,所述數(shù)據(jù)總線組包括多個(gè)第一數(shù)據(jù)總線,所述第一數(shù)據(jù)總線的數(shù)量與每個(gè)所述累加器中的所述第一通用寄存器的數(shù)量相等,每個(gè)所述第一數(shù)據(jù)總線的位數(shù)與所述第一通用寄存器的位數(shù)相同,所述累加器中的每個(gè)所述第一通用寄存器連接至對(duì)應(yīng)的所述第一數(shù)據(jù)總線。
可選的,所述邏輯運(yùn)算單元適于通過(guò)所述數(shù)據(jù)總線組讀取所述累加器的數(shù)據(jù)。
可選的,所述邏輯運(yùn)算單元適于通過(guò)所述第一數(shù)據(jù)總線讀取所述累加器中與所述第一數(shù)據(jù)總線連接的所述第一通用寄存器的數(shù)據(jù)。
可選的,所述數(shù)據(jù)總線組的數(shù)量為至少兩個(gè)。
可選的,所述邏輯運(yùn)算單元適于響應(yīng)于一條指令的指示,通過(guò)所述數(shù)據(jù)總線組讀取至少兩個(gè)累加器的數(shù)據(jù)并進(jìn)行運(yùn)算。
可選的,所述邏輯運(yùn)算單元的輸出端連接至所述至少一個(gè)累加器。
可選的,所述邏輯運(yùn)算單元適于將運(yùn)算結(jié)果寫(xiě)入所述累加器或?qū)懭胨隼奂悠髦邪ǖ乃龅谝煌ㄓ眉拇嫫鳌?/p>
可選的,所述處理器內(nèi)核結(jié)構(gòu)還包括:乘加單元,所述乘加單元的輸入端連接至所述數(shù)據(jù)總線組中的至少部分所述第一數(shù)據(jù)總線,所述乘加單元的輸出端連接至所述邏輯運(yùn)算單元。
可選的,所述處理器內(nèi)核結(jié)構(gòu)還包括:通用寄存器組,所述通用寄存器組包括多個(gè)第二通用寄存器;所述通用寄存器組通過(guò)第二數(shù)據(jù)總線連接至所述乘加單元。
可選的,所述處理器內(nèi)核結(jié)構(gòu)還包括:所述邏輯運(yùn)算單元的輸出端連接至所述通用寄存器組中的所述第二通用寄存器。
可選的,所述處理器內(nèi)核結(jié)構(gòu)還包括:所述處理器內(nèi)核結(jié)構(gòu)為DSC內(nèi)核結(jié)構(gòu)。
與現(xiàn)有技術(shù)相比,本實(shí)用新型實(shí)施例的技術(shù)方案具有以下有益效果:
在本實(shí)用新型實(shí)施例中,處理器內(nèi)核結(jié)構(gòu)的每個(gè)累加器均包括至少兩個(gè)所述第一通用寄存器,每一所述第一通用寄存器的位數(shù)相同,累加器經(jīng)由數(shù)據(jù)總線組連接至邏輯運(yùn)算單元的輸入端,所述累加器中的每個(gè)所述第一通用寄存器連接至對(duì)應(yīng)的所述第一數(shù)據(jù)總線。由于累加器經(jīng)由數(shù)據(jù)總線組連接至邏輯運(yùn)算單元的輸入端,每個(gè)累加器均包括至少兩個(gè)第一通用寄存器,故累加器的位數(shù)更多,可以一次進(jìn)行操作的累加數(shù)據(jù)的位數(shù)更多,從而可以提升處理器內(nèi)核結(jié)構(gòu)的效率。另外,每個(gè)所述第一數(shù)據(jù)總線的位數(shù)與所述第一通用寄存器的位數(shù)相同,邏輯運(yùn)算單元可以通過(guò)第一數(shù)據(jù)總線單獨(dú)對(duì)每個(gè)第一通用寄存器進(jìn)行讀取,從而可以解決現(xiàn)有的處理器內(nèi)核結(jié)構(gòu)的用戶運(yùn)算的寄存器數(shù)量較少的問(wèn)題,進(jìn)而可以避免在進(jìn)行多數(shù)據(jù)處理時(shí)需要進(jìn)行的額外的保存和讀取過(guò)程,進(jìn)一步可以提升處理器內(nèi)核的執(zhí)行效率。
進(jìn)一步,在現(xiàn)有技術(shù)中通常只能有一個(gè)累加器參與運(yùn)算,限制了處理器內(nèi)核的效率,當(dāng)需要讀取兩個(gè)累加器的數(shù)據(jù)時(shí),需要分時(shí)進(jìn)行,造成了處理器內(nèi)核的功耗增加。而在本實(shí)用新型實(shí)施例中,由于所述數(shù)據(jù)總線組的數(shù)量為至少兩個(gè),故邏輯運(yùn)算單元可以同時(shí)讀取至少兩個(gè)累加器的數(shù)據(jù),進(jìn)而可以提升處理器內(nèi)核的效率,同時(shí)也可以減少功耗。
附圖說(shuō)明
圖1是本實(shí)用新型實(shí)施例中一種處理器內(nèi)核結(jié)構(gòu)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
如前所述,在現(xiàn)有的處理器內(nèi)核結(jié)構(gòu)中,處理器內(nèi)核結(jié)構(gòu)通常包括專用的累加器和通用寄存器組,累加器中的寄存器無(wú)法被用作通用寄存器單獨(dú)訪問(wèn)。但是,隨著技術(shù)的發(fā)展,對(duì)于大數(shù)據(jù)長(zhǎng)度處理和執(zhí)行的效率提高需求也來(lái)越大,現(xiàn)有的處理器內(nèi)核結(jié)構(gòu)的效率有待提升。
在本實(shí)用新型實(shí)施例中,處理器內(nèi)核結(jié)構(gòu)的每個(gè)累加器均包括至少兩個(gè)所述第一通用寄存器,每一所述第一通用寄存器的位數(shù)相同,累加器經(jīng)由數(shù)據(jù)總線組連接至邏輯運(yùn)算單元的輸入端,所述累加器中的每個(gè)所述第一通用寄存器連接至對(duì)應(yīng)的所述第一數(shù)據(jù)總線。
由于累加器經(jīng)由數(shù)據(jù)總線組連接至邏輯運(yùn)算單元的輸入端,每個(gè)累加器均包括至少兩個(gè)第一通用寄存器,故累加器的位數(shù)更多,可以一次進(jìn)行操作的累加數(shù)據(jù)的位數(shù)更多,從而可以提升處理器內(nèi)核結(jié)構(gòu)的效率。
另外,每個(gè)所述第一數(shù)據(jù)總線的位數(shù)與所述第一通用寄存器的位數(shù)相同邏輯運(yùn)算單元可以單獨(dú)對(duì)每個(gè)第一通用寄存器進(jìn)行讀取,從而可以解決現(xiàn)有的處理器內(nèi)核結(jié)構(gòu)的用戶運(yùn)算的寄存器數(shù)量較少的問(wèn)題,進(jìn)而可以避免在進(jìn)行多數(shù)據(jù)處理時(shí)需要進(jìn)行的額外的保存和讀取過(guò)程,進(jìn)一步可以提升處理器內(nèi)核的執(zhí)行效率。
為使本實(shí)用新型的上述目的、特征和有益效果能夠更為明顯易懂,下面結(jié)合附圖對(duì)本實(shí)用新型的具體實(shí)施例做詳細(xì)的說(shuō)明。
圖1是本實(shí)用新型實(shí)施例中一種處理器內(nèi)核結(jié)構(gòu)的結(jié)構(gòu)示意圖,以下參照?qǐng)D1進(jìn)行說(shuō)明。
處理器內(nèi)核結(jié)構(gòu)可以包括數(shù)據(jù)總線組和累加器。其中,數(shù)據(jù)總線組可以是一個(gè)或多個(gè),例如可以是圖1中數(shù)據(jù)總線組12和數(shù)據(jù)總線組13,或總線組的數(shù)量也可以是其他任意數(shù)量;累加器同樣可以是一個(gè)或多個(gè),例如可以是圖1中的累加器ACC0至ACC7,累加器的數(shù)量也可以是其他任意數(shù)量。一個(gè)或多個(gè)累加器共同形成累加器組11,雖然圖1中示出的累加器組11包含8個(gè)累加器,但累加器組中也可以包含其他數(shù)量的累加器。處理器內(nèi)核結(jié)構(gòu)還可以包括邏輯運(yùn)算單元(ALU)14。
每個(gè)累加器均可以包括至少兩個(gè)第一通用寄存器。圖1中的每個(gè)累加器均包括兩個(gè)第一通用寄存器,R16至R31均為第一通用寄存器。雖然圖中未示出,但每一累加器也可以包括更多個(gè)第一通用寄存器,例如可以包括3個(gè)第一通用寄存器,具體第一通用寄存器的數(shù)量可以根據(jù)對(duì)累加器位數(shù)的需求和每個(gè)第一通用寄存器的位數(shù)確定。
每個(gè)數(shù)據(jù)總線組中包含的第一數(shù)據(jù)總線的數(shù)量與每個(gè)所述累加器中的所述第一通用寄存器的數(shù)量相等,每個(gè)所述第一數(shù)據(jù)總線的位數(shù)與所述第一通用寄存器的位數(shù)相同。例如,當(dāng)累加器中包含的第一通用寄存器的位數(shù)為32位時(shí),第一數(shù)據(jù)總線的位數(shù)也為32位。
累加器經(jīng)由數(shù)據(jù)總線組連接至邏輯運(yùn)算單元14的輸入端,可以是任一累加器通過(guò)多個(gè)數(shù)據(jù)總線組中的任一數(shù)據(jù)總線組連接至邏輯單元14的輸入端。
例如,圖1中累加器ACC0至ACC7中的任一累加器,均可以通過(guò)數(shù)據(jù)總線組12或者數(shù)據(jù)總線組13(例如,通過(guò)多路選擇器的控制進(jìn)行選擇)連接至邏輯運(yùn)算單元14。
累加器中的每個(gè)所述第一通用寄存器連接至對(duì)應(yīng)的所述第一數(shù)據(jù)總線,具體地,對(duì)應(yīng)的所述第一數(shù)據(jù)總線,可以是與累加器相連接的數(shù)據(jù)總線組中的第一數(shù)據(jù)總線。
在一個(gè)非限定性的例子中,可以對(duì)累加器中的第一通用寄存器進(jìn)行進(jìn)一步區(qū)分,該區(qū)分可以依據(jù)第一通用寄存器在累加器中的數(shù)據(jù)位進(jìn)行。例如,對(duì)于64位累加器中的第一通用寄存器可以分為高32位寄存器和低32位寄存器。
類似地,可以對(duì)數(shù)據(jù)總線組中的第一數(shù)據(jù)總線進(jìn)行進(jìn)一步的區(qū)分,區(qū)分方式與對(duì)累加器中的第一通用寄存器相對(duì)應(yīng),例如當(dāng)數(shù)據(jù)總線組為64位時(shí),可以分為高32位數(shù)據(jù)總線和低32位數(shù)據(jù)總線。
在連接時(shí),可以僅將進(jìn)行上述劃分后具有對(duì)應(yīng)關(guān)系的第一通用寄存器和第一數(shù)據(jù)總線相連接。例如,高32位寄存器僅與高32位數(shù)據(jù)總線相連接,低32位寄存器僅與低32位數(shù)據(jù)總線相連接。
當(dāng)累加器和數(shù)據(jù)總線組均為多個(gè)時(shí),累加器可以與不同的數(shù)據(jù)總線組相連接,累加器中的第一通用寄存器可以與不同的數(shù)據(jù)總線組中的對(duì)應(yīng)的第一數(shù)據(jù)總線相連接。
以圖1為例,累加器ACC0至ACC7均包括兩個(gè)第一通用寄存器,分別為通用寄存器R16和R17、R18和R19、R20和R21……直至R30和R31,其中R17、R19……R31可以是高32位寄存器,其中R18、R20……R30可以是低32位寄存器;數(shù)據(jù)總線組的數(shù)目為2,分別是圖1中數(shù)據(jù)總線組12和數(shù)據(jù)總線組13,數(shù)據(jù)總線組12中包含數(shù)據(jù)總線D1及數(shù)據(jù)總線D2,數(shù)據(jù)總線組13中包含數(shù)據(jù)總線D3及數(shù)據(jù)總線D4,其中,數(shù)據(jù)總線D1以及數(shù)據(jù)總線D3可以對(duì)應(yīng)于高32位寄存器,數(shù)據(jù)總線D3及數(shù)據(jù)總線D4可以對(duì)應(yīng)于低32位寄存器。
第一通用寄存器R17、R19……至R31可以通過(guò)多路選擇器的控制連接至數(shù)據(jù)總線D1和D3,第一通用寄存器R17、R19……至R31可以通過(guò)多路選擇器的控制連接至數(shù)據(jù)總線D1以及數(shù)據(jù)總線D3。
如此,數(shù)據(jù)總線組可以被不同的累加器復(fù)用,且數(shù)據(jù)總線組中僅部分總線與同一第一寄存器相連接,可以減少總線連接部分的布線面積,節(jié)省資源。
可以理解的是,數(shù)據(jù)總線D1至D4中的每個(gè)數(shù)據(jù)總線也可以均連接至累加器中的各個(gè)第一通用寄存器,也即第一通用寄存器R16至R31中任意一個(gè),從而可以選中第一通用寄存器R16至R31中任意一個(gè)寄存器。
在本實(shí)用新型實(shí)施例中,所述邏輯運(yùn)算單元適于通過(guò)所述數(shù)據(jù)總線組讀取所述累加器的數(shù)據(jù),還適于通過(guò)所述第一數(shù)據(jù)總線讀取所述累加器中與所述第一數(shù)據(jù)總線連接的所述第一通用寄存器的數(shù)據(jù)。
故本實(shí)用新型實(shí)施例中的累加器的位數(shù)可以是通用寄存器位數(shù)的整數(shù)倍,例如,當(dāng)通用寄存器為32位時(shí),累加器可以是64位,從而可以提供64位數(shù)據(jù)的處理方式。由于在本實(shí)用新型中的累加器中的每個(gè)第一通用寄存器均可以作為處理器內(nèi)核的通用寄存器使用,故在同樣處理器內(nèi)核資源供給的情況下,可以增加通用寄存器的數(shù)量,例如在圖1中,在不使用累加操作時(shí),可以支持累加器ACC0至ACC7中的16個(gè)第一通用寄存器作為處理器內(nèi)核的通用寄存器使用,使得在不同的情況硬件都能充分利用,且提供了更多更靈活的寄存器使用方式。
在具體實(shí)施中,數(shù)據(jù)總線組的數(shù)量可以為至少兩個(gè)。相應(yīng)地,所述邏輯運(yùn)算單元適于響應(yīng)于一條指令的指示,通過(guò)所述數(shù)據(jù)總線組讀取至少兩個(gè)累加器的數(shù)據(jù)并進(jìn)行運(yùn)算。
在現(xiàn)有技術(shù)中通常只能有一個(gè)累加器參與運(yùn)算,限制了處理器內(nèi)核的效率,當(dāng)需要讀取兩個(gè)累加器的數(shù)據(jù)時(shí),需要分時(shí)進(jìn)行,造成了處理器內(nèi)核的功耗增加。而在本實(shí)用新型實(shí)施例中,由于所述數(shù)據(jù)總線組的數(shù)量為至少兩個(gè),并且實(shí)用新型中的處理器架構(gòu)支持兩個(gè)或兩個(gè)以上的總線組同時(shí)進(jìn)行讀寫(xiě),故邏輯運(yùn)算單元可以同時(shí)讀取至少兩個(gè)累加器的數(shù)據(jù),進(jìn)而可以提升處理器內(nèi)核的效率,同時(shí)也可以減少功耗。通過(guò)設(shè)置至少兩個(gè)數(shù)據(jù)總線組,進(jìn)行多總線組的并行工作,也可以增加單位時(shí)間數(shù)據(jù)的吞吐量,提高處理器內(nèi)核結(jié)構(gòu)的指令執(zhí)行效率。
本領(lǐng)域技術(shù)人員可以理解的是,在其它變形例中,數(shù)據(jù)總線組的數(shù)量可以根據(jù)需要設(shè)置,例如也可以僅設(shè)置一個(gè)數(shù)據(jù)總線組。另外,雖然每個(gè)數(shù)據(jù)總線組中包括多個(gè)第一數(shù)據(jù)總線,但在對(duì)單一操作數(shù)進(jìn)行操作時(shí),也可以僅利用一個(gè)第一數(shù)據(jù)總線,或者,也可以僅利用第二總線對(duì)第二通用寄存器進(jìn)行操作。
邏輯運(yùn)算單元14的輸出端可以連接至累加器,相應(yīng)的,所述邏輯運(yùn)算單元14適于將運(yùn)算結(jié)果寫(xiě)入所述累加器或?qū)懭胨隼奂悠髦邪ǖ乃龅谝煌ㄓ眉拇嫫鳌?/p>
本實(shí)用新型實(shí)施例中的處理器內(nèi)核結(jié)構(gòu)還可以包括乘加單元15,所述乘加單元15的輸入端可以連接至所述數(shù)據(jù)總線組中的至少部分所述第一數(shù)據(jù)總線,可以連接至數(shù)據(jù)總線組的全部第一數(shù)據(jù)總線,或其中部分第一數(shù)據(jù)總線。當(dāng)數(shù)據(jù)總線組為多個(gè)時(shí),可以連接至其中一個(gè)數(shù)據(jù)總線組的全部第一數(shù)據(jù)總線,例如圖1中,可以連接至數(shù)據(jù)總線組13中的全部數(shù)據(jù)總線。所述乘加單元的輸出端連接至所述邏輯運(yùn)算單元14。
本實(shí)用新型實(shí)施例中的處理器內(nèi)核結(jié)構(gòu)還可以包括通用寄存器組16,所述通用寄存器組包括多個(gè)第二通用寄存器;所述通用寄存器組通過(guò)第二數(shù)據(jù)總線17連接至所述乘加單元15。
第二數(shù)據(jù)總線17的數(shù)量可以是一個(gè)或多個(gè),第二數(shù)據(jù)總線17可以連接至通用寄存器組16中的每個(gè)第二通用寄存器,也即可以連接至第二通用寄存器R0至R15中的每一個(gè)。從而通過(guò)第二數(shù)據(jù)總線17可以選中通用寄存器組16中的任一個(gè)第二通用寄存器。
其中,第一通用寄存器和第二通用寄存器可以采用相同或者不同的寄存器結(jié)構(gòu),例如現(xiàn)有技術(shù)中任何適當(dāng)?shù)募拇嫫鹘Y(jié)構(gòu)。作為一個(gè)優(yōu)選的實(shí)施例,第一通用寄存器和第二通用寄存器的結(jié)構(gòu)可以相同,而且第一通用寄存器和第二通用寄存器可以具有相同的位數(shù)。
在具體實(shí)施中,所述邏輯運(yùn)算單元14的輸出端可以通過(guò)數(shù)據(jù)總線18連接至所述通用寄存器組中的所述第二通用寄存器,以使得邏輯運(yùn)算單元14的輸出結(jié)果可以寫(xiě)回至通用寄存器組。
基于本實(shí)用新型實(shí)施例中的處理器內(nèi)核結(jié)構(gòu),一條指令可以僅對(duì)累加器、僅對(duì)第一通用寄存器或者僅對(duì)第二通用寄存器進(jìn)行操作,也可以同時(shí)對(duì)累加器、第一通用寄存器或者第二通用寄存器中的任意兩個(gè)進(jìn)行操作,其具體實(shí)現(xiàn)可以根據(jù)指令的需要而不同。
本實(shí)用新型實(shí)施例中的處理器內(nèi)核結(jié)構(gòu)可以是DSC內(nèi)核結(jié)構(gòu),現(xiàn)有的DSC內(nèi)核結(jié)構(gòu)(MCU+DSP結(jié)構(gòu))系統(tǒng)的操作數(shù)位寬一般為40位或低于40位,在處理64位的數(shù)據(jù)時(shí),通常需要將64位數(shù)據(jù)分成32位來(lái)處理。在數(shù)據(jù)運(yùn)算時(shí),通用寄存器的數(shù)量一般為16個(gè),且部分寄存器的使用方式固定(如程序寄存器、連接寄存器、堆棧指針寄存器等),實(shí)際可采用的用于運(yùn)算的寄存器數(shù)量較少,在需要進(jìn)行多數(shù)據(jù)處理時(shí)可能需要引入額外的保存與讀取的過(guò)程,降低了執(zhí)行的效率。
在現(xiàn)有技術(shù)中,累加器和通用寄存器是相互獨(dú)立使用的,在不使用累加器時(shí),累加器處于空閑狀態(tài),導(dǎo)致硬件的使用效率較低從而提高了硬件成本。在現(xiàn)有技術(shù)中,每次只能有一個(gè)累加器參與運(yùn)算,限制了程序的執(zhí)行效率,也造成了功耗的增加。
隨著技術(shù)的發(fā)展,對(duì)于大數(shù)據(jù)長(zhǎng)度處理和執(zhí)行的效率提高需求也來(lái)越大。而在本實(shí)用新型實(shí)施例中的處理器內(nèi)核結(jié)構(gòu)是帶累加器的內(nèi)核系統(tǒng)結(jié)構(gòu),當(dāng)?shù)谝患拇嫫鞯奈粩?shù)為32位時(shí),2個(gè)32位的第一寄存器可以組合成一個(gè)64位的累加器,同時(shí)可以完成兩個(gè)16位(或32位)乘法的結(jié)果和一個(gè)64位的累加器相加,并且把結(jié)果保存在64位的累加器中。
以下以第一通用寄存器和第二通用寄存器均為32位通用寄存器為例,對(duì)圖1中處理器內(nèi)核結(jié)構(gòu)的應(yīng)用進(jìn)行說(shuō)明。圖1中的處理器內(nèi)核結(jié)構(gòu)可以完成以下任一種操作:
單周期實(shí)現(xiàn)任意2個(gè)64位累加器的加減運(yùn)算并將結(jié)果一次性寫(xiě)入相應(yīng)的累加器或通用寄存器中,例如可以通過(guò)數(shù)據(jù)總線組12和數(shù)據(jù)總線組13同時(shí)讀取累加器ACC0至ACC7中任意兩個(gè)累加器中的數(shù)據(jù),并將二者進(jìn)行加減運(yùn)算,并可以將運(yùn)算結(jié)果寫(xiě)回累加器ACC0至ACC7中任意一個(gè)累加器或?qū)懭胪ㄓ眉拇嫫鹘M16中的第二通用寄存器;
單周期實(shí)現(xiàn)任意2個(gè)32位通用寄存器的加減運(yùn)算并將結(jié)果一次性寫(xiě)入相應(yīng)的累加器或通用寄存器中,例如,可以通過(guò)第二數(shù)據(jù)總線17同時(shí)讀取通用寄存器組16中任意兩個(gè)寄存器的數(shù)據(jù),進(jìn)行加減運(yùn)算,并將結(jié)果寫(xiě)入寄存器組16中任意一個(gè)寄存器或?qū)懭肜奂悠鰽CC0至ACC7中任意一個(gè)累加器;
單周期實(shí)現(xiàn)任意1個(gè)64位累加器和任意1個(gè)32位通用寄存器的加減運(yùn)算并將結(jié)果一次性寫(xiě)入相應(yīng)的累加器或通用寄存器中,例如,可以通過(guò)第二數(shù)據(jù)總線17通用寄存器組16中任意一個(gè)寄存器的數(shù)據(jù),并同時(shí)通過(guò)數(shù)據(jù)總線組同時(shí)讀取累加器中的數(shù)據(jù),由邏輯運(yùn)算單元14進(jìn)行加減運(yùn)算,并將結(jié)果寫(xiě)入累加器組11中的累加器或通用寄存器組16中的第二通用寄存器;
單周期實(shí)現(xiàn)任意1個(gè)64位累加器和任意2個(gè)32位通用寄存器的加減運(yùn)算并將結(jié)果一次性寫(xiě)入相應(yīng)的累加器或通用寄存器中,例如,可以通過(guò)第二數(shù)據(jù)總線17同時(shí)讀取通用寄存器組16中任意2個(gè)第二通用寄存器的數(shù)據(jù),第二通用寄存器中的兩個(gè)32位數(shù)據(jù)可以進(jìn)行加減運(yùn)算;并可以通過(guò)數(shù)據(jù)總線組12或13讀取任意一個(gè)累加器的數(shù)據(jù),通過(guò)邏輯運(yùn)算單元14與前述運(yùn)算的結(jié)果做加減運(yùn)算,并將結(jié)果寫(xiě)入累加器組11中的累加器或通用寄存器組16中的第二通用寄存器;
單周期實(shí)現(xiàn)任意2個(gè)32位的通用寄存器的(有符號(hào)或者無(wú)符號(hào))乘法運(yùn)算,并將結(jié)果一次性保存到相應(yīng)的累加器或者通用寄存器中,例如可以通過(guò)第二數(shù)據(jù)總線17通用寄存器組16中任意2個(gè)第二通用寄存器的數(shù)據(jù),進(jìn)行乘法運(yùn)算,并將結(jié)果保存到累加器組11中的累加器或通用寄存器組16中的第二通用寄存器;
單周期實(shí)現(xiàn)任意1個(gè)32位通用寄存器的高16位和低16位相乘的(有符號(hào)或者無(wú)符號(hào))乘法運(yùn)算,例如可以通過(guò)數(shù)據(jù)總線17同時(shí)讀取通用寄存器組16中任意1個(gè)第二通用寄存器的數(shù)據(jù),將該數(shù)據(jù)的高16位和低16位相乘,并將結(jié)果寫(xiě)入累加器組11的累加器中,或?qū)懭胪ㄓ眉拇嫫鹘M16中的第二通用寄存器中;單周期實(shí)現(xiàn)任意2個(gè)32位通用寄存器的高低16位交叉相乘的(有符號(hào)或者無(wú)符號(hào))乘法運(yùn)算,并實(shí)現(xiàn)兩個(gè)乘法結(jié)果的相加/相減運(yùn)算,并將結(jié)果一次性保存到相應(yīng)的累加器或者通用寄存器中,例如可以通過(guò)第二數(shù)據(jù)總線17同時(shí)讀取通用寄存器組16中任意2個(gè)第二通用寄存器的數(shù)據(jù),將二者中的數(shù)據(jù)的高低16位進(jìn)行交叉相乘,并可以對(duì)乘法結(jié)果進(jìn)行相加/相減運(yùn)算,并可以將結(jié)果保存到累加器組11中的累加器或通用寄存器組16中的第二通用寄存器;
單周期實(shí)現(xiàn)任意2個(gè)32位通用寄存器的高16位和高16位相乘且低16位和低16位相乘的(有符號(hào)或者無(wú)符號(hào))乘法運(yùn)算,并實(shí)現(xiàn)兩個(gè)乘法結(jié)果的相加/相減運(yùn)算,并將結(jié)果一次性保存到相應(yīng)的累加器或者通用寄存器中,例如,可以通過(guò)第二數(shù)據(jù)總線17同時(shí)讀取通用寄存器組16中任意2個(gè)第二通用寄存器的數(shù)據(jù),將二者中的數(shù)據(jù)的高16位和高16位相乘且低16位和低16位相乘,實(shí)現(xiàn)兩個(gè)乘法結(jié)果的相加/相減運(yùn)算,并可以將結(jié)果保存到累加器組11中的累加器或通用寄存器組16中的第二通用寄存器;
也可以單周期實(shí)現(xiàn)第前述的乘加(或乘法)結(jié)果和任意1個(gè)64位的累加器(或1個(gè)32位的通用寄存器)的加/減運(yùn)算,并將結(jié)果一次性保存到相應(yīng)的累加器或者通用寄存器中;
并且可以在不使用累加器的情況下累加器中的第一通用寄存器可以作為32個(gè)32位的通用寄存器來(lái)處理數(shù)據(jù)。
本領(lǐng)域技術(shù)人員可以理解的是,第一存儲(chǔ)器和第二存儲(chǔ)器的位數(shù)可以也可以是16位或64位,或者也可以是其他位數(shù)的存儲(chǔ)器,累加器可以由3個(gè)或更多的第一存儲(chǔ)器組成,數(shù)據(jù)總線組和第二數(shù)據(jù)總線的數(shù)目也可以根據(jù)需要進(jìn)行設(shè)置。
綜上,在本實(shí)用新型實(shí)施例中,處理器內(nèi)核結(jié)構(gòu)的每個(gè)累加器均包括至少兩個(gè)所述第一通用寄存器,每一所述第一通用寄存器的位數(shù)相同,累加器經(jīng)由數(shù)據(jù)總線組連接至邏輯運(yùn)算單元的輸入端,所述累加器中的每個(gè)所述第一通用寄存器連接至對(duì)應(yīng)的所述第一數(shù)據(jù)總線。由于累加器經(jīng)由數(shù)據(jù)總線組連接至邏輯運(yùn)算單元的輸入端,每個(gè)累加器均包括至少兩個(gè)第一通用寄存器,故累加器的位數(shù)更多,可以一次進(jìn)行操作的累加數(shù)據(jù)的位數(shù)更多,從而可以提升處理器內(nèi)核結(jié)構(gòu)的效率。另外,每個(gè)所述第一數(shù)據(jù)總線的位數(shù)與所述第一通用寄存器的位數(shù)相同,邏輯運(yùn)算單元可以單獨(dú)對(duì)每個(gè)第一通用寄存器進(jìn)行讀取,從而可以解決現(xiàn)有的處理器內(nèi)核結(jié)構(gòu)的用戶運(yùn)算的寄存器數(shù)量較少的問(wèn)題,進(jìn)而可以避免在進(jìn)行多數(shù)據(jù)處理時(shí)需要進(jìn)行的額外的保存和讀取過(guò)程,進(jìn)一步可以提升處理器內(nèi)核的執(zhí)行效率。
雖然本實(shí)用新型披露如上,但本實(shí)用新型并非限定于此。任何本領(lǐng)域技術(shù)人員,在不脫離本實(shí)用新型的精神和范圍內(nèi),均可作各種更動(dòng)與修改,因此本實(shí)用新型的保護(hù)范圍應(yīng)當(dāng)以權(quán)利要求所限定的范圍為準(zhǔn)。