当前位置:首页 > 工业技术
Intel体系结构MMX技术开发指南
Intel体系结构MMX技术开发指南

Intel体系结构MMX技术开发指南PDF电子书下载

工业技术

  • 电子书积分:9 积分如何计算积分?
  • 作 者:(美国英特尔公司)Intel著;李晖译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:1997
  • ISBN:7505341839
  • 页数:177 页
图书介绍:
《Intel体系结构MMX技术开发指南》目录

第一篇 程序员参考手册 2

第一章 Intel体系结构MMXTM技术简介 2

1.1 关于INTEL体系结构M MXTM技术 2

1.1.1 单指令多数据(SIMD)技术 2

目录 2

1.1.2 性能提高 3

1.2 关于本手册 3

1.3 参考文献 4

2.1 新性能 5

2.2 新数据类型 5

第二章 Intel体系结构MMXTM技术性能 5

2.3 MMXTM寄存器 6

2.4 扩展的指令集 6

2.4.1 数据组 7

2.4.2 饱和处理和环绕式处理 7

2.4.3 指令集概览 8

2.4.3.1 算术运算指令 9

2.4.3.2 比较指令 10

2.4.3.3 转换指令 10

2.4.3.4 逻辑指令 10

2.4.3.5 移位指令 10

2.5 兼容性 11

2.4.4 指令操作数 11

2.4.3.6 转移指令 11

2.4.3.7 EMMS(清MMXTM状态)指令 11

第三章 应用程序编程模型 13

3.1 数据格式 13

3.1.1 内存数据格式 13

3.1.2 IA MMXTM寄存器数据格式 13

3.1.3 IA MMXTM指令和浮点标志字 14

3.2 前缀(PREFIXES) 14

3.3 使用IA MMXTM代码编写应用程序 15

3.3.1 使用CPUID指令测CPU是否具有IA MMXTM技术 15

3.3.2 EMMS指令 16

3.3.3 与IA MMXTM技术的过程和函数之间的接口 17

3.3.4 使用IA MMXTM指令和浮点指令编写代码 17

3.3.4.1 建议和指导 17

3.3.5 多任务操作系统环境 18

3.3.5.1 并发多任务操作系统 19

3.3.5.2 占先式多任务操作系统 19

3.3.6 在IA MMXTM应用代码中的异常情况处理 19

3.3.7 寄存器映射 19

4.1.2 占先式多任务操作系统 20

4.1.1 并发多任务操作系统 20

4.1 现场切换 20

第四章 系统编程模型 20

4.2 异常错误 22

4.3 与现有软件环境的兼容性 23

4.3.1 寄存器别名 23

4.3.2 浮点指令和MMXTM指令对浮点标志字的影响 25

4.3.2.1 别名概述 26

4.3.3 现场切换的支持 26

4.3.7 操作系统的异常处理 27

4.3.6 指令集仿真 27

4.3.5 调试 27

4.3.4 浮点异常错误 27

第五章 Intel体系结构的MMXTM指令集 28

5.1 指令语法 28

5.2 指令格式 29

5.3 符号规则 29

5.4 如何阅读指令集说明书 30

EMMS——MMXTM状态置空 33

MOVD——转移32位数据 34

MOVQ——转移64位数据 36

PACKSSWB/PACKSSDW——有符号饱和方式数据成组 38

PACKUSWB——无符号饱和方式数据成组 40

PADDB/PADDW/PADDD——成组数据相加 41

PADDSB/PADDSW——饱和方式成组数据相加 43

PADDUSB/PADDUSW——饱和方式无符号成组 46

数据相加 46

PAND——逐位逻辑与 48

PANDN——逐位逻辑与非 50

PCMPEQB/PCMPEQW/PCMPEQD——成组数据的 51

相等比较 51

PCMPGTB/PCMPGTW/PCMPGTD——成组数据的 54

大于比较 54

PMADDWD——成组数据的乘加 56

PMULHW——成组数据的乘后取高位 58

PMULLW——成组数据的乘后取低位 59

POR——逐位逻辑或 60

PSLLW/PSLLD/PSLLQ——成组数据的逻辑左移 62

PSRAW/PSRAD——成组数据的算术右移 64

PSRLW/PSRLD/PSRLQ——成组数据的逻辑右移 67

PSUBB/PSUBW/PSUBD——成组数据的减法 69

