欢迎来到天天文库
浏览记录
ID:58688463
大小:836.50 KB
页数:161页
时间:2020-10-04
《第二章-8086微处理器ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章8086/8088微处理器8086/8088微处理器的结构8086/8088典型时序分析简介8086:16位微处理器数据总线宽度16位:可以处理8位或16位数据地址总线宽度20位:可直接寻址1MB存储单元和64KB的I/O端口8088:准16位处理器内部寄存器及内部操作均为16位,外部数据总线8位8088与8086指令系统完全相同,芯片内部逻辑结构、芯片引脚有个别差异。设计8088的目的主要是为了与Intel原有的8位外围接口芯片直接兼容第一节8086/8088微处理器的结构内部结构寄存器结构引脚信号和功能最小/最大工作模式存储空间一、内部结构(编程结
2、构)由两部分组成:总线接口单元BIU(BusInterfaceUnit)执行单元EU(ExecutionUnit)图2-1(一)总线接口单元BIU功能负责与内存或I/O端口传送指令或数据BIU从内存取指令送到指令队列缓冲器当EU执行指令时,BIU要配合EU从指定的内存单元或I/O端口中读取数据,或者把EU的操作结果送到指定的内存单元或I/O端口去。组成:图2-11.指令队列缓冲器(图2-1)先进先出8086:6个字节,有2个空字节时,自动取指令8088:4个字节,有1个空字节时,自动取指令说明传统的CPU执行指令的过程是串行的。8086执行指令的过程是并行的。
3、这种方式可以加快程序的执行,提高CPU的效率。2.地址加法器和段寄存器地址加法器:用来产生20位的物理地址。一个存储单元具有两种地址属性:物理地址和逻辑地址。图2-12.地址加法器和段寄存器(续)物理地址CPU访问存储器时,在地址总线上实际送出的地址(20位)。它的范围是00000H~FFFFFH,即有220=1MB的地址空间。2.地址加法器和段寄存器(续)段的起始地址为“段基址”,要访问的单元距段基址的距离(字节数)为“偏移量”(Offset)。……段的起始地址偏移量要访问的单元段2.地址加法器和段寄存器(续)逻辑地址程序设计时使用。逻辑地址由“段基址”和“
4、偏移量”构成(均为16位)。“段基址”由段寄存器CS、DS、SS和ES提供“偏移量”由BX、BP、IP、SP、SI、DI或根据寻址方式计算出的有效地址EA(EffectiveAddress)提供。2.地址加法器和段寄存器(续)由逻辑地址获得物理地址的计算公式:物理地址=段基址X16+偏移量2.地址加法器和段寄存器(续)注意每个存储单元有唯一的物理地址,但它却可由不同的“段基址”和“偏移量”组成。例如:1200H:0345H12345H1100H:1345H12345H例题设(CS)=4232H,(IP)=66H3.指令指针寄存器IP16位正常运行时,IP中
5、含有BIU要取的下一条指令(字节)的偏移地址。IP在程序运行中能自动加1,指向要执行的下一条指令。(二)执行单元EU(ExecutionUnit)功能负责指令的译码和执行负责向总线接口单元BIU提供偏移地址对通用寄存器和标志寄存器进行管理。组成:图2-1二、寄存器结构共有14个16位的寄存器,图2-3。通用寄存器段寄存器标志寄存器(一)通用寄存器-数据寄存器AX、BX、CX、DX:16位每个数据寄存器也可分为两个8位寄存器使用,如:AX可分为AH(高8位)、AL(低8位)。数据寄存器的隐含使用见表2-1(一)通用寄存器--指针寄存器和变址寄存器(16位)指针
6、寄存器:BP:基址指针寄存器SP:堆栈指针寄存器变址寄存器:SI:源变址寄存器DI:目的变址寄存器一般用来存放地址的偏移量。(二)段寄存器(16位)CS—代码段寄存器DS—数据段寄存器ES—扩展段寄存器SS—堆栈段寄存器(三)标志寄存器(16位)只用了其中的9位8086的标志分为两类:状态标志控制标志图2-4(三)标志寄存器-状态标志(6位)表示前面的操作执行后,算术逻辑部件处于怎样一种状态。例如,是否产生了进位,是否发生了溢出等等。(三)标志寄存器-状态标志(续)1.进位标志CF(CarryFlag)加法时,最高位(字节操作时的D7位,字操作时的D15位)是
7、否有进位产生。减法时,最高位(字节操作时的D7位,字操作时的D15位)是否有借位产生。(三)标志寄存器-状态标志(续)2.奇偶标志PF(ParityFlag)若运算结果低8位中“1”的个数为偶数,则PF=1;否则PF=0。(三)标志寄存器-状态标志(续)3.辅助进位标志AF(AuxiliarycarrryFlag)也称“半进位标志”加法时,第3位向第4位有进位减法时,第3位向第4位有借位(三)标志寄存器-状态标志(续)4.零标志ZF(ZeroFlag)若运算结果为0,则ZF=1;否则ZF=0。(三)标志寄存器-状态标志(续)5.符号标志(SignFlag)它和
8、运算结果的最高位相同。(三)标志寄存器
此文档下载收益归作者所有