《奔腾TM系列用户手册 第3卷 Pentium 处理器结构与程序设计》求取 ⇩

1.1 怎样使用本手册1

第一章 概述1

1.1.1 第一部分——应用和数值程序设计2

1.1.2 第二部分——系统程序设计2

1.1.3 第三部分——兼容性3

1.1.4 第四部分——优化4

1.1.5 第五部分——指令集4

1.1.6 附录4

1.2 有关参考文献4

1.3 标记法的约定5

1.3.1 位和字节的次序5

1.3.2 未定义伍和软件兼容性6

1.3.3 指令操作数6

1.3.6 异常7

1.3.4 十六进制数7

1.3.5 分段编址7

第二章 Intel Pentium?处理器系列的简介9

第一部分 应用和数值程序设计11

第三章 基本的程序设计模型11

3.1 存贮器的组织11

3.1.1 不分段或“平坦”模型12

3.1.2 分段模型13

3.2 数据类型14

3.2 寄存器17

3.3.1 通用寄存器17

3.3.2 段寄存器18

3.3.3 堆栈的实现20

3.3.4 标志寄存器22

3.3.5 指令指针23

3.4 指令格式23

3.5 操作数的选择25

3.5.1 立即操作数25

3.5.2 寄存器操作数27

3.5.3 存贮器操作数27

3.6 中断和异常30

第四章 应用程序设计32

4.1 数据传送指令32

4.1.1 通用数据传送指令32

4.1.2 栈操作指令33

4.1.3 类型转换指令35

4.2 二进制算术指令36

4.2.1 加法指令和减法指令37

4.2.2 比较指令和改变符号指令38

4.2.3 乘法指令38

4.2.4 除法指令39

4.3 十进制算术指令40

4.3.1 紧缩BCD调整指令40

4.3.2 非紧缩BCD调整指令40

4.4 逻辑指令41

4.4.1 布尔运算指令41

4.4.2 位测试和修改指令41

4.4.3 位扫描指令42

4.4.4 移位和环移指令42

4.4.5 按条件字节设置指令50

4.5.1 无条件转移指令51

4.4.6 测试指令51

4.5 控制转移指令51

4.5.2 条件转移指令52

4.5.3 软件中断54

4.6 串操作55

4.6.1 重复前缀56

4.6.2 变址和方向标志控制56

4.6.3 串操作指令57

4.7 块结构语言用的指令57

4.8 标志控制指令61

4.8.1 进位和方向标志控制指令62

4.8.2 标志传送指令63

4.10 段寄存器指令65

4.9 数值指令65

4.10.1 段寄存器传送指令66

4.10.2 远控制转移指令66

4.10.3 数据指针指令66

4.11 杂项指令67

4.11.1 地址计算指令67

4.11.2 空操作指令68

4.11.3 转换指令68

4.11.4 字节交换指令68

4.11.5 交换并相加指令70

4.11.6 比较并交换指令70

4.11.7 CPUID指令70

5.3 CPU标识和FPU检测代码实例72

5.2 FPU检测72

5.1 CPU标识72

第五章 特征确定72

第六章 数值应用84

6.1 数值应用概述84

6.1.1 历史84

6.1.2 性能85

6.1.3 使用方便85

6.1.4 应用86

6.1.5 程序设计接口88

6.2 浮点部件的体系结构89

6.2.1 数值寄存器89

6.2.2 计算基础知识98

6.3.1 源操作数和目标操作数104

6.3 浮点指令集104

6.3.2 数值传送指令105

6.3.3 非超越函数指令105

6.3.4 比较指令107

6.3.5 超越函数108

6.3.6 常数指令109

6.3.7 控制指令110

6.4 数值应用111

6.4.1 高级语言111

第七章 专用计算环境124

7.1 专用数值125

7.1.1 非规格化实数129

7.1.2 零131

7.1.3 无穷数134

7.1.4 NaN(非数)136

