打斷(interrupt)和例外(exception)的區別

在任何一臺計算機中,在程式正常執行期間,都有可能發生導致CPU暫時停止的事件。像這樣的事件叫做中斷。中斷可能由軟體或硬體故障引起。硬體中斷稱為(簡單地)中斷,而軟體中斷稱為異常。一旦中斷(軟體或硬體)被觸發,控制權就被轉移到一個稱為ISR(中斷服務程式)的特殊子程式上,該子程式可以處理由中斷引起的條件。...

中斷與異常

在任何一臺計算機中,在程序正常執行期間,都有可能發生導致CPU暫時停止的事件。像這樣的事件叫做中斷。中斷可能由軟件或硬件故障引起。硬件中斷稱為(簡單地)中斷,而軟件中斷稱為異常。一旦中斷(軟件或硬件)被觸發,控制權就被轉移到一個稱為ISR(中斷服務程序)的特殊子程序上,該子程序可以處理由中斷引起的條件。

什麼是中斷?

術語中斷通常是為硬件中斷保留的。它們是由外部硬件事件引起的程序控制中斷。這裡,external是指CPU之外的。硬件中斷通常來自許多不同的來源,如定時器芯片、外圍設備(鍵盤、鼠標等)、I/O端口(串行、並行等)、磁盤驅動器、CMOS時鐘、擴展卡(聲卡、視頻卡等)。與硬件相關的事件幾乎永遠不會發生。例如,用戶在鍵盤上按鍵或內部硬件計時器超時等事件都會引發這種中斷,並通知CPU某個設備需要注意。在這樣的情況下,CPU將停止它正在做的事情(即暫停當前程序),提供設備所需的服務,並返回正常程序。當發生硬件中斷且CPU啟動ISR時,其他硬件中斷被禁用(例如在80×86機器中)。如果需要在ISR運行時發生其他硬件中斷,則需要通過清除中斷標誌(使用sti指令)來顯式地執行此操作。在80×86機器中,清除中斷標誌只會影響硬件中斷。

什麼是例外?

異常是一個軟件中斷,它可以被標識為一個特殊的處理程序例程。異常可以標識為自動發生的陷阱(陷阱可以標識為控制權的轉移,由程序員啟動)。通常,沒有與異常相關聯的特定指令(陷阱是使用特定指令生成的)。因此,異常是由於程序執行期間發生的“異常”條件而發生的。例如,除零、執行非法操作碼或內存相關錯誤都可能導致異常。每當發生異常時,CPU會暫時掛起正在執行的程序並啟動ISR。ISR將包含如何處理異常。它可以糾正問題,或者如果不可能,它可以通過打印適當的錯誤消息優雅地中止程序。雖然特定指令不會導致異常,但異常總是由指令引起的。例如,除法零錯誤只能在除法指令執行期間發生。

中斷和異常有什麼區別?

  • 發表於 2020-10-16 07:06
  • 閱讀 ( 28 )
  • 分類:科技

你可能感興趣的文章

扔(throw)和丟擲java(throws in java)的區別

...的關鍵字。 throws是Java中用來宣告異常的關鍵字。 多重例外 throw不能有多個異常。 丟擲可能有多個異常。 然後 “throw”後面是一個例項。 “擲骰子”之後是全班同學。 使用方法 “throw”在方法中使用。 “throws”與方...

  • 發佈於 2020-09-21 19:02
  • 閲讀 ( 54 )

選中的(checked)和java中的未檢查異常(unchecked exception in java)的區別

...cked exception in java) 異常是中斷程式流執行的事件。有兩種例外情況。它們被稱為檢查異常和未檢查異常。本文討論了檢查異常和未檢查異常之間的區別。Java中checked和unchecked的區別在於編譯器檢查checked異常,而編譯器不檢查checke...

  • 發佈於 2020-10-19 08:38
  • 閲讀 ( 63 )

共價性(covalency)和氧化態(oxidation state)的區別

...the other atoms bonded to it. The oxidation state of hydrogen is always +1 except when hydrogen is bonded to a group 1 metal. The oxidation state of oxygen is -2 except when it is in the form of peroxide or superoxide. 共價性(covalency)和氧化態(oxidation state)的區別 共價...

  • 發佈於 2020-10-24 02:21
  • 閲讀 ( 70 )

介詞(prepositions)和連詞(conjunctions)的區別

...ut、about、behind、before、before、behind、between、during、down、except、from、for inside、into、in、near、off、of、on、to、toward、under、on、until、with。 給約翰的信 什麼是連詞(conjuncti***)? 連線詞是指在詞、從句或短語之間建立聯絡的詞。讓...

  • 發佈於 2020-10-28 12:47
  • 閲讀 ( 47 )

管理層收購(mbo)和mbe公司(mbe)的區別

管理層收購(mbo)和mbe公司(mbe)的區別 目標管理(MBO)與例外管理(MBE)的區別體現在管理原則和管理實踐中。不同的管理學者提出了不同的管理模式,以適應不同的領導風格和激勵思想。目標管理和例外管理是這些模式中的重...

  • 發佈於 2020-10-28 19:29
  • 閲讀 ( 40 )

接受(accept)和除了(except)的區別

...《牛津英語詞典》所說,except作為連詞,是“在構成一個例外的語句之前使用”的。 我什麼也沒告訴他,只是說你不會來參加聚會。 接受(accept)和除了(except)的區別 •接受一詞的意思是“同意”或“不說不就接受”。 •另一方...

  • 發佈於 2020-11-04 22:05
  • 閲讀 ( 50 )

關於javarmi註冊中心以及如何使用它的所有內容

...句列表java.rmi.RemoteException異常除了任何特定於應用程式的例外。這使得客戶機程式碼可以處理(或傳播)遠端方法呼叫錯誤,例如找不到主機、連線失敗等。 ...

  • 發佈於 2021-03-12 15:58
  • 閲讀 ( 65 )

java異常:您處理的對嗎?

... 你有什麼與戰爭故事有關的例外嗎?如果是,請在下面的評論部分告訴我們。 ...

  • 發佈於 2021-03-13 09:11
  • 閲讀 ( 63 )

如何正確處理java異常

...異常 執行期異常 非法狀態例外 ...

  • 發佈於 2021-03-14 17:31
  • 閲讀 ( 59 )

5個arduino省電小貼士,讓您的手機連續執行數天

... #define interruptPin 2void setup(){ //interrupt pin MUST be Arduino pin 2 or 3 on Uno //set the pin to pull up mode pinMode(interruptPin, INPUT_PULLUP);} ...

  • 發佈於 2021-03-24 09:53
  • 閲讀 ( 46 )
emkmu8595
emkmu8595

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