嵌入式多核系統軟體開發嵌入式Intel體系結構實用指南

嵌入式多核系統軟體開發嵌入式Intel體系結構實用指南

《嵌入式多核系統軟體開發嵌入式Intel體系結構實用指南》是2010年2月1日機械工業出版社出版的圖書。

基本介紹

  • 書名:嵌入式多核系統軟體開發嵌入式Intel體系結構實用指南
  • ISBN:7111291069, 9787111291060
  • 頁數:245頁
  • 裝幀:平裝
圖書信息,內容簡介,目錄,

圖書信息

出版社: 機械工業出版社; 第1版 (2010年2月1日)
外文書名: Software Development for Embedded Multi-core Systems A Practical Guide Using Embedded Intel Architecture
叢書名: 計算機科學叢書
正文語種: 簡體中文
開本: 16
條形碼: 9787111291060
尺寸: 25.8 x 18 x 1 cm
重量: 381 g

內容簡介

《嵌入式多核系統軟體開發嵌入式Intel體系結構實用指南》系統闡述了嵌入式多核系統軟體開發的技術,並基於主流的Intel嵌入式多核系統給出許多開發實例。全書共分為11章,分別介紹了嵌入式多核處理器的概念、嵌入式Intel多核體系結構處理器、多核處理器性能量化方法、嵌入式多核處理器移植、可用性技術、多執行緒開發、執行緒級並行最佳化、虛擬化和分區、多處理器最佳化技術、電能利用技術等內容。
《嵌入式多核系統軟體開發嵌入式Intel體系結構實用指南》採用模組化的結構安排、理論闡述與套用實例相結合的敘述方式,最大限度幫助讀者掌握嵌入式多核開發技術。
《嵌入式多核系統軟體開發嵌入式Intel體系結構實用指南》可作為計算機科學與技術、電子科學與技術、電子信息工程等專業相關師生學習用書,也可供相關科研與工程技術人員參考。

目錄

