教学优势
曙海教育的课程培养了大批受企业欢迎的工程师。大批企业和曙海
建立了良好的合作关系。曙海教育的课程在业内有着响亮的知名度。
本课程,秉承18年积累的教学品质,以项目实现为导向,老师将会与您分享设计的全流程以及工具的综合使用经验、技巧。
课程简介:
现代x86汇编语言程序设计培训课程
第1章 x86-64Core体系结构
1.1历史回顾
1.2数据类型
1.2.1基本数据类型
1.2.2数值数据类型
1.2.3SIMD数据类型
1.2.4其他数据类型
1.3内部体系结构
1.3.1通用寄存器
1.3.2RFLAGS寄存器
1.3.3指令指针
1.3.4指令操作数
1.3.5内存寻址
1.4x86-64与x86-32编程的区别
1.4.1无效指令
1.4.2不推荐的指令
1.5指令集概述
1.6本章小结
第2章 x86-64Core程序设计:第1部分
2.1简单的整数算术运算
2.1.1加法和减法
2.1.2逻辑运算
2.1.3移位运算
2.2高级整数算术运算
2.2.1乘法和除法
2.2.2使用混合类型的运算
2.3内存寻址和条件代码
2.3.1内存寻址模式
2.3.2条件代码
2.4本章小结
第3章 x86-64Core程序设计:第2部分
3.1数组
3.1.1一维数组
3.1.2二维数组
3.2结构
3.3字符串
3.3.1字符计数
3.3.2字符串拼接
3.3.3比较数组
3.3.4数组反转
3.4本章小结
第4章 AVX指令集
4.1AVX概述
4.2SIMD编程概念
4.3环绕与饱和算术运算
4.4AVX执行环境
4.4.1寄存器集
4.4.2数据类型
4.4.3指令语法
4.5AVX标量浮点数
4.5.1浮点数编程概念
4.5.2标量浮点寄存器集
4.5.3控制状态寄存器
4.5.4指令集概述
4.6AVX打包浮点值
4.7AVX打包整数
4.8x86-AVX和x86-SSE之间的区别
4.9本章小结
第5章 AVX程序设计:标量浮点数
5.1标量浮点算术运算
5.1.1单精度浮点数运算
5.1.2双精度浮点数运算
5.2标量浮点值的比较和转换
5.2.1浮点值比较
5.2.2浮点值转换
5.3标量浮点数组和矩阵
5.3.1浮点数组
5.3.2浮点矩阵
5.4调用约定
5.4.1基本堆栈帧
5.4.2使用非易失性通用寄存器
5.4.3使用非易失性XMM寄存器
5.4.4函数序言和函数结语的宏
5.5本章小结
第6章 AVX程序设计:打包浮点数
6.1打包浮点算术运算
6.2打包浮点值比较
6.3打包浮点值转换
6.4打包浮点数组
6.4.1打包浮点平方根
6.4.2打包浮点数组的小值和优选值
6.4.3打包浮点小二乘法
6.5打包浮点矩阵
6.5.1矩阵转置
6.5.2矩阵乘法
6.6本章小结
第7章 AVX程序设计:打包整数
7.1打包整数加法和减法运算
7.2打包整数移位
7.3打包整数乘法
7.4打包整数图像处理
7.4.1像素的小值和优选值
7.4.2像素平均强度
7.4.3像素转换
7.4.4图像直方图
7.4.5图像阈值化
7.5本章小结
第8章 AVX2
8.1AVX2执行环境
8.2AVX2打包浮点数
8.3AVX2打包整数
8.4x86指令集扩展
8.4.1半精度浮点数
8.4.2乘法加法融合
8.4.3通用寄存器指令集扩展
8.5本章小结
第9章 AVX2程序设计:打包浮点数
9.1打包浮点算术运算
9.2打包浮点数组
9.2.1简单计算
9.2.2列均值
9.2.3相关系数
9.3矩阵乘法和转置
9.4矩阵求逆
9.5混合和排列指令
9.6数据收集指令
9.7本章小结
第10章 AVX2程序设计:打包整数
10.1打包整数基础
10.1.1基本算术运算
10.1.2打包和解包
10.1.3大小提升
10.2打包整数图像处理
10.2.1像素剪裁
10.2.2RGB像素的小值和优选值
10.2.3RGB图像到灰度图像的转换
10.3本章小结
第11章 AVX2程序设计:扩展指令集
11.1FMA程序设计
11.1.1卷积
11.1.2标量FMA
11.1.3打包FMA
11.2通用寄存器指令
11.2.1不影响标志位的乘法和移位
11.2.2增强型位操作
11.3半精度浮点转换
11.4本章小结
第12章 AVX-512
12.1AVX-512概述
12.2AVX-512执行环境
12.2.1寄存器集
12.2.2数据类型
12.2.3指令语法
12.3指令集概述
12.3.1AVX512F
12.3.2AVX512CD
12.3.3AVX512BW
12.3.4AVX512DQ
12.3.5操作掩码寄存器
12.4本章小结
第13章 AVX-512程序设计:浮点数
13.1标量浮点数
13.1.1合并屏蔽
13.1.2零屏蔽
13.1.3指令级舍入
13.2打包浮点数
13.2.1打包浮点数算术运算
13.2.2打包浮点值比较
13.2.3打包浮点列均值
13.2.4向量叉积
13.2.5矩阵向量乘法
13.2.6卷积
13.3本章小结
第14章 AVX-512程序设计:打包整数
14.1基本算术运算
14.2图像处理
14.2.1像素转换
14.2.2图像阈值
14.2.3图像统计
14.2.4RGB到灰度的转换
14.3本章小结
第15章 优化策略和技术
15.1处理器微体系结构
15.1.1处理器体系结构概述
15.1.2微体系结构流水线功能
15.1.3执行引擎
15.2优化汇编语言代码
15.2.1基本技术
15.2.2浮点算术运算
15.2.3程序分支
15.2.4数据对齐
15.2.5SIMD励技术
15.3本章小结
第16章 高级程序设计
16.1CPUID指令
16.2非时态内存存储
16.3数据预获取
16.4多线程
16.5本章小结
答疑