鲲鹏处理器架构与编程pdf下载pdf下载

鲲鹏处理器架构与编程百度网盘pdf下载

作者:
简介:本篇主要提供鲲鹏处理器架构与编程pdf下载
出版社:清华大学出版社
出版时间:2020-09
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

编辑推荐

华为公司官方出品!走进多核架构的世界,迈向多样性计算的时代

中国科学院院士梅宏,中国工程院院士倪光南

联袂作序!

华为技术有限公司 创立于1987年,是全球领先的ICT(Information and Communications Technology,信息和通信技术)基础设施和智能终端提供商,致力于把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界。目前,华为约有19.4万名员工,业务遍及170多个国家和地区,为30多亿人提供服务。华为在通信网络、IT、智能终端和云服务等领域为客户提供有竞争力、安全可信赖的产品、解决方案与服务,与生态伙伴开放合作,持续为客户创造价值,释放个人潜能,丰富家庭生活,激发组织创新。华为坚持围绕客户需求持续创新,加大基础研究投入,厚积薄发,推动世界进步。


内容简介

华为海思设计的鲲鹏(Kunpeng)920系列芯片是兼容ARMv8A架构的高性能处理器片上系统,也是华为 “算、存、传、管、智”五个产品系列构成的鲲鹏芯片家族的核心产品。本书首先介绍高性能处理器与服务器的技术背景,然后总结了ARMv8A处理器的体系结构。在此基础上,重点讨论鲲鹏920处理器片上系统的体系结构及其软件生态和架构。为方便读者理解鲲鹏920处理器片上系统的应用场景,本书最后还给出了基于鲲鹏920处理器片上系统的服务器软件的安装、配置、开发与应用案例。本书可以作为读者了解和应用鲲鹏920处理器片上系统的参考用书,特别适合有兴趣使用鲲鹏920处理器片上系统的软件构架师、软件工程师和需要在鲲鹏920处理器片上系统上开发、优化应用程序的应用工程师和调优工程师。本书还可以作为普通高等学校计算机科学与技术、大数据、人工智能等相关专业的本科生及研究生教材。对计算机组成和设计有学习兴趣的读者也可以通过本书了解现代高性能处理器的体系结构。


作者简介

戴志涛:北京邮电大学计算机学院教授,北京市高等教育教学名师,北京邮电大学嵌入式系统与智能硬件创新实践基地主任。主讲“计算机组成原理”“嵌入式系统”等本科生和研究生课程,2005年获国家教学成果二等奖,2004年、2008年和2012年分别获北京市教学成果奖。从事计算机体系结构和嵌入式人工智能等领域的研究工作,并与多家国内外企事业单位合作从事通信设备、智能硬件及嵌入式应用系统软硬件开发。

精彩书评

于英涛 紫光集团联席总裁

ARM处理器自诞生以来,在移动端高性能、低功耗的优势非常明显,但在大型计算端的优势并没有显现出来,也没有发挥出市场优势。x86与ARM技术架构之争始终愈演愈烈,这本身就是市场经济对技术演进的极大促进。作为ARM处理器架构的先进代表,鲲鹏处理器芯片的成功推出,进一步增强了ARM阵营在大型计算领域的实力,带动全球科技百花齐放。本书系统性地介绍了鲲鹏处理器芯片的技术原理,充分展示了当前计算机系统发展的成果,非常值得高校和科研机构进行深入的学习和研究。

谌志华 麒麟软件有限公司董事长

随着人类智能世界的发展,业务与数据的多样性驱动计算的多样性,多种计算架构共存的异构计算成为发展的必然。华为推出的基于ARM架构的鲲鹏芯片,在多核、众核、低功耗等方面具有技术优势。麒麟操作系统与鲲鹏芯片合作,在面向大数据、分布式存储和ARM原生应用等场景,为政府机构、企业提供了高性能、低功耗的新计算平台。本书不仅介绍了鲲鹏处理器系统架构,还在鲲鹏软件生态的技术全栈上进行了详细阐述,尤其在对发挥芯片算力至关重要的软件性能调优、软件移植等方面给出了详细的指导,对于从事鲲鹏芯片、配套操作系统及其他基础软件工作的科学研究人员和工程技术人员均有较高的参考价值。

秦佩峰 华为计算产品线CTO

