專利名稱:用于安全中斷處理的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于安全中斷處理的系統(tǒng),用于驗(yàn)證獲勝服務(wù)請(qǐng)求節(jié)點(diǎn)的優(yōu)先級(jí)的方法,以及用于驗(yàn)證服務(wù)請(qǐng)求的完整性的方法和設(shè)備。
背景技術(shù):
微控制器必須對(duì)其所控制的嵌入式系統(tǒng)中的事件提供實(shí)時(shí)響應(yīng)。當(dāng)發(fā)生特定事件時(shí),中斷系統(tǒng)能夠以信號(hào)通知處理器暫停對(duì)當(dāng)前指令序列的處理,并且開始中斷服務(wù)例程 (ISR),其也被稱作“中斷處理程序”。所述ISR將在返回到原來的指令序列之前執(zhí)行中斷源所發(fā)出的中斷請(qǐng)求(IRQ)所要求的任意處理??赡艿闹袛嘣词且蕾囉谠O(shè)備的,并且通常包括事件,諸如內(nèi)部計(jì)時(shí)器溢出、完成模擬到數(shù)字的轉(zhuǎn)換、諸如來自被按壓按鈕的輸入的邏輯電平變化、以及通信鏈路上所接收到的數(shù)據(jù)。在功耗如在電池供電的設(shè)備中那樣重要的情況下,中斷也可能將微控制器從低功率的休眠狀態(tài)中喚醒,處理器在所述休眠狀態(tài)中停止直至外圍事件要求其進(jìn)行某些工作。中斷控制器被設(shè)計(jì)為向主處理器(中央處理器,CPU)提供中斷能力。當(dāng)設(shè)備發(fā)出中斷請(qǐng)求時(shí),其被送至中斷控制器,CPU由此生成中斷,所述CPU繼而利用所述中斷控制器通過特殊寄存器對(duì)中斷源進(jìn)行檢查,所述特殊寄存器保持在所述中斷處理器并由其進(jìn)行管理。中斷總線提供了能夠生成中斷或服務(wù)請(qǐng)求的設(shè)備連接到能夠?qū)χ袛噙M(jìn)行服務(wù)的設(shè)備的方式。這通??梢允沁B接到處理器的中斷控制器。諸如通用異步收發(fā)器(UART)或計(jì)時(shí)器之類的每種能夠生成中斷的設(shè)備(所謂的“中斷源”)具有一個(gè)或多個(gè)直接連接到中斷總線上的服務(wù)請(qǐng)求節(jié)點(diǎn)(SRN)。注意到,貫穿本申請(qǐng),術(shù)語“服務(wù)請(qǐng)求節(jié)點(diǎn)”都被用于分別連接到中斷總線和中斷控制器的節(jié)點(diǎn),其中所述服務(wù)請(qǐng)求節(jié)點(diǎn)被指定到特定中斷源,即能夠生成中斷的設(shè)備。因此,所述服務(wù)請(qǐng)求節(jié)點(diǎn)可以連接到特定中斷源或者是其一部分。一個(gè)系統(tǒng)可以實(shí)現(xiàn)任意數(shù)量的中斷總線。(根據(jù)實(shí)施方式)每個(gè)SRN可以在軟件中被配置為連接到多個(gè)中斷總線之一,或者不連接到任何中斷總線。每個(gè)中斷總線由連接到 SRN的中斷控制單元(I⑶)所控制。在ICU和SRN之間的中斷總線上執(zhí)行仲裁過程,其用于確立多個(gè)服務(wù)請(qǐng)求中最高優(yōu)先級(jí)的服務(wù)請(qǐng)求。所述ICU的處理器能夠任意地接受該服務(wù)請(qǐng)求并且生成中斷。如果其當(dāng)前正在為更高優(yōu)先級(jí)的服務(wù)請(qǐng)求提供服務(wù),則也可以選擇不接受所述服務(wù)請(qǐng)求。每個(gè)SRN由系統(tǒng)上所運(yùn)行的軟件指定服務(wù)請(qǐng)求優(yōu)先級(jí)號(hào)(SRPN),其中參與中斷總線上的仲裁的每個(gè)SRN都需要唯一的SRPN。然而,只要兩個(gè)SRN使用不同的中斷總線,它們就可以共享相同的SRPN。此外,每個(gè)SRN還可關(guān)于它利用其指定的SRPN將服務(wù)請(qǐng)求(中斷)傳送到的中斷總線/I⑶進(jìn)行配置。ICU在所有的活動(dòng)(active) SRN之間進(jìn)行仲裁,所述活動(dòng)SRN即具有活動(dòng)服務(wù)請(qǐng)求的SRN,其中仲裁基于活動(dòng)SRN的優(yōu)先級(jí)進(jìn)行。
5
只要至少一個(gè)SRN在中斷總線上被請(qǐng)求(經(jīng)由中斷總線被指示),則I⑶就請(qǐng)求所有的活動(dòng)SRN經(jīng)由總線傳送其優(yōu)先級(jí)。中斷總線的特定接線方式使得最高優(yōu)先級(jí)(獲勝SRN 的優(yōu)先級(jí))被送至ICU。所述ICU將獲勝SRN的優(yōu)先級(jí)返回到SRN。參與該仲裁回合的所有SRN將ICU所返回的優(yōu)先級(jí)與其自己的優(yōu)先級(jí)進(jìn)行比較,并且如果它們相同就對(duì)它們自己進(jìn)行重置。ICU接管獲勝SRN的優(yōu)先級(jí)并且將其轉(zhuǎn)發(fā)至CPU。圖1示例性示出了 ICU 110和多個(gè)SRN 121、122和123之間的仲裁總線信號(hào)。ICU 110具有經(jīng)由連接170和171連接到第一 SRN 121,經(jīng)由連接170和172連接到第二 SRN 122,并且經(jīng)由連接170和173連接到第三SRN 123的第一輸出。連接170、171、 172和173形成了 I⑶命令總線(icu_cmd),其指示中斷仲裁過程的狀態(tài)。I⑶110具有經(jīng)由連接180和181連接到第一 SRN 121,經(jīng)由連接180和182連接到第二 SRN 122,并且經(jīng)由連接180和183連接到第三SRN 123的第二輸出,其中連接180、 181、182 和 183 形成了結(jié)果總線(icu_result)。每個(gè)SRN包括三個(gè)輸出,其中SRN 121、122和123的第一輸出分別經(jīng)由連接151a、 15 和153a連接到第一或門131a的輸入,SRN 121、122和123的第二輸出分別經(jīng)由連接 151b、152b和153b連接到第二或門131b的輸入,并且SRN 121、122和123的第三輸出分別經(jīng)由連接151c、152c和153c連接到第三或門131c的輸入。I⑶110具有經(jīng)由連接160a連接到第一或門131a的輸出的第一輸入,經(jīng)由連接 160b連接到第二或門131b的輸出的第二輸入,以及經(jīng)由連接160c連接到第三或門131c的輸出的第三輸入。例如,I⑶可以在軟件中被配置為承擔(dān)1、2、3或4個(gè)仲裁回合。這允許3、15、63 或255個(gè)SRN之間的仲裁。因此,根據(jù)ICU被配置執(zhí)行的仲裁回合的數(shù)目,在中斷總線上活動(dòng)的每個(gè)SRN可以具有處于1和3、15、63或255之間(且包含1和255)的服務(wù)請(qǐng)求優(yōu)先級(jí)號(hào)(SRPN)。適當(dāng)?shù)?,不活?dòng)的SRN可以具有為0的SPRN,而活動(dòng)SRN都不應(yīng)當(dāng)具有為0的 SRPN??梢酝ㄟ^將SRN的SRPN值劃分為例如1、2、3或4個(gè)位對(duì)(pair of bits)來執(zhí)行仲裁。以仲裁中所使用的最高有效位對(duì)作為開始,每個(gè)具有未決服務(wù)請(qǐng)求的SRN將其用于該仲裁回合的位對(duì)值發(fā)送給ICU。這通過向ICU聲明(assert)或樹信號(hào)(Or_tree01、or_ treelO、or_treell)之一或并不向I⑶聲明其中的任何一個(gè)來進(jìn)行該操作。如圖1所示, 來自每個(gè)SRN的or_tree信號(hào)(在或門131a、131b、131c)與來自能夠連接到中斷總線的所有其它SRN的類似信號(hào)一起進(jìn)行或操作(or’ ed)。I⑶確定針對(duì)該對(duì)(例如,11、10、01或00)發(fā)送給它的最高優(yōu)先級(jí)號(hào),對(duì)其進(jìn)行存儲(chǔ),并且將結(jié)果在結(jié)果總線(icujesult)上發(fā)送回所有SRN。所有參與的SRN將結(jié)果總線與其SRPN位對(duì)進(jìn)行比較。如果它們相等,則所述SRN為該回合仲裁的獲勝者或并列獲勝者。 如果是這樣,該SRN保留在所述仲裁“之中”,并且參與下一回合的仲裁(除非這是最后的仲裁回合)。否則,所述SRN就輸?shù)袅藢?duì)更高優(yōu)先級(jí)中斷的仲裁,并且它們“退出”該仲裁。在例如1、2、3或4個(gè)仲裁回合結(jié)束時(shí),單個(gè)SRPN將會(huì)獲勝。信號(hào)可能會(huì)花費(fèi)很長時(shí)間通過“or_tree”進(jìn)行傳播,由I⑶進(jìn)行解碼,被發(fā)到結(jié)果總線上以及被定時(shí)打入(clocked into)SRN中。這可能花費(fèi)比具有快速I⑶時(shí)鐘速率的系統(tǒng)中的單個(gè)ICU時(shí)鐘周期更長的時(shí)間。因此,所述ICU可以被配置為允許每個(gè)仲裁回合具有多于一個(gè)的時(shí)鐘周期。在中斷系統(tǒng)中,來自中斷源的中斷請(qǐng)求經(jīng)由中斷仲裁并且可能經(jīng)由其它中斷管理而被傳送到中斷目標(biāo),例如CPU。在該路徑上可能發(fā)生軟錯(cuò)誤所導(dǎo)致的許多類型的故障。其中的一些例如 一不活動(dòng)中斷可能被錯(cuò)誤地識(shí)別為活動(dòng)的并且被傳送至CPU
一活動(dòng)或不活動(dòng)中斷可能被曲解(distort)并且被CPU作為不同的中斷進(jìn)行處理一雖然接收了正確的中斷,但是CPU可能對(duì)錯(cuò)誤的中斷進(jìn)行重置一中斷仲裁的獲勝方可能并不擁有最高優(yōu)先級(jí)。國際安全標(biāo)準(zhǔn)要求對(duì)中斷系統(tǒng)進(jìn)行監(jiān)視,以便達(dá)到所謂的安全完整性等級(jí)(SIL)。 這種監(jiān)視要求的已知實(shí)施方式是基于依賴于應(yīng)用的方案。沒有硬件支持的中斷合理性 (plausibility)檢查過于昂貴,尤其還降低了系統(tǒng)性能。在正常情況下,對(duì)此所需的檢測等級(jí)遠(yuǎn)高于大多數(shù)典型中斷服務(wù)例程的實(shí)際所需。此外,軟件解決方案并沒有覆蓋所有類型的錯(cuò)誤和/和故障模型。軟件解決方案能夠檢查傳送到CPU的中斷是否處于預(yù)期范圍之內(nèi)。然而,要檢查特定中斷在中斷源是否活動(dòng)則并不允許明確的結(jié)論,這是因?yàn)樵诂F(xiàn)代中斷系統(tǒng)中,中斷的原因可能已經(jīng)被之前的ISR調(diào)用所處理(和重置)。因此,例如需要一種提供中斷系統(tǒng)的獨(dú)立于應(yīng)用的監(jiān)視的設(shè)備和/或方法,其覆蓋中斷總線和/或中斷控制器的瞬時(shí)和永久故障。
發(fā)明內(nèi)容
依據(jù)本發(fā)明的一個(gè)方面,提供了一種用于驗(yàn)證由中斷控制器在多個(gè)服務(wù)請(qǐng)求節(jié)點(diǎn) (SRN)之間所執(zhí)行的仲裁中確立的獲勝服務(wù)請(qǐng)求節(jié)點(diǎn)(SRN)的優(yōu)先級(jí)的方法,所述方法包括
在所述中斷控制器中存儲(chǔ)獲勝SRN的優(yōu)先級(jí);
對(duì)獲勝SRN的優(yōu)先級(jí)進(jìn)行編碼,其中所述編碼考慮到(allow for)檢錯(cuò); 將經(jīng)編碼的優(yōu)先級(jí)從所述獲勝SRN傳送到所述中斷控制器;并且通過將獲勝SRN所傳送的經(jīng)編碼的優(yōu)先級(jí)與在所述仲裁中確立并存儲(chǔ)在所述中斷控制器中的獲勝SRN的優(yōu)先級(jí)進(jìn)行比較來驗(yàn)證所述獲勝SRN的優(yōu)先級(jí)。依據(jù)本發(fā)明進(jìn)一步的方面,提供了一種用于安全中斷處理的系統(tǒng),所述系統(tǒng)包括多個(gè)服務(wù)請(qǐng)求節(jié)點(diǎn)(SRN)和中斷控制器,其中
所述中斷控制器被配置為在具有活動(dòng)服務(wù)請(qǐng)求的SRN之間進(jìn)行仲裁以確定具有最高優(yōu)先級(jí)的獲勝SRN并且存儲(chǔ)獲勝SRN的優(yōu)先級(jí);
所述獲勝SRN被配置為對(duì)其優(yōu)先級(jí)進(jìn)行編碼并且將其經(jīng)編碼的優(yōu)先級(jí)傳送到所述中斷控制器,其中所述編碼考慮到檢錯(cuò);
所述中斷控制器被配置為接收獲勝SRN的經(jīng)編碼的優(yōu)先級(jí),并且將所述獲勝SRN的經(jīng)編碼的優(yōu)先級(jí)和在所述仲裁中確立的獲勝SRN的所存儲(chǔ)的優(yōu)先級(jí)轉(zhuǎn)發(fā)到集成電路以便進(jìn)行驗(yàn)證。通過以下參考附圖對(duì)本發(fā)明所進(jìn)行的詳細(xì)描述,本發(fā)明的其它特征、方面和優(yōu)勢將是顯而易見的。
附圖包括在此用以提供對(duì)本發(fā)明進(jìn)一步的理解,并且結(jié)合于該說明書中并構(gòu)成其一部分。所述附示了本發(fā)明的實(shí)施例并且連同文字描述一起用于解釋本發(fā)明的原理。 本發(fā)明的其它實(shí)施例以及本發(fā)明的許多預(yù)期優(yōu)勢都將隨著它們通過參考以下詳細(xì)描述被更好的理解而被輕易地意識(shí)到。圖1示出了用于示例性中斷總線的仲裁總線信號(hào)。圖2示例性示出了根據(jù)本發(fā)明實(shí)施例的用于安全中斷處理的系統(tǒng)的簡化示圖。圖3示出了示例性圖示依據(jù)本發(fā)明進(jìn)一步實(shí)施例的不同中斷總線狀態(tài)以及這些狀態(tài)之間的可能轉(zhuǎn)換的簡化示意平面圖。圖4示出了圖2所示的系統(tǒng)中的示例性仲裁協(xié)議。圖5和6示出了示意性簡化流程圖,其圖示了依據(jù)本發(fā)明進(jìn)一步實(shí)施例的用于驗(yàn)證獲勝服務(wù)請(qǐng)求節(jié)點(diǎn)的優(yōu)先級(jí)的方法。
具體實(shí)施例方式在以下詳細(xì)描述中,對(duì)形成這里一部分并且其中通過圖示示出了可以實(shí)踐本發(fā)明的特定實(shí)施例的附圖進(jìn)行參考。所要理解的是,可以利用其它實(shí)施例,并且可以進(jìn)行結(jié)構(gòu)或其它改變而并不會(huì)背離本發(fā)明的范圍。因此,以下詳細(xì)描述并不應(yīng)被理解為限制含義,并且本發(fā)明的范圍由所附權(quán)利要求來限定。微控制器必須對(duì)其所控制的嵌入式系統(tǒng)中的事件提供實(shí)時(shí)響應(yīng)。當(dāng)發(fā)生特定事件時(shí),中斷系統(tǒng)能夠以信號(hào)通知處理器暫停對(duì)當(dāng)前指令序列的處理,并且開始中斷服務(wù)例程 (ISR),其也被稱作“中斷處理程序”。所述ISR將在返回到原來的指令序列之前執(zhí)行中斷源所發(fā)出的中斷請(qǐng)求(IRQ)所要求的任意處理??赡艿闹袛嘣词且蕾囉谠O(shè)備的,并且通常包括事件,諸如內(nèi)部計(jì)時(shí)器溢出、完成模擬到數(shù)字的轉(zhuǎn)換、諸如來自被按壓按鈕的輸入的邏輯電平變化、以及通信鏈路上所接收到的數(shù)據(jù)。在功耗如在電池供電的設(shè)備中那樣重要的情況下,中斷也可能將微控制器從低功率的休眠狀態(tài)中喚醒,處理器在所述休眠狀態(tài)中停止直至外圍事件要求其進(jìn)行某些工作。中斷控制器被設(shè)計(jì)為向主處理器(中央處理器,CPU)提供中斷能力。當(dāng)設(shè)備發(fā)出中斷請(qǐng)求時(shí),其被送至中斷控制器,CPU由此生成中斷,所述CPU繼而利用所述中斷控制器通過特殊寄存器對(duì)中斷源進(jìn)行檢查,所述特殊寄存器保持在所述中斷控制器并由其進(jìn)行管理。中斷總線提供了能夠生成中斷或服務(wù)請(qǐng)求的設(shè)備連接到能夠?qū)χ袛噙M(jìn)行服務(wù)的設(shè)備的方式。這通??梢允沁B接到處理器的中斷控制器。諸如通用異步收發(fā)器(UART)或計(jì)時(shí)器之類的每種能夠生成中斷的設(shè)備(所謂的“中斷源”)具有一個(gè)或多個(gè)直接連接到中斷總線上的服務(wù)請(qǐng)求節(jié)點(diǎn)(SRN)。注意到,貫穿本申請(qǐng),術(shù)語“服務(wù)請(qǐng)求節(jié)點(diǎn)”都被用于分別連接到中斷總線和中斷控制器的節(jié)點(diǎn),其中所述服務(wù)請(qǐng)求節(jié)點(diǎn)被指定到特定中斷源,即能夠生成中斷的設(shè)備。因此,所述服務(wù)請(qǐng)求節(jié)點(diǎn)可以連接到特定中斷源或者是其一部分?!獋€(gè)系統(tǒng)可以實(shí)現(xiàn)任意數(shù)量的中斷總線。(根據(jù)實(shí)施方式)每個(gè)SRN可以在軟件中被配置為連接到多個(gè)中斷總線之一,或者不連接到任何中斷總線。每個(gè)中斷總線由連接到 SRN的中斷控制單元(I⑶)所控制。
在ICU和SRN之間的中斷總線上執(zhí)行仲裁過程,其用于確立多個(gè)服務(wù)請(qǐng)求中最高優(yōu)先級(jí)的服務(wù)請(qǐng)求。所述ICU的處理器能夠任意地接受該服務(wù)請(qǐng)求并且生成中斷。如果其當(dāng)前正在為更高優(yōu)先級(jí)的服務(wù)請(qǐng)求提供服務(wù),則也可以選擇不接受所述服務(wù)請(qǐng)求。每個(gè)SRN由系統(tǒng)上所運(yùn)行的軟件指定服務(wù)請(qǐng)求優(yōu)先級(jí)號(hào)(SRPN),其中參與中斷總線上的仲裁的每個(gè)SRN都需要唯一的SRPN。然而,只要兩個(gè)SRN使用不同的中斷總線,它們就可以共享相同的SRPN。此外,每個(gè)SRN還可關(guān)于它利用其指定的SRPN將服務(wù)請(qǐng)求(中斷)傳送到的中斷總線/I⑶進(jìn)行配置。I⑶在所有的活動(dòng)SRN之間進(jìn)行仲裁,所述活動(dòng)SRN即具有活動(dòng)服務(wù)請(qǐng)求的SRN, 其中仲裁基于活動(dòng)SRN的優(yōu)先級(jí)進(jìn)行。只要至少一個(gè)SRN在中斷總線上被請(qǐng)求(經(jīng)由中斷總線被指示),則I⑶就請(qǐng)求所有的活動(dòng)SRN經(jīng)由總線傳送其優(yōu)先級(jí)。中斷總線的特定接線方式使得最高優(yōu)先級(jí)(獲勝SRN 的優(yōu)先級(jí))被送至ICU。所述ICU將獲勝SRN的優(yōu)先級(jí)返回到SRN。參與該仲裁回合的所有SRN將ICU所返回的優(yōu)先級(jí)與其自己的優(yōu)先級(jí)進(jìn)行比較,并且如果它們相同就對(duì)它們自己進(jìn)行重置。ICU接管獲勝SRN的優(yōu)先級(jí)并且將其轉(zhuǎn)發(fā)至CPU。圖1示例性示出了 ICU 110和多個(gè)SRN 121、122和123之間的仲裁總線信號(hào)。ICU 110具有經(jīng)由連接170和171連接到第一 SRN 121,經(jīng)由連接170和172連接到第二 SRN 122,并且經(jīng)由連接170和173連接到第三SRN 123的第一輸出。連接170、171、 172和173形成了 I⑶命令總線(icu_cmd),其指示中斷仲裁過程的狀態(tài)。I⑶110具有經(jīng)由連接180和181連接到第一 SRN 121,經(jīng)由連接180和182連接到第二 SRN 122,并且經(jīng)由連接180和183連接到第三SRN 123的第二輸出,其中連接180、 181、182 和 183 形成了結(jié)果總線(icu_result)。每個(gè)SRN包括三個(gè)輸出,其中SRN 121、122和123的第一輸出分別經(jīng)由連接151a、 15 和153a連接到第一或門131a的輸入,SRN 121、122和123的第二輸出分別經(jīng)由連接 151b、152b和153b連接到第二或門131b的輸入,并且SRN 121、122和123的第三輸出分別經(jīng)由連接151c、152c和153c連接到第三或門131c的輸入。I⑶110具有經(jīng)由連接160a連接到第一或門131a的輸出的第一輸入,經(jīng)由連接 160b連接到第二或門131b的輸出的第二輸入,以及經(jīng)由連接160c連接到第三或門131c的輸出的第三輸入。例如,I⑶可以在軟件中被配置為承擔(dān)1、2、3或4個(gè)仲裁回合。這允許3、15、63 或255個(gè)SRN之間的仲裁。因此,根據(jù)ICU被配置執(zhí)行的仲裁回合的數(shù)目,在中斷總線上活動(dòng)的每個(gè)SRN可以具有處于1和3、15、63或255之間(且包含1和255)的服務(wù)請(qǐng)求優(yōu)先級(jí)號(hào)(SRPN)。適當(dāng)?shù)?,不活?dòng)的SRN可以具有為0的SPRN,而活動(dòng)SRN都不應(yīng)當(dāng)具有為0的 SRPN0可以通過將SRN的SRPN值劃分為例如1、2、3或4個(gè)位對(duì)來執(zhí)行仲裁。以仲裁中所使用的最高有效位對(duì)作為開始,每個(gè)具有未決服務(wù)請(qǐng)求的SRN將其用于該仲裁回合的位對(duì)值發(fā)送給ICU。這通過向ICU聲明或樹信號(hào)(or_tree01、or_treel0、or_treell)之一或并不向ICU聲明其中的任何一個(gè)來進(jìn)行該操作。如圖1所示,來自每個(gè)SRN的or_tree信號(hào)(在或門131a、131b、131c)與來自能夠連接到中斷總線的所有其它SRN的類似信號(hào)一起進(jìn)行或操作(or’ ed)。I⑶確定針對(duì)該對(duì)(例如,11、10、01或00)發(fā)送給它的最高優(yōu)先級(jí)號(hào),對(duì)其進(jìn)行存儲(chǔ),并且將結(jié)果在結(jié)果總線(icujesult)上發(fā)送回所有SRN。所有參與的SRN將結(jié)果總線與其SRPN位對(duì)進(jìn)行比較。如果它們相等,則所述SRN為該回合仲裁的獲勝者或并列獲勝者。 如果是這樣,該SRN保留在所述仲裁“之中”,并且參與下一回合的仲裁(除非這是最后的仲裁回合)。否則,所述SRN就輸?shù)袅藢?duì)更高優(yōu)先級(jí)中斷的仲裁,并且它們“退出”該仲裁。在例如1、2、3或4個(gè)仲裁回合結(jié)束時(shí),單個(gè)SRPN將會(huì)獲勝。信號(hào)可能會(huì)花費(fèi)很長時(shí)間通過“or_tree”進(jìn)行傳播,由I⑶進(jìn)行解碼,被發(fā)到結(jié)果總線上以及被定時(shí)打入SRN中。這可能花費(fèi)比具有快速ICU時(shí)鐘速率的系統(tǒng)中的單個(gè)ICU 時(shí)鐘周期更長的時(shí)間。因此,所述ICU可以被配置為允許每個(gè)仲裁回合具有多于一個(gè)的時(shí)鐘周期。在中斷系統(tǒng)中,來自中斷源的中斷請(qǐng)求經(jīng)由中斷仲裁并且可能經(jīng)由其它中斷管理而被傳送到中斷目標(biāo),例如CPU。在該路徑上可能發(fā)生軟錯(cuò)誤所導(dǎo)致的許多類型的故障。其中的一些例如 一不活動(dòng)中斷可能被錯(cuò)誤地識(shí)別為活動(dòng)的并且被傳送至CPU
一活動(dòng)或不活動(dòng)中斷可能被曲解并且被CPU作為不同的中斷進(jìn)行處理一雖然接收了正確的中斷,但是CPU可能對(duì)錯(cuò)誤的中斷進(jìn)行重置一中斷仲裁的獲勝方可能并不擁有最高優(yōu)先級(jí)。國際安全標(biāo)準(zhǔn)要求對(duì)中斷系統(tǒng)進(jìn)行監(jiān)視,以便達(dá)到所謂的安全完整性等級(jí)(SIL)。 這種監(jiān)視要求的已知實(shí)施方式是基于依賴于應(yīng)用的方案。沒有硬件支持的中斷合理性 (plausibility)檢查過于昂貴,尤其還降低了系統(tǒng)性能。在正常情況下,對(duì)此所需的檢測等級(jí)遠(yuǎn)高于大多數(shù)典型中斷服務(wù)例程的實(shí)際所需。此外,軟件解決方案并沒有覆蓋所有類型的錯(cuò)誤和/和故障模型。軟件解決方案能夠檢查傳送到CPU的中斷是否處于預(yù)期范圍之內(nèi)。然而,要檢查特定中斷在中斷源是否活動(dòng)則并不允許明確的結(jié)論,這是因?yàn)樵诂F(xiàn)代中斷系統(tǒng)中,中斷的原因可能已經(jīng)被之前的ISR調(diào)用所處理(和重置)。因此,例如需要一種提供中斷系統(tǒng)的獨(dú)立于應(yīng)用的監(jiān)視的設(shè)備和/或方法,其覆蓋中斷總線和/或中斷控制器的瞬時(shí)和永久故障。本發(fā)明提供了一種用于安全中斷處理的系統(tǒng)和方法。根據(jù)本發(fā)明的實(shí)施例,一種用于安全中斷處理的系統(tǒng)可以包括多個(gè)服務(wù)請(qǐng)求節(jié)點(diǎn)(SRN)和中斷控制器,其中具有活動(dòng)服務(wù)請(qǐng)求(例如,中斷請(qǐng)求或僅僅是“中斷”)的多個(gè)SRN中的每一個(gè)可以將其優(yōu)先級(jí)發(fā)送到所述中斷控制器,并且所述中斷控制器可以接收所述具有活動(dòng)服務(wù)請(qǐng)求的SRN的優(yōu)先級(jí)并且在所述具有活動(dòng)服務(wù)請(qǐng)求的SRN之間進(jìn)行仲裁以確定具有最高優(yōu)先級(jí)的獲勝SRN。所要注意的是,此后,術(shù)語“中斷請(qǐng)求”和“中斷”將同義被用于術(shù)語“服務(wù)請(qǐng)求”, 并且由此意在隨后在其最寬泛的含義中等同于服務(wù)請(qǐng)求。此外,中斷控制器可以存儲(chǔ)獲勝SRN的優(yōu)先級(jí),并且將指示獲勝SRN的信號(hào)(例如, 獲勝SRN的優(yōu)先級(jí))傳送給具有活動(dòng)中斷或服務(wù)請(qǐng)求的SRN。所述獲勝SRN對(duì)其優(yōu)先級(jí)進(jìn)行編碼,并且將其經(jīng)編碼的優(yōu)先級(jí)傳送到中斷控制器,其中所述編碼考慮到檢錯(cuò)。特別地,所述獲勝SRN可以使用檢錯(cuò)碼(EDC)或者糾錯(cuò)碼(ECC)對(duì)其優(yōu)先級(jí)進(jìn)行編
10碼。所述SRN可以包括EDC/ECC寄存器,或者可替換地包括EDC/ECC編碼器,以對(duì)其優(yōu)先級(jí)進(jìn)行EDC/ECC編碼。在后者的情況下(SRN包括EDC或ECC編碼器),中央處理器(CPU)可以定期地檢查所述優(yōu)先級(jí)以找出系統(tǒng)配置中的可能錯(cuò)誤。所述中斷控制器可以接收獲勝SRN的經(jīng)編碼的優(yōu)先級(jí),并且利用獲勝SRN的所存儲(chǔ)的優(yōu)先級(jí)對(duì)獲勝SRN的經(jīng)編碼的優(yōu)先級(jí)進(jìn)行驗(yàn)證,或者將獲勝SRN的經(jīng)編碼的優(yōu)先級(jí)和在仲裁中所確立的獲勝SRN的所存儲(chǔ)優(yōu)先級(jí)轉(zhuǎn)發(fā)到集成電路(IC)以便進(jìn)行驗(yàn)證。在這種情況下,所述IC (例如,中央處理器(CPU))可以接著通過將從中斷控制器所傳送的兩個(gè)優(yōu)先級(jí)相比較來執(zhí)行驗(yàn)證,其中(中斷控制器中所存儲(chǔ)的)未編碼的優(yōu)先級(jí)可以在比較之前進(jìn)行編碼(例如,EDC或ECC編碼)。此外,所述中斷控制器可以將獲勝SRN的經(jīng)編碼的優(yōu)先級(jí)返回給具有活動(dòng)服務(wù)請(qǐng)求的SRN,特別是返回給獲勝SRN,所述獲勝SRN接著可以通過將所返回的經(jīng)編碼的優(yōu)先級(jí)與其自己的優(yōu)先級(jí)進(jìn)行比較來驗(yàn)證中斷控制器所返回的經(jīng)編碼的優(yōu)先級(jí)。在所述比較之前,所述獲勝SRN可以對(duì)其優(yōu)先級(jí)進(jìn)行(例如,EDC或EEC)編碼。在包括EDC/ECC寄存器的SRN的第一實(shí)施例中,獲勝SRN可以將所返回的經(jīng)EDC/ ECC編碼的優(yōu)先級(jí)與其EDC/ECC寄存器中經(jīng)EDC/ECC編碼的優(yōu)先級(jí)進(jìn)行比較,以驗(yàn)證中斷控制器所返回的經(jīng)ECC編碼的優(yōu)先級(jí)。在包括EDC/ECC編碼器的SRN的第二實(shí)施例中,獲勝SRN可以將所返回的經(jīng)EDC/ ECC編碼的優(yōu)先級(jí)與其EDC/ECC編碼器所輸出的經(jīng)EDC/ECC編碼的優(yōu)先級(jí)進(jìn)行比較,以驗(yàn)證中斷控制器所返回的經(jīng)ECC編碼的優(yōu)先級(jí)。根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,一種用于安全中斷處理的系統(tǒng)包括具有EDC或ECC 寄存器的多個(gè)服務(wù)請(qǐng)求節(jié)點(diǎn)(SRN)以及中斷控制器,其中具有活動(dòng)中斷請(qǐng)求的多個(gè)SRN被配置為將其優(yōu)先級(jí)發(fā)送到所述中斷控制器;并且所述中斷控制器被配置為所述多個(gè)SRN之間進(jìn)行仲裁以確定具有最高優(yōu)先級(jí)的獲勝SRN,從所述獲勝SRN的EDC或ECC寄存器中讀出經(jīng)EDC或EEC編碼的優(yōu)先級(jí),并且利用所述獲勝SRN的經(jīng)EDC或EEC編碼的優(yōu)先級(jí)對(duì)所述獲勝SRN的優(yōu)先級(jí)進(jìn)行驗(yàn)證,或者將所述獲勝SRN經(jīng)編碼的優(yōu)先級(jí)和在所述仲裁中所確立的獲勝SRN的優(yōu)先級(jí)轉(zhuǎn)發(fā)到集成電路以便進(jìn)行驗(yàn)證。有利地,所述中斷控制器進(jìn)一步被配置為將獲勝SRN的經(jīng)EDC或EEC編碼的優(yōu)先級(jí)返回到具有活動(dòng)中斷請(qǐng)求的SRN。有利地,所述獲勝SRN進(jìn)一步被配置為對(duì)所述中斷控制器所返回的經(jīng)EDC或EEC 編碼的優(yōu)先級(jí)進(jìn)行驗(yàn)證。有利地,所述獲勝SRN進(jìn)一步被配置為通過將所返回的經(jīng)EDC或ECC編碼的優(yōu)先級(jí)與其EDC或ECC寄存器中經(jīng)EDC或ECC編碼的優(yōu)先級(jí)進(jìn)行比較以對(duì)所述中斷控制器所返回的經(jīng)EDC或ECC編碼的優(yōu)先級(jí)進(jìn)行驗(yàn)證。根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,一種用于對(duì)在多個(gè)服務(wù)請(qǐng)求節(jié)點(diǎn)(SRN)之間的仲裁中確立的獲勝服務(wù)請(qǐng)求節(jié)點(diǎn)(SRN)的優(yōu)先級(jí)進(jìn)行驗(yàn)證的方法可以包括將所述獲勝SRN的優(yōu)先級(jí)存儲(chǔ)在中斷控制器中,并且對(duì)所述獲勝SRN的優(yōu)先級(jí)進(jìn)行編碼,其中所述編碼考慮到檢錯(cuò)。特別地,可以使用檢錯(cuò)碼(EDC)或者糾錯(cuò)碼(ECC)對(duì)所述獲勝SRN的優(yōu)先級(jí)進(jìn)行編碼。
所述方法可以進(jìn)一步包括將經(jīng)編碼的優(yōu)先級(jí)從所述獲勝SRN傳送到中斷控制器, 并且通過將所述獲勝SRN所傳送的經(jīng)編碼的優(yōu)先級(jí)與在所述仲裁中確立并且存儲(chǔ)在所述中斷控制器中的所述獲勝SRN的優(yōu)先級(jí)進(jìn)行比較來驗(yàn)證所述獲勝SRN的優(yōu)先級(jí)。驗(yàn)證所述獲勝SRN的優(yōu)先級(jí)的步驟可以由所述中斷控制器來執(zhí)行,或者所述中斷控制器可以將所要比較的兩個(gè)優(yōu)先級(jí)轉(zhuǎn)發(fā)到集成電路以便進(jìn)行驗(yàn)證。所述方法可以進(jìn)一步包括將所述獲勝SRN的經(jīng)編碼的優(yōu)先級(jí)返回到多個(gè)SRN,并且由所述獲勝SRN通過將所返回的經(jīng)編碼的優(yōu)先級(jí)與其自己的優(yōu)先級(jí)進(jìn)行比較而對(duì)所述中斷控制器所返回的經(jīng)編碼的優(yōu)先級(jí)進(jìn)行驗(yàn)證。根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,一種用于驗(yàn)證服務(wù)請(qǐng)求的完整性的方法可以包括 對(duì)多個(gè)服務(wù)請(qǐng)求源的服務(wù)請(qǐng)求進(jìn)行編碼,其中所述編碼考慮到檢錯(cuò),將所述服務(wù)請(qǐng)求和經(jīng)編碼的服務(wù)請(qǐng)求從所述多個(gè)服務(wù)請(qǐng)求源傳送到服務(wù)請(qǐng)求控制器,通過在所述多個(gè)服務(wù)請(qǐng)求源之間進(jìn)行仲裁來確定獲勝服務(wù)請(qǐng)求源,并且利用所述獲勝服務(wù)請(qǐng)求源的經(jīng)編碼的服務(wù)請(qǐng)求對(duì)所述獲勝服務(wù)請(qǐng)求源的身份(identity)進(jìn)行驗(yàn)證。有利地,所述方法可以進(jìn)一步包括將所述獲勝服務(wù)請(qǐng)求源的經(jīng)編碼的服務(wù)請(qǐng)求返回所述多個(gè)服務(wù)請(qǐng)求源,并且由所述獲勝服務(wù)請(qǐng)求源通過將從所述服務(wù)請(qǐng)求控制器所返回的經(jīng)編碼的服務(wù)請(qǐng)求與所述獲勝服務(wù)請(qǐng)求源的服務(wù)請(qǐng)求進(jìn)行比較來對(duì)所返回的經(jīng)編碼的服務(wù)請(qǐng)求進(jìn)行驗(yàn)證。根據(jù)本發(fā)明進(jìn)一步的實(shí)施例,一種用于驗(yàn)證服務(wù)請(qǐng)求的完整性的設(shè)備可以包括 用于對(duì)多個(gè)服務(wù)請(qǐng)求源的服務(wù)請(qǐng)求進(jìn)行編碼的裝置,其中所述編碼考慮到檢錯(cuò)(例如,EDC 或EEC),用于將經(jīng)編碼的服務(wù)請(qǐng)求從所述多個(gè)服務(wù)請(qǐng)求源傳送到服務(wù)請(qǐng)求控制器的裝置, 用于通過在所述多個(gè)服務(wù)請(qǐng)求源之間進(jìn)行仲裁來確定獲勝服務(wù)請(qǐng)求源的裝置,用于將所述獲勝服務(wù)請(qǐng)求源的經(jīng)編碼的服務(wù)請(qǐng)求返回到所述多個(gè)服務(wù)請(qǐng)求源的裝置,以及用于在所述獲勝服務(wù)請(qǐng)求源處通過將從所述服務(wù)請(qǐng)求控制器所返回的經(jīng)編碼的服務(wù)請(qǐng)求與所述獲勝服務(wù)請(qǐng)求源的服務(wù)請(qǐng)求進(jìn)行比較來對(duì)所返回的經(jīng)編碼的服務(wù)請(qǐng)求進(jìn)行驗(yàn)證的裝置。有利地,所述用于編碼的裝置可以包括EDC或EEC寄存器或者EDC或EEC編碼器。 有利地,所述用于驗(yàn)證服務(wù)請(qǐng)求的完整性的設(shè)備可以進(jìn)一步包括用于存儲(chǔ)所述獲勝服務(wù)請(qǐng)求源的經(jīng)編碼的服務(wù)請(qǐng)求的裝置,以及用于將所存儲(chǔ)的經(jīng)編碼的服務(wù)請(qǐng)求轉(zhuǎn)發(fā)到集成電路以便進(jìn)行驗(yàn)證的裝置。圖2示例性示出了根據(jù)本發(fā)明實(shí)施例的用于安全中斷處理的系統(tǒng)的簡化示圖。I⑶210具有經(jīng)由連接270和271連接到第一 SRN 221,經(jīng)由連接270和272連接到第二 SRN 222,并且經(jīng)由連接270和273連接到第三SRN 223的第一輸出。連接270、271、 272和273形成了 I⑶命令總線(icu_cmd),其指示中斷仲裁過程的狀態(tài)。I⑶210具有經(jīng)由連接280和281連接到第一 SRN 221,經(jīng)由連接280和282連接到第二 SRN 222,并且經(jīng)由連接280和283連接到第三SRN 223的第二輸出,其中連接觀0、 281、282 和 283 形成了結(jié)果總線(icu_result)。在該實(shí)施例中,每個(gè)SRN包括η個(gè)輸出(例如15個(gè)輸出),其中SRN 221、222和223 的第一輸出分別經(jīng)由連接251a、25^i和253a連接到第一或門231a的輸入,SRN 221,222 和223的第二輸出分別經(jīng)由連接251b、252b和253b連接到第二或門231b的輸入,…,并且SRN 221,222和223的第η輸出分別經(jīng)由連接251η,252η和253η連接到第η或門231η的輸入。I⑶210具有經(jīng)由連接^Oa連接到第一或門231a的輸出的第一輸入,經(jīng)由連接 260b連接到第二或門231b的輸出的第二輸入,…,以及經(jīng)由連接^On連接到第η或門 231η的第η輸入。圖3示出了示例性圖示依據(jù)本發(fā)明進(jìn)一步實(shí)施例的不同中斷總線狀態(tài)以及這些狀態(tài)之間的可能轉(zhuǎn)換的簡化示意平面圖。ICU命令總線(icU_cmd)指示中斷仲裁過程的狀態(tài)。在該實(shí)施例中,中斷仲裁過程包括四個(gè)狀態(tài),IDLE、ARB、COMP和HOLD,其中狀態(tài)“HOLD”在兩種背景下(在仲裁期間和仲裁之后)使用,它們?cè)谶@里被稱作“H0LD1 ”和“H0LD2 ”。缺省和重置狀態(tài)為IDLE。在IDLE狀態(tài)中,每個(gè)SRN被使能到中斷總線上并且具有聲明其or_tree0011信號(hào)的服務(wù)請(qǐng)求。如圖2所示,來自能夠連接到中斷總線的所有SRN的 or_tree0011信號(hào)在一起進(jìn)行或操作并且輸入到ICU。如果任意SRN聲明其or_tree0011 信號(hào),則I⑶的Or_tree0011信號(hào)輸入將被聲明。如果一個(gè)或多個(gè)SRN聲明了其Or_tree0011信號(hào),則開始仲裁并且下一個(gè)I⑶命令總線(icU_cmd)狀態(tài)將為ARB。否則,所述ICU繼續(xù)等待下一個(gè)服務(wù)請(qǐng)求并且下一個(gè)icu_ cmd再次為IDLE。當(dāng)從H0LD2狀態(tài)進(jìn)入IDLE狀態(tài)時(shí),這指示贏得之前仲裁的服務(wù)請(qǐng)求已經(jīng)被處理器所接受并且將生成中斷。在之前的H0LD2期間聲明了 Or_tree0010的SRN (獲勝SRN)應(yīng)當(dāng)清除其服務(wù)請(qǐng)求標(biāo)志并且不再參與緊隨其后的任何仲裁。如果沒有SRN在之前的H0LD2期間聲明or_tree0010,則不生成中斷并且沒有SRN應(yīng)該清除其服務(wù)請(qǐng)求標(biāo)志。當(dāng)進(jìn)入ARB狀態(tài)時(shí),其是以信號(hào)通知所有SRN即將開始新的中斷仲裁。任何具有未決服務(wù)請(qǐng)求的SRN都將參與其中。任何在仲裁期間(即在后續(xù)的COMP和HOLDl狀態(tài)中) 得到新服務(wù)請(qǐng)求的SRN都將不進(jìn)入所述仲裁,而是等待下一個(gè)ARB狀態(tài)。僅具有在ARB狀態(tài)期間活動(dòng)的服務(wù)請(qǐng)求的SRN將參與后續(xù)的仲裁。這些SRN都開始所述仲裁“之中”的第一仲裁回合。用于每次中斷仲裁的仲裁回合的數(shù)量都可以在ICU中進(jìn)行軟件配置。例如, 改變從1至4的仲裁回合的數(shù)目允許在3、15、63或255個(gè)活動(dòng)SRN之間進(jìn)行仲裁,并且允許用戶對(duì)仲裁等待時(shí)間進(jìn)行控制。結(jié)果總線(icu_reSult)在ARB期間被用來通知所有參與的SRN將有多少仲裁回合,并且因此SRPN的哪些位對(duì)要在哪個(gè)回合中使用。如果ICU被配置為執(zhí)行單周期的仲裁回合,則下一個(gè)icu_cmd狀態(tài)為C0MP。否則,ICU被配置為執(zhí)行雙或多周期的仲裁回合并且下一個(gè)icu_cmd狀態(tài)為HOLDl。當(dāng)直接從H0LD2狀態(tài)進(jìn)入ARB狀態(tài)時(shí),如果SRN已經(jīng)贏得了之前的仲裁(即,其在 H0LD2期間聲明了 orjreeOOlO),SRN的服務(wù)請(qǐng)求被拒絕進(jìn)行之前的仲裁并且該SRN應(yīng)該參加這次新的仲裁。仲裁回合可以采用1、2或更多的周期。每個(gè)仲裁回合的最終(或僅有)狀態(tài)為COMP 狀態(tài)。然而,對(duì)于雙和多周期仲裁回合而言,通過在HOLDl狀態(tài)中付出一個(gè)或多個(gè)周期而延長每個(gè)回合的持續(xù)時(shí)間。在HOLDl狀態(tài)期間,仍然處于仲裁“之中”的每個(gè)SRN根據(jù)用于該仲裁回合的SPRN位而聲明其or_treeXXXX信號(hào)之一或者不聲明其中任何一個(gè)。I⑶根據(jù)處于本回合的仲裁之中并且相應(yīng)聲明了 icu_reSult的SRN確定最高優(yōu)先
13級(jí)的SPRN位對(duì)。對(duì)于雙周期的仲裁回合而言,下一個(gè)狀態(tài)為C0MP。對(duì)于多周期的仲裁回合而言,如果在該仲裁回合結(jié)束之前僅有一個(gè)或多個(gè)ICU時(shí)鐘周期,則下一個(gè)狀態(tài)為C0MP。 否則,下一個(gè)狀態(tài)為HOLDl。SRN將仍然在整個(gè)仲裁回合內(nèi)(S卩,HOLDl和COMP狀態(tài))將其 or_treeXXXX信號(hào)保持在相同電平。即使SRN的服務(wù)請(qǐng)求在HOLDl期間被取消或禁止,or_ treeXXXX信號(hào)也將在任意的后續(xù)HOLDl周期和下一個(gè)COMP周期得以保持。在COMP狀態(tài)期間,仍然處于仲裁“之中”的每個(gè)SRN根據(jù)用于該仲裁回合的SRPN 位對(duì)聲明其or_treeXXXX信號(hào)。I⑶確定來自處于該回合仲裁之中并相應(yīng)聲明了 icu_ result的SRN的最高優(yōu)先級(jí)的SRPN位對(duì)。注意,對(duì)于雙和多周期的仲裁回合而言,or_treeXXXX和iCu_result信號(hào)邏輯在 HOLDl和COMP狀態(tài)保持相同。COMP狀態(tài)以兩種方式不同于HOLDl狀態(tài)
首先,處于仲裁“之中”的每個(gè)SRN針對(duì)該仲裁回合將icU_reSUlt與其SRPN位對(duì)進(jìn)行比較。如果它們相同則該SRN已經(jīng)贏得或共同贏得了該仲裁回合。如果是這樣,并且這不是最終的仲裁回合,則所述SRN仍然處于下一個(gè)回合的仲裁“之中”。如果其是最終的仲裁回合,則所述SRN就已經(jīng)贏得了所述仲裁。如果icu_reSult在該仲裁回合不同于SRN的SRPN 位對(duì),則所述SRN就輸?shù)袅嗽撝俨没睾喜⑶乙话爿數(shù)袅怂鲋俨谩H绻沁@樣,所述SRN將 “退出”任何其它的仲裁回合;
其次,在COMP狀態(tài)之后,仲裁或者進(jìn)行至下一個(gè)SRPN位對(duì)上,或者仲裁結(jié)束。如果該仲裁回合是該仲裁最后的仲裁回合,則下一個(gè)狀態(tài)為H0LD2。對(duì)于還沒有完成仲裁的單周期仲裁回合而言,下一個(gè)狀態(tài)為C0MP。對(duì)于還沒有完成仲裁的雙和多周期仲裁回合而言,下一個(gè)狀態(tài)為HOLDl。當(dāng)中斷總線達(dá)到H0LD2狀態(tài)時(shí),通常單個(gè)SRN已經(jīng)贏得了仲裁。獲勝SRN聲明or_ treeOOlO以確認(rèn)其已經(jīng)贏得了仲裁并且所述請(qǐng)求仍然活動(dòng)(沒有在仲裁期間取消)。獲勝 SRN進(jìn)一步經(jīng)由例如or_tree0010至or_treel000向I⑶發(fā)送例如其優(yōu)先級(jí)的5位的糾錯(cuò)碼(ECC),并且所述ICU將所接收的優(yōu)先級(jí)與所存儲(chǔ)的仲裁獲勝方(S卩,獲勝SRN)的優(yōu)先級(jí)進(jìn)行比較以便進(jìn)行驗(yàn)證。此外,所述ICU經(jīng)由結(jié)果總線(icu_reS)向所述SRN返回例如5位的ECC,并且所述獲勝SRN將從ICU所接收的優(yōu)先級(jí)與其自己的優(yōu)先級(jí)進(jìn)行比較。如果or_tree0010被聲明,則ICU向處理器報(bào)告所述服務(wù)請(qǐng)求和優(yōu)先級(jí)號(hào)。所述處理器接著可以選擇接受所述服務(wù)請(qǐng)求并生成中斷。如果其已經(jīng)承擔(dān)了更高優(yōu)先級(jí)的服務(wù)請(qǐng)求,則其可以選擇不接受所述服務(wù)請(qǐng)求。所述處理器可以花費(fèi)多個(gè)周期來接受服務(wù)請(qǐng)求。所述ICU等待服務(wù)請(qǐng)求被接受的同時(shí)停留在H0LD2狀態(tài)。當(dāng)所述處理器接受服務(wù)請(qǐng)求時(shí),其向I⑶發(fā)送接受信號(hào)。所述I⑶接著進(jìn)行下一個(gè)icu_cmd狀態(tài)IDLE。當(dāng)獲勝SRN看到從H0LD2狀態(tài)轉(zhuǎn)換到IDLE時(shí),其清除其服務(wù)請(qǐng)求標(biāo)
ο如果由于獲勝SRN已經(jīng)在仲裁期間取消或禁止了其服務(wù)請(qǐng)求而沒有SRN確認(rèn)贏得仲裁(H0LD2中Or_tree0010為否),則I⑶可以進(jìn)行到IDLE的轉(zhuǎn)換而并沒有任何SRN清除其服務(wù)請(qǐng)求標(biāo)志。然而,為了避免增加額外的中斷等待時(shí)間,ICU在對(duì)處理器做出服務(wù)請(qǐng)求之前并不需要等待利用or_tree0010來證明獲勝SRPN合格(qualify)。所述ICU將在實(shí)施特定(并且可能是可變的)數(shù)量的周期之后超時(shí)。在此之后,如果處理器還沒有接受服務(wù)請(qǐng)求,則I⑶將通過進(jìn)行下一個(gè)狀態(tài)ARB重新仲裁??吹綇腍0LD2 到ARB的狀態(tài)轉(zhuǎn)換的獲勝SRN將忽略其已經(jīng)贏得仲裁的事實(shí)并且參與到下一次仲裁之中。如果沒有SRN贏得仲裁(獲勝SRPN為零),則不生成中斷,并且下一個(gè)狀態(tài)可以為 IDLE或ARB (特定于實(shí)施方式)。圖4示出了圖2所示系統(tǒng)的示例性仲裁協(xié)議。在這種情況下,所述仲裁協(xié)議包括 14個(gè)示例性的ICU時(shí)鐘周期。表1提供了圖4所示的示例性周期中的每個(gè)的簡短描述4 描if1IDLEa fi ^ 務(wù)沾求IDLE11 fl it 左級(jí) Ox 1 13, 0\12! Ill Ox123 1% . t 本 ik 1II 務(wù)'ir -R .. H 1、U 細(xì)務(wù) ,1.-JUPj SRX 明 or frceOOl i.3ARB ^HOLD IΠ、 仲 ft. ku. rcs %l Ift -J、β fr ;個(gè)沖裁 M fr 的”O(jiān)OO10 “.. 柯.1、Il ii IiSi Jy ι' - ;豹 SRX 明 wr treeOOI 1. + fi t 沖 S 1 1 fi Γ [J I1^t ΙΛ| IP!. HOLD I III COM P WI IP!, ‘ % +^ttMfN HOl.DI W.明 fl 1 Ij 4cUl !)|l 務(wù)沾求的.:個(gè) SRN 選 Jι SiPN |>V| 11:8( if IL !· IiJJ 1 j SRPNI! 1:8JfM 6'JflU'l I·-'" if'j or—lrcc i.V υ t 或 or——, η:( 01 ).S,COMP笫-仲COMP ^!13 ft'fj .:+1、SRN mu:f'>m 1J a SRPNlI 1:S]編的相對(duì)一的 or irec (Γ, . IΓ ! 將 icti 1 j SRl'Nl I Iffitlz :.它!'Jti 1., W ft1: IW 籍戰(zhàn)‘‘之屮” > Ι υ I- +1、沖戰(zhàn)Mf .6IlOLDf* 5 隨 I' I-IOtJ)! M W f] 1L ι 決丨K 務(wù);iV4i 的;1、SRTs HH shpm |>;{ 41 Jl IL ";叫 1J It- SRPNE7:41 ? 祀對(duì) I '·! 1 orJret·','-] -個(gè) SRN ‘;SRPN =Ox 113 1 山 IiJj rt,:tree Ml), Iill 11:它· SRI5N121 :'0x !23 ?!;i;Jj or ireeOOH),, .COMP .Η ) .‘,Γ?B -PNkMCr, IOMP^W ..1、 SRN ' SRPN=Oxi 13 ι 山.叫 orJrecOOO 1 , _ Jt 它 < SRPN=Oxl 2 I /Ox i 23 々明 or frceOO 1 Il. SRK :1 icti jes jJ !I SRPKf":4]l4ijltlt -1 SRN t SRPN =Ox I 13 Hi 1 i 仲戰(zhàn).lill 11 他IH 仲拔Μ , HOI,I 酬 JHi ^miit W^ft-JiijI Iv skn a if Iii mm 11。明 1J SRPN[1;0| ^ 相 M 的 orJree ·} .. ■個(gè) SRN ‘SRPM^tK123 ) ! or—IreeOOI I , lfi{ 個(gè)(SRPN: xl2l ) ι 11 m trudMOl -.9COMP% ++.仲 SiNfr. COMP 購 -1 SRKi SRPN-CK121 J 屮 IiJj r trccOII 11, litj 個(gè)(SRPN-Ox 121 ι ?“ Jj wjrec_l 仍然專 i^ili SRN HRI N=Oxl2l.1)xl2l J 才-{ icu+jes !.j K. SRPN13:0j f j, t2.. f SRN c SRPN-C)\!2t ) mill Pl1 UlΦ] H . 1、SRN ( SRPN-Ox!23) M- W10HOLD2ifciri SRNA ( Hl it ^1; IXHH OOfO OOi !) f''H>! < rja-c 0HJ ttf.VUMi+ili ICU 沾求仍然;—Λ動(dòng) α 〗7 ;仲線明 M^kiil) —.fft ; 11 or 100 i'H or tree I _ I^l ICI! '/< 送 JI 優(yōu) t:M 釣 5 P ECC, IClJ AJ IIj 所保 fr 的 ft 11. (C 左級(jí)進(jìn) / Λ ......It:n 翻 icu rcsHrC)]^ IitT SIlN, ft Ift SRN H. Il ι 的 ft )|; tti|fr P ΛI(xiàn) 1HOLD2ft If! SRR.'s U fl PC 請(qǐng) _ ι IM H> OCKH J
權(quán)利要求
1.一種用于安全中斷處理的系統(tǒng),所述系統(tǒng)包括 多個(gè)服務(wù)請(qǐng)求節(jié)點(diǎn)(SRN)以及中斷控制器,其中所述中斷控制器被配置為在具有活動(dòng)服務(wù)請(qǐng)求的SRN之間進(jìn)行仲裁以確定具有最高優(yōu)先級(jí)的獲勝SRN并且存儲(chǔ)獲勝SRN的優(yōu)先級(jí);所述獲勝SRN被配置為對(duì)其優(yōu)先級(jí)進(jìn)行編碼并且將其經(jīng)編碼的優(yōu)先級(jí)傳送到所述中斷控制器,其中所述編碼考慮到檢錯(cuò);所述中斷控制器被進(jìn)一步配置為接收獲勝SRN的經(jīng)編碼的優(yōu)先級(jí),并且利用獲勝SRN的所存儲(chǔ)的優(yōu)先級(jí)對(duì)其進(jìn)行驗(yàn)證,或者將所述獲勝SRN的經(jīng)編碼的優(yōu)先級(jí)和在所述仲裁中確立的所述獲勝SRN的所存儲(chǔ)的優(yōu)先級(jí)轉(zhuǎn)發(fā)到集成電路以便進(jìn)行驗(yàn)證。
2.如權(quán)利要求1所述的系統(tǒng),其中所述中斷控制器進(jìn)一步被配置為將獲勝SRN的經(jīng)編碼的優(yōu)先級(jí)返回到具有活動(dòng)服務(wù)請(qǐng)求的SRN ;并且所述獲勝SRN進(jìn)一步被配置為通過將所返回的經(jīng)編碼優(yōu)先級(jí)與其自己的優(yōu)先級(jí)進(jìn)行比較來對(duì)所述中斷控制器所返回的經(jīng)編碼的優(yōu)先級(jí)進(jìn)行驗(yàn)證。
3.如權(quán)利要求1所述的系統(tǒng),其中所述中斷控制器進(jìn)一步被配置為將指示在仲裁中所確立的獲勝SRN的信號(hào)傳送到具有活動(dòng)中斷請(qǐng)求的SRN。
4.如權(quán)利要求3所述的系統(tǒng),其中所述指示獲勝SRN的信號(hào)包括所述獲勝SRN的優(yōu)先級(jí)。
5.如權(quán)利要求1所述的系統(tǒng),其中所述多個(gè)SRN中的具有活動(dòng)服務(wù)請(qǐng)求的每一個(gè)SRN 進(jìn)一步被配置為將其優(yōu)先級(jí)發(fā)送到中斷控制器;所述中斷控制器進(jìn)一步被配置為接收具有活動(dòng)服務(wù)請(qǐng)求的SRN的優(yōu)先級(jí)并且基于所接收的優(yōu)先級(jí)在具有活動(dòng)服務(wù)請(qǐng)求的所述多個(gè)SRN之間執(zhí)行仲裁。
6.如權(quán)利要求1所述的系統(tǒng),其中所述獲勝SRN進(jìn)一步被配置為使用檢錯(cuò)碼(EDC)或糾錯(cuò)碼(ECC)對(duì)其優(yōu)先級(jí)進(jìn)行編碼。
7.如權(quán)利要求6所述的系統(tǒng),其中SRN包括EDC或ECC寄存器,并且所述獲勝SRN被配置為通過將所返回的經(jīng)EDC或ECC編碼的優(yōu)先級(jí)與其EDC或ECC寄存器中經(jīng)EDC或ECC 編碼的優(yōu)先級(jí)進(jìn)行比較來驗(yàn)證中斷控制器所返回的經(jīng)EDC或ECC編碼的優(yōu)先級(jí)。
8.如權(quán)利要求6所述的系統(tǒng),其中所述SRN包括EDC或ECC編碼器,并且所述獲勝SNR 被配置為利用所述EDC或ECC編碼器對(duì)其優(yōu)先級(jí)進(jìn)行EDC或ECC編碼,并且通過將所返回的經(jīng)EDC或ECC編碼的優(yōu)先級(jí)與其EDC或ECC編碼器所輸出的經(jīng)EDC或ECC編碼的優(yōu)先級(jí)進(jìn)行比較來驗(yàn)證中斷控制器所返回的經(jīng)EDC或ECC編碼的優(yōu)先級(jí)。
9.一種用于安全中斷處理的系統(tǒng),所述系統(tǒng)包括 具有EDC或EEC寄存器的多個(gè)服務(wù)請(qǐng)求節(jié)點(diǎn)(SRN),和中斷控制器,其中具有活動(dòng)中斷請(qǐng)求的多個(gè)SRN被配置為將其優(yōu)先級(jí)發(fā)送到所述中斷控制器,并且所述中斷控制器被配置為在所述多個(gè)SRN之間進(jìn)行仲裁以確定具有最高優(yōu)先級(jí)的獲勝SRN ; 從所述獲勝SRN的EDC或EEC寄存器讀出經(jīng)EDC或EEC編碼的優(yōu)先級(jí); 利用所述獲勝SRN的經(jīng)EDC或EEC編碼的優(yōu)先級(jí)驗(yàn)證所述獲勝SRN的優(yōu)先級(jí),或者將所述獲勝SRN的經(jīng)編碼的優(yōu)先級(jí)和在仲裁中確立的所述獲勝SRN的優(yōu)先級(jí)轉(zhuǎn)發(fā)到集成電路以便進(jìn)行驗(yàn)證。
10.如權(quán)利要求9所述的系統(tǒng),其中所述中斷控制器進(jìn)一步被配置為將所述獲勝SRN 的經(jīng)EDC或EEC編碼的優(yōu)先級(jí)返回到具有活動(dòng)中斷請(qǐng)求的SRN。
11.如權(quán)利要求10所述的系統(tǒng),其中所述獲勝SRN進(jìn)一步被配置為驗(yàn)證中斷控制器所返回的經(jīng)EDC或ECC編碼的優(yōu)先級(jí)。
12.如權(quán)利要求10所述的系統(tǒng),其中所述獲勝SRN進(jìn)一步被配置為通過將所返回的經(jīng) EDC或ECC編碼的優(yōu)先級(jí)與其EDC或ECC寄存器中經(jīng)EDC或ECC編碼的優(yōu)先級(jí)進(jìn)行比較來驗(yàn)證中斷控制器所返回的經(jīng)EDC或ECC編碼的優(yōu)先級(jí)。
13.一種用于對(duì)中斷控制器在多個(gè)服務(wù)請(qǐng)求節(jié)點(diǎn)(SRN)之間所執(zhí)行的仲裁中確立的獲勝服務(wù)請(qǐng)求節(jié)點(diǎn)(SRN)的優(yōu)先級(jí)進(jìn)行驗(yàn)證的方法,所述方法包括將所述獲勝SRN的優(yōu)先級(jí)存儲(chǔ)在中斷控制器中;對(duì)所述獲勝SRN的優(yōu)先級(jí)進(jìn)行編碼,其中所述編碼考慮到檢錯(cuò);將經(jīng)編碼的優(yōu)先級(jí)從所述獲勝SRN傳送到中斷控制器;以及通過將所述獲勝SRN所傳送的經(jīng)編碼的優(yōu)先級(jí)與在仲裁中確立并且存儲(chǔ)在中斷控制器中的所述獲勝SRN的優(yōu)先級(jí)進(jìn)行比較來驗(yàn)證所述獲勝SRN的優(yōu)先級(jí)。
14.如權(quán)利要求13所述的方法,進(jìn)一步包括將所述獲勝SRN的經(jīng)編碼的優(yōu)先級(jí)返回到所述多個(gè)SRN;并且由所述獲勝SRN通過將所返回的經(jīng)編碼的優(yōu)先級(jí)與其自己的優(yōu)先級(jí)進(jìn)行比較來驗(yàn)證所述中斷控制器所返回的經(jīng)編碼的優(yōu)先級(jí)。
15.如權(quán)利要求13所述的方法,其中驗(yàn)證所述獲勝SRN的優(yōu)先級(jí)的步驟由所述中斷控制器執(zhí)行。
16.如權(quán)利要求13所述的方法,其中驗(yàn)證所述獲勝SRN的優(yōu)先級(jí)的步驟包括將所述獲勝SRN所傳送的經(jīng)編碼的優(yōu)先級(jí)和在仲裁中確立并且存儲(chǔ)在中斷控制器中的所述獲勝SRN 的優(yōu)先級(jí)轉(zhuǎn)發(fā)到集成電路以便進(jìn)行驗(yàn)證。
17.如權(quán)利要求13所述的方法,其中所述多個(gè)SRN中的具有活動(dòng)中斷請(qǐng)求的每一個(gè) SRN將其優(yōu)先級(jí)發(fā)送到中斷控制器;并且所述中斷控制器接收具有活動(dòng)中斷請(qǐng)求的SRN的優(yōu)先級(jí)并且基于所接收的優(yōu)先級(jí)在所述多個(gè)SRN之間執(zhí)行仲裁。
18.如權(quán)利要求13所述的方法,其中使用檢錯(cuò)碼(EDC)或糾錯(cuò)碼(ECC)對(duì)所述獲勝SRN 的優(yōu)先級(jí)進(jìn)行編碼。
19.如權(quán)利要求18所述的方法,其中所述SRN包括EDC或ECC寄存器,并且所述獲勝 SRN通過將所返回的經(jīng)EDC或ECC編碼的優(yōu)先級(jí)與其EDC或ECC寄存器中經(jīng)EDC或ECC編碼的優(yōu)先級(jí)進(jìn)行比較來驗(yàn)證中斷控制器所返回的經(jīng)EDC或ECC編碼的優(yōu)先級(jí)。
20.如權(quán)利要求18所述的方法,其中所述SRN包括EDC或ECC編碼器,并且所述獲勝 SRN利用所述EDC或ECC編碼器對(duì)其優(yōu)先級(jí)進(jìn)行EDC或ECC編碼,并且通過將所返回的經(jīng) EDC或ECC編碼的優(yōu)先級(jí)與其EDC或ECC編碼器所輸出的經(jīng)EDC或ECC編碼的優(yōu)先級(jí)進(jìn)行比較來驗(yàn)證中斷控制器所返回的經(jīng)EDC或ECC編碼的優(yōu)先級(jí)。
21.一種用于驗(yàn)證服務(wù)請(qǐng)求的完整性的方法,所述方法包括對(duì)多個(gè)服務(wù)請(qǐng)求源的服務(wù)請(qǐng)求進(jìn)行編碼,其中所述編碼考慮到檢錯(cuò);將所述服務(wù)請(qǐng)求和經(jīng)編碼的服務(wù)請(qǐng)求從所述多個(gè)服務(wù)請(qǐng)求源傳送到服務(wù)請(qǐng)求控制器;通過在所述多個(gè)服務(wù)請(qǐng)求源之間進(jìn)行仲裁來確定獲勝服務(wù)請(qǐng)求源;并且利用所述獲勝服務(wù)請(qǐng)求源的經(jīng)編碼的服務(wù)請(qǐng)求對(duì)所述獲勝服務(wù)請(qǐng)求源的身份進(jìn)行驗(yàn)證。
22.如權(quán)利要求21所述的方法,進(jìn)一步包括將所述獲勝服務(wù)請(qǐng)求源的經(jīng)編碼的服務(wù)請(qǐng)求返回到所述多個(gè)服務(wù)請(qǐng)求源。
23.如權(quán)利要求22所述的方法,進(jìn)一步包括由所述獲勝服務(wù)請(qǐng)求源通過將從所述服務(wù)請(qǐng)求控制器所返回的經(jīng)編碼的服務(wù)請(qǐng)求與所述獲勝服務(wù)請(qǐng)求源的服務(wù)請(qǐng)求進(jìn)行比較來驗(yàn)證所返回的經(jīng)編碼的服務(wù)請(qǐng)求。
24.一種用于驗(yàn)證服務(wù)請(qǐng)求的完整性的設(shè)備,所述設(shè)備包括用于對(duì)多個(gè)服務(wù)請(qǐng)求源的服務(wù)請(qǐng)求進(jìn)行編碼的裝置,其中所述編碼考慮到檢錯(cuò); 用于將經(jīng)編碼的服務(wù)請(qǐng)求從所述多個(gè)服務(wù)請(qǐng)求源傳送到服務(wù)請(qǐng)求控制器的裝置; 用于通過在所述多個(gè)服務(wù)請(qǐng)求源之間進(jìn)行仲裁來確定獲勝服務(wù)請(qǐng)求源的裝置; 用于將所述獲勝服務(wù)請(qǐng)求源的經(jīng)編碼的服務(wù)請(qǐng)求返回到所述多個(gè)服務(wù)請(qǐng)求源的裝置;用于在所述獲勝服務(wù)請(qǐng)求源處通過將從所述服務(wù)請(qǐng)求控制器所返回的經(jīng)編碼的服務(wù)請(qǐng)求與所述獲勝服務(wù)請(qǐng)求源的服務(wù)請(qǐng)求進(jìn)行比較來驗(yàn)證所返回的經(jīng)編碼的服務(wù)請(qǐng)求的裝置。
全文摘要
本發(fā)明涉及用于安全中斷處理的系統(tǒng)和方法。本發(fā)明涉及一種用于安全中斷處理的系統(tǒng),和用于驗(yàn)證獲勝服務(wù)請(qǐng)求節(jié)點(diǎn)的優(yōu)先級(jí)的方法,以及用于驗(yàn)證服務(wù)請(qǐng)求的完整性的方法和設(shè)備。依據(jù)本發(fā)明的一個(gè)方面,提供了一種用于驗(yàn)證由中斷控制器在多個(gè)服務(wù)請(qǐng)求節(jié)點(diǎn)(SRN)之間所執(zhí)行的仲裁中確立的獲勝服務(wù)請(qǐng)求節(jié)點(diǎn)(SRN)的優(yōu)先級(jí)的方法,所述方法包括在所述中斷控制器中存儲(chǔ)獲勝SRN的優(yōu)先級(jí);對(duì)獲勝SRN的優(yōu)先級(jí)進(jìn)行編碼,其中所述編碼考慮到檢錯(cuò);將經(jīng)編碼的優(yōu)先級(jí)從所述獲勝SRN傳送到所述中斷控制器;并且通過將獲勝SRN所傳送的經(jīng)編碼的優(yōu)先級(jí)與在所述仲裁中確立并存儲(chǔ)在所述中斷控制器中的獲勝SRN的優(yōu)先級(jí)進(jìn)行比較來驗(yàn)證所述獲勝SRN的優(yōu)先級(jí)。
文檔編號(hào)G06F13/26GK102253908SQ20111013186
公開日2011年11月23日 申請(qǐng)日期2011年5月20日 優(yōu)先權(quán)日2010年5月20日
發(fā)明者維萊拉 A., 黑爾維希 F. 申請(qǐng)人:英飛凌科技股份有限公司