计算机系统结构考试:Chapter 6:Limits to ILP and SMT

本文探讨了指令级并行(ILP)的限制,包括基准差异、硬件复杂度和编译器挑战。随着硬件发展,ILP的提升空间减小。尽管理论上编译器和新技术可能突破限制,但在实际中,这些进步可能无法短期内解决。文章还介绍了多线程作为克服ILP局限的一种策略,包括线程级并行、数据级并行和同时多线程(SMT),分析了它们的优缺点以及在处理器设计中的应用。
摘要由CSDN通过智能技术生成

ILP的限制在哪里?
1、大量相互矛盾的研究
基准不同(比如Fortran语言和C语言的不同)、硬件的复杂度、编译器的复杂度
2、随着硬件预算的增加,ILP的可用性正逐渐减小
3、我们是否需要发明新的硬件/软件机制来保持处理器的性能曲线?
理论上:
编译器技术的进步+显著的新的和不同的硬件技术可能能够克服研究中假定的限制。
实际上:
然而,与现实硬件结合的这种进展不太可能在不久的将来克服这些限制。

完美机器的限制:
1、寄存器重命名:有无限的虚拟寄存器,可以避免全部的RAW和WAW数据相关。
2、分支预测:完全准确,无预测失误的情况
3、跳转预测:完全准确,无预测失误的情况
2&3实现消除了控制相关。
4、记忆地址分析
什么是指令窗口
The set of instructions that is examined for simultaneous execution is called the window
在窗口中,我们可以找到同时发射的指令的集合。
窗口大小将由确定n个发出寄存器寄存器指令之间是否具有寄存器依赖关系的成本来确定。

限制ILP发展的因素:
每个时钟发射的指令数 ;指令窗口大小; 寄存器重命名; 分支预测; Cache高速缓存; 内存别名
什么是线程级并行或多线程
线程级并行是多处理器支持多个线程同时并行执行。
线程级并行出现的原因:
由于程序代码中存在的数据及控制依赖,单线程中所能发掘的指令并行潜力是有限

