亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        FPGA內(nèi)嵌PowerPC的中斷響應分析

        2012-06-13 11:32:24李乾坤張恕明尹達一
        微處理機 2012年4期
        關鍵詞:信息結構服務程序外設

        李乾坤,張恕明,尹達一

        (中國科學院上海技術物理研究所,上海200083)

        1 引言

        Xilinx公司 Virtex-ii Pro系列的 XC2VP40 FPGA內(nèi)嵌有PowerPC405核。開發(fā)者可以使用開發(fā)工具XPS在芯片內(nèi)部構建以PowerPC為核心的片上系統(tǒng)。除內(nèi)核外,時鐘、JTAG、定時器等模塊均可由FPGA內(nèi)的邏輯資源定制而成。

        PowerPC內(nèi)核支持外部中斷,并可通過中斷控制器進行擴展,XPS亦針對中斷控制部分提供了完整的驅(qū)動程序。由于中斷系統(tǒng)可以提高處理器的利用率,增強處理器的實時性,是微處理器系統(tǒng)的重要組成部分。因此,深入研究PowerPC的中斷系統(tǒng)對于更合理高效地使用PowerPC有著十分重要的意義。

        下面就針對PowerPC中斷系統(tǒng)展開討論。

        2 PowerPC異常處理

        2.1 PowerPC的異常與中斷

        首先對兩個名詞進行一下說明:

        異常:處理器檢測到的不可預測的錯誤事件。

        中斷:處理器檢測到異常時自動啟動的處理過程。

        PowerPC支持16種異常處理,對應16種中斷源。其中Critical Input與External兩種中斷源來自外部輸入,也稱之為外部中斷。

        2.2 外部中斷優(yōu)先級

        Critical Input中斷優(yōu)先級要高于External中斷,當兩個中斷同時發(fā)生時,Critical Input中斷響應先于External中斷執(zhí)行。另外,PowerPC支持中斷嵌套,這意味著Critical Input中斷可以終止正在執(zhí)行的External中斷響應過程。

        2.3 外部中斷響應流程

        以Critical Input為例,PowerPC外部中斷響應流程如下:

        1)將中斷返回地址存入寄存器SRR2(External為SRR0)。

        2)將機器狀態(tài)寄存器MSR中的內(nèi)容存入寄存器 SRR3(External為 SRR1)。

        3)將新的機器狀態(tài)存入寄存器MSR。

        4)同步處理器上下文。

        5)轉入中斷服務程序。

        6)中斷服務程序結束,恢復寄存器MSR的狀態(tài)。

        7)處理器上下文同步。

        8)跳到SRR2(External為SRR0)中存的返回地址。中斷響應完畢。

        那么,處理器是怎樣找到中斷服務程序的?

        首先解釋一下中斷矢量表這個概念。為使異常得到相應中斷服務程序的處理,需要首先建立中斷矢量表。中斷矢量表中每隔一段地址會存放一段代碼,分別對應不同的異常。

        當發(fā)生異常時,系統(tǒng)會通過中斷矢量表的基址以及相應的偏移量找到對應的代碼,進而找到中斷服務程序。其中,中斷矢量表的基址存儲在寄存器EVPR中。由于中斷矢量表中各代碼段存儲容量的限制(大部分為256Byte),中斷矢量表往往不直接存儲中斷服務程序,而是存儲指向中斷服務程序的指針。PowerPC異常處理詳細流程如圖1所示。

        圖1 PowerPC異常處理流程圖

        3 PowerPC外設簡介

        3.1 中斷控制器

        Power PC提供了兩個外部中斷入口,這在有較多中斷輸入的情況下是不能滿足需求的。為了解決這個問題,可以使用中斷控制器。

        每個中斷控制器有32個中斷源輸入接口,1個中斷信號輸出接口。當一個或多個輸入端有中斷輸入時,輸出端輸出中斷信號。

        中斷控制器中包含一個32位寄存器,其每一位對應一個中斷輸入端。當有中斷輸入時,對應的標志位便被置1。中斷響應過程中,從低位到高位對寄存器中的標志位進行查詢,從而判斷中斷來源。因此,對應標志位的位置決定了中斷響應優(yōu)先級。

        使用XPS的BSB構建系統(tǒng)時,即使只有一個中斷源,一般也會包括中斷控制器,用以連接外設與處理器內(nèi)核。

        3.2 Timer模塊

        一個Timer模塊包括兩個Timer,可以實現(xiàn)三種模式:Capture mode,Generate mode 及 PWM mode。

        其中兩個Timer可以分別配置成Capture mode與Generate mode同時工作,對應不同的脈沖輸出。兩個Timer合作可以實現(xiàn)PWM mode,對應單一的PWM輸出。

        Timer模塊支持中斷輸出,但兩個Timer共用一個中斷輸出端口。

        4 PowerPC中斷響應過程分析

        4.1 構建中斷系統(tǒng)

        為了對中斷響應過程進行分析,構建如圖2所示系統(tǒng)。該系統(tǒng)主要由PowerPC內(nèi)核,中斷控制器,Timer,RS232模塊,時鐘模塊(該模塊未在圖中顯示)等組成。各模塊均連接PLB總線。其中時鐘模塊提供80MHz時鐘輸入,Timer與RS232的中斷輸出端接到中斷控制器的不同輸入端,中斷控制器的輸出接到處理器的External Input端。

        圖2 中斷測試系統(tǒng)框圖(未包含時鐘模塊)

        4.2 中斷服務程序詳解

        XPS為中斷系統(tǒng)提供了完整的中斷服務程序。

        4.2.1 外設的信息結構體

        在介紹中斷服務程序之前,先解釋一下外設的信息結構體。XPS提供的代碼為每個外設(包括中斷控制器)都建立了一個結構體。結構體中包含了該外設的ID,基址,狀態(tài),中斷服務程序入口,中斷服務參數(shù)等信息。當需要對某個外設進行操作時,首先會找到其對應的結構體,然后讀取外設信息,進而對其進行操作。

        而對于中斷控制器,其與一般外設又有一定的區(qū)別,其結構體中不是包括單獨的中斷服務程序入口與參數(shù),而是包括一個中斷服務及參數(shù)的列表。列表的長度為32,即每列對應一個輸入端。

        處理器通過中斷矢量表進入中斷服務程序后,會首先根據(jù)系統(tǒng)自動傳入的參數(shù)ID找到對應中斷控制器的信息結構體,然后查詢中斷控制器的輸入,通過結構體內(nèi)的中斷服務列表找到對應的中斷服務子程序。

        在對Timer進行操作前,亦需先找到其對應的信息結構體。每個Timer有一個中斷輸出,但一個Timer包括兩個計數(shù)器。因此,必須首先判斷中斷由哪個計數(shù)器引起,然后再調(diào)用相應的子程序。

        4.2.2 中斷服務流程

        有了以上知識,來看一下XPS提供的中斷服務程序流程是怎樣的。如圖3所示,在中斷服務函數(shù)中,程序首先找到中斷控制器的信息結構體,然后判斷中斷來源(這里為 Timer)以調(diào)用對應的函數(shù)(Timer中斷服務函數(shù)),然后清除中斷控制器輸出。在Timer中斷服務函數(shù)中,首先找到Timer模塊的信息結構體,然后判斷中斷由哪個Timer引發(fā),將結果傳入子函數(shù),在子函數(shù)中實現(xiàn)相關操作。子函數(shù)返回后,清除timer中斷輸出。

        圖3 XPS提供的中斷服務流程

        4.3 測量

        下面對中斷響應過程的時間參數(shù)進行測量。

        4.3.1 需要測量的參數(shù)

        定義T1,T2,T3三個參數(shù),它們的意義如下:

        T1:一次中斷響應過程的總時間。即從外設發(fā)出中斷信號到中斷響應結束的時間。

        T2:由Timer模塊發(fā)出中斷申請到執(zhí)行自定義操作需要的時間。注意,這里的自定義操作為清Timer中斷,位于圖3所示的自定義函數(shù)中。這樣會導致響應一次中斷響應過程中兩次清Timer中斷,不過這并不影響測量結果。

        T3:中斷控制器的延遲時間。即Timer模塊發(fā)出中斷申請到中斷控制器發(fā)出中斷申請的時間間隔。

        4.3.2 測量方法

        1)上位機通過RS232向PowerPC發(fā)出指令,啟動Timer模塊(只使用其中一個Timer),Timer設定為generate mode,每兩個時鐘周期產(chǎn)生一次中斷。這樣可以保證每次中斷響應結束之前產(chǎn)生下次中斷的觸發(fā)脈沖,使系統(tǒng)每處理完一次中斷后立刻進入下一次中斷的響應。這時Timer模塊中斷信號的周期即等效于系統(tǒng)一次中斷響應過程的周期T1。上面已經(jīng)提到,每一次中斷響應過程中會有兩次清中斷的操作,因此一個周期中會產(chǎn)生兩次中斷信號的變化,但不會影響測量結果。

        2)Timer保持generate mode不變,但調(diào)整其中斷發(fā)生周期,使其遠大于中斷響應過程的總時間(依據(jù)上一步測得的結果),以保證產(chǎn)生下次中斷信號時,上次中斷服務已經(jīng)結束。測量Timer模塊中斷發(fā)生到被清除的時間,即為中斷發(fā)生到執(zhí)行自定義操作的時間T2。同時可測到T3。

        4.3.3 測量工具

        使用Tektronix公司TDS3014B示波器進行測量。

        4.3.4 測量結果

        T1:24.40μs。約為1952個時鐘周期。

        T2:10.36μs。約為829個時鐘周期。

        T3:41.00 -41.50ns。約為 3.3 個時鐘周期。

        5 提高中斷效率的研究

        5.1 保持原硬件系統(tǒng)不變

        通過分析PowerPC異常處理流程及中斷服務函數(shù)可以發(fā)現(xiàn),能夠進行修改的過程只有中斷服務函數(shù)部分。根據(jù)之前的分析,執(zhí)行一次中斷服務函數(shù)會發(fā)生兩次函數(shù)調(diào)用以及數(shù)次對外設信息結構體的查找與讀取。這樣的優(yōu)點是代碼移植性強且安全性好。但在對外設信息完全掌握的前提下,可以不通過信息結構體而直接對外設進行操作,亦可以不通過函數(shù)調(diào)用而是直接編寫代碼。簡化后的中斷服務函數(shù)流程如圖4所示。

        此時測得的各參數(shù)如下:

        T1:14.72 -14.73μs。約為1178 個時鐘周期。

        T2:6.588μs。約為527個時鐘周期。

        T3:41.00 -41.40ns。約為 3.3 個時鐘周期。

        通過對比數(shù)據(jù)可以發(fā)現(xiàn),T1縮短為原來的60.35%,T2縮短為原來的 63.57%。

        圖4 簡化后的中斷服務函數(shù)流程圖

        5.2 簡化硬件系統(tǒng)

        在以上的系統(tǒng)中,Timer中斷通過中斷控制器連接到PowerPC的External Input端口,這樣的結果是在中斷服務程序中需要增加對中斷控制器的操作代碼,而且使用中斷控制器會使External Input端口接收到中斷信號的時間有一定的延時(即T3)。在中斷數(shù)量不大于2的情況下,完全可以不使用中斷控制器,而是將外設的中斷信號直接接到PowerPC的兩個異常輸入端。

        現(xiàn)在,對系統(tǒng)做如下修改,將中斷控制器從系統(tǒng)移除,將Timer模塊中斷輸出端接到PowerPC External Input端口,將RS232中斷輸出端接到PowerPC Critical端口。修改后的系統(tǒng)結構如圖5所示。

        此時只需要在中斷處理程序中執(zhí)行自定義操作(清Timer中斷)及清除Timer中斷輸出命令。中斷服務程序得到了進一步簡化。

        測得各參數(shù)如下:

        1)T1:11.59μs。約為927個時鐘周期。

        2)T2:5.45μs。約為436個時鐘周期。

        可以看出,中斷響應效率進一步提高。此時T1為原來的47.49%,T2為52.59%。

        圖5 修改后的系統(tǒng)結構框圖

        6 結束語

        本研究對FPGA內(nèi)嵌PowerPC中斷系統(tǒng)的原理進行了深入的分析,對中斷響應時間進行了實測,并通過簡化設計提高了中斷響應速度,可以作為需要設計快速響應系統(tǒng)的參考。

        [1]張春生,常青,肖山竹.基于PowerPC405的SOPC簡單應用[J].微處理機,2007(6):117-120.

        [2]買培培,蘇濤,張曉曦.基于PowerPC的控制器研究與設計[J].船舶電子對抗,2009,32(5):102-106.

        猜你喜歡
        信息結構服務程序外設
        基于移動終端的人事信息員工自助服務系統(tǒng)設計
        基于C#的進程守護程序的設計
        視聽(2020年3期)2020-06-11 14:28:18
        對外漢語教材編寫中信息結構知識的應用
        基于調(diào)節(jié)聚焦理論的生物農(nóng)藥推廣有效性研究
        事件結構、信息結構與句法表征*——領主屬賓句的認知語法分析
        外語學刊(2016年4期)2016-01-23 02:34:09
        水利工程施工監(jiān)理服務程序及質(zhì)量控制
        Microchip推出具備雙ADC外設的全新器件,擴展其低成本8位PIC?單片機產(chǎn)品線
        信息結構與句法異位
        當代修辭學(2014年3期)2014-01-21 02:30:46
        貼身呵護 必不可少的PSP外設
        外設天地行情
        无人区一码二码三码四码区 | 精品一区二区三区在线视频观看| 亚洲国产日韩精品综合| 老岳肥屁熟女四五十路| 精品日韩一级免费视频| 国产偷国产偷精品高清尤物| 人妻少妇精品中文字幕av蜜桃| 亚洲Va中文字幕久久无码一区| 亚洲精品2区在线观看| 日本亚洲欧美在线观看| 91精品在线免费| 日本在线综合一区二区| 国产精品国产高清国产专区| 少妇被粗大的猛烈进出免费视频 | 国产少妇一区二区三区| 久久亚洲中文字幕精品二区| 国产一区二区三区小说| 中文字幕一区二区人妻性色| 国产AV无码一区精品天堂| 亚洲av精品一区二区三| 国产av剧情久久精品久久| 精品国品一二三产品区别在线观看 | 2021年国产精品每日更新| 国产一区二区精品av| 国产免费一区二区在线视频| 欧美不卡一区二区三区| 日日噜噜噜夜夜爽爽狠狠| 亚洲AV无码日韩综合欧亚 | 中文字幕在线乱码av| 日韩日韩日韩日韩日韩| 在线观看国产成人av片| 亚州五十路伊人网| va精品人妻一区二区三区| 久久久久亚洲av无码专区首| 成人激情五月天| 动漫av纯肉无码av在线播放| 91国内偷拍精品对白| 2018天天躁夜夜躁狠狠躁| 不卡高清av手机在线观看| 国产视频嗯啊啊啊| 久久人妻少妇嫩草av蜜桃|