我正在研究一個項目,我試圖弄清楚如何在ARM體系結構的全局中斷控制器中處理中斷。我正在使用pl390中斷控制器。我發現有一條線被稱爲傳統中斷,繞過了分配器邏輯。可以將2箇中斷編程爲傳統中斷。任何人都可以幫助解釋什麼是傳統中斷?我在網上搜索沒有任何運氣。什麼是傳統中斷?
什麼是傳統中斷?
回答
傳統中斷是在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
謝謝。這很清楚。我希望我能在我的設計中實現這個邏輯,以便我可以瞭解分發器和cpu接口邏輯消耗了多少個時鐘週期。我對麼? – Nuetrino
聽起來可能,是的。我不得不承認,我認爲分銷商與核心本身是週期性同步的,所以它總是會花費同一時間,但這只是一個假設,這可能是錯誤的......但是,根據一般原則,我不會使用傳統的中斷,除非你實際上也是針對傳統的CPU。我相信未來的遺留中斷可能會被刪除(在部分或全部未來的CPU中)。 – Luaan
是的,這是我的目標。從很多時鐘週期的文檔中可以明顯的看出,但我想驗證它。所以我認爲執行傳統的中斷會給我這個想法。謝謝你的答案。 – Nuetrino
- 1. 什麼是DOCTYPE傳統字符串?
- 2. 什麼是處理上傳圖片名稱的「傳統」方式?
- 3. 在Matlab中表示布爾值的傳統類型是什麼?
- 4. 在Grunt中使用Backbone.js和Underscore.js的傳統方式是什麼?
- 5. 什麼是「傳統PARAM系列化風格」在JQuery中
- 6. 什麼是Firebase和傳統iOS在GTM設置中的含義
- 7. 在Java中編寫GUI的傳統方式是什麼?
- 8. ISR中斷服務程序和傳統代碼有什麼區別?
- 9. 什麼是片斷的FN
- 10. 什麼是Java中使用斷言的
- 11. 什麼是控制中斷? (COBOL)
- 12. 什麼是Android上的「滑塊中斷」
- 13. forkOS_entry:中斷的錯誤:這是什麼?
- 14. 什麼是觸發0x08中斷?
- 15. 「BIOS中斷調用」是什麼意思
- 16. JavaScript中斷點的原因是什麼?
- 17. 什麼是嵌入式系統中的「中斷上下文保存」?
- 18. 什麼是統一型系統?
- 19. CRM系統還是什麼?
- 20. 什麼是系統Python
- 21. 什麼是系統負載?
- 22. 什麼是系統調用?
- 23. 什麼是傳輸
- 24. 在操作系統中,系統調用和中斷有什麼區別?
- 25. 什麼是系統托盤中的vshub.exe?
- 26. 標記系統中的taggable_id是什麼?
- 27. python中的系統函數是什麼
- 28. 什麼是unix系統中的echo.sock?
- 29. 爲什麼需要傳統的Hibernate?
- 30. 系統verilog斷言中的 - >和=>有什麼區別?
參見:[GIC中斷旁路(http://stackoverflow.com/questions/19651470/what-is-the-use-case-of-gic-interrupt -bypass) –
@artlessnoise謝謝你的指針。不幸的是,我沒有足夠的信用來建議同義詞。 – Nuetrino