亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種面向risc處理器的三端口浮點(diǎn)寄存器文件的制作方法

文檔序號(hào):6546656閱讀:172來源:國(guó)知局
一種面向risc處理器的三端口浮點(diǎn)寄存器文件的制作方法
【專利摘要】本發(fā)明公開了一種面向RISC處理器的三端口浮點(diǎn)寄存器文件,通過在寄存器文件的輸入信號(hào)中,增加源操作數(shù)和目標(biāo)操作數(shù)的精度標(biāo)志位,寄存器陣列的控制邏輯根據(jù)精度標(biāo)志位和讀寫標(biāo)志位,對(duì)源操作數(shù)和目標(biāo)操作數(shù)地址指定的寄存器及與它地址相鄰的寄存器同時(shí)進(jìn)行讀寫操作,可以單周期完成雙精度、四精度浮點(diǎn)數(shù)的讀取和回寫,解決了浮點(diǎn)運(yùn)算過程中面臨的SRAM帶寬問題。
【專利說明】—種面向RISC處理器的三端口浮點(diǎn)寄存器文件
【技術(shù)領(lǐng)域】
[0001]本發(fā)明專利屬于微處理器體系結(jié)構(gòu)領(lǐng)域,涉及一種面向RISC處理器的三端口浮點(diǎn)寄存器文件。
【背景技術(shù)】
[0002]精簡(jiǎn)指令集(RISC)處理器的大部分指令操作都在寄存器之間進(jìn)行,必須由專門的訪存指令完成外部存儲(chǔ)器的讀寫操作。為了加快指令的執(zhí)行速度,RISC處理器內(nèi)部都有寄存器文件,指令執(zhí)行過程中從寄存器文件取得源操作數(shù),并將執(zhí)行結(jié)果(目標(biāo)操作數(shù))寫回到寄存器文件。一般情況下,RISC處理器的指令使用兩個(gè)源操作數(shù),計(jì)算得到一個(gè)目標(biāo)操作數(shù),基于此,寄存器文件應(yīng)具有三個(gè)端口,具體包括兩個(gè)讀端口和一個(gè)寫端口。
[0003]當(dāng)前,三端口的寄存器文件的主要設(shè)計(jì)方法有兩種,第一種為針對(duì)特殊應(yīng)用要求(如抗輻照)的全定制設(shè)計(jì),此類方法并不適用于通用處理器的寄存器文件實(shí)現(xiàn)。另一種基于單元庫(kù)的半定制設(shè)計(jì),即利用兩塊單元庫(kù)中提供的雙端口 SRAM構(gòu)造三端口的寄存器文件,如Atmel公司的AT697E、AT697F系列處理器,Gaisler研究所的LEON系列處理器及UT699系列處理器等。
[0004]文獻(xiàn)“UT699LE0N3FT/SPARCV8MicroProcessor Functional Manual,,公開了UT699處理器中寄存器文件的設(shè)計(jì)方法,通過兩塊256x48的雙端口 SRAM構(gòu)造一個(gè)168x39的三端口寄存器文件,構(gòu)造方法如圖1所示,將目標(biāo)操作數(shù)同時(shí)回寫到兩塊SRAM中,以保證兩塊SRAM中數(shù)據(jù)的一致性,兩個(gè)源操作數(shù)則是通過分別向兩塊SRAM請(qǐng)求數(shù)據(jù)獲得。
[0005]基于單元庫(kù)的半定制設(shè)計(jì)主要存在以下不足:(I)硬件資源浪費(fèi),增大了設(shè)計(jì)的功耗。該方法至少需要2倍于實(shí)際寄存器文件大小的SRAM存儲(chǔ)單元,忽略SRAM存儲(chǔ)單元中的行浪費(fèi),UT699中為3倍(2x256 + 169) ; (2)帶寬限制。當(dāng)處理器進(jìn)行大于單精度的浮點(diǎn)運(yùn)算時(shí),其所需的源操作數(shù)需要多個(gè)周期獲得,影響處理器性能(同一時(shí)刻,SRAM只能譯碼一個(gè)讀地址,也只能給出一個(gè)存儲(chǔ)單元的數(shù)據(jù))。
[0006]中國(guó)專利“一種用于浮點(diǎn)協(xié)處理器的寄存器文件分組編址、讀寫控制方法”(ZL201010261146.3)解決了浮點(diǎn)運(yùn)算時(shí)SRAM帶寬限制的問題,該方法通過將原來兩塊的SRAM分成兩組,每組又分為四個(gè)小組,通過處理器對(duì)八個(gè)小組分別提供讀寫控制信號(hào)實(shí)現(xiàn)對(duì)輸入、輸出128位數(shù)據(jù)的控制。由于該方法基于單元庫(kù)中SRAM,可能不存在合適大小的SRAM而造成更大的資源浪費(fèi),增加了功耗,另外該設(shè)計(jì)需要處理器產(chǎn)生8組控制信號(hào),增加了處理器設(shè)計(jì)復(fù)雜性及后端布線的難度。

