嵌入式系統(tǒng)導(dǎo)論:CPS方法(原書第2版)
定 價(jià):89 元
叢書名:計(jì)算機(jī)科學(xué)叢書
- 作者:【美】愛德華·阿什福德·李(Edward Ashford Lee, Sanjit Arunkumar Seshia)
- 出版時(shí)間:2018/9/1
- ISBN:9787111608110
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP360.21
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書從CPS的視角,圍繞嵌入式系統(tǒng)的建模、設(shè)計(jì)和分析三方面,深入淺出地介紹了設(shè)計(jì)和實(shí)現(xiàn)CPS的整體過程及各個(gè)階段的細(xì)節(jié),重點(diǎn)是論述系統(tǒng)模型與系統(tǒng)實(shí)現(xiàn)的關(guān)系,以及軟件和硬件與物理環(huán)境的相互作用。第2版增加了兩章,第7章覆蓋傳感器和作動(dòng)器,強(qiáng)調(diào)建模;第17章給出嵌入式系統(tǒng)的安全和隱私方面的基本內(nèi)容。
本書內(nèi)容
計(jì)算機(jī)及軟件最常見的用途是在人類消費(fèi)及日;顒(dòng)中進(jìn)行信息處理,我們使用它們來撰寫書籍(就像本書)、在互聯(lián)網(wǎng)上查詢信息、通過電子郵件進(jìn)行通信,以及記錄金融數(shù)據(jù)等。然而,生活中絕大多數(shù)的“計(jì)算機(jī)”并不可見。它們控制汽車的引擎、剎車、安全帶、安全氣囊以及音頻系統(tǒng);它們將你的聲音進(jìn)行數(shù)字編碼,進(jìn)而轉(zhuǎn)換為無線電信號并從你的手機(jī)發(fā)送到基站;它們控制著微波爐、冰箱以及洗碗機(jī);它們驅(qū)動(dòng)從桌面噴墨打印機(jī)到工業(yè)大容量打印機(jī)等各式打印設(shè)備;它們控制工廠車間的機(jī)器人、電廠的發(fā)電機(jī)、化學(xué)工廠的生產(chǎn)過程以及城市的交通燈;它們在生物樣本中檢測細(xì)菌,構(gòu)建人體內(nèi)部的圖像并評估生命體征;它們從太空的無線電信號中尋找超新星及地外智慧生物;它們給予玩具“生命”,使其可以與人進(jìn)行觸覺、聽覺的交互;它們控制飛行器及火車,等等。這些“隱蔽”的計(jì)算機(jī)被稱為嵌入式系統(tǒng)(Embedded System),其中所運(yùn)行的軟件則被稱為嵌入式軟件(Embedded Software)。
盡管嵌入式系統(tǒng)已廣泛地存在和應(yīng)用,但計(jì)算機(jī)科學(xué)在其相對較短的發(fā)展歷程中仍以信息處理為核心。直到近些年,嵌入式系統(tǒng)才得到研究者越來越多的關(guān)注。同樣,也是直到近些年,本領(lǐng)域的研究者和機(jī)構(gòu)才日益意識到設(shè)計(jì)和分析這些系統(tǒng)需要不同的工程技術(shù)。盡管嵌入式系統(tǒng)自20世紀(jì)70年代就被應(yīng)用,但這些系統(tǒng)更多時(shí)候是被簡單地看作小型計(jì)算機(jī)系統(tǒng),如何應(yīng)對資源受限(處理能力、能源、存儲空間受限等)是其核心工程問題。由此,設(shè)計(jì)優(yōu)化就成為嵌入式系統(tǒng)的工程挑戰(zhàn)。由于所有設(shè)計(jì)都會從優(yōu)化過程中受益,因此,嵌入式系統(tǒng)學(xué)科也就與計(jì)算機(jī)科學(xué)的其他學(xué)科沒什么區(qū)別,只是要求我們更加積極地應(yīng)用這些共性優(yōu)化技術(shù)。
近來,研究者已經(jīng)認(rèn)識到嵌入式系統(tǒng)的主要挑戰(zhàn)源自于其與物理進(jìn)程的交互,而并非資源的限制。美國國家科學(xué)基金會(NSF)的項(xiàng)目主管Helen Gill率先提出了“信息物理融合系統(tǒng)”(Cyber-Physical System,CPS)這一概念,以強(qiáng)調(diào)計(jì)算進(jìn)程與物理進(jìn)程的集成。在信息物理融合系統(tǒng)中,嵌入式計(jì)算機(jī)與網(wǎng)絡(luò)對物理進(jìn)程進(jìn)行監(jiān)測和控制,且物理進(jìn)程與計(jì)算之間存在著相互影響的反饋環(huán)路。為此,該類系統(tǒng)的設(shè)計(jì)就需要充分理解計(jì)算機(jī)、軟件、網(wǎng)絡(luò)以及物理進(jìn)程之間相互關(guān)聯(lián)的動(dòng)態(tài)特性。研究關(guān)聯(lián)的動(dòng)態(tài)特性就使得嵌入式系統(tǒng)有別于其他學(xué)科。
在研究CPS的過程中,所謂的通用計(jì)算很少涉及的一些關(guān)鍵問題就開始浮現(xiàn)出來。例如,通用軟件中,任務(wù)執(zhí)行時(shí)間是一個(gè)性能指標(biāo),而不是正確性指標(biāo)。過長的任務(wù)執(zhí)行時(shí)間并不會引入錯(cuò)誤,僅會導(dǎo)致不太方便,也因此價(jià)值較低。但對于CPS而言,任務(wù)執(zhí)行時(shí)間可能對整個(gè)系統(tǒng)的功能正確性非常關(guān)鍵。這是因?yàn),相對于信息世界,物理世界中的時(shí)間流逝是無法挽回的。
而且,CPS中很多事件都是同時(shí)發(fā)生的。物理進(jìn)程通常由這樣一組同時(shí)發(fā)生的事件所構(gòu)成,這明顯有別于順序化的軟件執(zhí)行過程。Abelson等(1996)將計(jì)算機(jī)科學(xué)描述為“程序化認(rèn)識論”,認(rèn)為這是關(guān)于程序的知識。相比較而言,物理世界中的進(jìn)程很少是順序化的,而是由諸多并行進(jìn)程所構(gòu)成。那么,通過設(shè)計(jì)影響這些進(jìn)程的一組動(dòng)作來評估和控制其動(dòng)態(tài)特性就成為嵌入式系統(tǒng)設(shè)計(jì)的首要任務(wù)。所以,并發(fā)性才是CPS的本質(zhì),在設(shè)計(jì)和分析嵌入式軟件中存在的諸多技術(shù)挑戰(zhàn)也都源自于橋接和彌合固有順序化語義與并發(fā)性物理世界的需要。
寫作動(dòng)機(jī)
軟件與物理世界交互的機(jī)制正在發(fā)生著快速變化。今天,整個(gè)趨勢正朝著“智能化”傳感器和執(zhí)行器(或作動(dòng)器)的方向發(fā)展,這些組件搭載了微處理器、網(wǎng)絡(luò)接口以及可以遠(yuǎn)程訪問傳感器數(shù)據(jù)并激活執(zhí)行器的軟件。無論現(xiàn)在是被稱作物聯(lián)網(wǎng)(IoT)、工業(yè)4.0、工業(yè)互聯(lián)網(wǎng)、機(jī)器通信(M2M),還是萬物互聯(lián)、智慧地球、萬億傳感器(Trillion Sensor)世界、霧計(jì)算(Fog,類似于云計(jì)算,但更近于地面)等,其發(fā)展前景實(shí)際上都是深度連接信息世界與物理世界的技術(shù)。在物聯(lián)網(wǎng)領(lǐng)域中,這些“世界”之間的接口都是從信息技術(shù)特別是網(wǎng)絡(luò)技術(shù)中獲取靈感并演化而來。
物聯(lián)網(wǎng)接口是非常方便的,但仍然不適合這兩個(gè)不同世界之間的緊密交互,對于實(shí)時(shí)控制及安全攸關(guān)系統(tǒng)尤其如此。緊密交互仍然要求綜合且復(fù)雜的底層設(shè)計(jì)技術(shù)。嵌入式軟件設(shè)計(jì)人員被迫投入更多精力來關(guān)注中斷控制器、內(nèi)存架構(gòu)、匯編級編程(以利用特定指令或者精確地控制時(shí)序)、設(shè)備驅(qū)動(dòng)設(shè)計(jì)、網(wǎng)絡(luò)接口以及調(diào)度策略等問題,而不是聚焦于具體想要實(shí)現(xiàn)的行為。
這些技術(shù)(無論頂層還是底層)的龐大體系及復(fù)雜度促使我們開設(shè)如何掌握這些技術(shù)的導(dǎo)論性課程。但是,一門更好的導(dǎo)論課程應(yīng)該關(guān)注如何對軟件、網(wǎng)絡(luò)及物理進(jìn)程的關(guān)聯(lián)動(dòng)態(tài)特性進(jìn)行建模和設(shè)計(jì),且該類課程僅介紹現(xiàn)今(而不是早期)達(dá)成這一目標(biāo)的技術(shù)。本書就是我們針對該類課程所撰寫的。
關(guān)于嵌入式系統(tǒng)的技術(shù)資料大部分都關(guān)注使計(jì)算機(jī)與物理系統(tǒng)實(shí)現(xiàn)交互的技術(shù)集合(Barr and Massa, 2006; Berger, 2002; Burns and Wellings, 2001; Kamal, 2008; Noergaard, 2005; Parab et al., 2007; Simon, 2006; Valvano, 2007; Wolf, 2000)。其他一些則關(guān)注采用計(jì)算機(jī)科學(xué)技術(shù)(如編程語言、操作系統(tǒng)、網(wǎng)絡(luò)等)來處理嵌入式系
愛德華·阿什福德·李(Edward Ashford Lee) 加州大學(xué)伯克利分校電子工程與計(jì)算機(jī)科學(xué)系(EECS)羅伯特·S.佩珀(Robert S. Pepper)杰出教授;研究興趣集中于嵌入式實(shí)時(shí)計(jì)算系統(tǒng)的設(shè)計(jì)、建模與分析,曾任加州大學(xué)伯克利分校電子工程(EE)分部以及電子工程與計(jì)算機(jī)科學(xué)系主任。1979年獲得耶魯大學(xué)計(jì)算機(jī)科學(xué)學(xué)士學(xué)位,1981年獲得麻省理工學(xué)院(MIT)電氣工程與計(jì)算機(jī)科學(xué)碩士學(xué)位,1986年獲得加州大學(xué)伯克利分校電氣工程與計(jì)算機(jī)科學(xué)博士學(xué)位。1979年至1982年期間,曾在位于新澤西州霍姆德爾的貝爾實(shí)驗(yàn)室任職。他是伯克利設(shè)計(jì)技術(shù)股份有限公司(BDTI)的聯(lián)合創(chuàng)始人、IEEE會士(IEEE Fellow)、美國國家科學(xué)基金會總統(tǒng)青年科學(xué)家,并于1997年獲得美國工程教育學(xué)會的弗雷德里克·埃蒙斯·特曼獎(jiǎng)。
桑吉特·阿倫庫馬爾·塞希阿(Sanjit Arunkumar Seshia) 加州大學(xué)伯克利分校電子工程與計(jì)算機(jī)科學(xué)系教授;研究興趣集中于可信計(jì)算、計(jì)算邏輯和形式化方法及其在嵌入式系統(tǒng)、計(jì)算機(jī)安全、電子設(shè)計(jì)自動(dòng)化以及合成生物學(xué)等領(lǐng)域問題中的應(yīng)用;于印度理工學(xué)院孟買分校獲得計(jì)算機(jī)科學(xué)與工程學(xué)士學(xué)位,于卡內(nèi)基-梅隆大學(xué)(CMU)獲得計(jì)算機(jī)科學(xué)碩士和博士學(xué)位。他曾獲美國青年科學(xué)家與工程師總統(tǒng)獎(jiǎng)(PECASE)、艾爾弗雷德·P.斯隆研究獎(jiǎng),以及卡內(nèi)基-梅隆大學(xué)計(jì)算機(jī)科學(xué)學(xué)院杰出學(xué)位論文獎(jiǎng)。
出版者的話
譯者序
前言
第1章 緒論 1
1.1 應(yīng)用 1
1.2 啟發(fā)式示例 4
1.3 設(shè)計(jì)過程 5
1.3.1 建模 7
1.3.2 設(shè)計(jì) 8
1.3.3 分析 8
1.4 小結(jié) 9
第一部分 動(dòng)態(tài)行為建模
第2章 連續(xù)動(dòng)態(tài) 12
2.1 牛頓力學(xué) 12
2.2 參元模型 15
2.3 系統(tǒng)特性 17
2.3.1 因果系統(tǒng) 17
2.3.2 無記憶系統(tǒng) 18
2.3.3 線性與時(shí)不變性 18
2.3.4 穩(wěn)定性 19
2.4 反饋控制 19
2.5 小結(jié) 22
習(xí)題 23
第3章 離散動(dòng)態(tài) 25
3.1 離散系統(tǒng) 25
3.2 狀態(tài)的概念 28
3.3 有限狀態(tài)機(jī) 28
3.3.1 遷移 29
3.3.2 響應(yīng) 31
3.3.3 更新函數(shù) 32
3.3.4 確定性與接受性 34
3.4 擴(kuò)展?fàn)顟B(tài)機(jī) 35
3.5 非確定性 37
3.5.1 形式化模型 38
3.5.2 非確定性的用途 39
3.6 行為與軌跡 39
3.7 小結(jié) 41
習(xí)題 41
第4章 混合系統(tǒng) 45
4.1 模態(tài)模型 45
4.1.1 狀態(tài)機(jī)的參元模型 45
4.1.2 連續(xù)輸入 45
4.1.3 狀態(tài)精化 46
4.2 混合系統(tǒng)分類 47
4.2.1 時(shí)間自動(dòng)機(jī) 47
4.2.2 高階動(dòng)態(tài)性 49
4.2.3 監(jiān)督控制 53
4.3 小結(jié) 56
習(xí)題 57
第5章 狀態(tài)機(jī)組合 61
5.1 并發(fā)組合 62
5.1.1 平行同步組合 63
5.1.2 平行異步組合 64
5.1.3 共享變量 66
5.1.4 級聯(lián)組合 68
5.1.5 通用組合 70
5.2 分層狀態(tài)機(jī) 70
5.3 小結(jié) 72
習(xí)題 72
第6章 并發(fā)計(jì)算模型 75
6.1 模型的結(jié)構(gòu) 75
6.2 同步響應(yīng)模型 77
6.2.1 反饋模型 78
6.2.2 形式非良好模型與形式良好模型 79
6.2.3 推定一個(gè)不動(dòng)點(diǎn) 80
6.3 數(shù)據(jù)流計(jì)算模型 81
6.3.1 數(shù)據(jù)流原理 82
6.3.2 同步數(shù)據(jù)流 84
6.3.3 動(dòng)態(tài)數(shù)據(jù)流 86
6.3.4 結(jié)構(gòu)化數(shù)據(jù)流 87
6.3.5 進(jìn)程網(wǎng)絡(luò) 88
6.4 時(shí)間計(jì)算模型 89
6.4.1 時(shí)間觸發(fā)模型 89
6.4.2 離散事件系統(tǒng) 92
6.4.3 時(shí)間連續(xù)系統(tǒng) 93
6.5 小結(jié) 95
習(xí)題 95
第二部分 嵌入式系統(tǒng)設(shè)計(jì)
第7章 傳感器與執(zhí)行器 100
7.1 傳感器與執(zhí)行器模型 101
7.1.1 線性與仿射模型 101
7.1.2 量程 101
7.1.3 動(dòng)態(tài)量程 102
7.1.4 量化 102
7.1.5 噪聲 104
7.1.6 采樣 105
7.1.7 諧波失真 107
7.1.8 信號調(diào)理 108
7.2 一些常用傳感器 109
7.2.1 測量傾斜度與加速度 109
7.2.2 測量位置和速度 110
7.2.3 測量旋轉(zhuǎn) 111
7.2.4 測量聲音 111
7.2.5 其他傳感器 111
7.3 執(zhí)行器 112
7.3.1 發(fā)光二極管 112
7.3.2 電機(jī)控制 112
7.4 小結(jié) 115
習(xí)題 115
第8章 嵌入式處理器 117
8.1 處理器類型 117
8.1.1 微控制器 117
8.1.2 DSP處理器 119
8.1.3 圖形處理器 123
8.2 并行機(jī)制 123
8.2.1 并行與并發(fā) 123
8.2.2 流水線 125
8.2.3 指令級并行 127
8.2.4 多核體系結(jié)構(gòu) 132
8.3 小結(jié) 132
習(xí)題 132
第9章 存儲器體系結(jié)構(gòu) 134
9.1 存儲器技術(shù) 134
9.1.1 RAM 134
9.1.2 非易失性存儲器 135
9.2 存儲器分級體系 135
9.2.1 存儲器映射 136
9.2.2 寄存器文件 137
9.2.3 暫存器與高速緩存 138
9.3 存儲器模型 140
9.3.1 存儲器地址 140
9.3.2 棧 141
9.3.3 存儲器保護(hù)單元 142
9.3.4 動(dòng)態(tài)內(nèi)存分配 142
9.3.5 C程序的存儲模型 143
9.4 小結(jié) 143
習(xí)題 144
第10章 輸入與輸出 146
10.1 I/O硬件 146
10.1.1 脈沖寬度調(diào)制 147
10.1.2 通用數(shù)字I/O 147
10.1.3 串行接口 149
10.1.4 并行接口 151
10.1.5 總線 151
10.2 并發(fā)世界中的順序軟件 152
10.2.1 中斷與異常 152
10.2.2 原子性 154
10.2.3 中斷控制器 155
10.2.4 中斷建模 155
10.3 小結(jié) 158
習(xí)題 158
第11章 多任務(wù)機(jī)制 163
11.1 命令式程序 163
11.2 線程 166
11.2.1 創(chuàng)建線程 166
11.2.2 實(shí)現(xiàn)線程 168
11.2.3 互斥 169
11.2.4 死鎖 171
11.2.5 內(nèi)存一致性模型 172
11.2.6 多線程機(jī)制帶來的問題 173
11.3 進(jìn)程與消息傳遞 174
11.4 小結(jié) 177
習(xí)題 178
第12章 調(diào)度機(jī)制 181
12.1 調(diào)度基礎(chǔ) 181
12.1.1 調(diào)度決策 181
12.1.2 任務(wù)模型 182
12.1.3 調(diào)度器比較 184
12.1.4 調(diào)度器的實(shí)現(xiàn) 184
12.2 單調(diào)速率調(diào)度 185
12.3 最早截止期優(yōu)先調(diào)度 187
12.4 調(diào)度與互斥 190
12.4.1 優(yōu)先級翻轉(zhuǎn) 190
12.4.2 優(yōu)先級繼承協(xié)議 191
12.4.3 優(yōu)先級天花板協(xié)議 192
12.5 多處理器調(diào)度 193
12.6 小結(jié) 195
習(xí)題 196
第三部分 分析與驗(yàn)證
第13章 不變量與時(shí)態(tài)邏輯 200
13.1 不變量 200
13.2 線性時(shí)態(tài)邏輯 201
13.2.1 命題邏輯公式 202
13.2.2 線性時(shí)態(tài)邏輯公式 203
13.2.3 運(yùn)用線性時(shí)態(tài)邏輯公式 205
13.3 小結(jié) 206
習(xí)題 207
第14章 等價(jià)與精化 209
14.1 規(guī)格模型 209
14.2 類型等價(jià)與精化 209
14.3 語言等價(jià)與包含 211
14.4 模擬 215
14.4.1 模擬關(guān)系 216
14.4.2 形式化模型 217
14.4.3 傳遞性 217
14.4.4 模擬關(guān)系的非唯一性 218
14.4.5 模擬與語言包含的對比 218
14.5 互模擬