嵌入式系統(tǒng)基礎(chǔ)知識(shí)_第1頁(yè)
嵌入式系統(tǒng)基礎(chǔ)知識(shí)_第2頁(yè)
嵌入式系統(tǒng)基礎(chǔ)知識(shí)_第3頁(yè)
嵌入式系統(tǒng)基礎(chǔ)知識(shí)_第4頁(yè)
嵌入式系統(tǒng)基礎(chǔ)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩77頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1嵌入式系統(tǒng)原理及應(yīng)用嵌入式系統(tǒng)原理及應(yīng)用第二講第二講 嵌入式系統(tǒng)的基礎(chǔ)知識(shí)嵌入式系統(tǒng)的基礎(chǔ)知識(shí)2本章提要本章提要嵌入式系統(tǒng)總體結(jié)構(gòu)嵌入式系統(tǒng)總體結(jié)構(gòu)嵌入式系統(tǒng)硬件基礎(chǔ)嵌入式系統(tǒng)硬件基礎(chǔ)嵌入式系統(tǒng)中斷管理與系統(tǒng)啟動(dòng)嵌入式系統(tǒng)中斷管理與系統(tǒng)啟動(dòng)嵌入式系統(tǒng)軟件基礎(chǔ)嵌入式系統(tǒng)軟件基礎(chǔ)3嵌入式系統(tǒng)組成嵌入式系統(tǒng)組成機(jī)械裝置機(jī)械裝置嵌入式嵌入式微處理微處理器器SDRAMROMI/OA/DD/A人機(jī)交互接口人機(jī)交互接口通用接口通用接口實(shí)時(shí)操作系統(tǒng)實(shí)時(shí)操作系統(tǒng)( ( RTOSRTOS ) )圖形用戶圖形用戶接口接口BSPBSP / / HAL HAL (板極支持包板極支持包/ /硬件抽象層硬件抽象層)任務(wù)管

2、理任務(wù)管理文件系統(tǒng)文件系統(tǒng)應(yīng)用程序應(yīng)用程序嵌入式計(jì)算機(jī)系統(tǒng)嵌入式計(jì)算機(jī)系統(tǒng)傳感器傳感器 1傳感器傳感器 2傳感器傳感器 N.驅(qū)動(dòng)器驅(qū)動(dòng)器 1驅(qū)動(dòng)器驅(qū)動(dòng)器 2驅(qū)動(dòng)器驅(qū)動(dòng)器 N.硬件層硬件層軟件層軟件層中間層中間層功能層功能層被控對(duì)象被控對(duì)象42.1 嵌入式系統(tǒng)的總體結(jié)構(gòu)嵌入式系統(tǒng)的總體結(jié)構(gòu)l目前所提及的嵌入式系統(tǒng)一般指嵌入式計(jì)算機(jī)系統(tǒng),目前所提及的嵌入式系統(tǒng)一般指嵌入式計(jì)算機(jī)系統(tǒng),主要包括:硬件層、中間層、系統(tǒng)軟件層和應(yīng)用層主要包括:硬件層、中間層、系統(tǒng)軟件層和應(yīng)用層4個(gè)部分。個(gè)部分。l嵌入式硬件主要包括提供嵌入式計(jì)算機(jī)正常運(yùn)行的最嵌入式硬件主要包括提供嵌入式計(jì)算機(jī)正常運(yùn)行的最小系統(tǒng)(如電源、系

3、統(tǒng)時(shí)鐘、復(fù)位電路、存儲(chǔ)器等)小系統(tǒng)(如電源、系統(tǒng)時(shí)鐘、復(fù)位電路、存儲(chǔ)器等)、通用、通用I/O口和一些外設(shè)及其它設(shè)備。嵌入式系統(tǒng)中口和一些外設(shè)及其它設(shè)備。嵌入式系統(tǒng)中間層又稱嵌入式硬件抽象層,如硬件驅(qū)動(dòng)程序、系統(tǒng)間層又稱嵌入式硬件抽象層,如硬件驅(qū)動(dòng)程序、系統(tǒng)啟動(dòng)軟件等;嵌入式系統(tǒng)軟件層為應(yīng)用層提供系統(tǒng)服啟動(dòng)軟件等;嵌入式系統(tǒng)軟件層為應(yīng)用層提供系統(tǒng)服務(wù),如操作系統(tǒng)、文件系統(tǒng)、圖形用戶接口等;而應(yīng)務(wù),如操作系統(tǒng)、文件系統(tǒng)、圖形用戶接口等;而應(yīng)用層主要是用戶應(yīng)用程序。用層主要是用戶應(yīng)用程序。 52.1.1 硬件層硬件層 嵌入式系統(tǒng)硬件通常指除被控對(duì)象之外的嵌入式嵌入式系統(tǒng)硬件通常指除被控對(duì)象之外的嵌入

4、式系統(tǒng)要完成其功能所具備的各種設(shè)備,由嵌入式處理系統(tǒng)要完成其功能所具備的各種設(shè)備,由嵌入式處理器、存儲(chǔ)器系統(tǒng)、通用設(shè)備接口(器、存儲(chǔ)器系統(tǒng)、通用設(shè)備接口(A/D、D/A、I/O等等)和一些擴(kuò)展外設(shè)組成。)和一些擴(kuò)展外設(shè)組成。l 嵌入式系統(tǒng)的硬件層是以嵌入式處理器為核心的嵌入式系統(tǒng)的硬件層是以嵌入式處理器為核心的l嵌入式系統(tǒng)外設(shè)是指為了實(shí)現(xiàn)系統(tǒng)功能而設(shè)計(jì)或提供的嵌入式系統(tǒng)外設(shè)是指為了實(shí)現(xiàn)系統(tǒng)功能而設(shè)計(jì)或提供的接口或設(shè)備接口或設(shè)備 62.1 嵌入式系統(tǒng)的總體結(jié)構(gòu)嵌入式系統(tǒng)的總體結(jié)構(gòu)2.1.2 中間層中間層 介于硬件層與系統(tǒng)軟件層之間,將硬件的細(xì)節(jié)進(jìn)行屏蔽,介于硬件層與系統(tǒng)軟件層之間,將硬件的細(xì)節(jié)進(jìn)

5、行屏蔽,便于操作系統(tǒng)調(diào)用,因此稱為為中間層,也稱硬件抽象層(便于操作系統(tǒng)調(diào)用,因此稱為為中間層,也稱硬件抽象層(Hardware Abstract Layer,HAL)或板級(jí)支持包()或板級(jí)支持包(Board Support Package)。具有硬件相關(guān)性和操作系統(tǒng)相關(guān)性特)。具有硬件相關(guān)性和操作系統(tǒng)相關(guān)性特點(diǎn)。點(diǎn)。7主要包括系統(tǒng)初始化和設(shè)備驅(qū)動(dòng)程序主要包括系統(tǒng)初始化和設(shè)備驅(qū)動(dòng)程序l系統(tǒng)初始化系統(tǒng)初始化(1)片級(jí)初始化:主要完成)片級(jí)初始化:主要完成CPU的初始化,包括設(shè)置的初始化,包括設(shè)置CPU的核的核心寄存器和控制寄存器,心寄存器和控制寄存器,CPU核心工作模式以及核心工作模式以及CPU

6、的局部總的局部總線模式等。線模式等。(2)板級(jí)初始化:完成)板級(jí)初始化:完成CPU以外的其它硬件設(shè)備的初始化。除以外的其它硬件設(shè)備的初始化。除此之外,還要設(shè)置某些軟件的數(shù)據(jù)結(jié)構(gòu)和參數(shù),為隨后的系統(tǒng)此之外,還要設(shè)置某些軟件的數(shù)據(jù)結(jié)構(gòu)和參數(shù),為隨后的系統(tǒng)級(jí)初始化和應(yīng)用程序的運(yùn)行建立硬件和軟件環(huán)境。級(jí)初始化和應(yīng)用程序的運(yùn)行建立硬件和軟件環(huán)境。(3)系統(tǒng)級(jí)初始化:這是一個(gè)以軟件初始化為主的過(guò)程,主要)系統(tǒng)級(jí)初始化:這是一個(gè)以軟件初始化為主的過(guò)程,主要是進(jìn)行操作系統(tǒng)初始化。是進(jìn)行操作系統(tǒng)初始化。8l硬件相關(guān)的設(shè)備驅(qū)動(dòng)程序硬件相關(guān)的設(shè)備驅(qū)動(dòng)程序 與初始化過(guò)程相反,硬件相關(guān)的設(shè)備驅(qū)動(dòng)程序的初始與初始化過(guò)程相

