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

復(fù)雜指令集微控制器的譯碼裝置的制作方法

文檔序號:6473461閱讀:250來源:國知局
專利名稱:復(fù)雜指令集微控制器的譯碼裝置的制作方法
技術(shù)領(lǐng)域
本實(shí)用新型涉及半導(dǎo)體集成電路設(shè)計(jì)領(lǐng)域,尤其是一種復(fù)雜指令集
(Co即lex Instruction Set Computer,簡稱CISC )微控制器的譯碼裝置。
背景技術(shù)
孩t控制器(Microcontroller Unit,簡稱MCU)是將孩吏型計(jì)算機(jī)的主要部 分集成在一個(gè)芯片上的單芯片微型計(jì)算機(jī)。微控制器誕生于20世紀(jì)70年代 中期,經(jīng)過20多年的發(fā)展,其成本越來越低,而性能越來越強(qiáng)大,這使其應(yīng) 用已經(jīng)遍及各個(gè)領(lǐng)域。
微控制器可從不同方面進(jìn)行分類,根據(jù)指令結(jié)構(gòu)可分為精簡指令集 (Reduced Instruction Set Computer,簡稱RISC )和CISC《鼓控制器。RSIC 指令集的指令相對較少,執(zhí)行速度快,但通常需要多個(gè)指令組合才能完成功 能的實(shí)現(xiàn),這樣就需要較多的編譯時(shí)間來執(zhí)行。CISC指令集的指令豐富,功 能較為強(qiáng)大,讀取指令和執(zhí)行指令采用單指令流水線結(jié)構(gòu)。CISC體系的豐富 的指令集便于應(yīng)用,能實(shí)現(xiàn)較復(fù)雜的功能任務(wù)。
在CISC微控制器中,程序的各條指令是按順序串行執(zhí)行的,每條指令中 的各個(gè)操作也是按順序串行執(zhí)行的。程序執(zhí)行首先讀取指令碼,然后譯碼。 根據(jù)譯碼后得到的指令的類型,將操作數(shù)或者需要計(jì)算的地址送入算術(shù)邏輯 單元(Arithmetic Logic Unit,簡稱ALU)進(jìn)行運(yùn)算。然后,存儲運(yùn)算的結(jié) 果,寫入寄存器或者內(nèi)存單元。然后再讀入下一字節(jié)的指令,進(jìn)行譯碼、ALU 運(yùn)算、回寫存儲數(shù)據(jù),以此類推,直到指令結(jié)束。CISCM效控制器的一條指令 通常需要執(zhí)行多個(gè)機(jī)器周期, 一個(gè)機(jī)器周期為4個(gè)時(shí)鐘周期。在指令的譯碼結(jié)構(gòu)上也為按順序串行執(zhí)行。雖然上述順序執(zhí)行控制簡單,但是計(jì)算機(jī)各部 分的利用率不高,執(zhí)行速度較慢。
因此,上述現(xiàn)有技術(shù)的CISC微控制器指令的譯碼方法較為簡單, 一個(gè)機(jī)
器周期只能執(zhí)行一次取指、譯碼結(jié)構(gòu),造成指令執(zhí)行的機(jī)器周期較多,計(jì)算 機(jī)各部分的利用率不高,執(zhí)行速度較慢。

