一.8086介绍
8086是16位的处理器,数据总线为16位,地址总线为20位,分为BIU(Bus Interface Unit)与EU(Execution Unit),外部引脚总共40个,左边从上到下编号为1~20,右边从下到上编号为21~40。
二.8086编程结构
1.通用寄存器
AX(Accumulate Register),BX(Base Register),CX(Count Register),DX(Data Register)
2.专用寄存器
SP(Stack Pointer),BP(Base Pointer),DI(Destination Index),SI(Source Index),FR(Flag Register),内部暂存器
3.段寄存器
CS(Code Segment),DS(Data Segment),SS(Stack Segment),ES(Extended Segment),IP(Intruction Pointer)
4.地址加法器
用于形成20位物理地址的部件
5.指令队列
大小6B
6.EU控制系统
从指令队列中取指令并译码,向各个执行部件发送控制信号
三.8086最小模式与最大模式
最小模式的控制信号由单CPU产生,最大模式构成多处理机结构,用接口芯片来产生控制信号
(1)最小模式下的系统配置
8284A为时钟电路,为CPU提供时钟信号,复位信号以及部件的就绪信号
373为地址锁存器,在T2~T4保持访问的主存或者IO的地址信号,地址为20位,每个锁存器存8位,需要三片
245位数据收发电路,能控制数据流动方向以及进行双向的数据缓冲,数据线为16位,需要两片收发器
(2)最大模式下的系统配置
与最小模式不同的是加入了8288协处理器用来产生各种控制信号,而不是由8086引脚直接发出
8288简介 :
控制逻辑模块(使8288与8086保持同步)
CLK:时钟信号
AEN(Address Enable):地址使能信号
CEN(Chips Enable):8288片选信号,用于多片8288协调工作
IOB(IO Bus):使用系统总线工作方式还是IO总线工作方式
状态译码器
S0~S2(Status):
命令信号发生器:
MRDC(Memory Read Command)
MWTC(Memory Write Command)
AMWC(Ahead Memory Write Command)
IOWC(IO Write Command)
IORC(IO Read Command)
AIOWC(Ahead IO Write Command)
INTA(Interrupt Acknowledge)
控制信号发生器:
DT/R(Data Transmit/Read):控制数据收发器数据的发送与接收
DEN(Data Enable):数据使能信号
MCE/PDEN(Main Control Enable/Peripheral Device Enable):主控设备与外围设备使能
ALE(Address Latch Enable):地址锁存允许信号
四.8086引脚定义
1.GND:地
2~16.AD14~AD0:地址数据线复用,T1时刻发出地址信号被送入锁存器,T3时刻发出数据信号送入数据收发器
17.NMI(Non-Maskable Interrupt):不可屏蔽中断请求信号
18.INTR(Interrupt):中断请求信号
19.CLK:时钟
20.GND:地
21.RESET:CS寄存器设置为全1,其余寄存器设置为全0,开机后第一条指令的入口地址为FFFF0H,为BIOS(Basic Input Output System)程序
22.READY:接收内存与IO接口反馈的准备信号
23.TEST:测试信号,用于实现多处理器系统,即8086与协处理器之间的协调
24.INTA(Interrupt Acknowledge):可屏蔽中断响应
最大模式下QS1(Instruction Queue Status)与QS0共同决定了指令队列的情况,便于其他处理器监视指令队列的状态
25.ALE(Address Latch Enable):地址锁存允许信号
26.DEN(Data Enable):数据使能信号
最大模式下S0~S2前已述及
27.DT/R(Data Transmit/Read):控制数据收发器数据的发送与接收
28.M/IO:对内存或者IO的访问
29.WR:写引脚,可能在T2,T3以及TW时钟周期中有效
最大模式下的LOCK为总线封锁信号
30.HLDA(Hold Acknowledge):总线请求信号
最大模式下的RQ/GT(Request/Grant)引脚为总线请求信号输入以及总线同意信号输出,31号引脚比30号引脚优先级高
31.HOLD(Hold Request):总线响应信号
32.RD:读引脚
33.MN/MX(Minimum/Maximum):最大模式与最小模式
34.BHE(Bus High Enable):高8位的允许选通信号
35~38.A19~A16
39.AD15
40.VCC:电源
五.8086工作原则
EU与BIU并行工作遵循:
1.指令队列空两个字节自动取指令
2.EU从BIU的指令队列中取指令,执行指令时若要访问存储器或者IO需要向BIU提出总线请求
3.在指令队列满且EU没有总线申请,BIU空闲
4.转移,调用和返回指令清空BIU指令队列
总线周期:
T1:CPU发送地址信号
T2:撤销地址,4位地址状态线输出总线状态信息
T3:状态线继续提供状态信息,数据总线传送数据,可能加入等待时间TW
T4:结果,不同总线周期之间会出现空闲状态TI
一个指令周期可能包含若干总线周期
六.8086存储器管理
物理地址由段地址与偏移地址共同决定
段地址以小段为起始地址,即16进制地址中最低位为0文章来源:https://www.toymoban.com/news/detail-503057.html
例如取指令的指令地址为(CS)*16d+(IP),堆栈地址(SS)*16d+(SP)文章来源地址https://www.toymoban.com/news/detail-503057.html
到了这里,关于微机原理(8086基本知识点)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!