嵌入式系統基礎算法
一、嵌入式系統的定義安全
(1)定義:以應用爲中心,以計算機技術爲基礎,軟硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。網絡
(2)嵌入式系統發展的4個階段:無操做系統階段、簡單操做系統階段、實時操做系統階段、面向Internet階段。異步
(3)知識產權核(IP核):具備知識產權的、功能具體、接口規範、可在多個集成電路設計中重複使用的功能模塊,是實現系統芯片(SOC)的基本構件。性能
(4)IP核模塊有行爲、結構和物理3級不一樣程度的設計,對應描述功能行爲的不一樣能夠分爲三類:軟核、固核、硬核。學習
二、嵌入式系統的組成操作系統
包含:硬件層、中間層、系統軟件層和應用軟件層設計
(1)硬件層:嵌入式微處理器、存儲器、通用設備接口和I/O接口。接口
嵌入式核心模塊=微處理器+電源電路+時鐘電路+存儲器內存
Cache:位於主存和嵌入式微處理器內核之間,存放的是最近一段時間微處理器使用最多的程序代碼和數據。它的主要目標是減少存儲器給微處理器內核形成的存儲器訪問瓶頸,使處理速度更快。
(2)中間層(也稱爲硬件抽象層HAL或者板級支持包BSP).
它將系統上層軟件和底層硬件分離開來,使系統上層軟件開發人員無需關係底層硬件的具體狀況,根據BSP層提供的接口開發便可。
BSP有兩個特色:硬件相關性和操做系統相關性。
設計一個完整的BSP須要完成兩部分工做:
A、 嵌入式系統的硬件初始化和BSP功能。
片級初始化:純硬件的初始化過程,把嵌入式微處理器從上電的默認狀態逐步設置成系統所要求的工做狀態。
板級初始化:包含軟硬件兩部分在內的初始化過程,嵌入式物聯網智能硬件等系統學習企鵝意義氣嗚嗚吧久零就易,爲隨後的系統初始化和應用程序創建硬件和軟件的運行環境。
系統級初始化:以軟件爲主的初始化過程,進行操做系統的初始化。
B、 設計硬件相關的設備驅動。
(3)系統軟件層:由RTOS、文件系統、GUI、網絡系統及通用組件模塊組成。
RTOS是嵌入式應用軟件的基礎和開發平臺。
(4)應用軟件:由基於實時系統開發的應用程序組成。
三、實時系統
(1)定義:能在指定或肯定的時間內完成系統功能和對外部或內部、同步或異步時間作出響應的系統。
(2)區別:通用系統通常追求的是系統的平均響應時間和用戶的使用方便;而實時系統主要考慮的是在最壞狀況下的系統行爲。
(3)特色:時間約束性、可預測性、可靠性、與外部環境的交互性。
(4)硬實時(強實時):指應用的時間需求應可以獲得徹底知足,不然就形成重大安全事故,甚至形成重大的生命財產損失和生態破壞,如:航天、軍事。
(5)軟實時(弱實時):指某些應用雖然提出了時間的要求,但實時任務偶爾違反這種需求對系統運行及環境不會形成嚴重影響,如:監控系統、實時信息採集系統。
(6)任務的約束包括:時間約束、資源約束、執行順序約束和性能約束。
四、實時系統的調度
(1)調度:給定一組實時任務和系統資源,肯定每一個任務什麼時候何地執行的整個過程。
(2)搶佔式調度:一般是優先級驅動的調度,如uCOS。優勢是實時性好、反應快,調度算法相對簡單,能夠保證高優先級任務的時間約束;缺點是上下文切換多。
(3)非搶佔式調度:一般是按時間片分配的調度,不容許任務在執行期間被中斷,任務一旦佔用處理器就必須執行完畢或自願放棄,如WinCE。優勢是上下文切換少;缺點是處理器有效資源利用率低,可調度性很差。
(4)靜態表驅動策略:系統在運行前根據各任務的時間約束及關聯關係,採用某種搜索策略生成一張運行時刻表,指明各任務的起始運行時刻及運行時間。
(5)優先級驅動策略:按照任務優先級的高低肯定任務的執行順序。
(6)實時任務分類:週期任務、偶發任務、非週期任務。
(7)實時系統的通用結構模型:數據採集任務實現傳感器數據的採集,數據處理任務處理採集的數據、並將加工後的數據送到執行機構管理任務控制機構執行。
五、嵌入式微處理器體系結構
(1)馮諾依曼結構:程序和數據共用一個存儲空間,程序指令存儲地址和數據存儲地址指向同一個存儲器的不一樣物理位置,採用單一的地址及數據總線,程序和數據的寬度相同。例如:808六、ARM七、MIPS…
(2)哈佛結構:程序和數據是兩個相互獨立的存儲器,每一個存儲器獨立編址、獨立訪問,是一種將程序存儲和數據存儲分開的存儲器結構。例如:AVR、ARM九、ARM10…
(3)CISC與RISC的特色比較。
計算機執行程序所須要的時間P能夠用下面公式計算:
P=I×CPI×T
I:高級語言程序編譯後在機器上運行的指令數。
CPI:爲執行每條指令所須要的平均週期數。
T:每一個機器週期的時間。
(4)流水線的思想:在CPU中把一條指令的串行執行過程變爲若干指令的子過程在CPU中重疊執行。
(5)流水線的指標:
吞吐率:單位時間裏流水線處理機流出的結果數。若是流水線的子過程所用時間不同長,則吞吐率應爲最長子過程的倒數。
創建時間:流水線開始工做到達最大吞吐率的時間。若m個子過程所用時間同樣,均爲t,則創建時間T=mt。
(6)信息存儲的字節順序
A、存儲器單位:字節(8位)
B、字長決定了微處理器的尋址能力,即虛擬地址空間的大小。
C、32位微處理器的虛擬地址空間位232,即4GB。
D、小端字節順序:低字節在內存低地址處,高字節在內存高地址處。
E、大端字節順序:高字節在內存低地址處,低字節在內存高地址處。
F、網絡設備的存儲順序問題取決於OSI模型底層中的數據鏈路層。