新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM·微處理器的編程模型

        ARM·微處理器的編程模型

        作者: 時間:2016-11-24 來源:網絡 收藏
        2)程序狀態寄存器(CPSR)

        ·mode:表示處理器的工作狀態
        ·T:0,ARM state;1,Thumb state ;
        ·interrupt disable bits
        I=1:Disables the IRQ
        F=1:Disable the FIO
        ·condition code flags
        N = Negative result from ALU (非零)
        Z = Zero result from ALU (結果是零)
        C = ALU operation Carried out (進位)
        V = ALU operation Overflowed (溢出)
        v5,v6的
        Q:dsp擴展單元
        J:java加速器
        (處理器用于存儲數據方式有兩種,分為大字節序和小字節序
        大字節序:高字節在低位,低字節在高位
        小字節序:高字節在高位,低字節在低位
        *老版本只支持小字字節,現在都支持,linux網絡編程采用大字節序)
        【ARM所支持的異常】
        (只要正常的程序流被暫時中止,處理器將進入異常模式。在處理異常之前,ARM9內核保存的當前的處理器狀態(CPSR->SPSR),這樣當處理器結束時可以恢復執行原來的程序(SPSR->CPSR))

        Reset:復位中斷 ;
        Undefineed Instruction :未定義指令;
        Software Interrupt:軟件中斷
        Prefetch Abort:預取指令中止 ;
        Date Abort :數據中止 ;
        IRQ:外部中斷 ;
        FIQ:快速中斷請求 ;
        【異常的響應】
        1)進入異常:
        *LR中保存當前執行指令的下一條指令的地址:LR=PC-4
        *CPSR->SPSR (保留狀態)
        *CPSR->與異常類型相對應的狀態
        *PC從相關異常向量處取址
        *跳轉,執行命令
        2)從異常返回
        *SPSR->CPSR
        *LR寄存值減去一個偏移量后復制到PC寄存器,跳轉被中斷的用戶程序



        (這里,結合ARM7的3級流水線處理結構可以詳細的思考一下,但是為什么第一步不把PC-8保存在R14里面?)
        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 社旗县| 大兴区| 合江县| 灵石县| 阿鲁科尔沁旗| 龙胜| 涡阳县| 定日县| 宁城县| 大足县| 资阳市| 石柱| 阿克苏市| 四平市| 静乐县| 鹿泉市| 土默特左旗| 池州市| 清河县| 和顺县| 广河县| 南岸区| 金湖县| 隆尧县| 南川市| 南开区| 营山县| 彭泽县| 金沙县| 安阳县| 莫力| 张家港市| 兴仁县| 溧阳市| 米易县| 玛沁县| 托里县| 廊坊市| 正定县| 北票市| 义乌市|