《《微机原理及接口技术》全套电子课件教案- 微处理器.ppt》由会员分享,可在线阅读,更多相关《《微机原理及接口技术》全套电子课件教案- 微处理器.ppt(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章第二章 微处理器微处理器第一节第一节 Intel8086的结构的结构z8086:数据总线16位,地址总线20根,寻址1M字节。z8088:外部数据总线8位,其余同8086。AH ALBH BLCH CLDH DLSPBPSIDICSDSSSESIP总线控制逻辑地址总线(20位)外部总线ALU指令队列EUBIU标志存放器执行局部控制1 2 6z1.组成:组成:z2.功能:负责与存储器接口,从内存指定区域取出指令代码,送指令队列中排队,执行中所需操作数也由BIU从内存中取出,送EU局部去处理。z一、总线接一、总线接口单元口单元BIU(Bus Interface Unit)四个段存放器一个16
2、位指令指针存放器六个字节指令队列(8088是4个字节)形成20位物理地址的加法器总线控制逻辑z二、执行单元二、执行单元EU(Execution Unit)z1.组成:组成:运算器ALU控制单元CU四个通用存放器四个专用存放器一个标志存放器z2.功能:负责指令执行。z从BIU指令队列中取出指令代码,译码,并将操作数地址送回到BIU,由BIU取操作数送EU,经EU的ALU操作运算,结果送通用存放器,或由BIU送内存保存,状态保存在标志存放器。第二节第二节 8086的存放器结构的存放器结构z14个16位存放器,分成3类。z一、通用存放器z1.数据存放器zAH、AL、BH、BL、CH、CL、DH、DL
3、8位zAX、BX、CX、DX16位zEAX、EBX、ECX、EDX32位(80386)z2.指针存放器z(1)SP堆栈指针存放器(StackPointer)/ESPz访问堆栈(一块内存区域)zSS:段地址,SP:偏移地址。z(2)BP基数指针存放器(BasePointer)/EBPz通过堆栈传送数据和地址z段地址:SS,偏移地址:BP。z3.变址存放器z(1)SI源变址存放器(SourceIndex)/ESIz字符串操作zDS:段地址,SI:字符串源地址。z(2)DI目的变址存放器(DestinationIndex)z/EDIz字符串操作zES:段地址,DI:字符串目的地址。z二、段存放器二、
4、段存放器z对内存单元进行寻址,每个段寻址64K,段首址放在段存放器中,单位为24,代表20位地址,低四位为0。z1.CS代码段存放器(CodeSegment)z存放当前执行程序所在段首址,CS内容左移四位再加上指令指针存放器IP内容即下一条指令的地址。z2.DS数据段存放器(Data)z含有当前数据段首址,数据段中存放数据和变量,DS内容加上指令中的偏移值,即为对数据段指定单元操作的地址。z3.SS堆栈段存放器(Stack)z保存当前堆栈段首址。z4.ES附加段存放器(Extra)z进行字符串操作时,作为目的段地址使用,是附加的数据段。z5.FS、GS附加段存放器z是从80386CPU开始引入
5、的附加的数据段。z三、控制存放器三、控制存放器z1.IP1.IP指令指针存放器指令指针存放器(Instruction Pointer)/EIP(Instruction Pointer)/EIPz 存放下一条指令的偏移地存放下一条指令的偏移地址,段地址放址,段地址放CSCS。z2.Flags2.Flags或或PSWPSW标志存放器标志存放器(Flags)/EFLAGS(Flags)/EFLAGSz 存放运算结果的状态。存放运算结果的状态。6 6z16位标志存放器:z 6位状态标志z 3位控制标志ODITSZAPCz(1)进位标志CF(CarryFlag)最高位产生的进位或借位z(2)辅助进位标志
6、AF(AuxitiaryCarryFlag)字节操作:低4位向高4位的进位或借位字操作:低8位向高8位的进位或借位z(3)溢出标志OF(OverflowFlag)字节操作运算结果超出-128+127字操作运算结果超出-32768+32767OF=1z(4)符号标志SF(SignFlag)z与最高位相同,1表示负,0表示正。z(5)奇偶标志PF(ParityFlag)z1的个数为偶数PF=1,否那么PF=0。z(6)零标志ZF(ZeroFlag)z运算结果为0,ZF=1,否那么ZF=0。z(7)方向标志DF(DirectionFlag)z控制串操作指令用的标志。zDF=1串操作中地址自动减量zD
7、F=0串操作中地址自动增量z(8)中断允许标志IF(Interrupt-enable Flag)z控制可屏蔽中断标志。zIF=1允许CPU接受外部可屏蔽中断请求zIF=0屏蔽外部可屏蔽中断请求z(9)跟踪标志TF(TraceFlag)z使CPU进入单步执行方式。zTF=1CPU在每条指令执行后,产生一个内部中断,允许程序在每条指令执行后进行检查。第三节第三节 存储器组织存储器组织zA0A19寻址1MB00000HFFFFFHz一、存储器的分段一、存储器的分段z(1)每段最多64KBz(2)段内寻址仍为16位z(3)段首址放段存放器z(4)段与段间:z连续或断续排列z局部或完全重叠z段的划分由C
8、S,DS,SS,ES给出,它们为16位,代表20位,低4位为0。1055H250AH8FFBHEFF0HCSDSESSS00000H10550H250A0H8FFB0HEFF00HFFFFFH代码段数据段附加段堆栈段z二、二、物理地址与逻辑地址物理地址与逻辑地址z1.物理地址与逻辑地址物理地址与逻辑地址z(1)物理地址物理地址z 内存单元的实际地址,也就是出现在地址总线上的地址。z(2)逻辑地址逻辑地址z 或称分段地址。z 记作z 段地址段地址:段内偏移地址段内偏移地址16位16位20位z2.物理地址的形成z段地址表示段在内存中的起始位置,通常被保存在某个段存放器中,16位。z段内偏移地址表示
9、内存单元相对于段起始位置的位移,简称偏移地址,也叫有效地址EA,16位。z系统采用以下方法将逻辑地址自动转换为20位的物理地址:z物理地址=段地址16+偏移地址1900150000段地址偏移地址190物理地址加法器z例:(1)得到指令地址CS内容左移4位IP(2)堆栈操作SS内容左移4位SP偏移量(指令中给出)(3)取操作数DS内容左移4位如:2915H:0100H2915H左移4位0100H29250Hz注:注:每个内存单元具有唯一的物理地址,但可由不同的逻辑地址描述。z三、段存放器使用三、段存放器使用z代码段代码段CSCS:存程序指令代:存程序指令代码码z数据段数据段DSDS:存数据,变量:存数据,变量z堆栈段堆栈段SSSS:用作堆栈:用作堆栈z附加段附加段ESES:附加数据区或:附加数据区或字符字符z 串串处理中的地址处理中的地址z(1)假设程序所需数据,堆栈,代码空间一共不超过64K,可使CS,DS,SS相等z7z(2)假设程序所需数据,堆栈,代码空间各不超过64K,分别置CS,DS,SS的值z(3)假设程序数据区超过64K,要求从多个不同区域存取数,那么每次存取在不同段内数据前,需给DS置适当的值。