`

《支撑处理器的技术——永无止境地追求速度的世界》图书信息

阅读更多

《支撑处理器的技术——永无止境地追求速度的世界》

为程序员打开处理器黑盒,深入理解构造与原理。

(美)海撒安藤著;

李剑译

ISBN 978-7-121-18092-7

201210月出版

价:69.00

356

16

编辑推荐

 地球是由超过总人口好几倍的处理器在支撑,其长期处于计算机、移动设备甚至社会基础设施的核心地位。本书讲解处理器构造极其高性能化技术,介绍怎样写程序才能让处理器高效运行。

本书内容处于逻辑电路的上层,主要以“微体系架构”和“指令架构”这些程序员接口为中心,剥茧抽丝地为你打开处理器黑盒,让你真正理解处理器的构造和运行原理。

开车并不须要了解汽车的结构及结构带来的性能差异,但想开得拉风或省油则不然。本书正是写给有诸如提高计算机系统运行效率此类需求的程序员,揭示“知其然”的巨大不同。

同类书目推荐:

《深入Linux设备驱动程序内核机制》

内容提要

本书用通俗易懂的语言和大量的插图,介绍了处理器的历史、基本结构、实现原理等,还对时下流行的虚拟化技术、多任务、多核心、GPGPU 等进行了全面的讲解,并介绍了有效利用处理器的各种功能来提高应用程序性能的方法。对于普通读者来说,这是本学习知识的科普读物;对于程序员来说,这是一把打开现代处理器宝库的钥匙。

本书最后还介绍了处理器在移动设备、汽车、家电等方面的应用,并展望处理器的未来发展趋势,希望能对相关软硬件的开发者有所帮助。

作者简介

Hisa Ando,拥有40年尖端处理器的开发经验。曾作为SPARC架构委员会委员参与了SPARC V9架构的开发,后作为HAL公司副总裁兼处理器开发部总经理参与了SPARC64的开发。后来又担任过富士通株式会社计算机事业本部的技师长等职务。现在作为技术作家,主要从事处理器、超级计算机相关的报道和介绍等。此外,还担任了几所大学的客座讲师,负责计算机架构的课程。拥有工学博士学位。

 

前言

2010 年,全世界每天都会卖掉100 万台个人计算机,这些计算机的核心就是处理器。其实不仅是个人计算机,汽车、家电,特别是手机中也有处理器的身影。几乎所有的手机中嵌入的ARM 处理器都是由英国的ARM 公司开发的,而据ARM 公司2010 年的报告,当年ARM 处理器的累计销售总量超过了200亿个。仅ARM 一家公司,每年就会生产40 亿个ARM 处理器,这个数值超过全世界人口的一半。所以,我们生活的世界,是由地球总人口好几倍多的处理器支撑着的。此外,Google 等的搜索、银行ATM、铁路运管系统等社会骨干系统也离不开处理器,我们无法想象没有这些系统的生活。

回顾历史,人们从古代就为了实现简单、高速的计算而花费了很大精力。从算盘等计算辅助工具,到使用齿轮制作机械式加法器和乘法器,后来又采用电子线路代替齿轮以实现更快的速度。第一台计算机ENIAC 1946 年完成并投入使用,它是个像房子那么大的庞然大物,每秒能进行5000 次计算,耗电量约为150kW。与之相比,现代微处理器的性能为每秒100 多亿次计算,个人计算机的整体最大耗电量约为300W。这就是说,计算性能提升了200 万倍,耗电量下降到了1/500

其实,从最初的电子计算机到现在仅用了 60 年时间。细数飞跃进步的原因,功劳最大的当然要数从真空管到晶体管再到LSI 的电路技术的进步。而另一方面,执着于运行速度的计算机体系结构的进步也为之做出了巨大贡献。

尽管处理器性能一直在飞速发展,但最近由于耗电量的限制,单核心的性能提高速度变慢了。人们开始从多线程、多核心化方面提升性能,并通过虚拟机、安全等技术努力提高可用性。

另外,不仅是传统的计算机,智能手机、上网本等移动设备也使用了强大的处理器,由于电池续航能力的要求,处理器还在朝着节能方向发展。

如上所述,处理器在持续发展以适应时代与需求的变化。个人计算机被贴上了“Intel Inside”的标志,就连对硬件技术毫无兴趣的人也知道微处理器,至少知道处理器这个名字。另一方面,随着科技的发展,处理器也变得极端复杂,其构造与使用技巧很难得到广泛的认知。

但是,是理解处理器的构造和运行原理,还是把它当做黑盒使用而不知其所以然,两者的使用效果难道没有差别吗?就像开车,要是只想把车开走,当然不必了解汽车的结构及结构带来的性质差异;但要是能够理解这些,不就能开得比较“拉风”,或比较省油了?

本书主要以希望提高计算机系统运行效率的程序员为对象,讲解处理器中使用的高性能化技术与构造,并介绍怎样写程序才能让处理器高效运行。提到处理器的设计,有些人可能会联想到与门、或门等逻辑电路之类的硬件设计,但本书内容处于逻辑电路的上层,主要以“微体系架构”和“指令架构”这些程序员接口为中心,介绍处理器的结构与运行原理。处理器处于各种计算机的核心位置,如今在移动设备乃至社会基础设施中都扮演着举足轻重的角色。希望本书能在理解处理器的发展、熟练掌握处理器方面助你一臂之力。

2010 11

Hisa Ando

 

 

 

目录

1 章处理器与计算机系统的基础........................................... 1

1.1 计算机的结构............................. 2

计算机组成部分——处理器、内存、输入/输出设备.......................2

专栏处理器封装的物理结构..................................... 4

计算机使用二进制进行计算..............................4

专栏 2 值和多值非二进制不可吗?不一定! ........................... 5

处理器——计算机的大脑,负责解释程序........................6

专栏处理器、微处理器的定义计算机最重要的组件——处理器............. 7

专栏流水线级............................. 8

专栏表示数量级的前缀............................ 10

内存——存储计算机的指令和数据........................13

输入/输出设备——计算机的眼睛、耳朵和嘴巴.............................18

北桥和南桥——逐渐淡化的称呼..............................21

1.2 支撑计算机高速化的半导体技术........................... 22

摩尔(Moore)定律——更多的晶体管,更高的并行度................22

缩放定律——晶体管的性能提升................24

源源不断的开发投资带来的半导体微型化——微型化的步伐还将长期维持.........24

提升性能的三大支柱——提高频率、并行处理和功能扩展..........25

1.3 计算机和数据表示方法........................ 26

字节、半字、字……——比特组及用途.........................26

文字编码............................................27

专栏日语与文字编码................................ 28

无符号整数与符号整数、1 的补数表示与2 的补数表示...............29

浮点小数——IEEE 754 标准...........................30

Big Endian Little Endian...............................32

1.4 处理器和指令........................... 34VIII

指令架构入门....................................34

机器指令——处理器的指令............................36

地址空间............................................36

专栏 AMD Intel 64 位扩展架构.......................... 38

1.5 机器指令程序编写方法......................... 39

用汇编语言编程................................39

利用编译器进行高级语言编程................................40

解释语言编程....................................41

1.6 小结............................................. 43

专栏 半导体的微型化................................ 44

2 章处理器发展史......................................46

2.1 计算机之前的计算设备.............................. 47

算盘——最早的计算工具................................48

纳皮尔算筹(Napier's bones——乘法辅助工具............................49

机械式计算机——Schikard 计算机、Pascaline ............50

巴贝奇的差分机——使用齿轮的超级计算机...................................52

2.2 最早的电子计算机................................. 53

最早的电子计算机——ABC ENIAC .................53

FUJIC——日本最早的电子计算机.....................54

2.3 处理器组成元件的变迁......................... 55

根据主要部件划分计算机的时代............................55

1 代:真空管................................55

2 代:晶体管................................56

3 代:集成电路............................57

4 代:大规模集成电路(VLSI ...........................58

VLSI 处理器的元件数目和时钟频率的发展趋势............................61

2.4 指令架构的变迁...................................... 62

指令架构的发展之路........................62

存储程序的计算机——程序也从内存中读入...................................63

虚拟内存——更加丰富、取之不尽的内存.................64

多处理——需要改变程序的部署...............................66

TSS 与内存管理设施的登场............................67

专栏 MULTICS 之后的事.......................... 68

内存管理设施、特权管理——多用户需要解决安全问题..............68

ISA 扩展——指令架构的确立与指令兼容性的实现.......................69

2.5 微架构的发展........................... 70

微架构的发展之道............................70

流水线处理——通过流水线寄存器有效利用硬件..........................72

运算器的高速化——整数运算器、浮点数运算器..........................73

缓存——解决内存访问问题的锦囊...........................74

RISC 的出现——RISC CISC ...........................76

超标量执行——一个周期内执行多条指令.................. 77

乱序执行——改变指令顺序以提高性能...................78

专栏乱序执行(Out of Order):请注意!? ............................. 80

分支预测与投机执行——“条件分支指令对策..........................80

多核心——耗电量的限制推动了多核心的发展..............................81

2.6 处理器的用途越来越广泛................................. 82

活跃在各种舞台的处理器................................82

节能、高可靠技术、实时性——各种各样的需求..........................83

2.7 小结............................................. 83

3 章[详解]面向编程员的处理器架构................................86

3.1 支撑微架构的技术................................. 87

流水线执行的原理——并行处理指令......................87

缓存的构造——提高内存访问速度.........................99

RISC CISC——定长指令与变长指令............................ 112

提高运算器的速度——处理器中因处理复杂而处理时间长的组件之一........... 116

超标量执行的原理——一个周期内并行执行多条指令................126

乱序执行的原理——减轻数据灾难的影响......................128

分支预测的原理——降低控制灾难造成的损失............................134

现代处理器会消除或减轻各种灾难以提高性能............................140

内存、I/O 与输入/输出接口..........................141

性能计数器——性能分析器和处理器内部执行状况的信息........147

3.2 架构扩展扩大了处理器的使用范围.................................. 149

多程序和内存管理设施..................................149

中断处理设施..................................155X

专栏异常、中断、陷阱——术语整理.......................................159

虚拟化支持——内存访问和内存管理设施..................................160

多媒体、加密等支持——需要大量数据的计算............................162

3.3 x86 Nehalem 架构处理器............................. 167

x86 的指令体系和Intel 64 架构.................................167

Core i7 处理器的结构.....................................175

内存管理采用4 级表......................................180

新的处理器接口QPI ......................................184

3.4 小结........................................... 185

4 章虚拟化支持.........................188

4.1 虚拟化的目的和优缺点............................. 189

虚拟化的基础知识(复习)..........................189

虚拟化的目的..................................190

实现用户间强隔离——虚拟化的优点........................................190

集合多台服务器,提高运行率——虚拟化的优点...................191

VMM 运行时的额外开销——虚拟化的缺点、注意点.................193

4.2 实现虚拟化的条件............................... 194

为操作系统提供独立的(虚拟)硬件的VMM.............................195

4.3 支撑虚拟化的硬件设施............................ 196

检测硬件操作命令..........................196

硬件状态的保存和还原——切换虚拟机.................198

双重地址转换、TLB ......................................199

I/O 的虚拟化....................................203

实时迁移(Live Migration ...............................207

4.4 小结........................................... 208

专栏 虚拟化的前世今生...........................209

5 章多处理器的出现和普及..........................211

5.1 多线程处理器......................... 212

线程、多线程的纷繁芜杂(!?——首先总结一下术语..............212

多线程的两种方式..........................213

VMT 的原理——短时间内切换线程......................214

SMT 的原理——混杂执行多个线程的指令...................................216

专栏历史悠久的SMT .............................216

SMT 必需的机制.........................217

多线程的效果如何——通过Windows 任务管理器查看效果.......219

5.2 多处理器系统......................... 222

多处理器、多核心是什么意思........................222

多核心处理器的结构......................................223

专栏超多核心处理器(Many-core processor)的结构..............224

缓存一致性控制——多处理器之间缓存的一致性........................225

多插槽系统......................................231

专栏插槽还是芯片..................................234

专栏多核心时代的处理器、CPU 的含义..................................236

提高多处理器系统的性能——问题和解决方案............................238

共享内存系统和分布式内存系统...........................244

5.3 小结........................................... 246

6 章处理器周边技术...............................249

6.1 内存技术.................................. 250

内存历史概览..................................250

DRAM 内存的工作原理——利用电荷存储信息...........................251

DRAM 芯片和内存DIMM............................254

DRAM 芯片的内部结构——内存单元阵列、行/列解码器、检测放大器、Bank ........256

处理器和DIMM 的连接................................258

内存系统的错误处理......................................259

6.2 连接输入/输出设备.............................. 265

处理器的I/O 连接...........................265

PCI 总线...........................................266

专栏通向 PCI 总线之路..........................267

Intel Core i 系列处理器的I/O 结构......................272

Intel PCH I/O 控制结构.............................273

6.3 小结........................................... 273

专栏 DRAM的刷新.................................274

7 GPGPU 和超并行处理...............................276

7.1 GPGPU 的原理...................................... 277

3D 图形和GPU——需要大量计算..........................277

GPU 系统.........................................279

GPU GPGPU..........................280

作为超并行SIMD 处理器GPGPU......................................281

作为超多线程处理器GPGPU........................283

专栏 Warp .............................284

GPGPU 的内存层次结构................................285

GPGPU 中的多线程需要分割使用通用寄存器..............................287

CPU GPGPU 的巨大不同..........................288

7.2 GPGPU 编程........................... 289

现代 GPGPU 编程...........................290

CUDA 的运行模型——线程块、网格..........................290

CUDA 中的函数声明和变量声明...............................292

OpenCL 编程...................................293

如何发挥GPGPU 的性能...............................295

7.3 小结........................................... 303

专栏 Top500 GPU 计算....................................304

8 章处理器的发展趋势..........................306

8.1 耗电量是万恶之源............................... 307

为何处理器要消耗电力..................................307

节能技术的发展..............................310

8.2 更高、更快、更强............................... 313

半导体微型化技术..........................314

如何有效利用增加的晶体管..........................315

利用部分晶体管降低生产成本....................................316

有效利用部分块不合格的芯片.........................................318

8.3 更可靠、更安全的处理器设计................ 320

为何处理器会有错误行为——故障、噪声.............................320

防止错误行为,确保安全运转......................................322

8.4 未来处理器的发展方向...................................... 323

无处不在的处理器..........................324

家电用处理器..................................324

汽车用处理器..................................324

个人计算机用处理器................................................325

智能手机用处理器..........................325

服务器用处理器..............................327

8.5 小结........................................... 329

索引...........................................................331

 

分享到:
评论

相关推荐

    支撑处理器的技术--永无止境地追求速度的世界

    根据提供的标题“支撑处理器的技术--永无止境地追求速度的世界”及描述“支撑处理器的技术 永无止境地追求速度的世界”,我们将探讨处理器技术的发展及其背后的原理,特别是那些推动处理器性能不断提升的关键技术和...

    信息安全与加密解密核心技术

    ### 信息安全与加密解密核心技术解析 在当今数字化时代,信息安全与加密解密技术成为维护企业和个人数据安全的基石。本文将深入探讨信息安全的核心概念、加密解密技术的基本原理及其在实际应用中的重要性。 #### ...

    安全,永无止境_思科视角下的全球安全技术演进.pdf

    《安全,永无止境_思科视角下的全球安全技术演进.pdf》文档所包含的核心知识点,可以帮助我们理解网络安全领域的最新进展和未来趋势。从“网络安全的信任之旅”开始,文档梳理了攻击环境的不断演变、全球足迹的影响...

    永无止境主题信息网页模板

    "永无止境主题信息网页模板"是一款专为创建引人入胜的在线存在而设计的资源。这个模板集合了现代网页设计的多种元素和趋势,旨在帮助开发者和设计师快速构建一个具有吸引力的信息展示网站。从标题我们可以推断,这款...

    MATLAB语言工具箱——TOOLBOX实用指南

    MATLAB工具箱的深度和广度远超本文所述,不断更新的新工具箱和技术使得学习永无止境。建议定期查阅MATLAB官方文档,参与MATLAB论坛讨论,以及参加相关的培训课程,以保持技术的更新。 总结,MATLAB语言工具箱——...

    六年级科学下册 第三单元 宇宙 1《地球的卫星——月球》教学设计2 教科版-教科版小学六年级下册自然科学教案.doc

    学生需要通过各种渠道获取月球的相关资料,如图书、网络等,并学习如何鉴别信息的可信度。 3. **信息处理**:学生需学会筛选、分类和整合信息,例如制作“月球卡”,这是一种将所学知识系统化的方法,帮助学生构建...

    公共图书馆网络信息化服务的创新模式探究.docx

    公共图书馆在网络信息化服务方面的探索是永无止境的过程。通过资源深度整合、发展细分市场以及提供个性化、定制化服务等创新模式,不仅能够提高图书馆的服务质量和效率,还能更好地满足社会公众多元化、个性化的需求...

    新人教统编版九年级上册道德与法治 第2课时 创新永无止境 教学课件.pptx

    【标题】和【描述】提及的是九年级上册道德与法治课程中关于“创新永无止境”的教学内容,这是一份针对初中生的教学课件,旨在探讨创新在国家发展和人民生活中的重要性,以及如何建设创新型国家。 在本课时中,首先...

    精益生产——提案活动.ppt

    改善强调的是一种理念,认为每个工作环节都有改进的空间,而且改善是一个永无止境的过程。改善与整改的区别在于,改善是主动发现问题并解决问题,而整改通常是外部力量推动的结果。 精益(Lean)意味着追求效率和...

    JIT—06 精益生产工具——VMS价值流分析.rar

    VMS价值流分析帮助管理者清晰地理解产品或服务从原材料到最终客户的过程中,信息流和物料流的整体情况,以便找出改善点,实现持续改进。 VMS价值流分析主要包括以下几个步骤: 1. **当前状态映射**:首先,需要...

    Crossover-Roadmap:团结所有虚构宇宙的永无止境的追求

    交叉路线图团结所有虚构宇宙的永无止境的追求。 目录角色资格如果角色满足以下先决条件,则他们才可能有资格获得交叉资格: 角色本质上是虚构的。 交叉时该字符已受版权保护。 该角色的版权版本会亲自出现在分频器中...

    2017_2018学年高中政治专题6.2在实践中追求和发展真理含解析新人教版必修4.doc

    而且,认识的对象——无限变化的物质世界,以及作为认识基础的社会实践,都在不断发展,因此,人类对真理的认识是无限的,追求真理是一个永无止境的过程。这一过程表现为波浪式前进或螺旋式上升,需要我们在实践中...

    智能工厂设计规划及应用.pptx

    智慧工厂就是以智能技术、数字技术、信息技术为基础,通过物理基础设施和信息基础...但人类的追求也永无止境,为了适应世界经济一体化的发展,人们需要一个更加智慧的工厂,以满足工厂内生产、生活、管理的更高要求。

    企业供应链管理解决方案.pdf

    智慧工厂就是以智能技术、数字技术、信息技术为基础,通过物理基础设施和信息基础...但人类的追求也永无止境,为了适应世界经济一体化的发展,人们需要一个更加智慧的工厂,以满足工厂内生产、生活、管理的更高要求。

    6.2 在实践中追求和发展真理 教学设计-2020-2021学年高中政治人教版必修四.docx

    2. **认识的无限性**:随着实践的发展,人类的认识也在不断地深化和发展,这是一个永无止境的过程。 - 科学技术的进步不断推动着人类认识边界的拓展。 3. **认识的上升性**:虽然认识过程中会出现曲折和反复,但从...

    改善永无止境商务培训ppt模板(布衣公子).rar

    在商业世界中,"改善永无止境"不仅仅是一句口号,而是企业发展的核心理念。它强调了不断学习、改进和创新的重要性,以适应快速变化的市场环境。这份由布衣公子在2015年7月20日发布的商务培训ppt模板,就是这一理念的...

    GIS专业研究生书籍.docx

    4. **World Wind Java 三维地理信息系统开发技术指南**:此书可能介绍了使用Java平台开发三维GIS系统的技术,包括地形建模、遥感图像处理和3D可视化等。 5. **数据同化算法研发与实验**:数据同化是将观测数据与...

    教育理论学习总结精选3篇——【范文】..doc

    【教育理论学习总结】 教育理论是对教育实践的理论化总结,它通过各种方式影响和指导教育实践。教育理论的抽象性使得它需要特殊的方式才能融入实际教学中。...作为教师,不断学习、反思和改进是永无止境的追求。

    一种高效的CPU设计方法及其在计算机组成原理课程中应用.pdf

    《一种高效的CPU设计方法及其在计算机组成原理课程中应用》 CPU(中央处理器)是计算机系统...同时,随着技术的不断发展,对CPU性能的追求永无止境,理解并应用这些高效设计方法对于推动计算机技术进步具有重要意义。

Global site tag (gtag.js) - Google Analytics