實(shí)用新型內(nèi)容
本實(shí)用新型的目的是提供一種復(fù)雜指令集微控制器的譯碼裝置,用以減 少指令執(zhí)行的機(jī)器周期,提高譯碼效率和微控制器的運(yùn)行速度。
為實(shí)現(xiàn)上述目的,本實(shí)用新型還提供了一種復(fù)雜指令集微控制器的譯碼 裝置,包括存儲從程序存儲器中預(yù)先讀取的指令的第一指令寄存器,所述第 一指令寄存器連接有對所述第一指令寄存器中的指令進(jìn)行預(yù)先譯碼,產(chǎn)生在 整個(gè)指令周期內(nèi)有效的功能代碼的預(yù)譯碼模塊,所述預(yù)譯碼模塊連接有存儲 從預(yù)譯碼模塊中讀取的指令的第二指令寄存器,所述第二指令寄存器連接有 在第一個(gè)時(shí)鐘周期內(nèi)對所述第二指令寄存器中的指令進(jìn)行第一次譯碼,產(chǎn)生 在當(dāng)前機(jī)器周期內(nèi)有效的功能代碼的第一譯碼模塊,所述第二指令寄存器還 連接有在當(dāng)前機(jī)器周期的第三個(gè)時(shí)鐘周期或者其他機(jī)器周期的第一個(gè)時(shí)鐘周 期或第三個(gè)時(shí)鐘周期對所述第二指令寄存器中的指令進(jìn)行第二次譯碼,產(chǎn)生 在下 一個(gè)時(shí)鐘周期內(nèi)有效的功能代碼的第二譯碼模塊。
由上述技術(shù)方案可知,本實(shí)用新型通過在指令隊(duì)列的不同階段,根據(jù)指 令代碼實(shí)現(xiàn)功能的時(shí)間長度不同進(jìn)行分別譯碼,從而提高了譯碼效率,減少 了指令執(zhí)行的機(jī)器周期數(shù),減少了指令的運(yùn)行時(shí)間,提高了執(zhí)行速度。