7、反,硬件相關(guān)的設(shè)備驅(qū)動(dòng)程序的初始化和使用通常是一個(gè)從高層到底層的過(guò)程?;褪褂猛ǔJ且粋€(gè)從高層到底層的過(guò)程。 BSP不直接使用設(shè)備驅(qū)動(dòng)程序通常不直接使用設(shè)備驅(qū)動(dòng)程序通常 與操作系統(tǒng)中通用的設(shè)備驅(qū)動(dòng)程序關(guān)聯(lián)起來(lái),在應(yīng)用與操作系統(tǒng)中通用的設(shè)備驅(qū)動(dòng)程序關(guān)聯(lián)起來(lái),在應(yīng)用中由通用的設(shè)備驅(qū)動(dòng)程序調(diào)用,實(shí)現(xiàn)對(duì)硬件設(shè)備的操作中由通用的設(shè)備驅(qū)動(dòng)程序調(diào)用,實(shí)現(xiàn)對(duì)硬件設(shè)備的操作92.1.3 系統(tǒng)軟件層系統(tǒng)軟件層 系統(tǒng)軟件由操作系統(tǒng)(系統(tǒng)軟件由操作系統(tǒng)(OS)、文件系統(tǒng)()、文件系統(tǒng)(FS)、圖)、圖形用戶接口(形用戶接口(GUI)、網(wǎng)絡(luò)系統(tǒng)()、網(wǎng)絡(luò)系統(tǒng)(NM)及通用組件)及通用組件模塊(如模塊(如TCP/IP協(xié)議

8、包)等組成。協(xié)議包)等組成。1RTOS是嵌入式應(yīng)用軟件的基礎(chǔ)和開(kāi)發(fā)平臺(tái)是嵌入式應(yīng)用軟件的基礎(chǔ)和開(kāi)發(fā)平臺(tái)2FS是操作系統(tǒng)用于明確磁盤(pán)或分區(qū)上的文件的方法是操作系統(tǒng)用于明確磁盤(pán)或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu);即在磁盤(pán)上組織文件的方法。和數(shù)據(jù)結(jié)構(gòu);即在磁盤(pán)上組織文件的方法。3GUI 是是 Graphical User Interface 的簡(jiǎn)稱,即圖形的簡(jiǎn)稱,即圖形用戶接口,準(zhǔn)確來(lái)說(shuō)用戶接口,準(zhǔn)確來(lái)說(shuō) GUI 就是屏幕產(chǎn)品的視覺(jué)體驗(yàn)和就是屏幕產(chǎn)品的視覺(jué)體驗(yàn)和互動(dòng)操作部分?;?dòng)操作部分。4TCP/IP協(xié)議包簡(jiǎn)稱協(xié)議包簡(jiǎn)稱Ip Pack,IP Pack是是TCP/IP網(wǎng)絡(luò)網(wǎng)絡(luò)協(xié)議軟件,通常作為操作系統(tǒng)的

9、一個(gè)重要組成部分。協(xié)議軟件,通常作為操作系統(tǒng)的一個(gè)重要組成部分。102.1.4 功能層功能層 功能層又基于系統(tǒng)軟件開(kāi)發(fā)的應(yīng)用軟件程序組成,功能層又基于系統(tǒng)軟件開(kāi)發(fā)的應(yīng)用軟件程序組成,用來(lái)完成對(duì)被控對(duì)象的控制功能。直接與最終用戶交用來(lái)完成對(duì)被控對(duì)象的控制功能。直接與最終用戶交互,決定整個(gè)產(chǎn)品的成敗,是嵌入式軟件的核心部分互,決定整個(gè)產(chǎn)品的成敗,是嵌入式軟件的核心部分,根據(jù)用戶需求定做的。,根據(jù)用戶需求定做的。11本章提要本章提要嵌入式系統(tǒng)總體結(jié)構(gòu)嵌入式系統(tǒng)總體結(jié)構(gòu)嵌入式系統(tǒng)硬件基礎(chǔ)嵌入式系統(tǒng)硬件基礎(chǔ)嵌入式系統(tǒng)軟件基礎(chǔ)嵌入式系統(tǒng)軟件基礎(chǔ)嵌入式系統(tǒng)中斷管理與系統(tǒng)啟動(dòng)嵌入式系統(tǒng)中斷管理與系統(tǒng)啟動(dòng)12主

10、要從處理器和存儲(chǔ)器進(jìn)行介紹主要從處理器和存儲(chǔ)器進(jìn)行介紹l馮馮諾依曼體系結(jié)構(gòu)和哈佛體系結(jié)構(gòu)諾依曼體系結(jié)構(gòu)和哈佛體系結(jié)構(gòu)lCISCCISC與與RISCRISCl影響影響CPUCPU性能的因素性能的因素l存儲(chǔ)器系統(tǒng)存儲(chǔ)器系統(tǒng)2.2 嵌入式系統(tǒng)硬件基礎(chǔ)嵌入式系統(tǒng)硬件基礎(chǔ)13典型嵌入式系統(tǒng)基本組成硬件典型嵌入式系統(tǒng)基本組成硬件MPUMPU微處理器微處理器電源電源模塊模塊時(shí)鐘時(shí)鐘復(fù)位復(fù)位FlashFlashRAMRAMROMROMUSBUSBLCDLCDKeyboardKeyboard外圍電路外圍電路OtherOther外設(shè)外設(shè)141. 微處理器結(jié)構(gòu)微處理器結(jié)構(gòu) 處理器處理器控制單元控制單元指令寄存器指令

11、寄存器IR程序計(jì)數(shù)器程序計(jì)數(shù)器PC控制器控制器 存儲(chǔ)器存儲(chǔ)器I/O控制控制/狀態(tài)狀態(tài)程序存儲(chǔ)器程序存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器數(shù)據(jù)通道數(shù)據(jù)通道數(shù)字邏輯單元數(shù)字邏輯單元寄存器寄存器R0R1數(shù)據(jù)通道數(shù)據(jù)通道數(shù)字邏輯單元數(shù)字邏輯單元寄存器寄存器R0Rn。典型的微處理器由控制單元、程序計(jì)數(shù)器(典型的微處理器由控制單元、程序計(jì)數(shù)器(PC)、)、指令寄存器(指令寄存器(IR)、數(shù)據(jù)通道、存儲(chǔ)器等組成)、數(shù)據(jù)通道、存儲(chǔ)器等組成 15指令執(zhí)行過(guò)程一般分為:指令執(zhí)行過(guò)程一般分為:l取指取指從存儲(chǔ)器中獲得下一條執(zhí)行的指令讀入指令寄存器從存儲(chǔ)器中獲得下一條執(zhí)行的指令讀入指令寄存器PC: 程序計(jì)數(shù)器程序計(jì)數(shù)器, 總是指

12、向下一條將要執(zhí)行的指令總是指向下一條將要執(zhí)行的指令I(lǐng)R: 指令寄存器,用于保持已取得指令指令寄存器,用于保持已取得指令l譯碼譯碼 解釋指令,決定指令的執(zhí)行意義解釋指令,決定指令的執(zhí)行意義l執(zhí)行執(zhí)行從存儲(chǔ)器向數(shù)據(jù)通道寄存器移動(dòng)數(shù)據(jù)從存儲(chǔ)器向數(shù)據(jù)通道寄存器移動(dòng)數(shù)據(jù)通過(guò)算術(shù)邏輯單元通過(guò)算術(shù)邏輯單元ALU進(jìn)行數(shù)據(jù)操作進(jìn)行數(shù)據(jù)操作l存儲(chǔ)存儲(chǔ) 從寄存器向存儲(chǔ)器寫(xiě)數(shù)據(jù)從寄存器向存儲(chǔ)器寫(xiě)數(shù)據(jù)2. 處理器指令執(zhí)行過(guò)程處理器指令執(zhí)行過(guò)程16(1)取指)取指l處理器從程序存儲(chǔ)器中取出指令處理器從程序存儲(chǔ)器中取出指令 處理器處理器控制單元控制單元IRload R0, M500 PC100控制器控制器 存儲(chǔ)器存儲(chǔ)器I/

13、O控制控制/狀態(tài)狀態(tài)load R0, M500100inc R1, R0101store M501, R110210.500501數(shù)據(jù)通道數(shù)據(jù)通道數(shù)字邏輯單元數(shù)字邏輯單元寄存器寄存器R0R117(2)譯碼)譯碼l解釋指令,決定指令的執(zhí)行意義解釋指令,決定指令的執(zhí)行意義 存儲(chǔ)器存儲(chǔ)器 處理器處理器控制單元控制單元IRload R0, M500 PC100控制器控制器I/O控制控制/狀態(tài)狀態(tài)load R0, M500100inc R1, R0101store M501, R110210.500501數(shù)據(jù)通道數(shù)據(jù)通道數(shù)字邏輯單元數(shù)字邏輯單元寄存器寄存器R0R118執(zhí)行執(zhí)行l(wèi)從存儲(chǔ)器向數(shù)據(jù)通道寄存器移

14、動(dòng)數(shù)據(jù)從存儲(chǔ)器向數(shù)據(jù)通道寄存器移動(dòng)數(shù)據(jù) 處理器處理器控制單元控制單元IRload R0, M500 PC100控制器控制器 存儲(chǔ)器存儲(chǔ)器I/O控制控制/狀態(tài)狀態(tài)load R0, M500100inc R1, R0101store M501, R110210.500501數(shù)據(jù)通道數(shù)據(jù)通道數(shù)字邏輯單元數(shù)字邏輯單元寄存器寄存器R0R119存儲(chǔ)存儲(chǔ)l將指令執(zhí)行結(jié)構(gòu)保存到存儲(chǔ)器中將指令執(zhí)行結(jié)構(gòu)保存到存儲(chǔ)器中 處理器處理器控制單元控制單元IRload R0, M500 PC100控制器控制器 存儲(chǔ)器存儲(chǔ)器I/O控制控制/狀態(tài)狀態(tài)load R0, M500100inc R1, R0101store M501

