日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
基于頁(yè)的8051多任務(wù)模型
基于頁(yè)的8051多任務(wù)模型
 更新時(shí)間:2008-8-19 11:30:03  點(diǎn)擊數(shù):58
【字體: 字體顏色
  摘要 從分析重入堆棧的原理與不足出發(fā),通過(guò)把8051頁(yè)變量與重八問(wèn)題相聯(lián)系,提出基于頁(yè)的重入函數(shù),并設(shè)計(jì)一種實(shí)時(shí)性和安全性較好的基于頁(yè)的805l多任務(wù)模型。從變量存取帶寬的角度,將該模型與重入堆棧方案進(jìn)行對(duì)比,確定新模型中變量存取速度可獲得最高為3.75倍的提升;最后列出一些設(shè)計(jì)上的限制及對(duì)策。
  關(guān)鍵詞 805l 重入堆棧 多任務(wù)模型 實(shí)時(shí) 頁(yè)變量


  隨著8051微控制器性能的不斷提高,使用多任務(wù)操作系統(tǒng)對(duì)單片機(jī)進(jìn)行資源管理已成為當(dāng)代開(kāi)發(fā)的需要。由于受靜態(tài)鏈接的限制,8051系統(tǒng)的多任務(wù)開(kāi)發(fā)需要處理代碼重入(reentrance)的問(wèn)題。
為了實(shí)現(xiàn)重入,通?梢岳肒eil C51的關(guān)鍵字reentrant,將函數(shù)聲明為重人類(lèi)型。通過(guò)在重入堆棧分配局部變量,使函數(shù)具有可重入性;但該重入方案的實(shí)時(shí)性較差。
為提高多任務(wù)系統(tǒng)的實(shí)時(shí)性,本文介紹一種新方案——基于頁(yè)的多任務(wù)模型。


1 重入函數(shù)的原理與不足
  當(dāng)使用Kcil C51的關(guān)鍵字reentrant來(lái)指定函數(shù)屆性時(shí),即得重入函數(shù)(reentrant function)。
1.1 重入函數(shù)的原理
  重入函數(shù)的原理是Keil C編譯器建立一個(gè)軟件操作的重入堆棧。重入函數(shù)能自動(dòng)為不同的調(diào)用者在重入堆棧中分配獨(dú)立局部變量,使函數(shù)具備重入性。
  變量分配過(guò)程如圖l所示,函數(shù)人口首先申請(qǐng)存儲(chǔ)空間。函數(shù)返回前,必須將所申請(qǐng)的存儲(chǔ)空間歸還。變量分配和回收的位置都是重入堆棧的棧頂。
1.2 重入函數(shù)的不足
  重入堆棧的最大缺點(diǎn)為效率低,Keil C51用戶手冊(cè)中已有明確記載。
  由圖l可作以下分析:首先,每次使用局部變量都需要計(jì)算變量地址,大大降低了變量存取速度,也消耗了處理器時(shí)間;其次,因?yàn)橹厝攵褩J羌冘浖䦟?shí)現(xiàn)的,因此反復(fù)進(jìn)行的堆棧操作使重入函數(shù)的實(shí)時(shí)性進(jìn)一步惡化。
        


2 基于頁(yè)的多任務(wù)模型原理與實(shí)現(xiàn)
2.1 原理
  解決函數(shù)重入的關(guān)鍵在于局部變量的分配,可以從8051存儲(chǔ)器類(lèi)型的分析和選擇入手。
  8051控制器能直接尋址的存儲(chǔ)器類(lèi)型很豐富。在這些類(lèi)型中,我們注意到了頁(yè)變量(pdata)及其與眾不同的特性。
(1)頁(yè)變量pdata
  根據(jù)Intel公司的用戶手冊(cè),805l的頁(yè)存儲(chǔ)器就是指單字節(jié)地址方式操作的外部存儲(chǔ)器。使用單字節(jié)地址方式時(shí),允許使用P2對(duì)外部數(shù)據(jù)來(lái)分頁(yè),該方式的操作指令為“MOVX@Ri”。指令中R0或R1提供頁(yè)內(nèi)地址(低8位地址),P2寄存器隱藏地提供頁(yè)地址(高8位地址)。
  單字節(jié)地址方式將8051的64 KB外部存儲(chǔ)器分成256個(gè)頁(yè)面,如圖2所示。其硬件特征如下:①系統(tǒng)的256個(gè)頁(yè)面的存儲(chǔ)結(jié)構(gòu)完全一致;②工作頁(yè)面可以被指定為這256頁(yè)中的任意一頁(yè);③頁(yè)地址由P2隱式提供給地址總線,且頁(yè)地址可以由程序修改。
                


  工具方面,Keil C51專用關(guān)鍵字pdata表示單字節(jié)方式尋址的外部數(shù)據(jù)類(lèi)型,pdata變量即頁(yè)變量。編譯后的頁(yè)變量具有以下特性:①頁(yè)變量操作嚴(yán)格對(duì)應(yīng)單字節(jié)地址方式;②頁(yè)變量全部轉(zhuǎn)換成了靜態(tài)頁(yè)內(nèi)地址。
