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

要在一個單片機系統(tǒng)中實現(xiàn)時間片輪詢調(diào)度,需要依照以下的步驟:
確定任務(wù)總數(shù)及各個任務(wù)實對時間實時性的要求
根據(jù)任務(wù)對時間的要求,確定時間片的長度
估算執(zhí)行每個任務(wù)所花費的時間,確保任務(wù)能夠在時間片的長度內(nèi)執(zhí)行完畢
如果任務(wù)較大,時間片不足于讓任務(wù)執(zhí)行完,此時可細化該任務(wù)
- 單片機面向?qū)ο笏季S的架構(gòu):時間輪片法
- 淺析PIC單片機的數(shù)碼管運用程序 2次下載
- 使用單片機實現(xiàn)門鈴設(shè)計的程序和資料說明 10次下載
- 什么是單片機?單片機的歷史和應(yīng)用等詳細資料說明 8次下載
- 單片機的結(jié)構(gòu)體和指針等資料說明 17次下載
- 時間片調(diào)度在單片機有什么樣的作用?運用資料詳細說明
- 使用51單片機控制小燈閃爍的程序和資料說明
- 時間片輪轉(zhuǎn)算法在單片機程序設(shè)計中要什么樣的作用應(yīng)用說明
- 單片機程序架構(gòu)的時間片輪詢法詳細資料說明
- 在單片機中運行一個程序的過程詳細資料說明
- 51單片機等串口緩存隊列的C語言程序說明
- 使用51單片機進行流水燈的設(shè)計資料和程序資料說明
- 單片機基礎(chǔ)教程之匯編語言程序設(shè)計知識的詳細資料說明 10次下載
- 使用51單片機和電機驅(qū)動模塊控制步進電機轉(zhuǎn)動的程序和仿真等資料說明 89次下載
- 時間片輪轉(zhuǎn)算法在單片機程序設(shè)計中的應(yīng)用 17次下載
- 單片機怎么寫入程序 3.4k次閱讀
- 軟件架構(gòu)之時間輪片法 1.1k次閱讀
- 單片機里的程序是如何運行? 5.8k次閱讀
- 結(jié)構(gòu)體在單片機中的應(yīng)用 3.9k次閱讀
- PIC系列單片機的詳細資料說明 6.2k次閱讀
- 單片機實現(xiàn)按鍵的電路和程序設(shè)計資料說明 1.1w次閱讀
- 使用單片機實現(xiàn)復位電路的資料詳細說明 5.5k次閱讀
- 單片機實現(xiàn)多機通信的資料和程序 8.5k次閱讀
- 新手教程:單片機的學習實踐步驟 4.4k次閱讀
- 單片機中的時間片輪詢法解析 9.1k次閱讀
- 如何采用51單片機開發(fā)操作體系 1k次閱讀
- 單片機的片選和地址分配 2.3w次閱讀
- STC單片機燒寫程序步驟說明 7.5w次閱讀
- 燒錄單片機的步驟 6.4k次閱讀
- 單片機與程序設(shè)計(上) 8.2k次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
- 0.61 MB | 2次下載 | 免費
- 651單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 751單片機大棚環(huán)境控制器仿真程序
- 1.10 MB | 2次下載 | 免費
- 8基于51單片機的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
電子發(fā)燒友App





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