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

Risc微處理器指令譯碼電路的制作方法

文檔序號(hào):6603560閱讀:427來源:國(guó)知局
專利名稱:Risc微處理器指令譯碼電路的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及微處理器領(lǐng)域,特別是涉及一種RISC(精簡(jiǎn)指令集計(jì)算機(jī))微處理器指令譯碼電路。
背景技術(shù)
當(dāng)前VLSI (超大規(guī)模集成電路)和SOC(片上系統(tǒng))設(shè)計(jì)都離不開中央微處理器這一核心部件。中央微處理器是整個(gè)SOC芯片的大腦,所有外圍設(shè)備驅(qū)動(dòng)程序及操作系統(tǒng)代碼都由它解釋和執(zhí)行。而所有這些軟件代碼,不論用何種高級(jí)語(yǔ)言(C,C++,Java)書寫, 最終都將被編譯成機(jī)器指令,并由中央微處理器取指,譯碼和執(zhí)行。片上系統(tǒng)設(shè)計(jì)時(shí)采用的中央微處理器大多以IP (知識(shí)產(chǎn)權(quán))形式提供,其主要供應(yīng)商有美國(guó)的ARM和MIPS公司等。這些公司提供的中央微處理器IP都有一個(gè)共同的缺點(diǎn), 即指令譯碼結(jié)構(gòu)復(fù)雜。這是由以下原因造成的(1)試圖在有限的指令位數(shù)(32,16位)里壓縮盡可能多的指令,這樣每種指令的共性就很少,造成譯碼結(jié)構(gòu)復(fù)雜;(2)這些微處理器的指令系統(tǒng)大多數(shù)在80或90年代就已經(jīng)完成了設(shè)計(jì)。隨著微處理器IP —代又一代的更新,新的指令又會(huì)出現(xiàn)。在早期沒有對(duì)指令結(jié)構(gòu)進(jìn)行系統(tǒng)設(shè)計(jì)的情況下,譯碼結(jié)構(gòu)只會(huì)變得越來越復(fù)雜,譯碼電路規(guī)模也會(huì)變得越來越大。而譯碼結(jié)構(gòu)復(fù)雜則會(huì)導(dǎo)致RISC微處理器的主頻無(wú)法很快提高,只能通過增加譯碼電路的流水線級(jí)數(shù)來實(shí)現(xiàn),這樣又會(huì)引起更大的跳轉(zhuǎn)指令執(zhí)行延遲等一系列其他問題。最近ARM公司重新設(shè)計(jì)了它的RISC微處理器指令集并用在Cortex系列微處理器上就很好的說明了這一問題。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種RISC微處理器指令譯碼電路,電路結(jié)構(gòu)簡(jiǎn)單,規(guī)模小,級(jí)數(shù)少,可以顯著提高RISC微處理器的性能,并且減少RISC微處理器的功耗。為解決上述技術(shù)問題,本發(fā)明的RISC微處理器指令譯碼電路結(jié)構(gòu),采用兩級(jí)流水線結(jié)構(gòu),第一級(jí)流水線計(jì)算下一個(gè)時(shí)鐘周期應(yīng)該讀取多少字節(jié)的指令,并把這一數(shù)字通知取指單元;第二級(jí)流水線對(duì)暫存的指令進(jìn)行譯碼,并向執(zhí)行單元傳達(dá)命令;包括指令比較器,比較指令代碼字段和目標(biāo)指令代碼,如果相等則輸出1 ; 指令緩存器,包括一個(gè)64位指令寄存器和一個(gè)7位指令長(zhǎng)度寄存器;64位指令寄存器用于暫存當(dāng)前等待譯碼的指令;7位指令長(zhǎng)度寄存器用于記載當(dāng)前64位指令寄存器中包含的指令比特?cái)?shù); 操作數(shù)選擇器,根據(jù)64位指令寄存器中的指令代碼字段和I比特字段,選擇64位指令寄存器中的指令操作數(shù)字段,將立即數(shù)輸出給取指單元,將立即數(shù)和操作數(shù)輸出給執(zhí)行單元;
指令計(jì)數(shù)器,從指令數(shù)據(jù)總線獲得輸入指令并計(jì)算輸入指令開頭4個(gè)比特中1的個(gè)數(shù),加上I比特要求的后繼字節(jié)數(shù)即為當(dāng)前指令的總字節(jié)數(shù),并輸出給指令移位器;根據(jù)當(dāng)前正在譯碼的指令長(zhǎng)度和從指令數(shù)據(jù)總線獲得的輸入指令計(jì)算出下一個(gè)時(shí)鐘周期需要讀取的指令字節(jié)數(shù),并輸出給取指流水線;指令移位器,將指令計(jì)數(shù)器輸出的當(dāng)前指令的總字節(jié)數(shù)作為輸入?yún)?shù),并根據(jù)7 位指令長(zhǎng)度寄存器的內(nèi)容,對(duì)64位指令寄存器內(nèi)的輸入的指令數(shù)據(jù)進(jìn)行左移移位操作,移位后的數(shù)據(jù)與64位指令寄存器內(nèi)的輸入的指令數(shù)據(jù)進(jìn)行合并;合并后的指令數(shù)據(jù)又存入 64位指令寄存器中;其中,I比特表示意義如下1)對(duì)算術(shù)指令,I = 1時(shí),RegC為4位立即數(shù);2)對(duì)直接跳轉(zhuǎn)指令,I = 1時(shí),RegA, RegB和RegC組成12位立即數(shù);3)對(duì)間接跳轉(zhuǎn)指令,I = 1時(shí),RegB和RegC組成8位立即數(shù);4)對(duì)直接讀寫指令,I = 1時(shí),RegB和RegC組成8位立即數(shù);5)對(duì)間接讀寫指令,I = 1時(shí),RegC為4位立即數(shù);RegA,RegB 和 RegC 為寄存器。本發(fā)明對(duì)RISC微處理器指令結(jié)構(gòu)進(jìn)行了系統(tǒng)設(shè)計(jì),采用了變長(zhǎng)指令和冗余編碼等技術(shù),使得譯碼電路結(jié)構(gòu)非常簡(jiǎn)單,電路規(guī)模小,電路級(jí)數(shù)少,可以顯著提高RISC微處理器的性能,并且減少RISC微處理器的功耗,使得RISC微處理器的譯碼電路不再成為RISC 微處理器設(shè)計(jì)的瓶頸。


