浮點數(shù)除運算執(zhí)行控制器的制造方法
【專利摘要】一種浮點數(shù)除運算執(zhí)行控制器,包括浮點操作數(shù)配置控制模塊、浮點數(shù)除運算器、脈沖發(fā)生分配控制器、結(jié)果輸出控制模塊;該執(zhí)行控制器應(yīng)用FPGA設(shè)計硬連接控制電路,在脈沖發(fā)生分配控制器產(chǎn)生的時序脈沖控制下自主完成參與運算的兩個操作數(shù)的選擇配置,運算結(jié)果的鎖存,不需要系統(tǒng)對執(zhí)行控制器的運算處理過程施加時序控制脈沖。該執(zhí)行控制器能夠?qū)崿F(xiàn)除運算的四種處理方式,執(zhí)行兩個操作數(shù)都來自系統(tǒng)數(shù)據(jù)總線的運算,也能夠執(zhí)行一個操作數(shù)是上次運算的結(jié)果,避免每條指令運算結(jié)束都需要將運算結(jié)果寫回的過程,并且在浮點數(shù)除法運算的過程中,系統(tǒng)能夠并行從執(zhí)行控制器讀出上次運算的結(jié)果,提高了系統(tǒng)執(zhí)行浮點數(shù)除法運算指令序列的速度。
【專利說明】浮點數(shù)除運算執(zhí)行控制器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種浮點數(shù)除運算執(zhí)行控制器,尤其涉及一種基于采用FPGA并行操作電路硬連接的浮點數(shù)除運算控制電路及其時序控制方法。
【背景技術(shù)】
[0002]隨著現(xiàn)代科學技術(shù)對數(shù)據(jù)運算精度要求的不斷提高和數(shù)值運算范圍的不斷擴大,使得浮點運算的應(yīng)用越來越多,越來越重要。在微處理器的指令系統(tǒng)中,浮點數(shù)除法指令用于實現(xiàn)2個32位符合IEEE754標準的浮點數(shù)除法運算,其浮點數(shù)除運算器的設(shè)計通常采用流水線執(zhí)行的方式,將運算過程分為若干模塊,在微處理器控制部件發(fā)出的時序脈沖的控制下,多條浮點數(shù)除法運算指令按照模塊順序執(zhí)行,流水線中的每條指令運算結(jié)束都需要將運算結(jié)果寫回。但對于所執(zhí)行的浮點數(shù)除法指令需要應(yīng)用上一條運算指令的運算結(jié)果作為操作數(shù)的指令,則浮點數(shù)除法運算的流水線操作失去作用,影響了浮點數(shù)除法運算指令執(zhí)行的速度,而通常很多運算都需要應(yīng)用上次的運算結(jié)果作為本次運算的操作數(shù);除法需要實現(xiàn)上次運算結(jié)果/操作數(shù),或操作數(shù)/上次運算結(jié)果。例如有多個連續(xù)的除法運算,比如7個操作數(shù),每次運算需要應(yīng)用上次除法運算的運算結(jié)果作為操作數(shù),需要6條浮點數(shù)除法運算指令予以實現(xiàn),執(zhí)行這6條指令需要將運算結(jié)果寫回6次,向浮點數(shù)除運算器傳輸操作數(shù)12次,需要按照數(shù)據(jù)傳輸?shù)臅r序要求變換傳輸操作數(shù)的地址和寫回運算結(jié)果的地址,運算結(jié)果作為操作數(shù)傳送給浮點數(shù)除法運算的一個輸入端和運算結(jié)果寫回的過程是分時處理的,不利于進一步提高算術(shù)運算類指令執(zhí)行的速度。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于提供一種能夠自主完成浮點數(shù)除法運算功能的浮點數(shù)除運算執(zhí)行控制器;該浮點數(shù)除運算執(zhí)行控制器應(yīng)用FPGA設(shè)計硬連接控制電路,操作數(shù)是32位符合IEEE754標準的浮點數(shù),除運算的2個操作數(shù)或者都來自系統(tǒng)數(shù)據(jù)總線,或者其中的I個操作數(shù)是上次運算結(jié)果的運算,能夠執(zhí)行上次運算結(jié)果/操作數(shù)、操作數(shù)/上次運算結(jié)果、第I個操作數(shù)/第2個操作數(shù)、第2個操作數(shù)/第I個操作數(shù)的除法運算,其操作數(shù)的選擇配置在執(zhí)行控制器內(nèi)部時序的控制下自主完成,運算處理過程不需要系統(tǒng)施加時序控制脈沖,并且在浮點數(shù)除法運算的過程中,系統(tǒng)能夠從浮點除運算執(zhí)行控制器讀出上次運算的結(jié)果,以克服已有技術(shù)的不足之處。
[0004]解決上述技術(shù)問題的技術(shù)方案是:一種浮點數(shù)除運算執(zhí)行控制器,用于實現(xiàn)2個32位符合IEEE754標準的浮點數(shù)除法運算,包括浮點操作數(shù)配置控制模塊、浮點數(shù)除運算器、脈沖發(fā)生分配控制器和結(jié)果輸出控制模塊;
所述浮點操作數(shù)配置控制模塊與浮點數(shù)除運算器、脈沖發(fā)生分配控制器、結(jié)果輸出控制模塊連接;
所述浮點數(shù)除運算器還與結(jié)果輸出控制模塊連接;
所述脈沖發(fā)生分配控制器還與結(jié)果輸出控制模塊連接; 所述浮點操作數(shù)配置控制模塊按照操作數(shù)類型和運算方式配置浮點數(shù)除運算器的操作數(shù)I是來自于上次的運算結(jié)果,還來自于系統(tǒng)數(shù)據(jù)總線DB的浮點操作數(shù),在脈沖發(fā)生分配控制器輸出的時序脈沖控制下,完成浮點數(shù)除運算器輸入的操作數(shù)I的選擇,及操作數(shù)I和操作數(shù)2的配置和鎖存;
所述浮點數(shù)除運算器對浮點操作數(shù)配置控制模塊輸出的操作數(shù)I和操作數(shù)2進行運算,輸出除法運算結(jié)果;
所述脈沖發(fā)生分配控制器在滿足啟動工作的條件下,按照操作數(shù)的類型,發(fā)出操作數(shù)I和操作數(shù)2配置的時序脈沖,浮點數(shù)除運算器運算結(jié)果的鎖存信號,以及除法運算結(jié)束信號;所述脈沖發(fā)生分配控制器在滿足循環(huán)啟動的條件下,自動啟動脈沖發(fā)生分配控制器的工作;
所述結(jié)果輸出控制模塊在脈沖發(fā)生分配控制器輸出的結(jié)果鎖存信號的作用下,將除法運算結(jié)果予以鎖存,判斷除法運算結(jié)果是否異常,系統(tǒng)能夠讀出除法運算結(jié)果。
[0005]其進一步技術(shù)方案是:所述浮點操作數(shù)配置控制模塊包括選通器、運算結(jié)果寄存器、操作數(shù)寄存器、操作數(shù)交換器、非門1、或門1、或門II和與門I ;
所述選通器的一個輸入端與系統(tǒng)數(shù)據(jù)總線DB連接,另一個輸入端與結(jié)果輸出控制模塊連接,輸出端與運算結(jié)果寄存器的輸入端連接,選通控制輸入端與系統(tǒng)的操作數(shù)類型輸入線連接;
所述運算結(jié)果寄存器的鎖存脈沖輸入端與脈沖發(fā)生分配控制器連接,輸出端與操作數(shù)交換器的交換數(shù)I輸入端連接;
所述操作數(shù)寄存器的輸入端和系統(tǒng)數(shù)據(jù)總線DB連接,鎖存脈沖輸入端和與門I的輸出端連接,輸出端與操作數(shù)交換器的交換數(shù)2輸入端連接;
所述操作數(shù)交換器的交換控制輸入端與系統(tǒng)的運算方式輸入線連接;操作數(shù)I輸出端與浮點數(shù)除運算器的操作數(shù)I輸入端連接,操作數(shù)2輸出端與浮點數(shù)除運算器的操作數(shù)2輸入端連接;
所述非門I的輸入端與系統(tǒng)的操作數(shù)類型輸入線連接,輸出端和或門I的一個輸入端連接;
所述或門I的另一個輸入端和脈沖發(fā)生分配控制器連接,輸出端和與門I的一個輸入端連接;
所述或門II的一個輸入端與脈沖發(fā)生分配控制器連接,另一個輸入端與系統(tǒng)的操作數(shù)類型輸入線連接,輸出端和與門I的一個輸入端連接。
[0006]其進一步技術(shù)方案是:所述脈沖發(fā)生分配控制器包括脈沖發(fā)生器、類型寄存器、或門II1、或門IV、非門I1、或門V和與門II ;
所述脈沖發(fā)生器的復位輸入端與系統(tǒng)的復位Rst線連接,啟動輸入端和或門III的輸出端連接,循環(huán)啟動輸入端和與門II的輸出端連接,脈沖同步輸入端和系統(tǒng)時鐘Clock線連接,類型輸入端與類型寄存器的輸出端連接,脈沖①輸出端與運算結(jié)果寄存器的鎖存脈沖輸入端、或門II的一個輸入端連接;脈沖②輸出端和或門I的另一個輸入端、類型寄存器的鎖存輸入端連接;脈沖③輸出端和或門IV的一個輸入端連接;脈沖④輸出端和或門V的一個輸入端連接;結(jié)果鎖存輸出端與結(jié)果輸出控制模塊連接,運算結(jié)束輸出端向系統(tǒng)輸出運算結(jié)束信號; 所述類型寄存器的輸入端和系統(tǒng)操作數(shù)類型輸入線連接,操作數(shù)類型輸出端還和或門IV的另一個輸入端、非門II的輸入端連接;
所述或門III的二個輸入端分別和系統(tǒng)的使能信號CS線、寫信號WR線連接;
所述或門IV的輸出端和與門II的一個輸入端連接;
所述非門II的輸出端和或門V的另一個輸入端連接;
所述或門V的輸出端和與門II的另一個輸入端連接;
所述與門II的輸出端還與結(jié)果輸出控制模塊連接;
所述脈沖發(fā)生器輸出的脈沖①、脈沖②,脈沖③和脈沖④與系統(tǒng)時鐘Clock同步,即系統(tǒng)時鐘Clock是脈沖發(fā)生分配控制器的同步脈沖;
當操作數(shù)類型為“0”時,所述脈沖發(fā)生分配控制器在脈沖②下降沿的作用下,類型寄存器輸出狀態(tài)為“0”,或門V輸出為“I”狀態(tài),在脈沖③下降沿的作用下,或門IV的輸出由“I”一“0”,則與門II的輸出也由“I”一“0”,作為脈沖發(fā)生器循環(huán)啟動信號和結(jié)果輸出控制模塊的結(jié)果鎖存信號;
當操作數(shù)類型為“I”時,所述脈沖發(fā)生分配控制器在脈沖②下降沿的作用下,類型寄存器輸出狀態(tài)為“1”,或門IV輸出為“I”狀態(tài),在脈沖④下降沿的作用下,或門V的輸出由“I”一“0”,則與門II的輸出也由“I”一“0”,作為脈沖發(fā)生器循環(huán)啟動信號和結(jié)果輸出控制模塊的結(jié)果鎖存信號;
當所述脈沖發(fā)生器的運算結(jié)束輸出端為“0”,CS為“0”時,在WR信號的下降沿作用下,啟動輸入端信號由“ I” 一 “0”,啟動脈沖發(fā)生器工作,脈沖發(fā)生器被啟動工作之后,置運算結(jié)束信號輸出端為“ I ”;如果啟動輸入端為“0”,循環(huán)啟動輸入端由“ I ” 一 “0”,啟動脈沖發(fā)生器工作;如果啟動輸入端信號為“1”,循環(huán)啟動輸入端信號由“I”一“0”,向系統(tǒng)發(fā)出運算結(jié)束信號,脈沖發(fā)生器停止工作,脈沖①、脈沖②、脈沖③和脈沖④的輸出端都處于為“I”狀態(tài),運算結(jié)束輸出端為“0”狀態(tài);當復位輸入端為“0”時,復位脈沖發(fā)生器,脈沖①、脈沖②、脈沖③和脈沖④的輸出端都處于為“ I”狀態(tài),運算結(jié)束輸出端為“0”狀態(tài)。
[0007]其進一步技術(shù)方案是:所述結(jié)果輸出控制模塊包括結(jié)果輸出寄存器、運算異常標志控制、32位三態(tài)門組和或門VI ;
所述結(jié)果輸出寄存器的運算結(jié)果輸入端和浮點數(shù)除運算器的運算結(jié)果輸出端連接,運算結(jié)果輸出端與32位三態(tài)門組的輸入端、運算異常標志控制的運算結(jié)果輸入端、選通器的一個輸入端連接,結(jié)果鎖存輸入端和與門II的輸出端連接;
所述運算異常標志控制的運算結(jié)果輸入端與結(jié)果輸出寄存器的運算結(jié)果輸出端連接,結(jié)果鎖存輸入端和與門II的輸出端連接;輸出端輸出中斷請求信號IRQ,當運算結(jié)果出現(xiàn)異常時,輸出端向系統(tǒng)發(fā)出中斷請求信號IRQ ;
所述32位三態(tài)門組的控制輸入端和或門VI的輸出端連接,輸出端與系統(tǒng)數(shù)據(jù)總線DB連接;
所述或門VI的二個輸入端分別與系統(tǒng)使能信號CS、讀信號RD線連接;
所述32位三態(tài)門組輸出結(jié)果輸出寄存器輸出的運算結(jié)果,當使能信號CS為“0”,讀信號RD為“ 0 ”時,或門VI輸出為“ 0 ”,控制32位三態(tài)門組輸出上次運算結(jié)果。
[0008]其進一步技術(shù)方案是:所述浮點操作數(shù)配置控制模塊和脈沖發(fā)生分配控制器受系統(tǒng)操作數(shù)類型和運算方式的控制: 當操作數(shù)類型為“0”時:選通器輸出結(jié)果輸出寄存器輸出的運算結(jié)果,在脈沖發(fā)生器輸出的脈沖①下降沿的作用下,運算結(jié)果寄存器鎖存結(jié)果輸出寄存器輸出的運算結(jié)果,或門II的輸出端由“I”一 “0”,與門I的輸出端由“I”一 “0”,操作數(shù)寄存器鎖存來自系統(tǒng)總線DB的操作數(shù),則除法運算的處理為如下兩種方式:
運算方式為“0”:操作數(shù)交換器的交換數(shù)I輸入端的運算結(jié)果傳輸?shù)礁↑c數(shù)除運算器的操作數(shù)I的輸入端,操作數(shù)交換器的交換數(shù)2輸入端的操作數(shù)傳輸?shù)礁↑c數(shù)除運算器的操作數(shù)2的輸入端,浮點數(shù)除運算器實施運算結(jié)果/操作數(shù)的運算;
運算方式為“I”:操作數(shù)交換器的交換數(shù)I輸入端的運算結(jié)果傳輸?shù)礁↑c數(shù)除運算器的操作數(shù)2的輸入端,操作數(shù)交換器的交換數(shù)2輸入端的操作數(shù)傳輸?shù)礁↑c數(shù)除運算器的操作數(shù)I的輸入端,實現(xiàn)兩數(shù)的交換,浮點數(shù)除運算器實施操作數(shù)/運算結(jié)果的運算;
當操作數(shù)類型為“I”時:選通器輸出來自系統(tǒng)總線DB的第I個操作數(shù),在脈沖發(fā)生器輸出的脈沖①下降沿的作用下,運算結(jié)果寄存器鎖存系統(tǒng)總線DB的第I個操作數(shù),或門II的輸出端為“1”,非門I輸出為“0”,在輸出的脈沖②下降沿的作用下,與門I的輸出端由“I”一 “0”,操作數(shù)寄存器鎖存來自系統(tǒng)總線DB的第2個操作數(shù),則除法運算的處理為如下兩種方式:
運算方式為“0”:操作數(shù)交換器的交換數(shù)I輸入端的系統(tǒng)總線DB的第I個操作數(shù)傳輸?shù)礁↑c數(shù)除運算器的操作數(shù)I的輸入端,操作數(shù)交換器的交換數(shù)2輸入端的系統(tǒng)總線DB的第2個操作數(shù)傳輸?shù)礁↑c數(shù)除運算器的操作數(shù)2的輸入端,浮點數(shù)除運算器實施第I個操作數(shù)/第2個操作數(shù)的運算;
運算方式為“I”:操作數(shù)交換器的交換數(shù)I輸入端的第I個操作數(shù)傳輸?shù)礁↑c數(shù)除運算器的操作數(shù)2的輸入端,操作數(shù)交換器的交換數(shù)2輸入端的系統(tǒng)總線DB的第2個操作數(shù)傳輸?shù)礁↑c數(shù)除運算器的操作數(shù)I的輸入端,實現(xiàn)兩數(shù)的交換,浮點數(shù)除運算器實施第2個操作數(shù)/第I個操作數(shù)的運算。
[0009]由于采用以上結(jié)構(gòu),本發(fā)明之浮點數(shù)除運算執(zhí)行控制器具有以下有益效果:
一、除法運算的執(zhí)行由執(zhí)行控制器自主控制完成
本發(fā)明之浮點數(shù)除運算執(zhí)行控制器充分利用FPGA并行處理功能,執(zhí)行控制器被系統(tǒng)選中,啟動脈沖發(fā)生分配控制器,浮點數(shù)除運算執(zhí)行控制器在內(nèi)部脈沖發(fā)生分配控制器的時序脈沖作用下自主完成操作數(shù)的選擇配置,運算結(jié)果的鎖存,不需要系統(tǒng)對浮點數(shù)除運算執(zhí)行控制器的運算處理過程施加時序控制脈沖。
[0010]二、控制實現(xiàn)四種除運算處理方式
本發(fā)明之浮點數(shù)除運算執(zhí)行控制器的操作數(shù)是32位符合IEEE754標準的浮點數(shù),能夠根據(jù)操作數(shù)運算方式,執(zhí)行運算結(jié)果/操作數(shù)、操作數(shù)/運算結(jié)果、第I個操作數(shù)/第2個操作數(shù)、第2個操作數(shù)/第I個操作數(shù)的運算。
[0011]三、運算過程并行讀出上次運算結(jié)果
本發(fā)明之浮點數(shù)除運算執(zhí)行控制器在浮點數(shù)除法運算的過程中,系統(tǒng)能夠從浮點除運算執(zhí)行控制器中并行讀出上次運算結(jié)果。
[0012]四、執(zhí)行控制器性價比高
本發(fā)明之浮點數(shù)除運算執(zhí)行控制器以FPGA的硬連接控制電路為核心,根據(jù)操作數(shù)的類型,在內(nèi)部脈沖發(fā)生分配控制器的時序脈沖作用下自主完成操作數(shù)的選擇配置,運算結(jié)果的鎖存,不需要系統(tǒng)對浮點數(shù)除運算執(zhí)行控制器的運算處理過程施加時序控制脈沖,系統(tǒng)能夠從浮點除運算執(zhí)行控制器中并行讀出上次運算結(jié)果,提高了系統(tǒng)執(zhí)行命令序列的速度,當浮點數(shù)除法運算發(fā)生異常時,能夠向系統(tǒng)發(fā)出中斷申請,具有較高的性價比。
[0013]下面結(jié)合附圖和實施例對本發(fā)明之浮點數(shù)除運算執(zhí)行控制器的技術(shù)特征作進一步的說明。
【專利附圖】
【附圖說明】
[0014]圖1:本發(fā)明之浮點數(shù)除運算執(zhí)行控制器的系統(tǒng)結(jié)構(gòu)框圖;
圖2:本發(fā)明之浮點數(shù)除運算執(zhí)行控制器的浮點操作數(shù)配置控制模塊的電路連接圖;
圖3:本發(fā)明之浮點數(shù)除運算執(zhí)行控制器的脈沖發(fā)生分配控制器的電路連接圖;
圖4:本發(fā)明之浮點數(shù)除運算執(zhí)行控制器的結(jié)果輸出控制模塊圖;
圖5:本發(fā)明之浮點數(shù)除運算執(zhí)行控制器的操作數(shù)類型0的時序圖;
圖6:本發(fā)明之浮點數(shù)除運算執(zhí)行控制器的操作數(shù)類型I的時序圖;
圖7:本發(fā)明之浮點數(shù)除運算執(zhí)行控制器的兩種操作數(shù)類型時序圖;
圖中:
I 一浮點操作數(shù)配置控制模塊,II 一浮點數(shù)除運算器,III 一脈沖發(fā)生分配控制器,IV—結(jié)果輸出控制I吳塊;
I一選通器,2—運算結(jié)果寄存器,3—操作數(shù)寄存器,4一操作數(shù)交換器,5—非門I,6—或門I,7—或門11,8—與門I,9—脈沖發(fā)生器,10—類型寄存器,11—或門III,12—或門IV,13—非門II,14一或門V,15—與門II,16—結(jié)果輸出寄存器,17—運算異常標志控制,18一32位二態(tài)丨]組,19一或丨]VI。
[0015]文中縮略語說明:
FPGA — Field Programmable Gate Array,現(xiàn)場可編程門陣列;
DB — Data Bus,數(shù)據(jù)總線;
CS - Chip Select,片選或使能,圖中CS代表“使能信號”;
Clock —時鐘;
RD - Read,讀,圖中代表“讀信號”;
WR — Write,寫,圖中代表“寫信號”;
IRQ — Interrupt Request,中斷申請,圖中代表“中斷請求信號”;
Rst — Reset,復位。
【具體實施方式】
[0016]實施例:
一種浮點數(shù)除運算執(zhí)行控制器,如圖1所示,用于實現(xiàn)2個32位符合IEEE754標準的浮點數(shù)除法運算,其特征在于:該執(zhí)行控制器包括浮點操作數(shù)配置控制模塊1、浮點數(shù)除運算器I1、脈沖發(fā)生分配控制器III和結(jié)果輸出控制模塊IV ;
所述浮點操作數(shù)配置控制模塊I與浮點數(shù)除運算器I1、脈沖發(fā)生分配控制器II1、結(jié)果輸出控制模塊IV連接;
所述浮點數(shù)除運算器II還與結(jié)果輸出控制模塊IV連接; 所述脈沖發(fā)生分配控制器III還與結(jié)果輸出控制模塊IV連接;
所述浮點操作數(shù)配置控制模塊I按照操作數(shù)類型和運算方式配置浮點數(shù)除運算器II的操作數(shù)I是來自于上次的運算結(jié)果,還來自于系統(tǒng)數(shù)據(jù)總線DB的浮點操作數(shù),在脈沖發(fā)生分配控制器III輸出的時序脈沖控制下,完成浮點數(shù)除運算器II輸入的操作數(shù)I的選擇,及操作數(shù)I和操作數(shù)2的配置和鎖存;
所述浮點數(shù)除運算器II對浮點操作數(shù)配置控制模塊I輸出的操作數(shù)I和操作數(shù)2進行運算,輸出除法運算結(jié)果;
所述脈沖發(fā)生分配控制器III在滿足啟動工作的條件下,按照操作數(shù)的類型,發(fā)出操作數(shù)I和操作數(shù)2配置的時序脈沖,浮點數(shù)除運算器II運算結(jié)果的鎖存信號,以及除法運算結(jié)束信號;所述脈沖發(fā)生分配控制器III在滿足循環(huán)啟動的條件下,自動啟動脈沖發(fā)生分配控制器III的工作;
所述結(jié)果輸出控制模塊IV在脈沖發(fā)生分配控制器III輸出的結(jié)果鎖存信號的作用下,將除法運算結(jié)果予以鎖存,判斷除法運算結(jié)果是否異常,系統(tǒng)能夠讀出除法運算結(jié)果。
[0017]如圖2所示,所述浮點操作數(shù)配置控制模塊I包括選通器1、運算結(jié)果寄存器2、操作數(shù)寄存器3、操作數(shù)交換器4、非門I 5、或門I 6、或門II 7和與門I 8 ;
所述選通器I的一個輸入端與系統(tǒng)數(shù)據(jù)總線DB連接,另一個輸入端與結(jié)果輸出控制模塊IV連接,輸出端與運算結(jié)果寄存器2的輸入端連接,選通控制輸入端與系統(tǒng)的操作數(shù)類型輸入線連接;
所述運算結(jié)果寄存器2的鎖存脈沖輸入端與脈沖發(fā)生分配控制器III連接,輸出端與操作數(shù)交換器4的交換數(shù)I輸入端連接;
所述操作數(shù)寄存器3的輸入端和系統(tǒng)數(shù)據(jù)總線DB連接,鎖存脈沖輸入端和與門I 8的輸出端連接,輸出端與操作數(shù)交換器4的交換數(shù)2輸入端連接;
所述操作數(shù)交換器4的交換控制輸入端與系統(tǒng)的運算方式輸入線連接;操作數(shù)I輸出端與浮點數(shù)除運算器II的操作數(shù)I輸入端連接,操作數(shù)2輸出端與浮點數(shù)除運算器II的操作數(shù)2輸入端連接;
所述非門I 5的輸入端與系統(tǒng)的操作數(shù)類型輸入線連接,輸出端和或門I 6的一個輸入端連接;
所述或門I 6的另一個輸入端和脈沖發(fā)生分配控制器III連接,輸出端和與門I 8的一個輸入端連接;
所述或門II 7的一個輸入端與脈沖發(fā)生分配控制器III連接,另一個輸入端與系統(tǒng)的操作數(shù)類型輸入線連接,輸出端和與門I 8的一個輸入端連接。
[0018]如圖3所示,所述脈沖發(fā)生分配控制器III包括脈沖發(fā)生器9、類型寄存器10、或門III 11、或門IV 12、非門II 13、或門V 14和與門II 15;
所述脈沖發(fā)生器9的復位輸入端與系統(tǒng)的復位Rst線連接,啟動輸入端和或門III 11的輸出端連接,循環(huán)啟動輸入端和與門II 15的輸出端連接,脈沖同步輸入端和系統(tǒng)時鐘Clock線連接,類型輸入端與類型寄存器10的輸出端連接,脈沖①輸出端與運算結(jié)果寄存器2的鎖存脈沖輸入端、或門II 7的一個輸入端連接;脈沖②輸出端和或門I 6的另一個輸入端、類型寄存器10的鎖存輸入端連接;脈沖③輸出端和或門IV 12的一個輸入端連接;脈沖④輸出端和或門V 14的一個輸入端連接,運算結(jié)束輸出端向系統(tǒng)輸出運算結(jié)束信號; 所述類型寄存器10的輸入端和系統(tǒng)操作數(shù)類型輸入線連接,操作數(shù)類型輸出端還和或門IV 12的另一個輸入端、非門II 13的輸入端連接;
所述或門III 11的二個輸入端分別和系統(tǒng)的使能信號CS線、寫信號WR線連接;
所述或門IV 12的輸出端和與門II 15的一個輸入端連接;
所述非門II 13的輸出端和或門V 14的另一個輸入端連接;
所述或門V 14的輸出端和與門II 15的另一個輸入端連接;
所述與門II 15的輸出端還與結(jié)果輸出控制模塊IV連接;
所述脈沖發(fā)生器9輸出的脈沖①、脈沖②,脈沖③和脈沖④與系統(tǒng)時鐘Clock同步,即系統(tǒng)時鐘Clock是脈沖發(fā)生分配控制器III的同步脈沖;
當操作數(shù)類型為“0”時,所述脈沖發(fā)生分配控制器III在脈沖②下降沿的作用下,類型寄存器10輸出狀態(tài)為“0”,或門V 14輸出為“I”狀態(tài),在脈沖③下降沿的作用下,或門IV 12的輸出由“I”一 “0”,則與門II 15的輸出也由“I”一 “0”,作為脈沖發(fā)生器9循環(huán)啟動信號和結(jié)果輸出控制模塊IV的結(jié)果鎖存信號;
當操作數(shù)類型為“ I”時,所述脈沖發(fā)生分配控制器III在脈沖②下降沿的作用下,類型寄存器10輸出狀態(tài)為“1”,或門IV 12輸出為“I”狀態(tài),在脈沖④下降沿的作用下,或門V 14的輸出由“I”一 “0”,則與門II 15的輸出也由“I”一 “0”,作為脈沖發(fā)生器9循環(huán)啟動信號和結(jié)果輸出控制模塊IV的結(jié)果鎖存信號;
當所述脈沖發(fā)生器9的運算結(jié)束輸出端為“0”,CS為“0”時,在WR信號的下降沿作用下,啟動輸入端信號由“I” 一 “0”,啟動脈沖發(fā)生器9工作,脈沖發(fā)生器9被啟動工作之后,置運算結(jié)束信號輸出端為“I” ;如果啟動輸入端為“0”,循環(huán)啟動輸入端由“I” 一 “0”,啟動脈沖發(fā)生器9工作;如果啟動輸入端信號為“1”,循環(huán)啟動輸入端信號由“I”一“0”,向系統(tǒng)發(fā)出運算結(jié)束信號,脈沖發(fā)生器9停止工作,脈沖①、脈沖②、脈沖③和脈沖④的輸出端都處于為“I”狀態(tài),運算結(jié)束輸出端為“0”狀態(tài);當復位輸入端為“0”時,復位脈沖發(fā)生器9,脈沖①、脈沖②、脈沖③和脈沖④的輸出端都處于為“I”狀態(tài),運算結(jié)束輸出端為“0”狀態(tài)。
[0019]如圖4所示,所述結(jié)果輸出控制模塊IV包括結(jié)果輸出寄存器16、運算異常標志控制17、32位三態(tài)門組18和或門VI 19 ;
所述結(jié)果輸出寄存器16的運算結(jié)果輸入端和浮點數(shù)除運算器II的運算結(jié)果輸出端連接,運算結(jié)果輸出端與32位三態(tài)門組18的輸入端、運算異常標志控制17的運算結(jié)果輸入端、選通器I的一個輸入端連接,結(jié)果鎖存輸入端和與門II 15的輸出端連接;
所述運算異常標志控制17的運算結(jié)果輸入端與結(jié)果輸出寄存器16的運算結(jié)果輸出端連接,結(jié)果鎖存輸入端和與門II 15的輸出端連接;輸出端輸出中斷請求信號IRQ,當運算結(jié)果出現(xiàn)異常時,輸出端向系統(tǒng)發(fā)出中斷請求信號IRQ ;
所述32位三態(tài)門組18的控制輸入端和或門VI19的輸出端連接,輸出端與系統(tǒng)數(shù)據(jù)總線DB連接;
所述或門VI 19的二個輸入端分別與系統(tǒng)使能信號CS、讀信號RD線連接;
所述32位三態(tài)門組18輸出結(jié)果輸出寄存器16輸出的運算結(jié)果,當使能信號CS為“0”時,讀信號RD為“0”時,或門VI 19輸出為“0”,控制32位三態(tài)門組19輸出上次運算結(jié)果。
[0020]如圖2和圖3所示,所述浮點操作數(shù)配置控制模塊I和脈沖發(fā)生分配控制器III受系統(tǒng)操作數(shù)類型和運算方式的控制: 當操作數(shù)類型為“0”時:選通器I輸出結(jié)果輸出寄存器16輸出的運算結(jié)果,在脈沖發(fā)生器9輸出的脈沖①下降沿的作用下,運算結(jié)果寄存器2鎖存結(jié)果輸出寄存器16輸出的運算結(jié)果,或門II 7的輸出端由“I”一 “0”,與門I 8的輸出端由“I”一 “0”,操作數(shù)寄存器3鎖存來自系統(tǒng)總線DB的操作數(shù),則除法運算的處理為如下兩種方式:
運算方式為“0”:操作數(shù)交換器4的交換數(shù)I輸入端的運算結(jié)果傳輸?shù)礁↑c數(shù)除運算器II的操作數(shù)I的輸入端,操作數(shù)交換器4的交換數(shù)2輸入端的操作數(shù)傳輸?shù)礁↑c數(shù)除運算器II的操作數(shù)2的輸入端,浮點數(shù)除運算器II實施運算結(jié)果/操作數(shù)的運算;
當操作數(shù)類型為“I”時:操作數(shù)交換器4的交換數(shù)I輸入端的運算結(jié)果傳輸?shù)礁↑c數(shù)除運算器II的操作數(shù)2的輸入端,操作數(shù)交換器4的交換數(shù)2輸入端的操作數(shù)傳輸?shù)礁↑c數(shù)除運算器II的操作數(shù)I的輸入端,實現(xiàn)兩數(shù)的交換,浮點數(shù)除運算器II實施操作數(shù)/運算結(jié)果的運算;
在操作數(shù)類型為“I”時:選通器I輸出來自系統(tǒng)總線DB的第I個操作數(shù),在脈沖發(fā)生器9輸出的脈沖①下降沿的作用下,運算結(jié)果寄存器2鎖存系統(tǒng)總線DB的第I個操作數(shù),或門II 7的輸出端為“1”,非門I 5輸出為“0”,在輸出的脈沖②下降沿的作用下,與門I 8的輸出端由“ I” 一 “0”,操作數(shù)寄存器3鎖存來自系統(tǒng)總線DB的第2個操作數(shù),則除法運算的處理為如下兩種方式:
運算方式為“0”:操作數(shù)交換器4的交換數(shù)I輸入端的系統(tǒng)總線DB的第I個操作數(shù)傳輸?shù)礁↑c數(shù)除運算器II的操作數(shù)I的輸入端,操作數(shù)交換器4的交換數(shù)2輸入端的系統(tǒng)總線DB的第2個操作數(shù)傳輸?shù)礁↑c數(shù)除運算器II的操作數(shù)2的輸入端,浮點數(shù)除運算器II實施第I個操作數(shù)/第2個操作數(shù)的運算;
運算方式為“I”:操作數(shù)交換器4的交換數(shù)I輸入端的第I個操作數(shù)傳輸?shù)礁↑c數(shù)除運算器II的操作數(shù)2的輸入端,操作數(shù)交換器4的交換數(shù)2輸入端的系統(tǒng)總線DB的第2個操作數(shù)傳輸?shù)礁↑c數(shù)除運算器II的操作數(shù)I的輸入端,實現(xiàn)兩數(shù)的交換,浮點數(shù)除運算器II實施第2個操作數(shù)/第I個操作數(shù)的運算。
【權(quán)利要求】
1.一種浮點數(shù)除運算執(zhí)行控制器,用于實現(xiàn)2個32位符合IEEE754標準的浮點數(shù)除法運算,其特征在于:該執(zhí)行控制器包括浮點操作數(shù)配置控制模塊(I )、浮點數(shù)除運算器(II)、脈沖發(fā)生分配控制器(III)和結(jié)果輸出控制模塊(IV); 所述浮點操作數(shù)配置控制模塊(I)與浮點數(shù)除運算器(II)、脈沖發(fā)生分配控制器(III)、結(jié)果輸出控制模塊(IV)連接; 所述浮點數(shù)除運算器(II)還與結(jié)果輸出控制模塊(IV)連接; 所述脈沖發(fā)生分配控制器(III)還與結(jié)果輸出控制模塊(IV)連接; 所述浮點操作數(shù)配置控制模塊(I)按照操作數(shù)類型和運算方式配置浮點數(shù)除運算器(II)的操作數(shù)I是來自于上次的運算結(jié)果,還來自于系統(tǒng)數(shù)據(jù)總線DB的浮點操作數(shù),在脈沖發(fā)生分配控制器(III)輸出的時序脈沖控制下,完成浮點數(shù)除運算器(II)輸入的操作數(shù)I的選擇,及操作數(shù)I和操作數(shù)2的配置和鎖存; 所述浮點數(shù)除運算器(II)對浮點操作數(shù)配置控制模塊(I )輸出的操作數(shù)I和操作數(shù)2進行運算,輸出除法運算結(jié)果; 所述脈沖發(fā)生分配控制器(III)在滿足啟動工作的條件下,按照操作數(shù)的類型,發(fā)出操作數(shù)I和操作數(shù)2配置的時序脈沖,浮點數(shù)除運算器(II)運算結(jié)果的鎖存信號,以及除法運算結(jié)束信號;所述脈沖發(fā) 生分配控制器(III)在滿足循環(huán)啟動的條件下,自動啟動脈沖發(fā)生分配控制器(III)的工作; 所述結(jié)果輸出控制模塊(IV)在脈沖發(fā)生分配控制器(III)輸出的結(jié)果鎖存信號的作用下,將除法運算結(jié)果予以鎖存,判斷除法運算結(jié)果是否異常,系統(tǒng)能夠讀出除法運算結(jié)果。
2.如權(quán)利要求所述的浮點數(shù)除運算執(zhí)行控制器,其特征在于:所述浮點操作數(shù)配置控制模塊(I )包括選通器(I)、運算結(jié)果寄存器(2)、操作數(shù)寄存器(3)、操作數(shù)交換器(4)、非門I (5)、或門I (6)、或門II (7)和與門I (8); 所述選通器(I)的一個輸入端與系統(tǒng)數(shù)據(jù)總線DB連接,另一個輸入端與結(jié)果輸出控制模塊(IV)連接,輸出端與運算結(jié)果寄存器(2)的輸入端連接,選通控制輸入端與系統(tǒng)的操作數(shù)類型輸入線連接; 所述運算結(jié)果寄存器(2)的鎖存脈沖輸入端與脈沖發(fā)生分配控制器(III)連接,輸出端與操作數(shù)交換器(4)的交換數(shù)I輸入端連接; 所述操作數(shù)寄存器(3)的輸入端和系統(tǒng)數(shù)據(jù)總線DB連接,鎖存脈沖輸入端和與門I(8)的輸出端連接,輸出端與操作數(shù)交換器(4)的交換數(shù)2輸入端連接; 所述操作數(shù)交換器(4)的交換控制輸入端與系統(tǒng)的運算方式輸入線連接;操作數(shù)I輸出端與浮點數(shù)除運算器(II)的操作數(shù)I輸入端連接,操作數(shù)2輸出端與浮點數(shù)除運算器(II)的操作數(shù)2輸入端連接; 所述非門I (5)的輸入端與系統(tǒng)的操作數(shù)類型輸入線連接,輸出端和或門I (6)的一個輸入端連接; 所述或門I (6)的另一個輸入端和脈沖發(fā)生分配控制器(III)連接,輸出端和與門I (8)的一個輸入端連接; 所述或門II (7)的一個輸入端與脈沖發(fā)生分配控制器(III)連接,另一個輸入端與系統(tǒng)的操作數(shù)類型輸入線連接,輸出端和與門I (8)的一個輸入端連接。
3.如權(quán)利要求所述的浮點數(shù)除運算執(zhí)行控制器,其特征在于:所述脈沖發(fā)生分配控制器(III)包括脈沖發(fā)生器(9)、類型寄存器(10)、或門111( 11)、或門IV (12)、非門II (13)、或門V(14)和與門 II (15);所述脈沖發(fā)生器(9)的復位輸入端與系統(tǒng)的復位Rst線連接,啟動輸入端和或門III(11)的輸出端連接,循環(huán)啟動輸入端和與門II (15)的輸出端連接,脈沖同步輸入端和系統(tǒng)時鐘Clock線連接,類型輸入端與類型寄存器(10)的輸出端連接,脈沖①輸出端與運算結(jié)果寄存器(2)的鎖存脈沖輸入端、或門II (7)的一個輸入端連接;脈沖②輸出端和或門I(6)的另一個輸入端、類型寄存器(10)的鎖存輸入端連接;脈沖③輸出端和或門IV(12)的一個輸入端連接;脈沖④輸出端和或門V (14)的一個輸入端連接,運算結(jié)束輸出端向系統(tǒng)輸出運算結(jié)束信號; 所述類型寄存器(10)的輸入端和系統(tǒng)操作數(shù)類型輸入線連接,操作數(shù)類型輸出端還和或門IV (12)的另一個輸入端、非門II (13)的輸入端連接; 所述或門III(Il)的二個輸入端分別和系統(tǒng)的使能信號CS線、寫信號WR線連接; 所述或門IV(12)的輸出端和與門II (15)的一個輸入端連接; 所述非門II (13)的輸出端和或門V (14)的另一個輸入端連接; 所述或門V (14)的輸出端和與門II (15)的另一個輸入端連接; 所述與門II (15)的輸出端還與結(jié)果輸出控制模塊(IV)連接; 所述脈沖發(fā)生器(9)輸出的脈沖①、脈沖②,脈沖③和脈沖④與系統(tǒng)時鐘Clock同步,即系統(tǒng)時鐘Clock是脈沖發(fā)生分配控制器(III)的同步脈沖; 當操作數(shù)類型為“0”時,所述脈沖發(fā)生分配控制器(III)在脈沖②下降沿的作用下,類型寄存器(10)輸出狀態(tài)為“0”,或門V (14)輸出為“ I ”狀態(tài),在脈沖③下降沿的作用下,或門IVC12)的輸出由“I”一“0”,則與門II (15)的輸出也由“I”一“0”,作為脈沖發(fā)生器(9)循環(huán)啟動信號和結(jié)果輸出控制模塊(IV)的結(jié)果鎖存信號;當操作數(shù)類型為“ I”時,所述脈沖發(fā)生分配控制器(III)在脈沖②下降沿的作用下,類型寄存器(10)輸出狀態(tài)為“1”,或門IV(12)輸出為“I”狀態(tài),在脈沖④下降沿的作用下,或門V(14)的輸出由“I”一 “0”,則與門11(15)的輸出也由“I”一 “0”,作為脈沖發(fā)生器(9)循環(huán)啟動信號和結(jié)果輸出控制模塊(IV)的結(jié)果鎖存信號; 當所述脈沖發(fā)生器(9)的運算結(jié)束輸出端為“0”,CS為“0”時,在WR信號的下降沿作用下,啟動輸入端信號由“I”一 “0”,啟動脈沖發(fā)生器(9)工作,脈沖發(fā)生器(9)被啟動工作之后,置運算結(jié)束信號輸出端為“I”;如果啟動輸入端為“0”,循環(huán)啟動輸入端由“I”一 “0”,啟動脈沖發(fā)生器(9)工作;如果啟動輸入端信號為“1”,循環(huán)啟動輸入端信號由“I”一“0”,向系統(tǒng)發(fā)出運算結(jié)束信號,脈沖發(fā)生器(9)停止工作,脈沖①、脈沖②、脈沖③和脈沖④的輸出端都處于為“ I ”狀態(tài),運算結(jié)束輸出端為“0”狀態(tài);當復位輸入端為“0”時,復位脈沖發(fā)生器(9),脈沖①、脈沖②、脈沖③和脈沖④的輸出端都處于為“I”狀態(tài),運算結(jié)束輸出端為“0”狀態(tài)。
4.如權(quán)利要求所述的浮點數(shù)除運算執(zhí)行控制器,其特征在于:所述結(jié)果輸出控制模塊(IV)包括結(jié)果輸出寄存器(16)、運算異常標志控制(17)、32位三態(tài)門組(18)和或門VI(19);所述結(jié)果輸出寄存器(16)的運算結(jié)果輸入端和浮點數(shù)除運算器(II)的輸出端連接,運算結(jié)果輸出端與32位三態(tài)門組(18)的輸入端、運算異常標志控制(17)的運算結(jié)果輸入端、選通器(I)的一個輸入端連接,結(jié)果鎖存輸入端和與門II (15)的輸出端連接; 所述運算異常標志控制(17)的結(jié)果鎖存輸入端和與門II (15)的輸出端連接;輸出端輸出中斷請求信號IRQ,當運算結(jié)果出現(xiàn)異常時,輸出端向系統(tǒng)發(fā)出中斷請求信號IRQ ;所述32位三態(tài)門組(18)的控制輸入端和或門VI(19)的輸出端連接,輸出端與系統(tǒng)數(shù)據(jù)總線DB連接; 所述或門VI (19)的二個輸入端分別與系統(tǒng)使能信號CS、讀信號RD線連接; 所述32位三態(tài)門組(18)輸出結(jié)果輸出寄存器(16)輸出的運算結(jié)果,當使能信號CS為“O”,讀信號RD為“O”時,或門VI (19)輸出為“O”,控制32位三態(tài)門組(18)輸出上次運算結(jié)果。
5.如權(quán)利要求所述的浮點數(shù)除運算執(zhí)行控制器,其特征在于:所述浮點操作數(shù)配置控制模塊(I )和脈沖發(fā)生分配控制器(III)受系統(tǒng)操作數(shù)類型和運算方式的控制: 當操作數(shù)類型為“0”時:選通器(I)輸出結(jié)果輸出寄存器(16)輸出的運算結(jié)果,在脈沖發(fā)生器(9)輸出的脈沖①下降沿的作用下,運算結(jié)果寄存器(2)鎖存結(jié)果輸出寄存器(16)輸出的運算結(jié)果,或門II (7)的輸出端由“I”一“0”,與門I (8)的輸出端由“I”一“0”,操作數(shù)寄存器(3)鎖存來自系統(tǒng)總線DB的操作數(shù),則除法運算的處理為如下兩種方式: 運算方式為“0”:操作數(shù)交換器(4)的交換數(shù)I輸入端的運算結(jié)果傳輸?shù)礁↑c數(shù)除運算器(II)的操作數(shù)I的輸入端,操作數(shù)交換器(4)的交換數(shù)2輸入端的操作數(shù)傳輸?shù)礁↑c數(shù)除運算器(II)的操作數(shù)2的輸入端,浮點數(shù)除運算器(II)實施運算結(jié)果/操作數(shù)的運算;運算方式為“I”:操作數(shù)交換器(4)的交換數(shù)I輸入端的運算結(jié)果傳輸?shù)礁↑c數(shù)除運算器(II)的操作數(shù)2的輸入端,操作數(shù)交換器(4)的交換數(shù)2輸入端的操作數(shù)傳輸?shù)礁↑c數(shù)除運算器(II)的操作數(shù)I的輸入端,實現(xiàn)兩數(shù)的交換,浮點數(shù)除運算器(II)實施操作數(shù)/運算結(jié)果的運算; 當操作數(shù)類型為“I”時:選通器(I)輸出來自系統(tǒng)總線DB的第I個操作數(shù),在脈沖發(fā)生器(9)輸出的脈沖①下降沿的作用下,運算結(jié)果寄存器(2)鎖存系統(tǒng)總線DB的第I個操作數(shù),或門11(7)的輸出端為“1”,非門I (5)輸出為“0”,在輸出的脈沖②下降沿的作用下,與門I (8)的輸出端由“I”一 “0”,操作數(shù)寄存器(3)鎖存來自系統(tǒng)總線DB的第2個操作數(shù),則除法運算的處理為如下兩種方式: 運算方式為“0”:操作數(shù)交換器(4)的交換數(shù)I輸入端的系統(tǒng)總線DB的第I個操作數(shù)傳輸?shù)礁↑c數(shù)除運算器(II)的操作數(shù)I的輸入端,操作數(shù)交換器(4)的交換數(shù)2輸入端的系統(tǒng)總線DB的第2個操作數(shù)傳輸?shù)礁↑c數(shù)除運算器(II)的操作數(shù)2的輸入端,浮點數(shù)除運算器(II)實施第I個操作數(shù)/第2個操作數(shù)的運算; 運算方式為“I”:操作數(shù)交換器(4)的交換數(shù)I輸入端的第I個操作數(shù)傳輸?shù)礁↑c數(shù)除運算器(II )的操作數(shù)2的輸入端,操作數(shù)交換器(4)的交換數(shù)2輸入端的系統(tǒng)總線DB的第2個操作數(shù)傳輸?shù)礁↑c數(shù)除運算器(II)的操作數(shù)I的輸入端,實現(xiàn)兩數(shù)的交換,浮點數(shù)除運算器(II)實施第2個操作數(shù)/第I個操作數(shù)的運算。
【文檔編號】G06F7/57GK103645879SQ201310681170
【公開日】2014年3月19日 申請日期:2013年12月13日 優(yōu)先權(quán)日:2013年12月13日
【發(fā)明者】蔡啟仲, 柯寶中, 李克儉, 李剛, 王鳴桃 申請人:廣西科技大學