15、, R110210.500501數(shù)據(jù)通道數(shù)據(jù)通道數(shù)字邏輯單元數(shù)字邏輯單元寄存器寄存器R0R120l在一些微處理器上,如在一些微處理器上,如ARM系列處理器、系列處理器、DSP等,等,指令實(shí)現(xiàn)流水線作業(yè),指令過(guò)程按流水線的數(shù)目來(lái)指令實(shí)現(xiàn)流水線作業(yè),指令過(guò)程按流水線的數(shù)目來(lái)進(jìn)行劃分。如進(jìn)行劃分。如5級(jí)流水線的處理器將指令分級(jí)流水線的處理器將指令分5個(gè)階段個(gè)階段執(zhí)行。執(zhí)行。 213.3.微處理器的結(jié)構(gòu)體系微處理器的結(jié)構(gòu)體系 指令寄存器指令寄存器控制器控制器數(shù)據(jù)通道數(shù)據(jù)通道輸輸入入輸輸出出中央處理器中央處理器存儲(chǔ)器存儲(chǔ)器程序程序指令指令0 0指令指令1 1指令指令2 2指令指令3 3指令指令4 4數(shù)據(jù)

16、數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)0 0數(shù)據(jù)數(shù)據(jù)1 1數(shù)據(jù)數(shù)據(jù)2 2地址地址/數(shù)據(jù)數(shù)據(jù)馮馮諾依曼體系結(jié)構(gòu)模型諾依曼體系結(jié)構(gòu)模型(1)按存儲(chǔ)結(jié)構(gòu)分:馮)按存儲(chǔ)結(jié)構(gòu)分:馮諾依曼體系結(jié)構(gòu)和哈佛體系結(jié)構(gòu)諾依曼體系結(jié)構(gòu)和哈佛體系結(jié)構(gòu) 馮馮諾伊曼結(jié)構(gòu)也稱普諾伊曼結(jié)構(gòu)也稱普林斯頓結(jié)構(gòu),是一種將程林斯頓結(jié)構(gòu),是一種將程序指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)序指令存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合并在一起的存儲(chǔ)器結(jié)器合并在一起的存儲(chǔ)器結(jié)構(gòu)。處理器,經(jīng)由同一個(gè)構(gòu)。處理器,經(jīng)由同一個(gè)總線傳輸來(lái)訪問(wèn)程序和數(shù)總線傳輸來(lái)訪問(wèn)程序和數(shù)據(jù)存儲(chǔ)器,程序指令和數(shù)據(jù)存儲(chǔ)器,程序指令和數(shù)據(jù)的寬度相同。據(jù)的寬度相同。 如如X86X86系列、系列、ARM7ARM7等等 223.3.微處理

17、器的結(jié)構(gòu)體系微處理器的結(jié)構(gòu)體系指令寄存指令寄存器器控制器控制器數(shù)據(jù)數(shù)據(jù)通道通道輸輸入入輸輸出出中央處中央處理器理器程序存程序存儲(chǔ)器儲(chǔ)器指令指令0指令指令1指令指令2數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)器器數(shù)據(jù)數(shù)據(jù)0數(shù)據(jù)數(shù)據(jù)1數(shù)據(jù)數(shù)據(jù)2地地址址指指令令地地址址數(shù)數(shù)據(jù)據(jù)哈佛體系結(jié)構(gòu)哈佛體系結(jié)構(gòu) 哈佛結(jié)構(gòu)是一種將程哈佛結(jié)構(gòu)是一種將程序指令存儲(chǔ)和數(shù)據(jù)存儲(chǔ)分序指令存儲(chǔ)和數(shù)據(jù)存儲(chǔ)分開(kāi)的存儲(chǔ)器結(jié)構(gòu),目的是開(kāi)的存儲(chǔ)器結(jié)構(gòu),目的是為了減輕程序運(yùn)行時(shí)的訪為了減輕程序運(yùn)行時(shí)的訪存瓶頸。哈佛結(jié)構(gòu)的微處存瓶頸。哈佛結(jié)構(gòu)的微處理器通常具有較高的執(zhí)行理器通常具有較高的執(zhí)行效率。效率。 如如ARM9ARM9、TITI的的DSPDSP等等 233

18、.3.微處理器的結(jié)構(gòu)體系微處理器的結(jié)構(gòu)體系按指令類型可分為:復(fù)雜指令集(按指令類型可分為:復(fù)雜指令集(CISC)處理器和精簡(jiǎn))處理器和精簡(jiǎn)指令集(指令集(RISC)處理器)處理器 CISCCISC:復(fù)雜指令集(:復(fù)雜指令集(Complex Instruction Set ComputerComplex Instruction Set Computer)l具有大量的指令和尋址方式,那么就需要更多的解釋器。具有大量的指令和尋址方式,那么就需要更多的解釋器。l8/28/2原則:原則:80%80%的程序只使用的程序只使用20%20%的指令的指令l大多數(shù)程序只使用少量的指令就能夠運(yùn)行。大多數(shù)程序只使用少

19、量的指令就能夠運(yùn)行。CISCCISC具有如下顯著特點(diǎn):具有如下顯著特點(diǎn):(1)(1) 指令格式不固定,指令長(zhǎng)度不一致,操作數(shù)可多可少;指令格式不固定,指令長(zhǎng)度不一致,操作數(shù)可多可少;(2)(2) 尋址方式復(fù)雜多樣,以利于程序的編寫(xiě);尋址方式復(fù)雜多樣,以利于程序的編寫(xiě);(3)(3) 采用微程序結(jié)構(gòu),執(zhí)行每條指令均需完成一個(gè)微指令序列;采用微程序結(jié)構(gòu),執(zhí)行每條指令均需完成一個(gè)微指令序列;(4)(4) 每條指令需要若干個(gè)機(jī)器周期才能完成,指令越復(fù)雜,花費(fèi)每條指令需要若干個(gè)機(jī)器周期才能完成,指令越復(fù)雜,花費(fèi)的機(jī)器周期越多的機(jī)器周期越多。24lRISC:精簡(jiǎn)指令集(:精簡(jiǎn)指令集(Reduced Inst

20、ruction Set Computer)l指令數(shù)目少,在通道中只包含最有用的指令指令數(shù)目少,在通道中只包含最有用的指令l執(zhí)行時(shí)間短,確保數(shù)據(jù)通道快速執(zhí)行每一條指令執(zhí)行時(shí)間短,確保數(shù)據(jù)通道快速執(zhí)行每一條指令l使使CPU硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡(jiǎn)單硬件結(jié)構(gòu)設(shè)計(jì)變得更為簡(jiǎn)單l每條指令都采用標(biāo)準(zhǔn)字長(zhǎng)每條指令都采用標(biāo)準(zhǔn)字長(zhǎng)25CISC與與RISC的區(qū)別的區(qū)別 l從硬件角度來(lái)看從硬件角度來(lái)看CISC處理的是不等長(zhǎng)指令集,它必處理的是不等長(zhǎng)指令集,它必須對(duì)不等長(zhǎng)指令進(jìn)行分割,因此在執(zhí)行單一指令的時(shí)須對(duì)不等長(zhǎng)指令進(jìn)行分割,因此在執(zhí)行單一指令的時(shí)候需要進(jìn)行較多的處理工作。而候需要進(jìn)行較多的處理工作。而RISC執(zhí)行

21、的是等長(zhǎng)執(zhí)行的是等長(zhǎng)精簡(jiǎn)指令集,精簡(jiǎn)指令集,CPU在執(zhí)行指令的時(shí)候速度較快且性能在執(zhí)行指令的時(shí)候速度較快且性能穩(wěn)定。穩(wěn)定。 l從軟件角度來(lái)看,大型操作系統(tǒng)較適合運(yùn)行在支持從軟件角度來(lái)看,大型操作系統(tǒng)較適合運(yùn)行在支持CISC的處理器上。是我們所熟識(shí)的的處理器上。是我們所熟識(shí)的DOS、Windows操作系統(tǒng)。而實(shí)時(shí)操作系統(tǒng)大多運(yùn)行在支持操作系統(tǒng)。而實(shí)時(shí)操作系統(tǒng)大多運(yùn)行在支持RISC的的處理器上。處理器上。 264 提高提高CPU性能的方法性能的方法 影響影響CPU性能的因素:流水線、超標(biāo)量、緩存和總性能的因素:流水線、超標(biāo)量、緩存和總線。對(duì)于任何處理器來(lái)說(shuō),要提高其效率,在設(shè)計(jì)上線。對(duì)于任何處理器

22、來(lái)說(shuō),要提高其效率,在設(shè)計(jì)上都是要減少數(shù)據(jù)的等待時(shí)間,并且努力減少處理單元都是要減少數(shù)據(jù)的等待時(shí)間,并且努力減少處理單元的空閑時(shí)間。的空閑時(shí)間。27(1 1)流水線技術(shù))流水線技術(shù)流水線技術(shù):也就是將一個(gè)任務(wù)分解成為多個(gè)連續(xù)的流水線技術(shù):也就是將一個(gè)任務(wù)分解成為多個(gè)連續(xù)的子任務(wù),在處理前一個(gè)子任務(wù)的同時(shí)就開(kāi)始準(zhǔn)備下一子任務(wù),在處理前一個(gè)子任務(wù)的同時(shí)就開(kāi)始準(zhǔn)備下一個(gè)子任務(wù)的數(shù)據(jù)并進(jìn)行子處理器單元的初始化。個(gè)子任務(wù)的數(shù)據(jù)并進(jìn)行子處理器單元的初始化。譯碼譯碼取指取指執(zhí)行執(zhí)行addadd譯碼譯碼取指取指執(zhí)行執(zhí)行subsub譯碼譯碼取指取指執(zhí)行執(zhí)行cmpcmp時(shí)間時(shí)間AddAddSubSubCmpCmp

23、28(2) 超標(biāo)量執(zhí)行超標(biāo)量執(zhí)行超標(biāo)量執(zhí)行:超標(biāo)量執(zhí)行:就是在處理器內(nèi)部設(shè)置多個(gè)平行的處理就是在處理器內(nèi)部設(shè)置多個(gè)平行的處理單元,將多個(gè)相互無(wú)關(guān)的任務(wù)在這些處理部件中分別單元,將多個(gè)相互無(wú)關(guān)的任務(wù)在這些處理部件中分別進(jìn)行獨(dú)立處理。進(jìn)行獨(dú)立處理。執(zhí)行執(zhí)行1預(yù)取預(yù)取指令指令CACHE譯碼譯碼2譯碼譯碼1執(zhí)行執(zhí)行2執(zhí)行執(zhí)行1預(yù)取預(yù)取譯碼譯碼2譯碼譯碼1執(zhí)行執(zhí)行2流水流水線線1流水流水線線2數(shù)據(jù)數(shù)據(jù)29(3) 高速緩存(高速緩存(CACHE)1 1、為什么采用高速緩存、為什么采用高速緩存 微處理器的時(shí)鐘頻率比內(nèi)存速度提高快得多,高微處理器的時(shí)鐘頻率比內(nèi)存速度提高快得多,高速緩存可以提高內(nèi)存的平均性能。

24、速緩存可以提高內(nèi)存的平均性能。2 2、高速緩存的工作原理、高速緩存的工作原理 高速緩存是一種小型、快速的存儲(chǔ)器,它保存部高速緩存是一種小型、快速的存儲(chǔ)器,它保存部分主存內(nèi)容的拷貝。分主存內(nèi)容的拷貝。 CPU高高速速緩緩存存控控制制器器CACHE主存主存數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)地址地址30l通常用靜態(tài)通常用靜態(tài)RAMRAM來(lái)設(shè)計(jì)來(lái)設(shè)計(jì)l因此,速度快但比較貴因此,速度快但比較貴l通常和處理器同在一個(gè)芯片上通常和處理器同在一個(gè)芯片上l高速緩存的操作方式高速緩存的操作方式: :l要求對(duì)主存儲(chǔ)器進(jìn)行訪問(wèn)要求對(duì)主存儲(chǔ)器進(jìn)行訪問(wèn) ( (讀或?qū)懽x或?qū)? )l首先,檢查高速緩存是否有相應(yīng)的拷貝首先,檢查高速緩存是否有相