7.1.6 数据类型的编码138

7.1.5 不定数138

7.1.7 数值异常139

7.1.8 处理数值异常139

7.1.9 无效操作141

7.1.13 不精确(精度)141

7.1.10 除零142

7.1.11 非规格化操作数143

7.1.12 数值上溢及下溢144

7.1.14 异常处理优先级147

7.1.15 标准下溢/上溢异常处理程序147

第八章 数值应用程序设计举例148

8.1 条件转移举例148

8.2 异常处理举例151

8.3 浮点数到ASCII的转换举例154

8.3.1 功能划分165

8.3.2 异常情况166

8.3.3 特殊指令166

8.3.4 操作说明166

8.3.5 换算数值167

8.3.6 输出格式168

第二部分 系统程序设计178

第九章 实地址方式系统体系结构178

9.1 地址变换178

9.2 寄存器和指令179

9.3 中断和异常处理179

9.4 实地址方式的异常180

10.1 系统寄存器182

第十章 保护方式系统体系结构概述182

10.1.2 系统标志183

10.1.2 存贮器管理寄存器184

10.1.3 控制寄存器185

10.1.4 调试寄存器189

10.2 系统指令189

第十一章 保护方式的存贮器管理192

11.1 选择分段模型193

11.1.1 平面模型193

11.1.2 带保护的平面模型194

11.1.3 多段模型195

11.2 段转换196

11.2.1 段寄存器198

11.2.2 段选择符199

11.1.3 段描述符200

11.2.4 段描述符表204

11.2.5 描述符表基地址寄存器204

11.3 页转换205

11.3.1 分页选择项206

11.3.2 线性地址206

11.3.3 页表207

11.3.4 页表项207

11.3.5 翻译后援缓冲器209

11.4 段和页转换的组合210

11.4.1 平面模型210

11.4.2 跨越若干页的段210

11.4.3 跨越若干段的页211

11.4.4 不对齐的页和段的边界211

11.4.6 每一段的页表212

11.4.5 对齐的段和页的边界212

第十二章 保护213

12.1 段级保护213

12.2 段描述符和保护214

12.1.1 类型检查215

12.2.2 段限检查216

12.2.3 特权级217

12.3 访问数据的限制218

12.3.1 访问代码段中的数据219

12.4 控制转移的限制220

12.5 门描述符221

12.5.1 堆栈切换224

12.5.2 从过程返回226

12.6.1 特权指令227

12.6 为操作系统保留的指令227

12.6.2 敏感指令228

12.7 指针有效性指令228

12.7.1 描述特有效性229

12.7.2 指针完整性和RPL230

12.8 页级保护230

12.8.1 保存保护参数的页表项231

12.8.2 两级页表的组合保护232

12.8.3 对页保护的超越232

12.9 页和段保护的组合233

第十三章 保护方式的多任务处理234

13.1 任务状态段234

13.2 TSS描述符235

13.3 任务寄存器237

13.4 任务门描述符238

13.5 任务切换239

13.6 任务链242

13.6.1 忙位防止发生循环243

13.6.2 修改任务的链接244

13.7 任务地址空间244

13.7.1 任务的线性空间到物理空间的的映像244

13.7.2 任务的逻辑地址空间245

第十四章 保护方式的异常和中断247

14.1 异常和中断向量247

14.2 指令重启动248

14.3 使能和禁止中断249

14.3.1 NMI屏蔽后继的NMI249

14.3.2 IF屏蔽INTR249

14.3.3 RF屏蔽调试故障250

14.3.4 对SS寄存器的MOV或POP操作屏蔽某些异常和中断251

14.4 同时发生多个异常和中断时的优先权251

14.5 中断描述符表252

14.6 IDT描述符253

14.7 中断任务和中断过程253

14.7.1 中断过程253

14.7.2 中断任务257

14.8 出错代码258

14.9 异常条件258

14.9.1 中断0——除法错误259

