8086 微处理器2025年3月17日 | 阅读11分钟 Intel 8086
8085 与 8086 微处理器的区别
8086 引脚配置![]() 8086 引脚的描述如下 AD0-AD15(地址/数据总线):双向地址/数据线。它们是低位地址总线。它们与数据多路复用。 当这些线用于传输内存地址时,符号 A 用来代替 AD,例如 A0-A15。 A16 - A19(输出):高位地址线。它们与状态信号多路复用。 A16/S3, A17/S4:A16 和 A17 与段标识信号 S3 和 S4 多路复用。 A18/S5:A18 与中断状态 S5 多路复用。 A19/S6:A19 与状态信号 S6 多路复用。 BHE/S7(输出):总线高位使能/状态。在 T1 期间,它为低。它使能数据到数据总线的高位部分 D8-D15。连接到数据总线高位部分 8 位设备使用 BHE 信号。它与状态信号 S7 多路复用。S7 信号在 T3 和 T4 期间可用。 RD(读):用于读操作。它是一个输出信号。它在低电平时有效。 Ready(输入):被寻址的内存或 I/O 通过此引脚发送确认。当为高电平时,表示外设已准备好传输数据。 RESET(输入):系统复位。信号为高电平有效。 CLK(输入):时钟 5、8 或 10 MHz。 INTR:中断请求。 NMI(输入):不可屏蔽中断请求。 TEST(输入):等待测试控制。当为低电平时,微处理器继续执行,否则等待。 VCC:电源 +5V 直流。 GND:地。 8086 的运行模式Intel 8086 有两种运行模式:最小模式和最大模式。 当微处理器系统中只使用一个 8086 CPU 时,8086 在最小模式下运行。 在多处理器系统中,8086 在最大模式下运行。 最小模式下的引脚描述在此最小模式下,引脚 MN/MX 连接到 5V 直流电源,即 MN/MX = VCC。 引脚 24 到 31 在最小模式下的描述如下 INTA(输出):引脚 24 中断确认。接收到中断信号后,处理器发出中断确认信号。它为低电平有效。 ALE(输出):引脚 25。地址锁存使能。在 T1 期间它为高电平。微处理器 8086 发出此信号将地址锁存到 Intel 8282/8283 锁存器中。 DEN(输出):引脚 26。数据使能。当使用 Intel 8287/8286 八位总线收发器时使用此信号。它为低电平有效。 DT/R(输出):引脚 27 数据传输/接收。当使用 Intel 8287/8286 八位总线收发器时,此信号控制数据通过收发器的方向。当为高电平时,发送数据。当为低电平时,接收数据。 M/IO(输出):引脚 28,内存或 I/O 访问。当此信号为高电平时,CPU 要访问内存。当此信号为低电平时,CPU 要访问 I/O 设备。 WR(输出):引脚 29,写。当此信号为低电平时,CPU 执行内存或 I/O 写操作。 HLDA(输出):引脚 30,保持确认。当处理器接收到 HOLD 信号时发送。它是一个高电平有效信号。当移除 HOLD 时,HLDA 变为低电平。 HOLD(输入):引脚 31,保持。当微机系统中的另一设备想要使用地址和数据总线时,它通过此引脚向 CPU 发送 HOLD 请求。它是一个高电平有效信号。 最大模式下的引脚描述在最大模式下,引脚 MN/�MX 被设置为低电平。它接地。引脚 24 到 31 的描述如下 QS1, QS0(输出):引脚 24、25,指令队列状态。逻辑如下
S0, S1, S2(输出):引脚 26、27、28 状态信号。这些信号连接到 Intel 8288 的总线控制器。该总线控制器生成内存和 I/O 访问控制信号。状态信号的逻辑如下
LOCK(输出):引脚 29。它是一个低电平有效信号。当此信号为低电平时,所有中断都被屏蔽,并且不授予 HOLD 请求。在多处理器系统中,此信号会通知所有其他处理器,它们不应该请求 CPU 交出总线控制权。 RG/GT1, RQ/GT0(双向):引脚 30、31,本地总线优先级控制。其他处理器通过这些线路请求 CPU 释放本地总线。 在最大模式下,WR、ALE、DEN、DT/R 等信号无法直接从处理器获得。这些信号是从 8288 控制器获得的。 8086 的功能单元8086 包含两个独立的功能单元:总线接口单元 (BIU) 和执行单元 (EU)。 ![]() 图:Intel 8086 微处理器(8086 架构)框图 总线接口单元 (BIU)段寄存器、指令指针和 6 字节指令队列与总线接口单元 (BIU) 相关联。 BIU
它有以下功能部分
执行单元 (EU)
中断中断是在程序执行过程中创建临时暂停,并允许外围设备访问微处理器的过程。 微处理器响应这些中断,并执行一个中断服务例程 (ISR),这是一个简短的程序或子程序,用于指示微处理器如何处理中断。 8086 中有不同类型的中断 ![]() 硬件中断硬件中断是由任何外围设备通过向微处理器发送信号到指定引脚引起的中断。 Intel 8086 有两个硬件中断引脚
NMI:NMI 是一个不可屏蔽中断,优先级高于可屏蔽中断。
INTR:INTR 是一个可屏蔽中断。可以使用中断标志 (IF) 来启用/禁用它。在接收到外部设备的 INTR 后,8086 通过 INTA 信号进行确认。 它执行连续两次中断确认总线周期。 软件中断微处理器也可能被内部异常情况(如溢出、除以零等)中断。程序员也可以在调试程序时,在程序中插入 INT 指令来中断微处理器。这种中断称为软件中断。 由内部异常引起的中断也属于软件中断的范畴。 软件中断的例子有
8086 的中断指针表 ![]() 图:8086 中断指针表 8086 最多可处理 256 个硬件和软件中断。 1KB 内存用作包含中断向量(或中断指针)的表,称为中断向量表或中断指针表。256 个中断指针已编号从 0 到 255(FF 十六进制)。分配给中断指针的数字称为该中断的类型。例如,类型 0、类型 1、类型 2、……、类型 255 中断。 8086 的寻址模式在累加器、通用寄存器或内存位置中指定指令操作数的方式称为寻址模式。 8086 微处理器有 8 种寻址模式。为操作寄存器或立即数据的指令提供了两种寻址模式。 这两种寻址模式是 寄存器寻址:在寄存器寻址中,操作数位于 16 位或 8 位通用寄存器之一中。 示例
立即数寻址:在立即数寻址中,操作数在指令本身中指定。 示例
其余 6 种寻址模式指定了位于内存中的操作数的位置。 这 6 种寻址模式是 直接寻址:在直接寻址模式中,操作数的偏移量在指令中作为 8 位或 16 位位移量给出。 示例
该指令将偏移地址 0301 的内容加到 AL。操作数位于数据段 DS 内的给定偏移量 (0301) 处。 寄存器间接寻址:操作数的偏移量位于寄存器 BX、BP、SI 或 DI 中的一个寄存器中,具体取决于指令中的指定。 示例
它将寄存器 BX 所寻址的内存位置的内容移动到寄存器 AX。 基址寻址:操作数的偏移量是 8 位或 16 位位移量与基址寄存器 BX 或 BP 的内容之和。BX 用作数据段的基址寄存器,BP 用作堆栈段的基址寄存器。 有效地址(偏移量) = [BX + 8 位或 16 位位移量]。 示例
变址寻址:操作数的偏移量是变址寄存器 SI 或 DI 的内容与 8 位或 16 位位移量之和。 偏移量(有效地址)= [SI 或 DI + 8 位或 16 位位移量] 示例
基址变址寻址:操作数的偏移量是基址寄存器 BX 或 BP 的内容与变址寄存器 SI 或 DI 的内容之和。 有效地址(偏移量)= [BX 或 BP] + [SI 或 DI] 此处,BX 用作数据段的基址寄存器,BP 用作堆栈段的基址寄存器。 示例
带位移的基址变址寻址:在此寻址模式下,操作数的偏移量由以下给出 有效地址(偏移量) = [BX 或 BP] + [SI 或 DI] + 8 位或 16 位位移量 示例
下一主题8086 指令集 |
我们请求您订阅我们的新闻通讯以获取最新更新。