25、應(yīng)的拷貝l如果有,稱為高速緩存命中如果有,稱為高速緩存命中拷貝在緩存中,可拷貝在緩存中,可以快速訪問(wèn)以快速訪問(wèn)l如果沒(méi)有,稱為高速緩存失誤如果沒(méi)有,稱為高速緩存失誤拷貝沒(méi)在緩存中拷貝沒(méi)在緩存中,需要將該地址及其相鄰的多個(gè)地址的數(shù)據(jù)讀入高,需要將該地址及其相鄰的多個(gè)地址的數(shù)據(jù)讀入高速緩存速緩存31(4) 高速總線和總線橋高速總線和總線橋CPU低速設(shè)備低速設(shè)備橋橋數(shù)據(jù)數(shù)據(jù)高速總線高速總線存儲(chǔ)器存儲(chǔ)器高速設(shè)備高速設(shè)備低速設(shè)備低速設(shè)備低速總線低速總線325. 處理器信息存儲(chǔ)的字節(jié)順序處理器信息存儲(chǔ)的字節(jié)順序處理器信息存儲(chǔ)的字節(jié)順序主要分為大端存儲(chǔ)法和處理器信息存儲(chǔ)的字節(jié)順序主要分為大端存儲(chǔ)法和小端存儲(chǔ)

26、法小端存儲(chǔ)法 l大端模式大端模式u字?jǐn)?shù)據(jù)的高位字節(jié)存儲(chǔ)在低地址中字?jǐn)?shù)據(jù)的高位字節(jié)存儲(chǔ)在低地址中u字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中字?jǐn)?shù)據(jù)的低字節(jié)則存放在高地址中u舉例:舉例:雙字節(jié)數(shù)雙字節(jié)數(shù)0 x1234以以big-endian的方式存在起始地址的方式存在起始地址0 x00002000中:中: | data |- address | 0 x12 |- 0 x00002000 | 0 x34 |- 0 x000020013124 2316 158 70 字地址字地址89101184567401230 低地址低地址 高地址高地址33l小端模式小端模式u低地址中存放字?jǐn)?shù)據(jù)的低字節(jié)低地址中存放字?jǐn)?shù)據(jù)的低字

27、節(jié)u高地址中存放字?jǐn)?shù)據(jù)的高字節(jié)高地址中存放字?jǐn)?shù)據(jù)的高字節(jié)l舉例,雙字節(jié)數(shù)舉例,雙字節(jié)數(shù)0 x12340 x1234以以little-endianlittle-endian的方式存在起始地的方式存在起始地址址0 x000020000 x00002000中:中:| data |- address| data |- address| 0 x34 |- 0 x00002000| 0 x34 |- 0 x00002000| 0 x12 |- 0 x00002001| 0 x12 |- 0 x000020013124 2316 158 70字地址字地址11109887654432100 低地址低地址 高地

28、址高地址342.2.2 存儲(chǔ)器系統(tǒng)存儲(chǔ)器系統(tǒng)1存儲(chǔ)器的分類存儲(chǔ)器的分類l按存儲(chǔ)介質(zhì)分類按存儲(chǔ)介質(zhì)分類半導(dǎo)體存儲(chǔ)器、磁表面存儲(chǔ)器、光表面存儲(chǔ)器半導(dǎo)體存儲(chǔ)器、磁表面存儲(chǔ)器、光表面存儲(chǔ)器l按存儲(chǔ)器的讀寫(xiě)功能分類按存儲(chǔ)器的讀寫(xiě)功能分類只讀存儲(chǔ)器(只讀存儲(chǔ)器(ROM)、隨機(jī)存儲(chǔ)器)、隨機(jī)存儲(chǔ)器(RAM)l按在微機(jī)系統(tǒng)中的作用分類按在微機(jī)系統(tǒng)中的作用分類主存儲(chǔ)器、輔助存儲(chǔ)器、高速緩沖存儲(chǔ)器主存儲(chǔ)器、輔助存儲(chǔ)器、高速緩沖存儲(chǔ)器35CPU內(nèi)部寄存器內(nèi)部寄存器高速緩存高速緩存片外高速存儲(chǔ)器片外高速存儲(chǔ)器(SRAM、SDRAM、DRAM)主存儲(chǔ)器主存儲(chǔ)器(FLASH、EEPROM、硬磁盤(pán))、硬磁盤(pán))外部存儲(chǔ)器外部

29、存儲(chǔ)器(磁盤(pán)、光盤(pán)、磁盤(pán)、光盤(pán)、CF卡、卡、SD卡卡)遠(yuǎn)程二級(jí)存儲(chǔ)器遠(yuǎn)程二級(jí)存儲(chǔ)器(分布式文件系統(tǒng)、分布式文件系統(tǒng)、WEB服務(wù)器服務(wù)器)2. 存儲(chǔ)器系統(tǒng)的層次結(jié)構(gòu)存儲(chǔ)器系統(tǒng)的層次結(jié)構(gòu)36為了解決為了解決CPU與主存儲(chǔ)器速度差所采取的措施有:與主存儲(chǔ)器速度差所采取的措施有:(1)CPU內(nèi)部設(shè)置多個(gè)通用寄存器內(nèi)部設(shè)置多個(gè)通用寄存器(2)采用多存儲(chǔ)模塊交叉存取)采用多存儲(chǔ)模塊交叉存?。?)采用高速緩沖存儲(chǔ)器()采用高速緩沖存儲(chǔ)器(Cache)37半導(dǎo)體存儲(chǔ)器半導(dǎo)體存儲(chǔ)器 半導(dǎo)體存儲(chǔ)器主要包括隨機(jī)存儲(chǔ)器半導(dǎo)體存儲(chǔ)器主要包括隨機(jī)存儲(chǔ)器RAM和只讀存和只讀存儲(chǔ)器兩類儲(chǔ)器兩類ROM38RAMRAM:隨機(jī)存取

30、存儲(chǔ)器,:隨機(jī)存取存儲(chǔ)器, SRAMSRAM:靜態(tài)隨機(jī)存儲(chǔ)器,:靜態(tài)隨機(jī)存儲(chǔ)器, DRAMDRAM:動(dòng)態(tài)隨機(jī)存儲(chǔ)器:動(dòng)態(tài)隨機(jī)存儲(chǔ)器 1 1)SRAMSRAM比比DRAMDRAM快快 2 2)SRAMSRAM比比DRAMDRAM耗電多耗電多 3 3)DRAMDRAM存儲(chǔ)密度比存儲(chǔ)密度比SRAMSRAM高得多高得多 4 4)DRAMDRAM需要周期性刷新需要周期性刷新ROMROM:只讀存儲(chǔ)器:只讀存儲(chǔ)器FLASHFLASH:閃存:閃存39(1 1)隨機(jī)存儲(chǔ)器)隨機(jī)存儲(chǔ)器RAMRAMl靜態(tài)靜態(tài)RAMRAMSRAM: Static RAMSRAM: Static RAMl存儲(chǔ)單元用觸發(fā)器來(lái)存儲(chǔ)數(shù)據(jù)位存

