目录前言第1章 算术、浮点和向量类指令实现 11.1 算术运算 11.1.1 多路运算 11.1.2 乘除法运算 51.1.3 复杂运算 91.2 浮点类指令执行 131.2.1 浮点指令的安全执行 131.2.2 四倍精度浮点加载与存储 151.2.3 避免浮点控制指令或设置的方法执行浮点指令 181.2.4 并行流水线浮点单元执行浮点向量处理 241.3 向量操作实现和优化 251.3.1 利用主从数据通路交错执行向量指令 251.3.2 聚集/分散 27第2章 访存相关 302.1 加载和存储指令的实现 302.1.1 高级加载 302.1.2 屏障指令 322.1.3 先进加载 362.1.4 满足加载操作 432.1.5 监听存储指令地址 452.1.6 安静存储指令 462.1.7 存储指令转发 472.1.8 重命名技术 492.1.9 存储器消歧 512.1.10 乱序处理器中加载/存储指令的处理 522.1.11 全局可见存储缓冲器 562.1.12 加载/存储数据的预取技术 572.1.13 加载/存储指令的并行化 592.1.14 大端小端与地址对齐的处理 602.1.15 二阶段提交 632.2 访存性能优化及其他 652.2.1 存储地址扩展 652.2.2 加载指令地址生成优化硬件逻辑 672.2.3 基于寄存器别名表和内容可寻址存储器的XCHG指令优化 682.2.4 浮点线性地址更新优化 692.2.5 读写操作与奇偶存储体优化调度 702.2.6 内存重配置 702.2.7 基于序列检测或与指令相关信息的优化访存性能 712.2.8 栈操作指令执行 732.3 高速缓存 742.3.1 高速缓存预取技术 742.3.2 高速缓存污染解决技术 772.3.3 基于LRU算法的替换策略 772.3.4 高速缓存行读写性能优化 79第3章 跳转和分支 813.1 条件跳转指令译码 813.2 子程序返回 823.3 动态分支预测 873.3.1 面向流水线系统的预测 883.3.2 多指令流的推测执行 903.3.3 面向多指令集的预测 913.3.4 多线程推测分支指令 923.3.5 循环预测器 933.3.6 重放指令转化 943.3.7 预测信息的存储 953.3.8 启用多个跳转执行单元 96第4章 流水线 984.1 多周期指令的流水线实现 984.2 超标量流水线 994.3 流水线转发技术 1014.4 多线程 1024.4.1 流水线暂停 1024.4.2 共享存储 1034.4.3 活锁 104第5章 低功耗 1065.1 时钟门控 1065.2 基于温度调整频率和电压 1075.3 功耗模式切换 1075.3.1 通过暂停指令进入休眠 1075.3.2 长延迟指令降低瞬时启动电流 1085.3.3 基于存储器地址操作的唤醒 109第6章 编译优化 1116.1 分支和循环优化 1116.2 融合乘加操作 1156.3 多核优化 1166.3.1 代码重排 1166.3.2 循环展开 1166.3.3 动态部分二进制翻译的指令集虚拟化 118参考文献 120