中斷概念介紹 一

2021-10-04 19:39:04 字數 2131 閱讀 1708

第001節_概念引入與處理流程

取個場景解釋中斷。

假設有個大房間裡面有小房間,嬰兒正在睡覺,他的媽媽在外面看書。

問:這個母親怎麼才能知道這個小孩醒?

過一會開啟一次房門,看嬰兒是否睡醒,讓後接著看書

一直等到嬰兒發出聲音以後再過去檢視,期間都在讀書

第一種 叫做查詢方式:

優點:簡單

缺點: 累

寫程式如何:

while(1)

}我們看看母親被小孩哭聲打斷如何照顧小孩?

母親的處理過程:

1 平時看書

2 發生了各種聲音,如何處理這些聲音

有遠處的貓叫(聽而不聞,忽略)

門鈴聲有快遞(開門收快遞)

小孩哭聲(開啟房門,照顧小孩)

3 母親的處理

只會處理門鈴聲和小孩哭聲

a 現在書中放入書籤,合上書(儲存現場)

b 去處理 (呼叫對應的中斷服務程式)

c 繼續看書(恢復現場)

不同情況,不同處理:

a 對於門鈴:開門取快件

b 對於哭聲:照顧小孩

我們將母親的處理過程抽象化——母親的頭腦相當於cpu

耳朵聽到聲音會傳送訊號給腦袋,聲音**有很多種,有遠處的貓叫,門鈴聲,小孩哭聲。這些聲音傳入耳朵,再由耳朵傳給大腦,除了這些可以中斷母親的看書,還有其他情況,比如身體不舒服,有只蜘蛛掉下來,對於特殊情況無法迴避,必須立即處理

對比我們的arm系統

有cpu,有中斷控制器。

中斷控制器可以發訊號給cpu告訴它發生了那些緊急情況

中斷源有按鍵、定時器、有其它的(比如網路資料)

這些訊號都可以傳送訊號給中斷控制器,再由中斷控制器傳送訊號給cpu表明有這些中斷產生了,這些成為中斷(屬於一種異常)

還有什麼可以中斷cpu執行?

指令不對,資料訪問有問題

reset訊號,這些都可以中斷cpu 這些成為異常中斷

重點在於儲存現場以及恢復現場

處理過程

a 儲存現場(各種暫存器)

b 處理異常(中斷屬於一種異常)

c 恢復現場

arm對異常(中斷)處理過程

1 初始化:

a 設定中斷源,讓它可以產生中斷

b 設定中斷控制器(可以遮蔽某個中斷,優先順序)

c 設定cpu總開關,(使能中斷)

2 執行其他程式:正常程式

3 產生中斷:按下按鍵—>中斷控制器—>cpu

4 cpu每執行完一條指令都會檢查有無中斷/異常產生

5 發現有中斷/異常產生,開始處理。對於不同的異常,跳去不同的位址執行程式。這位址上,只是一條跳轉指令,跳去執行某個函式(位址),這個就是異常向量。如下就是異常向量表,對於不同的異常都有一條跳轉指令。

.globl _start

_start: b reset

ldr pc, _undefined_instruction

ldr pc, _software_interrupt

ldr pc, _prefetch_abort

ldr pc, _data_abort

ldr pc, _not_used

ldr pc, _irq //發生中斷時,cpu跳到這個位址執行該指令假設位址為0x18

ldr pc, _fiq

//我們先在0x18這裡放 ldr pc ,__irq,於是cpu最終會跳去執行__irq**

//保護現場,呼叫處理函式,恢復現場

(3-5都是硬體強制做的)

6 這些函式做什麼事情?

軟體做的:

a 儲存現場(各種暫存器)

b 處理異常(中斷):

分辨中斷源

再呼叫不同的處理函式

c 恢復現場

對比母親的處理過程來比較arm中斷的處理過程。

中斷處理程式怎麼被呼叫?

cpu—>0x18 --跳轉到其他函式->

做保護現場

呼叫函式

分辨中斷源

呼叫對應函式

恢復現場

cpu到0x18是由硬體決定的,跳去執行更加複雜函式(由軟體決定)

一 elasticsearch概念介紹

es從大的方面說,屬於nosql,他原來越像資料庫,和關係型資料庫相比,它查詢速度更快,更容易擴充套件 天然的高可用,易擴充套件。當然它是不支援事務的。是乙個基於lucene庫的搜尋引擎,根據db engines的排名顯示,elasticsearch是最受歡迎的企業搜尋引擎,其次是apache so...

中斷的概念

作 者 武力戡亂 修改日期 2017 08 22 備 注 1 總備註資訊 2 內 容 1 由來 程式是從向下,從左向右執行。安裝這個規律執行,有些功能和要求實現不了。比如說,乙個人正常工作是打掃室內衛生 做飯 打掃廚房衛生 打掃辦公室衛生。而因為需要,今天讓他先打掃辦公室衛生。這個時候就有乙個命令切...

中斷處理介紹

當某一中斷源需要cpu為其進行中斷服務時,就輸出中斷請求訊號,使中斷控制系統的中斷請求觸發器置位,向cpu請求中斷。系統要求中斷請求訊號一直保持到cpu對其進行中斷響應為止。cpu對系統內部中斷源提出的中斷請求必須響應,而且自動取得中斷服務子程式的入口位址,執行中斷 服務子程式。對於外部中斷,cpu...