0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Linux中斷子系統(tǒng)硬件架構

麥辣雞腿堡 ? 來源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:Jasonangel ? 2023-09-28 14:09 ? 次閱讀

中斷子系統(tǒng)硬件架構

一個完整的設備中,與中斷相關的硬件可以劃分為3類,它們分別是:設備、中斷控制器CPU本身。

圖片

設備:設備是發(fā)起中斷的源,當設備需要請求某種服務的時候,它會發(fā)起一個硬件中斷信號,通常,該信號會連接至中斷控制器,由中斷控制器做進一步的處理。在現(xiàn)代的移動設備中,發(fā)起中斷的設備可以位于soc(system-on-chip)芯片的外部,也可以位于芯片的內(nèi)部,因為目前大多數(shù)soc 都集成了大量的硬件 IP,例如 I2C、SPI、Display Controller 等等,就是內(nèi)部中斷源。

中斷控制器:中斷控制器負責收集所有中斷源發(fā)起的中斷,現(xiàn)有的中斷控制器幾乎都是可編程的,通過對中斷控制器的編程,我們可以控制每個中斷源的優(yōu)先級、中斷的電氣類型,還可以打開和關閉某一個中斷源,在smp系統(tǒng)中,甚至可以控制某個中斷源發(fā)往哪一個CPU 進行處理。對于 ARM 架構的 soc,使用較多的中斷控制器是VIC(Vector Interrupt Controller),進入多核時代以后,GIC(General Interrupt Controller)的應用也開始逐漸變多。STM32單片機的中斷控制器叫 NVIC,ARM架構的中斷控制器一般為GIC,不同架構有不同的中斷控制器。

CPU:最終響應中斷的部件,它通過對可編程中斷控制器的編程操作,控制和管理者系統(tǒng)中的每個中斷,當中斷控制器最終判定一個中斷可以被處理時,他會根據(jù)事先的設定,通知其中一個或者是某幾個
cpu 對該中斷進行處理,雖然中斷控制器可以同時通知數(shù)個 cpu 對某一個中斷進行處理,實際上,最后只會有一個 cpu 相應這個中斷請求,但具體是哪個 cpu進行響應是可能是隨機的,中斷控制器在硬件上對這一特性進行了保證,不過這也依賴于操作系統(tǒng)對中斷系統(tǒng)的軟件實現(xiàn)。

為什么需要中斷控制器?

CPU 要做的事情主要是運算。一個 CPU 有很多個中斷可以使用,他們之間也有優(yōu)先級。由于中斷過多,我們需要中斷進入 CPU處理之前,先進入中斷控制器,讓中斷控制器來控制中斷的優(yōu)先級、觸發(fā)方式、enable 和 disable等,為CPU減輕負擔,讓CPU專注于運算。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11207

    瀏覽量

    208713
  • 硬件
    +關注

    關注

    11

    文章

    3211

    瀏覽量

    66060
  • 子系統(tǒng)

    關注

    0

    文章

    109

    瀏覽量

    12373
  • 系統(tǒng)
    +關注

    關注

    1

    文章

    1006

    瀏覽量

    21291