14.9.2 中断1——调试异常259

14.9.3 中断3——断点259

14.9.6 中断6——无效操作码260

14.9.7 中断7——设备不可用260

14.9.5 中断5——界限检查260

14.9.8 中断8——双重故障261

14.9.9 中断9——(Intel保留,不要用)262

14.9.10 中断10——无效TSS262

14.9.11 中断11——段不存在263

14.9.12 中断12——堆栈异常264

14.9.13 中断13——一般保护264

14.9.14 中断14——页故障265

14.9.15 中断16——浮点错267

14.9.16 中断17——对齐检查269

14.9.17 中断18——机器检查270

14.10 异常摘要270

14.11 出错代码汇总271

第十五章 输入/输出272

15.1 I/O寻址272

15.1.1 I/0地址空间272

15.1.2 存贮器映像的I/O273

15.2 I/0指令274

15.2.1 寄存器I/O指令274

15.2.2 块I/O指令275

15.3 保护方式I/O275

第三部分 兼容性276

15.3.2 I/O允许位映象276

第二十一章 混合16位和32位代码276

15.3.1 I/O特权级276

15.4 I/O的次序278

15.3.3 分页和高速缓存278

第十六章 初始化和方式转换280

16.1 处理器初始化280

16.1.1 复位后的处理器状态280

16.2 FPU初始化283

16.1.2 执行的首条指令283

16.2.1 配置数值计算环境284

16.2.2 FPU软件仿真286

16.3 高速缓存使能286

16.4 实地址方式下的软件初始化287

16.4.1 系统表287

16.4.2 NMI中断288

16.5 保护方式下的系统初始化288

16.5.1 系统表288

16.5.2 中断288

16.5.3 分页288

16.5.4 任务289

16.6 方式转换290

16.5.5 TLB、BTB和高速缓存测试290

16.6.2 转回实地址方式290

16.6.1 转换到保护方式290

16.7 初始化和方式转换实例291

16.7.1 本实例的目标291

16.7.2 复位后的存贮器布局291

16.7.3 算法292

14.9.4 中断4——溢出293

16.7.4 工具的使用294

16.7.5 STARTUPASM清单295

16.7.6 MAMASM源代码302

16.7.7 支持文件305

第十七章 调试307

17.1 调试支持307

17.2 调试寄存器308

17.2.1 调试地址寄存器(DR0—DR3)309

17.2.2 调试控制寄存器(DR7)309

17.2.4 调试寄存器DR4和DR5310

17.2.3 调试状态寄存器(DR6)310

17.2.5 断点字段识别310

17.3 调试异常311

17.3.1 中断1——调试异常312

17.3.2 中断3——断点指令314

第十八章 高速缓存、流水线和缓冲315

18.1 内部指令和数据高速缓存315

18.1.1 数据高速缓存316

18.1.2 数据高速缓存更新策略316

18.1.3 指令高速缓存317

18.2 内部高速缓存的操作317

18.2.1 高速缓存控制位317

18.2.2 高速缓存管理指令318

18.2.3 自修改的代码319

18.3 页面级高速缓存管理319

18.3.2 PWT位320

18.4 地址转换高速缓存320

18.5 高速缓存替换算法320

18.3.1 PCD位320

18.6 执行流水线和配对321

18.7 写缓冲器321

18.8 串行化指令321

第十九章 多处理323

19.1 锁定的总线周期323

19.1.1 LOCK前缀和LOCKˉ#信号324

19.1.2 自动锁定324

19.2 存贮器访问排序325

19.3 Pentium处理器(735\90、815\100)的集成的AHC325

19.3.1 中断控制机制327

19.3.2 APIC总线和APIC间通信协议342

19.3.3 APIC中的出错处理347

19.3.4 定时器350

19.3.5 APIC有效/无效编程组合352

19.3.6 软件可见的APIC和82489DX间的差异353

19.3.7 双处理自举交换信号协议序列及实例354

