3.8086/8088微处理器结构

80X86微处理器

(一)知识范围

8086/8088CPU的内部结构和外部引线; 8086/8088CPU的工作方式;8086/8088CPU系统总线的形成;8086/8088的存储器结构;总线操作及时序。

(二)考核要求

  1. 掌握8086/8088CPU的功能构成及流水线技术,理解流水线管理规则。
  2. 掌握 8086/8088CPU寄存器的组成及其应用。
  3. 理解8086/8088CPU的内存分配,掌握实地址模式下的存储器地址变换方法。
  4. 掌握8086/8088CPU的引脚构成,理解其引脚复用的特性。

目录

存储器组织结构

Intel 8086微处理器

寻址空间和数据存储格式

寻址空间

数据存储格式

8086系统存储器结构

 存储器的分段结构和物理地址的形成

 存储器的分段结构

物理地址的形成

按信息特征分段存储

8086微处理器的内部结构

8086CPU的内部结构

8086CPU的寄存器结构

地址指针与变址寄存器

控制寄存器

标志寄存器FLAGS

8060总线的工作周期

总线的周期时序

 8086中断系统

 外部中断

 不可屏蔽中断(NMI中断)

可屏蔽中断(INTR中断)

内部中断

8086微处理器外部基本引脚与工作模式

8086系统总线构成

 两种模式下公用的引脚信号

地址总线、数据总线、状态信号

 控制总线

其他信号


存储器组织结构

Intel 8086微处理器

  1. 8086 CPU是1位的第三代微处理器,其内部数据总线外部数据总线均16位。
  2. 8086具有20位地址总线,可寻址的内存地址空间达1M字节,可寻址的I/O地址空间为64K 字节。
  3. 8086有多重寻址方法、多级中断方法、多重数据处理形式、段式存储器结构、硬件乘除法运算电路。取指令和执行指令的操作并行运行,运行速度大大提高。
  4. 8086具有最小模式最大模式,应用领域宽广,适应性强。
  5. 8086可方便地和数据处理器8087、I/O处理器8089或其他处理器组成多处理机系统,提高数据处理能力和输入输出能力。

寻址空间和数据存储格式

寻址空间

当存储器按字节编址时,若地址总线为n位,CPU寻址范围是2^{n}字节。

例如: 8086CPU有地址总线20位,寻址能力为2^{20}=1M字节

20位地址线,可寻址的地址范围为00000H~FFFFFH

数据存储格式

计算机中信息的单位有:位(bit )、字节(byte)、字(word)、双字(double word)等。

字节数据(byte): 8位,偶地址(地址的最低位A_{0}=0),或奇地址A_{0}=1)

字数据(Word):16位,存放在两个连续的字节单位中。