下面結(jié)合附圖與具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明附圖是RISC微處理器指令譯碼電路結(jié)構(gòu)圖。
具體實(shí)施例方式本發(fā)明對(duì)RISC微處理器指令結(jié)構(gòu)進(jìn)行了系統(tǒng)設(shè)計(jì),采用了變長(zhǎng)碼指令集,指令有 8位,16位,24位,32位四種編碼,使用頻率越高的指令長(zhǎng)度越短,這樣可以提高代碼密度; 采用了冗余編碼,盡管四種指令編碼長(zhǎng)度不一,其指令格式和指令字段意義完全一致。因此,指令譯碼電路結(jié)構(gòu)非常簡(jiǎn)單,電路規(guī)模小,電路級(jí)數(shù)少;另外還預(yù)留了部分指令空間,便于未來擴(kuò)展指令。(一 )指令編碼和指令格式下面逐一說明各種指令編碼。每種指令編碼都包含幾個(gè)指令字段。指令的描述為匯編語(yǔ)言。本發(fā)明描述的指令集將包含5種類型的指令,即算術(shù)指令,跳轉(zhuǎn)指令,間接跳轉(zhuǎn)指令,直接讀寫指令和間接讀寫指令。同種類型指令的譯碼電路結(jié)構(gòu)基本一致。指令類型與指令代碼的關(guān)系如下。1.算術(shù)指令。
權(quán)利要求
1.一種RISC微處理器指令譯碼電路,采用兩級(jí)流水線結(jié)構(gòu),第一級(jí)流水線計(jì)算下一個(gè)時(shí)鐘周期應(yīng)該讀取多少字節(jié)的指令,并把這一數(shù)字通知取指單元;第二級(jí)流水線對(duì)暫存的指令進(jìn)行譯碼,并向執(zhí)行單元傳達(dá)命令;其特征在于,包括指令比較器,比較指令代碼字段和目標(biāo)指令代碼,如果相等則輸出1 ;指令緩存器,包括一個(gè)64位指令寄存器和一個(gè)7位指令長(zhǎng)度寄存器;64位指令寄存器用于暫存當(dāng)前等待譯碼的指令;7位指令長(zhǎng)度寄存器用于記載當(dāng)前64位指令寄存器中包含的指令比特?cái)?shù);操作數(shù)選擇器,根據(jù)64位指令寄存器中的指令代碼字段和I比特字段,選擇64位指令寄存器中的指令操作數(shù)字段,將立即數(shù)輸出給取指單元,將立即數(shù)和操作數(shù)輸出給執(zhí)行單元;指令計(jì)數(shù)器,從指令數(shù)據(jù)總線獲得輸入指令并計(jì)算輸入指令開頭4個(gè)比特中1的個(gè)數(shù), 加上I比特要求的后繼字節(jié)數(shù)即為當(dāng)前指令的總字節(jié)數(shù),并輸出給指令移位器;根據(jù)當(dāng)前正在譯碼的指令長(zhǎng)度和從指令數(shù)據(jù)總線獲得的輸入指令計(jì)算出下一個(gè)時(shí)鐘周期需要讀取的指令字節(jié)數(shù),并輸出給取指流水線;指令移位器,將指令計(jì)數(shù)器輸出的當(dāng)前指令的總字節(jié)數(shù)作為輸入?yún)?shù),并根據(jù)7位指令長(zhǎng)度寄存器的內(nèi)容,對(duì)64位指令寄存器內(nèi)的輸入的指令數(shù)據(jù)進(jìn)行左移移位操作,移位后的數(shù)據(jù)與64位指令寄存器內(nèi)的輸入的指令數(shù)據(jù)進(jìn)行合并;合并后的指令數(shù)據(jù)又存入64位指令寄存器中;其中,I比特表示意義如下1)對(duì)算術(shù)指令,I= 1時(shí),RegC為4位立即數(shù);2)對(duì)直接跳轉(zhuǎn)指令,I= 1時(shí),RegA, RegB和RegC組成12位立即數(shù);3)對(duì)間接跳轉(zhuǎn)指令,I= 1時(shí),RegB和RegC組成8位立即數(shù);4)對(duì)直接讀寫指令,I= 1時(shí),RegB和RegC組成8位立即數(shù);5)對(duì)間接讀寫指令,I= 1時(shí),RegC為4位立即數(shù);RegA, RegB和RegC為寄存器。
2.如權(quán)利要求1所述的RISC微處理器指令譯碼電路,其特征在于所述指令比較器用于比較T比特字段和E比特字段;其中,T比特代表數(shù)據(jù)類型1)對(duì)于算術(shù)指令,T= 0時(shí)為整數(shù)操作,T = 1時(shí)為64比特長(zhǎng)整數(shù)操作,T = 2時(shí)為單精度浮點(diǎn)數(shù)操作,T = 3時(shí)為雙精度浮點(diǎn)數(shù)操作;2)對(duì)于讀寫指令,T= 0時(shí)為8比特字節(jié)操作,T = 1時(shí)為16比特雙字節(jié)操作,T = 2 時(shí)為32位字操作,T = 3時(shí)為64比特雙字操作;3)對(duì)跳轉(zhuǎn)指令沒有意義;E比特為擴(kuò)展指令比特,E = 1表示擴(kuò)展指令。
3.如權(quán)利要求2所述的RISC微處理器指令譯碼電路,其特征在于從指令T比特和E 比特譯碼得出的信號(hào)將直接用來選擇運(yùn)算單元,其中ALU和乘除法控制信號(hào)被32位定點(diǎn)運(yùn)算單元,64位定點(diǎn)運(yùn)算單元,單精度浮點(diǎn)運(yùn)算單元,雙精度浮點(diǎn)運(yùn)算單元和DSP擴(kuò)展運(yùn)算單元共享。
4.如權(quán)利要求1所述的RISC微處理器指令譯碼電路,其特征在于所述64位指令寄存器和7位指令長(zhǎng)度寄存器均為時(shí)序電路,由時(shí)鐘信號(hào)觸發(fā)。
全文摘要
本發(fā)明公開了一種RISC微處理器指令譯碼電路,指令比較器比較指令代碼字段和目標(biāo)指令代碼;指令緩存器中64位指令寄存器用于暫存當(dāng)前等待譯碼的指令,7位指令長(zhǎng)度寄存器用于記載當(dāng)前指令寄存器中包含的指令比特?cái)?shù);操作數(shù)選擇器將立即數(shù)字段輸出給取指單元,立即數(shù)字段和寄存器字段輸出給執(zhí)行單元;指令計(jì)數(shù)器計(jì)算輸入指令開頭4個(gè)比特中1的個(gè)數(shù),加上I比特要求的后繼字節(jié)數(shù)即為當(dāng)前指令的總字節(jié)數(shù);指令移位器將指令計(jì)數(shù)器的輸出作為輸入?yún)?shù),并根據(jù)7位指令長(zhǎng)度寄存器的內(nèi)容對(duì)64位指令寄存器內(nèi)的輸入的指令數(shù)據(jù)左移,移位后與64位指令寄存器內(nèi)的輸入指令合并。本發(fā)明電路結(jié)構(gòu)簡(jiǎn)單,規(guī)模小,級(jí)數(shù)少,可顯著提高RISC微處理器的性能。
文檔編號(hào)G06F9/38GK102270112SQ20101019146
公開日2011年12月7日 申請(qǐng)日期2010年6月3日 優(yōu)先權(quán)日2010年6月3日
發(fā)明者邊立劍 申請(qǐng)人:邊立劍
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1