【發(fā)明內(nèi)容】

[0007]本發(fā)明解決的技術(shù)問題在于提供一種面向RISC處理器的三端口浮點(diǎn)寄存器文件,通過使用寄存器陣列代替單元庫(kù)中的SRAM作為三端口寄存器文件的存儲(chǔ)單元,避免了硬件資源的浪費(fèi),降低了功耗。
[0008]本發(fā)明專利是通過以下技術(shù)方案來實(shí)現(xiàn):[0009]一種面向RISC處理器的三端口浮點(diǎn)寄存器文件,包括:
[0010]寫地址譯碼模塊,輸入為寄存器文件寫使能和寫地址,當(dāng)寫使能有效時(shí),置與寫地址對(duì)應(yīng)的寄存器AR的寫使能w_en有效,并將其分別輸出至寫控制模塊和寫數(shù)據(jù)互連網(wǎng)絡(luò);
[0011]寫控制模塊,根據(jù)輸入的寫使能w_en和端口的輸入寫操作精度標(biāo)志位,決定寄存器AR下面相鄰的寄存器的寫使能是否有效;輸出m位寫使能至寄存器陣列中m個(gè)寄存器的與使能端;
[0012]寫數(shù)據(jù)互連網(wǎng)絡(luò),在寫使能w_en控制下,將輸入的寄存器文件128位寫數(shù)據(jù)從低位到高位,以32位一組分為a、b、c、d四組;輸出為m個(gè)32位的數(shù)據(jù),分別連接至寄存器陣列中m個(gè)寄存器的數(shù)據(jù)輸入端:將a組連接到寄存器AR的數(shù)據(jù)輸入端datai ;將b、C、d三組分別依次連接至AR下面相鄰的三個(gè)寄存器的數(shù)據(jù)輸入端datai,除a、b、c、d四組之外其余m-4組均為O ;
[0013]寄存器陣列,為線性編址的一維寄存器陣列,大小為mX32,陣列的寬等于浮點(diǎn)寄存器的位寬,陣列的深度m等于浮點(diǎn)寄存器的個(gè)數(shù),陣列中每一個(gè)寄存器有寫使能,其每個(gè)寄存器的寫使能和數(shù)據(jù)輸入端分別來自寫控制模塊和數(shù)據(jù)互連網(wǎng)絡(luò),寄存器陣列有m個(gè)32位輸出,全部連接至讀數(shù)據(jù)互連網(wǎng)絡(luò);當(dāng)某個(gè)寄存器寫使能有效時(shí),其輸入的數(shù)據(jù)在時(shí)鐘上升沿寫入該寄存器,陣列中寄存器的輸出恒有效;
[0014]第一讀地址譯碼模塊,輸入為源操作數(shù)I的讀使能I和讀地址1,當(dāng)讀使能I有效時(shí),置與讀地址對(duì)應(yīng)的寄存器AR的讀使能r_en0有效,并將其輸出至第一讀控制模塊;
[0015]第一讀控制模塊,輸出為4位讀使能r_en0、r_enl、r_en2、r_en3,全部連接至讀數(shù)據(jù)互連網(wǎng)絡(luò);該模塊根據(jù)輸入讀操作I精度標(biāo)志位和讀使能1,決定AR下面相鄰的寄存器的讀使能是否有效;
[0016]第二讀地址譯碼模塊,輸入為源操作數(shù)2的讀使能2和讀地址2,當(dāng)讀使能2有效時(shí),置與讀地址對(duì)應(yīng)的寄存器AR的讀使能r_en0有效,并將其輸出至第二寫讀控制模塊;
[0017]第二讀控制模塊,輸出為4位讀使能r_en0、r_enl、r_en2、r_en3,全部連接至讀數(shù)據(jù)互連網(wǎng)絡(luò);該模塊根據(jù)輸入讀操作2精度標(biāo)志位和讀使能2,決定AR下面相鄰的寄存器的讀使能是否有效;
[0018]讀數(shù)據(jù)互連網(wǎng)絡(luò),根據(jù)輸入寄存器陣列的m個(gè)32位的輸出和第二讀控制模塊的四位讀使能的信號(hào),生成I個(gè)128位的數(shù)據(jù)進(jìn)行輸出;
[0019]根據(jù)輸入寄存器陣列的m個(gè)32位的輸出和第一讀控制模塊的四位讀使能的信號(hào),生成I個(gè)128位的數(shù)據(jù)進(jìn)行輸出。
[0020]所述的寫控制模塊,根據(jù)寫使能w_en和端口的輸入寫操作精度標(biāo)志位進(jìn)行如下判斷:
[0021]如果寫操作的精度標(biāo)志位為雙精度,則將寄存器陣列中AR的下一個(gè)寄存器的寫使能w_en置有效;
[0022]如果寫操作的精度標(biāo)志位為四精度,則將寄存器陣列中AR的下三個(gè)寄存器的寫使能w_en全部置有效(高電平);
[0023]如果寫操作的精度標(biāo)志位為單精度,只保持AR的寫使能w_en有效。
[0024]所述的第一讀控制模塊進(jìn)行以下判斷:[0025]如果讀操作I的精度標(biāo)志位為雙精度,則將寄存器陣列中AR的下一個(gè)寄存器的讀使能r_enl置有效;
[0026]如果讀操作I的精度標(biāo)志位為四精度,則將寄存器陣列中AR的下三個(gè)寄存器的讀使能r_enl、r_en2、r_en3全部置有效;
[0027]如果讀操作I的精度標(biāo)志位為單精度,只保持AR的讀使能r_en0有效。
[0028]所述的第二讀控制模塊進(jìn)行以下判斷:
[0029]如果讀操作2的精度標(biāo)志位為雙精度,則將寄存器陣列中AR的下一個(gè)寄存器的讀使能r_enl置有效;
[0030]如果讀操作2的精度標(biāo)志位為四精度,則將寄存器陣列中AR的下三個(gè)寄存器的讀使能r_enl、r_en2、r_en3全部置有效;
[0031 ] 如果讀操作2的精度標(biāo)志位為單精度,只保持AR的讀使能r_en0有效。
[0032]所述的寄存器陣列對(duì)m個(gè)32位寄存器實(shí)行線性編址,構(gòu)成一維寄存器陣列,地址范圍O?m-1。
[0033]所述的讀數(shù)據(jù)互連網(wǎng)絡(luò)輸出的128位的數(shù)據(jù)是由從低到高的a、b、c、d四組32位數(shù)據(jù)組成,a組的讀使能對(duì)應(yīng)讀控制模塊產(chǎn)生的r_en0, b組的讀使能對(duì)應(yīng)讀控制模塊產(chǎn)生的r_enl, c組的讀使能對(duì)應(yīng)讀控制模塊產(chǎn)生的r_en2, d組的讀使能對(duì)應(yīng)讀控制模塊產(chǎn)生的r_en3,若a、b、C、d中任一組的讀使能有效,則該組數(shù)據(jù)為對(duì)應(yīng)寄存器的數(shù)據(jù)輸出,否則該組對(duì)應(yīng)的數(shù)據(jù)為32位的O。
[0034]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益的技術(shù)效果:
[0035]本發(fā)明提供的一種面向RISC處理器的三端口浮點(diǎn)寄存器文件,通過在寄存器文件的輸入信號(hào)中,增加源操作數(shù)和目標(biāo)操作數(shù)的精度標(biāo)志位,寄存器陣列的控制邏輯根據(jù)精度標(biāo)志位和讀寫標(biāo)志位,對(duì)源操作數(shù)和目標(biāo)操作數(shù)地址指定的寄存器及與它地址相鄰的寄存器同時(shí)進(jìn)行讀寫操作,可以單周期完成雙精度、四精度浮點(diǎn)數(shù)的讀取和回寫,解決了浮點(diǎn)運(yùn)算過程中面臨的SRAM帶寬問題。
[0036]本發(fā)明提供的一種面向RISC處理器的三端口浮點(diǎn)寄存器文件,使用寄存器陣列代替單元庫(kù)中的SRAM作為三端口寄存器文件的存儲(chǔ)單元,可以由設(shè)計(jì)者在不依賴單元庫(kù)的基礎(chǔ)上,根據(jù)處理器架構(gòu)的要求,控制寄存器陣列的大小,避免了 SRAM硬件資源的浪費(fèi),降低了功耗。
[0037]本發(fā)明提供的一種面向RISC處理器的三端口浮點(diǎn)寄存器文件,不需要改變處理器任何控制邏輯,不需要提供額外的讀寫控制信號(hào),僅需處理器給出寄存器文件讀寫操作時(shí)的精度標(biāo)志位,控制較為簡(jiǎn)單。
[0038]本發(fā)明提供的一種面向RISC處理器的三端口浮點(diǎn)寄存器文件,可以在單周期內(nèi)完成雙、四精度浮點(diǎn)數(shù)據(jù)的讀取和回寫,效率較高,提高了處理器性能。
【專利附圖】

