计算机体系结构

[美] John L. Hennessy

文学

计算机 体系结构 计算机体系结构 计算机科学 系统结构 architecture 计算机系统 经典

2012-12

人民邮电出版社

目录
目    录 第1章  量化设计与分析基础  1 1.1  引言  2 1.2  计算机的分类  4 1.2.1  个人移动设备  5 1.2.2  桌面计算  5 1.2.3  服务器  6 1.2.4  集群/仓库级计算机  6 1.2.5  嵌入式计算机  7 1.2.6  并行度与并行体系结构的分类  7 1.3  计算机体系结构的定义  8 1.3.1  指令集体系结构:计算机体系结构的近距离审视  9 1.3.2  真正的计算机体系结构:设计满足目标和功能需求的组成和硬件  12 1.4  技术趋势  13 1.4.1  性能趋势:带宽胜过延迟  15 1.4.2  晶体管性能与连线的发展  17 1.5  集成电路中的功率和能耗趋势  17 1.5.1  功率和能耗:系统观点  17 1.5.2  微处理器内部的能耗和功率  18 1.6  成本趋势  21 1.6.1  时间、产量和大众化的影响  21 1.6.2  集成电路的成本  22 1.6.3  成本与价格  26 1.6.4  制造成本与运行成本  26 1.7  可信任度  26 1.8  性能的测量、报告和汇总  28 1.8.1  基准测试  29 1.8.2  报告性能测试结果  32 1.8.3  性能结果汇总  33 1.9  计算机设计的量化原理  34 1.9.1  充分利用并行  35 1.9.2  局域性原理  35 1.9.3  重点关注常见情形  35 1.9.4  Amdahl定律  36 1.9.5  处理器性能公式  38 1.10  融会贯通:性能、价格和功耗  40 1.11  谬论与易犯错误  42 1.12  结语  46 1.13  历史回顾与参考文献  47 第2章  存储器层次结构设计  53 2.1  引言  54 2.2  缓存性能的10种高级优化方法  59 2.2.1  第一种优化:小而简单的第一级缓存,用以缩短命中时间、降低功率  59 2.2.2  第二种优化:采用路预测以缩短命中时间  61 2.2.3  第三种优化:实现缓存访问的流水化,以提高缓存带宽  61 2.2.4  第四种优化:采用无阻塞缓存,以提高缓存带宽  62 2.2.5  第五种优化:采用多种缓存以提高缓存带宽  64 2.2.6  第六种优化:关键字优先和提前重启动以降低缺失代价  64 2.2.7  第七种优化:合并写缓冲区以降低缺失代价  65 2.2.8  第八种优化:采用编译器优化以降低缺失率  66 2.2.9  第九种优化:对指令和数据进行硬件预取,以降低缺失代价或缺失率  68 2.2.10  第十种优化:用编译器控制预取,以降低缺失代价或缺失率  69 2.2.11  缓存优化小结  72 2.3  存储器技术与优化  72 2.3.1  SRAM技术  73 2.3.2  DRAM技术  73 2.3.3  提高DRAM芯片内部的存储器性能  75 2.3.4  降低SDRAM中的功耗  77 2.3.5  闪存  77 2.3.6  提高存储器系统的可靠性  78 2.4  保护:虚拟存储器和虚拟机  79 2.4.1  通过虚拟存储器提供保护  79 2.4.2  通过虚拟机提供保护  81 2.4.3  对虚拟机监视器的要求  82 2.4.4  虚拟机(缺少)的指令集体系结构支持  82 2.4.5  虚拟机对虚拟存储器和I/O的影响  83 2.4.6  VMM实例:Xen虚拟机  84 2.5  交叉问题:存储器层次结构的设计  84 2.5.1  保护和指令集体系结构  84 2.5.2  缓存数据的一致性  85 2.6  融会贯通:ARM Cortex-A8和Intel Core i7中的存储器层次结构  85 2.6.1  ARM Cortex-A8  86 2.6.2  Intel Core i7  89 2.7  谬论与易犯错误  95 2.8  结语:展望  98 2.9  历史回顾与参考文献  99 第3章  指令级并行及其开发  109 3.1  指令级并行:概念与挑战  110 3.1.1  什么是指令级并行  111 3.1.2  数据相关与冒险  111 3.1.3  控制相关  114 3.2  揭示ILP的基本编译器技术  116 3.2.1  基本流水线调度和循环展开  116 3.2.2  循环展开与调度小结  119 3.3  用高级分支预测降低分支成本  120 3.3.1  竞赛预测器:局部预测器与全局预测器的自适应联合  122 3.3.2  Intel Core i7分支预测器  123 3.4  用动态调度克服数据冒险  124 3.4.1  动态调度:思想  124 3.4.2  使用Tomasulo算法进行动态调度  126 3.5  动态调度:示例和算法  130 3.5.1  Tomasulo算法:细节  132 3.5.2  Tomasulo算法:基于循环的示例  133 3.6  基于硬件的推测  135 3.7  以多发射和静态调度来开发ILP  143 3.8  以动态调度、多发射和推测来开发ILP  146 3.9  用于指令传送和推测的高级技术  150 3.9.1  提高指令提取带宽  150 3.9.2  推测:实现问题与扩展  155 3.10  ILP局限性的研究  158 3.10.1  硬件模型  158 3.10.2  可实现处理器上ILP的局限性  160 3.10.3  超越本研究的局限  163 3.11  交叉问题:ILP方法与存储器系统  164 3.11.1  硬件推测与软件推测  164 3.11.2  推测执行与存储器系统  165 3.12  多线程:开发线程级并行提高单处理器吞吐量  165 3.12.1  细粒度多线程在Sun T1上的效果  168 3.12.2  同时多线程在超标量处理器上的效果  170 3.13  融会贯通:Intel Core i7和ARMCortex-A8  173 3.13.1  ARM Cortex-A8  173 3.13.2  Intel Core i7  176 3.14  谬论与易犯错误  179 3.15  结语:前路何方  182 3.16  历史回顾与参考文献  183 第4章  向量、SIMD和GPU体系结构中的数据级并行  193 4.1  引言  194 4.2  向量体系结构  195 4.2.1  VMIPS  196 4.2.2  向量处理器如何工作:一个示例  198 4.2.3  向量执行时间  199 4.2.4  多条车道:每个时钟周期超过一个元素  201 4.2.5  向量长度寄存器:处理不等于64的循环  203 4.2.6  向量遮罩寄存器:处理向量循环中的IF语句  204 4.2.7  内存组:为向量载入/存储单元提供带宽  205 4.2.8  步幅:处理向量体系结构中的多维数组  206 4.2.9  集中—分散:在向量体系结构中处理稀疏矩阵  207 4.2.10  向量体系结构编程  208 4.3  SIMD指令集多媒体扩展  209 4.3.1  多媒体SIMD体系结构编程  212 4.3.2  Roofline可视性能模型  212 4.4  图形处理器  214 4.4.1  GPU编程  214 4.4.2  NVIDIA GPU计算结构  216 4.4.3  NVIDA GPU指令集体系结构  222 4.4.4  GPU中的条件分支  224 4.4.5  NVIDIA GPU存储器结构  226 4.4.6  Fermi GPU体系结构中的创新  228 4.4.7  向量体系结构与GPU的相似与不同  230 4.4.8  多媒体SIMD计算机与GPU之间的相似与不同  233 4.4.9  小结  233 4.5  检测与增强循环强并行  235 4.5.1  查找相关  238 4.5.2  消除相关计算  240 4.6  交叉问题  240 4.6.1  能耗与DLP:慢而宽与快而窄  240 4.6.2  分组存储器和图形存储器  241 4.6.3  步幅访问和TLB缺失  241 4.7  融会贯通:移动与服务器GPU、Tesla与Core i7  241 4.8  谬论与易犯错误  247 4.9  结语  248 4.10  历史回顾与参考文献  250 第5章  线程级并行  256 5.1  引言  257 5.1.1  多处理器体系结构:问题与方法  258 5.1.2  并行处理的挑战  260 5.2  集中式共享存储器体系结构  262 5.2.1  什么是多处理器缓存一致性  263 5.2.2  一致性的基本实现方案  264 5.2.3  监听一致性协议  265 5.2.4  基本实现技术  265 5.2.5  示例协议  267 5.2.6  基本一致性协议的扩展  270 5.2.7  对称共享存储器多处理器与监听协议的局限性  271 5.2.8  实施监听缓存一致性  272 5.3  对称共享存储器多处理器的性能  273 5.3.1  商业工作负载  274 5.3.2  商业工作负载的性能测量  275 5.3.3  多重编程和操作系统工作负载  279 5.3.4  多重编程和操作系统工作负载的性能  280 5.4  分布式共享存储器和目录式一致性  282 5.4.1  目录式缓存一致性协议:基础知识  283 5.4.2  目录式协议举例  285 5.5  同步:基础知识  288 5.5.1  基本硬件原语  288 5.5.2  使用一致性实现锁  289 5.6  存储器连贯性模型:简介  291 5.6.1  程序员的观点  292 5.6.2  宽松连贯性模型:基础知识  293 5.6.3  关于连贯性模型的最后说明  293 5.7  交叉问题  294 5.7.1  编译器优化与连贯性模型  294 5.7.2  利用推测来隐藏严格连贯性模型中的延迟  294 5.7.3  包含性及其实现  295 5.7.4  利用多重处理和多线程的性能增益  295 5.8  融会贯通:多核处理器及其性能  297 5.9  谬论与易犯错误  301 5.10  结语  304 5.11  历史回顾与参考文献  306 第6章  以仓库级计算机开发请求级、数据级并行  319 6.1  引言  320 6.2  仓库级计算机的编程模型与工作负载  323 6.3  仓库级计算机的计算机体系结构  327 6.3.1  存储  328 6.3.2  阵列交换机  328 6.3.3  WSC存储器层次结构  329 6.4  仓库级计算机的物理基础设施与成本  331 6.4.1  测量WSC的效率  334 6.4.2  WSC的成本  335 6.5  云计算:公用计算的回报  338 6.6  交叉问题  342 6.6.1  成为瓶颈的WSC网络  342 6.6.2  在服务器内部高效利用能量  343 6.7  融会贯通:Google仓库级计算机  344 6.7.1  集装箱  344 6.7.2  Google WSC中的冷却与供电  346 6.7.3  Google WSC中的服务器  348 6.7.4  Google WSC中的联网  348 6.7.5  Google WSC的监控与修复  349 6.7.6  小结  349 6.8  谬论与易犯错误  350 6.9  结语  353 6.10  历史回顾与参考文献  354 附录A  指令集基本原理  365 A.1  引言  366 A.2  指令集体系结构的分类  366 A.3  存储器寻址  369 A.4  操作数的类型与大小  374 A.5  指令集中的操作  375 A.6  控制流指令  376 A.7  指令集编码  380 A.8  交叉问题:编译器的角色  382 A.9  融会贯通:MIPS体系结构  388 A.10  谬论和易犯错误  396 A.11  结语  399 A.12  历史回顾与参考文献  400 附录B  存储器层次结构回顾  405 B.1  引言  406 B.2  缓存性能  416 B.3  6种基本的缓存优化  421 B.4  虚拟存储器  435 B.5  虚拟存储器的保护与示例  441 B.6  谬论与易犯错误  447 B.7  结语  448 B.8  历史回顾与参考文献  449 附录C  流水线:基础与中级概念  454 C.1  引言  455 C.2  流水化的主要阻碍——流水线冒险  461 C.3  如何实现流水化  476 C.4  妨碍流水线实现的难题  485 C.5  扩展MIPS流水线,以处理多周期操作  490 C.6  融会贯通:MIPS R4000流水线  498 C.7  交叉问题  504 C.8  谬论与易犯错误  511 C.9  结语  512 C.10  历史回顾与参考文献  512 参考文献  518 索引  543
【展开】
内容简介
《计算机体系结构:量化研究方法(第5版)》是最权威的计算机体系结构著作,是久负盛名的经典作品。书中系统地介绍了计算机系统的设计基础、指令集系统结构、流水线和指令集并行技术、层次化存储系统与存储设备、互连网络以及多处理器系统等重要内容。在这个最新版中,作者增加了当前炙手可热的云计算和手机客户端技术等相关内容,探讨了在手机、平板电脑、笔记本电脑和其他移动计算设备上云计算的软硬件实现方式。
【展开】
下载说明

