8086工作模式
1、最小模式
用于由8086单一微处理器构成的小系统。在这种方式下,由8086CPU直接产生小系统所需要的全部控制信号。器系统特点是:总线控制逻辑直接由8086CPU产生和控制。若有CPU以外的其他模块想占用总线,则可以向CPU提出请求,在CPU允许并响应的情况下,该模块才可以获得总线控制权,使用完后,又将总线控制权还给CPU。
2、最大模式
用于实现多处理机系统,其中,8086CPU被称为主处理器,其他处理器被称为协处理器。在这种方式下,8086CPU不直接提供用于存储器或I/O读写的读写命令等控制信号,而是将当前要执行的传送操作类型编码为3个状态位输出,由总线控制器8288对状态信号进行译码产生相应控制信号。最大模式系统的特点是:总线控制逻辑由总线控制器8288产生和控制,即8288将主处理器的状态和信号转换成系统总线命令和控制信号。协处理器只是协助主处理器完成某些辅助工作,即被动的接受并执行来自主处理器的命令。和8086配套使用的协处理器有两个:一个是专用于数值计算的协处理器8087,另一个是专用于输入输出操作的协处理器8089。8087通过硬件实现高精度整数浮点数运算。8089有其自身的一套专门用于输入输出操作的命令系统,还可带局部存储器,可以直接为输入输出设备服务。增加协处理器,使得浮点运算和输入输出操作不再占用8086时间,从而大大提高了系统的运行效率。
8086结构
总线接口单元(BIUbusinterfaceunit)
8086cpu结构图总线接口单元BIU
总线接口部件由下列各部分组成
⑴4个段地址寄存器:
CS(codesegment)——16位的代码段寄存器;
DS(datasegment)——16位的数据段寄存器;
ES(extrasegment)——16位的扩展段寄存器;
SS(stacksegment)——16位的堆栈段寄存器;
⑵16位的指令指针寄存器IP;
⑶20位的地址加法器;
⑷6字节的指令队列缓冲器。
执行单元
执行部件由下列几个部分组成:
⑴8个通用寄存器:即AX、BX、CX、DX,BP,SP,SI,DI;
其中,4个数据寄存器:AX、BX、CX、DX;
2个地址指针寄存器:BP(basepointer),SP(stackpointer);
2个变址寄存器:SI(sourceindex),DI(destinationindex)[2];
⑵标志寄存器FR(flagsregister);
⑶算术逻辑单元ALU(arithmeticlogicunit)。
EU负责全部指令的执行,同时向BIU输出数据(操作结果),并对寄存器和标志寄存器进行管理。在ALU中进行16位运算,数据传送和处理均在EU控制下执行。
8086cpu结构图
8086系统组成
8086是一种微处理器,再加上必须的支持芯片,如时钟发生器,地址锁存器,总线驱动器,存储器和I/O接口等,才能构成一台完整的微型计算机。根据外部设备的数量和系统复杂程度,8086可以选用两种系统构成模式,最小模式和最大模式。最小模式是单CPU系统,在这种系统中,8086的MN/MX引脚接高电平,系统全部的控制信号都直接由CPU提供。最大模式是多CPU系统,此时MN/MX引脚接低电平,必须通过8288总线控制器对CPU的状态信息进行译码才能产生系统必须的控制信号。
最小模式系统构成如图所示。这时8086的MN/MX引脚接至VCC,它直接产生存储器和I/O端口的读写命令,如IO/M,RD,WR,INTA,直接产生地址锁定信号ALE,控制数据收发器的控制信号DT/R,DEN.
1.地址锁存
8086的AD15~~AD0是地址/数据复用线,即CPU与存储器进行信息交换时,首先在T1状态,先由CPU送出访问存储单元的地址信息到AD15~~AD0上,随后又用在些线来传送数据所以在数据送上总线以前,必须先将地址锁存起来。可用8282或74LS373锁存8086的单向地址AD15~~AD0.图7-9中使用三片8282,这是因为8282只具有8位锁存功能,而8086具有20位地址和一根BHE信号。若系统存储器容量较小,使用不到20位地址信息,也可只用2片8282.图中OE端接地,使锁存器永远处于允许输出状态。引脚STB接8086的ALE输出。在总线周期T1状态,ALE上出现正脉冲,它的下降沿将8282输入端的地址信息存入锁存器,并由输出端送入地址总线。
2.双向数据总线驱动器
CPU可以直接将数据发送到数据总线上。而无需锁存。为了增加总线负载能力,CPU数据总线一般要加上驱动器,且要求双向驱动器,一般采用8位双向驱动器8286或74LS245.由于8086数据总线是16位的,所以要用2片8286.8286的Ai引脚接CPU的ADi,其Di引脚接到系统数据总线D1上,并将8086的DT/R接8286的T引脚,当DT/R为高电平時,数据从CPU发送到数据总线上.DT/R为低电平時,CPU从数据总线上接收数据.8286的OE脚接8086的DEN脚。当8086的DEN为低电平时,才允许数据输入或输出。
3.时钟发生器/驱动器
8086所需时钟脉冲CLK由8284提供.8284输出时钟CLK的频率,取决X1,X2跨接石英晶体的频率。除此以外,8284还向8086提供定时和宽度符合要求的RESET复位信号及符合要求的READY信号。
4.存储器部件
8086能直接寻址1MB存储空间。这个存储空间分为两个512KB存储体。一个存储體由奇地址单元组成,用于存储16数据的高字节,另一个存储体由偶地址单元组成,用于存储16位数据低字节。前者称为奇地址存储器,后者称为偶地址存储体。偶地址存储体的8位数据总线接CPU的数据总线D7~~D0,而奇地址存储体8位数据线接数据总线D15~~D8.地址线A19~~A1同时接到两个存储体,而A0作为偶地址选中信号即A0=0时,选中偶存储体.BHE作为奇地址片选信号,BHE=0时选中奇存储体。所以两个存储体可以同时读出或写入,也可单独选中一个存储体。
5.I/O端口
一个完整的微机系统必须有I/O设备.I/O设备都有端口地址号.CPU通过地址总线发出端口地址,经过端口地址译码器输出,送到端口的片选引脚而选定指定的端口.8086根据执行命令是访问存储器指令还是输入输出指令,来使M/IO控制信号是高电平或是低电平,以区分地址总线上的地址是访问存储器还是访问外设.