馮諾依曼體系-課件_第1頁
馮諾依曼體系-課件_第2頁
馮諾依曼體系-課件_第3頁
馮諾依曼體系-課件_第4頁
馮諾依曼體系-課件_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā)ARM與C/OS-第二講 嵌入式系統(tǒng)的基本概念課程大綱講課講稿實(shí)驗(yàn)時(shí)間題目內(nèi)容時(shí)間內(nèi)容第二周3.4/二1引言嵌入式系統(tǒng)技術(shù)前沿、應(yīng)用領(lǐng)域、發(fā)展趨勢及相關(guān)領(lǐng)域研究成果第三周3.112嵌入式系統(tǒng)的基本知識(shí)嵌入式系統(tǒng)的特點(diǎn)、分類、基本概念第四周3.183嵌入式實(shí)時(shí)操作系統(tǒng)介紹主流實(shí)時(shí)操作系統(tǒng),深入剖析WinCE、Linux、C/OS,包括系統(tǒng)結(jié)構(gòu)、實(shí)時(shí)性、應(yīng)用第六周4.14嵌入式硬件平臺(tái)介紹主流硬件平臺(tái),詳細(xì)介紹ARM、DSP、ATMEL單片機(jī)功能及應(yīng)用第五周實(shí)驗(yàn)一、ARM SDT 2.5開發(fā)環(huán)境及ARM開發(fā)平臺(tái)簡介第八周5嵌入式系統(tǒng)的設(shè)計(jì)方法介紹嵌入式系統(tǒng)設(shè)計(jì)的一般方法,以

2、嵌入式工程機(jī)械智能監(jiān)控器與嵌入式控制器為例第七周實(shí)驗(yàn)二、ARM的輸入輸出接口實(shí)驗(yàn):I/O、A/D、鍵盤驅(qū)動(dòng)第九周6嵌入式系統(tǒng)的硬件設(shè)計(jì)簡要介紹外圍接口設(shè)計(jì),以LCD、觸摸屏為例,著重講解人機(jī)交互接口設(shè)計(jì)第十周實(shí)驗(yàn)三、ARM的串行通訊實(shí)驗(yàn)第十一周實(shí)驗(yàn)四、ARM的觸摸屏驅(qū)動(dòng)實(shí)驗(yàn)第十二周實(shí)驗(yàn)五、C/OS-在ARM上的移植實(shí)驗(yàn)第十三周7嵌入式系統(tǒng)編程簡要介紹嵌入式軟件的體系結(jié)構(gòu),著重講解嵌入式GUI的編程方法第十四周實(shí)驗(yàn)六、基于C/OS-的嵌入式編程實(shí)驗(yàn):消息循環(huán)、文件系統(tǒng)第十五周實(shí)驗(yàn)七、GUI編程實(shí)驗(yàn)第十六周8嵌入式技術(shù)演討選擇5-8名有嵌入式開發(fā)經(jīng)驗(yàn)的學(xué)生做報(bào)告,師生點(diǎn)評(píng),探討。第十七周綜合實(shí)驗(yàn):

3、LCD、UDP編程9考試參考資料1.王田苗 主編. 嵌入式系統(tǒng)設(shè)計(jì)及實(shí)例開發(fā)ARM與C/OS-. 北京:清華大學(xué)出版社,2002.92(美)Jean J.Labrosse, 邵貝貝譯. C/OS-源碼公開的實(shí)時(shí)嵌入式操作系統(tǒng). 北京:中國電力出版社,2001.8簡介:是目前學(xué)習(xí)嵌入式操作系統(tǒng)最好的入門教材,書中對(duì)一個(gè)完整的嵌入式實(shí)時(shí)內(nèi)核C/OS-進(jìn)行了剖析,詳細(xì)講述了實(shí)時(shí)內(nèi)核的設(shè)計(jì)和創(chuàng)建方法,以及多任務(wù)實(shí)時(shí)系統(tǒng)的原理和編程思想。4. 馬忠梅等著. ARM嵌入式微處理器體系結(jié)構(gòu)。北航出版社3(美)Wayne Wolf,孫玉方等譯. 嵌入式計(jì)算機(jī)系統(tǒng)設(shè)計(jì)原理. 北京:機(jī)械工業(yè)出版社,2002.2

