中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Cortex—M3的異常處理機(jī)制研究

        Cortex—M3的異常處理機(jī)制研究

        作者: 時(shí)間:2012-09-07 來(lái)源:網(wǎng)絡(luò) 收藏

        Cortex-M3異常返回的操作

          為了應(yīng)對(duì)異常返回階段可能遇到的新的更高優(yōu)先級(jí)異常,Cortex—M3支持完全基于硬件的尾鏈機(jī)制,簡(jiǎn)化了激活的和未決的異常之問(wèn)的移動(dòng),能夠在兩個(gè)異常之間沒(méi)有多余的狀態(tài)保存和恢復(fù)指令的情況下實(shí)現(xiàn)back—to—back處理。尾鏈發(fā)生的2個(gè)條件:異常返回時(shí)產(chǎn)生了新的異常;掛起的異常的優(yōu)先級(jí)比所有被壓棧的異常的優(yōu)先級(jí)都高。

          尾鏈發(fā)生后,Cortex—M3處理過(guò)程如圖3中尾鏈分支所示。這時(shí),Cortex—M3處理器終止正在進(jìn)行的出棧操作并跳過(guò)新異常進(jìn)入時(shí)的壓棧操作,同時(shí)通過(guò)Ibus立即取出掛起異常的向量。在退出前一個(gè)ISR返回操作6個(gè)周期后,開(kāi)始執(zhí)行尾鏈的ISR。

          3 Cortex—M3和7中斷控制器比較

          在過(guò)去的十年中,基于v4的7系列微控制器廣泛應(yīng)用在各個(gè)領(lǐng)域。在ARM7系列中,并沒(méi)有對(duì)中斷進(jìn)行獨(dú)立的服務(wù),而是通過(guò)犧牲處理器一定的性能來(lái)?yè)Q取有效的中斷響應(yīng)和中斷處理機(jī)制。Cortex—M3高度耦合的NVIC可以實(shí)現(xiàn)硬件中斷處理,同時(shí)支持遲到和尾鏈機(jī)制,加快了異常響應(yīng)的速度,充分發(fā)揮了處理器的性能。圖4為Corex—M3和ARM7在中斷控制器結(jié)構(gòu)方面的差異。

        Corex

          比較可知,NVIC是直接作為Cortex—M3處理器的一部分,集成在處理器核內(nèi)部;而VIC只是游離在ARM7內(nèi)核的外圍,這樣就必然占用內(nèi)核資源,影響了處理速度。Cortex—M3和ARM7中斷控制器在功能和實(shí)現(xiàn)方式上的差異如表2所列。

        Cortex

          3.1 處理器響應(yīng)單個(gè)異常

          Cortex一M3和ARM7異常處理過(guò)程如圖5所示。

        Cortex一M3和ARM7異常處理過(guò)程

          ARM7處理器的異常開(kāi)銷:

        公式

          其中,TARM7為ARM7處理異常的時(shí)間開(kāi)銷;TARM2_PUSH和TARM7_POP為ARM7進(jìn)行壓棧和出棧的操作時(shí)間;TCoretx-M3為Cortex一M3處理異常的時(shí)間開(kāi)銷;TM3_PUSH和TM3_POP為Cortex—M3進(jìn)行壓棧和出棧的操作時(shí)間。



        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