第0讲:课程介绍及软件优化概述

  1. 课程介绍
  2. 软件优化的概念及目标

第1讲 专用计算系统及优化

  1. 专用计算系统的例子
  2. 专用计算系统的一种理想模型——专用图灵机
  3. 专用图灵机模型上的性能优化概念
  4. 专用图灵机的实现及优化

第2讲 通用计算系统-CPU

  1. 通用图灵机模型——专用图灵机作为输入的一部分
  2. 通用图灵机的实现——CPU
  3. CPU的优化

第3讲 计算优化

pdf: lec3 pdf: lec3.1

  1. 指令内并行
  2. 指令级并行1: 流水
  3. 指令级并行2: 多发射
  4. 面向指令级并行的高性能编程
  5. 线程级并行
  6. 多处理器并行

第4讲:访存优化1: 寄存器访问

  1. 存储技术分类介绍
  2. 局部性
  3. 访存优化原理
  4. 寄存器访问

第5讲:访存优化2: 缓存

  1. 缓存的组织结构和操作
  2. 缓存的性能度量——memory mountain
  3. 缓存访问优化:改善空间局部性
  4. 缓存访问优化:改善时间局部性
  5. 缓存访问优化:cache prefetching
  6. 软件管理存储——Scratchpad memory (SPM)

第6讲:访存优化3: 栈与堆

第7讲:访存优化4: 虚拟存储

  1. 虚拟存储的概念
  2. 基于虚拟存储的映射机制
  3. 虚拟存储优化
  4. 页表优化
  5. 虚拟地址空间布局及其形成过程
  6. 物理内存分配和管理

第8讲:编译过程及编译优化

  1. 编译流程
  2. C语言到汇编的翻译
  3. 面向对象到C的翻译
  4. 编译优化概述
  5. link阶段优化
  6. load阶段优化

可选1:虚拟机优化

  1. 解释执行
  2. JIT优化
  3. GC优化
  4. Python性能优化实例