第一章 计算机体系结构的基本概念 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.3.4 计算机实现技术的发展 1.3. 5 体系结构的生命周期 1.4 计算机体系结构中并行性的发展 1.4.1并行性概念 1.4.2 提高并行性的技术途径 1.5 定量分析技术基础 1.5.1 计算机性能的评测 1.5.2 测试程序 1.5.3 性能设计和评测的基本原则 1.5.4 CPU的性能 1.6 影响计算机体系结构的成本和价格因素 1.6.1 集成电路的成本 1.6.2 计算机系统的成本和价格 1.7 小结习题一第二章 计算机指令集结构设计 2.1 指令集结构的分类 2.1.1 指令集结构的分类 2.1.2 通用寄存器型指令集结构分类 2.2 寻址技术 2.3 指令集结构的功能设计 2.3.1 CISC计算机指令集结构的功能设计 2.3.2 RISC计算机指令集结构的功能设计 2.3.3 控制指令 2.4 操作数的类型、表示和大小 2.5 指令集格式的设计 2.5.1 寻址方式的表示方法 2.5.2 指令集格式的选择 2.6 编译技术与计算机体系结构设计 2.6.1 现代编译器的结构和相关技术 2.6.2 现代编译技术对计算机体系结构设计的影响 2.6.3 计算机体系结构对当前编译技术的影响 2.7 DLX指令集结构 2.7.1 DLX指令集结构 2.7.2 DLX指令集结构效能分析 2.8 小结习题二第三章 流水线技术 3.1 流水线的基本概念 3.1.1 流水线的基本概念 3.1.2 流水线的分类 3.2 DLX的基本流水线 3.2.1 DLX的一种简单实现 3.2.2 基本的DLX流水线 3.2.3 流水线性能分析 3. 3 流水线中的相关 3.3.1 流水线的结构相关 3.3.2 流水线的数据相关 3.3.3 流水线的控制相关 3.4 流水线计算机实例分析(MIPS R4000) 3.4.1 MIPS R4000整型流水线 3.4.2 MIPS R4000浮点流水线 3.4.3 MIPS R4000流水线的性能分析 3.5 向量处理机 3.5.1 向量处理方式和向量处理机 3.5.2 向量处理机实例分析 3.6 小结习题三第四章 指令级并行 4.1 指令级并行的概念 4.1.1 循环展开调度的基本方法 4.1.2 相关性 4.2 指令的动态调度 4.2.1 动态调度的原理 4.2.2 动态调度算法之一:记分牌 4.2.3 动态调度算法之二:Tomasulo算法 4.3 控制相关的动态解决技术 4.3.1 减少分支延迟:分支预测缓冲技术 4.3.2 进一步减少分支延迟:分支目标缓冲 4.3.3 基于硬件的推断执行 4.4 多指令流出技术 4.4.1 超标量技术 4.4.2 多指令流出的动态调度 4.4.3 超长指令字技术 4.4.4 多流出处理器受到的限制 4.5 小结习题四第五章 存储层次 5.1 存储器的层次结构 5.1.1 从单级存储器到多级存储器 5.1.2 存储层次的性能参数 5.1.3 “Cache—主存”和“主存—辅存”层次 5.1.4 存储层次的四个问题 5.2 Cache基本知识 5.2.1 映象规则 5.2.2 查找方法 5.2.3 替换算法 5.2.4 写策略 5.2.5 Cache的结构 5.2.6 Cache性能分析 5.2.7 改进Cache性能 5.3 降低Cache失效率的方法 5.3.1 增加Cache块大小 5.3.2 提高相联度 5.3.3 Victim Cache 5.3.4 伪相联Cache 5.3.5 硬件预取技术 5.3.6 由编译器控制的预取 5.3.7 编译器优化 5.4 减少Cache失效开销 5.4.1 让读失效优先于写 5.4.2 子块放置技术 5.4.3 请求字处理技术 5.4.4 非阻塞Cache技术 5.4.5 采用两级Cache 5.5 减少命中时间 5.5.1 容量小,结构简单的Cache 5.5.2 虚拟Cache 5.5.3 写操作流水化 5.5.4 Cache优化技术小结 5.6 主存 5.6.1 存储器技术 5.6.2 提高主存性能的存储器组织结构 5.7 虚拟存储器 5.7.1 虚拟存储器基本原理 5.7.2 快表(TLB) 5.7.3 页面大小的选择 5.8 进程保护和虚存实例 5.8.1 进程保护 5.8.2 页式虚存举例:Alpha AXP的存储管理和21064的TLB 5.9 Alpha AXP 21064存储层次 5.10 小结习题五第六章 输入输出系统 6.1 概述 6.2 存储设备 6.2.1 磁盘设备 6.2.2 磁带设备 6.2.3 光盘设备 6.3 总线 6.3.1 总线分类 6.3.2 总线基本工作原理 6.3.3 总线使用 6.3.4 总线标准和实例 6.3.5 设备的连接 6.3.6 CPU与I/O处理的匹配 6.4 通道处理机 6.4.1 通道的作用和功能 6.4.2 通道的工作过程 6.4.3 通道种类 6.4.4 通道中的数据传送过程 6.4.5 通道的流量分析 6.5 I/O与操作系统 6.5.1 I/O和Cache数据一致性 6.5.2 DMA和虚拟存储器 6.6 I/O系统设计 6.7 小结习题六第七章 多处理机 7.1 引言 7.1.1 并行计算机体系结构的分类 7.1.2 通信模型和存储器的结构模型 7.1.3 通信机制的性能 7.1.4 不同通信机制的优点 7.1.5 并行处理面临的挑战 7.1.6 并行程序的计算/通信比率 7.2 多处理机的存储器体系结构 7.2.1 集中式共享存储器体系结构 7.2.2 分布式共享存储器体系结构 7.3 互连网络 7.3.1 互连网络的性能参数 7.3.2 静态连接网络 7.3.3 动态连接网络 7.4 同步与通信 7.4.1 同步机制 7.4.2 大规模机器的同步 7.5 并行化技术 7.5.1 并行化的基本策略 7.5.2 并行语育与编译器 7.6 多处理机实例 7.6.1 Challenge多处理机系统 7.6.2 Origin 20007.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值