微型计算机原理与应用 第二章(详细版)

16位微处理器

一、8086/8088结构

    1.功能结构:

  EU(执行部件) 02从指令队列取指---->送控制器

         03对指令分析,译码(控制器)

         04在ALU中执行,执行结果---->送BIU

  BIU(总线接口部件)01从主存或I/O接口取指令----->送指令队列

             05将结果送主存或I/O接口

             06从主存/外设接口去操作数送ALU 

 

  流水线技术:

    BIU    取指令1    取指令2    取指令3.....

    EU         执行指令1   执行指令2  执行指令3....

    特点:01:时间并行:同时两个功能部件并行工作

         不同步

       02:多个功能部件:资源

 

  2.寄存器结构:

    14个16位寄存器:

      EU:AX(AH,AL), BX(BH,BL), CX(CH,CL), DX(DH,DL)

        指针寄存器:SP:堆栈栈顶指针  BP:基址指针

        变指寄存器:SI:源变指  DI:目标变指

        FR:标志寄存器   状态位6个:OF,CF,ZF,SF,PF,AF

                控制位3个:IF,DF,TF

      BIU:4个段寄存器:CS,DS,SS,ES

        IP:将要执行下一条指令的地址(有效地址)偏移地址

    指令由CS:IP确定  (CS:指令段地址  IP:有效地址) 逻辑地址

 

二、8086/8088引脚(外部特性)40个

              AB        DB      CB    VCC/GND

    8086       A0-A15      D0-D15    33引脚

             A16-A19      16位    

    8088       A0-A7        D0-D7     28、34引脚

             A8-A15       8位

             A16-A19

 

    1、地址/数据复用引脚:

        8086  AB:20位  AD0-AD7低8位

             DB:16位  AD8-AD15高8位

        8088  AB:20位  AD0-AD7

             DB:8位

        字节:12H    2个字节

           34H

        字:3412H      1个字8位

 

      引脚的特点:

          01分时复用,不同的信号不同时间传送

          02电平:高电平:AD0-AD15  NM2

              低电平:INIA^-,RD^-,WR^-

               M^-/IO      M/IO^-

               88         86

              M^-/IO=1  8088访问外设

              M^-/IO=0  8088访问主存

           03方向:A0-A19

              CPU------>单向

              D0-D15双向

              CB------>控制出

                <------控制入

 

  2.控制信号线,状态信号线

     01:MN/MX^-   =1(高电平):最小模式

            =0(低电平):最大模式

     02:RD^-:读

       WR^-:写

       IOR^-:外设读   最大模式下 

       IOW^-:外设写

 

      MOV AL,[2000H]  读 RD^-  字节

      MOV [3000H],AX  写WR^-  字

    

     03:DT(数据传输)/R^-   (写/读)

       RD^-  WR^-  DT/R^-  M/IO^-  DEN^-    数据总线有数据

        1   0    1     1    0

       CPU对主存写数据

     

     04:中断信号线:NMI,INTR,INTA^-

       NMI:入,非屏蔽中断请求信号线,与IF无关

       INTR:入,可屏蔽中断请求信号线,与IF有关

           IF=1时,开中断

           IF=0时,关中断

           特点:001-003(略)

    

     05:ALE边沿(下降沿)

       A0-A19,当T1传送地址信号,当T2时A0-A19锁入锁存器,在ALE有效时,20位地址总线----->锁存器

 

     06:8284有关:      时钟信号发射器

          8284位CPU产生三个信号线:

              CLK  RESET  REDAY

        CLK:  主频 5MHZ 8MHZ 

        RESET:复位   CPU复位  CS=0FFFFH   其它寄存器=0

               执行第一条指令地址:CS:IP=0FFFFH:0H

        READY:入,准备就绪

            READY=1 准备就绪

            READY=0 没有准备就绪,CPU要在T3-T4间插入TW(等待周期)

 

     07:8086  34引脚  BHE:总线高8位有效  D8-D15有效

                 BHE^-=0时有效

    

     08:最大工作方式 用的(括号)内的引脚

 