31、儲(chǔ)單元用觸發(fā)器來(lái)存儲(chǔ)數(shù)據(jù)位l要求要求6 6個(gè)晶體管個(gè)晶體管l需要電源保持?jǐn)?shù)據(jù)需要電源保持?jǐn)?shù)據(jù)l動(dòng)態(tài)動(dòng)態(tài)RAMRAMDRAM: Dynamic RAMDRAM: Dynamic RAMl存儲(chǔ)單元用存儲(chǔ)單元用MOSMOS晶體管來(lái)存儲(chǔ)數(shù)據(jù)晶體管來(lái)存儲(chǔ)數(shù)據(jù)位比位比SRAMSRAM更緊湊更緊湊l由于電容的泄漏,需要更新來(lái)保由于電容的泄漏,需要更新來(lái)保持?jǐn)?shù)據(jù)持?jǐn)?shù)據(jù)l典型的刷新頻率是典型的刷新頻率是15.625 us.15.625 us.l比比SRAMSRAM訪問(wèn)更慢訪問(wèn)更慢存儲(chǔ)器內(nèi)部結(jié)構(gòu)存儲(chǔ)器內(nèi)部結(jié)構(gòu)DataWDataSRAM刷刷 新新放放 大大 器器數(shù)數(shù) 據(jù)據(jù) 輸輸 入入 /輸輸 入入 線線C行行 選選

32、 擇擇 信信 號(hào)號(hào)列列 選選 擇擇 信信 號(hào)號(hào)T 40(2 2)只讀存儲(chǔ)器)只讀存儲(chǔ)器ROMROMEPROM: EPROM: 可擦除的可編程可擦除的可編程ROMROM 可編程部分是一個(gè)可編程部分是一個(gè)MOSMOS晶體管晶體管l晶體管有一個(gè)絕緣體包圍的晶體管有一個(gè)絕緣體包圍的“浮柵浮柵”l(a)(a)負(fù)電荷在源極和漏極之間負(fù)電荷在源極和漏極之間形成一個(gè)隧道形成一個(gè)隧道l(b) (b) 較大的正電壓在柵極使負(fù)較大的正電壓在柵極使負(fù)電荷移出隧道進(jìn)入柵極形成邏電荷移出隧道進(jìn)入柵極形成邏輯輯0 0l(c) (c) 擦除擦除紫外線在柵極表紫外線在柵極表面的照射使負(fù)電荷從柵極回到面的照射使負(fù)電荷從柵極回到隧

33、道保持邏輯隧道保持邏輯1 1l(d) EPROM(d) EPROM有一個(gè)有一個(gè)紫外線紫外線可以可以通過(guò)的石英窗通過(guò)的石英窗(d)(a)(b)源極源極漏極漏極+15V 源極源極 漏極漏極0V(c)源極源極漏極漏極浮柵浮柵5-30 min41EEPROM:EEPROM:電擦除的可編程電擦除的可編程ROMROMl電可編程和擦除電可編程和擦除(Programmed and erased (Programmed and erased electronically)electronically)l使用電壓比正常的高使用電壓比正常的高l能單個(gè)字進(jìn)行擦除和編程能單個(gè)字進(jìn)行擦除和編程l較好的寫(xiě)入能力較好的寫(xiě)入能

34、力(Better write ability)(Better write ability)l通過(guò)內(nèi)部電路提供較高電壓能在系統(tǒng)內(nèi)編程通過(guò)內(nèi)部電路提供較高電壓能在系統(tǒng)內(nèi)編程l由于寫(xiě)入需經(jīng)過(guò)擦除和編程兩個(gè)步驟,因此寫(xiě)入較慢由于寫(xiě)入需經(jīng)過(guò)擦除和編程兩個(gè)步驟,因此寫(xiě)入較慢l可重復(fù)擦除和編程數(shù)萬(wàn)次可重復(fù)擦除和編程數(shù)萬(wàn)次l存儲(chǔ)永久性和存儲(chǔ)永久性和EPROMEPROM相近相近( (大約大約1010年年) )l比比EPROMEPROM方便得多,但更貴方便得多,但更貴42快閃存儲(chǔ)器快閃存儲(chǔ)器(Flash Memory)(Flash Memory)lEEPROM的擴(kuò)展的擴(kuò)展l同樣利用浮柵原理同樣利用浮柵原理l具有和

35、具有和EEPROM的寫(xiě)入能力和保存永久性的寫(xiě)入能力和保存永久性l擦除更快擦除更快l每次可以擦除存儲(chǔ)器一塊區(qū)域,但每次可以擦除存儲(chǔ)器一塊區(qū)域,但EEPROM每次只能擦除每次只能擦除一個(gè)字一個(gè)字l每個(gè)塊通常幾千個(gè)字節(jié)每個(gè)塊通常幾千個(gè)字節(jié)l進(jìn)行單字寫(xiě)入時(shí)可能更慢進(jìn)行單字寫(xiě)入時(shí)可能更慢l必須先進(jìn)行整塊讀取后,對(duì)需修改的字修改更新后再整塊必須先進(jìn)行整塊讀取后,對(duì)需修改的字修改更新后再整塊寫(xiě)入寫(xiě)入l用在需要大量存儲(chǔ)數(shù)據(jù)在非易失性存儲(chǔ)器的嵌入式系用在需要大量存儲(chǔ)數(shù)據(jù)在非易失性存儲(chǔ)器的嵌入式系統(tǒng)統(tǒng)l如數(shù)碼相機(jī),機(jī)頂盒,移動(dòng)電話等如數(shù)碼相機(jī),機(jī)頂盒,移動(dòng)電話等l兩種主要的兩種主要的Flash Memory技術(shù)是

36、技術(shù)是NOR和和NAND結(jié)構(gòu)結(jié)構(gòu)432.2.3 處理器輸入輸出接口處理器輸入輸出接口 輸入輸出接口又稱輸入輸出接口又稱I/O接口,它是主機(jī)與外圍設(shè)接口,它是主機(jī)與外圍設(shè)備之間交互信息的連接口,它在主機(jī)和外圍設(shè)備備之間交互信息的連接口,它在主機(jī)和外圍設(shè)備之間的信息交換中起著橋梁和紐帶作用。之間的信息交換中起著橋梁和紐帶作用。1I/O接口與接口與CPU交換的信息類型交換的信息類型 輸入輸出通道與輸入輸出通道與CPU交換的信息類型有三種:交換的信息類型有三種:(1)數(shù)據(jù)信息:反映生產(chǎn)現(xiàn)場(chǎng)的參數(shù)及狀態(tài)的信息,)數(shù)據(jù)信息:反映生產(chǎn)現(xiàn)場(chǎng)的參數(shù)及狀態(tài)的信息,它包括數(shù)字量、開(kāi)關(guān)量和模擬量。它包括數(shù)字量、開(kāi)關(guān)量

37、和模擬量。(2)狀態(tài)信息:又叫做應(yīng)答信息、握手信息,它反)狀態(tài)信息:又叫做應(yīng)答信息、握手信息,它反映過(guò)程通道的狀態(tài),如準(zhǔn)備就緒信號(hào)等。映過(guò)程通道的狀態(tài),如準(zhǔn)備就緒信號(hào)等。(3)控制信息:用來(lái)控制過(guò)程通道的啟動(dòng)和停止等)控制信息:用來(lái)控制過(guò)程通道的啟動(dòng)和停止等信息,如三態(tài)門(mén)的打開(kāi)和關(guān)閉、觸發(fā)器的啟動(dòng)信息,如三態(tài)門(mén)的打開(kāi)和關(guān)閉、觸發(fā)器的啟動(dòng)等。等。442I/O的編址方式的編址方式 由于計(jì)算機(jī)系統(tǒng)一般都有多個(gè)過(guò)程輸入輸出通道,因此需由于計(jì)算機(jī)系統(tǒng)一般都有多個(gè)過(guò)程輸入輸出通道,因此需對(duì)每一個(gè)輸入輸出通道安排地址。對(duì)每一個(gè)輸入輸出通道安排地址。I/O口編址方式有兩種:口編址方式有兩種:(1)I/O與存儲(chǔ)

38、器統(tǒng)一編址方式與存儲(chǔ)器統(tǒng)一編址方式 這種編址方式又稱存儲(chǔ)器映像方式,它從存貯器空間劃出這種編址方式又稱存儲(chǔ)器映像方式,它從存貯器空間劃出一部分地址空間給過(guò)程通道,把過(guò)程通道的端口當(dāng)作存貯單元一部分地址空間給過(guò)程通道,把過(guò)程通道的端口當(dāng)作存貯單元一樣進(jìn)行訪問(wèn),對(duì)一樣進(jìn)行訪問(wèn),對(duì)I/O端口進(jìn)行輸入輸出操作跟對(duì)存儲(chǔ)單元進(jìn)端口進(jìn)行輸入輸出操作跟對(duì)存儲(chǔ)單元進(jìn)行讀寫(xiě)操作方式相同,只是地址不同。行讀寫(xiě)操作方式相同,只是地址不同。(2)I/O與存儲(chǔ)器獨(dú)立編址方式與存儲(chǔ)器獨(dú)立編址方式 這種編址方式將過(guò)程通道的端口地址單獨(dú)編址,有自己獨(dú)這種編址方式將過(guò)程通道的端口地址單獨(dú)編址,有自己獨(dú)立的過(guò)程通道地址空間,而不占

