[發(fā)明專利]基于隱式相關(guān)性和隱式旁路的微處理器指令拆分裝置有效
| 申請?zhí)枺?/td> | 201110346810.9 | 申請日: | 2011-11-04 |
| 公開(公告)號: | CN102436781A | 公開(公告)日: | 2012-05-02 |
| 發(fā)明(設(shè)計(jì))人: | 丁永林;李戰(zhàn)輝;楊軍 | 申請(專利權(quán))人: | 杭州中天微系統(tǒng)有限公司 |
| 主分類號: | G09F9/30 | 分類號: | G09F9/30 |
| 代理公司: | 杭州天正專利事務(wù)所有限公司 33201 | 代理人: | 王兵;王利強(qiáng) |
| 地址: | 310012 浙江省杭州*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 相關(guān)性 旁路 微處理器 指令 拆分 裝置 | ||
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式處理器領(lǐng)域,尤其是一種基于隱式相關(guān)性和隱式旁路的微處理器指令拆分裝置。
背景技術(shù):
現(xiàn)代集成電路技術(shù)的發(fā)展嵌入式微處理器應(yīng)用領(lǐng)域的不斷深入和擴(kuò)大,使得存儲器成為了制約微處理器成本和功耗的重要因素。在特定硬件資源前提下,如何增強(qiáng)指令集功能、提高代碼密度和指令執(zhí)行效率,是很多處理器設(shè)計(jì)人員必須面對的問題。很多嵌入式處理器針對特定應(yīng)用,通過向指令集中引入數(shù)條執(zhí)行時(shí)可拆分為數(shù)條原子操作的復(fù)雜操作指令,提出了這個(gè)問題的解決方案。考慮到處理器硬件資源、功耗以及指令拆分的實(shí)現(xiàn)復(fù)雜度,一般處理器僅對各操作之間有良好并行性的復(fù)雜操作指令進(jìn)行拆分,如從連續(xù)存儲區(qū)域向通用暫存器加載數(shù)據(jù),或者把多個(gè)通用暫存器的數(shù)據(jù)存儲到存儲器。
拆分有前后數(shù)據(jù)相關(guān)性的復(fù)雜操作指令,既要解決拆分后原子指令之間的數(shù)據(jù)相關(guān)性,又要盡快消除這種相關(guān)性,需要較大硬件資源支持,其實(shí)現(xiàn)具有較大難度。這個(gè)限制了通過拆分復(fù)雜操作指令從而提高處理器代碼密度增強(qiáng)指令集功能的能力。
以一個(gè)32位微處理器來說明處理器硬件資源和指令集功能之間的關(guān)系。該處理器總共有16個(gè)通用暫存器R0-R15,有算數(shù)運(yùn)算單元和存儲器讀寫單元等執(zhí)行單元,其中算數(shù)運(yùn)算單元每個(gè)周期只能完成一次加、減、乘、除、移位等原子操作,存儲器讀寫單元每周期只能完成一次存儲器讀或?qū)懺硬僮鳎總€(gè)執(zhí)行單元有2個(gè)暫存器讀端口。在這樣的硬件設(shè)計(jì)下,如果需要把暫存器Rk的數(shù)據(jù)存到以暫存器Ri和Rj數(shù)據(jù)和為地址的存儲區(qū)域,則需要兩條指令:先用“ADD?RiRj”指令把Ri和Rj數(shù)據(jù)相加,結(jié)果存到Ri中;再用store?Rk?Ri完成最終操作;同理,如果需要跳轉(zhuǎn)到兩個(gè)寄存器數(shù)據(jù)之和所指示的代碼區(qū)域,也需要兩條指令協(xié)作完成。
發(fā)明內(nèi)容
為了克服現(xiàn)有的微處理器在拆分有前后數(shù)據(jù)相關(guān)性的復(fù)雜操作指令時(shí)需要消耗大量硬件資源、限制了可拆分指令的范圍、限制了處理器性能的不足,本發(fā)明提供一種在拆分有前后數(shù)據(jù)相關(guān)性的復(fù)雜操作指令時(shí)有效減少占用硬件資源、擴(kuò)大其可拆分指令的范圍、提升處理器性能的基于隱式相關(guān)性和隱式旁路的微處理器指令拆分裝置。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
一種基于隱式相關(guān)性和隱式旁路的微處理器指令拆分裝置,所述微處理器指令拆分裝置包括:
需拆分指令檢測與拆分單元,用以判斷進(jìn)入該微處理器指令拆分裝置的已譯碼指令是否為需拆分指令,并將需拆分指令拆分為至少兩條原子指令;
已拆分指令處理單元,連接于需拆分指令拆分和檢測單元輸出端,用以接收來自該需拆分指令拆分單元將該需拆分指令拆分成的至少兩條原子指令,對這些原子指令構(gòu)造隱式相關(guān)性,并引入隱式旁路技術(shù),輸出已處理原子指令;
其他處理單元,連接于需拆分指令檢測和拆分單元的輸出端和已拆分指令處理單元的輸出端,用以接收被需拆分指令檢測與處理單元判斷為無需拆分的指令和已拆分指令處理單元最終生成的原子指令,并完成指令后續(xù)處理、執(zhí)行工作。
進(jìn)一步,該已拆分指令處理單元最終生成的原子指令在該微處理器中按照標(biāo)準(zhǔn)指令進(jìn)行處理。
優(yōu)選的,所述需拆分指令檢測與拆分單元中,由空閑與拆分兩種狀態(tài)進(jìn)行維護(hù),其中,無需拆分指令進(jìn)入該指令檢測與拆分單元時(shí),該指令檢測與拆分單元處于空閑態(tài),無拆分動作發(fā)生;需拆分指令進(jìn)入該指令檢測與拆分裝置時(shí),該指令檢測與拆分單元進(jìn)入拆分態(tài),將指令拆分成若干原子指令后返回空閑態(tài)。
再進(jìn)一步,所述已拆分指令處理單元包括:
構(gòu)造隱式相關(guān)性模塊,用以指示和維護(hù)該需拆分指令所拆分成若干個(gè)原子指令之間相關(guān)性,該構(gòu)造隱式相關(guān)性模塊與該微處理器中相關(guān)性維護(hù)模塊互相獨(dú)立;
隱式旁路模塊,負(fù)責(zé)數(shù)據(jù)的旁路,用以將該需拆分指令所拆分成若干個(gè)具有數(shù)據(jù)相關(guān)性的原子指令執(zhí)行結(jié)果進(jìn)行旁路,該隱式旁路模塊與該微處理器中顯式旁路模塊互相獨(dú)立。
更進(jìn)一步,該需拆分指令拆分為至少兩條已拆分原子指令,其中具有數(shù)據(jù)相關(guān)性的兩條已拆分原子指令定義為第一已拆分指令和第二已拆分指令,第二已拆分指令數(shù)據(jù)相關(guān)于第一已拆分指令,隱式旁路模塊對第一已拆分指令在微處理器中特定模塊中的指令序號進(jìn)行處理,使得第二已拆分指令旁路到第一已拆分指令數(shù)據(jù)之后,第一已拆分指令才可執(zhí)行結(jié)束。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州中天微系統(tǒng)有限公司,未經(jīng)杭州中天微系統(tǒng)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110346810.9/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





