1 / 116

第二章 16 位和 32 位的微处理器

第二章 16 位和 32 位的微处理器. 本章学习重点. 8086 的编程结构,尤其是寄存器组; 8086 标志寄存器各个标志的含义; 8086 的读写时序、总线操作和中断机制; Pentium 的先进技术; Pentium 的工作方式; Pentium 的原理结构、寄存器组和描述符; Pentium 的主要信号; Pentium 的总线状态; Pentium 的中断机制和中断描述符表; Pentium 的段页两级保护机制。. 微处理器的性能描述. 字长: 指 CPU 能同时处理的数据位数,也称为数据宽度。字长越长,计算能力越快,速度越快。

bela
Download Presentation

第二章 16 位和 32 位的微处理器

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第二章 16位和32位的微处理器

  2. 本章学习重点 8086的编程结构,尤其是寄存器组; 8086标志寄存器各个标志的含义; 8086的读写时序、总线操作和中断机制; Pentium的先进技术; Pentium的工作方式; Pentium的原理结构、寄存器组和描述符; Pentium的主要信号; Pentium的总线状态; Pentium的中断机制和中断描述符表; Pentium的段页两级保护机制。

  3. 微处理器的性能描述 字长:指CPU能同时处理的数据位数,也称为数据宽度。字长越长,计算能力越快,速度越快。 主频:CPU的时钟频率,这和CPU的运算速度密切相关,主频越高,运算速度越快。

  4. 2.1 16位微处理器8086 2.1.1 8086的编程结构 2.1.2 8086的引脚信号和工作模式 2.1.3 8086的操作和时序 2.1.4 8086的存储器编址和I/O编址

  5. 2.1.1 8086的编程结构 • 8086是Intel系列的16位微处理器,有16根数据线和20根地址线。 • 编程结构是指从程序员和使用者的角度看到的结构。 • 从功能上,8086分为两部分: • 总线接口部件(BIU):负责与存储器、I/O端口传送数据。 • 执行部件(EU):负责指令的执行。

  6. 8086的内部结构 2.2 8086/8088微处理器 微机原理第二章 IA-32结构的微处理器(6)

  7. 2.1.1 8086的编程结构 • 总线接口部件 • 4个段地址寄存器, • CS 16位的代码段寄存器 • DS 16位的数据段寄存器 • ES 16位的附加段寄存器 • SS 16位的堆栈段寄存器 • 16位的指令指针寄存器IP • 20位的地址加法器 • 6字节的指令队列缓冲器

  8. 2. 执行部件 4个通用寄存器,即AX、BX、CX、DX 4个专用寄存器,即BP、SP、SI、DI 标志寄存器 算术逻辑部件 2.1.1 8086的编程结构

  9. 状态标志寄存器F(9个状态标志位) 状态标志:状态标志用来反映EU执行算术和逻辑运算以后的结果特征。 2.1.1 8086的编程结构

  10. 控制标志位:控制CPU的操作 2.1.1 8086的编程结构

  11. 2.1.1 8086的编程结构 3. 8086的总线周期的概念 CPU是一个复杂的时序数字逻辑,其所有的操作都必须在统一的时钟下完成。由片外输入CLK引脚的时钟脉冲信号,是系统定时的基本脉冲,其频率称为主频,其周期称为时钟周期,有时时钟周期又称为T状态。时钟周期是CPU执行各种操作的最小时钟单位。 总线周期,指的是8086CPU通过总线,执行一次访问存储器或访问I/O端口的操作或操作的时间。若执行的是数据输出(从CPU),则称为"写"总线周期;若执行的是数据输入(到CPU),则称为"读"总线周期。。

  12. 典型的8086总线周期波形图 总线周期 总线周期 T1 T2 T3 T4 T1 T2 T3 T4 CLK 地址/数据 地址 缓冲 数据 地址 缓冲 数据 总线 • 在8086中,一个最基本的总线周期由4个时钟周期组成, 因此基本总线周期用T1,T2,T3,T4表示 ① T1状态,发地址信息 ② T2状态,总线的高4位输出状态信息 ④ T3之后,可能插入TW ③ T3状态,高4位状态信息,低16位数据 ⑤ 在T4状态,结束。

  13. 2.1.1 8086的编程结构

  14. 2.1 16位微处理器8086 2.1.1 8086的编程结构 2.1.2 8086的引脚信号和工作模式 2.1.3 8086的操作和时序 2.1.4 8086的存储器编址和I/O编址

  15. 2.1.2 8086的引脚信号和工作模式 1.最小模式和最大模式的概念 (1)最小模式:在系统中只有一个微处理器。 (2)最大模式:两个或多个微处理器(主处理器、协处理器) • 8087:数值运算协处理器,实现多种类的数值操作,如高精度的整数和浮点运算,也可以进行超越函数(如三角函数、对数函数)的计算 • 8089:输入/输出协处理器,有一套专门用于输入/输出的指令系统,直接为输入/输出设备服务。

  16. 2.1.2 8086的引脚信号和工作模式 8086 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M/IO DT/R DEN ALE INTA TEST READY RESET 2.8086/8088的引脚信号和功能 ①数据线和地址线复用 ②有16根数据线 ③第21脚(RESET)为输入复位信号 ④第22引脚为“准备好”(READY)信号 ⑤高4位地址和状态线复用

  17. 2.1.2 8086的引脚信号和工作模式 8086 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M/IO DT/R DEN ALE INTA TEST READY RESET GND VCC:地和电源 AD15~AD0:地址/数据复用 A19/S6~A16/S3 地址/状态复用 S6:8086当前与总线相连 S5:IF的值 S4、S3:当前使用的段寄存器 RD#:读信号输出 MN/MX#:最小和最大模式控制输入 BHE#/S7 :高8位数据总线允许/状态复用 TEST#:测试信号输入 RESET :复位信号输入 NMI:非屏蔽中断输入 READY :“准备好”信号输入 INTR:可屏蔽中断请求信号输入 CLK:时钟输入

  18. 2.1.2 8086的引脚信号和工作模式 8086 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD HLDA WR M/IO DT/R DEN ALE INTA TEST READY RESET 3.最小模式 HLDA:总线保持响应信号输出 HOLD:总线保持请求信号输入 WR#:写信号输出 M/IO#:存储器/输入输出控制信号输出 DT/R#:数据收发信号输出 DEN#:数据允许信号 ALE:地址锁存允许信号输出 INTA#:中断响应信号输出

  19. 2.1.2 8086的引脚信号和工作模式 8086在最小模式下的典型配置

  20. 2.1.2 8086的引脚信号和工作模式 最小模式连接特点: • MN/MX#端接+5V • 1片8284A作为时钟发生器 • 地址锁存器 • 存储器和外设较多时,需要总线收发器

  21. 2.1.2 8086的引脚信号和工作模式 • M/IO、RD、WR信号的关系

  22. 2.1.2 8086的引脚信号和工作模式 • 8284A和8086的连接

  23. 2.1.2 8086的引脚信号和工作模式 8086 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND VCC AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD RQ/GT0 RQ/GT1 LOCK S2 S1 S0 QS0 QS1 TEST READY RESET 4. 最大模式 • QS1、QS0:指令队列状态信号输出 • S2#、S1#、S0#:总线周期状态信号输出 • LOCK#(lock):总线封锁信号输出 • RQ#/GT1#、RQ#/GT0#:总线请求信号输入、总线授权信号输出

  24. 8086在最大模式下的典型配置 : 2.1.2 8086的引脚信号和工作模式

  25. 2.1 16位微处理器8086 2.1.1 8086的编程结构 2.1.2 8086的引脚信号和工作模式 2.1.3 8086的操作和时序 2.1.4 8086的存储器编址和I/O编址

  26. 2.1.3 8086的操作和时序 • 8086的主要操作: • 系统的复位和启动操作; • 暂停操作; • 总线操作; • 中断操作; • 最小模式下的总线保持; • 最大模式下的总线请求/允许。

  27. 2.1.3 8086的操作和时序 1. 系统的复位和启动操作

  28. 2.1.3 8086的操作和时序

  29. 2.1.3 8086的操作和时序 2. 总线操作 • 8086最小方式下的总线读操作 • 8086最小方式下的总线写操作

  30. 补充概念:堆栈 堆栈主要用于暂存数据和在过程调用或处理中断时暂存断点信息。 堆栈:在存储器中开辟的一片数据存储区,这片存储区的一端固定,另一端活动,且只允许数据从活动端进出。采用“先进后出”的规则 。 堆栈的组织:堆栈指示器SP,它总是指向堆栈的栈顶堆栈的伸展方向既可以从高地址向低地址,也可以从低地址向高地址。8086/8088的堆栈的伸展方向是从高地址向低地址。 演示 微机原理第2章 16位和32位的微处理器(30)

  31. 2.1.3 8086的操作和时序 3.中断操作和中断系统 (1)什么是中断?8086的中断有哪些类型? • 中断是指当CPU正在执行程序时,外设(或其它中断源)向CPU发出请求,CPU暂停当前程序的执行,转向该外设服务(或称中断服务)程序,当中断服务程序运行结束后,返回原程序继续执行的过程。 • 中断可分为内部中断(软件中断)和外部中断(硬件中断) 除法错中断

  32. 2.1.3 8086的操作和时序 (2) 中断向量和中断向量表 阅读课本P27到P28中断向量和中断向量表部分的内容,思考如下问题: ① 8086有256种类型的中断,每一种类型的中断对应的中断服务程序的入口地址是不是固定的?系统怎样找到中断服务程序的入口地址? ② 假设某系统中对应于中断类型号为30H的中断处理子程序从1234H:5678H开始,则中断向量应该怎样存放? ③ 如果一个用户想定义某个中断,应该选择在什么范围?

  33. 中断向量表 地址指针 中断类型码 00000H 段基址×16 偏移地址 偏移地址 偏移地址 ×4 IP 代码段 段基址 CS 003FFH 2.1.3 8086的操作和时序 (2) 中断向量和中断向量表 中断向量:中断处理子程序的入口地址,每一个中断类型对应一个中断向量。

  34. 2.1.3 8086的操作和时序 (3) 硬件中断 • NMI • INTR

  35. 2.1.3 8086的操作和时序 中断的基本过程: • 中断检测 • 中断响应 • 中断处理 • 中断返回

  36. (4) 硬件中断的响应和时序 阅读课本P29到P32页的相关内容,思考如下问题: ①简述8086的中断响应的总线周期 ②可屏蔽中断的响应过程是怎样的?CPU实际执行的与之相对应的总线时序是什么? ③可屏蔽中断与不可屏蔽中断的处理有什么不同? ④一个可屏蔽中断请求到来时,通常只要中断允许标志为1,便可在执行完当前指令后响应,在哪些情况下有例外? ⑤8086在中断响应期间为什么要将IF和TF清0? ⑥在对堆栈指针进行修改时,要特别注意什么问题?为什么?

  37. 2.1.3 8086的操作和时序 第1个总线周期,通知外设,CPU准备响应中断; 第2个总线周期,外设发送中断类型码

  38. (4) 硬件中断的响应和时序 可屏蔽中断的响应过程 : ①读取中断类型号(中断响应周期) ②将标志寄存器的值推入堆栈(1个总线写周期) ③把标志寄存器的IF和TF清零 ④将断点保护到堆栈中。 (2个总线写周期) ⑤寻找中断向量,转入中断处理程序 (2个总线读周期)

  39. 2.1.3 8086的操作和时序 (5) 中断处理子程序 PUSH AX ;进一步保护中断现场 PUSH BX PUSH CX STI ;开放中断 ┇ ;中断处理的具体内容 POP CX ;恢复现场 POP BX POP AX RETI ;中断返回

  40. 2.1.3 8086的操作和时序 (6) 软件中断 阅读课本P32到P33的相关内容,思考: ① 软件中断有哪些特点? ② 在中断处理子程序和主程序的关系上,软件中断和硬件中断有什么不同之处?

  41. 2.1.3 8086的操作和时序 4. 最小模式下的总线保持 利用HOLD和HLDA信号实现总线保持

  42. 2.1.3 8086的操作和时序 • 5. 最大模式下的总线请求/授权 利用RQ#/GT#实现总线请求/授权

  43. 2.1 16位微处理器8086 2.1.1 8086的编程结构 2.1.2 8086的引脚信号和工作模式 2.1.3 8086的操作和时序 2.1.4 8086的存储器编址和I/O编址

  44. 2.1.4 8086的存储器编址和I/O编址 1. 8086的存储器编址

  45. 2.1.4 8086的存储器编址和I/O编址 CS、DS、SS和其他寄存器组合指向存储单元的示意 :

  46. 2.1.4 8086的存储器编址和I/O编址 • 分段编址的好处 • 程序中的指令只涉及16位地址,减短了指令长度,提高了执行程序的速度。在程序执行过程中,不需要在1M空间中去寻址,多数情况下只在一个较小的存储器段中运行。 • 多数指令运行时,并不涉及段寄存器的值,而只涉及16位的偏移量。也为程序的浮动装配创造了条件。

  47. 2.1.4 8086的存储器编址和I/O编址 • 存储器中,有几个部分的用处是固定的: ① 00000~003FFH:中断向量表 ② B0000H~B0F9FH:单色显示器的显示缓冲区 ③ B8000H~BBF3FH:彩色显示器的显示缓冲区 ④ FFFF0H~FFFFFH :无条件转移指令

  48. 2.1.4 8086的存储器编址和I/O编址 存储器按字节组织,按字节分配地址 当存放的数为一个字(16位,2个字节)时,则将字的高位字节放在高地址中,将低位字节存放在低地址中; 当存放的数是双字形式(地址指针数据)时,则将低字(偏移量)存放在较低地址中,高字(段基址)存放在较高地址中 。 地址 字节数 字节数 字:0B23H 地址指针 段基址:2000H 偏移量:3000H 微机原理第2章 16位和32位微处理器(48)—教育技术07级

  49. 2.1.4 8086的存储器编址和I/O编址 对存放的字,其低位字节可以在奇数地址中(即从奇数地址开始存放),这种方式为非规则存放,这样存放的字为非规则字; 若是低位字节在偶数地址中(即从偶数地址开始存放)为规则存放,这样存放的字称为规则字。 非规则字 280CH 规则字 200BH 微机原理第2章 16位和32位微处理器(49)

  50. 2.1.4 8086的存储器编址和I/O编址 A19~A1 A0 BHE CS A19~A1(高字节) 奇地址存储体 512K×8 CS A19~A1(低字节) 偶地址存储体 512K×8 D15~D8 高8位数据线 D7~D0 低8位数据线 • 若一个字是规则存放,则对它的存取可在一个总线周期完成,而非规则字的存取则需二个总线周期。 A0=0:同时选中高位库和低位库,传送2字节; A0=1:只选中高字节,传送1字节 微机原理第2章 16位和32位微处理器(50)

More Related