其中高8位存放在高地址字节(高字节),低8位存放在低地址字节(低字节),并规定将低字节的地址作为这个字的地址(字地址

 双字数据(double word):双字数据占用4个连续字节单元,并规定最低字节地址为双字的地址

 数据的地址对齐

同一个存储器地址可以表示为:

          字节单元地址、字单元地址、双字单元地址等(视指令具体情况)。将字单元安排在偶地址(xx.......xx0B),将双字单元安排在模4地址(xx.......xx00B)的做法,被称为“地址对齐(Align)”。

存储的数据如果对齐边界,则存取速度较快

8086系统存储器结构

 

 存储器的分段结构和物理地址的形成

 存储器的分段结构

由于8086中的地址寄存器都是16位的,用户不能直接使用20位的物理地址,编程是需要使用逻辑地址来寻址存储单元。

逻辑地址由两个16位数构成,其形式为:

段的起始地址:  段内的偏移地址

(16位段地址):(16位偏移量)

8086将存储空间分为多个逻辑段(Segment)来进行管理,要求:

段的20位的起始地址(xxxxxH)其低4位必须为0(xxxx0H),

所以可以将他们省略,然后用1个16位数来表示段的首地址。

 每段长度限2^{16}=64KB,所以段内偏移地址可以用一个16位数表示(xxxxH)1M最多可分为16个不重叠的段。

实际上,两个不同的逻辑段可以交叠,或者完全重叠

物理地址的形成

每个存储单元都有一个唯一物理地址(00000H~FFFFFH),20位二进制数,该地址在指令执行时由地址加法器形成,并进行硬件寻址。

地址加法器的具体做法:段地址左移4位,然后加上偏移地址就得到20位物理地址。

例如:7018:FE7F

CS=7018H,IP=FE1FE,

物理地址=7FFFFH

物理地址形成过程

用户编程时采用逻辑地址,其形式为:段的首地址:段内偏移地址   它们由两个16位的无符号数构成。

逻辑地址“1460H:100H”=物理地址14700H

一个逻辑单元可以多个逻辑地址,但只能有一个唯一的物理地址。

例如:物理地址:00200H

           逻辑地址:0000H:0200H

           逻辑地址:0020H:0000H

按信息特征分段存储

存储器可以划分为:程序区、数据区、堆栈区

程序段中存储程序的指令代码;数据段附加段中存储数据、中间结果和最后结果、堆栈段存储压入堆栈的数据或状态信息。

8086微处理器的内部结构

8086CPU的内部结构

8086CPU内部结构分为两部分:

总线接口部件BIU:总线接口单元BIU,负责控制存储器的读写。

控制部件EU:执行单元EU从指令队列中取出指令并执行。

特点:接口部分和执行指令分开进行,提高了速度。

8086CPU的内部结构

 解读:

四个专用寄存器

        SP:堆栈指针,其内容与堆栈段寄存器SS的内容一起,提供堆栈操作地址。

        BP:基址指针,构成段内偏移地址的一部分。

        SI:(Source Index),SI含有源地址的意思,产生有效地址或实际地址的偏移量。

        DI:(Destination Index),DI含有目的地址的意思,产生有效地址或实际地址的偏移量。

算数逻辑单元ALU

        主要是加法器,大部分指令的执行由加法器完成。

标志寄存器

   16位字利用了9位,标志分为两类:

        控制状态(6位):反映刚刚完成的操作结果情况。

        控制标志(3位):在某些指令操作中起控制作用。

四个段寄存器:CS、DS、SS、ES

        CS:管理代码段

        DS:管理数据段

        SS:管理堆栈段

        ES:管理附加段

16位指令指针寄存器IP

        IP中的内容是下一条指令对现行代码段基地址的偏移量。

6字节的指令队列缓冲器

        指令队列共6字节,总线接口部分BIU从内存指令取来的总是放在指令队列中,执行部分EU从指令队列取指令,并执行。

8086CPU的寄存器结构

 数据寄存器

8086含4个16位数据寄存器,他们又可分为8个8位寄存器,

  • AX——AH,AL
  • BX——BH,BL
  • CX——CH,CL
  • DX——DH,DL

常用来存放参与运算的操作数或运算结果

数据寄存器特有的习惯用法

AX:累加器,多用来存放中间运算结果。所有I/O指令必须通过AX与接口传送信息。

BX:基址寄存器,常用于存放访问内存时的偏移地址。

CX:计数寄存器,用于在循环或串操作指令中存放循环次数或重复次数。

DX:数据寄存器,在32位乘除运算时,存放高16位数。在间接寻址的I/O指令中存放I/O端口地址

段寄存器

段寄存器为信息按特征分段存储带来方便

CS:16位的代码段寄存器,管理程序段

DS:16位的数据段寄存器,管理数据段

ES:16为的扩展段(附加段)寄存器,管理扩展段

SS:16位的堆栈段寄存器,管理堆栈段

地址指针与变址寄存器

SP:堆栈指针寄存器,内容为栈顶的偏移地址。

BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。

BX和BP在应用上的区别:

作为通用寄存器,二者均可用于存放数据

作为基址寄存器,BX通常用于数据段,一般与DS或ES搭配使用,BP则通常用于堆栈段,与SS搭配使用。

SI:源变址寄存器

DI:目标变址寄存器

变址寄存器常用于指令的间接寻址或变址寻址。

控制寄存器

1. 指令指针寄存器IP,其内容为下一条要执行的指令的偏移地址。

标志寄存器FLAGS

16位标志寄存器,用来存放运算结果的特征,其中7位没有定义,其余9位分成两类:

        状态标志:表示运算后结果都状态特征它影响后面的操作,有6位:CF、PF、AF、ZF、SF和OF

        控制标志:用来控制CPU操作,有3个:TF、IF、DF

FLAGS寄存器
  • CF——进位标志:算数运算时有进位CF=1,无进位CF=0
  • PF——奇偶标志:运算结果中”1“的个数为偶数PF=1
  • AF——辅助进位标志:第3位向第4位有进位时AF=1
  • ZF——标志:运算结果为”0“则ZF=1
  • SF——符号标志:运算结果为负数是SF=1
  • OF——溢出标志:运算结果超出规定范围OF=1
  • IF——中断允许标志:IF=1中断允许
  • DF——方向标志:DF=0地址+1
  • TF——跟踪标志:TF=1为单步工作方式

8060总线的工作周期

首先要了解的概念

主频:CPU的工作效率

时钟周期:对主频进行分频后的工作时钟

总线周期:完成一次总线操作所需的时间。

8088CPU中,CPU与内存或接口间进行通信,如将一个字节写入内存一个单元(或接口),或者从内存某单元(或接口)读一个字节到CPU,这种读/写的过程称为一个总线周期。

指令周期:一条指令从开始取指令到最后执行完毕所需的时间

总线的周期时序

 一个总线周期正常情况下由4个时钟周期(T1-T4)组成,时钟周期由主频决定

空闲周期T_{i}和等待周期T_{w}

读、写、中断响应、总线保持与响应等待的总线周期时序

 8086中断系统

  • 8086/8088可以处理256种不同的中断
  • 两类:内部中断、外部中断
中断源示意图

 外部中断

8086CPU提供两种引脚 INTR、NMI 接受中断请求信号

 不可屏蔽中断(NMI中断)

  • 中断类型码 2
  • 上升沿触发申请中断
  • 不受中断允许标志IF的控制与影响(即不可屏蔽),一旦NMI引脚出现中断请求,CPU在当前指令执行完后,必须立即响应。
  • 由计算机内部硬件出错而引发,一般用于处理紧急事情。PC机中用于内存奇偶娇颜出错和系统主要故障(如电源断电等)。

可屏蔽中断(INTR中断)

  • 外设申请的中断
  • 电平触发
  • 受中断允许标志IF控制

        IF=1(指令STI),开中断,允许响应INTR中断

        IF=0(指令CLI),关中断,禁止响应INTR中断

当外设对CPU有服务请求,会向INTR发送一个高电平信号,(见上图),并且中断允许标志IF=1时,CPU会在当前指令执行完后,响应可屏蔽中断。

        8086CPU只有一个可屏蔽中断请求输入引脚,8086中断系统设计中断控制器(8259A)管理各种外设提出的中断请求。所有外设的中断请求信号都可送至8259A的中断请求输入端IRQ0~IRQ7任何一个,8259A选择其中优先级最高的中断请求,送至CPU的INTR引脚,向CPU申请可屏蔽中断。

可屏蔽中断源的中断类型码由8259A提供。

 8259A可对多个可屏蔽中断源进行优先级控制,一片8259A可管理8级可屏蔽中断

内部中断

不需要外部硬件的支持,不受中断标志IF的影响,中断类型码或包含在指令中,或预先规定。

8086/8088内部有五种:

  • 除法出错中断
  • 断点中断
  • 单步中断
  • 溢出中断
  • 软件中断

8086微处理器外部基本引脚与工作模式

8086系统总线构成

最小模式系统中只有8086一个微处理器,所有的总线控制信号均为8086产生,系统中的总线控制逻辑电路,减少到最少。

最大模式:用于大型(中型)8086系统中。系统总是包含有两个或多个微处理器,其中一个主处理器就是8086,还有协处理器8087、8089等。通常由专门的总线控制器(8288)产生总线控制信号。

8086采用双列直插式(Double In line PackageDIP)封装,具有40条引脚,使用+5V电源供电。

时钟频率有三种:5MHz(8086)、8MHz(8086-1)和10MHz(8086-2)。其引脚信号如下图括号内为最大模式时引脚名称。

 两种模式下公用的引脚信号

8086引脚信号定义

所谓三态是指总线输出可以有三个状态:高电平、低电平、高阻状态。

当处于高阻状态时,该总线在逻辑上与所有连接负载断开。

地址总线、数据总线、状态信号

1. AD_{15}~AD_{0}(2~16,39)

地址/数据复用总线。

双向、三态。

分时输出低16位地址信号及进行数据信号的输入/输出。

A15-A0:T1输出访问存储器或I/O的地址信息。

D15-D0:T2-T4输出与存储器和I/O设备交换数据信息。

2. A19/S6——A16/S3(35-38)

地址/状态复用线。

输出、三态。

分时输出地址的高4 位及状态信息。

A19-A16:T1输出访问存储器的20位地址的高4位地址A19-A16

S6-S3:T2-T4输出CPU的工作状态

  • 其中S6为0用以指示8086当前与总线连通
  • S5为1表明8086可以响应可屏蔽中断
  • S4、S3共有4个组合状态,用以指明当前使用的段寄存器。

 3. BHE/S7(34)

高8位数据总线有效/状态复用引脚。

三态输出

表示高8位数据线D_{15}~D_{8}上的数据有效和S7状态信号。

T2-T4状态输出S7状态信号,8086中无定义

偶地址单元数据通过数据总线低8位传输

奇地址单元数据通过数据总线高8位传输

 控制总线

1. RD(32)

读信号

三态输出

低电平有效

RD=0,表示CPU正在读存储器或I/O端口

2. READY(22)

准备就绪信号

输入高电平有效

READY=1,表示CPU访问的存储器或I/O端口已准备好传送数据,若CPU在总线周期T3状态检测到READY=0,表示未准备好,CPU自动插入一个或多个状态TW,直到READY=1为止

3. TEST(23)

测试信号,输入。

当CPU执行WAIT指令时,CPU每隔5个T状态进行一次测试。

当测试到TEST=1,则CPU重复执行WAIT指令,即CPU处于空闲等待状态,

直到测试到TEST=0时,等待状态结束,CPU继续执行后续指令,

4. RESET(21)

复位信号,输入。高电平有效

RESET信号至少要保持4个时钟周期

复位时:标志寄存器、IP、DS、SS、ES为0,CS=FFFFH,复位后CPU从FFFF0H处开始执行。

5. INIR(18)

可屏蔽中断请求信号

输入、高电平有效

INIR=1,表示外设向CPU发出中断请求,CPU在当前指令周期的最后一个T状态取采样该信号,若此时,IF=1,CPU响应中断,执行中断服务程序。

6. NMI(17)

不可屏蔽中断请求信号

输入、上升沿触发

该请求信号不受IF状态的影响,也不能用软件屏蔽,一旦该信号有效,则执行完当前指令后立即响应中断。

7. MN/MX (33)

工作模式选择信号

输入

  • MN/MX=1,表示CPU工作在最小模式系统
  • MN/MX=0,表示CPU工作在最大模式系统

其他信号

1. VCC(40)GND(1,20)

电源、接地引脚

输入

8086采用单一的+5V电源

但有两个接地引脚

2. CLK(19)

时钟信号输入引脚

要求时钟信号的占空比为33%,即1/3周期为高电平,2/3周期为低电平。

版权声明:本文为CSDN博主「肆伍玖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_56254360/article/details/122521664

80X86微处理器

(一)知识范围

8086/8088CPU的内部结构和外部引线; 8086/8088CPU的工作方式;8086/8088CPU系统总线的形成;8086/8088的存储器结构;总线操作及时序。

(二)考核要求

  1. 掌握8086/8088CPU的功能构成及流水线技术,理解流水线管理规则。
  2. 掌握 8086/8088CPU寄存器的组成及其应用。
  3. 理解8086/8088CPU的内存分配,掌握实地址模式下的存储器地址变换方法。
  4. 掌握8086/8088CPU的引脚构成,理解其引脚复用的特性。

目录

存储器组织结构

Intel 8086微处理器

寻址空间和数据存储格式

寻址空间

数据存储格式

8086系统存储器结构

 存储器的分段结构和物理地址的形成

 存储器的分段结构

物理地址的形成

按信息特征分段存储

8086微处理器的内部结构

8086CPU的内部结构

8086CPU的寄存器结构

地址指针与变址寄存器

控制寄存器

标志寄存器FLAGS

8060总线的工作周期

总线的周期时序

 8086中断系统

 外部中断

 不可屏蔽中断(NMI中断)

可屏蔽中断(INTR中断)

内部中断

8086微处理器外部基本引脚与工作模式

8086系统总线构成

 两种模式下公用的引脚信号

地址总线、数据总线、状态信号

 控制总线

其他信号


存储器组织结构

Intel 8086微处理器

  1. 8086 CPU是1位的第三代微处理器,其内部数据总线外部数据总线均16位。
  2. 8086具有20位地址总线,可寻址的内存地址空间达1M字节,可寻址的I/O地址空间为64K 字节。
  3. 8086有多重寻址方法、多级中断方法、多重数据处理形式、段式存储器结构、硬件乘除法运算电路。取指令和执行指令的操作并行运行,运行速度大大提高。
  4. 8086具有最小模式最大模式,应用领域宽广,适应性强。
  5. 8086可方便地和数据处理器8087、I/O处理器8089或其他处理器组成多处理机系统,提高数据处理能力和输入输出能力。

寻址空间和数据存储格式

寻址空间

当存储器按字节编址时,若地址总线为n位,CPU寻址范围是2^{n}字节。

例如: 8086CPU有地址总线20位,寻址能力为2^{20}=1M字节

20位地址线,可寻址的地址范围为00000H~FFFFFH

数据存储格式

计算机中信息的单位有:位(bit )、字节(byte)、字(word)、双字(double word)等。

字节数据(byte): 8位,偶地址(地址的最低位A_{0}=0),或奇地址A_{0}=1)

