嵌入式系統設計:CPS與物聯網應用(原書第3版)
內容描述
本書全面講解嵌入式系統的基礎知識,包括在信息物理系統和物聯網中的應用。
首先對嵌入式和CPS的規範模型和語言進行簡單概述,
然後介紹了相關的硬件設備和系統軟件,包括實時操作系統。
書中還討論了嵌入式系統的評估和驗證技術,並概述了將應用程序映射到執行平台(包括多核心平台)的技術。
嵌入式系統必須在嚴格的約束下運行,因此,本書還討論了優化技術。
第3版進行了重要更新和修訂,以反映新的趨勢,例如:信息物理系統和物聯網的重要性,
從單核處理器到多核處理器的發展,以及能源效率和熱量問題的重要性。
目錄大綱
出版者的話
譯者序
前言
致謝
作者簡介
常用數學符號
第1章引言1
1.1術語演化史111.2機遇3
1.3挑戰5
1.4共性特徵11
1.5嵌入式系統的課程綜合12
1.6設計流11
41.7本書的組織結構17
1.8習題18
第2章規格與建模19
2.1需求19
2.2計算模型23
2.3早期設計階段27
2.3.1用例27
2.3.2 (消息)序列圖以及時間/距離圖128
2.3.3微分方程30
2.4通信有限狀態機31
2.4.1時間自動機32
2.4.2 StateCharts:隱式共享內存通信33
2.4.3同步語言40
2.4.4消息傳遞:以SDL為例41
2.5數據流46
2.5.1範疇46
2.5 .2卡恩進程網絡47
2.5.3同步數據流49
2.5.4 Simulink51
2.6 Petri網52
2.6.1概述52
2.6.2條件/事件網54
2.6.3庫所/變遷網55
2.6.4謂詞/變遷網58
2.6.5評價59
2.7基於離散事件的語言60
2.7.1基本的離散事件仿真週期60
2.7.2多值邏輯62
2.7.3事務級建模65
2.7.4 SpecC67
2.7.5 SystemC68
2.7.6 VHDL69
2.7.7 Verilog和SystemVerilog77
2.8馮·諾依曼語言78
2.8.1 CSP78
2.8.2 Ada78
2.8.3 Java80
2.8.4通信庫81
2.8.5其他語言82
2.9硬件建模級別83
2.10計算模型的比較84
2.10.1標準84
2.10.2 UML86
2.10.3 Ptolemy II88
2.11習題88
第3章嵌入式系統硬件91
3.1概述91
3.2輸入92
3.2.1傳感器92
3.2.2時間離散化:採樣保持電路94
3.2.3信號的傅里葉近似94
3.2.4值的離散化:模-數轉換器97
3.3處理單元101
3.3.1專用集成電路102
3.3.2處理器102
3.3.3可重構邏輯118
3.4存儲器120
3.4.1一組衝突的目標120
3.4.2分層存儲結構121
3.4.3寄存器文件122
3.4.4高速緩存122
3.4.5暫存存儲器124
3.5通信124
3.5.1要求124
3.5.2電氣魯棒性125
3.5.3確保實時行為126
3.5.4示例127
3.6輸出128
3.6.1數-模轉換器129
3.6.2採樣定理130
3.6.3脈衝寬度調製134
3.6.4作動器135
3.7電能:能源效率、能源產生及存儲136
3.7.1硬件組件的能源效率136
3.7.2電能來源138
3.7.3能量存儲138
3.8安全硬件140
3.9習題141
第4章系統軟件144
4.1嵌入式操作系統144
4.1.1基本要求144
4.1.2實時操作系統147
4.1.3虛擬機149
4.2資源訪問協議149
4.2.1優先級翻轉149
4.2.2優先級繼承151
4.2.3優先級天花板協議153
4.2.4棧資源策略154
4.3 ERIKA156
4.4嵌入式Linux158
4.4.1嵌入式Linux的結構與大小159
4.4.2實時屬性160
4.4.3 flash存儲器文件系統161
4.4.4減少RAM使用162
4.4.5 uClinux——面向無MMU系統的Linux163
4.4.6評估嵌入式系統中Linux的使用164
4.5硬件抽象層164
4.6中間件165
4.6.1 OSEK/VDX COM165
4.6.2 CORBA165
4.6.3 POSIX線程166
4.6.4 UPnP、DPWS和JXTA166
4.7實時數據庫167
4.8習題167
第5章評估與驗證169
5.1概述169
5.1.1範疇169
5.1.2多目標優化169
5.1.3一組相關目標171
5.2性能評估171
5.2.1早期階段171
5.2.2 WCET估計172
5.2.3實時演算176
5.3質量度量179
5.3.1近似計算179
5.3.2簡單的質量標準180
5.3.3數據分析的標準182
5.4能量和功率模型183
5.4.1一般屬性183
5.4.2存儲器分析184
5.4.3指令和指令間影響分析184
5.4.4主功能處理器單元分析184
5.4.5處理器與存儲器能耗分析185
5.4.6整體應用分析186
5.4.7支持多線程的多應用分析187
5.4 .8 Android手機中的通信分析188
5.4.9最壞情況能耗189
5.5熱模型189
5.6可信度與風險分析194
5.6.1可信度的幾個方面194
5.6.2可靠安全性分析195
5.6 .3防護安全性分析196
5.6.4可靠性分析196
5.6.5故障樹分析、失效模式與影響分析201
5.7仿真202
5.8快速原型與模擬203
5.9形式化驗證204
5.10習題205
第6章應用映射207
6.1?調度問題的定義207
6.1.1設計問題的詳細闡述207
6.1.2調度問題的類型209
6.2單處理器調度213
6.2.1相互獨立的作業213
6.2.2帶有優先序約束的調度217
6.2.3無優先序約束的周期性調度218
6.2.4帶有優先序約束的周期性調度223
6.2.5零星事件224
6.3相同多處理器上獨立作業的調度224
6.3.1隱式截止期任務的分區調度224
6.3.2面向隱式截止期的全局動態優先級調度227
6.3.3面向隱式截止期的全局固定作業優先級調度228
6.3.4面向隱式截止期的全局固定任務優先級調度231
6.4同構多處理器上的關聯作業232
6.4.1 ASAP調度233
6.4.2 ALAP調度234
6.4.3列表調度235
6.4.4基於整數線性規劃的最優調度236
6.5異構多處理器上的關聯作業237
6.5.1問題描述237
6.5.2採用局部啟發的靜態調度237
6.5.3採用整數線性規劃的靜態調度240
6.5.4採用進化算法的靜態調度240
6.5.5動態混合調度244
6.6習題244
第7章優化246
7.1?高級優化246
7.1.1?簡單循環變換246
7.1.2?循環分塊248
7.1.3?循環分裂249
7.1.4?數組折疊250
7.1.5?浮點到定點的轉換251
7.2?任務級並發管理252
7.3?嵌入式系統編譯器255
7.3. 1?概述255
7.3.2?能量感知編譯255
7.3.3?存儲體系感知編譯256
7.3.4?協調編譯與時間分析262
7.4?功率與熱管理263
7.4.1?動態電壓與頻率調節263
7.4. 2?動態電源管理265
7.4.3?MPSoC的熱管理265
7.5?習題266
第8章測試268
8.1?範疇268
8.2?測試過程269
8.2.1?門級模型的測試模式生成269
8.2.2?自檢程序269
8.3?測試模式集與系統魯棒性的評估270
8.3.1?故障覆蓋率270
8.3.2?故障模擬270
8.3.3?故障注入271
8.4?可測試性的設計271
8.4.1?動機271
8.4.2?掃描設計272
8.4.3?特徵分析273
8.4.4?偽隨機測試模式生成274
8.4.5?內置邏輯塊觀察器275
8.5?習題276
附錄A整數線性規劃277
附錄B基爾霍夫定律與運算放大器279
附錄C分頁與內存管理單元283
參考文獻
作者介紹
Peter Marwedel
多特蒙德工業大學教授,曾任計算機科學系嵌入式系統方向負責人。
他是IEEE會士、DATE會士,曾榮獲ACM SIGDA傑出服務獎、EDAA終身成就獎以及ESWEEK終身成就獎。
他的研究興趣是嵌入式系統的自動化設計,特別是構建高效嵌入式軟件,專注於能源效率和時間可預測性。
---譯者簡介---
張凱龍博士
博士後(法國),西北工業大學計算機學院副教授、博士生導師,
中國計算機學會嵌入式系統專委會秘書長。
主要研究方向為實時智能係統、空天地群智能係統、智能交通系統及計算機仿真技術等。