微型计算机原理及应用技术 第2章 8086微处理器及其系统_第1页
微型计算机原理及应用技术 第2章 8086微处理器及其系统_第2页
微型计算机原理及应用技术 第2章 8086微处理器及其系统_第3页
微型计算机原理及应用技术 第2章 8086微处理器及其系统_第4页
微型计算机原理及应用技术 第2章 8086微处理器及其系统_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 2 章 8086微处理器及其系统,2.1 8086微处理器,1978年,Intel公司推出16位微处理器8086。,8086CPU具有16位数据总线和20位地址总线,数据总线与地址总线分时复用,寻址范围为1MB。,2.1.1 8086CPU的结构,标志寄存器,总线 控制 逻辑,指令队列,EU 控 制,ALU,BIU单元,EU单元,AX,BX,CX,DX,两个独立的功能部件:执行部件EU、总线接口部件BIU。,内部寄存器,地址加法器,段寄存器,指令指针寄存器,外部总线,内部寄存器, 8086共有8个16位的内部寄存器,分为两组:, SP(Stack Pointer Register)堆栈指针

2、寄存器 BP( Basic Pointer Register)基址指针寄存器 SI(Source Index Register)源变址寄存器 DI(Destination Index Register)目的变址寄存器,标志寄存器,标志寄存器(Flag Register)共有16位,其中7位未用。标志寄存器内容如图:,15 12 11 10 9 8 7 6 5 4 3 2 1 0,15 12 11 10 9 8 7 6 5 4 3 2 1 0, CF(Carry Flag)进位标志 -反映在运算结果的最高位有无进位或借位。,15 12 11 10 9 8 7 6 5 4 3 2 1 0, PF(

3、Parity Flag)奇偶标志 -反映运算结果中“1”的个数的奇偶性,主要 用于判断数据传送过程中是否出错。 若结果的低8位中有偶数个“1”,则PF=1, 否则PF=0。,15 12 11 10 9 8 7 6 5 4 3 2 1 0, AF(Auxiliary Flag)辅助进位标志 -加减运算时,若D3向D4产生了进位或借位则AF=1,否则AF=0。在BCD码运算时,该标志用于十进制调整。,15 12 11 10 9 8 7 6 5 4 3 2 1 0, ZF(Zero Flag)零标志 -反映计算结果是否为0。若结果为零则ZF=1,否则ZF=0。,15 12 11 10 9 8 7 6

4、 5 4 3 2 1 0, SF(Sign Flag)符号标志 -反映计算结果最高位即符号位的状态。如果运算结果的最高位为1则SF=1(对带符号数即为负数),否则SF=0(对带符号数即为正数)。,15 12 11 10 9 8 7 6 5 4 3 2 1 0, OF(Overflow Flag)溢出标志 -反映运算结果是否超出了带符号数的表数范围。,15 12 11 10 9 8 7 6 5 4 3 2 1 0, DF(Direction Flag)方向标志 - 用于串处理指令中控制串处理的方向。,15 12 11 10 9 8 7 6 5 4 3 2 1 0, IF(Interrupt Fl

5、ag)中断允许标志 - 用于控制CPU是否允许相应可屏蔽中断请求。,15 12 11 10 9 8 7 6 5 4 3 2 1 0, TF(trap flag)陷阱标志 - 用于单步操作。,- 用于存放段地址的寄存器,根据其主要用途,有代码段寄存器CS、数据段寄存器DS、堆栈段寄器SS、附加段寄存器ES。,段地址寄存器(CS、DS、SS、ES),段地址:,段基地址:每一节的起始地址00000H,00010H,00020HFFFF0H。,段地址:段基地址的高16位地址,即0000H,0001H,0002HFFFFH。,物理地址 =段地址16(左移4位)+偏移地址,偏移地址(逻辑地址,有效地址):

6、对段地址的偏移量。 偏移地址从0000HFFFFH。,也可表为0102H:0003H PA=0102H10H+0003H =01023H,17.在没有段跨(超)越的情况下,以下寄存器中,用于寻址数据段和堆栈段的分别是 。(2003年三级) A. BP,SI,DI和BX,SP B. BX,BP,SI和SP C. BX,SI,DI和BP,SP D. BX,BP,SI,DI和SP,指令指针寄存器(IP),- 又称程序计数器,是16位寄存器。存放将要执行指令的地址。每取一条指令IP自动增量,指向下一条指令。,地址加法器 - 用于产生20 位物理地址。,指令队列缓冲器,总线控制逻辑 - 是CPU外部三总

