999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

FPGA內嵌PowerPC的中斷響應分析

2012-06-13 11:32:24李乾坤張恕明尹達一
微處理機 2012年4期
關鍵詞:系統

李乾坤,張恕明,尹達一

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

1 引言

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

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

下面就針對PowerPC中斷系統展開討論。

2 PowerPC異常處理

2.1 PowerPC的異常與中斷

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

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

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

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

2.2 外部中斷優先級

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

2.3 外部中斷響應流程

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

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

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

3)將新的機器狀態存入寄存器MSR。

4)同步處理器上下文。

5)轉入中斷服務程序。

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

7)處理器上下文同步。

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

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

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

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

圖1 PowerPC異常處理流程圖

3 PowerPC外設簡介

3.1 中斷控制器

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

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

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

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

3.2 Timer模塊

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

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

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

4 PowerPC中斷響應過程分析

4.1 構建中斷系統

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

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

4.2 中斷服務程序詳解

XPS為中斷系統提供了完整的中斷服務程序。

4.2.1 外設的信息結構體

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

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

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

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

4.2.2 中斷服務流程

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

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

4.3 測量

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

4.3.1 需要測量的參數

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

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

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

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

4.3.2 測量方法

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

2)Timer保持generate mode不變,但調整其中斷發生周期,使其遠大于中斷響應過程的總時間(依據上一步測得的結果),以保證產生下次中斷信號時,上次中斷服務已經結束。測量Timer模塊中斷發生到被清除的時間,即為中斷發生到執行自定義操作的時間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 保持原硬件系統不變

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

此時測得的各參數如下:

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

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

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

通過對比數據可以發現,T1縮短為原來的60.35%,T2縮短為原來的 63.57%。

圖4 簡化后的中斷服務函數流程圖

5.2 簡化硬件系統

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

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

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

測得各參數如下:

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

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

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

圖5 修改后的系統結構框圖

6 結束語

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

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

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

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 在线一级毛片| 国产一二视频| 久久久久88色偷偷| 5388国产亚洲欧美在线观看| 久草国产在线观看| 亚洲美女高潮久久久久久久| 欧美丝袜高跟鞋一区二区| 亚洲精品大秀视频| 欧美综合激情| 久久国产毛片| 国产成人乱码一区二区三区在线| 欧美啪啪网| 国产欧美日韩另类| 精品亚洲麻豆1区2区3区| 日本AⅤ精品一区二区三区日| 国产乱子伦手机在线| 国产精品私拍99pans大尺度| 国产女主播一区| 国产在线自揄拍揄视频网站| 亚洲第一黄片大全| 中文字幕伦视频| 内射人妻无码色AV天堂| 偷拍久久网| 性做久久久久久久免费看| 精品福利国产| 五月天在线网站| 老司机午夜精品视频你懂的| 国产精品林美惠子在线观看| 国产精品久久久久久影院| 久久精品视频亚洲| 国产另类乱子伦精品免费女| 最新亚洲av女人的天堂| 国产91在线免费视频| 日韩无码精品人妻| 国产精品极品美女自在线网站| 成人中文在线| 香蕉视频在线观看www| 在线国产资源| 欧美国产菊爆免费观看| 日本三区视频| 国产在线观看一区二区三区| 欧美一区二区三区香蕉视| 欧美国产综合色视频| 久久不卡国产精品无码| 色窝窝免费一区二区三区| 色吊丝av中文字幕| 亚洲国模精品一区| 国产福利免费视频| 日韩欧美中文在线| 亚洲精品男人天堂| 日本在线免费网站| 成人a免费α片在线视频网站| 亚洲福利一区二区三区| 亚洲精品无码久久毛片波多野吉| 日本精品视频一区二区| 干中文字幕| 伊人婷婷色香五月综合缴缴情| 青青热久免费精品视频6| 就去色综合| 亚洲无码精彩视频在线观看| 毛片在线播放网址| 国产特级毛片aaaaaaa高清| 伊人成人在线| 日本精品αv中文字幕| 国产精品网址你懂的| 在线观看国产精美视频| 制服丝袜 91视频| 国产亚洲男人的天堂在线观看 | 找国产毛片看| 欧美特级AAAAAA视频免费观看| 日本免费福利视频| 欧美一区精品| 日韩欧美高清视频| 国产在线拍偷自揄拍精品| 欧美 国产 人人视频| 国产啪在线91| 国产日本欧美在线观看| 国产亚洲成AⅤ人片在线观看| 国产91丝袜| 久久伊人色| 毛片大全免费观看| 国产精品亚洲а∨天堂免下载|