计算机组成与设计硬件/软件接口-原书第5版

本书特色

[

本书是计算机组成的经典教材,着眼于当前计算机设计中*基本的概念,详细展示软硬件件的关系,介绍当代计算机系统发展的主流技术和*新成就。本书以mips处理器为例介绍计算机硬件技术、汇编语言、计算机算术、流水线以及存储器层次结构等基本技术。书中强调从串行处理到并行处理的*新革新,每章中都包含并行硬件和软件的主题,以软硬件协同设计发挥多核性能为*终目标。另外,本版与时俱进地使用了如 armcortexa8和intelcorei7等现代设计来说明计算机设计的基本原理。本书适合作为高等院校计算机专业教材,对广大技术人员也有很高的参考价值。

]

作者简介

[

出版者的话
本书赞誉
译者序
前言
作者简介
第1章计算机概要与技术
1.1引言
1.1.1计算应用的分类及其特性
1.1.2欢迎来到后PC时代
1.1.3你能从本书学到什么
1.2计算机系统结构中的8个伟大思想
1.2.1面向摩尔定律的设计
1.2.2使用抽象简化设计
1.2.3加速大概率事件
1.2.4通过并行提高性能
1.2.5通过流水线提高性能
1.2.6通过预测提高性能
1.2.7存储器层次
1.2.8通过冗余提高可靠性
1.3程序概念入门
1.4硬件概念入门
1.4.1显示器
1.4.2触摸屏
1.4.3打开机箱
1.4.4数据安全
1.4.5与其他计算机通信
1.5处理器和存储器制造技术
1.6性能
1.6.1性能的定义
1.6.2性能的度量
1.6.3CPU性能及其因素
1.6.4指令的性能
1.6.5经典的CPU性能公式
1.7功耗墙
1.8沧海巨变:从单处理器向多处理器转变
1.9实例:IntelCorei7基准
1.9.1SPECCPU基准测试程序
1.9.2SPEC功耗基准测试程序
1.10谬误与陷阱
1.11本章小结
1.12历史观点和拓展阅读
1.13练习题

第2章指令:计算机的语言
2.1引言
2.2计算机硬件的操作
2.3计算机硬件的操作数
2.3.1存储器操作数
2.3.2常数或立即数操作数
2.4有符号数和无符号数
2.5计算机中指令的表示
2.6逻辑操作
2.7决策指令
2.7.1循环
2.7.2case/switch语句
2.8计算机硬件对过程的支持
2.8.1使用更多的寄存器
2.8.2嵌套过程
2.8.3在栈中为新数据分配空间
2.8.4在堆中为新数据分配空间
2.9人机交互
2.10MIPS中32位立即数和寻址
2.10.132位立即数
2.10.2分支和跳转中的寻址
2.10.3MIPS寻址模式总结
2.10.4机器语言解码
2.11并行与指令:同步
2.12翻译并执行程序
2.12.1编译器
2.12.2汇编器
2.12.3链接器
2.12.4加载器
2.12.5动态链接库
2.12.6启动一个Java程序
2.13以一个C排序程序作为完整的例子
2.13.1swap过程
2.13.2sort过程
2.14数组与指针
2.14.1用数组实现clear
2.14.2用指针实现clear
2.14.3比较两个版本的clear
2.15高级内容:编译C语言和解释Java语言
2.16实例:ARMv7(32位)指令集
2.16.1寻址模式
2.16.2比较和条件分支
2.16.3ARM的特色
2.17实例:x86指令集
2.17.1Intelx86的改进
2.17.2×86寄存器和数据寻址模式
2.17.3×86整数操作
2.17.4×86指令编码
2.17.5×86总结
2.18实例:ARMv8(64位)指令集
2.19谬误与陷阱
2.20本章小结
2.21历史观点和拓展阅读
2.22练习题

第3章计算机的算术运算
3.1引言
3.2加法和减法
3.3乘法
3.3.1顺序的乘法算法和硬件
3.3.2有符号乘法
3.3.3更快速的乘法
3.3.4MIPS中的乘法
3.3.5小结
3.4除法
3.4.1除法算法及其硬件结构
3.4.2有符号除法
3.4.3更快速的除法
3.4.4MIPS中的除法
3.4.5小结
3.5浮点运算
3.5.1浮点表示
3.5.2浮点加法
3.5.3浮点乘法
3.5.4MIPS中的浮点指令
3.5.5算术精确性
3.5.6小结
3.6并行性和计算机算术:子字并行
3.7实例:x86中流处理SIMD扩展和高级向量扩展
3.8加速:子字并行和矩阵乘法
3.9谬误与陷阱
3.10本章小结
3.11历史观点和拓展阅读
3.12练习题

第4章处理器
4.1引言
4.2逻辑设计的一般方法
4.3建立数据通路
4.4一个简单的实现机制
4.4.1ALU控制
4.4.2主控制单元的设计
4.4.3为什么不使用单周期实现方式
4.5流水线概述
4.5.1面向流水线的指令集设计
4.5.2流水线冒险
4.5.3对流水线概述的小结
4.6流水线数据通路及其控制
4.6.1图形化表示的流水线
4.6.2流水线控制
4.7数据冒险:旁路与阻塞
4.8控制冒险
4.8.1假定分支不发生
4.8.2缩短分支的延迟
4.8.3动态分支预测
4.8.4流水线小结
4.9异常
4.9.1MIPS体系结构中的异常处理
4.9.2在流水线实现中的异常
4.10指令级并行
4.10.1推测的概念
4.10.2静态多发射处理器
4.10.3动态多发射处理器
4.10.4能耗效率与高级流水线
4.11实例:ARMCortex-A8和IntelCorei7流水线
4.11.1ARMCortex-A
4.11.2IntelCorei
4.11.3IntelCorei7920的性能
4.12运行更快:指令级并行和矩阵乘法
4.13高级主题:通过硬件设计语言描述和建模流水线来介绍数字设计以及更多流水线示例
4.14谬误与陷阱
4.15本章小结
4.16历史观点和拓展阅读
4.17练习题

第5章大容量和高速度:开发存储器层次结构
5.1引言
5.2存储器技术
5.2.1SRAM技术
5.2.2DRAM技术
5.2.3闪存
5.2.4磁盘存储器
5.3cache的基本原理
5.3.1cache访问
5.3.2cache缺失处理
5.3.3写操作处理
5.3.4一个cache的例子:内置FastMATH处理器
5.3.5小结
5.4cache性能的评估和改进
5.4.1通过更灵活地放置块来减少cache缺失
5.4.2在cache中查找一个块
5.4.3替换块的选择
5.4.4使用多级cache结构减少缺失代价
5.4.5通过分块进行软件优化
5.4.6小结
5.5可信存储器层次
5.5.1失效的定义
5.5.2纠正一位错、检测两位错的汉明编码(SEC/DED)
5.6虚拟机
5.6.1虚拟机监视器的必备条件
5.6.2指令集系统结构(缺乏)对虚拟机的支持
5.6.3保护和指令集系统结构
5.7虚拟存储器
5.7.1页的存放和查找
5.7.2缺页故障
5.7.3关于写
5.7.4加快地址转换:TLB
5.7.5集成虚拟存储器、TLB和cache
5.7.6虚拟存储器中的保护
5.7.7处理TLB缺失和缺页
5.7.8小结
5.8存储器层次结构的一般框架
5.8.1问题1:一个块可以被放在何处
5.8.2问题2:如何找到一个块
5.8.3问题3:当cache缺失时替换哪一块
5.8.4问题4:写操作如何处理
5.8.53C:一种理解存储器层次结构行为的直观模型
5.9使用有限状态机来控制简单的cache
5.9.1一个简单的cache
5.9.2有限状态机
5.9.3一个简单的cache控制器的有限状态机
5.10并行与存储器层次结构:cache一致性
5.10.1实现一致性的基本方案
5.10.2监听协议
5.11并行与存储器层次结构:冗余廉价磁盘阵列
5.12高级内容:实现cache控制器
5.13实例:ARMCortex-A8和IntelCorei7的存储器层次结构
5.14运行更快:cache分块和矩阵乘法
5.15谬误和陷阱
5.16本章小结
5.17历史观点和拓展阅读
5.18练习题

第6章从客户端到云的并行处理器
6.1引言
6.2创建并行处理程序的难点
6.3SISD、MIMD、SIMD、SPMD和向量机
6.3.1在x86中的SIMD:多媒体扩展
6.3.2向量机
6.3.3向量与标量的对比
6.3.4向量与多媒体扩展的对比
6.4硬件多线程
6.5多核和其他共享内存多处理器
6.6图形处理单元简介
6.6.1NVIDIAGPU体系结构简介
6.6.2NVIDIAGPU存储结构
6.6.3GPU展望
6.7集群、仓储级计算机和其他消息传递多处理器
6.8多处理器网络拓扑简介
6.9与外界通信:集群网络
6.10多处理器测试集程序和性能模型
6.10.1性能模型
6.10.2Roofline模型
6.10.3两代Opteron的比较
6.11实例:评测IntelCorei7960和NVIDIATeslaGPU的Roofline模型
6.12运行更快:多处理器和矩阵乘法
6.13谬误与陷阱
6.14本章小结
6.15历史观点和拓展阅读
6.16练习题
附录A汇编器、链接器和SPIM仿真器
附录B逻辑设计基础
索引

 

]

