第2章 8086系统结构

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章8086系统结构概述8086CPU结构8086CPU引脚及其功能8086存储器组织8086系统配置8086CPU时序概述微处理器结构受到的限制16位微处理器的结构特点8086CPU概况微处理器结构受到的限制由于工艺技术和成本的限制,微处理器的结构受到以下几个方面的限制:引脚数限制芯片面积限制器件速度限制16位微处理器的结构特点引脚功能复用单总线、累加器结构可控三态电路总线分时复用8086CPU概况引脚数目:40芯片封装类型:双列直插式数据总线数目:16地址总线数目:20直接寻址的空间:220=1MB主频:5MHz8086CPU内部结构总线接口部件(BIU)指令执行部件(EU)8086CPU结构框图总线接口部件BIU功能BIU结构BIU工作过程BIU功能BIU是8086CPU与外部(存储器和I/O接口)的接口,提供16位数据总线和20位地址总线,完成所有外部总线操作形成20位物理地址取指令、指令排队读/写操作数总线控制BIU结构16位段寄存器(4个)CS:代码段寄存器DS:数据段寄存器ES:附加段寄存器SS:堆栈段寄存器16位指令指针寄存器IP:存放下一条将要执行指令的偏移地址20位物理地址加法器:将16位逻辑地址转换为存储器的20位物理地址6字节指令队列:预存6字节的指令代码总线控制部件:发出总线控制信号BIU工作过程1.取指令2.指令排队,等待EU取指令3.从存储器或I/O端口读写操作数4.向存储器或I/O端口输出EU的运算结果5.修改指令指针IP,指向下一条指令的偏移地址。当EU执行转移、调用或返回指令时,则BIU清除指令队列,从转移指令的新地址取得指令,并立即送给EU执行,然后从后续的指令序列中取指令填满队列指令执行部件EU功能EU结构EU工作过程EU功能指令译码执行指令EU结构算术逻辑单元ALU:完成8位或16位二进制运算,16位暂存器暂时存放操作数标志寄存器:存放ALU运算结果特征寄存器组:4个通用的16位寄存器AX、BX、CX、DX;4个指针和变址寄存器BP、SP、SI、DIEU控制器:取指令控制和时序控制部件EU工作过程1.EU从BIU的指令队列的输出端取指令2.进行指令译码3.若执行指令需要从存储器或I/O端口去取操作数,则EU将操作数的偏移地址通过内部的16位数据总线送给BIU,与段基地址一起,在BIU的地址加法器中形成20位物理地址,申请访问存储器或I/O端口,取得操作数送给EU4.EU根据指令要求向EU内部各部件发出控制命令,完成执行指令的功能。8086CPU结构框图CSDSSSESIP内部寄存器654321AXBXCXDXSPBPSIDI暂存器标志寄存器EU控制器总线控制电路指令队列ΣALUALU数据总线(16位)队列总线(8位)20位地址总线数据总线16位通用寄存器8086总线8086CPU寄存器结构通用寄存器指针和变址寄存器段寄存器指令指针寄存器标志位寄存器PSW寄存器的特殊用途和隐含性在指令中没有明显的标出,而这些寄存器参加操作,称之为“隐含寻址”。具体的:在某类指令中,某些通用寄存器有指定的特殊用法,编程时需遵循这些规定,将某些特殊数据放在特定的寄存器中,这样才能正确的执行这些指令。采用“隐含”的方式,能有效地缩短指令代码的长度。通用寄存器寄存器名英文名中文名用途AXAccumulator累加器算术运算;在乘除运算中用来存放操作数;和I/O设备之间传送信息BXBaseaddress基址寄存器做通用寄存器用;在计算存储器地址时,用作基址寄存器CXCounter计数器做通用寄存器用;保存计数值DXDataregister数据寄存器做通用寄存器用;DX:AX组合可表示双字;DX也用来存放I/O端口地址指针和变址寄存器寄存器名英文名中文名用途SPStackpointer堆栈指针存放堆栈栈顶的偏移地址BPBasepointer基址指针可作为堆栈区中的一个基址以访问堆栈中的信息SISourceindex源变址寄存器SI、DI单独使用时,同DS联用,用来确定数据段中某一存储单元的地址;在串处理指令中,SI和DS联用,DI和ES联用,具有自动递增和自动递减的功能,用于在DS和ES中寻址的目的DIDestinationindex目的变址寄存器段寄存器寄存器名英文名中文名用途CSCodesegment代码段寄存器存放代码段段基地址DSDatasegment数据段寄存器存放数据段段基地址ESExtrasegment附加锻寄存器存放附加段段基地址SSStacksegment堆栈段寄存器存放堆栈段段基地址指令指针寄存器寄存器名英文名中文名用途IPInstructionpointer指令指针在程序运行时,保存下一条将要执行的指令的偏移地址,与CS联用确定下一条指令的物理地址标志寄存器PSW寄存器名英文名中文名用途PSWProgramStatusWord标志位寄存器或程序状态字存放状态标志、控制标志和系统标志OFDFIFTFSFZFAFPFCFPSW格式:1511109876420状态标志状态标志用来记录程序中运行结果的状态信息,它们根据有关指令的运行结果由CPU自动设置,这些状态信息往往作为后续条件转移指令的转移控制条件,包括6位:OF:溢出标志,在运算过程中,如操作数超出了机器数的表示范围,称为溢出,OF=1,否则OF=0SF:符号标志,记录结果的符号,结果为负SF=1,否则SF=0ZF:零标志,运算结果为0,ZF=1,否则ZF=0CF:进位标志,进行加法运算时从最高位产生进位,或减法运算从最高位产生借位CF=1,否则CF=0AF:辅助进位标志:本次运算结果,低4位向高4位产生进位或借位,AF=1,否则AF=0PF:奇偶标志,用来为机器中传送信息时可能产生的代码出错情况提供检验条件,当结果操作数中低8位中1的个数为偶数时PF=1,否则PF=0注意,溢出和进/借位标志的区别进/借位表示无符号数的运算结果是否超出范围,即使超出范围,如果保存进位或借位,运算结果仍然是正确的溢出标志表示有符号数的运算结果是否超出范围,若超出范围,则运算结果不正确处理器根据算术运算的结果设置CF与OF标志:设置CF标志时,将运算结果视为无符号数设置OF标志时,运算结果被视为有符号数例4.1(-1)+(-1)=(-2)11111111+)11111111有进位→111111110OF=0,CF=1255+255=510例4.4103+231=33401100111+)11100111有进位101001110103+(-25)=78→OF=0,CF=1例4.2100+100=20001100100+)01100100无进位→11101000OF=1,CF=0例4.3103+103=20601100111+)01100111无进位→11001110OF=1,CF=0控制标志DF:方向标志,用在串处理指令中控制处理信息的方向。当DF=1时,每次操作后,SI和DI减小,使串处理从高地址向低地址进行,用指令STD设置当DF=0时,每次操作后,SI和DI增大,使串处理从低地址向高地址进行,用指令CLD设置系统标志系统标志用于可屏蔽中断、程序调试等的控制。TF:陷阱标志(单步标志),调试程序时,可设置单步工作方式,TF=1时,CPU每执行完一条指令,就自动产生一次内部中断,使用户能跟踪程序进行调试IF:中断标志,IF=1时,CPU响应可屏蔽中断;IF=0时,即使外部设备有中断申请,CPU也不响应。STI指令使IF=1,CLI指令使IF=0使用寄存器时注意以上介绍的均为16位寄存器通用寄存器AX、BX、CX、DX都可以拆分为两个8位寄存器:AH和AL、BH和BL、CH和CL、DH和DL,“H”表示高位字节,“L”表示低位字节其他的寄存器不能拆分指令指针寄存器IP、标志寄存器PSW和堆栈指针SP的内容只能由系统更改,用户不能更改用户只能用4个寄存器存放存储单元的偏移地址:SI、DI、BX和BP8086CPU的引脚及其功能8086CPU的两种工作模式最小模式:用于单机系统,系统所需要的控制信号由8086直接提供,MN/MX=1,CPU工作于最小模式最大模式:用于多处理机系统,系统所需的控制信号由总线控制器8288提供,MN/MX=0,CPU工作于最大模式8086CPU在最小模式下的引脚定义8088与8086的区别8086CPU在最小模式下的引脚定义(1)AD15~AD0(AddressDataBus):16条地址/数据总线,三态,分时复用,传送地址时输出,传送数据时双向输入和输出。在总线周期的T1状态,CPU在这些引脚上输出存储器或I/O端口的地址,在T2~T4状态,用来传送数据。A19/s6~A16/s3(Address):地址/状态线,三态,输出,分时复用。在T1状态作地址线用,A19~A16与A15~A0一起构成20位物理地址,可访问1MB的存储空间。当CPU访问I/O端口时,A19~A16为0。在在T2~T4状态,用来输出状态信息。8086CPU在最小模式下的引脚定义(2)BHE/s7(BusHighEnable):高8位数据总线允许/状态信号,三态,输出,低电平有效。用BHE作高8位数据D15~D8选通信号,用BHE指出高8位数据总线上数据有效,用AD0地址线指出低8位数据线上数据有效。MN/MX(Minimum/Maximum):最小/最大工作模式选择信号,输入。当接+5V时,CPU工作在最小模式,组成一个单处理机系统,由CPU提供所有的总线控制信号;当接地时,CPU工作在最大模式,组成多处理机系统,控制信号由总线控制器8288提供。8086CPU在最小模式下的引脚定义(3)RD(Read):读选通信号,三态,输出,低电平有效。允许CPU读存储器或I/O端口。WR(Write):写选通信号,三态,输出,低电平有效。允许CPU写存储器或I/O端口。M/IO(Memory/InputandOutput):存储器或I/O端口控制信号,三态,输出。M/IO为高电平,表示CPU正在访问存储器,M/IO为低电平,表示CPU正在访问I/O端口。锁存与收发为什么需要地址锁存与数据收发由于8086的AD15~AD0为分时复用的地址/数据线,对在T1状态输出的地址,需要在其消失前将其锁存起来,以便在整个总线操作周期中地址线上都保持有稳定的地址信号。数据收发是为了对数据信号进行放大,以更总线能挂接较多部件。8086CPU在最小模式下的引脚定义(4)ALE(AddressLatchEnable):地址锁存允许信号,输出,高电平有效。作地址锁存器8282/8283的片选信号。DEN(DataEnable):数据允许信号,三态,输出,低电平有效。在最小模式系统中,有时利用数据收发器8286/8287来增加数据驱动能力,DEN用作数据收发器的输出允许信号。DT/R(DataTransmit/Receive):数据收发/接收控制信号,三态,输出。该信号用来控制数据收发器的数据传送方向。当为1时,CPU发送数据,完成写操作;当为0时,CPU从外部接收数据完成读操作。8086CPU在最小模式下的引脚定义(5)READY(Ready):准备就绪信号,输入,高电平有效。由存储器或I/O端口发来的响应信号,表示外部设备已准备好可进行数据传送了。CPU在每个总线周期的T3状态检测READY信号线,如果为低电平,在T3状态结束,CPU插入一个或几个TW等待状态,直到READY信号有效后,才进入T4状态,完成数据的传送过程。8086CPU在最小模式下的引脚定义(6)RESET(Reset):复位信号,输入,高电平有效。CPU接收到复位信号后,停止现行操作,并初始化段寄存器DS、SS、ES,标志寄存器PSW,指令指针IP和指令队列,而使CS=FFFFH。RESET信号至少保持4个时钟周期

1 / 58
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功