第二十章 电源管理358

20.1 Pentium处理器(510\60、567\66)358

20.1.1 系统管理方式体系结构简介358

20.1.2 术语358

20.1.3 Pentium处理器系统中断的处理359

20.1.4 系统管理方式编程模型363

20.1.5 SMM特性366

20.1.6 Pentium处理器的SMM软件366

20.1.1 系统管理方式体系结构370

20.2.2 Pentium处理器(735\90、815\100)的电源管理与Pentium处理器(510\60、567\66)的差异370

20.2 Pentium处理器(735\90、815\100)的电源管理370

20.2.3 通过ADIC的系统管理中断371

20.2.4 I/0指令重启动371

20.2.5 系统管理方式版本标识符374

20.2.6 SMM一双处理的考虑375

21.1 使用16位和32位环境377

21.2 混合16位和32位操作377

21.4 在混合尺寸的代码段之间转移控制378

21.3 在混合尺寸的代码段之间共享数据378

21.4.1 代码段指针的尺寸379

21.4.2 用于控制转移的栈管理381

21.4 3 中断控制的转移381

21.4.4 参数转换381

21.4.5 接口过程381

第二十二章 虚拟8086方式383

22.1 执行8086 CPU代码383

22.1.1 寄存器和指令383

22.1.2 地址转换384

22.2 虚拟8086任务的结构385

22.3 进入和离开虚拟8086方式386

22.2.2 虚拟8086任务内的保护386

22.2.2 虚拟8086任务的分页386

22.3.1 通过任务切换转移388

22.3.2 通过自陷门和中断门转贮388

22.4 敏感指令390

22.5 虚拟中断支持390

22.6 仿真8086操作系统调用390

22.7 虚拟I/O391

22.7.1 I/0映射的I/0391

22.7.2 存贮器映射的I/0392

22.7.3 特殊I/O缓冲器392

22.8 和8086 CPU的区别392

22.9 和Intel286 CPU的区别395

22.9.1 特权级395

22.10 和Intel386及Intel486 CPU的区别396

22.9.2 总线锁定396

第二十三章 兼容性397

23.1 保留位397

23.2 整数部件397

23.2.1 新功能和方式398

23.2.2 串行化指令398

23.2.3 检测新功能的存在398

23.2.4 未定义操作码399

23.2.5 时钟周期数399

23.2.6 初始化和复位399

23.2.7 新指令403

23.2.8 过时指令404

23.2.9 标志404

23.2.10 控制寄存器405

23.2.11 调试寄存器408

23.2.12 测试寄存器409

23.2.13 型号特定寄存器409

23.2.14 异常409

23.2.15 描述符的类型和内容411

23.2.16 段描述符装入方面的改变412

23.2.17 任务切换和任务状态段412

23.2.18 分页414

23.2.19 栈操作415

23.2.20 混合16位和32位段417

23.2.21 段和地址环绕417

23.2.22 写缓冲器和存贮器排序418

23.2.23 总线锁定419

23.2.24 总线保持419

23.2.25 远行Intel286 CPU任务的两种途径419

23.3.1 控制寄存器位420

23.3 浮点部件420

23.3.2 数据类型422

23.3.3 异常423

23.3.4 指令427

23.3.5 超越函数指令429

23.3.6 过时的指令429

第四部分 优化431

第二十四章 优化431

24.1 寻址方式和寄存器用法431

24.2 对齐433

24.2.1 代码对齐433

24.2.2 数据对齐433

24.3 前缀操作码433

24.5 整数指令选择434

24.4 操作数和寄存器用法434

第五部分 指令集437

第二十五章 指令集437

25.1 操作数尺寸和地址尺寸属性437

25.1.1 缺省段属性437

25.1.2 操作数尺寸和地址尺寸指令前缀438

25.1.3 堆栈的地址尺寸属性438

25.2 指令格式438

25.2.1 modR/M和SIB字节440

25.2.2 如何阅读指令集444

