并行计算机组成与设计 内容简介

并行计算机组成与设计 内容简介

并行计算机组成与设计 目录

并行计算机组成与设计 精彩文摘

《并行计算机组成与设计》以简单易懂的方式讲解错综复杂的并行体系结构,引导读者了解并行计算机的工作原理,同时鼓励读者创新并实现自己的设计。全书共9章,内容涵盖底层电子工艺、微体系结构、存储结构、互连网络、多处理器、片上多处理器以及量化评估模型等。每一章都独立且完备,既包含全面的基本概念,也涵盖一些前沿研究点。本书适合作为高等院校计算机相关专业的教材,教师可根据课程及学生的层次选取不同的主题。同时,对于工程师和研究者,本书也是不可多得的有益参考。第1章 总述1.1 什么是计算机体系结构1.2 并行体系结构的基本组成1.2.1 处理器1.2.2 存储1.2.3 互连1.3 并行体系结构1.3.1 指令级并行1.3.2 线程级并行1.3.3 向量和阵列处理器1.4 性能1.4.1 基准测试集1.4.2 Amdahl定律1.5 技术挑战1.5.1 功耗和能量1.5.2 可靠性1.5.3 连线延迟1.5.4 设计复杂度1.5.5 尺寸缩小极限和CMOS终点习题第2章 工艺及其影响2.1 概述2.2 电学基本定律2.2.1 欧姆定律2.2.2 电阻2.2.3 电容2.3 MOSFET晶体管和CMOS反相器2.4 工艺变更2.5 功耗和能耗2.5.1 动态功耗2.5.2 静态功耗2.5.3 功耗和能量指标2.6 可靠性2.6.1 故障和错误2.6.2 可靠性指标2.6.3 故障率和老化2.6.4 瞬时故障2.6.5 间歇性故障2.6.6 永久性故障2.6.7 工艺偏差及其对故障的影响习题第3章 处理器微结构3.1 概述3.2 指令集架构3.2.1 指令类型和操作码3.2.2 指令混合3.2.3 指令操作数3.2.4 异常、陷阱和中断3.2.5 存储一致性模型3.2.6 本书的核心ISA3.2.7 CISC和RISC3.3 静态调度流水线3.3.1 经典五级流水线3.3.2 指令乱序完成3.3.3 超流水和超标量CPU3.3.4 分支预测3.3.5 静态指令调度3.3.6 静态流水线的优缺点3.4 动态调度流水线3.4.1 解决数据相关:Tomasulo算法3.4.2 推测执行3.4.3 动态分支预测3.4.4 支持推测的Tomasulo算法3.4.5 动态内存歧义消除3.4.6 显式寄存器重命名3.4.7 指令发射后的寄存器读取3.4.8 推测指令调度3.4.9 打破数据流限制:值预测3.4.10 单周期多指令3.4.11 处理复杂ISA3.5 超长指令字微结构3.5.1 动态和静态技术3.5.2 VLIW体系结构3.5.3 循环展开3.5.4 软件流水3.5.5 非循环VLIW调度3.5.6 谓词指令3.5.7 推测内存歧义消除3.5.8 异常3.6 EPIC微结构3.7 向量微结构3.7.1 算术/逻辑向量指令3.7.2 内存向量指令3.7.3 向量分段开采和链接3.7.4 条件语句3.7.5 scatter和gather操作习题第4章 存储层次4.1 概述4.2 金字塔形存储层次4.2.1 访存局部性4.2.2 存储层次中的一致性4.2.3 存储包含4.3 cache层次4.3.1 cache映射及组织方式4.3.2 替换策略4.3.3 写策略4.3.4 cache层次的性能4.3.5 cache失效的分类4.3.6 非阻塞cache4.3.7 cache预取和预加载4.4 虚拟存储4.4.1 引入虚存的动机4.4.2 从操作系统视角看到的虚拟存储4.4.3 虚地址转换4.4.4 访存控制4.4.5 多级页表4.4.6 反向页表4.4.7 旁路转换缓冲4.4.8 带物理标识的虚地址cache4.4.9 带虚标识的虚地址cache习题第5章 多处理器系统5.1 概述5.2 并行编程模型5.2.1 共享内存系统5.2.2 消息传递系统5.3 基于消息传递的多处理器系统5.3.1 消息传递原语5.3.2 消息传递协议5.3.3 消息传递协议的硬件支持5.4 基于总线的共享内存系统5.4.1 多处理器cache组织5.4.2 一个简单的侦听cache协议5.4.3 侦听cache协议的设计空间5.4.4 协议变种5.4.5 多阶段侦听cache协议的设计问题5.4.6 通信事件的分类5.4.7 TLB一致性5.5 可扩展共享内存系统5.5.1 目录协议的基本概念和术语5.5.2 目录协议实现方法5.5.3 目录协议的扩展性5.5.4 层次化系统5.5.5 页面迁移和复制5.6 全cache共享内存系统5.6.1 基本概念、硬件结构和协议5.6.2 平坦COMA习题第6章 互连网络6.1 概述6.2 互连网络的设计空间6.2.1 设计概念综述6.2.2 延迟和带宽模型6.3 交换策略6.4 拓扑结构6.4.1 间接网络6.4.2 直接网络6.5 路由技术6.5.1 路由算法6.5.2 死锁避免和确定性路由6.5.3 放松路由限制:虚通道和转弯模型6.5.4 进一步放松的路由算法:自适应路由6.6 交换架构习题第7章 一致性、同步与存储一致性7.1 概述7.2 背景7.2.1 共享内存通信模型7.2.2 硬件组件7.3 一致性和store原子性7.3.1 多处理器一致性的实现困难7.3.2 cache协议7.3.3 store原子性7.3.4 纯一致性7.3.5 store原子性和访存交错7.4 顺序一致性7.4.1 顺序一致性的形式化模型7.4.2 顺序一致性的访存顺序规则7.4.3 入站消息管理7.4.4 store同步性7.5 同步7.5.1 基本同步原语7.5.2 基于硬件的同步7.5.3 基于软件的同步7.6 放松的存储一致性模型7.6.1 不依赖于同步的放松模型7.6.2 依赖同步的放松模型7.7 推测执行中的存储序违反7.7.1 乱序执行处理器中的保守存储模型7.7.2 推测执行中的存储序违反习题第8章 片上多处理器8.1 概述8.2 CMP的基本原理8.2.1 技术趋势8.2.2 机遇8.3 核内多线程8.3.1 软件支持的多线程8.3.2 硬件支持的多线程8.3.3 块式(粗粒度)多线程8.3.4 交错(细粒度)多线程8.3.5 乱序执行处理器上的同时多线程8.4 片上多处理器架构8.4.1 同构CMP架构8.4.2 基于异构处理器核的CMP系统8.4.3 连体处理器核8.5 编程模型8.5.1 独立进程8.5.2 显式线程并行8.5.3 事务内存8.5.4 线程级推测执行8.5.5 帮助线程8.5.6 通过冗余执行提高可靠性习题第9章 量化评估9.1 概述9.2 模拟器分类9.2.1 用户级模拟器和全系统模拟器9.2.2 功能模拟器和时钟精确模拟器9.2.3 trace驱动模拟器、执行驱动模拟器和直接执行模拟器9.3 模拟器的集成9.3.1 功能优先模拟器的集成9.3.2 时序优先模拟器的集成9.4 多处理器模拟器9.4.1 串行多处理器模拟器9.4.2 并行多处理器模拟器9.5 功耗和热量模拟9.6 工作负载采样9.6.1 基于采样的微架构模拟9.6.2 SimPoint9.7 工作负载特征刻画9.7.1 理解性能瓶颈9.7.2 合成基准测试程序9.7.3 预测工作负载行为习题附录1.1 什么是计算机体系结构计算机体系结构是一门工程或应用科学学科,它主要研究如何在给定的工艺限制和软件要求下设计更好的计算机。过去计算机体系结构是指令集设计的代名词,然而随着时间的推移,该术语已经涵盖了计算机的硬件组成、微处理器乃至硬件组件级别的整个系统的设计。本书中,我们采用了默认的“计算机体系结构”的现代定义,即“计算机硬件组成和计算机设计”,在提到指令集时,我们将明确地使用术语“指令集架构”(简称ISA)。从指令集的设汁发展历史可以看出,指令集是非常稳定的,现在只有少数忉为工业界所支持,虽然目前的指令集可能会不断扩展,但从头开始设计新的指令集是几乎不可能的,因为开发一个全新的指令集并进行实现的成本无疑非常巨大。本书中,我们将粗略地介绍指令集架构,因为这不是我们的主要目标,我们的主要目标是在给定成本和工艺限制下快速、正确地实现指令集架构的并行计算机体系结构。

类似文章

发表评论

您的电子邮箱地址不会被公开。