新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Thumb指令集之: Thumb指令應用

        Thumb指令集之: Thumb指令應用

        作者: 時間:2013-09-30 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/257036.htm

        11.9Thumb指令應用

        11.9.1Thumb的實現

        對3級流水線的處理器來說,做相對較小的改動就可以實現(5級流水線的實現要復雜些)。為實現,在指令流水線中增加了Thumb指令解碼邏輯,該解碼邏輯將預取的Thumb指令轉換成等價的指令。圖11.66顯示了Thumb指令的擴展邏輯組織。

        從圖11.66可以看出,Thumb指令增加了(Decompressor)與串連,但這并不會增加指令的譯碼時間。在指令流水線譯碼周期的第一階段只做了很少的工作,因此可以把擴展邏輯安排在這里而不會影響周期時間或增加流水線延時。

        Thumb指令將16位的Thumb指令靜態地轉換為等價的32位指令。這主要包括主操作碼和次操作碼的查表轉換,3位寄存器指示符(specifier)零擴展成4位寄存器指示符,以及所需要的其他域的映射。

        例如,Thumb指令“ADDRd,#imm8”與對應的ARM指令“ADDRd,Rd,#8”的映射如圖11.67所示。

        圖11.66Thumb指令的擴展邏輯組織

        圖11.67Thumb指令到ARM指令的映射

        Thumb指令解碼邏輯實現Thumb指令到ARM指令映射時遵循以下規則:

        ①ARM指令的條件域(cond,bits[31:28])默認使用always。

        注意

        轉移指令除外,轉移指令是中惟一一個條件執行的指令。

        ②在Thumb指令操作碼中隱含地指定Thumb數據處理指令是否應該修改CPSR中的條件標志位,在ARM指令中要明確指定。

        ③通過重復寄存器指示符將Thumb指令的2地址指令格式轉換為ARM的3地址指令格式。

        Thumb指令的簡單性對Thumb指令集的效率是非常重要的。如果Thumb指令解碼擴展邏輯構成復雜、速度低并且功耗大,那么Thumb指令就沒有什么價值了。

        c++相關文章:c++教程



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 青海省| 台中县| 吴堡县| 东乌珠穆沁旗| 武宣县| 方城县| 马边| 浦城县| 甘泉县| 桦南县| 浦江县| 陆丰市| 康乐县| 永清县| 平罗县| 伊宁市| 开远市| 易门县| 青岛市| 华安县| 多伦县| 治多县| 仙桃市| 沧源| 屯昌县| 汾阳市| 永平县| 湖南省| 邵武市| 图片| 光山县| 桓仁| 漳浦县| 大埔区| 乌拉特后旗| 类乌齐县| 定兴县| 青岛市| 长乐市| 富民县| 青川县|