微机原理与接口技术 第2章 8086系统结构 朱华贵 2015年09月17日
本章主要内容 1 半导体存储器的分类 2 3 4 8086微处理器的结构 8086微处理器的工作模式及引脚特性 8086微型计算机系统 8086微型计算机系统的总线时序 4
2.1 8086微型计算机系统的总线时序 8086是Intel系列的16位微处理器,采用HMOS工艺制造,有16根数据线和20根地址线,封装在40脚双列直插组件(DIP)中。 8086工作时,使用单一的+5V电源,时钟频率为5MHz,引脚信号与TTL电平兼容。
2.1 8086微型计算机系统的总线时序 8086可寻址的内存地址空间达220,即1MB; 8086可寻址的I/O地址空间达216,即64KB; Intel公司在推出8086的同时一年,还推出了一款准16位的CPU——8088。 8088与8086相比: 内部结构基本相同,两者的软件也完全兼容。 8086的数据总线是16位的; 8088的数据总线是8位的。
2.1.1 8086微处理器的结构 8086由执行部件EU(Execution Unit)和总线接口部件BIU(Bus Interface Unit)两部分组成,这两个部件的操作是并行的。 EU负责指令的执行; BIU负责CPU与存储器、I/O设备之间的数据传送。 EU BIU 指令队列
2.1.1 8086微处理器的结构
1、执行部件EU EU组成: 算术逻辑单元(ALU),可完成8位或16位操作数进行算术或逻辑运算; 8个16位通用寄存器(AX、BX、CX、DX、SI、DI、SP和BP); 标志寄存器; 控制电路。 EU功能:负责指令的执行,即: 从总线接口部件BIU的指令队列取得指令,执行之后向BIU送回运算结果,并把运算结果的状态特征保存到标志寄存器中。
2、总线接口部件BIU BIU组成: 4个16位段寄存器(DS、CS、ES、SS); 指令指针寄存器(IP); 20位的地址加法器; 6字节指令队列缓冲器; 内部暂存器和总线控制逻辑。 BIU功能:负责CPU与存储器、I/O设备之间的数据传送。具体包括: 取指令送指令队列,配合EU从指定的内存单元或者外设端口中取数据,将数据传送给EU,或者把EU的操作结果传送到指定的内存单元或外设端口中。
2、总线接口部件BIU 1)段寄存器 8086采用存储器地址分段的方法来解决在16位字长的计算机里提供20位地址的问题。 段寄存器就是专门存放段地址的寄存器,每个段寄存器的值可以确定一个段的起始地址,而各段有不同的用途。 8086中有4个16位段寄存器,它们是:CS(代码段寄存器)、DS(数据段寄存器)、SS(堆栈段寄存器)和ES(附加段寄存器)。
2、总线接口部件BIU 2)指令指针寄存器IP 指令指针寄存器IP提供下一条要取出的指令所在存储单元的16位偏移地址。
2、总线接口部件BIU 3)地址加法器 8086CPU采用段地址、段内偏移地址两级存储器寻址方式,由一个20位地址加法器根据16位段地址和16位段内偏移地址计算出20位的物理地址PA(Physical Address)。 其计算方法是:将CPU中的16位段寄存器内容左移4位(×16)与16位的逻辑地址(又称偏移地址)在地址加法器内相加,得到所寻址单元的20位物理地址。 根据寻址方式的不同,偏移地址可以来自指令指针寄存器(IP)或其它寄存器。 假设(CS)=FE00H,(IP)=0400H,那么下一条要取出的指令所在内存单元的20位物理地址PA=FE00H×10H+0400H=FE400H。
2、总线接口部件BIU 4)内部暂存器 用于内部数据的暂存,该部分对用户透明,在编程时可不予理会,用户无权访问。
2、总线接口部件BIU 5)指令队列缓冲器 8086有6字节指令队列缓冲器; 8088有4字节指令队列缓冲器; 在执行指令的同时,可以从内存中取出下一条或下几条指令放到缓冲器中,一条指令执行完后,可立即执行下一条指令,从而解决了以往CPU取指令期间,运算器的等待问题。
2、总线接口部件BIU 6)总线控制逻辑 总线控制逻辑发出总线控制信号,实现存储器的读/写控制和I/O的读写控制。它将CPU内部总线与外部总线相连,是CPU与外部电路进行数据交换的路径。 总线控制逻辑控制8086通过20条引脚线分时传送20位地址线、16位数据和4位状态信息。
3、BIU和EU的工作过程 8086的总线BIU和EU在很多时候可以并行工作,使得取指令、指令译码和执行指令这些操作构成操作流水线。 当指令队列中有两个空字节,且EU没有访问存储器和I/O接口的要求时,BIU会自动把指令取到指令队列中。
3、BIU和EU的工作过程 当EU准备执行一条指令时,它会从指令队列前部取出指令执行。在执行指令的过程中,如果需要访问存储器或者I/O设备,那么EU会向BIU发出访问总线的请求,以完成访问存储器或者I/O接口的操作。如果此时BIU正好处于空闲状态,那么,会立即响应EU的总线请求;但如果BIU正在将某个指令字节取到指令队列中,那么,BIU将首先完成这个取指令操作,然后再去响应EU发出的访问总线的请求。
3、BIU和EU的工作过程 当指令队列已满,而且EU又没有总线访问时,BIU便进入空闲状态。 在执行转移指令、调用指令和返回指令时,下面要执行的指令就不是在程序中紧接着的那条指令了,而BIU往指令队列装入指令时,总是按顺序进行的。在这种情况下,指令队列中已经装入的指令就没有用了,会被自动消除。随后,BIU会往指令队列中装入另一个程序段中的指令。
2.1.2 8086的寄存器结构 寄存器是CPU内部用来存放地址、数据和状态标志的部件。 8086有14个16位寄存器和8个8位寄存器。 按用途可以分为以下几类: 数据寄存器; 指针和变址寄存器; 段寄存器; 指令指针寄存器; 标志寄存器。
1、数据寄存器AX、BX、CX、DX 数据寄存器主要用来存放操作数或中间结果,以减少访问存储器的次数。有: 8个8位的寄存器:AH、AL、BH、BL、CH、CL、DH、DL; 这些寄存器均可独立使用。 多数情况下,这些数据寄存器是用在算术运算或逻辑运算指令中,以进行算术逻辑运算。在有些指令中,它们则有特定的用途。 这些寄存器的用法见下表所示。
1、数据寄存器AX、BX、CX、DX 寄存器 一般用法 隐含用法 AX 16位 累加器 ①字节乘法中保存积;字乘法中隐含提供一个乘数,并保存积的低16位; ②字节除法中隐含提供被除数;字除法中隐含提供被除数的低16位,并保存商; ③CBW指令中隐含作为目标操作数; ④CWD指令中隐含作为源操作数和目标操作数的低16位; ⑤I/O指令中,保存16位输入/输出数据。 AL AX的 低8位 ①字节乘法中隐含提供一个乘数,并保存积的低8位; 字节除法中隐含提供被除数的低8位并保存商; ②CBW指令中隐含作为源操作数; ③XLAT指令中隐含提供表格首地址偏移量; ④I/O指令中,保存8位输入/输出数据。 AH 高8位 ①字节乘法中隐含提供一个乘数; ②字节除法中隐含保存余数; ③DOS和BIOS功能调用中存放功能号。
1、数据寄存器AX、BX、CX、DX 寄存器 一般用法 隐含用法 BX 基址寄存器,常用作地址寄存器 XLAT指令中提供被查表格中源操作数的间接地址。 CX 16位计数器 ①循环指令中的循环次数计数器; ②串操作指令中串长计数器。 CL CX的低8位 移位或循环移位指令中提供移位的次数。 DX 16位数据寄存器 ①字乘法中隐含保存积的高16位; ②字除法中隐含提供被除数的高16位,并保存积的高16位; ③CWD指令中隐含作为目标操作数的高16位; ④在间接寻址的I/O指令中,提供端口地址。
2、指针和变址寄存器SP、BP、SI、DI EU中有2个地址指针寄存器SP、BP和2个变址寄存器SI、DI。 用法如下表所示: 寄存器 一般用法 隐含用法 SP (堆栈指针寄存器) 保存堆栈栈顶偏移地址,与SS配合来确定堆栈在内存中的位置。 压栈、出栈操作中隐含指示栈顶 BP (基址指针寄存器) ①保存16位数据 ②保存堆栈段内存储单元的偏移地址。 SI (源变址寄存器) ②保存数据段内存储单元的偏移地址。 串操作指令中,隐含与DS配合,确定源串在内存中的位置。 DI (目的变址寄存器) 串操作指令中,隐含与ES配合,确定目标串在内存中的位置。
3、段寄存器 8086内部设置了4个16位的段寄存器,用于存放当前程序所用的各段的起始地址的高16位: CS(Code Segment),称为代码段寄存器,存放当前执行的程序所在段的起始地址。其值乘以16再加上IP的值,就形成了下一条要取出指令所在的内存单元的物理地址。 DS(Data Segment),称为数据段寄存器,存放当前数据段的起始地址。其值乘以16再加上指令中存储器寻址方式指定的偏移地址,就形成了要进行读/写的数据段中指定内存单元的物理地址。
3、段寄存器 SS(Stack Segment),称为堆栈段寄存器,存放当前堆栈段的起始地址。堆栈是按照“后进先出”原则组织的一个特殊内存区域。堆栈操作数的地址由SS的值乘以16再加上SP的值形成。 ES(Extra Segment),称为附加段寄存器,存放当前附加段的起始地址。附加段是附加的数据段,也用于数据的保存,另外,串操作指令将附加段作为其目标操作数的存放区域。
4、16位指令指针寄存器IP 指令指针寄存器IP(Instruction Pointer)存放当前代码段中的偏移地址,它与CS联用,可以形成下一条要取出指令的物理地址。 程序不能直接对IP进行存取,但能在程序运行中被自动修改。 例如,控制器取到要执行的指令后,会立刻修改IP值,使之指向下一条指令的首地址; 转移、调用、返回等指令执行,就是通过修改IP的值来控制指令序列的执行流程的。
5、标志寄存器FR FR是一个16位的寄存器。9个位用作标志位: 状态标志位有6个,记录程序中运行结果的状态信息,是根据指令的运行结果由CPU自动设置的。这些状态信息通常作为后续转移指令的转移控制条件,所以也称为条件码。 控制标志位有3个,可以编程设置,用于控制处理器执行指令的方式。控制标志设置之后,可对后面的操作产生控制作用。 未标明的位在8086中不用。 OF 11 15 12 DF 10 IF 9 TF 8 SF 7 ZF 6 5 AF 4 3 PF 2 1 CF
5、标志寄存器FR—条件标志 CF 进位标志:指令执行后,如果运算结果在最高位上产生了一个进位或借位,则CF=1;否则,CF=0。 OF 11 15 12 DF 10 IF 9 TF 8 SF 7 ZF 6 5 AF 4 3 PF 2 1 CF 进位标志:指令执行后,如果运算结果在最高位上产生了一个进位或借位,则CF=1;否则,CF=0。 CF
5、标志寄存器FR—条件标志 PF 奇偶标志:如果运算结果低八位1的个数为偶数,则PF=1;否则,PF=0。 OF 11 15 12 DF 15 12 DF 10 IF 9 TF 8 SF 7 ZF 6 5 AF 4 3 PF 2 1 CF 奇偶标志:如果运算结果低八位1的个数为偶数,则PF=1;否则,PF=0。 PF
5、标志寄存器FR—条件标志 AF 辅助进位标志:如果运算结果低4位产生了进位,则AF=1;否则,AF=0。 OF 11 15 12 DF 15 12 DF 10 IF 9 TF 8 SF 7 ZF 6 5 AF 4 3 PF 2 1 CF 辅助进位标志:如果运算结果低4位产生了进位,则AF=1;否则,AF=0。 AF
5、标志寄存器FR—条件标志 ZF 零标志:如果运算结果为0,则ZF=1;否则,ZF=0。 OF 11 15 12 DF 10 IF 9 15 12 DF 10 IF 9 TF 8 SF 7 ZF 6 5 AF 4 3 PF 2 1 CF 零标志:如果运算结果为0,则ZF=1;否则,ZF=0。 ZF
5、标志寄存器FR—条件标志 SF 符号标志:如果运算结果为正数,则SF=0;否则,SF=1。 OF 11 15 12 DF 10 IF 9 15 12 DF 10 IF 9 TF 8 SF 7 ZF 6 5 AF 4 3 PF 2 1 CF 符号标志:如果运算结果为正数,则SF=0;否则,SF=1。 SF
5、标志寄存器FR—条件标志 OF 溢出标志:如果运算过程产生了溢出,则OF=1;否则,OF=0。 OF 11 15 12 DF 10 IF 15 12 DF 10 IF 9 TF 8 SF 7 ZF 6 5 AF 4 3 PF 2 1 CF 溢出标志:如果运算过程产生了溢出,则OF=1;否则,OF=0。 OF
5、标志寄存器FR—控制标志 TF 单步标志: TF=1,处理器按单步执行指令; TF=0,处理器正常工作。 OF 11 15 12 DF 15 12 DF 10 IF 9 TF 8 SF 7 ZF 6 5 AF 4 3 PF 2 1 CF 单步标志: TF=1,处理器按单步执行指令; TF=0,处理器正常工作。 TF
5、标志寄存器FR—控制标志 IF 中断允许标志: IF=1,允许可屏蔽中断; IF=0,不允许可屏蔽中断。 OF 11 15 12 DF 15 12 DF 10 IF 9 TF 8 SF 7 ZF 6 5 AF 4 3 PF 2 1 CF 中断允许标志: IF=1,允许可屏蔽中断; IF=0,不允许可屏蔽中断。 IF
5、标志寄存器FR—控制标志 DF 方向标志(用于串操作指令): DF=1,存储器地址会自动减值; DF=0,存储器地址会自动增值。 OF 11 15 12 DF 10 IF 9 TF 8 SF 7 ZF 6 5 AF 4 3 PF 2 1 CF 方向标志(用于串操作指令): DF=1,存储器地址会自动减值; DF=0,存储器地址会自动增值。 DF
5、标志寄存器FR 状态标志的状态表示在PC 中,可由调试程序(DEBUG)显示出来。 对应符号如下表所示: 标志位名 为1对应符 为0对应符 OF DF IF SF ZF AF PF CF OV DN EI NG ZR AC PE CY NV UP DI PL NZ NA PO NC
2.2 8086微处理器的工作模式及引脚特性 2.2.1 8086的工作模式 当把8086CPU与存储器、外设构成一个计算机系统时,根据所连的存储器和外设的规模,8086CPU具有两种不同的工作模式来适应不同的应用场合: 最小模式 最大模式 8086的工作模式由硬件设计决定: 引脚连电源(+5V),则8086处在最小模式; 引脚接地,则8086处在最大模式。 MN/MX MN/MX
2.2.1 8086的工作模式 最小模式 最小模式也称为单处理器模式,是指系统中只有一片8086微处理器,所连的存储器容量不大、片子不多,所要连的I/O端口也不多,系统的控制总线就直接由CPU的控制线供给,从而使得系统中的总线控制电路被减到最少。 最小模式适用于较小规模的系统。
2.2.1 8086的工作模式 最大模式 最大模式是相对于最小模式而言的,适用于中、大型规模的系统。 在最大模式的系统中有多个微处理器,其中一个是主处理器8086,其他的处理器称为协处理器,承担某方面专门的工作。和8086配合的协处理器有数值运算协处理器8087,和输入/输出协处理器8089。 8086通过一个总线控制器8288来形成各种总线周期,控制信号由8288供给。
2.2.2 8086的引脚特性 描述方面: 引脚的功能 信号的有效电平 信号的流向 引脚的复用 三态能力
2.2.2 8086的引脚特性 数据总线为16位 地址总线为20位 40条引脚 部分引脚分时复用
2.3 8086微型计算机系统 2.2.1 8086微型计算机系统的硬件组成 系统硬件组成的特点 8086微型计算机系统的硬件组成出了包括8086微处理器外,还需要其他的部件。 8086不同的工作模式对系统的硬件组成有不同的要求,其中共同之处有: 时钟发生器8284 (1片,提供时钟) 地址锁存器8282 (3片,锁存地址信息) 数据收发器8286 (3片,增加数据总线的驱动能力 )
2.3.1 8086微型计算机系统的硬件组成 最小模式系统的硬件组成
2.3.1 8086微型计算机系统的硬件组成 最大模式系统的硬件组成
2.3.2 8086微型计算机系统的存储器组织 存储器是计算机的记忆部件,用来存放程序和数据。 按所在的位置,存储器可以分成主存储器和辅助存储器。 主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成,其成本高,容量小,但速度快。 辅助存储器可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低,容量大,但速度较慢。
1、8086的存储器空间 8086中本身没有存储器,这里是指以8086为CPU的计算机系统的存储空间; 00000H 存储单元 00001H 8086的存储器空间由若干存储单元组成; 每个字节为一个内存单元,它具有唯一的地址码。 存储单元的内容 指的是存放在存储单元中的数据; 数据可以是字节、字和双字。 存储容量 存储器能够存放数据的最大字节数; 与地址线多少相关,8086有地址线20根,故8086计 算机系统中,可寻址的存储空间最大可以是220=1M 字节。 00000H 00001H 0000FH FFFFFH
1、8086的存储器空间 存储单元地址 即为存储单元的编号,用无符号整数来表示(编程用十六进制表示); 8086物理地址范围从00000H~FFFFFH。 数据在存储单元的存放 高高低低(高字节存放在高地址,低字节存放在 低地址); 多字节数据以最低字节的地址为准; 8086CPU对字/字节的读写以从偶地址开始,16 位为单位进行操作。
1、8086的存储器空间 如图所示: 20110H单元~20113H单元存放的内容依次是12H、34H、56H、78H;
2、 存储器的分段管理 尽管8086CPU提供20位地址,但8086中可用来存放地址的寄存器如IP、SP、BX、SI等都是16位的,只能直接寻址64KB; 为了对1M个存储单元进行管理,8086CPU采用了典型的存储器分段技术。
2、 存储器的分段管理 将整个存储器空间分为许多逻辑段 每个逻辑段的容量≤64KB字节; 各个逻辑段之间可以紧密相连,也可以互相重叠; 对存储器的寻址操作采用段地址加段内偏移地址的二级寻址方式; 对于任何一个物理地址,可以唯一地被包含在一个逻辑段中,也可包含在多个相互重叠的逻辑段中,只要有段地址和段内偏移地址就可以访问到这个物理地址所对应的存储空间。
2、 存储器的分段管理 分段后,对存储器的寻址操作不再直接用20位的物理地址,而是采用段地址 + 段内偏移地址的二级寻址方式。 段地址 在8086存储空间中,把16个字节的存储空间称作一节(Paragraph),通常分段时要求各个逻辑段从节的整数边界开始,这样段首地址低4位应该是“0000”,因此就把段首地址的高16位称为“段基址(段地址)” 段地址是无符号的16位二进制数,存放在段寄存器DS、CS、SS或ES中,这些段分别称为数据段、代码段、堆栈段和附加段。
2、 存储器的分段管理 偏移地址 我们把某一存储单元相对于段首地址的偏移量称为偏移地址(也称有效地址EA)。 偏移地址也是无符号的16位二进制数,存放在IP、SP、BX、SI、DI、BP中或直接出现在指令中。
2、 存储器的分段管理 逻辑地址 采用分段结构的存储器中,把通过段地址和偏移地址来表示的存储单元的地址称为逻辑地址,记为: 段地址:偏移地址 采用分段结构的存储器中,把通过段地址和偏移地址来表示的存储单元的地址称为逻辑地址,记为: 段地址:偏移地址 逻辑地址是物理地址的一种表示方式,不是唯一的。 例如: 逻辑地址2000H:1300H、2120H:0100H和2100H:0300H表示的是同一个存储单元21300H
2、 存储器的分段管理 物理地址 物理地址(PA)是存储单元的绝对地址,20位,是CPU访问存储器的唯一的实际地址,每个存储单元对应一个物理地址; 8086的存储空间物理地址范围是00000H~FFFFFH
2、 存储器的分段管理 物理地址 = 段地址×10H+偏移地址 物理地址由逻辑地址形成 CPU中,这个过程由地址加法器完成; 例如,逻辑地址2000H:1300H,所代表的物理地址为: PA = 2000H×10H+1300H = 20000H+1300H = 21300H
2.3.3 8086微型计算机系统的I/O组织 微型计算机系统的外部设备各式各样, 8086CPU和外部设备之间是通过I/O接口芯 片进行联系; 每个I/O芯片上都有一个端口或几个端口,一 个端口往往对应于芯片上的一个寄存器或一 组寄存器; 微机系统要为每个端口分配一个地址,我们 把这个地址叫作端口地址或端口号; 各个端口号具有唯一性。
2.3.3 8086微型计算机系统的I/O组织 I/O端口有两种编址方式: 统一编址 独立编址
2.3.3 8086微型计算机系统的I/O组织 8086采用独立编址方式,使用A15~A0这16条地址 线作端口地址,可访问的I/O端口最多可有64K个8 位端口或32K个16位的端口,A19~A16总是为0; 一个8位端口相当于一个存储器字节,分配0000 ~ FFFFH中的一个地址。任何两个相邻的8位端口可 以组合成一个16位端口,类似于存储器中的字。 8086中,有专门的指令来访问I/O接口,如输入指 令IN,输出指令OUT。
2.4 8086微型计算机系统的总线时序 2.4.1 基本概念 微型计算机系统的所有操作都按统一的时钟节拍进行。 CPU执行指令时涉及三种周期: 时钟周期 总线周期 指令周期
1、时钟周期 计算机是一个复杂的时序逻辑电路,时序逻辑电路都有“时钟”信号。 计算机的“时钟”是由振荡源产生的、幅度和周期不变的节拍脉冲,每个脉冲周期称为时钟周期(Clock Cycle),又称为T状态。 计算机是在时钟脉冲的统一控制下,一个节拍一个节拍地工作的。 时钟周期是微机系统工作的最小时间单元,取决于系统的主频率,系统完成任何操作所需要的时间,均是时钟周期的整数倍。 例如,IBM-PC机时钟频率为4.77MHz,一个T状态为210ns T
2、总线周期 当CPU访问M或I/O端口,需要通过总线进行读或写操作。与CPU内部操作相比,通过总线进行的操作需要较长的时间。 把CPU通过总线进行某种操作的过程称为总线周期(Bus Cycle),表示从M或I/O端口存取一个数据所需的时间。 根据总线操作功能的不同,分为: 存储器读周期 存储器写周期 I/O读周期 I/O写周期 一个基本的总线周期由4个时钟周期组成(T1、T2、T3、T4)。
一个基本的总线周期
2、总线周期 在有些情况下,外设或存储器速度较慢,不能及时地配合CPU传送数据。这时,外设或存储器会通过“READY”信号线在T3状态启动之前向CPU发一个“数据未准备好”信号,于是CPU会在T3之后插入1个或多个附加的时钟周期等待状态Tw。 只有在CPU和内存或I/O接口之间传输数据,以及填充指令队列时,CPU才执行总线周期。可见,如果在一个总线周期之后,不立即执行下一个总线周期,那么,系统总线就处在空闲状态,此时,执行空闲周期TI。
3、时钟周期 每条指令的执行包括取指令(fetch)、译码(decode)和执行(execute)。 指令周期是指执行一条指令所用的时间。 指令周期是由1个或多个总线周期组合而成。或者说,指令周期可以被划分为若干个总线周期。 8086中不同指令的指令周期是不等长的。 对于8086CPU来说,在EU执行指令的时候,BIU可以取下一条指令。由于EU和BIU可以并行工作,8086指令的最短执行时间可以是两个时钟周期,一般的加、减、比较、逻辑操作是几十个时钟周期,最长的为16位乘除法约要200个时钟周期。
三者关系: 指令周期 总线周期 …… 时钟周期
2.4.2 最小模式下的总线周期时序 最小模式下的读周期时序 读周期是指CPU从存储器或I/O端口读取数据的总线周期。
2.4.2 最小模式下的总线周期时序 最小模式下的写周期时序 写周期是指CPU中的数据送到存储器或I/O端口的总线周期。
2.4.2 最小模式下的总线周期时序 中断响应周期时序 中断是指CPU中止当前程序的执行,而去执行一个中断服务程序的过程。 8086可以处理256种不同的中断,分为硬件中断和软件中断。硬件中断是由外部设备引发的,分为非屏蔽中断和可屏蔽中断两类。 非屏蔽中断是通过CPU的NMI引脚引入的,其请求信号为一上升沿触发信号,并要求维持两个时钟周期的高电平。当有非屏蔽中断请求时,不管CPU正在做什么事情,都会响应,级别很高。
2.4.2 最小模式下的总线周期时序 中断响应周期时序 一般外部设备的中断是通过INTR引脚向CPU发出中断请求的,这个可屏蔽中断请求信号的有效电平(高电平),必须维持到CPU响应中断为止。若标志IF=1,表示CPU允许中断,此时CPU在执行完当前指令后响应中断,其中断响应周期时序如下图所示。
2.4.2 最小模式下的总线周期时序 8086的复位时序(对两种模式都一样) RESET引脚是用来启动或重新启动系统的。外部来的复位信号RST经8284同步为内部RESET信号,如下图所示。
2.4.2 最小模式下的总线周期时序 总线保持请求与响应周期时序 当系统中CPU之外的总线主设备需要占用总线时,就向CPU发出一个有效的总线保持请求信号HOLD,这个HOLD信号可能与时钟信号不同步。CPU在每个时钟周期的上升沿进行检测,当检测到该信号时,在当前总线周期的T4后或下一个总线周期的T1后,CPU发出一个有效的保持响应信号HLDA,并让出总线,此时,进入了DMA传送过程。当DMA传送结束后,发出总线保持请求的设备将HOLD恢复为低电平,CPU才收回总线控制权。这个过程称为总线保持请求与响应周期,如下图所示。
2.4.3 最大模式下的总线周期时序 最大模式下的读周期时序
2.4.3 最大模式下的总线周期时序 最大模式下的写周期时序