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在多段調速系統中的應用
主站蜘蛛池模板: 国产乱子伦精品视频| 国产精品成人AⅤ在线一二三四| 精品国产免费观看| 天堂成人av| 精品国产Av电影无码久久久| 亚洲最大看欧美片网站地址| 色婷婷电影网| av尤物免费在线观看| 综合色在线| 丝袜亚洲综合| 国产成人成人一区二区| 久久香蕉国产线看观看精品蕉| 最新无码专区超级碰碰碰| 国产欧美日韩资源在线观看| 午夜免费视频网站| 精品福利视频网| 狠狠干综合| 天堂av综合网| 欧美一区二区三区香蕉视| 亚洲IV视频免费在线光看| 99视频国产精品| 精品夜恋影院亚洲欧洲| 六月婷婷激情综合| 亚洲午夜片| 日韩在线视频网| 国产18页| 久一在线视频| 国产成人精品午夜视频'| h视频在线播放| 不卡的在线视频免费观看| 伊人久久婷婷五月综合97色 | 国产欧美视频综合二区 | 色婷婷天天综合在线| 色悠久久综合| 2020精品极品国产色在线观看| 白浆免费视频国产精品视频| 99久久精品美女高潮喷水| 免费看美女自慰的网站| 国产成人在线无码免费视频| 国产精品黄色片| 国产精品爽爽va在线无码观看| 久久熟女AV| 91在线播放国产| 国产一区自拍视频| 亚洲国产天堂久久综合| 日本黄色a视频| 久久精品无码国产一区二区三区| 国产精品蜜臀| 福利姬国产精品一区在线| 亚洲国产天堂久久综合| 色一情一乱一伦一区二区三区小说 | a色毛片免费视频| 色男人的天堂久久综合| 亚洲欧洲美色一区二区三区| 欧美一级片在线| 狠狠做深爱婷婷久久一区| 国产成人欧美| 午夜精品福利影院| 国产日本一线在线观看免费| 国产精品成人久久| 日韩免费毛片| 成人福利在线看| 米奇精品一区二区三区| 国产亚洲欧美日韩在线观看一区二区| 成年人免费国产视频| 久久精品丝袜| 亚洲色图欧美一区| 中文字幕佐山爱一区二区免费| 国产精品毛片一区| 在线国产三级| 狠狠亚洲婷婷综合色香| 凹凸精品免费精品视频| 毛片免费在线视频| 18黑白丝水手服自慰喷水网站| 91视频区| 久久国产乱子伦视频无卡顿| 欧美日韩亚洲国产主播第一区| 在线一级毛片| 久久精品丝袜高跟鞋| 中文字幕永久视频| 91福利片| 国产精品蜜臀|