8086/8088CPU
运用上一部分学到的器件使用的学习方法研究8086 CPU
8086功能了解
-
1978年,8086第一代16位微处理器。
-
第一次将流水线思想引进微处理器:指令级流水。
-
存储器分段管理机制引入处理器,扩大寻址能力。
-
只有整数运算指令。可配套数值协处理器8087、
-
输入/输出协处理器8089,具备较强大计算能力和I/O处理能力。
-
1979年推出8088,8位外部数据总线,兼容丰富的8位配套器件, 8088内部结构与8086基本相同。
-
基于8088微处理器的IBM PC-XT以及兼容系统。
8086引脚特性分析

8086引脚基本功能
1.电源引脚
GND、VCC,工作电压为5V
2.时钟、复位
CLK =5MHZ
复位信号(高电平有效)
复位信号有效时。处理器所有寄存器恢复到复位状态默认值,程序重新开始执行。复位信号无效时,系统程序正常运行
3.最小模式/最大模式
最小模式为单处理机模式,控制信号少,一般不必外接总线
最大模式为多处理机模式,控制信号多,CPU必须通过总线控制器与总线相连
4.地址、数据线
8086可寻址范围为1MB=,所以共20根地址线——A0~A19
数据总线与低16位地址总线复用AD0~AD15
数据总线与地址总线复用的情况下,在使用的时候需要通过锁存器将地址总线与数据总线进行分离
5.高字节数据选择
为了兼容8位数据操作,增加了BHE高字节数据选择信号,低电平有效
| A0 | 所用数据线 | |
|---|---|---|
| 0 0 | 从偶地址开始读/写一个字 | AD15~AD0 |
| 0 1 | 从奇地址读/写一个字节 | AD15~AD8 |
| 1 0 | 从偶地址读/写一个字节 | AD7~AD0 |
| 1 1 | 无效 | 无 |
8086重要功能引脚
中断
包括NMI和INTR、INTA,非屏蔽中断和可屏蔽中断。
中断是指在程序在运行过程中,遇到一个中断事件的发生,暂停当前程序的执行,转向中断服务程序执行,中断服务完返回原来断点继续执行。这样的一个过程。
最大模式/最小模式下功能相同的引脚
- READY准备好信号
- TEST测试信号
当WAIT指令执行时,测试该引脚。当信号无效时,CPU进入等待状态;信号有效,CPU退出等待,继续执行程序。
习题
8086能够正常工作的最基本条件需要用到哪些信号
解答:电源、时钟、复位、地址、数据线、高字节数据选择
8086CPU的NMI和INTR的不同指出
解答:
- 由INTR端引入,依靠IF端置0还是置1决定CPU是否响应的中断称为可屏蔽中断INTR。
- 由NMI端引入,不受IF位状态的控制,只要有中断申请就必须响应的中断称为非屏蔽中断NMI。
8086的RESET信号的作用
解答:复位信号;复位信号有效时。处理器所有寄存器恢复到复位状态默认值,程序重新开始执行。复位信号无效时,系统程序正常运行
8086能够正常工作需要用到哪些信号
解答:电源、时钟、复位、最大/最小模式选择
信号方向以及有效电平
参考8086最大最小模式区别
8086内部结构分析

功能划分
微处理器 8086从功能上分为两部分:总线接口部分(BIU),执行部分(EU)。
- 执行部分包括ALU,通用寄存器、程序状态字等模块,负责指令的执行。
- 总线接口部分包括段寄存器、指令指针、地址加法器、指令队列缓冲器等模块,
总线接口部分BIU
负责与存储器、I/O接口传递数据,具体完成:
①从内存取指令,送到指令队列
②配合EU从指定的内存单元或IO端口取数据
③将EU的操作结果送到指定的内存单元或IO端口
执行单元EU
负责指令的执行(算术、逻辑运算、控制命令、……)
工作方式
传统CPU采用串行工作方式
CPU访问存储器(存取数据或指令)时要等待总线操作的完成
而CPU执行指令时总线处于空闲状态
缺点:CPU无法全速运行
解决:总线空闲时预取指令,使CPU需要指令时能立刻得到。
8086采取并行工作方式
8086引入指令队列缓冲器,使得EU和BIU两部分可以并行工作。使得总线一直处于忙碌状态,提高总线的利用率。
工作原理
BIU完成取指令,EU执行指令,两个模块相互独立,相互配合。
①指令队列有空字节,BIU自动取指 → 队列
②EU总是从队列前部取指令去执行
③指令需要访问M或I/O,EU会请求BIU去完成
内部寄存器
内部寄存器包括数据寄存器,指针寄存器,这两个统称为通用寄存器
控制寄存器,段寄存器。
完整的寄存器是16bit,如果由两部分组成的寄存器,比如AH AL ,这个寄存器就是可以分为高八位和低八位的两个8位寄存器。
数据寄存器
AX、BX、CX、DX统称为数据寄存器,

指针寄存器
8086的指针寄存器有两个:SP和BP。
- SP由它和堆栈段寄存器一起来确定堆栈在内存中的位置。
- BP通常用于存放基地址,以使8086的寻址更加灵活。
变址寄存器
SI/DI用于指令的变址寻址。SI指向源操作数,DI指向目的操作数。
控制寄存器
8086有两个控制寄存器IP和PSW
- IP指令指针寄存器,用来控制CPU的指令执行顺序。CPU执行程序的地址总是为:CS左移4位+IP。当顺序执行程序时,CPU每从内存中取一个指令字节。IP将自动加1,指向下一个要读取的字节。
- 当CS不变、IP单独改变时,会发生段内程序转移。
- 当CS和IP同时改变时,会产生段间程序转移。
- PSW是程序状态字,用来存放8086 CPU在工作过程中的状态。包括进位标志、奇偶标志、半加标志、零标志、符号标志陷阱标志、中断允许标志、方向标志、溢出标志等状态信息
段寄存器
8086微处理器具有4个段寄存器:代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、附加段寄存器ES
段寄存器的内容与有效的地址偏移量一起可确定内存的物理地址。
CS规定并控制程序区,DS和ES控制数据区,SS控制堆栈区。
习题
8086处理器如何利用指令队列缓冲器实现EU和BIU的并行工作?
解答:
指令队列有空字节,BIU自动取指 → 队列
EU总是从队列前部取指令去执行
指令需要访问M或I/O,EU会请求BIU去完成
在算术运算中,如何判断结果溢出?
解答:
- 无符号数运算后,检查 CF。
- 有符号数运算后,检查 OF
在调用指令执行过程中,堆栈的物理地址如何确定?
解答:SS × 16 + SP










