作者 |
胡伟武 等 |
丛书名 |
计算机类专业系统能力培养系列教材 |
出版社 |
机械工业出版社 |
ISBN |
9782111291558 |
简要 |
简介 |
内容简介书籍计算机书籍 ---------------------------8084817 - 计算机体系结构基础 第3版--------------------------- 本书由国内从事微处理器设计的一线科研人员编写而成。作者从微处理器设计的角度出发,充分考虑计算机体系结构的学科完整性,强调体系结构、基础软件、电路和器件的融会贯通。全书共分12章,包括指令系统结构、计算机硬件结构、CPU微结构、并行处理结构、计算机性能分析等主要内容,重点放在作为软硬件界面的指令系统结构,以及包含CPU、GPU、南北桥协同的计算机硬件结构上。 本书可作为高等院校“计算机体系结构”课程的本科生教材,同时也适合相关专业研究生或计算机技术人员参考阅读。 ---------------------------8083697 - 智能计算系统实验教程--------------------------- 本书是《智能计算系统》教材的配套实验教程,全书基于智能计算系统各章节的重点或难点,结合智能计算系统的软硬件技术栈设计了基于通用CPU平台和深度学习处理器平台的分阶段实验和综合实验。实验设计与理论章节一对一匹配,结合知识树的构建,帮助高校教师和学生轻松上手实验,切实强化动手能力,让学生真正掌握智能计算系统的部署与优化。 |
目录 |
[套装书具体书目] 8083697 - 智能计算系统实验教程 - 9787111688440 - 机械工业出版社 - 定价 79 8084817 - 计算机体系结构基础 第3版 - 9787111691624 - 机械工业出版社 - 定价 79 ---------------------------8084817 - 计算机体系结构基础 第3版--------------------------- 丛书序言 推荐序 第3版自序 第2版自序 前言 第一部分 引言 第1章 引言2 1.1 计算机体系结构的研究内容2 1.1.1 一以贯之2 1.1.2 什么是计算机5 1.1.3 计算机的基本组成6 1.2 衡量计算机的指标9 1.2.1 计算机的性能9 1.2.2 计算机的价格11 1.2.3 计算机的功耗12 1.3 计算机体系结构的发展13 1.3.1 摩尔定律和工艺的发展15 1.3.2 计算机应用和体系结构19 1.3.3 计算机体系结构发展20 1.4 体系结构设计的基本原则22 1.4.1 平衡性22 1.4.2 局部性24 1.4.3 并行性24 1.4.4 虚拟化25 1.5 本章小结26 习题26 第二部分 指令系统结构 第2章 指令系统30 2.1 指令系统简介30 2.2 指令系统设计原则30 2.3 指令系统发展历程32 2.3.1 指令内容的演变32 2.3.2 存储管理的演变34 2.3.3 运行级别的演变36 2.4 指令系统组成37 2.4.1 地址空间37 2.4.2 操作数39 2.4.3 指令操作和编码41 2.5 RISC指令集比较43 2.5.1 指令格式比较43 2.5.2 寻址方式比较44 2.5.3 公共指令功能44 2.5.4 不同指令系统的特色46 2.6 C语言的机器表示47 2.6.1 过程调用48 2.6.2 流程控制语句49 2.7 本章小结52 习题52 第3章 特权指令系统53 3.1 特权指令系统简介53 3.2 异常与中断56 3.2.1 异常分类56 3.2.2 异常处理58 3.2.3 中断60 3.3 存储管理62 3.3.1 存储管理的原理63 3.3.2 TLB的结构和使用64 3.3.3 TLB地址翻译相关异常的处理70 3.4 本章小结73 习题74 第4章 软硬件协同75 4.1 应用程序二进制接口75 4.1.1 寄存器约定76 4.1.2 函数调用约定78 4.1.3 进程虚拟地址空间82 4.1.4 栈帧布局84 4.2 六种常见的上下文切换场景87 4.2.1 函数调用87 4.2.2 异常和中断88 4.2.3 系统调用89 4.2.4 进程91 4.2.5 线程92 4.2.6 虚拟机93 4.2.7 六种上下文切换场景的对比94 4.3 同步机制94 4.3.1 基于互斥的同步机制95 4.3.2 非阻塞的同步机制96 4.4 本章小结97 习题97 第三部分 计算机硬件结构 第5章 计算机组成原理和结构100 5.1 冯·诺依曼结构100 5.2 计算机的组成部件101 5.2.1 运算器101 5.2.2 控制器103 5.2.3 存储器105 5.2.4 输入/输出设备110 5.3 计算机系统硬件结构发展113 5.3.1 CPU-GPU-北桥-南桥四片结构113 5.3.2 CPU-北桥-南桥三片结构114 5.3.3 CPU-弱北桥-南桥三片结构114 5.3.4 CPU-南桥两片结构115 5.3.5 SoC单片结构116 5.4 处理器和IO设备间的通信116 5.4.1 IO寄存器寻址117 5.4.2 处理器和IO设备之间的同步117 5.4.3 存储器和IO设备之间的数据传送119 5.4.4 龙芯3A3000+7A1000桥片系统中的CPU、GPU、DC通信120 5.5 本章小结122 习题122 第6章 计算机总线接口技术124 6.1 总线概述125 6.2 总线分类125 6.3 片上总线126 6.4 内存总线132 6.5 系统总线139 6.5.1 HyperTransport总线140 6.5.2 HT包格式143 6.6 设备总线145 6.6.1 PCIE总线145 6.6.2 PCIE包格式146 6.7 本章小结147 习题148 第7章 计算机系统启动过程分析149 7.1 处理器核初始化149 7.1.1 处理器复位150 7.1.2 调试接口初始化152 7.1.3 TLB初始化156 7.1.4 Cache初始化157 7.2 总线接口初始化160 7.2.1 内存初始化160 7.2.2 IO总线初始化161 7.3 设备的探测及驱动加载162 7.4 多核启动过程167 7.4.1 初始化时的多核协同167 7.4.2 操作系统启动时的多核唤醒168 7.4.3 核间同步与通信169 7.5 本章小结170 习题170 第四部分 CPU微结构 第8章 运算器设计172 8.1 二进制与逻辑电路172 8.1.1 计算机中数的表示172 8.1.2 MOS晶体管工作原理178 8.1.3 CMOS逻辑电路180 8.2 简单运算器设计188 8.2.1 定点补码加法器188 8.2.2 减法运算实现193 8.2.3 比较运算实现194 8.2.4 移位器194 8.3 定点补码乘法器195 8.3.1 补码乘法器196 8.3.2 Booth乘法器198 8.3.3 华莱士树202 8.4 本章小结206 习题206 第9章 指令流水线208 9.1 单周期处理器208 9.2 流水线处理器210 9.3 指令相关和流水线冲突213 9.3.1 数据相关引发的冲突及解决办法214 9.3.2 控制相关引发的冲突及解决办法216 9.3.3 结构相关引发的冲突及解决办法219 9.4 流水线与异常处理219 9.5 提高流水线效率的技术220 9.5.1 多发射数据通路220 9.5.2 动态调度221 9.5.3 转移预测225 9.5.4 高速缓存229 9.6 本章小结231 习题232 第五部分 并行处理结构 第10章 并行编程基础236 10.1 程序的并行行为236 10.1.1 指令级并行性236 10.1.2 数据级并行性237 10.1.3 任务级并行性237 10.2 并行编程模型238 10.2.1 单任务数据并行模型…238 10.2.2 多任务共享存储编程模型238 10.2.3 多任务消息传递编程模型239 10.2.4 共享存储与消息传递编程模型的编程复杂度239 10.3 典型并行编程环境242 10.3.1 数据并行SIMD编程242 10.3.2 POSIX编程标准244 10.3.3 OpenMP标准247 10.3.4 MPI消息传递编程接口253 10.4 本章小结259 习题259 第11章 多核处理结构260 11.1 多核处理器的发展演化260 11.2 多核处理器的访存结构263 11.2.1 通用多核处理器的片上Cache结构263 11.2.2 存储一致性模型265 11.2.3 Cache一致性协议267 11.3 多核处理器的互连结构272 11.4 多核处理器的同步机制278 11.5 典型多核处理器282 11.5.1 龙芯3A5000处理器282 11.5.2 Intel SandyBridge架构…284 11.5.3 IBM Cell处理器286 11.5.4 NVIDIA GPU287 11.5.5 Tile64处理器289 11.6 本章小结289 习题291 第六部分 系统评价与性能分析 第12章 计算机系统评价和性能分析294 12.1 计算机系统性能评价指标294 12.1.1 计算机系统常用性能评价指标295 12.1.2 并行系统的性能评价指标299 12.2 测试程序集300 12.2.1 微基准测试程序301 12.2.2 SPEC CPU基准测试程序310 12.2.3 并行系统基准测试程序316 12.2.4 其他常见的基准测试程序集319 12.3 性能分析方法320 12.3.1 分析建模的方法322 12.3.2 模拟建模的方法和模拟器322 12.3.3 性能测量的方法325 12.4 性能测试和分析实例334 12.4.1 SPEC CPU基准测试程序的分值对比335 12.4.2 微结构相关统计数据338 12.4.3 基础性能参数344 12.5 本章小结348 习题348 总结:什么是计算机体系结构350 参考文献359 ---------------------------8083697 - 智能计算系统实验教程--------------------------- 丛书序言 前言 第1章 绪论 1 1.1 智能计算系统简介 2 1.2 实验设计 4 1.3 实验平台 8 1.3.1 硬件平台8 1.3.2 软件环境9 1.4 游戏实验系统 10 第2章 神经网络设计实验 12 2.1 基于三层神经网络实现手写数字分类 12 2.1.1 实验目的12 2.1.2 背景介绍13 2.1.3 实验环境17 2.1.4 实验内容18 2.1.5 实验步骤19 2.1.6 实验评估29 2.1.7 实验思考29 2.2 基于DLP平台实现手写数字分类 29 2.2.1 实验目的29 2.2.2 背景介绍30 2.2.3 实验环境34 2.2.4 实验内容34 2.2.5 实验步骤35 2.2.6 实验评估40 2.2.7 实验思考40 第3章 深度学习应用实验 41 3.1 基于VGG19实现图像分类 41 3.1.1 实验目的41 3.1.2 背景介绍42 3.1.3 实验环境45 3.1.4 实验内容46 3.1.5 实验步骤46 3.1.6 实验评估53 3.1.7 实验思考54 3.2 基于DLP平台实现图像分类 54 3.2.1 实验目的54 3.2.2 实验环境55 3.2.3 实验内容55 3.2.4 实验步骤55 3.2.5 实验评估60 3.2.6 实验思考60 3.3 非实时图像风格迁移 61 3.3.1 实验目的61 3.3.2 背景介绍61 3.3.3 实验环境64 3.3.4 实验内容64 3.3.5 实验步骤65 3.3.6 实验评估74 3.3.7 实验思考76 3.3.8 延伸拓展77 第4章 编程框架实验 79 4.1 基于TensorFlow实现图像分类 79 4.1.1 实验目的79 4.1.2 背景介绍80 4.1.3 实验环境84 4.1.4 实验内容85 4.1.5 实验步骤85 4.1.6 实验评估90 4.1.7 实验思考91 4.2 基于TensorFlow实现实时风格迁移推断 91 4.2.1 实验目的91 4.2.2 背景介绍91 4.2.3 实验环境96 4.2.4 实验内容96 4.2.5 实验步骤96 4.2.6 实验评估102 4.2.7 实验思考102 4.3 基于TensorFlow实现实时风格迁移训练 102 4.3.1 实验目的102 4.3.2 背景介绍102 4.3.3 实验环境104 4.3.4 实验内容105 4.3.5 实验步骤105 4.3.6 实验评估116 4.3.7 实验思考116 4.4 自定义TensorFlow CPU算子 116 4.4.1 实验目的116 4.4.2 背景介绍117 4.4.3 实验环境118 4.4.4 实验内容118 4.4.5 实验步骤119 4.4.6 实验评估131 4.4.7 实验思考131 第5章 智能编程语言实验 132 5.1 智能编程语言算子开发与集成实验(BCL开发实验)132 5.1.1 实验目的132 5.1.2 背景介绍132 5.1.3 实验环境138 5.1.4 实验内容138 5.1.5 实验步骤139 5.1.6 实验评估156 5.1.7 实验思考157 5.2 智能编程语言性能优化实验 157 5.2.1 实验目的157 5.2.2 背景介绍157 5.2.3 实验环境159 5.2.4 实验内容159 5.2.5 实验步骤160 5.2.6 实验评估173 5.2.7 实验思考173 5.3 智能编程语言算子开发实验(BPL开发实验)173 5.3.1 实验目的173 5.3.2 背景介绍174 5.3.3 实验环境178 5.3.4 实验内容179 5.3.5 实验步骤180 5.3.6 实验评估182 5.3.7 实验思考182 *第6章 深度学习处理器运算器设计实验 183 6.1 实验目的 183 6.2 背景介绍 184 6.2.1 卷积层算法特征 184 6.2.2 面向卷积运算的DLP架构 185 6.2.3 DLP上矩阵及卷积处理过程186 6.3 实验环境 189 6.3.1 工具安装190 6.3.2 代码文件组织 190 6.4 实验内容 191 6.5 实验步骤 192 6.5.1 串行内积运算器 192 6.5.2 并行内积运算器 194 6.5.3 矩阵运算子单元 198 6.5.4 编译调试201 6.6 实验评估 204 6.7 实验思考 204 第7章 综合实验205 7.1 基于YOLOv3实现目标检测 205 7.1.1 实验目的205 7.1.2 背景介绍206 7.1.3 实验环境209 7.1.4 实验内容210 7.1.5 实验步骤211 7.1.6 实验评估238 7.1.7 实验思考238 7.2 基于EAST实现文本检测239 7.2.1 实验目的239 7.2.2 背景介绍239 7.2.3 实验环境242 7.2.4 实验内容242 7.2.5 实验步骤243 7.2.6 实验评估260 7.2.7 实验思考261 7.3 基于BERT实现自然语言处理 261 7.3.1 实验目的261 7.3.2 背景介绍261 7.3.3 实验环境267 7.3.4 实验内容267 7.3.5 实验步骤269 7.3.6 实验评估302 7.3.7 实验思考303 附录A DLP软件环境介绍 304 参考文献 315 后记 318 |