7、线(AB、DB、CB)的控制电路,它控制CPU与其他部件交换数据、地址、状态及控制信息。,- 是一个与CPU速度相匹配的高速缓冲寄存器。,11.下列不属于8086总线接口部件BIU的是 11 。(2004年三级) A.地址加法器 B.段寄存器CS、DS、ES、SS C.变址寄存器SI、DI D.指令队列缓冲器,11.指令队列缓冲器的构成是 。(2003年三级) A. 寄存器,采用后进先出方式(LIFO) B. 三态门,采用先进先出方式(FIFO) C. 寄存器,采用先进先出方式(FIFO) D. 三态门,采用后进先出方式(LIFO),12.8086中,下列不属于执行部件EU的是 。 A. AX

8、,SP B. SI,BP C. BX,DI D. ES,IP,指令译码,CS:IP=F0300H IP指下条指令,ADD指令,指令队列,8086指令的执行,执行指令ADD AL,100H,AH,12H,CS,DS,SS,ES,IP,标志寄存器,总线 控制 逻辑,指令队列,EU 控 制,ALU,AX,2AH,BFH,34H,ADD,指令,00000H,20100H,00001H,FFFFFH,FFFFEH,20位地址,F0300H,寄存器组,2000H,当8086指令队列中有2字节空闲时,总线接口部件就自动将指令从内存中预取到指令队列缓冲器中。 每当EU部件要执行一条指令时,它就从指令队列头部取

9、出指令,后续指令自动向前推进。EU要花几个时钟周期执行指令,指令执行中若需要访问内存或I/O设备,EU就向BIU申请总线周期,若BIU总线空闲,则立即响应,若BIU正在取一条指令,则待取指令操作完成后再响应EU的总线请求。 当指令队列已满,EU又没有申请总线时,则总线空闲。 遇到转移、调用及返回指令时,原先预取到指令队列中的指令已不再有用,BIU就自动清除指令队列中已有内容,从转移、调用或返回的新地址开始,重新从内存中预读取指令并填充指令队列。,总线接口部件和执行部件的管理,8086引脚的功能,2.1.2, 8086总线周期,时钟周期:CPU的基本时间计量单位,它由计算机的主频决定,8086的

10、主频为5MHz。,总线周期:由若干个时钟周期组成,完成一个基本的操作 。,8086中一个基本总线周期由4个时钟周期组成。,典型的8086总线周期时序,- CPU向多路复用总线上发送地址信息,指出要寻址的内存单元地址或I/O端口地址。,T1状态:,- 总线周期结束,若为总线读周期则在T4前沿将数据读入CPU。,T2状态:,- CPU从总线上撤消地址,使总线低16位呈现高阻状态,为数据传输作准备。,T3状态:,- 总线低16位上出现CPU要写出的数据或准备读入的数据。,T4状态:,TW等待状态,TI空闲状态,- 当内存或外设来不及与总线进行数据交换时,需要在T3和T4之间插入若干个Tw。,- 当B

11、IU不执行任何读写总线操作时,系统总线上插入TI,形成空闲周期。,16. 以下关于8086总线周期的叙述中,不正确的是_。 A. 完成一次读/写操作所需的时间为一个读/写总线周期 B. 读/写总线周期从T1开始到T4结束 C. 空闲总线周期为若干个TI D. 读/写总线周期总是T1,T2,T3,T4,答案:D,17. 若在一个总线周期中,8086对READY进行了5次采样,那么该总线周期共包含的时钟周期个数为_。(2002年三级) A. 4 B. 5 C. 8 D. 9,16.8086中设某个总线周期需插入4个Tw(等待状态),则该总线周期内对READY信号检测的次数是 。(2003年三级)

12、A. 6 B. 5 C. 4 D. 3,8086CPU的引脚及功能,通用引脚:,S3、 S4代码组合的意义,S6=0 表明8086CPU占用总线。,S5表明中断允许标志IF的设置情况。 IF=0时,S5=0;IF=1时,S5=1。,BHE 与 A0 信号的意义,2-7 a,从偶地址读写一个字节(BHE A0=10) AD15AD8上的数据被忽略,字节内容通过AD7AD0传送。,被读的字节,忽略的字节,Y,Y,X,存储器,8086CPU,10000H,10001H,a) 从偶地址读写一个字节,2-7 b,从偶地址读写一个字(BHE A0=00)。 在AD15AD8 、AD7AD0上传送的数据有效

