《80X86/Pentium 处理器——硬件、软件及接口技术教程》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:(美)Walter A. Triebel
  • 出 版 社:清华大学出版社
  • 出版年份:1998
  • ISBN:
  • 页数:721 页
图书介绍:

第1章 微处理器和微型计算机概论 1

1.1 概述 1

1.2 IBM和IBM兼容个人计算机:可重编程微型计算机 1

1.3 微型计算机系统的一般结构 4

1.4 Intel公司的微处理结构的发展 6

1.4.1 微处理器性能:MIPS和iCOMP 8

1.4.2 晶体管的密度 8

1.4.3 可重编程微处理器和嵌入式微处理器 9

习题 12

第2章 80386DX微处理器的实地址模式软件结构 14

2.1 概述 14

2.2 80386DX微处理器的内部结构 14

2.3 80386DX微处理器的实模式软件模型 17

2.4 实模式下存储器地址空间和数据组织 17

2.5 数据类型 21

2.6 段寄存器和存储器分段 24

2.7 指令指针 24

2.8 通用数据寄存器 26

2.9 指针和变址寄存器 27

2.10 标志寄存器 28

2.11 实模式存储器地址的产生 30

2.12 堆栈 32

2.13 实模式输入/输出地址空间 35

习题 36

第3章 汇编语言编程 40

3.1 概述 40

3.2 软件:微型计算机的程序 40

3.3 IBM可兼容PC/AT汇编语言程序开发 44

3.3.1 描述问题 44

3.3.2 计划解决 45

3.3.3 用汇编语言编程 46

3.3.4 建立源程序 46

3.3.5 把源程序汇编成目标模块 46

3.3.6 产生运行模块 47

3.3.7 解的验证 48

3.3.8 程序开发周期中有关程序和文件 48

3.4 80386DX微处理器的指令集 49

3.5 80386DX微处理器的寻址方式 50

3.5.1 寄存器操作数寻址方式 50

3.5.2 立即操作数寻址方式 52

3.5.3 16位存储器操作数寻址方式 52

3.5.4 32位存储器操作数寻址方式 62

习题 64

第4章 PC/AT兼容微型计算机的机器语言编码和DEBUG(调试)软件开发程序 67

4.1 概述 67

4.2 汇编语言指令变换为机器代码 67

4.3 一个完整的程序编码成为机器代码 77

4.4 PC/AT和它的DEBUG(调试)程序 80

4.5 检查并修改存储器内容 85

4.5.1 转储(DUMP)命令 85

4.5.2 输入(ENTER)命令 88

4.5.3 填充(FILL)命令 90

4.5.4 移动(MOVE)命令 91

4.5.5 比较(COMPARE)命令 91

4.5.6 搜索(SEARCH)命令 92

4.6 数据的输入与输出 93

4.7 十六进制加法和减法 93

4.8 机器语言程序的装入、验证和保存 94

4.9 用汇编(ASSEMBLE)命令汇编指令 99

4.10 用跟踪(TRACE)和动行(GO)命令执行指令和程序 101

4.11 调试一个程序 105

习题 109

第5章 实模式80386DX微处理器编程(Ⅰ) 111

5.1 概述 111

5.2 数据传送指令 111

5.2.1 移动(MOV)指令 111

5.2.2 带符号扩展和带零扩展的移动指令:MOVSX和MOVZX 116

5.2.3 XCHG指令 116

5.2.4 XLAT和XLATB指令 120

5.2.5 存入有效地址和存入全部指针的指令 120

5.3 算术指令 125

5.3.1 加法指令:ADD,ADC,INC,AAA和DAA 125

5.3.2 减法指令:SUB,SBB,DEC,AAS,DAS和NEG 133

5.3.3 乘法和除法指令:MUL,DIV,IMUL,IDIV,AAM,AAD,CBW,CWDE,CWD和CDQ 138

5.4 逻辑指令 144

5.5 移位指令 147

5.6 循环移位指令 151

5.7 位测试和位扫描指令 154

习题 156

第6章 实模式80386DX微处理器编程(Ⅱ) 162

6.1 概述 162

6.2 标志控制指令 162

6.3 比较和置位指令 166

6.3.1 按条件设置字节值:SETee 169

6.4 转移指令 170

6.4.1 无条件和条件转移 171

6.4.2 分支程序结构:IF-THEN 176

6.4.3 循环程序结构:REPEAT-UNTIL和WHILE-DO 178

6.4.4 使用循环和分支软件结构应用程序 178

6.5 子程序和子程序处理指令 184