PSUBSB/PSUBSW——饱和方式成组数据相减 72

PSUBUSB/PSUBUSW——饱和方式无符号成组数据相加 74

PUNPCKHBW/PUNPCKHWD/PUNPCKHDQ—— 77

高位成组数据分解 77

PUNPCKLBW/PUNPCKLWD/PUNPCKLDQ—— 80

低位成组数据分解 80

PXOR——逐位逻辑异或 82

附录A IA MMXTM指令集一览表 84

附录B IA MMXTM指令格式及编码 86

附录C 按字母列表的IA MMXTM指令集助记符 94

附录D IA MMXTM指令集操作码映射 97

第二篇 开发手册 102

第一章 《Intel体系结构MMXTM技术开发者手册》简介 102

1.1 关于本手册 104

1.2 参考文献 105

(P6系列)体系结构 106

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

2.1 超标量(奔腾系列)的流水线和动态执行 106

第二章 处理器体系结构和流水线简介 106

2.1.2 动态执行(P6系列)流水线 109

2.2 高速缓存Cache 113

2.3 分支目标缓存 113

2.3.1 相连分支 114

2.4 写缓存 115

第三章 MMXTM代码开发规则 116

3.1 规则列表及建议 116

3.1.1 规则 116

3.1.2 建议 117

3.2.1 寻址方式 118

3.2 常规的优化方案 118

3.2.2 对齐 120

3.2.2.1 代码 121

3.2.2.2 数据 121

3.2.3 有前缀的操作码 121

3.2.4 动态执行(P6系列)处理器中的部分寄存器阻塞 122

3.2.5.1 动态分支预测 124

3.2.5.2 在动态执行(P6系列)处理器上的静态预测 124

3.2.5 有关分支预测的信息 124

3.3 调度 126

3.3.1 通用配对规则 127

3.3.2 整数配对规则 127

3.3.2.1 配对指令集 128

3.3.2.2 由于寄存器相关而不能配对的指令 129

3.3.2.3 特定配对 130

3.3.2.4 配对执行的限制 130

3.3.3 MMXTM指令配对准则 131

3.3.3.1 两个MMXTM指令的配对 131

指令配对 132

3.3.3.3 U管道的MMXTM指令与V管道中的整数 132

3.3.3.4 调度规则 132

3.3.3.2 U管道的整数指令与V管道中的MMXTM 132

指令配对 132

3.4 指令选择 133

3.4.1 使用访问内存的指令 133

3.4.2 指令长度 134

3.5 高速缓存优化 135

3.5.1 线读入顺序(命令) 135

3.5.2 在高速缓存线中的数据对齐 136

3.5.3 写分配效果 136

3.5.3.1 优化方法1:布尔 137

3.5.3.2 优化方法2:写前检查 137

3.6.1 对部分内部访问 138

3.6 内存优化 138

3.6.2 增加内存填充和视频填充的带宽 141

3.6.2.1 内存填充 141

3.6.2.2 视频填充 142

第四章 MMXTM代码开发策略 143

4.1 制订计划 143

4.2 哪部分代码可使用MMXTM技术改进? 144

4.3 代码是浮点型还是整型? 144

4.3.1 混用浮点和MMXTM代码 145

4.4 EMMS准则 146

4.5 CPUID的检测MMXTM技术的用法 146

4.6.1 堆栈对齐 147

4.6 数据对齐 147

4.7 数据安排 148

4.8 应用程序最后的调节 149

第五章 MMXTM的编码技术 150

5.1 无符号分组 150

5.2 有符号分组 151

5.3 饱和模式下的交错成组 151

5.4 非饱和模式下的交错成组 153

5.5 非交错分组 153

5.6 含有一个常数的复数乘法 154

5.7 无符号数差值的绝对值 155

5.8 有符号数差值的绝对值 156

5.9 绝对值 157

5.10 有符号数截取到任意有符号区域[HIGH,LOW] 157

5.11 无符号数截取到任意无符号区域[HIGH,LOW] 159

5.12 常数生成 160

第六章 MMXTM性能监测扩展 161

6.1 超标量(奔腾系列)性能监测事件 164

6.1.1 MMXTM指令事件说明 164

6.2 动态执行(P6系列)性能监测事件 167

6.3 RDPMC指令 175

6.3.1 指令规程 175

附录A MMXTM指令集 177

相关图书
作者其它书籍
返回顶部