目录

出版者的话本书赞誉译者序前言作者简介第1章计算机概要与技术1.1引言1.1.1计算应用的分类及其特性1.1.2欢迎来到后pc时代1.1.3你能从本书学到什么1.2计算机系统结构中的8个伟大思想1.2.1面向摩尔定律的设计1.2.2使用抽象简化设计1.2.3加速大概率事件1.2.4通过并行提高性能1.2.5通过流水线提高性能1.2.6通过预测提高性能1.2.7存储器层次1.2.8通过冗余提高可靠性1.3程序概念入门1.4硬件概念入门1.4.1显示器1.4.2触摸屏1.4.3打开机箱1.4.4数据安全1.4.5与其他计算机通信1.5处理器和存储器制造技术1.6性能1.6.1性能的定义1.6.2性能的度量1.6.3cpu性能及其因素1.6.4指令的性能1.6.5经典的cpu性能公式1.7功耗墙1.8沧海巨变:从单处理器向多处理器转变1.9实例:intelcorei7基准1.9.1speccpu基准测试程序1.9.2spec功耗基准测试程序1.10谬误与陷阱1.11本章小结1.12历史观点和拓展阅读1.13练习题 第2章指令:计算机的语言2.1引言2.2计算机硬件的操作2.3计算机硬件的操作数2.3.1存储器操作数2.3.2常数或立即数操作数2.4有符号数和无符号数2.5计算机中指令的表示2.6逻辑操作2.7决策指令2.7.1循环2.7.2case/switch语句2.8计算机硬件对过程的支持2.8.1使用更多的寄存器2.8.2嵌套过程2.8.3在栈中为新数据分配空间2.8.4在堆中为新数据分配空间2.9人机交互2.10mips中32位立即数和寻址2.10.132位立即数2.10.2分支和跳转中的寻址2.10.3mips寻址模式总结2.10.4机器语言解码2.11并行与指令:同步2.12翻译并执行程序2.12.1编译器2.12.2汇编器2.12.3链接器2.12.4加载器2.12.5动态链接库2.12.6启动一个java程序2.13以一个c排序程序作为完整的例子2.13.1swap过程2.13.2sort过程2.14数组与指针2.14.1用数组实现clear2.14.2用指针实现clear2.14.3比较两个版本的clear2.15高级内容:编译c语言和解释java语言2.16实例:armv7(32位)指令集2.16.1寻址模式2.16.2比较和条件分支2.16.3arm的特色2.17实例:x86指令集2.17.1intelx86的改进2.17.2×86寄存器和数据寻址模式2.17.3×86整数操作2.17.4×86指令编码2.17.5×86总结2.18实例:armv8(64位)指令集2.19谬误与陷阱2.20本章小结2.21历史观点和拓展阅读2.22练习题 第3章计算机的算术运算3.1引言3.2加法和减法3.3乘法3.3.1顺序的乘法算法和硬件3.3.2有符号乘法3.3.3更快速的乘法3.3.4mips中的乘法3.3.5小结3.4除法3.4.1除法算法及其硬件结构3.4.2有符号除法3.4.3更快速的除法3.4.4mips中的除法3.4.5小结3.5浮点运算3.5.1浮点表示3.5.2浮点加法3.5.3浮点乘法3.5.4mips中的浮点指令3.5.5算术精确性3.5.6小结3.6并行性和计算机算术:子字并行3.7实例:x86中流处理simd扩展和高级向量扩展3.8加速:子字并行和矩阵乘法3.9谬误与陷阱3.10本章小结3.11历史观点和拓展阅读3.12练习题 第4章处理器4.1引言4.2逻辑设计的一般方法4.3建立数据通路4.4一个简单的实现机制4.4.1alu控制4.4.2主控制单元的设计4.4.3为什么不使用单周期实现方式4.5流水线概述4.5.1面向流水线的指令集设计4.5.2流水线冒险4.5.3对流水线概述的小结4.6流水线数据通路及其控制4.6.1图形化表示的流水线4.6.2流水线控制4.7数据冒险:旁路与阻塞4.8控制冒险4.8.1假定分支不发生4.8.2缩短分支的延迟4.8.3动态分支预测4.8.4流水线小结4.9异常4.9.1mips体系结构中的异常处理4.9.2在流水线实现中的异常4.10指令级并行4.10.1推测的概念4.10.2静态多发射处理器4.10.3动态多发射处理器4.10.4能耗效率与高级流水线4.11实例:armcortex-a8和intelcorei7流水线4.11.1armcortex-a4.11.2intelcorei4.11.3intelcorei7920的性能4.12运行更快:指令级并行和矩阵乘法4.13高级主题:通过硬件设计语言描述和建模流水线来介绍数字设计以及更多流水线示例4.14谬误与陷阱4.15本章小结4.16历史观点和拓展阅读4.17练习题 第5章大容量和高速度:开发存储器层次结构5.1引言5.2存储器技术5.2.1sram技术5.2.2dram技术5.2.3闪存5.2.4磁盘存储器5.3cache的基本原理5.3.1cache访问5.3.2cache缺失处理5.3.3写操作处理5.3.4一个cache的例子:内置fastmath处理器5.3.5小结5.4cache性能的评估和改进5.4.1通过更灵活地放置块来减少cache缺失5.4.2在cache中查找一个块5.4.3替换块的选择5.4.4使用多级cache结构减少缺失代价5.4.5通过分块进行软件优化5.4.6小结5.5可信存储器层次5.5.1失效的定义5.5.2纠正一位错、检测两位错的汉明编码(sec/ded)5.6虚拟机5.6.1虚拟机监视器的**条件5.6.2指令集系统结构(缺乏)对虚拟机的支持5.6.3保护和指令集系统结构5.7虚拟存储器5.7.1页的存放和查找5.7.2缺页故障5.7.3关于写5.7.4加快地址转换:tlb5.7.5集成虚拟存储器、tlb和cache5.7.6虚拟存储器中的保护5.7.7处理tlb缺失和缺页5.7.8小结5.8存储器层次结构的一般框架5.8.1问题1:一个块可以被放在何处5.8.2问题2:如何找到一个块5.8.3问题3:当cache缺失时替换哪一块5.8.4问题4:写操作如何处理5.8.53c:一种理解存储器层次结构行为的直观模型5.9使用有限状态机来控制简单的cache5.9.1一个简单的cache5.9.2有限状态机5.9.3一个简单的cache控制器的有限状态机5.10并行与存储器层次结构:cache一致性5.10.1实现一致性的基本方案5.10.2监听协议5.11并行与存储器层次结构:冗余廉价磁盘阵列5.12高级内容:实现cache控制器5.13实例:armcortex-a8和intelcorei7的存储器层次结构5.14运行更快:cache分块和矩阵乘法5.15谬误和陷阱5.16本章小结5.17历史观点和拓展阅读5.18练习题 第6章从客户端到云的并行处理器6.1引言6.2创建并行处理程序的难点6.3sisd、mimd、simd、spmd和向量机6.3.1在x86中的simd:多媒体扩展6.3.2向量机6.3.3向量与标量的对比6.3.4向量与多媒体扩展的对比6.4硬件多线程6.5多核和其他共享内存多处理器6.6图形处理单元简介6.6.1nvidiagpu体系结构简介6.6.2nvidiagpu存储结构6.6.3gpu展望6.7集群、仓储级计算机和其他消息传递多处理器6.8多处理器网络拓扑简介6.9与外界通信:集群网络6.10多处理器测试集程序和性能模型6.10.1性能模型6.10.2roofline模型6.10.3两代opteron的比较6.11实例:评测intelcorei7960和nvidiateslagpu的roofline模型6.12运行更快:多处理器和矩阵乘法6.13谬误与陷阱6.14本章小结6.15历史观点和拓展阅读6.16练习题附录a汇编器、链接器和spim仿真器附录b逻辑设计基础索引  

封面

计算机组成与设计硬件/软件接口-原书第5版

书名:计算机组成与设计硬件/软件接口-原书第5版

作者:帕特森

页数:536

定价:¥99.0

出版社:机械工业出版社

出版日期:2015-07-01

ISBN:9787111504825

PDF电子书大小:137MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注