新書推薦:

《
海外中国研究·元代江南政治社会史研究
》
售價:HK$
118.8

《
加密货币突破数字边界
》
售價:HK$
75.9

《
养元筑基调气血
》
售價:HK$
76.8

《
永夜微光:拉康与未竟之精神分析革命
》
售價:HK$
129.8

《
古希腊社会生活史
》
售價:HK$
54.8

《
维特根斯坦传
》
售價:HK$
63.8

《
暮日耀光:张居正与明代中后期政局
》
售價:HK$
206.8

《
厚土中华
》
售價:HK$
107.8
|
| 編輯推薦: |
|
本书开创性地采用自顶向下的方法,面向科学家与应用领域专家,聚焦计算机性能的四大核心支柱(微型化、隐式并行性、动态局部性、显式并行性)。内容涵盖从指令集、处理器、存储器到多核、云及GPU/机器学习加速器的最新进展,旨在培养读者的体系结构感知能力,助力高性能应用开发。
|
| 內容簡介: |
|
本书涵盖了计算机性能的四个关键支柱,并为推理和理解这些概念提供了高级基础: 小即快——规模扩展如何驱动性能;隐性并行——顺序程序如何通过并行而更快地执行;动态定位——通过在更小的空间内安排数据而绕过物理限制;并行——通过工作者团队提高性能。这些原则和模型提供了清晰易懂的高层次见解和定量建模,同时兼顾了低层次细节。最后,本书还涵盖了GPU和机器学习加速器,它们对主流应用变得越来越重要。本书可帮助软件架构师、开发人员甚至是数据科学家了解计算机体系结构以及如何提升性能。
|
| 關於作者: |
钱安达(Andrew A. Chien) 芝加哥大学William Eckhardt教授、CERES(Center for Unstoppable Computing)主任、阿贡国家实验室高级科学家。自2017年以来,他一直担任Communications of the ACM的主编。他是并行计算、计算机体系结构、集群计算和云计算领域的全球知名专家,获得过众多奖项。1994年,他被评为美国国家科学基金会青年研究员。2005—2010年,他曾担任英特尔公司研究副总裁,并在美国国家科学基金会、能源部、日本RWCP等机构以及斯坦福大学、加州大学伯克利分校、EPFL和华盛顿大学等著名大学的咨询委员会担任顾问。1998—2005年,他曾担任加州大学圣地亚哥分校的SAIC讲座教授,在此之前,他是伊利诺伊大学的教授。此外,他还是ACM、IEEE和AAAS的会员。他拥有麻省、硕理工学院的博士士和学士学位。
王党辉,西北工业大学计算机学院副教授。主要研究领域:高性能处理器体系结构、高可靠计算机系统、数字系统设计与测试等。近年来主持省部级基金2项,作为技术骨干,参加国家自然科学基金、基础研究项目、预研项目、国家863项目以及国家核高基重大专项等十多项科研项目。发表论文三十多篇。近年来获得省部级科技进步一等奖2项、三等奖2项。获得发明专利授权8项。
|
| 目錄:
|
目录 译者序 前言 第1章计算与社会变迁 1.1计算改变了社会和经济 1.1.1家庭 1.1.2汽车和交通 1.1.3商业 1.2计算改变了科学和探索 1.3计算的非凡特性 1.4什么是计算机体系结构 1.5计算机性能的四大支柱:微型化、隐式并行性、动态局部性和显式并行性 1.6对读者的预期 1.7本书组织结构 1.8总结 1.9习题 第2章指令集、软件和指令执行 2.1计算机的指令集 2.2计算机系统结构 2.3指令集体系结构:RISC-V实例 2.3.1计算指令 2.3.2条件控制和程序连接指令 2.3.3内存访问指令 2.4机器指令和基本的软件结构 2.4.1基本表达式的实现 2.4.2数据结构的实现:结构体和对象 2.4.3一维数组和多维数组的实现 2.4.4实现条件迭代结构:循环 2.4.5实现过程调用、返回和栈 2.5基本的指令执行和实现 2.5.1顺序状态和指令执行 2.5.2指令执行的硬件实现 2.6提高指令的执行速度和程序的性能 2.7总结 2.8深入探究 2.9习题 第3章处理器与扩展:小即快 3.1微型化与信息处理 3.2计算机的自然规模是什么 3.2.1例子:位大小和速度 3.2.2体积不断缩小的计算机 3.3计算机的大小和速度 3.3.1体积较小的计算机更快 3.3.2例子:应用物理大小和时钟周期模型 3.3.3从房间大小的计算机到单芯片计算机的尺寸缩放 3.3.4尺寸缩放的单芯片计算机:功耗问题和登纳德的解决方案 3.3.5登纳德缩放定律的终结 3.4计算机尺寸与功耗 3.5其他技术中的尺寸 3.6微型计算机推动应用爆炸式发展 3.7总结 3.8深入探究 3.9习题 第4章顺序抽象,并行实现 4.1顺序计算抽象 4.1.1顺序程序 4.1.2指令级并行:流水线及更多方法 4.1.3数据依赖和顺序错觉 4.2顺序错觉:重命名与乱序执行 4.2.1变量与寄存器的重命名 4.2.2实现寄存器重命名的方法:重排序缓冲区 4.2.3乱序执行的局限性 4.3因果关系错觉:推测执行 4.3.1分支预测 4.3.2推测执行 4.3.3精确的分支预测器 4.3.4推测执行的安全风险:幽灵和熔断 4.4总结 4.5深入探究 4.6习题 第5章存储器:开发动态局部性 5.1存储器技术、小型化和不断增加的容量 5.2软件和应用程序对内存容量的需求 5.3存储系统的挑战:存储墙 5.4存储器延迟 5.4.1空间局部性和时间局部性(缓存) 5.4.2程序中的动态局部性 5.4.3地址过滤器(缓存) 5.4.4过滤器的有效性 5.4.5实现缓存(局部性和过滤) 5.4.6递归过滤(多级缓存) 5.4.7存储层次结构性能建模 5.5为什么缓存具有良好的效果,如何编程以提高局部性 5.6应用程序动态局部性的测量和性能的建模 5.6.1测量动态局部性:重用距离 5.6.2重用距离和动态局部性 5.6.3使用重用距离对应用程序的访存性能进行建模 5.6.4调整程序以实现动态局部性 5.7访问速率和并行存储器系统 5.8总结 5.9深入探究 5.10习题 第6章通用计算机 6.1一个商用处理器:英特尔Skylake 6.2一个商业存储层次结构:英特尔Skylake 6.3CPU是通用计算机 6.4观点:数学的普遍性和复杂性 6.5总结 6.6深入探究 6.7习题 第7章顺序之上:多核和云端的并行性 7.1登纳德缩放定律的失效与向并行性的转变 7.2并行单芯片计算机:多核CPU 7.3多核计算机的编程:OpenMP和pthreads 7.3.1OpenMP:基于指示符的并行化 7.3.2pthreads:显式线程并行性 7.3.3多核CPU中的并行性挑战 7.3.4多核的简便使用方法:库和服务器 7.4百万级的并行:超级计算机与云计算 7.5高效并行性:计算粒度大小 7.6云计算机编程:粗粒度并行性 7.6.1三层Web应用程序:可扩展的Web服务 7.6.2分布式MapReduce(Hadoop和Spark) 7.6.3微服务:模块化的可靠性与演化 7.6.4无服务器架构(函数/功能即服务) 7.7总结 7.8深入探究 7.9习题 第8章加速器:为性能定制的体系 结构 8.1加速器的出现 8.1.1加速器的硬件优势 8.1.2编程和软件方面的挑战 8.2并行加速器 8.2.1GPU体系结构 8.2.2不同的GPU及其性能 8.3机器学习加速器 8.3.1Google的张量处理单元 8.3.2Cerebras CS-2:一个晶片规模的机器学习加速器 8.3.3小型机器学习加速器(边缘) 8.4加速器的其他应用机会 8.5加速计算的限制和不足 8.6总结 8.7深入探究 8.8习题 第9章计算性能:过去、现在和未来 9.1计算机性能的历史演变 9.2未来计算机性能:性能提升的机会 9.2.1硬件的缩放和机会 9.2.2并行性对编程和软件的挑战 9.3新计算模型 9.3.1高级架构 9.3.2量子计算 9.3.3神经形态计算 9.4总结 9.5深入探究 9.6习题 附录RISC-V指令集参考卡 参考文献
|
| 內容試閱:
|
前言 纵观计算机的发展史,计算机体系结构的教育方法一直面向未来的计算机设计者和工程师。然而,越来越多的数据科学家、非计算机专业的工程师,甚至大多数计算机科学家(例如,人工智能等领域的科学家)将计算机视为一种智能工具。这些科学家和工程师需要了解计算机体系结构,以便深入了解硬件是如何实现性能、影响性能并限制性能的。他们需要了解计算机体系结构,从而帮助他们推理分析计算机的当前性能并展望未来的发展。面向这些群体,我着手撰写了本书。 2011年秋季,我加入了芝加哥大学(the University of Chicago),并开始教授本科生计算机体系结构课程。随着教学过程的推进,我慢慢地发现学生的背景知识、学习动机和兴趣千差万别,与我之前在伊利诺伊大学(the University of Illinois)和加利福尼亚大学圣地亚哥分校(the University of California,San Diego)教授的工科生形成了鲜明对比。经过几个学期,我意识到传统的自底向上的计算机体系结构教育方法(从逻辑门到时序电路,从指令集到流水线和缓存——侧重于计算机的工作原理以及如何进行优化)无法吸引这些学生。这种传统的教育方法原本是面向计算机专业学生设计的,慢慢地,甚至对于计算机本专业的学生也不再有吸引力。 芝加哥大学的学生对于计算机体系结构的“科学原理”很感兴趣,这些原理可以帮助他们基于更高层次的目标,对硬件的性能进行推理分析。他们将计算视为一种智能放大器,更关注的是计算能力、可扩展性和局限性的顶层视角,而非底层的机制。他们的观点反映了计算领域的广泛发展,最近在人工智能和数据科学领域尤为明显,这使得计算机科学的重心向上移动,边界向外延伸,覆盖各种科学领域(物理、生物和社会)以及社会、商业甚至政府的方方面面。 对于这些数据科学、人工智能和应用机器学习专业的学生来说,具备计算机体系结构的基础知识,将有助于他们科学地了解非凡的计算能力是如何实现的,是什么限制了这种能力,并对技术的不断进步将如何提高计算能力进行展望。本书讲述了计算机硬件的基本原理,并对计算技术的未来发展进行了讨论,适用于多种不同的课程和环境: q 面向文科学院计算机科学与技术专业或数据科学专业的1/4学年的课程:主要讲授第1~3章、第5章和第7章。根据课程的培养目标,或许可以增加微体系结构(第4章)、将CPU定义为通用处理器(第6章)和加速器(第8章)的内容。 q 面向文科学院计算机科学与技术专业或数据科学专业的一学期的课程:主要讲授第1~5章、第7章和第9章。如果有时间,或许可以增加关于加速器的内容(第8章)。 q 面向理工学院数学-计算机科学或数据科学专业的一学期的课程:可以讲授第1~9章。 我要对芝加哥大学“计算机体系结构”(Computer Architecture for Scientists)课程的学生所做的贡献表示感谢。他们提出了许多富有想法的问题以及对这些问题的回答,这对提高本书的文字和课后练习的清晰程度至关重要。 最后,衷心感谢我的家人——我的妻子Ellen和我的两个女儿Jennifer和Athena。感谢你们在我撰写本书期间对我坚定的支持,感谢你们对我的包容与鼓励。没有你们的耐心、宽容和鼓励,我将无法完成这本书的写作,谢谢你们! 非常感谢芝加哥大学的大力支持,其创新学术精神和教学方法是本书的灵感源泉。
|
|