字数据(Word):16位,存放在两个连续的字节单位中。

其中高8位存放在高地址字节(高字节),低8位存放在低地址字节(低字节),并规定将低字节的地址作为这个字的地址(字地址

 双字数据(double word):双字数据占用4个连续字节单元,并规定最低字节地址为双字的地址

 数据的地址对齐

同一个存储器地址可以表示为:

          字节单元地址、字单元地址、双字单元地址等(视指令具体情况)。将字单元安排在偶地址(xx.......xx0B),将双字单元安排在模4地址(xx.......xx00B)的做法,被称为“地址对齐(Align)”。

存储的数据如果对齐边界,则存取速度较快

8086系统存储器结构

 

 存储器的分段结构和物理地址的形成

 存储器的分段结构

由于8086中的地址寄存器都是16位的,用户不能直接使用20位的物理地址,编程是需要使用逻辑地址来寻址存储单元。

逻辑地址由两个16位数构成,其形式为:

段的起始地址:  段内的偏移地址

(16位段地址):(16位偏移量)

8086将存储空间分为多个逻辑段(Segment)来进行管理,要求:

段的20位的起始地址(xxxxxH)其低4位必须为0(xxxx0H),

所以可以将他们省略,然后用1个16位数来表示段的首地址。

 每段长度限2^{16}=64KB,所以段内偏移地址可以用一个16位数表示(xxxxH)1M最多可分为16个不重叠的段。

实际上,两个不同的逻辑段可以交叠,或者完全重叠

物理地址的形成

每个存储单元都有一个唯一物理地址(00000H~FFFFFH),20位二进制数,该地址在指令执行时由地址加法器形成,并进行硬件寻址。

地址加法器的具体做法:段地址左移4位,然后加上偏移地址就得到20位物理地址。

例如:7018:FE7F

CS=7018H,IP=FE1FE,

物理地址=7FFFFH

物理地址形成过程

用户编程时采用逻辑地址,其形式为:段的首地址:段内偏移地址   它们由两个16位的无符号数构成。

逻辑地址“1460H:100H”=物理地址14700H

一个逻辑单元可以多个逻辑地址,但只能有一个唯一的物理地址。

例如:物理地址:00200H

           逻辑地址:0000H:0200H

           逻辑地址:0020H:0000H

按信息特征分段存储

存储器可以划分为:程序区、数据区、堆栈区

程序段中存储程序的指令代码;数据段附加段中存储数据、中间结果和最后结果、堆栈段存储压入堆栈的数据或状态信息。

8086微处理器的内部结构

8086CPU的内部结构

8086CPU内部结构分为两部分:

总线接口部件BIU:总线接口单元BIU,负责控制存储器的读写。

控制部件EU:执行单元EU从指令队列中取出指令并执行。

特点:接口部分和执行指令分开进行,提高了速度。

8086CPU的内部结构

 解读:

四个专用寄存器

        SP:堆栈指针,其内容与堆栈段寄存器SS的内容一起,提供堆栈操作地址。

        BP:基址指针,构成段内偏移地址的一部分。

        SI:(Source Index),SI含有源地址的意思,产生有效地址或实际地址的偏移量。

        DI:(Destination Index),DI含有目的地址的意思,产生有效地址或实际地址的偏移量。

算数逻辑单元ALU

        主要是加法器,大部分指令的执行由加法器完成。

标志寄存器

   16位字利用了9位,标志分为两类:

        控制状态(6位):反映刚刚完成的操作结果情况。

        控制标志(3位):在某些指令操作中起控制作用。

四个段寄存器:CS、DS、SS、ES

        CS:管理代码段

        DS:管理数据段

        SS:管理堆栈段

        ES:管理附加段

16位指令指针寄存器IP

        IP中的内容是下一条指令对现行代码段基地址的偏移量。

6字节的指令队列缓冲器

        指令队列共6字节,总线接口部分BIU从内存指令取来的总是放在指令队列中,执行部分EU从指令队列取指令,并执行。

8086CPU的寄存器结构

 数据寄存器

8086含4个16位数据寄存器,他们又可分为8个8位寄存器,

  • AX——AH,AL
  • BX——BH,BL
  • CX——CH,CL
  • DX——DH,DL

常用来存放参与运算的操作数或运算结果

数据寄存器特有的习惯用法

AX:累加器,多用来存放中间运算结果。所有I/O指令必须通过AX与接口传送信息。

BX:基址寄存器,常用于存放访问内存时的偏移地址。

CX:计数寄存器,用于在循环或串操作指令中存放循环次数或重复次数。

DX:数据寄存器,在32位乘除运算时,存放高16位数。在间接寻址的I/O指令中存放I/O端口地址

段寄存器

段寄存器为信息按特征分段存储带来方便

CS:16位的代码段寄存器,管理程序段

DS:16位的数据段寄存器,管理数据段

ES:16为的扩展段(附加段)寄存器,管理扩展段

SS:16位的堆栈段寄存器,管理堆栈段

地址指针与变址寄存器

SP:堆栈指针寄存器,内容为栈顶的偏移地址。

BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。

BX和BP在应用上的区别:

作为通用寄存器,二者均可用于存放数据

作为基址寄存器,BX通常用于数据段,一般与DS或ES搭配使用,BP则通常用于堆栈段,与SS搭配使用。

SI:源变址寄存器

DI:目标变址寄存器

变址寄存器常用于指令的间接寻址或变址寻址。

控制寄存器

1. 指令指针寄存器IP,其内容为下一条要执行的指令的偏移地址。

标志寄存器FLAGS

16位标志寄存器,用来存放运算结果的特征,其中7位没有定义,其余9位分成两类:

        状态标志:表示运算后结果都状态特征它影响后面的操作,有6位:CF、PF、AF、ZF、SF和OF

        控制标志:用来控制CPU操作,有3个:TF、IF、DF

FLAGS寄存器
  • CF——进位标志:算数运算时有进位CF=1,无进位CF=0
  • PF——奇偶标志:运算结果中”1“的个数为偶数PF=1
  • AF——辅助进位标志:第3位向第4位有进位时AF=1
  • ZF——标志:运算结果为”0“则ZF=1
  • SF——符号标志:运算结果为负数是SF=1
  • OF——溢出标志:运算结果超出规定范围OF=1
  • IF——中断允许标志:IF=1中断允许
  • DF——方向标志:DF=0地址+1
  • TF——跟踪标志:TF=1为单步工作方式

8060总线的工作周期

首先要了解的概念

主频:CPU的工作效率

时钟周期:对主频进行分频后的工作时钟

总线周期:完成一次总线操作所需的时间。

8088CPU中,CPU与内存或接口间进行通信,如将一个字节写入内存一个单元(或接口),或者从内存某单元(或接口)读一个字节到CPU,这种读/写的过程称为一个总线周期。

指令周期:一条指令从开始取指令到最后执行完毕所需的时间

总线的周期时序

 一个总线周期正常情况下由4个时钟周期(T1-T4)组成,时钟周期由主频决定

空闲周期T_{i}和等待周期T_{w}

读、写、中断响应、总线保持与响应等待的总线周期时序

 8086中断系统

  • 8086/8088可以处理256种不同的中断
  • 两类:内部中断、外部中断
中断源示意图

 外部中断

8086CPU提供两种引脚 INTR、NMI 接受中断请求信号

 不可屏蔽中断(NMI中断)

  • 中断类型码 2
  • 上升沿触发申请中断
  • 不受中断允许标志IF的控制与影响(即不可屏蔽),一旦NMI引脚出现中断请求,CPU在当前指令执行完后,必须立即响应。
  • 由计算机内部硬件出错而引发,一般用于处理紧急事情。PC机中用于内存奇偶娇颜出错和系统主要故障(如电源断电等)。

可屏蔽中断(INTR中断)

  • 外设申请的中断
  • 电平触发
  • 受中断允许标志IF控制

        IF=1(指令STI),开中断,允许响应INTR中断

        IF=0(指令CLI),关中断,禁止响应INTR中断

当外设对CPU有服务请求,会向INTR发送一个高电平信号,(见上图),并且中断允许标志IF=1时,CPU会在当前指令执行完后,响应可屏蔽中断。

        8086CPU只有一个可屏蔽中断请求输入引脚,8086中断系统设计中断控制器(8259A)管理各种外设提出的中断请求。所有外设的中断请求信号都可送至8259A的中断请求输入端IRQ0~IRQ7任何一个,8259A选择其中优先级最高的中断请求,送至CPU的INTR引脚,向CPU申请可屏蔽中断。

可屏蔽中断源的中断类型码由8259A提供。

 8259A可对多个可屏蔽中断源进行优先级控制,一片8259A可管理8级可屏蔽中断

内部中断

不需要外部硬件的支持,不受中断标志IF的影响,中断类型码或包含在指令中,或预先规定。

8086/8088内部有五种:

  • 除法出错中断
  • 断点中断
  • 单步中断
  • 溢出中断
  • 软件中断

8086微处理器外部基本引脚与工作模式

8086系统总线构成

最小模式系统中只有8086一个微处理器,所有的总线控制信号均为8086产生,系统中的总线控制逻辑电路,减少到最少。

最大模式:用于大型(中型)8086系统中。系统总是包含有两个或多个微处理器,其中一个主处理器就是8086,还有协处理器8087、8089等。通常由专门的总线控制器(8288)产生总线控制信号。

8086采用双列直插式(Double In line PackageDIP)封装,具有40条引脚,使用+5V电源供电。

时钟频率有三种:5MHz(8086)、8MHz(8086-1)和10MHz(8086-2)。其引脚信号如下图括号内为最大模式时引脚名称。

 两种模式下公用的引脚信号

8086引脚信号定义

所谓三态是指总线输出可以有三个状态:高电平、低电平、高阻状态。

当处于高阻状态时,该总线在逻辑上与所有连接负载断开。

地址总线、数据总线、状态信号

1. AD_{15}~AD_{0}(2~16,39)

地址/数据复用总线。

双向、三态。

分时输出低16位地址信号及进行数据信号的输入/输出。

A15-A0:T1输出访问存储器或I/O的地址信息。

D15-D0:T2-T4输出与存储器和I/O设备交换数据信息。

2. A19/S6——A16/S3(35-38)

地址/状态复用线。

输出、三态。

分时输出地址的高4 位及状态信息。

A19-A16:T1输出访问存储器的20位地址的高4位地址A19-A16

S6-S3:T2-T4输出CPU的工作状态

  • 其中S6为0用以指示8086当前与总线连通
  • S5为1表明8086可以响应可屏蔽中断
  • S4、S3共有4个组合状态,用以指明当前使用的段寄存器。

 3. BHE/S7(34)

高8位数据总线有效/状态复用引脚。

三态输出

表示高8位数据线D_{15}~D_{8}上的数据有效和S7状态信号。

T2-T4状态输出S7状态信号,8086中无定义

偶地址单元数据通过数据总线低8位传输

奇地址单元数据通过数据总线高8位传输

 控制总线

1. RD(32)

读信号

三态输出

低电平有效

RD=0,表示CPU正在读存储器或I/O端口

2. READY(22)

准备就绪信号

输入高电平有效

READY=1,表示CPU访问的存储器或I/O端口已准备好传送数据,若CPU在总线周期T3状态检测到READY=0,表示未准备好,CPU自动插入一个或多个状态TW,直到READY=1为止

3. TEST(23)

测试信号,输入。

当CPU执行WAIT指令时,CPU每隔5个T状态进行一次测试。

当测试到TEST=1,则CPU重复执行WAIT指令,即CPU处于空闲等待状态,

直到测试到TEST=0时,等待状态结束,CPU继续执行后续指令,

4. RESET(21)

复位信号,输入。高电平有效

RESET信号至少要保持4个时钟周期

复位时:标志寄存器、IP、DS、SS、ES为0,CS=FFFFH,复位后CPU从FFFF0H处开始执行。

5. INIR(18)

可屏蔽中断请求信号

输入、高电平有效

INIR=1,表示外设向CPU发出中断请求,CPU在当前指令周期的最后一个T状态取采样该信号,若此时,IF=1,CPU响应中断,执行中断服务程序。

6. NMI(17)

不可屏蔽中断请求信号

输入、上升沿触发

该请求信号不受IF状态的影响,也不能用软件屏蔽,一旦该信号有效,则执行完当前指令后立即响应中断。

7. MN/MX (33)

工作模式选择信号

输入

  • MN/MX=1,表示CPU工作在最小模式系统
  • MN/MX=0,表示CPU工作在最大模式系统

其他信号

1. VCC(40)GND(1,20)

电源、接地引脚

输入

8086采用单一的+5V电源

但有两个接地引脚

2. CLK(19)

时钟信号输入引脚

要求时钟信号的占空比为33%,即1/3周期为高电平,2/3周期为低电平。

版权声明:本文为CSDN博主「肆伍玖」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_56254360/article/details/122521664

生成海报
点赞 0

肆伍玖

我还没有学会写个人说明!

暂无评论

相关推荐

3.8086/8088微处理器结构

80X86微处理器 (一)知识范围 8086/8088CPU的内部结构和外部引线; 8086/8088CPU的工作方式;8086/8088CPU系统总线的形成;8086/

基于8051单片机实现电子时钟+数字秒表设计

概述 电子时钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显 示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许

CC2530 常用寄存器

一、端口初始化相关寄存器 代码示例:用按键1和按键2分别控制D4和D6灯 点我跳转 二、INT相关寄存器 代码示例:利用key1,key2来产生中断控制D3,D5灯,key1,key2为下降沿触

Esp8266多功能点阵时钟(开源)

原文地址 多功能点阵时钟 更新 点阵时钟立创PCB工程已经完成,开源地址为: ESP8266多功能点阵时钟 - PCB制作分享 简介 很早就了解ESP8266了,当时也用这个搞过一些小demo,一直也没有想