目前随着移动互联网的快速发展,ARM已经成为移动终端领域主流的处理器。在服务器和桌面系统领域,虽然x86处理器依然占据很大的市场份额,但ARM处理器由于低功耗、众核高并发的优势,也在快速地被市场选择和应用,基于ARM指令体系的华为鲲鹏处理器给了整个计算机产业另一种选择。本书除了介绍鲲鹏处理器的系统架构,还在基于鲲鹏处理器的软件开发、迁移、调优方面给出了非常翔实的介绍和案例。对于那些想了解华为鲲鹏处理器体系结构,基于鲲鹏处理器开发和迁移自己的软件的读者而言,这是一本非常好的入门书,强烈推荐大家学习使用!

刘卫东 清华大学计算机科学与技术系教学委员会副主任

随着云计算、大数据、人工智能等应用的兴起,理解底层服务器架构已经成为软件工程师,尤其是软件架构师设计出稳定可靠、性能优异的应用系统的必备知识。本书全面系统地介绍了基于ARM架构的华为鲲鹏处理器的硬件体系架构,并对其软件生态环境进行了系统阐述。书中还给出了在鲲鹏处理器环境下的软件开发和移植实例,方便读者理解和掌握相关知识。本书内容全面、阐述严谨、示例丰富完整,是一本不可多得的关于鲲鹏处理器架构和编程的好书,非常适合希望了解 ARM服务器构架、软件开发和移植的高校学生和广大程序员,对于从事芯片领域研究的科研人员也有极高的参考价值。


目录

第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.4PCI Express总线0

第2章ARMv8A体系结构0

2.1ARMv8A处理单元的核心架构0

2.1.1ARMv8A架构的处理器运行模式0

2.1.2ARMv8A架构的寄存器0

2.1.3ARMv8A架构的异常与中断0

2.2ARMv8A处理单元的存储系统架构0

2.2.1ARMv8A架构的内存模型0

2.2.2ARM架构的系统存储管理单元0

2.3ARMv8A架构的服务器特性

2.3.1ARMv8A的服务器架构标准化

2.3.2ARMv8A的RAS扩展与PMU扩展

第3章鲲鹏处理器片上系统架构

3.1鲲鹏处理器片上系统与TaiShan处理器内核架构

3.1.1鲲鹏处理器片上系统概况

鲲鹏处理器架构与编程

目录

3.1.2TaiShan V110处理器内核微架构

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处理器片上系统的PCI Express控制器

3.3.3鲲鹏920处理器片上系统的平台设备

3.3.4鲲鹏920处理器片上系统的附加设备

3.4基于鲲鹏920处理器片上系统的TaiShan服务器

3.4.1TaiShan 200服务器的组成与逻辑结构

3.4.2TaiShan 200服务器的RAS技术

3.4.3TaiShan 200服务器的鲲鹏加速引擎

第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鲲鹏分析扫描工具Dependency Advisor

4.4.6鲲鹏代码迁移工具Porting Advisor

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鲲鹏性能优化工具Tuning Kit

第5章鲲鹏软件实战案例

5.1云服务器源码移植和编译

5.1.1配置云服务器

5.1.2Porting Advisor代码移植

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鲲鹏技术论坛


前言/序言

序言一

人类文明以农业社会形态延续了数千年。工业革命在不到300年的时间内,给人类社会带来了翻天覆地的变化,极大地推动了生产力的进步,将人类文明带入工业社会。当前,我们正处于一个新时代的开端!新一轮工业革命开启,互联网革命进入下半场,数字经济正在成型展开,在这些“变革”的背后,“信息技术”及“信息化”是其核心驱动力。以计算机和互联网为代表的信息技术正在推动人类社会朝着全面数字化、网络化和智能化的方向发展,一个人、机、物融合的新时代正在开启,人类文明开始进入信息社会。

随着大数据、人工智能、物联网、5G通信以及生物工程等新技术融入人类社会经济活动的方方面面,数据成为新的生产要素,围绕数据处理分析尤其是大数据处理分析的计算成为新的生产力。新时代对计算的需求也呈现出一些新的特征。

首先,需要超强的算力。统计计算本身就是一种极限计算,高度依赖于算力。例如,为了让计算机识别出一只猫,就需要数百万图片的训练,这对算力是一个非常大的消耗。面对未来的人、机、物融合时代,面向自动驾驶、天文探索、气象预测等更复杂场景,对超强算力的需求将会是常态。

其次,计算将无处不在。人、机、物融合场景下泛在计算模式成为新形态。从体系结构角度来看,云侧的极限计算、边缘侧的专业计算、端侧的个性计算互相协同,“端边云”一起构成未来计算新体系。