4、簡介:被稱為“嵌入式計(jì)算系統(tǒng)設(shè)計(jì)的第一本教科書”,書中重點(diǎn)介紹了嵌入式技術(shù)和基本原理和技術(shù),涉及到嵌入式系統(tǒng)的相關(guān)的指令系統(tǒng)、CPU、計(jì)算平臺(tái)、程序設(shè)計(jì)與分析、進(jìn)程和操作系統(tǒng)、硬件加速器、網(wǎng)絡(luò)、系統(tǒng)設(shè)計(jì)技術(shù)等方面。1、什么是嵌入式系統(tǒng)2、硬件基礎(chǔ)3、嵌入式操作系統(tǒng)嵌入式系統(tǒng)的基本概念一、嵌入式系統(tǒng)的定義發(fā)展歷史嵌入式系統(tǒng)本身是一個(gè)相對(duì)模糊的定義。一個(gè)手持的MP3和一個(gè)PC104的微型工業(yè)控制計(jì)算機(jī)都可以認(rèn)為是嵌入式系統(tǒng)。嵌入式系統(tǒng)已經(jīng)有了近30年的發(fā)展歷史,它是硬件和軟件交替發(fā)展的雙螺旋式發(fā)展。第一款微處理器是Intel的4004,它出現(xiàn)在1971年,然后是是Intel公司的8048,它出現(xiàn)在

5、1976年。Motorola同時(shí)推出了68HC05,Zilog公司推出了Z80系列,這些早期的單片機(jī)均含有256字節(jié)的RAM、4K的ROM、4個(gè)8位并口、1個(gè)全雙工串行口、兩個(gè)16位定時(shí)器。之后在80年代初,Intel又進(jìn)一步完善了8048,在它的基礎(chǔ)上研制成功了8051。 1981年Ready System發(fā)展了世界上第1個(gè)商業(yè)嵌入式實(shí)時(shí)內(nèi)核(VTRX32)包含了許多傳統(tǒng)操作系統(tǒng)的特征,包括任務(wù)管理、任務(wù)間通訊、同步與相互排斥、中斷支持、內(nèi)存管理等功能。隨后,出現(xiàn)了如Integrated System Incorporation (ISI)的PSOS、IMG的VxWorks、QNX公司的QN

6、X等,Palm OS,WinCE,嵌入式Linux,Lynx,uCOS、Nucleus,以及國內(nèi)的Hopen、Delta OS等嵌入式操作系統(tǒng)。今天RTOS已經(jīng)在全球形成了1個(gè)產(chǎn)業(yè),根據(jù)美國EMF(電子市場分析)報(bào)告,1999年全球RTOS市場產(chǎn)值達(dá)3.6億美元,而相關(guān)的整個(gè)嵌入式開發(fā)工具(包括仿真器、邏輯分析儀、軟件編譯器和調(diào)試器)則高達(dá)9億美元。 IEEE定義 根據(jù)IEEE(國際電氣和電子工程師協(xié)會(huì))的定義:嵌入式系統(tǒng)是“用于控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置”(原文為devices used to control, monitor, or assist the operation o

7、f equipment, machinery or plants)??梢钥闯龃硕x是從應(yīng)用上考慮的,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)電等附屬裝置。 一般定義 “以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟件硬件可裁剪、功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)?!?、嵌入式系統(tǒng)的幾個(gè)重要特征(1)系統(tǒng)內(nèi)核小由于嵌入式系統(tǒng)一般是應(yīng)用于小型電子裝置的,系統(tǒng)資源相對(duì)有限,所以內(nèi)核較之傳統(tǒng)的操作系統(tǒng)要小得多。比如ENEA公司的OSE分布式系統(tǒng),內(nèi)核只有5K,而Windows的內(nèi)核則要大得多。()專用性強(qiáng)嵌入式系統(tǒng)的個(gè)性化很強(qiáng),其中的軟件系統(tǒng)和硬件的結(jié)合非常緊密,一般要針對(duì)硬件進(jìn)行系統(tǒng)的