【附圖說明】
[0039]圖1為現(xiàn)有的半定制三端口寄存器文件的結(jié)構(gòu)圖;
[0040]圖2為基于本發(fā)明的寄存器陣列框圖,其中圖(a)為寄存器陣列中的任意一個(gè)η位寄存器示意圖,圖(b)為一維線性編址的寄存器陣列框圖;
[0041]圖3為基于本發(fā)明的三端口寄存器文件的電路結(jié)構(gòu)圖;[0042]圖4為讀過程中的數(shù)據(jù)處理示意圖。
【具體實(shí)施方式】
[0043]下面結(jié)合附圖對(duì)本發(fā)明專利做進(jìn)一步詳細(xì)描述,所述是對(duì)本發(fā)明的解釋而不是限定。
[0044]如圖2、圖3所示,一種面向RISC處理器的三端口浮點(diǎn)寄存器文件,包括寫地址譯碼模塊、寫控制模塊、寫數(shù)據(jù)互連網(wǎng)絡(luò)、寄存器陣列、第一讀地址譯碼模塊、第二讀地址譯碼模塊、第一讀控制模塊、第二讀控制模塊、讀數(shù)據(jù)互連網(wǎng)絡(luò);
[0045]所述寫地址譯碼模塊,輸入為寄存器文件寫使能和寫地址,當(dāng)寫使能有效時(shí)(高電平),置與寫地址對(duì)應(yīng)的寄存器AR的寫使能w_en有效,并將其輸出至寫控制模塊和寫數(shù)據(jù)互連網(wǎng)絡(luò)。
[0046]所述寫控制模塊, 輸出為m位寫使能,分別連接至寄存器陣列中m個(gè)寄存器的寫使能端。該模塊根據(jù)寫使能w_en和端口的輸入寫操作精度標(biāo)志位,決定AR下面相鄰的寄存器的寫使能是否有效;如果寫操作的精度標(biāo)志位為雙精度,則將寄存器陣列中AR的下一個(gè)寄存器(AR的地址加I)的寫使能《^11置有效(高電平);如果寫操作的精度標(biāo)志位為四精度,則將寄存器陣列中AR的下三個(gè)寄存器(AR的地址加1,加2,加3對(duì)應(yīng)的三個(gè)寄存器)的寫使能w_en全部置有效(高電平),其余情況(單精度)只保持AR的寫使能w_en有效。
[0047]所述寫數(shù)據(jù)互連網(wǎng)絡(luò),輸出為m個(gè)32位的數(shù)據(jù),分別連接至寄存器陣列中m個(gè)寄存器的數(shù)據(jù)輸入端。該模塊在AR的寫使能控制下,將寄存器文件的128寫位數(shù)據(jù)從低位到高位,以32位一組,分為a、b、C、d四組,將a組連接到寄存器AR的數(shù)據(jù)輸入端datai ;將
b、C、d三組分別依次連接至AR下面相鄰的三個(gè)寄存器的數(shù)據(jù)輸入端datai。
[0048]所述的寄存器陣列,如圖2所示,線性編址的一維寄存器陣列,大小為mX32,陣列的寬(32)等于浮點(diǎn)寄存器的位寬,陣列的深度m等于浮點(diǎn)寄存器的個(gè)數(shù),陣列中每一個(gè)寄存器有寫使能,當(dāng)某個(gè)寄存器寫使能有效時(shí),那么數(shù)據(jù)在時(shí)鐘上升沿寫入該寄存器,陣列中寄存器的輸出恒有效。其每個(gè)寄存器的寫使能和數(shù)據(jù)輸入端分別來自寫控制模塊和數(shù)據(jù)互連網(wǎng)絡(luò),寄存器陣列有m個(gè)32位輸出,全部連接至讀數(shù)據(jù)互連網(wǎng)絡(luò)。
[0049]所述的第一讀地址譯碼模塊,輸入為源操作數(shù)I的讀使能I和讀地址1,當(dāng)讀使能
I有效時(shí)(高電平),置與讀地址對(duì)應(yīng)的寄存器AR的讀使能r_en0有效,并將其輸出至第一讀控制模塊。
[0050]所述的第一讀控制模塊,輸出為4位讀使能r_en0、r_enl、r_en2、r_en3,全部連接至讀數(shù)據(jù)互連網(wǎng)絡(luò)。該模塊根據(jù)輸入讀操作I精度標(biāo)志位和讀使能1,決定AR下面相鄰的寄存器的讀使能是否有效;如果讀操作I的精度標(biāo)志位為雙精度,則將寄存器陣列中AR的下一個(gè)寄存器(AR的地址加I)的讀使能r_enl置有效(高電平);如果讀操作的精度標(biāo)志位為四精度,則將寄存器陣列中AR的下三個(gè)寄存器(AR的地址加1,加2,加3對(duì)應(yīng)的三個(gè)寄存器)的讀使能:r_enl、r_en2、r_en3全部置有效(高電平),其余只保持AR的讀使能r_enO有效。
[0051]所述的第二讀地址譯碼模塊,輸入為源操作數(shù)2的讀使能2和讀地址2,當(dāng)讀使能
2有效時(shí)(高電平),置與讀地址對(duì)應(yīng)的寄存器AR的讀使能r_en0有效,并將其輸出至寫讀控制模塊2。[0052]所述的第二讀控制模塊,輸出為4位讀使能r_en0、r_enl、r_en2、r_en3,全部連接至讀數(shù)據(jù)互連網(wǎng)絡(luò)。該模塊根據(jù)輸入讀操作2精度標(biāo)志位和讀使能2,決定AR下面相鄰的寄存器的讀使能是否有效;如果讀操作2的精度標(biāo)志位為雙精度,則將寄存器陣列中AR的下一個(gè)寄存器(AR的地址加I)的讀使能r_enl置有效(高電平);如果讀操作的精度標(biāo)志位為四精度,則將寄存器陣列中AR的下三個(gè)寄存器(AR的地址加1,加2,加3對(duì)應(yīng)的三個(gè)寄存器)的讀使能:r_enl、r_en2、r_en3全部置有效(高電平),其余只保持AR的讀使能r_enO有效。
[0053]所述讀數(shù)據(jù)互連網(wǎng)絡(luò),輸入為寄存器陣列的m個(gè)32位的輸出、第二讀控制模塊的四位讀使能,根據(jù)上述輸入信號(hào)生成I個(gè)128位的數(shù)據(jù)進(jìn)行輸出;
[0054]輸入為寄存器陣列的m個(gè)32位的輸出,第一讀控制模塊的四位讀使能,根據(jù)上述輸入信號(hào),生成I個(gè)128位的數(shù)據(jù)進(jìn)行輸出。
[0055]如圖4所示,所述的讀數(shù)據(jù)互連網(wǎng)絡(luò)輸出的128位的數(shù)據(jù)是由從低到高的a、b、c、d四組32位數(shù)據(jù)組成,a組的讀使能對(duì)應(yīng)讀控制模塊產(chǎn)生的r_enO, b組的讀使能對(duì)應(yīng)讀控制模塊產(chǎn)生的r_enl, c組的讀使能對(duì)應(yīng)讀控制模塊產(chǎn)生的r_en2, d組的讀使能對(duì)應(yīng)讀控制模塊產(chǎn)生的r_en3,若a、b、c、d中任一組的讀使能有效,則該組數(shù)據(jù)為對(duì)應(yīng)寄存器的數(shù)據(jù)輸出,否則該組對(duì)應(yīng)的數(shù)據(jù)為32位的O。
[0056]基于本發(fā)明實(shí)現(xiàn)的三端口浮點(diǎn)寄存器文件已經(jīng)應(yīng)用在一款SPARC V8架構(gòu)的處理器中。相對(duì)于基本單元庫(kù)的半定制設(shè)計(jì)方法,本發(fā)明使設(shè)計(jì)者根據(jù)處理器架構(gòu)的要求,自主控制寄存器陣列的大小,避免了單元庫(kù)中SRAM硬件資源的浪費(fèi);本發(fā)明不需要改變處理器任何控制邏輯,僅需處理器給出寄存器文件讀寫操作時(shí)的精度標(biāo)志位,控制較為簡(jiǎn)單;本發(fā)明三端口浮點(diǎn)寄存器文件,可以使處理器在單周期內(nèi)完成雙、四精度浮點(diǎn)數(shù)據(jù)的讀取和回與,效率較聞,提聞了處理器性能。
【權(quán)利要求】
1.一種面向RISC處理器的三端口浮點(diǎn)寄存器文件,其特征在于,包括: 寫地址譯碼模塊,輸入為寄存器文件寫使能和寫地址,當(dāng)寫使能有效時(shí),置與寫地址對(duì)應(yīng)的寄存器AR的寫使能w_en有效,并將其分別輸出至寫控制模塊和寫數(shù)據(jù)互連網(wǎng)絡(luò); 寫控制模塊,根據(jù)輸入的寫使能w_en和端口的輸入寫操作精度標(biāo)志位,決定寄存器AR下面相鄰的寄存器的寫使能是否有效;輸出m位寫使能至寄存器陣列中m個(gè)寄存器的寫使倉(cāng); 寫數(shù)據(jù)互連網(wǎng)絡(luò),在寫使能w_en控制下,將輸入的寄存器文件128位寫數(shù)據(jù)從低位到高位,以32位一組分為a、b、c、d四組;輸出為m個(gè)32位的數(shù)據(jù),分別連接至寄存器陣列中m個(gè)寄存器的數(shù)據(jù)輸入端:將a組連接到寄存器AR的數(shù)據(jù)輸入端datai ^fb、c、d三組分別依次連接至AR下面相鄰的三個(gè)寄存器的數(shù)據(jù)輸入端datai,除a、b、C、d四組之外其余m_4組均為O ; 寄存器陣列,為線性編址的一維寄存器陣列,大小為mX32,陣列的寬等于浮點(diǎn)寄存器的位寬,陣列的深度m等于浮點(diǎn)寄存器的個(gè)數(shù),陣列中每一個(gè)寄存器有寫使能,其每個(gè)寄存器的寫使能和數(shù)據(jù) 輸入端分別來自寫控制模塊和數(shù)據(jù)互連網(wǎng)絡(luò),寄存器陣列有m個(gè)32位輸出,全部連接至讀數(shù)據(jù)互連網(wǎng)絡(luò);當(dāng)某個(gè)寄存器寫使能有效時(shí),其輸入的數(shù)據(jù)在時(shí)鐘上升沿寫入該寄存器,陣列中寄存器的輸出恒有效; 第一讀地址譯碼模塊,輸入為源操作數(shù)I的讀使能I和讀地址1,當(dāng)讀使能I有效時(shí),置與讀地址對(duì)應(yīng)的寄存器AR的讀使能r_enO有效,并將其輸出至第一讀控制模塊; 第一讀控制模塊,輸出為4位讀使能r_en0、r_enl、r_en2、r_en3,全部連接至讀數(shù)據(jù)互連網(wǎng)絡(luò);該模塊根據(jù)輸入讀操作I精度標(biāo)志位和讀使能1,決定AR下面相鄰的寄存器的讀使能是否有效; 第二讀地址譯碼模塊,輸入為源操作數(shù)2的讀使能2和讀地址2,當(dāng)讀使能2有效時(shí),置與讀地址對(duì)應(yīng)的寄存器AR的讀使能r_enO有效,并將其輸出至第二寫讀控制模塊; 第二讀控制模塊,輸出為4位讀使能r_en0、r_enl、r_en2、r_en3,全部連接至讀數(shù)據(jù)互連網(wǎng)絡(luò);該模塊根據(jù)輸入讀操作2精度標(biāo)志位和讀使能2,決定AR下面相鄰的寄存器的讀使能是否有效; 讀數(shù)據(jù)互連網(wǎng)絡(luò),根據(jù)輸入寄存器陣列的m個(gè)32位的輸出和第二讀控制模塊的四位讀使能的信號(hào),生成I個(gè)128位的數(shù)據(jù)進(jìn)行輸出; 根據(jù)輸入寄存器陣列的m個(gè)32位的輸出和第一讀控制模塊的四位讀使能的信號(hào),生成I個(gè)128位的數(shù)據(jù)進(jìn)行輸出。
2.如權(quán)利要求1所述的面向RISC處理器的三端口浮點(diǎn)寄存器文件,其特征在于,所述的寫控制模塊,根據(jù)寫使能w_en和端口的輸入寫操作精度標(biāo)志位進(jìn)行如下判斷: 如果寫操作的精度標(biāo)志位為雙精度,則將寄存器陣列中AR的下一個(gè)寄存器的寫使能w_en置有效; 如果寫操作的精度標(biāo)志位為四精度,則將寄存器陣列中AR的下三個(gè)寄存器的寫使能w_en全部置有效(高電平); 如果寫操作的精度標(biāo)志位為單精度,只保持AR的寫使能w_en有效。
3.如權(quán)利要求1所述的面向RISC處理器的三端口浮點(diǎn)寄存器文件,其特征在于,所述的第一讀控制模塊進(jìn)行以下判斷:如果讀操作I的精度標(biāo)志位為雙精度,則將寄存器陣列中AR的下一個(gè)寄存器的讀使能r_enl置有效; 如果讀操作I的精度標(biāo)志位為四精度,則將寄存器陣列中AR的下三個(gè)寄存器的讀使能r_enI > r_en2 > r_en3 全部置有效; 如果讀操作I的精度標(biāo)志位為單精度,只保持AR的讀使能r_enO有效。
4.如權(quán)利要求1所述的面向RISC處理器的三端口浮點(diǎn)寄存器文件,其特征在于,所述的第二讀控制模塊進(jìn)行以下判斷: 如果讀操作2的精度標(biāo)志位為雙精度,則將寄存器陣列中AR的下一個(gè)寄存器的讀使能r_enl置有效; 如果讀操作2的精度標(biāo)志位為四精度,則將寄存器陣列中AR的下三個(gè)寄存器的讀使能r_enI > r_en2 > r_en3 全部置有效; 如果讀操作2的精度標(biāo)志位為單精度,只保持AR的讀使能r_enO有效。
5.如權(quán)利要求1所述的面向RISC處理器的三端口浮點(diǎn)寄存器文件,其特征在于,所述的寄存器陣列對(duì)m個(gè)32位寄存器實(shí)行線性編址,構(gòu)成一維寄存器陣列,地址范圍O~m-1。
6.如權(quán)利要求1所述的面向RISC處理器的三端口浮點(diǎn)寄存器文件,其特征在于,所述的讀數(shù)據(jù)互連網(wǎng)絡(luò)輸出的128位的數(shù)據(jù)是由從低到高的a、b、c、d四組32位數(shù)據(jù)組成,a組的讀使能對(duì)應(yīng)讀控制模塊產(chǎn)生的r_enO,b組的讀使能對(duì)應(yīng)讀控制模塊產(chǎn)生的r_enl, c組的讀使能對(duì)應(yīng)讀控制模塊產(chǎn) 生的r_en2, d組的讀使能對(duì)應(yīng)讀控制模塊產(chǎn)生的r_en3,若a、b、c、d中任一組的讀使能有效,則該組數(shù)據(jù)為對(duì)應(yīng)寄存器的數(shù)據(jù)輸出,否則該組對(duì)應(yīng)的數(shù)據(jù)為32位的O。
【文檔編號(hào)】G06F9/30GK103984524SQ201410206420
【公開日】2014年8月13日 申請(qǐng)日期:2014年5月15日 優(yōu)先權(quán)日:2014年5月15日
【發(fā)明者】陳慶宇, 吳龍勝, 段青亞, 盛廷義, 唐威 申請(qǐng)人:中國(guó)航天科技集團(tuán)公司第九研究院第七七一研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1