微机原理及应用-ch2

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

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

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

资源描述

第二章8086微处理器2.18086微处理器的内部结构2.28086微处理器的引脚功能2.38086CPU的工作模式2.48086CPU的基本总线时序同一时间处理二进制的位数即主频,数字脉冲信号震荡的速度2.18086微处理器的内部结构8086是Intel系列的16位微处理器,有16根数据线和20根地址线。因为可用20位地址,所以可寻址的地址空间达220=1MB。时钟频率有5MHZ、8MHZ、10MHZ三种。有64KB个I/O端口,并且两个编号相邻的端口可以组合成一个16位端口。CPU的工作由执行部件(EU)和总线接口部件(BIU)两部分组成。一、执行部件(EU)EU=ExecutiveUnit负责指令的执行,包括通用寄存器、专用寄存器、标志寄存器及运算器(ALU)等部分组成。1.通用寄存器组AX,BX,CX,DX:存放16位数据或地址AH,AL,BH,BL,CH,CL,DH,DL:8位寄存器注意:(1)用于8位寄存器使用时只可存放数据,不能存放地址;(2)一般情况,这些寄存器是用在算术运算或逻辑运算指令中,以进行算术逻辑运算。在有些指令中,它们则有特定的用途:如AX作累加器用;BX作基址(Base)寄存器,如在查表指令XLAT中存放表的起始地址;CX作计数(Count)寄存器,如在数据串操作指令的REP中用CX存放数据单元的个数作为循环操作的次数;DX作数据(Data)寄存器,如在字的除法运算指令DIV中,存放余数。主要用于存放I/O或存储器的端口地址。指针寄存器SP和BP用来存取位于当前堆栈段中的数据,但SP和BP在使用上有区别。入栈(PUSH)和出栈(POP)指令是由SP给出栈顶的偏移地址,故称为堆栈指针寄存器。BP则是用来存放位于堆栈段中的一个数据区基址的偏移地址的,故称作基址指针寄存器。变址寄存器SI和DI是用来存放当前数据段的偏移地址的。在字符串操作中,源操作数地址的偏置放于SI中,所以SI称为源变址寄存器;目的操作数地址的偏置放于DI中,所以DI称为目的变址寄存器。2.专用寄存器SP、BP、SI、DI3.算数逻辑单元ALU主要是进行算数和逻辑运算的部件4.状态标志寄存器FR8086CPU的状态标志寄存器是一个16位的寄存器,9个位用作标志位,其中状态标志位有6个,控制标志有3个。状态标志,用来表示运算结果的特征,它们是:CF、PF、AF、ZF、SF和OF;这6位都是逻辑值,判断结果为逻辑真(true)时其值为1;判断结果为逻辑假(false)时,其值为0。控制标志,用来控制CPU的操作,它们是:IF、DF和TF。e.g.A=10110110,B=01101000则:A+B=100011110∴CF=1(有进位);PF=1(奇偶校验,运算结果中有偶数个‘1’);AF=0(辅助进位,低4位向高4位无借位);ZF=0(运算结果不为‘0’);SF=0(符号标志,运算结果最高位D7为‘0’);OF=0(溢出标志,运算结果没超过范围-128~+127)。10110110+01101000100011110二、总线接口部件(BIU)的组成和工作特点BIU=BUSInterfaceUnit功能是负责与CPU外部即存贮器、I/O端口传送数据和程序。BIU由四部分组成:(1)四个16位的段地址寄存器:CS(CodeSegment)代码段寄存器DS(DataSegment)数据段寄存器ES(ExtraSegment)附加段寄存器SS(StackSegment)堆栈段寄存器(2)16位指令指针寄存器IP。(3)20位的地址加法器。(4)6字节的指令队列。提供段基址以构成物理地址,不能参与算术逻辑运算BIU的工作特点:(1)地址加法器用来产生20位地址(物理地址)。根据指令和相关的16位寄存器提供的信息计算出20位的物理地址(2)6B指令队列缓冲器提高CPU效率。BIU从内存中取下一条(或几条)指令机器码放在指令队列中,提高了CPU的效率三、存储器的分段和物理地址的形成1.存储器的分段1MB(有20位地址线可直接寻址)空间分成若干段,每段≤64KB=216。段与段之间能连续排列、部分重叠、完全重叠、断续排列。每个存储单元地址是20位二进制数,按00000H~0FFFFFH来编址。从0号地址开始,依次每16KB的存贮空间叫做一节。为了简化操作要求所有的段从节首开始,因此,段首地址的低四位一定都是0,低4位为0的共有2(20-4)=64K个地址。段首地址的高16位叫“段基址”。从段首起到该段某一存贮单元的地址数称为该单元的段内偏移量。根据段中存贮信息的种类,将段分为代码段、数据段、堆栈段和附加段。当前段的段基址放在相应的16位段寄存器中。偏移量可存放在IP、SP或16位通用寄存器中。2.逻辑地址和物理地址物理地址指某一个单元在存贮器中的20位绝对地址,单元的物理地址是唯一的。逻辑地址是指存贮单元的段基址和偏移量。单元的逻辑地址可能不是唯一的。物理地址=段基址×16+偏移量二进制:段基址左移四位,低位填0十六进制:段基址左移一位,低位填0物理地址=段基址左移4位(低位补0)+偏移量注意:同一个物理地址可以有不同段基址和偏移量组合得到。如:CS=0000H,IP=1051H,物理地址010510HCS=0100H,IP=0051H,物理地址010510He.g.CS=2000H,IP=2200H,存储器的物理地址是:20000H+2200H=22200H四、8086内存的组织和CPU对存储器的访问1.内存的组织形式内存是按字节编址的,每个存储单元中存放一个8位二进制数(一个字节,1B),若一个数据长度为2B(一个字),则放在连续两个单元中,高字节放高地址单元,低字节放低地址单元。字的地址用低字节存储地址表示。CPU的地址线A0作为偶存储体的片选信号。BHE作为奇存储体的片选信号。2.CPU对内存的访问存储器分成两个部分,每一部分为512K字节。一部分叫偶存储体,其中内存单元的地址码都是偶数如00000H、000002H等,该存储体的数据总线对应接CPU数据总线的低8位;另一部分叫奇存储体,其中内存单元的地址码都是奇数,如00001H、00003H等,该存储体的数据总线对应接CPU数据总线的高8位。3.CPU对数据字的访问CPU如要访问一个偶地址的数据字,那么用D15~D016条数据总线可一次访问成功。若要访问一个奇地址的数据字到CPU,需要两次访问才能获得这个数据字。第一次用D15~D8访问奇存储体的低字节,第二次用D7~D0访问偶存储体的高字节。为了提高对数据字的访问速度,应将数据字的低字节放在偶存储体中,即使数据字的地址码为偶数。这样在存储器中存储的数据字叫对准字。而地址码为奇数的数据字叫未对准字。12000H12001H12002H223344对准字3322H未对准字4433H000100100000000000000001001000000000000100010010000000000010A19A1A0…2.28086CPU的引脚功能引脚的基本知识引脚的功能信号的流向有效电平三态能力引脚的复用指引脚信号的定义、作用;通常采用英文单词或其缩写表示信号从芯片向外输出,还是从外部输入芯片,或者是双向的起作用的逻辑电平高、低电平有效上升、下降边沿有效以少量的引脚提供更多的功能输出正常的低电平、高电平外,还可以输出高阻的第三态GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND12345678910111213141516171819204039383736353433323130292827262524232221VCCAD15A16/S3A17/S4A18/S5A19/S6HOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TEST8086CPUREADYRESETBHE/S7MN/MXRDGNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND12345678910111213141516171819204039383736353433323130292827262524232221VCCA15A16/S3A17/S4A18/S5A19/S6HOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)IO/M(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TEST8088CPUREADYRESETSS0(HIGH)MN/MXRD最小模式(最大模式)最小模式(最大模式)从引脚信号上看,8086和8088有什么不同?由于8088只能传输8位数据,所以8088只有8个地址/数据复用引脚;而8086是按16位传输数据的,所以有16个地址/数据复用引脚;8086和8088的控制线引脚定义中第28和34腿也不一样,在最小模式时,8088和8086的第28引脚的控制信号相反,而8086的第34腿为BHE*/S7,BHE*用来区分是传送字节、还是字,8088的第34腿为SS0,用来指出状态信息,不能复用。一、地址线、数据线和状态线AD15~AD0(双向,三态):地址/数据分时复用总线。为低16位地址/数据的复用引脚线。采用分时的多路转换方法来实现对地址线和数据线的复用。在DMA方式时,这些引线被浮空,置为高阻状态。A19/S6、A18/S5、A17/S4、A16/S3(输出,三态):地址/状态复用线。BHE*/S7(输出,三态):为高8位数据总线允许/状态复用引脚。8086有16根数据线,可以用高8位数据线传送一个字节,也可以用低8位数据线传送一个字节,还可以一次传送一个字,BHE*是用来区分这几类传输的。通过硬件连接,可使8086CPU有两种工作方式:最大工作方式和最小工作方式。一种数据传输的控制方式什么是分时复用?一个引脚在不同的时刻具有两个甚至多个作用最常见的总线复用是数据和地址引脚复用总线复用的目的是为了减少对外引脚的个数8086CPU的数据地址线采用了总线复用方法二、控制线1、RD*(输出,三态):读信号线,与M/IO*配合使用。2、WR*:写信号线。3、M/IO*:存储器或I/O端口访问信号。4、READY(输入):准备就绪信号。是由选中的存储器或I/O端口送来的响应信号,当有效时(高电平),表示被访问的存储器或I/O端口已准备就绪,可完成一次数据传送。5、INTR(输入):可屏蔽中断请求信号。6、INTA*(输出):中断响应信号。CPU向外输出的中断响应信号,用于对外部中断源发出的中断请求的响应。7、NMI(输入):非可屏蔽中断请求信号。8、TEST*(输入):测试信号,低电平有效。信号和WAIT指令配合使用。当CPU执行WAIT指令时,CPU处于等待状态,并且每隔5个T对该信号进行一次测试,一旦检测到TEST*信号为低,则结束等待状态,继续执行WAIT指令下面的指令。WAIT指令是使CPU与外部硬件同步的,TEST*相当于外部硬件的同步信号。9、RESET(输入):复位信号,输入,高电平有效。10、ALE(输出):地址锁存允许信号。ALE下降沿锁存地址。11、DT/R*(输出,三态):数据发送/接收控制信号。在使用8286或74LS245数据收发器的最小模式系统中,用DT/R*来控制数据传送方向。DT/R*为低电平,进行数据接收(CPU读),即收发器把系统数据总线上的数据读进来。当CPU处在DMA方式时,此线浮空。12、DEN*(输出,三态):数据允许信号。在使用8286或74LS245数据收发器的最小模式系统中,允许收发器和系统数据总线进行数据传送。13、HOLD(输入):总线请求信号。当系统中CPU之外的总线主设备要求使用总线时,通过HOLD引脚向CPU发出请求。14、HLD

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

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

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

×
保存成功