您的位置:首页 > 其它

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

2012-11-12 16:04 246 查看
《支撑处理器的技术——永无止境地追求速度的世界》



(为程序员打开处理器黑盒,深入理解构造与原理。)
(美)海撒安藤著;
李剑译
ISBN 978-7-121-18092-7
201210月出版
价:69.00
356
16
[align=left]编辑推荐[/align]
[align=left] 地球是由超过总人口好几倍的处理器在支撑,其长期处于计算机、移动设备甚至社会基础设施的核心地位。本书讲解处理器构造极其高性能化技术,介绍怎样写程序才能让处理器高效运行。[/align]
[align=left]本书内容处于逻辑电路的上层,主要以“微体系架构”和“指令架构”这些程序员接口为中心,剥茧抽丝地为你打开处理器黑盒,让你真正理解处理器的构造和运行原理。[/align]
开车并不须要了解汽车的结构及结构带来的性能差异,但想开得拉风或省油则不然。本书正是写给有诸如提高计算机系统运行效率此类需求的程序员,揭示“知其然”的巨大不同。
同类书目推荐:
[align=left]《深入Linux设备驱动程序内核机制》[/align]
[align=left]内容提要[/align]
[align=left]本书用通俗易懂的语言和大量的插图,介绍了处理器的历史、基本结构、实现原理等,还对时下流行的虚拟化技术、多任务、多核心、GPGPU 等进行了全面的讲解,并介绍了有效利用处理器的各种功能来提高应用程序性能的方法。对于普通读者来说,这是本学习知识的科普读物;对于程序员来说,这是一把打开现代处理器宝库的钥匙。[/align]
[align=left]本书最后还介绍了处理器在移动设备、汽车、家电等方面的应用,并展望处理器的未来发展趋势,希望能对相关软硬件的开发者有所帮助。[/align]
[align=left]作者简介[/align]
Hisa Ando,拥有40年尖端处理器的开发经验。曾作为SPARC架构委员会委员参与了SPARC V9架构的开发,后作为HAL公司副总裁兼处理器开发部总经理参与了SPARC64的开发。后来又担任过富士通株式会社计算机事业本部的技师长等职务。现在作为技术作家,主要从事处理器、超级计算机相关的报道和介绍等。此外,还担任了几所大学的客座讲师,负责计算机架构的课程。拥有工学博士学位。