(2)頁(yè)函數(shù)
  根據(jù)頁(yè)變量性質(zhì),只要函數(shù)的所有局部變量都被指定為頁(yè)變量類(lèi)型,那么,函數(shù)所生成的代碼就可以工作于系統(tǒng)任一頁(yè)面上。
  當(dāng)操作系統(tǒng)為一個(gè)函數(shù)分配多個(gè)頁(yè)面時(shí),該函數(shù)與每一個(gè)頁(yè)面上的局部變量均構(gòu)成一個(gè)進(jìn)程。
  與重入函數(shù)不同,這類(lèi)函數(shù)本身不能自動(dòng)分配變量,因此沒(méi)有重入性。只有在操作系統(tǒng)的協(xié)助下,為其分配工作頁(yè)后,頁(yè)函數(shù)才是可重入的。頁(yè)函數(shù)中變量使用靜態(tài)地址,因此其存取速度得到大幅提升,改善了系統(tǒng)的實(shí)時(shí)性。
  為區(qū)別Keil C51定義的重入函數(shù)(reentrant func-tion),我們稱這種只使用頁(yè)變量的函數(shù)為“基于頁(yè)的重入函數(shù)(page-based reentrant function)”,簡(jiǎn)稱為“頁(yè)函數(shù)”。
2.2 實(shí)現(xiàn)
  根據(jù)原理分析中的可行性,筆者設(shè)計(jì)了名為Celia的基于頁(yè)的占先式8051多任務(wù)調(diào)度內(nèi)核。沿用μC/OS-II的結(jié)構(gòu)框圖與處理流程,在TCB(Task Control Block,任務(wù)控制塊)中增加一個(gè)字節(jié)的頁(yè)面字段,并改寫(xiě)了部分程序。有μC/OS-II為參照,使該調(diào)度內(nèi)核的設(shè)計(jì)可以很快完成。經(jīng)過(guò)在以W78P438為核心的平臺(tái)上實(shí)測(cè),該系統(tǒng)調(diào)度正常,程序運(yùn)行正確。這證明該重入方案可行。


3 基于頁(yè)的多任務(wù)模型性能分析
  基于頁(yè)的多任務(wù)模型的程序結(jié)構(gòu)與μC/OS-II基本一致,其區(qū)別主要是頁(yè)函數(shù)與重入函數(shù)的區(qū)別,因此,這里主要分析頁(yè)變量存取與重入堆棧變量存取的性能對(duì)比。
3.1 優(yōu)點(diǎn)
(1)更高的變量存取帶寬
  8051為8位總線接口,單字節(jié)存取是其基本操作。研究單字節(jié)變量的存取帶寬可以從根本上說(shuō)明頁(yè)變量的優(yōu)點(diǎn)。
  805l系統(tǒng)操作外部存儲(chǔ)器使用的是MOVX指令。執(zhí)行該指令需要2個(gè)機(jī)器周期。在標(biāo)準(zhǔn)8051中,1個(gè)機(jī)器周期為12/fOSC,則總線帶寬如式(1)所示。其中fOSC為晶振頻率。
         

  如圖l,重入函數(shù)操作單字節(jié)變量i=0xaa,共需要15個(gè)機(jī)器周期。其中僅計(jì)算變量地址就需要12個(gè)機(jī)器周期。因此,重入堆棧的實(shí)際存取帶寬如式(2)所示。
      


  相對(duì)地,頁(yè)函數(shù)中變量地址是確定的。因?yàn)椴恍枰?jì)算地址的額外操作,其變量操作速度比重入堆棧有大幅提高。如圖3所示,頁(yè)函數(shù)中操作單字節(jié)變量只需要4個(gè)機(jī)器周期。頁(yè)變最的實(shí)際存取帶寬如式(3):

        

                       
  • 上一篇: HT46R65的預(yù)付費(fèi)熱能表設(shè)計(jì)
  • 下一篇: 串行及并行A/D轉(zhuǎn)換器在高速數(shù)據(jù)采集中的采樣差別性分析
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1