1、追日是作者栎年创作的原创作品,下载链接均为网友上传的的网盘链接!

2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!

下载链接
热门评论
  • 荔枝Liz_的评论
    发表了博文《计算机网络基础知识》1、计算机网络是由资源子网、通信子网和网络协议组成的。​2、计算机网络的体系结构是指通信系统的整体设计,它的目的是为网络硬件、软件、存取控制、协议提供标准。网页链接
  • artemisure_的评论
    【大学计算机基础试题及答案】(分享自@百度文库)1 计算机诞生于 ( B) A. 1941 年 B. 1946 年 C. 1949 年 D. 1950 年 2. 世界上首次提出存储程序计算机体系结构的...阅读全文请戳右边 网页链接
  • 心2stronger的评论
    连蒙带猜地写完了计算机体系结构的选择题,然后又连蒙带猜地写完了词汇学的选择,连线题[脸红]原谅我考完体系结构奔到九楼后,脑子里背的英语已经全都没了
  • 芒果少女粉kitty_的评论
    vicky:将心有负担的责任履行化为心无内疚的日常习惯,黄金法则就是,每天都去做一些你不想做的事。 所以剩下三天要逼自己啃完计算机网络原理和软件体系结构 加油![强壮]
  • 邑大吐槽的评论
    计算机算法设计与分析习题解答(第2版)(电子工业出版社) 计算机体系结构(清华大学出版社) 编译原理与实践教程(第2版)(清华大学出版社) 操作系统原理(清华大学出版社) 求以上书~~ 联系qq905623893
  • HelloMino_May的评论
    《计算机体系结构从入门到自杀》 今晚得通宵死磕了[泪] 重庆·欣阳广场(商圈...
  • 一个人的寂寞_51007的评论
    就业方向 : 本专业毕业生可担任网络系统维护和管理的工程技术人员,在使用计算机网络的企、事业单位和高新技术公司就业。掌握计算机网络的体系结构和网络协议的概念。以OSI协议族为主的网络协议结构,对当前计算机网络的主要种类和常用的网络协议有较清晰的概念。
  • AutoPants的评论
    成功的卖出了两份硅谷的安利,佩服自己。啊不其实是因为码了三年代码的室友们都很能get到里面的笑点,毕竟压缩算法红黑树二叉树曾是大家一学期的噩梦。然而我下学期的课又作死选了计算机体系结构还妄想选机器学习(幸亏没选上),在码农的道路上越走越远
  • 老师木的评论
    搞计算机的都忘记最早计算机长什么样子了吧,就是硬连线,只能干一件事,干别的事就得重新连线重新编程。现在的培养体系软化的厉害,一提硬件就盲目崇拜。有些计算机课程,体系结构,组成原理啥的,不就是要重现什么指令集,搭个简单的cpu出来吗,肯定很多人都是混的。。
  • 集微网官网的评论
    计算所与寒武纪公司提出了国际上首个稀疏深度学习处理器Cambricon-X,相关工作被计算机体系结构领域顶级国际会议MICRO 2016接收。在65nm工艺下,Cambricon-X峰值性能可达0.5Tops/s,面积开销仅为6.38平方毫米,稀疏深度学习速度相较于主流高端GPU提升性能10倍,能耗仅为其3.4%