多浮點(diǎn)操作數(shù)除運(yùn)算控制器的制造方法
【專利摘要】一種多浮點(diǎn)操作數(shù)除運(yùn)算控制器,包括命令字及其操作數(shù)寫時(shí)序控制模塊、操作數(shù)存儲(chǔ)器、浮點(diǎn)操作數(shù)讀時(shí)序控制模塊、操作數(shù)配置運(yùn)算控制模塊;該控制器應(yīng)用FPGA設(shè)計(jì)硬連接控制電路,內(nèi)部產(chǎn)生寫時(shí)序脈沖將指令的命令字和浮點(diǎn)操作數(shù)按順序連續(xù)寫入存儲(chǔ),在內(nèi)部產(chǎn)生的讀時(shí)序脈沖作用下,按順序讀出浮點(diǎn)操作數(shù)執(zhí)行除法運(yùn)算;寫入最后一個(gè)浮點(diǎn)操作數(shù)之后,執(zhí)行除法運(yùn)算命令過程不受系統(tǒng)控制,系統(tǒng)能夠轉(zhuǎn)去處理其他指令程序;在執(zhí)行除法運(yùn)算的過程中,能夠讀出中間運(yùn)算和最終運(yùn)算結(jié)果;每條指令可有127個(gè)浮點(diǎn)操作數(shù),一條指令相當(dāng)于多條微處理器除法運(yùn)算指令,減少了系統(tǒng)的取指和譯碼、浮點(diǎn)操作數(shù)和運(yùn)算結(jié)果寫回的傳輸操作過程,提高了處理速度。
【專利說明】多浮點(diǎn)操作數(shù)除運(yùn)算控制器
【技術(shù)領(lǐng)域】
[0001]本實(shí)用新型涉及一種多浮點(diǎn)操作數(shù)除運(yùn)算控制器,尤其涉及一種基于采用FPGA并行操作電路硬連接的多浮點(diǎn)操作數(shù)除法運(yùn)算控制電路及其時(shí)序控制方法。
【背景技術(shù)】
[0002]浮點(diǎn)數(shù)除法運(yùn)算器實(shí)現(xiàn)2個(gè)32位符合IEEE754標(biāo)準(zhǔn)的浮點(diǎn)數(shù)除法運(yùn)算;運(yùn)算器輸入?yún)⑴c運(yùn)算的兩個(gè)浮點(diǎn)操作數(shù),一個(gè)是操作數(shù)1,一個(gè)是操作數(shù)2,執(zhí)行一次除法運(yùn)算輸出一個(gè)運(yùn)算結(jié)果,在運(yùn)算過程中,操作數(shù)I和操作數(shù)2必須維持穩(wěn)定;運(yùn)算器的操作數(shù)I輸入端與一個(gè)暫存器的輸出端連接,操作數(shù)2與另一個(gè)暫存器的輸出端連接;除法運(yùn)算的時(shí)間周期比加/減法、乘法運(yùn)算器長,微處理器將參與運(yùn)算的兩個(gè)操作數(shù)傳輸給浮點(diǎn)數(shù)除法運(yùn)算器后,能夠轉(zhuǎn)去處理其他程序,運(yùn)算結(jié)束之后分時(shí)讀出運(yùn)算結(jié)果;對(duì)于連續(xù)執(zhí)行多個(gè)操作數(shù)的除法運(yùn)算,且運(yùn)算結(jié)果作為被除數(shù),微處理器需要多次分時(shí)傳輸作為除數(shù)的操作數(shù),運(yùn)算結(jié)果寫回的操作;浮點(diǎn)數(shù)除法運(yùn)算器的設(shè)計(jì)也采用流水線執(zhí)行的方式,將運(yùn)算過程分為若干模塊,在微處理器控制部件發(fā)出的時(shí)序脈沖的控制下,多條浮點(diǎn)數(shù)除法運(yùn)算指令按照模塊順序執(zhí)行,流水線中的每條指令運(yùn)算結(jié)束都需要將運(yùn)算結(jié)果寫回;但對(duì)于所執(zhí)行的浮點(diǎn)數(shù)除法運(yùn)算需要應(yīng)用上一條運(yùn)算指令的運(yùn)算結(jié)果作為被除數(shù)的指令,則浮點(diǎn)數(shù)除法運(yùn)算的流水線操作失去作用,影響了浮點(diǎn)數(shù)除法運(yùn)算指令執(zhí)行的速度。
【發(fā)明內(nèi)容】
[0003]本實(shí)用新型的目的在于提供一種多浮點(diǎn)操作數(shù)除運(yùn)算控制器,用于實(shí)現(xiàn)多個(gè)32位符合IEEE754標(biāo)準(zhǔn)的浮點(diǎn)數(shù)的除法運(yùn)算;該控制器應(yīng)用FPGA設(shè)計(jì)多浮點(diǎn)操作數(shù)除運(yùn)算控制器的硬連接電路,對(duì)于一條多浮點(diǎn)操作數(shù)除法運(yùn)算指令的命令字和多浮點(diǎn)操作數(shù)采取連續(xù)寫入存儲(chǔ)的方法,寫入過程占用系統(tǒng)總線;控制器在接收命令和第一個(gè)操作數(shù)后,控制器內(nèi)部產(chǎn)生與系統(tǒng)時(shí)鐘Clock信號(hào)同步的讀時(shí)序脈沖信號(hào),在讀時(shí)序脈沖信號(hào)控制下自主完成讀出浮點(diǎn)操作數(shù)執(zhí)行除法運(yùn)算,除法運(yùn)算命令執(zhí)行過程不占用系統(tǒng)總線,寫入存儲(chǔ)多浮點(diǎn)操作數(shù)過程與執(zhí)行除法運(yùn)算命令的過程能夠并行進(jìn)行;該控制器對(duì)于傳輸參與除法運(yùn)算的第I個(gè)操作數(shù)設(shè)置除法方式和類型標(biāo)志,能夠?qū)崿F(xiàn):第I個(gè)操作數(shù)/第2個(gè)操作數(shù)、存儲(chǔ)在控制器中的運(yùn)算結(jié)果/第I個(gè)操作數(shù)、第I個(gè)操作數(shù)/存儲(chǔ)在控制器中的運(yùn)算結(jié)果三種處理方式;在控制器執(zhí)行除法運(yùn)算命令過程中,系統(tǒng)能夠讀出執(zhí)行除法運(yùn)算命令過程中的中間運(yùn)算結(jié)果和最終運(yùn)算結(jié)果。
[0004]解決上述技術(shù)問題的技術(shù)方案是:一種多浮點(diǎn)操作數(shù)除運(yùn)算控制器,包括命令字及其操作數(shù)寫時(shí)序控制模塊、操作數(shù)存儲(chǔ)器、浮點(diǎn)操作數(shù)讀時(shí)序控制模塊、操作數(shù)配置運(yùn)算控制|吳塊;
[0005]所述命令字及其操作數(shù)寫時(shí)序控制模塊與操作數(shù)存儲(chǔ)器、浮點(diǎn)操作數(shù)讀時(shí)序控制模塊、操作數(shù)配置運(yùn)算控制模塊連接;
[0006]所述操作數(shù)存儲(chǔ)器還與浮點(diǎn)操作數(shù)讀時(shí)序控制模塊、操作數(shù)配置運(yùn)算控制模塊連接;
[0007]所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊還與操作數(shù)配置運(yùn)算控制模塊連接;
[0008]所述命令字及其操作數(shù)寫時(shí)序控制模塊控制完成指令的寫入和存儲(chǔ),需要占用系統(tǒng)總線;一條指令包括9位命令字和若干個(gè)操作數(shù),操作數(shù)最多為127個(gè);所述命令字及其操作數(shù)寫時(shí)序控制模塊被系統(tǒng)選中時(shí),啟動(dòng)命令字及其操作數(shù)寫時(shí)序控制模塊工作,內(nèi)部產(chǎn)生與系統(tǒng)WR信號(hào)同步的寫時(shí)序脈沖序列;在寫時(shí)序脈沖的控制下,鎖存多浮點(diǎn)操作數(shù)除法指令的命令字,寫入多浮點(diǎn)操作數(shù)予以存儲(chǔ);最后一個(gè)操作數(shù)被寫入存儲(chǔ)后,所述命令字及其操作數(shù)寫時(shí)序控制模塊停止工作;
[0009]所述操作數(shù)存儲(chǔ)器為雙端口存儲(chǔ)器,一個(gè)只寫端口,一個(gè)只讀端口,用于儲(chǔ)存浮點(diǎn)操作數(shù)(下稱為操作數(shù));所述操作數(shù)存儲(chǔ)器的寫端口操作數(shù)的寫入和讀端口操作數(shù)的讀出不存在需要仲裁的情況;所述操作數(shù)存儲(chǔ)器的寫端口受命令字及其操作數(shù)寫時(shí)序控制模塊控制,將系統(tǒng)數(shù)據(jù)總線DB傳輸?shù)牟僮鲾?shù)寫入操作數(shù)存儲(chǔ)器;讀端口受浮點(diǎn)操作數(shù)讀時(shí)序控制模塊控制,將操作數(shù)讀出傳輸?shù)讲僮鲾?shù)配置運(yùn)算控制模塊;
[0010]所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊在內(nèi)部讀時(shí)序脈沖的控制下,自主完成浮點(diǎn)操作數(shù)從操作數(shù)存儲(chǔ)器中的讀出,不需要占用系統(tǒng)總線;所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊在命令字及其操作數(shù)寫時(shí)序控制模塊寫入第I個(gè)操作數(shù)后被啟動(dòng)工作,輸出忙信號(hào)Busy由“I”一 “0”,并根據(jù)第I個(gè)操作數(shù)類型,內(nèi)部產(chǎn)生與系統(tǒng)時(shí)鐘Clock信號(hào)同步的讀時(shí)序脈沖序列,按順序?qū)⒉僮鲾?shù)讀出參與除法運(yùn)算;當(dāng)參與運(yùn)算的最后I個(gè)操作數(shù)讀出之后,再經(jīng)過一個(gè)除法運(yùn)算的時(shí)間周期,輸出忙信號(hào)Busy由“O”一“1”,發(fā)出一個(gè)時(shí)鐘周期Clock的結(jié)果鎖存脈沖后,停止浮點(diǎn)操作數(shù)讀時(shí)序控制模塊的工作;
[0011]所述操作數(shù)配置運(yùn)算控制模塊根據(jù)操作數(shù)存儲(chǔ)器傳輸?shù)牡贗個(gè)操作數(shù)的除法方式和類型,選通配置除法運(yùn)算器的二個(gè)輸入端的操作數(shù)I和操作數(shù)2,能夠鎖存每次除法運(yùn)算的運(yùn)算結(jié)果,判斷運(yùn)算結(jié)果是否異常;系統(tǒng)能夠從操作數(shù)配置運(yùn)算控制模塊中讀出中間運(yùn)算結(jié)果和命令執(zhí)行的最終運(yùn)算結(jié)果。
[0012]其進(jìn)一步技術(shù)方案是:所述命令字及其操作數(shù)寫時(shí)序控制模塊包括控制器識(shí)別、寫地址計(jì)數(shù)器、寫操作數(shù)脈沖發(fā)生控制模塊、方式類型寄存器和與門I ;
[0013]所述控制器識(shí)別的輸入端和系統(tǒng)地址總線AB的A31到A27線連接,CS信號(hào)輸出端與寫操作數(shù)脈沖發(fā)生控制模塊的寫啟動(dòng)信號(hào)輸入端、操作數(shù)配置運(yùn)算控制模塊連接;所述控制器識(shí)別輸入A31到A27的地址值與控制器識(shí)別所設(shè)定的地址值相等,則控制器識(shí)別的CS信號(hào)輸出端為“0”,否則CS信號(hào)輸出端為“I” ;
[0014]所述寫地址計(jì)數(shù)器的操作數(shù)個(gè)數(shù)輸入端與系統(tǒng)數(shù)據(jù)總線DB的D6到DO線連接,寫預(yù)置脈沖輸入端與寫操作數(shù)脈沖發(fā)生控制模塊的脈沖①_1輸出端連接,寫計(jì)數(shù)脈沖輸入端與寫操作數(shù)脈沖發(fā)生控制模塊的脈沖③_1輸出端連接,寫地址輸出端與操作數(shù)存儲(chǔ)器的寫地址輸入端AB_1連接,寫溢出輸出端和與門I的一個(gè)輸入端連接;
[0015]所述寫操作數(shù)脈沖發(fā)生控制模塊的寫同步脈沖輸入端與系統(tǒng)寫信號(hào)WR線連接,復(fù)位輸入端和與門I的輸出端連接,脈沖①_1輸出端還與方式類型寄存器鎖存信號(hào)輸入端連接,作為讀預(yù)置脈沖與浮點(diǎn)操作數(shù)讀時(shí)序控制模塊連接,脈沖②_1輸出端與操作數(shù)存儲(chǔ)器寫端口的WR_1輸入端連接,作為讀啟動(dòng)脈沖與浮點(diǎn)操作數(shù)讀時(shí)序控制模塊連接;
[0016]當(dāng)CS為“O”時(shí),所述寫操作數(shù)脈沖發(fā)生控制模塊在系統(tǒng)第I個(gè)WR信號(hào)的作用下啟動(dòng)工作,按照順序輸出脈沖①_1、脈沖②_1、脈沖③_1,直到復(fù)位信號(hào)輸入端由“I” 一 “O”才停止工作,置脈沖①_1、脈沖②_1和脈沖③」輸出端為“I”狀態(tài);
[0017]所述方式類型寄存器的輸入端與系統(tǒng)數(shù)據(jù)總線DB的D8和D7線連接,方式輸出端與操作數(shù)配置運(yùn)算控制模塊連接,類型輸出端與浮點(diǎn)操作數(shù)讀時(shí)序控制模塊連接;
[0018]所述與門I的另二個(gè)輸入端分別與系統(tǒng)復(fù)位信號(hào)Rst線、操作數(shù)配置運(yùn)算控制模塊連接;
[0019]當(dāng)控制器識(shí)別輸出的CS信號(hào)由“I” 一 “O”時(shí),所述命令字及其操作數(shù)寫時(shí)序控制模塊啟動(dòng)寫操作數(shù)脈沖發(fā)生控制模塊工作,寫操作數(shù)脈沖發(fā)生控制模塊發(fā)出與系統(tǒng)WR信號(hào)同步的時(shí)序脈沖序列信號(hào),在脈沖①_1下降沿的作用下,將指令的命令字的第I個(gè)操作數(shù)的除法方式和類型鎖存在方式類型寄存器中,將操作數(shù)個(gè)數(shù)值預(yù)置給寫地址計(jì)數(shù)器,作為寫地址計(jì)數(shù)器的計(jì)數(shù)初值和操作數(shù)存儲(chǔ)器寫端口的寫地址初值,并置寫溢出輸出端為“I”狀態(tài);脈沖②_1作為操作數(shù)存儲(chǔ)器寫端口的WR_1信號(hào),將操作數(shù)寫入操作數(shù)存儲(chǔ)器中;脈沖③_1作為寫地址計(jì)數(shù)器的寫計(jì)數(shù)脈沖,這樣每寫入一個(gè)操作數(shù),產(chǎn)生I個(gè)計(jì)數(shù)脈沖,寫地址輸出端輸出的地址值-1指向操作數(shù)存儲(chǔ)器寫端口的下一個(gè)存儲(chǔ)單元的地址,當(dāng)寫地址輸出端輸出的地址值由預(yù)置值減至“O”時(shí),寫溢出輸出端由“I” 一 “0”,復(fù)位寫操作數(shù)脈沖發(fā)生控制模塊3,置所有的脈沖輸出端為“ I”狀態(tài)。
[0020]其進(jìn)一步技術(shù)方案是:所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊包括讀地址計(jì)數(shù)器、讀操作數(shù)脈沖發(fā)生控制模塊、與門I1、與門III和與門IV ;
[0021]所述讀地址計(jì)數(shù)器的操作數(shù)個(gè)數(shù)輸入端與系統(tǒng)數(shù)據(jù)總線DB的D6和DO線連接,讀預(yù)置脈沖輸入端與寫操作數(shù)脈沖發(fā)生控制模塊的脈沖①_1輸出端連接,讀計(jì)數(shù)脈沖輸入端和與門IV的輸出端連接,讀地址輸出端與操作數(shù)存儲(chǔ)器的讀地址輸入端AB_2連接,讀溢出輸出端與讀操作數(shù)脈沖發(fā)生控制模塊的讀溢出輸入端連接;
[0022]所述讀地址計(jì)數(shù)器在讀預(yù)置脈沖的作用下將輸入命令的操作數(shù)個(gè)數(shù)作為計(jì)數(shù)初值、操作數(shù)存儲(chǔ)器讀端口的讀地址初值,并置讀溢出輸出端信號(hào)為“ I”狀態(tài);每來一個(gè)讀計(jì)數(shù)脈沖,讀地址計(jì)數(shù)器的讀地址值-1,修改操作數(shù)存儲(chǔ)器讀端口存儲(chǔ)單元地址值,當(dāng)讀地址計(jì)數(shù)器輸出的讀地址值由預(yù)置值減至“O”時(shí),讀溢出輸出端由“I”一 “0”,讀溢出輸出信號(hào)是操作數(shù)讀出過程結(jié)束的標(biāo)志;
[0023]所述讀操作數(shù)脈沖發(fā)生控制模塊的讀同步脈沖輸入端與系統(tǒng)時(shí)鐘Clock線連接,復(fù)位輸入端和與門III的輸出端連接,讀啟動(dòng)輸入端與寫操作數(shù)脈沖發(fā)生控制模塊的脈沖②j輸出端連接,讀時(shí)序控制輸入端與方式類型寄存器的類型輸出端連接;脈沖①_2輸出端和與門II的一個(gè)輸入端、操作數(shù)配置運(yùn)算控制模塊連接;脈沖②_2輸出端和與門IV的一個(gè)輸入端、操作數(shù)配置運(yùn)算控制模塊連接,脈沖③_2輸出端和與門II的另一個(gè)輸入端連接;脈沖④_2輸出端和與門IV的另一個(gè)輸入端連接;脈沖⑤_2輸出端、脈沖?_2輸出端與操作數(shù)配置運(yùn)算控制模塊連接;Busy輸出端向系統(tǒng)輸出Busy忙信號(hào);
[0024]所述與門II的輸出端與操作數(shù)存儲(chǔ)器的讀信號(hào)輸入端RD_2連接;
[0025]所述與門III的二個(gè)輸入端分別與系統(tǒng)復(fù)位信號(hào)Rst線、操作數(shù)配置運(yùn)算控制模塊連接;
[0026]當(dāng)復(fù)位輸入端為“I ”時(shí),所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊在脈沖①_1的讀預(yù)置脈沖作用下將操作數(shù)個(gè)數(shù)值預(yù)置給讀地址計(jì)數(shù)器,操作數(shù)存儲(chǔ)器讀端口的地址初值為操作數(shù)個(gè)數(shù)值;在第一個(gè)脈沖②」的讀啟動(dòng)脈沖作用下啟動(dòng)讀操作數(shù)脈沖發(fā)生控制模塊的工作,Busy輸出端由“I”一 “O”;
[0027]當(dāng)讀操作數(shù)脈沖發(fā)生控制模塊的讀時(shí)序控制輸入端輸入的類型信號(hào)為“O”時(shí),按照順序循環(huán)發(fā)出脈沖?_2、脈沖④_2、脈沖⑤_2,以及發(fā)出一個(gè)脈沖⑥_2,當(dāng)讀溢出輸入端信號(hào)由“ I” 一“O”時(shí),置脈沖③_2、脈沖④_2輸出端為“ I”,停止脈沖③_2和脈沖④_2產(chǎn)生,經(jīng)過一個(gè)運(yùn)算周期時(shí)間,Busy輸出端由“O” 一 “ I”狀態(tài),輸出一個(gè)時(shí)鐘周期Clock的鎖存結(jié)果脈沖⑤_2,然后置脈沖⑤_2輸出端為“1”,浮點(diǎn)操作數(shù)讀時(shí)序控制模塊停止工作;
[0028]當(dāng)讀操作數(shù)脈沖發(fā)生控制模塊的讀時(shí)序控制輸入端輸入的類型信號(hào)為“I”時(shí),按照順序發(fā)出脈沖①_2和脈沖②_2,再按照順序循環(huán)發(fā)出脈沖③_2、脈沖④_2、脈沖⑤_2,脈沖③_2、脈沖④_2、脈沖⑤_2產(chǎn)生過程與類型信號(hào)為“O”時(shí)相同。
[0029]其進(jìn)一步技術(shù)方案是:所述操作數(shù)配置運(yùn)算控制模塊包括選通器、結(jié)果寄存器、操作數(shù)交換器、浮點(diǎn)數(shù)除法運(yùn)算器、運(yùn)算異常標(biāo)志控制、32位三態(tài)門組、與門V、與門V1、或門I和或門II ;
[0030]所述選通器的二個(gè)輸入端分別和操作數(shù)存儲(chǔ)器的操作數(shù)輸出端DB_2、浮點(diǎn)數(shù)除法運(yùn)算器的運(yùn)算結(jié)果輸出端連接,輸出端和結(jié)果寄存器的輸入端連接;選通控制輸入端和與門V的輸出端連接;
[0031]所述結(jié)果寄存器的輸出端和操作數(shù)交換器的交換數(shù)I輸入端、32位三態(tài)門組輸入端連接;結(jié)果鎖存信號(hào)輸入端和與門VI的輸出端連接;
[0032]所述操作數(shù)交換器的交換數(shù)2輸入端與操作數(shù)存儲(chǔ)器的操作數(shù)輸出端DB_2連接,交換控制端和或門I的輸出端連接,二個(gè)輸出端分別與浮點(diǎn)數(shù)除法運(yùn)算器的操作數(shù)I輸入端、操作數(shù)2輸入端連接;
[0033]所述浮點(diǎn)數(shù)除法運(yùn)算器的運(yùn)算結(jié)果輸出端還與運(yùn)算異常標(biāo)志控制的運(yùn)算結(jié)果輸入端連接;
[0034]所述運(yùn)算異常標(biāo)志控制的鎖存結(jié)果脈沖輸入端與讀操作數(shù)脈沖發(fā)生控制模塊的鎖存結(jié)果脈沖?_2輸出端連接;IRQ輸出端和與門I的另一個(gè)輸入端、與門III的另一個(gè)輸入端連接,IRQ輸出端還向系統(tǒng)輸出中斷請(qǐng)求信號(hào)IRQ ;當(dāng)中間運(yùn)算結(jié)果或最終運(yùn)算結(jié)果出現(xiàn)異常時(shí),所述運(yùn)算異常標(biāo)志控制向系統(tǒng)發(fā)出中斷請(qǐng)求信號(hào)IRQ,并復(fù)位寫操作數(shù)脈沖發(fā)生控制模塊和讀操作數(shù)脈沖發(fā)生控制模塊;
[0035]所述32位三態(tài)門組的輸出端和系統(tǒng)數(shù)據(jù)總線DB連接,控制輸入端和或門II的輸出端連接;
[0036]所述與門V的二個(gè)輸入端分別與讀操作數(shù)脈沖發(fā)生控制模塊的脈沖①_2、脈沖@_2的輸出端連接;
[0037]所述與門VI的二個(gè)輸入端分別與讀操作數(shù)脈沖發(fā)生控制模塊的脈沖@_2、脈沖?_2的輸出端連接;
[0038]所述或門I的一個(gè)輸入端與方式類型寄存器的方式輸出端連接,另一個(gè)輸入端與讀操作數(shù)脈沖發(fā)生控制模塊的脈沖?_2輸出端連接;
[0039]所述或門II的二個(gè)輸入端分別與控制器識(shí)別的CS信號(hào)輸出端、系統(tǒng)讀信號(hào)RD線連接;當(dāng)CS為“O”時(shí),在系統(tǒng)RD信號(hào)的作用下,讀出中間運(yùn)算結(jié)果或命令執(zhí)行的最終運(yùn)算結(jié)果。[0040]其進(jìn)一步技術(shù)方案是:所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊與方式類型寄存器的類型輸出端連接;所述操作數(shù)配置運(yùn)算控制模塊與方式類型寄存器的方式輸出端連接;類型的定義是從操作數(shù)存儲(chǔ)器讀出的第I個(gè)操作數(shù)的類型,方式的定義是當(dāng)類型為“O”時(shí),第I個(gè)操作數(shù)參加除法運(yùn)算的處理方式;
[0041]類型O:第I個(gè)操作數(shù)作為參與除運(yùn)算的操作數(shù)2,運(yùn)算結(jié)果作為操作數(shù)I ;
[0042]類型1:第I個(gè)操作數(shù)作為參與除運(yùn)算的操作數(shù)I,第2個(gè)操作數(shù)作為操作數(shù)2 ;
[0043]所述讀操作數(shù)脈沖發(fā)生控制模塊輸出的脈沖①_2、脈沖②_2只在方式類型寄存器輸出的類型為“I”時(shí)產(chǎn)生;當(dāng)脈沖?_2或脈沖?_2為“O”時(shí),選通器的選通控制輸入端為“0”,選通器輸出從操作數(shù)存儲(chǔ)器讀出的第I個(gè)操作數(shù);脈沖①_2和脈沖②_2都為“ I ”時(shí),選通器輸出運(yùn)算結(jié)果;
[0044]從操作數(shù)存儲(chǔ)器讀出的第I個(gè)操作數(shù)參加除法運(yùn)算,方式類型寄存器輸出的方式和類型信號(hào)控制正在執(zhí)行命令的第I個(gè)操作數(shù)和運(yùn)算結(jié)果的除法方式:
[0045]方式為“0”,類型為“O”:類型為“O”結(jié)果寄存器輸出的是運(yùn)算結(jié)果,操作數(shù)交換器的交換數(shù)I輸入端為運(yùn)算結(jié)果,操作數(shù)交換器的交換數(shù)2輸入端為從操作數(shù)存儲(chǔ)器讀出的第I個(gè)操作數(shù);當(dāng)讀第I個(gè)操作數(shù)時(shí),此時(shí)脈沖⑥_2為“O”有效,由于方式為“O”狀態(tài),使得操作數(shù)交換器的控制端為“0”,操作數(shù)交換器的交換數(shù)I輸入端的運(yùn)算結(jié)果作為操作數(shù)交換器輸出的操作數(shù)2,操作數(shù)交換器的交換數(shù)2輸入端的第I個(gè)操作數(shù)作為操作數(shù)交換器輸出的操作數(shù)1,即操作數(shù)交換器的2個(gè)輸入和2個(gè)輸出進(jìn)行交換傳輸,執(zhí)行第I個(gè)操作數(shù)/運(yùn)算結(jié)果的除法運(yùn)算;
[0046]方式為“1”,類型為“O”:當(dāng)讀第I個(gè)操作數(shù)時(shí),此時(shí)雖然脈沖⑥_2為“0”有效,但方式為“ I”狀態(tài),使得操作數(shù)交換器的控制端為“ 1”,操作數(shù)交換器的2個(gè)輸入和2個(gè)輸出不進(jìn)行交換傳輸;運(yùn)算結(jié)果作為浮點(diǎn)數(shù)除法運(yùn)算器的操作數(shù)1,第I個(gè)操作數(shù)作為操作數(shù)2,執(zhí)行運(yùn)算結(jié)果/第I個(gè)操作數(shù)的除法運(yùn)算;
[0047]當(dāng)類型為“I”時(shí),第I個(gè)操作數(shù)的配置與輸入的方式信號(hào)狀態(tài)無關(guān),讀操作數(shù)脈沖發(fā)生控制模塊不會(huì)產(chǎn)生脈沖⑥_2信號(hào),脈沖⑥_2輸出端為“ I ”狀態(tài),使得操作數(shù)交換器的控制端為“1”,操作數(shù)交換器的2個(gè)輸入和2個(gè)輸出不進(jìn)行交換傳輸;第I個(gè)操作數(shù)作為浮點(diǎn)數(shù)除法運(yùn)算器的操作數(shù)1,第2個(gè)操作數(shù)作為操作數(shù)2,執(zhí)行第I個(gè)操作數(shù)/第2個(gè)操作數(shù)的運(yùn)算。
[0048]由于采用以上結(jié)構(gòu),本實(shí)用新型之多浮點(diǎn)操作數(shù)除運(yùn)算控制器具有以下有益效果:
[0049]一、一條指令的命令字及其多浮點(diǎn)操作數(shù)能夠連續(xù)寫入存儲(chǔ)
[0050]本實(shí)用新型之多浮點(diǎn)操作數(shù)除運(yùn)算控制器內(nèi)部設(shè)置有一個(gè)操作數(shù)存儲(chǔ)器,在內(nèi)部與系統(tǒng)WR脈沖同步的寫操作數(shù)時(shí)序脈沖的控制之下,多浮點(diǎn)操作數(shù)除法指令的命令字被寫入后,能夠?qū)⒃撝噶畹母↑c(diǎn)操作數(shù)全部按照順序?qū)懭氩⒋鎯?chǔ)在操作數(shù)存儲(chǔ)器中。
[0051]二、自主控制完成多浮點(diǎn)操作數(shù)除法的運(yùn)算
[0052]本實(shí)用新型之多浮點(diǎn)操作數(shù)除運(yùn)算控制器在接收指令的命令字和第一個(gè)浮點(diǎn)操作數(shù)后,啟動(dòng)控制器內(nèi)部讀操作數(shù)脈沖發(fā)生控制模塊,在與系統(tǒng)時(shí)鐘Clock脈沖同步的讀操作數(shù)時(shí)序脈沖的控制之下,自主完成指令的所有浮點(diǎn)操作數(shù)的除法運(yùn)算,控制器執(zhí)行多浮點(diǎn)操作數(shù)的除法運(yùn)算命令不受系統(tǒng)控制。[0053]三、自動(dòng)選擇第I個(gè)浮點(diǎn)操作數(shù)除運(yùn)算的處理方式
[0054]本實(shí)用新型之多浮點(diǎn)操作數(shù)除運(yùn)算控制器在對(duì)第I個(gè)浮點(diǎn)操作數(shù)進(jìn)行除法運(yùn)算時(shí),有三種處理方式,一是第I個(gè)浮點(diǎn)操作數(shù)作為被除數(shù),實(shí)施第I個(gè)浮點(diǎn)操作數(shù)/第2個(gè)浮點(diǎn)操作數(shù)的運(yùn)算;二是第I個(gè)浮點(diǎn)操作數(shù)作為被除數(shù),實(shí)施第I個(gè)浮點(diǎn)操作數(shù)/運(yùn)算結(jié)果的運(yùn)算;三是第I個(gè)浮點(diǎn)操作數(shù)作為除數(shù),實(shí)施運(yùn)算結(jié)果/第I個(gè)浮點(diǎn)操作數(shù)的運(yùn)算。
[0055]四、控制器性價(jià)比高
[0056]本實(shí)用新型之多浮點(diǎn)操作數(shù)除運(yùn)算控制器以FPGA的硬連接控制電路為核心,實(shí)現(xiàn)多浮點(diǎn)操作數(shù)的除法運(yùn)算,運(yùn)算過程不受系統(tǒng)控制;除法運(yùn)算命令執(zhí)行過程中,能夠讀出中間運(yùn)算結(jié)果,除法運(yùn)算命令執(zhí)行結(jié)束,能夠讀出最終運(yùn)算結(jié)果;每條指令能夠有127個(gè)浮點(diǎn)操作數(shù),這樣一條指令相當(dāng)于相同除法運(yùn)算的多條指令,減少了系統(tǒng)對(duì)指令的取指和譯碼、浮點(diǎn)操作數(shù)和運(yùn)算結(jié)果寫回的傳輸操作過程;另一方面,控制器能夠應(yīng)用執(zhí)行上一條指令的運(yùn)算結(jié)果與新寫入指令的第I個(gè)浮點(diǎn)操作數(shù)進(jìn)行運(yùn)算;一條指令相當(dāng)于相同運(yùn)算的多條指令,提高了處理速度,具有較高的性價(jià)比。
[0057]下面結(jié)合附圖和實(shí)施例對(duì)本實(shí)用新型之多浮點(diǎn)操作數(shù)除運(yùn)算控制器的技術(shù)特征作進(jìn)一步的說明。
【專利附圖】
【附圖說明】
[0058]圖1:本實(shí)用新型之多浮點(diǎn)操作數(shù)除運(yùn)算控制器的系統(tǒng)結(jié)構(gòu)框圖;
[0059]圖2:本實(shí)用新型之多浮點(diǎn)操作數(shù)除運(yùn)算控制器的命令字及其操作數(shù)寫時(shí)序控制模塊的電路連接圖;
[0060]圖3:本實(shí)用新型之多浮點(diǎn)操作數(shù)除運(yùn)算控制器的浮點(diǎn)操作數(shù)讀時(shí)序控制模塊的電路連接圖;
[0061]圖4:本實(shí)用新型之多浮點(diǎn)操作數(shù)除運(yùn)算控制器的操作數(shù)配置運(yùn)算控制模塊的電路連接圖;
[0062]圖5:本實(shí)用新型之多浮點(diǎn)操作數(shù)除運(yùn)算控制器的寫命令字和多浮點(diǎn)操作數(shù)時(shí)序圖;
[0063]圖6:本實(shí)用新型之多浮點(diǎn)操作數(shù)除運(yùn)算控制器的類型O讀多浮點(diǎn)操作數(shù)和結(jié)果鎖存時(shí)序圖;
[0064]圖7:本實(shí)用新型之多浮點(diǎn)操作數(shù)除運(yùn)算控制器的類型I讀多浮點(diǎn)操作數(shù)和結(jié)果鎖存時(shí)序圖。
[0065]圖中:
[0066]I 一命令字及其操作數(shù)寫時(shí)序控制模塊,II一操作數(shù)存儲(chǔ)器,III一浮點(diǎn)操作數(shù)讀時(shí)序控制模塊,IV—操作數(shù)配置運(yùn)算控制模塊;
[0067]1一控制器識(shí)別,2—寫地址計(jì)數(shù)器,3—寫操作數(shù)脈沖發(fā)生控制模塊,4一方式類型寄存器,5—與門I,6—讀地址計(jì)數(shù)器,7—讀操作數(shù)脈沖發(fā)生控制模塊,8—與門11,9一與門III,10—與門IV,11 一選通器,12—結(jié)果寄存器,13—操作數(shù)交換器,14 一浮點(diǎn)數(shù)除法運(yùn)算器,15—運(yùn)算異常標(biāo)志控制,16 —32位二態(tài)丨]組,17—與門V,18—與I]VI,19—或丨]I,20—或丨 III ο
[0068]文中縮略語說明:[0069]FPGA — Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列;
[0070]DB — Data Bus,數(shù)據(jù)總線;
[0071]AB — Address Bus,地址總線;
[0072]CS - Chip Select,片選或使能,圖中CS代表“使能信號(hào)”;
[0073]Clock—時(shí)鐘;
[0074]RD — Read,讀,圖中代表“讀信號(hào)”;
[0075]WR —Write,寫,圖中代表“寫信號(hào)”;
[0076]IRQ — Interrupt Request,中斷申請(qǐng),圖中代表“中斷請(qǐng)求信號(hào)”;
[0077]Busy —忙信號(hào);
[0078]Rst — Reset,復(fù)位。
【具體實(shí)施方式】
[0079]實(shí)施例:
[0080]一種多浮點(diǎn)操作數(shù)除運(yùn)算控制器,如圖1所示,實(shí)現(xiàn)多個(gè)32位符合IEEE754標(biāo)準(zhǔn)的浮點(diǎn)數(shù)除法運(yùn)算,該控制器包括命令字及其操作數(shù)寫時(shí)序控制模塊1、操作數(shù)存儲(chǔ)器I1、浮點(diǎn)操作數(shù)讀時(shí)序控制模塊II1、操作數(shù)配置運(yùn)算控制模塊IV ;
[0081]所述命令字及其操作數(shù)寫時(shí)序控制模塊I與操作數(shù)存儲(chǔ)器I1、浮點(diǎn)操作數(shù)讀時(shí)序控制模塊II1、操作數(shù)配置運(yùn)算控制模塊IV連接;
[0082]所述操作數(shù)存儲(chǔ)器II還與浮點(diǎn)操作數(shù)讀時(shí)序控制模塊II1、操作數(shù)配置運(yùn)算控制模塊IV連接;
[0083]所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊III還與操作數(shù)配置運(yùn)算控制模塊IV連接;
[0084]所述命令字及其操作數(shù)寫時(shí)序控制模塊I控制完成指令的寫入和存儲(chǔ),需要占用系統(tǒng)總線;一條指令包括9位命令字和若干個(gè)操作數(shù),操作數(shù)最多為127個(gè);所述命令字及其操作數(shù)寫時(shí)序控制模塊I被系統(tǒng)選中時(shí),啟動(dòng)命令字及其操作數(shù)寫時(shí)序控制模塊I工作,內(nèi)部產(chǎn)生與系統(tǒng)WR信號(hào)同步的寫時(shí)序脈沖序列;在寫時(shí)序脈沖的控制下,鎖存多浮點(diǎn)操作數(shù)除法指令的命令字,寫入多浮點(diǎn)操作數(shù)予以存儲(chǔ);最后一個(gè)操作數(shù)被寫入存儲(chǔ)后,所述命令字及其操作數(shù)寫時(shí)序控制模塊I停止工作;
[0085]所述操作數(shù)存儲(chǔ)器II為雙端口存儲(chǔ)器,一個(gè)只寫端口,一個(gè)只讀端口,用于儲(chǔ)存浮點(diǎn)操作數(shù)(下稱為操作數(shù));所述操作數(shù)存儲(chǔ)器II的寫端口操作數(shù)的寫入和讀端口操作數(shù)的讀出不存在需要仲裁的情況;所述操作數(shù)存儲(chǔ)器II的寫端口受命令字及其操作數(shù)寫時(shí)序控制模塊I控制,將系統(tǒng)數(shù)據(jù)總線DB傳輸?shù)牟僮鲾?shù)寫入操作數(shù)存儲(chǔ)器II ;讀端口受浮點(diǎn)操作數(shù)讀時(shí)序控制模塊III控制,將操作數(shù)讀出傳輸?shù)讲僮鲾?shù)配置運(yùn)算控制模塊IV ;
[0086]所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊III在內(nèi)部讀時(shí)序脈沖的控制下,自主完成浮點(diǎn)操作數(shù)從操作數(shù)存儲(chǔ)器II中的讀出,不需要占用系統(tǒng)總線;所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊III在命令字及其操作數(shù)寫時(shí)序控制模塊I寫入第I個(gè)操作數(shù)后被啟動(dòng)工作,輸出忙信號(hào)Busy由“I”一 “0”,并根據(jù)第I個(gè)操作數(shù)類型,內(nèi)部產(chǎn)生與系統(tǒng)時(shí)鐘Clock信號(hào)同步的讀時(shí)序脈沖序列,按順序?qū)⒉僮鲾?shù)讀出參與除法運(yùn)算;當(dāng)參與運(yùn)算的最后I個(gè)操作數(shù)讀出之后,再經(jīng)過一個(gè)除法運(yùn)算的時(shí)間周期,輸出忙信號(hào)Busy由“O”一 “1”,發(fā)出一個(gè)時(shí)鐘周期Clock的結(jié)果鎖存脈沖后,停止浮點(diǎn)操作數(shù)讀時(shí)序控制模塊III的工作;[0087]所述操作數(shù)配置運(yùn)算控制模塊IV根據(jù)操作數(shù)存儲(chǔ)器II傳輸?shù)牡贗個(gè)操作數(shù)的除法方式和類型,選通配置除法運(yùn)算器的二個(gè)輸入端的操作數(shù)I和操作數(shù)2,能夠鎖存每次除法運(yùn)算的運(yùn)算結(jié)果,判斷運(yùn)算結(jié)果是否異常;系統(tǒng)能夠從操作數(shù)配置運(yùn)算控制模塊IV中讀出中間運(yùn)算結(jié)果和命令執(zhí)行的最終運(yùn)算結(jié)果。
[0088]如圖2所示,所述命令字及其操作數(shù)寫時(shí)序控制模塊I包括控制器識(shí)別1、寫地址計(jì)數(shù)器2、寫操作數(shù)脈沖發(fā)生控制模塊3、方式類型寄存器4和與門I 5 ;
[0089]所述控制器識(shí)別I的輸入端和系統(tǒng)地址總線AB的A31到A27線連接,CS信號(hào)輸出端與寫操作數(shù)脈沖發(fā)生控制模塊3的寫啟動(dòng)信號(hào)輸入端、操作數(shù)配置運(yùn)算控制模塊IV連接;所述控制器識(shí)別I輸入A31到A27的地址值與控制器識(shí)別I所設(shè)定的地址值相等,則控制器識(shí)別I的CS信號(hào)輸出端為“0”,否則CS信號(hào)輸出端為“I”;
[0090]所述寫地址計(jì)數(shù)器2的操作數(shù)個(gè)數(shù)輸入端與系統(tǒng)數(shù)據(jù)總線DB的D6和DO線連接,寫預(yù)置脈沖輸入端與寫操作數(shù)脈沖發(fā)生控制模塊3的脈沖①」輸出端連接,寫計(jì)數(shù)脈沖輸入端與寫操作數(shù)脈沖發(fā)生控制模塊3的脈沖③」輸出端連接,寫地址輸出端與操作數(shù)存儲(chǔ)器II的寫地址輸入端AB_1連接,寫溢出輸出端和與門I 5的一個(gè)輸入端連接;
[0091]所述寫操作數(shù)脈沖發(fā)生控制模塊3的寫同步脈沖輸入端與系統(tǒng)寫信號(hào)WR線連接,復(fù)位輸入端和與門I 5的輸出端連接,脈沖①」輸出端還與方式類型寄存器4鎖存信號(hào)輸入端連接,作為讀預(yù)置脈沖與浮點(diǎn)操作數(shù)讀時(shí)序控制模塊III連接,脈沖②_1輸出端與操作數(shù)存儲(chǔ)器II寫端口的WR_1輸入端連接,作為讀啟動(dòng)脈沖與浮點(diǎn)操作數(shù)讀時(shí)序控制模塊III連接;
[0092]當(dāng)CS為“O”時(shí),所述寫操作數(shù)脈沖發(fā)生控制模塊3在系統(tǒng)第I個(gè)WR信號(hào)的作用下啟動(dòng)工作,按照順序輸出脈沖?_1、脈沖②_1、脈沖③_1 (參見圖5),直到復(fù)位信號(hào)輸入端由“ I” 一 “O”才停止工作,置脈沖①_1、脈沖②_1和脈沖③_1輸出端為“ I”狀態(tài);
[0093]所述方式類型寄存器4的輸入端與系統(tǒng)數(shù)據(jù)總線DB的D8和D7線連接,方式輸出端與操作數(shù)配置運(yùn)算控制模塊IV連接,類型輸出端與浮點(diǎn)操作數(shù)讀時(shí)序控制模塊III連接;
[0094]所述與門I 5的另二個(gè)輸入端分別與系統(tǒng)復(fù)位信號(hào)Rst線、操作數(shù)配置運(yùn)算控制模塊IV連接;
[0095]當(dāng)控制器識(shí)別I輸出的CS信號(hào)由“I” 一“O”時(shí),所述命令字及其操作數(shù)寫時(shí)序控制模塊I啟動(dòng)寫操作數(shù)脈沖發(fā)生控制模塊3工作,寫操作數(shù)脈沖發(fā)生控制模塊3發(fā)出與系統(tǒng)WR信號(hào)同步的時(shí)序脈沖序列信號(hào)(參見圖5),在脈沖①」下降沿的作用下,將指令的命令字的第I個(gè)操作數(shù)的除法方式和類型鎖存在方式類型寄存器4中,將操作數(shù)個(gè)數(shù)值預(yù)置給寫地址計(jì)數(shù)器2,作為寫地址計(jì)數(shù)器2的計(jì)數(shù)初值和操作數(shù)存儲(chǔ)器II寫端口的寫地址初值,并置寫溢出輸出端為“ I ”狀態(tài);脈沖②_1作為操作數(shù)存儲(chǔ)器II寫端口的WR_1信號(hào),將操作數(shù)寫入操作數(shù)存儲(chǔ)器II中;脈沖③_1作為寫地址計(jì)數(shù)器2的寫計(jì)數(shù)脈沖,這樣每寫入一個(gè)操作數(shù),產(chǎn)生I個(gè)計(jì)數(shù)脈沖,寫地址輸出端輸出的地址值-1指向操作數(shù)存儲(chǔ)器II寫端口的下一個(gè)存儲(chǔ)單元的地址,當(dāng)寫地址輸出端輸出的地址值由預(yù)置值減至“O”時(shí),寫溢出輸出端由“I” 一 “0”,復(fù)位寫操作數(shù)脈沖發(fā)生控制模塊3,置所有的脈沖輸出端為“I”狀態(tài)。
[0096]如圖3所示,所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊III包括讀地址計(jì)數(shù)器6、讀操作數(shù)脈沖發(fā)生控制模塊7、與門II 8、與門III 9和與門IV 10 ;
[0097]所述讀地址計(jì)數(shù)器6的操作數(shù)個(gè)數(shù)輸入端與系統(tǒng)數(shù)據(jù)總線DB的D6和DO線連接,讀預(yù)置脈沖輸入端與寫操作數(shù)脈沖發(fā)生控制模塊3的脈沖①」輸出端連接,讀計(jì)數(shù)脈沖輸入端和與門IV 10的輸出端連接,讀地址輸出端與操作數(shù)存儲(chǔ)器II的讀地址輸入端AB_2連接,讀溢出輸出端與讀操作數(shù)脈沖發(fā)生控制模塊7的讀溢出輸入端連接;
[0098]所述讀地址計(jì)數(shù)器6在讀預(yù)置脈沖的作用下將輸入命令的操作數(shù)個(gè)數(shù)作為計(jì)數(shù)初值、操作數(shù)存儲(chǔ)器II讀端口的讀地址初值,并置讀溢出輸出端信號(hào)為“ I ”狀態(tài);每來一個(gè)讀計(jì)數(shù)脈沖,讀地址計(jì)數(shù)器6的讀地址值-1,修改操作數(shù)存儲(chǔ)器II讀端口存儲(chǔ)單元地址值,當(dāng)讀地址計(jì)數(shù)器6輸出的讀地址值由預(yù)置值減至“O”時(shí),讀溢出輸出端由“I” 一 “0”,讀溢出輸出信號(hào)是操作數(shù)讀出過程結(jié)束的標(biāo)志;
[0099]所述讀操作數(shù)脈沖發(fā)生控制模塊7的讀同步脈沖輸入端與系統(tǒng)時(shí)鐘Clock線連接,復(fù)位輸入端和與門III 9的輸出端連接,讀啟動(dòng)輸入端與寫操作數(shù)脈沖發(fā)生控制模塊3的脈沖②」輸出端連接,讀時(shí)序控制輸入端與方式類型寄存器4的類型輸出端連接;脈沖?_2輸出端和與門II 8的一個(gè)輸入端、操作數(shù)配置運(yùn)算控制模塊IV連接;脈沖②_2輸出端和與門IV 10的一個(gè)輸入端、操作數(shù)配置運(yùn)算控制模塊IV連接,脈沖?_2輸出端和與門II 8的另一個(gè)輸入端連接;脈沖④_2輸出端和與門IV 10的另一個(gè)輸入端連接;脈沖⑤_2輸出端、脈沖?_2輸出端與操作數(shù)配置運(yùn)算控制模塊IV連接;Busy輸出端向系統(tǒng)輸出Busy忙信號(hào);
[0100]所述與門II 8的輸出端與操作數(shù)存儲(chǔ)器II的讀信號(hào)輸入端RD_2連接;
[0101]所述與門III 9的二個(gè)輸入端分別與系統(tǒng)復(fù)位信號(hào)Rst線、操作數(shù)配置運(yùn)算控制模塊IV連接;
[0102]當(dāng)復(fù)位輸入端為“I”時(shí),所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊III在脈沖①」的讀預(yù)置脈沖作用下將操作數(shù)個(gè)數(shù)值預(yù)置給讀地址計(jì)數(shù)器6,操作數(shù)存儲(chǔ)器II讀端口的地址初值為操作數(shù)個(gè)數(shù)值;在第一個(gè)脈沖②」的讀啟動(dòng)脈沖作用下啟動(dòng)讀操作數(shù)脈沖發(fā)生控制模塊7的工作,Busy輸出端由“I” 一 “O” ;
[0103]當(dāng)讀操作數(shù)脈沖發(fā)生控制模塊7的讀時(shí)序控制輸入端輸入的類型信號(hào)為“O”時(shí),按照順序循環(huán)發(fā)出脈沖③_2、脈沖④_2、脈沖⑤_2,以及發(fā)出一個(gè)脈沖⑥_2(參見圖6),當(dāng)讀溢出輸入端信號(hào)由“ I” 一 “O”時(shí),置脈沖③_2、脈沖④_2輸出端為“ I”,停止脈沖③_2和脈沖@_2產(chǎn)生,經(jīng)過一個(gè)運(yùn)算周期時(shí)間,Busy輸出端由“O”一 “I”狀態(tài),輸出一個(gè)時(shí)鐘周期Clock的鎖存結(jié)果脈沖⑤_2,然后置脈沖⑤_2輸出端為“1”,浮點(diǎn)操作數(shù)讀時(shí)序控制模塊III停止工作;
[0104]當(dāng)讀操作數(shù)脈沖發(fā)生控制模塊7的讀時(shí)序控制輸入端輸入的類型信號(hào)為“I”時(shí),按照順序發(fā)出脈沖①_2和脈沖@_2,再按照順序循環(huán)發(fā)出脈沖③_2、脈沖④_2、脈沖⑤_2(參見圖7),脈沖③_2、脈沖④_2、脈沖⑤_2產(chǎn)生過程與類型信號(hào)為“O”時(shí)相同。
[0105]如圖4所示,所述操作數(shù)配置運(yùn)算控制模塊IV包括選通器11、結(jié)果寄存器12、操作數(shù)交換器13、浮點(diǎn)數(shù)除法運(yùn)算器14、運(yùn)算異常標(biāo)志控制15、32位三態(tài)門組16、與門V 17、與門VI 18、或門I 19和或門II 20 ;
[0106]所述選通器11的二個(gè)輸入端分別和操作數(shù)存儲(chǔ)器II的操作數(shù)輸出端DB_2、浮點(diǎn)數(shù)除法運(yùn)算器14的運(yùn)算結(jié)果輸出端連接,輸出端和結(jié)果寄存器12的輸入端連接;選通控制輸入端和與門V 17的輸出端連接;
[0107]所述結(jié)果寄存器12的輸出端和操作數(shù)交換器13的交換數(shù)I輸入端、32位三態(tài)門組16輸入端連接;結(jié)果鎖存信號(hào)輸入端和與門VI 18的輸出端連接;
[0108]所述操作數(shù)交換器13的交換數(shù)2輸入端與操作數(shù)存儲(chǔ)器II的操作數(shù)輸出端DB_2連接,交換控制端和或門I 19的輸出端連接,二個(gè)輸出端分別與浮點(diǎn)數(shù)除法運(yùn)算器14的操作數(shù)I輸入端、操作數(shù)2輸入端連接;
[0109]所述浮點(diǎn)數(shù)除法運(yùn)算器14的運(yùn)算結(jié)果輸出端還與運(yùn)算異常標(biāo)志控制15的運(yùn)算結(jié)果輸入端連接;
[0110]所述運(yùn)算異常標(biāo)志控制15的鎖存結(jié)果脈沖輸入端與讀操作數(shù)脈沖發(fā)生控制模塊7的鎖存結(jié)果脈沖⑤_2輸出端連接;IRQ輸出端和與門I 5的另一個(gè)輸入端、與門III9的另一個(gè)輸入端連接,IRQ輸出端還向系統(tǒng)輸出中斷請(qǐng)求信號(hào)IRQ ;當(dāng)中間運(yùn)算結(jié)果或最終運(yùn)算結(jié)果出現(xiàn)異常時(shí),所述運(yùn)算異常標(biāo)志控制15向系統(tǒng)發(fā)出中斷請(qǐng)求信號(hào)IRQ,并復(fù)位寫操作數(shù)脈沖發(fā)生控制模塊3和讀操作數(shù)脈沖發(fā)生控制模塊7 ;
[0111]所述32位三態(tài)門組16的輸出端和系統(tǒng)數(shù)據(jù)總線DB連接,控制輸入端和或門II 20的輸出端連接;
[0112]所述與門V 17的二個(gè)輸入端分別與讀操作數(shù)脈沖發(fā)生控制模塊7的脈沖?_2、脈沖②_2的輸出端連接;
[0113]所述與門VI18的二個(gè)輸入端分別與讀操作數(shù)脈沖發(fā)生控制模塊7的脈沖@_2、脈沖⑤_2的輸出端連接;
[0114]所述或門I 19的一個(gè)輸入端與方式類型寄存器4的方式輸出端連接,另一個(gè)輸入端與讀操作數(shù)脈沖發(fā)生控制模塊7的脈沖?_2輸出端連接;
[0115]所述或門II 20的二個(gè)輸入端分別與控制器識(shí)別I的CS信號(hào)輸出端、系統(tǒng)讀信號(hào)RD線連接;當(dāng)CS為“O”時(shí),在系統(tǒng)RD信號(hào)的作用下,讀出中間運(yùn)算結(jié)果或命令執(zhí)行的最終
運(yùn)算結(jié)果。
[0116]如圖2、圖3、圖4所示,所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊III與方式類型寄存器4的類型輸出端連接;所述操作數(shù)配置運(yùn)算控制模塊IV與方式類型寄存器4的方式輸出端連接;類型的定義是從操作數(shù)存儲(chǔ)器II讀出的第I個(gè)操作數(shù)的類型,方式的定義是當(dāng)類型為“O”時(shí),第I個(gè)操作數(shù)參加除法運(yùn)算的處理方式;
[0117]類型O:第I個(gè)操作數(shù)作為參與除運(yùn)算的操作數(shù)2,運(yùn)算結(jié)果作為操作數(shù)I ;
[0118]類型1:第I個(gè)操作數(shù)作為參與除運(yùn)算的操作數(shù)I,第2個(gè)操作數(shù)作為操作數(shù)2 ;
[0119]所述讀操作數(shù)脈沖發(fā)生控制模塊7輸出的脈沖①_2、脈沖②_2只在方式類型寄存器4輸出的類型為“ I”時(shí)產(chǎn)生;當(dāng)脈沖①_2或脈沖②_2為“O”時(shí),選通器11的選通控制輸入端為“0”,選通器11輸出從操作數(shù)存儲(chǔ)器II讀出的第I個(gè)操作數(shù);脈沖①_2和脈沖②_2都為“ I ”時(shí),選通器11輸出運(yùn)算結(jié)果;
[0120]從操作數(shù)存儲(chǔ)器II讀出的第I個(gè)操作數(shù)參加除法運(yùn)算,方式類型寄存器4輸出的方式和類型信號(hào)控制正在執(zhí)行命令的第I個(gè)操作數(shù)和運(yùn)算結(jié)果的除法方式:
[0121]方式為“0”,類型為“O”:類型為“O”結(jié)果寄存器12輸出的是運(yùn)算結(jié)果,操作數(shù)交換器13的交換數(shù)I輸入端為運(yùn)算結(jié)果,操作數(shù)交換器13的交換數(shù)2輸入端為從操作數(shù)存儲(chǔ)器II讀出的第I個(gè)操作數(shù);當(dāng)讀第I個(gè)操作數(shù)時(shí),此時(shí)脈沖⑥_2為“O”有效,由于方式為“O”狀態(tài),使得操作數(shù)交換器13的控制端為“0”,操作數(shù)交換器13的交換數(shù)I輸入端的運(yùn)算結(jié)果作為操作數(shù)交換器13輸出的操作數(shù)2,操作數(shù)交換器13的交換數(shù),2輸入端的第I個(gè)操作數(shù)作為操作數(shù)交換器13輸出的操作數(shù)I,即操作數(shù)交換器13的2個(gè)輸入和2個(gè)輸出進(jìn)行交換傳輸,執(zhí)行第I個(gè)操作數(shù)/運(yùn)算結(jié)果的除法運(yùn)算;
[0122]方式為“1”,類型為“O”:當(dāng)讀第I個(gè)操作數(shù)時(shí),此時(shí)雖然脈沖⑥_2為“0”有效,但方式為“I”狀態(tài),使得操作數(shù)交換器13的控制端為“1”,操作數(shù)交換器13的2個(gè)輸入和2個(gè)輸出不進(jìn)行交換傳輸;運(yùn)算結(jié)果作為浮點(diǎn)數(shù)除法運(yùn)算器14的操作數(shù)1,第I個(gè)操作數(shù)作為操作數(shù)2,執(zhí)行運(yùn)算結(jié)果/第I個(gè)操作數(shù)的除法運(yùn)算;
[0123]當(dāng)類型為“I”時(shí),第I個(gè)操作數(shù)的配置與輸入的方式信號(hào)狀態(tài)無關(guān),讀操作數(shù)脈沖發(fā)生控制模塊7不會(huì)產(chǎn)生脈沖⑥_2信號(hào),脈沖⑥_2輸出端為“ I ”狀態(tài),使得操作數(shù)交換器13的控制端為“1”,操作數(shù)交換器13的2個(gè)輸入和2個(gè)輸出不進(jìn)行交換傳輸;第I個(gè)操作數(shù)作為浮點(diǎn)數(shù)除法運(yùn)算器14的操作數(shù)I,第2個(gè)操作數(shù)作為操作數(shù)2,執(zhí)行第I個(gè)操作數(shù)/第2個(gè)操作數(shù)的運(yùn)算。
【權(quán)利要求】
1.一種多浮點(diǎn)操作數(shù)除運(yùn)算控制器,實(shí)現(xiàn)多個(gè)32位符合IEEE754標(biāo)準(zhǔn)的浮點(diǎn)數(shù)除法運(yùn)算,其特征在于:該控制器包括命令字及其操作數(shù)寫時(shí)序控制模塊(I )、操作數(shù)存儲(chǔ)器(II)、浮點(diǎn)操作數(shù)讀時(shí)序控制模塊(III)、操作數(shù)配置運(yùn)算控制模塊(IV); 所述命令字及其操作數(shù)寫時(shí)序控制模塊(I )與操作數(shù)存儲(chǔ)器(II)、浮點(diǎn)操作數(shù)讀時(shí)序控制模塊(III)、操作數(shù)配置運(yùn)算控制模塊(IV)連接; 所述操作數(shù)存儲(chǔ)器(II)還與浮點(diǎn)操作數(shù)讀時(shí)序控制模塊(III)、操作數(shù)配置運(yùn)算控制模塊(IV)連接; 所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊(III)還與操作數(shù)配置運(yùn)算控制模塊(IV)連接; 所述命令字及其操作數(shù)寫時(shí)序控制模塊(I )控制完成指令的寫入和存儲(chǔ),需要占用系統(tǒng)總線;一條指令包括9位命令字和若干個(gè)操作數(shù),操作數(shù)最多為127個(gè); 所述操作數(shù)存儲(chǔ)器(II)為雙端口存儲(chǔ)器,一個(gè)只寫端口,一個(gè)只讀端口,用于儲(chǔ)存浮點(diǎn)操作數(shù),以下稱為操作數(shù); 所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊(III)在內(nèi)部讀時(shí)序脈沖的控制下,自主完成浮點(diǎn)操作數(shù)從操作數(shù)存儲(chǔ)器(II)中的讀出,不需要占用系統(tǒng)總線; 所述操作數(shù)配置運(yùn)算控制模塊(IV)根據(jù)操作數(shù)存儲(chǔ)器(II)傳輸?shù)牡贗個(gè)操作數(shù)的除法方式和類型,選通配置除法運(yùn)算器的二個(gè)輸入端的操作數(shù)I和操作數(shù)2,系統(tǒng)能夠從操作數(shù)配置運(yùn)算控制模塊(IV)中讀出中間運(yùn)算結(jié)果和命令執(zhí)行的最終運(yùn)算結(jié)果。
2.如權(quán)利要求1所述的多浮點(diǎn)操作數(shù)除運(yùn)算控制器,其特征在于:所述命令字及其操作數(shù)寫時(shí)序控制模塊(I )包括控制器識(shí)別(I)、寫地址計(jì)數(shù)器(2)、寫操作數(shù)脈沖發(fā)生控制模塊(3)、方式類型寄存器(4)和與門I (5); 所述控制器識(shí)別(I)的輸入端和系統(tǒng)地址總線AB的A31到A27線連接,CS信號(hào)輸出端與寫操作數(shù)脈沖發(fā)生控制模塊(3)的寫啟動(dòng)信號(hào)輸入端、操作數(shù)配置運(yùn)算控制模塊(IV)連接;所述控制器識(shí)別(I)輸入A31到A27的地址值與控制器識(shí)別(I)所設(shè)定的地址值相等,則控制器識(shí)別(I)的CS信號(hào)輸出端為“O”,否則CS信號(hào)輸出端為“ I” ; 所述寫地址計(jì)數(shù)器(2)的操作數(shù)個(gè)數(shù)輸入端與系統(tǒng)數(shù)據(jù)總線DB的D6到DO線連接,寫預(yù)置脈沖輸入端與寫操作數(shù)脈沖發(fā)生控制模塊(3)的脈沖①_1輸出端連接,寫計(jì)數(shù)脈沖輸入端與寫操作數(shù)脈沖發(fā)生控制模塊(3)的脈沖③_1輸出端連接,寫地址輸出端與操作數(shù)存儲(chǔ)器(II)的寫地址輸入端AB_1連接,寫溢出輸出端和與門I (5)的一個(gè)輸入端連接; 所述寫操作數(shù)脈沖發(fā)生控制模塊(3)的寫同步脈沖輸入端與系統(tǒng)寫信號(hào)WR線連接,復(fù)位輸入端和與門I (5)的輸出端連接,脈沖①_1輸出端還與方式類型寄存器(4)鎖存信號(hào)輸入端連接,作為讀預(yù)置脈沖與浮點(diǎn)操作數(shù)讀時(shí)序控制模塊(III)連接,脈沖②」輸出端與操作數(shù)存儲(chǔ)器(II)寫端口的WR_1輸入端連接,作為讀啟動(dòng)脈沖與浮點(diǎn)操作數(shù)讀時(shí)序控制模塊(III)連接; 當(dāng)CS為“O”時(shí),所述寫操作數(shù)脈沖發(fā)生控制模塊(3)在系統(tǒng)第I個(gè)WR信號(hào)的作用下啟動(dòng)工作,按照順序輸出脈沖①_1、脈沖②_1、脈沖③_1,直到復(fù)位信號(hào)輸入端由“I” 一 “O”才停止工作,置脈沖①_1、脈沖②_1和脈沖③」輸出端為“I”狀態(tài); 所述方式類型寄存器(4)的輸入端與系統(tǒng)數(shù)據(jù)總線DB的D8和D7線連接,方式輸出端與操作數(shù)配置運(yùn)算控制模塊(IV)連接,類型輸出端與浮點(diǎn)操作數(shù)讀時(shí)序控制模塊(III)連接;所述與門I (5)的另二個(gè)輸入端分別與系統(tǒng)復(fù)位信號(hào)Rst線、操作數(shù)配置運(yùn)算控制模塊(IV)連接; 當(dāng)控制器識(shí)別(I)輸出的CS信號(hào)由“ I”一“O”時(shí),所述寫操作數(shù)脈沖發(fā)生控制模塊(3)發(fā)出與系統(tǒng)WR信號(hào)同步的時(shí)序脈沖序列信號(hào),在脈沖①_1下降沿的作用下,將指令的命令字的第I個(gè)操作數(shù)的除法方式和類型鎖存在方式類型寄存器(4)中,將操作數(shù)個(gè)數(shù)值預(yù)置給寫地址計(jì)數(shù)器(2),作為寫地址計(jì)數(shù)器(2)的計(jì)數(shù)初值和操作數(shù)存儲(chǔ)器(II)寫端口的寫地址初值,并置寫溢出輸出端為“I”狀態(tài);脈沖②_1作為操作數(shù)存儲(chǔ)器(II)寫端口的WR_1信號(hào),將操作數(shù)寫入操作數(shù)存儲(chǔ)器(II)中;脈沖③_1作為寫地址計(jì)數(shù)器(2)的寫計(jì)數(shù)脈沖,當(dāng)寫地址輸出端輸出的地址值由預(yù)置值減至“O”時(shí),寫溢出輸出端由“I” 一 “O”,復(fù)位寫操作數(shù)脈沖發(fā)生控制模塊(3),置所有的脈沖輸出端為“I”狀態(tài)。
3.如權(quán)利要求1所述的多浮點(diǎn)操作數(shù)除運(yùn)算控制器,其特征在于:所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊(III)包括讀地址計(jì)數(shù)器(6)、讀操作數(shù)脈沖發(fā)生控制模塊(7)、與門II (8)、與門III(9)和與門IV (10); 所述讀地址計(jì)數(shù)器(6)的操作數(shù)個(gè)數(shù)輸入端與系統(tǒng)數(shù)據(jù)總線DB的D6到DO線連接,讀預(yù)置脈沖輸入端與寫操作數(shù)脈沖發(fā)生控制模塊(3)的脈沖①_1輸出端連接,讀計(jì)數(shù)脈沖輸入端和與門IV (10)的輸出端連接,讀地址輸出端與操作數(shù)存儲(chǔ)器(II)的讀地址輸入端AB_2連接,讀溢出輸出端與讀操作數(shù)脈沖發(fā)生控制模塊(7)的讀溢出輸入端連接; 所述讀地址計(jì)數(shù)器(6)在讀預(yù)置脈沖的作用下將輸入命令的操作數(shù)個(gè)數(shù)作為計(jì)數(shù)初值、操作數(shù)存儲(chǔ)器(II)讀端口的讀地址初值,并置讀溢出輸出端信號(hào)為“ I ”狀態(tài);當(dāng)讀地址計(jì)數(shù)器(6)輸出的讀地址值由預(yù)置值減至“O”時(shí),讀溢出輸出端由“I”一 “0”,讀溢出輸出信號(hào)是操作數(shù)讀出過程結(jié)束的標(biāo)志; 所述讀操作數(shù)脈沖發(fā)生控制模塊(7)的讀同步脈沖輸入端與系統(tǒng)時(shí)鐘Clock線連接,復(fù)位輸入端和與門111(9)的輸出端連接,讀啟動(dòng)輸入端與寫操作數(shù)脈沖發(fā)生控制模塊(3)的脈沖②」輸出端連接,讀時(shí)序控制輸入端與方式類型寄存器(4)的類型輸出端連接;脈沖①_2輸出端和與門II (8)的一個(gè)輸入端、操作數(shù)配置運(yùn)算控制模塊(IV)連接;脈沖②_2輸出端和與門IV (10)的一個(gè)輸入端、操作數(shù)配置運(yùn)算控制模塊(IV)連接,脈沖③_2輸出端和與門II (8)的另一個(gè)輸入端連接;脈沖④_2輸出端和與門IV(IO)的另一個(gè)輸入端連接;脈沖⑤_2輸出端、脈沖⑥_2輸出端與操作數(shù)配置運(yùn)算控制模塊(IV)連接;Busy輸出端向系統(tǒng)輸出Busy忙信號(hào); 所述與門II (8)的輸出端與操作數(shù)存儲(chǔ)器(II)的讀信號(hào)輸入端RD_2連接; 所述與門III(9)的二個(gè)輸入端分別與系統(tǒng)復(fù)位信號(hào)Rst線、操作數(shù)配置運(yùn)算控制模塊(IV)連接; 當(dāng)復(fù)位輸入端為“ I ”時(shí),所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊(III)在第一個(gè)脈沖②_1的讀啟動(dòng)脈沖作用下啟動(dòng)讀操作數(shù)脈沖發(fā)生控制模塊(7)的工作,Busy輸出端由“I” 一 “O” ;當(dāng)讀操作數(shù)脈沖發(fā)生控制模塊(7)的讀時(shí)序控制輸入端輸入的類型信號(hào)為“O”時(shí),按照順序循環(huán)發(fā)出脈沖?_2、脈沖④_2、脈沖⑤_2,以及發(fā)出一個(gè)脈沖⑥_2,當(dāng)讀溢出輸入端信號(hào)由“I”一 “O”時(shí),置脈沖③_2、脈沖④_2輸出端為“1”,停止脈沖③_2和脈沖?_2產(chǎn)生,經(jīng)過一個(gè)運(yùn)算周期時(shí)間,Busy輸出端由“O” 一 “ I”狀態(tài),輸出一個(gè)時(shí)鐘周期Clock的鎖存結(jié)果脈沖⑤_2,然后置脈沖⑤_2輸出端為“1”,浮點(diǎn)操作數(shù)讀時(shí)序控制模塊(III)停止工作; 當(dāng)讀操作數(shù)脈沖發(fā)生控制模塊(7)的讀時(shí)序控制輸入端輸入的類型信號(hào)為“I”時(shí),按照順序發(fā)出脈沖①_2和脈沖②_2,再按照順序循環(huán)發(fā)出脈沖③_2、脈沖④_2、脈沖⑤_2,脈沖③_2、脈沖④_2、脈沖⑤_2產(chǎn)生過程與類型信號(hào)為“O”時(shí)相同。
4.如權(quán)利要求1所述的多浮點(diǎn)操作數(shù)除運(yùn)算控制器,其特征在于:所述操作數(shù)配置運(yùn)算控制模塊(IV)包括選通器(11)、結(jié)果寄存器(12)、操作數(shù)交換器(13)、浮點(diǎn)數(shù)除法運(yùn)算器(14)、運(yùn)算異常標(biāo)志控制(15)、32位三態(tài)門組(16)、與門V (17)、與門VI (18)、或門I(19)和或門 II (20); 所述選通器(11)的二個(gè)輸 入端分別和操作數(shù)存儲(chǔ)器(II)的操作數(shù)輸出端DB_2、浮點(diǎn)數(shù)除法運(yùn)算器(14)的運(yùn)算結(jié)果輸出端連接,輸出端和結(jié)果寄存器(12)的輸入端連接;選通控制輸入端和與門V (17)的輸出端連接; 所述結(jié)果寄存器(12)的輸出端和操作數(shù)交換器(13)的交換數(shù)I輸入端、32位三態(tài)門組(16)輸入端連接;結(jié)果鎖存信號(hào)輸入端和與門VK18)的輸出端連接; 所述操作數(shù)交換器(13)的交換數(shù)2輸入端與操作數(shù)存儲(chǔ)器(II)的操作數(shù)輸出端DB_2連接,交換控制端和或門I (19)的輸出端連接,二個(gè)輸出端分別與浮點(diǎn)數(shù)除法運(yùn)算器(14)的操作數(shù)I輸入端、操作數(shù)2輸入端連接; 所述浮點(diǎn)數(shù)除法運(yùn)算器(14)的運(yùn)算結(jié)果輸出端還與運(yùn)算異常標(biāo)志控制(15)的運(yùn)算結(jié)果輸入端連接; 所述運(yùn)算異常標(biāo)志控制(15)的鎖存結(jié)果脈沖輸入端與讀操作數(shù)脈沖發(fā)生控制模塊(7)的鎖存結(jié)果脈沖⑤_2輸出端連接;IRQ輸出端和與門I (5)的另一個(gè)輸入端、與門III(9)的另一個(gè)輸入端連接,IRQ輸出端還向系統(tǒng)輸出中斷請(qǐng)求信號(hào)IRQ ;當(dāng)中間運(yùn)算結(jié)果或最終運(yùn)算結(jié)果出現(xiàn)異常時(shí),所述運(yùn)算異常標(biāo)志控制(15)向系統(tǒng)發(fā)出中斷請(qǐng)求信號(hào)IRQ,并復(fù)位寫操作數(shù)脈沖發(fā)生控制模塊(3)和讀操作數(shù)脈沖發(fā)生控制模塊(7); 所述32位三態(tài)門組(16)的輸出端和系統(tǒng)數(shù)據(jù)總線DB連接,控制輸入端和或門II (20)的輸出端連接; 所述與門V (17)的二個(gè)輸入端分別與讀操作數(shù)脈沖發(fā)生控制模塊(7)的脈沖①_2、脈沖②_2的輸出端連接; 所述與門VI (18)的二個(gè)輸入端分別與讀操作數(shù)脈沖發(fā)生控制模塊(7)的脈沖②_2、脈沖⑤_2的輸出端連接; 所述或門I (19)的一個(gè)輸入端與方式類型寄存器(4)的方式輸出端連接,另一個(gè)輸入端與讀操作數(shù)脈沖發(fā)生控制模塊(7)的脈沖?_2輸出端連接; 所述或門II (20)的二個(gè)輸入端分別與控制器識(shí)別(I)的CS信號(hào)輸出端、系統(tǒng)讀信號(hào)RD線連接。
5.如權(quán)利要求1所述的多浮點(diǎn)操作數(shù)除運(yùn)算控制器,其特征在于:所述浮點(diǎn)操作數(shù)讀時(shí)序控制模塊(III)與方式類型寄存器(4)的類型輸出端連接;所述操作數(shù)配置運(yùn)算控制模塊(IV)與方式類型寄存器(4)的方式輸出端連接;類型的定義是從操作數(shù)存儲(chǔ)器(II)讀出的第I個(gè)操作數(shù)的類型,方式的定義是當(dāng)類型為“O”時(shí),第I個(gè)操作數(shù)參加除法運(yùn)算的處理方式; 操作數(shù)類型為“O”:選通器(I)輸出結(jié)果輸出寄存器(16)輸出的運(yùn)算結(jié)果,在脈沖發(fā)生器(9)輸出的脈沖①下降沿的作用下,運(yùn)算結(jié)果寄存器(2)鎖存結(jié)果輸出寄存器(16)輸出的運(yùn)算結(jié)果,或門11 (7)的輸出端由“1”一“O”,與門1 (8)的輸出端由“1”一“O”,操作數(shù)寄存器(3)鎖存來自系統(tǒng)總線DB的操作數(shù),則從操作數(shù)存儲(chǔ)器(11)讀出的第1個(gè)操作數(shù)的除法運(yùn)算的處理為如下兩種方式: 運(yùn)算方式為“O”:結(jié)果寄存器(12)輸出的是運(yùn)算結(jié)果,操作數(shù)交換器(13)的交換數(shù)1輸入端為運(yùn)算結(jié)果,操作數(shù)交換器(13)的交換數(shù)2輸入端為從操作數(shù)存儲(chǔ)器(11)讀出的第1個(gè)操作數(shù);當(dāng)讀第1個(gè)操作數(shù)時(shí),此時(shí)脈沖⑥_2為“O”有效,由于方式為“O”狀態(tài),使得操作數(shù)交換器(13)的控制端為“O”,操作數(shù)交換器(13)的交換數(shù)1輸入端的運(yùn)算結(jié)果作為操作數(shù)交換器(13)輸出的操作數(shù)2,操作數(shù)交換器(13)的交換數(shù)2輸入端的第1個(gè)操作數(shù)作為操作數(shù)交換器(13)輸出的操作數(shù)1,即操作數(shù)交換器(13)的2個(gè)輸入和2個(gè)輸出進(jìn)行交換傳輸,執(zhí)行第1個(gè)操作數(shù)/運(yùn)算結(jié)果的除法運(yùn)算; 運(yùn)算方式為“1”:當(dāng)讀第1個(gè)操作數(shù)時(shí),此時(shí)雖然脈沖⑥_2為“O”有效,但方式為“1”狀態(tài),使得操作數(shù)交換器(13)的控制端為“ 1 ”,操作數(shù)交換器(13)的2個(gè)輸入和2個(gè)輸出不進(jìn)行交換傳輸;運(yùn)算結(jié)果作為浮點(diǎn)數(shù)除法運(yùn)算器(14)的操作數(shù)1,第1個(gè)操作數(shù)作為操作數(shù)2,執(zhí)行運(yùn)算結(jié)果/第1個(gè)操作數(shù)的除法運(yùn)算; 操作數(shù)類型為“1”:第1個(gè)操作數(shù)的配置與輸入的方式信號(hào)狀態(tài)無關(guān),讀操作數(shù)脈沖發(fā)生控制模塊(7)不會(huì)產(chǎn)生脈沖?_2信號(hào),脈沖?_2輸出端為“1”狀態(tài),使得操作數(shù)交換器(13)的控制端為“1”,操作數(shù)交換器(13)的2個(gè)輸入和2個(gè)輸出不進(jìn)行交換傳輸;第1個(gè)操作數(shù)作為浮點(diǎn)數(shù)除法運(yùn)算器(14)的操作數(shù)1,第2個(gè)操作數(shù)作為操作數(shù)2,執(zhí)行第1個(gè)操作數(shù)/第2個(gè)操作數(shù)的運(yùn)算。
【文檔編號(hào)】G06F7/537GK203689500SQ201320835063
【公開日】2014年7月2日 申請(qǐng)日期:2013年12月13日 優(yōu)先權(quán)日:2013年12月13日
【發(fā)明者】蔡啟仲, 潘紹明, 鄭力, 李克儉, 王鳴桃 申請(qǐng)人:廣西科技大學(xué)