39、用存儲(chǔ)器地址空間。立的過(guò)程通道地址空間,而不占用存儲(chǔ)器地址空間。45本章提要本章提要嵌入式系統(tǒng)總體結(jié)構(gòu)嵌入式系統(tǒng)總體結(jié)構(gòu)嵌入式系統(tǒng)硬件基礎(chǔ)嵌入式系統(tǒng)硬件基礎(chǔ)嵌入式系統(tǒng)設(shè)計(jì)方法嵌入式系統(tǒng)設(shè)計(jì)方法嵌入式系統(tǒng)軟件基礎(chǔ)嵌入式系統(tǒng)軟件基礎(chǔ)462.3 嵌入式軟件基礎(chǔ)嵌入式軟件基礎(chǔ) 嵌入式系統(tǒng)軟件根據(jù)嵌入式開(kāi)發(fā)的模式分為:底層軟件、操嵌入式系統(tǒng)軟件根據(jù)嵌入式開(kāi)發(fā)的模式分為:底層軟件、操作系統(tǒng)和應(yīng)用軟件。作系統(tǒng)和應(yīng)用軟件。1. 底層軟件底層軟件l底層軟件是指直接和硬件打交道的程序,具體地講是對(duì)處理器的共有寄底層軟件是指直接和硬件打交道的程序,具體地講是對(duì)處理器的共有寄存器和外設(shè)寄存器進(jìn)行操作的程序,如系統(tǒng)啟動(dòng)

40、代碼,硬件初始化代碼存器和外設(shè)寄存器進(jìn)行操作的程序,如系統(tǒng)啟動(dòng)代碼,硬件初始化代碼,設(shè)備驅(qū)動(dòng)程序等。,設(shè)備驅(qū)動(dòng)程序等。2. 嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)l嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)EOS(Embedded Operating System)是一種用途廣)是一種用途廣泛的系統(tǒng)軟件,過(guò)去它主要應(yīng)用于工業(yè)控制和國(guó)防系統(tǒng)領(lǐng)域。泛的系統(tǒng)軟件,過(guò)去它主要應(yīng)用于工業(yè)控制和國(guó)防系統(tǒng)領(lǐng)域。EOS負(fù)責(zé)負(fù)責(zé)嵌入系統(tǒng)的全部軟、硬件資源的分配、調(diào)度工作,控制、協(xié)調(diào)并發(fā)活動(dòng)嵌入系統(tǒng)的全部軟、硬件資源的分配、調(diào)度工作,控制、協(xié)調(diào)并發(fā)活動(dòng)3. 嵌入式應(yīng)用軟件嵌入式應(yīng)用軟件l嵌入式應(yīng)用軟件是針對(duì)特定應(yīng)用領(lǐng)域,基于某一固定的硬

41、件平臺(tái),用來(lái)嵌入式應(yīng)用軟件是針對(duì)特定應(yīng)用領(lǐng)域,基于某一固定的硬件平臺(tái),用來(lái)達(dá)到用戶預(yù)期目標(biāo)的計(jì)算機(jī)軟件。由于用戶任務(wù)可能有時(shí)間和精度上的達(dá)到用戶預(yù)期目標(biāo)的計(jì)算機(jī)軟件。由于用戶任務(wù)可能有時(shí)間和精度上的要求,因此有些嵌入式應(yīng)用軟件需要特定嵌入式操作系統(tǒng)的支持。要求,因此有些嵌入式應(yīng)用軟件需要特定嵌入式操作系統(tǒng)的支持。47嵌入式軟件的特點(diǎn)嵌入式軟件的特點(diǎn)1. 嵌入式軟件具有獨(dú)特的實(shí)用性嵌入式軟件具有獨(dú)特的實(shí)用性 嵌入式軟件是為嵌入式系統(tǒng)服務(wù)的,這就要求它與外部硬嵌入式軟件是為嵌入式系統(tǒng)服務(wù)的,這就要求它與外部硬件和設(shè)備聯(lián)系緊密。件和設(shè)備聯(lián)系緊密。 2. 嵌入式軟件應(yīng)有靈活的適用性嵌入式軟件應(yīng)有靈活的

42、適用性 嵌入式軟件通常可以認(rèn)為是一種模塊化軟件,它應(yīng)該能非常嵌入式軟件通??梢哉J(rèn)為是一種模塊化軟件,它應(yīng)該能非常方便靈活的運(yùn)用到各種嵌入式系統(tǒng)中,而不能破壞或更改原有的方便靈活的運(yùn)用到各種嵌入式系統(tǒng)中,而不能破壞或更改原有的系統(tǒng)特性和功能。系統(tǒng)特性和功能。3. 程序代碼精簡(jiǎn)程序代碼精簡(jiǎn) 由于嵌入式系統(tǒng)本身的應(yīng)用特點(diǎn),具有小體積、存儲(chǔ)空間較由于嵌入式系統(tǒng)本身的應(yīng)用特點(diǎn),具有小體積、存儲(chǔ)空間較小、成本、功耗等要求限制,嵌入式軟件和大型機(jī)上的軟件相比小、成本、功耗等要求限制,嵌入式軟件和大型機(jī)上的軟件相比,具有代碼精簡(jiǎn)、代碼量少、執(zhí)行效率高等特點(diǎn)。,具有代碼精簡(jiǎn)、代碼量少、執(zhí)行效率高等特點(diǎn)。482.

43、3.2嵌入式軟件體系結(jié)構(gòu)嵌入式軟件體系結(jié)構(gòu) 本節(jié)將討論四種軟件結(jié)構(gòu):輪轉(zhuǎn)結(jié)構(gòu)(本節(jié)將討論四種軟件結(jié)構(gòu):輪轉(zhuǎn)結(jié)構(gòu)(round-robin)、帶中斷的輪轉(zhuǎn)結(jié)構(gòu)、函數(shù)隊(duì)列調(diào)度(、帶中斷的輪轉(zhuǎn)結(jié)構(gòu)、函數(shù)隊(duì)列調(diào)度(function-queue scheduling)結(jié)構(gòu)和實(shí)時(shí)操作系統(tǒng)()結(jié)構(gòu)和實(shí)時(shí)操作系統(tǒng)(real-time operating system)結(jié)構(gòu)。)結(jié)構(gòu)。 491. 輪詢結(jié)構(gòu)輪詢結(jié)構(gòu)l輪詢結(jié)構(gòu)是能想象得到的、最簡(jiǎn)單的一種結(jié)構(gòu)。該結(jié)構(gòu)中不存輪詢結(jié)構(gòu)是能想象得到的、最簡(jiǎn)單的一種結(jié)構(gòu)。該結(jié)構(gòu)中不存在中斷,主循環(huán)只是簡(jiǎn)單地依次執(zhí)行函數(shù)調(diào)用。在中斷,主循環(huán)只是簡(jiǎn)單地依次執(zhí)行函數(shù)調(diào)用。void m

44、ain() while(1) function1(); function2(); 優(yōu)點(diǎn):簡(jiǎn)單,它沒(méi)有中斷,沒(méi)有共享數(shù)據(jù),無(wú)須考慮延遲時(shí)間優(yōu)點(diǎn):簡(jiǎn)單,它沒(méi)有中斷,沒(méi)有共享數(shù)據(jù),無(wú)須考慮延遲時(shí)間 50缺點(diǎn):缺點(diǎn):l如果一個(gè)設(shè)備需要比微處理器在最壞情況下完成一個(gè)循如果一個(gè)設(shè)備需要比微處理器在最壞情況下完成一個(gè)循環(huán)的時(shí)間更短的響應(yīng)時(shí)間,那么這個(gè)系統(tǒng)將無(wú)法工作。環(huán)的時(shí)間更短的響應(yīng)時(shí)間,那么這個(gè)系統(tǒng)將無(wú)法工作。l即使所要求的響應(yīng)時(shí)間不是絕對(duì)的截止時(shí)間,當(dāng)有冗長(zhǎng)即使所要求的響應(yīng)時(shí)間不是絕對(duì)的截止時(shí)間,當(dāng)有冗長(zhǎng)的處理時(shí)系統(tǒng)也會(huì)工作得不好。的處理時(shí)系統(tǒng)也會(huì)工作得不好。l這種結(jié)構(gòu)很脆弱。即使能夠設(shè)法提高系統(tǒng)的性能

45、,從而這種結(jié)構(gòu)很脆弱。即使能夠設(shè)法提高系統(tǒng)的性能,從而因?yàn)樘幚硌h(huán)的速度足夠快而是微處理器滿足了所有的因?yàn)樘幚硌h(huán)的速度足夠快而是微處理器滿足了所有的需要,但是一旦增加一個(gè)額外的設(shè)備或者提出一個(gè)新的需要,但是一旦增加一個(gè)額外的設(shè)備或者提出一個(gè)新的中斷請(qǐng)求,就可能讓一切都崩潰。中斷請(qǐng)求,就可能讓一切都崩潰。主要應(yīng)用場(chǎng)合:主要應(yīng)用場(chǎng)合:l基于上述缺點(diǎn),輪轉(zhuǎn)結(jié)構(gòu)可能僅僅適用于非常簡(jiǎn)單的裝基于上述缺點(diǎn),輪轉(zhuǎn)結(jié)構(gòu)可能僅僅適用于非常簡(jiǎn)單的裝置,如數(shù)字手表和微波爐等。置,如數(shù)字手表和微波爐等。 512帶中斷的輪轉(zhuǎn)結(jié)構(gòu)帶中斷的輪轉(zhuǎn)結(jié)構(gòu) l在這種結(jié)構(gòu)中,中斷程序處理硬件特別緊急的需求,然后設(shè)置在這種結(jié)構(gòu)中,中斷

