嵌入式開發中 中斷 VS 輪詢
嵌入式開發中 中斷 VS 輪詢
資料來源: https://mp.weixin.qq.com/s?__biz=MzA5NTMwMjIwNA==&mid=2650850588&idx=2&sn=0012e9644067efb7f91291d72176e85e&chksm=8bb5024fbcc28b59f6556c53879c3f6c76a319246ede8fc51f36408e5e5628f61da77787fb53&scene=126&sessionid=1595994942&key=360754e56e033319b35fb17b114ad009cc6b364eb63a19a79f50c34adcc855d177edb421cc47107a1ee3b7b0d1bda592a68c2b8fbbaeba7662f41e5d93b7740fc37cf28faf8dceb9c7f153574c093438&ascene=1&uin=MjIwODk2NDgxNw%3D%3D&devicetype=Windows+10+x64&version=62090529&lang=zh_TW&exportkey=AppgXRcmXVnspm%2FZXIjKpf8%3D&pass_ticket=NuJKfW0mjuPMNDqYUS%2Fy%2B6tLoFUo7qKm9EEMrVBC2lpHpWmLYhtBwoGPEA9qxk%2BT
中斷方式的優缺點
優點
I/O設備中斷方式使處理器的利用率顯著提高;
支持多道程序和I/O設備的並行操作,提高了效率。
缺點
各種各樣的輸入輸出設備通過中斷處理方式進行並行操作,使中斷次數增加,會造成CPU無法響應中斷;
如果在緩衝區裝滿數據之後發生中斷。那麼在數據傳送過程中,發生中斷的機會較多,將耗去大量的CPU處理時間。
輪詢的優缺點
優點
在一些應用中可以增強了程序的實時性…
缺點
能處理的輸入輸出設備的數量也是有一定限度的。
程序輪詢佔用CPU的處理時間,效率較低。
中斷和輪詢之間的區別
中斷時,設備會通知CPU引起注意;而在輪詢中,CPU會穩定地檢查設備是否需要注意。
中斷不是協議,而是一種硬件機制;輪詢反之。
在中斷中,該設備由中斷處理程序提供服務;輪詢時,該設備由CPU維修。
中斷可以隨時發生;輪詢時,CPU會以固定的間隔穩定地對設備進行投票。
在中斷中,中斷請求線用作指示設備需要維修的指示;在輪詢時,命令就緒位用作指示,表明設備需要維修。
在中斷中,一旦任何設備將其中斷,處理器就會受到干擾;在輪詢中,處理器通過重複檢查每個設備的命令就緒位來浪費無數的處理器週期。