6.5.1 CALL和RET指令 184

6.5.2 入栈和出栈操作 188

6.5.3 堆栈帧指令:ENTER和LEAVE 195

6.6 循环和循环处理指令 198

6.7 串和串操作指令 205

6.7.1 移串:MOVSB,MOVSW 205

6.7.2 比较串和扫描串:CMPSB/CMPSW/CMPSD和SCASB/SCASW/SCASD 206

6.7.3 装入和保存串:LODSB/LODSW/LODSD和STOSB/STOSW/STOSD 206

6.7.4 重复串:REP 207

6.7.5 串指令的自动变址 208

习题 210

第7章 利用微软的MASM汇编程序进行汇编语言程序设计 216

7.1 概述 216

7.2 源程序的语法 216

7.2.1 汇编语言语句的语法 216

7.2.2 伪操作语句的语法 218

7.2.3 语句中的常数 218

7.2.4 使用算术、关系和逻辑运算符的操作数表达式 220

7.2.5 返回值和属性运算符 222

7.3 伪操作 223

7.3.1 伪操作 223

7.3.2 数据伪操作 223

7.3.3 段控制伪操作 225

7.3.4 模块化编程伪操作 227

7.3.5 存储器使用控制的伪操作 228

7.3.6 程序末尾伪操作 228

7.3.7 程序列表控制的伪操作 229

7.3.8 一个使用伪操作的源程序例子 229

7.4 利用编辑器创建源文件 231

7.4.1 使用EDLIN行编辑器 231

7.4.2 使用EDIT屏幕编辑器 234

7.5 用MASM汇编源程序 236

7.5.1 初始化汇编过程 236

7.5.2 汇编文件中的语法错误 240

7.5.3 目标模块 242

7.5.4 源清单 242

7.5.5 交叉引用表 243

7.6 利用链接程序创建可运行模块 243

7.6.1 模块化编程 243

7.6.2 初始化链接程序 244

7.7 装入和执行可运行模块 245

习题 248

第8章 80386DX保护模式的软件体系结构 251

8.1 概述 251

8.2 保护模式的寄存器模型 251

8.2.1 全局描述符表寄存器 251

8.2.2 中断描述符表寄存器 254

8.2.3 局部描述符表寄存器 255

8.2.4 控制寄存器 255

8.2.5 任务寄存器 257

8.2.6 改变功能的寄存器 258

8.3 保护模式的存储器管理和地址转换 259

8.3.1 虚拟地址和虚拟地址空间 260

8.3.2 虚拟地址空间的分段 261

8.3.3 物理地址空间和虚实地址转换 261

8.3.4 段式地址转换 262

8.3.5 虚拟地址空间的分页和虚实地址转换 265

8.4 描述符和页表项 266

8.5 保护模式的系统控制指令集 272

8.6 多任务和保护 274

8.6.1 保护和保护模式 275

8.6.2 在保护模式下访问代码和数据 278

8.6.3 任务切换和任务状态段表 281

8.7 虚拟8086模式 284

习题 285

第9章 80386DX微处理器、存储器和输入/输出接口 289

9.1 概述 289

9.2 80386DX微处理器 289

9.3 80386DX的接口 292

9.3.1 存储器/IO接口 292

9.3.2 中断接口 296

9.3.3 DMA接口 297

9.3.4 协处理器接口 297

9.4 系统时钟 298

9.5 总线状态及流水线和非流水线总线周期 298

9.5.1 非流水线和流水线总线周期 298

9.6 读和写总线周期时序 301

9.6.1 非流水线读周期时序 301

9.6.2 非流水线写周期时序 303

9.6.3 非流水线存储器总线周期中的等待状态 303

9.6.4 流水线读/写周期时序 305

9.7 存储器地址空间的硬件组织 306

9.8 存储器接口电路 310

9.8.1 地址的锁存和缓冲 312

9.8.2 数据总线收发器 314

9.8.3 地址译码器 316

9.9 输入/输出类型 321

9.9.1 独立I/O 321

9.9.2 存储器映像I/O 322

9.10 独立的I/O接口 323

9.11 输入和输出总线周期时序 328

9.12 输入/输出指令 330

习题 335

第10章 存储器设备、电路及子系统设计 339

10.1 概述 339

10.2 程序和数据存储器 339

10.3 只读存储器 340

10.3.1 ROM,PROM和EPROM 341

10.3.2 只读存储器方框图 341

10.3.3 读操作 343

10.3.4 标准的EPROM集成电路 343

10.3.5 扩充EPROM的字长和字容量 348

