教學優勢
曙海教育的課程培養了大批受企業歡迎的工程師。大批企業和曙海
建立了良好的合作關系。曙海教育的課程在業內有著響亮的知名度。
本課程,秉承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本章小結
答疑