序言一
人类文明以农业社会形态延续了数千年。工业革命在不到300年的时间内,给人类社会带来了翻天覆地的变化,极大地推动了生产力的进步,将人类文明带入工业社会。当前,我们正处于一个新时代的开端!新一轮工业革命开启,互联网革命进入下半场,数字经济正在成型展开,在这些“变革”的背后,“信息技术”及“信息化”是其核心驱动力。以计算机和互联网为代表的信息技术正在推动人类社会朝着全面数字化、网络化和智能化的方向发展,一个人、机、物融合的新时代正在开启,人类文明开始进入信息社会。
随着大数据、人工智能、物联网、5G通信以及生物工程等新技术融入人类社会经济活动的方方面面,数据成为新的生产要素,围绕数据处理分析尤其是大数据处理分析的计算成为新的生产力。新时代对计算的需求也呈现出一些新的特征。
首先,需要超强的算力。统计计算本身就是一种极限计算,高度依赖于算力。例如,为了让计算机识别出一只猫,就需要数百万图片的训练,这对算力是一个非常大的消耗。面对未来的人、机、物融合时代,面向自动驾驶、天文探索、气象预测等更复杂场景,对超强算力的需求将会是常态。
其次,计算将无处不在。人、机、物融合场景下泛在计算模式成为新形态。从体系结构角度来看,云侧的极限计算、边缘侧的专业计算、端侧的个性计算互相协同,“端边云”一起构成未来计算新体系。
其三,降耗节能成为行业共识。计算行业正在成为未来的能耗大户。例如2018年中国数据中心耗电量已超过三峡电站全年发电量,约占全国能耗的2.3%,预计到2030年将占全国能耗的4.2%。计算行业降低能耗成为刚需。
无论是超强的算力、泛在的计算,还是降耗节能,都需要围绕各种处理器进行,以处理器为核心构建计算体系、工具链条和应用生态。应用场景的多样化和数据类型的多元化,使得传统单一的计算架构越来越难以满足数据处理和用户体验的要求,多样性发展既是趋势,也是挑战。不同架构的处理器有不同的特点,适合不同的领域。最早为个人计算机设计的x86架构处理器目前在传统桌面和服务器领域占有优势; ARM架构处理器在移动计算领域优势明显,并正在向服务器和物联网等领域延伸; RISCV架构处理器由于完全开源的特点在万物互联时代开始获得广泛关注。
华为鲲鹏系列处理器基于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位处理器的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章由刘健培编写,全书由戴志涛负责内容组织与统稿。华为公司为本书的编撰和出版提供了大量资源和支持。华为公司的有关专家和工程技术人员对全书的整体结构和内容选择提出了宝贵意见,并审阅了全书的初稿。清华大学出版社首席策划盛东亮老师提出了诸多有益的建议,编辑钟志芳老师花费大量心血仔细校阅了全书稿件。在此,作者表示衷心感谢。
2020年注定不是一个普通的年份。对于全球近两百个国家的75亿人而言,这场突如其来的疫情改变了多少人的生活与工作方式,又让多少人感受到无助与迷茫?而在中国的信息通信领域里,“华为”无疑成了焦点。无论是普通的手机用户还是信息通信技术的专业人士,似乎都在思考着同样的一个问题: 在被极端打压的环境下,华为还能够“化鲲为鹏”,展翅高飞吗? 2020年上半年,在被疫情困在家中的日子里,作者在网上授课之余匆匆完成本书的编写,也期望为华为出一点点微薄之力。毫无疑问,鲲鹏并不是完美的作品,也许存在bug,也面临着强大的对手。它需要经历市场的不断打磨,也需要不断修补漏洞和升级改进。我们需要给它一点点宽容,也留下期待。在这二十年中,我们见证了很多品牌的起起落落,那么多国际知名企业倒下去了,华为也经历了风风雨雨,我们期待鲲鹏展翅,期待华为凤凰涅槃。
本书在编写过程中参考了许多相关资料,特别是参考了ARM公司和华为公司相关网站提供的丰富信息,作者对这些文献和参考资料的作者和相关机构表示感谢。
限于作者能力所限,书中难免存在疏漏,恳请读者谅解并指正。
作者
2020年6月于北京