《PC平台新技术MMX 开发编程指南》PDF下载

  • 购买积分:8 如何计算积分?
  • 作  者:吴乐南主编
  • 出 版 社:南京:东南大学出版社
  • 出版年份:1997
  • ISBN:7810502522
  • 页数:136 页
图书介绍:

1 概述 1

1.1 什么是MMX 1

1.2 MMX的由来 2

1.3 MMX的基本特点 2

1.3.1 引入新的数据类型 2

1.3.2 彩SIMD 技术 3

1.3.3 新曾64位寄存器 3

1.3.4 保持兼容性 3

1.3.5 配置高效指令,增强应用性能 4

1.3.6 降低处理器开销 4

1.4 本书内容的组织 5

2 处理器的结构和流水线的基本概念 6

2.1 超标量和动态捃行结构的流水线 6

2.1.1 超标量(奔腾系列)流水线 6

2.1.2 动态执行(高能奔腾系列)流水线 8

2.2 高速缓冲存储器 11

2.3 分支目标缓存器 12

2.4 写缓存器 13

3 IA MMX 扩展指令集 14

3.1 扩展指令集概述 14

3.1.1 紧缩数据 14

3.1.2 饱和运算与环绕处理方式 14

3.1.3 指令分类 15

3.1.4 操作数规定 17

3.2 指令句法 17

3.4.1 指令助记符及概要描述表 18

3.3 指令格式 18

3.4 如何阅读本章指令 18

3.4.2 指令操作 19

3.4.3 指令描述 20

3.5 指令集 20

3.5.1 EMMS(清除MMX状态) 20

3.5.2 MOVD(32位数据传送) 23

3.5.3 MOVQ(64位数据传送) 24

5.3.4 PACKSSWB/PACKSSDW(有符号字饱和紧缩成字节/双字饱和紧缩成字) 26

3.5.5 PACKUSWB(无符号字饱和紧缩成字节) 28

3.5.6 PADDB/PADDSW(有符号紧缩字节/字/双字的带环绕加) 30

3.5.7 PADDSB/PADDSW(有符号紧缩字节/字的带饱和加) 32

3.5.8 PADDUSB/PADDUSW(无符号紧缩字节/字的带饱和加) 34

3.5.9 PAND(按位与) 35

3.5.10 PCMPEQB/PCMPEQW/PCMPEQD(紧缩字节/字/双字的相等比较) 38

3.5.11 PCMPGTB/PCMPGTW/PCMPGTD(紧缩字节/字/双字的大于比较) 40

3.5.12 PMADDWD(紧缩定乘法累加) 42

3.5.13 PMULHW(紧缩字相乘取高位) 44

3.5.14 PMULLW( 紧缩字相乘取低位) 45

3.5.15 POR (按位或) 47

3.5.16 PSLLW.PSLLD/PSLLQ(紧缩字/双字/4字的逻辑左移) 49

3.5.17 PSRAW/PSRAD(紧缩字/双字的算术右移) 51

3.5.18 PSRLW/PSRLD/PSRLQ(紧缩字/双字/4字的逻辑右移) 53

3.5.19 PSUBB/PSUBW/PSUBD(紧缩字节/字/双字的带五绕减) 56

3.5.20 PSUBSB/PSUBSW(紧缩字节/字的有符号带饱和减) 58

3.5.21 PSUBSB/PUSBUSW(紧缩字节/字的无符号带饱和减) 60

3.5.22 PUNPCKHBW/PUNPCKHWD/PUNPCHKHDQ(紧缩字节/字/双字折高位拆封) 62

3.5.23 PUNPCKLBW/PUNPCKLWD/PUNPCKLDQ(紧缩字节/字/双字的低拉拆封 ) 65

3.5.24 PXOR(按位异或) 66

4 应用编程模型 66

4.1 数据格式 66

4.1.1 数据存储格式 66

4.3 使用 IA MMX 代码编写应用程序 67

4.2 前缀 67

4.1.3 IA MMX 指令和浮点标志字 67

4.1.2 IA MMX 寄存器数据格式 67

4.3.1 检测IA MMX技术是否存在 68

4.3.2 EMMS指令 68

4.3.3 IA MMX技术过程接口和函数接口 69

4.3.4 使用IA MMX 和FP 指令编写代码 70

4.3.5 多任务操作系统环境 70

4.3.6 IA MMX 应用程序代码中的异常处理 70

5.1 现场切换 71

5.1.1 协同多任务操作系统 71

5 系统编程要点 71

4.3.7 寄存器映射 71

5.1.2 抢先多任务操作系统 72

5.2 异常 73

5.3 与现有软件环境的兼容性 73

5.3.1 寄存器别名 74

5.3.6 指令集的仿真 76

5.3.5 调试功能 76

5.3.4 FP异常 76

5.3.3 现场切换支持 76

5.3.2 FP和MMX指令对FP标志字的影响 76

5.3.7 操作系统中的异常处理 77

6 MMX 代码开发准则 77

6.1 规则和建议 77

6.1.1 规则 77

6.1.2 建议 78

6.2 一般优化问题 78

6.2.1 寻址方式 80

6.2.2 对齐 81

6.2.3 带前缀的操作码 81

6.2.4 高能奔腾系列处理器的部分寄存器延时 83

6.2.5 分支预算信息 84

6.3 调度 85

6.3.1 一般配对规则 85

6.3.2 整数配对规则 88

6.4 指令选择 89

6.3.3 MMX指令配对规则 89

6.4.1 使用存储器访问指令 90

6.4.2 指令长度 91

6.5 高速缓冲存储器的优化 91

6.5.1 行填充存储器行的数据对齐 91

6.5.3 写分配的作用 91

6.6 存储器的优化 93

6.6.1 部分存储器访问 93

6.6.2 增加存储器填充和视频填充的带宽 95

7.2 哪部分代码将从MMX 技术中获益 97

7.1 制订计划 97

7 MMX 代码开发策略 97

7.3 是整数型代码还是浮点型代码 98

7.4 EMMS准则 98

7.5 测试MMX 技术是否存在的CPUID用法 99

7.6 数据对齐 99

7.7 堆栈对齐 99

7.8 数据组织 100

7.9 调试最终应用 101

8.1.1 无符号数拆封 102

8.1.2 有符号数拆封 102

8 MMX 编码技术 102

8.1 数据拆封 102

8.2 数据紧缩 103

8.2.1 带饱和的交叉紧缩 103

8.2.2 不带饱和的交叉紧缩 104

8.3 非交叉拆封 104

8.4 复数与常数相第乘 105

8.5.2 有符号数的绝对差 106

8.5.1 无符号数据的绝对差 106

8.5 数的绝对差 106

8.6 绝对值 107

8.7 数据的截取 107

8.7.1 对任意符号数范围截取符号数 107

8.7.2 对任意无符号数范围截取无符号数 108

8.8 生成常量 109

9.1 奔腾系列性能监控事件 110

9.1.1 性能监控事件 110

9 MMX 性能监控 110

9.1.2 MMX 指令事件的描述 113

9.2 高能奔腾系列性能监控事件 115

9.3 RDPMC 指令 120

附录A IA MMX 指令集一览表 122

附录B IA MMX 指令格式和编码 123

附录C IA MMX 指令集助记符一览表 128

附录D IA MMX 指令操作码图 131

附录E IA MMX 技术开发工具一览表 135

参考文献 136