13、。,被读的字节,被读的字节,X,Y,X,存储器,8086CPU,10008H,10009H,Y,b) 从偶地址读写一个字,从奇地址读写一个字节(BHE A0=01)。 在AD15AD8上传送的数据有效,AD7AD0上数据被忽略。 以上三种读写操作都是在一个总线周期中完成的。,2-7 c,被读的字节,忽略的字节,X,Y,X,存储器,8086CPU,10050H,10051H,c) 从奇地址读写一个字节,2-7 d,被读的第一字节,忽略的字节,Y,Y,X,存储器,8086CPU,10080H,10082H,忽略的字节,被读的第二字节,X,Z,W,10081H,10083H,d) 从奇地址读写一个字

14、,14.对8086来说,要从偶地址单元读/写一个字节, 和A0的信号、所用的数据线分别是 A.01,AD15AD8 B.10,AD15AD8 C.01,AD7AD0 D.10,AD7AD0,NMI(Non-Maskable Interrupt)非屏蔽中断请求引脚,输入,不受IF影响。 INTR(Interrupt Request)可屏蔽中断请求引脚,输入、高电平有效。 RD(Read)读信号,输出、三态、低电平有效。 CLK(Clock)时钟输入引脚。,RESET(Reset)复位引脚,输入、高电平有效。至少需要4个时钟周期的高电平。 READY(Ready)准备好引脚,输入、高电平有效。 T

15、EST(Test)测试引脚,输入、低电平有效,和WAIT指令结合使用。 MN/MX(Minimum/Maximum Mode Control) 最小/最大模式控制引脚,输入。,2.2 8086系统的存储器组织及I/O组织,2.2.1 8086系统的存储器组织,图2-5 存储体地址空间分配 图2-6 存储体与总线的连接,存储体地址空间分配 存储体与总线的连接,2-7 a,从偶地址读写一个字节(BHE A0=10) AD15AD8上的数据被忽略,字节内容通过AD7AD0传送。,被读的字节,忽略的字节,Y,Y,X,存储器,8086CPU,10000H,10001H,a) 从偶地址读一个字节,2-7

16、b,被读的字节,被读的字节,X,Y,X,存储器,8086CPU,10008H,10009H,Y,b) 从偶地址读一个字,从奇地址读写一个字节(BHE A0=01)。 在AD15AD8上传送的数据有效,AD7AD0上数据被忽略。 以上三种读写操作都是在一个总线周期中完成的。,2-7 c,c) 从奇地址读一个字节,2-7 d,d) 从奇地址读一个字,8086系统存储器的地址,CS=2000H IP=1000H 物理地址=21000H CS=2100H IP=0000H 物理地址=21000H,物理地址的计算公式: 物理地址 = 段地址 16 + 偏移地址 段地址的引入,为程序在内存中浮动创造了条件

17、,一般用户程序只涉及偏移地址。 同一物理地址可以由不同的段地址和偏移地址表示。,8086系统内存地址的一些专用区域, 0000003FFH 1KB 空间用于存放中断向量表,可存放256个中断服务程序的入口地址,每个地址占4字节。 B0000B0FFFH 4KB 为单色显示器显示缓冲区 ,存放屏幕当前显示字符的ASCII码。 B8000BBFFFH 16KB 为彩色显示器显示缓冲区,存放屏幕当前像素代码。 FFFF0H 启动地址。一般用来存放一条无条件转移指令,转到系统初始化程序。, 8086系统有专用的输入(IN)、输出(OUT)指令,用于外设端口(即外设接口中的内部寄存器)的寻址。 I/O端

18、口与内存分别独立编址。 I/O端口使用16位地址A15A0, I/O端口地址范围为0000HFFFFH。PC/XT微机中使用10位。,2.2. 2 8086系统的I/O组织,2.3 8086系统的工作模式,2.3.1 最小模式和最大模式的概念,为了适应各种场合的要求,8086/8088CPU在设计中提供了两种工作模式,即最小模式和最大模式。实际机器中究竟工作在哪一种模式, 根据需要由硬件连接决定。,最小模式,如果系统中只有一个微处理器8086(或8088),所有总线控制信号都由它产生,则系统中总线控制逻辑信号可减少到最小,因此这种系统称为最小模式系统。,最大模式,如果系统中包括两个以上处理器,

