資料介紹
單片機在系統(tǒng)中充當CPU的角色,需要同時處理多個事務。如與PC機通信,將收到的信息轉發(fā)給從機,監(jiān)視數(shù)據(jù)處理情況等一些繁雜而又重要的事情。如何協(xié)調好各個事務之間的關系,并有條不紊的執(zhí)行各個事務,這就需要在編寫程序時采用合適的算法進行處理。一般的方法就是在單片機中移植操作系統(tǒng),由操作系統(tǒng)來管理各個事務。但由于系統(tǒng)要占用一定的內部資源,這對本身資源非常有限的單片機來說是不現(xiàn)實的。所以,很少在單片機中采用操作系統(tǒng),而是采用時間片輪詢調度的方法進行各任務的管理。
時間片輪詢調度是一種古老而又簡單的算法,廣泛運用于無操作系統(tǒng)的微處理器中。在系統(tǒng)中,每個進程被分配一個時間段,稱作時間片,即該進程允許運行的時間。如果在時間片結束時進程還在運行,則CPU將被剝奪并分配給另一個進程。如果進程在時間片結束前阻塞或結束,則CPU當即進行切換。調度程序所要做的就是維護一張就緒進程列表,當進程用完它的時間片后,它被移到隊列的末尾。
時間片輪詢調度中有趣的一點是如何確定時間片的長度。從一個進程切換到另一個進程是需要一定時間的,因為要保存和裝入寄存器值及內存映像等保護現(xiàn)場的工作,更新各種表格和隊列等。假如進程切換,有時稱為上下文切換,需要的時間為5毫秒,再假設時間片長度設定為20毫秒,則在做完20毫秒有用的工作之后,CPU將花費5毫秒來進行進程切換。CPU時間的 20%被浪費在了管理開銷上。進程切換時間一定的情況下,如果時間片長度設定的越小時,這種浪費更明顯。所以,時間片長度與CPU利用率是一對不可調和的矛盾,必須處理好它們之間的關系。
為了提高CPU效率,我們可以將時間片長度設得大一些,這時浪費的時間只有就會相對減小。但在一個分時系統(tǒng)中,各個任務對時間片長度的要求是不一致的。例如在一個系統(tǒng)中,可能要求每秒鐘更新一下顯示內容,每幾十毫秒要掃描一下按鍵,每幾毫秒要檢測一下串口緩沖區(qū)等……可見,各個任務對時間的依賴程度是不一樣的。如果時間片設得太長,某些對實時性要求高的任務可能得不到執(zhí)行,使得系統(tǒng)的實時性變差。總之,時間片的設定應滿足對實時性要求最高的那個任務,這樣才能確保每個任務都可以及時得到執(zhí)行而不被錯過。

要在一個單片機系統(tǒng)中實現(xiàn)時間片輪詢調度,需要依照以下的步驟:
確定任務總數(shù)及各個任務實對時間實時性的要求
根據(jù)任務對時間的要求,確定時間片的長度
估算執(zhí)行每個任務所花費的時間,確保任務能夠在時間片的長度內執(zhí)行完畢
如果任務較大,時間片不足于讓任務執(zhí)行完,此時可細化該任務
- 單片機面向對象思維的架構:時間輪片法
- 淺析PIC單片機的數(shù)碼管運用程序 2次下載
- 使用單片機實現(xiàn)門鈴設計的程序和資料說明 10次下載
- 什么是單片機?單片機的歷史和應用等詳細資料說明 8次下載
- 單片機的結構體和指針等資料說明 17次下載
- 時間片調度在單片機有什么樣的作用?運用資料詳細說明
- 使用51單片機控制小燈閃爍的程序和資料說明
- 時間片輪轉算法在單片機程序設計中要什么樣的作用應用說明
- 單片機程序架構的時間片輪詢法詳細資料說明
- 在單片機中運行一個程序的過程詳細資料說明
- 51單片機等串口緩存隊列的C語言程序說明
- 使用51單片機進行流水燈的設計資料和程序資料說明
- 單片機基礎教程之匯編語言程序設計知識的詳細資料說明 10次下載
- 使用51單片機和電機驅動模塊控制步進電機轉動的程序和仿真等資料說明 89次下載
- 時間片輪轉算法在單片機程序設計中的應用 17次下載
- 單片機怎么寫入程序 3.4k次閱讀
- 軟件架構之時間輪片法 1.1k次閱讀
- 單片機里的程序是如何運行? 5.8k次閱讀
- 結構體在單片機中的應用 3.9k次閱讀
- PIC系列單片機的詳細資料說明 6.2k次閱讀
- 單片機實現(xiàn)按鍵的電路和程序設計資料說明 1.1w次閱讀
- 使用單片機實現(xiàn)復位電路的資料詳細說明 5.5k次閱讀
- 單片機實現(xiàn)多機通信的資料和程序 8.5k次閱讀
- 新手教程:單片機的學習實踐步驟 4.4k次閱讀
- 單片機中的時間片輪詢法解析 9.1k次閱讀
- 如何采用51單片機開發(fā)操作體系 1k次閱讀
- 單片機的片選和地址分配 2.3w次閱讀
- STC單片機燒寫程序步驟說明 7.5w次閱讀
- 燒錄單片機的步驟 6.4k次閱讀
- 單片機與程序設計(上) 8.2k次閱讀
下載排行
本周
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 16次下載 | 10 積分
- 2反激式開關電源設計解析
- 0.89 MB | 2次下載 | 5 積分
- 3簡易光伏控制器原理圖資料
- 0.07 MB | 1次下載 | 5 積分
- 4TPS23755數(shù)據(jù)手冊
- 0.07 MB | 次下載 | 免費
- 536伏,10兆赫茲低噪聲雙運算放大器COS5532 技術手冊
- 0.41 MB | 次下載 | 免費
- 6LM5176 55V 寬輸入電壓同步4開關降壓/升壓控制器技術手冊
- 2.40 MB | 次下載 | 免費
- 7MCU模塊原理圖資料
- 0.37 MB | 次下載 | 1 積分
- 8LoRa1121 FCC&CE認證 多頻段LoRa無線通訊模塊規(guī)格書
- 997.05 KB | 次下載 | 免費
本月
- 1美的電磁爐電路原理圖資料
- 4.39 MB | 16次下載 | 10 積分
- 2冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 7次下載 | 10 積分
- 3SDFM 激光測距模塊模組手冊
- 0.54 MB | 7次下載 | 免費
- 4直流電路的組成和基本定律
- 1.67 MB | 4次下載 | 免費
- 5SW6238V ACCC 三 PD 四口多協(xié)議移動電源 SOC規(guī)格書
- 0.59 MB | 4次下載 | 1 積分
- 6安川A1000變頻器中文版說明書
- 20.16 MB | 3次下載 | 3 積分
- 7IP6742_datasheet_100V8A 同步 BUCK 控制器
- 2.16 MB | 3次下載 | 免費
- 8PAW3395DM-T6QU:光學游戲導航芯片手冊
- 1.26 MB | 2次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191448次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183360次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81605次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73829次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論