1 / 63

第 2 章 8086 微处理器

第 2 章 8086 微处理器. 重点 8086 的结构特点、编程结构、引脚信号功能及总线时序。 2.1 8086 微处理器的结构 16 位,约 29000 个晶体管,频率有 5 、 8 、 10MHz 。 2.1.1 执行部件 EU 和总线接口部件 BIU 执行一条指令的过程 ……. 1 、总线接口部件 BIU 负责 CPU 与存储器、 I/O 端口传送数据。 组成: 16 位段寄存器( CS 、 DS 、 SS 、 ES ) 16 位指令指针( IP ) 6 个字节指令队列 地址形成逻辑( 20 位地址加法器)

maya
Download Presentation

第 2 章 8086 微处理器

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. 第2章 8086微处理器 • 重点8086的结构特点、编程结构、引脚信号功能及总线时序。 • 2.1 8086 微处理器的结构 • 16位,约29000个晶体管,频率有5、8、10MHz。 • 2.1.1 执行部件EU和总线接口部件BIU • 执行一条指令的过程……

  2. 1、总线接口部件BIU • 负责CPU与存储器、I/O端口传送数据。 • 组成:16位段寄存器(CS、DS、SS、ES) • 16位指令指针(IP) • 6个字节指令队列 • 地址形成逻辑(20位地址加法器) • (I/O)总线控制逻辑 • 功能: • 1)在EU执行指令的过程中,BIU始终能从存储器中预先取出一些指令送到指令队列中排队,遵从先进先出的次序。

  3. 2)根据EU的请求,形成20位的内存物理地址,完成CPU与存储器或I/O设备之间的数据传送。2)根据EU的请求,形成20位的内存物理地址,完成CPU与存储器或I/O设备之间的数据传送。 • 2、执行部件EU • 负责指令的译码执行。 • 组成:16位的算术/逻辑单元ALU • 16位状态标志寄存器 • 4个通用寄存器(AX、BX、CX、DX) • AH和AL • 4个专用寄存器(SP、BP、DI、SI) • 暂存(运算)寄存器 • EU控制系统

  4. 注: • 1)寄存器组和数据传输通路间可进行快速传输。 • 2)EU不与系统总线相联。 • 功能: • 1)从BIU的指令队列中获取指令、译码执行指令。 • 2)向BIU发出请求,提供数据和所需访问的内存或I/O端口的地址信息。 • 3)对通用寄存器和标志寄存器进行管理, • 主要操作类型: • 1)算术/逻辑运算、串处理、BCD码调整。 • 2)计算寻址要求的单元地址的位移量,EU将这个16位位移量送BIU。

  5. 二、工作方式 • 微处理器通过总线和外部部件交换信息,当执行一条指令时,一般要占用二次总线,总线非常忙,要提高微处理器的利用率和整个系统的执行速度,必须充分利用总线。并行工作方式:BIU和EU处于并行工作状态,取指令与数据不占用额外时间,在执行指令时同时取下一条指令与数据,这样总线总不空闲。

  6. 2.1.2 8086的编程结构 • 基本结构寄存器 • 系统级寄存器(主要用于简化设计) • 调试和测试寄存器(主要用于对操作系 统进行调试) • 浮点寄存器(80486用)

  7. 基本结构寄存器 • 通用寄存器 • 专用寄存器 • 段寄存器

  8. 1.通用寄存器(8个) • AX 累加器(AH AL) 加减法,与外设传送信息 • BX 基址寄存器 表起始地址,计算M地址 • CX 计数寄存器 串个数,循环次数 • DX 数据寄存器 与AX构成双字长数 • SP 堆栈指针 栈顶偏移量 • BP 基址指针 堆栈中数据区的基址偏移量 • SI 源变址寄存器 串操作时,当前数据段、 • DI 目的变址寄存器 附加段中数据的偏移量

  9. 2.专用寄存器 • 1、指令指针IP • 指出下一条要执行的指令在当前代码段中偏移量 • BIU从内存中取出一个字节后,IP自动加1 • 能对IP操作的只有转移指令、返回指令和中断处理

  10. 专用寄存器 • 2、标志寄存器 有三种 • 状态标志 由EU设置 • 控制标志 可由指令设置 • 系统方式标志

  11. 状态标志 • 进位标志CF=1 表示高位有进位或借位 • CF=0 表示高位无进位或借位 • 奇偶标志PF=1 低8位中1的个数为偶数 • PF=0 低8位中1的个数为奇数 • 辅助进位标志AF=1 D3位有进位或借位 • AF=0 D3位无进位或借位 • 零标志ZF=1 表示运算结果为0 • ZF=0 表示运算结果非0

  12. 状态标志 • 符号标志SF=1表示运算结果为负数 • SF=0表示运算结果为正数 • 溢出标志OF=1运算结果超出机器所能表示的数值范围 • OF=0运算结果无溢出 • 注意:溢出和进位不同 • 例:指出运算5439+456A后的状态标志

  13. 控制标志 • 陷阱标志TF=1微处理器处于单步工作方式 • TF=0微处理器执行正常程序 • 中断允许标志IF=1 开中断 • IF=0 关中断 • 方向标志DF=1地址递减 • DF=0地址递增(用于字串操作)

  14. 3.段寄存器(6个) • 保存标志现行可寻址存储器段的段选择子值 • 只有16位 • 段长度与工作方式有关: 1)实地址方式:64KB 保存段的起始地址 物理地址=CS*16+IP 2)保护方式: 1~4GB 保存段的选择子 • 段寄存器与段描述子寄存器一一对应 段描述子:段基地址+段限+属性

  15. 段寄存器 • 段描述子寄存器--段高速缓存器(CACHE) • CS 当前代码段 (指令) • DS 当前数据段 (字符、数值) • SS 当前堆栈段 (保存返回地址和中间结果) • ES 当前附加段 (字符、数值) • FS 当前附加段 (用于数据通信) • GS 当前附加段 (用于数据通信)

  16. 取操作数的段: 1)默认的段; 2)在指令前加前缀指令指定,但偏移量由SP计算来的,用当前堆栈段,串操作目标操作数用当前附加段

  17. 2.1.3 8086系统中的存储器组织 • 1.存储器组织 • 1)存储器分段 地址只能为16位,所以1MB空间分成存储段。每段长度可达64KB,第一字节位置称”段起始地址“(段基址),必须能被16整除,高16位为”段基值“。段基值左移4位即成段起始地址。浮动装配时,只需确定段基址即可,程序中采用相对转移或相对调用。当程序超过64KB,则必须给段寄存器重新送新值。 几个段可互相重叠,也可指向同一个64KB,可进行程序压缩,但要求不破坏数据。

  18. 2)物理地址的产生 • 物理地址:单元地址用20位二进制数表示,CPU与存储器间数据交换用,唯一的。范围:00000H~FFFFFH • 逻辑地址:由段基值和段内偏移量构成,以16位二进制数表示,编程时用,不唯一。偏移量范围:0000H~FFFFH • 例:01245H单元 • 当段基值为 0123H 偏移量为15H • 当段基值为 0124H 偏移量为5H • 即一个物理地址可由不同的段基值和段内偏移量构成。

  19. 物理地址的产生 • 物理地址=段基址+段内偏移量(有效地址EA) • 偏移量寄存器:SP、BP、SI、DI、IP。 BIU根据执行操作的种类和要取的数据类型分别从不同寄存器中取值。 指令 CS IP 堆栈操作 SS SP或BP 操作数(变量) DS BX、SI或DI(若段操作前缀 • 指令指定可用CS、ES、SS) • 串操作目的操作数 ES DI • 逻辑地址来源见表2-20

  20. 2.2 8086微处理器的引脚功能 • 8086是16位CPU,40引脚,双列直插式

  21. 2.2.1 引脚功能说明 • 分四部分: 地址总线 数据总线 控制和状态总线 其他(电源和定时线) • 说明:1)某些引脚能传送多于一种类型的信 • 息,叫分时复用 • 2) MN/MX(最小/最大方式控制线) • +5V 最小方式,接地 最大方式 图2-6中括号内为最大方式

  22. 1、地址和数据总线 (1)地址总线 20位 单向三态 CPUM和I/O端口 数据总线 16位 双向三态 CPUM和I/O端口 为节省管脚,采用多路转换方法,即分时复用技术. (2)AD15~AD0: T1时,作低16位地址;其余时间,为数据线;中断响应或DMA方式时,高阻。AD0作低8位数据的选通信号。

  23. 地址和数据线 • A19~A16/S6~S3: T1时,M操作作高4位地址,可寻址1M字节单元;I/O操作为低电平,可寻址64K端口 • 其余时间,提供状态信息 • S4,S3表示正在使用哪个段寄存器,见表2-4 • S5反映IF的值 • S6=0,8086正在控制总线

  24. 地址和数据线 • BHE-/S7: • T1时作总线高半部分允许信号,BHE-=0,8位数据与AD15~AD8连通,与AD0配合决定是高字节还是低字节 • 其余时间提供状态信息,暂不用 • 在DMA方式时,高阻

  25. 2、控制和状态总线 • 有些输出,有些输入;还受MN/MX上电平的影响,以控制最小方式和最大方式。 • 最小方式用于单处理机系统 • 最大方式用于多处理机和协处理机结构

  26. MN/MX=0 最大方式: S2-,S1-,S0-总线周期状态信号(输出,三态,低电平有效):表示8086外部总线周期的操作类型,送到总线控制器8288,由8288产生相应的控制信号。表2-5(P22) MN/MX=+5V 最小方式: M/IO-存储器/IO控制信号(输出,三态) M/IO-=1,访问存储器M/IO-=0,访问I/O设备 DT/R-数据发送/接收信号(输出,三态):控制8286的数据传送方向 受MN/MX影响的信号线

  27. S2-区分M和I/O的标志 S1-指示操作是输入还是输出 在T3或TW返回无效状态 DT/R-=1,数据放到系统总线 DT/R-=0,从系统总线上取进数据 DEN-数据允许信号(输出,三态,低电平有效):控制8286收发器,允许缓冲器(数据总线)连到系统总线或局部总线上。 这3个在DMA方式高阻 最大方式 最小方式

  28. RQ/GT0-、RQ/GT1-总线请求/允许访问控制(双向):时序分为3个阶段(请求、允许、释放)需要3个低电平脉冲序列。当总线主模块要求总线控制权发RQ-=0;若8086允许响应发GT-=0;交出总线控制权,成三态输出;总线主模块使用完,交出总线控制权发RQ-=0。见图2-7.RQ/GT0-、RQ/GT1-总线请求/允许访问控制(双向):时序分为3个阶段(请求、允许、释放)需要3个低电平脉冲序列。当总线主模块要求总线控制权发RQ-=0;若8086允许响应发GT-=0;交出总线控制权,成三态输出;总线主模块使用完,交出总线控制权发RQ-=0。见图2-7. HOLD保持请求(输入):8086在机器周期的最后一个T采样HOLD=1总线主模块向8086请求总线控制权。 HLDA保持响应(输出):8086响应,使系统总线高阻。 这时,DEN-、DT/R-等高阻。 最大方式 最小方式

  29. 在T4或下一个T1里 两条控制线同时接两个协处理器 RQ/GT0-优先权高 QS0、QS1指令队列状态(输出):见表2-6 此方式的ALE、DEN、DT/R、INTA的功能由8288提供。 ALE地址锁存允许(输出):=1,表示有效地址在总线上,下降沿锁存地址信息。 INTA-中断响应(输出,三态):=0,表示8086正执行中断响应。 最大方式 最小方式

  30. LOCK-总线优先权锁定信号(输出,三态):=0,阻止8086失掉总线控制权;在DMA方式高阻。LOCK-总线优先权锁定信号(输出,三态):=0,阻止8086失掉总线控制权;在DMA方式高阻。 指令LOCK由程序设置,做前缀,并保持到该条指令执行结束。 WR-写控制(输出,三态):数据在总线上稳定时,=0,执行写操作;在DMA方式高阻 最大方式 最小方式

  31. 不受MN/MX影响的信号线 • RD-读控制(输出,三态): T2~T3、TW时,=0,8086从M或IO设备读数据;在DMA方式高阻 • READY等待状态控制(输入): =1,表示被选中的M或IO准备就绪; =0,使8086处于等待状态(插入1或几个TW) • TEST-等待测试控制(输入): =1,8086等待,停止操作; =0,脱离WAIT指令的等待状态,继续执行指令。 (CPU每5T采样TEST-)

  32. 不受MN/MX影响的信号线 • INTR可屏蔽中断请求(输入):=1且IF=1,8086执行中断响应; 其它,继续执行指令。 (CPU在指令周期的最后一个T采样INTR) • NMI不可屏蔽中断请求(输入):上升沿触发,8086执行不可屏蔽中断服务程序,不能被软件禁止。 • RESET系统复位(输入):=1(刚加电要大于4T),8086停止正在运行的操作,做初始化:A、FR=0000H,为禁止中断和单步方式; B、DS、SS、ES和IP=0000H,CS=FFFFH; C、指令队列复位。 然后从FFFF0H开始执行,无条件转移到系统初始化和引导及装配程序。

  33. 3、其他(电源和定时线) • CLK时钟信号(输入):同步所有8086的时钟信号,由8284时钟发生器输出 • Vcc电源(输入):+5V~10% • GND地线(输入):两条(1和20脚)

  34. 8086 AD15~AD0:16位复用 M/IO- BHE-/S7:与A0组合来区分高8位,低8位还是1个字。 8088(准16位处理器) AD7~AD0:8位复用;A15~A8单用 IO/M- SS0:最小方式下等效于8086的DEN-(或最大方式下的S0),与DT/R-、IO/M-组合确定当前的总线周期,见表2-7。最大方式下为高电平。 2.2.2 8086与8088引脚的区别

  35. 8086微处理器的系统配置 • 一、8086基本系统概念 8086只有40引脚,所以采用以下系统结构: 1)地址线和数据线采用分时复用; 2)地址锁存器(74LS373、273或INTEL 8282/8283)记录地址,防止丢失 。 8086把地址送上总线时,使ALE=1。 20位地址加BHE-用3片。8086的ALE接74LS的G(或8282的STB);当OE-=0时送出数据; 3)数据总线收发器(74LS245或8286/8287)提供缓冲和驱动,并控制数据传送和接收的方向。2片,最小系统可不用,8088用1片。

  36. 8086基本系统概念 • 8086的DT/R-接74LS245的DIR(或8286的T,=1输入;=0输出);8086的DEN-接74LS245的G-(或8286的OE-)。T2后开始工作。 4)时钟信号发生器(8284A):产生时钟脉冲频率是振荡源频率的1/3。提供: CLK, 接8086CPU的CLK; PCLK外部设备时钟,频率是CLK频率的1/2;READY等待状态请求,要求同步增加TW周期;RESET复位,和8086的RESET同步。

  37. 9-2

  38. 8086基本系统概念 • 5)复位:当8086接受复位时,有关寄存器初始化,多路转换总线信号线浮空,其它可浮空的进入三态或不作用状态。

  39. 二、最小方式 • MN/MX=+5V,构成单处理机系统,系统配置图如图9-1。状态译码和命令输出: • M/IO- RD- WR- 总线周期(命令) • 0 0 1 I/O读(IOR) • 0 1 0 I/O写(IOW) • 1 0 1 M读(MRD) • 1 1 0 M写(MWT)

  40. 9-1

  41. 三、最大方式 • MN/MX=0,构成多处理机和协处理机系统,系统配置图如图9-3,比最小方式系统增加一个转换控制信号的8288总线控制器(图9-4)和中断优先权管理器8259A。 • 1、总线控制器8288 (1)状态译码和命令输出: 见表9-1 (2)控制逻辑 1)IOB(输入输出总线方式): IOB=0,8288处于系统总线方式,总线仲裁逻辑发AEN=0,表示总线可供使用。用于多处理器共用一组总线系统。

  42. 9-3

  43. 9-4

  44. 最大方式 • IOB=1,8288处于I/O总线方式工作,与AEN-状态无关。此时,对M访问的命令无效。允许8288管理两组外部总线:访问I/O总线无需等待;访问M之前需AEN-=0。用于多处理器系统而外设不共享的系统。 2)AEN-(地址使能): =1,8288各种命令无效,高阻。 =0,对系统总线方式,在115ns后8288才输出命令,在这段时间进行总线切换;对I/O总线方式,不起作用,不影响I/O命令的发出。

  45. 最大方式 • 3)CEN命令使能: =1,命令有效; =0,各命令和DEN、PDEN-等输出无效。 4)CLK时钟:同步8288产生命令和控制信号。(3)控制信号发生器 提供ALE、DEN、DT/R-(作用同最小方式,但DEN相位相反)和MCE/PDEN-。 MCE/PDEN-主设备使能/外设数据允许: 当IOB=0,为MCE(输出,高电平有效),接8259A,允许设备级联,MCE锁存级联地址;无8259,浮空。而用DEN控制总线收发器使局部数据总线接通系统数据总线。

  46. 最大方式 • 当IOB=1,为PDEN -(输出,低电平有效),作用同DEN,做总线收发器的开启信号,用于多总线结构的多处理机系统。 • CEN、AEN-、IOB供多处理机系统用。 2、其他信号 RQ/GT0-同8087(协处理器)连; RQ/GT1-同8089(I/O处理器即双通道处理器)连。 INTA-: • 当系统是两个以上主CPU的多处理器系统,要接到总线仲裁器8289,再与DEN与非后接74LS245的G-(或8286的OE-)。

  47. 2.3 8086微处理器的基本时序 • 2.3.1 指令周期、总线周期和时钟周期 指令周期:执行一条指令所需时间 总线周期:取指令和数据传送,由CPU的BIU执行所需时间 时钟周期:同步所有操作的时钟脉冲周期 时钟周期=1/主频 • 一个指令周期由一个或几个总线周期组成 • 基本总线周期由4个时钟周期组成,分别叫T1、T2、T3、T4状态。

  48. 8

  49. 指令周期、总线周期和时钟周期 • 若外设或存储器速度较慢,在T3之前发出“数据未准备就绪”信号(READY=0),CPU在T3下降沿采样READY,若READY =0则在T3之后插入1个或多个Tw,在Tw下降沿,采样READY,当READY =1,则结束Tw进入T4。Tw和T3总线控制信号一样。 • 若一个总线周期后不执行下一个总线周期,执行空闲周期Ti。EU仍执行,BIU等待,此时,AB线高4位 仍驱动状态信息; 低16位 在写周期,驱动数据信息;在读周期,高阻。

  50. 2.3.2几种基本时序的分析 • 8086CPU的操作:内操作,与用户无关;外操作,系统对CPU控制或CPU对系统的控制。

More Related