專利名稱:中斷輔助處理裝置、實(shí)時(shí)系統(tǒng)及中斷處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及處理器對(duì)外設(shè)的中斷處理技木,特別涉及到ー種中斷輔助處理裝置、實(shí)時(shí)系統(tǒng)及中斷輔助處理方法。
背景技術(shù):
在通常的實(shí)時(shí)系統(tǒng)中,通常都會(huì)包括處理器和外設(shè)(如,輸入、輸出裝置、硬件加速器等);外設(shè)和處理器之間經(jīng)常采用中斷的方式來(lái)實(shí)現(xiàn)處理器對(duì)外設(shè)的調(diào)度?,F(xiàn)有技術(shù)通常的外設(shè)中斷處理方法是I、外設(shè)觸發(fā)中斷; 2、處理器接收外設(shè)中斷;3、處理器調(diào)用該外設(shè)中斷的中斷服務(wù)例程進(jìn)行處理;在中斷服務(wù)例程中,處理器可能會(huì)從觸發(fā)中斷的外設(shè)讀取信息;還可能發(fā)送控制信息給該外設(shè)和/或其他外設(shè)。在一般的實(shí)時(shí)系統(tǒng)中,有一些任務(wù)需要由多個(gè)外設(shè)共同完成;如圖I所示,在這種連續(xù)任務(wù)中,處理器首先啟動(dòng)第一個(gè)外設(shè)執(zhí)行任務(wù),第一個(gè)外設(shè)執(zhí)行任務(wù)完成后,會(huì)產(chǎn)生中斷通知處理器,處理器響應(yīng)該中斷,啟動(dòng)第二個(gè)外設(shè)執(zhí)行任務(wù);第二個(gè)外設(shè)執(zhí)行任務(wù)完成后,也會(huì)產(chǎn)生中斷通知處理器,處理器響應(yīng)該中斷,再啟動(dòng)第三個(gè)外設(shè)執(zhí)行任務(wù);以此類推,直到最后ー個(gè)外設(shè)完成任務(wù)產(chǎn)生中斷,處理器響應(yīng)該中斷,對(duì)最后的結(jié)果進(jìn)行處理。例如,在長(zhǎng)期演進(jìn)(簡(jiǎn)稱,LTE)基帶芯片的數(shù)據(jù)處理流程中,從終端接收天線接收信號(hào)開(kāi)始一直到CRC校驗(yàn),數(shù)據(jù)處理流程需經(jīng)過(guò)以下連續(xù)處理步驟天線接收,傅立葉變化(簡(jiǎn)稱,F(xiàn)FT)變換,數(shù)據(jù)緩存,信道估計(jì),信號(hào)檢測(cè),解調(diào),混合自動(dòng)重傳(簡(jiǎn)稱,HARQ),TURBO譯碼,循環(huán)冗余校驗(yàn)(簡(jiǎn)稱,CRC校驗(yàn)),最后將CRC校驗(yàn)后的數(shù)據(jù)存入雙倍速率存儲(chǔ)器(簡(jiǎn)稱,DDR)中,而這些工作都是由相應(yīng)的外設(shè)來(lái)完成。在此過(guò)程中,處理器需首先配置天線收發(fā)(簡(jiǎn)稱,TxRx)模塊接收數(shù)據(jù),等待接收到TxRx模塊完成中斷后;處理器在配置FFT模塊啟動(dòng),進(jìn)行FFT變換并將數(shù)據(jù)緩存,待收到FFT模塊完成中斷后;處理器讀取FFT模塊緩存的數(shù)據(jù)進(jìn)行處理,配置信道估計(jì)模塊啟動(dòng),進(jìn)行信道估計(jì),待收到信道估計(jì)模塊完成中斷后;處理器讀取信道估計(jì)模塊數(shù)據(jù)進(jìn)行處理,配置信號(hào)檢測(cè)模塊啟動(dòng),根據(jù)信道估計(jì)得的信道矩陣H進(jìn)行信號(hào)檢測(cè),待處理器接收到信號(hào)檢測(cè)模塊完成中斷后;處理器讀取信號(hào)檢測(cè)模塊數(shù)據(jù)進(jìn)行處理,配置解調(diào)模塊啟動(dòng),對(duì)檢測(cè)后的數(shù)據(jù)進(jìn)行解調(diào),待處理器接收到解調(diào)完成中斷后;處理器配置HARQ模塊啟動(dòng),待收到HARQ模塊完成信號(hào)后;配置TURBO模塊啟動(dòng),進(jìn)行TURBO譯碼,待處理器收到TURBO模塊譯碼完成中斷后;處理器配置CRC校驗(yàn)?zāi)K啟動(dòng),進(jìn)行CRC校驗(yàn),并將數(shù)據(jù)存儲(chǔ)于DDR中,待處理器收到CRC模塊校驗(yàn)完成中斷后,讀取處理結(jié)果,并對(duì)結(jié)果進(jìn)行操作。在這種連續(xù)任務(wù)的執(zhí)行過(guò)程中,每個(gè)外設(shè)執(zhí)行完成時(shí),都會(huì)產(chǎn)生中斷通知處理器,由處理器響應(yīng)中斷處理,并配置啟動(dòng)下ー個(gè)外設(shè);而實(shí)際上,處理器在響應(yīng)連續(xù)任務(wù)的中間過(guò)程產(chǎn)生的有些中斷時(shí),僅需要配置啟動(dòng)下一個(gè)外設(shè),并不需要對(duì)中間結(jié)果進(jìn)行處理。由于在實(shí)時(shí)系統(tǒng)的任務(wù)調(diào)度中,中斷的任務(wù)優(yōu)先級(jí)高于一般任務(wù),處理器在接收到外設(shè)觸發(fā)的中斷請(qǐng)求時(shí),會(huì)中止當(dāng)前執(zhí)行的一般任務(wù),調(diào)用對(duì)應(yīng)的中斷服務(wù)例程來(lái)響應(yīng)外設(shè)的中斷請(qǐng)求。因此,這種頻繁的中斷會(huì)消耗大量的處理器資源,降低系統(tǒng)的執(zhí)行效率。特別是如果處理器執(zhí)行的任務(wù)對(duì)實(shí)時(shí)性要求較高時(shí),頻繁的中斷可能會(huì)使得任務(wù)的實(shí)時(shí)性達(dá)不到要求,從而造成不可預(yù)知的干擾和錯(cuò)誤。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提出了中斷輔助處理裝置、實(shí)時(shí)系統(tǒng)及中斷處理方法,以減少實(shí)時(shí)系統(tǒng)處理器響應(yīng)外設(shè)中斷的次數(shù),提高系統(tǒng)效率。本發(fā)明的技術(shù)方案包括ー種中斷輔助處理裝置,包括觸發(fā)控制模塊,接收外設(shè)中斷,獲取外設(shè)中斷對(duì)應(yīng)的中斷服務(wù)例程存儲(chǔ)位置并發(fā) 送到指令解析模塊;指令解析模塊,根據(jù)所述中斷服務(wù)例程存儲(chǔ)位置從指令存儲(chǔ)模塊讀取中斷服務(wù)例程代碼并解析;指令存儲(chǔ)模塊,保存中斷輔助處理裝置處理的各外設(shè)中斷的中斷服務(wù)例程;指令執(zhí)行模塊,從指令解析模塊獲取解析后的中斷服務(wù)例程代碼;執(zhí)行解析后的中斷服務(wù)例程代碼;通過(guò)外設(shè)接ロ模塊讀取外設(shè)的中斷信息;發(fā)送控制信息到外設(shè)接ロ模塊;產(chǎn)生中斷輔助處理裝置中斷及中斷輔助處理裝置中斷信息通過(guò)處理器接ロ模塊發(fā)送到處理器;處理器接ロ模塊,中斷輔助處理裝置與處理器之間的數(shù)據(jù)交互接ロ ;外設(shè)接ロ模塊,中斷輔助處理裝置和外設(shè)之間的信息交互接ロ。優(yōu)選的,所述觸發(fā)控制模塊進(jìn)一歩包括中斷存儲(chǔ)單元,接收并存儲(chǔ)外設(shè)中斷;存儲(chǔ)位置獲取單元,從中斷存儲(chǔ)單元讀取外設(shè)中斷,根據(jù)該外設(shè)中斷的中斷號(hào)獲取該外設(shè)中斷對(duì)應(yīng)的中斷服務(wù)例程存儲(chǔ)位置并發(fā)送給所述指令解析模塊;優(yōu)選的,所述中斷存儲(chǔ)單元按優(yōu)先級(jí)從高到低的順序存儲(chǔ)外設(shè)中斷,所述存儲(chǔ)位置獲取單元按外設(shè)中斷在中斷存儲(chǔ)單元中的存儲(chǔ)順序依次讀取外設(shè)中斷。優(yōu)選的,所述中斷存儲(chǔ)單元包括多個(gè)中斷存儲(chǔ)區(qū),ー個(gè)中斷存儲(chǔ)區(qū)存儲(chǔ)屬于同一個(gè)優(yōu)先級(jí)的外設(shè)中斷;優(yōu)選的,所述中斷存儲(chǔ)單元以鏈表形式按優(yōu)先級(jí)從高到低的順序存儲(chǔ)外設(shè)中斷。優(yōu)選的,所述中斷存儲(chǔ)單元存儲(chǔ)相同優(yōu)先級(jí)的外設(shè)中斷時(shí),按外設(shè)中斷的接收時(shí)間順序存儲(chǔ)。優(yōu)選的,所述中斷存儲(chǔ)單元按外設(shè)中斷的接收時(shí)間順序依次存儲(chǔ)各外設(shè)中斷;所述存儲(chǔ)位置獲取單元按外設(shè)中斷在中斷存儲(chǔ)單元中的存儲(chǔ)順序依次讀取外設(shè)中斷。優(yōu)選的,所述中斷存儲(chǔ)單元存儲(chǔ)接收時(shí)間相同的外設(shè)中斷時(shí),按外設(shè)中斷的優(yōu)先級(jí)從聞到低順序存儲(chǔ)。優(yōu)選的,所述指令存儲(chǔ)模塊包括多個(gè)指令存儲(chǔ)區(qū),ー個(gè)指令存儲(chǔ)區(qū)存儲(chǔ)ー個(gè)中斷服務(wù)例程;所述存儲(chǔ)位置為中斷服務(wù)例程存儲(chǔ)的指令存儲(chǔ)區(qū)序號(hào)或首地址。
優(yōu)選的,所述指令存儲(chǔ)模塊根據(jù)各中斷服務(wù)例程代碼長(zhǎng)度為各中斷服務(wù)例程動(dòng)態(tài)分配存儲(chǔ)空間;所述存儲(chǔ)位置為中斷服務(wù)例程存儲(chǔ)空間的首地址。 優(yōu)選的,所述指令存儲(chǔ)模塊通過(guò)所述處理器接ロ模塊從處理器接收中斷服務(wù)例程并存儲(chǔ);所述觸發(fā)控制模塊通過(guò)所述處理器接ロ模塊從處理器接收并保存各外設(shè)中斷的中斷服務(wù)例程代碼存儲(chǔ)位置?!N實(shí)時(shí)系統(tǒng),包括處理器和多個(gè)外設(shè),還包括上述的任意ー項(xiàng)中斷輔助處理裝置。優(yōu)選的,所述實(shí)時(shí)系統(tǒng)進(jìn)ー步包括 所述外設(shè)的中斷輸出端在所述處理器的控制下選擇連接到所述中斷輔助處理裝置或處理器。優(yōu)選的,所述實(shí)時(shí)系統(tǒng)進(jìn)ー步包括所述處理器發(fā)送外設(shè)中斷的中斷服務(wù)例程代碼和存儲(chǔ)位置到所述中斷輔助處理裝置。ー種中斷處理方法,包括I、中斷輔助處理裝置響應(yīng)接收到的外設(shè)中斷,執(zhí)行該外設(shè)中斷的中斷服務(wù)例程;2、如果有需要處理器處理的任務(wù),中斷輔助處理裝置觸發(fā)中斷輔助處理裝置中斷發(fā)送給處理器;3、處理器響應(yīng)中斷輔助處理裝置中斷,執(zhí)行中斷輔助處理裝置中斷的中斷服務(wù)例程,處理任務(wù)。優(yōu)選的,所述中斷輔助處理裝置響應(yīng)外設(shè)中斷進(jìn)ー步包括中斷輔助處理裝置按優(yōu)先級(jí)從高到低的順序響應(yīng)接收到的外設(shè)中斷。優(yōu)選的,所述中斷輔助處理裝置響應(yīng)外設(shè)中斷進(jìn)ー步包括對(duì)接收到的優(yōu)先級(jí)相同的外設(shè)中斷,中斷輔助處理裝置按外設(shè)中斷的接收時(shí)間順序依次響應(yīng)。優(yōu)選的,所述中斷輔助處理裝置響應(yīng)外設(shè)中斷進(jìn)ー步包括中斷輔助處理裝置按外設(shè)中斷的接收時(shí)間順序響應(yīng)各接收到的外設(shè)中斷。優(yōu)選的,所述中斷輔助處理裝置響應(yīng)外設(shè)中斷進(jìn)ー步包括對(duì)接收時(shí)間相同的外設(shè)中斷,中斷輔助處理裝置按優(yōu)先級(jí)從高到低的順序執(zhí)行依次響應(yīng)。優(yōu)選的,所述方法進(jìn)ー步包括處理器將外設(shè)中斷的中斷服務(wù)例程和中斷服務(wù)例程存儲(chǔ)位置發(fā)送到所述中斷輔助處理裝置保存。優(yōu)選的,所述方法進(jìn)ー步包括處理器控制選擇各外設(shè)中斷輸出到中斷輔助處理裝置或處理器。
圖I是現(xiàn)有技術(shù)連續(xù)任務(wù)中斷處理流程2是本發(fā)明中斷輔助處理裝置優(yōu)選實(shí)施方式結(jié)構(gòu)圖
圖3是本發(fā)明觸發(fā)控制模塊優(yōu)選實(shí)現(xiàn)方案結(jié)構(gòu)4是本發(fā)明中斷存儲(chǔ)單元一種優(yōu)選實(shí)現(xiàn)方案結(jié)構(gòu)5是本發(fā)明中斷存儲(chǔ)單元又一種優(yōu)選實(shí)現(xiàn)方案結(jié)構(gòu)6是本發(fā)明指令存儲(chǔ)模塊ー種優(yōu)選實(shí)現(xiàn)方案結(jié)構(gòu)7是本發(fā)明本發(fā)明實(shí)時(shí)系統(tǒng)ー種優(yōu)選實(shí)施方式結(jié)構(gòu)8是本發(fā)明本發(fā)明實(shí)時(shí)系統(tǒng)有ー種優(yōu)選實(shí)施 方式結(jié)構(gòu)9是本發(fā)明中斷處理方法優(yōu)選實(shí)施方式流程圖
具體實(shí)施例方式為進(jìn)ー步說(shuō)明本發(fā)明的技術(shù)方案,下面給出具體實(shí)施例并結(jié)合附圖詳細(xì)說(shuō)明。具體實(shí)施例I本實(shí)施例為本發(fā)明中斷輔助處理裝置的ー種優(yōu)選實(shí)施方式,總體結(jié)構(gòu)如圖2所示,包括觸發(fā)控制模塊100,接收外設(shè)中斷,獲取該外設(shè)中斷對(duì)應(yīng)的中斷服務(wù)例程存儲(chǔ)位置并發(fā)送到指令解析模塊;本模塊根據(jù)具體的實(shí)時(shí)系統(tǒng)情況可以有多種具體實(shí)現(xiàn)方案;一種優(yōu)選實(shí)現(xiàn)方案如圖3所示,包括中斷存儲(chǔ)單元101,接收并存儲(chǔ)外設(shè)中斷;存儲(chǔ)位置獲取單元102,從中斷存儲(chǔ)單元讀取外設(shè)中斷,根據(jù)該外設(shè)中斷的中斷號(hào)獲取該外設(shè)中斷對(duì)應(yīng)的中斷服務(wù)例程存儲(chǔ)位置并發(fā)送給指令解析模塊110 存儲(chǔ)位置獲取單元102可以采用中斷向量表的方式來(lái)建立各外設(shè)中斷與中斷服務(wù)例程存儲(chǔ)位置的對(duì)應(yīng)關(guān)系;所述中斷向量表以一一對(duì)應(yīng)的形式保存各外設(shè)中斷的中斷號(hào)和各外設(shè)中斷的中斷服務(wù)例程存儲(chǔ)位置;觸發(fā)控制模塊100對(duì)于接收到的外設(shè)中斷的存儲(chǔ)和讀取有多種實(shí)現(xiàn)方案優(yōu)選方案一存儲(chǔ)位置獲取單元102按優(yōu)先級(jí)從高到低的順序從所述中斷存儲(chǔ)單元讀取外設(shè)中斷如圖4所示,中斷存儲(chǔ)單元101包括多個(gè)中斷存儲(chǔ)區(qū),ー個(gè)中斷存儲(chǔ)區(qū)存儲(chǔ)屬于同一個(gè)優(yōu)先級(jí)的外設(shè)中斷;當(dāng)觸發(fā)控制模塊100接收到外設(shè)中斷時(shí),根據(jù)該外設(shè)中斷的優(yōu)先級(jí)將其保存到該優(yōu)先級(jí)對(duì)應(yīng)的中斷存儲(chǔ)區(qū)中;存儲(chǔ)位置獲取單元102每次讀取外設(shè)中斷時(shí),從最高優(yōu)先級(jí)對(duì)應(yīng)的中斷存儲(chǔ)區(qū)開(kāi)始,按優(yōu)先級(jí)從高到低的順序依次查詢各中斷存儲(chǔ)區(qū)中是否存在未處理的外設(shè)中斷,讀取優(yōu)先級(jí)最高的未處理外設(shè)中斷;其中,各中斷存儲(chǔ)區(qū)可以采用移位緩存,按接收時(shí)間順序存儲(chǔ)該中斷存儲(chǔ)區(qū)對(duì)應(yīng)優(yōu)先級(jí)的外設(shè)中斷;中斷存儲(chǔ)單元101也可以其他的形式實(shí)現(xiàn),如采用鏈表的方式按優(yōu)先級(jí)從高到低的順序保存接收到的外設(shè)中斷;接收到新的外設(shè)中斷時(shí),可以將該外設(shè)中斷插入鏈表中與該外設(shè)中斷優(yōu)先級(jí)相同的最后ー個(gè)外設(shè)中斷之后的節(jié)點(diǎn)。優(yōu)選方案ニ 存儲(chǔ)位置獲取單元102按接收時(shí)間順序從所述中斷存儲(chǔ)單元讀取外設(shè)中斷
如圖5所示,中斷存儲(chǔ)單元101可以包括ー個(gè)先入先出(簡(jiǎn)稱,F(xiàn)IFO)緩存,按接收時(shí)間順序保存接收到的外設(shè)中斷;存儲(chǔ)位置獲取單元102從該FIFO緩存中順序讀取外設(shè)中斷。如果同時(shí)接收到多個(gè)外設(shè)中斷,可以按外設(shè)中斷的優(yōu)先級(jí)從高到低順序依次存入FIFO緩存。所述中斷向量表為各外設(shè)中斷的中斷號(hào)與各外設(shè)中斷的中斷服務(wù)例程存儲(chǔ)位置的對(duì)應(yīng)關(guān)系。需要說(shuō)明的是,上述僅為觸發(fā)控制単元100的一些優(yōu)選實(shí)現(xiàn)方案,觸發(fā)控制模塊100也可以根據(jù)實(shí)時(shí)系統(tǒng)的具體需求采用其他實(shí)現(xiàn)方案,如,對(duì)于外設(shè)中斷數(shù)量較少,中斷觸發(fā)間隔時(shí)間較長(zhǎng)的實(shí)時(shí)系統(tǒng),觸發(fā)控制単元100可以不包括中斷存儲(chǔ)單元101,直接由存儲(chǔ)位置獲取單元102根據(jù)接收到的外設(shè)中斷獲取中斷服務(wù)例程存儲(chǔ)位置。 指令解析模塊110,根據(jù)接收到的中斷服務(wù)例程存儲(chǔ)位置從指令存儲(chǔ)模塊讀取中斷服務(wù)例程并解析;指令存儲(chǔ)模塊120,保存中斷輔助處理裝置處理的各中斷的中斷服務(wù)例程;指令存儲(chǔ)模塊120可以采用如圖6所示的結(jié)構(gòu),包括多個(gè)指令存儲(chǔ)區(qū),每個(gè)指令存儲(chǔ)區(qū)存儲(chǔ)ー個(gè)中斷服務(wù)例程;對(duì)于這種結(jié)構(gòu)的指令存儲(chǔ)模塊,中斷向量表中的存儲(chǔ)位置可以是中斷服務(wù)例程存儲(chǔ)的指令存儲(chǔ)區(qū)序號(hào)或首地址。指令存儲(chǔ)模塊120也可以包括一個(gè)存儲(chǔ)區(qū),根據(jù)各中斷服務(wù)例程代碼長(zhǎng)度為各中斷服務(wù)例程動(dòng)態(tài)分配存儲(chǔ)空間;對(duì)于這種結(jié)構(gòu)的指令存儲(chǔ)模塊,中斷向量表中的存儲(chǔ)位置為中斷服務(wù)例程存儲(chǔ)空間首地址。指令執(zhí)行模塊130,從指令解析模塊獲取解析后的中斷服務(wù)例程代碼;執(zhí)行解析后的中斷服務(wù)例程代碼;通過(guò)外設(shè)接ロ模塊150讀取外設(shè)的中斷信息;發(fā)送控制信息到外設(shè)接ロ模塊;產(chǎn)生中斷輔助處理裝置中斷及中斷輔助處理裝置中斷信息通過(guò)處理器接ロ模塊140發(fā)送到處理器;其中,所述中斷輔助處理裝置中斷信息包括了中斷輔助處理裝置中斷所執(zhí)行的中斷服務(wù)例程對(duì)應(yīng)的外設(shè)中斷以及觸發(fā)該外設(shè)中斷的外設(shè)的中斷信息。處理器接ロ模塊140,中斷輔助處理裝置與處理器之間的數(shù)據(jù)交互接ロ ;外設(shè)接ロ模塊150,中斷輔助處理裝置和外設(shè)之間的信息交互接ロ。
本發(fā)明中斷輔助處理裝置的中斷向量表和指令存儲(chǔ)模塊120中保存的中斷服務(wù)例程可以由處理器根據(jù)需要?jiǎng)討B(tài)更新指令存儲(chǔ)模塊130通過(guò)所述處理器接ロ模塊140從處理器接收中斷服務(wù)例程代碼并存儲(chǔ);觸發(fā)控制模塊100通過(guò)所述處理器接ロ 140從處理器接收并保存各外設(shè)中斷的中斷服務(wù)例程代碼存儲(chǔ)位置。這樣,處理器可以根據(jù)需要?jiǎng)討B(tài)修改中斷輔助處理裝置中的中斷服務(wù)例程代碼,或者根據(jù)需要?jiǎng)討B(tài)配置由中斷輔助處理裝置處理的外設(shè)中斷。提高了中斷處理的靈活性。本發(fā)明中斷輔助處理裝置的中斷向量表和指令存儲(chǔ)模塊120中保存的中斷服務(wù)例程也可以是預(yù)先固定配置保存的。具體實(shí)施例2
本實(shí)施例為本發(fā)明實(shí)時(shí)系統(tǒng)的ー種優(yōu)選實(shí)施方式,總體結(jié)構(gòu)如圖7所示,包括N個(gè)外設(shè)(外設(shè)I N),其中,N為實(shí)時(shí)系統(tǒng)中能夠觸發(fā)中斷的外設(shè)個(gè)數(shù);處理器20 ;中斷輔助處理裝置10,接收并處理各外設(shè)中斷;觸發(fā)中斷輔助處理裝置中斷發(fā)送給處理器;本實(shí)施例中的中斷輔助處理裝置10可以采用具體實(shí)施例I中的任意ー種具體的中斷輔助處理裝置方案。本發(fā)明實(shí)時(shí)系統(tǒng)中中斷輔助處理裝置10處理各外設(shè)中斷的中斷服務(wù)例程可以由處理器根據(jù)需要發(fā)送到中斷輔助處理裝置10進(jìn)行動(dòng)態(tài)更新;也可以是預(yù)先固定配置保存在中斷輔助處理裝置10中。 本發(fā)明實(shí)時(shí)系統(tǒng)的一種優(yōu)選實(shí)現(xiàn)方案如圖8所示,包括N個(gè)選擇單元,選擇單元η的輸入端與對(duì)應(yīng)的外設(shè)η的中斷輸出連接;選擇單元η的第一輸出端與中斷輔助處理裝置10連接,第二輸出端與處理器20連接,在處理器20的控制下,選擇將外設(shè)η的中斷輸出到中斷輔助處理裝置10或處理器20。在這種優(yōu)選實(shí)現(xiàn)方案中,處理器20可以根據(jù)需要?jiǎng)討B(tài)選擇由中斷輔助處理裝置10處理的外設(shè)中斷,并發(fā)送由中斷輔助處理裝置10處理的外設(shè)中斷的中斷服務(wù)例程到中斷輔助處理裝置10。具體實(shí)施例3本實(shí)施例為本發(fā)明中斷處理方法的ー種優(yōu)選實(shí)施方式,總體流程如圖9所示,包括I、中斷輔助處理裝置響應(yīng)接收到的外設(shè)中斷,執(zhí)行該外設(shè)中斷的中斷服務(wù)例程;101、觸發(fā)控制模塊選擇ー個(gè)接收到的外設(shè)中斷;—種優(yōu)選的選擇方式包括,觸發(fā)控制模塊在所保存的接收到的外設(shè)中斷中選擇ー個(gè)優(yōu)先級(jí)最高的未處理外設(shè)中斷;進(jìn)ー步的,如果步驟I所保存的外設(shè)中斷中優(yōu)先級(jí)最高的未處理外設(shè)中斷多于ー個(gè),觸發(fā)控制模塊在優(yōu)先級(jí)最高的未處理外設(shè)中斷中選擇接收時(shí)間最早的一個(gè)未處理外設(shè)中斷;另ー種優(yōu)選的選擇方式包括,觸發(fā)控制模塊在所保存的接收到的外設(shè)中斷中選擇ー個(gè)接收時(shí)間最早的未處理外設(shè)中斷;進(jìn)ー步的,如果步驟I所保存的外設(shè)中斷中接收時(shí)間最早的未處理外設(shè)中斷多于ー個(gè),觸發(fā)控制模塊在接收時(shí)間最早的未處理外設(shè)中斷中選擇ー個(gè)優(yōu)先級(jí)最高的未處理外設(shè)中斷;102、觸發(fā)控制模塊獲取所選擇外設(shè)中斷的中斷服務(wù)例程存儲(chǔ)位置;其中,所述存儲(chǔ)位置可以是指令存儲(chǔ)區(qū)的序號(hào)或首地址;也可以是中斷服務(wù)例程存儲(chǔ)空間首地址;觸發(fā)控制模塊可以采用中斷向量表的方式來(lái)建立各外設(shè)中斷與各外設(shè)中斷服務(wù)例程存儲(chǔ)位置的對(duì)應(yīng)關(guān)系;并通過(guò)查詢中斷向量表的方式獲取所選擇外設(shè)中斷的中斷服務(wù)例程存儲(chǔ)位置。103、觸發(fā)控制模塊發(fā)送獲取的中斷服務(wù)例程存儲(chǔ)位置到中斷輔助處理裝置的指令解析模塊;104、指令解析模塊從中斷輔助處理裝置的指令存儲(chǔ)模塊取出中斷服務(wù)例程,進(jìn)行指令解析,將解析后的代碼指令發(fā)送到中斷輔助處理裝置的指令執(zhí)行模塊;105、指令執(zhí)行模塊執(zhí)行解析后的中斷服務(wù)例程代碼指令;根據(jù)指令通過(guò)外設(shè)接ロ模塊從指令指定的外設(shè)讀取中斷信息,發(fā)送控制信息到指令指定的外設(shè)。2、如果有需要處理器處理的任務(wù),中斷輔助處理裝置觸發(fā)中斷輔助處理裝置中斷發(fā)送給處理器;如果指令執(zhí)行模塊執(zhí)行的指令為指示處理器執(zhí)行任務(wù)的指令,指令執(zhí)行模塊觸發(fā)中斷輔助處理裝置中斷;通過(guò)中斷輔助處理裝置的處理器接ロ模塊發(fā)送給處理器,并將相應(yīng)的中斷信息發(fā)送到處理器接ロ模塊提供給處理器讀??;其中,所述中斷輔助處理裝置中斷信息包括了中斷輔助處理裝置中斷所執(zhí)行的中斷服務(wù)例程對(duì)應(yīng)的外設(shè)中斷以及觸發(fā)該外設(shè)中斷的外設(shè)的中斷信息。3、處理器響應(yīng)中斷輔助處理裝置中斷,執(zhí)行中斷輔助處理裝置中斷的中斷服務(wù)例 程,處理任務(wù)。4、如果還有未處理的外設(shè)中斷,重復(fù)執(zhí)行步驟I 3。其中,所述中斷輔助處理裝置可能在響應(yīng)外設(shè)中斷之前,處理外設(shè)中斷過(guò)程中以及完成外設(shè)中斷處理之后的任意時(shí)刻接收到外設(shè)觸發(fā)的外設(shè)中斷,觸發(fā)控制模塊在接收到外設(shè)中斷時(shí),保存該接收到的外設(shè)中斷。本發(fā)明的中斷處理方法的一種優(yōu)選實(shí)現(xiàn)方案還可以包括中斷配置流程中斷服務(wù)例程更新流程如果處理器需要更新中斷輔助處理裝置中的中斷服務(wù)例程,處理器通過(guò)處理器接ロ模塊發(fā)送中斷服務(wù)例程到指令存儲(chǔ)模塊保存;如果有中斷服務(wù)例程的存儲(chǔ)位置發(fā)生變化,處理器通過(guò)處理器接ロ模塊更新觸發(fā)控制模塊中相應(yīng)外設(shè)中斷的中斷服務(wù)例程存儲(chǔ)位置。中斷輔助處理裝置處理的外設(shè)中斷配置流程如果處理器重新配置中斷輔助處理裝置處理的外設(shè)中斷,處理器通過(guò)各外設(shè)對(duì)應(yīng)的選擇單元控制配置各外設(shè)中斷輸出的目標(biāo)(處理器或中斷輔助處理裝置);通過(guò)處理器接ロ模塊發(fā)送中斷服務(wù)例程到指令存儲(chǔ)模塊保存;通過(guò)處理器接ロ模塊更新觸發(fā)控制模塊中的中斷向量表。具體實(shí)施例4為了更清楚的說(shuō)明本發(fā)明,下面以LTE基帶芯片的數(shù)據(jù)處理流程為例,說(shuō)明本發(fā)明的中斷處理流程I、LTE基帯芯片處理器需配置TxRx模塊接收數(shù)據(jù),啟動(dòng)數(shù)據(jù)處理流程;2、TxRx模塊完成數(shù)據(jù)接收后,觸發(fā)TxRx中斷發(fā)送給中斷輔助處理裝置;3、中斷輔助處理裝置執(zhí)行TxRx中斷服務(wù)例程;配置FFT模塊啟動(dòng);4、FFT模塊執(zhí)行FFT變換并將變換后的數(shù)據(jù)緩存,完成后觸發(fā)FFT中斷發(fā)送到中斷輔助處理裝置;5、中斷輔助處理裝置執(zhí)行FFT中斷服務(wù)例程;觸發(fā)中斷輔助處理裝置中斷通知處理器處理FFT模塊緩存的數(shù)據(jù),配置信道估計(jì)模塊啟動(dòng);6、信道估計(jì)模塊進(jìn)行信道估計(jì),完成后觸發(fā)信道估計(jì)中斷發(fā)送到中斷輔助處理裝置;
7、中斷輔助處理裝置執(zhí)行信道估計(jì)中斷服務(wù)例程;觸發(fā)中斷輔助處理裝置中斷通知處理器處理信道估計(jì)模塊的數(shù)據(jù),配置信號(hào)檢測(cè)模塊啟動(dòng);8、信號(hào)檢測(cè)模塊根據(jù)信道估計(jì)得的信道估計(jì)矩陣進(jìn)行信號(hào)檢測(cè),完成后觸發(fā)信號(hào)檢測(cè)中斷發(fā)送到中斷輔助處理裝置;9、中斷輔助處理裝置執(zhí)行信號(hào)檢測(cè)中斷服務(wù)例程;觸發(fā)中斷輔助處理裝置中斷通知處理器處理信號(hào)檢測(cè)模塊的數(shù)據(jù),配置解調(diào)模塊啟動(dòng);10、解調(diào)模塊對(duì)信號(hào)檢測(cè)后的數(shù)據(jù)進(jìn)行解調(diào),完成解調(diào)處理后觸發(fā)解調(diào)中斷發(fā)送到中斷輔助處理裝置;11、中斷輔助處理裝置執(zhí)行解調(diào)中斷服務(wù)例程;配置HARQ模塊啟動(dòng);12、HARQ模塊執(zhí)行完HARQ任務(wù)后,觸發(fā)HARQ中斷發(fā)送到中斷輔助處理裝置; 13、中斷輔助處理裝置執(zhí)行HARQ中斷服務(wù)例程;配置TURBO模塊啟動(dòng);14,TURBO模塊執(zhí)行TURBO譯碼任務(wù),完成后觸發(fā)TURBO中斷發(fā)送到中斷輔助處理
裝置;14、中斷輔助處理裝置執(zhí)行TURBO中斷服務(wù)例程;配置CRC校驗(yàn)?zāi)K啟動(dòng);15、CRC校驗(yàn)?zāi)K執(zhí)行CRC校驗(yàn)任務(wù),完成后將數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器中,觸發(fā)CRC校驗(yàn)中斷發(fā)送到中斷輔助處理裝置;16、中斷輔助處理裝置執(zhí)行CRC校驗(yàn)中斷服務(wù)例程;觸發(fā)中斷輔助處理裝置中斷發(fā)送到處理器;17、處理器執(zhí)行中斷輔助處理裝置中斷服務(wù)例程,從處理器接ロ模塊獲取中斷信息,根據(jù)中斷信息從存儲(chǔ)器讀取數(shù)據(jù)并處理。從上述LTE數(shù)據(jù)處理流程可以看出,本發(fā)明的技術(shù)方案在處理該流程吋,LTE基帶芯片的處理器僅在需要其處理數(shù)據(jù)的FFT變換完成、信道估計(jì)完成、信號(hào)檢測(cè)完成以及數(shù)據(jù)處理流程結(jié)束時(shí)處理中斷輔助處理裝置中斷;而不會(huì)在數(shù)據(jù)處理流程過(guò)程中處理其他外設(shè)模塊的中斷,有效的減少了處理器執(zhí)行任務(wù)時(shí)被中斷打斷的次數(shù)。本領(lǐng)域的一般技術(shù)人員顯然應(yīng)該清楚并且理解,本發(fā)明方法所舉的以上實(shí)施例僅用于說(shuō)明本發(fā)明方法,而并不用于限制本發(fā)明方法。在不背離本發(fā)明方法的精神及其實(shí)質(zhì)的情況下,本領(lǐng)域技術(shù)人員當(dāng)可根據(jù)本發(fā)明方法做出各種相應(yīng)的改變或變形,但這些相應(yīng)的改變或變形均屬于本發(fā)明方法的權(quán)利要求保護(hù)范圍。
權(quán)利要求
1.ー種中斷輔助處理裝置,其特征在于,包括 觸發(fā)控制模塊,接收外設(shè)中斷,獲取外設(shè)中斷對(duì)應(yīng)的中斷服務(wù)例程存儲(chǔ)位置并發(fā)送到指令解析模塊; 指令解析模塊,根據(jù)所述中斷服務(wù)例程存儲(chǔ)位置從指令存儲(chǔ)模塊讀取中斷服務(wù)例程代碼并解析; 指令存儲(chǔ)模塊,保存中斷輔助處理裝置處理的各外設(shè)中斷的中斷服務(wù)例程; 指令執(zhí)行模塊,從指令解析模塊獲取解析后的中斷服務(wù)例程代碼;執(zhí)行解析后的中斷服務(wù)例程代碼;通過(guò)外設(shè)接ロ模塊讀取外設(shè)的中斷信息;發(fā)送控制信息到外設(shè)接ロ模塊;產(chǎn)生中斷輔助處理裝置中斷及中斷輔助處理裝置中斷信息通過(guò)處理器接ロ模塊發(fā)送到處理器; 處理器接ロ模塊,中斷輔助處理裝置與處理器之間的數(shù)據(jù)交互接ロ ; 外設(shè)接ロ模塊,中斷輔助處理裝置和外設(shè)之間的信息交互接ロ。
2.根據(jù)權(quán)利要求I所述的裝置,其特征在于,所述觸發(fā)控制模塊包括 中斷存儲(chǔ)單元,接收并存儲(chǔ)外設(shè)中斷; 存儲(chǔ)位置獲取單元,從中斷存儲(chǔ)單元讀取外設(shè)中斷,根據(jù)該外設(shè)中斷的中斷號(hào)獲取該外設(shè)中斷對(duì)應(yīng)的中斷服務(wù)例程存儲(chǔ)位置并發(fā)送給所述指令解析模塊;
3.根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述中斷存儲(chǔ)單元按優(yōu)先級(jí)從高到低的順序存儲(chǔ)外設(shè)中斷;所述存儲(chǔ)位置獲取單元按外設(shè)中斷在中斷存儲(chǔ)單元中的存儲(chǔ)順序依次讀取外設(shè)中斷。
4.根據(jù)權(quán)利要求3所述的裝置,其特征在于,所述中斷存儲(chǔ)單元包括多個(gè)中斷存儲(chǔ)區(qū),每ー個(gè)中斷存儲(chǔ)區(qū)存儲(chǔ)屬于同一個(gè)優(yōu)先級(jí)的外設(shè)中斷。
5.根據(jù)權(quán)利要求3所述的裝置,其特征在于,所述中斷存儲(chǔ)單元以鏈表形式按優(yōu)先級(jí)從高到低的順序存儲(chǔ)外設(shè)中斷。
6.根據(jù)權(quán)利要求4或5所述中斷存儲(chǔ)單元存儲(chǔ)相同優(yōu)先級(jí)的外設(shè)中斷吋,按外設(shè)中斷的接收時(shí)間順序存儲(chǔ)。
7.根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述中斷存儲(chǔ)單元按外設(shè)中斷的接收時(shí)間順序依次存儲(chǔ)各外設(shè)中斷;所述存儲(chǔ)位置獲取單元按外設(shè)中斷在中斷存儲(chǔ)單元中的存儲(chǔ)順序依次讀取外設(shè)中斷。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述中斷存儲(chǔ)單元存儲(chǔ)接收時(shí)間相同的外設(shè)中斷吋,按外設(shè)中斷的優(yōu)先級(jí)從高到低順序存儲(chǔ)。
9.根據(jù)權(quán)利要求I所述的裝置,其特征在于,所述指令存儲(chǔ)模塊包括多個(gè)指令存儲(chǔ)區(qū),每ー個(gè)指令存儲(chǔ)區(qū)存儲(chǔ)ー個(gè)中斷服務(wù)例程;所述存儲(chǔ)位置為中斷服務(wù)例程存儲(chǔ)的指令存儲(chǔ)區(qū)序號(hào)或首地址。
10.根據(jù)權(quán)利要求I所述的裝置,其特征在于,所述指令存儲(chǔ)模塊根據(jù)各中斷服務(wù)例程代碼長(zhǎng)度為各中斷服務(wù)例程動(dòng)態(tài)分配存儲(chǔ)空間;所述存儲(chǔ)位置為中斷服務(wù)例程存儲(chǔ)空間的首地址。
11.根據(jù)權(quán)利要求I或2或9或10所述的裝置,其特征在于,所述指令存儲(chǔ)模塊通過(guò)所述處理器接ロ模塊從處理器接收中斷服務(wù)例程并存儲(chǔ); 所述觸發(fā)控制模塊通過(guò)所述處理器接ロ模塊從處理器接收并保存各外設(shè)中斷的中斷服務(wù)例程代碼存儲(chǔ)位置。
12.—種實(shí)時(shí)系統(tǒng),包括處理器和多個(gè)外設(shè),其特征在于,還包括 如權(quán)利要求I 10中任意一項(xiàng)所述的中斷輔助處理裝置。
13.根據(jù)權(quán)利要求I所述的實(shí)時(shí)系統(tǒng),其特征在于,所述外設(shè)的中斷輸出端在所述處理器的控制下選擇連接到所述中斷輔助處理裝置或處理器。
14.根據(jù)權(quán)利要求12或13所述的實(shí)時(shí)系統(tǒng),其特征在于,所述處理器發(fā)送外設(shè)中斷的中斷服務(wù)例程代碼和存儲(chǔ)位置到所述中斷輔助處理裝置。
15.ー種中斷處理方法,其特征在于,包括 中斷輔助處理裝置響應(yīng)接收到的外設(shè)中斷,執(zhí)行該外設(shè)中斷的中斷服務(wù)例程; 如果有需要處理器處理的任務(wù),中斷輔助處理裝置觸發(fā)中斷輔助處理裝置中斷發(fā)送給處理器; 處理器響應(yīng)中斷輔助處理裝置中斷,執(zhí)行中斷輔助處理裝置中斷的中斷服務(wù)例程,處理任務(wù)。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述中斷輔助處理裝置響應(yīng)外設(shè)中斷包括 中斷輔助處理裝置按優(yōu)先級(jí)從高到低的順序響應(yīng)接收到的外設(shè)中斷。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述中斷輔助處理裝置響應(yīng)外設(shè)中斷包括 對(duì)接收到的優(yōu)先級(jí)相同的外設(shè)中斷,中斷輔助處理裝置按外設(shè)中斷的接收時(shí)間順序依次響應(yīng)。
18.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述中斷輔助處理裝置響應(yīng)外設(shè)中斷包括 中斷輔助處理裝置按外設(shè)中斷的接收時(shí)間順序響應(yīng)各接收到的外設(shè)中斷。
19.根據(jù)權(quán)利要求18所述的方法,其特征在于,所述中斷輔助處理裝置響應(yīng)外設(shè)中斷包括 對(duì)接收時(shí)間相同的外設(shè)中斷,中斷輔助處理裝置按優(yōu)先級(jí)從高到低的順序執(zhí)行依次響應(yīng)。
20.根據(jù)權(quán)利要求15 19中任一項(xiàng)所述的方法,其特征在于,所述方法包括 處理器將外設(shè)中斷的中斷服務(wù)例程和中斷服務(wù)例程存儲(chǔ)位置發(fā)送到所述中斷輔助處理裝置保存。
21.根據(jù)權(quán)利要求20所述的方法,其特征在于,所述方法包括 處理器控制選擇各外設(shè)中斷輸出到中斷輔助處理裝置或處理器。
全文摘要
本發(fā)明公開(kāi)了一種中斷輔助處理裝置,包括觸發(fā)控制模塊,接收外設(shè)中斷,獲取外設(shè)中斷對(duì)應(yīng)的中斷服務(wù)例程存儲(chǔ)位置并發(fā)送到指令解析模塊;指令解析模塊,根據(jù)所述中斷服務(wù)例程存儲(chǔ)位置從指令存儲(chǔ)模塊讀取中斷服務(wù)例程代碼并解析;指令存儲(chǔ)模塊,保存中斷輔助處理裝置處理的各外設(shè)中斷的中斷服務(wù)例程;指令執(zhí)行模塊,執(zhí)行解析后的中斷服務(wù)例程代碼;產(chǎn)生中斷輔助處理裝置中斷及中斷輔助處理裝置中斷信息通過(guò)處理器接口模塊發(fā)送到處理器;處理器接口模塊和外設(shè)接口模塊。本發(fā)明的裝置能有效減少處理器響應(yīng)中斷的頻率,提高系統(tǒng)效率,本發(fā)明還同時(shí)提供了一種相應(yīng)的實(shí)時(shí)系統(tǒng)及中斷處理方法。
文檔編號(hào)G06F13/10GK102693193SQ20121012607
公開(kāi)日2012年9月26日 申請(qǐng)日期2012年4月26日 優(yōu)先權(quán)日2012年4月26日
發(fā)明者唐新東, 岳天天, 朱志輝, 羅剛?cè)A 申請(qǐng)人:重慶重郵信科通信技術(shù)有限公司