鯤鵬處理器架構與編程( 簡體 字) | |
作者:戴志濤、劉健培 | 類別:1. -> 程式設計 -> 綜合 |
出版社:清華大學出版社 | 3dWoo書號: 53464 詢問書籍請說出此書號! 有庫存 NT售價: 395 元 |
出版日:9/1/2020 | |
頁數:368 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302562689 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章服務器與處理器00
1.1服務器體系結構00 1.1.1服務器的分類00 1.1.2服務器的性能評價00 1.1.3服務器的可靠性與管理0 1.2服務器處理器0 1.2.1高性能處理器的并行組織結構0 1.2.2英特爾處理器體系結構0 1.2.3ARM處理器體系結構0 1.3服務器技術基礎0 1.3.1高性能處理器的存儲器組織與片上互連0 1.3.2內存順序模型與內存屏障0 1.3.3服務器虛擬化技術0 1.3.4PCIExpress總線0 第2章ARMv8A體系結構0 2.1ARMv8A處理單元的核心架構0 2.1.1ARMv8A架構的處理器運行模式0 2.1.2ARMv8A架構的寄存器0 2.1.3ARMv8A架構的異常與中斷0 2.2ARMv8A處理單元的存儲系統架構0 2.2.1ARMv8A架構的內存模型0 2.2.2ARM架構的系統存儲管理單元0 2.3ARMv8A架構的服務器特性 2.3.1ARMv8A的服務器架構標準化 2.3.2ARMv8A的RAS擴展與PMU擴展 第3章鯤鵬處理器片上系統架構 3.1鯤鵬處理器片上系統與TaiShan處理器內核架構 3.1.1鯤鵬處理器片上系統概況 3.1.2TaiShanV110處理器內核微架構 3.1.3鯤鵬920處理器片上系統的邏輯結構 3.1.4鯤鵬920處理器片上系統的內存儲系統 3.2鯤鵬920處理器片上系統的組織與管理 3.2.1鯤鵬920處理器片上系統的配置 3.2.2鯤鵬處理器多芯片系統 3.2.3鯤鵬920處理器片上系統的管理與安全架構 3.2.4鯤鵬920處理器片上系統的PMU 3.3鯤鵬920處理器片上系統的設備與輸入/輸出 3.3.1鯤鵬920處理器片上系統的輸入/輸出概述 3.3.2鯤鵬920處理器片上系統的PCIExpress控制器 3.3.3鯤鵬920處理器片上系統的平臺設備 3.3.4鯤鵬920處理器片上系統的附加設備 3.4基于鯤鵬920處理器片上系統的TaiShan服務器 3.4.1TaiShan200服務器的組成與邏輯結構 3.4.2TaiShan200服務器的RAS技術 3.4.3TaiShan200服務器的鯤鵬加速引擎 第4章鯤鵬軟件生態和構架 4.1鯤鵬軟件生態與云服務 4.1.1ARM授權機制 4.1.2ARM服務器生態 4.1.3鯤鵬服務器軟件生態 4.1.4鯤鵬云服務及解決方案 4.2鯤鵬軟件構成 4.2.1硬件特定軟件 4.2.2操作系統內核 4.2.3基礎庫 4.2.4開發工具、中間件和應用程序 4.2.5云基礎軟件 4.3鯤鵬軟件開發模式 4.3.1原生開發模式 4.3.2交叉開發模式 4.3.3云端開發模式 4.4鯤鵬軟件移植 4.4.1鯤鵬軟件移植流程 4.4.2編譯工具的選擇 4.4.3編譯參數移植類案例 4.4.4源碼修改類案例 4.4.5鯤鵬分析掃描工具DependencyAdvisor 4.4.6鯤鵬代碼遷移工具PortingAdvisor 4.5鯤鵬軟件性能調優 4.5.1鯤鵬軟件性能調優流程 4.5.2CPU與內存子系統性能調優 4.5.3網絡子系統性能調優 4.5.4磁盤I/O子系統性能調優 4.5.5應用程序性能調優 4.5.6基礎軟件性能調優 4.5.7鯤鵬性能優化工具TuningKit 第5章鯤鵬軟件實戰案例 5.1云服務器源碼移植和編譯 5.1.1配置云服務器 5.1.2PortingAdvisor代碼移植 5.1.3搭建交叉編譯環境 5.1.4x86云服務器交叉編譯OpenSSL 5.1.5鯤鵬云服務器上編譯OpenSSL 5.2Docker的安裝與應用 5.2.1安裝Docker 5.2.2運行和驗證 5.2.3Docker常用命令 5.2.4卸載Docker 5.2.5制作適配鯤鵬架構的Docker鏡像 5.3KVM的安裝與應用 5.3.1安裝KVM 5.3.2創建虛擬機 5.3.3配置虛擬機 5.3.4克隆與修改虛擬機 5.3.5啟動與關閉虛擬機 5.3.6常用命令 5.4QEMU的安裝與應用 5.5Android模擬器的安裝與使用 5.6鯤鵬加速引擎的安裝與使用 5.6.1鯤鵬加速引擎的安裝與測試 5.6.2鯤鵬加速引擎的應用案例 參考文獻 附錄A鯤鵬開發者資源 A.1鯤鵬社區 A.2鯤鵬教學資源 A.3鯤鵬技術論壇 華為海思設計的鯤鵬(Kunpeng)920系列芯片是兼容ARMv8A架構的高性能處理器片上系統,也是華為 “算、存、傳、管、智”五個產品系列構成的鯤鵬芯片家族的核心產品。本書首先介紹高性能處理器與服務器的技術背景,然后總結了ARMv8A處理器的體系結構。在此基礎上,重點討論鯤鵬920處理器片上系統的體系結構及其軟件生態和架構。為方便讀者理解鯤鵬920處理器片上系統的應用場景,本書最后還給出了基于鯤鵬920處理器片上系統的服務器軟件的安裝、配置、開發與應用案例。
本書可以作為讀者了解和應用鯤鵬920處理器片上系統的參考用書,特別適合有興趣使用鯤鵬920處理器片上系統的軟件構架師、軟件工程師和需要在鯤鵬920處理器片上系統上開發、優化應用程序的應用工程師和調優工程師。本書還可以作為普通高等學校計算機科學與技術、大數據、人工智能等相關專業的本科生及研究生教材。對計算機組成和設計有學習興趣的讀者也可以通過本書了解現代高性能處理器的體系結構。 “北冥有魚,其名為鯤。鯤之大,不知其幾千里也。化而為鳥,其名為鵬。鵬之背,不知其幾千里也; 怒而飛,其翼若垂天之云。是鳥也,海運則將徙于南冥。南冥者,天池也。”
上面這段是《莊子·逍遙游》中記載的一段“列子仙話”。華為公司選擇用“鯤”和“鵬”這兩種傳說中奇大無比的大魚和大鳥合體而成的華夏上古神獸“鯤鵬”作為其芯片產品的名稱,足以看出其中“鯤鵬展翅”的宏圖大志。 廣義而言,鯤鵬芯片是華為海思自研芯片家族的總稱。其中除了鯤鵬系列處理器芯片外,還有昇騰(Ascend)人工智能(Artificial Intelligence,AI)芯片、固態硬盤(Solid State Drive,SSD)控制芯片、智能融合網絡芯片及智能管理芯片等,形成一個強大的支持計算、存儲、傳輸、管理和人工智能的芯片家族。從其命名方式就可以看出來,鯤鵬920處理器片上系統是這個芯片家族的核心之一。 從萬物互聯到大數據,再到云計算和人工智能,現代信息技術的核心都歸結到“算力”這個關鍵點上,而處理器正是支撐算力的最關鍵的部件。鯤鵬920處理器片上系統系列就是華為公司打造的通用計算平臺的核心。作者在高校講授“計算機組成原理”“嵌入式系統”“軟硬件協同設計”等課程多年,并與相關企業合作開發應用產品,其間接觸到x86、PowerPC、ARM、MIPS等多種處理器體系結構,也親眼看見了這些年來處理器架構的變化與紛爭。最近三四十年,計算機系統的核心應用場景經歷了從2000年之前的桌面互聯到2000年之后的移動互聯的變換,正在向萬物互聯演進。當前應用的創新速度越來越快,應用的種類和數量越來越多,移動終端配合邊緣計算與云計算的“端邊云”協同方式逐漸成為主流的計算模式,智能創新對計算平臺提出了新挑戰。正是在這一背景下,自2018年開始,全球眾多的處理器廠商推出了基于ARM架構的服務器處理器,向占據統治地位的英特爾處理器架構發起了第三次沖鋒。在移動計算和嵌入式環境中占據主導地位的ARM架構處理器可以高效實現“端邊云”全場景同構互聯與協同,并有效降低數據中心的綜合運營成本,對基于ARM架構處理器的服務器也提供了更高的并發處理效率和更開放的生態系統與多元化的市場供應,完全可以在運算密集的服務器市場上成為特定應用領域的合理選擇。 本書是一本專門介紹華為鯤鵬920處理器片上系統的參考書。由于ARM架構在嵌入式計算與移動計算領域的強大影響力,許多不熟悉華為鯤鵬的人會誤以為這是又一款高性能的移動計算處理器。事實上,鯤鵬920處理器片上系統不僅是通用計算機的處理器,而且其主要應用領域是面向服務器市場的。由于華為海思完全自主設計的鯤鵬920處理器片上系統與高性能64位處理器的ARMv8A架構完全兼容,因而可以充分利用成熟的ARM生態環境,同時向用戶提供華為的創新技術。也正是因為保持與主流處理器架構的兼容性,鯤鵬920處理器片上系統的用戶可以很方便地利用通用的軟件解決方案,并通過軟件調優最大限度地優化其應用程序。期望本書能夠為讀者全面了解和應用鯤鵬920處理器片上系統提供幫助。 本書按照逐級深入的方式組織內容。不太熟悉現代處理器和服務器的讀者可以通過第1章了解現代高性能處理器的并行架構,也可以對服務器的體系結構與核心技術有基本認知。第2章總結了ARMv8A處理器架構的邏輯組成及其關鍵特性,以便為讀者深入理解鯤鵬920處理器片上系統打下基礎。第3章是本書的核心內容之一,向讀者全面展示鯤鵬920處理器片上系統的組織結構、處理器內核架構及基于鯤鵬920處理器片上系統的TaiShan服務器的整體優勢。第4章介紹鯤鵬的軟件生態和構架,是基于鯤鵬920處理器片上系統的應用工程師和調優工程師需要重點關注的內容。為幫助讀者盡快實現向鯤鵬架構的遷移,本書最后一章給出了鯤鵬920處理器片上系統軟件安裝、配置與加速器設計的應用實例。期望更進一步了解和應用鯤鵬920處理器片上系統的讀者可以從本書附錄A中了解鯤鵬社區、鯤鵬開發套件、鯤鵬開發者系列課程和鯤鵬應用開發者認證計劃等相關信息。 ARMv8A架構是高性能的處理器架構,基于該架構的鯤鵬920處理器片上系統也具備眾多高級特性。本書不能替代ARM公司和華為公司的架構規范文檔或用戶手冊,也不可能涵蓋ARMv8A架構和鯤鵬920處理器片上系統的全部細節,只能為讀者深入理解高性能服務器處理器的整體結構提供一點幫助。有需要的讀者可以參閱ARM開發者網站和華為公司的網站獲取豐富的參考材料和電子資源。 本書第1、2、3章由戴志濤編寫,第4章和第5章由劉健培編寫,全書由戴志濤負責內容組織與統稿。華為公司為本書的編撰和出版提供了大量資源和支持。華為公司的有關專家和工程技術人員對全書的整體結構和內容選擇提出了寶貴意見,并審閱了全書的初稿。清華大學出版社首席策劃盛東亮老師提出了諸多有益的建議,編輯鐘志芳老師花費大量心血仔細校閱了全書稿件。在此,作者表示衷心感謝。 本書在編寫過程中參考了許多相關資料,特別是參考了ARM公司和華為公司相關網站提供的豐富信息,作者對這些文獻和參考資料的作者和相關機構表示感謝。 限于作者能力所限,書中難免存在疏漏,懇請讀者諒解并指正。 2020年注定不是一個普通的年份。對于全球近兩百個國家的75億人而言,這場突如其來的疫情改變了多少人的生活與工作方式,又讓多少人感受到無助與迷茫?而在中國的信息通信領域里,“華為”無疑成了焦點。無論是普通的手機用戶還是信息通信技術的專業人士,似乎都在思考著同樣的一個問題: 在被極端打壓的環境下,華為還能夠“化鯤為鵬”,展翅高飛嗎? 2020年上半年,在被疫情困在家中的日子里,作者在網上授課之余匆匆完成本書的編寫,也期望為華為出一點點微薄之力。毫無疑問,鯤鵬并不是完美的作品,也許存在bug,也面臨著強大的對手。它需要經歷市場的不斷打磨,也需要不斷修補漏洞和升級改進。我們需要給它一點點寬容,也留下期待。在這二十年中,我們見證了很多品牌的起起落落,那么多國際知名企業倒下去了,華為也經歷了風風雨雨,我們期待鯤鵬展翅,期待華為鳳凰涅槃。 作者 2020年6月于北京 |