其三,降耗节能成为行业共识。计算行业正在成为未来的能耗大户。例如2018年中国数据中心耗电量已超过三峡电站全年发电量,约占全国能耗的2.3%,预计到2030年将占全国能耗的4.2%。计算行业降低能耗成为刚需。

无论是超强的算力、泛在的计算,还是降耗节能,都需要围绕各种处理器进行,以处理器为核心构建计算体系、工具链条和应用生态。应用场景的多样化和数据类型的多元化,使得传统单一的计算架构越来越难以满足数据处理和用户体验的要求,多样性发展既是趋势,也是挑战。不同架构的处理器有不同的特点,适合不同的领域。最早为个人计算机设计的x86架构处理器目前在传统桌面和服务器领域占有优势; ARM架构处理器在移动计算领域优势明显,并正在向服务器和物联网等领域延伸; RISCV架构处理器由于完全开源的特点在万物互联时代开始获得广泛关注。

华为鲲鹏系列处理器基于ARM架构,既继承了ARM的生态优势,又结合实际的场景和上层基础软硬件进行了创新,通过“硬件开放、软件开源”来推动计算产业共同发展,以满足未来智能世界对多样性计算的需求。如何吸引更多开发人员,帮助他们在鲲鹏处理器上更容易地编写和优化软件,在并发、性能、效率和安全等方面做得更好,是鲲鹏生态环境建设的关键问题。要有效解决该问题,提供各种高质量的教材无疑是一个重要的起点。

我很高兴看到《鲲鹏处理器架构与编程》的出版,为促进鲲鹏生态的构建迈出了坚实的一步。本书有助于高校学生、开发者学习和掌握先进实用的ARM计算架构,不仅可以用于解决各种应用问题,更可为个人职业发展开辟新路。我也希望通过此序,寄语广大青年学子和从业人员,把握住数字经济发展带来的历史机遇,努力学习,深入实践,锤炼能力,不负韶华,不负时代。

梅宏教授

中国科学院院士

中国计算机学会理事长

绿色计算产业联盟理事长

2020年8月于北京


序言二

得知《鲲鹏处理器架构与编程》即将出版,让我回想起20世纪80年代初从海外回国,投入研制我国第一台大型计算机的岁月。当时,我们已有的成果,比如汉字激光照排、联想式汉卡,都是计算机的扩展功能,不是计算机主体。那时候我就觉得中国要做计算机,就一定要做芯片。几十年过去了,我们自己的企业就已经能生产出比肩国际,甚至在某些方面还犹有过之的芯片。作为一名一直从事计算机研究与开发的从业者,我深感欣慰。

我们都知道芯片的研发很难,不是一朝一夕就能够出成果的,需要长时间的投入以及丰富的经验积累,但是华为坚持下来了。

当下我们的计算产业正在经历种种困难,芯片事件给人的教育挺深刻的,比我们讲一百遍都有用,让全社会感受到芯片的重要性,小小的芯片是真正的“大国重器”。作为一个见证了中国计算产业从无到有的亲历者,我想给大家打打气,这些当前的困难放到中国计算机发展史中来看,只是一个可以迈过去的小坎而已。

首先,全社会都很重视计算产业的发展,国家支持力度很大,加大政策支持和资金投入。我们也有一批像华为这样处在国际领先地位的企业做投入。

其次,中国市场体量巨大。计算产业包含的数据中心、人工智能等本身就是一个万亿级的市场。更重要的是,计算作为一种通用技术可以和其他产业集群数字化相结合,带来效率的提升和产业空间的拓展,其所创造的体量是不可估量的。

第三,经过一代代计算人的传承,我们的人才体系已经逐步完善,有大量掌握先进技术的基础架构研究人员和应用开发人员。

我们有人、有市场、有资金、有技术,没有理由搞不好计算产业。当前主要的问题在于如何在使用中让生态丰富起来,从某些相对容易的领域逐步推进到企业,最后进入更广泛的领域。今天,很高兴看到《鲲鹏处理器架构与编程》由清华大学出版社出版,本书系统而深入地介绍了鲲鹏处理器的硬件架构、软件架构、系统编程、生态移植等核心内容,能有效指导广大青年学生和从业者进行研究开发,他们将是未来计算生态蓬勃发展的生力军。今天的火种,明天将处处燎原。

成功通常需要经历很长的过程,不一定要自己成功,我做一段,大家接着做。目前是适宜创新的时期,希望年轻人勤奋工作,努力创新,实现“两个一百年”的奋斗目标,自己也能获得更多的成就感。

倪光南

中国工程院院士

2020年8月


前言