19、其一个为8086/8088作为主处理器,其它处理器作为协处理器,这样的系统称为最大模式系统。,2.3.2最小模式系统,8284时钟发生器与8086的连接图,8282锁存器与8086的连接,1、ALE为高电平时,输出等于输入 2、用ALE的下降沿锁存信号,8286总线驱动器与8086的连接,5.其他控制信号,(3) HLDA(Hold Acknowledge) 总线请求响应信号,输出、高电平有效。 (4)INTA(Interrupt Acknowledge) 中断响应信号,输出、三态、低电平有效。,(2) HOLD(Hold Request),总线保持请求信号,输入、高电平有效。,2.3.3 最

20、大模式系统,最大模式下的有关引脚信号,QS0,QS1(Instruction Queue Status)指令队列状态信号,输出。提供前一时钟状态中指针队列状态。,2.S2、S1、S0( Bus cycle Status)总线状态信号,输出。指出当前总线周期中数据传输过程的类型。,3. LOCK(Lock)总线封锁信号,输出,低电平有效。当该信号为低电平,系统中其他部件不占用总线。 4.RQ/GT1,RQ/GT0总线请求/允许信号双向。供CPU以外的两个处理器分别通过一条RQ申请总线、主CPU响应后,在同一条线上输出总线允许信号GT。,8288 总线控制器,在最大模式系统中要用到总线控制器828

21、8,它根据CPU提供的S2,S1, S0信号产生各种总线控制信号。,8288总线控制器引脚图及结构示意图,最大模式下系统的典型配置,S2、S1、S0 来自8286CPU的状态信号。8288对这些状态进行译码产生相应的总线命令信号和输出控制信号。 2.CLK时钟输入端,通常接8284的CLK端。 3.AEN地址允许信号,输入。,4.CEN命令允许信号,输入。,5. IOB总线方式控制信号,输入。8288有两种工作方式: (1) 当IOB为低时,8288工作于系统总线方式(多处理器系统) (2) IOB为高时,8288工作于局部总线方式(单处理器系统),6. AIOWC 超前I/O写命令,输出。在

22、总线周期中,该信号提前一个时钟周期发出I/O写命令,以便于I/O设备早作准备。 7. AMWC 超前存储器写命令,输出。其功能与AIOWC信号相似。,10. MRDC、MWTC 存储器读和存储器写命令,输出。,8. IOWC I/O 写命令,输出。只是数据总线上数据有效,可将数据写入被选中的I/O端口。,9. IORC I/O 读命令, 输出。通知外设端口将数据发送到数据总线上。,12. INTA,DT/R,ALE 及 DEN 与8086最小模式的相应引脚信号功能相同,只有DEN信号的相位与最小模式相应引脚的相位相反。,11. MCE/PDEN 输出,总线总模块允许/外部数据允许双功能信号。

23、系统总线方式时为MCE,用于中断控制中。 局部总线方式时为PDEN,作为数据总线驱 动器的选通信号。,8086的操作时序,2.4.1 复位操作及时序,2.4,图 2-14 8086 的复位时序,不作用状态(半个时钟周期),高阻态,三态门 输出信号,内部RESET,RESET输入,CLK,最小模式下的总线读周期,2.4.2,1. T1 状态: 在T1状态,地址锁存允许信号ALE有效,输出一个正脉冲。在其下降时,将地址锁入8282地址锁存器。 2. T2状态: 在T2状态,地址信号消失,地址/数据复用总线进入高阻状态,为总线读操作作准备。 3. T3状态: 在T3状态内存或I/O端口将数据送上数据

24、总线。 4. T4状态: 在T4前沿CPU将数据读入,总线周期完成。,8086 最小模式下的读周期时序,最小模式下的总线写周期,2.4.3,1. T1 状态: T1 状态的操作与总线读相同,即M/IO应在T1前沿之前有效。 2. T2状态: A19/S6A16/S3引脚输出状态信息S6S3,AD15AD0复用总线上输出要写出的数据,并一直保持到T4中部。 3. T3状态及Tw: 在T3状态中,T2状态有效的信号继保持有效,继续向外部写数据。 4. T4状态: 总线写状态结束,所有控制信号变为无效状态,所有三态总线变为高阻态。,图2-16 8086 最小模式下的写周期时序,最大模式下的总线读周期,2.4.4,1. T1 状态: CPU经过A19/S6A16/S3、AD15AD0送出20位地址信号及BHE信号。 2. T2状态: CPU送出状态信号S7S3,并将地址数据/复用总线置为高阻状态,已准备数据读入。 3. T3状态: T3状态中,S2S0全部上升为高电平,进入无源状态,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论