圖1為本實(shí)用新型復(fù)雜指令集微控制器的譯碼裝置的實(shí)施例的結(jié)構(gòu)示意
具體實(shí)施方式
下面通過附圖和實(shí)施例,對本實(shí)用新型的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
CISC微控制器的一條指令通常需要執(zhí)行多個(gè)機(jī)器周期,即一個(gè)指令周期 包含有多個(gè)機(jī)器周期, 一個(gè)機(jī)器周期則為四個(gè)時(shí)鐘周期,即CO、 Cl、 C2和C3。
如圖1所示,為本實(shí)用新型復(fù)雜指令集微控制器的譯碼裝置的實(shí)施例的 結(jié)構(gòu)示意圖。本實(shí)施例包括第一指令寄存器10,用于存儲從程序存儲器中 預(yù)先讀取的指令;預(yù)譯碼模塊20,與第一指令寄存器10連接,用于對第一指 令寄存器10中的指令進(jìn)行預(yù)先譯碼,產(chǎn)生在整個(gè)指令周期內(nèi)有效的功能代碼; 第二指令寄存器30,與預(yù)譯碼模塊20連接,用于存儲從預(yù)譯碼模塊中讀取的 指令;第一譯碼模塊40,與第二指令寄存器30連接,用于在第一個(gè)時(shí)鐘周期 內(nèi)對第二指令寄存器30中的指令進(jìn)行第一次譯碼,產(chǎn)生在當(dāng)前機(jī)器周期內(nèi)有 效的功能代碼;第二譯碼模塊50,與第二指令寄存器30連接,用于在當(dāng)前機(jī) 器周期的第三個(gè)時(shí)鐘周期或者其他機(jī)器周期的第一個(gè)時(shí)鐘周期或第三個(gè)時(shí)鐘 周期對第二指令寄存器30中的指令進(jìn)行第二次譯碼,產(chǎn)生在下一個(gè)時(shí)鐘周期 內(nèi)有效的功能代碼。
下面通過應(yīng)用本實(shí)用新型復(fù)雜指令集微控制器的譯碼裝置的上述實(shí)施例 的譯碼方法來進(jìn)一步說明本實(shí)施例,該譯碼方法可以包括以下步驟
步驟101、將預(yù)先讀取的指令送入第一指令寄存器中,預(yù)譯碼模塊對上述 指令進(jìn)行預(yù)先譯碼,產(chǎn)生在整個(gè)指令周期內(nèi)有效的功能代碼。
在一條指令執(zhí)行前一個(gè)時(shí)鐘周期C3,譯碼裝置先通過程序數(shù)據(jù)總線從程 序存儲器中讀取指令,將其放入指令隊(duì)列單元的第一指令寄存器IRO中,此 階段為指令的預(yù)取階段,完成指令部分功能的譯碼,并由譯碼裝置的控制電 路根據(jù)譯碼結(jié)果進(jìn)行操作。在IRO中的指令譯碼產(chǎn)生的是在整個(gè)指令周期內(nèi)
都有效的功能代碼,即用于整個(gè)指令周期內(nèi);
步驟102、將經(jīng)過預(yù)先譯碼后的指令送入第二指令寄存器中,第一譯碼模塊在第 一個(gè)時(shí)鐘周期內(nèi)對上述指令進(jìn)行第 一次譯碼,產(chǎn)生在當(dāng)前機(jī)器周期內(nèi) 有效的功能代碼,以及第二譯碼模塊在當(dāng)前機(jī)器周期的第三個(gè)時(shí)鐘周期或者 其他機(jī)器周期的第 一個(gè)時(shí)鐘周期或第三個(gè)時(shí)鐘周期對上述指令進(jìn)行第二次譯 碼,產(chǎn)生在下一個(gè)時(shí)鐘周期內(nèi)有效的功能代碼。
在隨后的時(shí)鐘周期CO,指令進(jìn)入到譯碼裝置隊(duì)列單元的指令寄存器IR 中,在此階段完成指令的其他功能的譯碼,并由控制電路根據(jù)譯碼結(jié)果進(jìn)行 操作。根據(jù)指令實(shí)現(xiàn)功能的不同,在指令譯碼的第二階段,即指令寄存器IR 中譯碼階段,對指令譯碼分為兩個(gè)部分PARTI和PART2。在每個(gè)機(jī)器周期的 時(shí)鐘周期CO階段,對指令進(jìn)行PARTI譯碼,產(chǎn)生在當(dāng)前機(jī)器周期有效的功能 代碼,即用于當(dāng)前機(jī)器周期內(nèi);在每個(gè)機(jī)器周期的偶數(shù)次時(shí)鐘周期C0或C2, 對指令進(jìn)行PART2譯碼,產(chǎn)生在下個(gè)時(shí)鐘周期Cl或C3有效的功能代碼,即 用于下個(gè)時(shí)鐘周期Cl或C3內(nèi)。譯碼裝置通過三個(gè)階段的譯碼完成指令譯碼 工作,并根據(jù)譯碼結(jié)果控制中央控制單元內(nèi)其他模塊的工作。
本實(shí)施例的譯碼方法通過在指令隊(duì)列的不同階段,根據(jù)指令代碼實(shí)現(xiàn)功 能的時(shí)間長度不同進(jìn)行分別譯碼,從而提高了譯碼效率,減少了指令執(zhí)行的 機(jī)器周期數(shù),減少了指令的運(yùn)行時(shí)間,提高了執(zhí)行速度。
進(jìn)一步地,以加法指令A(yù)DDrrr, n為例對上述譯碼方法作進(jìn)一步的說明, 其中rrr為通用寄存器代表多個(gè)工作寄存器,n為立即數(shù)。
首先在前一個(gè)機(jī)器周期的時(shí)鐘周期C3進(jìn)行IRO譯碼,預(yù)取指令A(yù)DD rrr, n送入IRO中,將指令中的rrr譯碼為A (A為一個(gè)工作寄存器),以供指令 執(zhí)行中使用;
其次在當(dāng)前機(jī)器周期的時(shí)鐘周期CO進(jìn)行IR PARTI譯碼,將IRO中的指 令A(yù)DDA, n送入IR中,時(shí)鐘周期C1取A中數(shù)據(jù),送入ALU的寄存器0P1中, 取立即數(shù)n,送入ALU的寄存器0P2中;
隨后在當(dāng)前機(jī)器周期的時(shí)鐘周期C2進(jìn)行IR PART2譯碼,時(shí)鐘周期C3在 ALU中進(jìn)行加法計(jì)算0P1+0P2;最后在下一個(gè)機(jī)器周期的時(shí)鐘周期CO進(jìn)行IR PARTI譯碼,將ALU結(jié)果 回寫到寄存器A中。
至此,可以看出,完成上述加法指令A(yù)DD rrr, n的機(jī)器周期數(shù)為兩個(gè), 與現(xiàn)有技術(shù)完成上述加法指令A(yù)DD rrr, n的機(jī)器周期數(shù)三個(gè)相比,本實(shí)施例 可以減少該指令執(zhí)行的機(jī)器周期數(shù),減少了指令的運(yùn)行時(shí)間,提高了執(zhí)行速 度。
本實(shí)用新型通過在指令隊(duì)列的不同階段,根據(jù)指令代碼實(shí)現(xiàn)功能的時(shí)間 長度不同,預(yù)譯碼模塊對第一指令寄存器中的指令、以及第一譯碼模塊和第 二譯碼模塊分別對第二指令寄存器中的指令進(jìn)行了譯碼,從而提高了譯碼效
率,減少了指令執(zhí)行的機(jī)器周期數(shù),減少了指令的運(yùn)行時(shí)間,提高了執(zhí)行速 度。
最后應(yīng)說明的是以上實(shí)施例僅用以說明本實(shí)用新型的技術(shù)方案,而非 對其限制;盡管參照前述實(shí)施例對本實(shí)用新型進(jìn)行了詳細(xì)的說明,本領(lǐng)域的
普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行 修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不 使相應(yīng)技術(shù)方案的本質(zhì)脫離本實(shí)用新型各實(shí)施例技術(shù)方案的精神和范圍。
權(quán)利要求1、一種復(fù)雜指令集微控制器的譯碼裝置,其特征在于包括存儲從程序存儲器中預(yù)先讀取的指令的第一指令寄存器,所述第一指令寄存器連接有對所述第一指令寄存器中的指令進(jìn)行預(yù)先譯碼,產(chǎn)生在整個(gè)指令周期內(nèi)有效的功能代碼的預(yù)譯碼模塊,所述預(yù)譯碼模塊連接有存儲從預(yù)譯碼模塊中讀取的指令的第二指令寄存器,所述第二指令寄存器連接有在第一個(gè)時(shí)鐘周期內(nèi)對所述第二指令寄存器中的指令進(jìn)行第一次譯碼,產(chǎn)生在當(dāng)前機(jī)器周期內(nèi)有效的功能代碼的第一譯碼模塊,所述第二指令寄存器還連接有在當(dāng)前機(jī)器周期的第三個(gè)時(shí)鐘周期或者其他機(jī)器周期的第一個(gè)時(shí)鐘周期或第三個(gè)時(shí)鐘周期對所述第二指令寄存器中的指令進(jìn)行第二次譯碼,產(chǎn)生在下一個(gè)時(shí)鐘周期內(nèi)有效的功能代碼的第二譯碼模塊。
專利摘要本實(shí)用新型涉及一種復(fù)雜指令集微控制器的譯碼裝置,包括存儲預(yù)取的指令的第一指令寄存器,第一指令寄存器連接對所述指令進(jìn)行譯碼,產(chǎn)生在整個(gè)指令周期內(nèi)有效的功能代碼的預(yù)譯碼模塊,預(yù)譯碼模塊連接存儲從預(yù)譯碼模塊中讀取的指令的第二指令寄存器,第二指令寄存器連接在第一個(gè)時(shí)鐘周期內(nèi)對第二指令寄存器中的指令進(jìn)行第一次譯碼,產(chǎn)生在當(dāng)前機(jī)器周期內(nèi)有效的功能代碼的第一譯碼模塊,第二指令寄存器還連接在當(dāng)前機(jī)器周期的第三個(gè)時(shí)鐘周期或者其他機(jī)器周期的第一個(gè)時(shí)鐘周期或第三個(gè)時(shí)鐘周期對第二指令寄存器中的指令進(jìn)行第二次譯碼,產(chǎn)生在下一個(gè)時(shí)鐘周期內(nèi)有效的功能代碼的第二譯碼模塊。本實(shí)用新型提高了譯碼效率,減少了指令執(zhí)行的機(jī)器周期數(shù)。
文檔編號G06F9/38GK201145893SQ20082005471
公開日2008年11月5日 申請日期2008年1月15日 優(yōu)先權(quán)日2008年1月15日
發(fā)明者史衛(wèi)東, 張曉詩, 漪 許, 谷志坤, 趙啟山 申請人:上海海爾集成電路有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1