收藏 人收藏

    評論

    相關推薦

    Linux LED子系統(tǒng)詳解

    Linux LED子系統(tǒng)詳解
    的頭像 發(fā)表于 06-10 10:37 ?1493次閱讀
    <b class='flag-5'>Linux</b> LED<b class='flag-5'>子系統(tǒng)</b>詳解

    Linux內(nèi)核內(nèi)存管理架構解析

    內(nèi)存管理子系統(tǒng)可能是linux內(nèi)核中最為復雜的一個子系統(tǒng),其支持的功能需求眾多,如頁面映射、頁面分配、頁面回收、頁面交換、冷熱頁面、緊急頁面、頁面碎片管理、頁面緩存、頁面統(tǒng)計等,而且對性能也有很高
    的頭像 發(fā)表于 01-04 09:24 ?619次閱讀
    <b class='flag-5'>Linux</b>內(nèi)核內(nèi)存管理<b class='flag-5'>架構</b>解析

    linux--LED子系統(tǒng)一文讀懂

    Linux內(nèi)核中,LED子系統(tǒng)扮演著控制LED燈的核心角色,它通過一套規(guī)范化的驅(qū)動架構,簡化了LED驅(qū)動程序的開發(fā)流程,讓開發(fā)者能夠更專注于功能實現(xiàn)而非硬件層面的復雜性。
    的頭像 發(fā)表于 08-02 16:09 ?2126次閱讀
    <b class='flag-5'>linux</b>--LED<b class='flag-5'>子系統(tǒng)</b>一文讀懂

    Arm Linux中斷子系統(tǒng)先相關資料分享

    1. Arm Linux 中斷子系統(tǒng)1.1. 中斷硬件系統(tǒng)3個組成部分:外設(
    發(fā)表于 05-23 15:21

    Linux內(nèi)核輸入子系統(tǒng)的驅(qū)動研究

    Linux內(nèi)核輸入子系統(tǒng)的驅(qū)動研究
    發(fā)表于 10-31 14:41 ?14次下載
    <b class='flag-5'>Linux</b>內(nèi)核輸入<b class='flag-5'>子系統(tǒng)</b>的驅(qū)動研究

    需要了解的Linux的IRQ中斷子系統(tǒng)

    Linux中斷子系統(tǒng)(generic irq)出現(xiàn)之前,內(nèi)核使用__do_IRQ處理所有的中斷,這意味著__do_IRQ中要處理各種類型的中斷
    發(fā)表于 05-10 10:56 ?1458次閱讀

    詳細了解Linux設備模型中的input子系統(tǒng)

    linux輸入子系統(tǒng)linux input subsystem)從上到下由三層實現(xiàn),分別為:輸入子系統(tǒng)事件處理層(EventHandler)、輸入
    發(fā)表于 05-12 09:04 ?1025次閱讀
    詳細了解<b class='flag-5'>Linux</b>設備模型中的input<b class='flag-5'>子系統(tǒng)</b>

    Linux中斷(interrupt)子系統(tǒng)之一:arch相關的硬件封裝層

    Linux的通用中斷子系統(tǒng)的一個設計原則就是把底層的硬件實現(xiàn)盡可能地隱藏起來,使得驅(qū)動程序的開發(fā)人員不用關注底層的實現(xiàn),要實現(xiàn)這個目標,內(nèi)核的開發(fā)者們必須把
    發(fā)表于 05-13 10:48 ?826次閱讀

    openEuler Kernel技術內(nèi)核中斷子系統(tǒng)介紹

    現(xiàn)在把之前的流程具有的部分對比內(nèi)核中斷子系統(tǒng),可以發(fā)現(xiàn)還多出了一個通用中斷處理層。因為內(nèi)核需要支持各種不同的架構與外設,需要解耦架構
    的頭像 發(fā)表于 04-20 09:06 ?1457次閱讀

    Windows 子系統(tǒng)助力 Linux 2.0

    Windows 子系統(tǒng)助力 Linux 2.0
    的頭像 發(fā)表于 01-04 11:17 ?617次閱讀

    Linux系統(tǒng)中NFC子系統(tǒng)架構分析

    目前在Linux系統(tǒng)中,每個廠家都使用不同的方式實現(xiàn)NFC驅(qū)動,然后自己在應用層上面做適配。但是Linux也已經(jīng)推出NFC子系統(tǒng),很多廠家也逐步在統(tǒng)一。
    發(fā)表于 01-04 14:01 ?1935次閱讀

    Linux中斷情景分析

    在一個系統(tǒng)中,中斷時常發(fā)生,而且線程調(diào)度也是由一個硬件定時器時時刻刻發(fā)出中斷來支撐的??梢哉f中斷就是li
    發(fā)表于 06-23 14:22 ?537次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>中斷</b>情景分析

    Linux驅(qū)動移植 Linux系統(tǒng)架構優(yōu)點

    在操作系統(tǒng)上面有應用軟件,應用軟件程序的執(zhí)行是依賴于操作系統(tǒng)的,應用程序需要調(diào)用 linux 操作系統(tǒng)的庫函數(shù)來實現(xiàn),也就是說,應用軟件的程序會調(diào)用
    的頭像 發(fā)表于 07-27 17:06 ?822次閱讀
    <b class='flag-5'>Linux</b>驅(qū)動移植 <b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>架構</b>優(yōu)點

    Linux clock子系統(tǒng)是什么

    clock子系統(tǒng) Linux的時鐘子系統(tǒng)由CCF(common clock framework)框架管理, CCF向上給用戶提供了通用的時鐘接口,向下給驅(qū)動開發(fā)者提供硬件操作的接口 。
    的頭像 發(fā)表于 09-27 14:25 ?772次閱讀
    <b class='flag-5'>Linux</b> clock<b class='flag-5'>子系統(tǒng)</b>是什么

    什么是LInux 操作系統(tǒng)中斷

    LInux 操作系統(tǒng)中斷 什么是系統(tǒng)中斷 這個沒啥可說的,大家都知道; CPU 在執(zhí)行任務途中接收到中斷
    的頭像 發(fā)表于 11-10 11:29 ?574次閱讀
    什么是<b class='flag-5'>LInux</b> 操作<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中斷</b>