[align=left]前言[/align]
[align=left]2010 年,全世界每天都会卖掉100 万台个人计算机,这些计算机的核心就是处理器。其实不仅是个人计算机,汽车、家电,特别是手机中也有处理器的身影。几乎所有的手机中嵌入的ARM 处理器都是由英国的ARM 公司开发的,而据ARM 公司2010 年的报告,当年ARM 处理器的累计销售总量超过了200亿个。仅ARM 一家公司,每年就会生产40 亿个ARM 处理器,这个数值超过全世界人口的一半。所以,我们生活的世界,是由地球总人口好几倍多的处理器支撑着的。此外,Google 等的搜索、银行ATM、铁路运管系统等社会骨干系统也离不开处理器,我们无法想象没有这些系统的生活。[/align]
[align=left]回顾历史,人们从古代就为了实现简单、高速的计算而花费了很大精力。从算盘等计算辅助工具,到使用齿轮制作机械式加法器和乘法器,后来又采用电子线路代替齿轮以实现更快的速度。第一台计算机ENIAC 于1946 年完成并投入使用,它是个像房子那么大的庞然大物,每秒能进行5000 次计算,耗电量约为150kW。与之相比,现代微处理器的性能为每秒100 多亿次计算,个人计算机的整体最大耗电量约为300W。这就是说,计算性能提升了200 万倍,耗电量下降到了1/500。[/align]
[align=left]其实,从最初的电子计算机到现在仅用了 60 年时间。细数飞跃进步的原因,功劳最大的当然要数从真空管到晶体管再到LSI 的电路技术的进步。而另一方面,执着于运行速度的计算机体系结构的进步也为之做出了巨大贡献。[/align]
[align=left]尽管处理器性能一直在飞速发展,但最近由于耗电量的限制,单核心的性能提高速度变慢了。人们开始从多线程、多核心化方面提升性能,并通过虚拟机、安全等技术努力提高可用性。[/align]
[align=left]另外,不仅是传统的计算机,智能手机、上网本等移动设备也使用了强大的处理器,由于电池续航能力的要求,处理器还在朝着节能方向发展。[/align]
[align=left]如上所述,处理器在持续发展以适应时代与需求的变化。个人计算机被贴上了“Intel Inside”的标志,就连对硬件技术毫无兴趣的人也知道微处理器,至少知道处理器这个名字。另一方面,随着科技的发展,处理器也变得极端复杂,其构造与使用技巧很难得到广泛的认知。[/align]
[align=left]但是,是理解处理器的构造和运行原理,还是把它当做黑盒使用而不知其所以然,两者的使用效果难道没有差别吗?就像开车,要是只想把车开走,当然不必了解汽车的结构及结构带来的性质差异;但要是能够理解这些,不就能开得比较“拉风”,或比较省油了?[/align]
[align=left]本书主要以希望提高计算机系统运行效率的程序员为对象,讲解处理器中使用的高性能化技术与构造,并介绍怎样写程序才能让处理器高效运行。提到处理器的设计,有些人可能会联想到与门、或门等逻辑电路之类的硬件设计,但本书内容处于逻辑电路的上层,主要以“微体系架构”和“指令架构”这些程序员接口为中心,介绍处理器的结构与运行原理。处理器处于各种计算机的核心位置,如今在移动设备乃至社会基础设施中都扮演着举足轻重的角色。希望本书能在理解处理器的发展、熟练掌握处理器方面助你一臂之力。[/align]
[align=right]2010 年11 月[/align]
[align=right]Hisa Ando[/align]