10.4 随机访问读/写存储器 349

10.4.1 静态和动态RAM 349

10.4.2 静态RAM的方框图 351

10.4.3 标准的静态RAM集成电路 352

10.4.4 SRAM的读和写周期操作 355

10.4.5 标准的动态RAM集成电路 356

10.4.6 RAM子系统的备份电源 358

10.5 奇偶校验、奇偶校验位及奇偶检查器/产生器电路 359

10.6 快擦写存储器 362

10.6.1 快擦写存储器方框图 364

10.6.2 快擦写存储器的阵列结构 365

10.6.3 标准的整体擦除快擦写存储器 366

10.6.4 标准的自举块快擦写存储器 368

10.6.5 标准的FlashFile快擦写存储器 371

10.7 等待状态电路 373

10.8 80386DX/SX微型计算机系统存储器接口电路 374

10.9 高速缓冲存储器 379

10.10 82385DX高速缓存控制器和高速缓存子系统 385

10.10.1 具有基于82385DX高速缓存的80386DX微型计算机的体系结构 385

10.10.2 82385DX的信号接口 385

10.10.3 直接映像高速缓存的操作 390

10.10.4 两路组相联高速缓存的操作 394

10.10.5 高速缓存的一致性及总线监视 396

10.10.6 不可高速缓存的存储器地址空间 397

习题 397

第11章 输入/输出接口电路的LSI外围器件 401

11.1 概述 401

11.2 基本I/O接口及专用I/O接口 401

11.3 独立I/O的字节芝度输出端口 402

11.3.1 时延循环及输出端LED的闪烁控制 405

11.4 独立I/O的字节宽芳输入端口 407

11.4.1 轮询开关状态 409

11.5 输入/输出握手信号及并行打印机接口 409

11.6 82C55A可编程外围接口(PPI) 415

11.7 利用82C55A实现独立I/O的并行输入/输出端口 426

11.8 利用82C55A实现存储器映像I/O的并行输入/输出端口 429

11.9 82C54可编程间隔定时器 432

11.9.1 82C54的方框图 432

11.9.2 82C54的组成结构 433

11.9.3 82C54计数器的操作方式 438

11.10 82C37A可编程DMA控制器 444

11.10.1 82C37A的微处理器接口 444

11.10.2 82C37A的DMA接口 445

11.10.3 82C37A的内部结构 447

11.11 80386DX微型计算机系统I/O电路 455

11.12 串行通信接口 457

11.12.1 同步和异步数据通信 457

11.12.2 单工、半双工及全双工的通信链路 459

11.12.3 USART和UART 460

11.12.4 波特率及波特率产生器 462

11.12.5 RS-232C接口 462

11.13 可编程通信接口控制器 463

11.13.1 8251A USART 463

11.13.2 8250/16450 UART 472

11.14 键盘及显示器接口 475

11.15 8279可编程键盘/显示控制器 478

习题 486

第12章 80386DX微处理器的中断和异常处理 490

12.1 概述 490

12.2 中断和异常的类型 490

12.3 中断向量和中断描述符表 492

12.4 中断指令 495

12.5 中断允许和禁止 497

12.6 外部硬件中断接口 497

12.7 外部硬件中断序列 499

12.8 82C59A可编程中断控制器 504

12.8.1 82C59A的方框图 506

12.8.2 82C59A的内部体系结构 507

12.8.3 对82C59A进行编程 509

12.8.4 初始化命令字 510

12.8.5 操作命令字 513

12.9 使用82C59A的中断接口电路 516

12.10 软件中断 521

12.11 非屏蔽中断 522

12.12 复位 522

12.13 内部中断和异常处理 525

12.13.1 除法错误异常 525

12.13.2 调试异常 525

12.13.3 断点中断 527

12.13.4 溢出错误异常 527

12.13.5 边界检查异常 527

12.13.6 无效操作码异常 527

12.13.7 协处理器扩展不可用异常 527

12.13.8 中断表限长太小异常 527

12.13.9 协处理器段溢出异常 528

12.13.10 堆栈错误异常 529

12.13.11 段溢出异常 529

12.13.12 协处理器错误异常 529

12.13.13 保护模式内部中断和异常 529

习题 529

第13章 80386DX PC/AT微型计算机硬件系统 533

13.1 概述 533

13.2 传统IBM PC/AT主板的结构 533

13.3 高度集成的PC/AT兼容外围芯片 538

13.4 80386DX微型计算机核心 539

13.5 82345数据缓冲器 549

13.5.1 82345方框图 549

13.5.2 82345的输入、输出 550

