2013-11-27 65 views
3

我正在研究一個項目,我試圖弄清楚如何在ARM體系結構的全局中斷控制器中處理中斷。我正在使用pl390中斷控制器。我發現有一條線被稱爲傳統中斷,繞過了分配器邏輯。可以將2箇中斷編程爲傳統中斷。任何人都可以幫助解釋什麼是傳統中斷?我在網上搜索沒有任何運氣。什麼是傳統中斷?

+1

參見:[GIC中斷旁路(http://stackoverflow.com/questions/19651470/what-is-the-use-case-of-gic-interrupt -bypass) –

+0

@artlessnoise謝謝你的指針。不幸的是,我沒有足夠的信用來建議同義詞。 – Nuetrino

回答

4

傳統中斷是在GIC到達之前ARM中的兩個中斷:nIRQ - 正常中斷請求和fIRQ - 快速中斷請求。

由於傳統中斷是針對單核處理器製造的,並且它們不支持內部的多核處理器,所以它們繞過分配器邏輯的原因應該相當清楚 - 傳統中斷被硬連線到其中一個內核中。

簡而言之 - 它允許CPU向後兼容舊ARM規範。例如,一個四核ARM CPU將有4個nIRQ和4個fIRQ,每個核心都是獨立的。當你有一箇舊的兼容ARM的硬件(不支持GIC)時,你可以將它連接到內核的nIRQ/fIRQ中,就像連接到一箇舊的單核CPU一樣,它將始終執行在那一個核心上。

更多信息可以在這裏找到 - http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0407e/CCHDBEBE.html

+0

謝謝。這很清楚。我希望我能在我的設計中實現這個邏輯,以便我可以瞭解分發器和cpu接口邏輯消耗了多少個時鐘週期。我對麼? – Nuetrino

+0

聽起來可能,是的。我不得不承認,我認爲分銷商與核心本身是週期性同步的,所以它總是會花費同一時間,但這只是一個假設,這可能是錯誤的......但是,根據一般原則,我不會使用傳統的中斷,除非你實際上也是針對傳統的CPU。我相信未來的遺留中斷可能會被刪除(在部分或全部未來的CPU中)。 – Luaan

+0

是的,這是我的目標。從很多時鐘週期的文檔中可以明顯的看出,但我想驗證它。所以我認爲執行傳統的中斷會給我這個想法。謝謝你的答案。 – Nuetrino