[align=left]目录[/align]
[align=left]第 1 章处理器与计算机系统的基础........................................... 1[/align]
[align=left]1.1 计算机的结构............................. 2[/align]
[align=left]计算机组成部分——处理器、内存、输入/输出设备.......................2[/align]
[align=left]专栏处理器封装的物理结构..................................... 4[/align]
[align=left]计算机使用二进制进行计算..............................4[/align]
[align=left]专栏 2 值和多值非二进制不可吗?不一定! ........................... 5[/align]
[align=left]处理器——计算机的大脑,负责解释程序........................6[/align]
[align=left]专栏处理器、微处理器的定义计算机最重要的组件——处理器............. 7[/align]
[align=left]专栏流水线级............................. 8[/align]
[align=left]专栏表示数量级的前缀............................ 10[/align]
[align=left]内存——存储计算机的指令和数据........................13[/align]
[align=left]输入/输出设备——计算机的眼睛、耳朵和嘴巴.............................18[/align]
[align=left]北桥和南桥——逐渐淡化的称呼..............................21[/align]
[align=left]1.2 支撑计算机高速化的半导体技术........................... 22[/align]
[align=left]摩尔(Moore)定律——更多的晶体管,更高的并行度................22[/align]
[align=left]缩放定律——晶体管的性能提升................24[/align]
[align=left]源源不断的开发投资带来的半导体微型化——微型化的步伐还将长期维持.........24[/align]
[align=left]提升性能的三大支柱——提高频率、并行处理和功能扩展..........25[/align]
[align=left]1.3 计算机和数据表示方法........................ 26[/align]
[align=left]字节、半字、字……——比特组及用途.........................26[/align]
[align=left]文字编码............................................27[/align]
[align=left]专栏日语与文字编码................................ 28[/align]
[align=left]无符号整数与符号整数、1 的补数表示与2 的补数表示...............29[/align]
[align=left]浮点小数——IEEE 754 标准...........................30[/align]
[align=left]Big Endian 与Little Endian...............................32[/align]
[align=left]1.4 处理器和指令........................... 34VIII[/align]
[align=left]指令架构入门....................................34[/align]
[align=left]机器指令——处理器的指令............................36[/align]
[align=left]地址空间............................................36[/align]
[align=left]专栏 AMD 和Intel 的64 位扩展架构.......................... 38[/align]
[align=left]1.5 机器指令程序编写方法......................... 39[/align]
[align=left]用汇编语言编程................................39[/align]
[align=left]利用编译器进行高级语言编程................................40[/align]
[align=left]解释语言编程....................................41[/align]
[align=left]1.6 小结............................................. 43[/align]
[align=left]专栏 半导体的微型化................................ 44[/align]
[align=left]第2 章处理器发展史......................................46[/align]
[align=left]2.1 计算机之前的计算设备.............................. 47[/align]
[align=left]算盘——最早的计算工具................................48[/align]
[align=left]纳皮尔算筹(Napier's bones)——乘法辅助工具............................49[/align]
[align=left]机械式计算机——Schikard 计算机、Pascaline ............50[/align]
[align=left]巴贝奇的差分机——使用齿轮的超级计算机...................................52[/align]
[align=left]2.2 最早的电子计算机................................. 53[/align]
[align=left]最早的电子计算机——ABC 和ENIAC .................53[/align]
[align=left]FUJIC——日本最早的电子计算机.....................54[/align]
[align=left]2.3 处理器组成元件的变迁......................... 55[/align]
[align=left]根据主要部件划分计算机的时代............................55[/align]
[align=left]第1 代:真空管................................55[/align]
[align=left]第2 代:晶体管................................56[/align]
[align=left]第3 代:集成电路............................57[/align]
[align=left]第4 代:大规模集成电路(VLSI) ...........................58[/align]
[align=left]VLSI 处理器的元件数目和时钟频率的发展趋势............................61[/align]
[align=left]2.4 指令架构的变迁...................................... 62[/align]
[align=left]指令架构的发展之路........................62[/align]
[align=left]存储程序的计算机——程序也从内存中读入...................................63[/align]
[align=left]虚拟内存——更加丰富、取之不尽的内存.................64[/align]
[align=left]多处理——需要改变程序的部署...............................66[/align]
[align=left]TSS 与内存管理设施的登场............................67[/align]
[align=left]专栏 MULTICS 之后的事.......................... 68[/align]
[align=left]内存管理设施、特权管理——多用户需要解决安全问题..............68[/align]
[align=left]ISA 扩展——指令架构的确立与指令兼容性的实现.......................69[/align]
[align=left]2.5 微架构的发展........................... 70[/align]
[align=left]微架构的发展之道............................70[/align]
[align=left]流水线处理——通过流水线寄存器有效利用硬件..........................72[/align]
[align=left]运算器的高速化——整数运算器、浮点数运算器..........................73[/align]
[align=left]缓存——解决内存访问问题的锦囊...........................74[/align]
[align=left]RISC 的出现——RISC 与CISC ...........................76[/align]
[align=left]超标量执行——一个周期内执行多条指令.................. 77[/align]
[align=left]乱序执行——改变指令顺序以提高性能...................78[/align]
[align=left]专栏乱序执行(Out of Order):请注意!? ............................. 80[/align]
[align=left]分支预测与投机执行——“条件分支指令”对策..........................80[/align]
[align=left]多核心——耗电量的限制推动了多核心的发展..............................81[/align]
[align=left]2.6 处理器的用途越来越广泛................................. 82[/align]
[align=left]活跃在各种舞台的处理器................................82[/align]
[align=left]节能、高可靠技术、实时性——各种各样的需求..........................83[/align]
[align=left]2.7 小结............................................. 83[/align]
[align=left]第 3 章[详解]面向编程员的处理器架构................................86[/align]
[align=left]3.1 支撑微架构的技术................................. 87[/align]
[align=left]流水线执行的原理——并行处理指令......................87[/align]
[align=left]缓存的构造——提高内存访问速度.........................99[/align]
[align=left]RISC 与CISC——定长指令与变长指令............................ 112[/align]
[align=left]提高运算器的速度——处理器中因处理复杂而处理时间长的组件之一........... 116[/align]
[align=left]超标量执行的原理——一个周期内并行执行多条指令................126[/align]
[align=left]乱序执行的原理——减轻数据灾难的影响......................128[/align]
[align=left]分支预测的原理——降低控制灾难造成的损失............................134[/align]
[align=left]现代处理器会消除或减轻各种灾难以提高性能............................140[/align]
[align=left]内存、I/O 与输入/输出接口..........................141[/align]
[align=left]性能计数器——性能分析器和处理器内部执行状况的信息........147[/align]
[align=left]3.2 架构扩展扩大了处理器的使用范围.................................. 149[/align]
[align=left]多程序和内存管理设施..................................149[/align]
[align=left]中断处理设施..................................155X[/align]
[align=left]专栏异常、中断、陷阱——术语整理.......................................159[/align]
[align=left]虚拟化支持——内存访问和内存管理设施..................................160[/align]
[align=left]多媒体、加密等支持——需要大量数据的计算............................162[/align]
[align=left]3.3 x86 Nehalem 架构处理器............................. 167[/align]
[align=left]x86 的指令体系和Intel 64 架构.................................167[/align]
[align=left]Core i7 处理器的结构.....................................175[/align]
[align=left]内存管理采用4 级表......................................180[/align]
[align=left]新的处理器接口QPI ......................................184[/align]
[align=left]3.4 小结........................................... 185[/align]
[align=left]第 4 章虚拟化支持.........................188[/align]
[align=left]4.1 虚拟化的目的和优缺点............................. 189[/align]
[align=left]虚拟化的基础知识(复习)..........................189[/align]
[align=left]虚拟化的目的..................................190[/align]
[align=left]实现用户间强隔离——虚拟化的优点........................................190[/align]
[align=left]集合多台服务器,提高运行率——虚拟化的优点...................191[/align]
[align=left]VMM 运行时的额外开销——虚拟化的缺点、注意点.................193[/align]
[align=left]4.2 实现虚拟化的条件............................... 194[/align]
[align=left]为操作系统提供独立的(虚拟)硬件的VMM.............................195[/align]
[align=left]4.3 支撑虚拟化的硬件设施............................ 196[/align]
[align=left]检测硬件操作命令..........................196[/align]
[align=left]硬件状态的保存和还原——切换虚拟机.................198[/align]
[align=left]双重地址转换、TLB ......................................199[/align]
[align=left]I/O 的虚拟化....................................203[/align]
[align=left]实时迁移(Live Migration) ...............................207[/align]
[align=left]4.4 小结........................................... 208[/align]
[align=left]专栏 虚拟化的前世今生...........................209[/align]
[align=left]第5 章多处理器的出现和普及..........................211[/align]
[align=left]5.1 多线程处理器......................... 212[/align]
[align=left]线程、多线程的纷繁芜杂(!?)——首先总结一下术语..............212[/align]
[align=left]多线程的两种方式..........................213[/align]
[align=left]VMT 的原理——短时间内切换线程......................214[/align]
[align=left]SMT 的原理——混杂执行多个线程的指令...................................216[/align]
[align=left]专栏历史悠久的SMT .............................216[/align]
[align=left]SMT 必需的机制.........................217[/align]
[align=left]多线程的效果如何——通过Windows 任务管理器查看效果.......219[/align]
[align=left]5.2 多处理器系统......................... 222[/align]
[align=left]多处理器、多核心是什么意思........................222[/align]
[align=left]多核心处理器的结构......................................223[/align]
[align=left]专栏超多核心处理器(Many-core processor)的结构..............224[/align]
[align=left]缓存一致性控制——多处理器之间缓存的一致性........................225[/align]
[align=left]多插槽系统......................................231[/align]
[align=left]专栏插槽还是芯片..................................234[/align]
[align=left]专栏多核心时代的处理器、CPU 的含义..................................236[/align]
[align=left]提高多处理器系统的性能——问题和解决方案............................238[/align]
[align=left]共享内存系统和分布式内存系统...........................244[/align]
[align=left]5.3 小结........................................... 246[/align]
[align=left]第 6 章处理器周边技术...............................249[/align]
[align=left]6.1 内存技术.................................. 250[/align]
[align=left]内存历史概览..................................250[/align]
[align=left]DRAM 内存的工作原理——利用电荷存储信息...........................251[/align]
[align=left]DRAM 芯片和内存DIMM............................254[/align]
[align=left]DRAM 芯片的内部结构——内存单元阵列、行/列解码器、检测放大器、Bank ........256[/align]
[align=left]处理器和DIMM 的连接................................258[/align]
[align=left]内存系统的错误处理......................................259[/align]
[align=left]6.2 连接输入/输出设备.............................. 265[/align]
[align=left]处理器的I/O 连接...........................265[/align]
[align=left]PCI 总线...........................................266[/align]
[align=left]专栏通向 PCI 总线之路..........................267[/align]
[align=left]Intel Core i 系列处理器的I/O 结构......................272[/align]
[align=left]Intel PCH 的I/O 控制结构.............................273[/align]
[align=left]6.3 小结........................................... 273[/align]
[align=left]专栏 DRAM的刷新.................................274[/align]
[align=left]第7 章 GPGPU 和超并行处理...............................276[/align]
[align=left]7.1 GPGPU 的原理...................................... 277[/align]
[align=left]3D 图形和GPU——需要大量计算..........................277[/align]
[align=left]GPU 系统.........................................279[/align]
[align=left]从GPU 到GPGPU..........................280[/align]
[align=left]作为“超并行SIMD 处理器”的GPGPU......................................281[/align]
[align=left]作为“超多线程处理器”的GPGPU........................283[/align]
[align=left]专栏 Warp! .............................284[/align]
[align=left]GPGPU 的内存层次结构................................285[/align]
[align=left]GPGPU 中的多线程需要分割使用通用寄存器..............................287[/align]
[align=left]CPU 和GPGPU 的巨大不同..........................288[/align]
[align=left]7.2 GPGPU 编程........................... 289[/align]
[align=left]现代 GPGPU 编程...........................290[/align]
[align=left]CUDA 的运行模型——线程块、网格..........................290[/align]
[align=left]CUDA 中的函数声明和变量声明...............................292[/align]
[align=left]OpenCL 编程...................................293[/align]
[align=left]如何发挥GPGPU 的性能...............................295[/align]
[align=left]7.3 小结........................................... 303[/align]
[align=left]专栏 Top500 和GPU 计算....................................304[/align]
[align=left]第8 章处理器的发展趋势..........................306[/align]
[align=left]8.1 耗电量是万恶之源............................... 307[/align]
[align=left]为何处理器要消耗电力..................................307[/align]
[align=left]节能技术的发展..............................310[/align]
[align=left]8.2 更高、更快、更强............................... 313[/align]
[align=left]半导体微型化技术..........................314[/align]
[align=left]如何有效利用增加的晶体管..........................315[/align]
[align=left]利用部分晶体管降低生产成本....................................316[/align]
[align=left]有效利用部分块不合格的芯片.........................................318[/align]
[align=left]8.3 更可靠、更安全的处理器设计................ 320[/align]
[align=left]为何处理器会有错误行为——故障、噪声.............................320[/align]
[align=left]防止错误行为,确保安全运转......................................322[/align]
[align=left]8.4 未来处理器的发展方向...................................... 323[/align]
[align=left]无处不在的处理器..........................324[/align]
[align=left]家电用处理器..................................324[/align]
[align=left]汽车用处理器..................................324[/align]
[align=left]个人计算机用处理器................................................325[/align]
[align=left]智能手机用处理器..........................325[/align]
[align=left]服务器用处理器..............................327[/align]
[align=left]8.5 小结........................................... 329[/align]
索引...........................................................331
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: