计算机组成与设计:硬件/软件接口RISC-V版(原书第2版)
新华书店全新正版书籍图书 保证_可开发票_极速发货支持7天无理由
¥
109.5
6.5折
¥
169
全新
库存76件
作者[美]戴维·A. 帕特森(David A. Patterson),[美]约翰·L. 亨尼斯(John L. Hennessy)
出版社机械工业
ISBN9787111727972
出版时间2023-07
装帧其他
开本其他
定价169元
货号31799211
上书时间2024-09-16
商品详情
- 品相描述:全新
- 商品描述
-
目录
目 录<br />Computer Organization and Design: The Hardware/Software Interface, RISC-V Edition, Second Edition<br />赞誉<br />译者序<br />前言<br />作者简介<br />第1章 计算机抽象及相关技术 1<br />1.1 引言 1<br />1.1.1 传统的计算应用分类及其特点 2<br />1.1.2 欢迎来到后PC时代 3<br />1.1.3 你能从本书中学到什么 4<br />1.2 计算机体系结构中的7个伟大思想 6<br />1.2.1 使用抽象简化设计 6<br />1.2.2 加速经常性事件 6<br />1.2.3 通过并行提高性能 7<br />1.2.4 通过流水线提高性能 7<br />1.2.5 通过预测提高性能 7<br />1.2.6 存储层次 7<br />1.2.7 通过冗余提高可靠性 7<br />1.3 程序表象之下 8<br />1.4 箱盖后的硬件 10<br />1.4.1 显示器 11<br />1.4.2 触摸屏 12<br />1.4.3 打开机箱 13<br />1.4.4 数据安全 15<br />1.4.5 与其他计算机通信 16<br />1.5 处理器和存储制造技术 17<br />1.6 性能 20<br />1.6.1 性能的定义 20<br />1.6.2 性能的度量 22<br />1.6.3 CPU性能及其度量因素 23<br />1.6.4 指令性能 24<br />1.6.5 经典的CPU性能公式 25<br />1.7 功耗墙 28<br />1.8 沧海巨变:从单处理器向多处理器<br />转变 30<br />1.9 实例:评测Intel Core i7 32<br />1.9.1 SPEC CPU基准评测程序 32<br />1.9.2 SPEC功耗基准评测程序 34<br />1.10 性能提升:使用Python语言编写<br />矩阵乘法程序 34<br />1.11 谬误与陷阱 35<br />1.12 本章小结 37<br />1.13 历史视角和拓展阅读 39<br />1.14?自学 39<br />1.15 练习 41<br />第2章 指令:计算机的语言 46<br />2.1 引言 46<br />2.2 计算机硬件的操作 48<br />2.3 计算机硬件的操作数 50<br />2.3.1 存储器操作数 51<br />2.3.2 常数或立即数操作数 53<br />2.4 有符号数与无符号数 54<br />2.5 计算机中的指令表示 59<br />2.6 逻辑操作 65<br />2.7 用于决策的指令 67<br />2.7.1 循环 68<br />2.7.2 边界检查的简便方法 70<br />2.7.3 case/switch语句 70<br />2.8 计算机硬件对过程的支持 71<br />2.8.1 使用更多的寄存器 72<br />2.8.2 嵌套过程 74<br />2.8.3 在栈中为新数据分配空间 75<br />2.8.4 在堆中为新数据分配空间 76<br />2.9 人机交互 78<br />2.10 对大立即数的RISC-V编址和<br />寻址 82<br />2.10.1 大立即数 82<br />2.10.2 分支中的寻址 83<br />2.10.3 RISC-V寻址模式总结 85<br />2.10.4 机器语言译码 86<br />2.11 并行性与指令:同步 88<br />2.12 翻译并启动程序 90<br />2.12.1 编译器 90<br />2.12.2 汇编器 90<br />2.12.3 链接器 92<br />2.12.4 加载器 94<br />2.12.5 动态链接库 94<br />2.12.6 启动Java程序 96<br />2.13 以C排序程序为例的汇总整理 97<br />2.13.1 swap过程 97<br />2.13.2 sort过程 98<br />2.14 数组与指针 102<br />2.14.1 用数组实现clear 103<br />2.14.2 用指针实现clear 104<br />2.14.3 比较两个版本的clear 105<br />2.15 高级专题:编译C语言和解释<br />Java语言 105<br />2.16 实例:MIPS指令 105<br />2.17 实例:ARMv7(32位)指令 106<br />2.17.1?寻址模式 107<br />2.17.2?比较和条件分支指令 108<br />2.17.3?ARM的独特之处 108<br />2.18 实例:ARMv8(64位)指令 109<br />2.19 实例:x86指令 109<br />2.19.1 Intel x86的演变 110<br />2.19.2 x86寄存器和寻址模式 111<br />2.19.3 x86整数操作 113<br />2.19.4 x86指令编码 115<br />2.19.5 x86总结 116<br />2.20 实例:RISC-V指令系统的剩余<br />部分 116<br />2.21 性能提升:使用C语言编写矩阵<br />乘法程序 117<br />2.22 谬误与陷阱 118<br />2.23 本章小结 120<br />2.24 历史视角和扩展阅读 122<br />2.25?自学 122<br />2.26 练习 124<br />第3章 计算机的算术运算 130<br />3.1 引言 130<br />3.2 加法和减法 130<br />3.3 乘法 133<br />3.3.1 串行版的乘法算法及其硬件<br />实现 133<br />3.3.2 带符号乘法 136<br />3.3.3 快速乘法 136<br />3.3.4 RISC-V中的乘法 136<br />3.3.5 总结 137<br />3.4 除法 137<br />3.4.1 除法算法及其硬件实现 137<br />3.4.2 有符号除法 140<br />3.4.3 快速除法 140<br />3.4.4 RISC-V中的除法 141<br />3.4.5 总结 141<br />3.5 浮点运算 142<br />3.5.1 浮点表示 143<br />3.5.2 例外和中断 144<br />3.5.3 IEEE 754浮点数标准 144<br />3.5.4 浮点加法 147<br />3.5.5 浮点乘法 150<br />3.5.6 RISC-V中的浮点指令 153<br />3.5.7 精确算术 157<br />3.5.8 总结 159<br />3.6 并行性与计算机算术:子字并行 160<br />3.7 实例:x86中的SIMD扩展和高级<br />向量扩展 160<br />3.8 性能提升:子字并行和矩阵乘法 162<br />3.9 谬误与陷阱 163<br />3.10 本章小结 166<br />3.11 历史视角和拓展阅读 166<br />3.12?自学 166<br />3.13 练习 169<br />第4章 处理器 173<br />4.1 引言 173<br />4.1.1 一种基本的RISC-V实现 174<br />4.1.2 实现概述 174<br />4.2 逻辑设计的一般方法 176<br />4.3 建立数据通路 179<br />4.4 一个简单的实现方案 185<br />4.4.1 ALU控制 185<br />4.4.2 设计主控制单元 186<br />4.4.3 数据通路操作 191<br />4.4.4 控制的结束 193<br />4.4.5 为什么现在不使用单周期<br />实现 194<br />4.5 多周期实现 195<br />4.6 流水线概述 195<br />4.6.1 面向流水线的指令系统设计 198<br />4.6.2 流水线冒险 199<br />4.6.3 总结 204<br />4.7 流水线数据通路和控制 205<br />4.7.1 流水线的图形化表示 214<br />4.7.2 流水线控制 216<br />4.8 数据冒险:前递与停顿 219<br />4.9 控制冒险 229<br />4.9.1 假设分支不发生 229<br />4.9.2 缩短分支延迟 230<br />4.9.3 动态分支预测 232<br />4.9.4 流水线总结 234<br />4.10 例外 234<br />4.10.1 RISC-V体系结构中如何处理<br />例外 235<br />4.10.2 流水线实现中的例外 236<br />4.11 指令间的并行性 239<br />4.11.1 推测的概念 240<br />4.11.2 静态多发射 241<br />4.11.3 动态多发射处理器 245<br />4.11.4 能效和高级流水线 248<br />4.12 实例:ARM Cortex-A53和<br />Intel Core i7 6700 249<br />4.12.1 ARM Cortex-A53 250<br />4.12.2 A53流水线的性能 252<br />4.12.3 Intel Core i7 6700 253<br />4.12.4 Intel Core i7处理器的性能 255<br />4.13 性能提升:指令级并行和矩阵<br />乘法 257<br />4.14 高级专题:数字设计概述—使用硬件设计语言进行流水线建模以及更多流水线示例 258<br />4.15 谬误与陷阱 258<br />4.16 本章小结 259<br />4.17 历史视角和拓展阅读 260<br />4.18 自学 260<br />4.19 练习 261<br />第5章 大而快:层次化存储 271<br />5.1 引言 271<br />5.2 存储技术 275<br />5.2.1 SRAM存储技术 275<br />5.2.2 DRAM存储技术 275<br />5.2.3 闪存 277<br />5.2.4 磁盘 277<br />5.3 cache基础 279<br />5.3.1 cache访问 281<br />5.3.2 处理cache失效 285<br />5.3.3 处理写操作 286<br />5.3.4 cache实例:Intrinsity FastMATH 处理器 288<br />5.3.5 总结 289<br />5.4 cache的性能评估和改进 290<br />5.4.1 使用更为灵活的替换策略降低cache失效率 292<br />5.4.2 在cache中查找数据块 296<br />5.4.3 选择替换的数据块 297<br />5.4.4 使用多级cache减少失效<br />代价 298<br />5.4.5 通过分块进行软件优化 300<br />5.4.6 总结 303<br />5.5 可靠的存储器层次 304<br />5.5.1 失效的定义 304<br />5.5.2 纠正1位错、检测2位错的<br />汉明编码 305<br />5.6 虚拟机 308<br />5.6.1 虚拟机监视器的必备条件 309<br />5.6.2 指令系统体系结构(缺乏)<br />对虚拟机的支持 310<br />5.6.3 保护和指令系统体系结构 310<br />5.7 虚拟存储 311<br />5.7.1 页的存放和查找 313<br />5.7.2 缺页失效 315<br />5.7.3 支持大虚拟地址空间的虚拟<br />存储 316<br />5.7.4 关于写 317<br />5.7.5 加快地址转换:TLB 318<br />5.7.6 Intrinsity FastMATH TLB 319<br />5.7.7 集成虚拟存储、TLB和<br />cache 321<br />5.7.8 虚拟存储中的保护 323<br />5.7.9 处理TLB失效和缺页失效 324<br />5.7.10 总结 326<br />5.8 存储层次结构的一般框架 327<br />5.8.1 问题一:块放在何处 327<br />5.8.2 问题二:如何找到块 328<br />5.8.3 问题三:当cache发生失效时<br />替换哪一块 329<br />5.8.4 问题四:写操作如何处理 329<br />5.8.5 3C:一种理解存储层次结构的<br />直观模型 330<br />5.9 使用有限状态自动机控制简单的cache 332<br />5.9.1 一个简单的cache 332<br />5.9.2 有限状态自动机 333<br />5.9.3 使用有限状态自动机作为<br />简单的cache控制器 334<br />5.10 并行和存储层次结构:cache<br />一致性 336<br />5.10.1 实现一致性的基本方案 337<br />5.10.2 监听协议 337<br />5.11 并行与存储层次结构:廉价磁盘<br />冗余阵列 339<br />5.12 高级专题:实现cache控制器 339<br />5.13 实例:ARM Cortex-A53和Intel Core i7的存储层次结构 339<br />5.14 实例:RISC-V系统的其他部分和<br />特殊指令 343<br />5.15 性能提升:cache分块和矩阵<br />乘法 344<br />5.16 谬误与陷阱 345≈lt;br />5.17 本章小结 349<br />5.18 历史视角和拓展阅读 349<br />5.19 自学 349<br />5.20 练习 352<br />第6章 并行处理器:从客户端<br />到云 364<br />6.1 引言 364<br />6.2 创建并行处理程序的难点 366<br />6.3 SISD、MIMD、SIMD、SPMD和<br />向量机 369<br />6.3.1 x86中的SIMD:多媒体<br />扩展 371<br />6.3.2 向量机 371<br />6.3.3 向量与标量 372<br />6.3.4 向量与多媒体扩展 373<br />6.4 硬件多线程 375<br />6.5 多核及其他共享内存多处理器 378<br />6.6 GPU简介 381<br />6.6.1 NVIDIA GPU体系结构简介 382<br />6.6.2 NVIDIA GPU存储结构 383<br />6.6.3 对GPU的展望 384<br />6.7 领域定制体系结构 386<br />6.8 集群、仓储级计算机和其他消息<br />传递多处理器 389<br />6.9 多处理器网络拓扑简介 392<br />6.10 与外界通信:集群网络 395<br />6.11 多处理器测试基准和性能模型 395<br />6.11.1 性能模型 397<br />6.11.2 Roofline模型 398<br />6.11.3 两代Opteron的比较 400<br />6.12 实例:评测Google TPUv3超级计算机和NVIDIA Volta GPU集群 403<br />6.12.1 深度学习神经网络的训练和<br />推理 403<br />6.12.2 领域定制体系结构的超级计算机网络 403<br />6.12.3 领域定制体系结构的超级计算机节点 404<br />6.12.4 领域定制体系结构的计算 406<br />6.12.5 TPUv3领域定制体系结构与Volta GPU的比较 406<br />6.12.6 性能 407<br />6.13 性能提升:多处理器和矩阵<br />乘法 409<br />6.14 谬误与陷阱 411<br />6.15 本章小结 413<br />6.16 历史视角和拓展阅读 415<br />6.17 自学 415<br />6.18 练习 416<br />附录A 逻辑设计基础 425<br />术语表 483<br
— 没有更多了 —
以下为对购买帮助不大的评价