




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
典型嵌入式系統(tǒng)基本組成-硬件MPU微處理器電源模塊時(shí)鐘復(fù)位FlashRAMROMUSBLCDKeyboard外圍電路Other外設(shè)1.6嵌入式系統(tǒng)硬件基礎(chǔ)馮·諾依曼體系結(jié)構(gòu)模型指令寄存器控制器數(shù)據(jù)通道輸入輸出中央處理器存儲(chǔ)器程序指令0指令1指令2指令3指令4數(shù)據(jù)數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)2哈佛體系結(jié)構(gòu)指令寄存器控制器數(shù)據(jù)通道輸入輸出中央處理器程序存儲(chǔ)器指令0指令1指令2數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)2地址指令地址數(shù)據(jù)CISC和RISCCISC:復(fù)雜指令集(ComplexInstructionSetComputer)具有大量的指令和尋址方式8/2原則:80%的程序只使用20%的指令大多數(shù)程序只使用少量的指令就能夠運(yùn)行。RISC:精簡指令集(ReducedInstructionSetComputer)在通道中只包含最有用的指令確保數(shù)據(jù)通道快速執(zhí)行每一條指令使CPU硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡單
在CISC架構(gòu)的CPU上:一條指令:MULADDRA,ADDRB將ADDRA,ADDRB中的數(shù)據(jù)讀入寄存器,相乘和將結(jié)果寫回內(nèi)存的操作全部依賴于CPU中設(shè)計(jì)的邏輯來實(shí)現(xiàn)。如果要在RISC架構(gòu)上實(shí)現(xiàn),MOVA,ADDRA;MOVB,ADDRB;MULA,B;STRADDRA,A。這種架構(gòu)可以降低CPU的復(fù)雜性以及允許在同樣的工藝水平下生產(chǎn)出功能更強(qiáng)大的CPU,但對(duì)于編譯器的設(shè)計(jì)有更高的要求。影響CPU性能的因素:流水線、超標(biāo)量和緩存流水線技術(shù):幾個(gè)指令可以并行執(zhí)行提高了CPU的運(yùn)行效率內(nèi)部信息流要求通暢流動(dòng)譯碼取指執(zhí)行add譯碼取指執(zhí)行sub譯碼取指執(zhí)行cmp時(shí)間AddSubCmp超標(biāo)量執(zhí)行超標(biāo)量執(zhí)行:超標(biāo)量CPU采用多條流水線結(jié)構(gòu)
執(zhí)行1預(yù)取指令CACHE譯碼2譯碼1執(zhí)行2執(zhí)行1預(yù)取譯碼2譯碼1執(zhí)行2流水線1流水線2數(shù)據(jù)高速緩存(CACHE)1、為什么采用高速緩存微處理器的時(shí)鐘頻率比內(nèi)存速度提高快得多,高速緩存可以提高內(nèi)存的平均性能。2、高速緩存的工作原理高速緩存是一種小型、快速的存儲(chǔ)器,它保存部分主存內(nèi)容的拷貝。CPU高速緩存控制器CACHE主存數(shù)據(jù)數(shù)據(jù)地址總線和總線橋CPU低速設(shè)備橋數(shù)據(jù)高速總線存儲(chǔ)器高速設(shè)備高速設(shè)備低速總線嵌入式系統(tǒng)的存儲(chǔ)結(jié)構(gòu)1.5存儲(chǔ)器系統(tǒng)RAM:隨機(jī)存取存儲(chǔ)器,SRAM:靜態(tài)隨機(jī)存儲(chǔ)器,DRAM:動(dòng)態(tài)隨機(jī)存儲(chǔ)器
1)SRAM比DRAM快
2)SRAM比DRAM耗電多
3)DRAM存儲(chǔ)密度比SRAM高得多
4)DRAM需要周期性刷新ROM:只讀存儲(chǔ)器FLASH:閃存(NOR,NAND)SRAM和DRAM1)SRAM2)DRAMCSR/WAddrDataCSR/WCASDataRASAddr輸入輸出接口I/OA/D、D/A鍵盤LCD存儲(chǔ)器接口設(shè)備接口例如USBUSB:UniversalSerialBus,通用串行總線大家生活中常見的與USB有關(guān)的東西有:U盤、移動(dòng)硬盤、無驅(qū)型的MP3(U盤)USB接口的鍵盤、Mouse、打印機(jī)、數(shù)碼相機(jī)……即插即用,熱插撥,系統(tǒng)不需重啟便可工作,且易于擴(kuò)展(127個(gè))USB2.0以低成本實(shí)現(xiàn)高達(dá)480Mb/s的傳輸率(USB1.1的全速設(shè)備可達(dá)12Mb/s)接口標(biāo)準(zhǔn)統(tǒng)一、端口供電操作系統(tǒng)的分類(1)順序執(zhí)行系統(tǒng):系統(tǒng)內(nèi)只含有一個(gè)程序,獨(dú)占CPU的運(yùn)行時(shí)間,按語句順序執(zhí)行該程序,直至執(zhí)行完畢,另一程序才能啟動(dòng)運(yùn)行。如DOS操作系統(tǒng)。(2)分時(shí)操作系統(tǒng):系統(tǒng)內(nèi)同時(shí)可以有多個(gè)程序運(yùn)行,把CPU的時(shí)間分按順序分成若干片,每個(gè)時(shí)間片內(nèi)執(zhí)行不同的程序。如UNIX(3)實(shí)時(shí)操作系統(tǒng):系統(tǒng)內(nèi)有多個(gè)程序運(yùn)行,每個(gè)程序有不同的優(yōu)先級(jí),只有最高優(yōu)先級(jí)的任務(wù)才能占有CPU的控制權(quán)。1.7嵌入式系統(tǒng)軟件基礎(chǔ)按實(shí)時(shí)性分類強(qiáng)實(shí)時(shí)系統(tǒng),其系統(tǒng)響應(yīng)時(shí)間在毫秒或微秒級(jí)(數(shù)控機(jī)床);一般實(shí)時(shí)系統(tǒng),其系統(tǒng)響應(yīng)時(shí)間在毫秒-幾秒的數(shù)量級(jí)上,其實(shí)時(shí)性的要求比強(qiáng)實(shí)時(shí)系統(tǒng)要差一些(電子菜譜的查詢)。弱實(shí)時(shí)系統(tǒng),其系統(tǒng)響應(yīng)時(shí)間約為數(shù)十秒或更長(工程機(jī)械)。1)循環(huán)輪詢系統(tǒng):(PollingLoop)最簡單的軟件結(jié)構(gòu)是循環(huán)輪詢,程序依次檢查系統(tǒng)的每一個(gè)輸入條件,一旦條件成立就進(jìn)行相應(yīng)的處理。Initialize()While(true){if(condition_1)action_1();if(condition_2)action_2();……if(condition_n)acition_n();}按軟件結(jié)構(gòu)分類2)事件驅(qū)動(dòng)系統(tǒng):(Event-Drivensystem)事件驅(qū)動(dòng)系統(tǒng)是能對(duì)外部事件直接響應(yīng)的系統(tǒng)。它包括前后臺(tái)、實(shí)時(shí)多任務(wù)、多處理器等,是嵌入式實(shí)時(shí)系統(tǒng)的主要形式。應(yīng)用程序是一個(gè)無限的循環(huán),循環(huán)中調(diào)用相應(yīng)的函數(shù)完成相應(yīng)的操作,這部分可以看成后臺(tái)行為(background)。中斷服務(wù)程序處理異步事件,這部分可以看成前臺(tái)行為(foreground)。后臺(tái)也可以叫做任務(wù)級(jí),前臺(tái)也叫中斷級(jí)。例如,很多基于微處理器的產(chǎn)品采用前后臺(tái)系統(tǒng)設(shè)計(jì),如微波爐、電話機(jī)、玩具等。從省電的角度出發(fā),平時(shí)微處理器處在停機(jī)狀態(tài),所有的事都靠中斷服務(wù)來完成。前后臺(tái)系統(tǒng)(后臺(tái)循環(huán)、前臺(tái)中斷)ISRISR后臺(tái)前臺(tái)ISR時(shí)間代碼的臨界區(qū)也稱為臨界區(qū),指處理時(shí)不可分割的代碼。一旦這部分代碼開始執(zhí)行,則不允許任何中斷打入。在進(jìn)入臨界區(qū)之前要關(guān)中斷,而臨界區(qū)代碼執(zhí)行完以后要立即開中斷(在任務(wù)切換時(shí),地址、指令、數(shù)據(jù)等寄存器堆棧保護(hù))。代碼的臨界區(qū)任務(wù)是一個(gè)具有獨(dú)立功能的無限循環(huán)的程序段的一次運(yùn)行活動(dòng),是實(shí)時(shí)內(nèi)核的調(diào)度單位,具有動(dòng)態(tài)性,并行性,異步獨(dú)立性。并行性:系統(tǒng)中存在多個(gè)任務(wù),宏觀上是同時(shí)運(yùn)行的。動(dòng)態(tài)性:狀態(tài)不斷變化,就緒態(tài),運(yùn)行態(tài),等待等。異步獨(dú)立性:每個(gè)任務(wù)各自按各自獨(dú)立的不可預(yù)知的速度運(yùn)行,走走停停。任務(wù)多任務(wù)(任務(wù)、進(jìn)程和線程)CPU寄存器任務(wù)控制塊1任務(wù)控制塊2任務(wù)控制塊n休眠、就緒、運(yùn)行、掛起、被中斷任務(wù)1任務(wù)2任務(wù)n……CPU寄存器一個(gè)任務(wù),也稱作一個(gè)進(jìn)程,是一個(gè)簡單的運(yùn)行程序。每個(gè)任務(wù)都是整個(gè)應(yīng)用的某一部分,每個(gè)任務(wù)被賦予一定的優(yōu)先級(jí),有它自己的一套CPU寄存器和自己的??臻g。多任務(wù)運(yùn)行的實(shí)現(xiàn)實(shí)際上是靠CPU(中央處理單元)在許多任務(wù)之間轉(zhuǎn)換、調(diào)度。
CPU只有一個(gè),輪番服務(wù)于一系列任務(wù)中的某一個(gè)。多任務(wù)運(yùn)行使CPU的利用率得到最大的發(fā)揮,并使應(yīng)用程序模塊化。在實(shí)際應(yīng)用中,多任務(wù)的最大特點(diǎn)是,開發(fā)人員可以將很復(fù)雜的應(yīng)用程序?qū)哟位C合實(shí)驗(yàn)(時(shí)鐘、位圖、USB、KEY)。系統(tǒng)內(nèi)核(Kernel)與調(diào)度(Scheduler)多任務(wù)系統(tǒng)中,內(nèi)核負(fù)責(zé)管理各個(gè)任務(wù),或者說為每個(gè)任務(wù)分配CPU時(shí)間,并且負(fù)責(zé)任務(wù)之間的通信。內(nèi)核提供的基本服務(wù)是任務(wù)切換。內(nèi)核本身也增加了應(yīng)用程序的額外負(fù)荷,代碼空間增加ROM用量,內(nèi)核本身的數(shù)據(jù)結(jié)構(gòu)增加了RAM的用量。內(nèi)核本身對(duì)CPU的占用時(shí)間一般在2到5個(gè)百分點(diǎn)之間。調(diào)度(Scheduler)是內(nèi)核的主要職責(zé)之一,就是要決定該輪到哪個(gè)任務(wù)運(yùn)行了。多數(shù)實(shí)時(shí)內(nèi)核是基于優(yōu)先級(jí)調(diào)度法的。每個(gè)任務(wù)根據(jù)其重要程度的不同被賦予一定的優(yōu)先級(jí)。基于優(yōu)先級(jí)的調(diào)度法指,CPU總是讓處在就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)先運(yùn)行。非占先式與占先式非占先式(non-preemptive)非占先式調(diào)度法也稱作合作型多任務(wù)(cooperativemultitasking),各個(gè)任務(wù)彼此合作共享一個(gè)CPU。中斷服務(wù)可以使一個(gè)高優(yōu)先級(jí)的任務(wù)由掛起狀態(tài)變?yōu)榫途w狀態(tài)。但中斷服務(wù)以后控制權(quán)還是回到原來被中斷了的那個(gè)任務(wù),直到改任務(wù)主動(dòng)放棄CPU的使用權(quán)時(shí),那個(gè)高優(yōu)先級(jí)的任務(wù)才能獲得CPU的使用權(quán)。非占先式內(nèi)核的一個(gè)特點(diǎn)是幾乎不需要使用信號(hào)量保護(hù)共享數(shù)據(jù)。運(yùn)行著的任務(wù)占有CPU,而不必?fù)?dān)心被別的任務(wù)搶占。非占先式內(nèi)核的最大缺陷在于其響應(yīng)高優(yōu)先級(jí)的任務(wù)慢,任務(wù)已經(jīng)進(jìn)入就緒態(tài),但還不能運(yùn)行,也許要等很時(shí)間,直到當(dāng)前運(yùn)行著的任務(wù)釋放CPU。內(nèi)核的任務(wù)級(jí)響應(yīng)時(shí)間是不確定的,不知道什么時(shí)候最高優(yōu)先級(jí)的任務(wù)才能拿到CPU的控制權(quán),完全取決于應(yīng)用程序什么時(shí)候釋放CPU。非占先式(Non-Preemptive)低優(yōu)先級(jí)任務(wù)ISR高優(yōu)先級(jí)任務(wù)(1)(2)(3)(4)(5)(6)(7)中斷服務(wù)程序使高優(yōu)先級(jí)任務(wù)就緒低優(yōu)先級(jí)任務(wù)釋放CPU使用權(quán)TIME當(dāng)系統(tǒng)響應(yīng)時(shí)間很重要時(shí),要使用占先式(preemptive)內(nèi)核。最高優(yōu)先級(jí)的任務(wù)一旦就緒,總能得到CPU的控制權(quán)。當(dāng)一個(gè)運(yùn)行著的任務(wù)使一個(gè)比它優(yōu)先級(jí)高的任務(wù)進(jìn)入了就緒態(tài),當(dāng)前任務(wù)的CPU使用權(quán)就被剝奪了,或者說被掛起了,那個(gè)高優(yōu)先級(jí)的任務(wù)立刻得到了CPU的控制權(quán)。使用占先式內(nèi)核時(shí),應(yīng)用程序不應(yīng)直接使用不可重入型函數(shù)。如果調(diào)入可重入型函數(shù)時(shí),低優(yōu)先級(jí)的任務(wù)CPU的使用權(quán)被高優(yōu)先級(jí)任務(wù)剝奪,不可重入型函數(shù)中的數(shù)據(jù)有可能被破壞。占先式(preemptive)占先式(Preemptive)低優(yōu)先級(jí)任務(wù)ISR高優(yōu)先級(jí)任務(wù)(1)(2)(3)(4)(5)(6)中斷服務(wù)程序使高優(yōu)先級(jí)任務(wù)就緒高優(yōu)先級(jí)任務(wù)得到CPU使用權(quán)TIME可以被一個(gè)以上的任務(wù)調(diào)用,而不必?fù)?dān)心數(shù)據(jù)的破壞。可重入型函數(shù)任何時(shí)候都可以被中斷,一段時(shí)間以后又可以運(yùn)行,而相應(yīng)數(shù)據(jù)不會(huì)丟失。可重入型函數(shù)或者只使用局部變量,即變量保存在CPU寄存器中或堆棧中。一個(gè)不可重入型函數(shù)的例子intTemp;Voidswap(int*x,int*y){Temp=*x;*X=*Y;*y=Temp;}可重入型函數(shù)一個(gè)可重入型函數(shù)的例子Voidswap(int*x,int*y){intTemp;Temp=*x;*X=*Y;*y=Temp;}任務(wù)優(yōu)先級(jí)靜態(tài)優(yōu)先級(jí)應(yīng)用程序執(zhí)行過程中諸任務(wù)優(yōu)先級(jí)不變,則稱之為靜態(tài)優(yōu)先級(jí)。在靜態(tài)優(yōu)先級(jí)系統(tǒng)中,諸任務(wù)以及它們的時(shí)間約束在程序編譯時(shí)是已知的動(dòng)態(tài)優(yōu)先級(jí)應(yīng)用程序執(zhí)行過程中,任務(wù)的優(yōu)先級(jí)是可變的,則稱之為動(dòng)態(tài)優(yōu)先級(jí)。實(shí)時(shí)內(nèi)核應(yīng)當(dāng)避免出現(xiàn)優(yōu)先級(jí)反轉(zhuǎn)問題。優(yōu)先級(jí)反轉(zhuǎn)優(yōu)先級(jí)繼承,優(yōu)先級(jí)封頂。信號(hào)量(Semaphore)信號(hào)量是60年代中期EdgserDijkstra發(fā)明的。信號(hào)量實(shí)際上是一種約定機(jī)制,在多任務(wù)內(nèi)核中普遍使用.信號(hào)量用于:控制共享資源的使用權(quán)(滿足互斥條件)標(biāo)志某事件的發(fā)生使兩個(gè)任務(wù)的行為同步信號(hào)與信號(hào)量并不加以區(qū)分,而說它有兩種類型,二進(jìn)制型(binary)和計(jì)數(shù)器型(counting)死鎖(或抱死)Deadlock
死鎖也稱作抱死,指兩個(gè)任務(wù)無限期地互相等待對(duì)方控制著的資源。設(shè)任務(wù)T1正獨(dú)享資源R1,任務(wù)T2在獨(dú)享資源R2,而此時(shí)T1又要獨(dú)享R2,T2也要獨(dú)享R1,于是哪個(gè)任務(wù)都沒法繼續(xù)執(zhí)行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- DB31/T 954-2015犬瘟熱病毒和犬細(xì)小病毒熒光PCR檢測方法
- DB31/T 945.2-2015節(jié)能服務(wù)業(yè)服務(wù)規(guī)范第2部分:合同能源管理
- DB31/T 586-2012甜菜夜蛾測報(bào)技術(shù)規(guī)范
- DB31/T 397-2021醫(yī)源性織物清洗消毒衛(wèi)生要求
- DB31/T 1280-2021實(shí)驗(yàn)裸鼴鼠環(huán)境及設(shè)施
- DB31/ 927-2015黑色金屬可控氣氛熱處理工序單位產(chǎn)品能源消耗限額
- CMMA/T 1-2015鎂質(zhì)膠凝材料制品用硫酸鎂
- CAB 1015-2012汽車座墊
- 茶葉種植區(qū)域規(guī)劃與優(yōu)化考核試卷
- 計(jì)算機(jī)網(wǎng)絡(luò)設(shè)備配置與應(yīng)用考核試卷
- 乙炔安全技術(shù)說明書(msds)
- 什么是數(shù)學(xué):對(duì)思想和方法的基本研究
- 家長會(huì)課件:初三迎接中考家長會(huì)課件
- JS-004竣工驗(yàn)收?qǐng)?bào)告
- 金屬非金屬地下礦山安全避險(xiǎn)“六大系統(tǒng)”課件
- TCSAE 97-2019 汽車緊固件鋅鋁涂層技術(shù)條件
- 會(huì)計(jì)原始憑證說課公開課一等獎(jiǎng)市優(yōu)質(zhì)課賽課獲獎(jiǎng)?wù)n件
- 伍德密封強(qiáng)度計(jì)算
- 產(chǎn)婦可以吃蛹蟲草嗎:哺乳期婦女可以吃蛹蟲草嗎
- 《化工原理》課程思政教學(xué)案例(一等獎(jiǎng))
- 以助產(chǎn)士為主導(dǎo)的連續(xù)護(hù)理模式的發(fā)展現(xiàn)狀
評(píng)論
0/150
提交評(píng)論