三、8088/8086的工作方式(模式)

   1.MN/MX^-  =1最小

          =0最大

   2.最小工作方式:

        单处理器系统,又有一个微处理器,所存控制信号均有8086/8088产生

       构成:

          单处理器8086/8088:CPU

          8284:产生时钟信号

          8283:地址锁存器:A0-A19(3片)  每一个8283只锁8位

          8286:数据收发器:双向

  3.最大工作方式:

      多处理器系统,多个微处理器    主:8086/8088  从:协处理器芯片 8087,8089

      8087,协助处理浮点数

      8089,IO处理器协助(通道)

 

四、8086/8088主要操作时序

  1.名词:

      01:时钟周期:T状态表示:T1=1/主频  T2  T3  T4

      02:总线周期(完成一次读写操作):T1-T4组成基本总线周期  T1,T2,T3,TW,T4:组成扩展总线周期    03:指令周期:完成一条指令的时间,一般要包括多个总线周期

      04:等待周期:TW,T3与T4之间

             插与不插要看ready信号

        ready=0;在T3与T4之间插入TW

        ready=1;不插

      05:空闲周期:T4之后,下一个总线周期T1之前

 

  2.时序操作:

      01:MOV  AL,5  

        001:取指令:T1  T2-T4

              地址  数据MOV

              A0-A19  D0-D7

        002:取操作数:5(内存)

               T1  T2-T4

               地址  05H

          5所在的存储单元  D0-D7

               A0-A19

      

      02:CPU写操作

          MOV【1000H】,AL

        001:读(取)操作,MOV指令

        002:AL写入主存1000H单元地址中

      

      03:最大模式图(略)

      04:INTA^-响应时序图(略)

      05:总线请求/响应(略)

 

五、中断

   1.定义:(略)

      01:中断类型:内中断(软件):溢出,分母为0,0型(分母为0),1型(单步调试),3型(断点),4型(溢出)

             外中断(硬件):NMI:电源掉电:2型  INTR:外设

       02:中断源:内:CPU处理程序中产生

              外:外围设备

       03:中断类型:8086/8088共有256个中断

          0-255  0,1,2,3,4,n

                00H-0FFH

                n=21H

                INT 21H:DOS功能调用

        04:中断向量:中断服务子程序的入口地址,用CS:IP表示,存放于中断向量表中,16位:16位 逻辑地址

        05:中断向量表:内存空间000H-3FFH共1kb,存储了256个中断向量,每个中断向量占4个字节,分别位CS:IP个2个字节  1个字节=8位

        06:中断断点:CS:IP表示  子程序返回主程序时地址

        07:中断优先级(从左到右,从上到下,由大变小)

            软件中断:0,3,4,n型

            硬件中断:NMI(2型)

                 单步(1型)

        08:中断嵌套:(略)

 

  2.中断过程:

    中断请求,中断判优,中断响应,中断处理,中断返回

       01:中断响应:  001:INTA^-:是INTR请求的响应

          输入INTR=1有效  INTA^-=0

       02:中断响应过程:

          001:取中断向量n

          002:FR入栈(标志寄存器)保护

          003:IF=0,TF=0(关闭中断)屏蔽单步,调域

          004:保护断点,将返回时地址CS:IP入栈保护

          005:n*4--->表地址--->4个字节--->CS:IP中断向量--->子程序入口

       03:中断响应条件:

          001:CPU当前指令执行结束

          002:对外中断INTR才有响应,对应INTA^-

          003:IF=1  开中断

              IF=0  关中断  不响应INTA^-

          004:INTA^-响应周期(略)

          005:中断返回

              IRET    IP

                    CS  出栈  恢复

                    FR

 

  3.软件中断:

    01:指令中断:INT  n 调用中断

    02:不执行  INTA^-

    03:不从D7-D0取n,而是直接给出

    04:不受IF影响

    05:受TF影响

    (IF外中断  TF内中断)

 

  4.中断服务子程序结构:

    01:保护现场:CPU内一些寄存器入栈

    02:开中断

    03:中断处理

    04:恢复现场

    05:IRET中断返回,返回上一级程序

posted @ 2018-06-03 16:31  <白泽>  阅读(553)  评论(0编辑  收藏  举报