8、移植。即使在同一品牌、同一系列的產(chǎn)品中也需要根據(jù)系統(tǒng)硬件的變化和增減不斷進(jìn)行修改。同時(shí)針對(duì)不同的任務(wù),往往需要對(duì)系統(tǒng)進(jìn)行較大更改,程序的編譯下載要和系統(tǒng)相結(jié)合,這種修改和通用軟件的“升級(jí)”是完全不同的概念。 ()系統(tǒng)精簡嵌入式系統(tǒng)一般沒有系統(tǒng)軟件和應(yīng)用軟件的明顯區(qū)分,不要求其功能設(shè)計(jì)及實(shí)現(xiàn)上過于復(fù)雜,這樣一方面利于控制系統(tǒng)成本,同時(shí)也利于實(shí)現(xiàn)系統(tǒng)安全。()高實(shí)時(shí)性O(shè)S這是嵌入式軟件的基本要求,而且軟件要求固態(tài)存儲(chǔ),以提高速度。軟件代碼要求高質(zhì)量和高可靠性、實(shí)時(shí)性。 (5)嵌入式軟件開發(fā)走向標(biāo)準(zhǔn)化嵌入式系統(tǒng)的應(yīng)用程序可以沒有操作系統(tǒng)直接在芯片上運(yùn)行。為了合理地調(diào)度多任務(wù)、利用系統(tǒng)資源、系統(tǒng)函數(shù)以

9、及和專家?guī)旌瘮?shù)接口,用戶必須自行選配RTOS(RealTime Operating System)開發(fā)平臺(tái),這樣才能保證程序執(zhí)行的實(shí)時(shí)性、可靠性,并減少開發(fā)時(shí)間,保障軟件質(zhì)量。(6)嵌入式系統(tǒng)開發(fā)需要開發(fā)工具和環(huán)境由于其本身不具備自主開發(fā)能力,即使設(shè)計(jì)完成以后,用戶通常也是不能對(duì)其中的程序功能進(jìn)行修改,必須有一套開發(fā)工具和環(huán)境才能進(jìn)行開發(fā)。這些工具和環(huán)境一般是基于通用計(jì)算機(jī)上的軟硬件設(shè)備以及各種邏輯分析儀、混合信號(hào)示波器等。開發(fā)時(shí)往往有主機(jī)和目標(biāo)機(jī)的概念,主機(jī)用于程序的開發(fā),目標(biāo)機(jī)作為最后的執(zhí)行機(jī),開發(fā)時(shí)需要交替結(jié)合進(jìn)行。 嵌入式系統(tǒng)與PC之間的區(qū)別嵌入式系統(tǒng)一般是專用系統(tǒng),而PC是通用計(jì)算平

10、臺(tái)嵌入式系統(tǒng)的資源比PC少得多嵌入式系統(tǒng)軟件故障帶來的后果比PC機(jī)大得多嵌入式系統(tǒng)一般采用實(shí)時(shí)操作系統(tǒng)嵌入式系統(tǒng)大都有成本、功耗的要求嵌入式系統(tǒng)得到多種微處理體系的支持嵌入式系統(tǒng)需要專用的開發(fā)工具典型嵌入式系統(tǒng)基本組成硬件MPU微處理器電源模塊時(shí)鐘復(fù)位FlashRAMROMUSBLCDKeyboard外圍電路Other外設(shè)典型嵌入式系統(tǒng)基本組成軟件處理器存儲(chǔ)器輸入輸出操作系統(tǒng)應(yīng)用程序軟件結(jié)構(gòu)硬件結(jié)構(gòu)嵌入式系統(tǒng)一般指非PC系統(tǒng),它包括硬件和軟件兩部分。 硬件包括處理器微處理器、存儲(chǔ)器及外設(shè)器件和IO端口、圖形控制器等。 軟件部分包括操作系統(tǒng)軟件(OS)(要求實(shí)時(shí)和多任務(wù)操作)和應(yīng)用程序編程。有時(shí)

11、設(shè)計(jì)人員把這兩種軟件組合在一起。 應(yīng)用程序控制著系統(tǒng)的運(yùn)作和行為;而操作系統(tǒng)控制著應(yīng)用程序編程與硬件的交互作用。 嵌入式系統(tǒng)的核心是嵌入式微處理器。嵌入式微處理器一般就具備以下4個(gè)特點(diǎn)1)對(duì)實(shí)時(shí)多任務(wù)有很強(qiáng)的支持能力,能完成多任務(wù)并且有較短的中斷響應(yīng)時(shí)間,從而使內(nèi)部的代碼和實(shí)時(shí)內(nèi)核心的執(zhí)行時(shí)間減少到最低限度。 2)具有功能很強(qiáng)的存儲(chǔ)區(qū)保護(hù)功能。這是由于嵌入式系統(tǒng)的軟件結(jié)構(gòu)已模塊化,而為了避免在軟件模塊之間出現(xiàn)錯(cuò)誤的交叉作用,需要設(shè)計(jì)強(qiáng)大的存儲(chǔ)區(qū)保護(hù)功能,同時(shí)也有利于軟件診斷。 3)可擴(kuò)展的處理器結(jié)構(gòu),以能最迅速地開展出滿足應(yīng)用的最高性能的嵌入式微處理器。4)嵌入式微處理器必須功耗很低,尤其是用