譯者序
前言
致謝
第1章 緒論
1.1 寫作目的
1.2 多核處理器的出現
1971年,英特爾推出的全球第一顆通用型微處理器4004,由2300個電晶體構成。當時,公司的聯合創始人之一戈登摩爾(Gordon Moore),就提出後來被業界奉為信條的“摩爾定律”——每過18個月,晶片上可以集成的電晶體數目將增加一倍。
在一塊晶片上集成的電晶體數目越多,意味著運算速度主頻就更快。今天英特爾的奔騰(Pentium)四至尊版840處理器,電晶體數量已經增加至2.5億個,相比當年的4004增加了10萬倍。其主頻也從最初的740kHz(每秒鐘可進行74萬次運算),增長到現在的3GHz(每秒鐘運算30億次)以上。
當然,CPU主頻的提高,或許在一定程度上也要歸功於1975年進入這個領域的AMD公司的挑戰。正是這樣的“雙雄會”,使得眾多計算機用戶有機會享受不斷上演的“速度與激情”。一些仍不滿足的發燒友甚至選擇了自己超頻,因為在玩很多遊戲時,更快的速度可以帶來額外的饕餮享受。
但到了2005年,當主頻接近4GHz時,英特爾和AMD發現,速度也會遇到自己的極限:那就是單純的主頻提升,已經無法明顯提升系統整體性能。
以英特爾發布的採用NetBurst架構的奔騰四CPU為例,它包括Willamette、Northwood和Prescott等三種採用不同核心的產品。利用冗長的運算流水線,即增加每個時鐘周期同時執行的運算個數,就達到較高的主頻。這三種處理器的最高頻率,分別達到了2.0G、3.4G和3.8G。
按照當時的預測,奔騰四在該架構下,最終可以把主頻提高到10GHz。但由於流水線過長,使得單位頻率效能低下,加上由於快取的增加和漏電流控制不利造成功耗大幅度增加,3.6GHz奔騰四晶片在性能上反而還不如早些時推出的3.4GHz產品。所以,Prescott產品系列只達到3.8G,就戛然而止。
英特爾上海公司一位工程師在接受記者採訪時表示,Netburst微架構的好處在於方便提升頻率,可以讓產品的主頻非常高。但性能提升並不明顯,頻率提高50%,性能提升可能微不足道。因為Netburst微架構的效率較低,CPU計算資源未被充分利用,就像開車時“邊踩剎車邊踩油門”。
此外,隨著功率增大,散熱問題也越來越成為一個無法逾越的障礙。據測算,主頻每增加1G,功耗將上升25瓦,而在晶片功耗超過150瓦後,現有的風冷散熱系統將無法滿足散熱的需要。3.4GHz的奔騰四至尊版,電晶體達1.78億個,最高功耗已達135瓦。實際上,在奔騰四推出後不久,就在批評家那裡獲得了“電爐”的美稱。更有好事者用它來玩煎蛋的遊戲。
很顯然,當電晶體數量增加導致功耗增長超過性能增長速度後,處理器的可靠性就會受到致命性的影響。就連戈登摩爾本人似乎也依稀看到了“主頻為王”這條路的盡頭——2005年4月,他曾公開表示,引領半導體市場接近40年的“摩爾定律”,在未來10年至20年內可能失效。
多核心CPU解決方案(多核)的出現,似乎給人帶來了新的希望。早在上世紀90年代末,就有眾多業界人士呼籲用CMP(單晶片多處理器)技術來替代複雜性較高的單執行緒CPU。IBM、惠普、Sun等高端伺服器廠商,更是相繼推出了多核伺服器CPU。不過,由於伺服器價格高、套用面窄,並未引起大眾廣泛的注意。
直到AMD搶先手推出64位處理器後,英特爾才想起利用“多核”這一武器進行“帝國反擊戰”。2005年4月,英特爾倉促推出簡單封裝雙核的奔騰D和奔騰四至尊版840。AMD在之後也發布了雙核皓龍(Opteron)和速龍(Athlon) 64 X2和處理器。但真正的“雙核元年”,則被認為是2006年。這一年的7月23日,英特爾基於酷睿(Core)架構的處理器正式發布。2006年11月,又推出面向伺服器、工作站和高端個人電腦的至強(Xeon)5300和酷睿雙核和四核至尊版系列處理器。與上一代台式機處理器相比,酷睿2雙核處理器在性能方面提高40%,功耗反而降低40%。作為回應,7月24日,AMD也宣布對旗下的雙核Athlon64 X2處理器進行大降價。由於功耗已成為用戶在性能之外所考慮的首要因素,兩大處理器巨頭都在宣傳多核處理器時,強調其“節能”效果。英特爾發布了功耗僅為50瓦的低電壓版四核至強處理器。而AMD的“Barcelona”四核處理器功耗沒有超過95瓦。在英特爾高級副總裁帕特基辛格(Pat Gelsinger)看來,從單核到雙核,再到多核的發展,證明了摩爾定律還是非常正確的,因為“從單核到雙核,再到多核的發展,可能是摩爾定律問世以來,在晶片發展歷史上速度最快的性能提升過程”。
1.3 多處理器系統不是一項新技術
1.4 應用程式需要採用多執行緒
1.5 軟體是負擔還是機遇
1.6 什麼是嵌入式
1.7 嵌入式有何獨特性
本章小結
第2章 基本系統和處理器體系結構
2.1 性能
2.2 嵌入式Intel體系結構處理器發展歷程
2.2.1 Intel 186處理器
2.2.2 Intel 386處理器
2.2.3 Intel 486處理器
2.2.4 Intel Pentium處理器
2.2.5 Intel Pentium Ⅲ處理器
2.2.6 Intel Pentium Ⅳ處理器
2.2.7 Intel Pentium M處理器
2.2.8 Intel Xeon LV及ULV雙核處理器和Intel Xeon 5100系列雙核處理器
2.2.9 嵌入式Intel Core2雙核處理器
2.2.10 Intel Xeon 5300系列四核處理器
2.3 嵌入式系統及其處理器的發展趨勢
2.3.1 未來45nm工藝嵌入式處理器
2.3.2 Intel Atom處理器核心
2.3.3 Tolapai片上系統加速器
2.4 x86彙編語言指導
2.4.1 x86彙編基礎
2.4.2 提示1:關注小範圍
2.4.3 提示2:快速識別源運算元和目標運算元
2.4.4 提示3:了解基本暫存器和存儲器訪問
2.4.5 提示4:熟悉常用操作
2.4.6 提示5:把參考手冊當成好助手
2.4.7 提示6:注意編譯器的最佳化
2.4.8 提示7:反彙編與源程式的相關性
2.4.9 彙編實例指南
本章小結
相關閱讀
第3章 多核處理器與嵌入式
3.1 採用多核處理器的目的
3.2 多核處理器體系結構
3.2.1 同構多核與異構多核
3.2.2 對稱多核與非對稱多核
3.3 多核處理器給嵌入式系統帶來的好處
3.4 嵌入式市場與多核處理器
3.4.1 無線通信基礎設施
3.4.2 工業控制
3.4.3 國家機關的套用
3.4.4 企業基礎安全
3.4.5 車載娛樂
3.4.6 互動終端
3.4.7 語音及整合通信
3.4.8 數字安全監控
3.4.9 存儲
3.4.10 醫療
3.5 多核處理器的性能評價
3.5.1 單核性能基準測試程式
3.5.2 多核性能基準測試程式
3.5.3 功耗基準測試
3.5.4 套用性能評價
3.5.5 嵌入式系統的性能特點
3.5.6 審查基準測試程式數據
本章小結
相關閱讀
第4章 移植到Intel多核處理器
4.1 移植到Intel體系結構
4.1.1 32位與64位支持
4.1.2 位元組順序:大端與小端
4.1.3 關於BIOS和OS
4.2 支持SMP作業系統
4.2.1 基本MESI協定
4.2.2 設備驅動程式和核心程式
4.3 多核處理器開發工具的發展
4.3.1 OpenMP
4.3.2 自動並行化
4.3.3 猜測預執行
4.3.4 執行緒庫
4.3.5 圖形設計工具
4.3.6 調試
4.3.7 性能分析工具
本章小結
相關閱讀
第5章 標量最佳化與可用性
5.1 編譯器最佳化
5.1.1 一般最佳化
5.1.2 高級最佳化
5.1.3 高級最佳化選項
5.1.4 輔助最佳化
5.2 最佳化流程
5.3 可用性
5.3.1 診斷
5.3.2 兼容性
5.3.3 編譯時間
5.3.4 預編譯頭檔案
5.3.5 並行編譯
5.3.6 代碼規模
5.3.7 代碼覆蓋
5.3.8 調試最佳化結果
本章小結
相關閱讀
第6章 執行緒級並行最佳化
6.1 並行化基礎知識
6.1.1 執行緒
6.1.2 分解
6.1.3 可伸縮性
6.1.4 並行處理的局限性
6.1.5 執行緒技術需求
6.2 執行緒開發周期
6.2.1 分析
6.2.2 設計與實現
6.2.3 調試
6.2.4 調整
本章小結
相關閱讀
第7章 案例研究:數據分解
7.1 案例概述
7.2 構建過程
7.3 分析
7.4 設計和實現
7.5 調試
7.6 調整
本章小結
第8章 案例研究:功能分解
8.1 Snon
8.1.1 程式簡介
8.1.2 構建過程
8.2 分析
8.2.1 串列最佳化
8.2.2 基準
8.2.3 串列最佳化結果
8.2.4 執行時間分析
8.2.5 函式調用關係圖
8.3 設計與實現
8.3.1 執行緒化Snort
8.3.2 代碼修改
8.3.3 流定位
8.3.4 流定位的代碼修改
8.4 Snort調試
8.5 調整
本章小結
第9章 虛擬化和分區
9.1 概述
9.2 虛擬化和分區
9.2.1 VMM體系結構
9.2.2 虛擬化的套用模型和優點
9.2.3 電信/嵌入式領域中的套用前景
9.3 技術和設計因素
9.4 虛擬化的電信實例
9.4.1 建立和配置BKM
9.4.2 計算和網路L/O性能
本章小結
相關閱讀
第10章 迎接低功耗Intel體系結構
10.1 體系結構
10.1.1 順序執行
10.1.2 節能軟體的多種技術
10.2 嵌入式系統調試
10.2.1 嵌入式系統調試歷史概述
10.2.2 JTAG和嵌入式調試未來發展趨勢
10.2.3 硬體平台的構建
10.2.4 作業系統和設備驅動程式調試
10.2.5 應用程式調試
10.2.6 多核調試的考慮因素
本章小結
第11章 總結、趨勢和結論
11.1 發展趨勢
11.1.1 處理器發展趨勢
11.1.2 軟體挑戰
11.1.3 頻寬挑戰
11.2 結論
附錄
術語表

相關詞條

熱門詞條

聯絡我們