13.5.3 在PC/AT微机中使用82345 553

13.6 82346系统控制器 555

13.6.1 82346芯片方框图 555

13.6.2 82346芯片的输入输出及其在PC/AT微机中的应用 557

13.7 82344ISA控制器 566

13.7.1 82344的方框图 566

13.7.2 82344芯片的输入输出信号及其用途 568

13.8 82341高集成度外围组合 579

13.8.1 82341芯片方框图 579

13.8.2 82341芯片的输入输出信号及在PC/AT微机系统中的连接 579

13.9 82077AA软盘控制器 584

13.9.1 82077AA方框图 584

13.9.2 82077AA的输入输出信号及其在PC/AT微机中的应用 586

习题 589

第14章 PC/AT总线接口、电路构造、测试和故障诊断 594

14.1 概述 594

14.2 PC/AT基于总线的接口 594

14.3 PCμLAB实验测试单元 595

14.4 PCμLAB的在板电路实验 600

14.4.1 I/O地址译码 602

14.4.2 开关输入电路 604

14.4.3 LED输出电路 606

14.4.4 扬声器驱动电路 608

14.5 电路建立、测试及故障诊断 609

14.5.1 建立电路 609

14.5.2 测试电路操作 612

14.5.3 排除微机接口电路故障 616

14.6 利用数字逻辑分析仪观察微机总线活动 622

习题 623

第15章 80486微处理器系列 628

15.1 概述 628

15.2 80486微处理器系列 628

15.3 80486的内部体系结构 629

15.4 80486SX的实模式软件模型及指令集 631

15.4.1 字节交换指令:BSWAP 631

15.4.2 交换加法指令:XADD 633

15.4.3 比较交换指令:CMPXCHG 634

15.5 80486SX的保护模式软件结构 635

15.5.1 软件模型 635

15.5.2 标志寄存器 635

15.5.3 控制寄存器 635

15.5.4 系统控制指令集 636

15.5.5 页面目录和页面表项 638

15.6 80486微处理器的硬件体系结构 638

15.7 80466SX MPU的信号接口 639

15.7.1 存储器I/O接口 639

15.7.2 高速缓存控制接口 641

15.7.3 总线仲裁接口 642

15.8 存储器与I/O的软件组织、硬件组织及接口电路 642

15.9 非突发式和突发式总线周期 649

15.9.1 非突发非缓存式总线周期 649

15.9.2 非突发缓存式总线周期 649

15.9.3 突发缓存式总线周期 650

15.10 80486SX的高速缓存 650

15.10.1 80486SX片内高速缓存的组织和操作 651

15.10.2 允许和禁用片内高速缓存 654

15.10.3 高速缓存的擦除操作 654

15.10.4 高速缓存“数据线”无效操作 654

15.11 高集成度存储器/输入/输出外围电路——R400EX 654

15.12 中断、复位及内部异常处理 657

15.12.1 外部硬件中断和非屏蔽中断 657

15.12.2 复位 657

15.12.3 软中断和内部异常处理 657

15.13 80486DX2与80486DX4微处理器 659

习题 662

第16章 奔腾(PentiumR)微处理器系列 666

16.1 概述 666

16.2 奔腾微处理器系列 666

16.3 奔腾处理器的内部结构 667

16.4 奔腾处理器的软件结构 668

16.4.1 实模式和保护模式寄存器组 668

16.4.2 增强的指令集 670

16.4.3 系统管理模式 672

16.5 奔腾处理器的硬件结构 672

16.6 奔腾处理器的信号接口 673

16.6.1 存储器/IO信号接口 675

16.6.2 高速缓存控制接口 675

16.6.3 中断信号接口 676

16.7 存储器子系统电路 676

16.7.1 交替式DRAM存储器阵列 676

16.7.2 RAS/CAS地址多路转换电路 677

16.7.3 数据总线收发器电路 678

16.7.4 控制逻辑电路 678

16.8 非流水线式、流水线式及突发式总线周期 679

16.8.1 非流水线式读/写周期 680

16.8.2 突发式读写总线周期 680

16.8.3 流水线式读、写总线周期 683

16.9 奔腾处理器的高速缓存 684

16.9.1 片内高速缓存的组织方式及有关操作 684

16.9.2 片内高速缓存有效、禁用和擦除 685

16.10 中断、复位和内部异常处理 686

16.10.1 机器检查异常处理 687

16.10.2 由RESET和INIT信号引起的初始化 687

16.11 高能奔腾处理器和具有MMXTM技术的奔腾处理器 688

习题 690

习题答案 694