12、于便攜式的無線及移動(dòng)的計(jì)算和通信設(shè)備中靠電池供電的嵌入式系統(tǒng)更是如此,如需要功耗只有mW甚至W級(jí)。 嵌入式處理器 嵌入式處理器是嵌入式系統(tǒng)的核心,是控制、輔助系統(tǒng)運(yùn)行的硬件單元。 位、 位單片機(jī),16位、 32位、64位嵌入式CPU。實(shí)時(shí)操作系統(tǒng) 實(shí)時(shí)操作系統(tǒng)是嵌入式系統(tǒng)目前最主要的組成部分。實(shí)時(shí)性需要調(diào)度一切可利用的資源完成實(shí)時(shí)控制任務(wù),著眼于提高計(jì)算機(jī)系統(tǒng)的使用效率,滿足對(duì)時(shí)間的限制和要求。 系統(tǒng)響應(yīng)時(shí)間(System response time):系統(tǒng)發(fā)出處理要求,到系統(tǒng)給出應(yīng)答信號(hào)的時(shí)間。 任務(wù)切換時(shí)間(Context-switching time):任務(wù)之間切換而使用的時(shí)間。 中斷延

13、遲(Interrupt latency):計(jì)算機(jī)接收到中斷信號(hào)到操作系統(tǒng)作出響應(yīng),并完成切換轉(zhuǎn)入中斷服務(wù)程序的時(shí)間。馮諾依曼體系結(jié)構(gòu)和哈佛體系結(jié)構(gòu)CISC與RICS影響CPU性能的因素存儲(chǔ)器系統(tǒng)I/O接口二、硬件基礎(chǔ)馮諾依曼體系結(jié)構(gòu)模型指令寄存器控制器數(shù)據(jù)通道輸入輸出中央處理器存儲(chǔ)器程序指令0指令1指令2指令3指令4數(shù)據(jù)數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)2指令的執(zhí)行周期T1)取指令(Instruction Fetch):TF2)指令譯碼(Instruction Decode):TD3)執(zhí)行指令(Instruction Execute):TE4)存儲(chǔ)(Storage):TS每條指令的執(zhí)行周期:T= TF+TD+T

14、E+TS馮諾依曼體系的特點(diǎn)1)數(shù)據(jù)與指令都存儲(chǔ)在存儲(chǔ)器中2)被大多數(shù)計(jì)算機(jī)所采用3)ARM7馮諾依曼體系哈佛體系結(jié)構(gòu)指令寄存器控制器數(shù)據(jù)通道輸入輸出中央處理器程序存儲(chǔ)器指令0指令1指令2數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)2地址指令地址數(shù)據(jù)哈佛體系結(jié)構(gòu)的特點(diǎn)1)程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器分開2)提供了較大的數(shù)存儲(chǔ)器帶寬3)適合于數(shù)字信號(hào)處理4)大多數(shù)DSP都是哈佛結(jié)構(gòu)5)ARM9是哈佛結(jié)構(gòu)CISC和RISCCISC:復(fù)雜指令集(Complex Instruction Set Computer)具有大量的指令和尋址方式8/2原則:80%的程序只使用20%的指令大多數(shù)程序只使用少量的指令就能夠運(yùn)行。RISC:精

15、簡指令集(Reduced Instruction Set Computer)在通道中只包含最有用的指令確保數(shù)據(jù)通道快速執(zhí)行每一條指令使CPU硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡單 CISC與RISC的數(shù)據(jù)通道IFIDREGALUMEM開始退出IFIDALUMEMREG微操作通道開始退出單通數(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

16、執(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è)備低速總線存儲(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)DRM需要周期性刷新ROM:只讀存儲(chǔ)器FLASH:閃存SRAM和D

17、RAM1)SRAM 2)DRAMCSR/WAddrDataCSR/WCASDataRASAddr輸入輸出接口1)I/O2)A/D、D/A3)鍵盤4)LCD5)存儲(chǔ)器接口6)設(shè)備接口三、嵌入式操作系統(tǒng)操作系統(tǒng)的分類嵌入式實(shí)時(shí)操作系統(tǒng)多任務(wù),任務(wù)優(yōu)先級(jí),調(diào)度前臺(tái)與后臺(tái)非占先式與占先式、可重入型函數(shù)3.1 操作系統(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):系