46、程序處理硬件特別緊急的需求,然后設(shè)置標(biāo)志,主循環(huán)輪詢這些標(biāo)志,然后根據(jù)這些需求進(jìn)行后續(xù)的處標(biāo)志,主循環(huán)輪詢這些標(biāo)志,然后根據(jù)這些需求進(jìn)行后續(xù)的處理。理。 BOOL fDeviceA=FALSE;BOOL fDeviceB=FALSE;BOOL fDeviceZ=FALSE;void interrupt vHandleDeviceA(void) fDeviceA=TRUE;void interrupt vHandleDeviceB(void) fDeviceB=TRUE;void interrupt vHandleDeviceB(void) fDeviceZ=TRUE;void main() w

47、hile (TRUE)if (fDeviceA) fDeviceA=FALSE;if (fDeviceB) fDeviceB=FALSE;if (fDeviceZ) fDeviceZ=FALSE; 52l與輪詢結(jié)構(gòu)相比這種結(jié)構(gòu)可對(duì)優(yōu)先級(jí)進(jìn)行更多的控制與輪詢結(jié)構(gòu)相比這種結(jié)構(gòu)可對(duì)優(yōu)先級(jí)進(jìn)行更多的控制。中斷程序可以獲得很快的響應(yīng),因?yàn)橛布闹袛嘈?。中斷程序可以獲得很快的響應(yīng),因?yàn)橛布闹袛嘈盘?hào)會(huì)使微處理器停止正在號(hào)會(huì)使微處理器停止正在main函數(shù)中執(zhí)行的任何操函數(shù)中執(zhí)行的任何操作,而轉(zhuǎn)去執(zhí)行中斷程序。作,而轉(zhuǎn)去執(zhí)行中斷程序。 輪詢結(jié)構(gòu)中的中斷優(yōu)先級(jí)別輪詢結(jié)構(gòu)中的中斷優(yōu)先級(jí)別 53l缺點(diǎn):缺點(diǎn): 中斷

48、程序與主程序中的數(shù)據(jù)共享問(wèn)題,當(dāng)正在執(zhí)行中斷程序與主程序中的數(shù)據(jù)共享問(wèn)題,當(dāng)正在執(zhí)行的主程序正在處理共享數(shù)據(jù)時(shí),被中斷程序中斷,進(jìn)而的主程序正在處理共享數(shù)據(jù)時(shí),被中斷程序中斷,進(jìn)而處理中斷程序,在中斷程序中有可能又對(duì)共享數(shù)據(jù)進(jìn)行處理中斷程序,在中斷程序中有可能又對(duì)共享數(shù)據(jù)進(jìn)行了相應(yīng)的操作,從而導(dǎo)致回到主程序時(shí),共享數(shù)據(jù)的值了相應(yīng)的操作,從而導(dǎo)致回到主程序時(shí),共享數(shù)據(jù)的值已經(jīng)發(fā)生了改變,導(dǎo)致意想不到的結(jié)果。已經(jīng)發(fā)生了改變,導(dǎo)致意想不到的結(jié)果。 543函數(shù)隊(duì)列調(diào)度函數(shù)隊(duì)列調(diào)度 l在這種結(jié)構(gòu)中,中斷程序在一個(gè)函數(shù)指針中添加一個(gè)函數(shù)指針在這種結(jié)構(gòu)中,中斷程序在一個(gè)函數(shù)指針中添加一個(gè)函數(shù)指針,以供,以供

49、main函數(shù)調(diào)用。主程序僅需要從該隊(duì)列中讀取相應(yīng)的函數(shù)調(diào)用。主程序僅需要從該隊(duì)列中讀取相應(yīng)的指針并且調(diào)用相關(guān)的函數(shù)。指針并且調(diào)用相關(guān)的函數(shù)。void interrupt vHandleDeviceA(void)/將functionA放入函數(shù)指針隊(duì)列中;void interrupt vHandleDeviceB(void)/將functionB放入函數(shù)指針隊(duì)列中;void functionA()void functionB()void main() while (TRUE) while(/函數(shù)指針隊(duì)列為空) /調(diào)用隊(duì)列中另一個(gè)函數(shù) 55l優(yōu)點(diǎn)優(yōu)點(diǎn):main可以根據(jù)任何可以達(dá)到目標(biāo)的優(yōu)先級(jí)方案來(lái)調(diào)

50、用函數(shù)可以根據(jù)任何可以達(dá)到目標(biāo)的優(yōu)先級(jí)方案來(lái)調(diào)用函數(shù),這樣任何需要更快響應(yīng)的任務(wù)代碼都可以被更早執(zhí)行。,這樣任何需要更快響應(yīng)的任務(wù)代碼都可以被更早執(zhí)行。為了做到這一點(diǎn),只需要在對(duì)函數(shù)指針進(jìn)行排隊(duì)的程序中為了做到這一點(diǎn),只需要在對(duì)函數(shù)指針進(jìn)行排隊(duì)的程序中對(duì)代碼進(jìn)行一點(diǎn)技巧性設(shè)計(jì)。對(duì)代碼進(jìn)行一點(diǎn)技巧性設(shè)計(jì)。l缺點(diǎn):缺點(diǎn):具有較低優(yōu)先級(jí)任務(wù)代碼的函數(shù)可能會(huì)有更差的響應(yīng)。具有較低優(yōu)先級(jí)任務(wù)代碼的函數(shù)可能會(huì)有更差的響應(yīng)。如果某個(gè)較低優(yōu)先級(jí)任務(wù)的代碼函數(shù)過(guò)長(zhǎng),就有可能影響如果某個(gè)較低優(yōu)先級(jí)任務(wù)的代碼函數(shù)過(guò)長(zhǎng),就有可能影響較高優(yōu)先級(jí)函數(shù)的響應(yīng)時(shí)間。較高優(yōu)先級(jí)函數(shù)的響應(yīng)時(shí)間。 564實(shí)時(shí)操作系統(tǒng)實(shí)時(shí)操作系統(tǒng)v

51、oid interrupt vHandleDeviceA(void)/設(shè)置信號(hào)設(shè)置信號(hào)X;void interrupt vHandleDeviceB(void)/設(shè)置信號(hào)設(shè)置信號(hào)Y;void Task1()void Task1() while (TRUE) void Task2() while (TRUE) 是在函數(shù)隊(duì)列調(diào)度結(jié)構(gòu)基礎(chǔ)上發(fā)展而來(lái)的一種結(jié)構(gòu)是在函數(shù)隊(duì)列調(diào)度結(jié)構(gòu)基礎(chǔ)上發(fā)展而來(lái)的一種結(jié)構(gòu)57l這種結(jié)構(gòu)和以前那些結(jié)構(gòu)的不同之處在于:這種結(jié)構(gòu)和以前那些結(jié)構(gòu)的不同之處在于:中斷程序和任務(wù)代碼之間的必要信號(hào)發(fā)送是由實(shí)時(shí)中斷程序和任務(wù)代碼之間的必要信號(hào)發(fā)送是由實(shí)時(shí)操作系統(tǒng)處理的,而并不需要使用共

52、享變量來(lái)達(dá)到操作系統(tǒng)處理的,而并不需要使用共享變量來(lái)達(dá)到這個(gè)目標(biāo)。這個(gè)目標(biāo)。在代碼中并沒(méi)有用循環(huán)來(lái)決定下一步要做什么。實(shí)在代碼中并沒(méi)有用循環(huán)來(lái)決定下一步要做什么。實(shí)時(shí)操作系統(tǒng)內(nèi)部的代碼可以決定什么任務(wù)代碼函數(shù)時(shí)操作系統(tǒng)內(nèi)部的代碼可以決定什么任務(wù)代碼函數(shù)可以運(yùn)行。可以運(yùn)行。實(shí)時(shí)操作系統(tǒng)可以在一個(gè)任務(wù)代碼程序運(yùn)行期間將實(shí)時(shí)操作系統(tǒng)可以在一個(gè)任務(wù)代碼程序運(yùn)行期間將其掛起,以便運(yùn)行另一個(gè)子程序。其掛起,以便運(yùn)行另一個(gè)子程序。 前兩點(diǎn)主要針對(duì)編程的方便性;而最后一點(diǎn)前兩點(diǎn)主要針對(duì)編程的方便性;而最后一點(diǎn)是實(shí)質(zhì)性的:使用實(shí)時(shí)操作系統(tǒng)結(jié)構(gòu)的系統(tǒng)不僅是實(shí)質(zhì)性的:使用實(shí)時(shí)操作系統(tǒng)結(jié)構(gòu)的系統(tǒng)不僅可以控制任務(wù)代碼的