附录A 操作码映象674

A.1 缩写符号的说明674

A.2 表示寻址方法的代码674

A.4 寄存器编码675

A.3 操作数类型的代码675

A.5 操作码查找的例子676

A 5.1 一字节的操作码整数指令676

A 5.2 两字节的操作码整数指令676

A 5.3 转义操作码677

附录B 标志速查表688

B.1 代码的符号说明688

附录c 状态标志摘要692

C.1 状态标志功能692

C.2 代码的符号说明692

附录D 条件代码694

D.1 条件的定义694

附录E 数值异常摘要696

F.1 整数指令格式和时序698

附录F 指令格式和时序698

F.2 I/0指令格式和时序718

F.3 浮点指令格式和时序719

F.3.1 格式719

F.3.2 时钟数720

F.3.3 注释720

F.3.4 配对720

附录G 关于超越函数的报告725

G.1 概述725

G.2 准确度、单调性和速度的摘要726

G.2.1 准确度726

G.2.2 单调性726

G.2.3 速度727

G.3 验证摘要727

G.4 散布图728

附录H 高级特性741

1996《奔腾TM系列用户手册 第3卷 Pentium 处理器结构与程序设计》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由张纪罗,张知奋等译 1996 上海科学普及出版社;电子工业出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

80X86、奔腾机汇编语言程序设计(1998 PDF版)
80X86、奔腾机汇编语言程序设计
1998 PRENTICE HALL出版公司;电子工业出版社
1860TM64位微处理器程序设计手册( PDF版)
1860TM64位微处理器程序设计手册
航空航天部六三一研究所
变压器结构设计手册  计算程序部份(1970 PDF版)
变压器结构设计手册 计算程序部份
1970
奔腾TM系列用户手册  第3卷  结构与程序设计手册( PDF版)
奔腾TM系列用户手册 第3卷 结构与程序设计手册
上海科学普及出版社
奔腾TM系列用户手册  第2卷  82496/82497超高速缓存控制器与82491/82492超高速缓存SRAM数据手册( PDF版)
奔腾TM系列用户手册 第2卷 82496/82497超高速缓存控制器与82491/82492超高速缓存SRAM数据手册
上海科学普及出版社
奔腾TM系列用户手册  第1卷  数据手册( PDF版)
奔腾TM系列用户手册 第1卷 数据手册
上海科学普及出版社
奔腾TM系列用户手册=82496/82497超高速缓存控制器与82491/82492超高速缓存SRAM数据手册  第2卷  英文版(1994 PDF版)
奔腾TM系列用户手册=82496/82497超高速缓存控制器与82491/82492超高速缓存SRAM数据手册 第2卷 英文版
1994 上海:上海科学普及出版社
结构与程序设计  第3卷  英文版=奔腾TM系列用户手册(1994 PDF版)
结构与程序设计 第3卷 英文版=奔腾TM系列用户手册
1994 上海:上海科学普及出版社
BASIC结构程序设计(1985 PDF版)
BASIC结构程序设计
1985 北京:北京师范大学出版社
奔腾系列用户手册 第1卷 Pentium处理器数据手册(1996 PDF版)
奔腾系列用户手册 第1卷 Pentium处理器数据手册
1996 上海科学普及出版社;电子工业出版社
结构计算与程序设计(1977 PDF版)
结构计算与程序设计
1977 北京:中国建筑工业出版社
PASCAL结构程序设计(1989 PDF版)
PASCAL结构程序设计
1989 重庆:重庆大学出版社
计算机系统结构 奔腾PC(1999 PDF版)
计算机系统结构 奔腾PC
1999 北京:科学出版社
奔腾586PC系统结构与操作指南(1995 PDF版)
奔腾586PC系统结构与操作指南
1995 北京:北京大学出版社
微处理机的结构与程序设计(1981 PDF版)
微处理机的结构与程序设计
1981 北京:中国铁道出版社