多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器的制造方法
【專利摘要】一種多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器,包括命令寄存與操作數(shù)暫存控制模塊,算術(shù)運(yùn)算控制模塊,結(jié)果輸出控制模塊;應(yīng)用FPGA設(shè)計(jì)該控制器的硬連接電路;該控制器被系統(tǒng)使能,在系統(tǒng)WR信號(hào)的作用下,內(nèi)部產(chǎn)生脈沖序列信號(hào),在內(nèi)部脈沖序列信號(hào)的作用下,寫(xiě)入運(yùn)算命令,操作數(shù),自主完成多操作數(shù)的四則混合定點(diǎn)算術(shù)運(yùn)算;寫(xiě)入的第3個(gè)操作數(shù)直到最后一個(gè)操作數(shù)執(zhí)行操作數(shù)與上次運(yùn)算結(jié)果的運(yùn)算;中間運(yùn)算結(jié)果寫(xiě)回操作數(shù)1暫存器能夠與寫(xiě)入操作數(shù)2并行執(zhí)行;接收所有的操作數(shù)之后,向系統(tǒng)發(fā)出讀出請(qǐng)求信號(hào),在RD信號(hào)的控制下,逐個(gè)讀出高32位、低32位運(yùn)算結(jié)果和標(biāo)志狀態(tài),提高了四則混合定點(diǎn)算術(shù)運(yùn)算指令流的速度。
【專利說(shuō)明】多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器,尤其涉及一種基于FPGA并行處理電路硬連接的多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器控制電路及其時(shí)序控制。
【背景技術(shù)】
[0002]運(yùn)算器是微處理器最基本的部件之一,減法運(yùn)算指令應(yīng)用補(bǔ)碼用加法器予以實(shí)現(xiàn),乘法和除法指令應(yīng)用專門(mén)的微指令程序或編制算法用加法器予以實(shí)現(xiàn);乘法器和除法器也能夠應(yīng)用硬連接電路予以實(shí)現(xiàn)來(lái)提高乘法和除法運(yùn)算的速度;運(yùn)算器有兩個(gè)操作數(shù)輸入端,分別與兩個(gè)暫存器的輸出端連接,一個(gè)暫存操作數(shù)2,一個(gè)暫存操作數(shù)I和運(yùn)算結(jié)果;其操作過(guò)程分為兩種情況,一種情況是分時(shí)通過(guò)微處理器的內(nèi)部數(shù)據(jù)總線將操作數(shù)I和操作數(shù)2分別傳輸運(yùn)算器的兩個(gè)暫存器,運(yùn)算結(jié)束再通過(guò)微處理器的內(nèi)部數(shù)據(jù)總線將運(yùn)算結(jié)果寫(xiě)回存放在操作數(shù)I的暫存器中;第2種情況是操作數(shù)I是上次運(yùn)算的結(jié)果,上次運(yùn)算結(jié)果寫(xiě)回之后,再傳輸操作數(shù)2,運(yùn)算結(jié)果寫(xiě)回操作數(shù)I的暫存器;運(yùn)算結(jié)果寫(xiě)回和操作數(shù)2的傳輸?shù)奶幚磉^(guò)程是通過(guò)微處理器的內(nèi)部數(shù)據(jù)總線分時(shí)操作;另一方面,在微處理器的指令系統(tǒng)中,算術(shù)運(yùn)算類指令通常是雙操作數(shù)指令,指令中一個(gè)是操作數(shù)1,一個(gè)是操作數(shù)2,還有一個(gè)存放運(yùn)算結(jié)果的寄存器;或者將存放運(yùn)算結(jié)果和操作數(shù)I共用一個(gè)暫存器;如果有多個(gè)連續(xù)的加減乘除運(yùn)算,比如7個(gè)操作數(shù),需要6條運(yùn)算指令予以實(shí)現(xiàn),執(zhí)行這6條指令需要取指和指令譯碼6次,結(jié)果寫(xiě)回6次,而操作數(shù)2傳送給運(yùn)算器的一個(gè)輸入端和結(jié)果寫(xiě)回到操作數(shù)I暫存器的過(guò)程是分時(shí)處理的,不利于進(jìn)一步提高算術(shù)運(yùn)算類指令執(zhí)行的速度。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器,應(yīng)用FPGA設(shè)計(jì)多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器的硬連接電路;該控制器被系統(tǒng)使能,在系統(tǒng)WR信號(hào)的連續(xù)作用下,內(nèi)部產(chǎn)生脈沖序列信號(hào),在這些脈沖信號(hào)的作用下,按照時(shí)序?qū)懭脒\(yùn)算命令,操作數(shù);寫(xiě)入的第3個(gè)操作數(shù)直到參與運(yùn)算的最后一個(gè)操作數(shù)執(zhí)行寫(xiě)入的操作數(shù)與上次運(yùn)算結(jié)果的運(yùn)算;該控制器在內(nèi)部脈沖序列信號(hào)的作用下,自主完成多操作數(shù)的四則混合定點(diǎn)算術(shù)運(yùn)算,中間運(yùn)算結(jié)果寫(xiě)回操作數(shù)I暫存器能夠與寫(xiě)入操作數(shù)2并行執(zhí)行;接收所有的操作數(shù)之后,向系統(tǒng)發(fā)出讀出請(qǐng)求信號(hào),系統(tǒng)根據(jù)需要發(fā)出RD信號(hào),按照順序讀出低32位、高32位運(yùn)算結(jié)果和運(yùn)算標(biāo)志狀態(tài);有利于四則混合定點(diǎn)算術(shù)運(yùn)算指令流執(zhí)行的速度。
[0004]解決上述技術(shù)問(wèn)題的技術(shù)方案是:一種多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器,包括命令寄存與操作數(shù)暫存控制模塊,算術(shù)運(yùn)算控制模塊,結(jié)果輸出控制模塊;
所述命令寄存與操作數(shù)暫存控制模塊與算術(shù)運(yùn)算控制模塊,結(jié)果輸出控制模塊連接; 所述算術(shù)運(yùn)算控制模塊還與結(jié)果輸出控制模塊連接;
所述命令寄存與操作數(shù)暫存控制模塊在系統(tǒng)CS為“O”信號(hào)作用下使能,在系統(tǒng)WR信號(hào)的連續(xù)作用下,內(nèi)部產(chǎn)生脈沖①、脈沖②、脈沖③、脈沖④信號(hào);在這些脈沖信號(hào)的作用下,所述命令寄存與操作數(shù)暫存控制模塊從系統(tǒng)數(shù)據(jù)總線DB寫(xiě)入運(yùn)算命令、操作數(shù)并鎖存,控制算術(shù)運(yùn)算控制模塊的運(yùn)算及結(jié)果鎖存,控制結(jié)果輸出控制模塊的運(yùn)算結(jié)果和標(biāo)志的鎖存,接收所有的操作數(shù)之后,向系統(tǒng)發(fā)出讀出請(qǐng)求信號(hào);
所述算術(shù)運(yùn)算控制模塊根據(jù)命令寄存與操作數(shù)暫存控制模塊輸出的命令編碼,實(shí)施兩個(gè)有效位為64位和32位定點(diǎn)操作數(shù)的加、減、乘、除運(yùn)算,減法采用補(bǔ)碼進(jìn)行加運(yùn)算,設(shè)置運(yùn)算結(jié)果的標(biāo)志,如果運(yùn)算結(jié)果異常,發(fā)出運(yùn)算結(jié)果異常的信號(hào);
所述結(jié)果輸出控制模塊存儲(chǔ)高32位運(yùn)算的中間結(jié)果和最終結(jié)果,存儲(chǔ)運(yùn)算結(jié)果的標(biāo)志,在系統(tǒng)RD信號(hào)的作用下,將64位運(yùn)算結(jié)果和運(yùn)算標(biāo)志分時(shí)輸出至系統(tǒng)數(shù)據(jù)總線DB ;在命令寄存與操作數(shù)暫存控制模塊輸出的輸出模塊復(fù)位信號(hào)的作用下,復(fù)位結(jié)果輸出控制模塊。
[0005]其進(jìn)一步技術(shù)方案是:所述命令寄存與操作數(shù)暫存控制模塊包括脈沖發(fā)生及控制器,非門(mén),與門(mén)I,-1計(jì)數(shù)器,移位寄存器,操作數(shù)暫存器,與門(mén)II,二選一選擇器,操作數(shù)I與運(yùn)算結(jié)果暫存器,與門(mén)III;所述脈沖發(fā)生及控制器的使能信號(hào)輸入端與系統(tǒng)CS信號(hào)線連接,脈沖信號(hào)輸入端與系統(tǒng)WR信號(hào)線連接,時(shí)鐘脈沖輸入端與系統(tǒng)時(shí)鐘信號(hào)線連接,復(fù)位信號(hào)輸入端和非門(mén)的輸出端連接,溢出信號(hào)輸入端與-1計(jì)數(shù)器的溢出輸出端連接,脈沖①輸出端與-1計(jì)數(shù)器的預(yù)置脈沖信號(hào)輸入端、移位寄存器預(yù)置脈沖信號(hào)輸入端、操作數(shù)暫存器的復(fù)位信號(hào)輸入端、操作數(shù)I與運(yùn)算結(jié)果暫存器的復(fù)位信號(hào)輸入端、結(jié)果輸出控制模塊連接;脈沖②輸出端和與門(mén)II的一個(gè)輸入端、二選一選擇器的選通信號(hào)輸入端、算術(shù)運(yùn)算控制模塊連接,脈沖③輸出端和與門(mén)I的一個(gè)輸入端連接,脈沖④輸出端和與門(mén)I的另一個(gè)輸入端、與門(mén)II的另一個(gè)輸入端、算術(shù)運(yùn)算控制模塊、結(jié)果輸出控制模塊連接;
所述非門(mén)的輸入端與系統(tǒng)CS信號(hào)線連接;輸出端還與-1計(jì)數(shù)器的復(fù)位信號(hào)輸入端、與門(mén)III的一個(gè)輸入端連接;
所述與門(mén)I的輸出端與-1計(jì)數(shù)器的計(jì)數(shù)脈沖信號(hào)輸入端、移位寄存器的移位脈沖信號(hào)輸入端、操作數(shù)暫存器的寫(xiě)入信號(hào)輸入端連接;
所述-1計(jì)數(shù)器的使能信號(hào)輸入端與系統(tǒng)CS信號(hào)線連接,計(jì)數(shù)初值輸入端與系統(tǒng)DB的D31到D28線連接;溢出信號(hào)輸出端還作為讀出請(qǐng)求信號(hào)輸出;
所述移位寄存器的命令信號(hào)輸入端與系統(tǒng)DB的D27到DO連接;命令編碼輸出端與算術(shù)運(yùn)算控制模塊連接;
所述操作數(shù)暫存器的操作數(shù)輸入端與系統(tǒng)DB的D31到DO線連接;32位操作數(shù)2輸出端與算術(shù)運(yùn)算控制模塊連接;
所述與門(mén)II的輸出端與操作數(shù)I與運(yùn)算結(jié)果暫存器的寫(xiě)入信號(hào)輸入端連接;
所述二選一選擇器的一個(gè)數(shù)據(jù)輸入端與系統(tǒng)DB的D31到DO線連接,另一個(gè)低32位運(yùn)算結(jié)果輸入端與算術(shù)運(yùn)算控制模塊連接;輸出端與操作數(shù)I與運(yùn)算結(jié)果暫存器的32位數(shù)據(jù)輸入端連接;
所述操作數(shù)I與運(yùn)算結(jié)果暫存器的低32位操作數(shù)I與低32位運(yùn)算結(jié)果輸出端與算術(shù)運(yùn)算控制模塊、結(jié)果輸出控制模塊連接;
所述與門(mén)III的另一個(gè)輸入端與系統(tǒng)復(fù)位信號(hào)線連接;輸出端與算術(shù)運(yùn)算控制模塊連接。[0006]其進(jìn)一步技術(shù)方案是:所述算術(shù)運(yùn)算控制模塊包括加法器,乘法器,除法器,三選一選擇器I,三選一選擇器II,狀態(tài)寄存器及其控制模塊;所述加法器的低32位操作數(shù)I輸入端和操作數(shù)I與運(yùn)算結(jié)果暫存器的低32位操作數(shù)I與低32位運(yùn)算結(jié)果輸出端連接,高32位操作數(shù)I輸入端與結(jié)果輸出控制模塊連接,32位操作數(shù)2輸入端與操作數(shù)暫存器的32位操作數(shù)2輸出端連接,命令編碼輸入端與移位寄存器的命令編碼輸出端連接,運(yùn)算器復(fù)位信號(hào)輸入端和與門(mén)III的輸出端連接,操作數(shù)符號(hào)位調(diào)整輸入端與脈沖發(fā)生及控制器的脈沖②輸出端連接;低32位輸出端與三選一選擇器I的一個(gè)輸入端連接,高32位輸出端與三選一選擇器II的一個(gè)輸入端連接;
所述乘法器的低32位操作數(shù)I輸入端和操作數(shù)I與運(yùn)算結(jié)果暫存器的低32位操作數(shù)I與低32位運(yùn)算結(jié)果輸出端連接,高32位操作數(shù)I輸入端與結(jié)果輸出控制模塊連接,32位操作數(shù)2輸入端與操作數(shù)暫存器的32位操作數(shù)2輸出端連接,命令編碼輸入端與移位寄存器的命令編碼輸出端連接,運(yùn)算器復(fù)位信號(hào)輸入端和與門(mén)III的輸出端連接,操作數(shù)符號(hào)位調(diào)整輸入端與脈沖發(fā)生及控制器的脈沖②輸出端連接;低32位輸出端與三選一選擇器I的一個(gè)輸入端連接,高32位輸出端與三選一選擇器II的一個(gè)輸入端連接;
所述除法器的低32位操作數(shù)I輸入端和操作數(shù)I與運(yùn)算結(jié)果暫存器的低32位操作數(shù)I與低32位運(yùn)算結(jié)果輸出端連接,高32位操作數(shù)I輸入端與結(jié)果輸出控制模塊連接,32位操作數(shù)2輸入端與操作數(shù)暫存器的32位操作數(shù)2輸出端連接,命令編碼輸入端與移位寄存器的命令編碼輸出端連接,運(yùn)算器復(fù)位信號(hào)輸入端和與門(mén)III的輸出端連接,操作數(shù)符號(hào)位調(diào)整輸入端與脈沖發(fā)生及控制器的脈沖②輸出端連接;低32位輸出端與三選一選擇器I的一個(gè)輸入端連接,高32位輸出端與三選一選擇器II的一個(gè)輸入端連接,運(yùn)算錯(cuò)誤輸出端與狀態(tài)寄存器及其控制模塊的運(yùn)算錯(cuò)誤輸入端連接;
所述三選一選擇器I的選通控制端與移位寄存器的命令編碼輸出端連接;輸出端與狀態(tài)寄存器及其控制模塊的低32位運(yùn)算結(jié)果輸入端、二選一選擇器的低32位運(yùn)算結(jié)果輸入端連接;
所述三選一選擇器II的選通控制端與移位寄存器的命令編碼輸出端連接;輸出端與狀態(tài)寄存器及其控制模塊的高32位運(yùn)算結(jié)果輸入端、結(jié)果輸出控制模塊連接;
所述狀態(tài)寄存器及其控制模塊的狀態(tài)寫(xiě)入輸入端與脈沖發(fā)生及控制器的脈沖④輸出端連接,操作數(shù)I符號(hào)位輸入端與結(jié)果輸出控制模塊輸出的高32位操作數(shù)I的D31線連接,操作數(shù)2符號(hào)位輸入端與操作數(shù)暫存器的32位操作數(shù)2輸出端D31線連接,運(yùn)算器復(fù)位輸入端和與門(mén)III的輸出端連接;標(biāo)志輸出端與結(jié)果輸出控制模塊連接,運(yùn)算結(jié)果異常輸出端向系統(tǒng)輸出運(yùn)算結(jié)果異常信號(hào)。
[0007]其進(jìn)一步技術(shù)方案是:所述結(jié)果輸出控制模塊包括高32位運(yùn)算結(jié)果暫存器,標(biāo)志寄存器,計(jì)數(shù)控制器,三選一選擇器III,與門(mén)IV,32位三態(tài)門(mén)組;所述高32位運(yùn)算結(jié)果暫存器的高32位運(yùn)算結(jié)果輸入端與三選一選擇器II的輸出端連接,結(jié)果寫(xiě)入輸入端與脈沖發(fā)生及控制器的脈沖④輸出端連接,輸出模塊復(fù)位信號(hào)輸入端與脈沖發(fā)生及控制器的脈沖①輸出端連接;輸出端與加法器、乘法器和除法器的高32位操作數(shù)I輸入端、三選一選擇器III的高32位運(yùn)算結(jié)果輸入端連接;
所述標(biāo)志寄存器的標(biāo)志輸入端與狀態(tài)寄存器及其控制模塊的標(biāo)志輸出端連接,結(jié)果寫(xiě)入輸入端與脈沖發(fā)生及控制器的脈沖④輸出端連接,輸出模塊復(fù)位信號(hào)輸入端與脈沖發(fā)生及控制器的脈沖①輸出端連接;運(yùn)算標(biāo)志輸出端與三選一選擇器III的運(yùn)算標(biāo)志輸入端連接;
所述計(jì)數(shù)控制器的計(jì)數(shù)脈沖輸入端與系統(tǒng)RD信號(hào)線連接,使能信號(hào)輸入端與系統(tǒng)CS線連接,輸出模塊復(fù)位信號(hào)輸入端與脈沖發(fā)生及控制器的脈沖①輸出端連接;RD1、RD2、RD3信號(hào)輸出端分別與三選一選擇器III的三個(gè)控制輸入端、與門(mén)IV的三個(gè)輸入端連接;
所述三選一選擇器III的低32位運(yùn)算結(jié)果輸入端與運(yùn)算結(jié)果暫存器的低32位操作數(shù)I與低32位運(yùn)算結(jié)果輸出端連接;輸出端與32位三態(tài)門(mén)組的輸入端連接;
所述與門(mén)IV的輸出端與32位三態(tài)門(mén)組的控制端連接;
所述32位三態(tài)門(mén)組的32位數(shù)據(jù)輸出端與系統(tǒng)DB連接。
[0008]其進(jìn)一步技術(shù)方案是:所述命令寄存與操作數(shù)暫存控制模塊的脈沖發(fā)生及控制器發(fā)出與系統(tǒng)WR信號(hào)同步的脈沖①、脈沖②、脈沖③、脈沖④信號(hào);
在脈沖①下降沿的作用下,從系統(tǒng)數(shù)據(jù)總線DB傳輸?shù)倪\(yùn)算命令的D31到D28的操作數(shù)個(gè)數(shù)值作為計(jì)數(shù)初值寫(xiě)入-1計(jì)數(shù)器,D27到DO的命令編碼寫(xiě)入移位寄存器,輸出第I個(gè)操作數(shù)與第2個(gè)操作數(shù)的運(yùn)算命令;復(fù)位操作數(shù)暫存器、操作數(shù)I與運(yùn)算結(jié)果暫存器、高32位運(yùn)算結(jié)果暫存器;
在脈沖②下降沿的作用下,運(yùn)算命令的第I個(gè)操作數(shù)寫(xiě)入操作數(shù)I與運(yùn)算結(jié)果暫存
器;
在脈沖③下降沿的作用下,-1計(jì)數(shù)器進(jìn)行減I操作,移位寄存器中的命令編碼值右移兩位,運(yùn)算命令的第2個(gè)操作數(shù)寫(xiě)入操作數(shù)暫存器;
在脈沖④下降沿的作用下,運(yùn)算命令的第3個(gè)操作數(shù)寫(xiě)入操作數(shù)暫存器,-1計(jì)數(shù)器進(jìn)行減I操作,移位寄存器中的命令編碼值右移兩位,輸出第3個(gè)操作數(shù)與運(yùn)算結(jié)果的運(yùn)算命令,低32位運(yùn)算結(jié)果寫(xiě)入操作數(shù)I與運(yùn)算結(jié)果暫存器,高32位運(yùn)算結(jié)果寫(xiě)入高32位運(yùn)算結(jié)果暫存器,運(yùn)算結(jié)果狀態(tài)標(biāo)志寫(xiě)入狀態(tài)寄存器及其控制模塊;
當(dāng)-1計(jì)數(shù)器的溢出輸出端為“I”時(shí),所示脈沖發(fā)生及控制器循環(huán)輸出脈沖④,在脈沖④下降沿的作用下,運(yùn)算命令的操作數(shù)寫(xiě)入操作數(shù)暫存器,-1計(jì)數(shù)器進(jìn)行減I操作,移位寄存器中的命令編碼值右移兩位,輸出該操作數(shù)與運(yùn)算結(jié)果的運(yùn)算命令,上次運(yùn)算的低32位運(yùn)算結(jié)果寫(xiě)入操作數(shù)I與運(yùn)算結(jié)果暫存器,高32位運(yùn)算結(jié)果寫(xiě)入高32位運(yùn)算結(jié)果暫存器,運(yùn)算結(jié)果狀態(tài)標(biāo)志寫(xiě)入狀態(tài)寄存器及其控制模塊;
當(dāng)-1計(jì)數(shù)器的溢出輸出端由“I”一 “O”時(shí),脈沖發(fā)生及控制器發(fā)出一個(gè)時(shí)鐘周期的脈沖④;所示-1計(jì)數(shù)器的溢出輸出端保持為“O”狀態(tài),直到接收到的預(yù)置脈沖輸入從“I” 一 “0”,-1計(jì)數(shù)器的溢出輸出端由“O” 一 “I”。
[0009]由于采用以上結(jié)構(gòu),本發(fā)明之并行操作算術(shù)運(yùn)算及其控制器具有以下有益效果: 一、算術(shù)運(yùn)算具有自主控制功能
該控制器被系統(tǒng)使能,在系統(tǒng)WR信號(hào)的連續(xù)作用下,內(nèi)部產(chǎn)生脈沖序列信號(hào),在這些脈沖信號(hào)的作用下,按照時(shí)序?qū)懭脒\(yùn)算命令,操作數(shù);寫(xiě)入的第3個(gè)操作數(shù)直到參與運(yùn)算的最后一個(gè)操作數(shù)執(zhí)行寫(xiě)入的操作數(shù)與上次運(yùn)算結(jié)果的運(yùn)算;該控制器在內(nèi)部脈沖序列信號(hào)的作用下,自主完成多操作數(shù)的四則混合定點(diǎn)算術(shù)運(yùn)算,運(yùn)算結(jié)果寫(xiě)回操作數(shù)I暫存器能夠與寫(xiě)入操作數(shù)2并行執(zhí)行;充分應(yīng)用了 FPGA的并行處理功能,有利于提高算術(shù)運(yùn)算指令流執(zhí)行的速度。[0010]二、實(shí)現(xiàn)多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算
本發(fā)明中,多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器有加、乘和除法定點(diǎn)算術(shù)運(yùn)算器,該控制器根據(jù)每次運(yùn)算的命令編碼值選定計(jì)算的運(yùn)算器,在內(nèi)部時(shí)序信號(hào)的控制下,實(shí)現(xiàn)多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算;接收所有的操作數(shù)之后,向系統(tǒng)發(fā)出讀出請(qǐng)求信號(hào),系統(tǒng)根據(jù)需要發(fā)出RD信號(hào),按照順序讀出低32位、高32位運(yùn)算結(jié)果和運(yùn)算標(biāo)志狀態(tài);執(zhí)行一條多操作數(shù)的運(yùn)算命令相當(dāng)于執(zhí)行多條兩操作數(shù)的算術(shù)運(yùn)算的命令。
[0011]三、系統(tǒng)性價(jià)比高
本發(fā)明中,應(yīng)用FPGA設(shè)計(jì)電路硬連接的多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器,在內(nèi)部時(shí)序信號(hào)的控制下,達(dá)到自主完成多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算,運(yùn)算結(jié)果寫(xiě)回操作數(shù)I暫存器能夠與寫(xiě)入操作數(shù)2并行執(zhí)行;有利于四則混合定點(diǎn)算術(shù)運(yùn)算指令流執(zhí)行的速度,具有較高的性價(jià)比。
[0012]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明之并行操作算術(shù)運(yùn)算及其控制器的技術(shù)特征作進(jìn)一步的說(shuō)明。
【專利附圖】
【附圖說(shuō)明】
[0013]圖1:本發(fā)明之多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器的系統(tǒng)結(jié)構(gòu)框圖;
圖2:本發(fā)明之多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器的命令寄存與操作數(shù)暫存控制模塊的電路連接圖;
圖3:本發(fā)明之多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器的算術(shù)運(yùn)算控制模塊的電路連接圖;
圖4:本發(fā)明之多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器的結(jié)果輸出控制模塊的電路連接圖;
圖5:本發(fā)明之多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器的命令執(zhí)行時(shí)序圖。
[0014]圖中:
I 一命令寄存與操作數(shù)暫存控制模塊,II一算術(shù)運(yùn)算控制模塊,III一結(jié)果輸出控制模
塊;
I一脈沖發(fā)生及控制器,2—非門(mén),3—與門(mén)I,4一-1計(jì)數(shù)器,5—移位寄存器,6—操作數(shù)暫存器,7—與門(mén)II,8—二選一選擇器,9一操作數(shù)I與運(yùn)算結(jié)果暫存器,10—與門(mén)III,11 一加法器,12—乘法器,13—除法器,14一三選一選擇器I,15—三選一選擇器II,16—狀態(tài)寄存器及其控制模塊,17—高32位運(yùn)算結(jié)果暫存器,18—標(biāo)志寄存器,19一計(jì)數(shù)控制器,20—三選一選擇器III,21—與門(mén)IV,22— 32位三態(tài)門(mén)組。
[0015]文中縮略語(yǔ)說(shuō)明:
FPGA — Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列;
DB — Data Bus,數(shù)據(jù)總線;
CS - Chip Select,片選或使能,圖中CS代表“使能信號(hào)”;
RD - Read,讀,圖中代表“讀出信號(hào)”;
WR - Write,寫(xiě),圖中代表“寫(xiě)入信號(hào)”。
【具體實(shí)施方式】[0016]實(shí)施例:
一種多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器,如圖1所示,其特征在于:該控制器包括命令寄存與操作數(shù)暫存控制模塊I,算術(shù)運(yùn)算控制模塊II,結(jié)果輸出控制模塊III ;
所述命令寄存與操作數(shù)暫存控制模塊I與算術(shù)運(yùn)算控制模塊II,結(jié)果輸出控制模塊III連接;
所述算術(shù)運(yùn)算控制模塊II還與結(jié)果輸出控制模塊III連接;
所述命令寄存與操作數(shù)暫存控制模塊I在系統(tǒng)CS為“O”信號(hào)作用下使能,在系統(tǒng)WR信號(hào)的連續(xù)作用下,內(nèi)部產(chǎn)生脈沖①、脈沖②、脈沖③、脈沖④信號(hào);在這些脈沖信號(hào)的作用下,所述命令寄存與操作數(shù)暫存控制模塊I從系統(tǒng)數(shù)據(jù)總線DB寫(xiě)入運(yùn)算命令、操作數(shù)并鎖存,控制算術(shù)運(yùn)算控制模塊II的運(yùn)算及結(jié)果鎖存,控制結(jié)果輸出控制模塊III的運(yùn)算結(jié)果和標(biāo)志的鎖存,接收所有的操作數(shù)之后,向系統(tǒng)發(fā)出讀出請(qǐng)求信號(hào);
所述算術(shù)運(yùn)算控制模塊II根據(jù)命令寄存與操作數(shù)暫存控制模塊I輸出的命令編碼,實(shí)施兩個(gè)有效位為64位和32位定點(diǎn)操作數(shù)的加、減、乘、除運(yùn)算,減法采用補(bǔ)碼進(jìn)行加運(yùn)算,設(shè)置運(yùn)算結(jié)果的標(biāo)志,如果運(yùn)算結(jié)果異常,發(fā)出運(yùn)算結(jié)果異常的信號(hào);
所述結(jié)果輸出控制模塊III存儲(chǔ)高32位運(yùn)算的中間結(jié)果和最終結(jié)果,存儲(chǔ)運(yùn)算結(jié)果的標(biāo)志,在系統(tǒng)RD信號(hào)的作用下,將64位運(yùn)算結(jié)果和運(yùn)算標(biāo)志分時(shí)輸出至系統(tǒng)數(shù)據(jù)總線DB ;在命令寄存與操作數(shù)暫存控制模塊I輸出的輸出模塊復(fù)位信號(hào)的作用下,復(fù)位結(jié)果輸出控制模塊III。
[0017]如圖2所示,所述命令寄存與操作數(shù)暫存控制模塊I包括脈沖發(fā)生及控制器1,非門(mén)2,與門(mén)I 3,-1計(jì)數(shù)器4,移位寄存器5,操作數(shù)暫存器6,與門(mén)II 7,二選一選擇器8,操作數(shù)I與運(yùn)算結(jié)果暫存器9,與門(mén)III 10 ;所述脈沖發(fā)生及控制器I的使能信號(hào)輸入端與系統(tǒng)CS信號(hào)線連接,脈沖信號(hào)輸入端與系統(tǒng)WR信號(hào)線連接,時(shí)鐘脈沖輸入端與系統(tǒng)時(shí)鐘信號(hào)線連接,復(fù)位信號(hào)輸入端和非門(mén)2的輸出端連接,溢出信號(hào)輸入端與-1計(jì)數(shù)器4的溢出輸出端連接,脈沖①輸出端與-1計(jì)數(shù)器4的預(yù)置脈沖信號(hào)輸入端、移位寄存器5預(yù)置脈沖信號(hào)輸入端、操作數(shù)暫存器6的復(fù)位信號(hào)輸入端、操作數(shù)I與運(yùn)算結(jié)果暫存器9的復(fù)位信號(hào)輸入端、結(jié)果輸出控制模塊III連接;脈沖②輸出端和與門(mén)II 7的一個(gè)輸入端、二選一選擇器8的選通信號(hào)輸入端、算術(shù)運(yùn)算控制模塊II連接,脈沖③輸出端和與門(mén)I 3的一個(gè)輸入端連接,脈沖④輸出端和與門(mén)I 3的另一個(gè)輸入端、與門(mén)II 7的另一個(gè)輸入端、算術(shù)運(yùn)算控制模塊
I1、結(jié)果輸出控制模塊III連接;
所述非門(mén)2的輸入端與系統(tǒng)CS信號(hào)線連接;輸出端還與-1計(jì)數(shù)器4的復(fù)位信號(hào)輸入端、與門(mén)III 10的一個(gè)輸入端連接;
所述與門(mén)I 3的輸出端與-1計(jì)數(shù)器4的計(jì)數(shù)脈沖信號(hào)輸入端、移位寄存器5的移位脈沖信號(hào)輸入端、操作數(shù)暫存器6的寫(xiě)入信號(hào)輸入端連接;
所述-1計(jì)數(shù)器4的使能信號(hào)輸入端與系統(tǒng)CS信號(hào)線連接,計(jì)數(shù)初值輸入端與系統(tǒng)DB的D31到D28線連接;溢出信號(hào)輸出端還作為讀出請(qǐng)求信號(hào)輸出;
所述移位寄存器5的命令信號(hào)輸入端與系統(tǒng)DB的D27到DO連接;命令編碼輸出端與算術(shù)運(yùn)算控制模塊II連接;
所述操作數(shù)暫存器6的操作數(shù)輸入端與系統(tǒng)DB的D31到DO線連接;32位操作數(shù)2輸出端與算術(shù)運(yùn)算控制模塊II連接; 所述與門(mén)II 7的輸出端與操作數(shù)I與運(yùn)算結(jié)果暫存器9的寫(xiě)入信號(hào)輸入端連接;
所述二選一選擇器8的一個(gè)數(shù)據(jù)輸入端與系統(tǒng)DB的D31到DO線連接,另一個(gè)低32位運(yùn)算結(jié)果輸入端與算術(shù)運(yùn)算控制模塊II連接;輸出端與操作數(shù)I與運(yùn)算結(jié)果暫存器9的32位數(shù)據(jù)輸入端連接;
所述操作數(shù)I與運(yùn)算結(jié)果暫存器9的低32位操作數(shù)I與低32位運(yùn)算結(jié)果輸出端與算術(shù)運(yùn)算控制模塊I1、結(jié)果輸出控制模塊III連接;
所述與門(mén)III 10的另一個(gè)輸入端與系統(tǒng)復(fù)位信號(hào)線連接;輸出端與算術(shù)運(yùn)算控制模塊II連接。
[0018]如圖3所示,所述算術(shù)運(yùn)算控制模塊II包括加法器11,乘法器12,除法器13,三選一選擇器I 14,三選一選擇器II 15,狀態(tài)寄存器及其控制模塊16 ;所述加法器11的低32位操作數(shù)I輸入端和操作數(shù)I與運(yùn)算結(jié)果暫存器9的低32位操作數(shù)I與低32位運(yùn)算結(jié)果輸出端連接,高32位操作數(shù)I輸入端與結(jié)果輸出控制模塊III連接,32位操作數(shù)2輸入端與操作數(shù)暫存器6的32位操作數(shù)2輸出端連接,命令編碼輸入端與移位寄存器5的命令編碼輸出端連接,運(yùn)算器復(fù)位信號(hào)輸入端和與門(mén)III 10的輸出端連接,操作數(shù)符號(hào)位調(diào)整輸入端與脈沖發(fā)生及控制器I的脈沖②輸出端連接;低32位輸出端與三選一選擇器I 14的一個(gè)輸入端連接,高32位輸出端與三選一選擇器II 15的一個(gè)輸入端連接;
所述乘法器12的低32位操作數(shù)I輸入端和操作數(shù)I與運(yùn)算結(jié)果暫存器9的低32位操作數(shù)I與低32位運(yùn)算結(jié)果輸出端連接,高32位操作數(shù)I輸入端與結(jié)果輸出控制模塊III連接,32位操作數(shù)2輸入端與操作數(shù)暫存器6的32位操作數(shù)2輸出端連接,命令編碼輸入端與移位寄存器5的命令編碼輸出端連接,運(yùn)算器復(fù)位信號(hào)輸入端和與門(mén)III10的輸出端連接,操作數(shù)符號(hào)位調(diào)整輸入端與脈沖發(fā)生及控制器I的脈沖②輸出端連接;低32位輸出端與三選一選擇器I 14的一個(gè)輸入端連接,高32位輸出端與三選一選擇器II 15的一個(gè)輸入端連接;
所述除法器13的低32位操作數(shù)I輸入端和操作數(shù)I與運(yùn)算結(jié)果暫存器9的低32位操作數(shù)I與低32位運(yùn)算結(jié)果輸出端連接,高32位操作數(shù)I輸入端與結(jié)果輸出控制模塊III連接,32位操作數(shù)2輸入端與操作數(shù)暫存器6的32位操作數(shù)2輸出端連接,命令編碼輸入端與移位寄存器5的命令編碼輸出端連接,運(yùn)算器復(fù)位信號(hào)輸入端和與門(mén)III10的輸出端連接,操作數(shù)符號(hào)位調(diào)整輸入端與脈沖發(fā)生及控制器I的脈沖②輸出端連接;低32位輸出端與三選一選擇器I 14的一個(gè)輸入端連接,高32位輸出端與三選一選擇器II 15的一個(gè)輸入端連接,運(yùn)算錯(cuò)誤輸出端與狀態(tài)寄存器及其控制模塊16的運(yùn)算錯(cuò)誤輸入端連接;
所述三選一選擇器I 14的選通控制端與移位寄存器5的命令編碼輸出端連接;輸出端與狀態(tài)寄存器及其控制模塊16的低32位運(yùn)算結(jié)果輸入端、二選一選擇器8的低32位運(yùn)算結(jié)果輸入%5連接;
所述三選一選擇器II 15的選通控制端與移位寄存器5的命令編碼輸出端連接;輸出端與狀態(tài)寄存器及其控制模塊16的高32位運(yùn)算結(jié)果輸入端、結(jié)果輸出控制模塊III連接;
所述狀態(tài)寄存器及其控制模塊16的狀態(tài)寫(xiě)入輸入端與脈沖發(fā)生及控制器I的脈沖④輸出端連接,操作數(shù)I符號(hào)位輸入端與結(jié)果輸出控制模塊III輸出的高32位操作數(shù)I的D31線連接,操作數(shù)2符號(hào)位輸入端與操作數(shù)暫存器6的32位操作數(shù)2輸出端D31線連接,運(yùn)算器復(fù)位輸入端和與門(mén)III 10的輸出端連接;標(biāo)志輸出端與結(jié)果輸出控制模塊III連接,運(yùn)算結(jié)果異常輸出端向系統(tǒng)輸出運(yùn)算結(jié)果異常信號(hào)。
[0019]如圖4所示,所述結(jié)果輸出控制模塊III包括高32位運(yùn)算結(jié)果暫存器17,標(biāo)志寄存器18,計(jì)數(shù)控制器19,三選一選擇器III 20,與門(mén)IV 21,32位三態(tài)門(mén)組22 ;所述高32位運(yùn)算結(jié)果暫存器17的高32位運(yùn)算結(jié)果輸入端與三選一選擇器II 15的輸出端連接,結(jié)果寫(xiě)入輸入端與脈沖發(fā)生及控制器I的脈沖④輸出端連接,輸出模塊復(fù)位信號(hào)輸入端與脈沖發(fā)生及控制器I的脈沖①輸出端連接;輸出端與加法器11、乘法器12和除法器13的高32位操作數(shù)I輸入端、三選一選擇器III 20的高32位運(yùn)算結(jié)果輸入端連接;
所述標(biāo)志寄存器18的標(biāo)志輸入端與狀態(tài)寄存器及其控制模塊16的標(biāo)志輸出端連接,結(jié)果寫(xiě)入輸入端與脈沖發(fā)生及控制器I的脈沖④輸出端連接,輸出模塊復(fù)位信號(hào)輸入端與脈沖發(fā)生及控制器I的脈沖①輸出端連接;運(yùn)算標(biāo)志輸出端與三選一選擇器III20的運(yùn)算標(biāo)志輸入端連接;
所述計(jì)數(shù)控制器19的計(jì)數(shù)脈沖輸入端與系統(tǒng)RD信號(hào)線連接,使能信號(hào)輸入端與系統(tǒng)CS線連接,輸出模塊復(fù)位信號(hào)輸入端與脈沖發(fā)生及控制器I的脈沖①輸出端連接;RD1、RD2、RD3信號(hào)輸出端分別與三選一選擇器III 20的三個(gè)控制輸入端、與門(mén)IV 21的三個(gè)輸入端連接;
所述三選一選擇器III 20的低32位運(yùn)算結(jié)果輸入端與運(yùn)算結(jié)果暫存器9的低32位操作數(shù)I與低32位運(yùn)算結(jié)果輸出端連接;輸出端與32位三態(tài)門(mén)組22的輸入端連接;
所述與門(mén)IV 21的輸出端與32位三態(tài)門(mén)組22的控制端連接;
所述32位三態(tài)門(mén)組22的32位數(shù)據(jù)輸出端與系統(tǒng)DB連接。
[0020]如圖2、圖3、圖4所示,所述命令寄存與操作數(shù)暫存控制模塊I的脈沖發(fā)生及控制器I發(fā)出與系統(tǒng)WR信號(hào)同步的脈沖①、脈沖②、脈沖③、脈沖④信號(hào);
在脈沖①下降沿的作用下,從系統(tǒng)數(shù)據(jù)總線DB傳輸?shù)倪\(yùn)算命令的D31到D28的操作數(shù)個(gè)數(shù)值作為計(jì)數(shù)初值寫(xiě)入-1計(jì)數(shù)器4,D27到DO的命令編碼寫(xiě)入移位寄存器5,輸出第I個(gè)操作數(shù)與第2個(gè)操作數(shù)的運(yùn)算命令;復(fù)位操作數(shù)暫存器6、操作數(shù)I與運(yùn)算結(jié)果暫存器9、高32位運(yùn)算結(jié)果暫存器17 ;
在脈沖②下降沿的作用下,運(yùn)算命令的第I個(gè)操作數(shù)寫(xiě)入操作數(shù)I與運(yùn)算結(jié)果暫存器
9 ;
在脈沖③下降沿的作用下,-1計(jì)數(shù)器4進(jìn)行減I操作,移位寄存器5中的命令編碼值右移兩位,運(yùn)算命令的第2個(gè)操作數(shù)寫(xiě)入操作數(shù)暫存器6 ;
在脈沖④下降沿的作用下,運(yùn)算命令的第3個(gè)操作數(shù)寫(xiě)入操作數(shù)暫存器6,-1計(jì)數(shù)器4進(jìn)行減I操作,移位寄存器5中的命令編碼值右移兩位,輸出第3個(gè)操作數(shù)與運(yùn)算結(jié)果的運(yùn)算命令,低32位運(yùn)算結(jié)果寫(xiě)入操作數(shù)I與運(yùn)算結(jié)果暫存器9,高32位運(yùn)算結(jié)果寫(xiě)入高32位運(yùn)算結(jié)果暫存器17,運(yùn)算結(jié)果狀態(tài)標(biāo)志寫(xiě)入狀態(tài)寄存器及其控制模塊16 ;
當(dāng)-1計(jì)數(shù)器4的溢出輸出端為“I”時(shí),所示脈沖發(fā)生及控制器I循環(huán)輸出脈沖④,在脈沖④下降沿的作用下,運(yùn)算命令的操作數(shù)寫(xiě)入操作數(shù)暫存器6,-1計(jì)數(shù)器4進(jìn)行減I操作,移位寄存器5中的命令編碼值右移兩位,輸出該操作數(shù)與運(yùn)算結(jié)果的運(yùn)算命令,上次運(yùn)算的低32位運(yùn)算結(jié)果寫(xiě)入操作數(shù)I與運(yùn)算結(jié)果暫存器9,高32位運(yùn)算結(jié)果寫(xiě)入高32位運(yùn)算結(jié)果暫存器17,運(yùn)算結(jié)果狀態(tài)標(biāo)志寫(xiě)入狀態(tài)寄存器及其控制模塊16 ;
當(dāng)-1計(jì)數(shù)器4的溢出輸出端由“I”一“O”時(shí),脈沖發(fā)生及控制器I發(fā)出一個(gè)時(shí)鐘周期的脈沖④;所示-1計(jì)數(shù)器4的溢出輸出端保持為“O”狀態(tài),直到接收到的預(yù)置脈沖輸入從“I” 一 “O”,-1計(jì)數(shù)器4的溢出輸出端由“O” 一 “I”。
【權(quán)利要求】
1.一種多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器,其特征在于:該控制器包括命令寄存與操作數(shù)暫存控制模塊(I ),算術(shù)運(yùn)算控制模塊(II),結(jié)果輸出控制模塊(III); 所述命令寄存與操作數(shù)暫存控制模塊(I )與算術(shù)運(yùn)算控制模塊(II),結(jié)果輸出控制模塊(III)連接; 所述算術(shù)運(yùn)算控制模塊(II)還與結(jié)果輸出控制模塊(III)連接; 所述命令寄存與操作數(shù)暫存控制模塊(I )在系統(tǒng)CS為“O”信號(hào)作用下使能,在系統(tǒng)WR信號(hào)的連續(xù)作用下,內(nèi)部產(chǎn)生脈沖①、脈沖②、脈沖③、脈沖④信號(hào);在這些脈沖信號(hào)的作用下,所述命令寄存與操作數(shù)暫存控制模塊(I )從系統(tǒng)數(shù)據(jù)總線DB寫(xiě)入運(yùn)算命令、操作數(shù)并鎖存,控制算術(shù)運(yùn)算控制模塊(II)的運(yùn)算及結(jié)果鎖存,控制結(jié)果輸出控制模塊(III)的運(yùn)算結(jié)果和標(biāo)志的鎖存,接收所有的操作數(shù)之后,向系統(tǒng)發(fā)出讀出請(qǐng)求信號(hào); 所述算術(shù)運(yùn)算控制模塊(II)根據(jù)命令寄存與操作數(shù)暫存控制模塊(I )輸出的命令編碼,實(shí)施兩個(gè)有效位為64位和32位定點(diǎn)操作數(shù)的加、減、乘、除運(yùn)算,減法采用補(bǔ)碼進(jìn)行加運(yùn)算,設(shè)置運(yùn)算結(jié)果的標(biāo)志,如果運(yùn)算結(jié)果異常,發(fā)出運(yùn)算結(jié)果異常的信號(hào); 所述結(jié)果輸出控制模塊(III)存儲(chǔ)高32位運(yùn)算的中間結(jié)果和最終結(jié)果,存儲(chǔ)運(yùn)算結(jié)果的標(biāo)志,在系統(tǒng)RD信號(hào)的作用下,將64位運(yùn)算結(jié)果和運(yùn)算標(biāo)志分時(shí)輸出至系統(tǒng)數(shù)據(jù)總線DB ;在命令寄存與操作數(shù)暫存控制模塊(I )輸出的輸出模塊復(fù)位信號(hào)的作用下,復(fù)位結(jié)果輸出控制模塊(III)。
2.如權(quán)利要求1所述的多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器,其特征在于:所述命令寄存與操作數(shù)暫存控制模塊(I)包括脈沖發(fā)生及控制器(1),非門(mén)(2),與門(mén)I (3),-1計(jì)數(shù)器(4),移位寄存器(5),操作數(shù)暫存器(6),與門(mén)II (7),二選一選擇器(8),操作數(shù)I與運(yùn)算結(jié)果暫存器(9),與門(mén)III(IO);所述脈沖發(fā)生及控制器(I)的使能信號(hào)輸入端與系統(tǒng)CS信號(hào)線連接,脈沖信號(hào)輸入端與系統(tǒng)WR信號(hào)線連接,時(shí)鐘脈沖輸入端與系統(tǒng)時(shí)鐘信號(hào)線連接,復(fù)位信號(hào)輸入端和非門(mén)(2)的輸出端連接,溢出信號(hào)輸入端與-1計(jì)數(shù)器(4)的溢出輸出端連接,脈沖①輸出端與-1計(jì)數(shù)器(4)的預(yù)置脈沖信號(hào)輸入端、移位寄存器(5)預(yù)置脈沖信號(hào)輸入端、操作數(shù)暫存器(6)的復(fù)位信號(hào)輸入端、操作數(shù)I與運(yùn)算結(jié)果暫存器(9)的復(fù)位信號(hào)輸入端、結(jié)果輸出控制模塊(III)連接;脈沖②輸出端和與門(mén)II (7)的一個(gè)輸入端、二選一選擇器(8)的選通信號(hào)輸入端、算術(shù)運(yùn)算控制模塊(II)連接,脈沖③輸出端和與門(mén)I (3)的一個(gè)輸入端連接,脈沖④輸出端和與門(mén)I (3)的另一個(gè)輸入端、與門(mén)II (7)的另一個(gè)輸入端、算術(shù)運(yùn)算控制模塊(II )、結(jié)果輸出控制模塊(III)連接; 所述非門(mén)(2)的輸入端與系統(tǒng)CS信號(hào)線連接;輸出端還與-1計(jì)數(shù)器(4)的復(fù)位信號(hào)輸入端、與門(mén)III(IO)的一個(gè)輸入端連接; 所述與門(mén)I (3)的輸出端與-1計(jì)數(shù)器(4)的計(jì)數(shù)脈沖信號(hào)輸入端、移位寄存器(5)的移位脈沖信號(hào)輸入端、操作數(shù)暫存器(6)的寫(xiě)入信號(hào)輸入端連接; 所述-1計(jì)數(shù)器(4)的使能信號(hào)輸入端與系統(tǒng)CS信號(hào)線連接,計(jì)數(shù)初值輸入端與系統(tǒng)DB的D31到D28線連接;溢出信號(hào)輸出端還作為讀出請(qǐng)求信號(hào)輸出; 所述移位寄存器(5)的命令信號(hào)輸入端與系統(tǒng)DB的D27到DO連接;命令編碼輸出端與算術(shù)運(yùn)算控制模塊(II)連接; 所述操作數(shù)暫存器(6)的操作數(shù)輸入端與系統(tǒng)DB的D31到DO線連接;32位操作數(shù)2輸出端與算術(shù)運(yùn)算控制模塊(II)連接;所述與門(mén)II (7)的輸出端與操作數(shù)I與運(yùn)算結(jié)果暫存器(9)的寫(xiě)入信號(hào)輸入端連接;所述二選一選擇器(8)的一個(gè)數(shù)據(jù)輸入端與系統(tǒng)DB的D31到DO線連接,另一個(gè)低32位運(yùn)算結(jié)果輸入端與算術(shù)運(yùn)算控制模塊(II)連接;輸出端與操作數(shù)I與運(yùn)算結(jié)果暫存器(9)的32位數(shù)據(jù)輸入端連接; 所述操作數(shù)I與運(yùn)算結(jié)果暫存器(9)的低32位操作數(shù)I與低32位運(yùn)算結(jié)果輸出端與算術(shù)運(yùn)算控制模塊(II)、結(jié)果輸出控制模塊(III)連接; 所述與門(mén)III(IO)的另一個(gè)輸入端與系統(tǒng)復(fù)位信號(hào)線連接;輸出端與算術(shù)運(yùn)算控制模塊(II)連接。
3.如權(quán)利要求1所述的多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器,其特征在于:所述算術(shù)運(yùn)算控制模塊(II)包括加法器(11),乘法器(12 ),除法器(13 ),三選一選擇器I (14 ),三選一選擇器II (15),狀態(tài)寄存器及其控制模塊(16); 所述加法器(11)的低32位操作數(shù)I輸入端和操作數(shù)I與運(yùn)算結(jié)果暫存器(9)的低32位操作數(shù)I與低32位運(yùn)算結(jié)果輸出端連接,高32位操作數(shù)I輸入端與結(jié)果輸出控制模塊(III)連接,32位操作數(shù)2輸入端與操作數(shù)暫存器(6)的32位操作數(shù)2輸出端連接,命令編碼輸入端與移位寄存器(5)的命令編碼輸出端連接,運(yùn)算器復(fù)位信號(hào)輸入端和與門(mén)IIK10)的輸出端連接,操作數(shù)符號(hào)位調(diào)整輸入端與脈沖發(fā)生及控制器(I)的脈沖②輸出端連接;低32位輸出端與三選一選擇器I (14)的一個(gè)輸入端連接,高32位輸出端與三選一選擇器II (15)的一個(gè)輸入端連接; 所述乘法器(12)的低32位操作數(shù)I輸入端和操作數(shù)I與運(yùn)算結(jié)果暫存器(9)的低32位操作數(shù)I與低32位運(yùn)算結(jié)果輸出端連接,高32位操作數(shù)I輸入端與結(jié)果輸出控制模塊(III)連接,32位操作數(shù)2輸入端與操作數(shù)暫存器(6)的32位操作數(shù)2輸出端連接,命令編碼輸入端與移位寄存器(5)的命令編碼輸出端連接,運(yùn)算器復(fù)位信號(hào)輸入端和與門(mén)IIK10)的輸出端連接,操作數(shù)符號(hào)位調(diào)整輸入端與脈沖發(fā)生及控制器(I)的脈沖②輸出端連接;低32位輸出端與三選一選擇器I (14)的一個(gè)輸入端連接,高32位輸出端與三選一選擇器II (15)的一個(gè)輸入端連接; 所述除法器(13)的低32位操作數(shù)I輸入端和操作數(shù)I與運(yùn)算結(jié)果暫存器(9)的低32位操作數(shù)I與低32位運(yùn)算結(jié)果輸出端連接,高32位操作數(shù)I輸入端與結(jié)果輸出控制模塊(III)連接,32位操作數(shù)2輸入端與操作數(shù)暫存器(6)的32位操作數(shù)2輸出端連接,命令編碼輸入端與移位寄存器(5)的命令編碼輸出端連接,運(yùn)算器復(fù)位信號(hào)輸入端和與門(mén)IIK10)的輸出端連接,操作數(shù)符號(hào)位調(diào)整輸入端與脈沖發(fā)生及控制器(I)的脈沖②輸出端連接;低32位輸出端與三選一選擇器I (14)的一個(gè)輸入端連接,高32位輸出端與三選一選擇器11(15)的一個(gè)輸入端連接,運(yùn)算錯(cuò)誤輸出端與狀態(tài)寄存器及其控制模塊(16)的運(yùn)算錯(cuò)誤輸入端連接; 所述三選一選擇器I (14)的選通控制端與移位寄存器(5)的命令編碼輸出端連接;輸出端與狀態(tài)寄存器及其控制模塊(16)的低32位運(yùn)算結(jié)果輸入端、二選一選擇器(8)的低32位運(yùn)算結(jié)果輸入端連接; 所述三選一選擇器II (15)的選通控制端與移位寄存器(5)的命令編碼輸出端連接;輸出端與狀態(tài)寄存器及其控制模塊(16)的高32位運(yùn)算結(jié)果輸入端、結(jié)果輸出控制模塊(III)連接;所述狀態(tài)寄存器及其控制模塊(16)的狀態(tài)寫(xiě)入輸入端與脈沖發(fā)生及控制器(I)的脈沖④輸出端連接,操作數(shù)I符號(hào)位輸入端與結(jié)果輸出控制模塊(III)輸出的高32位操作數(shù)I的D31線連接,操作數(shù)2符號(hào)位輸入端與操作數(shù)暫存器(6)的32位操作數(shù)2輸出端D31線連接,運(yùn)算器復(fù)位輸入端和與門(mén)III(IO)的輸出端連接;標(biāo)志輸出端與結(jié)果輸出控制模塊(III)連接,運(yùn)算結(jié)果異常輸出端向系統(tǒng)輸出運(yùn)算結(jié)果異常信號(hào)。
4.如權(quán)利要求1所述的多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器,其特征在于:所述結(jié)果輸出控制模塊(ΠΙ)包括高32位運(yùn)算結(jié)果暫存器(17),標(biāo)志寄存器(18),計(jì)數(shù)控制器(19),三選一選擇器111(20),與門(mén)IV (21),32位三態(tài)門(mén)組(22);所述高32位運(yùn)算結(jié)果暫存器(17)的高32位運(yùn)算結(jié)果輸入端與三選一選擇器II (15)的輸出端連接,結(jié)果寫(xiě)入輸入端與脈沖發(fā)生及控制器(I)的脈沖④輸出端連接,輸出模塊復(fù)位信號(hào)輸入端與脈沖發(fā)生及控制器(I)的脈沖①輸出端連接;輸出端與加法器(11)、乘法器(12)和除法器(13)的高32位操作數(shù)I輸入端、三選一選擇器III (20)的高32位運(yùn)算結(jié)果輸入端連接; 所述標(biāo)志寄存器(18)的標(biāo)志輸入端與狀態(tài)寄存器及其控制模塊(16)的標(biāo)志輸出端連接,結(jié)果寫(xiě)入輸入端與脈沖發(fā)生及控制器(I)的脈沖④輸出端連接,輸出模塊復(fù)位信號(hào)輸入端與脈沖發(fā)生及控制器(I)的脈沖①輸出端連接;運(yùn)算標(biāo)志輸出端與三選一選擇器111(20)的運(yùn)算標(biāo)志輸入端連接; 所述計(jì)數(shù)控制器(19)的計(jì)數(shù)脈沖輸入端與系統(tǒng)RD信號(hào)線連接,使能信號(hào)輸入端與系統(tǒng)CS線連接,輸出模塊復(fù)位信號(hào)輸入端與脈沖發(fā)生及控制器(I)的脈沖①輸出端連接;RD1、RD2、RD3信號(hào)輸出端分別與三選一選擇器III (20)的三個(gè)控制輸入端、與門(mén)IV (21)的三個(gè)輸入端連接; 所述三選一選擇器III(20)的低32位運(yùn)算結(jié)果輸入端與運(yùn)算結(jié)果暫存器(9)的低32位操作數(shù)I與低32位運(yùn)算結(jié)果輸出端連接;輸出端與32位三態(tài)門(mén)組(22)的輸入端連接; 所述與門(mén)IV(21)的輸出端與32位三態(tài)門(mén)組(22)的控制端連接; 所述32位三態(tài)門(mén)組(22)的32位數(shù)據(jù)輸出端與系統(tǒng)DB連接。
5.如權(quán)利要求1所述的多操作數(shù)四則混合定點(diǎn)算術(shù)運(yùn)算控制器,其特征在于:所述命令寄存與操作數(shù)暫存控制模塊(I )的脈沖發(fā)生及控制器(I)發(fā)出與系統(tǒng)WR信號(hào)同步的脈沖①、脈沖②、脈沖③、脈沖④信號(hào); 在脈沖①下降沿的作用下,從系統(tǒng)數(shù)據(jù)總線DB傳輸?shù)倪\(yùn)算命令的D31到D28的操作數(shù)個(gè)數(shù)值作為計(jì)數(shù)初值寫(xiě)入-1計(jì)數(shù)器(4),D27到DO的命令編碼寫(xiě)入移位寄存器(5),輸出第I個(gè)操作數(shù)與第2個(gè)操作數(shù)的運(yùn)算命令;復(fù)位操作數(shù)暫存器(6)、操作數(shù)I與運(yùn)算結(jié)果暫存器(9)、高32位運(yùn)算結(jié)果暫存器(17); 在脈沖②下降沿的作用下,運(yùn)算命令的第I個(gè)操作數(shù)寫(xiě)入操作數(shù)I與運(yùn)算結(jié)果暫存器(9); 在脈沖③下降沿的作用下,-1計(jì)數(shù)器(4)進(jìn)行減I操作,移位寄存器(5)中的命令編碼值右移兩位,運(yùn)算命令的第2個(gè)操作數(shù)寫(xiě)入操作數(shù)暫存器(6); 在脈沖④下降沿的作用下,運(yùn)算命令的第3個(gè)操作數(shù)寫(xiě)入操作數(shù)暫存器(6),-1計(jì)數(shù)器(4)進(jìn)行減I操作,移位寄存器(5)中的命令編碼值右移兩位,輸出第3個(gè)操作數(shù)與運(yùn)算結(jié)果的運(yùn)算命令,低32位運(yùn)算結(jié)果寫(xiě)入操作數(shù)I與運(yùn)算結(jié)果暫存器(9),高32位運(yùn)算結(jié)果寫(xiě)入高32位運(yùn)算結(jié)果暫存器(17),運(yùn)算結(jié)果狀態(tài)標(biāo)志寫(xiě)入狀態(tài)寄存器及其控制模塊(16);當(dāng)-1計(jì)數(shù)器(4)的溢出輸出端為“I”時(shí),所示脈沖發(fā)生及控制器(I)循環(huán)輸出脈沖④,在脈沖④下降沿的作用下,運(yùn)算命令的操作數(shù)寫(xiě)入操作數(shù)暫存器(6),-1計(jì)數(shù)器(4)進(jìn)行減I操作,移位寄存器(5)中的命令編碼值右移兩位,輸出該操作數(shù)與運(yùn)算結(jié)果的運(yùn)算命令,上次運(yùn)算的低32位運(yùn)算結(jié)果寫(xiě)入操作數(shù)I與運(yùn)算結(jié)果暫存器(9),高32位運(yùn)算結(jié)果寫(xiě)入高32位運(yùn)算結(jié)果暫存器(17),運(yùn)算結(jié)果狀態(tài)標(biāo)志寫(xiě)入狀態(tài)寄存器及其控制模塊(16); 當(dāng)-1計(jì)數(shù)器(4)的溢出輸出端由“I”一 “O”時(shí),脈沖發(fā)生及控制器(I)發(fā)出一個(gè)時(shí)鐘周期的脈沖④;所示-1計(jì)數(shù)器(4)的溢出輸出端保持為“O”狀態(tài),直到接收到的預(yù)置脈沖輸入從“I” 一 “O”,-1計(jì)數(shù)器(4)的溢出輸出端由“O” 一 “I”。
【文檔編號(hào)】G06F7/57GK103645878SQ201310680917
【公開(kāi)日】2014年3月19日 申請(qǐng)日期:2013年12月13日 優(yōu)先權(quán)日:2013年12月13日
【發(fā)明者】蔡啟仲, 李克儉, 潘紹明, 孫培燕, 鄭力 申請(qǐng)人:廣西科技大學(xué)