53、響應(yīng)時(shí)間,還可以控制中斷可以控制任務(wù)代碼的響應(yīng)時(shí)間,還可以控制中斷程序的響應(yīng)時(shí)間。程序的響應(yīng)時(shí)間。 58不同軟件結(jié)構(gòu)的特點(diǎn)不同軟件結(jié)構(gòu)的特點(diǎn) l在輪詢機(jī)構(gòu)和函數(shù)隊(duì)列調(diào)度結(jié)構(gòu)中,一個(gè)任務(wù)代碼函數(shù)的響應(yīng)在輪詢機(jī)構(gòu)和函數(shù)隊(duì)列調(diào)度結(jié)構(gòu)中,一個(gè)任務(wù)代碼函數(shù)的響應(yīng)時(shí)間,取決于包括低優(yōu)先級(jí)任務(wù)子程序在內(nèi)的各個(gè)任務(wù)代碼子時(shí)間,取決于包括低優(yōu)先級(jí)任務(wù)子程序在內(nèi)的各個(gè)任務(wù)代碼子程序的長(zhǎng)度。當(dāng)改變?nèi)我庖粋€(gè)子程序的時(shí)候,就有可能改變了程序的長(zhǎng)度。當(dāng)改變?nèi)我庖粋€(gè)子程序的時(shí)候,就有可能改變了整個(gè)系統(tǒng)的響應(yīng)時(shí)間。而在實(shí)時(shí)操作系統(tǒng)結(jié)構(gòu)中,對(duì)于較低優(yōu)整個(gè)系統(tǒng)的響應(yīng)時(shí)間。而在實(shí)時(shí)操作系統(tǒng)結(jié)構(gòu)中,對(duì)于較低優(yōu)先級(jí)函數(shù)的改變通常不會(huì)影

54、響較高優(yōu)先級(jí)函數(shù)的響應(yīng)時(shí)間。先級(jí)函數(shù)的改變通常不會(huì)影響較高優(yōu)先級(jí)函數(shù)的響應(yīng)時(shí)間。 59軟件結(jié)構(gòu)的選擇軟件結(jié)構(gòu)的選擇 當(dāng)要為嵌入式系統(tǒng)選擇一種軟件結(jié)構(gòu)時(shí),一般按照當(dāng)要為嵌入式系統(tǒng)選擇一種軟件結(jié)構(gòu)時(shí),一般按照以下原則進(jìn)行:以下原則進(jìn)行:l選擇可以滿足響應(yīng)時(shí)間需求的最簡(jiǎn)單的結(jié)構(gòu)。即使沒(méi)選擇可以滿足響應(yīng)時(shí)間需求的最簡(jiǎn)單的結(jié)構(gòu)。即使沒(méi)有選擇一個(gè)復(fù)雜的軟件結(jié)構(gòu),僅僅是編寫(xiě)嵌入式系統(tǒng)有選擇一個(gè)復(fù)雜的軟件結(jié)構(gòu),僅僅是編寫(xiě)嵌入式系統(tǒng)軟件就很復(fù)雜了。軟件就很復(fù)雜了。l如果系統(tǒng)對(duì)于響應(yīng)時(shí)間的要求很高使得一個(gè)實(shí)時(shí)操作如果系統(tǒng)對(duì)于響應(yīng)時(shí)間的要求很高使得一個(gè)實(shí)時(shí)操作系統(tǒng)成為必須的,那就應(yīng)該使用實(shí)時(shí)操作系統(tǒng)結(jié)構(gòu)。系統(tǒng)成為必

55、須的,那就應(yīng)該使用實(shí)時(shí)操作系統(tǒng)結(jié)構(gòu)。大多數(shù)商業(yè)系統(tǒng)都提供相應(yīng)的工具集,方便編程人員大多數(shù)商業(yè)系統(tǒng)都提供相應(yīng)的工具集,方便編程人員對(duì)應(yīng)用程序的開(kāi)發(fā)和調(diào)試。對(duì)應(yīng)用程序的開(kāi)發(fā)和調(diào)試。l如果對(duì)一個(gè)系統(tǒng)有意義的話,可以將這幾種結(jié)構(gòu)結(jié)合如果對(duì)一個(gè)系統(tǒng)有意義的話,可以將這幾種結(jié)構(gòu)結(jié)合起來(lái)使用。起來(lái)使用。60本章提要本章提要嵌入式系統(tǒng)總體結(jié)構(gòu)嵌入式系統(tǒng)總體結(jié)構(gòu)嵌入式系統(tǒng)硬件基礎(chǔ)嵌入式系統(tǒng)硬件基礎(chǔ)嵌入式系統(tǒng)軟件基礎(chǔ)嵌入式系統(tǒng)軟件基礎(chǔ)嵌入式系統(tǒng)中斷管理與系統(tǒng)啟動(dòng)嵌入式系統(tǒng)中斷管理與系統(tǒng)啟動(dòng)612.4 中斷管理與系統(tǒng)啟動(dòng)中斷管理與系統(tǒng)啟動(dòng)2.4.1中斷基礎(chǔ)知識(shí)中斷基礎(chǔ)知識(shí) 中斷和輪詢方式不一樣,在中斷執(zhí)行完成后需要

56、恢中斷和輪詢方式不一樣,在中斷執(zhí)行完成后需要恢復(fù)被中斷的程序。復(fù)被中斷的程序。 1保存上下文和恢復(fù)上下文保存上下文和恢復(fù)上下文 在中斷處理的前后需要對(duì)處理器被中斷中止的現(xiàn)場(chǎng)在中斷處理的前后需要對(duì)處理器被中斷中止的現(xiàn)場(chǎng)進(jìn)行保護(hù)和恢復(fù),通常稱為壓棧和出棧。保護(hù)現(xiàn)場(chǎng)的目進(jìn)行保護(hù)和恢復(fù),通常稱為壓棧和出棧。保護(hù)現(xiàn)場(chǎng)的目的就是將當(dāng)前程序處理的數(shù)據(jù)、程序執(zhí)行被中斷的位置的就是將當(dāng)前程序處理的數(shù)據(jù)、程序執(zhí)行被中斷的位置、工作狀態(tài)等保存起來(lái)以便于中斷返回能繼續(xù)正常執(zhí)行、工作狀態(tài)等保存起來(lái)以便于中斷返回能繼續(xù)正常執(zhí)行 622數(shù)據(jù)共享問(wèn)題數(shù)據(jù)共享問(wèn)題 在使用中斷中都會(huì)遇到這樣一個(gè)問(wèn)題:中斷程序可在使用中斷中都會(huì)遇

57、到這樣一個(gè)問(wèn)題:中斷程序可能會(huì)與用戶所寫(xiě)的其他任務(wù)代碼通信。能會(huì)與用戶所寫(xiě)的其他任務(wù)代碼通信。 通常來(lái)講,要保證微處理器的實(shí)時(shí)性和中斷的及時(shí)通常來(lái)講,要保證微處理器的實(shí)時(shí)性和中斷的及時(shí)響應(yīng),必須要求中斷服務(wù)程序所占時(shí)間盡可能短。如果響應(yīng),必須要求中斷服務(wù)程序所占時(shí)間盡可能短。如果把微處理器所做的工作全部放到中斷程序中去做既不可把微處理器所做的工作全部放到中斷程序中去做既不可能也不合算。因此,中斷程序需要通知任務(wù)代碼來(lái)做后能也不合算。因此,中斷程序需要通知任務(wù)代碼來(lái)做后續(xù)工作處理。在這種情況下,中斷程序和任務(wù)代碼就必續(xù)工作處理。在這種情況下,中斷程序和任務(wù)代碼就必須共享一個(gè)或多個(gè)變量來(lái)實(shí)現(xiàn)它們之

58、間的通信。須共享一個(gè)或多個(gè)變量來(lái)實(shí)現(xiàn)它們之間的通信。 63經(jīng)典的共享數(shù)據(jù)問(wèn)題經(jīng)典的共享數(shù)據(jù)問(wèn)題 static int iTemperatures2;void interrupt vReadTemperatures(void)iTemperatures0=/從硬件中讀出溫度值iTemperatures1=/從硬件中讀出溫度值void main()int iTemp0, iTemp1;while (TURE) iTemp0= iTemperatures0; iTemp1= iTemperatures1; if(iTemp0!=iTemp1) /發(fā)出報(bào)警;MOVE R1, (iTemperature

59、0)MOVE R2, (iTemperature1)SUBTRACT R1,R2JCOND ZERO, TEMPRATURES_OK;發(fā)出警報(bào)TEMPRATURES_OK:64禁止中斷來(lái)解決圖禁止中斷來(lái)解決圖4-3中的共享數(shù)據(jù)問(wèn)題中的共享數(shù)據(jù)問(wèn)題 static int iTemperatures2;void interrupt vReadTemperatures(void)iTemperatures0=/從硬件中讀出溫度值iTemperatures1=/從硬件中讀出溫度值void main()int iTemp0, iTemp1;while (TURE) disable(); iTemp0=

60、iTemperatures0; iTemp1= iTemperatures1; enable(); if(iTemp0!=iTemp1) /發(fā)出報(bào)警;.DIMOV R1, (iTemperature0)MOV R2, (iTemperature1)EISUBTRACT R1,R2J C O N D Z E R O , TEMPRATURES_OK;發(fā)出警報(bào)TEMPRATURES_OK:653“原子區(qū)原子區(qū)”和和“臨界區(qū)臨界區(qū)”l程序中不能被中斷的部分代碼成為程序中不能被中斷的部分代碼成為“原子的原子的”。任務(wù)是。任務(wù)是用用“原子的原子的” 指不能被任何可能擾亂正在使用數(shù)據(jù)的指不能被任何可能擾亂

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論