18、統(tǒng)內(nèi)有多個(gè)程序運(yùn)行,每個(gè)程序有不同的優(yōu)先級(jí),只有最高優(yōu)先級(jí)的任務(wù)才能占有CPU的控制權(quán)。 具有強(qiáng)實(shí)時(shí)特點(diǎn)的嵌入式操作系統(tǒng) 具有弱實(shí)特點(diǎn)的嵌入式操作系統(tǒng) 沒有實(shí)時(shí)特點(diǎn)的嵌入式操作系統(tǒng)按實(shí)時(shí)性分類1.強(qiáng)實(shí)時(shí)系統(tǒng),其系統(tǒng)響應(yīng)時(shí)間在毫秒或微秒級(jí)(數(shù)控機(jī)床);2.一航實(shí)時(shí)系統(tǒng),其系統(tǒng)響應(yīng)時(shí)間在毫秒幾秒的數(shù)量級(jí)上,其實(shí)時(shí)性的要求比強(qiáng)實(shí)時(shí)系統(tǒng)要差一些(電子菜譜的查詢)。3.弱實(shí)時(shí)系統(tǒng),其系統(tǒng)響應(yīng)時(shí)間約為數(shù)十秒或更長(工程機(jī)械)。(1).循環(huán)輪詢系統(tǒng):(Polling Loop)最簡單的軟件結(jié)構(gòu)是循環(huán)輪詢,程序依次檢查系統(tǒng)的每一個(gè)輸入條件,一旦條件成立就進(jìn)行相應(yīng)的處理。Initialize()While(tr

19、ue) 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-Driven system)事件驅(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í)。例如,很多基于微

20、處理器的產(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í)間3.2 嵌入式實(shí)時(shí)操作系統(tǒng)實(shí)時(shí)操作系統(tǒng)的特點(diǎn):1、多任務(wù)CPU寄存器任務(wù)控制塊1任務(wù)控制塊2任務(wù)控制塊n休眠、就緒、運(yùn)行、掛起、被中斷任務(wù)1任務(wù)2任務(wù)nCPU寄存器一個(gè)任務(wù),也稱作一個(gè)線程,是一個(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è)

21、,輪番服務(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)。任務(wù)實(shí)時(shí)任務(wù)非實(shí)時(shí)任務(wù)事件驅(qū)動(dòng)時(shí)間驅(qū)動(dòng)內(nèi)部事件:運(yùn)算結(jié)果、設(shè)備請(qǐng)求等外部事件:開關(guān)量輸入等絕對(duì)時(shí)間驅(qū)動(dòng)相對(duì)時(shí)間驅(qū)動(dòng)2、任務(wù)的事件驅(qū)動(dòng)3、中斷與中斷優(yōu)先級(jí)CPU中斷控制器1中斷控制器2外部事件4、同步與異步 一系列時(shí)間相關(guān)事件稱為同步事件,驅(qū)動(dòng)的任務(wù)為同步任務(wù) 隨機(jī)發(fā)生的事件稱為異步事件,驅(qū)動(dòng)的任務(wù)為異步任務(wù),如中斷5、資源與臨界資源 程序進(jìn)行時(shí)可使用的軟硬件環(huán)境稱為資源,2個(gè)以上任務(wù)可同時(shí)訪