“北冥有鱼,其名为鲲。鲲之大,不知其几千里也。化而为鸟,其名为鹏。鹏之背,不知其几千里也; 怒而飞,其翼若垂天之云。是鸟也,海运则将徙于南冥。南冥者,天池也。”

上面这段是《庄子·逍遥游》中记载的一段“列子仙话”。华为公司选择用“鲲”和“鹏”这两种传说中奇大无比的大鱼和大鸟合体而成的华夏上古神兽“鲲鹏”作为其芯片产品的名称,足以看出其中“鲲鹏展翅”的宏图大志。

广义而言,鲲鹏芯片是华为海思自研芯片家族的总称。其中除了鲲鹏系列处理器芯片外,还有昇腾(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位处理器的ARMv8A架构完全兼容,因而可以充分利用成熟的ARM生态环境,同时向用户提供华为的创新技术。也正是因为保持与主流处理器架构的兼容性,鲲鹏920处理器片上系统的用户可以很方便地利用通用的软件解决方案,并通过软件调优最大限度地优化其应用程序。期望本书能够为读者全面了解和应用鲲鹏920处理器片上系统提供帮助。

本书按照逐级深入的方式组织内容。不太熟悉现代处理器和服务器的读者可以通过第1章了解现代高性能处理器的并行架构,也可以对服务器的体系结构与核心技术有基本认知。第2章总结了ARMv8A处理器架构的逻辑组成及其关键特性,以便为读者深入理解鲲鹏920处理器片上系统打下基础。第3章是本书的核心内容之一,向读者全面展示鲲鹏920处理器片上系统的组织结构、处理器内核架构及基于鲲鹏920处理器片上系统的TaiShan服务器的整体优势。第4章介绍鲲鹏的软件生态和构架,是基于鲲鹏920处理器片上系统的应用工程师和调优工程师需要重点关注的内容。为帮助读者尽快实现向鲲鹏架构的迁移,本书最后一章给出了鲲鹏920处理器片上系统软件安装、配置与加速器设计的应用实例。期望更进一步了解和应用鲲鹏920处理器片上系统的读者可以从本书附录A中了解鲲鹏社区、鲲鹏开发套件、鲲鹏开发者系列课程和鲲鹏应用开发者认证计划等相关信息。

ARMv8A架构是高性能的处理器架构,基于该架构的鲲鹏920处理器片上系统也具备众多高级特性。本书不能替代ARM公司和华为公司的架构规范文档或用户手册,也不可能涵盖ARMv8A架构和鲲鹏920处理器片上系统的全部细节,只能为读者深入理解高性能服务器处理器的整体结构提供一点帮助。有需要的读者可以参阅ARM开发者网站和华为公司的网站获取丰富的参考材料和电子资源。

本书第1、2、3章由戴志涛编写,第4章和第5章由刘健培编写,全书由戴志涛负责内容组织与统稿。华为公司为本书的编撰和出版提供了大量资源和支持。华为公司的有关专家和工程技术人员对全书的整体结构和内容选择提出了宝贵意见,并审阅了全书的初稿。清华大学出版社首席策划盛东亮老师提出了诸多有益的建议,编辑钟志芳老师花费大量心血仔细校阅了全书稿件。在此,作者表示衷心感谢。

2020年注定不是一个普通的年份。对于全球近两百个国家的75亿人而言,这场突如其来的疫情改变了多少人的生活与工作方式,又让多少人感受到无助与迷茫?而在中国的信息通信领域里,“华为”无疑成了焦点。无论是普通的手机用户还是信息通信技术的专业人士,似乎都在思考着同样的一个问题: 在被极端打压的环境下,华为还能够“化鲲为鹏”,展翅高飞吗? 2020年上半年,在被疫情困在家中的日子里,作者在网上授课之余匆匆完成本书的编写,也期望为华为出一点点微薄之力。毫无疑问,鲲鹏并不是完美的作品,也许存在bug,也面临着强大的对手。它需要经历市场的不断打磨,也需要不断修补漏洞和升级改进。我们需要给它一点点宽容,也留下期待。在这二十年中,我们见证了很多品牌的起起落落,那么多国际知名企业倒下去了,华为也经历了风风雨雨,我们期待鲲鹏展翅,期待华为凤凰涅槃。

本书在编写过程中参考了许多相关资料,特别是参考了ARM公司和华为公司相关网站提供的丰富信息,作者对这些文献和参考资料的作者和相关机构表示感谢。

限于作者能力所限,书中难免存在疏漏,恳请读者谅解并指正。

作者

2020年6月于北京