22、問的共享資源稱為臨界資源。 任何任務(wù)所占用的實(shí)體都可稱為資源。資源可以是輸入輸出設(shè)備,例如打印機(jī)、鍵盤、顯示器,資源也可以是一個(gè)變量、一個(gè)結(jié)構(gòu)或一個(gè)數(shù)組等。任務(wù)1共享內(nèi)存任務(wù)2任務(wù)N6、容錯(cuò)與安全 容錯(cuò):當(dāng)系統(tǒng)軟、硬件發(fā)生故障時(shí),系統(tǒng)仍能正常運(yùn)轉(zhuǎn),完成預(yù)定的任務(wù)或某些重要的不允許間斷的任務(wù)。包括系統(tǒng)自論斷、自恢復(fù)、自動(dòng)切換等功能。 安全性:是指系統(tǒng)對(duì)自身文件和用戶文件的存取合法性的控制。如口令、加密。實(shí)時(shí)系統(tǒng)是面向具體應(yīng)用,對(duì)外來事件在限定時(shí)間內(nèi)能做出反應(yīng)的系統(tǒng)。限定時(shí)間的范圍很廣可以從微秒級(jí)(如信號(hào)處理)到分級(jí)(如聯(lián)機(jī)查詢系統(tǒng))。在實(shí)時(shí)系統(tǒng)中主要有三個(gè)指標(biāo)來衡量系統(tǒng)的實(shí)時(shí)性,即響應(yīng)時(shí)間(Re

23、sponse Time)、生存時(shí)間(Survival Time)、吞吐量(Throughput)。響應(yīng)時(shí)間(Response Time):是計(jì)算機(jī)識(shí)別一個(gè)外部事件到作出響應(yīng)的時(shí)間,在控制應(yīng)用中它是最重要的指標(biāo),如果事件不能及時(shí)的處理,系統(tǒng)可能就會(huì)崩潰。生存時(shí)間(Survival Time):是數(shù)據(jù)有效等待時(shí)間,在這段時(shí)間里數(shù)據(jù)是有效的。吞吐量(Throughput):是在一給定時(shí)間內(nèi)(秒),系統(tǒng)可以處理的事件總數(shù)。例如通訊控制器用每秒鐘處理的字符數(shù)來表示吞吐量,吞吐量是平均響應(yīng)時(shí)間的倒數(shù)。實(shí)時(shí)系統(tǒng)的評(píng)價(jià)指標(biāo)多任務(wù)系統(tǒng)中,內(nèi)核負(fù)責(zé)管理各個(gè)任務(wù),或者說為每個(gè)任務(wù)分配CPU時(shí)間,并且負(fù)責(zé)任務(wù)之間的通

24、信。內(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)之間。系統(tǒng)內(nèi)核這是操作系統(tǒng)的主要職責(zé)之一,它決定該輪到哪個(gè)任務(wù)運(yùn)行了。往往調(diào)度是基于優(yōu)先級(jí)的,根據(jù)其重要不同被賦予任務(wù)不同的優(yōu)先級(jí)。 CPU總是讓處在就緒態(tài)的優(yōu)先級(jí)最高的任務(wù)先運(yùn)行。何時(shí)讓高優(yōu)先級(jí)任務(wù)掌握CPU的使用權(quán),有兩種不同的情況,這要看用的是什么類型的內(nèi)核,是非占先式的還是占先式的內(nèi)核。 調(diào)度(dispatcher) 任務(wù)優(yōu)先級(jí)(priority) 每個(gè)任務(wù)都有其優(yōu)先級(jí)(priority),靜態(tài)優(yōu)先級(jí)和動(dòng)態(tài)優(yōu)先

25、級(jí)。應(yīng)用程序執(zhí)行過程中諸任務(wù)優(yōu)先級(jí)不變,則稱之為靜態(tài)優(yōu)先級(jí)。在靜態(tài)優(yōu)先級(jí)系統(tǒng)中,諸任務(wù)以及它們的時(shí)間約束在程序編譯時(shí)是已知的。應(yīng)用程序執(zhí)行過程中,如果任務(wù)的優(yōu)先級(jí)是可變的,則稱之為動(dòng)態(tài)優(yōu)先級(jí).非占先式與占先式非占先式(non-preemptive)非占先式調(diào)度法也稱作合作型多任務(wù)(cooperative multitasking),各個(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ù)

26、共享數(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占先式(preemptive)當(dāng)系統(tǒng)響應(yīng)時(shí)間很重要時(shí),要使用占先式(preemptive)內(nèi)核。最高優(yōu)先級(jí)

27、的任務(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)低優(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ù)的例子int Temp;Void swap (int *x,int*y)Temp=*x;*X=*Y;*y=Temp;可重入型函數(shù)一個(gè)可重入型函數(shù)的例子Void swap (int *x,int*y)int Temp;Temp=*x;*X=*Y;*y=Temp;代碼的臨界區(qū)也稱為臨界區(qū),指處理時(shí)不可分割的代碼。一旦這部分代碼開始執(zhí)行,則不允許任何中斷打入。在進(jìn)入臨界區(qū)之前要關(guān)中斷,而臨界區(qū)代碼執(zhí)行完以后要立即開中斷(在任務(wù)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論